@cortexkit/opencode-magic-context 0.44.2 → 0.44.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/{conflict-warning-hook-1msyvb51.js → conflict-warning-hook-hmpzxep6.js} +3 -3
  2. package/dist/{derive-budgets-gd2270s0.js → derive-budgets-vjmvh6pz.js} +3 -1
  3. package/dist/features/magic-context/dreamer/classify.d.ts.map +1 -1
  4. package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts.map +1 -1
  5. package/dist/features/magic-context/dreamer/lease.d.ts +1 -1
  6. package/dist/features/magic-context/dreamer/lease.d.ts.map +1 -1
  7. package/dist/features/magic-context/memory/project-identity.d.ts +3 -0
  8. package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
  9. package/dist/features/magic-context/message-index-async.d.ts +1 -1
  10. package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
  11. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  12. package/dist/features/magic-context/session-project-storage.d.ts +5 -5
  13. package/dist/features/magic-context/session-project-storage.d.ts.map +1 -1
  14. package/dist/features/magic-context/storage-embedding-measurements.d.ts.map +1 -1
  15. package/dist/hooks/magic-context/compartment-runner-historian.d.ts +2 -1
  16. package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
  17. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  18. package/dist/hooks/magic-context/compartment-runner-types.d.ts +1 -0
  19. package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
  20. package/dist/hooks/magic-context/derive-budgets.d.ts +4 -0
  21. package/dist/hooks/magic-context/derive-budgets.d.ts.map +1 -1
  22. package/dist/hooks/magic-context/historian-host-runner.d.ts.map +1 -1
  23. package/dist/hooks/magic-context/lkg-persist.d.ts +1 -4
  24. package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
  25. package/dist/hooks/magic-context/producer-window-guard.d.ts +4 -1
  26. package/dist/hooks/magic-context/producer-window-guard.d.ts.map +1 -1
  27. package/dist/hooks/magic-context/rust-mode-transform.d.ts +1 -0
  28. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  29. package/dist/hooks/magic-context/storage-busy-refusal.d.ts +6 -0
  30. package/dist/hooks/magic-context/storage-busy-refusal.d.ts.map +1 -1
  31. package/dist/{index-r9vkp4n9.js → index-33q7s9y2.js} +1 -1
  32. package/dist/{index-egkfvhms.js → index-4an2p8qa.js} +80 -14
  33. package/dist/{index-18tjha8g.js → index-638hf49n.js} +1 -1
  34. package/dist/{index-stb5fg12.js → index-9y5p0d50.js} +31 -1
  35. package/dist/{index-esxfcz5z.js → index-dgg5y7er.js} +1 -1
  36. package/dist/{index-3x9caerx.js → index-nf9sk8sh.js} +3 -3
  37. package/dist/{index-gtzcmv90.js → index-q5p1aqvv.js} +5 -5
  38. package/dist/{index-40s1xz22.js → index-rdsaxnf2.js} +1 -1
  39. package/dist/{index-ttdn47aq.js → index-yhm60r53.js} +134 -49
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +453 -226
  42. package/dist/plugin/dream-timer.d.ts.map +1 -1
  43. package/dist/plugin/embedding-bootstrap.d.ts.map +1 -1
  44. package/dist/plugin/messages-transform.d.ts.map +1 -1
  45. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  46. package/dist/{read-session-chunk-wmvgnd24.js → read-session-chunk-n072mcq4.js} +2 -2
  47. package/dist/{recomp-orchestrator-rk40ff15.js → recomp-orchestrator-19tr6zya.js} +6 -6
  48. package/dist/{send-session-notification-6xsrcxnp.js → send-session-notification-04hvd54c.js} +2 -2
  49. package/dist/shared/run-token-log.d.ts +13 -0
  50. package/dist/shared/run-token-log.d.ts.map +1 -0
  51. package/dist/shared/sqlite.d.ts +7 -0
  52. package/dist/shared/sqlite.d.ts.map +1 -1
  53. package/dist/{transform-postprocess-phase-t7xgdhdf.js → transform-postprocess-phase-z2mfc5w1.js} +6 -6
  54. package/dist/v2/hidden-completion.d.ts +7 -1
  55. package/dist/v2/hidden-completion.d.ts.map +1 -1
  56. package/dist/v2/hooks/context.d.ts.map +1 -1
  57. package/dist/v2/hooks/hidden-terminal-error.d.ts +8 -0
  58. package/dist/v2/hooks/hidden-terminal-error.d.ts.map +1 -0
  59. package/dist/v2/hooks/tools.d.ts +1 -1
  60. package/dist/v2/hooks/tools.d.ts.map +1 -1
  61. package/dist/v2/server.js +584 -153
  62. package/dist/{wrapup-orchestrator-h8tr10c6.js → wrapup-orchestrator-sy4m56a7.js} +7 -7
  63. package/package.json +1 -1
  64. package/src/config/latch-permanence-guard.test.ts +4 -0
  65. package/src/shared/data-path.test.ts +1 -1
  66. package/src/shared/models-dev-cache.test.ts +30 -1
  67. package/src/shared/run-token-log.test.ts +65 -0
  68. package/src/shared/run-token-log.ts +39 -0
  69. package/src/shared/sqlite-acquisition-routing.test.ts +19 -11
  70. package/src/shared/sqlite-pass-scope.test.ts +115 -144
  71. package/src/shared/sqlite.ts +123 -20
  72. package/src/shared/storage-busy.test.ts +34 -57
  73. 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-stb5fg12.js";
40
+ } from "./index-9y5p0d50.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-egkfvhms.js";
57
+ } from "./index-4an2p8qa.js";
56
58
  import {
57
59
  removeSystemReminders,
58
60
  hasMeaningfulUserText2,
@@ -100,7 +102,7 @@ import {
100
102
  getRawSessionTagKeysThrough2,
101
103
  getLegacyProtectedTailStartOrdinal2,
102
104
  readSessionChunk2
103
- } from "./index-esxfcz5z.js";
105
+ } from "./index-dgg5y7er.js";
104
106
  import {
105
107
  resolveDecisionCalibration,
106
108
  providerMass,
@@ -114,7 +116,7 @@ import {
114
116
  getErrorMessage,
115
117
  describeError,
116
118
  sendStatusNotification2
117
- } from "./index-r9vkp4n9.js";
119
+ } from "./index-33q7s9y2.js";
118
120
  import {
119
121
  logSlowWriteTransaction
120
122
  } from "./index-kr5qehbd.js";
@@ -8843,6 +8845,25 @@ 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
+ function setHomeProjectPermission(allowed) {
8851
+ homeProjectPermission = allowed;
8852
+ }
8853
+ function shouldSkipHomeProjectMemory(directory) {
8854
+ try {
8855
+ assertProjectAllowed(directory, homeProjectPermission);
8856
+ return false;
8857
+ } catch (error) {
8858
+ if (!(error instanceof ProjectIdentityError) || error.errorClass !== "home_project_disabled")
8859
+ throw error;
8860
+ if (!homeProjectSkipLogged) {
8861
+ homeProjectSkipLogged = true;
8862
+ log("[magic-context] home project memory disabled; skipping memory features");
8863
+ }
8864
+ return true;
8865
+ }
8866
+ }
8846
8867
  var execFileSyncForIdentity = execFileSync;
8847
8868
  var userHomeDirectoryForIdentity = () => homedir4();
8848
8869
  var nowMs = () => Date.now();
@@ -8944,7 +8965,7 @@ function classifyGitError(error, rawDirectory) {
8944
8965
  }
8945
8966
  return new ProjectIdentityError("unknown", rawDirectory, "git rev-list failed while resolving project identity", asError(error));
8946
8967
  }
8947
- function resolveProjectIdentityStrict(directory, allowHomeProject = false) {
8968
+ function resolveProjectIdentityStrict(directory, allowHomeProject = homeProjectPermission) {
8948
8969
  assertProjectAllowed(directory, allowHomeProject);
8949
8970
  const canonical = path2.resolve(directory);
8950
8971
  const cached = identityCache.get(canonical);
@@ -9081,7 +9102,7 @@ function assertProjectAllowed(directory, allowHomeProject) {
9081
9102
  throw new ProjectIdentityError("home_project_disabled", directory, "Home project memory is disabled; set allow_home_project to opt in");
9082
9103
  }
9083
9104
  }
9084
- function resolveProjectIdentity(directory, allowHomeProject = false) {
9105
+ function resolveProjectIdentity(directory, allowHomeProject = homeProjectPermission) {
9085
9106
  assertProjectAllowed(directory, allowHomeProject);
9086
9107
  const canonical = path2.resolve(directory);
9087
9108
  const cachedFallback = directoryFallbackCache.get(canonical);
@@ -9127,7 +9148,7 @@ function resolveProjectIdentity(directory, allowHomeProject = false) {
9127
9148
  throw error;
9128
9149
  }
9129
9150
  }
9130
- function resolveProjectIdentityOrFallback(directory, allowHomeProject = false) {
9151
+ function resolveProjectIdentityOrFallback(directory, allowHomeProject = homeProjectPermission) {
9131
9152
  try {
9132
9153
  return resolveProjectIdentity(directory, allowHomeProject);
9133
9154
  } catch (error) {
@@ -9205,7 +9226,7 @@ function describeUnresolvedProjectIdentity(directory) {
9205
9226
  function isUsableProjectIdentity(identity) {
9206
9227
  return typeof identity === "string" && identity.trim().length > 0;
9207
9228
  }
9208
- function resolveProjectIdentityForSession(directory, allowHomeProject = false) {
9229
+ function resolveProjectIdentityForSession(directory, allowHomeProject = homeProjectPermission) {
9209
9230
  const resolvedDirectory = path2.resolve(directory);
9210
9231
  const cacheKey = `${allowHomeProject ? "1" : "0"}\x00${resolvedDirectory}`;
9211
9232
  const cached = sessionIdentityCache.get(cacheKey);
@@ -15593,7 +15614,7 @@ function finishDatabaseOpen(db, dbPath, explicitDbPath, latestSupportedVersion)
15593
15614
  { readRawSessionMessagePage, readRawSessionMessages },
15594
15615
  { startMessageTimeBackfill }
15595
15616
  ] = await Promise.all([
15596
- import("./read-session-chunk-wmvgnd24.js"),
15617
+ import("./read-session-chunk-n072mcq4.js"),
15597
15618
  import("./message-time-backfill-q374fxc5.js")
15598
15619
  ]);
15599
15620
  await startMessageTimeBackfill(db, Object.assign(readRawSessionMessages, {
@@ -25800,7 +25821,12 @@ function pruneSynapseBatchLedgerForProject(db, projectIdentity, ttlMs = SYNAPSE_
25800
25821
  const ledgerTable = db.prepare("SELECT 1 AS present FROM sqlite_master WHERE type = 'table' AND name = 'synapse_batch_ledger'").get();
25801
25822
  if (!ledgerTable)
25802
25823
  return 0;
25803
- return db.prepare("DELETE FROM synapse_batch_ledger WHERE session_id IN (?, ?) AND updated_at < ?").run(projectIdentity, `shadow:${projectIdentity}`, Date.now() - ttlMs).changes;
25824
+ const shadow = `shadow:${projectIdentity}`;
25825
+ const cutoff = Date.now() - ttlMs;
25826
+ const predicate = "session_id IN (?, ?) AND updated_at < ?";
25827
+ if (!db.prepare(`SELECT 1 FROM synapse_batch_ledger WHERE ${predicate} LIMIT 1`).get(projectIdentity, shadow, cutoff))
25828
+ return 0;
25829
+ return db.prepare(`DELETE FROM synapse_batch_ledger WHERE ${predicate}`).run(projectIdentity, shadow, cutoff).changes;
25804
25830
  }
25805
25831
  // src/features/magic-context/storage-memory-mutation-log.ts
25806
25832
  var MEMORY_MUTATION_TYPES = new Set(["archive", "delete", "update", "superseded"]);
@@ -30658,6 +30684,23 @@ var SESSION_CHUNK_REPAIR_BATCH_SIZE = 100;
30658
30684
  var upsertSessionProjectStatements = new WeakMap;
30659
30685
  var repairSessionChunkProjectStatements = new WeakMap;
30660
30686
  var repairProjectChunkProjectStatements = new WeakMap;
30687
+ var misScopedProjectChunkStatements = new WeakMap;
30688
+ var MIS_SCOPED_PROJECT_CHUNK_IDS_SQL = `
30689
+ SELECT e.id FROM compartment_chunk_embeddings e
30690
+ JOIN session_projects sp ON sp.session_id = e.session_id AND sp.harness = e.harness
30691
+ WHERE e.project_path = ? AND sp.project_path <> e.project_path
30692
+ UNION ALL
30693
+ SELECT e.id FROM session_projects sp
30694
+ JOIN compartment_chunk_embeddings e ON e.session_id = sp.session_id
30695
+ WHERE sp.project_path = ? AND e.harness = sp.harness AND e.project_path <> sp.project_path`;
30696
+ function hasMisScopedCompartmentChunkEmbeddingsForProject(db, projectPath) {
30697
+ let stmt = misScopedProjectChunkStatements.get(db);
30698
+ if (!stmt) {
30699
+ stmt = db.prepare(`SELECT 1 FROM (${MIS_SCOPED_PROJECT_CHUNK_IDS_SQL}) LIMIT 1`);
30700
+ misScopedProjectChunkStatements.set(db, stmt);
30701
+ }
30702
+ return !!stmt.get(projectPath, projectPath);
30703
+ }
30661
30704
  function getUpsertSessionProjectStatement(db) {
30662
30705
  let stmt = upsertSessionProjectStatements.get(db);
30663
30706
  if (!stmt) {
@@ -30693,23 +30736,11 @@ function getRepairProjectChunkProjectStatement(db) {
30693
30736
  if (!stmt) {
30694
30737
  stmt = db.prepare(`UPDATE compartment_chunk_embeddings
30695
30738
  SET project_path = (
30696
- SELECT sp.project_path
30697
- FROM session_projects sp
30739
+ SELECT sp.project_path FROM session_projects sp
30698
30740
  WHERE sp.session_id = compartment_chunk_embeddings.session_id
30699
30741
  AND sp.harness = compartment_chunk_embeddings.harness
30700
- LIMIT 1
30701
30742
  )
30702
- WHERE EXISTS (
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
- )`);
30743
+ WHERE id IN (${MIS_SCOPED_PROJECT_CHUNK_IDS_SQL})`);
30713
30744
  repairProjectChunkProjectStatements.set(db, stmt);
30714
30745
  }
30715
30746
  return stmt;
@@ -30729,6 +30760,8 @@ function recordSessionProjectIdentity(db, sessionId, projectPath) {
30729
30760
  function repairMisScopedCompartmentChunkEmbeddingsForProject(db, projectPath) {
30730
30761
  if (!projectPath)
30731
30762
  return 0;
30763
+ if (!hasMisScopedCompartmentChunkEmbeddingsForProject(db, projectPath))
30764
+ return 0;
30732
30765
  return getRepairProjectChunkProjectStatement(db).run(projectPath, projectPath).changes;
30733
30766
  }
30734
30767
 
@@ -31199,6 +31232,14 @@ function recordActiveEmbeddingIdentity(db, projectIdentity, currentProviderIdent
31199
31232
  if (currentProviderIdentity === OFF_PROVIDER_IDENTITY) {
31200
31233
  return;
31201
31234
  }
31235
+ const scopes = [["chunk", currentChunkIdentity]];
31236
+ if (features.memoryEnabled)
31237
+ scopes.push(["memory", currentProviderIdentity]);
31238
+ if (features.gitCommitEnabled)
31239
+ scopes.push(["commit", currentProviderIdentity]);
31240
+ const active = db.prepare("SELECT 1 FROM embedding_identity_active WHERE project_path = ? AND scope = ? AND model_id = ?");
31241
+ if (scopes.every(([scope, model]) => active.get(projectIdentity, scope, model)) && !hasMisScopedCompartmentChunkEmbeddingsForProject(db, projectIdentity))
31242
+ return;
31202
31243
  const now = Date.now();
31203
31244
  const transactionStartedAt = performance.now();
31204
31245
  db.exec("BEGIN IMMEDIATE");
@@ -31396,7 +31437,9 @@ function registerProjectEmbedding(db, projectIdentity, config, features, sourceD
31396
31437
  observationMode: false
31397
31438
  };
31398
31439
  projectRegistrations.set(projectIdentity, registration);
31399
- persistPrimaryDescriptor(db, registration);
31440
+ 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)) {
31441
+ persistPrimaryDescriptor(db, registration);
31442
+ }
31400
31443
  if (!canReuseProvider) {
31401
31444
  disposeProvider(prior?.provider ?? null);
31402
31445
  }
@@ -39064,6 +39107,27 @@ async function teardownChildSession(args) {
39064
39107
  }
39065
39108
  }
39066
39109
 
39110
+ // src/shared/run-token-log.ts
39111
+ function count(value) {
39112
+ return typeof value === "number" && Number.isFinite(value) ? value : null;
39113
+ }
39114
+ function runTokenLog(tokens, maxTokens, finish) {
39115
+ const usage = tokens && typeof tokens === "object" ? tokens : {};
39116
+ const cache = usage.cache && typeof usage.cache === "object" ? usage.cache : {};
39117
+ return {
39118
+ input: count(usage.input ?? usage.input_tokens),
39119
+ output: count(usage.output ?? usage.output_tokens),
39120
+ reasoning: count(usage.reasoning ?? usage.reasoning_tokens),
39121
+ cache_read: count(usage.cacheRead ?? usage.cache_read ?? usage.cached_input_tokens ?? cache.read),
39122
+ cache_write: count(usage.cacheWrite ?? usage.cache_write ?? usage.cache_write_tokens ?? cache.write),
39123
+ max_tokens: count(maxTokens),
39124
+ finish_reason: typeof finish === "string" ? finish : null
39125
+ };
39126
+ }
39127
+ function formatRunTokenLog(tokens) {
39128
+ return `tokens=${JSON.stringify(tokens)}`;
39129
+ }
39130
+
39067
39131
  // src/features/magic-context/schema-fence-probe.ts
39068
39132
  var STALE_CHILD_SPAWN_FAILURE = "stale_schema_fence";
39069
39133
  var STALE_CHILD_SPAWN_LATCH_THRESHOLD = 2;
@@ -39424,11 +39488,14 @@ function clampProducerAtomChars(text, maxChars, marker) {
39424
39488
  const tailChars = Math.floor(keptChars / 2);
39425
39489
  return `${text.slice(0, headChars)}${marker}${text.slice(text.length - tailChars)}`;
39426
39490
  }
39427
- function producerInputTokenLimit(contextLimitTokens, maxOutputTokens) {
39428
- if (typeof contextLimitTokens !== "number" || !Number.isFinite(contextLimitTokens) || contextLimitTokens <= 0 || !Number.isFinite(maxOutputTokens) || maxOutputTokens < 0) {
39491
+ function producerInputTokenLimit(contextLimitTokens, maxOutputTokens, inputLimitTokens) {
39492
+ if (!Number.isFinite(maxOutputTokens) || maxOutputTokens < 0)
39429
39493
  return;
39430
- }
39431
- const usableInputTokens = Math.floor(contextLimitTokens - maxOutputTokens);
39494
+ const shared = typeof contextLimitTokens === "number" && Number.isFinite(contextLimitTokens) && contextLimitTokens > 0 ? contextLimitTokens - maxOutputTokens : undefined;
39495
+ const input = typeof inputLimitTokens === "number" && Number.isFinite(inputLimitTokens) && inputLimitTokens > 0 ? inputLimitTokens : undefined;
39496
+ if (shared === undefined && input === undefined)
39497
+ return;
39498
+ const usableInputTokens = Math.floor(Math.min(shared ?? Infinity, input ?? Infinity));
39432
39499
  if (usableInputTokens <= 0)
39433
39500
  return;
39434
39501
  const limit = Math.floor(usableInputTokens * (1 - PRODUCER_WINDOW_REFUSAL_MARGIN));
@@ -39440,15 +39507,15 @@ function historianProducerReserve(window, configuredOutput, catalogOutput) {
39440
39507
  return window === undefined ? 0 : catalogOutputReserve(window, catalogOutput);
39441
39508
  }
39442
39509
  function producerWindowFailureReason(input) {
39443
- const { producerSourceTokens, contextLimitTokens, maxOutputTokens } = input;
39444
- const producerInputLimitTokens = producerInputTokenLimit(contextLimitTokens, maxOutputTokens);
39445
- if (producerInputLimitTokens === undefined || typeof contextLimitTokens !== "number" || !Number.isFinite(producerSourceTokens) || producerSourceTokens <= 0) {
39510
+ const { producerSourceTokens, contextLimitTokens, inputLimitTokens, maxOutputTokens } = input;
39511
+ const producerInputLimitTokens = producerInputTokenLimit(contextLimitTokens, maxOutputTokens, inputLimitTokens);
39512
+ if (producerInputLimitTokens === undefined || !Number.isFinite(producerSourceTokens) || producerSourceTokens <= 0) {
39446
39513
  return null;
39447
39514
  }
39448
- const usableInputTokens = Math.max(0, Math.floor(contextLimitTokens - maxOutputTokens));
39515
+ const usableInputTokens = Math.floor(Math.min(contextLimitTokens === undefined ? Infinity : Math.max(0, contextLimitTokens - maxOutputTokens), inputLimitTokens ?? Infinity));
39449
39516
  if (producerSourceTokens <= producerInputLimitTokens)
39450
39517
  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}`;
39518
+ 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
39519
  }
39453
39520
  function splitMarkerPair() {
39454
39521
  return `
@@ -39457,7 +39524,7 @@ ${HISTORIAN_TRUNCATION_MARKER}
39457
39524
  `;
39458
39525
  }
39459
39526
  function fitAtomicHistorianSourceToProducerWindow(args) {
39460
- const producerInputLimitTokens = producerInputTokenLimit(args.contextLimitTokens, args.maxOutputTokens);
39527
+ const producerInputLimitTokens = producerInputTokenLimit(args.contextLimitTokens, args.maxOutputTokens, args.inputLimitTokens);
39461
39528
  const originalTokens = estimateTokens(args.text);
39462
39529
  if (producerInputLimitTokens === undefined || originalTokens < producerInputLimitTokens || producerInputLimitTokens <= 0) {
39463
39530
  return { text: args.text, producerInputLimitTokens, removedTokens: 0 };
@@ -39491,7 +39558,7 @@ function fitAtomicHistorianSourceToProducerWindow(args) {
39491
39558
  };
39492
39559
  }
39493
39560
  function producerPromptFailureReason(input) {
39494
- const limit = producerInputTokenLimit(input.contextLimitTokens, input.maxOutputTokens);
39561
+ const limit = producerInputTokenLimit(input.contextLimitTokens, input.maxOutputTokens, input.inputLimitTokens);
39495
39562
  const tokens = providerMass({ prose: input.sourceLocal, system: input.systemLocal, tools: input.toolsLocal }, calibrationForModelKey(input.modelKey), true);
39496
39563
  if (limit === undefined)
39497
39564
  return null;
@@ -39602,12 +39669,15 @@ function createV1HiddenCompletionExecutor(client, db, directory) {
39602
39669
  throw new Error(`Historian host recorded an assistant error${finish}: ${describeAssistantFailure(assistantFailure.error)}`);
39603
39670
  }
39604
39671
  const text = extractLatestAssistantText(messages);
39672
+ 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;
39673
+ const info = latest && isRecord(latest.info) ? latest.info : {};
39605
39674
  return {
39606
39675
  messages,
39607
39676
  text,
39608
39677
  reasoning: text ? null : extractLatestHistorianReasoning(messages),
39609
39678
  lengthCapped: hasLengthCappedOutput(messages),
39610
- usage: sumTokensFromChildMessages(messages)
39679
+ usage: sumTokensFromChildMessages(messages),
39680
+ tokenLog: runTokenLog(info.tokens, undefined, info.finish ?? info.finish_reason ?? info.finishReason)
39611
39681
  };
39612
39682
  },
39613
39683
  async close(handle, settlement) {
@@ -39626,8 +39696,8 @@ function createV1HiddenCompletionExecutor(client, db, directory) {
39626
39696
  }
39627
39697
  };
39628
39698
  }
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`;
39699
+ function historianReasoningBudgetDiagnostic(outputTokens, tokens) {
39700
+ 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
39701
  }
39632
39702
  async function runValidatedHistorianPass(args) {
39633
39703
  const firstRun = await runHistorianPrompt({
@@ -39816,8 +39886,10 @@ async function runHistorianPrompt(args) {
39816
39886
  const modelKey = selected ? `${selected.providerID}/${selected.modelID}` : undefined;
39817
39887
  const system = withContentLanguageDirective(agentId === HISTORIAN_EDITOR_AGENT ? HISTORIAN_EDITOR_SYSTEM_PROMPT : COMPARTMENT_AGENT_SYSTEM_PROMPT, args.language);
39818
39888
  const contextLimitTokens = selected ? getSdkContextLimit(selected.providerID, selected.modelID, undefined, { reservation: "none" }) : undefined;
39819
- const reserve = historianProducerReserve(contextLimitTokens, args.maxOutputTokens, selected ? getSdkOutputLimit(selected.providerID, selected.modelID) : undefined);
39820
- if (contextLimitTokens !== undefined && producerInputTokenLimit(contextLimitTokens, reserve) === undefined && modelKey && !unknownProducerWindows.has(modelKey)) {
39889
+ const producerLimits = selected ? resolveHistorianProducerLimits2(modelKey) : {};
39890
+ const producerContext = producerLimits.context ?? (producerLimits.input === undefined ? contextLimitTokens : undefined);
39891
+ const reserve = historianProducerReserve(producerContext, args.maxOutputTokens, selected ? getSdkOutputLimit(selected.providerID, selected.modelID) : undefined);
39892
+ if (contextLimitTokens !== undefined && producerInputTokenLimit(producerContext, reserve, producerLimits.input) === undefined && modelKey && !unknownProducerWindows.has(modelKey)) {
39821
39893
  unknownProducerWindows.add(modelKey);
39822
39894
  sessionLog(parentSessionId, `producer window inconsistent for ${modelKey}: window=${contextLimitTokens} reserve=${reserve}; sending unguarded`);
39823
39895
  }
@@ -39826,7 +39898,8 @@ async function runHistorianPrompt(args) {
39826
39898
  systemLocal: estimateTokens(system),
39827
39899
  toolsLocal: 0,
39828
39900
  modelKey,
39829
- contextLimitTokens,
39901
+ contextLimitTokens: producerContext,
39902
+ inputLimitTokens: producerLimits.input,
39830
39903
  maxOutputTokens: reserve
39831
39904
  });
39832
39905
  if (failure)
@@ -39860,9 +39933,15 @@ async function runHistorianPrompt(args) {
39860
39933
  }
39861
39934
  completion = await executor.collect(handle, 50);
39862
39935
  const lengthCapped = completion.lengthCapped;
39936
+ const tokens = {
39937
+ ...runTokenLog(undefined, args.maxOutputTokens),
39938
+ ...completion.tokenLog,
39939
+ max_tokens: args.maxOutputTokens ?? null
39940
+ };
39941
+ sessionLog(parentSessionId, `historian response_chars=${(completion.text ?? completion.reasoning ?? "").length} ${formatRunTokenLog(tokens)}`);
39863
39942
  const textResult = completion.text;
39864
39943
  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 ? "Historian returned length-capped output." : null;
39944
+ 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
39945
  const invocationId = recordInvocation({
39867
39946
  status: emptyError ? "empty" : "completed",
39868
39947
  messages: completion.messages,
@@ -41929,6 +42008,8 @@ function findDanglingPublicationBoundary(sessionId, compartments, messageExists
41929
42008
  return null;
41930
42009
  }
41931
42010
  async function runCompartmentAgent(deps) {
42011
+ if (shouldSkipHomeProjectMemory(deps.directory ?? process.cwd()))
42012
+ return;
41932
42013
  const {
41933
42014
  client,
41934
42015
  db,
@@ -42159,11 +42240,14 @@ async function runCompartmentAgent(deps) {
42159
42240
  }
42160
42241
  const producerModel = toModelEntry(deps.model)?.model ?? deps.fallbackModelId;
42161
42242
  const modelParts = producerModel?.split("/");
42162
- const producerReserve = historianProducerReserve(deps.historianContextLimit, deps.historianMaxOutputTokens, modelParts && modelParts.length > 1 ? getSdkOutputLimit(modelParts[0], modelParts.slice(1).join("/")) : undefined);
42243
+ const producerLimits = resolveHistorianProducerLimits2(producerModel);
42244
+ const producerContext = producerLimits.context ?? (producerLimits.input === undefined ? deps.historianContextLimit : undefined);
42245
+ const producerReserve = historianProducerReserve(producerContext, deps.historianMaxOutputTokens, modelParts && modelParts.length > 1 ? getSdkOutputLimit(modelParts[0], modelParts.slice(1).join("/")) : undefined);
42163
42246
  const fittedAtomicSource = chunk.oversizeAtomicUnit ? fitAtomicHistorianSourceToProducerWindow({
42164
42247
  text: chunk.text,
42165
42248
  resultBoundaries: chunk.toolResultBoundaries,
42166
- contextLimitTokens: deps.historianContextLimit,
42249
+ contextLimitTokens: producerContext,
42250
+ inputLimitTokens: producerLimits.input,
42167
42251
  maxOutputTokens: producerReserve
42168
42252
  }) : null;
42169
42253
  const chunkText = chunk.oversizeAtomicUnit ? fittedAtomicSource?.text ?? chunk.text : truncateHistorianInputIfNeeded(chunk.text, historianChunkTokens);
@@ -42176,10 +42260,11 @@ async function runCompartmentAgent(deps) {
42176
42260
  }
42177
42261
  const producerWindowFailure = producerWindowFailureReason({
42178
42262
  producerSourceTokens,
42179
- contextLimitTokens: deps.historianContextLimit,
42263
+ contextLimitTokens: producerContext,
42264
+ inputLimitTokens: producerLimits.input,
42180
42265
  maxOutputTokens: producerReserve
42181
42266
  });
42182
- if (deps.historianContextLimit !== undefined && producerInputTokenLimit(deps.historianContextLimit, producerReserve) === undefined) {
42267
+ if (deps.historianContextLimit !== undefined && producerInputTokenLimit(producerContext, producerReserve, producerLimits.input) === undefined) {
42183
42268
  logInconsistentProducerWindowOnce(sessionId, producerModel ?? "unknown", deps.historianContextLimit, producerReserve);
42184
42269
  }
42185
42270
  if (producerWindowFailure) {
@@ -42339,7 +42424,7 @@ ${chunkText}`,
42339
42424
  const compartmentTagKeys = await getRawSessionTagKeysThrough2(sessionId, lastCompartmentEnd, { db, fromMessageIndex: offset });
42340
42425
  let published = false;
42341
42426
  const transactionStartedAt = startHistorianPublishStage(sessionId, "publish-txn");
42342
- db.exec("BEGIN IMMEDIATE");
42427
+ await beginSqliteWriterAsync(db, "historian-publish");
42343
42428
  try {
42344
42429
  if (!isCompartmentLeaseHeld(db, sessionId, holderId)) {
42345
42430
  db.exec("ROLLBACK");
@@ -43424,4 +43509,4 @@ async function executeContextRecomp(deps, options = {}) {
43424
43509
  return (await executeContextRecompWithResult(deps, options)).message;
43425
43510
  }
43426
43511
 
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 };
43512
+ 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 };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAmGvE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AA4/BpC,QAAA,MAAM,MAAM,EAAE,YAAY,GAAG;IAAE,KAAK,EAAE,OAAO,KAAK,CAAA;CAIjD,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAsGvE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AA6/BpC,QAAA,MAAM,MAAM,EAAE,YAAY,GAAG;IAAE,KAAK,EAAE,OAAO,KAAK,CAAA;CAIjD,CAAC;AAEF,eAAe,MAAM,CAAC"}