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
@@ -29,6 +29,9 @@ export class Agent {
29
29
  enableStreaming = false;
30
30
  enableVerboseNarrative = false;
31
31
  outputResponseFormat;
32
+ parallelToolsEnabled = false;
33
+ customRoute;
34
+ maxIdenticalFailuresValue;
32
35
  constructor(options) {
33
36
  this.provider = resolveProvider(options.provider);
34
37
  this.agentName = options.name ?? 'agent';
@@ -90,6 +93,81 @@ export class Agent {
90
93
  this.enableStreaming = enabled;
91
94
  return this;
92
95
  }
96
+ /**
97
+ * Run multiple tool calls within a single turn concurrently via Promise.all.
98
+ *
99
+ * Only beneficial when the LLM requests 2+ independent tool calls in one turn
100
+ * (e.g., "look up customer, orders, and product in parallel"). Results are
101
+ * appended to the conversation in the order the LLM requested them.
102
+ *
103
+ * **Caveat:** decide() functions on tool-level instructions mutate a shared
104
+ * Decision Scope — in parallel mode those mutations are not serialized.
105
+ * If your instructions rely on strict ordering, keep sequential (default).
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * Agent.create({ provider })
110
+ * .tools([getCustomer, getOrders, getProduct])
111
+ * .parallelTools(true)
112
+ * .build();
113
+ * ```
114
+ */
115
+ parallelTools(enabled = true) {
116
+ this.parallelToolsEnabled = enabled;
117
+ return this;
118
+ }
119
+ /**
120
+ * Register user-defined routing branches evaluated BEFORE the default
121
+ * `tool-calls | final` routing. First matching `when` predicate wins.
122
+ *
123
+ * Useful for injecting escalation paths, safety gates, or bespoke handlers
124
+ * without touching the Agent loop internals. The default tool-calls and
125
+ * final branches still apply when no user branch matches.
126
+ *
127
+ * @example
128
+ * ```ts
129
+ * Agent.create({ provider })
130
+ * .tool(searchTool)
131
+ * .route({
132
+ * branches: [
133
+ * { id: 'escalate', when: (s) => s.parsedResponse.content.includes('[ESCALATE]'), runner: humanReviewAgent },
134
+ * ],
135
+ * })
136
+ * .build();
137
+ * ```
138
+ */
139
+ route(config) {
140
+ this.customRoute = config;
141
+ return this;
142
+ }
143
+ /**
144
+ * Set the repeated-identical-failure escalation threshold. When a tool call
145
+ * with the exact same (name, args) has failed this many times in a row, a
146
+ * one-shot `escalation` field is injected into that tool result content
147
+ * urging the LLM to change arguments, switch tools, or finalize. Fires
148
+ * exactly once per (name, args) key per conversation — further identical
149
+ * failures are left bare to avoid token bloat.
150
+ *
151
+ * Defaults to `3`. Pass `0` to disable escalation entirely.
152
+ *
153
+ * @example
154
+ * ```ts
155
+ * Agent.create({ provider })
156
+ * .tools([...])
157
+ * .maxIdenticalFailures(2) // fire escalation after 2 identical failures
158
+ * .build();
159
+ *
160
+ * // Disable entirely:
161
+ * Agent.create({ provider }).tools([...]).maxIdenticalFailures(0).build();
162
+ * ```
163
+ */
164
+ maxIdenticalFailures(n) {
165
+ if (!Number.isFinite(n) || n < 0) {
166
+ throw new Error(`AgentBuilder.maxIdenticalFailures: expected a non-negative finite number, got ${n}`);
167
+ }
168
+ this.maxIdenticalFailuresValue = n;
169
+ return this;
170
+ }
93
171
  /**
94
172
  * Enable verbose narrative — full values, no truncation.
95
173
  * Shows complete system prompts, tool results, and LLM outputs in the narrative.
@@ -218,6 +296,11 @@ export class Agent {
218
296
  streaming: this.enableStreaming,
219
297
  verboseNarrative: this.enableVerboseNarrative,
220
298
  responseFormat: this.outputResponseFormat,
299
+ parallelTools: this.parallelToolsEnabled,
300
+ customRoute: this.customRoute,
301
+ ...(this.maxIdenticalFailuresValue !== undefined && {
302
+ maxIdenticalFailures: this.maxIdenticalFailuresValue,
303
+ }),
221
304
  });
222
305
  }
223
306
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBuilder.js","sourceRoot":"","sources":["../../../../src/lib/concepts/AgentBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentBuilder.js","sourceRoot":"","sources":["../../../../src/lib/concepts/AgentBuilder.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,9 @@ export class AgentRunner {
33
33
  initialDecision;
34
34
  streamingEnabled;
35
35
  responseFormat;
36
+ parallelToolsEnabled;
37
+ customRoute;
38
+ maxIdenticalFailures;
36
39
  cachedDecideFunctions;
37
40
  conversationHistory = [];
38
41
  lastExecutor;
@@ -56,6 +59,9 @@ export class AgentRunner {
56
59
  this.initialDecision = options.initialDecision;
57
60
  this.streamingEnabled = options.streaming ?? false;
58
61
  this.responseFormat = options.responseFormat;
62
+ this.parallelToolsEnabled = options.parallelTools ?? false;
63
+ this.customRoute = options.customRoute;
64
+ this.maxIdenticalFailures = options.maxIdenticalFailures;
59
65
  this.verboseNarrative = options.verboseNarrative ?? false;
60
66
  if (this.verboseNarrative) {
61
67
  this.narrativeRenderer = createAgentRenderer({ verbose: true });
@@ -197,6 +203,7 @@ export class AgentRunner {
197
203
  content: '',
198
204
  iterations: pauseResult.iterations,
199
205
  paused: true,
206
+ reason: 'paused',
200
207
  });
201
208
  return pauseResult;
202
209
  }
@@ -205,6 +212,7 @@ export class AgentRunner {
205
212
  type: 'turn_end',
206
213
  content: agentResult.content,
207
214
  iterations: agentResult.iterations,
215
+ ...(agentResult.maxIterationsReached && { reason: 'maxIterations' }),
208
216
  });
209
217
  if (bridge) {
210
218
  // Dispatch per-iteration LLM calls — each with its own context snapshot
@@ -336,8 +344,14 @@ export class AgentRunner {
336
344
  const lastAsst = lastAssistantMessage(messages);
337
345
  const result = state.result ?? (lastAsst ? getTextContent(lastAsst.content) : '');
338
346
  const iterations = state.loopCount ?? 0;
347
+ const maxIterationsReached = state.maxIterationsReached === true;
339
348
  this.conversationHistory = messages;
340
- return { content: result, messages, iterations };
349
+ return {
350
+ content: result,
351
+ messages,
352
+ iterations,
353
+ ...(maxIterationsReached && { maxIterationsReached: true }),
354
+ };
341
355
  }
342
356
  getNarrative() {
343
357
  return this.lastExecutor?.getNarrative() ?? [];
@@ -390,6 +404,11 @@ export class AgentRunner {
390
404
  decideFunctions: this.cachedDecideFunctions,
391
405
  streaming: this.streamingEnabled,
392
406
  responseFormat: this.responseFormat,
407
+ parallelTools: this.parallelToolsEnabled,
408
+ ...(this.maxIdenticalFailures !== undefined && {
409
+ maxIdenticalFailures: this.maxIdenticalFailures,
410
+ }),
411
+ routeExtensions: this.customRoute?.branches,
393
412
  onStreamEvent,
394
413
  onInstructionsFired: (toolId, fired) => {
395
414
  for (const rec of this.recorders) {
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../../../../src/lib/concepts/AgentRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../../../../src/lib/concepts/AgentRunner.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ import { getTextContent } from '../../types/content';
41
41
  import { lastAssistantMessage } from '../../memory';
42
42
  import { AgentPattern } from './types';
43
43
  import { applyInstructionOverrides, buildInstructionsToLLMSubflow } from '../instructions';
44
+ import { assistantMessage } from '../../types/messages';
44
45
  // ── Default Agent Routing ─────────────────────────────────────────────────────
45
46
  /**
46
47
  * Default routing for the Agent loop: tool-calls | final.
@@ -168,6 +169,10 @@ export function buildAgentLoop(config, seed, options) {
168
169
  const toolExecutionSubflow = buildToolExecutionSubflow({
169
170
  registry: config.registry,
170
171
  toolProvider: config.toolProvider,
172
+ parallel: config.parallelTools === true,
173
+ ...(config.maxIdenticalFailures !== undefined && {
174
+ maxIdenticalFailures: config.maxIdenticalFailures,
175
+ }),
171
176
  // Always pass instruction config — even without build-time instructions,
172
177
  // tool handlers can return runtime instructions/followUps.
173
178
  instructionConfig: {
@@ -282,7 +287,12 @@ export function buildAgentLoop(config, seed, options) {
282
287
  }
283
288
  builder = builder.addFunction('ParseResponse', parseResponseStage, 'parse-response', 'Parse LLM response into structured result');
284
289
  // ── Routing — one code path for both Agent and Swarm ──
285
- const routing = config.routing ?? defaultAgentRouting(toolExecutionSubflow, useCommitFlag);
290
+ // Priority: explicit config.routing (Swarm) > routeExtensions (user .route()) > default
291
+ const routing = config.routing
292
+ ? config.routing
293
+ : config.routeExtensions && config.routeExtensions.length > 0
294
+ ? extendDefaultRouting(defaultAgentRouting(toolExecutionSubflow, useCommitFlag), config.routeExtensions)
295
+ : defaultAgentRouting(toolExecutionSubflow, useCommitFlag);
286
296
  // Validate branches
287
297
  if (routing.branches.length === 0) {
288
298
  throw new Error('RoutingConfig must have at least one branch.');
@@ -297,13 +307,38 @@ export function buildAgentLoop(config, seed, options) {
297
307
  ].join(', ')}]`);
298
308
  }
299
309
  // Wrap decider with structural maxIterations guard — no custom routing can bypass this.
300
- // If loopCount >= maxIterations, force-route to defaultBranch.
310
+ // If loopCount >= maxIterations, force-route to defaultBranch and set the
311
+ // `maxIterationsReached` flag on scope so ANY default-branch stage (Finalize,
312
+ // Swarm's RouteSpecialist fallback, user-supplied terminal stage, …) can
313
+ // surface the fact that this was a forced termination rather than a chosen
314
+ // one. Setting the flag here — rather than inside a specific Finalize stage —
315
+ // makes the signal available for every routing topology built on top of
316
+ // buildAgentLoop.
317
+ //
301
318
  // The defaultBranch MUST call $break() or breakFn() — validated below.
302
319
  const safeDecider = (scope, breakFn, streamCb) => {
303
320
  const loopCount = scope.loopCount ?? 0;
304
321
  const maxIter = scope.maxIterations ?? 10;
305
- if (loopCount >= maxIter)
322
+ if (loopCount >= maxIter) {
323
+ // Deciders can write to scope — the write is committed with the decider
324
+ // stage's transaction. For TypedScope, property assignment goes through
325
+ // the Proxy set trap; for raw ScopeFacade, fall back to setValue if the
326
+ // property assignment is rejected.
327
+ try {
328
+ scope.maxIterationsReached = true;
329
+ }
330
+ catch {
331
+ if (typeof scope.setValue === 'function') {
332
+ try {
333
+ scope.setValue('maxIterationsReached', true);
334
+ }
335
+ catch {
336
+ /* unable to record — consumers must read loopCount vs maxIterations */
337
+ }
338
+ }
339
+ }
306
340
  return routing.defaultBranch;
341
+ }
307
342
  return routing.decider(scope, breakFn, streamCb);
308
343
  };
309
344
  let decider = builder.addDeciderFunction(routing.deciderName, safeDecider, routing.deciderId, routing.deciderDescription);
@@ -344,6 +379,83 @@ export function buildAgentLoop(config, seed, options) {
344
379
  }
345
380
  return { chart: builder.build(), getStrictFollowUp };
346
381
  }
382
+ /**
383
+ * Wrap a base RoutingConfig with user-defined extensions.
384
+ *
385
+ * User extensions run BEFORE the base decider. First matching `when` predicate wins.
386
+ * If no extension matches, base routing applies. Runners are mounted as subflows
387
+ * when they expose `.toFlowChart()`; otherwise they are wrapped with runnerAsStage.
388
+ */
389
+ function extendDefaultRouting(base, extensions) {
390
+ // Each user branch is a TERMINAL fn stage: run the runner, write the content as the
391
+ // agent's final result, and break the loop. We don't mount as a subflow because we
392
+ // need terminate semantics in the parent loop — a subflow would return control to
393
+ // the decider and keep looping. Drill-down via runner.toFlowChart() is a future
394
+ // enhancement; for Phase 1 we optimize for correctness and simplicity.
395
+ const userBranches = extensions.map((ext, idx) => {
396
+ const id = ext.id ?? `route-${idx}`;
397
+ return {
398
+ id,
399
+ kind: 'fn',
400
+ fn: createRouteExtensionStage(ext.runner),
401
+ name: id,
402
+ description: `User routing branch '${id}'`,
403
+ };
404
+ });
405
+ const extendedBranches = [...userBranches, ...base.branches];
406
+ return {
407
+ deciderName: base.deciderName,
408
+ deciderId: base.deciderId,
409
+ deciderDescription: base.deciderDescription,
410
+ decider: (scope, breakFn, streamCb) => {
411
+ // User predicates evaluated first — first match wins.
412
+ for (let i = 0; i < extensions.length; i++) {
413
+ try {
414
+ if (extensions[i].when(scope)) {
415
+ return userBranches[i].id;
416
+ }
417
+ }
418
+ catch {
419
+ // Predicate errors fall through to base routing (fail-open).
420
+ }
421
+ }
422
+ return base.decider(scope, breakFn, streamCb);
423
+ },
424
+ branches: extendedBranches,
425
+ defaultBranch: base.defaultBranch,
426
+ };
427
+ }
428
+ /**
429
+ * Build a terminal stage fn that invokes a user-provided runner, writes its content
430
+ * as the agent's final answer, and breaks the loop.
431
+ *
432
+ * Called when a user `.route()` branch predicate fires. The runner receives the last
433
+ * user message as input; its output content becomes the agent's assistant response.
434
+ */
435
+ function createRouteExtensionStage(runner) {
436
+ return async (scope) => {
437
+ const messages = scope.messages ?? [];
438
+ const lastUser = [...messages].reverse().find((m) => m.role === 'user');
439
+ const input = typeof lastUser?.content === 'string'
440
+ ? lastUser.content
441
+ : Array.isArray(lastUser?.content)
442
+ ? lastUser.content
443
+ .map((b) => (typeof b?.text === 'string' ? b.text : ''))
444
+ .filter(Boolean)
445
+ .join('\n')
446
+ : '';
447
+ const env = scope.$getEnv();
448
+ const signal = env?.signal;
449
+ const timeoutMs = env?.timeoutMs;
450
+ const output = await runner.run(input, { signal, timeoutMs });
451
+ const content = typeof output?.content === 'string' ? output.content : '';
452
+ // Append the runner's answer as an assistant message so downstream
453
+ // observers (narrative, recorders) see a coherent conversation.
454
+ scope.messages = [...messages, assistantMessage(content)];
455
+ scope.result = content;
456
+ scope.$break();
457
+ };
458
+ }
347
459
  /**
348
460
  * Create the Finalize stage function (decider 'final' branch).
349
461
  *
@@ -356,7 +468,23 @@ function createFinalizeStage(options) {
356
468
  return (scope) => {
357
469
  const messages = scope.messages ?? [];
358
470
  const lastAsst = lastAssistantMessage(messages);
359
- scope.result = lastAsst ? getTextContent(lastAsst.content) : '';
471
+ const lastAsstText = lastAsst ? getTextContent(lastAsst.content) : '';
472
+ // safeDecider sets `maxIterationsReached` when it force-routes at the cap.
473
+ // Read it here — don't re-derive from loopCount — so this stage agrees
474
+ // with whatever safeDecider decided (single source of truth).
475
+ const exhausted = scope.maxIterationsReached === true;
476
+ if (exhausted) {
477
+ const maxIter = scope.maxIterations ?? 10;
478
+ // Prefer the LLM's last reasoning text if present — otherwise synthesize
479
+ // a clear "agent gave up" message so callers never see an unexplained
480
+ // empty response after a long tool-error loop.
481
+ scope.result =
482
+ lastAsstText ||
483
+ `Agent stopped after ${maxIter} iterations without a final answer. The LLM may be stuck in a tool-error retry loop — check the execution trace.`;
484
+ }
485
+ else {
486
+ scope.result = lastAsstText;
487
+ }
360
488
  if (useCommitFlag) {
361
489
  scope.memory_shouldCommit = true;
362
490
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildAgentLoop.js","sourceRoot":"","sources":["../../../../src/lib/loop/buildAgentLoop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildAgentLoop.js","sourceRoot":"","sources":["../../../../src/lib/loop/buildAgentLoop.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Agent NarrativeRenderer — LLM-optimized narrative for agent loop execution.
2
+ * Agent NarrativeFormatter — LLM-optimized narrative for agent loop execution.
3
3
  *
4
4
  * Designed for LLM follow-up reasoning: the narrative answers "what happened?"
5
5
  * so a downstream LLM can ask informed questions about the agent's execution.
@@ -88,7 +88,14 @@ const DEFAULT_LIMITS = {
88
88
  result: 100,
89
89
  systemPrompt: 200,
90
90
  parsedContent: 100,
91
- toolResult: 80,
91
+ // Tool results can contain diagnostic fields the library injects for
92
+ // debuggers — `expectedSchema`, `receivedArguments`, `escalation`,
93
+ // `repeatedFailures`. Truncating at 80 hides those after the opening
94
+ // `{"error":true,"message":"..."}` prefix, making it look like the LLM
95
+ // is being fed a bare error when in fact it has all the context it needs
96
+ // to self-correct. Bump to 400 so the fields are visible in BTS. Consumers
97
+ // who want the raw content use `verbose: true` (Infinity).
98
+ toolResult: 400,
92
99
  toolArgs: 60,
93
100
  message: 100,
94
101
  };
@@ -139,19 +146,28 @@ function formatToolDescriptions(rawValue) {
139
146
  const names = rawValue.map((t) => t.name ?? '?').join(', ');
140
147
  return `Tools: [${names}]`;
141
148
  }
149
+ /**
150
+ * Format a single tool call as `name({...})` — always including the paren
151
+ * group so that empty arguments render as `name({})` rather than `name`.
152
+ *
153
+ * This matters for debugging: when the LLM calls a tool with missing
154
+ * required fields, the bug signal is precisely that `arguments` is `{}`
155
+ * (or contains the wrong keys). Hiding that behind a bare `name` used to
156
+ * make every failing-loop narrative look like a healthy one — you couldn't
157
+ * tell that the args were empty until you dug into the raw snapshot.
158
+ */
159
+ function formatToolCallSignature(tc, limits) {
160
+ const name = tc.name ?? '?';
161
+ const args = tc.arguments ?? {};
162
+ const argsStr = JSON.stringify(args);
163
+ return `${name}(${truncate(argsStr, limits.toolArgs)})`;
164
+ }
142
165
  function formatParsedResponse(rawValue, limits) {
143
166
  if (!rawValue || typeof rawValue !== 'object')
144
167
  return 'Parsed: (unknown)';
145
168
  const r = rawValue;
146
169
  if (r.hasToolCalls && Array.isArray(r.toolCalls)) {
147
- const toolSummaries = r.toolCalls.map((tc) => {
148
- const name = tc.name ?? '?';
149
- if (tc.arguments && Object.keys(tc.arguments).length > 0) {
150
- const argsStr = JSON.stringify(tc.arguments);
151
- return `${name}(${truncate(argsStr, limits.toolArgs)})`;
152
- }
153
- return name;
154
- });
170
+ const toolSummaries = r.toolCalls.map((tc) => formatToolCallSignature(tc, limits));
155
171
  return `Parsed: tool_calls → [${toolSummaries.join(', ')}]`;
156
172
  }
157
173
  if (typeof r.content === 'string') {
@@ -186,16 +202,24 @@ function formatAdapterRawResponse(rawValue, limits) {
186
202
  if (r.content && r.content.length > 0) {
187
203
  parts.push(`Reasoning: "${truncate(r.content, limits.parsedContent)}"`);
188
204
  }
189
- // Tool calls summary
205
+ // Tool calls summary — include arguments so the reader can see at a glance
206
+ // whether the LLM actually passed required fields. Previously this showed
207
+ // only names, which hid the common failure mode where the LLM retries the
208
+ // same call with empty / wrong arguments.
190
209
  if (r.toolCalls && r.toolCalls.length > 0) {
191
- const names = r.toolCalls.map((tc) => tc.name ?? '?').join(', ');
192
- parts.push(`→ tool_calls: [${names}]`);
210
+ const signatures = r.toolCalls.map((tc) => formatToolCallSignature(tc, limits)).join(', ');
211
+ parts.push(`→ tool_calls: [${signatures}]`);
193
212
  }
194
213
  return parts.join('\n ');
195
214
  }
196
215
  // ── Renderer factory ─────────────────────────────────────────────────────────
197
216
  /**
198
- * Create an agent-optimized NarrativeRenderer.
217
+ * Create an agent-optimized narrative formatter.
218
+ *
219
+ * Returns the `NarrativeRenderer` type (structurally identical to
220
+ * footprintjs's new `NarrativeFormatter`). Once a newer footprintjs
221
+ * release is consumed here, migrate the return type to
222
+ * `NarrativeFormatter` — no behavioural change.
199
223
  *
200
224
  * Usage:
201
225
  * ```typescript
@@ -296,6 +320,47 @@ export function createAgentRenderer(options) {
296
320
  renderSelected(ctx) {
297
321
  return `Selected ${ctx.selected.length}/${ctx.total}: ${ctx.selected.join(', ')}`;
298
322
  },
323
+ /**
324
+ * Custom render for agentfootprint's emit-channel events. Recognizes the
325
+ * adapter-level request/response events and produces compact, diagnostic
326
+ * narrative lines that surface the exact shape of what the adapter sent
327
+ * and received — the key visibility for debugging LLM behavior like
328
+ * "why is the model calling with empty args?".
329
+ *
330
+ * Returns `undefined` for unrecognized event names so the default
331
+ * library template handles them.
332
+ */
333
+ renderEmit(ctx) {
334
+ if (ctx.name === 'agentfootprint.llm.request') {
335
+ const p = ctx.payload;
336
+ const toolsDetail = p.toolsWithRequired
337
+ .map((t) => {
338
+ const req = t.required.length ? ` required:[${t.required.join(',')}]` : '';
339
+ return `${t.name}${req}`;
340
+ })
341
+ .join(', ');
342
+ return (`LLM request (iter ${p.iteration}): ${p.messageCount} msgs [${p.messageRoles.join(',')}], ` + `${p.toolCount} tools — ${toolsDetail}`);
343
+ }
344
+ if (ctx.name === 'agentfootprint.llm.response') {
345
+ const p = ctx.payload;
346
+ const usage = p.usage
347
+ ? `${p.usage.inputTokens ?? '?'}in/${p.usage.outputTokens ?? '?'}out`
348
+ : '';
349
+ const stop = p.stopReason ? ` stop=${p.stopReason}` : '';
350
+ const toolCallsDetail = p.toolCalls.length
351
+ ? ` calls=[${p.toolCalls
352
+ .map((tc) => `${tc.name}(${JSON.stringify(tc.arguments)})`)
353
+ .join(', ')}]`
354
+ : '';
355
+ const contentPreview = p.content && p.content.length > 0
356
+ ? ` content="${p.content.length > 60 ? p.content.slice(0, 57) + '...' : p.content}"`
357
+ : '';
358
+ return (`LLM response (iter ${p.iteration}, ${p.latencyMs}ms, ${usage}${stop}):` +
359
+ `${contentPreview}${toolCallsDetail}`);
360
+ }
361
+ // Unrecognized event — fall back to default library template.
362
+ return undefined;
363
+ },
299
364
  };
300
365
  }
301
366
  //# sourceMappingURL=agentRenderer.js.map