@cortexkit/opencode-magic-context 0.44.2 → 0.44.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{conflict-warning-hook-1msyvb51.js → conflict-warning-hook-hmpzxep6.js} +3 -3
- package/dist/{derive-budgets-gd2270s0.js → derive-budgets-ncwn1jk9.js} +4 -2
- package/dist/features/magic-context/dreamer/classify.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/lease.d.ts +1 -1
- package/dist/features/magic-context/dreamer/lease.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-openai.d.ts +1 -0
- package/dist/features/magic-context/memory/embedding-openai.d.ts.map +1 -1
- package/dist/features/magic-context/memory/project-identity.d.ts +8 -4
- package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
- package/dist/features/magic-context/message-index-async.d.ts +1 -1
- package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
- package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
- package/dist/features/magic-context/session-project-storage.d.ts +5 -5
- package/dist/features/magic-context/session-project-storage.d.ts.map +1 -1
- package/dist/features/magic-context/storage-db.d.ts +6 -1
- package/dist/features/magic-context/storage-db.d.ts.map +1 -1
- package/dist/features/magic-context/storage-embedding-measurements.d.ts.map +1 -1
- package/dist/features/magic-context/v22-deferred-backfill.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-render-epoch.d.ts +12 -1
- package/dist/hooks/magic-context/compartment-render-epoch.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-historian.d.ts +2 -1
- package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-types.d.ts +1 -0
- package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
- package/dist/hooks/magic-context/derive-budgets.d.ts +4 -0
- package/dist/hooks/magic-context/derive-budgets.d.ts.map +1 -1
- package/dist/hooks/magic-context/drop-stale-reduce-calls.d.ts.map +1 -1
- package/dist/hooks/magic-context/event-resolvers.d.ts +7 -0
- package/dist/hooks/magic-context/event-resolvers.d.ts.map +1 -1
- package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
- package/dist/hooks/magic-context/historian-host-runner.d.ts.map +1 -1
- package/dist/hooks/magic-context/inject-compartments.d.ts +5 -0
- package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-persist.d.ts +1 -4
- package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-wire.d.ts.map +1 -1
- package/dist/hooks/magic-context/producer-window-guard.d.ts +4 -1
- package/dist/hooks/magic-context/producer-window-guard.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-chunk.d.ts +4 -2
- package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-raw.d.ts +2 -2
- package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
- package/dist/hooks/magic-context/rust-mode-transform.d.ts +1 -0
- package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
- package/dist/hooks/magic-context/storage-busy-refusal.d.ts +6 -0
- package/dist/hooks/magic-context/storage-busy-refusal.d.ts.map +1 -1
- package/dist/hooks/magic-context/tokenizer-calibration.d.ts +1 -1
- package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +1 -0
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform.d.ts.map +1 -1
- package/dist/{index-r9vkp4n9.js → index-33q7s9y2.js} +1 -1
- package/dist/{index-egkfvhms.js → index-4an2p8qa.js} +80 -14
- package/dist/{index-18tjha8g.js → index-638hf49n.js} +1 -1
- package/dist/{index-gtzcmv90.js → index-mrc0twf3.js} +12 -6
- package/dist/{index-stb5fg12.js → index-msqr3x6m.js} +32 -2
- package/dist/{index-y5145x8k.js → index-n96ag4rk.js} +15 -1
- package/dist/{index-esxfcz5z.js → index-qm36k34q.js} +56 -13
- package/dist/{index-ttdn47aq.js → index-sqp1hz9v.js} +311 -82
- package/dist/{index-40s1xz22.js → index-wprsye9w.js} +1 -1
- package/dist/{index-3x9caerx.js → index-zx7pmr39.js} +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +530 -250
- package/dist/plugin/dream-timer.d.ts.map +1 -1
- package/dist/plugin/embedding-bootstrap.d.ts.map +1 -1
- package/dist/plugin/messages-transform.d.ts.map +1 -1
- package/dist/plugin/rpc-handlers.d.ts.map +1 -1
- package/dist/{read-session-chunk-wmvgnd24.js → read-session-chunk-339hg90t.js} +3 -3
- package/dist/{recomp-orchestrator-rk40ff15.js → recomp-orchestrator-0ers6smx.js} +7 -7
- package/dist/{send-session-notification-6xsrcxnp.js → send-session-notification-04hvd54c.js} +2 -2
- package/dist/shared/rpc-utils.d.ts +7 -0
- package/dist/shared/rpc-utils.d.ts.map +1 -1
- package/dist/shared/run-token-log.d.ts +13 -0
- package/dist/shared/run-token-log.d.ts.map +1 -0
- package/dist/shared/sqlite.d.ts +7 -0
- package/dist/shared/sqlite.d.ts.map +1 -1
- package/dist/shared/transcript.d.ts +2 -0
- package/dist/shared/transcript.d.ts.map +1 -1
- package/dist/shared/user-answer.d.ts +4 -0
- package/dist/shared/user-answer.d.ts.map +1 -0
- package/dist/{transform-postprocess-phase-t7xgdhdf.js → transform-postprocess-phase-ttdkrm6r.js} +7 -7
- package/dist/v2/hidden-completion.d.ts +7 -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-terminal-error.d.ts +8 -0
- package/dist/v2/hooks/hidden-terminal-error.d.ts.map +1 -0
- package/dist/v2/hooks/payload.d.ts.map +1 -1
- package/dist/v2/hooks/store.d.ts +1 -1
- package/dist/v2/hooks/store.d.ts.map +1 -1
- package/dist/v2/hooks/tools.d.ts +1 -1
- package/dist/v2/hooks/tools.d.ts.map +1 -1
- package/dist/v2/server.js +916 -221
- package/dist/v2/store-reader.d.ts +2 -1
- package/dist/v2/store-reader.d.ts.map +1 -1
- package/dist/{wrapup-orchestrator-h8tr10c6.js → wrapup-orchestrator-x0jvvrqn.js} +8 -8
- package/package.json +1 -1
- package/src/config/latch-permanence-guard.test.ts +4 -0
- package/src/shared/data-path.test.ts +1 -1
- package/src/shared/models-dev-cache.test.ts +30 -1
- package/src/shared/rpc-utils.test.ts +27 -2
- package/src/shared/rpc-utils.ts +44 -15
- package/src/shared/run-token-log.test.ts +65 -0
- package/src/shared/run-token-log.ts +39 -0
- package/src/shared/sqlite-acquisition-routing.test.ts +19 -11
- package/src/shared/sqlite-pass-scope.test.ts +115 -144
- package/src/shared/sqlite.ts +123 -20
- package/src/shared/storage-busy.test.ts +34 -57
- package/src/shared/tag-transcript.ts +4 -1
- package/src/shared/transcript.ts +3 -0
- package/src/shared/user-answer.test.ts +40 -0
- package/src/shared/user-answer.ts +17 -0
- package/src/shared/write-transaction-attribution.test.ts +13 -11
|
@@ -35,8 +35,9 @@ import {
|
|
|
35
35
|
modelSupportsVision,
|
|
36
36
|
getSdkOutputLimit,
|
|
37
37
|
deriveTriggerBudget2,
|
|
38
|
+
resolveHistorianProducerLimits2,
|
|
38
39
|
producerSourceLocalBudget2
|
|
39
|
-
} from "./index-
|
|
40
|
+
} from "./index-msqr3x6m.js";
|
|
40
41
|
import {
|
|
41
42
|
resolveOpenCodeDbPath,
|
|
42
43
|
hasV1MessageTables,
|
|
@@ -48,11 +49,12 @@ import {
|
|
|
48
49
|
detectSqliteRuntime,
|
|
49
50
|
Database,
|
|
50
51
|
withoutSqliteTransformPass,
|
|
52
|
+
beginSqliteWriterAsync,
|
|
51
53
|
withPrivilegedWriter,
|
|
52
54
|
closeQuietly,
|
|
53
55
|
withReadOnlySessionDb,
|
|
54
56
|
getMessageTimesFromOpenCodeDb
|
|
55
|
-
} from "./index-
|
|
57
|
+
} from "./index-4an2p8qa.js";
|
|
56
58
|
import {
|
|
57
59
|
removeSystemReminders,
|
|
58
60
|
hasMeaningfulUserText2,
|
|
@@ -100,13 +102,13 @@ import {
|
|
|
100
102
|
getRawSessionTagKeysThrough2,
|
|
101
103
|
getLegacyProtectedTailStartOrdinal2,
|
|
102
104
|
readSessionChunk2
|
|
103
|
-
} from "./index-
|
|
105
|
+
} from "./index-qm36k34q.js";
|
|
104
106
|
import {
|
|
105
107
|
resolveDecisionCalibration,
|
|
106
108
|
providerMass,
|
|
107
109
|
calibrationForModelKey,
|
|
108
110
|
historyLocalBudget
|
|
109
|
-
} from "./index-
|
|
111
|
+
} from "./index-n96ag4rk.js";
|
|
110
112
|
import {
|
|
111
113
|
pushNotification2
|
|
112
114
|
} from "./index-jdxxq8cz.js";
|
|
@@ -114,7 +116,7 @@ import {
|
|
|
114
116
|
getErrorMessage,
|
|
115
117
|
describeError,
|
|
116
118
|
sendStatusNotification2
|
|
117
|
-
} from "./index-
|
|
119
|
+
} from "./index-33q7s9y2.js";
|
|
118
120
|
import {
|
|
119
121
|
logSlowWriteTransaction
|
|
120
122
|
} from "./index-kr5qehbd.js";
|
|
@@ -8843,6 +8845,27 @@ var dubiousOwnershipLoggedDirectories = new Set;
|
|
|
8843
8845
|
var dubiousOwnershipWarnedDirectories = new Set;
|
|
8844
8846
|
var transientGitIdentityReuseLoggedDirectories = new Set;
|
|
8845
8847
|
var sessionIdentityCache = new Map;
|
|
8848
|
+
var homeProjectPermission = false;
|
|
8849
|
+
var homeProjectSkipLogged = false;
|
|
8850
|
+
var pausedIdentityReasons = new Map;
|
|
8851
|
+
var pausedIdentityLogged = new Set;
|
|
8852
|
+
function setHomeProjectPermission(allowed) {
|
|
8853
|
+
homeProjectPermission = allowed;
|
|
8854
|
+
}
|
|
8855
|
+
function shouldSkipHomeProjectMemory(directory) {
|
|
8856
|
+
try {
|
|
8857
|
+
assertProjectAllowed(directory, homeProjectPermission);
|
|
8858
|
+
return false;
|
|
8859
|
+
} catch (error) {
|
|
8860
|
+
if (!(error instanceof ProjectIdentityError) || error.errorClass !== "home_project_disabled")
|
|
8861
|
+
throw error;
|
|
8862
|
+
if (!homeProjectSkipLogged) {
|
|
8863
|
+
homeProjectSkipLogged = true;
|
|
8864
|
+
log("[magic-context] home project memory disabled; skipping memory features");
|
|
8865
|
+
}
|
|
8866
|
+
return true;
|
|
8867
|
+
}
|
|
8868
|
+
}
|
|
8846
8869
|
var execFileSyncForIdentity = execFileSync;
|
|
8847
8870
|
var userHomeDirectoryForIdentity = () => homedir4();
|
|
8848
8871
|
var nowMs = () => Date.now();
|
|
@@ -8924,6 +8947,27 @@ function isGitTimeoutError(error) {
|
|
|
8924
8947
|
const signal = getErrorSignal(error);
|
|
8925
8948
|
return code === "ETIMEDOUT" || signal === "SIGTERM" || signal === "SIGKILL" || getErrorKilled(error);
|
|
8926
8949
|
}
|
|
8950
|
+
function hasUnbornHead(directory) {
|
|
8951
|
+
const options = {
|
|
8952
|
+
cwd: directory,
|
|
8953
|
+
encoding: "utf8",
|
|
8954
|
+
env: { ...process.env, LC_ALL: "C", LANG: "C" },
|
|
8955
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
8956
|
+
timeout: GIT_TIMEOUT_MS,
|
|
8957
|
+
windowsHide: true
|
|
8958
|
+
};
|
|
8959
|
+
try {
|
|
8960
|
+
execFileSyncForIdentity("git", ["rev-parse", "--git-dir"], options);
|
|
8961
|
+
try {
|
|
8962
|
+
execFileSyncForIdentity("git", ["rev-parse", "--verify", "--quiet", "HEAD"], options);
|
|
8963
|
+
return false;
|
|
8964
|
+
} catch (error) {
|
|
8965
|
+
return !isGitTimeoutError(error) && typeof error === "object" && error !== null && "status" in error && error.status === 1 && getErrorStderr(error) === "";
|
|
8966
|
+
}
|
|
8967
|
+
} catch {
|
|
8968
|
+
return false;
|
|
8969
|
+
}
|
|
8970
|
+
}
|
|
8927
8971
|
function classifyGitError(error, rawDirectory) {
|
|
8928
8972
|
if (isGitTimeoutError(error)) {
|
|
8929
8973
|
return new ProjectIdentityError("git_timeout", rawDirectory, `git rev-list timed out after ${GIT_TIMEOUT_MS}ms`, asError(error));
|
|
@@ -8944,7 +8988,7 @@ function classifyGitError(error, rawDirectory) {
|
|
|
8944
8988
|
}
|
|
8945
8989
|
return new ProjectIdentityError("unknown", rawDirectory, "git rev-list failed while resolving project identity", asError(error));
|
|
8946
8990
|
}
|
|
8947
|
-
function resolveProjectIdentityStrict(directory, allowHomeProject =
|
|
8991
|
+
function resolveProjectIdentityStrict(directory, allowHomeProject = homeProjectPermission) {
|
|
8948
8992
|
assertProjectAllowed(directory, allowHomeProject);
|
|
8949
8993
|
const canonical = path2.resolve(directory);
|
|
8950
8994
|
const cached = identityCache.get(canonical);
|
|
@@ -8966,7 +9010,11 @@ function resolveProjectIdentityStrict(directory, allowHomeProject = false) {
|
|
|
8966
9010
|
windowsHide: true
|
|
8967
9011
|
});
|
|
8968
9012
|
} catch (error) {
|
|
8969
|
-
|
|
9013
|
+
const classified = classifyGitError(error, directory);
|
|
9014
|
+
if (classified.errorClass === "not_git_repo" && hasUnbornHead(canonical)) {
|
|
9015
|
+
throw new ProjectIdentityError("no_commits", directory, "Git repository has no commits yet");
|
|
9016
|
+
}
|
|
9017
|
+
throw classified;
|
|
8970
9018
|
}
|
|
8971
9019
|
const rootCommit = output.split(`
|
|
8972
9020
|
`).map((line) => line.trim().slice(0, 64)).filter((line) => /^[0-9a-f]{7,64}$/.test(line)).sort()[0];
|
|
@@ -9081,7 +9129,7 @@ function assertProjectAllowed(directory, allowHomeProject) {
|
|
|
9081
9129
|
throw new ProjectIdentityError("home_project_disabled", directory, "Home project memory is disabled; set allow_home_project to opt in");
|
|
9082
9130
|
}
|
|
9083
9131
|
}
|
|
9084
|
-
function resolveProjectIdentity(directory, allowHomeProject =
|
|
9132
|
+
function resolveProjectIdentity(directory, allowHomeProject = homeProjectPermission) {
|
|
9085
9133
|
assertProjectAllowed(directory, allowHomeProject);
|
|
9086
9134
|
const canonical = path2.resolve(directory);
|
|
9087
9135
|
const cachedFallback = directoryFallbackCache.get(canonical);
|
|
@@ -9106,6 +9154,8 @@ function resolveProjectIdentity(directory, allowHomeProject = false) {
|
|
|
9106
9154
|
} catch (error) {
|
|
9107
9155
|
if (error instanceof ProjectIdentityError && shouldUseDirectoryFallback(error)) {
|
|
9108
9156
|
const fallback = directoryFallback(canonical);
|
|
9157
|
+
if (error.errorClass === "no_commits")
|
|
9158
|
+
return fallback;
|
|
9109
9159
|
const hasGitMetadata = hasGitDir(canonical);
|
|
9110
9160
|
if (!hasGitMetadata) {
|
|
9111
9161
|
if (error.errorClass === "permission_denied")
|
|
@@ -9127,7 +9177,7 @@ function resolveProjectIdentity(directory, allowHomeProject = false) {
|
|
|
9127
9177
|
throw error;
|
|
9128
9178
|
}
|
|
9129
9179
|
}
|
|
9130
|
-
function resolveProjectIdentityOrFallback(directory, allowHomeProject =
|
|
9180
|
+
function resolveProjectIdentityOrFallback(directory, allowHomeProject = homeProjectPermission) {
|
|
9131
9181
|
try {
|
|
9132
9182
|
return resolveProjectIdentity(directory, allowHomeProject);
|
|
9133
9183
|
} catch (error) {
|
|
@@ -9205,7 +9255,7 @@ function describeUnresolvedProjectIdentity(directory) {
|
|
|
9205
9255
|
function isUsableProjectIdentity(identity) {
|
|
9206
9256
|
return typeof identity === "string" && identity.trim().length > 0;
|
|
9207
9257
|
}
|
|
9208
|
-
function resolveProjectIdentityForSession(directory, allowHomeProject =
|
|
9258
|
+
function resolveProjectIdentityForSession(directory, allowHomeProject = homeProjectPermission) {
|
|
9209
9259
|
const resolvedDirectory = path2.resolve(directory);
|
|
9210
9260
|
const cacheKey = `${allowHomeProject ? "1" : "0"}\x00${resolvedDirectory}`;
|
|
9211
9261
|
const cached = sessionIdentityCache.get(cacheKey);
|
|
@@ -9234,9 +9284,18 @@ function resolveProjectIdentityForSession(directory, allowHomeProject = false) {
|
|
|
9234
9284
|
} catch (error) {
|
|
9235
9285
|
if (!(error instanceof ProjectIdentityError))
|
|
9236
9286
|
throw error;
|
|
9287
|
+
const reason = error.errorClass === "git_identity_unavailable" ? pausedIdentityReasons.get(resolvedDirectory) ?? error.errorClass : error.errorClass;
|
|
9288
|
+
pausedIdentityReasons.set(resolvedDirectory, reason);
|
|
9289
|
+
const logKey = `${resolvedDirectory}\x00${reason}`;
|
|
9290
|
+
if (!pausedIdentityLogged.has(logKey)) {
|
|
9291
|
+
pausedIdentityLogged.add(logKey);
|
|
9292
|
+
log(`[magic-context] memory features paused for ${resolvedDirectory}: ${reason}`);
|
|
9293
|
+
}
|
|
9237
9294
|
identity = undefined;
|
|
9238
9295
|
}
|
|
9239
9296
|
}
|
|
9297
|
+
if (identity !== undefined)
|
|
9298
|
+
pausedIdentityReasons.delete(resolvedDirectory);
|
|
9240
9299
|
sessionIdentityCache.set(cacheKey, {
|
|
9241
9300
|
identity,
|
|
9242
9301
|
revalidateAt: identity?.startsWith("git:") === true ? null : nowMs() + TRANSIENT_FAILURE_COOLDOWN_MS
|
|
@@ -9441,7 +9500,6 @@ var WINDOWS_CIM_PROBE_TIMEOUT_MS = 5000;
|
|
|
9441
9500
|
var WINDOWS_PROCESS_SNAPSHOT_TTL_MS = 2000;
|
|
9442
9501
|
var MAX_ANCESTOR_WALK_DEPTH = 16;
|
|
9443
9502
|
var OPEN_CODE_COMMAND_MARKERS = ["opencode", "node", "bun", "electron"];
|
|
9444
|
-
var TASKLIST_NO_TASKS_PATTERN = /^INFO:\s+No tasks are running which match the specified criteria\.?$/im;
|
|
9445
9503
|
var WINDOWS_CIM_COMMAND = "Get-CimInstance Win32_Process | Select-Object ProcessId,ParentProcessId,Name,CommandLine,CreationDate | ConvertTo-Json -Compress";
|
|
9446
9504
|
var PI_HARNESS_ARC_MARKERS = [
|
|
9447
9505
|
"pi-coding-agent",
|
|
@@ -9535,18 +9593,14 @@ function parseCsvLine(line) {
|
|
|
9535
9593
|
}
|
|
9536
9594
|
function parseTasklistOutput(output) {
|
|
9537
9595
|
const entries = [];
|
|
9538
|
-
let sawHeader = false;
|
|
9539
9596
|
for (const rawLine of output.split(/\r?\n/)) {
|
|
9540
9597
|
const line = rawLine.trim();
|
|
9541
9598
|
if (!line)
|
|
9542
9599
|
continue;
|
|
9543
|
-
if (TASKLIST_NO_TASKS_PATTERN.test(line))
|
|
9544
|
-
return [];
|
|
9545
9600
|
const fields = parseCsvLine(line);
|
|
9546
9601
|
if (!fields)
|
|
9547
9602
|
continue;
|
|
9548
9603
|
if (fields[1]?.trim().toLowerCase() === "pid") {
|
|
9549
|
-
sawHeader = true;
|
|
9550
9604
|
continue;
|
|
9551
9605
|
}
|
|
9552
9606
|
const pid = Number(fields[1]);
|
|
@@ -9554,11 +9608,11 @@ function parseTasklistOutput(output) {
|
|
|
9554
9608
|
continue;
|
|
9555
9609
|
entries.push({ pid, command: fields[0] });
|
|
9556
9610
|
}
|
|
9557
|
-
return entries
|
|
9611
|
+
return entries;
|
|
9558
9612
|
}
|
|
9559
9613
|
function readWindowsProcess(pid) {
|
|
9560
9614
|
try {
|
|
9561
|
-
const output = rpcIdentityExecFileSync("tasklist", ["/FO", "CSV", "/FI", `PID eq ${pid}`], {
|
|
9615
|
+
const output = rpcIdentityExecFileSync("tasklist", ["/FO", "CSV", "/NH", "/FI", `PID eq ${pid}`], {
|
|
9562
9616
|
encoding: "utf8",
|
|
9563
9617
|
timeout: PS_PROBE_TIMEOUT_MS,
|
|
9564
9618
|
stdio: ["ignore", "pipe", "pipe"],
|
|
@@ -9795,7 +9849,11 @@ function tryReadWindowsCimSnapshot(exec) {
|
|
|
9795
9849
|
}
|
|
9796
9850
|
function tryReadWindowsTasklistSnapshot() {
|
|
9797
9851
|
try {
|
|
9798
|
-
const output = execProcessList(rpcProcessListExecFileSync, "tasklist", [
|
|
9852
|
+
const output = execProcessList(rpcProcessListExecFileSync, "tasklist", [
|
|
9853
|
+
"/FO",
|
|
9854
|
+
"CSV",
|
|
9855
|
+
"/NH"
|
|
9856
|
+
]);
|
|
9799
9857
|
const entries = parseTasklistOutput(output);
|
|
9800
9858
|
if (entries === null)
|
|
9801
9859
|
return null;
|
|
@@ -10004,7 +10062,7 @@ function inspectProcessesAsync(forceFresh = false) {
|
|
|
10004
10062
|
snapshot = snapshotFromFacts(facts, "cim");
|
|
10005
10063
|
} catch {}
|
|
10006
10064
|
if (!snapshot) {
|
|
10007
|
-
const entries = parseTasklistOutput(await asyncProcessExec("tasklist", ["/FO", "CSV"], PS_PROBE_TIMEOUT_MS));
|
|
10065
|
+
const entries = parseTasklistOutput(await asyncProcessExec("tasklist", ["/FO", "CSV", "/NH"], PS_PROBE_TIMEOUT_MS));
|
|
10008
10066
|
if (entries)
|
|
10009
10067
|
snapshot = snapshotFromFacts(entries.map(({ pid, command }) => ({
|
|
10010
10068
|
pid,
|
|
@@ -10053,6 +10111,19 @@ function inspectProcessesAsync(forceFresh = false) {
|
|
|
10053
10111
|
});
|
|
10054
10112
|
return asyncInspection;
|
|
10055
10113
|
}
|
|
10114
|
+
function inspectWindowsProcessesSync() {
|
|
10115
|
+
const snapshot = tryReadWindowsCimSnapshot(rpcProcessListExecFileSync) ?? tryReadWindowsTasklistSnapshot();
|
|
10116
|
+
const byPid = new Map(snapshot?.facts.map((fact) => [fact.pid, fact]));
|
|
10117
|
+
return {
|
|
10118
|
+
pi: snapshot ? classifyLivePiSnapshot(snapshot) : { state: "unreadable", processIds: [] },
|
|
10119
|
+
...snapshot ? { processSnapshot: { source: snapshot.source, facts: snapshot.facts } } : {},
|
|
10120
|
+
evidence: (pid) => ({
|
|
10121
|
+
startTime: byPid.get(pid)?.startTime ?? null,
|
|
10122
|
+
commandLine: byPid.get(pid)?.commandLine ?? byPid.get(pid)?.imageName ?? null
|
|
10123
|
+
}),
|
|
10124
|
+
liveness: (pid) => byPid.has(pid) ? "alive" : snapshot ? "dead" : "inconclusive"
|
|
10125
|
+
};
|
|
10126
|
+
}
|
|
10056
10127
|
|
|
10057
10128
|
// src/features/magic-context/context-authority.ts
|
|
10058
10129
|
import { createHash as createHash5, randomUUID as randomUUID2 } from "node:crypto";
|
|
@@ -15367,7 +15438,9 @@ function classifyJunkDiscovery(portFile, raw, staleFiles) {
|
|
|
15367
15438
|
log(`[magic-context] removing stale RPC discovery file ${portFile}: ${reason} record older than 10 minutes`);
|
|
15368
15439
|
return null;
|
|
15369
15440
|
}
|
|
15370
|
-
function inspectRpcServerDiscovery(storageDir, processes) {
|
|
15441
|
+
function inspectRpcServerDiscovery(storageDir, processes, options) {
|
|
15442
|
+
const deadline = options?.deadlineMs === undefined ? Number.POSITIVE_INFINITY : Date.now() + options.deadlineMs;
|
|
15443
|
+
let progressAt = Date.now() + 3000;
|
|
15371
15444
|
const rpcRoot = join4(storageDir, "rpc");
|
|
15372
15445
|
let projectEntries;
|
|
15373
15446
|
try {
|
|
@@ -15400,11 +15473,19 @@ function inspectRpcServerDiscovery(storageDir, processes) {
|
|
|
15400
15473
|
if (portFiles.length === 0) {
|
|
15401
15474
|
return { state: "absent", serverPids: [], staleFiles: [] };
|
|
15402
15475
|
}
|
|
15476
|
+
if (!processes && process.platform === "win32")
|
|
15477
|
+
processes = inspectWindowsProcessesSync();
|
|
15403
15478
|
const pids = new Set;
|
|
15404
15479
|
const processByPid = new Map;
|
|
15405
15480
|
const staleFiles = [];
|
|
15406
15481
|
const inconclusivePids = new Set;
|
|
15407
|
-
for (const portFile of portFiles) {
|
|
15482
|
+
for (const [index, portFile] of portFiles.entries()) {
|
|
15483
|
+
if (Date.now() >= deadline)
|
|
15484
|
+
throw new Error(`RPC holder inspection timed out after ${Math.round((options?.deadlineMs ?? 0) / 1000)} seconds (${index}/${portFiles.length} records checked). Close OpenCode and Pi, then retry.`);
|
|
15485
|
+
if (options?.onProgress && Date.now() >= progressAt) {
|
|
15486
|
+
options.onProgress(index, portFiles.length);
|
|
15487
|
+
progressAt = Date.now() + 3000;
|
|
15488
|
+
}
|
|
15408
15489
|
let raw;
|
|
15409
15490
|
try {
|
|
15410
15491
|
raw = rpcDiscoveryFs.readFileSync(portFile, "utf8");
|
|
@@ -15442,7 +15523,7 @@ function inspectRpcServerDiscovery(storageDir, processes) {
|
|
|
15442
15523
|
if (!previous || previous.kind === "process" && detected.kind !== "process") {
|
|
15443
15524
|
processByPid.set(record.pid, detected);
|
|
15444
15525
|
}
|
|
15445
|
-
} else if (identity === "implausible") {
|
|
15526
|
+
} else if (identity === "implausible" && !((processes?.processSnapshot?.source === "cim" || processes?.processSnapshot?.source === "tasklist") && liveness === "alive")) {
|
|
15446
15527
|
staleFiles.push(portFile);
|
|
15447
15528
|
} else {
|
|
15448
15529
|
inconclusivePids.add(record.pid);
|
|
@@ -15593,7 +15674,7 @@ function finishDatabaseOpen(db, dbPath, explicitDbPath, latestSupportedVersion)
|
|
|
15593
15674
|
{ readRawSessionMessagePage, readRawSessionMessages },
|
|
15594
15675
|
{ startMessageTimeBackfill }
|
|
15595
15676
|
] = await Promise.all([
|
|
15596
|
-
import("./read-session-chunk-
|
|
15677
|
+
import("./read-session-chunk-339hg90t.js"),
|
|
15597
15678
|
import("./message-time-backfill-q374fxc5.js")
|
|
15598
15679
|
]);
|
|
15599
15680
|
await startMessageTimeBackfill(db, Object.assign(readRawSessionMessages, {
|
|
@@ -25800,7 +25881,12 @@ function pruneSynapseBatchLedgerForProject(db, projectIdentity, ttlMs = SYNAPSE_
|
|
|
25800
25881
|
const ledgerTable = db.prepare("SELECT 1 AS present FROM sqlite_master WHERE type = 'table' AND name = 'synapse_batch_ledger'").get();
|
|
25801
25882
|
if (!ledgerTable)
|
|
25802
25883
|
return 0;
|
|
25803
|
-
|
|
25884
|
+
const shadow = `shadow:${projectIdentity}`;
|
|
25885
|
+
const cutoff = Date.now() - ttlMs;
|
|
25886
|
+
const predicate = "session_id IN (?, ?) AND updated_at < ?";
|
|
25887
|
+
if (!db.prepare(`SELECT 1 FROM synapse_batch_ledger WHERE ${predicate} LIMIT 1`).get(projectIdentity, shadow, cutoff))
|
|
25888
|
+
return 0;
|
|
25889
|
+
return db.prepare(`DELETE FROM synapse_batch_ledger WHERE ${predicate}`).run(projectIdentity, shadow, cutoff).changes;
|
|
25804
25890
|
}
|
|
25805
25891
|
// src/features/magic-context/storage-memory-mutation-log.ts
|
|
25806
25892
|
var MEMORY_MUTATION_TYPES = new Set(["archive", "delete", "update", "superseded"]);
|
|
@@ -30046,6 +30132,28 @@ function blockedEmbeddingEndpointReason(endpoint) {
|
|
|
30046
30132
|
}
|
|
30047
30133
|
|
|
30048
30134
|
// src/features/magic-context/memory/embedding-openai.ts
|
|
30135
|
+
function capEmbeddingInput(input, maxInputTokens, purpose) {
|
|
30136
|
+
const ratio = purpose === "query" ? CHUNK_WINDOW_SAFETY_RATIO : 1;
|
|
30137
|
+
const budget = Math.max(1, Math.floor(maxInputTokens * ratio));
|
|
30138
|
+
if (estimateTokens(input) <= budget)
|
|
30139
|
+
return input;
|
|
30140
|
+
let low = 0;
|
|
30141
|
+
let high = input.length;
|
|
30142
|
+
while (low < high) {
|
|
30143
|
+
const mid = Math.ceil((low + high) / 2);
|
|
30144
|
+
if (estimateTokens(input.slice(0, mid)) <= budget)
|
|
30145
|
+
low = mid;
|
|
30146
|
+
else
|
|
30147
|
+
high = mid - 1;
|
|
30148
|
+
}
|
|
30149
|
+
if (low > 0 && low < input.length) {
|
|
30150
|
+
const last = input.charCodeAt(low - 1);
|
|
30151
|
+
const next = input.charCodeAt(low);
|
|
30152
|
+
if (last >= 55296 && last <= 56319 && next >= 56320 && next <= 57343)
|
|
30153
|
+
low -= 1;
|
|
30154
|
+
}
|
|
30155
|
+
return input.slice(0, low);
|
|
30156
|
+
}
|
|
30049
30157
|
function normalizeEndpoint3(endpoint) {
|
|
30050
30158
|
return endpoint?.trim().replace(/\/+$/, "") ?? "";
|
|
30051
30159
|
}
|
|
@@ -30072,6 +30180,7 @@ class OpenAICompatibleEmbeddingProvider {
|
|
|
30072
30180
|
modelMismatchLogged = false;
|
|
30073
30181
|
lastFailureReason = null;
|
|
30074
30182
|
halfOpenProbeInFlight = false;
|
|
30183
|
+
queryTruncationLogged = false;
|
|
30075
30184
|
constructor(options) {
|
|
30076
30185
|
this.endpoint = normalizeEndpoint3(options.endpoint);
|
|
30077
30186
|
this.model = options.model?.trim() ?? "";
|
|
@@ -30125,7 +30234,15 @@ class OpenAICompatibleEmbeddingProvider {
|
|
|
30125
30234
|
return [];
|
|
30126
30235
|
}
|
|
30127
30236
|
const textPrefix = purpose === "query" ? this.queryPrefix : this.documentPrefix;
|
|
30128
|
-
const requestTexts = texts.map((text) =>
|
|
30237
|
+
const requestTexts = texts.map((text) => {
|
|
30238
|
+
const input = `${textPrefix}${text.trim().length === 0 ? " " : text}`;
|
|
30239
|
+
const capped = capEmbeddingInput(input, this.maxInputTokens, purpose);
|
|
30240
|
+
if (purpose === "query" && capped.length < input.length && !this.queryTruncationLogged) {
|
|
30241
|
+
log(`[magic-context] embedding query truncated from ${input.length} to ${capped.length} characters to fit max_input_tokens`);
|
|
30242
|
+
this.queryTruncationLogged = true;
|
|
30243
|
+
}
|
|
30244
|
+
return capped;
|
|
30245
|
+
});
|
|
30129
30246
|
if (!await this.initialize()) {
|
|
30130
30247
|
return Array.from({ length: texts.length }, () => null);
|
|
30131
30248
|
}
|
|
@@ -30658,6 +30775,23 @@ var SESSION_CHUNK_REPAIR_BATCH_SIZE = 100;
|
|
|
30658
30775
|
var upsertSessionProjectStatements = new WeakMap;
|
|
30659
30776
|
var repairSessionChunkProjectStatements = new WeakMap;
|
|
30660
30777
|
var repairProjectChunkProjectStatements = new WeakMap;
|
|
30778
|
+
var misScopedProjectChunkStatements = new WeakMap;
|
|
30779
|
+
var MIS_SCOPED_PROJECT_CHUNK_IDS_SQL = `
|
|
30780
|
+
SELECT e.id FROM compartment_chunk_embeddings e
|
|
30781
|
+
JOIN session_projects sp ON sp.session_id = e.session_id AND sp.harness = e.harness
|
|
30782
|
+
WHERE e.project_path = ? AND sp.project_path <> e.project_path
|
|
30783
|
+
UNION ALL
|
|
30784
|
+
SELECT e.id FROM session_projects sp
|
|
30785
|
+
JOIN compartment_chunk_embeddings e ON e.session_id = sp.session_id
|
|
30786
|
+
WHERE sp.project_path = ? AND e.harness = sp.harness AND e.project_path <> sp.project_path`;
|
|
30787
|
+
function hasMisScopedCompartmentChunkEmbeddingsForProject(db, projectPath) {
|
|
30788
|
+
let stmt = misScopedProjectChunkStatements.get(db);
|
|
30789
|
+
if (!stmt) {
|
|
30790
|
+
stmt = db.prepare(`SELECT 1 FROM (${MIS_SCOPED_PROJECT_CHUNK_IDS_SQL}) LIMIT 1`);
|
|
30791
|
+
misScopedProjectChunkStatements.set(db, stmt);
|
|
30792
|
+
}
|
|
30793
|
+
return !!stmt.get(projectPath, projectPath);
|
|
30794
|
+
}
|
|
30661
30795
|
function getUpsertSessionProjectStatement(db) {
|
|
30662
30796
|
let stmt = upsertSessionProjectStatements.get(db);
|
|
30663
30797
|
if (!stmt) {
|
|
@@ -30693,23 +30827,11 @@ function getRepairProjectChunkProjectStatement(db) {
|
|
|
30693
30827
|
if (!stmt) {
|
|
30694
30828
|
stmt = db.prepare(`UPDATE compartment_chunk_embeddings
|
|
30695
30829
|
SET project_path = (
|
|
30696
|
-
SELECT sp.project_path
|
|
30697
|
-
FROM session_projects sp
|
|
30830
|
+
SELECT sp.project_path FROM session_projects sp
|
|
30698
30831
|
WHERE sp.session_id = compartment_chunk_embeddings.session_id
|
|
30699
30832
|
AND sp.harness = compartment_chunk_embeddings.harness
|
|
30700
|
-
LIMIT 1
|
|
30701
30833
|
)
|
|
30702
|
-
WHERE
|
|
30703
|
-
SELECT 1
|
|
30704
|
-
FROM session_projects sp
|
|
30705
|
-
WHERE sp.session_id = compartment_chunk_embeddings.session_id
|
|
30706
|
-
AND sp.harness = compartment_chunk_embeddings.harness
|
|
30707
|
-
AND sp.project_path <> compartment_chunk_embeddings.project_path
|
|
30708
|
-
AND (
|
|
30709
|
-
sp.project_path = ?
|
|
30710
|
-
OR compartment_chunk_embeddings.project_path = ?
|
|
30711
|
-
)
|
|
30712
|
-
)`);
|
|
30834
|
+
WHERE id IN (${MIS_SCOPED_PROJECT_CHUNK_IDS_SQL})`);
|
|
30713
30835
|
repairProjectChunkProjectStatements.set(db, stmt);
|
|
30714
30836
|
}
|
|
30715
30837
|
return stmt;
|
|
@@ -30729,6 +30851,8 @@ function recordSessionProjectIdentity(db, sessionId, projectPath) {
|
|
|
30729
30851
|
function repairMisScopedCompartmentChunkEmbeddingsForProject(db, projectPath) {
|
|
30730
30852
|
if (!projectPath)
|
|
30731
30853
|
return 0;
|
|
30854
|
+
if (!hasMisScopedCompartmentChunkEmbeddingsForProject(db, projectPath))
|
|
30855
|
+
return 0;
|
|
30732
30856
|
return getRepairProjectChunkProjectStatement(db).run(projectPath, projectPath).changes;
|
|
30733
30857
|
}
|
|
30734
30858
|
|
|
@@ -31199,6 +31323,14 @@ function recordActiveEmbeddingIdentity(db, projectIdentity, currentProviderIdent
|
|
|
31199
31323
|
if (currentProviderIdentity === OFF_PROVIDER_IDENTITY) {
|
|
31200
31324
|
return;
|
|
31201
31325
|
}
|
|
31326
|
+
const scopes = [["chunk", currentChunkIdentity]];
|
|
31327
|
+
if (features.memoryEnabled)
|
|
31328
|
+
scopes.push(["memory", currentProviderIdentity]);
|
|
31329
|
+
if (features.gitCommitEnabled)
|
|
31330
|
+
scopes.push(["commit", currentProviderIdentity]);
|
|
31331
|
+
const active = db.prepare("SELECT 1 FROM embedding_identity_active WHERE project_path = ? AND scope = ? AND model_id = ?");
|
|
31332
|
+
if (scopes.every(([scope, model]) => active.get(projectIdentity, scope, model)) && !hasMisScopedCompartmentChunkEmbeddingsForProject(db, projectIdentity))
|
|
31333
|
+
return;
|
|
31202
31334
|
const now = Date.now();
|
|
31203
31335
|
const transactionStartedAt = performance.now();
|
|
31204
31336
|
db.exec("BEGIN IMMEDIATE");
|
|
@@ -31396,7 +31528,9 @@ function registerProjectEmbedding(db, projectIdentity, config, features, sourceD
|
|
|
31396
31528
|
observationMode: false
|
|
31397
31529
|
};
|
|
31398
31530
|
projectRegistrations.set(projectIdentity, registration);
|
|
31399
|
-
|
|
31531
|
+
if (generationChanged || !db.prepare("SELECT 1 FROM embedding_registrations WHERE project_path = ? AND provider_identity = ? AND chunk_model_id = ? AND generation = ?").get(projectIdentity, providerIdentity, registration.chunkModelId, generation)) {
|
|
31532
|
+
persistPrimaryDescriptor(db, registration);
|
|
31533
|
+
}
|
|
31400
31534
|
if (!canReuseProvider) {
|
|
31401
31535
|
disposeProvider(prior?.provider ?? null);
|
|
31402
31536
|
}
|
|
@@ -33383,7 +33517,8 @@ var EPOCH_COMPONENT_PREFIX = "|compartment-render:";
|
|
|
33383
33517
|
var MEMORY_EPOCH_COMPONENT_PREFIX = "|memory-render:";
|
|
33384
33518
|
var MURAL_COMPONENT_PREFIX = "|mural-enabled:";
|
|
33385
33519
|
var BUDGET_COMPONENT_PREFIX = "|render-budgets:";
|
|
33386
|
-
|
|
33520
|
+
var RENDERED_BUDGETS_COMPONENT_PREFIX = "|rendered-budgets:";
|
|
33521
|
+
function encodeCachedM0UpgradeIdentity(upgradeState, compartmentRenderEpoch = COMPARTMENT_RENDER_EPOCH, muralEnabled = null, renderBudgetIdentity = null, memoryRenderEpoch = MEMORY_RENDER_FORMAT_EPOCH, renderedBudgets = null) {
|
|
33387
33522
|
let encoded = upgradeState ?? "";
|
|
33388
33523
|
if (compartmentRenderEpoch !== null) {
|
|
33389
33524
|
encoded += `${EPOCH_COMPONENT_PREFIX}${compartmentRenderEpoch}`;
|
|
@@ -33397,6 +33532,9 @@ function encodeCachedM0UpgradeIdentity(upgradeState, compartmentRenderEpoch = CO
|
|
|
33397
33532
|
if (renderBudgetIdentity !== null) {
|
|
33398
33533
|
encoded += `${BUDGET_COMPONENT_PREFIX}${renderBudgetIdentity}`;
|
|
33399
33534
|
}
|
|
33535
|
+
if (renderedBudgets !== null) {
|
|
33536
|
+
encoded += `${RENDERED_BUDGETS_COMPONENT_PREFIX}${renderedBudgets}`;
|
|
33537
|
+
}
|
|
33400
33538
|
return encoded.length > 0 ? encoded : null;
|
|
33401
33539
|
}
|
|
33402
33540
|
function component(value, prefix) {
|
|
@@ -33415,14 +33553,16 @@ function decodeCachedM0UpgradeIdentity(value) {
|
|
|
33415
33553
|
compartmentRenderEpoch: null,
|
|
33416
33554
|
memoryRenderEpoch: null,
|
|
33417
33555
|
muralEnabled: null,
|
|
33418
|
-
renderBudgetIdentity: null
|
|
33556
|
+
renderBudgetIdentity: null,
|
|
33557
|
+
renderedBudgets: null
|
|
33419
33558
|
};
|
|
33420
33559
|
}
|
|
33421
33560
|
const componentIndexes = [
|
|
33422
33561
|
value.indexOf(EPOCH_COMPONENT_PREFIX),
|
|
33423
33562
|
value.indexOf(MEMORY_EPOCH_COMPONENT_PREFIX),
|
|
33424
33563
|
value.indexOf(MURAL_COMPONENT_PREFIX),
|
|
33425
|
-
value.indexOf(BUDGET_COMPONENT_PREFIX)
|
|
33564
|
+
value.indexOf(BUDGET_COMPONENT_PREFIX),
|
|
33565
|
+
value.indexOf(RENDERED_BUDGETS_COMPONENT_PREFIX)
|
|
33426
33566
|
].filter((index) => index >= 0);
|
|
33427
33567
|
const identityEnd = componentIndexes.length > 0 ? Math.min(...componentIndexes) : value.length;
|
|
33428
33568
|
const upgradeState = value.slice(0, identityEnd);
|
|
@@ -33432,9 +33572,36 @@ function decodeCachedM0UpgradeIdentity(value) {
|
|
|
33432
33572
|
compartmentRenderEpoch: component(value, EPOCH_COMPONENT_PREFIX),
|
|
33433
33573
|
memoryRenderEpoch: component(value, MEMORY_EPOCH_COMPONENT_PREFIX),
|
|
33434
33574
|
muralEnabled: muralComponent === "1" ? true : muralComponent === "0" ? false : null,
|
|
33435
|
-
renderBudgetIdentity: component(value, BUDGET_COMPONENT_PREFIX)
|
|
33575
|
+
renderBudgetIdentity: component(value, BUDGET_COMPONENT_PREFIX),
|
|
33576
|
+
renderedBudgets: component(value, RENDERED_BUDGETS_COMPONENT_PREFIX)
|
|
33436
33577
|
};
|
|
33437
33578
|
}
|
|
33579
|
+
function renderBudgetIdentityChanged(cached, current) {
|
|
33580
|
+
const legacy = /^(m[^-]+)-h\d+$/.exec(cached);
|
|
33581
|
+
if (legacy && current.startsWith("m") && current.includes("-hp")) {
|
|
33582
|
+
return legacy[1] !== current.slice(0, current.indexOf("-h"));
|
|
33583
|
+
}
|
|
33584
|
+
return cached !== current;
|
|
33585
|
+
}
|
|
33586
|
+
function renderedBudgetSnapshot(memoryTokens, historyTokens) {
|
|
33587
|
+
return `m${memoryTokens}-h${historyTokens}`;
|
|
33588
|
+
}
|
|
33589
|
+
function readRenderedBudgets(value) {
|
|
33590
|
+
const match = value?.match(/^m(\d+(?:\.\d+)?)-h(\d+(?:\.\d+)?)$/);
|
|
33591
|
+
if (!match)
|
|
33592
|
+
return null;
|
|
33593
|
+
const memory = Number(match[1]);
|
|
33594
|
+
const history = Number(match[2]);
|
|
33595
|
+
return Number.isFinite(memory) && Number.isFinite(history) ? { memory, history } : null;
|
|
33596
|
+
}
|
|
33597
|
+
function renderedBudgetShrinkReason(cached, current) {
|
|
33598
|
+
const before = readRenderedBudgets(cached);
|
|
33599
|
+
const after = readRenderedBudgets(current);
|
|
33600
|
+
if (!before || !after)
|
|
33601
|
+
return null;
|
|
33602
|
+
const shrunk = (oldTokens, newTokens) => oldTokens - newTokens > Math.max(64, oldTokens * 0.01);
|
|
33603
|
+
return shrunk(before.memory, after.memory) || shrunk(before.history, after.history) ? `render_config:budget_shrink(${cached}→${current})` : null;
|
|
33604
|
+
}
|
|
33438
33605
|
|
|
33439
33606
|
// src/hooks/magic-context/decay-curve.ts
|
|
33440
33607
|
var H50 = 24;
|
|
@@ -34164,8 +34331,8 @@ function lastCompartmentBoundaryId(compartments) {
|
|
|
34164
34331
|
}
|
|
34165
34332
|
var DEFAULT_HISTORY_BUDGET_TOKENS = 60000;
|
|
34166
34333
|
var DEFAULT_MEMORY_BUDGET_TOKENS = 8000;
|
|
34167
|
-
function renderBudgetIdentity(memoryBudget, historyBudget) {
|
|
34168
|
-
return `m${memoryBudget ?? DEFAULT_MEMORY_BUDGET_TOKENS}-h${historyBudget ?? DEFAULT_HISTORY_BUDGET_TOKENS}`;
|
|
34334
|
+
function renderBudgetIdentity(memoryBudget, historyBudget, historyPolicy) {
|
|
34335
|
+
return `m${memoryBudget ?? DEFAULT_MEMORY_BUDGET_TOKENS}-h${historyPolicy ?? historyBudget ?? DEFAULT_HISTORY_BUDGET_TOKENS}`;
|
|
34169
34336
|
}
|
|
34170
34337
|
var DEFAULT_USER_PROFILE_BUDGET_TOKENS = 4000;
|
|
34171
34338
|
var MAX_FORCED_MEMORIES_PER_DELTA = 10;
|
|
@@ -34431,7 +34598,8 @@ function readCurrentM0SnapshotMarkersUncached(args) {
|
|
|
34431
34598
|
modelKey: piModelRefToCanonical(hard.modelKey),
|
|
34432
34599
|
projectIdentity: args.projectPath ?? null,
|
|
34433
34600
|
muralEnabled: args.memoryEnabled !== false && args.muralEnabled === true,
|
|
34434
|
-
renderBudgetIdentity: renderBudgetIdentity(args.memoryInjectionBudgetTokens, args.historyBudgetTokens)
|
|
34601
|
+
renderBudgetIdentity: renderBudgetIdentity(args.memoryInjectionBudgetTokens, args.historyBudgetTokens, args.historyBudgetPolicyIdentity),
|
|
34602
|
+
renderedBudgets: renderedBudgetSnapshot(args.memoryInjectionBudgetTokens ?? DEFAULT_MEMORY_BUDGET_TOKENS, args.historyBudgetTokens ?? DEFAULT_HISTORY_BUDGET_TOKENS)
|
|
34435
34603
|
}
|
|
34436
34604
|
};
|
|
34437
34605
|
}
|
|
@@ -34445,7 +34613,8 @@ function refreshVolatileMarkerInputs(markers, args) {
|
|
|
34445
34613
|
modelKey: hard.modelKey,
|
|
34446
34614
|
projectIdentity: args.projectPath ?? null,
|
|
34447
34615
|
muralEnabled: args.memoryEnabled !== false && args.muralEnabled === true,
|
|
34448
|
-
renderBudgetIdentity: renderBudgetIdentity(args.memoryInjectionBudgetTokens, args.historyBudgetTokens)
|
|
34616
|
+
renderBudgetIdentity: renderBudgetIdentity(args.memoryInjectionBudgetTokens, args.historyBudgetTokens, args.historyBudgetPolicyIdentity),
|
|
34617
|
+
renderedBudgets: renderedBudgetSnapshot(args.memoryInjectionBudgetTokens ?? DEFAULT_MEMORY_BUDGET_TOKENS, args.historyBudgetTokens ?? DEFAULT_HISTORY_BUDGET_TOKENS)
|
|
34449
34618
|
};
|
|
34450
34619
|
}
|
|
34451
34620
|
function readCurrentM0SnapshotMarkers(args) {
|
|
@@ -34515,7 +34684,8 @@ function snapshotMarkersFromCachedM0(state) {
|
|
|
34515
34684
|
projectIdentity: state.cachedM0ProjectIdentity ?? null,
|
|
34516
34685
|
muralHash: state.cachedM0MuralHash ?? null,
|
|
34517
34686
|
muralEnabled: cachedUpgradeIdentity.muralEnabled,
|
|
34518
|
-
renderBudgetIdentity: cachedUpgradeIdentity.renderBudgetIdentity
|
|
34687
|
+
renderBudgetIdentity: cachedUpgradeIdentity.renderBudgetIdentity,
|
|
34688
|
+
renderedBudgets: cachedUpgradeIdentity.renderedBudgets
|
|
34519
34689
|
};
|
|
34520
34690
|
}
|
|
34521
34691
|
var MEMORY_DERIVED_BLOCK_PATTERN = /<(?:project-memory|user-profile|new-user-profile|memory-updates|memory-mural)(?:>|\s)/;
|
|
@@ -34531,14 +34701,26 @@ function mustMaterialize(args) {
|
|
|
34531
34701
|
const current = readCurrentM0SnapshotMarkers(args);
|
|
34532
34702
|
const cachedUpgradeIdentity = decodeCachedM0UpgradeIdentity(args.state.cachedM0UpgradeState);
|
|
34533
34703
|
if (args.memoryEnabled === false && cachedMemoryDerivedSurfacePresent(args.state)) {
|
|
34534
|
-
return { value: true, reason: "render_config" };
|
|
34704
|
+
return { value: true, reason: "render_config:memory_disabled" };
|
|
34535
34705
|
}
|
|
34536
34706
|
if (cachedUpgradeIdentity.compartmentRenderEpoch !== current.compartmentRenderEpoch) {
|
|
34537
34707
|
return { value: true, reason: "compartment_render_epoch" };
|
|
34538
34708
|
}
|
|
34539
|
-
if (cachedUpgradeIdentity.muralEnabled !== null && cachedUpgradeIdentity.muralEnabled !== current.muralEnabled
|
|
34540
|
-
return {
|
|
34709
|
+
if (cachedUpgradeIdentity.muralEnabled !== null && cachedUpgradeIdentity.muralEnabled !== current.muralEnabled) {
|
|
34710
|
+
return {
|
|
34711
|
+
value: true,
|
|
34712
|
+
reason: `render_config:mural(${cachedUpgradeIdentity.muralEnabled}→${current.muralEnabled})`
|
|
34713
|
+
};
|
|
34541
34714
|
}
|
|
34715
|
+
if (cachedUpgradeIdentity.renderBudgetIdentity !== null && current.renderBudgetIdentity != null && renderBudgetIdentityChanged(cachedUpgradeIdentity.renderBudgetIdentity, current.renderBudgetIdentity)) {
|
|
34716
|
+
return {
|
|
34717
|
+
value: true,
|
|
34718
|
+
reason: `render_config:budget(${cachedUpgradeIdentity.renderBudgetIdentity}→${current.renderBudgetIdentity})`
|
|
34719
|
+
};
|
|
34720
|
+
}
|
|
34721
|
+
const budgetShrinkReason = renderedBudgetShrinkReason(cachedUpgradeIdentity.renderedBudgets, current.renderedBudgets);
|
|
34722
|
+
if (budgetShrinkReason)
|
|
34723
|
+
return { value: true, reason: budgetShrinkReason };
|
|
34542
34724
|
const canonicalHardModelKey = piModelRefToCanonical(hard.modelKey);
|
|
34543
34725
|
const canonicalCachedModelKey = piModelRefToCanonical(args.state.cachedM0ModelKey ?? "");
|
|
34544
34726
|
if (canonicalHardModelKey !== "" && canonicalHardModelKey !== canonicalCachedModelKey) {
|
|
@@ -34891,7 +35073,7 @@ function applyMarkersToState(state, m0Bytes, markers, m1Bytes) {
|
|
|
34891
35073
|
state.cachedM0ProjectDocsHash = markers.projectDocsHash;
|
|
34892
35074
|
state.cachedM0MaterializedAt = markers.materializedAt;
|
|
34893
35075
|
state.cachedM0SessionFactsVersion = markers.sessionFactsVersion;
|
|
34894
|
-
state.cachedM0UpgradeState = encodeCachedM0UpgradeIdentity(markers.upgradeState, markers.compartmentRenderEpoch, markers.muralEnabled, markers.renderBudgetIdentity, markers.memoryRenderEpoch);
|
|
35076
|
+
state.cachedM0UpgradeState = encodeCachedM0UpgradeIdentity(markers.upgradeState, markers.compartmentRenderEpoch, markers.muralEnabled, markers.renderBudgetIdentity, markers.memoryRenderEpoch, markers.renderedBudgets ?? null);
|
|
34895
35077
|
state.cachedM0SystemHash = markers.systemHash;
|
|
34896
35078
|
state.cachedM0ToolSetHash = markers.toolSetHash;
|
|
34897
35079
|
state.cachedM0ModelKey = markers.modelKey;
|
|
@@ -34943,6 +35125,7 @@ function materializeM0(options) {
|
|
|
34943
35125
|
muralEnabled: options.muralEnabled,
|
|
34944
35126
|
memoryInjectionBudgetTokens: options.memoryInjectionBudgetTokens,
|
|
34945
35127
|
historyBudgetTokens: options.historyBudgetTokens,
|
|
35128
|
+
historyBudgetPolicyIdentity: options.historyBudgetPolicyIdentity,
|
|
34946
35129
|
hardSignals: options.hardSignals,
|
|
34947
35130
|
workspaceIdentitySet: {
|
|
34948
35131
|
identities: workspace.identities,
|
|
@@ -35043,7 +35226,8 @@ function materializeM0(options) {
|
|
|
35043
35226
|
modelKey: snapshotMarkers.modelKey,
|
|
35044
35227
|
projectIdentity: projectPath ?? null,
|
|
35045
35228
|
muralEnabled: snapshotMarkers.muralEnabled,
|
|
35046
|
-
renderBudgetIdentity: snapshotMarkers.renderBudgetIdentity
|
|
35229
|
+
renderBudgetIdentity: snapshotMarkers.renderBudgetIdentity,
|
|
35230
|
+
renderedBudgets: snapshotMarkers.renderedBudgets
|
|
35047
35231
|
};
|
|
35048
35232
|
const memoryEpochStale = current.workspaceFingerprint !== null || snapshotMarkers.workspaceFingerprint !== null ? current.workspaceFingerprint !== snapshotMarkers.workspaceFingerprint : current.projectMemoryEpoch !== snapshotMarkers.projectMemoryEpoch;
|
|
35049
35233
|
const stale = memoryEpochStale || current.projectUserProfileVersion !== snapshotMarkers.projectUserProfileVersion || current.maxCompartmentSeq !== snapshotMarkers.maxCompartmentSeq || current.maxMutationId !== snapshotMarkers.maxMutationId || current.maxMemoryMutationId !== snapshotMarkers.maxMemoryMutationId || current.sessionFactsVersion !== snapshotMarkers.sessionFactsVersion || current.upgradeState !== snapshotMarkers.upgradeState || (current.projectIdentity ?? null) !== (snapshotMarkers.projectIdentity ?? null);
|
|
@@ -35078,7 +35262,7 @@ function materializeM0(options) {
|
|
|
35078
35262
|
projectDocsHash: snapshotMarkers.projectDocsHash,
|
|
35079
35263
|
materializedAt: snapshotMarkers.materializedAt,
|
|
35080
35264
|
sessionFactsVersion: snapshotMarkers.sessionFactsVersion,
|
|
35081
|
-
upgradeState: encodeCachedM0UpgradeIdentity(snapshotMarkers.upgradeState, snapshotMarkers.compartmentRenderEpoch, snapshotMarkers.muralEnabled, snapshotMarkers.renderBudgetIdentity, snapshotMarkers.memoryRenderEpoch),
|
|
35265
|
+
upgradeState: encodeCachedM0UpgradeIdentity(snapshotMarkers.upgradeState, snapshotMarkers.compartmentRenderEpoch, snapshotMarkers.muralEnabled, snapshotMarkers.renderBudgetIdentity, snapshotMarkers.memoryRenderEpoch, snapshotMarkers.renderedBudgets ?? null),
|
|
35082
35266
|
systemHash: snapshotMarkers.systemHash,
|
|
35083
35267
|
toolSetHash: snapshotMarkers.toolSetHash,
|
|
35084
35268
|
modelKey: snapshotMarkers.modelKey,
|
|
@@ -35341,7 +35525,8 @@ function markersFromCachedRow(row) {
|
|
|
35341
35525
|
projectIdentity: row.cached_m0_project_identity ?? null,
|
|
35342
35526
|
muralHash: row.cached_m0_mural_hash ?? null,
|
|
35343
35527
|
muralEnabled: cachedUpgradeIdentity.muralEnabled,
|
|
35344
|
-
renderBudgetIdentity: cachedUpgradeIdentity.renderBudgetIdentity
|
|
35528
|
+
renderBudgetIdentity: cachedUpgradeIdentity.renderBudgetIdentity,
|
|
35529
|
+
renderedBudgets: cachedUpgradeIdentity.renderedBudgets
|
|
35345
35530
|
};
|
|
35346
35531
|
}
|
|
35347
35532
|
function cachedRowMatchesState(row, state) {
|
|
@@ -35366,7 +35551,7 @@ function applyCachedRowToState(state, row) {
|
|
|
35366
35551
|
state.cachedM0ProjectDocsHash = markers.projectDocsHash;
|
|
35367
35552
|
state.cachedM0MaterializedAt = markers.materializedAt;
|
|
35368
35553
|
state.cachedM0SessionFactsVersion = markers.sessionFactsVersion;
|
|
35369
|
-
state.cachedM0UpgradeState = encodeCachedM0UpgradeIdentity(markers.upgradeState, markers.compartmentRenderEpoch, markers.muralEnabled, markers.renderBudgetIdentity, markers.memoryRenderEpoch);
|
|
35554
|
+
state.cachedM0UpgradeState = encodeCachedM0UpgradeIdentity(markers.upgradeState, markers.compartmentRenderEpoch, markers.muralEnabled, markers.renderBudgetIdentity, markers.memoryRenderEpoch, markers.renderedBudgets ?? null);
|
|
35370
35555
|
state.cachedM0SystemHash = markers.systemHash;
|
|
35371
35556
|
state.cachedM0ToolSetHash = markers.toolSetHash;
|
|
35372
35557
|
state.cachedM0ModelKey = markers.modelKey;
|
|
@@ -35459,6 +35644,7 @@ function renderFreshM0NonPersisted(options) {
|
|
|
35459
35644
|
muralEnabled: options.muralEnabled,
|
|
35460
35645
|
memoryInjectionBudgetTokens: options.memoryInjectionBudgetTokens,
|
|
35461
35646
|
historyBudgetTokens: options.historyBudgetTokens,
|
|
35647
|
+
historyBudgetPolicyIdentity: options.historyBudgetPolicyIdentity,
|
|
35462
35648
|
hardSignals: options.hardSignals,
|
|
35463
35649
|
workspaceIdentitySet: {
|
|
35464
35650
|
identities: workspace.identities,
|
|
@@ -35828,7 +36014,8 @@ function injectM0M1(options) {
|
|
|
35828
36014
|
memoryEnabled: options.memoryEnabled,
|
|
35829
36015
|
muralEnabled: options.muralEnabled,
|
|
35830
36016
|
memoryInjectionBudgetTokens: options.memoryInjectionBudgetTokens,
|
|
35831
|
-
historyBudgetTokens: options.historyBudgetTokens
|
|
36017
|
+
historyBudgetTokens: options.historyBudgetTokens,
|
|
36018
|
+
historyBudgetPolicyIdentity: options.historyBudgetPolicyIdentity
|
|
35832
36019
|
});
|
|
35833
36020
|
let rematerialized = false;
|
|
35834
36021
|
let contentionExhausted = false;
|
|
@@ -39064,6 +39251,27 @@ async function teardownChildSession(args) {
|
|
|
39064
39251
|
}
|
|
39065
39252
|
}
|
|
39066
39253
|
|
|
39254
|
+
// src/shared/run-token-log.ts
|
|
39255
|
+
function count(value) {
|
|
39256
|
+
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
39257
|
+
}
|
|
39258
|
+
function runTokenLog(tokens, maxTokens, finish) {
|
|
39259
|
+
const usage = tokens && typeof tokens === "object" ? tokens : {};
|
|
39260
|
+
const cache = usage.cache && typeof usage.cache === "object" ? usage.cache : {};
|
|
39261
|
+
return {
|
|
39262
|
+
input: count(usage.input ?? usage.input_tokens),
|
|
39263
|
+
output: count(usage.output ?? usage.output_tokens),
|
|
39264
|
+
reasoning: count(usage.reasoning ?? usage.reasoning_tokens),
|
|
39265
|
+
cache_read: count(usage.cacheRead ?? usage.cache_read ?? usage.cached_input_tokens ?? cache.read),
|
|
39266
|
+
cache_write: count(usage.cacheWrite ?? usage.cache_write ?? usage.cache_write_tokens ?? cache.write),
|
|
39267
|
+
max_tokens: count(maxTokens),
|
|
39268
|
+
finish_reason: typeof finish === "string" ? finish : null
|
|
39269
|
+
};
|
|
39270
|
+
}
|
|
39271
|
+
function formatRunTokenLog(tokens) {
|
|
39272
|
+
return `tokens=${JSON.stringify(tokens)}`;
|
|
39273
|
+
}
|
|
39274
|
+
|
|
39067
39275
|
// src/features/magic-context/schema-fence-probe.ts
|
|
39068
39276
|
var STALE_CHILD_SPAWN_FAILURE = "stale_schema_fence";
|
|
39069
39277
|
var STALE_CHILD_SPAWN_LATCH_THRESHOLD = 2;
|
|
@@ -39424,11 +39632,14 @@ function clampProducerAtomChars(text, maxChars, marker) {
|
|
|
39424
39632
|
const tailChars = Math.floor(keptChars / 2);
|
|
39425
39633
|
return `${text.slice(0, headChars)}${marker}${text.slice(text.length - tailChars)}`;
|
|
39426
39634
|
}
|
|
39427
|
-
function producerInputTokenLimit(contextLimitTokens, maxOutputTokens) {
|
|
39428
|
-
if (
|
|
39635
|
+
function producerInputTokenLimit(contextLimitTokens, maxOutputTokens, inputLimitTokens) {
|
|
39636
|
+
if (!Number.isFinite(maxOutputTokens) || maxOutputTokens < 0)
|
|
39429
39637
|
return;
|
|
39430
|
-
|
|
39431
|
-
const
|
|
39638
|
+
const shared = typeof contextLimitTokens === "number" && Number.isFinite(contextLimitTokens) && contextLimitTokens > 0 ? contextLimitTokens - maxOutputTokens : undefined;
|
|
39639
|
+
const input = typeof inputLimitTokens === "number" && Number.isFinite(inputLimitTokens) && inputLimitTokens > 0 ? inputLimitTokens : undefined;
|
|
39640
|
+
if (shared === undefined && input === undefined)
|
|
39641
|
+
return;
|
|
39642
|
+
const usableInputTokens = Math.floor(Math.min(shared ?? Infinity, input ?? Infinity));
|
|
39432
39643
|
if (usableInputTokens <= 0)
|
|
39433
39644
|
return;
|
|
39434
39645
|
const limit = Math.floor(usableInputTokens * (1 - PRODUCER_WINDOW_REFUSAL_MARGIN));
|
|
@@ -39440,15 +39651,15 @@ function historianProducerReserve(window, configuredOutput, catalogOutput) {
|
|
|
39440
39651
|
return window === undefined ? 0 : catalogOutputReserve(window, catalogOutput);
|
|
39441
39652
|
}
|
|
39442
39653
|
function producerWindowFailureReason(input) {
|
|
39443
|
-
const { producerSourceTokens, contextLimitTokens, maxOutputTokens } = input;
|
|
39444
|
-
const producerInputLimitTokens = producerInputTokenLimit(contextLimitTokens, maxOutputTokens);
|
|
39445
|
-
if (producerInputLimitTokens === undefined ||
|
|
39654
|
+
const { producerSourceTokens, contextLimitTokens, inputLimitTokens, maxOutputTokens } = input;
|
|
39655
|
+
const producerInputLimitTokens = producerInputTokenLimit(contextLimitTokens, maxOutputTokens, inputLimitTokens);
|
|
39656
|
+
if (producerInputLimitTokens === undefined || !Number.isFinite(producerSourceTokens) || producerSourceTokens <= 0) {
|
|
39446
39657
|
return null;
|
|
39447
39658
|
}
|
|
39448
|
-
const usableInputTokens = Math.max(0,
|
|
39659
|
+
const usableInputTokens = Math.floor(Math.min(contextLimitTokens === undefined ? Infinity : Math.max(0, contextLimitTokens - maxOutputTokens), inputLimitTokens ?? Infinity));
|
|
39449
39660
|
if (producerSourceTokens <= producerInputLimitTokens)
|
|
39450
39661
|
return null;
|
|
39451
|
-
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}`;
|
|
39662
|
+
return `producer_source_exceeds_window producer_source_tokens=${Math.round(producerSourceTokens)} usable_input_tokens=${usableInputTokens} producer_input_limit_tokens=${producerInputLimitTokens} context_limit_tokens=${contextLimitTokens === undefined ? "unknown" : Math.round(contextLimitTokens)} max_output_tokens=${Math.round(maxOutputTokens)} estimator_margin=${PRODUCER_WINDOW_REFUSAL_MARGIN}`;
|
|
39452
39663
|
}
|
|
39453
39664
|
function splitMarkerPair() {
|
|
39454
39665
|
return `
|
|
@@ -39457,7 +39668,7 @@ ${HISTORIAN_TRUNCATION_MARKER}
|
|
|
39457
39668
|
`;
|
|
39458
39669
|
}
|
|
39459
39670
|
function fitAtomicHistorianSourceToProducerWindow(args) {
|
|
39460
|
-
const producerInputLimitTokens = producerInputTokenLimit(args.contextLimitTokens, args.maxOutputTokens);
|
|
39671
|
+
const producerInputLimitTokens = producerInputTokenLimit(args.contextLimitTokens, args.maxOutputTokens, args.inputLimitTokens);
|
|
39461
39672
|
const originalTokens = estimateTokens(args.text);
|
|
39462
39673
|
if (producerInputLimitTokens === undefined || originalTokens < producerInputLimitTokens || producerInputLimitTokens <= 0) {
|
|
39463
39674
|
return { text: args.text, producerInputLimitTokens, removedTokens: 0 };
|
|
@@ -39491,7 +39702,7 @@ function fitAtomicHistorianSourceToProducerWindow(args) {
|
|
|
39491
39702
|
};
|
|
39492
39703
|
}
|
|
39493
39704
|
function producerPromptFailureReason(input) {
|
|
39494
|
-
const limit = producerInputTokenLimit(input.contextLimitTokens, input.maxOutputTokens);
|
|
39705
|
+
const limit = producerInputTokenLimit(input.contextLimitTokens, input.maxOutputTokens, input.inputLimitTokens);
|
|
39495
39706
|
const tokens = providerMass({ prose: input.sourceLocal, system: input.systemLocal, tools: input.toolsLocal }, calibrationForModelKey(input.modelKey), true);
|
|
39496
39707
|
if (limit === undefined)
|
|
39497
39708
|
return null;
|
|
@@ -39602,12 +39813,15 @@ function createV1HiddenCompletionExecutor(client, db, directory) {
|
|
|
39602
39813
|
throw new Error(`Historian host recorded an assistant error${finish}: ${describeAssistantFailure(assistantFailure.error)}`);
|
|
39603
39814
|
}
|
|
39604
39815
|
const text = extractLatestAssistantText(messages);
|
|
39816
|
+
const latest = Array.isArray(messages) ? messages.filter((message) => isRecord(message) && isRecord(message.info) && message.info.role === "assistant").sort((left, right) => historianMessageCreatedAt(right) - historianMessageCreatedAt(left))[0] : undefined;
|
|
39817
|
+
const info = latest && isRecord(latest.info) ? latest.info : {};
|
|
39605
39818
|
return {
|
|
39606
39819
|
messages,
|
|
39607
39820
|
text,
|
|
39608
39821
|
reasoning: text ? null : extractLatestHistorianReasoning(messages),
|
|
39609
39822
|
lengthCapped: hasLengthCappedOutput(messages),
|
|
39610
|
-
usage: sumTokensFromChildMessages(messages)
|
|
39823
|
+
usage: sumTokensFromChildMessages(messages),
|
|
39824
|
+
tokenLog: runTokenLog(info.tokens, undefined, info.finish ?? info.finish_reason ?? info.finishReason)
|
|
39611
39825
|
};
|
|
39612
39826
|
},
|
|
39613
39827
|
async close(handle, settlement) {
|
|
@@ -39626,8 +39840,8 @@ function createV1HiddenCompletionExecutor(client, db, directory) {
|
|
|
39626
39840
|
}
|
|
39627
39841
|
};
|
|
39628
39842
|
}
|
|
39629
|
-
function historianReasoningBudgetDiagnostic(outputTokens) {
|
|
39630
|
-
return `historian ran out of output budget while reasoning (length-capped at ${outputTokens} tokens, no text) — set historian.maxTokens or route historian.model to a low-reasoning lane/variant`;
|
|
39843
|
+
function historianReasoningBudgetDiagnostic(outputTokens, tokens) {
|
|
39844
|
+
return `historian ran out of output budget while reasoning (length-capped at ${outputTokens} tokens, no text${tokens ? `; ${formatRunTokenLog(tokens)}` : ""}) — set historian.maxTokens or route historian.model to a low-reasoning lane/variant`;
|
|
39631
39845
|
}
|
|
39632
39846
|
async function runValidatedHistorianPass(args) {
|
|
39633
39847
|
const firstRun = await runHistorianPrompt({
|
|
@@ -39816,8 +40030,10 @@ async function runHistorianPrompt(args) {
|
|
|
39816
40030
|
const modelKey = selected ? `${selected.providerID}/${selected.modelID}` : undefined;
|
|
39817
40031
|
const system = withContentLanguageDirective(agentId === HISTORIAN_EDITOR_AGENT ? HISTORIAN_EDITOR_SYSTEM_PROMPT : COMPARTMENT_AGENT_SYSTEM_PROMPT, args.language);
|
|
39818
40032
|
const contextLimitTokens = selected ? getSdkContextLimit(selected.providerID, selected.modelID, undefined, { reservation: "none" }) : undefined;
|
|
39819
|
-
const
|
|
39820
|
-
|
|
40033
|
+
const producerLimits = selected ? resolveHistorianProducerLimits2(modelKey) : {};
|
|
40034
|
+
const producerContext = producerLimits.context ?? (producerLimits.input === undefined ? contextLimitTokens : undefined);
|
|
40035
|
+
const reserve = historianProducerReserve(producerContext, args.maxOutputTokens, selected ? getSdkOutputLimit(selected.providerID, selected.modelID) : undefined);
|
|
40036
|
+
if (contextLimitTokens !== undefined && producerInputTokenLimit(producerContext, reserve, producerLimits.input) === undefined && modelKey && !unknownProducerWindows.has(modelKey)) {
|
|
39821
40037
|
unknownProducerWindows.add(modelKey);
|
|
39822
40038
|
sessionLog(parentSessionId, `producer window inconsistent for ${modelKey}: window=${contextLimitTokens} reserve=${reserve}; sending unguarded`);
|
|
39823
40039
|
}
|
|
@@ -39826,7 +40042,8 @@ async function runHistorianPrompt(args) {
|
|
|
39826
40042
|
systemLocal: estimateTokens(system),
|
|
39827
40043
|
toolsLocal: 0,
|
|
39828
40044
|
modelKey,
|
|
39829
|
-
contextLimitTokens,
|
|
40045
|
+
contextLimitTokens: producerContext,
|
|
40046
|
+
inputLimitTokens: producerLimits.input,
|
|
39830
40047
|
maxOutputTokens: reserve
|
|
39831
40048
|
});
|
|
39832
40049
|
if (failure)
|
|
@@ -39860,9 +40077,15 @@ async function runHistorianPrompt(args) {
|
|
|
39860
40077
|
}
|
|
39861
40078
|
completion = await executor.collect(handle, 50);
|
|
39862
40079
|
const lengthCapped = completion.lengthCapped;
|
|
40080
|
+
const tokens = {
|
|
40081
|
+
...runTokenLog(undefined, args.maxOutputTokens),
|
|
40082
|
+
...completion.tokenLog,
|
|
40083
|
+
max_tokens: args.maxOutputTokens ?? null
|
|
40084
|
+
};
|
|
40085
|
+
sessionLog(parentSessionId, `historian response_chars=${(completion.text ?? completion.reasoning ?? "").length} ${formatRunTokenLog(tokens)}`);
|
|
39863
40086
|
const textResult = completion.text;
|
|
39864
40087
|
const reasoningResult = textResult ? null : completion.reasoning;
|
|
39865
|
-
const emptyError = !textResult && reasoningResult && lengthCapped ? historianReasoningBudgetDiagnostic(completion.usage.output) : !textResult && !reasoningResult ? "Historian returned no assistant output." : !textResult ? "Historian returned reasoning but no assistant text." : lengthCapped ?
|
|
40088
|
+
const emptyError = !textResult && reasoningResult && lengthCapped ? historianReasoningBudgetDiagnostic(completion.usage.output, tokens) : !textResult && !reasoningResult ? "Historian returned no assistant output." : !textResult ? "Historian returned reasoning but no assistant text." : lengthCapped ? `Historian returned length-capped output. ${formatRunTokenLog(tokens)}` : null;
|
|
39866
40089
|
const invocationId = recordInvocation({
|
|
39867
40090
|
status: emptyError ? "empty" : "completed",
|
|
39868
40091
|
messages: completion.messages,
|
|
@@ -41929,6 +42152,8 @@ function findDanglingPublicationBoundary(sessionId, compartments, messageExists
|
|
|
41929
42152
|
return null;
|
|
41930
42153
|
}
|
|
41931
42154
|
async function runCompartmentAgent(deps) {
|
|
42155
|
+
if (shouldSkipHomeProjectMemory(deps.directory ?? process.cwd()))
|
|
42156
|
+
return;
|
|
41932
42157
|
const {
|
|
41933
42158
|
client,
|
|
41934
42159
|
db,
|
|
@@ -42159,11 +42384,14 @@ async function runCompartmentAgent(deps) {
|
|
|
42159
42384
|
}
|
|
42160
42385
|
const producerModel = toModelEntry(deps.model)?.model ?? deps.fallbackModelId;
|
|
42161
42386
|
const modelParts = producerModel?.split("/");
|
|
42162
|
-
const
|
|
42387
|
+
const producerLimits = resolveHistorianProducerLimits2(producerModel);
|
|
42388
|
+
const producerContext = producerLimits.context ?? (producerLimits.input === undefined ? deps.historianContextLimit : undefined);
|
|
42389
|
+
const producerReserve = historianProducerReserve(producerContext, deps.historianMaxOutputTokens, modelParts && modelParts.length > 1 ? getSdkOutputLimit(modelParts[0], modelParts.slice(1).join("/")) : undefined);
|
|
42163
42390
|
const fittedAtomicSource = chunk.oversizeAtomicUnit ? fitAtomicHistorianSourceToProducerWindow({
|
|
42164
42391
|
text: chunk.text,
|
|
42165
42392
|
resultBoundaries: chunk.toolResultBoundaries,
|
|
42166
|
-
contextLimitTokens:
|
|
42393
|
+
contextLimitTokens: producerContext,
|
|
42394
|
+
inputLimitTokens: producerLimits.input,
|
|
42167
42395
|
maxOutputTokens: producerReserve
|
|
42168
42396
|
}) : null;
|
|
42169
42397
|
const chunkText = chunk.oversizeAtomicUnit ? fittedAtomicSource?.text ?? chunk.text : truncateHistorianInputIfNeeded(chunk.text, historianChunkTokens);
|
|
@@ -42176,10 +42404,11 @@ async function runCompartmentAgent(deps) {
|
|
|
42176
42404
|
}
|
|
42177
42405
|
const producerWindowFailure = producerWindowFailureReason({
|
|
42178
42406
|
producerSourceTokens,
|
|
42179
|
-
contextLimitTokens:
|
|
42407
|
+
contextLimitTokens: producerContext,
|
|
42408
|
+
inputLimitTokens: producerLimits.input,
|
|
42180
42409
|
maxOutputTokens: producerReserve
|
|
42181
42410
|
});
|
|
42182
|
-
if (deps.historianContextLimit !== undefined && producerInputTokenLimit(
|
|
42411
|
+
if (deps.historianContextLimit !== undefined && producerInputTokenLimit(producerContext, producerReserve, producerLimits.input) === undefined) {
|
|
42183
42412
|
logInconsistentProducerWindowOnce(sessionId, producerModel ?? "unknown", deps.historianContextLimit, producerReserve);
|
|
42184
42413
|
}
|
|
42185
42414
|
if (producerWindowFailure) {
|
|
@@ -42339,7 +42568,7 @@ ${chunkText}`,
|
|
|
42339
42568
|
const compartmentTagKeys = await getRawSessionTagKeysThrough2(sessionId, lastCompartmentEnd, { db, fromMessageIndex: offset });
|
|
42340
42569
|
let published = false;
|
|
42341
42570
|
const transactionStartedAt = startHistorianPublishStage(sessionId, "publish-txn");
|
|
42342
|
-
db
|
|
42571
|
+
await beginSqliteWriterAsync(db, "historian-publish");
|
|
42343
42572
|
try {
|
|
42344
42573
|
if (!isCompartmentLeaseHeld(db, sessionId, holderId)) {
|
|
42345
42574
|
db.exec("ROLLBACK");
|
|
@@ -43424,4 +43653,4 @@ async function executeContextRecomp(deps, options = {}) {
|
|
|
43424
43653
|
return (await executeContextRecompWithResult(deps, options)).message;
|
|
43425
43654
|
}
|
|
43426
43655
|
|
|
43427
|
-
export { withContentLanguageDirective, formatConfigParseStatusLine, claimConfigParseFailuresOnce, COMPACTION_ENABLED_PATH, isDreamerRunnable, isHistorianRunnable, isCompactionEnabled, migrateMagicContextConfigLocations, string, unknown, array, object, union, tuple, record, parseCron, nextOccurrence, nextDueAtMs, promptSurfaceConfigIdentity, resolveModelConfigValue, resolvePromptSurface, DEFAULT_EXECUTE_THRESHOLD_PERCENTAGE, DEFAULT_HISTORIAN_TIMEOUT_MS, DEFAULT_LOCAL_EMBEDDING_MODEL, DREAM_TASK_PROMOTION_DEFAULTS, getProtectedTokensTierOverrides, loadPluginConfigDetailed, BoundedSessionMap, historianRunConfig, dreamerRunConfig, pluginConfigReader, currentPluginConfigReader, withLiveDreamerOutputCap, createDreamerOutputCapSampler, formatFailClosedBlockingMessage, formatFailClosedBlockingSummary, createFailClosedBlockingError, isFailClosedBlockingError, shouldBypassFailClosedBlock, resolveAgentNameFromMessages, createFailClosedController, recordHookInitFailure, clearHookInitFailure, getLastHookInitFailure, ProjectIdentityError, resolveProjectIdentityStrict, takeDubiousOwnershipProjectIdentityWarning, isUserHomeDirectory, resolveProjectIdentity, directoryHasGitMetadata, describeUnresolvedProjectIdentity, isUsableProjectIdentity, resolveProjectIdentityForSession, normalizeStoredProjectPath, storedPathBelongsToIdentity, isLinkedGitWorktree, observeSessionActivity, backfillSessionActivity, recordSessionProjectIdentity, beginBootQuietPeriod, bootQuietRemainingMs, scheduleAfterBootQuiet, registerOwnRpcServerInstance, rpcPortDir, rpcPortFilePath, parseRpcPortFile, inspectProcessesAsync, 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, USER_FACING_FAILURES, renderUserFacingFailure, userFacingFailureCode, renderCapabilityRefusal, capabilityRefusalCode, renderDreamFailure, dreamFailureCode, renderEmbeddingFailure, clampProducerAtomChars, producerInputTokenLimit, historianProducerReserve, producerPromptFailureReason, DREAMER_AGENT, DREAMER_RETROSPECTIVE_AGENT, DREAMER_PRIMER_INVESTIGATOR_AGENT, DREAMER_MEMORY_MAPPER_AGENT, DREAMER_CLASSIFIER_AGENT, DREAMER_DOCS_AGENT, DREAMER_REVIEWER_AGENT, embedPauseBySession, embedRunStateBySession, autoEmbedAttemptedBySession, autoEmbedIdentityBySession, invalidateAutoEmbedSession, getEmbedDrainUiStatus, clearEmbedSessionState, SYNAPSE_DEFAULT_MODEL, toSynapseLaneDescriptor, formatSynapseLaneDescriptor, SynapseEmbeddingProvider, loadCompartmentChunkEmbeddingsForSearch, 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, readReplayDocument, updateReplayDocument, 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, 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, registerLkgPersistence, beginLkgPass, visitMessageContentFields, contentSnapshotValue, messageContentFields, signatureForFields, exactReusablePrefix, incrementalLkgContentDigests, lkgContentDigest, lkgSlotRejection, captureSlot, getInMemorySlot, getSlot, dropSlot, noteEntry, getLkgSlotHeapStats, useScopedToolSweep, createPreAdoptionToolSweepResolver, recordEmbeddingMeasurement, getMaxM0MutationId, queueMemoryMutation, getMemoryMutationsForRenderByProjects, getMaxMemoryMutationIdForProjects, getOrCreateSessionMeta, updateSessionMeta, advanceToolReclaimWatermark, markSessionCleanupPending, retryPendingSessionCleanups, retryPendingRustSessionCleanupsForProject, clearSession, SESSION_NOTE_CONDITION_ERROR, 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, isPrefixBoundThinkingModel, isFable51ThinkingBindingModel, detectOverflow, HIDDEN_HISTORIAN_AGENT, HIDDEN_DREAMER_AGENT, HIDDEN_CURATE_AGENT, hiddenAgentFor, hiddenToolLoop, registerHiddenChildAgents, HiddenAgentStepLimit, HiddenChildHook, extractLatestAssistantText, hasLengthCappedOutput, parseProviderModel, modelBodyField, toModelEntry, isPromptTimeoutError, getPromptFailureDetail, promptSyncWithValidatedOutputRetry, normalizeSDKResponse, failedInvocationStatus, recordChildInvocation, createPromptAsyncTransport, ACTIVE_TOOL_IDS, promptSurfaceHashMaterial, createPromptSurfaceRuntime, createPromptSurfaceGuidanceEpochCache, setKeepSubagents, teardownChildSession, getCompartmentEvents, 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, embedUnembeddedMemoriesForProjectOutcome, drainCommitBacklogForProject, embedSessionCompartmentChunks, getEmbeddingCoverageStatus, getAutoEmbeddingSessionCoverage, 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, relaxedFtsQuery, sanitizeFtsQuery, searchMemoriesFTS, searchMemoriesFTSUnion, recordMemoryMapping, recordMemoryVerifications, getUnmappedMemoryIds, clearMemoryVerifications, getMemoryVerifications, resolveGitTopLevel, readGitHead, readGitChangedFilesSince, readGitFileChangeTimesSince, verificationFileExists, normalizeVerificationFiles, resolveHiddenCompletionExecutor, createV1HiddenCompletionExecutor, USER_MEMORY_CANDIDATE_TTL_MS, insertUserMemoryCandidates, getUserMemoryCandidates, deleteUserMemoryCandidates, pruneExpiredUserMemoryCandidates, insertUserMemory, getActiveUserMemories, updateUserMemoryContent, dismissUserMemory, getMuralIdentity, getMural, readCoordinateGeneration, readCoordinateRebaseNotice, formatCoordinateRebaseNotice, rebaseSessionCoordinatesAsync, getOpenCodeDbPath, compareOpenCodeMessagesByCanonicalOrder, removeMcOwnedCompactionMarkers, MARKER_SUMMARY_TEXT, applyDeferredCompactionMarker, removeCompactionMarkerForSession, checkCompactionMarkerConsistency, buildMagicContextSection, modelKeyAcceptsImages, resolveMuralWire, extractM0Block, formatDate, injectTemporalMarkers, clearInjectionCache, getVisibleMemoryIds, selectHiddenMessagesAtCompactionSeam, prepareCompartmentInjection, renderCompartmentInjection, mustMaterialize, trimMemoriesToBudgetV2, renderMemoryBlockV2, materializeM0, hydrateCachedM0Mural, findHostCompactionWindow, 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, executeContextRecomp };
|
|
43656
|
+
export { withContentLanguageDirective, formatConfigParseStatusLine, claimConfigParseFailuresOnce, COMPACTION_ENABLED_PATH, isDreamerRunnable, isHistorianRunnable, isCompactionEnabled, cortexKitUserConfigBasePath, cortexKitProjectConfigBasePath, resolveLegacyConfigSources, migrateMagicContextConfigLocations, string, unknown, array, object, union, tuple, record, parseCron, nextOccurrence, nextDueAtMs, promptSurfaceConfigIdentity, resolveModelConfigValue, resolvePromptSurface, DEFAULT_EXECUTE_THRESHOLD_PERCENTAGE, DEFAULT_HISTORIAN_TIMEOUT_MS, DEFAULT_LOCAL_EMBEDDING_MODEL, DREAM_TASK_PROMOTION_DEFAULTS, getProtectedTokensTierOverrides, loadPluginConfigDetailed, BoundedSessionMap, historianRunConfig, dreamerRunConfig, pluginConfigReader, currentPluginConfigReader, withLiveDreamerOutputCap, createDreamerOutputCapSampler, formatFailClosedBlockingMessage, formatFailClosedBlockingSummary, createFailClosedBlockingError, isFailClosedBlockingError, shouldBypassFailClosedBlock, resolveAgentNameFromMessages, createFailClosedController, recordHookInitFailure, clearHookInitFailure, getLastHookInitFailure, setHomeProjectPermission, shouldSkipHomeProjectMemory, ProjectIdentityError, resolveProjectIdentityStrict, takeDubiousOwnershipProjectIdentityWarning, isUserHomeDirectory, resolveProjectIdentity, directoryHasGitMetadata, describeUnresolvedProjectIdentity, isUsableProjectIdentity, resolveProjectIdentityForSession, normalizeStoredProjectPath, storedPathBelongsToIdentity, isLinkedGitWorktree, observeSessionActivity, backfillSessionActivity, recordSessionProjectIdentity, beginBootQuietPeriod, bootQuietRemainingMs, scheduleAfterBootQuiet, registerOwnRpcServerInstance, rpcPortDir, rpcPortFilePath, parseRpcPortFile, inspectProcessesAsync, 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, USER_FACING_FAILURES, renderUserFacingFailure, userFacingFailureCode, renderCapabilityRefusal, capabilityRefusalCode, renderDreamFailure, dreamFailureCode, renderEmbeddingFailure, clampProducerAtomChars, producerInputTokenLimit, historianProducerReserve, producerPromptFailureReason, DREAMER_AGENT, DREAMER_RETROSPECTIVE_AGENT, DREAMER_PRIMER_INVESTIGATOR_AGENT, DREAMER_MEMORY_MAPPER_AGENT, DREAMER_CLASSIFIER_AGENT, DREAMER_DOCS_AGENT, DREAMER_REVIEWER_AGENT, embedPauseBySession, embedRunStateBySession, autoEmbedAttemptedBySession, autoEmbedIdentityBySession, invalidateAutoEmbedSession, getEmbedDrainUiStatus, clearEmbedSessionState, SYNAPSE_DEFAULT_MODEL, toSynapseLaneDescriptor, formatSynapseLaneDescriptor, SynapseEmbeddingProvider, loadCompartmentChunkEmbeddingsForSearch, 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, readReplayDocument, updateReplayDocument, 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, 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, registerLkgPersistence, beginLkgPass, visitMessageContentFields, contentSnapshotValue, messageContentFields, signatureForFields, exactReusablePrefix, incrementalLkgContentDigests, lkgContentDigest, lkgSlotRejection, captureSlot, getInMemorySlot, getSlot, dropSlot, noteEntry, getLkgSlotHeapStats, useScopedToolSweep, createPreAdoptionToolSweepResolver, recordEmbeddingMeasurement, getMaxM0MutationId, queueMemoryMutation, getMemoryMutationsForRenderByProjects, getMaxMemoryMutationIdForProjects, getOrCreateSessionMeta, updateSessionMeta, advanceToolReclaimWatermark, markSessionCleanupPending, retryPendingSessionCleanups, retryPendingRustSessionCleanupsForProject, clearSession, SESSION_NOTE_CONDITION_ERROR, 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, isPrefixBoundThinkingModel, isFable51ThinkingBindingModel, detectOverflow, HIDDEN_HISTORIAN_AGENT, HIDDEN_DREAMER_AGENT, HIDDEN_CURATE_AGENT, hiddenAgentFor, hiddenToolLoop, registerHiddenChildAgents, HiddenAgentStepLimit, HiddenChildHook, extractLatestAssistantText, hasLengthCappedOutput, parseProviderModel, modelBodyField, toModelEntry, isPromptTimeoutError, getPromptFailureDetail, promptSyncWithValidatedOutputRetry, normalizeSDKResponse, failedInvocationStatus, recordChildInvocation, createPromptAsyncTransport, ACTIVE_TOOL_IDS, promptSurfaceHashMaterial, createPromptSurfaceRuntime, createPromptSurfaceGuidanceEpochCache, setKeepSubagents, teardownChildSession, getCompartmentEvents, 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, embedUnembeddedMemoriesForProjectOutcome, drainCommitBacklogForProject, embedSessionCompartmentChunks, getEmbeddingCoverageStatus, getAutoEmbeddingSessionCoverage, 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, relaxedFtsQuery, sanitizeFtsQuery, searchMemoriesFTS, searchMemoriesFTSUnion, recordMemoryMapping, recordMemoryVerifications, getUnmappedMemoryIds, clearMemoryVerifications, getMemoryVerifications, resolveGitTopLevel, readGitHead, readGitChangedFilesSince, readGitFileChangeTimesSince, verificationFileExists, normalizeVerificationFiles, runTokenLog, formatRunTokenLog, resolveHiddenCompletionExecutor, createV1HiddenCompletionExecutor, USER_MEMORY_CANDIDATE_TTL_MS, insertUserMemoryCandidates, getUserMemoryCandidates, deleteUserMemoryCandidates, pruneExpiredUserMemoryCandidates, insertUserMemory, getActiveUserMemories, updateUserMemoryContent, dismissUserMemory, getMuralIdentity, getMural, readCoordinateGeneration, readCoordinateRebaseNotice, formatCoordinateRebaseNotice, rebaseSessionCoordinatesAsync, getOpenCodeDbPath, compareOpenCodeMessagesByCanonicalOrder, removeMcOwnedCompactionMarkers, MARKER_SUMMARY_TEXT, applyDeferredCompactionMarker, removeCompactionMarkerForSession, checkCompactionMarkerConsistency, buildMagicContextSection, modelKeyAcceptsImages, resolveMuralWire, extractM0Block, formatDate, injectTemporalMarkers, clearInjectionCache, getVisibleMemoryIds, selectHiddenMessagesAtCompactionSeam, prepareCompartmentInjection, renderCompartmentInjection, mustMaterialize, trimMemoriesToBudgetV2, renderMemoryBlockV2, materializeM0, hydrateCachedM0Mural, findHostCompactionWindow, 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, executeContextRecomp };
|