opensip-cli 0.1.10 → 0.1.11
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/dist/bootstrap/baseline-seams.d.ts.map +1 -1
- package/dist/bootstrap/baseline-seams.js +0 -2
- package/dist/bootstrap/baseline-seams.js.map +1 -1
- package/dist/bootstrap/bootstrap-diagnostics-buffer.d.ts +15 -0
- package/dist/bootstrap/bootstrap-diagnostics-buffer.d.ts.map +1 -0
- package/dist/bootstrap/bootstrap-diagnostics-buffer.js +24 -0
- package/dist/bootstrap/bootstrap-diagnostics-buffer.js.map +1 -0
- package/dist/bootstrap/build-command-registration-input.d.ts +2 -0
- package/dist/bootstrap/build-command-registration-input.d.ts.map +1 -1
- package/dist/bootstrap/build-command-registration-input.js +1 -0
- package/dist/bootstrap/build-command-registration-input.js.map +1 -1
- package/dist/bootstrap/build-per-run-scope.d.ts +5 -1
- package/dist/bootstrap/build-per-run-scope.d.ts.map +1 -1
- package/dist/bootstrap/build-per-run-scope.js +8 -2
- package/dist/bootstrap/build-per-run-scope.js.map +1 -1
- package/dist/bootstrap/bundled-tools.manifest.json +6 -1
- package/dist/bootstrap/config-and-capabilities.d.ts +2 -1
- package/dist/bootstrap/config-and-capabilities.d.ts.map +1 -1
- package/dist/bootstrap/config-and-capabilities.js +18 -5
- package/dist/bootstrap/config-and-capabilities.js.map +1 -1
- package/dist/bootstrap/deliver-envelope.d.ts.map +1 -1
- package/dist/bootstrap/deliver-envelope.js +0 -1
- package/dist/bootstrap/deliver-envelope.js.map +1 -1
- package/dist/bootstrap/discovery-diagnostics.d.ts +17 -0
- package/dist/bootstrap/discovery-diagnostics.d.ts.map +1 -0
- package/dist/bootstrap/discovery-diagnostics.js +94 -0
- package/dist/bootstrap/discovery-diagnostics.js.map +1 -0
- package/dist/bootstrap/dispatch-host-rpc-handler.d.ts.map +1 -1
- package/dist/bootstrap/dispatch-host-rpc-handler.js +0 -1
- package/dist/bootstrap/dispatch-host-rpc-handler.js.map +1 -1
- package/dist/bootstrap/dispatch-replay-result.d.ts.map +1 -1
- package/dist/bootstrap/dispatch-replay-result.js +0 -1
- package/dist/bootstrap/dispatch-replay-result.js.map +1 -1
- package/dist/bootstrap/execute-post-bailout-bootstrap.d.ts.map +1 -1
- package/dist/bootstrap/execute-post-bailout-bootstrap.js +8 -2
- package/dist/bootstrap/execute-post-bailout-bootstrap.js.map +1 -1
- package/dist/bootstrap/index.d.ts +6 -1
- package/dist/bootstrap/index.d.ts.map +1 -1
- package/dist/bootstrap/index.js +15 -4
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/bootstrap/load-tool-capabilities.d.ts.map +1 -1
- package/dist/bootstrap/load-tool-capabilities.js +14 -2
- package/dist/bootstrap/load-tool-capabilities.js.map +1 -1
- package/dist/bootstrap/output-plane.d.ts.map +1 -1
- package/dist/bootstrap/output-plane.js +1 -0
- package/dist/bootstrap/output-plane.js.map +1 -1
- package/dist/bootstrap/pre-action-hook.d.ts.map +1 -1
- package/dist/bootstrap/pre-action-hook.js +0 -2
- package/dist/bootstrap/pre-action-hook.js.map +1 -1
- package/dist/bootstrap/pre-action-runtime.d.ts +2 -1
- package/dist/bootstrap/pre-action-runtime.d.ts.map +1 -1
- package/dist/bootstrap/register-tools-discovery.d.ts +6 -4
- package/dist/bootstrap/register-tools-discovery.d.ts.map +1 -1
- package/dist/bootstrap/register-tools-discovery.js +32 -19
- package/dist/bootstrap/register-tools-discovery.js.map +1 -1
- package/dist/bootstrap/register-tools-mount.d.ts +8 -5
- package/dist/bootstrap/register-tools-mount.d.ts.map +1 -1
- package/dist/bootstrap/register-tools-mount.js +35 -6
- package/dist/bootstrap/register-tools-mount.js.map +1 -1
- package/dist/bootstrap/register-tools.d.ts.map +1 -1
- package/dist/bootstrap/register-tools.js +0 -2
- package/dist/bootstrap/register-tools.js.map +1 -1
- package/dist/bootstrap/render-bootstrap-diagnostics.d.ts +13 -0
- package/dist/bootstrap/render-bootstrap-diagnostics.d.ts.map +1 -0
- package/dist/bootstrap/render-bootstrap-diagnostics.js +25 -0
- package/dist/bootstrap/render-bootstrap-diagnostics.js.map +1 -0
- package/dist/bootstrap/run-plane.d.ts.map +1 -1
- package/dist/bootstrap/run-plane.js +9 -4
- package/dist/bootstrap/run-plane.js.map +1 -1
- package/dist/bootstrap/state-seams.d.ts.map +1 -1
- package/dist/bootstrap/state-seams.js +0 -1
- package/dist/bootstrap/state-seams.js.map +1 -1
- package/dist/bootstrap/synthesize-external-tool.d.ts +0 -37
- package/dist/bootstrap/synthesize-external-tool.d.ts.map +1 -1
- package/dist/bootstrap/synthesize-external-tool.js +18 -67
- package/dist/bootstrap/synthesize-external-tool.js.map +1 -1
- package/dist/bootstrap/tool-command-worker-context.d.ts.map +1 -1
- package/dist/bootstrap/tool-command-worker-context.js +0 -1
- package/dist/bootstrap/tool-command-worker-context.js.map +1 -1
- package/dist/bootstrap/tool-command-worker-entry.d.ts.map +1 -1
- package/dist/bootstrap/tool-command-worker-entry.js +1 -3
- package/dist/bootstrap/tool-command-worker-entry.js.map +1 -1
- package/dist/bootstrap/tool-trust.d.ts.map +1 -1
- package/dist/bootstrap/tool-trust.js +15 -0
- package/dist/bootstrap/tool-trust.js.map +1 -1
- package/dist/bootstrap/validate-tool.d.ts.map +1 -1
- package/dist/bootstrap/validate-tool.js +63 -6
- package/dist/bootstrap/validate-tool.js.map +1 -1
- package/dist/cli-context.js +0 -1
- package/dist/cli-context.js.map +1 -1
- package/dist/commands/agent-catalog.d.ts.map +1 -1
- package/dist/commands/agent-catalog.js +14 -5
- package/dist/commands/agent-catalog.js.map +1 -1
- package/dist/commands/assemble-outcome.d.ts +2 -1
- package/dist/commands/assemble-outcome.d.ts.map +1 -1
- package/dist/commands/assemble-outcome.js +33 -16
- package/dist/commands/assemble-outcome.js.map +1 -1
- package/dist/commands/command-scope-index.d.ts +1 -1
- package/dist/commands/command-scope-index.js +2 -2
- package/dist/commands/command-scope-index.js.map +1 -1
- package/dist/commands/completion.d.ts +7 -33
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +76 -69
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/history.d.ts +3 -6
- package/dist/commands/history.d.ts.map +1 -1
- package/dist/commands/history.js +7 -12
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/host-command-specs.d.ts +6 -30
- package/dist/commands/host-command-specs.d.ts.map +1 -1
- package/dist/commands/host-command-specs.js +10 -33
- package/dist/commands/host-command-specs.js.map +1 -1
- package/dist/commands/host-subcommand-groups.d.ts +8 -72
- package/dist/commands/host-subcommand-groups.d.ts.map +1 -1
- package/dist/commands/host-subcommand-groups.js +9 -400
- package/dist/commands/host-subcommand-groups.js.map +1 -1
- package/dist/commands/host-subcommand-plugins.d.ts +20 -0
- package/dist/commands/host-subcommand-plugins.d.ts.map +1 -0
- package/dist/commands/host-subcommand-plugins.js +116 -0
- package/dist/commands/host-subcommand-plugins.js.map +1 -0
- package/dist/commands/host-subcommand-sessions.d.ts +8 -0
- package/dist/commands/host-subcommand-sessions.d.ts.map +1 -0
- package/dist/commands/host-subcommand-sessions.js +201 -0
- package/dist/commands/host-subcommand-sessions.js.map +1 -0
- package/dist/commands/host-subcommand-shared.d.ts +20 -0
- package/dist/commands/host-subcommand-shared.d.ts.map +1 -0
- package/dist/commands/host-subcommand-shared.js +15 -0
- package/dist/commands/host-subcommand-shared.js.map +1 -0
- package/dist/commands/init/file-classifier.d.ts.map +1 -1
- package/dist/commands/init/file-classifier.js +0 -1
- package/dist/commands/init/file-classifier.js.map +1 -1
- package/dist/commands/init/state-machine.d.ts.map +1 -1
- package/dist/commands/init/state-machine.js +0 -1
- package/dist/commands/init/state-machine.js.map +1 -1
- package/dist/commands/plugin/host-dir.d.ts.map +1 -1
- package/dist/commands/plugin/host-dir.js +0 -1
- package/dist/commands/plugin/host-dir.js.map +1 -1
- package/dist/commands/plugin-host-ops.d.ts.map +1 -1
- package/dist/commands/plugin-host-ops.js +0 -1
- package/dist/commands/plugin-host-ops.js.map +1 -1
- package/dist/commands/plugin.d.ts.map +1 -1
- package/dist/commands/plugin.js +0 -1
- package/dist/commands/plugin.js.map +1 -1
- package/dist/commands/session-show.d.ts +3 -1
- package/dist/commands/session-show.d.ts.map +1 -1
- package/dist/commands/session-show.js +23 -9
- package/dist/commands/session-show.js.map +1 -1
- package/dist/commands/shared.d.ts +3 -1
- package/dist/commands/shared.d.ts.map +1 -1
- package/dist/commands/tools/doctor.d.ts +7 -0
- package/dist/commands/tools/doctor.d.ts.map +1 -0
- package/dist/commands/tools/doctor.js +12 -0
- package/dist/commands/tools/doctor.js.map +1 -0
- package/dist/commands/tools/index.d.ts.map +1 -1
- package/dist/commands/tools/index.js +58 -8
- package/dist/commands/tools/index.js.map +1 -1
- package/dist/commands/uninstall/targets.d.ts.map +1 -1
- package/dist/commands/uninstall/targets.js +0 -1
- package/dist/commands/uninstall/targets.js.map +1 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +0 -1
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/open-report.d.ts.map +1 -1
- package/dist/open-report.js +0 -1
- package/dist/open-report.js.map +1 -1
- package/dist/report-compose.d.ts.map +1 -1
- package/dist/report-compose.js +0 -2
- package/dist/report-compose.js.map +1 -1
- package/dist/session-replay-registry.js +0 -1
- package/dist/session-replay-registry.js.map +1 -1
- package/dist/telemetry/sdk-init.d.ts.map +1 -1
- package/dist/telemetry/sdk-init.js +1 -1
- package/dist/telemetry/sdk-init.js.map +1 -1
- package/dist/ui/render-diagnostic.d.ts +20 -0
- package/dist/ui/render-diagnostic.d.ts.map +1 -0
- package/dist/ui/render-diagnostic.js +22 -0
- package/dist/ui/render-diagnostic.js.map +1 -0
- package/dist/ui/result-to-view.d.ts.map +1 -1
- package/dist/ui/result-to-view.js +13 -102
- package/dist/ui/result-to-view.js.map +1 -1
- package/dist/ui/views/tools-views.d.ts +2 -1
- package/dist/ui/views/tools-views.d.ts.map +1 -1
- package/dist/ui/views/tools-views.js +46 -5
- package/dist/ui/views/tools-views.js.map +1 -1
- package/dist/update-notifier.d.ts.map +1 -1
- package/dist/update-notifier.js +0 -1
- package/dist/update-notifier.js.map +1 -1
- package/dist/update-state.d.ts.map +1 -1
- package/dist/update-state.js +0 -1
- package/dist/update-state.js.map +1 -1
- package/package.json +33 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch-replay-result.js","sourceRoot":"","sources":["../../src/bootstrap/dispatch-replay-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAsBnE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAyB,EACzB,GAAoB,EACpB,UAAyB;IAEzB,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,gFAAgF;IAChF,6EAA6E;IAC7E,2EAA2E;IAC3E,gBAAgB;IAChB,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,UAAU,CAAC,WAAW;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;SACmB,CAAC;QAC3C,+EAA+E;QAC/E,+EAA+E;QAC/E,wCAAwC;QACxC,MAAM,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,mBAAmB;IACtH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,6EAA6E;IAC7E,+EAA+E;IAC/E,iFAAiF;IACjF,2DAA2D;IAC3D,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,
|
|
1
|
+
{"version":3,"file":"dispatch-replay-result.js","sourceRoot":"","sources":["../../src/bootstrap/dispatch-replay-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAsBnE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAyB,EACzB,GAAoB,EACpB,UAAyB;IAEzB,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,gFAAgF;IAChF,6EAA6E;IAC7E,2EAA2E;IAC3E,gBAAgB;IAChB,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,UAAU,CAAC,WAAW;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;SACmB,CAAC;QAC3C,+EAA+E;QAC/E,+EAA+E;QAC/E,wCAAwC;QACxC,MAAM,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,mBAAmB;IACtH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,6EAA6E;IAC7E,+EAA+E;IAC/E,iFAAiF;IACjF,2DAA2D;IAC3D,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-post-bailout-bootstrap.d.ts","sourceRoot":"","sources":["../../src/bootstrap/execute-post-bailout-bootstrap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execute-post-bailout-bootstrap.d.ts","sourceRoot":"","sources":["../../src/bootstrap/execute-post-bailout-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,eAAe,EAEf,UAAU,EAGV,KAAK,MAAM,EACX,KAAK,QAAQ,EACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAOrF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAShE,qDAAqD;AACrD,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAEpD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;IACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,eAAe,CAAC;IAClD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC;IAChD,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC;IAChD,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,yBAAyB,CAAC;IACtE,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,0BAA0B,CAAC;IACxE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;CACvD;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AA2BD;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,yBAAyB,EAChC,IAAI,GAAE,wBAA6B,GAClC,OAAO,CAAC,0BAA0B,CAAC,CAuHrC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @fitness-ignore-file detached-promises -- phase recorder, diagnostics, OTel meter, logger, and enterScope calls are synchronous; the async tool lifecycle calls are awaited below.
|
|
2
1
|
/**
|
|
3
2
|
* execute-post-bailout-bootstrap — post-bailout phases 5–9 (ADR-0052).
|
|
4
3
|
*
|
|
@@ -13,6 +12,7 @@ import { buildPerRunScope } from './build-per-run-scope.js';
|
|
|
13
12
|
import { loadOwningToolCapabilities } from './load-tool-capabilities.js';
|
|
14
13
|
import { maybeInitializeOwningTool, resolveOwningTool } from './owning-tool-init.js';
|
|
15
14
|
import { PRE_ACTION_PHASES } from './pre-action-bootstrap-phases.js';
|
|
15
|
+
import { isDedicatedBootstrapDiagnosticCommand, renderRelevantBootstrapDiagnostics, } from './render-bootstrap-diagnostics.js';
|
|
16
16
|
const MODULE_TAG = 'cli:bootstrap';
|
|
17
17
|
const CLI_PACKAGE_NAME = 'opensip-cli';
|
|
18
18
|
function noopPhaseRecord() {
|
|
@@ -37,7 +37,7 @@ export async function executePostBailoutBootstrap(input, deps = {}) {
|
|
|
37
37
|
const d = { ...defaultDeps, ...deps };
|
|
38
38
|
const record = deps.recordPhase ?? noopPhaseRecord;
|
|
39
39
|
const { plan, runtime, version, noCloud, apiKey } = input;
|
|
40
|
-
const { languages, tools, manifests, provenance } = runtime;
|
|
40
|
+
const { languages, tools, manifests, provenance, bootstrapDiagnostics } = runtime;
|
|
41
41
|
record(PRE_ACTION_PHASES.projectSideEffects);
|
|
42
42
|
const runLogger = d.createRunLogger(plan.runLoggerOptions);
|
|
43
43
|
const bannerSize = plan.cliDefaults.ui?.banner ?? 'mini';
|
|
@@ -64,6 +64,7 @@ export async function executePostBailoutBootstrap(input, deps = {}) {
|
|
|
64
64
|
registries: { languages, tools },
|
|
65
65
|
manifests,
|
|
66
66
|
provenance,
|
|
67
|
+
bootstrapDiagnostics,
|
|
67
68
|
apiKey,
|
|
68
69
|
noCloud,
|
|
69
70
|
logger: runLogger,
|
|
@@ -71,6 +72,11 @@ export async function executePostBailoutBootstrap(input, deps = {}) {
|
|
|
71
72
|
});
|
|
72
73
|
record(PRE_ACTION_PHASES.enterScope);
|
|
73
74
|
d.enterScope(scope); // resilience-ok: Commander postAction in pre-action-hook.ts disposes the entered RunScope after the action completes.
|
|
75
|
+
if (!isDedicatedBootstrapDiagnosticCommand(plan.commandPath) &&
|
|
76
|
+
plan.jsonOutput !== true &&
|
|
77
|
+
plan.opts.help !== true) {
|
|
78
|
+
renderRelevantBootstrapDiagnostics(scope.bootstrapDiagnostics, toolName);
|
|
79
|
+
}
|
|
74
80
|
if (!d.isScopeEntered()) {
|
|
75
81
|
throw new SystemError('Scope was not entered before command dispatch', {
|
|
76
82
|
code: 'SYSTEM.SCOPE.NOT_ENTERED',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-post-bailout-bootstrap.js","sourceRoot":"","sources":["../../src/bootstrap/execute-post-bailout-bootstrap.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"execute-post-bailout-bootstrap.js","sourceRoot":"","sources":["../../src/bootstrap/execute-post-bailout-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,eAAe,EACf,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,WAAW,GAGZ,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EACL,qCAAqC,EACrC,kCAAkC,GACnC,MAAM,mCAAmC,CAAC;AAK3C,MAAM,UAAU,GAAG,eAAe,CAAC;AACnC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC,SAAS,eAAe;IACtB,gEAAgE;AAClE,CAAC;AA+BD,MAAM,WAAW,GAab;IACF,eAAe;IACf,gBAAgB;IAChB,UAAU;IACV,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,KAAK,SAAS;IAClD,cAAc;IACd,cAAc;IACd,yBAAyB;IACzB,0BAA0B;IAC1B,iBAAiB;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAgC,EAChC,OAAiC,EAAE;IAEnC,MAAM,CAAC,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC;IACnD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC1D,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC;IAElF,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE3D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,IAAI,MAAM,CAAC;IACzD,MAAM,MAAM,GAAG,CAAC,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,IAAI,MAAM,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAErC,6EAA6E;IAC7E,8EAA8E;IAC9E,qEAAqE;IACrE,8EAA8E;IAC9E,sEAAsE;IACtE,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC;IACzE,MAAM,UAAU,GAAG,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE,IAAI,aAAa,CAAC;IAE1D,MAAM,KAAK,GAAG,CAAC,CAAC,gBAAgB,CAAC;QAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,aAAa;QACb,QAAQ;QACR,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;QAChC,SAAS;QACT,UAAU;QACV,oBAAoB;QACpB,MAAM;QACN,OAAO;QACP,MAAM,EAAE,SAAS;QACjB,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;KACxB,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,sHAAsH;IAE3I,IACE,CAAC,qCAAqC,CAAC,IAAI,CAAC,WAAW,CAAC;QACxD,IAAI,CAAC,UAAU,KAAK,IAAI;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EACvB,CAAC;QACD,kCAAkC,CAAC,KAAK,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,WAAW,CAAC,+CAA+C,EAAE;YACrE,IAAI,EAAE,0BAA0B;SACjC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAE3C,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,iBAAiB,CAAC,CAAC;IAClF,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;IAE/D,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;QAC3E,OAAO,EAAE,IAAI,CAAC,WAAW;KAC1B,CAAC,CAAC;IACH,KAAK,CAAC,WAAW,CAAC,KAAK,CACrB,UAAU,EACV,OAAO,EACP,mCAAmC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CACzD,CAAC;IAEF,SAAS,CAAC,IAAI,CAAC;QACb,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,WAAW;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;QACrC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;KAC1B,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC;YACb,GAAG,EAAE,wBAAwB;YAC7B,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACrC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;SAChC,CAAC,CAAC;IACL,CAAC;IAED,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAE1C,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAExC,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,CAAC,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAEnF,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,0BAA0B,CAAC;QAChD,UAAU,EAAE,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;QACxD,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;QACpC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,IAAI,EAAE;KACnD,CAAC,CAAC;IACH,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,KAAK,CAAC,WAAW,CAAC,KAAK,CACrB,MAAM,EACN,OAAO,EACP,SAAS,MAAM,CAAC,MAAM,CAAC,oHAAoH,CAC5I,CAAC;QACF,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* See tool-lifecycle.ts for the ordered steps and phase split.
|
|
13
13
|
*/
|
|
14
|
-
import { type LanguageRegistry, type ToolPluginManifest, type ToolProvenance, type ToolRegistry } from '@opensip-cli/core';
|
|
14
|
+
import { type CliDiagnostic, type LanguageRegistry, type ToolPluginManifest, type ToolProvenance, type ToolRegistry } from '@opensip-cli/core';
|
|
15
15
|
export { mountAllToolCommands, EXPECTED_SCAFFOLDING_TOOL_IDS } from './register-tools.js';
|
|
16
16
|
export { admitToolPackage, importToolRuntime, type AdmissionReport, type AdmissionSection, type AdmissionSectionResult, type AdmitToolPackageOptions, } from './admit-tool-package.js';
|
|
17
17
|
export { renderResult } from './render.js';
|
|
@@ -78,5 +78,10 @@ export interface BootstrapResult {
|
|
|
78
78
|
* cli-context per-run holder.
|
|
79
79
|
*/
|
|
80
80
|
readonly manifests: readonly ToolPluginManifest[];
|
|
81
|
+
/**
|
|
82
|
+
* Typed bootstrap diagnostics gathered during startup discovery/load (ADR-0060).
|
|
83
|
+
* Transferred onto the per-run {@link RunScope} by the composition root.
|
|
84
|
+
*/
|
|
85
|
+
readonly bootstrapDiagnostics: readonly CliDiagnostic[];
|
|
81
86
|
}
|
|
82
87
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bootstrap/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bootstrap/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAsB3B,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAI1F,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CA6FnF;AAED,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IAC/C;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAClD;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,EAAE,SAAS,aAAa,EAAE,CAAC;CACzD"}
|
package/dist/bootstrap/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @fitness-ignore-file detached-promises -- bootstrap calls the synchronous registerLanguageAdapters and awaits the async tool registration helpers (registerFirstPartyTools, discoverAndRegisterToolPackages) that the heuristic flags
|
|
2
1
|
/**
|
|
3
2
|
* bootstrap — performs the one-time (per-process) STARTUP phase registrations
|
|
4
3
|
* (language adapters + tool admission via the uniform dynamic path) and
|
|
@@ -15,6 +14,7 @@
|
|
|
15
14
|
import { logger, resolveProjectContext, resolveProjectPaths, resolveUserPaths, } from '@opensip-cli/core';
|
|
16
15
|
import { hostEnv } from '../env/host-env-specs.js';
|
|
17
16
|
import { initTelemetry } from '../telemetry/sdk-init.js';
|
|
17
|
+
import { getBootstrapDiagnosticsBuffer, resetBootstrapDiagnosticsBuffer, takeBootstrapDiagnostics, } from './bootstrap-diagnostics-buffer.js';
|
|
18
18
|
import { BOOTSTRAP_MODULE } from './constants.js';
|
|
19
19
|
import { registerLanguageAdapters } from './register-language-adapters.js';
|
|
20
20
|
import { BUNDLED_TOOL_PACKAGES, registerFirstPartyTools, discoverAndRegisterToolPackages, discoverAndRegisterAuthoredTools, buildToolDiscoverySources, } from './register-tools.js';
|
|
@@ -51,6 +51,7 @@ export async function bootstrapCli(opts) {
|
|
|
51
51
|
// endpoint env var is set (see telemetry/sdk-init.ts), so standalone startup
|
|
52
52
|
// is byte-for-byte unaffected.
|
|
53
53
|
initTelemetry(opts.cliEntryUrl);
|
|
54
|
+
resetBootstrapDiagnosticsBuffer();
|
|
54
55
|
registerLanguageAdapters(opts.langRegistry);
|
|
55
56
|
// Launch: bundled + installed tools both flow through the shared
|
|
56
57
|
// `admitTool` gate (register-tools.ts) and contribute a `ToolProvenance`
|
|
@@ -87,7 +88,10 @@ export async function bootstrapCli(opts) {
|
|
|
87
88
|
});
|
|
88
89
|
}
|
|
89
90
|
else {
|
|
90
|
-
await discoverAndRegisterToolPackages(opts.toolRegistry, {
|
|
91
|
+
await discoverAndRegisterToolPackages(opts.toolRegistry, {
|
|
92
|
+
sources: buildToolDiscoverySources(opts.cwd, opts.projectDir),
|
|
93
|
+
bootstrapDiagnostics: getBootstrapDiagnosticsBuffer(),
|
|
94
|
+
}, builtInIds, provenance, manifests);
|
|
91
95
|
}
|
|
92
96
|
// Authored Tool sidecars (ADR-0027 realization): global trusted-by-default +
|
|
93
97
|
// project deny-by-default. Resolve the two authored roots — the global root
|
|
@@ -99,7 +103,10 @@ export async function bootstrapCli(opts) {
|
|
|
99
103
|
const globalAuthoredDir = resolveUserPaths().authoredToolsDir;
|
|
100
104
|
let projectAuthoredDir;
|
|
101
105
|
try {
|
|
102
|
-
const project = resolveProjectContext({
|
|
106
|
+
const project = resolveProjectContext({
|
|
107
|
+
cwd: opts.cwd,
|
|
108
|
+
cwdExplicit: false,
|
|
109
|
+
});
|
|
103
110
|
if (project.scope === 'project') {
|
|
104
111
|
projectAuthoredDir = resolveProjectPaths(project.projectRoot).authoredToolsDir;
|
|
105
112
|
}
|
|
@@ -113,6 +120,10 @@ export async function bootstrapCli(opts) {
|
|
|
113
120
|
// discovered here. The pre-action hook drives the generic capability loader
|
|
114
121
|
// per command for the invoked tool's declared domains (§5.3/§4.5) — no
|
|
115
122
|
// host-coupled, eager, per-tool discovery at bootstrap.
|
|
116
|
-
return {
|
|
123
|
+
return {
|
|
124
|
+
provenance,
|
|
125
|
+
manifests,
|
|
126
|
+
bootstrapDiagnostics: takeBootstrapDiagnostics(),
|
|
127
|
+
};
|
|
117
128
|
}
|
|
118
129
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bootstrap/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bootstrap/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-tool-capabilities.d.ts","sourceRoot":"","sources":["../../src/bootstrap/load-tool-capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,OAAO,
|
|
1
|
+
{"version":3,"file":"load-tool-capabilities.d.ts","sourceRoot":"","sources":["../../src/bootstrap/load-tool-capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,OAAO,EAML,KAAK,IAAI,EACV,MAAM,mBAAmB,CAAC;AAe3B,sDAAsD;AACtD,MAAM,WAAW,iCAAiC;IAChD,4GAA4G;IAC5G,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,SAAS,CAAC;IACtC,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,4FAA4F;IAC5F,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,uFAAuF;IACvF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,MAAM,CAAC,CAwCjB"}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
import { dirname } from 'node:path';
|
|
20
20
|
import { fileURLToPath } from 'node:url';
|
|
21
21
|
import { resolveCapabilityPreferences } from '@opensip-cli/config';
|
|
22
|
-
import { currentCapabilityRegistry, loadCapabilityDomain, } from '@opensip-cli/core';
|
|
22
|
+
import { capabilityDiscoveryToCliDiagnostic, currentCapabilityRegistry, currentScope, loadCapabilityDomain, } from '@opensip-cli/core';
|
|
23
23
|
import { BUNDLED_CAPABILITY_PACKS } from './bundled-manifest.js';
|
|
24
24
|
/**
|
|
25
25
|
* Resolve the directory the CLI was installed into. BUILT-IN capability packs
|
|
@@ -59,7 +59,19 @@ export async function loadOwningToolCapabilities(options) {
|
|
|
59
59
|
if (domain.discovery === undefined)
|
|
60
60
|
continue;
|
|
61
61
|
const preferences = augmentBundledCapabilityPreferences(domain.discovery, resolveCapabilityPreferences(domain.discovery, pluginsConfig));
|
|
62
|
-
await loadCapabilityDomain({
|
|
62
|
+
await loadCapabilityDomain({
|
|
63
|
+
registry,
|
|
64
|
+
domainId: domain.id,
|
|
65
|
+
projectDir,
|
|
66
|
+
cliDir,
|
|
67
|
+
preferences,
|
|
68
|
+
onDiagnostic: (diagnostic) => {
|
|
69
|
+
currentScope()?.bootstrapDiagnostics.record(capabilityDiscoveryToCliDiagnostic(diagnostic, domain.id, {
|
|
70
|
+
toolId: owningTool.metadata.id,
|
|
71
|
+
capabilityDomain: domain.id,
|
|
72
|
+
}));
|
|
73
|
+
},
|
|
74
|
+
});
|
|
63
75
|
driven++;
|
|
64
76
|
}
|
|
65
77
|
return driven;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-tool-capabilities.js","sourceRoot":"","sources":["../../src/bootstrap/load-tool-capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,4BAA4B,EAA8B,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GAGrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE;;;;;;GAMG;AACH,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAcD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAA0C;IAE1C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAC/D,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC;IAC1B,8EAA8E;IAC9E,0EAA0E;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;IAEjD,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,yBAAyB,EAAE,CAAC;IAE7C,MAAM,YAAY,GAAG,QAAQ;SAC1B,WAAW,EAAE;SACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE3D,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;YAAE,SAAS;QAC7C,MAAM,WAAW,GAAG,mCAAmC,CACrD,MAAM,CAAC,SAAS,EAChB,4BAA4B,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAC9D,CAAC;QACF,MAAM,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"load-tool-capabilities.js","sourceRoot":"","sources":["../../src/bootstrap/load-tool-capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,4BAA4B,EAA8B,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACL,kCAAkC,EAClC,yBAAyB,EACzB,YAAY,EACZ,oBAAoB,GAGrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE;;;;;;GAMG;AACH,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAcD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAA0C;IAE1C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAC/D,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC;IAC1B,8EAA8E;IAC9E,0EAA0E;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;IAEjD,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,yBAAyB,EAAE,CAAC;IAE7C,MAAM,YAAY,GAAG,QAAQ;SAC1B,WAAW,EAAE;SACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE3D,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;YAAE,SAAS;QAC7C,MAAM,WAAW,GAAG,mCAAmC,CACrD,MAAM,CAAC,SAAS,EAChB,4BAA4B,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAC9D,CAAC;QACF,MAAM,oBAAoB,CAAC;YACzB,QAAQ;YACR,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,UAAU;YACV,MAAM;YACN,WAAW;YACX,YAAY,EAAE,CAAC,UAAU,EAAE,EAAE;gBAC3B,YAAY,EAAE,EAAE,oBAAoB,CAAC,MAAM,CACzC,kCAAkC,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE;oBACxD,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE;oBAC9B,gBAAgB,EAAE,MAAM,CAAC,EAAE;iBAC5B,CAAC,CACH,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QACH,MAAM,EAAE,CAAC;IACX,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,mCAAmC,CAC1C,UAAyC,EACzC,WAAkC;IAElC,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC3D,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC;IAC/D,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1E,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IACtE,OAAO,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;AACpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-plane.d.ts","sourceRoot":"","sources":["../../src/bootstrap/output-plane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAA2B,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAS9F,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,wBAAwB,CAAC;AAK5E,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC9B,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,oEAAoE;IACpE,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC/C,wFAAwF;IACxF,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,cAAc,GAAG,WAAW,GAAG,SAAS,CAAC,CAAC;CAC7F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"output-plane.d.ts","sourceRoot":"","sources":["../../src/bootstrap/output-plane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAA2B,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAS9F,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,wBAAwB,CAAC;AAK5E,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC9B,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,oEAAoE;IACpE,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC/C,wFAAwF;IACxF,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,cAAc,GAAG,WAAW,GAAG,SAAS,CAAC,CAAC;CAC7F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,CAgGpE"}
|
|
@@ -86,6 +86,7 @@ export function createOutputPlane(deps) {
|
|
|
86
86
|
exitCode: detail.exitCode,
|
|
87
87
|
...(detail.suggestion === undefined ? {} : { suggestion: detail.suggestion }),
|
|
88
88
|
...(detail.code === undefined ? {} : { code: detail.code }),
|
|
89
|
+
...(detail.diagnostic === undefined ? {} : { diagnostic: detail.diagnostic }),
|
|
89
90
|
}), { jsonRequested: true, render: deps.render }).catch((error) => {
|
|
90
91
|
// Even error emission failing is fatal for the json contract.
|
|
91
92
|
// Only force 1 if the error detail itself indicated success (edge).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-plane.js","sourceRoot":"","sources":["../../src/bootstrap/output-plane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,MAAM,IAAI,aAAa,EAAoC,MAAM,mBAAmB,CAAC;AAE9F,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAIzE,wDAAwD;AACxD,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAmBtC,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC;IACzC,IAAI,QAA4B,CAAC;IAEjC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAQ,EAAE;QACzC,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,KAAK,GAAyB;QAClC,qEAAqE;QACrE,wEAAwE;QACxE,mEAAmE;QACnE,sEAAsE;QACtE,0EAA0E;QAC1E,2EAA2E;QAC3E,iEAAiE;QACjE,EAAE;QACF,sEAAsE;QACtE,kEAAkE;QAClE,2DAA2D;QAC3D,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,aAAa,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,EAAE;gBACrD,aAAa,EAAE,IAAI;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,gEAAgE;gBAChE,mEAAmE;gBACnE,yEAAyE;gBACzE,oEAAoE;gBACpE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,WAAW,CAAC,CAAC,CAAC,CAAC;gBACjB,CAAC;gBACD,GAAG,CAAC,KAAK,CAAC;oBACR,GAAG,EAAE,6BAA6B;oBAClC,MAAM,EAAE,UAAU;oBAClB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QACD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE;YACzB,aAAa,CAAC,mBAAmB,CAAC,QAA0B,EAAE,QAAQ,IAAI,CAAC,CAAC,EAAE;gBAC5E,aAAa,EAAE,IAAI;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,WAAW,CAAC,CAAC,CAAC,CAAC;gBACjB,CAAC;gBACD,GAAG,CAAC,KAAK,CAAC;oBACR,GAAG,EAAE,iCAAiC;oBACtC,MAAM,EAAE,UAAU;oBAClB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QACD,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;QACzE,yEAAyE;QACzE,oEAAoE;QACpE,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;YACpB,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7B,aAAa,CACX,uBAAuB,CAAC;gBACtB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC7E,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"output-plane.js","sourceRoot":"","sources":["../../src/bootstrap/output-plane.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-action-hook.d.ts","sourceRoot":"","sources":["../../src/bootstrap/pre-action-hook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pre-action-hook.d.ts","sourceRoot":"","sources":["../../src/bootstrap/pre-action-hook.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAE,iBAAiB,GAC/B,IAAI,CA4CN;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAiB1C"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @fitness-ignore-file detached-promises -- the preAction hook is a composition root: its body awaits maybeInitializeOwningTool inside executePostBailoutBootstrap. Matches the same suppression on index.ts and bootstrap/index.ts.
|
|
2
1
|
/**
|
|
3
2
|
* pre-action-hook — Commander `preAction` adapter (ADR-0052).
|
|
4
3
|
*
|
|
@@ -44,7 +43,6 @@ export function installPreActionHook(program, version, runtime, commandScopes) {
|
|
|
44
43
|
plan,
|
|
45
44
|
runtime,
|
|
46
45
|
version,
|
|
47
|
-
// @fitness-ignore-next-line null-safety -- Commander optsWithGlobals always returns OptionValues; `.cloud` is absent-or-boolean.
|
|
48
46
|
noCloud: actionCommand.optsWithGlobals().cloud === false,
|
|
49
47
|
apiKey: opts.apiKey,
|
|
50
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-action-hook.js","sourceRoot":"","sources":["../../src/bootstrap/pre-action-hook.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pre-action-hook.js","sourceRoot":"","sources":["../../src/bootstrap/pre-action-hook.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAMxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,OAAe,EACf,OAAyB,EACzB,aAAgC;IAEhC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE;QAC9D,uEAAuE;QACvE,6EAA6E;QAC7E,mCAAmC;QACnC,uBAAuB,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,2EAA2E;QAC3E,+EAA+E;QAC/E,6EAA6E;QAC7E,4EAA4E;QAC5E,8EAA8E;QAC9E,2EAA2E;QAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAS,gBAAgB,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxF,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,GAAG,GAAI,IAAI,CAAC,GAAc,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;QAExE,MAAM,IAAI,GAAG,sBAAsB,CAAC;YAClC,IAAI,EAAE,IAAI;YACV,GAAG;YACH,WAAW;YACX,KAAK;YACL,WAAW,EAAE,aAAa,CAAC,IAAI,EAAE;YACjC,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC;YACvC,aAAa;YACb,kBAAkB,EAAE,IAAI,CAAC,MAA4B;SACtD,CAAC,CAAC;QAEH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,2BAA2B,CAAC;YAClD,IAAI;YACJ,OAAO;YACP,OAAO;YACP,OAAO,EAAE,aAAa,CAAC,eAAe,EAAE,CAAC,KAAK,KAAK,KAAK;YACxD,MAAM,EAAE,IAAI,CAAC,MAA4B;SAC1C,CAAC,CAAC;QACH,KAAK,CAAC,WAAW,CAAC,KAAK,CACrB,MAAM,EACN,OAAO,EACP,sCAAsC,aAAa,CAAC,IAAI,EAAE,GAAG,CAC9D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACzC,CAAC,CAAC,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oFAAoF;IACtF,CAAC;YAAS,CAAC;QACT,sEAAsE;QACtE,oEAAoE;QACpE,wEAAwE;QACxE,2EAA2E;QAC3E,yEAAyE;QACzE,oDAAoD;QACpD,SAAS,EAAE,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type { LanguageRegistry, ToolPluginManifest, ToolProvenance, ToolRegistry } from '@opensip-cli/core';
|
|
1
|
+
import type { CliDiagnostic, LanguageRegistry, ToolPluginManifest, ToolProvenance, ToolRegistry } from '@opensip-cli/core';
|
|
2
2
|
/** Per-invocation bootstrap inputs captured in the pre-action hook closure. */
|
|
3
3
|
export interface PreActionRuntime {
|
|
4
4
|
readonly languages: LanguageRegistry;
|
|
5
5
|
readonly tools: ToolRegistry;
|
|
6
6
|
readonly manifests: readonly ToolPluginManifest[];
|
|
7
7
|
readonly provenance: readonly ToolProvenance[];
|
|
8
|
+
readonly bootstrapDiagnostics: readonly CliDiagnostic[];
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=pre-action-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-action-runtime.d.ts","sourceRoot":"","sources":["../../src/bootstrap/pre-action-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"pre-action-runtime.d.ts","sourceRoot":"","sources":["../../src/bootstrap/pre-action-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IAC/C,QAAQ,CAAC,oBAAoB,EAAE,SAAS,aAAa,EAAE,CAAC;CACzD"}
|
|
@@ -4,18 +4,18 @@
|
|
|
4
4
|
* Extracted from register-tools.ts so the bundled registration path stays a
|
|
5
5
|
* focused module under the file-length soft limit.
|
|
6
6
|
*/
|
|
7
|
-
import { type ToolPluginManifest, type ToolProvenance, type ToolRegistry, type ToolDiscoverySource } from '@opensip-cli/core';
|
|
7
|
+
import { type BootstrapDiagnosticsCollector, type ToolPluginManifest, type ToolProvenance, type ToolRegistry, type ToolDiscoverySource } from '@opensip-cli/core';
|
|
8
8
|
import { type ToolRuntimeLoad } from './admit-tool-package.js';
|
|
9
9
|
/**
|
|
10
10
|
* Emit the best-effort stderr line + structured warning for a discovered
|
|
11
11
|
* INSTALLED tool whose runtime failed to load. Each failure reason maps to its
|
|
12
12
|
* own diagnostic while preserving the installed leg's skip-not-crash posture.
|
|
13
13
|
*/
|
|
14
|
-
/**
|
|
15
|
-
export declare function emitInstalledTrustDenied(toolId: string, packageName: string, packageDir: string): void;
|
|
14
|
+
/** Record + structured log when an installed tool is skipped by the trust gate. */
|
|
15
|
+
export declare function emitInstalledTrustDenied(toolId: string, packageName: string, packageDir: string, collector?: BootstrapDiagnosticsCollector): void;
|
|
16
16
|
export declare function emitInstalledLoadFailure(name: string, load: Extract<ToolRuntimeLoad, {
|
|
17
17
|
ok: false;
|
|
18
|
-
}
|
|
18
|
+
}>, collector?: BootstrapDiagnosticsCollector): void;
|
|
19
19
|
export interface DiscoveryOptions {
|
|
20
20
|
/**
|
|
21
21
|
* Ordered tool-discovery sources (precedence: first wins on duplicate
|
|
@@ -26,6 +26,8 @@ export interface DiscoveryOptions {
|
|
|
26
26
|
readonly sources: readonly ToolDiscoverySource[];
|
|
27
27
|
/** Injectable env for installed-tool trust (bootstrap-time; defaults to `process.env`). */
|
|
28
28
|
readonly env?: NodeJS.ProcessEnv;
|
|
29
|
+
/** Optional bootstrap diagnostics sink (defaults to the process-wide buffer). */
|
|
30
|
+
readonly bootstrapDiagnostics?: BootstrapDiagnosticsCollector;
|
|
29
31
|
}
|
|
30
32
|
/**
|
|
31
33
|
* Build the ordered tool-discovery sources. Order is precedence
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-tools-discovery.d.ts","sourceRoot":"","sources":["../../src/bootstrap/register-tools-discovery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"register-tools-discovery.d.ts","sourceRoot":"","sources":["../../src/bootstrap/register-tools-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EASL,KAAK,6BAA6B,EAClC,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AA+DjC;;;;GAIG;AACH,mFAAmF;AACnF,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,6BAA6B,GACxC,IAAI,CASN;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC,EAC7C,SAAS,CAAC,EAAE,6BAA6B,GACxC,IAAI,CAoBN;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACjD,2FAA2F;IAC3F,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,iFAAiF;IACjF,QAAQ,CAAC,oBAAoB,CAAC,EAAE,6BAA6B,CAAC;CAC/D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,GACpB,mBAAmB,EAAE,CAqBvB;AAyGD,wBAAsB,+BAA+B,CACnD,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,gBAAgB,EACtB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/B,UAAU,GAAE,cAAc,EAAO,EACjC,SAAS,GAAE,kBAAkB,EAAO,GACnC,OAAO,CAAC,IAAI,CAAC,CAqCf"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @fitness-ignore-file performance-anti-patterns -- sequential await across discovered tool packages preserves load order for plugin-conflict detection; bounded by installed plugin count
|
|
2
1
|
/**
|
|
3
2
|
* register-tools-discovery — installed + authored tool admission and discovery.
|
|
4
3
|
*
|
|
@@ -7,19 +6,22 @@
|
|
|
7
6
|
*/
|
|
8
7
|
import { admitTool, assertManifestMatchesTool, discoverToolPackagesFromAnchors, logger, resolveProjectContext, resolveProjectPaths, resolveUserPaths, loadToolManifest, } from '@opensip-cli/core';
|
|
9
8
|
import { importToolRuntime, workerRuntimeImportPolicyFor, } from './admit-tool-package.js';
|
|
9
|
+
import { BUNDLED_TOOL_PACKAGES } from './bundled-manifest.js';
|
|
10
10
|
import { BOOTSTRAP_MODULE } from './constants.js';
|
|
11
|
+
import { recordInstalledCatchFailure, recordInstalledLoadFailure, recordInstalledManifestInvalid, recordInstalledTrustDenied, } from './discovery-diagnostics.js';
|
|
11
12
|
import { synthesizeExternalTool } from './synthesize-external-tool.js';
|
|
12
13
|
import { isHostRuntimeImportForbidden } from './tool-provenance.js';
|
|
13
14
|
import { isInstalledToolTrusted } from './tool-trust.js';
|
|
15
|
+
const BUNDLED_PACKAGE_NAMES = new Set(BUNDLED_TOOL_PACKAGES);
|
|
14
16
|
/**
|
|
15
17
|
* Run the admission gate over a discovered INSTALLED tool package before its
|
|
16
18
|
* module is imported. Installed tools are best-effort: incompatible or malformed
|
|
17
19
|
* ambient packages skip with diagnostics rather than crashing unrelated commands.
|
|
18
20
|
*/
|
|
19
|
-
function admitInstalledTool(pkg, builtInIds) {
|
|
21
|
+
function admitInstalledTool(pkg, builtInIds, collector) {
|
|
20
22
|
const manifest = loadToolManifest('installed', pkg.packageDir);
|
|
21
23
|
if (manifest === undefined) {
|
|
22
|
-
|
|
24
|
+
recordInstalledManifestInvalid(pkg.name, collector);
|
|
23
25
|
logger.warn({
|
|
24
26
|
evt: 'cli.tool.manifest_invalid',
|
|
25
27
|
module: BOOTSTRAP_MODULE,
|
|
@@ -27,6 +29,19 @@ function admitInstalledTool(pkg, builtInIds) {
|
|
|
27
29
|
});
|
|
28
30
|
return undefined;
|
|
29
31
|
}
|
|
32
|
+
// ADR-0060 Phase 1: stale injected copies of bundled first-party tools are
|
|
33
|
+
// distribution noise when the bundled path already admitted the same id.
|
|
34
|
+
// When OPENSIP_CLI_SKIP_BUNDLED dropped bundled admission, the installed
|
|
35
|
+
// package is the intentional takeover path — do not skip it here.
|
|
36
|
+
if (BUNDLED_PACKAGE_NAMES.has(pkg.name) && builtInIds.has(manifest.id)) {
|
|
37
|
+
logger.debug({
|
|
38
|
+
evt: 'cli.tool.bundled_installed_copy_skipped',
|
|
39
|
+
module: BOOTSTRAP_MODULE,
|
|
40
|
+
packageName: pkg.name,
|
|
41
|
+
packageDir: pkg.packageDir,
|
|
42
|
+
});
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
30
45
|
if (builtInIds.has(manifest.id))
|
|
31
46
|
return undefined;
|
|
32
47
|
const result = admitTool({
|
|
@@ -45,11 +60,9 @@ function admitInstalledTool(pkg, builtInIds) {
|
|
|
45
60
|
* INSTALLED tool whose runtime failed to load. Each failure reason maps to its
|
|
46
61
|
* own diagnostic while preserving the installed leg's skip-not-crash posture.
|
|
47
62
|
*/
|
|
48
|
-
/**
|
|
49
|
-
export function emitInstalledTrustDenied(toolId, packageName, packageDir) {
|
|
50
|
-
|
|
51
|
-
`Allowlist it via OPENSIP_CLI_ALLOW_INSTALLED_TOOLS='${toolId}' to admit it ` +
|
|
52
|
-
`(or OPENSIP_CLI_ALLOW_INSTALLED_TOOLS='*' for all). See opensip.ai/docs/opensip-cli/70-reference/10-environment-variables/\n`);
|
|
63
|
+
/** Record + structured log when an installed tool is skipped by the trust gate. */
|
|
64
|
+
export function emitInstalledTrustDenied(toolId, packageName, packageDir, collector) {
|
|
65
|
+
recordInstalledTrustDenied(toolId, packageName, packageDir, collector);
|
|
53
66
|
logger.warn({
|
|
54
67
|
evt: 'cli.tool.installed_trust_denied',
|
|
55
68
|
module: BOOTSTRAP_MODULE,
|
|
@@ -58,14 +71,13 @@ export function emitInstalledTrustDenied(toolId, packageName, packageDir) {
|
|
|
58
71
|
packageDir,
|
|
59
72
|
});
|
|
60
73
|
}
|
|
61
|
-
export function emitInstalledLoadFailure(name, load) {
|
|
74
|
+
export function emitInstalledLoadFailure(name, load, collector) {
|
|
75
|
+
recordInstalledLoadFailure(name, load, collector);
|
|
62
76
|
if (load.reason === 'no-entry') {
|
|
63
|
-
process.stderr.write(`opensip: tool package ${name} has no resolvable entry point — skipping\n`);
|
|
64
77
|
logger.warn({ evt: 'cli.tool.no_entry', module: BOOTSTRAP_MODULE, name });
|
|
65
78
|
return;
|
|
66
79
|
}
|
|
67
80
|
if (load.reason === 'invalid-shape') {
|
|
68
|
-
process.stderr.write(`opensip: tool package ${name} does not export a valid \`tool\` — skipping\n`);
|
|
69
81
|
logger.warn({
|
|
70
82
|
evt: 'cli.tool.invalid_shape',
|
|
71
83
|
module: BOOTSTRAP_MODULE,
|
|
@@ -73,7 +85,6 @@ export function emitInstalledLoadFailure(name, load) {
|
|
|
73
85
|
});
|
|
74
86
|
return;
|
|
75
87
|
}
|
|
76
|
-
process.stderr.write(`opensip: failed to load tool ${name}: ${load.detail ?? 'import failed'}\n`);
|
|
77
88
|
logger.warn({
|
|
78
89
|
evt: 'cli.tool.load_failed',
|
|
79
90
|
module: BOOTSTRAP_MODULE,
|
|
@@ -135,11 +146,11 @@ export function buildToolDiscoverySources(cwd, cliInstallDir) {
|
|
|
135
146
|
* @param provenance Optional sink for admitted tools' provenance records.
|
|
136
147
|
*/
|
|
137
148
|
async function registerDiscoveredInstalledPackage(pkg, args) {
|
|
138
|
-
const admission = admitInstalledTool(pkg, args.builtInIds);
|
|
149
|
+
const admission = admitInstalledTool(pkg, args.builtInIds, args.bootstrapDiagnostics);
|
|
139
150
|
if (admission === undefined)
|
|
140
151
|
return;
|
|
141
152
|
if (!isInstalledToolTrusted(admission.manifest.id, args.env)) {
|
|
142
|
-
emitInstalledTrustDenied(admission.manifest.id, pkg.name, pkg.packageDir);
|
|
153
|
+
emitInstalledTrustDenied(admission.manifest.id, pkg.name, pkg.packageDir, args.bootstrapDiagnostics);
|
|
143
154
|
return;
|
|
144
155
|
}
|
|
145
156
|
// ADR-0054 M4-G (capstone): in the HOST, NEVER import the external runtime —
|
|
@@ -152,12 +163,14 @@ async function registerDiscoveredInstalledPackage(pkg, args) {
|
|
|
152
163
|
if (isHostRuntimeImportForbidden(args.env)) {
|
|
153
164
|
// Synchronous void registration (no import in the host); `void` marks the
|
|
154
165
|
// floating call as deliberately non-promise (the synthesize path never awaits).
|
|
155
|
-
void registerSyntheticExternalTool(args, admission, {
|
|
166
|
+
void registerSyntheticExternalTool(args, admission, {
|
|
167
|
+
sourcePackage: pkg.name,
|
|
168
|
+
});
|
|
156
169
|
return;
|
|
157
170
|
}
|
|
158
171
|
const load = await importToolRuntime(pkg.packageDir, workerRuntimeImportPolicyFor('installed'));
|
|
159
172
|
if (!load.ok) {
|
|
160
|
-
emitInstalledLoadFailure(pkg.name, load);
|
|
173
|
+
emitInstalledLoadFailure(pkg.name, load, args.bootstrapDiagnostics);
|
|
161
174
|
return;
|
|
162
175
|
}
|
|
163
176
|
if (args.builtInIds.has(load.tool.metadata.name ?? load.tool.metadata.id))
|
|
@@ -167,7 +180,6 @@ async function registerDiscoveredInstalledPackage(pkg, args) {
|
|
|
167
180
|
if (args.registeredStableIds.has(load.tool.metadata.id))
|
|
168
181
|
return;
|
|
169
182
|
assertManifestMatchesTool(admission.manifest, load.tool);
|
|
170
|
-
// @fitness-ignore-next-line detached-promises -- ToolRegistry.register(...) returns void (registry.ts:46); the detached-promise heuristic misfires on the discarded non-promise call result.
|
|
171
183
|
args.registry.register(load.tool, { sourcePackage: pkg.name });
|
|
172
184
|
args.provenance.push(admission.provenance);
|
|
173
185
|
args.manifests.push(admission.manifest);
|
|
@@ -184,7 +196,6 @@ function registerSyntheticExternalTool(args, admission, opts) {
|
|
|
184
196
|
return;
|
|
185
197
|
if (args.registeredStableIds.has(tool.metadata.id))
|
|
186
198
|
return;
|
|
187
|
-
// @fitness-ignore-next-line detached-promises -- ToolRegistry.register(...) returns void (registry.ts:46); the detached-promise heuristic misfires on the discarded non-promise call result.
|
|
188
199
|
args.registry.register(tool, opts?.sourcePackage === undefined ? undefined : opts);
|
|
189
200
|
args.provenance.push(admission.provenance);
|
|
190
201
|
args.manifests.push(admission.manifest);
|
|
@@ -200,6 +211,7 @@ export async function discoverAndRegisterToolPackages(registry, opts, builtInIds
|
|
|
200
211
|
// session-replay duplicate guard. UUID is identity; skip on a UUID match.
|
|
201
212
|
const registeredStableIds = new Set(registry.list().map((t) => t.metadata.id));
|
|
202
213
|
const env = opts.env ?? process.env;
|
|
214
|
+
const bootstrapDiagnostics = opts.bootstrapDiagnostics;
|
|
203
215
|
for (const pkg of discovered) {
|
|
204
216
|
try {
|
|
205
217
|
await registerDiscoveredInstalledPackage(pkg, {
|
|
@@ -209,11 +221,12 @@ export async function discoverAndRegisterToolPackages(registry, opts, builtInIds
|
|
|
209
221
|
registeredStableIds,
|
|
210
222
|
provenance,
|
|
211
223
|
manifests,
|
|
224
|
+
bootstrapDiagnostics,
|
|
212
225
|
});
|
|
213
226
|
}
|
|
214
227
|
catch (error) {
|
|
215
228
|
const msg = error instanceof Error ? error.message : String(error);
|
|
216
|
-
|
|
229
|
+
recordInstalledCatchFailure(pkg.name, msg, bootstrapDiagnostics);
|
|
217
230
|
logger.warn({
|
|
218
231
|
evt: 'cli.tool.load_failed',
|
|
219
232
|
module: BOOTSTRAP_MODULE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-tools-discovery.js","sourceRoot":"","sources":["../../src/bootstrap/register-tools-discovery.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"register-tools-discovery.js","sourceRoot":"","sources":["../../src/bootstrap/register-tools-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type CliProgram } from '@opensip-cli/contracts';
|
|
2
|
-
import { type Tool, type ToolCliContext, type ToolRegistry } from '@opensip-cli/core';
|
|
2
|
+
import { type Tool, type ToolCliContext, type ToolProvenance, type ToolRegistry } from '@opensip-cli/core';
|
|
3
3
|
/**
|
|
4
4
|
* Walk the registry and mount each tool's commands onto `program`. This is
|
|
5
5
|
* **step 8** of the tool lifecycle (launch, §5.4) — see
|
|
@@ -12,16 +12,19 @@ import { type Tool, type ToolCliContext, type ToolRegistry } from '@opensip-cli/
|
|
|
12
12
|
* mis-declaration: it contributes no commands, surfaced loudly via
|
|
13
13
|
* `cli.tool.no_command_surface`.
|
|
14
14
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* Mount failures are **bundled fail-closed, external best-effort** (R16). A
|
|
16
|
+
* bundled tool whose spec fails to mount throws `PluginIncompatibleError` so the
|
|
17
|
+
* composition root aborts startup (exit 5). External provenance (installed /
|
|
18
|
+
* project-local / user-global) keeps the warn-and-continue posture.
|
|
18
19
|
*
|
|
19
20
|
* @param registry The per-invocation tool registry to walk.
|
|
20
21
|
* @param program The root Commander program (host-owned; the composition root
|
|
21
22
|
* passes it — it is no longer reachable through the tool context, §8).
|
|
22
23
|
* @param ctx The per-invocation handler context (render/emit/scope — no program).
|
|
24
|
+
* @param provenance Admitted-tool provenance from bootstrap (required — no default).
|
|
25
|
+
* @throws {PluginIncompatibleError} When a bundled tool's command surface fails to mount.
|
|
23
26
|
*/
|
|
24
|
-
export declare function mountAllToolCommands(registry: ToolRegistry, program: CliProgram, ctx: ToolCliContext): void;
|
|
27
|
+
export declare function mountAllToolCommands(registry: ToolRegistry, program: CliProgram, ctx: ToolCliContext, provenance: readonly ToolProvenance[]): void;
|
|
25
28
|
/**
|
|
26
29
|
* Mount ONE tool's commands from its declared `commandSpecs` — the only command
|
|
27
30
|
* surface (public launch). Extracted so {@link mountAllToolCommands} keeps its
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-tools-mount.d.ts","sourceRoot":"","sources":["../../src/bootstrap/register-tools-mount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"register-tools-mount.d.ts","sourceRoot":"","sources":["../../src/bootstrap/register-tools-mount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAIL,KAAK,IAAI,EACT,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAW3B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,UAAU,EACnB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,SAAS,cAAc,EAAE,GACpC,IAAI,CAqDN;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAsCvF"}
|