@animalabs/context-manager 0.5.5 → 0.5.9

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 (111) hide show
  1. package/dist/src/adaptive/kv-control.d.ts +69 -32
  2. package/dist/src/adaptive/kv-control.d.ts.map +1 -1
  3. package/dist/src/adaptive/kv-control.js +471 -172
  4. package/dist/src/adaptive/kv-control.js.map +1 -1
  5. package/dist/src/adaptive/picker.d.ts +8 -0
  6. package/dist/src/adaptive/picker.d.ts.map +1 -1
  7. package/dist/src/adaptive/picker.js.map +1 -1
  8. package/dist/src/adaptive/strategies/kv-stable.d.ts +12 -4
  9. package/dist/src/adaptive/strategies/kv-stable.d.ts.map +1 -1
  10. package/dist/src/adaptive/strategies/kv-stable.js +14 -5
  11. package/dist/src/adaptive/strategies/kv-stable.js.map +1 -1
  12. package/dist/src/context-log.d.ts.map +1 -1
  13. package/dist/src/context-log.js +11 -0
  14. package/dist/src/context-log.js.map +1 -1
  15. package/dist/src/context-manager.d.ts +28 -1
  16. package/dist/src/context-manager.d.ts.map +1 -1
  17. package/dist/src/context-manager.js +42 -0
  18. package/dist/src/context-manager.js.map +1 -1
  19. package/dist/src/index.d.ts +3 -2
  20. package/dist/src/index.d.ts.map +1 -1
  21. package/dist/src/index.js +1 -0
  22. package/dist/src/index.js.map +1 -1
  23. package/dist/src/message-store.d.ts +60 -0
  24. package/dist/src/message-store.d.ts.map +1 -1
  25. package/dist/src/message-store.js +165 -10
  26. package/dist/src/message-store.js.map +1 -1
  27. package/dist/src/strategies/autobiographical.d.ts +207 -2
  28. package/dist/src/strategies/autobiographical.d.ts.map +1 -1
  29. package/dist/src/strategies/autobiographical.js +1283 -124
  30. package/dist/src/strategies/autobiographical.js.map +1 -1
  31. package/dist/src/strategies/index.d.ts +1 -1
  32. package/dist/src/strategies/index.d.ts.map +1 -1
  33. package/dist/src/strategies/index.js.map +1 -1
  34. package/dist/src/strategies/knowledge.d.ts +8 -0
  35. package/dist/src/strategies/knowledge.d.ts.map +1 -1
  36. package/dist/src/strategies/knowledge.js +23 -1
  37. package/dist/src/strategies/knowledge.js.map +1 -1
  38. package/dist/src/types/strategy.d.ts +82 -5
  39. package/dist/src/types/strategy.d.ts.map +1 -1
  40. package/dist/src/types/strategy.js.map +1 -1
  41. package/dist/test/adaptive/doc-plus-chat.test.js +7 -3
  42. package/dist/test/adaptive/doc-plus-chat.test.js.map +1 -1
  43. package/dist/test/adaptive/hard-fail.test.js +22 -0
  44. package/dist/test/adaptive/hard-fail.test.js.map +1 -1
  45. package/dist/test/adaptive/ingestion.test.js +3 -1
  46. package/dist/test/adaptive/ingestion.test.js.map +1 -1
  47. package/dist/test/adaptive/kv-control.test.js +17 -11
  48. package/dist/test/adaptive/kv-control.test.js.map +1 -1
  49. package/dist/test/adaptive/single-path-solve.test.d.ts +16 -0
  50. package/dist/test/adaptive/single-path-solve.test.d.ts.map +1 -0
  51. package/dist/test/adaptive/single-path-solve.test.js +204 -0
  52. package/dist/test/adaptive/single-path-solve.test.js.map +1 -0
  53. package/dist/test/anti-redundancy-budget.test.d.ts +17 -0
  54. package/dist/test/anti-redundancy-budget.test.d.ts.map +1 -0
  55. package/dist/test/anti-redundancy-budget.test.js +197 -0
  56. package/dist/test/anti-redundancy-budget.test.js.map +1 -0
  57. package/dist/test/chunk-persistence.test.d.ts +29 -0
  58. package/dist/test/chunk-persistence.test.d.ts.map +1 -0
  59. package/dist/test/chunk-persistence.test.js +290 -0
  60. package/dist/test/chunk-persistence.test.js.map +1 -0
  61. package/dist/test/compression-dedup.test.d.ts +20 -0
  62. package/dist/test/compression-dedup.test.d.ts.map +1 -0
  63. package/dist/test/compression-dedup.test.js +92 -0
  64. package/dist/test/compression-dedup.test.js.map +1 -0
  65. package/dist/test/compression-shape-invariants.test.js +40 -3
  66. package/dist/test/compression-shape-invariants.test.js.map +1 -1
  67. package/dist/test/head-window-order.test.d.ts +19 -0
  68. package/dist/test/head-window-order.test.d.ts.map +1 -0
  69. package/dist/test/head-window-order.test.js +159 -0
  70. package/dist/test/head-window-order.test.js.map +1 -0
  71. package/dist/test/image-strip-render-stats.test.js +25 -3
  72. package/dist/test/image-strip-render-stats.test.js.map +1 -1
  73. package/dist/test/knowledge-tool-boundary.test.d.ts +14 -0
  74. package/dist/test/knowledge-tool-boundary.test.d.ts.map +1 -0
  75. package/dist/test/knowledge-tool-boundary.test.js +93 -0
  76. package/dist/test/knowledge-tool-boundary.test.js.map +1 -0
  77. package/dist/test/l1-holdback.test.d.ts +15 -0
  78. package/dist/test/l1-holdback.test.d.ts.map +1 -0
  79. package/dist/test/l1-holdback.test.js +119 -0
  80. package/dist/test/l1-holdback.test.js.map +1 -0
  81. package/dist/test/merge-contiguity.test.d.ts +11 -0
  82. package/dist/test/merge-contiguity.test.d.ts.map +1 -0
  83. package/dist/test/merge-contiguity.test.js +74 -0
  84. package/dist/test/merge-contiguity.test.js.map +1 -0
  85. package/dist/test/message-store-window.test.d.ts +13 -0
  86. package/dist/test/message-store-window.test.d.ts.map +1 -0
  87. package/dist/test/message-store-window.test.js +177 -0
  88. package/dist/test/message-store-window.test.js.map +1 -0
  89. package/dist/test/speculation-cap.test.js +4 -0
  90. package/dist/test/speculation-cap.test.js.map +1 -1
  91. package/dist/test/summary-log-consistency.test.d.ts +18 -0
  92. package/dist/test/summary-log-consistency.test.d.ts.map +1 -0
  93. package/dist/test/summary-log-consistency.test.js +97 -0
  94. package/dist/test/summary-log-consistency.test.js.map +1 -0
  95. package/dist/test/tool-pairing-invariant.test.d.ts +15 -0
  96. package/dist/test/tool-pairing-invariant.test.d.ts.map +1 -0
  97. package/dist/test/tool-pairing-invariant.test.js +225 -0
  98. package/dist/test/tool-pairing-invariant.test.js.map +1 -0
  99. package/dist/tsconfig.tsbuildinfo +1 -1
  100. package/package.json +11 -3
  101. package/src/adaptive/kv-control.ts +509 -184
  102. package/src/adaptive/picker.ts +8 -0
  103. package/src/adaptive/strategies/kv-stable.ts +22 -10
  104. package/src/context-log.ts +11 -0
  105. package/src/context-manager.ts +48 -2
  106. package/src/index.ts +3 -2
  107. package/src/message-store.ts +202 -9
  108. package/src/strategies/autobiographical.ts +1343 -148
  109. package/src/strategies/index.ts +1 -1
  110. package/src/strategies/knowledge.ts +25 -1
  111. package/src/types/strategy.ts +89 -5
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,KAAK,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACnH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAG/F,YAAY,EAEV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAElB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,aAAa,EAEb,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,eAAe,EACf,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACvH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,KAAK,gCAAgC,EAAE,KAAK,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC/H,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAG/F,YAAY,EAEV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAElB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,aAAa,EAEb,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,eAAe,EACf,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/src/index.js CHANGED
@@ -4,6 +4,7 @@ export { ContextManager } from './context-manager.js';
4
4
  export { phaseChannel, enterPhase, withPhase, withPhaseAsync } from './phase-channel.js';
5
5
  // Storage
6
6
  export { MessageStore } from './message-store.js';
7
+ export { concatBodyGroups } from './adaptive/render.js';
7
8
  export { ContextLog } from './context-log.js';
8
9
  export { BlobManager } from './blob-manager.js';
9
10
  // Strategies
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,uDAAuD;AACvD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzF,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,aAAa;AACb,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAyC,MAAM,kCAAkC,CAAC;AACnH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,YAAY;AACZ,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAoC/F,OAAO,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,uDAAuD;AACvD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzF,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,aAAa;AACb,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAqD,MAAM,kCAAkC,CAAC;AAC/H,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,YAAY;AACZ,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAoC/F,OAAO,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -24,6 +24,37 @@ export type MessageStoreEvent = {
24
24
  * Listener for message store events.
25
25
  */
26
26
  export type MessageStoreListener = (event: MessageStoreEvent) => void;
27
+ /**
28
+ * Options for windowed message reads.
29
+ */
30
+ export interface MessageWindowOptions {
31
+ /**
32
+ * Re-inline blob media (images/documents) into content blocks, matching
33
+ * the behavior of get()/getAll(). Default true. Viewers that only need
34
+ * text/thinking/tool blocks should pass false to avoid inflating large
35
+ * base64 payloads.
36
+ */
37
+ resolveBlobs?: boolean;
38
+ /**
39
+ * Extend the window edges outward so that no bodyGroup (shard run of a
40
+ * single large message) is split across the window boundary. Default
41
+ * false (exact offset/limit semantics).
42
+ */
43
+ alignToBodyGroups?: boolean;
44
+ }
45
+ /**
46
+ * A window of messages plus enough metadata to page through the store.
47
+ */
48
+ export interface MessageWindow {
49
+ messages: StoredMessage[];
50
+ /**
51
+ * Actual first slot index of the returned window. May be lower than the
52
+ * requested offset when alignToBodyGroups extended the window backward.
53
+ */
54
+ startIndex: number;
55
+ /** Total number of messages in the store at read time. */
56
+ totalCount: number;
57
+ }
27
58
  /**
28
59
  * Options for token estimation.
29
60
  */
@@ -123,8 +154,17 @@ export declare class MessageStore {
123
154
  * Get all messages.
124
155
  */
125
156
  getAll(): StoredMessage[];
157
+ /**
158
+ * Get a window of messages by slot index — O(window), not O(all).
159
+ *
160
+ * Backed by chronicle's `getStateSlice` (0.2.2+) with a
161
+ * full-materialization fallback for older chronicle copies, mirroring
162
+ * the feature-detect in getInternal().
163
+ */
164
+ getWindow(offset: number, limit: number, opts?: MessageWindowOptions): MessageWindow;
126
165
  /**
127
166
  * Get messages from a specific index.
167
+ * Negative indices count from the end, matching Array.prototype.slice.
128
168
  */
129
169
  getFrom(index: number): StoredMessage[];
130
170
  /**
@@ -139,7 +179,26 @@ export declare class MessageStore {
139
179
  * Estimate tokens for a message.
140
180
  */
141
181
  estimateTokens(message: StoredMessage): number;
182
+ /**
183
+ * Closed-loop calibration multiplier applied to every estimate (default 1).
184
+ * Owned by the strategy: it compares real `usage` totals against the
185
+ * compile-time estimate and feeds the EMA back here, so the store's
186
+ * numbers track the live model/content mix instead of a fixed heuristic.
187
+ */
188
+ private tokenCalibration;
189
+ setTokenCalibration(factor: number): void;
190
+ getTokenCalibration(): number;
191
+ /**
192
+ * Hidden-CoT price for a signed thinking block whose text was summarized/
193
+ * redacted away (2026-07-12): the block estimates as EMPTY client-side, but
194
+ * signed replay bills the FULL original chain of thought. Measured on
195
+ * mythos production turns: median ~608 tokens/block, mean ~590, p90 ~1210.
196
+ * A per-block `tokenEstimate` stamped at creation (from usage residuals)
197
+ * takes precedence; this constant is the fallback for unstamped history.
198
+ */
199
+ static readonly HIDDEN_THINKING_TOKENS_DEFAULT = 600;
142
200
  private estimateBlockTokens;
201
+ private estimateBlockTokensRaw;
143
202
  /**
144
203
  * Create a read-only view of the store for strategies.
145
204
  */
@@ -164,6 +223,7 @@ export declare class MessageStore {
164
223
  */
165
224
  private getNestedValue;
166
225
  private getAllInternal;
226
+ private getSliceInternal;
167
227
  private getInternal;
168
228
  private internalToStored;
169
229
  }
@@ -1 +1 @@
1
- {"version":3,"file":"message-store.d.ts","sourceRoot":"","sources":["../../src/message-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-store.d.ts","sourceRoot":"","sources":["../../src/message-store.ts"],"names":[],"mappings":"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"}
@@ -258,18 +258,67 @@ export class MessageStore {
258
258
  const internals = this.getAllInternal();
259
259
  return internals.map((internal, i) => this.internalToStored(internal, internal.id, i));
260
260
  }
261
+ /**
262
+ * Get a window of messages by slot index — O(window), not O(all).
263
+ *
264
+ * Backed by chronicle's `getStateSlice` (0.2.2+) with a
265
+ * full-materialization fallback for older chronicle copies, mirroring
266
+ * the feature-detect in getInternal().
267
+ */
268
+ getWindow(offset, limit, opts = {}) {
269
+ const totalCount = this.length();
270
+ let start = Math.max(0, Math.min(offset, totalCount));
271
+ let end = Math.min(start + Math.max(0, limit), totalCount);
272
+ if (start >= end) {
273
+ return { messages: [], startIndex: Math.min(start, totalCount), totalCount };
274
+ }
275
+ if (opts.alignToBodyGroups) {
276
+ // Shards of a bodyGroup are contiguous by construction (removeRange
277
+ // refuses to bisect a group). Walk edges outward with O(item) point
278
+ // lookups until the group boundary.
279
+ const first = this.getInternal(start);
280
+ if (first?.bodyGroupId !== undefined) {
281
+ while (start > 0) {
282
+ const prev = this.getInternal(start - 1);
283
+ if (prev?.bodyGroupId !== first.bodyGroupId)
284
+ break;
285
+ start--;
286
+ }
287
+ }
288
+ const last = this.getInternal(end - 1);
289
+ if (last?.bodyGroupId !== undefined) {
290
+ while (end < totalCount) {
291
+ const next = this.getInternal(end);
292
+ if (next?.bodyGroupId !== last.bodyGroupId)
293
+ break;
294
+ end++;
295
+ }
296
+ }
297
+ }
298
+ const internals = this.getSliceInternal(start, end - start);
299
+ const resolveBlobs = opts.resolveBlobs !== false;
300
+ return {
301
+ messages: internals.map((internal, i) => this.internalToStored(internal, internal.id, start + i, resolveBlobs)),
302
+ startIndex: start,
303
+ totalCount,
304
+ };
305
+ }
261
306
  /**
262
307
  * Get messages from a specific index.
308
+ * Negative indices count from the end, matching Array.prototype.slice.
263
309
  */
264
310
  getFrom(index) {
265
- return this.getAll().slice(index);
311
+ const len = this.length();
312
+ const start = index < 0 ? Math.max(0, len + index) : Math.min(index, len);
313
+ return this.getWindow(start, len - start).messages;
266
314
  }
267
315
  /**
268
316
  * Get the last N messages.
269
317
  */
270
318
  getTail(count) {
271
- const all = this.getAll();
272
- return all.slice(Math.max(0, all.length - count));
319
+ const len = this.length();
320
+ const n = Math.max(0, Math.min(count, len));
321
+ return this.getWindow(len - n, n).messages;
273
322
  }
274
323
  /**
275
324
  * Get the total number of messages.
@@ -287,22 +336,59 @@ export class MessageStore {
287
336
  }
288
337
  return tokens;
289
338
  }
339
+ /**
340
+ * Closed-loop calibration multiplier applied to every estimate (default 1).
341
+ * Owned by the strategy: it compares real `usage` totals against the
342
+ * compile-time estimate and feeds the EMA back here, so the store's
343
+ * numbers track the live model/content mix instead of a fixed heuristic.
344
+ */
345
+ tokenCalibration = 1;
346
+ setTokenCalibration(factor) {
347
+ if (Number.isFinite(factor) && factor > 0.25 && factor < 4)
348
+ this.tokenCalibration = factor;
349
+ }
350
+ getTokenCalibration() {
351
+ return this.tokenCalibration;
352
+ }
353
+ /**
354
+ * Hidden-CoT price for a signed thinking block whose text was summarized/
355
+ * redacted away (2026-07-12): the block estimates as EMPTY client-side, but
356
+ * signed replay bills the FULL original chain of thought. Measured on
357
+ * mythos production turns: median ~608 tokens/block, mean ~590, p90 ~1210.
358
+ * A per-block `tokenEstimate` stamped at creation (from usage residuals)
359
+ * takes precedence; this constant is the fallback for unstamped history.
360
+ */
361
+ static HIDDEN_THINKING_TOKENS_DEFAULT = 600;
290
362
  estimateBlockTokens(block) {
363
+ return Math.round(this.estimateBlockTokensRaw(block) * this.tokenCalibration);
364
+ }
365
+ estimateBlockTokensRaw(block) {
291
366
  switch (block.type) {
292
367
  case 'text':
293
368
  return this.tokenEstimator(block.text);
294
- case 'thinking':
369
+ case 'thinking': {
370
+ // Stamped price wins; a signed-but-empty block is a HIDDEN full CoT
371
+ // (never "no thinking") — price it at the measured default.
372
+ const stamped = block.tokenEstimate;
373
+ if (typeof stamped === 'number')
374
+ return stamped;
375
+ const hasSignature = typeof block.signature === 'string' &&
376
+ block.signature.length > 0;
377
+ if (hasSignature && (!block.thinking || block.thinking.length === 0)) {
378
+ return MessageStore.HIDDEN_THINKING_TOKENS_DEFAULT;
379
+ }
295
380
  return this.tokenEstimator(block.thinking);
381
+ }
296
382
  case 'tool_use':
297
- return this.tokenEstimator(JSON.stringify(block.input)) + 20; // overhead for name, id
383
+ return jsonTokenEstimator(JSON.stringify(block.input)) + 20; // overhead for name, id
298
384
  case 'tool_result':
299
385
  if (!block.content)
300
386
  return 0;
301
387
  if (typeof block.content === 'string') {
302
- return this.tokenEstimator(block.content);
388
+ return jsonTokenEstimator(block.content);
303
389
  }
304
390
  if (Array.isArray(block.content)) {
305
- return block.content.reduce((sum, b) => sum + this.estimateBlockTokens(b), 0);
391
+ return block.content.reduce((sum, b) => sum + this.estimateBlockTokensRaw(b), 0);
306
392
  }
307
393
  return 0;
308
394
  case 'image':
@@ -325,6 +411,8 @@ export class MessageStore {
325
411
  getFrom: (index) => this.getFrom(index),
326
412
  getTail: (count) => this.getTail(count),
327
413
  length: () => this.length(),
414
+ setTokenCalibration: (f) => this.setTokenCalibration(f),
415
+ getTokenCalibration: () => this.getTokenCalibration(),
328
416
  estimateTokens: (msg) => this.estimateTokens(msg),
329
417
  };
330
418
  }
@@ -423,11 +511,39 @@ export class MessageStore {
423
511
  }
424
512
  return state;
425
513
  }
514
+ getSliceInternal(offset, limit) {
515
+ // Windowed read — O(window) JSON conversion instead of materializing
516
+ // the entire state slot. getStateSlice landed in chronicle 0.2.2 and
517
+ // returns the window as a JSON-array Buffer; feature-detect so boxes
518
+ // on <= 0.2.1 fall back to full materialization (same pattern as
519
+ // getInternal below).
520
+ const s = this.store;
521
+ if (typeof s.getStateSlice === 'function') {
522
+ const buf = s.getStateSlice(this.stateId, offset, limit);
523
+ if (!buf)
524
+ return [];
525
+ return JSON.parse(buf.toString('utf-8'));
526
+ }
527
+ return this.getAllInternal().slice(offset, offset + limit);
528
+ }
426
529
  getInternal(index) {
530
+ // Point lookup through chronicle's per-item cache — O(item size).
531
+ // Never fetch the full state for a single index: with a 4.6k-message
532
+ // session, each full `getStateJson` materialization cost ~15ms, and
533
+ // per-entry get() loops turned renders into minutes (observed on
534
+ // Lena, 2026-07-02, /debug/context at 51–108s).
535
+ //
536
+ // Feature-detect: getStateItemJson landed in chronicle 0.2.2; boxes
537
+ // still on <= 0.2.1 (npm copies) fall back to the full-materialization
538
+ // path so a routine `git pull` of this package can never crash them.
539
+ if (typeof this.store.getStateItemJson === 'function') {
540
+ const item = this.store.getStateItemJson(this.stateId, index);
541
+ return item ?? null;
542
+ }
427
543
  const all = this.getAllInternal();
428
544
  return all[index] ?? null;
429
545
  }
430
- internalToStored(internal, id, _index) {
546
+ internalToStored(internal, id, _index, resolveBlobs = true) {
431
547
  const stored = {
432
548
  id,
433
549
  // chronicle record sequence captured when the message was appended
@@ -443,7 +559,12 @@ export class MessageStore {
443
559
  // so /undo of a 800-message conversation forked ~400 messages back.
444
560
  sequence: internal.sequence,
445
561
  participant: internal.participant,
446
- content: this.blobManager.resolveBlobs(internal.content),
562
+ // When resolveBlobs is false, blob_ref placeholder blocks are passed
563
+ // through un-inflated (StoredContentBlock ⊂ wire-safe superset of
564
+ // ContentBlock for viewer purposes).
565
+ content: resolveBlobs
566
+ ? this.blobManager.resolveBlobs(internal.content)
567
+ : internal.content,
447
568
  metadata: internal.metadata,
448
569
  timestamp: new Date(internal.timestamp),
449
570
  causedBy: internal.causedBy,
@@ -463,7 +584,41 @@ export class MessageStore {
463
584
  /**
464
585
  * Default token estimator: chars / 4
465
586
  */
587
+ /**
588
+ * Content-class token rates (2026-07-12, measured on mythos production
589
+ * requests by reconciling real `usage` against per-class char counts):
590
+ * - prose (Discord multiparty, markdown, emoji) ≈ 2.9 chars/token
591
+ * - JSON / tool i/o / code ≈ 2.3 chars/token
592
+ * The old flat chars/4 under-priced real windows by ~1.7-1.9x (a 183.6k
593
+ * "hard budget" compiled to a 344k request — straight into the refusal
594
+ * band). Rates are deliberately slightly conservative; the closed-loop
595
+ * calibration multiplier trims the residual per agent.
596
+ */
597
+ const PROSE_CHARS_PER_TOKEN = 2.9;
598
+ const DENSE_CHARS_PER_TOKEN = 2.3;
466
599
  function defaultTokenEstimator(text) {
467
- return Math.ceil(text.length / 4);
600
+ if (!text)
601
+ return 0;
602
+ // Cheap density probe: JSON/code punctuation and non-ASCII share.
603
+ let dense = 0;
604
+ const n = Math.min(text.length, 2000);
605
+ for (let i = 0; i < n; i++) {
606
+ const c = text.charCodeAt(i);
607
+ if (c > 126) {
608
+ dense++;
609
+ continue;
610
+ } // non-ASCII (emoji, accents, CJK)
611
+ const ch = text[i];
612
+ if (ch === '{' || ch === '}' || ch === '[' || ch === ']' || ch === '"' || ch === ':' || ch === '_' || ch === '/' || ch === '=' || ch === '`')
613
+ dense++;
614
+ }
615
+ const rate = dense / n > 0.12 ? DENSE_CHARS_PER_TOKEN : PROSE_CHARS_PER_TOKEN;
616
+ return Math.ceil(text.length / rate);
617
+ }
618
+ /** JSON-ish payloads (tool inputs/results) always use the dense rate. */
619
+ function jsonTokenEstimator(text) {
620
+ if (!text)
621
+ return 0;
622
+ return Math.ceil(text.length / DENSE_CHARS_PER_TOKEN);
468
623
  }
469
624
  //# sourceMappingURL=message-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-store.js","sourceRoot":"","sources":["../../src/message-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-store.js","sourceRoot":"","sources":["../../src/message-store.ts"],"names":[],"mappings":"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"}