@cortexkit/opencode-magic-context 0.49.28 → 0.49.30

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 (128) hide show
  1. package/dist/auto-search-worker.js +3 -3
  2. package/dist/chunk-embedding-write-worker.js +1 -1
  3. package/dist/config/commit-retention-recovery.d.ts +9 -0
  4. package/dist/config/commit-retention-recovery.d.ts.map +1 -0
  5. package/dist/config/index.d.ts +2 -1
  6. package/dist/config/index.d.ts.map +1 -1
  7. package/dist/config/live-child-output-cap.d.ts.map +1 -1
  8. package/dist/config/live-run-config.d.ts.map +1 -1
  9. package/dist/config/project-security.d.ts +1 -0
  10. package/dist/config/project-security.d.ts.map +1 -1
  11. package/dist/{conflict-warning-hook-tgnw019g.js → conflict-warning-hook-xgskea1v.js} +3 -3
  12. package/dist/{context-dxfztzsd.js → context-vnfr6d7t.js} +210 -50
  13. package/dist/{embedding-backfill-cwnyr4fj.js → embedding-backfill-mms9nb0h.js} +2 -2
  14. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
  15. package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts.map +1 -1
  16. package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
  17. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  18. package/dist/features/magic-context/dreamer/verify-diff.d.ts.map +1 -1
  19. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  20. package/dist/features/magic-context/git-commits/indexer.d.ts +2 -0
  21. package/dist/features/magic-context/git-commits/indexer.d.ts.map +1 -1
  22. package/dist/features/magic-context/project-embedding-registry.d.ts +3 -1
  23. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  24. package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
  25. package/dist/features/magic-context/work-metrics.d.ts +5 -3
  26. package/dist/features/magic-context/work-metrics.d.ts.map +1 -1
  27. package/dist/hooks/magic-context/apply-operations.d.ts +2 -0
  28. package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
  29. package/dist/hooks/magic-context/compartment-runner-types.d.ts +5 -1
  30. package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
  31. package/dist/hooks/magic-context/history-boundary-repair.d.ts +1 -1
  32. package/dist/hooks/magic-context/history-boundary-repair.d.ts.map +1 -1
  33. package/dist/hooks/magic-context/lkg-recovery-prefix.d.ts +3 -1
  34. package/dist/hooks/magic-context/lkg-recovery-prefix.d.ts.map +1 -1
  35. package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
  36. package/dist/hooks/magic-context/lkg-slot.d.ts +7 -0
  37. package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -1
  38. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  39. package/dist/hooks/magic-context/read-session-db.d.ts +3 -2
  40. package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
  41. package/dist/hooks/magic-context/replay-committed-drops.d.ts.map +1 -1
  42. package/dist/hooks/magic-context/strip-content.d.ts +1 -1
  43. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  44. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  45. package/dist/{index-yzjhx10y.js → index-0fe4q77z.js} +12 -6
  46. package/dist/{index-89k1w6x2.js → index-3jmx3fae.js} +2 -2
  47. package/dist/{index-7gbcg8xv.js → index-4s4zq97n.js} +1 -1
  48. package/dist/{index-31y1mznz.js → index-69gd2scx.js} +4 -4
  49. package/dist/{index-n8qmmd7f.js → index-adr4vfys.js} +3 -3
  50. package/dist/{index-k9jx7ma9.js → index-ekzzw66a.js} +328 -249
  51. package/dist/{index-tvzvjggy.js → index-gkee6p4g.js} +1 -1
  52. package/dist/{index-a2fz9hpa.js → index-gxkhzmjq.js} +4 -2
  53. package/dist/{index-4cpc59jv.js → index-hbt0sbv2.js} +1 -1
  54. package/dist/{index-dcqk0y27.js → index-k0dpkyn7.js} +139 -28
  55. package/dist/{index-t3rbb8wr.js → index-pe6b4bhs.js} +1 -1
  56. package/dist/{index-4ypqzvhf.js → index-vnn5405n.js} +1 -1
  57. package/dist/{index-dzfevacx.js → index-vtz789ex.js} +10 -6
  58. package/dist/{index-fq2p158w.js → index-vzz570j8.js} +13 -7
  59. package/dist/{index-077ht5cq.js → index-waktfbjy.js} +1 -1
  60. package/dist/{index-v0dhhxsq.js → index-y1qwzvxn.js} +5 -5
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +26 -30
  63. package/dist/{message-index-bounded-7ayzb2ah.js → message-index-bounded-zq7a5nm6.js} +3 -3
  64. package/dist/migration-worker.js +1 -1
  65. package/dist/plugin/dream-timer.d.ts.map +1 -1
  66. package/dist/plugin/embedding-bootstrap-helpers.d.ts +5 -1
  67. package/dist/plugin/embedding-bootstrap-helpers.d.ts.map +1 -1
  68. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  69. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  70. package/dist/{project-embedding-registry-94nncs5g.js → project-embedding-registry-cg281d9j.js} +1 -1
  71. package/dist/raw-ordinal-warmup-worker.js +2 -2
  72. package/dist/{read-session-chunk-jzb6w9w5.js → read-session-chunk-1ndphmb8.js} +2 -2
  73. package/dist/{recomp-orchestrator-02sa2ngr.js → recomp-orchestrator-w3pjp33d.js} +10 -10
  74. package/dist/{search-archive-q1vw7zg4.js → search-archive-sr07c6aj.js} +3 -3
  75. package/dist/{search-spq6nfyf.js → search-fbaz1m8r.js} +7 -7
  76. package/dist/{send-session-notification-afzzqy5b.js → send-session-notification-vz86nt79.js} +2 -2
  77. package/dist/shared/marker-only-text.d.ts +2 -0
  78. package/dist/shared/marker-only-text.d.ts.map +1 -0
  79. package/dist/{transform-postprocess-phase-6menyyxc.js → transform-postprocess-phase-6ccazq85.js} +10 -10
  80. package/dist/v2/auto-search-worker.js +3 -3
  81. package/dist/v2/chunk-embedding-write-worker.js +1 -1
  82. package/dist/v2/{context-0qhz1nnj.js → context-wx4sfhgr.js} +345 -102
  83. package/dist/v2/{embedding-backfill-rh5dgsva.js → embedding-backfill-35k6czrr.js} +2 -2
  84. package/dist/v2/hidden-child-cleanup.d.ts.map +1 -1
  85. package/dist/v2/hidden-child-native.d.ts.map +1 -1
  86. package/dist/v2/hidden-completion.d.ts.map +1 -1
  87. package/dist/v2/hooks/context.d.ts.map +1 -1
  88. package/dist/v2/hooks/dream-timer.d.ts.map +1 -1
  89. package/dist/v2/hooks/store.d.ts.map +1 -1
  90. package/dist/v2/{message-index-bounded-n09b74vr.js → message-index-bounded-jvgz7vk9.js} +3 -3
  91. package/dist/v2/message-times.d.ts +17 -0
  92. package/dist/v2/message-times.d.ts.map +1 -0
  93. package/dist/v2/migration-worker.js +1 -1
  94. package/dist/v2/{project-embedding-registry-6pak822h.js → project-embedding-registry-p1p10ks7.js} +1 -1
  95. package/dist/v2/raw-ordinal-warmup-worker.js +2 -2
  96. package/dist/v2/{read-session-chunk-vpt69tw9.js → read-session-chunk-djzgm4jg.js} +2 -2
  97. package/dist/v2/{recomp-orchestrator-txsmbnvw.js → recomp-orchestrator-wb28kr9k.js} +10 -10
  98. package/dist/v2/{search-archive-t9bcz4ht.js → search-archive-n3dhns4r.js} +3 -3
  99. package/dist/v2/{search-dcy9b6gd.js → search-q3jjw6zp.js} +7 -7
  100. package/dist/v2/{send-session-notification-vdsgnf4c.js → send-session-notification-x5nzy34v.js} +2 -2
  101. package/dist/v2/{server-txbc3czn.js → server-42nebt63.js} +10 -6
  102. package/dist/v2/{server-94wk1ey3.js → server-835q39kd.js} +45 -5
  103. package/dist/v2/{server-3vhxy2k5.js → server-a7x00tw8.js} +5 -5
  104. package/dist/v2/{server-e3hc93wk.js → server-d01pe8q5.js} +1 -1
  105. package/dist/v2/{server-z2n2xaeh.js → server-hwag0khr.js} +1 -1
  106. package/dist/v2/{server-jj9qye8y.js → server-k33t88h3.js} +97 -25
  107. package/dist/v2/{server-6avtp9jp.js → server-p0snacz3.js} +1 -1
  108. package/dist/v2/{server-z3mk9jdc.js → server-ph300d6m.js} +1 -1
  109. package/dist/v2/{server-6v3cdzsx.js → server-qc915kw2.js} +1 -1
  110. package/dist/v2/{server-xkvxss5g.js → server-rb8m4vry.js} +12 -6
  111. package/dist/v2/{server-zmcrvpm3.js → server-rr4cbkr0.js} +2 -2
  112. package/dist/v2/{server-yqek3s4k.js → server-zh3esb0z.js} +4 -2
  113. package/dist/v2/server.js +3 -3
  114. package/dist/v2/store-reader.d.ts +14 -2
  115. package/dist/v2/store-reader.d.ts.map +1 -1
  116. package/dist/v2/{wrapup-orchestrator-gjkszser.js → wrapup-orchestrator-2t0pdqzm.js} +10 -10
  117. package/dist/{wrapup-orchestrator-n5h5sr1x.js → wrapup-orchestrator-kjmkms5g.js} +11 -11
  118. package/package.json +1 -1
  119. package/src/config/commit-retention-recovery.ts +34 -0
  120. package/src/config/index.ts +22 -2
  121. package/src/config/live-child-output-cap.test.ts +28 -0
  122. package/src/config/live-child-output-cap.ts +2 -0
  123. package/src/config/live-run-config.test.ts +44 -1
  124. package/src/config/live-run-config.ts +8 -1
  125. package/src/config/project-config-trust-boundary.test.ts +57 -0
  126. package/src/config/project-security.ts +6 -2
  127. package/src/shared/marker-only-text.ts +8 -0
  128. package/src/shared/windows-hidden-spawns.test.ts +133 -23
@@ -15,11 +15,12 @@ import {
15
15
  parseTree,
16
16
  parseJsoncRecovering,
17
17
  detectConfigFile,
18
+ copyCommitRetentionRecovery,
18
19
  cortexKitUserConfigBasePath,
19
20
  cortexKitProjectConfigBasePath,
20
21
  resolveLegacyConfigSourcesForHarness,
21
22
  loadPluginConfigDetailed
22
- } from "./server-94wk1ey3.js";
23
+ } from "./server-835q39kd.js";
23
24
  import {
24
25
  catalogOutputReserve,
25
26
  getSdkContextLimit,
@@ -41,7 +42,7 @@ import {
41
42
  getProjectChunkEmbeddingModelId2,
42
43
  getProjectEmbeddingMaxInputTokens2,
43
44
  embedItemsForProject2
44
- } from "./server-yqek3s4k.js";
45
+ } from "./server-zh3esb0z.js";
45
46
  import {
46
47
  hasMeaningfulUserText2,
47
48
  estimateTokens,
@@ -87,7 +88,7 @@ import {
87
88
  toMessageIndexSource,
88
89
  clearIndexedMessagesInTransaction,
89
90
  indexSourcesAfterOrdinal
90
- } from "./server-z2n2xaeh.js";
91
+ } from "./server-hwag0khr.js";
91
92
  import {
92
93
  retreatPastHostUnservedRows,
93
94
  snapTerminalCompartmentToServedRow,
@@ -186,7 +187,7 @@ import {
186
187
  getRawSessionTagKeysThrough2,
187
188
  getLegacyProtectedTailStartOrdinal2,
188
189
  readSessionChunk2
189
- } from "./server-xkvxss5g.js";
190
+ } from "./server-rb8m4vry.js";
190
191
  import {
191
192
  getTableColumnNames,
192
193
  tagTombstoneOwnerRange,
@@ -201,7 +202,7 @@ import {
201
202
  LATEST_SUPPORTED_VERSION,
202
203
  getPersistedSchemaVersion,
203
204
  openDatabase
204
- } from "./server-e3hc93wk.js";
205
+ } from "./server-d01pe8q5.js";
205
206
  import {
206
207
  providerMass,
207
208
  calibrationForModelKey,
@@ -230,7 +231,7 @@ import {
230
231
  openCodeDbExists,
231
232
  withReadOnlySessionDb,
232
233
  getMessageTimesFromOpenCodeDb
233
- } from "./server-3vhxy2k5.js";
234
+ } from "./server-a7x00tw8.js";
234
235
  import {
235
236
  BoundedSessionMap,
236
237
  getMeasuredToolDefinitionTokens
@@ -263,7 +264,7 @@ import {
263
264
  userFacingFailureCode,
264
265
  promoteSessionFactsDurable,
265
266
  embedPromotedFacts
266
- } from "./server-z3mk9jdc.js";
267
+ } from "./server-ph300d6m.js";
267
268
  import {
268
269
  isMarkerCandidateBasisCurrent2,
269
270
  invalidateMarkerCandidateBasis2,
@@ -288,7 +289,7 @@ import {
288
289
  } from "./server-53eh1r8r.js";
289
290
  import {
290
291
  sendStatusNotification2
291
- } from "./server-6v3cdzsx.js";
292
+ } from "./server-qc915kw2.js";
292
293
  import {
293
294
  piModelRefToCanonical
294
295
  } from "./server-avwt563y.js";
@@ -473,7 +474,13 @@ function sampleLiveConfig(boot, fresh) {
473
474
  if (leaf !== undefined)
474
475
  target[leaf] = value;
475
476
  }
476
- return result;
477
+ const sampled = result;
478
+ const freshCommitIndexing = fresh.memory?.git_commit_indexing;
479
+ const sampledCommitIndexing = sampled.memory?.git_commit_indexing;
480
+ if (freshCommitIndexing && sampledCommitIndexing) {
481
+ copyCommitRetentionRecovery(freshCommitIndexing, sampledCommitIndexing);
482
+ }
483
+ return sampled;
477
484
  }
478
485
  function removeLeaf(root, parts) {
479
486
  const parents = parts.slice(0, -1);
@@ -538,6 +545,7 @@ function withLiveDreamerOutputCap(executor, boot, fresh) {
538
545
  }),
539
546
  attempt: (handle, request) => executor.attempt(handle, request),
540
547
  collect: (handle, limit) => executor.collect(handle, limit),
548
+ collectPartial: (handle, limit) => executor.collectPartial?.(handle, limit) ?? executor.collect(handle, limit),
541
549
  close: (handle, settlement) => executor.close(handle, settlement)
542
550
  };
543
551
  }
@@ -1770,9 +1778,10 @@ class V2StoreReaderPool {
1770
1778
  this.idleWaiters.clear();
1771
1779
  }
1772
1780
  }
1773
- function messageTimesQuery(count) {
1781
+ function messageTimesQuery(count, withVersions = false) {
1774
1782
  return `SELECT id, COALESCE(time_created, json_extract(data, '$.time.created')) AS created,
1775
1783
  json_extract(data, '$.time.completed') AS completed
1784
+ ${withVersions ? ", type, seq, time_created AS version_created, time_updated AS version_updated" : ""}
1776
1785
  FROM session_message WHERE +session_id = ? AND id IN (${Array.from({ length: count }, () => "?").join(",")})`;
1777
1786
  }
1778
1787
 
@@ -1997,16 +2006,46 @@ class V2StoreReader {
1997
2006
  return row ? decode(row) : null;
1998
2007
  });
1999
2008
  }
2000
- messageTimes(sessionID, ids) {
2001
- const times = new Map;
2009
+ messageTimeVersions(sessionID, ids, span) {
2010
+ const versions = new Map;
2011
+ if (ids.length > 0 && span && span.last - span.first < ids.length * 2) {
2012
+ const wanted = new Set(ids);
2013
+ const rows = this.prepare(`SELECT id, type, seq, time_created AS created, time_updated AS updated
2014
+ FROM session_message WHERE session_id = ? AND seq >= ? AND seq <= ?`).all(sessionID, span.first, span.last);
2015
+ for (const row of rows)
2016
+ if (wanted.has(row.id))
2017
+ versions.set(row.id, row);
2018
+ for (const [id, version] of this.messageTimeVersions(sessionID, ids.filter((id) => !versions.has(id))))
2019
+ versions.set(id, version);
2020
+ return versions;
2021
+ }
2002
2022
  for (let offset = 0;offset < ids.length; offset += 500) {
2003
2023
  const batch = ids.slice(offset, offset + 500);
2004
- const rows = this.prepare(messageTimesQuery(batch.length)).all(sessionID, ...batch);
2024
+ const rows = this.prepare(`SELECT id, type, seq, time_created AS created, time_updated AS updated
2025
+ FROM session_message WHERE +session_id = ? AND id IN (${batch.map(() => "?").join(",")})`).all(sessionID, ...batch);
2005
2026
  for (const row of rows)
2027
+ versions.set(row.id, row);
2028
+ }
2029
+ return versions;
2030
+ }
2031
+ messageTimes(sessionID, ids, versions) {
2032
+ const times = new Map;
2033
+ for (let offset = 0;offset < ids.length; offset += 500) {
2034
+ const batch = ids.slice(offset, offset + 500);
2035
+ const rows = this.prepare(messageTimesQuery(batch.length, versions !== undefined)).all(sessionID, ...batch);
2036
+ for (const row of rows) {
2006
2037
  times.set(row.id, {
2007
2038
  created: typeof row.created === "number" ? row.created : undefined,
2008
2039
  completed: typeof row.completed === "number" ? row.completed : undefined
2009
2040
  });
2041
+ versions?.set(row.id, {
2042
+ id: row.id,
2043
+ type: row.type,
2044
+ seq: row.seq,
2045
+ created: row.version_created,
2046
+ updated: row.version_updated
2047
+ });
2048
+ }
2010
2049
  }
2011
2050
  return times;
2012
2051
  }
@@ -3358,6 +3397,8 @@ function projectEntryWithDigests(messages, digests) {
3358
3397
  value: () => contentDigest,
3359
3398
  enumerable: false
3360
3399
  });
3400
+ if (isCoveredInstructionRow(message.info))
3401
+ markCoveredInstructionRow(projection);
3361
3402
  return projection;
3362
3403
  });
3363
3404
  }
@@ -3434,7 +3475,7 @@ function asEntryProjection(input) {
3434
3475
  }
3435
3476
  return projectLkgEntry(input);
3436
3477
  }
3437
- function outputMessageIsPostAnchor(message, inputIndexById, anchorIndex) {
3478
+ function outputMessageIsPostAnchor(message, inputIndexById, anchorIndex, systemIndices) {
3438
3479
  const id = messageId(message);
3439
3480
  if (id !== null) {
3440
3481
  const inputIndex = inputIndexById.get(id);
@@ -3453,6 +3494,10 @@ function outputMessageIsPostAnchor(message, inputIndexById, anchorIndex) {
3453
3494
  }
3454
3495
  if (isCoveredInstructionRow(message.info))
3455
3496
  return false;
3497
+ if (messageRole(message) === "system") {
3498
+ const index = systemIndices.get(message);
3499
+ return index === undefined ? null : index > anchorIndex;
3500
+ }
3456
3501
  if (!isSyntheticOutput(message))
3457
3502
  return null;
3458
3503
  const linked = ["sourceMessageId", "ownerMessageId", "anchorMessageId"].map((key) => recordValue(message.info, key)).find((value) => typeof value === "string");
@@ -3466,7 +3511,7 @@ function buildLkgPrefix(input, output, completeOutput = false) {
3466
3511
  const anchorIndex = completeOutput && projected.length > 0 ? projected.length - 1 : findLkgAnchor(projected);
3467
3512
  if (anchorIndex === null)
3468
3513
  return null;
3469
- const ids = projected.map((message) => message.id);
3514
+ const ids = projected.map((message, index) => lkgInputIdentity(message.id, message.role, index));
3470
3515
  if (ids.some((id) => id === null))
3471
3516
  return null;
3472
3517
  const validIds = ids;
@@ -3477,9 +3522,27 @@ function buildLkgPrefix(input, output, completeOutput = false) {
3477
3522
  if (inputContentDigests.some((digest) => digest === null))
3478
3523
  return null;
3479
3524
  const inputIndexById = new Map(validIds.map((id, index) => [id, index]));
3525
+ const systemIndices = new Map;
3526
+ if (!completeOutput) {
3527
+ const inputSystems = projected.flatMap((message, index) => message.id === null && message.role === "system" && !isCoveredInstructionRow(message) ? [{ message, index }] : []);
3528
+ const outputSystems = output.filter((message) => messageId(message) === null && messageRole(message) === "system");
3529
+ const restoredCount = outputSystems.length - inputSystems.length;
3530
+ if (restoredCount < 0 || outputSystems.slice(0, restoredCount).some((message) => !isCoveredInstructionRow(message.info)))
3531
+ return null;
3532
+ for (let index = 0;index < inputSystems.length; index += 1) {
3533
+ const source = inputSystems[index];
3534
+ const message = outputSystems[index + restoredCount];
3535
+ const digest = source.message.contentDigest?.();
3536
+ if (!digest || lkgContentDigest(message) !== digest)
3537
+ return null;
3538
+ if (isCoveredInstructionRow(message.info) && source.index > anchorIndex)
3539
+ return null;
3540
+ systemIndices.set(message, source.index);
3541
+ }
3542
+ }
3480
3543
  const prefix = [];
3481
3544
  for (const message of output) {
3482
- const postAnchor = completeOutput ? false : outputMessageIsPostAnchor(message, inputIndexById, anchorIndex);
3545
+ const postAnchor = completeOutput ? false : outputMessageIsPostAnchor(message, inputIndexById, anchorIndex, systemIndices);
3483
3546
  if (postAnchor === null)
3484
3547
  return null;
3485
3548
  if (!postAnchor)
@@ -3906,6 +3969,12 @@ function noteLkgRecoveryPrefix(args) {
3906
3969
  return true;
3907
3970
  }
3908
3971
  function readLkgRecoveryPrefix(sessionId, inputs, messages, db) {
3972
+ return readRecoveryIdentityPrefix(sessionId, inputs.map((input, index) => ({
3973
+ id: lkgInputIdentity(input.id, input.role, index),
3974
+ contentDigest: input.contentDigest
3975
+ })), messages, db);
3976
+ }
3977
+ function readRecoveryIdentityPrefix(sessionId, inputs, messages, db) {
3909
3978
  const state = sessions.get(sessionId);
3910
3979
  const slot = db && (!state || state.prefix || state.uncertifiedNormal) ? loadPersistedLkgSlot(db, sessionId, true) ?? getSlot(sessionId) : getSlot(sessionId);
3911
3980
  const prefix = state?.prefix;
@@ -3924,8 +3993,8 @@ function noteLkgHealthyPrefix(sessionId, inputs, messages, release) {
3924
3993
  fenceRevision: sessions.get(sessionId)?.fenceRevision,
3925
3994
  prefix: prefix && !release ? {
3926
3995
  ...prefix,
3927
- inputs: inputs.map((input) => ({
3928
- id: input.id ?? "",
3996
+ inputs: inputs.map((input, index) => ({
3997
+ id: lkgInputIdentity(input.id, input.role, index) ?? "",
3929
3998
  digest: input.contentDigest?.() ?? ""
3930
3999
  })),
3931
4000
  json: JSON.stringify(messages)
@@ -3944,10 +4013,16 @@ function lkgRecoveryEntryUnproven(sessionId, entry, messages) {
3944
4013
  id,
3945
4014
  contentDigest: () => digests[index] ?? null
3946
4015
  }));
3947
- return !!readLkgRecoveryPrefix(sessionId, inputs, messages).rebuildReason;
4016
+ return !!readRecoveryIdentityPrefix(sessionId, inputs, messages).rebuildReason;
3948
4017
  }
3949
4018
 
3950
4019
  // src/hooks/magic-context/lkg-slot.ts
4020
+ var POSITIONAL_SYSTEM_KEY = "\x00mc-system:";
4021
+ function lkgInputIdentity(id, role, index) {
4022
+ if (typeof id === "string" && id.length > 0)
4023
+ return id.startsWith(POSITIONAL_SYSTEM_KEY) ? null : id;
4024
+ return role === "system" ? `${POSITIONAL_SYSTEM_KEY}${index}` : null;
4025
+ }
3951
4026
  var LKG_SINGLE_SLOT_BYTES = 72 * 1024 * 1024;
3952
4027
  var LKG_TOTAL_BYTES = 160 * 1024 * 1024;
3953
4028
  var LKG_METADATA_BYTES = 256;
@@ -4441,11 +4516,8 @@ function noteEntry(sessionId, input) {
4441
4516
  const slot = getSlot(sessionId);
4442
4517
  if (!slot)
4443
4518
  return null;
4444
- const messages = input.some((message) => isCoveredInstructionRow(message.info)) ? input.filter((message) => !isCoveredInstructionRow(message.info)) : input;
4445
- const entryInputIds = messages.map((message) => {
4446
- const id = message.info?.id;
4447
- return typeof id === "string" ? id : "";
4448
- });
4519
+ const messages = input;
4520
+ const entryInputIds = messages.map((message, index) => lkgInputIdentity(message.info?.id, message.info?.role, index) ?? "");
4449
4521
  const anchorIndex = entryInputIds.indexOf(slot.lastInputMessageId);
4450
4522
  if (anchorIndex < 0)
4451
4523
  return null;
@@ -20502,4 +20574,4 @@ ${failure}`;
20502
20574
  }
20503
20575
  }
20504
20576
 
20505
- export { historianRunConfig, dreamerRunConfig, pluginConfigReader, currentPluginConfigReader, withLiveDreamerOutputCap, COMPARTMENT_LEASE_RENEWAL_MS, acquireCompartmentLease, renewCompartmentLease, releaseCompartmentLeaseBestEffort, isCompartmentLeaseHeld, queueM0Mutation, getMaxM0MutationId, getCompartments, getLastCompartmentEndMessage, getLastCompartmentEndMessageId, getUncoveredCompartmentEndsThrough, providerResponseFailed, isSuccessfulProviderCompletion, LkgRecoveryFenceError, lkgServedArrayDigest, hasCleanLkgRecoveryFence, dirtyLkgRecoveryRevision, ownsLkgDirtyFence, invalidateCleanLkgRecoveryFence, prepareLkgCaptureFence, certifyCommittedLkgCapture, markLkgRecoveryDirty, rememberUnpublishedAutoSearchNoHint, getUnpublishedAutoSearchNoHint, forgetUnpublishedAutoSearchNoHint, registerAutoSearchWork, gaDatabasePath, RAW_MESSAGE_TYPES, V2StoreReaderPool, V2StoreReader, advanceSessionActivity, backfillSessionActivity, getOrCreateSessionMeta, updateSessionMeta, advanceToolReclaimWatermark, markSessionCleanupPending, retryPendingSessionCleanups, retryPendingRustSessionCleanupsForProject, clearSession, requestPendingMaterialization, pendingMaterializationOrigin, hasPendingMaterializationOrigin, clearPendingMaterialization, recordSystemPromptForRequest, recordHeldHeadForRequest, bindSystemPromptResponse, isHeldHeadForRequest, deferDeliveredSystemRefresh, retirePendingSystemPromptDelivery, lkgProviderInputTotal, beginV2LkgRequest, claimLkgRequestIdentity, currentLkgRequestIdentity, noteCapturedLkgRequest, noteLkgProviderResponse, measuredLkgPrefix, clearLkgMeasuredRequest, saveLkgSlotToDb, clearPersistedLkgSlotStrict, loadPersistedLkgSlot, drainStaleLkgSlots, resolveLkgModelKeys, createLkgEntryProjector, captureLkgSlot, validateAnthropicReasoningRuns, validateLkgSeam, replayLkg, coldStartRawServedIndex, coldStartUncapturedReplay, noteUncertifiedNormalLkg, hasProcessLocalLkgProof, lkgDirtyRevision, rememberLkgDirtyRevision, readPersistedLkgUntaggedInputIds, persistLkgUntaggedInputIds, noteLkgRecoveryPrefix, readLkgRecoveryPrefix, noteLkgHealthyPrefix, lkgRecoveryReplayUnproven, lkgRecoveryEntryUnproven, beginLkgPass, visitMessageContentFields, contentSnapshotValue, messageContentFields, signatureForFields, exactReusablePrefix, incrementalLkgContentDigests, lkgSlotRejection, captureSlot, getInMemorySlot, getSlot, forgetInMemorySlot, dropSlot, noteEntry, getLkgSlotHeapStats, TOOL_SWEEP_SCOPED_MARKER, useScopedToolSweep, createPreAdoptionToolSweepResolver, copySessionStateForClone, queueMemoryMutation, getMaxMemoryMutationIdForProjects, GLOBAL_USER_PROFILE_PROJECT_PATH, getProjectState, bumpProjectUserProfileVersion, saveSourceContent, replaceSourceContent, getSourceContents, readCoordinateGeneration, rebaseSessionCoordinatesAsync, HiddenCompletionRefusal, getOpenCodeDbPath, compareOpenCodeMessagesByCanonicalOrder, prepareCompactionMarkerCandidates, removeMcOwnedCompactionMarkers, getCompartmentEvents, USER_MEMORY_CANDIDATE_TTL_MS, insertUserMemoryCandidates, getUserMemoryCandidates, deleteUserMemoryCandidates, pruneExpiredUserMemoryCandidates, insertUserMemory, getActiveUserMemories, updateUserMemoryContent, dismissUserMemory, DreamerProviderOutputFailureError, withDreamerModelCooldown, providerOutputFailureFromInvalidManifest, DREAMER_AGENT, DREAMER_RETROSPECTIVE_AGENT, DREAMER_PRIMER_INVESTIGATOR_AGENT, DREAMER_MEMORY_MAPPER_AGENT, DREAMER_CLASSIFIER_AGENT, DREAMER_DOCS_AGENT, DREAMER_REVIEWER_AGENT, HIDDEN_HISTORIAN_AGENT, HIDDEN_DREAMER_AGENT, HIDDEN_CURATE_AGENT, hiddenAgentFor, hiddenToolLoop, HIDDEN_RUN_DISPOSED_REASON, noteChildOfDisposedInstance, hiddenChildPermissions, registerHiddenChildAgents, hiddenToolCallRefusal, HiddenAgentStepLimit, HiddenChildHook, extractLatestAssistantText, hasLengthCappedOutput, parseProviderModel, modelBodyField, toModelEntry, ModelProducedNoOutputError, noteModelActivityMonitored, noteModelOutputReceived, isPromptTimeoutError, getPromptFailureDetail, raceWithSignal, promptSyncWithValidatedOutputRetry, normalizeSDKResponse, annotateSubagentInvocationError, failedInvocationStatus, sumTokensFromChildMessages, recordChildInvocation, createPromptAsyncTransport, CTX_NOTE_LIGHT_DESCRIPTION, ACTIVE_TOOL_IDS, systemPromptFingerprint, createPromptSurfaceRuntime, createPromptSurfaceGuidanceEpochCache, MARKER_SUMMARY_TEXT, markerUpdateDefinitelyDidNotCut, applyDeferredCompactionMarker, teardownChildSession, runTokenLog, formatRunTokenLog, createChildSessionWithFence, buildMagicContextSection, getMuralIdentity, getMural, modelKeyAcceptsImages, resolveMuralWire, extractM0Block, formatDate, TEMPORAL_MARKER_REPLAY_PATTERN, collectTemporalCandidates, injectTemporalMarkers, clearInjectionCache, getVisibleMemoryIds, selectHiddenMessagesAtCompactionSeam, prepareCompartmentInjection, renderCompartmentInjection, MaterializeContentionError, mustMaterialize, trimMemoriesToBudgetV2, renderMemoryBlockV2, materializeM0, hydrateCachedM0Mural, resetPrefixTrimFallbackState, findHostCompactionWindow, capturePrefixTrimSourceOrder, prepareCachedM0M1Replay, hasCompleteCachedM0M1, injectM0M1, clampProducerAtomChars, producerInputTokenLimit, historianProducerReserve, producerPromptFailureReason, resolveHiddenCompletionExecutor, createV1HiddenCompletionExecutor, shouldWaitForNewHistorianHistory, EMPTY_READ_REPLY, noteTouchedAt, renderGlance, renderNotesById, formatWriteReply, observeNoteNudgeServe, onNoteTrigger, peekNoteNudgeText, markNoteNudgeDelivered, clearNoteNudgeTriggerAndCooldown, omitIncompleteFileTokenTotals, describeBoundaryDiagnostics, RECOVERY_NO_HEAD_LIMIT, deriveProtectedTailTokenTarget, selectPerRunCap, resolveOpenCodeProtectedTailBoundary, resolveWrapupProtectedTailBoundary, getRawHistoryEligibility, hasRunnableCompartmentWindow, recordHighPressureNoEligibleHead, noteTransformPassForExactOrdinalReads, runCompartmentAgent, getActiveCompartmentRun, markActiveCompartmentRunPublished, registerActiveCompartmentRun, startCompartmentAgent, isRecompFailure2, isRecompSkip2, extractRecompReason2, setRecompStarting2, setRecompNote2, setRecompTerminal2, buildRecompDeps2, runManagedRecomp2 };
20577
+ export { historianRunConfig, dreamerRunConfig, pluginConfigReader, currentPluginConfigReader, withLiveDreamerOutputCap, COMPARTMENT_LEASE_RENEWAL_MS, acquireCompartmentLease, renewCompartmentLease, releaseCompartmentLeaseBestEffort, isCompartmentLeaseHeld, queueM0Mutation, getMaxM0MutationId, getCompartments, getLastCompartmentEndMessage, getLastCompartmentEndMessageId, getUncoveredCompartmentEndsThrough, providerResponseFailed, isSuccessfulProviderCompletion, LkgRecoveryFenceError, lkgServedArrayDigest, hasCleanLkgRecoveryFence, dirtyLkgRecoveryRevision, ownsLkgDirtyFence, invalidateCleanLkgRecoveryFence, prepareLkgCaptureFence, certifyCommittedLkgCapture, markLkgRecoveryDirty, rememberUnpublishedAutoSearchNoHint, getUnpublishedAutoSearchNoHint, forgetUnpublishedAutoSearchNoHint, registerAutoSearchWork, gaDatabasePath, RAW_MESSAGE_TYPES, V2StoreReaderPool, V2StoreReader, advanceSessionActivity, backfillSessionActivity, getOrCreateSessionMeta, updateSessionMeta, advanceToolReclaimWatermark, markSessionCleanupPending, retryPendingSessionCleanups, retryPendingRustSessionCleanupsForProject, clearSession, requestPendingMaterialization, pendingMaterializationOrigin, hasPendingMaterializationOrigin, clearPendingMaterialization, recordSystemPromptForRequest, recordHeldHeadForRequest, bindSystemPromptResponse, isHeldHeadForRequest, deferDeliveredSystemRefresh, retirePendingSystemPromptDelivery, lkgProviderInputTotal, beginV2LkgRequest, claimLkgRequestIdentity, currentLkgRequestIdentity, noteCapturedLkgRequest, noteLkgProviderResponse, measuredLkgPrefix, clearLkgMeasuredRequest, saveLkgSlotToDb, clearPersistedLkgSlotStrict, loadPersistedLkgSlot, drainStaleLkgSlots, resolveLkgModelKeys, createLkgEntryProjector, captureLkgSlot, validateAnthropicReasoningRuns, validateLkgSeam, replayLkg, coldStartRawServedIndex, coldStartUncapturedReplay, noteUncertifiedNormalLkg, hasProcessLocalLkgProof, lkgDirtyRevision, rememberLkgDirtyRevision, readPersistedLkgUntaggedInputIds, persistLkgUntaggedInputIds, noteLkgRecoveryPrefix, readLkgRecoveryPrefix, noteLkgHealthyPrefix, lkgRecoveryReplayUnproven, lkgRecoveryEntryUnproven, lkgInputIdentity, beginLkgPass, visitMessageContentFields, contentSnapshotValue, messageContentFields, signatureForFields, exactReusablePrefix, incrementalLkgContentDigests, lkgSlotRejection, captureSlot, getInMemorySlot, getSlot, forgetInMemorySlot, dropSlot, noteEntry, getLkgSlotHeapStats, TOOL_SWEEP_SCOPED_MARKER, useScopedToolSweep, createPreAdoptionToolSweepResolver, copySessionStateForClone, queueMemoryMutation, getMaxMemoryMutationIdForProjects, GLOBAL_USER_PROFILE_PROJECT_PATH, getProjectState, bumpProjectUserProfileVersion, saveSourceContent, replaceSourceContent, getSourceContents, readCoordinateGeneration, rebaseSessionCoordinatesAsync, HiddenCompletionRefusal, getOpenCodeDbPath, compareOpenCodeMessagesByCanonicalOrder, prepareCompactionMarkerCandidates, removeMcOwnedCompactionMarkers, getCompartmentEvents, USER_MEMORY_CANDIDATE_TTL_MS, insertUserMemoryCandidates, getUserMemoryCandidates, deleteUserMemoryCandidates, pruneExpiredUserMemoryCandidates, insertUserMemory, getActiveUserMemories, updateUserMemoryContent, dismissUserMemory, DreamerProviderOutputFailureError, withDreamerModelCooldown, providerOutputFailureFromInvalidManifest, DREAMER_AGENT, DREAMER_RETROSPECTIVE_AGENT, DREAMER_PRIMER_INVESTIGATOR_AGENT, DREAMER_MEMORY_MAPPER_AGENT, DREAMER_CLASSIFIER_AGENT, DREAMER_DOCS_AGENT, DREAMER_REVIEWER_AGENT, HIDDEN_HISTORIAN_AGENT, HIDDEN_DREAMER_AGENT, HIDDEN_CURATE_AGENT, hiddenAgentFor, hiddenToolLoop, HIDDEN_RUN_DISPOSED_REASON, noteChildOfDisposedInstance, hiddenChildPermissions, registerHiddenChildAgents, hiddenToolCallRefusal, HiddenAgentStepLimit, HiddenChildHook, extractLatestAssistantText, hasLengthCappedOutput, parseProviderModel, modelBodyField, toModelEntry, ModelProducedNoOutputError, noteModelActivityMonitored, noteModelOutputReceived, isPromptTimeoutError, getPromptFailureDetail, raceWithSignal, promptSyncWithValidatedOutputRetry, normalizeSDKResponse, annotateSubagentInvocationError, failedInvocationStatus, emptyTokenTotals, sumTokensFromChildMessages, recordChildInvocation, createPromptAsyncTransport, CTX_NOTE_LIGHT_DESCRIPTION, ACTIVE_TOOL_IDS, systemPromptFingerprint, createPromptSurfaceRuntime, createPromptSurfaceGuidanceEpochCache, MARKER_SUMMARY_TEXT, markerUpdateDefinitelyDidNotCut, applyDeferredCompactionMarker, teardownChildSession, runTokenLog, formatRunTokenLog, createChildSessionWithFence, buildMagicContextSection, getMuralIdentity, getMural, modelKeyAcceptsImages, resolveMuralWire, extractM0Block, formatDate, TEMPORAL_MARKER_REPLAY_PATTERN, collectTemporalCandidates, injectTemporalMarkers, clearInjectionCache, getVisibleMemoryIds, selectHiddenMessagesAtCompactionSeam, prepareCompartmentInjection, renderCompartmentInjection, MaterializeContentionError, mustMaterialize, trimMemoriesToBudgetV2, renderMemoryBlockV2, materializeM0, hydrateCachedM0Mural, resetPrefixTrimFallbackState, findHostCompactionWindow, capturePrefixTrimSourceOrder, prepareCachedM0M1Replay, hasCompleteCachedM0M1, injectM0M1, clampProducerAtomChars, producerInputTokenLimit, historianProducerReserve, producerPromptFailureReason, resolveHiddenCompletionExecutor, createV1HiddenCompletionExecutor, shouldWaitForNewHistorianHistory, EMPTY_READ_REPLY, noteTouchedAt, renderGlance, renderNotesById, formatWriteReply, observeNoteNudgeServe, onNoteTrigger, peekNoteNudgeText, markNoteNudgeDelivered, clearNoteNudgeTriggerAndCooldown, omitIncompleteFileTokenTotals, describeBoundaryDiagnostics, RECOVERY_NO_HEAD_LIMIT, deriveProtectedTailTokenTarget, selectPerRunCap, resolveOpenCodeProtectedTailBoundary, resolveWrapupProtectedTailBoundary, getRawHistoryEligibility, hasRunnableCompartmentWindow, recordHighPressureNoEligibleHead, noteTransformPassForExactOrdinalReads, runCompartmentAgent, getActiveCompartmentRun, markActiveCompartmentRunPublished, registerActiveCompartmentRun, startCompartmentAgent, isRecompFailure2, isRecompSkip2, extractRecompReason2, setRecompStarting2, setRecompNote2, setRecompTerminal2, buildRecompDeps2, runManagedRecomp2 };
@@ -15,7 +15,7 @@ import {
15
15
  OpenAICompatibleEmbeddingProvider,
16
16
  getProjectEmbeddingSnapshot2,
17
17
  embedBatchForProject2
18
- } from "./server-yqek3s4k.js";
18
+ } from "./server-zh3esb0z.js";
19
19
  import {
20
20
  isEmbeddingHostBusy2
21
21
  } from "./server-qt1qqasc.js";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./server-6g98c227.js";
18
18
  import {
19
19
  embedTextForProject2
20
- } from "./server-yqek3s4k.js";
20
+ } from "./server-zh3esb0z.js";
21
21
  import {
22
22
  saveEmbeddingIfHashMatches
23
23
  } from "./server-4dhv7mqz.js";
@@ -10,7 +10,7 @@ import {
10
10
  } from "./server-1bw1wcbp.js";
11
11
  import {
12
12
  shouldHoldIgnoredNotification
13
- } from "./server-3vhxy2k5.js";
13
+ } from "./server-a7x00tw8.js";
14
14
  import {
15
15
  getErrorMessage
16
16
  } from "./server-y8v6yerm.js";
@@ -76,7 +76,7 @@ import {
76
76
  withReadOnlySessionDb,
77
77
  getRawSessionMessageCountFromDb,
78
78
  getMessageTimesFromOpenCodeDb
79
- } from "./server-3vhxy2k5.js";
79
+ } from "./server-a7x00tw8.js";
80
80
  import {
81
81
  getToolDefinitionMeasurementSignature,
82
82
  getMeasuredToolDefinitionTokens,
@@ -4570,6 +4570,13 @@ function hasAnthropicReasoning(messages) {
4570
4570
  });
4571
4571
  }
4572
4572
 
4573
+ // src/shared/marker-only-text.ts
4574
+ var MARKER_ONLY_PATTERN = /^(?:(?:§\d+§|\[dropped\s*(?:\d+|§\d*§)?\]|\[cleared\])\s*)+$/;
4575
+ function isMarkerOnlyText(text) {
4576
+ const trimmed = text.trim();
4577
+ return trimmed.length > 0 && MARKER_ONLY_PATTERN.test(trimmed);
4578
+ }
4579
+
4573
4580
  // src/shared/processed-image-eligibility.ts
4574
4581
  function createProcessedImageEligibility(messages, messageTagNumbers, options) {
4575
4582
  const ageTags = new Map;
@@ -4706,11 +4713,6 @@ function prepareServedShapeRepair(db, sessionID, messages, readPreviouslyServed,
4706
4713
  }
4707
4714
 
4708
4715
  // src/hooks/magic-context/strip-content.ts
4709
- var MARKER_ONLY_PATTERN = /^(?:(?:§\d+§|\[dropped(?: §\d+§)?\]|\[cleared\])\s*)+$/;
4710
- function isMarkerOnlyText(text) {
4711
- const trimmed = text.trim();
4712
- return trimmed.length > 0 && MARKER_ONLY_PATTERN.test(trimmed);
4713
- }
4714
4716
  var TAG_PREFIX_PATTERN = /^§\d+§\s*/;
4715
4717
  var SYSTEM_INJECTION_PATTERNS = [
4716
4718
  /^<!-- OMO_INTERNAL_INITIATOR -->$/,
@@ -7277,6 +7279,10 @@ function readSessionChunk2(sessionId, tokenBudget, offset = 1, eligibleEndOrdina
7277
7279
  const meta = { ordinal: msg.ordinal, messageId: msg.id };
7278
7280
  if (isHostUnservedRow(msg))
7279
7281
  markHostUnservedRow(meta);
7282
+ if (msg.role === "system") {
7283
+ recordFilteredNoise(meta);
7284
+ continue;
7285
+ }
7280
7286
  if (msg.role === "user" && !hasMeaningfulChunkUserText(msg.parts)) {
7281
7287
  const tcSummaries = msg.parts.flatMap((part) => {
7282
7288
  if (expandedResults.has(part))
@@ -13,11 +13,11 @@ import {
13
13
  import {
14
14
  openCodeDbExists,
15
15
  withReadOnlySessionDb
16
- } from "./server-3vhxy2k5.js";
16
+ } from "./server-a7x00tw8.js";
17
17
  import {
18
18
  hasRawMessageProvider2,
19
19
  readRawSessionMessageIdOrdinalsForRange2
20
- } from "./server-xkvxss5g.js";
20
+ } from "./server-rb8m4vry.js";
21
21
 
22
22
  // src/tools/ctx-expand/search-archive.ts
23
23
  var archiveReadsOnThisThread = 0;
@@ -1397,6 +1397,7 @@ function snapshotFor(registration) {
1397
1397
  runtimeFingerprint: registration.runtimeFingerprint,
1398
1398
  generation: registration.generation,
1399
1399
  features: { ...registration.features },
1400
+ ...registration.memoryDisabledReason ? { memoryDisabledReason: registration.memoryDisabledReason } : {},
1400
1401
  enabled,
1401
1402
  historyEnabled,
1402
1403
  gitCommitEnabled,
@@ -2366,7 +2367,7 @@ async function runShadowWorker() {
2366
2367
  await new Promise((resolve) => setTimeout(resolve, 0));
2367
2368
  }
2368
2369
  }
2369
- function registerProjectInObservationMode2(db, projectIdentity, sourceDirectory, failedConfig, failureSummary) {
2370
+ function registerProjectInObservationMode2(db, projectIdentity, sourceDirectory, failedConfig, failureSummary, memoryDisabledReason) {
2370
2371
  const prior = projectRegistrations.get(projectIdentity);
2371
2372
  const runtimeFingerprint = `observation:${sha256Prefix(failureSummary)}`;
2372
2373
  const generation = prior?.runtimeFingerprint === runtimeFingerprint && prior.observationMode ? prior.generation : ++globalRegistrationGeneration;
@@ -2381,7 +2382,8 @@ function registerProjectInObservationMode2(db, projectIdentity, sourceDirectory,
2381
2382
  features: { memoryEnabled: false, gitCommitEnabled: false },
2382
2383
  modelId: "off",
2383
2384
  chunkModelId: "off",
2384
- observationMode: true
2385
+ observationMode: true,
2386
+ memoryDisabledReason
2385
2387
  };
2386
2388
  projectRegistrations.set(projectIdentity, registration);
2387
2389
  disposeProvider(prior?.provider ?? null);
package/dist/v2/server.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadPluginConfigDetailed
3
- } from "./server-94wk1ey3.js";
3
+ } from "./server-835q39kd.js";
4
4
  import {
5
5
  setHarness2
6
6
  } from "./server-pavzsdc6.js";
@@ -7874,7 +7874,7 @@ var require_src2 = __commonJS(function(exports, module) {
7874
7874
  // package.json
7875
7875
  var package_default = {
7876
7876
  name: "@cortexkit/opencode-magic-context",
7877
- version: "0.49.28",
7877
+ version: "0.49.30",
7878
7878
  type: "module",
7879
7879
  description: "OpenCode plugin for Magic Context — cross-session memory and context management",
7880
7880
  main: "dist/index.js",
@@ -8195,7 +8195,7 @@ async function setup(context) {
8195
8195
  if (claimStorageBackupWarningCheck() && isMagicContextStorageOutsideEngram(storageDir)) {
8196
8196
  log2(`[magic-context] Magic Context storage is at ${storageDir}, outside the folder Engram backs up (~/.local/share/cortexkit/magic-context). It is not included in CortexKit backups.`);
8197
8197
  }
8198
- const { registerContext } = await import("./context-0qhz1nnj.js");
8198
+ const { registerContext } = await import("./context-wx4sfhgr.js");
8199
8199
  setHarness2("opencode2");
8200
8200
  bindStaleBuildNotice({}, import.meta.url, "opencode2");
8201
8201
  const duties = await registerContext(context);
@@ -155,7 +155,14 @@ export declare class V2StoreReaderPool {
155
155
  * row of the session for each batch of ids. The session is still checked on
156
156
  * each row found.
157
157
  */
158
- export declare function messageTimesQuery(count: number): string;
158
+ export declare function messageTimesQuery(count: number, withVersions?: boolean): string;
159
+ export interface V2MessageTimeVersion {
160
+ id: string;
161
+ type: string;
162
+ seq: number;
163
+ created: number | null;
164
+ updated: number | null;
165
+ }
159
166
  /** Opens an existing store read-only; missing/corrupt stores propagate errors, never an empty history. */
160
167
  export declare class V2StoreReader {
161
168
  private readonly path;
@@ -248,7 +255,12 @@ export declare class V2StoreReader {
248
255
  storedRowsAfter(sessionID: string, after: number): number;
249
256
  storedMessageCount(sessionID: string): number;
250
257
  messageById(sessionID: string, id: string): StoreRow | null;
251
- messageTimes(sessionID: string, ids: readonly string[]): Map<string, {
258
+ /** Check membership and row revisions without loading or parsing message data. */
259
+ messageTimeVersions(sessionID: string, ids: readonly string[], span?: {
260
+ first: number;
261
+ last: number;
262
+ }): Map<string, V2MessageTimeVersion>;
263
+ messageTimes(sessionID: string, ids: readonly string[], versions?: Map<string, V2MessageTimeVersion>): Map<string, {
252
264
  created?: number;
253
265
  completed?: number;
254
266
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"store-reader.d.ts","sourceRoot":"","sources":["../../src/v2/store-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-reader.d.ts","sourceRoot":"","sources":["../../src/v2/store-reader.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,8 @@ import {
19
19
  registerActiveCompartmentRun,
20
20
  setRecompStarting2,
21
21
  setRecompTerminal2
22
- } from "./server-jj9qye8y.js";
23
- import"./server-yqek3s4k.js";
22
+ } from "./server-k33t88h3.js";
23
+ import"./server-zh3esb0z.js";
24
24
  import"./server-3mz2qh5a.js";
25
25
  import"./server-ab1g0wn9.js";
26
26
  import {
@@ -31,7 +31,7 @@ import"./server-cpjk5jd2.js";
31
31
  import"./server-6vd2n183.js";
32
32
  import"./server-awr8qa4c.js";
33
33
  import"./server-4sn3at8p.js";
34
- import"./server-z2n2xaeh.js";
34
+ import"./server-hwag0khr.js";
35
35
  import {
36
36
  getWrapupInProgressState,
37
37
  acquireWrapupInProgress,
@@ -40,20 +40,20 @@ import {
40
40
  getHistorianFailureState,
41
41
  clearEmergencyRecovery,
42
42
  prepareRawSessionOrdinals2
43
- } from "./server-xkvxss5g.js";
43
+ } from "./server-rb8m4vry.js";
44
44
  import"./server-v77xa5wj.js";
45
- import"./server-e3hc93wk.js";
45
+ import"./server-d01pe8q5.js";
46
46
  import"./server-1zx87sdm.js";
47
47
  import"./server-nxas8v1d.js";
48
48
  import"./server-24g8r2d0.js";
49
49
  import"./server-2ra6pwf3.js";
50
- import"./server-3vhxy2k5.js";
50
+ import"./server-a7x00tw8.js";
51
51
  import"./server-cqjvxyrp.js";
52
52
  import"./server-fr0wbhdn.js";
53
53
  import"./server-6g98c227.js";
54
54
  import"./server-qjvk4a9t.js";
55
55
  import"./server-fb3zxn06.js";
56
- import"./server-z3mk9jdc.js";
56
+ import"./server-ph300d6m.js";
57
57
  import {
58
58
  pushNotification2
59
59
  } from "./server-x8a7jmkh.js";
@@ -62,15 +62,15 @@ import"./server-qt1qqasc.js";
62
62
  import"./server-bsgd4dk1.js";
63
63
  import"./server-4dhv7mqz.js";
64
64
  import"./server-vr4szghm.js";
65
- import"./server-6avtp9jp.js";
65
+ import"./server-p0snacz3.js";
66
66
  import"./server-jjvbk92s.js";
67
- import"./server-94wk1ey3.js";
67
+ import"./server-835q39kd.js";
68
68
  import"./server-29qp8nz4.js";
69
69
  import"./server-53eh1r8r.js";
70
70
  import"./server-1bw1wcbp.js";
71
71
  import {
72
72
  sendStatusNotification2
73
- } from "./server-6v3cdzsx.js";
73
+ } from "./server-qc915kw2.js";
74
74
  import"./server-gyy4k6mf.js";
75
75
 
76
76
  // src/hooks/magic-context/wrapup-orchestrator.ts
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  runManagedWrapup2
3
- } from "./index-31y1mznz.js";
4
- import"./index-n8qmmd7f.js";
5
- import"./index-dcqk0y27.js";
3
+ } from "./index-69gd2scx.js";
4
+ import"./index-adr4vfys.js";
5
+ import"./index-k0dpkyn7.js";
6
6
  import"./index-qgh1qwjj.js";
7
- import"./index-t3rbb8wr.js";
8
- import"./index-7gbcg8xv.js";
7
+ import"./index-pe6b4bhs.js";
8
+ import"./index-4s4zq97n.js";
9
9
  import"./index-sd3egckz.js";
10
- import"./index-4ypqzvhf.js";
11
- import"./index-a2fz9hpa.js";
10
+ import"./index-vnn5405n.js";
11
+ import"./index-gxkhzmjq.js";
12
12
  import"./index-jjvbk92s.js";
13
13
  import"./index-4dhv7mqz.js";
14
14
  import"./index-spwjbkc7.js";
15
- import"./index-077ht5cq.js";
15
+ import"./index-waktfbjy.js";
16
16
  import"./index-qt1qqasc.js";
17
- import"./index-yzjhx10y.js";
17
+ import"./index-0fe4q77z.js";
18
18
  import"./index-np3rgfw4.js";
19
19
  import"./index-1zx87sdm.js";
20
- import"./index-v0dhhxsq.js";
20
+ import"./index-y1qwzvxn.js";
21
21
  import"./index-x8a7jmkh.js";
22
22
  import"./index-rrv26qjz.js";
23
23
  import"./index-51rdvtkz.js";
@@ -25,7 +25,7 @@ import"./index-nxrsns5x.js";
25
25
  import"./index-kfyb3k6n.js";
26
26
  import"./index-mm93m7y6.js";
27
27
  import"./index-wfybj1dw.js";
28
- import"./index-4cpc59jv.js";
28
+ import"./index-hbt0sbv2.js";
29
29
  import"./index-fb3zxn06.js";
30
30
  import"./index-7kkphb6c.js";
31
31
  import"./index-kq5w68dp.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cortexkit/opencode-magic-context",
3
- "version": "0.49.28",
3
+ "version": "0.49.30",
4
4
  "type": "module",
5
5
  "description": "OpenCode plugin for Magic Context — cross-session memory and context management",
6
6
  "main": "dist/index.js",