@cortexkit/opencode-magic-context 0.49.25 → 0.49.27

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 (124) hide show
  1. package/dist/auto-search-worker.js +4 -4
  2. package/dist/chunk-embedding-write-worker.js +7 -7
  3. package/dist/{compartment-chunk-embedding-eypvn607.js → compartment-chunk-embedding-qgp0tbf7.js} +3 -3
  4. package/dist/config/schema/magic-context.d.ts +393 -393
  5. package/dist/{conflict-warning-hook-a27bhggg.js → conflict-warning-hook-tgnw019g.js} +4 -4
  6. package/dist/{context-keb00be8.js → context-t2k97d6v.js} +116 -116
  7. package/dist/{embedding-backfill-vddgmem3.js → embedding-backfill-cwnyr4fj.js} +5 -5
  8. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  9. package/dist/features/magic-context/message-index-async.d.ts +1 -4
  10. package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
  11. package/dist/features/magic-context/message-index.d.ts +1 -28
  12. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  13. package/dist/features/magic-context/session-retention.fixture.d.ts +4 -0
  14. package/dist/features/magic-context/session-retention.fixture.d.ts.map +1 -0
  15. package/dist/features/magic-context/storage-session-tables.d.ts +5 -12
  16. package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -1
  17. package/dist/hooks/magic-context/caveman-cleanup.d.ts +14 -0
  18. package/dist/hooks/magic-context/caveman-cleanup.d.ts.map +1 -1
  19. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts +11 -0
  20. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  21. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  22. package/dist/hooks/magic-context/foreign-text-parts.d.ts +47 -0
  23. package/dist/hooks/magic-context/foreign-text-parts.d.ts.map +1 -0
  24. package/dist/hooks/magic-context/historian-history-wait.d.ts +10 -0
  25. package/dist/hooks/magic-context/historian-history-wait.d.ts.map +1 -0
  26. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  27. package/dist/hooks/magic-context/lkg-recovery-fence.d.ts +0 -5
  28. package/dist/hooks/magic-context/lkg-recovery-fence.d.ts.map +1 -1
  29. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts +0 -10
  30. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts.map +1 -1
  31. package/dist/hooks/magic-context/read-session-chunk.d.ts +21 -0
  32. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  33. package/dist/hooks/magic-context/read-session-raw.d.ts +20 -0
  34. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  35. package/dist/hooks/magic-context/tag-messages.d.ts +15 -0
  36. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  37. package/dist/hooks/magic-context/todo-view.d.ts +2 -2
  38. package/dist/hooks/magic-context/transform.d.ts +7 -0
  39. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  40. package/dist/{index-jcr6pe7z.js → index-077ht5cq.js} +1 -1
  41. package/dist/{index-ebsvmc5s.js → index-31y1mznz.js} +4 -4
  42. package/dist/{index-q7ywt6xt.js → index-4cpc59jv.js} +5 -5
  43. package/dist/{index-t6j3qxnd.js → index-4ypqzvhf.js} +1 -1
  44. package/dist/index-7gbcg8xv.js +559 -0
  45. package/dist/{index-9q1g3c5q.js → index-7kkphb6c.js} +1 -1
  46. package/dist/{index-bhyksfyy.js → index-89k1w6x2.js} +3 -3
  47. package/dist/{index-z05n7702.js → index-a2fz9hpa.js} +1 -1
  48. package/dist/{index-0s8454t2.js → index-dcqk0y27.js} +1560 -91
  49. package/dist/{index-n18sch77.js → index-dzfevacx.js} +9 -9
  50. package/dist/{index-axjgxeww.js → index-fq2p158w.js} +169 -13
  51. package/dist/{index-3d5wnkq7.js → index-mm93m7y6.js} +1 -1
  52. package/dist/{index-zzrzjnx5.js → index-n8qmmd7f.js} +3 -3
  53. package/dist/{index-whcgcfrv.js → index-np3rgfw4.js} +1 -1
  54. package/dist/{index-y6xpzjzr.js → index-qzbpbnqt.js} +585 -602
  55. package/dist/{index-7tdtpqrg.js → index-rverk2vz.js} +39 -8
  56. package/dist/{index-cfaet9cg.js → index-s1n8dd2n.js} +1 -1
  57. package/dist/{index-z928hmnp.js → index-t3rbb8wr.js} +2 -2
  58. package/dist/{index-2haxh8h3.js → index-tvzvjggy.js} +1 -1
  59. package/dist/{index-c9zrgcnt.js → index-v0dhhxsq.js} +1 -1
  60. package/dist/{index-szf8r0ba.js → index-v15ne3a3.js} +2 -5
  61. package/dist/{index-x9k3mqrf.js → index-xrnsygfq.js} +1 -1
  62. package/dist/{index-yrrsp47d.js → index-yzjhx10y.js} +20 -6
  63. package/dist/index.js +40 -38
  64. package/dist/{message-fts-rowid-map-9e1getgs.js → message-fts-rowid-map-va36knh4.js} +2 -4
  65. package/dist/{message-index-bounded-vaeqhp9w.js → message-index-bounded-7ayzb2ah.js} +22 -25
  66. package/dist/migration-worker.js +6 -6
  67. package/dist/plugin/dream-timer.d.ts.map +1 -1
  68. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  69. package/dist/{project-embedding-registry-rstzmb60.js → project-embedding-registry-94nncs5g.js} +4 -4
  70. package/dist/raw-ordinal-warmup-worker.js +7 -30
  71. package/dist/{read-session-chunk-z5gnc0zb.js → read-session-chunk-jzb6w9w5.js} +8 -6
  72. package/dist/{read-session-raw-s4amywnh.js → read-session-raw-b2sd67v4.js} +3 -1
  73. package/dist/{recomp-orchestrator-qwqeskhq.js → recomp-orchestrator-02sa2ngr.js} +17 -17
  74. package/dist/{search-archive-mfabzyn2.js → search-archive-q1vw7zg4.js} +7 -7
  75. package/dist/{search-84zfqeky.js → search-spq6nfyf.js} +14 -15
  76. package/dist/{send-session-notification-ygj4mja0.js → send-session-notification-afzzqy5b.js} +3 -3
  77. package/dist/{storage-tags-a77q4v77.js → storage-tags-6hvkk01c.js} +2 -2
  78. package/dist/tools/ctx-reduce/tools.d.ts.map +1 -1
  79. package/dist/{transform-postprocess-phase-hr1ntmjj.js → transform-postprocess-phase-6menyyxc.js} +17 -17
  80. package/dist/v2/auto-search-worker.js +4 -4
  81. package/dist/v2/chunk-embedding-write-worker.js +7 -7
  82. package/dist/v2/{compartment-chunk-embedding-tk6g4q80.js → compartment-chunk-embedding-63dzs31c.js} +3 -3
  83. package/dist/v2/{context-y7wfvdve.js → context-na0esngr.js} +342 -218
  84. package/dist/v2/{embedding-backfill-w5qp7t28.js → embedding-backfill-rh5dgsva.js} +5 -5
  85. package/dist/v2/hooks/context.d.ts.map +1 -1
  86. package/dist/v2/{message-fts-rowid-map-pqk3a55v.js → message-fts-rowid-map-78awh03v.js} +2 -4
  87. package/dist/v2/{message-index-bounded-te303atj.js → message-index-bounded-n09b74vr.js} +21 -24
  88. package/dist/v2/migration-worker.js +6 -6
  89. package/dist/v2/{project-embedding-registry-e7zftfvj.js → project-embedding-registry-6pak822h.js} +4 -4
  90. package/dist/v2/raw-ordinal-warmup-worker.js +7 -30
  91. package/dist/v2/{read-session-chunk-knvkq1hf.js → read-session-chunk-vpt69tw9.js} +7 -5
  92. package/dist/v2/{read-session-raw-ppjxnqk4.js → read-session-raw-5x088amc.js} +3 -1
  93. package/dist/v2/{recomp-orchestrator-e8a4jpvr.js → recomp-orchestrator-txsmbnvw.js} +14 -14
  94. package/dist/v2/{search-archive-vrwgxv6z.js → search-archive-t9bcz4ht.js} +6 -6
  95. package/dist/v2/{search-hav4dggf.js → search-dcy9b6gd.js} +13 -14
  96. package/dist/v2/{send-session-notification-f8scq6ae.js → send-session-notification-vdsgnf4c.js} +1 -1
  97. package/dist/v2/{server-pw21ypwb.js → server-4sn3at8p.js} +1 -1
  98. package/dist/v2/{server-8j2e7t31.js → server-6avtp9jp.js} +1 -1
  99. package/dist/v2/{server-wwaw5npa.js → server-6g98c227.js} +1 -1
  100. package/dist/v2/{server-swvhxhxz.js → server-6vd2n183.js} +39 -8
  101. package/dist/v2/{server-wxrdher8.js → server-awr8qa4c.js} +2 -5
  102. package/dist/v2/{server-7d6m1p2b.js → server-cqjvxyrp.js} +1 -1
  103. package/dist/v2/{server-e75vag9d.js → server-e3hc93wk.js} +5 -5
  104. package/dist/v2/{server-7weh65vd.js → server-jj9qye8y.js} +1520 -79
  105. package/dist/v2/{server-fa7vtp40.js → server-nxas8v1d.js} +1 -1
  106. package/dist/v2/{server-tfawsj08.js → server-txbc3czn.js} +9 -9
  107. package/dist/v2/{server-rqebawx1.js → server-v77xa5wj.js} +1 -1
  108. package/dist/v2/{server-5brp2rfn.js → server-xkvxss5g.js} +19 -5
  109. package/dist/v2/{server-q5z0gag0.js → server-yqek3s4k.js} +1 -1
  110. package/dist/v2/server-z2n2xaeh.js +538 -0
  111. package/dist/v2/{server-9xbbaekh.js → server-z3mk9jdc.js} +2 -2
  112. package/dist/v2/{server-m6yyn961.js → server-zmcrvpm3.js} +2 -2
  113. package/dist/v2/server.js +2 -2
  114. package/dist/v2/{storage-tags-q71rnr9f.js → storage-tags-18nbaanf.js} +2 -2
  115. package/dist/v2/store-reader.d.ts +0 -2
  116. package/dist/v2/store-reader.d.ts.map +1 -1
  117. package/dist/v2/{wrapup-orchestrator-ycs8y6n4.js → wrapup-orchestrator-gjkszser.js} +14 -14
  118. package/dist/{wrapup-orchestrator-f642w8n3.js → wrapup-orchestrator-n5h5sr1x.js} +18 -18
  119. package/package.json +1 -1
  120. package/src/shared/write-transaction-attribution.test.ts +1 -6
  121. package/dist/index-awcftgmx.js +0 -2251
  122. package/dist/message-index-3g966xn7.js +0 -61
  123. package/dist/v2/message-index-fz6b4jeh.js +0 -60
  124. package/dist/v2/server-6a8pxpxg.js +0 -2220
@@ -4,15 +4,15 @@ import {
4
4
  cleanupConflictWarnings2,
5
5
  sendSchemaFenceWarning2,
6
6
  sendStartupAnnouncement2
7
- } from "./index-2haxh8h3.js";
7
+ } from "./index-tvzvjggy.js";
8
8
  import"./index-4pnsgvfk.js";
9
9
  import"./index-sd3egckz.js";
10
- import"./index-jcr6pe7z.js";
10
+ import"./index-077ht5cq.js";
11
11
  import"./index-qt1qqasc.js";
12
- import"./index-c9zrgcnt.js";
12
+ import"./index-v0dhhxsq.js";
13
13
  import"./index-rrv26qjz.js";
14
14
  import"./index-58e3y90n.js";
15
- import"./index-7tdtpqrg.js";
15
+ import"./index-rverk2vz.js";
16
16
  import"./index-v0p37hm2.js";
17
17
  import"./index-gzy5w8ya.js";
18
18
  import"./index-h7tgn49j.js";
@@ -6,6 +6,8 @@ import {
6
6
  dreamerRunConfig,
7
7
  pluginConfigReader,
8
8
  withLiveDreamerOutputCap,
9
+ advanceSessionActivity,
10
+ backfillSessionActivity,
9
11
  acquireCompartmentLease,
10
12
  releaseCompartmentLeaseBestEffort,
11
13
  isCompartmentLeaseHeld,
@@ -14,6 +16,10 @@ import {
14
16
  getUncoveredCompartmentEndsThrough,
15
17
  providerResponseFailed,
16
18
  isSuccessfulProviderCompletion,
19
+ gaDatabasePath,
20
+ RAW_MESSAGE_TYPES,
21
+ V2StoreReaderPool,
22
+ V2StoreReader,
17
23
  getOrCreateSessionMeta,
18
24
  updateSessionMeta,
19
25
  markSessionCleanupPending,
@@ -59,7 +65,7 @@ import {
59
65
  rebaseSessionCoordinatesAsync,
60
66
  resolveOpenCodeProtectedTailBoundary,
61
67
  getActiveCompartmentRun
62
- } from "./index-0s8454t2.js";
68
+ } from "./index-dcqk0y27.js";
63
69
  import"./index-sd3egckz.js";
64
70
  import {
65
71
  getHarness2
@@ -101,7 +107,6 @@ import {
101
107
  createDreamTaskExecutor,
102
108
  runManualDream,
103
109
  runDueTasksForProject,
104
- scheduleClearAndReindex,
105
110
  startDreamScheduleTimer,
106
111
  createDreamTimerModuleClient,
107
112
  ensureProjectRegisteredFromOpenCodeDirectory,
@@ -109,6 +114,7 @@ import {
109
114
  resolveModelKey,
110
115
  createScheduler,
111
116
  describeStorageUnavailability,
117
+ scheduleClearAndReindex,
112
118
  getSessionErrorInfo,
113
119
  summarizeManualDream,
114
120
  createChatMessageHook,
@@ -151,7 +157,7 @@ import {
151
157
  applyJsonSchemaParameterDescriptions,
152
158
  MagicContextRpcServer,
153
159
  subagentTemperature
154
- } from "./index-y6xpzjzr.js";
160
+ } from "./index-qzbpbnqt.js";
155
161
  import {
156
162
  resolveHistorianModel2
157
163
  } from "./index-5kym00ag.js";
@@ -166,21 +172,12 @@ import {
166
172
  openDatabaseAsync,
167
173
  isDatabasePersisted,
168
174
  getDatabasePersistenceError
169
- } from "./index-q7ywt6xt.js";
175
+ } from "./index-4cpc59jv.js";
170
176
  import {
171
177
  setHomeProjectPermission,
172
178
  resolveProjectIdentityForSession,
173
179
  scheduleAfterBootQuiet
174
180
  } from "./index-kq5w68dp.js";
175
- import"./index-c7phnbvk.js";
176
- import {
177
- advanceSessionActivity,
178
- backfillSessionActivity,
179
- gaDatabasePath,
180
- RAW_MESSAGE_TYPES,
181
- V2StoreReaderPool,
182
- V2StoreReader
183
- } from "./index-awcftgmx.js";
184
181
  import"./index-v0p37hm2.js";
185
182
  import {
186
183
  inRootAsyncContext2,
@@ -190,8 +187,7 @@ import {
190
187
  withAsyncPrivilegedWriter2
191
188
  } from "./index-gzy5w8ya.js";
192
189
  import"./index-cpjk5jd2.js";
193
- import"./index-7tdtpqrg.js";
194
- import"./index-58e3y90n.js";
190
+ import"./index-rverk2vz.js";
195
191
  import"./index-1zx87sdm.js";
196
192
  import {
197
193
  stripPersistedAssistantText,
@@ -200,14 +196,15 @@ import {
200
196
  isDroppedToolOutput,
201
197
  evaluateChannel2,
202
198
  buildChannel2Reminder
203
- } from "./index-whcgcfrv.js";
199
+ } from "./index-np3rgfw4.js";
204
200
  import {
205
201
  hasMeaningfulUserText2,
206
202
  preloadTokenizer,
207
203
  estimateTokens
208
204
  } from "./index-b88dwwrh.js";
209
- import"./index-x9k3mqrf.js";
210
- import"./index-c9zrgcnt.js";
205
+ import"./index-xrnsygfq.js";
206
+ import"./index-58e3y90n.js";
207
+ import"./index-v0dhhxsq.js";
211
208
  import {
212
209
  needsBlockedRead,
213
210
  markHostUnservedRow,
@@ -243,29 +240,31 @@ import {
243
240
  cleanUserText2,
244
241
  readRawSessionMessageIdOrdinalsForRange2,
245
242
  readRawSessionMessageOrdinalById2
246
- } from "./index-yrrsp47d.js";
243
+ } from "./index-yzjhx10y.js";
247
244
  import {
248
245
  BoundedSessionMap,
249
246
  recordToolDefinitionSet,
250
247
  getCurrentToolSetHash
251
- } from "./index-cfaet9cg.js";
252
- import"./index-szf8r0ba.js";
253
- import"./index-wfybj1dw.js";
254
- import {
255
- deleteChunkEmbedBackoffForSession2
256
- } from "./index-3d5wnkq7.js";
248
+ } from "./index-s1n8dd2n.js";
249
+ import"./index-7gbcg8xv.js";
250
+ import"./index-v15ne3a3.js";
257
251
  import {
258
252
  invalidateAutoEmbedSession,
259
253
  clearEmbedSessionState,
260
254
  retainProjectEmbedding2
261
- } from "./index-z05n7702.js";
255
+ } from "./index-a2fz9hpa.js";
256
+ import"./index-wfybj1dw.js";
257
+ import {
258
+ deleteChunkEmbedBackoffForSession2
259
+ } from "./index-mm93m7y6.js";
260
+ import"./index-c7phnbvk.js";
262
261
  import"./index-fr0wbhdn.js";
263
- import"./index-9q1g3c5q.js";
262
+ import"./index-7kkphb6c.js";
264
263
  import"./index-fb3zxn06.js";
265
264
  import {
266
265
  renderUserFacingFailure,
267
266
  userFacingFailureCode
268
- } from "./index-z928hmnp.js";
267
+ } from "./index-t3rbb8wr.js";
269
268
  import {
270
269
  createTagger,
271
270
  cavemanWordRulesForLanguage,
@@ -274,29 +273,29 @@ import {
274
273
  EmergencyFailClosedError,
275
274
  DegradedPassRefusalError,
276
275
  isSyntheticHeadMessage2
277
- } from "./index-axjgxeww.js";
276
+ } from "./index-fq2p158w.js";
278
277
  import"./index-qgh1qwjj.js";
279
278
  import"./index-qt1qqasc.js";
280
279
  import"./index-kfyb3k6n.js";
281
280
  import"./index-4dhv7mqz.js";
282
281
  import"./index-51rdvtkz.js";
283
- import"./index-t6j3qxnd.js";
282
+ import"./index-4ypqzvhf.js";
284
283
  import"./index-jjvbk92s.js";
285
284
  import {
286
285
  pushNotification2,
287
286
  isTuiConnected2
288
287
  } from "./index-x8a7jmkh.js";
289
288
  import"./index-rrv26qjz.js";
290
- import"./index-jcr6pe7z.js";
291
- import"./index-n18sch77.js";
292
- import"./index-zzrzjnx5.js";
289
+ import"./index-077ht5cq.js";
290
+ import"./index-dzfevacx.js";
291
+ import"./index-n8qmmd7f.js";
293
292
  import"./index-gp3kcpc4.js";
294
293
  import {
295
294
  detectConflicts
296
295
  } from "./index-4pnsgvfk.js";
297
296
  import"./index-fmsr7v69.js";
298
297
  import"./index-kaqs6h31.js";
299
- import"./index-bhyksfyy.js";
298
+ import"./index-89k1w6x2.js";
300
299
  import {
301
300
  isDreamerRunnable,
302
301
  isSmartNoteSurfaceAvailable,
@@ -5746,6 +5745,88 @@ async function registerContext(context) {
5746
5745
  ...args.messages.filter((message) => message !== args.incoming)
5747
5746
  ];
5748
5747
  };
5748
+ const initializeTransform = (database) => transform ??= createTransform({
5749
+ ...createV2TransformFeatureDeps(config, compactionOff, directory, embeddings.ensureRegistered),
5750
+ cacheTtlConfig: config.cache_ttl,
5751
+ cacheTtlConfigured: config.cacheTtlConfigured,
5752
+ sampleCacheTtlConfig: () => liveConfigReader.poll().effective,
5753
+ db: database,
5754
+ tagger,
5755
+ ...createV2ThresholdDeps(config),
5756
+ contextUsageMap: usage,
5757
+ compactionOff,
5758
+ storeGeneration: "v2",
5759
+ normalizeRestoredAssistantText: (text, providerID) => stripCopiedTagNotation(text, providerID === "anthropic"),
5760
+ refreshSourceContents: (sessionID) => nativeFoldReplay?.needsHeadRebuild(sessionID) ?? false,
5761
+ hostCleanupCompactionMarkers: () => ({
5762
+ verified: true,
5763
+ removedLineages: 0,
5764
+ removedRows: 0,
5765
+ retainedLineages: 0
5766
+ }),
5767
+ protectedTokens: config.protected_tokens,
5768
+ protectedTokenTierOverrides: getProtectedTokensTierOverrides(config),
5769
+ liveModelBySession: liveModels,
5770
+ getToolSetHash: (sessionId) => {
5771
+ const model = liveModels.get(sessionId);
5772
+ if (!model)
5773
+ return "";
5774
+ return getCurrentToolSetHash(model.providerID, model.modelID, agents.get(sessionId), sessionId);
5775
+ },
5776
+ channel1StateBySession: channel1,
5777
+ historyRefreshSessions,
5778
+ pendingMaterializationSessions,
5779
+ lastHeuristicsTurnId,
5780
+ commitSeenLastPass,
5781
+ variantBySession: variants,
5782
+ keepReasoningTokens: config.keep_reasoning_tokens,
5783
+ directory,
5784
+ sessionDirectoryBySession: sessionDirectories,
5785
+ projectPath: resolveProjectIdentityForSession(directory, config.allow_home_project),
5786
+ getHistorianChunkTokens: () => sampleHistorian().chunkTokens,
5787
+ getFallbackModelId: (sessionID) => {
5788
+ const model = liveModels.get(sessionID);
5789
+ return model ? `${model.providerID}/${model.modelID}` : undefined;
5790
+ },
5791
+ maybeAutoEmbedSession: createV2AutoEmbedSession({
5792
+ db: database,
5793
+ resolveDirectory: (sessionID) => sessionDirectories.get(sessionID) ?? directory,
5794
+ allowHomeProject: config.allow_home_project,
5795
+ recompProgressBySession: new Map
5796
+ }, embeddings.ensureRegistered),
5797
+ hiddenCompletionExecutor,
5798
+ historianRunnable: !compactionOff && hiddenCompletionExecutor !== undefined && config.historian?.disable !== true,
5799
+ historianModel: historianModels.primary,
5800
+ historianContextLimit: sampleHistorian().contextLimit,
5801
+ fallbackModels: historianModels.fallbacks,
5802
+ resolveHistorianRun: sampleHistorian,
5803
+ historianTimeoutMs: config.historian_timeout_ms,
5804
+ historianMaxOutputTokens: config.historian?.maxTokens,
5805
+ historianTwoPass: config.historian?.two_pass,
5806
+ historianExpandTools: config.historian?.expand_tools,
5807
+ historianRunner: config.historian?.runner,
5808
+ historianHostRunnerEnabled: config.historian?.host_runner?.enabled,
5809
+ compactionMarkerStrategy: rustModeModuleClient ? createV2RustCompactionMarkerStrategy((sessionID, endMessageID) => {
5810
+ const reader = openStoreReader();
5811
+ try {
5812
+ return resolveV2BoundaryUserMessage(reader, sessionID, endMessageID);
5813
+ } finally {
5814
+ reader.close();
5815
+ }
5816
+ }) : v2CompactionMarkerStrategy,
5817
+ transformMode: config.transform_mode,
5818
+ rustModeModuleClient,
5819
+ rustModeProjectRoot: directory,
5820
+ rustMemorySyncRequestedSessions,
5821
+ onRustModeParked: (sessionId, message) => pushNotification2("toast", {
5822
+ message: `Rust Magic Context paused: ${message}`,
5823
+ variant: "warning"
5824
+ }, sessionId),
5825
+ promptSurface: config.prompt_surface,
5826
+ promptSurfaceRuntime,
5827
+ onRustEngineReconnectRefusal: (refusal) => rustRefusalRecovery?.arm(refusal),
5828
+ ...createHostSeams(context, readAllForConversion, pagedRead, liveModels)
5829
+ });
5749
5830
  const runManagedContext = async (draft) => {
5750
5831
  rememberHostMedia(draft.messages);
5751
5832
  if (hiddenChildHook.apply(draft))
@@ -6011,88 +6092,7 @@ async function registerContext(context) {
6011
6092
  });
6012
6093
  await cacheV2SessionDirectory(context.session, draft.sessionID, sessionDirectories);
6013
6094
  prepareHistorySession(draft.sessionID);
6014
- transform ??= createTransform({
6015
- ...createV2TransformFeatureDeps(config, compactionOff, directory, embeddings.ensureRegistered),
6016
- cacheTtlConfig: config.cache_ttl,
6017
- cacheTtlConfigured: config.cacheTtlConfigured,
6018
- sampleCacheTtlConfig: () => liveConfigReader.poll().effective,
6019
- db,
6020
- tagger,
6021
- ...createV2ThresholdDeps(config),
6022
- contextUsageMap: usage,
6023
- compactionOff,
6024
- storeGeneration: "v2",
6025
- normalizeRestoredAssistantText: (text, providerID) => stripCopiedTagNotation(text, providerID === "anthropic"),
6026
- refreshSourceContents: (sessionID) => nativeFoldReplay?.needsHeadRebuild(sessionID) ?? false,
6027
- hostCleanupCompactionMarkers: () => ({
6028
- verified: true,
6029
- removedLineages: 0,
6030
- removedRows: 0,
6031
- retainedLineages: 0
6032
- }),
6033
- protectedTokens: config.protected_tokens,
6034
- protectedTokenTierOverrides: getProtectedTokensTierOverrides(config),
6035
- liveModelBySession: liveModels,
6036
- getToolSetHash: (sessionId) => {
6037
- const model = liveModels.get(sessionId);
6038
- if (!model)
6039
- return "";
6040
- return getCurrentToolSetHash(model.providerID, model.modelID, agents.get(sessionId), sessionId);
6041
- },
6042
- channel1StateBySession: channel1,
6043
- historyRefreshSessions,
6044
- pendingMaterializationSessions,
6045
- lastHeuristicsTurnId,
6046
- commitSeenLastPass,
6047
- variantBySession: variants,
6048
- keepReasoningTokens: config.keep_reasoning_tokens,
6049
- directory,
6050
- sessionDirectoryBySession: sessionDirectories,
6051
- projectPath: resolveProjectIdentityForSession(directory, config.allow_home_project),
6052
- getHistorianChunkTokens: () => sampleHistorian().chunkTokens,
6053
- getFallbackModelId: (sessionID) => {
6054
- const model = liveModels.get(sessionID);
6055
- return model ? `${model.providerID}/${model.modelID}` : undefined;
6056
- },
6057
- maybeAutoEmbedSession: createV2AutoEmbedSession({
6058
- db,
6059
- resolveDirectory: (sessionID) => sessionDirectories.get(sessionID) ?? directory,
6060
- allowHomeProject: config.allow_home_project,
6061
- recompProgressBySession: new Map
6062
- }, embeddings.ensureRegistered),
6063
- hiddenCompletionExecutor,
6064
- historianRunnable: !compactionOff && hiddenCompletionExecutor !== undefined && config.historian?.disable !== true,
6065
- historianModel: historianModels.primary,
6066
- historianContextLimit: sampleHistorian().contextLimit,
6067
- fallbackModels: historianModels.fallbacks,
6068
- resolveHistorianRun: sampleHistorian,
6069
- historianTimeoutMs: config.historian_timeout_ms,
6070
- historianMaxOutputTokens: config.historian?.maxTokens,
6071
- historianTwoPass: config.historian?.two_pass,
6072
- historianExpandTools: config.historian?.expand_tools,
6073
- historianRunner: config.historian?.runner,
6074
- historianHostRunnerEnabled: config.historian?.host_runner?.enabled,
6075
- compactionMarkerStrategy: rustModeModuleClient ? createV2RustCompactionMarkerStrategy((sessionID, endMessageID) => {
6076
- const reader = openStoreReader();
6077
- try {
6078
- return resolveV2BoundaryUserMessage(reader, sessionID, endMessageID);
6079
- } finally {
6080
- reader.close();
6081
- }
6082
- }) : v2CompactionMarkerStrategy,
6083
- transformMode: config.transform_mode,
6084
- rustModeModuleClient,
6085
- rustModeProjectRoot: directory,
6086
- rustMemorySyncRequestedSessions,
6087
- onRustModeParked: (sessionId, message) => pushNotification2("toast", {
6088
- message: `Rust Magic Context paused: ${message}`,
6089
- variant: "warning"
6090
- }, sessionId),
6091
- promptSurface: config.prompt_surface,
6092
- promptSurfaceRuntime,
6093
- onRustEngineReconnectRefusal: (refusal) => rustRefusalRecovery?.arm(refusal),
6094
- ...createHostSeams(context, readAllForConversion, pagedRead, liveModels)
6095
- });
6095
+ transform = initializeTransform(db);
6096
6096
  const admitted = new Set;
6097
6097
  let messageTimes;
6098
6098
  const reader = openStoreReader();
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  ensureMemoryEmbeddings2
3
- } from "./index-t6j3qxnd.js";
4
- import"./index-z05n7702.js";
3
+ } from "./index-4ypqzvhf.js";
4
+ import"./index-a2fz9hpa.js";
5
5
  import"./index-4dhv7mqz.js";
6
6
  import"./index-qt1qqasc.js";
7
7
  import"./index-51rdvtkz.js";
8
8
  import"./index-nxrsns5x.js";
9
9
  import"./index-kfyb3k6n.js";
10
- import"./index-3d5wnkq7.js";
10
+ import"./index-mm93m7y6.js";
11
11
  import"./index-wfybj1dw.js";
12
12
  import"./index-kq5w68dp.js";
13
- import"./index-szf8r0ba.js";
14
- import"./index-7tdtpqrg.js";
13
+ import"./index-v15ne3a3.js";
14
+ import"./index-rverk2vz.js";
15
15
  import"./index-v0p37hm2.js";
16
16
  import"./index-t5pck3ss.js";
17
17
  import"./index-b88dwwrh.js";
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/dreamer/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/dreamer/verify.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import type { RawMessage, RawMessageOrdinalAnchor } from "../../hooks/magic-context/read-session-raw";
2
- import { Database } from "../../shared/sqlite";
3
- import { type MessageHistoryOrphanSweepOptions, type MessageHistoryOrphanSweepResult } from "./message-index";
2
+ import { type Database } from "../../shared/sqlite";
4
3
  import type { IndexWorkerMeasurements } from "./message-index-bounded";
5
4
  export declare function getIndexWorkerMeasurements(db: Database, sessionId: string): IndexWorkerMeasurements | undefined;
6
5
  /**
@@ -32,8 +31,6 @@ export declare function scheduleReconciliation(db: Database, sessionId: string,
32
31
  export declare function scheduleIncrementalIndex(db: Database, sessionId: string, messageId: string, messageSource: IncrementalMessageSource): void;
33
32
  /** FTS segment merges and WAL checkpoints at COMMIT must not run on the event loop. */
34
33
  export declare function indexSingleMessageOffThread(db: Database, sessionId: string, message: RawMessage): Promise<boolean>;
35
- /** Candidate scans, cascaded deletes and FTS commits belong on a worker, not a timer's event loop. */
36
- export declare function sweepOrphanedOpenCodeMessageIndexesOffThread(db: Database, openSource: () => Database | null, options?: MessageHistoryOrphanSweepOptions): Promise<MessageHistoryOrphanSweepResult>;
37
34
  export declare function scheduleClearAndReindex(db: Database, sessionId: string, readMessages: MessageReconciliationSource): void;
38
35
  export interface MessageIndexQueueHeapStats {
39
36
  queueLength: number;
@@ -1 +1 @@
1
- {"version":3,"file":"message-index-async.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/message-index-async.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-index-async.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/message-index-async.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,5 @@
1
1
  import type { RawMessage } from "../../hooks/magic-context/read-session-raw";
2
- import { type Database } from "../../shared/sqlite";
3
- export interface MessageHistoryOrphanSweepResult {
4
- status: "swept" | "cooldown" | "source_unavailable" | "unavailable";
5
- scanned: number;
6
- deleted: number;
7
- cursor: string;
8
- /** A row-slice budget ended this call; the unchanged cursor is retried next time. */
9
- partial?: boolean;
10
- /** Why a parked sweep did not run, when that is not simply a host without an OpenCode store. */
11
- reason?: string;
12
- }
13
- export interface MessageHistoryOrphanSweepOptions {
14
- /** Recovery-fence lock directory names collected by the timer in a bounded page. */
15
- fenceLockNames?: string[];
16
- batchSize?: number;
17
- now?: number;
18
- safetyAgeMs?: number;
19
- cooldownMs?: number;
20
- unavailableReprobeMs?: number;
21
- maxSlices?: number;
22
- }
23
- export declare const MESSAGE_HISTORY_ORPHAN_SWEEP_BATCH_SIZE = 200;
24
- export declare const MESSAGE_HISTORY_ORPHAN_SAFETY_AGE_MS: number;
25
- export declare const MESSAGE_HISTORY_ORPHAN_SWEEP_COOLDOWN_MS: number;
26
- export declare const MESSAGE_HISTORY_ORPHAN_UNAVAILABLE_REPROBE_MS: number;
2
+ import type { Database } from "../../shared/sqlite";
27
3
  /** Large documents are source-accounted but omitted from FTS to bound tokenization under the writer. */
28
4
  export declare const MESSAGE_INDEX_MAX_FTS_BYTES: number;
29
5
  export declare const messageIndexSkipKey: (sessionId: string, messageId: string) => string;
@@ -84,7 +60,4 @@ export declare function indexMessagesAfterOrdinal(db: Database, sessionId: strin
84
60
  */
85
61
  export declare function indexSourcesAfterOrdinal(db: Database, sessionId: string, sources: readonly MessageIndexSource[], finalWatermark: number): number;
86
62
  export declare function ensureMessagesIndexed(db: Database, sessionId: string, readMessages: (sessionId: string) => RawMessage[]): void;
87
- export declare function sweepOrphanedOpenCodeMessageIndexes(db: Database, openReadableOpenCodeDb: () => Database | null, options?: MessageHistoryOrphanSweepOptions): MessageHistoryOrphanSweepResult;
88
- /** Release the writer and yield between orphan deletions, including on the worker. */
89
- export declare function sweepOrphanedOpenCodeMessageIndexesCooperatively(db: Database, openSource: () => Database | null, options?: MessageHistoryOrphanSweepOptions): Promise<MessageHistoryOrphanSweepResult>;
90
63
  //# sourceMappingURL=message-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-index.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/message-index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAG7E,OAAO,EACH,KAAK,QAAQ,EAKhB,MAAM,qBAAqB,CAAC;AAgC7B,MAAM,WAAW,+BAA+B;IAC5C,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,oBAAoB,GAAG,aAAa,CAAC;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gCAAgC;IAC7C,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,uCAAuC,MAAM,CAAC;AAC3D,eAAO,MAAM,oCAAoC,QAAsB,CAAC;AACxE,eAAO,MAAM,wCAAwC,QAAiB,CAAC;AACvE,eAAO,MAAM,6CAA6C,QAAsB,CAAC;AAkBjF,wGAAwG;AACxG,eAAO,MAAM,2BAA2B,QAAY,CAAC;AAYrD,eAAO,MAAM,mBAAmB,GAAI,WAAW,MAAM,EAAE,WAAW,MAAM,WACN,CAAC;AACnE,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAYjG;AAwPD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,kBAAkB,CAW5E;AAMD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CASzE;AAED,wBAAgB,2BAA2B,CACvC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,UAAU,GACpB,OAAO,CAGT;AA0DD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAG7E;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACvC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,IAAI,GAC1B,MAAM,CAGR;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKjF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CASjG;AAuBD,wBAAgB,yCAAyC,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAIjG;AAED,wBAAgB,+BAA+B,CAC3C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACvB,OAAO,CAGT;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAW/F;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAQvF;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAO1E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAwB1E;AA0FD,wBAAgB,kBAAkB,CAC9B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,UAAU,EACnB,YAAY,GAAE,MAAM,OAAoB,EACxC,cAAc,CAAC,EAAE,kBAAkB,GACpC,OAAO,CA8CT;AAED,wBAAgB,yBAAyB,CACrC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,UAAU,EAAE,EACtB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,GAAE,MAAwB,GACzC,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,kBAAkB,EAAE,EACtC,cAAc,EAAE,MAAM,GACvB,MAAM,CAER;AAuHD,wBAAgB,qBAAqB,CACjC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,UAAU,EAAE,GAClD,IAAI,CAmBN;AA0SD,wBAAgB,mCAAmC,CAC/C,EAAE,EAAE,QAAQ,EACZ,sBAAsB,EAAE,MAAM,QAAQ,GAAG,IAAI,EAC7C,OAAO,GAAE,gCAAqC,GAC/C,+BAA+B,CAcjC;AAED,sFAAsF;AACtF,wBAAsB,gDAAgD,CAClE,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,MAAM,QAAQ,GAAG,IAAI,EACjC,OAAO,GAAE,gCAAqC,GAC/C,OAAO,CAAC,+BAA+B,CAAC,CAe1C"}
1
+ {"version":3,"file":"message-index.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/message-index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Database } from "../../shared/sqlite";
2
+ export declare function seedRetainedSession(db: Database, sessionId: string, updatedAt: number): void;
3
+ export declare function snapshotSessionRows(db: Database, sessionId: string): Record<string, unknown[]>;
4
+ //# sourceMappingURL=session-retention.fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-retention.fixture.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/session-retention.fixture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CA4C5F;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAqB9F"}
@@ -5,8 +5,8 @@ export interface SessionScopedTableDefinition {
5
5
  readonly extraPredicate?: string;
6
6
  }
7
7
  /**
8
- * Tables whose rows are owned by a session. Keep this list in dependency-safe
9
- * deletion order so event cleanup and orphan cleanup cannot drift apart.
8
+ * Tables whose rows are owned by a session, in dependency-safe deletion order.
9
+ * Every explicit session deletion must cover the complete list.
10
10
  */
11
11
  export declare const SESSION_SCOPED_TABLES: readonly SessionScopedTableDefinition[];
12
12
  export interface DeleteSessionScopedRowsOptions {
@@ -19,18 +19,11 @@ export interface DeleteSessionScopedRowsOptions {
19
19
  }
20
20
  /**
21
21
  * Delete one bounded session-id batch. A supplied harness scopes every table
22
- * that stores harness provenance; tables without that column rely on the
23
- * caller's harness-scoped candidate source.
22
+ * that stores harness provenance; tables without that column are session-wide.
24
23
  *
25
24
  * A Rust cleanup marker protects the entire host-side session until module
26
- * acknowledgement. Otherwise an orphan sweep could retain the marker while
27
- * deleting its session→project coordinate, making the durable retry unreachable.
25
+ * acknowledgement. Deleting the session's project mapping in session_projects
26
+ * sooner would make the durable retry unreachable.
28
27
  */
29
28
  export declare function deleteSessionScopedRows(db: Database, sessionIds: readonly string[], harness?: string, options?: DeleteSessionScopedRowsOptions): number;
30
- export declare const SESSION_CLEANUP_SLICE_ROWS = 64;
31
- /** Delete at most one row slice; the owner marker makes an interrupted purge discoverable. */
32
- export declare function deleteSessionScopedRowsSlice(db: Database, sessionId: string, harness: string): {
33
- complete: boolean;
34
- deleted: number;
35
- };
36
29
  //# sourceMappingURL=storage-session-tables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage-session-tables.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-session-tables.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAA0C,MAAM,qBAAqB,CAAC;AAc5F,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,4BAA4B,EAmDxE,CAAC;AAEF,MAAM,WAAW,8BAA8B;IAC3C,6FAA6F;IAC7F,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAC7C,uFAAuF;IACvF,QAAQ,CAAC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACjD,6GAA6G;IAC7G,QAAQ,CAAC,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACpD;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACnC,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,GAAE,8BAAmC,GAC7C,MAAM,CAwHR;AAED,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,8FAA8F;AAC9F,wBAAgB,4BAA4B,CACxC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAChB;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAyExC"}
1
+ {"version":3,"file":"storage-session-tables.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-session-tables.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAA0C,MAAM,qBAAqB,CAAC;AAW5F,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,4BAA4B,EAmDxE,CAAC;AAEF,MAAM,WAAW,8BAA8B;IAC3C,6FAA6F;IAC7F,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAC7C,uFAAuF;IACvF,QAAQ,CAAC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACjD,6GAA6G;IAC7G,QAAQ,CAAC,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACpD;AAqBD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACnC,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,GAAE,8BAAmC,GAC7C,MAAM,CAuHR"}
@@ -40,6 +40,7 @@
40
40
  * (storage-caveman-rules.ts)
41
41
  */
42
42
  import type { ContextDatabase } from "../../features/magic-context/storage";
43
+ import { type CavemanReplayState } from "../../features/magic-context/storage-caveman-rules";
43
44
  import type { TagEntry } from "../../features/magic-context/types";
44
45
  import { type CavemanWordRules } from "./caveman";
45
46
  import type { TagTarget } from "./tag-messages";
@@ -74,6 +75,19 @@ export declare function computeTargetDepth(positionIndex: number, totalEligible:
74
75
  export declare function applyCavemanCleanup(sessionId: string, db: ContextDatabase, targets: Map<number, TagTarget>, tags: TagEntry[], config: CavemanCleanupConfig & {
75
76
  protectedCutoff: number | null;
76
77
  }): CavemanCleanupResult;
78
+ /**
79
+ * The text `applyCompressedText` leaves on the wire for one tag, computed
80
+ * without a target, and whether one of its writes took the message's
81
+ * reasoning off the wire (the original-rule write is a drop). Null when it
82
+ * would leave the text unchanged. Used for a part that is no longer a target
83
+ * but must keep serving the bytes earlier passes served (another plugin's
84
+ * appended text that an older release compressed). cavemanCompress is pure
85
+ * in (text, level, rules, word rules), so equal input text gives equal bytes.
86
+ */
87
+ export declare function cavemanReplayText(tagNumber: number, originalText: string, depth: number, state: CavemanReplayState, textPrefix: string): {
88
+ text: string;
89
+ dropsReasoning: boolean;
90
+ } | null;
77
91
  /**
78
92
  * Re-apply persisted caveman compression on every transform pass (defer
79
93
  * included). This is the cache-stability counterpart to applyCavemanCleanup.
@@ -1 +1 @@
1
- {"version":3,"file":"caveman-cleanup.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/caveman-cleanup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAO5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAGH,KAAK,gBAAgB,EAGxB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAahD,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,mGAAmG;IACnG,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAOvF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,IAAI,EAAE,QAAQ,EAAE,EAChB,MAAM,EAAE,oBAAoB,GAAG;IAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClE,oBAAoB,CAiLtB;AAgDD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACpC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,IAAI,EAAE,QAAQ,EAAE,GACjB,MAAM,CAoCR"}
1
+ {"version":3,"file":"caveman-cleanup.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/caveman-cleanup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EACH,KAAK,kBAAkB,EAG1B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAGH,KAAK,gBAAgB,EAGxB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAahD,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,mGAAmG;IACnG,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAOvF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,IAAI,EAAE,QAAQ,EAAE,EAChB,MAAM,EAAE,oBAAoB,GAAG;IAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClE,oBAAoB,CAiLtB;AAgDD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC7B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,MAAM,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAiBlD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACpC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,IAAI,EAAE,QAAQ,EAAE,GACjB,MAAM,CAoCR"}
@@ -12,6 +12,17 @@ export declare function nonNarrativeStoredGapRanges(db: HiddenCompartmentRunnerD
12
12
  * rebuild or a repair, so retrying on every trigger could never succeed.
13
13
  */
14
14
  export declare const STORED_COMPARTMENT_FAILURE_BACKOFF_MS: number;
15
+ /**
16
+ * Whether a stale-snapshot detail proves the serving thread's ordinal ranks
17
+ * disagree with the exact read on a check that never moves by itself: one of
18
+ * the `offset`, `protectedTailStart` or `eligibleEnd` boundary id checks found
19
+ * a different message id at its ordinal, or the session shrank (deleted rows
20
+ * shift every later ordinal). The `last` id moves every turn as the live tail
21
+ * grows, so a changed last id alone never proves drift. Other stale reasons —
22
+ * stored compartments moved, raw content changed, the model or limit changed
23
+ * — say nothing about the ranks.
24
+ */
25
+ export declare function isServingOrdinalDriftSignal(detail: string | undefined): boolean;
15
26
  export interface DanglingPublicationBoundary {
16
27
  sequence: number;
17
28
  side: "start" | "end";
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-runner-incremental.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-incremental.ts"],"names":[],"mappings":"AAuEA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AA2E9E,wBAAgB,2BAA2B,CACvC,EAAE,EAAE,2BAA2B,CAAC,IAAI,CAAC,EACrC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,aAAa,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,GAC1E,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBvC;AAeD;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,QAAiB,CAAC;AAwBpE,MAAM,WAAW,2BAA2B;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;+EAC+E;AAC/E,wBAAgB,+BAA+B,CAC3C,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC,EACF,aAAa,GAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAkC,GAC5F,2BAA2B,GAAG,IAAI,CAkBpC;AAED,+DAA+D;AAC/D,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAGhE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAovC1F"}
1
+ {"version":3,"file":"compartment-runner-incremental.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-incremental.ts"],"names":[],"mappings":"AAuEA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAyF9E,wBAAgB,2BAA2B,CACvC,EAAE,EAAE,2BAA2B,CAAC,IAAI,CAAC,EACrC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,aAAa,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,GAC1E,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBvC;AAeD;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,QAAiB,CAAC;AAwBpE;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAI/E;AA4BD,MAAM,WAAW,2BAA2B;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;+EAC+E;AAC/E,wBAAgB,+BAA+B,CAC3C,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC,EACF,aAAa,GAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAkC,GAC5F,2BAA2B,GAAG,IAAI,CAkBpC;AAED,+DAA+D;AAC/D,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAIhE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAs0C1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-trigger.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-trigger.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAG9F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAEH,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EAG1B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAIH,KAAK,6BAA6B,EAErC,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAM5B,QAAA,MAAM,sBAAsB,OAAO,CAAC;AAKpC,QAAA,MAAM,2BAA2B,KAAK,CAAC;AAEvC,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,CAAC;AAE/D,MAAM,WAAW,wBAAwB;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,oBAAoB,GAAG,YAAY,GAAG,iBAAiB,GAAG,WAAW,CAAC;IAC/E;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAyE1E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACzC,kBAAkB,GAAG,SAAS,CAchC;AAED,wBAAgB,wCAAwC,CACpD,0BAA0B,EAAE,MAAM,GACnC,MAAM,CAER;AAqPD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE9E;AAED,wBAAgB,uBAAuB,CACnC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,YAAY,EACnB,mBAAmB,EAAE,MAAM,EAC3B,0BAA0B,EAAE,MAAM,EAClC,aAAa,EAAE,MAAM,EACrB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,oBAAoB,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EACjE,mBAAmB,CAAC,EAAE,SAAS,QAAQ,EAAE,EACzC,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,kBAAkB,GAAG,sBAAsB,EAC1D,mBAAmB,CAAC,EAAE,MAAM,EAC5B,mBAAmB,CAAC,EAAE,6BAA6B,EACnD,WAAW,CAAC,EAAE,kBAAkB,GAAG;IAAE,UAAU,CAAC,EAAE,yBAAyB,CAAA;CAAE,EAC7E,yBAAyB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/C,cAAc,UAAQ,GACvB,wBAAwB,CA8b1B"}
1
+ {"version":3,"file":"compartment-trigger.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-trigger.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAG9F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAEH,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EAG1B,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAIH,KAAK,6BAA6B,EAErC,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAM5B,QAAA,MAAM,sBAAsB,OAAO,CAAC;AAKpC,QAAA,MAAM,2BAA2B,KAAK,CAAC;AAEvC,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,CAAC;AAE/D,MAAM,WAAW,wBAAwB;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,oBAAoB,GAAG,YAAY,GAAG,iBAAiB,GAAG,WAAW,CAAC;IAC/E;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAyE1E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACzC,kBAAkB,GAAG,SAAS,CAchC;AAED,wBAAgB,wCAAwC,CACpD,0BAA0B,EAAE,MAAM,GACnC,MAAM,CAER;AAqPD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE9E;AAED,wBAAgB,uBAAuB,CACnC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,YAAY,EACnB,mBAAmB,EAAE,MAAM,EAC3B,0BAA0B,EAAE,MAAM,EAClC,aAAa,EAAE,MAAM,EACrB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,oBAAoB,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EACjE,mBAAmB,CAAC,EAAE,SAAS,QAAQ,EAAE,EACzC,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,kBAAkB,GAAG,sBAAsB,EAC1D,mBAAmB,CAAC,EAAE,MAAM,EAC5B,mBAAmB,CAAC,EAAE,6BAA6B,EACnD,WAAW,CAAC,EAAE,kBAAkB,GAAG;IAAE,UAAU,CAAC,EAAE,yBAAyB,CAAA;CAAE,EAC7E,yBAAyB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/C,cAAc,UAAQ,GACvB,wBAAwB,CA4c1B"}