@nodetool-ai/cli 0.8.2 → 0.8.4-a24.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 +27 -0
- package/dist/.nodetool-build-stamp +1 -1
- package/dist/affected/affected.d.ts +4 -1
- package/dist/affected/affected.d.ts.map +1 -1
- package/dist/affected/affected.js +9 -2
- package/dist/affected/affected.js.map +1 -1
- package/dist/app-debug/harness.js +1 -1
- package/dist/app-debug/harness.js.map +1 -1
- package/dist/child-exit.d.ts +3 -0
- package/dist/child-exit.d.ts.map +1 -0
- package/dist/child-exit.js +17 -0
- package/dist/child-exit.js.map +1 -0
- package/dist/command-errors.d.ts +7 -9
- package/dist/command-errors.d.ts.map +1 -1
- package/dist/command-errors.js +36 -2
- package/dist/command-errors.js.map +1 -1
- package/dist/commands/__tests__/jtbd.test.js +1 -1
- package/dist/commands/__tests__/jtbd.test.js.map +1 -1
- package/dist/commands/__tests__/runtime.test.d.ts +2 -0
- package/dist/commands/__tests__/runtime.test.d.ts.map +1 -0
- package/dist/commands/__tests__/runtime.test.js +128 -0
- package/dist/commands/__tests__/runtime.test.js.map +1 -0
- package/dist/commands/affected.d.ts.map +1 -1
- package/dist/commands/affected.js +10 -5
- package/dist/commands/affected.js.map +1 -1
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +11 -2
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/app.d.ts.map +1 -1
- package/dist/commands/app.js +3 -5
- package/dist/commands/app.js.map +1 -1
- package/dist/commands/apps.d.ts.map +1 -1
- package/dist/commands/apps.js +128 -34
- package/dist/commands/apps.js.map +1 -1
- package/dist/commands/authorized-pack-install.d.ts +7 -0
- package/dist/commands/authorized-pack-install.d.ts.map +1 -0
- package/dist/commands/authorized-pack-install.js +20 -0
- package/dist/commands/authorized-pack-install.js.map +1 -0
- package/dist/commands/debug.d.ts.map +1 -1
- package/dist/commands/debug.js +15 -3
- package/dist/commands/debug.js.map +1 -1
- package/dist/commands/deploy-helpers.d.ts +2 -1
- package/dist/commands/deploy-helpers.d.ts.map +1 -1
- package/dist/commands/eval.d.ts.map +1 -1
- package/dist/commands/eval.js +4 -3
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/game-benchmark.d.ts +4 -0
- package/dist/commands/game-benchmark.d.ts.map +1 -1
- package/dist/commands/game-benchmark.js +8 -0
- package/dist/commands/game-benchmark.js.map +1 -1
- package/dist/commands/game-smoke.d.ts.map +1 -1
- package/dist/commands/game-smoke.js +3 -3
- package/dist/commands/game-smoke.js.map +1 -1
- package/dist/commands/game.d.ts.map +1 -1
- package/dist/commands/game.js +112 -23
- package/dist/commands/game.js.map +1 -1
- package/dist/commands/harness.d.ts +21 -0
- package/dist/commands/harness.d.ts.map +1 -1
- package/dist/commands/harness.js +203 -13
- package/dist/commands/harness.js.map +1 -1
- package/dist/commands/install-missing-packs.d.ts +21 -0
- package/dist/commands/install-missing-packs.d.ts.map +1 -0
- package/dist/commands/install-missing-packs.js +48 -0
- package/dist/commands/install-missing-packs.js.map +1 -0
- package/dist/commands/js-script.d.ts.map +1 -1
- package/dist/commands/js-script.js +11 -9
- package/dist/commands/js-script.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +2 -0
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/node.d.ts.map +1 -1
- package/dist/commands/node.js +15 -3
- package/dist/commands/node.js.map +1 -1
- package/dist/commands/output.d.ts +8 -0
- package/dist/commands/output.d.ts.map +1 -1
- package/dist/commands/output.js +18 -0
- package/dist/commands/output.js.map +1 -1
- package/dist/commands/pack-install-authorization.d.ts +40 -0
- package/dist/commands/pack-install-authorization.d.ts.map +1 -0
- package/dist/commands/pack-install-authorization.js +131 -0
- package/dist/commands/pack-install-authorization.js.map +1 -0
- package/dist/commands/pack-management.d.ts +26 -0
- package/dist/commands/pack-management.d.ts.map +1 -0
- package/dist/commands/pack-management.js +74 -0
- package/dist/commands/pack-management.js.map +1 -0
- package/dist/commands/packs.d.ts +2 -1
- package/dist/commands/packs.d.ts.map +1 -1
- package/dist/commands/packs.js +7 -2
- package/dist/commands/packs.js.map +1 -1
- package/dist/commands/projects.d.ts +11 -0
- package/dist/commands/projects.d.ts.map +1 -0
- package/dist/commands/projects.js +145 -0
- package/dist/commands/projects.js.map +1 -0
- package/dist/commands/resource-read.d.ts.map +1 -1
- package/dist/commands/resource-read.js +11 -13
- package/dist/commands/resource-read.js.map +1 -1
- package/dist/commands/runs.js +1 -1
- package/dist/commands/runs.js.map +1 -1
- package/dist/commands/runtime.d.ts +3 -0
- package/dist/commands/runtime.d.ts.map +1 -0
- package/dist/commands/runtime.js +122 -0
- package/dist/commands/runtime.js.map +1 -0
- package/dist/commands/sketch.d.ts.map +1 -1
- package/dist/commands/sketch.js +2 -4
- package/dist/commands/sketch.js.map +1 -1
- package/dist/commands/timeline-render.d.ts +0 -10
- package/dist/commands/timeline-render.d.ts.map +1 -1
- package/dist/commands/timeline-render.js +20 -29
- package/dist/commands/timeline-render.js.map +1 -1
- package/dist/commands/timeline-score.d.ts.map +1 -1
- package/dist/commands/timeline-score.js +4 -4
- package/dist/commands/timeline-score.js.map +1 -1
- package/dist/commands/timeline.d.ts.map +1 -1
- package/dist/commands/timeline.js +2 -4
- package/dist/commands/timeline.js.map +1 -1
- package/dist/commands/validate.d.ts +2 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +8 -3
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/version-commands.d.ts +2 -5
- package/dist/commands/version-commands.d.ts.map +1 -1
- package/dist/commands/version-commands.js +5 -10
- package/dist/commands/version-commands.js.map +1 -1
- package/dist/debug/server-runner.d.ts.map +1 -1
- package/dist/debug/server-runner.js +15 -1
- package/dist/debug/server-runner.js.map +1 -1
- package/dist/debug/target.d.ts.map +1 -1
- package/dist/debug/target.js +2 -11
- package/dist/debug/target.js.map +1 -1
- package/dist/debug-bundle.d.ts +12 -0
- package/dist/debug-bundle.d.ts.map +1 -0
- package/dist/debug-bundle.js +23 -0
- package/dist/debug-bundle.js.map +1 -0
- package/dist/document-json.d.ts +11 -0
- package/dist/document-json.d.ts.map +1 -0
- package/dist/document-json.js +27 -0
- package/dist/document-json.js.map +1 -0
- package/dist/evals/graph-runner.d.ts +1 -1
- package/dist/evals/graph-runner.d.ts.map +1 -1
- package/dist/evals/graph-runner.js +2 -2
- package/dist/evals/graph-runner.js.map +1 -1
- package/dist/harness/capability-coverage.d.ts +1 -1
- package/dist/harness/capability-coverage.d.ts.map +1 -1
- package/dist/harness/capability-coverage.js +1 -1
- package/dist/harness/capability-coverage.js.map +1 -1
- package/dist/harness/capability-table.d.ts.map +1 -1
- package/dist/harness/capability-table.js +87 -17
- package/dist/harness/capability-table.js.map +1 -1
- package/dist/harness/registry.d.ts.map +1 -1
- package/dist/harness/registry.js +183 -6
- package/dist/harness/registry.js.map +1 -1
- package/dist/index.js +13 -5
- package/dist/index.js.map +1 -1
- package/dist/install-lock.d.ts +12 -0
- package/dist/install-lock.d.ts.map +1 -0
- package/dist/install-lock.js +139 -0
- package/dist/install-lock.js.map +1 -0
- package/dist/js-script-debug/harness.d.ts +22 -0
- package/dist/js-script-debug/harness.d.ts.map +1 -1
- package/dist/js-script-debug/harness.js +14 -35
- package/dist/js-script-debug/harness.js.map +1 -1
- package/dist/js-script-debug/target.d.ts.map +1 -1
- package/dist/js-script-debug/target.js +1 -24
- package/dist/js-script-debug/target.js.map +1 -1
- package/dist/node/run-node.d.ts +3 -0
- package/dist/node/run-node.d.ts.map +1 -1
- package/dist/node/run-node.js +18 -2
- package/dist/node/run-node.js.map +1 -1
- package/dist/node-registry.d.ts +6 -4
- package/dist/node-registry.d.ts.map +1 -1
- package/dist/node-registry.js +10 -5
- package/dist/node-registry.js.map +1 -1
- package/dist/nodetool-main.js +114 -76
- package/dist/nodetool-main.js.map +1 -1
- package/dist/nodetool.js +8 -1
- package/dist/nodetool.js.map +1 -1
- package/dist/npm-runner.d.ts +23 -0
- package/dist/npm-runner.d.ts.map +1 -0
- package/dist/npm-runner.js +159 -0
- package/dist/npm-runner.js.map +1 -0
- package/dist/optional-node-root.d.ts +10 -0
- package/dist/optional-node-root.d.ts.map +1 -0
- package/dist/optional-node-root.js +26 -0
- package/dist/optional-node-root.js.map +1 -0
- package/dist/package-assets.d.ts +8 -0
- package/dist/package-assets.d.ts.map +1 -0
- package/dist/package-assets.js +21 -0
- package/dist/package-assets.js.map +1 -0
- package/dist/packs/command-service.d.ts +14 -0
- package/dist/packs/command-service.d.ts.map +1 -0
- package/dist/packs/command-service.js +190 -0
- package/dist/packs/command-service.js.map +1 -0
- package/dist/packs/doctor-lock.d.ts +8 -0
- package/dist/packs/doctor-lock.d.ts.map +1 -0
- package/dist/packs/doctor-lock.js +50 -0
- package/dist/packs/doctor-lock.js.map +1 -0
- package/dist/packs/doctor.d.ts +25 -0
- package/dist/packs/doctor.d.ts.map +1 -0
- package/dist/packs/doctor.js +12 -0
- package/dist/packs/doctor.js.map +1 -0
- package/dist/packs/global-bootstrap.d.ts +11 -0
- package/dist/packs/global-bootstrap.d.ts.map +1 -0
- package/dist/packs/global-bootstrap.js +72 -0
- package/dist/packs/global-bootstrap.js.map +1 -0
- package/dist/packs/host.d.ts +17 -0
- package/dist/packs/host.d.ts.map +1 -0
- package/dist/packs/host.js +79 -0
- package/dist/packs/host.js.map +1 -0
- package/dist/packs/install-manifests.d.ts +2 -0
- package/dist/packs/install-manifests.d.ts.map +1 -0
- package/dist/packs/install-manifests.js +30 -0
- package/dist/packs/install-manifests.js.map +1 -0
- package/dist/packs/install-process.d.ts +4 -0
- package/dist/packs/install-process.d.ts.map +1 -0
- package/dist/packs/install-process.js +11 -0
- package/dist/packs/install-process.js.map +1 -0
- package/dist/packs/install-selection.d.ts +39 -0
- package/dist/packs/install-selection.d.ts.map +1 -0
- package/dist/packs/install-selection.js +67 -0
- package/dist/packs/install-selection.js.map +1 -0
- package/dist/packs/install-state.d.ts +21 -0
- package/dist/packs/install-state.d.ts.map +1 -0
- package/dist/packs/install-state.js +44 -0
- package/dist/packs/install-state.js.map +1 -0
- package/dist/packs/install-tree.d.ts +35 -0
- package/dist/packs/install-tree.d.ts.map +1 -0
- package/dist/packs/install-tree.js +253 -0
- package/dist/packs/install-tree.js.map +1 -0
- package/dist/packs/install-verification.d.ts +12 -0
- package/dist/packs/install-verification.d.ts.map +1 -0
- package/dist/packs/install-verification.js +76 -0
- package/dist/packs/install-verification.js.map +1 -0
- package/dist/packs/installed.d.ts +36 -0
- package/dist/packs/installed.d.ts.map +1 -0
- package/dist/packs/installed.js +87 -0
- package/dist/packs/installed.js.map +1 -0
- package/dist/packs/installer-load-check.d.ts +4 -0
- package/dist/packs/installer-load-check.d.ts.map +1 -0
- package/dist/packs/installer-load-check.js +52 -0
- package/dist/packs/installer-load-check.js.map +1 -0
- package/dist/packs/installer.d.ts +16 -0
- package/dist/packs/installer.d.ts.map +1 -0
- package/dist/packs/installer.js +142 -0
- package/dist/packs/installer.js.map +1 -0
- package/dist/packs/management.d.ts +51 -0
- package/dist/packs/management.d.ts.map +1 -0
- package/dist/packs/management.js +81 -0
- package/dist/packs/management.js.map +1 -0
- package/dist/packs/mode.d.ts +42 -0
- package/dist/packs/mode.d.ts.map +1 -0
- package/dist/packs/mode.js +215 -0
- package/dist/packs/mode.js.map +1 -0
- package/dist/packs/owned-replay-plan.d.ts +5 -0
- package/dist/packs/owned-replay-plan.d.ts.map +1 -0
- package/dist/packs/owned-replay-plan.js +68 -0
- package/dist/packs/owned-replay-plan.js.map +1 -0
- package/dist/packs/removal-selection.d.ts +12 -0
- package/dist/packs/removal-selection.d.ts.map +1 -0
- package/dist/packs/removal-selection.js +169 -0
- package/dist/packs/removal-selection.js.map +1 -0
- package/dist/packs/removal.d.ts +12 -0
- package/dist/packs/removal.d.ts.map +1 -0
- package/dist/packs/removal.js +138 -0
- package/dist/packs/removal.js.map +1 -0
- package/dist/packs/repair.d.ts +2 -0
- package/dist/packs/repair.d.ts.map +1 -0
- package/dist/packs/repair.js +2 -0
- package/dist/packs/repair.js.map +1 -0
- package/dist/packs/serve.d.ts +2 -0
- package/dist/packs/serve.d.ts.map +1 -0
- package/dist/packs/serve.js +14 -0
- package/dist/packs/serve.js.map +1 -0
- package/dist/providers.d.ts +1 -1
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +46 -6
- package/dist/providers.js.map +1 -1
- package/dist/run-dsl-supervised.d.ts.map +1 -1
- package/dist/run-dsl-supervised.js +8 -1
- package/dist/run-dsl-supervised.js.map +1 -1
- package/dist/runtime-env.d.ts +4 -0
- package/dist/runtime-env.d.ts.map +1 -0
- package/dist/runtime-env.js +31 -0
- package/dist/runtime-env.js.map +1 -0
- package/dist/sandbox-catalog.d.ts +3 -1
- package/dist/sandbox-catalog.d.ts.map +1 -1
- package/dist/sandbox-catalog.js +7 -2
- package/dist/sandbox-catalog.js.map +1 -1
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +2 -0
- package/dist/settings.js.map +1 -1
- package/dist/sketch-debug/harness.d.ts +15 -1
- package/dist/sketch-debug/harness.d.ts.map +1 -1
- package/dist/sketch-debug/harness.js +11 -38
- package/dist/sketch-debug/harness.js.map +1 -1
- package/dist/sketch-debug/target.d.ts.map +1 -1
- package/dist/sketch-debug/target.js +1 -24
- package/dist/sketch-debug/target.js.map +1 -1
- package/dist/stdin.d.ts +6 -1
- package/dist/stdin.d.ts.map +1 -1
- package/dist/stdin.js +8 -0
- package/dist/stdin.js.map +1 -1
- package/dist/timeline-debug/harness.d.ts +14 -0
- package/dist/timeline-debug/harness.d.ts.map +1 -1
- package/dist/timeline-debug/harness.js +9 -31
- package/dist/timeline-debug/harness.js.map +1 -1
- package/dist/timeline-debug/target.d.ts.map +1 -1
- package/dist/timeline-debug/target.js +1 -24
- package/dist/timeline-debug/target.js.map +1 -1
- package/dist/validate/index.d.ts +3 -2
- package/dist/validate/index.d.ts.map +1 -1
- package/dist/validate/index.js +30 -2
- package/dist/validate/index.js.map +1 -1
- package/dist/workflow-file.d.ts +3 -0
- package/dist/workflow-file.d.ts.map +1 -0
- package/dist/workflow-file.js +176 -0
- package/dist/workflow-file.js.map +1 -0
- package/package.json +34 -40
package/README.md
CHANGED
|
@@ -10,6 +10,33 @@ Ships two executables: `nodetool` for managing workflows, jobs, assets, models,
|
|
|
10
10
|
npm install -g @nodetool-ai/cli
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
## Agents and headless machines
|
|
14
|
+
|
|
15
|
+
The CLI needs Node.js 22 or later and nothing else: no repository, no `.env`,
|
|
16
|
+
and no desktop session. Provider keys are read from the environment.
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Run as an MCP server over stdio for Claude Code, Codex, or any MCP client
|
|
20
|
+
npx -y -p @nodetool-ai/cli nodetool mcp serve
|
|
21
|
+
|
|
22
|
+
# Serve the HTTP + WebSocket API (health check at /health)
|
|
23
|
+
npx -y -p @nodetool-ai/cli nodetool serve --port 7777
|
|
24
|
+
|
|
25
|
+
# Run a workflow file and print its outputs as JSON
|
|
26
|
+
OPENAI_API_KEY=sk-... npx -y -p @nodetool-ai/cli nodetool \
|
|
27
|
+
workflows run workflow.json --params '{"prompt":"hello"}' --json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Keep `-p @nodetool-ai/cli nodetool`. The package installs two executables, so
|
|
31
|
+
`npx @nodetool-ai/cli` cannot tell which one to run.
|
|
32
|
+
|
|
33
|
+
On a machine without a system keychain (a container, CI, or a server without
|
|
34
|
+
a D-Bus session) the encrypted secret store stays locked. The API server, the
|
|
35
|
+
MCP server, and workflow runs still start, and stored secrets are unavailable.
|
|
36
|
+
To store secrets there, set `SECRETS_MASTER_KEY` to a base64
|
|
37
|
+
32-byte key, for example from `openssl rand -base64 32`, and keep the same
|
|
38
|
+
value for every run.
|
|
39
|
+
|
|
13
40
|
## Executables
|
|
14
41
|
|
|
15
42
|
| Command | Description |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
2026-10-
|
|
1
|
+
2026-10-16T07:30:12.498Z
|
|
@@ -17,7 +17,10 @@ export interface PackageInfo {
|
|
|
17
17
|
* the reliability harness runs; editing one changes what
|
|
18
18
|
* `nodetool reliability run` does, but the files sit outside
|
|
19
19
|
* `reliability/harness/`, so a path-prefix match alone reports them as
|
|
20
|
-
* belonging to no workspace.
|
|
20
|
+
* belonging to no workspace. `packages/system-skills/` and
|
|
21
|
+
* `packages/sandbox-packs/` are not workspaces either, for the same reason.
|
|
22
|
+
* Turbo cannot see this ownership: each owner's `test` inputs in turbo.json
|
|
23
|
+
* list the directory, and `scripts/ci-plan.mjs` drops `--affected` for it.
|
|
21
24
|
*/
|
|
22
25
|
export declare const EXTRA_WORKSPACE_PATHS: Readonly<Record<string, readonly string[]>>;
|
|
23
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affected.d.ts","sourceRoot":"","sources":["../../src/affected/affected.ts"],"names":[],"mappings":"AAeA,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
|
|
1
|
+
{"version":3,"file":"affected.d.ts","sourceRoot":"","sources":["../../src/affected/affected.ts"],"names":[],"mappings":"AAeA,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;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAC1C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAOlC,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CA2BrE;AAED,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"}
|
|
@@ -27,10 +27,17 @@ export const DECORATOR_PACKAGES = new Set([
|
|
|
27
27
|
* the reliability harness runs; editing one changes what
|
|
28
28
|
* `nodetool reliability run` does, but the files sit outside
|
|
29
29
|
* `reliability/harness/`, so a path-prefix match alone reports them as
|
|
30
|
-
* belonging to no workspace.
|
|
30
|
+
* belonging to no workspace. `packages/system-skills/` and
|
|
31
|
+
* `packages/sandbox-packs/` are not workspaces either, for the same reason.
|
|
32
|
+
* Turbo cannot see this ownership: each owner's `test` inputs in turbo.json
|
|
33
|
+
* list the directory, and `scripts/ci-plan.mjs` drops `--affected` for it.
|
|
31
34
|
*/
|
|
32
35
|
export const EXTRA_WORKSPACE_PATHS = {
|
|
33
|
-
"@nodetool-ai/reliability-harness": ["reliability/journeys"]
|
|
36
|
+
"@nodetool-ai/reliability-harness": ["reliability/journeys"],
|
|
37
|
+
// Shipped skills, loaded by `agents` (src/system-skills.ts).
|
|
38
|
+
"@nodetool-ai/agents": ["packages/system-skills"],
|
|
39
|
+
// Guest packs, loaded by node-sdk's pack loader and so by everything above it.
|
|
40
|
+
"@nodetool-ai/node-sdk": ["packages/sandbox-packs"]
|
|
34
41
|
};
|
|
35
42
|
/**
|
|
36
43
|
* Mobile is deliberately not a root workspace, so its dependency on NodeTool
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affected.js","sourceRoot":"","sources":["../../src/affected/affected.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,kFAAkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IAC7D,uBAAuB;IACvB,yBAAyB;IACzB,wBAAwB;IACxB,8BAA8B;IAC9B,+BAA+B;CAChC,CAAC,CAAC;AAaH
|
|
1
|
+
{"version":3,"file":"affected.js","sourceRoot":"","sources":["../../src/affected/affected.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,7 +93,7 @@ export async function runAppDebug(ref, options, deps) {
|
|
|
93
93
|
const context = new Context({ userId: LOCAL_USER_ID, jobId: `app-debug-${Date.now()}`,
|
|
94
94
|
secretResolver: getSecret, storage: new FileStorageAdapter(getDefaultAssetsPath()) });
|
|
95
95
|
const recording = createAppDebugRunRecording({ userId: LOCAL_USER_ID, target: resolved,
|
|
96
|
-
context, registry: deps.registry ?? buildFullRegistry(), loadWorkflow: deps.loadFromDb, loadScript,
|
|
96
|
+
context, registry: deps.registry ?? await buildFullRegistry(), loadWorkflow: deps.loadFromDb, loadScript,
|
|
97
97
|
onRunCreated: (id) => { runIds.add(id); },
|
|
98
98
|
applicationId: resolved.info.source === "application" ? resolved.info.ref : undefined,
|
|
99
99
|
runWorkflow: (parent, input) => runOnServer({ ...input, context: parent }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/app-debug/harness.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/app-debug/harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child-exit.d.ts","sourceRoot":"","sources":["../src/child-exit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,wBAAgB,aAAa,CAC3B,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,GACrE,MAAM,CAIR"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The exit code to pass on for a child run with `spawnSync`.
|
|
3
|
+
*
|
|
4
|
+
* `result.status` is null when the child was killed by a signal or never
|
|
5
|
+
* started (`result.error`), so `status ?? 0` reported a crashed or missing
|
|
6
|
+
* server as success. A signal maps to the shell's `128 + n`; anything else
|
|
7
|
+
* without a status is a failure.
|
|
8
|
+
*/
|
|
9
|
+
import { constants } from "node:os";
|
|
10
|
+
export function childExitCode(result) {
|
|
11
|
+
if (result.status !== null)
|
|
12
|
+
return result.status;
|
|
13
|
+
if (result.signal)
|
|
14
|
+
return 128 + (constants.signals[result.signal] ?? 0);
|
|
15
|
+
return 1;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=child-exit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child-exit.js","sourceRoot":"","sources":["../src/child-exit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,MAAM,UAAU,aAAa,CAC3B,MAAsE;IAEtE,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,CAAC;AACX,CAAC"}
|
package/dist/command-errors.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*/
|
|
9
|
-
export declare function printCommandError(err: unknown, json?: boolean): void;
|
|
1
|
+
import { type MissingRuntimeDetails } from "@nodetool-ai/protocol";
|
|
2
|
+
import { type MissingPackDetails } from "@nodetool-ai/protocol";
|
|
3
|
+
export declare function commandMissingPack(value: unknown): MissingPackDetails | null;
|
|
4
|
+
export declare function commandMissingRuntime(value: unknown): MissingRuntimeDetails | null;
|
|
5
|
+
/** Missing runtimes use the shared install-required exit code. */
|
|
6
|
+
export declare function commandFailureExitCode(error: unknown): 1 | 3;
|
|
7
|
+
export declare function printCommandError(err: unknown, json?: boolean): 1 | 3;
|
|
10
8
|
//# sourceMappingURL=command-errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-errors.d.ts","sourceRoot":"","sources":["../src/command-errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-errors.d.ts","sourceRoot":"","sources":["../src/command-errors.ts"],"names":[],"mappings":"AASA,OAAO,EAA4E,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC7I,OAAO,EAAmE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAWjI,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAK5E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,GAAG,IAAI,CAKlF;AAED,kEAAkE;AAClE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAE5D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAOrE"}
|
package/dist/command-errors.js
CHANGED
|
@@ -6,10 +6,44 @@
|
|
|
6
6
|
* was indistinguishable from a broken pipe. The human message still goes to
|
|
7
7
|
* stderr; `--json` additionally puts `{"error": …}` on stdout.
|
|
8
8
|
*/
|
|
9
|
+
import { z } from "zod";
|
|
10
|
+
import { missingRuntimeDetailsOf, missingRuntimeDetailsSchema, missingRuntimeText } from "@nodetool-ai/protocol";
|
|
11
|
+
import { missingPackDetailsOf, missingPackDetailsSchema, missingPackText } from "@nodetool-ai/protocol";
|
|
12
|
+
const commandFailureSchema = z.object({
|
|
13
|
+
missingPack: missingPackDetailsSchema.optional().catch(undefined),
|
|
14
|
+
missingRuntime: missingRuntimeDetailsSchema.optional().catch(undefined),
|
|
15
|
+
server: z.object({
|
|
16
|
+
missingPack: missingPackDetailsSchema.optional().catch(undefined),
|
|
17
|
+
missingRuntime: missingRuntimeDetailsSchema.optional().catch(undefined)
|
|
18
|
+
}).optional().catch(undefined)
|
|
19
|
+
});
|
|
20
|
+
export function commandMissingPack(value) {
|
|
21
|
+
const details = missingPackDetailsOf(value);
|
|
22
|
+
if (details) {
|
|
23
|
+
return details;
|
|
24
|
+
}
|
|
25
|
+
const parsed = commandFailureSchema.safeParse(value);
|
|
26
|
+
return parsed.success ? parsed.data.missingPack ?? parsed.data.server?.missingPack ?? null : null;
|
|
27
|
+
}
|
|
28
|
+
export function commandMissingRuntime(value) {
|
|
29
|
+
const details = missingRuntimeDetailsOf(value);
|
|
30
|
+
if (details) {
|
|
31
|
+
return details;
|
|
32
|
+
}
|
|
33
|
+
const parsed = commandFailureSchema.safeParse(value);
|
|
34
|
+
return parsed.success ? parsed.data.missingRuntime ?? parsed.data.server?.missingRuntime ?? null : null;
|
|
35
|
+
}
|
|
36
|
+
/** Missing runtimes use the shared install-required exit code. */
|
|
37
|
+
export function commandFailureExitCode(error) {
|
|
38
|
+
return commandMissingRuntime(error) || commandMissingPack(error) ? 3 : 1;
|
|
39
|
+
}
|
|
9
40
|
export function printCommandError(err, json) {
|
|
10
|
-
const
|
|
41
|
+
const missing = commandMissingRuntime(err);
|
|
42
|
+
const pack = commandMissingPack(err);
|
|
43
|
+
const message = missing ? missingRuntimeText(missing) : pack ? missingPackText(pack) : err instanceof Error ? err.message : String(err);
|
|
11
44
|
console.error(message);
|
|
12
45
|
if (json)
|
|
13
|
-
console.log(JSON.stringify({ error: message }, null, 2));
|
|
46
|
+
console.log(JSON.stringify(missing ? { error: "missing_runtime_package", ...missing } : pack ?? { error: message }, null, 2));
|
|
47
|
+
return commandFailureExitCode(err);
|
|
14
48
|
}
|
|
15
49
|
//# sourceMappingURL=command-errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-errors.js","sourceRoot":"","sources":["../src/command-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY,EAAE,IAAc;IAC5D,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"command-errors.js","sourceRoot":"","sources":["../src/command-errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ const TEST_JOB = {
|
|
|
20
20
|
difficulty: "smoke",
|
|
21
21
|
objective: "Do the test job",
|
|
22
22
|
outcomeNames: [],
|
|
23
|
-
start: () => ({ tools: [], grade: () => [] })
|
|
23
|
+
start: async () => ({ tools: [], grade: () => [] })
|
|
24
24
|
};
|
|
25
25
|
const originalExitCode = process.exitCode;
|
|
26
26
|
afterEach(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jtbd.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/jtbd.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAEhE,sDAAsD;AACtD,MAAM,QAAQ,GAAc;IAC1B,EAAE,EAAE,KAAK;IACT,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,iBAAiB;IAC5B,YAAY,EAAE,EAAE;IAChB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"jtbd.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/jtbd.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.test.d.ts","sourceRoot":"","sources":["../../../src/commands/__tests__/runtime.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `nodetool runtime` and the optional-node root it fills. The root lives in
|
|
3
|
+
* the data directory, so each test points XDG_DATA_HOME / APPDATA at a
|
|
4
|
+
* temporary directory and never touches the real one or the network.
|
|
5
|
+
*/
|
|
6
|
+
import { mkdir, mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
|
|
7
|
+
import { tmpdir } from "node:os";
|
|
8
|
+
import { join } from "node:path";
|
|
9
|
+
import { Command } from "commander";
|
|
10
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
11
|
+
import { RUNTIME_NPM_PACKAGES } from "@nodetool-ai/protocol";
|
|
12
|
+
import { optionalNodeRoot, optionalNodeModulesDir, applyOptionalNodeModules } from "../../optional-node-root.js";
|
|
13
|
+
import { registerRuntimeCommands } from "../runtime.js";
|
|
14
|
+
import * as npmRunner from "../../npm-runner.js";
|
|
15
|
+
const ENV_KEYS = ["XDG_DATA_HOME", "APPDATA", "HOME", "USERPROFILE", "NODETOOL_OPTIONAL_NODE_MODULES", "NODETOOL_HOST", "PATH", "UV_TOOL_DIR", "UV_TOOL_BIN_DIR", "UV_PYTHON_INSTALL_DIR"];
|
|
16
|
+
let saved;
|
|
17
|
+
let dataHome;
|
|
18
|
+
beforeEach(async () => {
|
|
19
|
+
saved = Object.fromEntries(ENV_KEYS.map((key) => [key, process.env[key]]));
|
|
20
|
+
dataHome = await mkdtemp(join(tmpdir(), "nodetool-runtime-"));
|
|
21
|
+
process.env["XDG_DATA_HOME"] = dataHome;
|
|
22
|
+
process.env["APPDATA"] = dataHome;
|
|
23
|
+
process.env["HOME"] = dataHome;
|
|
24
|
+
process.env["USERPROFILE"] = dataHome;
|
|
25
|
+
process.env["NODETOOL_HOST"] = "cli";
|
|
26
|
+
delete process.env["NODETOOL_OPTIONAL_NODE_MODULES"];
|
|
27
|
+
});
|
|
28
|
+
afterEach(async () => {
|
|
29
|
+
for (const key of ENV_KEYS) {
|
|
30
|
+
const value = saved[key];
|
|
31
|
+
if (value === undefined) {
|
|
32
|
+
delete process.env[key];
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
process.env[key] = value;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
vi.restoreAllMocks();
|
|
39
|
+
await rm(dataHome, { recursive: true, force: true });
|
|
40
|
+
});
|
|
41
|
+
/** Install a fake package into the optional-node root. */
|
|
42
|
+
async function fakeInstall(name, version) {
|
|
43
|
+
const dir = join(optionalNodeModulesDir(), name);
|
|
44
|
+
await mkdir(dir, { recursive: true });
|
|
45
|
+
await writeFile(join(dir, "package.json"), JSON.stringify({ name, version }));
|
|
46
|
+
}
|
|
47
|
+
async function run(args) {
|
|
48
|
+
const program = new Command().exitOverride();
|
|
49
|
+
registerRuntimeCommands(program);
|
|
50
|
+
const lines = [];
|
|
51
|
+
vi.spyOn(console, "log").mockImplementation((line) => {
|
|
52
|
+
lines.push(String(line));
|
|
53
|
+
});
|
|
54
|
+
await program.parseAsync(["node", "nodetool", ...args]);
|
|
55
|
+
return lines.join("\n");
|
|
56
|
+
}
|
|
57
|
+
describe("applyOptionalNodeModules", () => {
|
|
58
|
+
it("sets the variable before node_modules exists so a later install can resolve", () => {
|
|
59
|
+
applyOptionalNodeModules();
|
|
60
|
+
expect(process.env["NODETOOL_OPTIONAL_NODE_MODULES"]).toBe(optionalNodeModulesDir());
|
|
61
|
+
});
|
|
62
|
+
it("points the variable at the root once something is installed", async () => {
|
|
63
|
+
await fakeInstall("js-tiktoken", "1.0.21");
|
|
64
|
+
applyOptionalNodeModules();
|
|
65
|
+
expect(process.env["NODETOOL_OPTIONAL_NODE_MODULES"]).toBe(optionalNodeModulesDir());
|
|
66
|
+
});
|
|
67
|
+
it("keeps a root the caller already chose", async () => {
|
|
68
|
+
await fakeInstall("js-tiktoken", "1.0.21");
|
|
69
|
+
process.env["NODETOOL_OPTIONAL_NODE_MODULES"] = "/desktop/optional-node";
|
|
70
|
+
applyOptionalNodeModules();
|
|
71
|
+
expect(process.env["NODETOOL_OPTIONAL_NODE_MODULES"]).toBe("/desktop/optional-node");
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
describe("nodetool runtime", () => {
|
|
75
|
+
it("lists every catalog package with what the root holds", async () => {
|
|
76
|
+
await fakeInstall("js-tiktoken", "1.0.21");
|
|
77
|
+
// Only one half of a two-package runtime package: not installed.
|
|
78
|
+
await fakeInstall("imapflow", "1.7.1");
|
|
79
|
+
const listed = JSON.parse(await run(["runtime", "list", "--json"]));
|
|
80
|
+
expect(listed.packages.map((row) => row.id).sort()).toEqual(Object.keys(RUNTIME_NPM_PACKAGES).sort());
|
|
81
|
+
const byId = new Map(listed.packages.map((row) => [row.id, row]));
|
|
82
|
+
expect(byId.get("tokenizer")).toMatchObject({ installed: true, version: "1.0.21" });
|
|
83
|
+
expect(byId.get("email-imap")).toMatchObject({ installed: false });
|
|
84
|
+
expect(byId.get("fabric")).toMatchObject({ installed: false });
|
|
85
|
+
});
|
|
86
|
+
it("refuses an unknown id before it runs npm", async () => {
|
|
87
|
+
await expect(run(["runtime", "add", "tokenizer", "left-pad"])).rejects.toThrow(/Unknown runtime package: left-pad/);
|
|
88
|
+
});
|
|
89
|
+
it("installs exact registry specs under the target lock with a module manifest", async () => {
|
|
90
|
+
vi.spyOn(console, "error").mockImplementation(() => undefined);
|
|
91
|
+
const npm = vi.spyOn(npmRunner, "runNpm").mockImplementation(async (root) => {
|
|
92
|
+
const manifest = JSON.parse(await readFile(join(root, "package.json"), "utf8"));
|
|
93
|
+
expect(manifest).toMatchObject({ private: true, type: "module" });
|
|
94
|
+
const lock = JSON.parse(await readFile(join(root, ".nodetool-runtime.lock"), "utf8"));
|
|
95
|
+
expect(lock).toMatchObject({ pid: process.pid });
|
|
96
|
+
expect(lock.token).toEqual(expect.any(String));
|
|
97
|
+
});
|
|
98
|
+
await run(["runtime", "add", "tokenizer"]);
|
|
99
|
+
expect(npm).toHaveBeenCalledWith(optionalNodeRoot(), ["install", ...RUNTIME_NPM_PACKAGES.tokenizer.npmPackages], expect.objectContaining({ mode: "local", scriptPolicy: "user" }));
|
|
100
|
+
await expect(readFile(join(optionalNodeRoot(), ".nodetool-runtime.lock"))).rejects.toMatchObject({ code: "ENOENT" });
|
|
101
|
+
});
|
|
102
|
+
it("removes only the requested package names under the same target lock", async () => {
|
|
103
|
+
await writeFile(join(dataHome, "package.json"), "{}");
|
|
104
|
+
await mkdir(optionalNodeRoot(), { recursive: true });
|
|
105
|
+
await writeFile(join(optionalNodeRoot(), "package.json"), "{}");
|
|
106
|
+
const npm = vi.spyOn(npmRunner, "runNpm").mockImplementation(async (root) => {
|
|
107
|
+
expect(JSON.parse(await readFile(join(root, ".nodetool-runtime.lock"), "utf8"))).toMatchObject({ pid: process.pid });
|
|
108
|
+
});
|
|
109
|
+
await run(["runtime", "remove", "tokenizer"]);
|
|
110
|
+
expect(npm).toHaveBeenCalledWith(optionalNodeRoot(), ["uninstall", ...RUNTIME_NPM_PACKAGES.tokenizer.packageNames], expect.objectContaining({ mode: "local", scriptPolicy: "user" }));
|
|
111
|
+
});
|
|
112
|
+
it("prints the root it installs into", async () => {
|
|
113
|
+
expect(await run(["runtime", "path"])).toBe(join(dataHome, "nodetool", "optional-node"));
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
describe("RUNTIME_NPM_PACKAGES", () => {
|
|
117
|
+
it("pins every spec to an exact version of a package it names", () => {
|
|
118
|
+
for (const [id, spec] of Object.entries(RUNTIME_NPM_PACKAGES)) {
|
|
119
|
+
const names = spec.npmPackages.map((entry) => {
|
|
120
|
+
const match = /^(@?[^@]+)@(?:npm:@typescript\/typescript6@)?(\d+\.\d+\.\d+)$/.exec(entry);
|
|
121
|
+
expect(match, `${id}: ${entry} is not name@x.y.z`).not.toBeNull();
|
|
122
|
+
return match?.[1];
|
|
123
|
+
});
|
|
124
|
+
expect([...names].sort(), id).toEqual([...spec.packageNames].sort());
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
//# sourceMappingURL=runtime.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/runtime.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affected.d.ts","sourceRoot":"","sources":["../../src/commands/affected.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"affected.d.ts","sourceRoot":"","sources":["../../src/commands/affected.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6G9D"}
|
|
@@ -10,7 +10,7 @@ export function registerAffectedCommand(program) {
|
|
|
10
10
|
const { readFileSync, readdirSync, existsSync } = await import("node:fs");
|
|
11
11
|
const { join, resolve, dirname } = await import("node:path");
|
|
12
12
|
const { fileURLToPath } = await import("node:url");
|
|
13
|
-
const {
|
|
13
|
+
const { execFileSync } = await import("node:child_process");
|
|
14
14
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
15
15
|
// dist layout: packages/cli/dist/commands → repo root is four up.
|
|
16
16
|
const repoRoot = resolve(here, "..", "..", "..", "..");
|
|
@@ -66,10 +66,15 @@ export function registerAffectedCommand(program) {
|
|
|
66
66
|
}
|
|
67
67
|
let changedFiles = files;
|
|
68
68
|
if (changedFiles.length === 0) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
// argv, never a shell line: `--base` is a git ref, and ref names
|
|
70
|
+
// may carry `;`, `$(…)` and backticks.
|
|
71
|
+
const args = opts.base
|
|
72
|
+
? ["diff", "--name-only", `${opts.base}...HEAD`]
|
|
73
|
+
: ["status", "--porcelain"];
|
|
74
|
+
const out = execFileSync("git", args, {
|
|
75
|
+
cwd: repoRoot,
|
|
76
|
+
encoding: "utf8"
|
|
77
|
+
});
|
|
73
78
|
changedFiles = opts.base
|
|
74
79
|
? out.split("\n").map((l) => l.trim()).filter(Boolean)
|
|
75
80
|
: out
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affected.js","sourceRoot":"","sources":["../../src/commands/affected.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EAGrB,MAAM,yBAAyB,CAAC;AAOjC,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CACV,+FAA+F,CAChG;SACA,MAAM,CACL,cAAc,EACd,mEAAmE,CACpE;SACA,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC;SAC5C,MAAM,CAAC,KAAK,EAAE,KAAe,EAAE,IAAwB,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAC5D,SAAS,CACV,CAAC;YACF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAC7D,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"affected.js","sourceRoot":"","sources":["../../src/commands/affected.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8JpC,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAcD,4EAA4E;AAC5E,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAwOvE;AAgJD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+D5D"}
|
package/dist/commands/agent.js
CHANGED
|
@@ -30,6 +30,7 @@ import { budgetStopReason, budgetSummaryLine, createCliRunBudget } from "../run-
|
|
|
30
30
|
import { createCliPermissionGate, parsePermissionMode, PERMISSION_MODE_NAMES } from "../permission-gate.js";
|
|
31
31
|
import { diagnoseRun, renderDiagnosis } from "../diagnose.js";
|
|
32
32
|
import { isRecord, isString } from "../predicates.js";
|
|
33
|
+
import { parseNumericOption } from "../numeric-options.js";
|
|
33
34
|
const PROVIDER_ALIASES = {
|
|
34
35
|
google: "gemini",
|
|
35
36
|
googleai: "gemini",
|
|
@@ -155,6 +156,14 @@ export async function runAgentCommand(opts) {
|
|
|
155
156
|
if (!modelId) {
|
|
156
157
|
throw new Error("No model specified. Use --model <id>.");
|
|
157
158
|
}
|
|
159
|
+
// `Number("ten")` is NaN, and a NaN round limit runs no rounds at all: the
|
|
160
|
+
// run then failed as if the model had answered nothing.
|
|
161
|
+
const maxIterations = opts.maxIterations === undefined
|
|
162
|
+
? undefined
|
|
163
|
+
: parseNumericOption(opts.maxIterations, "--max-iterations", {
|
|
164
|
+
integer: true,
|
|
165
|
+
min: 1
|
|
166
|
+
});
|
|
158
167
|
const objective = opts.objective ?? (await readObjectiveFromStdin());
|
|
159
168
|
if (!objective) {
|
|
160
169
|
throw new Error('No objective provided. Use --objective "..." or pipe it via stdin.');
|
|
@@ -224,7 +233,7 @@ export async function runAgentCommand(opts) {
|
|
|
224
233
|
// configuration — the thing YAML configs were removed for — and an agent
|
|
225
234
|
// run that behaves differently from the last one is not reproducible.
|
|
226
235
|
const belt = buildCliAgentBelt({
|
|
227
|
-
baseTools: buildCliToolbelt(configuredProviders, buildFullRegistry()),
|
|
236
|
+
baseTools: buildCliToolbelt(configuredProviders, await buildFullRegistry()),
|
|
228
237
|
provider,
|
|
229
238
|
model: modelId,
|
|
230
239
|
forwardMessage: emit,
|
|
@@ -260,7 +269,7 @@ export async function runAgentCommand(opts) {
|
|
|
260
269
|
context,
|
|
261
270
|
tools: turn.tools,
|
|
262
271
|
turnBudget: budget,
|
|
263
|
-
maxIterations
|
|
272
|
+
maxIterations,
|
|
264
273
|
callbacks: {
|
|
265
274
|
onChunk: (content) => {
|
|
266
275
|
emit({ type: "chunk", content, done: false });
|