@lesliechan721/agent-skill-eval 0.1.0-beta.1
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/bin.d.ts +2 -0
- package/dist/bin.js +80 -0
- package/dist/bin.js.map +1 -0
- package/dist/bundle.d.ts +93 -0
- package/dist/bundle.js +216 -0
- package/dist/bundle.js.map +1 -0
- package/dist/capabilities.d.ts +2 -0
- package/dist/capabilities.js +38 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/common.d.ts +8 -0
- package/dist/common.js +22 -0
- package/dist/common.js.map +1 -0
- package/dist/corpus-digest.d.ts +3 -0
- package/dist/corpus-digest.js +19 -0
- package/dist/corpus-digest.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/json-schema.d.ts +3 -0
- package/dist/json-schema.js +70 -0
- package/dist/json-schema.js.map +1 -0
- package/dist/output-path.d.ts +1 -0
- package/dist/output-path.js +34 -0
- package/dist/output-path.js.map +1 -0
- package/dist/plan.d.ts +79 -0
- package/dist/plan.js +285 -0
- package/dist/plan.js.map +1 -0
- package/dist/process-tree.d.ts +25 -0
- package/dist/process-tree.js +385 -0
- package/dist/process-tree.js.map +1 -0
- package/dist/process.d.ts +14 -0
- package/dist/process.js +301 -0
- package/dist/process.js.map +1 -0
- package/dist/run.d.ts +2 -0
- package/dist/run.js +592 -0
- package/dist/run.js.map +1 -0
- package/dist/runtime-skill.d.ts +18 -0
- package/dist/runtime-skill.js +135 -0
- package/dist/runtime-skill.js.map +1 -0
- package/dist/schemas/aw-skill-eval-execution-plan.schema.json +220 -0
- package/dist/schemas/digests.json +5 -0
- package/dist/schemas/eval-run-bundle.schema.json +408 -0
- package/dist/schemas/eval-runtime-capabilities.schema.json +85 -0
- package/dist/schemas.d.ts +5 -0
- package/dist/schemas.js +27 -0
- package/dist/schemas.js.map +1 -0
- package/dist/types.d.ts +86 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +34 -0
package/dist/process.js
ADDED
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
import process from 'node:process';
|
|
4
|
+
import { observeProcessTree, terminateProcessTree, } from './process-tree.js';
|
|
5
|
+
const PROVIDER_PROCESS_MARKER_ENV = 'AW_AGENT_SKILL_EVAL_PROCESS_MARKER';
|
|
6
|
+
const REDACTED_PROCESS_MARKER = '[redacted provider process marker]';
|
|
7
|
+
const WINDOWS_HOOK_CONFIRMATION_TIMEOUT_MS = 150;
|
|
8
|
+
const WINDOWS_CLEANUP_DEADLINE_MS = 750;
|
|
9
|
+
const OBSERVED_HOOK_CONFIRMATION_TIMEOUT_MS = 4_000;
|
|
10
|
+
const DIRECT_CHILD_CLOSE_TIMEOUT_MS = 750;
|
|
11
|
+
const OBSERVED_CONTAINMENT_LIMITATION = 'Observed process management is non-portable and does not guarantee descendant cleanup.';
|
|
12
|
+
const VERIFIED_OBSERVED_CONTAINMENT_LIMITATION = 'Verified process observation is not OS-enforced containment and does not guarantee descendant cleanup.';
|
|
13
|
+
const CORE_PROCESS_RECEIPT = Symbol('core-process-receipt');
|
|
14
|
+
export class ProviderProcessCleanupError extends Error {
|
|
15
|
+
result;
|
|
16
|
+
constructor(message, cause, result) {
|
|
17
|
+
super(message, { cause });
|
|
18
|
+
this.result = result;
|
|
19
|
+
this.name = 'ProviderProcessCleanupError';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function issueCoreProcessReceipt(result) {
|
|
23
|
+
Object.defineProperty(result, CORE_PROCESS_RECEIPT, { value: true });
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
export function hasCoreProcessReceipt(result) {
|
|
27
|
+
return result[CORE_PROCESS_RECEIPT] === true;
|
|
28
|
+
}
|
|
29
|
+
export function hasCoreManagedProcessReceipt(result) {
|
|
30
|
+
return result.descendantCleanupGuaranteed && hasCoreProcessReceipt(result);
|
|
31
|
+
}
|
|
32
|
+
function scrubProcessMarker(value, marker, truncated = false) {
|
|
33
|
+
if (marker === '')
|
|
34
|
+
return value;
|
|
35
|
+
const scrubbed = value.replaceAll(marker, REDACTED_PROCESS_MARKER);
|
|
36
|
+
if (truncated &&
|
|
37
|
+
scrubbed.length > 0 &&
|
|
38
|
+
scrubbed.length < marker.length &&
|
|
39
|
+
marker.startsWith(scrubbed)) {
|
|
40
|
+
return REDACTED_PROCESS_MARKER;
|
|
41
|
+
}
|
|
42
|
+
if (!truncated)
|
|
43
|
+
return scrubbed;
|
|
44
|
+
for (let length = marker.length - 1; length >= 8; length -= 1) {
|
|
45
|
+
if (scrubbed.endsWith(marker.slice(0, length))) {
|
|
46
|
+
return `${scrubbed.slice(0, -length)}${REDACTED_PROCESS_MARKER}`;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return scrubbed;
|
|
50
|
+
}
|
|
51
|
+
function errorMessage(error, marker) {
|
|
52
|
+
return scrubProcessMarker(error instanceof Error ? error.message : String(error), marker);
|
|
53
|
+
}
|
|
54
|
+
function safeErrorCause(error, marker) {
|
|
55
|
+
return new Error(errorMessage(error, marker));
|
|
56
|
+
}
|
|
57
|
+
async function withDeadline(promise, milliseconds) {
|
|
58
|
+
let timer;
|
|
59
|
+
try {
|
|
60
|
+
return await Promise.race([
|
|
61
|
+
promise,
|
|
62
|
+
new Promise((_resolve, reject) => {
|
|
63
|
+
timer = setTimeout(() => reject(new Error('terminateProcessTree hook timed out')), milliseconds);
|
|
64
|
+
}),
|
|
65
|
+
]);
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
if (timer)
|
|
69
|
+
clearTimeout(timer);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export async function runProviderProcess(request, hooks = {}, dependencies = {}) {
|
|
73
|
+
const platform = dependencies.processTree?.platform ?? process.platform;
|
|
74
|
+
const containment = dependencies.containment ?? 'managed';
|
|
75
|
+
const descendantCleanupGuaranteed = containment === 'managed';
|
|
76
|
+
const gradingEvidenceAccepted = descendantCleanupGuaranteed || containment === 'verified-observed';
|
|
77
|
+
if (descendantCleanupGuaranteed)
|
|
78
|
+
assertProviderProcessSupported(platform, hooks);
|
|
79
|
+
if (containment === 'observed' && !hooks.terminateProcessTree) {
|
|
80
|
+
throw new Error('Observed provider execution requires a process cleanup hook.');
|
|
81
|
+
}
|
|
82
|
+
const containmentLimitation = containment === 'observed'
|
|
83
|
+
? OBSERVED_CONTAINMENT_LIMITATION
|
|
84
|
+
: containment === 'verified-observed'
|
|
85
|
+
? VERIFIED_OBSERVED_CONTAINMENT_LIMITATION
|
|
86
|
+
: undefined;
|
|
87
|
+
if (request.signal?.aborted) {
|
|
88
|
+
return issueCoreProcessReceipt({
|
|
89
|
+
stdout: '',
|
|
90
|
+
stderr: '',
|
|
91
|
+
exitCode: null,
|
|
92
|
+
signal: null,
|
|
93
|
+
timedOut: false,
|
|
94
|
+
cancelled: true,
|
|
95
|
+
terminationReason: 'abort',
|
|
96
|
+
maxBufferExceeded: false,
|
|
97
|
+
stdoutTruncated: false,
|
|
98
|
+
stderrTruncated: false,
|
|
99
|
+
descendantCleanupGuaranteed,
|
|
100
|
+
gradingEvidenceAccepted,
|
|
101
|
+
containmentMode: containment,
|
|
102
|
+
...(containmentLimitation ? { containmentLimitation } : {}),
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
const marker = containment === 'unmanaged-confirmed' ? '' : randomUUID();
|
|
106
|
+
const childEnvironment = { ...request.env };
|
|
107
|
+
if (marker)
|
|
108
|
+
childEnvironment[PROVIDER_PROCESS_MARKER_ENV] = marker;
|
|
109
|
+
else
|
|
110
|
+
delete childEnvironment[PROVIDER_PROCESS_MARKER_ENV];
|
|
111
|
+
return await new Promise((resolve, reject) => {
|
|
112
|
+
const child = spawn(request.executable, request.args, {
|
|
113
|
+
cwd: request.cwd,
|
|
114
|
+
env: childEnvironment,
|
|
115
|
+
detached: platform !== 'win32',
|
|
116
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
117
|
+
});
|
|
118
|
+
const handle = child.pid === undefined ? null : { pid: child.pid };
|
|
119
|
+
const verifiedObservation = containment === 'verified-observed' && handle
|
|
120
|
+
? observeProcessTree(handle.pid, marker, dependencies.processTree)
|
|
121
|
+
: undefined;
|
|
122
|
+
let stdout = Buffer.alloc(0);
|
|
123
|
+
let stderr = Buffer.alloc(0);
|
|
124
|
+
let terminationReason = null;
|
|
125
|
+
let settled = false;
|
|
126
|
+
let cleanupStarted = null;
|
|
127
|
+
let cleanupFailure = null;
|
|
128
|
+
let timer = null;
|
|
129
|
+
let cleanupCloseTimer = null;
|
|
130
|
+
let stdoutTruncated = false;
|
|
131
|
+
let stderrTruncated = false;
|
|
132
|
+
const killDirectChild = () => {
|
|
133
|
+
if (child.exitCode !== null || child.signalCode !== null)
|
|
134
|
+
return;
|
|
135
|
+
try {
|
|
136
|
+
child.kill('SIGKILL');
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
// The direct child can exit between the status check and signal.
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
const performCleanup = async (reason) => {
|
|
143
|
+
if (!handle)
|
|
144
|
+
return;
|
|
145
|
+
if (containment === 'unmanaged-confirmed') {
|
|
146
|
+
if (reason !== 'complete')
|
|
147
|
+
killDirectChild();
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
try {
|
|
151
|
+
const timeoutMs = containment === 'observed' || containment === 'verified-observed'
|
|
152
|
+
? OBSERVED_HOOK_CONFIRMATION_TIMEOUT_MS
|
|
153
|
+
: platform === 'win32'
|
|
154
|
+
? WINDOWS_HOOK_CONFIRMATION_TIMEOUT_MS
|
|
155
|
+
: WINDOWS_CLEANUP_DEADLINE_MS;
|
|
156
|
+
const confirmation = await withDeadline(containment === 'verified-observed'
|
|
157
|
+
? terminateProcessTree(handle.pid, (signal) => {
|
|
158
|
+
try {
|
|
159
|
+
child.kill(signal);
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
// The direct child can already be closed.
|
|
163
|
+
}
|
|
164
|
+
}, dependencies.processTree, { observation: verifiedObservation, requireConfirmedCleanup: true }).then(() => ({ confirmed: true }))
|
|
165
|
+
: hooks.terminateProcessTree(handle, reason), timeoutMs);
|
|
166
|
+
if (confirmation?.confirmed !== true) {
|
|
167
|
+
throw new Error('the external containment hook did not return confirmed cleanup evidence');
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
killDirectChild();
|
|
172
|
+
throw new ProviderProcessCleanupError(`Provider process tree cleanup could not be proven for pid ${handle.pid}: ${errorMessage(error, marker)}`, safeErrorCause(error, marker));
|
|
173
|
+
}
|
|
174
|
+
if (reason !== 'complete')
|
|
175
|
+
killDirectChild();
|
|
176
|
+
};
|
|
177
|
+
const startCleanup = (reason) => {
|
|
178
|
+
terminationReason ??= reason;
|
|
179
|
+
if (!cleanupStarted) {
|
|
180
|
+
cleanupStarted = performCleanup(reason).then(undefined, (error) => {
|
|
181
|
+
cleanupFailure = error;
|
|
182
|
+
});
|
|
183
|
+
if (!settled) {
|
|
184
|
+
const hookTimeoutMs = containment === 'observed' || containment === 'verified-observed'
|
|
185
|
+
? OBSERVED_HOOK_CONFIRMATION_TIMEOUT_MS
|
|
186
|
+
: platform === 'win32'
|
|
187
|
+
? WINDOWS_HOOK_CONFIRMATION_TIMEOUT_MS
|
|
188
|
+
: WINDOWS_CLEANUP_DEADLINE_MS;
|
|
189
|
+
cleanupCloseTimer = setTimeout(() => {
|
|
190
|
+
if (settled)
|
|
191
|
+
return;
|
|
192
|
+
killDirectChild();
|
|
193
|
+
settled = true;
|
|
194
|
+
clearObservation();
|
|
195
|
+
reject(cleanupFailure ?? new ProviderProcessCleanupError(`Provider direct child termination could not be confirmed for pid ${handle?.pid ?? 'unknown'}.`, new Error('direct child close event timed out')));
|
|
196
|
+
}, hookTimeoutMs + DIRECT_CHILD_CLOSE_TIMEOUT_MS);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return cleanupStarted;
|
|
200
|
+
};
|
|
201
|
+
const append = (target, chunk) => {
|
|
202
|
+
const current = target === 'stdout' ? stdout : stderr;
|
|
203
|
+
const next = Buffer.concat([current, chunk]);
|
|
204
|
+
if (next.length > request.maxBufferBytes) {
|
|
205
|
+
if (target === 'stdout') {
|
|
206
|
+
stdout = next.subarray(0, request.maxBufferBytes);
|
|
207
|
+
stdoutTruncated = true;
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
stderr = next.subarray(0, request.maxBufferBytes);
|
|
211
|
+
stderrTruncated = true;
|
|
212
|
+
}
|
|
213
|
+
void startCleanup('max-buffer');
|
|
214
|
+
}
|
|
215
|
+
else if (target === 'stdout')
|
|
216
|
+
stdout = next;
|
|
217
|
+
else
|
|
218
|
+
stderr = next;
|
|
219
|
+
};
|
|
220
|
+
const abort = () => { void startCleanup('abort'); };
|
|
221
|
+
const clearObservation = () => {
|
|
222
|
+
if (timer)
|
|
223
|
+
clearTimeout(timer);
|
|
224
|
+
if (cleanupCloseTimer)
|
|
225
|
+
clearTimeout(cleanupCloseTimer);
|
|
226
|
+
request.signal?.removeEventListener('abort', abort);
|
|
227
|
+
};
|
|
228
|
+
const output = (buffer, truncated) => scrubProcessMarker(buffer.toString('utf8'), marker, truncated);
|
|
229
|
+
child.stdout.on('data', (chunk) => append('stdout', chunk));
|
|
230
|
+
child.stderr.on('data', (chunk) => append('stderr', chunk));
|
|
231
|
+
let spawnHookError = null;
|
|
232
|
+
let spawnError = null;
|
|
233
|
+
let spawnReady = Promise.resolve();
|
|
234
|
+
child.once('error', (error) => {
|
|
235
|
+
spawnError = error;
|
|
236
|
+
stderr = Buffer.concat([stderr, Buffer.from(errorMessage(error, marker))]);
|
|
237
|
+
if (handle)
|
|
238
|
+
void startCleanup('abort');
|
|
239
|
+
});
|
|
240
|
+
child.once('exit', () => {
|
|
241
|
+
// Close remains authoritative because it follows stdio capture.
|
|
242
|
+
});
|
|
243
|
+
child.once('close', (exitCode, signal) => {
|
|
244
|
+
if (settled)
|
|
245
|
+
return;
|
|
246
|
+
settled = true;
|
|
247
|
+
clearObservation();
|
|
248
|
+
void (async () => {
|
|
249
|
+
await spawnReady;
|
|
250
|
+
await (cleanupStarted ?? startCleanup('complete'));
|
|
251
|
+
const result = issueCoreProcessReceipt({
|
|
252
|
+
stdout: output(stdout, stdoutTruncated),
|
|
253
|
+
stderr: output(stderr, stderrTruncated),
|
|
254
|
+
exitCode: spawnError ? null : exitCode,
|
|
255
|
+
signal: spawnError ? null : signal,
|
|
256
|
+
timedOut: terminationReason === 'timeout',
|
|
257
|
+
cancelled: terminationReason === 'abort',
|
|
258
|
+
terminationReason: spawnError && !handle ? null : terminationReason,
|
|
259
|
+
maxBufferExceeded: terminationReason === 'max-buffer',
|
|
260
|
+
stdoutTruncated,
|
|
261
|
+
stderrTruncated,
|
|
262
|
+
descendantCleanupGuaranteed,
|
|
263
|
+
gradingEvidenceAccepted,
|
|
264
|
+
containmentMode: containment,
|
|
265
|
+
...(containmentLimitation ? { containmentLimitation } : {}),
|
|
266
|
+
});
|
|
267
|
+
if (cleanupFailure) {
|
|
268
|
+
throw new ProviderProcessCleanupError(errorMessage(cleanupFailure, marker), safeErrorCause(cleanupFailure, marker), issueCoreProcessReceipt({
|
|
269
|
+
...result,
|
|
270
|
+
stderr: `${result.stderr}${result.stderr && !result.stderr.endsWith('\n') ? '\n' : ''}${errorMessage(cleanupFailure, marker)}\n`,
|
|
271
|
+
descendantCleanupGuaranteed: false,
|
|
272
|
+
gradingEvidenceAccepted: false,
|
|
273
|
+
}));
|
|
274
|
+
}
|
|
275
|
+
if (spawnHookError) {
|
|
276
|
+
throw safeErrorCause(spawnHookError, marker);
|
|
277
|
+
}
|
|
278
|
+
resolve(result);
|
|
279
|
+
})().catch(reject);
|
|
280
|
+
});
|
|
281
|
+
if (!handle)
|
|
282
|
+
return;
|
|
283
|
+
request.signal?.addEventListener('abort', abort, { once: true });
|
|
284
|
+
timer = setTimeout(() => { void startCleanup('timeout'); }, request.timeoutMs);
|
|
285
|
+
if (request.signal?.aborted)
|
|
286
|
+
abort();
|
|
287
|
+
spawnReady = Promise.resolve().then(() => hooks.onSpawn?.(handle)).catch(async (error) => {
|
|
288
|
+
spawnHookError = error;
|
|
289
|
+
await startCleanup('abort');
|
|
290
|
+
});
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
export function assertProviderProcessSupported(platform, hooks = {}) {
|
|
294
|
+
if (hooks.externalContainment?.confirmed !== true ||
|
|
295
|
+
hooks.externalContainment.descendantCleanupGuaranteed !== true ||
|
|
296
|
+
hooks.externalContainment.readOnlySkillSnapshotGuaranteed !== true ||
|
|
297
|
+
!hooks.terminateProcessTree) {
|
|
298
|
+
throw new Error(`Managed provider execution on ${platform} requires an explicitly confirmed external containment hook that guarantees read-only Skill snapshots and descendant cleanup.`);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
//# sourceMappingURL=process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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"}
|
package/dist/run.d.ts
ADDED