@cortexkit/opencode-magic-context 0.49.2 → 0.49.4

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 (120) hide show
  1. package/README.md +2 -38
  2. package/dist/auto-search-worker.js +3 -3
  3. package/dist/compaction-marker-candidates-dd638ypn.js +19 -0
  4. package/dist/compaction-marker-candidates-worker.js +24 -0
  5. package/dist/{conflict-warning-hook-asnt6hfc.js → conflict-warning-hook-ae8nmv7c.js} +5 -4
  6. package/dist/{context-tfyhtdcs.js → context-yg023c5r.js} +64 -30
  7. package/dist/{embedding-backfill-wyc3ykyf.js → embedding-backfill-aj488s8x.js} +5 -5
  8. package/dist/features/magic-context/compaction-marker-candidates-worker.d.ts +2 -0
  9. package/dist/features/magic-context/compaction-marker-candidates-worker.d.ts.map +1 -0
  10. package/dist/features/magic-context/compaction-marker-candidates.d.ts +47 -0
  11. package/dist/features/magic-context/compaction-marker-candidates.d.ts.map +1 -0
  12. package/dist/features/magic-context/compaction-marker.d.ts +12 -0
  13. package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
  14. package/dist/features/magic-context/historian-failure-reason.d.ts +7 -0
  15. package/dist/features/magic-context/historian-failure-reason.d.ts.map +1 -0
  16. package/dist/features/magic-context/memory/project-identity.d.ts +5 -1
  17. package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
  18. package/dist/features/magic-context/message-index-async.d.ts +3 -0
  19. package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
  20. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  21. package/dist/features/magic-context/storage-clone.d.ts +2 -0
  22. package/dist/features/magic-context/storage-clone.d.ts.map +1 -1
  23. package/dist/features/magic-context/storage-historian-runs.d.ts.map +1 -1
  24. package/dist/features/magic-context/storage-tags.d.ts +1 -1
  25. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  26. package/dist/hooks/magic-context/compaction-marker-manager.d.ts +3 -0
  27. package/dist/hooks/magic-context/compaction-marker-manager.d.ts.map +1 -1
  28. package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
  29. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  30. package/dist/hooks/magic-context/compartment-runner-types.d.ts +3 -0
  31. package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
  32. package/dist/hooks/magic-context/history-boundary-repair.d.ts +11 -2
  33. package/dist/hooks/magic-context/history-boundary-repair.d.ts.map +1 -1
  34. package/dist/hooks/magic-context/protected-tail-boundary.d.ts +4 -3
  35. package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -1
  36. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts +10 -0
  37. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts.map +1 -1
  38. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  39. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  40. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  41. package/dist/{index-p0n5ryq8.js → index-2mqps3c1.js} +19 -9
  42. package/dist/{index-sfhndpcb.js → index-3wckxwfp.js} +39 -39
  43. package/dist/{index-gzky5rva.js → index-41gqa557.js} +4 -2
  44. package/dist/{index-r2zcs71c.js → index-7ndnvw7a.js} +1 -1
  45. package/dist/{index-sv0bb7vg.js → index-7zg9dvx0.js} +35 -4
  46. package/dist/{index-xgrwmj82.js → index-bhk710rw.js} +1 -1
  47. package/dist/{index-fg00p1cg.js → index-c0b01zrc.js} +2 -2
  48. package/dist/{index-eypn4ba6.js → index-dd18gej8.js} +3 -3
  49. package/dist/{index-rafsaxac.js → index-fjtgekd4.js} +2 -2
  50. package/dist/{index-fdtkt5r1.js → index-fst3t0d9.js} +9 -9
  51. package/dist/{index-h5zfkjyk.js → index-jpm52v9x.js} +6 -24
  52. package/dist/{index-s7fc0fkn.js → index-m4p77myp.js} +1 -1
  53. package/dist/{index-6tfxmc4n.js → index-p2hs3rps.js} +4 -4
  54. package/dist/{index-0pjvpfkf.js → index-qvr78ej6.js} +1 -1
  55. package/dist/index-v0p37hm2.js +22 -0
  56. package/dist/{index-zfzdpeq2.js → index-v4bqjy56.js} +4662 -4545
  57. package/dist/{index-xnanvj3w.js → index-x3y1np1h.js} +604 -576
  58. package/dist/{index-att4bfan.js → index-xfbfrngb.js} +1 -1
  59. package/dist/{index-nydv6g8r.js → index-yqps2zsv.js} +44 -6
  60. package/dist/index-yxawqmdd.js +212 -0
  61. package/dist/{index-zg8yq4ya.js → index-znzgze2v.js} +3 -3
  62. package/dist/index.js +38 -35
  63. package/dist/{message-index-bounded-hqktkhdy.js → message-index-bounded-pv6ct15d.js} +18 -17
  64. package/dist/message-index-jqa7qd0s.js +60 -0
  65. package/dist/migration-worker.js +3 -3
  66. package/dist/{project-embedding-registry-0gv3h6y8.js → project-embedding-registry-fcmszatg.js} +4 -4
  67. package/dist/raw-ordinal-warmup-worker.js +22 -5
  68. package/dist/{read-session-chunk-5mh0bh8y.js → read-session-chunk-cwgjwjd0.js} +7 -6
  69. package/dist/{read-session-raw-8sjbc9h0.js → read-session-raw-z38cn0as.js} +2 -1
  70. package/dist/{recomp-orchestrator-kpkhkjhq.js → recomp-orchestrator-xw9wt5bm.js} +19 -17
  71. package/dist/{search-p9w39qv4.js → search-v1t47s2q.js} +14 -13
  72. package/dist/{send-session-notification-xffh3bbe.js → send-session-notification-yp9m5g4p.js} +4 -3
  73. package/dist/shared/tag-owner-id.d.ts +1 -0
  74. package/dist/shared/tag-owner-id.d.ts.map +1 -1
  75. package/dist/{storage-tags-k0pda32s.js → storage-tags-0ssbmzg9.js} +2 -2
  76. package/dist/{transform-postprocess-phase-481j5a7z.js → transform-postprocess-phase-ttra554y.js} +19 -17
  77. package/dist/v2/auto-search-worker.js +3 -3
  78. package/dist/v2/compaction-marker-candidates-1s21e2fz.js +18 -0
  79. package/dist/v2/compaction-marker-candidates-worker.js +24 -0
  80. package/dist/v2/{context-gsdtha5v.js → context-6en6a8ar.js} +121 -50
  81. package/dist/v2/{embedding-backfill-dbvjbcmm.js → embedding-backfill-9hbkfvnz.js} +5 -5
  82. package/dist/v2/{message-index-bounded-p6v0n8qh.js → message-index-bounded-c0810p5w.js} +17 -16
  83. package/dist/v2/message-index-h8ssgq3q.js +59 -0
  84. package/dist/v2/migration-worker.js +3 -3
  85. package/dist/v2/{project-embedding-registry-nyq7z8y6.js → project-embedding-registry-42th7k1z.js} +4 -4
  86. package/dist/v2/raw-ordinal-warmup-worker.js +22 -5
  87. package/dist/v2/{read-session-chunk-fhyfe4qa.js → read-session-chunk-n86v9xfg.js} +6 -5
  88. package/dist/v2/{read-session-raw-j8dvp7f4.js → read-session-raw-3b3ehga4.js} +2 -1
  89. package/dist/v2/{recomp-orchestrator-5xy7w136.js → recomp-orchestrator-krvsbnds.js} +16 -14
  90. package/dist/v2/{search-j7bakcwa.js → search-048v8y02.js} +13 -12
  91. package/dist/v2/{send-session-notification-f6v698r5.js → send-session-notification-a4h2azxa.js} +2 -1
  92. package/dist/v2/{server-bgzy0phk.js → server-3bc6k4k4.js} +62 -33
  93. package/dist/v2/{server-7h861yms.js → server-3dqjhchy.js} +5 -18
  94. package/dist/v2/{server-c7n2ftng.js → server-4n2tknpc.js} +34 -3
  95. package/dist/v2/server-51779zs2.js +19 -0
  96. package/dist/v2/{server-kh958yj8.js → server-5zrpr764.js} +1 -1
  97. package/dist/v2/{server-6tcrjfw8.js → server-8pqnnmf9.js} +1 -1
  98. package/dist/v2/server-9290a1mb.js +212 -0
  99. package/dist/v2/{server-7vkj6zhb.js → server-9a6v0wth.js} +3 -3
  100. package/dist/v2/{server-1fszbabv.js → server-cjz51jm2.js} +2 -2
  101. package/dist/v2/{server-7spkq1y6.js → server-e2v4m8xe.js} +4084 -3967
  102. package/dist/v2/{server-mqvtz7wz.js → server-hetyb88z.js} +9 -9
  103. package/dist/v2/{server-4c7jt8gq.js → server-pcygfdbs.js} +44 -6
  104. package/dist/v2/{server-8xmq9h3f.js → server-q6j5dasr.js} +4 -2
  105. package/dist/v2/{server-zbxjj2mz.js → server-rygvffsf.js} +2 -2
  106. package/dist/v2/server.js +4 -4
  107. package/dist/v2/{storage-tags-5yxrvkaf.js → storage-tags-3a4cavqb.js} +2 -2
  108. package/dist/v2/{wrapup-orchestrator-yem5422s.js → wrapup-orchestrator-r2v7kgy3.js} +14 -12
  109. package/dist/{wrapup-orchestrator-xvrr27ws.js → wrapup-orchestrator-z7agncp8.js} +20 -18
  110. package/package.json +3 -3
  111. package/src/config/latch-permanence-guard.test.ts +6 -1
  112. package/src/shared/sqlite-writer-diagnostics.test.ts +21 -10
  113. package/src/shared/tag-owner-id.ts +13 -0
  114. package/src/shared/tag-transcript.test.ts +6 -1
  115. package/src/shared/tag-transcript.ts +2 -1
  116. package/src/shared/windows-hidden-spawns.test.ts +60 -4
  117. /package/dist/{index-69vas84q.js → index-e6xnpach.js} +0 -0
  118. /package/dist/{index-p1hnwfd8.js → index-gcdb3rqw.js} +0 -0
  119. /package/dist/v2/{index-69vas84q.js → index-e6xnpach.js} +0 -0
  120. /package/dist/v2/{server-s2st631p.js → server-8wcf79fe.js} +0 -0
@@ -7,14 +7,31 @@ var input = workerData;
7
7
  port.postMessage({ kind: "accepted" });
8
8
  var [{ Database }, { scanRawSessionSummaryRows }] = await Promise.all([
9
9
  import("./sqlite-mhjkerzq.js"),
10
- import("./read-session-raw-j8dvp7f4.js")
10
+ import("./read-session-raw-3b3ehga4.js")
11
11
  ]);
12
12
  var db;
13
13
  var reply;
14
14
  try {
15
- db = input.indexMessage ? new Database(input.path) : new Database(input.path, { readonly: true });
15
+ db = input.indexMessage || input.orphanSweep ? new Database(input.path) : new Database(input.path, { readonly: true });
16
16
  db.exec("PRAGMA busy_timeout = 250");
17
- if (input.indexMessage) {
17
+ if (input.orphanSweep) {
18
+ const [
19
+ { setHarness },
20
+ { sweepOrphanedOpenCodeMessageIndexes },
21
+ { configureContextDatabasePragmas }
22
+ ] = await Promise.all([
23
+ import("./harness-e4avh192.js"),
24
+ import("./message-index-h8ssgq3q.js"),
25
+ import("./sqlite-context-pragmas-mv9jqwjh.js")
26
+ ]);
27
+ setHarness(input.harness ?? "opencode");
28
+ configureContextDatabasePragmas(db);
29
+ const sourcePath = input.orphanSweep.sourcePath;
30
+ reply = {
31
+ kind: "orphan-sweep",
32
+ result: sweepOrphanedOpenCodeMessageIndexes(db, () => sourcePath ? new Database(sourcePath, { readonly: true }) : null, input.orphanSweep.options)
33
+ };
34
+ } else if (input.indexMessage) {
18
35
  const { setHarness } = await import("./harness-e4avh192.js");
19
36
  setHarness(input.harness ?? "opencode");
20
37
  const [
@@ -22,7 +39,7 @@ try {
22
39
  { configureContextDatabasePragmas },
23
40
  { registerSqliteDiagnosticSink }
24
41
  ] = await Promise.all([
25
- import("./message-index-bounded-p6v0n8qh.js"),
42
+ import("./message-index-bounded-c0810p5w.js"),
26
43
  import("./sqlite-context-pragmas-mv9jqwjh.js"),
27
44
  import("./sqlite-mhjkerzq.js")
28
45
  ]);
@@ -35,7 +52,7 @@ try {
35
52
  const result = await indexMessageInShortChunks(writer, input.sessionId, message, input, () => !cancellation || Atomics.load(cancellation, 0) === 0);
36
53
  reply = { kind: "indexed", inserted: result.inserted, measurements: result.measurements };
37
54
  } else if (input.tagRatio !== undefined) {
38
- const { scanTagOwnerSummary, scanTagOwnerDelta } = await import("./storage-tags-5yxrvkaf.js");
55
+ const { scanTagOwnerSummary, scanTagOwnerDelta } = await import("./storage-tags-3a4cavqb.js");
39
56
  const delta = input.tagState ? scanTagOwnerDelta(db, input.sessionId, input.tagState) : null;
40
57
  if (delta)
41
58
  reply = { kind: "tag-delta", delta };
@@ -34,21 +34,22 @@ import {
34
34
  readSessionChunk2,
35
35
  getRawSessionMessageIdsThrough2,
36
36
  readRawSessionSeedTail2
37
- } from "./server-c7n2ftng.js";
38
- import"./server-4c7jt8gq.js";
37
+ } from "./server-4n2tknpc.js";
38
+ import"./server-pcygfdbs.js";
39
39
  import"./server-1zx87sdm.js";
40
40
  import"./server-czb2rkpk.js";
41
- import"./server-7h861yms.js";
41
+ import"./server-3dqjhchy.js";
42
+ import"./server-51779zs2.js";
42
43
  import"./server-cw6521wn.js";
43
44
  import"./server-7ekna9zs.js";
44
45
  import"./server-6byqfbqf.js";
45
46
  import"./server-2ra6pwf3.js";
47
+ import"./server-3t0q2cqx.js";
48
+ import"./server-kb9nn0a0.js";
46
49
  import {
47
50
  hasMeaningfulUserText2,
48
51
  extractTexts2
49
52
  } from "./server-kzns2hbz.js";
50
- import"./server-3t0q2cqx.js";
51
- import"./server-kb9nn0a0.js";
52
53
  import"./server-t4k4qexw.js";
53
54
  import"./server-pavzsdc6.js";
54
55
  export {
@@ -25,7 +25,8 @@ import {
25
25
  hasRawSessionMessageByIdFromDb2,
26
26
  readRawSeedTailFromDb2,
27
27
  readRawSessionBoundaryEndpointsFromDb2
28
- } from "./server-7h861yms.js";
28
+ } from "./server-3dqjhchy.js";
29
+ import"./server-51779zs2.js";
29
30
  import"./server-kb9nn0a0.js";
30
31
  import"./server-t4k4qexw.js";
31
32
  import"./server-pavzsdc6.js";
@@ -7,16 +7,17 @@ import {
7
7
  setRecompTerminal2,
8
8
  buildRecompDeps2,
9
9
  runManagedRecomp2
10
- } from "./server-7spkq1y6.js";
11
- import"./server-zbxjj2mz.js";
12
- import"./server-bgzy0phk.js";
10
+ } from "./server-e2v4m8xe.js";
11
+ import"./server-9290a1mb.js";
12
+ import"./server-rygvffsf.js";
13
+ import"./server-3bc6k4k4.js";
14
+ import"./server-5zrpr764.js";
13
15
  import"./server-7jzrrxap.js";
16
+ import"./server-cjz51jm2.js";
17
+ import"./server-8wcf79fe.js";
18
+ import"./server-4dhv7mqz.js";
14
19
  import"./server-t528t8qm.js";
15
20
  import"./server-4enr7s6x.js";
16
- import"./server-kh958yj8.js";
17
- import"./server-1fszbabv.js";
18
- import"./server-s2st631p.js";
19
- import"./server-4dhv7mqz.js";
20
21
  import"./server-qt1qqasc.js";
21
22
  import"./server-676xw7at.js";
22
23
  import"./server-d6g4whc2.js";
@@ -24,25 +25,26 @@ import"./server-vb7pbd9p.js";
24
25
  import"./server-x8a7jmkh.js";
25
26
  import"./server-ras2sxnc.js";
26
27
  import"./server-hb6xhh9q.js";
27
- import"./server-7vkj6zhb.js";
28
+ import"./server-9a6v0wth.js";
28
29
  import"./server-fb3zxn06.js";
29
- import"./server-6tcrjfw8.js";
30
+ import"./server-8pqnnmf9.js";
30
31
  import"./server-cvgn49tr.js";
31
32
  import"./server-fr0wbhdn.js";
32
- import"./server-8xmq9h3f.js";
33
+ import"./server-q6j5dasr.js";
33
34
  import"./server-2htmbqbv.js";
34
- import"./server-c7n2ftng.js";
35
- import"./server-4c7jt8gq.js";
35
+ import"./server-4n2tknpc.js";
36
+ import"./server-pcygfdbs.js";
36
37
  import"./server-1zx87sdm.js";
37
38
  import"./server-czb2rkpk.js";
38
- import"./server-7h861yms.js";
39
+ import"./server-3dqjhchy.js";
40
+ import"./server-51779zs2.js";
39
41
  import"./server-cw6521wn.js";
40
42
  import"./server-7ekna9zs.js";
41
43
  import"./server-6byqfbqf.js";
42
44
  import"./server-2ra6pwf3.js";
43
- import"./server-kzns2hbz.js";
44
45
  import"./server-3t0q2cqx.js";
45
46
  import"./server-kb9nn0a0.js";
47
+ import"./server-kzns2hbz.js";
46
48
  import"./server-t4k4qexw.js";
47
49
  import"./server-pavzsdc6.js";
48
50
  export {
@@ -5,34 +5,35 @@ import {
5
5
  resolveMemoriesByIdsForSearch2,
6
6
  unifiedSearch2,
7
7
  formatSearchResults2
8
- } from "./server-mqvtz7wz.js";
9
- import"./server-zbxjj2mz.js";
10
- import"./server-bgzy0phk.js";
8
+ } from "./server-hetyb88z.js";
9
+ import"./server-rygvffsf.js";
10
+ import"./server-3bc6k4k4.js";
11
+ import"./server-5zrpr764.js";
11
12
  import"./server-7jzrrxap.js";
12
- import"./server-kh958yj8.js";
13
- import"./server-1fszbabv.js";
14
- import"./server-s2st631p.js";
13
+ import"./server-cjz51jm2.js";
14
+ import"./server-8wcf79fe.js";
15
15
  import"./server-4dhv7mqz.js";
16
16
  import"./server-qt1qqasc.js";
17
17
  import"./server-ras2sxnc.js";
18
18
  import"./server-hb6xhh9q.js";
19
- import"./server-6tcrjfw8.js";
19
+ import"./server-8pqnnmf9.js";
20
20
  import"./server-cvgn49tr.js";
21
21
  import"./server-fr0wbhdn.js";
22
- import"./server-8xmq9h3f.js";
22
+ import"./server-q6j5dasr.js";
23
23
  import"./server-2htmbqbv.js";
24
- import"./server-c7n2ftng.js";
25
- import"./server-4c7jt8gq.js";
24
+ import"./server-4n2tknpc.js";
25
+ import"./server-pcygfdbs.js";
26
26
  import"./server-1zx87sdm.js";
27
27
  import"./server-czb2rkpk.js";
28
- import"./server-7h861yms.js";
28
+ import"./server-3dqjhchy.js";
29
+ import"./server-51779zs2.js";
29
30
  import"./server-cw6521wn.js";
30
31
  import"./server-7ekna9zs.js";
31
32
  import"./server-6byqfbqf.js";
32
33
  import"./server-2ra6pwf3.js";
33
- import"./server-kzns2hbz.js";
34
34
  import"./server-3t0q2cqx.js";
35
35
  import"./server-kb9nn0a0.js";
36
+ import"./server-kzns2hbz.js";
36
37
  import"./server-t4k4qexw.js";
37
38
  import"./server-pavzsdc6.js";
38
39
  export {
@@ -12,7 +12,8 @@ import {
12
12
  import"./server-qt1qqasc.js";
13
13
  import"./server-676xw7at.js";
14
14
  import"./server-czb2rkpk.js";
15
- import"./server-7h861yms.js";
15
+ import"./server-3dqjhchy.js";
16
+ import"./server-51779zs2.js";
16
17
  import"./server-2ra6pwf3.js";
17
18
  import"./server-kb9nn0a0.js";
18
19
  import"./server-t4k4qexw.js";
@@ -23,7 +23,7 @@ import {
23
23
  } from "./server-6byqfbqf.js";
24
24
  import {
25
25
  cleanUserText2
26
- } from "./server-c7n2ftng.js";
26
+ } from "./server-4n2tknpc.js";
27
27
  import {
28
28
  recordMessageFtsRowid,
29
29
  recordIndexedMessageTime,
@@ -36,7 +36,7 @@ import {
36
36
  } from "./server-cvgn49tr.js";
37
37
  import {
38
38
  deleteChunkEmbedBackoffForSession
39
- } from "./server-s2st631p.js";
39
+ } from "./server-8wcf79fe.js";
40
40
  import {
41
41
  ensurePrivateStorageDirectorySync,
42
42
  writeStorageFileSync,
@@ -705,7 +705,7 @@ var deleteMessageFtsStatements = new WeakMap;
705
705
  var deleteFtsMapStatements = new WeakMap;
706
706
  var deleteFtsMapRangeStatements = new WeakMap;
707
707
  var deleteMessageFtsMapStatements = new WeakMap;
708
- var MESSAGE_INDEX_MAX_FTS_BYTES = 64 * 1024;
708
+ var MESSAGE_INDEX_MAX_FTS_BYTES2 = 64 * 1024;
709
709
  var skipStatements = new WeakMap;
710
710
  function skipStatement(db, sql) {
711
711
  const statements = skipStatements.get(db) ?? new Map;
@@ -717,10 +717,10 @@ function skipStatement(db, sql) {
717
717
  }
718
718
  return statement;
719
719
  }
720
- var messageIndexSkipKey = (sessionId, messageId) => `message_index_skip:${JSON.stringify([sessionId, messageId])}`;
720
+ var messageIndexSkipKey2 = (sessionId, messageId) => `message_index_skip:${JSON.stringify([sessionId, messageId])}`;
721
721
  function deleteMessageIndexSkips(db, sessionId, messageId) {
722
722
  if (messageId !== undefined) {
723
- skipStatement(db, "DELETE FROM schema_migrations_meta WHERE key=?").run(messageIndexSkipKey(sessionId, messageId));
723
+ skipStatement(db, "DELETE FROM schema_migrations_meta WHERE key=?").run(messageIndexSkipKey2(sessionId, messageId));
724
724
  } else {
725
725
  const prefix = `message_index_skip:${JSON.stringify([sessionId]).slice(0, -1)},`;
726
726
  skipStatement(db, "DELETE FROM schema_migrations_meta WHERE substr(key,1,length(?))=?").run(prefix, prefix);
@@ -905,8 +905,8 @@ function normalizeSourceVersion(version) {
905
905
  return `string:${version}`;
906
906
  return "null";
907
907
  }
908
- function toMessageIndexSource(message) {
909
- const content = getIndexableContent(message.role, message.parts);
908
+ function toMessageIndexSource2(message) {
909
+ const content = getIndexableContent2(message.role, message.parts);
910
910
  return {
911
911
  id: message.id,
912
912
  ordinal: message.ordinal,
@@ -918,7 +918,21 @@ function toMessageIndexSource(message) {
918
918
  };
919
919
  }
920
920
  function getMessageSourceSnapshot(message) {
921
- return toMessageIndexSource(message);
921
+ return toMessageIndexSource2(message);
922
+ }
923
+ function getMessageIndexSourceIdentity2(message) {
924
+ const source = getMessageSourceSnapshot(message);
925
+ return JSON.stringify([
926
+ source.ordinal,
927
+ source.sourceVersion,
928
+ source.contentHash,
929
+ source.role,
930
+ message.createdAt ?? null
931
+ ]);
932
+ }
933
+ function isMessageIndexSourceCurrent2(db, sessionId, message) {
934
+ const source = getMessageSourceSnapshot(message);
935
+ return isIndexSourceCurrent(db, sessionId, source);
922
936
  }
923
937
  function isIndexSourceCurrent(db, sessionId, source) {
924
938
  const row = getMessageSourceStatement(db).get(sessionId, source.id);
@@ -927,8 +941,8 @@ function isIndexSourceCurrent(db, sessionId, source) {
927
941
  function writeMessageSource(db, sessionId, source, now) {
928
942
  getUpsertMessageSourceStatement(db).run(sessionId, source.id, source.ordinal, source.sourceVersion, source.contentHash, source.role, getHarness2(), now);
929
943
  const bytes = Buffer.byteLength(source.content);
930
- if (source.ftsSkippedBytes !== undefined || bytes > MESSAGE_INDEX_MAX_FTS_BYTES) {
931
- skipStatement(db, "INSERT INTO schema_migrations_meta(key,value) VALUES (?,?) ON CONFLICT(key) DO UPDATE SET value=excluded.value").run(messageIndexSkipKey(sessionId, source.id), JSON.stringify({
944
+ if (source.ftsSkippedBytes !== undefined || bytes > MESSAGE_INDEX_MAX_FTS_BYTES2) {
945
+ skipStatement(db, "INSERT INTO schema_migrations_meta(key,value) VALUES (?,?) ON CONFLICT(key) DO UPDATE SET value=excluded.value").run(messageIndexSkipKey2(sessionId, source.id), JSON.stringify({
932
946
  reason: "oversized",
933
947
  bytes: source.ftsSkippedBytes ?? bytes,
934
948
  contentHash: source.contentHash,
@@ -937,24 +951,24 @@ function writeMessageSource(db, sessionId, source, now) {
937
951
  }));
938
952
  return "";
939
953
  }
940
- skipStatement(db, "DELETE FROM schema_migrations_meta WHERE key=?").run(messageIndexSkipKey(sessionId, source.id));
954
+ skipStatement(db, "DELETE FROM schema_migrations_meta WHERE key=?").run(messageIndexSkipKey2(sessionId, source.id));
941
955
  return source.content;
942
956
  }
943
- function getLastIndexedOrdinal(db, sessionId) {
957
+ function getLastIndexedOrdinal2(db, sessionId) {
944
958
  const row = getLastIndexedStatement(db).get(sessionId);
945
959
  return typeof row?.last_indexed_ordinal === "number" ? row.last_indexed_ordinal : 0;
946
960
  }
947
- function getIndexedMessageCorpusSize(db, sessionId, maxOrdinal) {
948
- const watermark = getLastIndexedOrdinal(db, sessionId);
961
+ function getIndexedMessageCorpusSize2(db, sessionId, maxOrdinal) {
962
+ const watermark = getLastIndexedOrdinal2(db, sessionId);
949
963
  return maxOrdinal === null ? watermark : Math.min(watermark, Math.max(0, maxOrdinal));
950
964
  }
951
965
  function getDirtyIndexFloor(db, sessionId) {
952
966
  const row = getLastIndexedStatement(db).get(sessionId);
953
967
  return typeof row?.dirty_floor_ordinal === "number" && row.dirty_floor_ordinal > 0 ? row.dirty_floor_ordinal : null;
954
968
  }
955
- function markMessageIndexDirty(db, sessionId, floorOrdinal) {
969
+ function markMessageIndexDirty2(db, sessionId, floorOrdinal) {
956
970
  const dirtyFloor = Math.max(1, Math.floor(floorOrdinal));
957
- getUpsertDirtyFloorStatement(db).run(sessionId, getLastIndexedOrdinal(db, sessionId), dirtyFloor, Date.now(), getHarness2());
971
+ getUpsertDirtyFloorStatement(db).run(sessionId, getLastIndexedOrdinal2(db, sessionId), dirtyFloor, Date.now(), getHarness2());
958
972
  }
959
973
  function isMessageAlreadyIndexed(db, sessionId, messageId) {
960
974
  const row = getCountIndexedMessageStatement(db).get(sessionId, messageId);
@@ -963,16 +977,23 @@ function isMessageAlreadyIndexed(db, sessionId, messageId) {
963
977
  function setIndexProgress(db, sessionId, watermark, dirtyFloor, now) {
964
978
  getUpsertProgressStatement(db).run(sessionId, Math.max(0, Math.floor(watermark)), dirtyFloor ?? 0, now, getHarness2());
965
979
  }
966
- function getMessageIndexReconciliationStartOrdinal(db, sessionId) {
967
- const watermark = getLastIndexedOrdinal(db, sessionId);
980
+ function getMessageIndexReconciliationStartOrdinal2(db, sessionId) {
981
+ const watermark = getLastIndexedOrdinal2(db, sessionId);
968
982
  const dirtyFloor = getDirtyIndexFloor(db, sessionId);
969
983
  return dirtyFloor === null ? watermark : Math.min(watermark, dirtyFloor - 1);
970
984
  }
971
- function isMessageIndexReconciledThrough(db, sessionId, finalWatermark) {
985
+ function isMessageIndexReconciledThrough2(db, sessionId, finalWatermark) {
972
986
  const dirtyFloor = getDirtyIndexFloor(db, sessionId);
973
- return getLastIndexedOrdinal(db, sessionId) >= finalWatermark && dirtyFloor === null;
987
+ return getLastIndexedOrdinal2(db, sessionId) >= finalWatermark && dirtyFloor === null;
974
988
  }
975
- function clearIndexedMessagesInTransaction(db, sessionId) {
989
+ function deleteIndexedMessage2(db, sessionId, messageId) {
990
+ deleteMessageIndexSkips(db, sessionId, messageId);
991
+ const row = getCountIndexedMessageStatement(db).get(sessionId, messageId);
992
+ const count = typeof row?.count === "number" ? row.count : 0;
993
+ clearIndexedMessages2(db, sessionId);
994
+ return count;
995
+ }
996
+ function clearIndexedMessagesInTransaction2(db, sessionId) {
976
997
  deleteMessageIndexSkips(db, sessionId);
977
998
  getDeleteFtsStatement(db).run(sessionId);
978
999
  deleteUnmappedMessageFtsRows(db, [sessionId]);
@@ -981,7 +1002,15 @@ function clearIndexedMessagesInTransaction(db, sessionId) {
981
1002
  getDeleteIndexStatement(db).run(sessionId);
982
1003
  clearCompressionDepth(db, sessionId);
983
1004
  }
984
- function getIndexableContent(role, parts) {
1005
+ function clearIndexedMessages2(db, sessionId) {
1006
+ let transactionStartedAt = 0;
1007
+ db.transaction(() => {
1008
+ transactionStartedAt = performance.now();
1009
+ clearIndexedMessagesInTransaction2(db, sessionId);
1010
+ }).immediate();
1011
+ logSlowWriteTransaction("message_index_clear", transactionStartedAt);
1012
+ }
1013
+ function getIndexableContent2(role, parts) {
985
1014
  if (role === "user") {
986
1015
  if (!hasMeaningfulUserText2(parts)) {
987
1016
  return "";
@@ -994,7 +1023,7 @@ function getIndexableContent(role, parts) {
994
1023
  return "";
995
1024
  }
996
1025
  function indexSingleMessageInTransaction(db, sessionId, message, now, dirtyFloorBeforeAttempt, source) {
997
- const currentWatermark = getLastIndexedOrdinal(db, sessionId);
1026
+ const currentWatermark = getLastIndexedOrdinal2(db, sessionId);
998
1027
  const dirtyFloor = getDirtyIndexFloor(db, sessionId);
999
1028
  if (message.ordinal <= currentWatermark) {
1000
1029
  if (isIndexSourceCurrent(db, sessionId, source)) {
@@ -1025,17 +1054,17 @@ function indexSingleMessageInTransaction(db, sessionId, message, now, dirtyFloor
1025
1054
  setIndexProgress(db, sessionId, message.ordinal, dirtyFloorBeforeAttempt === message.ordinal ? null : dirtyFloorBeforeAttempt, now);
1026
1055
  return inserted;
1027
1056
  }
1028
- function indexSingleMessage(db, sessionId, message, shouldCommit = () => true, preparedSource) {
1057
+ function indexSingleMessage2(db, sessionId, message, shouldCommit = () => true, preparedSource) {
1029
1058
  if (!shouldCommit())
1030
1059
  return false;
1031
1060
  const source = preparedSource ?? getMessageSourceSnapshot(message);
1032
- const currentWatermark = getLastIndexedOrdinal(db, sessionId);
1061
+ const currentWatermark = getLastIndexedOrdinal2(db, sessionId);
1033
1062
  if (message.ordinal <= currentWatermark && isIndexSourceCurrent(db, sessionId, source)) {
1034
1063
  recordIndexedMessageTime(db, sessionId, message.ordinal, message.createdAt);
1035
1064
  return false;
1036
1065
  }
1037
1066
  const dirtyFloorBeforeAttempt = getDirtyIndexFloor(db, sessionId);
1038
- markMessageIndexDirty(db, sessionId, Math.min(message.ordinal, currentWatermark + 1));
1067
+ markMessageIndexDirty2(db, sessionId, Math.min(message.ordinal, currentWatermark + 1));
1039
1068
  db.exec("BEGIN IMMEDIATE");
1040
1069
  const transactionStartedAt = performance.now();
1041
1070
  let committed = false;
@@ -1055,10 +1084,10 @@ function indexSingleMessage(db, sessionId, message, shouldCommit = () => true, p
1055
1084
  }
1056
1085
  }
1057
1086
  }
1058
- function indexMessagesAfterOrdinal(db, sessionId, messages, _lastIndexedOrdinal, finalWatermark = messages.length) {
1059
- return indexItemsAfterOrdinal(db, sessionId, messages, finalWatermark, toMessageIndexSource);
1087
+ function indexMessagesAfterOrdinal2(db, sessionId, messages, _lastIndexedOrdinal, finalWatermark = messages.length) {
1088
+ return indexItemsAfterOrdinal(db, sessionId, messages, finalWatermark, toMessageIndexSource2);
1060
1089
  }
1061
- function indexSourcesAfterOrdinal(db, sessionId, sources, finalWatermark) {
1090
+ function indexSourcesAfterOrdinal2(db, sessionId, sources, finalWatermark) {
1062
1091
  return indexItemsAfterOrdinal(db, sessionId, sources, finalWatermark, (source) => source);
1063
1092
  }
1064
1093
  function indexItemsAfterOrdinal(db, sessionId, items, finalWatermark, toSource) {
@@ -1069,7 +1098,7 @@ function indexItemsAfterOrdinal(db, sessionId, items, finalWatermark, toSource)
1069
1098
  const transactionStartedAt = performance.now();
1070
1099
  let committed = false;
1071
1100
  try {
1072
- const currentWatermark = getLastIndexedOrdinal(db, sessionId);
1101
+ const currentWatermark = getLastIndexedOrdinal2(db, sessionId);
1073
1102
  const dirtyFloor = getDirtyIndexFloor(db, sessionId);
1074
1103
  const effectiveWatermark = dirtyFloor === null ? currentWatermark : Math.min(currentWatermark, Math.max(0, dirtyFloor - 1));
1075
1104
  if (dirtyFloor !== null && dirtyFloor <= currentWatermark && !messageFtsOrdinalRangeIsMapped(db, sessionId, dirtyFloor, Math.min(currentWatermark, finalWatermark))) {
@@ -1223,7 +1252,7 @@ function sweepOrphanedOpenCodeMessageIndexesInBackground(db, openReadableOpenCod
1223
1252
  AND message_history_index.updated_at > ?
1224
1253
  )
1225
1254
  LIMIT 1`);
1226
- const eligibleSessionIds = missingSessionIds.filter((sessionId) => stillEligible.get(sessionId, cutoff));
1255
+ const eligibleSessionIds = missingSessionIds.filter((sessionId) => !sessionExists.get(sessionId) && stillEligible.get(sessionId, cutoff));
1227
1256
  deleted = deleteSessionScopedRows(db, eligibleSessionIds, harness);
1228
1257
  persistMessageHistoryOrphanSweepState(db, nextCursor, completedAt, harness);
1229
1258
  db.exec("COMMIT");
@@ -1246,8 +1275,8 @@ function sweepOrphanedOpenCodeMessageIndexesInBackground(db, openReadableOpenCod
1246
1275
  closeQuietly(openCodeDb);
1247
1276
  }
1248
1277
  }
1249
- function sweepOrphanedOpenCodeMessageIndexes(db, openReadableOpenCodeDb, options = {}) {
1278
+ function sweepOrphanedOpenCodeMessageIndexes2(db, openReadableOpenCodeDb, options = {}) {
1250
1279
  return withoutSqliteTransformPass2(() => withSqliteBackgroundWriter2(() => sweepOrphanedOpenCodeMessageIndexesInBackground(db, openReadableOpenCodeDb, options)));
1251
1280
  }
1252
1281
 
1253
- export { BoundedSessionMap, clearCompressionDepth, clearCompressionDepthRange, LkgRecoveryFenceError, clearLkgFenceProcessState, lkgServedArrayDigest, hasCleanLkgRecoveryFence, lkgFenceRequiresRebuild, lkgRecoveryFenceUnclean, dirtyLkgRecoveryRevision, ownsLkgDirtyFence, invalidateCleanLkgRecoveryFence, prepareLkgCaptureFence, certifyCommittedLkgCapture, markLkgRecoveryDirty, commitLkgWithRecoveryFence, clearLkgRecoveryFence, advanceSessionActivity, backfillSessionActivity, deleteSessionScopedRows, MESSAGE_INDEX_MAX_FTS_BYTES, messageIndexSkipKey, toMessageIndexSource, getLastIndexedOrdinal, getIndexedMessageCorpusSize, markMessageIndexDirty, getMessageIndexReconciliationStartOrdinal, isMessageIndexReconciledThrough, clearIndexedMessagesInTransaction, getIndexableContent, indexSingleMessage, indexMessagesAfterOrdinal, indexSourcesAfterOrdinal, sweepOrphanedOpenCodeMessageIndexes };
1282
+ export { BoundedSessionMap, clearCompressionDepth, clearCompressionDepthRange, LkgRecoveryFenceError, clearLkgFenceProcessState, lkgServedArrayDigest, hasCleanLkgRecoveryFence, lkgFenceRequiresRebuild, lkgRecoveryFenceUnclean, dirtyLkgRecoveryRevision, ownsLkgDirtyFence, invalidateCleanLkgRecoveryFence, prepareLkgCaptureFence, certifyCommittedLkgCapture, markLkgRecoveryDirty, commitLkgWithRecoveryFence, clearLkgRecoveryFence, advanceSessionActivity, backfillSessionActivity, deleteSessionScopedRows, MESSAGE_INDEX_MAX_FTS_BYTES2, messageIndexSkipKey2, toMessageIndexSource2, getMessageIndexSourceIdentity2, isMessageIndexSourceCurrent2, getLastIndexedOrdinal2, getIndexedMessageCorpusSize2, markMessageIndexDirty2, getMessageIndexReconciliationStartOrdinal2, isMessageIndexReconciledThrough2, deleteIndexedMessage2, clearIndexedMessagesInTransaction2, clearIndexedMessages2, getIndexableContent2, indexSingleMessage2, indexMessagesAfterOrdinal2, indexSourcesAfterOrdinal2, sweepOrphanedOpenCodeMessageIndexes2 };
@@ -1,3 +1,6 @@
1
+ import {
2
+ registerExitAbort
3
+ } from "./server-51779zs2.js";
1
4
  import {
2
5
  log2
3
6
  } from "./server-t4k4qexw.js";
@@ -9,24 +12,6 @@ import {
9
12
  // src/hooks/magic-context/raw-ordinal-warmup.ts
10
13
  import { Worker } from "node:worker_threads";
11
14
 
12
- // src/shared/exit-abort-registry.ts
13
- var controllers = new Set;
14
- var listenerRegistered = false;
15
- function abortAll() {
16
- for (const controller of controllers) {
17
- try {
18
- controller.abort();
19
- } catch {}
20
- }
21
- }
22
- function registerExitAbort(controller) {
23
- controllers.add(controller);
24
- if (listenerRegistered)
25
- return;
26
- listenerRegistered = true;
27
- process.once("exit", abortAll);
28
- }
29
-
30
15
  // src/hooks/magic-context/read-session-raw.ts
31
16
  import { isMainThread } from "node:worker_threads";
32
17
  function isStrictGapHealingMessage2(message) {
@@ -1205,6 +1190,8 @@ function runSessionWarmupWorker(input, options) {
1205
1190
  finish({ delta: reply.delta });
1206
1191
  else if (reply.kind === "indexed")
1207
1192
  finish({ inserted: reply.inserted, measurements: reply.measurements });
1193
+ else if (reply.kind === "orphan-sweep")
1194
+ finish({ orphanSweep: reply.result });
1208
1195
  else
1209
1196
  finish({ failure: "worker-error", detail: reply.error });
1210
1197
  });
@@ -23,7 +23,7 @@ import {
23
23
  TAG_SELECT_COLUMNS2,
24
24
  getCandidateToolOwners2,
25
25
  pickNearestPriorOwner2
26
- } from "./server-4c7jt8gq.js";
26
+ } from "./server-pcygfdbs.js";
27
27
  import {
28
28
  OMO_INTERNAL_INITIATOR_MARKER,
29
29
  isSystemDirective,
@@ -68,7 +68,7 @@ import {
68
68
  readRawSeedTailFromDb2,
69
69
  readRawSessionBoundaryEndpointsFromDb2,
70
70
  prewarmRawSessionOrdinalsForDb
71
- } from "./server-7h861yms.js";
71
+ } from "./server-3dqjhchy.js";
72
72
  import {
73
73
  openCodeDbExists,
74
74
  withReadOnlySessionDb,
@@ -3919,6 +3919,29 @@ function clearPendingCompactionMarkerStateIf(db, sessionId, expected) {
3919
3919
  WHERE session_id = ? AND pending_compaction_marker_state = ?`).run(sessionId, expectedBlob);
3920
3920
  return result.changes > 0;
3921
3921
  }
3922
+ function isPendingPiCompactionMarker(value) {
3923
+ return typeof value === "object" && value !== null && (value.firstKeptEntryId === null || typeof value.firstKeptEntryId === "string") && typeof value.endMessageId === "string" && typeof value.ordinal === "number" && typeof value.tokensBefore === "number" && typeof value.summary === "string" && typeof value.publishedAt === "number";
3924
+ }
3925
+ function getPendingPiCompactionMarkerState(db, sessionId) {
3926
+ const row = db.prepare("SELECT pending_pi_compaction_marker_state FROM session_meta WHERE session_id = ?").get(sessionId);
3927
+ const raw = row?.pending_pi_compaction_marker_state;
3928
+ if (raw === null || raw === undefined || raw === "")
3929
+ return null;
3930
+ try {
3931
+ const parsed = JSON.parse(raw);
3932
+ if (isPendingPiCompactionMarker(parsed)) {
3933
+ return parsed;
3934
+ }
3935
+ } catch {}
3936
+ db.prepare("UPDATE session_meta SET pending_pi_compaction_marker_state = NULL WHERE session_id = ? AND pending_pi_compaction_marker_state = ?").run(sessionId, raw);
3937
+ return null;
3938
+ }
3939
+ function clearPendingPiCompactionMarkerStateIf(db, sessionId, expected) {
3940
+ const expectedBlob = stableStringify(expected);
3941
+ const result = db.prepare(`UPDATE session_meta SET pending_pi_compaction_marker_state = NULL
3942
+ WHERE session_id = ? AND pending_pi_compaction_marker_state = ?`).run(sessionId, expectedBlob);
3943
+ return result.changes > 0;
3944
+ }
3922
3945
  function setSessionWorkMetrics(db, sessionId, newWorkTokens, totalInputTokens) {
3923
3946
  ensureSessionMetaRow(db, sessionId);
3924
3947
  db.prepare(`UPDATE session_meta
@@ -6800,6 +6823,14 @@ function readSessionChunk2(sessionId, tokenBudget, offset = 1, eligibleEndOrdina
6800
6823
  pinComponentWhenFormattedBudgetCrosses(msg.ordinal, text);
6801
6824
  }
6802
6825
  if (flushCurrentBlock() && pendingNoiseMeta.length > 0) {
6826
+ const lastNoise = pendingNoiseMeta[pendingNoiseMeta.length - 1];
6827
+ if (messagesProcessed > 0 && lastNoise) {
6828
+ lineMeta.push(...pendingNoiseMeta);
6829
+ messagesProcessed += pendingNoiseMeta.length;
6830
+ lastOrdinal = lastNoise.ordinal;
6831
+ lastMessageId = lastNoise.messageId;
6832
+ pendingNoiseMeta = [];
6833
+ }
6803
6834
  highestScannedOrdinal = Math.max(highestScannedOrdinal, pendingNoiseMeta[pendingNoiseMeta.length - 1]?.ordinal ?? highestScannedOrdinal);
6804
6835
  }
6805
6836
  const toolOnlyRanges = [];
@@ -6857,4 +6888,4 @@ function readRawSessionSeedTail2(sessionId, boundaryId, onQuery) {
6857
6888
  });
6858
6889
  }
6859
6890
 
6860
- export { detectLatestTurnThinkingMismatch, isPrefixBoundThinkingModel, detectOverflow, SESSION_META_SELECT_COLUMNS, META_COLUMNS, BOOLEAN_META_KEYS, NULL_BIND_META_KEYS, isSessionMetaRow, getDefaultSessionMeta, ensureSessionMetaRow, toSessionMeta, persistCachedM0, clearCachedM0M1, expandToolPart, markHostUnservedRow, retreatPastHostUnservedRows, snapTerminalCompartmentToServedRow, isHostRenderedSystemMessage, completedToolArcCrossesBoundary, estimateTrueRawMessageTokens, buildToolArcs, fenceBoundaryForCompletedToolArcs, fenceBoundaryForToolArcs, buildTrueRawTokenIndex, computeRawRangeFingerprint, stripSystemInjection, isTextPart, isToolPartWithOutput, isFilePart, buildFileSourceContent, toolPartHasUserAnswer, DreamTokenBudgetExceeded, TOKEN_BUDGET_FINALIZE_MESSAGE, registerBudgetFinalizeChild, releaseBudgetFinalizeChild, createDreamTokenBudget, recordToolParameters, createDroppedInputGuard, assertExecutableToolInput, isEditTool, MERGED_REASONING_PARTS_PREFIX, decodeMergedReasoningParts, MAX_EXECUTE_THRESHOLD, escalationBands, HYGIENE_PROVIDER_UNITS_VERSION, sessionDecisionCalibration, transitionSessionHygieneUnits, getProtectionWindowForSession, 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, clearPersistedReasoningWatermark, getEmergencyInputSample, setEmergencyDropSample, clearEmergencyDropSample, getLastNudgeUndropped, setLastNudgeUndropped, getChannel1NudgeState, setChannel1NudgeState, markChannel1PostReduceGracePending, captureChannel1PostReduceGraceBaseline, getChannel2NudgeState, setChannel2NudgeState, casChannel2NudgeState, claimChannel2NudgeState, casChannel2NudgeClaim, getPersistedNoteNudge, setPersistedNoteNudgeTrigger, setPersistedNoteNudgeTriggerMessageId, getNoteNudgeAnchors, getAutoSearchHintDecisions, deliverNoteNudgeAtomic, appendAutoSearchHintDecision, pruneNoteNudgeAnchors, queueAutoSearchHintDecisionRetirement, flushAutoSearchHintDecisionRetirement, getPersistedTodoPermissionDenied, setPersistedTodoPermissionDenied, getPersistedTodoSyntheticAnchor, setPersistedTodoSyntheticAnchor, clearPersistedTodoSyntheticAnchor, getNoteLastReadAt, setNoteLastReadAt, getHistorianFailureState, incrementHistorianFailure, clearHistorianFailureState, getOverflowState, loadTransformPassStateSnapshot, recordOverflowDetected, recordDetectedContextLimit, clearEmergencyRecovery, clearDetectedContextLimit, getPersistedCompactionMarkerState, setPersistedCompactionMarkerState, getDeferredClearedCompactionMarkerState, retireDeferredClearedCompactionMarkerState, parseStrippedPlaceholderState, serializeStrippedPlaceholderState, getStrippedPlaceholderIds, applyStrippedPlaceholderDelta, THINKING_BINDING_RECOVERY_FROZEN_PREFIX, THINKING_BINDING_STRIP_ORDER_END_MARKER, thinkingBindingRecoveryFrozenId, getThinkingBindingRecoveryTarget, clearThinkingBindingRecoveryIf, getMergedReasoningStrippedIds, addMergedReasoningStrippedIds, getTrailingBlankDecisions, addTrailingBlankDecisions, demoteTrailingBlankKeepDecisions, getStaleReduceStrippedIds, addStaleReduceStrippedIds, getProcessedImageStrippedIds, addProcessedImageStrippedIds, getPendingCompactionMarkerState, getCompactionMarkerHealth, loadPostprocessReplaySnapshot, setPendingCompactionMarkerState, replacePendingCompactionMarkerStateIf, clearPendingCompactionMarkerStateIf, setSessionWorkMetrics, getObservedEpochFloor, resolveEpochFloorForPass, getReasoningRemovalState, addRemovedReasoningIds, markDropLeavesReasoning, 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, stripProcessedImages, projectOpencodeReasoningBudgetCutoff, DEFAULT_KEEP_REASONING_TOKENS, resolveKeepReasoningTokens, reasoningBudgetCutoff, reasoningTextAndOpaque, opencodeReasoningBudgetCutoff, describeFinalWireTail, 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, 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 };
6891
+ export { detectLatestTurnThinkingMismatch, isPrefixBoundThinkingModel, detectOverflow, SESSION_META_SELECT_COLUMNS, META_COLUMNS, BOOLEAN_META_KEYS, NULL_BIND_META_KEYS, isSessionMetaRow, getDefaultSessionMeta, ensureSessionMetaRow, toSessionMeta, persistCachedM0, clearCachedM0M1, expandToolPart, markHostUnservedRow, retreatPastHostUnservedRows, snapTerminalCompartmentToServedRow, isHostRenderedSystemMessage, completedToolArcCrossesBoundary, estimateTrueRawMessageTokens, buildToolArcs, fenceBoundaryForCompletedToolArcs, fenceBoundaryForToolArcs, buildTrueRawTokenIndex, computeRawRangeFingerprint, stripSystemInjection, isTextPart, isToolPartWithOutput, isFilePart, buildFileSourceContent, toolPartHasUserAnswer, DreamTokenBudgetExceeded, TOKEN_BUDGET_FINALIZE_MESSAGE, registerBudgetFinalizeChild, releaseBudgetFinalizeChild, createDreamTokenBudget, recordToolParameters, createDroppedInputGuard, assertExecutableToolInput, isEditTool, MERGED_REASONING_PARTS_PREFIX, decodeMergedReasoningParts, MAX_EXECUTE_THRESHOLD, escalationBands, HYGIENE_PROVIDER_UNITS_VERSION, sessionDecisionCalibration, transitionSessionHygieneUnits, getProtectionWindowForSession, 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, clearPersistedReasoningWatermark, getEmergencyInputSample, setEmergencyDropSample, clearEmergencyDropSample, getLastNudgeUndropped, setLastNudgeUndropped, getChannel1NudgeState, setChannel1NudgeState, markChannel1PostReduceGracePending, captureChannel1PostReduceGraceBaseline, getChannel2NudgeState, setChannel2NudgeState, casChannel2NudgeState, claimChannel2NudgeState, casChannel2NudgeClaim, getPersistedNoteNudge, setPersistedNoteNudgeTrigger, setPersistedNoteNudgeTriggerMessageId, getNoteNudgeAnchors, getAutoSearchHintDecisions, deliverNoteNudgeAtomic, appendAutoSearchHintDecision, pruneNoteNudgeAnchors, queueAutoSearchHintDecisionRetirement, flushAutoSearchHintDecisionRetirement, getPersistedTodoPermissionDenied, setPersistedTodoPermissionDenied, getPersistedTodoSyntheticAnchor, setPersistedTodoSyntheticAnchor, clearPersistedTodoSyntheticAnchor, getNoteLastReadAt, setNoteLastReadAt, getHistorianFailureState, incrementHistorianFailure, clearHistorianFailureState, getOverflowState, loadTransformPassStateSnapshot, recordOverflowDetected, recordDetectedContextLimit, clearEmergencyRecovery, clearDetectedContextLimit, getPersistedCompactionMarkerState, setPersistedCompactionMarkerState, getDeferredClearedCompactionMarkerState, retireDeferredClearedCompactionMarkerState, parseStrippedPlaceholderState, serializeStrippedPlaceholderState, getStrippedPlaceholderIds, applyStrippedPlaceholderDelta, THINKING_BINDING_RECOVERY_FROZEN_PREFIX, THINKING_BINDING_STRIP_ORDER_END_MARKER, thinkingBindingRecoveryFrozenId, getThinkingBindingRecoveryTarget, clearThinkingBindingRecoveryIf, getMergedReasoningStrippedIds, addMergedReasoningStrippedIds, getTrailingBlankDecisions, addTrailingBlankDecisions, demoteTrailingBlankKeepDecisions, getStaleReduceStrippedIds, addStaleReduceStrippedIds, getProcessedImageStrippedIds, addProcessedImageStrippedIds, getPendingCompactionMarkerState, getCompactionMarkerHealth, loadPostprocessReplaySnapshot, setPendingCompactionMarkerState, replacePendingCompactionMarkerStateIf, clearPendingCompactionMarkerStateIf, getPendingPiCompactionMarkerState, clearPendingPiCompactionMarkerStateIf, setSessionWorkMetrics, getObservedEpochFloor, resolveEpochFloorForPass, getReasoningRemovalState, addRemovedReasoningIds, markDropLeavesReasoning, 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, stripProcessedImages, projectOpencodeReasoningBudgetCutoff, DEFAULT_KEEP_REASONING_TOKENS, resolveKeepReasoningTokens, reasoningBudgetCutoff, reasoningTextAndOpaque, opencodeReasoningBudgetCutoff, describeFinalWireTail, 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, 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 };
@@ -0,0 +1,19 @@
1
+ // src/shared/exit-abort-registry.ts
2
+ var controllers = new Set;
3
+ var listenerRegistered = false;
4
+ function abortAll() {
5
+ for (const controller of controllers) {
6
+ try {
7
+ controller.abort();
8
+ } catch {}
9
+ }
10
+ }
11
+ function registerExitAbort(controller) {
12
+ controllers.add(controller);
13
+ if (listenerRegistered)
14
+ return;
15
+ listenerRegistered = true;
16
+ process.once("exit", abortAll);
17
+ }
18
+
19
+ export { registerExitAbort };
@@ -15,7 +15,7 @@ import {
15
15
  OpenAICompatibleEmbeddingProvider,
16
16
  getProjectEmbeddingSnapshot2,
17
17
  embedBatchForProject2
18
- } from "./server-1fszbabv.js";
18
+ } from "./server-cjz51jm2.js";
19
19
  import {
20
20
  isEmbeddingHostBusy2
21
21
  } from "./server-qt1qqasc.js";
@@ -20,7 +20,7 @@ import {
20
20
  import {
21
21
  normalizeStoredProjectPath,
22
22
  storedPathBelongsToIdentity
23
- } from "./server-8xmq9h3f.js";
23
+ } from "./server-q6j5dasr.js";
24
24
  import {
25
25
  logSlowWriteTransaction
26
26
  } from "./server-3t0q2cqx.js";