@librechat/agents 3.7.21 → 3.8.0

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 (70) hide show
  1. package/dist/cjs/graphs/Graph.cjs +21 -4
  2. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  3. package/dist/cjs/langfuse.cjs +6 -2
  4. package/dist/cjs/langfuse.cjs.map +1 -1
  5. package/dist/cjs/llm/invoke.cjs +21 -6
  6. package/dist/cjs/llm/invoke.cjs.map +1 -1
  7. package/dist/cjs/main.cjs +2 -0
  8. package/dist/cjs/stream.cjs +38 -1
  9. package/dist/cjs/stream.cjs.map +1 -1
  10. package/dist/cjs/tools/ArtifactDelivery.cjs +27 -0
  11. package/dist/cjs/tools/ArtifactDelivery.cjs.map +1 -0
  12. package/dist/cjs/tools/BashExecutor.cjs +6 -1
  13. package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
  14. package/dist/cjs/tools/CodeExecutor.cjs +6 -1
  15. package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
  16. package/dist/cjs/tools/ProgrammaticToolCalling.cjs +5 -1
  17. package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
  18. package/dist/cjs/tools/ToolNode.cjs +95 -18
  19. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  20. package/dist/cjs/tools/ToolSearch.cjs +130 -24
  21. package/dist/cjs/tools/ToolSearch.cjs.map +1 -1
  22. package/dist/cjs/tools/local/resolveLocalExecutionTools.cjs +1 -1
  23. package/dist/cjs/tools/preparedSubagents.cjs +129 -0
  24. package/dist/cjs/tools/preparedSubagents.cjs.map +1 -0
  25. package/dist/esm/graphs/Graph.mjs +21 -4
  26. package/dist/esm/graphs/Graph.mjs.map +1 -1
  27. package/dist/esm/langfuse.mjs +6 -2
  28. package/dist/esm/langfuse.mjs.map +1 -1
  29. package/dist/esm/llm/invoke.mjs +21 -6
  30. package/dist/esm/llm/invoke.mjs.map +1 -1
  31. package/dist/esm/main.mjs +2 -2
  32. package/dist/esm/stream.mjs +39 -2
  33. package/dist/esm/stream.mjs.map +1 -1
  34. package/dist/esm/tools/ArtifactDelivery.mjs +26 -0
  35. package/dist/esm/tools/ArtifactDelivery.mjs.map +1 -0
  36. package/dist/esm/tools/BashExecutor.mjs +6 -1
  37. package/dist/esm/tools/BashExecutor.mjs.map +1 -1
  38. package/dist/esm/tools/CodeExecutor.mjs +6 -1
  39. package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
  40. package/dist/esm/tools/ProgrammaticToolCalling.mjs +5 -1
  41. package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
  42. package/dist/esm/tools/ToolNode.mjs +95 -18
  43. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  44. package/dist/esm/tools/ToolSearch.mjs +129 -25
  45. package/dist/esm/tools/ToolSearch.mjs.map +1 -1
  46. package/dist/esm/tools/local/resolveLocalExecutionTools.mjs +1 -1
  47. package/dist/esm/tools/preparedSubagents.mjs +128 -0
  48. package/dist/esm/tools/preparedSubagents.mjs.map +1 -0
  49. package/dist/types/graphs/Graph.d.ts +6 -1
  50. package/dist/types/langfuse.d.ts +5 -0
  51. package/dist/types/tools/ArtifactDelivery.d.ts +4 -0
  52. package/dist/types/tools/ToolNode.d.ts +13 -1
  53. package/dist/types/tools/ToolSearch.d.ts +46 -2
  54. package/dist/types/tools/preparedSubagents.d.ts +26 -0
  55. package/dist/types/types/graph.d.ts +8 -0
  56. package/dist/types/types/tools.d.ts +28 -0
  57. package/package.json +1 -1
  58. package/src/graphs/Graph.ts +63 -5
  59. package/src/langfuse.ts +17 -2
  60. package/src/llm/invoke.ts +35 -8
  61. package/src/stream.ts +70 -1
  62. package/src/tools/ArtifactDelivery.ts +50 -0
  63. package/src/tools/BashExecutor.ts +18 -1
  64. package/src/tools/CodeExecutor.ts +18 -1
  65. package/src/tools/ProgrammaticToolCalling.ts +15 -1
  66. package/src/tools/ToolNode.ts +189 -43
  67. package/src/tools/ToolSearch.ts +278 -28
  68. package/src/tools/preparedSubagents.ts +228 -0
  69. package/src/types/graph.ts +8 -0
  70. package/src/types/tools.ts +29 -0
@@ -127,6 +127,55 @@ function extractMcpServerName(toolName) {
127
127
  function isFromMcpServer(toolName, serverName) {
128
128
  return extractMcpServerName(toolName) === serverName;
129
129
  }
130
+ function canonicalizeServerName(serverName) {
131
+ return serverName.trim().toLowerCase().normalize("NFC").replace(/[-_. ]+/g, "-");
132
+ }
133
+ function canonicalizeWithoutMcpPrefix(requested) {
134
+ const match = /^mcp[-_. ]+(.+)$/i.exec(requested.trim());
135
+ if (match === null) return;
136
+ const key = canonicalizeServerName(match[1]);
137
+ return key === "" ? void 0 : key;
138
+ }
139
+ function resolveServerFilters(requested, available) {
140
+ const exact = new Set(available);
141
+ const canonical = /* @__PURE__ */ new Map();
142
+ for (const name of available) {
143
+ const key = canonicalizeServerName(name);
144
+ if (key === "") continue;
145
+ const bucket = canonical.get(key);
146
+ if (bucket === void 0) canonical.set(key, [name]);
147
+ else bucket.push(name);
148
+ }
149
+ const resolved = [];
150
+ const unresolved = [];
151
+ for (const want of requested) {
152
+ if (exact.has(want)) {
153
+ resolved.push(want);
154
+ continue;
155
+ }
156
+ const key = canonicalizeServerName(want);
157
+ if (key === "") {
158
+ unresolved.push(want);
159
+ continue;
160
+ }
161
+ const direct = canonical.get(key);
162
+ if (direct !== void 0) {
163
+ resolved.push(...direct);
164
+ continue;
165
+ }
166
+ const strippedKey = canonicalizeWithoutMcpPrefix(want);
167
+ const stripped = strippedKey === void 0 ? void 0 : canonical.get(strippedKey);
168
+ if (stripped !== void 0) {
169
+ resolved.push(...stripped);
170
+ continue;
171
+ }
172
+ unresolved.push(want);
173
+ }
174
+ return {
175
+ resolved: Array.from(new Set(resolved)),
176
+ unresolved
177
+ };
178
+ }
130
179
  function isFromAnyMcpServer(toolName, serverNames) {
131
180
  const toolServer = extractMcpServerName(toolName);
132
181
  if (toolServer === void 0) return false;
@@ -417,7 +466,7 @@ function parseSearchResults(stdout) {
417
466
  const jsonMatch = stdout.trim();
418
467
  return JSON.parse(jsonMatch);
419
468
  }
420
- function formatSearchResults(searchResponse, nameFormat = "full") {
469
+ function formatSearchResults(searchResponse, nameFormat = "full", notes = []) {
421
470
  const { tool_references, total_tools_searched, pattern_used } = searchResponse;
422
471
  const useFullName = nameFormat === "full";
423
472
  const output = {
@@ -429,7 +478,8 @@ function formatSearchResults(searchResponse, nameFormat = "full") {
429
478
  snippet: ref.snippet
430
479
  })),
431
480
  total_searched: total_tools_searched,
432
- query: pattern_used
481
+ query: pattern_used,
482
+ ...notes.length > 0 ? { notes } : {}
433
483
  };
434
484
  return JSON.stringify(output, null, 2);
435
485
  }
@@ -461,7 +511,7 @@ function getDeferredToolsListing(toolRegistry, onlyDeferred) {
461
511
  if (serverNames.length === 0) return "";
462
512
  return serverNames.map((server) => `${server}: ${toolsByServer[server].join(", ")}`).join("\n");
463
513
  }
464
- function formatServerListing(tools, serverNames, nameFormat = "full") {
514
+ function formatServerListing(tools, serverNames, nameFormat = "full", notes = []) {
465
515
  const servers = Array.isArray(serverNames) ? serverNames : [serverNames];
466
516
  const useFullName = nameFormat === "full";
467
517
  if (tools.length === 0) return JSON.stringify({
@@ -469,6 +519,7 @@ function formatServerListing(tools, serverNames, nameFormat = "full") {
469
519
  servers,
470
520
  total_tools: 0,
471
521
  tools_by_server: {},
522
+ ...notes.length > 0 ? { notes } : {},
472
523
  hint: "No tools found from the specified MCP server(s)."
473
524
  }, null, 2);
474
525
  const toolsByServer = {};
@@ -486,6 +537,7 @@ function formatServerListing(tools, serverNames, nameFormat = "full") {
486
537
  servers,
487
538
  total_tools: tools.length,
488
539
  tools_by_server: toolsByServer,
540
+ ...notes.length > 0 ? { notes } : {},
489
541
  hint: `To use a tool, search for it by name (e.g., query: "${exampleToolName}") to load it.`
490
542
  };
491
543
  return JSON.stringify(output, null, 2);
@@ -526,39 +578,89 @@ ${mcpNote}${toolsListSection}
526
578
  error: "No tool registry provided"
527
579
  }
528
580
  }];
529
- const deferredTools = Array.from(toolRegistry.values()).filter((lcTool) => {
530
- if (onlyDeferred === true && lcTool.defer_loading !== true) return false;
531
- if (hasServerFilter && !isFromAnyMcpServer(lcTool.name, serverFilters)) return false;
532
- return true;
533
- }).map((lcTool) => ({
581
+ const registeredServers = hasServerFilter ? /* @__PURE__ */ new Set() : void 0;
582
+ const searchableServers = hasServerFilter ? /* @__PURE__ */ new Set() : void 0;
583
+ const staged = hasServerFilter ? [] : void 0;
584
+ const deferredTools = [];
585
+ let searchableCount = 0;
586
+ const describeTool = (lcTool) => ({
534
587
  name: lcTool.name,
535
588
  description: lcTool.description ?? "",
536
589
  parameters: simplifyParametersForSearch(lcTool.parameters)
537
- }));
538
- if (deferredTools.length === 0) return [`No tools available to search${hasServerFilter ? ` from MCP server(s): ${serverFilters.join(", ")}` : ""}. The tool registry is empty or no matching deferred tools are registered.`, {
539
- tool_references: [],
540
- metadata: {
541
- total_searched: 0,
542
- pattern: query,
543
- mcp_server: serverFilters
590
+ });
591
+ for (const lcTool of toolRegistry.values()) {
592
+ let server;
593
+ if (hasServerFilter) {
594
+ server = extractMcpServerName(lcTool.name);
595
+ if (server !== void 0 && server !== "") registeredServers?.add(server);
596
+ else server = void 0;
544
597
  }
545
- }];
546
- if (hasServerFilter && query === "") return [formatServerListing(deferredTools, serverFilters, mcpNameFormat), {
598
+ if (onlyDeferred === true && lcTool.defer_loading !== true) continue;
599
+ searchableCount += 1;
600
+ if (staged === void 0) {
601
+ deferredTools.push(describeTool(lcTool));
602
+ continue;
603
+ }
604
+ staged.push(lcTool);
605
+ if (server !== void 0) searchableServers?.add(server);
606
+ }
607
+ const availableServers = searchableServers === void 0 ? [] : Array.from(searchableServers).sort();
608
+ const { resolved: matchedServers, unresolved: unknownServers } = hasServerFilter ? resolveServerFilters(serverFilters, registeredServers === void 0 ? [] : Array.from(registeredServers)) : {
609
+ resolved: [],
610
+ unresolved: []
611
+ };
612
+ const activeServers = matchedServers.filter((name) => searchableServers?.has(name) === true);
613
+ const idleServers = matchedServers.filter((name) => searchableServers?.has(name) !== true);
614
+ const filterNotes = [];
615
+ if (unknownServers.length > 0) filterNotes.push(`No MCP server matched: ${unknownServers.join(", ")}.`);
616
+ if (idleServers.length > 0) filterNotes.push(`Registered with no tools left to search: ${idleServers.join(", ")}.`);
617
+ const filterNotice = filterNotes.length > 0 ? `Note: ${filterNotes.join(" ")}\n\n` : "";
618
+ const filterMetadata = {
619
+ ...unknownServers.length > 0 ? { unmatched_mcp_servers: unknownServers } : {},
620
+ ...idleServers.length > 0 ? { idle_mcp_servers: idleServers } : {}
621
+ };
622
+ if (staged !== void 0) {
623
+ for (const lcTool of staged) if (isFromAnyMcpServer(lcTool.name, activeServers)) deferredTools.push(describeTool(lcTool));
624
+ }
625
+ if (deferredTools.length === 0) {
626
+ let message;
627
+ if (hasServerFilter && (unknownServers.length > 0 || idleServers.length > 0)) {
628
+ const parts = [];
629
+ if (unknownServers.length > 0) parts.push(`No MCP server matched: ${unknownServers.join(", ")}.`);
630
+ if (idleServers.length > 0) parts.push(`Registered with no tools left to search: ${idleServers.join(", ")}.`);
631
+ parts.push(`Server(s) with searchable tools: ${availableServers.length > 0 ? availableServers.join(", ") : "(none)"}.`);
632
+ message = parts.join(" ");
633
+ } else if (searchableCount === 0) message = "No tools available to search. The tool registry is empty or no deferred tools are registered.";
634
+ else message = `No tools available to search${hasServerFilter ? ` from MCP server(s): ${serverFilters.join(", ")}` : ""}. The tool registry is empty or no matching deferred tools are registered.`;
635
+ return [message, {
636
+ tool_references: [],
637
+ metadata: {
638
+ total_searched: 0,
639
+ pattern: query,
640
+ mcp_server: serverFilters,
641
+ ...hasServerFilter ? { available_mcp_servers: availableServers } : {},
642
+ ...filterMetadata
643
+ }
644
+ }];
645
+ }
646
+ if (hasServerFilter && query === "") return [formatServerListing(deferredTools, activeServers, mcpNameFormat, filterNotes), {
547
647
  tool_references: [],
548
648
  metadata: {
549
649
  total_available: deferredTools.length,
550
650
  mcp_server: serverFilters,
551
- listing_mode: true
651
+ listing_mode: true,
652
+ ...filterMetadata
552
653
  }
553
654
  }];
554
655
  if (mode === "local") {
555
656
  const searchResponse = performLocalSearch(deferredTools, query, fields, max_results);
556
- return [formatSearchResults(searchResponse, mcpNameFormat), {
657
+ return [formatSearchResults(searchResponse, mcpNameFormat, filterNotes), {
557
658
  tool_references: searchResponse.tool_references,
558
659
  metadata: {
559
660
  total_searched: searchResponse.total_tools_searched,
560
661
  pattern: searchResponse.pattern_used,
561
- mcp_server: serverFilters.length > 0 ? serverFilters : void 0
662
+ mcp_server: serverFilters.length > 0 ? serverFilters : void 0,
663
+ ...filterMetadata
562
664
  }
563
665
  }];
564
666
  }
@@ -585,19 +687,21 @@ ${mcpNote}${toolsListSection}
585
687
  if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
586
688
  const result = await response.json();
587
689
  if (result.stderr && result.stderr.trim()) console.warn("[ToolSearch] stderr:", result.stderr);
588
- if (!result.stdout || !result.stdout.trim()) return [`${warningMessage}No tools matched the pattern "${sanitizedPattern}".\nTotal tools searched: ${deferredTools.length}`, {
690
+ if (!result.stdout || !result.stdout.trim()) return [`${filterNotice}${warningMessage}No tools matched the pattern "${sanitizedPattern}".\nTotal tools searched: ${deferredTools.length}`, {
589
691
  tool_references: [],
590
692
  metadata: {
591
693
  total_searched: deferredTools.length,
592
- pattern: sanitizedPattern
694
+ pattern: sanitizedPattern,
695
+ ...filterMetadata
593
696
  }
594
697
  }];
595
698
  const searchResponse = parseSearchResults(result.stdout);
596
- return [`${warningMessage}${formatSearchResults(searchResponse, mcpNameFormat)}`, {
699
+ return [`${warningMessage}${formatSearchResults(searchResponse, mcpNameFormat, filterNotes)}`, {
597
700
  tool_references: searchResponse.tool_references,
598
701
  metadata: {
599
702
  total_searched: searchResponse.total_tools_searched,
600
- pattern: searchResponse.pattern_used
703
+ pattern: searchResponse.pattern_used,
704
+ ...filterMetadata
601
705
  }
602
706
  }];
603
707
  } catch (error) {
@@ -624,6 +728,7 @@ exports.ToolSearchToolDefinition = ToolSearchToolDefinition;
624
728
  exports.ToolSearchToolDescription = ToolSearchToolDescription;
625
729
  exports.ToolSearchToolName = ToolSearchToolName;
626
730
  exports.ToolSearchToolSchema = ToolSearchToolSchema;
731
+ exports.canonicalizeServerName = canonicalizeServerName;
627
732
  exports.countNestedGroups = countNestedGroups;
628
733
  exports.createToolSearch = createToolSearch;
629
734
  exports.escapeRegexSpecialChars = escapeRegexSpecialChars;
@@ -638,6 +743,7 @@ exports.isFromAnyMcpServer = isFromAnyMcpServer;
638
743
  exports.isFromMcpServer = isFromMcpServer;
639
744
  exports.normalizeServerFilter = normalizeServerFilter;
640
745
  exports.performLocalSearch = performLocalSearch;
746
+ exports.resolveServerFilters = resolveServerFilters;
641
747
  exports.sanitizeRegex = sanitizeRegex;
642
748
 
643
749
  //# sourceMappingURL=ToolSearch.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolSearch.cjs","names":["okapibm25Module","INTENT_PROPERTY","buildCodeApiEndpoint","getCodeBaseURL","params","resolveFetchProxyAgent"],"sources":["../../../src/tools/ToolSearch.ts"],"mappings":"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"}
1
+ {"version":3,"file":"ToolSearch.cjs","names":["okapibm25Module","INTENT_PROPERTY","buildCodeApiEndpoint","getCodeBaseURL","params","resolveFetchProxyAgent"],"sources":["../../../src/tools/ToolSearch.ts"],"mappings":"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C,qBAAqB;IACrB,kBAAkB;GACpB,OAAO,IACL,mBAAmB,mBACnB,mBAAmB,iBACnB;IACA,qBAAqB;IACrB,kBAAkB;GACpB,OAAO,IAAI,eAAe,WAAW,eAAe,GAAG;IACrD,qBAAqB;IACrB,kBAAkB,KAAK,IAAI,iBAAiB,GAAI;GAClD;EACF;EAEA,IAAI,CAAC,kBAAkB,uBAAuB,GAAG;EAEjD,MAAM,EAAE,OAAO,YAAY,iBAAiB,MAAM,IAAI,aAAa,MAAM;EACzE,QAAQ,KAAK;GACX,QAAQ;IACN,WAAW,MAAM,EAAE,CAAC;IACpB,aAAa;IACb,eAAe;IACf;GACF;GACA;EACF,CAAC;CACH;CAEA,QAAQ,MACL,GAAG,MACF,EAAE,qBAAqB,EAAE,sBACzB,EAAE,OAAO,cAAc,EAAE,OAAO,WACpC;CAGA,OAAO;EACL,iBAHiB,QAAQ,MAAM,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,aAAa,MAGxC;EAC1B,sBAAsB,MAAM;EAC5B,cAAc;CAChB;AACF;AAWA,SAAS,qBACP,eACA,QACA,YACA,kBACQ;CAiFR,OAAO;EA/EL;EACA,iBAAiB,KAAK,UAAU,aAAa,IAAI;EACjD,wBAAwB,KAAK,UAAU,MAAM,IAAI;EACjD,sBAAsB,aAAa;EACnC,mBAAmB,KAAK,UAAU,gBAAgB,IAAI;EACtD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAES,CAAC,CAAC,KAAK,IAAI;AACxB;AAOA,SAAS,mBAAmB,QAAsC;CAChE,MAAM,YAAY,OAAO,KAAK;CAE9B,OADe,KAA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"}
@@ -1,11 +1,11 @@
1
1
  const require_enum = require("../../common/enum.cjs");
2
2
  require("../../common/index.cjs");
3
+ const require_CallerCapabilities = require("../CallerCapabilities.cjs");
3
4
  const require_LocalProgrammaticToolCalling = require("./LocalProgrammaticToolCalling.cjs");
4
5
  const require_LocalExecutionTools = require("./LocalExecutionTools.cjs");
5
6
  const require_LocalCodingTools = require("./LocalCodingTools.cjs");
6
7
  const require_CloudflareSandboxTools = require("../cloudflare/CloudflareSandboxTools.cjs");
7
8
  require("../cloudflare/index.cjs");
8
- const require_CallerCapabilities = require("../CallerCapabilities.cjs");
9
9
  //#region src/tools/local/resolveLocalExecutionTools.ts
10
10
  function shouldUseLocalExecution(config) {
11
11
  return config?.engine === "local";
@@ -0,0 +1,129 @@
1
+ const require_eagerEventExecution = require("./eagerEventExecution.cjs");
2
+ //#region src/tools/preparedSubagents.ts
3
+ var PreparedSubagentError = class extends Error {
4
+ constructor(message, options) {
5
+ super(message, options);
6
+ this.name = "PreparedSubagentError";
7
+ }
8
+ };
9
+ const PREPARED_INVOCATION = Symbol("prepared-subagent-invocation");
10
+ var PreparedSubagents = class {
11
+ attempts = /* @__PURE__ */ new Map();
12
+ reservations = /* @__PURE__ */ new Map();
13
+ running = /* @__PURE__ */ new Set();
14
+ epoch = 0;
15
+ begin(attempt, config = {}) {
16
+ this.attempts.set(attempt, {
17
+ keys: /* @__PURE__ */ new Set(),
18
+ cancelled: false,
19
+ config: {
20
+ ...config,
21
+ configurable: { ...config.configurable },
22
+ metadata: { ...config.metadata }
23
+ }
24
+ });
25
+ }
26
+ getConfig(attempt) {
27
+ const entry = this.attempts.get(attempt);
28
+ return entry?.cancelled === false ? entry.config : void 0;
29
+ }
30
+ isOpen(attempt) {
31
+ return this.attempts.get(attempt)?.cancelled === false;
32
+ }
33
+ start(attempt, owner, call, capacity, invoke) {
34
+ const entries = this.attempts.get(attempt);
35
+ if (entries == null || entries.cancelled || call.id == null || call.id === "") return false;
36
+ const key = JSON.stringify([owner, call.id]);
37
+ const canonical = fingerprint(call);
38
+ const previous = this.reservations.get(key);
39
+ if (previous != null) {
40
+ if (previous.attempt !== attempt || previous.fingerprint !== canonical) throw new PreparedSubagentError("Conflicting eager subagent call identity.");
41
+ return false;
42
+ }
43
+ if (!Number.isSafeInteger(capacity) || capacity <= 0 || this.reservations.size >= capacity || this.running.size >= capacity) return false;
44
+ const controller = new AbortController();
45
+ this.running.add(controller);
46
+ const reservation = {
47
+ token: Symbol(),
48
+ attempt,
49
+ callId: call.id,
50
+ fingerprint: canonical,
51
+ controller,
52
+ committed: false,
53
+ outcome: Promise.resolve().then(() => {
54
+ controller.signal.throwIfAborted();
55
+ return invoke(controller.signal);
56
+ }).then((output) => ({ output }), (error) => ({ error: require_eagerEventExecution.normalizeError(error) })).finally(() => {
57
+ this.running.delete(controller);
58
+ })
59
+ };
60
+ entries.keys.add(key);
61
+ this.reservations.set(key, reservation);
62
+ return true;
63
+ }
64
+ finish(attempt, calls, cause) {
65
+ const entries = this.attempts.get(attempt);
66
+ this.attempts.delete(attempt);
67
+ if (entries == null || entries.keys.size === 0) return;
68
+ const finalCalls = new Map(calls?.map((call) => [call.id, call]));
69
+ for (const key of entries.keys) {
70
+ const record = this.reservations.get(key);
71
+ const finalCall = record == null ? void 0 : finalCalls.get(record.callId);
72
+ if (entries.cancelled || record == null || record.attempt !== attempt || finalCall == null || fingerprint(finalCall) !== record.fingerprint) {
73
+ const error = new PreparedSubagentError("The model attempt ended or changed after a subagent started; refusing automatic retry.", { cause });
74
+ for (const pendingKey of entries.keys) {
75
+ const pending = this.reservations.get(pendingKey);
76
+ if (pending?.attempt === attempt) {
77
+ pending.controller.abort(error);
78
+ this.reservations.delete(pendingKey);
79
+ }
80
+ }
81
+ throw error;
82
+ }
83
+ record.committed = true;
84
+ finalCall[PREPARED_INVOCATION] = record.token;
85
+ }
86
+ }
87
+ owns(owner, call) {
88
+ const record = this.reservations.get(JSON.stringify([owner, call.id]));
89
+ return record != null && call[PREPARED_INVOCATION] === record.token;
90
+ }
91
+ take(owner, call) {
92
+ const key = JSON.stringify([owner, call.id]);
93
+ const record = this.reservations.get(key);
94
+ const token = call[PREPARED_INVOCATION];
95
+ if (record == null && token == null) return;
96
+ if (record == null || token !== record.token) return Promise.reject(new PreparedSubagentError("Eager subagent invocation is no longer owned by this call."));
97
+ this.reservations.delete(key);
98
+ if (!record.committed || record.fingerprint !== fingerprint(call)) {
99
+ const error = new PreparedSubagentError("Subagent arguments changed after eager invocation.");
100
+ record.controller.abort(error);
101
+ return Promise.reject(error);
102
+ }
103
+ const epoch = this.epoch;
104
+ return record.outcome.then((result) => {
105
+ if (this.epoch !== epoch) throw new PreparedSubagentError("Eager subagent result belongs to a retired run.");
106
+ record.controller.signal.throwIfAborted();
107
+ if ("error" in result) throw result.error;
108
+ return result.output;
109
+ });
110
+ }
111
+ clear() {
112
+ this.epoch++;
113
+ const reason = new PreparedSubagentError("Eager subagent execution was cancelled.");
114
+ for (const controller of this.running) controller.abort(reason);
115
+ this.reservations.clear();
116
+ for (const attempt of this.attempts.values()) attempt.cancelled = true;
117
+ }
118
+ };
119
+ function fingerprint(call) {
120
+ return require_eagerEventExecution.stableStringify({
121
+ name: call.name,
122
+ args: call.args
123
+ });
124
+ }
125
+ //#endregion
126
+ exports.PreparedSubagentError = PreparedSubagentError;
127
+ exports.PreparedSubagents = PreparedSubagents;
128
+
129
+ //# sourceMappingURL=preparedSubagents.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preparedSubagents.cjs","names":["normalizeError","stableStringify"],"sources":["../../../src/tools/preparedSubagents.ts"],"mappings":"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"}
@@ -43,6 +43,7 @@ import { joinKeys, resetIfNotEmpty } from "../utils/graph.mjs";
43
43
  import { RUN_BREAKER_SCOPE_CONFIG_KEY, STREAM_LIMIT_EPOCH_KEY, StreamLimitExceededError, resolveStreamLimits, sweepStaleStreamLimitEntries } from "../llm/streamLimits.mjs";
44
44
  import { handleToolCalls } from "../tools/handlers.mjs";
45
45
  import { ToolOutputReferenceRegistry, annotateMessagesForLLM } from "../tools/toolOutputReferences.mjs";
46
+ import { PreparedSubagentError, PreparedSubagents } from "../tools/preparedSubagents.mjs";
46
47
  import { HandlerRegistry } from "../events.mjs";
47
48
  import { sleep } from "../utils/run.mjs";
48
49
  import "../utils/index.mjs";
@@ -336,6 +337,7 @@ var Graph = class {
336
337
  _toolOutputRegistry;
337
338
  sessions = /* @__PURE__ */ new Map();
338
339
  clearHeavyState() {
340
+ this.preparedSubagents.clear();
339
341
  this.config = void 0;
340
342
  this.signal = void 0;
341
343
  this.callerSignal = void 0;
@@ -508,6 +510,8 @@ var Graph = class {
508
510
  _fileCheckpointer;
509
511
  _compiledToolNodes = /* @__PURE__ */ new Set();
510
512
  _subagentExecutors = /* @__PURE__ */ new Set();
513
+ preparedSubagents = new PreparedSubagents();
514
+ subagentToolNodes = /* @__PURE__ */ new Map();
511
515
  getOrCreateFileCheckpointer() {
512
516
  if (this._fileCheckpointer != null) return this._fileCheckpointer;
513
517
  if (this.toolExecution?.engine === "local" && this.toolExecution.local?.fileCheckpointing === true) {
@@ -560,8 +564,8 @@ var StandardGraph = class StandardGraph extends Graph {
560
564
  });
561
565
  activeStreamLimitGenerations;
562
566
  resolveTrippedBreakerReason(breakerSignal = this.breakerAbort.signal) {
563
- if (breakerSignal.aborted && breakerSignal.reason instanceof StreamLimitExceededError) return breakerSignal.reason;
564
- if (this.signal?.aborted === true && this.signal.reason instanceof StreamLimitExceededError) return this.signal.reason;
567
+ if (breakerSignal.aborted && (breakerSignal.reason instanceof StreamLimitExceededError || breakerSignal.reason instanceof PreparedSubagentError)) return breakerSignal.reason;
568
+ if (this.signal?.aborted === true && (this.signal.reason instanceof StreamLimitExceededError || this.signal.reason instanceof PreparedSubagentError)) return this.signal.reason;
565
569
  }
566
570
  preemptSealBudgetUsed = 0;
567
571
  preemptSealCount = 0;
@@ -608,6 +612,7 @@ var StandardGraph = class StandardGraph extends Graph {
608
612
  this.langfuseScopeRunId = `${this.runId ?? "graph"}:${nanoid()}`;
609
613
  }
610
614
  resetValues(keepContent, checkpointScope) {
615
+ this.preparedSubagents.clear();
611
616
  this.resetSubagentCheckpointThreadIds();
612
617
  this.messages = [];
613
618
  this.hasRestoredCheckpointMessages = false;
@@ -1092,6 +1097,16 @@ var StandardGraph = class StandardGraph extends Graph {
1092
1097
  for (const step of this.contentData) if (step.agentId != null && step.agentId !== "" && Number.isFinite(step.index)) contentPartAgentMap.set(step.index, step.agentId);
1093
1098
  return contentPartAgentMap;
1094
1099
  }
1100
+ canPrestartSubagents(agentContext) {
1101
+ if (this.eagerEventToolExecution?.enabled !== true || (this.eagerEventToolExecution.maxPendingSubagents ?? 4) <= 0 || this.compileOptions?.checkpointer != null || this.humanInTheLoop?.enabled === true || (this.interruptingToolNames?.length ?? 0) > 0 || agentContext == null || !this.subagentToolNodes.has(agentContext.agentId)) return false;
1102
+ const graphTools = agentContext.graphTools;
1103
+ return graphTools?.length === 1 && graphTools[0].name === "subagent" && SUBAGENT_REPLAY_CONTROLLER in graphTools[0];
1104
+ }
1105
+ prestartSubagent(call, attempt, agentContext) {
1106
+ const config = this.preparedSubagents.getConfig(attempt);
1107
+ if (!this.canPrestartSubagents(agentContext) || config == null || agentContext == null) return;
1108
+ this.subagentToolNodes.get(agentContext.agentId)?.prestartSubagent(call, attempt, config, this.eagerEventToolExecution?.maxPendingSubagents ?? 4);
1109
+ }
1095
1110
  initializeTools({ currentTools, currentToolMap, agentContext }) {
1096
1111
  const toolDefinitions = agentContext?.toolDefinitions;
1097
1112
  const eventDrivenMode = toolDefinitions != null && toolDefinitions.length > 0;
@@ -1137,6 +1152,7 @@ var StandardGraph = class StandardGraph extends Graph {
1137
1152
  hookRegistry: this.hookRegistry,
1138
1153
  humanInTheLoop: this.humanInTheLoop,
1139
1154
  eagerEventToolExecution: this.eagerEventToolExecution,
1155
+ preparedSubagents: this.preparedSubagents,
1140
1156
  codeSessionToolNames: this.codeSessionToolNames,
1141
1157
  eagerEventToolExecutions: this.eagerEventToolExecutions,
1142
1158
  eagerEventToolUsageCount: this.getEagerEventToolUsageCount(agentContext?.agentId),
@@ -1158,6 +1174,7 @@ var StandardGraph = class StandardGraph extends Graph {
1158
1174
  errorHandler: (data, metadata) => StandardGraph.handleToolCallErrorStatic(this, data, metadata)
1159
1175
  });
1160
1176
  this.registerCompiledToolNode(node);
1177
+ if (agentContext != null) this.subagentToolNodes.set(agentContext.agentId, node);
1161
1178
  return node;
1162
1179
  }
1163
1180
  const graphTools = agentContext?.graphTools;
@@ -1703,7 +1720,7 @@ var StandardGraph = class StandardGraph extends Graph {
1703
1720
  graph: this,
1704
1721
  metadata
1705
1722
  });
1706
- if (primaryError instanceof StreamLimitExceededError) {
1723
+ if (primaryError instanceof StreamLimitExceededError || primaryError instanceof PreparedSubagentError) {
1707
1724
  attemptBreaker.abort(primaryError);
1708
1725
  throw primaryError;
1709
1726
  }
@@ -1811,7 +1828,7 @@ var StandardGraph = class StandardGraph extends Graph {
1811
1828
  }
1812
1829
  }));
1813
1830
  } catch (fallbackError) {
1814
- if (fallbackError instanceof StreamLimitExceededError) {
1831
+ if (fallbackError instanceof StreamLimitExceededError || fallbackError instanceof PreparedSubagentError) {
1815
1832
  attemptBreaker.abort(fallbackError);
1816
1833
  throw fallbackError;
1817
1834
  }