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 CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.219",
3
+ "version": "0.1.220",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "workspace": [
@@ -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
- export interface AgUiDetachedStartHandlerOptions {
59
- agent: Agent;
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,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,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,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,+BAA+B,GACvC,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CA2G9C"}
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
- await drainRuntimeStream(runtimeStream);
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.219";
1
+ export declare const VERSION = "0.1.220";
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.219";
3
+ export const VERSION = "0.1.220";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.219",
3
+ "version": "0.1.220",
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.219",
3
+ "version": "0.1.220",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "workspace": [
@@ -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
- export interface AgUiDetachedStartHandlerOptions {
271
- agent: Agent;
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
- await drainRuntimeStream(runtimeStream);
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,
@@ -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.219";
3
+ export const VERSION = "0.1.220";