@animalabs/context-manager 0.4.0 → 0.5.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/dist/src/adaptive/chunker.d.ts +70 -0
- package/dist/src/adaptive/chunker.d.ts.map +1 -0
- package/dist/src/adaptive/chunker.js +233 -0
- package/dist/src/adaptive/chunker.js.map +1 -0
- package/dist/src/adaptive/folding-strategy.d.ts +118 -0
- package/dist/src/adaptive/folding-strategy.d.ts.map +1 -0
- package/dist/src/adaptive/folding-strategy.js +12 -0
- package/dist/src/adaptive/folding-strategy.js.map +1 -0
- package/dist/src/adaptive/index.d.ts +17 -0
- package/dist/src/adaptive/index.d.ts.map +1 -0
- package/dist/src/adaptive/index.js +23 -0
- package/dist/src/adaptive/index.js.map +1 -0
- package/dist/src/adaptive/picker.d.ts +103 -0
- package/dist/src/adaptive/picker.d.ts.map +1 -0
- package/dist/src/adaptive/picker.js +357 -0
- package/dist/src/adaptive/picker.js.map +1 -0
- package/dist/src/adaptive/render.d.ts +39 -0
- package/dist/src/adaptive/render.d.ts.map +1 -0
- package/dist/src/adaptive/render.js +104 -0
- package/dist/src/adaptive/render.js.map +1 -0
- package/dist/src/adaptive/strategies/flat-profile.d.ts +19 -0
- package/dist/src/adaptive/strategies/flat-profile.d.ts.map +1 -0
- package/dist/src/adaptive/strategies/flat-profile.js +86 -0
- package/dist/src/adaptive/strategies/flat-profile.js.map +1 -0
- package/dist/src/adaptive/strategies/oldest-first.d.ts +19 -0
- package/dist/src/adaptive/strategies/oldest-first.d.ts.map +1 -0
- package/dist/src/adaptive/strategies/oldest-first.js +39 -0
- package/dist/src/adaptive/strategies/oldest-first.js.map +1 -0
- package/dist/src/context-manager.d.ts +5 -0
- package/dist/src/context-manager.d.ts.map +1 -1
- package/dist/src/context-manager.js +22 -0
- package/dist/src/context-manager.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/message-store.d.ts +36 -1
- package/dist/src/message-store.d.ts.map +1 -1
- package/dist/src/message-store.js +134 -8
- package/dist/src/message-store.js.map +1 -1
- package/dist/src/strategies/autobiographical.d.ts +217 -2
- package/dist/src/strategies/autobiographical.d.ts.map +1 -1
- package/dist/src/strategies/autobiographical.js +1479 -37
- package/dist/src/strategies/autobiographical.js.map +1 -1
- package/dist/src/strategies/index.d.ts +1 -1
- package/dist/src/strategies/index.d.ts.map +1 -1
- package/dist/src/strategies/index.js.map +1 -1
- package/dist/src/types/message.d.ts +38 -0
- package/dist/src/types/message.d.ts.map +1 -1
- package/dist/src/types/strategy.d.ts +94 -10
- package/dist/src/types/strategy.d.ts.map +1 -1
- package/dist/src/types/strategy.js +7 -0
- package/dist/src/types/strategy.js.map +1 -1
- package/dist/test/adaptive/branching.test.d.ts +20 -0
- package/dist/test/adaptive/branching.test.d.ts.map +1 -0
- package/dist/test/adaptive/branching.test.js +176 -0
- package/dist/test/adaptive/branching.test.js.map +1 -0
- package/dist/test/adaptive/chunker.test.d.ts +2 -0
- package/dist/test/adaptive/chunker.test.d.ts.map +1 -0
- package/dist/test/adaptive/chunker.test.js +120 -0
- package/dist/test/adaptive/chunker.test.js.map +1 -0
- package/dist/test/adaptive/deep-levels.test.d.ts +10 -0
- package/dist/test/adaptive/deep-levels.test.d.ts.map +1 -0
- package/dist/test/adaptive/deep-levels.test.js +167 -0
- package/dist/test/adaptive/deep-levels.test.js.map +1 -0
- package/dist/test/adaptive/doc-plus-chat.test.d.ts +10 -0
- package/dist/test/adaptive/doc-plus-chat.test.d.ts.map +1 -0
- package/dist/test/adaptive/doc-plus-chat.test.js +194 -0
- package/dist/test/adaptive/doc-plus-chat.test.js.map +1 -0
- package/dist/test/adaptive/hard-fail.test.d.ts +9 -0
- package/dist/test/adaptive/hard-fail.test.d.ts.map +1 -0
- package/dist/test/adaptive/hard-fail.test.js +154 -0
- package/dist/test/adaptive/hard-fail.test.js.map +1 -0
- package/dist/test/adaptive/harness.d.ts +109 -0
- package/dist/test/adaptive/harness.d.ts.map +1 -0
- package/dist/test/adaptive/harness.js +263 -0
- package/dist/test/adaptive/harness.js.map +1 -0
- package/dist/test/adaptive/ingestion.test.d.ts +13 -0
- package/dist/test/adaptive/ingestion.test.d.ts.map +1 -0
- package/dist/test/adaptive/ingestion.test.js +306 -0
- package/dist/test/adaptive/ingestion.test.js.map +1 -0
- package/dist/test/adaptive/integration.test.d.ts +12 -0
- package/dist/test/adaptive/integration.test.d.ts.map +1 -0
- package/dist/test/adaptive/integration.test.js +247 -0
- package/dist/test/adaptive/integration.test.js.map +1 -0
- package/dist/test/adaptive/long-chronicle.test.d.ts +13 -0
- package/dist/test/adaptive/long-chronicle.test.d.ts.map +1 -0
- package/dist/test/adaptive/long-chronicle.test.js +186 -0
- package/dist/test/adaptive/long-chronicle.test.js.map +1 -0
- package/dist/test/adaptive/persistence.test.d.ts +11 -0
- package/dist/test/adaptive/persistence.test.d.ts.map +1 -0
- package/dist/test/adaptive/persistence.test.js +200 -0
- package/dist/test/adaptive/persistence.test.js.map +1 -0
- package/dist/test/adaptive/picker.test.d.ts +2 -0
- package/dist/test/adaptive/picker.test.d.ts.map +1 -0
- package/dist/test/adaptive/picker.test.js +333 -0
- package/dist/test/adaptive/picker.test.js.map +1 -0
- package/dist/test/adaptive/render.test.d.ts +2 -0
- package/dist/test/adaptive/render.test.d.ts.map +1 -0
- package/dist/test/adaptive/render.test.js +109 -0
- package/dist/test/adaptive/render.test.js.map +1 -0
- package/dist/test/adaptive/shard-immutability.test.d.ts +14 -0
- package/dist/test/adaptive/shard-immutability.test.d.ts.map +1 -0
- package/dist/test/adaptive/shard-immutability.test.js +184 -0
- package/dist/test/adaptive/shard-immutability.test.js.map +1 -0
- package/dist/test/adaptive/strategy-integration.test.d.ts +9 -0
- package/dist/test/adaptive/strategy-integration.test.d.ts.map +1 -0
- package/dist/test/adaptive/strategy-integration.test.js +293 -0
- package/dist/test/adaptive/strategy-integration.test.js.map +1 -0
- package/dist/test/message-store-sequence.test.d.ts +25 -0
- package/dist/test/message-store-sequence.test.d.ts.map +1 -0
- package/dist/test/message-store-sequence.test.js +157 -0
- package/dist/test/message-store-sequence.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/adaptive/chunker.ts +323 -0
- package/src/adaptive/folding-strategy.ts +129 -0
- package/src/adaptive/index.ts +51 -0
- package/src/adaptive/picker.ts +442 -0
- package/src/adaptive/render.ts +115 -0
- package/src/adaptive/strategies/flat-profile.ts +96 -0
- package/src/adaptive/strategies/oldest-first.ts +48 -0
- package/src/context-manager.ts +32 -0
- package/src/index.ts +1 -1
- package/src/message-store.ts +147 -8
- package/src/strategies/autobiographical.ts +1586 -38
- package/src/strategies/index.ts +1 -1
- package/src/types/message.ts +43 -0
- package/src/types/strategy.ts +109 -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
|
|
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":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAA+B,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAEV,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACb,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"autobiographical.d.ts","sourceRoot":"","sources":["../../../src/strategies/autobiographical.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAA+B,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAEV,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACb,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,MAAM,EAAqC,MAAM,uBAAuB,CAAC;AAGlF,OAAO,KAAK,EAGV,MAAM,EAGP,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA0K/D;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd;qFACiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB;qFACiF;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,UAAU,EAAE,OAAO,CAAC;IACpB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gCAAgC;IAC/C,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,gBAAgB,EAAE,MAAM,CAAC;IACzB,sFAAsF;IACtF,aAAa,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,YAAW,kBAAkB;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAsB;IAE3C,IAAI,gBAAgB,IAAI,MAAM,CAAyC;IAEvE,SAAS,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACzC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,CAAM;IAC/B,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC1D,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAC1C,SAAS,CAAC,iBAAiB,SAAK;IAGhC,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,CAAM;IACzC,SAAS,CAAC,gBAAgB,SAAK;IAC/B,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAM;IAC/E,SAAS,CAAC,eAAe,kBAAyB;IAElD,iFAAiF;IACjF,SAAS,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClD,+EAA+E;IAC/E,OAAO,CAAC,qBAAqB,CAAwE;IAErG,mEAAmE;IACnE,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAQ;IACvC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,EAAE,MAAM,CAAM;IAC1B,SAAS,KAAK,gBAAgB,IAAI,MAAM,CAA2C;IACnF,SAAS,KAAK,cAAc,IAAI,MAAM,CAAyC;IAC/E,SAAS,KAAK,iBAAiB,IAAI,MAAM,CAA4C;IACrF,SAAS,KAAK,WAAW,IAAI,MAAM,CAAsC;IACzE,SAAS,KAAK,kBAAkB,IAAI,MAAM,CAA6C;IACvF,SAAS,KAAK,YAAY,IAAI,MAAM,CAAuC;IAE3E,gFAAgF;IAChF,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,CAAM;IACtC,4FAA4F;IAC5F,SAAS,CAAC,YAAY,SAAK;IAE3B;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAa;IAE1D;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAa;IAE7C,+DAA+D;IAC/D,OAAO,CAAC,eAAe,CAAuB;gBAElC,MAAM,GAAE,OAAO,CAAC,sBAAsB,CAAM;IAmBxD;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAM9B;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAMhC;;;;;;;;;;;;;;;;OAgBG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,kBAAkB,GAAG,IAAI;IA+CtF,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrD;;;;OAIG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IA8ChC;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAmDpC,+DAA+D;IAC/D,SAAS,CAAC,WAAW,IAAI,IAAI;IAO7B;oCACgC;IAChC,SAAS,CAAC,kBAAkB,IAAI,IAAI;IASpC,8CAA8C;IAC9C,SAAS,CAAC,YAAY,IAAI,IAAI;IAS9B;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAczF;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAcjE,oEAAoE;IACpE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAU7B,0CAA0C;IAC1C,QAAQ,IAAI,aAAa,CAAC,cAAc,CAAC;IAQzC;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAI3C;;;;;;;;;OASG;IACH,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,EAAE;IAkDnD;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO;IAIhF;;;;OAIG;IACH,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAkBjE;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKhD;;;OAGG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAYxE;;OAEG;IACH,SAAS,CAAC,oBAAoB,IAAI,MAAM;IAMxC;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAKjF;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,SAAS;IAMlF;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAezD;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IA8B9E;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,CAC5B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,SAAS,GACnB,IAAI;IAiDP,cAAc,IAAI,cAAc;IA2B1B,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/E;;;;;;;;;OASG;IACH,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IA0B3D;;;OAGG;IACH,SAAS,CAAC,kBAAkB,IAAI,OAAO;IAOvC;;;;;OAKG;IACH,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAItC,IAAI,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAuD/C;;;;;OAKG;IACH,mBAAmB,IAAI,gCAAgC;IAmBvD,MAAM,CACJ,KAAK,EAAE,gBAAgB,EACvB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,WAAW,GAClB,YAAY,EAAE;IAWjB;;OAEG;IACH,QAAQ,IAAI;QACV,WAAW,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QACxE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;KAC3D;IAYD;;;;;;;;OAQG;IACH,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG;QACvC,IAAI,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC3C,IAAI,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC3C,SAAS,EAAE;YACT,EAAE,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YACtC,EAAE,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YACtC,EAAE,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;SACvC,CAAC;QACF,OAAO,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7C;IAoCD,SAAS,CAAC,YAAY,CACpB,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,WAAW,GAClB,YAAY,EAAE;IAoHjB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,qBAAqB,CAC7B,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,aAAa,EAAE,EACzB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,GACxB,IAAI;cAsCS,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CtF,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,GAAG,KAAK,CAAC;QAC3E,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,YAAY,EAAE,CAAC;KACzB,CAAC;IA+CF;;;;;OAKG;IACH,SAAS,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG;QACpE,OAAO,EAAE,YAAY,EAAE,CAAC;QACxB,OAAO,EAAE,YAAY,EAAE,CAAC;QACxB,OAAO,EAAE,YAAY,EAAE,CAAC;KACzB;IA2BD;;;OAGG;cACa,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA6M5F;;;;;;;;OAQG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IA0CrC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,4BAA4B,IAAI,IAAI;IAmC9C;;;OAGG;cACa,YAAY,CAC1B,WAAW,EAAE,YAAY,EACzB,SAAS,EAAE,MAAM,EAAE,EACnB,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,IAAI,CAAC;IA2ThB;;;;;;;;;OASG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,GAAG,YAAY,EAAE;IA2atF;;;;;;;;OAQG;IACH,SAAS,CAAC,yBAAyB,CACjC,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,gBAAgB,GACtB,YAAY,EAAE;IAsEjB,gEAAgE;IAChE,SAAS,CAAC,iBAAiB,IAAI,MAAM;IAUrC;;;;;;;OAOG;IACH,SAAS,CAAC,cAAc,CACtB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,EAChD,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,GAChD,YAAY,GAAG,IAAI;IAoBtB;;;OAGG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,GAAG,YAAY,EAAE;IA+Q1F;;;;;;;;OAQG;IACH,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAI/E;;;;;;;;;OASG;IACH,SAAS,CAAC,0BAA0B,CAClC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,MAAM;IAIT;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,gBAAgB,CACxB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,eAAe,GACnB;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA+BtD;;;;;;;OAOG;IACH,SAAS,CAAC,mBAAmB,CAC3B,WAAW,EAAE,YAAY,EACzB,OAAO,EAAE,YAAY,EAAE,EACvB,YAAY,EAAE,MAAM,GACnB,MAAM;IAKT;;;;;OAKG;IACH,SAAS,CAAC,0BAA0B,CAClC,WAAW,EAAE,YAAY,EACzB,OAAO,EAAE,YAAY,EAAE,EACvB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,MAAM;IAKT;;;OAGG;IACH,SAAS,CAAC,iBAAiB,CACzB,OAAO,EAAE,YAAY,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB;QAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAYnD;;;;;;OAMG;IACH,SAAS,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAKpE;;;;;OAKG;IACH,SAAS,CAAC,4BAA4B,CACpC,SAAS,EAAE,YAAY,EAAE,EACzB,QAAQ,EAAE,aAAa,EAAE,GACxB,YAAY,EAAE;IAajB;;;OAGG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;IAa1D;;;OAGG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKhD;;;OAGG;IACG,yBAAyB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IA2DtE;;OAEG;IACH,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;IAOnE;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM;IAWtD;;;;;OAKG;IACH,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,GAAG,aAAa,EAAE;IAe3E;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IA0EtD,SAAS,CAAC,WAAW,CACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,aAAa,EAAE,EACzB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GACrC,KAAK;IAgCR,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAIxC,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAoB/D;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAelE;;;OAGG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAuB3D,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;IAIrD,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;IAIxD;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI;IAwEzD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAIjD,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAuBzD;;;OAGG;IACH,SAAS,CAAC,2BAA2B,CACnC,QAAQ,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC,GAChE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAqB1D,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM;IAkB5D,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM;IAUzD;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE;CAuDtF"}
|