agentfootprint 2.11.5 → 2.12.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 (68) hide show
  1. package/README.md +57 -79
  2. package/dist/core/Agent.js +59 -3
  3. package/dist/core/Agent.js.map +1 -1
  4. package/dist/core/agent/stages/toolCalls.js +91 -22
  5. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  6. package/dist/core/slots/buildToolsSlot.js +101 -33
  7. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  8. package/dist/esm/core/Agent.js +59 -3
  9. package/dist/esm/core/Agent.js.map +1 -1
  10. package/dist/esm/core/agent/stages/toolCalls.js +91 -22
  11. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  12. package/dist/esm/core/slots/buildToolsSlot.js +101 -33
  13. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  14. package/dist/esm/events/registry.js +8 -0
  15. package/dist/esm/events/registry.js.map +1 -1
  16. package/dist/esm/index.js +2 -1
  17. package/dist/esm/index.js.map +1 -1
  18. package/dist/esm/recorders/core/ToolsRecorder.js +23 -0
  19. package/dist/esm/recorders/core/ToolsRecorder.js.map +1 -0
  20. package/dist/esm/security/PolicyHaltError.js +61 -0
  21. package/dist/esm/security/PolicyHaltError.js.map +1 -0
  22. package/dist/esm/security/extractSequence.js +101 -0
  23. package/dist/esm/security/extractSequence.js.map +1 -0
  24. package/dist/esm/security/index.js +2 -0
  25. package/dist/esm/security/index.js.map +1 -1
  26. package/dist/esm/tool-providers/gatedTools.js +8 -3
  27. package/dist/esm/tool-providers/gatedTools.js.map +1 -1
  28. package/dist/events/registry.js +8 -0
  29. package/dist/events/registry.js.map +1 -1
  30. package/dist/index.js +6 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/recorders/core/ToolsRecorder.js +27 -0
  33. package/dist/recorders/core/ToolsRecorder.js.map +1 -0
  34. package/dist/security/PolicyHaltError.js +65 -0
  35. package/dist/security/PolicyHaltError.js.map +1 -0
  36. package/dist/security/extractSequence.js +105 -0
  37. package/dist/security/extractSequence.js.map +1 -0
  38. package/dist/security/index.js +6 -1
  39. package/dist/security/index.js.map +1 -1
  40. package/dist/tool-providers/gatedTools.js +8 -3
  41. package/dist/tool-providers/gatedTools.js.map +1 -1
  42. package/dist/types/adapters/types.d.ts +89 -2
  43. package/dist/types/adapters/types.d.ts.map +1 -1
  44. package/dist/types/core/Agent.d.ts.map +1 -1
  45. package/dist/types/core/agent/stages/toolCalls.d.ts +8 -0
  46. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  47. package/dist/types/core/agent/types.d.ts +17 -0
  48. package/dist/types/core/agent/types.d.ts.map +1 -1
  49. package/dist/types/core/slots/buildToolsSlot.d.ts +24 -4
  50. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  51. package/dist/types/events/payloads.d.ts +62 -1
  52. package/dist/types/events/payloads.d.ts.map +1 -1
  53. package/dist/types/events/registry.d.ts +9 -1
  54. package/dist/types/events/registry.d.ts.map +1 -1
  55. package/dist/types/index.d.ts +2 -1
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/recorders/core/ToolsRecorder.d.ts +19 -0
  58. package/dist/types/recorders/core/ToolsRecorder.d.ts.map +1 -0
  59. package/dist/types/security/PolicyHaltError.d.ts +73 -0
  60. package/dist/types/security/PolicyHaltError.d.ts.map +1 -0
  61. package/dist/types/security/extractSequence.d.ts +47 -0
  62. package/dist/types/security/extractSequence.d.ts.map +1 -0
  63. package/dist/types/security/index.d.ts +5 -1
  64. package/dist/types/security/index.d.ts.map +1 -1
  65. package/dist/types/tool-providers/gatedTools.d.ts.map +1 -1
  66. package/dist/types/tool-providers/types.d.ts +43 -7
  67. package/dist/types/tool-providers/types.d.ts.map +1 -1
  68. package/package.json +1 -1
package/README.md CHANGED
@@ -52,32 +52,19 @@ That's the whole model: `Injection = slot × trigger × cache`.
52
52
  - **Trigger** — when the content fires (see below).
53
53
  - **Cache** — how stable the content is across iterations. The framework places provider cache markers for you — stable content gets 80–90% cheaper prefixes.
54
54
 
55
- ### Triggers static or runtime
55
+ ### The 4 triggers
56
56
 
57
- Every rule fires from one of two places:
58
-
59
- - **Static** — set at build time, fires every iteration *(always-on)*
60
- - **Runtime** — fires from something that happens during the run:
61
- - a tool response *(after_tool)*
62
- - an LLM activation *(read_skill)*
63
- - a predicate over scope *(rule)*
64
-
65
- Four triggers, two flavors:
66
-
67
- | # | Trigger | Fires when | One-line example | Default slot |
57
+ | Trigger | Flavor | Fires when | Builder example | Default slot |
68
58
  |---|---|---|---|---|
69
- | 1 | `always` *(static)* | Every iteration | `.steering('You are a triage agent…')` | `system` |
70
- | 2 | `rule` *(runtime — predicate)* | Your rule returns true | `.rag({ when: s => /price\|refund/.test(s.userQuery), source: docs })` | `messages` |
71
- | 3 | `on-tool-return` *(runtime — lifecycle)* | After a specific tool returns | `.instruction({ after: 'search_db', text: 'Cite source IDs.' })` | `messages` |
72
- | 4 | `llm-activated` *(runtime — agent-driven)* | LLM calls `read_skill('id')` | `.skill({ id: 'refund-policy', activatedBy: 'read_skill' })` | `messages` (body) |
59
+ | `always` | static | Every iteration | `.steering('You are a triage agent…')` | `system` |
60
+ | `rule` | runtime — predicate | Your rule returns true | `.rag({ when: s => /price\|refund/.test(s.userQuery) })` | `messages` |
61
+ | `on-tool-return` | runtime — lifecycle | After a specific tool returns | `.instruction({ after: 'search_db', text: 'Cite source IDs.' })` | `messages` |
62
+ | `llm-activated` | runtime — agent-driven | LLM calls `read_skill('id')` | `.skill({ id: 'refund-policy', activatedBy: 'read_skill' })` | `messages` (body) |
73
63
 
74
- > **Slot is a default, not a coupling — same flavor lives in any slot, strategy is config.**
75
- > A `Skill` can live in:
76
- > - `tools` slot → schema only, LLM discovers it via `read_skill` — trigger `always`
77
- > - `messages` slot → body injected on activation — trigger `llm-activated`
78
- > - `system` slot → body baked into the system prompt as permanent steering — trigger `always`
64
+ > [!NOTE]
65
+ > Slot is a default, not a coupling — the same `Skill` can live in `tools` (schema only, discovered via `read_skill`), `messages` (body injected on activation), or `system` (baked into the prompt as steering).
79
66
 
80
- **3 slots × 4 triggers × N flavors = the entire context-engineering surface.** Locate any agent feature on this grid; that's enough to model it.
67
+ **3 slots × 4 triggers × N flavors = the entire context-engineering surface.**
81
68
 
82
69
  ---
83
70
 
@@ -98,16 +85,19 @@ We didn't have to choose between them.
98
85
 
99
86
  agentfootprint is built on **footprintjs** — the flowchart pattern for backend code. footprintjs gives us every one of those abstractions out of the box:
100
87
 
101
- - **Composition** `Sequence` · `Parallel` · `Conditional` · `Loop`
102
- - **State machines** — the ReAct loop *is* a flowchart
103
- - **Multi-agent crews** compose Agents through control flow, no special class needed
104
- - **Durable workflows** `pauseHere()` plus JSON-portable `resume()`
105
- - **Typed observation** 47+ events for free, because the framework owns the loop
88
+ | Capability | What footprintjs hands us |
89
+ |---|---|
90
+ | Composition | `Sequence` · `Parallel` · `Conditional` · `Loop` |
91
+ | State machines | The ReAct loop *is* a flowchart |
92
+ | Multi-agent crews | Compose Agents through control flow no special class needed |
93
+ | Durable workflows | `pauseHere()` plus JSON-portable `resume()` |
94
+ | Typed observation | 60+ events for free, because the framework owns the loop |
106
95
 
107
96
  So we used the budget those abstractions would have cost us to invest deeply in something they all leave to the developer: **the injection loop.**
108
97
 
109
- > **We abstract context engineering.**
110
- > Live to develop · offline to monitor · detailed to improve — handed back as the trace.
98
+ > [!IMPORTANT]
99
+ > **We abstract context engineering and hand back the trace.**
100
+ > Live to develop · offline to monitor · detailed to improve.
111
101
 
112
102
  ### The reason — agents have a new class of bug
113
103
 
@@ -117,13 +107,16 @@ LLM-powered apps add a second class of bug: **contextual errors.** The code is c
117
107
 
118
108
  Tracking *which content the model actually saw, and why,* is the entire debugging job. Without it, the failure mode is invisible:
119
109
 
120
- - The wrong instruction landed in the `system` slot — the model followed the wrong rule.
121
- - A predicate fired one iteration too early — context arrived with stale assumptions.
122
- - A skill body was missing when the LLM called `read_skill` the model invented its own.
123
- - The cache prefix invalidated a stable instruction got silently rewritten with a stale version.
124
- - A tool returned but the on-tool-return injection that explains how to interpret the result never fired.
110
+ | What got injected wrong | What the model did |
111
+ |---|---|
112
+ | Wrong instruction landed in the `system` slot | Followed the wrong rule |
113
+ | Predicate fired one iteration too early | Reasoned with stale assumptions |
114
+ | Skill body missing when the LLM called `read_skill` | Invented its own |
115
+ | Cache prefix invalidated mid-iteration | Saw a silently rewritten stale version |
116
+ | Tool returned but the `on-tool-return` injection didn't fire | Couldn't interpret the result |
125
117
 
126
- **The model doesn't tell you which of these went wrong. It just gives you the wrong answer.**
118
+ > [!IMPORTANT]
119
+ > **The model doesn't tell you which of these went wrong. It just gives you the wrong answer.**
127
120
 
128
121
  You can't step through that with a debugger. By the time you read the response, the context that produced it is gone unless something recorded it.
129
122
 
@@ -148,19 +141,6 @@ And a fourth, novel: **the agent can read its own trace.** Six months after the
148
141
 
149
142
  ---
150
143
 
151
- ## Where this sits
152
-
153
- You'll find pieces of agentfootprint in two adjacent categories of framework.
154
-
155
- - **Model-driven agent runners** let the LLM drive the loop. We ship one — Dynamic ReAct.
156
- - **Low-level orchestration frameworks** let you wire nodes and edges. We ship the same compositions one level up: `Sequence` · `Parallel` · `Conditional` · `Loop`.
157
-
158
- What neither category ships: the **Injection primitive** (Beat 1) and the **causal trace** (Beat 4). Both are free side effects of owning the runtime loop.
159
-
160
- > agentfootprint = a model-driven agent runner + compositional orchestration + context engineering as a first-class layer, trace baked in.
161
-
162
- ---
163
-
164
144
  ## 3. How do I design my agent or system of agents?
165
145
 
166
146
  Two scales — same alphabet. Four control flows are the entire vocabulary.
@@ -267,13 +247,11 @@ const reflexion = Loop.create()
267
247
 
268
248
  **Same five stages on both sides. Only one thing differs — where the loop returns.** Classic ReAct loops back to `CallLLM` and slots stay frozen. Dynamic ReAct (agentfootprint) loops back to `SystemPrompt`, so injections that fired on the previous tool result recompose the next prompt. Per-iteration recomposition is also the structural prerequisite for the cache layer.
269
249
 
270
- ```text
271
- Classic ReAct Dynamic ReAct
272
- ─────────────── ─────────────
273
- iter 1: 12 tools shown iter 1: 1 tool (read_skill)
274
- iter 2: 12 tools shown iter 2: 5 tools (skill activated)
275
- iter 3: 12 tools shown iter 3: 5 tools
276
- ```
250
+ | Iteration | Classic ReAct | Dynamic ReAct (agentfootprint) |
251
+ |---|---|---|
252
+ | 1 | 12 tools shown | **1 tool** (`read_skill`) |
253
+ | 2 | 12 tools shown | **5 tools** (skill activated) |
254
+ | 3 | 12 tools shown | 5 tools |
277
255
 
278
256
  > 📖 [Dynamic ReAct guide](https://footprintjs.github.io/agentfootprint/guides/dynamic-react/) · [Key concepts](https://footprintjs.github.io/agentfootprint/getting-started/key-concepts/)
279
257
 
@@ -342,7 +320,7 @@ The same trace serves three downstream consumers — no extra instrumentation:
342
320
 
343
321
  2. **Cheap-model triage.** A Sonnet trace becomes good *input* for Haiku to answer follow-ups. ~200 tokens at any model ($0.25/1M) vs ~2,500 tokens at a reasoning model ($15/1M). Memoization for agent thinking — no agent rerun.
344
322
 
345
- 3. **Training data export.** Every successful chain is a labeled trajectory `causalMemory.exportForTraining({ format: 'sft' \| 'dpo' \| 'process-rl' })`. The chain provides per-step rewards out of the box, so process-RL is ready without a separate data-collection phase.
323
+ 3. **Training data — the substrate is already there.** Every successful chain is a labeled trajectory. SFT pairs (`{prompt, completion}`) fall out of the snapshot's history field; the export wrapper is roadmap work tracked in [GitHub issues](https://github.com/footprintjs/agentfootprint/issues). DPO and process-RL need additional collection layers (preference feedback, per-step reward annotation) that don't ship today.
346
324
 
347
325
  Two built-in lenses view the same trace:
348
326
 
@@ -400,7 +378,7 @@ Build the entire app against in-memory mocks with **zero API cost**, then swap r
400
378
  | Boundary | Dev | Prod |
401
379
  |---|---|---|
402
380
  | LLM provider | `mock(...)` | `anthropic()` · `openai()` · `bedrock()` · `ollama()` |
403
- | Memory store | `InMemoryStore` | `RedisStore` · `AgentCoreStore` · DynamoDB / Postgres / Pinecone |
381
+ | Memory store | `InMemoryStore` | `RedisStore` · `AgentCoreStore` |
404
382
  | MCP | `mockMcpClient(...)` | `mcpClient({ transport })` |
405
383
  | Cache strategy | `NoOpCacheStrategy` | auto-selected per provider |
406
384
 
@@ -413,41 +391,41 @@ The flowchart, recorders, and tests don't change between dev and prod.
413
391
  **Core**
414
392
  - 2 primitives — `LLMCall`, `Agent` (the ReAct loop)
415
393
  - 4 control flows — `Sequence`, `Parallel`, `Conditional`, `Loop`
416
- - One Injection primitive — `defineSkill` / `defineSteering` / `defineInstruction` / `defineFact`
394
+ - 1 Injection primitive — `defineSkill` / `defineSteering` / `defineInstruction` / `defineFact`
395
+ - 1 reliability gate — `.reliability({ preCheck, postDecide, providers, circuitBreaker, fallback })`
396
+ - 1 tool dispatch primitive — `ToolProvider` (sync OR async) — `staticTools` · `gatedTools` · `skillScopedTools` · custom `discoveryProvider` over hubs / MCP / per-tenant catalogs
417
397
 
418
- **Adapters**
419
- - 7 LLM providers — Anthropic · OpenAI · Bedrock · Ollama · Browser-Anthropic · Browser-OpenAI · Mock
420
- - RAG · MCP · Memory store adapters — InMemory · Redis · AgentCore (Postgres / DynamoDB / Pinecone via lazy peer-deps)
398
+ **LLM providers** (7)
399
+
400
+ | Factory | Use for |
401
+ |---|---|
402
+ | `anthropic` | Claude (Sonnet, Opus, Haiku) via `@anthropic-ai/sdk` |
403
+ | `openai` | GPT-4o, GPT-4-turbo via `openai` SDK |
404
+ | `bedrock` | Claude / Titan / Mistral via AWS Bedrock runtime |
405
+ | `ollama` | Local models (OpenAI-compatible endpoint) |
406
+ | `browserAnthropic` | Browser-side Claude calls (no proxy server) |
407
+ | `browserOpenai` | Browser-side OpenAI calls (no proxy server) |
408
+ | `mock` | Deterministic dev/test (zero API cost) |
409
+
410
+ **Memory + adapters**
411
+ - Memory factory — 4 types (`episodic` / `semantic` / `narrative` / `causal`) × 7 strategies (`window` / `budget` / `summarize` / `topK` / `extract` / `decay` / `hybrid`)
412
+ - Memory stores — `InMemoryStore`, `RedisStore` (peer-dep `ioredis`), `AgentCoreStore` (peer-dep AWS SDK)
413
+ - RAG · MCP adapters — `mockMcpClient(...)` / `mcpClient({ transport })`
421
414
 
422
415
  **Operability**
423
- - One Memory factory — 4 types × 7 strategies including **Causal**
424
416
  - Provider-agnostic prompt caching — declarative per-injection, per-iteration marker recomputation
425
417
  - Pause / resume — JSON-serializable checkpoints; resume hours later on a different server
426
- - Resilience — `withRetry`, `withFallback`, `resilientProvider`
427
- - 48+ typed observability events — context · stream · agent · cost · skill · permission · eval · memory · cache · embedding · error
418
+ - Resilience primitives — `withRetry`, `withFallback`, `withCircuitBreaker`, `.outputFallback`, `agent.resumeOnError`
419
+ - 60+ typed observability events — `agent` · `composition` · `context` · `stream` · `tools` · `skill` · `memory` · `cache` · `cost` · `permission` · `eval` · `embedding` · `pause` · `error` · `fallback` · `resilience` · `reliability` · `risk`
428
420
 
429
421
  **Tooling**
430
- - **Lens** · **Explainable Trace** — two visual replays of the causal trace
422
+ - **Lens** · **Explainable Trace** — two visual replays of the causal trace (separate `agentfootprint-lens` package)
431
423
  - AI-coding-tool support — Claude Code · Cursor · Windsurf · Cline · Kiro · Copilot
432
424
 
433
425
  > 📖 [Agent API reference](https://footprintjs.github.io/agentfootprint/api/agent/) · [CHANGELOG](./CHANGELOG.md)
434
426
 
435
427
  ---
436
428
 
437
- ## Roadmap
438
-
439
- | Theme | Focus |
440
- |---|---|
441
- | Reliability | Circuit breaker, output fallback, auto-resume-on-error |
442
- | Causal exports | `causalMemory.exportForTraining({ format: 'sft' \| 'dpo' \| 'process' })` |
443
- | Governance | Policies, budget tracking, production memory adapters |
444
- | Cache v2 | Gemini handle-based caching, cost attribution |
445
- | Deep agents | Planning-before-execution, A2A protocol, Lens UI |
446
-
447
- Roadmap items are *not* current API claims. If a feature isn't in `npm install agentfootprint` today, it's listed here, not in the docs.
448
-
449
- ---
450
-
451
429
  ## Where to next
452
430
 
453
431
  | If you are... | Go here |
@@ -18,6 +18,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.Agent = exports.AgentBuilder = void 0;
19
19
  const footprintjs_1 = require("footprintjs");
20
20
  const types_js_1 = require("../reliability/types.js");
21
+ const extractSequence_js_1 = require("../security/extractSequence.js");
22
+ const PolicyHaltError_js_1 = require("../security/PolicyHaltError.js");
21
23
  const CacheDecisionSubflow_js_1 = require("../cache/CacheDecisionSubflow.js");
22
24
  const CacheGateDecider_js_1 = require("../cache/CacheGateDecider.js");
23
25
  const strategyRegistry_js_1 = require("../cache/strategyRegistry.js");
@@ -29,6 +31,7 @@ const PermissionRecorder_js_1 = require("../recorders/core/PermissionRecorder.js
29
31
  const EvalRecorder_js_1 = require("../recorders/core/EvalRecorder.js");
30
32
  const MemoryRecorder_js_1 = require("../recorders/core/MemoryRecorder.js");
31
33
  const SkillRecorder_js_1 = require("../recorders/core/SkillRecorder.js");
34
+ const ToolsRecorder_js_1 = require("../recorders/core/ToolsRecorder.js");
32
35
  const buildSystemPromptSlot_js_1 = require("./slots/buildSystemPromptSlot.js");
33
36
  const buildMessagesSlot_js_1 = require("./slots/buildMessagesSlot.js");
34
37
  const buildToolsSlot_js_1 = require("./slots/buildToolsSlot.js");
@@ -360,9 +363,20 @@ class Agent extends RunnerBase_js_1.RunnerBase {
360
363
  }
361
364
  catch (cause) {
362
365
  // Wrap recoverable errors with the last-known-good checkpoint.
363
- // Pause-signal exceptions are not recoverable in this sense
364
- // (they're intentional askHuman pauses) let those propagate.
365
- if (cause instanceof Error && cause.name !== 'PauseSignal' && tracker.history.length > 0) {
366
+ // Don't wrap intentional terminal signals let them propagate as
367
+ // their typed shapes so callers can `instanceof` them:
368
+ // • PauseSignal askHuman pause, not a failure
369
+ // • PolicyHaltError — policy-driven termination; resuming would
370
+ // immediately re-trigger the same halt (the synthetic
371
+ // tool_result is already in history)
372
+ // • ReliabilityFailFastError — finalizeResult constructs and
373
+ // throws this AFTER the chart returns cleanly, so it never
374
+ // enters this catch (kept here for documentation only)
375
+ const isTerminalTypedError = cause instanceof Error &&
376
+ (cause.name === 'PauseSignal' ||
377
+ cause instanceof PolicyHaltError_js_1.PolicyHaltError ||
378
+ cause instanceof types_js_1.ReliabilityFailFastError);
379
+ if (cause instanceof Error && !isTerminalTypedError && tracker.history.length > 0) {
366
380
  const checkpoint = (0, runCheckpoint_js_1.buildCheckpoint)(tracker, {
367
381
  iteration: tracker.inFlightIteration ?? tracker.lastCompletedIteration + 1,
368
382
  phase: (0, runCheckpoint_js_1.classifyFailurePhase)(cause),
@@ -473,6 +487,7 @@ class Agent extends RunnerBase_js_1.RunnerBase {
473
487
  executor.attachCombinedRecorder((0, EvalRecorder_js_1.evalRecorder)({ dispatcher, getRunContext: getRunCtx }));
474
488
  executor.attachCombinedRecorder((0, MemoryRecorder_js_1.memoryRecorder)({ dispatcher, getRunContext: getRunCtx }));
475
489
  executor.attachCombinedRecorder((0, SkillRecorder_js_1.skillRecorder)({ dispatcher, getRunContext: getRunCtx }));
490
+ executor.attachCombinedRecorder((0, ToolsRecorder_js_1.toolsRecorder)({ dispatcher, getRunContext: getRunCtx }));
476
491
  for (const r of this.attachedRecorders)
477
492
  executor.attachCombinedRecorder(r);
478
493
  return executor;
@@ -513,6 +528,38 @@ class Agent extends RunnerBase_js_1.RunnerBase {
513
528
  });
514
529
  }
515
530
  }
531
+ // Policy-halt translation (v2.12+) — when a `PermissionChecker` returns
532
+ // `{ result: 'halt', ... }`, the toolCalls handler writes a synthetic
533
+ // tool_result, emits `agentfootprint.permission.halt`, sets
534
+ // scope.policyHalt* fields, and calls $break. The chart stops; we
535
+ // surface the typed error here so callers can `instanceof PolicyHaltError`
536
+ // and branch on `.reason` for alert routing.
537
+ {
538
+ const snap = executor.getSnapshot();
539
+ const state = snap.sharedState;
540
+ if (state.policyHaltReason !== undefined && state.policyHaltTarget !== undefined) {
541
+ const history = state.history ?? [];
542
+ const iteration = state.policyHaltIteration ?? 1;
543
+ // Sequence at halt time — derived from history. Includes the
544
+ // proposed call (which DID land in history as the synthetic
545
+ // tool_result for protocol compliance, but the policy denied
546
+ // execution). Filter it out so callers see only dispatched
547
+ // calls, then append the proposed entry as a hint.
548
+ const sequenceWithoutProposed = (0, extractSequence_js_1.extractSequence)(history.slice(0, -1), iteration);
549
+ throw new PolicyHaltError_js_1.PolicyHaltError({
550
+ reason: state.policyHaltReason,
551
+ ...(state.policyHaltTellLLM !== undefined && { tellLLM: state.policyHaltTellLLM }),
552
+ sequence: [
553
+ ...sequenceWithoutProposed,
554
+ { name: state.policyHaltTarget, args: state.policyHaltArgs, iteration },
555
+ ],
556
+ iteration,
557
+ history,
558
+ proposed: { name: state.policyHaltTarget, args: state.policyHaltArgs ?? {} },
559
+ ...(state.policyHaltCheckerId !== undefined && { checkerId: state.policyHaltCheckerId }),
560
+ });
561
+ }
562
+ }
516
563
  if (result instanceof Error)
517
564
  throw result;
518
565
  if (typeof result === 'string')
@@ -580,9 +627,17 @@ class Agent extends RunnerBase_js_1.RunnerBase {
580
627
  reason: 'Agent.system()',
581
628
  });
582
629
  const messagesSubflow = (0, buildMessagesSlot_js_1.buildMessagesSlot)();
630
+ // Per-run cache shared between buildToolsSlot (writer, each
631
+ // iteration) and buildToolCallsHandler (reader, same iteration).
632
+ // Holds the resolved Tool[] from `provider.list(ctx)` so dispatch
633
+ // doesn't re-invoke `list()` — vital for async network providers.
634
+ // A fresh chart (and thus fresh cache) is built per `agent.run()`,
635
+ // so concurrent runs don't share state.
636
+ const providerToolCache = { current: [] };
583
637
  const toolsSubflow = (0, buildToolsSlot_js_1.buildToolsSlot)({
584
638
  tools: toolSchemas,
585
639
  ...(this.externalToolProvider && { toolProvider: this.externalToolProvider }),
640
+ ...(this.externalToolProvider && { providerToolCache }),
586
641
  });
587
642
  // iterationStart extracted to ./agent/stages/iterationStart.ts (v2.11.2).
588
643
  const iterationStart = iterationStart_js_1.iterationStartStage;
@@ -608,6 +663,7 @@ class Agent extends RunnerBase_js_1.RunnerBase {
608
663
  const toolCallsHandler = (0, toolCalls_js_1.buildToolCallsHandler)({
609
664
  registryByName,
610
665
  ...(this.externalToolProvider && { externalToolProvider: this.externalToolProvider }),
666
+ ...(this.externalToolProvider && { providerToolCache }),
611
667
  ...(permissionChecker && { permissionChecker }),
612
668
  });
613
669
  // 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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"}
@@ -28,13 +28,14 @@
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.buildToolCallsHandler = void 0;
30
30
  const typedEmit_js_1 = require("../../../recorders/core/typedEmit.js");
31
+ const extractSequence_js_1 = require("../../../security/extractSequence.js");
31
32
  const pause_js_1 = require("../../pause.js");
32
33
  const validators_js_1 = require("../validators.js");
33
34
  /**
34
35
  * Build the pausable tool-call handler for the agent's chart.
35
36
  */
36
37
  function buildToolCallsHandler(deps) {
37
- const { registryByName, externalToolProvider, permissionChecker } = deps;
38
+ const { registryByName, externalToolProvider, providerToolCache, permissionChecker } = deps;
38
39
  return {
39
40
  execute: async (scope) => {
40
41
  const toolCalls = scope.llmLatestToolCalls;
@@ -53,29 +54,26 @@ function buildToolCallsHandler(deps) {
53
54
  ...(toolCalls.length > 0 && { toolCalls }),
54
55
  });
55
56
  }
56
- // Resolve a tool by name, consulting the external ToolProvider
57
- // if one was wired via `.toolProvider()` and the static
58
- // registry doesn't carry the tool. The provider sees the same
59
- // ctx the Tools slot used, so dispatch + visibility stay
60
- // consistent within the iteration.
57
+ // Resolve a tool by name. The Tools slot already invoked
58
+ // `provider.list(ctx)` this iteration and cached the resolved
59
+ // Tool[] in the closure-shared providerToolCache read from
60
+ // there to avoid a second discovery call (especially important
61
+ // for async network-backed providers). Same iteration ctx →
62
+ // same result, so the cache is correct.
61
63
  const lookupTool = (toolName) => {
62
64
  const fromRegistry = registryByName.get(toolName);
63
65
  if (fromRegistry)
64
66
  return fromRegistry;
65
67
  if (!externalToolProvider)
66
68
  return undefined;
67
- const activatedIds = scope.activatedInjectionIds ?? [];
68
- const identity = scope.runIdentity;
69
- const ctx = {
70
- iteration: scope.iteration,
71
- ...(activatedIds.length > 0 && {
72
- activeSkillId: activatedIds[activatedIds.length - 1],
73
- }),
74
- ...(identity && { identity }),
75
- };
76
- const visible = externalToolProvider.list(ctx);
77
- return visible.find((t) => t.schema.name === toolName);
69
+ const cached = providerToolCache?.current ?? [];
70
+ return cached.find((t) => t.schema.name === toolName);
78
71
  };
72
+ // Capture run identity from scope for the enriched permission ctx.
73
+ // Same value the Tools slot passes to ToolProvider.list(ctx) so the
74
+ // checker sees consistent identity across both gates.
75
+ const runIdentity = scope.runIdentity;
76
+ const env = scope.$getEnv();
79
77
  for (const tc of toolCalls) {
80
78
  const tool = lookupTool(tc.name);
81
79
  (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.tool_start', {
@@ -89,18 +87,41 @@ function buildToolCallsHandler(deps) {
89
87
  let error;
90
88
  // Permission gate — when a checker is configured, evaluate BEFORE
91
89
  // executing the tool. Emits `permission.check` with the decision.
92
- // On 'deny', the tool is not executed and its result is a
93
- // synthetic denial string; on 'allow'/'gate_open', execution
94
- // proceeds normally (the gate is informational — the consumer's
95
- // checker is responsible for any gate-open side effects).
90
+ //
91
+ // v2.12 three terminal results:
92
+ // 'allow' / 'gate_open' tool executes normally
93
+ // 'deny' → synthetic tool_result lands; LLM continues
94
+ // • 'halt' → synthetic tool_result lands; run terminates
95
+ // via scope.$break + Agent.run throws
96
+ // PolicyHaltError at the API boundary
97
+ //
98
+ // Strict ordering on halt: synthetic tool_result → halt event →
99
+ // commit (newHistory written to scope) → $break. This guarantees
100
+ // the audit trail is complete before the run terminates, so
101
+ // `agent.resumeOnError(checkpoint)` sees consistent state.
102
+ //
103
+ // The checker receives the in-flight sequence (derived from
104
+ // scope.history), full conversation history, current iteration,
105
+ // identity, and abort signal — enough surface to build sequence-
106
+ // aware policies (forbidden chains, idempotency limits, cost
107
+ // guards) without maintaining parallel state.
96
108
  let denied = false;
109
+ let haltContext;
97
110
  if (permissionChecker) {
98
111
  try {
112
+ // Sequence is derived from history at check time (not parallel
113
+ // state) — single source of truth, survives resumeOnError.
114
+ const sequence = (0, extractSequence_js_1.extractSequence)(newHistory, iteration);
99
115
  const decision = await permissionChecker.check({
100
116
  capability: 'tool_call',
101
117
  actor: 'agent',
102
118
  target: tc.name,
103
119
  context: tc.args,
120
+ sequence,
121
+ history: newHistory,
122
+ iteration,
123
+ ...(runIdentity && { identity: runIdentity }),
124
+ ...(env.signal && { signal: env.signal }),
104
125
  });
105
126
  (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.permission.check', {
106
127
  capability: 'tool_call',
@@ -109,10 +130,29 @@ function buildToolCallsHandler(deps) {
109
130
  result: decision.result,
110
131
  ...(decision.policyRuleId !== undefined && { policyRuleId: decision.policyRuleId }),
111
132
  ...(decision.rationale !== undefined && { rationale: decision.rationale }),
133
+ ...(decision.reason !== undefined && { reason: decision.reason }),
112
134
  });
113
135
  if (decision.result === 'deny') {
114
136
  denied = true;
115
- result = `[permission denied: ${decision.rationale ?? 'policy'}]`;
137
+ // Deny default keeps the existing v2.4 shape (carries
138
+ // rationale text — historically intentional, since deny
139
+ // lets the LLM recover and rationale is consumer-supplied).
140
+ const tellLLM = decision.tellLLM ?? `[permission denied: ${decision.rationale ?? 'policy'}]`;
141
+ result = tellLLM;
142
+ }
143
+ else if (decision.result === 'halt') {
144
+ denied = true;
145
+ // Halt default is DELIBERATELY GENERIC — never falls back
146
+ // to `reason` (which is telemetry, e.g. 'security:exfiltration'
147
+ // — leaking that to the LLM teaches it the rule space).
148
+ // Consumers who want a richer message provide `tellLLM` explicitly.
149
+ const tellLLM = decision.tellLLM ?? `Tool '${tc.name}' is not available in this context.`;
150
+ result = tellLLM;
151
+ haltContext = {
152
+ reason: decision.reason ?? decision.rationale ?? 'policy-halt',
153
+ tellLLM,
154
+ ...(permissionChecker.name && { checkerId: permissionChecker.name }),
155
+ };
116
156
  }
117
157
  }
118
158
  catch (permErr) {
@@ -195,6 +235,35 @@ function buildToolCallsHandler(deps) {
195
235
  }
196
236
  }
197
237
  }
238
+ // v2.12 — strict halt ordering (continued).
239
+ //
240
+ // The synthetic tool_result for the halt-triggering call has
241
+ // ALREADY been pushed to newHistory above. Now: emit the halt
242
+ // event, commit history to scope, set the scope flags Agent.run
243
+ // reads at the API boundary, and break the loop. This SKIPS any
244
+ // remaining parallel-call siblings (intentional — once a halt
245
+ // fires, no further tool dispatches should occur this turn).
246
+ if (haltContext) {
247
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.permission.halt', {
248
+ target: tc.name,
249
+ reason: haltContext.reason,
250
+ tellLLM: haltContext.tellLLM,
251
+ iteration,
252
+ sequenceLength: (0, extractSequence_js_1.extractSequence)(newHistory, iteration).length,
253
+ ...(haltContext.checkerId !== undefined && { checkerId: haltContext.checkerId }),
254
+ });
255
+ scope.history = newHistory;
256
+ scope.policyHaltReason = haltContext.reason;
257
+ scope.policyHaltTellLLM = haltContext.tellLLM;
258
+ scope.policyHaltTarget = tc.name;
259
+ scope.policyHaltArgs = tc.args;
260
+ scope.policyHaltIteration = iteration;
261
+ if (haltContext.checkerId !== undefined) {
262
+ scope.policyHaltCheckerId = haltContext.checkerId;
263
+ }
264
+ scope.$break(`policy-halt: ${haltContext.reason}`);
265
+ return undefined;
266
+ }
198
267
  }
199
268
  scope.history = newHistory;
200
269
  (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.iteration_end', {
@@ -1 +1 @@
1
- {"version":3,"file":"toolCalls.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/toolCalls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolCalls.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/toolCalls.ts"],"names":[],"mappings":"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"}