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,3 +1,4 @@
|
|
|
1
|
+
import { logger } from '@opensip-cli/core';
|
|
1
2
|
/**
|
|
2
3
|
* tool-trust — executable-tool trust policies for project-local and installed
|
|
3
4
|
* npm tools (release launch, Phase 3 Task 3.2; audit remediation).
|
|
@@ -31,6 +32,8 @@ export const PROJECT_TOOL_ALLOWLIST_ENV = 'OPENSIP_CLI_ALLOW_PROJECT_TOOLS';
|
|
|
31
32
|
* {@link isInstalledToolTrusted}).
|
|
32
33
|
*/
|
|
33
34
|
export const INSTALLED_TOOL_ALLOWLIST_ENV = 'OPENSIP_CLI_ALLOW_INSTALLED_TOOLS';
|
|
35
|
+
/** One-time process warning when a trust allowlist resolves to the `*` wildcard. */
|
|
36
|
+
let wildcardAllowlistWarned = false;
|
|
34
37
|
/**
|
|
35
38
|
* Parse the allowlist env var into a set of permitted tool ids. Empty/
|
|
36
39
|
* unset ⇒ empty set (deny-by-default). The wildcard `'*'` admits all
|
|
@@ -44,6 +47,16 @@ function parseAllowlist(raw) {
|
|
|
44
47
|
.map((s) => s.trim())
|
|
45
48
|
.filter((s) => s.length > 0));
|
|
46
49
|
}
|
|
50
|
+
function warnWildcardAllowlist(envVar, allow) {
|
|
51
|
+
if (wildcardAllowlistWarned || !allow.has('*'))
|
|
52
|
+
return;
|
|
53
|
+
wildcardAllowlistWarned = true;
|
|
54
|
+
logger.warn({
|
|
55
|
+
evt: 'cli.trust.wildcard_allowlist',
|
|
56
|
+
envVar,
|
|
57
|
+
detail: 'trust allowlist contains wildcard * — all matching tools are admitted',
|
|
58
|
+
});
|
|
59
|
+
}
|
|
47
60
|
/**
|
|
48
61
|
* Decide whether a project-local executable tool with the given `id` is
|
|
49
62
|
* trusted to load, under the deny-by-default + allowlist-opt-in policy.
|
|
@@ -66,6 +79,7 @@ function parseAllowlist(raw) {
|
|
|
66
79
|
*/
|
|
67
80
|
export function isProjectLocalToolTrusted(id, env = process.env) {
|
|
68
81
|
const allow = parseAllowlist(env[PROJECT_TOOL_ALLOWLIST_ENV]);
|
|
82
|
+
warnWildcardAllowlist(PROJECT_TOOL_ALLOWLIST_ENV, allow);
|
|
69
83
|
return allow.has('*') || allow.has(id);
|
|
70
84
|
}
|
|
71
85
|
/**
|
|
@@ -83,6 +97,7 @@ export function isProjectLocalToolTrusted(id, env = process.env) {
|
|
|
83
97
|
*/
|
|
84
98
|
export function isInstalledToolTrusted(id, env = process.env) {
|
|
85
99
|
const allow = parseAllowlist(env[INSTALLED_TOOL_ALLOWLIST_ENV]);
|
|
100
|
+
warnWildcardAllowlist(INSTALLED_TOOL_ALLOWLIST_ENV, allow);
|
|
86
101
|
return allow.has('*') || allow.has(id);
|
|
87
102
|
}
|
|
88
103
|
//# sourceMappingURL=tool-trust.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-trust.js","sourceRoot":"","sources":["../../src/bootstrap/tool-trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,iCAAiC,CAAC;AAE5E;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,mCAAmC,CAAC;AAEhF;;;;GAIG;AACH,SAAS,cAAc,CAAC,GAAuB;IAC7C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAC3B,OAAO,IAAI,GAAG,CACZ,GAAG;SACA,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAC/B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,yBAAyB,CACvC,EAAU,EACV,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAU,EAAE,MAAyB,OAAO,CAAC,GAAG;IACrF,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC"}
|
|
1
|
+
{"version":3,"file":"tool-trust.js","sourceRoot":"","sources":["../../src/bootstrap/tool-trust.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,iCAAiC,CAAC;AAE5E;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,mCAAmC,CAAC;AAEhF,oFAAoF;AACpF,IAAI,uBAAuB,GAAG,KAAK,CAAC;AAEpC;;;;GAIG;AACH,SAAS,cAAc,CAAC,GAAuB;IAC7C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAC3B,OAAO,IAAI,GAAG,CACZ,GAAG;SACA,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAC/B,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc,EAAE,KAA0B;IACvE,IAAI,uBAAuB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IACvD,uBAAuB,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,IAAI,CAAC;QACV,GAAG,EAAE,8BAA8B;QACnC,MAAM;QACN,MAAM,EAAE,uEAAuE;KAChF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,yBAAyB,CACvC,EAAU,EACV,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAC9D,qBAAqB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAU,EAAE,MAAyB,OAAO,CAAC,GAAG;IACrF,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAChE,qBAAqB,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-tool.d.ts","sourceRoot":"","sources":["../../src/bootstrap/validate-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"validate-tool.d.ts","sourceRoot":"","sources":["../../src/bootstrap/validate-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAA6C,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAuHzF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CA6BxE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEzD"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* tool that is not allowlisted is fail-closed without its code ever running,
|
|
19
19
|
* and never reaches `isValidTool`.
|
|
20
20
|
*/
|
|
21
|
-
import { validateCommandSpec } from '@opensip-cli/core';
|
|
21
|
+
import { validateCommandSpec, validateToolIdentity } from '@opensip-cli/core';
|
|
22
22
|
/** Top-level hook keys removed in the tool-author-simplify contract. */
|
|
23
23
|
const LEGACY_TOP_LEVEL_HOOK_KEYS = [
|
|
24
24
|
'initialize',
|
|
@@ -42,16 +42,66 @@ function metadataValidationFailure(metadata) {
|
|
|
42
42
|
if (typeof metadata.id !== 'string') {
|
|
43
43
|
return 'tool.metadata.id must be a string';
|
|
44
44
|
}
|
|
45
|
+
if (typeof metadata.name !== 'string') {
|
|
46
|
+
return 'tool.metadata.name must be a string';
|
|
47
|
+
}
|
|
45
48
|
return undefined;
|
|
46
49
|
}
|
|
47
|
-
function
|
|
50
|
+
function identityValidationFailure(identity) {
|
|
51
|
+
try {
|
|
52
|
+
validateToolIdentity(identity);
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
return error instanceof Error ? error.message : 'tool.identity is invalid';
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function diagnosticString(value) {
|
|
60
|
+
if (typeof value === 'string')
|
|
61
|
+
return value;
|
|
62
|
+
return JSON.stringify(value) ?? String(value);
|
|
63
|
+
}
|
|
64
|
+
function aliasesMatchIdentity(commandAliases, identity) {
|
|
65
|
+
const aliases = Array.isArray(commandAliases) ? commandAliases : [];
|
|
66
|
+
return (aliases.length === identity.aliases.length &&
|
|
67
|
+
aliases.every((value, index) => value === identity.aliases[index]));
|
|
68
|
+
}
|
|
69
|
+
function commandSpecEntryValidation(spec, identity) {
|
|
70
|
+
if (!validateCommandSpec(spec)) {
|
|
71
|
+
return { failure: 'tool.commandSpecs contains an invalid CommandSpec', primary: false };
|
|
72
|
+
}
|
|
73
|
+
const command = spec;
|
|
74
|
+
if (command.parent !== undefined && command.parent !== identity.name) {
|
|
75
|
+
return {
|
|
76
|
+
failure: `tool.commandSpecs parent '${diagnosticString(command.parent)}' must equal identity.name '${identity.name}'`,
|
|
77
|
+
primary: false,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
if (command.parent !== undefined || command.name !== identity.name) {
|
|
81
|
+
return { primary: false };
|
|
82
|
+
}
|
|
83
|
+
if (!aliasesMatchIdentity(command.aliases, identity)) {
|
|
84
|
+
return {
|
|
85
|
+
failure: 'tool.commandSpecs primary command aliases must match tool.identity.aliases',
|
|
86
|
+
primary: true,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
return { primary: true };
|
|
90
|
+
}
|
|
91
|
+
function commandSpecsValidationFailure(commandSpecs, identity) {
|
|
48
92
|
if (!Array.isArray(commandSpecs) || commandSpecs.length === 0) {
|
|
49
93
|
return 'tool.commandSpecs must be a non-empty array (the declarative command surface)';
|
|
50
94
|
}
|
|
95
|
+
let primaryCount = 0;
|
|
51
96
|
for (const spec of commandSpecs) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
97
|
+
const result = commandSpecEntryValidation(spec, identity);
|
|
98
|
+
if (result.failure !== undefined)
|
|
99
|
+
return result.failure;
|
|
100
|
+
if (result.primary)
|
|
101
|
+
primaryCount += 1;
|
|
102
|
+
}
|
|
103
|
+
if (primaryCount !== 1) {
|
|
104
|
+
return `tool.commandSpecs must contain exactly one primary command named '${identity.name}'`;
|
|
55
105
|
}
|
|
56
106
|
return undefined;
|
|
57
107
|
}
|
|
@@ -80,12 +130,19 @@ export function toolValidationFailure(value) {
|
|
|
80
130
|
const metadataFailure = metadataValidationFailure(candidate.metadata);
|
|
81
131
|
if (metadataFailure !== undefined)
|
|
82
132
|
return metadataFailure;
|
|
133
|
+
const identityFailure = identityValidationFailure(candidate.identity);
|
|
134
|
+
if (identityFailure !== undefined)
|
|
135
|
+
return identityFailure;
|
|
136
|
+
const identity = validateToolIdentity(candidate.identity);
|
|
137
|
+
if (candidate.metadata.name !== identity.name) {
|
|
138
|
+
return `tool.metadata.name '${String(candidate.metadata.name)}' must equal tool.identity.name '${identity.name}'`;
|
|
139
|
+
}
|
|
83
140
|
const legacy = legacyTopLevelHookKeys(candidate);
|
|
84
141
|
if (legacy.length > 0) {
|
|
85
142
|
return (`tool declares deprecated top-level hooks [${legacy.join(', ')}]; ` +
|
|
86
143
|
'move them under extensionPoints (see opensip tool authoring docs)');
|
|
87
144
|
}
|
|
88
|
-
const specsFailure = commandSpecsValidationFailure(candidate.commandSpecs);
|
|
145
|
+
const specsFailure = commandSpecsValidationFailure(candidate.commandSpecs, identity);
|
|
89
146
|
if (specsFailure !== undefined)
|
|
90
147
|
return specsFailure;
|
|
91
148
|
return optionalCommandsValidationFailure(candidate.commands);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-tool.js","sourceRoot":"","sources":["../../src/bootstrap/validate-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,mBAAmB,EAAa,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"validate-tool.js","sourceRoot":"","sources":["../../src/bootstrap/validate-tool.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-context.js
CHANGED
|
@@ -172,7 +172,6 @@ export function buildHostDispatchCtx(logger) {
|
|
|
172
172
|
* @throws {Error} always — that is the point.
|
|
173
173
|
*/
|
|
174
174
|
function deniedHookSeam(seam) {
|
|
175
|
-
// @fitness-ignore-next-line throws-documentation -- the throw is documented on the enclosing factory's @throws above; this is the one-line closure it returns.
|
|
176
175
|
return () => {
|
|
177
176
|
throw new Error(`host dispatch ctx: seam '${seam}' is not available to a data-gathering hook worker`);
|
|
178
177
|
};
|
package/dist/cli-context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-context.js","sourceRoot":"","sources":["../src/cli-context.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli-context.js","sourceRoot":"","sources":["../src/cli-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-catalog.d.ts","sourceRoot":"","sources":["../../src/commands/agent-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,SAAS;QAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QACrC;;;;;;WAMG;QACH,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;KAC7B,EAAE,CAAC;IACJ,QAAQ,CAAC,cAAc,EAAE,SAAS;QAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;IACJ,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAkCD,wBAAgB,iBAAiB,IAAI,YAAY,
|
|
1
|
+
{"version":3,"file":"agent-catalog.d.ts","sourceRoot":"","sources":["../../src/commands/agent-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,SAAS;QAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QACrC;;;;;;WAMG;QACH,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;KAC7B,EAAE,CAAC;IACJ,QAAQ,CAAC,cAAc,EAAE,SAAS;QAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;IACJ,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAkCD,wBAAgB,iBAAiB,IAAI,YAAY,CAyHhD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO;;;;;;;;;;EA8BhE"}
|
|
@@ -31,9 +31,12 @@ export function buildAgentCatalog() {
|
|
|
31
31
|
// also asserts this).
|
|
32
32
|
const entryPoints = [
|
|
33
33
|
{
|
|
34
|
-
command: '
|
|
35
|
-
description: 'Run fitness checks. Use --json for machine output (SignalEnvelope).',
|
|
36
|
-
examples: [
|
|
34
|
+
command: 'fitness',
|
|
35
|
+
description: 'Run fitness checks. Use --json for machine output (SignalEnvelope). Alias: fit.',
|
|
36
|
+
examples: [
|
|
37
|
+
'opensip fitness --recipe default --json',
|
|
38
|
+
'opensip fit --check some-check --json',
|
|
39
|
+
],
|
|
37
40
|
tier: 'tool',
|
|
38
41
|
},
|
|
39
42
|
{
|
|
@@ -42,12 +45,18 @@ export function buildAgentCatalog() {
|
|
|
42
45
|
examples: ['opensip graph --json', 'opensip graph --sarif out.sarif'],
|
|
43
46
|
tier: 'tool',
|
|
44
47
|
},
|
|
48
|
+
{
|
|
49
|
+
command: 'yagni',
|
|
50
|
+
description: 'Run YAGNI reduction audit detectors. Advisory findings; --json yields SignalEnvelope.',
|
|
51
|
+
examples: ['opensip yagni --json', 'opensip yagni --json --graph off'],
|
|
52
|
+
tier: 'tool',
|
|
53
|
+
},
|
|
45
54
|
{
|
|
46
55
|
command: 'sessions list',
|
|
47
56
|
description: 'List stored sessions. --summary-only is agent-friendly (omits heavy payloads).',
|
|
48
57
|
examples: [
|
|
49
58
|
'opensip sessions list --json --summary-only',
|
|
50
|
-
'opensip sessions list --json --tool
|
|
59
|
+
'opensip sessions list --json --tool fitness --limit 5',
|
|
51
60
|
],
|
|
52
61
|
tier: 'platform',
|
|
53
62
|
},
|
|
@@ -56,7 +65,7 @@ export function buildAgentCatalog() {
|
|
|
56
65
|
description: 'Retrieve a prior run as SessionReplayResult (includes projected SignalEnvelope). ' +
|
|
57
66
|
'Supports latest + --tool and rich filtering.',
|
|
58
67
|
examples: [
|
|
59
|
-
'opensip sessions show latest --tool
|
|
68
|
+
'opensip sessions show latest --tool fitness --json',
|
|
60
69
|
'opensip sessions show latest --tool fit --json --filter errors-only --filter top:20',
|
|
61
70
|
'opensip sessions show GRAPH_01... --json --raw',
|
|
62
71
|
'opensip sessions show previous --tool graph --json',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-catalog.js","sourceRoot":"","sources":["../../src/commands/agent-catalog.ts"],"names":[],"mappings":"AA6DA;;;;;GAKG;AACH,MAAM,wBAAwB,GAAG,oDAAoD,CAAC;AAEtF;;;;;;;;;GASG;AACH,SAAS,2BAA2B,CAClC,WAAiF;IAEjF,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CACzE,CAAC;IACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,2CAA2C,MAAM,CAAC,OAAO,2BAA2B;YAClF,4FAA4F,CAC/F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,8EAA8E;IAC9E,gFAAgF;IAChF,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,sBAAsB;IACtB,MAAM,WAAW,GAAG;QAClB;YACE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"agent-catalog.js","sourceRoot":"","sources":["../../src/commands/agent-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* No stdout here — the builders only read the current scope's diagnostics bus.
|
|
16
16
|
* {@link renderOutcome} (the sibling) is the one place an outcome reaches a stream.
|
|
17
17
|
*/
|
|
18
|
-
import { type CommandOutcome, type SignalEnvelope } from '@opensip-cli/contracts';
|
|
18
|
+
import { type CliDiagnostic, type CommandOutcome, type SignalEnvelope } from '@opensip-cli/contracts';
|
|
19
19
|
/** Derive a run outcome's `kind` from the envelope's tool id: `'<tool>.run'`. */
|
|
20
20
|
export declare function kindFromEnvelope(envelope: SignalEnvelope): string;
|
|
21
21
|
/**
|
|
@@ -64,6 +64,7 @@ export declare function outcomeFromErrorMessage(opts: {
|
|
|
64
64
|
readonly suggestion?: string;
|
|
65
65
|
/** Optional machine-readable error category, surfaced as `ErrorDetail.code`. */
|
|
66
66
|
readonly code?: string;
|
|
67
|
+
readonly diagnostic?: CliDiagnostic;
|
|
67
68
|
readonly kind?: string;
|
|
68
69
|
}): CommandOutcome;
|
|
69
70
|
//# sourceMappingURL=assemble-outcome.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assemble-outcome.d.ts","sourceRoot":"","sources":["../../src/commands/assemble-outcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAIL,KAAK,cAAc,EAGnB,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAgBhC,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGrD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"assemble-outcome.d.ts","sourceRoot":"","sources":["../../src/commands/assemble-outcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,cAAc,EAGnB,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAgBhC,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGrD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAO9F;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAWlF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,IAAI,GAAE;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACpC,cAAc,CAgBhB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,gFAAgF;IAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,cAAc,CAejB"}
|
|
@@ -51,7 +51,12 @@ export function kindFromResult(value) {
|
|
|
51
51
|
* and the gate verdict is read from `.envelope.verdict`, not the outer status.
|
|
52
52
|
*/
|
|
53
53
|
export function outcomeFromEnvelope(envelope, exitCode) {
|
|
54
|
-
return withDiagnostics({
|
|
54
|
+
return withDiagnostics({
|
|
55
|
+
kind: kindFromEnvelope(envelope),
|
|
56
|
+
status: 'ok',
|
|
57
|
+
exitCode,
|
|
58
|
+
envelope,
|
|
59
|
+
});
|
|
55
60
|
}
|
|
56
61
|
/**
|
|
57
62
|
* Wrap a `CommandResult` (or a bare JSON document) as `.data`. An `ErrorResult`
|
|
@@ -62,15 +67,14 @@ export function outcomeFromEnvelope(envelope, exitCode) {
|
|
|
62
67
|
export function outcomeFromResult(value, exitCode) {
|
|
63
68
|
if (value?.type === 'error') {
|
|
64
69
|
const err = value;
|
|
65
|
-
return withDiagnostics(
|
|
66
|
-
kind: 'error',
|
|
67
|
-
status: 'error',
|
|
68
|
-
exitCode: err.exitCode,
|
|
69
|
-
data: value,
|
|
70
|
-
errors: [{ message: err.message, ...(err.suggestion ? { suggestion: err.suggestion } : {}) }],
|
|
71
|
-
});
|
|
70
|
+
return withDiagnostics(errorOutcomeFromDetail(err, err.exitCode, value));
|
|
72
71
|
}
|
|
73
|
-
return withDiagnostics({
|
|
72
|
+
return withDiagnostics({
|
|
73
|
+
kind: kindFromResult(value),
|
|
74
|
+
status: 'ok',
|
|
75
|
+
exitCode,
|
|
76
|
+
data: value,
|
|
77
|
+
});
|
|
74
78
|
}
|
|
75
79
|
/**
|
|
76
80
|
* Build a `status:'error'` outcome from a thrown error — the host's error
|
|
@@ -105,17 +109,30 @@ export function outcomeFromError(error, opts = {}) {
|
|
|
105
109
|
* `emitJson({ error })` shape) rather than a thrown error to map.
|
|
106
110
|
*/
|
|
107
111
|
export function outcomeFromErrorMessage(opts) {
|
|
108
|
-
return withDiagnostics({
|
|
109
|
-
|
|
110
|
-
status: 'error',
|
|
112
|
+
return withDiagnostics(errorOutcomeFromDetail({
|
|
113
|
+
message: opts.message,
|
|
111
114
|
exitCode: opts.exitCode,
|
|
115
|
+
...(opts.suggestion === undefined ? {} : { suggestion: opts.suggestion }),
|
|
116
|
+
...(opts.code === undefined ? {} : { code: opts.code }),
|
|
117
|
+
...(opts.diagnostic === undefined ? {} : { diagnostic: opts.diagnostic }),
|
|
118
|
+
}, opts.exitCode, undefined, opts.kind));
|
|
119
|
+
}
|
|
120
|
+
function errorOutcomeFromDetail(detail, exitCode, data, kind = 'command.error') {
|
|
121
|
+
const commandError = detail.diagnostic;
|
|
122
|
+
return {
|
|
123
|
+
kind,
|
|
124
|
+
status: 'error',
|
|
125
|
+
exitCode,
|
|
126
|
+
...(data === undefined ? {} : { data }),
|
|
127
|
+
...(commandError === undefined ? {} : { commandError }),
|
|
112
128
|
errors: [
|
|
113
129
|
{
|
|
114
|
-
message:
|
|
115
|
-
...(
|
|
116
|
-
...(
|
|
130
|
+
message: detail.message,
|
|
131
|
+
...(detail.suggestion === undefined ? {} : { suggestion: detail.suggestion }),
|
|
132
|
+
...(detail.code === undefined ? {} : { code: detail.code }),
|
|
133
|
+
...(commandError === undefined ? {} : { diagnostic: commandError }),
|
|
117
134
|
},
|
|
118
135
|
],
|
|
119
|
-
}
|
|
136
|
+
};
|
|
120
137
|
}
|
|
121
138
|
//# sourceMappingURL=assemble-outcome.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assemble-outcome.js","sourceRoot":"","sources":["../../src/commands/assemble-outcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"assemble-outcome.js","sourceRoot":"","sources":["../../src/commands/assemble-outcome.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ export interface CommandScopeIndexInput {
|
|
|
30
30
|
/**
|
|
31
31
|
* The DOMAIN-BOUND per-tool `plugin` groups (mounted under each pack-supporting
|
|
32
32
|
* tool primary, e.g. `opensip fit plugin list`). Each leaf keys under
|
|
33
|
-
* `${
|
|
33
|
+
* `${parentVerb} plugin ${leaf}` so `commandPath` resolves the doubly-nested path.
|
|
34
34
|
* Optional so callers without tools (isolated tests) can omit it.
|
|
35
35
|
*/
|
|
36
36
|
readonly toolPluginGroups?: readonly ToolPluginGroup[];
|
|
@@ -24,10 +24,10 @@ export function buildCommandScopeIndex(input) {
|
|
|
24
24
|
group.leaves.forEach((leaf) => addSpec(index, group.name, leaf));
|
|
25
25
|
});
|
|
26
26
|
// Per-tool `plugin` group leaves key under the doubly-nested
|
|
27
|
-
// `${
|
|
27
|
+
// `${parentVerb} plugin ${leaf}` path (e.g. `fit plugin list`), matching what
|
|
28
28
|
// `commandPath` resolves for the mounted `opensip fit plugin list`.
|
|
29
29
|
(input.toolPluginGroups ?? []).forEach((group) => {
|
|
30
|
-
group.leaves.forEach((leaf) => addSpec(index, `${group.
|
|
30
|
+
group.leaves.forEach((leaf) => addSpec(index, `${group.parentVerb} plugin`, leaf));
|
|
31
31
|
});
|
|
32
32
|
return index;
|
|
33
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-scope-index.js","sourceRoot":"","sources":["../../src/commands/command-scope-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkCH,SAAS,OAAO,CACd,KAA2C,EAC3C,UAA8B,EAC9B,IAAsB;IAEtB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACnD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,KAAK,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAA6B;IAClE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmC,CAAC;IAEzD,mEAAmE;IACnE,+DAA+D;IAC/D,6EAA6E;IAC7E,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACjC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,6DAA6D;IAC7D,
|
|
1
|
+
{"version":3,"file":"command-scope-index.js","sourceRoot":"","sources":["../../src/commands/command-scope-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkCH,SAAS,OAAO,CACd,KAA2C,EAC3C,UAA8B,EAC9B,IAAsB;IAEtB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACnD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,KAAK,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAA6B;IAClE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmC,CAAC;IAEzD,mEAAmE;IACnE,+DAA+D;IAC/D,6EAA6E;IAC7E,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACjC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,6DAA6D;IAC7D,8EAA8E;IAC9E,oEAAoE;IACpE,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/C,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,aAAsB;IAChD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,GAAmB,aAAa,CAAC;IAC3C,OAAO,MAAM,KAAK,IAAI,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC3B,OAAO,CAAC,OAAO,EAAE,CAAC;IAClB,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -23,34 +23,7 @@
|
|
|
23
23
|
*/
|
|
24
24
|
import { type CommonFlagKey } from '@opensip-cli/contracts';
|
|
25
25
|
export type Shell = 'bash' | 'zsh' | 'fish';
|
|
26
|
-
/**
|
|
27
|
-
* Internal/machine-facing command names never offered in shell completion.
|
|
28
|
-
* These are spawned by the host (sharded build, off-process engine workers,
|
|
29
|
-
* machine exports), never typed by a user.
|
|
30
|
-
*
|
|
31
|
-
* This is the STATIC FALLBACK / default for {@link assembleCompletionInventory}'s
|
|
32
|
-
* `internalCommands` argument. The live path passes a descriptor-driven set
|
|
33
|
-
* (`visibility: 'internal'` + this fallback), keeping the runtime filter in
|
|
34
|
-
* lockstep with the `--help` hide pass. The set still backs the completion-drift
|
|
35
|
-
* test, and matters whenever a caller does not supply the descriptor-derived set.
|
|
36
|
-
*
|
|
37
|
-
* Note: the four `*-run-worker` / `*-shard-worker` names AND
|
|
38
|
-
* `graph-equivalence-check` are the Tier-3 `visibility: 'internal'` commands —
|
|
39
|
-
* they also flow through the descriptor-driven set. They are listed here so the
|
|
40
|
-
* static fallback is correct on its own (the historical gap was the missing
|
|
41
|
-
* `graph-equivalence-check`).
|
|
42
|
-
*/
|
|
43
|
-
/**
|
|
44
|
-
* Internal/machine-facing command names never offered in shell completion — the
|
|
45
|
-
* `visibility: 'internal'` Tier-3 commands: `*-run-worker` / `*-shard-worker` and
|
|
46
|
-
* `graph-equivalence-check` are machine-only IPC/CI bootstrap entry points
|
|
47
|
-
* (ADR-0028), revealed by `OPENSIP_CLI_SHOW_INTERNAL=1`.
|
|
48
|
-
*
|
|
49
|
-
* The legacy flat-root export aliases (`catalog-export` / `sarif-export` /
|
|
50
|
-
* `graph-baseline-export` / `fit-baseline-export`) were removed entirely, so they
|
|
51
|
-
* no longer appear in the tool registry and need no completion suppression — the
|
|
52
|
-
* canonical nested `<tool> export` forms are the only export surface.
|
|
53
|
-
*/
|
|
26
|
+
/** Internal/machine-facing commands excluded from shell completion (host-spawned workers). */
|
|
54
27
|
export declare const INTERNAL_COMMANDS: ReadonlySet<string>;
|
|
55
28
|
/**
|
|
56
29
|
* The derived completion surface, assembled from the live `CommandSpec`s by
|
|
@@ -66,7 +39,7 @@ export interface CompletionInventory {
|
|
|
66
39
|
/**
|
|
67
40
|
* Sub-subcommand names for the action-less groups (`sessions`, `tools`), the
|
|
68
41
|
* `<tool> <verb>` grammar (`fit export`…), and the per-tool `plugin` groups
|
|
69
|
-
* (`fit plugin`, keyed under `${
|
|
42
|
+
* (`fit plugin`, keyed under `${parentVerb} plugin`).
|
|
70
43
|
*/
|
|
71
44
|
readonly groupSubcommands: Readonly<Record<string, readonly string[]>>;
|
|
72
45
|
}
|
|
@@ -95,13 +68,14 @@ export interface GroupLike {
|
|
|
95
68
|
}[];
|
|
96
69
|
}
|
|
97
70
|
/**
|
|
98
|
-
* One pack-supporting tool's `plugin` group, keyed by the
|
|
71
|
+
* One pack-supporting tool's `plugin` group, keyed by the primary verb it mounts
|
|
99
72
|
* under (`fit`/`sim`). The `plugin` parent is offered as a leaf under that verb
|
|
100
73
|
* (`opensip fit <TAB>` ⇒ `… plugin`), and the `add|list|remove|sync` leaves are
|
|
101
|
-
* registered under the `${
|
|
74
|
+
* registered under the `${parentVerb} plugin` path for deeper completion.
|
|
102
75
|
*/
|
|
103
76
|
export interface ToolPluginGroupLike {
|
|
104
|
-
readonly
|
|
77
|
+
readonly parentVerb: string;
|
|
78
|
+
readonly parentAliases?: readonly string[];
|
|
105
79
|
readonly leaves: readonly {
|
|
106
80
|
readonly name: string;
|
|
107
81
|
}[];
|
|
@@ -140,7 +114,7 @@ export declare function assembleCompletionInventory(input: {
|
|
|
140
114
|
/**
|
|
141
115
|
* The DOMAIN-BOUND per-tool `plugin` groups (mounted under each pack-supporting
|
|
142
116
|
* tool primary). Folded into the group map so completion offers `plugin` under
|
|
143
|
-
* the tool verb and `add|list|remove|sync` under `${
|
|
117
|
+
* the tool verb and `add|list|remove|sync` under `${parentVerb} plugin`. Optional
|
|
144
118
|
* so callers without tools omit it.
|
|
145
119
|
*/
|
|
146
120
|
readonly toolPluginGroups?: readonly ToolPluginGroupLike[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEzE,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAE5C
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEzE,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAE5C,8FAA8F;AAC9F,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAOhD,CAAC;AAEH;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,oEAAoE;IACpE,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,qEAAqE;IACrE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IACnE;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CACxE;AAED,4EAA4E;AAC5E,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,SAAS,aAAa,EAAE,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvD;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvD;AA0BD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGjE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,MAAM,EAAE,CAQ/D;AAuFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC3D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjD,GAAG,mBAAmB,CAoCtB;AA4HD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,mBAAmB,GAAG,MAAM,CAY1F;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,mBAAmB,EAC9B,KAAK,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAqC,GAC1D,IAAI,CAEN"}
|