agentfootprint 7.16.0 → 7.17.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 (187) hide show
  1. package/dist/conventions.js +8 -6
  2. package/dist/conventions.js.map +1 -1
  3. package/dist/core/Agent.js +31 -26
  4. package/dist/core/Agent.js.map +1 -1
  5. package/dist/core/agent/AgentBuilder.js +93 -43
  6. package/dist/core/agent/AgentBuilder.js.map +1 -1
  7. package/dist/core/agent/buildAgentChart.js +8 -8
  8. package/dist/core/agent/buildAgentChart.js.map +1 -1
  9. package/dist/core/agent/buildDynamicAgentChart.js +6 -6
  10. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  11. package/dist/core/agent/stages/window.js +141 -0
  12. package/dist/core/agent/stages/window.js.map +1 -0
  13. package/dist/core/agent/window/errors.js.map +1 -0
  14. package/dist/core/agent/window/index.js +36 -0
  15. package/dist/core/agent/window/index.js.map +1 -0
  16. package/dist/core/agent/window/notice.js +57 -0
  17. package/dist/core/agent/window/notice.js.map +1 -0
  18. package/dist/core/agent/window/options.js +93 -0
  19. package/dist/core/agent/window/options.js.map +1 -0
  20. package/dist/core/agent/window/removal.js +45 -0
  21. package/dist/core/agent/window/removal.js.map +1 -0
  22. package/dist/core/agent/window/strategies/drop.js +106 -0
  23. package/dist/core/agent/window/strategies/drop.js.map +1 -0
  24. package/dist/core/agent/window/strategies/slidingWindow.js +87 -0
  25. package/dist/core/agent/window/strategies/slidingWindow.js.map +1 -0
  26. package/dist/core/agent/window/strategies/summarizeOldest.js +178 -0
  27. package/dist/core/agent/window/strategies/summarizeOldest.js.map +1 -0
  28. package/dist/core/agent/window/strategies/tokenBudget.js +95 -0
  29. package/dist/core/agent/window/strategies/tokenBudget.js.map +1 -0
  30. package/dist/core/agent/window/strategy.js +42 -0
  31. package/dist/core/agent/window/strategy.js.map +1 -0
  32. package/dist/core/agent/window/summarize.js.map +1 -0
  33. package/dist/core/agent/{compaction → window}/turns.js +50 -28
  34. package/dist/core/agent/window/turns.js.map +1 -0
  35. package/dist/core/agent/window/types.js +23 -0
  36. package/dist/core/agent/window/types.js.map +1 -0
  37. package/dist/esm/conventions.d.ts +8 -6
  38. package/dist/esm/conventions.js +8 -6
  39. package/dist/esm/conventions.js.map +1 -1
  40. package/dist/esm/core/Agent.d.ts +6 -6
  41. package/dist/esm/core/Agent.js +31 -26
  42. package/dist/esm/core/Agent.js.map +1 -1
  43. package/dist/esm/core/agent/AgentBuilder.d.ts +60 -4
  44. package/dist/esm/core/agent/AgentBuilder.js +93 -43
  45. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  46. package/dist/esm/core/agent/buildAgentChart.d.ts +14 -7
  47. package/dist/esm/core/agent/buildAgentChart.js +8 -8
  48. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  49. package/dist/esm/core/agent/buildDynamicAgentChart.js +6 -6
  50. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  51. package/dist/esm/core/agent/stages/window.d.ts +63 -0
  52. package/dist/esm/core/agent/stages/window.js +137 -0
  53. package/dist/esm/core/agent/stages/window.js.map +1 -0
  54. package/dist/esm/core/agent/types.d.ts +15 -8
  55. package/dist/esm/core/agent/window/errors.js.map +1 -0
  56. package/dist/esm/core/agent/window/index.d.ts +27 -0
  57. package/dist/esm/core/agent/window/index.js +25 -0
  58. package/dist/esm/core/agent/window/index.js.map +1 -0
  59. package/dist/esm/core/agent/window/notice.d.ts +46 -0
  60. package/dist/esm/core/agent/window/notice.js +52 -0
  61. package/dist/esm/core/agent/window/notice.js.map +1 -0
  62. package/dist/esm/core/agent/window/options.d.ts +33 -0
  63. package/dist/esm/core/agent/window/options.js +87 -0
  64. package/dist/esm/core/agent/window/options.js.map +1 -0
  65. package/dist/esm/core/agent/window/removal.d.ts +22 -0
  66. package/dist/esm/core/agent/window/removal.js +40 -0
  67. package/dist/esm/core/agent/window/removal.js.map +1 -0
  68. package/dist/esm/core/agent/window/strategies/drop.d.ts +54 -0
  69. package/dist/esm/core/agent/window/strategies/drop.js +102 -0
  70. package/dist/esm/core/agent/window/strategies/drop.js.map +1 -0
  71. package/dist/esm/core/agent/window/strategies/slidingWindow.d.ts +48 -0
  72. package/dist/esm/core/agent/window/strategies/slidingWindow.js +83 -0
  73. package/dist/esm/core/agent/window/strategies/slidingWindow.js.map +1 -0
  74. package/dist/esm/core/agent/window/strategies/summarizeOldest.d.ts +42 -0
  75. package/dist/esm/core/agent/window/strategies/summarizeOldest.js +174 -0
  76. package/dist/esm/core/agent/window/strategies/summarizeOldest.js.map +1 -0
  77. package/dist/esm/core/agent/window/strategies/tokenBudget.d.ts +47 -0
  78. package/dist/esm/core/agent/window/strategies/tokenBudget.js +91 -0
  79. package/dist/esm/core/agent/window/strategies/tokenBudget.js.map +1 -0
  80. package/dist/esm/core/agent/window/strategy.d.ts +181 -0
  81. package/dist/esm/core/agent/window/strategy.js +41 -0
  82. package/dist/esm/core/agent/window/strategy.js.map +1 -0
  83. package/dist/esm/core/agent/window/summarize.js.map +1 -0
  84. package/dist/esm/core/agent/window/turns.d.ts +108 -0
  85. package/dist/esm/core/agent/{compaction → window}/turns.js +48 -26
  86. package/dist/esm/core/agent/window/turns.js.map +1 -0
  87. package/dist/esm/core/agent/window/types.d.ts +263 -0
  88. package/dist/esm/core/agent/window/types.js +22 -0
  89. package/dist/esm/core/agent/window/types.js.map +1 -0
  90. package/dist/esm/index.d.ts +1 -1
  91. package/dist/esm/index.js +10 -5
  92. package/dist/esm/index.js.map +1 -1
  93. package/dist/esm/recorders/core/CompactionMeter.d.ts +25 -19
  94. package/dist/esm/recorders/core/CompactionMeter.js +27 -19
  95. package/dist/esm/recorders/core/CompactionMeter.js.map +1 -1
  96. package/dist/index.js +17 -7
  97. package/dist/index.js.map +1 -1
  98. package/dist/recorders/core/CompactionMeter.js +27 -19
  99. package/dist/recorders/core/CompactionMeter.js.map +1 -1
  100. package/dist/types/conventions.d.ts +8 -6
  101. package/dist/types/conventions.d.ts.map +1 -1
  102. package/dist/types/core/Agent.d.ts +6 -6
  103. package/dist/types/core/Agent.d.ts.map +1 -1
  104. package/dist/types/core/agent/AgentBuilder.d.ts +60 -4
  105. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  106. package/dist/types/core/agent/buildAgentChart.d.ts +14 -7
  107. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  108. package/dist/types/core/agent/stages/window.d.ts +64 -0
  109. package/dist/types/core/agent/stages/window.d.ts.map +1 -0
  110. package/dist/types/core/agent/types.d.ts +15 -8
  111. package/dist/types/core/agent/types.d.ts.map +1 -1
  112. package/dist/types/core/agent/window/errors.d.ts.map +1 -0
  113. package/dist/types/core/agent/window/index.d.ts +28 -0
  114. package/dist/types/core/agent/window/index.d.ts.map +1 -0
  115. package/dist/types/core/agent/window/notice.d.ts +47 -0
  116. package/dist/types/core/agent/window/notice.d.ts.map +1 -0
  117. package/dist/types/core/agent/window/options.d.ts +34 -0
  118. package/dist/types/core/agent/window/options.d.ts.map +1 -0
  119. package/dist/types/core/agent/window/removal.d.ts +23 -0
  120. package/dist/types/core/agent/window/removal.d.ts.map +1 -0
  121. package/dist/types/core/agent/window/strategies/drop.d.ts +55 -0
  122. package/dist/types/core/agent/window/strategies/drop.d.ts.map +1 -0
  123. package/dist/types/core/agent/window/strategies/slidingWindow.d.ts +49 -0
  124. package/dist/types/core/agent/window/strategies/slidingWindow.d.ts.map +1 -0
  125. package/dist/types/core/agent/window/strategies/summarizeOldest.d.ts +43 -0
  126. package/dist/types/core/agent/window/strategies/summarizeOldest.d.ts.map +1 -0
  127. package/dist/types/core/agent/window/strategies/tokenBudget.d.ts +48 -0
  128. package/dist/types/core/agent/window/strategies/tokenBudget.d.ts.map +1 -0
  129. package/dist/types/core/agent/window/strategy.d.ts +182 -0
  130. package/dist/types/core/agent/window/strategy.d.ts.map +1 -0
  131. package/dist/types/core/agent/window/summarize.d.ts.map +1 -0
  132. package/dist/types/core/agent/window/turns.d.ts +109 -0
  133. package/dist/types/core/agent/window/turns.d.ts.map +1 -0
  134. package/dist/types/core/agent/window/types.d.ts +264 -0
  135. package/dist/types/core/agent/window/types.d.ts.map +1 -0
  136. package/dist/types/index.d.ts +1 -1
  137. package/dist/types/index.d.ts.map +1 -1
  138. package/dist/types/recorders/core/CompactionMeter.d.ts +25 -19
  139. package/dist/types/recorders/core/CompactionMeter.d.ts.map +1 -1
  140. package/package.json +1 -1
  141. package/dist/core/agent/compaction/errors.js.map +0 -1
  142. package/dist/core/agent/compaction/index.js +0 -24
  143. package/dist/core/agent/compaction/index.js.map +0 -1
  144. package/dist/core/agent/compaction/strategy.js +0 -152
  145. package/dist/core/agent/compaction/strategy.js.map +0 -1
  146. package/dist/core/agent/compaction/summarize.js.map +0 -1
  147. package/dist/core/agent/compaction/turns.js.map +0 -1
  148. package/dist/core/agent/compaction/types.js +0 -21
  149. package/dist/core/agent/compaction/types.js.map +0 -1
  150. package/dist/core/agent/stages/compact.js +0 -130
  151. package/dist/core/agent/stages/compact.js.map +0 -1
  152. package/dist/esm/core/agent/compaction/errors.js.map +0 -1
  153. package/dist/esm/core/agent/compaction/index.d.ts +0 -18
  154. package/dist/esm/core/agent/compaction/index.js +0 -18
  155. package/dist/esm/core/agent/compaction/index.js.map +0 -1
  156. package/dist/esm/core/agent/compaction/strategy.d.ts +0 -103
  157. package/dist/esm/core/agent/compaction/strategy.js +0 -148
  158. package/dist/esm/core/agent/compaction/strategy.js.map +0 -1
  159. package/dist/esm/core/agent/compaction/summarize.js.map +0 -1
  160. package/dist/esm/core/agent/compaction/turns.d.ts +0 -85
  161. package/dist/esm/core/agent/compaction/turns.js.map +0 -1
  162. package/dist/esm/core/agent/compaction/types.d.ts +0 -148
  163. package/dist/esm/core/agent/compaction/types.js +0 -20
  164. package/dist/esm/core/agent/compaction/types.js.map +0 -1
  165. package/dist/esm/core/agent/stages/compact.d.ts +0 -59
  166. package/dist/esm/core/agent/stages/compact.js +0 -126
  167. package/dist/esm/core/agent/stages/compact.js.map +0 -1
  168. package/dist/types/core/agent/compaction/errors.d.ts.map +0 -1
  169. package/dist/types/core/agent/compaction/index.d.ts +0 -19
  170. package/dist/types/core/agent/compaction/index.d.ts.map +0 -1
  171. package/dist/types/core/agent/compaction/strategy.d.ts +0 -104
  172. package/dist/types/core/agent/compaction/strategy.d.ts.map +0 -1
  173. package/dist/types/core/agent/compaction/summarize.d.ts.map +0 -1
  174. package/dist/types/core/agent/compaction/turns.d.ts +0 -86
  175. package/dist/types/core/agent/compaction/turns.d.ts.map +0 -1
  176. package/dist/types/core/agent/compaction/types.d.ts +0 -149
  177. package/dist/types/core/agent/compaction/types.d.ts.map +0 -1
  178. package/dist/types/core/agent/stages/compact.d.ts +0 -60
  179. package/dist/types/core/agent/stages/compact.d.ts.map +0 -1
  180. /package/dist/core/agent/{compaction → window}/errors.js +0 -0
  181. /package/dist/core/agent/{compaction → window}/summarize.js +0 -0
  182. /package/dist/esm/core/agent/{compaction → window}/errors.d.ts +0 -0
  183. /package/dist/esm/core/agent/{compaction → window}/errors.js +0 -0
  184. /package/dist/esm/core/agent/{compaction → window}/summarize.d.ts +0 -0
  185. /package/dist/esm/core/agent/{compaction → window}/summarize.js +0 -0
  186. /package/dist/types/core/agent/{compaction → window}/errors.d.ts +0 -0
  187. /package/dist/types/core/agent/{compaction → window}/summarize.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"buildDynamicAgentChart.js","sourceRoot":"","sources":["../../../src/core/agent/buildDynamicAgentChart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildDynamicAgentChart.js","sourceRoot":"","sources":["../../../src/core/agent/buildDynamicAgentChart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ /**
3
+ * window — the loop-head stage that applies the agent's window strategy.
4
+ *
5
+ * Runs once per ReAct iteration boundary, as the loop target, so everything
6
+ * downstream in the turn — the injection engine's triggers, all three context
7
+ * slots, and the wire itself — sees ONE window. No component gets a different
8
+ * past than the model does.
9
+ *
10
+ * The law: **it edits the window, never the ledger.** The turns a strategy
11
+ * removes were committed by `seed#0` / `tool-calls#N` before this stage ran
12
+ * and stay in those bundles byte-identical; footprintjs's commit log is
13
+ * append-only, so a removal cannot erase history even in principle. What it
14
+ * can do is stop re-sending it — and say so, in its own commit, naming every
15
+ * runtimeStageId whose messages left. A compacted (or trimmed) run is still a
16
+ * provable run.
17
+ *
18
+ * This file is deliberately all WIRING. The decision — what the window should
19
+ * become — lives behind `WindowStrategy` (window/strategy.ts, public since
20
+ * 7.17), so the duty to record, emit and cost what happened stays in exactly
21
+ * one place instead of being re-implemented per strategy. The TRIGGER lives
22
+ * in the strategy too: `plan()` is called at every boundary and answers
23
+ * `undefined` when it did not engage, which is what lets `slidingWindow`
24
+ * trigger on turn count while the token-triggered strategies refuse by name
25
+ * on a provider that reports no usage.
26
+ *
27
+ * Emits (existing vocabulary only — no new event types):
28
+ * agentfootprint.context.evicted — one per message leaving the window
29
+ * agentfootprint.context.budget_pressure — one per visit that HAS a budget
30
+ * (omitted by strategies that do
31
+ * not, rather than reporting a cap
32
+ * nobody configured)
33
+ * agentfootprint.cost.tick — when a pricingTable is set: a
34
+ * summarizer call is a real billed
35
+ * call and counts
36
+ *
37
+ * A summarizer call is deliberately NOT bracketed with `stream.llm_start` /
38
+ * `llm_end`: those carry an `iteration` and every consumer pairs them by it,
39
+ * so a second bracket inside one iteration would corrupt the pairing. Its
40
+ * cost rides the cost channel and its tokens are recorded in the commit.
41
+ */
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.buildWindowStage = void 0;
44
+ const typedEmit_js_1 = require("../../../recorders/core/typedEmit.js");
45
+ const helpers_js_1 = require("../../slots/helpers.js");
46
+ const cost_js_1 = require("../../cost.js");
47
+ const removal_js_1 = require("../window/removal.js");
48
+ const turns_js_1 = require("../window/turns.js");
49
+ /** Build the window stage. */
50
+ function buildWindowStage(deps) {
51
+ const { strategy, meter } = deps;
52
+ const now = deps.now ?? (() => Date.now());
53
+ // Dedup latch for a strategy's warning: a summarizer that is down is down
54
+ // for the whole run, and one warning is a warning while ten is noise.
55
+ let warned = false;
56
+ return async (scope) => {
57
+ // Read the window every iteration. The strategy owns its own trigger, so
58
+ // the stage cannot know whether this iteration matters until it asks —
59
+ // which means the reads channel now records a read of `history` on
60
+ // iterations that change nothing. That read genuinely happens; the
61
+ // request bytes are untouched.
62
+ const history = (scope.history ?? []).slice();
63
+ const turns = (0, turns_js_1.segmentTurns)(history);
64
+ const metered = meter.lastCall();
65
+ const origins = meter.origins();
66
+ const pausedToolCallId = scope.pausedToolCallId;
67
+ const guards = {
68
+ answeredCallIds: (0, turns_js_1.answeredCallIds)(history),
69
+ ...(pausedToolCallId !== undefined && { pausedToolCallId }),
70
+ ...(scope.pausedCheckIn === true && { pausedCheckIn: true }),
71
+ };
72
+ const result = await strategy.plan({
73
+ history,
74
+ turns,
75
+ measured: metered === undefined ? undefined : { input: metered.input, output: metered.output },
76
+ iteration: scope.iteration ?? 1,
77
+ agentModel: deps.agentModel,
78
+ providerName: deps.providerName,
79
+ signal: scope.$getEnv?.()?.signal,
80
+ now,
81
+ // The refusal engine, bound. A strategy cannot skip it: it never
82
+ // receives the guards, only the answer.
83
+ planRemoval: (keepRecentTurns, isExistingSummary) => (0, turns_js_1.planRemoval)(turns, keepRecentTurns, guards, isExistingSummary),
84
+ removalFacts: (indices, atMs) => (0, removal_js_1.removalFacts)(origins, indices, atMs),
85
+ });
86
+ // `undefined` = this strategy did not engage this iteration. Nothing to
87
+ // apply, nothing to record — the ledger tracks what a strategy DID.
88
+ if (result === undefined)
89
+ return;
90
+ // ── Apply. The stage owns every side effect. ─────────────────────
91
+ if (result.window !== undefined && result.rebase !== undefined) {
92
+ // Tell the meter before writing: the shape change is the one thing it
93
+ // cannot infer (the set trap JSON-round-trips every write).
94
+ meter.rebaseForWindowChange(result.rebase.headCount, result.rebase.keptTailCount, result.rebase.insertedAtMs);
95
+ scope.history = result.window;
96
+ }
97
+ const prior = scope.compactions ?? [];
98
+ scope.compactions = [...prior, result.record];
99
+ // One eviction per message that left, in the slot vocabulary consumers
100
+ // already subscribe to. The hash uses the SAME formula the messages slot
101
+ // used to report the piece as injected, so evicted and injected refer to
102
+ // the same piece by the same name.
103
+ for (const eviction of result.evictions) {
104
+ const msg = history[eviction.index];
105
+ if (msg === undefined)
106
+ continue;
107
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.context.evicted', {
108
+ slot: 'messages',
109
+ contentHash: (0, helpers_js_1.fnv1a)(`${msg.role}:${eviction.index}:${msg.content}`),
110
+ reason: 'budget',
111
+ survivalMs: eviction.survivalMs,
112
+ });
113
+ }
114
+ // `capTokens` / `projectedTokens` are the historical names on
115
+ // `BudgetPressureRecord`; the slots measure them in chars, and this
116
+ // measures them in the tokens the decision was actually made on. A
117
+ // strategy with no token budget omits this entirely rather than report a
118
+ // cap nobody set.
119
+ if (result.budgetPressure !== undefined) {
120
+ const { capTokens, projectedTokens, planAction } = result.budgetPressure;
121
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.context.budget_pressure', {
122
+ slot: 'messages',
123
+ capTokens,
124
+ projectedTokens,
125
+ overflowBy: Math.max(0, projectedTokens - capTokens),
126
+ planAction,
127
+ });
128
+ }
129
+ // A summarizer call is real money. It counts against the same budget.
130
+ if (result.spend !== undefined) {
131
+ (0, cost_js_1.emitCostTick)(scope, deps.pricingTable, deps.costBudget, result.spend.model, result.spend.usage);
132
+ }
133
+ if (result.warning !== undefined && !warned) {
134
+ warned = true;
135
+ // eslint-disable-next-line no-console
136
+ console.warn(`[agentfootprint window:${strategy.name}] ${result.warning}`);
137
+ }
138
+ };
139
+ }
140
+ exports.buildWindowStage = buildWindowStage;
141
+ //# 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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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/core/agent/window/errors.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH;;;;;;;;;;;;GAYG;AACH,MAAa,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;AAjBD,kEAiBC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ /**
3
+ * window — the window-strategy family: keep the live context window inside
4
+ * its budget without ever losing the record.
5
+ *
6
+ * The one sentence: **a window strategy edits the WINDOW, never the LEDGER.**
7
+ * Removed turns stay in the commit log verbatim; the strategy files its own
8
+ * recorded step naming every `runtimeStageId` whose messages left. A summary
9
+ * is a claim about the past, so this library files it as a claim — not as the
10
+ * past. A drop is an absence, and it is named the same way.
11
+ *
12
+ * Three strategies ship, all sharing one turn segmentation and one refusal
13
+ * engine:
14
+ * `summarizeOldest` fold the oldest span into a summary (`.compaction()`)
15
+ * `slidingWindow` keep the last N turns, drop older ones
16
+ * `tokenBudget` counted-token trigger, drop instead of summarize
17
+ *
18
+ * Public surface (re-exported from the package root).
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.tokenBudget = exports.slidingWindow = exports.summarizeOldest = exports.isDropNotice = exports.DROP_NOTICE_PREFIX = exports.isCompactedSummary = exports.COMPACTED_FRAME_PREFIX = exports.CompactionUnmeasurableError = void 0;
22
+ var errors_js_1 = require("./errors.js");
23
+ Object.defineProperty(exports, "CompactionUnmeasurableError", { enumerable: true, get: function () { return errors_js_1.CompactionUnmeasurableError; } });
24
+ var summarize_js_1 = require("./summarize.js");
25
+ Object.defineProperty(exports, "COMPACTED_FRAME_PREFIX", { enumerable: true, get: function () { return summarize_js_1.COMPACTED_FRAME_PREFIX; } });
26
+ Object.defineProperty(exports, "isCompactedSummary", { enumerable: true, get: function () { return summarize_js_1.isCompactedSummary; } });
27
+ var notice_js_1 = require("./notice.js");
28
+ Object.defineProperty(exports, "DROP_NOTICE_PREFIX", { enumerable: true, get: function () { return notice_js_1.DROP_NOTICE_PREFIX; } });
29
+ Object.defineProperty(exports, "isDropNotice", { enumerable: true, get: function () { return notice_js_1.isDropNotice; } });
30
+ var summarizeOldest_js_1 = require("./strategies/summarizeOldest.js");
31
+ Object.defineProperty(exports, "summarizeOldest", { enumerable: true, get: function () { return summarizeOldest_js_1.summarizeOldest; } });
32
+ var slidingWindow_js_1 = require("./strategies/slidingWindow.js");
33
+ Object.defineProperty(exports, "slidingWindow", { enumerable: true, get: function () { return slidingWindow_js_1.slidingWindow; } });
34
+ var tokenBudget_js_1 = require("./strategies/tokenBudget.js");
35
+ Object.defineProperty(exports, "tokenBudget", { enumerable: true, get: function () { return tokenBudget_js_1.tokenBudget; } });
36
+ //# 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,yCAA0D;AAAjD,wHAAA,2BAA2B,OAAA;AAuBpC,+CAA4E;AAAnE,sHAAA,sBAAsB,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AACnD,yCAA+D;AAAtD,+GAAA,kBAAkB,OAAA;AAAE,yGAAA,YAAY,OAAA;AACzC,sEAAkE;AAAzD,qHAAA,eAAe,OAAA;AACxB,kEAA8D;AAArD,iHAAA,aAAa,OAAA;AACtB,8DAA0D;AAAjD,6GAAA,WAAW,OAAA"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * window/notice — the authored message a DROP leaves behind, and why it has
4
+ * to exist at all.
5
+ *
6
+ * Pattern: Authored envelope with no untrusted payload whatsoever.
7
+ * Role: core/ layer. Shared by both drop strategies.
8
+ * Emits: N/A.
9
+ *
10
+ * The first reason for this message is the WIRE, not the prose. An agent
11
+ * window looks like `user, assistant+tool, assistant+tool, …`, so dropping
12
+ * the oldest turns leaves an ASSISTANT message at the head — and the
13
+ * providers that care (Anthropic) require the window to open on a user turn.
14
+ * A silent drop of the window's head therefore produces a request the vendor
15
+ * rejects. Something must occupy that position.
16
+ *
17
+ * Given that we have to author a message there anyway, it should say what
18
+ * happened rather than be filler. So it does: how many messages left, at
19
+ * which iteration, by which strategy, and where they still are. Unlike the
20
+ * compaction frame there is no model output involved at ALL — every character
21
+ * below is written by this library, which is why a drop has no prompt-
22
+ * injection surface to speak of.
23
+ *
24
+ * It appears ONLY when the removal reaches the window's head. A removal in
25
+ * the middle leaves the original opening turn in place, so there is no wire
26
+ * problem to solve — and splicing a lone `user` message between two assistant
27
+ * turns is its own risk. The ledger names that removal either way.
28
+ *
29
+ * It does not accumulate: the notice is an ordinary oldest turn next time
30
+ * round, so the next drop absorbs it and files a fresh one.
31
+ */
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.isDropNotice = exports.buildDropNotice = exports.DROP_NOTICE_PREFIX = void 0;
34
+ /** Opening of the authored notice. Stable — tests and readers match on it. */
35
+ exports.DROP_NOTICE_PREFIX = '[dropped history';
36
+ /**
37
+ * Build the message that takes the head position after a drop.
38
+ *
39
+ * `role: 'user'` for the same reason the compaction frame is: it is the head
40
+ * of the window, and the head of the window must be a user turn.
41
+ */
42
+ function buildDropNotice(facts) {
43
+ return {
44
+ role: 'user',
45
+ content: `${exports.DROP_NOTICE_PREFIX} — ${facts.droppedMessageCount} earlier message(s) were dropped ` +
46
+ `from this window at iteration ${facts.iteration} by the '${facts.strategy}' window ` +
47
+ `strategy. Nothing was summarized: those turns are simply not being re-sent. They are ` +
48
+ `retained verbatim in this run's commit log.]`,
49
+ };
50
+ }
51
+ exports.buildDropNotice = buildDropNotice;
52
+ /** True when this message is a notice a previous drop wrote. */
53
+ function isDropNotice(msg) {
54
+ return msg !== undefined && msg.role === 'user' && msg.content.startsWith(exports.DROP_NOTICE_PREFIX);
55
+ }
56
+ exports.isDropNotice = isDropNotice;
57
+ //# 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;AACjE,QAAA,kBAAkB,GAAG,kBAAkB,CAAC;AAErD;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,KAI/B;IACC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EACL,GAAG,0BAAkB,MAAM,KAAK,CAAC,mBAAmB,mCAAmC;YACvF,iCAAiC,KAAK,CAAC,SAAS,YAAY,KAAK,CAAC,QAAQ,WAAW;YACrF,uFAAuF;YACvF,8CAA8C;KACjD,CAAC;AACJ,CAAC;AAbD,0CAaC;AAED,gEAAgE;AAChE,SAAgB,YAAY,CAAC,GAA2B;IACtD,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,0BAAkB,CAAC,CAAC;AAChG,CAAC;AAFD,oCAEC"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ /**
3
+ * window/options — validate a window strategy's options ONCE, at build time.
4
+ *
5
+ * Pattern: Guard functions returning a resolved config.
6
+ * Role: core/ layer. Every message here takes a `label`, because the same
7
+ * option bag arrives through two doors — `.compaction({...})` and
8
+ * `summarizeOldest({...})` — and an error should name the door the
9
+ * caller actually used. One implementation, so the two doors can
10
+ * never drift into validating differently.
11
+ * Emits: N/A.
12
+ *
13
+ * Everything fails at `.build()`, never mid-run. A window policy that turns
14
+ * out to be nonsense on iteration 40 of a paid run is a policy that cost you
15
+ * money to discover.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.resolveTokenBudgetOptions = exports.resolveSlidingWindowOptions = exports.resolveCompactionOptions = exports.DEFAULT_KEEP_RECENT_TURNS = void 0;
19
+ /** Default depth of the "never touch this" recent window. */
20
+ exports.DEFAULT_KEEP_RECENT_TURNS = 6;
21
+ function requireObject(options, label, shape) {
22
+ if (options === null || typeof options !== 'object') {
23
+ throw new Error(`${label}: expected an options object (${shape}), got ${typeof options}.`);
24
+ }
25
+ }
26
+ function requireThreshold(thresholdTokens, label) {
27
+ if (typeof thresholdTokens !== 'number' ||
28
+ !Number.isFinite(thresholdTokens) ||
29
+ thresholdTokens <= 0) {
30
+ throw new Error(`${label}: thresholdTokens must be a positive number of tokens, got ` +
31
+ `${String(thresholdTokens)}. There is no default: the right budget depends on your ` +
32
+ `model and your bill, and a number this library invented would be inherited silently ` +
33
+ `by every run.`);
34
+ }
35
+ }
36
+ function requireKeepRecentTurns(keepRecentTurns, label) {
37
+ if (!Number.isInteger(keepRecentTurns) || keepRecentTurns < 1) {
38
+ throw new Error(`${label}: keepRecentTurns must be an integer >= 1, got ${String(keepRecentTurns)}. ` +
39
+ `Keeping zero recent turns would remove the turn the model is reasoning over right now.`);
40
+ }
41
+ }
42
+ /**
43
+ * Validate `.compaction()` / `summarizeOldest()` options.
44
+ *
45
+ * @param label the door being used, so the error names it
46
+ */
47
+ function resolveCompactionOptions(options, label) {
48
+ requireObject(options, label, '{ thresholdTokens, summarizer, ... }');
49
+ const { thresholdTokens, summarizer, keepRecentTurns, model } = options;
50
+ requireThreshold(thresholdTokens, label);
51
+ if (summarizer === null ||
52
+ typeof summarizer !== 'object' ||
53
+ typeof summarizer.complete !== 'function') {
54
+ throw new Error(`${label}: summarizer must be an LLMProvider (an object with a ` +
55
+ 'complete() method). It is explicit on purpose — the library will not quietly bill ' +
56
+ 'your main model for compaction. Pass a cheap provider/model here.');
57
+ }
58
+ if (keepRecentTurns !== undefined)
59
+ requireKeepRecentTurns(keepRecentTurns, label);
60
+ if (model !== undefined && (typeof model !== 'string' || model.length === 0)) {
61
+ throw new Error(`${label}: model must be a non-empty model id, got ${String(model)}.`);
62
+ }
63
+ return {
64
+ thresholdTokens,
65
+ keepRecentTurns: keepRecentTurns ?? exports.DEFAULT_KEEP_RECENT_TURNS,
66
+ summarizer,
67
+ model,
68
+ };
69
+ }
70
+ exports.resolveCompactionOptions = resolveCompactionOptions;
71
+ /** Validate `slidingWindow()` options. */
72
+ function resolveSlidingWindowOptions(options, label) {
73
+ requireObject(options, label, '{ keepRecentTurns }');
74
+ const { keepRecentTurns } = options;
75
+ if (keepRecentTurns === undefined) {
76
+ throw new Error(`${label}: keepRecentTurns is required and has no default. It IS the policy — how much ` +
77
+ `past your agent needs is a fact about your agent, not about this library.`);
78
+ }
79
+ requireKeepRecentTurns(keepRecentTurns, label);
80
+ return { keepRecentTurns };
81
+ }
82
+ exports.resolveSlidingWindowOptions = resolveSlidingWindowOptions;
83
+ /** Validate `tokenBudget()` options. */
84
+ function resolveTokenBudgetOptions(options, label) {
85
+ requireObject(options, label, '{ thresholdTokens, keepRecentTurns? }');
86
+ const { thresholdTokens, keepRecentTurns } = options;
87
+ requireThreshold(thresholdTokens, label);
88
+ if (keepRecentTurns !== undefined)
89
+ requireKeepRecentTurns(keepRecentTurns, label);
90
+ return { thresholdTokens, keepRecentTurns: keepRecentTurns ?? exports.DEFAULT_KEEP_RECENT_TURNS };
91
+ }
92
+ exports.resolveTokenBudgetOptions = resolveTokenBudgetOptions;
93
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/core/agent/window/options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /**
3
+ * window/removal — "these messages left" → the facts the ledger needs.
4
+ *
5
+ * Pattern: Pure function over the meter's provenance.
6
+ * Role: core/ layer. The stage binds this into every
7
+ * `WindowStrategyInput.removalFacts`, so a strategy can name what it
8
+ * removed without ever touching the meter — and cannot file a
9
+ * removal it is unable to name.
10
+ * Emits: N/A.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.indexRange = exports.removalFacts = void 0;
14
+ /**
15
+ * Resolve which stages wrote the removed messages, and how long each lived.
16
+ *
17
+ * `survivalMs` is measured (`atMs - bornAtMs`), and is 0 — not a guess — when
18
+ * a message's birth is unknown, which happens only for a window seeded from
19
+ * outside this run.
20
+ */
21
+ function removalFacts(origins, indices, atMs) {
22
+ const removedStageIds = [];
23
+ const evictions = [];
24
+ for (const index of indices) {
25
+ const origin = origins[index];
26
+ if (origin !== undefined && !removedStageIds.includes(origin.stageId)) {
27
+ removedStageIds.push(origin.stageId);
28
+ }
29
+ evictions.push({
30
+ index,
31
+ survivalMs: origin === undefined ? 0 : Math.max(0, atMs - origin.bornAtMs),
32
+ });
33
+ }
34
+ return { removedStageIds, evictions };
35
+ }
36
+ exports.removalFacts = removalFacts;
37
+ /** `[from, toExclusive)` as a list of indices. */
38
+ function indexRange(from, toExclusive) {
39
+ const out = [];
40
+ for (let i = from; i < toExclusive; i++)
41
+ out.push(i);
42
+ return out;
43
+ }
44
+ exports.indexRange = indexRange;
45
+ //# sourceMappingURL=removal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removal.js","sourceRoot":"","sources":["../../../../src/core/agent/window/removal.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAKH;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,OAAiC,EACjC,OAA0B,EAC1B,IAAY;IAEZ,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,SAAS,CAAC,IAAI,CAAC;YACb,KAAK;YACL,UAAU,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;SAC3E,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;AACxC,CAAC;AAlBD,oCAkBC;AAED,kDAAkD;AAClD,SAAgB,UAAU,CAAC,IAAY,EAAE,WAAmB;IAC1D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,GAAG,CAAC;AACb,CAAC;AAJD,gCAIC"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ /**
3
+ * window/strategies/drop — the mechanic both drop strategies share.
4
+ *
5
+ * Pattern: One pure function over a `WindowStrategyInput`.
6
+ * Role: core/ layer. `slidingWindow` and `tokenBudget` differ ONLY in when
7
+ * they engage and what they file; what actually leaves the window is
8
+ * decided here, once, so a refusal reason means the same thing under
9
+ * both — and under compaction, which asks the same `planRemoval`.
10
+ * Emits: N/A.
11
+ *
12
+ * A drop makes no LLM call and writes no summary. What it must still do is
13
+ * keep the request valid and keep the record honest:
14
+ *
15
+ * • the span comes from the shared refusal engine, so an unanswered tool
16
+ * call, the paused tool, a pending check-in and the recent turns never
17
+ * leave, and each refusal is named;
18
+ * • when the span reaches the window's HEAD, an authored notice takes that
19
+ * position — the window must open on a user turn (see notice.ts), and a
20
+ * message we are forced to author should tell the truth;
21
+ * • when it does not, nothing is inserted: the original opening turn is
22
+ * still there, so there is no wire problem to solve.
23
+ */
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.dropOldestSpan = void 0;
26
+ const notice_js_1 = require("../notice.js");
27
+ const removal_js_1 = require("../removal.js");
28
+ const turns_js_1 = require("../turns.js");
29
+ /**
30
+ * Drop the oldest contiguous removable span, if there is one.
31
+ *
32
+ * @param input the strategy's input, with the bound refusal engine
33
+ * @param keepRecentTurns how many trailing turns are off-limits
34
+ * @param strategyName named in the authored notice, so a reader of the
35
+ * window itself can tell which policy removed things
36
+ */
37
+ function dropOldestSpan(input, keepRecentTurns, strategyName) {
38
+ const { history, turns, iteration } = input;
39
+ const charsBefore = (0, turns_js_1.windowChars)(history);
40
+ const nothing = (refusals) => ({
41
+ refusals,
42
+ removedStageIds: [],
43
+ removedMessageCount: 0,
44
+ evictions: [],
45
+ windowCharsBefore: charsBefore,
46
+ windowCharsAfter: charsBefore,
47
+ turnsBefore: turns.length,
48
+ turnsAfter: turns.length,
49
+ });
50
+ // No `isExistingSummary` predicate: that refusal exists to stop a strategy
51
+ // spending an LLM call to re-summarize a summary. A drop spends nothing, so
52
+ // there is nothing to protect against — a stale summary is as droppable as
53
+ // any other old turn.
54
+ const plan = input.planRemoval(keepRecentTurns);
55
+ if (plan.from === -1)
56
+ return nothing(plan.refusals);
57
+ const spanStart = turns[plan.from].start;
58
+ const spanEnd = turns[plan.to].start + turns[plan.to].length;
59
+ const head = history.slice(0, spanStart);
60
+ const span = history.slice(spanStart, spanEnd);
61
+ const tail = history.slice(spanEnd);
62
+ let window;
63
+ let insertedAtMs;
64
+ const droppedAtMs = input.now();
65
+ if (spanStart === 0) {
66
+ // The head is leaving: something must open the window, and it must be a
67
+ // user turn. Author the notice — and refuse the whole drop if that notice
68
+ // would not be smaller than what it replaces, because dropping two tiny
69
+ // turns to insert a longer notice is pure loss.
70
+ const notice = (0, notice_js_1.buildDropNotice)({
71
+ droppedMessageCount: span.length,
72
+ iteration,
73
+ strategy: strategyName,
74
+ });
75
+ if (notice.content.length >= (0, turns_js_1.windowChars)(span)) {
76
+ return nothing([
77
+ { reason: 'summary-not-smaller', turnIndex: plan.from, messageIndex: spanStart },
78
+ ...plan.refusals,
79
+ ]);
80
+ }
81
+ window = [notice, ...tail];
82
+ insertedAtMs = droppedAtMs;
83
+ }
84
+ else {
85
+ window = [...head, ...tail];
86
+ }
87
+ const facts = input.removalFacts((0, removal_js_1.indexRange)(spanStart, spanEnd), droppedAtMs);
88
+ return {
89
+ refusals: plan.refusals,
90
+ window,
91
+ rebase: {
92
+ headCount: head.length,
93
+ keptTailCount: tail.length,
94
+ ...(insertedAtMs !== undefined && { insertedAtMs }),
95
+ },
96
+ removedStageIds: facts.removedStageIds,
97
+ removedMessageCount: span.length,
98
+ evictions: facts.evictions,
99
+ windowCharsBefore: charsBefore,
100
+ windowCharsAfter: (0, turns_js_1.windowChars)(window),
101
+ turnsBefore: turns.length,
102
+ turnsAfter: (0, turns_js_1.segmentTurns)(window).length,
103
+ };
104
+ }
105
+ exports.dropOldestSpan = dropOldestSpan;
106
+ //# sourceMappingURL=drop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drop.js","sourceRoot":"","sources":["../../../../../src/core/agent/window/strategies/drop.ts"],"names":[],"mappings":"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"}