{
  "name": "@tiny-fish/cli",
  "version": "0.46.1",
  "description": "TinyFish CLI — run web automations from your terminal",
  "type": "module",
  "bin": {
    "tinyfish": "./dist/index.js"
  },
  "files": [
    "dist/",
    "skill/",
    "README.md",
    "LICENSE"
  ],
  "scripts": {
    "build": "tsc",
    "test": "vitest --run",
    "test:file": "vitest --run",
    "test:watch": "vitest",
    "test:integration:auth": "vitest --run --config vitest.integration.config.ts tests/auth.integration.test.ts",
    "test:integration:api:fetch": "vitest --run --passWithNoTests --config vitest.integration.config.ts tests/api.integration.test.ts --testNamePattern \"fetch content get|skips real API coverage when TINYFISH_API_KEY is not set\"",
    "test:integration:api:browser": "vitest --run --passWithNoTests --config vitest.integration.config.ts tests/api.integration.test.ts --testNamePattern \"browser session create|skips real API coverage when TINYFISH_API_KEY is not set\"",
    "test:integration:api:search": "vitest --run --passWithNoTests --config vitest.integration.config.ts tests/api.integration.test.ts --testNamePattern \"search query|skips real API coverage when TINYFISH_API_KEY is not set\"",
    "test:integration:api:sync": "vitest --run --passWithNoTests --config vitest.integration.config.ts tests/api.integration.test.ts --testNamePattern \"agent run --sync|skips real API coverage when TINYFISH_API_KEY is not set\"",
    "test:integration:api:stream": "vitest --run --passWithNoTests --config vitest.integration.config.ts tests/api.integration.test.ts --testNamePattern \"agent run streaming exits cleanly after COMPLETE|skips real API coverage when TINYFISH_API_KEY is not set\"",
    "test:integration:api:async": "vitest --run --passWithNoTests --config vitest.integration.config.ts tests/api.integration.test.ts --testNamePattern \"agent run --async returns a run id that can be fetched and listed|skips real API coverage when TINYFISH_API_KEY is not set\"",
    "test:integration:api:cancel": "vitest --run --passWithNoTests --config vitest.integration.config.ts tests/api.integration.test.ts --testNamePattern \"agent run cancel cancels an in-flight run|skips real API coverage when TINYFISH_API_KEY is not set\"",
    "test:integration:api:batch": "vitest --run --passWithNoTests --config vitest.integration.config.ts tests/api.integration.test.ts --testNamePattern \"batch commands work end-to-end against the real API|skips real API coverage when TINYFISH_API_KEY is not set\"",
    "test:integration": "npm run test:integration:auth && npm run test:integration:api:fetch && npm run test:integration:api:browser && npm run test:integration:api:search && npm run test:integration:api:sync && npm run test:integration:api:stream && npm run test:integration:api:async && npm run test:integration:api:cancel && npm run test:integration:api:batch",
    "lint": "oxlint --config .oxlintrc.json",
    "format": "oxfmt --write .",
    "type-check": "tsc --noEmit --project tsconfig.all.json",
    "prepublishOnly": "npm run build",
    "lint:budget": "bash ../../.github/scripts/oxlint-budget.sh sdk/cli",
    "format:check": "oxfmt --check ."
  },
  "dependencies": {
    "@tiny-fish/sdk": "^0.7.0",
    "commander": "^12.0.0",
    "cross-spawn": "^7.0.6",
    "tldts": "^6.1.86",
    "which": "^2.0.2",
    "yaml": "^2.9.0",
    "zod": "^4.3.6"
  },
  "devDependencies": {
    "@types/cross-spawn": "^6.0.6",
    "@types/node": "^20.0.0",
    "@types/which": "^2.0.2",
    "lint-staged": "^16.2.7",
    "oxfmt": "^0.48.0",
    "oxlint": "^1.63.0",
    "typescript": "^5.0.0",
    "vitest": "^4.1.11"
  },
  "overrides": {
    "esbuild": "0.28.1",
    "vite": "7.3.5",
    "brace-expansion": "^5.0.9",
    "ip-address": ">=10.3.1",
    "postcss": ">=8.5.23",
    "nanoid": "^3.3.17",
    "tar": "^7.5.21"
  },
  "engines": {
    "node": ">=24.0.0"
  },
  "publishConfig": {
    "registry": "https://registry.npmjs.org/"
  },
  "lint-staged": {
    "**/*.ts": [
      "oxlint --fix --config .oxlintrc.json",
      "oxfmt --write --no-error-on-unmatched-pattern"
    ],
    "**/*.{json,md}": [
      "oxfmt --write --no-error-on-unmatched-pattern"
    ]
  }
}
