@remnic/core 9.3.737 → 9.3.739

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 (144) hide show
  1. package/dist/access-boundary.d.ts +6 -6
  2. package/dist/access-boundary.js +10 -10
  3. package/dist/access-cli.js +26 -26
  4. package/dist/access-http.d.ts +6 -6
  5. package/dist/access-http.js +15 -15
  6. package/dist/access-mcp.d.ts +6 -6
  7. package/dist/access-mcp.js +14 -14
  8. package/dist/access-operations-batch.js +12 -12
  9. package/dist/access-operations.d.ts +6 -6
  10. package/dist/access-operations.js +13 -13
  11. package/dist/{access-service-DwQ6BIQw.d.ts → access-service-Cbk-Kv_A.d.ts} +1 -1
  12. package/dist/access-service.d.ts +6 -6
  13. package/dist/access-service.js +9 -9
  14. package/dist/access-surface-catalog.d.ts +6 -6
  15. package/dist/active-memory-bridge.js +3 -3
  16. package/dist/bootstrap.d.ts +5 -5
  17. package/dist/buffer.js +2 -1
  18. package/dist/capabilities.d.ts +98 -1
  19. package/dist/capabilities.js +7 -1
  20. package/dist/{chunk-G54IDCD3.js → chunk-23PLOBWT.js} +30 -27
  21. package/dist/chunk-23PLOBWT.js.map +1 -0
  22. package/dist/{chunk-K3Y2SJTN.js → chunk-56LP72AD.js} +6 -6
  23. package/dist/{chunk-ZBZ4XULO.js → chunk-66RZ4EIT.js} +3 -3
  24. package/dist/{chunk-IPI45Q4S.js → chunk-75PDC7VT.js} +9 -8
  25. package/dist/chunk-75PDC7VT.js.map +1 -0
  26. package/dist/{chunk-GB2FZOWB.js → chunk-7B7IPPN5.js} +5 -5
  27. package/dist/{chunk-QNTLWH3T.js → chunk-A7INTIC5.js} +3 -3
  28. package/dist/{chunk-FLPKEMSO.js → chunk-AKKFHN3I.js} +2 -2
  29. package/dist/{chunk-AAIHDIMD.js → chunk-BHJAMSVC.js} +7 -7
  30. package/dist/{chunk-BXPG5AVX.js → chunk-BHQQVUEQ.js} +6 -6
  31. package/dist/{chunk-HFXZIF3V.js → chunk-BVG2IZOB.js} +3 -3
  32. package/dist/{chunk-NDKW67ER.js → chunk-C53JDEH3.js} +4 -4
  33. package/dist/{chunk-AESC5OQJ.js → chunk-CKHPUOAP.js} +2 -2
  34. package/dist/{chunk-OYHYBHHI.js → chunk-DS3FZ7GS.js} +4 -4
  35. package/dist/{chunk-UO6MPN77.js → chunk-EU543UDC.js} +10 -9
  36. package/dist/chunk-EU543UDC.js.map +1 -0
  37. package/dist/{chunk-PB5YON2G.js → chunk-IEWUPZ75.js} +659 -584
  38. package/dist/chunk-IEWUPZ75.js.map +1 -0
  39. package/dist/{chunk-E4LYJ7PY.js → chunk-IFCM6OLK.js} +6 -6
  40. package/dist/{chunk-5BOQNB2K.js → chunk-JQSP7YBJ.js} +3 -3
  41. package/dist/{chunk-2T2N7ISV.js → chunk-L3TYGUTH.js} +3 -3
  42. package/dist/{chunk-AB2E5DCN.js → chunk-MAU7DFCJ.js} +2 -2
  43. package/dist/{chunk-P6VLG7KE.js → chunk-N2O23WYA.js} +2 -2
  44. package/dist/{chunk-HYNHLBKA.js → chunk-OQQRWPFZ.js} +5 -2
  45. package/dist/chunk-OQQRWPFZ.js.map +1 -0
  46. package/dist/{chunk-IXGXALRV.js → chunk-QTJOORGN.js} +2 -2
  47. package/dist/{chunk-JWDE7OVJ.js → chunk-RJBW4EOU.js} +46 -2
  48. package/dist/{chunk-JWDE7OVJ.js.map → chunk-RJBW4EOU.js.map} +1 -1
  49. package/dist/{chunk-AE7NTZ75.js → chunk-TNLXCSXV.js} +3 -3
  50. package/dist/{chunk-NNJKEAP2.js → chunk-VRBBZH4U.js} +4 -4
  51. package/dist/{chunk-VOEVVIP3.js → chunk-W2FBVBQ4.js} +4 -4
  52. package/dist/{chunk-WNGXQMRI.js → chunk-WFNH4UDF.js} +5 -2
  53. package/dist/chunk-WFNH4UDF.js.map +1 -0
  54. package/dist/{chunk-CHJIWG2H.js → chunk-WVAEIKUY.js} +2 -2
  55. package/dist/{chunk-FF36YNKY.js → chunk-XIQAOGAA.js} +11 -10
  56. package/dist/chunk-XIQAOGAA.js.map +1 -0
  57. package/dist/{chunk-HLPYL6LC.js → chunk-Y5OOHER4.js} +14 -12
  58. package/dist/chunk-Y5OOHER4.js.map +1 -0
  59. package/dist/{chunk-GYICIICQ.js → chunk-YF2MMBKA.js} +9 -7
  60. package/dist/chunk-YF2MMBKA.js.map +1 -0
  61. package/dist/{chunk-IX4L7E5G.js → chunk-YXOXAQ5Y.js} +2 -2
  62. package/dist/{cli-BlEIWDQw.d.ts → cli-BQW2xKdb.d.ts} +2 -2
  63. package/dist/cli.d.ts +7 -7
  64. package/dist/cli.js +21 -21
  65. package/dist/compounding/engine.js +2 -2
  66. package/dist/contradiction/index.js +2 -2
  67. package/dist/{contradiction-scan-2B4AE4TI.js → contradiction-scan-CWO3LIWV.js} +3 -3
  68. package/dist/embedding-fallback.js +2 -2
  69. package/dist/entity-retrieval.js +2 -2
  70. package/dist/explicit-capture.d.ts +5 -5
  71. package/dist/explicit-capture.js +2 -2
  72. package/dist/extraction.js +3 -3
  73. package/dist/{first-start-migration-2RQYDIZ7.js → first-start-migration-5DXD3TF2.js} +2 -2
  74. package/dist/index.d.ts +8 -8
  75. package/dist/index.js +32 -32
  76. package/dist/local-llm.js +2 -2
  77. package/dist/mcp-memory-inspector-app.d.ts +6 -6
  78. package/dist/namespaces/migrate.js +6 -6
  79. package/dist/namespaces/principal.js +2 -2
  80. package/dist/namespaces/search.js +4 -4
  81. package/dist/namespaces/storage.js +2 -2
  82. package/dist/operator-toolkit.js +11 -11
  83. package/dist/orchestration/compression-guideline-coordinator.js +2 -2
  84. package/dist/orchestration/maintenance.js +6 -6
  85. package/dist/{orchestrator-CJZ21ZiB.d.ts → orchestrator-BOAFN_Yr.d.ts} +186 -56
  86. package/dist/orchestrator.d.ts +4 -4
  87. package/dist/orchestrator.js +21 -21
  88. package/dist/search/embed-helper.js +2 -2
  89. package/dist/search/factory.js +3 -3
  90. package/dist/search/index.js +3 -3
  91. package/dist/summarizer.js +3 -3
  92. package/dist/{tier-stats-KPDIISG7.js → tier-stats-QID73BBB.js} +2 -2
  93. package/package.json +2 -2
  94. package/src/access-service.ts +7 -8
  95. package/src/buffer.ts +2 -1
  96. package/src/capabilities.test.ts +137 -0
  97. package/src/capabilities.ts +209 -0
  98. package/src/cli/creation-ledger-commands.ts +3 -3
  99. package/src/cli/research-status-commands.ts +4 -4
  100. package/src/cli.ts +9 -10
  101. package/src/compounding/engine.ts +7 -7
  102. package/src/correction/correction-access-wiring.ts +3 -2
  103. package/src/extraction.ts +8 -10
  104. package/src/operator-toolkit.ts +6 -7
  105. package/src/orchestration/conversation-index-coordinator.ts +344 -0
  106. package/src/orchestration/entity-synthesis-coordinator.ts +2 -1
  107. package/src/orchestration/maintenance.ts +5 -7
  108. package/src/orchestration/recall-rerank-coordinator.ts +425 -0
  109. package/src/orchestration/semantic-consolidation-coordinator.ts +2 -2
  110. package/src/orchestrator.ts +88 -602
  111. package/dist/chunk-FF36YNKY.js.map +0 -1
  112. package/dist/chunk-G54IDCD3.js.map +0 -1
  113. package/dist/chunk-GYICIICQ.js.map +0 -1
  114. package/dist/chunk-HLPYL6LC.js.map +0 -1
  115. package/dist/chunk-HYNHLBKA.js.map +0 -1
  116. package/dist/chunk-IPI45Q4S.js.map +0 -1
  117. package/dist/chunk-PB5YON2G.js.map +0 -1
  118. package/dist/chunk-UO6MPN77.js.map +0 -1
  119. package/dist/chunk-WNGXQMRI.js.map +0 -1
  120. /package/dist/{chunk-K3Y2SJTN.js.map → chunk-56LP72AD.js.map} +0 -0
  121. /package/dist/{chunk-ZBZ4XULO.js.map → chunk-66RZ4EIT.js.map} +0 -0
  122. /package/dist/{chunk-GB2FZOWB.js.map → chunk-7B7IPPN5.js.map} +0 -0
  123. /package/dist/{chunk-QNTLWH3T.js.map → chunk-A7INTIC5.js.map} +0 -0
  124. /package/dist/{chunk-FLPKEMSO.js.map → chunk-AKKFHN3I.js.map} +0 -0
  125. /package/dist/{chunk-AAIHDIMD.js.map → chunk-BHJAMSVC.js.map} +0 -0
  126. /package/dist/{chunk-BXPG5AVX.js.map → chunk-BHQQVUEQ.js.map} +0 -0
  127. /package/dist/{chunk-HFXZIF3V.js.map → chunk-BVG2IZOB.js.map} +0 -0
  128. /package/dist/{chunk-NDKW67ER.js.map → chunk-C53JDEH3.js.map} +0 -0
  129. /package/dist/{chunk-AESC5OQJ.js.map → chunk-CKHPUOAP.js.map} +0 -0
  130. /package/dist/{chunk-OYHYBHHI.js.map → chunk-DS3FZ7GS.js.map} +0 -0
  131. /package/dist/{chunk-E4LYJ7PY.js.map → chunk-IFCM6OLK.js.map} +0 -0
  132. /package/dist/{chunk-5BOQNB2K.js.map → chunk-JQSP7YBJ.js.map} +0 -0
  133. /package/dist/{chunk-2T2N7ISV.js.map → chunk-L3TYGUTH.js.map} +0 -0
  134. /package/dist/{chunk-AB2E5DCN.js.map → chunk-MAU7DFCJ.js.map} +0 -0
  135. /package/dist/{chunk-P6VLG7KE.js.map → chunk-N2O23WYA.js.map} +0 -0
  136. /package/dist/{chunk-IXGXALRV.js.map → chunk-QTJOORGN.js.map} +0 -0
  137. /package/dist/{chunk-AE7NTZ75.js.map → chunk-TNLXCSXV.js.map} +0 -0
  138. /package/dist/{chunk-NNJKEAP2.js.map → chunk-VRBBZH4U.js.map} +0 -0
  139. /package/dist/{chunk-VOEVVIP3.js.map → chunk-W2FBVBQ4.js.map} +0 -0
  140. /package/dist/{chunk-CHJIWG2H.js.map → chunk-WVAEIKUY.js.map} +0 -0
  141. /package/dist/{chunk-IX4L7E5G.js.map → chunk-YXOXAQ5Y.js.map} +0 -0
  142. /package/dist/{contradiction-scan-2B4AE4TI.js.map → contradiction-scan-CWO3LIWV.js.map} +0 -0
  143. /package/dist/{first-start-migration-2RQYDIZ7.js.map → first-start-migration-5DXD3TF2.js.map} +0 -0
  144. /package/dist/{tier-stats-KPDIISG7.js.map → tier-stats-QID73BBB.js.map} +0 -0
@@ -10,11 +10,13 @@ import {
10
10
  import {
11
11
  planNamespaceMaintenance,
12
12
  runNamespaceMaintenanceBatchPlan
13
- } from "./chunk-BXPG5AVX.js";
13
+ } from "./chunk-BHQQVUEQ.js";
14
14
  import {
15
+ resolveConsolidationCapabilities,
15
16
  resolveNamespaceCapabilities,
16
- resolveQmdCapabilities
17
- } from "./chunk-JWDE7OVJ.js";
17
+ resolveQmdCapabilities,
18
+ resolveRecallAuxiliaryCapabilities
19
+ } from "./chunk-RJBW4EOU.js";
18
20
  import {
19
21
  resolveHomeDir
20
22
  } from "./chunk-JUC24CTX.js";
@@ -57,7 +59,7 @@ var MaintenanceScheduler = class {
57
59
  * `await deferredReady` can rely on jobs.json being current.
58
60
  */
59
61
  async autoRegisterCrons(_signal) {
60
- if (this.deps.config.daySummaryEnabled) {
62
+ if (resolveRecallAuxiliaryCapabilities(this.deps.config).daySummary) {
61
63
  try {
62
64
  await this.autoRegisterDaySummaryCron();
63
65
  } catch (err) {
@@ -85,14 +87,14 @@ var MaintenanceScheduler = class {
85
87
  log.debug(`contradiction scan cron auto-register failed (non-fatal): ${err}`);
86
88
  }
87
89
  }
88
- if (this.deps.config.patternReinforcementEnabled) {
90
+ if (resolveConsolidationCapabilities(this.deps.config).patternReinforcement) {
89
91
  try {
90
92
  await this.autoRegisterPatternReinforcementCron();
91
93
  } catch (err) {
92
94
  log.debug(`pattern reinforcement cron auto-register failed (non-fatal): ${err}`);
93
95
  }
94
96
  }
95
- if (this.deps.config.graphEdgeDecayEnabled) {
97
+ if (resolveConsolidationCapabilities(this.deps.config).graphEdgeDecay) {
96
98
  try {
97
99
  await this.autoRegisterGraphEdgeDecayCron();
98
100
  } catch (err) {
@@ -445,4 +447,4 @@ var MaintenanceScheduler = class {
445
447
  export {
446
448
  MaintenanceScheduler
447
449
  };
448
- //# sourceMappingURL=chunk-GYICIICQ.js.map
450
+ //# sourceMappingURL=chunk-YF2MMBKA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/orchestration/maintenance.ts"],"sourcesContent":["/**\n * Maintenance scheduler — extracted from the orchestrator (issue #1526 PR1).\n *\n * Owns the WHEN of memory maintenance:\n * - cron auto-registration (writes jobs.json entries the OpenClaw cron\n * daemon picks up)\n * - debounced + singleflight QMD index maintenance (re-index + embed\n * after writes)\n * - consolidation scheduling trigger (count + interval gated)\n *\n * Does NOT own the WHAT — the actual job runners (runSemanticConsolidation,\n * runPatternReinforcement, runDeepSleepGovernanceNow, runConsolidation)\n * remain on the orchestrator because they need the full LLM + extraction\n * dependency surface. The scheduler invokes consolidation through a\n * callback so the orchestrator stays the source of truth for that work.\n *\n * Behavior-preserving move from orchestrator.ts. No logic changes — the\n * orchestrator keeps thin delegating methods so existing tests that stub\n * `orchestrator.requestQmdMaintenance` etc. continue to work.\n */\n\nimport { resolveNamespaceCapabilities,\n resolveQmdCapabilities,resolveConsolidationCapabilities, resolveRecallAuxiliaryCapabilities } from \"../capabilities.js\";\nimport { existsSync } from \"node:fs\";\nimport path from \"node:path\";\n\nimport type { PluginConfig } from \"../types.js\";\nimport type { SearchBackend } from \"../search/port.js\";\nimport {\n NamespaceSearchRouter,\n type NamespaceUpdateResult,\n} from \"../namespaces/search.js\";\nimport type { NamespaceCatalog } from \"../namespaces/catalog.js\";\nimport {\n planNamespaceMaintenance,\n runNamespaceMaintenanceBatchPlan,\n type NamespaceMaintenancePlan,\n type NamespaceMaintenanceSkipReason,\n} from \"../maintenance/namespace-planner.js\";\nimport {\n ensureContradictionScanCron,\n ensureDaySummaryCron,\n ensureGraphEdgeDecayCron,\n ensureNightlyGovernanceCron,\n ensurePatternReinforcementCron,\n ensureProceduralMiningCron,\n graphEdgeDecayCadenceToCronExpr,\n} from \"../maintenance/memory-governance-cron.js\";\nimport { resolveHomeDir } from \"../runtime/env.js\";\nimport { log } from \"../logger.js\";\n\n/** Reason a QMD maintenance pass was skipped, used for status recording. */\nfunction qmdMaintenanceSkipReasonForError(\n error: unknown,\n): NamespaceMaintenanceSkipReason | null {\n const message = error instanceof Error ? error.message : String(error);\n return /^QMD (?:update|embed) skipped by .*min-interval gate$/.test(message)\n ? \"throttled\"\n : null;\n}\n\n/** Dependencies injected by the orchestrator. All stable references. */\nexport interface MaintenanceSchedulerDeps {\n config: PluginConfig;\n /** Live accessor — the orchestrator can reassign its qmd backend after\n * construction (e.g. swap to NoopSearchBackend when the collection is\n * missing), and the scheduler must always observe the current backend. */\n getQmd: () => SearchBackend;\n namespaceSearchRouter: NamespaceSearchRouter;\n namespaceCatalog: NamespaceCatalog;\n}\n\n/**\n * Schedules and debounces memory maintenance work. Owns the cadence +\n * singleflight state that previously lived as private orchestrator fields.\n *\n * The orchestrator constructs one instance in its constructor and delegates\n * the public scheduling entrypoints to it. Job execution stays on the\n * orchestrator (LLM-heavy) and is invoked through callbacks.\n */\nexport class MaintenanceScheduler {\n // ── Consolidation scheduling state ──\n private nonZeroExtractionsSinceConsolidation = 0;\n private lastConsolidationRunAtMs = 0;\n private consolidationInFlight = false;\n\n // ── QMD maintenance scheduling state ──\n private qmdMaintenanceTimer: NodeJS.Timeout | null = null;\n private qmdMaintenancePending = false;\n private qmdMaintenanceInFlight = false;\n private lastQmdEmbedAtMs = 0;\n private lastQmdEmbedAtMsByNamespace = new Map<string, number>();\n\n constructor(private readonly deps: MaintenanceSchedulerDeps) {}\n\n // ───────────────────────────────────────────────────────────────────────\n // Cron auto-registration\n // ───────────────────────────────────────────────────────────────────────\n\n /**\n * Register every cron job the daemon should run, gated by its config flag.\n * Each registration is independent and non-fatal — a failure in one does\n * not block the others (mirrors the orchestrator's prior sequential try/\n * catch behavior exactly).\n *\n * Returns when all eligible registrations have completed so callers that\n * `await deferredReady` can rely on jobs.json being current.\n */\n async autoRegisterCrons(_signal: AbortSignal): Promise<void> {\n if (resolveRecallAuxiliaryCapabilities(this.deps.config).daySummary) {\n try {\n await this.autoRegisterDaySummaryCron();\n } catch (err) {\n log.debug(`day-summary cron auto-register failed (non-fatal): ${err}`);\n }\n }\n if (this.deps.config.nightlyGovernanceCronAutoRegister) {\n try {\n await this.autoRegisterNightlyGovernanceCron();\n } catch (err) {\n log.debug(`nightly governance cron auto-register failed (non-fatal): ${err}`);\n }\n }\n if (this.deps.config.procedural?.proceduralMiningCronAutoRegister) {\n try {\n await this.autoRegisterProceduralMiningCron();\n } catch (err) {\n log.debug(`procedural mining cron auto-register failed (non-fatal): ${err}`);\n }\n }\n if (this.deps.config.contradictionScan?.enabled) {\n try {\n await this.autoRegisterContradictionScanCron();\n } catch (err) {\n log.debug(`contradiction scan cron auto-register failed (non-fatal): ${err}`);\n }\n }\n if (resolveConsolidationCapabilities(this.deps.config).patternReinforcement) {\n try {\n await this.autoRegisterPatternReinforcementCron();\n } catch (err) {\n log.debug(`pattern reinforcement cron auto-register failed (non-fatal): ${err}`);\n }\n }\n if (resolveConsolidationCapabilities(this.deps.config).graphEdgeDecay) {\n try {\n await this.autoRegisterGraphEdgeDecayCron();\n } catch (err) {\n log.debug(`graph edge decay cron auto-register failed (non-fatal): ${err}`);\n }\n }\n }\n\n async autoRegisterDaySummaryCron(): Promise<void> {\n const home = resolveHomeDir();\n const jobsPath = path.join(home, \".openclaw\", \"cron\", \"jobs.json\");\n\n try {\n if (!existsSync(jobsPath)) {\n log.debug(\"day-summary cron: jobs.json not found, skipping auto-register\");\n return;\n }\n\n // Resolve an OpenClaw cron-routing model only in gateway mode. In plugin\n // mode, summaryModel is a direct-client model id for Remnic's own LLM\n // calls and may be unroutable as an OpenClaw agentTurn model.\n const rawSummaryModel = this.deps.config.summaryModel;\n const taskPrimary = this.deps.config.taskModelChain?.primary;\n const isGateway = this.deps.config.modelSource === \"gateway\";\n const model = isGateway ? (rawSummaryModel || taskPrimary || undefined) : undefined;\n // Attach task-chain fallbacks only when the model matches the task-chain\n // primary. If summaryModel is a distinct override, its fallbacks would\n // be unrelated to the task chain. Also append gateway default models as\n // tail fallbacks (de-duped) so a task-chain outage doesn't stop the cron\n // before reaching the gateway default chain. Mirrors hourly cron pattern.\n const fallbacks: string[] = [];\n if (model && taskPrimary && model === taskPrimary) {\n const seen = new Set<string>(model ? [model] : []);\n const addUnique = (value: string | undefined) => {\n if (typeof value !== \"string\") return;\n const trimmed = value.trim();\n if (trimmed.length > 0 && !seen.has(trimmed)) {\n seen.add(trimmed);\n fallbacks.push(trimmed);\n }\n };\n for (const fb of this.deps.config.taskModelChain?.fallbacks ?? []) addUnique(fb);\n const gwDefaults = this.deps.config.gatewayConfig?.agents?.defaults?.model;\n addUnique(gwDefaults?.primary);\n if (Array.isArray(gwDefaults?.fallbacks)) {\n for (const fb of gwDefaults.fallbacks) addUnique(fb);\n }\n }\n\n const timezone =\n this.deps.config.daySummaryTimezone ||\n Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n const result = await ensureDaySummaryCron(jobsPath, {\n timezone,\n ...(model ? { model } : {}),\n ...(fallbacks.length > 0 ? { fallbacks } : {}),\n });\n if (result.created) {\n log.info(\n `day-summary cron auto-registered (${result.jobId}, 23:47 ${timezone}${model ? `, model: ${model}` : \"\"})`,\n );\n } else if (result.updated) {\n log.info(\n `day-summary cron reconciled (${result.jobId}, timezone: ${timezone}${model ? `, model: ${model}` : \"\"})`,\n );\n } else {\n log.debug(\"day-summary cron already up to date\");\n }\n } catch (err) {\n log.debug(`day-summary cron auto-register error: ${err}`);\n }\n }\n\n async autoRegisterNightlyGovernanceCron(): Promise<void> {\n const home = resolveHomeDir();\n const jobsPath = path.join(home, \".openclaw\", \"cron\", \"jobs.json\");\n\n try {\n if (!existsSync(jobsPath)) {\n log.debug(\"nightly governance cron: jobs.json not found, skipping auto-register\");\n return;\n }\n\n const created = await ensureNightlyGovernanceCron(jobsPath, {\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n });\n if (created.created) {\n log.info(\n `nightly governance cron auto-registered (${created.jobId}, 02:23 ${Intl.DateTimeFormat().resolvedOptions().timeZone})`,\n );\n } else {\n log.debug(\"nightly governance cron already exists, skipping auto-register\");\n }\n } catch (err) {\n log.debug(`nightly governance cron auto-register error: ${err}`);\n }\n }\n\n async autoRegisterProceduralMiningCron(): Promise<void> {\n const home = resolveHomeDir();\n const jobsPath = path.join(home, \".openclaw\", \"cron\", \"jobs.json\");\n try {\n if (!existsSync(jobsPath)) {\n log.debug(\"procedural mining cron: jobs.json not found, skipping auto-register\");\n return;\n }\n const created = await ensureProceduralMiningCron(jobsPath, {\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n });\n if (created.created) {\n log.info(`procedural mining cron auto-registered (${created.jobId})`);\n } else {\n log.debug(\"procedural mining cron already exists, skipping auto-register\");\n }\n } catch (err) {\n log.debug(`procedural mining cron auto-register error: ${err}`);\n }\n }\n\n async autoRegisterContradictionScanCron(): Promise<void> {\n const home = resolveHomeDir();\n const jobsPath = path.join(home, \".openclaw\", \"cron\", \"jobs.json\");\n try {\n if (!existsSync(jobsPath)) {\n log.debug(\"contradiction scan cron: jobs.json not found, skipping auto-register\");\n return;\n }\n const created = await ensureContradictionScanCron(jobsPath, {\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n });\n if (created.created) {\n log.info(`contradiction scan cron auto-registered (${created.jobId})`);\n } else {\n log.debug(\"contradiction scan cron already exists, skipping auto-register\");\n }\n } catch (err) {\n log.debug(`contradiction scan cron auto-register error: ${err}`);\n }\n }\n\n async autoRegisterPatternReinforcementCron(): Promise<void> {\n const home = resolveHomeDir();\n const jobsPath = path.join(home, \".openclaw\", \"cron\", \"jobs.json\");\n try {\n if (!existsSync(jobsPath)) {\n log.debug(\"pattern reinforcement cron: jobs.json not found, skipping auto-register\");\n return;\n }\n const created = await ensurePatternReinforcementCron(jobsPath, {\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n });\n if (created.created) {\n log.info(`pattern reinforcement cron auto-registered (${created.jobId})`);\n } else {\n log.debug(\"pattern reinforcement cron already exists, skipping auto-register\");\n }\n } catch (err) {\n log.debug(`pattern reinforcement cron auto-register error: ${err}`);\n }\n }\n\n async autoRegisterGraphEdgeDecayCron(): Promise<void> {\n const home = resolveHomeDir();\n const jobsPath = path.join(home, \".openclaw\", \"cron\", \"jobs.json\");\n try {\n if (!existsSync(jobsPath)) {\n log.debug(\"graph edge decay cron: jobs.json not found, skipping auto-register\");\n return;\n }\n const scheduleExpr = graphEdgeDecayCadenceToCronExpr(\n this.deps.config.graphEdgeDecayCadenceMs,\n );\n const created = await ensureGraphEdgeDecayCron(jobsPath, {\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n scheduleExpr,\n });\n if (created.created) {\n log.info(`graph edge decay cron auto-registered (${created.jobId}, ${scheduleExpr})`);\n } else {\n log.debug(\"graph edge decay cron already exists, skipping auto-register\");\n }\n } catch (err) {\n log.debug(`graph edge decay cron auto-register error: ${err}`);\n }\n }\n\n // ───────────────────────────────────────────────────────────────────────\n // Consolidation scheduling\n // ───────────────────────────────────────────────────────────────────────\n\n /**\n * Maybe trigger a background consolidation pass after an extraction.\n * Counted + interval gated so a burst of extractions does not fan into a\n * burst of consolidation passes. The consolidation runner itself is\n * passed in as a callback because it lives on the orchestrator (LLM +\n * storage dependency surface) and is not owned by this module.\n */\n maybeScheduleConsolidation(\n nonZeroExtraction: boolean,\n runConsolidation: () => Promise<unknown>,\n ): void {\n if (nonZeroExtraction) this.nonZeroExtractionsSinceConsolidation += 1;\n if (\n this.deps.config.consolidationRequireNonZeroExtraction &&\n !nonZeroExtraction\n ) {\n return;\n }\n if (\n this.nonZeroExtractionsSinceConsolidation <\n this.deps.config.consolidateEveryN\n ) {\n return;\n }\n\n const now = Date.now();\n if (\n now - this.lastConsolidationRunAtMs <\n this.deps.config.consolidationMinIntervalMs\n ) {\n return;\n }\n if (this.consolidationInFlight) return;\n\n this.consolidationInFlight = true;\n this.lastConsolidationRunAtMs = now;\n this.nonZeroExtractionsSinceConsolidation = 0;\n runConsolidation()\n .catch((err) => log.error(\"background consolidation failed\", err))\n .finally(() => {\n this.consolidationInFlight = false;\n });\n }\n\n /** Whether a background consolidation pass is currently running. Exposed so\n * the orchestrator's waitForConsolidationIdle can poll idle state without\n * owning the cadence state (issue #1526 PR1). */\n isConsolidationInFlight(): boolean {\n return this.consolidationInFlight;\n }\n\n /** Whether a debounced QMD maintenance pass is armed and waiting for the\n * debounce timer. Exposed so drain/teardown diagnostics (e.g. the bench\n * adapter) can observe scheduler idle state after the #1526 PR1 extraction\n * moved this flag off the orchestrator. */\n isQmdMaintenancePending(): boolean {\n return this.qmdMaintenancePending;\n }\n\n /** Whether a QMD maintenance pass is currently running (singleflight guard).\n * Exposed for drain/teardown diagnostics (see isQmdMaintenancePending). */\n isQmdMaintenanceInFlight(): boolean {\n return this.qmdMaintenanceInFlight;\n }\n // ───────────────────────────────────────────────────────────────────────\n // QMD maintenance scheduling (debounced + singleflight)\n // ───────────────────────────────────────────────────────────────────────\n\n /** Internal: queue a debounced QMD maintenance pass. */\n private requestQmdMaintenance(): void {\n if (!this.deps.getQmd().isAvailable()) return;\n if (!resolveQmdCapabilities(this.deps.config).qmdMaintenance) return;\n\n this.qmdMaintenancePending = true;\n if (this.qmdMaintenanceTimer) return;\n\n this.qmdMaintenanceTimer = setTimeout(() => {\n this.qmdMaintenanceTimer = null;\n this.runQmdMaintenance().catch((err) =>\n log.debug(`background qmd maintenance failed: ${err}`),\n );\n }, this.deps.config.qmdMaintenanceDebounceMs);\n }\n\n /**\n * Public entrypoint for tool-driven QMD maintenance requests.\n * Routes through existing debounced/singleflight maintenance controls.\n */\n requestQmdMaintenanceForTool(reason: string): void {\n try {\n this.requestQmdMaintenance();\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err);\n log.warn(`qmd maintenance request failed (${reason}): ${msg}`);\n }\n }\n\n /** Internal: run a single QMD maintenance pass under singleflight guard. */\n async runQmdMaintenance(): Promise<void> {\n if (this.qmdMaintenanceInFlight) return;\n if (!this.qmdMaintenancePending) return;\n this.qmdMaintenanceInFlight = true;\n this.qmdMaintenancePending = false;\n\n try {\n if (resolveNamespaceCapabilities(this.deps.config).namespaces) {\n // Include cataloged dynamic namespaces, not just the configured set\n // (NGnei), but run through the namespace-aware maintenance planner so\n // each namespace is budgeted, lock-protected, and status-recorded\n // independently (issue #1500).\n const plan = await this.namespaceMaintenancePlan(\"qmd\");\n const now = Date.now();\n const lastEmbedAtByNamespace = this.lastQmdEmbedAtMsByNamespace;\n const dueEmbedNamespaces = (namespaces: string[]): string[] => {\n if (!resolveQmdCapabilities(this.deps.config).qmdAutoEmbed) return [];\n return namespaces.filter(\n (namespace) =>\n now - (lastEmbedAtByNamespace.get(namespace) ?? 0) >=\n this.deps.config.qmdEmbedMinIntervalMs,\n );\n };\n const markEmbedded = (namespaces: string[]): void => {\n if (namespaces.length === 0) return;\n for (const namespace of namespaces) {\n lastEmbedAtByNamespace.set(namespace, now);\n }\n this.lastQmdEmbedAtMs = now;\n };\n await runNamespaceMaintenanceBatchPlan(\n this.deps.config,\n plan,\n async (candidates) => {\n const namespaces = candidates.map((candidate) => candidate.namespace);\n const embedNamespaces = dueEmbedNamespaces(namespaces);\n let result: NamespaceUpdateResult;\n try {\n result = await this.deps.namespaceSearchRouter.updateNamespacesDetailed(\n namespaces,\n undefined,\n { strict: true },\n );\n } catch (error) {\n if (\n embedNamespaces.length > 0 &&\n qmdMaintenanceSkipReasonForError(error) === \"throttled\"\n ) {\n await this.deps.namespaceSearchRouter.embedNamespaces(embedNamespaces, {\n strict: true,\n });\n markEmbedded(embedNamespaces);\n }\n throw error;\n }\n if (result.backendCount <= 0) {\n throw new Error(\"no eligible QMD backend for selected namespaces\");\n }\n if (result.eligibleNamespaces.length !== namespaces.length) {\n const eligible = new Set(result.eligibleNamespaces);\n const missing = namespaces.filter(\n (namespace) => !eligible.has(namespace),\n );\n throw new Error(\n `QMD backend ineligible for selected namespaces (${missing.length})`,\n );\n }\n if (embedNamespaces.length > 0) {\n await this.deps.namespaceSearchRouter.embedNamespaces(embedNamespaces, {\n strict: true,\n });\n markEmbedded(embedNamespaces);\n }\n return { itemCount: result.backendCount };\n },\n this.deps.namespaceCatalog,\n {\n skipReasonForError: qmdMaintenanceSkipReasonForError,\n },\n );\n } else {\n await this.deps.getQmd().update();\n const now = Date.now();\n if (\n resolveQmdCapabilities(this.deps.config).qmdAutoEmbed &&\n now - this.lastQmdEmbedAtMs >= this.deps.config.qmdEmbedMinIntervalMs\n ) {\n await this.deps.getQmd().embed();\n this.lastQmdEmbedAtMs = now;\n }\n }\n } finally {\n this.qmdMaintenanceInFlight = false;\n if (this.qmdMaintenancePending) {\n this.requestQmdMaintenance();\n }\n }\n }\n\n /** Build the namespace-aware maintenance plan for one job. */\n private async namespaceMaintenancePlan(\n jobName: string,\n ): Promise<NamespaceMaintenancePlan> {\n return planNamespaceMaintenance(this.deps.config, {\n jobName,\n catalog: this.deps.namespaceCatalog,\n });\n }\n\n // ───────────────────────────────────────────────────────────────────────\n // Lifecycle\n // ───────────────────────────────────────────────────────────────────────\n\n /**\n * Clear any pending debounce timer. Called from the orchestrator's\n * destroy() so a late tick does not fire on a torn-down instance.\n */\n dispose(): void {\n if (this.qmdMaintenanceTimer) {\n clearTimeout(this.qmdMaintenanceTimer);\n this.qmdMaintenanceTimer = null;\n }\n this.qmdMaintenancePending = false;\n }\n}\n"],"mappings":"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","names":[]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-O75CRYGF.js";
4
4
  import {
5
5
  resolveLocalLlmCapabilities
6
- } from "./chunk-JWDE7OVJ.js";
6
+ } from "./chunk-RJBW4EOU.js";
7
7
  import {
8
8
  mergeEnv,
9
9
  readEnvVar
@@ -1076,4 +1076,4 @@ var LocalLlmClient = class _LocalLlmClient {
1076
1076
  export {
1077
1077
  LocalLlmClient
1078
1078
  };
1079
- //# sourceMappingURL=chunk-IX4L7E5G.js.map
1079
+ //# sourceMappingURL=chunk-YXOXAQ5Y.js.map
@@ -7,7 +7,7 @@ import { RebuildMemoryLifecycleLedgerResult } from './maintenance/rebuild-memory
7
7
  import { RebuildObservationsResult } from './maintenance/rebuild-observations.js';
8
8
  import { ArchiveObservationsResult } from './maintenance/archive-observations.js';
9
9
  import { Writable, Readable } from 'node:stream';
10
- import { O as Orchestrator } from './orchestrator-CJZ21ZiB.js';
10
+ import { O as Orchestrator } from './orchestrator-BOAFN_Yr.js';
11
11
  import { ReplayRunSummary } from './replay/runner.js';
12
12
  import { ReplaySource, ReplayTurn } from './replay/types.js';
13
13
  import { b as BulkImportResult } from './types-gb_SNtjR.js';
@@ -16,7 +16,7 @@ import { WorkProjectStatus, WorkTaskStatus, WorkTaskPriority } from './work/type
16
16
  import { RoutePatternType } from './routing/engine.js';
17
17
  import { TailscaleSyncOptions } from './network/tailscale.js';
18
18
  import { DashboardStatus } from './dashboard-runtime.js';
19
- import { g as EngramAccessService } from './access-service-DwQ6BIQw.js';
19
+ import { g as EngramAccessService } from './access-service-Cbk-Kv_A.js';
20
20
  import { ResolveSecretRefFn } from './resolve-auth-token.js';
21
21
  import { CompatRunner, CompatReport } from './compat/types.js';
22
22
  import { EvalBaselineDeltaReport, EvalBaselineSnapshot, EvalCiGateReport, EvalBenchmarkPackSummary, EvalHarnessStatus, EvalStoredBaselineCiGateReport } from './evals.js';
package/dist/cli.d.ts CHANGED
@@ -7,7 +7,7 @@ import './maintenance/rebuild-memory-lifecycle-ledger.js';
7
7
  import './maintenance/rebuild-observations.js';
8
8
  import './maintenance/archive-observations.js';
9
9
  import 'node:stream';
10
- import './orchestrator-CJZ21ZiB.js';
10
+ import './orchestrator-BOAFN_Yr.js';
11
11
  import './replay/runner.js';
12
12
  import './replay/types.js';
13
13
  import './types-gb_SNtjR.js';
@@ -16,7 +16,7 @@ import './work/types.js';
16
16
  import './routing/engine.js';
17
17
  import './network/tailscale.js';
18
18
  import './dashboard-runtime.js';
19
- import './access-service-DwQ6BIQw.js';
19
+ import './access-service-Cbk-Kv_A.js';
20
20
  import './resolve-auth-token.js';
21
21
  import './compat/types.js';
22
22
  import './evals.js';
@@ -38,7 +38,7 @@ import './trust-zones.js';
38
38
  import './session-integrity.js';
39
39
  import './recall-state.js';
40
40
  import './policy-runtime.js';
41
- export { A as AccessHttpServeCliCommandOptions, a as ArchiveObservationsCliCommandOptions, B as BulkImportCliCommandOptions, C as CliApi, b as CliCommand, c as CliProgram, d as CompatCliCommandOptions, e as ConnectorsRunCliOutputOptions, f as ConversationIndexHealthCliOrchestrator, D as DashboardStartCliCommandOptions, g as DedupeCandidate, E as ExactDedupePlan, G as GraphHealthCliCommandOptions, M as MemoryActionAuditCliCommandOptions, h as MemoryActionAuditCliNamespaceSummary, i as MemoryActionAuditCliReport, j as MemoryGovernanceCliCommandOptions, k as MemoryGovernanceReportCliCommandOptions, l as MemoryGovernanceRestoreCliCommandOptions, m as MemoryReviewDispositionCliCommandOptions, n as MemoryTimelineCliCommandOptions, o as MigrateCliOrchestrator, q as MigrateCliReport, s as MigrateObservationsCliCommandOptions, P as PolicyDiffCliReport, t as PolicyDiffEntry, u as PolicyRollbackCliReport, v as PolicyStatusCliReport, w as PolicyTuningCliOrchestrator, R as RebuildMemoryLifecycleLedgerCliCommandOptions, x as RebuildMemoryProjectionCliCommandOptions, y as RebuildObservationsCliCommandOptions, z as RepairMemoryProjectionCliCommandOptions, F as ReplayCliCommandOptions, H as ReplayCliOrchestrator, I as RouteCliCommandOptions, S as SessionIntegrityCliCommandOptions, J as SessionRepairCliCommandOptions, T as TailscaleStatusCliCommandOptions, K as TailscaleSyncCliCommandOptions, L as TierMigrationCliOrchestrator, N as TrainingExportCliCommandOptions, V as VerifyMemoryProjectionCliCommandOptions, W as WebDavServeCliCommandOptions, O as WorkProjectCliCommandOptions, Q as WorkTaskCliCommandOptions, U as emitConnectorsRunCliResult, X as filterNormalMemorySearchResults, Y as hasDestructivePurgeFailures, Z as isNormalRetrievalVisibleMemory, _ as listMemoryMarkdownFilePaths, $ as parseDurationToMs, a0 as parseStrictCliDate, a1 as planAggressiveDuplicateDeletions, a2 as planExactDuplicateDeletions, a3 as registerCli, a4 as resolveAccessPrincipalOverride, a5 as resolveMemoryDirForNamespace, a6 as runAbstractionNodeStatusCliCommand, a7 as runAccessHttpServeCliCommand, a8 as runAccessHttpStatusCliCommand, a9 as runAccessHttpStopCliCommand, aa as runAccessMcpServeCliCommand, ab as runArchiveObservationsCliCommand, ac as runBenchmarkBaselineReportCliCommand, ad as runBenchmarkBaselineSnapshotCliCommand, ae as runBenchmarkCiGateCliCommand, af as runBenchmarkImportCliCommand, ag as runBenchmarkStatusCliCommand, ah as runBenchmarkStoredBaselineCiGateCliCommand, ai as runBenchmarkValidateCliCommand, r as runBulkImportCliCommand, aj as runCausalTrajectoryStatusCliCommand, ak as runCommitmentLifecycleCliCommand, al as runCommitmentRecordCliCommand, am as runCommitmentSetStateCliCommand, an as runCommitmentStatusCliCommand, ao as runCompatCliCommand, ap as runCompoundingPromoteCliCommand, aq as runConversationIndexHealthCliCommand, ar as runConversationIndexInspectCliCommand, as as runConversationIndexRebuildCliCommand, at as runCueAnchorStatusCliCommand, au as runDashboardStartCliCommand, av as runDashboardStatusCliCommand, aw as runDashboardStopCliCommand, ax as runGraphHealthCliCommand, ay as runHarmonicSearchCliCommand, az as runMemoryActionAuditCliCommand, aA as runMemoryGovernanceCliCommand, aB as runMemoryGovernanceReportCliCommand, aC as runMemoryGovernanceRestoreCliCommand, aD as runMemoryReviewDispositionCliCommand, aE as runMemoryTimelineCliCommand, aF as runMigrateNormalizeFrontmatterCliCommand, aG as runMigrateObservationsCliCommand, aH as runMigrateRechunkCliCommand, aI as runMigrateReextractCliCommand, aJ as runMigrateRescoreImportanceCliCommand, aK as runObjectiveStateStatusCliCommand, aL as runPolicyDiffCliCommand, aM as runPolicyRollbackCliCommand, aN as runPolicyStatusCliCommand, aO as runRebuildMemoryLifecycleLedgerCliCommand, aP as runRebuildMemoryProjectionCliCommand, aQ as runRebuildObservationsCliCommand, aR as runRepairMemoryProjectionCliCommand, aS as runReplayCliCommand, aT as runResumeBundleBuildCliCommand, aU as runResumeBundleRecordCliCommand, aV as runResumeBundleStatusCliCommand, aW as runRouteCliCommand, aX as runSemanticRulePromoteCliCommand, aY as runSemanticRuleVerifyCliCommand, aZ as runSessionCheckCliCommand, a_ as runSessionRepairCliCommand, a$ as runTailscaleStatusCliCommand, b0 as runTailscaleSyncCliCommand, b1 as runTierMigrateCliCommand, b2 as runTierStatusCliCommand, b3 as runTrainingExportCliCommand, b4 as runTrustZoneDemoSeedCliCommand, b5 as runTrustZonePromoteCliCommand, b6 as runTrustZoneStatusCliCommand, b7 as runUtilityLearningCliCommand, b8 as runUtilityLearningStatusCliCommand, b9 as runUtilityTelemetryRecordCliCommand, ba as runUtilityTelemetryStatusCliCommand, bb as runVerifiedRecallSearchCliCommand, bc as runVerifyMemoryProjectionCliCommand, bd as runWebDavServeCliCommand, be as runWebDavStopCliCommand, bf as runWorkProductRecallSearchCliCommand, bg as runWorkProductRecordCliCommand, bh as runWorkProductStatusCliCommand, bi as runWorkProjectCliCommand, bj as runWorkTaskCliCommand } from './cli-BlEIWDQw.js';
41
+ export { A as AccessHttpServeCliCommandOptions, a as ArchiveObservationsCliCommandOptions, B as BulkImportCliCommandOptions, C as CliApi, b as CliCommand, c as CliProgram, d as CompatCliCommandOptions, e as ConnectorsRunCliOutputOptions, f as ConversationIndexHealthCliOrchestrator, D as DashboardStartCliCommandOptions, g as DedupeCandidate, E as ExactDedupePlan, G as GraphHealthCliCommandOptions, M as MemoryActionAuditCliCommandOptions, h as MemoryActionAuditCliNamespaceSummary, i as MemoryActionAuditCliReport, j as MemoryGovernanceCliCommandOptions, k as MemoryGovernanceReportCliCommandOptions, l as MemoryGovernanceRestoreCliCommandOptions, m as MemoryReviewDispositionCliCommandOptions, n as MemoryTimelineCliCommandOptions, o as MigrateCliOrchestrator, q as MigrateCliReport, s as MigrateObservationsCliCommandOptions, P as PolicyDiffCliReport, t as PolicyDiffEntry, u as PolicyRollbackCliReport, v as PolicyStatusCliReport, w as PolicyTuningCliOrchestrator, R as RebuildMemoryLifecycleLedgerCliCommandOptions, x as RebuildMemoryProjectionCliCommandOptions, y as RebuildObservationsCliCommandOptions, z as RepairMemoryProjectionCliCommandOptions, F as ReplayCliCommandOptions, H as ReplayCliOrchestrator, I as RouteCliCommandOptions, S as SessionIntegrityCliCommandOptions, J as SessionRepairCliCommandOptions, T as TailscaleStatusCliCommandOptions, K as TailscaleSyncCliCommandOptions, L as TierMigrationCliOrchestrator, N as TrainingExportCliCommandOptions, V as VerifyMemoryProjectionCliCommandOptions, W as WebDavServeCliCommandOptions, O as WorkProjectCliCommandOptions, Q as WorkTaskCliCommandOptions, U as emitConnectorsRunCliResult, X as filterNormalMemorySearchResults, Y as hasDestructivePurgeFailures, Z as isNormalRetrievalVisibleMemory, _ as listMemoryMarkdownFilePaths, $ as parseDurationToMs, a0 as parseStrictCliDate, a1 as planAggressiveDuplicateDeletions, a2 as planExactDuplicateDeletions, a3 as registerCli, a4 as resolveAccessPrincipalOverride, a5 as resolveMemoryDirForNamespace, a6 as runAbstractionNodeStatusCliCommand, a7 as runAccessHttpServeCliCommand, a8 as runAccessHttpStatusCliCommand, a9 as runAccessHttpStopCliCommand, aa as runAccessMcpServeCliCommand, ab as runArchiveObservationsCliCommand, ac as runBenchmarkBaselineReportCliCommand, ad as runBenchmarkBaselineSnapshotCliCommand, ae as runBenchmarkCiGateCliCommand, af as runBenchmarkImportCliCommand, ag as runBenchmarkStatusCliCommand, ah as runBenchmarkStoredBaselineCiGateCliCommand, ai as runBenchmarkValidateCliCommand, r as runBulkImportCliCommand, aj as runCausalTrajectoryStatusCliCommand, ak as runCommitmentLifecycleCliCommand, al as runCommitmentRecordCliCommand, am as runCommitmentSetStateCliCommand, an as runCommitmentStatusCliCommand, ao as runCompatCliCommand, ap as runCompoundingPromoteCliCommand, aq as runConversationIndexHealthCliCommand, ar as runConversationIndexInspectCliCommand, as as runConversationIndexRebuildCliCommand, at as runCueAnchorStatusCliCommand, au as runDashboardStartCliCommand, av as runDashboardStatusCliCommand, aw as runDashboardStopCliCommand, ax as runGraphHealthCliCommand, ay as runHarmonicSearchCliCommand, az as runMemoryActionAuditCliCommand, aA as runMemoryGovernanceCliCommand, aB as runMemoryGovernanceReportCliCommand, aC as runMemoryGovernanceRestoreCliCommand, aD as runMemoryReviewDispositionCliCommand, aE as runMemoryTimelineCliCommand, aF as runMigrateNormalizeFrontmatterCliCommand, aG as runMigrateObservationsCliCommand, aH as runMigrateRechunkCliCommand, aI as runMigrateReextractCliCommand, aJ as runMigrateRescoreImportanceCliCommand, aK as runObjectiveStateStatusCliCommand, aL as runPolicyDiffCliCommand, aM as runPolicyRollbackCliCommand, aN as runPolicyStatusCliCommand, aO as runRebuildMemoryLifecycleLedgerCliCommand, aP as runRebuildMemoryProjectionCliCommand, aQ as runRebuildObservationsCliCommand, aR as runRepairMemoryProjectionCliCommand, aS as runReplayCliCommand, aT as runResumeBundleBuildCliCommand, aU as runResumeBundleRecordCliCommand, aV as runResumeBundleStatusCliCommand, aW as runRouteCliCommand, aX as runSemanticRulePromoteCliCommand, aY as runSemanticRuleVerifyCliCommand, aZ as runSessionCheckCliCommand, a_ as runSessionRepairCliCommand, a$ as runTailscaleStatusCliCommand, b0 as runTailscaleSyncCliCommand, b1 as runTierMigrateCliCommand, b2 as runTierStatusCliCommand, b3 as runTrainingExportCliCommand, b4 as runTrustZoneDemoSeedCliCommand, b5 as runTrustZonePromoteCliCommand, b6 as runTrustZoneStatusCliCommand, b7 as runUtilityLearningCliCommand, b8 as runUtilityLearningStatusCliCommand, b9 as runUtilityTelemetryRecordCliCommand, ba as runUtilityTelemetryStatusCliCommand, bb as runVerifiedRecallSearchCliCommand, bc as runVerifyMemoryProjectionCliCommand, bd as runWebDavServeCliCommand, be as runWebDavStopCliCommand, bf as runWorkProductRecallSearchCliCommand, bg as runWorkProductRecordCliCommand, bh as runWorkProductStatusCliCommand, bi as runWorkProjectCliCommand, bj as runWorkTaskCliCommand } from './cli-BQW2xKdb.js';
42
42
  import './connectors-cli-2iaQ5tX2.js';
43
43
  import './storage.js';
44
44
  import './page-versioning.js';
@@ -77,6 +77,10 @@ import './schemas.js';
77
77
  import './profiling.js';
78
78
  import './trust-score-stage.js';
79
79
  import './trust-score.js';
80
+ import './conversation-index/chunker.js';
81
+ import './conversation-index/backend.js';
82
+ import './faiss-adapter-BHecI1fF.js';
83
+ import './runtime/child-process.js';
80
84
  import './live-connectors-runner.js';
81
85
  import './framework-CNDn2164.js';
82
86
  import './relevance.js';
@@ -92,10 +96,6 @@ import './lcm/archive.js';
92
96
  import './lcm/summarizer.js';
93
97
  import './lcm/dag.js';
94
98
  import './lcm/queue.js';
95
- import './conversation-index/backend.js';
96
- import './conversation-index/chunker.js';
97
- import './faiss-adapter-BHecI1fF.js';
98
- import './runtime/child-process.js';
99
99
  import './types-B1VHaf2w.js';
100
100
  import './recall-explain-renderer.js';
101
101
  import './recall-audit-anomaly.js';
package/dist/cli.js CHANGED
@@ -90,7 +90,7 @@ import {
90
90
  runWorkProductStatusCliCommand,
91
91
  runWorkProjectCliCommand,
92
92
  runWorkTaskCliCommand
93
- } from "./chunk-G54IDCD3.js";
93
+ } from "./chunk-23PLOBWT.js";
94
94
  import "./chunk-7F7Z6MOS.js";
95
95
  import "./chunk-MC4FJXPA.js";
96
96
  import "./chunk-LQHDIS7L.js";
@@ -123,8 +123,8 @@ import "./chunk-OBJUKYDO.js";
123
123
  import "./chunk-TGQ2NTWH.js";
124
124
  import "./chunk-CKFLLAIS.js";
125
125
  import "./chunk-3T74IZB3.js";
126
- import "./chunk-UO6MPN77.js";
127
- import "./chunk-K3Y2SJTN.js";
126
+ import "./chunk-EU543UDC.js";
127
+ import "./chunk-56LP72AD.js";
128
128
  import "./chunk-HL4DB7TO.js";
129
129
  import "./chunk-7XH7VJN4.js";
130
130
  import "./chunk-EZ25VE3G.js";
@@ -144,9 +144,9 @@ import "./chunk-ZRWB5D4H.js";
144
144
  import "./chunk-GY3SKOS4.js";
145
145
  import "./chunk-SFQ6QNL7.js";
146
146
  import "./chunk-33JBK2XP.js";
147
- import "./chunk-AE7NTZ75.js";
148
- import "./chunk-BXPG5AVX.js";
149
- import "./chunk-NNJKEAP2.js";
147
+ import "./chunk-TNLXCSXV.js";
148
+ import "./chunk-BHQQVUEQ.js";
149
+ import "./chunk-VRBBZH4U.js";
150
150
  import "./chunk-KFY3SGN7.js";
151
151
  import "./chunk-TQNRI55H.js";
152
152
  import "./chunk-6GUG4YNM.js";
@@ -169,7 +169,7 @@ import "./chunk-G6NKALRN.js";
169
169
  import "./chunk-OO42R444.js";
170
170
  import "./chunk-K6MV3TRQ.js";
171
171
  import "./chunk-OADWQ5CR.js";
172
- import "./chunk-AAIHDIMD.js";
172
+ import "./chunk-BHJAMSVC.js";
173
173
  import "./chunk-SEDEKFYQ.js";
174
174
  import "./chunk-JBPKEARU.js";
175
175
  import "./chunk-TMSXWOBZ.js";
@@ -178,19 +178,19 @@ import "./chunk-RSUYKGGZ.js";
178
178
  import "./chunk-42NQ7AVG.js";
179
179
  import "./chunk-7RXCMVFQ.js";
180
180
  import "./chunk-7WV3F5DQ.js";
181
- import "./chunk-QNTLWH3T.js";
181
+ import "./chunk-A7INTIC5.js";
182
182
  import "./chunk-D24OXEPB.js";
183
- import "./chunk-VOEVVIP3.js";
184
- import "./chunk-E4LYJ7PY.js";
183
+ import "./chunk-W2FBVBQ4.js";
184
+ import "./chunk-IFCM6OLK.js";
185
185
  import "./chunk-YF6FMLBT.js";
186
186
  import "./chunk-ZQNCHPTZ.js";
187
187
  import "./chunk-DJECGBBM.js";
188
- import "./chunk-FLPKEMSO.js";
188
+ import "./chunk-AKKFHN3I.js";
189
189
  import "./chunk-35NN3ZFA.js";
190
190
  import "./chunk-T4WDJPEZ.js";
191
191
  import "./chunk-FVZ2ISIX.js";
192
- import "./chunk-P6VLG7KE.js";
193
- import "./chunk-HLPYL6LC.js";
192
+ import "./chunk-N2O23WYA.js";
193
+ import "./chunk-Y5OOHER4.js";
194
194
  import "./chunk-GDASG7NC.js";
195
195
  import "./chunk-GDB4J2H3.js";
196
196
  import "./chunk-ARV3AUOM.js";
@@ -203,7 +203,7 @@ import "./chunk-GKRLPHPU.js";
203
203
  import "./chunk-SOBJ6NEY.js";
204
204
  import "./chunk-ICP53SKG.js";
205
205
  import "./chunk-24ZLC5QN.js";
206
- import "./chunk-WNGXQMRI.js";
206
+ import "./chunk-WFNH4UDF.js";
207
207
  import "./chunk-RS25QOKZ.js";
208
208
  import "./chunk-JGSKJHF7.js";
209
209
  import "./chunk-S4DDLTPX.js";
@@ -211,16 +211,16 @@ import "./chunk-FF4KLI5W.js";
211
211
  import "./chunk-DRUDC2UX.js";
212
212
  import "./chunk-AQEJKOKI.js";
213
213
  import "./chunk-6HMYUWXR.js";
214
- import "./chunk-GB2FZOWB.js";
215
- import "./chunk-ZBZ4XULO.js";
216
- import "./chunk-5BOQNB2K.js";
214
+ import "./chunk-7B7IPPN5.js";
215
+ import "./chunk-66RZ4EIT.js";
216
+ import "./chunk-JQSP7YBJ.js";
217
217
  import "./chunk-5CEJH5ZN.js";
218
218
  import "./chunk-WRFKZEO6.js";
219
219
  import "./chunk-CYEPCZN5.js";
220
220
  import "./chunk-LQ6JI4VH.js";
221
221
  import "./chunk-SANZHXY2.js";
222
222
  import "./chunk-AER6MT24.js";
223
- import "./chunk-AB2E5DCN.js";
223
+ import "./chunk-MAU7DFCJ.js";
224
224
  import "./chunk-CINZGPSJ.js";
225
225
  import "./chunk-ZFXCQPNO.js";
226
226
  import "./chunk-DCWIQFNA.js";
@@ -235,7 +235,7 @@ import "./chunk-EI6V5UXY.js";
235
235
  import "./chunk-PNLCEFE4.js";
236
236
  import "./chunk-O75CRYGF.js";
237
237
  import "./chunk-QDW3E4RD.js";
238
- import "./chunk-NDKW67ER.js";
238
+ import "./chunk-C53JDEH3.js";
239
239
  import "./chunk-3ONXXHQO.js";
240
240
  import "./chunk-ODPLEWB6.js";
241
241
  import "./chunk-ZY2MNJR6.js";
@@ -293,9 +293,9 @@ import "./chunk-VS2IYZRU.js";
293
293
  import "./chunk-Z2YFLXHU.js";
294
294
  import "./chunk-I4WBNM3M.js";
295
295
  import "./chunk-SOAU2OE2.js";
296
- import "./chunk-OYHYBHHI.js";
297
- import "./chunk-JWDE7OVJ.js";
296
+ import "./chunk-DS3FZ7GS.js";
298
297
  import "./chunk-U3PN77QT.js";
298
+ import "./chunk-RJBW4EOU.js";
299
299
  import "./chunk-OEHCMALU.js";
300
300
  import "./chunk-PHK3HARR.js";
301
301
  import "./chunk-5GKPFL3S.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  CompoundingEngine,
3
3
  defaultTierMigrationCycleBudget
4
- } from "../chunk-IPI45Q4S.js";
4
+ } from "../chunk-75PDC7VT.js";
5
5
  import "../chunk-UFS7OXGL.js";
6
6
  import "../chunk-Q6BAA57B.js";
7
7
  import "../chunk-L2B3EE7B.js";
@@ -37,7 +37,7 @@ import "../chunk-J2HSAU72.js";
37
37
  import "../chunk-A6XUJE5D.js";
38
38
  import "../chunk-P7FMDTKL.js";
39
39
  import "../chunk-VS2IYZRU.js";
40
- import "../chunk-JWDE7OVJ.js";
40
+ import "../chunk-RJBW4EOU.js";
41
41
  import "../chunk-OEHCMALU.js";
42
42
  import "../chunk-PHK3HARR.js";
43
43
  import "../chunk-5GKPFL3S.js";
@@ -10,7 +10,7 @@ import {
10
10
  judgeContradictionPairs,
11
11
  runContradictionScan,
12
12
  verdictCacheSize
13
- } from "../chunk-FLPKEMSO.js";
13
+ } from "../chunk-AKKFHN3I.js";
14
14
  import {
15
15
  computePairId,
16
16
  isCoolingDown,
@@ -21,7 +21,7 @@ import {
21
21
  writePairs
22
22
  } from "../chunk-35NN3ZFA.js";
23
23
  import "../chunk-RGMVMVMF.js";
24
- import "../chunk-JWDE7OVJ.js";
24
+ import "../chunk-RJBW4EOU.js";
25
25
  import "../chunk-NU3CSQ4H.js";
26
26
  import "../chunk-PZ5AY32C.js";
27
27
  export {
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  ACTIVE_STATUSES,
3
3
  runContradictionScan
4
- } from "./chunk-FLPKEMSO.js";
4
+ } from "./chunk-AKKFHN3I.js";
5
5
  import "./chunk-35NN3ZFA.js";
6
6
  import "./chunk-RGMVMVMF.js";
7
- import "./chunk-JWDE7OVJ.js";
7
+ import "./chunk-RJBW4EOU.js";
8
8
  import "./chunk-NU3CSQ4H.js";
9
9
  import "./chunk-PZ5AY32C.js";
10
10
  export {
11
11
  ACTIVE_STATUSES,
12
12
  runContradictionScan
13
13
  };
14
- //# sourceMappingURL=contradiction-scan-2B4AE4TI.js.map
14
+ //# sourceMappingURL=contradiction-scan-CWO3LIWV.js.map
@@ -2,9 +2,9 @@ import {
2
2
  EmbeddingFallback,
3
3
  EmbeddingProviderUnavailableError,
4
4
  EmbeddingTimeoutError
5
- } from "./chunk-CHJIWG2H.js";
5
+ } from "./chunk-WVAEIKUY.js";
6
6
  import "./chunk-3ONXXHQO.js";
7
- import "./chunk-JWDE7OVJ.js";
7
+ import "./chunk-RJBW4EOU.js";
8
8
  import "./chunk-JUC24CTX.js";
9
9
  import "./chunk-NU3CSQ4H.js";
10
10
  import "./chunk-PZ5AY32C.js";
@@ -3,7 +3,7 @@ import {
3
3
  entityIndexVersion,
4
4
  entityRecentTranscriptLookbackHours,
5
5
  readRecentEntityTranscriptEntries
6
- } from "./chunk-AESC5OQJ.js";
6
+ } from "./chunk-CKHPUOAP.js";
7
7
  import "./chunk-ZCWIH4LH.js";
8
8
  import "./chunk-Q6BAA57B.js";
9
9
  import "./chunk-L2B3EE7B.js";
@@ -39,7 +39,7 @@ import "./chunk-J2HSAU72.js";
39
39
  import "./chunk-A6XUJE5D.js";
40
40
  import "./chunk-P7FMDTKL.js";
41
41
  import "./chunk-VS2IYZRU.js";
42
- import "./chunk-JWDE7OVJ.js";
42
+ import "./chunk-RJBW4EOU.js";
43
43
  import "./chunk-OEHCMALU.js";
44
44
  import "./chunk-PHK3HARR.js";
45
45
  import "./chunk-5GKPFL3S.js";
@@ -1,4 +1,4 @@
1
- import { O as Orchestrator } from './orchestrator-CJZ21ZiB.js';
1
+ import { O as Orchestrator } from './orchestrator-BOAFN_Yr.js';
2
2
  import { M as MemoryCategory, P as PluginConfig } from './types-CglNn2V-.js';
3
3
  import './briefing.js';
4
4
  import './storage.js';
@@ -50,6 +50,10 @@ import './semantic-rule-verifier.js';
50
50
  import './work-product-ledger.js';
51
51
  import './trust-score-stage.js';
52
52
  import './trust-score.js';
53
+ import './conversation-index/chunker.js';
54
+ import './conversation-index/backend.js';
55
+ import './faiss-adapter-BHecI1fF.js';
56
+ import './runtime/child-process.js';
53
57
  import './live-connectors-runner.js';
54
58
  import './framework-CNDn2164.js';
55
59
  import './relevance.js';
@@ -68,10 +72,6 @@ import './lcm/archive.js';
68
72
  import './lcm/summarizer.js';
69
73
  import './lcm/dag.js';
70
74
  import './lcm/queue.js';
71
- import './conversation-index/backend.js';
72
- import './conversation-index/chunker.js';
73
- import './faiss-adapter-BHecI1fF.js';
74
- import './runtime/child-process.js';
75
75
  import './policy-runtime.js';
76
76
 
77
77
  type ExplicitCaptureInput = {
@@ -7,9 +7,9 @@ import {
7
7
  shouldSkipImplicitExtraction,
8
8
  stripInlineExplicitCaptureNotes,
9
9
  validateExplicitCaptureInput
10
- } from "./chunk-NDKW67ER.js";
11
- import "./chunk-JWDE7OVJ.js";
10
+ } from "./chunk-C53JDEH3.js";
12
11
  import "./chunk-U3PN77QT.js";
12
+ import "./chunk-RJBW4EOU.js";
13
13
  import "./chunk-5GKPFL3S.js";
14
14
  import "./chunk-JAKIDQB2.js";
15
15
  import "./chunk-PZ5AY32C.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  ExtractionEngine
3
- } from "./chunk-FF36YNKY.js";
3
+ } from "./chunk-XIQAOGAA.js";
4
4
  import "./chunk-4RA3C3EV.js";
5
5
  import "./chunk-5GSUBCZM.js";
6
6
  import "./chunk-54V4BZWP.js";
7
7
  import "./chunk-PWFWCGOO.js";
8
- import "./chunk-IX4L7E5G.js";
8
+ import "./chunk-YXOXAQ5Y.js";
9
9
  import "./chunk-EO5QWINU.js";
10
10
  import "./chunk-VEWZZM3H.js";
11
11
  import "./chunk-JLNBQWZ2.js";
@@ -19,7 +19,7 @@ import "./chunk-L2EXJQJP.js";
19
19
  import "./chunk-VL7DP3OW.js";
20
20
  import "./chunk-RGMVMVMF.js";
21
21
  import "./chunk-N7RWREIQ.js";
22
- import "./chunk-JWDE7OVJ.js";
22
+ import "./chunk-RJBW4EOU.js";
23
23
  import "./chunk-OEHCMALU.js";
24
24
  import "./chunk-PHK3HARR.js";
25
25
  import "./chunk-5GKPFL3S.js";
@@ -15,7 +15,7 @@ import {
15
15
  resolveMemoryLifecycleCapabilities,
16
16
  resolveQmdCapabilities,
17
17
  resolveUtilityLearningCapabilities
18
- } from "./chunk-JWDE7OVJ.js";
18
+ } from "./chunk-RJBW4EOU.js";
19
19
  import "./chunk-A2IYSXDQ.js";
20
20
  import "./chunk-LPSF4OQH.js";
21
21
  import "./chunk-PZ5AY32C.js";
@@ -266,4 +266,4 @@ export {
266
266
  LIFECYCLE_INIT_DONE_MARKER,
267
267
  runFirstStartMigration
268
268
  };
269
- //# sourceMappingURL=first-start-migration-2RQYDIZ7.js.map
269
+ //# sourceMappingURL=first-start-migration-5DXD3TF2.js.map
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  export { PluginEntryResolverOptions, resolvePluginEntry } from './plugin-entry-resolver.js';
2
2
  export { isOpenaiApiKeyDisabled, parseConfig, resolveEnvVars } from './config.js';
3
3
  export { MigrationOptions, MigrationResult, RollbackResult, migrateFromEngram, rollbackFromEngramMigration } from './migrate/from-engram.js';
4
- import { S as SpeakerRegistry, W as WearablesService } from './orchestrator-CJZ21ZiB.js';
5
- export { D as DEFAULT_SELF_NAME, O as Orchestrator, R as ResolvedSpeaker, a as SpeakerOverride, b as WEARABLE_SOURCE_PREFIX, c as WearableDayTranscriptView, d as WearableMemoryGenDeps, e as WearableMemoryGenResult, f as WearableMemorySearchResult, g as WearableMemoryWriter, h as WearableSearchBackend, i as WearableStorageIo, j as WearableSyncDeps, k as WearableSyncOptions, l as WearableTranscriptSearchResult, m as WearablesServiceDeps, n as buildExtractionTurns, o as dateInTimezone, p as defaultTimezone, q as defaultWorkspaceDir, r as distinctSpeakerLabels, s as emptySpeakerRegistry, t as generateWearableMemories, u as importNativeMemories, v as loadSpeakerRegistry, w as locateTranscriptPath, x as memoryStatusForMode, y as resolveSpeaker, z as resolveSyncDates, A as sanitizeSessionKeyForFilename, B as saveSpeakerRegistry, C as speakerRegistryKey, E as speakersFilePath, F as syncWearableSource, H as wearableDayTag, J as wearableSourceLabel, K as writeDailyDigestMemory } from './orchestrator-CJZ21ZiB.js';
4
+ import { S as SpeakerRegistry, W as WearablesService } from './orchestrator-BOAFN_Yr.js';
5
+ export { D as DEFAULT_SELF_NAME, O as Orchestrator, R as ResolvedSpeaker, a as SpeakerOverride, b as WEARABLE_SOURCE_PREFIX, c as WearableDayTranscriptView, d as WearableMemoryGenDeps, e as WearableMemoryGenResult, f as WearableMemorySearchResult, g as WearableMemoryWriter, h as WearableSearchBackend, i as WearableStorageIo, j as WearableSyncDeps, k as WearableSyncOptions, l as WearableTranscriptSearchResult, m as WearablesServiceDeps, n as buildExtractionTurns, o as dateInTimezone, p as defaultTimezone, q as defaultWorkspaceDir, r as distinctSpeakerLabels, s as emptySpeakerRegistry, t as generateWearableMemories, u as importNativeMemories, v as loadSpeakerRegistry, w as locateTranscriptPath, x as memoryStatusForMode, y as resolveSpeaker, z as resolveSyncDates, A as sanitizeSessionKeyForFilename, B as saveSpeakerRegistry, C as speakerRegistryKey, E as speakersFilePath, F as syncWearableSource, H as wearableDayTag, J as wearableSourceLabel, K as writeDailyDigestMemory } from './orchestrator-BOAFN_Yr.js';
6
6
  export { normalizeProjectionPreview, normalizeProjectionTags } from './memory-projection-format.js';
7
7
  export { ModelCapabilities, ModelRegistry } from './model-registry.js';
8
8
  export { ACTIVE_STATUSES, ContradictionFilter, ContradictionJudgeBatchResult, ContradictionJudgeInput, ContradictionJudgeResult, ContradictionListResult, ContradictionVerdict, ResolutionResult, ResolutionVerb, ScanDependencies, ScanResult, computePairId, executeResolution, isCoolingDown, isValidResolutionVerb, judgeContradictionPairs, listPairs, readPair, resolvePair, runContradictionScan, writePair, writePairs } from './contradiction/index.js';
@@ -24,7 +24,7 @@ import { aA as CodingContext, aR as CodingModeConfig, P as PluginConfig, aS as C
24
24
  export { W as AgentAccessAuthToken, r as BriefingActiveThread, aV as BriefingConfig, p as BriefingFocus, o as BriefingFollowup, aW as BriefingOpenCommitment, t as BriefingRecentEntity, s as BriefingResult, n as BriefingSections, aX as BriefingWindow, O as BufferSurpriseEvent, q as CalendarEvent, C as CalendarSource, aY as CodexCompatConfig, aQ as ConsolidationObservation, a8 as ContinuityImprovementLoop, aZ as DEFAULT_RECALL_DISCLOSURE, E as EntityFile, a4 as EntityStructuredSection, a_ as ExtractedFact, G as GatewayConfig, ae as MemoryActionEligibilityContext, a$ as MemoryActionEligibilitySource, _ as MemoryActionType, g as MemoryFile, k as MemoryFrontmatter, b0 as MemoryObservation, b1 as MemoryScope, b2 as RECALL_DISCLOSURE_LEVELS, i as RecallDisclosure, U as SecretRef, b3 as WearableAuthCheck, b4 as WearableFetchOptions, b5 as WearableFetchPage, aH as WearableMemoryMode, aG as WearableNativeMemory, b6 as WearableNativeMemoryPage, aL as WearableSourceStatus, aK as WearableSyncSummary, b7 as WearableTranscriptSegment, b8 as isRecallDisclosure } from './types-CglNn2V-.js';
25
25
  export { JudgeBatchResult, JudgeCandidate, JudgeVerdict, JudgeVerdictKind, clearVerdictCache, createVerdictCache, getVerdictKind, isDurableVerdict, isValidCachedVerdict, judgeFactDurability, normalizeCachedVerdict, verdictCacheSize } from './extraction-judge.js';
26
26
  export { hasBroadGraphIntent, inferIntentFromText, intentCompatibilityScore, isTaskInitiationIntent, planRecallMode } from './intent.js';
27
- export { i as EngramAccessInputError, g as EngramAccessService, P as ProcedureStatsConfigSnapshot, j as ProcedureStatsRecent, k as ProcedureStatsReport, l as ProcedureStatusCounts, m as computeProcedureStats, n as formatProcedureStatsText } from './access-service-DwQ6BIQw.js';
27
+ export { i as EngramAccessInputError, g as EngramAccessService, P as ProcedureStatsConfigSnapshot, j as ProcedureStatsRecent, k as ProcedureStatsReport, l as ProcedureStatusCounts, m as computeProcedureStats, n as formatProcedureStatsText } from './access-service-Cbk-Kv_A.js';
28
28
  export { FILTER_LABELS as DIRECT_ANSWER_FILTER_LABELS, DirectAnswerCandidate, DirectAnswerConfig, DirectAnswerInput, DirectAnswerReason, DirectAnswerResult, isDirectAnswerEligible } from './direct-answer.js';
29
29
  export { MemoryTier, TierRoutingPolicy, TierTransitionDecision, computeTierValueScore, decideTierTransition } from './tier-routing.js';
30
30
  export { ApplyReasoningTraceBoostOptions, BoostableResult, DEFAULT_REASONING_TRACE_BOOST, applyReasoningTraceBoost, isReasoningTracePath, looksLikeProblemSolvingQuery } from './reasoning-trace-recall.js';
@@ -79,7 +79,7 @@ export { EnrichmentAuditEntry, EnrichmentCandidate, EnrichmentCostTier, Enrichme
79
79
  export { d as BulkImportError, B as BulkImportOptions, b as BulkImportResult, a as BulkImportSource, e as BulkImportSourceAdapter, f as ImportSourceRole, I as ImportTurn, g as ImportTurnValidationIssue, i as isImportRole, p as parseIsoTimestamp, v as validateImportTurn } from './types-gb_SNtjR.js';
80
80
  export { clearBulkImportSources, getBulkImportSource, listBulkImportSources, registerBulkImportSource } from './bulk-import/index.js';
81
81
  export { a as ProcessBatchContext, P as ProcessBatchFn, b as ProcessBatchResult, f as formatBatchTranscript, r as resolveBulkImportContext, c as runBulkImportPipeline, v as validateBatchSize } from './pipeline-DmqtvION.js';
82
- export { B as BulkImportCliCommandOptions, p as parseStrictCliDate, r as runBulkImportCliCommand } from './cli-BlEIWDQw.js';
82
+ export { B as BulkImportCliCommandOptions, p as parseStrictCliDate, r as runBulkImportCliCommand } from './cli-BQW2xKdb.js';
83
83
  export { DEFAULT_IMPORT_BATCH_SIZE, ImportProgress, ImportedMemory, ImporterAdapter, ImporterParseOptions, ImporterTransformOptions, ImporterWriteResult, ImporterWriteTarget, RunImportOptions, RunImporterResult, defaultWriteMemoriesToOrchestrator, importedMemoryToTurn, runImporter, validateImportBatchSize, validateImportRateLimit } from './importers/index.js';
84
84
  export { FallbackLlmClient, FallbackLlmOptions, FallbackLlmResponse, FallbackLlmRuntimeContext } from './fallback-llm.js';
85
85
  export { ComputeMemoryWorthInput, MemoryWorthResult, computeMemoryWorth } from './memory-worth.js';
@@ -131,6 +131,10 @@ import './semantic-rule-verifier.js';
131
131
  import './work-product-ledger.js';
132
132
  import './trust-score-stage.js';
133
133
  import './trust-score.js';
134
+ import './conversation-index/chunker.js';
135
+ import './conversation-index/backend.js';
136
+ import './faiss-adapter-BHecI1fF.js';
137
+ import './runtime/child-process.js';
134
138
  import './relevance.js';
135
139
  import './negative.js';
136
140
  import './session-observer-state.js';
@@ -140,10 +144,6 @@ import './lcm/archive.js';
140
144
  import './lcm/summarizer.js';
141
145
  import './lcm/dag.js';
142
146
  import './lcm/queue.js';
143
- import './conversation-index/backend.js';
144
- import './conversation-index/chunker.js';
145
- import './faiss-adapter-BHecI1fF.js';
146
- import './runtime/child-process.js';
147
147
  import './policy-runtime.js';
148
148
  import './profiling.js';
149
149
  import './schemas.js';