@cortexkit/opencode-magic-context 0.42.4 → 0.42.6
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/README.md +2 -2
- package/dist/config/index.d.ts +9 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/schema/magic-context.d.ts +1 -0
- package/dist/config/schema/magic-context.d.ts.map +1 -1
- package/dist/{conflict-warning-hook-jyj54gbe.js → conflict-warning-hook-aktepwpz.js} +3 -3
- package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
- package/dist/features/magic-context/context-authority.d.ts +28 -1
- package/dist/features/magic-context/context-authority.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/curate-category-rotation.d.ts +26 -0
- package/dist/features/magic-context/dreamer/curate-category-rotation.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/open-opencode-db.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/storage-task-schedule.d.ts +7 -5
- package/dist/features/magic-context/dreamer/storage-task-schedule.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 +1 -0
- package/dist/features/magic-context/dreamer/task-gates.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-prompts.d.ts +3 -0
- package/dist/features/magic-context/dreamer/task-prompts.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-registry.d.ts +6 -0
- package/dist/features/magic-context/dreamer/task-registry.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-scheduler.d.ts +5 -1
- package/dist/features/magic-context/dreamer/task-scheduler.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-local.d.ts +12 -0
- package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding.d.ts +1 -1
- package/dist/features/magic-context/memory/embedding.d.ts.map +1 -1
- package/dist/features/magic-context/message-index.d.ts.map +1 -1
- package/dist/features/magic-context/migrations.d.ts +12 -0
- package/dist/features/magic-context/migrations.d.ts.map +1 -1
- package/dist/features/magic-context/project-embedding-registry.d.ts +1 -0
- package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
- package/dist/features/magic-context/session-project-backfill.d.ts.map +1 -1
- package/dist/features/magic-context/storage-db.d.ts +1 -1
- package/dist/features/magic-context/tool-owner-backfill.d.ts.map +1 -1
- package/dist/hooks/auto-update-checker/index.d.ts.map +1 -1
- package/dist/hooks/magic-context/cache-busting-signals.d.ts +0 -1
- package/dist/hooks/magic-context/cache-busting-signals.d.ts.map +1 -1
- package/dist/hooks/magic-context/channel2-delivery.d.ts +8 -0
- package/dist/hooks/magic-context/channel2-delivery.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-incremental.d.ts +12 -0
- package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook.d.ts +4 -4
- package/dist/hooks/magic-context/hook.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-state-sync.d.ts +3 -0
- package/dist/hooks/magic-context/module-state-sync.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-transport.d.ts +24 -2
- package/dist/hooks/magic-context/module-transport.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-wire.d.ts +1 -1
- package/dist/hooks/magic-context/module-wire.d.ts.map +1 -1
- package/dist/hooks/magic-context/producer-window-guard.d.ts +31 -1
- package/dist/hooks/magic-context/producer-window-guard.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-chunk.d.ts +6 -0
- package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-db.d.ts +8 -0
- package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-formatting.d.ts +6 -0
- package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -1
- package/dist/hooks/magic-context/rust-mode-transform.d.ts +30 -0
- package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
- package/dist/hooks/magic-context/rust-refusal-recovery.d.ts +28 -0
- package/dist/hooks/magic-context/rust-refusal-recovery.d.ts.map +1 -0
- package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform.d.ts +7 -0
- package/dist/hooks/magic-context/transform.d.ts.map +1 -1
- package/dist/{index-bkg2fdj1.js → index-4wwr6cz0.js} +3 -0
- package/dist/{index-jkrqhc7y.js → index-a9ssj59b.js} +94 -15
- package/dist/{index-faay035c.js → index-djp6rwz6.js} +484 -57
- package/dist/{index-p474rw9p.js → index-ngjmj6xx.js} +1 -1
- package/dist/{index-d8mgqezq.js → index-s61hh7gv.js} +50 -17
- package/dist/{index-1ar7b3e9.js → index-znraa0kv.js} +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1667 -380
- package/dist/plugin/embedding-bootstrap.d.ts.map +1 -1
- package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
- package/dist/plugin/memory-id-translation.d.ts +23 -0
- package/dist/plugin/memory-id-translation.d.ts.map +1 -0
- package/dist/plugin/rust-tool-backends.d.ts +1 -1
- package/dist/plugin/rust-tool-backends.d.ts.map +1 -1
- package/dist/{recomp-orchestrator-c4sa354a.js → recomp-orchestrator-0xx1364v.js} +4 -4
- package/dist/{send-session-notification-xnypkxpx.js → send-session-notification-jbxknvar.js} +2 -2
- package/dist/shared/auto-update-provenance.d.ts +9 -0
- package/dist/shared/auto-update-provenance.d.ts.map +1 -0
- package/dist/shared/conflict-detector.d.ts +5 -1
- package/dist/shared/conflict-detector.d.ts.map +1 -1
- package/dist/shared/opencode-db-path.d.ts +31 -2
- package/dist/shared/opencode-db-path.d.ts.map +1 -1
- package/dist/shared/prompt-surface-runtime.d.ts +3 -3
- package/dist/shared/prompt-surface-runtime.d.ts.map +1 -1
- package/dist/{storage-meta-session-x3j0q9qy.js → storage-meta-session-z818pn1e.js} +2 -2
- package/dist/{task-config-ys0arma5.js → task-config-cv8k9y8r.js} +1 -1
- package/dist/tools/ctx-expand/mode.d.ts +31 -0
- package/dist/tools/ctx-expand/mode.d.ts.map +1 -0
- package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
- package/dist/tools/ctx-memory/tools.d.ts.map +1 -1
- package/dist/tools/ctx-note/constants.d.ts +1 -1
- package/dist/tools/ctx-note/constants.d.ts.map +1 -1
- package/dist/tools/ctx-note/tools.d.ts.map +1 -1
- package/dist/tools/ctx-note/types.d.ts +1 -1
- package/dist/tools/ctx-note/types.d.ts.map +1 -1
- package/dist/tools/ctx-reduce/constants.d.ts +1 -1
- package/dist/tools/ctx-reduce/constants.d.ts.map +1 -1
- package/dist/tools/ctx-search/types.d.ts +1 -1
- package/dist/tools/ctx-search/types.d.ts.map +1 -1
- package/dist/tools/light-descriptions.d.ts +2 -2
- package/dist/tools/light-descriptions.d.ts.map +1 -1
- package/dist/v2/hidden-completion.d.ts +69 -13
- package/dist/v2/hidden-completion.d.ts.map +1 -1
- package/dist/v2/hooks/context.d.ts +13 -1
- package/dist/v2/hooks/context.d.ts.map +1 -1
- package/dist/v2/hooks/hidden-child.d.ts +31 -0
- package/dist/v2/hooks/hidden-child.d.ts.map +1 -0
- package/dist/v2/hooks/store.d.ts.map +1 -1
- package/dist/v2/hooks/types.d.ts +99 -19
- package/dist/v2/hooks/types.d.ts.map +1 -1
- package/dist/v2/server.d.ts +19 -0
- package/dist/v2/server.d.ts.map +1 -1
- package/dist/v2/server.js +2311 -2724
- package/dist/v2/store-reader.d.ts +11 -5
- package/dist/v2/store-reader.d.ts.map +1 -1
- package/dist/v2/tui/index.d.ts +10 -0
- package/dist/v2/tui/index.d.ts.map +1 -0
- package/dist/v2/tui/types.d.ts +80 -0
- package/dist/v2/tui/types.d.ts.map +1 -0
- package/package.json +5 -4
- package/src/agents/magic-context-prompt.ts +1 -1
- package/src/config/index.ts +31 -1
- package/src/config/protected-tokens.test.ts +40 -0
- package/src/config/schema/magic-context.ts +8 -3
- package/src/features/magic-context/dreamer/task-registry.ts +10 -0
- package/src/shared/auto-update-provenance.ts +42 -0
- package/src/shared/conflict-detector.test.ts +53 -0
- package/src/shared/conflict-detector.ts +88 -19
- package/src/shared/models-dev-cache.test.ts +25 -0
- package/src/shared/opencode-db-path.test.ts +96 -0
- package/src/shared/opencode-db-path.ts +146 -15
- package/src/shared/prompt-surface-a1-golden.md +12 -16
- package/src/shared/prompt-surface-runtime.test.ts +20 -0
- package/src/shared/prompt-surface-runtime.ts +7 -5
- package/src/tui/entry.mjs +11 -1
- package/src/v2/tui/host-contract.test.ts +202 -0
- package/src/v2/tui/index.ts +270 -0
- package/src/v2/tui/types.ts +67 -0
|
@@ -11,9 +11,10 @@ import {
|
|
|
11
11
|
SESSION_SCOPED_TABLES,
|
|
12
12
|
deleteSessionScopedRows,
|
|
13
13
|
updateSessionMeta2
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-znraa0kv.js";
|
|
15
15
|
import {
|
|
16
16
|
resolveOpenCodeDbPath,
|
|
17
|
+
assertOpenCodeStoreGeneration,
|
|
17
18
|
openCodeDbPathExists,
|
|
18
19
|
claimOpenCodeDbDiagnosticOnce,
|
|
19
20
|
registerSlowWriteReporter,
|
|
@@ -25,7 +26,7 @@ import {
|
|
|
25
26
|
withReadOnlySessionDb,
|
|
26
27
|
getRawSessionMessageCountFromDb,
|
|
27
28
|
getMessageTimesFromOpenCodeDb
|
|
28
|
-
} from "./index-
|
|
29
|
+
} from "./index-a9ssj59b.js";
|
|
29
30
|
import {
|
|
30
31
|
pushNotification2
|
|
31
32
|
} from "./index-jdxxq8cz.js";
|
|
@@ -47,7 +48,7 @@ import {
|
|
|
47
48
|
getErrorMessage,
|
|
48
49
|
describeError,
|
|
49
50
|
sendStatusNotification2
|
|
50
|
-
} from "./index-
|
|
51
|
+
} from "./index-ngjmj6xx.js";
|
|
51
52
|
import {
|
|
52
53
|
piModelRefToCanonical,
|
|
53
54
|
modelRefLookupOrder
|
|
@@ -2168,6 +2169,20 @@ function prepareMirrorPageStatements(db) {
|
|
|
2168
2169
|
function mirrorIdentity(db, domain, moduleProject, moduleRowId, statements) {
|
|
2169
2170
|
return (statements?.identityByModule ?? db.prepare("SELECT context_row_id FROM mirror_identity WHERE domain = ? AND module_project = ? AND module_row_id = ?")).get(domain, moduleProject, moduleRowId) ?? null;
|
|
2170
2171
|
}
|
|
2172
|
+
function moduleMemoryIdentityForHostId(db, contextRowId) {
|
|
2173
|
+
const row = db.prepare(`SELECT module_project, module_row_id, context_row_id
|
|
2174
|
+
FROM mirror_identity
|
|
2175
|
+
WHERE domain = 'memories' AND context_row_id = ?`).get(contextRowId);
|
|
2176
|
+
return row ? {
|
|
2177
|
+
moduleProject: row.module_project,
|
|
2178
|
+
moduleRowId: row.module_row_id,
|
|
2179
|
+
contextRowId: row.context_row_id
|
|
2180
|
+
} : null;
|
|
2181
|
+
}
|
|
2182
|
+
function hostMemoryIdentityForModuleId(db, moduleProject, moduleRowId) {
|
|
2183
|
+
const row = mirrorIdentity(db, "memories", moduleProject, moduleRowId);
|
|
2184
|
+
return row ? { moduleProject, moduleRowId, contextRowId: row.context_row_id } : null;
|
|
2185
|
+
}
|
|
2171
2186
|
function applyMirroredNoteCompileFields(args) {
|
|
2172
2187
|
return withPrivilegedWriter(args.db, () => {
|
|
2173
2188
|
const result = args.db.prepare(`UPDATE notes
|
|
@@ -2395,6 +2410,26 @@ function applyNoteRow(db, feed, statements) {
|
|
|
2395
2410
|
statements.updateNote.run(rowString(effectiveRow, "type", "smart"), contextStatus, moduleProject, rowNullableString(effectiveRow, "session_id"), rowString(effectiveRow, "content"), rowNullableString(effectiveRow, "surface_condition"), rowNullableString(effectiveRow, "compiled_provider"), rowNullableString(effectiveRow, "compiled_config"), typeof effectiveRow.compiled_at === "number" ? effectiveRow.compiled_at : null, rowNullableString(effectiveRow, "compile_status"), typeof effectiveRow.ready_at === "number" ? effectiveRow.ready_at : null, rowNullableString(effectiveRow, "ready_reason"), rowNullableString(effectiveRow, "manifest_json"), rowNullableString(effectiveRow, "compiled_check"), rowNullableString(effectiveRow, "check_hash"), rowNullableString(effectiveRow, "check_cron"), rowNumber(effectiveRow, "check_failure_count"), rowNumber(effectiveRow, "check_network_failure_count"), typeof effectiveRow.check_quarantined_until === "number" ? effectiveRow.check_quarantined_until : null, typeof effectiveRow.check_next_due_at === "number" ? effectiveRow.check_next_due_at : null, typeof effectiveRow.check_compiled_at === "number" ? effectiveRow.check_compiled_at : null, typeof effectiveRow.check_false_since_at === "number" ? effectiveRow.check_false_since_at : null, typeof effectiveRow.check_last_liveness_at === "number" ? effectiveRow.check_last_liveness_at : null, typeof effectiveRow.last_checked_at === "number" ? effectiveRow.last_checked_at : null, rowString(effectiveRow, "check_status", "uncompiled"), rowNumber(effectiveRow, "check_version"), rowNumber(effectiveRow, "policy_version", 1), rowNullableString(effectiveRow, "anchor_block_id"), typeof effectiveRow.anchor_ordinal === "number" ? effectiveRow.anchor_ordinal : null, rowNumber(effectiveRow, "created_at_ms"), rowNumber(effectiveRow, "updated_at_ms"), contextId);
|
|
2396
2411
|
statements.upsertNoteRevision.run(moduleProject, feed.module_row_id, contextId, rowNumber(effectiveRow, "status_version"));
|
|
2397
2412
|
}
|
|
2413
|
+
function applyTargetedMemoryMirrorRow(args) {
|
|
2414
|
+
const { db, row } = args;
|
|
2415
|
+
if (row.domain !== "memories" || row.op === "tombstone") {
|
|
2416
|
+
throw new Error("targeted memory mirror requires a live memory row");
|
|
2417
|
+
}
|
|
2418
|
+
const project = rowString(row.full_row_snapshot, "project_path");
|
|
2419
|
+
if (!project)
|
|
2420
|
+
throw new Error("memory feed snapshot has no project_path");
|
|
2421
|
+
withPrivilegedWriter(db, () => {
|
|
2422
|
+
db.transaction(() => {
|
|
2423
|
+
ensureMemoryRepairState(db);
|
|
2424
|
+
const statements = prepareMirrorPageStatements(db);
|
|
2425
|
+
applyMemoryRow(db, row, statements);
|
|
2426
|
+
translateMemoryReferences(statements);
|
|
2427
|
+
repairNullClobberedMemoryRows(statements);
|
|
2428
|
+
bumpDomainMutationEpoch(db, project, "memories");
|
|
2429
|
+
}).immediate();
|
|
2430
|
+
});
|
|
2431
|
+
return hostMemoryIdentityForModuleId(db, project, row.module_row_id);
|
|
2432
|
+
}
|
|
2398
2433
|
function applyMirrorPage(args) {
|
|
2399
2434
|
const { db, page } = args;
|
|
2400
2435
|
if (!AUTHORITY_DOMAINS.includes(page.domain))
|
|
@@ -2578,6 +2613,28 @@ async function pullAndApplyMirrorPageWithStatus(args) {
|
|
|
2578
2613
|
limit
|
|
2579
2614
|
});
|
|
2580
2615
|
const nextCursor = applyMirrorPage({ db: args.db, page: response.page });
|
|
2616
|
+
if (args.domain === "memories" && args.module.memoryIdentityAck) {
|
|
2617
|
+
const rowsByProject = new Map;
|
|
2618
|
+
for (const feed of response.page.rows) {
|
|
2619
|
+
if (feed.domain !== "memories" || feed.op === "tombstone")
|
|
2620
|
+
continue;
|
|
2621
|
+
const project = rowString(feed.full_row_snapshot, "project_path");
|
|
2622
|
+
if (!project)
|
|
2623
|
+
continue;
|
|
2624
|
+
const identity = mirrorIdentity(args.db, "memories", project, feed.module_row_id);
|
|
2625
|
+
if (!identity)
|
|
2626
|
+
continue;
|
|
2627
|
+
const rows = rowsByProject.get(project) ?? [];
|
|
2628
|
+
rows.push({
|
|
2629
|
+
module_row_id: feed.module_row_id,
|
|
2630
|
+
context_row_id: identity.context_row_id
|
|
2631
|
+
});
|
|
2632
|
+
rowsByProject.set(project, rows);
|
|
2633
|
+
}
|
|
2634
|
+
for (const [project, rows] of rowsByProject) {
|
|
2635
|
+
await args.module.memoryIdentityAck({ project, rows });
|
|
2636
|
+
}
|
|
2637
|
+
}
|
|
2581
2638
|
return {
|
|
2582
2639
|
cursor: nextCursor,
|
|
2583
2640
|
hasMore: response.page.has_more,
|
|
@@ -3768,6 +3825,114 @@ function isSqliteLockError(error) {
|
|
|
3768
3825
|
function tableExists2(db, name) {
|
|
3769
3826
|
return Boolean(db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name = ?").get(name));
|
|
3770
3827
|
}
|
|
3828
|
+
function tableHasHarnessColumn(db, name) {
|
|
3829
|
+
if (!tableExists2(db, name))
|
|
3830
|
+
return false;
|
|
3831
|
+
return db.prepare(`PRAGMA table_info(${name})`).all().some((column) => column.name === "harness");
|
|
3832
|
+
}
|
|
3833
|
+
var V85_OPENCODE2_RELABEL_TABLES = [
|
|
3834
|
+
"tags",
|
|
3835
|
+
"pending_ops",
|
|
3836
|
+
"source_contents",
|
|
3837
|
+
"compartments",
|
|
3838
|
+
"compartment_chunk_embeddings",
|
|
3839
|
+
"session_projects",
|
|
3840
|
+
"compartment_events",
|
|
3841
|
+
"compression_depth",
|
|
3842
|
+
"session_facts",
|
|
3843
|
+
"primer_candidates",
|
|
3844
|
+
"notes",
|
|
3845
|
+
"message_history_index",
|
|
3846
|
+
"message_history_source",
|
|
3847
|
+
"pending_session_cleanup",
|
|
3848
|
+
"message_history_orphan_sweep",
|
|
3849
|
+
"session_meta",
|
|
3850
|
+
"subagent_invocations",
|
|
3851
|
+
"historian_runs",
|
|
3852
|
+
"transform_decisions",
|
|
3853
|
+
"recomp_compartments",
|
|
3854
|
+
"recomp_facts"
|
|
3855
|
+
];
|
|
3856
|
+
var V85_OPTIONAL_OPENCODE2_RELABEL_TABLES = ["session_project_backfill_state"];
|
|
3857
|
+
function deleteLosingOpenCode2Twin(db, table, joinColumns, newerPredicate) {
|
|
3858
|
+
if (!tableHasHarnessColumn(db, table))
|
|
3859
|
+
return;
|
|
3860
|
+
const naturalJoin = joinColumns.map((column) => `oc.${column} = o2.${column}`).join(" AND ");
|
|
3861
|
+
const o2On = naturalJoin ? `${naturalJoin} AND oc.harness = 'opencode'` : `oc.harness = 'opencode'`;
|
|
3862
|
+
const ocOn = naturalJoin ? `${naturalJoin} AND o2.harness = 'opencode2'` : `o2.harness = 'opencode2'`;
|
|
3863
|
+
db.exec(`
|
|
3864
|
+
DELETE FROM ${table}
|
|
3865
|
+
WHERE rowid IN (
|
|
3866
|
+
SELECT o2.rowid
|
|
3867
|
+
FROM ${table} AS o2
|
|
3868
|
+
JOIN ${table} AS oc
|
|
3869
|
+
ON ${o2On}
|
|
3870
|
+
WHERE o2.harness = 'opencode2'
|
|
3871
|
+
AND NOT (${newerPredicate})
|
|
3872
|
+
);
|
|
3873
|
+
DELETE FROM ${table}
|
|
3874
|
+
WHERE rowid IN (
|
|
3875
|
+
SELECT oc.rowid
|
|
3876
|
+
FROM ${table} AS oc
|
|
3877
|
+
JOIN ${table} AS o2
|
|
3878
|
+
ON ${ocOn}
|
|
3879
|
+
WHERE oc.harness = 'opencode'
|
|
3880
|
+
AND (${newerPredicate})
|
|
3881
|
+
);
|
|
3882
|
+
`);
|
|
3883
|
+
}
|
|
3884
|
+
function relabelOpenCode2HarnessRows(db) {
|
|
3885
|
+
deleteLosingOpenCode2Twin(db, "session_projects", ["session_id"], "o2.updated_at > oc.updated_at");
|
|
3886
|
+
deleteLosingOpenCode2Twin(db, "primer_candidates", ["project_path", "session_id", "source_start_message_id", "source_end_message_id"], "o2.created_at > oc.created_at");
|
|
3887
|
+
deleteLosingOpenCode2Twin(db, "transform_decisions", ["session_id", "message_id"], "o2.ts_ms > oc.ts_ms");
|
|
3888
|
+
deleteLosingOpenCode2Twin(db, "message_history_orphan_sweep", [], "COALESCE(o2.last_swept_at, -1) > COALESCE(oc.last_swept_at, -1)");
|
|
3889
|
+
if (tableHasHarnessColumn(db, "session_project_backfill_state")) {
|
|
3890
|
+
db.exec(`
|
|
3891
|
+
DELETE FROM session_project_backfill_state
|
|
3892
|
+
WHERE harness = 'opencode2'
|
|
3893
|
+
AND EXISTS (
|
|
3894
|
+
SELECT 1 FROM session_project_backfill_state WHERE harness = 'opencode'
|
|
3895
|
+
)
|
|
3896
|
+
AND NOT (
|
|
3897
|
+
(status = 'completed'
|
|
3898
|
+
AND (SELECT status FROM session_project_backfill_state WHERE harness = 'opencode')
|
|
3899
|
+
!= 'completed')
|
|
3900
|
+
OR (
|
|
3901
|
+
status = (SELECT status FROM session_project_backfill_state WHERE harness = 'opencode')
|
|
3902
|
+
AND COALESCE(started_at, -1) > COALESCE(
|
|
3903
|
+
(SELECT started_at FROM session_project_backfill_state WHERE harness = 'opencode'),
|
|
3904
|
+
-1
|
|
3905
|
+
)
|
|
3906
|
+
)
|
|
3907
|
+
);
|
|
3908
|
+
DELETE FROM session_project_backfill_state
|
|
3909
|
+
WHERE harness = 'opencode'
|
|
3910
|
+
AND EXISTS (
|
|
3911
|
+
SELECT 1 FROM session_project_backfill_state WHERE harness = 'opencode2'
|
|
3912
|
+
)
|
|
3913
|
+
AND (
|
|
3914
|
+
((SELECT status FROM session_project_backfill_state WHERE harness = 'opencode2') = 'completed'
|
|
3915
|
+
AND status != 'completed')
|
|
3916
|
+
OR (
|
|
3917
|
+
status = (SELECT status FROM session_project_backfill_state WHERE harness = 'opencode2')
|
|
3918
|
+
AND COALESCE(
|
|
3919
|
+
(SELECT started_at FROM session_project_backfill_state WHERE harness = 'opencode2'),
|
|
3920
|
+
-1
|
|
3921
|
+
) > COALESCE(started_at, -1)
|
|
3922
|
+
)
|
|
3923
|
+
);
|
|
3924
|
+
`);
|
|
3925
|
+
}
|
|
3926
|
+
const tables = new Set([
|
|
3927
|
+
...V85_OPENCODE2_RELABEL_TABLES,
|
|
3928
|
+
...V85_OPTIONAL_OPENCODE2_RELABEL_TABLES
|
|
3929
|
+
]);
|
|
3930
|
+
for (const table of tables) {
|
|
3931
|
+
if (!tableHasHarnessColumn(db, table))
|
|
3932
|
+
continue;
|
|
3933
|
+
db.exec(`UPDATE ${table} SET harness = 'opencode' WHERE harness = 'opencode2'`);
|
|
3934
|
+
}
|
|
3935
|
+
}
|
|
3771
3936
|
function healMismatchedTierClose(db, table, hasLegacy) {
|
|
3772
3937
|
if (!tableExists2(db, table))
|
|
3773
3938
|
return;
|
|
@@ -5930,6 +6095,13 @@ var MIGRATIONS = [
|
|
|
5930
6095
|
ensureColumn(db, "session_meta", "protected_tokens_effective", "INTEGER");
|
|
5931
6096
|
ensureColumn(db, "session_meta", "protected_tokens_pre_snapshot", "TEXT");
|
|
5932
6097
|
}
|
|
6098
|
+
},
|
|
6099
|
+
{
|
|
6100
|
+
version: 85,
|
|
6101
|
+
description: "relabel OpenCode 1.x mis-tagged opencode2 session rows",
|
|
6102
|
+
up(db) {
|
|
6103
|
+
relabelOpenCode2HarnessRows(db);
|
|
6104
|
+
}
|
|
5933
6105
|
}
|
|
5934
6106
|
];
|
|
5935
6107
|
var LATEST_MIGRATION_VERSION = MIGRATIONS.reduce((max, m) => Math.max(max, m.version), 0);
|
|
@@ -6120,6 +6292,25 @@ function extractTexts(parts) {
|
|
|
6120
6292
|
}
|
|
6121
6293
|
return texts;
|
|
6122
6294
|
}
|
|
6295
|
+
function extractToolResultBodyTokens(parts) {
|
|
6296
|
+
let tokens = 0;
|
|
6297
|
+
for (const part of parts) {
|
|
6298
|
+
if (part === null || typeof part !== "object")
|
|
6299
|
+
continue;
|
|
6300
|
+
const p = part;
|
|
6301
|
+
if (p.type !== "tool")
|
|
6302
|
+
continue;
|
|
6303
|
+
const state = p.state;
|
|
6304
|
+
if (!state || typeof state !== "object")
|
|
6305
|
+
continue;
|
|
6306
|
+
const body = state.output ?? state.error;
|
|
6307
|
+
if (body === undefined)
|
|
6308
|
+
continue;
|
|
6309
|
+
const text = typeof body === "string" ? body : JSON.stringify(body);
|
|
6310
|
+
tokens += Math.ceil(text.length / 4);
|
|
6311
|
+
}
|
|
6312
|
+
return tokens;
|
|
6313
|
+
}
|
|
6123
6314
|
function extractToolCallSummaries(parts) {
|
|
6124
6315
|
const summaries = [];
|
|
6125
6316
|
for (const part of parts) {
|
|
@@ -6577,6 +6768,7 @@ function runToolOwnerBackfill(db) {
|
|
|
6577
6768
|
const escapedDbPath = opencodeDbPath.replaceAll("'", "''");
|
|
6578
6769
|
db.exec(`ATTACH '${escapedDbPath}' AS oc_backfill`);
|
|
6579
6770
|
try {
|
|
6771
|
+
assertOpenCodeStoreGeneration(db, "v1", opencodeDbPath, "oc_backfill");
|
|
6580
6772
|
backfillToolOwnersInChunks(db, result);
|
|
6581
6773
|
} finally {
|
|
6582
6774
|
try {
|
|
@@ -6795,7 +6987,7 @@ function getSchemaFenceRejection() {
|
|
|
6795
6987
|
function getMigrationOnOpenRefusal() {
|
|
6796
6988
|
return lastMigrationOnOpenRefusal;
|
|
6797
6989
|
}
|
|
6798
|
-
var LATEST_SUPPORTED_VERSION =
|
|
6990
|
+
var LATEST_SUPPORTED_VERSION = 85;
|
|
6799
6991
|
var BOOT_SQLITE_BUSY_TIMEOUT_MS = 5000;
|
|
6800
6992
|
var PERMISSIONS_ENFORCEABLE = process.platform !== "win32";
|
|
6801
6993
|
var defaultStoragePermissionFs = { chmodSync, mkdirSync };
|
|
@@ -7261,7 +7453,7 @@ function initializeDatabase(db, busyTimeoutMs = BOOT_SQLITE_BUSY_TIMEOUT_MS) {
|
|
|
7261
7453
|
tag_id INTEGER,
|
|
7262
7454
|
session_id TEXT,
|
|
7263
7455
|
content TEXT,
|
|
7264
|
-
created_at INTEGER,
|
|
7456
|
+
created_at INTEGER, -- epoch ms; Date.now() on source writes, preserved on session clones
|
|
7265
7457
|
harness TEXT NOT NULL DEFAULT 'opencode',
|
|
7266
7458
|
PRIMARY KEY(session_id, tag_id)
|
|
7267
7459
|
);
|
|
@@ -7285,7 +7477,7 @@ function initializeDatabase(db, busyTimeoutMs = BOOT_SQLITE_BUSY_TIMEOUT_MS) {
|
|
|
7285
7477
|
p1_embedding BLOB,
|
|
7286
7478
|
p1_embedding_model_id TEXT,
|
|
7287
7479
|
legacy INTEGER NOT NULL DEFAULT 0,
|
|
7288
|
-
created_at INTEGER NOT NULL,
|
|
7480
|
+
created_at INTEGER NOT NULL, -- epoch ms (Date.now())
|
|
7289
7481
|
harness TEXT NOT NULL DEFAULT 'opencode',
|
|
7290
7482
|
UNIQUE(session_id, sequence)
|
|
7291
7483
|
);
|
|
@@ -7304,7 +7496,7 @@ function initializeDatabase(db, busyTimeoutMs = BOOT_SQLITE_BUSY_TIMEOUT_MS) {
|
|
|
7304
7496
|
model_id TEXT NOT NULL,
|
|
7305
7497
|
dims INTEGER NOT NULL,
|
|
7306
7498
|
vector BLOB NOT NULL,
|
|
7307
|
-
created_at INTEGER NOT NULL,
|
|
7499
|
+
created_at INTEGER NOT NULL, -- epoch ms (Date.now())
|
|
7308
7500
|
UNIQUE(compartment_id, model_id, window_index)
|
|
7309
7501
|
);
|
|
7310
7502
|
CREATE INDEX IF NOT EXISTS idx_cce_session ON compartment_chunk_embeddings(session_id);
|
|
@@ -7327,7 +7519,7 @@ function initializeDatabase(db, busyTimeoutMs = BOOT_SQLITE_BUSY_TIMEOUT_MS) {
|
|
|
7327
7519
|
kind TEXT NOT NULL,
|
|
7328
7520
|
at_compartment INTEGER,
|
|
7329
7521
|
fields_json TEXT NOT NULL DEFAULT '{}',
|
|
7330
|
-
created_at INTEGER NOT NULL,
|
|
7522
|
+
created_at INTEGER NOT NULL, -- epoch ms (Date.now())
|
|
7331
7523
|
harness TEXT NOT NULL DEFAULT 'opencode'
|
|
7332
7524
|
);
|
|
7333
7525
|
CREATE INDEX IF NOT EXISTS idx_compartment_events_session
|
|
@@ -7356,7 +7548,7 @@ function initializeDatabase(db, busyTimeoutMs = BOOT_SQLITE_BUSY_TIMEOUT_MS) {
|
|
|
7356
7548
|
session_id TEXT NOT NULL,
|
|
7357
7549
|
category TEXT NOT NULL,
|
|
7358
7550
|
content TEXT NOT NULL,
|
|
7359
|
-
created_at INTEGER NOT NULL,
|
|
7551
|
+
created_at INTEGER NOT NULL, -- epoch ms (Date.now())
|
|
7360
7552
|
updated_at INTEGER NOT NULL,
|
|
7361
7553
|
harness TEXT NOT NULL DEFAULT 'opencode'
|
|
7362
7554
|
);
|
|
@@ -7375,7 +7567,7 @@ function initializeDatabase(db, busyTimeoutMs = BOOT_SQLITE_BUSY_TIMEOUT_MS) {
|
|
|
7375
7567
|
source_message_time INTEGER NOT NULL,
|
|
7376
7568
|
question_embedding BLOB,
|
|
7377
7569
|
question_embedding_model_id TEXT,
|
|
7378
|
-
created_at INTEGER NOT NULL,
|
|
7570
|
+
created_at INTEGER NOT NULL, -- epoch ms (Date.now())
|
|
7379
7571
|
UNIQUE(project_path, harness, session_id, source_start_message_id, source_end_message_id)
|
|
7380
7572
|
);
|
|
7381
7573
|
CREATE INDEX IF NOT EXISTS idx_primer_candidates_project_time
|
|
@@ -7398,7 +7590,7 @@ function initializeDatabase(db, busyTimeoutMs = BOOT_SQLITE_BUSY_TIMEOUT_MS) {
|
|
|
7398
7590
|
answer_refreshed_at INTEGER,
|
|
7399
7591
|
source_candidate_ids TEXT NOT NULL DEFAULT '[]',
|
|
7400
7592
|
source_candidate_provenance TEXT,
|
|
7401
|
-
created_at INTEGER NOT NULL,
|
|
7593
|
+
created_at INTEGER NOT NULL, -- epoch ms (Date.now())
|
|
7402
7594
|
updated_at INTEGER NOT NULL
|
|
7403
7595
|
);
|
|
7404
7596
|
CREATE INDEX IF NOT EXISTS idx_primers_project_status_observed
|
|
@@ -7511,7 +7703,7 @@ function initializeDatabase(db, busyTimeoutMs = BOOT_SQLITE_BUSY_TIMEOUT_MS) {
|
|
|
7511
7703
|
job_id TEXT,
|
|
7512
7704
|
cursor TEXT,
|
|
7513
7705
|
status TEXT NOT NULL DEFAULT 'pending',
|
|
7514
|
-
created_at INTEGER NOT NULL DEFAULT 0,
|
|
7706
|
+
created_at INTEGER NOT NULL DEFAULT 0, -- epoch ms (Date.now())
|
|
7515
7707
|
updated_at INTEGER NOT NULL DEFAULT 0,
|
|
7516
7708
|
UNIQUE(session_id, request_key)
|
|
7517
7709
|
);
|
|
@@ -7552,7 +7744,7 @@ function initializeDatabase(db, busyTimeoutMs = BOOT_SQLITE_BUSY_TIMEOUT_MS) {
|
|
|
7552
7744
|
shadow_epoch INTEGER NOT NULL DEFAULT 0,
|
|
7553
7745
|
corpus_hash TEXT NOT NULL DEFAULT '',
|
|
7554
7746
|
coverage_json TEXT NOT NULL DEFAULT '{}',
|
|
7555
|
-
created_at INTEGER NOT NULL DEFAULT 0,
|
|
7747
|
+
created_at INTEGER NOT NULL DEFAULT 0, -- epoch ms (Date.now())
|
|
7556
7748
|
UNIQUE(dedup_key, cohort_key)
|
|
7557
7749
|
);
|
|
7558
7750
|
CREATE INDEX IF NOT EXISTS idx_embedding_measurement_session
|
|
@@ -7975,7 +8167,7 @@ CREATE INDEX IF NOT EXISTS idx_dream_queue_pending ON dream_queue(started_at, en
|
|
|
7975
8167
|
importance_avg REAL,
|
|
7976
8168
|
discarded_last INTEGER NOT NULL DEFAULT 0,
|
|
7977
8169
|
legacy INTEGER NOT NULL DEFAULT 0,
|
|
7978
|
-
created_at INTEGER NOT NULL
|
|
8170
|
+
created_at INTEGER NOT NULL -- epoch ms (Date.now())
|
|
7979
8171
|
);
|
|
7980
8172
|
CREATE INDEX IF NOT EXISTS idx_historian_runs_session
|
|
7981
8173
|
ON historian_runs(session_id, created_at DESC);
|
|
@@ -8028,7 +8220,7 @@ CREATE INDEX IF NOT EXISTS idx_dream_queue_pending ON dream_queue(started_at, en
|
|
|
8028
8220
|
importance INTEGER NOT NULL DEFAULT 50,
|
|
8029
8221
|
episode_type TEXT,
|
|
8030
8222
|
pass_number INTEGER NOT NULL,
|
|
8031
|
-
created_at INTEGER NOT NULL,
|
|
8223
|
+
created_at INTEGER NOT NULL, -- epoch ms (Date.now())
|
|
8032
8224
|
harness TEXT NOT NULL DEFAULT 'opencode',
|
|
8033
8225
|
UNIQUE(session_id, sequence)
|
|
8034
8226
|
);
|
|
@@ -8039,7 +8231,7 @@ CREATE INDEX IF NOT EXISTS idx_dream_queue_pending ON dream_queue(started_at, en
|
|
|
8039
8231
|
category TEXT NOT NULL,
|
|
8040
8232
|
content TEXT NOT NULL,
|
|
8041
8233
|
pass_number INTEGER NOT NULL,
|
|
8042
|
-
created_at INTEGER NOT NULL,
|
|
8234
|
+
created_at INTEGER NOT NULL, -- epoch ms (Date.now())
|
|
8043
8235
|
harness TEXT NOT NULL DEFAULT 'opencode'
|
|
8044
8236
|
);
|
|
8045
8237
|
|
|
@@ -8946,7 +9138,7 @@ function memoizedContent(kind, content) {
|
|
|
8946
9138
|
return cached;
|
|
8947
9139
|
const measured = {
|
|
8948
9140
|
hash: fnv1a32(key),
|
|
8949
|
-
tokens: kind === "excluded" ? 0 :
|
|
9141
|
+
tokens: kind === "excluded" ? 0 : undefined,
|
|
8950
9142
|
keyBytes: key.length * 2 + 32
|
|
8951
9143
|
};
|
|
8952
9144
|
contentMemo.set(key, measured);
|
|
@@ -8962,6 +9154,13 @@ function memoizedContent(kind, content) {
|
|
|
8962
9154
|
}
|
|
8963
9155
|
return measured;
|
|
8964
9156
|
}
|
|
9157
|
+
function memoizedTokens(kind, content) {
|
|
9158
|
+
const measured = memoizedContent(kind, content);
|
|
9159
|
+
if (measured.tokens === undefined) {
|
|
9160
|
+
measured.tokens = estimateTokens(content);
|
|
9161
|
+
}
|
|
9162
|
+
return measured.tokens;
|
|
9163
|
+
}
|
|
8965
9164
|
function safeStableStringify(value) {
|
|
8966
9165
|
if (value === undefined || value === null)
|
|
8967
9166
|
return "";
|
|
@@ -9264,8 +9463,8 @@ function fileContentAndTokens(part) {
|
|
|
9264
9463
|
};
|
|
9265
9464
|
}
|
|
9266
9465
|
const content = firstString(part, ["content", "text", "source", "url"]);
|
|
9267
|
-
const
|
|
9268
|
-
return { content, tokens
|
|
9466
|
+
const tokens = memoizedTokens("file", content);
|
|
9467
|
+
return { content, tokens };
|
|
9269
9468
|
}
|
|
9270
9469
|
function contentSignature(parts) {
|
|
9271
9470
|
return fnv1a32(parts.map((part) => `${part.key}:${part.contentHash}`).join("\x00"));
|
|
@@ -9350,13 +9549,13 @@ function measureTailHygiene(input) {
|
|
|
9350
9549
|
parts.push(excludedSnapshot(`${key}\x00excluded`, part));
|
|
9351
9550
|
continue;
|
|
9352
9551
|
}
|
|
9353
|
-
const
|
|
9552
|
+
const tokens = memoizedTokens("text", content);
|
|
9354
9553
|
const tag = attribution.messageTags.get(`${message.info.id}:p${partIndex}`);
|
|
9355
9554
|
const measured = snapshot({
|
|
9356
9555
|
key: `${key}\x00text`,
|
|
9357
9556
|
kind: "text",
|
|
9358
9557
|
content,
|
|
9359
|
-
tokens
|
|
9558
|
+
tokens,
|
|
9360
9559
|
tag,
|
|
9361
9560
|
protectedNumbers: attribution.protectedNumbers,
|
|
9362
9561
|
pendingDropTagNumbers
|
|
@@ -9397,12 +9596,12 @@ function measureTailHygiene(input) {
|
|
|
9397
9596
|
const tag = attribution.toolTagsByPart.get(part);
|
|
9398
9597
|
const inputText = toolInputText(part);
|
|
9399
9598
|
if (inputText !== null) {
|
|
9400
|
-
const
|
|
9599
|
+
const tokens = memoizedTokens("toolInput", inputText);
|
|
9401
9600
|
const measured = snapshot({
|
|
9402
9601
|
key: `${key}\x00toolInput`,
|
|
9403
9602
|
kind: "toolInput",
|
|
9404
9603
|
content: inputText,
|
|
9405
|
-
tokens
|
|
9604
|
+
tokens,
|
|
9406
9605
|
tag,
|
|
9407
9606
|
protectedNumbers: attribution.protectedNumbers,
|
|
9408
9607
|
pendingDropTagNumbers
|
|
@@ -9417,12 +9616,12 @@ function measureTailHygiene(input) {
|
|
|
9417
9616
|
if (isDropSentinel(output)) {
|
|
9418
9617
|
parts.push(excludedSnapshot(`${key}\x00excludedOutput`, output));
|
|
9419
9618
|
} else {
|
|
9420
|
-
const
|
|
9619
|
+
const tokens = memoizedTokens("toolOutput", output);
|
|
9421
9620
|
const measured = snapshot({
|
|
9422
9621
|
key: `${key}\x00toolOutput`,
|
|
9423
9622
|
kind: "toolOutput",
|
|
9424
9623
|
content: output,
|
|
9425
|
-
tokens
|
|
9624
|
+
tokens,
|
|
9426
9625
|
tag,
|
|
9427
9626
|
protectedNumbers: attribution.protectedNumbers,
|
|
9428
9627
|
pendingDropTagNumbers
|
|
@@ -9513,7 +9712,7 @@ function refreshTailHygieneBaseline(input) {
|
|
|
9513
9712
|
for (let index = input.previous.baselineParts.length;index < measured.parts.length; index += 1) {
|
|
9514
9713
|
const part = measured.parts[index];
|
|
9515
9714
|
turnDeltaT += part.tokens;
|
|
9516
|
-
if (part.kind !== "toolOutput")
|
|
9715
|
+
if (part.kind !== "toolOutput" || !part.protected)
|
|
9517
9716
|
turnDeltaU += part.uTokens;
|
|
9518
9717
|
}
|
|
9519
9718
|
return {
|
|
@@ -10781,6 +10980,20 @@ function countRawSessionMessageOrdinalsFromDb(db, sessionId) {
|
|
|
10781
10980
|
)`).get(sessionId);
|
|
10782
10981
|
return typeof row?.count === "number" ? row.count : 0;
|
|
10783
10982
|
}
|
|
10983
|
+
function readRawSessionMessageIdOrdinalsFromDb(db, sessionId) {
|
|
10984
|
+
const messageRows = db.prepare("SELECT id, data FROM message WHERE session_id = ? ORDER BY time_created ASC, id ASC").all(sessionId).filter(isRawMessageRow);
|
|
10985
|
+
const ordinalById = new Map;
|
|
10986
|
+
let ordinal = 0;
|
|
10987
|
+
for (const row of messageRows) {
|
|
10988
|
+
const info = parseJsonRecord(row.data);
|
|
10989
|
+
if (isRawCompactionSummaryInfo(info))
|
|
10990
|
+
continue;
|
|
10991
|
+
ordinal += 1;
|
|
10992
|
+
if (info)
|
|
10993
|
+
ordinalById.set(row.id, ordinal);
|
|
10994
|
+
}
|
|
10995
|
+
return ordinalById;
|
|
10996
|
+
}
|
|
10784
10997
|
function readRawSessionMessageOrdinalPageFromDb(db, sessionId, after, limit) {
|
|
10785
10998
|
const pageSize = Math.max(1, Math.floor(limit));
|
|
10786
10999
|
const rows = (after ? db.prepare(`SELECT id, data, time_created
|
|
@@ -12087,6 +12300,17 @@ function getRawSessionStoredMessageCount(sessionId) {
|
|
|
12087
12300
|
return 0;
|
|
12088
12301
|
return withReadOnlySessionDb((db) => countStoredRawSessionMessagesFromDb(db, sessionId));
|
|
12089
12302
|
}
|
|
12303
|
+
function readRawSessionMessageIdOrdinals(sessionId) {
|
|
12304
|
+
const provider = sessionProviders.get(sessionId);
|
|
12305
|
+
if (provider?.readMessageIdOrdinals)
|
|
12306
|
+
return provider.readMessageIdOrdinals();
|
|
12307
|
+
if (provider) {
|
|
12308
|
+
return new Map(provider.readMessages().map((message) => [message.id, message.ordinal]));
|
|
12309
|
+
}
|
|
12310
|
+
if (!openCodeDbExists())
|
|
12311
|
+
return new Map;
|
|
12312
|
+
return withReadOnlySessionDb((db) => readRawSessionMessageIdOrdinalsFromDb(db, sessionId));
|
|
12313
|
+
}
|
|
12090
12314
|
function readRawSessionMessagePartsById(sessionId, messageId, onQuery) {
|
|
12091
12315
|
const provider = sessionProviders.get(sessionId);
|
|
12092
12316
|
if (provider?.readMessagePartsById)
|
|
@@ -12277,6 +12501,14 @@ function readSessionChunk(sessionId, tokenBudget, offset = 1, eligibleEndOrdinal
|
|
|
12277
12501
|
const totalMessageCount = getCachedAbsoluteMessageCount(sessionId) ?? messages.length;
|
|
12278
12502
|
const startOrdinal = Math.max(1, offset);
|
|
12279
12503
|
const completedToolArcs = buildToolArcs(messages).flatMap((arc) => arc.resOrdinal === null ? [] : [{ start: arc.invOrdinal, end: arc.resOrdinal }]);
|
|
12504
|
+
const completedToolComponents = [];
|
|
12505
|
+
for (const arc of completedToolArcs) {
|
|
12506
|
+
const component = completedToolComponents[completedToolComponents.length - 1];
|
|
12507
|
+
if (component && arc.start <= component.end)
|
|
12508
|
+
component.end = Math.max(component.end, arc.end);
|
|
12509
|
+
else
|
|
12510
|
+
completedToolComponents.push({ ...arc });
|
|
12511
|
+
}
|
|
12280
12512
|
const lines = [];
|
|
12281
12513
|
const lineMeta = [];
|
|
12282
12514
|
const flushedToolOnlyBlocks = [];
|
|
@@ -12290,6 +12522,25 @@ function readSessionChunk(sessionId, tokenBudget, offset = 1, eligibleEndOrdinal
|
|
|
12290
12522
|
let pendingNoiseMeta = [];
|
|
12291
12523
|
let commitClusters = 0;
|
|
12292
12524
|
let lastFlushedRole = "";
|
|
12525
|
+
let admittedOversizeComponentEnd = null;
|
|
12526
|
+
let currentBlockApproxTokens = 0;
|
|
12527
|
+
let formattedBudgetCrossed = false;
|
|
12528
|
+
let sourceCharacters = 0;
|
|
12529
|
+
const toolResultBoundaries = [];
|
|
12530
|
+
function pinComponentWhenFormattedBudgetCrosses(ordinal, appendedText) {
|
|
12531
|
+
if (admittedOversizeComponentEnd !== null || formattedBudgetCrossed || !currentBlock)
|
|
12532
|
+
return;
|
|
12533
|
+
currentBlockApproxTokens += estimateTokens(appendedText) + (currentBlock.parts.length > 1 ? 1 : 0);
|
|
12534
|
+
if (totalTokens + currentBlockApproxTokens + 64 <= tokenBudget)
|
|
12535
|
+
return;
|
|
12536
|
+
const previewTokens = totalTokens + estimateTokens(formatBlock(currentBlock));
|
|
12537
|
+
if (previewTokens <= tokenBudget)
|
|
12538
|
+
return;
|
|
12539
|
+
formattedBudgetCrossed = true;
|
|
12540
|
+
const component = completedToolComponents.find((candidate) => candidate.start <= ordinal && candidate.end >= ordinal);
|
|
12541
|
+
if (component)
|
|
12542
|
+
admittedOversizeComponentEnd = component.end;
|
|
12543
|
+
}
|
|
12293
12544
|
function recordFilteredNoise(meta) {
|
|
12294
12545
|
pendingNoiseMeta.push(meta);
|
|
12295
12546
|
if (!currentBlock) {
|
|
@@ -12316,7 +12567,23 @@ function readSessionChunk(sessionId, tokenBudget, offset = 1, eligibleEndOrdinal
|
|
|
12316
12567
|
highestScannedOrdinal = Math.max(highestScannedOrdinal, lastOrdinal);
|
|
12317
12568
|
lastMessageId = currentBlock.meta[currentBlock.meta.length - 1]?.messageId ?? "";
|
|
12318
12569
|
messagesProcessed += currentBlock.meta.length;
|
|
12570
|
+
const lineStart = sourceCharacters + (lines.length > 0 ? 1 : 0);
|
|
12571
|
+
const renderedParts = currentBlock.parts.join(" / ");
|
|
12572
|
+
let partOffset = lineStart + (blockText.length - renderedParts.length);
|
|
12573
|
+
for (let index = 0;index < currentBlock.parts.length; index++) {
|
|
12574
|
+
const part = currentBlock.parts[index] ?? "";
|
|
12575
|
+
const partMeta = currentBlock.partMeta[index];
|
|
12576
|
+
if (partMeta && partMeta.toolResultBodyTokens > 0) {
|
|
12577
|
+
toolResultBoundaries.push({
|
|
12578
|
+
ordinal: partMeta.ordinal,
|
|
12579
|
+
sourceOffset: partOffset,
|
|
12580
|
+
bodyTokens: partMeta.toolResultBodyTokens
|
|
12581
|
+
});
|
|
12582
|
+
}
|
|
12583
|
+
partOffset += part.length + (index + 1 < currentBlock.parts.length ? 3 : 0);
|
|
12584
|
+
}
|
|
12319
12585
|
lines.push(blockText);
|
|
12586
|
+
sourceCharacters = lineStart + blockText.length;
|
|
12320
12587
|
lineMeta.push(...currentBlock.meta);
|
|
12321
12588
|
totalTokens += blockTokens;
|
|
12322
12589
|
if (currentBlock.isToolOnly) {
|
|
@@ -12326,11 +12593,15 @@ function readSessionChunk(sessionId, tokenBudget, offset = 1, eligibleEndOrdinal
|
|
|
12326
12593
|
});
|
|
12327
12594
|
}
|
|
12328
12595
|
currentBlock = null;
|
|
12596
|
+
currentBlockApproxTokens = 0;
|
|
12329
12597
|
return true;
|
|
12330
12598
|
}
|
|
12331
12599
|
for (const msg of messages) {
|
|
12332
12600
|
if (eligibleEndOrdinal !== undefined && msg.ordinal >= eligibleEndOrdinal)
|
|
12333
12601
|
break;
|
|
12602
|
+
if (admittedOversizeComponentEnd !== null && msg.ordinal > admittedOversizeComponentEnd) {
|
|
12603
|
+
break;
|
|
12604
|
+
}
|
|
12334
12605
|
if (msg.ordinal < startOrdinal)
|
|
12335
12606
|
continue;
|
|
12336
12607
|
const meta = { ordinal: msg.ordinal, messageId: msg.id };
|
|
@@ -12344,6 +12615,10 @@ function readSessionChunk(sessionId, tokenBudget, offset = 1, eligibleEndOrdinal
|
|
|
12344
12615
|
if (currentBlock && currentBlock.role === "A") {
|
|
12345
12616
|
currentBlock.endOrdinal = msg.ordinal;
|
|
12346
12617
|
currentBlock.parts.push(tcText);
|
|
12618
|
+
currentBlock.partMeta.push({
|
|
12619
|
+
ordinal: msg.ordinal,
|
|
12620
|
+
toolResultBodyTokens: extractToolResultBodyTokens(msg.parts)
|
|
12621
|
+
});
|
|
12347
12622
|
currentBlock.meta.push(...pendingNoiseMeta, meta);
|
|
12348
12623
|
pendingNoiseMeta = [];
|
|
12349
12624
|
} else {
|
|
@@ -12354,12 +12629,19 @@ function readSessionChunk(sessionId, tokenBudget, offset = 1, eligibleEndOrdinal
|
|
|
12354
12629
|
startOrdinal: pendingNoiseMeta[0]?.ordinal ?? msg.ordinal,
|
|
12355
12630
|
endOrdinal: msg.ordinal,
|
|
12356
12631
|
parts: [tcText],
|
|
12632
|
+
partMeta: [
|
|
12633
|
+
{
|
|
12634
|
+
ordinal: msg.ordinal,
|
|
12635
|
+
toolResultBodyTokens: extractToolResultBodyTokens(msg.parts)
|
|
12636
|
+
}
|
|
12637
|
+
],
|
|
12357
12638
|
meta: [...pendingNoiseMeta, meta],
|
|
12358
12639
|
commitHashes: [],
|
|
12359
12640
|
isToolOnly: true
|
|
12360
12641
|
};
|
|
12361
12642
|
pendingNoiseMeta = [];
|
|
12362
12643
|
}
|
|
12644
|
+
pinComponentWhenFormattedBudgetCrosses(msg.ordinal, tcText);
|
|
12363
12645
|
continue;
|
|
12364
12646
|
}
|
|
12365
12647
|
const role = compactRole(msg.role);
|
|
@@ -12376,11 +12658,16 @@ function readSessionChunk(sessionId, tokenBudget, offset = 1, eligibleEndOrdinal
|
|
|
12376
12658
|
if (currentBlock && currentBlock.role === role) {
|
|
12377
12659
|
currentBlock.endOrdinal = msg.ordinal;
|
|
12378
12660
|
currentBlock.parts.push(text);
|
|
12661
|
+
currentBlock.partMeta.push({
|
|
12662
|
+
ordinal: msg.ordinal,
|
|
12663
|
+
toolResultBodyTokens: extractToolResultBodyTokens(msg.parts)
|
|
12664
|
+
});
|
|
12379
12665
|
currentBlock.meta.push(...pendingNoiseMeta, meta);
|
|
12380
12666
|
currentBlock.commitHashes = mergeCommitHashes(currentBlock.commitHashes, compacted.commitHashes);
|
|
12381
12667
|
if (msgHasNarrative)
|
|
12382
12668
|
currentBlock.isToolOnly = false;
|
|
12383
12669
|
pendingNoiseMeta = [];
|
|
12670
|
+
pinComponentWhenFormattedBudgetCrosses(msg.ordinal, text);
|
|
12384
12671
|
continue;
|
|
12385
12672
|
}
|
|
12386
12673
|
if (!flushCurrentBlock())
|
|
@@ -12390,11 +12677,18 @@ function readSessionChunk(sessionId, tokenBudget, offset = 1, eligibleEndOrdinal
|
|
|
12390
12677
|
startOrdinal: pendingNoiseMeta[0]?.ordinal ?? msg.ordinal,
|
|
12391
12678
|
endOrdinal: msg.ordinal,
|
|
12392
12679
|
parts: [text],
|
|
12680
|
+
partMeta: [
|
|
12681
|
+
{
|
|
12682
|
+
ordinal: msg.ordinal,
|
|
12683
|
+
toolResultBodyTokens: extractToolResultBodyTokens(msg.parts)
|
|
12684
|
+
}
|
|
12685
|
+
],
|
|
12393
12686
|
meta: [...pendingNoiseMeta, meta],
|
|
12394
12687
|
commitHashes: [...compacted.commitHashes],
|
|
12395
12688
|
isToolOnly: !msgHasNarrative
|
|
12396
12689
|
};
|
|
12397
12690
|
pendingNoiseMeta = [];
|
|
12691
|
+
pinComponentWhenFormattedBudgetCrosses(msg.ordinal, text);
|
|
12398
12692
|
}
|
|
12399
12693
|
if (flushCurrentBlock() && pendingNoiseMeta.length > 0) {
|
|
12400
12694
|
highestScannedOrdinal = Math.max(highestScannedOrdinal, pendingNoiseMeta[pendingNoiseMeta.length - 1]?.ordinal ?? highestScannedOrdinal);
|
|
@@ -12425,7 +12719,8 @@ function readSessionChunk(sessionId, tokenBudget, offset = 1, eligibleEndOrdinal
|
|
|
12425
12719
|
...messagesProcessed === 0 && text.length === 0 ? { filteredNoiseLines: pendingNoiseMeta } : {},
|
|
12426
12720
|
commitClusterCount: commitClusters,
|
|
12427
12721
|
toolOnlyRanges,
|
|
12428
|
-
completedToolArcs
|
|
12722
|
+
completedToolArcs,
|
|
12723
|
+
toolResultBoundaries
|
|
12429
12724
|
};
|
|
12430
12725
|
}
|
|
12431
12726
|
function readRawSessionSeedTail(sessionId, boundaryId, onQuery) {
|
|
@@ -12846,19 +13141,25 @@ function indexMessagesAfterOrdinal(db, sessionId, messages, _lastIndexedOrdinal,
|
|
|
12846
13141
|
}
|
|
12847
13142
|
return inserted;
|
|
12848
13143
|
}
|
|
12849
|
-
function
|
|
12850
|
-
|
|
13144
|
+
function openCodeSweepHarness() {
|
|
13145
|
+
const harness = getHarness();
|
|
13146
|
+
if (harness === "opencode" || harness === "opencode2")
|
|
13147
|
+
return harness;
|
|
13148
|
+
throw new Error(`OpenCode orphan sweep cannot read a ${harness} host store`);
|
|
13149
|
+
}
|
|
13150
|
+
function getMessageHistoryOrphanSweepState(db, harness) {
|
|
13151
|
+
return db.prepare("SELECT cursor_session_id, last_swept_at FROM message_history_orphan_sweep WHERE harness = ?").get(harness) ?? {};
|
|
12851
13152
|
}
|
|
12852
|
-
function persistMessageHistoryOrphanSweepState(db, cursor, lastSweptAt) {
|
|
13153
|
+
function persistMessageHistoryOrphanSweepState(db, cursor, lastSweptAt, harness) {
|
|
12853
13154
|
db.prepare(`INSERT INTO message_history_orphan_sweep (harness, cursor_session_id, last_swept_at)
|
|
12854
|
-
|
|
13155
|
+
VALUES (?, ?, ?)
|
|
12855
13156
|
ON CONFLICT(harness) DO UPDATE SET
|
|
12856
13157
|
cursor_session_id = excluded.cursor_session_id,
|
|
12857
|
-
last_swept_at = excluded.last_swept_at`).run(cursor, lastSweptAt);
|
|
13158
|
+
last_swept_at = excluded.last_swept_at`).run(harness, cursor, lastSweptAt);
|
|
12858
13159
|
}
|
|
12859
|
-
function getOpenCodeSessionScopedCandidateSourceSql() {
|
|
13160
|
+
function getOpenCodeSessionScopedCandidateSourceSql(harness) {
|
|
12860
13161
|
return SESSION_SCOPED_TABLES.filter((definition) => definition.harnessScoped === true).map((definition) => {
|
|
12861
|
-
const predicates = ["session_id IS NOT NULL",
|
|
13162
|
+
const predicates = ["session_id IS NOT NULL", `harness = '${harness}'`];
|
|
12862
13163
|
if (definition.extraPredicate)
|
|
12863
13164
|
predicates.push(definition.extraPredicate);
|
|
12864
13165
|
return `SELECT session_id FROM ${definition.table} WHERE ${predicates.join(" AND ")}`;
|
|
@@ -12872,7 +13173,8 @@ function sweepOrphanedOpenCodeMessageIndexes(db, openReadableOpenCodeDb, options
|
|
|
12872
13173
|
const safetyAgeMs = Math.max(0, options.safetyAgeMs ?? MESSAGE_HISTORY_ORPHAN_SAFETY_AGE_MS);
|
|
12873
13174
|
const cooldownMs = Math.max(0, options.cooldownMs ?? MESSAGE_HISTORY_ORPHAN_SWEEP_COOLDOWN_MS);
|
|
12874
13175
|
const unavailableReprobeMs = Math.max(cooldownMs, options.unavailableReprobeMs ?? MESSAGE_HISTORY_ORPHAN_UNAVAILABLE_REPROBE_MS);
|
|
12875
|
-
const
|
|
13176
|
+
const harness = openCodeSweepHarness();
|
|
13177
|
+
const state = getMessageHistoryOrphanSweepState(db, harness);
|
|
12876
13178
|
const cursor = typeof state.cursor_session_id === "string" ? state.cursor_session_id : "";
|
|
12877
13179
|
if (typeof state.last_swept_at === "number" && state.last_swept_at + cooldownMs > now) {
|
|
12878
13180
|
return { status: "cooldown", scanned: 0, deleted: 0, cursor };
|
|
@@ -12884,12 +13186,12 @@ function sweepOrphanedOpenCodeMessageIndexes(db, openReadableOpenCodeDb, options
|
|
|
12884
13186
|
openCodeDb = null;
|
|
12885
13187
|
}
|
|
12886
13188
|
if (!openCodeDb) {
|
|
12887
|
-
persistMessageHistoryOrphanSweepState(db, cursor, now + unavailableReprobeMs - cooldownMs);
|
|
13189
|
+
persistMessageHistoryOrphanSweepState(db, cursor, now + unavailableReprobeMs - cooldownMs, harness);
|
|
12888
13190
|
return { status: "source_unavailable", scanned: 0, deleted: 0, cursor };
|
|
12889
13191
|
}
|
|
12890
13192
|
try {
|
|
12891
13193
|
const cutoff = now - safetyAgeMs;
|
|
12892
|
-
const candidateSourceSql = getOpenCodeSessionScopedCandidateSourceSql();
|
|
13194
|
+
const candidateSourceSql = getOpenCodeSessionScopedCandidateSourceSql(harness);
|
|
12893
13195
|
const candidates = db.prepare(`SELECT session_id
|
|
12894
13196
|
FROM (${candidateSourceSql}) AS session_candidates
|
|
12895
13197
|
WHERE session_id > ?
|
|
@@ -12897,7 +13199,7 @@ function sweepOrphanedOpenCodeMessageIndexes(db, openReadableOpenCodeDb, options
|
|
|
12897
13199
|
SELECT 1
|
|
12898
13200
|
FROM message_history_index
|
|
12899
13201
|
WHERE message_history_index.session_id = session_candidates.session_id
|
|
12900
|
-
|
|
13202
|
+
AND message_history_index.harness = '${harness}'
|
|
12901
13203
|
AND message_history_index.updated_at > ?
|
|
12902
13204
|
)
|
|
12903
13205
|
ORDER BY session_id ASC
|
|
@@ -12918,13 +13220,13 @@ function sweepOrphanedOpenCodeMessageIndexes(db, openReadableOpenCodeDb, options
|
|
|
12918
13220
|
SELECT 1
|
|
12919
13221
|
FROM message_history_index
|
|
12920
13222
|
WHERE message_history_index.session_id = session_candidates.session_id
|
|
12921
|
-
|
|
13223
|
+
AND message_history_index.harness = '${harness}'
|
|
12922
13224
|
AND message_history_index.updated_at > ?
|
|
12923
13225
|
)
|
|
12924
13226
|
LIMIT 1`);
|
|
12925
13227
|
const eligibleSessionIds = missingSessionIds.filter((sessionId) => stillEligible.get(sessionId, cutoff));
|
|
12926
|
-
deleted = deleteSessionScopedRows(db, eligibleSessionIds,
|
|
12927
|
-
persistMessageHistoryOrphanSweepState(db, nextCursor, completedAt);
|
|
13228
|
+
deleted = deleteSessionScopedRows(db, eligibleSessionIds, harness);
|
|
13229
|
+
persistMessageHistoryOrphanSweepState(db, nextCursor, completedAt, harness);
|
|
12928
13230
|
db.exec("COMMIT");
|
|
12929
13231
|
committed = true;
|
|
12930
13232
|
logSlowWriteTransaction("message_index_orphan_sweep", transactionStartedAt);
|
|
@@ -18448,6 +18750,7 @@ var DEFAULT_EXECUTE_THRESHOLD_PERCENTAGE = 65;
|
|
|
18448
18750
|
var EXECUTE_THRESHOLD_CAP_MESSAGE = "execute_threshold is capped at 90% for cache safety: output capacity is reserved from the usable context window, and the remaining 10% absorbs mid-turn growth before the absolute 95% emergency wall. Use a value between 20 and 90.";
|
|
18449
18751
|
var DEFAULT_HISTORIAN_TIMEOUT_MS = 600000;
|
|
18450
18752
|
var DEFAULT_HISTORY_BUDGET_PERCENTAGE = 0.15;
|
|
18753
|
+
var PROTECTED_TOKENS_MIN = 4000;
|
|
18451
18754
|
var DEFAULT_LOCAL_EMBEDDING_MODEL = "Xenova/all-MiniLM-L6-v2";
|
|
18452
18755
|
var PiThinkingLevelSchema = _enum(["off", "minimal", "low", "medium", "high", "xhigh", "max"]).optional();
|
|
18453
18756
|
var OmpThinkingLevelSchema = _enum(["off", "minimal", "low", "medium", "high", "xhigh", "max", "inherit", "auto"]).optional();
|
|
@@ -18817,8 +19120,8 @@ var MagicContextConfigSchema = object({
|
|
|
18817
19120
|
smart_notes: object({
|
|
18818
19121
|
retina_handoff: boolean2().default(false).describe("When true, dreamer skips smart notes whose surface conditions compiled to retina provider configs at authoring time. Default false keeps both paths active until the retina consumer is deployed.")
|
|
18819
19122
|
}).default({ retina_handoff: false }).describe("Smart-note ownership transition controls."),
|
|
18820
|
-
cache_ttl: union([string(), object({ default: string() }).catchall(string())]).default("5m").describe(`How long Magic Context assumes the provider's cached prefix stays valid. This is MC's own deferral gate — it does not change the provider's actual cache lifetime. String (e.g. "5m", "1h", "30s") or per-model object ({ default: "5m", "model
|
|
18821
|
-
prompt_surface: PromptSurfaceConfigSchema.default({ default: "full" }).describe("Prompt-surface presets: default is full; models use bare model IDs, provider/model, or provider/* routing keys. Guidance and tool-description overrides are user-level only.
|
|
19123
|
+
cache_ttl: union([string(), object({ default: string() }).catchall(string())]).default("5m").describe(`How long Magic Context assumes the provider's cached prefix stays valid. This is MC's own deferral gate — it does not change the provider's actual cache lifetime. String (e.g. "5m", "1h", "30s") or per-model object ({ default: "5m", "provider/model": "1h", "provider/*": "never" }); keys resolve most-specific first (exact provider/model, bare model ID, shorter dash-prefixes, then the provider/* wildcard, then default). Set to "never" to mean MC never assumes expiry (for lanes kept warm externally by a cache-keep tool) — disables the idle-TTL heuristic so MC never initiates a rebuild based on elapsed time. Provider-side extended TTL is a separate request-level concern (cache_control: { ttl } in the request body).`),
|
|
19124
|
+
prompt_surface: PromptSurfaceConfigSchema.default({ default: "full" }).describe("Prompt-surface presets: default is full; models use bare model IDs, provider/model, or provider/* routing keys. Guidance and tool-description overrides are user-level only. OpenCode 1.x, Pi, and OMP register tool descriptions once per process (they follow the default preset). OpenCode 2 rewrites the five ctx_* descriptions per request from the draft model."),
|
|
18822
19125
|
output_reserve: union([
|
|
18823
19126
|
number2().min(0),
|
|
18824
19127
|
object({ default: number2().min(0) }).catchall(number2().min(0))
|
|
@@ -18834,7 +19137,7 @@ var MagicContextConfigSchema = object({
|
|
|
18834
19137
|
execute_threshold_tokens: object({
|
|
18835
19138
|
default: number2().min(5000).max(2000000).optional()
|
|
18836
19139
|
}).catchall(number2().min(5000).max(2000000)).optional().describe("Absolute token thresholds per model. When matched, overrides execute_threshold_percentage for that model. Accepts `default` for all models or per-model keys. Values above 90% × context_limit are clamped with a warning log. Min 5_000, max 2_000_000."),
|
|
18837
|
-
protected_tokens: number2().int().min(
|
|
19140
|
+
protected_tokens: number2().int().min(PROTECTED_TOKENS_MIN).max(1e6).optional().describe("Positive integer token floor to protect from automatic reclaim (min: 4_000, max: 1_000_000). When omitted, the derived default is clamp(round(0.05 × usableSoft), min(16_000, round(0.08 × usableSoft)), 64_000)."),
|
|
18838
19141
|
protected_tags: unknown().optional().describe("Deprecated: number of recent tags to protect. Ignored for behaviour; use protected_tokens instead.").meta({ deprecated: true }),
|
|
18839
19142
|
clear_reasoning_age: number2().min(10).default(50).describe("Clear reasoning/thinking blocks older than N tags (default: 50)"),
|
|
18840
19143
|
history_budget_percentage: number2().min(0.05).max(0.5).default(DEFAULT_HISTORY_BUDGET_PERCENTAGE).describe("Fraction of usable context (context_limit × execute_threshold) reserved for the session history block (default: 0.15)"),
|
|
@@ -22450,9 +22753,9 @@ function migrateMagicContextConfigLocations(directory, logger) {
|
|
|
22450
22753
|
}
|
|
22451
22754
|
|
|
22452
22755
|
// src/tools/light-descriptions.ts
|
|
22453
|
-
var CTX_REDUCE_LIGHT_DESCRIPTION = `
|
|
22756
|
+
var CTX_REDUCE_LIGHT_DESCRIPTION = `Marking QUEUES content for release. It stays fully visible to you until it is actually released, which may be the next turn or many turns later. Newest tags stay protected until they age out. Release leaves a placeholder; recover only by rerunning the source or recovery tool. Mark only finished material. Mark analyzed, redundant, saved, or confirmatory outputs; keep user messages, unresolved errors, unextracted evidence, and exact wording. NEVER blanket-mark a large range: review every tag first.`;
|
|
22454
22757
|
var CTX_EXPAND_LIGHT_DESCRIPTION = `For ctx_expand users, recover compacted conversation by passing a session-history heading's inclusive start/end ordinals. Results are raw [N] U:/A: transcript capped near 15K tokens; oversized ranges return the head and a continuation. Use verbose=true to list each message ordinal, part previews, and tool-output sizes; use message=N for one complete stored message and its tool exchanges. NEVER expand ranges after the last compartment because that live tail is already visible.`;
|
|
22455
|
-
var CTX_NOTE_LIGHT_DESCRIPTION = `For ctx_note: write saves, read lists, update changes, dismiss retires
|
|
22758
|
+
var CTX_NOTE_LIGHT_DESCRIPTION = `For ctx_note: write saves, read lists, update changes one note (note_ids=[N]), dismiss retires 1–50 (note_ids); surface_condition makes a smart note. Smart-note conditions must be externally verifiable via GitHub, disk, git, or web—not this conversation or future actions.`;
|
|
22456
22759
|
var CTX_MEMORY_LIGHT_DESCRIPTION = `For ctx_memory users, write one standalone durable fact with category and content; update one ID, archive one or more IDs, merge two or more IDs, or get one to twenty numeric IDs. get reads memories in every status; list remains dreamer-only, so primary agents must NEVER assume bulk-list access.`;
|
|
22457
22760
|
var CTX_SEARCH_LIGHT_DESCRIPTION = `For ctx_search users, retrieve only hidden recall: memories not in <project-memory>, compacted messages outside the live tail, commits, and notes; phrase query as a question carrying exact terms. Omit sources for broad search; select memory, message, git_commit, or note, or pass memory IDs directly. Hits expand through ctx_expand.`;
|
|
22458
22761
|
|
|
@@ -22532,8 +22835,8 @@ function createPromptSurfaceRuntime(options) {
|
|
|
22532
22835
|
return content;
|
|
22533
22836
|
};
|
|
22534
22837
|
return {
|
|
22535
|
-
resolveRegistration(config) {
|
|
22536
|
-
const { preset } = resolvePromptSurface(config,
|
|
22838
|
+
resolveRegistration(config, modelKey) {
|
|
22839
|
+
const { preset } = resolvePromptSurface(config, modelKey);
|
|
22537
22840
|
const overrides = config?.tool_descriptions ?? {};
|
|
22538
22841
|
for (const [toolId, description] of Object.entries(overrides)) {
|
|
22539
22842
|
if (!PROMPT_SURFACE_TOOL_ID_SET.has(toolId)) {
|
|
@@ -27902,16 +28205,27 @@ function startLockHeartbeat(lockPath) {
|
|
|
27902
28205
|
timer.unref?.();
|
|
27903
28206
|
return () => clearInterval(timer);
|
|
27904
28207
|
}
|
|
28208
|
+
var ONNX_RUNTIME_WEB_SPECIFIER = "onnxruntime-web";
|
|
27905
28209
|
var localEmbeddingRuntimeMode = "native";
|
|
27906
28210
|
var localEmbeddingProcessFailure = null;
|
|
27907
28211
|
var wasmRuntimeInjected = false;
|
|
27908
28212
|
var localEmbeddingHostForRuntime = currentLocalEmbeddingHost;
|
|
28213
|
+
var resolveWasmOrtForRuntime = () => {
|
|
28214
|
+
try {
|
|
28215
|
+
return typeof import.meta.resolve === "function" ? import.meta.resolve(ONNX_RUNTIME_WEB_SPECIFIER) : undefined;
|
|
28216
|
+
} catch {
|
|
28217
|
+
return;
|
|
28218
|
+
}
|
|
28219
|
+
};
|
|
28220
|
+
var importWasmOrtModule = async (specifier) => await import(specifier);
|
|
28221
|
+
var importWasmOrtModuleForRuntime = importWasmOrtModule;
|
|
27909
28222
|
var importWasmOrtForRuntime = async () => {
|
|
27910
28223
|
const { createRequire: createRequireFn } = await import("node:module");
|
|
27911
28224
|
const requireFn = createRequireFn(import.meta.url);
|
|
27912
|
-
const ortEntry = requireFn.resolve(
|
|
28225
|
+
const ortEntry = requireFn.resolve(ONNX_RUNTIME_WEB_SPECIFIER);
|
|
28226
|
+
const ortSpecifier = resolveWasmOrtForRuntime() ?? ONNX_RUNTIME_WEB_SPECIFIER;
|
|
27913
28227
|
return {
|
|
27914
|
-
module: await
|
|
28228
|
+
module: await importWasmOrtModuleForRuntime(ortSpecifier),
|
|
27915
28229
|
entryPath: ortEntry
|
|
27916
28230
|
};
|
|
27917
28231
|
};
|
|
@@ -27977,6 +28291,7 @@ async function injectWasmOrt() {
|
|
|
27977
28291
|
try {
|
|
27978
28292
|
const { module: ortWeb, entryPath } = await importWasmOrtForRuntime();
|
|
27979
28293
|
if (ortWeb.env?.wasm) {
|
|
28294
|
+
ortWeb.env.wasm.numThreads = 1;
|
|
27980
28295
|
ortWeb.env.wasm.wasmPaths = `${pathToFileURL2(dirname5(entryPath)).href}/`;
|
|
27981
28296
|
}
|
|
27982
28297
|
globalThis[Symbol.for("onnxruntime")] = ortWeb;
|
|
@@ -30098,6 +30413,26 @@ function registerProjectInObservationMode(db, projectIdentity, sourceDirectory,
|
|
|
30098
30413
|
disposeProvider(prior?.provider ?? null);
|
|
30099
30414
|
return snapshotFor(registration);
|
|
30100
30415
|
}
|
|
30416
|
+
function unregisterProjectShadowEmbedding(projectIdentity) {
|
|
30417
|
+
const shadow = shadowRegistrations.get(projectIdentity);
|
|
30418
|
+
shadowRegistrations.delete(projectIdentity);
|
|
30419
|
+
dbForShadowQueue.delete(projectIdentity);
|
|
30420
|
+
pendingShadowBackfills.delete(projectIdentity);
|
|
30421
|
+
for (let index = shadowQueue.length - 1;index >= 0; index -= 1) {
|
|
30422
|
+
if (shadowQueue[index].projectIdentity === projectIdentity)
|
|
30423
|
+
shadowQueue.splice(index, 1);
|
|
30424
|
+
}
|
|
30425
|
+
for (const scope of ["memory", "commit", "chunk"]) {
|
|
30426
|
+
const key = `${projectIdentity}:${scope}`;
|
|
30427
|
+
shadowBackfillLastIds.delete(key);
|
|
30428
|
+
shadowBackfillStopReasons.delete(key);
|
|
30429
|
+
shadowBackfillLastWriteOutcomes.delete(key);
|
|
30430
|
+
}
|
|
30431
|
+
const primaryProvider = projectRegistrations.get(projectIdentity)?.provider ?? null;
|
|
30432
|
+
if (shadow?.provider && shadow.provider !== primaryProvider) {
|
|
30433
|
+
disposeProvider(shadow.provider);
|
|
30434
|
+
}
|
|
30435
|
+
}
|
|
30101
30436
|
function getProjectEmbeddingSnapshot(projectIdentity) {
|
|
30102
30437
|
const registration = projectRegistrations.get(projectIdentity);
|
|
30103
30438
|
return registration ? snapshotFor(registration) : null;
|
|
@@ -31351,6 +31686,12 @@ function getWritableOpenCodeDb() {
|
|
|
31351
31686
|
throw new Error(`OpenCode database not found at ${dbPath} (source=${resolution.source}; is OpenCode installed?)`);
|
|
31352
31687
|
}
|
|
31353
31688
|
const db = new Database(dbPath);
|
|
31689
|
+
try {
|
|
31690
|
+
assertOpenCodeStoreGeneration(db, "v1", dbPath);
|
|
31691
|
+
} catch (error) {
|
|
31692
|
+
closeQuietly(db);
|
|
31693
|
+
throw error;
|
|
31694
|
+
}
|
|
31354
31695
|
db.exec("PRAGMA busy_timeout=5000");
|
|
31355
31696
|
db.exec("PRAGMA journal_mode=WAL");
|
|
31356
31697
|
cachedWriteDb = { path: dbPath, db };
|
|
@@ -36944,17 +37285,65 @@ function persistFilteredNoise(db, sessionId, chunk, eligibleEnd) {
|
|
|
36944
37285
|
}
|
|
36945
37286
|
|
|
36946
37287
|
// src/hooks/magic-context/producer-window-guard.ts
|
|
36947
|
-
var PRODUCER_WINDOW_REFUSAL_MARGIN = 0.
|
|
37288
|
+
var PRODUCER_WINDOW_REFUSAL_MARGIN = 0.03;
|
|
37289
|
+
var HISTORIAN_TRUNCATION_MARKER = "[… tokens truncated by Magic Context to fit the historian window …]";
|
|
37290
|
+
function producerInputTokenLimit(contextLimitTokens, maxOutputTokens) {
|
|
37291
|
+
if (typeof contextLimitTokens !== "number" || !Number.isFinite(contextLimitTokens) || contextLimitTokens <= 0 || !Number.isFinite(maxOutputTokens) || maxOutputTokens < 0) {
|
|
37292
|
+
return;
|
|
37293
|
+
}
|
|
37294
|
+
const usableInputTokens = Math.max(0, Math.floor(contextLimitTokens - maxOutputTokens));
|
|
37295
|
+
return Math.max(0, Math.floor(usableInputTokens * (1 - PRODUCER_WINDOW_REFUSAL_MARGIN)));
|
|
37296
|
+
}
|
|
36948
37297
|
function producerWindowFailureReason(input) {
|
|
36949
37298
|
const { producerSourceTokens, contextLimitTokens, maxOutputTokens } = input;
|
|
36950
|
-
|
|
37299
|
+
const producerInputLimitTokens = producerInputTokenLimit(contextLimitTokens, maxOutputTokens);
|
|
37300
|
+
if (producerInputLimitTokens === undefined || typeof contextLimitTokens !== "number" || !Number.isFinite(producerSourceTokens) || producerSourceTokens <= 0) {
|
|
36951
37301
|
return null;
|
|
36952
37302
|
}
|
|
36953
37303
|
const usableInputTokens = Math.max(0, Math.floor(contextLimitTokens - maxOutputTokens));
|
|
36954
|
-
|
|
36955
|
-
if (producerSourceTokens < refusalThreshold)
|
|
37304
|
+
if (producerSourceTokens <= producerInputLimitTokens)
|
|
36956
37305
|
return null;
|
|
36957
|
-
return `producer_source_exceeds_window producer_source_tokens=${Math.round(producerSourceTokens)} usable_input_tokens=${usableInputTokens} context_limit_tokens=${Math.round(contextLimitTokens)} max_output_tokens=${Math.round(maxOutputTokens)}
|
|
37306
|
+
return `producer_source_exceeds_window producer_source_tokens=${Math.round(producerSourceTokens)} usable_input_tokens=${usableInputTokens} producer_input_limit_tokens=${producerInputLimitTokens} context_limit_tokens=${Math.round(contextLimitTokens)} max_output_tokens=${Math.round(maxOutputTokens)} estimator_margin=${PRODUCER_WINDOW_REFUSAL_MARGIN}`;
|
|
37307
|
+
}
|
|
37308
|
+
function splitMarkerPair() {
|
|
37309
|
+
return `
|
|
37310
|
+
${HISTORIAN_TRUNCATION_MARKER}
|
|
37311
|
+
${HISTORIAN_TRUNCATION_MARKER}
|
|
37312
|
+
`;
|
|
37313
|
+
}
|
|
37314
|
+
function fitAtomicHistorianSourceToProducerWindow(args) {
|
|
37315
|
+
const producerInputLimitTokens = producerInputTokenLimit(args.contextLimitTokens, args.maxOutputTokens);
|
|
37316
|
+
const originalTokens = estimateTokens(args.text);
|
|
37317
|
+
if (producerInputLimitTokens === undefined || originalTokens < producerInputLimitTokens || producerInputLimitTokens <= 0) {
|
|
37318
|
+
return { text: args.text, producerInputLimitTokens, removedTokens: 0 };
|
|
37319
|
+
}
|
|
37320
|
+
const boundary = [...args.resultBoundaries ?? []].filter((candidate) => Number.isFinite(candidate.sourceOffset) && candidate.sourceOffset > 0 && candidate.sourceOffset < args.text.length).sort((a, b) => b.bodyTokens - a.bodyTokens || a.ordinal - b.ordinal)[0];
|
|
37321
|
+
const splitOffset = boundary?.sourceOffset ?? Math.floor(args.text.length / 2);
|
|
37322
|
+
const left = args.text.slice(0, splitOffset);
|
|
37323
|
+
const right = args.text.slice(splitOffset);
|
|
37324
|
+
const markers = splitMarkerPair();
|
|
37325
|
+
const target = producerInputLimitTokens;
|
|
37326
|
+
let lo = 0;
|
|
37327
|
+
let hi = 1;
|
|
37328
|
+
let best = markers;
|
|
37329
|
+
for (let iteration = 0;iteration < 48; iteration++) {
|
|
37330
|
+
const scale = (lo + hi) / 2;
|
|
37331
|
+
const leftLength = Math.floor(left.length * scale);
|
|
37332
|
+
const rightLength = Math.floor(right.length * scale);
|
|
37333
|
+
const candidate = left.slice(0, leftLength) + markers + right.slice(right.length - rightLength);
|
|
37334
|
+
if (estimateTokens(candidate) <= target) {
|
|
37335
|
+
best = candidate;
|
|
37336
|
+
lo = scale;
|
|
37337
|
+
} else {
|
|
37338
|
+
hi = scale;
|
|
37339
|
+
}
|
|
37340
|
+
}
|
|
37341
|
+
return {
|
|
37342
|
+
text: best,
|
|
37343
|
+
producerInputLimitTokens,
|
|
37344
|
+
...boundary ? { splitBoundaryOrdinal: boundary.ordinal } : {},
|
|
37345
|
+
removedTokens: Math.max(0, originalTokens - estimateTokens(best))
|
|
37346
|
+
};
|
|
36958
37347
|
}
|
|
36959
37348
|
|
|
36960
37349
|
// src/hooks/magic-context/protected-tail-boundary.ts
|
|
@@ -39474,6 +39863,25 @@ function shouldSuppressHistorianAlert(sessionId) {
|
|
|
39474
39863
|
lastHistorianAlertBySession.set(sessionId, Date.now());
|
|
39475
39864
|
return false;
|
|
39476
39865
|
}
|
|
39866
|
+
function findDanglingPublicationBoundary(sessionId, compartments, resolveOrdinal = readRawSessionMessageOrdinalById) {
|
|
39867
|
+
for (const compartment of compartments) {
|
|
39868
|
+
if (resolveOrdinal(sessionId, compartment.startMessageId) === null) {
|
|
39869
|
+
return {
|
|
39870
|
+
sequence: compartment.sequence,
|
|
39871
|
+
side: "start",
|
|
39872
|
+
messageId: compartment.startMessageId
|
|
39873
|
+
};
|
|
39874
|
+
}
|
|
39875
|
+
if (resolveOrdinal(sessionId, compartment.endMessageId) === null) {
|
|
39876
|
+
return {
|
|
39877
|
+
sequence: compartment.sequence,
|
|
39878
|
+
side: "end",
|
|
39879
|
+
messageId: compartment.endMessageId
|
|
39880
|
+
};
|
|
39881
|
+
}
|
|
39882
|
+
}
|
|
39883
|
+
return null;
|
|
39884
|
+
}
|
|
39477
39885
|
async function runCompartmentAgent(deps) {
|
|
39478
39886
|
const {
|
|
39479
39887
|
client,
|
|
@@ -39677,11 +40085,20 @@ async function runCompartmentAgent(deps) {
|
|
|
39677
40085
|
rollbackDrainReservation();
|
|
39678
40086
|
return;
|
|
39679
40087
|
}
|
|
39680
|
-
const
|
|
40088
|
+
const fittedAtomicSource = chunk.oversizeAtomicUnit ? fitAtomicHistorianSourceToProducerWindow({
|
|
40089
|
+
text: chunk.text,
|
|
40090
|
+
resultBoundaries: chunk.toolResultBoundaries,
|
|
40091
|
+
contextLimitTokens: deps.historianContextLimit,
|
|
40092
|
+
maxOutputTokens: deps.historianMaxOutputTokens ?? 32000
|
|
40093
|
+
}) : null;
|
|
40094
|
+
const chunkText = chunk.oversizeAtomicUnit ? fittedAtomicSource?.text ?? chunk.text : truncateHistorianInputIfNeeded(chunk.text, historianChunkTokens);
|
|
39681
40095
|
const producerSourceTokens = estimateTokens(chunkText);
|
|
39682
40096
|
if (boundarySnapshot.oversizeAtomicUnit || chunk.oversizeAtomicUnit) {
|
|
39683
40097
|
sessionLog(sessionId, `historian oversize admission: range=${chunk.startIndex}-${chunk.endIndex} rawComponentTokens=${boundarySnapshot.diagnostics?.head.completedFence.tokenMass ?? "unknown"} perRunCap=${perRunCap} producerSourceTokens=${producerSourceTokens} historianChunkTokens=${historianChunkTokens}; ${describeBoundaryDiagnostics(boundarySnapshot)}`);
|
|
39684
40098
|
}
|
|
40099
|
+
if (fittedAtomicSource && fittedAtomicSource.removedTokens > 0) {
|
|
40100
|
+
sessionLog(sessionId, `historian pathological component split: range=${chunk.startIndex}-${chunk.endIndex} resultBoundary=${fittedAtomicSource.splitBoundaryOrdinal ?? "midpoint"} removedTokens=${fittedAtomicSource.removedTokens} producerSourceTokens=${producerSourceTokens} producerInputLimitTokens=${fittedAtomicSource.producerInputLimitTokens ?? "unknown"}`);
|
|
40101
|
+
}
|
|
39685
40102
|
const producerWindowFailure = producerWindowFailureReason({
|
|
39686
40103
|
producerSourceTokens,
|
|
39687
40104
|
contextLimitTokens: deps.historianContextLimit,
|
|
@@ -39812,6 +40229,16 @@ ${chunkText}`,
|
|
|
39812
40229
|
return;
|
|
39813
40230
|
}
|
|
39814
40231
|
const compartmentTagKeys = await getRawSessionTagKeysThrough(sessionId, lastCompartmentEnd, { db });
|
|
40232
|
+
const danglingBoundary = findDanglingPublicationBoundary(sessionId, newCompartments);
|
|
40233
|
+
if (danglingBoundary) {
|
|
40234
|
+
const reason = `compartment boundary disappeared before publication (sequence=${danglingBoundary.sequence} side=${danglingBoundary.side} missing_id=${danglingBoundary.messageId})`;
|
|
40235
|
+
telemetry.failureReason = `publish-boundary: ${reason}`;
|
|
40236
|
+
sessionLog(sessionId, `historian publish refused: sequence=${danglingBoundary.sequence} side=${danglingBoundary.side} missing_id=${danglingBoundary.messageId}; raw snapshot changed during the historian run`);
|
|
40237
|
+
const failCount = incrementHistorianFailure(db, sessionId, reason);
|
|
40238
|
+
await notifyHistorianIssue(buildHistorianFailureNotice(failCount, reason));
|
|
40239
|
+
rollbackDrainReservation();
|
|
40240
|
+
return;
|
|
40241
|
+
}
|
|
39815
40242
|
let published = false;
|
|
39816
40243
|
const transactionStartedAt = performance.now();
|
|
39817
40244
|
db.exec("BEGIN IMMEDIATE");
|
|
@@ -41515,4 +41942,4 @@ async function runUpgradeMemoryMigration(ctx, sessionId, migrationDirectory) {
|
|
|
41515
41942
|
}
|
|
41516
41943
|
}
|
|
41517
41944
|
|
|
41518
|
-
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, getMemoryMirrorStatus, 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, assertExecutableToolInput, 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, HiddenCompletionRefusal, 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, createV1HiddenCompletionExecutor, 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, materializeM0, prepareCachedM0M1Replay, hasCompleteCachedM0M1, injectM0M1, describeBoundaryDiagnostics, RECOVERY_NO_HEAD_LIMIT, resolveOpenCodeProtectedTailBoundary, resolveWrapupProtectedTailBoundary, getRawHistoryEligibility, hasRunnableCompartmentWindow, recordHighPressureNoEligibleHead, runCompartmentAgent, snapRangeToCompartments, getActiveCompartmentRun, markActiveCompartmentRunPublished, registerActiveCompartmentRun, startCompartmentAgent, setRecompStarting2, setRecompTerminal2, runManagedRecomp2, runManagedUpgrade2 };
|
|
41945
|
+
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, PROTECTED_TOKENS_MIN, 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, getMemoryMirrorStatus, moduleMemoryIdentityForHostId, hostMemoryIdentityForModuleId, applyMirroredNoteCompileFields, applyTargetedMemoryMirrorRow, 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, assertExecutableToolInput, createDroppedInputToolExecuteBeforeHook, isEditTool, partHasCompletedResult, extractToolCallObservation, ToolMutationBatch, createToolDropTarget, setRawMessageProvider, cleanUserText, withRawSessionMessageCache, readRawSessionMessages, primeTailRawMessageCache, primeInMemoryTailRawMessageCache, readRawSessionMessageOrdinalPage, getRawSessionStoredMessageCount, readRawSessionMessageIdOrdinals, 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, HiddenCompletionRefusal, detectThinkingBindingMismatch, isFable51ThinkingBindingModel, detectOverflow, parseProviderModel, modelBodyField, toModelEntry, getPromptFailureDetail, promptSyncWithValidatedOutputRetry, normalizeSDKResponse, ACTIVE_TOOL_IDS, 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, unregisterProjectShadowEmbedding, 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, createV1HiddenCompletionExecutor, 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, materializeM0, prepareCachedM0M1Replay, hasCompleteCachedM0M1, injectM0M1, describeBoundaryDiagnostics, RECOVERY_NO_HEAD_LIMIT, resolveOpenCodeProtectedTailBoundary, resolveWrapupProtectedTailBoundary, getRawHistoryEligibility, hasRunnableCompartmentWindow, recordHighPressureNoEligibleHead, runCompartmentAgent, snapRangeToCompartments, getActiveCompartmentRun, markActiveCompartmentRunPublished, registerActiveCompartmentRun, startCompartmentAgent, setRecompStarting2, setRecompTerminal2, runManagedRecomp2, runManagedUpgrade2 };
|