agentfootprint 7.16.0 → 7.18.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/AGENTS.md +1 -1
- package/CLAUDE.md +2 -2
- package/ai-instructions/claude-code/SKILL.md +1 -1
- package/dist/conventions.js +8 -6
- package/dist/conventions.js.map +1 -1
- package/dist/core/Agent.js +81 -27
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/RunnerBase.js +16 -1
- package/dist/core/RunnerBase.js.map +1 -1
- package/dist/core/agent/AgentBuilder.js +209 -43
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +8 -8
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +6 -6
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/middleware/errors.js +54 -0
- package/dist/core/agent/middleware/errors.js.map +1 -0
- package/dist/core/agent/middleware/index.js +23 -0
- package/dist/core/agent/middleware/index.js.map +1 -0
- package/dist/core/agent/middleware/ledger.js +61 -0
- package/dist/core/agent/middleware/ledger.js.map +1 -0
- package/dist/core/agent/middleware/outcomes.js +66 -0
- package/dist/core/agent/middleware/outcomes.js.map +1 -0
- package/dist/core/agent/middleware/runChain.js +144 -0
- package/dist/core/agent/middleware/runChain.js.map +1 -0
- package/dist/core/agent/middleware/types.js +41 -0
- package/dist/core/agent/middleware/types.js.map +1 -0
- package/dist/core/agent/stages/prepareFinal.js +10 -0
- package/dist/core/agent/stages/prepareFinal.js.map +1 -1
- package/dist/core/agent/stages/route.js +62 -1
- package/dist/core/agent/stages/route.js.map +1 -1
- package/dist/core/agent/stages/seed.js +130 -85
- package/dist/core/agent/stages/seed.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +195 -8
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/agent/stages/window.js +141 -0
- package/dist/core/agent/stages/window.js.map +1 -0
- package/dist/core/agent/window/errors.js.map +1 -0
- package/dist/core/agent/window/index.js +36 -0
- package/dist/core/agent/window/index.js.map +1 -0
- package/dist/core/agent/window/notice.js +57 -0
- package/dist/core/agent/window/notice.js.map +1 -0
- package/dist/core/agent/window/options.js +93 -0
- package/dist/core/agent/window/options.js.map +1 -0
- package/dist/core/agent/window/removal.js +45 -0
- package/dist/core/agent/window/removal.js.map +1 -0
- package/dist/core/agent/window/strategies/drop.js +106 -0
- package/dist/core/agent/window/strategies/drop.js.map +1 -0
- package/dist/core/agent/window/strategies/slidingWindow.js +87 -0
- package/dist/core/agent/window/strategies/slidingWindow.js.map +1 -0
- package/dist/core/agent/window/strategies/summarizeOldest.js +178 -0
- package/dist/core/agent/window/strategies/summarizeOldest.js.map +1 -0
- package/dist/core/agent/window/strategies/tokenBudget.js +95 -0
- package/dist/core/agent/window/strategies/tokenBudget.js.map +1 -0
- package/dist/core/agent/window/strategy.js +42 -0
- package/dist/core/agent/window/strategy.js.map +1 -0
- package/dist/core/agent/window/summarize.js.map +1 -0
- package/dist/core/agent/{compaction → window}/turns.js +50 -28
- package/dist/core/agent/window/turns.js.map +1 -0
- package/dist/core/agent/window/types.js +23 -0
- package/dist/core/agent/window/types.js.map +1 -0
- package/dist/core/pause.js +19 -1
- package/dist/core/pause.js.map +1 -1
- package/dist/esm/conventions.d.ts +8 -6
- package/dist/esm/conventions.js +8 -6
- package/dist/esm/conventions.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +14 -6
- package/dist/esm/core/Agent.js +82 -28
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/RunnerBase.js +16 -1
- package/dist/esm/core/RunnerBase.js.map +1 -1
- package/dist/esm/core/agent/AgentBuilder.d.ts +157 -4
- package/dist/esm/core/agent/AgentBuilder.js +209 -43
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.d.ts +16 -9
- package/dist/esm/core/agent/buildAgentChart.js +8 -8
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +6 -6
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/middleware/errors.d.ts +51 -0
- package/dist/esm/core/agent/middleware/errors.js +50 -0
- package/dist/esm/core/agent/middleware/errors.js.map +1 -0
- package/dist/esm/core/agent/middleware/index.d.ts +16 -0
- package/dist/esm/core/agent/middleware/index.js +16 -0
- package/dist/esm/core/agent/middleware/index.js.map +1 -0
- package/dist/esm/core/agent/middleware/ledger.d.ts +40 -0
- package/dist/esm/core/agent/middleware/ledger.js +57 -0
- package/dist/esm/core/agent/middleware/ledger.js.map +1 -0
- package/dist/esm/core/agent/middleware/outcomes.d.ts +45 -0
- package/dist/esm/core/agent/middleware/outcomes.js +60 -0
- package/dist/esm/core/agent/middleware/outcomes.js.map +1 -0
- package/dist/esm/core/agent/middleware/runChain.d.ts +104 -0
- package/dist/esm/core/agent/middleware/runChain.js +139 -0
- package/dist/esm/core/agent/middleware/runChain.js.map +1 -0
- package/dist/esm/core/agent/middleware/types.d.ts +191 -0
- package/dist/esm/core/agent/middleware/types.js +40 -0
- package/dist/esm/core/agent/middleware/types.js.map +1 -0
- package/dist/esm/core/agent/stages/prepareFinal.d.ts +10 -0
- package/dist/esm/core/agent/stages/prepareFinal.js +10 -0
- package/dist/esm/core/agent/stages/prepareFinal.js.map +1 -1
- package/dist/esm/core/agent/stages/route.d.ts +29 -0
- package/dist/esm/core/agent/stages/route.js +60 -0
- package/dist/esm/core/agent/stages/route.js.map +1 -1
- package/dist/esm/core/agent/stages/seed.d.ts +16 -1
- package/dist/esm/core/agent/stages/seed.js +130 -85
- package/dist/esm/core/agent/stages/seed.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.d.ts +23 -0
- package/dist/esm/core/agent/stages/toolCalls.js +195 -8
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/stages/window.d.ts +63 -0
- package/dist/esm/core/agent/stages/window.js +137 -0
- package/dist/esm/core/agent/stages/window.js.map +1 -0
- package/dist/esm/core/agent/types.d.ts +33 -8
- package/dist/esm/core/agent/window/errors.js.map +1 -0
- package/dist/esm/core/agent/window/index.d.ts +27 -0
- package/dist/esm/core/agent/window/index.js +25 -0
- package/dist/esm/core/agent/window/index.js.map +1 -0
- package/dist/esm/core/agent/window/notice.d.ts +46 -0
- package/dist/esm/core/agent/window/notice.js +52 -0
- package/dist/esm/core/agent/window/notice.js.map +1 -0
- package/dist/esm/core/agent/window/options.d.ts +33 -0
- package/dist/esm/core/agent/window/options.js +87 -0
- package/dist/esm/core/agent/window/options.js.map +1 -0
- package/dist/esm/core/agent/window/removal.d.ts +22 -0
- package/dist/esm/core/agent/window/removal.js +40 -0
- package/dist/esm/core/agent/window/removal.js.map +1 -0
- package/dist/esm/core/agent/window/strategies/drop.d.ts +54 -0
- package/dist/esm/core/agent/window/strategies/drop.js +102 -0
- package/dist/esm/core/agent/window/strategies/drop.js.map +1 -0
- package/dist/esm/core/agent/window/strategies/slidingWindow.d.ts +48 -0
- package/dist/esm/core/agent/window/strategies/slidingWindow.js +83 -0
- package/dist/esm/core/agent/window/strategies/slidingWindow.js.map +1 -0
- package/dist/esm/core/agent/window/strategies/summarizeOldest.d.ts +42 -0
- package/dist/esm/core/agent/window/strategies/summarizeOldest.js +174 -0
- package/dist/esm/core/agent/window/strategies/summarizeOldest.js.map +1 -0
- package/dist/esm/core/agent/window/strategies/tokenBudget.d.ts +47 -0
- package/dist/esm/core/agent/window/strategies/tokenBudget.js +91 -0
- package/dist/esm/core/agent/window/strategies/tokenBudget.js.map +1 -0
- package/dist/esm/core/agent/window/strategy.d.ts +181 -0
- package/dist/esm/core/agent/window/strategy.js +41 -0
- package/dist/esm/core/agent/window/strategy.js.map +1 -0
- package/dist/esm/core/agent/window/summarize.js.map +1 -0
- package/dist/esm/core/agent/window/turns.d.ts +108 -0
- package/dist/esm/core/agent/{compaction → window}/turns.js +48 -26
- package/dist/esm/core/agent/window/turns.js.map +1 -0
- package/dist/esm/core/agent/window/types.d.ts +263 -0
- package/dist/esm/core/agent/window/types.js +22 -0
- package/dist/esm/core/agent/window/types.js.map +1 -0
- package/dist/esm/core/pause.d.ts +42 -0
- package/dist/esm/core/pause.js +17 -0
- package/dist/esm/core/pause.js.map +1 -1
- package/dist/esm/events/dispatcher.d.ts +1 -1
- package/dist/esm/events/dispatcher.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +26 -0
- package/dist/esm/events/registry.d.ts +5 -1
- package/dist/esm/events/registry.js +4 -0
- package/dist/esm/events/registry.js.map +1 -1
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +23 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/mcp/mcpServe.js +39 -6
- package/dist/esm/lib/mcp/mcpServe.js.map +1 -1
- package/dist/esm/lib/mcp/types.d.ts +16 -0
- package/dist/esm/recorders/core/CompactionMeter.d.ts +25 -19
- package/dist/esm/recorders/core/CompactionMeter.js +27 -19
- package/dist/esm/recorders/core/CompactionMeter.js.map +1 -1
- package/dist/events/dispatcher.js.map +1 -1
- package/dist/events/registry.js +4 -0
- package/dist/events/registry.js.map +1 -1
- package/dist/index.js +40 -13
- package/dist/index.js.map +1 -1
- package/dist/lib/mcp/mcpServe.js +39 -6
- package/dist/lib/mcp/mcpServe.js.map +1 -1
- package/dist/recorders/core/CompactionMeter.js +27 -19
- package/dist/recorders/core/CompactionMeter.js.map +1 -1
- package/dist/types/conventions.d.ts +8 -6
- package/dist/types/conventions.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts +14 -6
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/RunnerBase.d.ts.map +1 -1
- package/dist/types/core/agent/AgentBuilder.d.ts +157 -4
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts +16 -9
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/middleware/errors.d.ts +52 -0
- package/dist/types/core/agent/middleware/errors.d.ts.map +1 -0
- package/dist/types/core/agent/middleware/index.d.ts +17 -0
- package/dist/types/core/agent/middleware/index.d.ts.map +1 -0
- package/dist/types/core/agent/middleware/ledger.d.ts +41 -0
- package/dist/types/core/agent/middleware/ledger.d.ts.map +1 -0
- package/dist/types/core/agent/middleware/outcomes.d.ts +46 -0
- package/dist/types/core/agent/middleware/outcomes.d.ts.map +1 -0
- package/dist/types/core/agent/middleware/runChain.d.ts +105 -0
- package/dist/types/core/agent/middleware/runChain.d.ts.map +1 -0
- package/dist/types/core/agent/middleware/types.d.ts +192 -0
- package/dist/types/core/agent/middleware/types.d.ts.map +1 -0
- package/dist/types/core/agent/stages/prepareFinal.d.ts +10 -0
- package/dist/types/core/agent/stages/prepareFinal.d.ts.map +1 -1
- package/dist/types/core/agent/stages/route.d.ts +29 -0
- package/dist/types/core/agent/stages/route.d.ts.map +1 -1
- package/dist/types/core/agent/stages/seed.d.ts +16 -1
- package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +23 -0
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/stages/window.d.ts +64 -0
- package/dist/types/core/agent/stages/window.d.ts.map +1 -0
- package/dist/types/core/agent/types.d.ts +33 -8
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/agent/window/errors.d.ts.map +1 -0
- package/dist/types/core/agent/window/index.d.ts +28 -0
- package/dist/types/core/agent/window/index.d.ts.map +1 -0
- package/dist/types/core/agent/window/notice.d.ts +47 -0
- package/dist/types/core/agent/window/notice.d.ts.map +1 -0
- package/dist/types/core/agent/window/options.d.ts +34 -0
- package/dist/types/core/agent/window/options.d.ts.map +1 -0
- package/dist/types/core/agent/window/removal.d.ts +23 -0
- package/dist/types/core/agent/window/removal.d.ts.map +1 -0
- package/dist/types/core/agent/window/strategies/drop.d.ts +55 -0
- package/dist/types/core/agent/window/strategies/drop.d.ts.map +1 -0
- package/dist/types/core/agent/window/strategies/slidingWindow.d.ts +49 -0
- package/dist/types/core/agent/window/strategies/slidingWindow.d.ts.map +1 -0
- package/dist/types/core/agent/window/strategies/summarizeOldest.d.ts +43 -0
- package/dist/types/core/agent/window/strategies/summarizeOldest.d.ts.map +1 -0
- package/dist/types/core/agent/window/strategies/tokenBudget.d.ts +48 -0
- package/dist/types/core/agent/window/strategies/tokenBudget.d.ts.map +1 -0
- package/dist/types/core/agent/window/strategy.d.ts +182 -0
- package/dist/types/core/agent/window/strategy.d.ts.map +1 -0
- package/dist/types/core/agent/window/summarize.d.ts.map +1 -0
- package/dist/types/core/agent/window/turns.d.ts +109 -0
- package/dist/types/core/agent/window/turns.d.ts.map +1 -0
- package/dist/types/core/agent/window/types.d.ts +264 -0
- package/dist/types/core/agent/window/types.d.ts.map +1 -0
- package/dist/types/core/pause.d.ts +42 -0
- package/dist/types/core/pause.d.ts.map +1 -1
- package/dist/types/events/dispatcher.d.ts +1 -1
- package/dist/types/events/dispatcher.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +26 -0
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/events/registry.d.ts +5 -1
- package/dist/types/events/registry.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/mcp/mcpServe.d.ts.map +1 -1
- package/dist/types/lib/mcp/types.d.ts +16 -0
- package/dist/types/lib/mcp/types.d.ts.map +1 -1
- package/dist/types/recorders/core/CompactionMeter.d.ts +25 -19
- package/dist/types/recorders/core/CompactionMeter.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/core/agent/compaction/errors.js.map +0 -1
- package/dist/core/agent/compaction/index.js +0 -24
- package/dist/core/agent/compaction/index.js.map +0 -1
- package/dist/core/agent/compaction/strategy.js +0 -152
- package/dist/core/agent/compaction/strategy.js.map +0 -1
- package/dist/core/agent/compaction/summarize.js.map +0 -1
- package/dist/core/agent/compaction/turns.js.map +0 -1
- package/dist/core/agent/compaction/types.js +0 -21
- package/dist/core/agent/compaction/types.js.map +0 -1
- package/dist/core/agent/stages/compact.js +0 -130
- package/dist/core/agent/stages/compact.js.map +0 -1
- package/dist/esm/core/agent/compaction/errors.js.map +0 -1
- package/dist/esm/core/agent/compaction/index.d.ts +0 -18
- package/dist/esm/core/agent/compaction/index.js +0 -18
- package/dist/esm/core/agent/compaction/index.js.map +0 -1
- package/dist/esm/core/agent/compaction/strategy.d.ts +0 -103
- package/dist/esm/core/agent/compaction/strategy.js +0 -148
- package/dist/esm/core/agent/compaction/strategy.js.map +0 -1
- package/dist/esm/core/agent/compaction/summarize.js.map +0 -1
- package/dist/esm/core/agent/compaction/turns.d.ts +0 -85
- package/dist/esm/core/agent/compaction/turns.js.map +0 -1
- package/dist/esm/core/agent/compaction/types.d.ts +0 -148
- package/dist/esm/core/agent/compaction/types.js +0 -20
- package/dist/esm/core/agent/compaction/types.js.map +0 -1
- package/dist/esm/core/agent/stages/compact.d.ts +0 -59
- package/dist/esm/core/agent/stages/compact.js +0 -126
- package/dist/esm/core/agent/stages/compact.js.map +0 -1
- package/dist/types/core/agent/compaction/errors.d.ts.map +0 -1
- package/dist/types/core/agent/compaction/index.d.ts +0 -19
- package/dist/types/core/agent/compaction/index.d.ts.map +0 -1
- package/dist/types/core/agent/compaction/strategy.d.ts +0 -104
- package/dist/types/core/agent/compaction/strategy.d.ts.map +0 -1
- package/dist/types/core/agent/compaction/summarize.d.ts.map +0 -1
- package/dist/types/core/agent/compaction/turns.d.ts +0 -86
- package/dist/types/core/agent/compaction/turns.d.ts.map +0 -1
- package/dist/types/core/agent/compaction/types.d.ts +0 -149
- package/dist/types/core/agent/compaction/types.d.ts.map +0 -1
- package/dist/types/core/agent/stages/compact.d.ts +0 -60
- package/dist/types/core/agent/stages/compact.d.ts.map +0 -1
- /package/dist/core/agent/{compaction → window}/errors.js +0 -0
- /package/dist/core/agent/{compaction → window}/summarize.js +0 -0
- /package/dist/esm/core/agent/{compaction → window}/errors.d.ts +0 -0
- /package/dist/esm/core/agent/{compaction → window}/errors.js +0 -0
- /package/dist/esm/core/agent/{compaction → window}/summarize.d.ts +0 -0
- /package/dist/esm/core/agent/{compaction → window}/summarize.js +0 -0
- /package/dist/types/core/agent/{compaction → window}/errors.d.ts +0 -0
- /package/dist/types/core/agent/{compaction → window}/summarize.d.ts +0 -0
|
@@ -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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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* window — the loop-head stage that applies the agent's window strategy.
|
|
3
|
+
*
|
|
4
|
+
* Runs once per ReAct iteration boundary, as the loop target, so everything
|
|
5
|
+
* downstream in the turn — the injection engine's triggers, all three context
|
|
6
|
+
* slots, and the wire itself — sees ONE window. No component gets a different
|
|
7
|
+
* past than the model does.
|
|
8
|
+
*
|
|
9
|
+
* The law: **it edits the window, never the ledger.** The turns a strategy
|
|
10
|
+
* removes were committed by `seed#0` / `tool-calls#N` before this stage ran
|
|
11
|
+
* and stay in those bundles byte-identical; footprintjs's commit log is
|
|
12
|
+
* append-only, so a removal cannot erase history even in principle. What it
|
|
13
|
+
* can do is stop re-sending it — and say so, in its own commit, naming every
|
|
14
|
+
* runtimeStageId whose messages left. A compacted (or trimmed) run is still a
|
|
15
|
+
* provable run.
|
|
16
|
+
*
|
|
17
|
+
* This file is deliberately all WIRING. The decision — what the window should
|
|
18
|
+
* become — lives behind `WindowStrategy` (window/strategy.ts, public since
|
|
19
|
+
* 7.17), so the duty to record, emit and cost what happened stays in exactly
|
|
20
|
+
* one place instead of being re-implemented per strategy. The TRIGGER lives
|
|
21
|
+
* in the strategy too: `plan()` is called at every boundary and answers
|
|
22
|
+
* `undefined` when it did not engage, which is what lets `slidingWindow`
|
|
23
|
+
* trigger on turn count while the token-triggered strategies refuse by name
|
|
24
|
+
* on a provider that reports no usage.
|
|
25
|
+
*
|
|
26
|
+
* Emits (existing vocabulary only — no new event types):
|
|
27
|
+
* agentfootprint.context.evicted — one per message leaving the window
|
|
28
|
+
* agentfootprint.context.budget_pressure — one per visit that HAS a budget
|
|
29
|
+
* (omitted by strategies that do
|
|
30
|
+
* not, rather than reporting a cap
|
|
31
|
+
* nobody configured)
|
|
32
|
+
* agentfootprint.cost.tick — when a pricingTable is set: a
|
|
33
|
+
* summarizer call is a real billed
|
|
34
|
+
* call and counts
|
|
35
|
+
*
|
|
36
|
+
* A summarizer call is deliberately NOT bracketed with `stream.llm_start` /
|
|
37
|
+
* `llm_end`: those carry an `iteration` and every consumer pairs them by it,
|
|
38
|
+
* so a second bracket inside one iteration would corrupt the pairing. Its
|
|
39
|
+
* cost rides the cost channel and its tokens are recorded in the commit.
|
|
40
|
+
*/
|
|
41
|
+
import type { TypedScope } from 'footprintjs';
|
|
42
|
+
import type { PricingTable } from '../../../adapters/types.js';
|
|
43
|
+
import type { CompactionMeterHandle } from '../../../recorders/core/CompactionMeter.js';
|
|
44
|
+
import type { WindowStrategy } from '../window/strategy.js';
|
|
45
|
+
import type { AgentState } from '../types.js';
|
|
46
|
+
export interface WindowStageDeps {
|
|
47
|
+
/** The agent's one window strategy. */
|
|
48
|
+
readonly strategy: WindowStrategy;
|
|
49
|
+
/** The meter this stage reads. Attached inline by `Agent.createExecutor`. */
|
|
50
|
+
readonly meter: CompactionMeterHandle;
|
|
51
|
+
/** The agent's own model — a billing strategy's default. */
|
|
52
|
+
readonly agentModel: string;
|
|
53
|
+
/** The MAIN provider's name, for a refusal that names it. */
|
|
54
|
+
readonly providerName: string;
|
|
55
|
+
/** Optional pricing adapter, so a summarizer call is costed like any other. */
|
|
56
|
+
readonly pricingTable?: PricingTable;
|
|
57
|
+
/** Optional cumulative USD cap per run. */
|
|
58
|
+
readonly costBudget?: number;
|
|
59
|
+
/** Injectable clock (tests pin survivalMs). */
|
|
60
|
+
readonly now?: () => number;
|
|
61
|
+
}
|
|
62
|
+
/** Build the window stage. */
|
|
63
|
+
export declare function buildWindowStage(deps: WindowStageDeps): (scope: TypedScope<AgentState>) => Promise<void>;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* window — the loop-head stage that applies the agent's window strategy.
|
|
3
|
+
*
|
|
4
|
+
* Runs once per ReAct iteration boundary, as the loop target, so everything
|
|
5
|
+
* downstream in the turn — the injection engine's triggers, all three context
|
|
6
|
+
* slots, and the wire itself — sees ONE window. No component gets a different
|
|
7
|
+
* past than the model does.
|
|
8
|
+
*
|
|
9
|
+
* The law: **it edits the window, never the ledger.** The turns a strategy
|
|
10
|
+
* removes were committed by `seed#0` / `tool-calls#N` before this stage ran
|
|
11
|
+
* and stay in those bundles byte-identical; footprintjs's commit log is
|
|
12
|
+
* append-only, so a removal cannot erase history even in principle. What it
|
|
13
|
+
* can do is stop re-sending it — and say so, in its own commit, naming every
|
|
14
|
+
* runtimeStageId whose messages left. A compacted (or trimmed) run is still a
|
|
15
|
+
* provable run.
|
|
16
|
+
*
|
|
17
|
+
* This file is deliberately all WIRING. The decision — what the window should
|
|
18
|
+
* become — lives behind `WindowStrategy` (window/strategy.ts, public since
|
|
19
|
+
* 7.17), so the duty to record, emit and cost what happened stays in exactly
|
|
20
|
+
* one place instead of being re-implemented per strategy. The TRIGGER lives
|
|
21
|
+
* in the strategy too: `plan()` is called at every boundary and answers
|
|
22
|
+
* `undefined` when it did not engage, which is what lets `slidingWindow`
|
|
23
|
+
* trigger on turn count while the token-triggered strategies refuse by name
|
|
24
|
+
* on a provider that reports no usage.
|
|
25
|
+
*
|
|
26
|
+
* Emits (existing vocabulary only — no new event types):
|
|
27
|
+
* agentfootprint.context.evicted — one per message leaving the window
|
|
28
|
+
* agentfootprint.context.budget_pressure — one per visit that HAS a budget
|
|
29
|
+
* (omitted by strategies that do
|
|
30
|
+
* not, rather than reporting a cap
|
|
31
|
+
* nobody configured)
|
|
32
|
+
* agentfootprint.cost.tick — when a pricingTable is set: a
|
|
33
|
+
* summarizer call is a real billed
|
|
34
|
+
* call and counts
|
|
35
|
+
*
|
|
36
|
+
* A summarizer call is deliberately NOT bracketed with `stream.llm_start` /
|
|
37
|
+
* `llm_end`: those carry an `iteration` and every consumer pairs them by it,
|
|
38
|
+
* so a second bracket inside one iteration would corrupt the pairing. Its
|
|
39
|
+
* cost rides the cost channel and its tokens are recorded in the commit.
|
|
40
|
+
*/
|
|
41
|
+
import { typedEmit } from '../../../recorders/core/typedEmit.js';
|
|
42
|
+
import { fnv1a } from '../../slots/helpers.js';
|
|
43
|
+
import { emitCostTick } from '../../cost.js';
|
|
44
|
+
import { removalFacts } from '../window/removal.js';
|
|
45
|
+
import { answeredCallIds, planRemoval, segmentTurns } from '../window/turns.js';
|
|
46
|
+
/** Build the window stage. */
|
|
47
|
+
export function buildWindowStage(deps) {
|
|
48
|
+
const { strategy, meter } = deps;
|
|
49
|
+
const now = deps.now ?? (() => Date.now());
|
|
50
|
+
// Dedup latch for a strategy's warning: a summarizer that is down is down
|
|
51
|
+
// for the whole run, and one warning is a warning while ten is noise.
|
|
52
|
+
let warned = false;
|
|
53
|
+
return async (scope) => {
|
|
54
|
+
// Read the window every iteration. The strategy owns its own trigger, so
|
|
55
|
+
// the stage cannot know whether this iteration matters until it asks —
|
|
56
|
+
// which means the reads channel now records a read of `history` on
|
|
57
|
+
// iterations that change nothing. That read genuinely happens; the
|
|
58
|
+
// request bytes are untouched.
|
|
59
|
+
const history = (scope.history ?? []).slice();
|
|
60
|
+
const turns = segmentTurns(history);
|
|
61
|
+
const metered = meter.lastCall();
|
|
62
|
+
const origins = meter.origins();
|
|
63
|
+
const pausedToolCallId = scope.pausedToolCallId;
|
|
64
|
+
const guards = {
|
|
65
|
+
answeredCallIds: answeredCallIds(history),
|
|
66
|
+
...(pausedToolCallId !== undefined && { pausedToolCallId }),
|
|
67
|
+
...(scope.pausedCheckIn === true && { pausedCheckIn: true }),
|
|
68
|
+
};
|
|
69
|
+
const result = await strategy.plan({
|
|
70
|
+
history,
|
|
71
|
+
turns,
|
|
72
|
+
measured: metered === undefined ? undefined : { input: metered.input, output: metered.output },
|
|
73
|
+
iteration: scope.iteration ?? 1,
|
|
74
|
+
agentModel: deps.agentModel,
|
|
75
|
+
providerName: deps.providerName,
|
|
76
|
+
signal: scope.$getEnv?.()?.signal,
|
|
77
|
+
now,
|
|
78
|
+
// The refusal engine, bound. A strategy cannot skip it: it never
|
|
79
|
+
// receives the guards, only the answer.
|
|
80
|
+
planRemoval: (keepRecentTurns, isExistingSummary) => planRemoval(turns, keepRecentTurns, guards, isExistingSummary),
|
|
81
|
+
removalFacts: (indices, atMs) => removalFacts(origins, indices, atMs),
|
|
82
|
+
});
|
|
83
|
+
// `undefined` = this strategy did not engage this iteration. Nothing to
|
|
84
|
+
// apply, nothing to record — the ledger tracks what a strategy DID.
|
|
85
|
+
if (result === undefined)
|
|
86
|
+
return;
|
|
87
|
+
// ── Apply. The stage owns every side effect. ─────────────────────
|
|
88
|
+
if (result.window !== undefined && result.rebase !== undefined) {
|
|
89
|
+
// Tell the meter before writing: the shape change is the one thing it
|
|
90
|
+
// cannot infer (the set trap JSON-round-trips every write).
|
|
91
|
+
meter.rebaseForWindowChange(result.rebase.headCount, result.rebase.keptTailCount, result.rebase.insertedAtMs);
|
|
92
|
+
scope.history = result.window;
|
|
93
|
+
}
|
|
94
|
+
const prior = scope.compactions ?? [];
|
|
95
|
+
scope.compactions = [...prior, result.record];
|
|
96
|
+
// One eviction per message that left, in the slot vocabulary consumers
|
|
97
|
+
// already subscribe to. The hash uses the SAME formula the messages slot
|
|
98
|
+
// used to report the piece as injected, so evicted and injected refer to
|
|
99
|
+
// the same piece by the same name.
|
|
100
|
+
for (const eviction of result.evictions) {
|
|
101
|
+
const msg = history[eviction.index];
|
|
102
|
+
if (msg === undefined)
|
|
103
|
+
continue;
|
|
104
|
+
typedEmit(scope, 'agentfootprint.context.evicted', {
|
|
105
|
+
slot: 'messages',
|
|
106
|
+
contentHash: fnv1a(`${msg.role}:${eviction.index}:${msg.content}`),
|
|
107
|
+
reason: 'budget',
|
|
108
|
+
survivalMs: eviction.survivalMs,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
// `capTokens` / `projectedTokens` are the historical names on
|
|
112
|
+
// `BudgetPressureRecord`; the slots measure them in chars, and this
|
|
113
|
+
// measures them in the tokens the decision was actually made on. A
|
|
114
|
+
// strategy with no token budget omits this entirely rather than report a
|
|
115
|
+
// cap nobody set.
|
|
116
|
+
if (result.budgetPressure !== undefined) {
|
|
117
|
+
const { capTokens, projectedTokens, planAction } = result.budgetPressure;
|
|
118
|
+
typedEmit(scope, 'agentfootprint.context.budget_pressure', {
|
|
119
|
+
slot: 'messages',
|
|
120
|
+
capTokens,
|
|
121
|
+
projectedTokens,
|
|
122
|
+
overflowBy: Math.max(0, projectedTokens - capTokens),
|
|
123
|
+
planAction,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
// A summarizer call is real money. It counts against the same budget.
|
|
127
|
+
if (result.spend !== undefined) {
|
|
128
|
+
emitCostTick(scope, deps.pricingTable, deps.costBudget, result.spend.model, result.spend.usage);
|
|
129
|
+
}
|
|
130
|
+
if (result.warning !== undefined && !warned) {
|
|
131
|
+
warned = true;
|
|
132
|
+
// eslint-disable-next-line no-console
|
|
133
|
+
console.warn(`[agentfootprint window:${strategy.name}] ${result.warning}`);
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=window.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"window.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/window.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,8 @@ import type { CredentialProvider } from '../../identity/types.js';
|
|
|
18
18
|
import type { ToolArgValidationMode } from './toolArgsValidation.js';
|
|
19
19
|
import type { ThinkingBlock } from '../../thinking/types.js';
|
|
20
20
|
import type { ReliabilityScope } from '../../reliability/types.js';
|
|
21
|
-
import type {
|
|
21
|
+
import type { WindowRecord } from './window/types.js';
|
|
22
|
+
import type { MiddlewareDecision } from './middleware/types.js';
|
|
22
23
|
/**
|
|
23
24
|
* Dials for the deferred observer queue (RFC-001) — only meaningful with
|
|
24
25
|
* `observerDelivery: 'deferred'` (passing them without it throws at
|
|
@@ -347,6 +348,23 @@ export interface AgentState {
|
|
|
347
348
|
pausedToolStartMs: number;
|
|
348
349
|
pausedCheckIn?: boolean;
|
|
349
350
|
pausedCheckInArgs?: Readonly<Record<string, unknown>>;
|
|
351
|
+
pausedAsk?: boolean;
|
|
352
|
+
pausedAskArgs?: Readonly<Record<string, unknown>>;
|
|
353
|
+
pausedAskIndex?: number;
|
|
354
|
+
pausedAskMiddleware?: string;
|
|
355
|
+
/** One row per middleware decision, in the order they were decided —
|
|
356
|
+
* including the pass-throughs, because "the rule looked and was fine with
|
|
357
|
+
* it" and "the rule never ran" are different facts about a run. A transform
|
|
358
|
+
* files both the value it received and the value it produced, so a slice
|
|
359
|
+
* taken later can find the moment the text changed and who changed it.
|
|
360
|
+
* Written only by an agent that configured a chain; absent otherwise. */
|
|
361
|
+
middlewareDecisions?: readonly MiddlewareDecision[];
|
|
362
|
+
/** Set by the seed / prepare-final stage when a `messageMiddleware` returned
|
|
363
|
+
* `deny`. Read at the API boundary, where it becomes a `MessageDeniedError`.
|
|
364
|
+
* Never carries the refused content — see MessageDeniedError. */
|
|
365
|
+
messageDeniedReason?: string;
|
|
366
|
+
messageDeniedPhase?: 'input' | 'output';
|
|
367
|
+
messageDeniedBy?: string;
|
|
350
368
|
cumTokensInput: number;
|
|
351
369
|
cumTokensOutput: number;
|
|
352
370
|
cumEstimatedUsd: number;
|
|
@@ -408,16 +426,23 @@ export interface AgentState {
|
|
|
408
426
|
/** The base system prompt `.configure()` resolved for THIS run, replacing
|
|
409
427
|
* `.system(...)`. Same rule: absent unless a resolver returned one. */
|
|
410
428
|
resolvedInstructions?: string;
|
|
411
|
-
/** One record per
|
|
412
|
-
* visits that
|
|
413
|
-
* by an agent built with `.compaction()`; absent
|
|
414
|
-
* without
|
|
429
|
+
/** One record per visit to the window stage that ENGAGED — including the
|
|
430
|
+
* visits that removed nothing, which are the interesting ones. Written
|
|
431
|
+
* only by an agent built with `.window()` or `.compaction()`; absent
|
|
432
|
+
* otherwise, so an agent without one commits exactly the keys it always
|
|
433
|
+
* did.
|
|
415
434
|
*
|
|
416
|
-
* This array is the
|
|
435
|
+
* This array is the strategy's half of the law: the window shrank, and the
|
|
417
436
|
* ledger says which stages' messages left it, how many, and what the last
|
|
418
437
|
* call actually measured. The messages themselves are untouched in the
|
|
419
|
-
* commit bundles that wrote them.
|
|
420
|
-
|
|
438
|
+
* commit bundles that wrote them.
|
|
439
|
+
*
|
|
440
|
+
* The key is `compactions` because that is what it shipped as in 7.16,
|
|
441
|
+
* when compaction was the family's only member. It is committed state —
|
|
442
|
+
* public surface for anyone reading a run — so it keeps its name rather
|
|
443
|
+
* than break every reader for a better word. Narrow a record by its
|
|
444
|
+
* `strategy` field, not by the key it lives under. */
|
|
445
|
+
compactions?: readonly WindowRecord[];
|
|
421
446
|
/** Set when a `PermissionChecker` returns `{ result: 'halt', ... }`.
|
|
422
447
|
* `Agent.run()` reads these at the API boundary and throws a typed
|
|
423
448
|
* `PolicyHaltError` carrying the same context — the chart $break's
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../src/core/agent/window/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAClC,IAAI,GAAG,6BAA6B,CAAC;IACvD,4DAA4D;IACnD,QAAQ,CAAS;IAE1B,YAAY,QAAgB;QAC1B,KAAK,CACH,iDAAiD,QAAQ,kCAAkC;YACzF,sFAAsF;YACtF,oFAAoF;YACpF,mFAAmF;YACnF,0FAA0F;YAC1F,oFAAoF;YACpF,YAAY,CACf,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* window — the window-strategy family: keep the live context window inside
|
|
3
|
+
* its budget without ever losing the record.
|
|
4
|
+
*
|
|
5
|
+
* The one sentence: **a window strategy edits the WINDOW, never the LEDGER.**
|
|
6
|
+
* Removed turns stay in the commit log verbatim; the strategy files its own
|
|
7
|
+
* recorded step naming every `runtimeStageId` whose messages left. A summary
|
|
8
|
+
* is a claim about the past, so this library files it as a claim — not as the
|
|
9
|
+
* past. A drop is an absence, and it is named the same way.
|
|
10
|
+
*
|
|
11
|
+
* Three strategies ship, all sharing one turn segmentation and one refusal
|
|
12
|
+
* engine:
|
|
13
|
+
* `summarizeOldest` fold the oldest span into a summary (`.compaction()`)
|
|
14
|
+
* `slidingWindow` keep the last N turns, drop older ones
|
|
15
|
+
* `tokenBudget` counted-token trigger, drop instead of summarize
|
|
16
|
+
*
|
|
17
|
+
* Public surface (re-exported from the package root).
|
|
18
|
+
*/
|
|
19
|
+
export { CompactionUnmeasurableError } from './errors.js';
|
|
20
|
+
export type { CompactionOptions, CompactionRecord, FoldRefusal, FoldRefusalReason, ResolvedCompaction, SlidingWindowOptions, SlidingWindowRecord, TokenBudgetOptions, TokenBudgetRecord, WindowRecord, WindowRefusal, WindowRefusalReason, } from './types.js';
|
|
21
|
+
export type { RemovalFacts, WindowEviction, WindowStrategy, WindowStrategyInput, WindowStrategyResult, } from './strategy.js';
|
|
22
|
+
export type { RemovalPlan, Turn } from './turns.js';
|
|
23
|
+
export { COMPACTED_FRAME_PREFIX, isCompactedSummary } from './summarize.js';
|
|
24
|
+
export { DROP_NOTICE_PREFIX, isDropNotice } from './notice.js';
|
|
25
|
+
export { summarizeOldest } from './strategies/summarizeOldest.js';
|
|
26
|
+
export { slidingWindow } from './strategies/slidingWindow.js';
|
|
27
|
+
export { tokenBudget } from './strategies/tokenBudget.js';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* window — the window-strategy family: keep the live context window inside
|
|
3
|
+
* its budget without ever losing the record.
|
|
4
|
+
*
|
|
5
|
+
* The one sentence: **a window strategy edits the WINDOW, never the LEDGER.**
|
|
6
|
+
* Removed turns stay in the commit log verbatim; the strategy files its own
|
|
7
|
+
* recorded step naming every `runtimeStageId` whose messages left. A summary
|
|
8
|
+
* is a claim about the past, so this library files it as a claim — not as the
|
|
9
|
+
* past. A drop is an absence, and it is named the same way.
|
|
10
|
+
*
|
|
11
|
+
* Three strategies ship, all sharing one turn segmentation and one refusal
|
|
12
|
+
* engine:
|
|
13
|
+
* `summarizeOldest` fold the oldest span into a summary (`.compaction()`)
|
|
14
|
+
* `slidingWindow` keep the last N turns, drop older ones
|
|
15
|
+
* `tokenBudget` counted-token trigger, drop instead of summarize
|
|
16
|
+
*
|
|
17
|
+
* Public surface (re-exported from the package root).
|
|
18
|
+
*/
|
|
19
|
+
export { CompactionUnmeasurableError } from './errors.js';
|
|
20
|
+
export { COMPACTED_FRAME_PREFIX, isCompactedSummary } from './summarize.js';
|
|
21
|
+
export { DROP_NOTICE_PREFIX, isDropNotice } from './notice.js';
|
|
22
|
+
export { summarizeOldest } from './strategies/summarizeOldest.js';
|
|
23
|
+
export { slidingWindow } from './strategies/slidingWindow.js';
|
|
24
|
+
export { tokenBudget } from './strategies/tokenBudget.js';
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/agent/window/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAuB1D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* window/notice — the authored message a DROP leaves behind, and why it has
|
|
3
|
+
* to exist at all.
|
|
4
|
+
*
|
|
5
|
+
* Pattern: Authored envelope with no untrusted payload whatsoever.
|
|
6
|
+
* Role: core/ layer. Shared by both drop strategies.
|
|
7
|
+
* Emits: N/A.
|
|
8
|
+
*
|
|
9
|
+
* The first reason for this message is the WIRE, not the prose. An agent
|
|
10
|
+
* window looks like `user, assistant+tool, assistant+tool, …`, so dropping
|
|
11
|
+
* the oldest turns leaves an ASSISTANT message at the head — and the
|
|
12
|
+
* providers that care (Anthropic) require the window to open on a user turn.
|
|
13
|
+
* A silent drop of the window's head therefore produces a request the vendor
|
|
14
|
+
* rejects. Something must occupy that position.
|
|
15
|
+
*
|
|
16
|
+
* Given that we have to author a message there anyway, it should say what
|
|
17
|
+
* happened rather than be filler. So it does: how many messages left, at
|
|
18
|
+
* which iteration, by which strategy, and where they still are. Unlike the
|
|
19
|
+
* compaction frame there is no model output involved at ALL — every character
|
|
20
|
+
* below is written by this library, which is why a drop has no prompt-
|
|
21
|
+
* injection surface to speak of.
|
|
22
|
+
*
|
|
23
|
+
* It appears ONLY when the removal reaches the window's head. A removal in
|
|
24
|
+
* the middle leaves the original opening turn in place, so there is no wire
|
|
25
|
+
* problem to solve — and splicing a lone `user` message between two assistant
|
|
26
|
+
* turns is its own risk. The ledger names that removal either way.
|
|
27
|
+
*
|
|
28
|
+
* It does not accumulate: the notice is an ordinary oldest turn next time
|
|
29
|
+
* round, so the next drop absorbs it and files a fresh one.
|
|
30
|
+
*/
|
|
31
|
+
import type { LLMMessage } from '../../../adapters/types.js';
|
|
32
|
+
/** Opening of the authored notice. Stable — tests and readers match on it. */
|
|
33
|
+
export declare const DROP_NOTICE_PREFIX = "[dropped history";
|
|
34
|
+
/**
|
|
35
|
+
* Build the message that takes the head position after a drop.
|
|
36
|
+
*
|
|
37
|
+
* `role: 'user'` for the same reason the compaction frame is: it is the head
|
|
38
|
+
* of the window, and the head of the window must be a user turn.
|
|
39
|
+
*/
|
|
40
|
+
export declare function buildDropNotice(facts: {
|
|
41
|
+
readonly droppedMessageCount: number;
|
|
42
|
+
readonly iteration: number;
|
|
43
|
+
readonly strategy: string;
|
|
44
|
+
}): LLMMessage;
|
|
45
|
+
/** True when this message is a notice a previous drop wrote. */
|
|
46
|
+
export declare function isDropNotice(msg: LLMMessage | undefined): boolean;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* window/notice — the authored message a DROP leaves behind, and why it has
|
|
3
|
+
* to exist at all.
|
|
4
|
+
*
|
|
5
|
+
* Pattern: Authored envelope with no untrusted payload whatsoever.
|
|
6
|
+
* Role: core/ layer. Shared by both drop strategies.
|
|
7
|
+
* Emits: N/A.
|
|
8
|
+
*
|
|
9
|
+
* The first reason for this message is the WIRE, not the prose. An agent
|
|
10
|
+
* window looks like `user, assistant+tool, assistant+tool, …`, so dropping
|
|
11
|
+
* the oldest turns leaves an ASSISTANT message at the head — and the
|
|
12
|
+
* providers that care (Anthropic) require the window to open on a user turn.
|
|
13
|
+
* A silent drop of the window's head therefore produces a request the vendor
|
|
14
|
+
* rejects. Something must occupy that position.
|
|
15
|
+
*
|
|
16
|
+
* Given that we have to author a message there anyway, it should say what
|
|
17
|
+
* happened rather than be filler. So it does: how many messages left, at
|
|
18
|
+
* which iteration, by which strategy, and where they still are. Unlike the
|
|
19
|
+
* compaction frame there is no model output involved at ALL — every character
|
|
20
|
+
* below is written by this library, which is why a drop has no prompt-
|
|
21
|
+
* injection surface to speak of.
|
|
22
|
+
*
|
|
23
|
+
* It appears ONLY when the removal reaches the window's head. A removal in
|
|
24
|
+
* the middle leaves the original opening turn in place, so there is no wire
|
|
25
|
+
* problem to solve — and splicing a lone `user` message between two assistant
|
|
26
|
+
* turns is its own risk. The ledger names that removal either way.
|
|
27
|
+
*
|
|
28
|
+
* It does not accumulate: the notice is an ordinary oldest turn next time
|
|
29
|
+
* round, so the next drop absorbs it and files a fresh one.
|
|
30
|
+
*/
|
|
31
|
+
/** Opening of the authored notice. Stable — tests and readers match on it. */
|
|
32
|
+
export const DROP_NOTICE_PREFIX = '[dropped history';
|
|
33
|
+
/**
|
|
34
|
+
* Build the message that takes the head position after a drop.
|
|
35
|
+
*
|
|
36
|
+
* `role: 'user'` for the same reason the compaction frame is: it is the head
|
|
37
|
+
* of the window, and the head of the window must be a user turn.
|
|
38
|
+
*/
|
|
39
|
+
export function buildDropNotice(facts) {
|
|
40
|
+
return {
|
|
41
|
+
role: 'user',
|
|
42
|
+
content: `${DROP_NOTICE_PREFIX} — ${facts.droppedMessageCount} earlier message(s) were dropped ` +
|
|
43
|
+
`from this window at iteration ${facts.iteration} by the '${facts.strategy}' window ` +
|
|
44
|
+
`strategy. Nothing was summarized: those turns are simply not being re-sent. They are ` +
|
|
45
|
+
`retained verbatim in this run's commit log.]`,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/** True when this message is a notice a previous drop wrote. */
|
|
49
|
+
export function isDropNotice(msg) {
|
|
50
|
+
return msg !== undefined && msg.role === 'user' && msg.content.startsWith(DROP_NOTICE_PREFIX);
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=notice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notice.js","sourceRoot":"","sources":["../../../../../src/core/agent/window/notice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAErD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAI/B;IACC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EACL,GAAG,kBAAkB,MAAM,KAAK,CAAC,mBAAmB,mCAAmC;YACvF,iCAAiC,KAAK,CAAC,SAAS,YAAY,KAAK,CAAC,QAAQ,WAAW;YACrF,uFAAuF;YACvF,8CAA8C;KACjD,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,YAAY,CAAC,GAA2B;IACtD,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAChG,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* window/options — validate a window strategy's options ONCE, at build time.
|
|
3
|
+
*
|
|
4
|
+
* Pattern: Guard functions returning a resolved config.
|
|
5
|
+
* Role: core/ layer. Every message here takes a `label`, because the same
|
|
6
|
+
* option bag arrives through two doors — `.compaction({...})` and
|
|
7
|
+
* `summarizeOldest({...})` — and an error should name the door the
|
|
8
|
+
* caller actually used. One implementation, so the two doors can
|
|
9
|
+
* never drift into validating differently.
|
|
10
|
+
* Emits: N/A.
|
|
11
|
+
*
|
|
12
|
+
* Everything fails at `.build()`, never mid-run. A window policy that turns
|
|
13
|
+
* out to be nonsense on iteration 40 of a paid run is a policy that cost you
|
|
14
|
+
* money to discover.
|
|
15
|
+
*/
|
|
16
|
+
import type { CompactionOptions, ResolvedCompaction, SlidingWindowOptions, TokenBudgetOptions } from './types.js';
|
|
17
|
+
/** Default depth of the "never touch this" recent window. */
|
|
18
|
+
export declare const DEFAULT_KEEP_RECENT_TURNS = 6;
|
|
19
|
+
/**
|
|
20
|
+
* Validate `.compaction()` / `summarizeOldest()` options.
|
|
21
|
+
*
|
|
22
|
+
* @param label the door being used, so the error names it
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveCompactionOptions(options: CompactionOptions, label: string): ResolvedCompaction;
|
|
25
|
+
/** Validate `slidingWindow()` options. */
|
|
26
|
+
export declare function resolveSlidingWindowOptions(options: SlidingWindowOptions, label: string): {
|
|
27
|
+
readonly keepRecentTurns: number;
|
|
28
|
+
};
|
|
29
|
+
/** Validate `tokenBudget()` options. */
|
|
30
|
+
export declare function resolveTokenBudgetOptions(options: TokenBudgetOptions, label: string): {
|
|
31
|
+
readonly thresholdTokens: number;
|
|
32
|
+
readonly keepRecentTurns: number;
|
|
33
|
+
};
|