@remnic/core 9.65.7 → 9.66.0

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 (713) hide show
  1. package/dist/access-admin-ops-surface.d.ts +15 -14
  2. package/dist/access-admin-ops-surface.js +65 -62
  3. package/dist/access-authorization-probe.d.ts +15 -14
  4. package/dist/access-authorization-probe.js +66 -63
  5. package/dist/access-boundary.d.ts +15 -14
  6. package/dist/access-boundary.js +65 -62
  7. package/dist/access-citation-namespace.js +3 -3
  8. package/dist/access-cli.js +182 -174
  9. package/dist/access-cli.js.map +1 -1
  10. package/dist/access-coding-context-resolution.d.ts +2 -2
  11. package/dist/access-coding-context-resolution.js +2 -2
  12. package/dist/access-extraction-force-flush.d.ts +15 -14
  13. package/dist/access-extraction-force-flush.js +65 -62
  14. package/dist/access-health-types.d.ts +2 -2
  15. package/dist/access-http-lcm-compaction.d.ts +15 -14
  16. package/dist/access-http-lifecycle-flush.d.ts +15 -14
  17. package/dist/access-http-offline-stream.d.ts +15 -14
  18. package/dist/access-http-query.d.ts +3 -3
  19. package/dist/access-http-query.js +67 -64
  20. package/dist/access-http.d.ts +16 -15
  21. package/dist/access-http.js +87 -84
  22. package/dist/access-identity-continuity-surface.d.ts +13 -12
  23. package/dist/access-identity-continuity-surface.js +65 -62
  24. package/dist/access-lcm-surface.d.ts +15 -14
  25. package/dist/access-lcm-surface.js +65 -62
  26. package/dist/access-mcp-output-schemas.js +1 -1
  27. package/dist/access-mcp.d.ts +15 -14
  28. package/dist/access-mcp.js +77 -74
  29. package/dist/access-memory-search-fanout.d.ts +3 -3
  30. package/dist/{access-namespace-preflight-8VYKmRX0.d.ts → access-namespace-preflight-CLWUoMyW.d.ts} +1 -1
  31. package/dist/access-namespace-preflight.d.ts +4 -4
  32. package/dist/access-namespace-preflight.js +65 -62
  33. package/dist/access-observe-write-surface.d.ts +15 -14
  34. package/dist/access-observe-write-surface.js +65 -62
  35. package/dist/access-offline-manifest.d.ts +13 -12
  36. package/dist/access-offline-manifest.js +16 -16
  37. package/dist/access-operations-batch.js +69 -66
  38. package/dist/access-operations.d.ts +16 -15
  39. package/dist/access-operations.js +74 -71
  40. package/dist/access-recall-concurrency.d.ts +15 -14
  41. package/dist/access-recall-concurrency.js +65 -62
  42. package/dist/access-recall-response.d.ts +15 -14
  43. package/dist/access-recall-response.js +65 -62
  44. package/dist/access-recall-surface.d.ts +15 -14
  45. package/dist/access-recall-surface.js +65 -62
  46. package/dist/access-schema.js +7 -7
  47. package/dist/{access-service-Crk__Git.d.ts → access-service-CEUE1Isj.d.ts} +14 -14
  48. package/dist/access-service-helpers.d.ts +15 -14
  49. package/dist/access-service.d.ts +15 -14
  50. package/dist/access-service.js +65 -62
  51. package/dist/access-surface-catalog.d.ts +15 -14
  52. package/dist/access-surface-catalog.js +69 -64
  53. package/dist/access-surface-catalog.js.map +1 -1
  54. package/dist/access-wearables-meetings-surface.d.ts +6 -4
  55. package/dist/action-confidence.d.ts +2 -2
  56. package/dist/active-context-config.d.ts +27 -0
  57. package/dist/active-context-config.js +14 -0
  58. package/dist/active-context-transform.d.ts +267 -0
  59. package/dist/active-context-transform.js +31 -0
  60. package/dist/active-memory-bridge.d.ts +2 -2
  61. package/dist/active-memory-bridge.js +2 -2
  62. package/dist/active-recall.d.ts +2 -2
  63. package/dist/active-recall.js +17 -16
  64. package/dist/active-recall.js.map +1 -1
  65. package/dist/adapters/index.js +7 -7
  66. package/dist/adapters/registry.js +3 -3
  67. package/dist/ambient-provenance.d.ts +2 -2
  68. package/dist/artifact-search.d.ts +2 -2
  69. package/dist/{auto-sync-XVMLL2RH.js → auto-sync-Q6Q2FVSC.js} +10 -10
  70. package/dist/behavior-learner.d.ts +2 -2
  71. package/dist/behavior-signals.d.ts +2 -2
  72. package/dist/bootstrap.d.ts +13 -12
  73. package/dist/briefing-window.d.ts +5 -3
  74. package/dist/briefing.d.ts +5 -3
  75. package/dist/briefing.js +33 -33
  76. package/dist/buffer-surprise-report.d.ts +2 -2
  77. package/dist/buffer-turn-helpers.d.ts +2 -2
  78. package/dist/buffer.d.ts +5 -3
  79. package/dist/buffer.js +24 -8
  80. package/dist/bulk-import/index.d.ts +4 -4
  81. package/dist/calibration.d.ts +2 -2
  82. package/dist/calibration.js +1 -1
  83. package/dist/capabilities.d.ts +2 -2
  84. package/dist/{capsule-merge-SGIVB3WA.js → capsule-merge-SEHERWWP.js} +4 -4
  85. package/dist/{catalog-DybwVNW3.d.ts → catalog-D1HgugTA.d.ts} +1 -1
  86. package/dist/causal-behavior.d.ts +4 -4
  87. package/dist/causal-consolidation.d.ts +2 -2
  88. package/dist/causal-consolidation.js +34 -34
  89. package/dist/causal-trajectory-graph.d.ts +2 -2
  90. package/dist/{chunk-CFGU52XJ.js → chunk-23CVL7HS.js} +2 -2
  91. package/dist/{chunk-PO7NXBG2.js → chunk-2GF27PGH.js} +5 -5
  92. package/dist/{chunk-6CPUQ5D6.js → chunk-2LBAFHOQ.js} +15 -15
  93. package/dist/{chunk-JBPKEARU.js → chunk-2QSZNTDO.js} +7 -7
  94. package/dist/{chunk-IP4ZNT4U.js → chunk-33MFRY25.js} +2 -2
  95. package/dist/{chunk-VFYRYFLL.js → chunk-3TSU662L.js} +3 -3
  96. package/dist/chunk-43HUVDTD.js +114 -0
  97. package/dist/chunk-43HUVDTD.js.map +1 -0
  98. package/dist/{chunk-VXVZ2GM3.js → chunk-4FHRZD5T.js} +2 -2
  99. package/dist/{chunk-FP7YTTVO.js → chunk-4OFKZAJG.js} +2 -1
  100. package/dist/chunk-4OFKZAJG.js.map +1 -0
  101. package/dist/{chunk-5VPQSRQO.js → chunk-4STAANV7.js} +3 -3
  102. package/dist/{chunk-46WM6JX2.js → chunk-4ZWCQJNM.js} +5 -5
  103. package/dist/{chunk-LLQCM2U2.js → chunk-56IV4J5W.js} +617 -167
  104. package/dist/chunk-56IV4J5W.js.map +1 -0
  105. package/dist/{chunk-52II7PB6.js → chunk-645WOU5I.js} +4 -4
  106. package/dist/{chunk-YKWFK7XA.js → chunk-6CEGSTBD.js} +7 -7
  107. package/dist/{chunk-I7EX6KSH.js → chunk-6QDXA26G.js} +264 -210
  108. package/dist/chunk-6QDXA26G.js.map +1 -0
  109. package/dist/{chunk-GEPACVWN.js → chunk-6RUHELWR.js} +3 -3
  110. package/dist/{chunk-ZAOHJDKH.js → chunk-72OIT7KS.js} +4 -4
  111. package/dist/{chunk-KQAFEZQX.js → chunk-7LCGFUMB.js} +4 -4
  112. package/dist/{chunk-7TCGNUVP.js → chunk-7UTDHQZ5.js} +3 -3
  113. package/dist/{chunk-5HK3CJAR.js → chunk-7XOG75AU.js} +3 -3
  114. package/dist/{chunk-7BDZTALN.js → chunk-AJTG3CP7.js} +12 -2
  115. package/dist/chunk-AJTG3CP7.js.map +1 -0
  116. package/dist/{chunk-2LWQSV6A.js → chunk-AL3UYZ5N.js} +3 -2
  117. package/dist/chunk-AL3UYZ5N.js.map +1 -0
  118. package/dist/chunk-B32WYRXX.js +77 -0
  119. package/dist/chunk-B32WYRXX.js.map +1 -0
  120. package/dist/{chunk-C24UZSFW.js → chunk-CEH2AFXG.js} +6 -6
  121. package/dist/{chunk-YOXVZJFM.js → chunk-CFVTRUR3.js} +2 -2
  122. package/dist/{chunk-ACOC27BB.js → chunk-CN4VKV3S.js} +2 -2
  123. package/dist/{chunk-PMVPCZJZ.js → chunk-CTCGHNWN.js} +6 -6
  124. package/dist/{chunk-EGBDFJ36.js → chunk-DD5JFCWM.js} +2 -2
  125. package/dist/{chunk-T42L3S6A.js → chunk-DDX6KIXF.js} +2 -2
  126. package/dist/{chunk-JIYDRBVZ.js → chunk-DJORULH3.js} +2 -2
  127. package/dist/{chunk-WTOZBZNN.js → chunk-DMEHOEC7.js} +6 -6
  128. package/dist/{chunk-OPPBTPUU.js → chunk-DUAJKRR2.js} +4 -4
  129. package/dist/{chunk-XDL5CYZN.js → chunk-EEOUMG3J.js} +2 -1
  130. package/dist/{chunk-XDL5CYZN.js.map → chunk-EEOUMG3J.js.map} +1 -1
  131. package/dist/{chunk-SVVIASVX.js → chunk-EFQCDJZ2.js} +7 -7
  132. package/dist/{chunk-Q57GOHLF.js → chunk-EGALNSZ4.js} +3 -3
  133. package/dist/{chunk-KCT36JAW.js → chunk-ESNFSSO4.js} +2 -2
  134. package/dist/{chunk-XQ3HXAQH.js → chunk-ET2CNMLD.js} +4 -4
  135. package/dist/{chunk-Z4U3UN56.js → chunk-EZSCW4EM.js} +6 -6
  136. package/dist/{chunk-F6QHHRWP.js → chunk-FESUGFIL.js} +3 -3
  137. package/dist/{chunk-S3K2CIK5.js → chunk-FKKGCGYL.js} +3 -3
  138. package/dist/{chunk-BWGCOLEL.js → chunk-FTTJRVB7.js} +2 -2
  139. package/dist/{chunk-JAQXUGLN.js → chunk-FYWLSFFS.js} +2 -2
  140. package/dist/{chunk-BJTHRFFC.js → chunk-GEJKYA7D.js} +77 -36
  141. package/dist/chunk-GEJKYA7D.js.map +1 -0
  142. package/dist/chunk-GSKINLAK.js +267 -0
  143. package/dist/chunk-GSKINLAK.js.map +1 -0
  144. package/dist/{chunk-OPGL46PX.js → chunk-GX6FTSYH.js} +2 -2
  145. package/dist/{chunk-A32YEQAM.js → chunk-H7VDIF2V.js} +2 -2
  146. package/dist/{chunk-PDDSFELN.js → chunk-HJXA6ZM7.js} +2 -2
  147. package/dist/{chunk-RGCF4XNH.js → chunk-HNPE66LB.js} +8 -8
  148. package/dist/{chunk-SEA6M7SS.js → chunk-I5VB44ZK.js} +2 -2
  149. package/dist/{chunk-SDEPLF7V.js → chunk-IBJ6U753.js} +2 -2
  150. package/dist/{chunk-EUYWQ7TS.js → chunk-IEZ6CGTW.js} +2 -2
  151. package/dist/{chunk-RQE4TITU.js → chunk-IHGMRDEE.js} +431 -1834
  152. package/dist/chunk-IHGMRDEE.js.map +1 -0
  153. package/dist/{chunk-3RI5Y7KU.js → chunk-IVIAHQBR.js} +2 -2
  154. package/dist/{chunk-7WR462EM.js → chunk-J3OND5QT.js} +4 -4
  155. package/dist/{chunk-UW5NPZJ2.js → chunk-JALOAKSZ.js} +59 -7
  156. package/dist/chunk-JALOAKSZ.js.map +1 -0
  157. package/dist/{chunk-T3JQTCCO.js → chunk-JI7U6AS3.js} +4 -4
  158. package/dist/{chunk-DVYRD4HY.js → chunk-JRRQ747T.js} +36 -7
  159. package/dist/chunk-JRRQ747T.js.map +1 -0
  160. package/dist/{chunk-I32NKXE2.js → chunk-JTWZKNUH.js} +5 -5
  161. package/dist/chunk-K66OY4EI.js +202 -0
  162. package/dist/chunk-K66OY4EI.js.map +1 -0
  163. package/dist/{chunk-XAB6STPO.js → chunk-KODXCHXJ.js} +17 -3
  164. package/dist/chunk-KODXCHXJ.js.map +1 -0
  165. package/dist/{chunk-ZPUIRTIZ.js → chunk-KOLJJN5G.js} +12 -75
  166. package/dist/chunk-KOLJJN5G.js.map +1 -0
  167. package/dist/{chunk-FMQ4MOQO.js → chunk-KXIXO76C.js} +32 -19
  168. package/dist/chunk-KXIXO76C.js.map +1 -0
  169. package/dist/{chunk-VKCAHCBI.js → chunk-L4X4PJYK.js} +2 -2
  170. package/dist/chunk-LB7WCZHY.js +553 -0
  171. package/dist/chunk-LB7WCZHY.js.map +1 -0
  172. package/dist/{chunk-W4BMEGQA.js → chunk-LUDBXTBJ.js} +8 -8
  173. package/dist/{chunk-I4343FIA.js → chunk-MAH64N55.js} +28 -10
  174. package/dist/chunk-MAH64N55.js.map +1 -0
  175. package/dist/{chunk-RIAM7DND.js → chunk-ME35HVDJ.js} +2 -2
  176. package/dist/{chunk-H63EDPFJ.js → chunk-MI2OTWV5.js} +15 -2
  177. package/dist/{chunk-H63EDPFJ.js.map → chunk-MI2OTWV5.js.map} +1 -1
  178. package/dist/{chunk-LBFFNDFM.js → chunk-MINHJ55X.js} +1 -1
  179. package/dist/chunk-MINHJ55X.js.map +1 -0
  180. package/dist/{chunk-NG3MBQV4.js → chunk-MJRGVXPQ.js} +2 -2
  181. package/dist/{chunk-773TRRGT.js → chunk-MJUCDM3C.js} +2 -2
  182. package/dist/{chunk-7F27PCSN.js → chunk-MN5NOOI7.js} +2 -2
  183. package/dist/{chunk-JCWY73FK.js → chunk-N4F7ZSSG.js} +2 -2
  184. package/dist/{chunk-TR7DGXGI.js → chunk-NACLNNFQ.js} +5 -5
  185. package/dist/{chunk-LC2BDILZ.js → chunk-NBP4EX5N.js} +2 -2
  186. package/dist/{chunk-ZVPVTPGI.js → chunk-NNZFPYYX.js} +4 -4
  187. package/dist/{chunk-MFOSZUIT.js → chunk-NPIBN2VL.js} +2 -2
  188. package/dist/{chunk-IY7UXD3J.js → chunk-O57GM3FR.js} +2 -2
  189. package/dist/{chunk-I2HTKOOP.js → chunk-O7ERGZDA.js} +5 -5
  190. package/dist/{chunk-GTSVEEP3.js → chunk-OAJMQKQR.js} +3 -3
  191. package/dist/{chunk-HSZMX3ZJ.js → chunk-ODW5GDFE.js} +2 -2
  192. package/dist/{chunk-D4QVPP3G.js → chunk-PEBH5DCK.js} +18 -11
  193. package/dist/chunk-PEBH5DCK.js.map +1 -0
  194. package/dist/{chunk-J2WC5LF4.js → chunk-QBC33MPY.js} +2 -1
  195. package/dist/{chunk-EOHKUWXW.js → chunk-QCRJMU5V.js} +2 -2
  196. package/dist/chunk-QJCWK2A7.js +1466 -0
  197. package/dist/chunk-QJCWK2A7.js.map +1 -0
  198. package/dist/{chunk-THG4GYIE.js → chunk-RDGKVH6T.js} +11 -7
  199. package/dist/{chunk-THG4GYIE.js.map → chunk-RDGKVH6T.js.map} +1 -1
  200. package/dist/{chunk-5DH6PG4B.js → chunk-RZ3IZIJG.js} +3 -3
  201. package/dist/{chunk-AAXJNINV.js → chunk-SN4JXNLL.js} +2 -2
  202. package/dist/chunk-TB2MJRI6.js +866 -0
  203. package/dist/chunk-TB2MJRI6.js.map +1 -0
  204. package/dist/{chunk-7PHI6GUI.js → chunk-TEZ2HTC7.js} +42 -2
  205. package/dist/chunk-TEZ2HTC7.js.map +1 -0
  206. package/dist/{chunk-SVSRPG6M.js → chunk-TNGH4ZYI.js} +2 -2
  207. package/dist/{chunk-HZNYJN77.js → chunk-TNXNECAN.js} +6 -6
  208. package/dist/{chunk-JOEJG4SD.js → chunk-TVW4C7PV.js} +5 -5
  209. package/dist/{chunk-UFKPQBXH.js → chunk-U62OK7BB.js} +2 -2
  210. package/dist/{chunk-R2MZCYA6.js → chunk-UNUMFURP.js} +3 -3
  211. package/dist/{chunk-AX7UXCHJ.js → chunk-UYA36DQ7.js} +2 -1
  212. package/dist/chunk-UYA36DQ7.js.map +1 -0
  213. package/dist/{chunk-AFR6AIM4.js → chunk-VCKWULAK.js} +112 -87
  214. package/dist/chunk-VCKWULAK.js.map +1 -0
  215. package/dist/chunk-VOSWUO3K.js +100 -0
  216. package/dist/chunk-VOSWUO3K.js.map +1 -0
  217. package/dist/{chunk-YRVAKONL.js → chunk-VQ4AMTGZ.js} +1 -1
  218. package/dist/{chunk-3BCULS4U.js → chunk-VQNRICAQ.js} +145 -507
  219. package/dist/chunk-VQNRICAQ.js.map +1 -0
  220. package/dist/{chunk-RAIUTAZZ.js → chunk-WKAXBXVA.js} +2 -2
  221. package/dist/{chunk-ZIJDI4CP.js → chunk-WKJFIMVN.js} +2 -2
  222. package/dist/{chunk-SXIMQLGV.js → chunk-WVGXCBOC.js} +2 -2
  223. package/dist/{chunk-7BEPVIH3.js → chunk-X5YYSAZX.js} +4 -4
  224. package/dist/{chunk-FZEEWOI2.js → chunk-XJJYSX6F.js} +2 -2
  225. package/dist/{chunk-F635GAL7.js → chunk-XKNHFDTT.js} +33 -13
  226. package/dist/chunk-XKNHFDTT.js.map +1 -0
  227. package/dist/{chunk-UG6VXIOK.js → chunk-XSTNGNJP.js} +2 -2
  228. package/dist/{chunk-YDPAE2RD.js → chunk-YFLLGRXO.js} +2 -2
  229. package/dist/{chunk-EZ25VE3G.js → chunk-YNDLCWXS.js} +4 -4
  230. package/dist/{chunk-ANJXPFRS.js → chunk-YXFCALVT.js} +14 -14
  231. package/dist/{chunk-Q4WONDMJ.js → chunk-YYGZJPOK.js} +2 -2
  232. package/dist/{chunk-5HERQ5FX.js → chunk-Z3YEGSR4.js} +10 -10
  233. package/dist/{chunk-YWSQD2IB.js → chunk-ZJPM7GZ3.js} +2 -2
  234. package/dist/{chunk-5S4LQOPE.js → chunk-ZW4VXELZ.js} +2 -2
  235. package/dist/{cli-B322UMvB.d.ts → cli-BEkm2MEf.d.ts} +5 -5
  236. package/dist/cli.d.ts +17 -16
  237. package/dist/cli.js +126 -120
  238. package/dist/coding/export-okf-codegraph.d.ts +56 -0
  239. package/dist/coding/export-okf-codegraph.js +526 -0
  240. package/dist/coding/export-okf-codegraph.js.map +1 -0
  241. package/dist/coding/pre-action-gate.d.ts +2 -2
  242. package/dist/compounding/engine.d.ts +5 -3
  243. package/dist/compounding/engine.js +34 -34
  244. package/dist/compounding/preference-consolidator.d.ts +4 -4
  245. package/dist/compression-optimizer.d.ts +2 -2
  246. package/dist/config-security.js +2 -2
  247. package/dist/config.d.ts +2 -2
  248. package/dist/config.js +17 -16
  249. package/dist/connectors/codex-materialize-runner.d.ts +2 -2
  250. package/dist/connectors/codex-materialize-runner.js +33 -33
  251. package/dist/connectors/codex-materialize.d.ts +2 -2
  252. package/dist/connectors/index.d.ts +2 -2
  253. package/dist/connectors/index.js +33 -33
  254. package/dist/consolidation-provenance-check.d.ts +5 -3
  255. package/dist/consolidation-provenance-check.js +5 -5
  256. package/dist/consolidation-undo.d.ts +5 -3
  257. package/dist/consolidation-undo.js +3 -3
  258. package/dist/context-summary.d.ts +43 -0
  259. package/dist/context-summary.js +14 -0
  260. package/dist/context-summary.js.map +1 -0
  261. package/dist/contradiction/index.d.ts +6 -4
  262. package/dist/contradiction/index.js +10 -10
  263. package/dist/{contradiction-scan-AKUWPX5N.js → contradiction-scan-NOYMFG66.js} +3 -3
  264. package/dist/contradiction-scan-NOYMFG66.js.map +1 -0
  265. package/dist/converge-config.d.ts +2 -2
  266. package/dist/convergence-refresh.d.ts +5 -3
  267. package/dist/convergence-refresh.js +36 -36
  268. package/dist/conversation-index/backend.d.ts +2 -2
  269. package/dist/conversation-index/chunker.d.ts +2 -2
  270. package/dist/conversation-index/faiss-adapter.d.ts +2 -2
  271. package/dist/conversation-index/indexer.d.ts +2 -2
  272. package/dist/conversation-index/search.d.ts +2 -2
  273. package/dist/corpus-watermark.d.ts +2 -2
  274. package/dist/corpus-watermark.js +35 -35
  275. package/dist/cross-lingual-recall.d.ts +2 -2
  276. package/dist/dashboard-runtime.js +2 -2
  277. package/dist/day-summary.d.ts +2 -2
  278. package/dist/delinearize.d.ts +2 -2
  279. package/dist/dependency-propagation-config.d.ts +2 -2
  280. package/dist/{dependency-propagation-delivery-BGcNairQ.d.ts → dependency-propagation-delivery-BCpeo14F.d.ts} +1 -1
  281. package/dist/direct-answer-wiring.d.ts +2 -2
  282. package/dist/direct-answer.d.ts +2 -2
  283. package/dist/embedding-fallback.d.ts +2 -2
  284. package/dist/enrichment/index.d.ts +2 -2
  285. package/dist/entity-origin-fields.d.ts +2 -2
  286. package/dist/entity-retrieval.d.ts +5 -3
  287. package/dist/entity-retrieval.js +34 -34
  288. package/dist/entity-schema.d.ts +2 -2
  289. package/dist/episodic-context.d.ts +2 -2
  290. package/dist/eval-trajectory-contracts.d.ts +2 -2
  291. package/dist/eval-trajectory-store.d.ts +2 -2
  292. package/dist/eval-trajectory.d.ts +2 -2
  293. package/dist/event-order-recall.js +3 -3
  294. package/dist/explicit-capture.d.ts +13 -12
  295. package/dist/explicit-capture.js +12 -12
  296. package/dist/external-wiki-access.d.ts +15 -14
  297. package/dist/external-wiki-access.js +66 -63
  298. package/dist/external-wiki-collection-registration.d.ts +2 -2
  299. package/dist/external-wiki-collection.d.ts +2 -2
  300. package/dist/external-wiki-mcp-tools.d.ts +15 -14
  301. package/dist/extraction-error-classification.d.ts +2 -2
  302. package/dist/extraction-faithfulness.d.ts +2 -2
  303. package/dist/extraction-faithfulness.js +2 -2
  304. package/dist/extraction-judge-telemetry.d.ts +2 -2
  305. package/dist/extraction-judge-training.d.ts +2 -2
  306. package/dist/extraction-judge.d.ts +2 -2
  307. package/dist/extraction-judge.js +2 -2
  308. package/dist/extraction-liveness.d.ts +2 -2
  309. package/dist/extraction-normalization.d.ts +2 -2
  310. package/dist/extraction-prompt.d.ts +2 -2
  311. package/dist/extraction-source-grounding-rules.d.ts +2 -2
  312. package/dist/extraction-source-grounding.d.ts +2 -2
  313. package/dist/extraction.d.ts +2 -2
  314. package/dist/extraction.js +47 -44
  315. package/dist/fallback-llm.d.ts +8 -2
  316. package/dist/fallback-llm.js +1 -1
  317. package/dist/{first-start-migration-4NETATFF.js → first-start-migration-KHIMCBIC.js} +3 -3
  318. package/dist/{forget-SZ2BXDGF.js → forget-2AE4MDK3.js} +3 -3
  319. package/dist/graph-dashboard-diff.d.ts +2 -2
  320. package/dist/graph-dashboard-key.d.ts +2 -2
  321. package/dist/graph-dashboard-parser.d.ts +2 -2
  322. package/dist/graph-edge-reinforcement.d.ts +2 -2
  323. package/dist/graph-path-reconstruction.d.ts +2 -2
  324. package/dist/graph-path-scoring.d.ts +2 -2
  325. package/dist/graph-snapshot.d.ts +2 -2
  326. package/dist/graph.d.ts +2 -2
  327. package/dist/harmonic-retrieval.js +1 -1
  328. package/dist/importance.d.ts +2 -2
  329. package/dist/importers/index.d.ts +2 -2
  330. package/dist/in-flight-reads.d.ts +2 -2
  331. package/dist/{index-By2QUAMh.d.ts → index-D_pyMUaP.d.ts} +2 -2
  332. package/dist/index.d.ts +261 -30
  333. package/dist/index.js +321 -257
  334. package/dist/intent.d.ts +2 -2
  335. package/dist/lcm/engine.d.ts +3 -3
  336. package/dist/lcm/engine.js +5 -4
  337. package/dist/lcm/index.d.ts +4 -3
  338. package/dist/lcm/index.js +12 -11
  339. package/dist/lcm/summarizer.d.ts +4 -6
  340. package/dist/lcm/summarizer.js +2 -1
  341. package/dist/lcm/tools.d.ts +4 -4
  342. package/dist/lifecycle.d.ts +2 -2
  343. package/dist/live-connectors-runner.d.ts +2 -2
  344. package/dist/local-llm.d.ts +2 -2
  345. package/dist/local-model-endpoint.d.ts +2 -2
  346. package/dist/location/index.d.ts +315 -6
  347. package/dist/location/index.js +151 -19
  348. package/dist/maintenance/memory-governance.d.ts +2 -2
  349. package/dist/maintenance/memory-governance.js +34 -34
  350. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +5 -3
  351. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +33 -33
  352. package/dist/maintenance/rebuild-memory-projection.d.ts +5 -3
  353. package/dist/maintenance/rebuild-memory-projection.js +35 -35
  354. package/dist/{maintenance-Dm2McrIx.d.ts → maintenance-DDUX9d6D.d.ts} +3 -3
  355. package/dist/mcp-memory-inspector-app.d.ts +15 -14
  356. package/dist/mcp-read-only-tools.js +1 -1
  357. package/dist/memory-action-policy.d.ts +18 -3
  358. package/dist/memory-action-policy.js +3 -1
  359. package/dist/memory-cache.d.ts +2 -2
  360. package/dist/memory-controller.d.ts +2 -2
  361. package/dist/memory-controller.js +2 -2
  362. package/dist/memory-lifecycle-ledger-utils.d.ts +2 -2
  363. package/dist/memory-projection-mutations.js +3 -3
  364. package/dist/memory-projection-store.d.ts +2 -2
  365. package/dist/memory-projection-store.js +1 -1
  366. package/dist/memory-provenance.d.ts +2 -2
  367. package/dist/memory-snapshot.d.ts +2 -2
  368. package/dist/memory-subject-cli.d.ts +15 -14
  369. package/dist/memory-subject.d.ts +15 -14
  370. package/dist/memory-subject.js +5 -5
  371. package/dist/memory-worth-outcomes.d.ts +5 -3
  372. package/dist/models-json.d.ts +2 -2
  373. package/dist/namespaces/migrate.d.ts +6 -4
  374. package/dist/namespaces/migrate.js +34 -34
  375. package/dist/namespaces/principal.d.ts +2 -2
  376. package/dist/namespaces/search.d.ts +2 -2
  377. package/dist/namespaces/search.js +8 -8
  378. package/dist/namespaces/storage.d.ts +6 -4
  379. package/dist/namespaces/storage.js +33 -33
  380. package/dist/native-knowledge.d.ts +2 -2
  381. package/dist/offline-sync-file-io.js +3 -3
  382. package/dist/offline-sync-impression-drain.d.ts +2 -2
  383. package/dist/offline-sync-impression-drain.js +9 -9
  384. package/dist/offline-sync.js +4 -4
  385. package/dist/operator-doctor-corpus.d.ts +2 -2
  386. package/dist/operator-doctor-corpus.js +36 -36
  387. package/dist/operator-doctor-replica.d.ts +2 -2
  388. package/dist/operator-toolkit.d.ts +6 -4
  389. package/dist/operator-toolkit.js +56 -55
  390. package/dist/orchestration/compression-guideline-coordinator.d.ts +5 -3
  391. package/dist/orchestration/maintenance.d.ts +7 -5
  392. package/dist/orchestration/maintenance.js +48 -47
  393. package/dist/{orchestrator-Co1DyfuP.d.ts → orchestrator-3F4jihCo.d.ts} +8 -8
  394. package/dist/orchestrator.d.ts +13 -12
  395. package/dist/orchestrator.js +182 -174
  396. package/dist/page-versioning.js +3 -3
  397. package/dist/patterns-cli.d.ts +2 -2
  398. package/dist/{pipeline-DotMnb6y.d.ts → pipeline-CB1dj6Uh.d.ts} +1 -1
  399. package/dist/policy-runtime.d.ts +2 -2
  400. package/dist/proactive-contention.d.ts +2 -2
  401. package/dist/provenance.d.ts +2 -2
  402. package/dist/{public-http-PJRtnSi-.d.ts → public-http-34-JIAGQ.d.ts} +1 -1
  403. package/dist/{purge-GB7PZHT2.js → purge-OP6BEDFY.js} +2 -2
  404. package/dist/{qmd-BP0n11fR.d.ts → qmd-edLLZXc5.d.ts} +1 -1
  405. package/dist/qmd-preflight.d.ts +3 -3
  406. package/dist/qmd-recall-cache.d.ts +2 -2
  407. package/dist/qmd.d.ts +3 -3
  408. package/dist/qmd.js +4 -4
  409. package/dist/recall-concurrency-config.d.ts +2 -2
  410. package/dist/recall-disclosure-escalation.d.ts +2 -2
  411. package/dist/recall-explain-renderer.d.ts +2 -2
  412. package/dist/recall-explain-renderer.js +3 -3
  413. package/dist/recall-memory-map.d.ts +2 -2
  414. package/dist/recall-planner-llm.d.ts +2 -2
  415. package/dist/recall-planner-llm.js +1 -1
  416. package/dist/recall-state.d.ts +2 -2
  417. package/dist/recall-tag-filter.d.ts +2 -2
  418. package/dist/recall-timings.d.ts +2 -2
  419. package/dist/recall-xray-cli.d.ts +2 -2
  420. package/dist/recall-xray-cli.js +4 -4
  421. package/dist/recall-xray-renderer.d.ts +2 -2
  422. package/dist/recall-xray-renderer.js +3 -3
  423. package/dist/recall-xray.d.ts +2 -2
  424. package/dist/recall-xray.js +2 -2
  425. package/dist/reconcile/cursor.d.ts +2 -2
  426. package/dist/reconcile/manifest.d.ts +2 -2
  427. package/dist/reconcile/manifest.js +5 -5
  428. package/dist/reconcile/plan.d.ts +2 -2
  429. package/dist/replay/normalizers/chatgpt.d.ts +2 -2
  430. package/dist/replay/normalizers/claude.d.ts +2 -2
  431. package/dist/replay/normalizers/openclaw.d.ts +2 -2
  432. package/dist/replay/normalizers/shared.d.ts +2 -2
  433. package/dist/replay/runner.d.ts +2 -2
  434. package/dist/replay/types.d.ts +2 -2
  435. package/dist/replica-divergence.d.ts +2 -2
  436. package/dist/replica-peers-config.d.ts +2 -2
  437. package/dist/{resolution-4552BNRV.js → resolution-4DLI3IOR.js} +11 -11
  438. package/dist/resolution-4DLI3IOR.js.map +1 -0
  439. package/dist/resolve-auth-token.d.ts +2 -2
  440. package/dist/resume-bundles.js +18 -17
  441. package/dist/retrieval-agents.d.ts +3 -3
  442. package/dist/retrieval-tiers.d.ts +2 -2
  443. package/dist/routing/engine.d.ts +2 -2
  444. package/dist/routing/store.d.ts +2 -2
  445. package/dist/salvage-envelope.d.ts +2 -2
  446. package/dist/salvage-envelope.js +7 -7
  447. package/dist/schemas.d.ts +572 -107
  448. package/dist/schemas.js +3 -1
  449. package/dist/{scope-profiles-6ChZKTy-.d.ts → scope-profiles-BF2lu81V.d.ts} +1 -1
  450. package/dist/search/document-scanner.js +1 -1
  451. package/dist/search/embed-helper.d.ts +2 -2
  452. package/dist/search/factory.d.ts +2 -2
  453. package/dist/search/factory.js +7 -7
  454. package/dist/search/index.d.ts +2 -2
  455. package/dist/search/index.js +13 -13
  456. package/dist/search/lancedb-backend.d.ts +2 -2
  457. package/dist/search/lancedb-backend.js +1 -1
  458. package/dist/search/meilisearch-backend.d.ts +2 -2
  459. package/dist/search/meilisearch-backend.js +1 -1
  460. package/dist/search/noop-backend.d.ts +2 -2
  461. package/dist/search/orama-backend.d.ts +2 -2
  462. package/dist/search/orama-backend.js +1 -1
  463. package/dist/search/port.d.ts +2 -2
  464. package/dist/search/remote-backend.d.ts +2 -2
  465. package/dist/secure-store/index.js +3 -3
  466. package/dist/{semantic-consolidation-DziYcW5J.d.ts → semantic-consolidation-5OuWXBRt.d.ts} +1 -1
  467. package/dist/semantic-consolidation.d.ts +3 -3
  468. package/dist/semantic-consolidation.js +37 -37
  469. package/dist/semantic-rule-promotion.js +33 -33
  470. package/dist/semantic-rule-verifier.d.ts +2 -2
  471. package/dist/semantic-rule-verifier.js +33 -33
  472. package/dist/{service-C7rIBuK_.d.ts → service-CrqEhLXD.d.ts} +2 -2
  473. package/dist/session-observer-bands.d.ts +2 -2
  474. package/dist/session-observer-state.d.ts +2 -2
  475. package/dist/shared-context/manager.d.ts +2 -2
  476. package/dist/signal.d.ts +2 -2
  477. package/dist/source-agent-qualifier.d.ts +2 -2
  478. package/dist/source-agent-qualifier.js +42 -39
  479. package/dist/standup/build.d.ts +16 -0
  480. package/dist/standup/build.js +17 -0
  481. package/dist/standup/build.js.map +1 -0
  482. package/dist/{storage-B1hEx8Xg.d.ts → storage-BQn-xnxm.d.ts} +4 -1
  483. package/dist/storage.d.ts +5 -3
  484. package/dist/storage.js +32 -32
  485. package/dist/subject-config.d.ts +2 -2
  486. package/dist/subject-config.js +6 -6
  487. package/dist/summarizer.d.ts +2 -2
  488. package/dist/summarizer.js +2 -2
  489. package/dist/summary-snapshot.d.ts +2 -2
  490. package/dist/support-passport/index.d.ts +20 -19
  491. package/dist/support-passport/index.js +68 -65
  492. package/dist/temporal-supersession.d.ts +3 -3
  493. package/dist/temporal-timeline-recall.d.ts +2 -2
  494. package/dist/temporal-validity.d.ts +2 -2
  495. package/dist/threading.d.ts +2 -2
  496. package/dist/tier-migration.d.ts +5 -3
  497. package/dist/tier-routing.d.ts +2 -2
  498. package/dist/tier-routing.js +2 -2
  499. package/dist/{tier-stats-4B5IJ3NE.js → tier-stats-2TOW3QNL.js} +3 -3
  500. package/dist/topics.d.ts +2 -2
  501. package/dist/transcript.d.ts +2 -2
  502. package/dist/transfer/capsule-export.js +2 -2
  503. package/dist/transfer/capsule-import.js +5 -5
  504. package/dist/transfer/export-okf.d.ts +39 -0
  505. package/dist/transfer/export-okf.js +112 -0
  506. package/dist/transfer/export-okf.js.map +1 -0
  507. package/dist/transfer/types.d.ts +12 -12
  508. package/dist/trust-score-stage.d.ts +2 -2
  509. package/dist/trust-score.d.ts +2 -2
  510. package/dist/{types-BHDNxGTT.d.ts → types-BRpcNjHZ.d.ts} +119 -3
  511. package/dist/types.d.ts +2 -2
  512. package/dist/types.js +1 -1
  513. package/dist/utility-runtime.d.ts +2 -2
  514. package/dist/verified-recall.js +33 -33
  515. package/dist/who-knows-cli.d.ts +15 -14
  516. package/dist/who-knows-cli.js +34 -34
  517. package/dist/who-knows.d.ts +15 -14
  518. package/dist/who-knows.js +33 -33
  519. package/dist/write-envelope.d.ts +2 -2
  520. package/dist/write-envelope.js +6 -6
  521. package/package.json +54 -3
  522. package/src/access-admin-ops-surface.ts +6 -1
  523. package/src/access-boundary.ts +1 -0
  524. package/src/access-http.ts +3 -1
  525. package/src/access-mcp-output-schemas.ts +1 -0
  526. package/src/access-mcp.ts +3 -3
  527. package/src/access-operations.ts +1 -0
  528. package/src/access-service-offline-file-content.test.ts +63 -0
  529. package/src/access-surface-catalog.ts +2 -0
  530. package/src/active-context-config.ts +98 -0
  531. package/src/active-context-transform.test.ts +533 -0
  532. package/src/active-context-transform.ts +981 -0
  533. package/src/activity/config.test.ts +1 -0
  534. package/src/activity/config.ts +21 -1
  535. package/src/activity/index.ts +1 -0
  536. package/src/activity/timeline/build.ts +279 -0
  537. package/src/activity/timeline/categories.ts +111 -0
  538. package/src/activity/timeline/classify.ts +110 -0
  539. package/src/activity/timeline/corrections.ts +145 -0
  540. package/src/activity/timeline/index.ts +6 -0
  541. package/src/activity/timeline/timeline.test.ts +277 -0
  542. package/src/activity/timeline/types.ts +106 -0
  543. package/src/activity/types.ts +6 -0
  544. package/src/cli/okf-commands.ts +45 -0
  545. package/src/cli.ts +2 -2
  546. package/src/coding/export-okf-codegraph.test.ts +381 -0
  547. package/src/coding/export-okf-codegraph.ts +565 -0
  548. package/src/config.test.ts +1 -0
  549. package/src/config.ts +3 -5
  550. package/src/context-summary.ts +182 -0
  551. package/src/extraction-prompt-safety.test.ts +14 -2
  552. package/src/extraction.ts +21 -1
  553. package/src/fallback-llm.test.ts +134 -0
  554. package/src/fallback-llm.ts +77 -5
  555. package/src/index.ts +4 -11
  556. package/src/lcm/summarizer.ts +14 -93
  557. package/src/location/access-operations.ts +17 -8
  558. package/src/location/backfill.ts +137 -0
  559. package/src/location/config.test.ts +3 -0
  560. package/src/location/config.ts +46 -2
  561. package/src/location/http-glue.ts +1 -1
  562. package/src/location/index.ts +3 -0
  563. package/src/location/intervals.ts +1 -0
  564. package/src/location/matching.test.ts +65 -0
  565. package/src/location/matching.ts +354 -0
  566. package/src/location/mcp-tools.ts +2 -1
  567. package/src/location/surfaces.test.ts +15 -2
  568. package/src/location/surfaces.ts +95 -18
  569. package/src/location/tagging.test.ts +119 -0
  570. package/src/location/tagging.ts +277 -0
  571. package/src/location/types.ts +23 -1
  572. package/src/mcp-read-only-tools.ts +1 -0
  573. package/src/memory-action-policy.ts +28 -0
  574. package/src/memory-projection-store.ts +3 -1
  575. package/src/okf/cli.ts +18 -5
  576. package/src/okf/config.ts +5 -0
  577. package/src/okf/index-files.test.ts +60 -0
  578. package/src/okf/index-files.ts +114 -0
  579. package/src/okf/render.ts +133 -0
  580. package/src/okf/type-mapping.test.ts +3 -0
  581. package/src/okf/type-mapping.ts +2 -0
  582. package/src/orchestration/extraction-run.ts +2 -1
  583. package/src/orchestration/generic-recall-paths.ts +4 -3
  584. package/src/schemas.ts +17 -1
  585. package/src/standup/access-operations.ts +14 -0
  586. package/src/standup/build.test.ts +34 -0
  587. package/src/standup/build.ts +115 -0
  588. package/src/standup/http-glue.ts +15 -0
  589. package/src/standup/mcp-tools.ts +16 -0
  590. package/src/storage/context-transform-ledger.ts +39 -0
  591. package/src/storage/secure-line-reader.ts +50 -1
  592. package/src/storage.ts +4 -1
  593. package/src/support-passport/card-projection.ts +1 -0
  594. package/src/support-passport/card-service-commit-forwarding.test.ts +1 -0
  595. package/src/support-passport/card-service.test.ts +75 -1
  596. package/src/support-passport/card-service.ts +6 -3
  597. package/src/support-passport/card-state.ts +5 -1
  598. package/src/support-passport/offline-sync-guard.ts +14 -1
  599. package/src/transfer/export-okf.test.ts +164 -0
  600. package/src/transfer/export-okf.ts +286 -0
  601. package/src/types.ts +2 -3
  602. package/dist/chunk-2LWQSV6A.js.map +0 -1
  603. package/dist/chunk-3BCULS4U.js.map +0 -1
  604. package/dist/chunk-7BDZTALN.js.map +0 -1
  605. package/dist/chunk-7PHI6GUI.js.map +0 -1
  606. package/dist/chunk-AFR6AIM4.js.map +0 -1
  607. package/dist/chunk-AX7UXCHJ.js.map +0 -1
  608. package/dist/chunk-BJTHRFFC.js.map +0 -1
  609. package/dist/chunk-D4QVPP3G.js.map +0 -1
  610. package/dist/chunk-DVYRD4HY.js.map +0 -1
  611. package/dist/chunk-F635GAL7.js.map +0 -1
  612. package/dist/chunk-FMQ4MOQO.js.map +0 -1
  613. package/dist/chunk-FP7YTTVO.js.map +0 -1
  614. package/dist/chunk-I4343FIA.js.map +0 -1
  615. package/dist/chunk-I7EX6KSH.js.map +0 -1
  616. package/dist/chunk-LBFFNDFM.js.map +0 -1
  617. package/dist/chunk-LLQCM2U2.js.map +0 -1
  618. package/dist/chunk-RQE4TITU.js.map +0 -1
  619. package/dist/chunk-UW5NPZJ2.js.map +0 -1
  620. package/dist/chunk-XAB6STPO.js.map +0 -1
  621. package/dist/chunk-ZPUIRTIZ.js.map +0 -1
  622. package/dist/types-CM86alG1.d.ts +0 -89
  623. /package/dist/{contradiction-scan-AKUWPX5N.js.map → active-context-config.js.map} +0 -0
  624. /package/dist/{resolution-4552BNRV.js.map → active-context-transform.js.map} +0 -0
  625. /package/dist/{auto-sync-XVMLL2RH.js.map → auto-sync-Q6Q2FVSC.js.map} +0 -0
  626. /package/dist/{capsule-merge-SGIVB3WA.js.map → capsule-merge-SEHERWWP.js.map} +0 -0
  627. /package/dist/{chunk-CFGU52XJ.js.map → chunk-23CVL7HS.js.map} +0 -0
  628. /package/dist/{chunk-PO7NXBG2.js.map → chunk-2GF27PGH.js.map} +0 -0
  629. /package/dist/{chunk-6CPUQ5D6.js.map → chunk-2LBAFHOQ.js.map} +0 -0
  630. /package/dist/{chunk-JBPKEARU.js.map → chunk-2QSZNTDO.js.map} +0 -0
  631. /package/dist/{chunk-IP4ZNT4U.js.map → chunk-33MFRY25.js.map} +0 -0
  632. /package/dist/{chunk-VFYRYFLL.js.map → chunk-3TSU662L.js.map} +0 -0
  633. /package/dist/{chunk-VXVZ2GM3.js.map → chunk-4FHRZD5T.js.map} +0 -0
  634. /package/dist/{chunk-5VPQSRQO.js.map → chunk-4STAANV7.js.map} +0 -0
  635. /package/dist/{chunk-46WM6JX2.js.map → chunk-4ZWCQJNM.js.map} +0 -0
  636. /package/dist/{chunk-52II7PB6.js.map → chunk-645WOU5I.js.map} +0 -0
  637. /package/dist/{chunk-YKWFK7XA.js.map → chunk-6CEGSTBD.js.map} +0 -0
  638. /package/dist/{chunk-GEPACVWN.js.map → chunk-6RUHELWR.js.map} +0 -0
  639. /package/dist/{chunk-ZAOHJDKH.js.map → chunk-72OIT7KS.js.map} +0 -0
  640. /package/dist/{chunk-KQAFEZQX.js.map → chunk-7LCGFUMB.js.map} +0 -0
  641. /package/dist/{chunk-7TCGNUVP.js.map → chunk-7UTDHQZ5.js.map} +0 -0
  642. /package/dist/{chunk-5HK3CJAR.js.map → chunk-7XOG75AU.js.map} +0 -0
  643. /package/dist/{chunk-C24UZSFW.js.map → chunk-CEH2AFXG.js.map} +0 -0
  644. /package/dist/{chunk-YOXVZJFM.js.map → chunk-CFVTRUR3.js.map} +0 -0
  645. /package/dist/{chunk-ACOC27BB.js.map → chunk-CN4VKV3S.js.map} +0 -0
  646. /package/dist/{chunk-PMVPCZJZ.js.map → chunk-CTCGHNWN.js.map} +0 -0
  647. /package/dist/{chunk-EGBDFJ36.js.map → chunk-DD5JFCWM.js.map} +0 -0
  648. /package/dist/{chunk-T42L3S6A.js.map → chunk-DDX6KIXF.js.map} +0 -0
  649. /package/dist/{chunk-JIYDRBVZ.js.map → chunk-DJORULH3.js.map} +0 -0
  650. /package/dist/{chunk-WTOZBZNN.js.map → chunk-DMEHOEC7.js.map} +0 -0
  651. /package/dist/{chunk-OPPBTPUU.js.map → chunk-DUAJKRR2.js.map} +0 -0
  652. /package/dist/{chunk-SVVIASVX.js.map → chunk-EFQCDJZ2.js.map} +0 -0
  653. /package/dist/{chunk-Q57GOHLF.js.map → chunk-EGALNSZ4.js.map} +0 -0
  654. /package/dist/{chunk-KCT36JAW.js.map → chunk-ESNFSSO4.js.map} +0 -0
  655. /package/dist/{chunk-XQ3HXAQH.js.map → chunk-ET2CNMLD.js.map} +0 -0
  656. /package/dist/{chunk-Z4U3UN56.js.map → chunk-EZSCW4EM.js.map} +0 -0
  657. /package/dist/{chunk-F6QHHRWP.js.map → chunk-FESUGFIL.js.map} +0 -0
  658. /package/dist/{chunk-S3K2CIK5.js.map → chunk-FKKGCGYL.js.map} +0 -0
  659. /package/dist/{chunk-BWGCOLEL.js.map → chunk-FTTJRVB7.js.map} +0 -0
  660. /package/dist/{chunk-JAQXUGLN.js.map → chunk-FYWLSFFS.js.map} +0 -0
  661. /package/dist/{chunk-OPGL46PX.js.map → chunk-GX6FTSYH.js.map} +0 -0
  662. /package/dist/{chunk-A32YEQAM.js.map → chunk-H7VDIF2V.js.map} +0 -0
  663. /package/dist/{chunk-PDDSFELN.js.map → chunk-HJXA6ZM7.js.map} +0 -0
  664. /package/dist/{chunk-RGCF4XNH.js.map → chunk-HNPE66LB.js.map} +0 -0
  665. /package/dist/{chunk-SEA6M7SS.js.map → chunk-I5VB44ZK.js.map} +0 -0
  666. /package/dist/{chunk-SDEPLF7V.js.map → chunk-IBJ6U753.js.map} +0 -0
  667. /package/dist/{chunk-EUYWQ7TS.js.map → chunk-IEZ6CGTW.js.map} +0 -0
  668. /package/dist/{chunk-3RI5Y7KU.js.map → chunk-IVIAHQBR.js.map} +0 -0
  669. /package/dist/{chunk-7WR462EM.js.map → chunk-J3OND5QT.js.map} +0 -0
  670. /package/dist/{chunk-T3JQTCCO.js.map → chunk-JI7U6AS3.js.map} +0 -0
  671. /package/dist/{chunk-I32NKXE2.js.map → chunk-JTWZKNUH.js.map} +0 -0
  672. /package/dist/{chunk-VKCAHCBI.js.map → chunk-L4X4PJYK.js.map} +0 -0
  673. /package/dist/{chunk-W4BMEGQA.js.map → chunk-LUDBXTBJ.js.map} +0 -0
  674. /package/dist/{chunk-RIAM7DND.js.map → chunk-ME35HVDJ.js.map} +0 -0
  675. /package/dist/{chunk-NG3MBQV4.js.map → chunk-MJRGVXPQ.js.map} +0 -0
  676. /package/dist/{chunk-773TRRGT.js.map → chunk-MJUCDM3C.js.map} +0 -0
  677. /package/dist/{chunk-7F27PCSN.js.map → chunk-MN5NOOI7.js.map} +0 -0
  678. /package/dist/{chunk-JCWY73FK.js.map → chunk-N4F7ZSSG.js.map} +0 -0
  679. /package/dist/{chunk-TR7DGXGI.js.map → chunk-NACLNNFQ.js.map} +0 -0
  680. /package/dist/{chunk-LC2BDILZ.js.map → chunk-NBP4EX5N.js.map} +0 -0
  681. /package/dist/{chunk-ZVPVTPGI.js.map → chunk-NNZFPYYX.js.map} +0 -0
  682. /package/dist/{chunk-MFOSZUIT.js.map → chunk-NPIBN2VL.js.map} +0 -0
  683. /package/dist/{chunk-IY7UXD3J.js.map → chunk-O57GM3FR.js.map} +0 -0
  684. /package/dist/{chunk-I2HTKOOP.js.map → chunk-O7ERGZDA.js.map} +0 -0
  685. /package/dist/{chunk-GTSVEEP3.js.map → chunk-OAJMQKQR.js.map} +0 -0
  686. /package/dist/{chunk-HSZMX3ZJ.js.map → chunk-ODW5GDFE.js.map} +0 -0
  687. /package/dist/{chunk-J2WC5LF4.js.map → chunk-QBC33MPY.js.map} +0 -0
  688. /package/dist/{chunk-EOHKUWXW.js.map → chunk-QCRJMU5V.js.map} +0 -0
  689. /package/dist/{chunk-5DH6PG4B.js.map → chunk-RZ3IZIJG.js.map} +0 -0
  690. /package/dist/{chunk-AAXJNINV.js.map → chunk-SN4JXNLL.js.map} +0 -0
  691. /package/dist/{chunk-SVSRPG6M.js.map → chunk-TNGH4ZYI.js.map} +0 -0
  692. /package/dist/{chunk-HZNYJN77.js.map → chunk-TNXNECAN.js.map} +0 -0
  693. /package/dist/{chunk-JOEJG4SD.js.map → chunk-TVW4C7PV.js.map} +0 -0
  694. /package/dist/{chunk-UFKPQBXH.js.map → chunk-U62OK7BB.js.map} +0 -0
  695. /package/dist/{chunk-R2MZCYA6.js.map → chunk-UNUMFURP.js.map} +0 -0
  696. /package/dist/{chunk-YRVAKONL.js.map → chunk-VQ4AMTGZ.js.map} +0 -0
  697. /package/dist/{chunk-RAIUTAZZ.js.map → chunk-WKAXBXVA.js.map} +0 -0
  698. /package/dist/{chunk-ZIJDI4CP.js.map → chunk-WKJFIMVN.js.map} +0 -0
  699. /package/dist/{chunk-SXIMQLGV.js.map → chunk-WVGXCBOC.js.map} +0 -0
  700. /package/dist/{chunk-7BEPVIH3.js.map → chunk-X5YYSAZX.js.map} +0 -0
  701. /package/dist/{chunk-FZEEWOI2.js.map → chunk-XJJYSX6F.js.map} +0 -0
  702. /package/dist/{chunk-UG6VXIOK.js.map → chunk-XSTNGNJP.js.map} +0 -0
  703. /package/dist/{chunk-YDPAE2RD.js.map → chunk-YFLLGRXO.js.map} +0 -0
  704. /package/dist/{chunk-EZ25VE3G.js.map → chunk-YNDLCWXS.js.map} +0 -0
  705. /package/dist/{chunk-ANJXPFRS.js.map → chunk-YXFCALVT.js.map} +0 -0
  706. /package/dist/{chunk-Q4WONDMJ.js.map → chunk-YYGZJPOK.js.map} +0 -0
  707. /package/dist/{chunk-5HERQ5FX.js.map → chunk-Z3YEGSR4.js.map} +0 -0
  708. /package/dist/{chunk-YWSQD2IB.js.map → chunk-ZJPM7GZ3.js.map} +0 -0
  709. /package/dist/{chunk-5S4LQOPE.js.map → chunk-ZW4VXELZ.js.map} +0 -0
  710. /package/dist/{first-start-migration-4NETATFF.js.map → first-start-migration-KHIMCBIC.js.map} +0 -0
  711. /package/dist/{forget-SZ2BXDGF.js.map → forget-2AE4MDK3.js.map} +0 -0
  712. /package/dist/{purge-GB7PZHT2.js.map → purge-OP6BEDFY.js.map} +0 -0
  713. /package/dist/{tier-stats-4B5IJ3NE.js.map → tier-stats-2TOW3QNL.js.map} +0 -0
@@ -6,14 +6,14 @@ import {
6
6
  loadSyncState,
7
7
  syncWearableSource,
8
8
  wearableSourceLabel
9
- } from "./chunk-VFYRYFLL.js";
9
+ } from "./chunk-3TSU662L.js";
10
10
  import {
11
11
  CompressionGuidelineCoordinator
12
12
  } from "./chunk-UXREWVW4.js";
13
13
  import {
14
14
  ActivityStore,
15
15
  MaintenanceScheduler
16
- } from "./chunk-ANJXPFRS.js";
16
+ } from "./chunk-YXFCALVT.js";
17
17
  import {
18
18
  runPeerProfileReasoner
19
19
  } from "./chunk-I74SUMNI.js";
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-7HYPN2GC.js";
23
23
  import {
24
24
  LcmEngine
25
- } from "./chunk-5HERQ5FX.js";
25
+ } from "./chunk-Z3YEGSR4.js";
26
26
  import {
27
27
  chunkTranscriptEntries
28
28
  } from "./chunk-TECVW3JP.js";
@@ -32,27 +32,18 @@ import {
32
32
  import {
33
33
  CompoundingEngine,
34
34
  defaultTierMigrationCycleBudget
35
- } from "./chunk-GTSVEEP3.js";
35
+ } from "./chunk-OAJMQKQR.js";
36
36
  import {
37
37
  SharedContextManager
38
38
  } from "./chunk-VI637ILW.js";
39
+ import {
40
+ cleanArchivedUserMessage
41
+ } from "./chunk-47DU4SGJ.js";
39
42
  import {
40
43
  applyUtilityPromotionRuntimePolicy,
41
44
  applyUtilityRankingRuntimeDelta,
42
45
  loadUtilityRuntimeValues
43
46
  } from "./chunk-SEF4IOFE.js";
44
- import {
45
- cleanArchivedUserMessage
46
- } from "./chunk-47DU4SGJ.js";
47
- import {
48
- TierMigrationExecutor
49
- } from "./chunk-YRFAYOFQ.js";
50
- import {
51
- decideTierTransition
52
- } from "./chunk-EGBDFJ36.js";
53
- import {
54
- TmtBuilder
55
- } from "./chunk-ECZU5BJH.js";
56
47
  import {
57
48
  extractTopics
58
49
  } from "./chunk-KVDUKH5E.js";
@@ -62,9 +53,18 @@ import {
62
53
  import {
63
54
  CODEX_THREAD_KEY_PREFIX
64
55
  } from "./chunk-4EX5WZ4M.js";
56
+ import {
57
+ TierMigrationExecutor
58
+ } from "./chunk-YRFAYOFQ.js";
59
+ import {
60
+ decideTierTransition
61
+ } from "./chunk-DD5JFCWM.js";
62
+ import {
63
+ TmtBuilder
64
+ } from "./chunk-ECZU5BJH.js";
65
65
  import {
66
66
  HourlySummarizer
67
- } from "./chunk-EUYWQ7TS.js";
67
+ } from "./chunk-IEZ6CGTW.js";
68
68
  import {
69
69
  buildTargetedFactRecallSection,
70
70
  shouldRecallTargetedFactEvidence
@@ -72,6 +72,10 @@ import {
72
72
  import {
73
73
  SessionObserverState
74
74
  } from "./chunk-ODZKV2F7.js";
75
+ import {
76
+ buildResponseGuidanceRecallSection,
77
+ shouldRecallResponseGuidance
78
+ } from "./chunk-6TCXIRP5.js";
75
79
  import {
76
80
  mergeWithAgentResults,
77
81
  runDirectAgent,
@@ -96,6 +100,9 @@ import {
96
100
  import {
97
101
  applyRuntimeRetrievalPolicy
98
102
  } from "./chunk-5IZL4DCV.js";
103
+ import {
104
+ findUnresolvedEntityRefs
105
+ } from "./chunk-X7XN6YU4.js";
99
106
  import {
100
107
  RelevanceStore
101
108
  } from "./chunk-KATEWTQJ.js";
@@ -104,13 +111,6 @@ import {
104
111
  reorderByRankedKeys,
105
112
  rerankLocalOrNoop
106
113
  } from "./chunk-LUDXM7MD.js";
107
- import {
108
- buildResponseGuidanceRecallSection,
109
- shouldRecallResponseGuidance
110
- } from "./chunk-6TCXIRP5.js";
111
- import {
112
- findUnresolvedEntityRefs
113
- } from "./chunk-X7XN6YU4.js";
114
114
  import {
115
115
  dedupeResultsByNamespace,
116
116
  hasMemoryForResult,
@@ -135,12 +135,12 @@ import {
135
135
  applyMemoryWorthFilter,
136
136
  buildMemoryWorthCounterMap
137
137
  } from "./chunk-3GPTTA4J.js";
138
- import {
139
- evaluateMemoryActionPolicy
140
- } from "./chunk-H63EDPFJ.js";
141
138
  import {
142
139
  runLiveConnectorsOnce
143
140
  } from "./chunk-HTIIXNJQ.js";
141
+ import {
142
+ scoreEvidencePathDetail
143
+ } from "./chunk-XXSOVESA.js";
144
144
  import {
145
145
  deriveHarmonicRecords,
146
146
  harmonicEntityReferenceMatches,
@@ -152,21 +152,18 @@ import {
152
152
  classifyMemoryKind
153
153
  } from "./chunk-YAZNBMNF.js";
154
154
  import {
155
- scoreEvidencePathDetail
156
- } from "./chunk-XXSOVESA.js";
155
+ buildFocusedListRecallSection,
156
+ shouldRecallFocusedListEvidence
157
+ } from "./chunk-OH7QLI6W.js";
157
158
  import {
158
159
  ExtractionEngine
159
- } from "./chunk-F635GAL7.js";
160
+ } from "./chunk-XKNHFDTT.js";
160
161
  import {
161
162
  parseMemoryActionEligibilityContext
162
- } from "./chunk-7BDZTALN.js";
163
+ } from "./chunk-AJTG3CP7.js";
163
164
  import {
164
165
  ModelRegistry
165
166
  } from "./chunk-WLZYGLJ4.js";
166
- import {
167
- buildFocusedListRecallSection,
168
- shouldRecallFocusedListEvidence
169
- } from "./chunk-OH7QLI6W.js";
170
167
  import {
171
168
  recordJudgeTrainingPair
172
169
  } from "./chunk-PWFCHOB3.js";
@@ -176,10 +173,13 @@ import {
176
173
  getVerdictKind,
177
174
  judgeFactDurability,
178
175
  validateProcedureExtraction
179
- } from "./chunk-HSZMX3ZJ.js";
176
+ } from "./chunk-ODW5GDFE.js";
180
177
  import {
181
178
  buildEventOrderRecallSection
182
- } from "./chunk-52II7PB6.js";
179
+ } from "./chunk-645WOU5I.js";
180
+ import {
181
+ shouldRecallEventOrderEvidence
182
+ } from "./chunk-BUYVPUEM.js";
183
183
  import {
184
184
  pickFactEventTimeAnchor,
185
185
  resolveFactEventTime
@@ -191,72 +191,69 @@ import {
191
191
  buildEntityRecallSection,
192
192
  entityRecentTranscriptLookbackHours,
193
193
  readRecentEntityTranscriptEntries
194
- } from "./chunk-Z4U3UN56.js";
194
+ } from "./chunk-EZSCW4EM.js";
195
195
  import {
196
196
  planEpisodeWindowsWithFallback
197
197
  } from "./chunk-T3GIETKV.js";
198
198
  import {
199
- shouldRecallEventOrderEvidence
200
- } from "./chunk-BUYVPUEM.js";
199
+ tryDirectAnswer
200
+ } from "./chunk-VY47VI2T.js";
201
201
  import {
202
202
  EmbeddingFallback
203
203
  } from "./chunk-DFEODULB.js";
204
204
  import {
205
205
  formatDaySummaryMemories
206
206
  } from "./chunk-LVXBC6YB.js";
207
- import {
208
- tryDirectAnswer
209
- } from "./chunk-VY47VI2T.js";
210
207
  import {
211
208
  refreshConvergedNamespaces
212
- } from "./chunk-IP4ZNT4U.js";
209
+ } from "./chunk-33MFRY25.js";
213
210
  import {
214
211
  builtInConnectorPackageSpecifier,
215
212
  ensureBuiltInWearableConnectors,
216
213
  getWearableConnector,
217
214
  listWearableConnectors,
218
215
  screenCandidateFact
219
- } from "./chunk-I7EX6KSH.js";
220
- import {
221
- normalizeReplaySessionKey
222
- } from "./chunk-AJVLDJU6.js";
216
+ } from "./chunk-6QDXA26G.js";
223
217
  import {
224
218
  RoutingRulesStore
225
219
  } from "./chunk-TBUEE7XF.js";
220
+ import {
221
+ normalizeReplaySessionKey
222
+ } from "./chunk-AJVLDJU6.js";
226
223
  import {
227
224
  compareVerifiedEpisodeResults,
228
225
  searchVerifiedEpisodes
229
- } from "./chunk-YWSQD2IB.js";
226
+ } from "./chunk-ZJPM7GZ3.js";
230
227
  import {
231
228
  ThreadingManager
232
229
  } from "./chunk-OJP3N7UK.js";
233
230
  import {
234
231
  compareVerifiedSemanticRuleResults,
235
232
  searchVerifiedSemanticRules
236
- } from "./chunk-SEA6M7SS.js";
233
+ } from "./chunk-I5VB44ZK.js";
237
234
  import {
238
235
  searchWorkProductLedgerEntries
239
236
  } from "./chunk-NRLELHAY.js";
240
237
  import {
241
238
  TranscriptManager
242
239
  } from "./chunk-AM4T6CHX.js";
240
+ import {
241
+ PolicyRuntimeManager
242
+ } from "./chunk-2LA3H54D.js";
243
243
  import {
244
244
  runNamespaceMaintenanceFanout,
245
245
  summarizeNamespaceMaintenanceHealth
246
- } from "./chunk-6CPUQ5D6.js";
246
+ } from "./chunk-2LBAFHOQ.js";
247
247
  import {
248
248
  planNamespaceMaintenance
249
- } from "./chunk-ZAOHJDKH.js";
250
- import {
251
- PolicyRuntimeManager
252
- } from "./chunk-2LA3H54D.js";
249
+ } from "./chunk-72OIT7KS.js";
253
250
  import {
254
251
  isAboveImportanceThreshold,
255
252
  scoreImportance
256
253
  } from "./chunk-UOBPK2OS.js";
257
254
  import {
258
255
  searchHarmonicRetrieval
259
- } from "./chunk-YRVAKONL.js";
256
+ } from "./chunk-VQ4AMTGZ.js";
260
257
  import {
261
258
  EXTRACTION_JUDGE_VERDICT_CATEGORY,
262
259
  recordJudgeVerdict
@@ -275,9 +272,6 @@ import {
275
272
  import {
276
273
  applyCommitmentLedgerLifecycle
277
274
  } from "./chunk-NOB2T2FC.js";
278
- import {
279
- SmartBuffer
280
- } from "./chunk-TR7DGXGI.js";
281
275
  import {
282
276
  buildConsolidationPrompt,
283
277
  buildExtensionsBlockForConsolidation,
@@ -287,7 +281,23 @@ import {
287
281
  materializeAfterSemanticConsolidation,
288
282
  parseConsolidationResponse,
289
283
  parseOperatorAwareConsolidationResponse
290
- } from "./chunk-ACOC27BB.js";
284
+ } from "./chunk-CN4VKV3S.js";
285
+ import {
286
+ semanticChunkContent
287
+ } from "./chunk-2GBFKHBZ.js";
288
+ import {
289
+ chunkContent
290
+ } from "./chunk-6TBIWIAG.js";
291
+ import {
292
+ SmartBuffer
293
+ } from "./chunk-NACLNNFQ.js";
294
+ import {
295
+ buildRecallQueryPolicy
296
+ } from "./chunk-C6WMSXCJ.js";
297
+ import {
298
+ buildBehaviorSignalsForMemory,
299
+ dedupeBehaviorSignalsByMemoryAndHash
300
+ } from "./chunk-KD3QD3A5.js";
291
301
  import {
292
302
  BootstrapEngine
293
303
  } from "./chunk-MYVPLJOO.js";
@@ -298,14 +308,11 @@ import {
298
308
  BoxBuilder
299
309
  } from "./chunk-B7RWBZXW.js";
300
310
  import {
301
- semanticChunkContent
302
- } from "./chunk-2GBFKHBZ.js";
303
- import {
304
- chunkContent
305
- } from "./chunk-6TBIWIAG.js";
311
+ evaluateMemoryActionPolicy
312
+ } from "./chunk-MI2OTWV5.js";
306
313
  import {
307
314
  detectMeetings
308
- } from "./chunk-D4QVPP3G.js";
315
+ } from "./chunk-PEBH5DCK.js";
309
316
  import {
310
317
  compileCorrectionRule,
311
318
  correctionsFilePath,
@@ -316,28 +323,16 @@ import {
316
323
  AMBIENT_CAPTURE_PROMPT_RULE,
317
324
  isHighImpactPersonalFact
318
325
  } from "./chunk-QW27DOHG.js";
319
- import {
320
- buildRecallQueryPolicy
321
- } from "./chunk-C6WMSXCJ.js";
322
- import {
323
- buildBehaviorSignalsForMemory,
324
- dedupeBehaviorSignalsByMemoryAndHash
325
- } from "./chunk-KD3QD3A5.js";
326
326
  import {
327
327
  MeetingsInputError
328
- } from "./chunk-FMQ4MOQO.js";
328
+ } from "./chunk-KXIXO76C.js";
329
329
  import {
330
330
  WearablesInputError,
331
331
  describeErrorForOperator
332
332
  } from "./chunk-V7IZKJI3.js";
333
333
  import {
334
334
  NamespaceCatalog
335
- } from "./chunk-OPGL46PX.js";
336
- import {
337
- activityDayWindow,
338
- isValidActivityDate,
339
- timezoneOffsetIso
340
- } from "./chunk-M6L7HI7R.js";
335
+ } from "./chunk-GX6FTSYH.js";
341
336
  import {
342
337
  recordDreamsPhaseRun
343
338
  } from "./chunk-EQWEIIKQ.js";
@@ -354,10 +349,10 @@ import {
354
349
  filterRecallCandidates,
355
350
  isGenericRecallExcludedPath,
356
351
  isTopLevelArchivePath
357
- } from "./chunk-RQE4TITU.js";
352
+ } from "./chunk-IHGMRDEE.js";
358
353
  import {
359
354
  importCapsule
360
- } from "./chunk-PMVPCZJZ.js";
355
+ } from "./chunk-CTCGHNWN.js";
361
356
  import {
362
357
  isCodingGraphInstalled
363
358
  } from "./chunk-VQ7B2Q6M.js";
@@ -380,24 +375,24 @@ import {
380
375
  } from "./chunk-ZVZHG7AI.js";
381
376
  import {
382
377
  buildXraySnapshot
383
- } from "./chunk-MFOSZUIT.js";
378
+ } from "./chunk-NPIBN2VL.js";
384
379
  import {
385
380
  objectiveStateStoreOverrideForNamespace,
386
381
  searchObjectiveStateSnapshots
387
382
  } from "./chunk-HTP6XRUI.js";
383
+ import {
384
+ contentMatchesRedactionRules,
385
+ loadRedactionRules
386
+ } from "./chunk-LTHVM4XN.js";
388
387
  import {
389
388
  ProfilingCollector
390
389
  } from "./chunk-NLE6TSLG.js";
391
390
  import {
392
391
  LocalLlmClient
393
392
  } from "./chunk-IVKIODHO.js";
394
- import {
395
- contentMatchesRedactionRules,
396
- loadRedactionRules
397
- } from "./chunk-LTHVM4XN.js";
398
393
  import {
399
394
  shouldSkipImplicitExtraction
400
- } from "./chunk-7BEPVIH3.js";
395
+ } from "./chunk-X5YYSAZX.js";
401
396
  import {
402
397
  boundRecallContextComposition,
403
398
  composeRecallContext,
@@ -408,7 +403,7 @@ import {
408
403
  } from "./chunk-7ZNJN5WZ.js";
409
404
  import {
410
405
  NamespaceStorageRouter
411
- } from "./chunk-PDDSFELN.js";
406
+ } from "./chunk-HJXA6ZM7.js";
412
407
  import {
413
408
  GraphIndex
414
409
  } from "./chunk-YMOPYG3K.js";
@@ -452,16 +447,20 @@ import {
452
447
  throwIfRecallAborted,
453
448
  tokenizeRecallQuery,
454
449
  utcDateKeysForLocalDay
455
- } from "./chunk-THG4GYIE.js";
450
+ } from "./chunk-RDGKVH6T.js";
456
451
  import {
457
452
  inferIntentFromText,
458
453
  intentCompatibilityScore,
459
454
  isTaskInitiationIntent,
460
455
  planRecallMode
461
456
  } from "./chunk-CSAKJVXW.js";
457
+ import {
458
+ decideLifecycleTransition,
459
+ resolveLifecycleState
460
+ } from "./chunk-TBBDFYXW.js";
462
461
  import {
463
462
  buildChainFollowupGenerator
464
- } from "./chunk-F6QHHRWP.js";
463
+ } from "./chunk-FESUGFIL.js";
465
464
  import {
466
465
  QmdResultResolver,
467
466
  StorageManager,
@@ -480,7 +479,7 @@ import {
480
479
  reconstructFusionInputs,
481
480
  selfDeps,
482
481
  serializeFusionDay
483
- } from "./chunk-BJTHRFFC.js";
482
+ } from "./chunk-GEJKYA7D.js";
484
483
  import {
485
484
  bodyIsEscaped,
486
485
  decodeTranscriptBody,
@@ -493,16 +492,16 @@ import {
493
492
  } from "./chunk-UHVXE24Y.js";
494
493
  import {
495
494
  buildRetiredFactTombstoneInputs
496
- } from "./chunk-46WM6JX2.js";
495
+ } from "./chunk-4ZWCQJNM.js";
497
496
  import {
498
497
  NamespaceSearchRouter,
499
498
  namespaceCollectionName
500
- } from "./chunk-JAQXUGLN.js";
499
+ } from "./chunk-FYWLSFFS.js";
501
500
  import {
502
501
  createConversationIndexRuntime,
503
502
  createSearchBackend,
504
503
  isSearchBackendEnabled
505
- } from "./chunk-RGCF4XNH.js";
504
+ } from "./chunk-HNPE66LB.js";
506
505
  import {
507
506
  NoopSearchBackend
508
507
  } from "./chunk-CYEPCZN5.js";
@@ -516,7 +515,7 @@ import {
516
515
  } from "./chunk-S2V7RUCL.js";
517
516
  import {
518
517
  confidenceTier
519
- } from "./chunk-LBFFNDFM.js";
518
+ } from "./chunk-MINHJ55X.js";
520
519
  import {
521
520
  lintWorkspaceFiles,
522
521
  rotateMarkdownFileToArchive
@@ -525,15 +524,7 @@ import {
525
524
  applyFaithfulnessVerdict,
526
525
  createFaithfulnessCounters,
527
526
  runFaithfulnessGateBatch
528
- } from "./chunk-UG6VXIOK.js";
529
- import {
530
- TAG_LIMITS,
531
- composeMemoryEnvelope,
532
- isMemoryCategory
533
- } from "./chunk-RAIUTAZZ.js";
534
- import {
535
- normalizeTags
536
- } from "./chunk-BT7NVCML.js";
527
+ } from "./chunk-XSTNGNJP.js";
537
528
  import {
538
529
  checkCorpusReadAbort
539
530
  } from "./chunk-5GINB5LC.js";
@@ -555,7 +546,7 @@ import {
555
546
  requestEntityCanonicalIdReconcile,
556
547
  requestEntityCanonicalIdReconcileSync,
557
548
  withRawEntityPageMutation
558
- } from "./chunk-ZVPVTPGI.js";
549
+ } from "./chunk-NNZFPYYX.js";
559
550
  import {
560
551
  applyTemporalSupersession,
561
552
  applyTemporalSupersessionPrimaryMutation,
@@ -568,6 +559,14 @@ import {
568
559
  isValidAsOf,
569
560
  isValidityExpiredNow
570
561
  } from "./chunk-6CIAGZ6X.js";
562
+ import {
563
+ TAG_LIMITS,
564
+ composeMemoryEnvelope,
565
+ isMemoryCategory
566
+ } from "./chunk-WKAXBXVA.js";
567
+ import {
568
+ normalizeTags
569
+ } from "./chunk-BT7NVCML.js";
571
570
  import {
572
571
  buildQmdRecallCacheKey,
573
572
  getCachedQmdRecall,
@@ -577,7 +576,7 @@ import {
577
576
  FallbackLlmClient,
578
577
  fallbackLlmRuntimeContextFromConfig,
579
578
  gatewayTaskChainOptions
580
- } from "./chunk-UW5NPZJ2.js";
579
+ } from "./chunk-JALOAKSZ.js";
581
580
  import {
582
581
  estimateTokenCount
583
582
  } from "./chunk-TOTT6S2V.js";
@@ -587,6 +586,11 @@ import {
587
586
  import {
588
587
  buildProcedurePersistBody
589
588
  } from "./chunk-QDW3E4RD.js";
589
+ import {
590
+ activityDayWindow,
591
+ isValidActivityDate,
592
+ timezoneOffsetIso
593
+ } from "./chunk-M6L7HI7R.js";
590
594
  import {
591
595
  searchCausalTrajectories
592
596
  } from "./chunk-GPFZFCRN.js";
@@ -594,13 +598,16 @@ import {
594
598
  evaluateSubjectGuard,
595
599
  isSharedPromotionTarget,
596
600
  resolveWriteSubject
597
- } from "./chunk-RIAM7DND.js";
598
- import {
599
- coerceBool
600
- } from "./chunk-PQVCH2AE.js";
601
+ } from "./chunk-ME35HVDJ.js";
601
602
  import {
602
603
  parseOriginClass
603
604
  } from "./chunk-6Q3ZTEF6.js";
605
+ import {
606
+ normalizeRecallTokenSet
607
+ } from "./chunk-YCVB7X56.js";
608
+ import {
609
+ coerceBool
610
+ } from "./chunk-PQVCH2AE.js";
604
611
  import {
605
612
  graphemeUnits,
606
613
  truncateGraphemeSafe
@@ -611,13 +618,6 @@ import {
611
618
  resolveRecallCoreSectionDeadlineMs,
612
619
  runRecallSectionWithinDeadline
613
620
  } from "./chunk-4O4TKIXQ.js";
614
- import {
615
- decideLifecycleTransition,
616
- resolveLifecycleState
617
- } from "./chunk-TBBDFYXW.js";
618
- import {
619
- normalizeRecallTokenSet
620
- } from "./chunk-YCVB7X56.js";
621
621
  import {
622
622
  CAPSULE_ID_PATTERN
623
623
  } from "./chunk-WEHSQBFR.js";
@@ -632,27 +632,30 @@ import {
632
632
  getConfiguredNamespaces,
633
633
  resolveNamespaceFromStorageDir,
634
634
  resolveScopePlan
635
- } from "./chunk-Q57GOHLF.js";
635
+ } from "./chunk-EGALNSZ4.js";
636
636
  import {
637
637
  attachCitation,
638
638
  hasCitationForTemplate,
639
639
  stripCitationForTemplate
640
640
  } from "./chunk-J6A3CX5N.js";
641
- import {
642
- assertPathInsideRoot
643
- } from "./chunk-GCASGYIO.js";
644
641
  import {
645
642
  inferMemoryStatus,
646
643
  isActiveMemoryStatus,
647
644
  toMemoryPathRel
648
645
  } from "./chunk-7RJUVTVF.js";
646
+ import {
647
+ openBetterSqlite3
648
+ } from "./chunk-RL6NEVXT.js";
649
+ import {
650
+ assertPathInsideRoot
651
+ } from "./chunk-GCASGYIO.js";
649
652
  import {
650
653
  excludeSupportPassportPrivateMemories,
651
654
  isSupportPassportPrivateMemory
652
- } from "./chunk-XDL5CYZN.js";
655
+ } from "./chunk-EEOUMG3J.js";
653
656
  import {
654
657
  ContentHashIndex
655
- } from "./chunk-JOEJG4SD.js";
658
+ } from "./chunk-TVW4C7PV.js";
656
659
  import {
657
660
  normalizeAttributePairs,
658
661
  stripAttributesSuffix
@@ -709,7 +712,7 @@ import {
709
712
  import {
710
713
  lcmSessionKeyForNamespace,
711
714
  resolveCodingNamespaceOverlay
712
- } from "./chunk-J2WC5LF4.js";
715
+ } from "./chunk-QBC33MPY.js";
713
716
  import {
714
717
  expandTildePath
715
718
  } from "./chunk-EYIEWJNI.js";
@@ -737,16 +740,16 @@ import {
737
740
  } from "./chunk-FF4KLI5W.js";
738
741
  import {
739
742
  SecureStoreLockedError
740
- } from "./chunk-XQ3HXAQH.js";
741
- import {
742
- isErrnoCode
743
- } from "./chunk-5UZXUTVO.js";
743
+ } from "./chunk-ET2CNMLD.js";
744
744
  import {
745
745
  ALL_CATEGORY_DIRS,
746
746
  ALL_CATEGORY_KEYS,
747
747
  RECALL_FALLBACK_DIRS,
748
748
  getCategoryDir
749
749
  } from "./chunk-VS2IYZRU.js";
750
+ import {
751
+ isErrnoCode
752
+ } from "./chunk-5UZXUTVO.js";
750
753
  import {
751
754
  log
752
755
  } from "./chunk-3WCASNQZ.js";
@@ -2303,7 +2306,7 @@ var RecallRerankCoordinator = class _RecallRerankCoordinator {
2303
2306
  namespaces,
2304
2307
  {
2305
2308
  readNamespaceMemories: async (ns) => (await this.getStorage(ns)).readAllMemories(),
2306
- readMemoryFrontmatter: async (path34, preferredNamespace) => {
2309
+ readMemoryFrontmatter: async (path35, preferredNamespace) => {
2307
2310
  if (!fallbackReader) {
2308
2311
  for (const ns of namespaces) {
2309
2312
  try {
@@ -2315,7 +2318,7 @@ var RecallRerankCoordinator = class _RecallRerankCoordinator {
2315
2318
  }
2316
2319
  if (!fallbackReader) return null;
2317
2320
  const memory = await this.readQmdResultMemory(
2318
- path34,
2321
+ path35,
2319
2322
  fallbackReader,
2320
2323
  namespaces,
2321
2324
  preferredNamespace
@@ -15629,7 +15632,7 @@ var OrchestratorInitCoordinator = class {
15629
15632
  if (signal.aborted) return;
15630
15633
  if (lifecycleCaps.lifecyclePolicy && resolveQmdCapabilities(this.deps.config).qmdTierMigration) {
15631
15634
  try {
15632
- const { runFirstStartMigration } = await import("./first-start-migration-4NETATFF.js");
15635
+ const { runFirstStartMigration } = await import("./first-start-migration-KHIMCBIC.js");
15633
15636
  const result = await runFirstStartMigration({
15634
15637
  storage: this.deps.storage,
15635
15638
  config: this.deps.config,
@@ -15652,7 +15655,7 @@ var OrchestratorInitCoordinator = class {
15652
15655
  if (signal.aborted) return;
15653
15656
  if (!this.deps.wearablesAutoSyncHandle && this.deps.config.wearables.enabled && this.deps.config.wearables.autoSyncEnabled && Object.values(this.deps.config.wearables.sources).some((source) => source.enabled)) {
15654
15657
  try {
15655
- const { startWearablesAutoSync } = await import("./auto-sync-XVMLL2RH.js");
15658
+ const { startWearablesAutoSync } = await import("./auto-sync-Q6Q2FVSC.js");
15656
15659
  if (signal.aborted) return;
15657
15660
  this.deps.wearablesAutoSyncHandle = startWearablesAutoSync(
15658
15661
  {
@@ -22298,9 +22301,9 @@ function readStructuralSymbol(entry) {
22298
22301
  const rec = entry;
22299
22302
  const symbol = typeof rec.symbol === "string" ? rec.symbol.trim() : "";
22300
22303
  if (!symbol) return null;
22301
- const path34 = typeof rec.path === "string" && rec.path.length > 0 ? rec.path : void 0;
22304
+ const path35 = typeof rec.path === "string" && rec.path.length > 0 ? rec.path : void 0;
22302
22305
  const kind = typeof rec.kind === "string" && rec.kind.length > 0 ? rec.kind : void 0;
22303
- const item = path34 !== void 0 && kind !== void 0 ? { symbol, path: path34, kind } : path34 !== void 0 ? { symbol, path: path34 } : kind !== void 0 ? { symbol, kind } : { symbol };
22306
+ const item = path35 !== void 0 && kind !== void 0 ? { symbol, path: path35, kind } : path35 !== void 0 ? { symbol, path: path35 } : kind !== void 0 ? { symbol, kind } : { symbol };
22304
22307
  return item;
22305
22308
  }
22306
22309
  function classifySpawnError(err) {
@@ -25864,6 +25867,438 @@ function publisherForConnector(connectorId) {
25864
25867
  return publisherFor(hostIdForConnector(connectorId));
25865
25868
  }
25866
25869
 
25870
+ // src/activity/timeline/categories.ts
25871
+ var TIMELINE_RESERVED_UNKNOWN = "system.unknown";
25872
+ var TIMELINE_RESERVED_IDLE = "system.idle";
25873
+ var TIMELINE_RESERVED_PAUSE = "system.pause";
25874
+ var COLOR_PATTERN = /^#[0-9a-fA-F]{6}$/;
25875
+ function isTimelineCategoryId(id) {
25876
+ const parts = id.split(".");
25877
+ if (parts.length === 0) return false;
25878
+ for (const part of parts) {
25879
+ if (part.length === 0) return false;
25880
+ const first = part.charCodeAt(0);
25881
+ if (first < 97 || first > 122) return false;
25882
+ for (let i = 1; i < part.length; i += 1) {
25883
+ const code = part.charCodeAt(i);
25884
+ const ok = code >= 97 && code <= 122 || code >= 48 && code <= 57 || code === 45;
25885
+ if (!ok) return false;
25886
+ }
25887
+ }
25888
+ return true;
25889
+ }
25890
+ var DEFAULT_TIMELINE_CATEGORIES = [
25891
+ { id: "development", name: "Development", color: "#3b82f6", description: "Editors, terminals, IDEs, and code forges.", order: 10 },
25892
+ { id: "communication", name: "Communication", color: "#f59e0b", description: "Mail, chat, and meetings.", order: 20 },
25893
+ { id: "browsing", name: "Browsing", color: "#6366f1", description: "Web browsing without a more specific domain match.", order: 30 },
25894
+ { id: "documents", name: "Documents", color: "#10b981", description: "Writing, notes, and PDFs.", order: 40 },
25895
+ { id: "design", name: "Design & Media", color: "#ec4899", description: "Design, audio, and video tools.", order: 50 },
25896
+ { id: "data", name: "Data & Analysis", color: "#84cc16", description: "Spreadsheets, dashboards, and databases.", order: 60 },
25897
+ { id: "admin", name: "Admin", color: "#64748b", description: "File managers, settings, and system utilities.", order: 70 },
25898
+ { id: "entertainment", name: "Entertainment", color: "#ef4444", description: "Video, music, and games.", order: 80 },
25899
+ { id: TIMELINE_RESERVED_UNKNOWN, name: "Uncategorized", color: "#9ca3af", description: "Activity with no matching classification signal. Kept visible, never silently reassigned.", order: 990, system: true },
25900
+ { id: TIMELINE_RESERVED_IDLE, name: "Idle", color: "#d1d5db", description: "Derived gap between cards where no activity was observed.", order: 991, system: true, idle: true },
25901
+ { id: TIMELINE_RESERVED_PAUSE, name: "Paused", color: "#a78bfa", description: "User-declared pause interval.", order: 992, system: true }
25902
+ ];
25903
+ function validateTimelineCategories(categories) {
25904
+ if (!Array.isArray(categories) || categories.length === 0) {
25905
+ throw new RangeError("timeline categories must be a non-empty array");
25906
+ }
25907
+ const seen = /* @__PURE__ */ new Set();
25908
+ for (const category of categories) {
25909
+ if (typeof category.id !== "string" || !isTimelineCategoryId(category.id)) {
25910
+ throw new RangeError(`timeline category id must be dotted kebab-case: ${String(category.id)}`);
25911
+ }
25912
+ if (seen.has(category.id)) {
25913
+ throw new RangeError(`timeline category id must be unique: ${category.id}`);
25914
+ }
25915
+ seen.add(category.id);
25916
+ if (typeof category.name !== "string" || category.name.length === 0) {
25917
+ throw new RangeError(`timeline category ${category.id}: name must be a non-empty string`);
25918
+ }
25919
+ if (typeof category.color !== "string" || !COLOR_PATTERN.test(category.color)) {
25920
+ throw new RangeError(`timeline category ${category.id}: color must be #RRGGBB`);
25921
+ }
25922
+ if (typeof category.description !== "string" || category.description.length === 0) {
25923
+ throw new RangeError(`timeline category ${category.id}: description must be a non-empty string`);
25924
+ }
25925
+ if (!Number.isInteger(category.order)) {
25926
+ throw new RangeError(`timeline category ${category.id}: order must be an integer`);
25927
+ }
25928
+ const isReserved = category.id === TIMELINE_RESERVED_UNKNOWN || category.id === TIMELINE_RESERVED_IDLE || category.id === TIMELINE_RESERVED_PAUSE;
25929
+ if (isReserved && category.system !== true) {
25930
+ throw new RangeError(`timeline category ${category.id} is reserved and must set system: true`);
25931
+ }
25932
+ if (!isReserved) {
25933
+ if (category.id.startsWith("system.")) {
25934
+ throw new RangeError(`timeline category id namespace "system." is reserved: ${category.id}`);
25935
+ }
25936
+ if (category.system === true || category.idle === true) {
25937
+ throw new RangeError(`timeline category ${category.id}: only reserved categories may set system/idle flags`);
25938
+ }
25939
+ }
25940
+ }
25941
+ const idle = categories.find((category) => category.id === TIMELINE_RESERVED_IDLE);
25942
+ if (idle !== void 0 && idle.idle !== true) {
25943
+ throw new RangeError(`timeline category ${TIMELINE_RESERVED_IDLE} must set idle: true`);
25944
+ }
25945
+ for (const reserved of [TIMELINE_RESERVED_UNKNOWN, TIMELINE_RESERVED_IDLE, TIMELINE_RESERVED_PAUSE]) {
25946
+ if (!categories.some((category) => category.id === reserved)) {
25947
+ throw new RangeError(`timeline categories must include the reserved "${reserved}" category`);
25948
+ }
25949
+ }
25950
+ }
25951
+ function sortTimelineCategories(categories) {
25952
+ return [...categories].sort((a, b) => a.order - b.order || (a.id < b.id ? -1 : a.id > b.id ? 1 : 0));
25953
+ }
25954
+
25955
+ // src/activity/timeline/classify.ts
25956
+ var DOMAIN_CONFIDENCE = 0.85;
25957
+ var APP_CONFIDENCE = 0.9;
25958
+ var TITLE_CONFIDENCE = 0.7;
25959
+ var UNKNOWN_CONFIDENCE = 0;
25960
+ var RULES = [
25961
+ { categoryId: "development", domains: ["github.com", "gitlab.com", "stackoverflow.com", "linear.app", "atlassian.net"] },
25962
+ { categoryId: "communication", domains: ["mail.google.com", "gmail.com", "outlook.com", "outlook.office.com", "slack.com"] },
25963
+ { categoryId: "design", domains: ["figma.com", "canva.com"] },
25964
+ { categoryId: "documents", domains: ["docs.google.com", "notion.so", "dropbox.com"] },
25965
+ { categoryId: "entertainment", domains: ["youtube.com", "netflix.com", "spotify.com"] },
25966
+ { categoryId: "data", domains: ["metabase", "tableau", "grafana"] },
25967
+ { categoryId: "development", apps: ["code", "cursor", "neovim", "vim", "emacs", "xcode", "intellij", "terminal", "iterm", "warp", "wezterm", "kitty", "alacritty", "zed", "sublime", "datagrip"] },
25968
+ { categoryId: "communication", apps: ["slack", "discord", "teams", "mail", "outlook", "thunderbird", "messages", "signal", "whatsapp", "telegram", "zoom", "facetime", "meet"] },
25969
+ { categoryId: "design", apps: ["figma", "sketch", "photoshop", "illustrator", "indesign", "premiere", "after effects", "davinci", "blender", "ableton", "logic pro", "final cut"] },
25970
+ { categoryId: "documents", apps: ["word", "pages", "notion", "obsidian", "notes", "typora", "bear", "preview", "acrobat"] },
25971
+ { categoryId: "data", apps: ["excel", "numbers", "sheets", "tableau"] },
25972
+ { categoryId: "admin", apps: ["finder", "settings", "system preferences", "activity monitor", "files", "explorer"] },
25973
+ { categoryId: "entertainment", apps: ["spotify", "music", "youtube", "vlc", "quicktime", "steam", "netflix", "podcast", "tv"] },
25974
+ { categoryId: "browsing", apps: ["chrome", "safari", "firefox", "edge", "arc", "brave", "browser"] },
25975
+ { categoryId: "development", titles: ["pull request", "merge conflict", "terminal \u2014", "repository"] },
25976
+ { categoryId: "communication", titles: ["inbox"] },
25977
+ { categoryId: "data", titles: ["spreadsheet", "pivot table"] }
25978
+ ];
25979
+ function classifyTimelineObservation(observation, categories) {
25980
+ const app = observation.app.toLowerCase();
25981
+ const title = observation.windowTitle.toLowerCase();
25982
+ const domain = observation.browserUrl === void 0 ? "" : hostOf(observation.browserUrl);
25983
+ for (const rule of RULES) {
25984
+ if (rule.domains !== void 0 && domain !== "" && rule.domains.some((pattern) => domain.includes(pattern))) {
25985
+ return checkedRule(rule, DOMAIN_CONFIDENCE, categories);
25986
+ }
25987
+ }
25988
+ for (const rule of RULES) {
25989
+ if (rule.apps !== void 0 && rule.apps.some((pattern) => app.includes(pattern))) {
25990
+ return checkedRule(rule, APP_CONFIDENCE, categories);
25991
+ }
25992
+ }
25993
+ for (const rule of RULES) {
25994
+ if (rule.titles !== void 0 && rule.titles.some((pattern) => title.includes(pattern))) {
25995
+ return checkedRule(rule, TITLE_CONFIDENCE, categories);
25996
+ }
25997
+ }
25998
+ return { categoryId: TIMELINE_RESERVED_UNKNOWN, confidence: UNKNOWN_CONFIDENCE };
25999
+ }
26000
+ function checkedRule(rule, confidence, categories) {
26001
+ if (!categories.some((category) => category.id === rule.categoryId)) {
26002
+ throw new RangeError(`timeline classification rule targets unknown category: ${rule.categoryId}`);
26003
+ }
26004
+ return { categoryId: rule.categoryId, confidence };
26005
+ }
26006
+ function hostOf(url) {
26007
+ try {
26008
+ return new URL(url).hostname.toLowerCase();
26009
+ } catch {
26010
+ return url.toLowerCase();
26011
+ }
26012
+ }
26013
+
26014
+ // src/activity/timeline/build.ts
26015
+ import { createHash as createHash9 } from "crypto";
26016
+ var TIMELINE_FORMAT_VERSION = 1;
26017
+ var TIMELINE_MERGE_GAP_MS = 12e4;
26018
+ var TIMELINE_MAX_DWELL_MS = 15 * 6e4;
26019
+ function canonicalMs(iso) {
26020
+ const parsed = Date.parse(iso);
26021
+ return Number.isFinite(parsed) ? parsed : Number.NaN;
26022
+ }
26023
+ function isoOf(ms) {
26024
+ return new Date(ms).toISOString();
26025
+ }
26026
+ function evidenceKeyOf(observation) {
26027
+ return `${observation.machine}|${isoOf(canonicalMs(observation.capturedAtUtc))}|${observation.contentHash}`;
26028
+ }
26029
+ function stableCardId(identity) {
26030
+ return `tlc_${createHash9("sha256").update(identity, "utf8").digest("hex").slice(0, 16)}`;
26031
+ }
26032
+ function formatDurationMinutes(ms) {
26033
+ return `${Math.round(ms / 6e4)}m`;
26034
+ }
26035
+ function unionIntervals(intervals) {
26036
+ const sorted = [...intervals].sort((a, b) => a[0] - b[0] || a[1] - b[1]);
26037
+ const merged = [];
26038
+ for (const interval of sorted) {
26039
+ const last = merged[merged.length - 1];
26040
+ if (last !== void 0 && interval[0] <= last[1]) {
26041
+ last[1] = Math.max(last[1], interval[1]);
26042
+ } else {
26043
+ merged.push([interval[0], interval[1]]);
26044
+ }
26045
+ }
26046
+ return merged;
26047
+ }
26048
+ function subtractInterval(start, end, cutStart, cutEnd) {
26049
+ if (cutEnd <= start || cutStart >= end) return [[start, end]];
26050
+ const pieces = [];
26051
+ if (cutStart > start) pieces.push([start, cutStart]);
26052
+ if (cutEnd < end) pieces.push([cutEnd, end]);
26053
+ return pieces;
26054
+ }
26055
+ function mergeTrack(machine, track, pauses) {
26056
+ const cards = [];
26057
+ let current = [];
26058
+ const pauseStartsAfter = (fromMs, toMs) => pauses.some(([ps, pe]) => ps >= fromMs && ps < toMs && pe > ps);
26059
+ for (const observation of track) {
26060
+ const last = current[current.length - 1];
26061
+ if (last !== void 0) {
26062
+ const gap = canonicalMs(observation.capturedAtUtc) - canonicalMs(last.capturedAtUtc);
26063
+ const sameKey = observation.app === last.app && observation.windowTitle === last.windowTitle;
26064
+ const pauseBetween = pauseStartsAfter(canonicalMs(last.capturedAtUtc), canonicalMs(observation.capturedAtUtc));
26065
+ if (!sameKey || gap > TIMELINE_MERGE_GAP_MS || pauseBetween) {
26066
+ cards.push({ machine, observations: current });
26067
+ current = [];
26068
+ }
26069
+ }
26070
+ current.push(observation);
26071
+ }
26072
+ if (current.length > 0) cards.push({ machine, observations: current });
26073
+ return cards;
26074
+ }
26075
+ function buildTimelineDay(input) {
26076
+ const categories = input.categories ?? DEFAULT_TIMELINE_CATEGORIES;
26077
+ validateTimelineCategories(categories);
26078
+ const window = activityDayWindow(input.date, input.timezone);
26079
+ const dayStartMs = Date.parse(window.startUtc);
26080
+ const dayEndMs = Date.parse(window.endUtc);
26081
+ const observations = input.observations.filter((observation) => Number.isFinite(canonicalMs(observation.capturedAtUtc))).filter((observation) => {
26082
+ const ms = canonicalMs(observation.capturedAtUtc);
26083
+ return ms >= dayStartMs && ms < dayEndMs;
26084
+ });
26085
+ for (const pause of input.pauses ?? []) {
26086
+ const startMs = canonicalMs(pause.startUtc);
26087
+ const endMs = canonicalMs(pause.endUtc);
26088
+ if (!Number.isFinite(startMs) || !Number.isFinite(endMs) || startMs >= endMs) {
26089
+ throw new RangeError("timeline pause must be a valid half-open [startUtc, endUtc) interval");
26090
+ }
26091
+ }
26092
+ const pauseIntervals = unionIntervals(
26093
+ (input.pauses ?? []).map((pause) => [canonicalMs(pause.startUtc), canonicalMs(pause.endUtc)]).map(([startMs, endMs]) => [Math.max(startMs, dayStartMs), Math.min(endMs, dayEndMs)]).filter(([startMs, endMs]) => endMs > startMs)
26094
+ );
26095
+ const tracks = /* @__PURE__ */ new Map();
26096
+ for (const observation of observations) {
26097
+ const track = tracks.get(observation.machine) ?? [];
26098
+ track.push(observation);
26099
+ tracks.set(observation.machine, track);
26100
+ }
26101
+ for (const track of tracks.values()) {
26102
+ track.sort(
26103
+ (a, b) => canonicalMs(a.capturedAtUtc) - canonicalMs(b.capturedAtUtc) || (a.contentHash < b.contentHash ? -1 : a.contentHash > b.contentHash ? 1 : 0)
26104
+ );
26105
+ }
26106
+ const cards = [];
26107
+ const machines = [...tracks.keys()].sort();
26108
+ for (const machine of machines) {
26109
+ const track = tracks.get(machine) ?? [];
26110
+ const merged = mergeTrack(machine, track, pauseIntervals);
26111
+ const trackIntervals = [];
26112
+ for (let index = 0; index < merged.length; index++) {
26113
+ const group = merged[index];
26114
+ const first = group.observations[0];
26115
+ const last = group.observations[group.observations.length - 1];
26116
+ const startMs = canonicalMs(first.capturedAtUtc);
26117
+ const lastMs = canonicalMs(last.capturedAtUtc);
26118
+ const nextObsMs = index + 1 < merged.length ? canonicalMs(merged[index + 1].observations[0].capturedAtUtc) : Number.POSITIVE_INFINITY;
26119
+ const pauseStartMs = pauseIntervals.find(([ps]) => ps > lastMs)?.[0] ?? Number.POSITIVE_INFINITY;
26120
+ const endMs = Math.max(lastMs, Math.min(lastMs + TIMELINE_MAX_DWELL_MS, nextObsMs, pauseStartMs, dayEndMs));
26121
+ trackIntervals.push([startMs, endMs]);
26122
+ const evidenceIds = group.observations.map((observation) => observation.id);
26123
+ const classification = classifyTimelineObservation(first, categories);
26124
+ cards.push({
26125
+ id: stableCardId(`activity|${machine}|${evidenceKeyOf(first)}|${evidenceKeyOf(last)}`),
26126
+ kind: "activity",
26127
+ title: first.windowTitle.length > 0 ? first.windowTitle : first.app,
26128
+ summary: `${first.app} \xB7 ${machine} \xB7 ${evidenceIds.length} obs \xB7 ${formatDurationMinutes(endMs - startMs)}`,
26129
+ categoryId: classification.categoryId,
26130
+ confidence: classification.confidence,
26131
+ startUtc: isoOf(startMs),
26132
+ endUtc: isoOf(endMs),
26133
+ dayKey: input.date,
26134
+ timezone: input.timezone,
26135
+ machine,
26136
+ evidenceIds,
26137
+ evidenceRange: { firstKey: evidenceKeyOf(first), lastKey: evidenceKeyOf(last) }
26138
+ });
26139
+ }
26140
+ for (let index = 0; index + 1 < trackIntervals.length; index++) {
26141
+ const gapStart = trackIntervals[index][1];
26142
+ const gapEnd = trackIntervals[index + 1][0];
26143
+ if (gapEnd <= gapStart) continue;
26144
+ let pieces = [[gapStart, gapEnd]];
26145
+ for (const [pauseStart, pauseEnd] of pauseIntervals) {
26146
+ pieces = pieces.flatMap(([start, end]) => subtractInterval(start, end, pauseStart, pauseEnd));
26147
+ }
26148
+ for (const [start, end] of pieces) {
26149
+ cards.push({
26150
+ id: stableCardId(`idle|${machine}|${isoOf(start)}|${isoOf(end)}`),
26151
+ kind: "idle",
26152
+ title: "Idle",
26153
+ summary: `${formatDurationMinutes(end - start)} gap on ${machine}`,
26154
+ categoryId: TIMELINE_RESERVED_IDLE,
26155
+ confidence: 1,
26156
+ startUtc: isoOf(start),
26157
+ endUtc: isoOf(end),
26158
+ dayKey: input.date,
26159
+ timezone: input.timezone,
26160
+ machine,
26161
+ evidenceIds: [],
26162
+ evidenceRange: null
26163
+ });
26164
+ }
26165
+ }
26166
+ }
26167
+ for (const [pauseStart, pauseEnd] of pauseIntervals) {
26168
+ const reason = (input.pauses ?? []).find((pause) => canonicalMs(pause.startUtc) === pauseStart)?.reason;
26169
+ cards.push({
26170
+ id: stableCardId(`pause|${isoOf(pauseStart)}|${isoOf(pauseEnd)}`),
26171
+ kind: "pause",
26172
+ title: "Paused",
26173
+ summary: reason === void 0 ? `${formatDurationMinutes(pauseEnd - pauseStart)} user pause` : `${formatDurationMinutes(pauseEnd - pauseStart)} user pause \u2014 ${reason}`,
26174
+ categoryId: TIMELINE_RESERVED_PAUSE,
26175
+ confidence: 1,
26176
+ startUtc: isoOf(pauseStart),
26177
+ endUtc: isoOf(pauseEnd),
26178
+ dayKey: input.date,
26179
+ timezone: input.timezone,
26180
+ machine: null,
26181
+ evidenceIds: [],
26182
+ evidenceRange: null
26183
+ });
26184
+ }
26185
+ cards.sort((a, b) => a.startUtc < b.startUtc ? -1 : a.startUtc > b.startUtc ? 1 : a.endUtc < b.endUtc ? -1 : a.endUtc > b.endUtc ? 1 : (a.machine ?? "") < (b.machine ?? "") ? -1 : (a.machine ?? "") > (b.machine ?? "") ? 1 : a.id < b.id ? -1 : a.id > b.id ? 1 : 0);
26186
+ return {
26187
+ formatVersion: TIMELINE_FORMAT_VERSION,
26188
+ date: input.date,
26189
+ timezone: input.timezone,
26190
+ startUtc: window.startUtc,
26191
+ endUtc: window.endUtc,
26192
+ cards
26193
+ };
26194
+ }
26195
+ function serializeTimelineDay(day) {
26196
+ return JSON.stringify(day);
26197
+ }
26198
+
26199
+ // src/activity/timeline/corrections.ts
26200
+ import { mkdirSync } from "fs";
26201
+ import path32 from "path";
26202
+ function timelineCorrectionDatabasePath(memoryDir) {
26203
+ return path32.join(memoryDir, "state", "activity-timeline.sqlite");
26204
+ }
26205
+ function rowToCorrection(row) {
26206
+ return {
26207
+ cardId: row.card_id,
26208
+ categoryId: row.category_id ?? void 0,
26209
+ title: row.title ?? void 0,
26210
+ editedAtUtc: row.edited_at_utc
26211
+ };
26212
+ }
26213
+ var TimelineCorrectionStore = class _TimelineCorrectionStore {
26214
+ db;
26215
+ constructor(db) {
26216
+ this.db = db;
26217
+ }
26218
+ static open(memoryDir) {
26219
+ mkdirSync(path32.join(memoryDir, "state"), { recursive: true });
26220
+ const db = openBetterSqlite3(timelineCorrectionDatabasePath(memoryDir));
26221
+ db.pragma("journal_mode = WAL");
26222
+ db.pragma("busy_timeout = 5000");
26223
+ db.exec(`
26224
+ CREATE TABLE IF NOT EXISTS timeline_corrections (
26225
+ card_id TEXT PRIMARY KEY,
26226
+ category_id TEXT,
26227
+ title TEXT,
26228
+ edited_at_utc TEXT NOT NULL
26229
+ );
26230
+ `);
26231
+ return new _TimelineCorrectionStore(db);
26232
+ }
26233
+ /**
26234
+ * Persist one correction. `categoryId`, when set, must exist in `categories`
26235
+ * (defaults to the built-in registry) — an unknown category is a malformed
26236
+ * edit and must fail rather than silently strand the card.
26237
+ */
26238
+ upsert(correction, categories = DEFAULT_TIMELINE_CATEGORIES) {
26239
+ validateTimelineCategories(categories);
26240
+ if (typeof correction.cardId !== "string" || correction.cardId.length === 0) {
26241
+ throw new RangeError("timeline correction requires a non-empty cardId");
26242
+ }
26243
+ if (typeof correction.editedAtUtc !== "string" || Number.isNaN(Date.parse(correction.editedAtUtc))) {
26244
+ throw new RangeError("timeline correction requires a valid editedAtUtc instant");
26245
+ }
26246
+ if (correction.categoryId === void 0 && correction.title === void 0 || correction.title !== void 0 && correction.title.length === 0) {
26247
+ throw new RangeError("timeline correction must set a categoryId and/or a non-empty title");
26248
+ }
26249
+ if (correction.categoryId !== void 0 && !categories.some((category) => category.id === correction.categoryId)) {
26250
+ throw new RangeError(`timeline correction targets unknown category: ${correction.categoryId}`);
26251
+ }
26252
+ this.db.prepare(
26253
+ `INSERT INTO timeline_corrections (card_id, category_id, title, edited_at_utc)
26254
+ VALUES (?, ?, ?, ?)
26255
+ ON CONFLICT(card_id) DO UPDATE SET category_id = excluded.category_id, title = excluded.title, edited_at_utc = excluded.edited_at_utc`
26256
+ ).run(correction.cardId, correction.categoryId ?? null, correction.title ?? null, correction.editedAtUtc);
26257
+ }
26258
+ get(cardId) {
26259
+ const row = this.db.prepare("SELECT card_id, category_id, title, edited_at_utc FROM timeline_corrections WHERE card_id = ?").get(cardId);
26260
+ return row === void 0 ? void 0 : rowToCorrection(row);
26261
+ }
26262
+ /** All corrections ordered by card id (deterministic listing). */
26263
+ list() {
26264
+ return this.db.prepare("SELECT card_id, category_id, title, edited_at_utc FROM timeline_corrections ORDER BY card_id ASC").all().map((row) => rowToCorrection(row));
26265
+ }
26266
+ /** Explicitly reset a card to its derived values; true when a correction existed. */
26267
+ reset(cardId) {
26268
+ return this.db.prepare("DELETE FROM timeline_corrections WHERE card_id = ?").run(cardId).changes > 0;
26269
+ }
26270
+ close() {
26271
+ this.db.close();
26272
+ }
26273
+ };
26274
+ function applyTimelineCorrections(cards, corrections) {
26275
+ const byCardId = new Map(corrections.map((correction) => [correction.cardId, correction]));
26276
+ return cards.map((card) => {
26277
+ const correction = byCardId.get(card.id);
26278
+ if (correction === void 0) return card;
26279
+ return {
26280
+ id: card.id,
26281
+ kind: card.kind,
26282
+ title: correction.title ?? card.title,
26283
+ summary: card.summary,
26284
+ categoryId: correction.categoryId ?? card.categoryId,
26285
+ confidence: 1,
26286
+ startUtc: card.startUtc,
26287
+ endUtc: card.endUtc,
26288
+ dayKey: card.dayKey,
26289
+ timezone: card.timezone,
26290
+ machine: card.machine,
26291
+ evidenceIds: card.evidenceIds,
26292
+ evidenceRange: card.evidenceRange,
26293
+ manualEdit: {
26294
+ ...correction.categoryId !== void 0 ? { categoryId: correction.categoryId } : {},
26295
+ ...correction.title !== void 0 ? { title: correction.title } : {},
26296
+ editedAtUtc: correction.editedAtUtc
26297
+ }
26298
+ };
26299
+ });
26300
+ }
26301
+
25867
26302
  // src/activity/memory-gen.ts
25868
26303
  var ACTIVITY_ALLOWED_CATEGORIES = {
25869
26304
  decision: true,
@@ -26121,9 +26556,9 @@ async function generateActivityMemories(date, digestBody, config, deps) {
26121
26556
  }
26122
26557
 
26123
26558
  // src/session-summaries/index.ts
26124
- import { createHash as createHash9 } from "crypto";
26559
+ import { createHash as createHash10 } from "crypto";
26125
26560
  import { lstat as lstat3, mkdir as mkdir7, readFile as readFile7, readdir as readdir4, rename, rm, stat as stat4, writeFile as writeFile7 } from "fs/promises";
26126
- import path32 from "path";
26561
+ import path33 from "path";
26127
26562
 
26128
26563
  // src/session-summaries/adapters.ts
26129
26564
  var VALID_ROLES = /* @__PURE__ */ new Set(["user", "assistant", "tool", "system", "other"]);
@@ -26623,12 +27058,12 @@ var DEFAULT_MAX_FILES = 5e3;
26623
27058
  var DEFAULT_MAX_SESSIONS = 500;
26624
27059
  var SUPPORTED_EXTENSIONS = /* @__PURE__ */ new Set([".json", ".jsonl"]);
26625
27060
  function shortHash(value, length = 16) {
26626
- return createHash9("sha256").update(value).digest("hex").slice(0, length);
27061
+ return createHash10("sha256").update(value).digest("hex").slice(0, length);
26627
27062
  }
26628
27063
  async function listTranscriptFiles(root, maxFiles) {
26629
27064
  const out = [];
26630
27065
  let truncated = false;
26631
- const entrySortKey = (entryName, isDirectory) => isDirectory ? `${entryName}${path32.sep}` : entryName;
27066
+ const entrySortKey = (entryName, isDirectory) => isDirectory ? `${entryName}${path33.sep}` : entryName;
26632
27067
  async function visit(dir) {
26633
27068
  if (truncated) return;
26634
27069
  const entries = (await readdir4(dir, { withFileTypes: true })).sort(
@@ -26638,13 +27073,13 @@ async function listTranscriptFiles(root, maxFiles) {
26638
27073
  if (truncated) return;
26639
27074
  if (entry.name.startsWith(".")) continue;
26640
27075
  if (entry.isSymbolicLink()) continue;
26641
- const fullPath = path32.join(dir, entry.name);
27076
+ const fullPath = path33.join(dir, entry.name);
26642
27077
  if (entry.isDirectory()) {
26643
27078
  await visit(fullPath);
26644
27079
  continue;
26645
27080
  }
26646
27081
  if (!entry.isFile()) continue;
26647
- const ext = path32.extname(entry.name).toLowerCase();
27082
+ const ext = path33.extname(entry.name).toLowerCase();
26648
27083
  if (!SUPPORTED_EXTENSIONS.has(ext)) continue;
26649
27084
  out.push(fullPath);
26650
27085
  if (out.length > maxFiles) {
@@ -26671,7 +27106,7 @@ function normalizeInputDir(inputDir) {
26671
27106
  if (typeof inputDir !== "string" || inputDir.trim().length === 0) {
26672
27107
  throw new Error("inputDir must be a non-empty string");
26673
27108
  }
26674
- return path32.resolve(expandTildePath(inputDir.trim()));
27109
+ return path33.resolve(expandTildePath(inputDir.trim()));
26675
27110
  }
26676
27111
  function initRoleCounts() {
26677
27112
  return {
@@ -26828,11 +27263,11 @@ async function collectLocalSessionSummaries(options) {
26828
27263
  continue;
26829
27264
  }
26830
27265
  seenFileHashes.add(fileHash);
26831
- const fileExtension = path32.extname(filePath).toLowerCase();
27266
+ const fileExtension = path33.extname(filePath).toLowerCase();
26832
27267
  const parsed = await adapter.parseFile(
26833
27268
  {
26834
27269
  content,
26835
- fileName: path32.basename(filePath),
27270
+ fileName: path33.basename(filePath),
26836
27271
  fileExtension,
26837
27272
  fileRef: fileHash
26838
27273
  },
@@ -26888,7 +27323,7 @@ async function collectLocalSessionSummaries(options) {
26888
27323
  }
26889
27324
  async function readRedactionConfig(pathLike) {
26890
27325
  if (!pathLike) return void 0;
26891
- const raw = await readFile7(path32.resolve(expandTildePath(pathLike)), "utf-8");
27326
+ const raw = await readFile7(path33.resolve(expandTildePath(pathLike)), "utf-8");
26892
27327
  const parsed = JSON.parse(raw);
26893
27328
  if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
26894
27329
  throw new Error("redaction config must be a JSON object");
@@ -26901,15 +27336,15 @@ function toJsonl(drafts) {
26901
27336
  }
26902
27337
  function defaultDraftOutputPath(memoryDir, generatedAt) {
26903
27338
  const stamp = generatedAt.replace(/[:.]/g, "-");
26904
- return path32.join(
26905
- path32.resolve(expandTildePath(memoryDir)),
27339
+ return path33.join(
27340
+ path33.resolve(expandTildePath(memoryDir)),
26906
27341
  "state",
26907
27342
  "session-summary-drafts",
26908
27343
  `session-summaries-${stamp}.jsonl`
26909
27344
  );
26910
27345
  }
26911
27346
  async function writeDrafts(filePath, drafts) {
26912
- await mkdir7(path32.dirname(filePath), { recursive: true });
27347
+ await mkdir7(path33.dirname(filePath), { recursive: true });
26913
27348
  const tempPath = `${filePath}.${process.pid}.${Date.now()}.tmp`;
26914
27349
  try {
26915
27350
  await writeFile7(tempPath, toJsonl(drafts), "utf-8");
@@ -26927,7 +27362,7 @@ async function runLocalSessionSummaryCliCommand(options) {
26927
27362
  });
26928
27363
  const wroteFiles = [];
26929
27364
  if (options.output) {
26930
- const outputPath = path32.resolve(expandTildePath(options.output));
27365
+ const outputPath = path33.resolve(expandTildePath(options.output));
26931
27366
  await writeDrafts(outputPath, report.drafts);
26932
27367
  wroteFiles.push(outputPath);
26933
27368
  }
@@ -26962,19 +27397,19 @@ async function runLocalSessionSummaryCliCommand(options) {
26962
27397
 
26963
27398
  // src/transfer/capsule-fork.ts
26964
27399
  import { lstat as lstat4, mkdir as mkdir8, readFile as readFile8, realpath as realpath3, writeFile as writeFile8 } from "fs/promises";
26965
- import path33 from "path";
27400
+ import path34 from "path";
26966
27401
  async function forkCapsule(opts) {
26967
27402
  validateForkId(opts.forkId);
26968
- const rootAbs = path33.resolve(opts.targetRoot);
27403
+ const rootAbs = path34.resolve(opts.targetRoot);
26969
27404
  await assertIsDirectoryNotSymlink(rootAbs, "forkCapsule", "targetRoot");
26970
- const forkDirAbs = path33.join(rootAbs, "forks", opts.forkId);
27405
+ const forkDirAbs = path34.join(rootAbs, "forks", opts.forkId);
26971
27406
  const forkEntryExists = await pathEntryExists(forkDirAbs);
26972
27407
  if (forkEntryExists) {
26973
27408
  throw new Error(
26974
27409
  `forkCapsule: fork path already exists \u2014 forkId "${opts.forkId}" is already in use at: ${forkDirAbs}`
26975
27410
  );
26976
27411
  }
26977
- const archiveAbs = path33.resolve(opts.sourceArchive);
27412
+ const archiveAbs = path34.resolve(opts.sourceArchive);
26978
27413
  const importResult = await importCapsule({
26979
27414
  archivePath: archiveAbs,
26980
27415
  root: rootAbs,
@@ -26996,10 +27431,10 @@ async function forkCapsule(opts) {
26996
27431
  importedRecords: importResult.imported.length,
26997
27432
  skippedRecords: importResult.skipped.length
26998
27433
  };
26999
- const lineagePath = path33.join(forkDirAbs, "lineage.json");
27434
+ const lineagePath = path34.join(forkDirAbs, "lineage.json");
27000
27435
  const rootReal = await realpath3(rootAbs);
27001
27436
  await assertRealpathInsideRoot(rootReal, lineagePath, `forks/${opts.forkId}/lineage.json`, "forkCapsule");
27002
- await mkdir8(path33.dirname(lineagePath), { recursive: true });
27437
+ await mkdir8(path34.dirname(lineagePath), { recursive: true });
27003
27438
  await writeFile8(lineagePath, JSON.stringify(lineage, null, 2) + "\n", "utf-8");
27004
27439
  return {
27005
27440
  archivePath: archiveAbs,
@@ -27013,11 +27448,11 @@ async function readForkLineage(targetRoot, forkId) {
27013
27448
  if (typeof forkId !== "string" || forkId.length === 0 || forkId.length > 64 || !CAPSULE_ID_PATTERN.test(forkId)) {
27014
27449
  return null;
27015
27450
  }
27016
- const rootAbs = path33.resolve(targetRoot);
27451
+ const rootAbs = path34.resolve(targetRoot);
27017
27452
  const rootReal = await realpath3(rootAbs).catch(() => rootAbs);
27018
- const lineagePath = path33.join(rootReal, "forks", forkId, "lineage.json");
27019
- const rel = path33.relative(rootReal, lineagePath);
27020
- if (rel.startsWith("..") || path33.isAbsolute(rel)) {
27453
+ const lineagePath = path34.join(rootReal, "forks", forkId, "lineage.json");
27454
+ const rel = path34.relative(rootReal, lineagePath);
27455
+ if (rel.startsWith("..") || path34.isAbsolute(rel)) {
27021
27456
  return null;
27022
27457
  }
27023
27458
  if (!await isLineagePathContained(rootReal, lineagePath)) {
@@ -27058,19 +27493,19 @@ async function pathEntryExists(absPath) {
27058
27493
  async function isLineagePathContained(rootReal, lineagePath) {
27059
27494
  let existing = lineagePath;
27060
27495
  const suffix = [];
27061
- while (existing !== path33.dirname(existing)) {
27496
+ while (existing !== path34.dirname(existing)) {
27062
27497
  const st = await lstat4(existing).catch(() => null);
27063
27498
  if (st !== null) break;
27064
- suffix.unshift(path33.basename(existing));
27065
- existing = path33.dirname(existing);
27499
+ suffix.unshift(path34.basename(existing));
27500
+ existing = path34.dirname(existing);
27066
27501
  }
27067
27502
  const existingReal = await realpath3(existing).catch(() => existing);
27068
- const targetReal = suffix.length > 0 ? path33.join(existingReal, ...suffix) : existingReal;
27069
- const rel = path33.relative(rootReal, targetReal);
27503
+ const targetReal = suffix.length > 0 ? path34.join(existingReal, ...suffix) : existingReal;
27504
+ const rel = path34.relative(rootReal, targetReal);
27070
27505
  if (rel === "") return true;
27071
27506
  if (rel === "..") return false;
27072
- if (rel.startsWith(`..${path33.sep}`)) return false;
27073
- if (path33.isAbsolute(rel)) return false;
27507
+ if (rel.startsWith(`..${path34.sep}`)) return false;
27508
+ if (path34.isAbsolute(rel)) return false;
27074
27509
  return true;
27075
27510
  }
27076
27511
 
@@ -27155,6 +27590,21 @@ export {
27155
27590
  getTaxonomyFilePath,
27156
27591
  WearablesService,
27157
27592
  locateTranscriptPath,
27593
+ TIMELINE_RESERVED_UNKNOWN,
27594
+ TIMELINE_RESERVED_IDLE,
27595
+ TIMELINE_RESERVED_PAUSE,
27596
+ DEFAULT_TIMELINE_CATEGORIES,
27597
+ validateTimelineCategories,
27598
+ sortTimelineCategories,
27599
+ classifyTimelineObservation,
27600
+ TIMELINE_FORMAT_VERSION,
27601
+ TIMELINE_MERGE_GAP_MS,
27602
+ TIMELINE_MAX_DWELL_MS,
27603
+ buildTimelineDay,
27604
+ serializeTimelineDay,
27605
+ timelineCorrectionDatabasePath,
27606
+ TimelineCorrectionStore,
27607
+ applyTimelineCorrections,
27158
27608
  isEligibleActivityFact,
27159
27609
  generateActivityMemories,
27160
27610
  fuseMeeting,
@@ -27190,4 +27640,4 @@ export {
27190
27640
  blendGraphExpandedRecallScore,
27191
27641
  Orchestrator
27192
27642
  };
27193
- //# sourceMappingURL=chunk-LLQCM2U2.js.map
27643
+ //# sourceMappingURL=chunk-56IV4J5W.js.map