{
  "name": "@ably/cli",
  "version": "1.1.1",
  "description": "Ably CLI for Pub/Sub, Chat and Spaces",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": "./dist/index.js"
  },
  "author": "Ably <support@ably.com>",
  "license": "Apache-2.0",
  "bin": {
    "ably": "./bin/run.js",
    "ably-interactive": "./bin/ably-interactive"
  },
  "type": "module",
  "oclif": {
    "bin": "ably",
    "dirname": "ably",
    "commands": "./dist/src/commands",
    "topicSeparator": " ",
    "plugins": [
      "@oclif/plugin-autocomplete",
      "@oclif/plugin-warn-if-update-available"
    ],
    "hooks": {
      "init": [
        "./dist/src/hooks/init/alias-command",
        "./dist/src/hooks/init/version-flag",
        "./dist/src/hooks/init/patch-arg-names"
      ],
      "command_not_found": "./dist/src/hooks/command_not_found/did-you-mean"
    },
    "hidden": [
      "aliases"
    ],
    "helpClass": "./dist/src/help.js",
    "theme": {
      "alias": "cyan",
      "bin": "cyan",
      "command": "cyan",
      "commandSummary": "whiteBright",
      "dollarSign": "green",
      "flag": "whiteBright",
      "flagDefaultValue": "yellow",
      "flagOptions": "yellow",
      "flagRequired": "red",
      "flagSeparator": "dim",
      "sectionHeader": "bold",
      "topic": "cyan",
      "version": "green"
    },
    "warn-if-update-available": {
      "timeoutInDays": 7,
      "message": "📦 Update available: <%= config.name %> <%= chalk.yellow(config.version) %> → <%= chalk.greenBright(latest) %>\nRun <%= chalk.cyan('npm install -g @ably/cli') %> to update.",
      "frequency": 1,
      "frequencyUnit": "days",
      "registry": "https://registry.npmjs.org"
    }
  },
  "dependencies": {
    "@ably/chat": "^1.3.1",
    "@ably/spaces": "^0.5.2",
    "@inquirer/prompts": "^8.4.2",
    "@oclif/core": "^4.11.1",
    "@oclif/plugin-autocomplete": "^3.2.48",
    "@oclif/plugin-warn-if-update-available": "^3.1.63",
    "@xterm/addon-fit": "^0.11.0",
    "@xterm/addon-web-links": "^0.12.0",
    "@xterm/xterm": "^6.0.0",
    "ably": "^2.21.0",
    "chalk": "^5.6.2",
    "cli-table3": "^0.6.5",
    "color-json": "^3.0.5",
    "fast-levenshtein": "^3.0.0",
    "inquirer": "^9.3.8",
    "jsonwebtoken": "^9.0.3",
    "node-fetch": "^3.3.2",
    "open": "^11.0.0",
    "ora": "^9.4.0",
    "react": "^19.2.6",
    "react-dom": "^19.2.6",
    "sigstore": "^4.1.0",
    "slugify": "^1.6.9",
    "smol-toml": "^1.6.1",
    "tar": "^7.5.15",
    "ws": "^8.20.0",
    "zod": "^3.25.76"
  },
  "devDependencies": {
    "@eslint/compat": "^2.1.0",
    "@eslint/js": "^10.0.1",
    "@oclif/test": "^4.1.18",
    "@types/fast-levenshtein": "^0.0.4",
    "@types/fs-extra": "^11.0.4",
    "@types/inquirer": "^9.0.9",
    "@types/jsonwebtoken": "^9.0.10",
    "@types/node": "^25.6.2",
    "@types/node-fetch": "^2.6.13",
    "@types/react": "^19.2.14",
    "@types/react-dom": "^19.2.3",
    "@types/ws": "^8.5.11",
    "@typescript-eslint/eslint-plugin": "^8.59.2",
    "@typescript-eslint/parser": "^8.59.2",
    "@vitest/coverage-v8": "^4.1.5",
    "@vitest/eslint-plugin": "^1.6.17",
    "@vitest/ui": "^4.1.5",
    "dotenv": "^17.4.2",
    "eslint": "^10.3.0",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-n": "^17.24.0",
    "eslint-plugin-prettier": "^5.5.5",
    "eslint-plugin-react-hooks": "^7.1.1",
    "eslint-plugin-unicorn": "^64.0.0",
    "execa": "^9.6.1",
    "fs-extra": "^11.3.5",
    "get-port": "^7.2.0",
    "globals": "^17.6.0",
    "http-server": "^14.1.1",
    "nock": "^14.0.15",
    "node-pty": "^1.1.0",
    "oclif": "^4.22.98",
    "playwright": "^1.59.1",
    "prettier": "^3.8.3",
    "serve": "^14.2.6",
    "shx": "^0.4",
    "strip-ansi": "^7.2.0",
    "ts-node": "11.0.0-beta.1",
    "typescript": "^5.9.3",
    "vitest": "^4.1.5"
  },
  "engines": {
    "node": ">=22.0.0"
  },
  "files": [
    "bin",
    "dist",
    "examples/web-cli",
    "oclif.manifest.json",
    "README.md",
    "LICENSE",
    "CHANGELOG.md"
  ],
  "repository": {
    "type": "git",
    "url": "git+https://github.com/ably/ably-cli.git"
  },
  "bugs": {
    "url": "https://github.com/ably/ably-cli/issues"
  },
  "homepage": "https://github.com/ably/ably-cli#readme",
  "keywords": [
    "ably",
    "cli",
    "realtime",
    "pubsub",
    "chat",
    "spaces"
  ],
  "publishConfig": {
    "access": "public"
  },
  "scripts": {
    "build": "shx rm -rf dist && tsc -b",
    "build:packages": "pnpm -r --filter './packages/*' build",
    "build:examples": "pnpm -r --filter './examples/*' build",
    "build:all": "pnpm build && pnpm build:packages && pnpm build:examples",
    "clean": "rm -rf dist node_modules/.cache tsconfig.tsbuildinfo oclif.manifest.json",
    "lint": "eslint . --ext .ts",
    "lint:fix": "eslint . --fix",
    "pretest": "pnpm build && chmod +x bin/run.js",
    "test": "vitest run",
    "test:unit": "vitest run --project unit",
    "test:unit:watch": "vitest --project unit",
    "test:unit:ui": "vitest --ui --project unit",
    "test:integration": "vitest run --project integration",
    "test:e2e": "vitest run --project e2e",
    "test:e2e:basic": "vitest run --project e2e test/e2e/core/basic-cli",
    "test:e2e:auth": "vitest run --project e2e test/e2e/auth",
    "test:e2e:channels": "vitest run --project e2e test/e2e/channels",
    "test:e2e:spaces": "vitest run --project e2e test/e2e/spaces",
    "test:e2e:rooms": "vitest run --project e2e test/e2e/rooms",
    "test:e2e:connections": "vitest run --project e2e test/e2e/connections",
    "test:e2e:control": "vitest run --project e2e test/e2e/control",
    "test:e2e:bench": "vitest run --project e2e test/e2e/bench",
    "test:hooks": "vitest run --project hooks",
    "test:tty": "VITEST_TTY=1 vitest run --project tty",
    "test:web-cli": "pnpm test:web-cli:build && playwright test --config test/e2e/web-cli/playwright.config.ts",
    "test:web-cli:build": "pnpm build && pnpm --filter @ably/react-web-cli build && pnpm --filter ./examples/web-cli build",
    "test:web-cli:parallel": "pnpm test:web-cli:build && playwright test --config test/e2e/web-cli/playwright-parallel.config.ts",
    "test:web-cli:parallel:auth": "TEST_GROUP=auth pnpm test:web-cli:build && playwright test --config test/e2e/web-cli/playwright-parallel.config.ts test/e2e/web-cli/authentication.test.ts test/e2e/web-cli/domain-scoped-auth.test.ts",
    "test:web-cli:parallel:session": "TEST_GROUP=session pnpm test:web-cli:build && playwright test --config test/e2e/web-cli/playwright-parallel.config.ts test/e2e/web-cli/session-resume.test.ts test/e2e/web-cli/reconnection.test.ts test/e2e/web-cli/reconnection-diagnostic.test.ts",
    "test:web-cli:parallel:ui": "TEST_GROUP=ui pnpm test:web-cli:build && playwright test --config test/e2e/web-cli/playwright-parallel.config.ts test/e2e/web-cli/terminal-ui.test.ts test/e2e/web-cli/web-cli.test.ts test/e2e/web-cli/prompt-integrity.test.ts",
    "test:web-cli:parallel:rate-limit": "TEST_GROUP=rate-limit pnpm test:web-cli:build && playwright test --config test/e2e/web-cli/playwright-parallel.config.ts test/e2e/web-cli/z-rate-limit-trigger.test.ts",
    "test:playwright": "pnpm test:web-cli",
    "test:react-web-cli": "pnpm --filter @ably/react-web-cli test",
    "test:coverage": "vitest run --coverage",
    "test:coverage:unit": "vitest run --project unit --coverage",
    "test:coverage:integration": "vitest run --project integration --coverage",
    "test:coverage:report": "vitest run --coverage --reporter=html",
    "test:coverage:check": "vitest run --coverage",
    "postinstall": "[ \"$CI\" = \"true\" ] || (test -f ./dist/scripts/postinstall-welcome.js && node ./dist/scripts/postinstall-welcome.js || echo \"Skipping welcome script (not found)\")",
    "preversion": "pnpm run prepare",
    "generate-doc": "cp scripts/doc-template.md OCLIF_AUTOGENERATED_DOC.md && GENERATING_DOC=true NO_COLOR=1 oclif readme --readme-path OCLIF_AUTOGENERATED_DOC.md",
    "validate": "./scripts/pre-push-validation.sh",
    "pre-commit": "pnpm validate",
    "ai-init": "echo 'AI Assistant Instructions:' && cat .claude/CLAUDE.md",
    "cli": "bin/run.js",
    "dev:examples": "pnpm build:packages && pnpm build:examples && cd examples/web-cli && pnpm dev",
    "dev": "pnpm run build && node bin/run.js"
  }
}