@cortexkit/opencode-magic-context 0.49.24 → 0.49.26

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 (106) hide show
  1. package/dist/auto-search-worker.js +4 -4
  2. package/dist/chunk-embedding-write-worker.js +5 -5
  3. package/dist/{compartment-chunk-embedding-eypvn607.js → compartment-chunk-embedding-96ec8a7h.js} +3 -3
  4. package/dist/{conflict-warning-hook-a27bhggg.js → conflict-warning-hook-dv8fdc2w.js} +4 -4
  5. package/dist/{context-tvrjhnmj.js → context-pjqa24nd.js} +30 -24
  6. package/dist/{embedding-backfill-vddgmem3.js → embedding-backfill-a91rvdf9.js} +5 -5
  7. package/dist/features/magic-context/tool-definition-tokens.d.ts +113 -57
  8. package/dist/features/magic-context/tool-definition-tokens.d.ts.map +1 -1
  9. package/dist/hooks/magic-context/caveman-cleanup.d.ts +14 -0
  10. package/dist/hooks/magic-context/caveman-cleanup.d.ts.map +1 -1
  11. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts +11 -0
  12. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  13. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +12 -4
  14. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -1
  15. package/dist/hooks/magic-context/foreign-text-parts.d.ts +47 -0
  16. package/dist/hooks/magic-context/foreign-text-parts.d.ts.map +1 -0
  17. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  18. package/dist/hooks/magic-context/lkg-measured-request.d.ts.map +1 -1
  19. package/dist/hooks/magic-context/lkg-replay-fit.d.ts.map +1 -1
  20. package/dist/hooks/magic-context/read-session-chunk.d.ts +21 -0
  21. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  22. package/dist/hooks/magic-context/read-session-raw.d.ts +20 -0
  23. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  24. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  25. package/dist/hooks/magic-context/signed-thinking-fit-snapshot.d.ts +42 -0
  26. package/dist/hooks/magic-context/signed-thinking-fit-snapshot.d.ts.map +1 -0
  27. package/dist/hooks/magic-context/tag-messages.d.ts +15 -0
  28. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  29. package/dist/hooks/magic-context/transform.d.ts +7 -0
  30. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  31. package/dist/{index-2haxh8h3.js → index-064v90e8.js} +1 -1
  32. package/dist/{index-p6evxfcc.js → index-40ma8m0c.js} +7 -49
  33. package/dist/{index-6g7tyb6e.js → index-56tfs78r.js} +96 -41
  34. package/dist/{index-jrjr58ez.js → index-6g1zq1sk.js} +3 -3
  35. package/dist/{index-3d5wnkq7.js → index-6tmf87w0.js} +1 -1
  36. package/dist/index-cfaet9cg.js +405 -0
  37. package/dist/{index-t1zk694n.js → index-dn2ke3b9.js} +30 -14
  38. package/dist/{index-t6j3qxnd.js → index-e5b61ty6.js} +1 -1
  39. package/dist/{index-dds7cxhz.js → index-hjnrp6vy.js} +67 -21
  40. package/dist/{index-c9zrgcnt.js → index-j43m40zd.js} +1 -1
  41. package/dist/{index-7tdtpqrg.js → index-m8va3mma.js} +39 -6
  42. package/dist/{index-z928hmnp.js → index-mphkpyap.js} +1 -1
  43. package/dist/{index-21bkd3m6.js → index-r3bteyev.js} +5 -5
  44. package/dist/{index-8e9qsnrw.js → index-rp78nqvr.js} +169 -11
  45. package/dist/{index-z05n7702.js → index-sgchhbvy.js} +1 -1
  46. package/dist/{index-jd0y50w3.js → index-va2g2q57.js} +3 -3
  47. package/dist/{index-jcr6pe7z.js → index-w55zp7kf.js} +1 -1
  48. package/dist/{index-szf8r0ba.js → index-xbbgcwd2.js} +1 -1
  49. package/dist/{index-7516anfj.js → index-xyx2ge2y.js} +4 -4
  50. package/dist/{index-57jf5ztp.js → index-zn2n24yr.js} +3 -3
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +42 -35
  53. package/dist/{message-fts-rowid-map-9e1getgs.js → message-fts-rowid-map-4ksatb6f.js} +2 -2
  54. package/dist/{message-index-bounded-k8pgrxad.js → message-index-bounded-whh5wv4a.js} +7 -7
  55. package/dist/{message-index-1sgzev6c.js → message-index-ywx53y30.js} +7 -7
  56. package/dist/migration-worker.js +4 -4
  57. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  58. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  59. package/dist/{project-embedding-registry-rstzmb60.js → project-embedding-registry-t9fx6jwh.js} +4 -4
  60. package/dist/raw-ordinal-warmup-worker.js +6 -6
  61. package/dist/{read-session-chunk-q9z6s48t.js → read-session-chunk-mqmkgdx0.js} +6 -4
  62. package/dist/{read-session-raw-s4amywnh.js → read-session-raw-dy2xxafq.js} +3 -1
  63. package/dist/{recomp-orchestrator-hr8ddk8z.js → recomp-orchestrator-qwcz86r1.js} +14 -14
  64. package/dist/{search-archive-c00etw7k.js → search-archive-8md3twv2.js} +5 -5
  65. package/dist/{search-3zjjmc60.js → search-y2t97tbb.js} +11 -11
  66. package/dist/{send-session-notification-ygj4mja0.js → send-session-notification-kzazs7fy.js} +3 -3
  67. package/dist/tools/ctx-reduce/tools.d.ts.map +1 -1
  68. package/dist/{transform-postprocess-phase-rredw6bz.js → transform-postprocess-phase-ppm1tfa7.js} +14 -14
  69. package/dist/v2/auto-search-worker.js +4 -4
  70. package/dist/v2/chunk-embedding-write-worker.js +5 -5
  71. package/dist/v2/{compartment-chunk-embedding-tk6g4q80.js → compartment-chunk-embedding-5rmrn09z.js} +3 -3
  72. package/dist/v2/{context-zbydzq4g.js → context-10pj3bwd.js} +245 -45
  73. package/dist/v2/{embedding-backfill-w5qp7t28.js → embedding-backfill-r9mzt2eg.js} +5 -5
  74. package/dist/v2/hooks/context.d.ts +4 -0
  75. package/dist/v2/hooks/context.d.ts.map +1 -1
  76. package/dist/v2/{message-fts-rowid-map-pqk3a55v.js → message-fts-rowid-map-2s3ta05x.js} +2 -2
  77. package/dist/v2/{message-index-bounded-a9xa8wsq.js → message-index-bounded-f4269d3a.js} +6 -6
  78. package/dist/v2/{message-index-5gnnn64b.js → message-index-v6g8mgn7.js} +6 -6
  79. package/dist/v2/migration-worker.js +4 -4
  80. package/dist/v2/{project-embedding-registry-e7zftfvj.js → project-embedding-registry-tgtmart7.js} +4 -4
  81. package/dist/v2/raw-ordinal-warmup-worker.js +6 -6
  82. package/dist/v2/{read-session-chunk-qqvda7zv.js → read-session-chunk-ym5zvexn.js} +5 -3
  83. package/dist/v2/{read-session-raw-ppjxnqk4.js → read-session-raw-484g8kf2.js} +3 -1
  84. package/dist/v2/{recomp-orchestrator-nmt9y25j.js → recomp-orchestrator-b44s2snm.js} +11 -11
  85. package/dist/v2/{search-6dawx2gt.js → search-75tf953m.js} +10 -10
  86. package/dist/v2/{search-archive-dhqj1w31.js → search-archive-pmf2c1kb.js} +4 -4
  87. package/dist/v2/{send-session-notification-f8scq6ae.js → send-session-notification-gd21f5rq.js} +1 -1
  88. package/dist/v2/{server-y9ncq4ck.js → server-317f3x9y.js} +3 -3
  89. package/dist/v2/{server-wxrdher8.js → server-4frtg2z1.js} +1 -1
  90. package/dist/v2/server-7d6m1p2b.js +361 -0
  91. package/dist/v2/{server-pw21ypwb.js → server-7dpnt0ys.js} +1 -1
  92. package/dist/v2/{server-r209n2fk.js → server-9zh78t8y.js} +65 -19
  93. package/dist/v2/{server-swvhxhxz.js → server-erk2bvdf.js} +39 -6
  94. package/dist/v2/{server-q5z0gag0.js → server-hnmm8yzq.js} +1 -1
  95. package/dist/v2/{server-gwmshgx9.js → server-jcsw05aa.js} +29 -13
  96. package/dist/v2/{server-mefps930.js → server-k46ec388.js} +7 -49
  97. package/dist/v2/{server-9xbbaekh.js → server-nmwhe524.js} +1 -1
  98. package/dist/v2/{server-9e55n4wx.js → server-vjer2jdn.js} +5 -5
  99. package/dist/v2/{server-16dpnz56.js → server-w7x9wgm0.js} +2 -2
  100. package/dist/v2/{server-8j2e7t31.js → server-wj8h2q21.js} +1 -1
  101. package/dist/v2/server.js +2 -2
  102. package/dist/v2/{wrapup-orchestrator-9z81xj66.js → wrapup-orchestrator-gwww44st.js} +11 -11
  103. package/dist/{wrapup-orchestrator-dbnb530w.js → wrapup-orchestrator-a9r8r4sk.js} +15 -15
  104. package/package.json +1 -1
  105. package/dist/index-j76ah6d7.js +0 -120
  106. package/dist/v2/server-d1dzgvwd.js +0 -120
@@ -0,0 +1,405 @@
1
+ import {
2
+ estimateTokens
3
+ } from "./index-b88dwwrh.js";
4
+ import {
5
+ stableStringify
6
+ } from "./index-x9k3mqrf.js";
7
+
8
+ // src/shared/bounded-session-map.ts
9
+ class BoundedSessionMap {
10
+ maxEntries;
11
+ store = new Map;
12
+ constructor(maxEntries) {
13
+ if (!Number.isFinite(maxEntries) || maxEntries < 1) {
14
+ throw new Error(`BoundedSessionMap: maxEntries must be >= 1, got ${maxEntries}`);
15
+ }
16
+ this.maxEntries = maxEntries;
17
+ }
18
+ get(sessionId) {
19
+ const value = this.store.get(sessionId);
20
+ if (value === undefined)
21
+ return;
22
+ this.store.delete(sessionId);
23
+ this.store.set(sessionId, value);
24
+ return value;
25
+ }
26
+ peek(sessionId) {
27
+ return this.store.get(sessionId);
28
+ }
29
+ has(sessionId) {
30
+ return this.store.has(sessionId);
31
+ }
32
+ set(sessionId, value) {
33
+ if (this.store.has(sessionId)) {
34
+ this.store.delete(sessionId);
35
+ } else if (this.store.size >= this.maxEntries) {
36
+ const oldest = this.store.keys().next().value;
37
+ if (oldest !== undefined)
38
+ this.store.delete(oldest);
39
+ }
40
+ this.store.set(sessionId, value);
41
+ }
42
+ delete(sessionId) {
43
+ return this.store.delete(sessionId);
44
+ }
45
+ clear() {
46
+ this.store.clear();
47
+ }
48
+ get size() {
49
+ return this.store.size;
50
+ }
51
+ }
52
+
53
+ // src/features/magic-context/tool-definition-tokens.ts
54
+ import { createHash } from "node:crypto";
55
+ var ACTIVITY_WINDOW_MS = 10 * 60000;
56
+ var MAX_ACTIVITY_GAP_MS = 60000;
57
+ var RETIRED_CACHE_LIMIT = 64;
58
+ var WRITE_RETRY_MS = 5000;
59
+ var WINDOWED_SINCE_KEY = "tool_definition_measurements:windowed_since";
60
+ var routes = new Map;
61
+ var sessionFlights = new BoundedSessionMap(1000);
62
+ var persistenceDb = null;
63
+ var windowedSince;
64
+ var boundAt = 0;
65
+ var cachedInsertStmt = null;
66
+ var cachedDeleteStmt = null;
67
+ function agentKey(agentName) {
68
+ return agentName && agentName.length > 0 ? agentName : "default";
69
+ }
70
+ function keyFor(providerID, modelID, agentName) {
71
+ return `${providerID}/${modelID}/${agentKey(agentName)}`;
72
+ }
73
+ function fingerprintFor(description, parameters) {
74
+ return createHash("sha256").update(description).update("\x00").update(stableStringify(parameters)).digest("hex");
75
+ }
76
+ function measure(description, parameters) {
77
+ let paramsText = "";
78
+ try {
79
+ paramsText = parameters === undefined ? "" : JSON.stringify(parameters);
80
+ } catch {
81
+ paramsText = "";
82
+ }
83
+ return estimateTokens(description) + estimateTokens(paramsText);
84
+ }
85
+ function routeFor(providerID, modelID, agentName) {
86
+ const key = keyFor(providerID, modelID, agentName);
87
+ let route = routes.get(key);
88
+ if (!route) {
89
+ route = {
90
+ providerID,
91
+ modelID,
92
+ agentName: agentKey(agentName),
93
+ tools: new Map,
94
+ live: false,
95
+ clock: 0,
96
+ lastWallAt: Date.now(),
97
+ oldestFireAt: Number.POSITIVE_INFINITY,
98
+ retired: new Map,
99
+ legacyRows: new Set
100
+ };
101
+ routes.set(key, route);
102
+ }
103
+ return { key, route };
104
+ }
105
+ function advanceClock(route) {
106
+ const now = Date.now();
107
+ const gap = Math.min(Math.max(now - route.lastWallAt, 0), MAX_ACTIVITY_GAP_MS);
108
+ route.clock += gap;
109
+ route.lastWallAt = Math.max(route.lastWallAt, now);
110
+ return route.clock;
111
+ }
112
+ function counts(route, slot) {
113
+ if (!route.live)
114
+ return true;
115
+ if (slot.legacy)
116
+ return false;
117
+ return slot.lastFireAt >= route.clock - ACTIVITY_WINDOW_MS;
118
+ }
119
+ function currentTools(route) {
120
+ return [...route.tools.entries()].filter(([, slot]) => counts(route, slot));
121
+ }
122
+ function summarize(entries, live) {
123
+ let total = 0;
124
+ for (const [, slot] of entries)
125
+ total += slot.tokens;
126
+ const ids = entries.map(([id]) => id).sort();
127
+ const fingerprints = new Map(entries.map(([id, slot]) => [
128
+ id,
129
+ slot.fingerprint ?? (live ? `stored:${slot.tokens}` : undefined)
130
+ ]));
131
+ const complete = ids.every((id) => fingerprints.get(id) !== undefined);
132
+ return {
133
+ total,
134
+ signature: complete ? createHash("sha256").update(JSON.stringify(ids.map((id) => [id, fingerprints.get(id)]))).digest("hex") : undefined,
135
+ hash: ids.length === 0 ? "" : createHash("sha256").update(ids.join("\x00")).digest("hex")
136
+ };
137
+ }
138
+ function resolve(providerID, modelID, agentName, sessionId) {
139
+ if (!providerID || !modelID)
140
+ return;
141
+ const key = keyFor(providerID, modelID, agentName);
142
+ if (sessionId) {
143
+ const flight = sessionFlights.peek(sessionId);
144
+ if (flight?.key === key && flight.exact)
145
+ return flight.exact;
146
+ }
147
+ const route = routes.get(key);
148
+ if (!route)
149
+ return;
150
+ const entries = currentTools(route);
151
+ if (!route.live && entries.length === 0)
152
+ return;
153
+ return summarize(entries, route.live);
154
+ }
155
+ function readWindowedSince(db) {
156
+ try {
157
+ const row = db.prepare("SELECT value FROM schema_migrations_meta WHERE key = ?").get(WINDOWED_SINCE_KEY);
158
+ if (!row)
159
+ return;
160
+ const value = Number(row.value);
161
+ return Number.isFinite(value) ? value : undefined;
162
+ } catch {
163
+ return;
164
+ }
165
+ }
166
+ function markWindowed() {
167
+ if (windowedSince !== undefined || !persistenceDb)
168
+ return;
169
+ try {
170
+ persistenceDb.prepare("INSERT OR IGNORE INTO schema_migrations_meta (key, value) VALUES (?, ?)").run(WINDOWED_SINCE_KEY, String(boundAt));
171
+ windowedSince = readWindowedSince(persistenceDb);
172
+ } catch {}
173
+ }
174
+ function persistInsert(route, toolID, tokens) {
175
+ if (!persistenceDb)
176
+ return false;
177
+ try {
178
+ cachedInsertStmt ??= persistenceDb.prepare(`INSERT OR REPLACE INTO tool_definition_measurements
179
+ (provider_id, model_id, agent_name, tool_id, token_count, recorded_at)
180
+ VALUES (?, ?, ?, ?, ?, ?)`);
181
+ cachedInsertStmt.run(route.providerID, route.modelID, route.agentName, toolID, tokens, Date.now());
182
+ } catch {
183
+ cachedInsertStmt = null;
184
+ return false;
185
+ }
186
+ if (route.legacyRows.delete(toolID) && route.legacyRows.size === 0)
187
+ markWindowed();
188
+ return true;
189
+ }
190
+ function persistDelete(route, toolIDs) {
191
+ if (!persistenceDb)
192
+ return false;
193
+ try {
194
+ cachedDeleteStmt ??= persistenceDb.prepare(`DELETE FROM tool_definition_measurements
195
+ WHERE provider_id = ? AND model_id = ? AND agent_name = ?
196
+ AND tool_id IN (SELECT value FROM json_each(?))`);
197
+ cachedDeleteStmt.run(route.providerID, route.modelID, route.agentName, JSON.stringify(toolIDs));
198
+ } catch {
199
+ cachedDeleteStmt = null;
200
+ return false;
201
+ }
202
+ for (const id of toolIDs)
203
+ route.legacyRows.delete(id);
204
+ markWindowed();
205
+ return true;
206
+ }
207
+ function writeSlot(route, toolID, slot) {
208
+ if (slot.persisted || !persistenceDb)
209
+ return;
210
+ const now = Date.now();
211
+ if (slot.writeFailedAt !== undefined && now - slot.writeFailedAt < WRITE_RETRY_MS)
212
+ return;
213
+ if (persistInsert(route, toolID, slot.tokens)) {
214
+ slot.persisted = true;
215
+ slot.writeFailedAt = undefined;
216
+ } else {
217
+ slot.writeFailedAt = now;
218
+ }
219
+ }
220
+ function retire(route, toolID, slot, rowDeleted) {
221
+ if (slot.fingerprint === undefined)
222
+ return;
223
+ route.retired.delete(toolID);
224
+ route.retired.set(toolID, {
225
+ fingerprint: slot.fingerprint,
226
+ tokens: slot.tokens,
227
+ rowKept: slot.persisted && !rowDeleted
228
+ });
229
+ if (route.retired.size > RETIRED_CACHE_LIMIT) {
230
+ const oldest = route.retired.keys().next().value;
231
+ if (oldest !== undefined)
232
+ route.retired.delete(oldest);
233
+ }
234
+ }
235
+ function freshSlot(route, toolID, description, parameters, fingerprint, now) {
236
+ const retired = route.retired.get(toolID);
237
+ if (retired)
238
+ route.retired.delete(toolID);
239
+ const reuse = retired?.fingerprint === fingerprint ? retired : undefined;
240
+ return {
241
+ tokens: reuse ? reuse.tokens : measure(description, parameters),
242
+ fingerprint,
243
+ lastFireAt: now,
244
+ legacy: false,
245
+ persisted: reuse?.rowKept === true
246
+ };
247
+ }
248
+ function expire(route) {
249
+ const cutoff = route.clock - ACTIVITY_WINDOW_MS;
250
+ if (route.oldestFireAt >= cutoff)
251
+ return;
252
+ const leaving = [];
253
+ let oldest = Number.POSITIVE_INFINITY;
254
+ for (const entry of route.tools) {
255
+ if (entry[1].lastFireAt >= cutoff)
256
+ oldest = Math.min(oldest, entry[1].lastFireAt);
257
+ else
258
+ leaving.push(entry);
259
+ }
260
+ route.oldestFireAt = oldest;
261
+ if (leaving.length === 0)
262
+ return;
263
+ const deleted = persistDelete(route, leaving.map(([id]) => id));
264
+ for (const [id, slot] of leaving) {
265
+ route.tools.delete(id);
266
+ retire(route, id, slot, deleted);
267
+ }
268
+ }
269
+ function setDatabase(db) {
270
+ const rebound = persistenceDb !== null && persistenceDb !== db;
271
+ persistenceDb = db;
272
+ boundAt = Date.now();
273
+ cachedInsertStmt = null;
274
+ cachedDeleteStmt = null;
275
+ if (rebound) {
276
+ for (const route of routes.values()) {
277
+ for (const slot of route.tools.values()) {
278
+ slot.persisted = false;
279
+ slot.writeFailedAt = undefined;
280
+ }
281
+ for (const retired of route.retired.values())
282
+ retired.rowKept = false;
283
+ route.legacyRows.clear();
284
+ }
285
+ }
286
+ windowedSince = readWindowedSince(db);
287
+ if (windowedSince !== undefined)
288
+ return;
289
+ try {
290
+ if (!db.prepare("SELECT 1 FROM tool_definition_measurements LIMIT 1").get())
291
+ markWindowed();
292
+ } catch {}
293
+ }
294
+ function loadToolDefinitionMeasurements(db) {
295
+ let rows = [];
296
+ try {
297
+ rows = db.prepare("SELECT provider_id, model_id, agent_name, tool_id, token_count, recorded_at FROM tool_definition_measurements").all();
298
+ } catch {
299
+ return;
300
+ }
301
+ const since = readWindowedSince(db);
302
+ const loadedAt = new Map;
303
+ for (const row of rows) {
304
+ const { route } = routeFor(row.provider_id, row.model_id, row.agent_name);
305
+ if (route.live)
306
+ continue;
307
+ let now = loadedAt.get(route);
308
+ if (now === undefined) {
309
+ now = advanceClock(route);
310
+ loadedAt.set(route, now);
311
+ }
312
+ const legacy = since === undefined || !(Number(row.recorded_at) >= since);
313
+ route.tools.set(row.tool_id, {
314
+ tokens: row.token_count,
315
+ fingerprint: undefined,
316
+ lastFireAt: now,
317
+ legacy,
318
+ persisted: !legacy
319
+ });
320
+ route.oldestFireAt = Math.min(route.oldestFireAt, now);
321
+ if (legacy)
322
+ route.legacyRows.add(row.tool_id);
323
+ else
324
+ route.legacyRows.delete(row.tool_id);
325
+ }
326
+ }
327
+ function recordToolDefinition(providerID, modelID, agentName, toolID, description, parameters, sessionId) {
328
+ if (!providerID || !modelID || !toolID)
329
+ return;
330
+ const { key, route } = routeFor(providerID, modelID, agentName);
331
+ const now = advanceClock(route);
332
+ if (!route.live) {
333
+ route.live = true;
334
+ for (const slot of route.tools.values())
335
+ if (slot.legacy)
336
+ slot.lastFireAt = now;
337
+ }
338
+ if (sessionId)
339
+ sessionFlights.set(sessionId, { key });
340
+ const fingerprint = fingerprintFor(description ?? "", parameters);
341
+ let slot = route.tools.get(toolID);
342
+ if (slot && slot.fingerprint === fingerprint) {
343
+ slot.lastFireAt = now;
344
+ } else {
345
+ slot = freshSlot(route, toolID, description ?? "", parameters, fingerprint, now);
346
+ route.tools.set(toolID, slot);
347
+ route.oldestFireAt = Math.min(route.oldestFireAt, now);
348
+ }
349
+ writeSlot(route, toolID, slot);
350
+ expire(route);
351
+ }
352
+ function recordToolDefinitionSet(providerID, modelID, agentName, tools, sessionId) {
353
+ if (!providerID || !modelID)
354
+ return;
355
+ const { key, route } = routeFor(providerID, modelID, agentName);
356
+ const now = advanceClock(route);
357
+ route.live = true;
358
+ const next = new Map;
359
+ for (const tool of tools) {
360
+ if (!tool.id)
361
+ continue;
362
+ const fingerprint = fingerprintFor(tool.description ?? "", tool.parameters);
363
+ const previous = route.tools.get(tool.id);
364
+ if (previous && previous.fingerprint === fingerprint) {
365
+ previous.lastFireAt = now;
366
+ next.set(tool.id, previous);
367
+ continue;
368
+ }
369
+ next.set(tool.id, freshSlot(route, tool.id, tool.description ?? "", tool.parameters, fingerprint, now));
370
+ }
371
+ const removed = [...route.tools].filter(([id]) => !next.has(id));
372
+ route.tools = next;
373
+ route.oldestFireAt = now;
374
+ if (removed.length > 0) {
375
+ const deleted = persistDelete(route, removed.map(([id]) => id));
376
+ for (const [id, slot] of removed)
377
+ retire(route, id, slot, deleted);
378
+ }
379
+ for (const [toolID, slot] of next)
380
+ writeSlot(route, toolID, slot);
381
+ if (sessionId)
382
+ sessionFlights.set(sessionId, { key, exact: summarize([...next.entries()], true) });
383
+ }
384
+ function getCurrentToolSetHash(providerID, modelID, agentName, sessionId) {
385
+ return resolve(providerID, modelID, agentName, sessionId)?.hash ?? "";
386
+ }
387
+ function getToolDefinitionMeasurementSignature(providerID, modelID, agentName, sessionId) {
388
+ return resolve(providerID, modelID, agentName, sessionId)?.signature;
389
+ }
390
+ function getMeasuredToolDefinitionTokens(providerID, modelID, agentName, sessionId) {
391
+ return resolve(providerID, modelID, agentName, sessionId)?.total;
392
+ }
393
+ function getSessionToolDefinitionTokens(sessionId) {
394
+ if (!sessionId)
395
+ return;
396
+ const flight = sessionFlights.peek(sessionId);
397
+ if (!flight)
398
+ return;
399
+ if (flight.exact)
400
+ return flight.exact.total;
401
+ const route = routes.get(flight.key);
402
+ return route ? summarize(currentTools(route), route.live).total : undefined;
403
+ }
404
+
405
+ export { BoundedSessionMap, setDatabase, loadToolDefinitionMeasurements, recordToolDefinition, recordToolDefinitionSet, getCurrentToolSetHash, getToolDefinitionMeasurementSignature, getMeasuredToolDefinitionTokens, getSessionToolDefinitionTokens };
@@ -70,18 +70,18 @@ import {
70
70
  readRawSeedTailFromDb2,
71
71
  readRawSessionBoundaryEndpointsFromDb2,
72
72
  prewarmRawSessionOrdinalsForDb
73
- } from "./index-7tdtpqrg.js";
73
+ } from "./index-m8va3mma.js";
74
74
  import {
75
75
  openCodeDbExists,
76
76
  withReadOnlySessionDb,
77
77
  getRawSessionMessageCountFromDb,
78
78
  getMessageTimesFromOpenCodeDb
79
- } from "./index-c9zrgcnt.js";
79
+ } from "./index-j43m40zd.js";
80
80
  import {
81
81
  getToolDefinitionMeasurementSignature,
82
- getLargestMeasuredToolDefinitionTokens,
83
- getMeasuredToolDefinitionTokens
84
- } from "./index-j76ah6d7.js";
82
+ getMeasuredToolDefinitionTokens,
83
+ getSessionToolDefinitionTokens
84
+ } from "./index-cfaet9cg.js";
85
85
  import {
86
86
  canonicalModelIdentity,
87
87
  piModelRefToCanonical
@@ -5855,7 +5855,7 @@ function createFinalWireUsageTracker() {
5855
5855
  const envelopeFor = (input) => {
5856
5856
  if (!input.providerID || !input.modelID || !input.systemPromptHash)
5857
5857
  return;
5858
- const tools = getToolDefinitionMeasurementSignature(input.providerID, input.modelID, input.agentName);
5858
+ const tools = getToolDefinitionMeasurementSignature(input.providerID, input.modelID, input.agentName, input.sessionId);
5859
5859
  if (!tools)
5860
5860
  return;
5861
5861
  return JSON.stringify([
@@ -5868,7 +5868,8 @@ function createFinalWireUsageTracker() {
5868
5868
  ]);
5869
5869
  };
5870
5870
  return {
5871
- estimate(sessionId, input, limit) {
5871
+ estimate(sessionId, request, limit) {
5872
+ const input = { ...request, sessionId: request.sessionId ?? sessionId };
5872
5873
  let measuredPrefix;
5873
5874
  try {
5874
5875
  const previous = served.get(sessionId);
@@ -5899,7 +5900,8 @@ function createFinalWireUsageTracker() {
5899
5900
  }
5900
5901
  return estimateOutgoingWireForRefusal({ ...input, measuredPrefix }, limit);
5901
5902
  },
5902
- capture(sessionId, input) {
5903
+ capture(sessionId, request) {
5904
+ const input = { ...request, sessionId: request.sessionId ?? sessionId };
5903
5905
  const previous = served.get(sessionId);
5904
5906
  served.delete(sessionId);
5905
5907
  try {
@@ -5970,7 +5972,7 @@ function estimateOutgoingWireForRefusal(input, limit) {
5970
5972
  if (bytes) {
5971
5973
  const lower = baseline + Math.ceil(bytes.bytes / 4);
5972
5974
  const calibration = resolveDecisionCalibration(input.providerID, input.modelID);
5973
- const tools = input.providerID && input.modelID ? getMeasuredToolDefinitionTokens(input.providerID, input.modelID, input.agentName) : undefined;
5975
+ const tools = input.providerID && input.modelID ? getMeasuredToolDefinitionTokens(input.providerID, input.modelID, input.agentName, input.sessionId) : undefined;
5974
5976
  const envelope = measured ? baseline : tools !== undefined && Number.isFinite(input.systemPromptTokens) && input.systemPromptTokens > 0 ? providerMass({ system: input.systemPromptTokens, tools }, calibration, true) : undefined;
5975
5977
  const upper = envelope === undefined ? undefined : envelope + Math.ceil(bytes.bytes * Math.max(UNKNOWN_FIT_RATIO, calibration.toolsRatio, calibration.proseRatio));
5976
5978
  if (bytes.aborted || lower > limit || upper !== undefined && upper <= limit) {
@@ -5998,17 +6000,17 @@ function estimateFinalWireInputTokens(input) {
5998
6000
  total.toolCall += next.toolCall;
5999
6001
  return total;
6000
6002
  }, { conversation: 0, toolCall: 0 });
6001
- const measuredToolDefinitions = input.toolDefinitionTokens ?? (input.providerID && input.modelID ? getMeasuredToolDefinitionTokens(input.providerID, input.modelID, input.agentName) : undefined);
6003
+ const measuredToolDefinitions = input.toolDefinitionTokens ?? (input.providerID && input.modelID ? getMeasuredToolDefinitionTokens(input.providerID, input.modelID, input.agentName, input.sessionId) : undefined);
6002
6004
  const calibration = resolveDecisionCalibration(input.providerID, input.modelID);
6003
- const largestToolDefinitions = measuredToolDefinitions === undefined ? getLargestMeasuredToolDefinitionTokens() : undefined;
6004
- const toolDefinitions = measuredToolDefinitions ?? (largestToolDefinitions === undefined ? undefined : Math.ceil(largestToolDefinitions * UNKNOWN_FIT_RATIO / (calibration.seeded ? calibration.toolsRatio : UNKNOWN_FIT_RATIO)));
6005
+ const borrowedToolDefinitions = measuredToolDefinitions === undefined ? getSessionToolDefinitionTokens(input.sessionId) : undefined;
6006
+ const toolDefinitions = measuredToolDefinitions ?? (borrowedToolDefinitions === undefined ? undefined : Math.ceil(borrowedToolDefinitions * UNKNOWN_FIT_RATIO / (calibration.seeded ? calibration.toolsRatio : UNKNOWN_FIT_RATIO)));
6005
6007
  const rawComponents = {
6006
6008
  system: input.systemPromptTokens,
6007
6009
  tools: (toolDefinitions ?? 0) + messageTokens.toolCall,
6008
6010
  prose: messageTokens.conversation
6009
6011
  };
6010
6012
  const tokens = providerMass(rawComponents, calibration, true);
6011
- const pressureToolDefinitions = measuredToolDefinitions ?? largestToolDefinitions ?? 0;
6013
+ const pressureToolDefinitions = measuredToolDefinitions ?? borrowedToolDefinitions ?? 0;
6012
6014
  const pressureTokens = providerMass({
6013
6015
  system: rawComponents.system,
6014
6016
  tools: pressureToolDefinitions + messageTokens.toolCall,
@@ -7066,6 +7068,20 @@ function readRawSessionMessageOrdinalById2(sessionId, messageId) {
7066
7068
  return null;
7067
7069
  return withReadOnlySessionDb((db) => readRawSessionMessageOrdinalByIdFromDb2(db, sessionId, messageId));
7068
7070
  }
7071
+ function resolveHistorianChunkStart2(sessionId, newest) {
7072
+ if (!newest)
7073
+ return 1;
7074
+ const fallback = newest.endMessage + 1;
7075
+ if (hasRawMessageProvider2(sessionId))
7076
+ return fallback;
7077
+ const endId = newest.endMessageId;
7078
+ if (typeof endId !== "string" || endId.length === 0)
7079
+ return fallback;
7080
+ const ordinal = readRawSessionMessageOrdinalById2(sessionId, endId);
7081
+ if (typeof ordinal !== "number" || !Number.isFinite(ordinal) || ordinal < 1)
7082
+ return fallback;
7083
+ return ordinal + 1;
7084
+ }
7069
7085
  function readRawSessionMessageOrderPosition(sessionId, messageId) {
7070
7086
  const provider = sessionProviders.get(sessionId)?.provider;
7071
7087
  if (provider) {
@@ -7566,4 +7582,4 @@ function readRawSessionSeedTail2(sessionId, boundaryId, onQuery) {
7566
7582
  });
7567
7583
  }
7568
7584
 
7569
- export { isToolFreeHiddenAgent, TOOL_USE_DISABLED, ZEN_READ_AGENT_SUFFIX, needsBlockedRead, withBlockedReadInstruction, rememberV1HiddenRun, shapeV1HiddenMessage, expandToolPart, askAnswerLines, markHostUnservedRow, retreatPastHostUnservedRows, snapTerminalCompartmentToServedRow, isHostRenderedSystemMessage, markCoveredInstructionRow, isCoveredInstructionRow, takeCoveredInstructionRows, cloneKeepingCoveredInstructionMarks, completedToolArcCrossesBoundary, estimateTrueRawMessageTokens, buildToolArcs, fenceBoundaryForCompletedToolArcs, fenceBoundaryForToolArcs, buildTrueRawTokenIndex, computeRawRangeFingerprint, invalidateTrueRawTokenCache, stripSystemInjection, isTextPart, isToolPartWithOutput, isFilePart, toolPartHasUserAnswer, DreamTokenBudgetExceeded, TOKEN_BUDGET_FINALIZE_MESSAGE, registerBudgetFinalizeChild, releaseBudgetFinalizeChild, createDreamTokenBudget, recordToolParameters, createDroppedInputGuard, assertExecutableToolInput, createDroppedInputToolExecuteBeforeHook, isEditTool, MERGED_REASONING_PARTS_PREFIX, decodeMergedReasoningParts, MAX_EXECUTE_THRESHOLD, escalationBands, HYGIENE_PROVIDER_UNITS_VERSION, sessionDecisionCalibration, transitionSessionHygieneUnits, readEpochFloorSnapshot, getProtectionWindowForSession, SESSION_META_SELECT_COLUMNS, META_COLUMNS, BOOLEAN_META_KEYS, NULL_BIND_META_KEYS, isSessionMetaRow, getDefaultSessionMeta, ensureSessionMetaRow, toSessionMeta, persistCachedM0, clearCachedM0M1, clearCachedM0, withReplayEnvelopeSnapshot, invalidateReplayEnvelopeSnapshot, isRustMarkerAdmissionFenced, setRustMarkerAdmissionFence, ReplayDocumentError, readReplayEnvelope, readReplayDocument, updateReplayDocument, writeReplayDocument, isEmergencyRecoveryArmed, isProviderOverflowReconfirmed, isProviderOverflowFailClosedProven, getEmergencyRecoveryArmedAt, describeProtectedTailDrainBudgetSkip, loadPersistedUsage, loadProtectedTailMeta, markProtectedTailPolicyV3Seeded, recordProtectedTailPublicationFloor, recordProtectedTailNoEligibleHead, resetProtectedTailNoEligibleHead, getWrapupInProgressState, isWrapupInProgress, acquireWrapupInProgress, updateWrapupInProgress, releaseWrapupInProgress, resolveCompactionModeRecord, getCompactionModeRecord, setCompactionModeRecord, getProtectedTailDrainBudgetSkip, reserveProtectedTailDrainTokens, clearEmergencyDrainLatch, recordHistorianDrainFailure, clearHistorianDrainFailure, rollbackProtectedTailDrainReservation, getPersistedReasoningWatermark, setPersistedReasoningWatermark, clearPersistedReasoningWatermark, getEmergencyInputSample, setEmergencyDropSample, clearEmergencyDropSample, getLastNudgeUndropped, setLastNudgeUndropped, getChannel1NudgeState, setChannel1NudgeState, markChannel1PostReduceGracePending, captureChannel1PostReduceGraceBaseline, getChannel2NudgeState, getChannel2NudgeClaim, setChannel2NudgeState, casChannel2NudgeState, claimChannel2NudgeState, casChannel2NudgeClaim, getPersistedNoteNudge, setPersistedNoteNudgeTrigger, setPersistedNoteNudgeTriggerMessageId, getNoteNudgeAnchors, getAutoSearchHintDecisions, deliverNoteNudgeAtomic, appendAutoSearchHintDecision, pruneNoteNudgeAnchors, removeNoteNudgeAnchorByMessageId, queueAutoSearchHintDecisionRetirement, flushAutoSearchHintDecisionRetirement, removeAutoSearchHintDecisionByMessageId, getPersistedTodoPermissionDenied, setPersistedTodoPermissionDenied, getPersistedTodoSyntheticAnchor, setPersistedTodoSyntheticAnchor, clearPersistedTodoSyntheticAnchor, getNoteLastReadAt, setNoteLastReadAt, getHistorianFailureState, incrementHistorianFailure, clearHistorianFailureState, getOverflowState, loadTransformPassStateSnapshot, recordOverflowDetected, recordDetectedContextLimit, clearEmergencyRecovery, clearDetectedContextLimit, getPersistedCompactionMarkerState, setPersistedCompactionMarkerState, getDeferredClearedCompactionMarkerState, retireDeferredClearedCompactionMarkerState, parseStrippedPlaceholderState, serializeStrippedPlaceholderState, getStrippedPlaceholderIds, applyStrippedPlaceholderDelta, removeStrippedPlaceholderId, THINKING_BINDING_RECOVERY_FROZEN_PREFIX, THINKING_BINDING_STRIP_ORDER_END_MARKER, thinkingBindingRecoveryFrozenId, COMPACTION_OFF_THINKING_FROZEN_PREFIX, compactionOffThinkingFrozenId, compactionOffFrozenThinkingIds, getThinkingBindingRecoveryTarget, armThinkingBindingRecovery, clearThinkingBindingRecoveryIf, getMergedReasoningStrippedIds, addMergedReasoningStrippedIds, getTrailingBlankDecisions, addTrailingBlankDecisions, demoteTrailingBlankKeepDecisions, getStaleReduceStrippedIds, addStaleReduceStrippedIds, getProcessedImageStrippedIds, parseProcessedImageMarkers, serializeProcessedImageMarkers, getProcessedImageMarkers, addProcessedImageStrippedIds, getPendingCompactionMarkerState, getCompactionMarkerHealth, loadPostprocessReplaySnapshot, setPendingCompactionMarkerState, replacePendingCompactionMarkerStateIf, clearPendingCompactionMarkerStateIf, getPendingPiCompactionMarkerState, clearPendingPiCompactionMarkerStateIf, logPiCompactionMarkerClear, getSessionsWithPendingMarker, setSessionWorkMetrics, getObservedEpochFloor, resolveEpochFloorForPass, getReasoningRemovalState, addRemovedReasoningIds, markDropLeavesReasoning, detectThinkingBindingMismatch, detectLatestTurnThinkingMismatch, isPrefixBoundThinkingModel, detectOverflow, modelAcceptsEmptyContent, isAnthropicFamilyRoute, neutralizeDroppedReasoningPart, restoreNeutralizedReasoningPart, isNeutralizedReasoningPart, variantChangeBustsProviderCache, makeSentinel, makeWholeMessageSentinel, isSentinel, replaySentinelByMessageIds, isInActiveAnthropicTurn, activeAnthropicTurnStart, hasAnthropicReasoning, markServedShapeRepair, prepareServedShapeRepair, stripSystemInjectedMessages, stripDroppedPlaceholderMessages, replayClearedReasoning, replayStrippedInlineThinking, clearOldReasoning, stripClearedReasoning, captureInlineThinkingRepairs, stripInlineThinking, findReasoningBearingAssistantIds, findLatestAssistantReasoningMutationExemptMessage, snapshotTrailingBlankSourceDecisions, findTrailingBlankDecisionCandidates, applyFrozenTrailingBlankDecisions, stripReasoningFromAssistantIds, findMergedReasoningStripDecisions, stripReasoningFromMergedAssistants, getEmptyImageParts, stripProcessedImages, projectOpencodeReasoningBudgetCutoff, DEFAULT_KEEP_REASONING_TOKENS, resolveKeepReasoningTokens, reasoningStepCost, reasoningBudgetCutoff, reasoningTextAndOpaque, opencodeReasoningBudgetCutoff, describeFinalWireTail, estimatePartImageTokens, estimateMessageTokens, wireContentBytes, createFinalWireUsageTracker, estimateFinalWireInputTokens, estimateAppendedWireTokens, SKELETON_REAL_INPUT_MAX_BYTES, partHasCompletedResult, extractToolCallObservation, ToolMutationBatch, createToolDropTarget, resolveHostServedBoundaryId2, hasRawMessageProvider2, setRawMessageProvider2, setBoundedRawMessageProvider2, withRawMessageProvider2, cleanUserText2, withRawSessionMessageCache2, readRawSessionMessages2, readRawSessionMessagePage2, getRawSessionMessageOrdinalCount2, RAW_MESSAGE_VISIT_PAGE_SIZE2, visitRawSessionMessages2, visitRawSessionMessagesAsync2, readRawSessionMessageRange2, prepareRawSessionOrdinals2, primeTailRawMessageCache2, getCachedAbsoluteMessageCount2, primeInMemoryTailRawMessageCache2, readRawSessionMessageOrdinalPage2, getRawSessionStoredMessageCount2, readRawSessionMessageIdOrdinalsForRange2, readRawSessionMessageIdOrdinals2, readRawSessionMessagePartsById2, readRawSessionBoundaryEndpoints2, hasRawSessionMessageById2, readRawSessionMessageOrdinalById2, compareRawSessionMessageOrder2, readRawSessionMessageById2, getRawSessionMessageCount2, RAW_SESSION_TAG_KEY_PAGE_SIZE2, getRawSessionTagKeysThrough2, getLegacyProtectedTailStartOrdinal2, getProtectedTailStartOrdinal2, readSessionChunk2, getRawSessionMessageIdsThrough2, readRawSessionSeedTail2 };
7585
+ export { isToolFreeHiddenAgent, TOOL_USE_DISABLED, ZEN_READ_AGENT_SUFFIX, needsBlockedRead, withBlockedReadInstruction, rememberV1HiddenRun, shapeV1HiddenMessage, expandToolPart, askAnswerLines, markHostUnservedRow, retreatPastHostUnservedRows, snapTerminalCompartmentToServedRow, isHostRenderedSystemMessage, markCoveredInstructionRow, isCoveredInstructionRow, takeCoveredInstructionRows, cloneKeepingCoveredInstructionMarks, completedToolArcCrossesBoundary, estimateTrueRawMessageTokens, buildToolArcs, fenceBoundaryForCompletedToolArcs, fenceBoundaryForToolArcs, buildTrueRawTokenIndex, computeRawRangeFingerprint, invalidateTrueRawTokenCache, stripSystemInjection, isTextPart, isToolPartWithOutput, isFilePart, toolPartHasUserAnswer, DreamTokenBudgetExceeded, TOKEN_BUDGET_FINALIZE_MESSAGE, registerBudgetFinalizeChild, releaseBudgetFinalizeChild, createDreamTokenBudget, recordToolParameters, createDroppedInputGuard, assertExecutableToolInput, createDroppedInputToolExecuteBeforeHook, isEditTool, MERGED_REASONING_PARTS_PREFIX, decodeMergedReasoningParts, MAX_EXECUTE_THRESHOLD, escalationBands, HYGIENE_PROVIDER_UNITS_VERSION, sessionDecisionCalibration, transitionSessionHygieneUnits, readEpochFloorSnapshot, getProtectionWindowForSession, SESSION_META_SELECT_COLUMNS, META_COLUMNS, BOOLEAN_META_KEYS, NULL_BIND_META_KEYS, isSessionMetaRow, getDefaultSessionMeta, ensureSessionMetaRow, toSessionMeta, persistCachedM0, clearCachedM0M1, clearCachedM0, withReplayEnvelopeSnapshot, invalidateReplayEnvelopeSnapshot, isRustMarkerAdmissionFenced, setRustMarkerAdmissionFence, ReplayDocumentError, readReplayEnvelope, readReplayDocument, updateReplayDocument, writeReplayDocument, isEmergencyRecoveryArmed, isProviderOverflowReconfirmed, isProviderOverflowFailClosedProven, getEmergencyRecoveryArmedAt, describeProtectedTailDrainBudgetSkip, loadPersistedUsage, loadProtectedTailMeta, markProtectedTailPolicyV3Seeded, recordProtectedTailPublicationFloor, recordProtectedTailNoEligibleHead, resetProtectedTailNoEligibleHead, getWrapupInProgressState, isWrapupInProgress, acquireWrapupInProgress, updateWrapupInProgress, releaseWrapupInProgress, resolveCompactionModeRecord, getCompactionModeRecord, setCompactionModeRecord, getProtectedTailDrainBudgetSkip, reserveProtectedTailDrainTokens, clearEmergencyDrainLatch, recordHistorianDrainFailure, clearHistorianDrainFailure, rollbackProtectedTailDrainReservation, getPersistedReasoningWatermark, setPersistedReasoningWatermark, clearPersistedReasoningWatermark, getEmergencyInputSample, setEmergencyDropSample, clearEmergencyDropSample, getLastNudgeUndropped, setLastNudgeUndropped, getChannel1NudgeState, setChannel1NudgeState, markChannel1PostReduceGracePending, captureChannel1PostReduceGraceBaseline, getChannel2NudgeState, getChannel2NudgeClaim, setChannel2NudgeState, casChannel2NudgeState, claimChannel2NudgeState, casChannel2NudgeClaim, getPersistedNoteNudge, setPersistedNoteNudgeTrigger, setPersistedNoteNudgeTriggerMessageId, getNoteNudgeAnchors, getAutoSearchHintDecisions, deliverNoteNudgeAtomic, appendAutoSearchHintDecision, pruneNoteNudgeAnchors, removeNoteNudgeAnchorByMessageId, queueAutoSearchHintDecisionRetirement, flushAutoSearchHintDecisionRetirement, removeAutoSearchHintDecisionByMessageId, getPersistedTodoPermissionDenied, setPersistedTodoPermissionDenied, getPersistedTodoSyntheticAnchor, setPersistedTodoSyntheticAnchor, clearPersistedTodoSyntheticAnchor, getNoteLastReadAt, setNoteLastReadAt, getHistorianFailureState, incrementHistorianFailure, clearHistorianFailureState, getOverflowState, loadTransformPassStateSnapshot, recordOverflowDetected, recordDetectedContextLimit, clearEmergencyRecovery, clearDetectedContextLimit, getPersistedCompactionMarkerState, setPersistedCompactionMarkerState, getDeferredClearedCompactionMarkerState, retireDeferredClearedCompactionMarkerState, parseStrippedPlaceholderState, serializeStrippedPlaceholderState, getStrippedPlaceholderIds, applyStrippedPlaceholderDelta, removeStrippedPlaceholderId, THINKING_BINDING_RECOVERY_FROZEN_PREFIX, THINKING_BINDING_STRIP_ORDER_END_MARKER, thinkingBindingRecoveryFrozenId, COMPACTION_OFF_THINKING_FROZEN_PREFIX, compactionOffThinkingFrozenId, compactionOffFrozenThinkingIds, getThinkingBindingRecoveryTarget, armThinkingBindingRecovery, clearThinkingBindingRecoveryIf, getMergedReasoningStrippedIds, addMergedReasoningStrippedIds, getTrailingBlankDecisions, addTrailingBlankDecisions, demoteTrailingBlankKeepDecisions, getStaleReduceStrippedIds, addStaleReduceStrippedIds, getProcessedImageStrippedIds, parseProcessedImageMarkers, serializeProcessedImageMarkers, getProcessedImageMarkers, addProcessedImageStrippedIds, getPendingCompactionMarkerState, getCompactionMarkerHealth, loadPostprocessReplaySnapshot, setPendingCompactionMarkerState, replacePendingCompactionMarkerStateIf, clearPendingCompactionMarkerStateIf, getPendingPiCompactionMarkerState, clearPendingPiCompactionMarkerStateIf, logPiCompactionMarkerClear, getSessionsWithPendingMarker, setSessionWorkMetrics, getObservedEpochFloor, resolveEpochFloorForPass, getReasoningRemovalState, addRemovedReasoningIds, markDropLeavesReasoning, detectThinkingBindingMismatch, detectLatestTurnThinkingMismatch, isPrefixBoundThinkingModel, detectOverflow, modelAcceptsEmptyContent, isAnthropicFamilyRoute, neutralizeDroppedReasoningPart, restoreNeutralizedReasoningPart, isNeutralizedReasoningPart, variantChangeBustsProviderCache, makeSentinel, makeWholeMessageSentinel, isSentinel, replaySentinelByMessageIds, isInActiveAnthropicTurn, activeAnthropicTurnStart, hasAnthropicReasoning, markServedShapeRepair, prepareServedShapeRepair, stripSystemInjectedMessages, stripDroppedPlaceholderMessages, replayClearedReasoning, replayStrippedInlineThinking, clearOldReasoning, stripClearedReasoning, captureInlineThinkingRepairs, stripInlineThinking, findReasoningBearingAssistantIds, findLatestAssistantReasoningMutationExemptMessage, snapshotTrailingBlankSourceDecisions, findTrailingBlankDecisionCandidates, applyFrozenTrailingBlankDecisions, stripReasoningFromAssistantIds, findMergedReasoningStripDecisions, stripReasoningFromMergedAssistants, getEmptyImageParts, stripProcessedImages, projectOpencodeReasoningBudgetCutoff, DEFAULT_KEEP_REASONING_TOKENS, resolveKeepReasoningTokens, reasoningStepCost, reasoningBudgetCutoff, reasoningTextAndOpaque, opencodeReasoningBudgetCutoff, describeFinalWireTail, estimatePartImageTokens, estimateMessageTokens, wireContentBytes, createFinalWireUsageTracker, estimateFinalWireInputTokens, estimateAppendedWireTokens, SKELETON_REAL_INPUT_MAX_BYTES, partHasCompletedResult, extractToolCallObservation, ToolMutationBatch, createToolDropTarget, resolveHostServedBoundaryId2, hasRawMessageProvider2, setRawMessageProvider2, setBoundedRawMessageProvider2, withRawMessageProvider2, cleanUserText2, withRawSessionMessageCache2, readRawSessionMessages2, readRawSessionMessagePage2, getRawSessionMessageOrdinalCount2, RAW_MESSAGE_VISIT_PAGE_SIZE2, visitRawSessionMessages2, visitRawSessionMessagesAsync2, readRawSessionMessageRange2, prepareRawSessionOrdinals2, primeTailRawMessageCache2, getCachedAbsoluteMessageCount2, primeInMemoryTailRawMessageCache2, readRawSessionMessageOrdinalPage2, getRawSessionStoredMessageCount2, readRawSessionMessageIdOrdinalsForRange2, readRawSessionMessageIdOrdinals2, readRawSessionMessagePartsById2, readRawSessionBoundaryEndpoints2, hasRawSessionMessageById2, readRawSessionMessageOrdinalById2, resolveHistorianChunkStart2, compareRawSessionMessageOrder2, readRawSessionMessageById2, getRawSessionMessageCount2, RAW_SESSION_TAG_KEY_PAGE_SIZE2, getRawSessionTagKeysThrough2, getLegacyProtectedTailStartOrdinal2, getProtectedTailStartOrdinal2, readSessionChunk2, getRawSessionMessageIdsThrough2, readRawSessionSeedTail2 };
@@ -15,7 +15,7 @@ import {
15
15
  OpenAICompatibleEmbeddingProvider,
16
16
  getProjectEmbeddingSnapshot2,
17
17
  embedBatchForProject2
18
- } from "./index-z05n7702.js";
18
+ } from "./index-sgchhbvy.js";
19
19
  import {
20
20
  isEmbeddingHostBusy2
21
21
  } from "./index-qt1qqasc.js";