@cortexkit/opencode-magic-context 0.42.1 → 0.42.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{conflict-warning-hook-6p3xqeac.js → conflict-warning-hook-aedp084d.js} +3 -3
- package/dist/features/magic-context/compaction-marker.d.ts +4 -10
- package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/expire-memories.d.ts +15 -0
- package/dist/features/magic-context/dreamer/expire-memories.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/module-apply.d.ts +4 -2
- package/dist/features/magic-context/dreamer/module-apply.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-gates.d.ts +6 -1
- package/dist/features/magic-context/dreamer/task-gates.d.ts.map +1 -1
- package/dist/features/magic-context/pi-content-decisions.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-persisted.d.ts +4 -0
- package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
- package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
- package/dist/hooks/magic-context/compaction-marker-manager.d.ts +4 -6
- package/dist/hooks/magic-context/compaction-marker-manager.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-slot.d.ts +2 -0
- package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-raw.d.ts +4 -4
- package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +1 -0
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
- package/dist/{index-36wd1d6k.js → index-ecz14qke.js} +1 -1
- package/dist/{index-nqgjwfzn.js → index-gynz8qdc.js} +1 -1
- package/dist/{index-jmtjh2d3.js → index-sf6x1ga9.js} +1 -1
- package/dist/{index-1q9kay7n.js → index-wde5446v.js} +86 -59
- package/dist/{index-1974jvn3.js → index-z8552w7e.js} +1 -1
- package/dist/index.js +331 -125
- package/dist/plugin/dream-timer-module-client.d.ts +2 -2
- package/dist/plugin/dream-timer-module-client.d.ts.map +1 -1
- package/dist/{recomp-orchestrator-m33b3rk9.js → recomp-orchestrator-447vycpt.js} +4 -4
- package/dist/{send-session-notification-1qeqkswb.js → send-session-notification-2mzgd3zf.js} +2 -2
- package/dist/shared/transcript.d.ts +2 -1
- package/dist/shared/transcript.d.ts.map +1 -1
- package/dist/{storage-meta-session-e6g0mmec.js → storage-meta-session-fkmfhswa.js} +2 -2
- package/dist/v2/server.d.ts +6 -0
- package/dist/v2/server.d.ts.map +1 -0
- package/dist/v2/server.js +10 -0
- package/dist/v2/store-reader.d.ts +63 -0
- package/dist/v2/store-reader.d.ts.map +1 -0
- package/package.json +7 -2
- package/src/shared/tag-transcript.ts +14 -7
- package/src/shared/transcript.ts +2 -1
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
SESSION_SCOPED_TABLES,
|
|
12
12
|
deleteSessionScopedRows,
|
|
13
13
|
updateSessionMeta2
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-sf6x1ga9.js";
|
|
15
15
|
import {
|
|
16
16
|
resolveOpenCodeDbPath,
|
|
17
17
|
openCodeDbPathExists,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
withReadOnlySessionDb,
|
|
26
26
|
getRawSessionMessageCountFromDb,
|
|
27
27
|
getMessageTimesFromOpenCodeDb
|
|
28
|
-
} from "./index-
|
|
28
|
+
} from "./index-z8552w7e.js";
|
|
29
29
|
import {
|
|
30
30
|
pushNotification2
|
|
31
31
|
} from "./index-jdxxq8cz.js";
|
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
getErrorMessage,
|
|
48
48
|
describeError,
|
|
49
49
|
sendStatusNotification2
|
|
50
|
-
} from "./index-
|
|
50
|
+
} from "./index-gynz8qdc.js";
|
|
51
51
|
import {
|
|
52
52
|
piModelRefToCanonical,
|
|
53
53
|
modelRefLookupOrder
|
|
@@ -10606,7 +10606,7 @@ function deleteToolTagsByOwner(db, sessionId, ownerMsgId) {
|
|
|
10606
10606
|
}
|
|
10607
10607
|
|
|
10608
10608
|
// src/hooks/magic-context/read-session-raw.ts
|
|
10609
|
-
var RAW_MESSAGE_PARTS_BY_ID_SQL = "SELECT message_id, data, time_updated FROM part WHERE session_id = ? AND likelihood(message_id = ?, 0.000001) ORDER BY time_created ASC, id ASC";
|
|
10609
|
+
var RAW_MESSAGE_PARTS_BY_ID_SQL = "SELECT message_id, data, time_updated FROM part WHERE +session_id = ? AND likelihood(message_id = ?, 0.000001) ORDER BY time_created ASC, id ASC";
|
|
10610
10610
|
function isRawMessageRow(row) {
|
|
10611
10611
|
if (row === null || typeof row !== "object")
|
|
10612
10612
|
return false;
|
|
@@ -10668,7 +10668,7 @@ function readRawSessionMessagesFromDb(db, sessionId) {
|
|
|
10668
10668
|
const placeholders = messageIds.map(() => "?").join(", ");
|
|
10669
10669
|
const partRows = db.prepare(`SELECT message_id, data, time_updated
|
|
10670
10670
|
FROM part
|
|
10671
|
-
WHERE session_id = ?
|
|
10671
|
+
WHERE +session_id = ?
|
|
10672
10672
|
AND likelihood(message_id IN (${placeholders}), 0.000001)
|
|
10673
10673
|
ORDER BY message_id ASC, time_created ASC, id ASC`).all(sessionId, ...messageIds).filter(isRawPartRow);
|
|
10674
10674
|
for (const part of partRows) {
|
|
@@ -10719,7 +10719,7 @@ function readRawSessionMessagePageFromDb(db, sessionId, afterOrdinal, limit, fin
|
|
|
10719
10719
|
const placeholders = messageRows.map(() => "?").join(", ");
|
|
10720
10720
|
const partRows = db.prepare(`SELECT message_id, data, time_updated
|
|
10721
10721
|
FROM part
|
|
10722
|
-
WHERE session_id = ?
|
|
10722
|
+
WHERE +session_id = ?
|
|
10723
10723
|
AND likelihood(message_id IN (${placeholders}), 0.000001)
|
|
10724
10724
|
ORDER BY message_id ASC, time_created ASC, id ASC`).all(sessionId, ...messageRows.map((row) => row.id)).filter(isRawPartRow);
|
|
10725
10725
|
const partsByMessageId = new Map;
|
|
@@ -10807,7 +10807,7 @@ function readRawSessionTailFromDb(db, sessionId, baseOrdinal, anchorMessageId) {
|
|
|
10807
10807
|
for (let i = 0;i < ids.length; i += CHUNK) {
|
|
10808
10808
|
const slice = ids.slice(i, i + CHUNK);
|
|
10809
10809
|
const placeholders = slice.map(() => "?").join(",");
|
|
10810
|
-
const partRows = db.prepare(`SELECT message_id, data, time_updated FROM part WHERE session_id = ? AND likelihood(message_id IN (${placeholders}), 0.000001) ORDER BY time_created ASC, id ASC`).all(sessionId, ...slice).filter(isRawPartRow);
|
|
10810
|
+
const partRows = db.prepare(`SELECT message_id, data, time_updated FROM part WHERE +session_id = ? AND likelihood(message_id IN (${placeholders}), 0.000001) ORDER BY time_created ASC, id ASC`).all(sessionId, ...slice).filter(isRawPartRow);
|
|
10811
10811
|
for (const part of partRows) {
|
|
10812
10812
|
const list = partsByMessageId.get(part.message_id) ?? [];
|
|
10813
10813
|
list.push(attachRawPartVersion(parseJsonUnknown(part.data), part.time_updated));
|
|
@@ -10973,7 +10973,7 @@ function readRawSeedTailFromDb(db, sessionId, boundaryId) {
|
|
|
10973
10973
|
SELECT c.id, m.data, c.time_created, m.time_updated, c.ordinal,
|
|
10974
10974
|
p.data AS part_data, p.time_updated AS part_updated
|
|
10975
10975
|
FROM canonical c JOIN message m ON m.id = c.id
|
|
10976
|
-
LEFT JOIN part p ON p.session_id = ? AND likelihood(p.message_id = c.id, 0.000001)
|
|
10976
|
+
LEFT JOIN part p ON +p.session_id = ? AND likelihood(p.message_id = c.id, 0.000001)
|
|
10977
10977
|
WHERE ? IS NULL OR c.ordinal >= (SELECT ordinal FROM canonical WHERE id = ?)
|
|
10978
10978
|
ORDER BY c.ordinal, p.time_created, p.id
|
|
10979
10979
|
`).all(sessionId, sessionId, boundaryId, boundaryId);
|
|
@@ -20175,9 +20175,27 @@ function getPersistedCompactionMarkerState(db, sessionId) {
|
|
|
20175
20175
|
return parsePersistedCompactionMarkerState(row?.compaction_marker_state, row?.compaction_marker_target_end_message_id);
|
|
20176
20176
|
}
|
|
20177
20177
|
function setPersistedCompactionMarkerState(db, sessionId, state) {
|
|
20178
|
-
|
|
20179
|
-
|
|
20180
|
-
|
|
20178
|
+
db.transaction(() => {
|
|
20179
|
+
ensureSessionMetaRow(db, sessionId);
|
|
20180
|
+
const previous = state === null ? getPersistedCompactionMarkerState(db, sessionId) ?? getDeferredClearedCompactionMarkerState(db, sessionId) : null;
|
|
20181
|
+
const json = state ? JSON.stringify(state) : previous ? JSON.stringify({ deferredClear: previous }) : "";
|
|
20182
|
+
db.prepare("UPDATE session_meta SET compaction_marker_state = ?, compaction_marker_target_end_message_id = ? WHERE session_id = ?").run(json, state?.targetEndMessageId ?? null, sessionId);
|
|
20183
|
+
})();
|
|
20184
|
+
}
|
|
20185
|
+
function getDeferredClearedCompactionMarkerState(db, sessionId) {
|
|
20186
|
+
const row = db.prepare("SELECT compaction_marker_state FROM session_meta WHERE session_id = ?").get(sessionId);
|
|
20187
|
+
try {
|
|
20188
|
+
const parsed = JSON.parse(row?.compaction_marker_state || "null");
|
|
20189
|
+
return parsePersistedCompactionMarkerState(JSON.stringify(parsed?.deferredClear));
|
|
20190
|
+
} catch {
|
|
20191
|
+
return null;
|
|
20192
|
+
}
|
|
20193
|
+
}
|
|
20194
|
+
function retireDeferredClearedCompactionMarkerState(db, sessionId) {
|
|
20195
|
+
const previous = getDeferredClearedCompactionMarkerState(db, sessionId);
|
|
20196
|
+
if (!previous)
|
|
20197
|
+
return;
|
|
20198
|
+
db.prepare("UPDATE session_meta SET compaction_marker_state = '' WHERE session_id = ? AND compaction_marker_state = ?").run(sessionId, JSON.stringify({ deferredClear: previous }));
|
|
20181
20199
|
}
|
|
20182
20200
|
var MAX_STRIPPED_PLACEHOLDER_IDS = 4096;
|
|
20183
20201
|
function parseStrippedPlaceholderState(raw) {
|
|
@@ -31355,7 +31373,7 @@ function removeLegacyMarkerLineageRows(db, args) {
|
|
|
31355
31373
|
AND EXISTS (
|
|
31356
31374
|
SELECT 1
|
|
31357
31375
|
FROM part p
|
|
31358
|
-
WHERE p.session_id = m.session_id
|
|
31376
|
+
WHERE +p.session_id = m.session_id
|
|
31359
31377
|
AND p.message_id = m.id
|
|
31360
31378
|
AND COALESCE(json_extract(p.data, '$.type'), '') = 'text'
|
|
31361
31379
|
AND COALESCE(json_extract(p.data, '$.text'), '') = ?
|
|
@@ -31363,14 +31381,14 @@ function removeLegacyMarkerLineageRows(db, args) {
|
|
|
31363
31381
|
const legacySummaryIds = legacySummaries.flatMap((row) => typeof row.id === "string" ? [row.id] : []);
|
|
31364
31382
|
if (legacySummaryIds.length === 0)
|
|
31365
31383
|
return;
|
|
31366
|
-
const deleteSummaryParts = db.prepare("DELETE FROM part WHERE session_id = ? AND message_id = ?");
|
|
31384
|
+
const deleteSummaryParts = db.prepare("DELETE FROM part WHERE +session_id = ? AND message_id = ?");
|
|
31367
31385
|
const deleteSummary = db.prepare("DELETE FROM message WHERE session_id = ? AND id = ?");
|
|
31368
31386
|
for (const summaryMessageId of legacySummaryIds) {
|
|
31369
31387
|
deleteSummaryParts.run(args.sessionId, summaryMessageId);
|
|
31370
31388
|
deleteSummary.run(args.sessionId, summaryMessageId);
|
|
31371
31389
|
}
|
|
31372
31390
|
db.prepare(`DELETE FROM part
|
|
31373
|
-
WHERE session_id = ?
|
|
31391
|
+
WHERE +session_id = ?
|
|
31374
31392
|
AND message_id = ?
|
|
31375
31393
|
AND id <> ?
|
|
31376
31394
|
AND COALESCE(json_extract(data, '$.type'), '') = 'compaction'
|
|
@@ -31452,36 +31470,56 @@ function injectCompactionMarker(args) {
|
|
|
31452
31470
|
}
|
|
31453
31471
|
function listSessionCompactionMarkers(sessionId) {
|
|
31454
31472
|
const db = getWritableOpenCodeDb();
|
|
31455
|
-
const
|
|
31456
|
-
FROM
|
|
31473
|
+
const summaryRows = db.prepare(`SELECT id, json_extract(data, '$.parentID') AS boundary_message_id
|
|
31474
|
+
FROM message
|
|
31457
31475
|
WHERE session_id = ?
|
|
31458
|
-
AND COALESCE(json_extract(data, '$.
|
|
31459
|
-
|
|
31460
|
-
|
|
31461
|
-
|
|
31462
|
-
|
|
31463
|
-
|
|
31464
|
-
|
|
31465
|
-
AND COALESCE(json_extract(data, '$.finish'), '') = 'stop'
|
|
31466
|
-
AND COALESCE(json_extract(data, '$.providerID'), '') = 'magic-context'`);
|
|
31467
|
-
for (const row of partRows) {
|
|
31468
|
-
if (typeof row.id !== "string" || typeof row.message_id !== "string")
|
|
31476
|
+
AND COALESCE(json_extract(data, '$.summary'), 0) = 1
|
|
31477
|
+
AND COALESCE(json_extract(data, '$.finish'), '') = 'stop'
|
|
31478
|
+
AND COALESCE(json_extract(data, '$.providerID'), '') = 'magic-context'
|
|
31479
|
+
ORDER BY time_created ASC, id ASC`).all(sessionId);
|
|
31480
|
+
const summaryIdsByBoundary = new Map;
|
|
31481
|
+
for (const row of summaryRows) {
|
|
31482
|
+
if (typeof row.id !== "string" || typeof row.boundary_message_id !== "string")
|
|
31469
31483
|
continue;
|
|
31470
|
-
const
|
|
31471
|
-
|
|
31472
|
-
|
|
31473
|
-
|
|
31474
|
-
|
|
31475
|
-
|
|
31476
|
-
|
|
31484
|
+
const summaryIds = summaryIdsByBoundary.get(row.boundary_message_id) ?? [];
|
|
31485
|
+
summaryIds.push(row.id);
|
|
31486
|
+
summaryIdsByBoundary.set(row.boundary_message_id, summaryIds);
|
|
31487
|
+
}
|
|
31488
|
+
const boundaryIds = [...summaryIdsByBoundary.keys()];
|
|
31489
|
+
const markers = [];
|
|
31490
|
+
const chunkSize = 800;
|
|
31491
|
+
for (let offset = 0;offset < boundaryIds.length; offset += chunkSize) {
|
|
31492
|
+
const boundaryChunk = boundaryIds.slice(offset, offset + chunkSize);
|
|
31493
|
+
const placeholders = boundaryChunk.map(() => "?").join(", ");
|
|
31494
|
+
const partRows = db.prepare(`SELECT id, message_id, time_created
|
|
31495
|
+
FROM part
|
|
31496
|
+
WHERE +session_id = ?
|
|
31497
|
+
AND likelihood(message_id IN (${placeholders}), 0.000001)
|
|
31498
|
+
AND COALESCE(json_extract(data, '$.type'), '') = 'compaction'
|
|
31499
|
+
ORDER BY time_created ASC, id ASC`).all(sessionId, ...boundaryChunk);
|
|
31500
|
+
for (const row of partRows) {
|
|
31501
|
+
if (typeof row.id !== "string" || typeof row.message_id !== "string" || typeof row.time_created !== "number") {
|
|
31502
|
+
continue;
|
|
31503
|
+
}
|
|
31504
|
+
const summaryMessageIds = summaryIdsByBoundary.get(row.message_id);
|
|
31505
|
+
if (!summaryMessageIds)
|
|
31506
|
+
continue;
|
|
31507
|
+
markers.push({
|
|
31508
|
+
compactionPartId: row.id,
|
|
31509
|
+
boundaryMessageId: row.message_id,
|
|
31510
|
+
summaryMessageIds: [...summaryMessageIds],
|
|
31511
|
+
timeCreated: row.time_created
|
|
31512
|
+
});
|
|
31513
|
+
}
|
|
31477
31514
|
}
|
|
31478
|
-
|
|
31515
|
+
markers.sort((left, right) => left.timeCreated - right.timeCreated || left.compactionPartId.localeCompare(right.compactionPartId));
|
|
31516
|
+
return markers.map(({ timeCreated: _, ...marker }) => marker);
|
|
31479
31517
|
}
|
|
31480
31518
|
function removeForeignCompactionMarker(sessionId, marker, protectedSummaryMessageId) {
|
|
31481
31519
|
try {
|
|
31482
31520
|
const db = getWritableOpenCodeDb();
|
|
31483
31521
|
db.transaction(() => {
|
|
31484
|
-
const deletePartsOfMessage = db.prepare("DELETE FROM part WHERE session_id = ? AND message_id = ?");
|
|
31522
|
+
const deletePartsOfMessage = db.prepare("DELETE FROM part WHERE +session_id = ? AND message_id = ?");
|
|
31485
31523
|
const deleteMessage = db.prepare("DELETE FROM message WHERE session_id = ? AND id = ?");
|
|
31486
31524
|
for (const summaryMessageId of marker.summaryMessageIds) {
|
|
31487
31525
|
if (summaryMessageId === protectedSummaryMessageId)
|
|
@@ -31544,7 +31582,7 @@ function removeMcOwnedCompactionMarkers(sessionId, summaryText) {
|
|
|
31544
31582
|
AND EXISTS (
|
|
31545
31583
|
SELECT 1
|
|
31546
31584
|
FROM part p
|
|
31547
|
-
WHERE p.session_id = m.session_id
|
|
31585
|
+
WHERE +p.session_id = m.session_id
|
|
31548
31586
|
AND p.message_id = m.id
|
|
31549
31587
|
AND COALESCE(json_extract(p.data, '$.type'), '') = 'text'
|
|
31550
31588
|
AND COALESCE(json_extract(p.data, '$.text'), '') = ?
|
|
@@ -31604,7 +31642,7 @@ function removeMcOwnedCompactionMarkers(sessionId, summaryText) {
|
|
|
31604
31642
|
let removedLineages = 0;
|
|
31605
31643
|
let removedRows = 0;
|
|
31606
31644
|
let retainedLineages = 0;
|
|
31607
|
-
const deletePartsOfMessage = db.prepare("DELETE FROM part WHERE session_id = ? AND message_id = ?");
|
|
31645
|
+
const deletePartsOfMessage = db.prepare("DELETE FROM part WHERE +session_id = ? AND message_id = ?");
|
|
31608
31646
|
const deleteMessage = db.prepare("DELETE FROM message WHERE session_id = ? AND id = ?");
|
|
31609
31647
|
const deletePart = db.prepare("DELETE FROM part WHERE session_id = ? AND id = ?");
|
|
31610
31648
|
const deleteSummaries = (summaryIds) => {
|
|
@@ -31927,16 +31965,16 @@ function checkCompactionMarkerConsistency(db) {
|
|
|
31927
31965
|
try {
|
|
31928
31966
|
opencodeDb = new Database(opencodeDbPath, { readonly: true });
|
|
31929
31967
|
} catch (error) {
|
|
31930
|
-
log(`[magic-context] compaction-marker consistency check
|
|
31968
|
+
log(`[magic-context] compaction-marker consistency check SKIPPED retaining state path=${opencodeDbPath} source=${resolution.source} mode=readonly wal=aware: ${error instanceof Error ? error.message : String(error)}`);
|
|
31931
31969
|
return;
|
|
31932
31970
|
}
|
|
31933
31971
|
try {
|
|
31934
31972
|
const persistedRows = db.prepare("SELECT session_id, compaction_marker_state FROM session_meta WHERE compaction_marker_state IS NOT NULL AND compaction_marker_state != ''").all();
|
|
31935
31973
|
if (persistedRows.length === 0)
|
|
31936
31974
|
return;
|
|
31975
|
+
log(`[magic-context] compaction-marker consistency probe path=${opencodeDbPath} source=${resolution.source} mode=readonly wal=aware sessions=${persistedRows.length}; diagnostic-only, no startup bust permission`);
|
|
31937
31976
|
const checkMessage = opencodeDb.prepare("SELECT 1 FROM message WHERE id = ? LIMIT 1");
|
|
31938
31977
|
const checkPart = opencodeDb.prepare("SELECT 1 FROM part WHERE id = ? LIMIT 1");
|
|
31939
|
-
let reconciledCount = 0;
|
|
31940
31978
|
for (const row of persistedRows) {
|
|
31941
31979
|
const state = getPersistedCompactionMarkerState(db, row.session_id);
|
|
31942
31980
|
if (!state)
|
|
@@ -31948,25 +31986,10 @@ function checkCompactionMarkerConsistency(db) {
|
|
|
31948
31986
|
const allPresent = boundaryExists && summaryMessageExists && compactionPartExists && summaryPartExists;
|
|
31949
31987
|
if (allPresent)
|
|
31950
31988
|
continue;
|
|
31951
|
-
|
|
31952
|
-
try {
|
|
31953
|
-
removedOk = removeCompactionMarker(state);
|
|
31954
|
-
} catch (error) {
|
|
31955
|
-
sessionLog(row.session_id, "compaction-marker consistency: partial cleanup of half-written marker failed:", error);
|
|
31956
|
-
}
|
|
31957
|
-
if (removedOk) {
|
|
31958
|
-
setPersistedCompactionMarkerState(db, row.session_id, null);
|
|
31959
|
-
sessionLog(row.session_id, `compaction-marker consistency: cleared orphaned state (boundary=${boundaryExists} summary=${summaryMessageExists} cPart=${compactionPartExists} sPart=${summaryPartExists}); next publication will re-inject`);
|
|
31960
|
-
reconciledCount++;
|
|
31961
|
-
} else {
|
|
31962
|
-
sessionLog(row.session_id, `compaction-marker consistency: cleanup failed for orphaned state (boundary=${boundaryExists} summary=${summaryMessageExists} cPart=${compactionPartExists} sPart=${summaryPartExists}); will retry on next startup`);
|
|
31963
|
-
}
|
|
31964
|
-
}
|
|
31965
|
-
if (reconciledCount > 0) {
|
|
31966
|
-
log(`[magic-context] compaction-marker consistency: reconciled ${reconciledCount} session(s) with orphaned marker state at startup`);
|
|
31989
|
+
sessionLog(row.session_id, `compaction-marker consistency: SKIPPED destructive reconciliation reason=unproven_writer_and_no_bust_permission path=${opencodeDbPath} source=${resolution.source} mode=readonly wal=aware boundary=${boundaryExists} summary=${summaryMessageExists} cPart=${compactionPartExists} sPart=${summaryPartExists}; retaining state until priced publication`);
|
|
31967
31990
|
}
|
|
31968
31991
|
} catch (error) {
|
|
31969
|
-
log(`[magic-context] compaction-marker consistency check
|
|
31992
|
+
log(`[magic-context] compaction-marker consistency check SKIPPED retaining state path=${opencodeDbPath} source=${resolution.source} mode=readonly wal=aware: ${error instanceof Error ? error.message : String(error)}`);
|
|
31970
31993
|
} finally {
|
|
31971
31994
|
try {
|
|
31972
31995
|
closeQuietly(opencodeDb);
|
|
@@ -40738,7 +40761,8 @@ function beginLkgPass(sessionId) {
|
|
|
40738
40761
|
}
|
|
40739
40762
|
function slotBytes(slot) {
|
|
40740
40763
|
const digestBytes = slot.inputContentDigests.reduce((total, digest) => total + 2 * digest.length, 0);
|
|
40741
|
-
|
|
40764
|
+
const ownershipBytes = slot.piOutputEntryIds?.reduce((total, id) => total + (id?.length ?? 0) * 2 + 8, 0) ?? 0;
|
|
40765
|
+
return 2 * slot.jsonPrefix.length + digestBytes + ownershipBytes + LKG_METADATA_BYTES;
|
|
40742
40766
|
}
|
|
40743
40767
|
var LKG_SNAPSHOT_ARRAY = Symbol("array");
|
|
40744
40768
|
var LKG_SNAPSHOT_OBJECT = Symbol("object");
|
|
@@ -40969,6 +40993,7 @@ function captureSlot(sessionId, slot) {
|
|
|
40969
40993
|
const entry = {
|
|
40970
40994
|
slot: {
|
|
40971
40995
|
...slot,
|
|
40996
|
+
...slot.piOutputEntryIds ? { piOutputEntryIds: [...slot.piOutputEntryIds] } : {},
|
|
40972
40997
|
inputIdSeq: [...slot.inputIdSeq],
|
|
40973
40998
|
inputContentDigests: [...slot.inputContentDigests],
|
|
40974
40999
|
inputContentSignatures: slot.inputContentSignatures ? [...slot.inputContentSignatures] : undefined
|
|
@@ -41007,6 +41032,7 @@ function installHydratedSlot(sessionId, slot) {
|
|
|
41007
41032
|
const entry = {
|
|
41008
41033
|
slot: {
|
|
41009
41034
|
...slot,
|
|
41035
|
+
...slot.piOutputEntryIds ? { piOutputEntryIds: [...slot.piOutputEntryIds] } : {},
|
|
41010
41036
|
inputIdSeq: [...slot.inputIdSeq],
|
|
41011
41037
|
inputContentDigests: [...slot.inputContentDigests],
|
|
41012
41038
|
inputContentSignatures: slot.inputContentSignatures ? [...slot.inputContentSignatures] : undefined
|
|
@@ -41039,6 +41065,7 @@ function hydrateSlotFromPersistence(sessionId) {
|
|
|
41039
41065
|
function copySlotForRead(slot) {
|
|
41040
41066
|
return {
|
|
41041
41067
|
...slot,
|
|
41068
|
+
...slot.piOutputEntryIds ? { piOutputEntryIds: [...slot.piOutputEntryIds] } : {},
|
|
41042
41069
|
inputIdSeq: [...slot.inputIdSeq],
|
|
41043
41070
|
inputContentDigests: [...slot.inputContentDigests],
|
|
41044
41071
|
inputContentSignatures: slot.inputContentSignatures ? [...slot.inputContentSignatures] : undefined
|
|
@@ -41348,4 +41375,4 @@ async function runUpgradeMemoryMigration(ctx, sessionId, migrationDirectory) {
|
|
|
41348
41375
|
}
|
|
41349
41376
|
}
|
|
41350
41377
|
|
|
41351
|
-
export { withContentLanguageDirective, buildPrimaryLanguageDirective, setJsoncValue, removeJsoncValue, cortexKitUserConfigBasePath, cortexKitProjectConfigBasePath, resolveLegacyConfigSources, resolveLegacyConfigSourcesForHarness, migrateMagicContextConfigLocations, string, unknown, array, object, union, tuple, record, parseCron, nextOccurrence, nextDueAtMs, promptSurfaceConfigIdentity, resolveModelConfigValue, resolvePromptSurface, resolveModelConfigOrDefault, DEFAULT_EXECUTE_THRESHOLD_PERCENTAGE, DEFAULT_HISTORIAN_TIMEOUT_MS, DEFAULT_LOCAL_EMBEDDING_MODEL, PER_HARNESS_MIGRATION_INVENTORY, PER_HARNESS_MODEL_KEYS, ConfigProfilesSchema, MagicContextConfigSchema, isFailClosedBlockingError, shouldBypassFailClosedBlock, resolveAgentNameFromMessages, createFailClosedController, recordHookInitFailure, clearHookInitFailure, getLastHookInitFailure, ProjectIdentityError, resolveProjectIdentityStrict, takeDubiousOwnershipProjectIdentityWarning, resolveProjectIdentity, directoryHasGitMetadata, resolveProjectIdentityForSession, normalizeStoredProjectPath, storedPathBelongsToIdentity, isLinkedGitWorktree, recordSessionProjectIdentity, beginBootQuietPeriod, bootQuietRemainingMs, scheduleAfterBootQuiet, rpcPortDir, rpcPortFilePath, isPidAlive, parseRpcPortFile, observeAuthorityRouting, registerModuleNoteEvaluationBridge, getModuleNoteEvaluationBridge, getContextStoreUuid, ensureContextStoreUuid, getAuthorityManagedMarker, reconcileAuthorityProject, checksumAuthoritySeedRows, prepareAuthority, drainAuthority, applyMirroredNoteCompileFields, drainMirrorPages, pullMemoryMirrorOnce, V2_MEMORY_CATEGORIES, CATEGORY_PRIORITY, resolveWorkspaceShareCategories, resolveWorkspaceIdentitySet, expandWorkspaceIdentitySetWithAliases, resolveStoredPathWorkspaceIdentity, storedPathBelongsToWorkspace, sourceNameForMemory, computeWorkspaceEpochFingerprint, textMentionsRecentCommit, hasMeaningfulUserText, extractTexts, extractToolCallSummaries, getTokenizerNativeMemoryStats, preloadTokenizer, estimateTokens, normalizeText, getCurrentToolSetHash, recordToolDefinition, getMeasuredToolDefinitionTokens, getSchemaFenceRejection, getMigrationOnOpenRefusal, LATEST_SUPPORTED_VERSION, getDatabasePath, getPersistedSchemaVersion, setSqlitePragmaConfig, runSqliteOptimize, openDatabase, openDatabaseAsync, isDatabasePersisted, getDatabasePersistenceError, COMPARTMENT_AGENT_SYSTEM_PROMPT, HISTORIAN_EDITOR_SYSTEM_PROMPT, COMPARTMENT_STRUCTURAL_SYSTEM_PROMPT, Priority, AdmissionClass, SocketClosedError, SocketTimeoutError, StaleRouteHandleError, SubcClient, isConsumerReconnectTransient, connectionFileExists, isRecord, CTX_REDUCE_KEEP, newestCtxReduceTagNumbers, stripWellFormedLeadingTagPrefix, stripPersistedAssistantText, byteSize, stripTagPrefix, prependTag, isThinkingPart, estimateImageTokensFromDataUrl, normalizeTodoStateJson, buildSyntheticTodoPart, computeSyntheticCallId, isSyntheticTodoPart, countRealUserMessages, tailHygieneStructuralSignature, sameTailHygieneStructuralSignature, refreshTailHygieneBaseline, effectiveTailHygiene, assertTailHygieneContentUnchanged, CHANNEL1_SENTINEL, CHANNEL1_FLOOR_TOKENS, toolOutputTokens, decideChannel1, evaluateChannel2, formatChannel1Evaluation, formatChannel2Evaluation, reclaimableToolOutputCount, buildChannel2Reminder, buildChannel1Reminder, estimateEmergencyDropReclaimTokens, planEmergencyDrop, getRecentTagOwnerMessageIds, AGE_RECLAIM_MIN_TOKENS, getOldestActiveUnprotectedToolTags, getActiveToolTagsForAgeReclaim, getTriggerTagTokenUpperBound, getActiveTagTokenTotalsByMessage, tagTokenCountIsNull, backfillTagTokenCounts, insertTag, updateTagStatus, markWhitespaceAssistantTagInert, getInertWhitespaceAssistantTags, updateTagDropMode, updateCavemanDepth, updateTagMessageId, markTagsCompactedByMessageIds, deleteTagsByMessageId, getMaxTagNumberBySession, getTagNumberByMessageId, getAssignableTagNumberByMessageId, deriveTagLoadFloor, getTagsBySession, getActiveTagsBySession, getTailHygieneTags, getDroppedTagsBySession, getTagsByNumbers, getDroppedTagsByNumbers, getMaxDroppedTagNumber, getTagById, getToolTagNumberByOwner, getNullOwnerToolTag, adoptNullOwnerToolTag, getCandidateToolOwners, pickNearestPriorOwner, isRawCompactionSummaryInfo, extractInMemoryMessageViews, buildInMemoryTailRawMessages, estimateTrueRawMessageTokens, invalidateTrueRawTokenCache, isTextPart, isToolPartWithOutput, isFilePart, buildFileSourceContent, createDroppedInputToolExecuteBeforeHook, isEditTool, partHasCompletedResult, extractToolCallObservation, ToolMutationBatch, createToolDropTarget, setRawMessageProvider, cleanUserText, withRawSessionMessageCache, readRawSessionMessages, primeTailRawMessageCache, primeInMemoryTailRawMessageCache, readRawSessionMessageOrdinalPage, getRawSessionStoredMessageCount, readRawSessionMessagePartsById, readRawSessionMessageOrdinalById, readRawSessionMessageById, readSessionChunk, readRawSessionSeedTail, COMPARTMENT_LEASE_RENEWAL_MS, acquireCompartmentLease, renewCompartmentLease, releaseCompartmentLeaseBestEffort, HAS_COMPARTMENT_CONTENT_SQL, getCompartments, getLastCompartmentEndMessage, getLastCompartmentEndMessageId, clearRecompStaging, getMessageIndexSourceIdentity, isMessageIndexSourceCurrent, getLastIndexedOrdinal, getIndexedMessageCorpusSize, getMessageIndexReconciliationStartOrdinal, isMessageIndexReconciledThrough, deleteIndexedMessage, clearIndexedMessages, indexSingleMessage, indexMessagesAfterOrdinal, sweepOrphanedOpenCodeMessageIndexes, recordEmbeddingMeasurement, getMaxM0MutationId, queueMemoryMutation, getMemoryMutationsForRenderByProjects, getMaxMemoryMutationIdForProjects, MAX_EXECUTE_THRESHOLD, escalationBands, MERGED_REASONING_PARTS_PREFIX, readFrozenMergedReasoningParts, getProtectionWindowForSession, isEmergencyRecoveryArmed, isProviderOverflowReconfirmed, isProviderOverflowFailClosedProven, getEmergencyRecoveryArmedAt, loadPersistedUsage, loadProtectedTailMeta, resetProtectedTailNoEligibleHead, getWrapupInProgressState, acquireWrapupInProgress, updateWrapupInProgress, releaseWrapupInProgress, resolveCompactionModeRecord, getCompactionModeRecord, setCompactionModeRecord, getPersistedReasoningWatermark, setPersistedReasoningWatermark, clearPersistedReasoningWatermark, getEmergencyInputSample, setEmergencyDropSample, clearEmergencyDropSample, getLastNudgeUndropped, setLastNudgeUndropped, getChannel1NudgeState, setChannel1NudgeState, markChannel1PostReduceGracePending, captureChannel1PostReduceGraceBaseline, getChannel2NudgeState, getChannel2NudgeClaim, setChannel2NudgeState, casChannel2NudgeState, claimChannel2NudgeState, casChannel2NudgeClaim, getPersistedNoteNudge, getNoteNudgeAnchors, getAutoSearchHintDecisions, appendAutoSearchHintDecision, pruneNoteNudgeAnchors, pruneAutoSearchHintDecisions, removeNoteNudgeAnchorByMessageId, removeAutoSearchHintDecisionByMessageId, getPersistedTodoPermissionDenied, setPersistedTodoPermissionDenied, getPersistedTodoSyntheticAnchor, setPersistedTodoSyntheticAnchor, clearPersistedTodoSyntheticAnchor, setNoteLastReadAt, getHistorianFailureState, clearHistorianFailureState, getOverflowState, loadTransformPassStateSnapshot, recordOverflowDetected, recordDetectedContextLimit, clearEmergencyRecovery, clearDetectedContextLimit, getPersistedCompactionMarkerState, setPersistedCompactionMarkerState, getStrippedPlaceholderIds, applyStrippedPlaceholderDelta, removeStrippedPlaceholderId, NEWEST_REASONING_BEARING_ASSISTANT, THINKING_BINDING_RECOVERY_FROZEN_PREFIX, thinkingBindingRecoveryFrozenId, getThinkingBindingRecoveryTarget, armThinkingBindingRecovery, clearThinkingBindingRecoveryIf, getMergedReasoningStrippedIds, addMergedReasoningStrippedIds, getTrailingBlankDecisions, addTrailingBlankDecisions, demoteTrailingBlankKeepDecisions, getStaleReduceStrippedIds, addStaleReduceStrippedIds, getProcessedImageStrippedIds, addProcessedImageStrippedIds, getPendingCompactionMarkerState, loadPostprocessReplaySnapshot, setPendingCompactionMarkerState, clearPendingCompactionMarkerStateIf, getSessionsWithPendingMarker, setSessionWorkMetrics, getObservedEpochFloor, resolveEpochFloorForPass, getNotes, addNote, getSessionNotes, getPendingSmartNotes, getReadySmartNotes, updateNote, dismissNotes, dismissNote, markNoteReady, markNoteChecked, queuePendingOp, getPendingOps, getPendingOpsCount, clearPendingOps, removePendingOp, PRIMER_CANDIDATE_TTL_MS, PRIMER_CANDIDATE_MAX_AGE_MS, primerOccurrenceKey, primerOccurrenceUtcDay, updatePrimerCandidateEmbedding, getPrimerCandidatesByIds, getPrimerCandidatesForPromotion, countPrimerCandidatesForProject, getActivePrimers, createPrimer, updatePrimerSupport, updatePrimerAnswer, GLOBAL_USER_PROFILE_PROJECT_PATH, getProjectState, bumpProjectMemoryEpoch, bumpProjectUserProfileVersion, saveSourceContent, replaceSourceContent, getSourceContents, createChildSessionWithFence, detectThinkingBindingMismatch, isFable51ThinkingBindingModel, detectOverflow, modelBodyField, toModelEntry, getPromptFailureDetail, promptSyncWithValidatedOutputRetry, normalizeSDKResponse, promptSurfaceHashMaterial, createPromptSurfaceRuntime, createPromptSurfaceGuidanceEpochCache, extractLatestAssistantText, hasLengthCappedOutput, setKeepSubagents, teardownChildSession, renderUserFacingFailure, userFacingFailureCode, renderCapabilityRefusal, capabilityRefusalCode, renderDreamFailure, dreamFailureCode, renderEmbeddingFailure, getCompartmentEvents, SYNAPSE_DEFAULT_MODEL, toSynapseLaneDescriptor, formatSynapseLaneDescriptor, SynapseEmbeddingProvider, loadCompartmentChunkEmbeddingsForSearch, cosineSimilarity, computeNormalizedHash, getLocalEmbeddingNativeMemoryStats, saveCommitEmbedding, loadProjectCommitEmbeddings, loadUnembeddedCommits, countEmbeddedCommits, upsertCommits, getLatestIndexedCommitTimeMs, enforceProjectCap, GIT_SWEEP_LEASE_RENEWAL_MS, acquireGitSweepLease, renewGitSweepLease, markGitSweepSuccessAndRelease, parkGitSweepNonIndexable, releaseGitSweepLease, saveEmbeddingIfHashMatches, getProjectEmbeddings, peekProjectEmbeddings, invalidateProject, invalidateMemory, describeShadowBackfillWriteRefusal, markProjectLoadUntrusted, contentSha256, sweepStaleEmbeddingIdentitiesForProject, registerProjectEmbedding, registerProjectShadowEmbedding, getShadowEmbeddingMeasurementCohort, getPrimaryEmbeddingMeasurementCohort, embedShadowTextForProject, enqueueShadowEmbeddingItems, registerProjectInObservationMode, getProjectEmbeddingSnapshot, embedTextForProject, embedBatchForProject, embedItemsForProject, embedUnembeddedMemoriesForProject, drainCommitBacklogForProject, embedSessionCompartmentChunks, getEmbeddingCoverageStatus, isEmbeddingEnabled, embedText, ensureMemoryEmbeddings, computeCueContentHash, hasMuralCueColumns, getMuralCueState, memoryNeedsCue, setMuralCue, recordMuralCueRejection, hasMemoryShareableColumn, hasMemoryClassifiedAtColumn, getUnclassifiedMemoryIds, ModuleMemoryAuthorityError, insertMemory, insertMemoryIdempotent, getMemoryByHash, getMemoriesByProject, buildWorkspaceMemorySqlFilter, getMemoriesByProjects, getMaxMemoryIdForProjects, readNewMemoriesForM1Union, getMemoryById, getMemoriesByIds, updateMemorySeenCount, updateMemoryRetrievalCount, setMemoryClassification, supersededMemory, mergeMemoryStats, archiveMemory, getMemoryCountsByStatus, sanitizeFtsQuery, searchMemoriesFTS, searchMemoriesFTSUnion, recordMemoryMapping, recordMemoryVerifications, getUnmappedMemoryIds, clearMemoryVerifications, getMemoryVerifications, resolveGitTopLevel, readGitHead, readGitChangedFilesSince, readGitFileChangeTimesSince, verificationFileExists, normalizeVerificationFiles, recordChildInvocation, USER_MEMORY_CANDIDATE_TTL_MS, insertUserMemoryCandidates, getUserMemoryCandidates, deleteUserMemoryCandidates, pruneExpiredUserMemoryCandidates, insertUserMemory, getActiveUserMemories, updateUserMemoryContent, dismissUserMemory, getMural, BoundedSessionMap, registerLkgPersistence, beginLkgPass, visitMessageContentFields, messageContentFields, signatureForFields, exactReusablePrefix, incrementalLkgContentDigests, lkgContentDigest, captureSlot, getInMemorySlot, getSlot, dropSlot, noteEntry, getLkgSlotHeapStats, onNoteTrigger, peekNoteNudgeText, markNoteNudgeDelivered, clearNoteNudgeTriggerAndCooldown, resetNoteNudgeCooldownOnly, clearNoteNudgeTriggerOnly, getOpenCodeDbPath, removeMcOwnedCompactionMarkers, MARKER_SUMMARY_TEXT, applyDeferredCompactionMarker, removeCompactionMarkerForSession, checkCompactionMarkerConsistency, modelKeyAcceptsImages, resolveMuralWire, extractM0Block, formatDate, injectTemporalMarkers, clearInjectionCache, getVisibleMemoryIds, selectHiddenMessagesAtCompactionSeam, prepareCompartmentInjection, renderCompartmentInjection, mustMaterialize, trimMemoriesToBudgetV2, renderMemoryBlockV2, prepareCachedM0M1Replay, hasCompleteCachedM0M1, injectM0M1, describeBoundaryDiagnostics, RECOVERY_NO_HEAD_LIMIT, resolveOpenCodeProtectedTailBoundary, resolveWrapupProtectedTailBoundary, getRawHistoryEligibility, hasRunnableCompartmentWindow, recordHighPressureNoEligibleHead, runCompartmentAgent, snapRangeToCompartments, getActiveCompartmentRun, markActiveCompartmentRunPublished, registerActiveCompartmentRun, startCompartmentAgent, setRecompStarting2, setRecompTerminal2, runManagedRecomp2, runManagedUpgrade2 };
|
|
41378
|
+
export { withContentLanguageDirective, buildPrimaryLanguageDirective, setJsoncValue, removeJsoncValue, cortexKitUserConfigBasePath, cortexKitProjectConfigBasePath, resolveLegacyConfigSources, resolveLegacyConfigSourcesForHarness, migrateMagicContextConfigLocations, string, unknown, array, object, union, tuple, record, parseCron, nextOccurrence, nextDueAtMs, promptSurfaceConfigIdentity, resolveModelConfigValue, resolvePromptSurface, resolveModelConfigOrDefault, DEFAULT_EXECUTE_THRESHOLD_PERCENTAGE, DEFAULT_HISTORIAN_TIMEOUT_MS, DEFAULT_LOCAL_EMBEDDING_MODEL, PER_HARNESS_MIGRATION_INVENTORY, PER_HARNESS_MODEL_KEYS, ConfigProfilesSchema, MagicContextConfigSchema, isFailClosedBlockingError, shouldBypassFailClosedBlock, resolveAgentNameFromMessages, createFailClosedController, recordHookInitFailure, clearHookInitFailure, getLastHookInitFailure, ProjectIdentityError, resolveProjectIdentityStrict, takeDubiousOwnershipProjectIdentityWarning, resolveProjectIdentity, directoryHasGitMetadata, resolveProjectIdentityForSession, normalizeStoredProjectPath, storedPathBelongsToIdentity, isLinkedGitWorktree, recordSessionProjectIdentity, beginBootQuietPeriod, bootQuietRemainingMs, scheduleAfterBootQuiet, rpcPortDir, rpcPortFilePath, isPidAlive, parseRpcPortFile, observeAuthorityRouting, registerModuleNoteEvaluationBridge, getModuleNoteEvaluationBridge, getContextStoreUuid, ensureContextStoreUuid, getAuthorityManagedMarker, reconcileAuthorityProject, checksumAuthoritySeedRows, prepareAuthority, drainAuthority, applyMirroredNoteCompileFields, drainMirrorPages, pullMemoryMirrorOnce, V2_MEMORY_CATEGORIES, CATEGORY_PRIORITY, resolveWorkspaceShareCategories, resolveWorkspaceIdentitySet, expandWorkspaceIdentitySetWithAliases, resolveStoredPathWorkspaceIdentity, storedPathBelongsToWorkspace, sourceNameForMemory, computeWorkspaceEpochFingerprint, textMentionsRecentCommit, hasMeaningfulUserText, extractTexts, extractToolCallSummaries, getTokenizerNativeMemoryStats, preloadTokenizer, estimateTokens, normalizeText, getCurrentToolSetHash, recordToolDefinition, getMeasuredToolDefinitionTokens, getSchemaFenceRejection, getMigrationOnOpenRefusal, LATEST_SUPPORTED_VERSION, getDatabasePath, getPersistedSchemaVersion, setSqlitePragmaConfig, runSqliteOptimize, openDatabase, openDatabaseAsync, isDatabasePersisted, getDatabasePersistenceError, COMPARTMENT_AGENT_SYSTEM_PROMPT, HISTORIAN_EDITOR_SYSTEM_PROMPT, COMPARTMENT_STRUCTURAL_SYSTEM_PROMPT, Priority, AdmissionClass, SocketClosedError, SocketTimeoutError, StaleRouteHandleError, SubcClient, isConsumerReconnectTransient, connectionFileExists, isRecord, CTX_REDUCE_KEEP, newestCtxReduceTagNumbers, stripWellFormedLeadingTagPrefix, stripPersistedAssistantText, byteSize, stripTagPrefix, prependTag, isThinkingPart, estimateImageTokensFromDataUrl, normalizeTodoStateJson, buildSyntheticTodoPart, computeSyntheticCallId, isSyntheticTodoPart, countRealUserMessages, tailHygieneStructuralSignature, sameTailHygieneStructuralSignature, refreshTailHygieneBaseline, effectiveTailHygiene, assertTailHygieneContentUnchanged, CHANNEL1_SENTINEL, CHANNEL1_FLOOR_TOKENS, toolOutputTokens, decideChannel1, evaluateChannel2, formatChannel1Evaluation, formatChannel2Evaluation, reclaimableToolOutputCount, buildChannel2Reminder, buildChannel1Reminder, estimateEmergencyDropReclaimTokens, planEmergencyDrop, getRecentTagOwnerMessageIds, AGE_RECLAIM_MIN_TOKENS, getOldestActiveUnprotectedToolTags, getActiveToolTagsForAgeReclaim, getTriggerTagTokenUpperBound, getActiveTagTokenTotalsByMessage, tagTokenCountIsNull, backfillTagTokenCounts, insertTag, updateTagStatus, markWhitespaceAssistantTagInert, getInertWhitespaceAssistantTags, updateTagDropMode, updateCavemanDepth, updateTagMessageId, markTagsCompactedByMessageIds, deleteTagsByMessageId, getMaxTagNumberBySession, getTagNumberByMessageId, getAssignableTagNumberByMessageId, deriveTagLoadFloor, getTagsBySession, getActiveTagsBySession, getTailHygieneTags, getDroppedTagsBySession, getTagsByNumbers, getDroppedTagsByNumbers, getMaxDroppedTagNumber, getTagById, getToolTagNumberByOwner, getNullOwnerToolTag, adoptNullOwnerToolTag, getCandidateToolOwners, pickNearestPriorOwner, isRawCompactionSummaryInfo, extractInMemoryMessageViews, buildInMemoryTailRawMessages, estimateTrueRawMessageTokens, invalidateTrueRawTokenCache, isTextPart, isToolPartWithOutput, isFilePart, buildFileSourceContent, createDroppedInputToolExecuteBeforeHook, isEditTool, partHasCompletedResult, extractToolCallObservation, ToolMutationBatch, createToolDropTarget, setRawMessageProvider, cleanUserText, withRawSessionMessageCache, readRawSessionMessages, primeTailRawMessageCache, primeInMemoryTailRawMessageCache, readRawSessionMessageOrdinalPage, getRawSessionStoredMessageCount, readRawSessionMessagePartsById, readRawSessionMessageOrdinalById, readRawSessionMessageById, readSessionChunk, readRawSessionSeedTail, COMPARTMENT_LEASE_RENEWAL_MS, acquireCompartmentLease, renewCompartmentLease, releaseCompartmentLeaseBestEffort, HAS_COMPARTMENT_CONTENT_SQL, getCompartments, getLastCompartmentEndMessage, getLastCompartmentEndMessageId, clearRecompStaging, getMessageIndexSourceIdentity, isMessageIndexSourceCurrent, getLastIndexedOrdinal, getIndexedMessageCorpusSize, getMessageIndexReconciliationStartOrdinal, isMessageIndexReconciledThrough, deleteIndexedMessage, clearIndexedMessages, indexSingleMessage, indexMessagesAfterOrdinal, sweepOrphanedOpenCodeMessageIndexes, recordEmbeddingMeasurement, getMaxM0MutationId, queueMemoryMutation, getMemoryMutationsForRenderByProjects, getMaxMemoryMutationIdForProjects, MAX_EXECUTE_THRESHOLD, escalationBands, MERGED_REASONING_PARTS_PREFIX, readFrozenMergedReasoningParts, getProtectionWindowForSession, isEmergencyRecoveryArmed, isProviderOverflowReconfirmed, isProviderOverflowFailClosedProven, getEmergencyRecoveryArmedAt, loadPersistedUsage, loadProtectedTailMeta, resetProtectedTailNoEligibleHead, getWrapupInProgressState, acquireWrapupInProgress, updateWrapupInProgress, releaseWrapupInProgress, resolveCompactionModeRecord, getCompactionModeRecord, setCompactionModeRecord, getPersistedReasoningWatermark, setPersistedReasoningWatermark, clearPersistedReasoningWatermark, getEmergencyInputSample, setEmergencyDropSample, clearEmergencyDropSample, getLastNudgeUndropped, setLastNudgeUndropped, getChannel1NudgeState, setChannel1NudgeState, markChannel1PostReduceGracePending, captureChannel1PostReduceGraceBaseline, getChannel2NudgeState, getChannel2NudgeClaim, setChannel2NudgeState, casChannel2NudgeState, claimChannel2NudgeState, casChannel2NudgeClaim, getPersistedNoteNudge, getNoteNudgeAnchors, getAutoSearchHintDecisions, appendAutoSearchHintDecision, pruneNoteNudgeAnchors, pruneAutoSearchHintDecisions, removeNoteNudgeAnchorByMessageId, removeAutoSearchHintDecisionByMessageId, getPersistedTodoPermissionDenied, setPersistedTodoPermissionDenied, getPersistedTodoSyntheticAnchor, setPersistedTodoSyntheticAnchor, clearPersistedTodoSyntheticAnchor, setNoteLastReadAt, getHistorianFailureState, clearHistorianFailureState, getOverflowState, loadTransformPassStateSnapshot, recordOverflowDetected, recordDetectedContextLimit, clearEmergencyRecovery, clearDetectedContextLimit, getPersistedCompactionMarkerState, setPersistedCompactionMarkerState, getDeferredClearedCompactionMarkerState, retireDeferredClearedCompactionMarkerState, getStrippedPlaceholderIds, applyStrippedPlaceholderDelta, removeStrippedPlaceholderId, NEWEST_REASONING_BEARING_ASSISTANT, THINKING_BINDING_RECOVERY_FROZEN_PREFIX, thinkingBindingRecoveryFrozenId, getThinkingBindingRecoveryTarget, armThinkingBindingRecovery, clearThinkingBindingRecoveryIf, getMergedReasoningStrippedIds, addMergedReasoningStrippedIds, getTrailingBlankDecisions, addTrailingBlankDecisions, demoteTrailingBlankKeepDecisions, getStaleReduceStrippedIds, addStaleReduceStrippedIds, getProcessedImageStrippedIds, addProcessedImageStrippedIds, getPendingCompactionMarkerState, loadPostprocessReplaySnapshot, setPendingCompactionMarkerState, clearPendingCompactionMarkerStateIf, getSessionsWithPendingMarker, setSessionWorkMetrics, getObservedEpochFloor, resolveEpochFloorForPass, getNotes, addNote, getSessionNotes, getPendingSmartNotes, getReadySmartNotes, updateNote, dismissNotes, dismissNote, markNoteReady, markNoteChecked, queuePendingOp, getPendingOps, getPendingOpsCount, clearPendingOps, removePendingOp, PRIMER_CANDIDATE_TTL_MS, PRIMER_CANDIDATE_MAX_AGE_MS, primerOccurrenceKey, primerOccurrenceUtcDay, updatePrimerCandidateEmbedding, getPrimerCandidatesByIds, getPrimerCandidatesForPromotion, countPrimerCandidatesForProject, getActivePrimers, createPrimer, updatePrimerSupport, updatePrimerAnswer, GLOBAL_USER_PROFILE_PROJECT_PATH, getProjectState, bumpProjectMemoryEpoch, bumpProjectUserProfileVersion, saveSourceContent, replaceSourceContent, getSourceContents, createChildSessionWithFence, detectThinkingBindingMismatch, isFable51ThinkingBindingModel, detectOverflow, modelBodyField, toModelEntry, getPromptFailureDetail, promptSyncWithValidatedOutputRetry, normalizeSDKResponse, promptSurfaceHashMaterial, createPromptSurfaceRuntime, createPromptSurfaceGuidanceEpochCache, extractLatestAssistantText, hasLengthCappedOutput, setKeepSubagents, teardownChildSession, renderUserFacingFailure, userFacingFailureCode, renderCapabilityRefusal, capabilityRefusalCode, renderDreamFailure, dreamFailureCode, renderEmbeddingFailure, getCompartmentEvents, SYNAPSE_DEFAULT_MODEL, toSynapseLaneDescriptor, formatSynapseLaneDescriptor, SynapseEmbeddingProvider, loadCompartmentChunkEmbeddingsForSearch, cosineSimilarity, computeNormalizedHash, getLocalEmbeddingNativeMemoryStats, saveCommitEmbedding, loadProjectCommitEmbeddings, loadUnembeddedCommits, countEmbeddedCommits, upsertCommits, getLatestIndexedCommitTimeMs, enforceProjectCap, GIT_SWEEP_LEASE_RENEWAL_MS, acquireGitSweepLease, renewGitSweepLease, markGitSweepSuccessAndRelease, parkGitSweepNonIndexable, releaseGitSweepLease, saveEmbeddingIfHashMatches, getProjectEmbeddings, peekProjectEmbeddings, invalidateProject, invalidateMemory, describeShadowBackfillWriteRefusal, markProjectLoadUntrusted, contentSha256, sweepStaleEmbeddingIdentitiesForProject, registerProjectEmbedding, registerProjectShadowEmbedding, getShadowEmbeddingMeasurementCohort, getPrimaryEmbeddingMeasurementCohort, embedShadowTextForProject, enqueueShadowEmbeddingItems, registerProjectInObservationMode, getProjectEmbeddingSnapshot, embedTextForProject, embedBatchForProject, embedItemsForProject, embedUnembeddedMemoriesForProject, drainCommitBacklogForProject, embedSessionCompartmentChunks, getEmbeddingCoverageStatus, isEmbeddingEnabled, embedText, ensureMemoryEmbeddings, computeCueContentHash, hasMuralCueColumns, getMuralCueState, memoryNeedsCue, setMuralCue, recordMuralCueRejection, hasMemoryShareableColumn, hasMemoryClassifiedAtColumn, getUnclassifiedMemoryIds, ModuleMemoryAuthorityError, insertMemory, insertMemoryIdempotent, getMemoryByHash, getMemoriesByProject, buildWorkspaceMemorySqlFilter, getMemoriesByProjects, getMaxMemoryIdForProjects, readNewMemoriesForM1Union, getMemoryById, getMemoriesByIds, updateMemorySeenCount, updateMemoryRetrievalCount, setMemoryClassification, supersededMemory, mergeMemoryStats, archiveMemory, getMemoryCountsByStatus, sanitizeFtsQuery, searchMemoriesFTS, searchMemoriesFTSUnion, recordMemoryMapping, recordMemoryVerifications, getUnmappedMemoryIds, clearMemoryVerifications, getMemoryVerifications, resolveGitTopLevel, readGitHead, readGitChangedFilesSince, readGitFileChangeTimesSince, verificationFileExists, normalizeVerificationFiles, recordChildInvocation, USER_MEMORY_CANDIDATE_TTL_MS, insertUserMemoryCandidates, getUserMemoryCandidates, deleteUserMemoryCandidates, pruneExpiredUserMemoryCandidates, insertUserMemory, getActiveUserMemories, updateUserMemoryContent, dismissUserMemory, getMural, BoundedSessionMap, registerLkgPersistence, beginLkgPass, visitMessageContentFields, messageContentFields, signatureForFields, exactReusablePrefix, incrementalLkgContentDigests, lkgContentDigest, captureSlot, getInMemorySlot, getSlot, dropSlot, noteEntry, getLkgSlotHeapStats, onNoteTrigger, peekNoteNudgeText, markNoteNudgeDelivered, clearNoteNudgeTriggerAndCooldown, resetNoteNudgeCooldownOnly, clearNoteNudgeTriggerOnly, getOpenCodeDbPath, removeMcOwnedCompactionMarkers, MARKER_SUMMARY_TEXT, applyDeferredCompactionMarker, removeCompactionMarkerForSession, checkCompactionMarkerConsistency, modelKeyAcceptsImages, resolveMuralWire, extractM0Block, formatDate, injectTemporalMarkers, clearInjectionCache, getVisibleMemoryIds, selectHiddenMessagesAtCompactionSeam, prepareCompartmentInjection, renderCompartmentInjection, mustMaterialize, trimMemoriesToBudgetV2, renderMemoryBlockV2, prepareCachedM0M1Replay, hasCompleteCachedM0M1, injectM0M1, describeBoundaryDiagnostics, RECOVERY_NO_HEAD_LIMIT, resolveOpenCodeProtectedTailBoundary, resolveWrapupProtectedTailBoundary, getRawHistoryEligibility, hasRunnableCompartmentWindow, recordHighPressureNoEligibleHead, runCompartmentAgent, snapRangeToCompartments, getActiveCompartmentRun, markActiveCompartmentRunPublished, registerActiveCompartmentRun, startCompartmentAgent, setRecompStarting2, setRecompTerminal2, runManagedRecomp2, runManagedUpgrade2 };
|
|
@@ -675,7 +675,7 @@ function assistantAwaitingToolsFromOpenCodeDb(db, sessionId) {
|
|
|
675
675
|
return false;
|
|
676
676
|
if (latestAssistant.finish === "tool-calls")
|
|
677
677
|
return true;
|
|
678
|
-
const partRows = db.prepare("SELECT data FROM part WHERE session_id = ? AND likelihood(message_id = ?, 0.000001)").all(sessionId, latestAssistant.id);
|
|
678
|
+
const partRows = db.prepare("SELECT data FROM part WHERE +session_id = ? AND likelihood(message_id = ?, 0.000001)").all(sessionId, latestAssistant.id);
|
|
679
679
|
return partRows.some((row) => {
|
|
680
680
|
if (typeof row.data !== "string" || row.data.length === 0)
|
|
681
681
|
return false;
|