@dsh-enhanced/assistant-isolation 0.1.30
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/LICENSE +21 -0
- package/README.md +171 -0
- package/cordis.patch.yml +3 -0
- package/lib/audit-archive.d.ts +52 -0
- package/lib/audit-archive.d.ts.map +1 -0
- package/lib/audit-archive.js +775 -0
- package/lib/audit-archive.js.map +1 -0
- package/lib/cleanup-receipt.d.ts +26 -0
- package/lib/cleanup-receipt.d.ts.map +1 -0
- package/lib/cleanup-receipt.js +131 -0
- package/lib/cleanup-receipt.js.map +1 -0
- package/lib/cli.d.ts +16 -0
- package/lib/cli.d.ts.map +1 -0
- package/lib/cli.js +183 -0
- package/lib/cli.js.map +1 -0
- package/lib/config.d.ts +20 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +61 -0
- package/lib/config.js.map +1 -0
- package/lib/daemon-binding.d.ts +13 -0
- package/lib/daemon-binding.d.ts.map +1 -0
- package/lib/daemon-binding.js +120 -0
- package/lib/daemon-binding.js.map +1 -0
- package/lib/diagnostics.d.ts +19 -0
- package/lib/diagnostics.d.ts.map +1 -0
- package/lib/diagnostics.js +122 -0
- package/lib/diagnostics.js.map +1 -0
- package/lib/index.d.ts +19 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +13 -0
- package/lib/index.js.map +1 -0
- package/lib/ledger.d.ts +88 -0
- package/lib/ledger.d.ts.map +1 -0
- package/lib/ledger.js +623 -0
- package/lib/ledger.js.map +1 -0
- package/lib/probe.d.ts +5 -0
- package/lib/probe.d.ts.map +1 -0
- package/lib/probe.js +45 -0
- package/lib/probe.js.map +1 -0
- package/lib/reconcile.d.ts +5 -0
- package/lib/reconcile.d.ts.map +1 -0
- package/lib/reconcile.js +29 -0
- package/lib/reconcile.js.map +1 -0
- package/lib/runner.d.ts +12 -0
- package/lib/runner.d.ts.map +1 -0
- package/lib/runner.js +201 -0
- package/lib/runner.js.map +1 -0
- package/lib/runtime-witness.d.ts +32 -0
- package/lib/runtime-witness.d.ts.map +1 -0
- package/lib/runtime-witness.js +225 -0
- package/lib/runtime-witness.js.map +1 -0
- package/lib/service.d.ts +47 -0
- package/lib/service.d.ts.map +1 -0
- package/lib/service.js +361 -0
- package/lib/service.js.map +1 -0
- package/lib/storage-policy.d.ts +7 -0
- package/lib/storage-policy.d.ts.map +1 -0
- package/lib/storage-policy.js +82 -0
- package/lib/storage-policy.js.map +1 -0
- package/lib/storage.d.ts +18 -0
- package/lib/storage.d.ts.map +1 -0
- package/lib/storage.js +102 -0
- package/lib/storage.js.map +1 -0
- package/lib/tools.d.ts +4 -0
- package/lib/tools.d.ts.map +1 -0
- package/lib/tools.js +49 -0
- package/lib/tools.js.map +1 -0
- package/lib/types.d.ts +143 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +2 -0
- package/lib/types.js.map +1 -0
- package/lib/verifier-runner.d.ts +21 -0
- package/lib/verifier-runner.d.ts.map +1 -0
- package/lib/verifier-runner.js +192 -0
- package/lib/verifier-runner.js.map +1 -0
- package/lib/version.d.ts +2 -0
- package/lib/version.d.ts.map +1 -0
- package/lib/version.js +2 -0
- package/lib/version.js.map +1 -0
- package/lib/workspace.d.ts +6 -0
- package/lib/workspace.d.ts.map +1 -0
- package/lib/workspace.js +140 -0
- package/lib/workspace.js.map +1 -0
- package/package.json +105 -0
- package/runtime/supervisor.mjs +290 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../src/ledger.ts"],"names":[],"mappings":"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"}
|
package/lib/probe.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"AAQA,4FAA4F;AAC5F,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAoB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,CAAC,CA0BnH"}
|
package/lib/probe.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { mkdtemp, rm, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { tmpdir } from 'node:os';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
import { defaultLimits } from './config.js';
|
|
6
|
+
import { runIsolatedProcess } from './runner.js';
|
|
7
|
+
import { stageWorkspace } from './workspace.js';
|
|
8
|
+
/** Operator-only readiness probe using the same supervisor and work-volume path as jobs. */
|
|
9
|
+
export async function probeIsolationRuntime(image, dockerPath = '/usr/bin/docker') {
|
|
10
|
+
if (!/^sha256:[0-9a-f]{64}$/.test(image) || !dockerPath.startsWith('/'))
|
|
11
|
+
throw new Error('isolation readiness requires an immutable local image and absolute Docker path');
|
|
12
|
+
if (process.platform !== 'linux' || process.getuid?.() === undefined || process.getuid() === 0)
|
|
13
|
+
throw new Error('isolation readiness requires a non-root Linux Host and Docker access');
|
|
14
|
+
const stateRoot = await mkdtemp(join(tmpdir(), 'dsh-isolation-probe-'));
|
|
15
|
+
const jobId = randomUUID();
|
|
16
|
+
const containerName = `dsh-isolation-${jobId}`;
|
|
17
|
+
let safeToRemove = true;
|
|
18
|
+
try {
|
|
19
|
+
const marker = randomUUID();
|
|
20
|
+
const command = `test "$(id -u)" != 0 && test ! -w /etc && printf '%s' '${marker}' > readiness.txt && printf '%s' '${marker}'`;
|
|
21
|
+
const workspacePath = await stageWorkspace(stateRoot, jobId, { grantId: 'readiness', idempotencyKey: jobId, command });
|
|
22
|
+
await writeFile(join(stateRoot, 'probe.json'), JSON.stringify({ jobId, containerName, image, dockerPath }), { mode: 0o600, flag: 'wx' });
|
|
23
|
+
safeToRemove = false;
|
|
24
|
+
const result = await runIsolatedProcess({ jobId, containerName, image, dockerPath, workspacePath,
|
|
25
|
+
command, artifacts: ['readiness.txt'], deadline: Date.now() + 20_000,
|
|
26
|
+
limits: { ...defaultLimits, maxDurationMs: 20_000, memoryMiB: 64, workspaceMiB: 4, workspaceInodes: 64 },
|
|
27
|
+
signal: AbortSignal.timeout(20_000), authorizeStart: () => true });
|
|
28
|
+
safeToRemove = result.quiescent;
|
|
29
|
+
if (result.status !== 'succeeded' || !result.quiescent || result.stdout !== marker
|
|
30
|
+
|| result.artifacts?.length !== 1 || result.artifacts[0]?.content !== marker) {
|
|
31
|
+
throw new Error(`isolation readiness failed (${result.reason ?? result.status}); check Docker permissions, local image and resource limits${safeToRemove ? '' : `; unresolved probe evidence retained at ${stateRoot}`}`);
|
|
32
|
+
}
|
|
33
|
+
return { ready: true };
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
if (!safeToRemove)
|
|
37
|
+
throw new Error(`isolation readiness did not establish quiescence; unresolved probe evidence retained at ${stateRoot}`, { cause: error });
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
if (safeToRemove)
|
|
42
|
+
await rm(stateRoot, { recursive: true, force: true });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=probe.js.map
|
package/lib/probe.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IsolationControllerAuthority, IsolationLedger } from './ledger.js';
|
|
2
|
+
import type { IsolationJob } from './types.js';
|
|
3
|
+
/** Host-only reconciliation. Lost mutation receipts never acquire release authority. */
|
|
4
|
+
export declare function reconcileUnknownJob(ledger: IsolationLedger, authority: IsolationControllerAuthority, job: IsolationJob, dockerPath: string, signal: AbortSignal): Promise<boolean>;
|
|
5
|
+
//# sourceMappingURL=reconcile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../src/reconcile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,wFAAwF;AACxF,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,4BAA4B,EACxG,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAe9E"}
|
package/lib/reconcile.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { realpath } from 'node:fs/promises';
|
|
2
|
+
import { cleanupIsolationResources } from './cleanup-receipt.js';
|
|
3
|
+
import { captureDaemonWitness, processExited, sameDaemonWitness } from './runtime-witness.js';
|
|
4
|
+
/** Host-only reconciliation. Lost mutation receipts never acquire release authority. */
|
|
5
|
+
export async function reconcileUnknownJob(ledger, authority, job, dockerPath, signal) {
|
|
6
|
+
const original = job.creationWitness;
|
|
7
|
+
if (signal.aborted || job.status !== 'unknown' || job.result?.quiescent !== false
|
|
8
|
+
|| original?.requestsSettled !== true || !processExited(original.supervisor))
|
|
9
|
+
return false;
|
|
10
|
+
try {
|
|
11
|
+
if (!ledger.hasController(authority) || await realpath(dockerPath) !== original.daemon.dockerPath)
|
|
12
|
+
return false;
|
|
13
|
+
const before = await captureDaemonWitness(original.daemon);
|
|
14
|
+
if (!before || !sameDaemonWitness(original.daemon, before) || signal.aborted)
|
|
15
|
+
return false;
|
|
16
|
+
const cleanup = await cleanupIsolationResources(before.dockerPath, job.containerName, { socketPath: before.socketPath, signal });
|
|
17
|
+
if (!cleanup || signal.aborted)
|
|
18
|
+
return false;
|
|
19
|
+
const current = await captureDaemonWitness(before);
|
|
20
|
+
if (!current || !sameDaemonWitness(before, current) || signal.aborted)
|
|
21
|
+
return false;
|
|
22
|
+
ledger.settleReconciledUnknown(job.id, job.version, { original, current, checkedAt: Date.now(), cleanup }, authority);
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=reconcile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../src/reconcile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAEhE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAG7F,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAuB,EAAE,SAAuC,EACxG,GAAiB,EAAE,UAAkB,EAAE,MAAmB;IAC1D,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAA;IACpC,IAAI,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,KAAK;WAC5E,QAAQ,EAAE,eAAe,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAA;IAC5F,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO,KAAK,CAAA;QAC/G,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC1D,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QAC1F,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;QAChI,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QAC5C,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAA;QAClD,IAAI,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QACnF,MAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;QACrH,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAA;IAAC,CAAC;AAC1B,CAAC"}
|
package/lib/runner.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IsolationProcessResult, IsolationRunInput } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Starts a one-shot supervisor. The supervisor owns Docker after creation so a
|
|
4
|
+
* Host crash closes IPC and causes container cleanup instead of an orphaned job.
|
|
5
|
+
*/
|
|
6
|
+
export declare function runIsolatedProcess(input: IsolationRunInput): Promise<IsolationProcessResult>;
|
|
7
|
+
/** Removes only names generated by this plugin; arbitrary Docker names are rejected. */
|
|
8
|
+
export declare function removeIsolatedContainer(dockerPath: string, name: string, options?: {
|
|
9
|
+
socketPath?: string;
|
|
10
|
+
signal?: AbortSignal;
|
|
11
|
+
}): Promise<boolean>;
|
|
12
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAmB,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AA6D5F;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA+GlG;AAED,wFAAwF;AACxF,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAE7J"}
|
package/lib/runner.js
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { fork } from 'node:child_process';
|
|
2
|
+
import { cleanupIsolationResources } from './cleanup-receipt.js';
|
|
3
|
+
import { captureSystemdBinding } from './daemon-binding.js';
|
|
4
|
+
import { captureDaemonWitness, processWitness, sameDaemonWitness } from './runtime-witness.js';
|
|
5
|
+
const NAME = /^dsh-isolation-[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/;
|
|
6
|
+
const IMAGE = /^sha256:[0-9a-f]{64}$/;
|
|
7
|
+
const CLEANUP_GRACE_MS = 45_000;
|
|
8
|
+
function safeEnvironment() {
|
|
9
|
+
return {
|
|
10
|
+
PATH: process.env.PATH === undefined || process.env.PATH === '' ? '/usr/bin:/bin' : process.env.PATH,
|
|
11
|
+
LANG: 'C',
|
|
12
|
+
LC_ALL: 'C',
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function failure(reason, quiescent = true) {
|
|
16
|
+
return { status: quiescent ? 'failed' : 'unknown', quiescent, stdout: '', stderr: '', reason };
|
|
17
|
+
}
|
|
18
|
+
function validLimits(limits) {
|
|
19
|
+
const maxima = { maxDurationMs: 300_000, maxInputBytes: 1_048_576, maxOutputBytes: 262_144,
|
|
20
|
+
maxArtifactBytes: 1_048_576, maxFiles: 128, memoryMiB: 4096, pidsLimit: 512, cpus: 8, workspaceMiB: 1024, workspaceInodes: 65_536 };
|
|
21
|
+
return Object.entries(maxima).every(([key, maximum]) => {
|
|
22
|
+
const value = limits[key];
|
|
23
|
+
return Number.isFinite(value) && value > 0 && value <= maximum && (key === 'cpus' ? value >= 0.1 : Number.isSafeInteger(value));
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function validate(input) {
|
|
27
|
+
if (!NAME.test(input.containerName))
|
|
28
|
+
return 'invalid-container-name';
|
|
29
|
+
if (!IMAGE.test(input.image))
|
|
30
|
+
return 'image-must-be-a-sha256-digest';
|
|
31
|
+
if (!input.dockerPath.startsWith('/'))
|
|
32
|
+
return 'docker-path-must-be-absolute';
|
|
33
|
+
if (!input.workspacePath.startsWith('/') || /[\p{Cc},]/u.test(input.workspacePath))
|
|
34
|
+
return 'invalid-workspace-path';
|
|
35
|
+
if (input.artifacts !== undefined && (!Array.isArray(input.artifacts) || input.artifacts.length > input.limits.maxFiles || !input.artifacts.every(path => typeof path === 'string' && path.length > 0 && path.length <= 4096 && !path.startsWith('/') && !/[\p{Cc}\\]/u.test(path) && path.split('/').every(part => part !== '' && part !== '.' && part !== '..'))))
|
|
36
|
+
return 'invalid-artifacts';
|
|
37
|
+
if (typeof input.command !== 'string' || input.command.length === 0)
|
|
38
|
+
return 'invalid-command';
|
|
39
|
+
if (!Number.isSafeInteger(input.deadline) || input.deadline <= Date.now())
|
|
40
|
+
return 'deadline-expired';
|
|
41
|
+
if (!validLimits(input.limits))
|
|
42
|
+
return 'invalid-limits';
|
|
43
|
+
if (process.platform !== 'linux' || typeof process.getuid !== 'function' || process.getuid() === 0)
|
|
44
|
+
return 'non-root-linux-host-required';
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
function send(child, message) {
|
|
48
|
+
if (!child.connected)
|
|
49
|
+
return false;
|
|
50
|
+
try {
|
|
51
|
+
return child.send(message);
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Starts a one-shot supervisor. The supervisor owns Docker after creation so a
|
|
59
|
+
* Host crash closes IPC and causes container cleanup instead of an orphaned job.
|
|
60
|
+
*/
|
|
61
|
+
export async function runIsolatedProcess(input) {
|
|
62
|
+
const invalid = validate(input);
|
|
63
|
+
if (invalid !== undefined)
|
|
64
|
+
return failure(invalid);
|
|
65
|
+
if (input.signal.aborted)
|
|
66
|
+
return { status: 'cancelled', quiescent: true, stdout: '', stderr: '', reason: 'aborted-before-create' };
|
|
67
|
+
const daemonBefore = await captureDaemonWitness({ dockerPath: input.dockerPath });
|
|
68
|
+
const bindingBefore = daemonBefore ? await captureSystemdBinding(daemonBefore) : undefined;
|
|
69
|
+
if (input.signal.aborted)
|
|
70
|
+
return { status: 'cancelled', quiescent: true, stdout: '', stderr: '', reason: 'aborted-before-create' };
|
|
71
|
+
if (Date.now() >= input.deadline)
|
|
72
|
+
return failure('deadline-expired-before-create');
|
|
73
|
+
const config = {
|
|
74
|
+
dockerPath: input.dockerPath,
|
|
75
|
+
containerName: input.containerName,
|
|
76
|
+
image: input.image,
|
|
77
|
+
workspacePath: input.workspacePath,
|
|
78
|
+
artifacts: input.artifacts ?? [],
|
|
79
|
+
command: input.command,
|
|
80
|
+
deadline: input.deadline,
|
|
81
|
+
limits: input.limits,
|
|
82
|
+
};
|
|
83
|
+
const supervisor = fork(new URL('../runtime/supervisor.mjs', import.meta.url), [], {
|
|
84
|
+
detached: true,
|
|
85
|
+
execArgv: [],
|
|
86
|
+
env: safeEnvironment(),
|
|
87
|
+
serialization: 'json',
|
|
88
|
+
stdio: ['ignore', 'pipe', 'pipe', 'ipc'],
|
|
89
|
+
});
|
|
90
|
+
// The supervisor uses IPC for control. Drain diagnostics so an unexpected
|
|
91
|
+
// Node warning cannot block its pipe, but do not mix it with worker output.
|
|
92
|
+
supervisor.stdout?.resume();
|
|
93
|
+
supervisor.stderr?.resume();
|
|
94
|
+
let supervisorWitness;
|
|
95
|
+
return await new Promise((resolve) => {
|
|
96
|
+
let settled = false;
|
|
97
|
+
let ready = false;
|
|
98
|
+
let finalReceipt = false;
|
|
99
|
+
let cancelSent = false;
|
|
100
|
+
let grace;
|
|
101
|
+
let deadlineTimer;
|
|
102
|
+
const settle = (result) => {
|
|
103
|
+
if (settled)
|
|
104
|
+
return;
|
|
105
|
+
settled = true;
|
|
106
|
+
if (grace !== undefined)
|
|
107
|
+
clearTimeout(grace);
|
|
108
|
+
if (deadlineTimer !== undefined)
|
|
109
|
+
clearTimeout(deadlineTimer);
|
|
110
|
+
input.signal.removeEventListener('abort', abort);
|
|
111
|
+
supervisor.removeAllListeners('message');
|
|
112
|
+
supervisor.removeAllListeners('error');
|
|
113
|
+
supervisor.removeAllListeners('exit');
|
|
114
|
+
if (supervisor.connected)
|
|
115
|
+
supervisor.disconnect();
|
|
116
|
+
resolve(result);
|
|
117
|
+
};
|
|
118
|
+
const cancel = (reason) => {
|
|
119
|
+
if (cancelSent)
|
|
120
|
+
return;
|
|
121
|
+
cancelSent = true;
|
|
122
|
+
send(supervisor, { type: 'cancel', reason });
|
|
123
|
+
grace = setTimeout(() => settle({ status: 'unknown', quiescent: false, stdout: '', stderr: '', reason: 'supervisor-cleanup-unconfirmed' }), CLEANUP_GRACE_MS);
|
|
124
|
+
grace.unref();
|
|
125
|
+
};
|
|
126
|
+
const abort = () => cancel('aborted');
|
|
127
|
+
deadlineTimer = setTimeout(() => cancel('deadline-expired'), Math.max(1, input.deadline - Date.now()));
|
|
128
|
+
deadlineTimer.unref();
|
|
129
|
+
input.signal.addEventListener('abort', abort, { once: true });
|
|
130
|
+
supervisor.once('error', (error) => settle(failure(`supervisor-spawn-failed:${error.message}`, false)));
|
|
131
|
+
supervisor.once('exit', (code, signal) => {
|
|
132
|
+
if (!settled && !finalReceipt)
|
|
133
|
+
settle({ status: 'unknown', quiescent: false, stdout: '', stderr: '', reason: `supervisor-exited:${code ?? signal ?? 'unknown'}` });
|
|
134
|
+
});
|
|
135
|
+
supervisor.on('message', async (message) => {
|
|
136
|
+
if (settled)
|
|
137
|
+
return;
|
|
138
|
+
if (message?.type === 'error') {
|
|
139
|
+
settle(failure(message.reason, false));
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if (message?.type === 'result') {
|
|
143
|
+
if (finalReceipt)
|
|
144
|
+
return;
|
|
145
|
+
finalReceipt = true;
|
|
146
|
+
// Only the supervisor's final receipt brackets the create operations.
|
|
147
|
+
// This is private diagnostic evidence, never by itself a release permit.
|
|
148
|
+
const daemonAfter = message.result.status === 'unknown' && daemonBefore && supervisorWitness
|
|
149
|
+
? await captureDaemonWitness({ dockerPath: input.dockerPath }) : undefined;
|
|
150
|
+
if (daemonBefore && daemonAfter && supervisorWitness && sameDaemonWitness(daemonBefore, daemonAfter)
|
|
151
|
+
&& supervisorWitness.bootId === daemonBefore.process.bootId) {
|
|
152
|
+
const bindingAfter = bindingBefore ? await captureSystemdBinding(daemonAfter) : undefined;
|
|
153
|
+
const binding = bindingBefore && bindingAfter && JSON.stringify(bindingBefore) === JSON.stringify(bindingAfter) ? bindingAfter : undefined;
|
|
154
|
+
settle({ ...message.result, creationWitness: { daemon: daemonAfter, supervisor: supervisorWitness,
|
|
155
|
+
...(message.settlementProtocol === 'all-cli-closed/v1' && typeof message.requestsSettled === 'boolean' ? { requestsSettled: message.requestsSettled } : {}),
|
|
156
|
+
...(binding ? { binding } : {}) } });
|
|
157
|
+
}
|
|
158
|
+
else
|
|
159
|
+
settle(message.result);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (message?.type !== 'ready' || ready)
|
|
163
|
+
return;
|
|
164
|
+
ready = true;
|
|
165
|
+
if (input.signal.aborted || Date.now() >= input.deadline) {
|
|
166
|
+
cancel(input.signal.aborted ? 'aborted' : 'deadline-expired');
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
let allowed = false;
|
|
170
|
+
try {
|
|
171
|
+
allowed = await input.authorizeStart();
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
allowed = false;
|
|
175
|
+
}
|
|
176
|
+
if (!allowed || input.signal.aborted || Date.now() >= input.deadline) {
|
|
177
|
+
cancel(!allowed ? 'authorization-denied' : (input.signal.aborted ? 'aborted' : 'deadline-expired'));
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
if (!send(supervisor, { type: 'start' }))
|
|
181
|
+
settle({ status: 'unknown', quiescent: false, stdout: '', stderr: '', reason: 'supervisor-ipc-closed-before-start' });
|
|
182
|
+
});
|
|
183
|
+
const configure = async () => {
|
|
184
|
+
supervisorWitness = supervisor.pid === undefined ? undefined : await processWitness(supervisor.pid);
|
|
185
|
+
if (settled)
|
|
186
|
+
return;
|
|
187
|
+
if (cancelSent || input.signal.aborted || Date.now() >= input.deadline) {
|
|
188
|
+
settle({ status: input.signal.aborted ? 'cancelled' : 'timed-out', quiescent: true, stdout: '', stderr: '', reason: 'cancelled-before-configure' });
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
if (!send(supervisor, { type: 'configure', config }))
|
|
192
|
+
settle({ status: 'unknown', quiescent: false, stdout: '', stderr: '', reason: 'supervisor-ipc-closed-before-configure' });
|
|
193
|
+
};
|
|
194
|
+
void configure();
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
/** Removes only names generated by this plugin; arbitrary Docker names are rejected. */
|
|
198
|
+
export async function removeIsolatedContainer(dockerPath, name, options = {}) {
|
|
199
|
+
return await cleanupIsolationResources(dockerPath, name, options) !== undefined;
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { SystemdBinding } from './daemon-binding.js';
|
|
2
|
+
export interface ProcessWitness {
|
|
3
|
+
bootId: string;
|
|
4
|
+
pid: number;
|
|
5
|
+
startTicks: string;
|
|
6
|
+
}
|
|
7
|
+
export interface DaemonWitness {
|
|
8
|
+
process: ProcessWitness;
|
|
9
|
+
engineId: string;
|
|
10
|
+
dockerPath: string;
|
|
11
|
+
socketPath: string;
|
|
12
|
+
pidFile: string;
|
|
13
|
+
}
|
|
14
|
+
export interface CreationWitness {
|
|
15
|
+
daemon: DaemonWitness;
|
|
16
|
+
supervisor: ProcessWitness;
|
|
17
|
+
/** Present only after the supervisor has reaped every CLI it started. */
|
|
18
|
+
requestsSettled?: boolean;
|
|
19
|
+
binding?: SystemdBinding;
|
|
20
|
+
}
|
|
21
|
+
export declare function validateCreationWitness(value: unknown): CreationWitness;
|
|
22
|
+
export declare function processWitness(pid?: number): Promise<ProcessWitness | undefined>;
|
|
23
|
+
export declare function processExited(witness: ProcessWitness): boolean;
|
|
24
|
+
export declare function captureDaemonWitness({ dockerPath, socketPath, pidFile }: {
|
|
25
|
+
dockerPath: string;
|
|
26
|
+
socketPath?: string;
|
|
27
|
+
pidFile?: string;
|
|
28
|
+
}): Promise<DaemonWitness | undefined>;
|
|
29
|
+
export declare function sameDaemonWitness(a: DaemonWitness, b: DaemonWitness): boolean;
|
|
30
|
+
/** Diagnostic candidate only: does not prove socket ownership or authorize quota release. */
|
|
31
|
+
export declare function eligibleRestartWitness(original: CreationWitness): Promise<DaemonWitness | undefined>;
|
|
32
|
+
//# sourceMappingURL=runtime-witness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-witness.d.ts","sourceRoot":"","sources":["../src/runtime-witness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAOzD,MAAM,WAAW,cAAc;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AACnF,MAAM,WAAW,aAAa;IAAG,OAAO,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACrI,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,CAAA;IACrB,UAAU,EAAE,cAAc,CAAA;IAC1B,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAeD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAavE;AAoBD,wBAAsB,cAAc,CAAC,GAAG,SAAc,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAG3F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAmB9D;AAkDD,wBAAsB,oBAAoB,CAAC,EAAE,UAAU,EAAE,UAA8B,EAAE,OAAwB,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAYtN;AAQD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAG7E;AAED,6FAA6F;AAC7F,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAO1G"}
|