{"bin":{"catui":"dist/cli.js"},"bugs":{"url":"https://github.com/O-Pencil/Catui/issues","email":"security@o-pencil.org"},"dist":{"shasum":"d3881fc47fcd5caca0dfac347ab0e247ef9caf76","tarball":"https://registry.npmjs.org/catui-agent/-/catui-agent-1.2.34.tgz","fileCount":1663,"integrity":"sha512-pxhpG6Bex9sLEIV57A+t+x8lO9LCCya+szurx0hU/UGw/8ZUq3/c3UQOS6Zldp3vyzDkg1mqH7HC6GEY5sUYiA==","signatures":[{"sig":"MEUCIQDPLAYdQTtQ4j8WKFGxiAECNQOVTag/KPb52hWIJNmPuQIgDjgKVV7FJPr1RYrZTjHKhIBpuJ13+lYFA19jkHIEorY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD5ccsEgGu5+vC+PveU4Ut5lfNlgMqte0I8iH1fpZqM2gIgM7i7WLcYXn0B/D1j0AvG25Uy2bbY0OUbTIphmO++8FY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9913006},"name":"catui-agent","type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tools":{"types":"./dist/tools.d.ts","import":"./dist/tools.js"},"./config":{"types":"./dist/public-config.d.ts","import":"./dist/public-config.js"},"./models":{"types":"./dist/models.d.ts","import":"./dist/models.js"},"./skills":{"types":"./dist/skills.d.ts","import":"./dist/skills.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./session":{"types":"./dist/session.d.ts","import":"./dist/session.js"},"./extensions":{"types":"./dist/extensions.d.ts","import":"./dist/extensions.js"},"./session/compaction":{"types":"./dist/session-compaction.d.ts","import":"./dist/session-compaction.js"}},"funding":{"url":"https://github.com/sponsors/O-Pencil"},"gitHead":"6d58ce4d5a7273689fdbbe8ce8743e82fd85a497","license":"GPL-3.0","scripts":{"dev":"tsx cli.ts","test":"npm run test:release && npm run test:pre && npm run test:evolution-boundaries && npm run test:harness-critical","build":"npm run clean:dist && npm run build:deps && tsc -p tsconfig.build.json && npm run copy:internal-libs && npm run copy:theme:json && npm run copy:assets && npm run build:meta && npm run minify:dist","start":"npx cross-env NODE_ENV=production node --no-deprecation dist/cli.js","watch":"tsc --watch","prepare":"git config core.hooksPath .githooks || true","release":"npm version patch && npm publish","version":"npm run changelog && git add CHANGELOG.md","test:mcp":"node --test --import tsx test/mcp-tool-description.test.ts test/mcp-hint-injection.test.ts test/system-prompt.test.ts","test:pre":"npm run test:runtime-owners && npm run test:dev-loop && npm run test:contract && npm run test:security && npm run test:commands && npm run test:tools && npm run test:mcp && npm run test:sessions && npm run test:presence","wiki:all":"node --import tsx scripts/llm-wiki.ts all","benchmark":"node scripts/startup-benchmark.cjs","changelog":"node scripts/generate-changelog.js","test:plan":"node --test --import tsx test/plan-mode.test.ts","test:team":"node --test --import tsx test/team-parser.test.ts test/team-runtime.test.ts","typecheck":"tsc --noEmit && npm run typecheck:scripts","wiki:scan":"node --import tsx scripts/llm-wiki.ts scan","build:deps":"node scripts/build-deps.js","build:meta":"node scripts/generate-build-meta.js","clean:dist":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","test:tools":"node --test --import tsx test/workspace-write-guard.test.ts test/default-runtime-tools.test.ts test/read-tool.test.ts test/tool-window-validation.test.ts test/bash-sandbox.test.ts test/task-status-panel.test.ts test/task-store-polling.test.ts test/stream-render-task-panel.test.ts test/session-bridge.test.ts test/session-bridge-setup.test.ts test/session-supervision.test.ts","test:utils":"node --test --import tsx test/logger.test.ts","verify:all":"npm run build:deps && npm run verify:dip && npm run verify:quality && npm run verify:package-boundary && npm run verify:structure && npm run typecheck","verify:dip":"node --import tsx scripts/verify-dip.ts","wiki:build":"node --import tsx scripts/llm-wiki.ts build","copy:assets":"node scripts/copy-assets.js","dev-loop:pr":"node --import tsx scripts/dev-loop/github-provider.ts","minify:dist":"node scripts/minify-dist.js","postinstall":"node -e \"import('fs').then(({chmodSync}) => { try { chmodSync('dist/cli.js', 0o755); } catch (e) { /* dev install before build: no dist yet, skip silently */ } })\"","postversion":"git push","verify:full":"npm run build && npm run verify:dip && npm run verify:quality && npm run verify:package-boundary && npm run verify:structure && npm run typecheck && npm run verify:package-boundary:dist && npm run verify:contract && npm run test:release-contracts && npm run test:artifact && npm run test:pre && npm run test:evolution-boundaries && npm run test:harness-critical","wiki:update":"node --import tsx scripts/llm-wiki.ts update","wiki:verify":"node --import tsx scripts/llm-wiki.ts verify","eval:harness":"node --import tsx scripts/harness-eval.ts","test:release":"npm run build && npm run test:release-contracts && npm run test:artifact","build:release":"npm run build","dev-loop:plan":"node --import tsx scripts/dev-loop/verification-plan.ts","scaffold:docs":"node --import tsx scripts/scaffold-feature-docs.ts","test:artifact":"node --test --import tsx test/cli-output-disconnect.test.ts","test:commands":"node --test --import tsx test/slash-command-catalog.test.ts test/extension-command-completions.test.ts test/interactive-slash-command-arguments.test.ts test/rpc-command-catalog.test.ts test/local-model-setup.test.ts test/custom-provider-overrides.test.ts core/model/discovery.test.ts","test:contract":"node --test --import tsx test/verification-ci-parity-recheck.test.ts test/verification-contract.test.ts test/verification-plan-coverage-recheck.test.ts test/verification-duplicate-files-recheck.test.ts test/verification-recursion-recheck.test.ts test/verification-single-build-recheck.test.ts test/verification-stage-order-recheck.test.ts","test:dev-loop":"node --test --import tsx test/dev-loop.test.ts","test:presence":"node --test --import tsx test/presence-opening.test.ts test/presence-locale.test.ts test/presence-persona-identity.test.ts test/presence-persona-memory.test.ts test/presence-prompt-dump.test.ts test/presence-prompt-priority.test.ts test/presence-end-to-end.test.ts test/presence-soul-cleanup.test.ts","test:security":"node --test --import tsx test/security-audit.test.ts","test:sessions":"node --test --import tsx test/interactive-memory-notify.test.ts test/session-manager-header.test.ts test/session-listing-memory.test.ts","test:subagent":"node --test --import tsx test/subagent-parser.test.ts test/worktree-manager.test.ts test/bash-sandbox.test.ts","update-models":"npm run generate-models --prefix core/lib/ai","benchmark:save":"node scripts/startup-benchmark.cjs --output .benchmarks/baseline.json","dev-loop:parse":"node --import tsx scripts/dev-loop/failure-parser.ts","dev-loop:watch":"node --import tsx scripts/dev-loop/watch.ts","prepublishOnly":"npm run build:release","test:evolution":"node --test --import tsx test/evolution-automation.test.ts test/evolution-baseline-binding.test.ts test/evolution-benchmark-promotion.test.ts test/evolution-benchmark-cli-binding.test.ts test/evolution-benchmark.test.ts test/evolution-extension.test.ts test/evolution-pawbench.test.ts test/evolution-pawbench-cli.test.ts test/evolution-refiner-redaction.test.ts test/evolution-rollback-discovery.test.ts test/evolution-runtime-capabilities.test.ts test/evolution-schema.test.ts test/evolution-store.test.ts test/evolution-workflow.test.ts","verify:quality":"node --import tsx scripts/verify-quality.ts","copy:theme:json":"node -e \"const fs=require('fs');const p=require('path');const d='dist/modes/interactive/theme';if(!fs.existsSync(d))fs.mkdirSync(d,{recursive:true});fs.readdirSync('modes/interactive/theme').forEach(f=>{if(f.endsWith('.json'))fs.copyFileSync(p.join('modes/interactive/theme',f),p.join(d,f))})\"","dev-loop:verify":"node --import tsx scripts/dev-loop/run-verification.ts","verify:contract":"node --test --import tsx test/verification-contract.test.ts","dev-loop:handoff":"node --import tsx scripts/dev-loop/handoff.ts","verify:structure":"node --import tsx scripts/verify-structure.ts","benchmark:compare":"node scripts/startup-benchmark.cjs --baseline .benchmarks/baseline.json","test:harness-eval":"node --test --import tsx test/harness-eval.test.ts test/run-trace-jsonl.test.ts","typecheck:scripts":"tsc --noEmit -p tsconfig.scripts.json","copy:internal-libs":"node scripts/copy-internal-libs.js","test:runtime-owners":"node --test --import tsx test/session-runtime-owners.test.ts test/typesafe-extension.test.ts test/context-management.test.ts test/context-window.test.ts test/retry-coordinator.test.ts test/builtin-extension-registry.test.ts test/bootstrap-routing.test.ts test/local-model-enhancement.test.ts","test:harness-critical":"node --test --import tsx test/harness-eval.test.ts test/run-trace-jsonl.test.ts test/default-runtime-tools.test.ts test/checkpoint-store.test.ts test/goal-controller.test.ts test/grub-controller.test.ts test/goal-grub-lifecycle.test.ts test/team-parser.test.ts test/team-runtime.test.ts test/team-tools.test.ts test/evolution-automation.test.ts test/evolution-extension.test.ts test/evolution-runtime-capabilities.test.ts test/evolution-schema.test.ts test/evolution-store.test.ts test/evolution-workflow.test.ts test/source-evolution.test.ts test/source-evolution-repair.test.ts && npm run eval:harness","test:source-evolution":"node --test --import tsx test/source-evolution.test.ts test/source-evolution-repair.test.ts","test:release-contracts":"node --test --import tsx test/release-build.test.ts test/sal-terrain-budget.test.ts test/persona-assets.test.ts","verify:baseline:update":"node --import tsx scripts/verify-dip.ts --update-baseline && node --import tsx scripts/verify-structure.ts --update-baseline --allow-grow","eval:evolution-pawbench":"node --import tsx scripts/evolution-pawbench.ts","test:evolution-pawbench":"node --test --import tsx test/evolution-pawbench.test.ts test/evolution-pawbench-cli.test.ts","verify:package-boundary":"node --import tsx scripts/verify-package-boundary.ts","eval:evolution-benchmark":"node --import tsx scripts/evolution-benchmark.ts","test:evolution-benchmark":"node --test --import tsx test/evolution-benchmark.test.ts","test:evolution-boundaries":"node --test --import tsx test/evolution-auto-cooldown.test.ts test/evolution-concurrent-budget.test.ts test/evolution-auto-promotion-gate.test.ts test/evolution-auto-provenance.test.ts test/evolution-baseline-binding.test.ts test/evolution-benchmark-cli-binding.test.ts test/evolution-benchmark-promotion.test.ts test/evolution-benchmark.test.ts test/evolution-default-off.test.ts test/evolution-edit-budget.test.ts test/evolution-evidence-cursor.test.ts test/evolution-no-blacklist.test.ts test/evolution-no-lesson-recheck.test.ts test/evolution-model-budget.test.ts test/evolution-overrides.test.ts test/evolution-pawbench-cli.test.ts test/evolution-pawbench.test.ts test/evolution-rejection-feedback.test.ts test/evolution-refiner-existing-skills.test.ts test/evolution-refiner-redaction.test.ts test/evolution-rollback-discovery.test.ts test/evolution-skill-body-structure.test.ts test/evolution-scope-and-stale-rejection.test.ts test/evolution-skill-dedup.test.ts","verify:package-boundary:dist":"node --import tsx scripts/verify-package-boundary.ts --dist","test:interactive-memory-notify":"node --test --import tsx test/interactive-memory-notify.test.ts test/session-manager-header.test.ts"},"_npmUser":{"name":"cunyu666","email":"minghuazzz@qq.com"},"homepage":"https://github.com/O-Pencil/Catui","keywords":["catui","writing-agent","coding-agent","ai","llm","cli","tui","agent","apikey","dashscope"],"overrides":{"zod":"^4.3.6","@types/node":"^22.15.0"},"repository":{"url":"git+ssh://git@github.com/O-Pencil/Catui.git","type":"git"},"workspaces":["core/lib/agent-core","core/lib/ai","core/lib/tui","packages/mem-core","packages/protocol"],"_npmVersion":"11.19.0","catuiConfig":{"name":"catui","configDir":".catui"},"description":"CLI coding agent with read, bash, edit, write tools and session management. Supports DashScope and Ali Token Plan. Persona-based identity and built-in decision skills.","directories":{},"maintainers":[{"name":"lucy.cl","email":"471394684@qq.com"},{"name":"cunyu666","email":"minghuazzz@qq.com"}],"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.18.0","ajv":"^8.17.1","zod":"^4.3.6","diff":"^8.0.2","glob":"^13.0.1","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","marked":"^15.0.12","openai":"6.10.0","qrcode":"^1.5.4","undici":"^7.19.1","pdf-lib":"^1.17.1","chokidar":"^5.0.0","catui-mem":"^1.1.2","file-type":"^21.1.1","minimatch":"^10.1.1","mime-types":"^3.0.1","ajv-formats":"^3.0.1","extract-zip":"^2.0.1","proxy-agent":"^6.5.0","partial-json":"^0.1.7","@google/genai":"^1.40.0","cli-highlight":"^2.1.11","catui-protocol":"^0.1.1","vscode-jsonrpc":"^8.2.1","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.73.0","@sinclair/typebox":"^0.34.41","@mariozechner/jiti":"^2.6.2","zod-to-json-schema":"^3.24.6","get-east-asian-width":"^1.3.0","@mariozechner/clipboard":"^0.3.2","@agentclientprotocol/sdk":"^0.16.1","@silvia-odwyer/photon-node":"^0.3.4","vscode-languageserver-types":"^3.18.0","vscode-languageserver-protocol":"^3.18.0","@aws-sdk/client-bedrock-runtime":"^3.983.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","esbuild":"^0.27.3","cross-env":"^10.1.0","typescript":"^5.3.3","@types/node":"^22.15.0","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"koffi":"^2.9.0"},"_npmOperationalInternal":{"tmp":"tmp/catui-agent_1.2.34_1791297941393_0.5447076905142219","host":"s3://npm-registry-packages-npm-production"},"_id":"catui-agent@1.2.34","version":"1.2.34"}