@nodetool-ai/cli 0.7.0-rc.22 → 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
package/README.md
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# @nodetool-ai/cli
|
|
2
|
+
|
|
3
|
+
Command-line tools for [NodeTool](https://nodetool.ai) — interactive AI chat and workflow management from the terminal.
|
|
4
|
+
|
|
5
|
+
Ships two executables: `nodetool` for managing workflows, jobs, assets, models, secrets, and servers, and `nodetool-chat` for an interactive multi-provider LLM chat with tool support.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @nodetool-ai/cli
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Executables
|
|
14
|
+
|
|
15
|
+
| Command | Description |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `nodetool` | Management CLI — serve, run workflows, jobs, assets, models, secrets, settings, MCP install |
|
|
18
|
+
| `nodetool-chat` | Interactive terminal chat across providers |
|
|
19
|
+
|
|
20
|
+
## `nodetool`
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
nodetool info # System and environment info, API-key status
|
|
24
|
+
nodetool serve --host 0.0.0.0 --port 7777 # Start the WebSocket + HTTP server
|
|
25
|
+
nodetool run workflow.ts # Run a TypeScript/JavaScript DSL workflow file
|
|
26
|
+
|
|
27
|
+
# Workflows (id-based commands read the local database; --api-url for a remote server)
|
|
28
|
+
nodetool workflows list
|
|
29
|
+
nodetool workflows get <id>
|
|
30
|
+
nodetool workflows run <id|file.json|file.ts> --params '{"key":"value"}'
|
|
31
|
+
nodetool workflows export-dsl <id> -o out.ts # Export as TypeScript DSL
|
|
32
|
+
nodetool workflows export-bundle <id> -o pack.nodetool # Portable zip with assets
|
|
33
|
+
nodetool workflows import-bundle pack.nodetool
|
|
34
|
+
|
|
35
|
+
# Jobs and assets
|
|
36
|
+
nodetool jobs list --workflow-id <id>
|
|
37
|
+
nodetool jobs get <job_id>
|
|
38
|
+
nodetool assets list --query "photo" --content-type image/png
|
|
39
|
+
|
|
40
|
+
# Models
|
|
41
|
+
nodetool models list
|
|
42
|
+
nodetool models providers
|
|
43
|
+
nodetool models by-provider anthropic --kind llm
|
|
44
|
+
|
|
45
|
+
# Secrets (encrypted local store)
|
|
46
|
+
nodetool secrets list
|
|
47
|
+
nodetool secrets store OPENAI_API_KEY
|
|
48
|
+
nodetool secrets get OPENAI_API_KEY
|
|
49
|
+
|
|
50
|
+
# Settings and MCP
|
|
51
|
+
nodetool settings show
|
|
52
|
+
nodetool mcp install # Register the MCP server for Claude Code, Codex, OpenCode
|
|
53
|
+
nodetool mcp status
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
The `workflows`, `jobs`, `assets`, and `models` read commands hit the local database, providers, and caches by default. Pass `--api-url <url>` (env `NODETOOL_API_URL`) to query a remote server instead, and `--json` for machine-readable output.
|
|
57
|
+
|
|
58
|
+
## `nodetool-chat`
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
nodetool-chat # Saved / auto-detected settings
|
|
62
|
+
nodetool-chat --provider anthropic --model claude-sonnet-5
|
|
63
|
+
nodetool-chat --workspace /path/to/dir # Set the workspace for file tools
|
|
64
|
+
nodetool-chat --url ws://localhost:7777/ws # Connect to a running server
|
|
65
|
+
echo "research 5 AI topics" | nodetool-chat # Piped, non-interactive
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Chat flags: `-p, --provider`, `-m, --model`, `-u, --url`, `-w, --workspace`, `--tools <list>`. Every session runs the unified agent loop; `-a, --agent` and `--no-agent` are accepted for backwards compatibility and do nothing.
|
|
69
|
+
|
|
70
|
+
Providers include anthropic, openai, gemini, xai, groq, mistral, deepseek, ollama, lmstudio, and other registry providers.
|
|
71
|
+
|
|
72
|
+
## Tracing
|
|
73
|
+
|
|
74
|
+
Both executables accept `--trace-file <path>` (append LLM/agent/workflow spans as JSONL) and `--trace-stdout <pretty|json>`.
|
|
75
|
+
|
|
76
|
+
## Links
|
|
77
|
+
|
|
78
|
+
- [NodeTool](https://nodetool.ai)
|
|
79
|
+
- [GitHub](https://github.com/nodetool-ai/nodetool)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2026-09-28T09:19:19.996Z
|
package/dist/ExecutionTree.d.ts
CHANGED
|
@@ -11,9 +11,10 @@
|
|
|
11
11
|
* │ → The key themes emerging from...
|
|
12
12
|
* └─ ○ Task 3: Write summary waiting
|
|
13
13
|
*/
|
|
14
|
+
import React from "react";
|
|
14
15
|
import type { ExecutionState } from "./useExecutionState.js";
|
|
15
16
|
export declare function ExecutionTree({ state, treeActive, }: {
|
|
16
17
|
state: ExecutionState;
|
|
17
18
|
treeActive: boolean;
|
|
18
|
-
}):
|
|
19
|
+
}): React.JSX.Element | null;
|
|
19
20
|
//# sourceMappingURL=ExecutionTree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionTree.d.ts","sourceRoot":"","sources":["../src/ExecutionTree.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"ExecutionTree.d.ts","sourceRoot":"","sources":["../src/ExecutionTree.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,cAAc,EAAwB,MAAM,wBAAwB,CAAC;AAmMnF,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,UAAU,GACX,EAAE;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;CACrB,4BA0CA"}
|
package/dist/ExecutionTree.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Text } from "ink";
|
|
3
3
|
import Spinner from "ink-spinner";
|
|
4
4
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionTree.js","sourceRoot":"","sources":["../src/ExecutionTree.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,OAAO,MAAM,aAAa,CAAC;AAGlC,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,MAAM,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;CACD,CAAC;AAEX,MAAM,aAAa,GAAG;IACpB,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,OAAO;IAClB,MAAM,EAAE,KAAK;CACL,CAAC;AAEX,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,cAAc,CAAC,OAA2B;IACjD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrC,IAAI,OAAO,GAAG,GAAG;QAAE,OAAO,OAAO,CAAC;IAClC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;IAC1B,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACvC,CAAC;AAED,SAAS,cAAc,CAAC,MAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"ExecutionTree.js","sourceRoot":"","sources":["../src/ExecutionTree.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps a set of changed files to the minimal set of workspaces a coding agent
|
|
3
|
+
* needs to rebuild / typecheck / test — and the exact commands to do it.
|
|
4
|
+
*
|
|
5
|
+
* The monorepo build is dependency-ordered and slow (1–2 min full). Most edits
|
|
6
|
+
* touch one package; this works out the downstream closure of dependents so an
|
|
7
|
+
* agent runs `--workspace=<pkg>` checks instead of the whole tree, and only
|
|
8
|
+
* triggers `npm run build:packages` when a decorator package (which loads from
|
|
9
|
+
* dist/) is in the affected set.
|
|
10
|
+
*
|
|
11
|
+
* Pure and registry-free so it can be unit-tested with a synthetic graph.
|
|
12
|
+
*/
|
|
13
|
+
/** Packages whose nodes load from compiled dist/ (decorators) — see AGENTS.md. */
|
|
14
|
+
export declare const DECORATOR_PACKAGES: ReadonlySet<string>;
|
|
15
|
+
export interface PackageInfo {
|
|
16
|
+
/** Package name, e.g. "@nodetool-ai/cli". */
|
|
17
|
+
name: string;
|
|
18
|
+
/** Repo-relative directory, e.g. "packages/cli". */
|
|
19
|
+
dir: string;
|
|
20
|
+
/** Internal `@nodetool-ai/*` dependencies declared in package.json. */
|
|
21
|
+
internalDeps: string[];
|
|
22
|
+
/** Extra repo-relative dirs this workspace owns — see EXTRA_WORKSPACE_PATHS. */
|
|
23
|
+
ownedPaths?: string[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Directories that belong to a workspace without living inside it.
|
|
27
|
+
*
|
|
28
|
+
* `reliability/journeys/` holds the journey manifests, fixtures, and goldens
|
|
29
|
+
* the reliability harness runs; editing one changes what
|
|
30
|
+
* `nodetool reliability run` does, but the files sit outside
|
|
31
|
+
* `reliability/harness/`, so a path-prefix match alone reports them as
|
|
32
|
+
* belonging to no workspace.
|
|
33
|
+
*/
|
|
34
|
+
export declare const EXTRA_WORKSPACE_PATHS: Readonly<Record<string, readonly string[]>>;
|
|
35
|
+
export interface AffectedResult {
|
|
36
|
+
/** Workspaces directly containing a changed file. */
|
|
37
|
+
changed: string[];
|
|
38
|
+
/** `changed` plus every workspace that transitively depends on them. */
|
|
39
|
+
affected: string[];
|
|
40
|
+
/** Affected decorator packages — these force a `build:packages`. */
|
|
41
|
+
needsBuild: string[];
|
|
42
|
+
/** Changed files that mapped to no known workspace. */
|
|
43
|
+
unmatched: string[];
|
|
44
|
+
/** Suggested commands, ordered (build first, then per-workspace checks). */
|
|
45
|
+
commands: string[];
|
|
46
|
+
}
|
|
47
|
+
/** Top-level non-package workspaces that consume packages but have no dependents. */
|
|
48
|
+
export declare const TOP_LEVEL_WORKSPACES: readonly ["web", "electron", "mobile"];
|
|
49
|
+
export declare function computeAffected(changedFiles: ReadonlyArray<string>, packages: ReadonlyArray<PackageInfo>): AffectedResult;
|
|
50
|
+
//# sourceMappingURL=affected.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"affected.d.ts","sourceRoot":"","sources":["../../src/affected/affected.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAMjD,CAAC;AAEH,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAC1C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAGlC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oEAAoE;IACpE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,uDAAuD;IACvD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,YAAI,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AAyC3E,wBAAgB,eAAe,CAC7B,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,EACnC,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,GACnC,cAAc,CAmDhB"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps a set of changed files to the minimal set of workspaces a coding agent
|
|
3
|
+
* needs to rebuild / typecheck / test — and the exact commands to do it.
|
|
4
|
+
*
|
|
5
|
+
* The monorepo build is dependency-ordered and slow (1–2 min full). Most edits
|
|
6
|
+
* touch one package; this works out the downstream closure of dependents so an
|
|
7
|
+
* agent runs `--workspace=<pkg>` checks instead of the whole tree, and only
|
|
8
|
+
* triggers `npm run build:packages` when a decorator package (which loads from
|
|
9
|
+
* dist/) is in the affected set.
|
|
10
|
+
*
|
|
11
|
+
* Pure and registry-free so it can be unit-tested with a synthetic graph.
|
|
12
|
+
*/
|
|
13
|
+
/** Packages whose nodes load from compiled dist/ (decorators) — see AGENTS.md. */
|
|
14
|
+
export const DECORATOR_PACKAGES = new Set([
|
|
15
|
+
"@nodetool-ai/node-sdk",
|
|
16
|
+
"@nodetool-ai/base-nodes",
|
|
17
|
+
"@nodetool-ai/fal-nodes",
|
|
18
|
+
"@nodetool-ai/replicate-nodes",
|
|
19
|
+
"@nodetool-ai/elevenlabs-nodes"
|
|
20
|
+
]);
|
|
21
|
+
/**
|
|
22
|
+
* Directories that belong to a workspace without living inside it.
|
|
23
|
+
*
|
|
24
|
+
* `reliability/journeys/` holds the journey manifests, fixtures, and goldens
|
|
25
|
+
* the reliability harness runs; editing one changes what
|
|
26
|
+
* `nodetool reliability run` does, but the files sit outside
|
|
27
|
+
* `reliability/harness/`, so a path-prefix match alone reports them as
|
|
28
|
+
* belonging to no workspace.
|
|
29
|
+
*/
|
|
30
|
+
export const EXTRA_WORKSPACE_PATHS = {
|
|
31
|
+
"@nodetool-ai/reliability-harness": ["reliability/journeys"]
|
|
32
|
+
};
|
|
33
|
+
/** Top-level non-package workspaces that consume packages but have no dependents. */
|
|
34
|
+
export const TOP_LEVEL_WORKSPACES = ["web", "electron", "mobile"];
|
|
35
|
+
function matchWorkspace(file, packages) {
|
|
36
|
+
const norm = file.replace(/^\.\//, "").replace(/\\/g, "/");
|
|
37
|
+
const owned = [];
|
|
38
|
+
for (const pkg of packages) {
|
|
39
|
+
owned.push({ path: pkg.dir, name: pkg.name });
|
|
40
|
+
for (const extra of pkg.ownedPaths ?? []) {
|
|
41
|
+
owned.push({ path: extra, name: pkg.name });
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Most specific (longest path) first so packages/foo-bar wins over packages/foo.
|
|
45
|
+
owned.sort((a, b) => b.path.length - a.path.length);
|
|
46
|
+
for (const entry of owned) {
|
|
47
|
+
if (norm === entry.path || norm.startsWith(entry.path + "/")) {
|
|
48
|
+
return entry.name;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
for (const top of TOP_LEVEL_WORKSPACES) {
|
|
52
|
+
if (norm === top || norm.startsWith(top + "/"))
|
|
53
|
+
return top;
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
function buildDependents(packages) {
|
|
58
|
+
const dependents = new Map();
|
|
59
|
+
for (const pkg of packages) {
|
|
60
|
+
for (const dep of pkg.internalDeps) {
|
|
61
|
+
const list = dependents.get(dep) ?? [];
|
|
62
|
+
list.push(pkg.name);
|
|
63
|
+
dependents.set(dep, list);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return dependents;
|
|
67
|
+
}
|
|
68
|
+
export function computeAffected(changedFiles, packages) {
|
|
69
|
+
const byName = new Map(packages.map((p) => [p.name, p]));
|
|
70
|
+
const dependents = buildDependents(packages);
|
|
71
|
+
const changed = new Set();
|
|
72
|
+
const unmatched = [];
|
|
73
|
+
for (const file of changedFiles) {
|
|
74
|
+
const ws = matchWorkspace(file, packages);
|
|
75
|
+
if (ws)
|
|
76
|
+
changed.add(ws);
|
|
77
|
+
else
|
|
78
|
+
unmatched.push(file);
|
|
79
|
+
}
|
|
80
|
+
// Downstream closure: a change to X affects X and everything that depends on
|
|
81
|
+
// X (transitively). Top-level workspaces (web/electron) have no dependents.
|
|
82
|
+
const affected = new Set(changed);
|
|
83
|
+
const queue = [...changed];
|
|
84
|
+
while (queue.length > 0) {
|
|
85
|
+
const name = queue.shift();
|
|
86
|
+
for (const dependent of dependents.get(name) ?? []) {
|
|
87
|
+
if (!affected.has(dependent)) {
|
|
88
|
+
affected.add(dependent);
|
|
89
|
+
queue.push(dependent);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
const affectedList = [...affected].sort();
|
|
94
|
+
const needsBuild = affectedList.filter((n) => DECORATOR_PACKAGES.has(n));
|
|
95
|
+
const commands = [];
|
|
96
|
+
if (needsBuild.length > 0) {
|
|
97
|
+
// build:packages is dependency-ordered; run the whole pass once.
|
|
98
|
+
commands.push("npm run build:packages");
|
|
99
|
+
}
|
|
100
|
+
for (const name of affectedList) {
|
|
101
|
+
if (TOP_LEVEL_WORKSPACES.includes(name)) {
|
|
102
|
+
commands.push(`cd ${name} && npm run typecheck && npm test`);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
const pkg = byName.get(name);
|
|
106
|
+
const dir = pkg?.dir ?? name;
|
|
107
|
+
commands.push(`npm run test --workspace=${dir}`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
changed: [...changed].sort(),
|
|
112
|
+
affected: affectedList,
|
|
113
|
+
needsBuild,
|
|
114
|
+
unmatched,
|
|
115
|
+
commands
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=affected.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"affected.js","sourceRoot":"","sources":["../../src/affected/affected.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The CLI's default agent toolbelt: the belt a server chat turn assembles in
|
|
3
|
+
* `packages/websocket/src/session/chat-turn.ts`, so a local turn reaches the
|
|
4
|
+
* same tools. `buildFullRegistry` also installs the sandbox pack catalog, so
|
|
5
|
+
* the session allowlist can admit the DSL, flow, Fabric and timeline packs.
|
|
6
|
+
*
|
|
7
|
+
* The server additionally offers `run_node`, the user's external MCP servers
|
|
8
|
+
* and Google Workspace. Those are built from server-only state.
|
|
9
|
+
*/
|
|
10
|
+
import type { BaseProvider } from "@nodetool-ai/runtime";
|
|
11
|
+
import type { NodeRegistry } from "@nodetool-ai/node-sdk";
|
|
12
|
+
import { type Tool } from "@nodetool-ai/agents";
|
|
13
|
+
/** Every default tool, de-duplicated by name with the first one winning. */
|
|
14
|
+
export declare function buildCliToolbelt(providers: Record<string, BaseProvider>, registry?: NodeRegistry): Tool[];
|
|
15
|
+
//# sourceMappingURL=agent-toolbelt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-toolbelt.d.ts","sourceRoot":"","sources":["../src/agent-toolbelt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAML,KAAK,IAAI,EACV,MAAM,qBAAqB,CAAC;AAG7B,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACvC,QAAQ,CAAC,EAAE,YAAY,GACtB,IAAI,EAAE,CAaR"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The CLI's default agent toolbelt: the belt a server chat turn assembles in
|
|
3
|
+
* `packages/websocket/src/session/chat-turn.ts`, so a local turn reaches the
|
|
4
|
+
* same tools. `buildFullRegistry` also installs the sandbox pack catalog, so
|
|
5
|
+
* the session allowlist can admit the DSL, flow, Fabric and timeline packs.
|
|
6
|
+
*
|
|
7
|
+
* The server additionally offers `run_node`, the user's external MCP servers
|
|
8
|
+
* and Google Workspace. Those are built from server-only state.
|
|
9
|
+
*/
|
|
10
|
+
import { getAllMcpTools, getApifyTools, getBuiltinTools, getSerpApiTools, toolForCapabilityName } from "@nodetool-ai/agents";
|
|
11
|
+
import { mcpToolHostDeps } from "@nodetool-ai/websocket";
|
|
12
|
+
/** Every default tool, de-duplicated by name with the first one winning. */
|
|
13
|
+
export function buildCliToolbelt(providers, registry) {
|
|
14
|
+
const byName = new Map();
|
|
15
|
+
for (const tool of [
|
|
16
|
+
...getBuiltinTools(),
|
|
17
|
+
...getApifyTools(),
|
|
18
|
+
...getSerpApiTools(),
|
|
19
|
+
...getAllMcpTools({ providers, registry, ...mcpToolHostDeps() }),
|
|
20
|
+
toolForCapabilityName("list_collections"),
|
|
21
|
+
toolForCapabilityName("query_collection")
|
|
22
|
+
]) {
|
|
23
|
+
if (!byName.has(tool.name))
|
|
24
|
+
byName.set(tool.name, tool);
|
|
25
|
+
}
|
|
26
|
+
return [...byName.values()];
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=agent-toolbelt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-toolbelt.js","sourceRoot":"","sources":["../src/agent-toolbelt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,eAAe,EACf,qBAAqB,EAEtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB,CAC9B,SAAuC,EACvC,QAAuB;IAEvB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgB,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI;QACjB,GAAG,eAAe,EAAE;QACpB,GAAG,aAAa,EAAE;QAClB,GAAG,eAAe,EAAE;QACpB,GAAG,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,EAAE,CAAC;QAChE,qBAAqB,CAAC,kBAAkB,CAAC;QACzC,qBAAqB,CAAC,kBAAkB,CAAC;KAC1C,EAAE,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one tRPC client the CLI talks to a NodeTool server with.
|
|
3
|
+
*
|
|
4
|
+
* `methodOverride: "POST"` keeps the batched input in the request body instead
|
|
5
|
+
* of the URL, so large batches stay under reverse-proxy URL-length limits.
|
|
6
|
+
* See #3979.
|
|
7
|
+
*/
|
|
8
|
+
import type { TRPCClient } from "@trpc/client";
|
|
9
|
+
import type { AppRouter } from "@nodetool-ai/websocket/trpc";
|
|
10
|
+
export declare function createApiClient(apiUrl: string): TRPCClient<AppRouter>;
|
|
11
|
+
export type ApiClient = TRPCClient<AppRouter>;
|
|
12
|
+
//# sourceMappingURL=api-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAUrE;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one tRPC client the CLI talks to a NodeTool server with.
|
|
3
|
+
*
|
|
4
|
+
* `methodOverride: "POST"` keeps the batched input in the request body instead
|
|
5
|
+
* of the URL, so large batches stay under reverse-proxy URL-length limits.
|
|
6
|
+
* See #3979.
|
|
7
|
+
*/
|
|
8
|
+
import { createTRPCClient, httpBatchLink } from "@trpc/client";
|
|
9
|
+
import { TRPC_MAX_BATCH_SIZE } from "@nodetool-ai/protocol";
|
|
10
|
+
export function createApiClient(apiUrl) {
|
|
11
|
+
return createTRPCClient({
|
|
12
|
+
links: [
|
|
13
|
+
httpBatchLink({
|
|
14
|
+
url: `${apiUrl}/trpc`,
|
|
15
|
+
maxItems: TRPC_MAX_BATCH_SIZE,
|
|
16
|
+
methodOverride: "POST"
|
|
17
|
+
})
|
|
18
|
+
]
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=api-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,gBAAgB,CAAY;QACjC,KAAK,EAAE;YACL,aAAa,CAAC;gBACZ,GAAG,EAAE,GAAG,MAAM,OAAO;gBACrB,QAAQ,EAAE,mBAAmB;gBAC7B,cAAc,EAAE,MAAM;aACvB,CAAC;SACH;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ProcessingMessage } from "@nodetool-ai/protocol";
|
|
2
|
+
import type { BuildReport } from "@nodetool-ai/agents";
|
|
3
|
+
/** Directory name for a target, mirroring `app debug`'s slug rule. */
|
|
4
|
+
export declare function defaultBuildOutDir(ref: string): string;
|
|
5
|
+
/** Where one interaction's runs are filed. */
|
|
6
|
+
export declare const interactionDir: (outDir: string, interaction: string) => string;
|
|
7
|
+
/** Write one run's raw message stream; returns the path recorded in the report. */
|
|
8
|
+
export declare function writeRunMessages(outDir: string, interaction: string, runIndex: number, messages: ProcessingMessage[]): Promise<string>;
|
|
9
|
+
/**
|
|
10
|
+
* Write the finished bundle. `app.bundle.json` is the deliverable, so it is
|
|
11
|
+
* written only for a build that produced one — a failed build's directory has
|
|
12
|
+
* the report and the evidence, and nothing importable.
|
|
13
|
+
*/
|
|
14
|
+
export declare function writeBuildBundle(outDir: string, report: BuildReport, markdown: string): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=bundle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/app-build/bundle.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQtD;AAED,8CAA8C;AAC9C,eAAO,MAAM,cAAc,WAAY,MAAM,eAAe,MAAM,KAAG,MACO,CAAC;AAE7E,mFAAmF;AACnF,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAoBf"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `app build` debug bundle: everything one build produced, on disk.
|
|
3
|
+
*
|
|
4
|
+
* Same convention as `app debug` — a timestamped directory under
|
|
5
|
+
* `nodetool-debug/` holding the machine-readable report, its human summary, and
|
|
6
|
+
* the raw evidence — plus the two artifacts only a build has: the
|
|
7
|
+
* `ApplicationBundle` it produced and the spec it was measured against. Message
|
|
8
|
+
* streams are filed per interaction, because a build replays several.
|
|
9
|
+
*/
|
|
10
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
11
|
+
import { join, resolve } from "node:path";
|
|
12
|
+
/** Directory name for a target, mirroring `app debug`'s slug rule. */
|
|
13
|
+
export function defaultBuildOutDir(ref) {
|
|
14
|
+
const slug = ref
|
|
15
|
+
.replace(/[^a-zA-Z0-9_-]+/g, "-")
|
|
16
|
+
.replace(/^-+|-+$/g, "")
|
|
17
|
+
.slice(0, 40) || "app";
|
|
18
|
+
const stamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
19
|
+
return resolve(`nodetool-debug/app-build-${slug}-${stamp}`);
|
|
20
|
+
}
|
|
21
|
+
/** Where one interaction's runs are filed. */
|
|
22
|
+
export const interactionDir = (outDir, interaction) => join(outDir, "interactions", interaction.replace(/[^a-zA-Z0-9_-]+/g, "-"));
|
|
23
|
+
/** Write one run's raw message stream; returns the path recorded in the report. */
|
|
24
|
+
export async function writeRunMessages(outDir, interaction, runIndex, messages) {
|
|
25
|
+
const dir = interactionDir(outDir, interaction);
|
|
26
|
+
await mkdir(dir, { recursive: true });
|
|
27
|
+
const relative = `interactions/${interaction.replace(/[^a-zA-Z0-9_-]+/g, "-")}/run-${runIndex + 1}.messages.jsonl`;
|
|
28
|
+
await writeFile(join(outDir, relative), messages.map((message) => JSON.stringify(message)).join("\n") + "\n", "utf8");
|
|
29
|
+
return relative;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Write the finished bundle. `app.bundle.json` is the deliverable, so it is
|
|
33
|
+
* written only for a build that produced one — a failed build's directory has
|
|
34
|
+
* the report and the evidence, and nothing importable.
|
|
35
|
+
*/
|
|
36
|
+
export async function writeBuildBundle(outDir, report, markdown) {
|
|
37
|
+
await mkdir(outDir, { recursive: true });
|
|
38
|
+
await writeFile(join(outDir, "report.json"), JSON.stringify(report, null, 2), "utf8");
|
|
39
|
+
await writeFile(join(outDir, "report.md"), markdown, "utf8");
|
|
40
|
+
await writeFile(join(outDir, "spec.json"), JSON.stringify(report.spec, null, 2), "utf8");
|
|
41
|
+
if (report.bundle) {
|
|
42
|
+
await writeFile(join(outDir, "app.bundle.json"), JSON.stringify(report.bundle, null, 2), "utf8");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/app-build/bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAI1C,sEAAsE;AACtE,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,MAAM,IAAI,GACR,GAAG;SACA,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7D,OAAO,OAAO,CAAC,4BAA4B,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,WAAmB,EAAU,EAAE,CAC5E,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC;AAE7E,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,WAAmB,EACnB,QAAgB,EAChB,QAA6B;IAE7B,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChD,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,gBAAgB,WAAW,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,QAAQ,QAAQ,GAAG,CAAC,iBAAiB,CAAC;IACnH,MAAM,SAAS,CACb,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EACtB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EACpE,MAAM,CACP,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,MAAmB,EACnB,QAAgB;IAEhB,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,CACb,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAC/B,MAAM,CACP,CAAC;IACF,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,SAAS,CACb,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EACzB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EACpC,MAAM,CACP,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,SAAS,CACb,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EACtC,MAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What `nodetool app build --watch` diffs between two builds of the same spec.
|
|
3
|
+
*
|
|
4
|
+
* The differ is the one `nodetool debug --watch` uses, so a build only has to
|
|
5
|
+
* say what its ok, its issues, its state, and its spend are. Issues come from
|
|
6
|
+
* the last repair round, which carries everything still wrong rather than a
|
|
7
|
+
* delta — the same set the command prints as "Outstanding issues" — so the
|
|
8
|
+
* diff's resolved/new lines line up with what a human just read.
|
|
9
|
+
*/
|
|
10
|
+
import type { BuildReport } from "@nodetool-ai/agents";
|
|
11
|
+
import type { RunSnapshot } from "../debug/diff.js";
|
|
12
|
+
export declare function snapshotBuildReport(report: BuildReport): RunSnapshot;
|
|
13
|
+
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/app-build/watch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAqBpD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CASpE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** One issue line, stable across rounds so the diff can match it. */
|
|
2
|
+
const issueLine = (issue) => `[${issue.stage}/${issue.code}] ${issue.message}`;
|
|
3
|
+
/** Everything still wrong at the end of the build. Empty on a green one. */
|
|
4
|
+
function outstandingIssues(report) {
|
|
5
|
+
if (report.verdict.ok)
|
|
6
|
+
return [];
|
|
7
|
+
const last = report.repairs[report.repairs.length - 1];
|
|
8
|
+
// A build that failed before the first repair round (spec, or a budget that
|
|
9
|
+
// ran out) has no complaint; its stage records are the only evidence.
|
|
10
|
+
const issues = last
|
|
11
|
+
? last.issues
|
|
12
|
+
: report.stages.flatMap((stage) => stage.issues);
|
|
13
|
+
return issues.map(issueLine);
|
|
14
|
+
}
|
|
15
|
+
export function snapshotBuildReport(report) {
|
|
16
|
+
const last = report.stages[report.stages.length - 1];
|
|
17
|
+
return {
|
|
18
|
+
ok: report.verdict.ok,
|
|
19
|
+
issues: outstandingIssues(report),
|
|
20
|
+
status: last ? `${last.stage}/${last.status}` : null,
|
|
21
|
+
tokens: null,
|
|
22
|
+
costUsd: report.cost.usd
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/app-build/watch.ts"],"names":[],"mappings":"AAYA,qEAAqE;AACrE,MAAM,SAAS,GAAG,CAAC,KAIlB,EAAU,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;AAEhE,4EAA4E;AAC5E,SAAS,iBAAiB,CAAC,MAAmB;IAC5C,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvD,4EAA4E;IAC5E,sEAAsE;IACtE,MAAM,MAAM,GAAG,IAAI;QACjB,CAAC,CAAC,IAAI,CAAC,MAAM;QACb,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACrD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrD,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;QACrB,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;QACjC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;QACpD,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type AppApplicationRecord, type AppWorkflowRecord, type ResolvedAppTarget } from "@nodetool-ai/execution/app-debug";
|
|
2
|
+
export type { ResolvedAppTarget, AppApplicationRecord, AppWorkflowRecord };
|
|
3
|
+
export interface AppTargetDeps {
|
|
4
|
+
/** Load a workflow by DB id, including its legacy `app_doc`. */
|
|
5
|
+
loadFromDb: (id: string) => Promise<AppWorkflowRecord | null>;
|
|
6
|
+
/** Load an application by DB id. Omitted when the caller has no DB. */
|
|
7
|
+
loadApplication?: (id: string) => Promise<AppApplicationRecord | null>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Resolve an app debug target: an application id, an ApplicationBundle JSON
|
|
11
|
+
* file, or a workflow id / workflow file carrying a legacy `app_doc`.
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolveAppTarget(ref: string, deps: AppTargetDeps): Promise<ResolvedAppTarget>;
|
|
14
|
+
//# sourceMappingURL=app-target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-target.d.ts","sourceRoot":"","sources":["../../src/app-debug/app-target.ts"],"names":[],"mappings":"AA6BA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,kCAAkC,CAAC;AAM1C,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC9D,uEAAuE;IACvE,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;CACxE;AAuFD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAsB5B"}
|