@remnic/core 9.69.39 → 9.69.40

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 (639) hide show
  1. package/dist/access-admin-ops-surface.d.ts +16 -14
  2. package/dist/access-admin-ops-surface.js +37 -37
  3. package/dist/access-authorization-probe.d.ts +16 -14
  4. package/dist/access-authorization-probe.js +38 -38
  5. package/dist/access-boundary.d.ts +16 -14
  6. package/dist/access-boundary.js +37 -37
  7. package/dist/access-cli.js +98 -97
  8. package/dist/access-cli.js.map +1 -1
  9. package/dist/access-coding-context-resolution.d.ts +1 -1
  10. package/dist/access-extraction-force-flush.d.ts +16 -14
  11. package/dist/access-extraction-force-flush.js +37 -37
  12. package/dist/access-health-types.d.ts +1 -1
  13. package/dist/access-http-briefing.d.ts +16 -14
  14. package/dist/access-http-briefing.js +38 -38
  15. package/dist/access-http-lcm-compaction.d.ts +16 -14
  16. package/dist/access-http-lifecycle-flush.d.ts +16 -14
  17. package/dist/access-http-offline-stream.d.ts +16 -14
  18. package/dist/access-http-query.d.ts +2 -2
  19. package/dist/access-http-query.js +39 -39
  20. package/dist/access-http.d.ts +17 -15
  21. package/dist/access-http.js +53 -53
  22. package/dist/access-identity-continuity-surface.d.ts +13 -12
  23. package/dist/access-identity-continuity-surface.js +37 -37
  24. package/dist/access-lcm-surface.d.ts +16 -14
  25. package/dist/access-lcm-surface.js +37 -37
  26. package/dist/access-mcp.d.ts +16 -14
  27. package/dist/access-mcp.js +45 -45
  28. package/dist/access-memory-search-fanout.d.ts +2 -2
  29. package/dist/{access-namespace-preflight-DY4z6L5X.d.ts → access-namespace-preflight-CKBumJ8W.d.ts} +1 -1
  30. package/dist/access-namespace-preflight.d.ts +3 -3
  31. package/dist/access-namespace-preflight.js +37 -37
  32. package/dist/access-observe-transcript.d.ts +13 -12
  33. package/dist/access-observe-write-category.d.ts +1 -1
  34. package/dist/access-observe-write-category.js +2 -2
  35. package/dist/access-observe-write-surface.d.ts +16 -14
  36. package/dist/access-observe-write-surface.js +37 -37
  37. package/dist/access-offline-manifest.d.ts +37 -13
  38. package/dist/access-offline-manifest.js +7 -3
  39. package/dist/access-operations-batch.js +39 -39
  40. package/dist/access-operations.d.ts +16 -14
  41. package/dist/access-operations.js +44 -44
  42. package/dist/access-recall-concurrency.d.ts +16 -14
  43. package/dist/access-recall-concurrency.js +37 -37
  44. package/dist/access-recall-response.d.ts +16 -14
  45. package/dist/access-recall-response.js +37 -37
  46. package/dist/access-recall-surface.d.ts +16 -14
  47. package/dist/access-recall-surface.js +37 -37
  48. package/dist/access-schema.d.ts +5 -3
  49. package/dist/access-schema.js +1 -1
  50. package/dist/{access-service-MY4bsr_Q.d.ts → access-service-DJ3qogNt.d.ts} +8 -8
  51. package/dist/access-service-helpers.d.ts +16 -14
  52. package/dist/access-service.d.ts +16 -14
  53. package/dist/access-service.js +37 -37
  54. package/dist/access-surface-catalog.d.ts +16 -14
  55. package/dist/access-surface-catalog.js +39 -39
  56. package/dist/access-wearables-meetings-surface.d.ts +6 -5
  57. package/dist/action-confidence.d.ts +1 -1
  58. package/dist/active-memory-bridge.d.ts +1 -1
  59. package/dist/active-recall.d.ts +1 -1
  60. package/dist/active-recall.js +6 -5
  61. package/dist/active-recall.js.map +1 -1
  62. package/dist/activity/digest.d.ts +1 -1
  63. package/dist/ambient-provenance.d.ts +1 -1
  64. package/dist/artifact-search.d.ts +1 -1
  65. package/dist/{auto-sync-RP4C6ZPF.js → auto-sync-D6BAPIJV.js} +5 -5
  66. package/dist/background-generation-config.d.ts +1 -1
  67. package/dist/background-generation-config.js +3 -1
  68. package/dist/background-generation.d.ts +1 -1
  69. package/dist/behavior-learner.d.ts +1 -1
  70. package/dist/behavior-signals.d.ts +1 -1
  71. package/dist/bootstrap.d.ts +13 -12
  72. package/dist/briefing-window.d.ts +2 -2
  73. package/dist/briefing.d.ts +2 -2
  74. package/dist/briefing.js +15 -15
  75. package/dist/buffer-surprise-report.d.ts +1 -1
  76. package/dist/buffer-turn-helpers.d.ts +1 -1
  77. package/dist/buffer.d.ts +2 -2
  78. package/dist/buffer.js +5 -5
  79. package/dist/bulk-import/index.d.ts +3 -3
  80. package/dist/calibration.d.ts +3 -2
  81. package/dist/calibration.js +2 -2
  82. package/dist/capabilities.d.ts +1 -1
  83. package/dist/{catalog-CW87xGx8.d.ts → catalog-BHXkBVhg.d.ts} +1 -1
  84. package/dist/causal-behavior.d.ts +1 -1
  85. package/dist/causal-consolidation.d.ts +1 -1
  86. package/dist/causal-consolidation.js +19 -18
  87. package/dist/causal-consolidation.js.map +1 -1
  88. package/dist/causal-trajectory-graph.d.ts +1 -1
  89. package/dist/{chunk-B36GUU6T.js → chunk-23HFXQ5J.js} +36 -3
  90. package/dist/chunk-23HFXQ5J.js.map +1 -0
  91. package/dist/{chunk-YFTNZMGR.js → chunk-27NO2KVB.js} +31 -8
  92. package/dist/chunk-27NO2KVB.js.map +1 -0
  93. package/dist/{chunk-JTQR6L2N.js → chunk-2SKMZUOW.js} +2 -2
  94. package/dist/{chunk-GG5FHZJJ.js → chunk-2SNCQHJZ.js} +2 -2
  95. package/dist/{chunk-O76F5QPP.js → chunk-3QEVOQF5.js} +2 -2
  96. package/dist/{chunk-3N3PBBEH.js → chunk-3XPN7AVY.js} +2 -2
  97. package/dist/{chunk-X4TD4O2F.js → chunk-46Z3VGWF.js} +2 -2
  98. package/dist/{chunk-2ZTDRNCS.js → chunk-4CMXI55L.js} +2 -2
  99. package/dist/{chunk-FWWWUPOE.js → chunk-5LYSEZOF.js} +18 -9
  100. package/dist/chunk-5LYSEZOF.js.map +1 -0
  101. package/dist/{chunk-IQEJIOEU.js → chunk-62HFZNCJ.js} +17 -10
  102. package/dist/chunk-62HFZNCJ.js.map +1 -0
  103. package/dist/{chunk-YKREX63Z.js → chunk-6L2II3KS.js} +5 -3
  104. package/dist/chunk-6L2II3KS.js.map +1 -0
  105. package/dist/{chunk-MUTVRKKY.js → chunk-7D6SER6A.js} +8 -8
  106. package/dist/{chunk-WBM2MVBK.js → chunk-7Z54NXVS.js} +2 -2
  107. package/dist/{chunk-ACY4ZPF7.js → chunk-AEOOGXMQ.js} +10 -5
  108. package/dist/chunk-AEOOGXMQ.js.map +1 -0
  109. package/dist/{chunk-UHRZ324M.js → chunk-BGRTZOJB.js} +3 -3
  110. package/dist/{chunk-ZEGL7YCC.js → chunk-BXIJSPCL.js} +2 -2
  111. package/dist/{chunk-JKKII6GX.js → chunk-BYQX4IOG.js} +2 -2
  112. package/dist/{chunk-WIWLX65T.js → chunk-C5R73BON.js} +2 -2
  113. package/dist/{chunk-BD7JTBYP.js → chunk-D7MAYFQP.js} +2 -2
  114. package/dist/{chunk-TNZNSMVJ.js → chunk-DAZANIYU.js} +249 -295
  115. package/dist/chunk-DAZANIYU.js.map +1 -0
  116. package/dist/{chunk-LMLGBG6H.js → chunk-DFVSJFHK.js} +2 -2
  117. package/dist/{chunk-3NPNBVFR.js → chunk-ES5BUPYB.js} +2 -2
  118. package/dist/{chunk-MVAQ2WM3.js → chunk-G2XZFGYN.js} +6 -2
  119. package/dist/chunk-G2XZFGYN.js.map +1 -0
  120. package/dist/{chunk-TNSCIPBQ.js → chunk-G6NQ3L4T.js} +2 -2
  121. package/dist/{chunk-5N4MZLEH.js → chunk-GO5LOHCD.js} +2 -2
  122. package/dist/{chunk-AECJY3GJ.js → chunk-GSSDHAYH.js} +2 -2
  123. package/dist/{chunk-TSP5WH72.js → chunk-HJUP3K6L.js} +2 -2
  124. package/dist/{chunk-AAZEKXUP.js → chunk-ICNJ6J46.js} +2 -2
  125. package/dist/{chunk-6EHM2AV7.js → chunk-IMBQFHRV.js} +2 -2
  126. package/dist/{chunk-4RZLTZVM.js → chunk-IOPIGX7Y.js} +1 -1
  127. package/dist/{chunk-EYKIDK33.js → chunk-IS2IDFJP.js} +13 -13
  128. package/dist/{chunk-VJIE4D2I.js → chunk-J4WGTN2N.js} +2 -2
  129. package/dist/{chunk-NXGSONWM.js → chunk-J7FVMLBR.js} +2 -2
  130. package/dist/{chunk-VSL63CFJ.js → chunk-JAJIMTFB.js} +6 -6
  131. package/dist/{chunk-4JVQRFZD.js → chunk-JOP7W24J.js} +9 -9
  132. package/dist/{chunk-YUW66UAH.js → chunk-JUDT33RX.js} +2 -2
  133. package/dist/{chunk-QHT7MOUF.js → chunk-K4A6UVPB.js} +22 -11
  134. package/dist/chunk-K4A6UVPB.js.map +1 -0
  135. package/dist/{chunk-D545Z7UH.js → chunk-K4JKAXMO.js} +2 -2
  136. package/dist/{chunk-BV4ZKIZH.js → chunk-K75A5XWU.js} +3 -2
  137. package/dist/{chunk-3CBI2ZSA.js → chunk-KG2OOAFF.js} +20 -12
  138. package/dist/chunk-KG2OOAFF.js.map +1 -0
  139. package/dist/{chunk-M6HBPLBA.js → chunk-KOTG3RXE.js} +2 -2
  140. package/dist/{chunk-CWTCMZGE.js → chunk-KTOXQMW3.js} +119 -3
  141. package/dist/chunk-KTOXQMW3.js.map +1 -0
  142. package/dist/{chunk-OB3XMWX5.js → chunk-KVO2BTA4.js} +2 -2
  143. package/dist/{chunk-GI4ZBWPQ.js → chunk-KY236SP5.js} +3 -3
  144. package/dist/{chunk-4BCHFSC7.js → chunk-LFVZD5EC.js} +3 -3
  145. package/dist/{chunk-O4M4BDIJ.js → chunk-LKFVVN7R.js} +2 -2
  146. package/dist/{chunk-IYKZJVL5.js → chunk-MDIEES23.js} +1 -1
  147. package/dist/chunk-MDIEES23.js.map +1 -0
  148. package/dist/{chunk-4RX5O34R.js → chunk-MJC7UKH7.js} +2 -2
  149. package/dist/{chunk-CZTPU65V.js → chunk-MVG3KXON.js} +63 -16
  150. package/dist/chunk-MVG3KXON.js.map +1 -0
  151. package/dist/{chunk-YDVAM7S4.js → chunk-NETQXOPY.js} +2 -2
  152. package/dist/chunk-NETQXOPY.js.map +1 -0
  153. package/dist/{chunk-UZZ7SQT3.js → chunk-NVVZPBKI.js} +2 -2
  154. package/dist/{chunk-BLDBT6HZ.js → chunk-PJRKLB4Z.js} +18 -2
  155. package/dist/chunk-PJRKLB4Z.js.map +1 -0
  156. package/dist/{chunk-VBSNUH4J.js → chunk-PKUJNICO.js} +2 -2
  157. package/dist/{chunk-OPBFP4TF.js → chunk-QE6YVNP5.js} +7 -7
  158. package/dist/{chunk-WKDFJXW5.js → chunk-QM2SPLKQ.js} +1 -1
  159. package/dist/chunk-QM2SPLKQ.js.map +1 -0
  160. package/dist/{chunk-ENBPQEVU.js → chunk-QPVNK2VE.js} +2 -2
  161. package/dist/{chunk-RLJHJQUY.js → chunk-QS5Q5RBV.js} +2 -2
  162. package/dist/{chunk-3EKVN2OP.js → chunk-RDLPFM7I.js} +2 -2
  163. package/dist/{chunk-F4EHXVP7.js → chunk-RJQAP333.js} +2 -2
  164. package/dist/{chunk-QTQ6XKGT.js → chunk-RLU2Y5GV.js} +4 -4
  165. package/dist/chunk-RLU2Y5GV.js.map +1 -0
  166. package/dist/{chunk-5SPCMAUC.js → chunk-ROEFLU37.js} +4 -4
  167. package/dist/{chunk-UZEHHXYC.js → chunk-SFHLQPBF.js} +22 -22
  168. package/dist/chunk-SK7D34OL.js +68 -0
  169. package/dist/chunk-SK7D34OL.js.map +1 -0
  170. package/dist/{chunk-ZBW7A667.js → chunk-SUEOG2S4.js} +2 -2
  171. package/dist/{chunk-Q7CLGFA7.js → chunk-TEMKBSV6.js} +2 -2
  172. package/dist/{chunk-LQNRVPTV.js → chunk-THTF2W7M.js} +151 -118
  173. package/dist/chunk-THTF2W7M.js.map +1 -0
  174. package/dist/{chunk-GMIQV6DD.js → chunk-TO36VPZI.js} +2 -2
  175. package/dist/{chunk-6YAIN5XJ.js → chunk-TZ44E732.js} +44 -6
  176. package/dist/chunk-TZ44E732.js.map +1 -0
  177. package/dist/{chunk-JXN77SGO.js → chunk-U2VDCFXW.js} +1 -1
  178. package/dist/chunk-U2VDCFXW.js.map +1 -0
  179. package/dist/{chunk-LPYYY4AP.js → chunk-UZ6JYPJ6.js} +500 -218
  180. package/dist/chunk-UZ6JYPJ6.js.map +1 -0
  181. package/dist/{chunk-FXHOZGSE.js → chunk-V2ZA4YWE.js} +2 -2
  182. package/dist/{chunk-XH3HGI2N.js → chunk-VHKXRYQN.js} +2 -2
  183. package/dist/{chunk-GAS7KYC7.js → chunk-VKWFNPBH.js} +2 -2
  184. package/dist/{chunk-6H2G7RFT.js → chunk-VNQRRUNS.js} +11 -10
  185. package/dist/chunk-VNQRRUNS.js.map +1 -0
  186. package/dist/{chunk-IL6ODG6M.js → chunk-VQWBUPSJ.js} +2 -2
  187. package/dist/{chunk-5YCNDC3C.js → chunk-VQYWKCDR.js} +2 -2
  188. package/dist/{chunk-54NX5EG4.js → chunk-W23JARAQ.js} +2 -2
  189. package/dist/{chunk-YQNNHLCG.js → chunk-WPGR3RW4.js} +2 -2
  190. package/dist/{chunk-FNHLI2RE.js → chunk-WZYHPAG5.js} +3 -3
  191. package/dist/{chunk-5HYUUFMQ.js → chunk-XCPNH2MG.js} +259 -10
  192. package/dist/chunk-XCPNH2MG.js.map +1 -0
  193. package/dist/{chunk-TA4C3XB7.js → chunk-XM46Y66S.js} +2 -2
  194. package/dist/{chunk-PCOVEDPK.js → chunk-YRIFXXMI.js} +3 -3
  195. package/dist/{chunk-TRLOFIQC.js → chunk-YTK5MVNF.js} +2 -2
  196. package/dist/{chunk-Q432REND.js → chunk-YTZN2UZO.js} +2 -2
  197. package/dist/{chunk-6AGWBKQU.js → chunk-Z4GUX2M6.js} +2 -2
  198. package/dist/{chunk-AENM6GKU.js → chunk-ZAEPD4C2.js} +2 -2
  199. package/dist/{chunk-KQW3YGEN.js → chunk-ZRMMXWYI.js} +2 -2
  200. package/dist/{chunk-P4ZAEYKG.js → chunk-ZX3AYNNV.js} +6 -3
  201. package/dist/chunk-ZX3AYNNV.js.map +1 -0
  202. package/dist/{chunk-MCRVQ5YQ.js → chunk-ZZCR2QYL.js} +2 -2
  203. package/dist/{cli-DGq0MNpO.d.ts → cli-BWri5-am.d.ts} +5 -5
  204. package/dist/cli.d.ts +18 -16
  205. package/dist/cli.js +75 -74
  206. package/dist/coding/export-okf-codegraph.d.ts +1 -1
  207. package/dist/coding/export-okf-codegraph.js +14 -14
  208. package/dist/coding/pre-action-gate.d.ts +1 -1
  209. package/dist/compounding/engine.d.ts +2 -2
  210. package/dist/compounding/engine.js +15 -15
  211. package/dist/compounding/preference-consolidator.d.ts +1 -1
  212. package/dist/compression-optimizer.d.ts +1 -1
  213. package/dist/config.d.ts +1 -1
  214. package/dist/config.js +6 -5
  215. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  216. package/dist/connectors/codex-materialize-runner.js +15 -15
  217. package/dist/connectors/codex-materialize.d.ts +1 -1
  218. package/dist/connectors/index.d.ts +1 -1
  219. package/dist/connectors/index.js +15 -15
  220. package/dist/consolidation-provenance-check.d.ts +2 -2
  221. package/dist/consolidation-undo.d.ts +2 -2
  222. package/dist/contradiction/index.d.ts +6 -5
  223. package/dist/converge-config.d.ts +1 -1
  224. package/dist/convergence-refresh.d.ts +2 -2
  225. package/dist/convergence-refresh.js +17 -17
  226. package/dist/conversation-index/backend.d.ts +1 -1
  227. package/dist/conversation-index/chunker.d.ts +1 -1
  228. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  229. package/dist/conversation-index/indexer.d.ts +1 -1
  230. package/dist/conversation-index/search.d.ts +1 -1
  231. package/dist/corpus-watermark.d.ts +1 -1
  232. package/dist/corpus-watermark.js +17 -17
  233. package/dist/cross-lingual-recall.d.ts +1 -1
  234. package/dist/day-summary.d.ts +1 -1
  235. package/dist/deep-recall-http-glue.d.ts +16 -14
  236. package/dist/deep-recall-http-glue.js +2 -2
  237. package/dist/deep-recall-mcp-tools.d.ts +16 -14
  238. package/dist/deep-recall-policy-llm.d.ts +4 -3
  239. package/dist/deep-recall-policy-llm.js +3 -3
  240. package/dist/deep-recall-seeds.d.ts +1 -1
  241. package/dist/delinearize.d.ts +1 -1
  242. package/dist/dependency-propagation-config.d.ts +1 -1
  243. package/dist/{dependency-propagation-delivery-Cq1ekOwV.d.ts → dependency-propagation-delivery-ueZlKTQB.d.ts} +1 -1
  244. package/dist/direct-answer-wiring.d.ts +1 -1
  245. package/dist/direct-answer.d.ts +1 -1
  246. package/dist/embedding-fallback.d.ts +1 -1
  247. package/dist/enrichment/index.d.ts +1 -1
  248. package/dist/entity-origin-fields.d.ts +1 -1
  249. package/dist/entity-retrieval.d.ts +2 -2
  250. package/dist/entity-retrieval.js +15 -15
  251. package/dist/entity-schema.d.ts +1 -1
  252. package/dist/episodic-context.d.ts +1 -1
  253. package/dist/eval-trajectory-contracts.d.ts +1 -1
  254. package/dist/eval-trajectory-store.d.ts +1 -1
  255. package/dist/eval-trajectory.d.ts +1 -1
  256. package/dist/explicit-capture.d.ts +13 -12
  257. package/dist/external-wiki-access.d.ts +16 -14
  258. package/dist/external-wiki-access.js +38 -38
  259. package/dist/external-wiki-collection-registration.d.ts +1 -1
  260. package/dist/external-wiki-collection.d.ts +1 -1
  261. package/dist/external-wiki-mcp-tools.d.ts +16 -14
  262. package/dist/extraction-error-classification.d.ts +14 -3
  263. package/dist/extraction-error-classification.js +5 -3
  264. package/dist/extraction-faithfulness.d.ts +4 -3
  265. package/dist/extraction-faithfulness.js +3 -3
  266. package/dist/extraction-judge-telemetry.d.ts +4 -3
  267. package/dist/extraction-judge-training.d.ts +4 -3
  268. package/dist/extraction-judge.d.ts +4 -3
  269. package/dist/extraction-judge.js +3 -3
  270. package/dist/extraction-liveness.d.ts +1 -1
  271. package/dist/extraction-normalization.d.ts +1 -1
  272. package/dist/extraction-prompt.d.ts +1 -1
  273. package/dist/extraction-source-grounding-rules.d.ts +1 -1
  274. package/dist/extraction-source-grounding.d.ts +1 -1
  275. package/dist/extraction-span-config.d.ts +1 -1
  276. package/dist/extraction-span-materialize.d.ts +1 -1
  277. package/dist/extraction.d.ts +4 -4
  278. package/dist/extraction.js +25 -23
  279. package/dist/fallback-llm-codex-subscription.d.ts +52 -7
  280. package/dist/fallback-llm-codex-subscription.js +17 -1
  281. package/dist/fallback-llm.d.ts +25 -28
  282. package/dist/fallback-llm.js +4 -3
  283. package/dist/{generic-recall-paths-BcySh_f9.d.ts → generic-recall-paths-CpyVmA88.d.ts} +1 -1
  284. package/dist/graph-append-error.d.ts +1 -1
  285. package/dist/graph-dashboard-diff.d.ts +1 -1
  286. package/dist/graph-dashboard-key.d.ts +1 -1
  287. package/dist/graph-dashboard-parser.d.ts +1 -1
  288. package/dist/graph-edge-reinforcement.d.ts +1 -1
  289. package/dist/graph-jsonl.d.ts +1 -1
  290. package/dist/graph-path-reconstruction.d.ts +1 -1
  291. package/dist/graph-path-scoring.d.ts +1 -1
  292. package/dist/graph-snapshot.d.ts +1 -1
  293. package/dist/graph.d.ts +1 -1
  294. package/dist/harmonic-retrieval.js +1 -1
  295. package/dist/importance.d.ts +1 -1
  296. package/dist/importers/index.d.ts +1 -1
  297. package/dist/importers/test-utils.d.ts +1 -1
  298. package/dist/in-flight-reads.d.ts +1 -1
  299. package/dist/{index-DWOb4wz9.d.ts → index-BvUA4S7M.d.ts} +3 -3
  300. package/dist/index.d.ts +79 -39
  301. package/dist/index.js +119 -103
  302. package/dist/intent.d.ts +1 -1
  303. package/dist/lcm/engine.d.ts +1 -1
  304. package/dist/lcm/index.d.ts +1 -1
  305. package/dist/lcm/index.js +3 -3
  306. package/dist/lcm/tools.d.ts +1 -1
  307. package/dist/lifecycle.d.ts +1 -1
  308. package/dist/live-connectors-runner.d.ts +1 -1
  309. package/dist/local-llm-BsJGulur.d.ts +247 -0
  310. package/dist/local-llm-config.d.ts +4 -1
  311. package/dist/local-llm-config.js +4 -2
  312. package/dist/local-llm-helpers.d.ts +18 -69
  313. package/dist/local-llm-helpers.js +1 -1
  314. package/dist/local-llm.d.ts +3 -170
  315. package/dist/local-llm.js +2 -2
  316. package/dist/local-model-endpoint.d.ts +1 -1
  317. package/dist/location/index.d.ts +3 -3
  318. package/dist/location/index.js +17 -17
  319. package/dist/maintenance/memory-governance.d.ts +1 -1
  320. package/dist/maintenance/memory-governance.js +15 -15
  321. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
  322. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +15 -15
  323. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
  324. package/dist/maintenance/rebuild-memory-projection.js +16 -16
  325. package/dist/{maintenance-CW9wCzMP.d.ts → maintenance-CYubtIRr.d.ts} +9 -3
  326. package/dist/mcp-memory-inspector-app.d.ts +16 -14
  327. package/dist/memory-action-policy.d.ts +1 -1
  328. package/dist/memory-cache.d.ts +1 -1
  329. package/dist/memory-controller.d.ts +1 -1
  330. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  331. package/dist/memory-projection-store.d.ts +1 -1
  332. package/dist/memory-provenance.d.ts +1 -1
  333. package/dist/memory-snapshot.d.ts +1 -1
  334. package/dist/memory-subject-cli.d.ts +16 -14
  335. package/dist/memory-subject.d.ts +16 -14
  336. package/dist/memory-worth-outcomes.d.ts +2 -2
  337. package/dist/models-json.d.ts +1 -1
  338. package/dist/namespaces/migrate.d.ts +3 -3
  339. package/dist/namespaces/migrate.js +16 -16
  340. package/dist/namespaces/principal.d.ts +1 -1
  341. package/dist/namespaces/search.d.ts +12 -1
  342. package/dist/namespaces/search.js +9 -9
  343. package/dist/namespaces/storage.d.ts +3 -3
  344. package/dist/namespaces/storage.js +15 -15
  345. package/dist/native-knowledge.d.ts +1 -1
  346. package/dist/offline-sync-impression-drain.d.ts +1 -1
  347. package/dist/operator-doctor-corpus.d.ts +1 -1
  348. package/dist/operator-doctor-corpus.js +18 -18
  349. package/dist/operator-doctor-replica.d.ts +1 -1
  350. package/dist/operator-toolkit.d.ts +3 -3
  351. package/dist/operator-toolkit.js +29 -28
  352. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  353. package/dist/orchestration/maintenance.d.ts +4 -4
  354. package/dist/orchestration/maintenance.js +26 -26
  355. package/dist/{orchestrator-ComHLm49.d.ts → orchestrator-BWDRJ_0d.d.ts} +24 -11
  356. package/dist/orchestrator.d.ts +13 -12
  357. package/dist/orchestrator.js +101 -98
  358. package/dist/patterns-cli.d.ts +1 -1
  359. package/dist/{pipeline-CiYcqqhl.d.ts → pipeline-7JMn2yMH.d.ts} +1 -1
  360. package/dist/policy-runtime.d.ts +1 -1
  361. package/dist/proactive-contention.d.ts +2 -2
  362. package/dist/provenance.d.ts +1 -1
  363. package/dist/{public-http-CuK4_Cb1.d.ts → public-http-CJWs3mo9.d.ts} +1 -1
  364. package/dist/{qmd-qXD4vatU.d.ts → qmd-CxCH9G9m.d.ts} +2 -2
  365. package/dist/qmd-preflight.d.ts +2 -2
  366. package/dist/qmd-recall-cache.d.ts +1 -1
  367. package/dist/qmd.d.ts +2 -2
  368. package/dist/qmd.js +2 -2
  369. package/dist/recall-concurrency-config.d.ts +1 -1
  370. package/dist/recall-disclosure-escalation.d.ts +1 -1
  371. package/dist/recall-explain-renderer.d.ts +1 -1
  372. package/dist/recall-explain-renderer.js +3 -3
  373. package/dist/recall-memory-map.d.ts +1 -1
  374. package/dist/recall-navigate-access.d.ts +1 -1
  375. package/dist/recall-navigate-access.js +2 -2
  376. package/dist/recall-navigate-disclosure.d.ts +1 -1
  377. package/dist/recall-navigate-disclosure.js +1 -1
  378. package/dist/recall-navigate.d.ts +1 -1
  379. package/dist/recall-navigate.js +2 -2
  380. package/dist/recall-planner-llm.d.ts +3 -2
  381. package/dist/recall-planner-llm.js +4 -3
  382. package/dist/recall-planner-llm.js.map +1 -1
  383. package/dist/recall-state-view-admission.d.ts +13 -3
  384. package/dist/recall-state-view-admission.js +8 -8
  385. package/dist/recall-state-view-anchors.d.ts +1 -1
  386. package/dist/recall-state-view-anchors.js +2 -2
  387. package/dist/recall-state-view-inject.js +2 -2
  388. package/dist/recall-state-view-render.js +2 -2
  389. package/dist/recall-state-view-widen.js +2 -2
  390. package/dist/recall-state-view-wire.js +3 -3
  391. package/dist/recall-state-view.d.ts +1 -0
  392. package/dist/recall-state-view.js +1 -1
  393. package/dist/recall-state.d.ts +1 -1
  394. package/dist/recall-tag-filter.d.ts +1 -1
  395. package/dist/recall-timings.d.ts +1 -1
  396. package/dist/recall-xray-cli.d.ts +1 -1
  397. package/dist/recall-xray-cli.js +4 -4
  398. package/dist/recall-xray-renderer.d.ts +1 -1
  399. package/dist/recall-xray-renderer.js +3 -3
  400. package/dist/recall-xray.d.ts +1 -1
  401. package/dist/recall-xray.js +2 -2
  402. package/dist/reconcile/cursor.d.ts +1 -1
  403. package/dist/reconcile/manifest.d.ts +1 -1
  404. package/dist/reconcile/plan.d.ts +1 -1
  405. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  406. package/dist/replay/normalizers/claude.d.ts +1 -1
  407. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  408. package/dist/replay/normalizers/shared.d.ts +1 -1
  409. package/dist/replay/runner.d.ts +1 -1
  410. package/dist/replay/types.d.ts +1 -1
  411. package/dist/replica-divergence.d.ts +1 -1
  412. package/dist/replica-peers-config.d.ts +1 -1
  413. package/dist/resolve-auth-token.d.ts +1 -1
  414. package/dist/resume-bundles.js +7 -6
  415. package/dist/retrieval-agents.d.ts +2 -2
  416. package/dist/retrieval-tiers.d.ts +1 -1
  417. package/dist/routing/engine.d.ts +1 -1
  418. package/dist/routing/store.d.ts +1 -1
  419. package/dist/salvage-envelope.d.ts +1 -1
  420. package/dist/{scope-profiles-BT9rqC3w.d.ts → scope-profiles-BGAUqhBR.d.ts} +1 -1
  421. package/dist/search/embed-helper.d.ts +1 -1
  422. package/dist/search/factory.d.ts +1 -1
  423. package/dist/search/factory.js +8 -8
  424. package/dist/search/index.d.ts +1 -1
  425. package/dist/search/index.js +10 -10
  426. package/dist/search/lancedb-backend.d.ts +1 -1
  427. package/dist/search/lancedb-backend.js +2 -2
  428. package/dist/search/meilisearch-backend.d.ts +1 -1
  429. package/dist/search/meilisearch-backend.js +2 -2
  430. package/dist/search/noop-backend.d.ts +1 -1
  431. package/dist/search/orama-backend.d.ts +1 -1
  432. package/dist/search/orama-backend.js +2 -2
  433. package/dist/search/port.d.ts +2 -2
  434. package/dist/search/port.js +1 -1
  435. package/dist/search/remote-backend.d.ts +1 -1
  436. package/dist/search/remote-backend.js +2 -2
  437. package/dist/{semantic-consolidation-CmZi7thY.d.ts → semantic-consolidation-CCeRD9pV.d.ts} +1 -1
  438. package/dist/semantic-consolidation.d.ts +2 -2
  439. package/dist/semantic-consolidation.js +16 -16
  440. package/dist/semantic-rule-promotion.js +15 -15
  441. package/dist/semantic-rule-verifier.d.ts +1 -1
  442. package/dist/semantic-rule-verifier.js +15 -15
  443. package/dist/{service-CLkA7AQB.d.ts → service-BwpzRduk.d.ts} +2 -2
  444. package/dist/session-observer-bands.d.ts +1 -1
  445. package/dist/session-observer-state.d.ts +1 -1
  446. package/dist/shared-context/manager.d.ts +1 -1
  447. package/dist/signal.d.ts +1 -1
  448. package/dist/source-agent-qualifier.d.ts +1 -1
  449. package/dist/source-agent-qualifier.js +18 -18
  450. package/dist/standup/build.js +15 -15
  451. package/dist/{storage-wvX01lht.d.ts → storage-BprAGBG0.d.ts} +2 -1
  452. package/dist/storage.d.ts +2 -2
  453. package/dist/storage.js +14 -14
  454. package/dist/subject-config.d.ts +1 -1
  455. package/dist/summarizer.d.ts +1 -1
  456. package/dist/summarizer.js +5 -5
  457. package/dist/summary-snapshot.d.ts +1 -1
  458. package/dist/support-passport/index.d.ts +18 -17
  459. package/dist/support-passport/index.js +40 -40
  460. package/dist/task-llm-config.d.ts +16 -0
  461. package/dist/task-llm-config.js +12 -0
  462. package/dist/task-llm-config.js.map +1 -0
  463. package/dist/temporal-supersession.d.ts +2 -2
  464. package/dist/temporal-timeline-recall.d.ts +1 -1
  465. package/dist/temporal-validity.d.ts +1 -1
  466. package/dist/threading.d.ts +1 -1
  467. package/dist/tier-migration.d.ts +2 -2
  468. package/dist/tier-routing.d.ts +1 -1
  469. package/dist/topics.d.ts +1 -1
  470. package/dist/transcript.d.ts +1 -1
  471. package/dist/transfer/export-okf.d.ts +1 -1
  472. package/dist/transfer/export-okf.js +15 -15
  473. package/dist/trust-score-stage.d.ts +1 -1
  474. package/dist/trust-score.d.ts +1 -1
  475. package/dist/{types-Cyr32ABj.d.ts → types-nJV23pa3.d.ts} +1 -1
  476. package/dist/types.d.ts +1 -1
  477. package/dist/types.js +1 -1
  478. package/dist/utility-runtime.d.ts +1 -1
  479. package/dist/verified-recall.js +15 -15
  480. package/dist/who-knows-cli.d.ts +16 -14
  481. package/dist/who-knows-cli.js +16 -16
  482. package/dist/who-knows.d.ts +16 -14
  483. package/dist/who-knows.js +15 -15
  484. package/dist/write-envelope.d.ts +1 -1
  485. package/package.json +2 -2
  486. package/src/access-category-alias.test.ts +93 -0
  487. package/src/access-offline-manifest.ts +52 -2
  488. package/src/access-schema.ts +9 -4
  489. package/src/activity/config.test.ts +61 -0
  490. package/src/activity/config.ts +40 -1
  491. package/src/activity/timeline/analysis-provider.ts +8 -2
  492. package/src/activity/timeline/analysis-run.test.ts +82 -0
  493. package/src/activity/timeline/publish-cli.test.ts +30 -0
  494. package/src/activity/timeline/publish-cli.ts +7 -0
  495. package/src/activity/timeline/query.ts +8 -1
  496. package/src/activity/timeline/regenerate.test.ts +82 -2
  497. package/src/activity/timeline/regenerate.ts +7 -1
  498. package/src/activity/vault-frontmatter.test.ts +99 -1
  499. package/src/activity/vault-frontmatter.ts +131 -0
  500. package/src/activity/vault-publish.ts +6 -0
  501. package/src/activity/vault-publisher.test.ts +172 -0
  502. package/src/activity/vault-publisher.ts +69 -15
  503. package/src/activity/vault-region.test.ts +7 -2
  504. package/src/activity/vault-region.ts +7 -3
  505. package/src/background-generation-config.ts +32 -6
  506. package/src/background-generation.test.ts +10 -1
  507. package/src/cli/timeline-publish-commands.ts +9 -0
  508. package/src/config.test.ts +170 -43
  509. package/src/config.ts +17 -5
  510. package/src/extraction-error-classification.ts +36 -1
  511. package/src/extraction-timeout.test.ts +110 -1
  512. package/src/extraction.test.ts +19 -1
  513. package/src/extraction.ts +23 -21
  514. package/src/fallback-llm-codex-subscription.ts +193 -7
  515. package/src/fallback-llm-parse-failure.test.ts +156 -0
  516. package/src/fallback-llm.test.ts +58 -0
  517. package/src/fallback-llm.ts +187 -186
  518. package/src/index.ts +1 -0
  519. package/src/local-llm-config.ts +11 -10
  520. package/src/local-llm-headers-timeout.test.ts +30 -0
  521. package/src/local-llm-helpers.ts +28 -0
  522. package/src/local-llm.ts +8 -19
  523. package/src/namespaces/search.test.ts +51 -1
  524. package/src/namespaces/search.ts +48 -3
  525. package/src/orchestration/extraction-persist-promotion.test.ts +228 -2
  526. package/src/orchestration/extraction-persist-promotion.ts +17 -14
  527. package/src/orchestration/orchestrator-helpers.test.ts +104 -0
  528. package/src/orchestration/orchestrator-init.ts +366 -106
  529. package/src/orchestration/recall-internal.ts +5 -11
  530. package/src/orchestration/semantic-merge-promotion-payload.ts +62 -6
  531. package/src/orchestration/startup-collection-checks.ts +85 -0
  532. package/src/orchestrator-flush.test.ts +7 -0
  533. package/src/orchestrator-init.test.ts +1539 -0
  534. package/src/orchestrator.ts +7 -0
  535. package/src/qmd.ts +21 -10
  536. package/src/recall-state-view-admission.ts +11 -1
  537. package/src/recall-state-view-cron-intent.test.ts +268 -0
  538. package/src/recall-state-view-widen.test.ts +14 -5
  539. package/src/recall-state-view-widen.ts +8 -1
  540. package/src/recall-state-view.ts +5 -2
  541. package/src/reconcile-identity-cache.test.ts +82 -1
  542. package/src/search/port.ts +1 -1
  543. package/src/storage/cas-revision-store.test.ts +4 -0
  544. package/src/storage/cas-revision-store.ts +104 -12
  545. package/src/storage-frontmatter-cas.test.ts +19 -17
  546. package/src/summarizer.ts +5 -1
  547. package/src/task-llm-config.test.ts +124 -0
  548. package/src/task-llm-config.ts +88 -0
  549. package/src/testing/subjects/startup-discovery-lifecycle.test.ts +273 -0
  550. package/src/types.ts +1 -0
  551. package/dist/chunk-3CBI2ZSA.js.map +0 -1
  552. package/dist/chunk-5HYUUFMQ.js.map +0 -1
  553. package/dist/chunk-6H2G7RFT.js.map +0 -1
  554. package/dist/chunk-6YAIN5XJ.js.map +0 -1
  555. package/dist/chunk-ACY4ZPF7.js.map +0 -1
  556. package/dist/chunk-B36GUU6T.js.map +0 -1
  557. package/dist/chunk-BLDBT6HZ.js.map +0 -1
  558. package/dist/chunk-CWTCMZGE.js.map +0 -1
  559. package/dist/chunk-CZTPU65V.js.map +0 -1
  560. package/dist/chunk-FWWWUPOE.js.map +0 -1
  561. package/dist/chunk-IQEJIOEU.js.map +0 -1
  562. package/dist/chunk-IYKZJVL5.js.map +0 -1
  563. package/dist/chunk-JXN77SGO.js.map +0 -1
  564. package/dist/chunk-LPYYY4AP.js.map +0 -1
  565. package/dist/chunk-LQNRVPTV.js.map +0 -1
  566. package/dist/chunk-MVAQ2WM3.js.map +0 -1
  567. package/dist/chunk-P4ZAEYKG.js.map +0 -1
  568. package/dist/chunk-QHT7MOUF.js.map +0 -1
  569. package/dist/chunk-QTQ6XKGT.js.map +0 -1
  570. package/dist/chunk-TNZNSMVJ.js.map +0 -1
  571. package/dist/chunk-WKDFJXW5.js.map +0 -1
  572. package/dist/chunk-YDVAM7S4.js.map +0 -1
  573. package/dist/chunk-YFTNZMGR.js.map +0 -1
  574. package/dist/chunk-YKREX63Z.js.map +0 -1
  575. /package/dist/{auto-sync-RP4C6ZPF.js.map → auto-sync-D6BAPIJV.js.map} +0 -0
  576. /package/dist/{chunk-JTQR6L2N.js.map → chunk-2SKMZUOW.js.map} +0 -0
  577. /package/dist/{chunk-GG5FHZJJ.js.map → chunk-2SNCQHJZ.js.map} +0 -0
  578. /package/dist/{chunk-O76F5QPP.js.map → chunk-3QEVOQF5.js.map} +0 -0
  579. /package/dist/{chunk-3N3PBBEH.js.map → chunk-3XPN7AVY.js.map} +0 -0
  580. /package/dist/{chunk-X4TD4O2F.js.map → chunk-46Z3VGWF.js.map} +0 -0
  581. /package/dist/{chunk-2ZTDRNCS.js.map → chunk-4CMXI55L.js.map} +0 -0
  582. /package/dist/{chunk-MUTVRKKY.js.map → chunk-7D6SER6A.js.map} +0 -0
  583. /package/dist/{chunk-WBM2MVBK.js.map → chunk-7Z54NXVS.js.map} +0 -0
  584. /package/dist/{chunk-UHRZ324M.js.map → chunk-BGRTZOJB.js.map} +0 -0
  585. /package/dist/{chunk-ZEGL7YCC.js.map → chunk-BXIJSPCL.js.map} +0 -0
  586. /package/dist/{chunk-JKKII6GX.js.map → chunk-BYQX4IOG.js.map} +0 -0
  587. /package/dist/{chunk-WIWLX65T.js.map → chunk-C5R73BON.js.map} +0 -0
  588. /package/dist/{chunk-BD7JTBYP.js.map → chunk-D7MAYFQP.js.map} +0 -0
  589. /package/dist/{chunk-LMLGBG6H.js.map → chunk-DFVSJFHK.js.map} +0 -0
  590. /package/dist/{chunk-3NPNBVFR.js.map → chunk-ES5BUPYB.js.map} +0 -0
  591. /package/dist/{chunk-TNSCIPBQ.js.map → chunk-G6NQ3L4T.js.map} +0 -0
  592. /package/dist/{chunk-5N4MZLEH.js.map → chunk-GO5LOHCD.js.map} +0 -0
  593. /package/dist/{chunk-AECJY3GJ.js.map → chunk-GSSDHAYH.js.map} +0 -0
  594. /package/dist/{chunk-TSP5WH72.js.map → chunk-HJUP3K6L.js.map} +0 -0
  595. /package/dist/{chunk-AAZEKXUP.js.map → chunk-ICNJ6J46.js.map} +0 -0
  596. /package/dist/{chunk-6EHM2AV7.js.map → chunk-IMBQFHRV.js.map} +0 -0
  597. /package/dist/{chunk-4RZLTZVM.js.map → chunk-IOPIGX7Y.js.map} +0 -0
  598. /package/dist/{chunk-EYKIDK33.js.map → chunk-IS2IDFJP.js.map} +0 -0
  599. /package/dist/{chunk-VJIE4D2I.js.map → chunk-J4WGTN2N.js.map} +0 -0
  600. /package/dist/{chunk-NXGSONWM.js.map → chunk-J7FVMLBR.js.map} +0 -0
  601. /package/dist/{chunk-VSL63CFJ.js.map → chunk-JAJIMTFB.js.map} +0 -0
  602. /package/dist/{chunk-4JVQRFZD.js.map → chunk-JOP7W24J.js.map} +0 -0
  603. /package/dist/{chunk-YUW66UAH.js.map → chunk-JUDT33RX.js.map} +0 -0
  604. /package/dist/{chunk-D545Z7UH.js.map → chunk-K4JKAXMO.js.map} +0 -0
  605. /package/dist/{chunk-BV4ZKIZH.js.map → chunk-K75A5XWU.js.map} +0 -0
  606. /package/dist/{chunk-M6HBPLBA.js.map → chunk-KOTG3RXE.js.map} +0 -0
  607. /package/dist/{chunk-OB3XMWX5.js.map → chunk-KVO2BTA4.js.map} +0 -0
  608. /package/dist/{chunk-GI4ZBWPQ.js.map → chunk-KY236SP5.js.map} +0 -0
  609. /package/dist/{chunk-4BCHFSC7.js.map → chunk-LFVZD5EC.js.map} +0 -0
  610. /package/dist/{chunk-O4M4BDIJ.js.map → chunk-LKFVVN7R.js.map} +0 -0
  611. /package/dist/{chunk-4RX5O34R.js.map → chunk-MJC7UKH7.js.map} +0 -0
  612. /package/dist/{chunk-UZZ7SQT3.js.map → chunk-NVVZPBKI.js.map} +0 -0
  613. /package/dist/{chunk-VBSNUH4J.js.map → chunk-PKUJNICO.js.map} +0 -0
  614. /package/dist/{chunk-OPBFP4TF.js.map → chunk-QE6YVNP5.js.map} +0 -0
  615. /package/dist/{chunk-ENBPQEVU.js.map → chunk-QPVNK2VE.js.map} +0 -0
  616. /package/dist/{chunk-RLJHJQUY.js.map → chunk-QS5Q5RBV.js.map} +0 -0
  617. /package/dist/{chunk-3EKVN2OP.js.map → chunk-RDLPFM7I.js.map} +0 -0
  618. /package/dist/{chunk-F4EHXVP7.js.map → chunk-RJQAP333.js.map} +0 -0
  619. /package/dist/{chunk-5SPCMAUC.js.map → chunk-ROEFLU37.js.map} +0 -0
  620. /package/dist/{chunk-UZEHHXYC.js.map → chunk-SFHLQPBF.js.map} +0 -0
  621. /package/dist/{chunk-ZBW7A667.js.map → chunk-SUEOG2S4.js.map} +0 -0
  622. /package/dist/{chunk-Q7CLGFA7.js.map → chunk-TEMKBSV6.js.map} +0 -0
  623. /package/dist/{chunk-GMIQV6DD.js.map → chunk-TO36VPZI.js.map} +0 -0
  624. /package/dist/{chunk-FXHOZGSE.js.map → chunk-V2ZA4YWE.js.map} +0 -0
  625. /package/dist/{chunk-XH3HGI2N.js.map → chunk-VHKXRYQN.js.map} +0 -0
  626. /package/dist/{chunk-GAS7KYC7.js.map → chunk-VKWFNPBH.js.map} +0 -0
  627. /package/dist/{chunk-IL6ODG6M.js.map → chunk-VQWBUPSJ.js.map} +0 -0
  628. /package/dist/{chunk-5YCNDC3C.js.map → chunk-VQYWKCDR.js.map} +0 -0
  629. /package/dist/{chunk-54NX5EG4.js.map → chunk-W23JARAQ.js.map} +0 -0
  630. /package/dist/{chunk-YQNNHLCG.js.map → chunk-WPGR3RW4.js.map} +0 -0
  631. /package/dist/{chunk-FNHLI2RE.js.map → chunk-WZYHPAG5.js.map} +0 -0
  632. /package/dist/{chunk-TA4C3XB7.js.map → chunk-XM46Y66S.js.map} +0 -0
  633. /package/dist/{chunk-PCOVEDPK.js.map → chunk-YRIFXXMI.js.map} +0 -0
  634. /package/dist/{chunk-TRLOFIQC.js.map → chunk-YTK5MVNF.js.map} +0 -0
  635. /package/dist/{chunk-Q432REND.js.map → chunk-YTZN2UZO.js.map} +0 -0
  636. /package/dist/{chunk-6AGWBKQU.js.map → chunk-Z4GUX2M6.js.map} +0 -0
  637. /package/dist/{chunk-AENM6GKU.js.map → chunk-ZAEPD4C2.js.map} +0 -0
  638. /package/dist/{chunk-KQW3YGEN.js.map → chunk-ZRMMXWYI.js.map} +0 -0
  639. /package/dist/{chunk-MCRVQ5YQ.js.map → chunk-ZZCR2QYL.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  formatSupersededPrefix
3
- } from "./chunk-YDVAM7S4.js";
3
+ } from "./chunk-NETQXOPY.js";
4
4
 
5
5
  // src/recall-state-view-render.ts
6
6
  function renderStateViewLine(result, options = {}) {
@@ -17,4 +17,4 @@ function renderStateViewLine(result, options = {}) {
17
17
  export {
18
18
  renderStateViewLine
19
19
  };
20
- //# sourceMappingURL=chunk-FXHOZGSE.js.map
20
+ //# sourceMappingURL=chunk-V2ZA4YWE.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-3EKVN2OP.js";
5
+ } from "./chunk-RDLPFM7I.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-XH3HGI2N.js.map
77
+ //# sourceMappingURL=chunk-VHKXRYQN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getVerdictKind
3
- } from "./chunk-YUW66UAH.js";
3
+ } from "./chunk-JUDT33RX.js";
4
4
  import {
5
5
  scoreImportance
6
6
  } from "./chunk-UOBPK2OS.js";
@@ -1320,4 +1320,4 @@ export {
1320
1320
  syncWearableSource,
1321
1321
  defaultTimezone
1322
1322
  };
1323
- //# sourceMappingURL=chunk-GAS7KYC7.js.map
1323
+ //# sourceMappingURL=chunk-VKWFNPBH.js.map
@@ -1,6 +1,9 @@
1
+ import {
2
+ parseTaskLlmConfig
3
+ } from "./chunk-SK7D34OL.js";
1
4
  import {
2
5
  parseBackgroundGeneration
3
- } from "./chunk-YFTNZMGR.js";
6
+ } from "./chunk-27NO2KVB.js";
4
7
  import {
5
8
  coerceNumber
6
9
  } from "./chunk-PQVCH2AE.js";
@@ -9,11 +12,6 @@ import {
9
12
  } from "./chunk-P2QRMMVQ.js";
10
13
 
11
14
  // src/local-llm-config.ts
12
- function parseLocalLlmTimeoutMs(value) {
13
- const coerced = coerceNumber(value);
14
- if (coerced === void 0) return 18e4;
15
- return Math.min(864e5, Math.max(1, Math.floor(coerced)));
16
- }
17
15
  function parseLocalLlmMaxContext(value) {
18
16
  if (value === void 0 || value === null) return void 0;
19
17
  const coerced = coerceNumber(value);
@@ -34,8 +32,9 @@ function copyStringRecord(value) {
34
32
  return headers;
35
33
  }
36
34
  function parseLocalLlmConfig(cfg, localLlmApiKeyEnv, resolveEnvVars) {
35
+ const taskLlm = parseTaskLlmConfig(cfg);
37
36
  return {
38
- backgroundGeneration: parseBackgroundGeneration(cfg),
37
+ backgroundGeneration: parseBackgroundGeneration(cfg, resolveEnvVars),
39
38
  localLlmEnabled: cfg.localLlmEnabled === true || cfg.localLlmEnabled === "true",
40
39
  localLlmUrl: typeof cfg.localLlmUrl === "string" && cfg.localLlmUrl.length > 0 ? cfg.localLlmUrl : "http://localhost:1234/v1",
41
40
  localLlmModel: typeof cfg.localLlmModel === "string" && cfg.localLlmModel.length > 0 ? cfg.localLlmModel : "local-model",
@@ -43,11 +42,13 @@ function parseLocalLlmConfig(cfg, localLlmApiKeyEnv, resolveEnvVars) {
43
42
  localLlmApiKeyEnv,
44
43
  localLlmHeaders: copyStringRecord(cfg.localLlmHeaders),
45
44
  localLlmAuthHeader: cfg.localLlmAuthHeader !== false,
46
- localLlmFallback: cfg.localLlmFallback !== false,
45
+ localLlmFallback: taskLlm.fallback,
46
+ taskLlmFallback: taskLlm.fallback,
47
47
  localLlmHomeDir: typeof cfg.localLlmHomeDir === "string" && cfg.localLlmHomeDir.length > 0 ? cfg.localLlmHomeDir : void 0,
48
48
  localLmsCliPath: typeof cfg.localLmsCliPath === "string" && cfg.localLmsCliPath.length > 0 ? cfg.localLmsCliPath : void 0,
49
49
  localLmsBinDir: typeof cfg.localLmsBinDir === "string" && cfg.localLmsBinDir.length > 0 ? cfg.localLmsBinDir : void 0,
50
- localLlmTimeoutMs: parseLocalLlmTimeoutMs(cfg.localLlmTimeoutMs),
50
+ localLlmTimeoutMs: taskLlm.localTimeoutMs,
51
+ taskLlmTimeoutMs: taskLlm.timeoutMs,
51
52
  localLlmMaxContext: parseLocalLlmMaxContext(cfg.localLlmMaxContext)
52
53
  };
53
54
  }
@@ -55,4 +56,4 @@ function parseLocalLlmConfig(cfg, localLlmApiKeyEnv, resolveEnvVars) {
55
56
  export {
56
57
  parseLocalLlmConfig
57
58
  };
58
- //# sourceMappingURL=chunk-6H2G7RFT.js.map
59
+ //# sourceMappingURL=chunk-VNQRRUNS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/local-llm-config.ts"],"sourcesContent":["import { coerceNumber } from \"./connectors/coerce.js\";\nimport { parseBackgroundGeneration } from \"./background-generation-config.js\";\nimport type { BackgroundGenerationConfig } from \"./background-generation-config.js\";\nimport { readEnvVar } from \"./runtime/env.js\";\nimport { parseTaskLlmConfig } from \"./task-llm-config.js\";\nexport interface LocalLlmConfig {\n // Local LLM Provider (v2.1)\n localLlmEnabled: boolean;\n localLlmUrl: string;\n localLlmModel: string;\n /** Optional API key for authenticated OpenAI-compatible endpoints. */\n localLlmApiKey?: string;\n /** Optional environment-variable name that supplies localLlmApiKey at runtime. */\n localLlmApiKeyEnv?: string;\n /** Additional headers for local/compatible endpoint requests. */\n localLlmHeaders?: Record<string, string>;\n /** If false, do not send Authorization header even when localLlmApiKey is set. */\n localLlmAuthHeader: boolean;\n localLlmFallback: boolean;\n taskLlmFallback?: boolean;\n /** Optional home directory override for local LLM helpers (LM Studio settings, CLI PATH). */\n localLlmHomeDir?: string;\n /** Optional absolute path to LMS CLI binary (preferred over auto-detection). */\n localLmsCliPath?: string;\n /** Optional bin directory prepended to PATH for LMS CLI execution. */\n localLmsBinDir?: string;\n /** Hard timeout for local LLM requests (ms). Legacy alias for the task-chain timeout when `taskLlmTimeoutMs` is absent. */\n localLlmTimeoutMs: number;\n /** Timeout for the gateway/task LLM chain (ms). */\n taskLlmTimeoutMs?: number;\n /** Max context window for local LLM (override auto-detection). Set lower if your LLM server defaults to smaller contexts. */\n localLlmMaxContext?: number;\n}\n\nexport type LocalLlmParseResult = LocalLlmConfig & {\n backgroundGeneration?: BackgroundGenerationConfig;\n};\n\n\nfunction parseLocalLlmMaxContext(value: unknown): number | undefined {\n if (value === undefined || value === null) return undefined;\n const coerced = coerceNumber(value);\n if (\n coerced === undefined ||\n !Number.isFinite(coerced) ||\n !Number.isInteger(coerced) ||\n coerced < 1024\n ) {\n throw new Error(\n `localLlmMaxContext must be an integer greater than or equal to 1024; got ${JSON.stringify(value)}`,\n );\n }\n return coerced;\n}\n\nfunction copyStringRecord(value: unknown): Record<string, string> | undefined {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return undefined;\n const headers: Record<string, string> = {};\n for (const key of Object.getOwnPropertyNames(value)) {\n const headerValue = Reflect.get(value, key);\n if (typeof headerValue === \"string\") headers[key] = headerValue;\n }\n return headers;\n}\n\nexport function parseLocalLlmConfig(\n cfg: Record<string, unknown>,\n localLlmApiKeyEnv: string | undefined,\n resolveEnvVars: (value: string) => string,\n): LocalLlmParseResult {\n const taskLlm = parseTaskLlmConfig(cfg);\n return {\n backgroundGeneration: parseBackgroundGeneration(cfg, resolveEnvVars),\n localLlmEnabled: cfg.localLlmEnabled === true || cfg.localLlmEnabled === \"true\",\n localLlmUrl:\n typeof cfg.localLlmUrl === \"string\" && cfg.localLlmUrl.length > 0\n ? cfg.localLlmUrl\n : \"http://localhost:1234/v1\",\n localLlmModel:\n typeof cfg.localLlmModel === \"string\" && cfg.localLlmModel.length > 0\n ? cfg.localLlmModel\n : \"local-model\",\n localLlmApiKey:\n typeof cfg.localLlmApiKey === \"string\" && cfg.localLlmApiKey.length > 0\n ? resolveEnvVars(cfg.localLlmApiKey)\n : localLlmApiKeyEnv === undefined\n ? undefined\n : readEnvVar(localLlmApiKeyEnv),\n localLlmApiKeyEnv,\n localLlmHeaders: copyStringRecord(cfg.localLlmHeaders),\n localLlmAuthHeader: cfg.localLlmAuthHeader !== false,\n localLlmFallback: taskLlm.fallback,\n taskLlmFallback: taskLlm.fallback,\n localLlmHomeDir:\n typeof cfg.localLlmHomeDir === \"string\" && cfg.localLlmHomeDir.length > 0\n ? cfg.localLlmHomeDir\n : undefined,\n localLmsCliPath:\n typeof cfg.localLmsCliPath === \"string\" && cfg.localLmsCliPath.length > 0\n ? cfg.localLmsCliPath\n : undefined,\n localLmsBinDir:\n typeof cfg.localLmsBinDir === \"string\" && cfg.localLmsBinDir.length > 0\n ? cfg.localLmsBinDir\n : undefined,\n localLlmTimeoutMs: taskLlm.localTimeoutMs,\n taskLlmTimeoutMs: taskLlm.timeoutMs,\n localLlmMaxContext: parseLocalLlmMaxContext(cfg.localLlmMaxContext),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AAuCA,SAAS,wBAAwB,OAAoC;AACnE,MAAI,UAAU,UAAa,UAAU,KAAM,QAAO;AAClD,QAAM,UAAU,aAAa,KAAK;AAClC,MACE,YAAY,UACZ,CAAC,OAAO,SAAS,OAAO,KACxB,CAAC,OAAO,UAAU,OAAO,KACzB,UAAU,MACV;AACA,UAAM,IAAI;AAAA,MACR,4EAA4E,KAAK,UAAU,KAAK,CAAC;AAAA,IACnG;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,iBAAiB,OAAoD;AAC5E,MAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,EAAG,QAAO;AACxE,QAAM,UAAkC,CAAC;AACzC,aAAW,OAAO,OAAO,oBAAoB,KAAK,GAAG;AACnD,UAAM,cAAc,QAAQ,IAAI,OAAO,GAAG;AAC1C,QAAI,OAAO,gBAAgB,SAAU,SAAQ,GAAG,IAAI;AAAA,EACtD;AACA,SAAO;AACT;AAEO,SAAS,oBACd,KACA,mBACA,gBACqB;AACrB,QAAM,UAAU,mBAAmB,GAAG;AACtC,SAAO;AAAA,IACL,sBAAsB,0BAA0B,KAAK,cAAc;AAAA,IACnE,iBAAiB,IAAI,oBAAoB,QAAQ,IAAI,oBAAoB;AAAA,IACzE,aACE,OAAO,IAAI,gBAAgB,YAAY,IAAI,YAAY,SAAS,IAC5D,IAAI,cACJ;AAAA,IACN,eACE,OAAO,IAAI,kBAAkB,YAAY,IAAI,cAAc,SAAS,IAChE,IAAI,gBACJ;AAAA,IACN,gBACE,OAAO,IAAI,mBAAmB,YAAY,IAAI,eAAe,SAAS,IAClE,eAAe,IAAI,cAAc,IACjC,sBAAsB,SACpB,SACA,WAAW,iBAAiB;AAAA,IACpC;AAAA,IACA,iBAAiB,iBAAiB,IAAI,eAAe;AAAA,IACrD,oBAAoB,IAAI,uBAAuB;AAAA,IAC/C,kBAAkB,QAAQ;AAAA,IAC1B,iBAAiB,QAAQ;AAAA,IACzB,iBACE,OAAO,IAAI,oBAAoB,YAAY,IAAI,gBAAgB,SAAS,IACpE,IAAI,kBACJ;AAAA,IACN,iBACE,OAAO,IAAI,oBAAoB,YAAY,IAAI,gBAAgB,SAAS,IACpE,IAAI,kBACJ;AAAA,IACN,gBACE,OAAO,IAAI,mBAAmB,YAAY,IAAI,eAAe,SAAS,IAClE,IAAI,iBACJ;AAAA,IACN,mBAAmB,QAAQ;AAAA,IAC3B,kBAAkB,QAAQ;AAAA,IAC1B,oBAAoB,wBAAwB,IAAI,kBAAkB;AAAA,EACpE;AACF;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listNamespaces
3
- } from "./chunk-GI4ZBWPQ.js";
3
+ } from "./chunk-KY236SP5.js";
4
4
  import {
5
5
  capabilityAllowsNamespace
6
6
  } from "./chunk-MZWSOLMT.js";
@@ -282,4 +282,4 @@ export {
282
282
  computeServiceCorpusWatermarks,
283
283
  computeServiceCorpusCensus
284
284
  };
285
- //# sourceMappingURL=chunk-IL6ODG6M.js.map
285
+ //# sourceMappingURL=chunk-VQWBUPSJ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-CZTPU65V.js";
3
+ } from "./chunk-MVG3KXON.js";
4
4
  import {
5
5
  normalizeEntityName
6
6
  } from "./chunk-YXZG5TVN.js";
@@ -957,4 +957,4 @@ export {
957
957
  resolveBriefingSaveDir,
958
958
  briefingFilename
959
959
  };
960
- //# sourceMappingURL=chunk-5YCNDC3C.js.map
960
+ //# sourceMappingURL=chunk-VQYWKCDR.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  resolveDefaultNamespaceRoot,
3
3
  resolveNamespaceStorageRoot
4
- } from "./chunk-GG5FHZJJ.js";
4
+ } from "./chunk-2SNCQHJZ.js";
5
5
  import {
6
6
  MutationSerializer,
7
7
  withHeldFileLock
@@ -1473,4 +1473,4 @@ export {
1473
1473
  isNamespaceKind,
1474
1474
  NamespaceCatalog
1475
1475
  };
1476
- //# sourceMappingURL=chunk-54NX5EG4.js.map
1476
+ //# sourceMappingURL=chunk-W23JARAQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  reportSearchDegradation
3
- } from "./chunk-JXN77SGO.js";
3
+ } from "./chunk-U2VDCFXW.js";
4
4
  import {
5
5
  log
6
6
  } from "./chunk-3WCASNQZ.js";
@@ -121,4 +121,4 @@ var RemoteSearchBackend = class {
121
121
  export {
122
122
  RemoteSearchBackend
123
123
  };
124
- //# sourceMappingURL=chunk-YQNNHLCG.js.map
124
+ //# sourceMappingURL=chunk-WPGR3RW4.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  hasMemoryData
3
- } from "./chunk-54NX5EG4.js";
3
+ } from "./chunk-W23JARAQ.js";
4
4
  import {
5
5
  resolveNamespaceStorageRoot
6
- } from "./chunk-GG5FHZJJ.js";
6
+ } from "./chunk-2SNCQHJZ.js";
7
7
  import {
8
8
  getConfiguredNamespaces
9
9
  } from "./chunk-OQQXGYMX.js";
@@ -724,4 +724,4 @@ export {
724
724
  runNamespaceMaintenancePlan,
725
725
  runNamespaceMaintenanceBatchPlan
726
726
  };
727
- //# sourceMappingURL=chunk-FNHLI2RE.js.map
727
+ //# sourceMappingURL=chunk-WZYHPAG5.js.map
@@ -9,6 +9,9 @@ import {
9
9
  coerceBooleanLike,
10
10
  coerceNumber
11
11
  } from "./chunk-PQVCH2AE.js";
12
+ import {
13
+ expandTildePath
14
+ } from "./chunk-6KH5NLQS.js";
12
15
  import {
13
16
  log
14
17
  } from "./chunk-3WCASNQZ.js";
@@ -137,6 +140,214 @@ function isoWeekNumber(date) {
137
140
  return String(weekNo).padStart(2, "0");
138
141
  }
139
142
 
143
+ // src/activity/vault-publish.ts
144
+ import { createHash, randomBytes } from "crypto";
145
+ import { readFileSync, renameSync, statSync, unlinkSync, writeFileSync } from "fs";
146
+ import path2 from "path";
147
+ function applyManagedRegion(fileText, opts) {
148
+ if (opts.strategy === "heading") return applyHeadingRegion(fileText, opts.name, opts.content);
149
+ const startMarker = `<!-- remnic:${opts.name}:start -->`;
150
+ const endMarker = `<!-- remnic:${opts.name}:end -->`;
151
+ const rows = fileLines(fileText);
152
+ let startRow;
153
+ let endRow;
154
+ for (const row of rows) {
155
+ if (row.fenced) continue;
156
+ const trimmed = row.line.trim();
157
+ if (startRow === void 0) {
158
+ if (trimmed === startMarker) startRow = row;
159
+ } else if (endRow === void 0 && trimmed === endMarker) {
160
+ endRow = row;
161
+ break;
162
+ }
163
+ }
164
+ if (startRow === void 0 || endRow === void 0) {
165
+ return { ok: false, reason: "no_marker", text: fileText };
166
+ }
167
+ const { body, eol } = ownedBody(fileText, opts.content);
168
+ return {
169
+ ok: true,
170
+ text: `${fileText.slice(0, startRow.start + startRow.line.length)}${eol}${body}${eol}${fileText.slice(endRow.start)}`
171
+ };
172
+ }
173
+ function applyHeadingRegion(fileText, name, content) {
174
+ const wanted = name.trim();
175
+ const rows = fileLines(fileText);
176
+ const hits = [];
177
+ for (const row of rows) {
178
+ if (row.fenced) continue;
179
+ const heading = parseAtxHeading(row.line);
180
+ if (heading && heading.text === wanted) {
181
+ hits.push({ line: row.number, level: heading.level, next: row.next });
182
+ }
183
+ }
184
+ if (hits.length === 0) return { ok: false, reason: "no_heading", text: fileText };
185
+ if (hits.length > 1) {
186
+ return { ok: false, reason: "duplicate_heading", lines: hits.map((hit2) => hit2.line), text: fileText };
187
+ }
188
+ const hit = hits[0];
189
+ let sectionEnd = fileText.length;
190
+ for (const row of rows) {
191
+ if (row.start < hit.next || row.fenced) continue;
192
+ const heading = parseAtxHeading(row.line);
193
+ if (heading && heading.level <= hit.level) {
194
+ sectionEnd = row.start;
195
+ break;
196
+ }
197
+ }
198
+ const { body, eol } = ownedBody(fileText, demoteOwnedHeadings(content, hit.level));
199
+ const prefix = hit.next === fileText.length && !fileText.endsWith("\n") && !fileText.endsWith("\r") ? `${fileText}${eol}` : fileText.slice(0, hit.next);
200
+ return { ok: true, text: `${prefix}${body}${eol}${fileText.slice(sectionEnd)}` };
201
+ }
202
+ function demoteOwnedHeadings(content, owningLevel) {
203
+ const rows = fileLines(content);
204
+ let out = "";
205
+ let cursor = 0;
206
+ for (const row of rows) {
207
+ const heading = row.fenced ? null : parseAtxHeading(row.line);
208
+ if (heading === null) continue;
209
+ const level = Math.min(owningLevel + heading.level, 6);
210
+ const replacement = level > owningLevel ? `${"#".repeat(level)} ${heading.text}` : `**${heading.text}**`;
211
+ out += content.slice(cursor, row.start) + replacement;
212
+ cursor = row.start + row.line.length;
213
+ }
214
+ return out + content.slice(cursor);
215
+ }
216
+ function ownedBody(fileText, content) {
217
+ const eol = fileText.includes("\r\n") ? "\r\n" : "\n";
218
+ let body = content.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
219
+ if (eol === "\r\n") body = body.replace(/\n/g, "\r\n");
220
+ if (body.endsWith(eol)) body = body.slice(0, -eol.length);
221
+ return { body, eol };
222
+ }
223
+ function fileLines(fileText) {
224
+ const rows = [];
225
+ let start = 0;
226
+ let number = 1;
227
+ let fence = null;
228
+ while (start < fileText.length) {
229
+ let i = start;
230
+ while (i < fileText.length && fileText[i] !== "\n" && fileText[i] !== "\r") i++;
231
+ let next = i;
232
+ if (fileText[i] === "\r" && fileText[i + 1] === "\n") next = i + 2;
233
+ else if (fileText[i] === "\n" || fileText[i] === "\r") next = i + 1;
234
+ else next = fileText.length;
235
+ const line = fileText.slice(start, i);
236
+ const indentedCode = indentColumn(line) >= 4;
237
+ const run = indentedCode ? null : fenceRun(line);
238
+ let fenced;
239
+ if (fence === null) {
240
+ if (run !== null && !(run.char === "`" && run.info.includes("`"))) {
241
+ fence = { char: run.char, len: run.len };
242
+ }
243
+ fenced = fence !== null || indentedCode;
244
+ } else {
245
+ fenced = true;
246
+ if (run !== null && run.char === fence.char && run.len >= fence.len && run.info.length === 0) {
247
+ fence = null;
248
+ }
249
+ }
250
+ rows.push({ line, start, next, number, fenced });
251
+ number += 1;
252
+ start = next;
253
+ }
254
+ return rows;
255
+ }
256
+ function indentColumn(line) {
257
+ let col = 0;
258
+ for (let i = 0; i < line.length; i += 1) {
259
+ const ch = line[i];
260
+ if (ch === " ") col += 1;
261
+ else if (ch === " ") col += 4 - col % 4;
262
+ else break;
263
+ }
264
+ return col;
265
+ }
266
+ function fenceRun(line) {
267
+ const body = line.trimStart();
268
+ const char = body[0];
269
+ if (char !== "`" && char !== "~") return null;
270
+ let len = 0;
271
+ while (len < body.length && body[len] === char) len++;
272
+ if (len < 3) return null;
273
+ return { char, len, info: body.slice(len).trim() };
274
+ }
275
+ function parseAtxHeading(line) {
276
+ let at = 0;
277
+ let indent = 0;
278
+ while (at < line.length && (line[at] === " " || line[at] === " ")) {
279
+ indent += line[at] === " " ? 1 : 4 - indent % 4;
280
+ if (indent >= 4) return null;
281
+ at += 1;
282
+ }
283
+ let level = 0;
284
+ while (level < 6 && line[at + level] === "#") level++;
285
+ if (level === 0) return null;
286
+ const after = line[at + level];
287
+ if (after !== " " && after !== " ") return null;
288
+ let start = at + level + 1;
289
+ let end = line.length;
290
+ while (start < end && (line[start] === " " || line[start] === " ")) start++;
291
+ while (end > start && (line[end - 1] === " " || line[end - 1] === " ")) end--;
292
+ let hashEnd = end;
293
+ while (hashEnd > start && line[hashEnd - 1] === "#") hashEnd--;
294
+ if (hashEnd < end && hashEnd > start && (line[hashEnd - 1] === " " || line[end - 1] === " ")) {
295
+ end = hashEnd;
296
+ while (end > start && (line[end - 1] === " " || line[end - 1] === " ")) end--;
297
+ }
298
+ return { level, text: line.slice(start, end) };
299
+ }
300
+ function headingSurvivesRoundTrip(name) {
301
+ const parsed = parseAtxHeading(`## ${name}`);
302
+ return parsed !== null && parsed.text === name;
303
+ }
304
+ function publishVaultRegion(input) {
305
+ const vault = expandTildePath(input.vaultPath);
306
+ try {
307
+ if (!statSync(vault).isDirectory()) return { ok: false, reason: "not_directory" };
308
+ } catch {
309
+ return { ok: false, reason: "not_directory" };
310
+ }
311
+ if (input.relativeFile.length === 0 || path2.isAbsolute(input.relativeFile)) {
312
+ return { ok: false, reason: "missing_file" };
313
+ }
314
+ const root = path2.resolve(vault);
315
+ const dest = path2.resolve(root, input.relativeFile);
316
+ const rel = path2.relative(root, dest);
317
+ if (rel.length === 0 || rel.startsWith("..") || path2.isAbsolute(rel)) {
318
+ return { ok: false, reason: "missing_file" };
319
+ }
320
+ let existing;
321
+ try {
322
+ if (!statSync(dest).isFile()) return { ok: false, reason: "missing_file" };
323
+ existing = readFileSync(dest, "utf8");
324
+ } catch (err) {
325
+ if (err.code === "ENOENT") return { ok: false, reason: "missing_file" };
326
+ throw err;
327
+ }
328
+ const applied = applyManagedRegion(existing, {
329
+ strategy: "markers",
330
+ name: input.name,
331
+ content: input.content
332
+ });
333
+ if (!applied.ok) return { ok: false, reason: "no_marker" };
334
+ const prevHash = createHash("sha256").update(existing, "utf8").digest("hex");
335
+ const nextHash = createHash("sha256").update(applied.text, "utf8").digest("hex");
336
+ if (prevHash === nextHash) return { ok: true, status: "unchanged" };
337
+ const tmpPath = path2.join(path2.dirname(dest), `.remnic-vault-${randomBytes(8).toString("hex")}.tmp`);
338
+ writeFileSync(tmpPath, applied.text);
339
+ try {
340
+ renameSync(tmpPath, dest);
341
+ } catch (renameErr) {
342
+ try {
343
+ unlinkSync(tmpPath);
344
+ } catch {
345
+ }
346
+ throw renameErr;
347
+ }
348
+ return { ok: true, status: "updated" };
349
+ }
350
+
140
351
  // src/activity/vault-region.ts
141
352
  function validateRegionName(name) {
142
353
  if (typeof name !== "string") {
@@ -145,11 +356,10 @@ function validateRegionName(name) {
145
356
  if (name.includes("\n") || name.includes("\r") || name.includes("-->") || name.includes(":")) {
146
357
  return { ok: false, error: "invalid_name" };
147
358
  }
148
- const trimmed = name.trim();
149
- if (trimmed.length === 0) {
359
+ if (name.trim() !== name || name.trim().length === 0) {
150
360
  return { ok: false, error: "invalid_name" };
151
361
  }
152
- return { ok: true, name: trimmed };
362
+ return { ok: true, name };
153
363
  }
154
364
 
155
365
  // src/activity/timeline/analysis-failure.ts
@@ -223,17 +433,19 @@ function timelineAnalysisCompleteFromClients(input) {
223
433
  "timeline analysis local provider is not configured"
224
434
  );
225
435
  }
436
+ const failureDiag2 = {};
226
437
  const result2 = await localLlm.chatCompletion(messages, {
227
438
  temperature: 0,
228
439
  maxTokens: 2048,
229
440
  signal,
230
441
  operation: "timeline-analysis",
231
442
  redactProviderErrors: true,
232
- model
443
+ model,
444
+ failureDiag: failureDiag2
233
445
  });
234
446
  if (result2 === null) {
235
447
  throw new TimelineAnalysisProviderError(
236
- "provider_unavailable",
448
+ classifyAnalysisProviderError(failureDiag2.lastError),
237
449
  "timeline analysis local provider returned no completion"
238
450
  );
239
451
  }
@@ -245,17 +457,19 @@ function timelineAnalysisCompleteFromClients(input) {
245
457
  "timeline analysis remote provider is not configured"
246
458
  );
247
459
  }
460
+ const failureDiag = {};
248
461
  const result = await remoteLlm.chatCompletion(messages, {
249
462
  temperature: 0,
250
463
  maxTokens: 2048,
251
464
  signal,
252
465
  modelChain: { primary: `${provider}/${model}` },
253
466
  includeDefaultModelFallback: false,
254
- redactProviderErrors: true
467
+ redactProviderErrors: true,
468
+ failureDiag
255
469
  });
256
470
  if (result === null) {
257
471
  throw new TimelineAnalysisProviderError(
258
- "provider_unavailable",
472
+ classifyAnalysisProviderError(failureDiag.lastError),
259
473
  `timeline analysis provider "${provider}" is not configured`
260
474
  );
261
475
  }
@@ -669,7 +883,7 @@ function buildAnalysisRunMetadata(input) {
669
883
  }
670
884
 
671
885
  // src/activity/config.ts
672
- import path2 from "path";
886
+ import path3 from "path";
673
887
 
674
888
  // src/activity/journal-heading.ts
675
889
  function normalizeJournalHeading(value) {
@@ -1009,6 +1223,19 @@ function parseTimelineVaultConfig(raw) {
1009
1223
  const weeklyNotePath = optionalNonEmptyString(vault.weeklyNotePath, "activity.timeline.vault.weeklyNotePath") ?? "";
1010
1224
  const noteTemplate = optionalNonEmptyString(vault.noteTemplate, "activity.timeline.vault.noteTemplate") ?? "";
1011
1225
  const insertUnderHeading = optionalNonEmptyString(vault.insertUnderHeading, "activity.timeline.vault.insertUnderHeading") ?? "";
1226
+ if (insertUnderHeading.length > 0) {
1227
+ const heading = normalizeJournalHeading(insertUnderHeading);
1228
+ if (!heading.ok || heading.heading !== insertUnderHeading) {
1229
+ throw new RangeError(
1230
+ "activity.timeline.vault.insertUnderHeading must be a non-empty trimmed single-line heading"
1231
+ );
1232
+ }
1233
+ if (!headingSurvivesRoundTrip(insertUnderHeading)) {
1234
+ throw new RangeError(
1235
+ "activity.timeline.vault.insertUnderHeading must survive a heading render-and-parse round trip"
1236
+ );
1237
+ }
1238
+ }
1012
1239
  if (typeof vault.sectionStrategy !== "undefined" && typeof vault.sectionStrategy !== "string") {
1013
1240
  throw new TypeError("activity.timeline.vault.sectionStrategy must be a string");
1014
1241
  }
@@ -1017,7 +1244,7 @@ function parseTimelineVaultConfig(raw) {
1017
1244
  throw new RangeError('activity.timeline.vault.sectionStrategy must be one of "markers", "heading"');
1018
1245
  }
1019
1246
  const tildeRooted = vaultPath === "~" || vaultPath.startsWith("~/") || vaultPath.startsWith("~\\");
1020
- if (enabled && (vaultPath.trim().length === 0 || !tildeRooted && !path2.isAbsolute(vaultPath))) {
1247
+ if (enabled && (vaultPath.trim().length === 0 || !tildeRooted && !path3.isAbsolute(vaultPath))) {
1021
1248
  throw new RangeError(
1022
1249
  `activity.timeline.vault.vaultPath must be an absolute or \`~\`-rooted path when activity.timeline.vault.enabled is true; a relative path resolves against the process working directory (got ${JSON.stringify(vaultPath)})`
1023
1250
  );
@@ -1047,6 +1274,15 @@ function parseTimelineVaultConfig(raw) {
1047
1274
  }
1048
1275
  }
1049
1276
  const publish = parseVaultPublishBlock(vault.publish, weeklyNotePath);
1277
+ if (sectionStrategy === "heading") {
1278
+ for (const kind of ["timeline", "standup", "weekly", "locations"]) {
1279
+ if (!headingSurvivesRoundTrip(publish[kind].section)) {
1280
+ throw new RangeError(
1281
+ `activity.timeline.vault.publish.${kind}.section must survive a heading render-and-parse round trip`
1282
+ );
1283
+ }
1284
+ }
1285
+ }
1050
1286
  const wikilinksRaw = vault.wikilinks;
1051
1287
  const wikilinks = wikilinksRaw === void 0 ? { places: false, placesFolder: "Places" } : parseVaultWikilinks(wikilinksRaw);
1052
1288
  const propertiesRaw = vault.properties;
@@ -1059,6 +1295,14 @@ function parseTimelineVaultConfig(raw) {
1059
1295
  readbackRaw?.journalSection,
1060
1296
  "activity.timeline.vault.readback.journalSection"
1061
1297
  );
1298
+ if (readbackJournalSection !== void 0 && readbackJournalSection.length > 0) {
1299
+ const heading = normalizeJournalHeading(readbackJournalSection);
1300
+ if (!heading.ok || heading.heading !== readbackJournalSection) {
1301
+ throw new RangeError(
1302
+ "activity.timeline.vault.readback.journalSection must be a non-empty trimmed single-line heading"
1303
+ );
1304
+ }
1305
+ }
1062
1306
  const readback = {
1063
1307
  journalSection: readbackJournalSection ?? ""
1064
1308
  };
@@ -1248,6 +1492,11 @@ export {
1248
1492
  expandVaultTemplateTokens,
1249
1493
  validateVaultNoteTemplate,
1250
1494
  resolveVaultNotePath,
1495
+ applyManagedRegion,
1496
+ fileLines,
1497
+ parseAtxHeading,
1498
+ headingSurvivesRoundTrip,
1499
+ publishVaultRegion,
1251
1500
  validateRegionName,
1252
1501
  ANALYSIS_FAILURE_KINDS,
1253
1502
  isAnalysisFailureKind,
@@ -1277,4 +1526,4 @@ export {
1277
1526
  parseActivityConfig,
1278
1527
  parseTimelineVaultConfig
1279
1528
  };
1280
- //# sourceMappingURL=chunk-5HYUUFMQ.js.map
1529
+ //# sourceMappingURL=chunk-XCPNH2MG.js.map