@cortexkit/opencode-magic-context 0.49.1 → 0.49.3

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 (114) 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-9tbxh883.js} +63 -29
  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/memory/project-identity.d.ts +5 -1
  15. package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
  16. package/dist/features/magic-context/message-index-async.d.ts +3 -0
  17. package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
  18. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  19. package/dist/features/magic-context/storage-clone.d.ts +2 -0
  20. package/dist/features/magic-context/storage-clone.d.ts.map +1 -1
  21. package/dist/features/magic-context/storage-tags.d.ts +1 -1
  22. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  23. package/dist/hooks/magic-context/compaction-marker-manager.d.ts +3 -0
  24. package/dist/hooks/magic-context/compaction-marker-manager.d.ts.map +1 -1
  25. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  26. package/dist/hooks/magic-context/history-boundary-repair.d.ts +11 -2
  27. package/dist/hooks/magic-context/history-boundary-repair.d.ts.map +1 -1
  28. package/dist/hooks/magic-context/protected-tail-boundary.d.ts +4 -3
  29. package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -1
  30. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts +10 -0
  31. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts.map +1 -1
  32. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  33. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  34. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  35. package/dist/{index-sfhndpcb.js → index-3wckxwfp.js} +39 -39
  36. package/dist/{index-gzky5rva.js → index-41gqa557.js} +4 -2
  37. package/dist/{index-r2zcs71c.js → index-7ndnvw7a.js} +1 -1
  38. package/dist/{index-sv0bb7vg.js → index-7zg9dvx0.js} +35 -4
  39. package/dist/{index-xgrwmj82.js → index-bhk710rw.js} +1 -1
  40. package/dist/{index-fg00p1cg.js → index-c0b01zrc.js} +2 -2
  41. package/dist/{index-rafsaxac.js → index-fjtgekd4.js} +2 -2
  42. package/dist/{index-fdtkt5r1.js → index-fst3t0d9.js} +9 -9
  43. package/dist/{index-6tfxmc4n.js → index-je2na55n.js} +4 -4
  44. package/dist/{index-h5zfkjyk.js → index-jpm52v9x.js} +6 -24
  45. package/dist/{index-s7fc0fkn.js → index-m4p77myp.js} +1 -1
  46. package/dist/{index-xnanvj3w.js → index-mgy5dwcw.js} +607 -579
  47. package/dist/{index-0pjvpfkf.js → index-qvr78ej6.js} +1 -1
  48. package/dist/{index-zfzdpeq2.js → index-s4ztdn8v.js} +1311 -1271
  49. package/dist/index-v0p37hm2.js +22 -0
  50. package/dist/{index-eypn4ba6.js → index-w9pe0nx1.js} +3 -3
  51. package/dist/{index-p0n5ryq8.js → index-ws3gcy5m.js} +19 -9
  52. package/dist/{index-att4bfan.js → index-xfbfrngb.js} +1 -1
  53. package/dist/{index-nydv6g8r.js → index-yqps2zsv.js} +44 -6
  54. package/dist/index-yxawqmdd.js +212 -0
  55. package/dist/{index-zg8yq4ya.js → index-znzgze2v.js} +3 -3
  56. package/dist/index.js +38 -35
  57. package/dist/{message-index-bounded-hqktkhdy.js → message-index-bounded-pv6ct15d.js} +18 -17
  58. package/dist/message-index-jqa7qd0s.js +60 -0
  59. package/dist/migration-worker.js +3 -3
  60. package/dist/{project-embedding-registry-0gv3h6y8.js → project-embedding-registry-fcmszatg.js} +4 -4
  61. package/dist/raw-ordinal-warmup-worker.js +22 -5
  62. package/dist/{read-session-chunk-5mh0bh8y.js → read-session-chunk-cwgjwjd0.js} +7 -6
  63. package/dist/{read-session-raw-8sjbc9h0.js → read-session-raw-z38cn0as.js} +2 -1
  64. package/dist/{recomp-orchestrator-kpkhkjhq.js → recomp-orchestrator-txcc802e.js} +19 -17
  65. package/dist/{search-p9w39qv4.js → search-v1t47s2q.js} +14 -13
  66. package/dist/{send-session-notification-xffh3bbe.js → send-session-notification-yp9m5g4p.js} +4 -3
  67. package/dist/shared/tag-owner-id.d.ts +1 -0
  68. package/dist/shared/tag-owner-id.d.ts.map +1 -1
  69. package/dist/{storage-tags-k0pda32s.js → storage-tags-0ssbmzg9.js} +2 -2
  70. package/dist/{transform-postprocess-phase-481j5a7z.js → transform-postprocess-phase-113rwew1.js} +19 -17
  71. package/dist/v2/auto-search-worker.js +3 -3
  72. package/dist/v2/compaction-marker-candidates-1s21e2fz.js +18 -0
  73. package/dist/v2/compaction-marker-candidates-worker.js +24 -0
  74. package/dist/v2/{context-gsdtha5v.js → context-p1xf3w5q.js} +115 -44
  75. package/dist/v2/{embedding-backfill-dbvjbcmm.js → embedding-backfill-9hbkfvnz.js} +5 -5
  76. package/dist/v2/{message-index-bounded-p6v0n8qh.js → message-index-bounded-c0810p5w.js} +17 -16
  77. package/dist/v2/message-index-h8ssgq3q.js +59 -0
  78. package/dist/v2/migration-worker.js +3 -3
  79. package/dist/v2/{project-embedding-registry-nyq7z8y6.js → project-embedding-registry-42th7k1z.js} +4 -4
  80. package/dist/v2/raw-ordinal-warmup-worker.js +22 -5
  81. package/dist/v2/{read-session-chunk-fhyfe4qa.js → read-session-chunk-n86v9xfg.js} +6 -5
  82. package/dist/v2/{read-session-raw-j8dvp7f4.js → read-session-raw-3b3ehga4.js} +2 -1
  83. package/dist/v2/{recomp-orchestrator-5xy7w136.js → recomp-orchestrator-v168jwgg.js} +16 -14
  84. package/dist/v2/{search-j7bakcwa.js → search-048v8y02.js} +13 -12
  85. package/dist/v2/{send-session-notification-f6v698r5.js → send-session-notification-a4h2azxa.js} +2 -1
  86. package/dist/v2/{server-bgzy0phk.js → server-3bc6k4k4.js} +62 -33
  87. package/dist/v2/{server-7h861yms.js → server-3dqjhchy.js} +5 -18
  88. package/dist/v2/{server-c7n2ftng.js → server-4n2tknpc.js} +34 -3
  89. package/dist/v2/server-51779zs2.js +19 -0
  90. package/dist/v2/{server-kh958yj8.js → server-5zrpr764.js} +1 -1
  91. package/dist/v2/{server-6tcrjfw8.js → server-8pqnnmf9.js} +1 -1
  92. package/dist/v2/server-9290a1mb.js +212 -0
  93. package/dist/v2/{server-7vkj6zhb.js → server-9a6v0wth.js} +3 -3
  94. package/dist/v2/{server-1fszbabv.js → server-cjz51jm2.js} +2 -2
  95. package/dist/v2/{server-7spkq1y6.js → server-cxxjb33r.js} +2286 -2246
  96. package/dist/v2/{server-mqvtz7wz.js → server-hetyb88z.js} +9 -9
  97. package/dist/v2/{server-4c7jt8gq.js → server-pcygfdbs.js} +44 -6
  98. package/dist/v2/{server-8xmq9h3f.js → server-q6j5dasr.js} +4 -2
  99. package/dist/v2/{server-zbxjj2mz.js → server-rygvffsf.js} +2 -2
  100. package/dist/v2/server.js +4 -4
  101. package/dist/v2/{storage-tags-5yxrvkaf.js → storage-tags-3a4cavqb.js} +2 -2
  102. package/dist/v2/{wrapup-orchestrator-yem5422s.js → wrapup-orchestrator-zcyf8ymw.js} +14 -12
  103. package/dist/{wrapup-orchestrator-xvrr27ws.js → wrapup-orchestrator-5aa2q4v3.js} +20 -18
  104. package/package.json +3 -3
  105. package/src/config/latch-permanence-guard.test.ts +6 -1
  106. package/src/shared/sqlite-writer-diagnostics.test.ts +21 -10
  107. package/src/shared/tag-owner-id.ts +13 -0
  108. package/src/shared/tag-transcript.test.ts +6 -1
  109. package/src/shared/tag-transcript.ts +2 -1
  110. package/src/shared/windows-hidden-spawns.test.ts +60 -4
  111. /package/dist/{index-69vas84q.js → index-e6xnpach.js} +0 -0
  112. /package/dist/{index-p1hnwfd8.js → index-gcdb3rqw.js} +0 -0
  113. /package/dist/v2/{index-69vas84q.js → index-e6xnpach.js} +0 -0
  114. /package/dist/v2/{server-s2st631p.js → server-8wcf79fe.js} +0 -0
@@ -4,29 +4,30 @@ import {
4
4
  yieldIndexChunk2
5
5
  } from "./server-kb9nn0a0.js";
6
6
  import"./server-1zx87sdm.js";
7
- import"./server-4c7jt8gq.js";
7
+ import"./server-pcygfdbs.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
12
  import"./server-cw6521wn.js";
13
- import"./server-7h861yms.js";
13
+ import"./server-51779zs2.js";
14
+ import"./server-3dqjhchy.js";
14
15
  import"./server-2ra6pwf3.js";
15
16
  import"./server-czb2rkpk.js";
16
- import"./server-c7n2ftng.js";
17
+ import"./server-4n2tknpc.js";
17
18
  import"./server-7ekna9zs.js";
18
19
  import {
19
- MESSAGE_INDEX_MAX_FTS_BYTES,
20
- messageIndexSkipKey,
21
- getLastIndexedOrdinal,
22
- markMessageIndexDirty,
23
- getIndexableContent,
24
- indexSingleMessage
25
- } from "./server-bgzy0phk.js";
20
+ MESSAGE_INDEX_MAX_FTS_BYTES2,
21
+ messageIndexSkipKey2,
22
+ getLastIndexedOrdinal2,
23
+ markMessageIndexDirty2,
24
+ getIndexableContent2,
25
+ indexSingleMessage2
26
+ } from "./server-3bc6k4k4.js";
26
27
  import"./server-2htmbqbv.js";
27
28
  import"./server-cvgn49tr.js";
28
29
  import"./server-hb6xhh9q.js";
29
- import"./server-s2st631p.js";
30
+ import"./server-8wcf79fe.js";
30
31
  import"./server-3t0q2cqx.js";
31
32
 
32
33
  // src/features/magic-context/message-index-bounded.ts
@@ -77,13 +78,13 @@ async function indexMessageInShortChunks(db, sessionId, message, coordination, i
77
78
  try {
78
79
  if (!isCurrent())
79
80
  return { inserted: false, measurements };
80
- const content = getIndexableContent(message.role, message.parts);
81
+ const content = getIndexableContent2(message.role, message.parts);
81
82
  measurements.sourceBytes = Buffer.byteLength(content);
82
83
  const hash = createHash("sha256");
83
- const oversized = measurements.sourceBytes > MESSAGE_INDEX_MAX_FTS_BYTES;
84
+ const oversized = measurements.sourceBytes > MESSAGE_INDEX_MAX_FTS_BYTES2;
84
85
  measurements.skipped = oversized;
85
86
  if (oversized) {
86
- await transaction(() => markMessageIndexDirty(db, sessionId, Math.min(message.ordinal, getLastIndexedOrdinal(db, sessionId) + 1)));
87
+ await transaction(() => markMessageIndexDirty2(db, sessionId, Math.min(message.ordinal, getLastIndexedOrdinal2(db, sessionId) + 1)));
87
88
  const encoded = Buffer.from(content);
88
89
  const progress = db.prepare("INSERT INTO schema_migrations_meta(key,value) VALUES (?,?) ON CONFLICT(key) DO UPDATE SET value=excluded.value");
89
90
  for (let offset = 0;offset < encoded.length; offset += IDENTITY_CHUNK_BYTES) {
@@ -91,7 +92,7 @@ async function indexMessageInShortChunks(db, sessionId, message, coordination, i
91
92
  return { inserted: false, measurements };
92
93
  const end = Math.min(encoded.length, offset + IDENTITY_CHUNK_BYTES);
93
94
  hash.update(encoded.subarray(offset, end));
94
- await transaction(() => progress.run(messageIndexSkipKey(sessionId, message.id), JSON.stringify({
95
+ await transaction(() => progress.run(messageIndexSkipKey2(sessionId, message.id), JSON.stringify({
95
96
  reason: "oversized",
96
97
  bytes: measurements.sourceBytes,
97
98
  processedBytes: end,
@@ -113,7 +114,7 @@ async function indexMessageInShortChunks(db, sessionId, message, coordination, i
113
114
  content: oversized ? "" : content,
114
115
  ...oversized ? { ftsSkippedBytes: measurements.sourceBytes } : {}
115
116
  };
116
- const inserted = await withIndexChunk2(coordination, () => withSqliteBackgroundWriter2(() => indexSingleMessage(db, sessionId, message, isCurrent, source)));
117
+ const inserted = await withIndexChunk2(coordination, () => withSqliteBackgroundWriter2(() => indexSingleMessage2(db, sessionId, message, isCurrent, source)));
117
118
  return { inserted, measurements };
118
119
  } finally {
119
120
  db.exec = execute;
@@ -0,0 +1,59 @@
1
+ import {
2
+ MESSAGE_INDEX_MAX_FTS_BYTES2,
3
+ messageIndexSkipKey2,
4
+ toMessageIndexSource2,
5
+ getMessageIndexSourceIdentity2,
6
+ isMessageIndexSourceCurrent2,
7
+ getLastIndexedOrdinal2,
8
+ getIndexedMessageCorpusSize2,
9
+ markMessageIndexDirty2,
10
+ getMessageIndexReconciliationStartOrdinal2,
11
+ isMessageIndexReconciledThrough2,
12
+ deleteIndexedMessage2,
13
+ clearIndexedMessagesInTransaction2,
14
+ clearIndexedMessages2,
15
+ getIndexableContent2,
16
+ indexSingleMessage2,
17
+ indexMessagesAfterOrdinal2,
18
+ indexSourcesAfterOrdinal2,
19
+ sweepOrphanedOpenCodeMessageIndexes2
20
+ } from "./server-3bc6k4k4.js";
21
+ import"./server-8wcf79fe.js";
22
+ import"./server-hb6xhh9q.js";
23
+ import"./server-cvgn49tr.js";
24
+ import"./server-2htmbqbv.js";
25
+ import"./server-4n2tknpc.js";
26
+ import"./server-pcygfdbs.js";
27
+ import"./server-1zx87sdm.js";
28
+ import"./server-czb2rkpk.js";
29
+ import"./server-3dqjhchy.js";
30
+ import"./server-51779zs2.js";
31
+ import"./server-cw6521wn.js";
32
+ import"./server-7ekna9zs.js";
33
+ import"./server-6byqfbqf.js";
34
+ import"./server-2ra6pwf3.js";
35
+ import"./server-3t0q2cqx.js";
36
+ import"./server-kb9nn0a0.js";
37
+ import"./server-kzns2hbz.js";
38
+ import"./server-t4k4qexw.js";
39
+ import"./server-pavzsdc6.js";
40
+ export {
41
+ MESSAGE_INDEX_MAX_FTS_BYTES2 as MESSAGE_INDEX_MAX_FTS_BYTES,
42
+ clearIndexedMessages2 as clearIndexedMessages,
43
+ clearIndexedMessagesInTransaction2 as clearIndexedMessagesInTransaction,
44
+ deleteIndexedMessage2 as deleteIndexedMessage,
45
+ getIndexableContent2 as getIndexableContent,
46
+ getIndexedMessageCorpusSize2 as getIndexedMessageCorpusSize,
47
+ getLastIndexedOrdinal2 as getLastIndexedOrdinal,
48
+ getMessageIndexReconciliationStartOrdinal2 as getMessageIndexReconciliationStartOrdinal,
49
+ getMessageIndexSourceIdentity2 as getMessageIndexSourceIdentity,
50
+ indexMessagesAfterOrdinal2 as indexMessagesAfterOrdinal,
51
+ indexSingleMessage2 as indexSingleMessage,
52
+ indexSourcesAfterOrdinal2 as indexSourcesAfterOrdinal,
53
+ isMessageIndexReconciledThrough2 as isMessageIndexReconciledThrough,
54
+ isMessageIndexSourceCurrent2 as isMessageIndexSourceCurrent,
55
+ markMessageIndexDirty2 as markMessageIndexDirty,
56
+ messageIndexSkipKey2 as messageIndexSkipKey,
57
+ sweepOrphanedOpenCodeMessageIndexes2 as sweepOrphanedOpenCodeMessageIndexes,
58
+ toMessageIndexSource2 as toMessageIndexSource
59
+ };
@@ -9,16 +9,16 @@ import {
9
9
  import"./server-fr0wbhdn.js";
10
10
  import {
11
11
  runMigrationsWithRetry
12
- } from "./server-6tcrjfw8.js";
12
+ } from "./server-8pqnnmf9.js";
13
13
  import"./server-6byqfbqf.js";
14
14
  import"./server-2ra6pwf3.js";
15
- import"./server-8xmq9h3f.js";
15
+ import"./server-q6j5dasr.js";
16
16
  import"./server-cvgn49tr.js";
17
17
  import"./server-fb3zxn06.js";
18
18
  import {
19
19
  setSqlitePragmaConfig,
20
20
  initializeDatabase
21
- } from "./server-7vkj6zhb.js";
21
+ } from "./server-9a6v0wth.js";
22
22
  import"./server-2htmbqbv.js";
23
23
  import"./server-kzns2hbz.js";
24
24
  import"./server-7ekna9zs.js";
@@ -33,18 +33,18 @@ import {
33
33
  sweepAllRegisteredProjects2,
34
34
  _setTestProviderFactoryForProject2,
35
35
  _resetProjectEmbeddingRegistryForTests2
36
- } from "./server-1fszbabv.js";
37
- import"./server-s2st631p.js";
36
+ } from "./server-cjz51jm2.js";
37
+ import"./server-8wcf79fe.js";
38
38
  import"./server-4dhv7mqz.js";
39
39
  import"./server-qt1qqasc.js";
40
40
  import"./server-ras2sxnc.js";
41
41
  import"./server-hb6xhh9q.js";
42
- import"./server-8xmq9h3f.js";
42
+ import"./server-q6j5dasr.js";
43
43
  import"./server-2htmbqbv.js";
44
44
  import"./server-cw6521wn.js";
45
- import"./server-kzns2hbz.js";
46
45
  import"./server-3t0q2cqx.js";
47
46
  import"./server-kb9nn0a0.js";
47
+ import"./server-kzns2hbz.js";
48
48
  import"./server-t4k4qexw.js";
49
49
  import"./server-pavzsdc6.js";
50
50
  export {
@@ -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-cxxjb33r.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 };