pi-fabric 0.25.10 → 0.25.11
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/async-settlement.d.ts +4 -0
- package/dist/async-settlement.d.ts.map +1 -0
- package/dist/async-settlement.js +57 -0
- package/dist/async-settlement.js.map +1 -0
- package/dist/core/action-registry.d.ts +1 -1
- package/dist/core/action-registry.d.ts.map +1 -1
- package/dist/core/action-registry.js +30 -10
- package/dist/core/action-registry.js.map +1 -1
- package/dist/core/tool-result-proxy.d.ts +1 -0
- package/dist/core/tool-result-proxy.d.ts.map +1 -1
- package/dist/core/tool-result-proxy.js +3 -2
- package/dist/core/tool-result-proxy.js.map +1 -1
- package/dist/providers/captured-tools-provider.d.ts.map +1 -1
- package/dist/providers/captured-tools-provider.js +15 -13
- package/dist/providers/captured-tools-provider.js.map +1 -1
- package/dist/providers/pi-tools-provider.d.ts.map +1 -1
- package/dist/providers/pi-tools-provider.js +15 -13
- package/dist/providers/pi-tools-provider.js.map +1 -1
- package/dist/runtime/node-process-runtime.d.ts.map +1 -1
- package/dist/runtime/node-process-runtime.js +17 -4
- package/dist/runtime/node-process-runtime.js.map +1 -1
- package/dist/runtime/quickjs-runtime.d.ts.map +1 -1
- package/dist/runtime/quickjs-runtime.js +18 -7
- package/dist/runtime/quickjs-runtime.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const throwIfAborted: (signal: AbortSignal | undefined) => void;
|
|
2
|
+
export declare const runAbortable: <T>(signal: AbortSignal | undefined, operation: () => T | PromiseLike<T>) => Promise<T>;
|
|
3
|
+
export declare const settleWithin: (operations: Iterable<PromiseLike<unknown>>, timeoutMs: number) => Promise<boolean>;
|
|
4
|
+
//# sourceMappingURL=async-settlement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-settlement.d.ts","sourceRoot":"","sources":["../src/async-settlement.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,GAAI,QAAQ,WAAW,GAAG,SAAS,KAAG,IAEhE,CAAC;AA0BF,eAAO,MAAM,YAAY,GAAI,CAAC,EAC5B,QAAQ,WAAW,GAAG,SAAS,EAC/B,WAAW,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAClC,OAAO,CAAC,CAAC,CAOX,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,YAAY,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAC1C,WAAW,MAAM,KAChB,OAAO,CAAC,OAAO,CAejB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
const abortError = (signal) => {
|
|
2
|
+
const reason = signal.reason;
|
|
3
|
+
if (reason instanceof Error)
|
|
4
|
+
return reason;
|
|
5
|
+
return new Error(typeof reason === "string" && reason ? reason : "Operation aborted");
|
|
6
|
+
};
|
|
7
|
+
export const throwIfAborted = (signal) => {
|
|
8
|
+
if (signal?.aborted)
|
|
9
|
+
throw abortError(signal);
|
|
10
|
+
};
|
|
11
|
+
const raceWithAbort = (operation, signal) => {
|
|
12
|
+
if (!signal)
|
|
13
|
+
return Promise.resolve(operation);
|
|
14
|
+
if (signal.aborted)
|
|
15
|
+
return Promise.reject(abortError(signal));
|
|
16
|
+
return new Promise((resolve, reject) => {
|
|
17
|
+
let settled = false;
|
|
18
|
+
const finish = (callback) => {
|
|
19
|
+
if (settled)
|
|
20
|
+
return;
|
|
21
|
+
settled = true;
|
|
22
|
+
signal.removeEventListener("abort", onAbort);
|
|
23
|
+
callback();
|
|
24
|
+
};
|
|
25
|
+
const onAbort = () => finish(() => reject(abortError(signal)));
|
|
26
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
27
|
+
Promise.resolve(operation).then((value) => finish(() => resolve(value)), (error) => finish(() => reject(error)));
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
export const runAbortable = (signal, operation) => {
|
|
31
|
+
try {
|
|
32
|
+
throwIfAborted(signal);
|
|
33
|
+
return raceWithAbort(Promise.resolve(operation()), signal);
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
return Promise.reject(error);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
export const settleWithin = async (operations, timeoutMs) => {
|
|
40
|
+
const pending = [...operations].map((operation) => Promise.resolve(operation));
|
|
41
|
+
if (pending.length === 0)
|
|
42
|
+
return true;
|
|
43
|
+
let timer;
|
|
44
|
+
try {
|
|
45
|
+
return await Promise.race([
|
|
46
|
+
Promise.allSettled(pending).then(() => true),
|
|
47
|
+
new Promise((resolve) => {
|
|
48
|
+
timer = setTimeout(() => resolve(false), Math.max(0, timeoutMs));
|
|
49
|
+
}),
|
|
50
|
+
]);
|
|
51
|
+
}
|
|
52
|
+
finally {
|
|
53
|
+
if (timer)
|
|
54
|
+
clearTimeout(timer);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=async-settlement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-settlement.js","sourceRoot":"","sources":["../src/async-settlement.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,CAAC,MAAmB,EAAS,EAAE;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,IAAI,MAAM,YAAY,KAAK;QAAE,OAAO,MAAM,CAAC;IAC3C,OAAO,IAAI,KAAK,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAA+B,EAAQ,EAAE;IACtE,IAAI,MAAM,EAAE,OAAO;QAAE,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CACpB,SAAyB,EACzB,MAA+B,EACnB,EAAE;IACd,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9D,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,QAAoB,EAAQ,EAAE;YAC5C,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAC7B,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EACvC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACvC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAA+B,EAC/B,SAAmC,EACvB,EAAE;IACd,IAAI,CAAC;QACH,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,UAA0C,EAC1C,SAAiB,EACC,EAAE;IACpB,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,IAAI,KAAiC,CAAC;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACxB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YAC5C,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,EAAE;gBAC7B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YACnE,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -86,7 +86,7 @@ export declare class ActionRegistry {
|
|
|
86
86
|
search(query: string, context: FabricInvocationContext, limit?: number): Promise<ResolvedFabricAction[]>;
|
|
87
87
|
describe(ref: string, context: FabricInvocationContext): Promise<ResolvedFabricAction>;
|
|
88
88
|
invoke(ref: string, args: Record<string, unknown>, context: FabricRegistryInvocationContext): Promise<unknown>;
|
|
89
|
-
endInvocation(parentToolCallId: string): Promise<void>;
|
|
89
|
+
endInvocation(parentToolCallId: string, timeoutMs?: number): Promise<void>;
|
|
90
90
|
close(excludedProviderNames?: Set<string>): Promise<void>;
|
|
91
91
|
}
|
|
92
92
|
//# sourceMappingURL=action-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-registry.d.ts","sourceRoot":"","sources":["../../src/core/action-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"action-registry.d.ts","sourceRoot":"","sources":["../../src/core/action-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createHash, randomUUID } from "node:crypto";
|
|
2
2
|
import { Value } from "typebox/value";
|
|
3
|
+
import { runAbortable, settleWithin } from "../async-settlement.js";
|
|
3
4
|
import { executionOutcomeFromError, } from "../audit/trace.js";
|
|
4
5
|
import { FABRIC_NESTED_TOOL_CALL_ID_PREFIX, } from "../protocol.js";
|
|
5
6
|
/**
|
|
@@ -332,18 +333,21 @@ export class ActionRegistry {
|
|
|
332
333
|
const traceOperation = context.traceOperation ?? context.trace?.issueCall(ref, args);
|
|
333
334
|
let failureStage = "resolve";
|
|
334
335
|
let audit;
|
|
336
|
+
let invocationActive = false;
|
|
335
337
|
try {
|
|
336
338
|
const { provider, actionName } = this.#parseRef(ref);
|
|
337
|
-
const descriptor = await provider.describe(actionName, context);
|
|
339
|
+
const descriptor = await runAbortable(context.signal, () => provider.describe(actionName, context));
|
|
338
340
|
if (!descriptor)
|
|
339
341
|
throw new Error(`Unknown Fabric action: ${ref}`);
|
|
340
342
|
const action = resolveDescriptor(provider, descriptor);
|
|
341
343
|
traceOperation?.resolved(action.provider, action.name);
|
|
342
344
|
failureStage = "guard";
|
|
343
|
-
|
|
345
|
+
if (context.authorize) {
|
|
346
|
+
await runAbortable(context.signal, () => context.authorize(action));
|
|
347
|
+
}
|
|
344
348
|
failureStage = "prepare";
|
|
345
349
|
const preparedArgs = provider.prepareArguments
|
|
346
|
-
? await provider.prepareArguments(actionName, args, context)
|
|
350
|
+
? await runAbortable(context.signal, () => provider.prepareArguments(actionName, args, context))
|
|
347
351
|
: args;
|
|
348
352
|
if (typeof preparedArgs !== "object" || preparedArgs === null || Array.isArray(preparedArgs)) {
|
|
349
353
|
throw new Error(`Argument preparation for ${ref} did not return an object`);
|
|
@@ -354,7 +358,7 @@ export class ActionRegistry {
|
|
|
354
358
|
if (invalid)
|
|
355
359
|
throw new Error(`Invalid arguments for ${ref}: ${invalid}`);
|
|
356
360
|
failureStage = "approve";
|
|
357
|
-
await context.approve(action, preparedArgs);
|
|
361
|
+
await runAbortable(context.signal, () => context.approve(action, preparedArgs));
|
|
358
362
|
failureStage = "invoke";
|
|
359
363
|
const nestedToolCallId = `${NESTED_TOOL_CALL_ID_PREFIX}${randomUUID()}`;
|
|
360
364
|
const argsPreview = previewArgs(ref, preparedArgs);
|
|
@@ -367,6 +371,7 @@ export class ActionRegistry {
|
|
|
367
371
|
args: boundedPreviewValue(argsPreview, MAX_AUDIT_VALUE_CHARS),
|
|
368
372
|
};
|
|
369
373
|
audit = activeAudit;
|
|
374
|
+
invocationActive = true;
|
|
370
375
|
context.audits.push(activeAudit);
|
|
371
376
|
context.observeInvocation?.({
|
|
372
377
|
type: "call_start",
|
|
@@ -375,10 +380,12 @@ export class ActionRegistry {
|
|
|
375
380
|
args: argsPreview,
|
|
376
381
|
});
|
|
377
382
|
context.update(`Calling ${ref}`);
|
|
378
|
-
const providerValue = await provider.invoke(actionName, preparedArgs, {
|
|
383
|
+
const providerValue = await runAbortable(context.signal, () => provider.invoke(actionName, preparedArgs, {
|
|
379
384
|
...context,
|
|
380
385
|
nestedToolCallId,
|
|
381
386
|
update(message) {
|
|
387
|
+
if (!invocationActive)
|
|
388
|
+
return;
|
|
382
389
|
context.update(message);
|
|
383
390
|
context.observeInvocation?.({
|
|
384
391
|
type: "call_update",
|
|
@@ -387,6 +394,8 @@ export class ActionRegistry {
|
|
|
387
394
|
});
|
|
388
395
|
},
|
|
389
396
|
activity(update) {
|
|
397
|
+
if (!invocationActive)
|
|
398
|
+
return;
|
|
390
399
|
context.activity?.(update);
|
|
391
400
|
context.observeInvocation?.({
|
|
392
401
|
type: "call_update",
|
|
@@ -395,6 +404,8 @@ export class ActionRegistry {
|
|
|
395
404
|
});
|
|
396
405
|
},
|
|
397
406
|
attachMedia(blocks, note) {
|
|
407
|
+
if (!invocationActive)
|
|
408
|
+
return;
|
|
398
409
|
if (!activeAudit.media)
|
|
399
410
|
activeAudit.media = [];
|
|
400
411
|
for (const block of blocks)
|
|
@@ -403,6 +414,8 @@ export class ActionRegistry {
|
|
|
403
414
|
activeAudit.mediaNote = note;
|
|
404
415
|
},
|
|
405
416
|
updateArguments(updatedArgs) {
|
|
417
|
+
if (!invocationActive)
|
|
418
|
+
return;
|
|
406
419
|
const updatedPreview = previewArgs(ref, updatedArgs);
|
|
407
420
|
activeAudit.args = boundedPreviewValue(updatedPreview, MAX_AUDIT_VALUE_CHARS);
|
|
408
421
|
traceOperation?.prepared(updatedArgs);
|
|
@@ -413,16 +426,19 @@ export class ActionRegistry {
|
|
|
413
426
|
});
|
|
414
427
|
},
|
|
415
428
|
attachPreview(preview) {
|
|
429
|
+
if (!invocationActive)
|
|
430
|
+
return;
|
|
416
431
|
activeAudit.preview = preview;
|
|
417
432
|
},
|
|
418
|
-
});
|
|
433
|
+
}));
|
|
419
434
|
const value = this.toolResultProxy
|
|
420
|
-
? await this.toolResultProxy.proxy({
|
|
435
|
+
? await runAbortable(context.signal, () => this.toolResultProxy.proxy({
|
|
421
436
|
action,
|
|
422
437
|
args: preparedArgs,
|
|
423
438
|
toolCallId: nestedToolCallId,
|
|
424
439
|
value: providerValue,
|
|
425
|
-
|
|
440
|
+
...(context.signal ? { signal: context.signal } : {}),
|
|
441
|
+
}))
|
|
426
442
|
: providerValue;
|
|
427
443
|
const bounded = boundedResult(value, context.maxResultChars);
|
|
428
444
|
const resultError = failedResultError(value);
|
|
@@ -467,12 +483,16 @@ export class ActionRegistry {
|
|
|
467
483
|
throw error;
|
|
468
484
|
}
|
|
469
485
|
finally {
|
|
486
|
+
invocationActive = false;
|
|
470
487
|
if (audit)
|
|
471
488
|
audit.endedAt ??= Date.now();
|
|
472
489
|
}
|
|
473
490
|
}
|
|
474
|
-
async endInvocation(parentToolCallId) {
|
|
475
|
-
|
|
491
|
+
async endInvocation(parentToolCallId, timeoutMs = 1_000) {
|
|
492
|
+
const finalizers = [...this.#providers.values()].flatMap((provider) => provider.invocationEnded
|
|
493
|
+
? [Promise.resolve().then(() => provider.invocationEnded(parentToolCallId))]
|
|
494
|
+
: []);
|
|
495
|
+
await settleWithin(finalizers, timeoutMs);
|
|
476
496
|
}
|
|
477
497
|
async close(excludedProviderNames = new Set()) {
|
|
478
498
|
await Promise.allSettled([...this.#providers.values()]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-registry.js","sourceRoot":"","sources":["../../src/core/action-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"action-registry.js","sourceRoot":"","sources":["../../src/core/action-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-result-proxy.d.ts","sourceRoot":"","sources":["../../src/core/tool-result-proxy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-result-proxy.d.ts","sourceRoot":"","sources":["../../src/core/tool-result-proxy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EAChB,MAAM,iCAAiC,CAAC;AAMzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIjE,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,oBAAoB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChE;AAwBD,qBAAa,qBAAsB,YAAW,2BAA2B;IAC3D,QAAQ,CAAC,MAAM,EAAE,MAAM,eAAe,GAAG,SAAS;gBAAzC,MAAM,EAAE,MAAM,eAAe,GAAG,SAAS;IAExD,KAAK,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC;CAwCrE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { runAbortable } from "../async-settlement.js";
|
|
1
2
|
import { FABRIC_TOOL_RESULT_PROXY_KIND, readFabricToolResultProxyDetailsV1, } from "../protocol.js";
|
|
2
3
|
const nativeLifecycleProviders = new Set(["pi", "extensions"]);
|
|
3
4
|
const textFromContent = (content) => content
|
|
@@ -36,7 +37,7 @@ export class FabricToolResultProxy {
|
|
|
36
37
|
ref: request.action.ref,
|
|
37
38
|
result: request.value,
|
|
38
39
|
};
|
|
39
|
-
const patch = await runner.emitToolResult({
|
|
40
|
+
const patch = await runAbortable(request.signal, () => runner.emitToolResult({
|
|
40
41
|
type: "tool_result",
|
|
41
42
|
toolName: request.action.ref,
|
|
42
43
|
toolCallId: request.toolCallId,
|
|
@@ -44,7 +45,7 @@ export class FabricToolResultProxy {
|
|
|
44
45
|
content,
|
|
45
46
|
details,
|
|
46
47
|
isError: false,
|
|
47
|
-
});
|
|
48
|
+
}));
|
|
48
49
|
if (!patch)
|
|
49
50
|
return request.value;
|
|
50
51
|
const patchedContent = patch.content ?? content;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-result-proxy.js","sourceRoot":"","sources":["../../src/core/tool-result-proxy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-result-proxy.js","sourceRoot":"","sources":["../../src/core/tool-result-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captured-tools-provider.d.ts","sourceRoot":"","sources":["../../src/providers/captured-tools-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"captured-tools-provider.d.ts","sourceRoot":"","sources":["../../src/providers/captured-tools-provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAA0B,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;CACpB;AAkED,qBAAa,qBAAsB,YAAW,cAAc;;IAO9C,QAAQ,CAAC,OAAO,EAAE,mBAAmB;IANjD,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,WAAW,+EAC0D;gBAIzD,OAAO,EAAE,mBAAmB;IAE3C,IAAI,CACR,OAAO,EAAE,yBAAyB,EAClC,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAW9B,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAK9C,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUtF,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,4BAA4B,CAAC;CAuGzC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
+
import { runAbortable, throwIfAborted } from "../async-settlement.js";
|
|
2
3
|
import { CapturedToolCatalog } from "../capture/catalog.js";
|
|
3
4
|
const textFromContent = (content) => content
|
|
4
5
|
.filter((part) => part.type === "text")
|
|
@@ -82,46 +83,46 @@ export class CapturedToolsProvider {
|
|
|
82
83
|
}
|
|
83
84
|
async invoke(actionName, args, context) {
|
|
84
85
|
const entry = this.catalog.require(actionName);
|
|
85
|
-
return this.#scheduler.run(entry.definition.executionMode, () => this.#invokeCaptured(entry, args, context));
|
|
86
|
+
return this.#scheduler.run(entry.definition.executionMode, () => runAbortable(context.signal, () => this.#invokeCaptured(entry, args, context)));
|
|
86
87
|
}
|
|
87
88
|
async #invokeCaptured(entry, args, context) {
|
|
88
89
|
const { runner, wrappedTool } = entry;
|
|
89
90
|
const toolCallId = context.nestedToolCallId;
|
|
90
|
-
await runner.emit({
|
|
91
|
+
await runAbortable(context.signal, () => runner.emit({
|
|
91
92
|
type: "tool_execution_start",
|
|
92
93
|
toolCallId,
|
|
93
94
|
toolName: entry.name,
|
|
94
95
|
args,
|
|
95
|
-
});
|
|
96
|
+
}));
|
|
96
97
|
let result;
|
|
97
98
|
let isError = false;
|
|
98
99
|
let thrown;
|
|
99
100
|
let updateTail = Promise.resolve();
|
|
100
101
|
try {
|
|
101
|
-
const preflight = await runner.emitToolCall({
|
|
102
|
+
const preflight = await runAbortable(context.signal, () => runner.emitToolCall({
|
|
102
103
|
type: "tool_call",
|
|
103
104
|
toolName: entry.name,
|
|
104
105
|
toolCallId,
|
|
105
106
|
input: args,
|
|
106
|
-
});
|
|
107
|
+
}));
|
|
107
108
|
context.updateArguments?.(args);
|
|
108
109
|
if (preflight?.block) {
|
|
109
110
|
throw new Error(preflight.reason || `Captured tool ${entry.name} was blocked`);
|
|
110
111
|
}
|
|
111
|
-
result = await wrappedTool.execute(toolCallId, args, context.signal, (partialResult) => {
|
|
112
|
+
result = await runAbortable(context.signal, () => wrappedTool.execute(toolCallId, args, context.signal, (partialResult) => {
|
|
112
113
|
const progress = textFromContent(partialResult.content).trim();
|
|
113
114
|
if (progress)
|
|
114
115
|
context.update(`${entry.name}: ${progress.slice(0, 500)}`);
|
|
115
116
|
updateTail = updateTail
|
|
116
|
-
.then(() => runner.emit({
|
|
117
|
+
.then(() => runAbortable(context.signal, () => runner.emit({
|
|
117
118
|
type: "tool_execution_update",
|
|
118
119
|
toolCallId,
|
|
119
120
|
toolName: entry.name,
|
|
120
121
|
args,
|
|
121
122
|
partialResult,
|
|
122
|
-
}))
|
|
123
|
+
})))
|
|
123
124
|
.catch(() => undefined);
|
|
124
|
-
});
|
|
125
|
+
}));
|
|
125
126
|
}
|
|
126
127
|
catch (error) {
|
|
127
128
|
thrown = error;
|
|
@@ -137,7 +138,8 @@ export class CapturedToolsProvider {
|
|
|
137
138
|
};
|
|
138
139
|
}
|
|
139
140
|
await updateTail;
|
|
140
|
-
|
|
141
|
+
throwIfAborted(context.signal);
|
|
142
|
+
const patch = await runAbortable(context.signal, () => runner.emitToolResult({
|
|
141
143
|
type: "tool_result",
|
|
142
144
|
toolName: entry.name,
|
|
143
145
|
toolCallId,
|
|
@@ -145,7 +147,7 @@ export class CapturedToolsProvider {
|
|
|
145
147
|
content: result.content,
|
|
146
148
|
details: result.details,
|
|
147
149
|
isError,
|
|
148
|
-
});
|
|
150
|
+
}));
|
|
149
151
|
if (patch) {
|
|
150
152
|
result = {
|
|
151
153
|
...result,
|
|
@@ -154,13 +156,13 @@ export class CapturedToolsProvider {
|
|
|
154
156
|
};
|
|
155
157
|
isError = patch.isError ?? isError;
|
|
156
158
|
}
|
|
157
|
-
await runner.emit({
|
|
159
|
+
await runAbortable(context.signal, () => runner.emit({
|
|
158
160
|
type: "tool_execution_end",
|
|
159
161
|
toolCallId,
|
|
160
162
|
toolName: entry.name,
|
|
161
163
|
result,
|
|
162
164
|
isError,
|
|
163
|
-
});
|
|
165
|
+
}));
|
|
164
166
|
if (isError) {
|
|
165
167
|
const text = textFromContent(result.content).trim();
|
|
166
168
|
throw new Error(text || (thrown instanceof Error ? thrown.message : `Captured tool ${entry.name} failed`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captured-tools-provider.js","sourceRoot":"","sources":["../../src/providers/captured-tools-provider.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"captured-tools-provider.js","sourceRoot":"","sources":["../../src/providers/captured-tools-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi-tools-provider.d.ts","sourceRoot":"","sources":["../../src/providers/pi-tools-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pi-tools-provider.d.ts","sourceRoot":"","sources":["../../src/providers/pi-tools-provider.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EAEvB,cAAc,EACd,yBAAyB,EAE1B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAuFrE,qBAAa,eAAgB,YAAW,cAAc;;IACpD,QAAQ,CAAC,IAAI,QAAQ;IACrB,QAAQ,CAAC,WAAW,gCAAgC;gBAOlD,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,mBAAmB,EAC7B,aAAa,CAAC,EAAE,qBAAqB;IAgBjC,IAAI,CACR,OAAO,EAAE,yBAAyB,EAClC,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAY9B,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAS9C,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IActF,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,OAAO,CAAC;CAuSpB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createBashToolDefinition, createEditToolDefinition, createFindToolDefinition, createGrepToolDefinition, createLsToolDefinition, createReadToolDefinition, } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import { runAbortable, throwIfAborted } from "../async-settlement.js";
|
|
2
3
|
import { CapturedToolCatalog } from "../capture/catalog.js";
|
|
3
4
|
import { PI_CORE_TOOL_NAMES } from "../core/pi-tools.js";
|
|
4
5
|
import { expandSkillDirMarkersForRead } from "../core/skill-dir.js";
|
|
@@ -139,7 +140,7 @@ export class PiToolsProvider {
|
|
|
139
140
|
// catalog) fall back to a direct execute — no extension hooks fire, but
|
|
140
141
|
// the call still works. Once tools are refreshed the runner is available.
|
|
141
142
|
if (!runner) {
|
|
142
|
-
const result = await tool.execute(context.nestedToolCallId, args, context.signal, (partialResult) => this.#attachPartialPreview(name, partialResult, args, context), context.extensionContext);
|
|
143
|
+
const result = await runAbortable(context.signal, () => tool.execute(context.nestedToolCallId, args, context.signal, (partialResult) => this.#attachPartialPreview(name, partialResult, args, context), context.extensionContext));
|
|
143
144
|
this.#attachReadMedia(name, result, context);
|
|
144
145
|
this.#attachReadNote(name, result, context);
|
|
145
146
|
this.#attachPreview(name, result, args, context);
|
|
@@ -157,39 +158,39 @@ export class PiToolsProvider {
|
|
|
157
158
|
// descriptions before the result returns to the sandbox.
|
|
158
159
|
async #invokeWithEvents(name, tool, args, context, runner) {
|
|
159
160
|
const toolCallId = context.nestedToolCallId;
|
|
160
|
-
await runner.emit({
|
|
161
|
+
await runAbortable(context.signal, () => runner.emit({
|
|
161
162
|
type: "tool_execution_start",
|
|
162
163
|
toolCallId,
|
|
163
164
|
toolName: name,
|
|
164
165
|
args,
|
|
165
|
-
});
|
|
166
|
+
}));
|
|
166
167
|
let result;
|
|
167
168
|
let isError = false;
|
|
168
169
|
let thrown;
|
|
169
170
|
let updateTail = Promise.resolve();
|
|
170
171
|
try {
|
|
171
|
-
const preflight = await runner.emitToolCall({
|
|
172
|
+
const preflight = await runAbortable(context.signal, () => runner.emitToolCall({
|
|
172
173
|
type: "tool_call",
|
|
173
174
|
toolName: name,
|
|
174
175
|
toolCallId,
|
|
175
176
|
input: args,
|
|
176
|
-
});
|
|
177
|
+
}));
|
|
177
178
|
context.updateArguments?.(args);
|
|
178
179
|
if (preflight?.block) {
|
|
179
180
|
throw new Error(preflight.reason || `Pi tool ${name} was blocked`);
|
|
180
181
|
}
|
|
181
|
-
result = (await tool.execute(toolCallId, args, context.signal, (partialResult) => {
|
|
182
|
+
result = (await runAbortable(context.signal, () => tool.execute(toolCallId, args, context.signal, (partialResult) => {
|
|
182
183
|
this.#attachPartialPreview(name, partialResult, args, context);
|
|
183
184
|
updateTail = updateTail
|
|
184
|
-
.then(() => runner.emit({
|
|
185
|
+
.then(() => runAbortable(context.signal, () => runner.emit({
|
|
185
186
|
type: "tool_execution_update",
|
|
186
187
|
toolCallId,
|
|
187
188
|
toolName: name,
|
|
188
189
|
args,
|
|
189
190
|
partialResult,
|
|
190
|
-
}))
|
|
191
|
+
})))
|
|
191
192
|
.catch(() => undefined);
|
|
192
|
-
}, context.extensionContext));
|
|
193
|
+
}, context.extensionContext)));
|
|
193
194
|
}
|
|
194
195
|
catch (error) {
|
|
195
196
|
thrown = error;
|
|
@@ -202,11 +203,12 @@ export class PiToolsProvider {
|
|
|
202
203
|
};
|
|
203
204
|
}
|
|
204
205
|
await updateTail;
|
|
206
|
+
throwIfAborted(context.signal);
|
|
205
207
|
// Capture the read's image blocks BEFORE any tool_result patch —
|
|
206
208
|
// pi-vision-handoff swaps image→description here, which would leave
|
|
207
209
|
// nothing to re-attach for the kitty preview.
|
|
208
210
|
this.#attachReadMedia(name, result, context);
|
|
209
|
-
const patch = await runner.emitToolResult({
|
|
211
|
+
const patch = await runAbortable(context.signal, () => runner.emitToolResult({
|
|
210
212
|
type: "tool_result",
|
|
211
213
|
toolName: name,
|
|
212
214
|
toolCallId,
|
|
@@ -214,7 +216,7 @@ export class PiToolsProvider {
|
|
|
214
216
|
content: result.content,
|
|
215
217
|
details: result.details,
|
|
216
218
|
isError,
|
|
217
|
-
});
|
|
219
|
+
}));
|
|
218
220
|
if (patch) {
|
|
219
221
|
result = {
|
|
220
222
|
...result,
|
|
@@ -227,13 +229,13 @@ export class PiToolsProvider {
|
|
|
227
229
|
// pi's non-vision note and swaps the image for a description, so the first
|
|
228
230
|
// surviving text block is the short read note (not the verbose description).
|
|
229
231
|
this.#attachReadNote(name, result, context);
|
|
230
|
-
await runner.emit({
|
|
232
|
+
await runAbortable(context.signal, () => runner.emit({
|
|
231
233
|
type: "tool_execution_end",
|
|
232
234
|
toolCallId,
|
|
233
235
|
toolName: name,
|
|
234
236
|
result,
|
|
235
237
|
isError,
|
|
236
|
-
});
|
|
238
|
+
}));
|
|
237
239
|
if (isError) {
|
|
238
240
|
const text = textContent(result.content).trim();
|
|
239
241
|
throw new Error(text || (thrown instanceof Error ? thrown.message : `Pi tool ${name} failed`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi-tools-provider.js","sourceRoot":"","sources":["../../src/providers/pi-tools-provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pi-tools-provider.js","sourceRoot":"","sources":["../../src/providers/pi-tools-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-process-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/node-process-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node-process-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/node-process-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAyB9B,qBAAa,kBAAkB;IACvB,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;CAqJhC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
+
import { runAbortable, settleWithin } from "../async-settlement.js";
|
|
2
3
|
import { GUEST_SETUP, } from "./quickjs-runtime.js";
|
|
3
4
|
import { NODE_PROCESS_CHILD_SOURCE } from "./node-process-child-source.js";
|
|
4
5
|
import { transpileFabricCode } from "./type-checker.js";
|
|
6
|
+
const HOST_TASK_SETTLE_GRACE_MS = 250;
|
|
5
7
|
const send = (child, message) => {
|
|
6
8
|
if (!child.connected)
|
|
7
9
|
return;
|
|
@@ -39,6 +41,7 @@ export class NodeProcessRuntime {
|
|
|
39
41
|
let deadline;
|
|
40
42
|
let abortHandler;
|
|
41
43
|
let settled = false;
|
|
44
|
+
let finishing = false;
|
|
42
45
|
const hostTasks = new Set();
|
|
43
46
|
return new Promise((resolve) => {
|
|
44
47
|
const finish = (result) => {
|
|
@@ -49,7 +52,7 @@ export class NodeProcessRuntime {
|
|
|
49
52
|
clearTimeout(deadline);
|
|
50
53
|
if (abortHandler)
|
|
51
54
|
options.signal?.removeEventListener("abort", abortHandler);
|
|
52
|
-
if (!hostAbortController.signal.aborted &&
|
|
55
|
+
if (!hostAbortController.signal.aborted && hostTasks.size > 0) {
|
|
53
56
|
hostAbortController.abort(new Error(result.error ?? "Node process execution stopped"));
|
|
54
57
|
}
|
|
55
58
|
child.removeAllListeners();
|
|
@@ -89,20 +92,30 @@ export class NodeProcessRuntime {
|
|
|
89
92
|
};
|
|
90
93
|
options.signal?.addEventListener("abort", abortHandler, { once: true });
|
|
91
94
|
child.on("message", (raw) => {
|
|
92
|
-
if (settled || typeof raw !== "object" || raw === null)
|
|
95
|
+
if (settled || finishing || typeof raw !== "object" || raw === null)
|
|
93
96
|
return;
|
|
94
97
|
const message = raw;
|
|
95
98
|
if (message.type === "result") {
|
|
99
|
+
finishing = true;
|
|
100
|
+
if (deadline)
|
|
101
|
+
clearTimeout(deadline);
|
|
96
102
|
if (message.result.terminationReason !== "completed" && !hostAbortController.signal.aborted) {
|
|
97
103
|
hostAbortController.abort(new Error(message.result.error ?? "Node process execution stopped"));
|
|
98
104
|
}
|
|
99
|
-
void
|
|
105
|
+
void (async () => {
|
|
106
|
+
const completed = await settleWithin(hostTasks, HOST_TASK_SETTLE_GRACE_MS);
|
|
107
|
+
if (!completed && !hostAbortController.signal.aborted) {
|
|
108
|
+
hostAbortController.abort(new Error("Fabric guest execution ended before its host calls settled"));
|
|
109
|
+
await settleWithin(hostTasks, HOST_TASK_SETTLE_GRACE_MS);
|
|
110
|
+
}
|
|
111
|
+
finish(message.result);
|
|
112
|
+
})();
|
|
100
113
|
return;
|
|
101
114
|
}
|
|
102
115
|
if (message.type !== "call")
|
|
103
116
|
return;
|
|
104
117
|
extendDeadline(message.ref, message.args);
|
|
105
|
-
const task = hostCall(message.ref, message.args, hostAbortController.signal).then((value) => send(child, { type: "response", id: message.id, ok: true, value }), (error) => send(child, {
|
|
118
|
+
const task = runAbortable(hostAbortController.signal, () => hostCall(message.ref, message.args, hostAbortController.signal)).then((value) => send(child, { type: "response", id: message.id, ok: true, value }), (error) => send(child, {
|
|
106
119
|
type: "response",
|
|
107
120
|
id: message.id,
|
|
108
121
|
ok: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-process-runtime.js","sourceRoot":"","sources":["../../src/runtime/node-process-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,WAAW,GAIZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAgBxD,MAAM,IAAI,GAAG,CAAC,KAAmB,EAAE,OAAY,EAAQ,EAAE;IACvD,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO;IAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,OAAO,kBAAkB;IAC7B,KAAK,CAAC,OAAO,CACX,IAAY,EACZ,QAAwB,EACxB,OAA6B;QAE7B,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAC5B,OAAO;gBACL,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,EAAE;gBACR,iBAAiB,EAAE,SAAS;gBAC5B,KAAK,EAAE,qBAAqB;aAC7B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACpF,OAAO;gBACL,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,EAAE;gBACR,iBAAiB,EAAE,eAAe;gBAClC,KAAK,EAAE,2DAA2D;aACnE,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvF,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,QAAQ,EAChB;YACE,wBAAwB,WAAW,EAAE;YACrC,qBAAqB;YACrB,QAAQ;YACR,yBAAyB;SAC1B,EACD,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CACjD,CAAC;QACF,MAAM,mBAAmB,GAAG,IAAI,eAAe,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;QAC3C,IAAI,UAAU,GAAG,SAAS,GAAG,kBAAkB,CAAC;QAChD,IAAI,QAAoC,CAAC;QACzC,IAAI,YAAsC,CAAC;QAC3C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiB,CAAC;QAE3C,OAAO,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,CAAC,MAA2B,EAAQ,EAAE;gBACnD,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,QAAQ;oBAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACrC,IAAI,YAAY;oBAAE,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAC7E,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"node-process-runtime.js","sourceRoot":"","sources":["../../src/runtime/node-process-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickjs-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/quickjs-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quickjs-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/quickjs-runtime.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,8BAA8B,GACtC,WAAW,GACX,eAAe,GACf,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,iBAAiB,EAAE,8BAA8B,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,2BAA2B,CAAC,CAC1B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,GAAG,SAAS,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,OAAO,CAAC,CAAC;AAWtB,eAAO,MAAM,WAAW,6nrBAkfvB,CAAC;AAyCF,qBAAa,cAAc;IACnB,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;CAqVhC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import releaseSyncVariant from "@jitl/quickjs-singlefile-mjs-release-sync";
|
|
2
2
|
import { newQuickJSWASMModuleFromVariant } from "quickjs-emscripten-core";
|
|
3
|
+
import { runAbortable, settleWithin } from "../async-settlement.js";
|
|
3
4
|
import { transpileFabricCode } from "./type-checker.js";
|
|
4
5
|
let quickJsModulePromise;
|
|
5
6
|
const quickJsModule = () => {
|
|
@@ -543,6 +544,7 @@ const jsonHandle = (context, jsonObject, jsonParse, value) => {
|
|
|
543
544
|
serialized.dispose();
|
|
544
545
|
}
|
|
545
546
|
};
|
|
547
|
+
const HOST_TASK_SETTLE_GRACE_MS = 250;
|
|
546
548
|
export class QuickJsRuntime {
|
|
547
549
|
async execute(code, hostCall, options) {
|
|
548
550
|
if (options.signal?.aborted) {
|
|
@@ -667,7 +669,7 @@ export class QuickJsRuntime {
|
|
|
667
669
|
void promise.settled.then(() => pendingTimers.delete(timer));
|
|
668
670
|
return promise.handle;
|
|
669
671
|
}
|
|
670
|
-
const task = hostCall(reference, args, hostAbortController.signal)
|
|
672
|
+
const task = runAbortable(hostAbortController.signal, () => hostCall(reference, args, hostAbortController.signal))
|
|
671
673
|
.then((value) => {
|
|
672
674
|
if (closing || promise.alive === false)
|
|
673
675
|
return;
|
|
@@ -842,16 +844,25 @@ export class QuickJsRuntime {
|
|
|
842
844
|
clearTimeout(timer);
|
|
843
845
|
if (abortHandler)
|
|
844
846
|
options.signal?.removeEventListener("abort", abortHandler);
|
|
845
|
-
if (
|
|
846
|
-
await
|
|
847
|
+
if (hostTasks.size > 0) {
|
|
848
|
+
const settled = await settleWithin(hostTasks, HOST_TASK_SETTLE_GRACE_MS);
|
|
849
|
+
if (!settled) {
|
|
850
|
+
abortHostCalls("Fabric guest execution ended before its host calls settled");
|
|
851
|
+
await settleWithin(hostTasks, HOST_TASK_SETTLE_GRACE_MS);
|
|
852
|
+
}
|
|
847
853
|
runtime.executePendingJobs();
|
|
848
854
|
}
|
|
849
855
|
closing = true;
|
|
850
|
-
if (timedOut || cancelled) {
|
|
856
|
+
if (timedOut || cancelled || pendingHostPromises.size > 0) {
|
|
857
|
+
const cleanupMessage = cancelled
|
|
858
|
+
? "Execution cancelled"
|
|
859
|
+
: timedOut
|
|
860
|
+
? timeoutMessage()
|
|
861
|
+
: "Fabric guest execution ended before its host calls settled";
|
|
851
862
|
if (!hostAbortController.signal.aborted)
|
|
852
|
-
hostAbortController.abort();
|
|
853
|
-
rejectExecutionGate(
|
|
854
|
-
const errorHandle = context.newError(
|
|
863
|
+
hostAbortController.abort(new Error(cleanupMessage));
|
|
864
|
+
rejectExecutionGate(cleanupMessage);
|
|
865
|
+
const errorHandle = context.newError(cleanupMessage);
|
|
855
866
|
for (const promise of pendingHostPromises)
|
|
856
867
|
promise.reject(errorHandle);
|
|
857
868
|
errorHandle.dispose();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickjs-runtime.js","sourceRoot":"","sources":["../../src/runtime/quickjs-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"quickjs-runtime.js","sourceRoot":"","sources":["../../src/runtime/quickjs-runtime.ts"],"names":[],"mappings":"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"}
|