@cortexkit/opencode-magic-context 0.43.0 → 0.43.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{announcement-8mgn61fw.js → announcement-1a8bvswd.js} +2 -1
- package/dist/{conflict-warning-hook-t2vb0wnx.js → conflict-warning-hook-hyk9y29x.js} +6 -4
- package/dist/{derive-budgets-0sg5vp61.js → derive-budgets-b8ybssh9.js} +3 -2
- package/dist/features/magic-context/dreamer/classify.d.ts +12 -0
- package/dist/features/magic-context/dreamer/classify.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts +7 -4
- package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/map-memories.d.ts +3 -1
- package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/refresh-primers.d.ts +3 -1
- package/dist/features/magic-context/dreamer/refresh-primers.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/verify.d.ts +4 -1
- package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
- package/dist/features/magic-context/memory/verification-paths.d.ts.map +1 -1
- package/dist/features/magic-context/store-generation-rebase.d.ts +62 -1
- package/dist/features/magic-context/store-generation-rebase.d.ts.map +1 -1
- package/dist/hooks/auto-update-checker/checker.d.ts +1 -0
- package/dist/hooks/auto-update-checker/checker.d.ts.map +1 -1
- package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-incremental.d.ts +6 -0
- package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-validation.d.ts +7 -0
- package/dist/hooks/magic-context/compartment-runner-validation.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-trigger.d.ts +2 -1
- package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
- package/dist/hooks/magic-context/ctx-reduce-availability.d.ts +60 -8
- package/dist/hooks/magic-context/ctx-reduce-availability.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook.d.ts +3 -1
- package/dist/hooks/magic-context/hook.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-slot.d.ts +1 -0
- package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -1
- package/dist/hooks/magic-context/rust-mode-transform.d.ts +2 -0
- package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
- package/dist/hooks/magic-context/send-session-notification.d.ts +1 -0
- package/dist/hooks/magic-context/send-session-notification.d.ts.map +1 -1
- package/dist/hooks/magic-context/system-prompt-hash.d.ts +9 -0
- package/dist/hooks/magic-context/system-prompt-hash.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.map +1 -1
- package/dist/{index-8w1skpnm.js → index-0ccmyzbj.js} +6 -6
- package/dist/{index-ntbmt6rq.js → index-4b30nf6z.js} +1 -1
- package/dist/{index-rpz2me0v.js → index-6j8th2hd.js} +2 -2
- package/dist/{index-99sfbrrf.js → index-6w9p73jz.js} +1 -1
- package/dist/{index-4ftb5hcq.js → index-6z9g64js.js} +7 -1
- package/dist/{index-9skq8m9y.js → index-9r1cbh9e.js} +1 -1
- package/dist/{index-ykg9sdzz.js → index-bmzt6xgy.js} +3 -3
- package/dist/{safe-notification-target-fepvcbsj.js → index-febg06dy.js} +6 -7
- package/dist/{index-d0dh7v0f.js → index-g6hpfkqa.js} +361 -118
- package/dist/{index-rvwvdq59.js → index-jgnag7sa.js} +38 -4
- package/dist/{index-w2ety11c.js → index-pa67brzn.js} +3 -3
- package/dist/{index-ygwdyntq.js → index-tdrv6nd0.js} +6 -4
- package/dist/{index-qp20p2py.js → index-wgzyeyf5.js} +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +801 -240
- package/dist/{message-time-backfill-gzjer78y.js → message-time-backfill-0ccvyk9n.js} +3 -2
- package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
- package/dist/{read-session-chunk-ec3jkvhg.js → read-session-chunk-53a7qbrh.js} +4 -3
- package/dist/{recomp-orchestrator-6akjp11f.js → recomp-orchestrator-adsgqgse.js} +9 -7
- package/dist/safe-notification-target-vrkjrbgb.js +10 -0
- package/dist/{send-session-notification-f6gwkesy.js → send-session-notification-e28r4xx2.js} +7 -3
- package/dist/shared/data-path.d.ts.map +1 -1
- package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
- package/dist/shared/opencode-db-path.d.ts.map +1 -1
- package/dist/shared/test-fake-executable.d.ts +38 -0
- package/dist/shared/test-fake-executable.d.ts.map +1 -0
- package/dist/shared/test-temp-dir.d.ts +1 -1
- package/dist/shared/test-temp-dir.d.ts.map +1 -1
- package/dist/shared/user-facing-codes.d.ts +10 -0
- package/dist/shared/user-facing-codes.d.ts.map +1 -1
- package/dist/{task-config-ex4nt0q0.js → task-config-mgf5nsh3.js} +1 -1
- package/dist/v2/hidden-completion.d.ts.map +1 -1
- package/dist/v2/hooks/context.d.ts.map +1 -1
- package/dist/v2/hooks/hidden-child.d.ts +6 -0
- package/dist/v2/hooks/hidden-child.d.ts.map +1 -1
- package/dist/v2/hooks/payload.d.ts.map +1 -1
- package/dist/v2/hooks/refusal.d.ts +9 -1
- package/dist/v2/hooks/refusal.d.ts.map +1 -1
- package/dist/v2/hooks/restore-rows.d.ts +29 -0
- package/dist/v2/hooks/restore-rows.d.ts.map +1 -0
- package/dist/v2/hooks/types.d.ts +1 -0
- package/dist/v2/hooks/types.d.ts.map +1 -1
- package/dist/v2/hooks/update-check.d.ts +8 -0
- package/dist/v2/hooks/update-check.d.ts.map +1 -1
- package/dist/v2/host-service.d.ts +1 -1
- package/dist/v2/host-service.d.ts.map +1 -1
- package/dist/v2/server.js +1171 -366
- package/dist/v2/store-reader.d.ts +8 -0
- package/dist/v2/store-reader.d.ts.map +1 -1
- package/dist/wrapup-orchestrator-8xzbpvm8.js +18 -0
- package/package.json +2 -1
- package/src/features/magic-context/dreamer/task-registry.ts +1 -1
- package/src/shared/data-path.ts +6 -6
- package/src/shared/model-suggestion-retry.test.ts +43 -0
- package/src/shared/model-suggestion-retry.ts +17 -0
- package/src/shared/opencode-db-path.test.ts +18 -0
- package/src/shared/opencode-db-path.ts +5 -2
- package/src/shared/test-fake-executable.test.ts +54 -0
- package/src/shared/test-fake-executable.ts +110 -0
- package/src/shared/test-temp-dir.ts +3 -0
- package/src/shared/user-facing-codes.ts +11 -0
- package/dist/wrapup-orchestrator-5akc87gr.js +0 -16
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getHarness,
|
|
3
|
+
ensureCortexKitArtifactGitignore,
|
|
4
|
+
getProjectMagicContextHistorianDir,
|
|
5
|
+
getMagicContextStorageDir,
|
|
6
|
+
getLegacyOpenCodeMagicContextStorageDir
|
|
7
|
+
} from "./index-6z9g64js.js";
|
|
1
8
|
import {
|
|
2
9
|
sanitizeDiagnosticText,
|
|
3
10
|
log,
|
|
4
11
|
sessionLog
|
|
5
|
-
} from "./index-
|
|
12
|
+
} from "./index-wgzyeyf5.js";
|
|
6
13
|
import {
|
|
7
14
|
resolveDecisionCalibration,
|
|
8
15
|
providerMass,
|
|
@@ -44,11 +51,12 @@ import {
|
|
|
44
51
|
getCachedAbsoluteMessageCount2,
|
|
45
52
|
readRawSessionMessageIdOrdinalsForRange2,
|
|
46
53
|
hasRawSessionMessageById2,
|
|
54
|
+
readRawSessionMessageOrdinalById2,
|
|
47
55
|
getRawSessionMessageCount2,
|
|
48
56
|
getRawSessionTagKeysThrough2,
|
|
49
57
|
getLegacyProtectedTailStartOrdinal2,
|
|
50
58
|
readSessionChunk2
|
|
51
|
-
} from "./index-
|
|
59
|
+
} from "./index-tdrv6nd0.js";
|
|
52
60
|
import {
|
|
53
61
|
resolveOpenCodeDbPath,
|
|
54
62
|
hasV1MessageTables,
|
|
@@ -63,7 +71,7 @@ import {
|
|
|
63
71
|
closeQuietly,
|
|
64
72
|
withReadOnlySessionDb,
|
|
65
73
|
getMessageTimesFromOpenCodeDb
|
|
66
|
-
} from "./index-
|
|
74
|
+
} from "./index-bmzt6xgy.js";
|
|
67
75
|
import {
|
|
68
76
|
piModelRefToCanonical,
|
|
69
77
|
modelRefLookupOrder,
|
|
@@ -74,7 +82,7 @@ import {
|
|
|
74
82
|
getSdkOutputLimit,
|
|
75
83
|
deriveTriggerBudget2,
|
|
76
84
|
producerSourceLocalBudget2
|
|
77
|
-
} from "./index-
|
|
85
|
+
} from "./index-0ccmyzbj.js";
|
|
78
86
|
import {
|
|
79
87
|
createScanner,
|
|
80
88
|
parseTree,
|
|
@@ -91,17 +99,10 @@ import {
|
|
|
91
99
|
getErrorMessage,
|
|
92
100
|
describeError,
|
|
93
101
|
sendStatusNotification2
|
|
94
|
-
} from "./index-
|
|
102
|
+
} from "./index-jgnag7sa.js";
|
|
95
103
|
import {
|
|
96
104
|
logSlowWriteTransaction
|
|
97
|
-
} from "./index-
|
|
98
|
-
import {
|
|
99
|
-
getHarness,
|
|
100
|
-
ensureCortexKitArtifactGitignore,
|
|
101
|
-
getProjectMagicContextHistorianDir,
|
|
102
|
-
getMagicContextStorageDir,
|
|
103
|
-
getLegacyOpenCodeMagicContextStorageDir
|
|
104
|
-
} from "./index-4ftb5hcq.js";
|
|
105
|
+
} from "./index-9r1cbh9e.js";
|
|
105
106
|
|
|
106
107
|
// src/config/schema/magic-context.ts
|
|
107
108
|
import { homedir } from "node:os";
|
|
@@ -8333,6 +8334,11 @@ var USER_FACING_FAILURES = {
|
|
|
8333
8334
|
sentence: "Some finished background sessions could not be removed from this host.",
|
|
8334
8335
|
action: "They are removed automatically the next time Magic Context runs inside a registered OpenCode service."
|
|
8335
8336
|
},
|
|
8337
|
+
historian_saved_history_misaligned: {
|
|
8338
|
+
code: "MC-H03",
|
|
8339
|
+
sentence: "History compression is paused because this session's saved summaries no longer line up with its messages.",
|
|
8340
|
+
action: "Run /ctx-recomp to rebuild them."
|
|
8341
|
+
},
|
|
8336
8342
|
recomp_unavailable: {
|
|
8337
8343
|
code: "MC-R01",
|
|
8338
8344
|
sentence: "History compression could not be rebuilt.",
|
|
@@ -8503,6 +8509,11 @@ var USER_FACING_FAILURES = {
|
|
|
8503
8509
|
sentence: "History compression is paused while the engine syncs.",
|
|
8504
8510
|
action: "Retry in a moment."
|
|
8505
8511
|
},
|
|
8512
|
+
history_compression_needs_message: {
|
|
8513
|
+
code: "MC-C12",
|
|
8514
|
+
sentence: "History compression has not seen this session since Magic Context reconnected.",
|
|
8515
|
+
action: "Send a message in this session first, then run /ctx-wrapup again."
|
|
8516
|
+
},
|
|
8506
8517
|
context_service_unavailable: {
|
|
8507
8518
|
code: "MC-C10",
|
|
8508
8519
|
sentence: "Magic Context is temporarily unavailable.",
|
|
@@ -17606,6 +17617,7 @@ function emptyOutcome(status, generation, previousGeneration) {
|
|
|
17606
17617
|
previousGeneration,
|
|
17607
17618
|
compartmentsRebased: 0,
|
|
17608
17619
|
compartmentsUnresolved: 0,
|
|
17620
|
+
compartmentsDerived: 0,
|
|
17609
17621
|
compartmentsResolvedAgain: 0,
|
|
17610
17622
|
recompCompartmentsRebased: 0,
|
|
17611
17623
|
recompCompartmentsUnresolved: 0,
|
|
@@ -17659,6 +17671,12 @@ function readCoordinateRebaseNotice(db, sessionId) {
|
|
|
17659
17671
|
if (record.generation !== "v1" && record.generation !== "v2")
|
|
17660
17672
|
return null;
|
|
17661
17673
|
const count = (value) => typeof value === "number" && Number.isFinite(value) ? value : 0;
|
|
17674
|
+
const ranges = (value) => Array.isArray(value) ? value.flatMap((entry) => {
|
|
17675
|
+
if (!entry || typeof entry !== "object")
|
|
17676
|
+
return [];
|
|
17677
|
+
const { sequence, start, end } = entry;
|
|
17678
|
+
return typeof sequence === "number" && typeof start === "number" && typeof end === "number" ? [{ sequence, start, end }] : [];
|
|
17679
|
+
}) : [];
|
|
17662
17680
|
return {
|
|
17663
17681
|
generation: record.generation,
|
|
17664
17682
|
previousGeneration: record.previousGeneration === "v1" || record.previousGeneration === "v2" ? record.previousGeneration : null,
|
|
@@ -17667,7 +17685,10 @@ function readCoordinateRebaseNotice(db, sessionId) {
|
|
|
17667
17685
|
discardedReductions: count(record.discardedReductions),
|
|
17668
17686
|
droppedDepthRows: count(record.droppedDepthRows),
|
|
17669
17687
|
healedGaps: count(record.healedGaps),
|
|
17670
|
-
narrativeGaps: count(record.narrativeGaps)
|
|
17688
|
+
narrativeGaps: count(record.narrativeGaps),
|
|
17689
|
+
derivedCompartments: ranges(record.derivedCompartments),
|
|
17690
|
+
unresolvedCompartmentRanges: ranges(record.unresolvedCompartmentRanges),
|
|
17691
|
+
neighbourRecoveryAt: typeof record.neighbourRecoveryAt === "number" && Number.isFinite(record.neighbourRecoveryAt) ? record.neighbourRecoveryAt : null
|
|
17671
17692
|
};
|
|
17672
17693
|
} catch {
|
|
17673
17694
|
return null;
|
|
@@ -17678,8 +17699,13 @@ function formatCoordinateRebaseNotice(notice) {
|
|
|
17678
17699
|
if (notice.discardedReductions > 0) {
|
|
17679
17700
|
parts.push(`${notice.discardedReductions} queued reduction${notice.discardedReductions === 1 ? " was" : "s were"} discarded because their targets merged in the host's store conversion`);
|
|
17680
17701
|
}
|
|
17702
|
+
if (notice.derivedCompartments.length > 0) {
|
|
17703
|
+
const count = notice.derivedCompartments.length;
|
|
17704
|
+
parts.push(`${count} compartment${count === 1 ? " was" : "s were"} re-anchored from the compartments around ${count === 1 ? "it" : "them"} (${formatRangeNotes(notice.derivedCompartments)})`);
|
|
17705
|
+
}
|
|
17681
17706
|
if (notice.unresolvedCompartments > 0) {
|
|
17682
|
-
|
|
17707
|
+
const listed = notice.unresolvedCompartmentRanges.length > 0 ? ` (${formatRangeNotes(notice.unresolvedCompartmentRanges)})` : "";
|
|
17708
|
+
parts.push(`${notice.unresolvedCompartments} compartment${notice.unresolvedCompartments === 1 ? "" : "s"} could not be re-anchored and are excluded from range recovery${listed}`);
|
|
17683
17709
|
}
|
|
17684
17710
|
if (notice.droppedDepthRows > 0) {
|
|
17685
17711
|
parts.push(`${notice.droppedDepthRows} compression-depth records were rebuilt from zero`);
|
|
@@ -17692,6 +17718,9 @@ function formatCoordinateRebaseNotice(notice) {
|
|
|
17692
17718
|
}
|
|
17693
17719
|
return parts.length === 0 ? null : parts.join("; ");
|
|
17694
17720
|
}
|
|
17721
|
+
function formatRangeNotes(notes) {
|
|
17722
|
+
return notes.map((note) => `messages ${note.start}-${note.end}`).join(", ");
|
|
17723
|
+
}
|
|
17695
17724
|
function isCompartmentCoordinateRow(row) {
|
|
17696
17725
|
if (row === null || typeof row !== "object")
|
|
17697
17726
|
return false;
|
|
@@ -17723,36 +17752,62 @@ function readCompartmentRows(db, table, sessionId) {
|
|
|
17723
17752
|
return db.prepare(`SELECT id, sequence, start_message, end_message, start_message_id, end_message_id, rebase_status
|
|
17724
17753
|
FROM ${table} WHERE session_id = ? ORDER BY sequence ASC`).all(sessionId).filter(isCompartmentCoordinateRow);
|
|
17725
17754
|
}
|
|
17755
|
+
function resolveAnchor(messageId, resolveOrdinal) {
|
|
17756
|
+
return messageId && messageId.length > 0 ? resolveOrdinal(messageId) : undefined;
|
|
17757
|
+
}
|
|
17726
17758
|
function planCompartments(rows, table, projection) {
|
|
17727
|
-
|
|
17728
|
-
|
|
17729
|
-
|
|
17730
|
-
|
|
17731
|
-
|
|
17732
|
-
|
|
17733
|
-
|
|
17734
|
-
|
|
17735
|
-
|
|
17736
|
-
|
|
17737
|
-
|
|
17738
|
-
|
|
17739
|
-
|
|
17740
|
-
|
|
17741
|
-
status: "unresolved",
|
|
17742
|
-
previousStatus
|
|
17743
|
-
};
|
|
17744
|
-
}
|
|
17745
|
-
return {
|
|
17759
|
+
const resolveOrdinal = (messageId) => projection.ordinalById.get(messageId);
|
|
17760
|
+
return recoverFromNeighbours(rows, table, rows.map((row) => ({
|
|
17761
|
+
start: resolveAnchor(row.start_message_id, resolveOrdinal),
|
|
17762
|
+
end: resolveAnchor(row.end_message_id, resolveOrdinal)
|
|
17763
|
+
})));
|
|
17764
|
+
}
|
|
17765
|
+
function recoverFromNeighbours(rows, table, known) {
|
|
17766
|
+
const plans = rows.map((row, index) => {
|
|
17767
|
+
const own = known[index] ?? { start: undefined, end: undefined };
|
|
17768
|
+
const previousEnd = index === 0 ? 0 : known[index - 1]?.end;
|
|
17769
|
+
const nextStart = index === rows.length - 1 ? undefined : known[index + 1]?.start;
|
|
17770
|
+
const start = own.start ?? (previousEnd === undefined ? undefined : previousEnd + 1);
|
|
17771
|
+
const end = own.end ?? (nextStart === undefined ? undefined : nextStart - 1);
|
|
17772
|
+
const base = {
|
|
17746
17773
|
table,
|
|
17747
17774
|
id: row.id,
|
|
17775
|
+
sequence: row.sequence,
|
|
17748
17776
|
previousStart: row.start_message,
|
|
17749
17777
|
previousEnd: row.end_message,
|
|
17750
|
-
|
|
17751
|
-
|
|
17752
|
-
|
|
17753
|
-
|
|
17778
|
+
previousStatus: row.rebase_status === "unresolved" ? "unresolved" : "ok"
|
|
17779
|
+
};
|
|
17780
|
+
if (start !== undefined && end !== undefined && start <= end) {
|
|
17781
|
+
return {
|
|
17782
|
+
...base,
|
|
17783
|
+
start,
|
|
17784
|
+
end,
|
|
17785
|
+
status: "ok",
|
|
17786
|
+
derived: own.start === undefined || own.end === undefined
|
|
17787
|
+
};
|
|
17788
|
+
}
|
|
17789
|
+
return {
|
|
17790
|
+
...base,
|
|
17791
|
+
start: start ?? row.start_message,
|
|
17792
|
+
end: end ?? row.end_message,
|
|
17793
|
+
status: "unresolved",
|
|
17794
|
+
derived: false
|
|
17754
17795
|
};
|
|
17755
17796
|
});
|
|
17797
|
+
for (let index = 0;index < plans.length; index += 1) {
|
|
17798
|
+
const plan = plans[index];
|
|
17799
|
+
if (plan?.status !== "unresolved")
|
|
17800
|
+
continue;
|
|
17801
|
+
const previous = plans[index - 1];
|
|
17802
|
+
const next = plans[index + 1];
|
|
17803
|
+
if (previous?.status === "ok" && plan.start <= previous.end) {
|
|
17804
|
+
plan.start = previous.end + 1;
|
|
17805
|
+
}
|
|
17806
|
+
if (next?.status === "ok" && plan.end >= next.start) {
|
|
17807
|
+
plan.end = next.start - 1;
|
|
17808
|
+
}
|
|
17809
|
+
}
|
|
17810
|
+
return plans;
|
|
17756
17811
|
}
|
|
17757
17812
|
function healNonNarrativeCompartmentGaps(plans, projection) {
|
|
17758
17813
|
let healed = 0;
|
|
@@ -17783,7 +17838,10 @@ function healNonNarrativeCompartmentGaps(plans, projection) {
|
|
|
17783
17838
|
return { healed, narrative };
|
|
17784
17839
|
}
|
|
17785
17840
|
function compartmentPlanChanges(plan) {
|
|
17786
|
-
return plan.status !== plan.previousStatus || plan.
|
|
17841
|
+
return plan.status !== plan.previousStatus || plan.start !== plan.previousStart || plan.end !== plan.previousEnd;
|
|
17842
|
+
}
|
|
17843
|
+
function rangeNotes(plans, predicate) {
|
|
17844
|
+
return plans.filter((plan) => plan.table === "compartments" && predicate(plan)).map((plan) => ({ sequence: plan.sequence, start: plan.start, end: plan.end }));
|
|
17787
17845
|
}
|
|
17788
17846
|
function planNotes(db, sessionId, projection) {
|
|
17789
17847
|
const rows = db.prepare("SELECT id, anchor_ordinal, anchor_block_id FROM notes WHERE session_id = ? AND anchor_ordinal IS NOT NULL").all(sessionId);
|
|
@@ -17869,7 +17927,14 @@ function rebaseSessionCoordinates(args) {
|
|
|
17869
17927
|
}
|
|
17870
17928
|
const previousGeneration = readCoordinateGeneration(db, sessionId);
|
|
17871
17929
|
if (previousGeneration === generation) {
|
|
17872
|
-
|
|
17930
|
+
const outcome = emptyOutcome("unchanged", generation, previousGeneration);
|
|
17931
|
+
const repair = repairStampedSessionOnce(db, sessionId, args.readMessages);
|
|
17932
|
+
if (repair !== null && repair.rowsRewritten > 0) {
|
|
17933
|
+
outcome.status = "repaired";
|
|
17934
|
+
outcome.compartmentsDerived = repair.derived.length;
|
|
17935
|
+
outcome.compartmentsUnresolved = repair.unresolved.length;
|
|
17936
|
+
}
|
|
17937
|
+
return outcome;
|
|
17873
17938
|
}
|
|
17874
17939
|
const impliedGeneration = previousGeneration ?? generationImpliedByHarness(db, sessionId) ?? generation;
|
|
17875
17940
|
if (impliedGeneration === generation) {
|
|
@@ -17933,6 +17998,8 @@ function rebaseSessionCoordinates(args) {
|
|
|
17933
17998
|
if (plan.table === "compartments") {
|
|
17934
17999
|
outcome.compartmentsRebased += rebased;
|
|
17935
18000
|
outcome.compartmentsUnresolved += unresolved;
|
|
18001
|
+
if (rebased === 1 && plan.derived)
|
|
18002
|
+
outcome.compartmentsDerived += 1;
|
|
17936
18003
|
if (rebased === 1 && plan.previousStatus === "unresolved")
|
|
17937
18004
|
outcome.compartmentsResolvedAgain += 1;
|
|
17938
18005
|
} else {
|
|
@@ -17989,7 +18056,10 @@ function rebaseSessionCoordinates(args) {
|
|
|
17989
18056
|
discardedReductions: outcome.queuedReductionsDiscarded,
|
|
17990
18057
|
droppedDepthRows: outcome.compressionDepthRowsDropped,
|
|
17991
18058
|
healedGaps: outcome.healedGaps,
|
|
17992
|
-
narrativeGaps: outcome.narrativeGaps
|
|
18059
|
+
narrativeGaps: outcome.narrativeGaps,
|
|
18060
|
+
derivedCompartments: rangeNotes(compartmentPlans, (plan) => plan.status === "ok" && plan.derived),
|
|
18061
|
+
unresolvedCompartmentRanges: rangeNotes(compartmentPlans, (plan) => plan.status === "unresolved"),
|
|
18062
|
+
neighbourRecoveryAt: Date.now()
|
|
17993
18063
|
});
|
|
17994
18064
|
db.exec("COMMIT");
|
|
17995
18065
|
committed = true;
|
|
@@ -18007,10 +18077,115 @@ function rebaseSessionCoordinates(args) {
|
|
|
18007
18077
|
sessionLog(sessionId, formatRebaseLogLine(outcome, performance.now() - startedAt));
|
|
18008
18078
|
return outcome;
|
|
18009
18079
|
}
|
|
18080
|
+
function recoverUnresolvedCompartments(args) {
|
|
18081
|
+
const { db, sessionId } = args;
|
|
18082
|
+
const rows = readCompartmentRows(db, "compartments", sessionId);
|
|
18083
|
+
const result = { rowsRewritten: 0, derived: [], unresolved: [] };
|
|
18084
|
+
if (!rows.some((row) => row.rebase_status === "unresolved"))
|
|
18085
|
+
return result;
|
|
18086
|
+
const known = rows.map((row) => {
|
|
18087
|
+
if (row.rebase_status !== "unresolved") {
|
|
18088
|
+
return { start: row.start_message, end: row.end_message };
|
|
18089
|
+
}
|
|
18090
|
+
return {
|
|
18091
|
+
start: resolveAnchor(row.start_message_id, args.resolveOrdinal),
|
|
18092
|
+
end: resolveAnchor(row.end_message_id, args.resolveOrdinal)
|
|
18093
|
+
};
|
|
18094
|
+
});
|
|
18095
|
+
const plans = recoverFromNeighbours(rows, "compartments", known);
|
|
18096
|
+
const wasUnresolved = (plan) => plan.previousStatus === "unresolved";
|
|
18097
|
+
result.derived = rangeNotes(plans, (plan) => wasUnresolved(plan) && plan.status === "ok" && plan.derived);
|
|
18098
|
+
result.unresolved = rangeNotes(plans, (plan) => plan.status === "unresolved");
|
|
18099
|
+
const changed = plans.filter(compartmentPlanChanges);
|
|
18100
|
+
const now = Date.now();
|
|
18101
|
+
db.exec("BEGIN IMMEDIATE");
|
|
18102
|
+
let committed = false;
|
|
18103
|
+
try {
|
|
18104
|
+
for (const plan of changed) {
|
|
18105
|
+
db.prepare("UPDATE compartments SET start_message = ?, end_message = ?, rebase_status = ? WHERE id = ?").run(plan.start, plan.end, plan.status, plan.id);
|
|
18106
|
+
}
|
|
18107
|
+
const previous = readCoordinateRebaseNotice(db, sessionId);
|
|
18108
|
+
const generation = previous?.generation ?? readCoordinateGeneration(db, sessionId);
|
|
18109
|
+
if (generation !== null) {
|
|
18110
|
+
const derivedSequences = new Set(result.derived.map((note) => note.sequence));
|
|
18111
|
+
const notice = {
|
|
18112
|
+
generation,
|
|
18113
|
+
previousGeneration: previous?.previousGeneration ?? null,
|
|
18114
|
+
at: previous?.at ?? now,
|
|
18115
|
+
unresolvedCompartments: result.unresolved.length,
|
|
18116
|
+
discardedReductions: previous?.discardedReductions ?? 0,
|
|
18117
|
+
droppedDepthRows: previous?.droppedDepthRows ?? 0,
|
|
18118
|
+
healedGaps: previous?.healedGaps ?? 0,
|
|
18119
|
+
narrativeGaps: previous?.narrativeGaps ?? 0,
|
|
18120
|
+
derivedCompartments: [
|
|
18121
|
+
...(previous?.derivedCompartments ?? []).filter((note) => !derivedSequences.has(note.sequence)),
|
|
18122
|
+
...result.derived
|
|
18123
|
+
],
|
|
18124
|
+
unresolvedCompartmentRanges: result.unresolved,
|
|
18125
|
+
neighbourRecoveryAt: now
|
|
18126
|
+
};
|
|
18127
|
+
ensureSessionMetaRow(db, sessionId);
|
|
18128
|
+
db.prepare("UPDATE session_meta SET coordinate_rebase_notice = ? WHERE session_id = ?").run(JSON.stringify(notice), sessionId);
|
|
18129
|
+
}
|
|
18130
|
+
db.exec("COMMIT");
|
|
18131
|
+
committed = true;
|
|
18132
|
+
} finally {
|
|
18133
|
+
if (!committed) {
|
|
18134
|
+
try {
|
|
18135
|
+
db.exec("ROLLBACK");
|
|
18136
|
+
} catch {}
|
|
18137
|
+
}
|
|
18138
|
+
}
|
|
18139
|
+
result.rowsRewritten = changed.length;
|
|
18140
|
+
sessionLog(sessionId, `INFO compartment neighbour recovery (${args.reason}) rows_rewritten=${changed.length} ` + `derived=${result.derived.map((note) => `${note.start}-${note.end}`).join(",") || "none"} ` + `unresolved=${result.unresolved.map((note) => `${note.start}-${note.end}`).join(",") || "none"}`);
|
|
18141
|
+
return result;
|
|
18142
|
+
}
|
|
18143
|
+
var repairCheckedSessions = new WeakMap;
|
|
18144
|
+
function unresolvedRowBreaksTiling(rows) {
|
|
18145
|
+
let expectedStart = 1;
|
|
18146
|
+
for (let index = 0;index < rows.length; index += 1) {
|
|
18147
|
+
const row = rows[index];
|
|
18148
|
+
if (!row)
|
|
18149
|
+
continue;
|
|
18150
|
+
const broken = row.start_message !== expectedStart || row.end_message < row.start_message;
|
|
18151
|
+
const touchesUnresolved = row.rebase_status === "unresolved" || rows[index - 1]?.rebase_status === "unresolved";
|
|
18152
|
+
if (broken && touchesUnresolved)
|
|
18153
|
+
return true;
|
|
18154
|
+
expectedStart = row.end_message + 1;
|
|
18155
|
+
}
|
|
18156
|
+
return false;
|
|
18157
|
+
}
|
|
18158
|
+
function repairStampedSessionOnce(db, sessionId, readMessages) {
|
|
18159
|
+
let checked = repairCheckedSessions.get(db);
|
|
18160
|
+
if (!checked) {
|
|
18161
|
+
checked = new Set;
|
|
18162
|
+
repairCheckedSessions.set(db, checked);
|
|
18163
|
+
}
|
|
18164
|
+
if (checked.has(sessionId))
|
|
18165
|
+
return null;
|
|
18166
|
+
checked.add(sessionId);
|
|
18167
|
+
const rows = readCompartmentRows(db, "compartments", sessionId);
|
|
18168
|
+
if (!rows.some((row) => row.rebase_status === "unresolved"))
|
|
18169
|
+
return null;
|
|
18170
|
+
if (readCoordinateRebaseNotice(db, sessionId)?.neighbourRecoveryAt != null)
|
|
18171
|
+
return null;
|
|
18172
|
+
if (!unresolvedRowBreaksTiling(rows))
|
|
18173
|
+
return null;
|
|
18174
|
+
let ordinalById = null;
|
|
18175
|
+
return recoverUnresolvedCompartments({
|
|
18176
|
+
db,
|
|
18177
|
+
sessionId,
|
|
18178
|
+
resolveOrdinal: (messageId) => {
|
|
18179
|
+
ordinalById ??= buildProjection(readMessages(sessionId)).ordinalById;
|
|
18180
|
+
return ordinalById.get(messageId);
|
|
18181
|
+
},
|
|
18182
|
+
reason: "stamped-session repair"
|
|
18183
|
+
});
|
|
18184
|
+
}
|
|
18010
18185
|
function formatRebaseLogLine(outcome, elapsedMs) {
|
|
18011
18186
|
const rowsRewritten = outcome.compartmentsRebased + outcome.recompCompartmentsRebased + outcome.notesRebased + outcome.notesCleared + (outcome.priorBoundaryRebased ? 1 : 0) + (outcome.recompPartialRangeRebased ? 1 : 0);
|
|
18012
18187
|
const unresolved = outcome.compartmentsUnresolved + outcome.recompCompartmentsUnresolved;
|
|
18013
|
-
return `INFO store-generation-rebase ${outcome.previousGeneration ?? "unrecorded"}->${outcome.generation} ` + `rows_rewritten=${rowsRewritten} unresolved=${unresolved} ` + `index_rows_rebuilt=${outcome.indexRowsRebuilt} drops_discarded=${outcome.queuedReductionsDiscarded} ` + `healed_gaps=${outcome.healedGaps} narrative_gaps=${outcome.narrativeGaps} ` + `ms=${Math.round(elapsedMs)} ` + `(chunk_windows_deleted=${outcome.chunkEmbeddingsDeleted} depth_rows_dropped=${outcome.compressionDepthRowsDropped} ` + `part_tags_folded=${outcome.partTagsFolded} lkg_slots_dropped=${outcome.lkgSlotsDropped} ` + `frozen_part_entries_dropped=${outcome.frozenPartEntriesDropped})`;
|
|
18188
|
+
return `INFO store-generation-rebase ${outcome.previousGeneration ?? "unrecorded"}->${outcome.generation} ` + `rows_rewritten=${rowsRewritten} unresolved=${unresolved} derived=${outcome.compartmentsDerived} ` + `index_rows_rebuilt=${outcome.indexRowsRebuilt} drops_discarded=${outcome.queuedReductionsDiscarded} ` + `healed_gaps=${outcome.healedGaps} narrative_gaps=${outcome.narrativeGaps} ` + `ms=${Math.round(elapsedMs)} ` + `(chunk_windows_deleted=${outcome.chunkEmbeddingsDeleted} depth_rows_dropped=${outcome.compressionDepthRowsDropped} ` + `part_tags_folded=${outcome.partTagsFolded} lkg_slots_dropped=${outcome.lkgSlotsDropped} ` + `frozen_part_entries_dropped=${outcome.frozenPartEntriesDropped})`;
|
|
18014
18189
|
}
|
|
18015
18190
|
function planPriorBoundary(db, sessionId, plans) {
|
|
18016
18191
|
const row = db.prepare("SELECT prior_boundary_ordinal FROM session_meta WHERE session_id = ?").get(sessionId);
|
|
@@ -19251,7 +19426,12 @@ async function runGit(cwd, args) {
|
|
|
19251
19426
|
encoding: "utf8"
|
|
19252
19427
|
});
|
|
19253
19428
|
return String(result.stdout);
|
|
19254
|
-
} catch {
|
|
19429
|
+
} catch (error) {
|
|
19430
|
+
if (error.killed || error.code === "ETIMEDOUT") {
|
|
19431
|
+
throw new Error(`Git verification command timed out after ${GIT_TIMEOUT_MS2}ms`, {
|
|
19432
|
+
cause: error
|
|
19433
|
+
});
|
|
19434
|
+
}
|
|
19255
19435
|
return null;
|
|
19256
19436
|
}
|
|
19257
19437
|
}
|
|
@@ -24304,9 +24484,22 @@ function visitMessageContentFields(value, visitor) {
|
|
|
24304
24484
|
}
|
|
24305
24485
|
return visitor.field(LKG_SNAPSHOT_UNDEFINED);
|
|
24306
24486
|
}
|
|
24487
|
+
function contentSnapshotValue(value) {
|
|
24488
|
+
if (!value || typeof value !== "object")
|
|
24489
|
+
return value;
|
|
24490
|
+
const message = value;
|
|
24491
|
+
const info = message.info;
|
|
24492
|
+
const summary = info?.summary;
|
|
24493
|
+
if (!Array.isArray(message.parts) || info?.role !== "user" || summary === null || typeof summary !== "object" || Array.isArray(summary) || Object.keys(summary).length !== 1 || !Array.isArray(summary.diffs) || summary.diffs.length !== 0)
|
|
24494
|
+
return value;
|
|
24495
|
+
return {
|
|
24496
|
+
...message,
|
|
24497
|
+
info: Object.fromEntries(Object.entries(info).filter(([key]) => key !== "summary"))
|
|
24498
|
+
};
|
|
24499
|
+
}
|
|
24307
24500
|
function messageContentFields(message) {
|
|
24308
24501
|
const fields = [];
|
|
24309
|
-
const complete = visitMessageContentFields(message, {
|
|
24502
|
+
const complete = visitMessageContentFields(contentSnapshotValue(message), {
|
|
24310
24503
|
field(value) {
|
|
24311
24504
|
fields.push(value);
|
|
24312
24505
|
return true;
|
|
@@ -24372,7 +24565,7 @@ function lkgContentFields(value) {
|
|
|
24372
24565
|
fields.push(LKG_SNAPSHOT_UNDEFINED);
|
|
24373
24566
|
};
|
|
24374
24567
|
try {
|
|
24375
|
-
visit(value);
|
|
24568
|
+
visit(contentSnapshotValue(value));
|
|
24376
24569
|
return fields;
|
|
24377
24570
|
} catch {
|
|
24378
24571
|
return null;
|
|
@@ -25645,8 +25838,8 @@ function finishDatabaseOpen(db, dbPath, explicitDbPath, latestSupportedVersion)
|
|
|
25645
25838
|
{ readRawSessionMessagePage, readRawSessionMessages },
|
|
25646
25839
|
{ startMessageTimeBackfill }
|
|
25647
25840
|
] = await Promise.all([
|
|
25648
|
-
import("./read-session-chunk-
|
|
25649
|
-
import("./message-time-backfill-
|
|
25841
|
+
import("./read-session-chunk-53a7qbrh.js"),
|
|
25842
|
+
import("./message-time-backfill-0ccvyk9n.js")
|
|
25650
25843
|
]);
|
|
25651
25844
|
await startMessageTimeBackfill(db, Object.assign(readRawSessionMessages, {
|
|
25652
25845
|
readPage: readRawSessionMessagePage
|
|
@@ -28296,6 +28489,73 @@ function parseReportedLimit(message) {
|
|
|
28296
28489
|
return;
|
|
28297
28490
|
}
|
|
28298
28491
|
|
|
28492
|
+
// src/shared/assistant-message-extractor.ts
|
|
28493
|
+
function asSessionMessage(value) {
|
|
28494
|
+
if (!isRecord(value))
|
|
28495
|
+
return null;
|
|
28496
|
+
const info = value.info;
|
|
28497
|
+
const parts = value.parts;
|
|
28498
|
+
return {
|
|
28499
|
+
info: isRecord(info) ? {
|
|
28500
|
+
role: typeof info.role === "string" ? info.role : undefined,
|
|
28501
|
+
time: isRecord(info.time) ? {
|
|
28502
|
+
created: typeof info.time.created === "number" ? info.time.created : undefined
|
|
28503
|
+
} : undefined,
|
|
28504
|
+
error: info.error,
|
|
28505
|
+
finish: typeof info.finish === "string" ? info.finish : typeof info.finish_reason === "string" ? info.finish_reason : typeof info.finishReason === "string" ? info.finishReason : undefined
|
|
28506
|
+
} : undefined,
|
|
28507
|
+
parts
|
|
28508
|
+
};
|
|
28509
|
+
}
|
|
28510
|
+
function getCreatedTime(message) {
|
|
28511
|
+
return message.info?.time?.created ?? 0;
|
|
28512
|
+
}
|
|
28513
|
+
function getTextParts(message) {
|
|
28514
|
+
if (!Array.isArray(message.parts))
|
|
28515
|
+
return [];
|
|
28516
|
+
return message.parts.filter((part) => isRecord(part)).map((part) => ({
|
|
28517
|
+
type: typeof part.type === "string" ? part.type : undefined,
|
|
28518
|
+
text: typeof part.text === "string" ? part.text : undefined
|
|
28519
|
+
})).filter((part) => part.type === "text" && Boolean(part.text));
|
|
28520
|
+
}
|
|
28521
|
+
function getLatestAssistantMessage(messages) {
|
|
28522
|
+
if (!Array.isArray(messages) || messages.length === 0)
|
|
28523
|
+
return null;
|
|
28524
|
+
return messages.map(asSessionMessage).filter((message) => message !== null).filter((message) => message.info?.role === "assistant").sort((a, b) => getCreatedTime(b) - getCreatedTime(a))[0] ?? null;
|
|
28525
|
+
}
|
|
28526
|
+
function extractLatestAssistantText(messages) {
|
|
28527
|
+
const latest = getLatestAssistantMessage(messages);
|
|
28528
|
+
if (!latest)
|
|
28529
|
+
return null;
|
|
28530
|
+
return getTextParts(latest).map((part) => part.text).join(`
|
|
28531
|
+
`) || null;
|
|
28532
|
+
}
|
|
28533
|
+
function extractLatestAssistantFailure(messages) {
|
|
28534
|
+
const latest = getLatestAssistantMessage(messages);
|
|
28535
|
+
if (!latest || latest.info?.error === undefined || latest.info.error === null)
|
|
28536
|
+
return null;
|
|
28537
|
+
return {
|
|
28538
|
+
error: latest.info.error,
|
|
28539
|
+
finish: latest.info.finish ?? null
|
|
28540
|
+
};
|
|
28541
|
+
}
|
|
28542
|
+
function hasLengthCappedOutput(value) {
|
|
28543
|
+
if (Array.isArray(value))
|
|
28544
|
+
return value.some((item) => hasLengthCappedOutput(item));
|
|
28545
|
+
if (!isRecord(value))
|
|
28546
|
+
return false;
|
|
28547
|
+
if (value.length_capped === true || value.lengthCapped === true)
|
|
28548
|
+
return true;
|
|
28549
|
+
const finishReason = value.finish_reason ?? value.finishReason ?? value.finish ?? (value.type === "step-finish" ? value.reason : undefined) ?? value.stopReason;
|
|
28550
|
+
if (typeof finishReason === "string") {
|
|
28551
|
+
const normalized = finishReason.toLowerCase();
|
|
28552
|
+
if (normalized === "length" || normalized === "max_tokens" || normalized === "max_output_tokens") {
|
|
28553
|
+
return true;
|
|
28554
|
+
}
|
|
28555
|
+
}
|
|
28556
|
+
return Object.values(value).some((item) => hasLengthCappedOutput(item));
|
|
28557
|
+
}
|
|
28558
|
+
|
|
28299
28559
|
// src/shared/resolve-fallbacks.ts
|
|
28300
28560
|
function parseProviderModel(spec) {
|
|
28301
28561
|
const slash = spec.indexOf("/");
|
|
@@ -28589,6 +28849,17 @@ async function attemptAndValidate(client, args, timeoutMs, signal, callContext,
|
|
|
28589
28849
|
};
|
|
28590
28850
|
}
|
|
28591
28851
|
try {
|
|
28852
|
+
if (!extractLatestAssistantText(output)) {
|
|
28853
|
+
const assistantFailure = extractLatestAssistantFailure(output);
|
|
28854
|
+
if (assistantFailure) {
|
|
28855
|
+
const error = new Error(`Host recorded assistant error: ${String(assistantFailure.error)}`);
|
|
28856
|
+
Object.assign(error, {
|
|
28857
|
+
name: "DreamerProviderOutputFailureError",
|
|
28858
|
+
transient: true
|
|
28859
|
+
});
|
|
28860
|
+
throw error;
|
|
28861
|
+
}
|
|
28862
|
+
}
|
|
28592
28863
|
const validated = await options.validateOutput(output, attempt);
|
|
28593
28864
|
return { output, validated, attempt };
|
|
28594
28865
|
} catch (error) {
|
|
@@ -31116,73 +31387,6 @@ function recordChildInvocation(input) {
|
|
|
31116
31387
|
}
|
|
31117
31388
|
}
|
|
31118
31389
|
|
|
31119
|
-
// src/shared/assistant-message-extractor.ts
|
|
31120
|
-
function asSessionMessage(value) {
|
|
31121
|
-
if (!isRecord(value))
|
|
31122
|
-
return null;
|
|
31123
|
-
const info = value.info;
|
|
31124
|
-
const parts = value.parts;
|
|
31125
|
-
return {
|
|
31126
|
-
info: isRecord(info) ? {
|
|
31127
|
-
role: typeof info.role === "string" ? info.role : undefined,
|
|
31128
|
-
time: isRecord(info.time) ? {
|
|
31129
|
-
created: typeof info.time.created === "number" ? info.time.created : undefined
|
|
31130
|
-
} : undefined,
|
|
31131
|
-
error: info.error,
|
|
31132
|
-
finish: typeof info.finish === "string" ? info.finish : typeof info.finish_reason === "string" ? info.finish_reason : typeof info.finishReason === "string" ? info.finishReason : undefined
|
|
31133
|
-
} : undefined,
|
|
31134
|
-
parts
|
|
31135
|
-
};
|
|
31136
|
-
}
|
|
31137
|
-
function getCreatedTime(message) {
|
|
31138
|
-
return message.info?.time?.created ?? 0;
|
|
31139
|
-
}
|
|
31140
|
-
function getTextParts(message) {
|
|
31141
|
-
if (!Array.isArray(message.parts))
|
|
31142
|
-
return [];
|
|
31143
|
-
return message.parts.filter((part) => isRecord(part)).map((part) => ({
|
|
31144
|
-
type: typeof part.type === "string" ? part.type : undefined,
|
|
31145
|
-
text: typeof part.text === "string" ? part.text : undefined
|
|
31146
|
-
})).filter((part) => part.type === "text" && Boolean(part.text));
|
|
31147
|
-
}
|
|
31148
|
-
function getLatestAssistantMessage(messages) {
|
|
31149
|
-
if (!Array.isArray(messages) || messages.length === 0)
|
|
31150
|
-
return null;
|
|
31151
|
-
return messages.map(asSessionMessage).filter((message) => message !== null).filter((message) => message.info?.role === "assistant").sort((a, b) => getCreatedTime(b) - getCreatedTime(a))[0] ?? null;
|
|
31152
|
-
}
|
|
31153
|
-
function extractLatestAssistantText(messages) {
|
|
31154
|
-
const latest = getLatestAssistantMessage(messages);
|
|
31155
|
-
if (!latest)
|
|
31156
|
-
return null;
|
|
31157
|
-
return getTextParts(latest).map((part) => part.text).join(`
|
|
31158
|
-
`) || null;
|
|
31159
|
-
}
|
|
31160
|
-
function extractLatestAssistantFailure(messages) {
|
|
31161
|
-
const latest = getLatestAssistantMessage(messages);
|
|
31162
|
-
if (!latest || latest.info?.error === undefined || latest.info.error === null)
|
|
31163
|
-
return null;
|
|
31164
|
-
return {
|
|
31165
|
-
error: latest.info.error,
|
|
31166
|
-
finish: latest.info.finish ?? null
|
|
31167
|
-
};
|
|
31168
|
-
}
|
|
31169
|
-
function hasLengthCappedOutput(value) {
|
|
31170
|
-
if (Array.isArray(value))
|
|
31171
|
-
return value.some((item) => hasLengthCappedOutput(item));
|
|
31172
|
-
if (!isRecord(value))
|
|
31173
|
-
return false;
|
|
31174
|
-
if (value.length_capped === true || value.lengthCapped === true)
|
|
31175
|
-
return true;
|
|
31176
|
-
const finishReason = value.finish_reason ?? value.finishReason ?? value.finish ?? (value.type === "step-finish" ? value.reason : undefined) ?? value.stopReason;
|
|
31177
|
-
if (typeof finishReason === "string") {
|
|
31178
|
-
const normalized = finishReason.toLowerCase();
|
|
31179
|
-
if (normalized === "length" || normalized === "max_tokens" || normalized === "max_output_tokens") {
|
|
31180
|
-
return true;
|
|
31181
|
-
}
|
|
31182
|
-
}
|
|
31183
|
-
return Object.values(value).some((item) => hasLengthCappedOutput(item));
|
|
31184
|
-
}
|
|
31185
|
-
|
|
31186
31390
|
// src/shared/keep-subagents.ts
|
|
31187
31391
|
var keepSubagents = false;
|
|
31188
31392
|
function setKeepSubagents(value) {
|
|
@@ -31469,6 +31673,14 @@ function buildHistorianFailureNotice(failureCount, _lastError) {
|
|
|
31469
31673
|
return [heading, "", renderUserFacingFailure("historian_unavailable")].join(`
|
|
31470
31674
|
`);
|
|
31471
31675
|
}
|
|
31676
|
+
function buildStoredCompartmentsInvalidNotice() {
|
|
31677
|
+
return [
|
|
31678
|
+
"## Magic Context — History compression",
|
|
31679
|
+
"",
|
|
31680
|
+
renderUserFacingFailure("historian_saved_history_misaligned")
|
|
31681
|
+
].join(`
|
|
31682
|
+
`);
|
|
31683
|
+
}
|
|
31472
31684
|
function buildHistorianRepairPrompt(originalPrompt, previousOutput, validationError, language) {
|
|
31473
31685
|
const prompt = [
|
|
31474
31686
|
originalPrompt,
|
|
@@ -38183,6 +38395,13 @@ function v2NonNarrativeStoredGapRanges(db, sessionId, compartments) {
|
|
|
38183
38395
|
return safeRanges;
|
|
38184
38396
|
}
|
|
38185
38397
|
var lastHistorianAlertBySession = new Map;
|
|
38398
|
+
var STORED_COMPARTMENT_FAILURE_BACKOFF_MS = 30 * 60 * 1000;
|
|
38399
|
+
function storedCompartmentFailureBackingOff(db, sessionId, validationError, now = Date.now()) {
|
|
38400
|
+
if (getHistorianFailureState(db, sessionId).lastError !== validationError)
|
|
38401
|
+
return false;
|
|
38402
|
+
const failedAt = loadProtectedTailMeta(db, sessionId).historianDrainFailureAt;
|
|
38403
|
+
return failedAt > 0 && failedAt <= now && now - failedAt < STORED_COMPARTMENT_FAILURE_BACKOFF_MS;
|
|
38404
|
+
}
|
|
38186
38405
|
function shouldSuppressHistorianAlert(sessionId) {
|
|
38187
38406
|
const lastAlert = lastHistorianAlertBySession.get(sessionId);
|
|
38188
38407
|
if (lastAlert && Date.now() - lastAlert < HISTORIAN_ALERT_COOLDOWN_MS) {
|
|
@@ -38305,13 +38524,37 @@ async function runCompartmentAgent(deps) {
|
|
|
38305
38524
|
}
|
|
38306
38525
|
return;
|
|
38307
38526
|
}
|
|
38308
|
-
|
|
38309
|
-
|
|
38527
|
+
let priorCompartments = getCompartments(db, sessionId);
|
|
38528
|
+
let existingValidationError = validateStoredCompartments(priorCompartments, v2NonNarrativeStoredGapRanges(db, sessionId, priorCompartments));
|
|
38529
|
+
const unresolvedInvolved = existingValidationError !== null && priorCompartments.some((compartment) => compartment.rebaseStatus === "unresolved");
|
|
38530
|
+
if (unresolvedInvolved && existingValidationError && storedCompartmentFailureBackingOff(db, sessionId, existingValidationError)) {
|
|
38531
|
+
sessionLog(sessionId, `historian no-op: stored compartments still invalid ("${existingValidationError}"); backing off`);
|
|
38532
|
+
telemetry.status = "noop";
|
|
38533
|
+
telemetry.failureReason = `existing-validation backoff: ${existingValidationError}`;
|
|
38534
|
+
return;
|
|
38535
|
+
}
|
|
38536
|
+
if (unresolvedInvolved && existingValidationError) {
|
|
38537
|
+
const recovery = recoverUnresolvedCompartments({
|
|
38538
|
+
db,
|
|
38539
|
+
sessionId,
|
|
38540
|
+
resolveOrdinal: (messageId) => readRawSessionMessageOrdinalById2(sessionId, messageId) ?? undefined,
|
|
38541
|
+
reason: `historian pre-run check failed: ${existingValidationError}`
|
|
38542
|
+
});
|
|
38543
|
+
if (recovery.rowsRewritten > 0) {
|
|
38544
|
+
priorCompartments = getCompartments(db, sessionId);
|
|
38545
|
+
existingValidationError = validateStoredCompartments(priorCompartments, v2NonNarrativeStoredGapRanges(db, sessionId, priorCompartments));
|
|
38546
|
+
}
|
|
38547
|
+
}
|
|
38310
38548
|
if (existingValidationError) {
|
|
38311
38549
|
sessionLog(sessionId, `historian failure: source=existing-validation reason="${existingValidationError}"`);
|
|
38312
38550
|
const failCount = incrementHistorianFailure(db, sessionId, existingValidationError);
|
|
38313
38551
|
telemetry.failureReason = `existing-validation: ${existingValidationError}`;
|
|
38314
|
-
|
|
38552
|
+
if (unresolvedInvolved) {
|
|
38553
|
+
retainDrainReservationForRetryThrottle = true;
|
|
38554
|
+
await notifyHistorianIssue(buildStoredCompartmentsInvalidNotice());
|
|
38555
|
+
} else {
|
|
38556
|
+
await notifyHistorianIssue(buildHistorianFailureNotice(failCount, existingValidationError));
|
|
38557
|
+
}
|
|
38315
38558
|
return;
|
|
38316
38559
|
}
|
|
38317
38560
|
const offset = priorCompartments.length > 0 ? priorCompartments[priorCompartments.length - 1].endMessage + 1 : 1;
|
|
@@ -39790,4 +40033,4 @@ ${failure}`;
|
|
|
39790
40033
|
}
|
|
39791
40034
|
}
|
|
39792
40035
|
|
|
39793
|
-
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, LIVE_RELOAD_CONFIG_PATHS, isFailClosedBlockingError, shouldBypassFailClosedBlock, resolveAgentNameFromMessages, createFailClosedController, recordHookInitFailure, clearHookInitFailure, getLastHookInitFailure, ProjectIdentityError, resolveProjectIdentityStrict, takeDubiousOwnershipProjectIdentityWarning, resolveProjectIdentity, directoryHasGitMetadata, describeUnresolvedProjectIdentity, resolveProjectIdentityForSession, normalizeStoredProjectPath, storedPathBelongsToIdentity, isLinkedGitWorktree, recordSessionProjectIdentity, beginBootQuietPeriod, bootQuietRemainingMs, scheduleAfterBootQuiet, rpcPortDir, rpcPortFilePath, isPidAlive, parseRpcPortFile, observeAuthorityRouting, registerModuleNoteEvaluationBridge, getModuleNoteEvaluationBridge, getContextStoreUuid, ensureContextStoreUuid, getAuthorityManagedMarker, reconcileAuthorityMarker, reconcileAuthorityProject, checksumAuthoritySeedRows, prepareAuthority, drainAuthority, getMemoryMirrorStatus, takeMemoryEmbeddingInvalidatedProjects, moduleMemoryIdentityForHostId, hostMemoryIdentityForModuleId, applyMirroredNoteCompileFields, applyTargetedMemoryMirrorRow, drainMirrorPages, pullMemoryMirrorOnce, V2_MEMORY_CATEGORIES, CATEGORY_PRIORITY, resolveWorkspaceShareCategories, resolveWorkspaceIdentitySet, expandWorkspaceIdentitySetWithAliases, resolveStoredPathWorkspaceIdentity, storedPathBelongsToWorkspace, sourceNameForMemory, computeWorkspaceEpochFingerprint, 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, clampProducerAtomChars, producerInputTokenLimit, COMPARTMENT_LEASE_RENEWAL_MS, acquireCompartmentLease, renewCompartmentLease, releaseCompartmentLeaseBestEffort, getCompartments, getLastCompartmentEndMessage, getLastCompartmentEndMessageId, getMessageIndexSourceIdentity, isMessageIndexSourceCurrent, getLastIndexedOrdinal, getIndexedMessageCorpusSize, getMessageIndexReconciliationStartOrdinal, isMessageIndexReconciledThrough, deleteIndexedMessage, clearIndexedMessages, indexSingleMessage, indexMessagesAfterOrdinal, sweepOrphanedOpenCodeMessageIndexes, MAX_EXECUTE_THRESHOLD, escalationBands, MERGED_REASONING_PARTS_PREFIX, readFrozenMergedReasoningParts, HYGIENE_PROVIDER_UNITS_VERSION, sessionDecisionCalibration, transitionSessionHygieneUnits, 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, getCompactionMarkerHealth, loadPostprocessReplaySnapshot, setPendingCompactionMarkerState, replacePendingCompactionMarkerStateIf, clearPendingCompactionMarkerStateIf, getSessionsWithPendingMarker, setSessionWorkMetrics, getObservedEpochFloor, resolveEpochFloorForPass, BoundedSessionMap, registerLkgPersistence, beginLkgPass, visitMessageContentFields, messageContentFields, signatureForFields, exactReusablePrefix, incrementalLkgContentDigests, lkgContentDigest, captureSlot, getInMemorySlot, getSlot, dropSlot, noteEntry, getLkgSlotHeapStats, useScopedToolSweep, createPreAdoptionToolSweepResolver, recordEmbeddingMeasurement, getMaxM0MutationId, queueMemoryMutation, getMemoryMutationsForRenderByProjects, getMaxMemoryMutationIdForProjects, getOrCreateSessionMeta, updateSessionMeta, advanceToolReclaimWatermark, markSessionCleanupPending, retryPendingSessionCleanups, retryPendingRustSessionCleanupsForProject, clearSession, getNoteByIdInScope, 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, failedInvocationStatus, recordChildInvocation, resolveHiddenCompletionExecutor, USER_MEMORY_CANDIDATE_TTL_MS, insertUserMemoryCandidates, getUserMemoryCandidates, deleteUserMemoryCandidates, pruneExpiredUserMemoryCandidates, insertUserMemory, getActiveUserMemories, updateUserMemoryContent, dismissUserMemory, getMuralIdentity, getMural, readCoordinateRebaseNotice, formatCoordinateRebaseNotice, rebaseSessionCoordinates, getOpenCodeDbPath, compareOpenCodeMessagesByCanonicalOrder, removeMcOwnedCompactionMarkers, MARKER_SUMMARY_TEXT, applyDeferredCompactionMarker, removeCompactionMarkerForSession, checkCompactionMarkerConsistency, modelKeyAcceptsImages, resolveMuralWire, extractM0Block, formatDate, injectTemporalMarkers, clearInjectionCache, getVisibleMemoryIds, selectHiddenMessagesAtCompactionSeam, prepareCompartmentInjection, renderCompartmentInjection, mustMaterialize, trimMemoriesToBudgetV2, renderMemoryBlockV2, materializeM0, capturePrefixTrimSourceOrder, prepareCachedM0M1Replay, hasCompleteCachedM0M1, injectM0M1, EMPTY_READ_REPLY, noteTouchedAt, renderGlance, renderNotesById, formatWriteReply, onNoteTrigger, peekNoteNudgeText, markNoteNudgeDelivered, clearNoteNudgeTriggerAndCooldown, resetNoteNudgeCooldownOnly, clearNoteNudgeTriggerOnly, describeBoundaryDiagnostics, RECOVERY_NO_HEAD_LIMIT, resolveOpenCodeProtectedTailBoundary, resolveWrapupProtectedTailBoundary, getRawHistoryEligibility, hasRunnableCompartmentWindow, recordHighPressureNoEligibleHead, runCompartmentAgent, snapRangeToCompartments, getActiveCompartmentRun, markActiveCompartmentRunPublished, registerActiveCompartmentRun, startCompartmentAgent, setRecompStarting2, setRecompTerminal2, runManagedRecomp2 };
|
|
40036
|
+
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, LIVE_RELOAD_CONFIG_PATHS, isFailClosedBlockingError, shouldBypassFailClosedBlock, resolveAgentNameFromMessages, createFailClosedController, recordHookInitFailure, clearHookInitFailure, getLastHookInitFailure, ProjectIdentityError, resolveProjectIdentityStrict, takeDubiousOwnershipProjectIdentityWarning, resolveProjectIdentity, directoryHasGitMetadata, describeUnresolvedProjectIdentity, resolveProjectIdentityForSession, normalizeStoredProjectPath, storedPathBelongsToIdentity, isLinkedGitWorktree, recordSessionProjectIdentity, beginBootQuietPeriod, bootQuietRemainingMs, scheduleAfterBootQuiet, rpcPortDir, rpcPortFilePath, isPidAlive, parseRpcPortFile, observeAuthorityRouting, registerModuleNoteEvaluationBridge, getModuleNoteEvaluationBridge, getContextStoreUuid, ensureContextStoreUuid, getAuthorityManagedMarker, reconcileAuthorityMarker, reconcileAuthorityProject, checksumAuthoritySeedRows, prepareAuthority, drainAuthority, getMemoryMirrorStatus, takeMemoryEmbeddingInvalidatedProjects, moduleMemoryIdentityForHostId, hostMemoryIdentityForModuleId, applyMirroredNoteCompileFields, applyTargetedMemoryMirrorRow, drainMirrorPages, pullMemoryMirrorOnce, V2_MEMORY_CATEGORIES, CATEGORY_PRIORITY, resolveWorkspaceShareCategories, resolveWorkspaceIdentitySet, expandWorkspaceIdentitySetWithAliases, resolveStoredPathWorkspaceIdentity, storedPathBelongsToWorkspace, sourceNameForMemory, computeWorkspaceEpochFingerprint, 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, clampProducerAtomChars, producerInputTokenLimit, COMPARTMENT_LEASE_RENEWAL_MS, acquireCompartmentLease, renewCompartmentLease, releaseCompartmentLeaseBestEffort, getCompartments, getLastCompartmentEndMessage, getLastCompartmentEndMessageId, getMessageIndexSourceIdentity, isMessageIndexSourceCurrent, getLastIndexedOrdinal, getIndexedMessageCorpusSize, getMessageIndexReconciliationStartOrdinal, isMessageIndexReconciledThrough, deleteIndexedMessage, clearIndexedMessages, indexSingleMessage, indexMessagesAfterOrdinal, sweepOrphanedOpenCodeMessageIndexes, MAX_EXECUTE_THRESHOLD, escalationBands, MERGED_REASONING_PARTS_PREFIX, readFrozenMergedReasoningParts, HYGIENE_PROVIDER_UNITS_VERSION, sessionDecisionCalibration, transitionSessionHygieneUnits, 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, getCompactionMarkerHealth, loadPostprocessReplaySnapshot, setPendingCompactionMarkerState, replacePendingCompactionMarkerStateIf, clearPendingCompactionMarkerStateIf, getSessionsWithPendingMarker, setSessionWorkMetrics, getObservedEpochFloor, resolveEpochFloorForPass, BoundedSessionMap, registerLkgPersistence, beginLkgPass, visitMessageContentFields, contentSnapshotValue, messageContentFields, signatureForFields, exactReusablePrefix, incrementalLkgContentDigests, lkgContentDigest, captureSlot, getInMemorySlot, getSlot, dropSlot, noteEntry, getLkgSlotHeapStats, useScopedToolSweep, createPreAdoptionToolSweepResolver, recordEmbeddingMeasurement, getMaxM0MutationId, queueMemoryMutation, getMemoryMutationsForRenderByProjects, getMaxMemoryMutationIdForProjects, getOrCreateSessionMeta, updateSessionMeta, advanceToolReclaimWatermark, markSessionCleanupPending, retryPendingSessionCleanups, retryPendingRustSessionCleanupsForProject, clearSession, getNoteByIdInScope, 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, extractLatestAssistantText, hasLengthCappedOutput, parseProviderModel, modelBodyField, toModelEntry, getPromptFailureDetail, promptSyncWithValidatedOutputRetry, normalizeSDKResponse, ACTIVE_TOOL_IDS, promptSurfaceHashMaterial, createPromptSurfaceRuntime, createPromptSurfaceGuidanceEpochCache, 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, failedInvocationStatus, recordChildInvocation, resolveHiddenCompletionExecutor, USER_MEMORY_CANDIDATE_TTL_MS, insertUserMemoryCandidates, getUserMemoryCandidates, deleteUserMemoryCandidates, pruneExpiredUserMemoryCandidates, insertUserMemory, getActiveUserMemories, updateUserMemoryContent, dismissUserMemory, getMuralIdentity, getMural, readCoordinateRebaseNotice, formatCoordinateRebaseNotice, rebaseSessionCoordinates, getOpenCodeDbPath, compareOpenCodeMessagesByCanonicalOrder, removeMcOwnedCompactionMarkers, MARKER_SUMMARY_TEXT, applyDeferredCompactionMarker, removeCompactionMarkerForSession, checkCompactionMarkerConsistency, modelKeyAcceptsImages, resolveMuralWire, extractM0Block, formatDate, injectTemporalMarkers, clearInjectionCache, getVisibleMemoryIds, selectHiddenMessagesAtCompactionSeam, prepareCompartmentInjection, renderCompartmentInjection, mustMaterialize, trimMemoriesToBudgetV2, renderMemoryBlockV2, materializeM0, capturePrefixTrimSourceOrder, prepareCachedM0M1Replay, hasCompleteCachedM0M1, injectM0M1, EMPTY_READ_REPLY, noteTouchedAt, renderGlance, renderNotesById, formatWriteReply, onNoteTrigger, peekNoteNudgeText, markNoteNudgeDelivered, clearNoteNudgeTriggerAndCooldown, resetNoteNudgeCooldownOnly, clearNoteNudgeTriggerOnly, describeBoundaryDiagnostics, RECOVERY_NO_HEAD_LIMIT, resolveOpenCodeProtectedTailBoundary, resolveWrapupProtectedTailBoundary, getRawHistoryEligibility, hasRunnableCompartmentWindow, recordHighPressureNoEligibleHead, runCompartmentAgent, snapRangeToCompartments, getActiveCompartmentRun, markActiveCompartmentRunPublished, registerActiveCompartmentRun, startCompartmentAgent, setRecompStarting2, setRecompTerminal2, runManagedRecomp2 };
|