@nodetool-ai/cli 0.7.0-rc.23 → 0.8.1
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 +79 -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 +50 -0
- package/dist/affected/affected.d.ts.map +1 -0
- package/dist/affected/affected.js +118 -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 +27 -0
- package/dist/app-debug/harness.d.ts.map +1 -0
- package/dist/app-debug/harness.js +93 -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 +979 -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 +85 -0
- package/dist/chat-codeact.d.ts.map +1 -0
- package/dist/chat-codeact.js +141 -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 +27 -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.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/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 +327 -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 +381 -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.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/eval.d.ts +152 -0
- package/dist/commands/eval.d.ts.map +1 -0
- package/dist/commands/eval.js +688 -0
- package/dist/commands/eval.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 +395 -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 +19 -0
- package/dist/commands/harness.d.ts.map +1 -0
- package/dist/commands/harness.js +361 -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 +227 -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/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.js +2 -2
- 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/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 +117 -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 +80 -0
- package/dist/commands/timeline-render.d.ts.map +1 -0
- package/dist/commands/timeline-render.js +465 -0
- package/dist/commands/timeline-render.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 +119 -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 +22 -0
- package/dist/debug/server-runner.d.ts.map +1 -0
- package/dist/debug/server-runner.js +164 -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 +3576 -0
- package/dist/harness/capability-table.js.map +1 -0
- package/dist/harness/changed-files.d.ts +18 -0
- package/dist/harness/changed-files.d.ts.map +1 -0
- package/dist/harness/changed-files.js +76 -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 +162 -0
- package/dist/harness/registry.d.ts.map +1 -0
- package/dist/harness/registry.js +1738 -0
- package/dist/harness/registry.js.map +1 -0
- package/dist/index.js +121 -130
- package/dist/index.js.map +1 -1
- package/dist/interaction-script.d.ts +17 -0
- package/dist/interaction-script.d.ts.map +1 -0
- package/dist/interaction-script.js +47 -0
- package/dist/interaction-script.js.map +1 -0
- package/dist/js-script-debug/harness.d.ts +114 -0
- package/dist/js-script-debug/harness.d.ts.map +1 -0
- package/dist/js-script-debug/harness.js +252 -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 +64 -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 +13 -0
- package/dist/node-registry.d.ts.map +1 -0
- package/dist/node-registry.js +36 -0
- package/dist/node-registry.js.map +1 -0
- package/dist/nodetool.js +845 -309
- 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 +329 -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 +23 -0
- package/dist/run-dsl.d.ts.map +1 -1
- package/dist/run-dsl.js +40 -9
- 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 +12 -0
- package/dist/sandbox-catalog.d.ts.map +1 -0
- package/dist/sandbox-catalog.js +27 -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 +178 -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 +159 -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 +155 -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 +62 -31
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
import { HARNESSES, SURFACES, auditHarnessCoverage, isUnclaimedPath, planGate } from "../harness/registry.js";
|
|
2
|
+
import { auditCapabilityCoverage, planCapabilityMappingGate, resolveGateBaseRef } from "../harness/capability-coverage.js";
|
|
3
|
+
import { CAPABILITY_COVERAGE } from "../harness/capability-table.js";
|
|
4
|
+
import { declaredCapabilities } from "../harness/declared-capabilities.js";
|
|
5
|
+
import { readChangedFiles, isGateRelevantCodeFile } from "../harness/changed-files.js";
|
|
6
|
+
/** Sentinel exit code for a selfcheck the gate had to kill on timeout. */
|
|
7
|
+
const TIMEOUT_EXIT_CODE = 124;
|
|
8
|
+
/**
|
|
9
|
+
* How much a selfcheck may print before the gate stops buffering it.
|
|
10
|
+
*
|
|
11
|
+
* `--json` captures each selfcheck's output, and `spawnSync`'s default cap is
|
|
12
|
+
* 1 MB: past that Node kills the child and leaves a signal behind, which the
|
|
13
|
+
* gate read as a timeout. A jest leg covering a whole component tree prints
|
|
14
|
+
* more than that in warnings alone, so a passing suite was reported as
|
|
15
|
+
* "exceeded 900s" after three minutes.
|
|
16
|
+
*/
|
|
17
|
+
const SELFCHECK_MAX_BUFFER = 256 * 1024 * 1024;
|
|
18
|
+
/** Where the coverage table lives, as git sees it. */
|
|
19
|
+
const CAPABILITY_TABLE_PATH = "packages/cli/src/harness/capability-table.ts";
|
|
20
|
+
export function registerHarnessCommands(program) {
|
|
21
|
+
const harness = program
|
|
22
|
+
.command("harness")
|
|
23
|
+
.description("Harness-first engineering: inventory and coverage audit");
|
|
24
|
+
harness
|
|
25
|
+
.command("list")
|
|
26
|
+
.description("List every headless harness and its capabilities")
|
|
27
|
+
.option("--json", "Print the registry as JSON")
|
|
28
|
+
.action((opts) => {
|
|
29
|
+
if (opts.json) {
|
|
30
|
+
console.log(JSON.stringify(HARNESSES, null, 2));
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
console.log(`\n${HARNESSES.length} harnesses:\n`);
|
|
34
|
+
for (const h of HARNESSES) {
|
|
35
|
+
const caps = h.capabilities.length
|
|
36
|
+
? ` [${h.capabilities.join(", ")}]`
|
|
37
|
+
: "";
|
|
38
|
+
const tool = h.agentTool ? ` (agent tool: ${h.agentTool})` : "";
|
|
39
|
+
console.log(` ${h.id.padEnd(18)} ${h.kind.padEnd(9)} ${h.title}`);
|
|
40
|
+
console.log(` ${"".padEnd(18)} ${h.command}${caps}${tool}`);
|
|
41
|
+
console.log("");
|
|
42
|
+
}
|
|
43
|
+
console.log("Docs: docs/HARNESS_FIRST.md\n");
|
|
44
|
+
});
|
|
45
|
+
harness
|
|
46
|
+
.command("audit")
|
|
47
|
+
.description("Audit surface coverage: every surface needs a harness or a documented gap")
|
|
48
|
+
.option("--json", "Print the audit result as JSON")
|
|
49
|
+
.option("--strict", "Exit non-zero while any surface gap remains")
|
|
50
|
+
.action((opts) => {
|
|
51
|
+
const result = auditHarnessCoverage();
|
|
52
|
+
if (opts.json) {
|
|
53
|
+
console.log(JSON.stringify(result, null, 2));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
console.log(`\nSurface coverage: ${result.coveredCount}/${SURFACES.length} covered, ${result.gapCount} gap(s)\n`);
|
|
57
|
+
for (const s of result.surfaces) {
|
|
58
|
+
if (s.covered) {
|
|
59
|
+
console.log(` ok ${s.id.padEnd(20)} ${s.harnesses.join(", ")}`);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
console.log(` GAP ${s.id.padEnd(20)} ${s.title}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const gaps = result.surfaces.filter((s) => !s.covered);
|
|
66
|
+
if (gaps.length > 0) {
|
|
67
|
+
console.log("\nDocumented gaps:");
|
|
68
|
+
for (const s of gaps)
|
|
69
|
+
console.log(`\n ${s.id}: ${s.gap}`);
|
|
70
|
+
}
|
|
71
|
+
if (result.undocumentedGaps.length > 0) {
|
|
72
|
+
console.log(`\nUNDOCUMENTED gaps (no harness, no gap note): ${result.undocumentedGaps.join(", ")}`);
|
|
73
|
+
}
|
|
74
|
+
if (result.unknownHarnessRefs.length > 0) {
|
|
75
|
+
console.log(`\nUnknown harness references: ${result.unknownHarnessRefs.join(", ")}`);
|
|
76
|
+
}
|
|
77
|
+
if (result.orphanHarnesses.length > 0) {
|
|
78
|
+
console.log(`\nHarnesses no surface claims: ${result.orphanHarnesses.join(", ")}`);
|
|
79
|
+
}
|
|
80
|
+
console.log("");
|
|
81
|
+
}
|
|
82
|
+
const broken = result.undocumentedGaps.length > 0 ||
|
|
83
|
+
result.unknownHarnessRefs.length > 0;
|
|
84
|
+
if (broken || (opts.strict && result.gapCount > 0)) {
|
|
85
|
+
process.exit(1);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
harness
|
|
89
|
+
.command("capabilities")
|
|
90
|
+
.description("Audit capability coverage: every capability needs a suite, an eval case, or a gap note")
|
|
91
|
+
.option("--json", "Print the audit result as JSON")
|
|
92
|
+
.option("--strict", "Exit non-zero while any capability gap remains")
|
|
93
|
+
.action((opts) => {
|
|
94
|
+
const result = auditCapabilityCoverage(declaredCapabilities(), CAPABILITY_COVERAGE, HARNESSES);
|
|
95
|
+
if (opts.json) {
|
|
96
|
+
console.log(JSON.stringify(result, null, 2));
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
console.log(`\nCapability coverage: ${result.coveredCount}/${result.rows.length} covered, ${result.gapCount} gap(s)\n`);
|
|
100
|
+
for (const row of result.rows) {
|
|
101
|
+
if (!row.covered) {
|
|
102
|
+
console.log(` GAP ${row.name.padEnd(32)} ${row.module}`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const gaps = result.rows.filter((r) => !r.covered);
|
|
106
|
+
if (gaps.length > 0) {
|
|
107
|
+
console.log("\nDocumented gaps:");
|
|
108
|
+
for (const row of gaps)
|
|
109
|
+
console.log(`\n ${row.name}: ${row.gap}`);
|
|
110
|
+
}
|
|
111
|
+
for (const [label, list] of [
|
|
112
|
+
["Capabilities with no entry", result.unmapped],
|
|
113
|
+
["Entries naming no capability", result.stale],
|
|
114
|
+
["Entries with no coverage and no gap note", result.undocumentedGaps],
|
|
115
|
+
["Entries naming an unknown selfcheck", result.unknownSelfchecks],
|
|
116
|
+
["Entries claiming a selfcheck with no suite", result.selfchecksWithoutSuites],
|
|
117
|
+
["Contract drift", result.contractDrift],
|
|
118
|
+
["Module mismatches", result.moduleMismatches],
|
|
119
|
+
["Duplicate entries", result.duplicates]
|
|
120
|
+
]) {
|
|
121
|
+
if (list.length > 0)
|
|
122
|
+
console.log(`\n${label}: ${list.join(", ")}`);
|
|
123
|
+
}
|
|
124
|
+
console.log("");
|
|
125
|
+
}
|
|
126
|
+
const broken = result.unmapped.length > 0 ||
|
|
127
|
+
result.stale.length > 0 ||
|
|
128
|
+
result.undocumentedGaps.length > 0 ||
|
|
129
|
+
result.unknownSelfchecks.length > 0 ||
|
|
130
|
+
result.selfchecksWithoutSuites.length > 0 ||
|
|
131
|
+
result.contractDrift.length > 0 ||
|
|
132
|
+
result.moduleMismatches.length > 0 ||
|
|
133
|
+
result.duplicates.length > 0;
|
|
134
|
+
if (broken || (opts.strict && result.gapCount > 0)) {
|
|
135
|
+
process.exit(1);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
harness
|
|
139
|
+
.command("gate [files...]")
|
|
140
|
+
.description("Map a diff to touched surfaces and run their harnesses' selfchecks")
|
|
141
|
+
.option("--base <ref>", "Diff against a git ref (e.g. main) instead of the working tree")
|
|
142
|
+
.option("--all", "Ignore the diff and run every selfcheck")
|
|
143
|
+
.option("--expensive", "Include expensive selfchecks (bundle staging etc.)")
|
|
144
|
+
.option("--dry-run", "Print the plan without running anything")
|
|
145
|
+
.option("--json", "Print the plan (and results, unless --dry-run) as JSON")
|
|
146
|
+
.option("--strict", "Exit non-zero when the diff touches a surface only a gap note covers")
|
|
147
|
+
.option("--timeout <seconds>", "Kill a selfcheck that runs longer than this many seconds (default 900)", "900")
|
|
148
|
+
.action(async (files, opts) => {
|
|
149
|
+
const { spawnSync } = await import("node:child_process");
|
|
150
|
+
const { fileURLToPath } = await import("node:url");
|
|
151
|
+
const { dirname, resolve } = await import("node:path");
|
|
152
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
153
|
+
// dist layout: packages/cli/dist/commands → repo root is four up.
|
|
154
|
+
const repoRoot = resolve(here, "..", "..", "..", "..");
|
|
155
|
+
const timeoutSeconds = Number(opts.timeout ?? "900");
|
|
156
|
+
const timeoutMs = Number.isFinite(timeoutSeconds) && timeoutSeconds > 0
|
|
157
|
+
? timeoutSeconds * 1000
|
|
158
|
+
: 900_000;
|
|
159
|
+
let changedFiles = files;
|
|
160
|
+
if (changedFiles.length === 0 && !opts.all) {
|
|
161
|
+
changedFiles = readChangedFiles(repoRoot, opts.base);
|
|
162
|
+
}
|
|
163
|
+
const mappingViolations = opts.all
|
|
164
|
+
? []
|
|
165
|
+
: await capabilityMappingViolations(repoRoot, opts.base ?? "HEAD", changedFiles);
|
|
166
|
+
if (!opts.json && mappingViolations.length > 0) {
|
|
167
|
+
console.log("\nCapability mapping violations (harness capabilities):");
|
|
168
|
+
for (const v of mappingViolations)
|
|
169
|
+
console.log(` ${v}`);
|
|
170
|
+
}
|
|
171
|
+
const plan = opts.all
|
|
172
|
+
? {
|
|
173
|
+
changedFiles: [],
|
|
174
|
+
surfaces: [],
|
|
175
|
+
checks: HARNESSES.filter((h) => h.selfcheck).map((h) => ({
|
|
176
|
+
harnessId: h.id,
|
|
177
|
+
command: h.selfcheck.command,
|
|
178
|
+
cost: h.selfcheck.cost,
|
|
179
|
+
surfaces: []
|
|
180
|
+
})),
|
|
181
|
+
manual: [],
|
|
182
|
+
uncoveredSurfaces: [],
|
|
183
|
+
unmappedFiles: []
|
|
184
|
+
}
|
|
185
|
+
: planGate(changedFiles);
|
|
186
|
+
const toRun = plan.checks.filter((c) => opts.expensive || c.cost === "cheap");
|
|
187
|
+
const skippedExpensive = plan.checks.filter((c) => !opts.expensive && c.cost === "expensive");
|
|
188
|
+
// A directory recorded in UNCLAIMED_PATHS has already been judged: no
|
|
189
|
+
// harness reaches it, and the entry says why. `auditPathClaims` honors
|
|
190
|
+
// that; the gate did not, so the first diff to touch such a directory
|
|
191
|
+
// failed with no way to satisfy it short of inventing a surface.
|
|
192
|
+
const unmappedCodeFiles = plan.unmappedFiles
|
|
193
|
+
.filter(isGateRelevantCodeFile)
|
|
194
|
+
.filter((f) => !isUnclaimedPath(f));
|
|
195
|
+
if (!opts.json) {
|
|
196
|
+
printGatePlan(plan, toRun.length, skippedExpensive.length, opts.all);
|
|
197
|
+
if (unmappedCodeFiles.length > 0) {
|
|
198
|
+
console.log("\nCode files no surface claims (the gate fails on these):");
|
|
199
|
+
for (const f of unmappedCodeFiles)
|
|
200
|
+
console.log(` ${f}`);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
if (opts.dryRun) {
|
|
204
|
+
if (opts.json) {
|
|
205
|
+
console.log(JSON.stringify({ plan, mappingViolations, unmappedCodeFiles }, null, 2));
|
|
206
|
+
}
|
|
207
|
+
if (mappingViolations.length > 0 ||
|
|
208
|
+
unmappedCodeFiles.length > 0 ||
|
|
209
|
+
(opts.strict && plan.uncoveredSurfaces.length > 0)) {
|
|
210
|
+
process.exit(1);
|
|
211
|
+
}
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
const results = [];
|
|
215
|
+
for (const check of toRun) {
|
|
216
|
+
if (!opts.json) {
|
|
217
|
+
console.log(`\n── ${check.harnessId}: ${check.command}\n`);
|
|
218
|
+
}
|
|
219
|
+
// Selfchecks decide their own module resolution: strip the
|
|
220
|
+
// `nodetool-dev` conditions this CLI may be running under (set by
|
|
221
|
+
// `npm run dev:nodetool`), or dist-mode scripts like
|
|
222
|
+
// reliability:ring0 resolve packages to src/ and fail.
|
|
223
|
+
const nodeOptions = (process.env["NODE_OPTIONS"] ?? "")
|
|
224
|
+
.replace(/--conditions[= ]nodetool-dev/g, "")
|
|
225
|
+
.trim();
|
|
226
|
+
const r = spawnSync(check.command, {
|
|
227
|
+
cwd: repoRoot,
|
|
228
|
+
shell: true,
|
|
229
|
+
stdio: opts.json ? "pipe" : "inherit",
|
|
230
|
+
encoding: "utf8",
|
|
231
|
+
timeout: timeoutMs,
|
|
232
|
+
maxBuffer: SELFCHECK_MAX_BUFFER,
|
|
233
|
+
killSignal: "SIGKILL",
|
|
234
|
+
env: {
|
|
235
|
+
...process.env,
|
|
236
|
+
...(nodeOptions
|
|
237
|
+
? { NODE_OPTIONS: nodeOptions }
|
|
238
|
+
: { NODE_OPTIONS: "" })
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
// spawnSync fails closed on a kill: a timeout or any other signal
|
|
242
|
+
// leaves `status` null, which must count as a failure, never as
|
|
243
|
+
// the "no exit code, assume ok" case. Only ETIMEDOUT is reported as
|
|
244
|
+
// a timeout, though — every other signal used to be too, and a check
|
|
245
|
+
// killed for some other reason then claimed to have run for the full
|
|
246
|
+
// `--timeout` when it had run for three minutes.
|
|
247
|
+
const errorCode = r.error
|
|
248
|
+
?.code;
|
|
249
|
+
const timedOut = errorCode === "ETIMEDOUT";
|
|
250
|
+
const killed = r.signal != null || r.error !== undefined;
|
|
251
|
+
const exitCode = timedOut ? TIMEOUT_EXIT_CODE : (r.status ?? 1);
|
|
252
|
+
if (opts.json && (timedOut || killed || exitCode !== 0)) {
|
|
253
|
+
const output = `${r.stdout ?? ""}\n${r.stderr ?? ""}`.slice(-20_000);
|
|
254
|
+
process.stderr.write(`\n${check.harnessId} failed (exit ${exitCode}):\n${output}\n`);
|
|
255
|
+
}
|
|
256
|
+
if (!opts.json && timedOut) {
|
|
257
|
+
console.log(`\nTIMEOUT ${check.harnessId} exceeded ${timeoutSeconds}s: ${check.command}`);
|
|
258
|
+
}
|
|
259
|
+
else if (!opts.json && killed) {
|
|
260
|
+
console.log(`\nKILLED ${check.harnessId} (${r.signal ?? errorCode}): ${check.command}`);
|
|
261
|
+
}
|
|
262
|
+
results.push({
|
|
263
|
+
harnessId: check.harnessId,
|
|
264
|
+
command: check.command,
|
|
265
|
+
ok: !timedOut && !killed && exitCode === 0,
|
|
266
|
+
exitCode,
|
|
267
|
+
timedOut,
|
|
268
|
+
killed
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
const failed = results.filter((r) => !r.ok);
|
|
272
|
+
if (opts.json) {
|
|
273
|
+
console.log(JSON.stringify({ plan, results, mappingViolations, unmappedCodeFiles }, null, 2));
|
|
274
|
+
}
|
|
275
|
+
else if (toRun.length > 0) {
|
|
276
|
+
console.log(`\nGate: ${results.length - failed.length}/${results.length} selfchecks passed`);
|
|
277
|
+
for (const r of failed) {
|
|
278
|
+
const label = r.timedOut
|
|
279
|
+
? "TIMEOUT"
|
|
280
|
+
: r.killed
|
|
281
|
+
? "KILLED"
|
|
282
|
+
: "FAIL";
|
|
283
|
+
console.log(` ${label} ${r.harnessId} (exit ${r.exitCode}): ${r.command}`);
|
|
284
|
+
}
|
|
285
|
+
console.log("");
|
|
286
|
+
}
|
|
287
|
+
if (failed.length > 0 ||
|
|
288
|
+
mappingViolations.length > 0 ||
|
|
289
|
+
unmappedCodeFiles.length > 0 ||
|
|
290
|
+
(opts.strict && plan.uncoveredSurfaces.length > 0)) {
|
|
291
|
+
process.exit(1);
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
function printGatePlan(plan, runCount, skippedExpensive, all) {
|
|
296
|
+
if (all) {
|
|
297
|
+
console.log(`\nRunning all ${runCount} selfcheck(s)${skippedExpensive > 0 ? ` (${skippedExpensive} expensive skipped — pass --expensive)` : ""}`);
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
if (plan.changedFiles.length === 0) {
|
|
301
|
+
console.log("\nNo changed files — nothing to gate.");
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
console.log(`\n${plan.changedFiles.length} changed file(s) touch ${plan.surfaces.length} surface(s):`);
|
|
305
|
+
for (const s of plan.surfaces) {
|
|
306
|
+
console.log(` ${s.id.padEnd(20)} (${s.files.length} file(s))`);
|
|
307
|
+
}
|
|
308
|
+
if (plan.unmappedFiles.length > 0) {
|
|
309
|
+
console.log(`\n${plan.unmappedFiles.length} file(s) outside any surface:`);
|
|
310
|
+
for (const f of plan.unmappedFiles.slice(0, 8))
|
|
311
|
+
console.log(` ${f}`);
|
|
312
|
+
if (plan.unmappedFiles.length > 8) {
|
|
313
|
+
console.log(` …and ${plan.unmappedFiles.length - 8} more`);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
if (plan.uncoveredSurfaces.length > 0) {
|
|
317
|
+
console.log(`\nTouched surfaces with NO harness (documented gaps): ${plan.uncoveredSurfaces.join(", ")}`);
|
|
318
|
+
}
|
|
319
|
+
if (plan.manual.length > 0) {
|
|
320
|
+
console.log("\nManual harnesses (need a target/key — run yourself):");
|
|
321
|
+
for (const m of plan.manual) {
|
|
322
|
+
console.log(` ${m.harnessId.padEnd(18)} ${m.command}`);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
console.log(`\n${runCount} selfcheck(s) to run${skippedExpensive > 0 ? ` (${skippedExpensive} expensive skipped — pass --expensive)` : ""}`);
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* A capability whose declared contract moved without its coverage mapping
|
|
329
|
+
* moving with it. Adding a capability, or changing what one promises, means
|
|
330
|
+
* saying which eval case or suite covers the new contract — a refactor that
|
|
331
|
+
* leaves the contract alone says nothing and runs the mapped checks as usual.
|
|
332
|
+
*/
|
|
333
|
+
async function capabilityMappingViolations(repoRoot, baseRef, changedFiles) {
|
|
334
|
+
const { execSync } = await import("node:child_process");
|
|
335
|
+
const { readFileSync } = await import("node:fs");
|
|
336
|
+
const { join } = await import("node:path");
|
|
337
|
+
const git = (command) => execSync(command, {
|
|
338
|
+
cwd: repoRoot,
|
|
339
|
+
encoding: "utf8",
|
|
340
|
+
stdio: ["ignore", "pipe", "ignore"]
|
|
341
|
+
});
|
|
342
|
+
const atRef = (ref) => {
|
|
343
|
+
try {
|
|
344
|
+
return git(`git show ${ref}:${CAPABILITY_TABLE_PATH}`);
|
|
345
|
+
}
|
|
346
|
+
catch {
|
|
347
|
+
// The table does not exist at that ref — every entry is new.
|
|
348
|
+
return null;
|
|
349
|
+
}
|
|
350
|
+
};
|
|
351
|
+
let working;
|
|
352
|
+
try {
|
|
353
|
+
working = readFileSync(join(repoRoot, CAPABILITY_TABLE_PATH), "utf8");
|
|
354
|
+
}
|
|
355
|
+
catch {
|
|
356
|
+
// Running from a package without the source tree; nothing to compare.
|
|
357
|
+
return [];
|
|
358
|
+
}
|
|
359
|
+
return planCapabilityMappingGate(atRef(resolveGateBaseRef(baseRef, git)), working, changedFiles).violations.map((v) => v.detail);
|
|
360
|
+
}
|
|
361
|
+
//# sourceMappingURL=harness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/commands/harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Human-readable rendering of a `JsScriptValidation`, shared by
|
|
3
|
+
* `jsscript validate` and `jsscript versions restore`.
|
|
4
|
+
*/
|
|
5
|
+
import type { JsScriptValidation } from "@nodetool-ai/execution/js-script-debug";
|
|
6
|
+
export declare function renderJsScriptValidation(validation: JsScriptValidation): string[];
|
|
7
|
+
//# sourceMappingURL=js-script-validation-output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-script-validation-output.d.ts","sourceRoot":"","sources":["../../src/commands/js-script-validation-output.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAGjF,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,kBAAkB,GAC7B,MAAM,EAAE,CAEV"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-script-validation-output.js","sourceRoot":"","sources":["../../src/commands/js-script-validation-output.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,UAAU,wBAAwB,CACtC,UAA8B;IAE9B,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `nodetool jsscript versions` — the version-history half of the JS-script
|
|
3
|
+
* commands. The commands themselves live in `version-commands.ts`; this file
|
|
4
|
+
* is the script's row shapes, database seam, columns and messages.
|
|
5
|
+
*
|
|
6
|
+
* JS scripts keep immutable snapshots: manual saves, autosaves the server
|
|
7
|
+
* writes on a document update, and the pre-restore snapshot that makes a
|
|
8
|
+
* restore undoable. The history is read and written directly against the local
|
|
9
|
+
* database, so an agent can work without a server.
|
|
10
|
+
*/
|
|
11
|
+
import type { Command } from "commander";
|
|
12
|
+
import type { JsScriptValidation } from "@nodetool-ai/execution/js-script-debug";
|
|
13
|
+
import { type JsonValue, type VersionCommandDeps, type VersionStore } from "./version-commands.js";
|
|
14
|
+
export { parseVersionDocument, parseVersionNumber } from "./version-commands.js";
|
|
15
|
+
/** A `js_scripts` row as these commands need it. */
|
|
16
|
+
export interface JsScriptRow {
|
|
17
|
+
id: string;
|
|
18
|
+
user_id: string;
|
|
19
|
+
name?: string | null;
|
|
20
|
+
updated_at: string;
|
|
21
|
+
document: string;
|
|
22
|
+
}
|
|
23
|
+
/** A `js_script_versions` row. */
|
|
24
|
+
export interface JsScriptVersionRow {
|
|
25
|
+
id: string;
|
|
26
|
+
js_script_id: string;
|
|
27
|
+
version: number;
|
|
28
|
+
name: string | null;
|
|
29
|
+
save_type: string;
|
|
30
|
+
created_at: string;
|
|
31
|
+
document: string;
|
|
32
|
+
}
|
|
33
|
+
export type JsScriptVersionStore = VersionStore<JsScriptRow, JsScriptVersionRow>;
|
|
34
|
+
/** The list-item shape, matching the tRPC router's `jsScriptVersionListItem`. */
|
|
35
|
+
export interface JsScriptVersionListItem {
|
|
36
|
+
id: string;
|
|
37
|
+
version: number;
|
|
38
|
+
name: string | null;
|
|
39
|
+
saveType: string;
|
|
40
|
+
createdAt: string;
|
|
41
|
+
}
|
|
42
|
+
export declare function toVersionListItem(row: JsScriptVersionRow): JsScriptVersionListItem;
|
|
43
|
+
/** One table row per version: what it is and when it was taken. */
|
|
44
|
+
export declare function versionTableRows(items: JsScriptVersionListItem[]): Record<string, unknown>[];
|
|
45
|
+
/** Port and test counts of whatever a version stored. */
|
|
46
|
+
export declare function documentCounts(document: JsonValue | undefined): {
|
|
47
|
+
inputs: number;
|
|
48
|
+
outputs: number;
|
|
49
|
+
tests: number;
|
|
50
|
+
};
|
|
51
|
+
export type JsScriptVersionsDeps = VersionCommandDeps<JsScriptRow, JsScriptVersionRow, JsScriptValidation, void>;
|
|
52
|
+
export declare function registerJsScriptVersionsCommands(jsscript: Command, deps?: JsScriptVersionsDeps): void;
|
|
53
|
+
//# sourceMappingURL=js-script-versions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-script-versions.d.ts","sourceRoot":"","sources":["../../src/commands/js-script-versions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,kBAAkB,EAEvB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,oDAAoD;AACpD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;AAEjF,iFAAiF;AACjF,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,kBAAkB,GACtB,uBAAuB,CAQzB;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,uBAAuB,EAAE,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAE3B;AAWD,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS;IAG1D,MAAM;IACN,OAAO;IACP,KAAK;EAER;AAwED,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CACnD,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,IAAI,CACL,CAAC;AAEF,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,OAAO,EACjB,IAAI,GAAE,oBAAyB,GAC9B,IAAI,CAKN"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { renderJsScriptValidation } from "./js-script-validation-output.js";
|
|
2
|
+
import { countArray, registerVersionCommands } from "./version-commands.js";
|
|
3
|
+
export { parseVersionDocument, parseVersionNumber } from "./version-commands.js";
|
|
4
|
+
export function toVersionListItem(row) {
|
|
5
|
+
return {
|
|
6
|
+
id: row.id,
|
|
7
|
+
version: row.version,
|
|
8
|
+
name: row.name ?? null,
|
|
9
|
+
saveType: row.save_type,
|
|
10
|
+
createdAt: row.created_at
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/** One table row per version: what it is and when it was taken. */
|
|
14
|
+
export function versionTableRows(items) {
|
|
15
|
+
return items.map(tableRow);
|
|
16
|
+
}
|
|
17
|
+
function tableRow(v) {
|
|
18
|
+
return {
|
|
19
|
+
version: v.version,
|
|
20
|
+
saveType: v.saveType,
|
|
21
|
+
name: v.name ?? "",
|
|
22
|
+
createdAt: v.createdAt
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** Port and test counts of whatever a version stored. */
|
|
26
|
+
export function documentCounts(document) {
|
|
27
|
+
const doc = (document ?? {});
|
|
28
|
+
return {
|
|
29
|
+
inputs: countArray(doc.inputs),
|
|
30
|
+
outputs: countArray(doc.outputs),
|
|
31
|
+
tests: countArray(doc.tests)
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
async function defaultValidate(document) {
|
|
35
|
+
const { validateJsScriptDoc } = await import("@nodetool-ai/execution/js-script-debug");
|
|
36
|
+
return validateJsScriptDoc(document);
|
|
37
|
+
}
|
|
38
|
+
async function defaultStore() {
|
|
39
|
+
const { initDb, JsScript, JsScriptVersion } = await import("@nodetool-ai/models");
|
|
40
|
+
const { getDefaultDbPath } = await import("@nodetool-ai/config");
|
|
41
|
+
initDb(getDefaultDbPath());
|
|
42
|
+
return {
|
|
43
|
+
load: async (id) => await JsScript.findById(id),
|
|
44
|
+
listVersions: async (jsScriptId, opts) => await JsScriptVersion.listForScript(jsScriptId, opts),
|
|
45
|
+
findVersion: async (jsScriptId, version) => await JsScriptVersion.findByVersion(jsScriptId, version),
|
|
46
|
+
snapshot: async (script, opts) => await JsScriptVersion.snapshot(script, opts),
|
|
47
|
+
restore: async (script, version) => await JsScript.updateFieldsIfUnchanged(script.id, script.updated_at, {
|
|
48
|
+
document: version.document
|
|
49
|
+
}),
|
|
50
|
+
deleteVersion: async (jsScriptId, version) => {
|
|
51
|
+
const row = await JsScriptVersion.findByVersion(jsScriptId, version);
|
|
52
|
+
if (row)
|
|
53
|
+
await row.delete();
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
const spec = {
|
|
58
|
+
idArg: "js_script_id",
|
|
59
|
+
idKey: "jsScriptId",
|
|
60
|
+
descriptions: {
|
|
61
|
+
group: "Inspect and restore the snapshot history of a JS script (manual saves, autosaves, pre-restore snapshots)",
|
|
62
|
+
list: "List a script's versions, newest first",
|
|
63
|
+
show: "Print one version's metadata and the document it stored",
|
|
64
|
+
create: "Snapshot the script as it stands now (a manual save)",
|
|
65
|
+
restore: "Restore a version onto the script. The pre-restore state is snapshotted first, and the restored document is validated against the current schema — a restore whose document no longer validates exits non-zero",
|
|
66
|
+
delete: "Delete one version from a script's history",
|
|
67
|
+
restoreJson: "Print the restore result as JSON"
|
|
68
|
+
},
|
|
69
|
+
notFoundDocument: (id) => `JS script not found: ${id}`,
|
|
70
|
+
notFoundVersion: (id, version) => `JS script version not found: ${id} v${version}`,
|
|
71
|
+
conflict: "Script was modified since last read",
|
|
72
|
+
confirmDelete: (id, version) => `Delete v${version} of JS script ${id}?`,
|
|
73
|
+
deleted: (id, version) => `✅ Deleted v${version} of JS script ${id}`,
|
|
74
|
+
toItem: toVersionListItem,
|
|
75
|
+
tableRow,
|
|
76
|
+
counts: documentCounts,
|
|
77
|
+
showSummary: (counts) => `\n ${counts.inputs} input(s), ${counts.outputs} output(s), ${counts.tests} test(s)`,
|
|
78
|
+
restoreSummary: (id, version, counts) => `✅ Restored v${version} onto ${id}: ${counts.inputs} input(s), ${counts.outputs} output(s), ${counts.tests} test(s)`,
|
|
79
|
+
restoreJsonExtra: () => ({}),
|
|
80
|
+
validateMeta: () => undefined,
|
|
81
|
+
renderValidation: renderJsScriptValidation
|
|
82
|
+
};
|
|
83
|
+
export function registerJsScriptVersionsCommands(jsscript, deps = {}) {
|
|
84
|
+
registerVersionCommands(jsscript, spec, deps, {
|
|
85
|
+
store: defaultStore,
|
|
86
|
+
validate: defaultValidate
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=js-script-versions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-script-versions.js","sourceRoot":"","sources":["../../src/commands/js-script-versions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `nodetool jsscript validate`, `run`, `test`, `debug` and `versions` — the
|
|
3
|
+
* JS-script harness commands.
|
|
4
|
+
*
|
|
5
|
+
* `validate` checks a script document statically: the body's syntax and
|
|
6
|
+
* imports, ports the body reads that nothing declares, outputs no emit/output
|
|
7
|
+
* call reaches, tests naming ports the script lacks. `run` executes the body
|
|
8
|
+
* once in the QuickJS sandbox; `test` runs the document's own saved cases and
|
|
9
|
+
* exits non-zero on any failure — the selfcheck-friendly command. `debug`
|
|
10
|
+
* replays a scripted `--interact` session against the headless
|
|
11
|
+
* `ui_jsscript_*` bridge and writes a bundle. Every target is a script JSON
|
|
12
|
+
* file or a `js_scripts` row id; file targets need no database.
|
|
13
|
+
*
|
|
14
|
+
* Heavy dependencies (the database, the validator core, the sandbox, the
|
|
15
|
+
* bridge) are imported lazily inside each action, so command registration
|
|
16
|
+
* stays light and unit-testable.
|
|
17
|
+
*/
|
|
18
|
+
import type { Command } from "commander";
|
|
19
|
+
import { renderJsScriptValidation } from "./js-script-validation-output.js";
|
|
20
|
+
export { renderJsScriptValidation };
|
|
21
|
+
/** `--inputs` is a JSON object; anything else names itself in the error. */
|
|
22
|
+
export declare function parseInputsOption(raw: string): Record<string, unknown>;
|
|
23
|
+
/**
|
|
24
|
+
* `--input-streams` stages items per handle for a body that reads `stream`:
|
|
25
|
+
* a JSON object whose every value is an array.
|
|
26
|
+
*/
|
|
27
|
+
export declare function parseInputStreamsOption(raw: string): Record<string, unknown[]>;
|
|
28
|
+
export declare function registerJsScriptCommands(program: Command): void;
|
|
29
|
+
//# sourceMappingURL=js-script.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-script.d.ts","sourceRoot":"","sources":["../../src/commands/js-script.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAI5E,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAoCpC,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWtE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,6BAyBZ;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmK/D"}
|