veryfront 0.1.261 → 0.1.262

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 (53) hide show
  1. package/esm/cli/commands/knowledge/command.d.ts.map +1 -1
  2. package/esm/cli/commands/knowledge/command.js +19 -26
  3. package/esm/deno.js +1 -1
  4. package/esm/src/agent/ag-ui-detached-start.d.ts +1 -4
  5. package/esm/src/agent/ag-ui-detached-start.d.ts.map +1 -1
  6. package/esm/src/agent/ag-ui-detached-start.js +4 -67
  7. package/esm/src/agent/ag-ui-handler.d.ts +1 -4
  8. package/esm/src/agent/ag-ui-handler.d.ts.map +1 -1
  9. package/esm/src/agent/ag-ui-handler.js +3 -61
  10. package/esm/src/agent/ag-ui-host-support.d.ts.map +1 -1
  11. package/esm/src/agent/ag-ui-host-support.js +2 -21
  12. package/esm/src/agent/ag-ui-request-shared.d.ts +4 -0
  13. package/esm/src/agent/ag-ui-request-shared.d.ts.map +1 -0
  14. package/esm/src/agent/ag-ui-request-shared.js +47 -0
  15. package/esm/src/agent/ag-ui-run-control.d.ts.map +1 -1
  16. package/esm/src/agent/ag-ui-run-control.js +1 -23
  17. package/esm/src/agent/ag-ui-runtime-handler.d.ts +1 -5
  18. package/esm/src/agent/ag-ui-runtime-handler.d.ts.map +1 -1
  19. package/esm/src/agent/ag-ui-runtime-handler.js +3 -67
  20. package/esm/src/agent/ag-ui-tool-shared.d.ts +15 -0
  21. package/esm/src/agent/ag-ui-tool-shared.d.ts.map +1 -0
  22. package/esm/src/agent/ag-ui-tool-shared.js +47 -0
  23. package/esm/src/agent/index.d.ts +2 -0
  24. package/esm/src/agent/index.d.ts.map +1 -1
  25. package/esm/src/agent/index.js +1 -0
  26. package/esm/src/agent/runtime-ag-ui-contract.d.ts.map +1 -1
  27. package/esm/src/agent/runtime-ag-ui-contract.js +2 -21
  28. package/esm/src/chat/chat-ui-message-helpers.d.ts +18 -0
  29. package/esm/src/chat/chat-ui-message-helpers.d.ts.map +1 -0
  30. package/esm/src/chat/chat-ui-message-helpers.js +84 -0
  31. package/esm/src/chat/index.d.ts +2 -0
  32. package/esm/src/chat/index.d.ts.map +1 -1
  33. package/esm/src/chat/index.js +1 -0
  34. package/esm/src/chat/protocol.d.ts +109 -0
  35. package/esm/src/chat/protocol.d.ts.map +1 -1
  36. package/esm/src/utils/version-constant.d.ts +1 -1
  37. package/esm/src/utils/version-constant.js +1 -1
  38. package/package.json +1 -1
  39. package/src/cli/commands/knowledge/command.ts +27 -32
  40. package/src/deno.js +1 -1
  41. package/src/src/agent/ag-ui-detached-start.ts +4 -92
  42. package/src/src/agent/ag-ui-handler.ts +3 -81
  43. package/src/src/agent/ag-ui-host-support.ts +5 -28
  44. package/src/src/agent/ag-ui-request-shared.ts +62 -0
  45. package/src/src/agent/ag-ui-run-control.ts +1 -27
  46. package/src/src/agent/ag-ui-runtime-handler.ts +3 -86
  47. package/src/src/agent/ag-ui-tool-shared.ts +77 -0
  48. package/src/src/agent/index.ts +15 -0
  49. package/src/src/agent/runtime-ag-ui-contract.ts +5 -28
  50. package/src/src/chat/chat-ui-message-helpers.ts +114 -0
  51. package/src/src/chat/index.ts +17 -0
  52. package/src/src/chat/protocol.ts +148 -0
  53. package/src/src/utils/version-constant.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/knowledge/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/knowledge/command.ts"],"names":[],"mappings":"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"}
@@ -150,6 +150,23 @@ function createFailedKnowledgeSource(input) {
150
150
  async function collectLocalFiles(root, recursive) {
151
151
  return commandHelpers.collectLocalFiles(root, recursive);
152
152
  }
153
+ function classifyListedUploadsForKnowledge(uploads) {
154
+ const skipped = [];
155
+ const uploadTargets = [];
156
+ for (const item of uploads) {
157
+ if (item.type === "folder") {
158
+ continue;
159
+ }
160
+ const source = formatKnowledgeUploadSource(item.path);
161
+ const skippedUpload = classifySourceOrSkip({ source });
162
+ if (skippedUpload == null) {
163
+ uploadTargets.push(item.path);
164
+ continue;
165
+ }
166
+ skipped.push(skippedUpload);
167
+ }
168
+ return { skipped, uploadTargets };
169
+ }
153
170
  function buildSourceReference(source) {
154
171
  return commandHelpers.buildSourceReference(source);
155
172
  }
@@ -336,34 +353,10 @@ export async function collectKnowledgeSources(options, deps) {
336
353
  limit: 100,
337
354
  });
338
355
  let uploads = await listUploadsForPrefix(uploadPrefix || undefined);
339
- let skipped = uploads.flatMap((item) => {
340
- if (item.type === "folder") {
341
- return [];
342
- }
343
- const skippedUpload = classifySourceOrSkip({
344
- source: formatKnowledgeUploadSource(item.path),
345
- });
346
- return skippedUpload == null ? [] : [skippedUpload];
347
- });
348
- let uploadTargets = uploads
349
- .filter((item) => item.type !== "folder")
350
- .map((item) => item.path)
351
- .filter((uploadPath) => classifySourceOrSkip({ source: formatKnowledgeUploadSource(uploadPath) }) == null);
356
+ let { skipped, uploadTargets } = classifyListedUploadsForKnowledge(uploads);
352
357
  if (!uploadTargets.length && uploadPrefix && !uploadPrefix.endsWith("/")) {
353
358
  uploads = await listUploadsForPrefix(`${uploadPrefix}/`);
354
- skipped = uploads.flatMap((item) => {
355
- if (item.type === "folder") {
356
- return [];
357
- }
358
- const skippedUpload = classifySourceOrSkip({
359
- source: formatKnowledgeUploadSource(item.path),
360
- });
361
- return skippedUpload == null ? [] : [skippedUpload];
362
- });
363
- uploadTargets = uploads
364
- .filter((item) => item.type !== "folder")
365
- .map((item) => item.path)
366
- .filter((uploadPath) => classifySourceOrSkip({ source: formatKnowledgeUploadSource(uploadPath) }) == null);
359
+ ({ skipped, uploadTargets } = classifyListedUploadsForKnowledge(uploads));
367
360
  }
368
361
  if (!uploadTargets.length && skipped.length === 0) {
369
362
  throw new Error(`No supported uploads found under ${displayUploadPrefix}`);
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.261",
3
+ "version": "0.1.262",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "workspace": [
@@ -1,10 +1,7 @@
1
1
  import { z } from "zod";
2
+ import { type AgUiResumeValue } from "./ag-ui-tool-shared.js";
2
3
  import { type RunResumeSessionManager } from "./runtime/index.js";
3
4
  import type { Agent } from "./types.js";
4
- type AgUiResumeValue = {
5
- result: unknown;
6
- isError: boolean;
7
- };
8
5
  type AgUiContextValue = Record<string, unknown> | ((request: Request) => Record<string, unknown> | Promise<Record<string, unknown>>);
9
6
  export declare const AgUiDetachedStartRequestSchema: z.ZodObject<{
10
7
  messages: z.ZodArray<z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"ag-ui-detached-start.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-detached-start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ag-ui-detached-start.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-detached-start.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,12 @@
1
1
  import { z } from "zod";
2
2
  import { INVALID_ARGUMENT } from "../errors/index.js";
3
- import { SKILL_TOOL_IDS } from "../skill/types.js";
4
- import { toolRegistry } from "../tool/index.js";
5
3
  import { streamDataStreamEvents } from "./data-stream.js";
6
- import { AgUiRequestSchema, normalizeAgUiMessages, } from "./ag-ui-host-support.js";
4
+ import { AgUiRequestSchema, normalizeAgUiMessages } from "./ag-ui-host-support.js";
5
+ import { extractRequest } from "./ag-ui-request-shared.js";
6
+ import { buildMergedAgUiTools } from "./ag-ui-tool-shared.js";
7
7
  import { AgentRuntime, RunAlreadyExistsError, } from "./runtime/index.js";
8
8
  const AGENT_ID_PATTERN = /^[a-zA-Z0-9_-]+$/;
9
9
  const AG_UI_DETACHED_RUN_ID_SCHEMA = z.string().min(1).max(128).regex(AGENT_ID_PATTERN);
10
- function isRequest(obj) {
11
- return (typeof obj === "object" &&
12
- obj !== null &&
13
- "json" in obj &&
14
- typeof obj.json === "function" &&
15
- "url" in obj &&
16
- typeof obj.url === "string" &&
17
- "method" in obj &&
18
- typeof obj.method === "string");
19
- }
20
- function extractRequest(requestOrCtx) {
21
- if (isRequest(requestOrCtx))
22
- return requestOrCtx;
23
- if (typeof requestOrCtx === "object" && requestOrCtx !== null && "request" in requestOrCtx) {
24
- const candidate = requestOrCtx.request;
25
- if (isRequest(candidate))
26
- return candidate;
27
- }
28
- throw INVALID_ARGUMENT.create({
29
- detail: "Invalid handler argument: expected Request or APIContext",
30
- });
31
- }
32
10
  function buildStreamContext(request, baseContext, threadId, runId) {
33
11
  return {
34
12
  ...baseContext,
@@ -40,49 +18,8 @@ function buildStreamContext(request, baseContext, threadId, runId) {
40
18
  },
41
19
  };
42
20
  }
43
- function createInjectedAgUiTool(runId, tool, sessionManager) {
44
- return {
45
- id: tool.name,
46
- type: "function",
47
- description: tool.description ?? tool.name,
48
- inputSchema: z.record(z.string(), z.unknown()),
49
- inputSchemaJson: (tool.parameters ??
50
- { type: "object", properties: {}, additionalProperties: true }),
51
- execute: async (_input, context) => {
52
- const toolCallId = typeof context?.toolCallId === "string" ? context.toolCallId : null;
53
- if (!toolCallId) {
54
- throw new Error(`Missing toolCallId for injected tool "${tool.name}"`);
55
- }
56
- sessionManager.prepareForSignal(runId, toolCallId);
57
- const submitted = await sessionManager.waitForSignal(runId, toolCallId);
58
- if (submitted.isError) {
59
- throw new Error(typeof submitted.result === "string"
60
- ? submitted.result
61
- : JSON.stringify(submitted.result));
62
- }
63
- return submitted.result;
64
- },
65
- };
66
- }
67
21
  function buildMergedTools(agent, request, sessionManager) {
68
- const injectedTools = Object.fromEntries(request.tools.map((tool) => [
69
- tool.name,
70
- createInjectedAgUiTool(request.runId, tool, sessionManager),
71
- ]));
72
- if (!agent.config.tools) {
73
- return Object.keys(injectedTools).length > 0 ? injectedTools : undefined;
74
- }
75
- if (agent.config.tools === true) {
76
- const merged = {};
77
- for (const [toolId] of toolRegistry.getAll()) {
78
- if (!agent.config.skills && SKILL_TOOL_IDS.has(toolId)) {
79
- continue;
80
- }
81
- merged[toolId] = true;
82
- }
83
- return { ...merged, ...injectedTools };
84
- }
85
- return { ...agent.config.tools, ...injectedTools };
22
+ return buildMergedAgUiTools(agent, request.runId, request.tools, sessionManager);
86
23
  }
87
24
  function scheduleDetachedTask(requestOrCtx, task) {
88
25
  if (typeof requestOrCtx === "object" &&
@@ -1,10 +1,7 @@
1
1
  import type { Agent } from "./types.js";
2
2
  import { type RunResumeSessionManager } from "./runtime/index.js";
3
+ import { type AgUiResumeValue } from "./ag-ui-tool-shared.js";
3
4
  export { type AgUiContextItem, AgUiContextItemSchema, type AgUiInjectedTool, AgUiInjectedToolSchema, type AgUiRequest, AgUiRequestSchema, } from "./ag-ui-host-support.js";
4
- type AgUiResumeValue = {
5
- result: unknown;
6
- isError: boolean;
7
- };
8
5
  export interface AgUiHandlerOptions {
9
6
  context?: Record<string, unknown> | ((request: Request) => Record<string, unknown> | Promise<Record<string, unknown>>);
10
7
  sessionManager?: RunResumeSessionManager<AgUiResumeValue>;
@@ -1 +1 @@
1
- {"version":3,"file":"ag-ui-handler.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAkB5B,OAAO,EACL,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,WAAW,EAChB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAQjC,KAAK,eAAe,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAkT7D,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EACJ,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;IACvF,cAAc,CAAC,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,KAAK,EAAE,KAAK,CAAC;CACd;AAUD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,kBAAkB,GAC3B,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,0BAA0B,EAClC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"ag-ui-handler.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EAAE,KAAK,eAAe,EAAwB,MAAM,wBAAwB,CAAC;AAEpF,OAAO,EACL,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,WAAW,EAChB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AA8OjC,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EACJ,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;IACvF,cAAc,CAAC,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,KAAK,EAAE,KAAK,CAAC;CACd;AAUD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,kBAAkB,GAC3B,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,0BAA0B,EAClC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC"}
@@ -2,40 +2,17 @@ import * as dntShim from "../../_dnt.shims.js";
2
2
  import { z } from "zod";
3
3
  import { getAgent } from "./composition/index.js";
4
4
  import { AgentRuntime, RunAlreadyExistsError, } from "./runtime/index.js";
5
- import { INVALID_ARGUMENT } from "../errors/index.js";
6
- import { SKILL_TOOL_IDS } from "../skill/types.js";
7
- import { toolRegistry } from "../tool/index.js";
8
5
  import { createStreamTransformState, finalizeRunEvents, formatAgUiEvent, mapRuntimeEventToAgUi, } from "../internal-agents/ag-ui-sse.js";
9
6
  import { streamDataStreamEvents } from "./data-stream.js";
10
7
  import { normalizeAgUiMessages, parseAgUiRequestOrError, } from "./ag-ui-host-support.js";
8
+ import { extractRequest } from "./ag-ui-request-shared.js";
9
+ import { buildMergedAgUiTools } from "./ag-ui-tool-shared.js";
11
10
  export { AgUiContextItemSchema, AgUiInjectedToolSchema, AgUiRequestSchema, } from "./ag-ui-host-support.js";
12
11
  const AG_UI_HEADERS = {
13
12
  "Content-Type": "text/event-stream",
14
13
  "Cache-Control": "no-cache",
15
14
  Connection: "keep-alive",
16
15
  };
17
- function isRequest(obj) {
18
- return (typeof obj === "object" &&
19
- obj !== null &&
20
- "json" in obj &&
21
- typeof obj.json === "function" &&
22
- "url" in obj &&
23
- typeof obj.url === "string" &&
24
- "method" in obj &&
25
- typeof obj.method === "string");
26
- }
27
- function extractRequest(requestOrCtx) {
28
- if (isRequest(requestOrCtx))
29
- return requestOrCtx;
30
- if (typeof requestOrCtx === "object" && requestOrCtx !== null && "request" in requestOrCtx) {
31
- const candidate = requestOrCtx.request;
32
- if (isRequest(candidate))
33
- return candidate;
34
- }
35
- throw INVALID_ARGUMENT.create({
36
- detail: "Invalid handler argument: expected Request or APIContext",
37
- });
38
- }
39
16
  function generateRunId() {
40
17
  return `run_${dntShim.crypto.randomUUID().replaceAll("-", "")}`;
41
18
  }
@@ -155,30 +132,6 @@ async function createAgUiDirectStreamResponse(agent, request, baseContext) {
155
132
  upstreamStatusText: upstream.statusText,
156
133
  });
157
134
  }
158
- function createInjectedAgUiTool(runId, tool, sessionManager) {
159
- return {
160
- id: tool.name,
161
- type: "function",
162
- description: tool.description ?? tool.name,
163
- inputSchema: z.record(z.string(), z.unknown()),
164
- inputSchemaJson: (tool.parameters ??
165
- { type: "object", properties: {}, additionalProperties: true }),
166
- execute: async (_input, context) => {
167
- const toolCallId = typeof context?.toolCallId === "string" ? context.toolCallId : null;
168
- if (!toolCallId) {
169
- throw new Error(`Missing toolCallId for injected tool "${tool.name}"`);
170
- }
171
- sessionManager.prepareForSignal(runId, toolCallId);
172
- const submitted = await sessionManager.waitForSignal(runId, toolCallId);
173
- if (submitted.isError) {
174
- throw new Error(typeof submitted.result === "string"
175
- ? submitted.result
176
- : JSON.stringify(submitted.result));
177
- }
178
- return submitted.result;
179
- },
180
- };
181
- }
182
135
  async function createAgUiInjectedToolsStreamResponse(agent, request, baseContext, sessionManager) {
183
136
  const threadId = request.threadId ?? dntShim.crypto.randomUUID();
184
137
  const runId = request.runId ?? generateRunId();
@@ -191,20 +144,9 @@ async function createAgUiInjectedToolsStreamResponse(agent, request, baseContext
191
144
  }
192
145
  throw error;
193
146
  }
194
- const injectedTools = Object.fromEntries(request.tools.map((tool) => [tool.name, createInjectedAgUiTool(runId, tool, sessionManager)]));
195
- const mergedTools = !agent.config.tools
196
- ? injectedTools
197
- : agent.config.tools === true
198
- ? {
199
- ...Object.fromEntries([...toolRegistry.getAll()]
200
- .filter(([toolId]) => agent.config.skills || !SKILL_TOOL_IDS.has(toolId))
201
- .map(([toolId]) => [toolId, true])),
202
- ...injectedTools,
203
- }
204
- : { ...agent.config.tools, ...injectedTools };
205
147
  const runtime = new AgentRuntime(agent.id, {
206
148
  ...agent.config,
207
- tools: mergedTools,
149
+ tools: buildMergedAgUiTools(agent, runId, request.tools, sessionManager),
208
150
  });
209
151
  let upstreamBody;
210
152
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"ag-ui-host-support.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-host-support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAY1C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAgBD,eAAO,MAAM,sBAAsB;;;;iBAOjC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;2BAqBhC,CAAC;AAYH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAe5B,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,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AA0E5D,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAE7E;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,CA6BjC;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,OAAO,EAAE,CAUlF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAQpF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAUxF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,QAAQ,CASlF"}
1
+ {"version":3,"file":"ag-ui-host-support.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-host-support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAa1C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAgBD,eAAO,MAAM,sBAAsB;;;;iBAOjC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;2BAqBhC,CAAC;AAYH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAe5B,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,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AA0E5D,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAE7E;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,CAKjC;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,OAAO,EAAE,CAUlF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAQpF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAUxF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,QAAQ,CASlF"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { formatAgUiEvent } from "../internal-agents/ag-ui-sse.js";
3
+ import { parseAgUiJsonRequestOrError } from "./ag-ui-request-shared.js";
3
4
  const AGENT_ID_PATTERN = /^[a-zA-Z0-9_-]+$/;
4
5
  const MAX_TOOL_PARAMETERS_BYTES = 16_384;
5
6
  const MAX_CONTEXT_ITEM_BYTES = 16_384;
@@ -127,27 +128,7 @@ export async function parseAgUiRequest(request) {
127
128
  return AgUiRequestSchema.parse(await request.json());
128
129
  }
129
130
  export async function parseAgUiRequestOrError(request) {
130
- try {
131
- return await parseAgUiRequest(request);
132
- }
133
- catch (error) {
134
- if (error instanceof z.ZodError) {
135
- return Response.json({
136
- error: "Invalid AG-UI request",
137
- details: error.issues.map((issue) => ({
138
- path: issue.path,
139
- message: issue.message,
140
- })),
141
- }, { status: 400 });
142
- }
143
- if (error instanceof SyntaxError || error instanceof TypeError) {
144
- return Response.json({
145
- error: "Invalid AG-UI request",
146
- details: [{ path: [], message: "Malformed JSON request body" }],
147
- }, { status: 400 });
148
- }
149
- throw error;
150
- }
131
+ return await parseAgUiJsonRequestOrError(() => parseAgUiRequest(request), "Invalid AG-UI request");
151
132
  }
152
133
  export function normalizeAgUiMessages(messages) {
153
134
  return messages.map((message) => ({
@@ -0,0 +1,4 @@
1
+ export declare function isRequest(value: unknown): value is Request;
2
+ export declare function extractRequest(requestOrCtx: unknown): Request;
3
+ export declare function parseAgUiJsonRequestOrError<T>(parseRequest: () => Promise<T>, errorLabel: string): Promise<T | Response>;
4
+ //# sourceMappingURL=ag-ui-request-shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ag-ui-request-shared.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-request-shared.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAW1D;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAW7D;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EACjD,YAAY,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC9B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,CA6BvB"}
@@ -0,0 +1,47 @@
1
+ import { z } from "zod";
2
+ import { INVALID_ARGUMENT } from "../errors/index.js";
3
+ export function isRequest(value) {
4
+ return (typeof value === "object" &&
5
+ value !== null &&
6
+ "json" in value &&
7
+ typeof value.json === "function" &&
8
+ "url" in value &&
9
+ typeof value.url === "string" &&
10
+ "method" in value &&
11
+ typeof value.method === "string");
12
+ }
13
+ export function extractRequest(requestOrCtx) {
14
+ if (isRequest(requestOrCtx))
15
+ return requestOrCtx;
16
+ if (typeof requestOrCtx === "object" && requestOrCtx !== null && "request" in requestOrCtx) {
17
+ const candidate = requestOrCtx.request;
18
+ if (isRequest(candidate))
19
+ return candidate;
20
+ }
21
+ throw INVALID_ARGUMENT.create({
22
+ detail: "Invalid handler argument: expected Request or APIContext",
23
+ });
24
+ }
25
+ export async function parseAgUiJsonRequestOrError(parseRequest, errorLabel) {
26
+ try {
27
+ return await parseRequest();
28
+ }
29
+ catch (error) {
30
+ if (error instanceof z.ZodError) {
31
+ return Response.json({
32
+ error: errorLabel,
33
+ details: error.issues.map((issue) => ({
34
+ path: issue.path,
35
+ message: issue.message,
36
+ })),
37
+ }, { status: 400 });
38
+ }
39
+ if (error instanceof SyntaxError || error instanceof TypeError) {
40
+ return Response.json({
41
+ error: errorLabel,
42
+ details: [{ path: [], message: "Malformed JSON request body" }],
43
+ }, { status: 400 });
44
+ }
45
+ throw error;
46
+ }
47
+ }
@@ -1 +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,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;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,GAAG,IAAI,CAAC,GACvE,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CACtF;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,QAAQ,CAAC,CAsD9C;AAED,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,OAAO,EACjD,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACnC,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAgB9C"}
1
+ {"version":3,"file":"ag-ui-run-control.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-run-control.ts"],"names":[],"mappings":"AAAA,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;AAMF,MAAM,WAAW,4BAA4B;IAC3C,YAAY,CAAC,EACT,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,GAAG,IAAI,CAAC,GACvE,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CACtF;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,QAAQ,CAAC,CAsD9C;AAED,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,OAAO,EACjD,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACnC,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAgB9C"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { INVALID_ARGUMENT } from "../errors/index.js";
2
+ import { extractRequest } from "./ag-ui-request-shared.js";
3
3
  import { RunNotActiveError, WaitConflictError, WaitNotPendingError, } from "./runtime/resume-session.js";
4
4
  const RESUME_PATH_REGEX = /^\/api\/ag-ui\/runs\/([^/]+)\/resume$/;
5
5
  const CANCEL_PATH_REGEX = /^\/api\/ag-ui\/runs\/([^/]+)$/;
@@ -11,28 +11,6 @@ export const AgUiResumeSignalSchema = z.discriminatedUnion("type", [
11
11
  isError: z.boolean().optional().default(false),
12
12
  }),
13
13
  ]);
14
- function isRequest(value) {
15
- return (typeof value === "object" &&
16
- value !== null &&
17
- "json" in value &&
18
- typeof value.json === "function" &&
19
- "url" in value &&
20
- typeof value.url === "string" &&
21
- "method" in value &&
22
- typeof value.method === "string");
23
- }
24
- function extractRequest(requestOrCtx) {
25
- if (isRequest(requestOrCtx))
26
- return requestOrCtx;
27
- if (typeof requestOrCtx === "object" && requestOrCtx !== null && "request" in requestOrCtx) {
28
- const candidate = requestOrCtx.request;
29
- if (isRequest(candidate))
30
- return candidate;
31
- }
32
- throw INVALID_ARGUMENT.create({
33
- detail: "Invalid handler argument: expected Request or APIContext",
34
- });
35
- }
36
14
  function getRunId(pathname, regex) {
37
15
  return regex.exec(pathname)?.[1] ?? null;
38
16
  }
@@ -1,10 +1,7 @@
1
1
  import { type RunResumeSessionManager } from "./runtime/index.js";
2
2
  import type { Agent } from "./types.js";
3
3
  import { type AgUiRuntimeRequest } from "./runtime-ag-ui-contract.js";
4
- type AgUiResumeValue = {
5
- result: unknown;
6
- isError: boolean;
7
- };
4
+ import { type AgUiResumeValue } from "./ag-ui-tool-shared.js";
8
5
  export interface AgUiRuntimeLifecycleContext {
9
6
  request: AgUiRuntimeRequest;
10
7
  toolCallId?: string;
@@ -33,5 +30,4 @@ export type AgUiRuntimeHandlerConfig = AgUiRuntimeHandlerConfigWithAgent | (AgUi
33
30
  execute: AgUiRuntimeHandlerExecute;
34
31
  });
35
32
  export declare function createAgUiRuntimeHandler(config: AgUiRuntimeHandlerConfig): (requestOrCtx: unknown) => Promise<Response>;
36
- export {};
37
33
  //# sourceMappingURL=ag-ui-runtime-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ag-ui-runtime-handler.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-runtime-handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,6BAA6B,CAAC;AAgBrC,KAAK,eAAe,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAG7D,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,kBAAkB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAqWD,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,yBAAyB,GAAG,CACtC,KAAK,EAAE,8BAA8B,KAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAElC,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EACJ,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;IACvF,cAAc,CAAC,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1E,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1E;AAED,MAAM,WAAW,iCAAkC,SAAQ,yBAAyB;IAClF,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,MAAM,wBAAwB,GAChC,iCAAiC,GACjC,CAAC,yBAAyB,GAAG;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,yBAAyB,CAAA;CAAE,CAAC,CAAC;AAE5F,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,wBAAwB,GAC/B,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAqI9C"}
1
+ {"version":3,"file":"ag-ui-runtime-handler.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-runtime-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,KAAK,eAAe,EAAwB,MAAM,wBAAwB,CAAC;AAkBpF,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,kBAAkB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAqRD,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,yBAAyB,GAAG,CACtC,KAAK,EAAE,8BAA8B,KAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAElC,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EACJ,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;IACvF,cAAc,CAAC,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1E,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1E;AAED,MAAM,WAAW,iCAAkC,SAAQ,yBAAyB;IAClF,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,MAAM,wBAAwB,GAChC,iCAAiC,GACjC,CAAC,yBAAyB,GAAG;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,yBAAyB,CAAA;CAAE,CAAC,CAAC;AAE5F,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,wBAAwB,GAC/B,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAqI9C"}
@@ -1,9 +1,8 @@
1
1
  import { z } from "zod";
2
- import { INVALID_ARGUMENT } from "../errors/index.js";
3
- import { SKILL_TOOL_IDS } from "../skill/types.js";
4
- import { toolRegistry } from "../tool/index.js";
5
2
  import { AgentRuntime, RunAlreadyExistsError, } from "./runtime/index.js";
6
3
  import { parseAgUiRuntimeRequestOrError, } from "./runtime-ag-ui-contract.js";
4
+ import { extractRequest } from "./ag-ui-request-shared.js";
5
+ import { buildMergedAgUiTools } from "./ag-ui-tool-shared.js";
7
6
  import { normalizeAgUiRuntimeMessages } from "./ag-ui-runtime-support.js";
8
7
  import { createStreamTransformState, finalizeRunEvents, formatAgUiEvent, mapRuntimeEventToAgUi, } from "../internal-agents/ag-ui-sse.js";
9
8
  import { streamDataStreamEvents } from "./data-stream.js";
@@ -33,31 +32,9 @@ async function invokeLifecycleCallbackAndWait(callback, context) {
33
32
  return;
34
33
  }
35
34
  }
36
- function isRequest(obj) {
37
- return (typeof obj === "object" &&
38
- obj !== null &&
39
- "json" in obj &&
40
- typeof obj.json === "function" &&
41
- "url" in obj &&
42
- typeof obj.url === "string" &&
43
- "method" in obj &&
44
- typeof obj.method === "string");
45
- }
46
35
  function isRecord(value) {
47
36
  return typeof value === "object" && value !== null && !Array.isArray(value);
48
37
  }
49
- function extractRequest(requestOrCtx) {
50
- if (isRequest(requestOrCtx))
51
- return requestOrCtx;
52
- if (typeof requestOrCtx === "object" && requestOrCtx !== null && "request" in requestOrCtx) {
53
- const candidate = requestOrCtx.request;
54
- if (isRequest(candidate))
55
- return candidate;
56
- }
57
- throw INVALID_ARGUMENT.create({
58
- detail: "Invalid handler argument: expected Request or APIContext",
59
- });
60
- }
61
38
  function buildStreamContext(request, baseContext) {
62
39
  return {
63
40
  ...baseContext,
@@ -179,49 +156,8 @@ async function createAgUiRuntimeDirectStreamResponse(agent, request, baseContext
179
156
  onToolCallSeen: lifecycle?.onToolCallSeen,
180
157
  });
181
158
  }
182
- function createInjectedAgUiTool(runId, tool, sessionManager) {
183
- return {
184
- id: tool.name,
185
- type: "function",
186
- description: tool.description ?? tool.name,
187
- inputSchema: z.record(z.string(), z.unknown()),
188
- inputSchemaJson: (tool.parameters ??
189
- { type: "object", properties: {}, additionalProperties: true }),
190
- execute: async (_input, context) => {
191
- const toolCallId = typeof context?.toolCallId === "string" ? context.toolCallId : null;
192
- if (!toolCallId) {
193
- throw new Error(`Missing toolCallId for injected tool "${tool.name}"`);
194
- }
195
- sessionManager.prepareForSignal(runId, toolCallId);
196
- const submitted = await sessionManager.waitForSignal(runId, toolCallId);
197
- if (submitted.isError) {
198
- throw new Error(typeof submitted.result === "string"
199
- ? submitted.result
200
- : JSON.stringify(submitted.result));
201
- }
202
- return submitted.result;
203
- },
204
- };
205
- }
206
159
  function buildMergedTools(agent, request, sessionManager) {
207
- const injectedTools = Object.fromEntries(request.tools.map((tool) => [
208
- tool.name,
209
- createInjectedAgUiTool(request.runId, tool, sessionManager),
210
- ]));
211
- if (!agent.config.tools) {
212
- return Object.keys(injectedTools).length > 0 ? injectedTools : undefined;
213
- }
214
- if (agent.config.tools === true) {
215
- const merged = {};
216
- for (const [toolId] of toolRegistry.getAll()) {
217
- if (!agent.config.skills && SKILL_TOOL_IDS.has(toolId)) {
218
- continue;
219
- }
220
- merged[toolId] = true;
221
- }
222
- return { ...merged, ...injectedTools };
223
- }
224
- return { ...agent.config.tools, ...injectedTools };
160
+ return buildMergedAgUiTools(agent, request.runId, request.tools, sessionManager);
225
161
  }
226
162
  async function createAgUiRuntimeInjectedToolsStreamResponse(agent, request, baseContext, sessionManager, lifecycle) {
227
163
  try {
@@ -0,0 +1,15 @@
1
+ import type { Tool } from "../tool/types.js";
2
+ import type { RunResumeSessionManager } from "./runtime/index.js";
3
+ import type { Agent } from "./types.js";
4
+ export type AgUiResumeValue = {
5
+ result: unknown;
6
+ isError: boolean;
7
+ };
8
+ export interface AgUiInjectedToolLike {
9
+ name: string;
10
+ description?: string;
11
+ parameters?: unknown;
12
+ }
13
+ export declare function createInjectedAgUiTool(runId: string, tool: AgUiInjectedToolLike, sessionManager: RunResumeSessionManager<AgUiResumeValue>): Tool;
14
+ export declare function buildMergedAgUiTools(agent: Agent, runId: string, tools: AgUiInjectedToolLike[], sessionManager: RunResumeSessionManager<AgUiResumeValue>): Agent["config"]["tools"];
15
+ //# sourceMappingURL=ag-ui-tool-shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ag-ui-tool-shared.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-tool-shared.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,MAAM,eAAe,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,oBAAoB,EAC1B,cAAc,EAAE,uBAAuB,CAAC,eAAe,CAAC,GACvD,IAAI,CA0BN;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,oBAAoB,EAAE,EAC7B,cAAc,EAAE,uBAAuB,CAAC,eAAe,CAAC,GACvD,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAwB1B"}