@cortexkit/opencode-magic-context 0.49.0 → 0.49.2

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 (195) hide show
  1. package/dist/{announcement-fp14dw0n.js → announcement-hdbkt8v5.js} +1 -1
  2. package/dist/auto-search-worker.js +3 -3
  3. package/dist/config/{mural-model-deprecation.d.ts → deprecated-config.d.ts} +4 -1
  4. package/dist/config/deprecated-config.d.ts.map +1 -0
  5. package/dist/config/index.d.ts.map +1 -1
  6. package/dist/config/project-security.d.ts +2 -2
  7. package/dist/config/schema/magic-context.d.ts +4 -4
  8. package/dist/config/schema/magic-context.d.ts.map +1 -1
  9. package/dist/{conflict-warning-hook-kzx4dmk1.js → conflict-warning-hook-asnt6hfc.js} +3 -3
  10. package/dist/{context-nj5f293n.js → context-tfyhtdcs.js} +111 -45
  11. package/dist/{derive-budgets-qz5rrr08.js → derive-budgets-j4ry8j8n.js} +1 -1
  12. package/dist/{embedding-backfill-aetxv1vt.js → embedding-backfill-wyc3ykyf.js} +7 -7
  13. package/dist/embedding-worker-process.js +30 -0
  14. package/dist/embedding-worker.js +5 -5
  15. package/dist/features/magic-context/dreamer/task-registry.d.ts +2 -3
  16. package/dist/features/magic-context/dreamer/task-registry.d.ts.map +1 -1
  17. package/dist/features/magic-context/memory/embedding-worker-client.d.ts +8 -1
  18. package/dist/features/magic-context/memory/embedding-worker-client.d.ts.map +1 -1
  19. package/dist/features/magic-context/memory/embedding-worker-process.d.ts +2 -0
  20. package/dist/features/magic-context/memory/embedding-worker-process.d.ts.map +1 -0
  21. package/dist/features/magic-context/memory/onnx-telemetry.d.ts +3 -0
  22. package/dist/features/magic-context/memory/onnx-telemetry.d.ts.map +1 -0
  23. package/dist/features/magic-context/overflow-detection.d.ts +1 -2
  24. package/dist/features/magic-context/overflow-detection.d.ts.map +1 -1
  25. package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -1
  26. package/dist/features/magic-context/transform-decision-log.d.ts +1 -1
  27. package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
  28. package/dist/features/magic-context/user-memory/storage-user-memory.d.ts +1 -0
  29. package/dist/features/magic-context/user-memory/storage-user-memory.d.ts.map +1 -1
  30. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  31. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +1 -0
  32. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -1
  33. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
  34. package/dist/hooks/magic-context/hook.d.ts +1 -0
  35. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  36. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  37. package/dist/hooks/magic-context/lkg-measured-request.d.ts +3 -1
  38. package/dist/hooks/magic-context/lkg-measured-request.d.ts.map +1 -1
  39. package/dist/hooks/magic-context/lkg-persist.d.ts +8 -14
  40. package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
  41. package/dist/hooks/magic-context/lkg-recovery-fence.d.ts +62 -0
  42. package/dist/hooks/magic-context/lkg-recovery-fence.d.ts.map +1 -0
  43. package/dist/hooks/magic-context/lkg-recovery-prefix.d.ts +38 -0
  44. package/dist/hooks/magic-context/lkg-recovery-prefix.d.ts.map +1 -0
  45. package/dist/hooks/magic-context/lkg-replay.d.ts +3 -1
  46. package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
  47. package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -1
  48. package/dist/hooks/magic-context/opaque-thinking.d.ts +12 -0
  49. package/dist/hooks/magic-context/opaque-thinking.d.ts.map +1 -0
  50. package/dist/hooks/magic-context/pass-outcome.d.ts +2 -2
  51. package/dist/hooks/magic-context/pending-materialization.d.ts +8 -0
  52. package/dist/hooks/magic-context/pending-materialization.d.ts.map +1 -0
  53. package/dist/hooks/magic-context/read-session-db.d.ts +3 -0
  54. package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
  55. package/dist/hooks/magic-context/recomp-orchestrator.d.ts.map +1 -1
  56. package/dist/hooks/magic-context/rust-mode-transform.d.ts +1 -0
  57. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  58. package/dist/hooks/magic-context/strip-content.d.ts +5 -2
  59. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  60. package/dist/hooks/magic-context/system-date-refresh.d.ts +29 -0
  61. package/dist/hooks/magic-context/system-date-refresh.d.ts.map +1 -0
  62. package/dist/hooks/magic-context/system-prompt-dates.d.ts +6 -0
  63. package/dist/hooks/magic-context/system-prompt-dates.d.ts.map +1 -0
  64. package/dist/hooks/magic-context/system-prompt-delivery.d.ts +47 -0
  65. package/dist/hooks/magic-context/system-prompt-delivery.d.ts.map +1 -0
  66. package/dist/hooks/magic-context/system-prompt-hash.d.ts +4 -0
  67. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
  68. package/dist/hooks/magic-context/tag-messages.d.ts +8 -0
  69. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  70. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +2 -0
  71. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  72. package/dist/hooks/magic-context/transform.d.ts +6 -0
  73. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  74. package/dist/{index-9qjqq45k.js → index-0pjvpfkf.js} +21 -1
  75. package/dist/index-6m7rdv7y.js +733 -0
  76. package/dist/{index-1r0k9js3.js → index-6tfxmc4n.js} +10 -10
  77. package/dist/{index-gzcmtmar.js → index-7w18gg78.js} +25 -1
  78. package/dist/{index-nm6a8xpd.js → index-att4bfan.js} +1 -1
  79. package/dist/{index-ezmszwbd.js → index-eypn4ba6.js} +7 -4
  80. package/dist/{index-ha87j7a8.js → index-fdtkt5r1.js} +6 -6
  81. package/dist/{index-kp5qe690.js → index-fg00p1cg.js} +38 -36
  82. package/dist/{index-1bc61ans.js → index-fvnzcnww.js} +44 -1
  83. package/dist/index-gbmqa9x9.js +1170 -0
  84. package/dist/{index-pxwp2hjk.js → index-gzky5rva.js} +30 -53
  85. package/dist/{index-kq57tdf0.js → index-k6xvbj2e.js} +255 -1075
  86. package/dist/{index-0w56v4fm.js → index-mw7c950g.js} +1 -1
  87. package/dist/{index-1g30axtz.js → index-p0n5ryq8.js} +82 -900
  88. package/dist/{index-b7mv1jx3.js → index-p1hnwfd8.js} +1 -1
  89. package/dist/{index-peshmj6h.js → index-r2zcs71c.js} +6 -4
  90. package/dist/{index-kmpvemph.js → index-rafsaxac.js} +2 -2
  91. package/dist/{index-stbr4ce6.js → index-s7fc0fkn.js} +1 -1
  92. package/dist/{index-hj2q50k0.js → index-sfhndpcb.js} +463 -6
  93. package/dist/index-sv0bb7vg.js +6972 -0
  94. package/dist/{index-57mrqed8.js → index-w23dh319.js} +17 -258
  95. package/dist/{index-9rt53q79.js → index-xgrwmj82.js} +1 -1
  96. package/dist/{index-h2py7207.js → index-xnanvj3w.js} +765 -1255
  97. package/dist/{index-2jcbj7r1.js → index-zfzdpeq2.js} +2269 -3802
  98. package/dist/{index-s4j7t92z.js → index-zg8yq4ya.js} +29 -744
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +209 -61
  101. package/dist/{message-index-bounded-h0mrd4pr.js → message-index-bounded-hqktkhdy.js} +7 -6
  102. package/dist/migration-worker.js +6 -5
  103. package/dist/plugin/hooks/create-session-hooks.d.ts +3 -1
  104. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  105. package/dist/plugin/messages-transform.d.ts.map +1 -1
  106. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  107. package/dist/{project-embedding-registry-rtt0djyb.js → project-embedding-registry-0gv3h6y8.js} +6 -6
  108. package/dist/raw-ordinal-warmup-worker.js +1 -1
  109. package/dist/{read-session-chunk-ty89v75e.js → read-session-chunk-5mh0bh8y.js} +5 -4
  110. package/dist/{recomp-orchestrator-4f1yyd1q.js → recomp-orchestrator-kpkhkjhq.js} +20 -19
  111. package/dist/{search-pz4f4wge.js → search-p9w39qv4.js} +15 -14
  112. package/dist/{send-session-notification-38cd5dqt.js → send-session-notification-xffh3bbe.js} +2 -2
  113. package/dist/shared/models-dev-cache.d.ts.map +1 -1
  114. package/dist/shared/storage-file-mutex.d.ts +9 -0
  115. package/dist/shared/storage-file-mutex.d.ts.map +1 -0
  116. package/dist/shared/storage-permissions.d.ts +6 -0
  117. package/dist/shared/storage-permissions.d.ts.map +1 -1
  118. package/dist/shared/window-geometry.d.ts +9 -66
  119. package/dist/shared/window-geometry.d.ts.map +1 -1
  120. package/dist/standalone-plugin-marker.d.ts +8 -0
  121. package/dist/standalone-plugin-marker.d.ts.map +1 -0
  122. package/dist/tools/ctx-reduce/constants.d.ts +1 -2
  123. package/dist/tools/ctx-reduce/constants.d.ts.map +1 -1
  124. package/dist/tools/ctx-reduce/tools.d.ts +1 -1
  125. package/dist/tools/ctx-reduce/tools.d.ts.map +1 -1
  126. package/dist/{transform-postprocess-phase-tck4g20s.js → transform-postprocess-phase-481j5a7z.js} +20 -19
  127. package/dist/v2/auto-search-worker.js +3 -3
  128. package/dist/v2/{context-crbt6p1y.js → context-gsdtha5v.js} +873 -2122
  129. package/dist/v2/{derive-budgets-fgej9j46.js → derive-budgets-enckmg7y.js} +2 -2
  130. package/dist/v2/{embedding-backfill-ph1qfyn3.js → embedding-backfill-dbvjbcmm.js} +8 -9
  131. package/dist/v2/embedding-worker-process.js +29 -0
  132. package/dist/v2/embedding-worker.js +3 -4
  133. package/dist/v2/hooks/context.d.ts.map +1 -1
  134. package/dist/v2/hooks/copied-tag-notation.d.ts +19 -0
  135. package/dist/v2/hooks/copied-tag-notation.d.ts.map +1 -0
  136. package/dist/v2/hooks/payload.d.ts.map +1 -1
  137. package/dist/v2/hooks/system-prompt-response.d.ts +5 -0
  138. package/dist/v2/hooks/system-prompt-response.d.ts.map +1 -0
  139. package/dist/v2/{message-index-bounded-xwqdywxg.js → message-index-bounded-p6v0n8qh.js} +8 -7
  140. package/dist/v2/migration-worker.js +6 -5
  141. package/dist/v2/{project-embedding-registry-d6m7tyxr.js → project-embedding-registry-nyq7z8y6.js} +7 -8
  142. package/dist/v2/raw-ordinal-warmup-worker.js +2 -2
  143. package/dist/v2/{read-session-chunk-8p5mdryx.js → read-session-chunk-fhyfe4qa.js} +6 -5
  144. package/dist/v2/{recomp-orchestrator-ckfgt6wq.js → recomp-orchestrator-5xy7w136.js} +22 -22
  145. package/dist/v2/{search-ym8rehhz.js → search-j7bakcwa.js} +17 -17
  146. package/dist/v2/{send-session-notification-5m0yapqx.js → send-session-notification-f6v698r5.js} +2 -2
  147. package/dist/v2/{server-jvxzm1jy.js → server-1fszbabv.js} +28 -28
  148. package/dist/v2/{server-3j4d00kf.js → server-2htmbqbv.js} +25 -1
  149. package/dist/v2/{server-c5rrgrcd.js → server-4c7jt8gq.js} +25 -1
  150. package/dist/v2/{server-ycw9qqcy.js → server-4enr7s6x.js} +1 -1
  151. package/dist/v2/{server-v4mewb78.js → server-6tcrjfw8.js} +1 -1
  152. package/dist/v2/{server-x4hscabv.js → server-7spkq1y6.js} +2257 -3746
  153. package/dist/v2/{server-sa8jvrfc.js → server-7vkj6zhb.js} +29 -744
  154. package/dist/v2/{server-xwz4dqh9.js → server-8xmq9h3f.js} +30 -53
  155. package/dist/v2/{server-1tk82krw.js → server-bgzy0phk.js} +463 -6
  156. package/dist/v2/server-c7n2ftng.js +6860 -0
  157. package/dist/v2/server-cvgn49tr.js +733 -0
  158. package/dist/v2/{server-zm570tr2.js → server-cw6521wn.js} +232 -7
  159. package/dist/v2/{server-pj4pjv02.js → server-czb2rkpk.js} +21 -1
  160. package/dist/v2/{server-19zjmn02.js → server-d6g4whc2.js} +20 -14
  161. package/dist/v2/{server-1bc61ans.js → server-fvnzcnww.js} +44 -1
  162. package/dist/v2/{server-w32kmdez.js → server-kh958yj8.js} +3 -3
  163. package/dist/v2/{server-q4ph9bwn.js → server-mqvtz7wz.js} +7 -7
  164. package/dist/v2/{server-2s6ayq3t.js → server-ras2sxnc.js} +133 -13
  165. package/dist/v2/{server-ss95ky04.js → server-s2st631p.js} +1 -1
  166. package/dist/v2/{server-2s9qz6n7.js → server-t528t8qm.js} +1 -1
  167. package/dist/v2/{server-8k2agx29.js → server-vb7pbd9p.js} +17 -258
  168. package/dist/v2/{server-zp53y8js.js → server-zbxjj2mz.js} +2 -2
  169. package/dist/v2/server.d.ts.map +1 -1
  170. package/dist/v2/server.js +149 -5
  171. package/dist/v2/{storage-tags-8vw924zn.js → storage-tags-5yxrvkaf.js} +1 -1
  172. package/dist/v2/{wrapup-orchestrator-a7efxaax.js → wrapup-orchestrator-yem5422s.js} +28 -28
  173. package/dist/{wrapup-orchestrator-barbc6h9.js → wrapup-orchestrator-xvrr27ws.js} +21 -20
  174. package/package.json +4 -4
  175. package/src/config/{mural-model-deprecation.ts → deprecated-config.ts} +19 -0
  176. package/src/config/index.test.ts +15 -37
  177. package/src/config/index.ts +2 -3
  178. package/src/config/project-security.ts +3 -3
  179. package/src/config/schema/magic-context.ts +11 -7
  180. package/src/features/magic-context/dreamer/task-registry.ts +2 -3
  181. package/src/shared/models-dev-cache.ts +1 -7
  182. package/src/shared/sqlite-640-review.test.ts +5 -1
  183. package/src/shared/storage-file-mutex-review.test.ts +162 -0
  184. package/src/shared/storage-file-mutex.ts +130 -0
  185. package/src/shared/storage-permissions.ts +46 -0
  186. package/src/shared/window-geometry.test.ts +102 -236
  187. package/src/shared/window-geometry.ts +23 -413
  188. package/dist/config/mural-model-deprecation.d.ts.map +0 -1
  189. package/dist/index-2jgwttpt.js +0 -3269
  190. package/dist/index-mfkzp7qj.js +0 -229
  191. package/dist/v2/server-4ez8mntn.js +0 -3213
  192. package/dist/v2/server-mfkzp7qj.js +0 -229
  193. package/src/shared/__fixtures__/window-overlay.v1.json +0 -337
  194. /package/dist/{index-2pp04pmg.js → index-69vas84q.js} +0 -0
  195. /package/dist/v2/{index-2pp04pmg.js → index-69vas84q.js} +0 -0
@@ -5,8 +5,8 @@ import {
5
5
  resolveHistorianProducerLimits2,
6
6
  resolveHistorianContextLimit2,
7
7
  producerSourceLocalBudget2
8
- } from "./server-2s9qz6n7.js";
9
- import"./server-8k2agx29.js";
8
+ } from "./server-t528t8qm.js";
9
+ import"./server-vb7pbd9p.js";
10
10
  import"./server-1zx87sdm.js";
11
11
  import"./server-t4k4qexw.js";
12
12
  import"./server-pavzsdc6.js";
@@ -1,16 +1,15 @@
1
1
  import {
2
2
  ensureMemoryEmbeddings2
3
- } from "./server-w32kmdez.js";
4
- import"./server-jvxzm1jy.js";
5
- import"./server-ss95ky04.js";
6
- import"./server-qt1qqasc.js";
3
+ } from "./server-kh958yj8.js";
4
+ import"./server-1fszbabv.js";
5
+ import"./server-s2st631p.js";
7
6
  import"./server-4dhv7mqz.js";
8
- import"./server-2s6ayq3t.js";
7
+ import"./server-qt1qqasc.js";
8
+ import"./server-ras2sxnc.js";
9
9
  import"./server-hb6xhh9q.js";
10
- import"./server-zm570tr2.js";
11
- import"./server-xwz4dqh9.js";
12
- import"./server-3j4d00kf.js";
13
- import"./server-mfkzp7qj.js";
10
+ import"./server-8xmq9h3f.js";
11
+ import"./server-2htmbqbv.js";
12
+ import"./server-cw6521wn.js";
14
13
  import"./server-kzns2hbz.js";
15
14
  import"./server-3t0q2cqx.js";
16
15
  import"./server-kb9nn0a0.js";
@@ -0,0 +1,29 @@
1
+ import"./server-pavzsdc6.js";
2
+ import {
3
+ log2
4
+ } from "./server-t4k4qexw.js";
5
+
6
+ // src/features/magic-context/memory/embedding-worker-process.ts
7
+ import { Worker } from "node:worker_threads";
8
+ var worker;
9
+ process.on("message", (message) => {
10
+ if (message.entry && !worker) {
11
+ worker = new Worker(new URL(message.entry), { workerData: message.data });
12
+ worker.on("message", (reply) => {
13
+ const wire = {
14
+ ...reply,
15
+ vectors: reply.vectors?.map((vector) => vector === null ? null : Buffer.from(vector.buffer, vector.byteOffset, vector.byteLength).toString("base64"))
16
+ };
17
+ if (process.connected)
18
+ process.send?.(wire);
19
+ });
20
+ worker.on("error", (error) => {
21
+ log2("[magic-context] embedding worker failed:", error);
22
+ process.exit(1);
23
+ });
24
+ worker.on("exit", (code) => process.exit(code));
25
+ } else {
26
+ worker?.postMessage(message);
27
+ }
28
+ });
29
+ process.on("disconnect", () => process.exit(0));
@@ -4,18 +4,17 @@ import {
4
4
  import {
5
5
  log2
6
6
  } from "./server-t4k4qexw.js";
7
- import"./server-zm570tr2.js";
8
- import"./server-mfkzp7qj.js";
7
+ import"./server-cw6521wn.js";
9
8
  import"./server-hb6xhh9q.js";
10
9
  import"./server-kzns2hbz.js";
11
10
  import {
12
11
  resolveLocalEmbeddingWorkerRuntime,
13
12
  getLocalEmbeddingNativeMemoryStats,
14
13
  LocalEmbeddingProvider
15
- } from "./server-2s6ayq3t.js";
14
+ } from "./server-ras2sxnc.js";
16
15
  import {
17
16
  setStoragePrivatePermissionEnforcement
18
- } from "./server-1bc61ans.js";
17
+ } from "./server-fvnzcnww.js";
19
18
 
20
19
  // src/features/magic-context/memory/embedding-worker.ts
21
20
  import { parentPort, workerData } from "node:worker_threads";
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Remove `§N§` tag notation that a model copied into its own reply.
3
+ *
4
+ * OpenCode 1 (`experimental.text.complete`) and Pi (`message_end`) run
5
+ * `stripPersistedAssistantText` on assistant text before the host stores it.
6
+ * OpenCode 2 offers no hook between a finished text part and the write to its
7
+ * store: the runner publishes the text-ended event straight to the bus, and the
8
+ * projector writes it. So OpenCode 2 stores copied tags unchanged, and Magic
9
+ * Context strips them from assistant text when it builds each request instead.
10
+ * Without that, every later request hands the copies back to the model, which
11
+ * reinforces the pattern.
12
+ *
13
+ * Depends only on the text, so the same stored reply gives the same bytes on
14
+ * every pass. Text without a `§` comes back untouched: the shared function also
15
+ * trims surrounding whitespace, and trimming text that holds no tag notation
16
+ * would change the bytes of sessions that never had copies.
17
+ */
18
+ export declare function stripCopiedTagNotation(text: string): string;
19
+ //# sourceMappingURL=copied-tag-notation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copied-tag-notation.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/copied-tag-notation.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/payload.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAI1E,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,SAAS,CAAC;AAEzD,eAAO,MAAM,QAAQ,iEAAkE,CAAC;AA4FxF;iFACiF;AACjF,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAUvD;AAoFD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,GAAE,WAAW,CAAC,MAAM,CAAa;;;EAmV/F"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/payload.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAK1E,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,SAAS,CAAC;AAEzD,eAAO,MAAM,QAAQ,iEAAkE,CAAC;AA4FxF;iFACiF;AACjF,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAUvD;AAoFD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,GAAE,WAAW,CAAC,MAAM,CAAa;;;EA2V/F"}
@@ -0,0 +1,5 @@
1
+ import type { V2StoreReader } from "../store-reader";
2
+ /** The newest assistant may belong to a later concurrent run. Bind only the
3
+ * first assistant row after the prepared request's captured store boundary. */
4
+ export declare function bindV2SystemPromptResponse(sessionId: string, reader: Pick<V2StoreReader, "assistantSince">): void;
5
+ //# sourceMappingURL=system-prompt-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-prompt-response.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/system-prompt-response.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;+EAC+E;AAC/E,wBAAgB,0BAA0B,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAC9C,IAAI,CAeN"}
@@ -4,16 +4,16 @@ import {
4
4
  yieldIndexChunk2
5
5
  } from "./server-kb9nn0a0.js";
6
6
  import"./server-1zx87sdm.js";
7
- import"./server-c5rrgrcd.js";
7
+ import"./server-4c7jt8gq.js";
8
8
  import"./server-kzns2hbz.js";
9
9
  import"./server-pavzsdc6.js";
10
10
  import"./server-t4k4qexw.js";
11
11
  import"./server-6byqfbqf.js";
12
- import"./server-mfkzp7qj.js";
12
+ import"./server-cw6521wn.js";
13
13
  import"./server-7h861yms.js";
14
14
  import"./server-2ra6pwf3.js";
15
- import"./server-pj4pjv02.js";
16
- import"./server-4ez8mntn.js";
15
+ import"./server-czb2rkpk.js";
16
+ import"./server-c7n2ftng.js";
17
17
  import"./server-7ekna9zs.js";
18
18
  import {
19
19
  MESSAGE_INDEX_MAX_FTS_BYTES,
@@ -22,10 +22,11 @@ import {
22
22
  markMessageIndexDirty,
23
23
  getIndexableContent,
24
24
  indexSingleMessage
25
- } from "./server-1tk82krw.js";
26
- import"./server-3j4d00kf.js";
25
+ } from "./server-bgzy0phk.js";
26
+ import"./server-2htmbqbv.js";
27
+ import"./server-cvgn49tr.js";
27
28
  import"./server-hb6xhh9q.js";
28
- import"./server-ss95ky04.js";
29
+ import"./server-s2st631p.js";
29
30
  import"./server-3t0q2cqx.js";
30
31
 
31
32
  // src/features/magic-context/message-index-bounded.ts
@@ -9,16 +9,17 @@ import {
9
9
  import"./server-fr0wbhdn.js";
10
10
  import {
11
11
  runMigrationsWithRetry
12
- } from "./server-v4mewb78.js";
12
+ } from "./server-6tcrjfw8.js";
13
13
  import"./server-6byqfbqf.js";
14
14
  import"./server-2ra6pwf3.js";
15
- import"./server-xwz4dqh9.js";
15
+ import"./server-8xmq9h3f.js";
16
+ import"./server-cvgn49tr.js";
17
+ import"./server-fb3zxn06.js";
16
18
  import {
17
19
  setSqlitePragmaConfig,
18
20
  initializeDatabase
19
- } from "./server-sa8jvrfc.js";
20
- import"./server-fb3zxn06.js";
21
- import"./server-3j4d00kf.js";
21
+ } from "./server-7vkj6zhb.js";
22
+ import"./server-2htmbqbv.js";
22
23
  import"./server-kzns2hbz.js";
23
24
  import"./server-7ekna9zs.js";
24
25
  import {
@@ -33,16 +33,15 @@ import {
33
33
  sweepAllRegisteredProjects2,
34
34
  _setTestProviderFactoryForProject2,
35
35
  _resetProjectEmbeddingRegistryForTests2
36
- } from "./server-jvxzm1jy.js";
37
- import"./server-ss95ky04.js";
38
- import"./server-qt1qqasc.js";
36
+ } from "./server-1fszbabv.js";
37
+ import"./server-s2st631p.js";
39
38
  import"./server-4dhv7mqz.js";
40
- import"./server-2s6ayq3t.js";
39
+ import"./server-qt1qqasc.js";
40
+ import"./server-ras2sxnc.js";
41
41
  import"./server-hb6xhh9q.js";
42
- import"./server-zm570tr2.js";
43
- import"./server-xwz4dqh9.js";
44
- import"./server-3j4d00kf.js";
45
- import"./server-mfkzp7qj.js";
42
+ import"./server-8xmq9h3f.js";
43
+ import"./server-2htmbqbv.js";
44
+ import"./server-cw6521wn.js";
46
45
  import"./server-kzns2hbz.js";
47
46
  import"./server-3t0q2cqx.js";
48
47
  import"./server-kb9nn0a0.js";
@@ -22,7 +22,7 @@ try {
22
22
  { configureContextDatabasePragmas },
23
23
  { registerSqliteDiagnosticSink }
24
24
  ] = await Promise.all([
25
- import("./message-index-bounded-xwqdywxg.js"),
25
+ import("./message-index-bounded-p6v0n8qh.js"),
26
26
  import("./sqlite-context-pragmas-mv9jqwjh.js"),
27
27
  import("./sqlite-mhjkerzq.js")
28
28
  ]);
@@ -35,7 +35,7 @@ try {
35
35
  const result = await indexMessageInShortChunks(writer, input.sessionId, message, input, () => !cancellation || Atomics.load(cancellation, 0) === 0);
36
36
  reply = { kind: "indexed", inserted: result.inserted, measurements: result.measurements };
37
37
  } else if (input.tagRatio !== undefined) {
38
- const { scanTagOwnerSummary, scanTagOwnerDelta } = await import("./storage-tags-8vw924zn.js");
38
+ const { scanTagOwnerSummary, scanTagOwnerDelta } = await import("./storage-tags-5yxrvkaf.js");
39
39
  const delta = input.tagState ? scanTagOwnerDelta(db, input.sessionId, input.tagState) : null;
40
40
  if (delta)
41
41
  reply = { kind: "tag-delta", delta };
@@ -34,12 +34,12 @@ import {
34
34
  readSessionChunk2,
35
35
  getRawSessionMessageIdsThrough2,
36
36
  readRawSessionSeedTail2
37
- } from "./server-4ez8mntn.js";
38
- import"./server-c5rrgrcd.js";
39
- import"./server-pj4pjv02.js";
40
- import"./server-7h861yms.js";
37
+ } from "./server-c7n2ftng.js";
38
+ import"./server-4c7jt8gq.js";
41
39
  import"./server-1zx87sdm.js";
42
- import"./server-mfkzp7qj.js";
40
+ import"./server-czb2rkpk.js";
41
+ import"./server-7h861yms.js";
42
+ import"./server-cw6521wn.js";
43
43
  import"./server-7ekna9zs.js";
44
44
  import"./server-6byqfbqf.js";
45
45
  import"./server-2ra6pwf3.js";
@@ -47,6 +47,7 @@ import {
47
47
  hasMeaningfulUserText2,
48
48
  extractTexts2
49
49
  } from "./server-kzns2hbz.js";
50
+ import"./server-3t0q2cqx.js";
50
51
  import"./server-kb9nn0a0.js";
51
52
  import"./server-t4k4qexw.js";
52
53
  import"./server-pavzsdc6.js";
@@ -7,36 +7,36 @@ import {
7
7
  setRecompTerminal2,
8
8
  buildRecompDeps2,
9
9
  runManagedRecomp2
10
- } from "./server-x4hscabv.js";
11
- import"./server-zp53y8js.js";
10
+ } from "./server-7spkq1y6.js";
11
+ import"./server-zbxjj2mz.js";
12
+ import"./server-bgzy0phk.js";
12
13
  import"./server-7jzrrxap.js";
13
- import"./server-1tk82krw.js";
14
- import"./server-ycw9qqcy.js";
15
- import"./server-w32kmdez.js";
16
- import"./server-jvxzm1jy.js";
17
- import"./server-ss95ky04.js";
18
- import"./server-qt1qqasc.js";
14
+ import"./server-t528t8qm.js";
15
+ import"./server-4enr7s6x.js";
16
+ import"./server-kh958yj8.js";
17
+ import"./server-1fszbabv.js";
18
+ import"./server-s2st631p.js";
19
19
  import"./server-4dhv7mqz.js";
20
- import"./server-2s9qz6n7.js";
20
+ import"./server-qt1qqasc.js";
21
21
  import"./server-676xw7at.js";
22
- import"./server-19zjmn02.js";
23
- import"./server-8k2agx29.js";
22
+ import"./server-d6g4whc2.js";
23
+ import"./server-vb7pbd9p.js";
24
24
  import"./server-x8a7jmkh.js";
25
- import"./server-2s6ayq3t.js";
25
+ import"./server-ras2sxnc.js";
26
26
  import"./server-hb6xhh9q.js";
27
- import"./server-zm570tr2.js";
28
- import"./server-sa8jvrfc.js";
27
+ import"./server-7vkj6zhb.js";
29
28
  import"./server-fb3zxn06.js";
30
- import"./server-v4mewb78.js";
29
+ import"./server-6tcrjfw8.js";
30
+ import"./server-cvgn49tr.js";
31
31
  import"./server-fr0wbhdn.js";
32
- import"./server-xwz4dqh9.js";
33
- import"./server-3j4d00kf.js";
34
- import"./server-4ez8mntn.js";
35
- import"./server-c5rrgrcd.js";
36
- import"./server-pj4pjv02.js";
37
- import"./server-7h861yms.js";
32
+ import"./server-8xmq9h3f.js";
33
+ import"./server-2htmbqbv.js";
34
+ import"./server-c7n2ftng.js";
35
+ import"./server-4c7jt8gq.js";
38
36
  import"./server-1zx87sdm.js";
39
- import"./server-mfkzp7qj.js";
37
+ import"./server-czb2rkpk.js";
38
+ import"./server-7h861yms.js";
39
+ import"./server-cw6521wn.js";
40
40
  import"./server-7ekna9zs.js";
41
41
  import"./server-6byqfbqf.js";
42
42
  import"./server-2ra6pwf3.js";
@@ -5,28 +5,28 @@ import {
5
5
  resolveMemoriesByIdsForSearch2,
6
6
  unifiedSearch2,
7
7
  formatSearchResults2
8
- } from "./server-q4ph9bwn.js";
9
- import"./server-zp53y8js.js";
8
+ } from "./server-mqvtz7wz.js";
9
+ import"./server-zbxjj2mz.js";
10
+ import"./server-bgzy0phk.js";
10
11
  import"./server-7jzrrxap.js";
11
- import"./server-1tk82krw.js";
12
- import"./server-w32kmdez.js";
13
- import"./server-jvxzm1jy.js";
14
- import"./server-ss95ky04.js";
15
- import"./server-qt1qqasc.js";
12
+ import"./server-kh958yj8.js";
13
+ import"./server-1fszbabv.js";
14
+ import"./server-s2st631p.js";
16
15
  import"./server-4dhv7mqz.js";
17
- import"./server-2s6ayq3t.js";
16
+ import"./server-qt1qqasc.js";
17
+ import"./server-ras2sxnc.js";
18
18
  import"./server-hb6xhh9q.js";
19
- import"./server-zm570tr2.js";
20
- import"./server-v4mewb78.js";
19
+ import"./server-6tcrjfw8.js";
20
+ import"./server-cvgn49tr.js";
21
21
  import"./server-fr0wbhdn.js";
22
- import"./server-xwz4dqh9.js";
23
- import"./server-3j4d00kf.js";
24
- import"./server-4ez8mntn.js";
25
- import"./server-c5rrgrcd.js";
26
- import"./server-pj4pjv02.js";
27
- import"./server-7h861yms.js";
22
+ import"./server-8xmq9h3f.js";
23
+ import"./server-2htmbqbv.js";
24
+ import"./server-c7n2ftng.js";
25
+ import"./server-4c7jt8gq.js";
28
26
  import"./server-1zx87sdm.js";
29
- import"./server-mfkzp7qj.js";
27
+ import"./server-czb2rkpk.js";
28
+ import"./server-7h861yms.js";
29
+ import"./server-cw6521wn.js";
30
30
  import"./server-7ekna9zs.js";
31
31
  import"./server-6byqfbqf.js";
32
32
  import"./server-2ra6pwf3.js";
@@ -8,10 +8,10 @@ import {
8
8
  clearIgnoredMessages2,
9
9
  observeIgnoredNotificationEvent2,
10
10
  sendStatusNotification2
11
- } from "./server-ycw9qqcy.js";
11
+ } from "./server-4enr7s6x.js";
12
12
  import"./server-qt1qqasc.js";
13
13
  import"./server-676xw7at.js";
14
- import"./server-pj4pjv02.js";
14
+ import"./server-czb2rkpk.js";
15
15
  import"./server-7h861yms.js";
16
16
  import"./server-2ra6pwf3.js";
17
17
  import"./server-kb9nn0a0.js";
@@ -1,11 +1,11 @@
1
- import {
2
- DEFAULT_LOCAL_EMBEDDING_MODEL
3
- } from "./server-zm570tr2.js";
4
1
  import {
5
2
  withSqliteBackgroundWriter2,
6
3
  withoutSqliteTransformPass2,
7
4
  isTransientSqliteError2
8
5
  } from "./server-kb9nn0a0.js";
6
+ import {
7
+ DEFAULT_LOCAL_EMBEDDING_MODEL
8
+ } from "./server-cw6521wn.js";
9
9
  import {
10
10
  isEmbeddingHostBusy2
11
11
  } from "./server-qt1qqasc.js";
@@ -40,7 +40,7 @@ import {
40
40
  loadUnembeddedSessionChunkCandidatesPolite,
41
41
  countSessionCompartmentEmbedCoverage,
42
42
  countUnembeddedSessionCompartmentsPolite
43
- } from "./server-ss95ky04.js";
43
+ } from "./server-s2st631p.js";
44
44
  import {
45
45
  saveEmbeddingIfHashMatches,
46
46
  getMemoryEmbedCoverage,
@@ -52,15 +52,36 @@ import {
52
52
  resolveEmbeddingTextPrefixes,
53
53
  getEmbeddingProviderIdentity,
54
54
  LocalEmbeddingProvider
55
- } from "./server-2s6ayq3t.js";
55
+ } from "./server-ras2sxnc.js";
56
56
  import {
57
57
  isUserHomeDirectory,
58
58
  setBootQuietPeriodForTests
59
- } from "./server-xwz4dqh9.js";
59
+ } from "./server-8xmq9h3f.js";
60
60
  import {
61
61
  logSlowWriteTransaction
62
62
  } from "./server-3t0q2cqx.js";
63
63
 
64
+ // src/shared/background-batch-drain.ts
65
+ async function drainBackgroundBatches(step, options = {}) {
66
+ const now = options.now ?? (() => performance.now());
67
+ const deadline = now() + (options.budgetMs ?? 2000);
68
+ const yieldFn = options.yieldFn ?? (() => new Promise((resolve) => setTimeout(resolve, 0)));
69
+ let batches = 0;
70
+ while (now() < deadline) {
71
+ try {
72
+ if (!withoutSqliteTransformPass2(() => withSqliteBackgroundWriter2(step)))
73
+ break;
74
+ } catch (error) {
75
+ if (isTransientSqliteError2(error))
76
+ break;
77
+ throw error;
78
+ }
79
+ batches++;
80
+ await yieldFn();
81
+ }
82
+ return batches;
83
+ }
84
+
64
85
  // src/features/magic-context/storage-embedding-measurements.ts
65
86
  import { createHash } from "node:crypto";
66
87
  function normalizedQueryHash(query) {
@@ -121,27 +142,6 @@ function pruneSynapseBatchLedgerForProject(db, projectIdentity, ttlMs = SYNAPSE_
121
142
  // src/features/magic-context/project-embedding-registry.ts
122
143
  import { createHash as createHash2, randomUUID } from "node:crypto";
123
144
 
124
- // src/shared/background-batch-drain.ts
125
- async function drainBackgroundBatches(step, options = {}) {
126
- const now = options.now ?? (() => performance.now());
127
- const deadline = now() + (options.budgetMs ?? 2000);
128
- const yieldFn = options.yieldFn ?? (() => new Promise((resolve) => setTimeout(resolve, 0)));
129
- let batches = 0;
130
- while (now() < deadline) {
131
- try {
132
- if (!withoutSqliteTransformPass2(() => withSqliteBackgroundWriter2(step)))
133
- break;
134
- } catch (error) {
135
- if (isTransientSqliteError2(error))
136
- break;
137
- throw error;
138
- }
139
- batches++;
140
- await yieldFn();
141
- }
142
- return batches;
143
- }
144
-
145
145
  // src/features/magic-context/git-commits/storage-git-commit-embeddings.ts
146
146
  var saveStatements = new WeakMap;
147
147
  var loadProjectStatements = new WeakMap;
@@ -3020,4 +3020,4 @@ function _resetProjectEmbeddingRegistryForTests2() {
3020
3020
  setBootQuietPeriodForTests(null);
3021
3021
  }
3022
3022
 
3023
- export { recordEmbeddingMeasurement, drainBackgroundBatches, saveCommitEmbedding, loadProjectCommitEmbeddings, loadUnembeddedCommits, countEmbeddedCommits, upsertCommits, getLatestIndexedCommitSha, enforceProjectCap, GIT_SWEEP_LEASE_RENEWAL_MS, acquireGitSweepLease, renewGitSweepLease, markGitSweepSuccessAndRelease, parkGitSweepNonIndexable, releaseGitSweepLease, OpenAICompatibleEmbeddingProvider, recordSessionProjectIdentity, hasRecordedSessionProjectIdentity, describeShadowBackfillWriteRefusal2, listShadowBackfillStalls2, getShadowBackfillStopReason2, markProjectLoadUntrusted2, contentSha2562, drainProjectEmbeddingIdentityMaintenance2, drainStaleEmbeddingIdentitiesForProject2, registerProjectEmbedding2, registerProjectShadowEmbedding2, getShadowEmbeddingMeasurementCohort2, getPrimaryEmbeddingMeasurementCohort2, embedShadowTextForProject2, enqueueShadowEmbeddingItems2, getShadowBackfillRemaining2, flushShadowEmbeddingBacklog2, registerProjectInObservationMode2, unregisterProjectShadowEmbedding2, unregisterProjectEmbedding2, getProjectEmbeddingSnapshot2, installProjectEmbeddingSearchBridge2, getProjectChunkEmbeddingModelId2, getProjectEmbeddingMaxInputTokens2, embedTextForProject2, embedBatchForProject2, embedItemsForProject2, embedUnembeddedMemoriesForProject2, embedUnembeddedMemoriesForProjectOutcome2, drainCommitBacklogForProject2, embedUnembeddedCompartmentChunksForProject2, embedSessionCompartmentChunks2, getEmbeddingCoverageStatus2, sweepAllRegisteredProjects2, _setTestProviderFactoryForProject2, _resetProjectEmbeddingRegistryForTests2 };
3023
+ export { drainBackgroundBatches, recordEmbeddingMeasurement, saveCommitEmbedding, loadProjectCommitEmbeddings, loadUnembeddedCommits, countEmbeddedCommits, upsertCommits, getLatestIndexedCommitSha, enforceProjectCap, GIT_SWEEP_LEASE_RENEWAL_MS, acquireGitSweepLease, renewGitSweepLease, markGitSweepSuccessAndRelease, parkGitSweepNonIndexable, releaseGitSweepLease, OpenAICompatibleEmbeddingProvider, recordSessionProjectIdentity, hasRecordedSessionProjectIdentity, describeShadowBackfillWriteRefusal2, listShadowBackfillStalls2, getShadowBackfillStopReason2, markProjectLoadUntrusted2, contentSha2562, drainProjectEmbeddingIdentityMaintenance2, drainStaleEmbeddingIdentitiesForProject2, registerProjectEmbedding2, registerProjectShadowEmbedding2, getShadowEmbeddingMeasurementCohort2, getPrimaryEmbeddingMeasurementCohort2, embedShadowTextForProject2, enqueueShadowEmbeddingItems2, getShadowBackfillRemaining2, flushShadowEmbeddingBacklog2, registerProjectInObservationMode2, unregisterProjectShadowEmbedding2, unregisterProjectEmbedding2, getProjectEmbeddingSnapshot2, installProjectEmbeddingSearchBridge2, getProjectChunkEmbeddingModelId2, getProjectEmbeddingMaxInputTokens2, embedTextForProject2, embedBatchForProject2, embedItemsForProject2, embedUnembeddedMemoriesForProject2, embedUnembeddedMemoriesForProjectOutcome2, drainCommitBacklogForProject2, embedUnembeddedCompartmentChunksForProject2, embedSessionCompartmentChunks2, getEmbeddingCoverageStatus2, sweepAllRegisteredProjects2, _setTestProviderFactoryForProject2, _resetProjectEmbeddingRegistryForTests2 };
@@ -6,6 +6,30 @@ import {
6
6
  logSlowWriteTransaction
7
7
  } from "./server-3t0q2cqx.js";
8
8
 
9
+ // src/shared/project-directory-key.ts
10
+ import { realpathSync } from "node:fs";
11
+ import path from "node:path";
12
+ function projectDirectoryKey(directory) {
13
+ const slashed = directory.replaceAll("\\", "/").replace(/^\/\/\?\/UNC\//i, "//").replace(/^\/\/\?\//, "");
14
+ if (/^[a-z]:\//i.test(slashed) || slashed.startsWith("//")) {
15
+ return path.win32.normalize(slashed).replaceAll("\\", "/").replace(/\/$/, "").toLowerCase();
16
+ }
17
+ return path.resolve(directory);
18
+ }
19
+ function sameProjectDirectory(a, b) {
20
+ if (a.length === 0 || b.length === 0)
21
+ return false;
22
+ return projectDirectoryKey(a) === projectDirectoryKey(b);
23
+ }
24
+ var realpathForCanonicalDirectory = (directory) => realpathSync.native(directory);
25
+ function canonicalProjectDirectory(directory) {
26
+ let resolved = directory;
27
+ try {
28
+ resolved = realpathForCanonicalDirectory(directory);
29
+ } catch {}
30
+ return projectDirectoryKey(resolved);
31
+ }
32
+
9
33
  // src/features/magic-context/message-fts-rowid-map.ts
10
34
  import { createHash } from "node:crypto";
11
35
  var MESSAGE_FTS_ROWID_MAP_BACKFILL_BATCH_SIZE = 100;
@@ -168,4 +192,4 @@ function deleteUnmappedMessageFtsRows(db, sessionIds) {
168
192
  WHERE rowid > ? AND session_id IN (${placeholders})`).run(state.watermarkRowid, ...sessionIds);
169
193
  }
170
194
 
171
- export { recordMessageFtsRowid, recordIndexedMessageTime, startMessageFtsRowidMapBackfill, messageFtsOrdinalRangeIsMapped, deleteUnmappedMessageFtsRows };
195
+ export { projectDirectoryKey, sameProjectDirectory, canonicalProjectDirectory, recordMessageFtsRowid, recordIndexedMessageTime, startMessageFtsRowidMapBackfill, messageFtsOrdinalRangeIsMapped, deleteUnmappedMessageFtsRows };
@@ -62,10 +62,34 @@ function protectedToolTokenCount(tags, counts, calibration) {
62
62
  var encoder = new TextEncoder;
63
63
  var TAG_PREFIX_REGEX = /^(?:§\d+§\s*)+/;
64
64
  var MALFORMED_TAG_PREFIX_REGEX = /^(?:§\d+">§(?:\d+§)?\s*)+/;
65
+ var DANGLING_TAG_GLOBAL_REGEX = /\u00a7\d+(?!\.\d)[^\s\u00a7\w.]?/g;
65
66
  var DANGLING_TAG_PREFIX_REGEX = /^(?:\u00a7\d+(?!\.\d)[^\s\u00a7\w.]?\s*)+/;
67
+ var COMPLETE_TAG_PAIR_GLOBAL_REGEX = /\u00a7\d+\u00a7/g;
68
+ var MALFORMED_TAG_GLOBAL_REGEX = /\u00a7\d+">(?:\u00a7(?:\d+\u00a7)?)?/g;
69
+ var STRAY_SECTION_CHAR_REGEX = /\u00a7/g;
66
70
  function stripWellFormedLeadingTagPrefix(value) {
67
71
  return value.replace(/^(\u00a7\d+\u00a7\s*)+/, "");
68
72
  }
73
+ function stripCompleteTagPairsGlobally(value) {
74
+ return value.replace(COMPLETE_TAG_PAIR_GLOBAL_REGEX, "");
75
+ }
76
+ function stripMalformedTagNotationGlobally(value) {
77
+ return value.replace(MALFORMED_TAG_GLOBAL_REGEX, "");
78
+ }
79
+ function stripDanglingTagNotationGlobally(value) {
80
+ return value.replace(DANGLING_TAG_GLOBAL_REGEX, "");
81
+ }
82
+ function stripTagSectionCharacters(value) {
83
+ return value.replace(STRAY_SECTION_CHAR_REGEX, "");
84
+ }
85
+ function stripPersistedAssistantText(value) {
86
+ let text = stripWellFormedLeadingTagPrefix(value);
87
+ text = stripCompleteTagPairsGlobally(text);
88
+ text = stripMalformedTagNotationGlobally(text);
89
+ text = stripDanglingTagNotationGlobally(text);
90
+ text = stripTagSectionCharacters(text);
91
+ return text.trim();
92
+ }
69
93
  function byteSize(value) {
70
94
  return encoder.encode(value).length;
71
95
  }
@@ -3542,4 +3566,4 @@ function deleteToolTagsByOwner(db, sessionId, ownerMsgId) {
3542
3566
  return getDeleteToolTagsByOwnerStatement(db).all(sessionId, ownerMsgId).length;
3543
3567
  }
3544
3568
 
3545
- export { protectedToolTagNumbers, protectedToolTokenCount, stripWellFormedLeadingTagPrefix, byteSize, stripTagPrefix, peelLeadingMcTagNotation, prependTag, isThinkingPart, isRecord, contentTagOwnerMessageId, estimateImageTokensFromDataUrl, estimateToolAttachmentImageTokens, providerVisiblePart, providerVisibleMessage, normalizeTodoStateJson, buildSyntheticTodoPart, computeSyntheticCallId, isSyntheticTodoPart, countRealUserMessages, tailHygieneStructuralSignature, sameTailHygieneStructuralSignature, formatTailHygienePrefixMismatch, refreshTailHygieneBaseline, effectiveTailHygiene, assertTailHygieneContentUnchangedIfEnabled, CHANNEL1_SENTINEL, CHANNEL1_FLOOR_TOKENS, isDroppedToolOutput, toolOutputTokens, decideChannel1, evaluateChannel2, formatChannel1Evaluation, formatChannel2Evaluation, reclaimableToolOutputCount, buildChannel2Reminder, buildChannel1Reminder, estimateEmergencyDropReclaimTokens, planEmergencyDrop, measureEmergencyTag, queuePendingOp, queuePendingDropForUnchangedTag, getPendingOps, hasPendingDropOps, getPendingOpsCount, clearPendingOps, removePendingOp, getRecentTagOwnerMessageIds2, getActiveTagTokenAggregate2, AGE_RECLAIM_MIN_TOKENS2, getOldestActiveUnprotectedToolTags2, getActiveToolTagsForAgeReclaim2, getTriggerTagTokenUpperBound2, getActiveTagTokenTotalsByMessage2, getPersistedToolTagAccounting2, getAllStatusTagTokenTotalsFlat2, getReasoningTokenEstimatesByMessage2, tryGetReasoningTokenEstimatesByMessage2, getMaxTagNumberByOwnerMessage2, scanTagOwnerSummary2, cachedTagOwnerRatios2, tagOwnerWarmupState2, scanTagOwnerDelta2, installTagOwnerDelta2, installTagOwnerSummary2, isTagOwnerSummaryReady2, tagTokenCountIsNull2, backfillTagTokenCounts2, insertTag2, updateTagStatus2, markWhitespaceAssistantTagInert2, getInertWhitespaceAssistantTags2, getInertWhitespaceAssistantTagsByNumbers2, updateTagDropMode2, updateCavemanDepth2, updateTagMessageId2, hasPiFallbackMessageTags2, findAdoptableFallbackTags2, adoptFallbackTagMessageId2, foldShrunkPartTags2, hasPiFallbackToolOwnerTags2, findPiFallbackToolOwnerTags2, adoptPiFallbackToolOwnerTag2, adoptPiFallbackMessageTag2, markTagsCompactedByMessageIds2, deleteTagsByMessageId2, getMaxTagNumberBySession2, getTagNumberByMessageId2, getAssignableTagNumberByMessageId2, getMinMessageTagNumberForRawId2, deriveTagLoadFloor2, TAG_SELECT_COLUMNS2, getTagsBySession2, getActiveTagsBySession2, getTailHygieneTags2, getDroppedTagsBySession2, getTagsForPendingOperations2, getTagsByNumbers2, getNewestToolTagNumbers2, getDroppedTagsByNumbers2, getMaxDroppedTagNumber2, getTagById2, getTopNBySize2, getToolTagNumberByOwner2, getNullOwnerToolTag2, adoptNullOwnerToolTag2, getCandidateToolOwners2, pickNearestPriorOwner2 };
3569
+ export { protectedToolTagNumbers, protectedToolTokenCount, stripWellFormedLeadingTagPrefix, stripPersistedAssistantText, byteSize, stripTagPrefix, peelLeadingMcTagNotation, prependTag, isThinkingPart, isRecord, contentTagOwnerMessageId, estimateImageTokensFromDataUrl, estimateToolAttachmentImageTokens, providerVisiblePart, providerVisibleMessage, normalizeTodoStateJson, buildSyntheticTodoPart, computeSyntheticCallId, isSyntheticTodoPart, countRealUserMessages, tailHygieneStructuralSignature, sameTailHygieneStructuralSignature, formatTailHygienePrefixMismatch, refreshTailHygieneBaseline, effectiveTailHygiene, assertTailHygieneContentUnchangedIfEnabled, CHANNEL1_SENTINEL, CHANNEL1_FLOOR_TOKENS, isDroppedToolOutput, toolOutputTokens, decideChannel1, evaluateChannel2, formatChannel1Evaluation, formatChannel2Evaluation, reclaimableToolOutputCount, buildChannel2Reminder, buildChannel1Reminder, estimateEmergencyDropReclaimTokens, planEmergencyDrop, measureEmergencyTag, queuePendingOp, queuePendingDropForUnchangedTag, getPendingOps, hasPendingDropOps, getPendingOpsCount, clearPendingOps, removePendingOp, getRecentTagOwnerMessageIds2, getActiveTagTokenAggregate2, AGE_RECLAIM_MIN_TOKENS2, getOldestActiveUnprotectedToolTags2, getActiveToolTagsForAgeReclaim2, getTriggerTagTokenUpperBound2, getActiveTagTokenTotalsByMessage2, getPersistedToolTagAccounting2, getAllStatusTagTokenTotalsFlat2, getReasoningTokenEstimatesByMessage2, tryGetReasoningTokenEstimatesByMessage2, getMaxTagNumberByOwnerMessage2, scanTagOwnerSummary2, cachedTagOwnerRatios2, tagOwnerWarmupState2, scanTagOwnerDelta2, installTagOwnerDelta2, installTagOwnerSummary2, isTagOwnerSummaryReady2, tagTokenCountIsNull2, backfillTagTokenCounts2, insertTag2, updateTagStatus2, markWhitespaceAssistantTagInert2, getInertWhitespaceAssistantTags2, getInertWhitespaceAssistantTagsByNumbers2, updateTagDropMode2, updateCavemanDepth2, updateTagMessageId2, hasPiFallbackMessageTags2, findAdoptableFallbackTags2, adoptFallbackTagMessageId2, foldShrunkPartTags2, hasPiFallbackToolOwnerTags2, findPiFallbackToolOwnerTags2, adoptPiFallbackToolOwnerTag2, adoptPiFallbackMessageTag2, markTagsCompactedByMessageIds2, deleteTagsByMessageId2, getMaxTagNumberBySession2, getTagNumberByMessageId2, getAssignableTagNumberByMessageId2, getMinMessageTagNumberForRawId2, deriveTagLoadFloor2, TAG_SELECT_COLUMNS2, getTagsBySession2, getActiveTagsBySession2, getTailHygieneTags2, getDroppedTagsBySession2, getTagsForPendingOperations2, getTagsByNumbers2, getNewestToolTagNumbers2, getDroppedTagsByNumbers2, getMaxDroppedTagNumber2, getTagById2, getTopNBySize2, getToolTagNumberByOwner2, getNullOwnerToolTag2, adoptNullOwnerToolTag2, getCandidateToolOwners2, pickNearestPriorOwner2 };
@@ -10,7 +10,7 @@ import {
10
10
  } from "./server-676xw7at.js";
11
11
  import {
12
12
  shouldHoldIgnoredNotification
13
- } from "./server-pj4pjv02.js";
13
+ } from "./server-czb2rkpk.js";
14
14
  import {
15
15
  getErrorMessage
16
16
  } from "./server-y8v6yerm.js";
@@ -20,7 +20,7 @@ import {
20
20
  import {
21
21
  normalizeStoredProjectPath,
22
22
  storedPathBelongsToIdentity
23
- } from "./server-xwz4dqh9.js";
23
+ } from "./server-8xmq9h3f.js";
24
24
  import {
25
25
  logSlowWriteTransaction
26
26
  } from "./server-3t0q2cqx.js";