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,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-owned general artifact write seam.
|
|
3
|
+
*/
|
|
4
|
+
import { type Logger } from '@opensip-cli/core';
|
|
5
|
+
/** Build the public `cli.writeArtifact(path, bytes)` implementation. */
|
|
6
|
+
export declare function createWriteArtifactSeam(logger?: Logger): (path: string, bytes: string) => Promise<void>;
|
|
7
|
+
//# sourceMappingURL=artifact-seams.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-seams.d.ts","sourceRoot":"","sources":["../../src/bootstrap/artifact-seams.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAML,KAAK,MAAM,EACZ,MAAM,mBAAmB,CAAC;AA2B3B,wEAAwE;AACxE,wBAAgB,uBAAuB,CACrC,MAAM,GAAE,MAAsB,GAC7B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAwBhD"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-owned general artifact write seam.
|
|
3
|
+
*/
|
|
4
|
+
import { statSync } from 'node:fs';
|
|
5
|
+
import { basename, resolve } from 'node:path';
|
|
6
|
+
import { ConfigurationError, currentScope, SystemError, ToolError, logger as defaultLogger, } from '@opensip-cli/core';
|
|
7
|
+
import { writeArtifactAtomically } from './atomic-artifact-write.js';
|
|
8
|
+
import { resolveStateLockPolicy } from './state-lock-policy.js';
|
|
9
|
+
/**
|
|
10
|
+
* @throws {ConfigurationError} When the target already exists as a directory.
|
|
11
|
+
* @throws {Error} When filesystem metadata cannot be read for another reason.
|
|
12
|
+
*/
|
|
13
|
+
function assertWritableFileTarget(path) {
|
|
14
|
+
try {
|
|
15
|
+
const stat = statSync(path);
|
|
16
|
+
if (stat.isDirectory()) {
|
|
17
|
+
throw new ConfigurationError(`writeArtifact target must be a file path, not a directory: '${path}'`, {
|
|
18
|
+
code: 'CONFIGURATION.ARTIFACT_TARGET_IS_DIRECTORY',
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
if (error instanceof ConfigurationError)
|
|
24
|
+
throw error;
|
|
25
|
+
if (error.code === 'ENOENT')
|
|
26
|
+
return;
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/** Build the public `cli.writeArtifact(path, bytes)` implementation. */
|
|
31
|
+
export function createWriteArtifactSeam(logger = defaultLogger) {
|
|
32
|
+
return (path, bytes) => Promise.resolve().then(() => {
|
|
33
|
+
const target = resolve(path);
|
|
34
|
+
const scope = currentScope();
|
|
35
|
+
try {
|
|
36
|
+
assertWritableFileTarget(target);
|
|
37
|
+
writeArtifactAtomically(target, bytes, {
|
|
38
|
+
policy: resolveStateLockPolicy(),
|
|
39
|
+
logger: scope?.logger ?? logger,
|
|
40
|
+
runId: scope?.runId,
|
|
41
|
+
cwdBasename: scope?.projectContext?.projectRoot === undefined
|
|
42
|
+
? basename(process.cwd())
|
|
43
|
+
: basename(scope.projectContext.projectRoot),
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
if (error instanceof ToolError)
|
|
48
|
+
throw error;
|
|
49
|
+
throw new SystemError(`writeArtifact failed for '${target}': ${error instanceof Error ? error.message : String(error)}`, { code: 'SYSTEM.ARTIFACT_WRITE_FAILED' });
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=artifact-seams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-seams.js","sourceRoot":"","sources":["../../src/bootstrap/artifact-seams.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,SAAS,EACT,MAAM,IAAI,aAAa,GAExB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;GAGG;AACH,SAAS,wBAAwB,CAAC,IAAY;IAC5C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,kBAAkB,CAC1B,+DAA+D,IAAI,GAAG,EACtE;gBACE,IAAI,EAAE,4CAA4C;aACnD,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,kBAAkB;YAAE,MAAM,KAAK,CAAC;QACrD,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC/D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,uBAAuB,CACrC,SAAiB,aAAa;IAE9B,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACrB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,wBAAwB,CAAC,MAAM,CAAC,CAAC;YACjC,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE;gBACrC,MAAM,EAAE,sBAAsB,EAAE;gBAChC,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,MAAM;gBAC/B,KAAK,EAAE,KAAK,EAAE,KAAK;gBACnB,WAAW,EACT,KAAK,EAAE,cAAc,EAAE,WAAW,KAAK,SAAS;oBAC9C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACzB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;aACjD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,SAAS;gBAAE,MAAM,KAAK,CAAC;YAC5C,MAAM,IAAI,WAAW,CACnB,6BAA6B,MAAM,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACjG,EAAE,IAAI,EAAE,8BAA8B,EAAE,CACzC,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* atomic-artifact-write — per-target file locks plus temp-file-and-rename writes.
|
|
3
|
+
*
|
|
4
|
+
* Owns SARIF and baseline fingerprint JSON exports at the CLI composition root.
|
|
5
|
+
*/
|
|
6
|
+
import { type Logger, type StateLockPolicy } from '@opensip-cli/core';
|
|
7
|
+
export interface ArtifactWriteContext {
|
|
8
|
+
readonly policy: StateLockPolicy;
|
|
9
|
+
readonly logger: Logger;
|
|
10
|
+
readonly runId?: string;
|
|
11
|
+
readonly command?: string;
|
|
12
|
+
readonly cwdBasename?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Write bytes to `targetPath` atomically under a per-target file lock.
|
|
16
|
+
* Creates parent directories; cleans up temp files on failure.
|
|
17
|
+
*/
|
|
18
|
+
export declare function writeArtifactAtomically(targetPath: string, bytes: string, ctx: ArtifactWriteContext): void;
|
|
19
|
+
//# sourceMappingURL=atomic-artifact-write.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atomic-artifact-write.d.ts","sourceRoot":"","sources":["../../src/bootstrap/atomic-artifact-write.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAIL,KAAK,MAAM,EACX,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAI3B,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,oBAAoB,GACxB,IAAI,CAuDN"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* atomic-artifact-write — per-target file locks plus temp-file-and-rename writes.
|
|
3
|
+
*
|
|
4
|
+
* Owns SARIF and baseline fingerprint JSON exports at the CLI composition root.
|
|
5
|
+
*/
|
|
6
|
+
import { closeSync, mkdirSync, openSync, renameSync, unlinkSync, writeSync } from 'node:fs';
|
|
7
|
+
import { dirname, join } from 'node:path';
|
|
8
|
+
import { currentScope, generateUUID, withFileLock, } from '@opensip-cli/core';
|
|
9
|
+
import { createStateLockEventBridge } from './state-lock-policy.js';
|
|
10
|
+
/**
|
|
11
|
+
* Write bytes to `targetPath` atomically under a per-target file lock.
|
|
12
|
+
* Creates parent directories; cleans up temp files on failure.
|
|
13
|
+
*/
|
|
14
|
+
export function writeArtifactAtomically(targetPath, bytes, ctx) {
|
|
15
|
+
const dir = dirname(targetPath);
|
|
16
|
+
const lockPath = `${targetPath}.artifact.lock`;
|
|
17
|
+
const tempPath = join(dir, `.${generateUUID()}.tmp`);
|
|
18
|
+
mkdirSync(dir, { recursive: true });
|
|
19
|
+
withFileLock(lockPath, {
|
|
20
|
+
policy: ctx.policy,
|
|
21
|
+
resource: 'artifact',
|
|
22
|
+
operation: 'artifact.write',
|
|
23
|
+
runId: ctx.runId,
|
|
24
|
+
command: ctx.command,
|
|
25
|
+
cwdBasename: ctx.cwdBasename,
|
|
26
|
+
onEvent: createStateLockEventBridge(ctx.logger),
|
|
27
|
+
}, () => {
|
|
28
|
+
try {
|
|
29
|
+
const fd = openSync(tempPath, 'w');
|
|
30
|
+
try {
|
|
31
|
+
writeSync(fd, bytes);
|
|
32
|
+
}
|
|
33
|
+
finally {
|
|
34
|
+
closeSync(fd);
|
|
35
|
+
}
|
|
36
|
+
renameSync(tempPath, targetPath);
|
|
37
|
+
ctx.logger.info({
|
|
38
|
+
evt: 'state.artifact.write.complete',
|
|
39
|
+
module: 'cli:atomic-artifact-write',
|
|
40
|
+
operation: 'artifact.write',
|
|
41
|
+
});
|
|
42
|
+
// Mirror the lock/baseline bridges: surface the state-plane event on the
|
|
43
|
+
// run diagnostics `persist` phase too (the contract doc lists it there).
|
|
44
|
+
currentScope()?.diagnostics?.event('persist', 'info', 'state.artifact.write.complete', {
|
|
45
|
+
operation: 'artifact.write',
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
try {
|
|
50
|
+
unlinkSync(tempPath);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
/* best-effort */
|
|
54
|
+
}
|
|
55
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
56
|
+
ctx.logger.error({
|
|
57
|
+
evt: 'state.artifact.write.error',
|
|
58
|
+
module: 'cli:atomic-artifact-write',
|
|
59
|
+
error: message,
|
|
60
|
+
});
|
|
61
|
+
currentScope()?.diagnostics?.event('persist', 'error', 'state.artifact.write.error', {
|
|
62
|
+
operation: 'artifact.write',
|
|
63
|
+
});
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=atomic-artifact-write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atomic-artifact-write.js","sourceRoot":"","sources":["../../src/bootstrap/atomic-artifact-write.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAUpE;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAkB,EAClB,KAAa,EACb,GAAyB;IAEzB,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,UAAU,gBAAgB,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,YAAY,EAAE,MAAM,CAAC,CAAC;IAErD,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,YAAY,CACV,QAAQ,EACR;QACE,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,gBAAgB;QAC3B,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC;KAChD,EACD,GAAG,EAAE;QACH,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC;gBACH,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACvB,CAAC;oBAAS,CAAC;gBACT,SAAS,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;YACD,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACjC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBACd,GAAG,EAAE,+BAA+B;gBACpC,MAAM,EAAE,2BAA2B;gBACnC,SAAS,EAAE,gBAAgB;aAC5B,CAAC,CAAC;YACH,yEAAyE;YACzE,yEAAyE;YACzE,YAAY,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,+BAA+B,EAAE;gBACrF,SAAS,EAAE,gBAAgB;aAC5B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;gBACf,GAAG,EAAE,4BAA4B;gBACjC,MAAM,EAAE,2BAA2B;gBACnC,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;YACH,YAAY,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,4BAA4B,EAAE;gBACnF,SAAS,EAAE,gBAAgB;aAC5B,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseline-seams.d.ts","sourceRoot":"","sources":["../../src/bootstrap/baseline-seams.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"baseline-seams.d.ts","sourceRoot":"","sources":["../../src/bootstrap/baseline-seams.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAOL,KAAK,iBAAiB,EACtB,KAAK,MAAM,EAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAStE,0FAA0F;AAC1F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1F,QAAQ,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,QAAQ,CAAC,0BAA0B,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpF;AAsED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,SAAS,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GAAG,aAAa,CA0JhB"}
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
* plane NEVER re-fingerprints. Factored out of `cli-context.ts` to keep that
|
|
11
11
|
* file within its size budget.
|
|
12
12
|
*/
|
|
13
|
-
import {
|
|
14
|
-
import { dirname } from 'node:path';
|
|
15
|
-
import { ConfigurationError, SeverityPolicy, } from '@opensip-cli/core';
|
|
13
|
+
import { BASELINE_FORMAT_VERSION, ConfigurationError, currentScope, formatBaselineIdentityMismatch, isBaselineIdentityCompatible, toBaselineIdentityMetadata, SeverityPolicy, } from '@opensip-cli/core';
|
|
16
14
|
import { BaselineRepo } from '@opensip-cli/datastore';
|
|
17
15
|
import { diffBaseline } from '@opensip-cli/output';
|
|
16
|
+
import { writeArtifactAtomically } from './atomic-artifact-write.js';
|
|
18
17
|
import { writeEnvelopeSarif } from './deliver-envelope.js';
|
|
18
|
+
import { resolveStateLockPolicy } from './state-lock-policy.js';
|
|
19
19
|
/** Thrown (→ exit 2) when a gate compare/export runs before any baseline was saved. */
|
|
20
20
|
function missingBaseline(tool) {
|
|
21
21
|
return new ConfigurationError(`No baseline found for '${tool}' in the project SQLite store. If this is a first ` +
|
|
@@ -27,15 +27,33 @@ function missingBaseline(tool) {
|
|
|
27
27
|
}
|
|
28
28
|
/** Assert each signal carries a fingerprint — the plane never stamps (ADR-0036). */
|
|
29
29
|
// @graph-ignore-next-line graph:always-throws-branch -- not throw-dominated: returns the mapped entries; the throw is a guard fired only when a tool hands unstamped signals (a contract violation the plane must surface).
|
|
30
|
-
function requireStampedEntries(tool, signals) {
|
|
30
|
+
function requireStampedEntries(tool, signals, operation) {
|
|
31
31
|
return signals.map((s) => {
|
|
32
32
|
if (!s.fingerprint) {
|
|
33
|
-
throw new ConfigurationError(
|
|
33
|
+
throw new ConfigurationError(`${operation}(${tool}): signal ${s.ruleId} is not fingerprint-stamped. The tool must ` +
|
|
34
34
|
`stamp its signals (stampFingerprints) before the seam — the plane never fingerprints.`, { code: 'CONFIGURATION.GATE.UNSTAMPED_SIGNAL' });
|
|
35
35
|
}
|
|
36
36
|
return { fingerprint: s.fingerprint, payload: s };
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
+
function requireEnvelopeBaselineIdentity(tool, envelope, operation) {
|
|
40
|
+
const id = envelope.baselineIdentity?.fingerprintStrategyId;
|
|
41
|
+
const version = envelope.baselineIdentity?.fingerprintStrategyVersion;
|
|
42
|
+
if (!id || !Number.isInteger(version) || version < 1) {
|
|
43
|
+
throw new ConfigurationError(`${operation}(${tool}): envelope is missing baseline identity metadata. ` +
|
|
44
|
+
`Build the envelope with buildSignalEnvelope so strategy id/version are stamped.`, { code: 'CONFIGURATION.GATE.BASELINE_IDENTITY_MISSING' });
|
|
45
|
+
}
|
|
46
|
+
return envelope.baselineIdentity;
|
|
47
|
+
}
|
|
48
|
+
function emitIdentityMismatchDiagnostic(tool, envelope, stored) {
|
|
49
|
+
currentScope()?.diagnostics?.event('load', 'warn', 'baseline identity incompatible with stored metadata', {
|
|
50
|
+
tool,
|
|
51
|
+
storedStrategyId: stored?.fingerprintStrategyId,
|
|
52
|
+
storedStrategyVersion: stored?.fingerprintStrategyVersion,
|
|
53
|
+
currentStrategyId: envelope.baselineIdentity.fingerprintStrategyId,
|
|
54
|
+
currentStrategyVersion: envelope.baselineIdentity.fingerprintStrategyVersion,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
39
57
|
/**
|
|
40
58
|
* Build the four baseline seams over a lazy datastore resolver. `getDatastore`
|
|
41
59
|
* throws when accessed outside a project scope (the host's existing contract).
|
|
@@ -43,13 +61,31 @@ function requireStampedEntries(tool, signals) {
|
|
|
43
61
|
export function buildBaselineSeams(deps) {
|
|
44
62
|
const { getDatastore, logger } = deps;
|
|
45
63
|
const repoFor = () => new BaselineRepo(getDatastore());
|
|
64
|
+
const artifactCtx = () => ({
|
|
65
|
+
policy: resolveStateLockPolicy(),
|
|
66
|
+
logger,
|
|
67
|
+
});
|
|
46
68
|
return {
|
|
47
69
|
// Sync-bodied (SQLite is synchronous) but typed Promise to match the seam
|
|
48
70
|
// contract; a sync throw still rejects for an `await`ing caller.
|
|
49
71
|
saveBaseline: (tool, envelope) => {
|
|
50
72
|
const env = envelope;
|
|
51
|
-
const
|
|
52
|
-
|
|
73
|
+
const identity = requireEnvelopeBaselineIdentity(tool, env, 'saveBaseline');
|
|
74
|
+
const entries = requireStampedEntries(tool, env.signals, 'saveBaseline');
|
|
75
|
+
const metadata = toBaselineIdentityMetadata(identity);
|
|
76
|
+
repoFor().save(tool, entries, metadata);
|
|
77
|
+
logger.info({
|
|
78
|
+
evt: 'state.baseline.identity.recorded',
|
|
79
|
+
module: 'cli:baseline-seams',
|
|
80
|
+
tool,
|
|
81
|
+
fingerprintStrategyId: metadata.fingerprintStrategyId,
|
|
82
|
+
fingerprintStrategyVersion: metadata.fingerprintStrategyVersion,
|
|
83
|
+
});
|
|
84
|
+
currentScope()?.diagnostics?.event('persist', 'info', 'baseline identity recorded', {
|
|
85
|
+
tool,
|
|
86
|
+
fingerprintStrategyId: metadata.fingerprintStrategyId,
|
|
87
|
+
fingerprintStrategyVersion: metadata.fingerprintStrategyVersion,
|
|
88
|
+
});
|
|
53
89
|
logger.info({
|
|
54
90
|
evt: 'cli.baseline.save.complete',
|
|
55
91
|
module: 'cli:baseline-seams',
|
|
@@ -63,6 +99,24 @@ export function buildBaselineSeams(deps) {
|
|
|
63
99
|
if (!repo.exists(tool))
|
|
64
100
|
return Promise.reject(missingBaseline(tool));
|
|
65
101
|
const env = envelope;
|
|
102
|
+
const identity = requireEnvelopeBaselineIdentity(tool, env, 'compareBaseline');
|
|
103
|
+
requireStampedEntries(tool, env.signals, 'compareBaseline');
|
|
104
|
+
const stored = repo.loadMeta(tool);
|
|
105
|
+
if (!isBaselineIdentityCompatible(identity, stored)) {
|
|
106
|
+
logger.warn({
|
|
107
|
+
evt: 'state.baseline.identity.mismatch',
|
|
108
|
+
module: 'cli:baseline-seams',
|
|
109
|
+
tool,
|
|
110
|
+
storedStrategyId: stored?.fingerprintStrategyId,
|
|
111
|
+
storedStrategyVersion: stored?.fingerprintStrategyVersion,
|
|
112
|
+
currentStrategyId: identity.fingerprintStrategyId,
|
|
113
|
+
currentStrategyVersion: identity.fingerprintStrategyVersion,
|
|
114
|
+
});
|
|
115
|
+
emitIdentityMismatchDiagnostic(tool, env, stored);
|
|
116
|
+
return Promise.reject(new ConfigurationError(formatBaselineIdentityMismatch(tool, identity, stored), {
|
|
117
|
+
code: 'CONFIGURATION.GATE.BASELINE_IDENTITY_MISMATCH',
|
|
118
|
+
}));
|
|
119
|
+
}
|
|
66
120
|
return Promise.resolve(diffBaseline(env.signals, repo.load(tool)));
|
|
67
121
|
},
|
|
68
122
|
/** @throws {ConfigurationError} (→ exit 2) when no baseline exists for `tool`. */
|
|
@@ -75,15 +129,11 @@ export function buildBaselineSeams(deps) {
|
|
|
75
129
|
if (capturedAt === undefined) {
|
|
76
130
|
throw new ConfigurationError(`Baseline meta row for '${tool}' missing after exists() reported present.`, { code: 'CONFIGURATION.GATE.BASELINE_INCONSISTENT' });
|
|
77
131
|
}
|
|
132
|
+
const storedMeta = repo.loadMeta(tool);
|
|
78
133
|
const signals = repo
|
|
79
134
|
.load(tool)
|
|
80
135
|
.map((r) => r.payload)
|
|
81
136
|
.filter((s) => s !== null);
|
|
82
|
-
// Compute a minimal but truthful verdict/summary from the captured signals
|
|
83
|
-
// so that SARIF consumers (and any envelope-level logic) see consistent
|
|
84
|
-
// counts instead of an all-zeroes synthetic. This is a reconstruction of
|
|
85
|
-
// historical findings; "passed" here means "the captured set contained no
|
|
86
|
-
// error-severity findings" (matching the spirit of the run verdict).
|
|
87
137
|
let errors = 0;
|
|
88
138
|
let warnings = 0;
|
|
89
139
|
for (const s of signals) {
|
|
@@ -99,13 +149,6 @@ export function buildBaselineSeams(deps) {
|
|
|
99
149
|
errors,
|
|
100
150
|
warnings,
|
|
101
151
|
};
|
|
102
|
-
// SARIF export RECONSTRUCTS (no stored envelope): formatSignalSarif derives
|
|
103
|
-
// results from `signals` + the driver name from `tool` only, so the other
|
|
104
|
-
// envelope fields are mostly inert filler. We now populate a plausible
|
|
105
|
-
// verdict so downstream SARIF or machine consumers are not misled.
|
|
106
|
-
// The runId/createdAt make it obvious this is a reconstruction from a
|
|
107
|
-
// previously captured baseline (units and per-unit facts like filesValidated
|
|
108
|
-
// are not recoverable without storing the full original envelope).
|
|
109
152
|
const synthetic = {
|
|
110
153
|
schemaVersion: 2,
|
|
111
154
|
tool,
|
|
@@ -118,8 +161,17 @@ export function buildBaselineSeams(deps) {
|
|
|
118
161
|
},
|
|
119
162
|
units: [],
|
|
120
163
|
signals,
|
|
164
|
+
baselineIdentity: storedMeta
|
|
165
|
+
? {
|
|
166
|
+
fingerprintStrategyId: storedMeta.fingerprintStrategyId,
|
|
167
|
+
fingerprintStrategyVersion: storedMeta.fingerprintStrategyVersion,
|
|
168
|
+
}
|
|
169
|
+
: {
|
|
170
|
+
fingerprintStrategyId: 'unknown',
|
|
171
|
+
fingerprintStrategyVersion: 0,
|
|
172
|
+
},
|
|
121
173
|
};
|
|
122
|
-
await writeEnvelopeSarif(synthetic, path);
|
|
174
|
+
await writeEnvelopeSarif(synthetic, path, artifactCtx());
|
|
123
175
|
},
|
|
124
176
|
/** @throws {ConfigurationError} (→ exit 2) when no baseline exists for `tool`. */
|
|
125
177
|
exportBaselineFingerprints: async (tool, path) => {
|
|
@@ -131,23 +183,23 @@ export function buildBaselineSeams(deps) {
|
|
|
131
183
|
if (capturedAt === undefined) {
|
|
132
184
|
throw new ConfigurationError(`Baseline meta row for '${tool}' missing after exists() reported present.`, { code: 'CONFIGURATION.GATE.BASELINE_INCONSISTENT' });
|
|
133
185
|
}
|
|
186
|
+
const storedMeta = repo.loadMeta(tool);
|
|
134
187
|
const rows = repo.load(tool);
|
|
135
188
|
const fingerprints = rows.map((r) => r.fingerprint).sort((a, b) => a.localeCompare(b));
|
|
136
189
|
const file = {
|
|
137
|
-
version:
|
|
190
|
+
version: String(BASELINE_FORMAT_VERSION),
|
|
138
191
|
tool,
|
|
139
192
|
capturedAt: new Date(capturedAt).toISOString(),
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
// re-import via --gate-compare style flows that only need identities.
|
|
193
|
+
baselineFormatVersion: storedMeta?.baselineFormatVersion ?? null,
|
|
194
|
+
fingerprintStrategyId: storedMeta?.fingerprintStrategyId ?? null,
|
|
195
|
+
fingerprintStrategyVersion: storedMeta?.fingerprintStrategyVersion ?? null,
|
|
144
196
|
note: 'reconstructed from baseline entries; units and per-finding details are not preserved',
|
|
145
197
|
signalCount: fingerprints.length,
|
|
146
198
|
fingerprints,
|
|
147
199
|
};
|
|
148
200
|
const serialized = JSON.stringify(file, null, 2);
|
|
149
|
-
|
|
150
|
-
await
|
|
201
|
+
writeArtifactAtomically(path, serialized, artifactCtx());
|
|
202
|
+
await Promise.resolve();
|
|
151
203
|
},
|
|
152
204
|
};
|
|
153
205
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseline-seams.js","sourceRoot":"","sources":["../../src/bootstrap/baseline-seams.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"baseline-seams.js","sourceRoot":"","sources":["../../src/bootstrap/baseline-seams.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* build-external-worker-child-env — explicit allow-list for the ADR-0054
|
|
3
|
+
* external-tool dispatch worker fork (spec 01 / DD8).
|
|
4
|
+
*
|
|
5
|
+
* Replaces `{ ...process.env }` on the external fork so admitted tools do not
|
|
6
|
+
* inherit arbitrary parent secrets. Bundled live-run forks (subprocess-transport)
|
|
7
|
+
* are out of scope — they are TCB and still spread the parent env.
|
|
8
|
+
*/
|
|
9
|
+
/** Env var listing extra parent vars to forward (comma/whitespace-separated). */
|
|
10
|
+
export declare const TOOL_ENV_PASSTHROUGH_ENV = "OPENSIP_CLI_TOOL_ENV_PASSTHROUGH";
|
|
11
|
+
/** Default pass-through set for external-tool worker children (OQ2). */
|
|
12
|
+
export declare const EXTERNAL_WORKER_CHILD_ENV_ALLOWLIST: readonly string[];
|
|
13
|
+
/**
|
|
14
|
+
* Build the child env for an external-tool dispatch worker fork.
|
|
15
|
+
*
|
|
16
|
+
* Forwards only the documented allow-list plus `OPENSIP_CLI_TOOL_ENV_PASSTHROUGH`
|
|
17
|
+
* keys from the parent. Host-set worker markers (`IN_TOOL_WORKER_ENV`,
|
|
18
|
+
* `OPENSIP_RUN_ID`, `TRACEPARENT`) are never read from the parent.
|
|
19
|
+
*/
|
|
20
|
+
export declare function buildExternalWorkerChildEnv(args?: {
|
|
21
|
+
readonly parentEnv?: NodeJS.ProcessEnv;
|
|
22
|
+
readonly runId?: string;
|
|
23
|
+
readonly traceparent?: string;
|
|
24
|
+
}): NodeJS.ProcessEnv;
|
|
25
|
+
//# sourceMappingURL=build-external-worker-child-env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-external-worker-child-env.d.ts","sourceRoot":"","sources":["../../src/bootstrap/build-external-worker-child-env.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,iFAAiF;AACjF,eAAO,MAAM,wBAAwB,qCAAqC,CAAC;AAK3E,wEAAwE;AACxE,eAAO,MAAM,mCAAmC,EAAE,SAAS,MAAM,EAgBhE,CAAC;AAUF;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,GAAE;IACJ,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC1B,GACL,MAAM,CAAC,UAAU,CAuBnB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* build-external-worker-child-env — explicit allow-list for the ADR-0054
|
|
3
|
+
* external-tool dispatch worker fork (spec 01 / DD8).
|
|
4
|
+
*
|
|
5
|
+
* Replaces `{ ...process.env }` on the external fork so admitted tools do not
|
|
6
|
+
* inherit arbitrary parent secrets. Bundled live-run forks (subprocess-transport)
|
|
7
|
+
* are out of scope — they are TCB and still spread the parent env.
|
|
8
|
+
*/
|
|
9
|
+
import { SKIP_INSTALLED_PLUGINS_ENV } from './skip-installed-plugins.js';
|
|
10
|
+
import { IN_TOOL_WORKER_ENV } from './tool-provenance.js';
|
|
11
|
+
import { INSTALLED_TOOL_ALLOWLIST_ENV, PROJECT_TOOL_ALLOWLIST_ENV } from './tool-trust.js';
|
|
12
|
+
/** Env var listing extra parent vars to forward (comma/whitespace-separated). */
|
|
13
|
+
export const TOOL_ENV_PASSTHROUGH_ENV = 'OPENSIP_CLI_TOOL_ENV_PASSTHROUGH';
|
|
14
|
+
/** Env var listing bundled first-party tool ids to skip during bootstrap. */
|
|
15
|
+
const SKIP_BUNDLED_TOOLS_ENV = 'OPENSIP_CLI_SKIP_BUNDLED';
|
|
16
|
+
/** Default pass-through set for external-tool worker children (OQ2). */
|
|
17
|
+
export const EXTERNAL_WORKER_CHILD_ENV_ALLOWLIST = [
|
|
18
|
+
'PATH',
|
|
19
|
+
'HOME',
|
|
20
|
+
'TMPDIR',
|
|
21
|
+
'TEMP',
|
|
22
|
+
'TMP',
|
|
23
|
+
'LANG',
|
|
24
|
+
'LC_ALL',
|
|
25
|
+
'LC_CTYPE',
|
|
26
|
+
'NODE_ENV',
|
|
27
|
+
'OTEL_EXPORTER_OTLP_ENDPOINT',
|
|
28
|
+
'OPENSIP_PROFILING',
|
|
29
|
+
SKIP_BUNDLED_TOOLS_ENV,
|
|
30
|
+
SKIP_INSTALLED_PLUGINS_ENV,
|
|
31
|
+
INSTALLED_TOOL_ALLOWLIST_ENV,
|
|
32
|
+
PROJECT_TOOL_ALLOWLIST_ENV,
|
|
33
|
+
];
|
|
34
|
+
function parsePassthroughKeys(raw) {
|
|
35
|
+
if (raw === undefined || raw.length === 0)
|
|
36
|
+
return [];
|
|
37
|
+
return raw
|
|
38
|
+
.split(/[\s,]+/)
|
|
39
|
+
.map((s) => s.trim())
|
|
40
|
+
.filter((s) => s.length > 0);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Build the child env for an external-tool dispatch worker fork.
|
|
44
|
+
*
|
|
45
|
+
* Forwards only the documented allow-list plus `OPENSIP_CLI_TOOL_ENV_PASSTHROUGH`
|
|
46
|
+
* keys from the parent. Host-set worker markers (`IN_TOOL_WORKER_ENV`,
|
|
47
|
+
* `OPENSIP_RUN_ID`, `TRACEPARENT`) are never read from the parent.
|
|
48
|
+
*/
|
|
49
|
+
export function buildExternalWorkerChildEnv(args = {}) {
|
|
50
|
+
const parentEnv = args.parentEnv ?? process.env;
|
|
51
|
+
const childEnv = {};
|
|
52
|
+
for (const key of EXTERNAL_WORKER_CHILD_ENV_ALLOWLIST) {
|
|
53
|
+
const value = parentEnv[key];
|
|
54
|
+
if (value !== undefined)
|
|
55
|
+
childEnv[key] = value;
|
|
56
|
+
}
|
|
57
|
+
for (const key of parsePassthroughKeys(parentEnv[TOOL_ENV_PASSTHROUGH_ENV])) {
|
|
58
|
+
const value = parentEnv[key];
|
|
59
|
+
if (value !== undefined)
|
|
60
|
+
childEnv[key] = value;
|
|
61
|
+
}
|
|
62
|
+
childEnv[IN_TOOL_WORKER_ENV] = '1';
|
|
63
|
+
if (args.runId !== undefined && args.runId.length > 0) {
|
|
64
|
+
childEnv.OPENSIP_RUN_ID = args.runId;
|
|
65
|
+
}
|
|
66
|
+
if (args.traceparent !== undefined && args.traceparent.length > 0) {
|
|
67
|
+
childEnv.TRACEPARENT = args.traceparent;
|
|
68
|
+
}
|
|
69
|
+
return childEnv;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=build-external-worker-child-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-external-worker-child-env.js","sourceRoot":"","sources":["../../src/bootstrap/build-external-worker-child-env.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE3F,iFAAiF;AACjF,MAAM,CAAC,MAAM,wBAAwB,GAAG,kCAAkC,CAAC;AAE3E,6EAA6E;AAC7E,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAE1D,wEAAwE;AACxE,MAAM,CAAC,MAAM,mCAAmC,GAAsB;IACpE,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,MAAM;IACN,QAAQ;IACR,UAAU;IACV,UAAU;IACV,6BAA6B;IAC7B,mBAAmB;IACnB,sBAAsB;IACtB,0BAA0B;IAC1B,4BAA4B;IAC5B,0BAA0B;CAC3B,CAAC;AAEF,SAAS,oBAAoB,CAAC,GAAuB;IACnD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrD,OAAO,GAAG;SACP,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,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAII,EAAE;IAEN,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAChD,MAAM,QAAQ,GAAsB,EAAE,CAAC;IAEvC,KAAK,MAAM,GAAG,IAAI,mCAAmC,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACjD,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,oBAAoB,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC;QAC5E,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACjD,CAAC;IAED,QAAQ,CAAC,kBAAkB,CAAC,GAAG,GAAG,CAAC;IACnC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;IACvC,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC1C,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -117,7 +117,7 @@ export function buildPerRunScope(input) {
|
|
|
117
117
|
// Lazy datastore thunk; its `dispose` (registered on the scope below) closes
|
|
118
118
|
// the cached SQLite connection on teardown — checkpointing/truncating the WAL
|
|
119
119
|
// and freeing the handle, which otherwise leaked for the process lifetime.
|
|
120
|
-
const datastoreThunk = buildDatastoreThunk(project, logger);
|
|
120
|
+
const datastoreThunk = buildDatastoreThunk(project, logger, input.parentCommand);
|
|
121
121
|
const scope = new RunScope({
|
|
122
122
|
logger,
|
|
123
123
|
projectContext: project,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-per-run-scope.js","sourceRoot":"","sources":["../../src/bootstrap/build-per-run-scope.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"build-per-run-scope.js","sourceRoot":"","sources":["../../src/bootstrap/build-per-run-scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-and-capabilities.d.ts","sourceRoot":"","sources":["../../src/bootstrap/config-and-capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;
|
|
1
|
+
{"version":3,"file":"config-and-capabilities.d.ts","sourceRoot":"","sources":["../../src/bootstrap/config-and-capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAUH,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,kBAAkB,EAMvB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAC;AAwB3B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,6BAA6B,CAAC;CAC/D,GAAG;IACF,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B,CA0DA;AAiDD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CACjD,GAAG,kBAAkB,CAyBrB"}
|