@animalabs/context-manager 0.4.0 → 0.5.1

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 (128) hide show
  1. package/dist/src/adaptive/chunker.d.ts +70 -0
  2. package/dist/src/adaptive/chunker.d.ts.map +1 -0
  3. package/dist/src/adaptive/chunker.js +233 -0
  4. package/dist/src/adaptive/chunker.js.map +1 -0
  5. package/dist/src/adaptive/folding-strategy.d.ts +118 -0
  6. package/dist/src/adaptive/folding-strategy.d.ts.map +1 -0
  7. package/dist/src/adaptive/folding-strategy.js +12 -0
  8. package/dist/src/adaptive/folding-strategy.js.map +1 -0
  9. package/dist/src/adaptive/index.d.ts +17 -0
  10. package/dist/src/adaptive/index.d.ts.map +1 -0
  11. package/dist/src/adaptive/index.js +23 -0
  12. package/dist/src/adaptive/index.js.map +1 -0
  13. package/dist/src/adaptive/picker.d.ts +103 -0
  14. package/dist/src/adaptive/picker.d.ts.map +1 -0
  15. package/dist/src/adaptive/picker.js +357 -0
  16. package/dist/src/adaptive/picker.js.map +1 -0
  17. package/dist/src/adaptive/render.d.ts +39 -0
  18. package/dist/src/adaptive/render.d.ts.map +1 -0
  19. package/dist/src/adaptive/render.js +104 -0
  20. package/dist/src/adaptive/render.js.map +1 -0
  21. package/dist/src/adaptive/strategies/flat-profile.d.ts +19 -0
  22. package/dist/src/adaptive/strategies/flat-profile.d.ts.map +1 -0
  23. package/dist/src/adaptive/strategies/flat-profile.js +86 -0
  24. package/dist/src/adaptive/strategies/flat-profile.js.map +1 -0
  25. package/dist/src/adaptive/strategies/oldest-first.d.ts +19 -0
  26. package/dist/src/adaptive/strategies/oldest-first.d.ts.map +1 -0
  27. package/dist/src/adaptive/strategies/oldest-first.js +39 -0
  28. package/dist/src/adaptive/strategies/oldest-first.js.map +1 -0
  29. package/dist/src/context-manager.d.ts +5 -0
  30. package/dist/src/context-manager.d.ts.map +1 -1
  31. package/dist/src/context-manager.js +22 -0
  32. package/dist/src/context-manager.js.map +1 -1
  33. package/dist/src/index.d.ts +1 -1
  34. package/dist/src/index.d.ts.map +1 -1
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/message-store.d.ts +36 -1
  37. package/dist/src/message-store.d.ts.map +1 -1
  38. package/dist/src/message-store.js +134 -8
  39. package/dist/src/message-store.js.map +1 -1
  40. package/dist/src/strategies/autobiographical.d.ts +217 -2
  41. package/dist/src/strategies/autobiographical.d.ts.map +1 -1
  42. package/dist/src/strategies/autobiographical.js +1525 -37
  43. package/dist/src/strategies/autobiographical.js.map +1 -1
  44. package/dist/src/strategies/index.d.ts +1 -1
  45. package/dist/src/strategies/index.d.ts.map +1 -1
  46. package/dist/src/strategies/index.js.map +1 -1
  47. package/dist/src/types/message.d.ts +38 -0
  48. package/dist/src/types/message.d.ts.map +1 -1
  49. package/dist/src/types/strategy.d.ts +106 -10
  50. package/dist/src/types/strategy.d.ts.map +1 -1
  51. package/dist/src/types/strategy.js +7 -0
  52. package/dist/src/types/strategy.js.map +1 -1
  53. package/dist/test/adaptive/branching.test.d.ts +20 -0
  54. package/dist/test/adaptive/branching.test.d.ts.map +1 -0
  55. package/dist/test/adaptive/branching.test.js +176 -0
  56. package/dist/test/adaptive/branching.test.js.map +1 -0
  57. package/dist/test/adaptive/chunker.test.d.ts +2 -0
  58. package/dist/test/adaptive/chunker.test.d.ts.map +1 -0
  59. package/dist/test/adaptive/chunker.test.js +120 -0
  60. package/dist/test/adaptive/chunker.test.js.map +1 -0
  61. package/dist/test/adaptive/deep-levels.test.d.ts +10 -0
  62. package/dist/test/adaptive/deep-levels.test.d.ts.map +1 -0
  63. package/dist/test/adaptive/deep-levels.test.js +167 -0
  64. package/dist/test/adaptive/deep-levels.test.js.map +1 -0
  65. package/dist/test/adaptive/doc-plus-chat.test.d.ts +10 -0
  66. package/dist/test/adaptive/doc-plus-chat.test.d.ts.map +1 -0
  67. package/dist/test/adaptive/doc-plus-chat.test.js +194 -0
  68. package/dist/test/adaptive/doc-plus-chat.test.js.map +1 -0
  69. package/dist/test/adaptive/hard-fail.test.d.ts +9 -0
  70. package/dist/test/adaptive/hard-fail.test.d.ts.map +1 -0
  71. package/dist/test/adaptive/hard-fail.test.js +154 -0
  72. package/dist/test/adaptive/hard-fail.test.js.map +1 -0
  73. package/dist/test/adaptive/harness.d.ts +109 -0
  74. package/dist/test/adaptive/harness.d.ts.map +1 -0
  75. package/dist/test/adaptive/harness.js +263 -0
  76. package/dist/test/adaptive/harness.js.map +1 -0
  77. package/dist/test/adaptive/ingestion.test.d.ts +13 -0
  78. package/dist/test/adaptive/ingestion.test.d.ts.map +1 -0
  79. package/dist/test/adaptive/ingestion.test.js +306 -0
  80. package/dist/test/adaptive/ingestion.test.js.map +1 -0
  81. package/dist/test/adaptive/integration.test.d.ts +12 -0
  82. package/dist/test/adaptive/integration.test.d.ts.map +1 -0
  83. package/dist/test/adaptive/integration.test.js +247 -0
  84. package/dist/test/adaptive/integration.test.js.map +1 -0
  85. package/dist/test/adaptive/long-chronicle.test.d.ts +13 -0
  86. package/dist/test/adaptive/long-chronicle.test.d.ts.map +1 -0
  87. package/dist/test/adaptive/long-chronicle.test.js +186 -0
  88. package/dist/test/adaptive/long-chronicle.test.js.map +1 -0
  89. package/dist/test/adaptive/persistence.test.d.ts +11 -0
  90. package/dist/test/adaptive/persistence.test.d.ts.map +1 -0
  91. package/dist/test/adaptive/persistence.test.js +200 -0
  92. package/dist/test/adaptive/persistence.test.js.map +1 -0
  93. package/dist/test/adaptive/picker.test.d.ts +2 -0
  94. package/dist/test/adaptive/picker.test.d.ts.map +1 -0
  95. package/dist/test/adaptive/picker.test.js +333 -0
  96. package/dist/test/adaptive/picker.test.js.map +1 -0
  97. package/dist/test/adaptive/render.test.d.ts +2 -0
  98. package/dist/test/adaptive/render.test.d.ts.map +1 -0
  99. package/dist/test/adaptive/render.test.js +109 -0
  100. package/dist/test/adaptive/render.test.js.map +1 -0
  101. package/dist/test/adaptive/shard-immutability.test.d.ts +14 -0
  102. package/dist/test/adaptive/shard-immutability.test.d.ts.map +1 -0
  103. package/dist/test/adaptive/shard-immutability.test.js +184 -0
  104. package/dist/test/adaptive/shard-immutability.test.js.map +1 -0
  105. package/dist/test/adaptive/strategy-integration.test.d.ts +9 -0
  106. package/dist/test/adaptive/strategy-integration.test.d.ts.map +1 -0
  107. package/dist/test/adaptive/strategy-integration.test.js +293 -0
  108. package/dist/test/adaptive/strategy-integration.test.js.map +1 -0
  109. package/dist/test/message-store-sequence.test.d.ts +25 -0
  110. package/dist/test/message-store-sequence.test.d.ts.map +1 -0
  111. package/dist/test/message-store-sequence.test.js +157 -0
  112. package/dist/test/message-store-sequence.test.js.map +1 -0
  113. package/dist/tsconfig.tsbuildinfo +1 -1
  114. package/package.json +1 -1
  115. package/src/adaptive/chunker.ts +323 -0
  116. package/src/adaptive/folding-strategy.ts +129 -0
  117. package/src/adaptive/index.ts +51 -0
  118. package/src/adaptive/picker.ts +442 -0
  119. package/src/adaptive/render.ts +115 -0
  120. package/src/adaptive/strategies/flat-profile.ts +96 -0
  121. package/src/adaptive/strategies/oldest-first.ts +48 -0
  122. package/src/context-manager.ts +32 -0
  123. package/src/index.ts +1 -1
  124. package/src/message-store.ts +147 -8
  125. package/src/strategies/autobiographical.ts +1635 -38
  126. package/src/strategies/index.ts +1 -1
  127. package/src/types/message.ts +43 -0
  128. package/src/types/strategy.ts +122 -10
@@ -2,6 +2,10 @@ import type { JsStore } from '@animalabs/chronicle';
2
2
  import type { ContentBlock } from '@animalabs/membrane';
3
3
  import { NativeFormatter } from '@animalabs/membrane';
4
4
  import type { ResettableStrategy, StrategyContext, ReadinessState, MessageStoreView, ContextLogView, TokenBudget, ContextEntry, StoredMessage, AutobiographicalConfig, SummaryLevel, SummaryEntry, ProtectedRange, SearchQuery, SearchResult } from '../types/index.js';
5
+ import { Picker } from '../adaptive/picker.js';
6
+ import type { FoldOp } from '../adaptive/folding-strategy.js';
7
+ import type { MessageId } from '../types/message.js';
8
+ import type { IngressChunkResult } from '../types/strategy.js';
5
9
  /**
6
10
  * Chunk of messages to be compressed.
7
11
  */
@@ -27,6 +31,30 @@ export interface Chunk {
27
31
  /** Phase type tag (set by KnowledgeStrategy for semantic chunking) */
28
32
  phaseType?: string;
29
33
  }
34
+ /**
35
+ * Point-in-time snapshot of compression progress, returned from
36
+ * `AutobiographicalStrategy.getProgressSnapshot()`. External observers
37
+ * (warmup scripts, dashboards) use this to track convergence without
38
+ * reaching into the strategy's protected fields.
39
+ */
40
+ export interface AutobiographicalProgressSnapshot {
41
+ /** All chunks the strategy is tracking, compressed or not. */
42
+ totalChunks: number;
43
+ /** Chunks that already have an L1 summary. */
44
+ chunksCompressed: number;
45
+ /** Chunks queued for L1 compression. */
46
+ l1QueueLength: number;
47
+ /** Pending L1→L2 and L2→L3 merges. */
48
+ mergeQueueLength: number;
49
+ /** Stored summary counts per level (1 = raw L1, 2 = L1→L2 merge, 3 = L2→L3 merge). */
50
+ summaryCounts: {
51
+ l1: number;
52
+ l2: number;
53
+ l3: number;
54
+ };
55
+ /** True if a compression or merge LLM call is currently in flight. */
56
+ pending: boolean;
57
+ }
30
58
  /**
31
59
  * Autobiographical chunking strategy.
32
60
  * Compresses old conversation chunks into summaries in the model's own words.
@@ -63,11 +91,60 @@ export declare class AutobiographicalStrategy implements ResettableStrategy {
63
91
  protected get counterStateId(): string;
64
92
  protected get mergeQueueStateId(): string;
65
93
  protected get pinsStateId(): string;
94
+ protected get resolutionsStateId(): string;
95
+ protected get locksStateId(): string;
66
96
  /** Protected ranges (pins + documents). Loaded from chronicle in initialize. */
67
97
  protected pins: ProtectedRange[];
68
98
  /** Monotonically increasing counter for pin ids. Persisted as part of the pins snapshot. */
69
99
  protected pinIdCounter: number;
100
+ /**
101
+ * Per-message resolution state for the adaptive-resolution picker.
102
+ * - Key: MessageId
103
+ * - Value: currentResolution (0 = render raw, k>0 = render L_k recall)
104
+ *
105
+ * Maintained only when `config.adaptiveResolution` is true. Loaded from
106
+ * the chronicle on `initialize()` and persisted via the resolutions state
107
+ * slot so resolutions survive process restart and follow branches.
108
+ */
109
+ protected resolutions: Map<MessageId, number>;
110
+ /**
111
+ * Per-message lock state for the adaptive-resolution picker. Set via the
112
+ * programmatic `lockChunk(id)` API on the strategy. Locked messages are
113
+ * skipped by the picker. Persisted via the locks state slot.
114
+ */
115
+ protected locked: Set<MessageId>;
116
+ /** Lazy picker instance, built from config.foldingStrategy. */
117
+ private _adaptivePicker;
70
118
  constructor(config?: Partial<AutobiographicalConfig>);
119
+ /**
120
+ * Lock a message so the adaptive picker won't change its resolution.
121
+ * No-op when adaptiveResolution is false. Set-only programmatic API per
122
+ * the design (no agent-facing tool in V1). Persisted to chronicle.
123
+ */
124
+ lockChunk(id: MessageId): void;
125
+ /**
126
+ * Unlock a message so the adaptive picker may again change its resolution.
127
+ * No-op when adaptiveResolution is false. Persisted to chronicle.
128
+ */
129
+ unlockChunk(id: MessageId): void;
130
+ /**
131
+ * Ingestion-time chunking hook.
132
+ *
133
+ * Active only when `config.adaptiveResolution` is true. Inspects the
134
+ * incoming message's text content; if its approximate token count
135
+ * exceeds the chunker's threshold, splits it into shards with a stable
136
+ * shared `bodyGroupId`. The framework then stores each shard as its own
137
+ * StoredMessage, and the render path concatenates them back into one
138
+ * API message at compile time (preserving KV cache structure).
139
+ *
140
+ * Multi-block content: text blocks are concatenated for chunking, then
141
+ * the resulting shards are emitted as text blocks. Non-text blocks
142
+ * (images, tool results) are passed through unchanged on the first
143
+ * shard only — they don't get split.
144
+ *
145
+ * See `docs/adaptive-resolution-design.md` §3.6.
146
+ */
147
+ chunkIngressMessage(participant: string, content: ContentBlock[]): IngressChunkResult | null;
71
148
  initialize(ctx: StrategyContext): Promise<void>;
72
149
  /**
73
150
  * Register the three Chronicle state slots this strategy uses.
@@ -83,6 +160,11 @@ export declare class AutobiographicalStrategy implements ResettableStrategy {
83
160
  protected loadPersistedState(): void;
84
161
  /** Persist the current pins + counter as a single snapshot. */
85
162
  protected persistPins(): void;
163
+ /** Persist the current resolutions snapshot. Only stores non-zero entries
164
+ * to keep the slot compact. */
165
+ protected persistResolutions(): void;
166
+ /** Persist the current locked-id snapshot. */
167
+ protected persistLocks(): void;
86
168
  /**
87
169
  * Pin a range of messages so they aren't compressed and render raw at
88
170
  * their original position. Returns the pin id.
@@ -157,6 +239,42 @@ export declare class AutobiographicalStrategy implements ResettableStrategy {
157
239
  level: SummaryLevel;
158
240
  sourceIds: string[];
159
241
  } | undefined;
242
+ /**
243
+ * Translate produce ops emitted by the picker into concrete work items on
244
+ * the strategy's own queues. Two cases:
245
+ *
246
+ * - `level === 1`: the picker has asked for L1 coverage on a raw chunk.
247
+ * In the autobio chunker model, each chunk maps to exactly one L1, so
248
+ * we locate the chunk whose messages fall in `op.range` and ensure
249
+ * it is queued for L1 compression. If the chunker hasn't realized the
250
+ * message yet, we skip silently — the next `rebuildChunks` will pick
251
+ * it up.
252
+ *
253
+ * - `level >= 2`: the picker has asked for an L_n covering a contiguous
254
+ * range. We gather unmerged L_{n-1} summaries whose source ranges
255
+ * fall within that range (de-duplicated against entries already in
256
+ * `mergeQueue`) and enqueue a single merge over them. The merge fires
257
+ * on the next `tick()`.
258
+ *
259
+ * The handler is conservative: it never enqueues a singleton or empty
260
+ * merge, and it never re-enqueues an id that's already pending. That
261
+ * keeps the next-compile picker loop convergent even when the same
262
+ * produce op gets re-emitted before the work completes.
263
+ */
264
+ protected handleProducedOps(ops: readonly FoldOp[]): void;
265
+ /**
266
+ * Ensure that chunks whose message range overlaps [firstMsgId..lastMsgId]
267
+ * are queued for L1 compression. No-op if the matching chunk is already
268
+ * compressed or already in the queue.
269
+ */
270
+ protected enqueueL1ForRange(firstMsgId: MessageId, lastMsgId: MessageId): void;
271
+ /**
272
+ * Enqueue an L_{targetLevel} merge over unmerged L_{targetLevel-1}
273
+ * summaries whose source ranges fall within [firstMsgId..lastMsgId].
274
+ * No-op if fewer than 2 viable sources are available (a singleton merge
275
+ * would just rename a summary without consolidating).
276
+ */
277
+ protected enqueueMergeForRange(targetLevel: number, firstMsgId: MessageId, lastMsgId: MessageId): void;
160
278
  checkReadiness(): ReadinessState;
161
279
  onNewMessage(message: StoredMessage, ctx: StrategyContext): Promise<void>;
162
280
  /**
@@ -183,6 +301,13 @@ export declare class AutobiographicalStrategy implements ResettableStrategy {
183
301
  */
184
302
  protected shouldCompressPreflight(): boolean;
185
303
  tick(ctx: StrategyContext): Promise<void>;
304
+ /**
305
+ * Snapshot of compression progress. Intended for external observers
306
+ * (warmup scripts, dashboards) that need to track convergence without
307
+ * reaching into protected fields. Values are point-in-time copies; mutating
308
+ * them does not affect strategy state.
309
+ */
310
+ getProgressSnapshot(): AutobiographicalProgressSnapshot;
186
311
  select(store: MessageStoreView, log: ContextLogView, budget: TokenBudget): ContextEntry[];
187
312
  /**
188
313
  * Get summary statistics for observability.
@@ -277,26 +402,116 @@ export declare class AutobiographicalStrategy implements ResettableStrategy {
277
402
  * summaries when the queue eventually drains.
278
403
  */
279
404
  protected checkMergeThreshold(): void;
405
+ /**
406
+ * Bottom-up speculative pre-producer (design doc §3.5 / §7.2).
407
+ *
408
+ * Recursive variant of `checkMergeThreshold` for the unbounded L_n
409
+ * design. Walks every level present in the archive; for any level k
410
+ * with ≥ N orphans (no parent), enqueues an L_{k+1} merge. After that
411
+ * L_{k+1} is produced and `executeMerge` calls this again, the recursion
412
+ * naturally cascades: 6 L1s → 1 L2; 6 L2s → 1 L3; 6 L3s → 1 L4; ...
413
+ *
414
+ * Only fires when `config.speculativeProduction` is true. Default true
415
+ * for adaptiveResolution=true, false otherwise. The non-speculative path
416
+ * (above) preserves the original L1→L2→L3 behavior for non-adaptive
417
+ * deployments.
418
+ */
419
+ protected checkMergeThresholdRecursive(): void;
280
420
  /**
281
421
  * Merge N summaries at one level into a single summary at the next level.
282
422
  * Uses self-voice consolidation prompt.
283
423
  */
284
424
  protected executeMerge(targetLevel: SummaryLevel, sourceIds: string[], ctx: StrategyContext): Promise<void>;
425
+ /**
426
+ * Select context entries using the adaptive-resolution picker.
427
+ *
428
+ * Builds per-message PickerChunks from compressible messages, runs the
429
+ * configured FoldingStrategy under token-budget pressure, and emits the
430
+ * resulting per-message resolutions as ContextEntry[]. Adjacent messages
431
+ * sharing the same L_k ancestor emit the recall pair once.
432
+ *
433
+ * See `docs/adaptive-resolution-design.md` §3, §5.
434
+ */
435
+ protected selectAdaptive(store: MessageStoreView, budget: TokenBudget): ContextEntry[];
436
+ /**
437
+ * Walk an entries array; for every run of consecutive entries that
438
+ * (a) have sourceRelation: 'copy' (raw, not a synthesized recall pair)
439
+ * (b) have sourceMessageId pointing to messages in the same bodyGroup
440
+ * merge them into one composite entry whose body is the byte-faithful
441
+ * concatenation of their text content. Other entries pass through.
442
+ *
443
+ * Reindexes the returned array.
444
+ */
445
+ protected mergeAdjacentBodyGroupRaw(entries: ContextEntry[], store: MessageStoreView): ContextEntry[];
446
+ /** Get (lazily constructing) the configured picker instance. */
447
+ protected getAdaptivePicker(): Picker;
448
+ /**
449
+ * Walk the summary tree to find the L_k ancestor of a message.
450
+ * Returns null if no ancestor exists at that level (e.g., L_k not yet produced).
451
+ *
452
+ * Takes a pre-built summariesById map to avoid O(summaries) lookups per
453
+ * call — for a chronicle with thousands of summaries and hundreds of
454
+ * middle messages, the O(n) `find` would dominate compile latency.
455
+ */
456
+ protected findAncestorAt(messageId: MessageId, level: number, chunksByMessageId: ReadonlyMap<MessageId, Chunk>, summariesById?: ReadonlyMap<string, SummaryEntry>): SummaryEntry | null;
285
457
  /**
286
458
  * Select context entries using hierarchical compression with budget carryover.
287
459
  * Matches moltbot's budget waterfall: L3 → L2 → L1 with unused budget flowing down.
288
460
  */
289
461
  protected selectHierarchical(store: MessageStoreView, budget: TokenBudget): ContextEntry[];
290
462
  /**
291
- * Build the compression instruction for an L1 chunk.
292
- * Override in subclasses for phase-aware prompts.
463
+ * Build the compression instruction for an L1 chunk in the hierarchical
464
+ * path. Override in subclasses for domain-specific prompts (e.g.,
465
+ * phase-aware prompts in KnowledgeStrategy).
466
+ *
467
+ * Default returns the KV-preserving first-person instruction matching
468
+ * the hermes-autobio spec. The doc/reading-mode variant is exposed via
469
+ * {@link getReadingChunkInstruction}.
293
470
  */
294
471
  protected getCompressionInstruction(chunk: Chunk, targetTokens: number): string;
472
+ /**
473
+ * Build the compression instruction for an L1 chunk that is part of a
474
+ * substantially larger sharded message (reading mode). Override in
475
+ * subclasses if domain logic needs to vary the reading-mode prompt.
476
+ *
477
+ * Default returns the reading-mode instruction that asks the model to
478
+ * reflect on what reading was like rather than form a memory "of what
479
+ * the chunk contained", which prevents voice drift into the content
480
+ * author's perspective.
481
+ */
482
+ protected getReadingChunkInstruction(chunk: Chunk, totalTokens: number, targetTokens: number): string;
483
+ /**
484
+ * If the chunk is part of a substantially larger sharded message (total
485
+ * bodyGroup tokens ≥ 2× the chunk's own tokens), return reading-context
486
+ * metadata for the reading instruction. The 2× threshold means the
487
+ * chunk represents a portion of something significantly larger — the
488
+ * agent is reading, not conversing.
489
+ *
490
+ * Returns null when the chunk is a whole message (no bodyGroup), or
491
+ * when bodyGroup total is < 2× chunk size (degenerate case — chunk
492
+ * effectively IS the whole message). In those cases the standard
493
+ * (non-reading) instruction is appropriate.
494
+ */
495
+ protected detectDocContext(chunk: Chunk, ctx: StrategyContext): {
496
+ totalTokens: number;
497
+ chunkTokens: number;
498
+ } | null;
295
499
  /**
296
500
  * Build the merge instruction for combining summaries into a higher level.
297
501
  * Override in subclasses for domain-specific merge prompts.
502
+ *
503
+ * Default returns the KV-preserving merge instruction. The reading-mode
504
+ * variant (used when all leaves share a bodyGroup of substantial size)
505
+ * is exposed via {@link getReadingMergeInstruction}.
298
506
  */
299
507
  protected getMergeInstruction(targetLevel: SummaryLevel, sources: SummaryEntry[], targetTokens: number): string;
508
+ /**
509
+ * Build the reading-mode merge instruction. Used when all leaf messages
510
+ * underlying the merge share a bodyGroup of substantial size — the agent
511
+ * has been reading a doc rather than conversing. Override in subclasses
512
+ * if domain logic needs to vary the reading-mode merge prompt.
513
+ */
514
+ protected getReadingMergeInstruction(targetLevel: SummaryLevel, sources: SummaryEntry[], totalTokens: number, targetTokens: number): string;
300
515
  /**
301
516
  * Select L1 summaries within a budget. Returns selected summaries and tokens used.
302
517
  * Override in subclasses for asymmetric budget allocation (e.g., cap research, prioritize synthesis).
@@ -1 +1 @@
1
- {"version":3,"file":"autobiographical.d.ts","sourceRoot":"","sources":["../../../src/strategies/autobiographical.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autobiographical.d.ts","sourceRoot":"","sources":["../../../src/strategies/autobiographical.ts"],"names":[],"mappings":"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"}