@cortexkit/opencode-magic-context 0.49.15 → 0.49.17

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 (235) hide show
  1. package/dist/auto-search-worker.js +76 -63
  2. package/dist/chunk-embedding-write-worker.js +12 -10
  3. package/dist/{compaction-marker-candidates-v5c6997n.js → compaction-marker-candidates-n4krhat4.js} +2 -2
  4. package/dist/compaction-marker-candidates-worker.js +2 -2
  5. package/dist/config/schema/magic-context.d.ts +343 -343
  6. package/dist/config/schema/magic-context.d.ts.map +1 -1
  7. package/dist/{conflict-warning-hook-mgq17yr3.js → conflict-warning-hook-4pmz879v.js} +6 -6
  8. package/dist/{context-0m46day0.js → context-yhetp0kn.js} +297 -141
  9. package/dist/embedding-backfill-fmz50tsy.js +24 -0
  10. package/dist/embedding-worker-process.js +1 -1
  11. package/dist/embedding-worker.js +5 -5
  12. package/dist/features/magic-context/compartment-chunk-embedding.d.ts +1 -1
  13. package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
  14. package/dist/features/magic-context/git-commits/indexer.d.ts.map +1 -1
  15. package/dist/features/magic-context/memory/embedding-openai.d.ts.map +1 -1
  16. package/dist/features/magic-context/memory/project-identity-cache.d.ts +2 -0
  17. package/dist/features/magic-context/memory/project-identity-cache.d.ts.map +1 -1
  18. package/dist/features/magic-context/message-fts-rowid-map.d.ts +2 -2
  19. package/dist/features/magic-context/message-fts-rowid-map.d.ts.map +1 -1
  20. package/dist/features/magic-context/message-fts-session-filter.d.ts +2 -0
  21. package/dist/features/magic-context/message-fts-session-filter.d.ts.map +1 -1
  22. package/dist/features/magic-context/message-index-async.d.ts +1 -1
  23. package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
  24. package/dist/features/magic-context/message-index.d.ts +5 -0
  25. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  26. package/dist/features/magic-context/message-time-backfill.d.ts +2 -2
  27. package/dist/features/magic-context/message-time-backfill.d.ts.map +1 -1
  28. package/dist/features/magic-context/search.d.ts +6 -1
  29. package/dist/features/magic-context/search.d.ts.map +1 -1
  30. package/dist/features/magic-context/storage-db.d.ts +2 -1
  31. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  32. package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
  33. package/dist/features/magic-context/storage-meta-shared.d.ts +2 -2
  34. package/dist/features/magic-context/storage-meta-shared.d.ts.map +1 -1
  35. package/dist/features/magic-context/storage-session-tables.d.ts +9 -1
  36. package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -1
  37. package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
  38. package/dist/hooks/magic-context/auto-search-deadline.d.ts +2 -1
  39. package/dist/hooks/magic-context/auto-search-deadline.d.ts.map +1 -1
  40. package/dist/hooks/magic-context/auto-search-hint.d.ts +3 -0
  41. package/dist/hooks/magic-context/auto-search-hint.d.ts.map +1 -1
  42. package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
  43. package/dist/hooks/magic-context/auto-search-worker-client.d.ts +10 -2
  44. package/dist/hooks/magic-context/auto-search-worker-client.d.ts.map +1 -1
  45. package/dist/hooks/magic-context/compartment-runner-historian.d.ts +4 -2
  46. package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
  47. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  48. package/dist/hooks/magic-context/compartment-runner-validation.d.ts.map +1 -1
  49. package/dist/hooks/magic-context/emergency-drop.d.ts.map +1 -1
  50. package/dist/hooks/magic-context/historian-host-runner.d.ts.map +1 -1
  51. package/dist/hooks/magic-context/historian-prompt-fit.d.ts +2 -1
  52. package/dist/hooks/magic-context/historian-prompt-fit.d.ts.map +1 -1
  53. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  54. package/dist/hooks/magic-context/lkg-recovery-fence.d.ts.map +1 -1
  55. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts +26 -0
  56. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts.map +1 -1
  57. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  58. package/dist/hooks/magic-context/recomp-orchestrator.d.ts +3 -3
  59. package/dist/hooks/magic-context/recomp-orchestrator.d.ts.map +1 -1
  60. package/dist/hooks/magic-context/system-prompt-diagnostics.d.ts +8 -0
  61. package/dist/hooks/magic-context/system-prompt-diagnostics.d.ts.map +1 -0
  62. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
  63. package/dist/hooks/magic-context/tag-messages.d.ts +6 -1
  64. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  65. package/dist/hooks/magic-context/todo-view.d.ts +2 -2
  66. package/dist/hooks/magic-context/tool-drop-target.d.ts +3 -2
  67. package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
  68. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  69. package/dist/hooks/magic-context/transform-stage-logger.d.ts +3 -0
  70. package/dist/hooks/magic-context/transform-stage-logger.d.ts.map +1 -1
  71. package/dist/hooks/magic-context/transform.d.ts +1 -0
  72. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  73. package/dist/{index-3kdm78zp.js → index-24fezq97.js} +4 -4
  74. package/dist/{index-a8bvhwqs.js → index-2vxtcb95.js} +32 -3
  75. package/dist/{index-f71thw8j.js → index-4s3t0nd0.js} +1 -1
  76. package/dist/{index-ts1hjk1h.js → index-4yt7dtf4.js} +453 -227
  77. package/dist/{index-mc1cqza6.js → index-5a1ex6x8.js} +5 -5
  78. package/dist/{index-fkx2qnvw.js → index-6x57ar45.js} +2 -2
  79. package/dist/{index-dyvbsvga.js → index-a6mc0v4d.js} +25 -11
  80. package/dist/{index-snp5wbge.js → index-a7c4r5re.js} +160 -749
  81. package/dist/{index-42vcjcwe.js → index-aabzay3h.js} +180 -103
  82. package/dist/{index-3kx0kg0f.js → index-b5vqckbw.js} +14 -8
  83. package/dist/{v2/server-wafzvyhg.js → index-beht37jy.js} +8 -0
  84. package/dist/{index-e20m7284.js → index-bjcnntmz.js} +3 -3
  85. package/dist/{index-hqkczed7.js → index-c5pytzne.js} +22 -2
  86. package/dist/{index-thvnpfsv.js → index-cwzfcbtq.js} +967 -88
  87. package/dist/{index-yxycg7fs.js → index-fb2qxs2y.js} +26 -18
  88. package/dist/{index-mht7bq0z.js → index-hqhm3wke.js} +32 -8
  89. package/dist/{index-e4dsjj1p.js → index-jn12fvvh.js} +1 -1
  90. package/dist/index-kaqs6h31.js +58 -0
  91. package/dist/{index-n6m03s3n.js → index-ke416mdc.js} +1 -1
  92. package/dist/index-kmdj7dsq.js +96 -0
  93. package/dist/{index-1d289pq2.js → index-kq82mtg0.js} +2 -2
  94. package/dist/{index-n78avt2p.js → index-n37sebck.js} +1 -1
  95. package/dist/{index-1vc7jrkg.js → index-nkpmm9q8.js} +3 -3
  96. package/dist/{index-944w16m0.js → index-p7m7j0cp.js} +25 -17
  97. package/dist/{index-wk0n1cgt.js → index-qn7xstt2.js} +2 -2
  98. package/dist/{index-saews2s3.js → index-rr2bb45z.js} +1 -1
  99. package/dist/{index-mmfa86mt.js → index-s734jcsr.js} +169 -149
  100. package/dist/{index-dgs16axy.js → index-s74zqahq.js} +1 -1
  101. package/dist/{index-bxdg2nbt.js → index-v8awdgvd.js} +4 -4
  102. package/dist/{index-xn6q9pg6.js → index-vrzjhftj.js} +36 -76
  103. package/dist/{index-1sarmj9z.js → index-wgypt3cs.js} +6 -6
  104. package/dist/{index-y1qysm3q.js → index-ze7mvk54.js} +11 -8
  105. package/dist/index.js +47 -45
  106. package/dist/message-fts-rowid-map-17s0dfn4.js +25 -0
  107. package/dist/{message-index-bounded-vtgpq6b4.js → message-index-bounded-1633vc7f.js} +17 -17
  108. package/dist/{message-index-a6gztaqx.js → message-index-dprebmtt.js} +15 -15
  109. package/dist/{message-time-backfill-qjge9044.js → message-time-backfill-73mmm76q.js} +5 -5
  110. package/dist/migration-worker.js +9 -7
  111. package/dist/plugin/dream-timer.d.ts +11 -0
  112. package/dist/plugin/dream-timer.d.ts.map +1 -1
  113. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  114. package/dist/{project-embedding-registry-x45bv3qr.js → project-embedding-registry-z74mhqkf.js} +12 -10
  115. package/dist/raw-ordinal-warmup-worker.js +40 -10
  116. package/dist/{read-session-chunk-3ae3nfdn.js → read-session-chunk-4zp09ejb.js} +9 -9
  117. package/dist/{read-session-raw-m56hc7v2.js → read-session-raw-rsc8c7qy.js} +2 -2
  118. package/dist/{recomp-orchestrator-nwzcfhx4.js → recomp-orchestrator-z3ecszx6.js} +26 -26
  119. package/dist/{search-deajrd90.js → search-6mee3vty.js} +23 -22
  120. package/dist/search-archive-znyy44ve.js +25 -0
  121. package/dist/{send-session-notification-24r4esbh.js → send-session-notification-6ve0e8p4.js} +5 -5
  122. package/dist/shared/historian-cache.d.ts +8 -0
  123. package/dist/shared/historian-cache.d.ts.map +1 -0
  124. package/dist/shared/model-suggestion-retry.d.ts +4 -0
  125. package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
  126. package/dist/shared/resolve-fallbacks.d.ts +3 -3
  127. package/dist/shared/rpc-discovery-cleanup.d.ts +3 -0
  128. package/dist/shared/rpc-discovery-cleanup.d.ts.map +1 -0
  129. package/dist/shared/rpc-server.d.ts +2 -0
  130. package/dist/shared/rpc-server.d.ts.map +1 -1
  131. package/dist/shared/search-text.d.ts +8 -0
  132. package/dist/shared/search-text.d.ts.map +1 -0
  133. package/dist/shared/sqlite.d.ts +4 -2
  134. package/dist/shared/sqlite.d.ts.map +1 -1
  135. package/dist/shared/storage-file-mutex.d.ts.map +1 -1
  136. package/dist/shared/subagent-runner.d.ts +2 -0
  137. package/dist/shared/subagent-runner.d.ts.map +1 -1
  138. package/dist/shared/system-directive.d.ts +2 -0
  139. package/dist/shared/system-directive.d.ts.map +1 -1
  140. package/dist/{sqlite-4pqyynrs.js → sqlite-zf72c52d.js} +1 -1
  141. package/dist/{storage-memory-j3v3hc83.js → storage-memory-y3qmy00r.js} +2 -2
  142. package/dist/{storage-tags-s5bg1ahx.js → storage-tags-8qns3012.js} +8 -4
  143. package/dist/tools/ctx-expand/search-archive.d.ts +5 -1
  144. package/dist/tools/ctx-expand/search-archive.d.ts.map +1 -1
  145. package/dist/{transform-postprocess-phase-ne3z1zmt.js → transform-postprocess-phase-3ydzxa62.js} +26 -26
  146. package/dist/v2/auto-search-worker.js +76 -63
  147. package/dist/v2/chunk-embedding-write-worker.js +12 -10
  148. package/dist/v2/{compaction-marker-candidates-1vqwr3s5.js → compaction-marker-candidates-ebx3388k.js} +2 -2
  149. package/dist/v2/compaction-marker-candidates-worker.js +2 -2
  150. package/dist/v2/{context-4qczzck7.js → context-jn3zpeqh.js} +909 -454
  151. package/dist/v2/embedding-backfill-7c7yr69y.js +23 -0
  152. package/dist/v2/embedding-worker-process.js +1 -1
  153. package/dist/v2/embedding-worker.js +5 -5
  154. package/dist/v2/fold/native-replay.d.ts +11 -2
  155. package/dist/v2/fold/native-replay.d.ts.map +1 -1
  156. package/dist/v2/fold/policy.d.ts.map +1 -1
  157. package/dist/v2/fold/restore.d.ts.map +1 -1
  158. package/dist/v2/hooks/context.d.ts.map +1 -1
  159. package/dist/v2/hooks/hidden-child.d.ts +8 -0
  160. package/dist/v2/hooks/hidden-child.d.ts.map +1 -1
  161. package/dist/v2/hooks/types.d.ts +17 -0
  162. package/dist/v2/hooks/types.d.ts.map +1 -1
  163. package/dist/v2/message-fts-rowid-map-wfx67gfd.js +24 -0
  164. package/dist/v2/{message-index-bounded-rxxznd34.js → message-index-bounded-hpejqyd8.js} +17 -17
  165. package/dist/v2/{message-index-f947qtbz.js → message-index-pxehjpzx.js} +15 -15
  166. package/dist/v2/{message-time-backfill-bsteyc4d.js → message-time-backfill-04t0km1z.js} +5 -5
  167. package/dist/v2/migration-worker.js +9 -7
  168. package/dist/v2/{project-embedding-registry-0msp56p8.js → project-embedding-registry-gnkj56xp.js} +12 -10
  169. package/dist/v2/raw-ordinal-warmup-worker.js +40 -10
  170. package/dist/v2/{read-session-chunk-rq9nx1nn.js → read-session-chunk-zdppn4bj.js} +9 -9
  171. package/dist/v2/{read-session-raw-b3tf6ra1.js → read-session-raw-yaegtjzh.js} +2 -2
  172. package/dist/v2/{recomp-orchestrator-5zhxtwha.js → recomp-orchestrator-cmqnfpp3.js} +26 -26
  173. package/dist/v2/{search-n8wqxb1j.js → search-66842dya.js} +23 -22
  174. package/dist/v2/search-archive-gfh11vs0.js +24 -0
  175. package/dist/v2/{send-session-notification-8ghn9tnv.js → send-session-notification-3pxn658x.js} +5 -5
  176. package/dist/v2/{server-yrvqaswb.js → server-1wy7b9de.js} +25 -11
  177. package/dist/v2/{server-th4y11y7.js → server-271qxsf5.js} +6 -6
  178. package/dist/v2/{server-e298hswg.js → server-3rhpvy84.js} +967 -88
  179. package/dist/v2/{server-qhfvvfxj.js → server-46neh5fa.js} +14 -8
  180. package/dist/v2/{server-rrqpvwqd.js → server-6tmj0s7j.js} +2 -2
  181. package/dist/v2/{server-hek6z3w6.js → server-8by8qfec.js} +11 -8
  182. package/dist/v2/{server-vbe4se57.js → server-a9xqj88f.js} +1 -1
  183. package/dist/{index-wafzvyhg.js → v2/server-beht37jy.js} +8 -0
  184. package/dist/v2/{server-05xjtq6c.js → server-d04vrx0j.js} +1 -1
  185. package/dist/v2/server-ec4ca92p.js +96 -0
  186. package/dist/v2/{server-dd0tz6cn.js → server-fw7wrk01.js} +160 -750
  187. package/dist/v2/{server-zs8d0s3b.js → server-g3qma5c0.js} +1 -1
  188. package/dist/v2/{server-k2bzedxk.js → server-gpvay0xz.js} +2 -2
  189. package/dist/v2/{server-kmbarfmn.js → server-gtfhttbr.js} +26 -18
  190. package/dist/v2/{server-g10mdym6.js → server-h1v0pyxb.js} +3 -3
  191. package/dist/v2/{server-4gn3z5an.js → server-hy3d3vsx.js} +1 -1
  192. package/dist/v2/server-kaqs6h31.js +58 -0
  193. package/dist/v2/{server-ehyava47.js → server-kh7dpa1a.js} +25 -17
  194. package/dist/v2/{server-6cdy4rc0.js → server-my7k4eds.js} +4 -4
  195. package/dist/v2/{server-d8tj10db.js → server-n1prf1g6.js} +1 -1
  196. package/dist/v2/{server-n78avt2p.js → server-n37sebck.js} +1 -1
  197. package/dist/v2/{server-zc3e54vy.js → server-nj659894.js} +6 -6
  198. package/dist/v2/{server-gvkm8xaj.js → server-rmygf5pn.js} +32 -3
  199. package/dist/v2/{server-0ppsweh6.js → server-tgnbmwah.js} +22 -2
  200. package/dist/v2/{server-cfbr1s2x.js → server-vsw8tmm6.js} +36 -76
  201. package/dist/v2/{server-prg55b7k.js → server-xj136kt8.js} +23 -3
  202. package/dist/v2/{server-atbc19ab.js → server-zyzawhdw.js} +32 -8
  203. package/dist/v2/{server-ef89gdsx.js → server-zzkj2fch.js} +4 -4
  204. package/dist/v2/server.js +5 -5
  205. package/dist/v2/{sqlite-4pqyynrs.js → sqlite-zf72c52d.js} +1 -1
  206. package/dist/v2/{storage-memory-j3v3hc83.js → storage-memory-y3qmy00r.js} +2 -2
  207. package/dist/v2/{storage-tags-hcc2adpf.js → storage-tags-1h8k6ra9.js} +8 -4
  208. package/dist/v2/store-reader.d.ts +2 -0
  209. package/dist/v2/store-reader.d.ts.map +1 -1
  210. package/dist/v2/{wrapup-orchestrator-65pwye0d.js → wrapup-orchestrator-xs8redz9.js} +26 -26
  211. package/dist/wrapup-orchestrator-j7d7ry5b.js +48 -0
  212. package/package.json +1 -1
  213. package/src/config/latch-permanence-guard.test.ts +4 -0
  214. package/src/config/schema/magic-context.ts +14 -6
  215. package/src/shared/historian-cache.test.ts +69 -0
  216. package/src/shared/historian-cache.ts +55 -0
  217. package/src/shared/model-resolution.test.ts +22 -0
  218. package/src/shared/model-suggestion-retry.ts +11 -3
  219. package/src/shared/resolve-fallbacks.test.ts +2 -3
  220. package/src/shared/resolve-fallbacks.ts +3 -3
  221. package/src/shared/rpc-discovery-cleanup.test.ts +57 -0
  222. package/src/shared/rpc-discovery-cleanup.ts +57 -0
  223. package/src/shared/rpc-server.ts +36 -13
  224. package/src/shared/search-text.test.ts +47 -0
  225. package/src/shared/search-text.ts +63 -0
  226. package/src/shared/sqlite.test.ts +56 -0
  227. package/src/shared/sqlite.ts +51 -2
  228. package/src/shared/storage-file-mutex-review.test.ts +22 -2
  229. package/src/shared/storage-file-mutex.ts +11 -1
  230. package/src/shared/subagent-runner.ts +2 -0
  231. package/src/shared/system-directive.ts +19 -1
  232. package/src/shared/tag-transcript.ts +12 -4
  233. package/dist/embedding-backfill-5e1t5wha.js +0 -22
  234. package/dist/v2/embedding-backfill-jmaf8zrr.js +0 -21
  235. package/dist/wrapup-orchestrator-28xzsj5q.js +0 -48
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getTokenEstimatorFingerprint,
3
3
  estimateTokens
4
- } from "./server-0ppsweh6.js";
4
+ } from "./server-tgnbmwah.js";
5
5
  import {
6
6
  getHarness2
7
7
  } from "./server-pavzsdc6.js";
@@ -10,10 +10,10 @@ import {
10
10
  } from "./server-f2xf5gcb.js";
11
11
  import {
12
12
  isSynapseEmbeddingTruncated
13
- } from "./server-rrqpvwqd.js";
13
+ } from "./server-6tmj0s7j.js";
14
14
  import {
15
- messageFtsOrdinalRangeIsMapped
16
- } from "./server-yrvqaswb.js";
15
+ messageFtsOrdinalRangeIsMapped2
16
+ } from "./server-1wy7b9de.js";
17
17
 
18
18
  // src/features/magic-context/compartment-chunk-embedding.ts
19
19
  import { createHash } from "node:crypto";
@@ -514,7 +514,7 @@ function toFloat32Array(blob) {
514
514
  function buildCanonicalChunkTextFromFts(db, sessionId, startOrdinal, endOrdinal) {
515
515
  if (endOrdinal < startOrdinal)
516
516
  return "";
517
- if (!messageFtsOrdinalRangeIsMapped(db, sessionId, startOrdinal, endOrdinal))
517
+ if (!messageFtsOrdinalRangeIsMapped2(db, sessionId, startOrdinal, endOrdinal))
518
518
  return null;
519
519
  const rows = getLoadFtsRowsStatement(db).all(sessionId, startOrdinal, endOrdinal).map((row) => row);
520
520
  const lines = [];
@@ -900,12 +900,18 @@ var BACKOFF_PREFIX = "chunk_embed_backoff:";
900
900
  function backoffKey(compartmentId) {
901
901
  return `${BACKOFF_PREFIX}${compartmentId}`;
902
902
  }
903
- function deleteChunkEmbedBackoffForSession(db, sessionId) {
904
- db.prepare(`DELETE FROM schema_migrations_meta WHERE key IN (
903
+ function deleteChunkEmbedBackoffForSession(db, sessionId, limit) {
904
+ if (limit !== undefined)
905
+ return db.prepare(`DELETE FROM schema_migrations_meta WHERE key IN (
906
+ SELECT key FROM schema_migrations_meta JOIN compartments
907
+ ON key = ? || compartments.id OR key = ? || compartments.id
908
+ WHERE compartments.session_id = ? LIMIT ?
909
+ )`).run(BACKOFF_PREFIX, WINDOW_SOURCE_PREFIX, sessionId, limit).changes;
910
+ return db.prepare(`DELETE FROM schema_migrations_meta WHERE key IN (
905
911
  SELECT ? || id FROM compartments WHERE session_id = ?
906
912
  UNION ALL
907
913
  SELECT ? || id FROM compartments WHERE session_id = ?
908
- )`).run(BACKOFF_PREFIX, sessionId, WINDOW_SOURCE_PREFIX, sessionId);
914
+ )`).run(BACKOFF_PREFIX, sessionId, WINDOW_SOURCE_PREFIX, sessionId).changes;
909
915
  }
910
916
  function recordChunkEmbedBackoff(db, candidate, projectPath, modelId) {
911
917
  const mapped = buildCanonicalChunkTextFromFts(db, candidate.sessionId, candidate.startMessage, candidate.endMessage);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  estimateTokens
3
- } from "./server-0ppsweh6.js";
3
+ } from "./server-tgnbmwah.js";
4
4
  import {
5
5
  getHarness2
6
6
  } from "./server-pavzsdc6.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./server-f2xf5gcb.js";
10
10
  import {
11
11
  inRootAsyncContext2
12
- } from "./server-wafzvyhg.js";
12
+ } from "./server-beht37jy.js";
13
13
 
14
14
  // src/features/magic-context/memory/embedding-synapse.ts
15
15
  import { createHash } from "node:crypto";
@@ -4,13 +4,13 @@ import {
4
4
  withSqliteBackgroundWriter2,
5
5
  withoutSqliteTransformPass2,
6
6
  isTransientSqliteError2
7
- } from "./server-wafzvyhg.js";
7
+ } from "./server-beht37jy.js";
8
8
  import {
9
9
  DEFAULT_LOCAL_EMBEDDING_MODEL
10
- } from "./server-th4y11y7.js";
10
+ } from "./server-271qxsf5.js";
11
11
  import {
12
12
  setBootQuietPeriodForTests
13
- } from "./server-gvkm8xaj.js";
13
+ } from "./server-rmygf5pn.js";
14
14
  import {
15
15
  isEmbeddingHostBusy2
16
16
  } from "./server-qt1qqasc.js";
@@ -26,10 +26,10 @@ import {
26
26
  isSynapseEmbeddingTruncated,
27
27
  getSynapseBatchRequestKey,
28
28
  SynapseEmbeddingProvider
29
- } from "./server-rrqpvwqd.js";
29
+ } from "./server-6tmj0s7j.js";
30
30
  import {
31
31
  estimateTokens
32
- } from "./server-0ppsweh6.js";
32
+ } from "./server-tgnbmwah.js";
33
33
  import {
34
34
  DEFAULT_COMPARTMENT_CHUNK_MAX_INPUT_TOKENS,
35
35
  CHUNK_WINDOW_SAFETY_RATIO,
@@ -47,7 +47,7 @@ import {
47
47
  countSessionCompartmentEmbedCoverage,
48
48
  countSessionCompartmentEmbedCoveragePolite,
49
49
  countUnembeddedSessionCompartmentsPolite
50
- } from "./server-qhfvvfxj.js";
50
+ } from "./server-46neh5fa.js";
51
51
  import {
52
52
  acquireGitSweepLease,
53
53
  renewGitSweepLease,
@@ -55,7 +55,7 @@ import {
55
55
  findMisScopedCompartmentChunkEmbeddingIdsForProject,
56
56
  recordSessionProjectIdentity,
57
57
  repairMisScopedCompartmentChunkEmbeddingsForProject
58
- } from "./server-4gn3z5an.js";
58
+ } from "./server-hy3d3vsx.js";
59
59
  import {
60
60
  saveEmbeddingIfHashMatches,
61
61
  getMemoryEmbedCoverage,
@@ -67,7 +67,7 @@ import {
67
67
  resolveEmbeddingTextPrefixes,
68
68
  getEmbeddingProviderIdentity,
69
69
  LocalEmbeddingProvider
70
- } from "./server-g10mdym6.js";
70
+ } from "./server-h1v0pyxb.js";
71
71
  import {
72
72
  logSlowWriteTransaction
73
73
  } from "./server-6pmqg9m4.js";
@@ -701,6 +701,7 @@ class OpenAICompatibleEmbeddingProvider {
701
701
  return Array.from({ length: texts.length }, () => null);
702
702
  }
703
703
  const isQuery = purpose === "query";
704
+ let rateLimitedResponses = 0;
704
705
  for (;; ) {
705
706
  if (Date.now() < this.rateLimit.until) {
706
707
  if (isQuery)
@@ -714,6 +715,8 @@ class OpenAICompatibleEmbeddingProvider {
714
715
  return outcome;
715
716
  if (isQuery)
716
717
  return Array.from({ length: texts.length }, () => null);
718
+ if (++rateLimitedResponses >= 8)
719
+ return Array.from({ length: texts.length }, () => null);
717
720
  }
718
721
  }
719
722
  async requestOnce(texts, requestTexts, signal, purpose) {
@@ -10,7 +10,7 @@ import {
10
10
  } from "./server-h0410h0v.js";
11
11
  import {
12
12
  shouldHoldIgnoredNotification
13
- } from "./server-d8tj10db.js";
13
+ } from "./server-n1prf1g6.js";
14
14
  import {
15
15
  getErrorMessage
16
16
  } from "./server-y8v6yerm.js";
@@ -29,6 +29,14 @@ function detectSqliteRuntime2() {
29
29
  var bunSpec = "bun:" + "sqlite";
30
30
  var nodeSpec = "node:" + "sqlite";
31
31
  async function importSqliteModule(specifier) {
32
+ if (specifier === nodeSpec && typeof process.getBuiltinModule === "function") {
33
+ const loaded = process.getBuiltinModule(specifier);
34
+ if (loaded)
35
+ return loaded;
36
+ throw Object.assign(new Error(`No such built-in module: ${specifier}`), {
37
+ code: "ERR_UNKNOWN_BUILTIN_MODULE"
38
+ });
39
+ }
32
40
  return await import(specifier);
33
41
  }
34
42
  function isModuleNotFoundError(error, specifier) {
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  inRootAsyncContext2,
9
9
  getSqliteDatabasePath2
10
- } from "./server-wafzvyhg.js";
10
+ } from "./server-beht37jy.js";
11
11
 
12
12
  // src/features/magic-context/compaction-marker-candidates.ts
13
13
  import { existsSync, realpathSync } from "node:fs";
@@ -0,0 +1,96 @@
1
+ import {
2
+ withMessageFtsSessionFilter
3
+ } from "./server-kaqs6h31.js";
4
+ import {
5
+ getSqliteDatabasePath2
6
+ } from "./server-beht37jy.js";
7
+ import {
8
+ runSessionWarmupWorker
9
+ } from "./server-xj136kt8.js";
10
+ import {
11
+ estimateTokens
12
+ } from "./server-tgnbmwah.js";
13
+ import {
14
+ openCodeDbExists,
15
+ withReadOnlySessionDb
16
+ } from "./server-n1prf1g6.js";
17
+ import {
18
+ hasRawMessageProvider2,
19
+ readRawSessionMessageIdOrdinalsForRange2
20
+ } from "./server-kh7dpa1a.js";
21
+
22
+ // src/tools/ctx-expand/search-archive.ts
23
+ var archiveReadsOnThisThread = 0;
24
+ function renderSearchArchive2(db, sessionId, start, end, tokenBudget, archiveOnly = false, readRawIds = () => readRawSessionMessageIdOrdinalsForRange2(sessionId, start, end)) {
25
+ archiveReadsOnThisThread += 1;
26
+ return withMessageFtsSessionFilter(db, sessionId, (sessionFirst) => {
27
+ let rawIds;
28
+ const rows = db.prepare(sessionFirst ? `SELECT f.message_ordinal AS ordinal, f.message_id AS id, f.role, f.content
29
+ FROM message_fts_rowid_map AS m
30
+ JOIN message_history_fts AS f ON f.rowid = m.fts_rowid
31
+ WHERE m.session_id = ?1 AND m.message_ordinal BETWEEN ?2 AND ?3
32
+ AND f.session_id = ?1 AND f.message_ordinal BETWEEN ?2 AND ?3
33
+ ORDER BY m.message_ordinal` : `SELECT message_ordinal AS ordinal, message_id AS id, role, content
34
+ FROM message_history_fts
35
+ WHERE session_id = ?1 AND message_ordinal BETWEEN ?2 AND ?3
36
+ ORDER BY CAST(message_ordinal AS INTEGER)`);
37
+ const blocks = [];
38
+ let tokens = 0;
39
+ let lastOrdinal = start - 1;
40
+ let truncated = false;
41
+ for (const row of rows.iterate(sessionId, start, end)) {
42
+ if (!row.content)
43
+ continue;
44
+ if (!archiveOnly) {
45
+ rawIds ??= readRawIds();
46
+ if (rawIds.get(row.id) === row.ordinal)
47
+ continue;
48
+ }
49
+ const block = `[${row.ordinal}] ${row.role === "user" ? "U" : "A"}: ${row.content}`;
50
+ const cost = estimateTokens(block);
51
+ if (blocks.length > 0 && tokens + cost > tokenBudget) {
52
+ truncated = true;
53
+ break;
54
+ }
55
+ blocks.push(block);
56
+ tokens += cost;
57
+ lastOrdinal = row.ordinal;
58
+ }
59
+ if (blocks.length === 0)
60
+ return null;
61
+ const text = [
62
+ "From the search archive: indexed text only; no surrounding messages or tool output.",
63
+ "",
64
+ ...blocks
65
+ ];
66
+ if (truncated) {
67
+ text.push("", `Truncated at message ${lastOrdinal} (budget: ~${tokenBudget} tokens). Call ctx_expand(start=${lastOrdinal + 1}, end=${end}) for more archived text.`);
68
+ }
69
+ return text.join(`
70
+ `);
71
+ });
72
+ }
73
+ async function renderSearchArchiveOffThread2(db, sessionId, start, end, tokenBudget, archiveOnly = false) {
74
+ const path = getSqliteDatabasePath2(db);
75
+ if (!path)
76
+ return renderSearchArchive2(db, sessionId, start, end, tokenBudget, archiveOnly);
77
+ const provider = hasRawMessageProvider2(sessionId);
78
+ const rawPath = !archiveOnly && !provider && openCodeDbExists() ? withReadOnlySessionDb(getSqliteDatabasePath2) : null;
79
+ const result = await runSessionWarmupWorker({
80
+ path,
81
+ sessionId,
82
+ searchArchive: {
83
+ start,
84
+ end,
85
+ tokenBudget,
86
+ archiveOnly,
87
+ rawPath,
88
+ rawIds: !archiveOnly && provider ? [...readRawSessionMessageIdOrdinalsForRange2(sessionId, start, end)] : undefined
89
+ }
90
+ }, {});
91
+ if ("searchArchive" in result)
92
+ return result.searchArchive;
93
+ throw new Error(`Search archive worker unavailable: ${"failure" in result ? `${result.failure}: ${result.detail}` : "unexpected reply"}`);
94
+ }
95
+
96
+ export { renderSearchArchive2, renderSearchArchiveOffThread2 };