@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
@@ -23,7 +23,7 @@ import {
23
23
  } from "./index-kb9nn0a0.js";
24
24
  import {
25
25
  cleanUserText2
26
- } from "./index-sv0bb7vg.js";
26
+ } from "./index-7zg9dvx0.js";
27
27
  import {
28
28
  recordMessageFtsRowid,
29
29
  recordIndexedMessageTime,
@@ -36,7 +36,7 @@ import {
36
36
  } from "./index-6m7rdv7y.js";
37
37
  import {
38
38
  deleteChunkEmbedBackoffForSession
39
- } from "./index-p1hnwfd8.js";
39
+ } from "./index-gcdb3rqw.js";
40
40
  import {
41
41
  ensurePrivateStorageDirectorySync,
42
42
  writeStorageFileSync,
@@ -736,7 +736,7 @@ var deleteMessageFtsStatements = new WeakMap;
736
736
  var deleteFtsMapStatements = new WeakMap;
737
737
  var deleteFtsMapRangeStatements = new WeakMap;
738
738
  var deleteMessageFtsMapStatements = new WeakMap;
739
- var MESSAGE_INDEX_MAX_FTS_BYTES = 64 * 1024;
739
+ var MESSAGE_INDEX_MAX_FTS_BYTES2 = 64 * 1024;
740
740
  var skipStatements = new WeakMap;
741
741
  function skipStatement(db, sql) {
742
742
  const statements = skipStatements.get(db) ?? new Map;
@@ -748,10 +748,10 @@ function skipStatement(db, sql) {
748
748
  }
749
749
  return statement;
750
750
  }
751
- var messageIndexSkipKey = (sessionId, messageId) => `message_index_skip:${JSON.stringify([sessionId, messageId])}`;
751
+ var messageIndexSkipKey2 = (sessionId, messageId) => `message_index_skip:${JSON.stringify([sessionId, messageId])}`;
752
752
  function deleteMessageIndexSkips(db, sessionId, messageId) {
753
753
  if (messageId !== undefined) {
754
- skipStatement(db, "DELETE FROM schema_migrations_meta WHERE key=?").run(messageIndexSkipKey(sessionId, messageId));
754
+ skipStatement(db, "DELETE FROM schema_migrations_meta WHERE key=?").run(messageIndexSkipKey2(sessionId, messageId));
755
755
  } else {
756
756
  const prefix = `message_index_skip:${JSON.stringify([sessionId]).slice(0, -1)},`;
757
757
  skipStatement(db, "DELETE FROM schema_migrations_meta WHERE substr(key,1,length(?))=?").run(prefix, prefix);
@@ -936,8 +936,8 @@ function normalizeSourceVersion(version) {
936
936
  return `string:${version}`;
937
937
  return "null";
938
938
  }
939
- function toMessageIndexSource(message) {
940
- const content = getIndexableContent(message.role, message.parts);
939
+ function toMessageIndexSource2(message) {
940
+ const content = getIndexableContent2(message.role, message.parts);
941
941
  return {
942
942
  id: message.id,
943
943
  ordinal: message.ordinal,
@@ -949,9 +949,9 @@ function toMessageIndexSource(message) {
949
949
  };
950
950
  }
951
951
  function getMessageSourceSnapshot(message) {
952
- return toMessageIndexSource(message);
952
+ return toMessageIndexSource2(message);
953
953
  }
954
- function getMessageIndexSourceIdentity(message) {
954
+ function getMessageIndexSourceIdentity2(message) {
955
955
  const source = getMessageSourceSnapshot(message);
956
956
  return JSON.stringify([
957
957
  source.ordinal,
@@ -961,7 +961,7 @@ function getMessageIndexSourceIdentity(message) {
961
961
  message.createdAt ?? null
962
962
  ]);
963
963
  }
964
- function isMessageIndexSourceCurrent(db, sessionId, message) {
964
+ function isMessageIndexSourceCurrent2(db, sessionId, message) {
965
965
  const source = getMessageSourceSnapshot(message);
966
966
  return isIndexSourceCurrent(db, sessionId, source);
967
967
  }
@@ -972,8 +972,8 @@ function isIndexSourceCurrent(db, sessionId, source) {
972
972
  function writeMessageSource(db, sessionId, source, now) {
973
973
  getUpsertMessageSourceStatement(db).run(sessionId, source.id, source.ordinal, source.sourceVersion, source.contentHash, source.role, getHarness2(), now);
974
974
  const bytes = Buffer.byteLength(source.content);
975
- if (source.ftsSkippedBytes !== undefined || bytes > MESSAGE_INDEX_MAX_FTS_BYTES) {
976
- 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({
975
+ if (source.ftsSkippedBytes !== undefined || bytes > MESSAGE_INDEX_MAX_FTS_BYTES2) {
976
+ 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({
977
977
  reason: "oversized",
978
978
  bytes: source.ftsSkippedBytes ?? bytes,
979
979
  contentHash: source.contentHash,
@@ -982,24 +982,24 @@ function writeMessageSource(db, sessionId, source, now) {
982
982
  }));
983
983
  return "";
984
984
  }
985
- skipStatement(db, "DELETE FROM schema_migrations_meta WHERE key=?").run(messageIndexSkipKey(sessionId, source.id));
985
+ skipStatement(db, "DELETE FROM schema_migrations_meta WHERE key=?").run(messageIndexSkipKey2(sessionId, source.id));
986
986
  return source.content;
987
987
  }
988
- function getLastIndexedOrdinal(db, sessionId) {
988
+ function getLastIndexedOrdinal2(db, sessionId) {
989
989
  const row = getLastIndexedStatement(db).get(sessionId);
990
990
  return typeof row?.last_indexed_ordinal === "number" ? row.last_indexed_ordinal : 0;
991
991
  }
992
- function getIndexedMessageCorpusSize(db, sessionId, maxOrdinal) {
993
- const watermark = getLastIndexedOrdinal(db, sessionId);
992
+ function getIndexedMessageCorpusSize2(db, sessionId, maxOrdinal) {
993
+ const watermark = getLastIndexedOrdinal2(db, sessionId);
994
994
  return maxOrdinal === null ? watermark : Math.min(watermark, Math.max(0, maxOrdinal));
995
995
  }
996
996
  function getDirtyIndexFloor(db, sessionId) {
997
997
  const row = getLastIndexedStatement(db).get(sessionId);
998
998
  return typeof row?.dirty_floor_ordinal === "number" && row.dirty_floor_ordinal > 0 ? row.dirty_floor_ordinal : null;
999
999
  }
1000
- function markMessageIndexDirty(db, sessionId, floorOrdinal) {
1000
+ function markMessageIndexDirty2(db, sessionId, floorOrdinal) {
1001
1001
  const dirtyFloor = Math.max(1, Math.floor(floorOrdinal));
1002
- getUpsertDirtyFloorStatement(db).run(sessionId, getLastIndexedOrdinal(db, sessionId), dirtyFloor, Date.now(), getHarness2());
1002
+ getUpsertDirtyFloorStatement(db).run(sessionId, getLastIndexedOrdinal2(db, sessionId), dirtyFloor, Date.now(), getHarness2());
1003
1003
  }
1004
1004
  function isMessageAlreadyIndexed(db, sessionId, messageId) {
1005
1005
  const row = getCountIndexedMessageStatement(db).get(sessionId, messageId);
@@ -1008,23 +1008,23 @@ function isMessageAlreadyIndexed(db, sessionId, messageId) {
1008
1008
  function setIndexProgress(db, sessionId, watermark, dirtyFloor, now) {
1009
1009
  getUpsertProgressStatement(db).run(sessionId, Math.max(0, Math.floor(watermark)), dirtyFloor ?? 0, now, getHarness2());
1010
1010
  }
1011
- function getMessageIndexReconciliationStartOrdinal(db, sessionId) {
1012
- const watermark = getLastIndexedOrdinal(db, sessionId);
1011
+ function getMessageIndexReconciliationStartOrdinal2(db, sessionId) {
1012
+ const watermark = getLastIndexedOrdinal2(db, sessionId);
1013
1013
  const dirtyFloor = getDirtyIndexFloor(db, sessionId);
1014
1014
  return dirtyFloor === null ? watermark : Math.min(watermark, dirtyFloor - 1);
1015
1015
  }
1016
- function isMessageIndexReconciledThrough(db, sessionId, finalWatermark) {
1016
+ function isMessageIndexReconciledThrough2(db, sessionId, finalWatermark) {
1017
1017
  const dirtyFloor = getDirtyIndexFloor(db, sessionId);
1018
- return getLastIndexedOrdinal(db, sessionId) >= finalWatermark && dirtyFloor === null;
1018
+ return getLastIndexedOrdinal2(db, sessionId) >= finalWatermark && dirtyFloor === null;
1019
1019
  }
1020
- function deleteIndexedMessage(db, sessionId, messageId) {
1020
+ function deleteIndexedMessage2(db, sessionId, messageId) {
1021
1021
  deleteMessageIndexSkips(db, sessionId, messageId);
1022
1022
  const row = getCountIndexedMessageStatement(db).get(sessionId, messageId);
1023
1023
  const count = typeof row?.count === "number" ? row.count : 0;
1024
- clearIndexedMessages(db, sessionId);
1024
+ clearIndexedMessages2(db, sessionId);
1025
1025
  return count;
1026
1026
  }
1027
- function clearIndexedMessagesInTransaction(db, sessionId) {
1027
+ function clearIndexedMessagesInTransaction2(db, sessionId) {
1028
1028
  deleteMessageIndexSkips(db, sessionId);
1029
1029
  getDeleteFtsStatement(db).run(sessionId);
1030
1030
  deleteUnmappedMessageFtsRows(db, [sessionId]);
@@ -1033,15 +1033,15 @@ function clearIndexedMessagesInTransaction(db, sessionId) {
1033
1033
  getDeleteIndexStatement(db).run(sessionId);
1034
1034
  clearCompressionDepth(db, sessionId);
1035
1035
  }
1036
- function clearIndexedMessages(db, sessionId) {
1036
+ function clearIndexedMessages2(db, sessionId) {
1037
1037
  let transactionStartedAt = 0;
1038
1038
  db.transaction(() => {
1039
1039
  transactionStartedAt = performance.now();
1040
- clearIndexedMessagesInTransaction(db, sessionId);
1040
+ clearIndexedMessagesInTransaction2(db, sessionId);
1041
1041
  }).immediate();
1042
1042
  logSlowWriteTransaction("message_index_clear", transactionStartedAt);
1043
1043
  }
1044
- function getIndexableContent(role, parts) {
1044
+ function getIndexableContent2(role, parts) {
1045
1045
  if (role === "user") {
1046
1046
  if (!hasMeaningfulUserText2(parts)) {
1047
1047
  return "";
@@ -1054,7 +1054,7 @@ function getIndexableContent(role, parts) {
1054
1054
  return "";
1055
1055
  }
1056
1056
  function indexSingleMessageInTransaction(db, sessionId, message, now, dirtyFloorBeforeAttempt, source) {
1057
- const currentWatermark = getLastIndexedOrdinal(db, sessionId);
1057
+ const currentWatermark = getLastIndexedOrdinal2(db, sessionId);
1058
1058
  const dirtyFloor = getDirtyIndexFloor(db, sessionId);
1059
1059
  if (message.ordinal <= currentWatermark) {
1060
1060
  if (isIndexSourceCurrent(db, sessionId, source)) {
@@ -1085,17 +1085,17 @@ function indexSingleMessageInTransaction(db, sessionId, message, now, dirtyFloor
1085
1085
  setIndexProgress(db, sessionId, message.ordinal, dirtyFloorBeforeAttempt === message.ordinal ? null : dirtyFloorBeforeAttempt, now);
1086
1086
  return inserted;
1087
1087
  }
1088
- function indexSingleMessage(db, sessionId, message, shouldCommit = () => true, preparedSource) {
1088
+ function indexSingleMessage2(db, sessionId, message, shouldCommit = () => true, preparedSource) {
1089
1089
  if (!shouldCommit())
1090
1090
  return false;
1091
1091
  const source = preparedSource ?? getMessageSourceSnapshot(message);
1092
- const currentWatermark = getLastIndexedOrdinal(db, sessionId);
1092
+ const currentWatermark = getLastIndexedOrdinal2(db, sessionId);
1093
1093
  if (message.ordinal <= currentWatermark && isIndexSourceCurrent(db, sessionId, source)) {
1094
1094
  recordIndexedMessageTime(db, sessionId, message.ordinal, message.createdAt);
1095
1095
  return false;
1096
1096
  }
1097
1097
  const dirtyFloorBeforeAttempt = getDirtyIndexFloor(db, sessionId);
1098
- markMessageIndexDirty(db, sessionId, Math.min(message.ordinal, currentWatermark + 1));
1098
+ markMessageIndexDirty2(db, sessionId, Math.min(message.ordinal, currentWatermark + 1));
1099
1099
  db.exec("BEGIN IMMEDIATE");
1100
1100
  const transactionStartedAt = performance.now();
1101
1101
  let committed = false;
@@ -1115,10 +1115,10 @@ function indexSingleMessage(db, sessionId, message, shouldCommit = () => true, p
1115
1115
  }
1116
1116
  }
1117
1117
  }
1118
- function indexMessagesAfterOrdinal(db, sessionId, messages, _lastIndexedOrdinal, finalWatermark = messages.length) {
1119
- return indexItemsAfterOrdinal(db, sessionId, messages, finalWatermark, toMessageIndexSource);
1118
+ function indexMessagesAfterOrdinal2(db, sessionId, messages, _lastIndexedOrdinal, finalWatermark = messages.length) {
1119
+ return indexItemsAfterOrdinal(db, sessionId, messages, finalWatermark, toMessageIndexSource2);
1120
1120
  }
1121
- function indexSourcesAfterOrdinal(db, sessionId, sources, finalWatermark) {
1121
+ function indexSourcesAfterOrdinal2(db, sessionId, sources, finalWatermark) {
1122
1122
  return indexItemsAfterOrdinal(db, sessionId, sources, finalWatermark, (source) => source);
1123
1123
  }
1124
1124
  function indexItemsAfterOrdinal(db, sessionId, items, finalWatermark, toSource) {
@@ -1129,7 +1129,7 @@ function indexItemsAfterOrdinal(db, sessionId, items, finalWatermark, toSource)
1129
1129
  const transactionStartedAt = performance.now();
1130
1130
  let committed = false;
1131
1131
  try {
1132
- const currentWatermark = getLastIndexedOrdinal(db, sessionId);
1132
+ const currentWatermark = getLastIndexedOrdinal2(db, sessionId);
1133
1133
  const dirtyFloor = getDirtyIndexFloor(db, sessionId);
1134
1134
  const effectiveWatermark = dirtyFloor === null ? currentWatermark : Math.min(currentWatermark, Math.max(0, dirtyFloor - 1));
1135
1135
  if (dirtyFloor !== null && dirtyFloor <= currentWatermark && !messageFtsOrdinalRangeIsMapped(db, sessionId, dirtyFloor, Math.min(currentWatermark, finalWatermark))) {
@@ -1283,7 +1283,7 @@ function sweepOrphanedOpenCodeMessageIndexesInBackground(db, openReadableOpenCod
1283
1283
  AND message_history_index.updated_at > ?
1284
1284
  )
1285
1285
  LIMIT 1`);
1286
- const eligibleSessionIds = missingSessionIds.filter((sessionId) => stillEligible.get(sessionId, cutoff));
1286
+ const eligibleSessionIds = missingSessionIds.filter((sessionId) => !sessionExists.get(sessionId) && stillEligible.get(sessionId, cutoff));
1287
1287
  deleted = deleteSessionScopedRows(db, eligibleSessionIds, harness);
1288
1288
  persistMessageHistoryOrphanSweepState(db, nextCursor, completedAt, harness);
1289
1289
  db.exec("COMMIT");
@@ -1306,8 +1306,8 @@ function sweepOrphanedOpenCodeMessageIndexesInBackground(db, openReadableOpenCod
1306
1306
  closeQuietly(openCodeDb);
1307
1307
  }
1308
1308
  }
1309
- function sweepOrphanedOpenCodeMessageIndexes(db, openReadableOpenCodeDb, options = {}) {
1309
+ function sweepOrphanedOpenCodeMessageIndexes2(db, openReadableOpenCodeDb, options = {}) {
1310
1310
  return withoutSqliteTransformPass2(() => withSqliteBackgroundWriter2(() => sweepOrphanedOpenCodeMessageIndexesInBackground(db, openReadableOpenCodeDb, options)));
1311
1311
  }
1312
1312
 
1313
- export { BoundedSessionMap, advanceSessionActivity, observeSessionActivity, backfillSessionActivity, clearCompressionDepth, clearCompressionDepthRange, LkgRecoveryFenceError, clearLkgFenceProcessState, lkgServedArrayDigest, hasCleanLkgRecoveryFence, lkgFenceRequiresRebuild, lkgRecoveryFenceUnclean, dirtyLkgRecoveryRevision, ownsLkgDirtyFence, invalidateCleanLkgRecoveryFence, prepareLkgCaptureFence, certifyCommittedLkgCapture, markLkgRecoveryDirty, commitLkgWithRecoveryFence, clearLkgRecoveryFence, deleteSessionScopedRows, MESSAGE_INDEX_MAX_FTS_BYTES, messageIndexSkipKey, toMessageIndexSource, getMessageIndexSourceIdentity, isMessageIndexSourceCurrent, getLastIndexedOrdinal, getIndexedMessageCorpusSize, markMessageIndexDirty, getMessageIndexReconciliationStartOrdinal, isMessageIndexReconciledThrough, deleteIndexedMessage, clearIndexedMessagesInTransaction, clearIndexedMessages, getIndexableContent, indexSingleMessage, indexMessagesAfterOrdinal, indexSourcesAfterOrdinal, sweepOrphanedOpenCodeMessageIndexes };
1313
+ export { BoundedSessionMap, advanceSessionActivity, observeSessionActivity, backfillSessionActivity, clearCompressionDepth, clearCompressionDepthRange, LkgRecoveryFenceError, clearLkgFenceProcessState, lkgServedArrayDigest, hasCleanLkgRecoveryFence, lkgFenceRequiresRebuild, lkgRecoveryFenceUnclean, dirtyLkgRecoveryRevision, ownsLkgDirtyFence, invalidateCleanLkgRecoveryFence, prepareLkgCaptureFence, certifyCommittedLkgCapture, markLkgRecoveryDirty, commitLkgWithRecoveryFence, clearLkgRecoveryFence, deleteSessionScopedRows, MESSAGE_INDEX_MAX_FTS_BYTES2, messageIndexSkipKey2, toMessageIndexSource2, getMessageIndexSourceIdentity2, isMessageIndexSourceCurrent2, getLastIndexedOrdinal2, getIndexedMessageCorpusSize2, markMessageIndexDirty2, getMessageIndexReconciliationStartOrdinal2, isMessageIndexReconciledThrough2, deleteIndexedMessage2, clearIndexedMessagesInTransaction2, clearIndexedMessages2, getIndexableContent2, indexSingleMessage2, indexMessagesAfterOrdinal2, indexSourcesAfterOrdinal2, sweepOrphanedOpenCodeMessageIndexes2 };
@@ -200,10 +200,10 @@ function classifyGitError(error, rawDirectory) {
200
200
  }
201
201
  return new ProjectIdentityError("unknown", rawDirectory, "git rev-list failed while resolving project identity", asError(error));
202
202
  }
203
- function resolveProjectIdentityStrict(directory, allowHomeProject = homeProjectPermission) {
203
+ function resolveProjectIdentityStrict(directory, allowHomeProject = homeProjectPermission, options = {}) {
204
204
  assertProjectAllowed(directory, allowHomeProject);
205
205
  const canonical = path2.resolve(directory);
206
- const cached = identityCache.get(canonical);
206
+ const cached = options.cache === false ? undefined : identityCache.get(canonical);
207
207
  if (cached !== undefined) {
208
208
  return cached;
209
209
  }
@@ -234,6 +234,8 @@ function resolveProjectIdentityStrict(directory, allowHomeProject = homeProjectP
234
234
  throw new ProjectIdentityError("unknown", directory, "git rev-list returned no valid root commit hash");
235
235
  }
236
236
  const identity = `git:${rootCommit}`;
237
+ if (options.cache === false)
238
+ return identity;
237
239
  identityCache.set(canonical, identity);
238
240
  lastKnownGitIdentityCache.set(canonical, identity);
239
241
  rememberGitIdentity(canonical, identity);
@@ -15,7 +15,7 @@ import {
15
15
  OpenAICompatibleEmbeddingProvider,
16
16
  getProjectEmbeddingSnapshot2,
17
17
  embedBatchForProject2
18
- } from "./index-fg00p1cg.js";
18
+ } from "./index-c0b01zrc.js";
19
19
  import {
20
20
  isEmbeddingHostBusy2
21
21
  } from "./index-qt1qqasc.js";
@@ -23,7 +23,7 @@ import {
23
23
  TAG_SELECT_COLUMNS2,
24
24
  getCandidateToolOwners2,
25
25
  pickNearestPriorOwner2
26
- } from "./index-nydv6g8r.js";
26
+ } from "./index-yqps2zsv.js";
27
27
  import {
28
28
  OMO_INTERNAL_INITIATOR_MARKER,
29
29
  isSystemDirective,
@@ -68,13 +68,13 @@ import {
68
68
  readRawSeedTailFromDb2,
69
69
  readRawSessionBoundaryEndpointsFromDb2,
70
70
  prewarmRawSessionOrdinalsForDb
71
- } from "./index-h5zfkjyk.js";
71
+ } from "./index-jpm52v9x.js";
72
72
  import {
73
73
  openCodeDbExists,
74
74
  withReadOnlySessionDb,
75
75
  getRawSessionMessageCountFromDb,
76
76
  getMessageTimesFromOpenCodeDb
77
- } from "./index-0pjvpfkf.js";
77
+ } from "./index-qvr78ej6.js";
78
78
  import {
79
79
  getToolDefinitionMeasurementSignature,
80
80
  getLargestMeasuredToolDefinitionTokens,
@@ -3814,6 +3814,29 @@ function clearPendingCompactionMarkerStateIf(db, sessionId, expected) {
3814
3814
  WHERE session_id = ? AND pending_compaction_marker_state = ?`).run(sessionId, expectedBlob);
3815
3815
  return result.changes > 0;
3816
3816
  }
3817
+ function isPendingPiCompactionMarker(value) {
3818
+ 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";
3819
+ }
3820
+ function getPendingPiCompactionMarkerState(db, sessionId) {
3821
+ const row = db.prepare("SELECT pending_pi_compaction_marker_state FROM session_meta WHERE session_id = ?").get(sessionId);
3822
+ const raw = row?.pending_pi_compaction_marker_state;
3823
+ if (raw === null || raw === undefined || raw === "")
3824
+ return null;
3825
+ try {
3826
+ const parsed = JSON.parse(raw);
3827
+ if (isPendingPiCompactionMarker(parsed)) {
3828
+ return parsed;
3829
+ }
3830
+ } catch {}
3831
+ db.prepare("UPDATE session_meta SET pending_pi_compaction_marker_state = NULL WHERE session_id = ? AND pending_pi_compaction_marker_state = ?").run(sessionId, raw);
3832
+ return null;
3833
+ }
3834
+ function clearPendingPiCompactionMarkerStateIf(db, sessionId, expected) {
3835
+ const expectedBlob = stableStringify(expected);
3836
+ const result = db.prepare(`UPDATE session_meta SET pending_pi_compaction_marker_state = NULL
3837
+ WHERE session_id = ? AND pending_pi_compaction_marker_state = ?`).run(sessionId, expectedBlob);
3838
+ return result.changes > 0;
3839
+ }
3817
3840
  function getSessionsWithPendingMarker(db) {
3818
3841
  const rows = db.prepare(`SELECT session_id FROM session_meta
3819
3842
  WHERE pending_compaction_marker_state IS NOT NULL
@@ -6912,6 +6935,14 @@ function readSessionChunk2(sessionId, tokenBudget, offset = 1, eligibleEndOrdina
6912
6935
  pinComponentWhenFormattedBudgetCrosses(msg.ordinal, text);
6913
6936
  }
6914
6937
  if (flushCurrentBlock() && pendingNoiseMeta.length > 0) {
6938
+ const lastNoise = pendingNoiseMeta[pendingNoiseMeta.length - 1];
6939
+ if (messagesProcessed > 0 && lastNoise) {
6940
+ lineMeta.push(...pendingNoiseMeta);
6941
+ messagesProcessed += pendingNoiseMeta.length;
6942
+ lastOrdinal = lastNoise.ordinal;
6943
+ lastMessageId = lastNoise.messageId;
6944
+ pendingNoiseMeta = [];
6945
+ }
6915
6946
  highestScannedOrdinal = Math.max(highestScannedOrdinal, pendingNoiseMeta[pendingNoiseMeta.length - 1]?.ordinal ?? highestScannedOrdinal);
6916
6947
  }
6917
6948
  const toolOnlyRanges = [];
@@ -6969,4 +7000,4 @@ function readRawSessionSeedTail2(sessionId, boundaryId, onQuery) {
6969
7000
  });
6970
7001
  }
6971
7002
 
6972
- export { expandToolPart, markHostUnservedRow, retreatPastHostUnservedRows, snapTerminalCompartmentToServedRow, isHostRenderedSystemMessage, completedToolArcCrossesBoundary, estimateTrueRawMessageTokens, buildToolArcs, fenceBoundaryForCompletedToolArcs, fenceBoundaryForToolArcs, buildTrueRawTokenIndex, computeRawRangeFingerprint, invalidateTrueRawTokenCache, stripSystemInjection, isTextPart, isToolPartWithOutput, isFilePart, buildFileSourceContent, toolPartHasUserAnswer, DreamTokenBudgetExceeded, TOKEN_BUDGET_FINALIZE_MESSAGE, registerBudgetFinalizeChild, releaseBudgetFinalizeChild, createDreamTokenBudget, recordToolParameters, createDroppedInputGuard, assertExecutableToolInput, createDroppedInputToolExecuteBeforeHook, isEditTool, MERGED_REASONING_PARTS_PREFIX, decodeMergedReasoningParts, MAX_EXECUTE_THRESHOLD, escalationBands, HYGIENE_PROVIDER_UNITS_VERSION, sessionDecisionCalibration, transitionSessionHygieneUnits, getProtectionWindowForSession, SESSION_META_SELECT_COLUMNS, META_COLUMNS, BOOLEAN_META_KEYS, NULL_BIND_META_KEYS, isSessionMetaRow, getDefaultSessionMeta, ensureSessionMetaRow, toSessionMeta, persistCachedM0, clearCachedM0M1, isRustMarkerAdmissionFenced, setRustMarkerAdmissionFence, ReplayDocumentError, readReplayEnvelope, readReplayDocument, updateReplayDocument, writeReplayDocument, isEmergencyRecoveryArmed, isProviderOverflowReconfirmed, isProviderOverflowFailClosedProven, getEmergencyRecoveryArmedAt, describeProtectedTailDrainBudgetSkip, loadPersistedUsage, loadProtectedTailMeta, markProtectedTailPolicyV3Seeded, recordProtectedTailPublicationFloor, recordProtectedTailNoEligibleHead, resetProtectedTailNoEligibleHead, getWrapupInProgressState, isWrapupInProgress, acquireWrapupInProgress, updateWrapupInProgress, releaseWrapupInProgress, resolveCompactionModeRecord, getCompactionModeRecord, setCompactionModeRecord, getProtectedTailDrainBudgetSkip, reserveProtectedTailDrainTokens, clearEmergencyDrainLatch, recordHistorianDrainFailure, clearHistorianDrainFailure, rollbackProtectedTailDrainReservation, getPersistedReasoningWatermark, setPersistedReasoningWatermark, clearPersistedReasoningWatermark, getEmergencyInputSample, setEmergencyDropSample, clearEmergencyDropSample, getLastNudgeUndropped, setLastNudgeUndropped, getChannel1NudgeState, setChannel1NudgeState, markChannel1PostReduceGracePending, captureChannel1PostReduceGraceBaseline, getChannel2NudgeState, getChannel2NudgeClaim, setChannel2NudgeState, casChannel2NudgeState, claimChannel2NudgeState, casChannel2NudgeClaim, getPersistedNoteNudge, setPersistedNoteNudgeTrigger, setPersistedNoteNudgeTriggerMessageId, getNoteNudgeAnchors, getAutoSearchHintDecisions, deliverNoteNudgeAtomic, appendAutoSearchHintDecision, pruneNoteNudgeAnchors, removeNoteNudgeAnchorByMessageId, queueAutoSearchHintDecisionRetirement, flushAutoSearchHintDecisionRetirement, removeAutoSearchHintDecisionByMessageId, getPersistedTodoPermissionDenied, setPersistedTodoPermissionDenied, getPersistedTodoSyntheticAnchor, setPersistedTodoSyntheticAnchor, clearPersistedTodoSyntheticAnchor, getNoteLastReadAt, setNoteLastReadAt, getHistorianFailureState, incrementHistorianFailure, clearHistorianFailureState, getOverflowState, loadTransformPassStateSnapshot, recordOverflowDetected, recordDetectedContextLimit, clearEmergencyRecovery, clearDetectedContextLimit, getPersistedCompactionMarkerState, setPersistedCompactionMarkerState, getDeferredClearedCompactionMarkerState, retireDeferredClearedCompactionMarkerState, parseStrippedPlaceholderState, serializeStrippedPlaceholderState, getStrippedPlaceholderIds, applyStrippedPlaceholderDelta, removeStrippedPlaceholderId, THINKING_BINDING_RECOVERY_FROZEN_PREFIX, THINKING_BINDING_STRIP_ORDER_END_MARKER, thinkingBindingRecoveryFrozenId, getThinkingBindingRecoveryTarget, armThinkingBindingRecovery, clearThinkingBindingRecoveryIf, getMergedReasoningStrippedIds, addMergedReasoningStrippedIds, getTrailingBlankDecisions, addTrailingBlankDecisions, demoteTrailingBlankKeepDecisions, getStaleReduceStrippedIds, addStaleReduceStrippedIds, getProcessedImageStrippedIds, addProcessedImageStrippedIds, getPendingCompactionMarkerState, getCompactionMarkerHealth, loadPostprocessReplaySnapshot, setPendingCompactionMarkerState, replacePendingCompactionMarkerStateIf, clearPendingCompactionMarkerStateIf, getSessionsWithPendingMarker, setSessionWorkMetrics, getObservedEpochFloor, resolveEpochFloorForPass, getReasoningRemovalState, addRemovedReasoningIds, markDropLeavesReasoning, detectThinkingBindingMismatch, detectLatestTurnThinkingMismatch, isPrefixBoundThinkingModel, detectOverflow, modelAcceptsEmptyContent, isAnthropicFamilyRoute, neutralizeDroppedReasoningPart, restoreNeutralizedReasoningPart, isNeutralizedReasoningPart, variantChangeBustsProviderCache, makeSentinel, makeWholeMessageSentinel, isSentinel, replaySentinelByMessageIds, isInActiveAnthropicTurn, activeAnthropicTurnStart, hasAnthropicReasoning, stripSystemInjectedMessages, stripDroppedPlaceholderMessages, replayClearedReasoning, replayStrippedInlineThinking, clearOldReasoning, stripClearedReasoning, stripInlineThinking, findReasoningBearingAssistantIds, findLatestAssistantReasoningMutationExemptMessage, snapshotTrailingBlankSourceDecisions, findTrailingBlankDecisionCandidates, applyFrozenTrailingBlankDecisions, stripReasoningFromAssistantIds, findMergedReasoningStripDecisions, stripReasoningFromMergedAssistants, stripProcessedImages, projectOpencodeReasoningBudgetCutoff, DEFAULT_KEEP_REASONING_TOKENS, resolveKeepReasoningTokens, reasoningStepCost, 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 };
7003
+ export { expandToolPart, markHostUnservedRow, retreatPastHostUnservedRows, snapTerminalCompartmentToServedRow, isHostRenderedSystemMessage, completedToolArcCrossesBoundary, estimateTrueRawMessageTokens, buildToolArcs, fenceBoundaryForCompletedToolArcs, fenceBoundaryForToolArcs, buildTrueRawTokenIndex, computeRawRangeFingerprint, invalidateTrueRawTokenCache, stripSystemInjection, isTextPart, isToolPartWithOutput, isFilePart, buildFileSourceContent, toolPartHasUserAnswer, DreamTokenBudgetExceeded, TOKEN_BUDGET_FINALIZE_MESSAGE, registerBudgetFinalizeChild, releaseBudgetFinalizeChild, createDreamTokenBudget, recordToolParameters, createDroppedInputGuard, assertExecutableToolInput, createDroppedInputToolExecuteBeforeHook, isEditTool, MERGED_REASONING_PARTS_PREFIX, decodeMergedReasoningParts, MAX_EXECUTE_THRESHOLD, escalationBands, HYGIENE_PROVIDER_UNITS_VERSION, sessionDecisionCalibration, transitionSessionHygieneUnits, getProtectionWindowForSession, SESSION_META_SELECT_COLUMNS, META_COLUMNS, BOOLEAN_META_KEYS, NULL_BIND_META_KEYS, isSessionMetaRow, getDefaultSessionMeta, ensureSessionMetaRow, toSessionMeta, persistCachedM0, clearCachedM0M1, isRustMarkerAdmissionFenced, setRustMarkerAdmissionFence, ReplayDocumentError, readReplayEnvelope, readReplayDocument, updateReplayDocument, writeReplayDocument, isEmergencyRecoveryArmed, isProviderOverflowReconfirmed, isProviderOverflowFailClosedProven, getEmergencyRecoveryArmedAt, describeProtectedTailDrainBudgetSkip, loadPersistedUsage, loadProtectedTailMeta, markProtectedTailPolicyV3Seeded, recordProtectedTailPublicationFloor, recordProtectedTailNoEligibleHead, resetProtectedTailNoEligibleHead, getWrapupInProgressState, isWrapupInProgress, acquireWrapupInProgress, updateWrapupInProgress, releaseWrapupInProgress, resolveCompactionModeRecord, getCompactionModeRecord, setCompactionModeRecord, getProtectedTailDrainBudgetSkip, reserveProtectedTailDrainTokens, clearEmergencyDrainLatch, recordHistorianDrainFailure, clearHistorianDrainFailure, rollbackProtectedTailDrainReservation, getPersistedReasoningWatermark, setPersistedReasoningWatermark, clearPersistedReasoningWatermark, getEmergencyInputSample, setEmergencyDropSample, clearEmergencyDropSample, getLastNudgeUndropped, setLastNudgeUndropped, getChannel1NudgeState, setChannel1NudgeState, markChannel1PostReduceGracePending, captureChannel1PostReduceGraceBaseline, getChannel2NudgeState, getChannel2NudgeClaim, setChannel2NudgeState, casChannel2NudgeState, claimChannel2NudgeState, casChannel2NudgeClaim, getPersistedNoteNudge, setPersistedNoteNudgeTrigger, setPersistedNoteNudgeTriggerMessageId, getNoteNudgeAnchors, getAutoSearchHintDecisions, deliverNoteNudgeAtomic, appendAutoSearchHintDecision, pruneNoteNudgeAnchors, removeNoteNudgeAnchorByMessageId, queueAutoSearchHintDecisionRetirement, flushAutoSearchHintDecisionRetirement, removeAutoSearchHintDecisionByMessageId, getPersistedTodoPermissionDenied, setPersistedTodoPermissionDenied, getPersistedTodoSyntheticAnchor, setPersistedTodoSyntheticAnchor, clearPersistedTodoSyntheticAnchor, getNoteLastReadAt, setNoteLastReadAt, getHistorianFailureState, incrementHistorianFailure, clearHistorianFailureState, getOverflowState, loadTransformPassStateSnapshot, recordOverflowDetected, recordDetectedContextLimit, clearEmergencyRecovery, clearDetectedContextLimit, getPersistedCompactionMarkerState, setPersistedCompactionMarkerState, getDeferredClearedCompactionMarkerState, retireDeferredClearedCompactionMarkerState, parseStrippedPlaceholderState, serializeStrippedPlaceholderState, getStrippedPlaceholderIds, applyStrippedPlaceholderDelta, removeStrippedPlaceholderId, THINKING_BINDING_RECOVERY_FROZEN_PREFIX, THINKING_BINDING_STRIP_ORDER_END_MARKER, thinkingBindingRecoveryFrozenId, getThinkingBindingRecoveryTarget, armThinkingBindingRecovery, clearThinkingBindingRecoveryIf, getMergedReasoningStrippedIds, addMergedReasoningStrippedIds, getTrailingBlankDecisions, addTrailingBlankDecisions, demoteTrailingBlankKeepDecisions, getStaleReduceStrippedIds, addStaleReduceStrippedIds, getProcessedImageStrippedIds, addProcessedImageStrippedIds, getPendingCompactionMarkerState, getCompactionMarkerHealth, loadPostprocessReplaySnapshot, setPendingCompactionMarkerState, replacePendingCompactionMarkerStateIf, clearPendingCompactionMarkerStateIf, getPendingPiCompactionMarkerState, clearPendingPiCompactionMarkerStateIf, getSessionsWithPendingMarker, setSessionWorkMetrics, getObservedEpochFloor, resolveEpochFloorForPass, getReasoningRemovalState, addRemovedReasoningIds, markDropLeavesReasoning, detectThinkingBindingMismatch, detectLatestTurnThinkingMismatch, isPrefixBoundThinkingModel, detectOverflow, modelAcceptsEmptyContent, isAnthropicFamilyRoute, neutralizeDroppedReasoningPart, restoreNeutralizedReasoningPart, isNeutralizedReasoningPart, variantChangeBustsProviderCache, makeSentinel, makeWholeMessageSentinel, isSentinel, replaySentinelByMessageIds, isInActiveAnthropicTurn, activeAnthropicTurnStart, hasAnthropicReasoning, stripSystemInjectedMessages, stripDroppedPlaceholderMessages, replayClearedReasoning, replayStrippedInlineThinking, clearOldReasoning, stripClearedReasoning, stripInlineThinking, findReasoningBearingAssistantIds, findLatestAssistantReasoningMutationExemptMessage, snapshotTrailingBlankSourceDecisions, findTrailingBlankDecisionCandidates, applyFrozenTrailingBlankDecisions, stripReasoningFromAssistantIds, findMergedReasoningStripDecisions, stripReasoningFromMergedAssistants, stripProcessedImages, projectOpencodeReasoningBudgetCutoff, DEFAULT_KEEP_REASONING_TOKENS, resolveKeepReasoningTokens, reasoningStepCost, 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 };
@@ -10,7 +10,7 @@ import {
10
10
  } from "./index-tqf7yg27.js";
11
11
  import {
12
12
  shouldHoldIgnoredNotification
13
- } from "./index-0pjvpfkf.js";
13
+ } from "./index-qvr78ej6.js";
14
14
  import {
15
15
  getErrorMessage
16
16
  } from "./index-y8v6yerm.js";
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  isUserHomeDirectory,
10
10
  setBootQuietPeriodForTests
11
- } from "./index-gzky5rva.js";
11
+ } from "./index-41gqa557.js";
12
12
  import {
13
13
  withSqliteBackgroundWriter2,
14
14
  withoutSqliteTransformPass2,
@@ -39,7 +39,7 @@ import {
39
39
  countSessionCompartmentEmbedCoverage,
40
40
  countSessionCompartmentEmbedCoveragePolite,
41
41
  countUnembeddedSessionCompartmentsPolite
42
- } from "./index-p1hnwfd8.js";
42
+ } from "./index-gcdb3rqw.js";
43
43
  import {
44
44
  DEFAULT_LOCAL_EMBEDDING_MODEL
45
45
  } from "./index-k6xvbj2e.js";
@@ -14,10 +14,10 @@ import {
14
14
  } from "./index-fr0wbhdn.js";
15
15
  import {
16
16
  managedAuthorityNoteRow
17
- } from "./index-att4bfan.js";
17
+ } from "./index-xfbfrngb.js";
18
18
  import {
19
19
  embedTextForProject2
20
- } from "./index-fg00p1cg.js";
20
+ } from "./index-c0b01zrc.js";
21
21
  import {
22
22
  saveEmbeddingIfHashMatches
23
23
  } from "./index-4dhv7mqz.js";
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  buildCanonicalChunkTextFromFts,
21
21
  loadCompartmentChunkEmbeddingsForSearch
22
- } from "./index-p1hnwfd8.js";
22
+ } from "./index-gcdb3rqw.js";
23
23
  import {
24
24
  recordEmbeddingMeasurement,
25
25
  saveCommitEmbedding,
@@ -36,7 +36,7 @@ import {
36
36
  enqueueShadowEmbeddingItems2,
37
37
  getProjectEmbeddingSnapshot2,
38
38
  embedItemsForProject2
39
- } from "./index-fg00p1cg.js";
39
+ } from "./index-c0b01zrc.js";
40
40
  import {
41
41
  getProjectEmbeddings2
42
42
  } from "./index-4dhv7mqz.js";
@@ -45,7 +45,7 @@ import {
45
45
  isEmbeddingEnabled,
46
46
  embedText,
47
47
  ensureMemoryEmbeddings2
48
- } from "./index-r2zcs71c.js";
48
+ } from "./index-7ndnvw7a.js";
49
49
  import {
50
50
  ModuleMemoryAuthorityError2,
51
51
  getMemoriesByProject2,
@@ -60,20 +60,20 @@ import {
60
60
  sanitizeFtsQuery,
61
61
  searchMemoriesFTS,
62
62
  searchMemoriesFTSUnion
63
- } from "./index-rafsaxac.js";
63
+ } from "./index-fjtgekd4.js";
64
64
  import {
65
65
  isRecord
66
- } from "./index-nydv6g8r.js";
66
+ } from "./index-yqps2zsv.js";
67
67
  import {
68
- getIndexedMessageCorpusSize
69
- } from "./index-sfhndpcb.js";
68
+ getIndexedMessageCorpusSize2
69
+ } from "./index-3wckxwfp.js";
70
70
  import {
71
71
  resolveWorkspaceShareCategories,
72
72
  resolveWorkspaceIdentitySet,
73
73
  expandWorkspaceIdentitySetWithAliases,
74
74
  resolveStoredPathWorkspaceIdentity,
75
75
  sourceNameForMemory
76
- } from "./index-att4bfan.js";
76
+ } from "./index-xfbfrngb.js";
77
77
  import {
78
78
  isKnownAutocommit
79
79
  } from "./index-8ajstryz.js";
@@ -2437,7 +2437,7 @@ function searchMessagesInSnapshot(args, sessionFirst) {
2437
2437
  return renderRows(args.limit);
2438
2438
  }
2439
2439
  const sanitizedProbes = probes.map((probe) => ({ probe, query: sanitizeFtsQuery(probe) })).filter((entry) => entry.query.length > 0);
2440
- const corpusSize = getIndexedMessageCorpusSize(args.db, args.sessionId, cutoff);
2440
+ const corpusSize = getIndexedMessageCorpusSize2(args.db, args.sessionId, cutoff);
2441
2441
  const probeCounts = countSessionFtsMatchesBatch(args.db, args.sessionId, sanitizedProbes.map((entry) => entry.query), cutoff, args.dateRange, sessionFirst);
2442
2442
  const collectBaseDiagnostics = args.diagnostics !== undefined && cutoff !== null;
2443
2443
  const baseOutcome = collectBaseDiagnostics && baseQuery.length > 0 ? runMessageFtsQueryWithDiagnostics({
@@ -15,7 +15,7 @@ import {
15
15
  getActiveCompartmentRun,
16
16
  markActiveCompartmentRunPublished,
17
17
  registerActiveCompartmentRun
18
- } from "./index-zfzdpeq2.js";
18
+ } from "./index-s4ztdn8v.js";
19
19
  import {
20
20
  getWrapupInProgressState,
21
21
  acquireWrapupInProgress,
@@ -24,17 +24,17 @@ import {
24
24
  getHistorianFailureState,
25
25
  clearEmergencyRecovery,
26
26
  prepareRawSessionOrdinals2
27
- } from "./index-sv0bb7vg.js";
27
+ } from "./index-7zg9dvx0.js";
28
28
  import {
29
29
  pushNotification2
30
30
  } from "./index-x8a7jmkh.js";
31
31
  import {
32
32
  sendStatusNotification2
33
- } from "./index-xgrwmj82.js";
33
+ } from "./index-bhk710rw.js";
34
34
  import {
35
35
  setRecompStarting2,
36
36
  setRecompTerminal2
37
- } from "./index-eypn4ba6.js";
37
+ } from "./index-w9pe0nx1.js";
38
38
 
39
39
  // src/hooks/magic-context/wrapup-orchestrator.ts
40
40
  import * as crypto from "node:crypto";
@@ -2,6 +2,9 @@ import {
2
2
  getSqliteDatabasePath2,
3
3
  releaseIndexOwner2
4
4
  } from "./index-kb9nn0a0.js";
5
+ import {
6
+ registerExitAbort
7
+ } from "./index-v0p37hm2.js";
5
8
  import {
6
9
  log2
7
10
  } from "./index-nsjyysj0.js";
@@ -11,29 +14,6 @@ import { isMainThread } from "node:worker_threads";
11
14
 
12
15
  // src/hooks/magic-context/raw-ordinal-warmup.ts
13
16
  import { Worker } from "node:worker_threads";
14
-
15
- // src/shared/exit-abort-registry.ts
16
- var controllers = new Set;
17
- var listenerRegistered = false;
18
- function abortAll() {
19
- for (const controller of controllers) {
20
- try {
21
- controller.abort();
22
- } catch {}
23
- }
24
- }
25
- function registerExitAbort(controller) {
26
- controllers.add(controller);
27
- if (listenerRegistered)
28
- return;
29
- listenerRegistered = true;
30
- process.once("exit", abortAll);
31
- }
32
- function unregisterExitAbort(controller) {
33
- controllers.delete(controller);
34
- }
35
-
36
- // src/hooks/magic-context/raw-ordinal-warmup.ts
37
17
  var ACCEPT_TIMEOUT_MS = 2000;
38
18
  var RESULT_TIMEOUT_MS = 10 * 60000;
39
19
  var FAILURE_BACKOFF_MS = 5 * 60000;
@@ -108,6 +88,8 @@ function runSessionWarmupWorker(input, options) {
108
88
  finish({ delta: reply.delta });
109
89
  else if (reply.kind === "indexed")
110
90
  finish({ inserted: reply.inserted, measurements: reply.measurements });
91
+ else if (reply.kind === "orphan-sweep")
92
+ finish({ orphanSweep: reply.result });
111
93
  else
112
94
  finish({ failure: "worker-error", detail: reply.error });
113
95
  });
@@ -1274,4 +1256,4 @@ function readRawSessionBoundaryEndpointsFromDb2(db, sessionId, ids, blockIds = [
1274
1256
  }
1275
1257
  }
1276
1258
 
1277
- export { registerExitAbort, unregisterExitAbort, isStrictGapHealingMessage2, isRawCompactionSummaryInfo2, readRawSessionMessagesFromDb2, readRawSessionMessagePageFromDb2, readRawSessionMessageSummaryPageFromDb2, countRawSessionMessageOrdinalsFromDb2, readRawSessionMessageIdOrdinalsForRangeFromDb2, readRawSessionMessageOrdinalPageFromDb2, countStoredRawSessionMessagesFromDb2, readRawSessionTailFromDb2, extractInMemoryMessageViews2, buildInMemoryTailRawMessages2, readRawSessionMessagePartsByIdFromDb2, forgetRawSessionOrdinalWatermark2, forgetRawSessionSummaryRows2, noteRawSessionSummaryRowWritten2, rawOrdinalSummarySeed2, scanRawSessionSummaryRows2, getRawSessionSummaryEpoch2, installRawSessionSummaryScan2, isRawSessionSummaryWarm2, readRawSessionMessageOrdinalByIdFromDb2, readRawSessionMessageByIdFromDb2, hasRawSessionMessageByIdFromDb2, readRawSeedTailFromDb2, readRawSessionBoundaryEndpointsFromDb2, runSessionWarmupWorker, prewarmRawSessionOrdinalsForDb };
1259
+ export { isStrictGapHealingMessage2, isRawCompactionSummaryInfo2, readRawSessionMessagesFromDb2, readRawSessionMessagePageFromDb2, readRawSessionMessageSummaryPageFromDb2, countRawSessionMessageOrdinalsFromDb2, readRawSessionMessageIdOrdinalsForRangeFromDb2, readRawSessionMessageOrdinalPageFromDb2, countStoredRawSessionMessagesFromDb2, readRawSessionTailFromDb2, extractInMemoryMessageViews2, buildInMemoryTailRawMessages2, readRawSessionMessagePartsByIdFromDb2, forgetRawSessionOrdinalWatermark2, forgetRawSessionSummaryRows2, noteRawSessionSummaryRowWritten2, rawOrdinalSummarySeed2, scanRawSessionSummaryRows2, getRawSessionSummaryEpoch2, installRawSessionSummaryScan2, isRawSessionSummaryWarm2, readRawSessionMessageOrdinalByIdFromDb2, readRawSessionMessageByIdFromDb2, hasRawSessionMessageByIdFromDb2, readRawSeedTailFromDb2, readRawSessionBoundaryEndpointsFromDb2, runSessionWarmupWorker, prewarmRawSessionOrdinalsForDb };
@@ -4,7 +4,7 @@ import {
4
4
  } from "./index-nsjyysj0.js";
5
5
  import {
6
6
  sendStatusNotification2
7
- } from "./index-xgrwmj82.js";
7
+ } from "./index-bhk710rw.js";
8
8
  import {
9
9
  formatConflictShort
10
10
  } from "./index-z1tjp257.js";