{
  "name": "@formant/formant-cli",
  "version": "1.1.17",
  "description": "Formant CLI — manage your robot fleet from the command line",
  "type": "module",
  "bin": {
    "formant": "bin/run.js"
  },
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "files": [
    "bin",
    "dist",
    "src/contracts/generated/manifest.json",
    "oclif.manifest.json",
    "README.md",
    "LICENSE"
  ],
  "keywords": [
    "formant",
    "cli",
    "robotics",
    "fleet-management",
    "telemetry",
    "iot",
    "robot",
    "automation",
    "device-management",
    "teleoperation"
  ],
  "author": "Formant <info@formant.io>",
  "license": "MIT",
  "homepage": "https://formant.io",
  "bugs": {
    "url": "https://github.com/FormantIO/formant-cli/issues",
    "email": "support@formant.io"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/FormantIO/formant-cli.git"
  },
  "engines": {
    "node": ">=18.0.0"
  },
  "publishConfig": {
    "access": "public"
  },
  "dependencies": {
    "@oclif/core": "^4.8.2",
    "@oclif/plugin-help": "^6",
    "@toon-format/toon": "^2.1.0",
    "@types/cli-progress": "^3.11.6",
    "cli-progress": "^3.12.0",
    "dotenv": "^17.3.1",
    "exceljs": "^4.4.0",
    "snowflake-sdk": "^2.3.6",
    "socket.io-client": "^4.8.3",
    "xlsx": "^0.18.5"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@types/eslint__js": "^8.42.3",
    "@types/node": "^22.19.13",
    "@types/unzipper": "^0.10.11",
    "eslint": "^10.0.2",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-prettier": "^5.5.5",
    "husky": "^9.1.7",
    "oclif": "^4.22.81",
    "prettier": "^3.8.1",
    "shx": "^0.4.0",
    "tsx": "^4",
    "typescript": "^5",
    "typescript-eslint": "^8.56.1",
    "vitest": "^4.0.18"
  },
  "overrides": {
    "fast-xml-parser": "^5.3.8"
  },
  "oclif": {
    "bin": "formant",
    "dirname": "formant",
    "commands": "./dist/commands",
    "topicSeparator": " ",
    "helpClass": "./dist/help",
    "hooks": {
      "init": "./dist/hooks/init"
    },
    "topics": {
      "api": {
        "description": "Call typed backend operations directly"
      },
      "auth": {
        "description": "Manage saved authentication credentials"
      },
      "analytics": {
        "description": "Execute SQL queries against analytics data"
      },
      "ai-policy": {
        "description": "Manage AI policy variants and selection weights"
      },
      "annotation": {
        "description": "Manage annotations"
      },
      "annotation-template": {
        "description": "Manage annotation templates"
      },
      "board-column": {
        "description": "Manage investigation board columns"
      },
      "autonomy": {
        "description": "Manage autonomy sliders and autonomy suggestions"
      },
      "channel": {
        "description": "Manage notification channels"
      },
      "channel-monitor": {
        "description": "Manage channel-to-taskflow monitors for Slack, Teams, and SMS"
      },
      "comment": {
        "description": "Manage comments"
      },
      "command": {
        "description": "Manage command templates and send commands to devices"
      },
      "config-template": {
        "description": "Manage device configuration templates"
      },
      "declaration": {
        "description": "Manage AI declarations and declaration suggestions"
      },
      "device": {
        "description": "Manage robots and sensors in your fleet"
      },
      "document": {
        "description": "Query and manage document sets for RAG-powered search"
      },
      "event": {
        "description": "View important events emitted by devices"
      },
      "event-trigger": {
        "description": "Manage event trigger rules that generate events and signals"
      },
      "event-trigger-group": {
        "description": "Manage event trigger groups"
      },
      "file": {
        "description": "Manage cloud files and upload sessions"
      },
      "fleet": {
        "description": "Manage device groups (fleets)"
      },
      "ground-truth": {
        "description": "Manage organization ground truths"
      },
      "ingest": {
        "description": "Send telemetry data to devices via ingestion API"
      },
      "intervention-request": {
        "description": "Manage intervention requests"
      },
      "investigation": {
        "description": "Manage AI-powered analysis workflows"
      },
      "kv": {
        "description": "Manage key-value store for device metadata"
      },
      "module": {
        "description": "Manage custom dashboard modules"
      },
      "module-configuration": {
        "description": "Manage custom module configurations"
      },
      "org": {
        "description": "View your current organization (singleton resource)"
      },
      "persona": {
        "description": "Manage AI personas and their tool configurations"
      },
      "principle": {
        "description": "Manage organizational AI principles"
      },
      "notification-destination": {
        "description": "Manage notification destinations"
      },
      "query": {
        "description": "Query telemetry and sensor data from devices"
      },
      "role": {
        "description": "Manage roles and permissions"
      },
      "schedule": {
        "description": "Manage scheduled tasks and recurring jobs"
      },
      "schema": {
        "description": "Output machine-readable CLI command schemas"
      },
      "share": {
        "description": "Manage share links and access tokens"
      },
      "signal": {
        "description": "Manage signals (points of interest from events, schedules, or manual triggers)"
      },
      "suggestion": {
        "description": "Manage taskflow suggestions"
      },
      "stream": {
        "description": "Manage stream definitions"
      },
      "team": {
        "description": "Manage teams and role assignments"
      },
      "tag-template": {
        "description": "Manage tag templates for device tagging"
      },
      "taskflow": {
        "description": "Manage taskflow definitions and versions"
      },
      "task-summary": {
        "description": "Manage task summary events"
      },
      "task-summary-format": {
        "description": "Manage task summary formats"
      },
      "teleop-view": {
        "description": "Manage teleoperation views"
      },
      "user": {
        "description": "Manage users in your organization"
      },
      "value": {
        "description": "Manage organizational AI values"
      },
      "snowflake": {
        "description": "Load and manage data in Snowflake"
      },
      "view": {
        "description": "Manage dashboard views"
      }
    },
    "plugins": [
      "@oclif/plugin-help"
    ]
  },
  "scripts": {
    "build": "shx rm -rf dist && tsc -b",
    "contracts:fetch": "node scripts/contracts/fetch.mjs",
    "contracts:generate": "node scripts/contracts/generate.mjs",
    "contracts:check": "node scripts/contracts/check.mjs",
    "contracts:check:strict": "node scripts/contracts/check.mjs --strict",
    "contracts:report": "node scripts/contracts/check.mjs --json",
    "contracts:inventory": "node scripts/contracts/inventory-generate.mjs",
    "contracts:inventory:check": "node scripts/contracts/inventory-generate.mjs --check",
    "contracts:coverage": "node scripts/contracts/coverage-report.mjs",
    "contracts:goals": "node scripts/contracts/coverage-goals.mjs",
    "contracts:goals:check": "node scripts/contracts/coverage-goals.mjs --check",
    "typecheck": "tsc -p tsconfig.check.json --noEmit",
    "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\" \"vitest.config.ts\"",
    "format:check": "prettier --check \"src/**/*.ts\" \"test/**/*.ts\" \"vitest.config.ts\"",
    "lint": "eslint \"src/**/*.ts\" \"test/**/*.ts\" \"vitest.config.ts\" --max-warnings=0",
    "test": "vitest run",
    "check:quick": "npm run contracts:check && npm run contracts:inventory:check && npm run contracts:goals:check && npm run typecheck && npm run lint && npm run format:check",
    "check": "npm run check:quick && npm run test",
    "version:bump": "npm version patch --no-git-tag-version",
    "capability:matrix": "npm run build && node ./bin/run.js schema commands --json > /tmp/formant-schema-commands.json && node scripts/generate-capability-validation-matrix.mjs",
    "capability:refresh": "npm run build && npm run capability:test:readonly:built && npm run capability:test:safe-write:built && npm run capability:test:metadata:built && npm run capability:matrix",
    "capability:refresh:full": "npm run build && npm run capability:test:readonly:built && npm run capability:test:safe-write:built && npm run capability:test:mutate:built && npm run capability:test:metadata:built && npm run capability:matrix",
    "capability:test:metadata": "node scripts/run-capability-metadata.mjs --runtime dev",
    "capability:test:metadata:built": "node scripts/run-capability-metadata.mjs --runtime built",
    "capability:test:mutate": "node scripts/run-capability-mutations.mjs",
    "capability:test:mutate:built": "node scripts/run-capability-mutations.mjs --runtime built",
    "capability:test:mutate:strict": "node scripts/run-capability-mutations.mjs --runtime built --strict-skips",
    "capability:test:readonly": "node scripts/run-capability-validation.mjs --mode readonly",
    "capability:test:readonly:built": "node scripts/run-capability-validation.mjs --mode readonly --runtime built",
    "capability:test:safe-write": "node scripts/run-capability-validation.mjs --mode safe-write",
    "capability:test:safe-write:built": "node scripts/run-capability-validation.mjs --mode safe-write --runtime built",
    "validate:release": "npm run check && npm run contracts:check:strict && npm run capability:refresh",
    "dev": "tsx bin/dev.js",
    "agents:package": "bash scripts/package-agent-integrations.sh",
    "plugins:publish": "bash scripts/publish-agent-plugins.sh",
    "plugin:package": "bash scripts/package-cowork-plugin.sh",
    "plugin:schemas": "node scripts/generate-config-entity-schemas.mjs",
    "plugin:verify": "bash scripts/verify-cowork-plugin.sh",
    "plugin:verify:strict": "STRICT_CLAUDE_VALIDATE=1 bash scripts/verify-cowork-plugin.sh",
    "smoke": "bash scripts/smoke.sh",
    "smoke:ci": "CI=1 bash scripts/smoke.sh",
    "postpack": "shx rm -f oclif.manifest.json",
    "prepack": "npm run build && oclif manifest && oclif readme",
    "prepare": "husky"
  }
}
