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.
- package/README.md +57 -79
- package/dist/core/Agent.js +59 -3
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +91 -22
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/slots/buildToolsSlot.js +101 -33
- package/dist/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/esm/core/Agent.js +59 -3
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.js +91 -22
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/slots/buildToolsSlot.js +101 -33
- package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/esm/events/registry.js +8 -0
- package/dist/esm/events/registry.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/recorders/core/ToolsRecorder.js +23 -0
- package/dist/esm/recorders/core/ToolsRecorder.js.map +1 -0
- package/dist/esm/security/PolicyHaltError.js +61 -0
- package/dist/esm/security/PolicyHaltError.js.map +1 -0
- package/dist/esm/security/extractSequence.js +101 -0
- package/dist/esm/security/extractSequence.js.map +1 -0
- package/dist/esm/security/index.js +2 -0
- package/dist/esm/security/index.js.map +1 -1
- package/dist/esm/tool-providers/gatedTools.js +8 -3
- package/dist/esm/tool-providers/gatedTools.js.map +1 -1
- package/dist/events/registry.js +8 -0
- package/dist/events/registry.js.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/recorders/core/ToolsRecorder.js +27 -0
- package/dist/recorders/core/ToolsRecorder.js.map +1 -0
- package/dist/security/PolicyHaltError.js +65 -0
- package/dist/security/PolicyHaltError.js.map +1 -0
- package/dist/security/extractSequence.js +105 -0
- package/dist/security/extractSequence.js.map +1 -0
- package/dist/security/index.js +6 -1
- package/dist/security/index.js.map +1 -1
- package/dist/tool-providers/gatedTools.js +8 -3
- package/dist/tool-providers/gatedTools.js.map +1 -1
- package/dist/types/adapters/types.d.ts +89 -2
- package/dist/types/adapters/types.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +8 -0
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +17 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/slots/buildToolsSlot.d.ts +24 -4
- package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +62 -1
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/events/registry.d.ts +9 -1
- package/dist/types/events/registry.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/recorders/core/ToolsRecorder.d.ts +19 -0
- package/dist/types/recorders/core/ToolsRecorder.d.ts.map +1 -0
- package/dist/types/security/PolicyHaltError.d.ts +73 -0
- package/dist/types/security/PolicyHaltError.d.ts.map +1 -0
- package/dist/types/security/extractSequence.d.ts +47 -0
- package/dist/types/security/extractSequence.d.ts.map +1 -0
- package/dist/types/security/index.d.ts +5 -1
- package/dist/types/security/index.d.ts.map +1 -1
- package/dist/types/tool-providers/gatedTools.d.ts.map +1 -1
- package/dist/types/tool-providers/types.d.ts +43 -7
- package/dist/types/tool-providers/types.d.ts.map +1 -1
- 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
|
-
###
|
|
55
|
+
### The 4 triggers
|
|
56
56
|
|
|
57
|
-
|
|
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
|
-
|
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
|
|
|
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
|
-
>
|
|
75
|
-
>
|
|
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.**
|
|
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
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
-
|
|
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
|
-
>
|
|
110
|
-
>
|
|
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
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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
|
-
|
|
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
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
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
|
|
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`
|
|
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
|
-
-
|
|
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
|
-
**
|
|
419
|
-
|
|
420
|
-
|
|
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`, `
|
|
427
|
-
-
|
|
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 |
|
package/dist/core/Agent.js
CHANGED
|
@@ -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
|
-
//
|
|
364
|
-
//
|
|
365
|
-
|
|
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).
|
package/dist/core/Agent.js.map
CHANGED
|
@@ -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
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
//
|
|
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
|
|
68
|
-
|
|
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
|
-
//
|
|
93
|
-
//
|
|
94
|
-
//
|
|
95
|
-
//
|
|
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
|
-
|
|
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":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;;AAKH,uEAAiE;
|
|
1
|
+
{"version":3,"file":"toolCalls.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/toolCalls.ts"],"names":[],"mappings":"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"}
|