veryfront 0.1.334 → 0.1.336

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.334",
3
+ "version": "0.1.336",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "workspace": [
@@ -1,3 +1,4 @@
1
+ import { type ChildRunExecutionResult, type ChildRunExecutionSnapshot } from "./child-run-execution-snapshot.js";
1
2
  export interface HostedChildLifecycleTerminalState {
2
3
  status: "completed" | "failed" | "cancelled";
3
4
  usage?: {
@@ -37,5 +38,25 @@ export type HostedChildLifecycleRunResult<TResult> = {
37
38
  error: unknown;
38
39
  terminalState: HostedChildLifecycleTerminalState;
39
40
  };
41
+ export type HostedChildExecutionLifecycleResult<TLocalResult extends ChildRunExecutionResult> = {
42
+ status: "completed";
43
+ result: TLocalResult;
44
+ snapshot: ChildRunExecutionSnapshot;
45
+ terminalState: HostedChildLifecycleTerminalState;
46
+ } | {
47
+ status: "failed" | "cancelled";
48
+ error: unknown;
49
+ terminalState: HostedChildLifecycleTerminalState;
50
+ };
51
+ export interface HostedChildExecutionLifecycleOptions<TLocalResult extends ChildRunExecutionResult> {
52
+ adapter: HostedChildLifecycleAdapter;
53
+ executionFailedCode: string;
54
+ abortSignal?: AbortSignal | undefined;
55
+ execute: () => Promise<TLocalResult> | TLocalResult;
56
+ getExecutionSnapshot: () => ChildRunExecutionSnapshot | null;
57
+ onLifecycleError?: (error: unknown) => Promise<void> | void;
58
+ skipTerminalPersistence?: (terminalState: HostedChildLifecycleTerminalState) => boolean;
59
+ }
40
60
  export declare function runHostedChildLifecycle<TResult>(options: HostedChildLifecycleRunnerOptions<TResult>): Promise<HostedChildLifecycleRunResult<TResult>>;
61
+ export declare function runHostedChildExecutionLifecycle<TLocalResult extends ChildRunExecutionResult>(options: HostedChildExecutionLifecycleOptions<TLocalResult>): Promise<HostedChildExecutionLifecycleResult<TLocalResult>>;
41
62
  //# sourceMappingURL=hosted-child-lifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-child-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/src/agent/hosted-child-lifecycle.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iCAAiC;IAChD,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC7C,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,kCACf,SAAQ,IAAI,CAAC,iCAAiC,EAAE,QAAQ,CAAC;IACzD,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,CACV,aAAa,EAAE,iCAAiC,KAC7C,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,CACP,aAAa,EAAE,iCAAiC,KAC7C,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,CACV,aAAa,EAAE,iCAAiC,KAC7C,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,8BACf,SAAQ,IAAI,CAAC,iCAAiC,EAAE,QAAQ,CAAC;IACzD,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAC;CAChC;AAED,MAAM,WAAW,iCAAiC,CAAC,OAAO;IACxD,OAAO,EAAE,2BAA2B,CAAC;IACrC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC1C,qBAAqB,CAAC,EAAE,CACtB,MAAM,EAAE,OAAO,KAEb,OAAO,CAAC,kCAAkC,CAAC,GAC3C,kCAAkC,CAAC;IACvC,iBAAiB,EAAE,CACjB,KAAK,EAAE,OAAO,KAEZ,OAAO,CAAC,8BAA8B,CAAC,GACvC,8BAA8B,CAAC;IACnC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7D;AAED,MAAM,MAAM,6BAA6B,CAAC,OAAO,IAC7C;IACA,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,iCAAiC,CAAC;CAClD,GACC;IACA,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,iCAAiC,CAAC;CAClD,CAAC;AAmBJ,wBAAsB,uBAAuB,CAAC,OAAO,EACnD,OAAO,EAAE,iCAAiC,CAAC,OAAO,CAAC,GAClD,OAAO,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAsCjD"}
1
+ {"version":3,"file":"hosted-child-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/src/agent/hosted-child-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,14 @@
1
+ import { buildChildRunExecutionSnapshot, getChildRunSnapshotUsage, } from "./child-run-execution-snapshot.js";
2
+ import { isChildRunAbortError } from "./child-run-execution-support.js";
3
+ import { HostedChildTerminalStateError, resolveHostedChildTerminalErrorCode, } from "./hosted-child-status.js";
4
+ class HostedChildExecutionFailure extends Error {
5
+ usage;
6
+ constructor(message, usage) {
7
+ super(message);
8
+ this.usage = usage;
9
+ this.name = "HostedChildExecutionFailure";
10
+ }
11
+ }
1
12
  async function dispatchTerminalState(adapter, terminalState) {
2
13
  if (terminalState.status === "cancelled") {
3
14
  await adapter.cancelled?.(terminalState);
@@ -45,3 +56,134 @@ export async function runHostedChildLifecycle(options) {
45
56
  terminalState,
46
57
  };
47
58
  }
59
+ function toHostedChildLifecycleUsage(usage) {
60
+ if (!usage) {
61
+ return undefined;
62
+ }
63
+ return {
64
+ inputTokens: usage.inputTokens,
65
+ outputTokens: usage.outputTokens,
66
+ totalTokens: usage.totalTokens,
67
+ };
68
+ }
69
+ function wrapSkippableTerminalPersistence(adapter, skipTerminalPersistence) {
70
+ if (!skipTerminalPersistence) {
71
+ return adapter;
72
+ }
73
+ return {
74
+ ...adapter,
75
+ failed: async (terminalState) => {
76
+ if (skipTerminalPersistence(terminalState)) {
77
+ return;
78
+ }
79
+ await adapter.failed?.(terminalState);
80
+ },
81
+ cancelled: async (terminalState) => {
82
+ if (skipTerminalPersistence(terminalState)) {
83
+ return;
84
+ }
85
+ await adapter.cancelled?.(terminalState);
86
+ },
87
+ };
88
+ }
89
+ function resolveHostedChildExecutionErrorState(error, input) {
90
+ if (error instanceof HostedChildTerminalStateError) {
91
+ if (error.status === "completed") {
92
+ throw error;
93
+ }
94
+ return {
95
+ status: error.status,
96
+ terminalErrorCode: resolveHostedChildTerminalErrorCode(error.status),
97
+ terminalErrorMessage: error.message,
98
+ };
99
+ }
100
+ if (error instanceof HostedChildExecutionFailure) {
101
+ return {
102
+ status: "failed",
103
+ terminalErrorCode: input.executionFailedCode,
104
+ terminalErrorMessage: error.message,
105
+ usage: toHostedChildLifecycleUsage(error.usage),
106
+ };
107
+ }
108
+ if (isChildRunAbortError(error) || input.abortSignal?.aborted) {
109
+ return {
110
+ status: "cancelled",
111
+ terminalErrorCode: "CANCELLED",
112
+ terminalErrorMessage: "Child run cancelled",
113
+ usage: toHostedChildLifecycleUsage(getChildRunSnapshotUsage(input.getExecutionSnapshot())),
114
+ };
115
+ }
116
+ return {
117
+ status: "failed",
118
+ terminalErrorCode: input.executionFailedCode,
119
+ terminalErrorMessage: error instanceof Error ? error.message : String(error),
120
+ usage: toHostedChildLifecycleUsage(getChildRunSnapshotUsage(input.getExecutionSnapshot())),
121
+ };
122
+ }
123
+ export async function runHostedChildExecutionLifecycle(options) {
124
+ const adapter = wrapSkippableTerminalPersistence(options.adapter, options.skipTerminalPersistence);
125
+ try {
126
+ const lifecycleResult = await runHostedChildLifecycle({
127
+ adapter,
128
+ execute: async () => {
129
+ const result = await options.execute();
130
+ const snapshot = options.getExecutionSnapshot() ?? buildChildRunExecutionSnapshot(result);
131
+ if (!snapshot.success) {
132
+ throw new HostedChildExecutionFailure(snapshot.error ?? "Unknown error", snapshot.usage);
133
+ }
134
+ return {
135
+ result,
136
+ snapshot,
137
+ };
138
+ },
139
+ resolveCompletedState: ({ snapshot }) => ({
140
+ status: "completed",
141
+ usage: toHostedChildLifecycleUsage(snapshot.usage),
142
+ }),
143
+ resolveErrorState: (error) => resolveHostedChildExecutionErrorState(error, {
144
+ executionFailedCode: options.executionFailedCode,
145
+ abortSignal: options.abortSignal,
146
+ getExecutionSnapshot: options.getExecutionSnapshot,
147
+ }),
148
+ onLifecycleError: options.onLifecycleError,
149
+ });
150
+ if (lifecycleResult.status !== "completed") {
151
+ return lifecycleResult;
152
+ }
153
+ return {
154
+ status: "completed",
155
+ result: lifecycleResult.result.result,
156
+ snapshot: lifecycleResult.result.snapshot,
157
+ terminalState: lifecycleResult.terminalState,
158
+ };
159
+ }
160
+ catch (error) {
161
+ if (error instanceof HostedChildTerminalStateError) {
162
+ return {
163
+ status: error.status === "cancelled" ? "cancelled" : "failed",
164
+ error,
165
+ terminalState: {
166
+ status: error.status,
167
+ terminalErrorCode: resolveHostedChildTerminalErrorCode(error.status),
168
+ terminalErrorMessage: error.message,
169
+ },
170
+ };
171
+ }
172
+ const terminalState = resolveHostedChildExecutionErrorState(error, {
173
+ executionFailedCode: options.executionFailedCode,
174
+ abortSignal: options.abortSignal,
175
+ getExecutionSnapshot: options.getExecutionSnapshot,
176
+ });
177
+ try {
178
+ await dispatchTerminalState(adapter, terminalState);
179
+ }
180
+ catch (lifecycleError) {
181
+ await options.onLifecycleError?.(lifecycleError);
182
+ }
183
+ return {
184
+ status: terminalState.status,
185
+ error,
186
+ terminalState,
187
+ };
188
+ }
189
+ }
@@ -274,10 +274,33 @@ export type HumanInputRequest = z.infer<typeof HumanInputRequestSchema>;
274
274
  export type HumanInputRequestInput = z.input<typeof HumanInputRequestSchema>;
275
275
  export type HumanInputResult = z.infer<typeof HumanInputResultSchema>;
276
276
  export type HumanInputPendingRequest = z.infer<typeof HumanInputPendingRequestSchema>;
277
- type HumanInputResumeValue = {
277
+ export type HumanInputResumeValue = {
278
278
  result: unknown;
279
279
  isError: boolean;
280
280
  };
281
+ export type DurableHumanInputFlowResult<TCreatedRequest> = {
282
+ result: HumanInputResult;
283
+ createdRequest: TCreatedRequest;
284
+ };
285
+ export interface ExecuteDurableHumanInputFlowOptions<TCreatedRequest, TSnapshot> {
286
+ sessionManager?: RunResumeSessionManager<HumanInputResumeValue> | undefined;
287
+ runId: string;
288
+ threadId: string;
289
+ toolCallId: string;
290
+ request: HumanInputRequestInput;
291
+ timeoutMs: number;
292
+ pollIntervalMs: number;
293
+ onRequest: (request: HumanInputPendingRequest) => TCreatedRequest | Promise<TCreatedRequest>;
294
+ onCreatedRequest?: ((request: TCreatedRequest) => void | Promise<void>) | undefined;
295
+ getSnapshot: (request: TCreatedRequest) => TSnapshot | Promise<TSnapshot>;
296
+ resolveSnapshot: (snapshot: TSnapshot) => HumanInputResult | undefined;
297
+ }
298
+ export interface WaitForDurableHumanInputResolutionOptions<TSnapshot> {
299
+ deadline: number;
300
+ pollIntervalMs: number;
301
+ getSnapshot: () => TSnapshot | Promise<TSnapshot>;
302
+ resolveSnapshot: (snapshot: TSnapshot) => HumanInputResult | undefined;
303
+ }
281
304
  export interface WaitForHumanInputOptions {
282
305
  sessionManager: RunResumeSessionManager<HumanInputResumeValue>;
283
306
  runId: string;
@@ -293,6 +316,7 @@ export declare class InvalidHumanInputResultError extends Error {
293
316
  readonly detail: z.ZodIssue[];
294
317
  constructor(detail: z.ZodIssue[]);
295
318
  }
319
+ export declare function executeDurableHumanInputFlow<TCreatedRequest, TSnapshot>(options: ExecuteDurableHumanInputFlowOptions<TCreatedRequest, TSnapshot>): Promise<DurableHumanInputFlowResult<TCreatedRequest>>;
296
320
  export declare function waitForHumanInput(options: WaitForHumanInputOptions): Promise<HumanInputResult>;
297
- export {};
321
+ export declare function waitForDurableHumanInputResolution<TSnapshot>(options: WaitForDurableHumanInputResolutionOptions<TSnapshot>): Promise<HumanInputResult>;
298
322
  //# sourceMappingURL=human-input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"human-input.d.ts","sourceRoot":"","sources":["../../../src/src/agent/human-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAI7D,eAAO,MAAM,sBAAsB;;;;;iBAKjC,CAAC;AAUH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAuChC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMlC,CAAC;AAEH,eAAO,MAAM,8BAA8B,oGAG1C,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;gCASjC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIzC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACzE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC7E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,uBAAuB,CAAC,qBAAqB,CAAC,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;CACvF;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO;gBAAf,MAAM,EAAE,OAAO;CAMrC;AAED,qBAAa,4BAA6B,SAAQ,KAAK;IACzC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;gBAApB,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAI1C;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAqB3B"}
1
+ {"version":3,"file":"human-input.d.ts","sourceRoot":"","sources":["../../../src/src/agent/human-input.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ import * as dntShim from "../../_dnt.shims.js";
1
2
  import { z } from "zod";
2
3
  import { AgUiRuntimeRunIdSchema } from "./runtime-ag-ui-contract.js";
4
+ import { RunResumeSessionManager } from "./runtime/index.js";
3
5
  const TOOL_CALL_ID_SCHEMA = z.string().min(1).max(128);
4
6
  export const HumanInputOptionSchema = z.object({
5
7
  value: z.string(),
@@ -93,6 +95,54 @@ export class InvalidHumanInputResultError extends Error {
93
95
  this.name = "InvalidHumanInputResultError";
94
96
  }
95
97
  }
98
+ export async function executeDurableHumanInputFlow(options) {
99
+ const sessionManager = options.sessionManager ??
100
+ new RunResumeSessionManager();
101
+ sessionManager.startRun({
102
+ runId: options.runId,
103
+ threadId: options.threadId,
104
+ });
105
+ let resolveCreatedRequest = null;
106
+ const createdRequestPromise = new Promise((resolve) => {
107
+ resolveCreatedRequest = resolve;
108
+ });
109
+ try {
110
+ const result = await waitForHumanInput({
111
+ sessionManager,
112
+ runId: options.runId,
113
+ toolCallId: options.toolCallId,
114
+ request: options.request,
115
+ onRequest: async (pendingRequest) => {
116
+ const currentRequest = await options.onRequest(pendingRequest);
117
+ if (!resolveCreatedRequest) {
118
+ throw new Error("Durable human input flow could not track the created request");
119
+ }
120
+ resolveCreatedRequest(currentRequest);
121
+ await options.onCreatedRequest?.(currentRequest);
122
+ void bridgeDurableHumanInputRequest({
123
+ sessionManager,
124
+ runId: options.runId,
125
+ toolCallId: options.toolCallId,
126
+ createdRequest: currentRequest,
127
+ timeoutMs: options.timeoutMs,
128
+ pollIntervalMs: options.pollIntervalMs,
129
+ getSnapshot: options.getSnapshot,
130
+ resolveSnapshot: options.resolveSnapshot,
131
+ });
132
+ },
133
+ });
134
+ const createdRequest = await createdRequestPromise;
135
+ sessionManager.completeRun(options.runId);
136
+ return {
137
+ result,
138
+ createdRequest,
139
+ };
140
+ }
141
+ catch (error) {
142
+ sessionManager.failRun(options.runId);
143
+ throw error;
144
+ }
145
+ }
96
146
  export async function waitForHumanInput(options) {
97
147
  options.sessionManager.prepareForSignal(options.runId, options.toolCallId);
98
148
  const pendingRequest = HumanInputPendingRequestSchema.parse({
@@ -111,3 +161,51 @@ export async function waitForHumanInput(options) {
111
161
  }
112
162
  return parsed.data;
113
163
  }
164
+ export async function waitForDurableHumanInputResolution(options) {
165
+ while (Date.now() < options.deadline) {
166
+ const snapshot = await options.getSnapshot();
167
+ const result = options.resolveSnapshot(snapshot);
168
+ if (result) {
169
+ return result;
170
+ }
171
+ await delay(options.pollIntervalMs);
172
+ }
173
+ throw new Error("Timed out while waiting for durable human input resolution");
174
+ }
175
+ async function bridgeDurableHumanInputRequest(input) {
176
+ try {
177
+ const resolved = await waitForDurableHumanInputResolution({
178
+ deadline: Date.now() + input.timeoutMs,
179
+ pollIntervalMs: input.pollIntervalMs,
180
+ getSnapshot: () => input.getSnapshot(input.createdRequest),
181
+ resolveSnapshot: input.resolveSnapshot,
182
+ });
183
+ submitHumanInputResumeValue(input.sessionManager, input.runId, input.toolCallId, {
184
+ result: resolved,
185
+ isError: false,
186
+ });
187
+ }
188
+ catch (error) {
189
+ submitHumanInputResumeValue(input.sessionManager, input.runId, input.toolCallId, {
190
+ result: error instanceof Error ? error.message : String(error),
191
+ isError: true,
192
+ });
193
+ }
194
+ }
195
+ function submitHumanInputResumeValue(sessionManager, runId, toolCallId, value) {
196
+ try {
197
+ sessionManager.submitSignal(runId, {
198
+ waitKey: toolCallId,
199
+ value,
200
+ });
201
+ }
202
+ catch {
203
+ // Ignore late resume submissions once the local wait has already completed
204
+ // or the ephemeral session has been finalized.
205
+ }
206
+ }
207
+ function delay(ms) {
208
+ return new Promise((resolve) => {
209
+ dntShim.setTimeout(resolve, ms);
210
+ });
211
+ }
@@ -128,7 +128,7 @@ export { type ConversationRunStreamMirror, createConversationRunStreamMirror, }
128
128
  export { finalizeHostedDetached, type FinalizeHostedDetachedOptions, finalizeHostedResponse, type FinalizeHostedResponseOptions, type HostedDetachedFinalizationState, type HostedResponseFinalizationState, type HostedTerminalError, } from "./hosted-stream-finalization.js";
129
129
  export { type ActiveConversationRunStatus, appendConversationRunEvents, AppendConversationRunEventsError, type AppendConversationRunEventsResponse, AppendConversationRunEventsResponseSchema, CompleteConversationRunResponseSchema, type ConversationAgentRunUsage, type ConversationRunAppendCursorResyncResult, type ConversationRunAppendExecutionOutcome, type ConversationRunAppendFailureOutcome, type ConversationRunAppendRecoveryOutcome, type ConversationRunBatchFlushOutcome, type ConversationRunEventQueueController, type ConversationRunProjection, ConversationRunProjectionSchema, type ConversationRunQueueFlushOutcome, ConversationRunStatusSchema, type ConversationRunTargets, ConversationRunTargetsSchema, ConversationRunTerminalStateError, createConversationAgentRun, createConversationRunEventQueueController, finalizeConversationAgentRun, flushConversationRunEventBatches, flushConversationRunEventQueue, getConversationRun, isActiveConversationRunStatus, isAppendableConversationRunProjection, isCursorMismatchConversationRunAppendError, isIgnorableConversationRunAppendError, monitorConversationRunStatus, parseAppendConversationRunEventsErrorBody, recoverConversationRunAppendExecution, recoverConversationRunAppendFailure, recoverConversationRunCursorMismatch, resolveConversationRunTargets, resyncConversationRunAppendCursor, type TerminalConversationRunStatus, } from "./durable.js";
130
130
  export { buildInvokeAgentChildRunLifecycleCustomEvent, buildInvokeAgentChildRunProgressEvents, buildInvokeAgentChildRunStateDelta, type InvokeAgentChildRunLifecycleCustomEvent, InvokeAgentChildRunLifecycleCustomEventSchema, type InvokeAgentChildRunLifecycleValue, InvokeAgentChildRunLifecycleValueSchema, type InvokeAgentChildRunProgressEvent, type InvokeAgentChildRunProgressInput, type InvokeAgentChildRunStateDelta, InvokeAgentChildRunStateDeltaSchema, publishInvokeAgentChildRunProgress, } from "./invoke-agent-child-runs.js";
131
- export { type HostedChildLifecycleAdapter, type HostedChildLifecycleRunnerOptions, type HostedChildLifecycleRunResult, type HostedChildLifecycleTerminalState, runHostedChildLifecycle, } from "./hosted-child-lifecycle.js";
131
+ export { type HostedChildExecutionLifecycleOptions, type HostedChildExecutionLifecycleResult, type HostedChildLifecycleAdapter, type HostedChildLifecycleRunnerOptions, type HostedChildLifecycleRunResult, type HostedChildLifecycleTerminalState, runHostedChildExecutionLifecycle, runHostedChildLifecycle, } from "./hosted-child-lifecycle.js";
132
132
  export { appendHostedChildMirrorChunk, closeHostedChildReasoningSegment, closeHostedChildTextSegment, createHostedChildMirrorContext, type HostedChildChunkMirror, type HostedChildMirrorContext, type HostedChildMirrorPart, type HostedChildMirrorState, isAlreadyMirroredHostedChunk, toMirroredHostedStreamPart, } from "./hosted-child-mirror.js";
133
133
  export { type HostedChildRunIdentifiers, HostedChildTerminalStateError, type HostedChildTerminalStatus, monitorHostedChildRunStatus, resolveHostedChildTerminalErrorCode, } from "./hosted-child-status.js";
134
134
  export { type HostedLifecycleAdapter, type HostedLifecycleExecution, type HostedLifecycleRunnerOptions, type HostedLifecycleRunResult, type HostedLifecycleTerminalState, runHostedLifecycle, } from "./hosted-lifecycle.js";
@@ -143,7 +143,7 @@ export { createDetachedRunTracker, type DetachedRunDrainResult, type DetachedRun
143
143
  export { type AgUiCancelHandlerOptions, type AgUiResumeHandlerOptions, type AgUiResumeSignal, AgUiResumeSignalSchema, createAgUiCancelHandler, createAgUiResumeHandler, } from "./ag-ui-run-control.js";
144
144
  export { type AgUiSseEvent, createAgUiRunErrorEvent, createAgUiSseErrorResponse, createAgUiSseResponse, normalizeAgUiMessages, parseAgUiRequest, parseAgUiRequestOrError, } from "./ag-ui-host-support.js";
145
145
  export { type AgUiContextItem, type AgUiHandlerConfigWithAgent, type AgUiHandlerOptions, type AgUiInjectedTool, type AgUiRequest, AgUiRequestSchema, createAgUiHandler, } from "./ag-ui-handler.js";
146
- export { type HumanInputField, type HumanInputFieldInput, HumanInputFieldSchema, type HumanInputOption, HumanInputOptionSchema, type HumanInputPendingRequest, HumanInputPendingRequestSchema, type HumanInputRequest, type HumanInputRequestInput, HumanInputRequestSchema, type HumanInputResult, HumanInputResultSchema, HumanInputResumeError, InvalidHumanInputResultError, waitForHumanInput, type WaitForHumanInputOptions, } from "./human-input.js";
146
+ export { type DurableHumanInputFlowResult, executeDurableHumanInputFlow, type ExecuteDurableHumanInputFlowOptions, type HumanInputField, type HumanInputFieldInput, HumanInputFieldSchema, type HumanInputOption, HumanInputOptionSchema, type HumanInputPendingRequest, HumanInputPendingRequestSchema, type HumanInputRequest, type HumanInputRequestInput, HumanInputRequestSchema, type HumanInputResult, HumanInputResultSchema, HumanInputResumeError, type HumanInputResumeValue, InvalidHumanInputResultError, waitForDurableHumanInputResolution, type WaitForDurableHumanInputResolutionOptions, waitForHumanInput, type WaitForHumanInputOptions, } from "./human-input.js";
147
147
  export { type ChatHandlerBeforeStream, type ChatHandlerBeforeStreamContext, type ChatHandlerBeforeStreamResult, type ChatHandlerConfigWithAgent, type ChatHandlerMessageInput, type ChatHandlerOptions, createChatHandler, } from "./chat-handler.js";
148
148
  export { AgentRuntime, RunAlreadyExistsError, RunCancelledError, RunNotActiveError, RunResumeSessionManager, type RunResumeSessionManagerOptions, type RunSessionStatus, type SubmitResumeValueOutcome, WaitConflictError, WaitNotPendingError, } from "./runtime/index.js";
149
149
  //# sourceMappingURL=index.d.ts.map
@@ -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":"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"}
@@ -127,7 +127,7 @@ export { createConversationRunStreamMirror, } from "./conversation-run-stream-mi
127
127
  export { finalizeHostedDetached, finalizeHostedResponse, } from "./hosted-stream-finalization.js";
128
128
  export { appendConversationRunEvents, AppendConversationRunEventsError, AppendConversationRunEventsResponseSchema, CompleteConversationRunResponseSchema, ConversationRunProjectionSchema, ConversationRunStatusSchema, ConversationRunTargetsSchema, ConversationRunTerminalStateError, createConversationAgentRun, createConversationRunEventQueueController, finalizeConversationAgentRun, flushConversationRunEventBatches, flushConversationRunEventQueue, getConversationRun, isActiveConversationRunStatus, isAppendableConversationRunProjection, isCursorMismatchConversationRunAppendError, isIgnorableConversationRunAppendError, monitorConversationRunStatus, parseAppendConversationRunEventsErrorBody, recoverConversationRunAppendExecution, recoverConversationRunAppendFailure, recoverConversationRunCursorMismatch, resolveConversationRunTargets, resyncConversationRunAppendCursor, } from "./durable.js";
129
129
  export { buildInvokeAgentChildRunLifecycleCustomEvent, buildInvokeAgentChildRunProgressEvents, buildInvokeAgentChildRunStateDelta, InvokeAgentChildRunLifecycleCustomEventSchema, InvokeAgentChildRunLifecycleValueSchema, InvokeAgentChildRunStateDeltaSchema, publishInvokeAgentChildRunProgress, } from "./invoke-agent-child-runs.js";
130
- export { runHostedChildLifecycle, } from "./hosted-child-lifecycle.js";
130
+ export { runHostedChildExecutionLifecycle, runHostedChildLifecycle, } from "./hosted-child-lifecycle.js";
131
131
  export { appendHostedChildMirrorChunk, closeHostedChildReasoningSegment, closeHostedChildTextSegment, createHostedChildMirrorContext, isAlreadyMirroredHostedChunk, toMirroredHostedStreamPart, } from "./hosted-child-mirror.js";
132
132
  export { HostedChildTerminalStateError, monitorHostedChildRunStatus, resolveHostedChildTerminalErrorCode, } from "./hosted-child-status.js";
133
133
  export { runHostedLifecycle, } from "./hosted-lifecycle.js";
@@ -141,6 +141,6 @@ export { createDetachedRunTracker, } from "./detached-run-tracker.js";
141
141
  export { AgUiResumeSignalSchema, createAgUiCancelHandler, createAgUiResumeHandler, } from "./ag-ui-run-control.js";
142
142
  export { createAgUiRunErrorEvent, createAgUiSseErrorResponse, createAgUiSseResponse, normalizeAgUiMessages, parseAgUiRequest, parseAgUiRequestOrError, } from "./ag-ui-host-support.js";
143
143
  export { AgUiRequestSchema, createAgUiHandler, } from "./ag-ui-handler.js";
144
- export { HumanInputFieldSchema, HumanInputOptionSchema, HumanInputPendingRequestSchema, HumanInputRequestSchema, HumanInputResultSchema, HumanInputResumeError, InvalidHumanInputResultError, waitForHumanInput, } from "./human-input.js";
144
+ export { executeDurableHumanInputFlow, HumanInputFieldSchema, HumanInputOptionSchema, HumanInputPendingRequestSchema, HumanInputRequestSchema, HumanInputResultSchema, HumanInputResumeError, InvalidHumanInputResultError, waitForDurableHumanInputResolution, waitForHumanInput, } from "./human-input.js";
145
145
  export { createChatHandler, } from "./chat-handler.js";
146
146
  export { AgentRuntime, RunAlreadyExistsError, RunCancelledError, RunNotActiveError, RunResumeSessionManager, WaitConflictError, WaitNotPendingError, } from "./runtime/index.js";
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.1.334";
1
+ export declare const VERSION = "0.1.336";
2
2
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
- export const VERSION = "0.1.334";
3
+ export const VERSION = "0.1.336";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.334",
3
+ "version": "0.1.336",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",
package/src/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.334",
3
+ "version": "0.1.336",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "workspace": [
@@ -1,3 +1,15 @@
1
+ import {
2
+ buildChildRunExecutionSnapshot,
3
+ type ChildRunExecutionResult,
4
+ type ChildRunExecutionSnapshot,
5
+ getChildRunSnapshotUsage,
6
+ } from "./child-run-execution-snapshot.js";
7
+ import { isChildRunAbortError } from "./child-run-execution-support.js";
8
+ import {
9
+ HostedChildTerminalStateError,
10
+ resolveHostedChildTerminalErrorCode,
11
+ } from "./hosted-child-status.js";
12
+
1
13
  export interface HostedChildLifecycleTerminalState {
2
14
  status: "completed" | "failed" | "cancelled";
3
15
  usage?: {
@@ -61,6 +73,47 @@ export type HostedChildLifecycleRunResult<TResult> =
61
73
  terminalState: HostedChildLifecycleTerminalState;
62
74
  };
63
75
 
76
+ export type HostedChildExecutionLifecycleResult<
77
+ TLocalResult extends ChildRunExecutionResult,
78
+ > =
79
+ | {
80
+ status: "completed";
81
+ result: TLocalResult;
82
+ snapshot: ChildRunExecutionSnapshot;
83
+ terminalState: HostedChildLifecycleTerminalState;
84
+ }
85
+ | {
86
+ status: "failed" | "cancelled";
87
+ error: unknown;
88
+ terminalState: HostedChildLifecycleTerminalState;
89
+ };
90
+
91
+ export interface HostedChildExecutionLifecycleOptions<
92
+ TLocalResult extends ChildRunExecutionResult,
93
+ > {
94
+ adapter: HostedChildLifecycleAdapter;
95
+ executionFailedCode: string;
96
+ abortSignal?: AbortSignal | undefined;
97
+ execute: () => Promise<TLocalResult> | TLocalResult;
98
+ getExecutionSnapshot: () => ChildRunExecutionSnapshot | null;
99
+ onLifecycleError?: (error: unknown) => Promise<void> | void;
100
+ skipTerminalPersistence?: (terminalState: HostedChildLifecycleTerminalState) => boolean;
101
+ }
102
+
103
+ class HostedChildExecutionFailure extends Error {
104
+ constructor(
105
+ message: string,
106
+ readonly usage?: {
107
+ inputTokens: number;
108
+ outputTokens: number;
109
+ totalTokens: number;
110
+ },
111
+ ) {
112
+ super(message);
113
+ this.name = "HostedChildExecutionFailure";
114
+ }
115
+ }
116
+
64
117
  async function dispatchTerminalState(
65
118
  adapter: HostedChildLifecycleAdapter,
66
119
  terminalState: HostedChildLifecycleTerminalState,
@@ -119,3 +172,174 @@ export async function runHostedChildLifecycle<TResult>(
119
172
  terminalState,
120
173
  };
121
174
  }
175
+
176
+ function toHostedChildLifecycleUsage(
177
+ usage: ChildRunExecutionSnapshot["usage"] | undefined,
178
+ ): HostedChildLifecycleTerminalState["usage"] {
179
+ if (!usage) {
180
+ return undefined;
181
+ }
182
+
183
+ return {
184
+ inputTokens: usage.inputTokens,
185
+ outputTokens: usage.outputTokens,
186
+ totalTokens: usage.totalTokens,
187
+ };
188
+ }
189
+
190
+ function wrapSkippableTerminalPersistence(
191
+ adapter: HostedChildLifecycleAdapter,
192
+ skipTerminalPersistence: HostedChildExecutionLifecycleOptions<
193
+ ChildRunExecutionResult
194
+ >["skipTerminalPersistence"],
195
+ ): HostedChildLifecycleAdapter {
196
+ if (!skipTerminalPersistence) {
197
+ return adapter;
198
+ }
199
+
200
+ return {
201
+ ...adapter,
202
+ failed: async (terminalState) => {
203
+ if (skipTerminalPersistence(terminalState)) {
204
+ return;
205
+ }
206
+
207
+ await adapter.failed?.(terminalState);
208
+ },
209
+ cancelled: async (terminalState) => {
210
+ if (skipTerminalPersistence(terminalState)) {
211
+ return;
212
+ }
213
+
214
+ await adapter.cancelled?.(terminalState);
215
+ },
216
+ };
217
+ }
218
+
219
+ function resolveHostedChildExecutionErrorState(
220
+ error: unknown,
221
+ input: {
222
+ executionFailedCode: string;
223
+ abortSignal?: AbortSignal | undefined;
224
+ getExecutionSnapshot: () => ChildRunExecutionSnapshot | null;
225
+ },
226
+ ): HostedChildLifecycleErrorState {
227
+ if (error instanceof HostedChildTerminalStateError) {
228
+ if (error.status === "completed") {
229
+ throw error;
230
+ }
231
+
232
+ return {
233
+ status: error.status,
234
+ terminalErrorCode: resolveHostedChildTerminalErrorCode(error.status),
235
+ terminalErrorMessage: error.message,
236
+ };
237
+ }
238
+
239
+ if (error instanceof HostedChildExecutionFailure) {
240
+ return {
241
+ status: "failed",
242
+ terminalErrorCode: input.executionFailedCode,
243
+ terminalErrorMessage: error.message,
244
+ usage: toHostedChildLifecycleUsage(error.usage),
245
+ };
246
+ }
247
+
248
+ if (isChildRunAbortError(error) || input.abortSignal?.aborted) {
249
+ return {
250
+ status: "cancelled",
251
+ terminalErrorCode: "CANCELLED",
252
+ terminalErrorMessage: "Child run cancelled",
253
+ usage: toHostedChildLifecycleUsage(getChildRunSnapshotUsage(input.getExecutionSnapshot())),
254
+ };
255
+ }
256
+
257
+ return {
258
+ status: "failed",
259
+ terminalErrorCode: input.executionFailedCode,
260
+ terminalErrorMessage: error instanceof Error ? error.message : String(error),
261
+ usage: toHostedChildLifecycleUsage(getChildRunSnapshotUsage(input.getExecutionSnapshot())),
262
+ };
263
+ }
264
+
265
+ export async function runHostedChildExecutionLifecycle<
266
+ TLocalResult extends ChildRunExecutionResult,
267
+ >(
268
+ options: HostedChildExecutionLifecycleOptions<TLocalResult>,
269
+ ): Promise<HostedChildExecutionLifecycleResult<TLocalResult>> {
270
+ const adapter = wrapSkippableTerminalPersistence(
271
+ options.adapter,
272
+ options.skipTerminalPersistence,
273
+ );
274
+
275
+ try {
276
+ const lifecycleResult = await runHostedChildLifecycle({
277
+ adapter,
278
+ execute: async () => {
279
+ const result = await options.execute();
280
+ const snapshot = options.getExecutionSnapshot() ?? buildChildRunExecutionSnapshot(result);
281
+
282
+ if (!snapshot.success) {
283
+ throw new HostedChildExecutionFailure(snapshot.error ?? "Unknown error", snapshot.usage);
284
+ }
285
+
286
+ return {
287
+ result,
288
+ snapshot,
289
+ };
290
+ },
291
+ resolveCompletedState: ({ snapshot }) => ({
292
+ status: "completed",
293
+ usage: toHostedChildLifecycleUsage(snapshot.usage),
294
+ }),
295
+ resolveErrorState: (error) =>
296
+ resolveHostedChildExecutionErrorState(error, {
297
+ executionFailedCode: options.executionFailedCode,
298
+ abortSignal: options.abortSignal,
299
+ getExecutionSnapshot: options.getExecutionSnapshot,
300
+ }),
301
+ onLifecycleError: options.onLifecycleError,
302
+ });
303
+
304
+ if (lifecycleResult.status !== "completed") {
305
+ return lifecycleResult;
306
+ }
307
+
308
+ return {
309
+ status: "completed",
310
+ result: lifecycleResult.result.result,
311
+ snapshot: lifecycleResult.result.snapshot,
312
+ terminalState: lifecycleResult.terminalState,
313
+ };
314
+ } catch (error) {
315
+ if (error instanceof HostedChildTerminalStateError) {
316
+ return {
317
+ status: error.status === "cancelled" ? "cancelled" : "failed",
318
+ error,
319
+ terminalState: {
320
+ status: error.status,
321
+ terminalErrorCode: resolveHostedChildTerminalErrorCode(error.status),
322
+ terminalErrorMessage: error.message,
323
+ },
324
+ };
325
+ }
326
+
327
+ const terminalState = resolveHostedChildExecutionErrorState(error, {
328
+ executionFailedCode: options.executionFailedCode,
329
+ abortSignal: options.abortSignal,
330
+ getExecutionSnapshot: options.getExecutionSnapshot,
331
+ });
332
+
333
+ try {
334
+ await dispatchTerminalState(adapter, terminalState);
335
+ } catch (lifecycleError) {
336
+ await options.onLifecycleError?.(lifecycleError);
337
+ }
338
+
339
+ return {
340
+ status: terminalState.status,
341
+ error,
342
+ terminalState,
343
+ };
344
+ }
345
+ }
@@ -1,3 +1,4 @@
1
+ import * as dntShim from "../../_dnt.shims.js";
1
2
  import { z } from "zod";
2
3
  import { AgUiRuntimeRunIdSchema } from "./runtime-ag-ui-contract.js";
3
4
  import { RunResumeSessionManager } from "./runtime/index.js";
@@ -98,11 +99,42 @@ export type HumanInputRequestInput = z.input<typeof HumanInputRequestSchema>;
98
99
  export type HumanInputResult = z.infer<typeof HumanInputResultSchema>;
99
100
  export type HumanInputPendingRequest = z.infer<typeof HumanInputPendingRequestSchema>;
100
101
 
101
- type HumanInputResumeValue = {
102
+ export type HumanInputResumeValue = {
102
103
  result: unknown;
103
104
  isError: boolean;
104
105
  };
105
106
 
107
+ export type DurableHumanInputFlowResult<TCreatedRequest> = {
108
+ result: HumanInputResult;
109
+ createdRequest: TCreatedRequest;
110
+ };
111
+
112
+ export interface ExecuteDurableHumanInputFlowOptions<
113
+ TCreatedRequest,
114
+ TSnapshot,
115
+ > {
116
+ sessionManager?: RunResumeSessionManager<HumanInputResumeValue> | undefined;
117
+ runId: string;
118
+ threadId: string;
119
+ toolCallId: string;
120
+ request: HumanInputRequestInput;
121
+ timeoutMs: number;
122
+ pollIntervalMs: number;
123
+ onRequest: (
124
+ request: HumanInputPendingRequest,
125
+ ) => TCreatedRequest | Promise<TCreatedRequest>;
126
+ onCreatedRequest?: ((request: TCreatedRequest) => void | Promise<void>) | undefined;
127
+ getSnapshot: (request: TCreatedRequest) => TSnapshot | Promise<TSnapshot>;
128
+ resolveSnapshot: (snapshot: TSnapshot) => HumanInputResult | undefined;
129
+ }
130
+
131
+ export interface WaitForDurableHumanInputResolutionOptions<TSnapshot> {
132
+ deadline: number;
133
+ pollIntervalMs: number;
134
+ getSnapshot: () => TSnapshot | Promise<TSnapshot>;
135
+ resolveSnapshot: (snapshot: TSnapshot) => HumanInputResult | undefined;
136
+ }
137
+
106
138
  export interface WaitForHumanInputOptions {
107
139
  sessionManager: RunResumeSessionManager<HumanInputResumeValue>;
108
140
  runId: string;
@@ -127,6 +159,64 @@ export class InvalidHumanInputResultError extends Error {
127
159
  }
128
160
  }
129
161
 
162
+ export async function executeDurableHumanInputFlow<
163
+ TCreatedRequest,
164
+ TSnapshot,
165
+ >(
166
+ options: ExecuteDurableHumanInputFlowOptions<TCreatedRequest, TSnapshot>,
167
+ ): Promise<DurableHumanInputFlowResult<TCreatedRequest>> {
168
+ const sessionManager = options.sessionManager ??
169
+ new RunResumeSessionManager<HumanInputResumeValue>();
170
+ sessionManager.startRun({
171
+ runId: options.runId,
172
+ threadId: options.threadId,
173
+ });
174
+
175
+ let resolveCreatedRequest: ((request: TCreatedRequest) => void) | null = null;
176
+ const createdRequestPromise = new Promise<TCreatedRequest>((resolve) => {
177
+ resolveCreatedRequest = resolve;
178
+ });
179
+
180
+ try {
181
+ const result = await waitForHumanInput({
182
+ sessionManager,
183
+ runId: options.runId,
184
+ toolCallId: options.toolCallId,
185
+ request: options.request,
186
+ onRequest: async (pendingRequest) => {
187
+ const currentRequest = await options.onRequest(pendingRequest);
188
+ if (!resolveCreatedRequest) {
189
+ throw new Error("Durable human input flow could not track the created request");
190
+ }
191
+ resolveCreatedRequest(currentRequest);
192
+ await options.onCreatedRequest?.(currentRequest);
193
+
194
+ void bridgeDurableHumanInputRequest({
195
+ sessionManager,
196
+ runId: options.runId,
197
+ toolCallId: options.toolCallId,
198
+ createdRequest: currentRequest,
199
+ timeoutMs: options.timeoutMs,
200
+ pollIntervalMs: options.pollIntervalMs,
201
+ getSnapshot: options.getSnapshot,
202
+ resolveSnapshot: options.resolveSnapshot,
203
+ });
204
+ },
205
+ });
206
+
207
+ const createdRequest = await createdRequestPromise;
208
+
209
+ sessionManager.completeRun(options.runId);
210
+ return {
211
+ result,
212
+ createdRequest,
213
+ };
214
+ } catch (error) {
215
+ sessionManager.failRun(options.runId);
216
+ throw error;
217
+ }
218
+ }
219
+
130
220
  export async function waitForHumanInput(
131
221
  options: WaitForHumanInputOptions,
132
222
  ): Promise<HumanInputResult> {
@@ -151,3 +241,76 @@ export async function waitForHumanInput(
151
241
 
152
242
  return parsed.data;
153
243
  }
244
+
245
+ export async function waitForDurableHumanInputResolution<TSnapshot>(
246
+ options: WaitForDurableHumanInputResolutionOptions<TSnapshot>,
247
+ ): Promise<HumanInputResult> {
248
+ while (Date.now() < options.deadline) {
249
+ const snapshot = await options.getSnapshot();
250
+ const result = options.resolveSnapshot(snapshot);
251
+
252
+ if (result) {
253
+ return result;
254
+ }
255
+
256
+ await delay(options.pollIntervalMs);
257
+ }
258
+
259
+ throw new Error("Timed out while waiting for durable human input resolution");
260
+ }
261
+
262
+ async function bridgeDurableHumanInputRequest<
263
+ TCreatedRequest,
264
+ TSnapshot,
265
+ >(input: {
266
+ sessionManager: RunResumeSessionManager<HumanInputResumeValue>;
267
+ runId: string;
268
+ toolCallId: string;
269
+ createdRequest: TCreatedRequest;
270
+ timeoutMs: number;
271
+ pollIntervalMs: number;
272
+ getSnapshot: (request: TCreatedRequest) => TSnapshot | Promise<TSnapshot>;
273
+ resolveSnapshot: (snapshot: TSnapshot) => HumanInputResult | undefined;
274
+ }): Promise<void> {
275
+ try {
276
+ const resolved = await waitForDurableHumanInputResolution({
277
+ deadline: Date.now() + input.timeoutMs,
278
+ pollIntervalMs: input.pollIntervalMs,
279
+ getSnapshot: () => input.getSnapshot(input.createdRequest),
280
+ resolveSnapshot: input.resolveSnapshot,
281
+ });
282
+
283
+ submitHumanInputResumeValue(input.sessionManager, input.runId, input.toolCallId, {
284
+ result: resolved,
285
+ isError: false,
286
+ });
287
+ } catch (error) {
288
+ submitHumanInputResumeValue(input.sessionManager, input.runId, input.toolCallId, {
289
+ result: error instanceof Error ? error.message : String(error),
290
+ isError: true,
291
+ });
292
+ }
293
+ }
294
+
295
+ function submitHumanInputResumeValue(
296
+ sessionManager: RunResumeSessionManager<HumanInputResumeValue>,
297
+ runId: string,
298
+ toolCallId: string,
299
+ value: HumanInputResumeValue,
300
+ ) {
301
+ try {
302
+ sessionManager.submitSignal(runId, {
303
+ waitKey: toolCallId,
304
+ value,
305
+ });
306
+ } catch {
307
+ // Ignore late resume submissions once the local wait has already completed
308
+ // or the ephemeral session has been finalized.
309
+ }
310
+ }
311
+
312
+ function delay(ms: number): Promise<void> {
313
+ return new Promise((resolve) => {
314
+ dntShim.setTimeout(resolve, ms);
315
+ });
316
+ }
@@ -527,10 +527,13 @@ export {
527
527
  publishInvokeAgentChildRunProgress,
528
528
  } from "./invoke-agent-child-runs.js";
529
529
  export {
530
+ type HostedChildExecutionLifecycleOptions,
531
+ type HostedChildExecutionLifecycleResult,
530
532
  type HostedChildLifecycleAdapter,
531
533
  type HostedChildLifecycleRunnerOptions,
532
534
  type HostedChildLifecycleRunResult,
533
535
  type HostedChildLifecycleTerminalState,
536
+ runHostedChildExecutionLifecycle,
534
537
  runHostedChildLifecycle,
535
538
  } from "./hosted-child-lifecycle.js";
536
539
  export {
@@ -644,6 +647,9 @@ export {
644
647
  createAgUiHandler,
645
648
  } from "./ag-ui-handler.js";
646
649
  export {
650
+ type DurableHumanInputFlowResult,
651
+ executeDurableHumanInputFlow,
652
+ type ExecuteDurableHumanInputFlowOptions,
647
653
  type HumanInputField,
648
654
  type HumanInputFieldInput,
649
655
  HumanInputFieldSchema,
@@ -657,7 +663,10 @@ export {
657
663
  type HumanInputResult,
658
664
  HumanInputResultSchema,
659
665
  HumanInputResumeError,
666
+ type HumanInputResumeValue,
660
667
  InvalidHumanInputResultError,
668
+ waitForDurableHumanInputResolution,
669
+ type WaitForDurableHumanInputResolutionOptions,
661
670
  waitForHumanInput,
662
671
  type WaitForHumanInputOptions,
663
672
  } from "./human-input.js";
@@ -1,3 +1,3 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
- export const VERSION = "0.1.334";
3
+ export const VERSION = "0.1.336";