veryfront 0.1.189 → 0.1.192
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/cli/mcp/standalone.d.ts +1 -7
- package/esm/cli/mcp/standalone.d.ts.map +1 -1
- package/esm/cli/mcp/standalone.js +85 -0
- package/esm/cli/mcp/tools/context7-tools.d.ts +3 -0
- package/esm/cli/mcp/tools/context7-tools.d.ts.map +1 -0
- package/esm/cli/mcp/tools/context7-tools.js +90 -0
- package/esm/cli/mcp/tools.d.ts.map +1 -1
- package/esm/cli/mcp/tools.js +2 -0
- package/esm/deno.js +1 -1
- package/esm/src/agent/ag-ui-browser-encoder.d.ts.map +1 -1
- package/esm/src/agent/ag-ui-browser-encoder.js +15 -17
- package/esm/src/agent/ag-ui-handler.d.ts.map +1 -1
- package/esm/src/agent/ag-ui-handler.js +17 -1
- package/esm/src/agent/factory.d.ts.map +1 -1
- package/esm/src/agent/factory.js +2 -1
- package/esm/src/agent/human-input.d.ts.map +1 -1
- package/esm/src/agent/human-input.js +1 -0
- package/esm/src/agent/runtime/resume-session.d.ts +1 -0
- package/esm/src/agent/runtime/resume-session.d.ts.map +1 -1
- package/esm/src/agent/runtime/resume-session.js +23 -1
- package/esm/src/agent/types.d.ts +2 -0
- package/esm/src/agent/types.d.ts.map +1 -1
- package/esm/src/internal-agents/run-stream.d.ts.map +1 -1
- package/esm/src/internal-agents/run-stream.js +14 -0
- package/esm/src/internal-agents/session-manager.d.ts +1 -0
- package/esm/src/internal-agents/session-manager.d.ts.map +1 -1
- package/esm/src/internal-agents/session-manager.js +3 -0
- package/esm/src/tool/context7.d.ts +9 -0
- package/esm/src/tool/context7.d.ts.map +1 -0
- package/esm/src/tool/context7.js +19 -0
- package/esm/src/tool/index.d.ts +2 -0
- package/esm/src/tool/index.d.ts.map +1 -1
- package/esm/src/tool/index.js +1 -0
- 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/cli/mcp/standalone.ts +94 -0
- package/src/cli/mcp/tools/context7-tools.ts +110 -0
- package/src/cli/mcp/tools.ts +2 -0
- package/src/deno.js +1 -1
- package/src/src/agent/ag-ui-browser-encoder.ts +28 -17
- package/src/src/agent/ag-ui-handler.ts +21 -0
- package/src/src/agent/factory.ts +2 -0
- package/src/src/agent/human-input.ts +1 -0
- package/src/src/agent/runtime/resume-session.ts +31 -1
- package/src/src/agent/types.ts +2 -0
- package/src/src/internal-agents/run-stream.ts +18 -0
- package/src/src/internal-agents/session-manager.ts +4 -0
- package/src/src/tool/context7.ts +34 -0
- package/src/src/tool/index.ts +2 -0
- package/src/src/utils/version-constant.ts +1 -1
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Standalone MCP Server
|
|
3
|
-
*
|
|
4
|
-
* Runs as a separate process (`veryfront mcp`), communicates over stdio.
|
|
5
|
-
* Pulls runtime data from the dev server's Dashboard API over HTTP.
|
|
6
|
-
* Falls back gracefully when the dev server is not running.
|
|
7
|
-
*/
|
|
8
1
|
export interface StandaloneMCPConfig {
|
|
9
2
|
port?: number;
|
|
10
3
|
}
|
|
@@ -25,6 +18,7 @@ export declare class StandaloneMCPServer {
|
|
|
25
18
|
private handlePromptsList;
|
|
26
19
|
private handlePromptsGet;
|
|
27
20
|
private createTools;
|
|
21
|
+
private createContext7Tools;
|
|
28
22
|
}
|
|
29
23
|
export declare function createStandaloneMCPServer(config?: StandaloneMCPConfig): StandaloneMCPServer;
|
|
30
24
|
//# sourceMappingURL=standalone.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp/standalone.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp/standalone.ts"],"names":[],"mappings":"AAsCA,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAA4B;gBAEnC,MAAM,GAAE,mBAAwB;IAM5C,KAAK,IAAI,IAAI;IAWb,IAAI,IAAI,IAAI;YAME,aAAa;IAW3B,OAAO,CAAC,cAAc;YAgCR,eAAe;IAqB7B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,mBAAmB;YAyBb,mBAAmB;IA6CjC,OAAO,CAAC,iBAAiB;YAkBX,gBAAgB;IAwB9B,OAAO,CAAC,WAAW;IAgKnB,OAAO,CAAC,mBAAmB;CA0F5B;AAED,wBAAgB,yBAAyB,CAAC,MAAM,GAAE,mBAAwB,GAAG,mBAAmB,CAI/F"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Pulls runtime data from the dev server's Dashboard API over HTTP.
|
|
6
6
|
* Falls back gracefully when the dev server is not running.
|
|
7
7
|
*/
|
|
8
|
+
import * as dntShim from "../../_dnt.shims.js";
|
|
8
9
|
import { readTextFile } from "../../src/platform/index.js";
|
|
9
10
|
import { DevServerClient } from "./dev-server-client.js";
|
|
10
11
|
import { startStdioJsonRpc } from "./stdio.js";
|
|
@@ -349,6 +350,90 @@ export class StandaloneMCPServer {
|
|
|
349
350
|
}
|
|
350
351
|
},
|
|
351
352
|
},
|
|
353
|
+
...this.createContext7Tools(),
|
|
354
|
+
];
|
|
355
|
+
}
|
|
356
|
+
createContext7Tools() {
|
|
357
|
+
const isAvailable = () => Boolean(dntShim.Deno.env.get("CONTEXT7_API_KEY"));
|
|
358
|
+
let source;
|
|
359
|
+
const getSource = async () => {
|
|
360
|
+
if (!source) {
|
|
361
|
+
const { createContext7ToolSource } = await import("../../src/tool/index.js");
|
|
362
|
+
source = createContext7ToolSource();
|
|
363
|
+
}
|
|
364
|
+
return source;
|
|
365
|
+
};
|
|
366
|
+
const notConfigured = {
|
|
367
|
+
error: "context7_not_configured",
|
|
368
|
+
message: "Context7 API key not configured. Set the CONTEXT7_API_KEY environment variable.",
|
|
369
|
+
};
|
|
370
|
+
return [
|
|
371
|
+
{
|
|
372
|
+
name: "c7_resolve_library",
|
|
373
|
+
description: "Resolves a package or product name to a Context7-compatible library ID. " +
|
|
374
|
+
"Call this before c7_query_docs to obtain the correct library ID. " +
|
|
375
|
+
"Returns matching libraries with metadata (name, description, snippet count, reputation).",
|
|
376
|
+
inputSchema: {
|
|
377
|
+
type: "object",
|
|
378
|
+
properties: {
|
|
379
|
+
libraryName: {
|
|
380
|
+
type: "string",
|
|
381
|
+
description: "Library name to search for. Use the official name with proper punctuation — e.g., 'Next.js' not 'nextjs'.",
|
|
382
|
+
},
|
|
383
|
+
query: {
|
|
384
|
+
type: "string",
|
|
385
|
+
description: "The question or task you need help with. Used to rank results by relevance.",
|
|
386
|
+
},
|
|
387
|
+
},
|
|
388
|
+
required: ["libraryName", "query"],
|
|
389
|
+
},
|
|
390
|
+
async execute(args) {
|
|
391
|
+
if (!isAvailable())
|
|
392
|
+
return notConfigured;
|
|
393
|
+
try {
|
|
394
|
+
return await (await getSource()).executeTool("resolve-library-id", args);
|
|
395
|
+
}
|
|
396
|
+
catch (error) {
|
|
397
|
+
return {
|
|
398
|
+
error: "context7_request_failed",
|
|
399
|
+
message: error instanceof Error ? error.message : String(error),
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
},
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
name: "c7_query_docs",
|
|
406
|
+
description: "Retrieves up-to-date documentation and code examples from Context7 for a library. " +
|
|
407
|
+
"You must call c7_resolve_library first to obtain the library ID, unless the user " +
|
|
408
|
+
"provides one directly in '/org/project' format.",
|
|
409
|
+
inputSchema: {
|
|
410
|
+
type: "object",
|
|
411
|
+
properties: {
|
|
412
|
+
libraryId: {
|
|
413
|
+
type: "string",
|
|
414
|
+
description: "Context7-compatible library ID (e.g., '/vercel/next.js', '/supabase/supabase').",
|
|
415
|
+
},
|
|
416
|
+
query: {
|
|
417
|
+
type: "string",
|
|
418
|
+
description: "The question or task you need help with. Be specific and include relevant details.",
|
|
419
|
+
},
|
|
420
|
+
},
|
|
421
|
+
required: ["libraryId", "query"],
|
|
422
|
+
},
|
|
423
|
+
async execute(args) {
|
|
424
|
+
if (!isAvailable())
|
|
425
|
+
return notConfigured;
|
|
426
|
+
try {
|
|
427
|
+
return await (await getSource()).executeTool("query-docs", args);
|
|
428
|
+
}
|
|
429
|
+
catch (error) {
|
|
430
|
+
return {
|
|
431
|
+
error: "context7_request_failed",
|
|
432
|
+
message: error instanceof Error ? error.message : String(error),
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
},
|
|
436
|
+
},
|
|
352
437
|
];
|
|
353
438
|
}
|
|
354
439
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context7-tools.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/context7-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AA2GzD,eAAO,MAAM,aAAa,EAAE,OAAO,EAAoC,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import * as dntShim from "../../../_dnt.shims.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { createContext7ToolSource } from "../../../src/tool/index.js";
|
|
4
|
+
let _source;
|
|
5
|
+
function getSource() {
|
|
6
|
+
if (!_source) {
|
|
7
|
+
_source = createContext7ToolSource();
|
|
8
|
+
}
|
|
9
|
+
return _source;
|
|
10
|
+
}
|
|
11
|
+
function isContext7Available() {
|
|
12
|
+
return Boolean(dntShim.Deno.env.get("CONTEXT7_API_KEY"));
|
|
13
|
+
}
|
|
14
|
+
const c7ResolveLibrary = {
|
|
15
|
+
name: "c7_resolve_library",
|
|
16
|
+
title: "Context7: Resolve Library ID",
|
|
17
|
+
description: "Resolves a package or product name to a Context7-compatible library ID. " +
|
|
18
|
+
"Call this before c7_query_docs to obtain the correct library ID. " +
|
|
19
|
+
"Returns matching libraries with metadata (name, description, snippet count, reputation).",
|
|
20
|
+
annotations: {
|
|
21
|
+
readOnlyHint: true,
|
|
22
|
+
destructiveHint: false,
|
|
23
|
+
idempotentHint: true,
|
|
24
|
+
openWorldHint: true,
|
|
25
|
+
},
|
|
26
|
+
inputSchema: z.object({
|
|
27
|
+
libraryName: z
|
|
28
|
+
.string()
|
|
29
|
+
.describe("Library name to search for. Use the official name with proper punctuation — e.g., 'Next.js' not 'nextjs'."),
|
|
30
|
+
query: z
|
|
31
|
+
.string()
|
|
32
|
+
.describe("The question or task you need help with. Used to rank results by relevance."),
|
|
33
|
+
}),
|
|
34
|
+
execute: async (input) => {
|
|
35
|
+
if (!isContext7Available()) {
|
|
36
|
+
return {
|
|
37
|
+
error: "context7_not_configured",
|
|
38
|
+
message: "Context7 API key not configured. Set the CONTEXT7_API_KEY environment variable.",
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
return await getSource().executeTool("resolve-library-id", input);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
return {
|
|
46
|
+
error: "context7_request_failed",
|
|
47
|
+
message: error instanceof Error ? error.message : String(error),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
const c7QueryDocs = {
|
|
53
|
+
name: "c7_query_docs",
|
|
54
|
+
title: "Context7: Query Documentation",
|
|
55
|
+
description: "Retrieves up-to-date documentation and code examples from Context7 for a library. " +
|
|
56
|
+
"You must call c7_resolve_library first to obtain the library ID, unless the user " +
|
|
57
|
+
"provides one directly in '/org/project' format.",
|
|
58
|
+
annotations: {
|
|
59
|
+
readOnlyHint: true,
|
|
60
|
+
destructiveHint: false,
|
|
61
|
+
idempotentHint: true,
|
|
62
|
+
openWorldHint: true,
|
|
63
|
+
},
|
|
64
|
+
inputSchema: z.object({
|
|
65
|
+
libraryId: z
|
|
66
|
+
.string()
|
|
67
|
+
.describe("Context7-compatible library ID (e.g., '/vercel/next.js', '/supabase/supabase')."),
|
|
68
|
+
query: z
|
|
69
|
+
.string()
|
|
70
|
+
.describe("The question or task you need help with. Be specific and include relevant details."),
|
|
71
|
+
}),
|
|
72
|
+
execute: async (input) => {
|
|
73
|
+
if (!isContext7Available()) {
|
|
74
|
+
return {
|
|
75
|
+
error: "context7_not_configured",
|
|
76
|
+
message: "Context7 API key not configured. Set the CONTEXT7_API_KEY environment variable.",
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
return await getSource().executeTool("query-docs", input);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
return {
|
|
84
|
+
error: "context7_request_failed",
|
|
85
|
+
message: error instanceof Error ? error.message : String(error),
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
export const context7Tools = [c7ResolveLibrary, c7QueryDocs];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp/tools.ts"],"names":[],"mappings":"AAAA;;4BAE4B;AAE5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,KAAK,QAAQ,EAIb,KAAK,QAAQ,EAEd,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,KAAK,iBAAiB,EAAwB,MAAM,2BAA2B,CAAC;AACzF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp/tools.ts"],"names":[],"mappings":"AAAA;;4BAE4B;AAE5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,KAAK,QAAQ,EAIb,KAAK,QAAQ,EAEd,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,KAAK,iBAAiB,EAAwB,MAAM,2BAA2B,CAAC;AACzF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAOtD,YAAY,EAAE,OAAO,EAAE,CAAC;AAUxB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAErD;AAED,QAAA,MAAM,cAAc;;;;;;;;;;iBAUlB,CAAC;AAEH,KAAK,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAErD,eAAO,MAAM,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE,CAgB3D,CAAC;AAEF,QAAA,MAAM,YAAY;;;;;;;;;;;iBAgBhB,CAAC;AAEH,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAEjD,eAAO,MAAM,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,CAgBvD,CAAC;AAEF,QAAA,MAAM,eAAe;;;;;;iBAInB,CAAC;AAEH,KAAK,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAEvD,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,eAAe,EAAE,gBAAgB,CA6BnE,CAAC;AAEF,QAAA,MAAM,cAAc,gCAAe,CAAC;AAEpC,KAAK,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAErD,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,GAAE,iBAA0C,GAC9C,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,CAyBvC;AAED,eAAO,MAAM,WAAW,8CAAsB,CAAC;AAE/C,QAAA,MAAM,gBAAgB;;;;;;;;;iBAOpB,CAAC;AAEH,KAAK,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzD,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,CAsBtE,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,OAAO,EAU7B,CAAC;AAEF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEzD;AAED,wBAAgB,SAAS,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAExE"}
|
package/esm/cli/mcp/tools.js
CHANGED
|
@@ -8,6 +8,7 @@ import { getEnvironmentConfig } from "../../src/config/index.js";
|
|
|
8
8
|
import { advancedTools } from "./advanced-tools.js";
|
|
9
9
|
import { remoteFileTools } from "./remote-file-tools.js";
|
|
10
10
|
import { issuesMcpTools } from "../../src/issues/index.js";
|
|
11
|
+
import { context7Tools } from "./tools/context7-tools.js";
|
|
11
12
|
import { DEFAULT_MCP_PORT } from "../shared/constants.js";
|
|
12
13
|
const CACHE_DIRS = {
|
|
13
14
|
all: [".cache/veryfront-modules", ".cache/veryfront-mdx-esm"],
|
|
@@ -149,6 +150,7 @@ export const allTools = [
|
|
|
149
150
|
...advancedTools,
|
|
150
151
|
...remoteFileTools,
|
|
151
152
|
...issuesMcpTools,
|
|
153
|
+
...context7Tools,
|
|
152
154
|
vfGetErrors,
|
|
153
155
|
vfGetLogs,
|
|
154
156
|
vfClearCache,
|
package/esm/deno.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag-ui-browser-encoder.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-browser-encoder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,8BAA8B,CAAC;CAC1C;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,wBAAgB,6BAA6B,IAAI,uBAAuB,CAYvE;
|
|
1
|
+
{"version":3,"file":"ag-ui-browser-encoder.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-browser-encoder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,8BAA8B,CAAC;CAC1C;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,wBAAgB,6BAA6B,IAAI,uBAAuB,CAYvE;AAiMD,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,uBAAuB,EAC9B,KAAK,EAAE,sBAAsB,GAC5B,uBAAuB,EAAE,CAoJ3B;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,aAAa,GAAG,IAAI,GAC7B,uBAAuB,EAAE,CAmC3B"}
|
|
@@ -143,6 +143,16 @@ function createReasoningEvent(state, event, type) {
|
|
|
143
143
|
: { messageId },
|
|
144
144
|
};
|
|
145
145
|
}
|
|
146
|
+
function createTextEvent(messageId, type, delta = "") {
|
|
147
|
+
return {
|
|
148
|
+
event: type,
|
|
149
|
+
payload: type === "TextMessageStart"
|
|
150
|
+
? { messageId, role: "assistant" }
|
|
151
|
+
: type === "TextMessageContent"
|
|
152
|
+
? { messageId, delta }
|
|
153
|
+
: { messageId },
|
|
154
|
+
};
|
|
155
|
+
}
|
|
146
156
|
export function mapRuntimeStreamEventToAgUiBrowserEvents(state, event) {
|
|
147
157
|
if (event.type.startsWith("data-")) {
|
|
148
158
|
const name = event.type.slice("data-".length);
|
|
@@ -162,10 +172,7 @@ export function mapRuntimeStreamEventToAgUiBrowserEvents(state, event) {
|
|
|
162
172
|
const messageId = getMessageId(state, event);
|
|
163
173
|
state.textOpen = true;
|
|
164
174
|
state.sawVisibleOutput = true;
|
|
165
|
-
return [
|
|
166
|
-
event: "TextMessageStart",
|
|
167
|
-
payload: { messageId, role: "assistant" },
|
|
168
|
-
}];
|
|
175
|
+
return [createTextEvent(messageId, "TextMessageStart")];
|
|
169
176
|
}
|
|
170
177
|
case "text-delta": {
|
|
171
178
|
const messageId = getMessageId(state, event);
|
|
@@ -173,26 +180,17 @@ export function mapRuntimeStreamEventToAgUiBrowserEvents(state, event) {
|
|
|
173
180
|
if (!state.textOpen) {
|
|
174
181
|
state.textOpen = true;
|
|
175
182
|
return [
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
event: "TextMessageContent",
|
|
179
|
-
payload: { messageId, delta: typeof event.delta === "string" ? event.delta : "" },
|
|
180
|
-
},
|
|
183
|
+
createTextEvent(messageId, "TextMessageStart"),
|
|
184
|
+
createTextEvent(messageId, "TextMessageContent", typeof event.delta === "string" ? event.delta : ""),
|
|
181
185
|
];
|
|
182
186
|
}
|
|
183
|
-
return [
|
|
184
|
-
event: "TextMessageContent",
|
|
185
|
-
payload: { messageId, delta: typeof event.delta === "string" ? event.delta : "" },
|
|
186
|
-
}];
|
|
187
|
+
return [createTextEvent(messageId, "TextMessageContent", typeof event.delta === "string" ? event.delta : "")];
|
|
187
188
|
}
|
|
188
189
|
case "text-end": {
|
|
189
190
|
if (!state.textOpen)
|
|
190
191
|
return [];
|
|
191
192
|
state.textOpen = false;
|
|
192
|
-
return [
|
|
193
|
-
event: "TextMessageEnd",
|
|
194
|
-
payload: { messageId: getMessageId(state, event) },
|
|
195
|
-
}];
|
|
193
|
+
return [createTextEvent(getMessageId(state, event), "TextMessageEnd")];
|
|
196
194
|
}
|
|
197
195
|
case "reasoning-start":
|
|
198
196
|
state.sawVisibleOutput = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag-ui-handler.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,KAAK,EAAW,MAAM,YAAY,CAAC;AACjD,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAsC5B,QAAA,MAAM,sBAAsB;;;;iBAO1B,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;2BAqBzB,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;AAG5D,KAAK,eAAe,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ag-ui-handler.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,KAAK,EAAW,MAAM,YAAY,CAAC;AACjD,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAsC5B,QAAA,MAAM,sBAAsB;;;;iBAO1B,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;2BAqBzB,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;AAG5D,KAAK,eAAe,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAia7D,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"}
|
|
@@ -198,13 +198,23 @@ function enqueueEvent(controller, event, payload) {
|
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
200
|
async function createAgUiStreamResponse(options) {
|
|
201
|
-
const { agentId, request, runId, threadId, upstreamBody, upstreamStatus, upstreamStatusText, onFinish, onError, } = options;
|
|
201
|
+
const { agentId, request, runId, threadId, upstreamBody, upstreamStatus, upstreamStatusText, onFinish, onError, onToolCallSeen, } = options;
|
|
202
202
|
const stream = new ReadableStream({
|
|
203
203
|
start: async (controller) => {
|
|
204
204
|
const state = createStreamTransformState();
|
|
205
205
|
let reader = null;
|
|
206
206
|
let remainder = "";
|
|
207
207
|
const decoder = new TextDecoder();
|
|
208
|
+
const prepareToolResultIfNeeded = (event, payload) => {
|
|
209
|
+
if (event !== "ToolCallStart" && event !== "ToolCallArgs" &&
|
|
210
|
+
event !== "ToolCallEnd") {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
const toolCallId = typeof payload.toolCallId === "string" ? payload.toolCallId : null;
|
|
214
|
+
if (toolCallId) {
|
|
215
|
+
onToolCallSeen?.(toolCallId);
|
|
216
|
+
}
|
|
217
|
+
};
|
|
208
218
|
if (!enqueueEvent(controller, "RunStarted", { runId, threadId, agentId })) {
|
|
209
219
|
return;
|
|
210
220
|
}
|
|
@@ -235,6 +245,7 @@ async function createAgUiStreamResponse(options) {
|
|
|
235
245
|
remainder = parsed.remainder;
|
|
236
246
|
for (const event of parsed.events) {
|
|
237
247
|
for (const mapped of mapRuntimeEventToAgUi(state, event)) {
|
|
248
|
+
prepareToolResultIfNeeded(mapped.event, mapped.payload);
|
|
238
249
|
if (!enqueueEvent(controller, mapped.event, mapped.payload)) {
|
|
239
250
|
return;
|
|
240
251
|
}
|
|
@@ -245,6 +256,7 @@ async function createAgUiStreamResponse(options) {
|
|
|
245
256
|
const parsed = parseSseJsonEvents(remainder);
|
|
246
257
|
for (const event of parsed.events) {
|
|
247
258
|
for (const mapped of mapRuntimeEventToAgUi(state, event)) {
|
|
259
|
+
prepareToolResultIfNeeded(mapped.event, mapped.payload);
|
|
248
260
|
if (!enqueueEvent(controller, mapped.event, mapped.payload)) {
|
|
249
261
|
return;
|
|
250
262
|
}
|
|
@@ -309,6 +321,7 @@ function createInjectedAgUiTool(runId, tool, sessionManager) {
|
|
|
309
321
|
if (!toolCallId) {
|
|
310
322
|
throw new Error(`Missing toolCallId for injected tool "${tool.name}"`);
|
|
311
323
|
}
|
|
324
|
+
sessionManager.prepareForSignal(runId, toolCallId);
|
|
312
325
|
const submitted = await sessionManager.waitForSignal(runId, toolCallId);
|
|
313
326
|
if (submitted.isError) {
|
|
314
327
|
throw new Error(typeof submitted.result === "string"
|
|
@@ -367,6 +380,9 @@ async function createAgUiInjectedToolsStreamResponse(agent, request, baseContext
|
|
|
367
380
|
onError: () => {
|
|
368
381
|
sessionManager.failRun(runId);
|
|
369
382
|
},
|
|
383
|
+
onToolCallSeen: (toolCallId) => {
|
|
384
|
+
sessionManager.prepareForSignal(runId, toolCallId);
|
|
385
|
+
},
|
|
370
386
|
});
|
|
371
387
|
}
|
|
372
388
|
function mergeConfig(config, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/src/agent/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,eAAe,EAKhB,MAAM,YAAY,CAAC;AA+CpB,wBAAgB,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/src/agent/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,eAAe,EAKhB,MAAM,YAAY,CAAC;AA+CpB,wBAAgB,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CA8MhD;AAcD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,YAAY,CAAC,GACnD,eAAe,EAAE,CAcnB"}
|
package/esm/src/agent/factory.js
CHANGED
|
@@ -137,7 +137,8 @@ export function agent(config) {
|
|
|
137
137
|
const stream = await runtime.stream(inputMessages, input.context, {
|
|
138
138
|
onToolCall: input.onToolCall,
|
|
139
139
|
onChunk: input.onChunk,
|
|
140
|
-
|
|
140
|
+
onFinish: input.onFinish,
|
|
141
|
+
}, input.model, input.maxOutputTokens, input.abortSignal);
|
|
141
142
|
return createAgentStreamResult(stream);
|
|
142
143
|
}, { "agent.id": id, "agent.input_type": input.input ? "string" : "messages" });
|
|
143
144
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human-input.d.ts","sourceRoot":"","sources":["../../../src/src/agent/human-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAI7D,eAAO,MAAM,sBAAsB;;;;;iBAKjC,CAAC;AAUH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAuChC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMlC,CAAC;AAEH,eAAO,MAAM,8BAA8B,oGAG1C,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;gCASjC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIzC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACzE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC7E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,uBAAuB,CAAC,qBAAqB,CAAC,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;CACvF;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO;gBAAf,MAAM,EAAE,OAAO;CAMrC;AAED,qBAAa,4BAA6B,SAAQ,KAAK;IACzC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;gBAApB,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAI1C;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"human-input.d.ts","sourceRoot":"","sources":["../../../src/src/agent/human-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAI7D,eAAO,MAAM,sBAAsB;;;;;iBAKjC,CAAC;AAUH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAuChC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMlC,CAAC;AAEH,eAAO,MAAM,8BAA8B,oGAG1C,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;gCASjC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIzC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACzE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC7E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,uBAAuB,CAAC,qBAAqB,CAAC,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;CACvF;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO;gBAAf,MAAM,EAAE,OAAO;CAMrC;AAED,qBAAa,4BAA6B,SAAQ,KAAK;IACzC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;gBAApB,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAI1C;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAqB3B"}
|
|
@@ -94,6 +94,7 @@ export class InvalidHumanInputResultError extends Error {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
export async function waitForHumanInput(options) {
|
|
97
|
+
options.sessionManager.prepareForSignal(options.runId, options.toolCallId);
|
|
97
98
|
const pendingRequest = HumanInputPendingRequestSchema.parse({
|
|
98
99
|
runId: options.runId,
|
|
99
100
|
toolCallId: options.toolCallId,
|
|
@@ -47,6 +47,7 @@ export declare class RunResumeSessionManager<T> {
|
|
|
47
47
|
runId: string;
|
|
48
48
|
threadId: string;
|
|
49
49
|
}): AbortSignal;
|
|
50
|
+
prepareForSignal(runId: string, waitKey: string): void;
|
|
50
51
|
waitForSignal(runId: string, waitKey: string): Promise<T>;
|
|
51
52
|
submitSignal(runId: string, input: {
|
|
52
53
|
waitKey: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-session.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/resume-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAClD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE5F,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,SAAkB;CAItC;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,KAAK,EAAE,MAAM;CAI1B;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,KAAK,EAAE,MAAM;CAI1B;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI3C;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI3C;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"resume-session.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/resume-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAClD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE5F,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,SAAkB;CAItC;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,KAAK,EAAE,MAAM;CAI1B;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,KAAK,EAAE,MAAM;CAI1B;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI3C;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI3C;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AA2BD,MAAM,WAAW,8BAA8B,CAAC,CAAC;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,OAAO,CAAC,UAAU,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,YAAY,CAAC;IACrC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;CACvC;AAMD,qBAAa,uBAAuB,CAAC,CAAC;IAIlC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;gBAG1C,OAAO,GAAE,8BAA8B,CAAC,CAAC,CAAM;IAGlE,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,qBAAqB,GAEhC;IAED,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,eAAe;IAWvB,QAAQ,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW;IA4BjE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAiBhD,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAuD/D,YAAY,CACV,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,CAAA;KAAE,GACnC,wBAAwB;IA+C3B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAkBjC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMhC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM5B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAIpD,KAAK,IAAI,IAAI;CAOd"}
|
|
@@ -110,6 +110,7 @@ export class RunResumeSessionManager {
|
|
|
110
110
|
status: "running",
|
|
111
111
|
abortController: new AbortController(),
|
|
112
112
|
waitingState: null,
|
|
113
|
+
preparedWaitKeys: new Set(),
|
|
113
114
|
submittedValues: new Map(),
|
|
114
115
|
waitingTimeoutId: null,
|
|
115
116
|
sessionTimeoutId: null,
|
|
@@ -118,6 +119,18 @@ export class RunResumeSessionManager {
|
|
|
118
119
|
this.touchSession(session);
|
|
119
120
|
return session.abortController.signal;
|
|
120
121
|
}
|
|
122
|
+
prepareForSignal(runId, waitKey) {
|
|
123
|
+
const session = this.sessions.get(runId);
|
|
124
|
+
if (!session) {
|
|
125
|
+
throw new RunNotActiveError(runId);
|
|
126
|
+
}
|
|
127
|
+
if (session.status === "completed" || session.status === "failed" ||
|
|
128
|
+
session.status === "cancelled") {
|
|
129
|
+
throw new RunNotActiveError(runId);
|
|
130
|
+
}
|
|
131
|
+
session.preparedWaitKeys.add(waitKey);
|
|
132
|
+
this.touchSession(session);
|
|
133
|
+
}
|
|
121
134
|
async waitForSignal(runId, waitKey) {
|
|
122
135
|
const session = this.sessions.get(runId);
|
|
123
136
|
if (!session || session.status === "completed" || session.status === "failed") {
|
|
@@ -126,6 +139,7 @@ export class RunResumeSessionManager {
|
|
|
126
139
|
if (session.abortController.signal.aborted || session.status === "cancelled") {
|
|
127
140
|
throw new RunCancelledError();
|
|
128
141
|
}
|
|
142
|
+
session.preparedWaitKeys.add(waitKey);
|
|
129
143
|
const existingValue = session.submittedValues.get(waitKey);
|
|
130
144
|
if (existingValue) {
|
|
131
145
|
session.status = "running";
|
|
@@ -185,7 +199,15 @@ export class RunResumeSessionManager {
|
|
|
185
199
|
session.status === "cancelled") {
|
|
186
200
|
throw new RunNotActiveError(runId);
|
|
187
201
|
}
|
|
188
|
-
if (!session.waitingState
|
|
202
|
+
if (!session.waitingState) {
|
|
203
|
+
if (!session.preparedWaitKeys.has(input.waitKey)) {
|
|
204
|
+
throw new WaitNotPendingError(runId, input.waitKey);
|
|
205
|
+
}
|
|
206
|
+
session.submittedValues.set(input.waitKey, normalized);
|
|
207
|
+
this.touchSession(session);
|
|
208
|
+
return { accepted: true };
|
|
209
|
+
}
|
|
210
|
+
if (session.waitingState.waitKey !== input.waitKey) {
|
|
189
211
|
throw new WaitNotPendingError(runId, input.waitKey);
|
|
190
212
|
}
|
|
191
213
|
session.submittedValues.set(input.waitKey, normalized);
|
package/esm/src/agent/types.d.ts
CHANGED
|
@@ -141,6 +141,8 @@ export interface Agent {
|
|
|
141
141
|
maxOutputTokens?: number;
|
|
142
142
|
onToolCall?: (toolCall: ToolCall) => void;
|
|
143
143
|
onChunk?: (chunk: string) => void;
|
|
144
|
+
onFinish?: (response: AgentResponse) => void;
|
|
145
|
+
abortSignal?: AbortSignal;
|
|
144
146
|
}): Promise<AgentStreamResult>;
|
|
145
147
|
respond(request: Request): Promise<Response>;
|
|
146
148
|
getMemory(): Memory<Message>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/agent/types.ts"],"names":[],"mappings":"AAAA;;4BAE4B;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAG3D,YAAY,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,UAAU,EACV,YAAY,EACZ,OAAO,EACP,WAAW,EACX,aAAa,EACb,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAGjC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEnE,MAAM,MAAM,eAAe,GACvB;IACA,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,GACC;IACA,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEJ,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,eAAe,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,0EAA0E;IAC1E,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAC3C;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,WAAW,CAAC;IAC5B,aAAa,EAAE,WAAW,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,MAAM,sBAAsB,GAAG,CACnC,OAAO,EAAE,qBAAqB,KAC3B,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,mBAAmB,KACzB,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;AAGlF,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,KAC/B,OAAO,CAAC,aAAa,CAAC,CAAC;AAG5B,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAK7D;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,IAAI,oBAAoB,CAExE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,IAAI,qBAAqB,CAE1E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAS5E;AAED,MAAM,WAAW,iBAAiB;IAChC,oBAAoB,CAAC,OAAO,CAAC,EAAE;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,QAAQ,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,mBAAmB,CAAC;IAE5B,QAAQ,CAAC,KAAK,EAAE;QACd,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,qGAAqG;QACrG,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,iEAAiE;QACjE,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3B,MAAM,CAAC,KAAK,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,qGAAqG;QACrG,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,iEAAiE;QACjE,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;QAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/agent/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-stream.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/run-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,YAAY,IAAI,OAAO,EAC5B,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EAA0B,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAYxD,MAAM,WAAW,+BAA+B;IAC9C,cAAc,EAAE,sBAAsB,CAAC;IACvC,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAClC;QACH,MAAM,EAAE,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,SAAS,CAAC,EAAE;YACV,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;SAC9C,EACD,aAAa,CAAC,EAAE,MAAM,EACtB,uBAAuB,CAAC,EAAE,MAAM,EAChC,WAAW,CAAC,EAAE,WAAW,KACtB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;KAC1C,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"run-stream.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/run-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,YAAY,IAAI,OAAO,EAC5B,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EAA0B,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAYxD,MAAM,WAAW,+BAA+B;IAC9C,cAAc,EAAE,sBAAsB,CAAC;IACvC,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAClC;QACH,MAAM,EAAE,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,SAAS,CAAC,EAAE;YACV,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;SAC9C,EACD,aAAa,CAAC,EAAE,MAAM,EACtB,uBAAuB,CAAC,EAAE,MAAM,EAChC,WAAW,CAAC,EAAE,WAAW,KACtB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;KAC1C,CAAC;CACH;AAoJD,wBAAsB,gCAAgC,CACpD,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,+BAA+B,GACpC,OAAO,CAAC,QAAQ,CAAC,CA8OnB"}
|
|
@@ -20,6 +20,7 @@ function createInjectedStudioTool(runId, toolName, description, parameters, sess
|
|
|
20
20
|
if (!toolCallId) {
|
|
21
21
|
throw new Error(`Missing toolCallId for injected tool "${toolName}"`);
|
|
22
22
|
}
|
|
23
|
+
sessionManager.prepareForToolResult(runId, toolCallId);
|
|
23
24
|
const waitResult = await sessionManager.waitForToolResult(runId, toolCallId);
|
|
24
25
|
if (waitResult.isError) {
|
|
25
26
|
throw new Error(typeof waitResult.result === "string"
|
|
@@ -198,6 +199,17 @@ export async function createRuntimeAgentStreamResponse(input, agent, deps) {
|
|
|
198
199
|
clientAttached = false;
|
|
199
200
|
}
|
|
200
201
|
};
|
|
202
|
+
const prepareToolResultIfNeeded = (event, payload) => {
|
|
203
|
+
if (event !== "ToolCallStart" && event !== "ToolCallArgs" &&
|
|
204
|
+
event !== "ToolCallEnd") {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
const toolCallId = typeof payload.toolCallId === "string" ? payload.toolCallId : null;
|
|
208
|
+
if (!toolCallId) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
deps.sessionManager.prepareForToolResult(input.runId, toolCallId);
|
|
212
|
+
};
|
|
201
213
|
const throwIfAborted = () => {
|
|
202
214
|
if (aborted || abortSignal.aborted) {
|
|
203
215
|
throw new AgentRunCancelledError();
|
|
@@ -236,6 +248,7 @@ export async function createRuntimeAgentStreamResponse(input, agent, deps) {
|
|
|
236
248
|
remainder = parsed.remainder;
|
|
237
249
|
for (const event of parsed.events) {
|
|
238
250
|
for (const mappedEvent of mapRuntimeEventToAgUi(state, event)) {
|
|
251
|
+
prepareToolResultIfNeeded(mappedEvent.event, mappedEvent.payload);
|
|
239
252
|
enqueueIfAttached(mappedEvent.event, mappedEvent.payload);
|
|
240
253
|
}
|
|
241
254
|
}
|
|
@@ -244,6 +257,7 @@ export async function createRuntimeAgentStreamResponse(input, agent, deps) {
|
|
|
244
257
|
const trailingEvents = parseSseJsonEvents(`${remainder}\n\n`);
|
|
245
258
|
for (const event of trailingEvents.events) {
|
|
246
259
|
for (const mappedEvent of mapRuntimeEventToAgUi(state, event)) {
|
|
260
|
+
prepareToolResultIfNeeded(mappedEvent.event, mappedEvent.payload);
|
|
247
261
|
enqueueIfAttached(mappedEvent.event, mappedEvent.payload);
|
|
248
262
|
}
|
|
249
263
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAGjB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,CAAC;AA0B7B,qBAAa,sBAAuB,SAAQ,iBAAiB;gBAC/C,OAAO,SAAkB;CAItC;AAED,qBAAa,0BAA2B,SAAQ,qBAAqB;gBACvD,KAAK,EAAE,MAAM;CAI1B;AAED,qBAAa,yBAA0B,SAAQ,mBAAmB;gBACpD,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAI9C;AAED,qBAAa,uBAAwB,SAAQ,iBAAiB;gBAChD,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAI9C;AAWD,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAC7C,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAE/D,qBAAa,sBAAsB;IAI/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+C;gBAGrD,OAAO,GAAE;QACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,YAAY,CAAC,EAAE,OAAO,OAAO,CAAC,UAAU,CAAC;QACzC,cAAc,CAAC,EAAE,OAAO,YAAY,CAAC;KACjC;IAaR,QAAQ,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW;IAW3D,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAClE,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IAeF,gBAAgB,CACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAChE,uBAAuB;IAuB1B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIjC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAIjD,KAAK,IAAI,IAAI;CAGd;AAoBD,wBAAgB,4CAA4C,IAAI,IAAI,CAGnE;AAED,eAAO,MAAM,sBAAsB,wBAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAGjB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,CAAC;AA0B7B,qBAAa,sBAAuB,SAAQ,iBAAiB;gBAC/C,OAAO,SAAkB;CAItC;AAED,qBAAa,0BAA2B,SAAQ,qBAAqB;gBACvD,KAAK,EAAE,MAAM;CAI1B;AAED,qBAAa,yBAA0B,SAAQ,mBAAmB;gBACpD,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAI9C;AAED,qBAAa,uBAAwB,SAAQ,iBAAiB;gBAChD,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAI9C;AAWD,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAC7C,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAE/D,qBAAa,sBAAsB;IAI/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+C;gBAGrD,OAAO,GAAE;QACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,YAAY,CAAC,EAAE,OAAO,OAAO,CAAC,UAAU,CAAC;QACzC,cAAc,CAAC,EAAE,OAAO,YAAY,CAAC;KACjC;IAaR,QAAQ,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW;IAW3D,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAClE,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IAeF,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAI7D,gBAAgB,CACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAChE,uBAAuB;IAuB1B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIjC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAIjD,KAAK,IAAI,IAAI;CAGd;AAoBD,wBAAgB,4CAA4C,IAAI,IAAI,CAGnE;AAED,eAAO,MAAM,sBAAsB,wBAAoC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RemoteToolSource } from "./types.js";
|
|
2
|
+
export interface Context7ToolSourceConfig {
|
|
3
|
+
/** Context7 API key. Falls back to Deno.env.get("CONTEXT7_API_KEY"). */
|
|
4
|
+
apiKey?: string;
|
|
5
|
+
/** Override the default endpoint (useful for testing). */
|
|
6
|
+
endpoint?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function createContext7ToolSource(config?: Context7ToolSourceConfig): RemoteToolSource;
|
|
9
|
+
//# sourceMappingURL=context7.d.ts.map
|