{"bin":{"otto":"dist/loader.js"},"bugs":{"url":"https://github.com/cmetech/otto-cli/issues"},"dist":{"shasum":"5eef1398f3eefcd2ba7fe640bc6a0705318cfbc7","tarball":"https://registry.npmjs.org/@cmetech/otto/-/otto-1.3.4.tgz","fileCount":7556,"integrity":"sha512-amgoctxWBqNs3R+loEY8DwiAlsEI45X6t7/bUDYekxBXyOTDQFhUtruDd08oJSQkyRmKiAFYiQmAbCOxEGR0WQ==","signatures":[{"sig":"MEYCIQDfng4k2cvthWZlE53Wvb2J1RPZssS+G/7Bjw5riKZZoQIhAOj37YT+2exqFpgdybB8vcqldZ0AXzgC4A3vxLdIUbAU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cmetech%2fotto@1.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":68564765},"name":"@cmetech/otto","type":"module","engines":{"node":">=22.0.0"},"gitHead":"e62d23e713a36a0570f7f5c3ee69868b1131e548","license":"MIT","scripts":{"dev":"node scripts/dev.js","otto":"node scripts/dev-cli.js","test":"npm run test:unit && npm run test:integration && npm run test:packages","build":"npm run build:core","pretest":"npm run typecheck:extensions","build:pi":"npm run build:contracts && npm run build:native-pkg && npm run build:pi-tui && npm run build:pi-ai && npm run build:pi-agent-core && npm run build:pi-coding-agent","prebuild":"node scripts/sync-brand-colors.mjs && node scripts/sync-piconfig.mjs && node scripts/sync-release-notes.mjs && node scripts/generate-theme-const.mjs","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 \"tests/e2e/*.e2e.test.ts\"","test:live":"node scripts/with-env.mjs OTTO_LIVE_TESTS=1 -- node --experimental-strip-types tests/live/run.ts","test:unit":"npm run test:compile && npm run test:unit:compiled","verify:pr":"npm run build:core && npm run typecheck:extensions && npm run test:unit","build:core":"npm run build:contracts && npm run build:coworker && npm run build:pi && npm run build:rpc-client && npm run build:mcp-server && tsc && npm run copy-resources && npm run copy-themes && npm run copy-export-html","test:smoke":"node --experimental-strip-types tests/smoke/run.ts","build:pi-ai":"npm run build -w @otto/pi-ai","copy-themes":"node scripts/copy-themes.cjs","postinstall":"node scripts/install.js","secret-scan":"node scripts/secret-scan.mjs","test:native":"npm run test -w @otto/native","verify:fast":"bash scripts/ci-fast-gates.sh","verify:full":"npm run verify:pr && npm run test:integration && npm run test:e2e","build:native":"node native/scripts/build.js","build:pi-tui":"npm run build -w @otto/pi-tui","release:bump":"node scripts/bump-version.mjs","test:compile":"node scripts/compile-tests.mjs","sync-piconfig":"node scripts/sync-piconfig.mjs","test:coverage":"cross-env NODE_OPTIONS=--max-old-space-size=8192 c8 --reporter=text --reporter=lcov --exclude=\"src/resources/extensions/workflow/tests/**\" --exclude=\"src/tests/**\" --exclude=\"scripts/**\" --exclude=\"native/**\" --exclude=\"node_modules/**\" --check-coverage --statements=40 --lines=40 --branches=20 --functions=20 node --import ./src/resources/extensions/workflow/tests/resolve-ts.mjs --experimental-strip-types --experimental-test-isolation=process --test src/resources/extensions/workflow/tests/*.test.ts src/resources/extensions/workflow/tests/*.test.mjs src/tests/*.test.ts src/resources/extensions/shared/tests/*.test.ts","test:packages":"npm run test:compile && npm run test:packages:compiled","validate-pack":"node scripts/validate-pack.js","branding:check":"node scripts/branding-residue-check.mjs","build:coworker":"npm run build:coworker-types && npm run build:coworker-utils && npm run build:coworker-memory && npm run build:coworker-vault && npm run build:coworker-artifacts && npm run build:coworker-scratchpad && npm run build:coworker-persona","copy-resources":"node scripts/copy-resources.cjs","prepublishOnly":"npm run sync-pkg-version && npm run verify:version-sync && npm run verify:vendored-xlsx && npm run verify:piconfig-sync && npm run branding:check && node scripts/prepublish-check.mjs && npm run build && npm run typecheck:extensions && npm run verify:native-platform-packages && npm run validate-pack","build:contracts":"npm run build -w @otto-build/contracts","release:publish":"gh workflow run build-native.yml -f publish=true -f publish_auth=trusted","test:e2e:docker":"node --experimental-strip-types --test \"tests/e2e/docker/**/*.e2e.test.ts\"","build:mcp-server":"npm run build -w @otto-build/mcp-server","build:native-pkg":"npm run build -w @otto/native","build:native:dev":"node native/scripts/build.js --dev","build:rpc-client":"npm run build -w @otto-build/rpc-client","copy-export-html":"node scripts/copy-export-html.cjs","sync-pkg-version":"node scripts/sync-pkg-version.cjs","test:changed:src":"node scripts/verify-changed-src-tests.mjs","test:integration":"node --import ./src/resources/extensions/workflow/tests/resolve-ts.mjs --experimental-strip-types --test \"src/tests/integration/*.test.ts\" \"src/resources/extensions/workflow/tests/integration/*.test.ts\" \"src/resources/extensions/async-jobs/*.test.ts\" \"src/resources/extensions/analyst/*.test.ts\" \"src/resources/extensions/analyst/**/*.test.ts\" \"src/resources/extensions/browser-tools/tests/*.test.mjs\"","test:marketplace":"node scripts/with-env.mjs OTTO_TEST_CLONE_MARKETPLACES=1 -- node --import ./src/resources/extensions/workflow/tests/resolve-ts.mjs --experimental-strip-types --test src/resources/extensions/workflow/tests/claude-import-tui.test.ts src/resources/extensions/workflow/tests/plugin-importer-live.test.ts src/tests/marketplace-discovery.test.ts","test:secret-scan":"node --import ./src/resources/extensions/workflow/tests/resolve-ts.mjs --experimental-strip-types --test src/tests/secret-scan.test.ts","baseline:refactor":"node scripts/refactor-baseline.mjs","pi:install-global":"node scripts/install-pi-global.js","release:changelog":"node scripts/generate-changelog.mjs","sync-brand-colors":"node scripts/sync-brand-colors.mjs","sync-release-notes":"node scripts/sync-release-notes.mjs","test:browser-tools":"node --test src/resources/extensions/browser-tools/tests/browser-tools-unit.test.cjs src/resources/extensions/browser-tools/tests/browser-tools-integration.test.mjs","test:unit:compiled":"node --import ./scripts/dist-test-resolve.mjs --experimental-test-isolation=process --test-reporter=./scripts/test-reporter-compact.mjs --test \"dist-test/src/tests/*.test.js\" \"dist-test/src/resources/extensions/workflow/tests/*.test.js\" \"dist-test/src/resources/extensions/workflow/tests/*.test.mjs\" \"dist-test/src/resources/extensions/shared/tests/*.test.js\" \"dist-test/src/resources/extensions/subagent/tests/*.test.js\" \"dist-test/src/resources/extensions/claude-code-cli/tests/*.test.js\" \"dist-test/src/resources/extensions/github-sync/tests/*.test.js\" \"dist-test/src/resources/extensions/universal-config/tests/*.test.js\" \"dist-test/src/resources/extensions/visual-brief/tests/*.test.js\" \"dist-test/src/resources/extensions/voice/tests/*.test.js\" \"dist-test/src/resources/extensions/mcp-client/tests/*.test.js\" \"dist-test/src/resources/extensions/remote-questions/tests/*.test.js\" \"dist-test/src/resources/extensions/coworker-memory/*.test.js\" \"dist-test/src/resources/extensions/coworker-vault/*.test.js\" \"dist-test/src/resources/extensions/coworker-scratchpad/*.test.js\" \"dist-test/src/resources/extensions/coworker-artifacts/*.test.js\"","build:pi-agent-core":"npm run build -w @otto/pi-agent-core","legacy:cleanup:gate":"node scripts/legacy-cleanup-gate.mjs","pi:uninstall-global":"node scripts/uninstall-pi-global.js","verify:version-sync":"node scripts/verify-version-sync.cjs","build:coworker-types":"npm run build -w @otto/coworker-types","build:coworker-utils":"npm run build -w @otto/coworker-utils","build:coworker-vault":"npm run build -w @otto/coworker-vault","docker:build-builder":"docker build --target builder -t ghcr.io/open-gsd/otto-ci-builder .","docker:build-runtime":"docker build --target runtime -t ghcr.io/cmetech/otto .","generate-theme-const":"node scripts/generate-theme-const.mjs","test:live-regression":"node --experimental-strip-types tests/live-regression/run.ts","typecheck:extensions":"tsc --noEmit --project tsconfig.extensions.json","verify:piconfig-sync":"node scripts/verify-piconfig-sync.mjs","verify:vendored-xlsx":"node scripts/verify-vendored-xlsx.mjs","build:coworker-memory":"npm run build -w @otto/coworker-memory","build:pi-coding-agent":"npm run build:contracts && npm run build -w @otto/pi-coding-agent","baseline:refactor:gate":"node --import ./src/resources/extensions/workflow/tests/resolve-ts.mjs --experimental-strip-types --test src/tests/refactor-baseline.test.ts src/tests/rpc-golden-fixtures.test.ts src/tests/prompt-golden-fixtures.test.ts src/tests/contracts-rpc-fixtures.test.ts","build:coworker-persona":"npm run build -w @otto/coworker-persona","pipeline:version-stamp":"node scripts/version-stamp.mjs","sync-platform-versions":"node native/scripts/sync-platform-versions.cjs","test:e2e:windows-smoke":"node --experimental-strip-types --test tests/e2e/sanity.e2e.test.ts tests/e2e/migration.e2e.test.ts tests/e2e/native-abi.e2e.test.ts","test:packages:compiled":"node scripts/run-package-tests.cjs","legacy:cleanup:evidence":"node scripts/legacy-cleanup-evidence.mjs","baseline:refactor:phase0":"npm run baseline:refactor:gate && node --import ./src/resources/extensions/workflow/tests/resolve-ts.mjs --experimental-strip-types --test src/resources/extensions/workflow/tests/derive-state-db.test.ts src/resources/extensions/workflow/tests/single-writer-invariant.test.ts src/resources/extensions/workflow/tests/auto-recovery.test.ts src/resources/extensions/workflow/tests/auto-worktree-registry.test.ts","build:coworker-artifacts":"npm run build -w @otto/coworker-artifacts","release:update-changelog":"node scripts/update-changelog.mjs","secret-scan:install-hook":"node scripts/install-hooks.mjs","build:coworker-scratchpad":"npm run build -w @otto/coworker-scratchpad","verify:workspace-coverage":"node scripts/verify-workspace-coverage.cjs","verify:native-platform-packages":"node scripts/verify-native-platform-packages.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:09dbe0f9-8e01-4025-97d7-d264873c9084"}},"homepage":"https://github.com/cmetech/otto-cli#readme","keywords":["ai","agent","cli","terminal","langflow","anthropic","claude","compliance","developer-tools"],"piConfig":{"name":"otto","_comment":"CANONICAL source for piConfig. Auto-synced to packages/pi-coding-agent/package.json and pkg/package.json by scripts/sync-piconfig.mjs (runs on `prebuild`). To rebrand: edit this block, run `npm run build` (or `npm run sync-piconfig`).","brandName":"OTTO","configDir":".otto","commandNamespace":"otto"},"overrides":{"uuid":"^11.0.0","gaxios":"7.1.4"},"repository":{"url":"git+https://github.com/cmetech/otto-cli.git","type":"git"},"workspaces":["packages/*","extensions/*"],"_npmVersion":"11.13.0","description":"Terminal-based developer chat assistant. Permanent hard fork of gsd-pi with LangFlow flow triggers, a flow builder, and optional gateway routing for compliance environments.","directories":{},"maintainers":[{"name":"cmellis","email":"corey@cmetech.io"}],"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","zod":"^4.4.3","diff":"^8.0.2","glob":"^13.0.1","xlsx":"file:vendor/xlsx-0.20.3.tgz","yaml":"^2.8.2","axios":"^1.16.1","chalk":"^5.6.2","sharp":"^0.34.5","ignore":"^7.0.5","lodash":"^4.18.1","marked":"^15.0.12","openai":"^6.26.0","sql.js":"^1.14.1","undici":"^7.24.2","echarts":"^5.6.0","chokidar":"^5.0.0","date-fns":"^4.4.0","file-type":"^21.1.1","minimatch":"^10.2.3","picomatch":"^4.0.3","playwright":"^1.58.2","strip-ansi":"^7.1.0","ajv-formats":"^3.0.1","extract-zip":"^2.0.1","proxy-agent":"^6.5.0","@google/genai":"^1.40.0","nodejs-polars":"^0.24.1","@clack/prompts":"^1.1.0","better-sqlite3":"^12.10.0","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@duckdb/node-api":"^1.5.3-r.1","@anthropic-ai/sdk":"^0.90.0","@sinclair/typebox":"^0.34.41","@mariozechner/jiti":"^2.6.2","@mistralai/mistralai":"^1.14.1","@anthropic-ai/vertex-sdk":"^0.14.4","@modelcontextprotocol/sdk":"^1.27.1","@silvia-odwyer/photon-node":"^0.3.4","@aws-sdk/client-bedrock-runtime":"^3.983.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.3","devDependencies":{"c8":"^11.0.0","jiti":"^2.6.1","esbuild":"^0.25.12","cross-env":"^7.0.3","typescript":"^5.9.3","@types/node":"^24.12.0","@types/lodash":"^4.17.24","@types/picomatch":"^4.0.2","@types/proper-lockfile":"^4.1.4"},"bundleDependencies":["xlsx"],"optionalDependencies":{"koffi":"^2.9.0","fsevents":"~2.3.3","@anthropic-ai/claude-agent-sdk":"0.2.83","@cmetech/otto-engine-darwin-x64":"1.3.4","@cmetech/otto-engine-darwin-arm64":"1.3.4","@cmetech/otto-engine-linux-x64-gnu":"1.3.4","@cmetech/otto-engine-win32-x64-msvc":"1.3.4","@cmetech/otto-engine-linux-arm64-gnu":"1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/otto_1.3.4_1781708913664_0.25096516464905827","host":"s3://npm-registry-packages-npm-production"},"_id":"@cmetech/otto@1.3.4","version":"1.3.4"}