@remnic/core 9.69.63 → 9.69.65

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 (233) hide show
  1. package/dist/access-admin-ops-surface.js +24 -24
  2. package/dist/access-authorization-probe.js +25 -25
  3. package/dist/access-boundary.js +24 -24
  4. package/dist/access-cli.js +65 -65
  5. package/dist/access-extraction-force-flush.js +24 -24
  6. package/dist/access-http-briefing.js +25 -25
  7. package/dist/access-http-query.js +26 -26
  8. package/dist/access-http.js +41 -41
  9. package/dist/access-identity-continuity-surface.js +24 -24
  10. package/dist/access-lcm-surface.js +24 -24
  11. package/dist/access-mcp-output-schemas.d.ts.map +1 -1
  12. package/dist/access-mcp-output-schemas.js +1 -1
  13. package/dist/access-mcp.js +34 -34
  14. package/dist/access-namespace-preflight.js +24 -24
  15. package/dist/access-observe-write-surface.js +24 -24
  16. package/dist/access-operations-batch.js +25 -25
  17. package/dist/access-operations.js +32 -32
  18. package/dist/access-recall-concurrency.js +24 -24
  19. package/dist/access-recall-response.d.ts.map +1 -1
  20. package/dist/access-recall-response.js +24 -24
  21. package/dist/access-recall-surface.js +24 -24
  22. package/dist/access-service.d.ts +4 -0
  23. package/dist/access-service.d.ts.map +1 -1
  24. package/dist/access-service.js +24 -24
  25. package/dist/access-surface-catalog.js +26 -26
  26. package/dist/active-recall.js +9 -9
  27. package/dist/briefing.js +10 -10
  28. package/dist/buffer.js +5 -5
  29. package/dist/causal-consolidation.js +11 -11
  30. package/dist/{chunk-52VL6LCY.js → chunk-2VH2JWYN.js} +2 -2
  31. package/dist/{chunk-VXGB766B.js → chunk-2ZVSQPAA.js} +30 -14
  32. package/dist/chunk-2ZVSQPAA.js.map +1 -0
  33. package/dist/{chunk-G4WZDQ32.js → chunk-3NG5OOCX.js} +2 -2
  34. package/dist/{chunk-KG2OOAFF.js → chunk-3NTVCMDD.js} +2 -2
  35. package/dist/{chunk-7OC3Q5X4.js → chunk-3S4R2HA5.js} +2 -2
  36. package/dist/{chunk-RA3C46VX.js → chunk-4RWPQZYD.js} +2 -2
  37. package/dist/{chunk-B5GMOOY2.js → chunk-5AABWM72.js} +3 -3
  38. package/dist/{chunk-KRPMISWO.js → chunk-5C765XYU.js} +2 -2
  39. package/dist/{chunk-24TJ77TT.js → chunk-6YTL3JYX.js} +2 -2
  40. package/dist/{chunk-F4PEETM4.js → chunk-755VRFBS.js} +2 -2
  41. package/dist/{chunk-HNOKNHFO.js → chunk-7L747CFR.js} +2 -2
  42. package/dist/{chunk-WPGR3RW4.js → chunk-7VO6E5UD.js} +2 -2
  43. package/dist/{chunk-LMLPLIT4.js → chunk-AQ6IBVFQ.js} +2 -2
  44. package/dist/{chunk-LVGVXG22.js → chunk-B2JE56NB.js} +2 -2
  45. package/dist/{chunk-L4WBADKG.js → chunk-B5EZWPSM.js} +2 -2
  46. package/dist/{chunk-EIU642TN.js → chunk-BE4GMH45.js} +2 -2
  47. package/dist/{chunk-JTTLH646.js → chunk-C2W6JKQQ.js} +2 -2
  48. package/dist/{chunk-FG5QU7A2.js → chunk-CFCAFAJC.js} +2 -2
  49. package/dist/{chunk-WAR75CRY.js → chunk-CZM4MHZF.js} +34 -29
  50. package/dist/chunk-CZM4MHZF.js.map +1 -0
  51. package/dist/{chunk-LAEW4S43.js → chunk-DDY7LJMP.js} +2 -2
  52. package/dist/{chunk-4EEDRKRT.js → chunk-DT33WNG2.js} +4 -4
  53. package/dist/{chunk-SZAWZPY6.js → chunk-E7SKAUEW.js} +7 -7
  54. package/dist/{chunk-NRVGODSE.js → chunk-EK4MOTHM.js} +6 -6
  55. package/dist/{chunk-QEGKMZNQ.js → chunk-FO5NDQZH.js} +3 -3
  56. package/dist/chunk-G26YNEOC.js +37 -0
  57. package/dist/chunk-G26YNEOC.js.map +1 -0
  58. package/dist/{chunk-GMHWCPLP.js → chunk-GZLSIPYU.js} +2 -2
  59. package/dist/{chunk-ZFUPRODV.js → chunk-HPWJ5B7D.js} +39 -3
  60. package/dist/chunk-HPWJ5B7D.js.map +1 -0
  61. package/dist/{chunk-SEHKTE4F.js → chunk-I4IKTNZP.js} +3 -3
  62. package/dist/{chunk-W65KK3X6.js → chunk-II4TIQCU.js} +2 -2
  63. package/dist/{chunk-FWVDTLRK.js → chunk-IJQEVNEF.js} +1 -1
  64. package/dist/{chunk-KXJ7XYUT.js → chunk-IOUQUXHO.js} +2 -2
  65. package/dist/{chunk-V3JM4XEI.js → chunk-ITLFUILH.js} +2 -2
  66. package/dist/{chunk-W5UAB6EH.js → chunk-IULYVB5X.js} +5 -5
  67. package/dist/{chunk-Z3YQOV45.js → chunk-JLU7WK22.js} +2 -2
  68. package/dist/{chunk-NRTVZSPO.js → chunk-L4HT5QZ5.js} +2 -2
  69. package/dist/{chunk-5QZHDS4X.js → chunk-LI4IWBLN.js} +2 -2
  70. package/dist/{chunk-3MSMBVA3.js → chunk-LQ4OSM5V.js} +3 -3
  71. package/dist/{chunk-2OUSWDY6.js → chunk-M3TMVHQ2.js} +2 -2
  72. package/dist/{chunk-IDRSTHVR.js → chunk-MB3HMRXM.js} +2 -2
  73. package/dist/{chunk-PZEXA6CM.js → chunk-MUGLJAZ3.js} +2 -2
  74. package/dist/{chunk-ZOASYXBS.js → chunk-MY2PLXSM.js} +6 -2
  75. package/dist/chunk-MY2PLXSM.js.map +1 -0
  76. package/dist/{chunk-FEHVG4C4.js → chunk-NYN4ZMPL.js} +2 -2
  77. package/dist/{chunk-ZDZJ2PG4.js → chunk-O7QF3TCV.js} +17 -17
  78. package/dist/{chunk-KV44HTMJ.js → chunk-OBD77TYC.js} +2 -2
  79. package/dist/{chunk-GYNCJSQ7.js → chunk-OCEIHKH5.js} +3 -3
  80. package/dist/{chunk-FTNV5476.js → chunk-PSGRZFBH.js} +10 -10
  81. package/dist/{chunk-FQGY7XB2.js → chunk-S52VKUUW.js} +2 -2
  82. package/dist/{chunk-D7MAYFQP.js → chunk-S7LWX2PQ.js} +2 -2
  83. package/dist/{chunk-TYP7GYRI.js → chunk-SB4ZWVKI.js} +2 -2
  84. package/dist/{chunk-KVO2BTA4.js → chunk-T2YX56QI.js} +2 -2
  85. package/dist/{chunk-G6NQ3L4T.js → chunk-T3FMRLWQ.js} +2 -2
  86. package/dist/{chunk-CDQO5DCD.js → chunk-TO3G56GM.js} +2 -2
  87. package/dist/{chunk-WEQZ5OYK.js → chunk-U6GKPSZH.js} +2 -2
  88. package/dist/{chunk-FM5HN7LL.js → chunk-WQC54W25.js} +9 -17
  89. package/dist/chunk-WQC54W25.js.map +1 -0
  90. package/dist/{chunk-XDH5MO6L.js → chunk-WZ33AIOP.js} +2 -2
  91. package/dist/{chunk-U6HXB2OG.js → chunk-XDIFADVN.js} +2 -2
  92. package/dist/{chunk-SVWYZXIL.js → chunk-XDOXR3U6.js} +2 -2
  93. package/dist/{chunk-VKDWYDFQ.js → chunk-XGLBVYEA.js} +5 -5
  94. package/dist/{chunk-5Y7VCE3A.js → chunk-XJNSOI23.js} +2 -2
  95. package/dist/{chunk-LDP6LBDS.js → chunk-Y3AFTYK4.js} +2 -2
  96. package/dist/{chunk-TPRBJF46.js → chunk-YGJMMMPN.js} +2 -2
  97. package/dist/{chunk-WKNWC46C.js → chunk-YIDBKTZJ.js} +2 -2
  98. package/dist/{chunk-F5ZCNJ3V.js → chunk-ZPPWW576.js} +2 -2
  99. package/dist/{chunk-TQC6ELJO.js → chunk-ZSXSMVW6.js} +2 -2
  100. package/dist/{chunk-6RD7MSIO.js → chunk-ZUT4FK5W.js} +2 -2
  101. package/dist/cli.js +51 -51
  102. package/dist/coding/export-okf-codegraph.js +9 -9
  103. package/dist/compounding/engine.js +10 -10
  104. package/dist/config.js +9 -9
  105. package/dist/connectors/codex-materialize-runner.js +10 -10
  106. package/dist/connectors/index.js +10 -10
  107. package/dist/convergence-refresh.js +12 -12
  108. package/dist/corpus-watermark.js +12 -12
  109. package/dist/entity-retrieval.js +10 -10
  110. package/dist/external-wiki-access.js +25 -25
  111. package/dist/extraction.js +14 -14
  112. package/dist/harmonic-retrieval.js +1 -1
  113. package/dist/index.js +65 -65
  114. package/dist/location/index.js +12 -12
  115. package/dist/maintenance/memory-governance.js +10 -10
  116. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +10 -10
  117. package/dist/maintenance/rebuild-memory-projection.js +11 -11
  118. package/dist/memory-browse-operations.js +25 -25
  119. package/dist/memory-browse.js +5 -5
  120. package/dist/namespaces/migrate.js +11 -11
  121. package/dist/namespaces/search.js +8 -8
  122. package/dist/namespaces/storage.js +10 -10
  123. package/dist/operator-doctor-corpus.js +13 -13
  124. package/dist/operator-toolkit.js +18 -18
  125. package/dist/orchestration/maintenance.js +18 -18
  126. package/dist/orchestration/recall-internal.d.ts.map +1 -1
  127. package/dist/orchestrator.js +65 -65
  128. package/dist/qmd.js +2 -2
  129. package/dist/recall-composition-decision.d.ts +9 -0
  130. package/dist/recall-composition-decision.d.ts.map +1 -1
  131. package/dist/recall-composition-decision.js +2 -1
  132. package/dist/recall-navigation-operations.js +25 -25
  133. package/dist/recall-navigation.js +24 -24
  134. package/dist/recall-state-view-admission.js +5 -5
  135. package/dist/recall-why-service.d.ts.map +1 -1
  136. package/dist/recall-why-service.js +5 -5
  137. package/dist/resume-bundles.js +9 -9
  138. package/dist/search/factory.js +7 -7
  139. package/dist/search/index.js +7 -7
  140. package/dist/search/lancedb-backend.js +2 -2
  141. package/dist/search/meilisearch-backend.js +2 -2
  142. package/dist/search/orama-backend.js +2 -2
  143. package/dist/search/port.d.ts +9 -0
  144. package/dist/search/port.d.ts.map +1 -1
  145. package/dist/search/port.js +7 -1
  146. package/dist/search/remote-backend.js +2 -2
  147. package/dist/semantic-consolidation.js +11 -11
  148. package/dist/semantic-rule-promotion.js +10 -10
  149. package/dist/semantic-rule-verifier.js +10 -10
  150. package/dist/source-agent-qualifier.js +13 -13
  151. package/dist/standup/build.js +10 -10
  152. package/dist/storage.js +9 -9
  153. package/dist/support-passport/index.js +27 -27
  154. package/dist/transfer/export-okf.js +10 -10
  155. package/dist/verified-recall.js +10 -10
  156. package/dist/who-knows-cli.js +11 -11
  157. package/dist/who-knows.js +10 -10
  158. package/package.json +2 -2
  159. package/src/access-mcp-output-schemas.ts +4 -0
  160. package/src/access-recall-response.ts +26 -1
  161. package/src/access-service.ts +1 -0
  162. package/src/orchestration/recall-internal.ts +8 -5
  163. package/src/recall-composition-decision.test.ts +75 -0
  164. package/src/recall-composition-decision.ts +52 -3
  165. package/src/recall-retrieval-failure.test.ts +245 -0
  166. package/src/recall-why-service.ts +8 -24
  167. package/src/search/port.ts +32 -0
  168. package/dist/chunk-FM5HN7LL.js.map +0 -1
  169. package/dist/chunk-U2VDCFXW.js +0 -19
  170. package/dist/chunk-U2VDCFXW.js.map +0 -1
  171. package/dist/chunk-VXGB766B.js.map +0 -1
  172. package/dist/chunk-WAR75CRY.js.map +0 -1
  173. package/dist/chunk-ZFUPRODV.js.map +0 -1
  174. package/dist/chunk-ZOASYXBS.js.map +0 -1
  175. /package/dist/{chunk-52VL6LCY.js.map → chunk-2VH2JWYN.js.map} +0 -0
  176. /package/dist/{chunk-G4WZDQ32.js.map → chunk-3NG5OOCX.js.map} +0 -0
  177. /package/dist/{chunk-KG2OOAFF.js.map → chunk-3NTVCMDD.js.map} +0 -0
  178. /package/dist/{chunk-7OC3Q5X4.js.map → chunk-3S4R2HA5.js.map} +0 -0
  179. /package/dist/{chunk-RA3C46VX.js.map → chunk-4RWPQZYD.js.map} +0 -0
  180. /package/dist/{chunk-B5GMOOY2.js.map → chunk-5AABWM72.js.map} +0 -0
  181. /package/dist/{chunk-KRPMISWO.js.map → chunk-5C765XYU.js.map} +0 -0
  182. /package/dist/{chunk-24TJ77TT.js.map → chunk-6YTL3JYX.js.map} +0 -0
  183. /package/dist/{chunk-F4PEETM4.js.map → chunk-755VRFBS.js.map} +0 -0
  184. /package/dist/{chunk-HNOKNHFO.js.map → chunk-7L747CFR.js.map} +0 -0
  185. /package/dist/{chunk-WPGR3RW4.js.map → chunk-7VO6E5UD.js.map} +0 -0
  186. /package/dist/{chunk-LMLPLIT4.js.map → chunk-AQ6IBVFQ.js.map} +0 -0
  187. /package/dist/{chunk-LVGVXG22.js.map → chunk-B2JE56NB.js.map} +0 -0
  188. /package/dist/{chunk-L4WBADKG.js.map → chunk-B5EZWPSM.js.map} +0 -0
  189. /package/dist/{chunk-EIU642TN.js.map → chunk-BE4GMH45.js.map} +0 -0
  190. /package/dist/{chunk-JTTLH646.js.map → chunk-C2W6JKQQ.js.map} +0 -0
  191. /package/dist/{chunk-FG5QU7A2.js.map → chunk-CFCAFAJC.js.map} +0 -0
  192. /package/dist/{chunk-LAEW4S43.js.map → chunk-DDY7LJMP.js.map} +0 -0
  193. /package/dist/{chunk-4EEDRKRT.js.map → chunk-DT33WNG2.js.map} +0 -0
  194. /package/dist/{chunk-SZAWZPY6.js.map → chunk-E7SKAUEW.js.map} +0 -0
  195. /package/dist/{chunk-NRVGODSE.js.map → chunk-EK4MOTHM.js.map} +0 -0
  196. /package/dist/{chunk-QEGKMZNQ.js.map → chunk-FO5NDQZH.js.map} +0 -0
  197. /package/dist/{chunk-GMHWCPLP.js.map → chunk-GZLSIPYU.js.map} +0 -0
  198. /package/dist/{chunk-SEHKTE4F.js.map → chunk-I4IKTNZP.js.map} +0 -0
  199. /package/dist/{chunk-W65KK3X6.js.map → chunk-II4TIQCU.js.map} +0 -0
  200. /package/dist/{chunk-FWVDTLRK.js.map → chunk-IJQEVNEF.js.map} +0 -0
  201. /package/dist/{chunk-KXJ7XYUT.js.map → chunk-IOUQUXHO.js.map} +0 -0
  202. /package/dist/{chunk-V3JM4XEI.js.map → chunk-ITLFUILH.js.map} +0 -0
  203. /package/dist/{chunk-W5UAB6EH.js.map → chunk-IULYVB5X.js.map} +0 -0
  204. /package/dist/{chunk-Z3YQOV45.js.map → chunk-JLU7WK22.js.map} +0 -0
  205. /package/dist/{chunk-NRTVZSPO.js.map → chunk-L4HT5QZ5.js.map} +0 -0
  206. /package/dist/{chunk-5QZHDS4X.js.map → chunk-LI4IWBLN.js.map} +0 -0
  207. /package/dist/{chunk-3MSMBVA3.js.map → chunk-LQ4OSM5V.js.map} +0 -0
  208. /package/dist/{chunk-2OUSWDY6.js.map → chunk-M3TMVHQ2.js.map} +0 -0
  209. /package/dist/{chunk-IDRSTHVR.js.map → chunk-MB3HMRXM.js.map} +0 -0
  210. /package/dist/{chunk-PZEXA6CM.js.map → chunk-MUGLJAZ3.js.map} +0 -0
  211. /package/dist/{chunk-FEHVG4C4.js.map → chunk-NYN4ZMPL.js.map} +0 -0
  212. /package/dist/{chunk-ZDZJ2PG4.js.map → chunk-O7QF3TCV.js.map} +0 -0
  213. /package/dist/{chunk-KV44HTMJ.js.map → chunk-OBD77TYC.js.map} +0 -0
  214. /package/dist/{chunk-GYNCJSQ7.js.map → chunk-OCEIHKH5.js.map} +0 -0
  215. /package/dist/{chunk-FTNV5476.js.map → chunk-PSGRZFBH.js.map} +0 -0
  216. /package/dist/{chunk-FQGY7XB2.js.map → chunk-S52VKUUW.js.map} +0 -0
  217. /package/dist/{chunk-D7MAYFQP.js.map → chunk-S7LWX2PQ.js.map} +0 -0
  218. /package/dist/{chunk-TYP7GYRI.js.map → chunk-SB4ZWVKI.js.map} +0 -0
  219. /package/dist/{chunk-KVO2BTA4.js.map → chunk-T2YX56QI.js.map} +0 -0
  220. /package/dist/{chunk-G6NQ3L4T.js.map → chunk-T3FMRLWQ.js.map} +0 -0
  221. /package/dist/{chunk-CDQO5DCD.js.map → chunk-TO3G56GM.js.map} +0 -0
  222. /package/dist/{chunk-WEQZ5OYK.js.map → chunk-U6GKPSZH.js.map} +0 -0
  223. /package/dist/{chunk-XDH5MO6L.js.map → chunk-WZ33AIOP.js.map} +0 -0
  224. /package/dist/{chunk-U6HXB2OG.js.map → chunk-XDIFADVN.js.map} +0 -0
  225. /package/dist/{chunk-SVWYZXIL.js.map → chunk-XDOXR3U6.js.map} +0 -0
  226. /package/dist/{chunk-VKDWYDFQ.js.map → chunk-XGLBVYEA.js.map} +0 -0
  227. /package/dist/{chunk-5Y7VCE3A.js.map → chunk-XJNSOI23.js.map} +0 -0
  228. /package/dist/{chunk-LDP6LBDS.js.map → chunk-Y3AFTYK4.js.map} +0 -0
  229. /package/dist/{chunk-TPRBJF46.js.map → chunk-YGJMMMPN.js.map} +0 -0
  230. /package/dist/{chunk-WKNWC46C.js.map → chunk-YIDBKTZJ.js.map} +0 -0
  231. /package/dist/{chunk-F5ZCNJ3V.js.map → chunk-ZPPWW576.js.map} +0 -0
  232. /package/dist/{chunk-TQC6ELJO.js.map → chunk-ZSXSMVW6.js.map} +0 -0
  233. /package/dist/{chunk-6RD7MSIO.js.map → chunk-ZUT4FK5W.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/access-mcp-output-schemas.ts"],"sourcesContent":["/**\n * Output-schema registry for MCP tools — extracted from access-mcp.ts to\n * keep that file under the 3000-LOC structural ratchet.\n *\n * Contains the per-suffix JSON-Schema declarations (derived from\n * production TS return contracts) and the application helper that\n * assigns schemas to tool objects.\n */\n\nconst T_STRING = { type: \"string\" } as const;\nconst T_NUMBER = { type: \"number\" } as const;\nconst T_BOOLEAN = { type: \"boolean\" } as const;\nconst T_ARRAY = { type: \"array\" } as const;\nconst T_OBJECT = { type: \"object\" } as const;\nconst T_NULLABLE_OBJECT = { type: [\"object\", \"null\"] } as const;\nconst T_NULLABLE_STRING = { type: [\"string\", \"null\"] } as const;\n\n/** Build a JSON Schema object type with the given properties. */\nfunction objectSchema(\n properties: Record<string, Readonly<Record<string, unknown>>>,\n required?: readonly string[]\n): Record<string, unknown> {\n return {\n type: \"object\",\n properties,\n ...(required && required.length > 0 ? { required } : {}),\n additionalProperties: true,\n };\n}\n\n/** RecallNavigationResult-shaped schema — shared by memory_expand/memory_traverse. */\nfunction navigationResultSchema(): Record<string, unknown> {\n return objectSchema(\n {\n ok: T_BOOLEAN,\n action: T_STRING,\n memoryId: T_STRING,\n namespace: T_STRING,\n items: T_ARRAY,\n truncated: T_BOOLEAN,\n budget: objectSchema({ chars: T_NUMBER, used: T_NUMBER }),\n disclosureSpend: objectSchema({\n chunk: objectSchema({ count: T_NUMBER, estimatedTokens: T_NUMBER }),\n section: objectSchema({ count: T_NUMBER, estimatedTokens: T_NUMBER }),\n raw: objectSchema({ count: T_NUMBER, estimatedTokens: T_NUMBER }),\n unspecified: objectSchema({ count: T_NUMBER, estimatedTokens: T_NUMBER }),\n }),\n error: T_NULLABLE_STRING,\n message: T_NULLABLE_STRING,\n rendered: T_STRING,\n },\n [\"ok\", \"action\", \"rendered\"]\n );\n}\n\n/** MemoryStoreBrowseResult-shaped schema — shared by memory_ls/tree/find. */\nfunction browseResultSchema(): Record<string, unknown> {\n return objectSchema(\n {\n ok: T_BOOLEAN,\n verb: T_STRING,\n namespace: T_STRING,\n path: T_STRING,\n total: T_NUMBER,\n entries: T_ARRAY,\n truncated: T_BOOLEAN,\n rendered: T_STRING,\n error: T_NULLABLE_STRING,\n message: T_NULLABLE_STRING,\n },\n [\"ok\", \"verb\", \"rendered\"],\n );\n}\n\n/**\n * Per-suffix outputSchema registry. Tools not present here fall back to\n * `{ type: \"object\", additionalProperties: true }` in the constructor pass.\n * The `chatgpt_memory_inspector` tool ships its own precise schema and is\n * intentionally absent — the apply pass skips tools that already have one.\n */\nconst TOOL_OUTPUT_SCHEMAS: Readonly<Record<string, Record<string, unknown>>> = {\n recall: objectSchema({\n query: T_STRING,\n namespace: T_STRING,\n context: T_STRING,\n contextComposition: objectSchema({\n context: T_STRING,\n footer: T_STRING,\n degradation: objectSchema({\n state: T_STRING,\n reason: T_STRING,\n detail: T_STRING,\n budget: objectSchema({\n contextBudget: T_NUMBER,\n fullChars: T_NUMBER,\n deliveredChars: T_NUMBER,\n }),\n }),\n }),\n count: T_NUMBER,\n memoryIds: T_ARRAY,\n results: T_ARRAY,\n fallbackUsed: T_BOOLEAN,\n sourcesUsed: T_ARRAY,\n retrievalFailure: objectSchema({\n reason: T_STRING,\n detail: T_STRING,\n }),\n }),\n recall_explain: objectSchema({\n found: T_BOOLEAN,\n snapshot: T_OBJECT,\n intent: T_NULLABLE_OBJECT,\n graph: T_NULLABLE_OBJECT,\n }),\n recall_tier_explain: objectSchema({ snapshotFound: T_BOOLEAN, tierExplain: T_NULLABLE_OBJECT }),\n recall_xray: objectSchema({ snapshotFound: T_BOOLEAN, snapshot: T_OBJECT }),\n recall_why: objectSchema({ reportFound: T_BOOLEAN, report: T_OBJECT, summary: T_STRING }),\n who_knows: objectSchema({ topic: T_STRING, results: T_ARRAY }),\n promotion_candidates: objectSchema({ namespace: T_STRING, targetNamespace: T_STRING, candidates: T_ARRAY }),\n set_coding_context: objectSchema({ ok: T_BOOLEAN }),\n wearables_status: objectSchema({\n enabled: T_BOOLEAN,\n timezone: T_STRING,\n sources: T_ARRAY,\n connectorsInstalled: T_ARRAY,\n }),\n wearables_sync: objectSchema({ summaries: T_ARRAY }, [\"summaries\"]),\n transcript_day: objectSchema({ transcripts: T_ARRAY }, [\"transcripts\"]),\n transcript_search: objectSchema({ results: T_ARRAY }, [\"results\"]),\n transcript_memories: objectSchema({ memories: T_ARRAY }, [\"memories\"]),\n location_status: objectSchema({ enabled: T_BOOLEAN, timezone: T_STRING, sources: T_ARRAY, recentDays: T_ARRAY }),\n location_check: objectSchema({ results: T_ARRAY }, [\"results\"]),\n location_sync: objectSchema({ days: T_ARRAY }, [\"days\"]),\n location_backfill: objectSchema({ days: T_ARRAY }, [\"days\"]),\n location_day: objectSchema({ date: T_STRING, found: T_BOOLEAN, sources: T_ARRAY, observationCount: T_NUMBER }),\n meetings_list: objectSchema({ enabled: T_BOOLEAN, days: T_ARRAY }),\n meetings_get: objectSchema({ enabled: T_BOOLEAN, found: T_BOOLEAN, id: T_STRING, record: T_NULLABLE_STRING }),\n meetings_build: objectSchema({\n date: T_STRING,\n enabled: T_BOOLEAN,\n meetings: T_ARRAY,\n built: T_NUMBER,\n skipped: T_NUMBER,\n removed: T_ARRAY,\n }),\n deep_recall: objectSchema(\n { ok: T_BOOLEAN, error: T_NULLABLE_STRING, entries: T_ARRAY, trace: T_ARRAY, rendered: T_STRING },\n [\"entries\", \"trace\"]\n ),\n // RecallNavigationResult union (recall-navigation.ts): success carries\n // items/budget/disclosureSpend; error carries error/message. ok/action/\n // rendered are the fields every variant returns.\n memory_expand: navigationResultSchema(),\n memory_traverse: navigationResultSchema(),\n // MemoryStoreBrowseResult union (memory-browse.ts): success carries\n // entries/total/truncated; typed refusals carry error/message. ok/verb/\n // rendered are the fields every variant returns.\n memory_ls: browseResultSchema(),\n memory_tree: browseResultSchema(),\n memory_find: browseResultSchema(),\n standup: objectSchema({\n date: T_STRING,\n yesterday: T_STRING,\n today: T_STRING,\n highlights: T_ARRAY,\n priorities: T_ARRAY,\n blockers: T_ARRAY,\n activityGrid: T_STRING,\n markdown: T_STRING,\n }),\n action_confidence: objectSchema({\n schemaVersion: T_NUMBER,\n decision: T_STRING,\n confidence: T_NUMBER,\n risk: T_STRING,\n contextReadiness: T_STRING,\n intendedAction: T_STRING,\n attentionPolicy: T_STRING,\n principle: T_STRING,\n reasons: T_ARRAY,\n blockers: T_ARRAY,\n factors: T_ARRAY,\n retrievedMemoryCount: T_NUMBER,\n scopeMismatchCount: T_NUMBER,\n safeToAct: T_BOOLEAN,\n }),\n day_summary: objectSchema({\n summary: T_STRING,\n bullets: T_ARRAY,\n next_actions: T_ARRAY,\n risks_or_open_loops: T_ARRAY,\n }),\n capsule_export: objectSchema({\n archivePath: T_STRING,\n manifestPath: T_STRING,\n encryptedArchivePath: T_NULLABLE_STRING,\n manifest: T_OBJECT,\n }),\n capsule_import: objectSchema({ imported: T_ARRAY, skipped: T_ARRAY, manifest: T_OBJECT }),\n capsule_list: objectSchema({ namespace: T_STRING, capsulesDir: T_STRING, capsules: T_ARRAY }),\n entity_synthesis_run: objectSchema({\n namespace: T_STRING,\n requested: T_NUMBER,\n processed: T_NUMBER,\n remaining: T_NUMBER,\n }),\n memory_governance_run: objectSchema({\n namespace: T_STRING,\n runId: T_STRING,\n traceId: T_STRING,\n mode: T_STRING,\n reviewQueueCount: T_NUMBER,\n proposedActionCount: T_NUMBER,\n appliedActionCount: T_NUMBER,\n summaryPath: T_STRING,\n reportPath: T_STRING,\n }),\n procedure_mining_run: objectSchema({ namespace: T_STRING, clustersProcessed: T_NUMBER, proceduresWritten: T_NUMBER }),\n pattern_reinforcement_run: objectSchema({\n namespace: T_STRING,\n ran: T_BOOLEAN,\n clustersFound: T_NUMBER,\n canonicalsUpdated: T_NUMBER,\n duplicatesSuperseded: T_NUMBER,\n }),\n procedural_stats: objectSchema({ namespace: T_STRING, counts: T_OBJECT, recent: T_OBJECT }),\n procedure_library_maintenance: objectSchema({\n enabled: T_BOOLEAN,\n namespace: T_STRING,\n report: T_OBJECT,\n }),\n memory_get: objectSchema({ found: T_BOOLEAN, namespace: T_STRING, memory: T_NULLABLE_OBJECT }),\n memory_timeline: objectSchema({ found: T_BOOLEAN, namespace: T_STRING, count: T_NUMBER, timeline: T_ARRAY }),\n memory_store: objectSchema({\n schemaVersion: T_NUMBER,\n operation: T_STRING,\n namespace: T_STRING,\n dryRun: T_BOOLEAN,\n accepted: T_BOOLEAN,\n queued: T_BOOLEAN,\n status: T_STRING,\n memoryId: T_STRING,\n }),\n suggestion_submit: objectSchema({\n schemaVersion: T_NUMBER,\n operation: T_STRING,\n namespace: T_STRING,\n dryRun: T_BOOLEAN,\n accepted: T_BOOLEAN,\n queued: T_BOOLEAN,\n status: T_STRING,\n memoryId: T_STRING,\n }),\n entity_get: objectSchema({ found: T_BOOLEAN, namespace: T_STRING, entity: T_NULLABLE_OBJECT }),\n review_queue_list: objectSchema({ found: T_BOOLEAN, runId: T_STRING, reviewQueue: T_ARRAY }),\n observe: objectSchema({\n accepted: T_NUMBER,\n sessionKey: T_STRING,\n namespace: T_STRING,\n effectiveNamespace: T_STRING,\n lcmArchived: T_BOOLEAN,\n extractionQueued: T_BOOLEAN,\n transcriptPersisted: T_BOOLEAN,\n }),\n lcm_search: objectSchema({\n query: T_STRING,\n namespace: T_STRING,\n results: T_ARRAY,\n count: T_NUMBER,\n lcmEnabled: T_BOOLEAN,\n }),\n lcm_compaction_flush: objectSchema({\n enabled: T_BOOLEAN,\n flushed: T_BOOLEAN,\n sessionKey: T_STRING,\n namespace: T_STRING,\n }),\n extraction_force_flush: objectSchema({\n flushed: T_BOOLEAN,\n sessionKey: T_STRING,\n namespace: T_STRING,\n effectiveNamespace: T_STRING,\n }),\n lcm_compaction_record: objectSchema({\n enabled: T_BOOLEAN,\n recorded: T_BOOLEAN,\n sessionKey: T_STRING,\n namespace: T_STRING,\n }),\n continuity_audit_generate: objectSchema({ enabled: T_BOOLEAN, period: T_STRING, reportPath: T_STRING }),\n continuity_incident_open: objectSchema({ created: T_BOOLEAN, incident: T_NULLABLE_OBJECT }),\n continuity_incident_close: objectSchema({ closed: T_BOOLEAN, incident: T_NULLABLE_OBJECT }),\n continuity_incident_list: objectSchema({ incidents: T_ARRAY }),\n continuity_loop_add_or_update: objectSchema({ saved: T_BOOLEAN, loop: T_NULLABLE_OBJECT }),\n continuity_loop_review: objectSchema({ reviewed: T_BOOLEAN, loop: T_NULLABLE_OBJECT }),\n identity_anchor_get: objectSchema({ found: T_BOOLEAN, anchor: T_NULLABLE_STRING }),\n identity_anchor_update: objectSchema({ updated: T_BOOLEAN, sections: T_ARRAY }),\n memory_identity: objectSchema({ found: T_BOOLEAN, identity: T_NULLABLE_STRING, message: T_STRING }),\n work_task: objectSchema({\n action: T_STRING,\n task: T_NULLABLE_OBJECT,\n tasks: T_ARRAY,\n count: T_NUMBER,\n deleted: T_BOOLEAN,\n }),\n work_project: objectSchema({\n action: T_STRING,\n project: T_NULLABLE_OBJECT,\n projects: T_ARRAY,\n count: T_NUMBER,\n deleted: T_BOOLEAN,\n }),\n work_board: objectSchema({ action: T_STRING, markdown: T_STRING, snapshot: T_OBJECT, result: T_OBJECT }),\n shared_context_write_output: objectSchema({ written: T_BOOLEAN, path: T_STRING }),\n shared_feedback_record: objectSchema({ recorded: T_BOOLEAN }),\n shared_priorities_append: objectSchema({ appended: T_BOOLEAN }),\n shared_context_cross_signals_run: objectSchema({\n crossSignalsMarkdownPath: T_STRING,\n crossSignalsPath: T_STRING,\n sourceCount: T_NUMBER,\n feedbackCount: T_NUMBER,\n overlapCount: T_NUMBER,\n }),\n shared_context_curate_daily: objectSchema({\n roundtablePath: T_STRING,\n crossSignalsMarkdownPath: T_STRING,\n crossSignalsPath: T_STRING,\n overlapCount: T_NUMBER,\n }),\n compounding_weekly_synthesize: objectSchema({\n weekId: T_STRING,\n reportPath: T_STRING,\n reportJsonPath: T_STRING,\n rubricsPath: T_STRING,\n rubricsIndexPath: T_STRING,\n mistakesCount: T_NUMBER,\n promotionCandidateCount: T_NUMBER,\n }),\n compounding_promote_candidate: objectSchema({\n enabled: T_BOOLEAN,\n dryRun: T_BOOLEAN,\n weekId: T_STRING,\n promoted: T_ARRAY,\n skipped: T_ARRAY,\n tombstoneBlocked: T_ARRAY,\n }),\n compression_guidelines_optimize: objectSchema({\n enabled: T_BOOLEAN,\n dryRun: T_BOOLEAN,\n eventCount: T_NUMBER,\n nextGuidelineVersion: T_NUMBER,\n changedRules: T_NUMBER,\n semanticRefinementApplied: T_BOOLEAN,\n persisted: T_BOOLEAN,\n }),\n compression_guidelines_activate: objectSchema({\n enabled: T_BOOLEAN,\n activated: T_BOOLEAN,\n guidelineVersion: { type: [\"number\", \"null\"] } as const,\n }),\n memory_search: objectSchema({ query: T_STRING, results: T_ARRAY, count: T_NUMBER }),\n external_wiki_search: objectSchema(\n {\n query: T_STRING,\n hits: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n wikiId: T_STRING,\n title: T_STRING,\n path: T_STRING,\n snippet: T_STRING,\n score: T_NUMBER,\n rank: T_NUMBER,\n citations: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n path: T_STRING,\n lineStart: T_NUMBER,\n lineEnd: T_NUMBER,\n note: T_STRING,\n },\n required: [\"path\", \"lineStart\", \"lineEnd\", \"note\"],\n additionalProperties: false,\n },\n },\n indexBlurb: T_STRING,\n },\n required: [\"wikiId\", \"title\", \"path\", \"snippet\", \"score\", \"rank\", \"citations\"],\n additionalProperties: false,\n },\n },\n count: T_NUMBER,\n degradedWikiIds: T_ARRAY,\n },\n [\"query\", \"hits\", \"count\", \"degradedWikiIds\"]\n ),\n memory_profile: objectSchema({ profile: T_STRING }),\n memory_entities_list: objectSchema({ entities: T_ARRAY, count: T_NUMBER }),\n memory_questions: objectSchema({ questions: T_ARRAY, count: T_NUMBER }),\n memory_last_recall: objectSchema({\n sessionKey: T_STRING,\n recordedAt: T_STRING,\n queryHash: T_STRING,\n queryLen: T_NUMBER,\n memoryIds: T_ARRAY,\n namespace: T_STRING,\n recallNamespaces: T_ARRAY,\n plannerMode: T_STRING,\n requestedMode: T_STRING,\n source: T_STRING,\n fallbackUsed: T_BOOLEAN,\n sourcesUsed: T_ARRAY,\n latencyMs: T_NUMBER,\n includedMemories: T_ARRAY,\n message: T_NULLABLE_STRING,\n }),\n memory_intent_debug: objectSchema({\n recordedAt: T_STRING,\n promptHash: T_STRING,\n promptLength: T_NUMBER,\n retrievalQueryHash: T_STRING,\n retrievalQueryLength: T_NUMBER,\n plannerEnabled: T_BOOLEAN,\n plannedMode: T_STRING,\n effectiveMode: T_STRING,\n recallResultLimit: T_NUMBER,\n queryIntent: T_OBJECT,\n graphExpandedIntentDetected: T_BOOLEAN,\n graphDecision: T_OBJECT,\n message: T_NULLABLE_STRING,\n }),\n memory_qmd_debug: objectSchema({\n recordedAt: T_STRING,\n queryHash: T_STRING,\n queryLength: T_NUMBER,\n collection: T_STRING,\n namespaces: T_ARRAY,\n fetchLimit: T_NUMBER,\n primaryResultCount: T_NUMBER,\n hybridResultCount: T_NUMBER,\n queryAwareSeedCount: T_NUMBER,\n resultCount: T_NUMBER,\n intentHint: T_STRING,\n explainEnabled: T_BOOLEAN,\n hybridTopUpUsed: T_BOOLEAN,\n hybridTopUpSkippedReason: T_STRING,\n results: T_ARRAY,\n message: T_NULLABLE_STRING,\n }),\n memory_graph_explain: objectSchema({ explanation: T_STRING }),\n graph_snapshot: objectSchema({ nodes: T_ARRAY, edges: T_ARRAY }),\n memory_feedback: objectSchema({ recorded: T_BOOLEAN, enabled: T_BOOLEAN }),\n memory_promote: objectSchema({ promoted: T_BOOLEAN, memoryId: T_STRING }),\n memory_outcome: objectSchema({\n ok: T_BOOLEAN,\n memoryId: T_STRING,\n mw_success: T_NUMBER,\n mw_fail: T_NUMBER,\n reason: T_STRING,\n message: T_STRING,\n }),\n memory_action_apply: objectSchema({ recorded: T_BOOLEAN, event: T_OBJECT }),\n context_checkpoint: objectSchema({ saved: T_BOOLEAN }),\n briefing: objectSchema({\n markdown: T_STRING,\n json: T_OBJECT,\n window: T_OBJECT,\n format: T_STRING,\n namespace: T_STRING,\n }),\n review_list: objectSchema({ pairs: T_ARRAY, total: T_NUMBER, durationMs: T_NUMBER }),\n review_resolve: objectSchema({ pairId: T_STRING, verb: T_STRING, affectedIds: T_ARRAY, message: T_STRING }),\n contradiction_scan_run: objectSchema({\n scanned: T_NUMBER,\n candidates: T_NUMBER,\n judged: T_NUMBER,\n queued: T_NUMBER,\n cooledDown: T_NUMBER,\n elapsedMs: T_NUMBER,\n }),\n preference_drift_scan: objectSchema({\n schemaVersion: T_NUMBER,\n generatedAt: T_STRING,\n mode: T_STRING,\n namespace: T_STRING,\n scanned: T_NUMBER,\n eligible: T_NUMBER,\n findings: T_ARRAY,\n counts: T_OBJECT,\n appliedCount: T_NUMBER,\n reviewItemsOpened: T_NUMBER,\n elapsedMs: T_NUMBER,\n skippedReason: T_STRING,\n }),\n memory_summarize_hourly: objectSchema({\n ok: T_BOOLEAN,\n message: T_STRING,\n sessionsConsidered: T_NUMBER,\n sessionsWithEntries: T_NUMBER,\n summariesWritten: T_NUMBER,\n staleStore: T_BOOLEAN,\n newestEntryTimestamp: T_NULLABLE_STRING,\n scanFailed: T_BOOLEAN,\n warning: T_STRING,\n }),\n conversation_index_update: objectSchema({\n enabled: T_BOOLEAN,\n sessions: T_NUMBER,\n chunks: T_NUMBER,\n skipped: T_NUMBER,\n embeddedRuns: T_NUMBER,\n }),\n profiling_report: objectSchema({\n enabled: T_BOOLEAN,\n format: T_STRING,\n traces: T_ARRAY,\n stats: T_OBJECT,\n bottleneck: T_NULLABLE_STRING,\n }),\n graph_edge_decay_run: objectSchema({ ranAt: T_STRING, disabled: T_BOOLEAN, reason: T_STRING, results: T_ARRAY }),\n live_connectors_run: objectSchema({\n ranAt: T_STRING,\n force: T_BOOLEAN,\n totalDocsImported: T_NUMBER,\n ranCount: T_NUMBER,\n skippedCount: T_NUMBER,\n errorCount: T_NUMBER,\n results: T_ARRAY,\n }),\n peer_list: objectSchema({ peers: T_ARRAY }),\n peer_get: objectSchema({ found: T_BOOLEAN, peer: T_NULLABLE_OBJECT }),\n peer_set: objectSchema({ ok: T_BOOLEAN, created: T_BOOLEAN, peer: T_OBJECT }),\n peer_delete: objectSchema({ ok: T_BOOLEAN, deleted: T_BOOLEAN }),\n peer_profile_get: objectSchema({\n found: T_BOOLEAN,\n profile: {\n type: \"object\",\n properties: {\n peerId: T_STRING,\n updatedAt: T_STRING,\n fields: { type: \"object\", additionalProperties: T_STRING },\n provenance: {\n type: \"object\",\n additionalProperties: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n observedAt: T_STRING,\n signal: T_STRING,\n sourceSessionId: T_STRING,\n note: T_STRING,\n },\n required: [\"observedAt\", \"signal\"],\n additionalProperties: true,\n },\n },\n },\n },\n required: [\"peerId\", \"updatedAt\", \"fields\", \"provenance\"],\n additionalProperties: true,\n },\n }),\n peer_forget: objectSchema({ ok: T_BOOLEAN, purged: T_BOOLEAN }),\n console_state: objectSchema({\n capturedAt: T_STRING,\n bufferState: T_OBJECT,\n extractionQueue: T_OBJECT,\n dedupRecent: T_ARRAY,\n maintenanceLedgerTail: T_ARRAY,\n qmdProbe: T_OBJECT,\n daemon: T_OBJECT,\n errors: T_ARRAY,\n }),\n dreams_status: objectSchema({ phases: T_OBJECT, windowStart: T_STRING, windowEnd: T_STRING }),\n dreams_run: objectSchema({ phase: T_STRING, durationMs: T_NUMBER, itemsProcessed: T_NUMBER }),\n coding_decision: objectSchema({\n subcommand: T_STRING,\n records: T_ARRAY,\n count: T_NUMBER,\n found: T_BOOLEAN,\n memoryId: T_STRING,\n status: T_STRING,\n supersededMemoryId: T_STRING,\n replacementMemoryId: T_STRING,\n }),\n coding_architecture: objectSchema({\n subcommand: T_STRING,\n found: T_BOOLEAN,\n refreshed: T_BOOLEAN,\n memoryId: T_STRING,\n }),\n coding_delta: objectSchema({\n subcommand: T_STRING,\n ok: T_BOOLEAN,\n kind: T_STRING,\n delta: T_OBJECT,\n nextState: T_OBJECT,\n }),\n memory_correct_plan: objectSchema({\n planId: T_STRING,\n namespace: T_STRING,\n diff: T_STRING,\n actions: T_ARRAY,\n confidence: T_NUMBER,\n }),\n memory_correct_apply: objectSchema({\n planId: T_STRING,\n status: T_STRING,\n results: T_ARRAY,\n auditMemoryId: T_STRING,\n appliedAt: T_STRING,\n }),\n memory_chat: objectSchema({\n reply: T_STRING,\n chatSessionId: T_STRING,\n pendingPlan: {\n type: \"object\",\n properties: { planId: T_STRING, preview: T_STRING },\n required: [\"planId\", \"preview\"],\n additionalProperties: true,\n },\n skippedTools: { type: \"array\", items: T_STRING },\n }),\n codegraph_index: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_list_projects: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_delete_project: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_index_status: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_search_graph: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_trace_path: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_detect_changes: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_query_graph: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_get_schema: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_get_snippet: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_get_architecture: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_search_code: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_manage_adr: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_ingest_traces: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n};\n\n/**\n * Apply outputSchema from the registry to every tool that lacks one.\n * Suffix resolution strips the canonical or legacy prefix so both\n * `remnic_*` and `engram.*` aliases inherit the same schema.\n * Tools that already have an explicit outputSchema are skipped.\n */\nexport function applyToolOutputSchemas<T extends { name: string; outputSchema?: unknown }>(\n tools: ReadonlyArray<T>,\n canonicalPrefix: string,\n legacyPrefix: string\n): T[] {\n return tools.map((tool) => {\n if (tool.outputSchema) return tool;\n const name = tool.name as string;\n const suffix = name.startsWith(canonicalPrefix)\n ? name.slice(canonicalPrefix.length)\n : name.startsWith(legacyPrefix)\n ? name.slice(legacyPrefix.length)\n : name;\n return { ...tool, outputSchema: TOOL_OUTPUT_SCHEMAS[suffix] ?? { type: \"object\", additionalProperties: true } };\n });\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getOperation
3
- } from "./chunk-VXGB766B.js";
3
+ } from "./chunk-2ZVSQPAA.js";
4
4
  import {
5
5
  EngramAccessInputError
6
6
  } from "./chunk-3MUKQQ7A.js";
@@ -21,4 +21,4 @@ async function respondBriefingHttp(options) {
21
21
  export {
22
22
  respondBriefingHttp
23
23
  };
24
- //# sourceMappingURL=chunk-FEHVG4C4.js.map
24
+ //# sourceMappingURL=chunk-NYN4ZMPL.js.map
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  exportOkfBundle,
12
12
  parseIncludeStatus
13
- } from "./chunk-XDH5MO6L.js";
13
+ } from "./chunk-WZ33AIOP.js";
14
14
  import {
15
15
  exportSqlite
16
16
  } from "./chunk-BV2TIZ4F.js";
@@ -64,7 +64,7 @@ import {
64
64
  } from "./chunk-IIFFC3RL.js";
65
65
  import {
66
66
  rebuildMemoryLifecycleLedger
67
- } from "./chunk-W65KK3X6.js";
67
+ } from "./chunk-II4TIQCU.js";
68
68
  import {
69
69
  lintOkfDir
70
70
  } from "./chunk-UJX4I26O.js";
@@ -87,16 +87,16 @@ import {
87
87
  } from "./chunk-EBA5DA77.js";
88
88
  import {
89
89
  searchVerifiedEpisodes
90
- } from "./chunk-NRTVZSPO.js";
90
+ } from "./chunk-L4HT5QZ5.js";
91
91
  import {
92
92
  ThreadingManager
93
93
  } from "./chunk-OJP3N7UK.js";
94
94
  import {
95
95
  promoteSemanticRuleFromMemory
96
- } from "./chunk-5Y7VCE3A.js";
96
+ } from "./chunk-XJNSOI23.js";
97
97
  import {
98
98
  searchVerifiedSemanticRules
99
- } from "./chunk-KXJ7XYUT.js";
99
+ } from "./chunk-IOUQUXHO.js";
100
100
  import {
101
101
  buildResumeBundleFromState,
102
102
  getResumeBundleStatus,
@@ -134,7 +134,7 @@ import {
134
134
  runOperatorInventory,
135
135
  runOperatorRepair,
136
136
  runOperatorSetup
137
- } from "./chunk-SZAWZPY6.js";
137
+ } from "./chunk-E7SKAUEW.js";
138
138
  import {
139
139
  analyzeSessionIntegrity,
140
140
  applySessionRepair,
@@ -173,7 +173,7 @@ import {
173
173
  rebuildMemoryProjection,
174
174
  repairMemoryProjection,
175
175
  verifyMemoryProjection
176
- } from "./chunk-SEHKTE4F.js";
176
+ } from "./chunk-I4IKTNZP.js";
177
177
  import {
178
178
  GraphDashboardServer
179
179
  } from "./chunk-YNDLCWXS.js";
@@ -210,7 +210,7 @@ import {
210
210
  import {
211
211
  EngramAccessHttpServer,
212
212
  MeetingsInputError
213
- } from "./chunk-FTNV5476.js";
213
+ } from "./chunk-PSGRZFBH.js";
214
214
  import {
215
215
  WearablesInputError
216
216
  } from "./chunk-V7IZKJI3.js";
@@ -220,10 +220,10 @@ import {
220
220
  loadChatSession,
221
221
  processChatMessage,
222
222
  sessionBelongsToPrincipal
223
- } from "./chunk-4EEDRKRT.js";
223
+ } from "./chunk-DT33WNG2.js";
224
224
  import {
225
225
  EngramAccessService
226
- } from "./chunk-VXGB766B.js";
226
+ } from "./chunk-2ZVSQPAA.js";
227
227
  import {
228
228
  WorkStorage
229
229
  } from "./chunk-MPC7TYTZ.js";
@@ -243,27 +243,27 @@ import {
243
243
  } from "./chunk-VEBYLZQQ.js";
244
244
  import {
245
245
  readAggregateExtractionWatermark
246
- } from "./chunk-KRPMISWO.js";
246
+ } from "./chunk-5C765XYU.js";
247
247
  import {
248
248
  getObjectiveStateStoreStatus
249
249
  } from "./chunk-HM7RHKS4.js";
250
250
  import {
251
251
  journalPath
252
- } from "./chunk-TYP7GYRI.js";
252
+ } from "./chunk-SB4ZWVKI.js";
253
253
  import {
254
254
  searchHarmonicRetrieval
255
- } from "./chunk-FWVDTLRK.js";
255
+ } from "./chunk-IJQEVNEF.js";
256
256
  import {
257
257
  listMemoryGovernanceRuns,
258
258
  readMemoryGovernanceRunArtifact,
259
259
  restoreMemoryGovernanceRun,
260
260
  runMemoryGovernance
261
- } from "./chunk-LMLPLIT4.js";
261
+ } from "./chunk-AQ6IBVFQ.js";
262
262
  import {
263
263
  listNamespaces,
264
264
  runNamespaceMigration,
265
265
  verifyNamespaces
266
- } from "./chunk-QEGKMZNQ.js";
266
+ } from "./chunk-FO5NDQZH.js";
267
267
  import {
268
268
  getCueAnchorStoreStatus
269
269
  } from "./chunk-BMWN7B3Y.js";
@@ -303,7 +303,7 @@ import {
303
303
  } from "./chunk-LMMQKZK3.js";
304
304
  import {
305
305
  meetingIdDate
306
- } from "./chunk-5QZHDS4X.js";
306
+ } from "./chunk-LI4IWBLN.js";
307
307
  import {
308
308
  isValidTranscriptDate
309
309
  } from "./chunk-UHVXE24Y.js";
@@ -10131,4 +10131,4 @@ export {
10131
10131
  listMemoryMarkdownFilePaths,
10132
10132
  registerCli
10133
10133
  };
10134
- //# sourceMappingURL=chunk-ZDZJ2PG4.js.map
10134
+ //# sourceMappingURL=chunk-O7QF3TCV.js.map
@@ -2,7 +2,7 @@ import {
2
2
  WHO_KNOWS_DEFAULT_LIMIT,
3
3
  WHO_KNOWS_MAX_LIMIT,
4
4
  validateWhoKnowsInput
5
- } from "./chunk-HNOKNHFO.js";
5
+ } from "./chunk-7L747CFR.js";
6
6
 
7
7
  // src/who-knows-cli.ts
8
8
  function extractWhoKnowsRawArgs(rest) {
@@ -74,4 +74,4 @@ export {
74
74
  renderWhoKnowsText,
75
75
  renderWhoKnows
76
76
  };
77
- //# sourceMappingURL=chunk-KV44HTMJ.js.map
77
+ //# sourceMappingURL=chunk-OBD77TYC.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  resolveDefaultNamespaceRoot
3
- } from "./chunk-G4WZDQ32.js";
3
+ } from "./chunk-3NG5OOCX.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-5QZHDS4X.js";
6
+ } from "./chunk-LI4IWBLN.js";
7
7
  import {
8
8
  composeLocationDayBody,
9
9
  composeLocationDayMeta,
@@ -728,4 +728,4 @@ export {
728
728
  runLocationBackfill,
729
729
  runLocationCliCommand
730
730
  };
731
- //# sourceMappingURL=chunk-GYNCJSQ7.js.map
731
+ //# sourceMappingURL=chunk-OCEIHKH5.js.map
@@ -21,10 +21,10 @@ import {
21
21
  } from "./chunk-GRSFFLUY.js";
22
22
  import {
23
23
  handleSupportPassportOwnerHttp
24
- } from "./chunk-TQC6ELJO.js";
24
+ } from "./chunk-ZSXSMVW6.js";
25
25
  import {
26
26
  buildSupportPassportPublicRequestHandler
27
- } from "./chunk-LVGVXG22.js";
27
+ } from "./chunk-B2JE56NB.js";
28
28
  import {
29
29
  handleMcpGetSse
30
30
  } from "./chunk-SRT6SHVZ.js";
@@ -37,10 +37,10 @@ import {
37
37
  processChatMessage,
38
38
  sessionBelongsToPrincipal,
39
39
  subscribeChatTranscript
40
- } from "./chunk-4EEDRKRT.js";
40
+ } from "./chunk-DT33WNG2.js";
41
41
  import {
42
42
  RelayMissionStoreError
43
- } from "./chunk-W5UAB6EH.js";
43
+ } from "./chunk-IULYVB5X.js";
44
44
  import {
45
45
  executeResolution,
46
46
  isValidResolutionVerb
@@ -61,10 +61,10 @@ import {
61
61
  optionalNamespaceKindQueryParam,
62
62
  optionalQueryString,
63
63
  positiveIntQueryParam
64
- } from "./chunk-Z3YQOV45.js";
64
+ } from "./chunk-JLU7WK22.js";
65
65
  import {
66
66
  respondBriefingHttp
67
- } from "./chunk-FEHVG4C4.js";
67
+ } from "./chunk-NYN4ZMPL.js";
68
68
  import {
69
69
  maybeHandleLifecycleFlush
70
70
  } from "./chunk-TIDEL77O.js";
@@ -75,14 +75,14 @@ import {
75
75
  authorizationProbeNamespaces,
76
76
  authorizationProbeRequiresPrincipalNamespace,
77
77
  probeOperationAuthorization
78
- } from "./chunk-WKNWC46C.js";
78
+ } from "./chunk-YIDBKTZJ.js";
79
79
  import {
80
80
  getOperation,
81
81
  resolveQueryNamespaceWritablePreflight
82
- } from "./chunk-VXGB766B.js";
82
+ } from "./chunk-2ZVSQPAA.js";
83
83
  import {
84
84
  handleWhoKnowsHttpQuery
85
- } from "./chunk-HNOKNHFO.js";
85
+ } from "./chunk-7L747CFR.js";
86
86
  import {
87
87
  isTrustZoneName
88
88
  } from "./chunk-ROBHL3GL.js";
@@ -3557,4 +3557,4 @@ export {
3557
3557
  resolveDefaultAdminConsolePublicDir,
3558
3558
  EngramAccessHttpServer
3559
3559
  };
3560
- //# sourceMappingURL=chunk-FTNV5476.js.map
3560
+ //# sourceMappingURL=chunk-PSGRZFBH.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  raceRecallAbort,
3
3
  throwIfRecallAborted
4
- } from "./chunk-52VL6LCY.js";
4
+ } from "./chunk-2VH2JWYN.js";
5
5
  import {
6
6
  classifyOrigin
7
7
  } from "./chunk-23G5P7TA.js";
@@ -1081,4 +1081,4 @@ export {
1081
1081
  ExtractionDeadlineError,
1082
1082
  ExtractionRunCoordinator
1083
1083
  };
1084
- //# sourceMappingURL=chunk-FQGY7XB2.js.map
1084
+ //# sourceMappingURL=chunk-S52VKUUW.js.map
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  reportSearchDegradation,
10
10
  resolveEnsureCollectionArgs
11
- } from "./chunk-U2VDCFXW.js";
11
+ } from "./chunk-G26YNEOC.js";
12
12
  import {
13
13
  log
14
14
  } from "./chunk-3WCASNQZ.js";
@@ -508,4 +508,4 @@ function isMissingVectorProviderColumnError(err) {
508
508
  export {
509
509
  LanceDbBackend
510
510
  };
511
- //# sourceMappingURL=chunk-D7MAYFQP.js.map
511
+ //# sourceMappingURL=chunk-S7LWX2PQ.js.map
@@ -6,7 +6,7 @@ import {
6
6
  isArtifactMemoryPath,
7
7
  isLocationDayPath,
8
8
  isMeetingRecordPath
9
- } from "./chunk-52VL6LCY.js";
9
+ } from "./chunk-2VH2JWYN.js";
10
10
  import {
11
11
  isExternalWikiCollectionName
12
12
  } from "./chunk-JV3C2MNQ.js";
@@ -213,4 +213,4 @@ export {
213
213
  isGenericRecallExcludedPath,
214
214
  filterRecallCandidates
215
215
  };
216
- //# sourceMappingURL=chunk-TYP7GYRI.js.map
216
+ //# sourceMappingURL=chunk-SB4ZWVKI.js.map
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  reportSearchDegradation,
10
10
  resolveEnsureCollectionArgs
11
- } from "./chunk-U2VDCFXW.js";
11
+ } from "./chunk-G26YNEOC.js";
12
12
  import {
13
13
  log
14
14
  } from "./chunk-3WCASNQZ.js";
@@ -253,4 +253,4 @@ function isMeilisearchIndexNotFoundError(err) {
253
253
  export {
254
254
  MeilisearchBackend
255
255
  };
256
- //# sourceMappingURL=chunk-KVO2BTA4.js.map
256
+ //# sourceMappingURL=chunk-T2YX56QI.js.map
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  reportSearchDegradation,
10
10
  resolveEnsureCollectionArgs
11
- } from "./chunk-U2VDCFXW.js";
11
+ } from "./chunk-G26YNEOC.js";
12
12
  import {
13
13
  expandUnsegmentableRecallNGrams,
14
14
  isUnsegmentableRecallChar
@@ -776,4 +776,4 @@ export {
776
776
  resolveOramaCollectionDbFilePath,
777
777
  OramaBackend
778
778
  };
779
- //# sourceMappingURL=chunk-G6NQ3L4T.js.map
779
+ //# sourceMappingURL=chunk-T3FMRLWQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listNamespaces
3
- } from "./chunk-QEGKMZNQ.js";
3
+ } from "./chunk-FO5NDQZH.js";
4
4
  import {
5
5
  capabilityAllowsNamespace
6
6
  } from "./chunk-IG747LRN.js";
@@ -282,4 +282,4 @@ export {
282
282
  computeServiceCorpusWatermarks,
283
283
  computeServiceCorpusCensus
284
284
  };
285
- //# sourceMappingURL=chunk-CDQO5DCD.js.map
285
+ //# sourceMappingURL=chunk-TO3G56GM.js.map
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-ZCUTSMR2.js";
14
14
  import {
15
15
  StorageManager
16
- } from "./chunk-5QZHDS4X.js";
16
+ } from "./chunk-LI4IWBLN.js";
17
17
  import {
18
18
  excludeSupportPassportPrivateMemories
19
19
  } from "./chunk-PWPIERBM.js";
@@ -134,4 +134,4 @@ export {
134
134
  runCodexMaterialize,
135
135
  runPostConsolidationMaterialize
136
136
  };
137
- //# sourceMappingURL=chunk-WEQZ5OYK.js.map
137
+ //# sourceMappingURL=chunk-U6GKPSZH.js.map
@@ -3,10 +3,14 @@ import {
3
3
  } from "./chunk-5HFVWYHL.js";
4
4
  import {
5
5
  isGenericRecallExcludedPath
6
- } from "./chunk-TYP7GYRI.js";
6
+ } from "./chunk-SB4ZWVKI.js";
7
7
  import {
8
8
  planRecallMode
9
9
  } from "./chunk-CSAKJVXW.js";
10
+ import {
11
+ describeSearchDegradations,
12
+ fatalSearchDegradations
13
+ } from "./chunk-G26YNEOC.js";
10
14
  import {
11
15
  RecallWhyInputError,
12
16
  explainRecallMiss
@@ -22,18 +26,6 @@ import {
22
26
  } from "./chunk-BMXEBWBT.js";
23
27
 
24
28
  // src/recall-why-service.ts
25
- var FATAL_DEGRADATION_CODES = {
26
- backend_unavailable: true,
27
- backend_error: true,
28
- daemon_timeout: true,
29
- daemon_loading: true,
30
- subprocess_error: true,
31
- deadline_exceeded: true,
32
- remote_error: true
33
- };
34
- function describeDegradations(degradations) {
35
- return degradations.map((d) => `${d.backend}:${d.code}${d.detail !== void 0 ? ` (${d.detail})` : ""}`).join("; ");
36
- }
37
29
  async function runRecallWhy(deps, request) {
38
30
  const query = typeof request.query === "string" ? request.query : "";
39
31
  if (query.trim().length === 0) {
@@ -76,14 +68,14 @@ async function runRecallWhy(deps, request) {
76
68
  ...options.abortSignal !== void 0 ? { abortSignal: options.abortSignal } : {},
77
69
  degradationSink: degradations
78
70
  });
79
- const fatal = degradations.filter((d) => FATAL_DEGRADATION_CODES[d.code] === true);
71
+ const fatal = fatalSearchDegradations(degradations);
80
72
  if (fatal.length > 0) {
81
- return { ok: false, reason: "backend_unavailable", detail: describeDegradations(fatal) };
73
+ return { ok: false, reason: "backend_unavailable", detail: describeSearchDegradations(fatal) };
82
74
  }
83
75
  return { ok: true, snapshot: captured.snapshot };
84
76
  } catch (err) {
85
77
  if (err instanceof Error && err.name === "AbortError") throw err;
86
- const observed = degradations.length > 0 ? `${describeDegradations(degradations)}; ` : "";
78
+ const observed = degradations.length > 0 ? `${describeSearchDegradations(degradations)}; ` : "";
87
79
  return {
88
80
  ok: false,
89
81
  reason: "backend_unavailable",
@@ -140,4 +132,4 @@ async function findExpectedMemory(orchestrator, namespaces, expect) {
140
132
  export {
141
133
  runRecallWhy
142
134
  };
143
- //# sourceMappingURL=chunk-FM5HN7LL.js.map
135
+ //# sourceMappingURL=chunk-WQC54W25.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-why-service.ts"],"sourcesContent":["/**\n * Access-surface binding for the recall-miss diagnosis (issue #3033).\n *\n * `recall-why.ts` holds the stage logic and a port; this module binds that\n * port to the live orchestrator. It lives beside `access-recall-surface.ts`\n * rather than inside it because that file is at its file-size ratchet\n * ceiling (AGENTS.md: extract the addition to a sibling module).\n *\n * Namespace scope is enforced BEFORE the recall fires and the expected-memory\n * lookup is confined to namespaces the caller may read, so the diagnosis can\n * never confirm the existence of a memory in a namespace the caller has no\n * read access to. Read path and write path resolve through the same namespace\n * layer (Review Prevention Checklist #30): the lookup consumes exactly the\n * `recallNamespacesForPrincipal` set the recall itself is scoped by.\n */\n\nimport { resolveNamespaceCapabilities, resolveQmdCapabilities } from \"./capabilities.js\";\nimport { planRecallMode } from \"./intent.js\";\nimport { canReadNamespace, recallNamespacesForPrincipal, resolvePrincipal } from \"./namespaces/principal.js\";\nimport { isGenericRecallExcludedPath } from \"./orchestration/generic-recall-paths.js\";\nimport type { Orchestrator } from \"./orchestrator.js\";\nimport {\n explainRecallMiss,\n RecallWhyInputError,\n type RecallWhyDeps,\n type RecallWhyMemoryRef,\n type RecallWhyReport,\n} from \"./recall-why.js\";\nimport { summarizeRecallWhy } from \"./recall-why-renderer.js\";\nimport {\n describeSearchDegradations,\n fatalSearchDegradations,\n type SearchDegradation,\n} from \"./search/port.js\";\nimport type { MemoryFile, MemoryStatus } from \"./types.js\";\n\nexport interface RecallWhyRequest {\n query: string;\n /** Memory id or substring to trace through every stage. */\n expect?: string;\n sessionKey?: string;\n namespace?: string;\n authenticatedPrincipal?: string;\n sourceConnector?: string;\n abortSignal?: AbortSignal;\n}\n\nexport interface RecallWhyResponse {\n /** False when the namespace ACL denied the diagnosis. */\n reportFound: boolean;\n report?: RecallWhyReport;\n /** One-line verdict, for agent callers that do not parse the full report. */\n summary?: string;\n}\n\nexport interface RecallWhyServiceDeps {\n readonly orchestrator: Orchestrator;\n /** The surface's shared namespace resolver. */\n resolveNamespace(namespace?: string): string;\n}\n\n/**\n * Run the recall-miss diagnosis for one request.\n *\n * Throws {@link RecallWhyInputError} for caller-input faults so surfaces can\n * map them to a 400; backend faults are reported inside the report as\n * `backend_unavailable` rather than thrown, because an outage is a diagnosis\n * result, not a diagnosis failure.\n */\nexport async function runRecallWhy(deps: RecallWhyServiceDeps, request: RecallWhyRequest): Promise<RecallWhyResponse> {\n const query = typeof request.query === \"string\" ? request.query : \"\";\n if (query.trim().length === 0) {\n throw new RecallWhyInputError(\"recallWhy: query is required and must be non-empty\");\n }\n const orchestrator = deps.orchestrator;\n const config = orchestrator.config;\n const namespacesEnabled = resolveNamespaceCapabilities(config).namespaces;\n const requestedNamespace = request.namespace?.trim() ? deps.resolveNamespace(request.namespace) : undefined;\n const authenticatedPrincipal = request.authenticatedPrincipal?.trim();\n const principal = authenticatedPrincipal || resolvePrincipal(request.sessionKey, config);\n\n if (requestedNamespace !== undefined) {\n if (!canReadNamespace(principal, requestedNamespace, config)) {\n return { reportFound: false };\n }\n } else if (namespacesEnabled && !authenticatedPrincipal && !request.sessionKey?.trim()) {\n // Namespaces on but no identity supplied: refuse rather than diagnose\n // against the global namespace (least-privileged default).\n return { reportFound: false };\n }\n\n const readableNamespaces =\n requestedNamespace !== undefined ? [requestedNamespace] : [...recallNamespacesForPrincipal(principal, config)];\n const recallSessionKey = request.sessionKey?.trim() || undefined;\n\n const whyDeps: RecallWhyDeps = {\n plannerMode: (prompt) => planRecallMode(prompt),\n scopedNamespaces: readableNamespaces,\n namespacesEnabled,\n isExcludedPath: (memoryPath) => isGenericRecallExcludedPath(memoryPath, config),\n runRecall: async (recallQuery, options) => {\n // A configured-but-unreachable search backend is an OUTAGE, and must\n // never render as \"0 candidates\" (Review Prevention Checklist #22).\n // This is the same pair of expressions the pipeline emits as\n // `qmdEnabled` / `qmdAvailable` on its recall_summary trace.\n if (resolveQmdCapabilities(config).qmd && !orchestrator.qmd.isAvailable()) {\n return {\n ok: false,\n reason: \"backend_unavailable\",\n detail: \"the search backend is enabled but reported itself unavailable\",\n };\n }\n // A backend that answers the availability probe can still fail\n // mid-recall (daemon timeout, deadline exceeded, subprocess error).\n // The pipeline already collects those; `degradationSink` hands us the\n // same array it fills, so the outage is observed rather than inferred.\n const degradations: SearchDegradation[] = [];\n try {\n const captured = await orchestrator.recallWithXrayCapture(recallQuery, options.sessionKey, {\n ...(options.namespace !== undefined ? { namespace: options.namespace } : {}),\n ...(authenticatedPrincipal ? { principalOverride: authenticatedPrincipal } : {}),\n ...(request.sourceConnector ? { sourceConnector: request.sourceConnector } : {}),\n ...(options.abortSignal !== undefined ? { abortSignal: options.abortSignal } : {}),\n degradationSink: degradations,\n });\n const fatal = fatalSearchDegradations(degradations);\n if (fatal.length > 0) {\n return { ok: false, reason: \"backend_unavailable\", detail: describeSearchDegradations(fatal) };\n }\n return { ok: true, snapshot: captured.snapshot };\n } catch (err) {\n // Cancellation is the caller's decision, not a backend outage.\n if (err instanceof Error && err.name === \"AbortError\") throw err;\n const observed = degradations.length > 0 ? `${describeSearchDegradations(degradations)}; ` : \"\";\n return {\n ok: false,\n reason: \"backend_unavailable\",\n detail: `${observed}${err instanceof Error ? err.message : \"recall failed\"}`,\n };\n }\n },\n findExpected: (expect) => findExpectedMemory(orchestrator, readableNamespaces, expect),\n };\n\n const report = await explainRecallMiss(query, {\n deps: whyDeps,\n ...(request.expect !== undefined ? { expect: request.expect } : {}),\n ...(recallSessionKey !== undefined ? { sessionKey: recallSessionKey } : {}),\n ...(requestedNamespace !== undefined ? { namespace: requestedNamespace } : {}),\n ...(request.abortSignal !== undefined ? { abortSignal: request.abortSignal } : {}),\n });\n\n return { reportFound: true, report, summary: summarizeRecallWhy(report) };\n}\n\n/**\n * Resolve `expect` to one stored memory, searching ONLY namespaces the\n * caller may read. An exact id match wins over a substring match; among\n * substring matches the lowest (memoryId, path) pair wins, so repeated runs\n * report the same memory.\n */\nasync function findExpectedMemory(\n orchestrator: Orchestrator,\n namespaces: readonly string[],\n expect: string\n): Promise<RecallWhyMemoryRef | null> {\n const substringMatches: RecallWhyMemoryRef[] = [];\n const seenNamespaces = new Set<string>();\n for (const namespace of namespaces) {\n if (seenNamespaces.has(namespace)) continue;\n seenNamespaces.add(namespace);\n let memories: MemoryFile[];\n try {\n const storage = await orchestrator.getStorageForNamespace(namespace);\n memories = await storage.readAllMemories();\n } catch {\n // A namespace whose storage cannot be read contributes no candidates;\n // the diagnosis still reports on the ones that could be read.\n continue;\n }\n for (const memory of memories) {\n const memoryId = typeof memory.frontmatter.id === \"string\" ? memory.frontmatter.id : \"\";\n if (memoryId.length === 0) continue;\n const ref: RecallWhyMemoryRef = {\n memoryId,\n path: memory.path,\n status: (memory.frontmatter.status as MemoryStatus | undefined) ?? \"active\",\n namespace,\n };\n if (memoryId === expect) return ref;\n if (memoryId.includes(expect) || memory.path.includes(expect)) substringMatches.push(ref);\n }\n }\n if (substringMatches.length === 0) return null;\n // Total comparator: -1 / 0 / 1, and 0 for genuinely equal rows (#12).\n substringMatches.sort((a, b) => {\n if (a.memoryId !== b.memoryId) return a.memoryId < b.memoryId ? -1 : 1;\n if (a.path !== b.path) return a.path < b.path ? -1 : 1;\n return 0;\n });\n return substringMatches[0] ?? null;\n}\n"],"mappings":"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","names":[]}
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-3UXOZBHV.js";
15
15
  import {
16
16
  StorageManager
17
- } from "./chunk-5QZHDS4X.js";
17
+ } from "./chunk-LI4IWBLN.js";
18
18
  import {
19
19
  OKF_PROFILE_TYPE,
20
20
  okfTypeForMemory
@@ -272,4 +272,4 @@ export {
272
272
  exportOkfBundle,
273
273
  firstHeading
274
274
  };
275
- //# sourceMappingURL=chunk-XDH5MO6L.js.map
275
+ //# sourceMappingURL=chunk-WZ33AIOP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  defineOperation
3
- } from "./chunk-VXGB766B.js";
3
+ } from "./chunk-2ZVSQPAA.js";
4
4
  import {
5
5
  EngramAccessInputError
6
6
  } from "./chunk-3MUKQQ7A.js";
@@ -92,4 +92,4 @@ defineOperation({
92
92
  };
93
93
  }
94
94
  });
95
- //# sourceMappingURL=chunk-U6HXB2OG.js.map
95
+ //# sourceMappingURL=chunk-XDIFADVN.js.map
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-H3FZVNRN.js";
14
14
  import {
15
15
  ExtractionDeadlineError
16
- } from "./chunk-FQGY7XB2.js";
16
+ } from "./chunk-S52VKUUW.js";
17
17
  import {
18
18
  resolvePrincipal
19
19
  } from "./chunk-Y23L4YJV.js";
@@ -801,4 +801,4 @@ var SmartBuffer = class {
801
801
  export {
802
802
  SmartBuffer
803
803
  };
804
- //# sourceMappingURL=chunk-SVWYZXIL.js.map
804
+ //# sourceMappingURL=chunk-XDOXR3U6.js.map
@@ -9,17 +9,17 @@ import {
9
9
  } from "./chunk-666A3MOW.js";
10
10
  import {
11
11
  startLocationAutoSync
12
- } from "./chunk-7OC3Q5X4.js";
12
+ } from "./chunk-3S4R2HA5.js";
13
13
  import {
14
14
  rebuildMemoryLifecycleLedger
15
- } from "./chunk-W65KK3X6.js";
15
+ } from "./chunk-II4TIQCU.js";
16
16
  import {
17
17
  planNamespaceMaintenance,
18
18
  runNamespaceMaintenanceBatchPlan
19
- } from "./chunk-B5GMOOY2.js";
19
+ } from "./chunk-5AABWM72.js";
20
20
  import {
21
21
  rebuildMemoryProjection
22
- } from "./chunk-SEHKTE4F.js";
22
+ } from "./chunk-I4IKTNZP.js";
23
23
  import {
24
24
  DEFAULT_TIMELINE_CATEGORIES,
25
25
  TIMELINE_RESERVED_IDLE,
@@ -2450,4 +2450,4 @@ export {
2450
2450
  ActivitySyncScheduler,
2451
2451
  MaintenanceScheduler
2452
2452
  };
2453
- //# sourceMappingURL=chunk-VKDWYDFQ.js.map
2453
+ //# sourceMappingURL=chunk-XGLBVYEA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-5QZHDS4X.js";
3
+ } from "./chunk-LI4IWBLN.js";
4
4
  import {
5
5
  composeMemoryEnvelope
6
6
  } from "./chunk-GDYU6VF4.js";
@@ -546,4 +546,4 @@ export {
546
546
  setSemanticRulePromotionTestHooks,
547
547
  promoteSemanticRuleFromMemory
548
548
  };
549
- //# sourceMappingURL=chunk-5Y7VCE3A.js.map
549
+ //# sourceMappingURL=chunk-XJNSOI23.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-6JMQR72P.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-5QZHDS4X.js";
6
+ } from "./chunk-LI4IWBLN.js";
7
7
  import {
8
8
  normalizeEntityName
9
9
  } from "./chunk-YXZG5TVN.js";
@@ -957,4 +957,4 @@ export {
957
957
  resolveBriefingSaveDir,
958
958
  briefingFilename
959
959
  };
960
- //# sourceMappingURL=chunk-LDP6LBDS.js.map
960
+ //# sourceMappingURL=chunk-Y3AFTYK4.js.map
@@ -3,7 +3,7 @@ import {
3
3
  headerConnector,
4
4
  renderExtractionConversation,
5
5
  resolveSourceConnector
6
- } from "./chunk-IDRSTHVR.js";
6
+ } from "./chunk-MB3HMRXM.js";
7
7
  import {
8
8
  normalizeReasoningTrace
9
9
  } from "./chunk-54V4BZWP.js";
@@ -2437,4 +2437,4 @@ export {
2437
2437
  shouldEnableLocalExtractionThinking,
2438
2438
  ExtractionEngine
2439
2439
  };
2440
- //# sourceMappingURL=chunk-TPRBJF46.js.map
2440
+ //# sourceMappingURL=chunk-YGJMMMPN.js.map