@cortexkit/opencode-magic-context 0.49.20 → 0.49.21

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 (188) hide show
  1. package/dist/auto-search-worker.js +6 -6
  2. package/dist/chunk-embedding-write-worker.js +9 -9
  3. package/dist/{compaction-marker-candidates-b2q30cft.js → compaction-marker-candidates-31h86ph0.js} +2 -2
  4. package/dist/compaction-marker-candidates-worker.js +2 -2
  5. package/dist/{compartment-chunk-embedding-va090as0.js → compartment-chunk-embedding-he60aaa2.js} +5 -5
  6. package/dist/config/project-security.d.ts.map +1 -1
  7. package/dist/config/schema/magic-context.d.ts +37 -3
  8. package/dist/config/schema/magic-context.d.ts.map +1 -1
  9. package/dist/{conflict-warning-hook-frp3z2wk.js → conflict-warning-hook-2r32hyx6.js} +5 -5
  10. package/dist/{context-mkece1db.js → context-j7hp43a0.js} +153 -83
  11. package/dist/{embedding-backfill-gy3p78py.js → embedding-backfill-dtke6tck.js} +11 -11
  12. package/dist/embedding-worker-process.js +1 -1
  13. package/dist/embedding-worker.js +4 -4
  14. package/dist/features/magic-context/dreamer/docs-proposals.d.ts +1 -0
  15. package/dist/features/magic-context/dreamer/docs-proposals.d.ts.map +1 -1
  16. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  17. package/dist/features/magic-context/memory/embedding-synapse.d.ts.map +1 -1
  18. package/dist/features/magic-context/memory/embedding-worker-client.d.ts +7 -1
  19. package/dist/features/magic-context/memory/embedding-worker-client.d.ts.map +1 -1
  20. package/dist/features/magic-context/message-index-async.d.ts +7 -2
  21. package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
  22. package/dist/features/magic-context/project-embedding-registry.d.ts +2 -0
  23. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  24. package/dist/features/magic-context/search-rerank.d.ts +9 -2
  25. package/dist/features/magic-context/search-rerank.d.ts.map +1 -1
  26. package/dist/features/magic-context/search.d.ts +2 -0
  27. package/dist/features/magic-context/search.d.ts.map +1 -1
  28. package/dist/features/magic-context/storage-db.d.ts +2 -0
  29. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  30. package/dist/features/magic-context/storage-meta-persisted.d.ts +1 -0
  31. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  32. package/dist/hooks/magic-context/auto-search-worker-client.d.ts.map +1 -1
  33. package/dist/hooks/magic-context/cache-busting-signals.d.ts +1 -0
  34. package/dist/hooks/magic-context/cache-busting-signals.d.ts.map +1 -1
  35. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  36. package/dist/hooks/magic-context/served-shape-repair.d.ts +19 -0
  37. package/dist/hooks/magic-context/served-shape-repair.d.ts.map +1 -0
  38. package/dist/hooks/magic-context/strip-content.d.ts +4 -2
  39. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  40. package/dist/hooks/magic-context/tag-content-primitives.d.ts +1 -1
  41. package/dist/hooks/magic-context/tag-content-primitives.d.ts.map +1 -1
  42. package/dist/hooks/magic-context/tag-messages.d.ts +2 -1
  43. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  44. package/dist/hooks/magic-context/text-complete.d.ts +1 -1
  45. package/dist/hooks/magic-context/text-complete.d.ts.map +1 -1
  46. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  47. package/dist/hooks/magic-context/transform.d.ts +2 -2
  48. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  49. package/dist/{index-t7hx3qcb.js → index-11gzxvf4.js} +101 -46
  50. package/dist/{index-neb2jaed.js → index-1gtfne2c.js} +1 -1
  51. package/dist/{index-67nyj0gy.js → index-1kbznkft.js} +48 -24
  52. package/dist/{index-1pefp8ar.js → index-3svaejkh.js} +4 -4
  53. package/dist/{index-0wthn7fp.js → index-51rdvtkz.js} +35 -4
  54. package/dist/{index-kc9pn495.js → index-66eby7hx.js} +1 -1
  55. package/dist/{index-pnjwa6qa.js → index-9q1g3c5q.js} +2 -2
  56. package/dist/{index-rmd0069m.js → index-a9zvn5fe.js} +24 -10
  57. package/dist/{index-jfh3cktr.js → index-ffzhwfzy.js} +3 -3
  58. package/dist/{v2/server-1zx2pa5d.js → index-gzy5w8ya.js} +193 -4
  59. package/dist/{index-d6rp4dxh.js → index-j32jj2t8.js} +4 -4
  60. package/dist/{index-35qc6606.js → index-jfem3dgz.js} +1 -1
  61. package/dist/{index-y4a3nhtk.js → index-jjvbk92s.js} +1 -1
  62. package/dist/{index-4n7w9rad.js → index-jmq8kfe7.js} +5 -5
  63. package/dist/{index-c4b76d4t.js → index-kfyb3k6n.js} +1 -1
  64. package/dist/{index-vkc1ca9p.js → index-kq5w68dp.js} +1 -1
  65. package/dist/{index-11zf2wwc.js → index-ksq50rg0.js} +2 -2
  66. package/dist/{index-153r2q6z.js → index-m32esgmj.js} +2 -2
  67. package/dist/{index-x4k3f4mf.js → index-mnhcdfxg.js} +148 -8
  68. package/dist/{index-48stjd56.js → index-mnnkgq0q.js} +10 -4
  69. package/dist/{index-wgypt3cs.js → index-nxrsns5x.js} +2466 -1290
  70. package/dist/{index-616rsjrv.js → index-qgh1qwjj.js} +1 -1
  71. package/dist/{index-jr5na10t.js → index-rxqr723x.js} +4 -4
  72. package/dist/{index-dc8hy95c.js → index-syaazvy2.js} +123 -40
  73. package/dist/{index-adk2z5d8.js → index-wfybj1dw.js} +2 -4
  74. package/dist/{index-305y133n.js → index-whcgcfrv.js} +6 -3
  75. package/dist/{index-jmycsey7.js → index-x6cbrv9h.js} +2 -2
  76. package/dist/{index-v7r4td4c.js → index-y76rhsnr.js} +28 -17
  77. package/dist/{index-2yhtnfcf.js → index-zy67whjr.js} +26 -8
  78. package/dist/index.js +43 -42
  79. package/dist/{message-fts-rowid-map-22tevnnj.js → message-fts-rowid-map-e79b7b6x.js} +3 -3
  80. package/dist/{message-index-5qxcz6h7.js → message-index-4q8ek2fc.js} +10 -10
  81. package/dist/{message-index-bounded-n0m0t7tv.js → message-index-bounded-rydsg9r5.js} +10 -10
  82. package/dist/{message-time-backfill-0myx7fz3.js → message-time-backfill-4qva0b4f.js} +1 -1
  83. package/dist/migration-worker.js +6 -6
  84. package/dist/plugin/embedding-bootstrap.d.ts +1 -0
  85. package/dist/plugin/embedding-bootstrap.d.ts.map +1 -1
  86. package/dist/plugin/hooks/create-session-hooks.d.ts +1 -0
  87. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  88. package/dist/plugin/tool-registry.d.ts.map +1 -1
  89. package/dist/{project-embedding-registry-s2pqgec9.js → project-embedding-registry-hn529988.js} +12 -10
  90. package/dist/raw-ordinal-warmup-worker.js +8 -8
  91. package/dist/{read-session-chunk-0a8vdyqp.js → read-session-chunk-t039f0m5.js} +6 -6
  92. package/dist/{read-session-raw-y5cszf0b.js → read-session-raw-aw6jgvwg.js} +2 -2
  93. package/dist/{recomp-orchestrator-61vyha9j.js → recomp-orchestrator-hbm53jj5.js} +23 -23
  94. package/dist/{search-archive-8q9s49p5.js → search-archive-weh164mh.js} +7 -7
  95. package/dist/{search-v1y9ejws.js → search-hea079d7.js} +19 -19
  96. package/dist/{send-session-notification-0k6qzydk.js → send-session-notification-gqzkz7da.js} +4 -4
  97. package/dist/shared/sqlite.d.ts +5 -0
  98. package/dist/shared/sqlite.d.ts.map +1 -1
  99. package/dist/shared/tag-transcript.d.ts +2 -0
  100. package/dist/shared/tag-transcript.d.ts.map +1 -1
  101. package/dist/{sqlite-1rpvw2rj.js → sqlite-zdgm52sv.js} +5 -1
  102. package/dist/{storage-memory-nm7v82mj.js → storage-memory-e6a7mb0k.js} +2 -2
  103. package/dist/{storage-tags-r6nk29n4.js → storage-tags-a77q4v77.js} +2 -2
  104. package/dist/tools/ctx-search/tools.d.ts.map +1 -1
  105. package/dist/tools/ctx-search/types.d.ts +1 -0
  106. package/dist/tools/ctx-search/types.d.ts.map +1 -1
  107. package/dist/{transform-postprocess-phase-vtrgb7m6.js → transform-postprocess-phase-0b04tm1p.js} +23 -23
  108. package/dist/v2/auto-search-worker.js +6 -6
  109. package/dist/v2/chunk-embedding-write-worker.js +11 -11
  110. package/dist/v2/{compaction-marker-candidates-cfab70cs.js → compaction-marker-candidates-m4vmye3w.js} +2 -2
  111. package/dist/v2/compaction-marker-candidates-worker.js +2 -2
  112. package/dist/v2/{compartment-chunk-embedding-nbdqx1td.js → compartment-chunk-embedding-8jjmcgeg.js} +5 -5
  113. package/dist/v2/{context-cc33tv2z.js → context-ea3x7smm.js} +652 -468
  114. package/dist/v2/{embedding-backfill-yxv2h5mc.js → embedding-backfill-5e74ae0m.js} +11 -11
  115. package/dist/v2/embedding-worker-process.js +1 -1
  116. package/dist/v2/embedding-worker.js +4 -4
  117. package/dist/v2/hooks/context.d.ts.map +1 -1
  118. package/dist/v2/hooks/copied-tag-notation.d.ts +1 -1
  119. package/dist/v2/hooks/copied-tag-notation.d.ts.map +1 -1
  120. package/dist/v2/hooks/dream-timer.d.ts +2 -0
  121. package/dist/v2/hooks/dream-timer.d.ts.map +1 -1
  122. package/dist/v2/hooks/embedding-lifecycle.d.ts +7 -0
  123. package/dist/v2/hooks/embedding-lifecycle.d.ts.map +1 -0
  124. package/dist/v2/hooks/payload.d.ts.map +1 -1
  125. package/dist/v2/hooks/store.d.ts +2 -0
  126. package/dist/v2/hooks/store.d.ts.map +1 -1
  127. package/dist/v2/hooks/tools.d.ts +2 -1
  128. package/dist/v2/hooks/tools.d.ts.map +1 -1
  129. package/dist/v2/hooks/transform-features.d.ts +2 -2
  130. package/dist/v2/hooks/transform-features.d.ts.map +1 -1
  131. package/dist/v2/{message-fts-rowid-map-dg12wymk.js → message-fts-rowid-map-n8fdg2ja.js} +3 -3
  132. package/dist/v2/{message-index-bounded-f4e01xk0.js → message-index-bounded-8rcd7qq9.js} +12 -12
  133. package/dist/v2/{message-index-ydzrp6y6.js → message-index-qz9wdp82.js} +12 -12
  134. package/dist/v2/{message-time-backfill-ddh8n9gy.js → message-time-backfill-zvthw6xb.js} +1 -1
  135. package/dist/v2/migration-worker.js +8 -8
  136. package/dist/v2/{project-embedding-registry-deza9ksw.js → project-embedding-registry-v38q4xd5.js} +12 -10
  137. package/dist/v2/raw-ordinal-warmup-worker.js +8 -8
  138. package/dist/v2/{read-session-chunk-8cxfagky.js → read-session-chunk-wazfyxcg.js} +8 -8
  139. package/dist/v2/{read-session-raw-1nrrecvx.js → read-session-raw-b70cpwzj.js} +2 -2
  140. package/dist/v2/{recomp-orchestrator-47m4hv5g.js → recomp-orchestrator-b12zaptj.js} +25 -25
  141. package/dist/v2/{search-archive-e80cvc09.js → search-archive-x64rtz1z.js} +9 -9
  142. package/dist/v2/{search-fjz746zr.js → search-hza9x72a.js} +21 -21
  143. package/dist/v2/{send-session-notification-nwvrv34d.js → send-session-notification-8eqe259v.js} +4 -4
  144. package/dist/v2/{server-4sxjs6hn.js → server-132h8twc.js} +4 -4
  145. package/dist/v2/{server-271qxsf5.js → server-24g8r2d0.js} +2466 -1290
  146. package/dist/v2/{server-m91f9m5s.js → server-33nqbqkw.js} +123 -40
  147. package/dist/v2/{server-brj8j2gk.js → server-3vhxy2k5.js} +1 -1
  148. package/dist/v2/{server-55rgxfrw.js → server-4kjmrjn4.js} +1 -1
  149. package/dist/v2/{server-wyawsa88.js → server-62g58aaz.js} +2 -2
  150. package/dist/v2/{server-230fnbws.js → server-6v3cdzsx.js} +1 -1
  151. package/dist/v2/{server-ygtykank.js → server-806rzhs6.js} +1 -1
  152. package/dist/v2/{server-5arr9ecn.js → server-94wk1ey3.js} +12 -1
  153. package/dist/v2/{server-af2pght7.js → server-ab1g0wn9.js} +2 -4
  154. package/dist/v2/{server-0epqaxhd.js → server-ad18djzs.js} +26 -8
  155. package/dist/v2/{server-4nw4fqhr.js → server-bsgd4dk1.js} +1 -1
  156. package/dist/v2/{server-dj7tz4ph.js → server-d1dzgvwd.js} +1 -1
  157. package/dist/v2/{server-vn2nwcv6.js → server-d48x3m4x.js} +4 -4
  158. package/dist/v2/{server-br1x0tev.js → server-dtp8hcjh.js} +2 -2
  159. package/dist/v2/{server-a3dwxfgd.js → server-fa7vtp40.js} +7 -4
  160. package/dist/{index-1zx2pa5d.js → v2/server-gzy5w8ya.js} +193 -4
  161. package/dist/v2/{server-hqzyq8n4.js → server-j8h7bsca.js} +26 -12
  162. package/dist/v2/{server-y4a3nhtk.js → server-jjvbk92s.js} +1 -1
  163. package/dist/v2/{server-ej96a39v.js → server-m4bfaevz.js} +1186 -1046
  164. package/dist/v2/{server-63fqdghs.js → server-ppcd1qxh.js} +92 -86
  165. package/dist/v2/{server-ne8arh8t.js → server-qjvk4a9t.js} +1 -1
  166. package/dist/v2/{server-xsryvyf6.js → server-qteg2kt9.js} +4 -4
  167. package/dist/v2/{server-168pb207.js → server-rqebawx1.js} +1 -1
  168. package/dist/v2/{server-j4jnp9b5.js → server-vr4szghm.js} +35 -4
  169. package/dist/v2/{server-9x0kmta4.js → server-wwaw5npa.js} +3 -3
  170. package/dist/v2/{server-c7dxxsj7.js → server-zg5y109h.js} +33 -33
  171. package/dist/v2/server.js +6 -6
  172. package/dist/v2/{sqlite-1rpvw2rj.js → sqlite-zdgm52sv.js} +5 -1
  173. package/dist/v2/{storage-memory-nm7v82mj.js → storage-memory-e6a7mb0k.js} +2 -2
  174. package/dist/v2/{storage-tags-ss08kj5r.js → storage-tags-q71rnr9f.js} +3 -3
  175. package/dist/v2/store-reader.d.ts +2 -0
  176. package/dist/v2/store-reader.d.ts.map +1 -1
  177. package/dist/v2/{wrapup-orchestrator-639whfhq.js → wrapup-orchestrator-3ssd5yy1.js} +25 -25
  178. package/dist/wrapup-orchestrator-5vpcd1zx.js +49 -0
  179. package/package.json +2 -2
  180. package/src/config/index.test.ts +44 -0
  181. package/src/config/project-security.ts +15 -0
  182. package/src/config/rerank.test.ts +60 -0
  183. package/src/config/schema/magic-context.ts +57 -0
  184. package/src/shared/model-suggestion-retry.ts +1 -1
  185. package/src/shared/sqlite-turn-deadline.test.ts +270 -0
  186. package/src/shared/sqlite.ts +235 -7
  187. package/src/shared/tag-transcript.ts +9 -1
  188. package/dist/wrapup-orchestrator-mnvt2g8m.js +0 -49
@@ -175,6 +175,177 @@ function topLevelCommaSegments(text) {
175
175
  function getTagIdentityWriteGeneration2() {
176
176
  return tagIdentityWriteGeneration;
177
177
  }
178
+ var busyTimeoutStates = new WeakMap;
179
+ var BUSY_TIMEOUT_QUERY = /^\s*PRAGMA\s+(?:(?:\w+|"[^"]+"|`[^`]+`|\[[^\]]+\])\s*\.\s*)?(?:busy_timeout|"busy_timeout"|`busy_timeout`|\[busy_timeout\])\s*;?\s*$/i;
180
+ var BUSY_TIMEOUT_SETTER = /^\s*PRAGMA\s+(?:(?:\w+|"[^"]+"|`[^`]+`|\[[^\]]+\])\s*\.\s*)?(?:busy_timeout|"busy_timeout"|`busy_timeout`|\[busy_timeout\])\s*(?==|\()/i;
181
+ function literalBusyTimeout(sql) {
182
+ const head = BUSY_TIMEOUT_SETTER.exec(sql);
183
+ if (!head)
184
+ return;
185
+ const match = /^(?:=\s*|\(\s*)(?:'(-?\d+)'|"(-?\d+)"|(-?\d+))\s*\)?\s*;?\s*$/.exec(sql.slice(head[0].length));
186
+ if (!match)
187
+ return;
188
+ const value = Number(match[1] ?? match[2] ?? match[3]);
189
+ return value < 0 ? 0 : value <= 2147483647 ? value : undefined;
190
+ }
191
+ function busyTimeoutStatements(sql) {
192
+ const statements = [];
193
+ let statement = "";
194
+ let quote = "";
195
+ for (let i = 0;i < sql.length; i++) {
196
+ const char = sql[i];
197
+ if (quote) {
198
+ statement += char;
199
+ if (char === quote) {
200
+ if (sql[i + 1] === quote)
201
+ statement += sql[++i];
202
+ else
203
+ quote = "";
204
+ }
205
+ } else if (char === "'" || char === '"' || char === "`" || char === "[") {
206
+ quote = char === "[" ? "]" : char;
207
+ statement += char;
208
+ } else if (char === "-" && sql[i + 1] === "-") {
209
+ while (i + 1 < sql.length && sql[i + 1] !== `
210
+ `)
211
+ i++;
212
+ statement += " ";
213
+ } else if (char === "/" && sql[i + 1] === "*") {
214
+ i += 2;
215
+ while (i < sql.length && !(sql[i] === "*" && sql[i + 1] === "/"))
216
+ i++;
217
+ i++;
218
+ statement += " ";
219
+ } else if (char === ";") {
220
+ statements.push(statement);
221
+ statement = "";
222
+ } else
223
+ statement += char;
224
+ }
225
+ statements.push(statement);
226
+ return statements.filter((part) => part.trim().length > 0);
227
+ }
228
+ function installNativeDeadlineRouting(db) {
229
+ const rawExec = db.exec.bind(db);
230
+ const rawPrepare = db.prepare.bind(db);
231
+ const readTimeout = () => {
232
+ const statement = rawPrepare("PRAGMA busy_timeout");
233
+ try {
234
+ return Object.values(statement.get())[0];
235
+ } finally {
236
+ statement.finalize?.();
237
+ }
238
+ };
239
+ const timeoutState = { current: readTimeout() };
240
+ busyTimeoutStates.set(db, timeoutState);
241
+ const setBusyTimeout = (timeout) => {
242
+ rawExec(`PRAGMA busy_timeout=${timeout}`);
243
+ timeoutState.current = timeout;
244
+ };
245
+ const withinDeadline = (operation) => {
246
+ const deadline = nativeWaitScope?.getStore();
247
+ if (!deadline?.active || !deadline.remainingMs)
248
+ return operation();
249
+ const remaining = deadline.remainingMs();
250
+ if (remaining === Infinity)
251
+ return operation();
252
+ const previous = timeoutState.current;
253
+ const timeout = Math.min(previous, Math.max(0, Math.floor(remaining)));
254
+ if (timeout === previous)
255
+ return operation();
256
+ setBusyTimeout(timeout);
257
+ try {
258
+ return operation();
259
+ } finally {
260
+ setBusyTimeout(previous);
261
+ }
262
+ };
263
+ Object.defineProperty(db, "exec", {
264
+ configurable: true,
265
+ writable: true,
266
+ value: (sql) => {
267
+ const parts = /\bbusy_timeout\b/i.test(sql) ? busyTimeoutStatements(sql) : [];
268
+ if (parts.length === 1 && BUSY_TIMEOUT_QUERY.test(parts[0]))
269
+ return rawExec(sql);
270
+ const singleSetter = parts.length === 1 && BUSY_TIMEOUT_SETTER.test(parts[0]);
271
+ const setting = singleSetter ? literalBusyTimeout(parts[0]) : undefined;
272
+ if (singleSetter) {
273
+ const result = rawExec(sql);
274
+ timeoutState.current = setting ?? readTimeout();
275
+ return result;
276
+ }
277
+ if (!/\bbusy_timeout\b/i.test(sql))
278
+ return withinDeadline(() => rawExec(sql));
279
+ const setters = parts.filter((part) => BUSY_TIMEOUT_SETTER.test(part));
280
+ return withinDeadline(() => {
281
+ try {
282
+ const result = rawExec(sql);
283
+ if (setters.length)
284
+ timeoutState.current = literalBusyTimeout(setters[setters.length - 1]) ?? readTimeout();
285
+ return result;
286
+ } catch (error) {
287
+ if (setters.length)
288
+ timeoutState.current = readTimeout();
289
+ throw error;
290
+ }
291
+ });
292
+ }
293
+ });
294
+ const nativePrepare = (sql) => BUSY_TIMEOUT_QUERY.test(sql) || BUSY_TIMEOUT_SETTER.test(sql) ? rawPrepare(sql) : withinDeadline(() => rawPrepare(sql));
295
+ Object.defineProperty(db, "prepare", {
296
+ configurable: true,
297
+ writable: true,
298
+ value: (sql) => {
299
+ const statement = nativePrepare(sql);
300
+ const normalized = /\bbusy_timeout\b/i.test(sql) ? busyTimeoutStatements(sql)[0] ?? sql : sql;
301
+ const setting = literalBusyTimeout(normalized);
302
+ const timeoutSetter = BUSY_TIMEOUT_SETTER.test(normalized);
303
+ const timeoutQuery = BUSY_TIMEOUT_QUERY.test(normalized);
304
+ if (timeoutSetter)
305
+ timeoutState.current = setting ?? readTimeout();
306
+ for (const method of ["run", "get", "all", "values"]) {
307
+ const execute = statement[method]?.bind(statement);
308
+ if (!execute)
309
+ continue;
310
+ Object.defineProperty(statement, method, {
311
+ configurable: true,
312
+ value: (...args) => {
313
+ if (timeoutQuery)
314
+ return execute(...args);
315
+ if (!timeoutSetter)
316
+ return withinDeadline(() => execute(...args));
317
+ const result = execute(...args);
318
+ timeoutState.current = readTimeout();
319
+ return result;
320
+ }
321
+ });
322
+ }
323
+ if (typeof statement.iterate === "function") {
324
+ const iterate = statement.iterate.bind(statement);
325
+ Object.defineProperty(statement, "iterate", {
326
+ configurable: true,
327
+ value: (...args) => {
328
+ const iterator = !timeoutSetter && !timeoutQuery ? withinDeadline(() => iterate(...args)) : iterate(...args);
329
+ const next = iterator.next.bind(iterator);
330
+ if (timeoutSetter)
331
+ timeoutState.current = readTimeout();
332
+ iterator.next = () => {
333
+ if (timeoutQuery)
334
+ return next();
335
+ if (!timeoutSetter)
336
+ return withinDeadline(next);
337
+ const result = next();
338
+ timeoutState.current = readTimeout();
339
+ return result;
340
+ };
341
+ return iterator;
342
+ }
343
+ });
344
+ }
345
+ return statement;
346
+ }
347
+ });
348
+ }
178
349
  function installTransactionRouting(db, readonly) {
179
350
  const nativeExec = db.exec.bind(db);
180
351
  Object.defineProperty(db, "exec", {
@@ -312,7 +483,7 @@ function wrapRemainingTagWriteForms(statement) {
312
483
  });
313
484
  }
314
485
  }
315
- function trackSqliteConnection(db, filename, options) {
486
+ function trackSqliteConnection(db, filename, options, turnDeadlines = false) {
316
487
  const originalClose = db.close.bind(db);
317
488
  const sequence = nextSqliteConnectionSequence++;
318
489
  const metadata = {
@@ -320,6 +491,8 @@ function trackSqliteConnection(db, filename, options) {
320
491
  filename: typeof filename === "string" ? filename : Buffer.isBuffer(filename) ? "<buffer>" : ":memory:",
321
492
  readonly: Boolean(options) && typeof options === "object" && (options.readonly === true || options.readOnly === true)
322
493
  };
494
+ if (turnDeadlines)
495
+ installNativeDeadlineRouting(db);
323
496
  installTransactionRouting(db, metadata.readonly);
324
497
  Object.defineProperty(db, "close", {
325
498
  configurable: true,
@@ -372,6 +545,12 @@ function buildNodeSqliteDatabaseClass(DatabaseSync) {
372
545
  return NodeSqliteDatabase;
373
546
  }
374
547
  var Database2 = TrackedDatabase;
548
+ function createSqliteTurnDatabase2(filename, options) {
549
+ return trackSqliteConnection(new DatabaseImpl(filename, options), filename, options, true);
550
+ }
551
+ function hasSqliteTurnDeadlineRouting2(db) {
552
+ return busyTimeoutStates.has(db);
553
+ }
375
554
  function getSqliteDatabasePath2(db) {
376
555
  for (const connection of trackedSqliteConnections.values()) {
377
556
  if (connection.reference.deref() === db) {
@@ -391,6 +570,11 @@ function pragmaValue(db, name) {
391
570
  return row[name] ?? Object.values(row)[0];
392
571
  }
393
572
  function pragmaNumber(db, name) {
573
+ if (name === "busy_timeout") {
574
+ const state = busyTimeoutStates.get(db);
575
+ if (state)
576
+ return state.current;
577
+ }
394
578
  try {
395
579
  const value = pragmaValue(db, name);
396
580
  return typeof value === "number" && Number.isFinite(value) ? value : null;
@@ -521,11 +705,14 @@ function prepareCachedStatement2(db, sql) {
521
705
  return ownPreparedStatement(db, db.prepare(sql));
522
706
  }
523
707
  var privilegeDepth = new WeakMap;
708
+ var nativeWaitScope;
524
709
  var transformPassScope = new AsyncLocalStorage;
525
710
  var admissionScope = new AsyncLocalStorage;
526
711
  var backgroundWriterScope = new AsyncLocalStorage;
527
712
  function withSqliteBackgroundWriter2(operation) {
528
- return backgroundWriterScope.run(true, operation);
713
+ if (!nativeWaitScope?.getStore())
714
+ return backgroundWriterScope.run(true, operation);
715
+ return nativeWaitScope.run(undefined, () => backgroundWriterScope.run(true, operation));
529
716
  }
530
717
  function withSqliteTransformPass2(operation) {
531
718
  const existing = transformPassScope.getStore();
@@ -556,7 +743,9 @@ function withSqliteTransformPass2(operation) {
556
743
  return typeof reservation === "function" ? run(reservation) : reservation.then(run);
557
744
  }
558
745
  function withoutSqliteTransformPass2(operation) {
559
- return transformPassScope.run(undefined, operation);
746
+ if (!nativeWaitScope?.getStore())
747
+ return transformPassScope.run(undefined, operation);
748
+ return nativeWaitScope.run(undefined, () => transformPassScope.run(undefined, operation));
560
749
  }
561
750
  function assertTransformWrite2() {
562
751
  if (!backgroundWriterScope.getStore())
@@ -890,4 +1079,4 @@ async function yieldIndexChunk2() {
890
1079
  await yieldIndexTurn();
891
1080
  }
892
1081
 
893
- export { inRootAsyncContext2, registerSlowWriteReporter2, registerSqliteDiagnosticSink2, detectSqliteRuntime2, getTagIdentityWriteGeneration2, Database2, getSqliteDatabasePath2, getSqliteMemoryStats2, prepareCachedStatement2, withSqliteBackgroundWriter2, withSqliteTransformPass2, withoutSqliteTransformPass2, assertTransformWrite2, isTransientSqliteError2, SqliteAcquisitionBusyError2, beginSqliteWriterAsync2, withAsyncPrivilegedWriter2, withPrivilegedWriter2, indexCoordinationInput2, releaseIndexOwner2, withIndexChunk2, yieldIndexChunk2 };
1082
+ export { inRootAsyncContext2, registerSlowWriteReporter2, registerSqliteDiagnosticSink2, detectSqliteRuntime2, getTagIdentityWriteGeneration2, Database2, createSqliteTurnDatabase2, hasSqliteTurnDeadlineRouting2, getSqliteDatabasePath2, getSqliteMemoryStats2, prepareCachedStatement2, withSqliteBackgroundWriter2, withSqliteTransformPass2, withoutSqliteTransformPass2, assertTransformWrite2, isTransientSqliteError2, SqliteAcquisitionBusyError2, beginSqliteWriterAsync2, withAsyncPrivilegedWriter2, withPrivilegedWriter2, indexCoordinationInput2, releaseIndexOwner2, withIndexChunk2, yieldIndexChunk2 };
@@ -3,21 +3,21 @@ import {
3
3
  } from "./index-kaqs6h31.js";
4
4
  import {
5
5
  getSqliteDatabasePath2
6
- } from "./index-1zx2pa5d.js";
6
+ } from "./index-gzy5w8ya.js";
7
7
  import {
8
8
  runSessionWarmupWorker
9
- } from "./index-35qc6606.js";
9
+ } from "./index-jfem3dgz.js";
10
10
  import {
11
11
  estimateTokens
12
12
  } from "./index-b88dwwrh.js";
13
13
  import {
14
14
  openCodeDbExists,
15
15
  withReadOnlySessionDb
16
- } from "./index-11zf2wwc.js";
16
+ } from "./index-ksq50rg0.js";
17
17
  import {
18
18
  hasRawMessageProvider2,
19
19
  readRawSessionMessageIdOrdinalsForRange2
20
- } from "./index-x4k3f4mf.js";
20
+ } from "./index-mnhcdfxg.js";
21
21
 
22
22
  // src/tools/ctx-expand/search-archive.ts
23
23
  var archiveReadsOnThisThread = 0;
@@ -8,7 +8,7 @@ import {
8
8
  inRootAsyncContext2,
9
9
  getSqliteDatabasePath2,
10
10
  releaseIndexOwner2
11
- } from "./index-1zx2pa5d.js";
11
+ } from "./index-gzy5w8ya.js";
12
12
  import {
13
13
  createWorkerShutdown
14
14
  } from "./index-cpjk5jd2.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  withPrivilegedWriter2
3
- } from "./index-1zx2pa5d.js";
3
+ } from "./index-gzy5w8ya.js";
4
4
  import {
5
5
  MEMORY_CATEGORY_ORDER_SQL
6
6
  } from "./index-fr0wbhdn.js";
@@ -15,10 +15,10 @@ import {
15
15
  getActiveCompartmentRun,
16
16
  markActiveCompartmentRunPublished,
17
17
  registerActiveCompartmentRun
18
- } from "./index-v7r4td4c.js";
18
+ } from "./index-y76rhsnr.js";
19
19
  import {
20
20
  inRootAsyncContext2
21
- } from "./index-1zx2pa5d.js";
21
+ } from "./index-gzy5w8ya.js";
22
22
  import {
23
23
  getWrapupInProgressState,
24
24
  acquireWrapupInProgress,
@@ -27,17 +27,17 @@ import {
27
27
  getHistorianFailureState,
28
28
  clearEmergencyRecovery,
29
29
  prepareRawSessionOrdinals2
30
- } from "./index-x4k3f4mf.js";
30
+ } from "./index-mnhcdfxg.js";
31
31
  import {
32
32
  pushNotification2
33
33
  } from "./index-x8a7jmkh.js";
34
34
  import {
35
35
  sendStatusNotification2
36
- } from "./index-kc9pn495.js";
36
+ } from "./index-66eby7hx.js";
37
37
  import {
38
38
  setRecompStarting2,
39
39
  setRecompTerminal2
40
- } from "./index-jfh3cktr.js";
40
+ } from "./index-ffzhwfzy.js";
41
41
 
42
42
  // src/hooks/magic-context/wrapup-orchestrator.ts
43
43
  import * as crypto from "node:crypto";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./index-pavzsdc6.js";
4
4
  import {
5
5
  isUserHomeDirectory
6
- } from "./index-vkc1ca9p.js";
6
+ } from "./index-kq5w68dp.js";
7
7
  import {
8
8
  logSlowWriteTransaction
9
9
  } from "./index-t5pck3ss.js";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./index-h7tgn49j.js";
7
7
  import {
8
8
  inRootAsyncContext2
9
- } from "./index-1zx2pa5d.js";
9
+ } from "./index-gzy5w8ya.js";
10
10
  import {
11
11
  projectDirectoryKey
12
12
  } from "./index-knvkbfvh.js";
@@ -15,11 +15,11 @@ import {
15
15
  } from "./index-58e3y90n.js";
16
16
  import {
17
17
  Database2
18
- } from "./index-1zx2pa5d.js";
18
+ } from "./index-gzy5w8ya.js";
19
19
  import {
20
20
  forgetRawSessionOrdinalWatermark2,
21
21
  forgetRawSessionSummaryRows2
22
- } from "./index-35qc6606.js";
22
+ } from "./index-jfem3dgz.js";
23
23
  import {
24
24
  closeQuietly
25
25
  } from "./index-8ajstryz.js";
@@ -10,10 +10,10 @@ import {
10
10
  } from "./index-h7tgn49j.js";
11
11
  import {
12
12
  isSynapseEmbeddingTruncated
13
- } from "./index-adk2z5d8.js";
13
+ } from "./index-wfybj1dw.js";
14
14
  import {
15
15
  messageFtsOrdinalRangeIsMapped2
16
- } from "./index-jmycsey7.js";
16
+ } from "./index-x6cbrv9h.js";
17
17
 
18
18
  // src/features/magic-context/compartment-chunk-embedding.ts
19
19
  import { createHash } from "node:crypto";
@@ -13,6 +13,7 @@ import {
13
13
  } from "./index-1zx87sdm.js";
14
14
  import {
15
15
  stripWellFormedLeadingTagPrefix,
16
+ stripPersistedAssistantText,
16
17
  stripTagPrefix,
17
18
  isRecord,
18
19
  estimateImageTokensFromDataUrl,
@@ -23,7 +24,7 @@ import {
23
24
  TAG_SELECT_COLUMNS2,
24
25
  getCandidateToolOwners2,
25
26
  pickNearestPriorOwner2
26
- } from "./index-305y133n.js";
27
+ } from "./index-whcgcfrv.js";
27
28
  import {
28
29
  OMO_INTERNAL_INITIATOR_MARKER,
29
30
  isSystemDirective,
@@ -44,7 +45,7 @@ import {
44
45
  } from "./index-b88dwwrh.js";
45
46
  import {
46
47
  prepareCachedStatement2
47
- } from "./index-1zx2pa5d.js";
48
+ } from "./index-gzy5w8ya.js";
48
49
  import {
49
50
  stableStringify
50
51
  } from "./index-x9k3mqrf.js";
@@ -52,7 +53,7 @@ import {
52
53
  renderToolTemplate,
53
54
  resolveModelConfigValue,
54
55
  deriveDefaultProtectedTokens
55
- } from "./index-wgypt3cs.js";
56
+ } from "./index-nxrsns5x.js";
56
57
  import {
57
58
  readRawSessionMessagesFromDb2,
58
59
  readRawSessionMessagePageFromDb2,
@@ -69,13 +70,13 @@ import {
69
70
  readRawSeedTailFromDb2,
70
71
  readRawSessionBoundaryEndpointsFromDb2,
71
72
  prewarmRawSessionOrdinalsForDb
72
- } from "./index-35qc6606.js";
73
+ } from "./index-jfem3dgz.js";
73
74
  import {
74
75
  openCodeDbExists,
75
76
  withReadOnlySessionDb,
76
77
  getRawSessionMessageCountFromDb,
77
78
  getMessageTimesFromOpenCodeDb
78
- } from "./index-11zf2wwc.js";
79
+ } from "./index-ksq50rg0.js";
79
80
  import {
80
81
  getToolDefinitionMeasurementSignature,
81
82
  getLargestMeasuredToolDefinitionTokens,
@@ -3965,6 +3966,13 @@ function loadPostprocessReplaySnapshot(db, sessionId) {
3965
3966
  const todoPermissionDenied = row?.todo_permission_denied === 1 ? true : row?.todo_permission_denied === 0 ? false : null;
3966
3967
  const thinkingBindingRecoveryTarget = row?.thinking_binding_recovery_target;
3967
3968
  return {
3969
+ servedShapeRepair: (() => {
3970
+ try {
3971
+ return parseReplayDocument(row?.trailing_blank_decisions).servedShapeRepair;
3972
+ } catch {
3973
+ return;
3974
+ }
3975
+ })(),
3968
3976
  executeReclaim: executeReclaimFromReplay(row?.trailing_blank_decisions),
3969
3977
  staleReduceStrippedIds: new Set(parseStrippedBlob(row?.stale_reduce_stripped_ids)),
3970
3978
  processedImageStrippedIds: new Set(parseProcessedImageMarkers(row?.processed_image_stripped_ids).keys()),
@@ -4653,6 +4661,120 @@ function createProcessedImageEligibility(messages, messageTagNumbers, options) {
4653
4661
  };
4654
4662
  }
4655
4663
 
4664
+ // src/hooks/magic-context/served-shape-repair.ts
4665
+ var sources = new WeakMap;
4666
+ function markServedShapeRepair(info, parts, requiresPermission = false) {
4667
+ const merged = new Map((sources.get(info) ?? []).map((part) => [part.index, part]));
4668
+ for (const part of parts)
4669
+ merged.set(part.index, { ...part, requiresPermission });
4670
+ if (merged.size)
4671
+ sources.set(info, [...merged.values()]);
4672
+ }
4673
+ function parseDecisions(value) {
4674
+ if (value === undefined)
4675
+ return {};
4676
+ if (!value || typeof value !== "object" || Array.isArray(value))
4677
+ throw new Error("Invalid served-shape replay decisions");
4678
+ for (const entries of Object.values(value)) {
4679
+ if (!Array.isArray(entries) || entries.some((entry) => !entry || !Number.isSafeInteger(entry.index) || entry.index < 0 || typeof entry.text !== "string" || !entry.text.trim()))
4680
+ throw new Error("Invalid served-shape text decision");
4681
+ }
4682
+ return value;
4683
+ }
4684
+ function readDecisions(db, sessionID) {
4685
+ return parseDecisions(readReplayEnvelope(db, sessionID).servedShapeRepair);
4686
+ }
4687
+ function prepareServedShapeRepair(db, sessionID, messages, readPreviouslyServed, snapshot) {
4688
+ let decisions = snapshot ? parseDecisions(snapshot.servedShapeRepair) : readDecisions(db, sessionID);
4689
+ const collectPending = () => {
4690
+ const pending = {};
4691
+ for (const message of messages) {
4692
+ const id = message.info.id;
4693
+ if (typeof id !== "string")
4694
+ continue;
4695
+ const candidates = (sources.get(message.info) ?? []).filter(({ index }) => !decisions[id]?.some((part) => part.index === index));
4696
+ if (candidates.length)
4697
+ pending[id] = candidates;
4698
+ }
4699
+ return pending;
4700
+ };
4701
+ const pending = collectPending();
4702
+ let previouslyServed = null;
4703
+ try {
4704
+ const evidence = Object.keys(pending).length ? readPreviouslyServed?.() : null;
4705
+ if (Array.isArray(evidence))
4706
+ previouslyServed = evidence;
4707
+ } catch {}
4708
+ const provenUnserved = new Set;
4709
+ let needsRebuild = false;
4710
+ for (const id of Object.keys(pending)) {
4711
+ if (!previouslyServed)
4712
+ continue;
4713
+ const matches = previouslyServed.filter((value) => {
4714
+ if (!value || typeof value !== "object")
4715
+ return false;
4716
+ const message = value;
4717
+ return message.info?.id === id;
4718
+ });
4719
+ if (!matches.length)
4720
+ provenUnserved.add(id);
4721
+ const previous = matches.length === 1 ? matches[0] : undefined;
4722
+ needsRebuild ||= previous !== undefined && Array.isArray(previous.parts) && pending[id].some(({ index }) => {
4723
+ const part = previous.parts[index];
4724
+ return part?.type === "text" && part.text === "";
4725
+ });
4726
+ }
4727
+ return {
4728
+ pending: Object.keys(pending).length > 0,
4729
+ needsRebuild,
4730
+ get messageIDs() {
4731
+ return new Set(Object.keys(decisions));
4732
+ },
4733
+ apply(allowed) {
4734
+ const eligible = {};
4735
+ for (const [id, candidates] of Object.entries(collectPending())) {
4736
+ const parts = candidates.filter(({ requiresPermission }) => allowed || !requiresPermission && !needsRebuild && provenUnserved.has(id)).map(({ index, text }) => ({ index, text }));
4737
+ if (parts.length)
4738
+ eligible[id] = parts;
4739
+ }
4740
+ if (Object.keys(eligible).length) {
4741
+ if (!updateReplayDocument(db, sessionID, (doc) => {
4742
+ doc.version = 2;
4743
+ const current = parseDecisions(doc.servedShapeRepair);
4744
+ for (const [id, parts] of Object.entries(eligible)) {
4745
+ current[id] = [
4746
+ ...current[id] ?? [],
4747
+ ...parts.filter(({ index }) => !current[id]?.some((part) => part.index === index))
4748
+ ];
4749
+ }
4750
+ doc.servedShapeRepair = current;
4751
+ return true;
4752
+ }))
4753
+ throw new Error("Could not persist served-shape repair");
4754
+ decisions = readDecisions(db, sessionID);
4755
+ }
4756
+ let changed = 0;
4757
+ for (const message of messages) {
4758
+ const id = message.info.id;
4759
+ if (typeof id !== "string")
4760
+ continue;
4761
+ for (const decision of decisions[id] ?? []) {
4762
+ const part = message.parts[decision.index];
4763
+ if (part?.type !== "text")
4764
+ continue;
4765
+ if (typeof part.text !== "string" || stripPersistedAssistantText(part.text).trim())
4766
+ continue;
4767
+ if (part.text !== decision.text) {
4768
+ part.text = decision.text;
4769
+ changed++;
4770
+ }
4771
+ }
4772
+ }
4773
+ return changed;
4774
+ }
4775
+ };
4776
+ }
4777
+
4656
4778
  // src/hooks/magic-context/strip-content.ts
4657
4779
  var MARKER_ONLY_PATTERN = /^(?:(?:§\d+§|\[dropped(?: §\d+§)?\]|\[cleared\])\s*)+$/;
4658
4780
  function isMarkerOnlyText(text) {
@@ -4807,9 +4929,11 @@ function replayClearedReasoning(messages, reasoningByMessage, messageTagNumbers,
4807
4929
  }
4808
4930
  return cleared;
4809
4931
  }
4810
- function replayStrippedInlineThinking(messages, messageTagNumbers, persistedWatermark) {
4932
+ function replayStrippedInlineThinking(messages, messageTagNumbers, persistedWatermark, captureRepair = false) {
4811
4933
  if (persistedWatermark <= 0)
4812
4934
  return 0;
4935
+ if (captureRepair)
4936
+ captureInlineThinkingRepairs(messages, messageTagNumbers, persistedWatermark);
4813
4937
  let stripped = 0;
4814
4938
  for (const message of messages) {
4815
4939
  if (message.info.role !== "assistant")
@@ -4883,8 +5007,24 @@ function stripClearedReasoning(messages) {
4883
5007
  return stripped;
4884
5008
  }
4885
5009
  var INLINE_THINKING_PATTERN = /<(?:thinking|think)>[\s\S]*?<\/(?:thinking|think)>\s*/g;
4886
- function stripInlineThinking(messages, messageTagNumbers, cutoff) {
5010
+ function captureInlineThinkingRepairs(messages, messageTagNumbers, watermark) {
5011
+ for (const message of messages) {
5012
+ const tag = messageTagNumbers.get(message) ?? 0;
5013
+ if (message.info.role !== "assistant" || tag <= 0 || tag > watermark)
5014
+ continue;
5015
+ for (const [index, part] of message.parts.entries()) {
5016
+ if (!isRecord(part) || part.type !== "text" || typeof part.text !== "string")
5017
+ continue;
5018
+ const cleaned = part.text.replace(INLINE_THINKING_PATTERN, "");
5019
+ if (cleaned !== part.text && !cleaned.trim())
5020
+ markServedShapeRepair(message.info, [{ index, text: "[cleared]" }], true);
5021
+ }
5022
+ }
5023
+ }
5024
+ function stripInlineThinking(messages, messageTagNumbers, cutoff, captureRepair = false) {
4887
5025
  const ageCutoff = cutoff;
5026
+ if (captureRepair)
5027
+ captureInlineThinkingRepairs(messages, messageTagNumbers, cutoff);
4888
5028
  let stripped = 0;
4889
5029
  for (const message of messages) {
4890
5030
  if (message.info.role !== "assistant")
@@ -7354,4 +7494,4 @@ function readRawSessionSeedTail2(sessionId, boundaryId, onQuery) {
7354
7494
  });
7355
7495
  }
7356
7496
 
7357
- export { isToolFreeHiddenAgent, TOOL_USE_DISABLED, ZEN_READ_AGENT_SUFFIX, needsBlockedRead, withBlockedReadInstruction, rememberV1HiddenRun, shapeV1HiddenMessage, expandToolPart, 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, stripSystemInjectedMessages, stripDroppedPlaceholderMessages, replayClearedReasoning, replayStrippedInlineThinking, clearOldReasoning, stripClearedReasoning, 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 };
7497
+ export { isToolFreeHiddenAgent, TOOL_USE_DISABLED, ZEN_READ_AGENT_SUFFIX, needsBlockedRead, withBlockedReadInstruction, rememberV1HiddenRun, shapeV1HiddenMessage, expandToolPart, 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 };