@remnic/core 9.3.739 → 9.3.740

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 (185) hide show
  1. package/dist/access-boundary.js +13 -13
  2. package/dist/access-cli.js +35 -35
  3. package/dist/access-http.js +18 -18
  4. package/dist/access-mcp.js +17 -17
  5. package/dist/access-operations-batch.js +15 -15
  6. package/dist/access-operations.js +16 -16
  7. package/dist/access-service.js +12 -12
  8. package/dist/active-memory-bridge.js +3 -3
  9. package/dist/briefing.js +2 -2
  10. package/dist/buffer.js +2 -2
  11. package/dist/capabilities.d.ts +97 -1
  12. package/dist/capabilities.js +7 -1
  13. package/dist/causal-consolidation.js +4 -3
  14. package/dist/causal-consolidation.js.map +1 -1
  15. package/dist/{chunk-IFCM6OLK.js → chunk-3TUDKDTQ.js} +7 -7
  16. package/dist/{chunk-A7INTIC5.js → chunk-4J53ZVPQ.js} +3 -3
  17. package/dist/{chunk-XYUFGHUW.js → chunk-56F6EAQ6.js} +2 -2
  18. package/dist/{chunk-F6OEXJQQ.js → chunk-6XG3NQRC.js} +2 -2
  19. package/dist/{chunk-24ZLC5QN.js → chunk-7N7S2RKF.js} +2 -2
  20. package/dist/{chunk-Y5OOHER4.js → chunk-7Y5KKMIP.js} +12 -11
  21. package/dist/chunk-7Y5KKMIP.js.map +1 -0
  22. package/dist/{chunk-VRBBZH4U.js → chunk-AX4TRSRE.js} +3 -3
  23. package/dist/{chunk-66RZ4EIT.js → chunk-BE6NEQLF.js} +3 -3
  24. package/dist/{chunk-YF2MMBKA.js → chunk-BJPL5WAL.js} +3 -3
  25. package/dist/{chunk-EO5QWINU.js → chunk-C3Z5YJSM.js} +5 -2
  26. package/dist/chunk-C3Z5YJSM.js.map +1 -0
  27. package/dist/{chunk-GEXI357K.js → chunk-C7C5WIIF.js} +2 -2
  28. package/dist/{chunk-L3TYGUTH.js → chunk-CMPXLMC3.js} +3 -3
  29. package/dist/{chunk-W2FBVBQ4.js → chunk-DBVBV2RF.js} +4 -4
  30. package/dist/{chunk-JQSP7YBJ.js → chunk-ELL5VYXC.js} +5 -4
  31. package/dist/chunk-ELL5VYXC.js.map +1 -0
  32. package/dist/{chunk-IQOEW5YV.js → chunk-FCQ7ZYCQ.js} +2 -2
  33. package/dist/{chunk-IIBFCZA7.js → chunk-FWXLKH2H.js} +3 -3
  34. package/dist/{chunk-RJBW4EOU.js → chunk-G7Q4D2G3.js} +74 -2
  35. package/dist/{chunk-RJBW4EOU.js.map → chunk-G7Q4D2G3.js.map} +1 -1
  36. package/dist/{chunk-WVAEIKUY.js → chunk-GPX5E36D.js} +5 -4
  37. package/dist/chunk-GPX5E36D.js.map +1 -0
  38. package/dist/{chunk-23PLOBWT.js → chunk-H3WSZWHK.js} +22 -20
  39. package/dist/chunk-H3WSZWHK.js.map +1 -0
  40. package/dist/{chunk-Q6BAA57B.js → chunk-JFCS6PQU.js} +2 -2
  41. package/dist/chunk-JFCS6PQU.js.map +1 -0
  42. package/dist/{chunk-CKHPUOAP.js → chunk-K2N6WIZM.js} +3 -3
  43. package/dist/{chunk-BHJAMSVC.js → chunk-LD6A7XG5.js} +7 -7
  44. package/dist/{chunk-AKKFHN3I.js → chunk-M4WI23X3.js} +2 -2
  45. package/dist/{chunk-N2O23WYA.js → chunk-M5KLYHHI.js} +2 -2
  46. package/dist/{chunk-TNLXCSXV.js → chunk-O4IWVWSW.js} +5 -4
  47. package/dist/chunk-O4IWVWSW.js.map +1 -0
  48. package/dist/{chunk-OQQRWPFZ.js → chunk-OS5RKJOH.js} +2 -2
  49. package/dist/{chunk-MAU7DFCJ.js → chunk-OT5K26NG.js} +5 -4
  50. package/dist/chunk-OT5K26NG.js.map +1 -0
  51. package/dist/{chunk-DS3FZ7GS.js → chunk-OUSOMUFV.js} +2 -2
  52. package/dist/{chunk-7B7IPPN5.js → chunk-OVYBENIJ.js} +3 -3
  53. package/dist/{chunk-5RZOFIDL.js → chunk-PI4JHLDD.js} +6 -3
  54. package/dist/chunk-PI4JHLDD.js.map +1 -0
  55. package/dist/{chunk-EU543UDC.js → chunk-QCO2QFLZ.js} +7 -7
  56. package/dist/chunk-QCO2QFLZ.js.map +1 -0
  57. package/dist/{chunk-YXOXAQ5Y.js → chunk-TQQN64J2.js} +5 -4
  58. package/dist/chunk-TQQN64J2.js.map +1 -0
  59. package/dist/{chunk-WDJCZQB4.js → chunk-UGFPGWJB.js} +2 -2
  60. package/dist/{chunk-75PDC7VT.js → chunk-UOVDO6TC.js} +6 -5
  61. package/dist/chunk-UOVDO6TC.js.map +1 -0
  62. package/dist/{chunk-BVG2IZOB.js → chunk-USHVHI6J.js} +7 -6
  63. package/dist/chunk-USHVHI6J.js.map +1 -0
  64. package/dist/{chunk-56LP72AD.js → chunk-UYYSOMS2.js} +4 -4
  65. package/dist/{chunk-IEWUPZ75.js → chunk-VC7QELR6.js} +77 -74
  66. package/dist/chunk-VC7QELR6.js.map +1 -0
  67. package/dist/{chunk-XIQAOGAA.js → chunk-WGDE2TJP.js} +7 -6
  68. package/dist/chunk-WGDE2TJP.js.map +1 -0
  69. package/dist/{chunk-UFS7OXGL.js → chunk-WHEF76BQ.js} +5 -2
  70. package/dist/chunk-WHEF76BQ.js.map +1 -0
  71. package/dist/{chunk-QTJOORGN.js → chunk-WIMKOTNY.js} +2 -2
  72. package/dist/{chunk-GXTYEG7Q.js → chunk-WO22UEM3.js} +2 -2
  73. package/dist/{chunk-BHQQVUEQ.js → chunk-X5PMDVY4.js} +6 -5
  74. package/dist/{chunk-BHQQVUEQ.js.map → chunk-X5PMDVY4.js.map} +1 -1
  75. package/dist/{chunk-C53JDEH3.js → chunk-Y62QPRKV.js} +2 -2
  76. package/dist/{chunk-WFNH4UDF.js → chunk-Y6PNYJVO.js} +3 -3
  77. package/dist/{chunk-6YKIYQU7.js → chunk-YNHRWFAP.js} +5 -2
  78. package/dist/{chunk-6YKIYQU7.js.map → chunk-YNHRWFAP.js.map} +1 -1
  79. package/dist/cli.js +29 -29
  80. package/dist/compounding/engine.js +4 -4
  81. package/dist/connectors/codex-materialize-runner.js +2 -2
  82. package/dist/connectors/index.js +4 -3
  83. package/dist/contradiction/index.js +2 -2
  84. package/dist/{contradiction-scan-CWO3LIWV.js → contradiction-scan-UERKJESC.js} +3 -3
  85. package/dist/day-summary.js +2 -1
  86. package/dist/embedding-fallback.js +2 -2
  87. package/dist/entity-retrieval.js +3 -3
  88. package/dist/explicit-capture.js +2 -2
  89. package/dist/extraction.js +4 -4
  90. package/dist/{first-start-migration-5DXD3TF2.js → first-start-migration-GQ3UQNIL.js} +2 -2
  91. package/dist/index.js +45 -45
  92. package/dist/local-llm.js +2 -2
  93. package/dist/maintenance/memory-governance.js +2 -2
  94. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +2 -2
  95. package/dist/maintenance/rebuild-memory-projection.js +3 -3
  96. package/dist/namespaces/migrate.js +7 -7
  97. package/dist/namespaces/principal.js +2 -2
  98. package/dist/namespaces/search.js +4 -4
  99. package/dist/namespaces/storage.js +3 -3
  100. package/dist/operator-toolkit.js +13 -13
  101. package/dist/orchestration/compression-guideline-coordinator.js +2 -2
  102. package/dist/orchestration/maintenance.js +7 -7
  103. package/dist/orchestrator.js +29 -29
  104. package/dist/schemas.d.ts +22 -22
  105. package/dist/search/embed-helper.js +2 -2
  106. package/dist/search/factory.js +3 -3
  107. package/dist/search/index.js +3 -3
  108. package/dist/semantic-consolidation.js +4 -3
  109. package/dist/semantic-rule-promotion.js +2 -2
  110. package/dist/semantic-rule-verifier.js +2 -2
  111. package/dist/shared-context/manager.js +2 -1
  112. package/dist/storage.d.ts +1 -1
  113. package/dist/storage.js +1 -1
  114. package/dist/summarizer.js +3 -3
  115. package/dist/{tier-stats-QID73BBB.js → tier-stats-CSKL7BDG.js} +2 -2
  116. package/dist/transfer/types.d.ts +12 -12
  117. package/dist/verified-recall.js +2 -2
  118. package/package.json +2 -2
  119. package/src/access-service.ts +2 -1
  120. package/src/capabilities.test.ts +166 -0
  121. package/src/capabilities.ts +267 -0
  122. package/src/cli/research-status-commands.ts +2 -1
  123. package/src/cli.ts +3 -2
  124. package/src/compounding/engine.ts +2 -1
  125. package/src/connectors/codex-marketplace.ts +2 -1
  126. package/src/day-summary.ts +2 -1
  127. package/src/embedding-fallback.ts +2 -1
  128. package/src/extraction.ts +3 -2
  129. package/src/local-llm.ts +2 -1
  130. package/src/maintenance/namespace-maintenance-fanout.ts +2 -1
  131. package/src/maintenance/namespace-planner.ts +2 -1
  132. package/src/operator-toolkit.ts +1 -0
  133. package/src/orchestration/semantic-consolidation-coordinator.ts +3 -2
  134. package/src/orchestrator.ts +50 -46
  135. package/src/search/embed-helper.ts +2 -1
  136. package/src/search/factory.ts +2 -1
  137. package/src/semantic-consolidation.ts +2 -1
  138. package/src/shared-context/manager.ts +3 -2
  139. package/src/storage.ts +1 -1
  140. package/src/summarizer.ts +3 -2
  141. package/dist/chunk-23PLOBWT.js.map +0 -1
  142. package/dist/chunk-5RZOFIDL.js.map +0 -1
  143. package/dist/chunk-75PDC7VT.js.map +0 -1
  144. package/dist/chunk-BVG2IZOB.js.map +0 -1
  145. package/dist/chunk-EO5QWINU.js.map +0 -1
  146. package/dist/chunk-EU543UDC.js.map +0 -1
  147. package/dist/chunk-IEWUPZ75.js.map +0 -1
  148. package/dist/chunk-JQSP7YBJ.js.map +0 -1
  149. package/dist/chunk-MAU7DFCJ.js.map +0 -1
  150. package/dist/chunk-Q6BAA57B.js.map +0 -1
  151. package/dist/chunk-TNLXCSXV.js.map +0 -1
  152. package/dist/chunk-UFS7OXGL.js.map +0 -1
  153. package/dist/chunk-WVAEIKUY.js.map +0 -1
  154. package/dist/chunk-XIQAOGAA.js.map +0 -1
  155. package/dist/chunk-Y5OOHER4.js.map +0 -1
  156. package/dist/chunk-YXOXAQ5Y.js.map +0 -1
  157. /package/dist/{chunk-IFCM6OLK.js.map → chunk-3TUDKDTQ.js.map} +0 -0
  158. /package/dist/{chunk-A7INTIC5.js.map → chunk-4J53ZVPQ.js.map} +0 -0
  159. /package/dist/{chunk-XYUFGHUW.js.map → chunk-56F6EAQ6.js.map} +0 -0
  160. /package/dist/{chunk-F6OEXJQQ.js.map → chunk-6XG3NQRC.js.map} +0 -0
  161. /package/dist/{chunk-24ZLC5QN.js.map → chunk-7N7S2RKF.js.map} +0 -0
  162. /package/dist/{chunk-VRBBZH4U.js.map → chunk-AX4TRSRE.js.map} +0 -0
  163. /package/dist/{chunk-66RZ4EIT.js.map → chunk-BE6NEQLF.js.map} +0 -0
  164. /package/dist/{chunk-YF2MMBKA.js.map → chunk-BJPL5WAL.js.map} +0 -0
  165. /package/dist/{chunk-GEXI357K.js.map → chunk-C7C5WIIF.js.map} +0 -0
  166. /package/dist/{chunk-L3TYGUTH.js.map → chunk-CMPXLMC3.js.map} +0 -0
  167. /package/dist/{chunk-W2FBVBQ4.js.map → chunk-DBVBV2RF.js.map} +0 -0
  168. /package/dist/{chunk-IQOEW5YV.js.map → chunk-FCQ7ZYCQ.js.map} +0 -0
  169. /package/dist/{chunk-IIBFCZA7.js.map → chunk-FWXLKH2H.js.map} +0 -0
  170. /package/dist/{chunk-CKHPUOAP.js.map → chunk-K2N6WIZM.js.map} +0 -0
  171. /package/dist/{chunk-BHJAMSVC.js.map → chunk-LD6A7XG5.js.map} +0 -0
  172. /package/dist/{chunk-AKKFHN3I.js.map → chunk-M4WI23X3.js.map} +0 -0
  173. /package/dist/{chunk-N2O23WYA.js.map → chunk-M5KLYHHI.js.map} +0 -0
  174. /package/dist/{chunk-OQQRWPFZ.js.map → chunk-OS5RKJOH.js.map} +0 -0
  175. /package/dist/{chunk-DS3FZ7GS.js.map → chunk-OUSOMUFV.js.map} +0 -0
  176. /package/dist/{chunk-7B7IPPN5.js.map → chunk-OVYBENIJ.js.map} +0 -0
  177. /package/dist/{chunk-WDJCZQB4.js.map → chunk-UGFPGWJB.js.map} +0 -0
  178. /package/dist/{chunk-56LP72AD.js.map → chunk-UYYSOMS2.js.map} +0 -0
  179. /package/dist/{chunk-QTJOORGN.js.map → chunk-WIMKOTNY.js.map} +0 -0
  180. /package/dist/{chunk-GXTYEG7Q.js.map → chunk-WO22UEM3.js.map} +0 -0
  181. /package/dist/{chunk-C53JDEH3.js.map → chunk-Y62QPRKV.js.map} +0 -0
  182. /package/dist/{chunk-WFNH4UDF.js.map → chunk-Y6PNYJVO.js.map} +0 -0
  183. /package/dist/{contradiction-scan-CWO3LIWV.js.map → contradiction-scan-UERKJESC.js.map} +0 -0
  184. /package/dist/{first-start-migration-5DXD3TF2.js.map → first-start-migration-GQ3UQNIL.js.map} +0 -0
  185. /package/dist/{tier-stats-QID73BBB.js.map → tier-stats-CSKL7BDG.js.map} +0 -0
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-ZFXCQPNO.js";
5
5
  import {
6
6
  StorageManager
7
- } from "./chunk-Q6BAA57B.js";
7
+ } from "./chunk-JFCS6PQU.js";
8
8
  import {
9
9
  MutationSerializer
10
10
  } from "./chunk-LTJAMRGI.js";
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-U3PN77QT.js";
17
17
  import {
18
18
  resolveNamespaceCapabilities
19
- } from "./chunk-RJBW4EOU.js";
19
+ } from "./chunk-G7Q4D2G3.js";
20
20
 
21
21
  // src/namespaces/storage.ts
22
22
  import path from "path";
@@ -339,4 +339,4 @@ export {
339
339
  resolveNamespaceStorageRoot,
340
340
  NamespaceStorageRouter
341
341
  };
342
- //# sourceMappingURL=chunk-VRBBZH4U.js.map
342
+ //# sourceMappingURL=chunk-AX4TRSRE.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createSearchBackend
3
- } from "./chunk-JQSP7YBJ.js";
3
+ } from "./chunk-ELL5VYXC.js";
4
4
  import {
5
5
  namespaceIdentityToken,
6
6
  normalizeNamespaceIdentity
7
7
  } from "./chunk-ZFXCQPNO.js";
8
8
  import {
9
9
  resolveNamespaceCapabilities
10
- } from "./chunk-RJBW4EOU.js";
10
+ } from "./chunk-G7Q4D2G3.js";
11
11
 
12
12
  // src/namespaces/search.ts
13
13
  import path from "path";
@@ -404,4 +404,4 @@ export {
404
404
  namespaceCollectionName,
405
405
  NamespaceSearchRouter
406
406
  };
407
- //# sourceMappingURL=chunk-66RZ4EIT.js.map
407
+ //# sourceMappingURL=chunk-BE6NEQLF.js.map
@@ -10,13 +10,13 @@ import {
10
10
  import {
11
11
  planNamespaceMaintenance,
12
12
  runNamespaceMaintenanceBatchPlan
13
- } from "./chunk-BHQQVUEQ.js";
13
+ } from "./chunk-X5PMDVY4.js";
14
14
  import {
15
15
  resolveConsolidationCapabilities,
16
16
  resolveNamespaceCapabilities,
17
17
  resolveQmdCapabilities,
18
18
  resolveRecallAuxiliaryCapabilities
19
- } from "./chunk-RJBW4EOU.js";
19
+ } from "./chunk-G7Q4D2G3.js";
20
20
  import {
21
21
  resolveHomeDir
22
22
  } from "./chunk-JUC24CTX.js";
@@ -447,4 +447,4 @@ var MaintenanceScheduler = class {
447
447
  export {
448
448
  MaintenanceScheduler
449
449
  };
450
- //# sourceMappingURL=chunk-YF2MMBKA.js.map
450
+ //# sourceMappingURL=chunk-BJPL5WAL.js.map
@@ -3,6 +3,9 @@ import {
3
3
  renderExtensionsFooter,
4
4
  resolveExtensionsRoot
5
5
  } from "./chunk-JLNBQWZ2.js";
6
+ import {
7
+ resolvePipelineProcessingCapabilities
8
+ } from "./chunk-G7Q4D2G3.js";
6
9
  import {
7
10
  log
8
11
  } from "./chunk-NU3CSQ4H.js";
@@ -101,7 +104,7 @@ ${memory.content}`;
101
104
  }).join("\n\n").trim();
102
105
  }
103
106
  async function buildExtensionsFooterForSummary(config) {
104
- if (!config.memoryExtensionsEnabled) return "";
107
+ if (!resolvePipelineProcessingCapabilities(config).memoryExtensions) return "";
105
108
  const root = resolveExtensionsRoot(config);
106
109
  const extensions = await discoverMemoryExtensions(root, log);
107
110
  if (extensions.length === 0) return "";
@@ -113,4 +116,4 @@ export {
113
116
  formatDaySummaryMemories,
114
117
  buildExtensionsFooterForSummary
115
118
  };
116
- //# sourceMappingURL=chunk-EO5QWINU.js.map
119
+ //# sourceMappingURL=chunk-C3Z5YJSM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/day-summary.ts"],"sourcesContent":["import path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { log } from \"./logger.js\";\nimport type { MemoryFile, PluginConfig } from \"./types.js\";\nimport { discoverMemoryExtensions, renderExtensionsFooter, resolveExtensionsRoot } from \"./memory-extension-host/index.js\";\nimport { resolvePipelineProcessingCapabilities } from \"./capabilities.js\";\n\nconst PROMPT_RELATIVE_PATH = path.join(\"prompts\", \"day_summary.prompt.md\");\n\n// Embedded fallback prompt for packaged/plugin-install builds where\n// prompts/day_summary.prompt.md may not be present in the runtime bundle.\nconst EMBEDDED_DAY_SUMMARY_PROMPT = `# Baseline day-summary prompt\n\nYou are writing an Engram end-of-day summary.\n\nYour job:\n- compress the day into a short, useful recap\n- prioritize concrete events, decisions, mood/energy signals, and open loops\n- include a few practical next actions for tomorrow\n- avoid hype, fluff, therapy-speak, and invented facts\n\nOutput JSON with these keys:\n- \\`summary\\` — one short paragraph\n- \\`bullets\\` — 2 to 5 bullets with the most important moments\n- \\`next_actions\\` — 1 to 3 concrete actions\n- \\`risks_or_open_loops\\` — 0 to 3 things that still need attention\n\nRules:\n- stay grounded in the input only\n- if the day was mixed, say so plainly\n- do not overstate confidence or importance\n- prefer specific verbs over vague abstractions\n\nBrevity:\n- keep the summary under 90 words\n- keep bullets short and information-dense\n- omit anything that does not change what tomorrow should care about\n\nStructure:\n- \\`summary\\` should be one paragraph only\n- \\`bullets\\` should contain the most important moments, not generic restatements\n- \\`next_actions\\` and \\`risks_or_open_loops\\` should be distinct and non-overlapping\n\nRisk:\n- explicitly surface unresolved blockers, dependencies, or fragile assumptions\n- do not bury open loops inside the summary if they deserve separate attention\n\nTone:\n- sound like a clear internal daily note, not a report template\n- stay natural and direct while remaining compact`;\n\nfunction candidateRoots(): string[] {\n const currentFile = fileURLToPath(import.meta.url);\n const here = path.dirname(currentFile);\n const candidates = [path.resolve(here, \"..\"), path.resolve(here, \"..\", \"..\")];\n\n const seen = new Set<string>();\n return candidates.filter((candidate) => {\n const normalized = path.resolve(candidate);\n if (seen.has(normalized)) return false;\n seen.add(normalized);\n return true;\n });\n}\n\nasync function resolvePromptPath(): Promise<string | null> {\n const { existsSync } = await import(\"node:fs\");\n for (const root of candidateRoots()) {\n const candidate = path.join(root, PROMPT_RELATIVE_PATH);\n if (existsSync(candidate)) {\n return candidate;\n }\n }\n return null;\n}\n\nexport async function loadDaySummaryPrompt(): Promise<string> {\n const promptPath = await resolvePromptPath();\n if (promptPath) {\n try {\n const { readFile } = await import(\"node:fs/promises\");\n const raw = await readFile(promptPath, \"utf-8\");\n // CRLF-compatible regex: allow \\r\\n or \\n line endings\n const match = raw.match(/```(?:[a-zA-Z0-9_-]+)?\\r?\\n([\\s\\S]*?)\\r?\\n```/);\n if (match?.[1]) {\n return match[1].trim();\n }\n log.warn(\"day summary prompt file does not contain a fenced prompt block; using embedded fallback\");\n } catch (err) {\n log.warn(`day summary prompt file read failed; using embedded fallback: ${err}`);\n }\n }\n return EMBEDDED_DAY_SUMMARY_PROMPT;\n}\n\nexport function formatDaySummaryMemories(memories: string | MemoryFile[]): string {\n if (typeof memories === \"string\") {\n return memories.trim();\n }\n\n return memories\n .map((memory) => {\n const category = memory.frontmatter.category || \"fact\";\n const created = memory.frontmatter.created || \"unknown\";\n return `[${memory.frontmatter.id}] (${category}, ${created})\\n${memory.content}`;\n })\n .join(\"\\n\\n\")\n .trim();\n}\n\n/**\n * Build a one-line extension footer for day-summary and summary-snapshot contexts.\n * Returns \"\" when extensions are disabled or none are found.\n */\nexport async function buildExtensionsFooterForSummary(\n config: PluginConfig,\n): Promise<string> {\n if (!resolvePipelineProcessingCapabilities(config).memoryExtensions) return \"\";\n const root = resolveExtensionsRoot(config);\n const extensions = await discoverMemoryExtensions(root, log);\n if (extensions.length === 0) return \"\";\n return renderExtensionsFooter(extensions);\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAM9B,IAAM,uBAAuB,KAAK,KAAK,WAAW,uBAAuB;AAIzE,IAAM,8BAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCpC,SAAS,iBAA2B;AAClC,QAAM,cAAc,cAAc,YAAY,GAAG;AACjD,QAAM,OAAO,KAAK,QAAQ,WAAW;AACrC,QAAM,aAAa,CAAC,KAAK,QAAQ,MAAM,IAAI,GAAG,KAAK,QAAQ,MAAM,MAAM,IAAI,CAAC;AAE5E,QAAM,OAAO,oBAAI,IAAY;AAC7B,SAAO,WAAW,OAAO,CAAC,cAAc;AACtC,UAAM,aAAa,KAAK,QAAQ,SAAS;AACzC,QAAI,KAAK,IAAI,UAAU,EAAG,QAAO;AACjC,SAAK,IAAI,UAAU;AACnB,WAAO;AAAA,EACT,CAAC;AACH;AAEA,eAAe,oBAA4C;AACzD,QAAM,EAAE,WAAW,IAAI,MAAM,OAAO,IAAS;AAC7C,aAAW,QAAQ,eAAe,GAAG;AACnC,UAAM,YAAY,KAAK,KAAK,MAAM,oBAAoB;AACtD,QAAI,WAAW,SAAS,GAAG;AACzB,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,eAAsB,uBAAwC;AAC5D,QAAM,aAAa,MAAM,kBAAkB;AAC3C,MAAI,YAAY;AACd,QAAI;AACF,YAAM,EAAE,SAAS,IAAI,MAAM,OAAO,aAAkB;AACpD,YAAM,MAAM,MAAM,SAAS,YAAY,OAAO;AAE9C,YAAM,QAAQ,IAAI,MAAM,+CAA+C;AACvE,UAAI,QAAQ,CAAC,GAAG;AACd,eAAO,MAAM,CAAC,EAAE,KAAK;AAAA,MACvB;AACA,UAAI,KAAK,yFAAyF;AAAA,IACpG,SAAS,KAAK;AACZ,UAAI,KAAK,iEAAiE,GAAG,EAAE;AAAA,IACjF;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,yBAAyB,UAAyC;AAChF,MAAI,OAAO,aAAa,UAAU;AAChC,WAAO,SAAS,KAAK;AAAA,EACvB;AAEA,SAAO,SACJ,IAAI,CAAC,WAAW;AACf,UAAM,WAAW,OAAO,YAAY,YAAY;AAChD,UAAM,UAAU,OAAO,YAAY,WAAW;AAC9C,WAAO,IAAI,OAAO,YAAY,EAAE,MAAM,QAAQ,KAAK,OAAO;AAAA,EAAM,OAAO,OAAO;AAAA,EAChF,CAAC,EACA,KAAK,MAAM,EACX,KAAK;AACV;AAMA,eAAsB,gCACpB,QACiB;AACjB,MAAI,CAAC,sCAAsC,MAAM,EAAE,iBAAkB,QAAO;AAC5E,QAAM,OAAO,sBAAsB,MAAM;AACzC,QAAM,aAAa,MAAM,yBAAyB,MAAM,GAAG;AAC3D,MAAI,WAAW,WAAW,EAAG,QAAO;AACpC,SAAO,uBAAuB,UAAU;AAC1C;","names":[]}
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-3UXOZBHV.js";
8
8
  import {
9
9
  StorageManager
10
- } from "./chunk-Q6BAA57B.js";
10
+ } from "./chunk-JFCS6PQU.js";
11
11
  import {
12
12
  isSafeRouteNamespace
13
13
  } from "./chunk-U3PN77QT.js";
@@ -118,4 +118,4 @@ export {
118
118
  runCodexMaterialize,
119
119
  runPostConsolidationMaterialize
120
120
  };
121
- //# sourceMappingURL=chunk-GEXI357K.js.map
121
+ //# sourceMappingURL=chunk-C7C5WIIF.js.map
@@ -2,10 +2,10 @@ import {
2
2
  canReadNamespace,
3
3
  defaultNamespaceForPrincipal,
4
4
  resolvePrincipal
5
- } from "./chunk-DS3FZ7GS.js";
5
+ } from "./chunk-OUSOMUFV.js";
6
6
  import {
7
7
  resolveNamespaceCapabilities
8
- } from "./chunk-RJBW4EOU.js";
8
+ } from "./chunk-G7Q4D2G3.js";
9
9
  import {
10
10
  collapseWhitespace,
11
11
  truncateCodePointSafe
@@ -135,4 +135,4 @@ export {
135
135
  recallForActiveMemory,
136
136
  getMemoryForActiveMemory
137
137
  };
138
- //# sourceMappingURL=chunk-L3TYGUTH.js.map
138
+ //# sourceMappingURL=chunk-CMPXLMC3.js.map
@@ -3,16 +3,16 @@ import {
3
3
  } from "./chunk-FVZ2ISIX.js";
4
4
  import {
5
5
  defineOperation
6
- } from "./chunk-N2O23WYA.js";
6
+ } from "./chunk-M5KLYHHI.js";
7
7
  import {
8
8
  DECISION_SUBCOMMANDS,
9
9
  DELTA_SUBCOMMANDS,
10
10
  EngramAccessInputError,
11
11
  isCodegraphToolName
12
- } from "./chunk-Y5OOHER4.js";
12
+ } from "./chunk-7Y5KKMIP.js";
13
13
  import {
14
14
  CorrectionContractError
15
- } from "./chunk-WFNH4UDF.js";
15
+ } from "./chunk-Y6PNYJVO.js";
16
16
 
17
17
  // src/access-operations.ts
18
18
  import { z } from "zod";
@@ -465,4 +465,4 @@ export {
465
465
  codegraphIngestTracesOperation,
466
466
  REGISTERED_OPERATIONS
467
467
  };
468
- //# sourceMappingURL=chunk-W2FBVBQ4.js.map
468
+ //# sourceMappingURL=chunk-DBVBV2RF.js.map
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-SANZHXY2.js";
16
16
  import {
17
17
  EmbedHelper
18
- } from "./chunk-MAU7DFCJ.js";
18
+ } from "./chunk-OT5K26NG.js";
19
19
  import {
20
20
  createConversationIndexBackend
21
21
  } from "./chunk-DCWIQFNA.js";
@@ -27,8 +27,9 @@ import {
27
27
  } from "./chunk-K43PI6DQ.js";
28
28
  import {
29
29
  resolveIndexingCapabilities,
30
+ resolvePipelineProcessingCapabilities,
30
31
  resolveQmdCapabilities
31
- } from "./chunk-RJBW4EOU.js";
32
+ } from "./chunk-G7Q4D2G3.js";
32
33
  import {
33
34
  log
34
35
  } from "./chunk-NU3CSQ4H.js";
@@ -91,7 +92,7 @@ function resolveNonQmdBackend(config) {
91
92
  function qmdOptions(config) {
92
93
  return {
93
94
  slowLog: {
94
- enabled: config.slowLogEnabled,
95
+ enabled: resolvePipelineProcessingCapabilities(config).slowLog,
95
96
  thresholdMs: config.slowLogThresholdMs
96
97
  },
97
98
  updateTimeoutMs: config.qmdUpdateTimeoutMs,
@@ -174,4 +175,4 @@ export {
174
175
  createConversationSearchBackend,
175
176
  createConversationIndexRuntime
176
177
  };
177
- //# sourceMappingURL=chunk-JQSP7YBJ.js.map
178
+ //# sourceMappingURL=chunk-ELL5VYXC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/search/factory.ts"],"sourcesContent":["import type { PluginConfig } from \"../types.js\";\nimport type { SearchBackend } from \"./port.js\";\nimport path from \"node:path\";\nimport { NoopSearchBackend } from \"./noop-backend.js\";\nimport { RemoteSearchBackend } from \"./remote-backend.js\";\nimport { LanceDbBackend } from \"./lancedb-backend.js\";\nimport { MeilisearchBackend } from \"./meilisearch-backend.js\";\nimport { OramaBackend } from \"./orama-backend.js\";\nimport { EmbedHelper } from \"./embed-helper.js\";\nimport { QmdClient, type QmdClientOptions } from \"../qmd.js\";\nimport { log } from \"../logger.js\";\nimport { FaissConversationIndexAdapter } from \"../conversation-index/faiss-adapter.js\";\nimport { resolvePipelineProcessingCapabilities } from \"../capabilities.js\";\nimport {\n resolveIndexingCapabilities,\n resolveQmdCapabilities,\n} from \"../capabilities.js\";\nimport {\n createConversationIndexBackend,\n type ConversationIndexBackend,\n type ConversationQmdRuntime,\n} from \"../conversation-index/backend.js\";\n\n/**\n * Resolve non-QMD backends from config.\n * Returns a SearchBackend for \"noop\" or \"remote\", or undefined to signal \"use QMD\".\n */\nfunction resolveNonQmdBackend(config: PluginConfig): SearchBackend | undefined {\n const backend = config.searchBackend ?? \"qmd\";\n const collection = config.qmdCollection;\n\n if (backend === \"noop\") {\n return new NoopSearchBackend();\n }\n\n if (backend === \"remote\") {\n const baseUrl = config.remoteSearchBaseUrl || \"http://localhost:8181\";\n if (!config.remoteSearchBaseUrl) {\n log.warn(\"searchBackend is 'remote' but remoteSearchBaseUrl is not configured; using default http://localhost:8181\");\n }\n return new RemoteSearchBackend({\n baseUrl,\n apiKey: config.remoteSearchApiKey,\n timeoutMs: config.remoteSearchTimeoutMs,\n });\n }\n\n if (backend === \"lancedb\") {\n const embedHelper = new EmbedHelper(config, {\n hostEmbeddingExpectedDimension: config.lanceEmbeddingDimension,\n });\n return new LanceDbBackend({\n dbPath: config.lanceDbPath!,\n collection,\n embedHelper,\n memoryDir: config.memoryDir,\n embeddingDimension: config.lanceEmbeddingDimension!,\n });\n }\n\n if (backend === \"meilisearch\") {\n return new MeilisearchBackend({\n host: config.meilisearchHost!,\n apiKey: config.meilisearchApiKey,\n collection,\n timeoutMs: config.meilisearchTimeoutMs,\n autoIndex: config.meilisearchAutoIndex,\n memoryDir: config.memoryDir,\n });\n }\n\n if (backend === \"orama\") {\n const embedHelper = new EmbedHelper(config, {\n hostEmbeddingExpectedDimension: config.oramaEmbeddingDimension,\n });\n return new OramaBackend({\n dbPath: config.oramaDbPath!,\n collection,\n embedHelper,\n memoryDir: config.memoryDir,\n embeddingDimension: config.oramaEmbeddingDimension!,\n });\n }\n\n return undefined;\n}\n\n/** Shared QMD options derived from plugin config. */\nfunction qmdOptions(config: PluginConfig): QmdClientOptions {\n return {\n slowLog: {\n enabled: resolvePipelineProcessingCapabilities(config).slowLog,\n thresholdMs: config.slowLogThresholdMs,\n },\n updateTimeoutMs: config.qmdUpdateTimeoutMs,\n updateMinIntervalMs: config.qmdUpdateMinIntervalMs,\n qmdPath: config.qmdPath,\n daemonUrl: resolveQmdCapabilities(config).qmdDaemon ? config.qmdDaemonUrl : undefined,\n daemonRecheckIntervalMs: config.qmdDaemonRecheckIntervalMs,\n qmdSupportedVersion: config.qmdSupportedVersion,\n qmdAutoUpgradeEnabled: resolveQmdCapabilities(config).qmdAutoUpgrade,\n qmdAutoUpgradeCheckIntervalMs: config.qmdAutoUpgradeCheckIntervalMs,\n qmdChunkStrategy: config.qmdChunkStrategy,\n qmdCandidateLimit: config.qmdCandidateLimit,\n qmdQueryRerankEnabled: resolveQmdCapabilities(config).qmdQueryRerank,\n qmdIndexName: config.qmdIndexName,\n qmdForceCpu: config.qmdForceCpu,\n qmdGpuBackend: config.qmdGpuBackend,\n qmdEmbedParallelism: config.qmdEmbedParallelism,\n qmdEmbedModel: config.qmdEmbedModel,\n qmdRerankModel: config.qmdRerankModel,\n qmdGenerateModel: config.qmdGenerateModel,\n qmdSearchStrategy: config.qmdSearchStrategy,\n qmdSubprocessStrategy: config.qmdSubprocessStrategy,\n qmdDaemonTimeoutMs: config.qmdDaemonTimeoutMs,\n };\n}\n\n/**\n * Create a SearchBackend from plugin config.\n *\n * - \"noop\" → NoopSearchBackend\n * - \"remote\" → RemoteSearchBackend (HTTP REST)\n * - \"qmd\" (default) → QmdClient if qmdEnabled, else NoopSearchBackend\n */\nexport function createSearchBackend(config: PluginConfig): SearchBackend {\n const nonQmd = resolveNonQmdBackend(config);\n if (nonQmd) return nonQmd;\n\n // Default: QMD — fall back to noop if qmdEnabled is false\n if (!resolveQmdCapabilities(config).qmd) {\n return new NoopSearchBackend();\n }\n\n return new QmdClient(config.qmdCollection, config.qmdMaxResults, qmdOptions(config));\n}\n\n/**\n * Create a SearchBackend for conversation index use.\n * Returns undefined if conversation index is not enabled or not using qmd backend.\n */\nexport function createConversationSearchBackend(config: PluginConfig): SearchBackend | undefined {\n if (!resolveIndexingCapabilities(config).conversationIndex || config.conversationIndexBackend !== \"qmd\") {\n return undefined;\n }\n\n // Conversation index is QMD-only — do not use lancedb/meilisearch/orama even if\n // searchBackend is set to one of those. Only respect \"noop\" to allow disabling.\n const backend = config.searchBackend ?? \"qmd\";\n if (backend === \"noop\") return undefined;\n\n // QMD — respect qmdEnabled to avoid spawning the binary\n if (!resolveQmdCapabilities(config).qmd) return undefined;\n\n return new QmdClient(\n config.conversationIndexQmdCollection,\n Math.max(6, config.conversationRecallTopK),\n qmdOptions(config),\n );\n}\n\nexport interface ConversationIndexRuntime {\n qmd?: ConversationQmdRuntime;\n faiss?: FaissConversationIndexAdapter;\n backend?: ConversationIndexBackend;\n}\n\nexport function createConversationIndexRuntime(\n config: PluginConfig,\n overrides?: {\n getQmd?: () => ConversationQmdRuntime | undefined;\n getFaiss?: () => FaissConversationIndexAdapter | undefined;\n },\n): ConversationIndexRuntime {\n const qmd = createConversationSearchBackend(config) as ConversationQmdRuntime | undefined;\n let faiss: FaissConversationIndexAdapter | undefined;\n if (resolveIndexingCapabilities(config).conversationIndex && config.conversationIndexBackend === \"faiss\") {\n try {\n faiss = new FaissConversationIndexAdapter({\n memoryDir: config.memoryDir,\n scriptPath: config.conversationIndexFaissScriptPath,\n pythonBin: config.conversationIndexFaissPythonBin,\n modelId: config.conversationIndexFaissModelId,\n indexDir: config.conversationIndexFaissIndexDir,\n upsertTimeoutMs: config.conversationIndexFaissUpsertTimeoutMs,\n searchTimeoutMs: config.conversationIndexFaissSearchTimeoutMs,\n healthTimeoutMs: config.conversationIndexFaissHealthTimeoutMs,\n maxBatchSize: config.conversationIndexFaissMaxBatchSize,\n maxSearchK: config.conversationIndexFaissMaxSearchK,\n });\n } catch (err) {\n log.warn(`Conversation index FAISS adapter disabled: ${err instanceof Error ? err.message : String(err)}`);\n }\n }\n\n const backend = createConversationIndexBackend({\n enabled: resolveIndexingCapabilities(config).conversationIndex,\n backend: config.conversationIndexBackend,\n getQmd: () => overrides?.getQmd?.() ?? qmd,\n getFaiss: () => overrides?.getFaiss?.() ?? faiss,\n collectionDir: path.join(config.memoryDir, \"conversation-index\"),\n });\n\n return { qmd, faiss, backend };\n}\n"],"mappings":"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","names":[]}
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-ZBJMUXZH.js";
5
5
  import {
6
6
  StorageManager
7
- } from "./chunk-Q6BAA57B.js";
7
+ } from "./chunk-JFCS6PQU.js";
8
8
  import {
9
9
  getCachedRuleMemories,
10
10
  setCachedRuleMemories
@@ -117,4 +117,4 @@ export {
117
117
  compareVerifiedSemanticRuleResults,
118
118
  searchVerifiedSemanticRules
119
119
  };
120
- //# sourceMappingURL=chunk-IQOEW5YV.js.map
120
+ //# sourceMappingURL=chunk-FCQ7ZYCQ.js.map
@@ -10,10 +10,10 @@ import {
10
10
  import {
11
11
  listMemoryGovernanceRuns,
12
12
  readMemoryGovernanceRunArtifact
13
- } from "./chunk-24ZLC5QN.js";
13
+ } from "./chunk-7N7S2RKF.js";
14
14
  import {
15
15
  StorageManager
16
- } from "./chunk-Q6BAA57B.js";
16
+ } from "./chunk-JFCS6PQU.js";
17
17
  import {
18
18
  MEMORY_LIFECYCLE_EVENT_SORT_ORDER,
19
19
  buildLifecycleEventsForMemory,
@@ -929,4 +929,4 @@ export {
929
929
  verifyMemoryProjection,
930
930
  repairMemoryProjection
931
931
  };
932
- //# sourceMappingURL=chunk-IIBFCZA7.js.map
932
+ //# sourceMappingURL=chunk-FWXLKH2H.js.map
@@ -179,6 +179,75 @@ function resolveRecallAuxiliaryCapabilities(config) {
179
179
  cronRecallPolicy: config.cronRecallPolicyEnabled
180
180
  });
181
181
  }
182
+ function resolveRecallEnhancementCapabilities(config) {
183
+ return Object.freeze({
184
+ explicitCueRecall: config.explicitCueRecallEnabled,
185
+ targetedFactRecall: config.targetedFactRecallEnabled,
186
+ focusedListRecall: config.focusedListRecallEnabled,
187
+ responseGuidanceRecall: config.responseGuidanceRecallEnabled,
188
+ eventOrderRecall: config.eventOrderRecallEnabled,
189
+ reinforcementRecallBoost: config.reinforcementRecallBoostEnabled,
190
+ recallPlannerTelemetry: config.recallPlannerTelemetryEnabled,
191
+ peerProfileRecall: config.peerProfileRecallEnabled,
192
+ graphAssistShadowEval: config.graphAssistShadowEvalEnabled === true,
193
+ memoryReconstruction: config.memoryReconstructionEnabled,
194
+ memoryLinking: config.memoryLinkingEnabled,
195
+ causalTrajectoryRecall: config.causalTrajectoryRecallEnabled,
196
+ causalTrajectoryMemory: config.causalTrajectoryMemoryEnabled,
197
+ cmcRetrieval: config.cmcRetrievalEnabled,
198
+ contradictionDetection: config.contradictionDetectionEnabled,
199
+ factArchival: config.factArchivalEnabled,
200
+ entityRelationships: config.entityRelationshipsEnabled,
201
+ entityActivityLog: config.entityActivityLogEnabled,
202
+ compoundingInject: config.compoundingInjectEnabled,
203
+ accessTracking: config.accessTrackingEnabled,
204
+ autoPromoteToShared: config.autoPromoteToSharedEnabled,
205
+ recallGraph: config.recallGraphEnabled,
206
+ feedback: config.feedbackEnabled,
207
+ identity: config.identityEnabled
208
+ });
209
+ }
210
+ function resolvePipelineProcessingCapabilities(config) {
211
+ return Object.freeze({
212
+ chunking: config.chunkingEnabled,
213
+ semanticChunking: config.semanticChunkingEnabled,
214
+ semanticDedup: config.semanticDedupEnabled,
215
+ summarization: config.summarizationEnabled,
216
+ topicExtraction: config.topicExtractionEnabled,
217
+ sessionObserver: config.sessionObserverEnabled === true,
218
+ profiling: config.profilingEnabled,
219
+ checkpoint: config.checkpointEnabled,
220
+ traceWeaver: config.traceWeaverEnabled,
221
+ routingRules: config.routingRulesEnabled,
222
+ inlineSourceAttribution: config.inlineSourceAttributionEnabled,
223
+ negativeExamples: config.negativeExamplesEnabled,
224
+ hourlySummaries: config.hourlySummariesEnabled,
225
+ lcm: config.lcmEnabled,
226
+ localLlmFast: config.localLlmFastEnabled,
227
+ proactiveExtraction: config.proactiveExtractionEnabled,
228
+ delinearize: config.delinearizeEnabled,
229
+ slowLog: config.slowLogEnabled,
230
+ hostEmbeddingProvider: config.hostEmbeddingProviderEnabled,
231
+ memoryExtensions: config.memoryExtensionsEnabled,
232
+ hourlySummariesExtended: config.hourlySummariesExtendedEnabled
233
+ });
234
+ }
235
+ function resolveConversationContextCapabilities(config) {
236
+ return Object.freeze({
237
+ sharedContext: config.sharedContextEnabled,
238
+ intentRouting: config.intentRoutingEnabled,
239
+ crossSignalsSemantic: config.crossSignalsSemanticEnabled,
240
+ sharedCrossSignalSemantic: config.sharedCrossSignalSemanticEnabled === true,
241
+ operatorAwareConsolidation: config.operatorAwareConsolidationEnabled,
242
+ peerProfileReasoner: config.peerProfileReasonerEnabled,
243
+ cmcConsolidation: config.cmcConsolidationEnabled,
244
+ maintenanceNamespaceFanout: config.maintenanceNamespaceFanoutEnabled,
245
+ citations: config.citationsEnabled,
246
+ behaviorLoopAutoTune: config.behaviorLoopAutoTuneEnabled,
247
+ semanticRulePromotion: config.semanticRulePromotionEnabled,
248
+ codexMarketplace: config.codexMarketplaceEnabled
249
+ });
250
+ }
182
251
 
183
252
  export {
184
253
  resolveCapabilities,
@@ -198,6 +267,9 @@ export {
198
267
  resolveCompressionCapabilities,
199
268
  resolvePresentationCapabilities,
200
269
  resolveConsolidationCapabilities,
201
- resolveRecallAuxiliaryCapabilities
270
+ resolveRecallAuxiliaryCapabilities,
271
+ resolveRecallEnhancementCapabilities,
272
+ resolvePipelineProcessingCapabilities,
273
+ resolveConversationContextCapabilities
202
274
  };
203
- //# sourceMappingURL=chunk-RJBW4EOU.js.map
275
+ //# sourceMappingURL=chunk-G7Q4D2G3.js.map