veryfront 0.1.219 → 0.1.220
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/ag-ui-detached-start.d.ts +16 -2
- package/esm/src/agent/ag-ui-detached-start.d.ts.map +1 -1
- package/esm/src/agent/ag-ui-detached-start.js +32 -6
- 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/ag-ui-detached-start.ts +73 -17
- package/src/src/utils/version-constant.ts +1 -1
package/esm/deno.js
CHANGED
|
@@ -55,10 +55,18 @@ export declare const AgUiDetachedStartAcceptedSchema: z.ZodObject<{
|
|
|
55
55
|
}, z.core.$strip>;
|
|
56
56
|
export type AgUiDetachedStartRequest = z.infer<typeof AgUiDetachedStartRequestSchema>;
|
|
57
57
|
export type AgUiDetachedStartAccepted = z.infer<typeof AgUiDetachedStartAcceptedSchema>;
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
interface AgUiDetachedStartExecutionInput {
|
|
59
|
+
request: AgUiDetachedStartRequest;
|
|
60
|
+
requestOrCtx: unknown;
|
|
61
|
+
rawRequest: Request;
|
|
62
|
+
context: Record<string, unknown>;
|
|
63
|
+
abortSignal: AbortSignal;
|
|
64
|
+
}
|
|
65
|
+
type AgUiDetachedExecutionStarter = (input: AgUiDetachedStartExecutionInput) => Promise<void> | void;
|
|
66
|
+
interface AgUiDetachedStartHandlerOptionsBase {
|
|
60
67
|
sessionManager: RunResumeSessionManager<AgUiResumeValue>;
|
|
61
68
|
context?: AgUiContextValue;
|
|
69
|
+
startDetachedExecution?: AgUiDetachedExecutionStarter;
|
|
62
70
|
onAccepted?: (input: {
|
|
63
71
|
request: AgUiDetachedStartRequest;
|
|
64
72
|
runId: string;
|
|
@@ -79,6 +87,12 @@ export interface AgUiDetachedStartHandlerOptions {
|
|
|
79
87
|
error: unknown;
|
|
80
88
|
}) => Promise<void> | void;
|
|
81
89
|
}
|
|
90
|
+
export type AgUiDetachedStartHandlerOptions = (AgUiDetachedStartHandlerOptionsBase & {
|
|
91
|
+
agent: Agent;
|
|
92
|
+
}) | (AgUiDetachedStartHandlerOptionsBase & {
|
|
93
|
+
agent?: undefined;
|
|
94
|
+
startDetachedExecution: AgUiDetachedExecutionStarter;
|
|
95
|
+
});
|
|
82
96
|
export declare function createAgUiDetachedStartHandler(options: AgUiDetachedStartHandlerOptions): (requestOrCtx: unknown) => Promise<Response>;
|
|
83
97
|
export {};
|
|
84
98
|
//# sourceMappingURL=ag-ui-detached-start.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag-ui-detached-start.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-detached-start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,KAAK,EAAW,MAAM,YAAY,CAAC;AAMjD,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,gBAAgB,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAsOvF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGzC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;iBAK1C,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,
|
|
1
|
+
{"version":3,"file":"ag-ui-detached-start.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-detached-start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,KAAK,EAAW,MAAM,YAAY,CAAC;AAMjD,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,gBAAgB,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAsOvF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGzC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;iBAK1C,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,UAAU,+BAA+B;IACvC,OAAO,EAAE,wBAAwB,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,KAAK,4BAA4B,GAAG,CAClC,KAAK,EAAE,+BAA+B,KACnC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B,UAAU,mCAAmC;IAC3C,cAAc,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,sBAAsB,CAAC,EAAE,4BAA4B,CAAC;IACtD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QACnB,OAAO,EAAE,wBAAwB,CAAC;QAClC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QACpB,OAAO,EAAE,wBAAwB,CAAC;QAClC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAChG;AAED,MAAM,MAAM,+BAA+B,GACvC,CAAC,mCAAmC,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,GACxD,CAAC,mCAAmC,GAAG;IACvC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,sBAAsB,EAAE,4BAA4B,CAAC;CACtD,CAAC,CAAC;AA0BL,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,+BAA+B,GACvC,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAwH9C"}
|
|
@@ -190,7 +190,18 @@ export const AgUiDetachedStartAcceptedSchema = z.object({
|
|
|
190
190
|
runId: AG_UI_DETACHED_RUN_ID_SCHEMA,
|
|
191
191
|
threadId: z.string().uuid(),
|
|
192
192
|
});
|
|
193
|
+
async function startDefaultDetachedExecution(input) {
|
|
194
|
+
const runtime = new AgentRuntime(input.agent.id, {
|
|
195
|
+
...input.agent.config,
|
|
196
|
+
tools: buildMergedTools(input.agent, input.request, input.sessionManager),
|
|
197
|
+
});
|
|
198
|
+
const runtimeStream = await runtime.stream(normalizeMessages(input.request.messages), buildStreamContext(input.request, input.context, input.request.threadId, input.request.runId), undefined, input.request.model, input.request.maxOutputTokens, input.abortSignal);
|
|
199
|
+
await drainRuntimeStream(runtimeStream);
|
|
200
|
+
}
|
|
193
201
|
export function createAgUiDetachedStartHandler(options) {
|
|
202
|
+
if (!options.agent && !options.startDetachedExecution) {
|
|
203
|
+
throw new Error("Detached AG-UI start requires either an agent or startDetachedExecution handler.");
|
|
204
|
+
}
|
|
194
205
|
return async function POST(requestOrCtx) {
|
|
195
206
|
const request = extractRequest(requestOrCtx);
|
|
196
207
|
try {
|
|
@@ -201,11 +212,6 @@ export function createAgUiDetachedStartHandler(options) {
|
|
|
201
212
|
runId: parsed.runId,
|
|
202
213
|
threadId: parsed.threadId,
|
|
203
214
|
});
|
|
204
|
-
const runtime = new AgentRuntime(options.agent.id, {
|
|
205
|
-
...options.agent.config,
|
|
206
|
-
tools: buildMergedTools(options.agent, parsed, options.sessionManager),
|
|
207
|
-
});
|
|
208
|
-
const runtimeStream = await runtime.stream(normalizeMessages(parsed.messages), buildStreamContext(parsed, context, parsed.threadId, parsed.runId), undefined, parsed.model, parsed.maxOutputTokens, abortSignal);
|
|
209
215
|
await options.onAccepted?.({
|
|
210
216
|
request: parsed,
|
|
211
217
|
runId: parsed.runId,
|
|
@@ -213,7 +219,27 @@ export function createAgUiDetachedStartHandler(options) {
|
|
|
213
219
|
});
|
|
214
220
|
const detachedTask = (async () => {
|
|
215
221
|
try {
|
|
216
|
-
|
|
222
|
+
if (options.startDetachedExecution) {
|
|
223
|
+
await options.startDetachedExecution({
|
|
224
|
+
request: parsed,
|
|
225
|
+
requestOrCtx,
|
|
226
|
+
rawRequest: request,
|
|
227
|
+
context,
|
|
228
|
+
abortSignal,
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
else if (options.agent) {
|
|
232
|
+
await startDefaultDetachedExecution({
|
|
233
|
+
agent: options.agent,
|
|
234
|
+
request: parsed,
|
|
235
|
+
context,
|
|
236
|
+
abortSignal,
|
|
237
|
+
sessionManager: options.sessionManager,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
throw new Error("Detached AG-UI start configuration became invalid during execution.");
|
|
242
|
+
}
|
|
217
243
|
options.sessionManager.completeRun(parsed.runId);
|
|
218
244
|
await options.onFinish?.({
|
|
219
245
|
runId: parsed.runId,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.220";
|
|
2
2
|
//# sourceMappingURL=version-constant.d.ts.map
|
package/package.json
CHANGED
package/src/deno.js
CHANGED
|
@@ -267,10 +267,22 @@ export const AgUiDetachedStartAcceptedSchema = z.object({
|
|
|
267
267
|
export type AgUiDetachedStartRequest = z.infer<typeof AgUiDetachedStartRequestSchema>;
|
|
268
268
|
export type AgUiDetachedStartAccepted = z.infer<typeof AgUiDetachedStartAcceptedSchema>;
|
|
269
269
|
|
|
270
|
-
|
|
271
|
-
|
|
270
|
+
interface AgUiDetachedStartExecutionInput {
|
|
271
|
+
request: AgUiDetachedStartRequest;
|
|
272
|
+
requestOrCtx: unknown;
|
|
273
|
+
rawRequest: Request;
|
|
274
|
+
context: Record<string, unknown>;
|
|
275
|
+
abortSignal: AbortSignal;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
type AgUiDetachedExecutionStarter = (
|
|
279
|
+
input: AgUiDetachedStartExecutionInput,
|
|
280
|
+
) => Promise<void> | void;
|
|
281
|
+
|
|
282
|
+
interface AgUiDetachedStartHandlerOptionsBase {
|
|
272
283
|
sessionManager: RunResumeSessionManager<AgUiResumeValue>;
|
|
273
284
|
context?: AgUiContextValue;
|
|
285
|
+
startDetachedExecution?: AgUiDetachedExecutionStarter;
|
|
274
286
|
onAccepted?: (input: {
|
|
275
287
|
request: AgUiDetachedStartRequest;
|
|
276
288
|
runId: string;
|
|
@@ -285,9 +297,46 @@ export interface AgUiDetachedStartHandlerOptions {
|
|
|
285
297
|
onError?: (input: { runId: string; threadId: string; error: unknown }) => Promise<void> | void;
|
|
286
298
|
}
|
|
287
299
|
|
|
300
|
+
export type AgUiDetachedStartHandlerOptions =
|
|
301
|
+
| (AgUiDetachedStartHandlerOptionsBase & { agent: Agent })
|
|
302
|
+
| (AgUiDetachedStartHandlerOptionsBase & {
|
|
303
|
+
agent?: undefined;
|
|
304
|
+
startDetachedExecution: AgUiDetachedExecutionStarter;
|
|
305
|
+
});
|
|
306
|
+
|
|
307
|
+
async function startDefaultDetachedExecution(input: {
|
|
308
|
+
agent: Agent;
|
|
309
|
+
request: AgUiDetachedStartRequest;
|
|
310
|
+
context: Record<string, unknown>;
|
|
311
|
+
abortSignal: AbortSignal;
|
|
312
|
+
sessionManager: RunResumeSessionManager<AgUiResumeValue>;
|
|
313
|
+
}): Promise<void> {
|
|
314
|
+
const runtime = new AgentRuntime(input.agent.id, {
|
|
315
|
+
...input.agent.config,
|
|
316
|
+
tools: buildMergedTools(input.agent, input.request, input.sessionManager),
|
|
317
|
+
});
|
|
318
|
+
|
|
319
|
+
const runtimeStream = await runtime.stream(
|
|
320
|
+
normalizeMessages(input.request.messages),
|
|
321
|
+
buildStreamContext(input.request, input.context, input.request.threadId, input.request.runId),
|
|
322
|
+
undefined,
|
|
323
|
+
input.request.model,
|
|
324
|
+
input.request.maxOutputTokens,
|
|
325
|
+
input.abortSignal,
|
|
326
|
+
);
|
|
327
|
+
|
|
328
|
+
await drainRuntimeStream(runtimeStream);
|
|
329
|
+
}
|
|
330
|
+
|
|
288
331
|
export function createAgUiDetachedStartHandler(
|
|
289
332
|
options: AgUiDetachedStartHandlerOptions,
|
|
290
333
|
): (requestOrCtx: unknown) => Promise<Response> {
|
|
334
|
+
if (!options.agent && !options.startDetachedExecution) {
|
|
335
|
+
throw new Error(
|
|
336
|
+
"Detached AG-UI start requires either an agent or startDetachedExecution handler.",
|
|
337
|
+
);
|
|
338
|
+
}
|
|
339
|
+
|
|
291
340
|
return async function POST(requestOrCtx: unknown): Promise<Response> {
|
|
292
341
|
const request = extractRequest(requestOrCtx);
|
|
293
342
|
|
|
@@ -301,20 +350,6 @@ export function createAgUiDetachedStartHandler(
|
|
|
301
350
|
threadId: parsed.threadId,
|
|
302
351
|
});
|
|
303
352
|
|
|
304
|
-
const runtime = new AgentRuntime(options.agent.id, {
|
|
305
|
-
...options.agent.config,
|
|
306
|
-
tools: buildMergedTools(options.agent, parsed, options.sessionManager),
|
|
307
|
-
});
|
|
308
|
-
|
|
309
|
-
const runtimeStream = await runtime.stream(
|
|
310
|
-
normalizeMessages(parsed.messages),
|
|
311
|
-
buildStreamContext(parsed, context, parsed.threadId, parsed.runId),
|
|
312
|
-
undefined,
|
|
313
|
-
parsed.model,
|
|
314
|
-
parsed.maxOutputTokens,
|
|
315
|
-
abortSignal,
|
|
316
|
-
);
|
|
317
|
-
|
|
318
353
|
await options.onAccepted?.({
|
|
319
354
|
request: parsed,
|
|
320
355
|
runId: parsed.runId,
|
|
@@ -323,7 +358,28 @@ export function createAgUiDetachedStartHandler(
|
|
|
323
358
|
|
|
324
359
|
const detachedTask = (async () => {
|
|
325
360
|
try {
|
|
326
|
-
|
|
361
|
+
if (options.startDetachedExecution) {
|
|
362
|
+
await options.startDetachedExecution({
|
|
363
|
+
request: parsed,
|
|
364
|
+
requestOrCtx,
|
|
365
|
+
rawRequest: request,
|
|
366
|
+
context,
|
|
367
|
+
abortSignal,
|
|
368
|
+
});
|
|
369
|
+
} else if (options.agent) {
|
|
370
|
+
await startDefaultDetachedExecution({
|
|
371
|
+
agent: options.agent,
|
|
372
|
+
request: parsed,
|
|
373
|
+
context,
|
|
374
|
+
abortSignal,
|
|
375
|
+
sessionManager: options.sessionManager,
|
|
376
|
+
});
|
|
377
|
+
} else {
|
|
378
|
+
throw new Error(
|
|
379
|
+
"Detached AG-UI start configuration became invalid during execution.",
|
|
380
|
+
);
|
|
381
|
+
}
|
|
382
|
+
|
|
327
383
|
options.sessionManager.completeRun(parsed.runId);
|
|
328
384
|
await options.onFinish?.({
|
|
329
385
|
runId: parsed.runId,
|