agentfootprint 1.6.1 → 1.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 (100) hide show
  1. package/CLAUDE.md +2 -2
  2. package/dist/adapters/anthropic/AnthropicAdapter.js +9 -10
  3. package/dist/adapters/anthropic/AnthropicAdapter.js.map +1 -1
  4. package/dist/adapters/browser/BrowserAnthropicAdapter.js +26 -8
  5. package/dist/adapters/browser/BrowserAnthropicAdapter.js.map +1 -1
  6. package/dist/concepts/Conditional.js +260 -0
  7. package/dist/concepts/Conditional.js.map +1 -0
  8. package/dist/concepts/Swarm.js +1 -0
  9. package/dist/concepts/Swarm.js.map +1 -1
  10. package/dist/concepts/index.js +4 -1
  11. package/dist/concepts/index.js.map +1 -1
  12. package/dist/esm/adapters/anthropic/AnthropicAdapter.js +9 -10
  13. package/dist/esm/adapters/anthropic/AnthropicAdapter.js.map +1 -1
  14. package/dist/esm/adapters/browser/BrowserAnthropicAdapter.js +26 -8
  15. package/dist/esm/adapters/browser/BrowserAnthropicAdapter.js.map +1 -1
  16. package/dist/esm/concepts/Conditional.js +255 -0
  17. package/dist/esm/concepts/Conditional.js.map +1 -0
  18. package/dist/esm/concepts/Swarm.js +1 -0
  19. package/dist/esm/concepts/Swarm.js.map +1 -1
  20. package/dist/esm/concepts/index.js +1 -0
  21. package/dist/esm/concepts/index.js.map +1 -1
  22. package/dist/esm/index.js +1 -1
  23. package/dist/esm/index.js.map +1 -1
  24. package/dist/esm/lib/call/callLLMStage.js +41 -0
  25. package/dist/esm/lib/call/callLLMStage.js.map +1 -1
  26. package/dist/esm/lib/call/helpers.js +361 -3
  27. package/dist/esm/lib/call/helpers.js.map +1 -1
  28. package/dist/esm/lib/call/parseResponseStage.js +12 -3
  29. package/dist/esm/lib/call/parseResponseStage.js.map +1 -1
  30. package/dist/esm/lib/call/streamingCallLLMStage.js +42 -0
  31. package/dist/esm/lib/call/streamingCallLLMStage.js.map +1 -1
  32. package/dist/esm/lib/call/toolExecutionSubflow.js +5 -2
  33. package/dist/esm/lib/call/toolExecutionSubflow.js.map +1 -1
  34. package/dist/esm/lib/concepts/AgentBuilder.js +83 -0
  35. package/dist/esm/lib/concepts/AgentBuilder.js.map +1 -1
  36. package/dist/esm/lib/concepts/AgentRunner.js +20 -1
  37. package/dist/esm/lib/concepts/AgentRunner.js.map +1 -1
  38. package/dist/esm/lib/loop/buildAgentLoop.js +132 -4
  39. package/dist/esm/lib/loop/buildAgentLoop.js.map +1 -1
  40. package/dist/esm/lib/narrative/agentRenderer.js +79 -14
  41. package/dist/esm/lib/narrative/agentRenderer.js.map +1 -1
  42. package/dist/esm/streaming/StreamEmitter.js.map +1 -1
  43. package/dist/index.js +4 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/lib/call/callLLMStage.js +41 -0
  46. package/dist/lib/call/callLLMStage.js.map +1 -1
  47. package/dist/lib/call/helpers.js +364 -4
  48. package/dist/lib/call/helpers.js.map +1 -1
  49. package/dist/lib/call/parseResponseStage.js +12 -3
  50. package/dist/lib/call/parseResponseStage.js.map +1 -1
  51. package/dist/lib/call/streamingCallLLMStage.js +42 -0
  52. package/dist/lib/call/streamingCallLLMStage.js.map +1 -1
  53. package/dist/lib/call/toolExecutionSubflow.js +5 -2
  54. package/dist/lib/call/toolExecutionSubflow.js.map +1 -1
  55. package/dist/lib/concepts/AgentBuilder.js +83 -0
  56. package/dist/lib/concepts/AgentBuilder.js.map +1 -1
  57. package/dist/lib/concepts/AgentRunner.js +20 -1
  58. package/dist/lib/concepts/AgentRunner.js.map +1 -1
  59. package/dist/lib/loop/buildAgentLoop.js +132 -4
  60. package/dist/lib/loop/buildAgentLoop.js.map +1 -1
  61. package/dist/lib/narrative/agentRenderer.js +79 -14
  62. package/dist/lib/narrative/agentRenderer.js.map +1 -1
  63. package/dist/streaming/StreamEmitter.js.map +1 -1
  64. package/dist/types/adapters/browser/BrowserAnthropicAdapter.d.ts.map +1 -1
  65. package/dist/types/concepts/Conditional.d.ts +120 -0
  66. package/dist/types/concepts/Conditional.d.ts.map +1 -0
  67. package/dist/types/concepts/Swarm.d.ts.map +1 -1
  68. package/dist/types/concepts/index.d.ts +3 -1
  69. package/dist/types/concepts/index.d.ts.map +1 -1
  70. package/dist/types/index.d.ts +2 -1
  71. package/dist/types/index.d.ts.map +1 -1
  72. package/dist/types/lib/call/callLLMStage.d.ts.map +1 -1
  73. package/dist/types/lib/call/helpers.d.ts +45 -1
  74. package/dist/types/lib/call/helpers.d.ts.map +1 -1
  75. package/dist/types/lib/call/parseResponseStage.d.ts.map +1 -1
  76. package/dist/types/lib/call/streamingCallLLMStage.d.ts.map +1 -1
  77. package/dist/types/lib/call/toolExecutionSubflow.d.ts +12 -0
  78. package/dist/types/lib/call/toolExecutionSubflow.d.ts.map +1 -1
  79. package/dist/types/lib/concepts/Agent.d.ts +1 -1
  80. package/dist/types/lib/concepts/Agent.d.ts.map +1 -1
  81. package/dist/types/lib/concepts/AgentBuilder.d.ts +90 -0
  82. package/dist/types/lib/concepts/AgentBuilder.d.ts.map +1 -1
  83. package/dist/types/lib/concepts/AgentRunner.d.ts +13 -0
  84. package/dist/types/lib/concepts/AgentRunner.d.ts.map +1 -1
  85. package/dist/types/lib/concepts/index.d.ts +1 -1
  86. package/dist/types/lib/concepts/index.d.ts.map +1 -1
  87. package/dist/types/lib/loop/buildAgentLoop.d.ts.map +1 -1
  88. package/dist/types/lib/loop/types.d.ts +38 -0
  89. package/dist/types/lib/loop/types.d.ts.map +1 -1
  90. package/dist/types/lib/narrative/agentRenderer.d.ts +7 -2
  91. package/dist/types/lib/narrative/agentRenderer.d.ts.map +1 -1
  92. package/dist/types/scope/types.d.ts +7 -0
  93. package/dist/types/scope/types.d.ts.map +1 -1
  94. package/dist/types/streaming/StreamEmitter.d.ts +9 -0
  95. package/dist/types/streaming/StreamEmitter.d.ts.map +1 -1
  96. package/dist/types/types/agent.d.ts +7 -0
  97. package/dist/types/types/agent.d.ts.map +1 -1
  98. package/dist/types/types/multiAgent.d.ts +7 -0
  99. package/dist/types/types/multiAgent.d.ts.map +1 -1
  100. package/package.json +3 -2
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Agent NarrativeRenderer — LLM-optimized narrative for agent loop execution.
3
+ * Agent NarrativeFormatter — LLM-optimized narrative for agent loop execution.
4
4
  *
5
5
  * Designed for LLM follow-up reasoning: the narrative answers "what happened?"
6
6
  * so a downstream LLM can ask informed questions about the agent's execution.
@@ -91,7 +91,14 @@ const DEFAULT_LIMITS = {
91
91
  result: 100,
92
92
  systemPrompt: 200,
93
93
  parsedContent: 100,
94
- toolResult: 80,
94
+ // Tool results can contain diagnostic fields the library injects for
95
+ // debuggers — `expectedSchema`, `receivedArguments`, `escalation`,
96
+ // `repeatedFailures`. Truncating at 80 hides those after the opening
97
+ // `{"error":true,"message":"..."}` prefix, making it look like the LLM
98
+ // is being fed a bare error when in fact it has all the context it needs
99
+ // to self-correct. Bump to 400 so the fields are visible in BTS. Consumers
100
+ // who want the raw content use `verbose: true` (Infinity).
101
+ toolResult: 400,
95
102
  toolArgs: 60,
96
103
  message: 100,
97
104
  };
@@ -142,19 +149,28 @@ function formatToolDescriptions(rawValue) {
142
149
  const names = rawValue.map((t) => t.name ?? '?').join(', ');
143
150
  return `Tools: [${names}]`;
144
151
  }
152
+ /**
153
+ * Format a single tool call as `name({...})` — always including the paren
154
+ * group so that empty arguments render as `name({})` rather than `name`.
155
+ *
156
+ * This matters for debugging: when the LLM calls a tool with missing
157
+ * required fields, the bug signal is precisely that `arguments` is `{}`
158
+ * (or contains the wrong keys). Hiding that behind a bare `name` used to
159
+ * make every failing-loop narrative look like a healthy one — you couldn't
160
+ * tell that the args were empty until you dug into the raw snapshot.
161
+ */
162
+ function formatToolCallSignature(tc, limits) {
163
+ const name = tc.name ?? '?';
164
+ const args = tc.arguments ?? {};
165
+ const argsStr = JSON.stringify(args);
166
+ return `${name}(${truncate(argsStr, limits.toolArgs)})`;
167
+ }
145
168
  function formatParsedResponse(rawValue, limits) {
146
169
  if (!rawValue || typeof rawValue !== 'object')
147
170
  return 'Parsed: (unknown)';
148
171
  const r = rawValue;
149
172
  if (r.hasToolCalls && Array.isArray(r.toolCalls)) {
150
- const toolSummaries = r.toolCalls.map((tc) => {
151
- const name = tc.name ?? '?';
152
- if (tc.arguments && Object.keys(tc.arguments).length > 0) {
153
- const argsStr = JSON.stringify(tc.arguments);
154
- return `${name}(${truncate(argsStr, limits.toolArgs)})`;
155
- }
156
- return name;
157
- });
173
+ const toolSummaries = r.toolCalls.map((tc) => formatToolCallSignature(tc, limits));
158
174
  return `Parsed: tool_calls → [${toolSummaries.join(', ')}]`;
159
175
  }
160
176
  if (typeof r.content === 'string') {
@@ -189,16 +205,24 @@ function formatAdapterRawResponse(rawValue, limits) {
189
205
  if (r.content && r.content.length > 0) {
190
206
  parts.push(`Reasoning: "${truncate(r.content, limits.parsedContent)}"`);
191
207
  }
192
- // Tool calls summary
208
+ // Tool calls summary — include arguments so the reader can see at a glance
209
+ // whether the LLM actually passed required fields. Previously this showed
210
+ // only names, which hid the common failure mode where the LLM retries the
211
+ // same call with empty / wrong arguments.
193
212
  if (r.toolCalls && r.toolCalls.length > 0) {
194
- const names = r.toolCalls.map((tc) => tc.name ?? '?').join(', ');
195
- parts.push(`→ tool_calls: [${names}]`);
213
+ const signatures = r.toolCalls.map((tc) => formatToolCallSignature(tc, limits)).join(', ');
214
+ parts.push(`→ tool_calls: [${signatures}]`);
196
215
  }
197
216
  return parts.join('\n ');
198
217
  }
199
218
  // ── Renderer factory ─────────────────────────────────────────────────────────
200
219
  /**
201
- * Create an agent-optimized NarrativeRenderer.
220
+ * Create an agent-optimized narrative formatter.
221
+ *
222
+ * Returns the `NarrativeRenderer` type (structurally identical to
223
+ * footprintjs's new `NarrativeFormatter`). Once a newer footprintjs
224
+ * release is consumed here, migrate the return type to
225
+ * `NarrativeFormatter` — no behavioural change.
202
226
  *
203
227
  * Usage:
204
228
  * ```typescript
@@ -299,6 +323,47 @@ function createAgentRenderer(options) {
299
323
  renderSelected(ctx) {
300
324
  return `Selected ${ctx.selected.length}/${ctx.total}: ${ctx.selected.join(', ')}`;
301
325
  },
326
+ /**
327
+ * Custom render for agentfootprint's emit-channel events. Recognizes the
328
+ * adapter-level request/response events and produces compact, diagnostic
329
+ * narrative lines that surface the exact shape of what the adapter sent
330
+ * and received — the key visibility for debugging LLM behavior like
331
+ * "why is the model calling with empty args?".
332
+ *
333
+ * Returns `undefined` for unrecognized event names so the default
334
+ * library template handles them.
335
+ */
336
+ renderEmit(ctx) {
337
+ if (ctx.name === 'agentfootprint.llm.request') {
338
+ const p = ctx.payload;
339
+ const toolsDetail = p.toolsWithRequired
340
+ .map((t) => {
341
+ const req = t.required.length ? ` required:[${t.required.join(',')}]` : '';
342
+ return `${t.name}${req}`;
343
+ })
344
+ .join(', ');
345
+ return (`LLM request (iter ${p.iteration}): ${p.messageCount} msgs [${p.messageRoles.join(',')}], ` + `${p.toolCount} tools — ${toolsDetail}`);
346
+ }
347
+ if (ctx.name === 'agentfootprint.llm.response') {
348
+ const p = ctx.payload;
349
+ const usage = p.usage
350
+ ? `${p.usage.inputTokens ?? '?'}in/${p.usage.outputTokens ?? '?'}out`
351
+ : '';
352
+ const stop = p.stopReason ? ` stop=${p.stopReason}` : '';
353
+ const toolCallsDetail = p.toolCalls.length
354
+ ? ` calls=[${p.toolCalls
355
+ .map((tc) => `${tc.name}(${JSON.stringify(tc.arguments)})`)
356
+ .join(', ')}]`
357
+ : '';
358
+ const contentPreview = p.content && p.content.length > 0
359
+ ? ` content="${p.content.length > 60 ? p.content.slice(0, 57) + '...' : p.content}"`
360
+ : '';
361
+ return (`LLM response (iter ${p.iteration}, ${p.latencyMs}ms, ${usage}${stop}):` +
362
+ `${contentPreview}${toolCallsDetail}`);
363
+ }
364
+ // Unrecognized event — fall back to default library template.
365
+ return undefined;
366
+ },
302
367
  };
303
368
  }
304
369
  exports.createAgentRenderer = createAgentRenderer;
@@ -1 +1 @@
1
- {"version":3,"file":"agentRenderer.js","sourceRoot":"","sources":["../../../src/lib/narrative/agentRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentRenderer.js","sourceRoot":"","sources":["../../../src/lib/narrative/agentRenderer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StreamEmitter.js","sourceRoot":"","sources":["../../src/streaming/StreamEmitter.ts"],"names":[],"mappings":";;;AAkDA;;;;;GAKG;AACH,MAAa,aAAa;IAChB,QAAQ,GAA8B,EAAE,CAAC;IAEjD,EAAE,CAAC,OAAgC;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAuB;QAC1B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;YACtD,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAnBD,sCAmBC;AAED;;;;;;;;GAQG;AACH,MAAa,YAAY;IACvB,MAAM,CAAC,MAAM,CAAC,KAAuB;QACnC,OAAO,UAAU,KAAK,CAAC,IAAI,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAA0B;QACzC,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AARD,oCAQC"}
1
+ {"version":3,"file":"StreamEmitter.js","sourceRoot":"","sources":["../../src/streaming/StreamEmitter.ts"],"names":[],"mappings":";;;AAgEA;;;;;GAKG;AACH,MAAa,aAAa;IAChB,QAAQ,GAA8B,EAAE,CAAC;IAEjD,EAAE,CAAC,OAAgC;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAuB;QAC1B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;YACtD,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAnBD,sCAmBC;AAED;;;;;;;;GAQG;AACH,MAAa,YAAY;IACvB,MAAM,CAAC,MAAM,CAAC,KAAuB;QACnC,OAAO,UAAU,KAAK,CAAC,IAAI,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAA0B;QACzC,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AARD,oCAQC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserAnthropicAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/browser/BrowserAnthropicAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,OAAO,EAKR,MAAM,aAAa,CAAC;AAsDrB,MAAM,WAAW,8BAA8B;IAC7C,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,0CAA0C;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,uBAAwB,YAAW,WAAW;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,8BAA8B;IAO7C,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAQxE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC;IAmH/F,OAAO,CAAC,SAAS;YA6CH,QAAQ;CAoDvB"}
1
+ {"version":3,"file":"BrowserAnthropicAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/browser/BrowserAnthropicAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,OAAO,EAKR,MAAM,aAAa,CAAC;AAsDrB,MAAM,WAAW,8BAA8B;IAC7C,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,0CAA0C;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,uBAAwB,YAAW,WAAW;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,8BAA8B;IAO7C,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAQxE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC;IAmI/F,OAAO,CAAC,SAAS;YA6CH,QAAQ;CAoDvB"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Conditional — branch to a runner based on predicates (DAG "if/else").
3
+ *
4
+ * Thin wrapper over footprintjs `addDeciderFunction` + `addFunctionBranch`.
5
+ * A conditional is a top-level routing decision between runners — distinct
6
+ * from `Agent.route()`, which branches INSIDE a ReAct loop. Use Conditional
7
+ * when the shape is "pick one runner and return its result" (triage, content
8
+ * classification, policy routing).
9
+ *
10
+ * Predicates are evaluated in the order `.when()` was called; first match
11
+ * wins. If every predicate misses, the `otherwise` branch runs. A predicate
12
+ * that throws is treated as a miss (fail-open) and the next branch is tried.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { Conditional, Agent, RAG } from 'agentfootprint';
17
+ *
18
+ * const triage = Conditional.create({ name: 'triage' })
19
+ * .when((input) => input.includes('refund'), refundAgent)
20
+ * .when((input) => input.length > 500, ragRunner)
21
+ * .otherwise(generalAgent)
22
+ * .build();
23
+ *
24
+ * const result = await triage.run('I want a refund please');
25
+ * // Narrative: "[triage] Chose refundAgent — predicate 0 matched"
26
+ * ```
27
+ *
28
+ * Conditional is a runner itself — plug it into `FlowChart`, `Parallel`,
29
+ * `Agent.route()`, or another `Conditional`. Composes like any other concept.
30
+ *
31
+ * ## Why this exists alongside footprintjs primitives
32
+ *
33
+ * footprintjs gives you `addDeciderFunction` + `addFunctionBranch` + `decide()`
34
+ * at the stage level. Conditional wraps those so you can compose **runners**
35
+ * (Agent, RAG, Swarm, user-built) instead of stage functions. Same underlying
36
+ * engine, same narrative, same evidence capture from `decide()`.
37
+ */
38
+ import type { FlowChart as FlowChartDef } from 'footprintjs';
39
+ import type { RunnerLike, TraversalResult } from '../types';
40
+ import type { AgentRecorder } from '../core';
41
+ /** Predicate tested against the input string + scope state. */
42
+ export type ConditionalPredicate = (input: string, state: Record<string, unknown>) => boolean;
43
+ interface ConditionalBranch {
44
+ readonly id: string;
45
+ readonly name: string;
46
+ readonly predicate: ConditionalPredicate;
47
+ readonly runner: RunnerLike;
48
+ }
49
+ export interface ConditionalOptions {
50
+ /** Name for narrative + spec. Defaults to `'conditional'`. */
51
+ readonly name?: string;
52
+ }
53
+ /**
54
+ * Builder for the Conditional concept. Each `.when()` adds a predicate →
55
+ * runner branch. `.otherwise()` sets the default (required). `.build()`
56
+ * returns a `ConditionalRunner`.
57
+ */
58
+ export declare class Conditional {
59
+ private readonly conditionalName;
60
+ private readonly branches;
61
+ private defaultRunner?;
62
+ private defaultName;
63
+ private readonly recorders;
64
+ private constructor();
65
+ static create(options?: ConditionalOptions): Conditional;
66
+ /**
67
+ * Add a predicate → runner branch. Predicates are evaluated in the order
68
+ * they were added; first match wins. A throwing predicate is treated as a
69
+ * miss (fail-open) so a faulty branch never blocks a valid one.
70
+ *
71
+ * The `id` + optional `name` appear in narrative / decision evidence.
72
+ */
73
+ when(predicate: ConditionalPredicate, runner: RunnerLike, options?: {
74
+ id?: string;
75
+ name?: string;
76
+ }): this;
77
+ /** Set the default runner — runs when every `.when()` predicate misses. */
78
+ otherwise(runner: RunnerLike, options?: {
79
+ name?: string;
80
+ }): this;
81
+ recorder(rec: AgentRecorder): this;
82
+ build(): ConditionalRunner;
83
+ }
84
+ interface ConditionalRunnerOptions {
85
+ readonly name: string;
86
+ readonly branches: readonly ConditionalBranch[];
87
+ readonly defaultRunner: RunnerLike;
88
+ readonly defaultName: string;
89
+ readonly recorders: readonly AgentRecorder[];
90
+ }
91
+ /**
92
+ * Runner produced by `Conditional.build()`. Exposes the same surface as other
93
+ * runners: `run`, `getNarrative`, `getNarrativeEntries`, `getSnapshot`,
94
+ * `getSpec`, `toFlowChart`. Composes into FlowChart / Parallel / Agent.route
95
+ * like any other runner.
96
+ */
97
+ export declare class ConditionalRunner {
98
+ private readonly opts;
99
+ private lastExecutor?;
100
+ private lastSpec?;
101
+ private readonly narrativeRenderer;
102
+ constructor(opts: ConditionalRunnerOptions);
103
+ run(message: string, options?: {
104
+ signal?: AbortSignal;
105
+ timeoutMs?: number;
106
+ }): Promise<TraversalResult>;
107
+ private buildChart;
108
+ /** Get the flowchart spec (stage graph metadata). */
109
+ getSpec(): unknown;
110
+ /** Expose the flowchart definition so this runner can be mounted as a subflow. */
111
+ toFlowChart(): FlowChartDef;
112
+ /** Get the narrative from the last run. */
113
+ getNarrative(): string[];
114
+ /** Get structured narrative entries from the last run. */
115
+ getNarrativeEntries(): import("footprintjs").CombinedNarrativeEntry[];
116
+ /** Get the full execution snapshot from the last run. */
117
+ getSnapshot(): import("footprintjs").RuntimeSnapshot | undefined;
118
+ }
119
+ export {};
120
+ //# sourceMappingURL=Conditional.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Conditional.d.ts","sourceRoot":"","sources":["../../../src/concepts/Conditional.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAQH,OAAO,KAAK,EAAE,SAAS,IAAI,YAAY,EAAc,MAAM,aAAa,CAAC;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAoB,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAM7C,+DAA+D;AAC/D,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;AAE9F,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AASD;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,aAAa,CAAC,CAAa;IACnC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IAEjD,OAAO;IAIP,MAAM,CAAC,MAAM,CAAC,OAAO,GAAE,kBAAuB,GAAG,WAAW;IAI5D;;;;;;OAMG;IACH,IAAI,CACF,SAAS,EAAE,oBAAoB,EAC/B,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACvC,IAAI;IAkCP,2EAA2E;IAC3E,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAWhE,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAKlC,KAAK,IAAI,iBAAiB;CAmB3B;AAED,UAAU,wBAAwB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;CAC9C;AAgBD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA2B;IAChD,OAAO,CAAC,YAAY,CAAC,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyB;gBAE/C,IAAI,EAAE,wBAAwB;IAIpC,GAAG,CACP,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACrD,OAAO,CAAC,eAAe,CAAC;IAuC3B,OAAO,CAAC,UAAU;IAmFlB,qDAAqD;IACrD,OAAO,IAAI,OAAO;IAOlB,kFAAkF;IAClF,WAAW,IAAI,YAAY;IAI3B,2CAA2C;IAC3C,YAAY,IAAI,MAAM,EAAE;IAIxB,0DAA0D;IAC1D,mBAAmB;IAInB,yDAAyD;IACzD,WAAW;CAGZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"Swarm.d.ts","sourceRoot":"","sources":["../../../src/concepts/Swarm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Swarm.d.ts","sourceRoot":"","sources":["../../../src/concepts/Swarm.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { Agent, AgentRunner } from '../lib/concepts';
2
- export type { AgentOptions } from '../lib/concepts';
2
+ export type { AgentOptions, CustomRouteBranch, CustomRouteConfig } from '../lib/concepts';
3
3
  export { LLMCall, LLMCallRunner } from './LLMCall';
4
4
  export type { LLMCallOptions } from './LLMCall';
5
5
  export { RAG, RAGRunner } from './RAG';
@@ -9,4 +9,6 @@ export { Swarm, SwarmRunner } from './Swarm';
9
9
  export type { SwarmOptions } from './Swarm';
10
10
  export { Parallel, ParallelRunner } from './Parallel';
11
11
  export type { ParallelOptions, ParallelResult, BranchResult } from './Parallel';
12
+ export { Conditional, ConditionalRunner } from './Conditional';
13
+ export type { ConditionalOptions, ConditionalPredicate } from './Conditional';
12
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/concepts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,YAAY,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/concepts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,YAAY,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
@@ -11,7 +11,8 @@
11
11
  * agentfootprint/explain → Narrative, grounding analysis
12
12
  * agentfootprint/stream → Real-time lifecycle events
13
13
  */
14
- export { Agent, AgentRunner, LLMCall, LLMCallRunner, RAG, RAGRunner, FlowChart, FlowChartRunner, Swarm, SwarmRunner, Parallel, ParallelRunner, } from './concepts';
14
+ export { Agent, AgentRunner, LLMCall, LLMCallRunner, RAG, RAGRunner, FlowChart, FlowChartRunner, Swarm, SwarmRunner, Parallel, ParallelRunner, Conditional, ConditionalRunner, } from './concepts';
15
+ export type { CustomRouteBranch, CustomRouteConfig, ConditionalOptions, ConditionalPredicate, } from './concepts';
15
16
  export { defineTool, askHuman, ToolRegistry } from './tools';
16
17
  export { mock, MockAdapter, mockRetriever, MockRetriever, createProvider } from './adapters';
17
18
  export { anthropic, openai, ollama, bedrock } from './models';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,KAAK,EACL,WAAW,EACX,OAAO,EACP,aAAa,EACb,GAAG,EACH,SAAS,EACT,SAAS,EACT,eAAe,EACf,KAAK,EACL,WAAW,EACX,QAAQ,EACR,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG7D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAClF,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,YAAY,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,aAAa,GACd,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9D,OAAO,EACL,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,WAAW,EACX,QAAQ,GACT,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,YAAY,EACV,OAAO,EACP,QAAQ,EACR,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,UAAU,EACV,WAAW,EACX,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,YAAY,GACb,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACnF,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAGxF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,KAAK,EACL,WAAW,EACX,OAAO,EACP,aAAa,EACb,GAAG,EACH,SAAS,EACT,SAAS,EACT,eAAe,EACf,KAAK,EACL,WAAW,EACX,QAAQ,EACR,cAAc,EACd,WAAW,EACX,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG7D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAClF,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,YAAY,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,aAAa,GACd,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9D,OAAO,EACL,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,WAAW,EACX,QAAQ,GACT,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,YAAY,EACV,OAAO,EACP,QAAQ,EACR,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,UAAU,EACV,WAAW,EACX,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,YAAY,GACb,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACnF,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAGxF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"callLLMStage.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/callLLMStage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAkB,cAAc,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG/D,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,WAAW,EACrB,gBAAgB,CAAC,EAAE,mBAAmB,GAAG,uBAAuB,WAc3C,WAAW,cAAc,CAAC,mBA0ChD"}
1
+ {"version":3,"file":"callLLMStage.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/callLLMStage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAkB,cAAc,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG/D,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,WAAW,EACrB,gBAAgB,CAAC,EAAE,mBAAmB,GAAG,uBAAuB,WAc3C,WAAW,cAAc,CAAC,mBAqFhD"}
@@ -7,6 +7,47 @@ import type { ToolProvider } from '../../core';
7
7
  import type { LLMInstruction, InstructionContext, InstructionTemplate } from '../instructions';
8
8
  import type { ResolvedInstruction } from '../instructions';
9
9
  import type { AgentStreamEventHandler } from '../../streaming';
10
+ /**
11
+ * Default threshold for escalating repeated-identical-failure feedback.
12
+ * Override per-agent with `AgentBuilder.maxIdenticalFailures(n)`; pass `0` to
13
+ * disable escalation entirely.
14
+ */
15
+ export declare const REPEATED_FAILURE_ESCALATION_THRESHOLD = 3;
16
+ /**
17
+ * Stable JSON.stringify — keys sorted at every object level — so two calls
18
+ * with the same logical arguments but different key insertion order are
19
+ * treated as identical. Only handles plain JSON values (strings, numbers,
20
+ * booleans, nulls, arrays, plain objects), which matches the JSON-Schema
21
+ * shape of tool arguments.
22
+ */
23
+ export declare function stableStringify(value: unknown): string;
24
+ /**
25
+ * If the current call is a real error AND the (toolName, args) key has failed
26
+ * a multiple of `threshold` times (i.e. on the threshold-th, 2×threshold-th,
27
+ * 3×threshold-th … identical failure), inject an `escalation` field into
28
+ * the JSON result content.
29
+ *
30
+ * ## Why periodic, not one-shot
31
+ *
32
+ * A single escalation message early in the loop is easy for an LLM to skim
33
+ * past — especially when multiple parallel tool calls fail in the same
34
+ * turn. Firing periodically (every Nth identical failure) keeps nudging
35
+ * the LLM to change strategy while bounding token bloat to at most
36
+ * `maxIterations / threshold` escalations per key.
37
+ *
38
+ * Returns the possibly-enriched content. Pure — does not mutate inputs.
39
+ *
40
+ * Guarantees:
41
+ * - No false positives from substring matching (strict JSON parse).
42
+ * - Fires at every `N × threshold`-th failure, never between.
43
+ * - Stable under argument key reordering (uses `stableStringify`).
44
+ * - No-op when `threshold <= 0` (user-disabled).
45
+ * - No-op when `didError` is false OR content is non-JSON.
46
+ */
47
+ export declare function enrichIfRepeatedFailure(resultContent: string, toolCall: ToolCall, priorMessages: readonly Message[], options: {
48
+ didError: boolean;
49
+ threshold: number;
50
+ }): string;
10
51
  /**
11
52
  * Normalize an LLMResponse into an AdapterResult discriminated union.
12
53
  */
@@ -60,5 +101,8 @@ export interface ToolCallsResult {
60
101
  toolCallId: string;
61
102
  };
62
103
  }
63
- export declare function executeToolCalls(toolCalls: ToolCall[], registry: ToolRegistry, messages: Message[], toolProvider?: ToolProvider, signal?: AbortSignal, instructionConfig?: InstructionConfig, decision?: Record<string, unknown>): Promise<ToolCallsResult>;
104
+ export declare function executeToolCalls(toolCalls: ToolCall[], registry: ToolRegistry, messages: Message[], toolProvider?: ToolProvider, signal?: AbortSignal, instructionConfig?: InstructionConfig, decision?: Record<string, unknown>, options?: {
105
+ parallel?: boolean;
106
+ maxIdenticalFailures?: number;
107
+ }): Promise<ToolCallsResult>;
64
108
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAElB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,GAAG,aAAa,CAgB7E;AAED;;;;GAIG;AACH,oEAAoE;AACpE,MAAM,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAE5F,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC,CAAC;IACtE,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IACxC,iEAAiE;IACjE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IACtF;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzD;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACxD,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,CAAC,EAAE,uBAAuB,CAAC;CAClD;AAED;;;;;;;;;GASG;AACH,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,uEAAuE;IACvE,aAAa,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1D;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,QAAQ,EAAE,EACrB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,CAAC,EAAE,YAAY,EAC3B,MAAM,CAAC,EAAE,WAAW,EACpB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,eAAe,CAAC,CAkK1B"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAElB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAc/D;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,IAAI,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAStD;AA8DD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,SAAS,OAAO,EAAE,EACjC,OAAO,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAChD,MAAM,CAqCR;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,GAAG,aAAa,CAgB7E;AAED;;;;GAIG;AACH,oEAAoE;AACpE,MAAM,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAE5F,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC,CAAC;IACtE,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IACxC,iEAAiE;IACjE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IACtF;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzD;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACxD,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,CAAC,EAAE,uBAAuB,CAAC;CAClD;AAED;;;;;;;;;GASG;AACH,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,uEAAuE;IACvE,aAAa,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1D;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,QAAQ,EAAE,EACrB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,CAAC,EAAE,YAAY,EAC3B,MAAM,CAAC,EAAE,WAAW,EACpB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,OAAO,CAAC,eAAe,CAAC,CAkP1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseResponseStage.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/parseResponseStage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI,CAoC1E"}
1
+ {"version":3,"file":"parseResponseStage.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/parseResponseStage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI,CA6C1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"streamingCallLLMStage.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/streamingCallLLMStage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EACV,WAAW,EAGX,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG/D,MAAM,WAAW,4BAA4B;IAC3C,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,WAAW,EACrB,gBAAgB,CAAC,EAAE,4BAA4B,GAAG,uBAAuB,WAWhE,WAAW,cAAc,CAAC,YACvB,MAAM,IAAI,mBACH,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,mBA6F3C"}
1
+ {"version":3,"file":"streamingCallLLMStage.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/streamingCallLLMStage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EACV,WAAW,EAGX,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG/D,MAAM,WAAW,4BAA4B;IAC3C,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,WAAW,EACrB,gBAAgB,CAAC,EAAE,4BAA4B,GAAG,uBAAuB,WAWhE,WAAW,cAAc,CAAC,YACvB,MAAM,IAAI,mBACH,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,mBA0I3C"}
@@ -58,6 +58,18 @@ export interface ToolExecutionSubflowConfig {
58
58
  readonly toolProvider?: ToolProvider;
59
59
  /** Instruction processing config — when provided, instructions are evaluated after each tool call. */
60
60
  readonly instructionConfig?: InstructionConfig;
61
+ /**
62
+ * When true, multiple tool calls within a single turn run concurrently via Promise.all.
63
+ * Results are appended to the conversation in the order the LLM requested them.
64
+ * Default: false (sequential).
65
+ */
66
+ readonly parallel?: boolean;
67
+ /**
68
+ * Consecutive-identical-failure threshold for repeated-failure escalation.
69
+ * Forwarded to `executeToolCalls`. Passing `0` (or any non-positive number)
70
+ * disables escalation entirely. Defaults to the library default when omitted.
71
+ */
72
+ readonly maxIdenticalFailures?: number;
61
73
  }
62
74
  /**
63
75
  * Build the tool execution subflow.
@@ -1 +1 @@
1
- {"version":3,"file":"toolExecutionSubflow.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/toolExecutionSubflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKxD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,yBAAyB;IACxC,2EAA2E;IAC3E,cAAc,EAAE,cAAc,CAAC;IAC/B,yEAAyE;IACzE,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAC9B,sCAAsC;IACtC,gBAAgB,EAAE,MAAM,CAAC;IAEzB,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,0EAA0E;IAC1E,aAAa,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1D;AAID,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,sGAAsG;IACtG,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CAChD;AAID;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,0BAA0B,GAAG,SAAS,CA8FvF"}
1
+ {"version":3,"file":"toolExecutionSubflow.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/toolExecutionSubflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKxD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,yBAAyB;IACxC,2EAA2E;IAC3E,cAAc,EAAE,cAAc,CAAC;IAC/B,yEAAyE;IACzE,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAC9B,sCAAsC;IACtC,gBAAgB,EAAE,MAAM,CAAC;IAEzB,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,0EAA0E;IAC1E,aAAa,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1D;AAID,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,sGAAsG;IACtG,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACxC;AAID;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,0BAA0B,GAAG,SAAS,CAkGvF"}
@@ -3,7 +3,7 @@
3
3
  * Preserves backward compatibility for imports.
4
4
  */
5
5
  export { Agent } from './AgentBuilder';
6
- export type { AgentOptions } from './AgentBuilder';
6
+ export type { AgentOptions, CustomRouteBranch, CustomRouteConfig } from './AgentBuilder';
7
7
  export { AgentRunner } from './AgentRunner';
8
8
  export type { AgentRunnerOptions } from './AgentRunner';
9
9
  //# sourceMappingURL=Agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../../src/lib/concepts/Agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../../src/lib/concepts/Agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
@@ -11,9 +11,33 @@ import type { ToolDefinition, LLMProvider } from '../../types';
11
11
  import type { ModelConfig } from '../../models';
12
12
  import type { MemoryConfig } from '../../adapters/memory/types';
13
13
  import type { AgentRecorder, PromptProvider, ToolProvider } from '../../core';
14
+ import type { RunnerLike } from '../../types/multiAgent';
14
15
  import type { InstructionOverride, AgentInstruction } from '../instructions';
15
16
  import { AgentPattern } from '../loop';
16
17
  import { AgentRunner } from './AgentRunner';
18
+ /**
19
+ * A single user-defined branch in `Agent.route({...})`.
20
+ *
21
+ * The `when` predicate runs BEFORE the default tool-calls/final routing. First match wins.
22
+ * If no user branch matches, the Agent routes as normal (tool-calls if the LLM requested
23
+ * tools, final otherwise).
24
+ *
25
+ * `runner` must be a RunnerLike — any concept (Agent, LLMCall, RAG, Swarm, etc.) or a
26
+ * custom object with `.run(input)`. When the branch fires, the runner executes as a
27
+ * subflow and the returned content replaces the agent's current response.
28
+ */
29
+ export interface CustomRouteBranch<TScope = any> {
30
+ /** Predicate evaluated on the agent scope after ParseResponse. First matching branch wins. */
31
+ readonly when: (scope: TScope) => boolean;
32
+ /** Runner to execute when the branch fires. */
33
+ readonly runner: RunnerLike;
34
+ /** Stable id for narrative + recorder dispatch. Auto-generated if omitted. */
35
+ readonly id?: string;
36
+ }
37
+ export interface CustomRouteConfig<TScope = any> {
38
+ /** User-defined branches, evaluated in order before default tool-calls/final. */
39
+ readonly branches: readonly CustomRouteBranch<TScope>[];
40
+ }
17
41
  export interface AgentOptions {
18
42
  /** LLMProvider instance or ModelConfig from anthropic()/openai()/bedrock()/ollama(). */
19
43
  readonly provider: LLMProvider | ModelConfig;
@@ -36,6 +60,9 @@ export declare class Agent {
36
60
  private enableStreaming;
37
61
  private enableVerboseNarrative;
38
62
  private outputResponseFormat?;
63
+ private parallelToolsEnabled;
64
+ private customRoute?;
65
+ private maxIdenticalFailuresValue?;
39
66
  private constructor();
40
67
  /**
41
68
  * Create an agent builder.
@@ -70,6 +97,69 @@ export declare class Agent {
70
97
  maxIterations(n: number): this;
71
98
  /** Enable streaming — tokens emitted incrementally via onToken callback. */
72
99
  streaming(enabled?: boolean): this;
100
+ /**
101
+ * Run multiple tool calls within a single turn concurrently via Promise.all.
102
+ *
103
+ * Only beneficial when the LLM requests 2+ independent tool calls in one turn
104
+ * (e.g., "look up customer, orders, and product in parallel"). Results are
105
+ * appended to the conversation in the order the LLM requested them.
106
+ *
107
+ * **Caveat:** decide() functions on tool-level instructions mutate a shared
108
+ * Decision Scope — in parallel mode those mutations are not serialized.
109
+ * If your instructions rely on strict ordering, keep sequential (default).
110
+ *
111
+ * @example
112
+ * ```ts
113
+ * Agent.create({ provider })
114
+ * .tools([getCustomer, getOrders, getProduct])
115
+ * .parallelTools(true)
116
+ * .build();
117
+ * ```
118
+ */
119
+ parallelTools(enabled?: boolean): this;
120
+ /**
121
+ * Register user-defined routing branches evaluated BEFORE the default
122
+ * `tool-calls | final` routing. First matching `when` predicate wins.
123
+ *
124
+ * Useful for injecting escalation paths, safety gates, or bespoke handlers
125
+ * without touching the Agent loop internals. The default tool-calls and
126
+ * final branches still apply when no user branch matches.
127
+ *
128
+ * @example
129
+ * ```ts
130
+ * Agent.create({ provider })
131
+ * .tool(searchTool)
132
+ * .route({
133
+ * branches: [
134
+ * { id: 'escalate', when: (s) => s.parsedResponse.content.includes('[ESCALATE]'), runner: humanReviewAgent },
135
+ * ],
136
+ * })
137
+ * .build();
138
+ * ```
139
+ */
140
+ route(config: CustomRouteConfig): this;
141
+ /**
142
+ * Set the repeated-identical-failure escalation threshold. When a tool call
143
+ * with the exact same (name, args) has failed this many times in a row, a
144
+ * one-shot `escalation` field is injected into that tool result content
145
+ * urging the LLM to change arguments, switch tools, or finalize. Fires
146
+ * exactly once per (name, args) key per conversation — further identical
147
+ * failures are left bare to avoid token bloat.
148
+ *
149
+ * Defaults to `3`. Pass `0` to disable escalation entirely.
150
+ *
151
+ * @example
152
+ * ```ts
153
+ * Agent.create({ provider })
154
+ * .tools([...])
155
+ * .maxIdenticalFailures(2) // fire escalation after 2 identical failures
156
+ * .build();
157
+ *
158
+ * // Disable entirely:
159
+ * Agent.create({ provider }).tools([...]).maxIdenticalFailures(0).build();
160
+ * ```
161
+ */
162
+ maxIdenticalFailures(n: number): this;
73
163
  /**
74
164
  * Enable verbose narrative — full values, no truncation.
75
165
  * Shows complete system prompts, tool results, and LLM outputs in the narrative.