veryfront 0.1.151 → 0.1.154

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.
Files changed (37) hide show
  1. package/esm/deno.js +1 -1
  2. package/esm/src/agent/ag-ui-run-control.d.ts +33 -0
  3. package/esm/src/agent/ag-ui-run-control.d.ts.map +1 -0
  4. package/esm/src/agent/ag-ui-run-control.js +102 -0
  5. package/esm/src/agent/index.d.ts +2 -0
  6. package/esm/src/agent/index.d.ts.map +1 -1
  7. package/esm/src/agent/index.js +2 -0
  8. package/esm/src/agent/runtime/chat-stream-handler.d.ts.map +1 -1
  9. package/esm/src/agent/runtime/chat-stream-handler.js +1 -25
  10. package/esm/src/agent/runtime/error-utils.d.ts +4 -0
  11. package/esm/src/agent/runtime/error-utils.d.ts.map +1 -0
  12. package/esm/src/agent/runtime/error-utils.js +25 -0
  13. package/esm/src/agent/runtime/index.d.ts.map +1 -1
  14. package/esm/src/agent/runtime/index.js +1 -25
  15. package/esm/src/agent/runtime-ag-ui-contract.d.ts +207 -0
  16. package/esm/src/agent/runtime-ag-ui-contract.d.ts.map +1 -0
  17. package/esm/src/agent/runtime-ag-ui-contract.js +109 -0
  18. package/esm/src/internal-agents/schema.d.ts +14 -68
  19. package/esm/src/internal-agents/schema.d.ts.map +1 -1
  20. package/esm/src/internal-agents/schema.js +8 -98
  21. package/esm/src/provider/runtime-loader.d.ts.map +1 -1
  22. package/esm/src/provider/runtime-loader.js +9 -32
  23. package/esm/src/routing/api/module-loader/loader.js +26 -28
  24. package/esm/src/utils/version-constant.d.ts +1 -1
  25. package/esm/src/utils/version-constant.js +1 -1
  26. package/package.json +1 -1
  27. package/src/deno.js +1 -1
  28. package/src/src/agent/ag-ui-run-control.ts +161 -0
  29. package/src/src/agent/index.ts +18 -0
  30. package/src/src/agent/runtime/chat-stream-handler.ts +1 -33
  31. package/src/src/agent/runtime/error-utils.ts +32 -0
  32. package/src/src/agent/runtime/index.ts +1 -33
  33. package/src/src/agent/runtime-ag-ui-contract.ts +144 -0
  34. package/src/src/internal-agents/schema.ts +22 -129
  35. package/src/src/provider/runtime-loader.ts +9 -39
  36. package/src/src/routing/api/module-loader/loader.ts +37 -38
  37. package/src/src/utils/version-constant.ts +1 -1
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.151",
3
+ "version": "0.1.154",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "exclude": [
@@ -0,0 +1,33 @@
1
+ import * as dntShim from "../../_dnt.shims.js";
2
+ import { z } from "zod";
3
+ import { RunResumeSessionManager } from "./runtime/resume-session.js";
4
+ export declare const AgUiResumeSignalSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5
+ type: z.ZodLiteral<"tool_result">;
6
+ toolCallId: z.ZodString;
7
+ result: z.ZodUnknown;
8
+ isError: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
9
+ }, z.core.$strip>], "type">;
10
+ export type AgUiResumeSignal = z.infer<typeof AgUiResumeSignalSchema>;
11
+ type ResumeValue = {
12
+ result: unknown;
13
+ isError: boolean;
14
+ };
15
+ export interface AgUiRunControlHandlerOptions {
16
+ resolveRunId?: ((input: {
17
+ request: dntShim.Request;
18
+ requestOrCtx: unknown;
19
+ }) => string | null) | ((input: {
20
+ request: dntShim.Request;
21
+ requestOrCtx: unknown;
22
+ }) => Promise<string | null>);
23
+ }
24
+ export interface AgUiResumeHandlerOptions extends AgUiRunControlHandlerOptions {
25
+ sessionManager: RunResumeSessionManager<ResumeValue>;
26
+ }
27
+ export interface AgUiCancelHandlerOptions<T = unknown> extends AgUiRunControlHandlerOptions {
28
+ sessionManager: RunResumeSessionManager<T>;
29
+ }
30
+ export declare function createAgUiResumeHandler(options: AgUiResumeHandlerOptions): (requestOrCtx: unknown) => Promise<dntShim.Response>;
31
+ export declare function createAgUiCancelHandler<T = unknown>(options: AgUiCancelHandlerOptions<T>): (requestOrCtx: unknown) => Promise<dntShim.Response>;
32
+ export {};
33
+ //# sourceMappingURL=ag-ui-run-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ag-ui-run-control.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-run-control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAEL,uBAAuB,EAGxB,MAAM,6BAA6B,CAAC;AAKrC,eAAO,MAAM,sBAAsB;;;;;2BAOjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAgCF,MAAM,WAAW,4BAA4B;IAC3C,YAAY,CAAC,EACT,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,GAAG,IAAI,CAAC,GAC/E,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC9F;AAED,MAAM,WAAW,wBAAyB,SAAQ,4BAA4B;IAC5E,cAAc,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,4BAA4B;IACzF,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;CAC5C;AAaD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAsDtD;AAED,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,OAAO,EACjD,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACnC,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAgBtD"}
@@ -0,0 +1,102 @@
1
+ import * as dntShim from "../../_dnt.shims.js";
2
+ import { z } from "zod";
3
+ import { INVALID_ARGUMENT } from "../errors/index.js";
4
+ import { RunNotActiveError, WaitConflictError, WaitNotPendingError, } from "./runtime/resume-session.js";
5
+ const RESUME_PATH_REGEX = /^\/api\/ag-ui\/runs\/([^/]+)\/resume$/;
6
+ const CANCEL_PATH_REGEX = /^\/api\/ag-ui\/runs\/([^/]+)$/;
7
+ export const AgUiResumeSignalSchema = z.discriminatedUnion("type", [
8
+ z.object({
9
+ type: z.literal("tool_result"),
10
+ toolCallId: z.string().min(1).max(128),
11
+ result: z.unknown(),
12
+ isError: z.boolean().optional().default(false),
13
+ }),
14
+ ]);
15
+ function isRequest(value) {
16
+ return (typeof value === "object" &&
17
+ value !== null &&
18
+ "json" in value &&
19
+ typeof value.json === "function" &&
20
+ "url" in value &&
21
+ typeof value.url === "string" &&
22
+ "method" in value &&
23
+ typeof value.method === "string");
24
+ }
25
+ function extractRequest(requestOrCtx) {
26
+ if (isRequest(requestOrCtx))
27
+ return requestOrCtx;
28
+ if (typeof requestOrCtx === "object" && requestOrCtx !== null && "request" in requestOrCtx) {
29
+ const candidate = requestOrCtx.request;
30
+ if (isRequest(candidate))
31
+ return candidate;
32
+ }
33
+ throw INVALID_ARGUMENT.create({
34
+ detail: "Invalid handler argument: expected Request or APIContext",
35
+ });
36
+ }
37
+ function getRunId(pathname, regex) {
38
+ return regex.exec(pathname)?.[1] ?? null;
39
+ }
40
+ async function resolveRunId(requestOrCtx, request, options, regex) {
41
+ const explicit = await options?.resolveRunId?.({ request, requestOrCtx });
42
+ if (explicit)
43
+ return explicit;
44
+ return getRunId(new URL(request.url).pathname, regex);
45
+ }
46
+ export function createAgUiResumeHandler(options) {
47
+ return async function POST(requestOrCtx) {
48
+ const request = extractRequest(requestOrCtx);
49
+ const runId = await resolveRunId(requestOrCtx, request, options, RESUME_PATH_REGEX);
50
+ if (!runId) {
51
+ return dntShim.Response.json({ error: "Run not found" }, { status: 404 });
52
+ }
53
+ try {
54
+ const parsed = AgUiResumeSignalSchema.parse(await request.json());
55
+ const outcome = options.sessionManager.submitSignal(runId, {
56
+ waitKey: parsed.toolCallId,
57
+ value: {
58
+ result: parsed.result,
59
+ isError: parsed.isError,
60
+ },
61
+ });
62
+ return dntShim.Response.json(outcome, { status: 200 });
63
+ }
64
+ catch (error) {
65
+ if (error instanceof z.ZodError) {
66
+ return dntShim.Response.json({
67
+ error: "Invalid AG-UI resume request",
68
+ details: error.issues.map((issue) => ({
69
+ path: issue.path,
70
+ message: issue.message,
71
+ })),
72
+ }, { status: 400 });
73
+ }
74
+ if (error instanceof WaitConflictError) {
75
+ return dntShim.Response.json({ error: "TOOL_RESULT_CONFLICT" }, { status: 409 });
76
+ }
77
+ if (error instanceof WaitNotPendingError) {
78
+ return dntShim.Response.json({ error: "TOOL_RESULT_NOT_WAITING" }, { status: 409 });
79
+ }
80
+ if (error instanceof RunNotActiveError) {
81
+ return dntShim.Response.json({ error: "RUN_NOT_ACTIVE" }, { status: 410 });
82
+ }
83
+ return dntShim.Response.json({
84
+ error: error instanceof Error ? error.message : "Internal resume failed",
85
+ }, { status: 500 });
86
+ }
87
+ };
88
+ }
89
+ export function createAgUiCancelHandler(options) {
90
+ return async function DELETE(requestOrCtx) {
91
+ const request = extractRequest(requestOrCtx);
92
+ const runId = await resolveRunId(requestOrCtx, request, options, CANCEL_PATH_REGEX);
93
+ if (!runId) {
94
+ return dntShim.Response.json({ error: "Run not found" }, { status: 404 });
95
+ }
96
+ const accepted = options.sessionManager.cancelRun(runId);
97
+ if (accepted) {
98
+ return dntShim.Response.json({ accepted: true }, { status: 202 });
99
+ }
100
+ return new dntShim.Response(null, { status: 204 });
101
+ };
102
+ }
@@ -84,6 +84,8 @@ export { getTextFromParts, getToolArguments, hasArgs, hasInput } from "./types.j
84
84
  export { BufferMemory, ConversationMemory, createMemory, createRedisMemory, type Memory, type MemoryPersistence, type MemoryStats, type RedisClient, RedisMemory, type RedisMemoryConfig, SummaryMemory, } from "./memory/index.js";
85
85
  export { agentAsTool, createWorkflow, getAgent, getAgentsAsTools, getAllAgentIds, registerAgent, type WorkflowConfig, type WorkflowResult, type WorkflowStep, } from "./composition/index.js";
86
86
  export { agent } from "./factory.js";
87
+ export { type AgUiRuntimeContextItem, AgUiRuntimeContextItemSchema, type AgUiRuntimeInjectedTool, AgUiRuntimeInjectedToolSchema, type AgUiRuntimeMessage, AgUiRuntimeMessageSchema, type AgUiRuntimeRequest, AgUiRuntimeRequestSchema, } from "./runtime-ag-ui-contract.js";
88
+ export { type AgUiCancelHandlerOptions, type AgUiResumeHandlerOptions, type AgUiResumeSignal, AgUiResumeSignalSchema, createAgUiCancelHandler, createAgUiResumeHandler, } from "./ag-ui-run-control.js";
87
89
  export { type AgUiContextItem, type AgUiHandlerConfigWithAgent, type AgUiHandlerOptions, type AgUiInjectedTool, type AgUiRequest, AgUiRequestSchema, createAgUiHandler, } from "./ag-ui-handler.js";
88
90
  export { type ChatHandlerBeforeStream, type ChatHandlerBeforeStreamContext, type ChatHandlerBeforeStreamResult, type ChatHandlerConfigWithAgent, type ChatHandlerMessageInput, type ChatHandlerOptions, createChatHandler, } from "./chat-handler.js";
89
91
  export { AgentRuntime, RunAlreadyExistsError, RunCancelledError, RunNotActiveError, RunResumeSessionManager, type RunResumeSessionManagerOptions, type RunSessionStatus, type SubmitResumeValueOutcome, WaitConflictError, WaitNotPendingError, } from "./runtime/index.js";
@@ -1 +1 @@
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,mBAAmB,EACnB,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,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,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"}
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,mBAAmB,EACnB,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,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,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,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"}
@@ -83,6 +83,8 @@ export { getTextFromParts, getToolArguments, hasArgs, hasInput } from "./types.j
83
83
  export { BufferMemory, ConversationMemory, createMemory, createRedisMemory, RedisMemory, SummaryMemory, } from "./memory/index.js";
84
84
  export { agentAsTool, createWorkflow, getAgent, getAgentsAsTools, getAllAgentIds, registerAgent, } from "./composition/index.js";
85
85
  export { agent } from "./factory.js";
86
+ export { AgUiRuntimeContextItemSchema, AgUiRuntimeInjectedToolSchema, AgUiRuntimeMessageSchema, AgUiRuntimeRequestSchema, } from "./runtime-ag-ui-contract.js";
87
+ export { AgUiResumeSignalSchema, createAgUiCancelHandler, createAgUiResumeHandler, } from "./ag-ui-run-control.js";
86
88
  export { AgUiRequestSchema, createAgUiHandler, } from "./ag-ui-handler.js";
87
89
  export { createChatHandler, } from "./chat-handler.js";
88
90
  export { AgentRuntime, RunAlreadyExistsError, RunCancelledError, RunNotActiveError, RunResumeSessionManager, WaitConflictError, WaitNotPendingError, } from "./runtime/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"chat-stream-handler.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/chat-stream-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAqB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAUtF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1C,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAChF;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAK,IAAI,CAAC;CACZ;AA6HD,wBAAgB,iBAAiB,IAAI,eAAe,CAQnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,+BAA+B,EAC3C,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,SAAS,CAAC,EAAE,mBAAmB,EAC/B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,IAAI,CAAC,CA0Nf"}
1
+ {"version":3,"file":"chat-stream-handler.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/chat-stream-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAqB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAWtF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1C,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAChF;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAK,IAAI,CAAC;CACZ;AA4FD,wBAAgB,iBAAiB,IAAI,eAAe,CAQnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,+BAA+B,EAC3C,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,SAAS,CAAC,EAAE,mBAAmB,EAC/B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,IAAI,CAAC,CA0Nf"}
@@ -13,6 +13,7 @@ import { serverLogger } from "../../utils/index.js";
13
13
  import { isAnyDebugEnabled } from "../../utils/constants/env.js";
14
14
  import { setActiveSpanAttributes, withSpan } from "../../observability/tracing/otlp-setup.js";
15
15
  import { getHostEnv } from "../../platform/compat/process.js";
16
+ import { stringifyToolError, throwIfAborted } from "./error-utils.js";
16
17
  const logger = serverLogger.component("agent");
17
18
  function isRecord(value) {
18
19
  return typeof value === "object" && value !== null && !Array.isArray(value);
@@ -40,31 +41,6 @@ function normalizeToolInputObject(input) {
40
41
  }
41
42
  return {};
42
43
  }
43
- function createAbortError(reason) {
44
- if (reason instanceof Error) {
45
- return reason;
46
- }
47
- return new DOMException(typeof reason === "string" && reason.length > 0 ? reason : "The operation was aborted", "AbortError");
48
- }
49
- function throwIfAborted(abortSignal) {
50
- if (abortSignal?.aborted) {
51
- throw createAbortError(abortSignal.reason);
52
- }
53
- }
54
- function stringifyToolError(output) {
55
- if (typeof output === "string" && output.length > 0) {
56
- return output;
57
- }
58
- if (output instanceof Error && typeof output.message === "string" && output.message.length > 0) {
59
- return output.message;
60
- }
61
- try {
62
- return JSON.stringify(output);
63
- }
64
- catch {
65
- return String(output);
66
- }
67
- }
68
44
  function summarizeDebugValue(value) {
69
45
  if (value instanceof Error) {
70
46
  return {
@@ -0,0 +1,4 @@
1
+ export declare function createAbortError(reason?: unknown): Error;
2
+ export declare function throwIfAborted(abortSignal?: AbortSignal): void;
3
+ export declare function stringifyToolError(error: unknown): string;
4
+ //# sourceMappingURL=error-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-utils.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/error-utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,CASxD;AAED,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAI9D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAczD"}
@@ -0,0 +1,25 @@
1
+ export function createAbortError(reason) {
2
+ if (reason instanceof Error) {
3
+ return reason;
4
+ }
5
+ return new DOMException(typeof reason === "string" && reason.length > 0 ? reason : "The operation was aborted", "AbortError");
6
+ }
7
+ export function throwIfAborted(abortSignal) {
8
+ if (abortSignal?.aborted) {
9
+ throw createAbortError(abortSignal.reason);
10
+ }
11
+ }
12
+ export function stringifyToolError(error) {
13
+ if (typeof error === "string" && error.length > 0) {
14
+ return error;
15
+ }
16
+ if (error instanceof Error && typeof error.message === "string" && error.message.length > 0) {
17
+ return error.message;
18
+ }
19
+ try {
20
+ return JSON.stringify(error);
21
+ }
22
+ catch {
23
+ return String(error);
24
+ }
25
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"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"}
@@ -39,39 +39,15 @@ import { executeConfiguredTool, getAvailableTools, isDynamicTool, parseToolArgs,
39
39
  import { accumulateUsage, getMaxSteps, normalizeInput } from "./input-utils.js";
40
40
  import { filterToolsForSkill, isToolAllowedBySkill, validateAllowedToolPatterns, } from "../../skill/allowed-tools.js";
41
41
  import { resolveConfiguredAgentModel, resolveRuntimeModel } from "./model-resolution.js";
42
+ import { stringifyToolError, throwIfAborted } from "./error-utils.js";
42
43
  const logger = serverLogger.component("agent");
43
44
  const LOAD_SKILL_TOOL_ID = "load-skill";
44
- function createAbortError(reason) {
45
- if (reason instanceof Error) {
46
- return reason;
47
- }
48
- return new DOMException(typeof reason === "string" && reason.length > 0 ? reason : "The operation was aborted", "AbortError");
49
- }
50
- function throwIfAborted(abortSignal) {
51
- if (abortSignal?.aborted) {
52
- throw createAbortError(abortSignal.reason);
53
- }
54
- }
55
45
  function isAbortError(error, abortSignal) {
56
46
  if (abortSignal?.aborted && error === abortSignal.reason) {
57
47
  return true;
58
48
  }
59
49
  return error instanceof DOMException && error.name === "AbortError";
60
50
  }
61
- function stringifyToolError(error) {
62
- if (typeof error === "string" && error.length > 0) {
63
- return error;
64
- }
65
- if (error instanceof Error && typeof error.message === "string" && error.message.length > 0) {
66
- return error.message;
67
- }
68
- try {
69
- return JSON.stringify(error);
70
- }
71
- catch {
72
- return String(error);
73
- }
74
- }
75
51
  function getToolResultError(result) {
76
52
  if (!result || typeof result !== "object" || !("error" in result)) {
77
53
  return undefined;
@@ -0,0 +1,207 @@
1
+ import { z } from "zod";
2
+ export declare const AgUiRuntimeRunIdSchema: z.ZodString;
3
+ export declare const AgUiRuntimeInjectedToolSchema: z.ZodObject<{
4
+ name: z.ZodString;
5
+ description: z.ZodOptional<z.ZodString>;
6
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
7
+ }, z.core.$strip>;
8
+ export declare const AgUiRuntimeContextItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
9
+ type: z.ZodLiteral<"text">;
10
+ title: z.ZodOptional<z.ZodString>;
11
+ text: z.ZodString;
12
+ }, z.core.$strip>, z.ZodObject<{
13
+ type: z.ZodLiteral<"json">;
14
+ title: z.ZodOptional<z.ZodString>;
15
+ data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
16
+ }, z.core.$strip>, z.ZodObject<{
17
+ type: z.ZodLiteral<"resource">;
18
+ title: z.ZodOptional<z.ZodString>;
19
+ uri: z.ZodString;
20
+ mimeType: z.ZodOptional<z.ZodString>;
21
+ text: z.ZodOptional<z.ZodString>;
22
+ }, z.core.$strip>], "type">;
23
+ export declare const AgUiRuntimeToolFunctionCallSchema: z.ZodObject<{
24
+ name: z.ZodString;
25
+ arguments: z.ZodString;
26
+ }, z.core.$strict>;
27
+ export declare const AgUiRuntimeToolCallSchema: z.ZodObject<{
28
+ id: z.ZodString;
29
+ type: z.ZodLiteral<"function">;
30
+ function: z.ZodObject<{
31
+ name: z.ZodString;
32
+ arguments: z.ZodString;
33
+ }, z.core.$strict>;
34
+ }, z.core.$strict>;
35
+ export declare const AgUiRuntimeSystemMessageSchema: z.ZodObject<{
36
+ name: z.ZodOptional<z.ZodString>;
37
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
38
+ createdAt: z.ZodOptional<z.ZodString>;
39
+ id: z.ZodString;
40
+ role: z.ZodLiteral<"system">;
41
+ content: z.ZodString;
42
+ }, z.core.$strict>;
43
+ export declare const AgUiRuntimeUserMessageSchema: z.ZodObject<{
44
+ name: z.ZodOptional<z.ZodString>;
45
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
46
+ createdAt: z.ZodOptional<z.ZodString>;
47
+ id: z.ZodString;
48
+ role: z.ZodLiteral<"user">;
49
+ content: z.ZodString;
50
+ }, z.core.$strict>;
51
+ export declare const AgUiRuntimeAssistantMessageSchema: z.ZodObject<{
52
+ name: z.ZodOptional<z.ZodString>;
53
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
54
+ createdAt: z.ZodOptional<z.ZodString>;
55
+ id: z.ZodString;
56
+ role: z.ZodLiteral<"assistant">;
57
+ content: z.ZodOptional<z.ZodString>;
58
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
59
+ id: z.ZodString;
60
+ type: z.ZodLiteral<"function">;
61
+ function: z.ZodObject<{
62
+ name: z.ZodString;
63
+ arguments: z.ZodString;
64
+ }, z.core.$strict>;
65
+ }, z.core.$strict>>>;
66
+ }, z.core.$strict>;
67
+ export declare const AgUiRuntimeToolMessageSchema: z.ZodObject<{
68
+ name: z.ZodOptional<z.ZodString>;
69
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
70
+ createdAt: z.ZodOptional<z.ZodString>;
71
+ id: z.ZodString;
72
+ role: z.ZodLiteral<"tool">;
73
+ toolCallId: z.ZodString;
74
+ content: z.ZodString;
75
+ error: z.ZodOptional<z.ZodString>;
76
+ }, z.core.$strict>;
77
+ export declare const AgUiRuntimeMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
78
+ name: z.ZodOptional<z.ZodString>;
79
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
80
+ createdAt: z.ZodOptional<z.ZodString>;
81
+ id: z.ZodString;
82
+ role: z.ZodLiteral<"system">;
83
+ content: z.ZodString;
84
+ }, z.core.$strict>, z.ZodObject<{
85
+ name: z.ZodOptional<z.ZodString>;
86
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
87
+ createdAt: z.ZodOptional<z.ZodString>;
88
+ id: z.ZodString;
89
+ role: z.ZodLiteral<"user">;
90
+ content: z.ZodString;
91
+ }, z.core.$strict>, z.ZodObject<{
92
+ name: z.ZodOptional<z.ZodString>;
93
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
94
+ createdAt: z.ZodOptional<z.ZodString>;
95
+ id: z.ZodString;
96
+ role: z.ZodLiteral<"assistant">;
97
+ content: z.ZodOptional<z.ZodString>;
98
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
99
+ id: z.ZodString;
100
+ type: z.ZodLiteral<"function">;
101
+ function: z.ZodObject<{
102
+ name: z.ZodString;
103
+ arguments: z.ZodString;
104
+ }, z.core.$strict>;
105
+ }, z.core.$strict>>>;
106
+ }, z.core.$strict>, z.ZodObject<{
107
+ name: z.ZodOptional<z.ZodString>;
108
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
109
+ createdAt: z.ZodOptional<z.ZodString>;
110
+ id: z.ZodString;
111
+ role: z.ZodLiteral<"tool">;
112
+ toolCallId: z.ZodString;
113
+ content: z.ZodString;
114
+ error: z.ZodOptional<z.ZodString>;
115
+ }, z.core.$strict>], "role">;
116
+ export declare const AgUiRuntimeContextSchema: z.ZodUnion<readonly [z.ZodObject<{
117
+ description: z.ZodString;
118
+ value: z.ZodString;
119
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
120
+ type: z.ZodLiteral<"text">;
121
+ title: z.ZodOptional<z.ZodString>;
122
+ text: z.ZodString;
123
+ }, z.core.$strip>, z.ZodObject<{
124
+ type: z.ZodLiteral<"json">;
125
+ title: z.ZodOptional<z.ZodString>;
126
+ data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
127
+ }, z.core.$strip>, z.ZodObject<{
128
+ type: z.ZodLiteral<"resource">;
129
+ title: z.ZodOptional<z.ZodString>;
130
+ uri: z.ZodString;
131
+ mimeType: z.ZodOptional<z.ZodString>;
132
+ text: z.ZodOptional<z.ZodString>;
133
+ }, z.core.$strip>], "type">]>;
134
+ export declare const AgUiRuntimeRequestSchema: z.ZodObject<{
135
+ threadId: z.ZodString;
136
+ runId: z.ZodString;
137
+ parentRunId: z.ZodOptional<z.ZodString>;
138
+ state: z.ZodOptional<z.ZodUnknown>;
139
+ messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
140
+ name: z.ZodOptional<z.ZodString>;
141
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
142
+ createdAt: z.ZodOptional<z.ZodString>;
143
+ id: z.ZodString;
144
+ role: z.ZodLiteral<"system">;
145
+ content: z.ZodString;
146
+ }, z.core.$strict>, z.ZodObject<{
147
+ name: z.ZodOptional<z.ZodString>;
148
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
149
+ createdAt: z.ZodOptional<z.ZodString>;
150
+ id: z.ZodString;
151
+ role: z.ZodLiteral<"user">;
152
+ content: z.ZodString;
153
+ }, z.core.$strict>, z.ZodObject<{
154
+ name: z.ZodOptional<z.ZodString>;
155
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
156
+ createdAt: z.ZodOptional<z.ZodString>;
157
+ id: z.ZodString;
158
+ role: z.ZodLiteral<"assistant">;
159
+ content: z.ZodOptional<z.ZodString>;
160
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
161
+ id: z.ZodString;
162
+ type: z.ZodLiteral<"function">;
163
+ function: z.ZodObject<{
164
+ name: z.ZodString;
165
+ arguments: z.ZodString;
166
+ }, z.core.$strict>;
167
+ }, z.core.$strict>>>;
168
+ }, z.core.$strict>, z.ZodObject<{
169
+ name: z.ZodOptional<z.ZodString>;
170
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
171
+ createdAt: z.ZodOptional<z.ZodString>;
172
+ id: z.ZodString;
173
+ role: z.ZodLiteral<"tool">;
174
+ toolCallId: z.ZodString;
175
+ content: z.ZodString;
176
+ error: z.ZodOptional<z.ZodString>;
177
+ }, z.core.$strict>], "role">>;
178
+ tools: z.ZodDefault<z.ZodArray<z.ZodObject<{
179
+ name: z.ZodString;
180
+ description: z.ZodOptional<z.ZodString>;
181
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
182
+ }, z.core.$strip>>>;
183
+ context: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
184
+ description: z.ZodString;
185
+ value: z.ZodString;
186
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
187
+ type: z.ZodLiteral<"text">;
188
+ title: z.ZodOptional<z.ZodString>;
189
+ text: z.ZodString;
190
+ }, z.core.$strip>, z.ZodObject<{
191
+ type: z.ZodLiteral<"json">;
192
+ title: z.ZodOptional<z.ZodString>;
193
+ data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
194
+ }, z.core.$strip>, z.ZodObject<{
195
+ type: z.ZodLiteral<"resource">;
196
+ title: z.ZodOptional<z.ZodString>;
197
+ uri: z.ZodString;
198
+ mimeType: z.ZodOptional<z.ZodString>;
199
+ text: z.ZodOptional<z.ZodString>;
200
+ }, z.core.$strip>], "type">]>>>;
201
+ forwardedProps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
202
+ }, z.core.$strip>;
203
+ export type AgUiRuntimeInjectedTool = z.infer<typeof AgUiRuntimeInjectedToolSchema>;
204
+ export type AgUiRuntimeContextItem = z.infer<typeof AgUiRuntimeContextItemSchema>;
205
+ export type AgUiRuntimeMessage = z.infer<typeof AgUiRuntimeMessageSchema>;
206
+ export type AgUiRuntimeRequest = z.infer<typeof AgUiRuntimeRequestSchema>;
207
+ //# sourceMappingURL=runtime-ag-ui-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-ag-ui-contract.d.ts","sourceRoot":"","sources":["../../../src/src/agent/runtime-ag-ui-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,eAAO,MAAM,sBAAsB,aAAqD,CAAC;AAEzF,eAAO,MAAM,6BAA6B;;;;iBAcxC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;2BAqBvC,CAAC;AAQH,eAAO,MAAM,iCAAiC;;;kBAGnC,CAAC;AAEZ,eAAO,MAAM,yBAAyB;;;;;;;kBAI3B,CAAC;AAEZ,eAAO,MAAM,8BAA8B;;;;;;;kBAKhC,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;;;;kBAK9B,CAAC;AAEZ,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;kBAMnC,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;;;;;;kBAO9B,CAAC;AAEZ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAKnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;6BAMnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAenC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,109 @@
1
+ import { z } from "zod";
2
+ const AGENT_ID_PATTERN = /^[a-zA-Z0-9_-]+$/;
3
+ const MAX_TOOL_PARAMETERS_BYTES = 16_384;
4
+ const MAX_CONTEXT_ITEM_BYTES = 16_384;
5
+ const MAX_CONTEXT_TOTAL_BYTES = 65_536;
6
+ const MAX_FORWARDED_PROPS_BYTES = 65_536;
7
+ const MAX_RUNTIME_MESSAGES = 100;
8
+ const encoder = new TextEncoder();
9
+ function isWithinJsonSizeLimit(value, maxBytes) {
10
+ try {
11
+ return encoder.encode(JSON.stringify(value)).byteLength <= maxBytes;
12
+ }
13
+ catch {
14
+ return false;
15
+ }
16
+ }
17
+ export const AgUiRuntimeRunIdSchema = z.string().min(1).max(128).regex(AGENT_ID_PATTERN);
18
+ export const AgUiRuntimeInjectedToolSchema = z.object({
19
+ name: z
20
+ .string()
21
+ .min(1)
22
+ .max(128)
23
+ .regex(/^[a-zA-Z][a-zA-Z0-9._:-]*$/, "Tool names must start with a letter and use a valid client-tool format"),
24
+ description: z.string().max(1024).optional(),
25
+ parameters: z.record(z.string(), z.unknown()).optional().refine((value) => value === undefined || isWithinJsonSizeLimit(value, MAX_TOOL_PARAMETERS_BYTES), { message: "Tool parameters must be less than 16 KB" }),
26
+ });
27
+ export const AgUiRuntimeContextItemSchema = z.discriminatedUnion("type", [
28
+ z.object({
29
+ type: z.literal("text"),
30
+ title: z.string().max(256).optional(),
31
+ text: z.string().max(MAX_CONTEXT_ITEM_BYTES),
32
+ }),
33
+ z.object({
34
+ type: z.literal("json"),
35
+ title: z.string().max(256).optional(),
36
+ data: z.record(z.string(), z.unknown()).refine((value) => isWithinJsonSizeLimit(value, MAX_CONTEXT_ITEM_BYTES), { message: "JSON context item must be less than 16 KB" }),
37
+ }),
38
+ z.object({
39
+ type: z.literal("resource"),
40
+ title: z.string().max(256).optional(),
41
+ uri: z.string().max(2048),
42
+ mimeType: z.string().max(256).optional(),
43
+ text: z.string().max(MAX_CONTEXT_ITEM_BYTES).optional(),
44
+ }),
45
+ ]);
46
+ const RuntimeMessageExtensionFieldsSchema = {
47
+ name: z.string().max(256).optional(),
48
+ metadata: z.record(z.string(), z.unknown()).optional(),
49
+ createdAt: z.string().optional(),
50
+ };
51
+ export const AgUiRuntimeToolFunctionCallSchema = z.object({
52
+ name: AgUiRuntimeInjectedToolSchema.shape.name,
53
+ arguments: z.string().max(MAX_TOOL_PARAMETERS_BYTES),
54
+ }).strict();
55
+ export const AgUiRuntimeToolCallSchema = z.object({
56
+ id: z.string().min(1).max(128),
57
+ type: z.literal("function"),
58
+ function: AgUiRuntimeToolFunctionCallSchema,
59
+ }).strict();
60
+ export const AgUiRuntimeSystemMessageSchema = z.object({
61
+ id: z.string().min(1),
62
+ role: z.literal("system"),
63
+ content: z.string(),
64
+ ...RuntimeMessageExtensionFieldsSchema,
65
+ }).strict();
66
+ export const AgUiRuntimeUserMessageSchema = z.object({
67
+ id: z.string().min(1),
68
+ role: z.literal("user"),
69
+ content: z.string(),
70
+ ...RuntimeMessageExtensionFieldsSchema,
71
+ }).strict();
72
+ export const AgUiRuntimeAssistantMessageSchema = z.object({
73
+ id: z.string().min(1),
74
+ role: z.literal("assistant"),
75
+ content: z.string().optional(),
76
+ toolCalls: z.array(AgUiRuntimeToolCallSchema).optional(),
77
+ ...RuntimeMessageExtensionFieldsSchema,
78
+ }).strict();
79
+ export const AgUiRuntimeToolMessageSchema = z.object({
80
+ id: z.string().min(1),
81
+ role: z.literal("tool"),
82
+ toolCallId: z.string().min(1).max(128),
83
+ content: z.string(),
84
+ error: z.string().optional(),
85
+ ...RuntimeMessageExtensionFieldsSchema,
86
+ }).strict();
87
+ export const AgUiRuntimeMessageSchema = z.discriminatedUnion("role", [
88
+ AgUiRuntimeSystemMessageSchema,
89
+ AgUiRuntimeUserMessageSchema,
90
+ AgUiRuntimeAssistantMessageSchema,
91
+ AgUiRuntimeToolMessageSchema,
92
+ ]);
93
+ export const AgUiRuntimeContextSchema = z.union([
94
+ z.object({
95
+ description: z.string().max(1024),
96
+ value: z.string().max(MAX_CONTEXT_ITEM_BYTES),
97
+ }),
98
+ AgUiRuntimeContextItemSchema,
99
+ ]);
100
+ export const AgUiRuntimeRequestSchema = z.object({
101
+ threadId: z.string().uuid(),
102
+ runId: AgUiRuntimeRunIdSchema,
103
+ parentRunId: AgUiRuntimeRunIdSchema.optional(),
104
+ state: z.unknown().optional(),
105
+ messages: z.array(AgUiRuntimeMessageSchema).max(MAX_RUNTIME_MESSAGES),
106
+ tools: z.array(AgUiRuntimeInjectedToolSchema).max(50).default([]),
107
+ context: z.array(AgUiRuntimeContextSchema).max(10).default([]).refine((value) => isWithinJsonSizeLimit(value, MAX_CONTEXT_TOTAL_BYTES), { message: "context must be less than 64 KB total" }),
108
+ forwardedProps: z.record(z.string(), z.unknown()).optional().refine((value) => value === undefined || isWithinJsonSizeLimit(value, MAX_FORWARDED_PROPS_BYTES), { message: "forwardedProps must be less than 64 KB" }),
109
+ });