@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,9 @@
1
+ /**
2
+ * Deep-recall budget clamp (issue #2332 leftover).
3
+ *
4
+ * Pure. Surfaces wait. 0 stays 0. Positive integers pass through.
5
+ * Negative, non-finite, and non-integer values throw.
6
+ */
7
+ declare function clampDeepRecallBudget(n: number): number;
8
+
9
+ export { clampDeepRecallBudget };
@@ -0,0 +1,15 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-deep-budget.ts
4
+ function clampDeepRecallBudget(n) {
5
+ if (!Number.isFinite(n) || !Number.isInteger(n) || n < 0) {
6
+ throw new Error(
7
+ `deep recall budget must be a non-negative integer; got ${JSON.stringify(n)}`
8
+ );
9
+ }
10
+ return n;
11
+ }
12
+ export {
13
+ clampDeepRecallBudget
14
+ };
15
+ //# sourceMappingURL=recall-deep-budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-deep-budget.ts"],"sourcesContent":["/**\n * Deep-recall budget clamp (issue #2332 leftover).\n *\n * Pure. Surfaces wait. 0 stays 0. Positive integers pass through.\n * Negative, non-finite, and non-integer values throw.\n */\nexport function clampDeepRecallBudget(n: number): number {\n if (!Number.isFinite(n) || !Number.isInteger(n) || n < 0) {\n throw new Error(\n `deep recall budget must be a non-negative integer; got ${JSON.stringify(n)}`,\n );\n }\n return n;\n}\n"],"mappings":";;;AAMO,SAAS,sBAAsB,GAAmB;AACvD,MAAI,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,KAAK,IAAI,GAAG;AACxD,UAAM,IAAI;AAAA,MACR,0DAA0D,KAAK,UAAU,CAAC,CAAC;AAAA,IAC7E;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Deep-recall one-shot expand gate (issue #2332 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Already expanded or budget 0 refuse.
5
+ * Negative budget throws.
6
+ */
7
+ declare function mayExpandOnce(input: {
8
+ alreadyExpanded: boolean;
9
+ budgetLeft: number;
10
+ }): boolean;
11
+
12
+ export { mayExpandOnce };
@@ -0,0 +1,17 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-deep-expand.ts
4
+ function mayExpandOnce(input) {
5
+ if (input.budgetLeft < 0) {
6
+ throw new Error(
7
+ `deep recall expand budget must not be negative; got ${JSON.stringify(input.budgetLeft)}`
8
+ );
9
+ }
10
+ if (input.alreadyExpanded) return false;
11
+ if (input.budgetLeft === 0) return false;
12
+ return true;
13
+ }
14
+ export {
15
+ mayExpandOnce
16
+ };
17
+ //# sourceMappingURL=recall-deep-expand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-deep-expand.ts"],"sourcesContent":["/**\n * Deep-recall one-shot expand gate (issue #2332 leftover).\n *\n * Pure. Surfaces wait. Already expanded or budget 0 refuse.\n * Negative budget throws.\n */\nexport function mayExpandOnce(input: {\n alreadyExpanded: boolean;\n budgetLeft: number;\n}): boolean {\n if (input.budgetLeft < 0) {\n throw new Error(\n `deep recall expand budget must not be negative; got ${JSON.stringify(input.budgetLeft)}`,\n );\n }\n if (input.alreadyExpanded) return false;\n if (input.budgetLeft === 0) return false;\n return true;\n}\n"],"mappings":";;;AAMO,SAAS,cAAc,OAGlB;AACV,MAAI,MAAM,aAAa,GAAG;AACxB,UAAM,IAAI;AAAA,MACR,uDAAuD,KAAK,UAAU,MAAM,UAAU,CAAC;AAAA,IACzF;AAAA,EACF;AACA,MAAI,MAAM,gBAAiB,QAAO;AAClC,MAAI,MAAM,eAAe,EAAG,QAAO;AACnC,SAAO;AACT;","names":[]}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Parse a deep-recall policy name (issue #2332 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Unknown or empty values fail closed.
5
+ */
6
+ declare const DEEP_POLICY_NAMES: readonly ["stop", "expand-once"];
7
+ type DeepPolicyName = (typeof DEEP_POLICY_NAMES)[number];
8
+ type ParseDeepPolicyNameResult = {
9
+ ok: true;
10
+ policy: DeepPolicyName;
11
+ } | {
12
+ ok: false;
13
+ error: "unknown_policy";
14
+ };
15
+ declare function parseDeepPolicyName(value: unknown): ParseDeepPolicyNameResult;
16
+
17
+ export { DEEP_POLICY_NAMES, type DeepPolicyName, type ParseDeepPolicyNameResult, parseDeepPolicyName };
@@ -0,0 +1,18 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-deep-policy.ts
4
+ var DEEP_POLICY_NAMES = ["stop", "expand-once"];
5
+ function parseDeepPolicyName(value) {
6
+ if (typeof value !== "string" || value.length === 0) {
7
+ return { ok: false, error: "unknown_policy" };
8
+ }
9
+ if (!DEEP_POLICY_NAMES.includes(value)) {
10
+ return { ok: false, error: "unknown_policy" };
11
+ }
12
+ return { ok: true, policy: value };
13
+ }
14
+ export {
15
+ DEEP_POLICY_NAMES,
16
+ parseDeepPolicyName
17
+ };
18
+ //# sourceMappingURL=recall-deep-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-deep-policy.ts"],"sourcesContent":["/**\n * Parse a deep-recall policy name (issue #2332 leftover).\n *\n * Pure. Surfaces wait. Unknown or empty values fail closed.\n */\nexport const DEEP_POLICY_NAMES = [\"stop\", \"expand-once\"] as const;\n\nexport type DeepPolicyName = (typeof DEEP_POLICY_NAMES)[number];\n\nexport type ParseDeepPolicyNameResult =\n | { ok: true; policy: DeepPolicyName }\n | { ok: false; error: \"unknown_policy\" };\n\nexport function parseDeepPolicyName(value: unknown): ParseDeepPolicyNameResult {\n if (typeof value !== \"string\" || value.length === 0) {\n return { ok: false, error: \"unknown_policy\" };\n }\n if (!(DEEP_POLICY_NAMES as readonly string[]).includes(value)) {\n return { ok: false, error: \"unknown_policy\" };\n }\n return { ok: true, policy: value as DeepPolicyName };\n}\n"],"mappings":";;;AAKO,IAAM,oBAAoB,CAAC,QAAQ,aAAa;AAQhD,SAAS,oBAAoB,OAA2C;AAC7E,MAAI,OAAO,UAAU,YAAY,MAAM,WAAW,GAAG;AACnD,WAAO,EAAE,IAAI,OAAO,OAAO,iBAAiB;AAAA,EAC9C;AACA,MAAI,CAAE,kBAAwC,SAAS,KAAK,GAAG;AAC7D,WAAO,EAAE,IAAI,OAAO,OAAO,iBAAiB;AAAA,EAC9C;AACA,SAAO,EAAE,IAAI,MAAM,QAAQ,MAAwB;AACrD;","names":[]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Parse a deep-recall query (issue #2332 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Trim. Empty is empty_query.
5
+ */
6
+ type ParseDeepQueryResult = {
7
+ ok: true;
8
+ query: string;
9
+ } | {
10
+ ok: false;
11
+ error: "empty_query";
12
+ };
13
+ declare function parseDeepQuery(value: string): ParseDeepQueryResult;
14
+
15
+ export { type ParseDeepQueryResult, parseDeepQuery };
@@ -0,0 +1,12 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-deep-query.ts
4
+ function parseDeepQuery(value) {
5
+ const query = value.trim();
6
+ if (query.length === 0) return { ok: false, error: "empty_query" };
7
+ return { ok: true, query };
8
+ }
9
+ export {
10
+ parseDeepQuery
11
+ };
12
+ //# sourceMappingURL=recall-deep-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-deep-query.ts"],"sourcesContent":["/**\n * Parse a deep-recall query (issue #2332 leftover).\n *\n * Pure. Surfaces wait. Trim. Empty is empty_query.\n */\n\nexport type ParseDeepQueryResult =\n | { ok: true; query: string }\n | { ok: false; error: \"empty_query\" };\n\nexport function parseDeepQuery(value: string): ParseDeepQueryResult {\n const query = value.trim();\n if (query.length === 0) return { ok: false, error: \"empty_query\" };\n return { ok: true, query };\n}\n"],"mappings":";;;AAUO,SAAS,eAAe,OAAqC;AAClE,QAAM,QAAQ,MAAM,KAAK;AACzB,MAAI,MAAM,WAAW,EAAG,QAAO,EAAE,IAAI,OAAO,OAAO,cAAc;AACjE,SAAO,EAAE,IAAI,MAAM,MAAM;AAC3B;","names":[]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Deep-recall one-shot refine gate (issue #2332 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Already refined or budget 0 refuse.
5
+ * Negative budget throws.
6
+ */
7
+ declare function mayRefine(input: {
8
+ refined: boolean;
9
+ budgetLeft: number;
10
+ }): boolean;
11
+
12
+ export { mayRefine };
@@ -0,0 +1,17 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-deep-refine.ts
4
+ function mayRefine(input) {
5
+ if (input.budgetLeft < 0) {
6
+ throw new Error(
7
+ `deep recall refine budget must not be negative; got ${JSON.stringify(input.budgetLeft)}`
8
+ );
9
+ }
10
+ if (input.refined) return false;
11
+ if (input.budgetLeft === 0) return false;
12
+ return true;
13
+ }
14
+ export {
15
+ mayRefine
16
+ };
17
+ //# sourceMappingURL=recall-deep-refine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-deep-refine.ts"],"sourcesContent":["/**\n * Deep-recall one-shot refine gate (issue #2332 leftover).\n *\n * Pure. Surfaces wait. Already refined or budget 0 refuse.\n * Negative budget throws.\n */\nexport function mayRefine(input: {\n refined: boolean;\n budgetLeft: number;\n}): boolean {\n if (input.budgetLeft < 0) {\n throw new Error(\n `deep recall refine budget must not be negative; got ${JSON.stringify(input.budgetLeft)}`,\n );\n }\n if (input.refined) return false;\n if (input.budgetLeft === 0) return false;\n return true;\n}\n"],"mappings":";;;AAMO,SAAS,UAAU,OAGd;AACV,MAAI,MAAM,aAAa,GAAG;AACxB,UAAM,IAAI;AAAA,MACR,uDAAuD,KAAK,UAAU,MAAM,UAAU,CAAC;AAAA,IACzF;AAAA,EACF;AACA,MAAI,MAAM,QAAS,QAAO;AAC1B,MAAI,MAAM,eAAe,EAAG,QAAO;AACnC,SAAO;AACT;","names":[]}
@@ -0,0 +1,11 @@
1
+ import { DeepRecallResult } from './recall-deep.js';
2
+
3
+ /**
4
+ * Markdown renderer for a deep-recall trace (issue #2332 leftover).
5
+ *
6
+ * Deterministic. Surfaces wait. Empty working set prints (empty).
7
+ */
8
+
9
+ declare function renderDeepRecallTrace(result: DeepRecallResult): string;
10
+
11
+ export { renderDeepRecallTrace };
@@ -0,0 +1,28 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-deep-render.ts
4
+ function renderDeepRecallTrace(result) {
5
+ const last = result.trace[result.trace.length - 1];
6
+ const stop = !last ? "none" : last.budget <= 0 ? "budget exhausted" : last.action;
7
+ const steps = result.trace.length === 0 ? ["(empty)"] : result.trace.map((step, index) => {
8
+ const workingSet = step.workingSet.length === 0 ? "(empty)" : step.workingSet.join(", ");
9
+ const frontier = step.frontier.length === 0 ? "(empty)" : step.frontier.join(", ");
10
+ return `${index + 1}. ${step.action} budget=${step.budget} workingSet=${workingSet} frontier=${frontier}`;
11
+ });
12
+ return [
13
+ "# Deep recall",
14
+ "",
15
+ `- query: ${result.state.query}`,
16
+ `- budget: ${result.state.budget}`,
17
+ `- stop: ${stop}`,
18
+ "",
19
+ "## Steps",
20
+ "",
21
+ ...steps,
22
+ ""
23
+ ].join("\n");
24
+ }
25
+ export {
26
+ renderDeepRecallTrace
27
+ };
28
+ //# sourceMappingURL=recall-deep-render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-deep-render.ts"],"sourcesContent":["/**\n * Markdown renderer for a deep-recall trace (issue #2332 leftover).\n *\n * Deterministic. Surfaces wait. Empty working set prints (empty).\n */\n\nimport type { DeepRecallResult } from \"./recall-deep.js\";\n\nexport function renderDeepRecallTrace(result: DeepRecallResult): string {\n const last = result.trace[result.trace.length - 1];\n const stop = !last ? \"none\" : last.budget <= 0 ? \"budget exhausted\" : last.action;\n const steps =\n result.trace.length === 0\n ? [\"(empty)\"]\n : result.trace.map((step, index) => {\n const workingSet = step.workingSet.length === 0 ? \"(empty)\" : step.workingSet.join(\", \");\n const frontier = step.frontier.length === 0 ? \"(empty)\" : step.frontier.join(\", \");\n return `${index + 1}. ${step.action} budget=${step.budget} workingSet=${workingSet} frontier=${frontier}`;\n });\n return [\n \"# Deep recall\",\n \"\",\n `- query: ${result.state.query}`,\n `- budget: ${result.state.budget}`,\n `- stop: ${stop}`,\n \"\",\n \"## Steps\",\n \"\",\n ...steps,\n \"\",\n ].join(\"\\n\");\n}\n"],"mappings":";;;AAQO,SAAS,sBAAsB,QAAkC;AACtE,QAAM,OAAO,OAAO,MAAM,OAAO,MAAM,SAAS,CAAC;AACjD,QAAM,OAAO,CAAC,OAAO,SAAS,KAAK,UAAU,IAAI,qBAAqB,KAAK;AAC3E,QAAM,QACJ,OAAO,MAAM,WAAW,IACpB,CAAC,SAAS,IACV,OAAO,MAAM,IAAI,CAAC,MAAM,UAAU;AAChC,UAAM,aAAa,KAAK,WAAW,WAAW,IAAI,YAAY,KAAK,WAAW,KAAK,IAAI;AACvF,UAAM,WAAW,KAAK,SAAS,WAAW,IAAI,YAAY,KAAK,SAAS,KAAK,IAAI;AACjF,WAAO,GAAG,QAAQ,CAAC,KAAK,KAAK,MAAM,WAAW,KAAK,MAAM,eAAe,UAAU,aAAa,QAAQ;AAAA,EACzG,CAAC;AACP,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,YAAY,OAAO,MAAM,KAAK;AAAA,IAC9B,aAAa,OAAO,MAAM,MAAM;AAAA,IAChC,WAAW,IAAI;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,IACH;AAAA,EACF,EAAE,KAAK,IAAI;AACb;","names":[]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Deep-recall step-count parse (issue #2332 leftover).
3
+ *
4
+ * Pure. Surfaces wait. 0 is allowed. Negative or non-integer throws.
5
+ */
6
+ declare function parseStepCount(value: unknown): number;
7
+
8
+ export { parseStepCount };
@@ -0,0 +1,15 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-deep-step-count.ts
4
+ function parseStepCount(value) {
5
+ if (typeof value !== "number" || !Number.isFinite(value) || !Number.isInteger(value) || value < 0) {
6
+ throw new Error(
7
+ `deep recall step count must be a non-negative integer; got ${JSON.stringify(value)}`
8
+ );
9
+ }
10
+ return value;
11
+ }
12
+ export {
13
+ parseStepCount
14
+ };
15
+ //# sourceMappingURL=recall-deep-step-count.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-deep-step-count.ts"],"sourcesContent":["/**\n * Deep-recall step-count parse (issue #2332 leftover).\n *\n * Pure. Surfaces wait. 0 is allowed. Negative or non-integer throws.\n */\nexport function parseStepCount(value: unknown): number {\n if (typeof value !== \"number\" || !Number.isFinite(value) || !Number.isInteger(value) || value < 0) {\n throw new Error(\n `deep recall step count must be a non-negative integer; got ${JSON.stringify(value)}`,\n );\n }\n return value;\n}\n"],"mappings":";;;AAKO,SAAS,eAAe,OAAwB;AACrD,MAAI,OAAO,UAAU,YAAY,CAAC,OAAO,SAAS,KAAK,KAAK,CAAC,OAAO,UAAU,KAAK,KAAK,QAAQ,GAAG;AACjG,UAAM,IAAI;AAAA,MACR,8DAA8D,KAAK,UAAU,KAAK,CAAC;AAAA,IACrF;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Parse a deep-recall stop reason (issue #2332 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Unknown or empty values fail closed.
5
+ */
6
+ declare const DEEP_STOP_REASONS: readonly ["budget_exhausted", "policy_stop", "expand_once", "refine_done"];
7
+ type DeepStopReason = (typeof DEEP_STOP_REASONS)[number];
8
+ type ParseDeepStopReasonResult = {
9
+ ok: true;
10
+ reason: DeepStopReason;
11
+ } | {
12
+ ok: false;
13
+ error: "unknown_reason";
14
+ };
15
+ declare function parseDeepStopReason(value: unknown): ParseDeepStopReasonResult;
16
+
17
+ export { DEEP_STOP_REASONS, type DeepStopReason, type ParseDeepStopReasonResult, parseDeepStopReason };
@@ -0,0 +1,23 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-deep-stop-reason.ts
4
+ var DEEP_STOP_REASONS = [
5
+ "budget_exhausted",
6
+ "policy_stop",
7
+ "expand_once",
8
+ "refine_done"
9
+ ];
10
+ function parseDeepStopReason(value) {
11
+ if (typeof value !== "string" || value.length === 0) {
12
+ return { ok: false, error: "unknown_reason" };
13
+ }
14
+ if (!DEEP_STOP_REASONS.includes(value)) {
15
+ return { ok: false, error: "unknown_reason" };
16
+ }
17
+ return { ok: true, reason: value };
18
+ }
19
+ export {
20
+ DEEP_STOP_REASONS,
21
+ parseDeepStopReason
22
+ };
23
+ //# sourceMappingURL=recall-deep-stop-reason.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-deep-stop-reason.ts"],"sourcesContent":["/**\n * Parse a deep-recall stop reason (issue #2332 leftover).\n *\n * Pure. Surfaces wait. Unknown or empty values fail closed.\n */\nexport const DEEP_STOP_REASONS = [\n \"budget_exhausted\",\n \"policy_stop\",\n \"expand_once\",\n \"refine_done\",\n] as const;\n\nexport type DeepStopReason = (typeof DEEP_STOP_REASONS)[number];\n\nexport type ParseDeepStopReasonResult =\n | { ok: true; reason: DeepStopReason }\n | { ok: false; error: \"unknown_reason\" };\n\nexport function parseDeepStopReason(value: unknown): ParseDeepStopReasonResult {\n if (typeof value !== \"string\" || value.length === 0) {\n return { ok: false, error: \"unknown_reason\" };\n }\n if (!(DEEP_STOP_REASONS as readonly string[]).includes(value)) {\n return { ok: false, error: \"unknown_reason\" };\n }\n return { ok: true, reason: value as DeepStopReason };\n}\n"],"mappings":";;;AAKO,IAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAQO,SAAS,oBAAoB,OAA2C;AAC7E,MAAI,OAAO,UAAU,YAAY,MAAM,WAAW,GAAG;AACnD,WAAO,EAAE,IAAI,OAAO,OAAO,iBAAiB;AAAA,EAC9C;AACA,MAAI,CAAE,kBAAwC,SAAS,KAAK,GAAG;AAC7D,WAAO,EAAE,IAAI,OAAO,OAAO,iBAAiB;AAAA,EAC9C;AACA,SAAO,EAAE,IAAI,MAAM,QAAQ,MAAwB;AACrD;","names":[]}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Deep-recall stop predicate (issue #2332 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Budget 0, stop policy, and expand-once after
5
+ * one expansion halt. Unknown policy throws.
6
+ */
7
+ declare const DEEP_RECALL_STOP_POLICIES: readonly ["stop", "expand-once"];
8
+ type DeepRecallStopPolicy = (typeof DEEP_RECALL_STOP_POLICIES)[number];
9
+ interface DeepRecallStopInput {
10
+ budgetLeft: number;
11
+ policy: string;
12
+ alreadyExpanded?: boolean;
13
+ }
14
+ declare function isDeepRecallStopPolicy(value: unknown): value is DeepRecallStopPolicy;
15
+ declare function shouldStopDeepRecall(input: DeepRecallStopInput): boolean;
16
+
17
+ export { DEEP_RECALL_STOP_POLICIES, type DeepRecallStopInput, type DeepRecallStopPolicy, isDeepRecallStopPolicy, shouldStopDeepRecall };
@@ -0,0 +1,23 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-deep-stop.ts
4
+ var DEEP_RECALL_STOP_POLICIES = ["stop", "expand-once"];
5
+ function isDeepRecallStopPolicy(value) {
6
+ return typeof value === "string" && DEEP_RECALL_STOP_POLICIES.includes(value);
7
+ }
8
+ function shouldStopDeepRecall(input) {
9
+ if (!isDeepRecallStopPolicy(input.policy)) {
10
+ throw new Error(
11
+ `unknown deep recall stop policy: ${JSON.stringify(input.policy)}. Valid: ${DEEP_RECALL_STOP_POLICIES.join(", ")}`
12
+ );
13
+ }
14
+ if (input.budgetLeft <= 0) return true;
15
+ if (input.policy === "stop") return true;
16
+ return input.alreadyExpanded === true;
17
+ }
18
+ export {
19
+ DEEP_RECALL_STOP_POLICIES,
20
+ isDeepRecallStopPolicy,
21
+ shouldStopDeepRecall
22
+ };
23
+ //# sourceMappingURL=recall-deep-stop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-deep-stop.ts"],"sourcesContent":["/**\n * Deep-recall stop predicate (issue #2332 leftover).\n *\n * Pure. Surfaces wait. Budget 0, stop policy, and expand-once after\n * one expansion halt. Unknown policy throws.\n */\n\nexport const DEEP_RECALL_STOP_POLICIES = [\"stop\", \"expand-once\"] as const;\n\nexport type DeepRecallStopPolicy = (typeof DEEP_RECALL_STOP_POLICIES)[number];\n\nexport interface DeepRecallStopInput {\n budgetLeft: number;\n policy: string;\n alreadyExpanded?: boolean;\n}\n\nexport function isDeepRecallStopPolicy(value: unknown): value is DeepRecallStopPolicy {\n return typeof value === \"string\" && (DEEP_RECALL_STOP_POLICIES as readonly string[]).includes(value);\n}\n\nexport function shouldStopDeepRecall(input: DeepRecallStopInput): boolean {\n if (!isDeepRecallStopPolicy(input.policy)) {\n throw new Error(\n `unknown deep recall stop policy: ${JSON.stringify(input.policy)}. Valid: ${DEEP_RECALL_STOP_POLICIES.join(\", \")}`,\n );\n }\n if (input.budgetLeft <= 0) return true;\n if (input.policy === \"stop\") return true;\n return input.alreadyExpanded === true;\n}\n"],"mappings":";;;AAOO,IAAM,4BAA4B,CAAC,QAAQ,aAAa;AAUxD,SAAS,uBAAuB,OAA+C;AACpF,SAAO,OAAO,UAAU,YAAa,0BAAgD,SAAS,KAAK;AACrG;AAEO,SAAS,qBAAqB,OAAqC;AACxE,MAAI,CAAC,uBAAuB,MAAM,MAAM,GAAG;AACzC,UAAM,IAAI;AAAA,MACR,oCAAoC,KAAK,UAAU,MAAM,MAAM,CAAC,YAAY,0BAA0B,KAAK,IAAI,CAAC;AAAA,IAClH;AAAA,EACF;AACA,MAAI,MAAM,cAAc,EAAG,QAAO;AAClC,MAAI,MAAM,WAAW,OAAQ,QAAO;AACpC,SAAO,MAAM,oBAAoB;AACnC;","names":[]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Empty-set guard for a deep-recall working set (issue #2332 leftover).
3
+ *
4
+ * null, undefined, and [] are empty. A non-array throws. Any other array is not empty.
5
+ */
6
+ /** True when the working set is absent or has no items. */
7
+ declare function isEmptyWorkingSet(items: unknown): boolean;
8
+
9
+ export { isEmptyWorkingSet };
@@ -0,0 +1,14 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-deep-working-set.ts
4
+ function isEmptyWorkingSet(items) {
5
+ if (items == null) return true;
6
+ if (!Array.isArray(items)) {
7
+ throw new TypeError("items must be an array");
8
+ }
9
+ return items.length === 0;
10
+ }
11
+ export {
12
+ isEmptyWorkingSet
13
+ };
14
+ //# sourceMappingURL=recall-deep-working-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-deep-working-set.ts"],"sourcesContent":["/**\n * Empty-set guard for a deep-recall working set (issue #2332 leftover).\n *\n * null, undefined, and [] are empty. A non-array throws. Any other array is not empty.\n */\n\n/** True when the working set is absent or has no items. */\nexport function isEmptyWorkingSet(items: unknown): boolean {\n if (items == null) return true;\n if (!Array.isArray(items)) {\n throw new TypeError(\"items must be an array\");\n }\n return items.length === 0;\n}\n"],"mappings":";;;AAOO,SAAS,kBAAkB,OAAyB;AACzD,MAAI,SAAS,KAAM,QAAO;AAC1B,MAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACzB,UAAM,IAAI,UAAU,wBAAwB;AAAA,EAC9C;AACA,SAAO,MAAM,WAAW;AAC1B;","names":[]}
@@ -1,77 +1,10 @@
1
+ import {
2
+ DEEP_RECALL_ACTIONS,
3
+ isDeepRecallAction,
4
+ runDeepRecall,
5
+ runDeepRecallStep
6
+ } from "./chunk-Q3SHEAXR.js";
1
7
  import "./chunk-PZ5AY32C.js";
2
-
3
- // src/recall-deep.ts
4
- var DEEP_RECALL_ACTIONS = ["refine", "expand", "stop"];
5
- function isDeepRecallAction(value) {
6
- return typeof value === "string" && DEEP_RECALL_ACTIONS.includes(value);
7
- }
8
- function snapshot(state) {
9
- return {
10
- query: state.query,
11
- workingSet: [...state.workingSet],
12
- frontier: [...state.frontier],
13
- budget: state.budget
14
- };
15
- }
16
- function runDeepRecallStep(state, action) {
17
- if (!isDeepRecallAction(action)) {
18
- throw new Error(
19
- `unknown deep recall action: ${JSON.stringify(action)}. Valid: ${DEEP_RECALL_ACTIONS.join(", ")}`
20
- );
21
- }
22
- if (!Number.isFinite(state.budget) || state.budget <= 0 || action === "stop") {
23
- const stopped = snapshot(state);
24
- return {
25
- state: stopped,
26
- step: {
27
- action: "stop",
28
- budget: stopped.budget,
29
- workingSet: stopped.workingSet,
30
- frontier: stopped.frontier
31
- }
32
- };
33
- }
34
- const next = snapshot(state);
35
- next.budget = state.budget - 1;
36
- if (action === "expand") {
37
- const [head, ...rest] = next.frontier;
38
- if (head !== void 0 && !next.workingSet.includes(head)) {
39
- next.workingSet = [...next.workingSet, head];
40
- }
41
- next.frontier = rest;
42
- }
43
- return {
44
- state: next,
45
- step: {
46
- action,
47
- budget: next.budget,
48
- workingSet: next.workingSet,
49
- frontier: next.frontier
50
- }
51
- };
52
- }
53
- function runDeepRecall(state, policy) {
54
- const trace = [];
55
- let current = snapshot(state);
56
- while (true) {
57
- if (!Number.isFinite(current.budget) || current.budget <= 0) {
58
- const stopped = snapshot(current);
59
- trace.push({
60
- action: "stop",
61
- budget: stopped.budget,
62
- workingSet: stopped.workingSet,
63
- frontier: stopped.frontier
64
- });
65
- return { state: stopped, trace };
66
- }
67
- const stepped = runDeepRecallStep(current, policy(current));
68
- trace.push(stepped.step);
69
- current = stepped.state;
70
- if (stepped.step.action === "stop") {
71
- return { state: current, trace };
72
- }
73
- }
74
- }
75
8
  export {
76
9
  DEEP_RECALL_ACTIONS,
77
10
  isDeepRecallAction,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/recall-deep.ts"],"sourcesContent":["/**\n * Budgeted REFINE/EXPAND/STOP loop (issue #2332 first slice).\n *\n * Pure state stepper. Policy is injected. No LLM, no orchestrator recall,\n * no IO. Surfaces and parseConfig wait for a later PR — config.ts is at\n * its fileSizeGrandfather ceiling.\n *\n * Budget 0 stops without calling the policy. Unknown actions throw.\n */\nexport const DEEP_RECALL_ACTIONS = [\"refine\", \"expand\", \"stop\"] as const;\n\nexport type DeepRecallAction = (typeof DEEP_RECALL_ACTIONS)[number];\n\nexport interface DeepRecallState {\n query: string;\n workingSet: readonly string[];\n frontier: readonly string[];\n budget: number;\n}\n\nexport interface DeepRecallTraceStep {\n action: DeepRecallAction;\n budget: number;\n workingSet: readonly string[];\n frontier: readonly string[];\n}\n\nexport interface DeepRecallStepResult {\n state: DeepRecallState;\n step: DeepRecallTraceStep;\n}\n\nexport interface DeepRecallResult {\n state: DeepRecallState;\n trace: readonly DeepRecallTraceStep[];\n}\n\nexport type DeepRecallPolicy = (state: DeepRecallState) => string;\n\nexport function isDeepRecallAction(value: unknown): value is DeepRecallAction {\n return typeof value === \"string\" && (DEEP_RECALL_ACTIONS as readonly string[]).includes(value);\n}\n\nfunction snapshot(state: DeepRecallState): DeepRecallState {\n return {\n query: state.query,\n workingSet: [...state.workingSet],\n frontier: [...state.frontier],\n budget: state.budget,\n };\n}\n\nexport function runDeepRecallStep(state: DeepRecallState, action: string): DeepRecallStepResult {\n if (!isDeepRecallAction(action)) {\n throw new Error(\n `unknown deep recall action: ${JSON.stringify(action)}. Valid: ${DEEP_RECALL_ACTIONS.join(\", \")}`,\n );\n }\n if (!Number.isFinite(state.budget) || state.budget <= 0 || action === \"stop\") {\n const stopped = snapshot(state);\n return {\n state: stopped,\n step: {\n action: \"stop\",\n budget: stopped.budget,\n workingSet: stopped.workingSet,\n frontier: stopped.frontier,\n },\n };\n }\n\n const next = snapshot(state);\n next.budget = state.budget - 1;\n if (action === \"expand\") {\n const [head, ...rest] = next.frontier;\n if (head !== undefined && !next.workingSet.includes(head)) {\n next.workingSet = [...next.workingSet, head];\n }\n next.frontier = rest;\n }\n return {\n state: next,\n step: {\n action,\n budget: next.budget,\n workingSet: next.workingSet,\n frontier: next.frontier,\n },\n };\n}\n\nexport function runDeepRecall(state: DeepRecallState, policy: DeepRecallPolicy): DeepRecallResult {\n const trace: DeepRecallTraceStep[] = [];\n let current = snapshot(state);\n while (true) {\n if (!Number.isFinite(current.budget) || current.budget <= 0) {\n const stopped = snapshot(current);\n trace.push({\n action: \"stop\",\n budget: stopped.budget,\n workingSet: stopped.workingSet,\n frontier: stopped.frontier,\n });\n return { state: stopped, trace };\n }\n const stepped = runDeepRecallStep(current, policy(current));\n trace.push(stepped.step);\n current = stepped.state;\n if (stepped.step.action === \"stop\") {\n return { state: current, trace };\n }\n }\n}\n"],"mappings":";;;AASO,IAAM,sBAAsB,CAAC,UAAU,UAAU,MAAM;AA8BvD,SAAS,mBAAmB,OAA2C;AAC5E,SAAO,OAAO,UAAU,YAAa,oBAA0C,SAAS,KAAK;AAC/F;AAEA,SAAS,SAAS,OAAyC;AACzD,SAAO;AAAA,IACL,OAAO,MAAM;AAAA,IACb,YAAY,CAAC,GAAG,MAAM,UAAU;AAAA,IAChC,UAAU,CAAC,GAAG,MAAM,QAAQ;AAAA,IAC5B,QAAQ,MAAM;AAAA,EAChB;AACF;AAEO,SAAS,kBAAkB,OAAwB,QAAsC;AAC9F,MAAI,CAAC,mBAAmB,MAAM,GAAG;AAC/B,UAAM,IAAI;AAAA,MACR,+BAA+B,KAAK,UAAU,MAAM,CAAC,YAAY,oBAAoB,KAAK,IAAI,CAAC;AAAA,IACjG;AAAA,EACF;AACA,MAAI,CAAC,OAAO,SAAS,MAAM,MAAM,KAAK,MAAM,UAAU,KAAK,WAAW,QAAQ;AAC5E,UAAM,UAAU,SAAS,KAAK;AAC9B,WAAO;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,QACJ,QAAQ;AAAA,QACR,QAAQ,QAAQ;AAAA,QAChB,YAAY,QAAQ;AAAA,QACpB,UAAU,QAAQ;AAAA,MACpB;AAAA,IACF;AAAA,EACF;AAEA,QAAM,OAAO,SAAS,KAAK;AAC3B,OAAK,SAAS,MAAM,SAAS;AAC7B,MAAI,WAAW,UAAU;AACvB,UAAM,CAAC,MAAM,GAAG,IAAI,IAAI,KAAK;AAC7B,QAAI,SAAS,UAAa,CAAC,KAAK,WAAW,SAAS,IAAI,GAAG;AACzD,WAAK,aAAa,CAAC,GAAG,KAAK,YAAY,IAAI;AAAA,IAC7C;AACA,SAAK,WAAW;AAAA,EAClB;AACA,SAAO;AAAA,IACL,OAAO;AAAA,IACP,MAAM;AAAA,MACJ;AAAA,MACA,QAAQ,KAAK;AAAA,MACb,YAAY,KAAK;AAAA,MACjB,UAAU,KAAK;AAAA,IACjB;AAAA,EACF;AACF;AAEO,SAAS,cAAc,OAAwB,QAA4C;AAChG,QAAM,QAA+B,CAAC;AACtC,MAAI,UAAU,SAAS,KAAK;AAC5B,SAAO,MAAM;AACX,QAAI,CAAC,OAAO,SAAS,QAAQ,MAAM,KAAK,QAAQ,UAAU,GAAG;AAC3D,YAAM,UAAU,SAAS,OAAO;AAChC,YAAM,KAAK;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ,QAAQ;AAAA,QAChB,YAAY,QAAQ;AAAA,QACpB,UAAU,QAAQ;AAAA,MACpB,CAAC;AACD,aAAO,EAAE,OAAO,SAAS,MAAM;AAAA,IACjC;AACA,UAAM,UAAU,kBAAkB,SAAS,OAAO,OAAO,CAAC;AAC1D,UAAM,KAAK,QAAQ,IAAI;AACvB,cAAU,QAAQ;AAClB,QAAI,QAAQ,KAAK,WAAW,QAAQ;AAClC,aAAO,EAAE,OAAO,SAAS,MAAM;AAAA,IACjC;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,39 @@
1
+ import { RecallNavNode, RecallNavExpandResult, RecallNavTraverseResult } from './recall-navigate.js';
2
+ import './types-CIpfYz1I.js';
3
+ import './message-parts/index.js';
4
+ import './bounded-jsonl-state.js';
5
+ import './operator-doctor-types.js';
6
+ import './external-wiki-config.js';
7
+ import './contradiction-config.js';
8
+ import './graph-path-scoring-config.js';
9
+ import './causal-trajectory.js';
10
+ import './objective-state.js';
11
+ import './active-context-config.js';
12
+ import './types-continuity.js';
13
+
14
+ /**
15
+ * Recall navigation access wrapper (issue #1956 leftover slice).
16
+ *
17
+ * Validates the request, gates the budget, and delegates to the pure
18
+ * helpers in recall-navigate.ts. Never calls orchestrator.recall — the
19
+ * caller supplies the node for `nodeId`.
20
+ */
21
+
22
+ type RecallNavigateAccessAction = "expand" | "traverse";
23
+ interface RecallNavigateAccessRequest {
24
+ action: string;
25
+ nodeId: string;
26
+ budget: number;
27
+ node?: RecallNavNode;
28
+ linkType?: string;
29
+ }
30
+ type RecallNavigateAccessResult = {
31
+ ok: true;
32
+ result: RecallNavExpandResult | RecallNavTraverseResult;
33
+ } | {
34
+ ok: false;
35
+ error: "budget_exhausted" | "unknown_action" | "node_not_found";
36
+ };
37
+ declare function runRecallNavigateAccess(request: RecallNavigateAccessRequest): RecallNavigateAccessResult;
38
+
39
+ export { type RecallNavigateAccessAction, type RecallNavigateAccessRequest, type RecallNavigateAccessResult, runRecallNavigateAccess };
@@ -0,0 +1,31 @@
1
+ import {
2
+ expandRecallNode,
3
+ traverseRecallLink
4
+ } from "./chunk-MAG6M3B6.js";
5
+ import "./chunk-XXW32OL7.js";
6
+ import "./chunk-PZ5AY32C.js";
7
+
8
+ // src/recall-navigate-access.ts
9
+ function runRecallNavigateAccess(request) {
10
+ if (request.action !== "expand" && request.action !== "traverse") {
11
+ return { ok: false, error: "unknown_action" };
12
+ }
13
+ if (!Number.isFinite(request.budget) || request.budget <= 0) {
14
+ return { ok: false, error: "budget_exhausted" };
15
+ }
16
+ const node = request.node;
17
+ if (node === void 0 || node.id !== request.nodeId) {
18
+ return { ok: false, error: "node_not_found" };
19
+ }
20
+ if (request.action === "expand") {
21
+ return { ok: true, result: expandRecallNode(node, { budget: request.budget }) };
22
+ }
23
+ return {
24
+ ok: true,
25
+ result: traverseRecallLink(node, request.linkType ?? "", { budget: request.budget })
26
+ };
27
+ }
28
+ export {
29
+ runRecallNavigateAccess
30
+ };
31
+ //# sourceMappingURL=recall-navigate-access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-navigate-access.ts"],"sourcesContent":["/**\n * Recall navigation access wrapper (issue #1956 leftover slice).\n *\n * Validates the request, gates the budget, and delegates to the pure\n * helpers in recall-navigate.ts. Never calls orchestrator.recall — the\n * caller supplies the node for `nodeId`.\n */\nimport {\n expandRecallNode,\n traverseRecallLink,\n type RecallNavExpandResult,\n type RecallNavNode,\n type RecallNavTraverseResult,\n} from \"./recall-navigate.js\";\n\nexport type RecallNavigateAccessAction = \"expand\" | \"traverse\";\n\nexport interface RecallNavigateAccessRequest {\n action: string;\n nodeId: string;\n budget: number;\n node?: RecallNavNode;\n linkType?: string;\n}\n\nexport type RecallNavigateAccessResult =\n | { ok: true; result: RecallNavExpandResult | RecallNavTraverseResult }\n | { ok: false; error: \"budget_exhausted\" | \"unknown_action\" | \"node_not_found\" };\n\nexport function runRecallNavigateAccess(request: RecallNavigateAccessRequest): RecallNavigateAccessResult {\n if (request.action !== \"expand\" && request.action !== \"traverse\") {\n return { ok: false, error: \"unknown_action\" };\n }\n if (!Number.isFinite(request.budget) || request.budget <= 0) {\n return { ok: false, error: \"budget_exhausted\" };\n }\n const node = request.node;\n if (node === undefined || node.id !== request.nodeId) {\n return { ok: false, error: \"node_not_found\" };\n }\n if (request.action === \"expand\") {\n return { ok: true, result: expandRecallNode(node, { budget: request.budget }) };\n }\n return {\n ok: true,\n result: traverseRecallLink(node, request.linkType ?? \"\", { budget: request.budget }),\n };\n}\n"],"mappings":";;;;;;;;AA6BO,SAAS,wBAAwB,SAAkE;AACxG,MAAI,QAAQ,WAAW,YAAY,QAAQ,WAAW,YAAY;AAChE,WAAO,EAAE,IAAI,OAAO,OAAO,iBAAiB;AAAA,EAC9C;AACA,MAAI,CAAC,OAAO,SAAS,QAAQ,MAAM,KAAK,QAAQ,UAAU,GAAG;AAC3D,WAAO,EAAE,IAAI,OAAO,OAAO,mBAAmB;AAAA,EAChD;AACA,QAAM,OAAO,QAAQ;AACrB,MAAI,SAAS,UAAa,KAAK,OAAO,QAAQ,QAAQ;AACpD,WAAO,EAAE,IAAI,OAAO,OAAO,iBAAiB;AAAA,EAC9C;AACA,MAAI,QAAQ,WAAW,UAAU;AAC/B,WAAO,EAAE,IAAI,MAAM,QAAQ,iBAAiB,MAAM,EAAE,QAAQ,QAAQ,OAAO,CAAC,EAAE;AAAA,EAChF;AACA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ,mBAAmB,MAAM,QAAQ,YAAY,IAAI,EAAE,QAAQ,QAAQ,OAAO,CAAC;AAAA,EACrF;AACF;","names":[]}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Recall navigation action parse (issue #1956 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Unknown or empty is unknown_action.
5
+ */
6
+ declare const NAVIGATE_ACTIONS: readonly ["expand", "traverse"];
7
+ type NavigateAction = (typeof NAVIGATE_ACTIONS)[number];
8
+ type ParseNavigateActionResult = {
9
+ ok: true;
10
+ action: NavigateAction;
11
+ } | {
12
+ ok: false;
13
+ error: "unknown_action";
14
+ };
15
+ declare function parseNavigateAction(value: string): ParseNavigateActionResult;
16
+
17
+ export { type NavigateAction, type ParseNavigateActionResult, parseNavigateAction };
@@ -0,0 +1,14 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-navigate-action.ts
4
+ var NAVIGATE_ACTIONS = ["expand", "traverse"];
5
+ function parseNavigateAction(value) {
6
+ if (NAVIGATE_ACTIONS.includes(value)) {
7
+ return { ok: true, action: value };
8
+ }
9
+ return { ok: false, error: "unknown_action" };
10
+ }
11
+ export {
12
+ parseNavigateAction
13
+ };
14
+ //# sourceMappingURL=recall-navigate-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-navigate-action.ts"],"sourcesContent":["/**\n * Recall navigation action parse (issue #1956 leftover).\n *\n * Pure. Surfaces wait. Unknown or empty is unknown_action.\n */\n\nconst NAVIGATE_ACTIONS = [\"expand\", \"traverse\"] as const;\n\nexport type NavigateAction = (typeof NAVIGATE_ACTIONS)[number];\n\nexport type ParseNavigateActionResult =\n | { ok: true; action: NavigateAction }\n | { ok: false; error: \"unknown_action\" };\n\nexport function parseNavigateAction(value: string): ParseNavigateActionResult {\n if ((NAVIGATE_ACTIONS as readonly string[]).includes(value)) {\n return { ok: true, action: value as NavigateAction };\n }\n return { ok: false, error: \"unknown_action\" };\n}\n"],"mappings":";;;AAMA,IAAM,mBAAmB,CAAC,UAAU,UAAU;AAQvC,SAAS,oBAAoB,OAA0C;AAC5E,MAAK,iBAAuC,SAAS,KAAK,GAAG;AAC3D,WAAO,EAAE,IAAI,MAAM,QAAQ,MAAwB;AAAA,EACrD;AACA,SAAO,EAAE,IAAI,OAAO,OAAO,iBAAiB;AAC9C;","names":[]}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Recall navigation budget take (issue #1956 leftover).
3
+ *
4
+ * Pure. Surfaces wait. Budget 0 or cost above budget is exhausted.
5
+ * Negative budget or cost throws.
6
+ */
7
+ type NavigateBudgetResult = {
8
+ ok: true;
9
+ remaining: number;
10
+ } | {
11
+ ok: false;
12
+ error: "budget_exhausted";
13
+ };
14
+ declare function takeNavigateBudget(budget: number, cost: number): NavigateBudgetResult;
15
+
16
+ export { type NavigateBudgetResult, takeNavigateBudget };
@@ -0,0 +1,18 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-navigate-budget.ts
4
+ function takeNavigateBudget(budget, cost) {
5
+ if (budget < 0 || cost < 0) {
6
+ throw new Error(
7
+ `navigate budget and cost must be non-negative; got budget=${JSON.stringify(budget)} cost=${JSON.stringify(cost)}`
8
+ );
9
+ }
10
+ if (budget === 0 || cost > budget) {
11
+ return { ok: false, error: "budget_exhausted" };
12
+ }
13
+ return { ok: true, remaining: budget - cost };
14
+ }
15
+ export {
16
+ takeNavigateBudget
17
+ };
18
+ //# sourceMappingURL=recall-navigate-budget.js.map