@animalabs/context-manager 0.5.4 → 0.5.5
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/kv-control.d.ts +15 -1
- package/dist/src/adaptive/kv-control.d.ts.map +1 -1
- package/dist/src/adaptive/kv-control.js +91 -25
- package/dist/src/adaptive/kv-control.js.map +1 -1
- package/dist/src/adaptive/picker.d.ts +13 -0
- package/dist/src/adaptive/picker.d.ts.map +1 -1
- package/dist/src/adaptive/picker.js.map +1 -1
- package/dist/src/adaptive/strategies/kv-stable.d.ts.map +1 -1
- package/dist/src/adaptive/strategies/kv-stable.js +53 -2
- package/dist/src/adaptive/strategies/kv-stable.js.map +1 -1
- package/dist/src/context-manager.d.ts +10 -5
- package/dist/src/context-manager.d.ts.map +1 -1
- package/dist/src/context-manager.js +9 -0
- package/dist/src/context-manager.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/phase-channel.d.ts +13 -0
- package/dist/src/phase-channel.d.ts.map +1 -0
- package/dist/src/phase-channel.js +55 -0
- package/dist/src/phase-channel.js.map +1 -0
- package/dist/src/strategies/autobiographical.d.ts +40 -6
- package/dist/src/strategies/autobiographical.d.ts.map +1 -1
- package/dist/src/strategies/autobiographical.js +136 -17
- package/dist/src/strategies/autobiographical.js.map +1 -1
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/strategy.d.ts +30 -6
- package/dist/src/types/strategy.d.ts.map +1 -1
- package/dist/src/types/strategy.js.map +1 -1
- package/dist/test/adaptive/pin-at-level.test.d.ts +16 -0
- package/dist/test/adaptive/pin-at-level.test.d.ts.map +1 -0
- package/dist/test/adaptive/pin-at-level.test.js +133 -0
- package/dist/test/adaptive/pin-at-level.test.js.map +1 -0
- package/dist/test/pins.test.js +40 -0
- package/dist/test/pins.test.js.map +1 -1
- package/dist/test/speculation-cap.test.d.ts +9 -3
- package/dist/test/speculation-cap.test.d.ts.map +1 -1
- package/dist/test/speculation-cap.test.js +175 -3
- package/dist/test/speculation-cap.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/adaptive/kv-control.ts +102 -25
- package/src/adaptive/picker.ts +13 -0
- package/src/adaptive/strategies/kv-stable.ts +40 -2
- package/src/context-manager.ts +13 -2
- package/src/index.ts +3 -0
- package/src/phase-channel.ts +57 -0
- package/src/strategies/autobiographical.ts +139 -19
- package/src/types/index.ts +1 -0
- package/src/types/strategy.ts +31 -2
|
@@ -95,7 +95,7 @@ export interface ControlResult {
|
|
|
95
95
|
* raw (0); otherwise log-age banded against the base-k geometry. The "finest
|
|
96
96
|
* requirement wins" — this is the cap the shedder may not exceed.
|
|
97
97
|
*/
|
|
98
|
-
export declare function foldDepthCap(chunk: PickerChunk, now: number, flatZone: ReadonlySet<ChunkId>, flatZoneChunks: number, mergeThreshold: number): number;
|
|
98
|
+
export declare function foldDepthCap(chunk: PickerChunk, now: number, flatZone: ReadonlySet<ChunkId>, flatZoneChunks: number, mergeThreshold: number, maxLevel?: number): number;
|
|
99
99
|
export interface ControlPlanParams {
|
|
100
100
|
/** Carried frontier (F_prev). */
|
|
101
101
|
previous: ReadonlyMap<ChunkId, number>;
|
|
@@ -116,6 +116,20 @@ export interface ControlPlanParams {
|
|
|
116
116
|
rawZone: ReadonlySet<ChunkId>;
|
|
117
117
|
/** Chunks kept at their carried resolution and never touched (locked). */
|
|
118
118
|
frozen?: ReadonlySet<ChunkId>;
|
|
119
|
+
/**
|
|
120
|
+
* V2 pin-at-level-k: chunks fixed to render at EXACTLY the given fold level
|
|
121
|
+
* (0 = raw). Held there and never folded or un-folded — the frontier cut
|
|
122
|
+
* passes through that L_k node. A level deeper than the tree has produced is
|
|
123
|
+
* clamped to the deepest available. (`ProtectedRange.level`.)
|
|
124
|
+
*/
|
|
125
|
+
fixedLevels?: ReadonlyMap<ChunkId, number>;
|
|
126
|
+
/**
|
|
127
|
+
* V2 pin-max-level: per-chunk HARD cap on fold depth — the chunk may fold no
|
|
128
|
+
* deeper than this level, enforced in normal AND emergency shedding, and any
|
|
129
|
+
* carried resolution deeper than the cap is un-folded to it at plan start.
|
|
130
|
+
* (`ProtectedRange.maxLevel`.)
|
|
131
|
+
*/
|
|
132
|
+
pinCaps?: ReadonlyMap<ChunkId, number>;
|
|
119
133
|
/** Newest source sequence — the age reference for the log-age fold caps. */
|
|
120
134
|
now: number;
|
|
121
135
|
/** Base-k summary grouping. Default 6. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv-control.d.ts","sourceRoot":"","sources":["../../../src/adaptive/kv-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,gFAAgF;AAChF,eAAO,MAAM,KAAK;;;;CAA2D,CAAC;AAE9E,6DAA6D;AAC7D,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB;mDAC+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;sBAKkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf;4DACwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,MAAM,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,eAAe,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,WAAW,EAClB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,EAC9B,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"kv-control.d.ts","sourceRoot":"","sources":["../../../src/adaptive/kv-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ export const MAX_FOLD_LEVEL = 3;
|
|
|
32
32
|
* raw (0); otherwise log-age banded against the base-k geometry. The "finest
|
|
33
33
|
* requirement wins" — this is the cap the shedder may not exceed.
|
|
34
34
|
*/
|
|
35
|
-
export function foldDepthCap(chunk, now, flatZone, flatZoneChunks, mergeThreshold) {
|
|
35
|
+
export function foldDepthCap(chunk, now, flatZone, flatZoneChunks, mergeThreshold, maxLevel = MAX_FOLD_LEVEL) {
|
|
36
36
|
if (chunk.pinned || flatZone.has(chunk.id))
|
|
37
37
|
return 0;
|
|
38
38
|
const age = Math.max(0, now - chunk.sequence);
|
|
@@ -40,7 +40,18 @@ export function foldDepthCap(chunk, now, flatZone, flatZoneChunks, mergeThreshol
|
|
|
40
40
|
if (ratio < 1)
|
|
41
41
|
return 0; // just outside the flat zone → still raw
|
|
42
42
|
const band = Math.floor(Math.log(ratio) / Math.log(Math.max(2, mergeThreshold))) + 1;
|
|
43
|
-
return Math.max(0, Math.min(
|
|
43
|
+
return Math.max(0, Math.min(maxLevel, band));
|
|
44
|
+
}
|
|
45
|
+
/** Deepest summary level that actually exists in the tree (0 if none). The
|
|
46
|
+
* fold depth is bounded by this — NOT a hardcoded constant — so the controller
|
|
47
|
+
* uses L4/L5… summaries when production has built them (else it floors at L3 and
|
|
48
|
+
* refuses deeper summaries that exist; cf. the lab L3-floor-with-L4-present). */
|
|
49
|
+
function maxAvailableLevel(tree) {
|
|
50
|
+
let m = 0;
|
|
51
|
+
for (const s of tree.allSummaries())
|
|
52
|
+
if (s.level > m)
|
|
53
|
+
m = s.level;
|
|
54
|
+
return m;
|
|
44
55
|
}
|
|
45
56
|
/**
|
|
46
57
|
* Deepen `frontier` in place to bring rendered tokens ≤ `target`, leveled
|
|
@@ -54,7 +65,7 @@ export function foldDepthCap(chunk, now, flatZone, flatZoneChunks, mergeThreshol
|
|
|
54
65
|
* within reach can't fit under W, reach is lifted (emergency) and folding
|
|
55
66
|
* continues to caps — yielding P minimally to keep W. Returns final tokens.
|
|
56
67
|
*/
|
|
57
|
-
function shedToTarget(frontier, inputs, tree, ordered, caps, target, reachTokens, windowTokens) {
|
|
68
|
+
function shedToTarget(frontier, inputs, tree, ordered, caps, target, reachTokens, windowTokens, maxFoldLevel, pinCaps) {
|
|
58
69
|
// Raw tokens strictly newer than each chunk (its distance from the live end).
|
|
59
70
|
const newerTokens = new Map();
|
|
60
71
|
let acc = 0;
|
|
@@ -62,8 +73,8 @@ function shedToTarget(frontier, inputs, tree, ordered, caps, target, reachTokens
|
|
|
62
73
|
newerTokens.set(ordered[i].id, acc);
|
|
63
74
|
acc += ordered[i].rawTokens;
|
|
64
75
|
}
|
|
65
|
-
const foldWithinReach = (reach) => {
|
|
66
|
-
for (let level = 1; level <=
|
|
76
|
+
const foldWithinReach = (reach, ignoreCaps = false) => {
|
|
77
|
+
for (let level = 1; level <= maxFoldLevel; level++) {
|
|
67
78
|
for (const c of ordered) {
|
|
68
79
|
// oldest-first within reach
|
|
69
80
|
if ((newerTokens.get(c.id) ?? 0) >= reach)
|
|
@@ -74,13 +85,28 @@ function shedToTarget(frontier, inputs, tree, ordered, caps, target, reachTokens
|
|
|
74
85
|
if (!ancestor)
|
|
75
86
|
continue; // summary not produced yet → can't fold here
|
|
76
87
|
// Group-consistency + reach: fold the WHOLE group to `level` only if
|
|
77
|
-
// every covered leaf permits it (
|
|
78
|
-
// picker raises whole groups, so a
|
|
79
|
-
//
|
|
80
|
-
// group-consistent and
|
|
88
|
+
// every covered leaf permits it (within the saliency cap unless
|
|
89
|
+
// `ignoreCaps`, and within reach). The picker raises whole groups, so a
|
|
90
|
+
// partially-eligible group would be an unreachable target (it
|
|
91
|
+
// oscillates). A uniform fold keeps the frontier group-consistent and
|
|
92
|
+
// the picker convergent. `rawZone`/`frozen` always block (their cap is 0
|
|
93
|
+
// and stays 0 even under ignoreCaps).
|
|
81
94
|
let eligible = true;
|
|
82
95
|
for (const leafId of ancestor.leafChunkIds) {
|
|
83
|
-
|
|
96
|
+
const cap = caps.get(leafId) ?? 0;
|
|
97
|
+
// A V2 pin-max-level is a HARD cap: never fold a pinned chunk deeper
|
|
98
|
+
// than its bound, even in the W emergency (pins are hard-protected).
|
|
99
|
+
const pinCap = pinCaps.get(leafId);
|
|
100
|
+
if (pinCap !== undefined && level > pinCap) {
|
|
101
|
+
eligible = false;
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
// Normal: respect the saliency depth cap. Emergency (ignoreCaps): only
|
|
105
|
+
// the hard-protected set (cap = −1: flat zone / pins / locked) blocks;
|
|
106
|
+
// the age-extended-raw band (cap 0) and shallower-than-cap content all
|
|
107
|
+
// become foldable to fit under W.
|
|
108
|
+
const capBlocks = ignoreCaps ? cap < 0 : cap < level;
|
|
109
|
+
if (capBlocks || (newerTokens.get(leafId) ?? 0) >= reach) {
|
|
84
110
|
eligible = false;
|
|
85
111
|
break;
|
|
86
112
|
}
|
|
@@ -99,9 +125,14 @@ function shedToTarget(frontier, inputs, tree, ordered, caps, target, reachTokens
|
|
|
99
125
|
};
|
|
100
126
|
foldWithinReach(reachTokens);
|
|
101
127
|
let tokens = renderLayout(inputs, tree, frontier).totalTokens;
|
|
102
|
-
// Hard wall:
|
|
128
|
+
// Hard wall: W is the only hard constraint. If folding within reach + caps
|
|
129
|
+
// still exceeds W, the emergency lifts BOTH the reach cap (P) AND the saliency
|
|
130
|
+
// depth cap — the cap is a soft *relevance* shaper, never a feasibility wall.
|
|
131
|
+
// It still never folds rawZone/frozen (their cap stays 0). (docs
|
|
132
|
+
// adaptive-resolution-design.md §12.4: fixes OverBudgetError-at-L2 when deeper
|
|
133
|
+
// summaries exist and would fit.)
|
|
103
134
|
if (tokens > windowTokens) {
|
|
104
|
-
foldWithinReach(Infinity);
|
|
135
|
+
foldWithinReach(Infinity, /* ignoreCaps */ true);
|
|
105
136
|
tokens = renderLayout(inputs, tree, frontier).totalTokens;
|
|
106
137
|
}
|
|
107
138
|
return tokens;
|
|
@@ -116,7 +147,7 @@ function shedToTarget(frontier, inputs, tree, ordered, caps, target, reachTokens
|
|
|
116
147
|
* (highest value, shallowest divergence). Stops before exceeding `target`.
|
|
117
148
|
* rawZone/frozen chunks are never touched. Returns final tokens.
|
|
118
149
|
*/
|
|
119
|
-
function expandToTarget(frontier, inputs, tree, ordered, target, reachTokens, rawZone,
|
|
150
|
+
function expandToTarget(frontier, inputs, tree, ordered, target, reachTokens, rawZone, immovable, maxFoldLevel) {
|
|
120
151
|
const newerTokens = new Map();
|
|
121
152
|
let acc = 0;
|
|
122
153
|
for (let i = ordered.length - 1; i >= 0; i--) {
|
|
@@ -124,14 +155,14 @@ function expandToTarget(frontier, inputs, tree, ordered, target, reachTokens, ra
|
|
|
124
155
|
acc += ordered[i].rawTokens;
|
|
125
156
|
}
|
|
126
157
|
let tokens = renderLayout(inputs, tree, frontier).totalTokens;
|
|
127
|
-
for (let level =
|
|
158
|
+
for (let level = maxFoldLevel; level >= 1 && tokens < target; level--) {
|
|
128
159
|
for (let oi = ordered.length - 1; oi >= 0; oi--) {
|
|
129
160
|
if (tokens >= target)
|
|
130
161
|
break;
|
|
131
162
|
const c = ordered[oi]; // youngest-first
|
|
132
163
|
if ((frontier.get(c.id) ?? 0) !== level)
|
|
133
164
|
continue;
|
|
134
|
-
if (rawZone.has(c.id) ||
|
|
165
|
+
if (rawZone.has(c.id) || immovable.has(c.id))
|
|
135
166
|
continue;
|
|
136
167
|
if ((newerTokens.get(c.id) ?? 0) >= reachTokens)
|
|
137
168
|
continue;
|
|
@@ -143,7 +174,7 @@ function expandToTarget(frontier, inputs, tree, ordered, target, reachTokens, ra
|
|
|
143
174
|
let eligible = true;
|
|
144
175
|
for (const leafId of node.leafChunkIds) {
|
|
145
176
|
if ((frontier.get(leafId) ?? 0) !== level ||
|
|
146
|
-
rawZone.has(leafId) ||
|
|
177
|
+
rawZone.has(leafId) || immovable.has(leafId) ||
|
|
147
178
|
(newerTokens.get(leafId) ?? 0) >= reachTokens) {
|
|
148
179
|
eligible = false;
|
|
149
180
|
break;
|
|
@@ -199,6 +230,7 @@ function rawTailSet(ordered, tailTokens) {
|
|
|
199
230
|
return s;
|
|
200
231
|
}
|
|
201
232
|
const EMPTY_SET = new Set();
|
|
233
|
+
const EMPTY_LEVEL_MAP = new Map();
|
|
202
234
|
/**
|
|
203
235
|
* Plan one turn's frontier under the controller policy — shared by the replay
|
|
204
236
|
* harness (`replayControlled`) and `KvStableStrategy`. Carries F_prev forward,
|
|
@@ -214,17 +246,43 @@ const EMPTY_SET = new Set();
|
|
|
214
246
|
export function planControlledFrontier(inputs, tree, p) {
|
|
215
247
|
const ordered = [...inputs.chunks].sort((a, b) => a.sequence - b.sequence);
|
|
216
248
|
const frozen = p.frozen ?? EMPTY_SET;
|
|
249
|
+
const fixedLevels = p.fixedLevels ?? EMPTY_LEVEL_MAP;
|
|
250
|
+
const pinCaps = p.pinCaps ?? EMPTY_LEVEL_MAP;
|
|
217
251
|
const mergeThreshold = p.mergeThreshold ?? 6;
|
|
218
252
|
const reach = p.reachTokens ?? p.windowTokens;
|
|
219
253
|
const expandAt = p.expandAtTokens ?? p.targetTokens;
|
|
254
|
+
// Fold as deep as the tree actually goes (L4/L5… when produced), not a constant.
|
|
255
|
+
const maxFoldLevel = maxAvailableLevel(tree);
|
|
256
|
+
// Immovable = never folded OR un-folded by the shed/expand passes: the locked
|
|
257
|
+
// (frozen) set plus V2 pin-at-level-k chunks (held at their fixed level).
|
|
258
|
+
const immovable = new Set(frozen);
|
|
259
|
+
for (const id of fixedLevels.keys())
|
|
260
|
+
immovable.add(id);
|
|
220
261
|
const F = new Map();
|
|
221
262
|
for (const c of ordered) {
|
|
222
|
-
if (p.rawZone.has(c.id))
|
|
263
|
+
if (p.rawZone.has(c.id)) {
|
|
223
264
|
F.set(c.id, 0);
|
|
224
|
-
|
|
265
|
+
}
|
|
266
|
+
else if (fixedLevels.has(c.id)) {
|
|
267
|
+
// Pin-at-k: fix to exactly k, clamped to the deepest produced level for
|
|
268
|
+
// this chunk (can't render at a level whose summary doesn't exist yet).
|
|
269
|
+
const k = Math.max(0, fixedLevels.get(c.id));
|
|
270
|
+
F.set(c.id, k === 0 ? 0 : Math.min(k, tree.maxLevel(c.id)));
|
|
271
|
+
}
|
|
272
|
+
else if (frozen.has(c.id)) {
|
|
225
273
|
F.set(c.id, p.previous.get(c.id) ?? c.currentResolution);
|
|
226
|
-
|
|
227
|
-
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
// Carry F_prev, but enforce a pin-max-level immediately: un-fold anything
|
|
277
|
+
// carried deeper than its cap down to the cap (shallower summaries — its
|
|
278
|
+
// ancestors — are guaranteed to exist). This is the intended divergence
|
|
279
|
+
// cost of adding/tightening a pin (design §7).
|
|
280
|
+
let lvl = p.previous.get(c.id) ?? 0;
|
|
281
|
+
const cap = pinCaps.get(c.id);
|
|
282
|
+
if (cap !== undefined && lvl > cap)
|
|
283
|
+
lvl = Math.max(0, cap);
|
|
284
|
+
F.set(c.id, lvl);
|
|
285
|
+
}
|
|
228
286
|
}
|
|
229
287
|
let tokens = renderLayout(inputs, tree, F).totalTokens;
|
|
230
288
|
const before = tokens;
|
|
@@ -235,17 +293,25 @@ export function planControlledFrontier(inputs, tree, p) {
|
|
|
235
293
|
const flatZoneChunks = p.rawZone.size;
|
|
236
294
|
const caps = new Map();
|
|
237
295
|
for (const c of ordered) {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
:
|
|
296
|
+
let cap;
|
|
297
|
+
if (p.rawZone.has(c.id) || immovable.has(c.id)) {
|
|
298
|
+
cap = -1; // hard-protected sentinel: never fold, even in the W emergency
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
cap = foldDepthCap(c, p.now, p.rawZone, flatZoneChunks, mergeThreshold, maxFoldLevel);
|
|
302
|
+
const pinCap = pinCaps.get(c.id);
|
|
303
|
+
if (pinCap !== undefined)
|
|
304
|
+
cap = Math.min(cap, Math.max(0, pinCap));
|
|
305
|
+
}
|
|
306
|
+
caps.set(c.id, cap);
|
|
241
307
|
}
|
|
242
|
-
tokens = shedToTarget(F, inputs, tree, ordered, caps, p.targetTokens, reach, p.windowTokens);
|
|
308
|
+
tokens = shedToTarget(F, inputs, tree, ordered, caps, p.targetTokens, reach, p.windowTokens, maxFoldLevel, pinCaps);
|
|
243
309
|
folded = tokens !== before; // a real fold only if it actually changed the render
|
|
244
310
|
if (tokens > p.windowTokens)
|
|
245
311
|
escalated = true;
|
|
246
312
|
}
|
|
247
313
|
else if (tokens < expandAt) {
|
|
248
|
-
tokens = expandToTarget(F, inputs, tree, ordered, p.targetTokens, reach, p.rawZone,
|
|
314
|
+
tokens = expandToTarget(F, inputs, tree, ordered, p.targetTokens, reach, p.rawZone, immovable, maxFoldLevel);
|
|
249
315
|
expanded = tokens !== before; // a real un-fold only if it actually changed
|
|
250
316
|
}
|
|
251
317
|
return { resolutions: F, tokens, folded, expanded, escalated };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv-control.js","sourceRoot":"","sources":["../../../src/adaptive/kv-control.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kv-control.js","sourceRoot":"","sources":["../../../src/adaptive/kv-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,19 @@ export interface PickerChunk {
|
|
|
54
54
|
lockedByAgent: boolean;
|
|
55
55
|
bodyGroupId?: string;
|
|
56
56
|
pinned: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* V2 dynamic pin — fix this chunk at EXACTLY this fold level (0 = raw). Set
|
|
59
|
+
* from a `ProtectedRange.level`. Such a chunk is NOT `pinned` (the controller
|
|
60
|
+
* must be able to move it to its level), but the KV-stable controller holds it
|
|
61
|
+
* there and never folds/un-folds it. Ignored by non-kv-stable strategies.
|
|
62
|
+
*/
|
|
63
|
+
pinLevel?: number;
|
|
64
|
+
/**
|
|
65
|
+
* V2 dynamic pin — this chunk may fold no deeper than this level (hard cap).
|
|
66
|
+
* Set from a `ProtectedRange.maxLevel`. Honored only by the KV-stable
|
|
67
|
+
* controller (in normal and emergency shedding). Ignored elsewhere.
|
|
68
|
+
*/
|
|
69
|
+
pinMaxLevel?: number;
|
|
57
70
|
/**
|
|
58
71
|
* The L1 summary covering this chunk, if any. Higher levels are derived
|
|
59
72
|
* by walking parentId pointers in the summary tree.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker.d.ts","sourceRoot":"","sources":["../../../src/adaptive/picker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,eAAe,EAEf,aAAa,EACb,MAAM,EAEN,OAAO,EACP,SAAS,EAEV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;gBAEU,IAAI,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;KAC7C;CAcF;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,oCAAoC;IACpC,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAChD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClD,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,6DAA6D;IAC7D,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,8DAA8D;IAC9D,gBAAgB,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,sCAAsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,SAAS,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAuBD,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,eAAe;IAEtD,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,GAAG,YAAY;CA0C/D"}
|
|
1
|
+
{"version":3,"file":"picker.d.ts","sourceRoot":"","sources":["../../../src/adaptive/picker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,eAAe,EAEf,aAAa,EACb,MAAM,EAEN,OAAO,EACP,SAAS,EAEV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;gBAEU,IAAI,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;KAC7C;CAcF;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,oCAAoC;IACpC,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAChD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClD,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,6DAA6D;IAC7D,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,8DAA8D;IAC9D,gBAAgB,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,sCAAsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,SAAS,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAuBD,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,eAAe;IAEtD,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,GAAG,YAAY;CA0C/D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker.js","sourceRoot":"","sources":["../../../src/adaptive/picker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,4DAA4D;IACnD,MAAM,CAAS;IACxB,oEAAoE;IAC3D,MAAM,CAAS;IACxB,uDAAuD;IAC9C,WAAW,CAMlB;IAEF,YAAY,IAIX;QACC,KAAK,CACH,iCAAiC,IAAI,CAAC,MAAM,oCAAoC,IAAI,CAAC,MAAM,EAAE;YAC3F,UAAU,IAAI,CAAC,WAAW,CAAC,UAAU,UAAU,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG;YAC7E,WAAW,IAAI,CAAC,WAAW,CAAC,YAAY,WAAW,IAAI,CAAC,WAAW,CAAC,gBAAgB,UAAU;YAC9F,wBAAwB,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,CAC3D,CAAC;QACF,mEAAmE;QACnE,qEAAqE;QACrE,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACtC,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"picker.js","sourceRoot":"","sources":["../../../src/adaptive/picker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,4DAA4D;IACnD,MAAM,CAAS;IACxB,oEAAoE;IAC3D,MAAM,CAAS;IACxB,uDAAuD;IAC9C,WAAW,CAMlB;IAEF,YAAY,IAIX;QACC,KAAK,CACH,iCAAiC,IAAI,CAAC,MAAM,oCAAoC,IAAI,CAAC,MAAM,EAAE;YAC3F,UAAU,IAAI,CAAC,WAAW,CAAC,UAAU,UAAU,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG;YAC7E,WAAW,IAAI,CAAC,WAAW,CAAC,YAAY,WAAW,IAAI,CAAC,WAAW,CAAC,gBAAgB,UAAU;YAC9F,wBAAwB,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,CAC3D,CAAC;QACF,mEAAmE;QACnE,qEAAqE;QACrE,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACtC,CAAC;CACF;AAuED;;;;GAIG;AACH,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B;;;;;;;;;GASG;AACH,SAAS,cAAc,CAAC,UAAkB;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,OAAO,MAAM;IACY;IAA7B,YAA6B,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAG,CAAC;IAE1D,GAAG,CAAC,MAAoB,EAAE,MAAqB;QAC7C,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3D,OAAO,UAAU,GAAG,aAAa,EAAE,CAAC;YAClC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,EAAE;gBAAE,MAAM;YACf,UAAU,EAAE,CAAC;YAEb,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACxB,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;iBAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC/B,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,oBAAoB,IAAI,CAAC,QAAQ,CAAC,IAAI,8BAA8B,aAAa,EAAE;gBACjF,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,iCAAiC,CAChE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,gBAAgB,EAAE,KAAK,CAAC,mBAAmB,EAAE;YAC7C,OAAO;YACP,QAAQ;YACR,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE;YAC/B,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,MAAM,CAAC,YAAY;YACpD,SAAS,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,YAAY;YAC5E,UAAU;SACX,CAAC;IACJ,CAAC;CACF;AAED,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,mBAAmB;IACN,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC5C,UAAU,CAAgB;IAC1B,SAAS,CAAuC;IAChD,gBAAgB,CAAiC;IACjD,YAAY,CAAuB;IACnC,YAAY,CAAuB;IACnC,UAAU,CAAS;IACnB,UAAU,CAAS;IAEpC,qEAAqE;IACrE,8BAA8B;IACtB,aAAa,GAAuB,IAAI,CAAC;IACzC,aAAa,GAAuB,IAAI,CAAC;IACzC,eAAe,GAAG,KAAK,CAAC;IACxB,eAAe,GAAG,CAAC,CAAC;IAE5B,kFAAkF;IAC1E,WAAW,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEjD,YAAY,MAAoB;QAC9B,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7E,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,IAAI,GAAG,EAAE,CAAC;QAC7D,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,mCAAmC;IAEnC,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC;QAClD,MAAM,GAAG,GAAgB,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,MAAM,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,aAAa;gBAAE,SAAS;YAC9D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,UAAU,CAAC,EAAa;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,SAAoB;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,+CAA+C;IAE/C,UAAU,CAAC,SAAoB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7C,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,oEAAoE;YACpE,mEAAmE;YACnE,qEAAqE;YACrE,kEAAkE;YAClE,iDAAiD;YACjD,IAAI,KAAK,CAAC,MAAM;gBAAE,SAAS;YAC3B,IAAI,KAAK,CAAC,aAAa;gBAAE,SAAS;YAClC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;gBAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,UAAU,CAAC,SAAoB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,gEAAgE;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7C,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,KAAK,CAAC,aAAa;gBAAE,SAAS;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,sBAAsB;IAEd,gBAAgB;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAEO,QAAQ,CAAC,CAAc;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;YAClD,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,CAAC,KAAa;gBACtB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,iBAAiB;gBACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,KAAkB,EAAE,KAAa;QAClD,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAC7B,IAAI,OAAO,GAA6B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvE,OAAO,OAAO,IAAI,OAAO,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC3B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QACrD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,KAAkB;QAC1C,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC;QAC1B,IAAI,OAAO,GAA6B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvE,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,OAAO,OAAO,EAAE,CAAC;YACf,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;YACpB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ;gBAAE,MAAM;YACrB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,cAAc,CAAC,OAAqB;QAC1C,4DAA4D;QAC5D,8DAA8D;QAC9D,sDAAsD;QACtD,MAAM,GAAG,GAAc,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,CAAC,CAAe,EAAQ,EAAE;YACtC,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;gBACxB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,SAAS;oBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;oBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACtC,IAAI,KAAK;wBAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;OAQG;IACK,aAAa;QACnB,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAa,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,SAAS;YACzE,uDAAuD;YACvD,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3E,IAAI,mBAAmB,KAAK,CAAC,EAAE,CAAC;gBAC9B,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,gEAAgE;gBAChE,sEAAsE;gBACtE,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,SAAS;YACjD,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;YACtE,KAAK,IAAI,GAAG,CAAC;QACf,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv-stable.d.ts","sourceRoot":"","sources":["../../../../src/adaptive/strategies/kv-stable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,MAAM,EACN,OAAO,EACR,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,WAAW,eAAe;IAC9B;;;4DAGwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,gBAAiB,YAAW,eAAe;IACtD,QAAQ,CAAC,IAAI,eAAe;IAE5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAAqC;gBAEvC,MAAM,EAAE,YAAY,EAAE,IAAI,GAAE,eAAoB;IAM5D,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI;IAKzE,+EAA+E;IAC/E,cAAc,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI;IAIrD,OAAO,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"kv-stable.d.ts","sourceRoot":"","sources":["../../../../src/adaptive/strategies/kv-stable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,MAAM,EACN,OAAO,EACR,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,WAAW,eAAe;IAC9B;;;4DAGwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,gBAAiB,YAAW,eAAe;IACtD,QAAQ,CAAC,IAAI,eAAe;IAE5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAAqC;gBAEvC,MAAM,EAAE,YAAY,EAAE,IAAI,GAAE,eAAoB;IAM5D,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI;IAKzE,+EAA+E;IAC/E,cAAc,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI;IAIrD,OAAO,CAAC,KAAK;IAwEb,oEAAoE;IACpE,OAAO,CAAC,MAAM;CAmBf"}
|
|
@@ -44,10 +44,15 @@ export class KvStableStrategy {
|
|
|
44
44
|
}
|
|
45
45
|
solve(budget) {
|
|
46
46
|
const tree = new SummaryTree(this.inputs);
|
|
47
|
-
// Flat zone (forced raw, never folded): head, tail,
|
|
48
|
-
// their carried resolution, never folded): locked.
|
|
47
|
+
// Flat zone (forced raw, never folded): head, tail, classic pins. Frozen
|
|
48
|
+
// (kept at their carried resolution, never folded): locked. V2 dynamic pins
|
|
49
|
+
// (`pinLevel` / `pinMaxLevel`) are honored as a fixed level or a hard fold-
|
|
50
|
+
// depth cap — see `planControlledFrontier`.
|
|
49
51
|
const rawZone = new Set();
|
|
50
52
|
const frozen = new Set();
|
|
53
|
+
const fixedLevels = new Map();
|
|
54
|
+
const pinCaps = new Map();
|
|
55
|
+
const fixedPins = [];
|
|
51
56
|
let now = 0;
|
|
52
57
|
for (const c of this.inputs.chunks) {
|
|
53
58
|
if (c.sequence > now)
|
|
@@ -55,10 +60,54 @@ export class KvStableStrategy {
|
|
|
55
60
|
if (this.inputs.headChunkIds.has(c.id) || this.inputs.tailChunkIds.has(c.id) || c.pinned) {
|
|
56
61
|
rawZone.add(c.id);
|
|
57
62
|
}
|
|
63
|
+
else if (c.pinLevel !== undefined) {
|
|
64
|
+
// Pin-at-level-k: fix exactly at k (0 = raw). k=0 is equivalent to a
|
|
65
|
+
// classic raw pin, so route it through the raw zone; k>0 is resolved to
|
|
66
|
+
// its whole L_k node below (group-consistent — see the loop after).
|
|
67
|
+
if (c.pinLevel <= 0)
|
|
68
|
+
rawZone.add(c.id);
|
|
69
|
+
else
|
|
70
|
+
fixedPins.push({ id: c.id, level: c.pinLevel });
|
|
71
|
+
}
|
|
72
|
+
else if (c.pinMaxLevel !== undefined) {
|
|
73
|
+
// Pin-max-level: a hard fold-depth cap. maxLevel 0 ≡ classic raw pin.
|
|
74
|
+
if (c.pinMaxLevel <= 0)
|
|
75
|
+
rawZone.add(c.id);
|
|
76
|
+
else
|
|
77
|
+
pinCaps.set(c.id, c.pinMaxLevel);
|
|
78
|
+
if (c.lockedByAgent)
|
|
79
|
+
frozen.add(c.id);
|
|
80
|
+
}
|
|
58
81
|
else if (c.lockedByAgent) {
|
|
59
82
|
frozen.add(c.id);
|
|
60
83
|
}
|
|
61
84
|
}
|
|
85
|
+
// Group-consistency for pin-at-level-k: an L_k recall pair is atomic over
|
|
86
|
+
// its whole covered range, so "cut through the L_k node" (design §7) fixes
|
|
87
|
+
// EVERY leaf under that node at k — not just the addressed chunk. Fixing a
|
|
88
|
+
// single sub-chunk while its siblings render raw is an unrenderable (and
|
|
89
|
+
// non-converging) frontier. Clamp k to the deepest produced level for the
|
|
90
|
+
// chunk; if none exists, fall back to fixing just the chunk (the controller
|
|
91
|
+
// clamps it further). Skip leaves already forced raw (head/tail/classic pin).
|
|
92
|
+
for (const { id, level } of fixedPins) {
|
|
93
|
+
const eff = Math.min(level, tree.maxLevel(id));
|
|
94
|
+
if (eff <= 0) {
|
|
95
|
+
rawZone.add(id);
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
const node = tree.ancestorAt(id, eff);
|
|
99
|
+
if (!node) {
|
|
100
|
+
fixedLevels.set(id, eff);
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
for (const leaf of node.leafChunkIds) {
|
|
104
|
+
if (rawZone.has(leaf))
|
|
105
|
+
continue;
|
|
106
|
+
// Finest requirement wins if two pins overlap a leaf.
|
|
107
|
+
const prev = fixedLevels.get(leaf);
|
|
108
|
+
fixedLevels.set(leaf, prev === undefined ? eff : Math.min(prev, eff));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
62
111
|
return planControlledFrontier(this.inputs, tree, {
|
|
63
112
|
previous: this.fPrev,
|
|
64
113
|
// Bidirectional within the slack band: fold when over the hard budget,
|
|
@@ -71,6 +120,8 @@ export class KvStableStrategy {
|
|
|
71
120
|
reachTokens: this.opts.reachTokens,
|
|
72
121
|
rawZone,
|
|
73
122
|
frozen,
|
|
123
|
+
fixedLevels,
|
|
124
|
+
pinCaps,
|
|
74
125
|
now,
|
|
75
126
|
mergeThreshold: this.opts.mergeThreshold,
|
|
76
127
|
}).resolutions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv-stable.js","sourceRoot":"","sources":["../../../../src/adaptive/strategies/kv-stable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAUH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAY1D,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,WAAW,CAAC;IAEX,MAAM,CAAe;IACrB,IAAI,CAAkB;IACtB,KAAK,CAAuB;IACrC,MAAM,GAAgC,IAAI,CAAC;IAEnD,YAAY,MAAoB,EAAE,OAAwB,EAAE;QAC1D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,cAAc,CAAC,KAAmB,EAAE,MAAqB;QACvD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,+EAA+E;IAC/E,cAAc;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,MAAqB;QACjC,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1C,4EAA4E;QAC5E,
|
|
1
|
+
{"version":3,"file":"kv-stable.js","sourceRoot":"","sources":["../../../../src/adaptive/strategies/kv-stable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { JsStore } from '@animalabs/chronicle';
|
|
2
2
|
import type { Membrane, ContentBlock } from '@animalabs/membrane';
|
|
3
|
-
import type { MessageId, Sequence, MessageMetadata, StoredMessage, TokenBudget, PendingWork, BranchInfo, ContextStrategy, MessageQuery, MessageQueryResult, ContextInjection, CompileResult, ProtectedRange, SearchQuery, SearchResult, SummaryEntry } from './types/index.js';
|
|
3
|
+
import type { MessageId, Sequence, MessageMetadata, StoredMessage, TokenBudget, PendingWork, BranchInfo, ContextStrategy, MessageQuery, MessageQueryResult, ContextInjection, CompileResult, ProtectedRange, PinLevelOptions, SearchQuery, SearchResult, SummaryEntry } from './types/index.js';
|
|
4
4
|
import type { RenderStats } from './types/index.js';
|
|
5
5
|
/**
|
|
6
6
|
* Base configuration for ContextManager.
|
|
@@ -225,7 +225,14 @@ export declare class ContextManager {
|
|
|
225
225
|
*
|
|
226
226
|
* Throws if the active strategy doesn't support pins.
|
|
227
227
|
*/
|
|
228
|
-
pinRange(firstMessageId: MessageId, lastMessageId: MessageId, opts?:
|
|
228
|
+
pinRange(firstMessageId: MessageId, lastMessageId: MessageId, opts?: PinLevelOptions): string;
|
|
229
|
+
/**
|
|
230
|
+
* V2 dynamic pin-at-level-k: fix a range to render at EXACTLY fold level
|
|
231
|
+
* `level` (0 = raw) — the frontier cut passes through that L_k node. Honored
|
|
232
|
+
* only by `foldingStrategy: 'kv-stable'`; other strategies fall back to
|
|
233
|
+
* treating the range as raw. Returns the new pin id.
|
|
234
|
+
*/
|
|
235
|
+
pinAtLevel(firstMessageId: MessageId, lastMessageId: MessageId, level: number, opts?: {
|
|
229
236
|
name?: string;
|
|
230
237
|
}): string;
|
|
231
238
|
/**
|
|
@@ -233,9 +240,7 @@ export declare class ContextManager {
|
|
|
233
240
|
* information to retain in full). Same effect as a single-message pin
|
|
234
241
|
* with `kind: 'document'`. Returns the new pin id.
|
|
235
242
|
*/
|
|
236
|
-
markDocument(messageId: MessageId, opts?:
|
|
237
|
-
name?: string;
|
|
238
|
-
}): string;
|
|
243
|
+
markDocument(messageId: MessageId, opts?: PinLevelOptions): string;
|
|
239
244
|
/** Remove a pin or document mark. Returns true if removed. */
|
|
240
245
|
unpin(pinId: string): boolean;
|
|
241
246
|
/** List all current pins. Returns empty array if strategy is not pinnable. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-manager.d.ts","sourceRoot":"","sources":["../../src/context-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"context-manager.d.ts","sourceRoot":"","sources":["../../src/context-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -478,6 +478,15 @@ export class ContextManager {
|
|
|
478
478
|
}
|
|
479
479
|
return this.strategy.pinRange(firstMessageId, lastMessageId, opts);
|
|
480
480
|
}
|
|
481
|
+
/**
|
|
482
|
+
* V2 dynamic pin-at-level-k: fix a range to render at EXACTLY fold level
|
|
483
|
+
* `level` (0 = raw) — the frontier cut passes through that L_k node. Honored
|
|
484
|
+
* only by `foldingStrategy: 'kv-stable'`; other strategies fall back to
|
|
485
|
+
* treating the range as raw. Returns the new pin id.
|
|
486
|
+
*/
|
|
487
|
+
pinAtLevel(firstMessageId, lastMessageId, level, opts) {
|
|
488
|
+
return this.pinRange(firstMessageId, lastMessageId, { name: opts?.name, level });
|
|
489
|
+
}
|
|
481
490
|
/**
|
|
482
491
|
* Mark a single message as a "document" (semantically a body of
|
|
483
492
|
* information to retain in full). Same effect as a single-message pin
|