opensip-cli 0.1.12 → 0.1.13
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/artifact-seams.d.ts +7 -0
- package/dist/bootstrap/artifact-seams.d.ts.map +1 -0
- package/dist/bootstrap/artifact-seams.js +53 -0
- package/dist/bootstrap/artifact-seams.js.map +1 -0
- package/dist/bootstrap/atomic-artifact-write.d.ts +19 -0
- package/dist/bootstrap/atomic-artifact-write.d.ts.map +1 -0
- package/dist/bootstrap/atomic-artifact-write.js +68 -0
- package/dist/bootstrap/atomic-artifact-write.js.map +1 -0
- package/dist/bootstrap/baseline-seams.d.ts.map +1 -1
- package/dist/bootstrap/baseline-seams.js +79 -27
- package/dist/bootstrap/baseline-seams.js.map +1 -1
- package/dist/bootstrap/build-external-worker-child-env.d.ts +25 -0
- package/dist/bootstrap/build-external-worker-child-env.d.ts.map +1 -0
- package/dist/bootstrap/build-external-worker-child-env.js +71 -0
- package/dist/bootstrap/build-external-worker-child-env.js.map +1 -0
- package/dist/bootstrap/build-per-run-scope.js +1 -1
- package/dist/bootstrap/build-per-run-scope.js.map +1 -1
- package/dist/bootstrap/config-and-capabilities.d.ts.map +1 -1
- package/dist/bootstrap/config-and-capabilities.js +12 -94
- package/dist/bootstrap/config-and-capabilities.js.map +1 -1
- package/dist/bootstrap/config-declarations.d.ts +23 -0
- package/dist/bootstrap/config-declarations.d.ts.map +1 -0
- package/dist/bootstrap/config-declarations.js +73 -0
- package/dist/bootstrap/config-declarations.js.map +1 -0
- package/dist/bootstrap/deliver-envelope.d.ts +4 -1
- package/dist/bootstrap/deliver-envelope.d.ts.map +1 -1
- package/dist/bootstrap/deliver-envelope.js +12 -5
- package/dist/bootstrap/deliver-envelope.js.map +1 -1
- package/dist/bootstrap/dispatch-fork-core.d.ts +1 -1
- package/dist/bootstrap/dispatch-fork-core.d.ts.map +1 -1
- package/dist/bootstrap/dispatch-fork-core.js +73 -75
- package/dist/bootstrap/dispatch-fork-core.js.map +1 -1
- package/dist/bootstrap/dispatch-host-rpc-handler.d.ts.map +1 -1
- package/dist/bootstrap/dispatch-host-rpc-handler.js +4 -0
- 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 +3 -0
- package/dist/bootstrap/dispatch-replay-result.js.map +1 -1
- package/dist/bootstrap/load-tool-capabilities.d.ts.map +1 -1
- package/dist/bootstrap/load-tool-capabilities.js +34 -3
- package/dist/bootstrap/load-tool-capabilities.js.map +1 -1
- package/dist/bootstrap/register-tools-discovery.d.ts.map +1 -1
- package/dist/bootstrap/register-tools-discovery.js +2 -0
- package/dist/bootstrap/register-tools-discovery.js.map +1 -1
- package/dist/bootstrap/report-failure.d.ts +28 -0
- package/dist/bootstrap/report-failure.d.ts.map +1 -0
- package/dist/bootstrap/report-failure.js +135 -0
- package/dist/bootstrap/report-failure.js.map +1 -0
- package/dist/bootstrap/scope-access.d.ts +1 -1
- package/dist/bootstrap/scope-access.d.ts.map +1 -1
- package/dist/bootstrap/scope-access.js +7 -2
- package/dist/bootstrap/scope-access.js.map +1 -1
- package/dist/bootstrap/state-lock-policy.d.ts +19 -0
- package/dist/bootstrap/state-lock-policy.d.ts.map +1 -0
- package/dist/bootstrap/state-lock-policy.js +86 -0
- package/dist/bootstrap/state-lock-policy.js.map +1 -0
- package/dist/bootstrap/synthesize-external-tool.d.ts.map +1 -1
- package/dist/bootstrap/synthesize-external-tool.js +11 -1
- package/dist/bootstrap/synthesize-external-tool.js.map +1 -1
- package/dist/bootstrap/tool-command-dispatch-types.d.ts +23 -2
- package/dist/bootstrap/tool-command-dispatch-types.d.ts.map +1 -1
- package/dist/bootstrap/tool-command-worker-context.d.ts +4 -3
- package/dist/bootstrap/tool-command-worker-context.d.ts.map +1 -1
- package/dist/bootstrap/tool-command-worker-context.js +28 -4
- 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 +38 -31
- package/dist/bootstrap/tool-command-worker-entry.js.map +1 -1
- package/dist/bootstrap/tool-command-worker-result.d.ts +25 -0
- package/dist/bootstrap/tool-command-worker-result.d.ts.map +1 -0
- package/dist/bootstrap/tool-command-worker-result.js +60 -0
- package/dist/bootstrap/tool-command-worker-result.js.map +1 -0
- package/dist/bootstrap/tool-trust.d.ts +12 -0
- package/dist/bootstrap/tool-trust.d.ts.map +1 -1
- package/dist/bootstrap/tool-trust.js +29 -5
- package/dist/bootstrap/tool-trust.js.map +1 -1
- package/dist/cli-context.d.ts.map +1 -1
- package/dist/cli-context.js +22 -3
- package/dist/cli-context.js.map +1 -1
- package/dist/commands/agent-catalog.d.ts +8 -7
- package/dist/commands/agent-catalog.d.ts.map +1 -1
- package/dist/commands/agent-catalog.js +108 -60
- package/dist/commands/agent-catalog.js.map +1 -1
- package/dist/commands/config.d.ts +22 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +135 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/host-command-specs.d.ts.map +1 -1
- package/dist/commands/host-command-specs.js +8 -4
- package/dist/commands/host-command-specs.js.map +1 -1
- package/dist/commands/host-subcommand-config.d.ts +7 -0
- package/dist/commands/host-subcommand-config.d.ts.map +1 -0
- package/dist/commands/host-subcommand-config.js +75 -0
- package/dist/commands/host-subcommand-config.js.map +1 -0
- package/dist/commands/host-subcommand-groups.d.ts.map +1 -1
- package/dist/commands/host-subcommand-groups.js +7 -1
- package/dist/commands/host-subcommand-groups.js.map +1 -1
- package/dist/commands/host-subcommand-sessions.d.ts.map +1 -1
- package/dist/commands/host-subcommand-sessions.js +3 -3
- package/dist/commands/host-subcommand-sessions.js.map +1 -1
- package/dist/commands/init/language-detection.d.ts.map +1 -1
- package/dist/commands/init/language-detection.js +3 -2
- package/dist/commands/init/language-detection.js.map +1 -1
- package/dist/commands/init.d.ts +5 -4
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +5 -4
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mount-command-spec.d.ts +3 -1
- package/dist/commands/mount-command-spec.d.ts.map +1 -1
- package/dist/commands/mount-command-spec.js +27 -4
- package/dist/commands/mount-command-spec.js.map +1 -1
- package/dist/commands/shared.d.ts +5 -1
- package/dist/commands/shared.d.ts.map +1 -1
- package/dist/commands/tools/create-template-writer.d.ts +16 -0
- package/dist/commands/tools/create-template-writer.d.ts.map +1 -0
- package/dist/commands/tools/create-template-writer.js +39 -0
- package/dist/commands/tools/create-template-writer.js.map +1 -0
- package/dist/commands/tools/create-templates.d.ts +19 -0
- package/dist/commands/tools/create-templates.d.ts.map +1 -0
- package/dist/commands/tools/create-templates.js +228 -0
- package/dist/commands/tools/create-templates.js.map +1 -0
- package/dist/commands/tools/create.d.ts +4 -1
- package/dist/commands/tools/create.d.ts.map +1 -1
- package/dist/commands/tools/create.js +35 -50
- package/dist/commands/tools/create.js.map +1 -1
- package/dist/commands/tools/index.d.ts.map +1 -1
- package/dist/commands/tools/index.js +8 -0
- package/dist/commands/tools/index.js.map +1 -1
- package/dist/commands/tools/install.d.ts.map +1 -1
- package/dist/commands/tools/install.js +14 -1
- package/dist/commands/tools/install.js.map +1 -1
- package/dist/commands/tools/validate.d.ts.map +1 -1
- package/dist/commands/tools/validate.js +46 -5
- package/dist/commands/tools/validate.js.map +1 -1
- package/dist/env/host-env-specs.d.ts.map +1 -1
- package/dist/env/host-env-specs.js +57 -4
- package/dist/env/host-env-specs.js.map +1 -1
- package/dist/error-handler.d.ts.map +1 -1
- package/dist/error-handler.js +28 -6
- package/dist/error-handler.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/report-compose.d.ts.map +1 -1
- package/dist/report-compose.js +21 -3
- package/dist/report-compose.js.map +1 -1
- package/dist/ui/result-to-view.d.ts.map +1 -1
- package/dist/ui/result-to-view.js +10 -1
- package/dist/ui/result-to-view.js.map +1 -1
- package/dist/ui/views/misc-views.d.ts +13 -0
- package/dist/ui/views/misc-views.d.ts.map +1 -1
- package/dist/ui/views/misc-views.js +53 -1
- package/dist/ui/views/misc-views.js.map +1 -1
- package/dist/ui/views/tools-views.d.ts.map +1 -1
- package/dist/ui/views/tools-views.js +8 -7
- package/dist/ui/views/tools-views.js.map +1 -1
- package/dist/update-notifier.d.ts +3 -0
- package/dist/update-notifier.d.ts.map +1 -1
- package/dist/update-notifier.js +3 -0
- package/dist/update-notifier.js.map +1 -1
- package/package.json +33 -33
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-lock-policy.js","sourceRoot":"","sources":["../../src/bootstrap/state-lock-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesize-external-tool.d.ts","sourceRoot":"","sources":["../../src/bootstrap/synthesize-external-tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,UAAU,
|
|
1
|
+
{"version":3,"file":"synthesize-external-tool.d.ts","sourceRoot":"","sources":["../../src/bootstrap/synthesize-external-tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,UAAU,EAQV,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAmD3B,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,kBAAkB,GAC3B,UAAU,CAAC,OAAO,UAAU,CAAC,CA4B/B"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* EXTERNAL provenance, so the HOST can register + mount an external tool's
|
|
4
4
|
* commands WITHOUT importing its untrusted runtime (ADR-0054 M4-G capstone).
|
|
5
5
|
*/
|
|
6
|
-
import { assertCommandSpec, defineTool, SystemError, } from '@opensip-cli/core';
|
|
6
|
+
import { assertCommandSpec, defineTool, PluginIncompatibleError, SystemError, } from '@opensip-cli/core';
|
|
7
7
|
function externalDispatchStub(commandName) {
|
|
8
8
|
return () => {
|
|
9
9
|
throw new SystemError(`external tool command '${commandName}' handler was invoked in the host process; ` +
|
|
@@ -14,7 +14,17 @@ function externalDispatchStub(commandName) {
|
|
|
14
14
|
function manifestOptionToSpec(option) {
|
|
15
15
|
return { ...option };
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* @throws {PluginIncompatibleError} When an external manifest declares an in-process-only output mode.
|
|
19
|
+
*/
|
|
17
20
|
function manifestCommandToSpec(cmd) {
|
|
21
|
+
if (cmd.output === 'live-view') {
|
|
22
|
+
throw new PluginIncompatibleError(`external tool command '${cmd.name}' declares output 'live-view', which is bundled/in-process only; ` +
|
|
23
|
+
"external commands must use 'command-result', 'signal-envelope', or 'raw-stream'.", {
|
|
24
|
+
code: 'PLUGIN_INCOMPATIBLE',
|
|
25
|
+
diagnostic: "external command output 'live-view' is not supported",
|
|
26
|
+
});
|
|
27
|
+
}
|
|
18
28
|
const spec = {
|
|
19
29
|
name: cmd.name,
|
|
20
30
|
description: cmd.description,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesize-external-tool.js","sourceRoot":"","sources":["../../src/bootstrap/synthesize-external-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"synthesize-external-tool.js","sourceRoot":"","sources":["../../src/bootstrap/synthesize-external-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
* still fail loud in the worker — Ink/TTY rendering cannot leave the host
|
|
31
31
|
* (ADR-0054 M4-C mapping table; documented as a later increment).
|
|
32
32
|
*/
|
|
33
|
-
import type { CommandOutputMode, ToolSessionContribution, ToolSource } from '@opensip-cli/core';
|
|
33
|
+
import type { CliDiagnostic, CommandOutputMode, ToolSessionContribution, ToolSource } from '@opensip-cli/core';
|
|
34
34
|
/**
|
|
35
35
|
* The request the host writes to a temp JSON spec file and forks the worker
|
|
36
36
|
* with (`fork(workerEntry, [specPath])`). The worker re-resolves + re-imports
|
|
@@ -109,7 +109,7 @@ export interface ToolCommandWorkerSpec {
|
|
|
109
109
|
* pass, so the UX is identical regardless of which
|
|
110
110
|
* pass caught the failure.
|
|
111
111
|
*/
|
|
112
|
-
export type ToolCommandFailureClass = 'tool-handler-throw' | 'unsupported-seam' | 'host-rpc-failed' | 'command-not-found' | 'runtime-load-failed' | 'bad-spec' | 'config-invalid';
|
|
112
|
+
export type ToolCommandFailureClass = 'tool-handler-throw' | 'unsupported-seam' | 'host-rpc-failed' | 'command-not-found' | 'runtime-load-failed' | 'bad-spec' | 'config-invalid' | 'payload_too_large';
|
|
113
113
|
/**
|
|
114
114
|
* The final-result-return payload the worker posts back over IPC once the
|
|
115
115
|
* command handler resolves. The host replays it through the REAL host
|
|
@@ -137,6 +137,23 @@ export interface ToolCommandResult {
|
|
|
137
137
|
readonly suggestion?: string;
|
|
138
138
|
readonly code?: string;
|
|
139
139
|
};
|
|
140
|
+
/**
|
|
141
|
+
* `ctx.reportFailure(...)` resolved detail — replayed host-side through the
|
|
142
|
+
* real reportFailure seam (Plan 06). Wire-safe plain data only; no Error instances.
|
|
143
|
+
*/
|
|
144
|
+
readonly reportedFailure?: {
|
|
145
|
+
readonly message: string;
|
|
146
|
+
readonly exitCode: number;
|
|
147
|
+
readonly suggestion?: string;
|
|
148
|
+
readonly code?: string;
|
|
149
|
+
readonly diagnostic?: CliDiagnostic;
|
|
150
|
+
readonly jsonRequested?: boolean;
|
|
151
|
+
readonly log?: {
|
|
152
|
+
readonly level?: 'warn' | 'error';
|
|
153
|
+
readonly evt: string;
|
|
154
|
+
readonly data?: Readonly<Record<string, unknown>>;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
140
157
|
/** The last `ctx.setExitCode(...)` value (last-write-wins). */
|
|
141
158
|
readonly exitCode?: number;
|
|
142
159
|
/**
|
|
@@ -202,6 +219,10 @@ export type HostRpcCall = {
|
|
|
202
219
|
readonly seam: 'writeSarif';
|
|
203
220
|
readonly envelope: unknown;
|
|
204
221
|
readonly path: string;
|
|
222
|
+
} | {
|
|
223
|
+
readonly seam: 'writeArtifact';
|
|
224
|
+
readonly path: string;
|
|
225
|
+
readonly bytes: string;
|
|
205
226
|
} | {
|
|
206
227
|
readonly seam: 'saveBaseline';
|
|
207
228
|
readonly tool: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-command-dispatch-types.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-command-dispatch-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"tool-command-dispatch-types.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-command-dispatch-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* ResultAccumulator} drained into a `ToolCommandResult` after the handler
|
|
11
11
|
* resolves; the host replays them through the real seams.
|
|
12
12
|
* - host-RPC (RPC): `deliverSignals` / `writeSarif` / the four baseline seams
|
|
13
|
-
* / `toolState.*` / `hostPlanes.*` / `maybeOpenReport` / `getExitCode` issue
|
|
13
|
+
* / `writeArtifact` / `toolState.*` / `hostPlanes.*` / `maybeOpenReport` / `getExitCode` issue
|
|
14
14
|
* a typed {@link HostRpcRequest} via the {@link WorkerRpcClient} and await
|
|
15
15
|
* the host's reply — the HOST performs the privileged effect (datastore /
|
|
16
16
|
* egress / FS / process exit) and returns the result.
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* {@link RunScope} + run timer (the worker re-bootstraps its own scope; it never
|
|
23
23
|
* ships a live `RunScope` across IPC).
|
|
24
24
|
*/
|
|
25
|
-
import { type RunScope, type RunTimer, type ToolCliContext } from '@opensip-cli/core';
|
|
25
|
+
import { type ResolvedReportFailure, type RunScope, type RunTimer, type ToolCliContext } from '@opensip-cli/core';
|
|
26
26
|
import type { ToolCommandFailureClass, ToolCommandResult } from './tool-command-dispatch-types.js';
|
|
27
27
|
import type { WorkerRpcClient } from './tool-command-worker-rpc.js';
|
|
28
28
|
/**
|
|
@@ -45,11 +45,12 @@ export interface ResultAccumulator {
|
|
|
45
45
|
json?: unknown;
|
|
46
46
|
raw?: unknown;
|
|
47
47
|
error?: ToolCommandResult['error'];
|
|
48
|
+
reportedFailure?: ResolvedReportFailure;
|
|
48
49
|
exitCode?: number;
|
|
49
50
|
}
|
|
50
51
|
/**
|
|
51
52
|
* Build the worker-side {@link ToolCliContext} shim. FRR seams record into
|
|
52
53
|
* `acc`; RPC seams upcall via `rpcClient`; the live-view seams fail loud.
|
|
53
54
|
*/
|
|
54
|
-
export declare function buildWorkerContext(scope: RunScope, timing: RunTimer, acc: ResultAccumulator, rpcClient: WorkerRpcClient): ToolCliContext;
|
|
55
|
+
export declare function buildWorkerContext(scope: RunScope, timing: RunTimer, acc: ResultAccumulator, rpcClient: WorkerRpcClient, maxCapturedOutputBytes?: number): ToolCliContext;
|
|
55
56
|
//# sourceMappingURL=tool-command-worker-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-command-worker-context.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"tool-command-worker-context.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAQL,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,KAAK,QAAQ,EAEb,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAGV,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAsB;gBACxD,IAAI,EAAE,MAAM;CAQzB;AAeD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2DD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,eAAe,EAC1B,sBAAsB,SAA2C,GAChE,cAAc,CAqFhB"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* ResultAccumulator} drained into a `ToolCommandResult` after the handler
|
|
11
11
|
* resolves; the host replays them through the real seams.
|
|
12
12
|
* - host-RPC (RPC): `deliverSignals` / `writeSarif` / the four baseline seams
|
|
13
|
-
* / `toolState.*` / `hostPlanes.*` / `maybeOpenReport` / `getExitCode` issue
|
|
13
|
+
* / `writeArtifact` / `toolState.*` / `hostPlanes.*` / `maybeOpenReport` / `getExitCode` issue
|
|
14
14
|
* a typed {@link HostRpcRequest} via the {@link WorkerRpcClient} and await
|
|
15
15
|
* the host's reply — the HOST performs the privileged effect (datastore /
|
|
16
16
|
* egress / FS / process exit) and returns the result.
|
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
* {@link RunScope} + run timer (the worker re-bootstraps its own scope; it never
|
|
23
23
|
* ships a live `RunScope` across IPC).
|
|
24
24
|
*/
|
|
25
|
+
import { assertCapturedOutputFits, getWorkerLimits, } from '@opensip-cli/core';
|
|
26
|
+
import { resolveReportFailure, toReportedFailureWire } from './report-failure.js';
|
|
25
27
|
/**
|
|
26
28
|
* A loud, marked failure for a seam the worker shim cannot marshal (the
|
|
27
29
|
* live-view seams). Carries the {@link ToolCommandFailureClass} so the
|
|
@@ -101,23 +103,30 @@ function buildHostPlanesRpc(client) {
|
|
|
101
103
|
* Build the worker-side {@link ToolCliContext} shim. FRR seams record into
|
|
102
104
|
* `acc`; RPC seams upcall via `rpcClient`; the live-view seams fail loud.
|
|
103
105
|
*/
|
|
104
|
-
export function buildWorkerContext(scope, timing, acc, rpcClient) {
|
|
106
|
+
export function buildWorkerContext(scope, timing, acc, rpcClient, maxCapturedOutputBytes = getWorkerLimits().maxCapturedOutputBytes) {
|
|
107
|
+
const cap = (field, value) => {
|
|
108
|
+
assertCapturedOutputFits(field, value, maxCapturedOutputBytes);
|
|
109
|
+
};
|
|
105
110
|
return {
|
|
106
111
|
scope,
|
|
107
112
|
runSession: { timing },
|
|
108
113
|
logger: scope.logger,
|
|
109
114
|
// ── Final-result-return seams (recorded, replayed host-side) ──────────
|
|
110
115
|
render: (result) => {
|
|
116
|
+
cap('render', result);
|
|
111
117
|
acc.render = result;
|
|
112
118
|
return Promise.resolve();
|
|
113
119
|
},
|
|
114
120
|
emitJson: (value) => {
|
|
121
|
+
cap('json', value);
|
|
115
122
|
acc.json = value;
|
|
116
123
|
},
|
|
117
124
|
emitEnvelope: (envelope) => {
|
|
125
|
+
cap('envelope', envelope);
|
|
118
126
|
acc.envelope = envelope;
|
|
119
127
|
},
|
|
120
128
|
emitRaw: (value) => {
|
|
129
|
+
cap('raw', value);
|
|
121
130
|
acc.raw = value;
|
|
122
131
|
},
|
|
123
132
|
emitError: (detail) => {
|
|
@@ -128,6 +137,13 @@ export function buildWorkerContext(scope, timing, acc, rpcClient) {
|
|
|
128
137
|
...(detail.code === undefined ? {} : { code: detail.code }),
|
|
129
138
|
};
|
|
130
139
|
},
|
|
140
|
+
reportFailure: (detail) => {
|
|
141
|
+
const resolved = resolveReportFailure(detail);
|
|
142
|
+
const wire = toReportedFailureWire(resolved);
|
|
143
|
+
cap('reportedFailure', wire);
|
|
144
|
+
acc.reportedFailure = wire;
|
|
145
|
+
return Promise.resolve();
|
|
146
|
+
},
|
|
131
147
|
setExitCode: (code) => {
|
|
132
148
|
acc.exitCode = code;
|
|
133
149
|
},
|
|
@@ -144,13 +160,21 @@ export function buildWorkerContext(scope, timing, acc, rpcClient) {
|
|
|
144
160
|
},
|
|
145
161
|
}),
|
|
146
162
|
writeSarif: (envelope, path) => rpc(rpcClient, { seam: 'writeSarif', envelope, path }),
|
|
163
|
+
writeArtifact: (path, bytes) => rpc(rpcClient, { seam: 'writeArtifact', path, bytes }),
|
|
147
164
|
saveBaseline: (tool, envelope) => rpc(rpcClient, { seam: 'saveBaseline', tool, envelope }),
|
|
148
|
-
compareBaseline: (tool, envelope) => rpc(rpcClient, {
|
|
165
|
+
compareBaseline: (tool, envelope) => rpc(rpcClient, {
|
|
166
|
+
seam: 'compareBaseline',
|
|
167
|
+
tool,
|
|
168
|
+
envelope,
|
|
169
|
+
}),
|
|
149
170
|
exportBaselineSarif: (tool, path) => rpc(rpcClient, { seam: 'exportBaselineSarif', tool, path }),
|
|
150
171
|
exportBaselineFingerprints: (tool, path) => rpc(rpcClient, { seam: 'exportBaselineFingerprints', tool, path }),
|
|
151
172
|
maybeOpenReport: (opts) => rpc(rpcClient, {
|
|
152
173
|
seam: 'maybeOpenReport',
|
|
153
|
-
opts: {
|
|
174
|
+
opts: {
|
|
175
|
+
openRequested: opts.openRequested,
|
|
176
|
+
jsonOutput: opts.jsonOutput,
|
|
177
|
+
},
|
|
154
178
|
}),
|
|
155
179
|
toolState: buildToolStateRpc(rpcClient),
|
|
156
180
|
hostPlanes: buildHostPlanesRpc(rpcClient),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-command-worker-context.js","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"tool-command-worker-context.js","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-command-worker-entry.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"tool-command-worker-entry.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,EASL,KAAK,WAAW,EAIhB,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAehE,OAAO,KAAK,EACV,cAAc,EAEd,iBAAiB,EAElB,MAAM,kCAAkC,CAAC;AAE1C;;;GAGG;AACH,KAAK,qBAAqB,GAAG,aAAa,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAoP9E;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAY3F;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9E;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,OAAO,EAAE,kBAAkB,CAuBhF,CAAC"}
|
|
@@ -30,13 +30,27 @@
|
|
|
30
30
|
* process survives.
|
|
31
31
|
*/
|
|
32
32
|
import { readFileSync } from 'node:fs';
|
|
33
|
-
import { createRunTimer, currentScope, defineCommand, resolveToolHooks, } from '@opensip-cli/core';
|
|
33
|
+
import { CapturedOutputTooLargeError, createRunTimer, currentScope, defineCommand, IpcPayloadTooLargeError, resolveToolHooks, sendWorkerIpcMessage, startWorkerHeartbeat, } from '@opensip-cli/core';
|
|
34
34
|
import { runDeepConfigPass } from './tool-command-worker-config-pass.js';
|
|
35
35
|
import { buildWorkerContext, UnsupportedSeamError, } from './tool-command-worker-context.js';
|
|
36
|
+
import { assertReturnValuedHandlerResult, toResult, } from './tool-command-worker-result.js';
|
|
36
37
|
import { createWorkerRpcClient } from './tool-command-worker-rpc.js';
|
|
37
38
|
/** Post one IPC message to the parent (no-op when not forked — e.g. a unit call). */
|
|
38
39
|
function send(msg) {
|
|
39
|
-
|
|
40
|
+
try {
|
|
41
|
+
sendWorkerIpcMessage(msg);
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
if (error instanceof IpcPayloadTooLargeError) {
|
|
45
|
+
process.send?.({
|
|
46
|
+
kind: 'error',
|
|
47
|
+
message: error.message,
|
|
48
|
+
failureClass: 'payload_too_large',
|
|
49
|
+
});
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
40
54
|
}
|
|
41
55
|
/**
|
|
42
56
|
* Resolve the dispatched tool from the re-bootstrapped registry. The bootstrap
|
|
@@ -105,36 +119,14 @@ function readSpec(specPath) {
|
|
|
105
119
|
return errorMessage(`tool command worker: unreadable spec at '${specPath}': ${error instanceof Error ? error.message : String(error)}`, 'bad-spec');
|
|
106
120
|
}
|
|
107
121
|
}
|
|
108
|
-
/**
|
|
109
|
-
* The output modes whose PAYLOAD is the handler's RETURN value (routed by the
|
|
110
|
-
* in-process `dispatchOutput`): `command-result` (a `CommandResult`) and
|
|
111
|
-
* `signal-envelope` (a `SignalEnvelope`). For these, the worker must carry the
|
|
112
|
-
* return back UNROUTED in `returned` so the supervisor replays it through the SAME
|
|
113
|
-
* `dispatchOutput`. `raw-stream` / `live-view` produce no routable return payload.
|
|
114
|
-
*/
|
|
115
|
-
function isReturnValuedOutput(output) {
|
|
116
|
-
return output === 'command-result' || output === 'signal-envelope';
|
|
117
|
-
}
|
|
118
|
-
/** Drain the accumulator + the handler's return into a serializable result. */
|
|
119
|
-
function toResult(output, acc, session, returned) {
|
|
120
|
-
return {
|
|
121
|
-
output,
|
|
122
|
-
...(acc.render === undefined ? {} : { render: acc.render }),
|
|
123
|
-
...(acc.envelope === undefined ? {} : { envelope: acc.envelope }),
|
|
124
|
-
...(acc.json === undefined ? {} : { json: acc.json }),
|
|
125
|
-
...(acc.raw === undefined ? {} : { raw: acc.raw }),
|
|
126
|
-
...(acc.error === undefined ? {} : { error: acc.error }),
|
|
127
|
-
...(acc.exitCode === undefined ? {} : { exitCode: acc.exitCode }),
|
|
128
|
-
...(session === undefined ? {} : { session }),
|
|
129
|
-
// Carry the handler's return for the return-valued modes so the supervisor
|
|
130
|
-
// routes it via the same `dispatchOutput` the in-process path uses (parity).
|
|
131
|
-
...(returned === undefined || !isReturnValuedOutput(output) ? {} : { returned }),
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
122
|
/** Map a thrown error to its structured failure class for the IPC `error` message. */
|
|
135
123
|
function classifyThrow(error) {
|
|
136
124
|
if (error instanceof UnsupportedSeamError)
|
|
137
125
|
return error.failureClass;
|
|
126
|
+
if (error instanceof CapturedOutputTooLargeError)
|
|
127
|
+
return error.failureClass;
|
|
128
|
+
if (error instanceof IpcPayloadTooLargeError)
|
|
129
|
+
return error.failureClass;
|
|
138
130
|
return error.failureClass ?? 'tool-handler-throw';
|
|
139
131
|
}
|
|
140
132
|
/**
|
|
@@ -197,6 +189,7 @@ async function runLoadedCommand(spec) {
|
|
|
197
189
|
// host-side); (2) it may carry a `session` leg (ToolRunCompletion) the host
|
|
198
190
|
// persists after the worker resolves (host-owned-run-timing). Capture it once.
|
|
199
191
|
const returned = (await commandSpec.handler({ ...spec.opts, _args: spec.positionals }, ctx));
|
|
192
|
+
assertReturnValuedHandlerResult(commandSpec, acc, returned);
|
|
200
193
|
return {
|
|
201
194
|
kind: 'result',
|
|
202
195
|
value: toResult(commandSpec.output, acc, returned?.session, returned),
|
|
@@ -239,7 +232,10 @@ async function runLoadedHook(tool, spec) {
|
|
|
239
232
|
kind: 'result',
|
|
240
233
|
// `output` is required on the result; the host never replays output for a
|
|
241
234
|
// hook-mode dispatch (it reads `hookResult`), so a benign default suffices.
|
|
242
|
-
value: {
|
|
235
|
+
value: {
|
|
236
|
+
output: 'command-result',
|
|
237
|
+
...(hookResult === undefined ? {} : { hookResult }),
|
|
238
|
+
},
|
|
243
239
|
};
|
|
244
240
|
}
|
|
245
241
|
/**
|
|
@@ -267,7 +263,13 @@ export async function runToolCommandWorker(specPath) {
|
|
|
267
263
|
* rejects cleanly. This is the host CommandSpec handler's body.
|
|
268
264
|
*/
|
|
269
265
|
export async function executeToolCommandWorker(specPath) {
|
|
270
|
-
|
|
266
|
+
const stopHeartbeat = startWorkerHeartbeat();
|
|
267
|
+
try {
|
|
268
|
+
send(await runToolCommandWorker(specPath));
|
|
269
|
+
}
|
|
270
|
+
finally {
|
|
271
|
+
stopHeartbeat();
|
|
272
|
+
}
|
|
271
273
|
}
|
|
272
274
|
/**
|
|
273
275
|
* `__tool-command-worker <specPath>` — the [internal] host subcommand the
|
|
@@ -284,7 +286,12 @@ export const toolCommandWorkerCommandSpec = defineCommand({
|
|
|
284
286
|
description: '[internal] Run one external tool command headless in a forked worker and stream the result over IPC (forked by the ADR-0054 dispatch supervisor)',
|
|
285
287
|
// The supervisor passes `--cwd`; bootstrap uses it to resolve the project.
|
|
286
288
|
commonFlags: ['cwd'],
|
|
287
|
-
args: [
|
|
289
|
+
args: [
|
|
290
|
+
{
|
|
291
|
+
name: 'specPath',
|
|
292
|
+
description: 'Path to the JSON tool-command worker spec file',
|
|
293
|
+
},
|
|
294
|
+
],
|
|
288
295
|
scope: 'project',
|
|
289
296
|
output: 'raw-stream',
|
|
290
297
|
rawStreamReason: 'worker-ipc',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-command-worker-entry.js","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,gBAAgB,
|
|
1
|
+
{"version":3,"file":"tool-command-worker-entry.js","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tool-command-worker-result — pure result-assembly helpers for the external
|
|
3
|
+
* tool command dispatch WORKER (ADR-0054). These translate the worker-side
|
|
4
|
+
* {@link ResultAccumulator} plus the handler's return value into the
|
|
5
|
+
* serializable {@link ToolCommandResult} the supervisor replays through the
|
|
6
|
+
* host's `dispatchOutput`. They hold no effect and never touch `process` — the
|
|
7
|
+
* orchestration/IPC concerns stay in `tool-command-worker-entry.ts`.
|
|
8
|
+
*/
|
|
9
|
+
import { type CommandSpec, type ToolCliContext, type ToolSessionContribution } from '@opensip-cli/core';
|
|
10
|
+
import { type ResultAccumulator } from './tool-command-worker-context.js';
|
|
11
|
+
import type { ToolCommandResult } from './tool-command-dispatch-types.js';
|
|
12
|
+
/** The completion shape a run-producing handler returns (the session leg the host persists). */
|
|
13
|
+
export interface MaybeCompletion {
|
|
14
|
+
readonly session?: ToolSessionContribution;
|
|
15
|
+
}
|
|
16
|
+
/** Drain the accumulator + the handler's return into a serializable result. */
|
|
17
|
+
export declare function toResult(output: ToolCommandResult['output'], acc: ResultAccumulator, session: ToolSessionContribution | undefined, returned: unknown): ToolCommandResult;
|
|
18
|
+
/**
|
|
19
|
+
* Fail loud when a return-valued handler (`command-result` / `signal-envelope`)
|
|
20
|
+
* neither returned a value nor recorded an explicit final result — a silent
|
|
21
|
+
* `undefined` would otherwise replay as an empty output. Tagged
|
|
22
|
+
* `tool-handler-throw` so the supervisor surfaces a structured failure.
|
|
23
|
+
*/
|
|
24
|
+
export declare function assertReturnValuedHandlerResult(commandSpec: CommandSpec<unknown, ToolCliContext>, acc: ResultAccumulator, returned: unknown): void;
|
|
25
|
+
//# sourceMappingURL=tool-command-worker-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-command-worker-result.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-result.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC7B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,KAAK,EAA2B,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAEnG,gGAAgG;AAChG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC;CAC5C;AAaD,+EAA+E;AAC/E,wBAAgB,QAAQ,CACtB,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EACnC,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAC5C,QAAQ,EAAE,OAAO,GAChB,iBAAiB,CAenB;AAcD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,EACjD,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,OAAO,GAChB,IAAI,CAQN"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tool-command-worker-result — pure result-assembly helpers for the external
|
|
3
|
+
* tool command dispatch WORKER (ADR-0054). These translate the worker-side
|
|
4
|
+
* {@link ResultAccumulator} plus the handler's return value into the
|
|
5
|
+
* serializable {@link ToolCommandResult} the supervisor replays through the
|
|
6
|
+
* host's `dispatchOutput`. They hold no effect and never touch `process` — the
|
|
7
|
+
* orchestration/IPC concerns stay in `tool-command-worker-entry.ts`.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* The output modes whose PAYLOAD is the handler's RETURN value (routed by the
|
|
11
|
+
* in-process `dispatchOutput`): `command-result` (a `CommandResult`) and
|
|
12
|
+
* `signal-envelope` (a `SignalEnvelope`). For these, the worker must carry the
|
|
13
|
+
* return back UNROUTED in `returned` so the supervisor replays it through the SAME
|
|
14
|
+
* `dispatchOutput`. `raw-stream` / `live-view` produce no routable return payload.
|
|
15
|
+
*/
|
|
16
|
+
function isReturnValuedOutput(output) {
|
|
17
|
+
return output === 'command-result' || output === 'signal-envelope';
|
|
18
|
+
}
|
|
19
|
+
/** Drain the accumulator + the handler's return into a serializable result. */
|
|
20
|
+
export function toResult(output, acc, session, returned) {
|
|
21
|
+
return {
|
|
22
|
+
output,
|
|
23
|
+
...(acc.render === undefined ? {} : { render: acc.render }),
|
|
24
|
+
...(acc.envelope === undefined ? {} : { envelope: acc.envelope }),
|
|
25
|
+
...(acc.json === undefined ? {} : { json: acc.json }),
|
|
26
|
+
...(acc.raw === undefined ? {} : { raw: acc.raw }),
|
|
27
|
+
...(acc.error === undefined ? {} : { error: acc.error }),
|
|
28
|
+
...(acc.reportedFailure === undefined ? {} : { reportedFailure: acc.reportedFailure }),
|
|
29
|
+
...(acc.exitCode === undefined ? {} : { exitCode: acc.exitCode }),
|
|
30
|
+
...(session === undefined ? {} : { session }),
|
|
31
|
+
// Carry the handler's return for the return-valued modes so the supervisor
|
|
32
|
+
// routes it via the same `dispatchOutput` the in-process path uses (parity).
|
|
33
|
+
...(returned === undefined || !isReturnValuedOutput(output) ? {} : { returned }),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function hasExplicitFinalResult(acc) {
|
|
37
|
+
return (acc.render !== undefined ||
|
|
38
|
+
acc.envelope !== undefined ||
|
|
39
|
+
acc.json !== undefined ||
|
|
40
|
+
acc.raw !== undefined ||
|
|
41
|
+
acc.error !== undefined ||
|
|
42
|
+
acc.reportedFailure !== undefined ||
|
|
43
|
+
acc.exitCode !== undefined);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Fail loud when a return-valued handler (`command-result` / `signal-envelope`)
|
|
47
|
+
* neither returned a value nor recorded an explicit final result — a silent
|
|
48
|
+
* `undefined` would otherwise replay as an empty output. Tagged
|
|
49
|
+
* `tool-handler-throw` so the supervisor surfaces a structured failure.
|
|
50
|
+
*/
|
|
51
|
+
export function assertReturnValuedHandlerResult(commandSpec, acc, returned) {
|
|
52
|
+
if (!isReturnValuedOutput(commandSpec.output) || returned !== undefined)
|
|
53
|
+
return;
|
|
54
|
+
if (hasExplicitFinalResult(acc))
|
|
55
|
+
return;
|
|
56
|
+
const err = new Error(`tool command worker: command '${commandSpec.name}' declares output '${commandSpec.output}' but its handler returned undefined. Return a value, throw, or call reportFailure.`);
|
|
57
|
+
err.failureClass = 'tool-handler-throw';
|
|
58
|
+
throw err;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=tool-command-worker-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-command-worker-result.js","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-result.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiBH;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,MAAmC;IAC/D,OAAO,MAAM,KAAK,gBAAgB,IAAI,MAAM,KAAK,iBAAiB,CAAC;AACrE,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,QAAQ,CACtB,MAAmC,EACnC,GAAsB,EACtB,OAA4C,EAC5C,QAAiB;IAEjB,OAAO;QACL,MAAM;QACN,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjE,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACrD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAClD,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACxD,GAAG,CAAC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC;QACtF,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7C,2EAA2E;QAC3E,6EAA6E;QAC7E,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;KACjF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAsB;IACpD,OAAO,CACL,GAAG,CAAC,MAAM,KAAK,SAAS;QACxB,GAAG,CAAC,QAAQ,KAAK,SAAS;QAC1B,GAAG,CAAC,IAAI,KAAK,SAAS;QACtB,GAAG,CAAC,GAAG,KAAK,SAAS;QACrB,GAAG,CAAC,KAAK,KAAK,SAAS;QACvB,GAAG,CAAC,eAAe,KAAK,SAAS;QACjC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAC3B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC7C,WAAiD,EACjD,GAAsB,EACtB,QAAiB;IAEjB,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO;IAChF,IAAI,sBAAsB,CAAC,GAAG,CAAC;QAAE,OAAO;IACxC,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,iCAAiC,WAAW,CAAC,IAAI,sBAAsB,WAAW,CAAC,MAAM,qFAAqF,CAC/K,CAAC;IACD,GAAyD,CAAC,YAAY,GAAG,oBAAoB,CAAC;IAC/F,MAAM,GAAG,CAAC;AACZ,CAAC"}
|
|
@@ -31,6 +31,12 @@ export declare const PROJECT_TOOL_ALLOWLIST_ENV = "OPENSIP_CLI_ALLOW_PROJECT_TOO
|
|
|
31
31
|
* {@link isInstalledToolTrusted}).
|
|
32
32
|
*/
|
|
33
33
|
export declare const INSTALLED_TOOL_ALLOWLIST_ENV = "OPENSIP_CLI_ALLOW_INSTALLED_TOOLS";
|
|
34
|
+
/**
|
|
35
|
+
* Environment variable carrying the capability-pack allowlist. Unlike the older
|
|
36
|
+
* tool allowlists, this launch surface is exact-name only: wildcard `*` is not
|
|
37
|
+
* honored.
|
|
38
|
+
*/
|
|
39
|
+
export declare const CAPABILITY_PACK_ALLOWLIST_ENV = "OPENSIP_CLI_ALLOW_CAPABILITY_PACKS";
|
|
34
40
|
/**
|
|
35
41
|
* Decide whether a project-local executable tool with the given `id` is
|
|
36
42
|
* trusted to load, under the deny-by-default + allowlist-opt-in policy.
|
|
@@ -66,4 +72,10 @@ export declare function isProjectLocalToolTrusted(id: string, env?: NodeJS.Proce
|
|
|
66
72
|
* @returns `true` iff the allowlist contains `id` or the wildcard `'*'`.
|
|
67
73
|
*/
|
|
68
74
|
export declare function isInstalledToolTrusted(id: string, env?: NodeJS.ProcessEnv): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Decide whether a third-party capability pack may be imported into the host
|
|
77
|
+
* process. First-party bundled packs are handled by the caller; this predicate
|
|
78
|
+
* is exact-name allowlist only and intentionally does not honor `*`.
|
|
79
|
+
*/
|
|
80
|
+
export declare function isCapabilityPackTrusted(packageName: string, env?: NodeJS.ProcessEnv): boolean;
|
|
69
81
|
//# sourceMappingURL=tool-trust.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-trust.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-trust.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,oCAAoC,CAAC;AAE5E;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-trust.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-trust.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,oCAAoC,CAAC;AAE5E;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,sCAAsC,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,uCAAuC,CAAC;AAuClF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,MAAM,EACV,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAIT;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAIhG;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAIT"}
|