@ccdd/project 3.3.0 → 4.0.0
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/README.md +9 -12
- package/dist/monitor-ui/assets/GraphView-CaxsIXtN.js +27 -0
- package/dist/monitor-ui/assets/ValidationView-BMqI2XQ5.css +1 -0
- package/dist/monitor-ui/assets/ValidationView-CGW6-Ljw.js +1 -0
- package/dist/monitor-ui/assets/{elk-api-D5d3gWoP.js → elk-api-DIQ2_nge.js} +1 -1
- package/dist/monitor-ui/assets/{elk.bundled-0eaKiuBP.js → elk.bundled-BRtnLd_M.js} +1 -1
- package/dist/monitor-ui/assets/{index-DDwx11D7.css → index-D0yfhUlt.css} +1 -1
- package/dist/monitor-ui/assets/index-LyUbXn5P.js +7 -0
- package/dist/monitor-ui/index.html +2 -2
- package/dist/scripts/prepare-demo.js +25 -44
- package/dist/scripts/prepare-demo.js.map +1 -1
- package/dist/src/artifact-scope.d.ts +6 -0
- package/dist/src/artifact-scope.js +27 -0
- package/dist/src/artifact-scope.js.map +1 -0
- package/dist/src/artifacts/index.d.ts +7 -155
- package/dist/src/artifacts/index.js +0 -354
- package/dist/src/artifacts/index.js.map +1 -1
- package/dist/src/artifacts/instruction.d.ts +6 -9
- package/dist/src/artifacts/instruction.js +28 -36
- package/dist/src/artifacts/instruction.js.map +1 -1
- package/dist/src/artifacts/mcp-server.js +5 -6
- package/dist/src/artifacts/mcp-server.js.map +1 -1
- package/dist/src/artifacts/scope.d.ts +12 -0
- package/dist/src/artifacts/scope.js +34 -0
- package/dist/src/artifacts/scope.js.map +1 -0
- package/dist/src/artifacts/tool-check.d.ts +2 -6
- package/dist/src/artifacts/tool-check.js +14 -18
- package/dist/src/artifacts/tool-check.js.map +1 -1
- package/dist/src/artifacts/types.d.ts +3 -37
- package/dist/src/artifacts/types.js +5 -89
- package/dist/src/artifacts/types.js.map +1 -1
- package/dist/src/broker/config.d.ts +5 -6
- package/dist/src/broker/config.js +183 -130
- package/dist/src/broker/config.js.map +1 -1
- package/dist/src/broker/graph.d.ts +14 -21
- package/dist/src/broker/graph.js +68 -70
- package/dist/src/broker/graph.js.map +1 -1
- package/dist/src/broker/index.d.ts +6 -28
- package/dist/src/broker/index.js +35 -221
- package/dist/src/broker/index.js.map +1 -1
- package/dist/src/cli.d.ts +1 -21
- package/dist/src/cli.js +2 -329
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +12 -15
- package/dist/src/definitions.d.ts +33 -23
- package/dist/src/diagnostics-cli.d.ts +9 -0
- package/dist/src/diagnostics-cli.js +94 -0
- package/dist/src/diagnostics-cli.js.map +1 -0
- package/dist/src/doctor/index.d.ts +2 -4
- package/dist/src/doctor/index.js +17 -63
- package/dist/src/doctor/index.js.map +1 -1
- package/dist/src/executors/auth.d.ts +1 -1
- package/dist/src/executors/auth.js +2 -2
- package/dist/src/executors/auth.js.map +1 -1
- package/dist/src/executors/human-preparation.js +2 -10
- package/dist/src/executors/human-preparation.js.map +1 -1
- package/dist/src/executors/index.js +30 -29
- package/dist/src/executors/index.js.map +1 -1
- package/dist/src/executors/pi.js +2 -3
- package/dist/src/executors/pi.js.map +1 -1
- package/dist/src/executors/process.js +9 -0
- package/dist/src/executors/process.js.map +1 -1
- package/dist/src/monitor/actions.js +3 -3
- package/dist/src/monitor/actions.js.map +1 -1
- package/dist/src/monitor/server.js +12 -95
- package/dist/src/monitor/server.js.map +1 -1
- package/dist/src/monitor/store.js +6 -42
- package/dist/src/monitor/store.js.map +1 -1
- package/dist/src/monitor/types.d.ts +3 -13
- package/dist/src/monitor/ui/critic-presentation.js +1 -1
- package/dist/src/monitor/ui/critic-presentation.js.map +1 -1
- package/dist/src/monitor/ui/graph-layout.d.ts +0 -1
- package/dist/src/monitor/ui/graph-layout.js +1 -23
- package/dist/src/monitor/ui/graph-layout.js.map +1 -1
- package/dist/src/monitor/ui/tool-input.d.ts +1 -1
- package/dist/src/monitor/ui/tool-input.js +2 -3
- package/dist/src/monitor/ui/tool-input.js.map +1 -1
- package/dist/src/project/cli.js +18 -30
- package/dist/src/project/cli.js.map +1 -1
- package/dist/src/project/graph.js +2 -2
- package/dist/src/project/graph.js.map +1 -1
- package/dist/src/project/identity.js +83 -56
- package/dist/src/project/identity.js.map +1 -1
- package/dist/src/project/index.d.ts +0 -3
- package/dist/src/project/index.js +2 -6
- package/dist/src/project/index.js.map +1 -1
- package/dist/src/project/query.d.ts +2 -1
- package/dist/src/project/query.js +49 -74
- package/dist/src/project/query.js.map +1 -1
- package/dist/src/project/store.js +2 -2
- package/dist/src/project/store.js.map +1 -1
- package/dist/src/project/types.d.ts +4 -4
- package/dist/src/requester/index.d.ts +2 -9
- package/dist/src/requester/index.js +17 -96
- package/dist/src/requester/index.js.map +1 -1
- package/dist/src/sdk.d.ts +3 -8
- package/dist/src/sdk.js +2 -3
- package/dist/src/sdk.js.map +1 -1
- package/dist/src/tools/contracts.d.ts +34 -78
- package/dist/src/tools/diagnostics.js +1 -2
- package/dist/src/tools/diagnostics.js.map +1 -1
- package/dist/src/tools/environment.d.ts +1 -0
- package/dist/src/tools/environment.js +7 -11
- package/dist/src/tools/environment.js.map +1 -1
- package/dist/src/tools/manifest.d.ts +0 -1
- package/dist/src/tools/manifest.js +1 -25
- package/dist/src/tools/manifest.js.map +1 -1
- package/dist/src/tools/runner.d.ts +10 -14
- package/dist/src/tools/runner.js +144 -117
- package/dist/src/tools/runner.js.map +1 -1
- package/dist/src/tools/schema.js +1 -1
- package/dist/src/tools/schema.js.map +1 -1
- package/dist/src/workspaces/index.d.ts +5 -12
- package/dist/src/workspaces/index.js +33 -217
- package/dist/src/workspaces/index.js.map +1 -1
- package/package.json +38 -10
- package/dist/monitor-ui/assets/GraphView-BSZlEAs3.js +0 -27
- package/dist/monitor-ui/assets/ValidationView-DaEF78J-.js +0 -1
- package/dist/monitor-ui/assets/ValidationView-p5r8lX18.css +0 -1
- package/dist/monitor-ui/assets/index-BQlWbkpH.js +0 -8
- package/dist/src/artifacts/data.d.ts +0 -5
- package/dist/src/artifacts/data.js +0 -100
- package/dist/src/artifacts/data.js.map +0 -1
- package/dist/src/artifacts/groups.d.ts +0 -13
- package/dist/src/artifacts/groups.js +0 -93
- package/dist/src/artifacts/groups.js.map +0 -1
- package/dist/src/artifacts/human.d.ts +0 -38
- package/dist/src/artifacts/human.js +0 -156
- package/dist/src/artifacts/human.js.map +0 -1
- package/dist/src/artifacts/sources.d.ts +0 -11
- package/dist/src/artifacts/sources.js +0 -106
- package/dist/src/artifacts/sources.js.map +0 -1
- package/dist/src/review/cli.d.ts +0 -8
- package/dist/src/review/cli.js +0 -136
- package/dist/src/review/cli.js.map +0 -1
- package/dist/src/review/client.d.ts +0 -30
- package/dist/src/review/client.js +0 -193
- package/dist/src/review/client.js.map +0 -1
- package/dist/src/review/server.d.ts +0 -11
- package/dist/src/review/server.js +0 -249
- package/dist/src/review/server.js.map +0 -1
- package/dist/src/review/types.d.ts +0 -10
- package/dist/src/review/types.js +0 -17
- package/dist/src/review/types.js.map +0 -1
- package/dist/src/tools/host.d.ts +0 -7
- package/dist/src/tools/host.js +0 -98
- package/dist/src/tools/host.js.map +0 -1
- package/dist/src/tools/runtime-host.d.ts +0 -1
- package/dist/src/tools/runtime-host.js +0 -196
- package/dist/src/tools/runtime-host.js.map +0 -1
- package/dist/src/workspaces/transfer.d.ts +0 -52
- package/dist/src/workspaces/transfer.js +0 -372
- package/dist/src/workspaces/transfer.js.map +0 -1
package/dist/src/tools/host.js
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { fork } from 'node:child_process';
|
|
2
|
-
import { fileURLToPath } from 'node:url';
|
|
3
|
-
import { setTimeout as delay } from 'node:timers/promises';
|
|
4
|
-
export async function openToolHost(root, signal) {
|
|
5
|
-
signal?.throwIfAborted();
|
|
6
|
-
// Repo code does not inherit Provider tokens, preload hooks or configuration from the host environment.
|
|
7
|
-
const env = {};
|
|
8
|
-
for (const name of ['PATH', 'LANG', 'LC_ALL', 'SYSTEMROOT', 'WINDIR', 'DISPLAY', 'WAYLAND_DISPLAY', 'XAUTHORITY', 'DBUS_SESSION_BUS_ADDRESS'])
|
|
9
|
-
if (process.env[name])
|
|
10
|
-
env[name] = process.env[name];
|
|
11
|
-
const child = fork(fileURLToPath(new URL('./runtime-host.js', import.meta.url)), [], { cwd: root, env, execArgv: [], detached: process.platform !== 'win32', stdio: ['ignore', 'ignore', 'ignore', 'ipc'], serialization: 'json' });
|
|
12
|
-
let next = 0, closed = false, closePromise;
|
|
13
|
-
const pending = new Map();
|
|
14
|
-
const fail = (error) => { for (const value of pending.values()) {
|
|
15
|
-
clearTimeout(value.timer);
|
|
16
|
-
value.reject(error);
|
|
17
|
-
} pending.clear(); };
|
|
18
|
-
const kill = (signal) => { try {
|
|
19
|
-
if (process.platform !== 'win32' && child.pid)
|
|
20
|
-
process.kill(-child.pid, signal);
|
|
21
|
-
else
|
|
22
|
-
child.kill(signal);
|
|
23
|
-
}
|
|
24
|
-
catch { } };
|
|
25
|
-
const groupAlive = () => { try {
|
|
26
|
-
if (process.platform === 'win32' || !child.pid)
|
|
27
|
-
return false;
|
|
28
|
-
process.kill(-child.pid, 0);
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
return false;
|
|
33
|
-
} };
|
|
34
|
-
const close = () => {
|
|
35
|
-
if (closePromise)
|
|
36
|
-
return closePromise;
|
|
37
|
-
closed = true;
|
|
38
|
-
closePromise = (async () => {
|
|
39
|
-
signal?.removeEventListener('abort', abort);
|
|
40
|
-
fail(new Error('Artifact tool host closed.'));
|
|
41
|
-
// A crashed host can leave its subprocesses alive; the process group still belongs to this review.
|
|
42
|
-
kill('SIGTERM');
|
|
43
|
-
const exited = () => child.exitCode !== null || child.signalCode !== null || !child.pid;
|
|
44
|
-
const active = () => !exited() || groupAlive();
|
|
45
|
-
const waitForStop = async () => {
|
|
46
|
-
const deadline = performance.now() + 1000;
|
|
47
|
-
while (active() && performance.now() < deadline)
|
|
48
|
-
await delay(20);
|
|
49
|
-
};
|
|
50
|
-
await waitForStop();
|
|
51
|
-
if (active())
|
|
52
|
-
kill('SIGKILL');
|
|
53
|
-
await waitForStop();
|
|
54
|
-
if (active())
|
|
55
|
-
throw Object.assign(new Error('Artifact tool subprocess cleanup did not complete.'), { code: 'ARTIFACT_TOOL_CLEANUP_FAILED' });
|
|
56
|
-
})();
|
|
57
|
-
// Exit/abort can start cleanup while no caller is awaiting it. Keep the original rejecting promise for close().
|
|
58
|
-
void closePromise.catch(() => { });
|
|
59
|
-
return closePromise;
|
|
60
|
-
};
|
|
61
|
-
const abort = () => { void close(); };
|
|
62
|
-
signal?.addEventListener('abort', abort, { once: true });
|
|
63
|
-
child.on('error', error => { fail(error); void close(); });
|
|
64
|
-
child.on('exit', () => { fail(new Error('Artifact tool host exited.')); void close(); });
|
|
65
|
-
child.on('message', (message) => {
|
|
66
|
-
const entry = pending.get(message.id);
|
|
67
|
-
if (!entry)
|
|
68
|
-
return;
|
|
69
|
-
pending.delete(message.id);
|
|
70
|
-
clearTimeout(entry.timer);
|
|
71
|
-
if (message.error)
|
|
72
|
-
entry.reject(Object.assign(new Error(String(message.error.message).slice(0, 2000)), { code: message.error.code }));
|
|
73
|
-
else
|
|
74
|
-
entry.resolve(message.value);
|
|
75
|
-
});
|
|
76
|
-
const call = (message, timeoutMs = 10000) => new Promise((resolve, reject) => {
|
|
77
|
-
if (closed || signal?.aborted) {
|
|
78
|
-
reject(new Error('Artifact tool host is closed or cancelled.'));
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
const id = ++next, timer = setTimeout(() => { pending.delete(id); reject(Object.assign(new Error('Artifact tool timed out.'), { code: 'ARTIFACT_TOOL_TIMEOUT' })); void close(); }, timeoutMs);
|
|
82
|
-
pending.set(id, { resolve, reject, timer });
|
|
83
|
-
child.send({ id, ...message }, error => { if (error) {
|
|
84
|
-
clearTimeout(timer);
|
|
85
|
-
pending.delete(id);
|
|
86
|
-
reject(error);
|
|
87
|
-
} });
|
|
88
|
-
});
|
|
89
|
-
try {
|
|
90
|
-
const { config } = await call({ action: 'load', root });
|
|
91
|
-
return { config, call, close };
|
|
92
|
-
}
|
|
93
|
-
catch (error) {
|
|
94
|
-
await close();
|
|
95
|
-
throw error;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=host.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../../src/tools/host.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
import { registerHooks } from 'node:module';
|
|
2
|
-
import { createHash } from 'node:crypto';
|
|
3
|
-
import { readFileSync, realpathSync, existsSync } from 'node:fs';
|
|
4
|
-
import { mkdir, lstat } from 'node:fs/promises';
|
|
5
|
-
import { join, relative, resolve } from 'node:path';
|
|
6
|
-
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
7
|
-
import { metadata, jsonCopy, object, validateArguments, environmentRequirements } from './schema.js';
|
|
8
|
-
import { hashExecutionInputs, resolveExecutionInput } from './inputs.js';
|
|
9
|
-
import { scopedPath, within } from './paths.js';
|
|
10
|
-
import { sourceMetadata, captureArtifactData, assertPreparedArtifactData } from '../artifacts/sources.js';
|
|
11
|
-
import { isGeneratedArtifact } from '../artifacts/groups.js';
|
|
12
|
-
const identifier = /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/;
|
|
13
|
-
const registry = new Map();
|
|
14
|
-
const sources = new Map();
|
|
15
|
-
let root = '', loaded;
|
|
16
|
-
const hash = (value) => createHash('sha256').update(value).digest('hex');
|
|
17
|
-
async function load(workspace) {
|
|
18
|
-
if (loaded)
|
|
19
|
-
return loaded;
|
|
20
|
-
root = realpathSync(workspace);
|
|
21
|
-
const modules = new Map();
|
|
22
|
-
const hooks = registerHooks({
|
|
23
|
-
resolve(specifier, context, next) {
|
|
24
|
-
let result;
|
|
25
|
-
try {
|
|
26
|
-
result = next(specifier, context);
|
|
27
|
-
}
|
|
28
|
-
catch (error) {
|
|
29
|
-
if (specifier.startsWith('.') && specifier.endsWith('.js') && context.parentURL?.startsWith('file:'))
|
|
30
|
-
result = next(specifier.slice(0, -3) + '.ts', context);
|
|
31
|
-
else
|
|
32
|
-
throw error;
|
|
33
|
-
}
|
|
34
|
-
if (result.url.startsWith('file:')) {
|
|
35
|
-
const absolute = realpathSync(fileURLToPath(result.url));
|
|
36
|
-
if (!within(root, absolute))
|
|
37
|
-
throw new Error('Configuration imports must resolve inside the snapshot. Install dependencies in the reviewed project.');
|
|
38
|
-
modules.set(relative(root, absolute).split('\\').join('/'), hash(readFileSync(absolute)));
|
|
39
|
-
}
|
|
40
|
-
else if (!result.url.startsWith('node:'))
|
|
41
|
-
throw new Error('Only snapshot files and Node builtins may be imported.');
|
|
42
|
-
return result;
|
|
43
|
-
},
|
|
44
|
-
});
|
|
45
|
-
const path = join(root, 'ccdd.config.ts');
|
|
46
|
-
if (!existsSync(path))
|
|
47
|
-
throw new Error('Missing ccdd.config.ts');
|
|
48
|
-
const imported = await import(pathToFileURL(path).href);
|
|
49
|
-
const config = typeof imported.default === 'function' ? await imported.default() : imported.default;
|
|
50
|
-
if (!object(config) || !object(config.artifactTypes))
|
|
51
|
-
throw new Error('TS config must export a configuration or factory.');
|
|
52
|
-
const types = {};
|
|
53
|
-
for (const [type, definition] of Object.entries(config.artifactTypes)) {
|
|
54
|
-
if (!identifier.test(type) || !object(definition) || Object.keys(definition).some(key => !['agentTools', 'humanTools'].includes(key)))
|
|
55
|
-
throw new Error('TS Artifact types declare only agentTools and humanTools.');
|
|
56
|
-
types[type] = { agentTools: {}, humanTools: {} };
|
|
57
|
-
for (const audience of ['agentTools', 'humanTools']) {
|
|
58
|
-
const tools = definition[audience] ?? {};
|
|
59
|
-
if (!object(tools) || Object.keys(tools).length > 32)
|
|
60
|
-
throw new Error('Invalid Artifact tool map.');
|
|
61
|
-
for (const [key, tool] of Object.entries(tools)) {
|
|
62
|
-
if (!identifier.test(key) || !object(tool) || typeof tool.execute !== 'function' || (tool.preflight !== undefined && typeof tool.preflight !== 'function') || Object.keys(tool).some(key => !['metadata', 'execute', 'preflight'].includes(key)))
|
|
63
|
-
throw new Error(`Invalid tool definition: ${type}.${key}`);
|
|
64
|
-
types[type][audience][key] = metadata(tool.metadata);
|
|
65
|
-
registry.set(`${type}/${audience}/${key}`, tool);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
const values = jsonCopy({ artifacts: config.artifacts, critics: config.critics });
|
|
70
|
-
const sourceManifests = {};
|
|
71
|
-
if (config.artifactSources !== undefined) {
|
|
72
|
-
if (!object(config.artifactSources))
|
|
73
|
-
throw new Error('artifactSources must be a map of registered source definitions.');
|
|
74
|
-
for (const [id, source] of Object.entries(config.artifactSources)) {
|
|
75
|
-
if (!identifier.test(id) || !object(source) || typeof source.prepare !== 'function' || Object.keys(source).some(key => !['metadata', 'prepare', 'fingerprint'].includes(key)) || source.fingerprint !== undefined && typeof source.fingerprint !== 'function')
|
|
76
|
-
throw new Error('Invalid Artifact source definition.');
|
|
77
|
-
sourceManifests[id] = sourceMetadata(source.metadata);
|
|
78
|
-
if ((sourceManifests[id].identity.kind === 'custom') !== (typeof source.fingerprint === 'function'))
|
|
79
|
-
throw new Error('Only custom identity strategies require fingerprint(data).');
|
|
80
|
-
sources.set(id, source);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
const envRequirements = config.envRequirements === undefined ? undefined : environmentRequirements(config.envRequirements);
|
|
84
|
-
const environmentInputs = envRequirements === undefined ? undefined : await hashExecutionInputs(root, Object.values(envRequirements).flatMap(value => [value.script, ...value.inputs ?? []]));
|
|
85
|
-
if (envRequirements)
|
|
86
|
-
for (const value of Object.values(envRequirements))
|
|
87
|
-
if (!(await lstat(await scopedPath(root, value.script))).isFile())
|
|
88
|
-
throw new Error('Environment scripts must be regular files.');
|
|
89
|
-
const executionPaths = Object.values(types).flatMap(type => [...Object.values(type.agentTools), ...Object.values(type.humanTools)].flatMap(tool => tool.executionPaths ?? []));
|
|
90
|
-
const executionInputs = executionPaths.length ? await hashExecutionInputs(root, executionPaths) : undefined;
|
|
91
|
-
const extensions = { ...(envRequirements === undefined ? {} : { envRequirements, environmentInputs }), ...(executionInputs === undefined ? {} : { executionInputs }), ...(config.artifactSources === undefined ? {} : { sources: sourceManifests }) };
|
|
92
|
-
const moduleList = [...modules].sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0).map(([path, hash]) => ({ path, hash }));
|
|
93
|
-
const manifest = { version: 1, configHash: hash(JSON.stringify({ values, types, modules: moduleList, ...extensions })), modules: moduleList, types, ...extensions };
|
|
94
|
-
loaded = { config: { ...values, artifactTypes: Object.fromEntries(Object.keys(types).map(type => [type, { custom: true }])), configManifest: manifest } };
|
|
95
|
-
// Keep hooks installed throughout execution so deferred imports cannot escape the snapshot.
|
|
96
|
-
void hooks;
|
|
97
|
-
return loaded;
|
|
98
|
-
}
|
|
99
|
-
process.on('message', async (message) => {
|
|
100
|
-
const { id, action } = message;
|
|
101
|
-
let encodingResult = false;
|
|
102
|
-
try {
|
|
103
|
-
if (action === 'load') {
|
|
104
|
-
process.send?.({ id, value: await load(message.root) });
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
if (!loaded)
|
|
108
|
-
throw new Error('Configuration is not loaded.');
|
|
109
|
-
if (action === 'prepare-artifact') {
|
|
110
|
-
const artifact = loaded.config.artifacts[message.artifactId];
|
|
111
|
-
if (!isGeneratedArtifact(artifact) || !['inspect', 'review'].includes(message.purpose))
|
|
112
|
-
throw new Error('Invalid Artifact preparation request.');
|
|
113
|
-
const source = sources.get(artifact.source);
|
|
114
|
-
if (!source)
|
|
115
|
-
throw new Error('Unknown Artifact source.');
|
|
116
|
-
const controller = new AbortController();
|
|
117
|
-
const abort = () => controller.abort(new Error('Artifact preparation interrupted.'));
|
|
118
|
-
process.once('SIGTERM', abort);
|
|
119
|
-
try {
|
|
120
|
-
const value = await captureArtifactData(source, { artifactId: message.artifactId, params: structuredClone(artifact.params ?? null), signal: controller.signal, resolvePath: path => scopedPath(root, path) }, message.purpose);
|
|
121
|
-
process.send?.({ id, value });
|
|
122
|
-
}
|
|
123
|
-
finally {
|
|
124
|
-
process.off('SIGTERM', abort);
|
|
125
|
-
}
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
const { artifact, type, audience, toolKey, args, outputDir, tmpDir } = message;
|
|
129
|
-
// Human environment requirements inspect these same reviewer-local values. Set them
|
|
130
|
-
// only after snapshot configuration has loaded in its existing restricted environment.
|
|
131
|
-
if (audience === 'human' && object(message.reviewerEnvironment))
|
|
132
|
-
for (const name of ['HOME', 'USERPROFILE', 'CARGO_HOME', 'RUSTUP_HOME', 'DISPLAY', 'WAYLAND_DISPLAY', 'XAUTHORITY', 'XDG_RUNTIME_DIR', 'DBUS_SESSION_BUS_ADDRESS']) {
|
|
133
|
-
const value = message.reviewerEnvironment[name];
|
|
134
|
-
if (typeof value === 'string')
|
|
135
|
-
process.env[name] = value;
|
|
136
|
-
else
|
|
137
|
-
delete process.env[name];
|
|
138
|
-
}
|
|
139
|
-
const definition = registry.get(`${type}/${audience === 'agent' ? 'agentTools' : 'humanTools'}/${toolKey}`);
|
|
140
|
-
if (!definition)
|
|
141
|
-
throw new Error('Unknown tool.');
|
|
142
|
-
const declaredMetadata = loaded.config.configManifest.types[type][audience === 'agent' ? 'agentTools' : 'humanTools'][toolKey];
|
|
143
|
-
const controller = new AbortController();
|
|
144
|
-
const abort = () => controller.abort(new Error('Tool host interrupted.'));
|
|
145
|
-
process.once('SIGTERM', abort);
|
|
146
|
-
await mkdir(outputDir, { recursive: true });
|
|
147
|
-
await mkdir(tmpDir, { recursive: true });
|
|
148
|
-
const executionPath = async (path) => {
|
|
149
|
-
controller.signal.throwIfAborted();
|
|
150
|
-
return resolveExecutionInput(root, declaredMetadata.executionPaths ?? [], path);
|
|
151
|
-
};
|
|
152
|
-
let context;
|
|
153
|
-
if (artifact.kind === 'generated') {
|
|
154
|
-
if (declaredMetadata.artifactKind !== 'data')
|
|
155
|
-
throw new Error('Generated Artifacts require data tools.');
|
|
156
|
-
const source = sources.get(artifact.source);
|
|
157
|
-
if (!source)
|
|
158
|
-
throw new Error('Missing recorded Artifact source.');
|
|
159
|
-
assertPreparedArtifactData(artifact.input, source.metadata);
|
|
160
|
-
const data = structuredClone(artifact.input.data);
|
|
161
|
-
context = { artifactId: artifact.id, outputDir, tmpDir, signal: controller.signal, readData: () => { controller.signal.throwIfAborted(); return structuredClone(data); }, resolveExecutionPath: executionPath };
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
if (declaredMetadata.artifactKind === 'data')
|
|
165
|
-
throw new Error('Data tools require generated Artifacts.');
|
|
166
|
-
const artifactPath = await scopedPath(root, artifact.path);
|
|
167
|
-
const info = await lstat(artifactPath);
|
|
168
|
-
if (!info.isFile() && !info.isDirectory())
|
|
169
|
-
throw new Error('Artifact requires a regular file or directory.');
|
|
170
|
-
if (definition.metadata.artifactKind === 'file' && !info.isFile() || definition.metadata.artifactKind === 'directory' && !info.isDirectory())
|
|
171
|
-
throw new Error('Tool does not support this Artifact shape.');
|
|
172
|
-
context = { artifactId: artifact.id, artifactPath, artifactDirectory: info.isDirectory(), outputDir, tmpDir, signal: controller.signal, resolvePath: async (path = '') => {
|
|
173
|
-
controller.signal.throwIfAborted();
|
|
174
|
-
if (!info.isDirectory() && path)
|
|
175
|
-
throw new Error('File Artifact does not accept an internal path.');
|
|
176
|
-
return path ? scopedPath(artifactPath, path) : artifactPath;
|
|
177
|
-
}, resolveExecutionPath: executionPath };
|
|
178
|
-
}
|
|
179
|
-
try {
|
|
180
|
-
const value = action === 'preflight' ? (definition.preflight ? await definition.preflight(context) : { ok: true, message: 'Registered; no custom preflight, actual execution unverified.' }) : await definition.execute(context, validateArguments(definition.metadata.inputSchema, args));
|
|
181
|
-
encodingResult = action === 'execute';
|
|
182
|
-
process.send?.({ id, value: jsonCopy(value) });
|
|
183
|
-
}
|
|
184
|
-
finally {
|
|
185
|
-
process.off('SIGTERM', abort);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
catch (error) {
|
|
189
|
-
// Transport only recognized operational codes; diagnosis substitutes fixed safe text.
|
|
190
|
-
const underlyingCode = error && typeof error === 'object' && 'code' in error ? error.code : undefined;
|
|
191
|
-
const code = encodingResult ? 'ARTIFACT_TOOL_RESULT_INVALID' : typeof underlyingCode === 'string' && ['ENOENT', 'EACCES', 'EPERM', 'ENOTDIR', 'EISDIR', 'ENOSPC', 'EIO', 'ETIMEDOUT'].includes(underlyingCode) ? underlyingCode : 'ARTIFACT_TOOL_FAILED';
|
|
192
|
-
process.send?.({ id, error: { message: error instanceof Error ? error.message : 'Tool host failed.', code } });
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
process.on('disconnect', () => process.exit(0));
|
|
196
|
-
//# sourceMappingURL=runtime-host.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-host.js","sourceRoot":"","sources":["../../../src/tools/runtime-host.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Readable } from 'node:stream';
|
|
2
|
-
import { type WorkspaceDescriptor } from './index.js';
|
|
3
|
-
export type WorkspaceTransferEntry = {
|
|
4
|
-
path: string;
|
|
5
|
-
type: 'directory';
|
|
6
|
-
executable: number;
|
|
7
|
-
} | {
|
|
8
|
-
path: string;
|
|
9
|
-
type: 'file';
|
|
10
|
-
executable: number;
|
|
11
|
-
content: string;
|
|
12
|
-
size: number;
|
|
13
|
-
} | {
|
|
14
|
-
path: string;
|
|
15
|
-
type: 'symlink';
|
|
16
|
-
target: string;
|
|
17
|
-
};
|
|
18
|
-
export interface WorkspaceManifest {
|
|
19
|
-
version: 1;
|
|
20
|
-
hash: string;
|
|
21
|
-
entries: WorkspaceTransferEntry[];
|
|
22
|
-
}
|
|
23
|
-
export interface WorkspaceTransferProgress {
|
|
24
|
-
downloadedFiles: number;
|
|
25
|
-
downloadedBytes: number;
|
|
26
|
-
reusedFiles: number;
|
|
27
|
-
totalFiles: number;
|
|
28
|
-
}
|
|
29
|
-
/** Validate untrusted transfer metadata before creating directories or requesting any bytes. */
|
|
30
|
-
export declare function validateWorkspaceManifest(value: unknown): WorkspaceManifest;
|
|
31
|
-
export declare function createWorkspaceManifest(descriptor: WorkspaceDescriptor, { signal }?: {
|
|
32
|
-
signal?: AbortSignal;
|
|
33
|
-
}): Promise<WorkspaceManifest>;
|
|
34
|
-
/** Open only a blob named by this immutable workspace's validated manifest. */
|
|
35
|
-
export declare function openWorkspaceBlob(descriptor: WorkspaceDescriptor, value: WorkspaceManifest, hash: string, { signal }?: {
|
|
36
|
-
signal?: AbortSignal;
|
|
37
|
-
}): Promise<{
|
|
38
|
-
stream: Readable;
|
|
39
|
-
size: number;
|
|
40
|
-
}>;
|
|
41
|
-
export declare function materializeWorkspace({ manifest: value, stateDir, fetchBlob, signal, onProgress }: {
|
|
42
|
-
manifest: WorkspaceManifest;
|
|
43
|
-
stateDir: string;
|
|
44
|
-
fetchBlob: (hash: string, signal?: AbortSignal) => Promise<ReadableStream<Uint8Array> | AsyncIterable<Uint8Array>>;
|
|
45
|
-
signal?: AbortSignal;
|
|
46
|
-
onProgress?: (progress: Readonly<WorkspaceTransferProgress>) => void;
|
|
47
|
-
}): Promise<{
|
|
48
|
-
descriptor: WorkspaceDescriptor;
|
|
49
|
-
downloadedFiles: number;
|
|
50
|
-
downloadedBytes: number;
|
|
51
|
-
reusedFiles: number;
|
|
52
|
-
}>;
|