@nexusclawhq/cli 0.3.26 → 0.3.27
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/CHANGELOG.md +11 -0
- package/dist/build-info.json +4 -4
- package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/cli-contract.types.d.ts +37 -1
- package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/contract-versions.d.ts +5 -1
- package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/contract-versions.js +6 -2
- package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/contract-versions.js.map +1 -1
- package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/index.d.ts +1 -1
- package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/index.js.map +1 -1
- package/dist/nexus-cli/src/cli-runner.test.d.ts +1 -0
- package/dist/nexus-cli/src/cli-runner.test.js +156 -0
- package/dist/nexus-cli/src/cli-runner.test.js.map +1 -0
- package/dist/nexus-cli/src/cli.d.ts +8 -0
- package/dist/nexus-cli/src/cli.js +133 -7
- package/dist/nexus-cli/src/cli.js.map +1 -1
- package/dist/nexus-cli/src/commands/ai/context-export.js +6 -3
- package/dist/nexus-cli/src/commands/ai/context-export.js.map +1 -1
- package/dist/nexus-cli/src/commands/ai/help.d.ts +1 -1
- package/dist/nexus-cli/src/commands/ai/help.js +14 -2
- package/dist/nexus-cli/src/commands/ai/help.js.map +1 -1
- package/dist/nexus-cli/src/commands/ai/help.test.js +32 -0
- package/dist/nexus-cli/src/commands/ai/help.test.js.map +1 -1
- package/dist/nexus-cli/src/commands/changeset/index.js +68 -34
- package/dist/nexus-cli/src/commands/changeset/index.js.map +1 -1
- package/dist/nexus-cli/src/commands/customer-entitlement/activate.js +16 -9
- package/dist/nexus-cli/src/commands/customer-entitlement/activate.js.map +1 -1
- package/dist/nexus-cli/src/commands/customer-entitlement/create.js +22 -15
- package/dist/nexus-cli/src/commands/customer-entitlement/create.js.map +1 -1
- package/dist/nexus-cli/src/commands/customer-entitlement/deactivate.js +16 -9
- package/dist/nexus-cli/src/commands/customer-entitlement/deactivate.js.map +1 -1
- package/dist/nexus-cli/src/commands/customer-entitlement/get.js +25 -17
- package/dist/nexus-cli/src/commands/customer-entitlement/get.js.map +1 -1
- package/dist/nexus-cli/src/commands/customer-entitlement/list.js +14 -5
- package/dist/nexus-cli/src/commands/customer-entitlement/list.js.map +1 -1
- package/dist/nexus-cli/src/commands/customer-entitlement/result.d.ts +1 -0
- package/dist/nexus-cli/src/commands/customer-entitlement/result.js +11 -0
- package/dist/nexus-cli/src/commands/customer-entitlement/result.js.map +1 -0
- package/dist/nexus-cli/src/commands/customer-entitlement/validate.js +13 -4
- package/dist/nexus-cli/src/commands/customer-entitlement/validate.js.map +1 -1
- package/dist/nexus-cli/src/commands/data/delete-bulk.js +12 -6
- package/dist/nexus-cli/src/commands/data/delete-bulk.js.map +1 -1
- package/dist/nexus-cli/src/commands/data/export-tree.js +15 -8
- package/dist/nexus-cli/src/commands/data/export-tree.js.map +1 -1
- package/dist/nexus-cli/src/commands/data/import-tree.js +14 -8
- package/dist/nexus-cli/src/commands/data/import-tree.js.map +1 -1
- package/dist/nexus-cli/src/commands/data/query.js +11 -4
- package/dist/nexus-cli/src/commands/data/query.js.map +1 -1
- package/dist/nexus-cli/src/commands/data/recycle-bin.js +9 -2
- package/dist/nexus-cli/src/commands/data/recycle-bin.js.map +1 -1
- package/dist/nexus-cli/src/commands/deployment/employee-report.js +17 -12
- package/dist/nexus-cli/src/commands/deployment/employee-report.js.map +1 -1
- package/dist/nexus-cli/src/commands/deployment/index.js +26 -10
- package/dist/nexus-cli/src/commands/deployment/index.js.map +1 -1
- package/dist/nexus-cli/src/commands/deployment/quick.js +12 -13
- package/dist/nexus-cli/src/commands/deployment/quick.js.map +1 -1
- package/dist/nexus-cli/src/commands/deployment/report.js +9 -8
- package/dist/nexus-cli/src/commands/deployment/report.js.map +1 -1
- package/dist/nexus-cli/src/commands/deployment/resume.js +15 -8
- package/dist/nexus-cli/src/commands/deployment/resume.js.map +1 -1
- package/dist/nexus-cli/src/commands/dx-json-option.test.js +1 -1
- package/dist/nexus-cli/src/commands/dx-json-option.test.js.map +1 -1
- package/dist/nexus-cli/src/commands/dx-pages.d.ts +1 -0
- package/dist/nexus-cli/src/commands/dx-pages.js +6 -3
- package/dist/nexus-cli/src/commands/dx-pages.js.map +1 -1
- package/dist/nexus-cli/src/commands/dx-workflows.e2e.test.js +4 -2
- package/dist/nexus-cli/src/commands/dx-workflows.e2e.test.js.map +1 -1
- package/dist/nexus-cli/src/commands/dx.js +111 -54
- package/dist/nexus-cli/src/commands/dx.js.map +1 -1
- package/dist/nexus-cli/src/commands/employee/bundle.js +3 -2
- package/dist/nexus-cli/src/commands/employee/bundle.js.map +1 -1
- package/dist/nexus-cli/src/commands/employee/deploy.e2e.test.js +9 -5
- package/dist/nexus-cli/src/commands/employee/deploy.e2e.test.js.map +1 -1
- package/dist/nexus-cli/src/commands/employee/deploy.js +45 -23
- package/dist/nexus-cli/src/commands/employee/deploy.js.map +1 -1
- package/dist/nexus-cli/src/commands/entitlement/grant.js +21 -11
- package/dist/nexus-cli/src/commands/entitlement/grant.js.map +1 -1
- package/dist/nexus-cli/src/commands/entitlement/list.js +11 -2
- package/dist/nexus-cli/src/commands/entitlement/list.js.map +1 -1
- package/dist/nexus-cli/src/commands/entitlement/revoke.js +20 -10
- package/dist/nexus-cli/src/commands/entitlement/revoke.js.map +1 -1
- package/dist/nexus-cli/src/commands/generate/class.js +5 -3
- package/dist/nexus-cli/src/commands/generate/class.js.map +1 -1
- package/dist/nexus-cli/src/commands/generate/component.js +5 -3
- package/dist/nexus-cli/src/commands/generate/component.js.map +1 -1
- package/dist/nexus-cli/src/commands/generate/project.js +5 -3
- package/dist/nexus-cli/src/commands/generate/project.js.map +1 -1
- package/dist/nexus-cli/src/commands/generate/test.js +5 -3
- package/dist/nexus-cli/src/commands/generate/test.js.map +1 -1
- package/dist/nexus-cli/src/commands/generate/trigger.js +5 -3
- package/dist/nexus-cli/src/commands/generate/trigger.js.map +1 -1
- package/dist/nexus-cli/src/commands/install-contract/index.js +34 -24
- package/dist/nexus-cli/src/commands/install-contract/index.js.map +1 -1
- package/dist/nexus-cli/src/commands/log/get.js +9 -2
- package/dist/nexus-cli/src/commands/log/get.js.map +1 -1
- package/dist/nexus-cli/src/commands/log/list.js +9 -1
- package/dist/nexus-cli/src/commands/log/list.js.map +1 -1
- package/dist/nexus-cli/src/commands/log/tail.js +101 -50
- package/dist/nexus-cli/src/commands/log/tail.js.map +1 -1
- package/dist/nexus-cli/src/commands/log/tail.test.d.ts +1 -0
- package/dist/nexus-cli/src/commands/log/tail.test.js +45 -0
- package/dist/nexus-cli/src/commands/log/tail.test.js.map +1 -0
- package/dist/nexus-cli/src/commands/metadata/deploy.js +34 -18
- package/dist/nexus-cli/src/commands/metadata/deploy.js.map +1 -1
- package/dist/nexus-cli/src/commands/metadata/diff.js +9 -6
- package/dist/nexus-cli/src/commands/metadata/diff.js.map +1 -1
- package/dist/nexus-cli/src/commands/metadata/export.js +7 -5
- package/dist/nexus-cli/src/commands/metadata/export.js.map +1 -1
- package/dist/nexus-cli/src/commands/metadata/import.js +24 -9
- package/dist/nexus-cli/src/commands/metadata/import.js.map +1 -1
- package/dist/nexus-cli/src/commands/metadata/retrieve.js +17 -7
- package/dist/nexus-cli/src/commands/metadata/retrieve.js.map +1 -1
- package/dist/nexus-cli/src/commands/metadata/validate-source.js +28 -14
- package/dist/nexus-cli/src/commands/metadata/validate-source.js.map +1 -1
- package/dist/nexus-cli/src/commands/metadata/validate.js +25 -11
- package/dist/nexus-cli/src/commands/metadata/validate.js.map +1 -1
- package/dist/nexus-cli/src/commands/org/default-set.js +10 -4
- package/dist/nexus-cli/src/commands/org/default-set.js.map +1 -1
- package/dist/nexus-cli/src/commands/org/display.js +17 -15
- package/dist/nexus-cli/src/commands/org/display.js.map +1 -1
- package/dist/nexus-cli/src/commands/org/login-jwt.js +20 -14
- package/dist/nexus-cli/src/commands/org/login-jwt.js.map +1 -1
- package/dist/nexus-cli/src/commands/org/login-web-terminal.test.d.ts +1 -0
- package/dist/nexus-cli/src/commands/org/login-web-terminal.test.js +128 -0
- package/dist/nexus-cli/src/commands/org/login-web-terminal.test.js.map +1 -0
- package/dist/nexus-cli/src/commands/org/login-web.js +180 -137
- package/dist/nexus-cli/src/commands/org/login-web.js.map +1 -1
- package/dist/nexus-cli/src/commands/org/logout.js +10 -4
- package/dist/nexus-cli/src/commands/org/logout.js.map +1 -1
- package/dist/nexus-cli/src/commands/org/open.js +16 -7
- package/dist/nexus-cli/src/commands/org/open.js.map +1 -1
- package/dist/nexus-cli/src/commands/org/step-up.js +15 -12
- package/dist/nexus-cli/src/commands/org/step-up.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/deprecate.js +23 -14
- package/dist/nexus-cli/src/commands/package/deprecate.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/format.js +17 -6
- package/dist/nexus-cli/src/commands/package/format.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/helpers.d.ts +5 -0
- package/dist/nexus-cli/src/commands/package/helpers.js +16 -0
- package/dist/nexus-cli/src/commands/package/helpers.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/history.js +20 -21
- package/dist/nexus-cli/src/commands/package/history.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/info.js +43 -43
- package/dist/nexus-cli/src/commands/package/info.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/install.js +45 -29
- package/dist/nexus-cli/src/commands/package/install.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/list.js +46 -48
- package/dist/nexus-cli/src/commands/package/list.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/pack.js +30 -16
- package/dist/nexus-cli/src/commands/package/pack.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/package-payload.e2e.test.js +12 -0
- package/dist/nexus-cli/src/commands/package/package-payload.e2e.test.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/package-query-json.e2e.test.js +9 -4
- package/dist/nexus-cli/src/commands/package/package-query-json.e2e.test.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/plan.js +20 -13
- package/dist/nexus-cli/src/commands/package/plan.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/promote.js +16 -11
- package/dist/nexus-cli/src/commands/package/promote.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/promotion-history.js +24 -18
- package/dist/nexus-cli/src/commands/package/promotion-history.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/publish.js +23 -13
- package/dist/nexus-cli/src/commands/package/publish.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/rollback.js +64 -43
- package/dist/nexus-cli/src/commands/package/rollback.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/rollout-status.js +15 -9
- package/dist/nexus-cli/src/commands/package/rollout-status.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/rollout-update.js +16 -9
- package/dist/nexus-cli/src/commands/package/rollout-update.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/rollout-workspaces.js +18 -12
- package/dist/nexus-cli/src/commands/package/rollout-workspaces.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/search.js +27 -25
- package/dist/nexus-cli/src/commands/package/search.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/uninstall.js +23 -16
- package/dist/nexus-cli/src/commands/package/uninstall.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/upgrade.js +37 -23
- package/dist/nexus-cli/src/commands/package/upgrade.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/validate.js +75 -59
- package/dist/nexus-cli/src/commands/package/validate.js.map +1 -1
- package/dist/nexus-cli/src/commands/package/versions.js +13 -12
- package/dist/nexus-cli/src/commands/package/versions.js.map +1 -1
- package/dist/nexus-cli/src/commands/preflight/get.js +14 -11
- package/dist/nexus-cli/src/commands/preflight/get.js.map +1 -1
- package/dist/nexus-cli/src/commands/preflight/run.e2e.test.js +9 -10
- package/dist/nexus-cli/src/commands/preflight/run.e2e.test.js.map +1 -1
- package/dist/nexus-cli/src/commands/preflight/run.js +14 -10
- package/dist/nexus-cli/src/commands/preflight/run.js.map +1 -1
- package/dist/nexus-cli/src/commands/project/convert.js +45 -35
- package/dist/nexus-cli/src/commands/project/convert.js.map +1 -1
- package/dist/nexus-cli/src/commands/project/deploy-start.js +40 -26
- package/dist/nexus-cli/src/commands/project/deploy-start.js.map +1 -1
- package/dist/nexus-cli/src/commands/project/index.js +5 -3
- package/dist/nexus-cli/src/commands/project/index.js.map +1 -1
- package/dist/nexus-cli/src/commands/revision/baseline.js +23 -10
- package/dist/nexus-cli/src/commands/revision/baseline.js.map +1 -1
- package/dist/nexus-cli/src/commands/revision/diff.js +9 -5
- package/dist/nexus-cli/src/commands/revision/diff.js.map +1 -1
- package/dist/nexus-cli/src/commands/revision/history.js +5 -3
- package/dist/nexus-cli/src/commands/revision/history.js.map +1 -1
- package/dist/nexus-cli/src/commands/revision/revision.e2e.test.js +4 -4
- package/dist/nexus-cli/src/commands/revision/revision.e2e.test.js.map +1 -1
- package/dist/nexus-cli/src/commands/revision/rollback.js +13 -5
- package/dist/nexus-cli/src/commands/revision/rollback.js.map +1 -1
- package/dist/nexus-cli/src/commands/sandbox/create.js +7 -5
- package/dist/nexus-cli/src/commands/sandbox/create.js.map +1 -1
- package/dist/nexus-cli/src/commands/sandbox/delete.js +12 -6
- package/dist/nexus-cli/src/commands/sandbox/delete.js.map +1 -1
- package/dist/nexus-cli/src/commands/sandbox/list.js +9 -1
- package/dist/nexus-cli/src/commands/sandbox/list.js.map +1 -1
- package/dist/nexus-cli/src/commands/script/run.js +17 -10
- package/dist/nexus-cli/src/commands/script/run.js.map +1 -1
- package/dist/nexus-cli/src/commands/source/get.js +11 -4
- package/dist/nexus-cli/src/commands/source/get.js.map +1 -1
- package/dist/nexus-cli/src/commands/source/pull.js +3 -2
- package/dist/nexus-cli/src/commands/source/pull.js.map +1 -1
- package/dist/nexus-cli/src/commands/source/push.js +14 -11
- package/dist/nexus-cli/src/commands/source/push.js.map +1 -1
- package/dist/nexus-cli/src/commands/source/source-sync.e2e.test.js +3 -2
- package/dist/nexus-cli/src/commands/source/source-sync.e2e.test.js.map +1 -1
- package/dist/nexus-cli/src/commands/source/status.js +3 -2
- package/dist/nexus-cli/src/commands/source/status.js.map +1 -1
- package/dist/nexus-cli/src/commands/test/report.js +9 -2
- package/dist/nexus-cli/src/commands/test/report.js.map +1 -1
- package/dist/nexus-cli/src/commands/test/run.js +13 -7
- package/dist/nexus-cli/src/commands/test/run.js.map +1 -1
- package/dist/nexus-cli/src/commands/user/service-account.js +9 -5
- package/dist/nexus-cli/src/commands/user/service-account.js.map +1 -1
- package/dist/nexus-cli/src/commands/validate/index.js +20 -8
- package/dist/nexus-cli/src/commands/validate/index.js.map +1 -1
- package/dist/nexus-cli/src/commands/workforce/agent.js +3 -3
- package/dist/nexus-cli/src/commands/workforce/command-attribution.test.d.ts +1 -0
- package/dist/nexus-cli/src/commands/workforce/command-attribution.test.js +26 -0
- package/dist/nexus-cli/src/commands/workforce/command-attribution.test.js.map +1 -0
- package/dist/nexus-cli/src/commands/workforce/escalation.js +1 -1
- package/dist/nexus-cli/src/commands/workforce/knowledge.js +6 -6
- package/dist/nexus-cli/src/commands/workforce/learning.js +5 -5
- package/dist/nexus-cli/src/commands/workforce/notification.js +1 -1
- package/dist/nexus-cli/src/commands/workforce/observe.js +2 -2
- package/dist/nexus-cli/src/commands/workforce/orchestration.js +2 -2
- package/dist/nexus-cli/src/commands/workforce/permission.js +3 -3
- package/dist/nexus-cli/src/commands/workforce/provider.js +1 -1
- package/dist/nexus-cli/src/commands/workforce/rehearsal.js +2 -2
- package/dist/nexus-cli/src/commands/workforce/sop.js +1 -1
- package/dist/nexus-cli/src/commands/workforce/task.js +1 -1
- package/dist/nexus-cli/src/commands/workforce/test-case.js +9 -9
- package/dist/nexus-cli/src/commands/workspace/index.js +55 -19
- package/dist/nexus-cli/src/commands/workspace/index.js.map +1 -1
- package/dist/nexus-cli/src/contracts/command-contract-matrix.d.ts +39 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.generated.test.d.ts +1 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.generated.test.js +842 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.generated.test.js.map +1 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.js +114 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.js.map +1 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.runner.d.ts +28 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.runner.js +159 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.runner.js.map +1 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.runner.test.d.ts +1 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.runner.test.js +69 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.runner.test.js.map +1 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.scenarios.d.ts +2 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.scenarios.js +145 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.scenarios.js.map +1 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.test.d.ts +1 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.test.js +53 -0
- package/dist/nexus-cli/src/contracts/command-contract-matrix.test.js.map +1 -0
- package/dist/nexus-cli/src/contracts/command-inventory.d.ts +35 -0
- package/dist/nexus-cli/src/contracts/command-inventory.js +88 -0
- package/dist/nexus-cli/src/contracts/command-inventory.js.map +1 -0
- package/dist/nexus-cli/src/contracts/command-inventory.test.d.ts +1 -0
- package/dist/nexus-cli/src/contracts/command-inventory.test.js +46 -0
- package/dist/nexus-cli/src/contracts/command-inventory.test.js.map +1 -0
- package/dist/nexus-cli/src/contracts/command-policy.exporter.d.ts +24 -0
- package/dist/nexus-cli/src/contracts/command-policy.exporter.js +51 -0
- package/dist/nexus-cli/src/contracts/command-policy.exporter.js.map +1 -0
- package/dist/nexus-cli/src/contracts/command-policy.exporter.test.d.ts +1 -0
- package/dist/nexus-cli/src/contracts/command-policy.exporter.test.js +33 -0
- package/dist/nexus-cli/src/contracts/command-policy.exporter.test.js.map +1 -0
- package/dist/nexus-cli/src/contracts/command-policy.registry.d.ts +14 -0
- package/dist/nexus-cli/src/contracts/command-policy.registry.js +185 -0
- package/dist/nexus-cli/src/contracts/command-policy.registry.js.map +1 -0
- package/dist/nexus-cli/src/contracts/command-policy.registry.test.d.ts +1 -0
- package/dist/nexus-cli/src/contracts/command-policy.registry.test.js +43 -0
- package/dist/nexus-cli/src/contracts/command-policy.registry.test.js.map +1 -0
- package/dist/nexus-cli/src/contracts/command-policy.validator.d.ts +20 -0
- package/dist/nexus-cli/src/contracts/command-policy.validator.js +179 -0
- package/dist/nexus-cli/src/contracts/command-policy.validator.js.map +1 -0
- package/dist/nexus-cli/src/contracts/command-policy.validator.test.d.ts +1 -0
- package/dist/nexus-cli/src/contracts/command-policy.validator.test.js +70 -0
- package/dist/nexus-cli/src/contracts/command-policy.validator.test.js.map +1 -0
- package/dist/nexus-cli/src/contracts/index.d.ts +7 -0
- package/dist/nexus-cli/src/contracts/index.js +24 -1
- package/dist/nexus-cli/src/contracts/index.js.map +1 -1
- package/dist/nexus-cli/src/contracts/machine-result.d.ts +3 -3
- package/dist/nexus-cli/src/contracts/machine-result.js +6 -0
- package/dist/nexus-cli/src/contracts/machine-result.js.map +1 -1
- package/dist/nexus-cli/src/runtime/failure-normalizer.d.ts +7 -0
- package/dist/nexus-cli/src/runtime/failure-normalizer.js +78 -0
- package/dist/nexus-cli/src/runtime/failure-normalizer.js.map +1 -0
- package/dist/nexus-cli/src/runtime/failure-normalizer.test.d.ts +1 -0
- package/dist/nexus-cli/src/runtime/failure-normalizer.test.js +41 -0
- package/dist/nexus-cli/src/runtime/failure-normalizer.test.js.map +1 -0
- package/dist/nexus-cli/src/runtime/output-coordinator.d.ts +31 -0
- package/dist/nexus-cli/src/runtime/output-coordinator.js +75 -0
- package/dist/nexus-cli/src/runtime/output-coordinator.js.map +1 -0
- package/dist/nexus-cli/src/runtime/output-coordinator.test.d.ts +1 -0
- package/dist/nexus-cli/src/runtime/output-coordinator.test.js +80 -0
- package/dist/nexus-cli/src/runtime/output-coordinator.test.js.map +1 -0
- package/dist/nexus-cli/src/services/workforce-bundle-archive.d.ts +1 -1
- package/dist/nexus-cli/src/services/workforce-bundle-remote.d.ts +1 -1
- package/dist/nexus-cli/src/services/workforce-test-remote.d.ts +1 -1
- package/dist/nexus-cli/src/services/workforce-test-remote.js +1 -1
- package/dist/nexus-cli/src/services/workforce-test-remote.test.js +2 -2
- package/dist/nexus-cli/src/utils/error-handler.js +3 -0
- package/dist/nexus-cli/src/utils/error-handler.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.27 - 2026-08-03
|
|
4
|
+
|
|
5
|
+
- Introduce the complete v2 CLI command-contract inventory for every executable
|
|
6
|
+
leaf and mode, with one canonical machine-result envelope and outermost error
|
|
7
|
+
boundary across legacy and current command families.
|
|
8
|
+
- Add registry-derived success, empty, failure, and dry-run contract coverage,
|
|
9
|
+
including exit-code equality, stdout/stderr isolation, redaction, resource
|
|
10
|
+
hygiene, and persistent side-effect checks.
|
|
11
|
+
- Make the focused CLI command-contract gate release-blocking and expose the
|
|
12
|
+
complete implemented inventory through machine-readable AI help.
|
|
13
|
+
|
|
3
14
|
## 0.3.26 - 2026-08-02
|
|
4
15
|
|
|
5
16
|
- Keep `workspace health` JSON envelope and process exit semantics aligned for
|
package/dist/build-info.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"packageName": "@nexusclawhq/cli",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"gitSha": "
|
|
3
|
+
"version": "0.3.27",
|
|
4
|
+
"gitSha": "11a23ccec61ac33bd99331a5517019fd01d457bf",
|
|
5
5
|
"ciRunId": null,
|
|
6
|
-
"contentDigest": "sha256:
|
|
7
|
-
"generatedAt": "2026-08-
|
|
6
|
+
"contentDigest": "sha256:91e277b464f261562326f77735a60cf1fb9d29e30147831b1353774d404f0918",
|
|
7
|
+
"generatedAt": "2026-08-02T23:23:46.412Z"
|
|
8
8
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* registry is owned by the CLI package; these types are the shared import
|
|
8
8
|
* surface consumed by backend guard parity checks as well.
|
|
9
9
|
*/
|
|
10
|
-
import { CLI_COMMAND_CONTRACT_SCHEMA_VERSION, CLI_RESULT_SCHEMA_VERSION } from './contract-versions';
|
|
10
|
+
import { CLI_COMMAND_CONTRACT_SCHEMA_VERSION, CLI_COMMAND_CONTRACT_SCHEMA_VERSION_V2, CLI_RESULT_SCHEMA_VERSION } from './contract-versions';
|
|
11
11
|
import type { JsonValue } from './json-value';
|
|
12
12
|
export type CliExitCode = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 64 | 70;
|
|
13
13
|
export type CliArgvSchemaMatcher = 'uuid' | 'sha256' | 'positive_integer';
|
|
@@ -93,6 +93,42 @@ export interface CliCommandContractV1 {
|
|
|
93
93
|
}>;
|
|
94
94
|
readonly contractCompleteness: 'complete' | 'derived' | 'partial';
|
|
95
95
|
}
|
|
96
|
+
export type CliOutputModeV2 = 'human' | 'machine' | 'dual';
|
|
97
|
+
export type CliMutabilityV2 = 'read-only' | 'local-write' | 'remote-write';
|
|
98
|
+
export interface CliDryRunExemptionV2 {
|
|
99
|
+
readonly owner: string;
|
|
100
|
+
readonly reason: string;
|
|
101
|
+
readonly exitCriteria: string;
|
|
102
|
+
/** ISO-8601 calendar date. An expired exemption fails the CLI owner gate. */
|
|
103
|
+
readonly expiresOn: string;
|
|
104
|
+
}
|
|
105
|
+
export interface CliInvocationPolicyV2 {
|
|
106
|
+
readonly outputMode: CliOutputModeV2;
|
|
107
|
+
readonly mutability: CliMutabilityV2;
|
|
108
|
+
readonly supportsDryRun: boolean;
|
|
109
|
+
readonly dryRunExemption?: CliDryRunExemptionV2;
|
|
110
|
+
readonly environmentOption: '--env' | null;
|
|
111
|
+
readonly environmentAliases: ReadonlyArray<string>;
|
|
112
|
+
readonly workspaceOption: '--workspace-id' | null;
|
|
113
|
+
readonly localWorkspaceOption: '--workspace' | null;
|
|
114
|
+
readonly exitCodes: {
|
|
115
|
+
readonly success: ReadonlyArray<CliExitCode>;
|
|
116
|
+
readonly warning: ReadonlyArray<CliExitCode>;
|
|
117
|
+
readonly error: ReadonlyArray<CliExitCode>;
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
export interface CliExecutionModeV2 extends CliExecutionModeV1 {
|
|
121
|
+
readonly invocationPolicy: CliInvocationPolicyV2;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* v2 covers every executable Commander leaf. v1 stays frozen for consumers of
|
|
125
|
+
* the original executable-asset subset; callers must never treat a partial
|
|
126
|
+
* v1-to-v2 projection as satisfying the completeness gate.
|
|
127
|
+
*/
|
|
128
|
+
export interface CliCommandContractV2 extends Omit<CliCommandContractV1, 'schemaVersion' | 'executionModes'> {
|
|
129
|
+
readonly schemaVersion: typeof CLI_COMMAND_CONTRACT_SCHEMA_VERSION_V2;
|
|
130
|
+
readonly executionModes: ReadonlyArray<CliExecutionModeV2>;
|
|
131
|
+
}
|
|
96
132
|
export interface CliDiagnosticV1 {
|
|
97
133
|
readonly code: string;
|
|
98
134
|
readonly severity: 'error' | 'warning' | 'info';
|
|
@@ -66,8 +66,12 @@ export declare const WORKFORCE_RELEASE_HEAD_CHANGED_EVENT: "ai.workforce.release
|
|
|
66
66
|
export declare const CODE_ACTION_REVOKED_EVENT: "ai.workforce.code-action.revoked.v1";
|
|
67
67
|
/** Machine-readable command-contract registry version. */
|
|
68
68
|
export declare const CLI_COMMAND_CONTRACT_SCHEMA_VERSION: "nexusclaw.cli-command-contract/v1";
|
|
69
|
+
/** Complete all-Commander-leaf contract with invocation/output policy. */
|
|
70
|
+
export declare const CLI_COMMAND_CONTRACT_SCHEMA_VERSION_V2: "nexusclaw.cli-command-contract/v2";
|
|
69
71
|
/** Exported registry document containing every command contract. */
|
|
70
72
|
export declare const CLI_COMMAND_REGISTRY_SCHEMA_VERSION: "nexusclaw.cli-command-registry/v1";
|
|
73
|
+
/** Complete all-Commander-leaf registry. */
|
|
74
|
+
export declare const CLI_COMMAND_REGISTRY_SCHEMA_VERSION_V2: "nexusclaw.cli-command-registry/v2";
|
|
71
75
|
/** The single machine result envelope emitted on `--json` stdout. */
|
|
72
76
|
export declare const CLI_RESULT_SCHEMA_VERSION: "nexusclaw.cli-result/v1";
|
|
73
77
|
/** Deterministic command-order DAG (implemented modes only). */
|
|
@@ -122,4 +126,4 @@ export declare const APPROVAL_SUBJECT_LEGACY: "legacy";
|
|
|
122
126
|
export declare const APPROVAL_POLICY_PURPOSE_TOOL_CALL: "tool_call";
|
|
123
127
|
export declare const APPROVAL_POLICY_PURPOSE_WORKFORCE_RELEASE: "workforce_release";
|
|
124
128
|
/** All schema-version string literals as a discriminated alias. */
|
|
125
|
-
export type AgentExecutableAssetSchemaVersion = typeof BUNDLE_SCHEMA_VERSION | typeof RUNTIME_BINDINGS_SCHEMA_VERSION | typeof BUNDLE_LOCK_SCHEMA_VERSION | typeof CONNECTOR_BINDING_REVISION_SCHEMA_VERSION | typeof AGENT_CODE_TOOL_CATALOG_SCHEMA_VERSION | typeof AGENT_CODE_TOOL_EXPORT_SCHEMA_VERSION | typeof ACTION_CONTRACT_VERSION | typeof RUNTIME_API_VERSION_V2 | typeof FLOWS_PAYLOAD_V2 | typeof FLOWS_PAYLOAD_V1 | typeof CLI_COMMAND_CONTRACT_SCHEMA_VERSION | typeof CLI_COMMAND_REGISTRY_SCHEMA_VERSION | typeof CLI_RESULT_SCHEMA_VERSION | typeof COMMAND_ORDER_SCHEMA_VERSION | typeof AI_AUTHORING_CONTEXT_SCHEMA_VERSION | typeof AI_AUTHORING_CONTEXT_LOCK_SCHEMA_VERSION;
|
|
129
|
+
export type AgentExecutableAssetSchemaVersion = typeof BUNDLE_SCHEMA_VERSION | typeof RUNTIME_BINDINGS_SCHEMA_VERSION | typeof BUNDLE_LOCK_SCHEMA_VERSION | typeof CONNECTOR_BINDING_REVISION_SCHEMA_VERSION | typeof AGENT_CODE_TOOL_CATALOG_SCHEMA_VERSION | typeof AGENT_CODE_TOOL_EXPORT_SCHEMA_VERSION | typeof ACTION_CONTRACT_VERSION | typeof RUNTIME_API_VERSION_V2 | typeof FLOWS_PAYLOAD_V2 | typeof FLOWS_PAYLOAD_V1 | typeof CLI_COMMAND_CONTRACT_SCHEMA_VERSION | typeof CLI_COMMAND_CONTRACT_SCHEMA_VERSION_V2 | typeof CLI_COMMAND_REGISTRY_SCHEMA_VERSION | typeof CLI_COMMAND_REGISTRY_SCHEMA_VERSION_V2 | typeof CLI_RESULT_SCHEMA_VERSION | typeof COMMAND_ORDER_SCHEMA_VERSION | typeof AI_AUTHORING_CONTEXT_SCHEMA_VERSION | typeof AI_AUTHORING_CONTEXT_LOCK_SCHEMA_VERSION;
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
* edit: it requires paired schema/test/release-evidence updates.
|
|
12
12
|
*/
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.
|
|
15
|
-
exports.APPROVAL_POLICY_PURPOSE_WORKFORCE_RELEASE = exports.APPROVAL_POLICY_PURPOSE_TOOL_CALL = exports.APPROVAL_SUBJECT_LEGACY = exports.APPROVAL_SUBJECT_FLOW_TOOL = exports.APPROVAL_SUBJECT_AGENT_TOOL = exports.APPROVAL_SUBJECT_WORKFORCE_RELEASE = exports.IDEMPOTENCY_DOMAIN_CODE_ACTION_WRITE = exports.IDEMPOTENCY_DOMAIN_RECORD_CURSOR = exports.CANONICAL_ARCHIVE_FORMAT = exports.JSZIP_VERSION = exports.AJV_VERSION = exports.TYPESCRIPT_VERSION = void 0;
|
|
14
|
+
exports.EMPLOYEE_PACKAGE_V2_SCHEMA_VERSION = exports.FLOW_PACKAGE_SCHEMA_VERSION = exports.FLOW_NODE_CATALOG_SCHEMA_VERSION = exports.INVOKABLE_AUTHORING_CATALOG_SCHEMA_VERSION = exports.APPROVAL_POLICY_AUTHORING_CATALOG_SCHEMA_VERSION = exports.AI_POLICY_AUTHORING_CATALOG_SCHEMA_VERSION = exports.CONNECTOR_AUTHORING_CATALOG_SCHEMA_VERSION = exports.OBJECT_AUTHORING_CATALOG_SCHEMA_VERSION = exports.AI_CONTEXT_SIGNING_KEY_CACHE_SCHEMA_VERSION = exports.AI_CONTEXT_SIGNING_KEYRING_SCHEMA_VERSION = exports.AI_CONTEXT_SIGNING_KEY_SET_SCHEMA_VERSION = exports.AI_CONTEXT_SIGNATURE_ALG_NONE = exports.AI_CONTEXT_SIGNATURE_ALG_ED25519 = exports.AI_CONTEXT_SIGNATURE_TYP = exports.WORKSPACE_AUTHORING_CONTRACT_SCHEMA_VERSION = exports.AI_AUTHORING_CONTEXT_LOCK_SCHEMA_VERSION = exports.AI_AUTHORING_CONTEXT_SCHEMA_VERSION = exports.CLI_CONTRACT_HUMAN_HELP_POINTER = exports.COMMAND_ORDER_SCHEMA_VERSION = exports.CLI_RESULT_SCHEMA_VERSION = exports.CLI_COMMAND_REGISTRY_SCHEMA_VERSION_V2 = exports.CLI_COMMAND_REGISTRY_SCHEMA_VERSION = exports.CLI_COMMAND_CONTRACT_SCHEMA_VERSION_V2 = exports.CLI_COMMAND_CONTRACT_SCHEMA_VERSION = exports.CODE_ACTION_REVOKED_EVENT = exports.WORKFORCE_RELEASE_HEAD_CHANGED_EVENT = exports.RELEASE_SET_ELIGIBILITY_REJECTED = exports.RELEASE_SET_ELIGIBILITY_ELIGIBLE = exports.RELEASE_SET_ELIGIBILITY_STAGED = exports.APPROVAL_SUBJECT_DECIDED_EVENT = exports.FLOW_ACTION_TYPE_INVOKE_UNIT = exports.RULE_SUGAR_INVOKE_ACTION = exports.FLOWS_PAYLOAD_V1 = exports.FLOWS_PAYLOAD_V2 = exports.CODE_RUNTIME_ISOLATION_EVIDENCE_SCHEMA_VERSION = exports.SANDBOX_PAYLOAD_CIPHER_SCHEMA_VERSION = exports.SANDBOX_EXECUTION_RESULT_SCHEMA_VERSION = exports.SANDBOX_EXECUTION_TICKET_SCHEMA_VERSION = exports.WORKER_THREAD_PROVIDER_ID = exports.VERIFIED_ISOLATE_PROVIDER_ID = exports.RUNTIME_API_VERSION_V2 = exports.ACTION_CONTRACT_VERSION = exports.AGENT_CODE_TOOL_EXPORT_SCHEMA_VERSION = exports.AGENT_CODE_TOOL_CATALOG_SCHEMA_VERSION = exports.CODE_EXTENSION_GOVERNANCE_V1 = exports.CODE_EXTENSION_GOVERNANCE_V2 = exports.CONNECTOR_BINDING_REVISION_SCHEMA_VERSION = exports.BUNDLE_LOCK_SCHEMA_VERSION = exports.RUNTIME_BINDINGS_SCHEMA_VERSION = exports.BUNDLE_SCHEMA_VERSION = void 0;
|
|
15
|
+
exports.APPROVAL_POLICY_PURPOSE_WORKFORCE_RELEASE = exports.APPROVAL_POLICY_PURPOSE_TOOL_CALL = exports.APPROVAL_SUBJECT_LEGACY = exports.APPROVAL_SUBJECT_FLOW_TOOL = exports.APPROVAL_SUBJECT_AGENT_TOOL = exports.APPROVAL_SUBJECT_WORKFORCE_RELEASE = exports.IDEMPOTENCY_DOMAIN_CODE_ACTION_WRITE = exports.IDEMPOTENCY_DOMAIN_RECORD_CURSOR = exports.CANONICAL_ARCHIVE_FORMAT = exports.JSZIP_VERSION = exports.AJV_VERSION = exports.TYPESCRIPT_VERSION = exports.CODE_ACTION_CASES_SCHEMA_VERSION = exports.WORKFORCE_RELEASE_EVIDENCE_SCHEMA_VERSION = void 0;
|
|
16
16
|
// ---- Composite workforce bundle & bindings (design §5) ----------------------
|
|
17
17
|
/** Source bundle contract. */
|
|
18
18
|
exports.BUNDLE_SCHEMA_VERSION = 'ai-workforce-executable-bundle/v1';
|
|
@@ -76,8 +76,12 @@ exports.CODE_ACTION_REVOKED_EVENT = 'ai.workforce.code-action.revoked.v1';
|
|
|
76
76
|
// ---- CLI machine contract (design §16) --------------------------------------
|
|
77
77
|
/** Machine-readable command-contract registry version. */
|
|
78
78
|
exports.CLI_COMMAND_CONTRACT_SCHEMA_VERSION = 'nexusclaw.cli-command-contract/v1';
|
|
79
|
+
/** Complete all-Commander-leaf contract with invocation/output policy. */
|
|
80
|
+
exports.CLI_COMMAND_CONTRACT_SCHEMA_VERSION_V2 = 'nexusclaw.cli-command-contract/v2';
|
|
79
81
|
/** Exported registry document containing every command contract. */
|
|
80
82
|
exports.CLI_COMMAND_REGISTRY_SCHEMA_VERSION = 'nexusclaw.cli-command-registry/v1';
|
|
83
|
+
/** Complete all-Commander-leaf registry. */
|
|
84
|
+
exports.CLI_COMMAND_REGISTRY_SCHEMA_VERSION_V2 = 'nexusclaw.cli-command-registry/v2';
|
|
81
85
|
/** The single machine result envelope emitted on `--json` stdout. */
|
|
82
86
|
exports.CLI_RESULT_SCHEMA_VERSION = 'nexusclaw.cli-result/v1';
|
|
83
87
|
/** Deterministic command-order DAG (implemented modes only). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-versions.js","sourceRoot":"","sources":["../../src/agent-executable-assets/contract-versions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contract-versions.js","sourceRoot":"","sources":["../../src/agent-executable-assets/contract-versions.ts"],"names":[],"mappings":"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"}
|
package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/index.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export { validateWorkforceReleaseEvidencePayload, type CandidateEvidenceExecutio
|
|
|
20
20
|
export { buildWorkforceReleaseGateReceipt } from './workforce-release-gate-receipt';
|
|
21
21
|
export { FLOW_PAYLOAD_V2_VERSION, type FlowActionTypeV2, type FlowInvokeUnitActionSettingV2, type FlowInputMappingV2, type FlowErrorPolicyV2, type FlowFaultMarkerV2, type FlowRuleSugarActionTypeV2, type FlowRevisionIdentityV1, type WorkflowVersionLifecycleStatus, type ApprovalSubjectDecidedEventV1, type FlowBindingRiskLevelV2, } from './flow-payload-v2.types';
|
|
22
22
|
export { type FlowRevisionDefinitionV2, canonicalizeFlowJsonPointer, normalizeFlowInputMappings, buildCanonicalFlowMappedInput, normalizeFlowRevisionDefinition, computeFlowRevisionIdentity, } from './flow-v2-canonical';
|
|
23
|
-
export { type CliExitCode, type CliArgvSchemaMatcher, type CliArgvPredicateAtomV1, type CliArgvPredicateExprV1, type CliPermissionFactV1, type CliPermissionRuleV1, type CliPermissionProfileId, type CliEffectKind, type CliArgumentContract, type CliOptionContract, type CliExecutionModeV1, type CliCommandContractV1, type CliDiagnosticV1, type CliNextCommandV1, type CliEvidenceEntryV1, type CliResultV1, } from './cli-contract.types';
|
|
23
|
+
export { type CliExitCode, type CliArgvSchemaMatcher, type CliArgvPredicateAtomV1, type CliArgvPredicateExprV1, type CliPermissionFactV1, type CliPermissionRuleV1, type CliPermissionProfileId, type CliEffectKind, type CliArgumentContract, type CliOptionContract, type CliExecutionModeV1, type CliCommandContractV1, type CliOutputModeV2, type CliMutabilityV2, type CliDryRunExemptionV2, type CliInvocationPolicyV2, type CliExecutionModeV2, type CliCommandContractV2, type CliDiagnosticV1, type CliNextCommandV1, type CliEvidenceEntryV1, type CliResultV1, } from './cli-contract.types';
|
|
24
24
|
export { type AiContextPrincipalKind, type AiContextOnlineSelector, type AiContextSurface, type AiContextSha256, type DescribeAiAuthoringContextRequestV2, type AiAuthoringCandidateReleaseStampV1, type AiAuthoringCatalogDocumentV1, type AiAuthoringContextHashesV1, type AiAuthoringContextSnapshotV2, type VerifyAiAuthoringContextFreshnessRequestV2, type SignAiAuthoringContextLockRequestV2, type AiAuthoringContextVerificationV1, type AiAuthoringContextManifestV2, type AiAuthoringContextLockV2, type AiAuthoringContextDigestSetV1, type AiContextSignatureHeaderV1, type AiContextSignaturePayloadV1, type AiContextSigningPublicJwkV1, type AiContextSigningKeySetV1, type AiContextCommonFileEntry, AI_CONTEXT_COMMON_FILES, AI_CONTEXT_SURFACE_FILES, resolveAiContextFileMatrix, resolveAiContextManifestFileMatrix, assertAiContextDeclaredPaths, } from './ai-authoring-context.types';
|
|
25
25
|
export { type Sha256Digest as CanonicalSha256Digest, canonicalJsonString, canonicalJsonDigest, rawByteDigest, rawStringDigest, aiAuthoringContextDigests, unsignedAiAuthoringContextLock, releaseItemSetDigest, type ReleaseItemDigestInput, portableBundleDigest, materializedItemRefsDigest, releaseEnvelopeDigest, selfExcludingDigest, escapeJsonPointer, parseSha256, isSha256Digest, } from './canonical-hash';
|
|
26
26
|
export { type AiContextSigningErrorCode, AiContextSigningError, type AiContextDetachedSigningInput, type VerifyAiContextDetachedJwsInput, assertAiContextSigningKeySet, buildAiContextDetachedSigningInput, verifyAiContextDetachedJws, } from './ai-authoring-context-signing';
|
package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-executable-assets/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;AAEH,+EAA+E;AAC/E,sDAAoC;AAEpC,oCAAoC;AACpC,2CASsB;AAHpB,yGAAA,WAAW,OAAA;AACX,4GAAA,cAAc,OAAA;AACd,6GAAA,eAAe,OAAA;AAGjB,2EAA2E;AAC3E,sDAAoC;AAEpC,kFAAkF;AAClF,kEAAgD;AAChD,wEAAsD;AACtD,8EAA4D;AAC5D,mEAAiD;AAkCjD,6EAIuC;AAHrC,sJAAA,uCAAuC,OAAA;AAIzC,mFAAoF;AAA3E,kJAAA,gCAAgC,OAAA;AAEzC,mBAAmB;AACnB,iEAYiC;AAX/B,gIAAA,uBAAuB,OAAA;AAYzB,yDAO6B;AAL3B,gIAAA,2BAA2B,OAAA;AAC3B,+HAAA,0BAA0B,OAAA;AAC1B,kIAAA,6BAA6B,OAAA;AAC7B,oIAAA,+BAA+B,OAAA;AAC/B,gIAAA,2BAA2B,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-executable-assets/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;AAEH,+EAA+E;AAC/E,sDAAoC;AAEpC,oCAAoC;AACpC,2CASsB;AAHpB,yGAAA,WAAW,OAAA;AACX,4GAAA,cAAc,OAAA;AACd,6GAAA,eAAe,OAAA;AAGjB,2EAA2E;AAC3E,sDAAoC;AAEpC,kFAAkF;AAClF,kEAAgD;AAChD,wEAAsD;AACtD,8EAA4D;AAC5D,mEAAiD;AAkCjD,6EAIuC;AAHrC,sJAAA,uCAAuC,OAAA;AAIzC,mFAAoF;AAA3E,kJAAA,gCAAgC,OAAA;AAEzC,mBAAmB;AACnB,iEAYiC;AAX/B,gIAAA,uBAAuB,OAAA;AAYzB,yDAO6B;AAL3B,gIAAA,2BAA2B,OAAA;AAC3B,+HAAA,0BAA0B,OAAA;AAC1B,kIAAA,6BAA6B,OAAA;AAC7B,oIAAA,+BAA+B,OAAA;AAC/B,gIAAA,2BAA2B,OAAA;AA6B7B,6BAA6B;AAC7B,2EA0BsC;AALpC,qIAAA,uBAAuB,OAAA;AACvB,sIAAA,wBAAwB,OAAA;AACxB,wIAAA,0BAA0B,OAAA;AAC1B,gJAAA,kCAAkC,OAAA;AAClC,0IAAA,4BAA4B,OAAA;AAG9B,qCAAqC;AACrC,mDAiB0B;AAfxB,qHAAA,mBAAmB,OAAA;AACnB,qHAAA,mBAAmB,OAAA;AACnB,+GAAA,aAAa,OAAA;AACb,iHAAA,eAAe,OAAA;AACf,2HAAA,yBAAyB,OAAA;AACzB,gIAAA,8BAA8B,OAAA;AAC9B,sHAAA,oBAAoB,OAAA;AAEpB,sHAAA,oBAAoB,OAAA;AACpB,4HAAA,0BAA0B,OAAA;AAC1B,uHAAA,qBAAqB,OAAA;AACrB,qHAAA,mBAAmB,OAAA;AACnB,mHAAA,iBAAiB,OAAA;AACjB,6GAAA,WAAW,OAAA;AACX,gHAAA,cAAc,OAAA;AAEhB,+EAQwC;AANtC,qIAAA,qBAAqB,OAAA;AAGrB,4IAAA,4BAA4B,OAAA;AAC5B,kJAAA,kCAAkC,OAAA;AAClC,0IAAA,0BAA0B,OAAA;AAG5B,6EAA6E;AAC7E,6FAM+C;AAL7C,yKAAA,kDAAkD,OAAA;AAGlD,gJAAA,yBAAyB,OAAA;AACzB,wIAAA,iBAAiB,OAAA;AAGnB,6CAA6C;AAC7C,uDAa4B;AAZ1B,qHAAA,iBAAiB,OAAA;AACjB,iHAAA,aAAa,OAAA;AACb,yHAAA,qBAAqB,OAAA;AACrB,oHAAA,gBAAgB,OAAA;AAChB,qHAAA,iBAAiB,OAAA;AACjB,kHAAA,cAAc,OAAA;AACd,sHAAA,kBAAkB,OAAA;AAClB,6HAAA,yBAAyB,OAAA;AACzB,mHAAA,eAAe,OAAA;AACf,qIAAA,iCAAiC,OAAA;AACjC,iIAAA,6BAA6B,OAAA;AAC7B,2HAAA,uBAAuB,OAAA;AAGzB,uCAAuC;AACvC,iDAMyB;AALvB,6HAAA,4BAA4B,OAAA;AAE5B,mHAAA,kBAAkB,OAAA;AAClB,gHAAA,eAAe,OAAA;AACf,gHAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
7
|
+
const node_test_1 = __importDefault(require("node:test"));
|
|
8
|
+
const commander_1 = require("commander");
|
|
9
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
10
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
11
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
12
|
+
const cli_1 = require("./cli");
|
|
13
|
+
function streams() {
|
|
14
|
+
let stdout = '';
|
|
15
|
+
let stderr = '';
|
|
16
|
+
return {
|
|
17
|
+
stdout: { write: (chunk) => { stdout += String(chunk); return true; } },
|
|
18
|
+
stderr: { write: (chunk) => { stderr += String(chunk); return true; } },
|
|
19
|
+
read: () => ({ stdout, stderr }),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function throwingProgram(kind) {
|
|
23
|
+
const program = new commander_1.Command('nexus').option('--json');
|
|
24
|
+
program.command('boom').action(kind === 'sync'
|
|
25
|
+
? () => { throw new Error('Bearer super-secret stack must-not-leak'); }
|
|
26
|
+
: async () => { await Promise.resolve(); throw new Error('token=super-secret rejected'); });
|
|
27
|
+
return program;
|
|
28
|
+
}
|
|
29
|
+
for (const kind of ['sync', 'async']) {
|
|
30
|
+
(0, node_test_1.default)(`outer machine boundary catches ${kind} failures as one redacted result`, async () => {
|
|
31
|
+
const output = streams();
|
|
32
|
+
const exitCode = await (0, cli_1.runCli)(['node', 'nexus', '--json', 'boom'], {
|
|
33
|
+
program: throwingProgram(kind), stdout: output.stdout, stderr: output.stderr,
|
|
34
|
+
});
|
|
35
|
+
const captured = output.read();
|
|
36
|
+
strict_1.default.equal(exitCode, 1);
|
|
37
|
+
strict_1.default.equal(captured.stderr, '');
|
|
38
|
+
strict_1.default.equal(captured.stdout.trim().split('\n').length, 1);
|
|
39
|
+
const result = JSON.parse(captured.stdout);
|
|
40
|
+
strict_1.default.equal(result.command, 'boom');
|
|
41
|
+
strict_1.default.equal(result.ok, false);
|
|
42
|
+
strict_1.default.equal(result.exitCode, exitCode);
|
|
43
|
+
strict_1.default.equal(captured.stdout.includes('super-secret'), false);
|
|
44
|
+
if (kind === 'sync')
|
|
45
|
+
strict_1.default.equal(captured.stdout.includes('stack must-not-leak'), true);
|
|
46
|
+
strict_1.default.equal(captured.stdout.includes(' at '), false);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
(0, node_test_1.default)('outer human boundary sends errors only to stderr without a stack', async () => {
|
|
50
|
+
const output = streams();
|
|
51
|
+
const exitCode = await (0, cli_1.runCli)(['node', 'nexus', 'boom'], {
|
|
52
|
+
program: throwingProgram('async'), stdout: output.stdout, stderr: output.stderr,
|
|
53
|
+
});
|
|
54
|
+
const captured = output.read();
|
|
55
|
+
strict_1.default.equal(exitCode, 1);
|
|
56
|
+
strict_1.default.equal(captured.stdout, '');
|
|
57
|
+
strict_1.default.match(captured.stderr, /^Error: /);
|
|
58
|
+
strict_1.default.equal(captured.stderr.includes('super-secret'), false);
|
|
59
|
+
strict_1.default.equal(captured.stderr.includes('\n at '), false);
|
|
60
|
+
});
|
|
61
|
+
(0, node_test_1.default)('Commander usage failures use exit 64 and one machine result', async () => {
|
|
62
|
+
const program = new commander_1.Command('nexus').option('--json');
|
|
63
|
+
program.command('get <id>');
|
|
64
|
+
const output = streams();
|
|
65
|
+
const exitCode = await (0, cli_1.runCli)(['node', 'nexus', '--json', 'get'], {
|
|
66
|
+
program, stdout: output.stdout, stderr: output.stderr,
|
|
67
|
+
});
|
|
68
|
+
const captured = output.read();
|
|
69
|
+
strict_1.default.equal(exitCode, 64);
|
|
70
|
+
strict_1.default.equal(captured.stderr, '');
|
|
71
|
+
const result = JSON.parse(captured.stdout);
|
|
72
|
+
strict_1.default.equal(result.exitCode, 64);
|
|
73
|
+
strict_1.default.equal(result.diagnostics[0].code, 'commander.missingArgument');
|
|
74
|
+
});
|
|
75
|
+
(0, node_test_1.default)('missing mandatory options are also usage exit 64', async () => {
|
|
76
|
+
const program = new commander_1.Command('nexus').option('--json');
|
|
77
|
+
program.command('get').requiredOption('--id <id>');
|
|
78
|
+
const output = streams();
|
|
79
|
+
const exitCode = await (0, cli_1.runCli)(['node', 'nexus', '--json', 'get'], {
|
|
80
|
+
program, stdout: output.stdout, stderr: output.stderr,
|
|
81
|
+
});
|
|
82
|
+
const result = JSON.parse(output.read().stdout);
|
|
83
|
+
strict_1.default.equal(exitCode, 64);
|
|
84
|
+
strict_1.default.equal(result.exitCode, 64);
|
|
85
|
+
strict_1.default.equal(result.diagnostics[0].code, 'commander.missingMandatoryOptionValue');
|
|
86
|
+
});
|
|
87
|
+
(0, node_test_1.default)('machine help is captured inside one successful result document', async () => {
|
|
88
|
+
const program = new commander_1.Command('nexus').option('--json');
|
|
89
|
+
program.command('get').description('Get records');
|
|
90
|
+
const output = streams();
|
|
91
|
+
const exitCode = await (0, cli_1.runCli)(['node', 'nexus', '--json', 'get', '--help'], {
|
|
92
|
+
program, stdout: output.stdout, stderr: output.stderr,
|
|
93
|
+
});
|
|
94
|
+
const captured = output.read();
|
|
95
|
+
strict_1.default.equal(exitCode, 0);
|
|
96
|
+
strict_1.default.equal(captured.stderr, '');
|
|
97
|
+
const result = JSON.parse(captured.stdout);
|
|
98
|
+
strict_1.default.equal(result.ok, true);
|
|
99
|
+
strict_1.default.equal(result.phase, 'help');
|
|
100
|
+
strict_1.default.match(result.data.output, /Get records/);
|
|
101
|
+
});
|
|
102
|
+
for (const [name, expectedExit] of [['PermissionError', 3], ['ContractConflictError', 2]]) {
|
|
103
|
+
(0, node_test_1.default)(`outer boundary keeps ${name} envelope and actual exit codes equal`, async () => {
|
|
104
|
+
const program = new commander_1.Command('nexus').option('--json');
|
|
105
|
+
program.command('fail').action(() => {
|
|
106
|
+
const error = new Error('operation rejected');
|
|
107
|
+
error.name = name;
|
|
108
|
+
throw error;
|
|
109
|
+
});
|
|
110
|
+
const output = streams();
|
|
111
|
+
const exitCode = await (0, cli_1.runCli)(['node', 'nexus', '--json', 'fail'], {
|
|
112
|
+
program, stdout: output.stdout, stderr: output.stderr,
|
|
113
|
+
});
|
|
114
|
+
const result = JSON.parse(output.read().stdout);
|
|
115
|
+
strict_1.default.equal(exitCode, expectedExit);
|
|
116
|
+
strict_1.default.equal(result.exitCode, expectedExit);
|
|
117
|
+
strict_1.default.equal(result.ok, false);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
(0, node_test_1.default)('bootstrap failures are contained by the same outer machine boundary', async () => {
|
|
121
|
+
const output = streams();
|
|
122
|
+
const exitCode = await (0, cli_1.runCli)(['node', 'nexus', '--json', 'anything'], {
|
|
123
|
+
programFactory: () => { throw new Error('Bearer bootstrap-secret failed'); },
|
|
124
|
+
stdout: output.stdout, stderr: output.stderr,
|
|
125
|
+
});
|
|
126
|
+
const captured = output.read();
|
|
127
|
+
const result = JSON.parse(captured.stdout);
|
|
128
|
+
strict_1.default.equal(exitCode, 1);
|
|
129
|
+
strict_1.default.equal(captured.stderr, '');
|
|
130
|
+
strict_1.default.equal(result.phase, 'bootstrap');
|
|
131
|
+
strict_1.default.equal(result.exitCode, exitCode);
|
|
132
|
+
strict_1.default.equal(captured.stdout.includes('bootstrap-secret'), false);
|
|
133
|
+
});
|
|
134
|
+
(0, node_test_1.default)('a real workspace write command emits one result only after creating its artifact', async () => {
|
|
135
|
+
const tempDir = node_fs_1.default.mkdtempSync(node_path_1.default.join(node_os_1.default.tmpdir(), 'nexus-cli-runner-'));
|
|
136
|
+
const output = streams();
|
|
137
|
+
try {
|
|
138
|
+
const exitCode = await (0, cli_1.runCli)([
|
|
139
|
+
'node', 'nexus', '--json', 'workspace', 'init',
|
|
140
|
+
'--name', 'contract-fixture', '--dir', tempDir, '--template', 'base-crm',
|
|
141
|
+
], { program: (0, cli_1.buildCliProgram)(), stdout: output.stdout, stderr: output.stderr });
|
|
142
|
+
const captured = output.read();
|
|
143
|
+
const result = JSON.parse(captured.stdout);
|
|
144
|
+
strict_1.default.equal(exitCode, 0);
|
|
145
|
+
strict_1.default.equal(captured.stderr, '');
|
|
146
|
+
strict_1.default.equal(captured.stdout.trim().split('\n').length, 1);
|
|
147
|
+
strict_1.default.equal(result.command, 'workspace.init');
|
|
148
|
+
strict_1.default.equal(result.exitCode, exitCode);
|
|
149
|
+
strict_1.default.equal(result.data.projectName, 'contract-fixture');
|
|
150
|
+
strict_1.default.equal(node_fs_1.default.existsSync(node_path_1.default.join(result.data.projectDir, 'nexus-project.yaml')), true);
|
|
151
|
+
}
|
|
152
|
+
finally {
|
|
153
|
+
node_fs_1.default.rmSync(tempDir, { recursive: true, force: true });
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
//# sourceMappingURL=cli-runner.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-runner.test.js","sourceRoot":"","sources":["../../../src/cli-runner.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from 'commander';
|
|
3
|
+
import { type CliOutputStream } from './runtime/output-coordinator';
|
|
3
4
|
export declare function buildCliProgram(): Command;
|
|
5
|
+
export interface RunCliOptions {
|
|
6
|
+
readonly program?: Command;
|
|
7
|
+
readonly programFactory?: () => Command;
|
|
8
|
+
readonly stdout?: CliOutputStream;
|
|
9
|
+
readonly stderr?: CliOutputStream;
|
|
10
|
+
}
|
|
11
|
+
export declare function runCli(argv: ReadonlyArray<string>, options?: RunCliOptions): Promise<number>;
|
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
})();
|
|
36
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
37
|
exports.buildCliProgram = buildCliProgram;
|
|
38
|
+
exports.runCli = runCli;
|
|
38
39
|
const fs = __importStar(require("fs"));
|
|
39
40
|
const path = __importStar(require("path"));
|
|
40
41
|
const commander_1 = require("commander");
|
|
@@ -64,6 +65,9 @@ const preflight_1 = require("./commands/preflight");
|
|
|
64
65
|
const install_contract_1 = require("./commands/install-contract");
|
|
65
66
|
const user_1 = require("./commands/user");
|
|
66
67
|
const build_info_1 = require("./services/build-info");
|
|
68
|
+
const machine_result_1 = require("./contracts/machine-result");
|
|
69
|
+
const output_coordinator_1 = require("./runtime/output-coordinator");
|
|
70
|
+
const failure_normalizer_1 = require("./runtime/failure-normalizer");
|
|
67
71
|
function resolveCliVersion() {
|
|
68
72
|
let dir = __dirname;
|
|
69
73
|
for (let i = 0; i < 6; i++) {
|
|
@@ -119,14 +123,10 @@ function buildCliProgram() {
|
|
|
119
123
|
(0, preflight_1.registerPreflightCommands)(program);
|
|
120
124
|
(0, install_contract_1.registerInstallContractCommands)(program);
|
|
121
125
|
(0, user_1.registerUserCommands)(program);
|
|
122
|
-
return program;
|
|
123
|
-
}
|
|
124
|
-
if (require.main === module) {
|
|
125
|
-
const program = buildCliProgram();
|
|
126
126
|
program.action((_, cmd) => {
|
|
127
127
|
if (cmd.args?.includes('--build-info') || process.argv.includes('--build-info')) {
|
|
128
128
|
const info = (0, build_info_1.loadBuildInfo)();
|
|
129
|
-
if (process.argv.includes('--json')) {
|
|
129
|
+
if (cmd.optsWithGlobals().json === true || process.argv.includes('--json')) {
|
|
130
130
|
process.stdout.write(`${JSON.stringify(info, null, 2)}\n`);
|
|
131
131
|
}
|
|
132
132
|
else {
|
|
@@ -135,10 +135,136 @@ if (require.main === module) {
|
|
|
135
135
|
`contentDigest: ${info.contentDigest}\n` +
|
|
136
136
|
`generatedAt: ${info.generatedAt}\n`);
|
|
137
137
|
}
|
|
138
|
-
process.
|
|
138
|
+
process.exitCode = 0;
|
|
139
|
+
return;
|
|
139
140
|
}
|
|
140
141
|
program.help();
|
|
141
142
|
});
|
|
142
|
-
program
|
|
143
|
+
return program;
|
|
144
|
+
}
|
|
145
|
+
if (require.main === module) {
|
|
146
|
+
void runCli(process.argv).then((exitCode) => {
|
|
147
|
+
process.exitCode = exitCode;
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
function commandIdFromArgv(program, argv) {
|
|
151
|
+
const tokens = argv.slice(2).filter((token) => token !== '--json');
|
|
152
|
+
const candidates = [];
|
|
153
|
+
const visit = (command, path) => {
|
|
154
|
+
for (const child of command.commands) {
|
|
155
|
+
const next = [...path, child.name()];
|
|
156
|
+
if (child.commands.length === 0 && next.every((token, index) => tokens[index] === token)) {
|
|
157
|
+
candidates.push({ id: next.join('.'), length: next.length });
|
|
158
|
+
}
|
|
159
|
+
visit(child, next);
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
visit(program, []);
|
|
163
|
+
candidates.sort((left, right) => right.length - left.length || left.id.localeCompare(right.id));
|
|
164
|
+
return candidates[0]?.id ?? 'unknown';
|
|
165
|
+
}
|
|
166
|
+
function safeErrorMessage(error) {
|
|
167
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
168
|
+
return (0, machine_result_1.scrubMachineValue)(message);
|
|
169
|
+
}
|
|
170
|
+
function commanderExitCode(error) {
|
|
171
|
+
if (!(error instanceof commander_1.CommanderError))
|
|
172
|
+
return 1;
|
|
173
|
+
if (error.exitCode === 0)
|
|
174
|
+
return 0;
|
|
175
|
+
return 64;
|
|
176
|
+
}
|
|
177
|
+
async function runCli(argv, options = {}) {
|
|
178
|
+
const stdout = options.stdout ?? process.stdout;
|
|
179
|
+
const stderr = options.stderr ?? process.stderr;
|
|
180
|
+
const machine = (0, output_coordinator_1.isMachineOutputArgv)(argv);
|
|
181
|
+
let program;
|
|
182
|
+
try {
|
|
183
|
+
program = options.program ?? options.programFactory?.() ?? buildCliProgram();
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
const normalized = (0, failure_normalizer_1.normalizeCliFailure)(error, 'bootstrap');
|
|
187
|
+
const coordinator = new output_coordinator_1.CliOutputCoordinator({
|
|
188
|
+
command: 'unknown', machine, stdout, stderr,
|
|
189
|
+
setExitCode: () => undefined,
|
|
190
|
+
});
|
|
191
|
+
if (machine) {
|
|
192
|
+
coordinator.emitMachineResult((0, machine_result_1.buildCliResult)({
|
|
193
|
+
command: 'unknown', phase: 'bootstrap',
|
|
194
|
+
contractVersion: 'nexusclaw.cli-command-contract/v2', ok: false,
|
|
195
|
+
exitCode: normalized.exitCode, data: normalized.data,
|
|
196
|
+
diagnostics: normalized.diagnostics,
|
|
197
|
+
}));
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
coordinator.writeHumanStderr(`Error: ${safeErrorMessage(error)}\n`);
|
|
201
|
+
}
|
|
202
|
+
return normalized.exitCode;
|
|
203
|
+
}
|
|
204
|
+
const command = commandIdFromArgv(program, argv);
|
|
205
|
+
const capturedCommanderStdout = [];
|
|
206
|
+
let humanStderrWritten = false;
|
|
207
|
+
let actualExitCode = 0;
|
|
208
|
+
const coordinator = new output_coordinator_1.CliOutputCoordinator({
|
|
209
|
+
command,
|
|
210
|
+
machine,
|
|
211
|
+
stdout,
|
|
212
|
+
stderr,
|
|
213
|
+
setExitCode: (exitCode) => { actualExitCode = exitCode; },
|
|
214
|
+
renderResult: (result) => JSON.stringify((0, machine_result_1.scrubMachineValue)(result)),
|
|
215
|
+
});
|
|
216
|
+
try {
|
|
217
|
+
const commanderOutput = {
|
|
218
|
+
writeOut: (message) => {
|
|
219
|
+
if (machine)
|
|
220
|
+
capturedCommanderStdout.push(message);
|
|
221
|
+
else
|
|
222
|
+
stdout.write(message);
|
|
223
|
+
},
|
|
224
|
+
writeErr: (message) => {
|
|
225
|
+
if (!machine) {
|
|
226
|
+
humanStderrWritten = true;
|
|
227
|
+
stderr.write(message);
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
};
|
|
231
|
+
const configureCommand = (commandNode) => {
|
|
232
|
+
commandNode.exitOverride();
|
|
233
|
+
commandNode.configureOutput(commanderOutput);
|
|
234
|
+
for (const child of commandNode.commands)
|
|
235
|
+
configureCommand(child);
|
|
236
|
+
};
|
|
237
|
+
configureCommand(program);
|
|
238
|
+
await (0, output_coordinator_1.runWithCliOutputCoordinator)(coordinator, () => program.parseAsync([...argv], { from: 'node' }));
|
|
239
|
+
return actualExitCode;
|
|
240
|
+
}
|
|
241
|
+
catch (error) {
|
|
242
|
+
const normalized = error instanceof commander_1.CommanderError
|
|
243
|
+
? null
|
|
244
|
+
: (0, failure_normalizer_1.normalizeCliFailure)(error);
|
|
245
|
+
const exitCode = normalized?.exitCode ?? commanderExitCode(error);
|
|
246
|
+
actualExitCode = exitCode;
|
|
247
|
+
if (machine) {
|
|
248
|
+
if (!coordinator.hasEmittedTerminalResult()) {
|
|
249
|
+
const helpDisplayed = error instanceof commander_1.CommanderError && error.exitCode === 0;
|
|
250
|
+
coordinator.emitMachineResult((0, machine_result_1.buildCliResult)({
|
|
251
|
+
command,
|
|
252
|
+
phase: helpDisplayed ? 'help' : 'failed',
|
|
253
|
+
contractVersion: 'nexusclaw.cli-command-contract/v2',
|
|
254
|
+
ok: helpDisplayed,
|
|
255
|
+
exitCode,
|
|
256
|
+
data: helpDisplayed ? { output: capturedCommanderStdout.join('') } : normalized?.data ?? null,
|
|
257
|
+
diagnostics: helpDisplayed ? [] : normalized?.diagnostics ?? [{
|
|
258
|
+
code: error.code,
|
|
259
|
+
severity: 'error', phase: 'failed', message: safeErrorMessage(error), retryable: false,
|
|
260
|
+
}],
|
|
261
|
+
}));
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
else if (exitCode !== 0 && !humanStderrWritten) {
|
|
265
|
+
coordinator.writeHumanStderr(`Error: ${safeErrorMessage(error)}\n`);
|
|
266
|
+
}
|
|
267
|
+
return actualExitCode;
|
|
268
|
+
}
|
|
143
269
|
}
|
|
144
270
|
//# sourceMappingURL=cli.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2EA,0CA2EC;AAiDD,wBA2FC;AAhSD,uCAAyB;AACzB,2CAA6B;AAC7B,yCAAoD;AACpD,yCAAsD;AACtD,wCAAqD;AACrD,8CAA2D;AAC3D,0CAAuD;AACvD,0CAAuD;AACvD,wCAAqD;AACrD,gDAA6D;AAC7D,8CAA2D;AAC3D,kDAA+D;AAC/D,gDAA6D;AAC7D,sCAAmD;AACnD,wDAAqE;AACrE,0EAAsF;AACtF,kDAA+D;AAC/D,oDAAiE;AACjE,kDAA+D;AAC/D,oDAAiE;AACjE,sDAAmE;AACnE,gDAA6D;AAC7D,sCAAmD;AACnD,kDAA+D;AAC/D,oDAAiE;AACjE,oDAAiE;AACjE,kEAA8E;AAC9E,0CAAuD;AACvD,sDAAsD;AACtD,+DAA+E;AAC/E,qEAKsC;AACtC,qEAAmE;AAKnE,SAAS,iBAAiB;IACxB,IAAI,GAAG,GAAG,SAAS,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACjD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAGzD,CAAC;gBACF,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACvE,OAAO,GAAG,CAAC,OAAO,CAAC;gBACrB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAUD,SAAgB,eAAe;IAC7B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,OAAO,CAAC;SACb,WAAW,CAAC,qCAAqC,CAAC;SAClD,OAAO,CAAC,iBAAiB,EAAE,CAAC;SAM5B,MAAM,CAAC,cAAc,EAAE,+DAA+D,CAAC;SACvF,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC;SACvE,WAAW,CAAC,OAAO,EAAE,iDAAiD,CAAC,CAAC;IAI3E,IAAA,mCAAwB,EAAC,OAAO,CAAC,CAAC;IAClC,IAAA,yBAAmB,EAAC,OAAO,CAAC,CAAC;IAC7B,IAAA,+BAAsB,EAAC,OAAO,CAAC,CAAC;IAChC,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC;IAC9B,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC;IAC9B,IAAA,yBAAmB,EAAC,OAAO,CAAC,CAAC;IAC7B,IAAA,iCAAuB,EAAC,OAAO,CAAC,CAAC;IACjC,IAAA,+BAAsB,EAAC,OAAO,CAAC,CAAC;IAChC,IAAA,mCAAwB,EAAC,OAAO,CAAC,CAAC;IAClC,IAAA,iCAAuB,EAAC,OAAO,CAAC,CAAC;IACjC,IAAA,mCAAwB,EAAC,OAAO,CAAC,CAAC;IAClC,IAAA,0DAAmC,EAAC,OAAO,CAAC,CAAC;IAC7C,IAAA,yCAA2B,EAAC,OAAO,CAAC,CAAC;IACrC,IAAA,qCAAyB,EAAC,OAAO,CAAC,CAAC;IACnC,IAAA,uBAAkB,EAAC,OAAO,CAAC,CAAC;IAC5B,IAAA,mCAAwB,EAAC,OAAO,CAAC,CAAC;IAClC,IAAA,qCAAyB,EAAC,OAAO,CAAC,CAAC;IACnC,IAAA,uCAA0B,EAAC,OAAO,CAAC,CAAC;IACpC,IAAA,iCAAuB,EAAC,OAAO,CAAC,CAAC;IACjC,IAAA,uBAAkB,EAAC,OAAO,CAAC,CAAC;IAM5B,IAAA,mCAAwB,EAAC,OAAO,CAAC,CAAC;IAKlC,IAAA,qCAAyB,EAAC,OAAO,CAAC,CAAC;IACnC,IAAA,qCAAyB,EAAC,OAAO,CAAC,CAAC;IACnC,IAAA,kDAA+B,EAAC,OAAO,CAAC,CAAC;IACzC,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC;IAI9B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACxB,IAAI,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,GAAG,IAAA,0BAAa,GAAE,CAAC;YAC7B,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI;oBACrC,WAAW,IAAI,CAAC,MAAM,IAAI;oBAC1B,kBAAkB,IAAI,CAAC,aAAa,IAAI;oBACxC,gBAAgB,IAAI,CAAC,WAAW,IAAI,CACvC,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAKD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC1C,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AASD,SAAS,iBAAiB,CAAC,OAAgB,EAAE,IAA2B;IACtE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IACnE,MAAM,UAAU,GAA0C,EAAE,CAAC;IAC7D,MAAM,KAAK,GAAG,CAAC,OAAgB,EAAE,IAAc,EAAQ,EAAE;QACvD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBACzF,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACnB,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAChG,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,SAAS,CAAC;AACxC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,IAAA,kCAAiB,EAAC,OAAO,CAAW,CAAC;AAC9C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,CAAC,KAAK,YAAY,0BAAc,CAAC;QAAE,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAGnC,OAAO,EAAE,CAAC;AACZ,CAAC;AAGM,KAAK,UAAU,MAAM,CAC1B,IAA2B,EAC3B,UAAyB,EAAE;IAE3B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAChD,MAAM,OAAO,GAAG,IAAA,wCAAmB,EAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,eAAe,EAAE,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,IAAA,wCAAmB,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,yCAAoB,CAAC;YAC3C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;YAC3C,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS;SAC7B,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,WAAW,CAAC,iBAAiB,CAAC,IAAA,+BAAc,EAAC;gBAC3C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW;gBACtC,eAAe,EAAE,mCAAmC,EAAE,EAAE,EAAE,KAAK;gBAC/D,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI;gBACpD,WAAW,EAAE,UAAU,CAAC,WAAW;aACpC,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,gBAAgB,CAAC,UAAU,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC7B,CAAC;IACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,uBAAuB,GAAa,EAAE,CAAC;IAC7C,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,WAAW,GAAG,IAAI,yCAAoB,CAAC;QAC3C,OAAO;QACP,OAAO;QACP,MAAM;QACN,MAAM;QACN,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC;QACzD,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,kCAAiB,EAAC,MAAM,CAAC,CAAC;KACpE,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,eAAe,GAAG;YACtB,QAAQ,EAAE,CAAC,OAAe,EAAE,EAAE;gBAC5B,IAAI,OAAO;oBAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;oBAC9C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,QAAQ,EAAE,CAAC,OAAe,EAAE,EAAE;gBAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,kBAAkB,GAAG,IAAI,CAAC;oBAC1B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;SACF,CAAC;QACF,MAAM,gBAAgB,GAAG,CAAC,WAAoB,EAAQ,EAAE;YACtD,WAAW,CAAC,YAAY,EAAE,CAAC;YAC3B,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YAC7C,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ;gBAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACpE,CAAC,CAAC;QACF,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1B,MAAM,IAAA,gDAA2B,EAAC,WAAW,EAAE,GAAG,EAAE,CAClD,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAChD,CAAC;QACF,OAAO,cAAc,CAAC;IACxB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,KAAK,YAAY,0BAAc;YAChD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAA,wCAAmB,EAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,UAAU,EAAE,QAAQ,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAClE,cAAc,GAAG,QAAQ,CAAC;QAC1B,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,EAAE,CAAC;gBAC5C,MAAM,aAAa,GAAG,KAAK,YAAY,0BAAc,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC;gBAC9E,WAAW,CAAC,iBAAiB,CAAC,IAAA,+BAAc,EAAC;oBAC3C,OAAO;oBACP,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;oBACxC,eAAe,EAAE,mCAAmC;oBACpD,EAAE,EAAE,aAAa;oBACjB,QAAQ;oBACR,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,IAAI,IAAI;oBAC7F,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,IAAI,CAAC;4BAC5D,IAAI,EAAG,KAAwB,CAAC,IAAI;4BACpC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK;yBACvF,CAAC;iBACH,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjD,WAAW,CAAC,gBAAgB,CAAC,UAAU,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC"}
|
|
@@ -9,6 +9,8 @@ const node_fs_1 = __importDefault(require("node:fs"));
|
|
|
9
9
|
const node_path_1 = __importDefault(require("node:path"));
|
|
10
10
|
const commander_1 = require("commander");
|
|
11
11
|
const chalk_1 = __importDefault(require("chalk"));
|
|
12
|
+
const machine_result_1 = require("../../contracts/machine-result");
|
|
13
|
+
const command_options_1 = require("../../utils/command-options");
|
|
12
14
|
const LEGACY_V1_WARNING = {
|
|
13
15
|
code: 'AI_CONTEXT_V1_RUNTIME_INCOMPATIBLE',
|
|
14
16
|
message: 'Legacy v1 context is non-authoritative and cannot be used for bundle deploy or promote.',
|
|
@@ -285,7 +287,8 @@ exports.aiContextExportCommand = new commander_1.Command('export-legacy')
|
|
|
285
287
|
.option('--assets-root <path>', 'Assets repo root used with --industry')
|
|
286
288
|
.option('--out <dir>', 'Output directory for generated AI authoring files', '.nexusclaw')
|
|
287
289
|
.option('--json', 'Print export result as JSON', false)
|
|
288
|
-
.action((options) => {
|
|
290
|
+
.action((options, command) => {
|
|
291
|
+
const json = (0, command_options_1.isJsonOutputRequested)(options, command);
|
|
289
292
|
const result = exportAiAuthoringContext({
|
|
290
293
|
source: options.source,
|
|
291
294
|
industry: options.industry,
|
|
@@ -294,8 +297,8 @@ exports.aiContextExportCommand = new commander_1.Command('export-legacy')
|
|
|
294
297
|
outDir: options.out,
|
|
295
298
|
legacyV1: options.legacyV1,
|
|
296
299
|
});
|
|
297
|
-
if (
|
|
298
|
-
|
|
300
|
+
if (json) {
|
|
301
|
+
(0, machine_result_1.emitCliResult)((0, machine_result_1.buildCliResult)({ command: 'ai context export-legacy', phase: 'complete', contractVersion: 'nexusclaw.cli-command-contract/v1', ok: true, data: result }));
|
|
299
302
|
return;
|
|
300
303
|
}
|
|
301
304
|
console.log(chalk_1.default.cyan(`AI context exported: ${result.contextId}`));
|