@remnic/core 9.66.1 → 9.66.3

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 (606) hide show
  1. package/dist/access-admin-ops-surface.js +30 -30
  2. package/dist/access-authorization-probe.js +31 -31
  3. package/dist/access-boundary.js +30 -30
  4. package/dist/access-cli.js +96 -94
  5. package/dist/access-cli.js.map +1 -1
  6. package/dist/access-extraction-force-flush.js +30 -30
  7. package/dist/access-http-query.js +32 -32
  8. package/dist/access-http.js +45 -45
  9. package/dist/access-identity-continuity-surface.js +30 -30
  10. package/dist/access-lcm-surface.js +30 -30
  11. package/dist/access-mcp.js +38 -38
  12. package/dist/access-namespace-preflight.js +30 -30
  13. package/dist/access-observe-write-surface.js +30 -30
  14. package/dist/access-operations-batch.js +33 -33
  15. package/dist/access-operations.js +37 -37
  16. package/dist/access-recall-concurrency.js +30 -30
  17. package/dist/access-recall-response.js +30 -30
  18. package/dist/access-recall-surface.js +30 -30
  19. package/dist/access-schema.js +3 -3
  20. package/dist/access-service.js +30 -30
  21. package/dist/access-surface-catalog.js +32 -32
  22. package/dist/active-recall.js +3 -3
  23. package/dist/briefing.js +13 -13
  24. package/dist/buffer.js +4 -4
  25. package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
  26. package/dist/causal-behavior.js +2 -2
  27. package/dist/causal-chain.js +2 -2
  28. package/dist/causal-consolidation.js +16 -16
  29. package/dist/causal-retrieval.js +2 -2
  30. package/dist/causal-trajectory-graph.js +2 -2
  31. package/dist/causal-trajectory.js +1 -1
  32. package/dist/{chunk-XKNHFDTT.js → chunk-3A2Z4OOS.js} +2 -2
  33. package/dist/{chunk-CHGG74CY.js → chunk-3HHTN5X7.js} +2 -2
  34. package/dist/{chunk-TCF4MU7L.js → chunk-3PO35HUU.js} +1218 -104
  35. package/dist/chunk-3PO35HUU.js.map +1 -0
  36. package/dist/{chunk-XOHYGIWF.js → chunk-3Z4SFJA5.js} +2 -2
  37. package/dist/{chunk-RDGKVH6T.js → chunk-4NKIGSJM.js} +2 -2
  38. package/dist/{chunk-GPFZFCRN.js → chunk-4PTTMTTQ.js} +1 -1
  39. package/dist/{chunk-VG4SSPAW.js → chunk-4XESAT4V.js} +2 -2
  40. package/dist/{chunk-S4CDUXQY.js → chunk-5KGLNBUB.js} +2 -2
  41. package/dist/{chunk-2X6BGKQL.js → chunk-5XRZANCW.js} +10 -10
  42. package/dist/{chunk-TCQRIIIN.js → chunk-6DODJYBY.js} +2 -2
  43. package/dist/{chunk-KWIGDKM2.js → chunk-73CAEYI3.js} +2 -2
  44. package/dist/{chunk-J2R275FN.js → chunk-7DXW5V2W.js} +2 -2
  45. package/dist/{chunk-LYUUA6QB.js → chunk-7JJHIVMG.js} +2 -2
  46. package/dist/{chunk-2FA7U5XY.js → chunk-7NNMRMLZ.js} +2 -2
  47. package/dist/{chunk-227UFSEQ.js → chunk-7RZJWZ46.js} +5 -5
  48. package/dist/{chunk-EWKVYCFP.js → chunk-B2OKCCXX.js} +1 -1
  49. package/dist/{chunk-NSTNGMSS.js → chunk-B7AGLMGP.js} +7 -7
  50. package/dist/chunk-BLUYQFRH.js +36 -0
  51. package/dist/chunk-BLUYQFRH.js.map +1 -0
  52. package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
  53. package/dist/{chunk-CEH2AFXG.js → chunk-C24UZSFW.js} +6 -6
  54. package/dist/{chunk-LTBKKSCX.js → chunk-C2JCVZWX.js} +2 -2
  55. package/dist/{chunk-65JOGLIS.js → chunk-D4R3OUZA.js} +2 -2
  56. package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
  57. package/dist/chunk-E4X2YX2F.js +22 -0
  58. package/dist/chunk-E4X2YX2F.js.map +1 -0
  59. package/dist/{chunk-IGZCAHFL.js → chunk-EGGNFLAT.js} +2 -2
  60. package/dist/{chunk-H2IRSXZN.js → chunk-ESDOAP7W.js} +3 -3
  61. package/dist/{chunk-D3UXGE5D.js → chunk-EZWIEFYD.js} +8 -8
  62. package/dist/{chunk-ZPS724LT.js → chunk-F5H5QINZ.js} +2 -2
  63. package/dist/{chunk-S4Z2OBTX.js → chunk-FPSOXMLK.js} +3 -3
  64. package/dist/chunk-FYDW33ZB.js +13 -0
  65. package/dist/chunk-FYDW33ZB.js.map +1 -0
  66. package/dist/{chunk-CX4OLNIH.js → chunk-G5UKF2GJ.js} +2 -2
  67. package/dist/{chunk-OJUEUQDJ.js → chunk-GGY2747C.js} +2 -2
  68. package/dist/{chunk-TNGH4ZYI.js → chunk-GNWLTCKC.js} +2 -2
  69. package/dist/{chunk-YWPLOJ7T.js → chunk-GZPGI45F.js} +2 -2
  70. package/dist/{chunk-NFP4KPTA.js → chunk-IDEPEHUG.js} +2 -2
  71. package/dist/{chunk-LJABGXC4.js → chunk-IN5EUWCA.js} +3 -3
  72. package/dist/{chunk-U6NGKS32.js → chunk-JJAOVJ3E.js} +9 -9
  73. package/dist/{chunk-RPIS5FQ7.js → chunk-JWCS3VYQ.js} +50 -50
  74. package/dist/{chunk-U65VJSCJ.js → chunk-KE23ZIEW.js} +13 -13
  75. package/dist/{chunk-NACLNNFQ.js → chunk-KSZKQTZS.js} +2 -2
  76. package/dist/{chunk-KJXCD7VR.js → chunk-KWJNEWTM.js} +5 -5
  77. package/dist/chunk-MAG6M3B6.js +51 -0
  78. package/dist/chunk-MAG6M3B6.js.map +1 -0
  79. package/dist/chunk-MKD3OMPS.js +20 -0
  80. package/dist/chunk-MKD3OMPS.js.map +1 -0
  81. package/dist/{chunk-UW4RYPWC.js → chunk-MLTGALDY.js} +2 -2
  82. package/dist/{chunk-MUEGIKKY.js → chunk-OKGQDI4Y.js} +17 -16
  83. package/dist/chunk-OKGQDI4Y.js.map +1 -0
  84. package/dist/{chunk-YMOPYG3K.js → chunk-OLT3YTDH.js} +4 -4
  85. package/dist/{chunk-2PSX5BJU.js → chunk-OPQKVVYG.js} +2 -2
  86. package/dist/{chunk-D6Q5EPOV.js → chunk-PGD3DXZP.js} +2 -2
  87. package/dist/chunk-Q3SHEAXR.js +80 -0
  88. package/dist/chunk-Q3SHEAXR.js.map +1 -0
  89. package/dist/{chunk-GBEOUCBB.js → chunk-Q6LC3ZD5.js} +2 -2
  90. package/dist/{chunk-QBNE55VA.js → chunk-QELYSDAU.js} +2 -2
  91. package/dist/{chunk-INUBU6I5.js → chunk-S6PRJGQL.js} +2 -2
  92. package/dist/{chunk-B4AOWRYF.js → chunk-TCJO7LOG.js} +5 -5
  93. package/dist/{chunk-SZMYGDSM.js → chunk-TO5U47YK.js} +2 -2
  94. package/dist/{chunk-GAJK3DQ5.js → chunk-U3L6GRUX.js} +2 -2
  95. package/dist/{chunk-4XLTUR6R.js → chunk-U4RGSLI4.js} +3 -3
  96. package/dist/{chunk-M5ERTI4I.js → chunk-UH53XVQ3.js} +2 -2
  97. package/dist/{chunk-NUF7VSEX.js → chunk-UXERIBOJ.js} +2 -2
  98. package/dist/{chunk-FFUMTH27.js → chunk-VA2CSIPC.js} +2 -2
  99. package/dist/{chunk-KQAFEZQX.js → chunk-VDX2J7OX.js} +2 -2
  100. package/dist/{chunk-AF5H7TKI.js → chunk-VPJNGE2R.js} +2 -2
  101. package/dist/{chunk-OMX6TKXH.js → chunk-VTJZSLDR.js} +2 -2
  102. package/dist/{chunk-TBCDF556.js → chunk-WHFFAS4A.js} +4 -4
  103. package/dist/{chunk-7UOXCCCI.js → chunk-WVNETF4Q.js} +2 -2
  104. package/dist/{chunk-EH65UV2Z.js → chunk-XSTMPZMY.js} +2 -2
  105. package/dist/{chunk-PD66CVSD.js → chunk-Z3SQEEB6.js} +2 -2
  106. package/dist/{chunk-JKTV3JNX.js → chunk-ZBYOXIIF.js} +3 -3
  107. package/dist/{chunk-2ITZ74A6.js → chunk-ZC5IHL5X.js} +11 -11
  108. package/dist/{chunk-KI64TTBL.js → chunk-ZDMTCO7N.js} +2 -2
  109. package/dist/{chunk-C5IUOBCN.js → chunk-ZET6A3OF.js} +2 -2
  110. package/dist/{chunk-ZZZWEDF4.js → chunk-ZVAKRZZD.js} +2 -2
  111. package/dist/cli.js +67 -67
  112. package/dist/coding/export-okf-codegraph.js +13 -13
  113. package/dist/coding/pre-action-gate.js +2 -2
  114. package/dist/compounding/engine.js +13 -13
  115. package/dist/config.js +3 -3
  116. package/dist/connectors/codex-materialize-runner.js +13 -13
  117. package/dist/connectors/index.js +13 -13
  118. package/dist/convergence-refresh.js +15 -15
  119. package/dist/conversation-index/backend.js +2 -2
  120. package/dist/corpus-watermark.js +15 -15
  121. package/dist/entity-retrieval.js +13 -13
  122. package/dist/external-wiki-access.js +31 -31
  123. package/dist/extraction-span-bench.d.ts +14 -0
  124. package/dist/extraction-span-bench.js +17 -0
  125. package/dist/extraction-span-bench.js.map +1 -0
  126. package/dist/extraction-span-clip.d.ts +22 -0
  127. package/dist/extraction-span-clip.js +19 -0
  128. package/dist/extraction-span-clip.js.map +1 -0
  129. package/dist/extraction-span-contains.d.ts +12 -0
  130. package/dist/extraction-span-contains.js +17 -0
  131. package/dist/extraction-span-contains.js.map +1 -0
  132. package/dist/extraction-span-join.d.ts +23 -0
  133. package/dist/extraction-span-join.js +19 -0
  134. package/dist/extraction-span-join.js.map +1 -0
  135. package/dist/extraction-span-length.d.ts +11 -0
  136. package/dist/extraction-span-length.js +17 -0
  137. package/dist/extraction-span-length.js.map +1 -0
  138. package/dist/extraction-span-overlap.d.ts +14 -0
  139. package/dist/extraction-span-overlap.js +16 -0
  140. package/dist/extraction-span-overlap.js.map +1 -0
  141. package/dist/extraction-span-shift.d.ts +15 -0
  142. package/dist/extraction-span-shift.js +17 -0
  143. package/dist/extraction-span-shift.js.map +1 -0
  144. package/dist/extraction-span-slice.d.ts +12 -0
  145. package/dist/extraction-span-slice.js +17 -0
  146. package/dist/extraction-span-slice.js.map +1 -0
  147. package/dist/extraction-span-validate.d.ts +20 -0
  148. package/dist/extraction-span-validate.js +20 -0
  149. package/dist/extraction-span-validate.js.map +1 -0
  150. package/dist/extraction-span-wire.d.ts +17 -0
  151. package/dist/extraction-span-wire.js +13 -0
  152. package/dist/extraction-span-wire.js.map +1 -0
  153. package/dist/extraction-span.d.ts +17 -0
  154. package/dist/extraction-span.js +8 -0
  155. package/dist/extraction.js +16 -16
  156. package/dist/{graph-edge-decay-A4SDFMMS.js → graph-edge-decay-DGTBFALQ.js} +4 -4
  157. package/dist/graph-edge-decay-DGTBFALQ.js.map +1 -0
  158. package/dist/graph-snapshot.js +3 -3
  159. package/dist/graph.js +2 -2
  160. package/dist/harmonic-retrieval.js +1 -1
  161. package/dist/index.d.ts +387 -1
  162. package/dist/index.js +203 -122
  163. package/dist/lcm/engine.js +3 -3
  164. package/dist/lcm/index.js +9 -9
  165. package/dist/location/index.js +15 -15
  166. package/dist/maintenance/memory-governance.js +13 -13
  167. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +13 -13
  168. package/dist/maintenance/rebuild-memory-projection.js +14 -14
  169. package/dist/namespaces/migrate.js +14 -14
  170. package/dist/namespaces/search.js +9 -9
  171. package/dist/namespaces/storage.js +13 -13
  172. package/dist/operator-doctor-corpus.js +16 -16
  173. package/dist/operator-toolkit.js +26 -26
  174. package/dist/orchestration/maintenance.js +21 -21
  175. package/dist/orchestrator.js +98 -96
  176. package/dist/qmd.js +4 -4
  177. package/dist/recall-deep-access.d.ts +30 -0
  178. package/dist/recall-deep-access.js +50 -0
  179. package/dist/recall-deep-access.js.map +1 -0
  180. package/dist/recall-deep-budget-left.d.ts +8 -0
  181. package/dist/recall-deep-budget-left.js +15 -0
  182. package/dist/recall-deep-budget-left.js.map +1 -0
  183. package/dist/recall-deep-budget.d.ts +9 -0
  184. package/dist/recall-deep-budget.js +15 -0
  185. package/dist/recall-deep-budget.js.map +1 -0
  186. package/dist/recall-deep-expand.d.ts +12 -0
  187. package/dist/recall-deep-expand.js +17 -0
  188. package/dist/recall-deep-expand.js.map +1 -0
  189. package/dist/recall-deep-policy.d.ts +17 -0
  190. package/dist/recall-deep-policy.js +18 -0
  191. package/dist/recall-deep-policy.js.map +1 -0
  192. package/dist/recall-deep-query.d.ts +15 -0
  193. package/dist/recall-deep-query.js +12 -0
  194. package/dist/recall-deep-query.js.map +1 -0
  195. package/dist/recall-deep-refine.d.ts +12 -0
  196. package/dist/recall-deep-refine.js +17 -0
  197. package/dist/recall-deep-refine.js.map +1 -0
  198. package/dist/recall-deep-render.d.ts +11 -0
  199. package/dist/recall-deep-render.js +28 -0
  200. package/dist/recall-deep-render.js.map +1 -0
  201. package/dist/recall-deep-step-count.d.ts +8 -0
  202. package/dist/recall-deep-step-count.js +15 -0
  203. package/dist/recall-deep-step-count.js.map +1 -0
  204. package/dist/recall-deep-stop-reason.d.ts +17 -0
  205. package/dist/recall-deep-stop-reason.js +23 -0
  206. package/dist/recall-deep-stop-reason.js.map +1 -0
  207. package/dist/recall-deep-stop.d.ts +17 -0
  208. package/dist/recall-deep-stop.js +23 -0
  209. package/dist/recall-deep-stop.js.map +1 -0
  210. package/dist/recall-deep-working-set.d.ts +9 -0
  211. package/dist/recall-deep-working-set.js +14 -0
  212. package/dist/recall-deep-working-set.js.map +1 -0
  213. package/dist/recall-deep.js +6 -73
  214. package/dist/recall-deep.js.map +1 -1
  215. package/dist/recall-navigate-access.d.ts +39 -0
  216. package/dist/recall-navigate-access.js +31 -0
  217. package/dist/recall-navigate-access.js.map +1 -0
  218. package/dist/recall-navigate-action.d.ts +17 -0
  219. package/dist/recall-navigate-action.js +14 -0
  220. package/dist/recall-navigate-action.js.map +1 -0
  221. package/dist/recall-navigate-budget.d.ts +16 -0
  222. package/dist/recall-navigate-budget.js +18 -0
  223. package/dist/recall-navigate-budget.js.map +1 -0
  224. package/dist/recall-navigate-cost.d.ts +8 -0
  225. package/dist/recall-navigate-cost.js +15 -0
  226. package/dist/recall-navigate-cost.js.map +1 -0
  227. package/dist/recall-navigate-depth.d.ts +8 -0
  228. package/dist/recall-navigate-depth.js +15 -0
  229. package/dist/recall-navigate-depth.js.map +1 -0
  230. package/dist/recall-navigate-link.d.ts +17 -0
  231. package/dist/recall-navigate-link.js +20 -0
  232. package/dist/recall-navigate-link.js.map +1 -0
  233. package/dist/recall-navigate-max-children.d.ts +8 -0
  234. package/dist/recall-navigate-max-children.js +15 -0
  235. package/dist/recall-navigate-max-children.js.map +1 -0
  236. package/dist/recall-navigate-node.d.ts +15 -0
  237. package/dist/recall-navigate-node.js +13 -0
  238. package/dist/recall-navigate-node.js.map +1 -0
  239. package/dist/recall-navigate-path.d.ts +9 -0
  240. package/dist/recall-navigate-path.js +14 -0
  241. package/dist/recall-navigate-path.js.map +1 -0
  242. package/dist/recall-navigate-render.d.ts +15 -0
  243. package/dist/recall-navigate-render.js +23 -0
  244. package/dist/recall-navigate-render.js.map +1 -0
  245. package/dist/recall-navigate.js +6 -42
  246. package/dist/recall-navigate.js.map +1 -1
  247. package/dist/recall-state-view-current.d.ts +18 -0
  248. package/dist/recall-state-view-current.js +14 -0
  249. package/dist/recall-state-view-current.js.map +1 -0
  250. package/dist/recall-state-view-inject.d.ts +15 -0
  251. package/dist/recall-state-view-inject.js +16 -0
  252. package/dist/recall-state-view-inject.js.map +1 -0
  253. package/dist/recall-state-view-kind.d.ts +17 -0
  254. package/dist/recall-state-view-kind.js +14 -0
  255. package/dist/recall-state-view-kind.js.map +1 -0
  256. package/dist/recall-state-view-label.d.ts +17 -0
  257. package/dist/recall-state-view-label.js +16 -0
  258. package/dist/recall-state-view-label.js.map +1 -0
  259. package/dist/recall-state-view-render.d.ts +18 -0
  260. package/dist/recall-state-view-render.js +11 -0
  261. package/dist/recall-state-view-render.js.map +1 -0
  262. package/dist/recall-state-view-successor.d.ts +15 -0
  263. package/dist/recall-state-view-successor.js +13 -0
  264. package/dist/recall-state-view-successor.js.map +1 -0
  265. package/dist/recall-state-view-superseded.d.ts +15 -0
  266. package/dist/recall-state-view-superseded.js +14 -0
  267. package/dist/recall-state-view-superseded.js.map +1 -0
  268. package/dist/recall-state-view-transition.d.ts +18 -0
  269. package/dist/recall-state-view-transition.js +14 -0
  270. package/dist/recall-state-view-transition.js.map +1 -0
  271. package/dist/recall-state-view-widen.d.ts +13 -0
  272. package/dist/recall-state-view-widen.js +11 -0
  273. package/dist/recall-state-view-widen.js.map +1 -0
  274. package/dist/recall-state-view-wire.d.ts +3 -4
  275. package/dist/recall-state-view-wire.js +2 -1
  276. package/dist/resume-bundles.js +4 -4
  277. package/dist/search/factory.js +8 -8
  278. package/dist/search/index.js +14 -14
  279. package/dist/semantic-consolidation.js +14 -14
  280. package/dist/semantic-rule-promotion.js +13 -13
  281. package/dist/semantic-rule-verifier.js +13 -13
  282. package/dist/source-agent-qualifier.js +15 -15
  283. package/dist/storage.js +12 -12
  284. package/dist/support-passport/index.js +33 -33
  285. package/dist/transfer/backup.js +2 -2
  286. package/dist/transfer/capsule-export.js +2 -2
  287. package/dist/transfer/capsule-import.js +2 -2
  288. package/dist/transfer/export-okf.js +14 -14
  289. package/dist/verified-recall.js +13 -13
  290. package/dist/who-knows-cli.js +14 -14
  291. package/dist/who-knows.js +13 -13
  292. package/package.json +2 -2
  293. package/src/activity/dwell.test.ts +28 -0
  294. package/src/activity/dwell.ts +22 -0
  295. package/src/activity/from-ms.test.ts +25 -0
  296. package/src/activity/from-ms.ts +13 -0
  297. package/src/activity/heading-level.test.ts +23 -0
  298. package/src/activity/heading-level.ts +21 -0
  299. package/src/activity/heading-title.test.ts +21 -0
  300. package/src/activity/heading-title.ts +26 -0
  301. package/src/activity/index.ts +9 -0
  302. package/src/activity/journal-heading.test.ts +22 -0
  303. package/src/activity/journal-heading.ts +18 -0
  304. package/src/activity/journal-mode.test.ts +32 -0
  305. package/src/activity/journal-mode.ts +20 -0
  306. package/src/activity/journal-path.test.ts +25 -0
  307. package/src/activity/journal-path.ts +27 -0
  308. package/src/activity/journal-section.test.ts +37 -0
  309. package/src/activity/journal-section.ts +75 -0
  310. package/src/activity/journal-source.test.ts +37 -0
  311. package/src/activity/journal-source.ts +23 -0
  312. package/src/activity/journal-vault-read.test.ts +153 -0
  313. package/src/activity/journal-vault-read.ts +214 -0
  314. package/src/activity/journal.ts +1 -1
  315. package/src/activity/privacy-enabled.test.ts +30 -0
  316. package/src/activity/privacy-enabled.ts +33 -0
  317. package/src/activity/privacy-keys.test.ts +22 -0
  318. package/src/activity/privacy-keys.ts +12 -0
  319. package/src/activity/privacy-redact.test.ts +25 -0
  320. package/src/activity/privacy-redact.ts +23 -0
  321. package/src/activity/privacy-window.test.ts +49 -0
  322. package/src/activity/privacy-window.ts +32 -0
  323. package/src/activity/retain-days.test.ts +20 -0
  324. package/src/activity/retain-days.ts +14 -0
  325. package/src/activity/timeline/analysis-batch.test.ts +56 -0
  326. package/src/activity/timeline/analysis-batch.ts +45 -0
  327. package/src/activity/timeline/analysis-claim.test.ts +33 -0
  328. package/src/activity/timeline/analysis-claim.ts +16 -0
  329. package/src/activity/timeline/analysis-dup.test.ts +28 -0
  330. package/src/activity/timeline/analysis-dup.ts +10 -0
  331. package/src/activity/timeline/analysis-empty.test.ts +21 -0
  332. package/src/activity/timeline/analysis-empty.ts +14 -0
  333. package/src/activity/timeline/analysis-evidence.test.ts +32 -0
  334. package/src/activity/timeline/analysis-evidence.ts +20 -0
  335. package/src/activity/timeline/analysis-max.test.ts +26 -0
  336. package/src/activity/timeline/analysis-max.ts +14 -0
  337. package/src/activity/timeline/analysis-order.test.ts +28 -0
  338. package/src/activity/timeline/analysis-order.ts +10 -0
  339. package/src/activity/timeline/analysis-prompt.test.ts +50 -0
  340. package/src/activity/timeline/analysis-prompt.ts +24 -0
  341. package/src/activity/timeline/analysis.test.ts +413 -0
  342. package/src/activity/timeline/analysis.ts +362 -0
  343. package/src/activity/timeline/index.ts +13 -0
  344. package/src/activity/timeline/journal-recap-persist.test.ts +148 -0
  345. package/src/activity/timeline/journal-recap-persist.ts +37 -0
  346. package/src/activity/timeline/recap-card-id.test.ts +21 -0
  347. package/src/activity/timeline/recap-card-id.ts +16 -0
  348. package/src/activity/timeline/recap-date.test.ts +21 -0
  349. package/src/activity/timeline/recap-date.ts +19 -0
  350. package/src/activity/timeline/recap-empty.test.ts +21 -0
  351. package/src/activity/timeline/recap-empty.ts +14 -0
  352. package/src/activity/timeline/recap-export.test.ts +78 -0
  353. package/src/activity/timeline/recap-export.ts +41 -0
  354. package/src/activity/timeline/recap-id.test.ts +28 -0
  355. package/src/activity/timeline/recap-id.ts +10 -0
  356. package/src/activity/timeline/recap-markdown.test.ts +56 -0
  357. package/src/activity/timeline/recap-markdown.ts +26 -0
  358. package/src/activity/timeline/recap-sort-key.test.ts +18 -0
  359. package/src/activity/timeline/recap-sort-key.ts +14 -0
  360. package/src/activity/timeline/recap-tz.test.ts +35 -0
  361. package/src/activity/timeline/recap-tz.ts +19 -0
  362. package/src/activity/timeline/week-count.test.ts +19 -0
  363. package/src/activity/timeline/week-count.ts +13 -0
  364. package/src/activity/timeline/week-days.test.ts +26 -0
  365. package/src/activity/timeline/week-days.ts +23 -0
  366. package/src/activity/timeline/week-export.test.ts +59 -0
  367. package/src/activity/timeline/week-export.ts +44 -0
  368. package/src/activity/timeline/week-iso.test.ts +29 -0
  369. package/src/activity/timeline/week-iso.ts +20 -0
  370. package/src/activity/timeline/week-monday.test.ts +17 -0
  371. package/src/activity/timeline/week-monday.ts +12 -0
  372. package/src/activity/timeline/week-range.test.ts +23 -0
  373. package/src/activity/timeline/week-range.ts +26 -0
  374. package/src/activity/timeline/week-snapshot.test.ts +66 -0
  375. package/src/activity/timeline/week-snapshot.ts +40 -0
  376. package/src/activity/timeline/week-sunday.test.ts +17 -0
  377. package/src/activity/timeline/week-sunday.ts +12 -0
  378. package/src/activity/timeline/weekly-persist.test.ts +121 -0
  379. package/src/activity/timeline/weekly-persist.ts +103 -0
  380. package/src/activity/to-ms.test.ts +25 -0
  381. package/src/activity/to-ms.ts +13 -0
  382. package/src/activity/vault-begin.test.ts +20 -0
  383. package/src/activity/vault-begin.ts +13 -0
  384. package/src/activity/vault-end.test.ts +20 -0
  385. package/src/activity/vault-end.ts +13 -0
  386. package/src/activity/vault-frontmatter.test.ts +28 -0
  387. package/src/activity/vault-frontmatter.ts +39 -0
  388. package/src/activity/vault-join.test.ts +21 -0
  389. package/src/activity/vault-join.ts +31 -0
  390. package/src/activity/vault-marker.test.ts +23 -0
  391. package/src/activity/vault-marker.ts +27 -0
  392. package/src/activity/vault-name-trim.test.ts +22 -0
  393. package/src/activity/vault-name-trim.ts +16 -0
  394. package/src/activity/vault-path.test.ts +38 -0
  395. package/src/activity/vault-path.ts +59 -0
  396. package/src/activity/vault-publish.test.ts +102 -0
  397. package/src/activity/vault-publish.ts +92 -13
  398. package/src/activity/vault-region-pair.test.ts +26 -0
  399. package/src/activity/vault-region-pair.ts +24 -0
  400. package/src/activity/vault-region.test.ts +24 -0
  401. package/src/activity/vault-region.ts +24 -0
  402. package/src/activity/vault-suffix.test.ts +20 -0
  403. package/src/activity/vault-suffix.ts +12 -0
  404. package/src/activity/vault-wikilink.test.ts +27 -0
  405. package/src/activity/vault-wikilink.ts +28 -0
  406. package/src/activity/window-order.test.ts +27 -0
  407. package/src/activity/window-order.ts +24 -0
  408. package/src/dedup/merge-count.test.ts +19 -0
  409. package/src/dedup/merge-count.ts +13 -0
  410. package/src/dedup/merge-dup.test.ts +21 -0
  411. package/src/dedup/merge-dup.ts +16 -0
  412. package/src/dedup/merge-empty.test.ts +22 -0
  413. package/src/dedup/merge-empty.ts +18 -0
  414. package/src/dedup/merge-id.test.ts +18 -0
  415. package/src/dedup/merge-id.ts +14 -0
  416. package/src/dedup/merge-min-score.test.ts +37 -0
  417. package/src/dedup/merge-min-score.ts +22 -0
  418. package/src/dedup/merge-on-write-wire.test.ts +101 -0
  419. package/src/dedup/merge-on-write-wire.ts +34 -0
  420. package/src/dedup/merge-pair.test.ts +19 -0
  421. package/src/dedup/merge-pair.ts +13 -0
  422. package/src/dedup/merge-score.test.ts +20 -0
  423. package/src/dedup/merge-score.ts +14 -0
  424. package/src/dedup/merge-self.test.ts +19 -0
  425. package/src/dedup/merge-self.ts +17 -0
  426. package/src/dedup/merge-threshold.test.ts +46 -0
  427. package/src/dedup/merge-threshold.ts +26 -0
  428. package/src/dedup/merge-tie.test.ts +22 -0
  429. package/src/dedup/merge-tie.ts +13 -0
  430. package/src/extraction-span-bench.test.ts +27 -0
  431. package/src/extraction-span-bench.ts +28 -0
  432. package/src/extraction-span-clip.test.ts +71 -0
  433. package/src/extraction-span-clip.ts +26 -0
  434. package/src/extraction-span-contains.test.ts +30 -0
  435. package/src/extraction-span-contains.ts +20 -0
  436. package/src/extraction-span-join.test.ts +50 -0
  437. package/src/extraction-span-join.ts +30 -0
  438. package/src/extraction-span-length.test.ts +25 -0
  439. package/src/extraction-span-length.ts +16 -0
  440. package/src/extraction-span-overlap.test.ts +34 -0
  441. package/src/extraction-span-overlap.ts +23 -0
  442. package/src/extraction-span-shift.test.ts +25 -0
  443. package/src/extraction-span-shift.ts +20 -0
  444. package/src/extraction-span-slice.test.ts +32 -0
  445. package/src/extraction-span-slice.ts +20 -0
  446. package/src/extraction-span-validate.test.ts +42 -0
  447. package/src/extraction-span-validate.ts +27 -0
  448. package/src/extraction-span-wire.test.ts +20 -0
  449. package/src/extraction-span-wire.ts +17 -0
  450. package/src/extraction-span.test.ts +59 -0
  451. package/src/extraction-span.ts +39 -0
  452. package/src/index.ts +1 -0
  453. package/src/recall-deep-access.test.ts +58 -0
  454. package/src/recall-deep-access.ts +71 -0
  455. package/src/recall-deep-budget-left.test.ts +20 -0
  456. package/src/recall-deep-budget-left.ts +13 -0
  457. package/src/recall-deep-budget.test.ts +19 -0
  458. package/src/recall-deep-budget.ts +14 -0
  459. package/src/recall-deep-expand.test.ts +23 -0
  460. package/src/recall-deep-expand.ts +19 -0
  461. package/src/recall-deep-policy.test.ts +32 -0
  462. package/src/recall-deep-policy.ts +22 -0
  463. package/src/recall-deep-query.test.ts +23 -0
  464. package/src/recall-deep-query.ts +15 -0
  465. package/src/recall-deep-refine.test.ts +23 -0
  466. package/src/recall-deep-refine.ts +19 -0
  467. package/src/recall-deep-render.test.ts +68 -0
  468. package/src/recall-deep-render.ts +32 -0
  469. package/src/recall-deep-step-count.test.ts +20 -0
  470. package/src/recall-deep-step-count.ts +13 -0
  471. package/src/recall-deep-stop-reason.test.ts +46 -0
  472. package/src/recall-deep-stop-reason.ts +27 -0
  473. package/src/recall-deep-stop.test.ts +34 -0
  474. package/src/recall-deep-stop.ts +31 -0
  475. package/src/recall-deep-working-set.test.ts +21 -0
  476. package/src/recall-deep-working-set.ts +14 -0
  477. package/src/recall-navigate-access.test.ts +73 -0
  478. package/src/recall-navigate-access.ts +48 -0
  479. package/src/recall-navigate-action.test.ts +32 -0
  480. package/src/recall-navigate-action.ts +20 -0
  481. package/src/recall-navigate-budget.test.ts +23 -0
  482. package/src/recall-navigate-budget.ts +22 -0
  483. package/src/recall-navigate-cost.test.ts +20 -0
  484. package/src/recall-navigate-cost.ts +13 -0
  485. package/src/recall-navigate-depth.test.ts +20 -0
  486. package/src/recall-navigate-depth.ts +13 -0
  487. package/src/recall-navigate-link.test.ts +19 -0
  488. package/src/recall-navigate-link.ts +26 -0
  489. package/src/recall-navigate-max-children.test.ts +20 -0
  490. package/src/recall-navigate-max-children.ts +13 -0
  491. package/src/recall-navigate-node.test.ts +21 -0
  492. package/src/recall-navigate-node.ts +16 -0
  493. package/src/recall-navigate-path.test.ts +21 -0
  494. package/src/recall-navigate-path.ts +14 -0
  495. package/src/recall-navigate-render.test.ts +63 -0
  496. package/src/recall-navigate-render.ts +31 -0
  497. package/src/recall-state-view-current.test.ts +23 -0
  498. package/src/recall-state-view-current.ts +24 -0
  499. package/src/recall-state-view-inject.test.ts +32 -0
  500. package/src/recall-state-view-inject.ts +14 -0
  501. package/src/recall-state-view-kind.test.ts +19 -0
  502. package/src/recall-state-view-kind.ts +20 -0
  503. package/src/recall-state-view-label.test.ts +36 -0
  504. package/src/recall-state-view-label.ts +22 -0
  505. package/src/recall-state-view-render.test.ts +94 -0
  506. package/src/recall-state-view-render.ts +24 -0
  507. package/src/recall-state-view-successor.test.ts +21 -0
  508. package/src/recall-state-view-successor.ts +16 -0
  509. package/src/recall-state-view-superseded.test.ts +20 -0
  510. package/src/recall-state-view-superseded.ts +17 -0
  511. package/src/recall-state-view-transition.test.ts +30 -0
  512. package/src/recall-state-view-transition.ts +24 -0
  513. package/src/recall-state-view-widen.test.ts +66 -0
  514. package/src/recall-state-view-widen.ts +49 -0
  515. package/src/recall-state-view-wire.ts +6 -16
  516. package/src/shared-context/authority.test.ts +35 -0
  517. package/src/shared-context/authority.ts +25 -0
  518. package/src/shared-context/claim-key.test.ts +21 -0
  519. package/src/shared-context/claim-key.ts +16 -0
  520. package/src/shared-context/contradictions.test.ts +39 -0
  521. package/src/shared-context/contradictions.ts +32 -0
  522. package/src/shared-context/envelope-actor.test.ts +21 -0
  523. package/src/shared-context/envelope-actor.ts +16 -0
  524. package/src/shared-context/envelope-at.test.ts +19 -0
  525. package/src/shared-context/envelope-at.ts +17 -0
  526. package/src/shared-context/envelope-id.test.ts +21 -0
  527. package/src/shared-context/envelope-id.ts +16 -0
  528. package/src/shared-context/envelope-required.test.ts +24 -0
  529. package/src/shared-context/envelope-required.ts +15 -0
  530. package/src/shared-context/envelope-ttl.test.ts +29 -0
  531. package/src/shared-context/envelope-ttl.ts +35 -0
  532. package/src/shared-context/provenance.test.ts +35 -0
  533. package/src/shared-context/provenance.ts +68 -0
  534. package/src/shared-context/staleness.test.ts +36 -0
  535. package/src/shared-context/staleness.ts +38 -0
  536. package/src/shared-context/trajectories.test.ts +77 -0
  537. package/src/shared-context/trajectories.ts +49 -0
  538. package/dist/chunk-MUEGIKKY.js.map +0 -1
  539. package/dist/chunk-TCF4MU7L.js.map +0 -1
  540. package/dist/chunk-WFCWP4XU.js +0 -17
  541. package/dist/chunk-WFCWP4XU.js.map +0 -1
  542. /package/dist/{capsule-crypto-7FJQINUR.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
  543. /package/dist/{chunk-XKNHFDTT.js.map → chunk-3A2Z4OOS.js.map} +0 -0
  544. /package/dist/{chunk-CHGG74CY.js.map → chunk-3HHTN5X7.js.map} +0 -0
  545. /package/dist/{chunk-XOHYGIWF.js.map → chunk-3Z4SFJA5.js.map} +0 -0
  546. /package/dist/{chunk-RDGKVH6T.js.map → chunk-4NKIGSJM.js.map} +0 -0
  547. /package/dist/{chunk-GPFZFCRN.js.map → chunk-4PTTMTTQ.js.map} +0 -0
  548. /package/dist/{chunk-VG4SSPAW.js.map → chunk-4XESAT4V.js.map} +0 -0
  549. /package/dist/{chunk-S4CDUXQY.js.map → chunk-5KGLNBUB.js.map} +0 -0
  550. /package/dist/{chunk-2X6BGKQL.js.map → chunk-5XRZANCW.js.map} +0 -0
  551. /package/dist/{chunk-TCQRIIIN.js.map → chunk-6DODJYBY.js.map} +0 -0
  552. /package/dist/{chunk-KWIGDKM2.js.map → chunk-73CAEYI3.js.map} +0 -0
  553. /package/dist/{chunk-J2R275FN.js.map → chunk-7DXW5V2W.js.map} +0 -0
  554. /package/dist/{chunk-LYUUA6QB.js.map → chunk-7JJHIVMG.js.map} +0 -0
  555. /package/dist/{chunk-2FA7U5XY.js.map → chunk-7NNMRMLZ.js.map} +0 -0
  556. /package/dist/{chunk-227UFSEQ.js.map → chunk-7RZJWZ46.js.map} +0 -0
  557. /package/dist/{chunk-EWKVYCFP.js.map → chunk-B2OKCCXX.js.map} +0 -0
  558. /package/dist/{chunk-NSTNGMSS.js.map → chunk-B7AGLMGP.js.map} +0 -0
  559. /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
  560. /package/dist/{chunk-CEH2AFXG.js.map → chunk-C24UZSFW.js.map} +0 -0
  561. /package/dist/{chunk-LTBKKSCX.js.map → chunk-C2JCVZWX.js.map} +0 -0
  562. /package/dist/{chunk-65JOGLIS.js.map → chunk-D4R3OUZA.js.map} +0 -0
  563. /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
  564. /package/dist/{chunk-IGZCAHFL.js.map → chunk-EGGNFLAT.js.map} +0 -0
  565. /package/dist/{chunk-H2IRSXZN.js.map → chunk-ESDOAP7W.js.map} +0 -0
  566. /package/dist/{chunk-D3UXGE5D.js.map → chunk-EZWIEFYD.js.map} +0 -0
  567. /package/dist/{chunk-ZPS724LT.js.map → chunk-F5H5QINZ.js.map} +0 -0
  568. /package/dist/{chunk-S4Z2OBTX.js.map → chunk-FPSOXMLK.js.map} +0 -0
  569. /package/dist/{chunk-CX4OLNIH.js.map → chunk-G5UKF2GJ.js.map} +0 -0
  570. /package/dist/{chunk-OJUEUQDJ.js.map → chunk-GGY2747C.js.map} +0 -0
  571. /package/dist/{chunk-TNGH4ZYI.js.map → chunk-GNWLTCKC.js.map} +0 -0
  572. /package/dist/{chunk-YWPLOJ7T.js.map → chunk-GZPGI45F.js.map} +0 -0
  573. /package/dist/{chunk-NFP4KPTA.js.map → chunk-IDEPEHUG.js.map} +0 -0
  574. /package/dist/{chunk-LJABGXC4.js.map → chunk-IN5EUWCA.js.map} +0 -0
  575. /package/dist/{chunk-U6NGKS32.js.map → chunk-JJAOVJ3E.js.map} +0 -0
  576. /package/dist/{chunk-RPIS5FQ7.js.map → chunk-JWCS3VYQ.js.map} +0 -0
  577. /package/dist/{chunk-U65VJSCJ.js.map → chunk-KE23ZIEW.js.map} +0 -0
  578. /package/dist/{chunk-NACLNNFQ.js.map → chunk-KSZKQTZS.js.map} +0 -0
  579. /package/dist/{chunk-KJXCD7VR.js.map → chunk-KWJNEWTM.js.map} +0 -0
  580. /package/dist/{chunk-UW4RYPWC.js.map → chunk-MLTGALDY.js.map} +0 -0
  581. /package/dist/{chunk-YMOPYG3K.js.map → chunk-OLT3YTDH.js.map} +0 -0
  582. /package/dist/{chunk-2PSX5BJU.js.map → chunk-OPQKVVYG.js.map} +0 -0
  583. /package/dist/{chunk-D6Q5EPOV.js.map → chunk-PGD3DXZP.js.map} +0 -0
  584. /package/dist/{chunk-GBEOUCBB.js.map → chunk-Q6LC3ZD5.js.map} +0 -0
  585. /package/dist/{chunk-QBNE55VA.js.map → chunk-QELYSDAU.js.map} +0 -0
  586. /package/dist/{chunk-INUBU6I5.js.map → chunk-S6PRJGQL.js.map} +0 -0
  587. /package/dist/{chunk-B4AOWRYF.js.map → chunk-TCJO7LOG.js.map} +0 -0
  588. /package/dist/{chunk-SZMYGDSM.js.map → chunk-TO5U47YK.js.map} +0 -0
  589. /package/dist/{chunk-GAJK3DQ5.js.map → chunk-U3L6GRUX.js.map} +0 -0
  590. /package/dist/{chunk-4XLTUR6R.js.map → chunk-U4RGSLI4.js.map} +0 -0
  591. /package/dist/{chunk-M5ERTI4I.js.map → chunk-UH53XVQ3.js.map} +0 -0
  592. /package/dist/{chunk-NUF7VSEX.js.map → chunk-UXERIBOJ.js.map} +0 -0
  593. /package/dist/{chunk-FFUMTH27.js.map → chunk-VA2CSIPC.js.map} +0 -0
  594. /package/dist/{chunk-KQAFEZQX.js.map → chunk-VDX2J7OX.js.map} +0 -0
  595. /package/dist/{chunk-AF5H7TKI.js.map → chunk-VPJNGE2R.js.map} +0 -0
  596. /package/dist/{chunk-OMX6TKXH.js.map → chunk-VTJZSLDR.js.map} +0 -0
  597. /package/dist/{chunk-TBCDF556.js.map → chunk-WHFFAS4A.js.map} +0 -0
  598. /package/dist/{chunk-7UOXCCCI.js.map → chunk-WVNETF4Q.js.map} +0 -0
  599. /package/dist/{chunk-EH65UV2Z.js.map → chunk-XSTMPZMY.js.map} +0 -0
  600. /package/dist/{chunk-PD66CVSD.js.map → chunk-Z3SQEEB6.js.map} +0 -0
  601. /package/dist/{chunk-JKTV3JNX.js.map → chunk-ZBYOXIIF.js.map} +0 -0
  602. /package/dist/{chunk-2ITZ74A6.js.map → chunk-ZC5IHL5X.js.map} +0 -0
  603. /package/dist/{chunk-KI64TTBL.js.map → chunk-ZDMTCO7N.js.map} +0 -0
  604. /package/dist/{chunk-C5IUOBCN.js.map → chunk-ZET6A3OF.js.map} +0 -0
  605. /package/dist/{chunk-ZZZWEDF4.js.map → chunk-ZVAKRZZD.js.map} +0 -0
  606. /package/dist/{graph-edge-decay-A4SDFMMS.js.map → extraction-span.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-navigate-budget.ts"],"sourcesContent":["/**\n * Recall navigation budget take (issue #1956 leftover).\n *\n * Pure. Surfaces wait. Budget 0 or cost above budget is exhausted.\n * Negative budget or cost throws.\n */\n\nexport type NavigateBudgetResult =\n | { ok: true; remaining: number }\n | { ok: false; error: \"budget_exhausted\" };\n\nexport function takeNavigateBudget(budget: number, cost: number): NavigateBudgetResult {\n if (budget < 0 || cost < 0) {\n throw new Error(\n `navigate budget and cost must be non-negative; got budget=${JSON.stringify(budget)} cost=${JSON.stringify(cost)}`,\n );\n }\n if (budget === 0 || cost > budget) {\n return { ok: false, error: \"budget_exhausted\" };\n }\n return { ok: true, remaining: budget - cost };\n}\n"],"mappings":";;;AAWO,SAAS,mBAAmB,QAAgB,MAAoC;AACrF,MAAI,SAAS,KAAK,OAAO,GAAG;AAC1B,UAAM,IAAI;AAAA,MACR,6DAA6D,KAAK,UAAU,MAAM,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC;AAAA,IAClH;AAAA,EACF;AACA,MAAI,WAAW,KAAK,OAAO,QAAQ;AACjC,WAAO,EAAE,IAAI,OAAO,OAAO,mBAAmB;AAAA,EAChD;AACA,SAAO,EAAE,IAAI,MAAM,WAAW,SAAS,KAAK;AAC9C;","names":[]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Recall navigation cost parse (issue #1956 leftover).
3
+ *
4
+ * Pure. Surfaces wait. 0 is allowed. Negative or non-integer throws.
5
+ */
6
+ declare function parseNavigateCost(value: unknown): number;
7
+
8
+ export { parseNavigateCost };
@@ -0,0 +1,15 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-navigate-cost.ts
4
+ function parseNavigateCost(value) {
5
+ if (typeof value !== "number" || !Number.isFinite(value) || !Number.isInteger(value) || value < 0) {
6
+ throw new Error(
7
+ `navigate cost must be a non-negative integer; got ${JSON.stringify(value)}`
8
+ );
9
+ }
10
+ return value;
11
+ }
12
+ export {
13
+ parseNavigateCost
14
+ };
15
+ //# sourceMappingURL=recall-navigate-cost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-navigate-cost.ts"],"sourcesContent":["/**\n * Recall navigation cost parse (issue #1956 leftover).\n *\n * Pure. Surfaces wait. 0 is allowed. Negative or non-integer throws.\n */\nexport function parseNavigateCost(value: unknown): number {\n if (typeof value !== \"number\" || !Number.isFinite(value) || !Number.isInteger(value) || value < 0) {\n throw new Error(\n `navigate cost must be a non-negative integer; got ${JSON.stringify(value)}`,\n );\n }\n return value;\n}\n"],"mappings":";;;AAKO,SAAS,kBAAkB,OAAwB;AACxD,MAAI,OAAO,UAAU,YAAY,CAAC,OAAO,SAAS,KAAK,KAAK,CAAC,OAAO,UAAU,KAAK,KAAK,QAAQ,GAAG;AACjG,UAAM,IAAI;AAAA,MACR,qDAAqD,KAAK,UAAU,KAAK,CAAC;AAAA,IAC5E;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Recall navigation depth parse (issue #1956 leftover).
3
+ *
4
+ * Pure. Surfaces wait. 0 is allowed. Negative or non-integer throws.
5
+ */
6
+ declare function parseNavigateDepth(value: unknown): number;
7
+
8
+ export { parseNavigateDepth };
@@ -0,0 +1,15 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-navigate-depth.ts
4
+ function parseNavigateDepth(value) {
5
+ if (typeof value !== "number" || !Number.isFinite(value) || !Number.isInteger(value) || value < 0) {
6
+ throw new Error(
7
+ `navigate depth must be a non-negative integer; got ${JSON.stringify(value)}`
8
+ );
9
+ }
10
+ return value;
11
+ }
12
+ export {
13
+ parseNavigateDepth
14
+ };
15
+ //# sourceMappingURL=recall-navigate-depth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-navigate-depth.ts"],"sourcesContent":["/**\n * Recall navigation depth parse (issue #1956 leftover).\n *\n * Pure. Surfaces wait. 0 is allowed. Negative or non-integer throws.\n */\nexport function parseNavigateDepth(value: unknown): number {\n if (typeof value !== \"number\" || !Number.isFinite(value) || !Number.isInteger(value) || value < 0) {\n throw new Error(\n `navigate depth must be a non-negative integer; got ${JSON.stringify(value)}`,\n );\n }\n return value;\n}\n"],"mappings":";;;AAKO,SAAS,mBAAmB,OAAwB;AACzD,MAAI,OAAO,UAAU,YAAY,CAAC,OAAO,SAAS,KAAK,KAAK,CAAC,OAAO,UAAU,KAAK,KAAK,QAAQ,GAAG;AACjG,UAAM,IAAI;AAAA,MACR,sDAAsD,KAAK,UAAU,KAAK,CAAC;AAAA,IAC7E;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Recall navigation link-type parse (issue #1956 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Unknown or empty is unknown_link.
5
+ */
6
+ declare const NAVIGATE_LINK_TYPES: readonly ["supports", "contradicts", "elaborates", "causes", "caused_by"];
7
+ type NavigateLinkType = (typeof NAVIGATE_LINK_TYPES)[number];
8
+ type ParseNavigateLinkTypeResult = {
9
+ ok: true;
10
+ type: NavigateLinkType;
11
+ } | {
12
+ ok: false;
13
+ error: "unknown_link";
14
+ };
15
+ declare function parseNavigateLinkType(value: string): ParseNavigateLinkTypeResult;
16
+
17
+ export { type NavigateLinkType, type ParseNavigateLinkTypeResult, parseNavigateLinkType };
@@ -0,0 +1,20 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-navigate-link.ts
4
+ var NAVIGATE_LINK_TYPES = [
5
+ "supports",
6
+ "contradicts",
7
+ "elaborates",
8
+ "causes",
9
+ "caused_by"
10
+ ];
11
+ function parseNavigateLinkType(value) {
12
+ if (NAVIGATE_LINK_TYPES.includes(value)) {
13
+ return { ok: true, type: value };
14
+ }
15
+ return { ok: false, error: "unknown_link" };
16
+ }
17
+ export {
18
+ parseNavigateLinkType
19
+ };
20
+ //# sourceMappingURL=recall-navigate-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-navigate-link.ts"],"sourcesContent":["/**\n * Recall navigation link-type parse (issue #1956 leftover).\n *\n * Pure. Surfaces wait. Unknown or empty is unknown_link.\n */\n\nconst NAVIGATE_LINK_TYPES = [\n \"supports\",\n \"contradicts\",\n \"elaborates\",\n \"causes\",\n \"caused_by\",\n] as const;\n\nexport type NavigateLinkType = (typeof NAVIGATE_LINK_TYPES)[number];\n\nexport type ParseNavigateLinkTypeResult =\n | { ok: true; type: NavigateLinkType }\n | { ok: false; error: \"unknown_link\" };\n\nexport function parseNavigateLinkType(value: string): ParseNavigateLinkTypeResult {\n if ((NAVIGATE_LINK_TYPES as readonly string[]).includes(value)) {\n return { ok: true, type: value as NavigateLinkType };\n }\n return { ok: false, error: \"unknown_link\" };\n}\n"],"mappings":";;;AAMA,IAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAQO,SAAS,sBAAsB,OAA4C;AAChF,MAAK,oBAA0C,SAAS,KAAK,GAAG;AAC9D,WAAO,EAAE,IAAI,MAAM,MAAM,MAA0B;AAAA,EACrD;AACA,SAAO,EAAE,IAAI,OAAO,OAAO,eAAe;AAC5C;","names":[]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Recall navigation max-children parse (issue #1956 leftover).
3
+ *
4
+ * Pure. Surfaces wait. 0 is allowed. Negative or non-integer throws.
5
+ */
6
+ declare function parseMaxChildren(value: unknown): number;
7
+
8
+ export { parseMaxChildren };
@@ -0,0 +1,15 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-navigate-max-children.ts
4
+ function parseMaxChildren(value) {
5
+ if (typeof value !== "number" || !Number.isFinite(value) || !Number.isInteger(value) || value < 0) {
6
+ throw new Error(
7
+ `max children must be a non-negative integer; got ${JSON.stringify(value)}`
8
+ );
9
+ }
10
+ return value;
11
+ }
12
+ export {
13
+ parseMaxChildren
14
+ };
15
+ //# sourceMappingURL=recall-navigate-max-children.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-navigate-max-children.ts"],"sourcesContent":["/**\n * Recall navigation max-children parse (issue #1956 leftover).\n *\n * Pure. Surfaces wait. 0 is allowed. Negative or non-integer throws.\n */\nexport function parseMaxChildren(value: unknown): number {\n if (typeof value !== \"number\" || !Number.isFinite(value) || !Number.isInteger(value) || value < 0) {\n throw new Error(\n `max children must be a non-negative integer; got ${JSON.stringify(value)}`,\n );\n }\n return value;\n}\n"],"mappings":";;;AAKO,SAAS,iBAAiB,OAAwB;AACvD,MAAI,OAAO,UAAU,YAAY,CAAC,OAAO,SAAS,KAAK,KAAK,CAAC,OAAO,UAAU,KAAK,KAAK,QAAQ,GAAG;AACjG,UAAM,IAAI;AAAA,MACR,oDAAoD,KAAK,UAAU,KAAK,CAAC;AAAA,IAC3E;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Recall navigation node-id parse (issue #1956 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Empty is missing_node. Newline is invalid_node.
5
+ */
6
+ type ParseNavigateNodeIdResult = {
7
+ ok: true;
8
+ nodeId: string;
9
+ } | {
10
+ ok: false;
11
+ error: "missing_node" | "invalid_node";
12
+ };
13
+ declare function parseNavigateNodeId(value: string): ParseNavigateNodeIdResult;
14
+
15
+ export { type ParseNavigateNodeIdResult, parseNavigateNodeId };
@@ -0,0 +1,13 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-navigate-node.ts
4
+ function parseNavigateNodeId(value) {
5
+ const nodeId = value.trim();
6
+ if (nodeId.length === 0) return { ok: false, error: "missing_node" };
7
+ if (nodeId.includes("\n")) return { ok: false, error: "invalid_node" };
8
+ return { ok: true, nodeId };
9
+ }
10
+ export {
11
+ parseNavigateNodeId
12
+ };
13
+ //# sourceMappingURL=recall-navigate-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-navigate-node.ts"],"sourcesContent":["/**\n * Recall navigation node-id parse (issue #1956 leftover).\n *\n * Pure. Surfaces wait. Empty is missing_node. Newline is invalid_node.\n */\n\nexport type ParseNavigateNodeIdResult =\n | { ok: true; nodeId: string }\n | { ok: false; error: \"missing_node\" | \"invalid_node\" };\n\nexport function parseNavigateNodeId(value: string): ParseNavigateNodeIdResult {\n const nodeId = value.trim();\n if (nodeId.length === 0) return { ok: false, error: \"missing_node\" };\n if (nodeId.includes(\"\\n\")) return { ok: false, error: \"invalid_node\" };\n return { ok: true, nodeId };\n}\n"],"mappings":";;;AAUO,SAAS,oBAAoB,OAA0C;AAC5E,QAAM,SAAS,MAAM,KAAK;AAC1B,MAAI,OAAO,WAAW,EAAG,QAAO,EAAE,IAAI,OAAO,OAAO,eAAe;AACnE,MAAI,OAAO,SAAS,IAAI,EAAG,QAAO,EAAE,IAAI,OAAO,OAAO,eAAe;AACrE,SAAO,EAAE,IAAI,MAAM,OAAO;AAC5B;","names":[]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Empty-set guard for a recall-navigate path (issue #1956 leftover).
3
+ *
4
+ * null, undefined, and [] are empty. A non-array throws. Any other array is not empty.
5
+ */
6
+ /** True when the navigate path is absent or has no nodes. */
7
+ declare function isEmptyNavigatePath(nodes: unknown): boolean;
8
+
9
+ export { isEmptyNavigatePath };
@@ -0,0 +1,14 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-navigate-path.ts
4
+ function isEmptyNavigatePath(nodes) {
5
+ if (nodes == null) return true;
6
+ if (!Array.isArray(nodes)) {
7
+ throw new TypeError("nodes must be an array");
8
+ }
9
+ return nodes.length === 0;
10
+ }
11
+ export {
12
+ isEmptyNavigatePath
13
+ };
14
+ //# sourceMappingURL=recall-navigate-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-navigate-path.ts"],"sourcesContent":["/**\n * Empty-set guard for a recall-navigate path (issue #1956 leftover).\n *\n * null, undefined, and [] are empty. A non-array throws. Any other array is not empty.\n */\n\n/** True when the navigate path is absent or has no nodes. */\nexport function isEmptyNavigatePath(nodes: unknown): boolean {\n if (nodes == null) return true;\n if (!Array.isArray(nodes)) {\n throw new TypeError(\"nodes must be an array\");\n }\n return nodes.length === 0;\n}\n"],"mappings":";;;AAOO,SAAS,oBAAoB,OAAyB;AAC3D,MAAI,SAAS,KAAM,QAAO;AAC1B,MAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACzB,UAAM,IAAI,UAAU,wBAAwB;AAAA,EAC9C;AACA,SAAO,MAAM,WAAW;AAC1B;","names":[]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Markdown renderer for a recall navigate step (issue #1956 leftover).
3
+ *
4
+ * Deterministic. Surfaces wait. Empty children prints (empty).
5
+ */
6
+ type NavigateResult = {
7
+ action: string;
8
+ nodeId: string;
9
+ children?: readonly string[];
10
+ path?: readonly string[];
11
+ stopReason: string;
12
+ };
13
+ declare function renderNavigateResult(result: NavigateResult): string;
14
+
15
+ export { type NavigateResult, renderNavigateResult };
@@ -0,0 +1,23 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-navigate-render.ts
4
+ function formatList(items) {
5
+ if (items === void 0 || items.length === 0) return "(empty)";
6
+ return items.join(", ");
7
+ }
8
+ function renderNavigateResult(result) {
9
+ const usePath = result.action === "traverse" || result.path !== void 0;
10
+ return [
11
+ "# Navigate",
12
+ "",
13
+ `- action: ${result.action}`,
14
+ `- nodeId: ${result.nodeId}`,
15
+ usePath ? `- path: ${formatList(result.path)}` : `- children: ${formatList(result.children)}`,
16
+ `- stop: ${result.stopReason}`,
17
+ ""
18
+ ].join("\n");
19
+ }
20
+ export {
21
+ renderNavigateResult
22
+ };
23
+ //# sourceMappingURL=recall-navigate-render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-navigate-render.ts"],"sourcesContent":["/**\n * Markdown renderer for a recall navigate step (issue #1956 leftover).\n *\n * Deterministic. Surfaces wait. Empty children prints (empty).\n */\n\nexport type NavigateResult = {\n action: string;\n nodeId: string;\n children?: readonly string[];\n path?: readonly string[];\n stopReason: string;\n};\n\nfunction formatList(items: readonly string[] | undefined): string {\n if (items === undefined || items.length === 0) return \"(empty)\";\n return items.join(\", \");\n}\n\nexport function renderNavigateResult(result: NavigateResult): string {\n const usePath = result.action === \"traverse\" || result.path !== undefined;\n return [\n \"# Navigate\",\n \"\",\n `- action: ${result.action}`,\n `- nodeId: ${result.nodeId}`,\n usePath ? `- path: ${formatList(result.path)}` : `- children: ${formatList(result.children)}`,\n `- stop: ${result.stopReason}`,\n \"\",\n ].join(\"\\n\");\n}\n"],"mappings":";;;AAcA,SAAS,WAAW,OAA8C;AAChE,MAAI,UAAU,UAAa,MAAM,WAAW,EAAG,QAAO;AACtD,SAAO,MAAM,KAAK,IAAI;AACxB;AAEO,SAAS,qBAAqB,QAAgC;AACnE,QAAM,UAAU,OAAO,WAAW,cAAc,OAAO,SAAS;AAChE,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,aAAa,OAAO,MAAM;AAAA,IAC1B,aAAa,OAAO,MAAM;AAAA,IAC1B,UAAU,WAAW,WAAW,OAAO,IAAI,CAAC,KAAK,eAAe,WAAW,OAAO,QAAQ,CAAC;AAAA,IAC3F,WAAW,OAAO,UAAU;AAAA,IAC5B;AAAA,EACF,EAAE,KAAK,IAAI;AACb;","names":[]}
@@ -1,47 +1,11 @@
1
1
  import {
2
- RECALL_DISCLOSURE_LEVELS
3
- } from "./chunk-XXW32OL7.js";
2
+ RECALL_NAV_LINK_TYPES,
3
+ expandRecallNode,
4
+ isRecallNavLinkType,
5
+ traverseRecallLink
6
+ } from "./chunk-MAG6M3B6.js";
7
+ import "./chunk-XXW32OL7.js";
4
8
  import "./chunk-PZ5AY32C.js";
5
-
6
- // src/recall-navigate.ts
7
- var RECALL_NAV_LINK_TYPES = [
8
- "supports",
9
- "contradicts",
10
- "elaborates",
11
- "supersedes",
12
- "causes"
13
- ];
14
- function isRecallNavLinkType(value) {
15
- return typeof value === "string" && RECALL_NAV_LINK_TYPES.includes(value);
16
- }
17
- function expandRecallNode(node, options) {
18
- if (!Number.isFinite(options.budget) || options.budget <= 0) {
19
- return { status: "unavailable", reason: "budget_off" };
20
- }
21
- const current = RECALL_DISCLOSURE_LEVELS.indexOf(node.disclosure);
22
- const next = current >= 0 ? RECALL_DISCLOSURE_LEVELS[current + 1] : void 0;
23
- if (next === void 0) return { status: "empty" };
24
- const text = node.payloads?.[next];
25
- if (typeof text !== "string") return { status: "empty" };
26
- return { status: "ok", node: { id: node.id, disclosure: next, text } };
27
- }
28
- function traverseRecallLink(from, linkType, options) {
29
- if (!isRecallNavLinkType(linkType)) {
30
- throw new Error(
31
- `unknown recall nav linkType: ${JSON.stringify(linkType)}. Valid: ${RECALL_NAV_LINK_TYPES.join(", ")}`
32
- );
33
- }
34
- if (!Number.isFinite(options.budget) || options.budget <= 0) {
35
- return { status: "unavailable", reason: "budget_off" };
36
- }
37
- const neighbors = (from.links ?? []).filter((link) => link.linkType === linkType).map((link) => {
38
- const neighbor = { id: link.targetId, linkType };
39
- if (link.preview !== void 0) neighbor.preview = link.preview;
40
- return neighbor;
41
- }).sort((a, b) => a.id.localeCompare(b.id, "en"));
42
- if (neighbors.length === 0) return { status: "empty" };
43
- return { status: "ok", neighbors };
44
- }
45
9
  export {
46
10
  RECALL_NAV_LINK_TYPES,
47
11
  expandRecallNode,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/recall-navigate.ts"],"sourcesContent":["/**\n * Recall navigation helpers (issue #1956 first slice).\n *\n * Pure expand/traverse over disclosure levels and typed links. No LLM, no IO.\n * Surfaces (MCP/HTTP/CLI) and parseConfig wiring wait for a later PR —\n * config.ts is at its fileSizeGrandfather ceiling.\n *\n * Budget 0 is off (unavailable). Empty means the step ran and found nothing.\n */\nimport {\n RECALL_DISCLOSURE_LEVELS,\n type RecallDisclosure,\n} from \"./types.js\";\n\nexport const RECALL_NAV_LINK_TYPES = [\n \"supports\",\n \"contradicts\",\n \"elaborates\",\n \"supersedes\",\n \"causes\",\n] as const;\n\nexport type RecallNavLinkType = (typeof RECALL_NAV_LINK_TYPES)[number];\n\nexport interface RecallNavBudget {\n budget: number;\n}\n\nexport interface RecallNavEdge {\n targetId: string;\n linkType: string;\n preview?: string;\n}\n\nexport interface RecallNavNode {\n id: string;\n disclosure: RecallDisclosure;\n payloads?: Partial<Record<RecallDisclosure, string>>;\n links?: readonly RecallNavEdge[];\n}\n\nexport interface RecallNavNeighbor {\n id: string;\n linkType: RecallNavLinkType;\n preview?: string;\n}\n\nexport type RecallNavExpandResult =\n | { status: \"ok\"; node: { id: string; disclosure: RecallDisclosure; text: string } }\n | { status: \"empty\" }\n | { status: \"unavailable\"; reason: \"budget_off\" };\n\nexport type RecallNavTraverseResult =\n | { status: \"ok\"; neighbors: readonly RecallNavNeighbor[] }\n | { status: \"empty\" }\n | { status: \"unavailable\"; reason: \"budget_off\" };\n\nexport function isRecallNavLinkType(value: unknown): value is RecallNavLinkType {\n return typeof value === \"string\" && (RECALL_NAV_LINK_TYPES as readonly string[]).includes(value);\n}\n\nexport function expandRecallNode(\n node: RecallNavNode,\n options: RecallNavBudget,\n): RecallNavExpandResult {\n if (!Number.isFinite(options.budget) || options.budget <= 0) {\n return { status: \"unavailable\", reason: \"budget_off\" };\n }\n const current = RECALL_DISCLOSURE_LEVELS.indexOf(node.disclosure);\n const next = current >= 0 ? RECALL_DISCLOSURE_LEVELS[current + 1] : undefined;\n if (next === undefined) return { status: \"empty\" };\n const text = node.payloads?.[next];\n if (typeof text !== \"string\") return { status: \"empty\" };\n return { status: \"ok\", node: { id: node.id, disclosure: next, text } };\n}\n\nexport function traverseRecallLink(\n from: RecallNavNode,\n linkType: string,\n options: RecallNavBudget,\n): RecallNavTraverseResult {\n if (!isRecallNavLinkType(linkType)) {\n throw new Error(\n `unknown recall nav linkType: ${JSON.stringify(linkType)}. Valid: ${RECALL_NAV_LINK_TYPES.join(\", \")}`,\n );\n }\n if (!Number.isFinite(options.budget) || options.budget <= 0) {\n return { status: \"unavailable\", reason: \"budget_off\" };\n }\n const neighbors = (from.links ?? [])\n .filter((link) => link.linkType === linkType)\n .map((link) => {\n const neighbor: RecallNavNeighbor = { id: link.targetId, linkType };\n if (link.preview !== undefined) neighbor.preview = link.preview;\n return neighbor;\n })\n .sort((a, b) => a.id.localeCompare(b.id, \"en\"));\n if (neighbors.length === 0) return { status: \"empty\" };\n return { status: \"ok\", neighbors };\n}\n"],"mappings":";;;;;;AAcO,IAAM,wBAAwB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAqCO,SAAS,oBAAoB,OAA4C;AAC9E,SAAO,OAAO,UAAU,YAAa,sBAA4C,SAAS,KAAK;AACjG;AAEO,SAAS,iBACd,MACA,SACuB;AACvB,MAAI,CAAC,OAAO,SAAS,QAAQ,MAAM,KAAK,QAAQ,UAAU,GAAG;AAC3D,WAAO,EAAE,QAAQ,eAAe,QAAQ,aAAa;AAAA,EACvD;AACA,QAAM,UAAU,yBAAyB,QAAQ,KAAK,UAAU;AAChE,QAAM,OAAO,WAAW,IAAI,yBAAyB,UAAU,CAAC,IAAI;AACpE,MAAI,SAAS,OAAW,QAAO,EAAE,QAAQ,QAAQ;AACjD,QAAM,OAAO,KAAK,WAAW,IAAI;AACjC,MAAI,OAAO,SAAS,SAAU,QAAO,EAAE,QAAQ,QAAQ;AACvD,SAAO,EAAE,QAAQ,MAAM,MAAM,EAAE,IAAI,KAAK,IAAI,YAAY,MAAM,KAAK,EAAE;AACvE;AAEO,SAAS,mBACd,MACA,UACA,SACyB;AACzB,MAAI,CAAC,oBAAoB,QAAQ,GAAG;AAClC,UAAM,IAAI;AAAA,MACR,gCAAgC,KAAK,UAAU,QAAQ,CAAC,YAAY,sBAAsB,KAAK,IAAI,CAAC;AAAA,IACtG;AAAA,EACF;AACA,MAAI,CAAC,OAAO,SAAS,QAAQ,MAAM,KAAK,QAAQ,UAAU,GAAG;AAC3D,WAAO,EAAE,QAAQ,eAAe,QAAQ,aAAa;AAAA,EACvD;AACA,QAAM,aAAa,KAAK,SAAS,CAAC,GAC/B,OAAO,CAAC,SAAS,KAAK,aAAa,QAAQ,EAC3C,IAAI,CAAC,SAAS;AACb,UAAM,WAA8B,EAAE,IAAI,KAAK,UAAU,SAAS;AAClE,QAAI,KAAK,YAAY,OAAW,UAAS,UAAU,KAAK;AACxD,WAAO;AAAA,EACT,CAAC,EACA,KAAK,CAAC,GAAG,MAAM,EAAE,GAAG,cAAc,EAAE,IAAI,IAAI,CAAC;AAChD,MAAI,UAAU,WAAW,EAAG,QAAO,EAAE,QAAQ,QAAQ;AACrD,SAAO,EAAE,QAAQ,MAAM,UAAU;AACnC;","names":[]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Recall state-view current-has-no-successor guard (issue #1952 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Current plus a successor is current_has_successor.
5
+ */
6
+ type AssertCurrentHasNoSuccessorInput = {
7
+ kind: string;
8
+ successorId?: string;
9
+ };
10
+ type AssertCurrentHasNoSuccessorResult = {
11
+ ok: true;
12
+ } | {
13
+ ok: false;
14
+ error: "current_has_successor";
15
+ };
16
+ declare function assertCurrentHasNoSuccessor(input: AssertCurrentHasNoSuccessorInput): AssertCurrentHasNoSuccessorResult;
17
+
18
+ export { type AssertCurrentHasNoSuccessorInput, type AssertCurrentHasNoSuccessorResult, assertCurrentHasNoSuccessor };
@@ -0,0 +1,14 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-state-view-current.ts
4
+ function assertCurrentHasNoSuccessor(input) {
5
+ const successorId = input.successorId?.trim() ?? "";
6
+ if (input.kind === "current" && successorId.length > 0) {
7
+ return { ok: false, error: "current_has_successor" };
8
+ }
9
+ return { ok: true };
10
+ }
11
+ export {
12
+ assertCurrentHasNoSuccessor
13
+ };
14
+ //# sourceMappingURL=recall-state-view-current.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-state-view-current.ts"],"sourcesContent":["/**\n * Recall state-view current-has-no-successor guard (issue #1952 leftover).\n *\n * Pure. Surfaces wait. Current plus a successor is current_has_successor.\n */\n\nexport type AssertCurrentHasNoSuccessorInput = {\n kind: string;\n successorId?: string;\n};\n\nexport type AssertCurrentHasNoSuccessorResult =\n | { ok: true }\n | { ok: false; error: \"current_has_successor\" };\n\nexport function assertCurrentHasNoSuccessor(\n input: AssertCurrentHasNoSuccessorInput,\n): AssertCurrentHasNoSuccessorResult {\n const successorId = input.successorId?.trim() ?? \"\";\n if (input.kind === \"current\" && successorId.length > 0) {\n return { ok: false, error: \"current_has_successor\" };\n }\n return { ok: true };\n}\n"],"mappings":";;;AAeO,SAAS,4BACd,OACmC;AACnC,QAAM,cAAc,MAAM,aAAa,KAAK,KAAK;AACjD,MAAI,MAAM,SAAS,aAAa,YAAY,SAAS,GAAG;AACtD,WAAO,EAAE,IAAI,OAAO,OAAO,wBAAwB;AAAA,EACrD;AACA,SAAO,EAAE,IAAI,KAAK;AACpB;","names":[]}
@@ -0,0 +1,15 @@
1
+ import { StateViewLineResult } from './recall-state-view-render.js';
2
+ import './recall-state-view.js';
3
+
4
+ /**
5
+ * Recall inject-line mapper for state views (issue #1952).
6
+ *
7
+ * Maps each result through renderStateViewLine. A disabled flag keeps
8
+ * original text per item. An empty list stays empty.
9
+ */
10
+
11
+ declare function injectStateViewLines(results: readonly StateViewLineResult[], options?: {
12
+ enabled?: boolean;
13
+ }): string[];
14
+
15
+ export { injectStateViewLines };
@@ -0,0 +1,16 @@
1
+ import {
2
+ renderStateViewLine
3
+ } from "./chunk-MKD3OMPS.js";
4
+ import "./chunk-HVAEXYPL.js";
5
+ import "./chunk-PQVCH2AE.js";
6
+ import "./chunk-3WCASNQZ.js";
7
+ import "./chunk-PZ5AY32C.js";
8
+
9
+ // src/recall-state-view-inject.ts
10
+ function injectStateViewLines(results, options = {}) {
11
+ return results.map((result) => renderStateViewLine(result, options));
12
+ }
13
+ export {
14
+ injectStateViewLines
15
+ };
16
+ //# sourceMappingURL=recall-state-view-inject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-state-view-inject.ts"],"sourcesContent":["/**\n * Recall inject-line mapper for state views (issue #1952).\n *\n * Maps each result through renderStateViewLine. A disabled flag keeps\n * original text per item. An empty list stays empty.\n */\nimport { renderStateViewLine, type StateViewLineResult } from \"./recall-state-view-render.js\";\n\nexport function injectStateViewLines(\n results: readonly StateViewLineResult[],\n options: { enabled?: boolean } = {},\n): string[] {\n return results.map((result) => renderStateViewLine(result, options));\n}\n"],"mappings":";;;;;;;;;AAQO,SAAS,qBACd,SACA,UAAiC,CAAC,GACxB;AACV,SAAO,QAAQ,IAAI,CAAC,WAAW,oBAAoB,QAAQ,OAAO,CAAC;AACrE;","names":[]}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Recall state-view kind parse (issue #1952 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Unknown or empty is unknown_kind.
5
+ */
6
+ declare const STATE_VIEW_KINDS: readonly ["current", "historical", "transition"];
7
+ type StateViewKind = (typeof STATE_VIEW_KINDS)[number];
8
+ type ParseStateViewKindResult = {
9
+ ok: true;
10
+ kind: StateViewKind;
11
+ } | {
12
+ ok: false;
13
+ error: "unknown_kind";
14
+ };
15
+ declare function parseStateViewKind(value: string): ParseStateViewKindResult;
16
+
17
+ export { type ParseStateViewKindResult, type StateViewKind, parseStateViewKind };
@@ -0,0 +1,14 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-state-view-kind.ts
4
+ var STATE_VIEW_KINDS = ["current", "historical", "transition"];
5
+ function parseStateViewKind(value) {
6
+ if (STATE_VIEW_KINDS.includes(value)) {
7
+ return { ok: true, kind: value };
8
+ }
9
+ return { ok: false, error: "unknown_kind" };
10
+ }
11
+ export {
12
+ parseStateViewKind
13
+ };
14
+ //# sourceMappingURL=recall-state-view-kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-state-view-kind.ts"],"sourcesContent":["/**\n * Recall state-view kind parse (issue #1952 leftover).\n *\n * Pure. Surfaces wait. Unknown or empty is unknown_kind.\n */\n\nconst STATE_VIEW_KINDS = [\"current\", \"historical\", \"transition\"] as const;\n\nexport type StateViewKind = (typeof STATE_VIEW_KINDS)[number];\n\nexport type ParseStateViewKindResult =\n | { ok: true; kind: StateViewKind }\n | { ok: false; error: \"unknown_kind\" };\n\nexport function parseStateViewKind(value: string): ParseStateViewKindResult {\n if ((STATE_VIEW_KINDS as readonly string[]).includes(value)) {\n return { ok: true, kind: value as StateViewKind };\n }\n return { ok: false, error: \"unknown_kind\" };\n}\n"],"mappings":";;;AAMA,IAAM,mBAAmB,CAAC,WAAW,cAAc,YAAY;AAQxD,SAAS,mBAAmB,OAAyC;AAC1E,MAAK,iBAAuC,SAAS,KAAK,GAAG;AAC3D,WAAO,EAAE,IAAI,MAAM,MAAM,MAAuB;AAAA,EAClD;AACA,SAAO,EAAE,IAAI,OAAO,OAAO,eAAe;AAC5C;","names":[]}
@@ -0,0 +1,17 @@
1
+ import { StateLabel } from './recall-state-view.js';
2
+
3
+ /**
4
+ * Pure state-view labeler (issue #1952 leftover).
5
+ *
6
+ * Surfaces wait. `current` stays current. `historical` and `transition`
7
+ * keep their kind only when both supersededAt and successorId are set.
8
+ * Missing either field is current. Unknown kind throws.
9
+ */
10
+
11
+ declare function labelStateView(input: {
12
+ kind: string;
13
+ supersededAt?: string;
14
+ successorId?: string;
15
+ }): StateLabel;
16
+
17
+ export { labelStateView };
@@ -0,0 +1,16 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-state-view-label.ts
4
+ function labelStateView(input) {
5
+ const { kind, supersededAt, successorId } = input;
6
+ if (kind === "current") return "current";
7
+ if (kind === "historical" || kind === "transition") {
8
+ if (!supersededAt || !successorId) return "current";
9
+ return kind;
10
+ }
11
+ throw new Error(`unknown state view kind: ${JSON.stringify(kind)}`);
12
+ }
13
+ export {
14
+ labelStateView
15
+ };
16
+ //# sourceMappingURL=recall-state-view-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-state-view-label.ts"],"sourcesContent":["/**\n * Pure state-view labeler (issue #1952 leftover).\n *\n * Surfaces wait. `current` stays current. `historical` and `transition`\n * keep their kind only when both supersededAt and successorId are set.\n * Missing either field is current. Unknown kind throws.\n */\nimport type { StateLabel } from \"./recall-state-view.js\";\n\nexport function labelStateView(input: {\n kind: string;\n supersededAt?: string;\n successorId?: string;\n}): StateLabel {\n const { kind, supersededAt, successorId } = input;\n if (kind === \"current\") return \"current\";\n if (kind === \"historical\" || kind === \"transition\") {\n if (!supersededAt || !successorId) return \"current\";\n return kind;\n }\n throw new Error(`unknown state view kind: ${JSON.stringify(kind)}`);\n}\n"],"mappings":";;;AASO,SAAS,eAAe,OAIhB;AACb,QAAM,EAAE,MAAM,cAAc,YAAY,IAAI;AAC5C,MAAI,SAAS,UAAW,QAAO;AAC/B,MAAI,SAAS,gBAAgB,SAAS,cAAc;AAClD,QAAI,CAAC,gBAAgB,CAAC,YAAa,QAAO;AAC1C,WAAO;AAAA,EACT;AACA,QAAM,IAAI,MAAM,4BAA4B,KAAK,UAAU,IAAI,CAAC,EAAE;AACpE;","names":[]}
@@ -0,0 +1,18 @@
1
+ import { StateViewResult } from './recall-state-view.js';
2
+
3
+ /**
4
+ * Recall inject-line renderer for state views (issue #1952).
5
+ *
6
+ * Historical and transition rows get `[superseded <date> by <id>]` when both
7
+ * supersededAt and supersededBy are present. Current rows and a disabled
8
+ * flag are identity.
9
+ */
10
+
11
+ type StateViewLineResult = StateViewResult & {
12
+ text?: string;
13
+ };
14
+ declare function renderStateViewLine(result: StateViewLineResult, options?: {
15
+ enabled?: boolean;
16
+ }): string;
17
+
18
+ export { type StateViewLineResult, renderStateViewLine };
@@ -0,0 +1,11 @@
1
+ import {
2
+ renderStateViewLine
3
+ } from "./chunk-MKD3OMPS.js";
4
+ import "./chunk-HVAEXYPL.js";
5
+ import "./chunk-PQVCH2AE.js";
6
+ import "./chunk-3WCASNQZ.js";
7
+ import "./chunk-PZ5AY32C.js";
8
+ export {
9
+ renderStateViewLine
10
+ };
11
+ //# sourceMappingURL=recall-state-view-render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Recall state-view successor-id parse (issue #1952 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Empty is missing_successor. Newline is invalid_successor.
5
+ */
6
+ type ParseSuccessorIdResult = {
7
+ ok: true;
8
+ successorId: string;
9
+ } | {
10
+ ok: false;
11
+ error: "missing_successor" | "invalid_successor";
12
+ };
13
+ declare function parseSuccessorId(value: string): ParseSuccessorIdResult;
14
+
15
+ export { type ParseSuccessorIdResult, parseSuccessorId };
@@ -0,0 +1,13 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-state-view-successor.ts
4
+ function parseSuccessorId(value) {
5
+ const successorId = value.trim();
6
+ if (successorId.length === 0) return { ok: false, error: "missing_successor" };
7
+ if (successorId.includes("\n")) return { ok: false, error: "invalid_successor" };
8
+ return { ok: true, successorId };
9
+ }
10
+ export {
11
+ parseSuccessorId
12
+ };
13
+ //# sourceMappingURL=recall-state-view-successor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-state-view-successor.ts"],"sourcesContent":["/**\n * Recall state-view successor-id parse (issue #1952 leftover).\n *\n * Pure. Surfaces wait. Empty is missing_successor. Newline is invalid_successor.\n */\n\nexport type ParseSuccessorIdResult =\n | { ok: true; successorId: string }\n | { ok: false; error: \"missing_successor\" | \"invalid_successor\" };\n\nexport function parseSuccessorId(value: string): ParseSuccessorIdResult {\n const successorId = value.trim();\n if (successorId.length === 0) return { ok: false, error: \"missing_successor\" };\n if (successorId.includes(\"\\n\")) return { ok: false, error: \"invalid_successor\" };\n return { ok: true, successorId };\n}\n"],"mappings":";;;AAUO,SAAS,iBAAiB,OAAuC;AACtE,QAAM,cAAc,MAAM,KAAK;AAC/B,MAAI,YAAY,WAAW,EAAG,QAAO,EAAE,IAAI,OAAO,OAAO,oBAAoB;AAC7E,MAAI,YAAY,SAAS,IAAI,EAAG,QAAO,EAAE,IAAI,OAAO,OAAO,oBAAoB;AAC/E,SAAO,EAAE,IAAI,MAAM,YAAY;AACjC;","names":[]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Recall state-view superseded-at parse (issue #1952 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Empty is missing_date. Unparseable is invalid_date.
5
+ */
6
+ type ParseSupersededAtResult = {
7
+ ok: true;
8
+ supersededAt: string;
9
+ } | {
10
+ ok: false;
11
+ error: "missing_date" | "invalid_date";
12
+ };
13
+ declare function parseSupersededAt(value: string): ParseSupersededAtResult;
14
+
15
+ export { type ParseSupersededAtResult, parseSupersededAt };
@@ -0,0 +1,14 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-state-view-superseded.ts
4
+ function parseSupersededAt(value) {
5
+ const trimmed = value.trim();
6
+ if (trimmed.length === 0) return { ok: false, error: "missing_date" };
7
+ const parsed = Date.parse(trimmed);
8
+ if (!Number.isFinite(parsed)) return { ok: false, error: "invalid_date" };
9
+ return { ok: true, supersededAt: new Date(parsed).toISOString() };
10
+ }
11
+ export {
12
+ parseSupersededAt
13
+ };
14
+ //# sourceMappingURL=recall-state-view-superseded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-state-view-superseded.ts"],"sourcesContent":["/**\n * Recall state-view superseded-at parse (issue #1952 leftover).\n *\n * Pure. Surfaces wait. Empty is missing_date. Unparseable is invalid_date.\n */\n\nexport type ParseSupersededAtResult =\n | { ok: true; supersededAt: string }\n | { ok: false; error: \"missing_date\" | \"invalid_date\" };\n\nexport function parseSupersededAt(value: string): ParseSupersededAtResult {\n const trimmed = value.trim();\n if (trimmed.length === 0) return { ok: false, error: \"missing_date\" };\n const parsed = Date.parse(trimmed);\n if (!Number.isFinite(parsed)) return { ok: false, error: \"invalid_date\" };\n return { ok: true, supersededAt: new Date(parsed).toISOString() };\n}\n"],"mappings":";;;AAUO,SAAS,kBAAkB,OAAwC;AACxE,QAAM,UAAU,MAAM,KAAK;AAC3B,MAAI,QAAQ,WAAW,EAAG,QAAO,EAAE,IAAI,OAAO,OAAO,eAAe;AACpE,QAAM,SAAS,KAAK,MAAM,OAAO;AACjC,MAAI,CAAC,OAAO,SAAS,MAAM,EAAG,QAAO,EAAE,IAAI,OAAO,OAAO,eAAe;AACxE,SAAO,EAAE,IAAI,MAAM,cAAc,IAAI,KAAK,MAAM,EAAE,YAAY,EAAE;AAClE;","names":[]}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Recall state-view transition-has-successor guard (issue #1952 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Transition without a successor is transition_missing_successor.
5
+ */
6
+ type AssertTransitionHasSuccessorInput = {
7
+ kind: string;
8
+ successorId?: string;
9
+ };
10
+ type AssertTransitionHasSuccessorResult = {
11
+ ok: true;
12
+ } | {
13
+ ok: false;
14
+ error: "transition_missing_successor";
15
+ };
16
+ declare function assertTransitionHasSuccessor(input: AssertTransitionHasSuccessorInput): AssertTransitionHasSuccessorResult;
17
+
18
+ export { type AssertTransitionHasSuccessorInput, type AssertTransitionHasSuccessorResult, assertTransitionHasSuccessor };
@@ -0,0 +1,14 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-state-view-transition.ts
4
+ function assertTransitionHasSuccessor(input) {
5
+ const successorId = input.successorId?.trim() ?? "";
6
+ if (input.kind === "transition" && successorId.length === 0) {
7
+ return { ok: false, error: "transition_missing_successor" };
8
+ }
9
+ return { ok: true };
10
+ }
11
+ export {
12
+ assertTransitionHasSuccessor
13
+ };
14
+ //# sourceMappingURL=recall-state-view-transition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-state-view-transition.ts"],"sourcesContent":["/**\n * Recall state-view transition-has-successor guard (issue #1952 leftover).\n *\n * Pure. Surfaces wait. Transition without a successor is transition_missing_successor.\n */\n\nexport type AssertTransitionHasSuccessorInput = {\n kind: string;\n successorId?: string;\n};\n\nexport type AssertTransitionHasSuccessorResult =\n | { ok: true }\n | { ok: false; error: \"transition_missing_successor\" };\n\nexport function assertTransitionHasSuccessor(\n input: AssertTransitionHasSuccessorInput,\n): AssertTransitionHasSuccessorResult {\n const successorId = input.successorId?.trim() ?? \"\";\n if (input.kind === \"transition\" && successorId.length === 0) {\n return { ok: false, error: \"transition_missing_successor\" };\n }\n return { ok: true };\n}\n"],"mappings":";;;AAeO,SAAS,6BACd,OACoC;AACpC,QAAM,cAAc,MAAM,aAAa,KAAK,KAAK;AACjD,MAAI,MAAM,SAAS,gBAAgB,YAAY,WAAW,GAAG;AAC3D,WAAO,EAAE,IAAI,OAAO,OAAO,+BAA+B;AAAA,EAC5D;AACA,SAAO,EAAE,IAAI,KAAK;AACpB;","names":[]}