veryfront 0.1.309 → 0.1.311
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/esm/deno.js +1 -1
- package/esm/src/agent/hosted-child-pending-tool-lifecycle.d.ts +41 -0
- package/esm/src/agent/hosted-child-pending-tool-lifecycle.d.ts.map +1 -0
- package/esm/src/agent/hosted-child-pending-tool-lifecycle.js +94 -0
- package/esm/src/agent/hosted-child-stream-watchdog.d.ts +27 -0
- package/esm/src/agent/hosted-child-stream-watchdog.d.ts.map +1 -0
- package/esm/src/agent/hosted-child-stream-watchdog.js +96 -0
- package/esm/src/agent/index.d.ts +2 -0
- package/esm/src/agent/index.d.ts.map +1 -1
- package/esm/src/agent/index.js +2 -0
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
- package/src/deno.js +1 -1
- package/src/src/agent/hosted-child-pending-tool-lifecycle.ts +152 -0
- package/src/src/agent/hosted-child-stream-watchdog.ts +143 -0
- package/src/src/agent/index.ts +20 -0
- package/src/src/utils/version-constant.ts +1 -1
package/esm/deno.js
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ChatMessageMetadata, ChatUiMessageChunk } from "../chat/protocol.js";
|
|
2
|
+
export type HostedChildPendingToolCallPhase = "input_streaming" | "awaiting_result";
|
|
3
|
+
export interface HostedChildPendingToolCallState {
|
|
4
|
+
phase: HostedChildPendingToolCallPhase;
|
|
5
|
+
toolName?: string;
|
|
6
|
+
input?: unknown;
|
|
7
|
+
}
|
|
8
|
+
export type HostedChildPendingToolLifecycleCloseReason = {
|
|
9
|
+
kind: "ended";
|
|
10
|
+
} | {
|
|
11
|
+
kind: "aborted";
|
|
12
|
+
} | {
|
|
13
|
+
kind: "error";
|
|
14
|
+
error: unknown;
|
|
15
|
+
};
|
|
16
|
+
export interface HostedChildPendingToolLifecycleCloseLog {
|
|
17
|
+
reason: HostedChildPendingToolLifecycleCloseReason["kind"];
|
|
18
|
+
toolCallIds: string[];
|
|
19
|
+
errorMessage: string | null;
|
|
20
|
+
}
|
|
21
|
+
export interface HostedChildPendingToolLifecycleUnknownToolLog {
|
|
22
|
+
toolCallId: string;
|
|
23
|
+
phase: HostedChildPendingToolCallPhase;
|
|
24
|
+
reason: HostedChildPendingToolLifecycleCloseReason["kind"];
|
|
25
|
+
hasInputSnapshot: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface HostedChildPendingToolLifecycleLogger {
|
|
28
|
+
warnIncompleteToolLifecycles?: (input: HostedChildPendingToolLifecycleCloseLog) => void;
|
|
29
|
+
warnUnknownToolIdentity?: (input: HostedChildPendingToolLifecycleUnknownToolLog) => void;
|
|
30
|
+
}
|
|
31
|
+
export interface HostedChildPendingToolLifecycleInput {
|
|
32
|
+
appendMirrorChunk: (chunk: ChatUiMessageChunk<ChatMessageMetadata>) => Promise<void> | void;
|
|
33
|
+
logger?: HostedChildPendingToolLifecycleLogger;
|
|
34
|
+
}
|
|
35
|
+
export declare function createHostedChildPendingToolLifecycle(input: HostedChildPendingToolLifecycleInput): {
|
|
36
|
+
upsertPendingToolCall: (toolCallId: string, state: HostedChildPendingToolCallState) => void;
|
|
37
|
+
emitToolInputStartIfNeeded: (toolCallId: string, toolName: string) => Promise<void>;
|
|
38
|
+
deletePendingToolCall: (toolCallId: string) => void;
|
|
39
|
+
closePendingToolCalls: (reason: HostedChildPendingToolLifecycleCloseReason) => Promise<void>;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=hosted-child-pending-tool-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosted-child-pending-tool-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/src/agent/hosted-child-pending-tool-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGnF,MAAM,MAAM,+BAA+B,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAEpF,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,+BAA+B,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,0CAA0C,GAClD;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtC,MAAM,WAAW,uCAAuC;IACtD,MAAM,EAAE,0CAA0C,CAAC,MAAM,CAAC,CAAC;IAC3D,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,6CAA6C;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,+BAA+B,CAAC;IACvC,MAAM,EAAE,0CAA0C,CAAC,MAAM,CAAC,CAAC;IAC3D,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,qCAAqC;IACpD,4BAA4B,CAAC,EAAE,CAAC,KAAK,EAAE,uCAAuC,KAAK,IAAI,CAAC;IACxF,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,6CAA6C,KAAK,IAAI,CAAC;CAC1F;AAED,MAAM,WAAW,oCAAoC;IACnD,iBAAiB,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5F,MAAM,CAAC,EAAE,qCAAqC,CAAC;CAChD;AAED,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,oCAAoC;wCAiBpD,MAAM,SAAS,+BAA+B;6CAbnC,MAAM,YAAY,MAAM;wCA2ExC,MAAM;oCArDC,0CAA0C;EA0DxF"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { toChildRunToolInputRecord } from "./child-run-execution-support.js";
|
|
2
|
+
export function createHostedChildPendingToolLifecycle(input) {
|
|
3
|
+
const startedToolCallIds = new Set();
|
|
4
|
+
const pendingToolCalls = new Map();
|
|
5
|
+
const emitToolInputStartIfNeeded = async (toolCallId, toolName) => {
|
|
6
|
+
if (startedToolCallIds.has(toolCallId)) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
startedToolCallIds.add(toolCallId);
|
|
10
|
+
await input.appendMirrorChunk({
|
|
11
|
+
type: "tool-input-start",
|
|
12
|
+
toolCallId,
|
|
13
|
+
toolName,
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
const upsertPendingToolCall = (toolCallId, state) => {
|
|
17
|
+
const existing = pendingToolCalls.get(toolCallId);
|
|
18
|
+
pendingToolCalls.set(toolCallId, {
|
|
19
|
+
phase: state.phase,
|
|
20
|
+
toolName: state.toolName ?? existing?.toolName,
|
|
21
|
+
input: state.input ?? existing?.input,
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
const closePendingToolCalls = async (reason) => {
|
|
25
|
+
if (pendingToolCalls.size === 0) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const errorMessage = reason.kind === "error"
|
|
29
|
+
? (reason.error instanceof Error ? reason.error.message : String(reason.error))
|
|
30
|
+
: null;
|
|
31
|
+
const toolCallIds = [...pendingToolCalls.keys()];
|
|
32
|
+
input.logger?.warnIncompleteToolLifecycles?.({
|
|
33
|
+
reason: reason.kind,
|
|
34
|
+
toolCallIds,
|
|
35
|
+
errorMessage,
|
|
36
|
+
});
|
|
37
|
+
for (const [toolCallId, state] of pendingToolCalls) {
|
|
38
|
+
const toolName = state.toolName ?? "unknown";
|
|
39
|
+
if (toolName === "unknown") {
|
|
40
|
+
input.logger?.warnUnknownToolIdentity?.({
|
|
41
|
+
toolCallId,
|
|
42
|
+
phase: state.phase,
|
|
43
|
+
reason: reason.kind,
|
|
44
|
+
hasInputSnapshot: typeof state.input !== "undefined",
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
await emitToolInputStartIfNeeded(toolCallId, toolName);
|
|
48
|
+
if (state.phase === "awaiting_result") {
|
|
49
|
+
await input.appendMirrorChunk({
|
|
50
|
+
type: "tool-output-error",
|
|
51
|
+
toolCallId,
|
|
52
|
+
errorText: buildPendingToolOutputErrorText(reason, errorMessage),
|
|
53
|
+
});
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
await input.appendMirrorChunk({
|
|
57
|
+
type: "tool-input-error",
|
|
58
|
+
toolCallId,
|
|
59
|
+
toolName,
|
|
60
|
+
input: toChildRunToolInputRecord(state.input),
|
|
61
|
+
errorText: buildPendingToolInputErrorText(reason, errorMessage),
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
pendingToolCalls.clear();
|
|
65
|
+
};
|
|
66
|
+
return {
|
|
67
|
+
upsertPendingToolCall,
|
|
68
|
+
emitToolInputStartIfNeeded,
|
|
69
|
+
deletePendingToolCall: (toolCallId) => {
|
|
70
|
+
pendingToolCalls.delete(toolCallId);
|
|
71
|
+
},
|
|
72
|
+
closePendingToolCalls,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function buildPendingToolInputErrorText(reason, errorMessage) {
|
|
76
|
+
switch (reason.kind) {
|
|
77
|
+
case "error":
|
|
78
|
+
return `Child fork stream errored before tool input completed: ${errorMessage}`;
|
|
79
|
+
case "aborted":
|
|
80
|
+
return "Child fork stream aborted before tool input completed";
|
|
81
|
+
case "ended":
|
|
82
|
+
return "Child fork stream ended before tool input completed";
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function buildPendingToolOutputErrorText(reason, errorMessage) {
|
|
86
|
+
switch (reason.kind) {
|
|
87
|
+
case "error":
|
|
88
|
+
return `Child fork stream errored before tool result completed: ${errorMessage}`;
|
|
89
|
+
case "aborted":
|
|
90
|
+
return "Child fork stream aborted before tool result completed";
|
|
91
|
+
case "ended":
|
|
92
|
+
return "Child fork stream ended before tool result completed";
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export type HostedChildStreamWatchdogPhase = "tool_running" | "post_tool_idle" | "generic_idle";
|
|
2
|
+
export interface HostedChildStreamWatchdogState {
|
|
3
|
+
phase: HostedChildStreamWatchdogPhase;
|
|
4
|
+
timeoutMs: number;
|
|
5
|
+
}
|
|
6
|
+
export declare class HostedChildStreamIdleTimeoutError extends Error {
|
|
7
|
+
readonly timeoutMs: number;
|
|
8
|
+
readonly phase: HostedChildStreamWatchdogPhase;
|
|
9
|
+
constructor(input: HostedChildStreamWatchdogState);
|
|
10
|
+
}
|
|
11
|
+
export declare const HOSTED_CHILD_STREAM_TIMEOUT_TOKEN: unique symbol;
|
|
12
|
+
export declare function resolveHostedChildStreamWatchdogState(input: {
|
|
13
|
+
activeToolCallId: string | null;
|
|
14
|
+
completedToolResults: number;
|
|
15
|
+
idleTimeoutMs: number;
|
|
16
|
+
activeToolTimeoutMs: number;
|
|
17
|
+
postToolIdleTimeoutMs: number;
|
|
18
|
+
}): HostedChildStreamWatchdogState;
|
|
19
|
+
export declare function composeAbortSignals(signals: Array<AbortSignal | undefined>): AbortSignal | undefined;
|
|
20
|
+
export declare function withHostedChildStreamIdleTimeout<T>(input: {
|
|
21
|
+
stream: AsyncIterable<T>;
|
|
22
|
+
getWatchdogState: () => HostedChildStreamWatchdogState;
|
|
23
|
+
abortSignal?: AbortSignal;
|
|
24
|
+
onIdleTimeout?: (state: HostedChildStreamWatchdogState) => undefined | "continue" | Promise<undefined | "continue">;
|
|
25
|
+
}): AsyncGenerator<T, void, void>;
|
|
26
|
+
export declare function resolveHostedChildPromiseWithTimeout<T>(promise: PromiseLike<T>, timeoutMs: number): Promise<T | typeof HOSTED_CHILD_STREAM_TIMEOUT_TOKEN>;
|
|
27
|
+
//# sourceMappingURL=hosted-child-stream-watchdog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosted-child-stream-watchdog.d.ts","sourceRoot":"","sources":["../../../src/src/agent/hosted-child-stream-watchdog.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,8BAA8B,GAAG,cAAc,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAEhG,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,8BAA8B,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,iCAAkC,SAAQ,KAAK;IAC1D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,8BAA8B,CAAC;gBAEnC,KAAK,EAAE,8BAA8B;CAUlD;AAED,eAAO,MAAM,iCAAiC,eAAwC,CAAC;AAEvF,wBAAgB,qCAAqC,CAAC,KAAK,EAAE;IAC3D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,GAAG,8BAA8B,CAmBjC;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,GACtC,WAAW,GAAG,SAAS,CASzB;AAED,wBAAuB,gCAAgC,CAAC,CAAC,EAAE,KAAK,EAAE;IAChE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACzB,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;IACvD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,8BAA8B,KAClC,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;CAC/D,GAAG,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CA+ChC;AAED,wBAAsB,oCAAoC,CAAC,CAAC,EAC1D,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,GAAG,OAAO,iCAAiC,CAAC,CAevD"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import * as dntShim from "../../_dnt.shims.js";
|
|
2
|
+
import { throwIfChildRunAborted } from "./child-run-execution-support.js";
|
|
3
|
+
export class HostedChildStreamIdleTimeoutError extends Error {
|
|
4
|
+
timeoutMs;
|
|
5
|
+
phase;
|
|
6
|
+
constructor(input) {
|
|
7
|
+
super(`Child fork stream stalled after ${Math.round(input.timeoutMs / 1000)}s without yielding a new event.`);
|
|
8
|
+
this.name = "HostedChildStreamIdleTimeoutError";
|
|
9
|
+
this.timeoutMs = input.timeoutMs;
|
|
10
|
+
this.phase = input.phase;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export const HOSTED_CHILD_STREAM_TIMEOUT_TOKEN = Symbol("hosted-child-stream-timeout");
|
|
14
|
+
export function resolveHostedChildStreamWatchdogState(input) {
|
|
15
|
+
if (input.activeToolCallId) {
|
|
16
|
+
return {
|
|
17
|
+
phase: "tool_running",
|
|
18
|
+
timeoutMs: input.activeToolTimeoutMs,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
if (input.completedToolResults > 0) {
|
|
22
|
+
return {
|
|
23
|
+
phase: "post_tool_idle",
|
|
24
|
+
timeoutMs: input.postToolIdleTimeoutMs,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
phase: "generic_idle",
|
|
29
|
+
timeoutMs: input.idleTimeoutMs,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export function composeAbortSignals(signals) {
|
|
33
|
+
const activeSignals = signals.filter((signal) => signal != null);
|
|
34
|
+
if (activeSignals.length === 0) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
if (activeSignals.length === 1) {
|
|
38
|
+
return activeSignals[0];
|
|
39
|
+
}
|
|
40
|
+
return AbortSignal.any(activeSignals);
|
|
41
|
+
}
|
|
42
|
+
export async function* withHostedChildStreamIdleTimeout(input) {
|
|
43
|
+
const iterator = input.stream[Symbol.asyncIterator]();
|
|
44
|
+
let pendingNext = null;
|
|
45
|
+
while (true) {
|
|
46
|
+
throwIfChildRunAborted(input.abortSignal);
|
|
47
|
+
let timeoutId = null;
|
|
48
|
+
const watchdogState = input.getWatchdogState();
|
|
49
|
+
if (!pendingNext) {
|
|
50
|
+
pendingNext = iterator.next();
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
const result = await Promise.race([
|
|
54
|
+
pendingNext,
|
|
55
|
+
new Promise((resolve) => {
|
|
56
|
+
timeoutId = dntShim.setTimeout(() => {
|
|
57
|
+
resolve(HOSTED_CHILD_STREAM_TIMEOUT_TOKEN);
|
|
58
|
+
}, watchdogState.timeoutMs);
|
|
59
|
+
}),
|
|
60
|
+
]);
|
|
61
|
+
if (result === HOSTED_CHILD_STREAM_TIMEOUT_TOKEN) {
|
|
62
|
+
const action = await input.onIdleTimeout?.(watchdogState);
|
|
63
|
+
if (action === "continue") {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
throw new HostedChildStreamIdleTimeoutError(watchdogState);
|
|
67
|
+
}
|
|
68
|
+
pendingNext = null;
|
|
69
|
+
if (result.done) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
yield result.value;
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
if (timeoutId) {
|
|
76
|
+
clearTimeout(timeoutId);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
export async function resolveHostedChildPromiseWithTimeout(promise, timeoutMs) {
|
|
82
|
+
let timeoutId = null;
|
|
83
|
+
try {
|
|
84
|
+
return await Promise.race([
|
|
85
|
+
Promise.resolve(promise),
|
|
86
|
+
new Promise((resolve) => {
|
|
87
|
+
timeoutId = dntShim.setTimeout(() => resolve(HOSTED_CHILD_STREAM_TIMEOUT_TOKEN), timeoutMs);
|
|
88
|
+
}),
|
|
89
|
+
]);
|
|
90
|
+
}
|
|
91
|
+
finally {
|
|
92
|
+
if (timeoutId) {
|
|
93
|
+
clearTimeout(timeoutId);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
package/esm/src/agent/index.d.ts
CHANGED
|
@@ -112,6 +112,8 @@ export { type ConversationRunMirror, type ConversationRunMirrorRetryScheduledSta
|
|
|
112
112
|
export { appendMissingChildRunToolCalls, appendMissingChildRunToolResults, buildChildRunExhaustedStepBudgetErrorMessage, } from "./child-run-final-step-support.js";
|
|
113
113
|
export { formatChildRunStreamPartError, isChildRunAbortError, throwIfChildRunAborted, toChildRunToolInputRecord, } from "./child-run-execution-support.js";
|
|
114
114
|
export { type ChildRunExecutionBufferCleanupInput, type ChildRunExecutionResourceFinalizeInput, closeChildRunExecutionBuffers, finalizeChildRunExecutionResources, } from "./child-run-execution-cleanup.js";
|
|
115
|
+
export { createHostedChildPendingToolLifecycle, type HostedChildPendingToolCallPhase, type HostedChildPendingToolCallState, type HostedChildPendingToolLifecycleCloseLog, type HostedChildPendingToolLifecycleCloseReason, type HostedChildPendingToolLifecycleInput, type HostedChildPendingToolLifecycleLogger, type HostedChildPendingToolLifecycleUnknownToolLog, } from "./hosted-child-pending-tool-lifecycle.js";
|
|
116
|
+
export { composeAbortSignals, HOSTED_CHILD_STREAM_TIMEOUT_TOKEN, HostedChildStreamIdleTimeoutError, type HostedChildStreamWatchdogPhase, type HostedChildStreamWatchdogState, resolveHostedChildPromiseWithTimeout, resolveHostedChildStreamWatchdogState, withHostedChildStreamIdleTimeout, } from "./hosted-child-stream-watchdog.js";
|
|
115
117
|
export { buildChildRunResultSummary, buildRootOwnedChildRunResultHint, buildRootOwnedChildRunResultText, summarizeChildRunResultText, summarizeChildRunResultValue, } from "./child-run-result-summary.js";
|
|
116
118
|
export { buildChildRunExecutionSnapshot, buildChildRunFailureResult, buildChildRunFailureSnapshot, buildChildRunResultCommon, buildChildRunSuccessResult, buildChildRunSuccessSnapshot, type ChildRunExecutionResult, type ChildRunExecutionSnapshot, type ChildRunExecutionUsage, type ChildRunResultCommon, type ChildRunToolCallSnapshot, type ChildRunToolResultSnapshot, getChildRunSnapshotUsage, } from "./child-run-execution-snapshot.js";
|
|
117
119
|
export { type ConversationRunChunkMirror, type ConversationRunChunkMirrorApiOptions, type ConversationRunChunkMirrorOptions, type ConversationRunChunkMirrorPrepareChunkEventsInput, type ConversationRunChunkMirrorPreparedChunk, type ConversationRunChunkMirrorPreparedEvents, type ConversationRunChunkMirrorPrepareExternalEventsInput, type ConversationRunChunkMirrorQueueOptions, createConversationRunChunkMirror, } from "./conversation-run-chunk-mirror.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/agent/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,OAAO,yBAAyB,CAAC;AAGjC,YAAY,EACV,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,OAAO,IAAI,YAAY,EACvB,WAAW,EACX,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEnF,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,WAAW,EACX,KAAK,iBAAiB,EACtB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,WAAW,EACX,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,8BAA8B,GACpC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,uBAAuB,EAC5B,sBAAsB,EACtB,KAAK,6BAA6B,EAClC,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,kCAAkC,EAClC,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,gCAAgC,EAChC,6BAA6B,EAC7B,yBAAyB,EACzB,wCAAwC,GACzC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,oCAAoC,GAC1C,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,oCAAoC,GAC1C,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,iCAAiC,EACtC,kCAAkC,EAClC,KAAK,yCAAyC,GAC/C,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,KAAK,0BAA0B,EAC/B,gCAAgC,EAChC,KAAK,uCAAuC,GAC7C,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,mCAAmC,GACzC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,+BAA+B,EAC/B,KAAK,oCAAoC,GAC1C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,gCAAgC,EAChC,KAAK,qCAAqC,GAC3C,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,gCAAgC,EAChC,KAAK,qCAAqC,GAC3C,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,KAAK,sBAAsB,EAC3B,4BAA4B,GAC7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,gCAAgC,EAChC,qCAAqC,EACrC,iCAAiC,EACjC,wBAAwB,GACzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,KAAK,4BAA4B,EACjC,mCAAmC,EACnC,KAAK,0CAA0C,GAChD,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,6BAA6B,EAC7B,KAAK,mCAAmC,EACxC,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,gCAAgC,EAChC,KAAK,gCAAgC,GACtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,wCAAwC,EAC7C,uCAAuC,EACvC,wCAAwC,EACxC,KAAK,+CAA+C,EACpD,8CAA8C,GAC/C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,oCAAoC,EACzC,uCAAuC,EACvC,KAAK,8CAA8C,EACnD,iCAAiC,GAClC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,qCAAqC,EACrC,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,KAAK,oBAAoB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,qCAAqC,GACtC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,iCAAiC,EACjC,oCAAoC,EACpC,kCAAkC,EAClC,4BAA4B,GAC7B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,wCAAwC,EAC7C,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EACtC,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,EAChC,4CAA4C,GAC7C,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,KAAK,mCAAmC,EACxC,KAAK,sCAAsC,EAC3C,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,qCAAqC,EACrC,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,uCAAuC,EAC5C,KAAK,0CAA0C,EAC/C,KAAK,oCAAoC,EACzC,KAAK,qCAAqC,EAC1C,KAAK,6CAA6C,GACnD,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,iCAAiC,EACjC,iCAAiC,EACjC,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACnC,oCAAoC,EACpC,qCAAqC,EACrC,gCAAgC,GACjC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,gCAAgC,EAChC,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,wBAAwB,GACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,oCAAoC,EACzC,KAAK,iCAAiC,EACtC,KAAK,iDAAiD,EACtD,KAAK,uCAAuC,EAC5C,KAAK,wCAAwC,EAC7C,KAAK,oDAAoD,EACzD,KAAK,sCAAsC,EAC3C,gCAAgC,GACjC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,KAAK,2BAA2B,EAChC,iCAAiC,GAClC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,sBAAsB,EACtB,KAAK,6BAA6B,EAClC,sBAAsB,EACtB,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,mBAAmB,GACzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,2BAA2B,EAChC,2BAA2B,EAC3B,gCAAgC,EAChC,KAAK,mCAAmC,EACxC,yCAAyC,EACzC,qCAAqC,EACrC,KAAK,yBAAyB,EAC9B,KAAK,uCAAuC,EAC5C,KAAK,qCAAqC,EAC1C,KAAK,mCAAmC,EACxC,KAAK,oCAAoC,EACzC,KAAK,gCAAgC,EACrC,KAAK,mCAAmC,EACxC,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,gCAAgC,EACrC,2BAA2B,EAC3B,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,iCAAiC,EACjC,0BAA0B,EAC1B,yCAAyC,EACzC,4BAA4B,EAC5B,gCAAgC,EAChC,8BAA8B,EAC9B,kBAAkB,EAClB,6BAA6B,EAC7B,qCAAqC,EACrC,0CAA0C,EAC1C,qCAAqC,EACrC,4BAA4B,EAC5B,yCAAyC,EACzC,qCAAqC,EACrC,mCAAmC,EACnC,oCAAoC,EACpC,6BAA6B,EAC7B,iCAAiC,EACjC,KAAK,6BAA6B,GACnC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,4CAA4C,EAC5C,sCAAsC,EACtC,kCAAkC,EAClC,KAAK,uCAAuC,EAC5C,6CAA6C,EAC7C,KAAK,iCAAiC,EACtC,uCAAuC,EACvC,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAClC,mCAAmC,EACnC,kCAAkC,GACnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EACtC,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,yBAAyB,EAC9B,6BAA6B,EAC7B,KAAK,yBAAyB,EAC9B,2BAA2B,EAC3B,mCAAmC,GACpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,kCAAkC,EACvC,KAAK,0BAA0B,EAC/B,oCAAoC,GACrC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,kCAAkC,GACnC,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mCAAmC,EACnC,KAAK,wCAAwC,EAC7C,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,2BAA2B,EAChC,iCAAiC,GAClC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,kCAAkC,GACxC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,8BAA8B,EAC9B,wBAAwB,EACxB,KAAK,6BAA6B,GACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,YAAY,EACjB,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,EACjB,KAAK,wBAAwB,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,8BAA8B,EACnC,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC"}
|
package/esm/src/agent/index.js
CHANGED
|
@@ -111,6 +111,8 @@ export { createConversationRunMirror, } from "./conversation-run-mirror.js";
|
|
|
111
111
|
export { appendMissingChildRunToolCalls, appendMissingChildRunToolResults, buildChildRunExhaustedStepBudgetErrorMessage, } from "./child-run-final-step-support.js";
|
|
112
112
|
export { formatChildRunStreamPartError, isChildRunAbortError, throwIfChildRunAborted, toChildRunToolInputRecord, } from "./child-run-execution-support.js";
|
|
113
113
|
export { closeChildRunExecutionBuffers, finalizeChildRunExecutionResources, } from "./child-run-execution-cleanup.js";
|
|
114
|
+
export { createHostedChildPendingToolLifecycle, } from "./hosted-child-pending-tool-lifecycle.js";
|
|
115
|
+
export { composeAbortSignals, HOSTED_CHILD_STREAM_TIMEOUT_TOKEN, HostedChildStreamIdleTimeoutError, resolveHostedChildPromiseWithTimeout, resolveHostedChildStreamWatchdogState, withHostedChildStreamIdleTimeout, } from "./hosted-child-stream-watchdog.js";
|
|
114
116
|
export { buildChildRunResultSummary, buildRootOwnedChildRunResultHint, buildRootOwnedChildRunResultText, summarizeChildRunResultText, summarizeChildRunResultValue, } from "./child-run-result-summary.js";
|
|
115
117
|
export { buildChildRunExecutionSnapshot, buildChildRunFailureResult, buildChildRunFailureSnapshot, buildChildRunResultCommon, buildChildRunSuccessResult, buildChildRunSuccessSnapshot, getChildRunSnapshotUsage, } from "./child-run-execution-snapshot.js";
|
|
116
118
|
export { createConversationRunChunkMirror, } from "./conversation-run-chunk-mirror.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.311";
|
|
2
2
|
//# sourceMappingURL=version-constant.d.ts.map
|
package/package.json
CHANGED
package/src/deno.js
CHANGED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import type { ChatMessageMetadata, ChatUiMessageChunk } from "../chat/protocol.js";
|
|
2
|
+
import { toChildRunToolInputRecord } from "./child-run-execution-support.js";
|
|
3
|
+
|
|
4
|
+
export type HostedChildPendingToolCallPhase = "input_streaming" | "awaiting_result";
|
|
5
|
+
|
|
6
|
+
export interface HostedChildPendingToolCallState {
|
|
7
|
+
phase: HostedChildPendingToolCallPhase;
|
|
8
|
+
toolName?: string;
|
|
9
|
+
input?: unknown;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type HostedChildPendingToolLifecycleCloseReason =
|
|
13
|
+
| { kind: "ended" }
|
|
14
|
+
| { kind: "aborted" }
|
|
15
|
+
| { kind: "error"; error: unknown };
|
|
16
|
+
|
|
17
|
+
export interface HostedChildPendingToolLifecycleCloseLog {
|
|
18
|
+
reason: HostedChildPendingToolLifecycleCloseReason["kind"];
|
|
19
|
+
toolCallIds: string[];
|
|
20
|
+
errorMessage: string | null;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface HostedChildPendingToolLifecycleUnknownToolLog {
|
|
24
|
+
toolCallId: string;
|
|
25
|
+
phase: HostedChildPendingToolCallPhase;
|
|
26
|
+
reason: HostedChildPendingToolLifecycleCloseReason["kind"];
|
|
27
|
+
hasInputSnapshot: boolean;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface HostedChildPendingToolLifecycleLogger {
|
|
31
|
+
warnIncompleteToolLifecycles?: (input: HostedChildPendingToolLifecycleCloseLog) => void;
|
|
32
|
+
warnUnknownToolIdentity?: (input: HostedChildPendingToolLifecycleUnknownToolLog) => void;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export interface HostedChildPendingToolLifecycleInput {
|
|
36
|
+
appendMirrorChunk: (chunk: ChatUiMessageChunk<ChatMessageMetadata>) => Promise<void> | void;
|
|
37
|
+
logger?: HostedChildPendingToolLifecycleLogger;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function createHostedChildPendingToolLifecycle(input: HostedChildPendingToolLifecycleInput) {
|
|
41
|
+
const startedToolCallIds = new Set<string>();
|
|
42
|
+
const pendingToolCalls = new Map<string, HostedChildPendingToolCallState>();
|
|
43
|
+
|
|
44
|
+
const emitToolInputStartIfNeeded = async (toolCallId: string, toolName: string) => {
|
|
45
|
+
if (startedToolCallIds.has(toolCallId)) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
startedToolCallIds.add(toolCallId);
|
|
50
|
+
await input.appendMirrorChunk({
|
|
51
|
+
type: "tool-input-start",
|
|
52
|
+
toolCallId,
|
|
53
|
+
toolName,
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const upsertPendingToolCall = (toolCallId: string, state: HostedChildPendingToolCallState) => {
|
|
58
|
+
const existing = pendingToolCalls.get(toolCallId);
|
|
59
|
+
pendingToolCalls.set(toolCallId, {
|
|
60
|
+
phase: state.phase,
|
|
61
|
+
toolName: state.toolName ?? existing?.toolName,
|
|
62
|
+
input: state.input ?? existing?.input,
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const closePendingToolCalls = async (reason: HostedChildPendingToolLifecycleCloseReason) => {
|
|
67
|
+
if (pendingToolCalls.size === 0) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const errorMessage = reason.kind === "error"
|
|
72
|
+
? (reason.error instanceof Error ? reason.error.message : String(reason.error))
|
|
73
|
+
: null;
|
|
74
|
+
const toolCallIds = [...pendingToolCalls.keys()];
|
|
75
|
+
|
|
76
|
+
input.logger?.warnIncompleteToolLifecycles?.({
|
|
77
|
+
reason: reason.kind,
|
|
78
|
+
toolCallIds,
|
|
79
|
+
errorMessage,
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
for (const [toolCallId, state] of pendingToolCalls) {
|
|
83
|
+
const toolName = state.toolName ?? "unknown";
|
|
84
|
+
if (toolName === "unknown") {
|
|
85
|
+
input.logger?.warnUnknownToolIdentity?.({
|
|
86
|
+
toolCallId,
|
|
87
|
+
phase: state.phase,
|
|
88
|
+
reason: reason.kind,
|
|
89
|
+
hasInputSnapshot: typeof state.input !== "undefined",
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
await emitToolInputStartIfNeeded(toolCallId, toolName);
|
|
94
|
+
|
|
95
|
+
if (state.phase === "awaiting_result") {
|
|
96
|
+
await input.appendMirrorChunk({
|
|
97
|
+
type: "tool-output-error",
|
|
98
|
+
toolCallId,
|
|
99
|
+
errorText: buildPendingToolOutputErrorText(reason, errorMessage),
|
|
100
|
+
});
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
await input.appendMirrorChunk({
|
|
105
|
+
type: "tool-input-error",
|
|
106
|
+
toolCallId,
|
|
107
|
+
toolName,
|
|
108
|
+
input: toChildRunToolInputRecord(state.input),
|
|
109
|
+
errorText: buildPendingToolInputErrorText(reason, errorMessage),
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
pendingToolCalls.clear();
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
return {
|
|
117
|
+
upsertPendingToolCall,
|
|
118
|
+
emitToolInputStartIfNeeded,
|
|
119
|
+
deletePendingToolCall: (toolCallId: string) => {
|
|
120
|
+
pendingToolCalls.delete(toolCallId);
|
|
121
|
+
},
|
|
122
|
+
closePendingToolCalls,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function buildPendingToolInputErrorText(
|
|
127
|
+
reason: HostedChildPendingToolLifecycleCloseReason,
|
|
128
|
+
errorMessage: string | null,
|
|
129
|
+
): string {
|
|
130
|
+
switch (reason.kind) {
|
|
131
|
+
case "error":
|
|
132
|
+
return `Child fork stream errored before tool input completed: ${errorMessage}`;
|
|
133
|
+
case "aborted":
|
|
134
|
+
return "Child fork stream aborted before tool input completed";
|
|
135
|
+
case "ended":
|
|
136
|
+
return "Child fork stream ended before tool input completed";
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
function buildPendingToolOutputErrorText(
|
|
141
|
+
reason: HostedChildPendingToolLifecycleCloseReason,
|
|
142
|
+
errorMessage: string | null,
|
|
143
|
+
): string {
|
|
144
|
+
switch (reason.kind) {
|
|
145
|
+
case "error":
|
|
146
|
+
return `Child fork stream errored before tool result completed: ${errorMessage}`;
|
|
147
|
+
case "aborted":
|
|
148
|
+
return "Child fork stream aborted before tool result completed";
|
|
149
|
+
case "ended":
|
|
150
|
+
return "Child fork stream ended before tool result completed";
|
|
151
|
+
}
|
|
152
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import * as dntShim from "../../_dnt.shims.js";
|
|
2
|
+
import { throwIfChildRunAborted } from "./child-run-execution-support.js";
|
|
3
|
+
|
|
4
|
+
export type HostedChildStreamWatchdogPhase = "tool_running" | "post_tool_idle" | "generic_idle";
|
|
5
|
+
|
|
6
|
+
export interface HostedChildStreamWatchdogState {
|
|
7
|
+
phase: HostedChildStreamWatchdogPhase;
|
|
8
|
+
timeoutMs: number;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export class HostedChildStreamIdleTimeoutError extends Error {
|
|
12
|
+
readonly timeoutMs: number;
|
|
13
|
+
readonly phase: HostedChildStreamWatchdogPhase;
|
|
14
|
+
|
|
15
|
+
constructor(input: HostedChildStreamWatchdogState) {
|
|
16
|
+
super(
|
|
17
|
+
`Child fork stream stalled after ${
|
|
18
|
+
Math.round(input.timeoutMs / 1000)
|
|
19
|
+
}s without yielding a new event.`,
|
|
20
|
+
);
|
|
21
|
+
this.name = "HostedChildStreamIdleTimeoutError";
|
|
22
|
+
this.timeoutMs = input.timeoutMs;
|
|
23
|
+
this.phase = input.phase;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const HOSTED_CHILD_STREAM_TIMEOUT_TOKEN = Symbol("hosted-child-stream-timeout");
|
|
28
|
+
|
|
29
|
+
export function resolveHostedChildStreamWatchdogState(input: {
|
|
30
|
+
activeToolCallId: string | null;
|
|
31
|
+
completedToolResults: number;
|
|
32
|
+
idleTimeoutMs: number;
|
|
33
|
+
activeToolTimeoutMs: number;
|
|
34
|
+
postToolIdleTimeoutMs: number;
|
|
35
|
+
}): HostedChildStreamWatchdogState {
|
|
36
|
+
if (input.activeToolCallId) {
|
|
37
|
+
return {
|
|
38
|
+
phase: "tool_running",
|
|
39
|
+
timeoutMs: input.activeToolTimeoutMs,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (input.completedToolResults > 0) {
|
|
44
|
+
return {
|
|
45
|
+
phase: "post_tool_idle",
|
|
46
|
+
timeoutMs: input.postToolIdleTimeoutMs,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return {
|
|
51
|
+
phase: "generic_idle",
|
|
52
|
+
timeoutMs: input.idleTimeoutMs,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function composeAbortSignals(
|
|
57
|
+
signals: Array<AbortSignal | undefined>,
|
|
58
|
+
): AbortSignal | undefined {
|
|
59
|
+
const activeSignals = signals.filter((signal): signal is AbortSignal => signal != null);
|
|
60
|
+
if (activeSignals.length === 0) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
if (activeSignals.length === 1) {
|
|
64
|
+
return activeSignals[0];
|
|
65
|
+
}
|
|
66
|
+
return AbortSignal.any(activeSignals);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export async function* withHostedChildStreamIdleTimeout<T>(input: {
|
|
70
|
+
stream: AsyncIterable<T>;
|
|
71
|
+
getWatchdogState: () => HostedChildStreamWatchdogState;
|
|
72
|
+
abortSignal?: AbortSignal;
|
|
73
|
+
onIdleTimeout?: (
|
|
74
|
+
state: HostedChildStreamWatchdogState,
|
|
75
|
+
) => undefined | "continue" | Promise<undefined | "continue">;
|
|
76
|
+
}): AsyncGenerator<T, void, void> {
|
|
77
|
+
const iterator = input.stream[Symbol.asyncIterator]();
|
|
78
|
+
let pendingNext: Promise<IteratorResult<T>> | null = null;
|
|
79
|
+
|
|
80
|
+
while (true) {
|
|
81
|
+
throwIfChildRunAborted(input.abortSignal);
|
|
82
|
+
|
|
83
|
+
let timeoutId: ReturnType<typeof dntShim.setTimeout> | null = null;
|
|
84
|
+
const watchdogState = input.getWatchdogState();
|
|
85
|
+
if (!pendingNext) {
|
|
86
|
+
pendingNext = iterator.next();
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
try {
|
|
90
|
+
const result = await Promise.race<
|
|
91
|
+
IteratorResult<T> | typeof HOSTED_CHILD_STREAM_TIMEOUT_TOKEN
|
|
92
|
+
>([
|
|
93
|
+
pendingNext,
|
|
94
|
+
new Promise<typeof HOSTED_CHILD_STREAM_TIMEOUT_TOKEN>((resolve) => {
|
|
95
|
+
timeoutId = dntShim.setTimeout(() => {
|
|
96
|
+
resolve(HOSTED_CHILD_STREAM_TIMEOUT_TOKEN);
|
|
97
|
+
}, watchdogState.timeoutMs);
|
|
98
|
+
}),
|
|
99
|
+
]);
|
|
100
|
+
|
|
101
|
+
if (result === HOSTED_CHILD_STREAM_TIMEOUT_TOKEN) {
|
|
102
|
+
const action = await input.onIdleTimeout?.(watchdogState);
|
|
103
|
+
if (action === "continue") {
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
throw new HostedChildStreamIdleTimeoutError(watchdogState);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
pendingNext = null;
|
|
111
|
+
|
|
112
|
+
if (result.done) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
yield result.value;
|
|
117
|
+
} finally {
|
|
118
|
+
if (timeoutId) {
|
|
119
|
+
clearTimeout(timeoutId);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export async function resolveHostedChildPromiseWithTimeout<T>(
|
|
126
|
+
promise: PromiseLike<T>,
|
|
127
|
+
timeoutMs: number,
|
|
128
|
+
): Promise<T | typeof HOSTED_CHILD_STREAM_TIMEOUT_TOKEN> {
|
|
129
|
+
let timeoutId: ReturnType<typeof dntShim.setTimeout> | null = null;
|
|
130
|
+
|
|
131
|
+
try {
|
|
132
|
+
return await Promise.race([
|
|
133
|
+
Promise.resolve(promise),
|
|
134
|
+
new Promise<typeof HOSTED_CHILD_STREAM_TIMEOUT_TOKEN>((resolve) => {
|
|
135
|
+
timeoutId = dntShim.setTimeout(() => resolve(HOSTED_CHILD_STREAM_TIMEOUT_TOKEN), timeoutMs);
|
|
136
|
+
}),
|
|
137
|
+
]);
|
|
138
|
+
} finally {
|
|
139
|
+
if (timeoutId) {
|
|
140
|
+
clearTimeout(timeoutId);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
package/src/src/agent/index.ts
CHANGED
|
@@ -329,6 +329,26 @@ export {
|
|
|
329
329
|
closeChildRunExecutionBuffers,
|
|
330
330
|
finalizeChildRunExecutionResources,
|
|
331
331
|
} from "./child-run-execution-cleanup.js";
|
|
332
|
+
export {
|
|
333
|
+
createHostedChildPendingToolLifecycle,
|
|
334
|
+
type HostedChildPendingToolCallPhase,
|
|
335
|
+
type HostedChildPendingToolCallState,
|
|
336
|
+
type HostedChildPendingToolLifecycleCloseLog,
|
|
337
|
+
type HostedChildPendingToolLifecycleCloseReason,
|
|
338
|
+
type HostedChildPendingToolLifecycleInput,
|
|
339
|
+
type HostedChildPendingToolLifecycleLogger,
|
|
340
|
+
type HostedChildPendingToolLifecycleUnknownToolLog,
|
|
341
|
+
} from "./hosted-child-pending-tool-lifecycle.js";
|
|
342
|
+
export {
|
|
343
|
+
composeAbortSignals,
|
|
344
|
+
HOSTED_CHILD_STREAM_TIMEOUT_TOKEN,
|
|
345
|
+
HostedChildStreamIdleTimeoutError,
|
|
346
|
+
type HostedChildStreamWatchdogPhase,
|
|
347
|
+
type HostedChildStreamWatchdogState,
|
|
348
|
+
resolveHostedChildPromiseWithTimeout,
|
|
349
|
+
resolveHostedChildStreamWatchdogState,
|
|
350
|
+
withHostedChildStreamIdleTimeout,
|
|
351
|
+
} from "./hosted-child-stream-watchdog.js";
|
|
332
352
|
export {
|
|
333
353
|
buildChildRunResultSummary,
|
|
334
354
|
buildRootOwnedChildRunResultHint,
|