@nodetool-ai/cli 0.7.0-rc.23 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +82 -0
- package/dist/.nodetool-build-stamp +1 -0
- package/dist/ExecutionTree.d.ts +2 -1
- package/dist/ExecutionTree.d.ts.map +1 -1
- package/dist/ExecutionTree.js +1 -1
- package/dist/ExecutionTree.js.map +1 -1
- package/dist/affected/affected.d.ts +45 -0
- package/dist/affected/affected.d.ts.map +1 -0
- package/dist/affected/affected.js +160 -0
- package/dist/affected/affected.js.map +1 -0
- package/dist/agent-toolbelt.d.ts +15 -0
- package/dist/agent-toolbelt.d.ts.map +1 -0
- package/dist/agent-toolbelt.js +28 -0
- package/dist/agent-toolbelt.js.map +1 -0
- package/dist/api-client.d.ts +12 -0
- package/dist/api-client.d.ts.map +1 -0
- package/dist/api-client.js +21 -0
- package/dist/api-client.js.map +1 -0
- package/dist/app-build/bundle.d.ts +15 -0
- package/dist/app-build/bundle.d.ts.map +1 -0
- package/dist/app-build/bundle.js +45 -0
- package/dist/app-build/bundle.js.map +1 -0
- package/dist/app-build/watch.d.ts +13 -0
- package/dist/app-build/watch.d.ts.map +1 -0
- package/dist/app-build/watch.js +25 -0
- package/dist/app-build/watch.js.map +1 -0
- package/dist/app-debug/app-target.d.ts +14 -0
- package/dist/app-debug/app-target.d.ts.map +1 -0
- package/dist/app-debug/app-target.js +120 -0
- package/dist/app-debug/app-target.js.map +1 -0
- package/dist/app-debug/harness.d.ts +29 -0
- package/dist/app-debug/harness.d.ts.map +1 -0
- package/dist/app-debug/harness.js +116 -0
- package/dist/app-debug/harness.js.map +1 -0
- package/dist/app-debug/index.d.ts +12 -0
- package/dist/app-debug/index.d.ts.map +1 -0
- package/dist/app-debug/index.js +9 -0
- package/dist/app-debug/index.js.map +1 -0
- package/dist/app.d.ts +38 -48
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +980 -677
- package/dist/app.js.map +1 -1
- package/dist/bash-tool.d.ts +13 -0
- package/dist/bash-tool.d.ts.map +1 -0
- package/dist/bash-tool.js +85 -0
- package/dist/bash-tool.js.map +1 -0
- package/dist/chat-codeact.d.ts +93 -0
- package/dist/chat-codeact.d.ts.map +1 -0
- package/dist/chat-codeact.js +179 -0
- package/dist/chat-codeact.js.map +1 -0
- package/dist/chat-context.d.ts +18 -0
- package/dist/chat-context.d.ts.map +1 -0
- package/dist/chat-context.js +32 -0
- package/dist/chat-context.js.map +1 -0
- package/dist/chat-media.d.ts +3 -0
- package/dist/chat-media.d.ts.map +1 -0
- package/dist/chat-media.js +46 -0
- package/dist/chat-media.js.map +1 -0
- package/dist/chat-prompts.d.ts +20 -0
- package/dist/chat-prompts.d.ts.map +1 -0
- package/dist/chat-prompts.js +42 -0
- package/dist/chat-prompts.js.map +1 -0
- package/dist/chat-sessions.d.ts +25 -0
- package/dist/chat-sessions.d.ts.map +1 -0
- package/dist/chat-sessions.js +153 -0
- package/dist/chat-sessions.js.map +1 -0
- package/dist/command-errors.d.ts +10 -0
- package/dist/command-errors.d.ts.map +1 -0
- package/dist/command-errors.js +15 -0
- package/dist/command-errors.js.map +1 -0
- package/dist/commands/__tests__/jtbd.test.d.ts +2 -0
- package/dist/commands/__tests__/jtbd.test.d.ts.map +1 -0
- package/dist/commands/__tests__/jtbd.test.js +120 -0
- package/dist/commands/__tests__/jtbd.test.js.map +1 -0
- package/dist/commands/__tests__/timeline-render-audio.test.d.ts +2 -0
- package/dist/commands/__tests__/timeline-render-audio.test.d.ts.map +1 -0
- package/dist/commands/__tests__/timeline-render-audio.test.js +53 -0
- package/dist/commands/__tests__/timeline-render-audio.test.js.map +1 -0
- package/dist/commands/__tests__/timeline-render-completeness.test.d.ts +2 -0
- package/dist/commands/__tests__/timeline-render-completeness.test.d.ts.map +1 -0
- package/dist/commands/__tests__/timeline-render-completeness.test.js +117 -0
- package/dist/commands/__tests__/timeline-render-completeness.test.js.map +1 -0
- package/dist/commands/__tests__/timeline-render.test.d.ts +2 -0
- package/dist/commands/__tests__/timeline-render.test.d.ts.map +1 -0
- package/dist/commands/__tests__/timeline-render.test.js +115 -0
- package/dist/commands/__tests__/timeline-render.test.js.map +1 -0
- package/dist/commands/__tests__/timeline-score.test.d.ts +2 -0
- package/dist/commands/__tests__/timeline-score.test.d.ts.map +1 -0
- package/dist/commands/__tests__/timeline-score.test.js +100 -0
- package/dist/commands/__tests__/timeline-score.test.js.map +1 -0
- package/dist/commands/affected.d.ts +9 -0
- package/dist/commands/affected.d.ts.map +1 -0
- package/dist/commands/affected.js +122 -0
- package/dist/commands/affected.js.map +1 -0
- package/dist/commands/agent.d.ts +26 -4
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +328 -306
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/app.d.ts +3 -0
- package/dist/commands/app.d.ts.map +1 -0
- package/dist/commands/app.js +405 -0
- package/dist/commands/app.js.map +1 -0
- package/dist/commands/apps.d.ts +15 -0
- package/dist/commands/apps.d.ts.map +1 -0
- package/dist/commands/apps.js +180 -0
- package/dist/commands/apps.js.map +1 -0
- package/dist/commands/auth.d.ts +12 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +154 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/collections.d.ts +10 -0
- package/dist/commands/collections.d.ts.map +1 -0
- package/dist/commands/collections.js +257 -0
- package/dist/commands/collections.js.map +1 -0
- package/dist/commands/costs.d.ts +15 -0
- package/dist/commands/costs.d.ts.map +1 -0
- package/dist/commands/costs.js +201 -0
- package/dist/commands/costs.js.map +1 -0
- package/dist/commands/db.d.ts +3 -0
- package/dist/commands/db.d.ts.map +1 -0
- package/dist/commands/db.js +176 -0
- package/dist/commands/db.js.map +1 -0
- package/dist/commands/debug-summary-output.d.ts +22 -0
- package/dist/commands/debug-summary-output.d.ts.map +1 -0
- package/dist/commands/debug-summary-output.js +28 -0
- package/dist/commands/debug-summary-output.js.map +1 -0
- package/dist/commands/debug.d.ts +13 -0
- package/dist/commands/debug.d.ts.map +1 -0
- package/dist/commands/debug.js +138 -0
- package/dist/commands/debug.js.map +1 -0
- package/dist/commands/deploy-helpers.d.ts +49 -18
- package/dist/commands/deploy-helpers.d.ts.map +1 -1
- package/dist/commands/deploy-helpers.js +10 -276
- package/dist/commands/deploy-helpers.js.map +1 -1
- package/dist/commands/deploy.d.ts +0 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +21 -217
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/errors.d.ts +11 -0
- package/dist/commands/errors.d.ts.map +1 -0
- package/dist/commands/errors.js +177 -0
- package/dist/commands/errors.js.map +1 -0
- package/dist/commands/eval.d.ts +152 -0
- package/dist/commands/eval.d.ts.map +1 -0
- package/dist/commands/eval.js +690 -0
- package/dist/commands/eval.js.map +1 -0
- package/dist/commands/extension.d.ts +12 -0
- package/dist/commands/extension.d.ts.map +1 -0
- package/dist/commands/extension.js +30 -0
- package/dist/commands/extension.js.map +1 -0
- package/dist/commands/game-benchmark.d.ts +34 -0
- package/dist/commands/game-benchmark.d.ts.map +1 -0
- package/dist/commands/game-benchmark.js +95 -0
- package/dist/commands/game-benchmark.js.map +1 -0
- package/dist/commands/game-smoke.d.ts +3 -0
- package/dist/commands/game-smoke.d.ts.map +1 -0
- package/dist/commands/game-smoke.js +23 -0
- package/dist/commands/game-smoke.js.map +1 -0
- package/dist/commands/game.d.ts +4 -0
- package/dist/commands/game.d.ts.map +1 -0
- package/dist/commands/game.js +624 -0
- package/dist/commands/game.js.map +1 -0
- package/dist/commands/generate.d.ts +17 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +324 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/generations.d.ts +17 -0
- package/dist/commands/generations.d.ts.map +1 -0
- package/dist/commands/generations.js +408 -0
- package/dist/commands/generations.js.map +1 -0
- package/dist/commands/harness.d.ts +69 -0
- package/dist/commands/harness.d.ts.map +1 -0
- package/dist/commands/harness.js +575 -0
- package/dist/commands/harness.js.map +1 -0
- package/dist/commands/js-script-validation-output.d.ts +7 -0
- package/dist/commands/js-script-validation-output.d.ts.map +1 -0
- package/dist/commands/js-script-validation-output.js +5 -0
- package/dist/commands/js-script-validation-output.js.map +1 -0
- package/dist/commands/js-script-versions.d.ts +53 -0
- package/dist/commands/js-script-versions.d.ts.map +1 -0
- package/dist/commands/js-script-versions.js +89 -0
- package/dist/commands/js-script-versions.js.map +1 -0
- package/dist/commands/js-script.d.ts +29 -0
- package/dist/commands/js-script.d.ts.map +1 -0
- package/dist/commands/js-script.js +211 -0
- package/dist/commands/js-script.js.map +1 -0
- package/dist/commands/jtbd.d.ts +38 -0
- package/dist/commands/jtbd.d.ts.map +1 -0
- package/dist/commands/jtbd.js +261 -0
- package/dist/commands/jtbd.js.map +1 -0
- package/dist/commands/local-db.d.ts +16 -0
- package/dist/commands/local-db.d.ts.map +1 -0
- package/dist/commands/local-db.js +33 -0
- package/dist/commands/local-db.js.map +1 -0
- package/dist/commands/mcp.d.ts +21 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +164 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/migrate-code-inputs.d.ts +24 -0
- package/dist/commands/migrate-code-inputs.d.ts.map +1 -0
- package/dist/commands/migrate-code-inputs.js +120 -0
- package/dist/commands/migrate-code-inputs.js.map +1 -0
- package/dist/commands/models-hf.js +4 -4
- package/dist/commands/models-hf.js.map +1 -1
- package/dist/commands/models-recommended.d.ts.map +1 -1
- package/dist/commands/models-recommended.js +16 -24
- package/dist/commands/models-recommended.js.map +1 -1
- package/dist/commands/node.d.ts +10 -0
- package/dist/commands/node.d.ts.map +1 -0
- package/dist/commands/node.js +72 -0
- package/dist/commands/node.js.map +1 -0
- package/dist/commands/output.d.ts +24 -0
- package/dist/commands/output.d.ts.map +1 -0
- package/dist/commands/output.js +132 -0
- package/dist/commands/output.js.map +1 -0
- package/dist/commands/package-helpers.d.ts +1 -7
- package/dist/commands/package-helpers.d.ts.map +1 -1
- package/dist/commands/package-helpers.js +3 -26
- package/dist/commands/package-helpers.js.map +1 -1
- package/dist/commands/package.d.ts.map +1 -1
- package/dist/commands/package.js +14 -14
- package/dist/commands/package.js.map +1 -1
- package/dist/commands/packs.d.ts +13 -0
- package/dist/commands/packs.d.ts.map +1 -0
- package/dist/commands/packs.js +60 -0
- package/dist/commands/packs.js.map +1 -0
- package/dist/commands/reliability.d.ts +14 -0
- package/dist/commands/reliability.d.ts.map +1 -0
- package/dist/commands/reliability.js +80 -0
- package/dist/commands/reliability.js.map +1 -0
- package/dist/commands/resource-read.d.ts +28 -0
- package/dist/commands/resource-read.d.ts.map +1 -0
- package/dist/commands/resource-read.js +316 -0
- package/dist/commands/resource-read.js.map +1 -0
- package/dist/commands/runs.d.ts +7 -0
- package/dist/commands/runs.d.ts.map +1 -0
- package/dist/commands/runs.js +302 -0
- package/dist/commands/runs.js.map +1 -0
- package/dist/commands/sketch-validation-output.d.ts +7 -0
- package/dist/commands/sketch-validation-output.d.ts.map +1 -0
- package/dist/commands/sketch-validation-output.js +5 -0
- package/dist/commands/sketch-validation-output.js.map +1 -0
- package/dist/commands/sketch-versions.d.ts +66 -0
- package/dist/commands/sketch-versions.d.ts.map +1 -0
- package/dist/commands/sketch-versions.js +108 -0
- package/dist/commands/sketch-versions.js.map +1 -0
- package/dist/commands/sketch.d.ts +21 -0
- package/dist/commands/sketch.d.ts.map +1 -0
- package/dist/commands/sketch.js +101 -0
- package/dist/commands/sketch.js.map +1 -0
- package/dist/commands/storage.d.ts +24 -0
- package/dist/commands/storage.d.ts.map +1 -0
- package/dist/commands/storage.js +112 -0
- package/dist/commands/storage.js.map +1 -0
- package/dist/commands/telegram.d.ts +11 -0
- package/dist/commands/telegram.d.ts.map +1 -0
- package/dist/commands/telegram.js +66 -0
- package/dist/commands/telegram.js.map +1 -0
- package/dist/commands/timeline-render.d.ts +85 -0
- package/dist/commands/timeline-render.d.ts.map +1 -0
- package/dist/commands/timeline-render.js +474 -0
- package/dist/commands/timeline-render.js.map +1 -0
- package/dist/commands/timeline-score.d.ts +16 -0
- package/dist/commands/timeline-score.d.ts.map +1 -0
- package/dist/commands/timeline-score.js +89 -0
- package/dist/commands/timeline-score.js.map +1 -0
- package/dist/commands/timeline-validation-output.d.ts +7 -0
- package/dist/commands/timeline-validation-output.d.ts.map +1 -0
- package/dist/commands/timeline-validation-output.js +9 -0
- package/dist/commands/timeline-validation-output.js.map +1 -0
- package/dist/commands/timeline-versions.d.ts +72 -0
- package/dist/commands/timeline-versions.d.ts.map +1 -0
- package/dist/commands/timeline-versions.js +108 -0
- package/dist/commands/timeline-versions.js.map +1 -0
- package/dist/commands/timeline.d.ts +22 -0
- package/dist/commands/timeline.d.ts.map +1 -0
- package/dist/commands/timeline.js +105 -0
- package/dist/commands/timeline.js.map +1 -0
- package/dist/commands/validate.d.ts +22 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +127 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/commands/validation-output.d.ts +25 -0
- package/dist/commands/validation-output.d.ts.map +1 -0
- package/dist/commands/validation-output.js +29 -0
- package/dist/commands/validation-output.js.map +1 -0
- package/dist/commands/version-commands.d.ts +94 -0
- package/dist/commands/version-commands.d.ts.map +1 -0
- package/dist/commands/version-commands.js +227 -0
- package/dist/commands/version-commands.js.map +1 -0
- package/dist/commands/worker-models.d.ts +13 -0
- package/dist/commands/worker-models.d.ts.map +1 -0
- package/dist/commands/worker-models.js +207 -0
- package/dist/commands/worker-models.js.map +1 -0
- package/dist/commands/worker.d.ts +23 -0
- package/dist/commands/worker.d.ts.map +1 -0
- package/dist/commands/worker.js +374 -0
- package/dist/commands/worker.js.map +1 -0
- package/dist/debug/browser-runner.d.ts +21 -0
- package/dist/debug/browser-runner.d.ts.map +1 -0
- package/dist/debug/browser-runner.js +196 -0
- package/dist/debug/browser-runner.js.map +1 -0
- package/dist/debug/collector.d.ts +9 -0
- package/dist/debug/collector.d.ts.map +1 -0
- package/dist/debug/collector.js +9 -0
- package/dist/debug/collector.js.map +1 -0
- package/dist/debug/diff.d.ts +48 -0
- package/dist/debug/diff.d.ts.map +1 -0
- package/dist/debug/diff.js +68 -0
- package/dist/debug/diff.js.map +1 -0
- package/dist/debug/harness.d.ts +11 -0
- package/dist/debug/harness.d.ts.map +1 -0
- package/dist/debug/harness.js +103 -0
- package/dist/debug/harness.js.map +1 -0
- package/dist/debug/index.d.ts +17 -0
- package/dist/debug/index.d.ts.map +1 -0
- package/dist/debug/index.js +16 -0
- package/dist/debug/index.js.map +1 -0
- package/dist/debug/markdown.d.ts +3 -0
- package/dist/debug/markdown.d.ts.map +1 -0
- package/dist/debug/markdown.js +127 -0
- package/dist/debug/markdown.js.map +1 -0
- package/dist/debug/server-runner.d.ts +24 -0
- package/dist/debug/server-runner.d.ts.map +1 -0
- package/dist/debug/server-runner.js +197 -0
- package/dist/debug/server-runner.js.map +1 -0
- package/dist/debug/target.d.ts +34 -0
- package/dist/debug/target.d.ts.map +1 -0
- package/dist/debug/target.js +104 -0
- package/dist/debug/target.js.map +1 -0
- package/dist/debug/trace.d.ts +30 -0
- package/dist/debug/trace.d.ts.map +1 -0
- package/dist/debug/trace.js +87 -0
- package/dist/debug/trace.js.map +1 -0
- package/dist/debug/types.d.ts +82 -0
- package/dist/debug/types.d.ts.map +1 -0
- package/dist/debug/types.js +13 -0
- package/dist/debug/types.js.map +1 -0
- package/dist/debug/verdict.d.ts +3 -0
- package/dist/debug/verdict.d.ts.map +1 -0
- package/dist/debug/verdict.js +78 -0
- package/dist/debug/verdict.js.map +1 -0
- package/dist/debug/watch.d.ts +23 -0
- package/dist/debug/watch.d.ts.map +1 -0
- package/dist/debug/watch.js +68 -0
- package/dist/debug/watch.js.map +1 -0
- package/dist/diagnose.d.ts +139 -0
- package/dist/diagnose.d.ts.map +1 -0
- package/dist/diagnose.js +418 -0
- package/dist/diagnose.js.map +1 -0
- package/dist/evals/graph-runner.d.ts +8 -0
- package/dist/evals/graph-runner.d.ts.map +1 -0
- package/dist/evals/graph-runner.js +136 -0
- package/dist/evals/graph-runner.js.map +1 -0
- package/dist/harness/capability-coverage.d.ts +161 -0
- package/dist/harness/capability-coverage.d.ts.map +1 -0
- package/dist/harness/capability-coverage.js +266 -0
- package/dist/harness/capability-coverage.js.map +1 -0
- package/dist/harness/capability-table.d.ts +17 -0
- package/dist/harness/capability-table.d.ts.map +1 -0
- package/dist/harness/capability-table.js +3844 -0
- package/dist/harness/capability-table.js.map +1 -0
- package/dist/harness/changed-files.d.ts +20 -0
- package/dist/harness/changed-files.d.ts.map +1 -0
- package/dist/harness/changed-files.js +90 -0
- package/dist/harness/changed-files.js.map +1 -0
- package/dist/harness/declared-capabilities.d.ts +12 -0
- package/dist/harness/declared-capabilities.d.ts.map +1 -0
- package/dist/harness/declared-capabilities.js +21 -0
- package/dist/harness/declared-capabilities.js.map +1 -0
- package/dist/harness/registry.d.ts +190 -0
- package/dist/harness/registry.d.ts.map +1 -0
- package/dist/harness/registry.js +2034 -0
- package/dist/harness/registry.js.map +1 -0
- package/dist/index.js +122 -131
- package/dist/index.js.map +1 -1
- package/dist/interaction-script.d.ts +40 -0
- package/dist/interaction-script.d.ts.map +1 -0
- package/dist/interaction-script.js +96 -0
- package/dist/interaction-script.js.map +1 -0
- package/dist/js-script-debug/harness.d.ts +124 -0
- package/dist/js-script-debug/harness.d.ts.map +1 -0
- package/dist/js-script-debug/harness.js +230 -0
- package/dist/js-script-debug/harness.js.map +1 -0
- package/dist/js-script-debug/index.d.ts +9 -0
- package/dist/js-script-debug/index.d.ts.map +1 -0
- package/dist/js-script-debug/index.js +9 -0
- package/dist/js-script-debug/index.js.map +1 -0
- package/dist/js-script-debug/interactions.d.ts +19 -0
- package/dist/js-script-debug/interactions.d.ts.map +1 -0
- package/dist/js-script-debug/interactions.js +17 -0
- package/dist/js-script-debug/interactions.js.map +1 -0
- package/dist/js-script-debug/target.d.ts +20 -0
- package/dist/js-script-debug/target.d.ts.map +1 -0
- package/dist/js-script-debug/target.js +78 -0
- package/dist/js-script-debug/target.js.map +1 -0
- package/dist/local-model-interfaces.d.ts +20 -0
- package/dist/local-model-interfaces.d.ts.map +1 -0
- package/dist/local-model-interfaces.js +41 -0
- package/dist/local-model-interfaces.js.map +1 -0
- package/dist/local-secrets.d.ts +3 -0
- package/dist/local-secrets.d.ts.map +1 -0
- package/dist/local-secrets.js +16 -0
- package/dist/local-secrets.js.map +1 -0
- package/dist/markdown.d.ts.map +1 -1
- package/dist/markdown.js +7 -2
- package/dist/markdown.js.map +1 -1
- package/dist/node/run-node.d.ts +28 -0
- package/dist/node/run-node.d.ts.map +1 -0
- package/dist/node/run-node.js +76 -0
- package/dist/node/run-node.js.map +1 -0
- package/dist/node-registry.d.ts +27 -0
- package/dist/node-registry.d.ts.map +1 -0
- package/dist/node-registry.js +33 -0
- package/dist/node-registry.js.map +1 -0
- package/dist/nodetool-main.d.ts +15 -0
- package/dist/nodetool-main.d.ts.map +1 -0
- package/dist/nodetool-main.js +1368 -0
- package/dist/nodetool-main.js.map +1 -0
- package/dist/nodetool.d.ts +0 -13
- package/dist/nodetool.d.ts.map +1 -1
- package/dist/nodetool.js +17 -1147
- package/dist/nodetool.js.map +1 -1
- package/dist/numeric-options.d.ts +22 -0
- package/dist/numeric-options.d.ts.map +1 -0
- package/dist/numeric-options.js +45 -0
- package/dist/numeric-options.js.map +1 -0
- package/dist/permission-gate.d.ts +55 -0
- package/dist/permission-gate.d.ts.map +1 -0
- package/dist/permission-gate.js +118 -0
- package/dist/permission-gate.js.map +1 -0
- package/dist/predicates.d.ts +6 -0
- package/dist/predicates.d.ts.map +1 -0
- package/dist/predicates.js +6 -0
- package/dist/predicates.js.map +1 -0
- package/dist/providers.d.ts +73 -10
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +339 -97
- package/dist/providers.js.map +1 -1
- package/dist/readline-input.d.ts +13 -19
- package/dist/readline-input.d.ts.map +1 -1
- package/dist/readline-input.js +201 -190
- package/dist/readline-input.js.map +1 -1
- package/dist/run-budget.d.ts +40 -0
- package/dist/run-budget.d.ts.map +1 -0
- package/dist/run-budget.js +119 -0
- package/dist/run-budget.js.map +1 -0
- package/dist/run-dsl-supervised.d.ts +11 -0
- package/dist/run-dsl-supervised.d.ts.map +1 -0
- package/dist/run-dsl-supervised.js +82 -0
- package/dist/run-dsl-supervised.js.map +1 -0
- package/dist/run-dsl.d.ts +29 -0
- package/dist/run-dsl.d.ts.map +1 -1
- package/dist/run-dsl.js +44 -10
- package/dist/run-dsl.js.map +1 -1
- package/dist/run-json.d.ts +24 -0
- package/dist/run-json.d.ts.map +1 -0
- package/dist/run-json.js +132 -0
- package/dist/run-json.js.map +1 -0
- package/dist/sandbox-catalog.d.ts +24 -0
- package/dist/sandbox-catalog.d.ts.map +1 -0
- package/dist/sandbox-catalog.js +78 -0
- package/dist/sandbox-catalog.js.map +1 -0
- package/dist/settings.d.ts +11 -10
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +71 -13
- package/dist/settings.js.map +1 -1
- package/dist/sketch-debug/harness.d.ts +87 -0
- package/dist/sketch-debug/harness.d.ts.map +1 -0
- package/dist/sketch-debug/harness.js +145 -0
- package/dist/sketch-debug/harness.js.map +1 -0
- package/dist/sketch-debug/index.d.ts +9 -0
- package/dist/sketch-debug/index.d.ts.map +1 -0
- package/dist/sketch-debug/index.js +9 -0
- package/dist/sketch-debug/index.js.map +1 -0
- package/dist/sketch-debug/interactions.d.ts +19 -0
- package/dist/sketch-debug/interactions.d.ts.map +1 -0
- package/dist/sketch-debug/interactions.js +17 -0
- package/dist/sketch-debug/interactions.js.map +1 -0
- package/dist/sketch-debug/target.d.ts +48 -0
- package/dist/sketch-debug/target.d.ts.map +1 -0
- package/dist/sketch-debug/target.js +138 -0
- package/dist/sketch-debug/target.js.map +1 -0
- package/dist/stdin.d.ts +18 -19
- package/dist/stdin.d.ts.map +1 -1
- package/dist/stdin.js +160 -157
- package/dist/stdin.js.map +1 -1
- package/dist/supervisor.d.ts +97 -0
- package/dist/supervisor.d.ts.map +1 -0
- package/dist/supervisor.js +194 -0
- package/dist/supervisor.js.map +1 -0
- package/dist/terminal-clipboard.d.ts +3 -0
- package/dist/terminal-clipboard.d.ts.map +1 -0
- package/dist/terminal-clipboard.js +24 -0
- package/dist/terminal-clipboard.js.map +1 -0
- package/dist/terminal-mouse.d.ts +24 -0
- package/dist/terminal-mouse.d.ts.map +1 -0
- package/dist/terminal-mouse.js +84 -0
- package/dist/terminal-mouse.js.map +1 -0
- package/dist/terminal-screen.d.ts +41 -0
- package/dist/terminal-screen.d.ts.map +1 -0
- package/dist/terminal-screen.js +228 -0
- package/dist/terminal-screen.js.map +1 -0
- package/dist/timeline-debug/harness.d.ts +79 -0
- package/dist/timeline-debug/harness.d.ts.map +1 -0
- package/dist/timeline-debug/harness.js +122 -0
- package/dist/timeline-debug/harness.js.map +1 -0
- package/dist/timeline-debug/index.d.ts +9 -0
- package/dist/timeline-debug/index.d.ts.map +1 -0
- package/dist/timeline-debug/index.js +9 -0
- package/dist/timeline-debug/index.js.map +1 -0
- package/dist/timeline-debug/interactions.d.ts +19 -0
- package/dist/timeline-debug/interactions.d.ts.map +1 -0
- package/dist/timeline-debug/interactions.js +17 -0
- package/dist/timeline-debug/interactions.js.map +1 -0
- package/dist/timeline-debug/target.d.ts +34 -0
- package/dist/timeline-debug/target.d.ts.map +1 -0
- package/dist/timeline-debug/target.js +132 -0
- package/dist/timeline-debug/target.js.map +1 -0
- package/dist/tool-format.d.ts +54 -0
- package/dist/tool-format.d.ts.map +1 -0
- package/dist/tool-format.js +360 -0
- package/dist/tool-format.js.map +1 -0
- package/dist/useExecutionState.d.ts.map +1 -1
- package/dist/useExecutionState.js +8 -4
- package/dist/useExecutionState.js.map +1 -1
- package/dist/validate/index.d.ts +28 -0
- package/dist/validate/index.d.ts.map +1 -0
- package/dist/validate/index.js +51 -0
- package/dist/validate/index.js.map +1 -0
- package/dist/websocket-client.d.ts +78 -15
- package/dist/websocket-client.d.ts.map +1 -1
- package/dist/websocket-client.js +497 -171
- package/dist/websocket-client.js.map +1 -1
- package/package.json +65 -31
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `nodetool jtbd` — run the jobs an agent is asked to get done, and review how
|
|
3
|
+
* the runs went.
|
|
4
|
+
*
|
|
5
|
+
* Three subcommands, one loop:
|
|
6
|
+
*
|
|
7
|
+
* list what jobs exist, what they cross, how hard they are meant to be
|
|
8
|
+
* run drive a model through them and write a bundle per run
|
|
9
|
+
* optimize read those bundles back and propose a fix per run
|
|
10
|
+
*
|
|
11
|
+
* `run` and `optimize` are separate commands rather than one flag because the
|
|
12
|
+
* bundle is the handoff. A run costs model time and produces a record worth
|
|
13
|
+
* keeping; reviewing it is a different model, a different prompt, and often a
|
|
14
|
+
* different day. Splitting them means a bundle can be re-reviewed with a better
|
|
15
|
+
* optimizer without paying for the runs again — and that a human can read the
|
|
16
|
+
* transcript before any model proposes anything.
|
|
17
|
+
*
|
|
18
|
+
* `optimize` writes proposals into the bundle. It changes no prompt and no
|
|
19
|
+
* tool; see `packages/agents/src/jtbd/optimize.ts` for why.
|
|
20
|
+
*/
|
|
21
|
+
import { mkdir, readFile, readdir, writeFile } from "node:fs/promises";
|
|
22
|
+
import { join, resolve } from "node:path";
|
|
23
|
+
import { parseNumericOption } from "../numeric-options.js";
|
|
24
|
+
const DEFAULT_OUT = "nodetool-debug/jtbd";
|
|
25
|
+
const defaultDeps = {
|
|
26
|
+
loadAgents: () => import("@nodetool-ai/agents"),
|
|
27
|
+
loadProviders: () => import("../providers.js")
|
|
28
|
+
};
|
|
29
|
+
const slug = (text) => text.replace(/[^a-zA-Z0-9_-]+/g, "-").replace(/^-|-$/g, "");
|
|
30
|
+
async function listJobs(opts, deps) {
|
|
31
|
+
const { JOBS_TO_BE_DONE } = await deps.loadAgents();
|
|
32
|
+
if (opts.json) {
|
|
33
|
+
console.log(JSON.stringify(JOBS_TO_BE_DONE.map((job) => ({
|
|
34
|
+
id: job.id,
|
|
35
|
+
statement: job.statement,
|
|
36
|
+
surfaces: job.surfaces,
|
|
37
|
+
difficulty: job.difficulty,
|
|
38
|
+
objective: job.objective,
|
|
39
|
+
outcomes: job.outcomeNames,
|
|
40
|
+
expectedToolCalls: job.expectedToolCalls
|
|
41
|
+
})), null, 2));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
for (const job of JOBS_TO_BE_DONE) {
|
|
45
|
+
console.log(`${job.id} [${job.difficulty}] ${job.surfaces.join(", ")}`);
|
|
46
|
+
console.log(` ${job.statement}`);
|
|
47
|
+
console.log(` outcomes: ${job.outcomeNames.join(", ")}`);
|
|
48
|
+
console.log("");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* One directory per run, holding the report, the transcript on its own (so a
|
|
53
|
+
* person can read it without wading through JSON), and the friction. The
|
|
54
|
+
* transcript is the artifact the whole loop exists to produce, so it gets its
|
|
55
|
+
* own file rather than living only as a field.
|
|
56
|
+
*/
|
|
57
|
+
async function writeRunBundle(dir, report, deps) {
|
|
58
|
+
const runDir = join(dir, slug(report.jobId));
|
|
59
|
+
await mkdir(runDir, { recursive: true });
|
|
60
|
+
await writeFile(join(runDir, "report.json"), JSON.stringify(report, null, 2), "utf-8");
|
|
61
|
+
const { renderRunForReview } = await deps.loadAgents();
|
|
62
|
+
await writeFile(join(runDir, "review.md"), renderRunForReview(report), "utf-8");
|
|
63
|
+
return runDir;
|
|
64
|
+
}
|
|
65
|
+
async function runJobs(opts, initializeSecrets, deps) {
|
|
66
|
+
if (!opts.provider || !opts.model) {
|
|
67
|
+
console.error("--provider and --model are required");
|
|
68
|
+
process.exitCode = 1;
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
await initializeSecrets();
|
|
72
|
+
const [agents, providersMod] = await Promise.all([
|
|
73
|
+
deps.loadAgents(),
|
|
74
|
+
deps.loadProviders()
|
|
75
|
+
]);
|
|
76
|
+
const { JOBS_TO_BE_DONE, runJobSuite } = agents;
|
|
77
|
+
const ids = opts.jobs
|
|
78
|
+
?.split(",")
|
|
79
|
+
.map((s) => s.trim())
|
|
80
|
+
.filter(Boolean);
|
|
81
|
+
const jobs = ids === undefined
|
|
82
|
+
? JOBS_TO_BE_DONE
|
|
83
|
+
: JOBS_TO_BE_DONE.filter((job) => ids.includes(job.id));
|
|
84
|
+
if (jobs.length === 0) {
|
|
85
|
+
console.error(`No jobs matched ${ids?.join(", ") ?? "(none)"}`);
|
|
86
|
+
process.exitCode = 1;
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const provider = await providersMod.createProviderStrict(opts.provider);
|
|
90
|
+
const providers = opts.findModel === false
|
|
91
|
+
? undefined
|
|
92
|
+
: await providersMod.buildConfiguredProviders();
|
|
93
|
+
const runOptions = {
|
|
94
|
+
provider,
|
|
95
|
+
model: opts.model,
|
|
96
|
+
jobs,
|
|
97
|
+
onEvent: (line) => {
|
|
98
|
+
if (!opts.json)
|
|
99
|
+
console.log(line);
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
if (providers !== undefined)
|
|
103
|
+
runOptions.providers = providers;
|
|
104
|
+
if (opts.maxIterations !== undefined) {
|
|
105
|
+
runOptions.maxIterations = parseNumericOption(opts.maxIterations, "--max-iterations", { integer: true, min: 1 });
|
|
106
|
+
}
|
|
107
|
+
const report = await runJobSuite(runOptions);
|
|
108
|
+
const outDir = resolve(opts.out ?? DEFAULT_OUT);
|
|
109
|
+
await mkdir(outDir, { recursive: true });
|
|
110
|
+
for (const run of report.jobs) {
|
|
111
|
+
if (run.skipped)
|
|
112
|
+
continue;
|
|
113
|
+
await writeRunBundle(outDir, run, deps);
|
|
114
|
+
}
|
|
115
|
+
await writeFile(join(outDir, "suite.json"), JSON.stringify(report, null, 2), "utf-8");
|
|
116
|
+
if (opts.json) {
|
|
117
|
+
console.log(JSON.stringify(report, null, 2));
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
printSuite(report, outDir);
|
|
121
|
+
}
|
|
122
|
+
if (opts.minAchieved !== undefined) {
|
|
123
|
+
const threshold = parseNumericOption(opts.minAchieved, "--min-achieved", {
|
|
124
|
+
min: 0,
|
|
125
|
+
max: 1
|
|
126
|
+
});
|
|
127
|
+
if (report.summary.achievementRate < threshold) {
|
|
128
|
+
console.error(`Achievement rate ${report.summary.achievementRate.toFixed(2)} is below --min-achieved ${threshold}`);
|
|
129
|
+
process.exitCode = 1;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
function printSuite(report, outDir) {
|
|
134
|
+
const { summary } = report;
|
|
135
|
+
console.log("");
|
|
136
|
+
console.log(`${report.provider}/${report.model}`);
|
|
137
|
+
for (const run of report.jobs) {
|
|
138
|
+
if (run.skipped) {
|
|
139
|
+
console.log(` ‑ ${run.jobId}: skipped (needs model providers)`);
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
const failed = run.outcomes.filter((o) => !o.passed).map((o) => o.name);
|
|
143
|
+
console.log(` ${run.achieved ? "✔" : "✘"} ${run.jobId}: ${run.totalToolCalls} calls` +
|
|
144
|
+
(failed.length > 0 ? `, missed ${failed.join(", ")}` : ""));
|
|
145
|
+
for (const signal of run.friction) {
|
|
146
|
+
console.log(` ⚠ [${signal.owner}] ${signal.summary}`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
console.log("");
|
|
150
|
+
console.log(`achieved ${summary.achieved}/${summary.total - summary.skipped}` +
|
|
151
|
+
` (${(summary.achievementRate * 100).toFixed(0)}%)` +
|
|
152
|
+
` friction: ${summary.frictionByOwner.harness} harness,` +
|
|
153
|
+
` ${summary.frictionByOwner.prompt} prompt,` +
|
|
154
|
+
` ${summary.frictionByOwner.unattributed} unattributed` +
|
|
155
|
+
` $${summary.totalCostUsd.toFixed(4)}`);
|
|
156
|
+
console.log(`bundle: ${outDir}`);
|
|
157
|
+
}
|
|
158
|
+
/** Every `report.json` under the bundle directory, one per job run. */
|
|
159
|
+
async function loadRunReports(dir) {
|
|
160
|
+
const entries = await readdir(dir, { withFileTypes: true });
|
|
161
|
+
const reports = [];
|
|
162
|
+
for (const entry of entries) {
|
|
163
|
+
if (!entry.isDirectory())
|
|
164
|
+
continue;
|
|
165
|
+
const path = join(dir, entry.name, "report.json");
|
|
166
|
+
try {
|
|
167
|
+
reports.push(JSON.parse(await readFile(path, "utf-8")));
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
// A directory without a readable report is not a run bundle. Skipping it
|
|
171
|
+
// is right: the bundle dir is a normal folder a user may keep notes in.
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return reports;
|
|
175
|
+
}
|
|
176
|
+
async function optimizeRuns(opts, initializeSecrets, deps) {
|
|
177
|
+
if (!opts.provider || !opts.model) {
|
|
178
|
+
console.error("--provider and --model are required");
|
|
179
|
+
process.exitCode = 1;
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
await initializeSecrets();
|
|
183
|
+
const dir = resolve(opts.bundle ?? DEFAULT_OUT);
|
|
184
|
+
const reports = await loadRunReports(dir);
|
|
185
|
+
if (reports.length === 0) {
|
|
186
|
+
console.error(`No run bundles found under ${dir} — run \`nodetool jtbd run\` first`);
|
|
187
|
+
process.exitCode = 1;
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
const [{ optimizeFromRun }, providersMod] = await Promise.all([
|
|
191
|
+
deps.loadAgents(),
|
|
192
|
+
deps.loadProviders()
|
|
193
|
+
]);
|
|
194
|
+
const provider = await providersMod.createProviderStrict(opts.provider);
|
|
195
|
+
const selected = opts.all === true ? reports : reports.filter((r) => !r.achieved || r.friction.length > 0);
|
|
196
|
+
if (selected.length === 0) {
|
|
197
|
+
console.log("Every run was clean — nothing to review. Use --all to review anyway.");
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
const results = [];
|
|
201
|
+
for (const report of selected) {
|
|
202
|
+
if (!opts.json)
|
|
203
|
+
console.log(`▶ reviewing ${report.jobId}`);
|
|
204
|
+
const optimization = await optimizeFromRun(report, {
|
|
205
|
+
provider,
|
|
206
|
+
model: opts.model
|
|
207
|
+
});
|
|
208
|
+
results.push(optimization);
|
|
209
|
+
await writeFile(join(dir, slug(report.jobId), "proposals.json"), JSON.stringify(optimization, null, 2), "utf-8");
|
|
210
|
+
if (opts.json)
|
|
211
|
+
continue;
|
|
212
|
+
if (optimization.error !== undefined) {
|
|
213
|
+
console.log(` ! review failed: ${optimization.error}`);
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
if (optimization.proposals.length === 0) {
|
|
217
|
+
console.log(" (nothing worth changing)");
|
|
218
|
+
}
|
|
219
|
+
for (const proposal of optimization.proposals) {
|
|
220
|
+
console.log(` [${proposal.owner}] ${proposal.target} (confidence ${proposal.confidence.toFixed(2)})`);
|
|
221
|
+
console.log(` ${proposal.diagnosis}`);
|
|
222
|
+
console.log(` → ${proposal.change}`);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (opts.json)
|
|
226
|
+
console.log(JSON.stringify(results, null, 2));
|
|
227
|
+
else
|
|
228
|
+
console.log(`\nproposals written under ${dir}`);
|
|
229
|
+
}
|
|
230
|
+
export function registerJtbdCommand(program, initializeSecrets, deps = defaultDeps) {
|
|
231
|
+
const cmd = program
|
|
232
|
+
.command("jtbd")
|
|
233
|
+
.description("Jobs to be done: run end-to-end agent jobs, record the transcripts, and review how they went");
|
|
234
|
+
cmd
|
|
235
|
+
.command("list")
|
|
236
|
+
.description("List the jobs, the surfaces they cross, and their outcomes")
|
|
237
|
+
.option("--json", "Print as JSON")
|
|
238
|
+
.action((opts) => listJobs(opts, deps));
|
|
239
|
+
cmd
|
|
240
|
+
.command("run")
|
|
241
|
+
.description("Drive a model through the jobs and write a bundle per run")
|
|
242
|
+
.option("-p, --provider <id>", "Provider id (anthropic, openai, ollama, ...)")
|
|
243
|
+
.option("-m, --model <id>", "Model id for the provider")
|
|
244
|
+
.option("--jobs <ids>", "Comma-separated job ids (default: all; see list)")
|
|
245
|
+
.option("--out <dir>", `Bundle directory (default ${DEFAULT_OUT})`)
|
|
246
|
+
.option("--max-iterations <n>", "Turn cap per job when the job declares none")
|
|
247
|
+
.option("--min-achieved <rate>", "Exit non-zero when the achievement rate is below this threshold (0..1)")
|
|
248
|
+
.option("--no-find-model", "Run without configured model providers")
|
|
249
|
+
.option("--json", "Print the full report as JSON")
|
|
250
|
+
.action((opts) => runJobs(opts, initializeSecrets, deps));
|
|
251
|
+
cmd
|
|
252
|
+
.command("optimize")
|
|
253
|
+
.description("Review recorded runs and propose a harness or prompt fix per run (writes proposals; changes nothing)")
|
|
254
|
+
.option("-p, --provider <id>", "Reviewing provider — use a different one than ran the jobs")
|
|
255
|
+
.option("-m, --model <id>", "Reviewing model id")
|
|
256
|
+
.option("--bundle <dir>", `Bundle directory to review (default ${DEFAULT_OUT})`)
|
|
257
|
+
.option("--all", "Review clean runs too, not just failures and friction")
|
|
258
|
+
.option("--json", "Print the proposals as JSON")
|
|
259
|
+
.action((opts) => optimizeRuns(opts, initializeSecrets, deps));
|
|
260
|
+
}
|
|
261
|
+
//# sourceMappingURL=jtbd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jtbd.js","sourceRoot":"","sources":["../../src/commands/jtbd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local single-user DB bootstrap for CLI commands that run in-process rather
|
|
3
|
+
* than against a running server. Mirrors the `setupDb` in nodetool.ts (secrets
|
|
4
|
+
* commands) without pulling in the heavy deploy stack.
|
|
5
|
+
*/
|
|
6
|
+
/** Local single-user id used across the TS stack. */
|
|
7
|
+
export declare const LOCAL_USER_ID = "1";
|
|
8
|
+
/**
|
|
9
|
+
* Initialize the local SQLite DB and best-effort unlock the secret store
|
|
10
|
+
* (needed for any provider that resolves API keys, e.g. embeddings). If the
|
|
11
|
+
* store can't be unlocked it warns to stderr and still resolves — a command
|
|
12
|
+
* that then needs a secret fails at that later point, so the DB stays usable
|
|
13
|
+
* for commands that don't. Idempotent.
|
|
14
|
+
*/
|
|
15
|
+
export declare function setupLocalDb(): Promise<void>;
|
|
16
|
+
//# sourceMappingURL=local-db.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-db.d.ts","sourceRoot":"","sources":["../../src/commands/local-db.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,qDAAqD;AACrD,eAAO,MAAM,aAAa,MAAM,CAAC;AAIjC;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAc5C"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local single-user DB bootstrap for CLI commands that run in-process rather
|
|
3
|
+
* than against a running server. Mirrors the `setupDb` in nodetool.ts (secrets
|
|
4
|
+
* commands) without pulling in the heavy deploy stack.
|
|
5
|
+
*/
|
|
6
|
+
import { initDb } from "@nodetool-ai/models";
|
|
7
|
+
import { initMasterKey } from "@nodetool-ai/security";
|
|
8
|
+
import { getDefaultDbPath } from "@nodetool-ai/config";
|
|
9
|
+
/** Local single-user id used across the TS stack. */
|
|
10
|
+
export const LOCAL_USER_ID = "1";
|
|
11
|
+
let ready = null;
|
|
12
|
+
/**
|
|
13
|
+
* Initialize the local SQLite DB and best-effort unlock the secret store
|
|
14
|
+
* (needed for any provider that resolves API keys, e.g. embeddings). If the
|
|
15
|
+
* store can't be unlocked it warns to stderr and still resolves — a command
|
|
16
|
+
* that then needs a secret fails at that later point, so the DB stays usable
|
|
17
|
+
* for commands that don't. Idempotent.
|
|
18
|
+
*/
|
|
19
|
+
export function setupLocalDb() {
|
|
20
|
+
ready ??= (async () => {
|
|
21
|
+
initDb(getDefaultDbPath());
|
|
22
|
+
try {
|
|
23
|
+
await initMasterKey();
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
27
|
+
process.stderr.write(`Could not unlock the secret store: ${msg}\n` +
|
|
28
|
+
`Tip: set SECRETS_MASTER_KEY or grant keychain access.\n`);
|
|
29
|
+
}
|
|
30
|
+
})();
|
|
31
|
+
return ready;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=local-db.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-db.js","sourceRoot":"","sources":["../../src/commands/local-db.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qDAAqD;AACrD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AAEjC,IAAI,KAAK,GAAyB,IAAI,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,YAAY;IAC1B,KAAK,KAAK,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,aAAa,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sCAAsC,GAAG,IAAI;gBAC3C,yDAAyD,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `nodetool mcp install | uninstall | status | config` — register NodeTool as
|
|
3
|
+
* an MCP server in local agent harnesses. `nodetool mcp serve` stays in
|
|
4
|
+
* nodetool.ts, beside the node registry setup it needs.
|
|
5
|
+
*/
|
|
6
|
+
import type { Command } from "commander";
|
|
7
|
+
import type { McpLaunch } from "@nodetool-ai/websocket/mcp-client-config";
|
|
8
|
+
interface LaunchOptions {
|
|
9
|
+
http?: boolean;
|
|
10
|
+
url?: string;
|
|
11
|
+
npx?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* `--http` or `--url` selects the HTTP transport. Otherwise the client starts
|
|
15
|
+
* `nodetool mcp serve` itself: through the installed CLI when it is on PATH,
|
|
16
|
+
* or through `npx` when it is not.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveLaunch(opts: LaunchOptions): Promise<McpLaunch>;
|
|
19
|
+
export declare function registerMcpClientCommands(mcp: Command): void;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAEV,SAAS,EACV,MAAM,0CAA0C,CAAC;AAKlD,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAYD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAM3E;AAyCD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAgK5D"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { homedir } from "node:os";
|
|
2
|
+
import { printTable } from "./output.js";
|
|
3
|
+
const DEFAULT_HTTP_URL = "http://127.0.0.1:7777/mcp";
|
|
4
|
+
const loadConfig = () => import("@nodetool-ai/websocket/mcp-client-config");
|
|
5
|
+
/**
|
|
6
|
+
* `--http` or `--url` selects the HTTP transport. Otherwise the client starts
|
|
7
|
+
* `nodetool mcp serve` itself: through the installed CLI when it is on PATH,
|
|
8
|
+
* or through `npx` when it is not.
|
|
9
|
+
*/
|
|
10
|
+
export async function resolveLaunch(opts) {
|
|
11
|
+
if (opts.http || opts.url) {
|
|
12
|
+
return { transport: "http", url: opts.url ?? DEFAULT_HTTP_URL };
|
|
13
|
+
}
|
|
14
|
+
const { hasNodetoolCli, stdioLaunch } = await loadConfig();
|
|
15
|
+
return stdioLaunch({ npx: opts.npx === true || !hasNodetoolCli() });
|
|
16
|
+
}
|
|
17
|
+
function selectedTargets(opts) {
|
|
18
|
+
return ["claude", "codex", "opencode"].filter((id) => opts[id]);
|
|
19
|
+
}
|
|
20
|
+
function addTargetOptions(command, verb) {
|
|
21
|
+
return command
|
|
22
|
+
.option("--claude", `${verb} Claude Code`)
|
|
23
|
+
.option("--codex", `${verb} Codex`)
|
|
24
|
+
.option("--opencode", `${verb} OpenCode`);
|
|
25
|
+
}
|
|
26
|
+
function addLaunchOptions(command) {
|
|
27
|
+
return command
|
|
28
|
+
.option("--npx", "Launch through npx even when the nodetool CLI is on PATH")
|
|
29
|
+
.option("--http", `Connect to a running NodeTool server over HTTP (${DEFAULT_HTTP_URL})`)
|
|
30
|
+
.option("--url <url>", "Connect over HTTP to this MCP URL");
|
|
31
|
+
}
|
|
32
|
+
function printNextSteps(labels, launch) {
|
|
33
|
+
console.log("\nNext:");
|
|
34
|
+
console.log(` 1. Restart ${labels.join(", ")} to load the server.`);
|
|
35
|
+
console.log(' 2. Ask the agent: "Use NodeTool to list my workflows."');
|
|
36
|
+
console.log(" 3. Store provider keys once: nodetool secrets store OPENAI_API_KEY");
|
|
37
|
+
if (launch.transport === "http") {
|
|
38
|
+
console.log("\nAn HTTP entry works only while NodeTool runs (Studio or nodetool serve).");
|
|
39
|
+
}
|
|
40
|
+
console.log();
|
|
41
|
+
}
|
|
42
|
+
export function registerMcpClientCommands(mcp) {
|
|
43
|
+
addLaunchOptions(addTargetOptions(mcp
|
|
44
|
+
.command("install")
|
|
45
|
+
.description("Register NodeTool with Claude Code, Codex, and OpenCode. " +
|
|
46
|
+
"Without a target flag, installs for every client found on this machine."), "Install for"))
|
|
47
|
+
.option("--no-verify", "Write the config without starting the server first")
|
|
48
|
+
.action(async (opts) => {
|
|
49
|
+
const { MCP_CLIENT_IDS, MCP_CLIENT_LABELS, describeLaunch, isMcpClientPresent, probeMcpLaunch, writeMcpClientEntry } = await loadConfig();
|
|
50
|
+
const home = homedir();
|
|
51
|
+
const launch = await resolveLaunch(opts);
|
|
52
|
+
let targets = selectedTargets(opts);
|
|
53
|
+
if (targets.length === 0) {
|
|
54
|
+
targets = MCP_CLIENT_IDS.filter((id) => isMcpClientPresent(id, home));
|
|
55
|
+
}
|
|
56
|
+
if (targets.length === 0) {
|
|
57
|
+
console.error("No Claude Code, Codex, or OpenCode installation found.\n" +
|
|
58
|
+
"Pick one with --claude, --codex, or --opencode, or print a config " +
|
|
59
|
+
"for another client with: nodetool mcp config");
|
|
60
|
+
process.exitCode = 1;
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
console.log(`\nNodeTool MCP server: ${describeLaunch(launch)}`);
|
|
64
|
+
if (opts.verify) {
|
|
65
|
+
console.log("Starting the server to check it…");
|
|
66
|
+
try {
|
|
67
|
+
const probe = await probeMcpLaunch(launch);
|
|
68
|
+
console.log(`Verified: ${probe.tools.length} tools in ${(probe.elapsedMs / 1000).toFixed(1)}s`);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
console.error(`\nThe server did not start: ${error instanceof Error ? error.message : String(error)}\n` +
|
|
72
|
+
(launch.transport === "http"
|
|
73
|
+
? "Start NodeTool (Studio or nodetool serve), or install the stdio server without --http."
|
|
74
|
+
: "Fix the error above, or skip this check with --no-verify."));
|
|
75
|
+
process.exitCode = 1;
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const results = targets.map((id) => {
|
|
80
|
+
try {
|
|
81
|
+
const path = writeMcpClientEntry(id, launch, home);
|
|
82
|
+
return { target: MCP_CLIENT_LABELS[id], status: `Installed → ${path}` };
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
process.exitCode = 1;
|
|
86
|
+
return { target: MCP_CLIENT_LABELS[id], status: `Error: ${String(error)}` };
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
console.log();
|
|
90
|
+
printTable(results);
|
|
91
|
+
printNextSteps(targets.map((id) => MCP_CLIENT_LABELS[id]), launch);
|
|
92
|
+
});
|
|
93
|
+
addTargetOptions(mcp
|
|
94
|
+
.command("uninstall")
|
|
95
|
+
.description("Remove the NodeTool MCP server from agent harness configs"), "Uninstall from").action(async (opts) => {
|
|
96
|
+
const { MCP_CLIENT_IDS, MCP_CLIENT_LABELS, removeMcpClientEntry } = await loadConfig();
|
|
97
|
+
const home = homedir();
|
|
98
|
+
const selected = selectedTargets(opts);
|
|
99
|
+
const targets = selected.length > 0 ? selected : [...MCP_CLIENT_IDS];
|
|
100
|
+
const results = targets.map((id) => {
|
|
101
|
+
try {
|
|
102
|
+
const removed = removeMcpClientEntry(id, home);
|
|
103
|
+
return {
|
|
104
|
+
target: MCP_CLIENT_LABELS[id],
|
|
105
|
+
status: removed ? "Removed" : "Not installed"
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
return { target: MCP_CLIENT_LABELS[id], status: `Error: ${String(error)}` };
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
console.log();
|
|
113
|
+
printTable(results);
|
|
114
|
+
console.log();
|
|
115
|
+
});
|
|
116
|
+
mcp
|
|
117
|
+
.command("status")
|
|
118
|
+
.description("Show where NodeTool is registered as an MCP server")
|
|
119
|
+
.option("--check", "Start each registered server and list its tools")
|
|
120
|
+
.action(async (opts) => {
|
|
121
|
+
const { MCP_CLIENT_IDS, MCP_CLIENT_LABELS, describeLaunch, isMcpClientPresent, probeMcpLaunch, readMcpClientEntry } = await loadConfig();
|
|
122
|
+
const home = homedir();
|
|
123
|
+
const rows = [];
|
|
124
|
+
for (const id of MCP_CLIENT_IDS) {
|
|
125
|
+
let launch = null;
|
|
126
|
+
let status;
|
|
127
|
+
try {
|
|
128
|
+
launch = readMcpClientEntry(id, home);
|
|
129
|
+
status = launch
|
|
130
|
+
? "Installed"
|
|
131
|
+
: isMcpClientPresent(id, home)
|
|
132
|
+
? "Not installed"
|
|
133
|
+
: "Client not found";
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
status = "Unreadable config";
|
|
137
|
+
}
|
|
138
|
+
if (launch && opts.check) {
|
|
139
|
+
try {
|
|
140
|
+
const probe = await probeMcpLaunch(launch);
|
|
141
|
+
status = `OK: ${probe.tools.length} tools`;
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
status = `Failed: ${(error instanceof Error ? error.message : String(error)).split("\n")[0]}`;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
rows.push({
|
|
148
|
+
target: MCP_CLIENT_LABELS[id],
|
|
149
|
+
status,
|
|
150
|
+
launch: launch ? describeLaunch(launch) : ""
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
console.log("\nNodeTool MCP status\n");
|
|
154
|
+
printTable(rows);
|
|
155
|
+
console.log();
|
|
156
|
+
});
|
|
157
|
+
addLaunchOptions(mcp
|
|
158
|
+
.command("config")
|
|
159
|
+
.description("Print an mcpServers JSON block for any MCP client (Cursor, Claude Desktop, Windsurf, …)")).action(async (opts) => {
|
|
160
|
+
const { mcpServersSnippet } = await loadConfig();
|
|
161
|
+
console.log(mcpServersSnippet(await resolveLaunch(opts)));
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
interface MigrateCodeInputsOptions {
|
|
2
|
+
dryRun?: boolean;
|
|
3
|
+
/** Migrate this user's workflows instead of the local user's. */
|
|
4
|
+
userId?: string;
|
|
5
|
+
json?: boolean;
|
|
6
|
+
}
|
|
7
|
+
interface MigrateCodeInputsReport {
|
|
8
|
+
workflowsScanned: number;
|
|
9
|
+
codeNodesScanned: number;
|
|
10
|
+
nodesRewritten: number;
|
|
11
|
+
workflowsUpdated: number;
|
|
12
|
+
failed: number;
|
|
13
|
+
entries: Array<{
|
|
14
|
+
workflowId: string;
|
|
15
|
+
workflowName: string;
|
|
16
|
+
nodeId: string;
|
|
17
|
+
rewritten: string[];
|
|
18
|
+
error?: string;
|
|
19
|
+
}>;
|
|
20
|
+
}
|
|
21
|
+
export declare function migrateCodeInputs(options?: MigrateCodeInputsOptions): Promise<MigrateCodeInputsReport>;
|
|
22
|
+
export declare function formatMigrateCodeInputsReport(report: MigrateCodeInputsReport, dryRun: boolean): string;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=migrate-code-inputs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-code-inputs.d.ts","sourceRoot":"","sources":["../../src/commands/migrate-code-inputs.ts"],"names":[],"mappings":"AA2BA,UAAU,wBAAwB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,uBAAuB;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAsCD,wBAAsB,iBAAiB,CACrC,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,uBAAuB,CAAC,CAmElC;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,OAAO,GACd,MAAM,CAiBR"}
|