agentfootprint 2.11.4 → 2.11.6

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 (65) hide show
  1. package/README.md +321 -165
  2. package/dist/core/Agent.js +55 -1
  3. package/dist/core/Agent.js.map +1 -1
  4. package/dist/core/agent/AgentBuilder.js +67 -1
  5. package/dist/core/agent/AgentBuilder.js.map +1 -1
  6. package/dist/core/agent/stages/callLLM.js +45 -17
  7. package/dist/core/agent/stages/callLLM.js.map +1 -1
  8. package/dist/core/agent/stages/reliabilityExecution.js +291 -0
  9. package/dist/core/agent/stages/reliabilityExecution.js.map +1 -0
  10. package/dist/core/agent/stages/toolCalls.js +9 -17
  11. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  12. package/dist/core/slots/buildToolsSlot.js +101 -33
  13. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  14. package/dist/esm/core/Agent.js +55 -1
  15. package/dist/esm/core/Agent.js.map +1 -1
  16. package/dist/esm/core/agent/AgentBuilder.js +67 -1
  17. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  18. package/dist/esm/core/agent/stages/callLLM.js +45 -17
  19. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  20. package/dist/esm/core/agent/stages/reliabilityExecution.js +287 -0
  21. package/dist/esm/core/agent/stages/reliabilityExecution.js.map +1 -0
  22. package/dist/esm/core/agent/stages/toolCalls.js +9 -17
  23. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  24. package/dist/esm/core/slots/buildToolsSlot.js +101 -33
  25. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  26. package/dist/esm/events/registry.js +6 -0
  27. package/dist/esm/events/registry.js.map +1 -1
  28. package/dist/esm/index.js +1 -0
  29. package/dist/esm/index.js.map +1 -1
  30. package/dist/esm/recorders/core/ToolsRecorder.js +23 -0
  31. package/dist/esm/recorders/core/ToolsRecorder.js.map +1 -0
  32. package/dist/esm/tool-providers/gatedTools.js +8 -3
  33. package/dist/esm/tool-providers/gatedTools.js.map +1 -1
  34. package/dist/events/registry.js +6 -0
  35. package/dist/events/registry.js.map +1 -1
  36. package/dist/index.js +5 -3
  37. package/dist/index.js.map +1 -1
  38. package/dist/recorders/core/ToolsRecorder.js +27 -0
  39. package/dist/recorders/core/ToolsRecorder.js.map +1 -0
  40. package/dist/tool-providers/gatedTools.js +8 -3
  41. package/dist/tool-providers/gatedTools.js.map +1 -1
  42. package/dist/types/core/Agent.d.ts +9 -1
  43. package/dist/types/core/Agent.d.ts.map +1 -1
  44. package/dist/types/core/agent/AgentBuilder.d.ts +61 -0
  45. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  46. package/dist/types/core/agent/stages/callLLM.d.ts +8 -0
  47. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  48. package/dist/types/core/agent/stages/reliabilityExecution.d.ts +66 -0
  49. package/dist/types/core/agent/stages/reliabilityExecution.d.ts.map +1 -0
  50. package/dist/types/core/agent/stages/toolCalls.d.ts +8 -0
  51. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  52. package/dist/types/core/slots/buildToolsSlot.d.ts +24 -4
  53. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  54. package/dist/types/events/payloads.d.ts +39 -0
  55. package/dist/types/events/payloads.d.ts.map +1 -1
  56. package/dist/types/events/registry.d.ts +7 -1
  57. package/dist/types/events/registry.d.ts.map +1 -1
  58. package/dist/types/index.d.ts +1 -0
  59. package/dist/types/index.d.ts.map +1 -1
  60. package/dist/types/recorders/core/ToolsRecorder.d.ts +19 -0
  61. package/dist/types/recorders/core/ToolsRecorder.d.ts.map +1 -0
  62. package/dist/types/tool-providers/gatedTools.d.ts.map +1 -1
  63. package/dist/types/tool-providers/types.d.ts +43 -7
  64. package/dist/types/tool-providers/types.d.ts.map +1 -1
  65. package/package.json +6 -1
@@ -14,6 +14,7 @@
14
14
  * agentfootprint.context.* (via ContextRecorder)
15
15
  */
16
16
  import { FlowChartExecutor, } from 'footprintjs';
17
+ import { ReliabilityFailFastError } from '../reliability/types.js';
17
18
  import { cacheDecisionSubflow } from '../cache/CacheDecisionSubflow.js';
18
19
  import { cacheGateDecide, updateSkillHistory as updateSkillHistoryStage, } from '../cache/CacheGateDecider.js';
19
20
  import { getDefaultCacheStrategy } from '../cache/strategyRegistry.js';
@@ -25,6 +26,7 @@ import { permissionRecorder } from '../recorders/core/PermissionRecorder.js';
25
26
  import { evalRecorder } from '../recorders/core/EvalRecorder.js';
26
27
  import { memoryRecorder } from '../recorders/core/MemoryRecorder.js';
27
28
  import { skillRecorder } from '../recorders/core/SkillRecorder.js';
29
+ import { toolsRecorder } from '../recorders/core/ToolsRecorder.js';
28
30
  import { buildSystemPromptSlot } from './slots/buildSystemPromptSlot.js';
29
31
  import { buildMessagesSlot } from './slots/buildMessagesSlot.js';
30
32
  import { buildToolsSlot } from './slots/buildToolsSlot.js';
@@ -151,7 +153,14 @@ export class Agent extends RunnerBase {
151
153
  * dispatch correctly when their visible-set changes mid-turn.
152
154
  */
153
155
  externalToolProvider;
154
- constructor(opts, systemPromptValue, registry, voice, injections = [], memories = [], outputSchemaParser, toolProvider, systemPromptCachePolicy = 'always', cachingDisabled = false, cacheStrategy, outputFallbackCfg) {
156
+ /**
157
+ * Optional rules-based reliability config (v2.11.5+). Set via the
158
+ * builder's `.reliability({...})`. When present, every CallLLM
159
+ * execution is wrapped in a retry/fallback/fail-fast loop driven
160
+ * by `preCheck` and `postDecide` rules. Consumed by `buildCallLLMStage`.
161
+ */
162
+ reliabilityConfig;
163
+ constructor(opts, systemPromptValue, registry, voice, injections = [], memories = [], outputSchemaParser, toolProvider, systemPromptCachePolicy = 'always', cachingDisabled = false, cacheStrategy, outputFallbackCfg, reliabilityConfig) {
155
164
  super();
156
165
  this.provider = opts.provider;
157
166
  this.name = opts.name ?? 'Agent';
@@ -186,6 +195,8 @@ export class Agent extends RunnerBase {
186
195
  this.costBudget = opts.costBudget;
187
196
  if (opts.permissionChecker)
188
197
  this.permissionChecker = opts.permissionChecker;
198
+ if (reliabilityConfig !== undefined)
199
+ this.reliabilityConfig = reliabilityConfig;
189
200
  this.appName = voice.appName;
190
201
  this.commentaryTemplates = voice.commentaryTemplates;
191
202
  this.thinkingTemplates = voice.thinkingTemplates;
@@ -460,6 +471,7 @@ export class Agent extends RunnerBase {
460
471
  executor.attachCombinedRecorder(evalRecorder({ dispatcher, getRunContext: getRunCtx }));
461
472
  executor.attachCombinedRecorder(memoryRecorder({ dispatcher, getRunContext: getRunCtx }));
462
473
  executor.attachCombinedRecorder(skillRecorder({ dispatcher, getRunContext: getRunCtx }));
474
+ executor.attachCombinedRecorder(toolsRecorder({ dispatcher, getRunContext: getRunCtx }));
463
475
  for (const r of this.attachedRecorders)
464
476
  executor.attachCombinedRecorder(r);
465
477
  return executor;
@@ -468,6 +480,38 @@ export class Agent extends RunnerBase {
468
480
  const paused = this.detectPause(executor, result);
469
481
  if (paused)
470
482
  return paused;
483
+ // Reliability fail-fast translation (v2.11.5+) — when the
484
+ // reliability retry loop in callLLM hits a `fail-fast` decision,
485
+ // it writes scope.reliabilityFailKind + payload and calls $break.
486
+ // The chart stops; the executor returns the last finalContent
487
+ // (typically empty). At the API boundary we surface the typed
488
+ // error so consumers can `instanceof ReliabilityFailFastError`
489
+ // and branch on `.kind`.
490
+ if (this.reliabilityConfig !== undefined) {
491
+ const snap = executor.getSnapshot();
492
+ const state = snap.sharedState;
493
+ if (state.reliabilityFailKind !== undefined) {
494
+ // Reconstruct the cause Error from the captured message+name —
495
+ // see the matching note in reliabilityExecution.failFast about
496
+ // why we don't keep the original Error in scope.
497
+ let cause;
498
+ if (state.reliabilityFailCauseMessage !== undefined) {
499
+ cause = new Error(state.reliabilityFailCauseMessage);
500
+ if (state.reliabilityFailCauseName !== undefined) {
501
+ cause.name = state.reliabilityFailCauseName;
502
+ }
503
+ }
504
+ throw new ReliabilityFailFastError({
505
+ kind: state.reliabilityFailKind,
506
+ reason: state.reliabilityFailReason ?? state.reliabilityFailKind,
507
+ ...(cause !== undefined && { cause }),
508
+ ...(state.reliabilityFailPayload !== undefined && {
509
+ payload: state.reliabilityFailPayload,
510
+ }),
511
+ snapshot: snap,
512
+ });
513
+ }
514
+ }
471
515
  if (result instanceof Error)
472
516
  throw result;
473
517
  if (typeof result === 'string')
@@ -535,9 +579,17 @@ export class Agent extends RunnerBase {
535
579
  reason: 'Agent.system()',
536
580
  });
537
581
  const messagesSubflow = buildMessagesSlot();
582
+ // Per-run cache shared between buildToolsSlot (writer, each
583
+ // iteration) and buildToolCallsHandler (reader, same iteration).
584
+ // Holds the resolved Tool[] from `provider.list(ctx)` so dispatch
585
+ // doesn't re-invoke `list()` — vital for async network providers.
586
+ // A fresh chart (and thus fresh cache) is built per `agent.run()`,
587
+ // so concurrent runs don't share state.
588
+ const providerToolCache = { current: [] };
538
589
  const toolsSubflow = buildToolsSlot({
539
590
  tools: toolSchemas,
540
591
  ...(this.externalToolProvider && { toolProvider: this.externalToolProvider }),
592
+ ...(this.externalToolProvider && { providerToolCache }),
541
593
  });
542
594
  // iterationStart extracted to ./agent/stages/iterationStart.ts (v2.11.2).
543
595
  const iterationStart = iterationStartStage;
@@ -555,6 +607,7 @@ export class Agent extends RunnerBase {
555
607
  get toolSchemas() {
556
608
  return toolSchemasResolved;
557
609
  },
610
+ ...(this.reliabilityConfig !== undefined && { reliability: this.reliabilityConfig }),
558
611
  });
559
612
  // routeDecider extracted to ./agent/stages/route.ts (v2.11.2).
560
613
  const routeDecider = routeDeciderStage;
@@ -562,6 +615,7 @@ export class Agent extends RunnerBase {
562
615
  const toolCallsHandler = buildToolCallsHandler({
563
616
  registryByName,
564
617
  ...(this.externalToolProvider && { externalToolProvider: this.externalToolProvider }),
618
+ ...(this.externalToolProvider && { providerToolCache }),
565
619
  ...(permissionChecker && { permissionChecker }),
566
620
  });
567
621
  // Chart composition extracted to ./agent/buildAgentChart.ts (v2.11.2).
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,13 @@ export class AgentBuilder {
76
76
  appNameValue = 'Chatbot';
77
77
  commentaryOverrides = {};
78
78
  thinkingOverrides = {};
79
+ /**
80
+ * Optional rules-based reliability config (v2.11.5+). Set via
81
+ * `.reliability({...})`. Wraps every `CallLLM` execution in a
82
+ * retry/fallback/fail-fast loop driven by `preCheck` and `postDecide`
83
+ * rules. See `ReliabilityConfig` for the rule shape.
84
+ */
85
+ reliabilityConfig;
79
86
  constructor(opts) {
80
87
  this.opts = opts;
81
88
  // Cache layer: opts.caching === 'off' propagates to scope's
@@ -460,6 +467,65 @@ export class AgentBuilder {
460
467
  };
461
468
  return this;
462
469
  }
470
+ /**
471
+ * Wire rules-based reliability around every `CallLLM` execution.
472
+ * The framework wraps the LLM call in a retry/fallback/fail-fast
473
+ * loop driven by `preCheck` and `postDecide` rules.
474
+ *
475
+ * Decision verbs the rules can emit (see `ReliabilityDecision` for
476
+ * the full list):
477
+ *
478
+ * • `continue` — pre-check OK, proceed to the call
479
+ * • `ok` — post-call OK, commit and return
480
+ * • `retry` — re-call same provider (bumps `attempt`)
481
+ * • `retry-other` — advance to next provider in `providers[]`
482
+ * • `fallback` — invoke `config.fallback(req, lastError)`
483
+ * • `fail-fast` — throw `ReliabilityFailFastError` at `agent.run()`
484
+ *
485
+ * **Streaming + reliability semantics — first-chunk arbitration:**
486
+ * Pre-first-chunk failures (connection/headers/breaker-open) honor
487
+ * the full rule set (retry, retry-other, fallback, fail-fast).
488
+ * Post-first-chunk failures (mid-stream) honor only `ok` and
489
+ * `fail-fast`; rules wanting `retry`/`retry-other`/`fallback` are
490
+ * escalated to fail-fast with kind `'mid-stream-not-retryable'`.
491
+ * This matches LangChain's `RunnableWithFallbacks` pattern and
492
+ * the prevailing industry default — see the streaming + reliability
493
+ * design memo for the full discussion.
494
+ *
495
+ * Throws if called more than once on the same builder.
496
+ *
497
+ * @example
498
+ * import { Agent } from 'agentfootprint';
499
+ * import { ReliabilityFailFastError } from 'agentfootprint/reliability';
500
+ *
501
+ * const agent = Agent.create({ provider, model: 'mock' })
502
+ * .system('Triage support tickets.')
503
+ * .reliability({
504
+ * postDecide: [
505
+ * { when: (s) => s.errorKind === '5xx-transient' && s.attempt < 3,
506
+ * then: 'retry', kind: 'transient-retry' },
507
+ * { when: (s) => s.error !== undefined,
508
+ * then: 'fail-fast', kind: 'unrecoverable' },
509
+ * ],
510
+ * circuitBreaker: { failureThreshold: 3 },
511
+ * })
512
+ * .build();
513
+ *
514
+ * try {
515
+ * await agent.run({ message: 'help' });
516
+ * } catch (e) {
517
+ * if (e instanceof ReliabilityFailFastError) {
518
+ * console.log(e.kind, e.reason);
519
+ * }
520
+ * }
521
+ */
522
+ reliability(config) {
523
+ if (this.reliabilityConfig) {
524
+ throw new Error('AgentBuilder.reliability: already set. Each agent has at most one reliability config.');
525
+ }
526
+ this.reliabilityConfig = config;
527
+ return this;
528
+ }
463
529
  build() {
464
530
  // Resolve the voice config: bundled defaults + consumer overrides.
465
531
  // Templates flow through the same barrel exports the rest of the
@@ -472,7 +538,7 @@ export class AgentBuilder {
472
538
  const opts = this.maxIterationsOverride !== undefined
473
539
  ? { ...this.opts, maxIterations: this.maxIterationsOverride }
474
540
  : this.opts;
475
- const agent = new Agent(opts, this.systemPromptValue, this.registry, voice, this.injectionList, this.memoryList, this.outputSchemaParser, this.toolProviderRef, this.systemPromptCachePolicy, this.cachingDisabledValue, this.cacheStrategyOverride, this.outputFallbackCfg);
541
+ const agent = new Agent(opts, this.systemPromptValue, this.registry, voice, this.injectionList, this.memoryList, this.outputSchemaParser, this.toolProviderRef, this.systemPromptCachePolicy, this.cachingDisabledValue, this.cacheStrategyOverride, this.outputFallbackCfg, this.reliabilityConfig);
476
542
  // Attach builder-collected recorders so they receive events from
477
543
  // the very first run. Mirrors what consumers would do post-build
478
544
  // via `agent.attach(rec)`; the builder method is purely sugar.
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBuilder.js","sourceRoot":"","sources":["../../../../src/core/agent/AgentBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentBuilder.js","sourceRoot":"","sources":["../../../../src/core/agent/AgentBuilder.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@
20
20
  */
21
21
  import { typedEmit } from '../../../recorders/core/typedEmit.js';
22
22
  import { emitCostTick } from '../../cost.js';
23
+ import { executeWithReliability } from './reliabilityExecution.js';
23
24
  /**
24
25
  * Build the callLLM stage function. Captures the LLM provider + model
25
26
  * config + cache strategy via the deps object; everything per-iteration
@@ -85,26 +86,53 @@ export function buildCallLLMStage(deps) {
85
86
  // when it doesn't (older providers, partial implementations) we
86
87
  // fall back to `complete()` for the authoritative payload —
87
88
  // keeping the ReAct loop deterministic.
88
- let response;
89
- if (deps.provider.stream) {
90
- for await (const chunk of deps.provider.stream(llmRequest)) {
91
- if (chunk.done) {
92
- if (chunk.response)
93
- response = chunk.response;
94
- break;
95
- }
96
- if (chunk.content.length > 0) {
97
- typedEmit(scope, 'agentfootprint.stream.token', {
98
- iteration,
99
- tokenIndex: chunk.tokenIndex,
100
- content: chunk.content,
101
- });
89
+ //
90
+ // `singleProviderCall` is the per-attempt call function. Used
91
+ // directly when reliability is OFF; passed into `executeWithReliability`
92
+ // when reliability is configured (the helper invokes it once per
93
+ // retry-loop iteration).
94
+ const singleProviderCall = async (req, hooks) => {
95
+ let resp;
96
+ let firstChunkFired = false;
97
+ if (deps.provider.stream) {
98
+ for await (const chunk of deps.provider.stream(req)) {
99
+ if (chunk.done) {
100
+ if (chunk.response)
101
+ resp = chunk.response;
102
+ break;
103
+ }
104
+ if (chunk.content.length > 0) {
105
+ if (!firstChunkFired) {
106
+ firstChunkFired = true;
107
+ hooks.onFirstChunk?.();
108
+ }
109
+ typedEmit(scope, 'agentfootprint.stream.token', {
110
+ iteration,
111
+ tokenIndex: chunk.tokenIndex,
112
+ content: chunk.content,
113
+ });
114
+ }
102
115
  }
103
116
  }
117
+ if (!resp) {
118
+ // No `stream()` OR stream finished without a response payload.
119
+ resp = await deps.provider.complete(req);
120
+ }
121
+ return resp;
122
+ };
123
+ let response;
124
+ if (deps.reliability) {
125
+ response = await executeWithReliability(scope, llmRequest, deps.reliability, deps.provider, deps.provider.name, deps.model, singleProviderCall);
126
+ // `executeWithReliability` returns `undefined` when it took the
127
+ // fail-fast path. It already wrote scope state and called
128
+ // `$break(reason)` — `Agent.run()` translates the propagated
129
+ // break into a `ReliabilityFailFastError` at the API boundary.
130
+ // Skip the post-call state writes; there is no response to commit.
131
+ if (response === undefined)
132
+ return;
104
133
  }
105
- if (!response) {
106
- // No `stream()` OR stream finished without a response payload.
107
- response = await deps.provider.complete(llmRequest);
134
+ else {
135
+ response = await singleProviderCall(llmRequest, {});
108
136
  }
109
137
  const durationMs = Date.now() - startMs;
110
138
  scope.totalInputTokens = scope.totalInputTokens + response.usage.input;
@@ -1 +1 @@
1
- {"version":3,"file":"callLLM.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/callLLM.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callLLM.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/callLLM.ts"],"names":[],"mappings":"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"}