@cortexkit/opencode-magic-context 0.49.15 → 0.49.16

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 (123) hide show
  1. package/dist/auto-search-worker.js +3 -3
  2. package/dist/chunk-embedding-write-worker.js +5 -3
  3. package/dist/config/schema/magic-context.d.ts +65 -65
  4. package/dist/config/schema/magic-context.d.ts.map +1 -1
  5. package/dist/{conflict-warning-hook-mgq17yr3.js → conflict-warning-hook-znry4j76.js} +5 -5
  6. package/dist/{context-0m46day0.js → context-3znk23va.js} +26 -20
  7. package/dist/{embedding-backfill-5e1t5wha.js → embedding-backfill-q4n8dend.js} +8 -6
  8. package/dist/embedding-worker.js +2 -2
  9. package/dist/features/magic-context/message-fts-rowid-map.d.ts +2 -2
  10. package/dist/features/magic-context/message-fts-rowid-map.d.ts.map +1 -1
  11. package/dist/features/magic-context/message-fts-session-filter.d.ts +2 -0
  12. package/dist/features/magic-context/message-fts-session-filter.d.ts.map +1 -1
  13. package/dist/features/magic-context/message-time-backfill.d.ts +2 -2
  14. package/dist/features/magic-context/message-time-backfill.d.ts.map +1 -1
  15. package/dist/features/magic-context/storage-db.d.ts +2 -1
  16. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  17. package/dist/hooks/magic-context/compartment-runner-historian.d.ts +2 -2
  18. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  19. package/dist/hooks/magic-context/compartment-runner-validation.d.ts.map +1 -1
  20. package/dist/hooks/magic-context/emergency-drop.d.ts.map +1 -1
  21. package/dist/hooks/magic-context/historian-host-runner.d.ts.map +1 -1
  22. package/dist/hooks/magic-context/historian-prompt-fit.d.ts +2 -1
  23. package/dist/hooks/magic-context/historian-prompt-fit.d.ts.map +1 -1
  24. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts +26 -0
  25. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts.map +1 -1
  26. package/dist/hooks/magic-context/recomp-orchestrator.d.ts +3 -3
  27. package/dist/hooks/magic-context/recomp-orchestrator.d.ts.map +1 -1
  28. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  29. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  30. package/dist/{index-xn6q9pg6.js → index-4qfy7v57.js} +11 -62
  31. package/dist/{index-e4dsjj1p.js → index-5mwk1nek.js} +1 -1
  32. package/dist/index-6a6dq53h.js +96 -0
  33. package/dist/{index-e20m7284.js → index-7b2cfmaz.js} +1 -1
  34. package/dist/{index-mmfa86mt.js → index-7pa32z07.js} +169 -149
  35. package/dist/{index-3kdm78zp.js → index-9nkg2dzk.js} +3 -3
  36. package/dist/{index-snp5wbge.js → index-ayym1x7f.js} +25 -23
  37. package/dist/{index-dgs16axy.js → index-b17m64g9.js} +1 -1
  38. package/dist/{index-yxycg7fs.js → index-cj9g0j7a.js} +22 -14
  39. package/dist/{index-dyvbsvga.js → index-dqe8pq4x.js} +21 -10
  40. package/dist/{index-42vcjcwe.js → index-ek1yxvvz.js} +34 -76
  41. package/dist/{index-3kx0kg0f.js → index-hehkf6zm.js} +3 -3
  42. package/dist/{index-944w16m0.js → index-j6zw70pf.js} +4 -4
  43. package/dist/index-kaqs6h31.js +58 -0
  44. package/dist/{index-ts1hjk1h.js → index-kn4t1haw.js} +15 -12
  45. package/dist/{index-1d289pq2.js → index-mtw9e71a.js} +1 -1
  46. package/dist/{index-mht7bq0z.js → index-nd7m2a5a.js} +7 -5
  47. package/dist/{index-thvnpfsv.js → index-p4vde22c.js} +14 -14
  48. package/dist/{index-y1qysm3q.js → index-qrahzcqv.js} +3 -3
  49. package/dist/{index-1vc7jrkg.js → index-v63beg1z.js} +3 -3
  50. package/dist/{index-mc1cqza6.js → index-v9asb16b.js} +4 -4
  51. package/dist/{index-1sarmj9z.js → index-wgypt3cs.js} +6 -6
  52. package/dist/{index-bxdg2nbt.js → index-wv9n2zcq.js} +1 -1
  53. package/dist/index.js +38 -36
  54. package/dist/message-fts-rowid-map-yvx5a9jw.js +23 -0
  55. package/dist/{message-index-bounded-vtgpq6b4.js → message-index-bounded-6th8djy9.js} +8 -8
  56. package/dist/{message-index-a6gztaqx.js → message-index-t4pz7akd.js} +9 -9
  57. package/dist/{message-time-backfill-qjge9044.js → message-time-backfill-8egzkd3z.js} +4 -4
  58. package/dist/migration-worker.js +4 -2
  59. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  60. package/dist/{project-embedding-registry-x45bv3qr.js → project-embedding-registry-2dea0a77.js} +7 -5
  61. package/dist/raw-ordinal-warmup-worker.js +37 -7
  62. package/dist/{read-session-chunk-3ae3nfdn.js → read-session-chunk-4pwqxm5a.js} +6 -6
  63. package/dist/{read-session-raw-m56hc7v2.js → read-session-raw-5ar8se5v.js} +1 -1
  64. package/dist/{recomp-orchestrator-nwzcfhx4.js → recomp-orchestrator-tjcaj5x7.js} +17 -17
  65. package/dist/search-archive-02jws7hw.js +25 -0
  66. package/dist/{search-deajrd90.js → search-rb01n29x.js} +15 -14
  67. package/dist/{send-session-notification-24r4esbh.js → send-session-notification-2x9edkrp.js} +4 -4
  68. package/dist/shared/model-suggestion-retry.d.ts +2 -0
  69. package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
  70. package/dist/shared/resolve-fallbacks.d.ts +3 -3
  71. package/dist/{storage-tags-s5bg1ahx.js → storage-tags-4z1w27xa.js} +1 -1
  72. package/dist/tools/ctx-expand/search-archive.d.ts +5 -1
  73. package/dist/tools/ctx-expand/search-archive.d.ts.map +1 -1
  74. package/dist/{transform-postprocess-phase-ne3z1zmt.js → transform-postprocess-phase-xaw5c3xp.js} +17 -17
  75. package/dist/v2/auto-search-worker.js +3 -3
  76. package/dist/v2/chunk-embedding-write-worker.js +8 -6
  77. package/dist/v2/{context-4qczzck7.js → context-acw1nhv8.js} +52 -86
  78. package/dist/v2/{embedding-backfill-jmaf8zrr.js → embedding-backfill-jyd6492b.js} +10 -8
  79. package/dist/v2/embedding-worker.js +2 -2
  80. package/dist/v2/hooks/context.d.ts.map +1 -1
  81. package/dist/v2/message-fts-rowid-map-8vf0v7cr.js +22 -0
  82. package/dist/v2/{message-index-bounded-rxxznd34.js → message-index-bounded-dsrf49y7.js} +7 -7
  83. package/dist/v2/{message-index-f947qtbz.js → message-index-e6qzw477.js} +8 -8
  84. package/dist/v2/{message-time-backfill-bsteyc4d.js → message-time-backfill-q5pgxf0d.js} +4 -4
  85. package/dist/v2/migration-worker.js +6 -4
  86. package/dist/v2/{project-embedding-registry-0msp56p8.js → project-embedding-registry-rek75aqw.js} +9 -7
  87. package/dist/v2/raw-ordinal-warmup-worker.js +37 -7
  88. package/dist/v2/{read-session-chunk-rq9nx1nn.js → read-session-chunk-7bpygfv2.js} +5 -5
  89. package/dist/v2/{read-session-raw-b3tf6ra1.js → read-session-raw-pw2n1qgc.js} +1 -1
  90. package/dist/v2/{recomp-orchestrator-5zhxtwha.js → recomp-orchestrator-hzpgg06e.js} +18 -18
  91. package/dist/v2/search-archive-fn4wy8sx.js +24 -0
  92. package/dist/v2/{search-n8wqxb1j.js → search-sf2vg5pk.js} +17 -16
  93. package/dist/v2/{send-session-notification-8ghn9tnv.js → send-session-notification-hmr7q0nt.js} +2 -2
  94. package/dist/v2/{server-k2bzedxk.js → server-00hx04yn.js} +1 -1
  95. package/dist/v2/{server-atbc19ab.js → server-0mzjjw3s.js} +7 -5
  96. package/dist/v2/{server-ehyava47.js → server-1hcbw661.js} +3 -3
  97. package/dist/v2/{server-th4y11y7.js → server-271qxsf5.js} +6 -6
  98. package/dist/v2/{server-prg55b7k.js → server-6714jebr.js} +22 -2
  99. package/dist/v2/{server-dd0tz6cn.js → server-6fyp0v67.js} +26 -24
  100. package/dist/v2/{server-yrvqaswb.js → server-785mb90s.js} +21 -10
  101. package/dist/v2/{server-ef89gdsx.js → server-aavz8pm6.js} +3 -3
  102. package/dist/v2/{server-gvkm8xaj.js → server-e3ftpk7v.js} +1 -1
  103. package/dist/v2/{server-e298hswg.js → server-g59aatsz.js} +14 -14
  104. package/dist/v2/{server-g10mdym6.js → server-gha9x4qq.js} +1 -1
  105. package/dist/v2/{server-4gn3z5an.js → server-hgg55hde.js} +1 -1
  106. package/dist/v2/server-kaqs6h31.js +58 -0
  107. package/dist/v2/{server-qhfvvfxj.js → server-kqpawe1a.js} +3 -3
  108. package/dist/v2/{server-hek6z3w6.js → server-kr2kc9dz.js} +5 -5
  109. package/dist/v2/{server-cfbr1s2x.js → server-n5q841qn.js} +12 -63
  110. package/dist/v2/{server-kmbarfmn.js → server-r9gjxcte.js} +24 -16
  111. package/dist/v2/{server-6cdy4rc0.js → server-vgpab6rd.js} +2 -2
  112. package/dist/v2/{server-zc3e54vy.js → server-y5pznjt9.js} +1 -1
  113. package/dist/v2/server-zyw55ygv.js +96 -0
  114. package/dist/v2/server.js +4 -4
  115. package/dist/v2/{storage-tags-hcc2adpf.js → storage-tags-hkwtbp3g.js} +1 -1
  116. package/dist/v2/{wrapup-orchestrator-65pwye0d.js → wrapup-orchestrator-x4xj1782.js} +18 -18
  117. package/dist/{wrapup-orchestrator-28xzsj5q.js → wrapup-orchestrator-vj2tbp22.js} +18 -18
  118. package/package.json +1 -1
  119. package/src/config/schema/magic-context.ts +14 -6
  120. package/src/shared/model-resolution.test.ts +22 -0
  121. package/src/shared/model-suggestion-retry.ts +9 -3
  122. package/src/shared/resolve-fallbacks.test.ts +2 -3
  123. package/src/shared/resolve-fallbacks.ts +3 -3
@@ -17,7 +17,7 @@ import {
17
17
  cortexKitProjectConfigBasePath,
18
18
  resolveLegacyConfigSourcesForHarness,
19
19
  loadPluginConfigDetailed
20
- } from "./server-zc3e54vy.js";
20
+ } from "./server-y5pznjt9.js";
21
21
  import {
22
22
  catalogOutputReserve,
23
23
  getSdkContextLimit,
@@ -30,7 +30,7 @@ import {
30
30
  resolvePromptSurface,
31
31
  DEFAULT_HISTORIAN_TIMEOUT_MS,
32
32
  LIVE_RELOAD_CONFIG_PATHS
33
- } from "./server-th4y11y7.js";
33
+ } from "./server-271qxsf5.js";
34
34
  import {
35
35
  invalidateAutoEmbedSession,
36
36
  drainBackgroundBatches,
@@ -39,7 +39,7 @@ import {
39
39
  getProjectChunkEmbeddingModelId2,
40
40
  getProjectEmbeddingMaxInputTokens2,
41
41
  embedItemsForProject2
42
- } from "./server-hek6z3w6.js";
42
+ } from "./server-kr2kc9dz.js";
43
43
  import {
44
44
  hasMeaningfulUserText2,
45
45
  estimateTokens,
@@ -53,6 +53,12 @@ import {
53
53
  withoutSqliteTransformPass2,
54
54
  beginSqliteWriterAsync2
55
55
  } from "./server-wafzvyhg.js";
56
+ import {
57
+ isStrictGapHealingMessage2,
58
+ noteRawSessionSummaryRowWritten2,
59
+ RawOrdinalsNotReady2,
60
+ runSessionWarmupWorker
61
+ } from "./server-6714jebr.js";
56
62
  import {
57
63
  buildCanonicalChunkTextFromFts,
58
64
  buildCompartmentSummaryFallbackText,
@@ -62,7 +68,7 @@ import {
62
68
  replaceCompartmentChunkEmbeddings,
63
69
  deleteChunkEmbedBackoffForSession,
64
70
  chunkWindowSourceKey
65
- } from "./server-qhfvvfxj.js";
71
+ } from "./server-kqpawe1a.js";
66
72
  import {
67
73
  isPidAlive
68
74
  } from "./server-da07v4xp.js";
@@ -80,7 +86,7 @@ import {
80
86
  toMessageIndexSource2,
81
87
  clearIndexedMessagesInTransaction2,
82
88
  indexSourcesAfterOrdinal2
83
- } from "./server-e298hswg.js";
89
+ } from "./server-g59aatsz.js";
84
90
  import {
85
91
  detectOverflow,
86
92
  SESSION_META_SELECT_COLUMNS,
@@ -173,7 +179,7 @@ import {
173
179
  getRawSessionTagKeysThrough2,
174
180
  getLegacyProtectedTailStartOrdinal2,
175
181
  readSessionChunk2
176
- } from "./server-ehyava47.js";
182
+ } from "./server-1hcbw661.js";
177
183
  import {
178
184
  getTableColumnNames
179
185
  } from "./server-pwv4ezb0.js";
@@ -183,7 +189,7 @@ import {
183
189
  LATEST_SUPPORTED_VERSION,
184
190
  getPersistedSchemaVersion,
185
191
  openDatabase
186
- } from "./server-kmbarfmn.js";
192
+ } from "./server-r9gjxcte.js";
187
193
  import {
188
194
  providerMass,
189
195
  calibrationForModelKey,
@@ -201,13 +207,7 @@ import {
201
207
  foldShrunkPartTags2,
202
208
  getTagNumberByMessageId2,
203
209
  getActiveTagsBySession2
204
- } from "./server-atbc19ab.js";
205
- import {
206
- isStrictGapHealingMessage2,
207
- noteRawSessionSummaryRowWritten2,
208
- RawOrdinalsNotReady2,
209
- runSessionWarmupWorker
210
- } from "./server-prg55b7k.js";
210
+ } from "./server-0mzjjw3s.js";
211
211
  import {
212
212
  resolveOpenCodeDbPath,
213
213
  assertOpenCodeStoreGeneration,
@@ -237,11 +237,11 @@ import {
237
237
  resolveStoredPathWorkspaceIdentity,
238
238
  sourceNameForMemory,
239
239
  computeWorkspaceEpochFingerprint
240
- } from "./server-k2bzedxk.js";
240
+ } from "./server-00hx04yn.js";
241
241
  import {
242
242
  shouldSkipHomeProjectMemory,
243
243
  resolveProjectIdentity
244
- } from "./server-gvkm8xaj.js";
244
+ } from "./server-e3ftpk7v.js";
245
245
  import {
246
246
  getSessionNotes,
247
247
  getReadySmartNotes,
@@ -250,7 +250,7 @@ import {
250
250
  userFacingFailureCode,
251
251
  promoteSessionFactsDurable,
252
252
  embedPromotedFacts
253
- } from "./server-6cdy4rc0.js";
253
+ } from "./server-vgpab6rd.js";
254
254
  import {
255
255
  isMarkerCandidateBasisCurrent2,
256
256
  invalidateMarkerCandidateBasis2,
@@ -7262,14 +7262,14 @@ function throwWithPromptFailure(legacyError, failedAttempts, args, timeoutMs, tr
7262
7262
  });
7263
7263
  throw error;
7264
7264
  }
7265
- async function attemptOnce(client, args, timeoutMs, signal, callContext, label, transport) {
7265
+ async function attemptOnce(client, args, timeoutMs, signal, callContext, label, transport, allowModelSuggestions = true) {
7266
7266
  const originalBody = { ...args.body };
7267
7267
  const attemptArgs = copyPromptArgs(args, originalBody);
7268
7268
  try {
7269
7269
  await promptWithTimeout(client, attemptArgs, timeoutMs, signal, transport);
7270
7270
  return;
7271
7271
  } catch (error) {
7272
- if (isNonRetryable(error, signal))
7272
+ if (isNonRetryable(error, signal) || !allowModelSuggestions)
7273
7273
  throw error;
7274
7274
  const suggestion = parseModelSuggestion(error);
7275
7275
  if (!suggestion || !originalBody.model) {
@@ -7297,7 +7297,7 @@ async function promptSyncWithModelSuggestionRetry(client, args, options = {}) {
7297
7297
  const explicitPrimaryLabel = baseBody.model?.providerID && baseBody.model.modelID ? `${baseBody.model.providerID}/${baseBody.model.modelID}` : "primary";
7298
7298
  let lastError = null;
7299
7299
  try {
7300
- await attemptOnce(client, baseArgs, timeoutMs, options.signal, callContext, explicitPrimaryLabel, options.transport);
7300
+ await attemptOnce(client, baseArgs, timeoutMs, options.signal, callContext, explicitPrimaryLabel, options.transport, options.allowModelSuggestions);
7301
7301
  return;
7302
7302
  } catch (error) {
7303
7303
  lastError = error;
@@ -7323,7 +7323,7 @@ async function promptSyncWithModelSuggestionRetry(client, args, options = {}) {
7323
7323
  ...fallback?.qualifier ? { variant: fallback.qualifier } : {}
7324
7324
  });
7325
7325
  try {
7326
- await attemptOnce(client, attemptArgs, timeoutMs, options.signal, callContext, label, options.transport);
7326
+ await attemptOnce(client, attemptArgs, timeoutMs, options.signal, callContext, label, options.transport, options.allowModelSuggestions);
7327
7327
  log2(`[${callContext}] fallback succeeded with ${label} (attempt ${i + 2}/${fallbacks.length + 1})`);
7328
7328
  return;
7329
7329
  } catch (error) {
@@ -7341,7 +7341,7 @@ async function promptSyncWithModelSuggestionRetry(client, args, options = {}) {
7341
7341
  }
7342
7342
  async function attemptAndValidate(client, args, timeoutMs, signal, callContext, attempt, options) {
7343
7343
  try {
7344
- await attemptOnce(client, args, timeoutMs, signal, callContext, attempt.label, options.transport);
7344
+ await attemptOnce(client, args, timeoutMs, signal, callContext, attempt.label, options.transport, options.allowModelSuggestions);
7345
7345
  } catch (error) {
7346
7346
  throw {
7347
7347
  error,
@@ -9666,6 +9666,7 @@ function buildHistorianRepairPrompt(originalPrompt, previousOutput, validationEr
9666
9666
  "Return a corrected full XML response for the same existing state and new messages.",
9667
9667
  "Do not skip any displayed raw ordinal or displayed raw range, even if the message looks trivial.",
9668
9668
  "Every displayed message range must belong to exactly one compartment unless it is intentionally left in one trailing suffix marked by <unprocessed_from>.",
9669
+ "If every message in the chunk is covered by a compartment, nothing is unprocessed: set `<unprocessed_from>` to the chunk's last message index + 1.",
9669
9670
  "",
9670
9671
  "Previous invalid XML:",
9671
9672
  previousOutput
@@ -15982,6 +15983,7 @@ async function runHistorianPrompt(args) {
15982
15983
  return executor.attempt(opened, request);
15983
15984
  }, { childSessionId: opened.childSessionId }),
15984
15985
  timeoutMs: timeoutMs ?? DEFAULT_HISTORIAN_TIMEOUT_MS,
15986
+ allowModelSuggestions: false,
15985
15987
  fallbackModels: modelOverride ? undefined : fallbackModels,
15986
15988
  callContext: agentId === HISTORIAN_EDITOR_AGENT ? "historian:editor" : "historian"
15987
15989
  });
@@ -16066,7 +16068,7 @@ async function runFallbackHistorianPass(args) {
16066
16068
  const primary = toModelEntry(args.model);
16067
16069
  for (const candidateInput of [
16068
16070
  ...args.fallbackModels ?? [],
16069
- ...args.fallbackModelId ? [{ model: args.fallbackModelId }] : []
16071
+ ...!primary && args.fallbackModelId ? [{ model: args.fallbackModelId }] : []
16070
16072
  ]) {
16071
16073
  const candidate = toModelEntry(candidateInput);
16072
16074
  if (!candidate)
@@ -17648,7 +17650,7 @@ async function runCompartmentAgent(deps) {
17648
17650
  const projectPath = resolveProjectIdentity(directory ?? process.cwd());
17649
17651
  const fallbackWindows = [
17650
17652
  ...(deps.fallbackModels ?? []).map((entry) => toModelEntry(entry)?.model),
17651
- deps.fallbackModelId
17653
+ ...toModelEntry(deps.model) ? [] : [deps.fallbackModelId]
17652
17654
  ].filter((key) => typeof key === "string" && key !== producerModel).map((key) => resolveHistorianProducerWindow(key, deps.historianMaxOutputTokens));
17653
17655
  const promptFit = fitHistorianPrompt({
17654
17656
  window: producerWindow,
@@ -1,7 +1,11 @@
1
1
  import {
2
+ getSqliteDatabasePath2,
2
3
  withSqliteBackgroundWriter2,
3
4
  withoutSqliteTransformPass2
4
5
  } from "./server-wafzvyhg.js";
6
+ import {
7
+ runSessionWarmupWorker
8
+ } from "./server-6714jebr.js";
5
9
  import {
6
10
  logSlowWriteTransaction
7
11
  } from "./server-6pmqg9m4.js";
@@ -41,7 +45,7 @@ function getBackfillState(db) {
41
45
  completed: row?.completed === 1
42
46
  };
43
47
  }
44
- function recordMessageFtsRowid(db, sessionId, messageOrdinal, ftsRowid, messageTimeMs = null) {
48
+ function recordMessageFtsRowid2(db, sessionId, messageOrdinal, ftsRowid, messageTimeMs = null) {
45
49
  const numericRowid = Number(ftsRowid);
46
50
  if (!Number.isSafeInteger(numericRowid) || numericRowid <= 0) {
47
51
  throw new Error(`invalid message FTS rowid: ${String(ftsRowid)}`);
@@ -49,7 +53,7 @@ function recordMessageFtsRowid(db, sessionId, messageOrdinal, ftsRowid, messageT
49
53
  const normalizedTime = typeof messageTimeMs === "number" && Number.isSafeInteger(messageTimeMs) && messageTimeMs >= 0 ? messageTimeMs : null;
50
54
  getUpsertMapStatement(db).run(sessionId, messageOrdinal, numericRowid, normalizedTime);
51
55
  }
52
- function recordIndexedMessageTime(db, sessionId, messageOrdinal, messageTimeMs) {
56
+ function recordIndexedMessageTime2(db, sessionId, messageOrdinal, messageTimeMs) {
53
57
  if (typeof messageTimeMs !== "number" || !Number.isSafeInteger(messageTimeMs) || messageTimeMs < 0) {
54
58
  return;
55
59
  }
@@ -91,7 +95,7 @@ function backfillMessageFtsRowidMapBatch(db, batchSize = MESSAGE_FTS_ROWID_MAP_B
91
95
  watermarkRowid = ftsRowid;
92
96
  }
93
97
  if (typeof row.sessionId === "string" && Number.isSafeInteger(messageOrdinal) && messageOrdinal >= 0 && Number.isSafeInteger(ftsRowid) && ftsRowid > 0) {
94
- recordMessageFtsRowid(db, row.sessionId, messageOrdinal, ftsRowid);
98
+ recordMessageFtsRowid2(db, row.sessionId, messageOrdinal, ftsRowid);
95
99
  }
96
100
  }
97
101
  const completed = rows.length < boundedBatchSize;
@@ -107,26 +111,33 @@ function backfillMessageFtsRowidMapBatch(db, batchSize = MESSAGE_FTS_ROWID_MAP_B
107
111
  logSlowWriteTransaction("message_fts_rowid_backfill", transactionStartedAt);
108
112
  return progress;
109
113
  }
110
- async function runMessageFtsRowidMapBackfill(db) {
114
+ async function runMessageFtsRowidMapBackfill2(db, signal) {
111
115
  await new Promise((resolve) => setTimeout(resolve, 0));
112
- for (;; ) {
116
+ while (!signal?.aborted) {
113
117
  const progress = backfillMessageFtsRowidMapBatch(db);
114
118
  if (progress.completed)
115
119
  return;
116
120
  await new Promise((resolve) => setTimeout(resolve, 0));
117
121
  }
118
122
  }
119
- function startMessageFtsRowidMapBackfill(db) {
123
+ function startMessageFtsRowidMapBackfill2(db, signal) {
120
124
  const active = activeBackfills.get(db);
121
125
  if (active)
122
126
  return active;
123
- const run = withoutSqliteTransformPass2(() => withSqliteBackgroundWriter2(() => runMessageFtsRowidMapBackfill(db))).finally(() => {
127
+ const path = getSqliteDatabasePath2(db);
128
+ const run = (path ? runSessionWarmupWorker({ path, sessionId: "", ftsRowidBackfill: true }, { signal }).then((result) => {
129
+ if (signal?.aborted)
130
+ return;
131
+ if (!("ftsRowidBackfill" in result)) {
132
+ throw Object.assign(new Error(`FTS rowid backfill unavailable: ${"failure" in result ? result.detail : "unexpected reply"}`), "failure" in result ? { code: result.code, errcode: result.errcode } : {});
133
+ }
134
+ }) : withoutSqliteTransformPass2(() => withSqliteBackgroundWriter2(() => runMessageFtsRowidMapBackfill2(db, signal)))).finally(() => {
124
135
  activeBackfills.delete(db);
125
136
  });
126
137
  activeBackfills.set(db, run);
127
138
  return run;
128
139
  }
129
- function messageFtsOrdinalRangeIsMapped(db, sessionId, startOrdinal, endOrdinal) {
140
+ function messageFtsOrdinalRangeIsMapped2(db, sessionId, startOrdinal, endOrdinal) {
130
141
  if (endOrdinal < startOrdinal)
131
142
  return true;
132
143
  if (getBackfillState(db).completed)
@@ -157,7 +168,7 @@ function messageFtsOrdinalRangeIsMapped(db, sessionId, startOrdinal, endOrdinal)
157
168
  const ordinalCount = endOrdinal - startOrdinal + 1;
158
169
  return row?.sourceOrdinalCount === ordinalCount && row.expectedMapCount === row.mappedCount;
159
170
  }
160
- function deleteUnmappedMessageFtsRows(db, sessionIds) {
171
+ function deleteUnmappedMessageFtsRows2(db, sessionIds) {
161
172
  if (sessionIds.length === 0)
162
173
  return;
163
174
  const state = getBackfillState(db);
@@ -168,4 +179,4 @@ function deleteUnmappedMessageFtsRows(db, sessionIds) {
168
179
  WHERE rowid > ? AND session_id IN (${placeholders})`).run(state.watermarkRowid, ...sessionIds);
169
180
  }
170
181
 
171
- export { recordMessageFtsRowid, recordIndexedMessageTime, startMessageFtsRowidMapBackfill, messageFtsOrdinalRangeIsMapped, deleteUnmappedMessageFtsRows };
182
+ export { recordMessageFtsRowid2, recordIndexedMessageTime2, runMessageFtsRowidMapBackfill2, startMessageFtsRowidMapBackfill2, messageFtsOrdinalRangeIsMapped2, deleteUnmappedMessageFtsRows2 };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULT_LOCAL_EMBEDDING_MODEL
3
- } from "./server-th4y11y7.js";
3
+ } from "./server-271qxsf5.js";
4
4
  import {
5
5
  log2
6
6
  } from "./server-f2xf5gcb.js";
@@ -10,12 +10,12 @@ import {
10
10
  } from "./server-rrqpvwqd.js";
11
11
  import {
12
12
  LocalEmbeddingProvider
13
- } from "./server-g10mdym6.js";
13
+ } from "./server-gha9x4qq.js";
14
14
  import {
15
15
  OpenAICompatibleEmbeddingProvider,
16
16
  getProjectEmbeddingSnapshot2,
17
17
  embedBatchForProject2
18
- } from "./server-hek6z3w6.js";
18
+ } from "./server-kr2kc9dz.js";
19
19
  import {
20
20
  isEmbeddingHostBusy2
21
21
  } from "./server-qt1qqasc.js";
@@ -708,4 +708,4 @@ function setBootQuietPeriodForTests(startAtMs) {
708
708
  bootQuietUntilMs = startAtMs === null ? 0 : startAtMs + BOOT_QUIET_MS;
709
709
  }
710
710
 
711
- export { setHomeProjectPermission, shouldSkipHomeProjectMemory, ProjectIdentityError, takeDubiousOwnershipProjectIdentityWarning, isUserHomeDirectory, resolveProjectIdentity, directoryHasGitMetadata, describeUnresolvedProjectIdentity, isUsableProjectIdentity, resolveProjectIdentityForSession, normalizeStoredProjectPath, storedPathBelongsToIdentity, beginBootQuietPeriod, bootQuietRemainingMs, scheduleAfterBootQuiet, setBootQuietPeriodForTests };
711
+ export { setHomeProjectPermission, shouldSkipHomeProjectMemory, ProjectIdentityError, takeDubiousOwnershipProjectIdentityWarning, isUserHomeDirectory, resolveProjectIdentity, directoryHasGitMetadata, describeUnresolvedProjectIdentity, isUsableProjectIdentity, resolveProjectIdentityForSession, normalizeStoredProjectPath, storedPathBelongsToIdentity, beginBootQuietPeriod, scheduleAfterBootQuiet, setBootQuietPeriodForTests };
@@ -23,20 +23,20 @@ import {
23
23
  } from "./server-pwv4ezb0.js";
24
24
  import {
25
25
  cleanUserText2
26
- } from "./server-ehyava47.js";
26
+ } from "./server-1hcbw661.js";
27
27
  import {
28
- recordMessageFtsRowid,
29
- recordIndexedMessageTime,
30
- messageFtsOrdinalRangeIsMapped,
31
- deleteUnmappedMessageFtsRows
32
- } from "./server-yrvqaswb.js";
28
+ recordMessageFtsRowid2,
29
+ recordIndexedMessageTime2,
30
+ messageFtsOrdinalRangeIsMapped2,
31
+ deleteUnmappedMessageFtsRows2
32
+ } from "./server-785mb90s.js";
33
33
  import {
34
34
  isPidAlive,
35
35
  readProcessStartTime
36
36
  } from "./server-da07v4xp.js";
37
37
  import {
38
38
  deleteChunkEmbedBackoffForSession
39
- } from "./server-qhfvvfxj.js";
39
+ } from "./server-kqpawe1a.js";
40
40
  import {
41
41
  closeQuietly
42
42
  } from "./server-8ajstryz.js";
@@ -649,7 +649,7 @@ function deleteSessionScopedRows(db, sessionIds, harness, options = {}) {
649
649
  FROM message_fts_rowid_map
650
650
  WHERE session_id IN (${placeholders})
651
651
  )`).run(...deletableSessionIds);
652
- deleteUnmappedMessageFtsRows(db, deletableSessionIds);
652
+ deleteUnmappedMessageFtsRows2(db, deletableSessionIds);
653
653
  continue;
654
654
  }
655
655
  const predicates = [`session_id IN (${placeholders})`];
@@ -896,7 +896,7 @@ function getDeleteMessageFtsMapStatement(db) {
896
896
  }
897
897
  function insertMessageFtsRow(db, sessionId, messageOrdinal, messageId, role, content, messageTimeMs) {
898
898
  const result = getInsertMessageStatement(db).run(sessionId, messageOrdinal, messageId, role, content);
899
- recordMessageFtsRowid(db, sessionId, messageOrdinal, result.lastInsertRowid, messageTimeMs ?? null);
899
+ recordMessageFtsRowid2(db, sessionId, messageOrdinal, result.lastInsertRowid, messageTimeMs ?? null);
900
900
  }
901
901
  function normalizeSourceVersion(version) {
902
902
  if (typeof version === "number")
@@ -996,7 +996,7 @@ function deleteIndexedMessage2(db, sessionId, messageId) {
996
996
  function clearIndexedMessagesInTransaction2(db, sessionId) {
997
997
  deleteMessageIndexSkips(db, sessionId);
998
998
  getDeleteFtsStatement(db).run(sessionId);
999
- deleteUnmappedMessageFtsRows(db, [sessionId]);
999
+ deleteUnmappedMessageFtsRows2(db, [sessionId]);
1000
1000
  getDeleteFtsMapStatement(db).run(sessionId);
1001
1001
  getDeleteMessageSourceStatement(db).run(sessionId);
1002
1002
  getDeleteIndexStatement(db).run(sessionId);
@@ -1027,10 +1027,10 @@ function indexSingleMessageInTransaction(db, sessionId, message, now, dirtyFloor
1027
1027
  const dirtyFloor = getDirtyIndexFloor(db, sessionId);
1028
1028
  if (message.ordinal <= currentWatermark) {
1029
1029
  if (isIndexSourceCurrent(db, sessionId, source)) {
1030
- recordIndexedMessageTime(db, sessionId, message.ordinal, message.createdAt);
1030
+ recordIndexedMessageTime2(db, sessionId, message.ordinal, message.createdAt);
1031
1031
  return false;
1032
1032
  }
1033
- if (!messageFtsOrdinalRangeIsMapped(db, sessionId, message.ordinal, message.ordinal)) {
1033
+ if (!messageFtsOrdinalRangeIsMapped2(db, sessionId, message.ordinal, message.ordinal)) {
1034
1034
  return false;
1035
1035
  }
1036
1036
  getDeleteMessageFtsStatement(db).run(sessionId, message.id);
@@ -1060,7 +1060,7 @@ function indexSingleMessage2(db, sessionId, message, shouldCommit = () => true,
1060
1060
  const source = preparedSource ?? getMessageSourceSnapshot(message);
1061
1061
  const currentWatermark = getLastIndexedOrdinal2(db, sessionId);
1062
1062
  if (message.ordinal <= currentWatermark && isIndexSourceCurrent(db, sessionId, source)) {
1063
- recordIndexedMessageTime(db, sessionId, message.ordinal, message.createdAt);
1063
+ recordIndexedMessageTime2(db, sessionId, message.ordinal, message.createdAt);
1064
1064
  return false;
1065
1065
  }
1066
1066
  const dirtyFloorBeforeAttempt = getDirtyIndexFloor(db, sessionId);
@@ -1101,7 +1101,7 @@ function indexItemsAfterOrdinal(db, sessionId, items, finalWatermark, toSource)
1101
1101
  const currentWatermark = getLastIndexedOrdinal2(db, sessionId);
1102
1102
  const dirtyFloor = getDirtyIndexFloor(db, sessionId);
1103
1103
  const effectiveWatermark = dirtyFloor === null ? currentWatermark : Math.min(currentWatermark, Math.max(0, dirtyFloor - 1));
1104
- if (dirtyFloor !== null && dirtyFloor <= currentWatermark && !messageFtsOrdinalRangeIsMapped(db, sessionId, dirtyFloor, Math.min(currentWatermark, finalWatermark))) {
1104
+ if (dirtyFloor !== null && dirtyFloor <= currentWatermark && !messageFtsOrdinalRangeIsMapped2(db, sessionId, dirtyFloor, Math.min(currentWatermark, finalWatermark))) {
1105
1105
  db.exec("COMMIT");
1106
1106
  committed = true;
1107
1107
  logSlowWriteTransaction("message_index_reconcile", transactionStartedAt);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULT_LOCAL_EMBEDDING_MODEL
3
- } from "./server-th4y11y7.js";
3
+ } from "./server-271qxsf5.js";
4
4
  import {
5
5
  getHarness2
6
6
  } from "./server-pavzsdc6.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./server-pavzsdc6.js";
4
4
  import {
5
5
  isUserHomeDirectory
6
- } from "./server-gvkm8xaj.js";
6
+ } from "./server-e3ftpk7v.js";
7
7
  import {
8
8
  logSlowWriteTransaction
9
9
  } from "./server-6pmqg9m4.js";
@@ -0,0 +1,58 @@
1
+ // src/features/magic-context/message-fts-session-filter.ts
2
+ var MESSAGE_FTS_SESSION_FILTER_SQL = `+message_history_fts.rowid IN (
3
+ SELECT fts_rowid FROM message_fts_rowid_map WHERE session_id = ?1
4
+ ) AND `;
5
+ var coverageCaches = new WeakMap;
6
+ var coverageScansOnThisThread = 0;
7
+ function getCoverageCache(db) {
8
+ let cache = coverageCaches.get(db);
9
+ if (!cache) {
10
+ cache = {
11
+ pin: db.prepare("SELECT fts_rowid FROM message_fts_rowid_map LIMIT 1"),
12
+ stamp: db.prepare("SELECT total_changes() AS changes, data_version AS version FROM pragma_data_version"),
13
+ missing: db.prepare(`SELECT DISTINCT session_id AS sessionId
14
+ FROM message_history_fts WHERE rowid IN (
15
+ SELECT id FROM message_history_fts_docsize
16
+ EXCEPT SELECT fts_rowid FROM message_fts_rowid_map
17
+ )`)
18
+ };
19
+ coverageCaches.set(db, cache);
20
+ }
21
+ return cache;
22
+ }
23
+ function withMessageFtsSessionFilter(db, sessionId, read) {
24
+ let cacheable = false;
25
+ try {
26
+ const transaction = db;
27
+ cacheable = transaction.inTransaction === false || transaction.isTransaction === false;
28
+ if (!cacheable)
29
+ coverageCaches.delete(db);
30
+ } catch {
31
+ coverageCaches.delete(db);
32
+ }
33
+ return db.transaction(() => {
34
+ let sessionFirst = false;
35
+ try {
36
+ const cache = getCoverageCache(db);
37
+ cache.pin.get();
38
+ const stamp = cache.stamp.get();
39
+ let incomplete = cache.incompleteSessions;
40
+ if (!cacheable || !incomplete || cache.version !== stamp.version || cache.changes !== stamp.changes) {
41
+ coverageScansOnThisThread += 1;
42
+ const rows = cache.missing.all();
43
+ incomplete = new Set(rows.map((row) => row.sessionId));
44
+ if (cacheable) {
45
+ cache.version = stamp.version;
46
+ cache.changes = stamp.changes;
47
+ cache.incompleteSessions = incomplete;
48
+ }
49
+ }
50
+ sessionFirst = !incomplete.has(sessionId);
51
+ } catch {
52
+ coverageCaches.delete(db);
53
+ }
54
+ return read(sessionFirst);
55
+ }).deferred();
56
+ }
57
+
58
+ export { MESSAGE_FTS_SESSION_FILTER_SQL, withMessageFtsSessionFilter };
@@ -12,8 +12,8 @@ import {
12
12
  isSynapseEmbeddingTruncated
13
13
  } from "./server-rrqpvwqd.js";
14
14
  import {
15
- messageFtsOrdinalRangeIsMapped
16
- } from "./server-yrvqaswb.js";
15
+ messageFtsOrdinalRangeIsMapped2
16
+ } from "./server-785mb90s.js";
17
17
 
18
18
  // src/features/magic-context/compartment-chunk-embedding.ts
19
19
  import { createHash } from "node:crypto";
@@ -514,7 +514,7 @@ function toFloat32Array(blob) {
514
514
  function buildCanonicalChunkTextFromFts(db, sessionId, startOrdinal, endOrdinal) {
515
515
  if (endOrdinal < startOrdinal)
516
516
  return "";
517
- if (!messageFtsOrdinalRangeIsMapped(db, sessionId, startOrdinal, endOrdinal))
517
+ if (!messageFtsOrdinalRangeIsMapped2(db, sessionId, startOrdinal, endOrdinal))
518
518
  return null;
519
519
  const rows = getLoadFtsRowsStatement(db).all(sessionId, startOrdinal, endOrdinal).map((row) => row);
520
520
  const lines = [];
@@ -7,10 +7,10 @@ import {
7
7
  } from "./server-wafzvyhg.js";
8
8
  import {
9
9
  DEFAULT_LOCAL_EMBEDDING_MODEL
10
- } from "./server-th4y11y7.js";
10
+ } from "./server-271qxsf5.js";
11
11
  import {
12
12
  setBootQuietPeriodForTests
13
- } from "./server-gvkm8xaj.js";
13
+ } from "./server-e3ftpk7v.js";
14
14
  import {
15
15
  isEmbeddingHostBusy2
16
16
  } from "./server-qt1qqasc.js";
@@ -47,7 +47,7 @@ import {
47
47
  countSessionCompartmentEmbedCoverage,
48
48
  countSessionCompartmentEmbedCoveragePolite,
49
49
  countUnembeddedSessionCompartmentsPolite
50
- } from "./server-qhfvvfxj.js";
50
+ } from "./server-kqpawe1a.js";
51
51
  import {
52
52
  acquireGitSweepLease,
53
53
  renewGitSweepLease,
@@ -55,7 +55,7 @@ import {
55
55
  findMisScopedCompartmentChunkEmbeddingIdsForProject,
56
56
  recordSessionProjectIdentity,
57
57
  repairMisScopedCompartmentChunkEmbeddingsForProject
58
- } from "./server-4gn3z5an.js";
58
+ } from "./server-hgg55hde.js";
59
59
  import {
60
60
  saveEmbeddingIfHashMatches,
61
61
  getMemoryEmbedCoverage,
@@ -67,7 +67,7 @@ import {
67
67
  resolveEmbeddingTextPrefixes,
68
68
  getEmbeddingProviderIdentity,
69
69
  LocalEmbeddingProvider
70
- } from "./server-g10mdym6.js";
70
+ } from "./server-gha9x4qq.js";
71
71
  import {
72
72
  logSlowWriteTransaction
73
73
  } from "./server-6pmqg9m4.js";
@@ -20,7 +20,7 @@ import {
20
20
  import {
21
21
  buildCanonicalChunkTextFromFts,
22
22
  loadCompartmentChunkEmbeddingsForSearch
23
- } from "./server-qhfvvfxj.js";
23
+ } from "./server-kqpawe1a.js";
24
24
  import {
25
25
  recordEmbeddingMeasurement,
26
26
  saveCommitEmbedding,
@@ -37,7 +37,7 @@ import {
37
37
  enqueueShadowEmbeddingItems2,
38
38
  getProjectEmbeddingSnapshot2,
39
39
  embedItemsForProject2
40
- } from "./server-hek6z3w6.js";
40
+ } from "./server-kr2kc9dz.js";
41
41
  import {
42
42
  getProjectEmbeddings2
43
43
  } from "./server-4dhv7mqz.js";
@@ -46,7 +46,7 @@ import {
46
46
  isEmbeddingEnabled,
47
47
  embedText,
48
48
  ensureMemoryEmbeddings2
49
- } from "./server-ef89gdsx.js";
49
+ } from "./server-aavz8pm6.js";
50
50
  import {
51
51
  ModuleMemoryAuthorityError2,
52
52
  getMemoriesByProject2,
@@ -61,20 +61,24 @@ import {
61
61
  sanitizeFtsQuery,
62
62
  searchMemoriesFTS,
63
63
  searchMemoriesFTSUnion
64
- } from "./server-6cdy4rc0.js";
64
+ } from "./server-vgpab6rd.js";
65
+ import {
66
+ MESSAGE_FTS_SESSION_FILTER_SQL,
67
+ withMessageFtsSessionFilter
68
+ } from "./server-kaqs6h31.js";
65
69
  import {
66
70
  isRecord
67
- } from "./server-atbc19ab.js";
71
+ } from "./server-0mzjjw3s.js";
68
72
  import {
69
73
  getIndexedMessageCorpusSize2
70
- } from "./server-e298hswg.js";
74
+ } from "./server-g59aatsz.js";
71
75
  import {
72
76
  resolveWorkspaceShareCategories,
73
77
  resolveWorkspaceIdentitySet,
74
78
  expandWorkspaceIdentitySetWithAliases,
75
79
  resolveStoredPathWorkspaceIdentity,
76
80
  sourceNameForMemory
77
- } from "./server-k2bzedxk.js";
81
+ } from "./server-00hx04yn.js";
78
82
  import {
79
83
  isKnownAutocommit
80
84
  } from "./server-8ajstryz.js";
@@ -1262,61 +1266,6 @@ function searchGitCommitsSync(db, projectPath, query, options) {
1262
1266
  });
1263
1267
  return results.slice(0, options.limit);
1264
1268
  }
1265
- // src/features/magic-context/message-fts-session-filter.ts
1266
- var MESSAGE_FTS_SESSION_FILTER_SQL = `+message_history_fts.rowid IN (
1267
- SELECT fts_rowid FROM message_fts_rowid_map WHERE session_id = ?1
1268
- ) AND `;
1269
- var coverageCaches = new WeakMap;
1270
- function getCoverageCache(db) {
1271
- let cache = coverageCaches.get(db);
1272
- if (!cache) {
1273
- cache = {
1274
- pin: db.prepare("SELECT fts_rowid FROM message_fts_rowid_map LIMIT 1"),
1275
- stamp: db.prepare("SELECT total_changes() AS changes, data_version AS version FROM pragma_data_version"),
1276
- missing: db.prepare(`SELECT DISTINCT session_id AS sessionId
1277
- FROM message_history_fts WHERE rowid IN (
1278
- SELECT id FROM message_history_fts_docsize
1279
- EXCEPT SELECT fts_rowid FROM message_fts_rowid_map
1280
- )`)
1281
- };
1282
- coverageCaches.set(db, cache);
1283
- }
1284
- return cache;
1285
- }
1286
- function withMessageFtsSessionFilter(db, sessionId, read) {
1287
- let cacheable = false;
1288
- try {
1289
- const transaction = db;
1290
- cacheable = transaction.inTransaction === false || transaction.isTransaction === false;
1291
- if (!cacheable)
1292
- coverageCaches.delete(db);
1293
- } catch {
1294
- coverageCaches.delete(db);
1295
- }
1296
- return db.transaction(() => {
1297
- let sessionFirst = false;
1298
- try {
1299
- const cache = getCoverageCache(db);
1300
- cache.pin.get();
1301
- const stamp = cache.stamp.get();
1302
- let incomplete = cache.incompleteSessions;
1303
- if (!cacheable || !incomplete || cache.version !== stamp.version || cache.changes !== stamp.changes) {
1304
- const rows = cache.missing.all();
1305
- incomplete = new Set(rows.map((row) => row.sessionId));
1306
- if (cacheable) {
1307
- cache.version = stamp.version;
1308
- cache.changes = stamp.changes;
1309
- cache.incompleteSessions = incomplete;
1310
- }
1311
- }
1312
- sessionFirst = !incomplete.has(sessionId);
1313
- } catch {
1314
- coverageCaches.delete(db);
1315
- }
1316
- return read(sessionFirst);
1317
- }).deferred();
1318
- }
1319
-
1320
1269
  // src/features/magic-context/literal-probes.ts
1321
1270
  var MAX_PROBES = 5;
1322
1271
  var MIN_PROBE_LENGTH = 3;
@@ -3264,4 +3213,4 @@ ${bodyParts.join(`
3264
3213
  `)}`;
3265
3214
  }
3266
3215
 
3267
- export { renderSingleStoreMigrationRequiredRefusal, SingleStoreMigrationRequiredError, singleStoreMigrationRequiredFailure, projectNeedsSingleStoreMigration, STORE_AHEAD_OF_BINARY_CODE, storeAheadOfBinaryFailure, TRANSFORM_PAGE_UPLOAD_TIMEOUT_MS, transformColdStartExecuteTimeoutMs, getDefaultSubcConnectionFile, isModuleTransportGenerationChangedResult, SubcModuleTransport, indexCommitsForProject, embedUnembeddedCommits, withMessageFtsSessionFilter, createUnifiedSearchDiagnostics2, searchMessageHistory2, parseIdShapedQuery2, resolveMemoriesByIdsForSearch2, unifiedSearch2, formatSearchResults2 };
3216
+ export { renderSingleStoreMigrationRequiredRefusal, SingleStoreMigrationRequiredError, singleStoreMigrationRequiredFailure, projectNeedsSingleStoreMigration, STORE_AHEAD_OF_BINARY_CODE, storeAheadOfBinaryFailure, TRANSFORM_PAGE_UPLOAD_TIMEOUT_MS, transformColdStartExecuteTimeoutMs, getDefaultSubcConnectionFile, isModuleTransportGenerationChangedResult, SubcModuleTransport, indexCommitsForProject, embedUnembeddedCommits, createUnifiedSearchDiagnostics2, searchMessageHistory2, parseIdShapedQuery2, resolveMemoriesByIdsForSearch2, unifiedSearch2, formatSearchResults2 };