@remnic/core 9.69.0 → 9.69.1

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 (215) hide show
  1. package/dist/access-admin-ops-surface.d.ts +1 -1
  2. package/dist/access-admin-ops-surface.js +19 -19
  3. package/dist/access-authorization-probe.d.ts +1 -1
  4. package/dist/access-authorization-probe.js +20 -20
  5. package/dist/access-boundary.d.ts +1 -1
  6. package/dist/access-boundary.js +19 -19
  7. package/dist/access-cli.js +65 -65
  8. package/dist/access-extraction-force-flush.d.ts +1 -1
  9. package/dist/access-extraction-force-flush.js +19 -19
  10. package/dist/access-http-lcm-compaction.d.ts +1 -1
  11. package/dist/access-http-lifecycle-flush.d.ts +1 -1
  12. package/dist/access-http-offline-stream.d.ts +1 -1
  13. package/dist/access-http-query.js +21 -21
  14. package/dist/access-http.d.ts +2 -2
  15. package/dist/access-http.js +33 -33
  16. package/dist/access-identity-continuity-surface.js +19 -19
  17. package/dist/access-lcm-surface.d.ts +1 -1
  18. package/dist/access-lcm-surface.js +19 -19
  19. package/dist/access-mcp.d.ts +1 -1
  20. package/dist/access-mcp.js +26 -26
  21. package/dist/access-namespace-preflight.js +19 -19
  22. package/dist/access-observe-write-surface.d.ts +1 -1
  23. package/dist/access-observe-write-surface.js +19 -19
  24. package/dist/access-operations-batch.js +20 -20
  25. package/dist/access-operations.d.ts +2 -2
  26. package/dist/access-operations.js +25 -25
  27. package/dist/access-recall-concurrency.d.ts +1 -1
  28. package/dist/access-recall-concurrency.js +19 -19
  29. package/dist/access-recall-response.d.ts +1 -1
  30. package/dist/access-recall-response.js +19 -19
  31. package/dist/access-recall-surface.d.ts +1 -1
  32. package/dist/access-recall-surface.js +19 -19
  33. package/dist/access-service-helpers.d.ts +1 -1
  34. package/dist/access-service.d.ts +1 -1
  35. package/dist/access-service.js +19 -19
  36. package/dist/access-surface-catalog.d.ts +1 -1
  37. package/dist/access-surface-catalog.js +21 -21
  38. package/dist/briefing.js +10 -10
  39. package/dist/causal-consolidation.js +11 -11
  40. package/dist/{chunk-KAY2C6VX.js → chunk-2D7S3FZW.js} +2 -2
  41. package/dist/{chunk-BZ26443Y.js → chunk-2FEBD4LN.js} +89 -41
  42. package/dist/chunk-2FEBD4LN.js.map +1 -0
  43. package/dist/{chunk-HDQQRRCZ.js → chunk-5DSPAWXQ.js} +3 -3
  44. package/dist/{chunk-VLSUKXCJ.js → chunk-5JUSOMNO.js} +3 -3
  45. package/dist/{chunk-P342D5BP.js → chunk-626ILV6J.js} +2 -2
  46. package/dist/{chunk-I6T4SYFW.js → chunk-63Z7D2YJ.js} +3 -3
  47. package/dist/{chunk-XW3G4BJI.js → chunk-6DPAZEGK.js} +7 -7
  48. package/dist/{chunk-XPDWNWH6.js → chunk-6LIILOP3.js} +3 -3
  49. package/dist/{chunk-3IRH5MYM.js → chunk-6OX6SNRC.js} +5 -5
  50. package/dist/{chunk-FOT5GP2U.js → chunk-73CA45TG.js} +2 -2
  51. package/dist/{chunk-2MHMHF76.js → chunk-7GFLU63V.js} +2 -2
  52. package/dist/{chunk-A7NMS5II.js → chunk-7HAZ6GZE.js} +3 -3
  53. package/dist/{chunk-X2NFFBTO.js → chunk-A7GQBJP5.js} +4 -4
  54. package/dist/{chunk-7KG5V4VV.js → chunk-BZFHCRO6.js} +2 -2
  55. package/dist/{chunk-4PEZMGZD.js → chunk-CUQI6DR3.js} +2 -2
  56. package/dist/{chunk-NFITGYMQ.js → chunk-CX6J53S5.js} +3 -3
  57. package/dist/{chunk-DJ7TZLGU.js → chunk-DHXPZZ5U.js} +2 -2
  58. package/dist/{chunk-XZBXINXZ.js → chunk-GIC6BASP.js} +4 -4
  59. package/dist/{chunk-ABPCF4MW.js → chunk-HB3GEHGF.js} +1 -1
  60. package/dist/{chunk-6FUMA6AA.js → chunk-JFPUQ3E2.js} +2 -2
  61. package/dist/{chunk-BTRY6UH3.js → chunk-JMMG5K7H.js} +2 -2
  62. package/dist/{chunk-ZDJMCXC7.js → chunk-JRLDQ6WS.js} +12 -12
  63. package/dist/{chunk-BGD3T743.js → chunk-JRYINMLF.js} +2 -2
  64. package/dist/{chunk-F25CL3IQ.js → chunk-KSTLZCR5.js} +2 -2
  65. package/dist/{chunk-363VZTVH.js → chunk-L5QVIATR.js} +2 -2
  66. package/dist/{chunk-BS5BD3DF.js → chunk-LFGSIMFS.js} +2 -2
  67. package/dist/{chunk-YYAWJRGL.js → chunk-MYMME2VL.js} +2 -2
  68. package/dist/{chunk-RACZB5HT.js → chunk-N37X5RU7.js} +4 -4
  69. package/dist/{chunk-Z2FXSE5P.js → chunk-NFZUZL44.js} +2 -2
  70. package/dist/{chunk-AG46P24C.js → chunk-NNBZS3DY.js} +4 -4
  71. package/dist/{chunk-L7MJJAG2.js → chunk-NRDLOFAI.js} +2 -2
  72. package/dist/{chunk-PIBQIYF2.js → chunk-NX2ECBRG.js} +2 -2
  73. package/dist/{chunk-QOE3EM5Z.js → chunk-PVN6DVWU.js} +8 -8
  74. package/dist/{chunk-327JMA2N.js → chunk-PZY4DLLO.js} +2 -2
  75. package/dist/{chunk-ZVW724ZK.js → chunk-Q4OITLPA.js} +2 -2
  76. package/dist/{chunk-ND6NL2YR.js → chunk-QBZMUF54.js} +2 -2
  77. package/dist/{chunk-25P3LW6U.js → chunk-QLT74C2M.js} +2 -2
  78. package/dist/{chunk-KJUH3QIQ.js → chunk-TITZPONM.js} +2 -2
  79. package/dist/{chunk-YFK64FYK.js → chunk-TPIO36PJ.js} +2 -2
  80. package/dist/{chunk-5UI7WQA6.js → chunk-TX55UTJT.js} +2 -2
  81. package/dist/{chunk-D35XLYQ7.js → chunk-UF65P4GF.js} +6 -6
  82. package/dist/{chunk-BHH736UQ.js → chunk-UJYNT3R2.js} +3 -3
  83. package/dist/{chunk-4PMPOZK3.js → chunk-V5I36Y2F.js} +2 -2
  84. package/dist/{chunk-WQCET3N3.js → chunk-VK7YWP5Q.js} +2 -2
  85. package/dist/{chunk-USQAH6PN.js → chunk-VPYAQYD5.js} +2 -2
  86. package/dist/{chunk-KRNFJKMH.js → chunk-VTEO5T6Z.js} +2 -2
  87. package/dist/{chunk-WSYACIKD.js → chunk-W6PZQY4L.js} +2 -2
  88. package/dist/{chunk-52GQNSLC.js → chunk-WM2N5DRB.js} +7 -7
  89. package/dist/{chunk-ERKFG4RV.js → chunk-XRT7ZG5B.js} +33 -33
  90. package/dist/{chunk-NYQHD7H4.js → chunk-YTWEK6CU.js} +17 -17
  91. package/dist/{cli-CFpMhqz5.d.ts → cli-DDHGtWI1.d.ts} +1 -1
  92. package/dist/cli.d.ts +2 -2
  93. package/dist/cli.js +48 -48
  94. package/dist/coding/export-okf-codegraph.js +10 -10
  95. package/dist/compounding/engine.js +10 -10
  96. package/dist/connectors/codex-materialize-runner.js +10 -10
  97. package/dist/connectors/index.js +10 -10
  98. package/dist/convergence-refresh.js +12 -12
  99. package/dist/corpus-watermark.js +12 -12
  100. package/dist/entity-retrieval.js +10 -10
  101. package/dist/external-wiki-access.d.ts +1 -1
  102. package/dist/external-wiki-access.js +20 -20
  103. package/dist/external-wiki-mcp-tools.d.ts +1 -1
  104. package/dist/extraction.js +10 -10
  105. package/dist/{first-start-migration-KHIMCBIC.js → first-start-migration-UG32BSG2.js} +4 -4
  106. package/dist/harmonic-retrieval.js +1 -1
  107. package/dist/index.d.ts +28 -7
  108. package/dist/index.js +78 -72
  109. package/dist/lcm/engine.js +2 -2
  110. package/dist/lcm/index.js +7 -7
  111. package/dist/location/index.js +12 -12
  112. package/dist/maintenance/memory-governance.js +10 -10
  113. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +10 -10
  114. package/dist/maintenance/rebuild-memory-projection.js +11 -11
  115. package/dist/mcp-memory-inspector-app.d.ts +1 -1
  116. package/dist/memory-subject-cli.d.ts +1 -1
  117. package/dist/memory-subject.d.ts +1 -1
  118. package/dist/namespaces/migrate.js +11 -11
  119. package/dist/namespaces/search.js +7 -7
  120. package/dist/namespaces/storage.js +10 -10
  121. package/dist/operator-doctor-corpus.js +13 -13
  122. package/dist/operator-toolkit.js +18 -18
  123. package/dist/orchestration/maintenance.js +18 -18
  124. package/dist/orchestrator.js +65 -65
  125. package/dist/{public-http-C9-CHc40.d.ts → public-http-Bab7S0ED.d.ts} +1 -1
  126. package/dist/recall-navigate-disclosure.d.ts +44 -0
  127. package/dist/recall-navigate-disclosure.js +30 -0
  128. package/dist/recall-navigate-disclosure.js.map +1 -0
  129. package/dist/recall-state-view-packet.d.ts +30 -0
  130. package/dist/recall-state-view-packet.js +69 -0
  131. package/dist/recall-state-view-packet.js.map +1 -0
  132. package/dist/schemas.d.ts +42 -42
  133. package/dist/search/factory.js +6 -6
  134. package/dist/search/index.js +10 -10
  135. package/dist/search/lancedb-backend.js +2 -2
  136. package/dist/search/meilisearch-backend.js +2 -2
  137. package/dist/search/orama-backend.js +2 -2
  138. package/dist/semantic-consolidation.js +11 -11
  139. package/dist/semantic-rule-promotion.js +10 -10
  140. package/dist/semantic-rule-verifier.js +10 -10
  141. package/dist/source-agent-qualifier.js +10 -10
  142. package/dist/standup/build.js +10 -10
  143. package/dist/storage.js +9 -9
  144. package/dist/support-passport/index.d.ts +4 -4
  145. package/dist/support-passport/index.js +22 -22
  146. package/dist/transfer/export-okf.js +11 -11
  147. package/dist/transfer/types.d.ts +12 -12
  148. package/dist/verified-recall.js +10 -10
  149. package/dist/who-knows-cli.d.ts +1 -1
  150. package/dist/who-knows-cli.js +11 -11
  151. package/dist/who-knows.d.ts +1 -1
  152. package/dist/who-knows.js +10 -10
  153. package/package.json +2 -2
  154. package/src/activity/timeline/index.ts +1 -0
  155. package/src/activity/timeline/week-recurring.test.ts +177 -0
  156. package/src/activity/timeline/week-recurring.ts +88 -0
  157. package/src/dedup/index.ts +7 -0
  158. package/src/dedup/merge-provenance.test.ts +185 -0
  159. package/src/dedup/merge-provenance.ts +151 -0
  160. package/src/recall-navigate-disclosure.test.ts +128 -0
  161. package/src/recall-navigate-disclosure.ts +45 -0
  162. package/src/recall-state-view-packet.test.ts +158 -0
  163. package/src/recall-state-view-packet.ts +128 -0
  164. package/dist/chunk-BZ26443Y.js.map +0 -1
  165. package/dist/{access-service-DcfM0Vf0.d.ts → access-service-CRZHXClX.d.ts} +6 -6
  166. /package/dist/{chunk-KAY2C6VX.js.map → chunk-2D7S3FZW.js.map} +0 -0
  167. /package/dist/{chunk-HDQQRRCZ.js.map → chunk-5DSPAWXQ.js.map} +0 -0
  168. /package/dist/{chunk-VLSUKXCJ.js.map → chunk-5JUSOMNO.js.map} +0 -0
  169. /package/dist/{chunk-P342D5BP.js.map → chunk-626ILV6J.js.map} +0 -0
  170. /package/dist/{chunk-I6T4SYFW.js.map → chunk-63Z7D2YJ.js.map} +0 -0
  171. /package/dist/{chunk-XW3G4BJI.js.map → chunk-6DPAZEGK.js.map} +0 -0
  172. /package/dist/{chunk-XPDWNWH6.js.map → chunk-6LIILOP3.js.map} +0 -0
  173. /package/dist/{chunk-3IRH5MYM.js.map → chunk-6OX6SNRC.js.map} +0 -0
  174. /package/dist/{chunk-FOT5GP2U.js.map → chunk-73CA45TG.js.map} +0 -0
  175. /package/dist/{chunk-2MHMHF76.js.map → chunk-7GFLU63V.js.map} +0 -0
  176. /package/dist/{chunk-A7NMS5II.js.map → chunk-7HAZ6GZE.js.map} +0 -0
  177. /package/dist/{chunk-X2NFFBTO.js.map → chunk-A7GQBJP5.js.map} +0 -0
  178. /package/dist/{chunk-7KG5V4VV.js.map → chunk-BZFHCRO6.js.map} +0 -0
  179. /package/dist/{chunk-4PEZMGZD.js.map → chunk-CUQI6DR3.js.map} +0 -0
  180. /package/dist/{chunk-NFITGYMQ.js.map → chunk-CX6J53S5.js.map} +0 -0
  181. /package/dist/{chunk-DJ7TZLGU.js.map → chunk-DHXPZZ5U.js.map} +0 -0
  182. /package/dist/{chunk-XZBXINXZ.js.map → chunk-GIC6BASP.js.map} +0 -0
  183. /package/dist/{chunk-ABPCF4MW.js.map → chunk-HB3GEHGF.js.map} +0 -0
  184. /package/dist/{chunk-6FUMA6AA.js.map → chunk-JFPUQ3E2.js.map} +0 -0
  185. /package/dist/{chunk-BTRY6UH3.js.map → chunk-JMMG5K7H.js.map} +0 -0
  186. /package/dist/{chunk-ZDJMCXC7.js.map → chunk-JRLDQ6WS.js.map} +0 -0
  187. /package/dist/{chunk-BGD3T743.js.map → chunk-JRYINMLF.js.map} +0 -0
  188. /package/dist/{chunk-F25CL3IQ.js.map → chunk-KSTLZCR5.js.map} +0 -0
  189. /package/dist/{chunk-363VZTVH.js.map → chunk-L5QVIATR.js.map} +0 -0
  190. /package/dist/{chunk-BS5BD3DF.js.map → chunk-LFGSIMFS.js.map} +0 -0
  191. /package/dist/{chunk-YYAWJRGL.js.map → chunk-MYMME2VL.js.map} +0 -0
  192. /package/dist/{chunk-RACZB5HT.js.map → chunk-N37X5RU7.js.map} +0 -0
  193. /package/dist/{chunk-Z2FXSE5P.js.map → chunk-NFZUZL44.js.map} +0 -0
  194. /package/dist/{chunk-AG46P24C.js.map → chunk-NNBZS3DY.js.map} +0 -0
  195. /package/dist/{chunk-L7MJJAG2.js.map → chunk-NRDLOFAI.js.map} +0 -0
  196. /package/dist/{chunk-PIBQIYF2.js.map → chunk-NX2ECBRG.js.map} +0 -0
  197. /package/dist/{chunk-QOE3EM5Z.js.map → chunk-PVN6DVWU.js.map} +0 -0
  198. /package/dist/{chunk-327JMA2N.js.map → chunk-PZY4DLLO.js.map} +0 -0
  199. /package/dist/{chunk-ZVW724ZK.js.map → chunk-Q4OITLPA.js.map} +0 -0
  200. /package/dist/{chunk-ND6NL2YR.js.map → chunk-QBZMUF54.js.map} +0 -0
  201. /package/dist/{chunk-25P3LW6U.js.map → chunk-QLT74C2M.js.map} +0 -0
  202. /package/dist/{chunk-KJUH3QIQ.js.map → chunk-TITZPONM.js.map} +0 -0
  203. /package/dist/{chunk-YFK64FYK.js.map → chunk-TPIO36PJ.js.map} +0 -0
  204. /package/dist/{chunk-5UI7WQA6.js.map → chunk-TX55UTJT.js.map} +0 -0
  205. /package/dist/{chunk-D35XLYQ7.js.map → chunk-UF65P4GF.js.map} +0 -0
  206. /package/dist/{chunk-BHH736UQ.js.map → chunk-UJYNT3R2.js.map} +0 -0
  207. /package/dist/{chunk-4PMPOZK3.js.map → chunk-V5I36Y2F.js.map} +0 -0
  208. /package/dist/{chunk-WQCET3N3.js.map → chunk-VK7YWP5Q.js.map} +0 -0
  209. /package/dist/{chunk-USQAH6PN.js.map → chunk-VPYAQYD5.js.map} +0 -0
  210. /package/dist/{chunk-KRNFJKMH.js.map → chunk-VTEO5T6Z.js.map} +0 -0
  211. /package/dist/{chunk-WSYACIKD.js.map → chunk-W6PZQY4L.js.map} +0 -0
  212. /package/dist/{chunk-52GQNSLC.js.map → chunk-WM2N5DRB.js.map} +0 -0
  213. /package/dist/{chunk-ERKFG4RV.js.map → chunk-XRT7ZG5B.js.map} +0 -0
  214. /package/dist/{chunk-NYQHD7H4.js.map → chunk-YTWEK6CU.js.map} +0 -0
  215. /package/dist/{first-start-migration-KHIMCBIC.js.map → first-start-migration-UG32BSG2.js.map} +0 -0
@@ -3,53 +3,53 @@ import {
3
3
  blendGraphExpandedRecallScore,
4
4
  graphPathRelativeToStorage,
5
5
  mergeGraphExpandedResults
6
- } from "./chunk-BZ26443Y.js";
6
+ } from "./chunk-2FEBD4LN.js";
7
7
  import "./chunk-3TSU662L.js";
8
- import "./chunk-F25CL3IQ.js";
8
+ import "./chunk-KSTLZCR5.js";
9
9
  import {
10
10
  formatCompressionGuidelinesForRecall
11
11
  } from "./chunk-UXREWVW4.js";
12
- import "./chunk-52GQNSLC.js";
12
+ import "./chunk-WM2N5DRB.js";
13
13
  import "./chunk-I74SUMNI.js";
14
14
  import "./chunk-ILNPU5W5.js";
15
15
  import "./chunk-7HYPN2GC.js";
16
+ import "./chunk-2D7S3FZW.js";
16
17
  import "./chunk-666A3MOW.js";
17
18
  import "./chunk-VDC6RZI4.js";
18
- import "./chunk-X2NFFBTO.js";
19
+ import "./chunk-UWK5OXUJ.js";
20
+ import "./chunk-A7GQBJP5.js";
21
+ import "./chunk-7N4KAIGN.js";
19
22
  import "./chunk-TPDBFYEG.js";
20
23
  import "./chunk-UXPUUL3G.js";
21
24
  import "./chunk-DDA47TES.js";
22
25
  import "./chunk-KOLJJN5G.js";
23
- import "./chunk-UWK5OXUJ.js";
24
- import "./chunk-KAY2C6VX.js";
26
+ import "./chunk-WVP2I6C5.js";
27
+ import "./chunk-TECVW3JP.js";
25
28
  import "./chunk-C5JF6EZ7.js";
26
29
  import "./chunk-KBL3JJR6.js";
27
30
  import "./chunk-FQ7HAWWC.js";
28
- import "./chunk-WVP2I6C5.js";
29
- import "./chunk-7N4KAIGN.js";
30
- import "./chunk-WSYACIKD.js";
31
+ import "./chunk-W6PZQY4L.js";
31
32
  import "./chunk-VI637ILW.js";
32
33
  import "./chunk-V5OCT34X.js";
33
- import "./chunk-TECVW3JP.js";
34
- import "./chunk-ND6NL2YR.js";
34
+ import "./chunk-QBZMUF54.js";
35
35
  import "./chunk-47DU4SGJ.js";
36
36
  import "./chunk-SEF4IOFE.js";
37
+ import "./chunk-DD5JFCWM.js";
38
+ import "./chunk-ECZU5BJH.js";
37
39
  import "./chunk-KVDUKH5E.js";
38
40
  import "./chunk-2NKY7OC6.js";
39
41
  import "./chunk-4EX5WZ4M.js";
40
42
  import "./chunk-YRFAYOFQ.js";
41
- import "./chunk-DD5JFCWM.js";
42
- import "./chunk-ECZU5BJH.js";
43
43
  import "./chunk-HCM7ZYJD.js";
44
44
  import "./chunk-6DNMUYEE.js";
45
45
  import "./chunk-T67LUYCR.js";
46
46
  import "./chunk-ODZKV2F7.js";
47
+ import "./chunk-5IZL4DCV.js";
47
48
  import "./chunk-N4F7ZSSG.js";
48
49
  import "./chunk-LUDXM7MD.js";
49
50
  import "./chunk-6TCXIRP5.js";
50
51
  import "./chunk-QJ622LTI.js";
51
52
  import "./chunk-ZOKZIR5K.js";
52
- import "./chunk-5IZL4DCV.js";
53
53
  import "./chunk-X7XN6YU4.js";
54
54
  import "./chunk-KATEWTQJ.js";
55
55
  import "./chunk-FYDW33ZB.js";
@@ -96,7 +96,7 @@ import "./chunk-LUPVCGYK.js";
96
96
  import "./chunk-BUYVPUEM.js";
97
97
  import "./chunk-IAIPNEHD.js";
98
98
  import "./chunk-DGFU5MSX.js";
99
- import "./chunk-5UI7WQA6.js";
99
+ import "./chunk-TX55UTJT.js";
100
100
  import "./chunk-GKUA4MGB.js";
101
101
  import "./chunk-5AUY5Z5E.js";
102
102
  import "./chunk-SVH57F5Z.js";
@@ -107,12 +107,13 @@ import "./chunk-VEWZZM3H.js";
107
107
  import "./chunk-VY47VI2T.js";
108
108
  import "./chunk-PYIR4SSB.js";
109
109
  import "./chunk-DFEODULB.js";
110
- import "./chunk-25P3LW6U.js";
111
- import "./chunk-ERKFG4RV.js";
112
- import "./chunk-MMACM5G2.js";
110
+ import "./chunk-QLT74C2M.js";
111
+ import "./chunk-XRT7ZG5B.js";
113
112
  import "./chunk-54BGIBCR.js";
114
113
  import "./chunk-H4CKS5B2.js";
114
+ import "./chunk-MMACM5G2.js";
115
115
  import "./chunk-FXZTL7F7.js";
116
+ import "./chunk-CX6J53S5.js";
116
117
  import "./chunk-BV2TIZ4F.js";
117
118
  import "./chunk-HDDRVXX4.js";
118
119
  import "./chunk-PYHOAXTI.js";
@@ -121,51 +122,50 @@ import "./chunk-OZKVVUJB.js";
121
122
  import "./chunk-2DL3OFLD.js";
122
123
  import "./chunk-G4IAEX6D.js";
123
124
  import "./chunk-2NLLXCJG.js";
124
- import "./chunk-UP6MOYCB.js";
125
125
  import "./chunk-765K3SAT.js";
126
- import "./chunk-NFITGYMQ.js";
126
+ import "./chunk-UP6MOYCB.js";
127
127
  import "./chunk-FGDKJJZS.js";
128
128
  import "./chunk-AJVLDJU6.js";
129
129
  import "./chunk-TBUEE7XF.js";
130
130
  import "./chunk-EEC4PCG5.js";
131
131
  import "./chunk-PYIFUBRK.js";
132
+ import "./chunk-LFGSIMFS.js";
132
133
  import "./chunk-DQTCGVFK.js";
133
134
  import "./chunk-YLBE6PLR.js";
134
135
  import "./chunk-IIFFC3RL.js";
135
136
  import "./chunk-AXFWMRKI.js";
136
- import "./chunk-BS5BD3DF.js";
137
- import "./chunk-Z2FXSE5P.js";
138
- import "./chunk-CDKHKZL5.js";
139
137
  import "./chunk-HSSERO3E.js";
140
138
  import "./chunk-NOUJNHWG.js";
139
+ import "./chunk-NFZUZL44.js";
140
+ import "./chunk-CDKHKZL5.js";
141
+ import "./chunk-73CA45TG.js";
141
142
  import "./chunk-HL4DB7TO.js";
142
143
  import "./chunk-HDQUQBPW.js";
143
144
  import "./chunk-6FC3IZ26.js";
144
- import "./chunk-FOT5GP2U.js";
145
145
  import "./chunk-OJP3N7UK.js";
146
- import "./chunk-2MHMHF76.js";
147
- import "./chunk-WQCET3N3.js";
146
+ import "./chunk-7GFLU63V.js";
147
+ import "./chunk-VK7YWP5Q.js";
148
148
  import "./chunk-52I6AHO6.js";
149
149
  import "./chunk-NRLELHAY.js";
150
150
  import "./chunk-AM4T6CHX.js";
151
151
  import "./chunk-X5PIDJ3L.js";
152
152
  import "./chunk-3T74IZB3.js";
153
153
  import "./chunk-2LA3H54D.js";
154
- import "./chunk-XW3G4BJI.js";
155
- import "./chunk-HDQQRRCZ.js";
154
+ import "./chunk-6DPAZEGK.js";
155
+ import "./chunk-5DSPAWXQ.js";
156
156
  import "./chunk-KFY3SGN7.js";
157
157
  import "./chunk-CMTINOFS.js";
158
- import "./chunk-USQAH6PN.js";
158
+ import "./chunk-VPYAQYD5.js";
159
159
  import "./chunk-RMMVQQA6.js";
160
160
  import "./chunk-UR6PBX2J.js";
161
161
  import "./chunk-6GUG4YNM.js";
162
162
  import "./chunk-UOBPK2OS.js";
163
- import "./chunk-ABPCF4MW.js";
163
+ import "./chunk-HB3GEHGF.js";
164
164
  import "./chunk-C7SRUWBW.js";
165
165
  import "./chunk-OZKOPQCM.js";
166
166
  import "./chunk-MCA2X4WH.js";
167
167
  import "./chunk-CIO7GCWE.js";
168
- import "./chunk-A7NMS5II.js";
168
+ import "./chunk-7HAZ6GZE.js";
169
169
  import "./chunk-KJTKLXTH.js";
170
170
  import "./chunk-2DQ2XREU.js";
171
171
  import "./chunk-ACPCA4NO.js";
@@ -177,7 +177,7 @@ import "./chunk-OKTXM5H4.js";
177
177
  import "./chunk-DUAJKRR2.js";
178
178
  import "./chunk-NOB2T2FC.js";
179
179
  import "./chunk-3I4FUAVJ.js";
180
- import "./chunk-ZVW724ZK.js";
180
+ import "./chunk-Q4OITLPA.js";
181
181
  import "./chunk-5JMAGU26.js";
182
182
  import "./chunk-YBPYIAA5.js";
183
183
  import "./chunk-HK6KYIF6.js";
@@ -216,8 +216,9 @@ import "./chunk-JI7U6AS3.js";
216
216
  import "./chunk-KFZY2OFH.js";
217
217
  import "./chunk-B32WYRXX.js";
218
218
  import "./chunk-QW27DOHG.js";
219
- import "./chunk-ZDJMCXC7.js";
219
+ import "./chunk-JRLDQ6WS.js";
220
220
  import "./chunk-V7IZKJI3.js";
221
+ import "./chunk-TB6CBZ5V.js";
221
222
  import "./chunk-SEDEKFYQ.js";
222
223
  import "./chunk-RKNJBZ55.js";
223
224
  import "./chunk-J64TK33U.js";
@@ -225,23 +226,22 @@ import "./chunk-RSUYKGGZ.js";
225
226
  import "./chunk-42NQ7AVG.js";
226
227
  import "./chunk-TMSXWOBZ.js";
227
228
  import "./chunk-7RXCMVFQ.js";
228
- import "./chunk-TB6CBZ5V.js";
229
229
  import "./chunk-3HSRWJTC.js";
230
- import "./chunk-363VZTVH.js";
231
- import "./chunk-PIBQIYF2.js";
232
- import "./chunk-VLSUKXCJ.js";
230
+ import "./chunk-L5QVIATR.js";
231
+ import "./chunk-NX2ECBRG.js";
232
+ import "./chunk-5JUSOMNO.js";
233
233
  import "./chunk-4OFKZAJG.js";
234
234
  import "./chunk-A5KNZSNA.js";
235
235
  import "./chunk-D24OXEPB.js";
236
- import "./chunk-3IRH5MYM.js";
237
- import "./chunk-4PMPOZK3.js";
238
- import "./chunk-KRNFJKMH.js";
239
- import "./chunk-XPDWNWH6.js";
240
- import "./chunk-KJUH3QIQ.js";
236
+ import "./chunk-6OX6SNRC.js";
237
+ import "./chunk-V5I36Y2F.js";
238
+ import "./chunk-VTEO5T6Z.js";
239
+ import "./chunk-6LIILOP3.js";
240
+ import "./chunk-TITZPONM.js";
241
241
  import "./chunk-7T4TOGMS.js";
242
242
  import "./chunk-7YQ6ESEA.js";
243
243
  import "./chunk-ZQUVBZI4.js";
244
- import "./chunk-BHH736UQ.js";
244
+ import "./chunk-UJYNT3R2.js";
245
245
  import "./chunk-LTBKKSCX.js";
246
246
  import "./chunk-EQWEIIKQ.js";
247
247
  import "./chunk-JTWZKNUH.js";
@@ -250,8 +250,8 @@ import "./chunk-CTVWELNK.js";
250
250
  import "./chunk-CEN6DW6X.js";
251
251
  import "./chunk-E4RMZGRS.js";
252
252
  import "./chunk-D6Q5EPOV.js";
253
- import "./chunk-327JMA2N.js";
254
- import "./chunk-P342D5BP.js";
253
+ import "./chunk-PZY4DLLO.js";
254
+ import "./chunk-626ILV6J.js";
255
255
  import "./chunk-AB3A7EFH.js";
256
256
  import "./chunk-K4E3Y3ZX.js";
257
257
  import "./chunk-SRT6SHVZ.js";
@@ -260,22 +260,22 @@ import "./chunk-GZ3R6XOE.js";
260
260
  import "./chunk-CK5KOVHW.js";
261
261
  import "./chunk-DJUKBGAD.js";
262
262
  import "./chunk-G73MCJKL.js";
263
- import "./chunk-L7MJJAG2.js";
263
+ import "./chunk-NRDLOFAI.js";
264
264
  import {
265
265
  filterRecallCandidates,
266
266
  hasIdentityRecoveryIntent,
267
267
  resolveEffectiveIdentityInjectionMode
268
- } from "./chunk-NYQHD7H4.js";
268
+ } from "./chunk-YTWEK6CU.js";
269
269
  import "./chunk-GDASG7NC.js";
270
270
  import "./chunk-GDB4J2H3.js";
271
271
  import "./chunk-J2R275FN.js";
272
272
  import "./chunk-QJCWK2A7.js";
273
273
  import "./chunk-VQ7B2Q6M.js";
274
- import "./chunk-7KG5V4VV.js";
275
274
  import "./chunk-PJSK6OJM.js";
275
+ import "./chunk-BZFHCRO6.js";
276
+ import "./chunk-5QZR2RA3.js";
276
277
  import "./chunk-GNVZQ5JN.js";
277
278
  import "./chunk-YN2UN7N3.js";
278
- import "./chunk-5QZR2RA3.js";
279
279
  import "./chunk-P5FPO2BR.js";
280
280
  import "./chunk-S4DDLTPX.js";
281
281
  import "./chunk-ZVZHG7AI.js";
@@ -283,7 +283,7 @@ import "./chunk-H7XKCNR6.js";
283
283
  import "./chunk-H6RSANGQ.js";
284
284
  import "./chunk-SOBJ6NEY.js";
285
285
  import "./chunk-LK4TOYPU.js";
286
- import "./chunk-BGD3T743.js";
286
+ import "./chunk-JRYINMLF.js";
287
287
  import "./chunk-CVILPI77.js";
288
288
  import "./chunk-2HIJHXB3.js";
289
289
  import "./chunk-AQEJKOKI.js";
@@ -304,33 +304,33 @@ import "./chunk-LTHVM4XN.js";
304
304
  import "./chunk-X5YYSAZX.js";
305
305
  import "./chunk-C37ZRXX7.js";
306
306
  import "./chunk-7ZNJN5WZ.js";
307
- import "./chunk-4PEZMGZD.js";
308
- import "./chunk-BTRY6UH3.js";
309
- import "./chunk-I6T4SYFW.js";
310
- import "./chunk-YYAWJRGL.js";
307
+ import "./chunk-CUQI6DR3.js";
308
+ import "./chunk-JMMG5K7H.js";
309
+ import "./chunk-63Z7D2YJ.js";
310
+ import "./chunk-MYMME2VL.js";
311
311
  import "./chunk-UFGFMWAD.js";
312
- import "./chunk-DJ7TZLGU.js";
312
+ import "./chunk-DHXPZZ5U.js";
313
313
  import "./chunk-3UXOZBHV.js";
314
314
  import "./chunk-ZXBTTMGZ.js";
315
315
  import "./chunk-YMOPYG3K.js";
316
316
  import "./chunk-2LSZVONP.js";
317
317
  import "./chunk-DEUNUKTD.js";
318
318
  import "./chunk-LXY5VVGM.js";
319
- import "./chunk-YFK64FYK.js";
320
- import "./chunk-QOE3EM5Z.js";
321
- import "./chunk-UHVXE24Y.js";
319
+ import "./chunk-TPIO36PJ.js";
320
+ import "./chunk-PVN6DVWU.js";
322
321
  import "./chunk-4ZWCQJNM.js";
322
+ import "./chunk-UHVXE24Y.js";
323
323
  import "./chunk-WVGXCBOC.js";
324
- import "./chunk-6FUMA6AA.js";
325
- import "./chunk-D35XLYQ7.js";
324
+ import "./chunk-JFPUQ3E2.js";
325
+ import "./chunk-UF65P4GF.js";
326
+ import "./chunk-GIC6BASP.js";
326
327
  import "./chunk-YQNNHLCG.js";
327
328
  import "./chunk-6KTXE6A3.js";
328
- import "./chunk-RACZB5HT.js";
329
- import "./chunk-AG46P24C.js";
330
- import "./chunk-CYEPCZN5.js";
331
- import "./chunk-XZBXINXZ.js";
332
- import "./chunk-GUMZC2BO.js";
329
+ import "./chunk-N37X5RU7.js";
330
+ import "./chunk-NNBZS3DY.js";
333
331
  import "./chunk-W7IGLX4G.js";
332
+ import "./chunk-GUMZC2BO.js";
333
+ import "./chunk-CYEPCZN5.js";
334
334
  import "./chunk-227UFSEQ.js";
335
335
  import "./chunk-ET356KSB.js";
336
336
  import "./chunk-72A4L5JJ.js";
@@ -1,5 +1,5 @@
1
1
  import { IncomingMessage, ServerResponse } from 'node:http';
2
- import { f as EngramAccessService } from './access-service-DcfM0Vf0.js';
2
+ import { f as EngramAccessService } from './access-service-CRZHXClX.js';
3
3
 
4
4
  declare const SUPPORT_PASSPORT_PUBLIC_HTTP_ROUTES: readonly [{
5
5
  readonly method: "GET";
@@ -0,0 +1,44 @@
1
+ import { o as RecallDisclosure } from './types-eM7QIcX2.js';
2
+ import './message-parts/index.js';
3
+ import './bounded-jsonl-state.js';
4
+ import './operator-doctor-types.js';
5
+ import './external-wiki-config.js';
6
+ import './contradiction-config.js';
7
+ import './graph-path-scoring-config.js';
8
+ import './causal-trajectory.js';
9
+ import './objective-state.js';
10
+ import './active-context-config.js';
11
+ import './types-continuity.js';
12
+
13
+ /**
14
+ * Disclosure-step planning for recall navigation (issue #1956).
15
+ *
16
+ * The ladder itself is NOT redefined here: `types.ts` designates
17
+ * `RECALL_DISCLOSURE_LEVELS` the single source of truth and forbids
18
+ * hard-coding disclosure strings elsewhere, so a second copy could drift out
19
+ * of agreement with recall validation and rendering. This module only adds
20
+ * the rule that an expansion must go strictly deeper, so a caller cannot
21
+ * re-pay recall budget for output it already holds. Pure — no I/O.
22
+ */
23
+
24
+ type DisclosureStepResult = {
25
+ ok: true;
26
+ from: RecallDisclosure;
27
+ to: RecallDisclosure;
28
+ steps: number;
29
+ } | {
30
+ ok: false;
31
+ error: "unknown_level" | "not_deeper";
32
+ };
33
+ /** Index in the canonical shallow-to-deep ladder. Throws for a non-level. */
34
+ declare function disclosureRank(level: string): number;
35
+ /**
36
+ * Plan one expansion. A bad level from an agent is a typed refusal rather
37
+ * than a throw; equal or shallower targets are `not_deeper`.
38
+ */
39
+ declare function planDisclosureStep(input: {
40
+ from: string;
41
+ to: string;
42
+ }): DisclosureStepResult;
43
+
44
+ export { type DisclosureStepResult, disclosureRank, planDisclosureStep };
@@ -0,0 +1,30 @@
1
+ import {
2
+ RECALL_DISCLOSURE_LEVELS,
3
+ isRecallDisclosure
4
+ } from "./chunk-XXW32OL7.js";
5
+ import "./chunk-PZ5AY32C.js";
6
+
7
+ // src/recall-navigate-disclosure.ts
8
+ function disclosureRank(level) {
9
+ const index = RECALL_DISCLOSURE_LEVELS.indexOf(level);
10
+ if (index < 0) {
11
+ throw new RangeError(
12
+ `unknown disclosure level ${JSON.stringify(level)}; expected one of ${RECALL_DISCLOSURE_LEVELS.join(", ")}`
13
+ );
14
+ }
15
+ return index;
16
+ }
17
+ function planDisclosureStep(input) {
18
+ if (!isRecallDisclosure(input.from) || !isRecallDisclosure(input.to)) {
19
+ return { ok: false, error: "unknown_level" };
20
+ }
21
+ const fromRank = disclosureRank(input.from);
22
+ const toRank = disclosureRank(input.to);
23
+ if (toRank <= fromRank) return { ok: false, error: "not_deeper" };
24
+ return { ok: true, from: input.from, to: input.to, steps: toRank - fromRank };
25
+ }
26
+ export {
27
+ disclosureRank,
28
+ planDisclosureStep
29
+ };
30
+ //# sourceMappingURL=recall-navigate-disclosure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-navigate-disclosure.ts"],"sourcesContent":["/**\n * Disclosure-step planning for recall navigation (issue #1956).\n *\n * The ladder itself is NOT redefined here: `types.ts` designates\n * `RECALL_DISCLOSURE_LEVELS` the single source of truth and forbids\n * hard-coding disclosure strings elsewhere, so a second copy could drift out\n * of agreement with recall validation and rendering. This module only adds\n * the rule that an expansion must go strictly deeper, so a caller cannot\n * re-pay recall budget for output it already holds. Pure — no I/O.\n */\n\nimport {\n isRecallDisclosure,\n RECALL_DISCLOSURE_LEVELS,\n type RecallDisclosure,\n} from \"./types.js\";\n\nexport type DisclosureStepResult =\n | { ok: true; from: RecallDisclosure; to: RecallDisclosure; steps: number }\n | { ok: false; error: \"unknown_level\" | \"not_deeper\" };\n\n/** Index in the canonical shallow-to-deep ladder. Throws for a non-level. */\nexport function disclosureRank(level: string): number {\n const index = (RECALL_DISCLOSURE_LEVELS as readonly string[]).indexOf(level);\n if (index < 0) {\n throw new RangeError(\n `unknown disclosure level ${JSON.stringify(level)}; expected one of ${RECALL_DISCLOSURE_LEVELS.join(\", \")}`,\n );\n }\n return index;\n}\n\n/**\n * Plan one expansion. A bad level from an agent is a typed refusal rather\n * than a throw; equal or shallower targets are `not_deeper`.\n */\nexport function planDisclosureStep(input: { from: string; to: string }): DisclosureStepResult {\n if (!isRecallDisclosure(input.from) || !isRecallDisclosure(input.to)) {\n return { ok: false, error: \"unknown_level\" };\n }\n const fromRank = disclosureRank(input.from);\n const toRank = disclosureRank(input.to);\n if (toRank <= fromRank) return { ok: false, error: \"not_deeper\" };\n return { ok: true, from: input.from, to: input.to, steps: toRank - fromRank };\n}\n"],"mappings":";;;;;;;AAsBO,SAAS,eAAe,OAAuB;AACpD,QAAM,QAAS,yBAA+C,QAAQ,KAAK;AAC3E,MAAI,QAAQ,GAAG;AACb,UAAM,IAAI;AAAA,MACR,4BAA4B,KAAK,UAAU,KAAK,CAAC,qBAAqB,yBAAyB,KAAK,IAAI,CAAC;AAAA,IAC3G;AAAA,EACF;AACA,SAAO;AACT;AAMO,SAAS,mBAAmB,OAA2D;AAC5F,MAAI,CAAC,mBAAmB,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,GAAG;AACpE,WAAO,EAAE,IAAI,OAAO,OAAO,gBAAgB;AAAA,EAC7C;AACA,QAAM,WAAW,eAAe,MAAM,IAAI;AAC1C,QAAM,SAAS,eAAe,MAAM,EAAE;AACtC,MAAI,UAAU,SAAU,QAAO,EAAE,IAAI,OAAO,OAAO,aAAa;AAChE,SAAO,EAAE,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,MAAM,IAAI,OAAO,SAAS,SAAS;AAC9E;","names":[]}
@@ -0,0 +1,30 @@
1
+ import { StateLabel } from './recall-state-view.js';
2
+
3
+ /**
4
+ * Recall state-view evidence packets (issue #1952).
5
+ *
6
+ * Groups labeled state-view entries into per-head evidence packets so
7
+ * superseded records stay visible as ordered history instead of being
8
+ * hidden or interleaved with another packet's entries. Pure. Surfaces wait.
9
+ */
10
+
11
+ interface StateViewEntry {
12
+ memoryId: string;
13
+ stateLabel: StateLabel;
14
+ /** Id of the entry that superseded this one, when any. */
15
+ supersededById?: string;
16
+ }
17
+ interface StateEvidencePacket {
18
+ /** The current (or transition) entry this packet is about. */
19
+ headId: string;
20
+ /** Predecessors, nearest to head first. Never interleaved with other packets. */
21
+ historyIds: string[];
22
+ }
23
+ interface StateEvidencePackets {
24
+ packets: StateEvidencePacket[];
25
+ /** Historical entries whose successor is absent from the input. */
26
+ orphanHistoryIds: string[];
27
+ }
28
+ declare function buildStateEvidencePackets(entries: readonly StateViewEntry[]): StateEvidencePackets;
29
+
30
+ export { type StateEvidencePacket, type StateEvidencePackets, StateLabel, type StateViewEntry, buildStateEvidencePackets };
@@ -0,0 +1,69 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/recall-state-view-packet.ts
4
+ var STATE_LABELS = ["current", "historical", "transition"];
5
+ function resolveHead(entry, byId) {
6
+ const visited = /* @__PURE__ */ new Set();
7
+ let current = entry;
8
+ let depth = 0;
9
+ for (; ; ) {
10
+ const successorId = current.supersededById;
11
+ if (successorId === void 0 || successorId.trim() === "") return void 0;
12
+ const successor = byId.get(successorId);
13
+ if (successor === void 0) return void 0;
14
+ depth += 1;
15
+ if (successor.stateLabel !== "historical") return { headId: successorId, depth };
16
+ if (visited.has(successorId)) return void 0;
17
+ visited.add(successorId);
18
+ current = successor;
19
+ }
20
+ }
21
+ function compareStrings(a, b) {
22
+ return a < b ? -1 : a > b ? 1 : 0;
23
+ }
24
+ function compareAttachments(a, b) {
25
+ if (a.headId !== b.headId) return compareStrings(a.headId, b.headId);
26
+ if (a.depth !== b.depth) return a.depth < b.depth ? -1 : 1;
27
+ return compareStrings(a.historyId, b.historyId);
28
+ }
29
+ function buildStateEvidencePackets(entries) {
30
+ for (const entry of entries) {
31
+ if (!STATE_LABELS.includes(entry.stateLabel)) {
32
+ throw new TypeError(
33
+ `unknown state label ${JSON.stringify(entry.stateLabel)}; expected one of "current", "historical", "transition"`
34
+ );
35
+ }
36
+ }
37
+ const byId = /* @__PURE__ */ new Map();
38
+ for (const entry of entries) {
39
+ if (typeof entry.memoryId !== "string" || entry.memoryId.trim() === "") continue;
40
+ if (!byId.has(entry.memoryId)) byId.set(entry.memoryId, entry);
41
+ }
42
+ const packets = [];
43
+ const packetByHead = /* @__PURE__ */ new Map();
44
+ const attachments = [];
45
+ const orphanHistoryIds = [];
46
+ for (const [id, entry] of byId) {
47
+ if (entry.stateLabel !== "historical") {
48
+ const packet = { headId: id, historyIds: [] };
49
+ packetByHead.set(id, packet);
50
+ packets.push(packet);
51
+ continue;
52
+ }
53
+ const head = resolveHead(entry, byId);
54
+ if (head === void 0) orphanHistoryIds.push(id);
55
+ else attachments.push({ headId: head.headId, historyId: id, depth: head.depth });
56
+ }
57
+ attachments.sort(compareAttachments);
58
+ for (const attachment of attachments) {
59
+ const packet = packetByHead.get(attachment.headId);
60
+ if (packet) packet.historyIds.push(attachment.historyId);
61
+ }
62
+ packets.sort((a, b) => compareStrings(a.headId, b.headId));
63
+ orphanHistoryIds.sort(compareStrings);
64
+ return { packets, orphanHistoryIds };
65
+ }
66
+ export {
67
+ buildStateEvidencePackets
68
+ };
69
+ //# sourceMappingURL=recall-state-view-packet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/recall-state-view-packet.ts"],"sourcesContent":["/**\n * Recall state-view evidence packets (issue #1952).\n *\n * Groups labeled state-view entries into per-head evidence packets so\n * superseded records stay visible as ordered history instead of being\n * hidden or interleaved with another packet's entries. Pure. Surfaces wait.\n */\nimport type { StateLabel } from \"./recall-state-view.js\";\n\nexport type { StateLabel };\n\nexport interface StateViewEntry {\n memoryId: string;\n stateLabel: StateLabel;\n /** Id of the entry that superseded this one, when any. */\n supersededById?: string;\n}\n\nexport interface StateEvidencePacket {\n /** The current (or transition) entry this packet is about. */\n headId: string;\n /** Predecessors, nearest to head first. Never interleaved with other packets. */\n historyIds: string[];\n}\n\nexport interface StateEvidencePackets {\n packets: StateEvidencePacket[];\n /** Historical entries whose successor is absent from the input. */\n orphanHistoryIds: string[];\n}\n\nconst STATE_LABELS: readonly StateLabel[] = [\"current\", \"historical\", \"transition\"];\n\ninterface HeadResolution {\n headId: string;\n depth: number;\n}\n\ninterface Attachment {\n headId: string;\n historyId: string;\n depth: number;\n}\n\n/**\n * Walk supersededById forward through intermediate historical entries and\n * stop at the first current/transition successor. Returns undefined when the\n * walk dead-ends (no or blank successor, successor id absent from the input)\n * or revisits an id (cycle), so callers treat the entry as an orphan.\n */\nfunction resolveHead(\n entry: StateViewEntry,\n byId: ReadonlyMap<string, StateViewEntry>,\n): HeadResolution | undefined {\n const visited = new Set<string>();\n let current = entry;\n let depth = 0;\n for (;;) {\n const successorId = current.supersededById;\n if (successorId === undefined || successorId.trim() === \"\") return undefined;\n const successor = byId.get(successorId);\n if (successor === undefined) return undefined;\n depth += 1;\n if (successor.stateLabel !== \"historical\") return { headId: successorId, depth };\n if (visited.has(successorId)) return undefined;\n visited.add(successorId);\n current = successor;\n }\n}\n\nfunction compareStrings(a: string, b: string): number {\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\nfunction compareAttachments(a: Attachment, b: Attachment): number {\n if (a.headId !== b.headId) return compareStrings(a.headId, b.headId);\n if (a.depth !== b.depth) return a.depth < b.depth ? -1 : 1;\n return compareStrings(a.historyId, b.historyId);\n}\n\nexport function buildStateEvidencePackets(\n entries: readonly StateViewEntry[],\n): StateEvidencePackets {\n // Validate every label before any skip, dedup, or walk.\n for (const entry of entries) {\n if (!(STATE_LABELS as readonly string[]).includes(entry.stateLabel)) {\n throw new TypeError(\n `unknown state label ${JSON.stringify(entry.stateLabel)}; expected one of \"current\", \"historical\", \"transition\"`,\n );\n }\n }\n\n // Blank ids are ignored; on duplicate ids the first entry wins.\n const byId = new Map<string, StateViewEntry>();\n for (const entry of entries) {\n if (typeof entry.memoryId !== \"string\" || entry.memoryId.trim() === \"\") continue;\n if (!byId.has(entry.memoryId)) byId.set(entry.memoryId, entry);\n }\n\n // ponytail: per-entry chain walks are O(n^2) on one long chain; recall-sized\n // result sets stay tiny, memoize if packet building ever moves offline.\n const packets: StateEvidencePacket[] = [];\n const packetByHead = new Map<string, StateEvidencePacket>();\n const attachments: Attachment[] = [];\n const orphanHistoryIds: string[] = [];\n\n for (const [id, entry] of byId) {\n if (entry.stateLabel !== \"historical\") {\n const packet: StateEvidencePacket = { headId: id, historyIds: [] };\n packetByHead.set(id, packet);\n packets.push(packet);\n continue;\n }\n const head = resolveHead(entry, byId);\n if (head === undefined) orphanHistoryIds.push(id);\n else attachments.push({ headId: head.headId, historyId: id, depth: head.depth });\n }\n\n attachments.sort(compareAttachments);\n for (const attachment of attachments) {\n const packet = packetByHead.get(attachment.headId);\n if (packet) packet.historyIds.push(attachment.historyId);\n }\n\n packets.sort((a, b) => compareStrings(a.headId, b.headId));\n orphanHistoryIds.sort(compareStrings);\n return { packets, orphanHistoryIds };\n}\n"],"mappings":";;;AA+BA,IAAM,eAAsC,CAAC,WAAW,cAAc,YAAY;AAmBlF,SAAS,YACP,OACA,MAC4B;AAC5B,QAAM,UAAU,oBAAI,IAAY;AAChC,MAAI,UAAU;AACd,MAAI,QAAQ;AACZ,aAAS;AACP,UAAM,cAAc,QAAQ;AAC5B,QAAI,gBAAgB,UAAa,YAAY,KAAK,MAAM,GAAI,QAAO;AACnE,UAAM,YAAY,KAAK,IAAI,WAAW;AACtC,QAAI,cAAc,OAAW,QAAO;AACpC,aAAS;AACT,QAAI,UAAU,eAAe,aAAc,QAAO,EAAE,QAAQ,aAAa,MAAM;AAC/E,QAAI,QAAQ,IAAI,WAAW,EAAG,QAAO;AACrC,YAAQ,IAAI,WAAW;AACvB,cAAU;AAAA,EACZ;AACF;AAEA,SAAS,eAAe,GAAW,GAAmB;AACpD,SAAO,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI;AAClC;AAEA,SAAS,mBAAmB,GAAe,GAAuB;AAChE,MAAI,EAAE,WAAW,EAAE,OAAQ,QAAO,eAAe,EAAE,QAAQ,EAAE,MAAM;AACnE,MAAI,EAAE,UAAU,EAAE,MAAO,QAAO,EAAE,QAAQ,EAAE,QAAQ,KAAK;AACzD,SAAO,eAAe,EAAE,WAAW,EAAE,SAAS;AAChD;AAEO,SAAS,0BACd,SACsB;AAEtB,aAAW,SAAS,SAAS;AAC3B,QAAI,CAAE,aAAmC,SAAS,MAAM,UAAU,GAAG;AACnE,YAAM,IAAI;AAAA,QACR,uBAAuB,KAAK,UAAU,MAAM,UAAU,CAAC;AAAA,MACzD;AAAA,IACF;AAAA,EACF;AAGA,QAAM,OAAO,oBAAI,IAA4B;AAC7C,aAAW,SAAS,SAAS;AAC3B,QAAI,OAAO,MAAM,aAAa,YAAY,MAAM,SAAS,KAAK,MAAM,GAAI;AACxE,QAAI,CAAC,KAAK,IAAI,MAAM,QAAQ,EAAG,MAAK,IAAI,MAAM,UAAU,KAAK;AAAA,EAC/D;AAIA,QAAM,UAAiC,CAAC;AACxC,QAAM,eAAe,oBAAI,IAAiC;AAC1D,QAAM,cAA4B,CAAC;AACnC,QAAM,mBAA6B,CAAC;AAEpC,aAAW,CAAC,IAAI,KAAK,KAAK,MAAM;AAC9B,QAAI,MAAM,eAAe,cAAc;AACrC,YAAM,SAA8B,EAAE,QAAQ,IAAI,YAAY,CAAC,EAAE;AACjE,mBAAa,IAAI,IAAI,MAAM;AAC3B,cAAQ,KAAK,MAAM;AACnB;AAAA,IACF;AACA,UAAM,OAAO,YAAY,OAAO,IAAI;AACpC,QAAI,SAAS,OAAW,kBAAiB,KAAK,EAAE;AAAA,QAC3C,aAAY,KAAK,EAAE,QAAQ,KAAK,QAAQ,WAAW,IAAI,OAAO,KAAK,MAAM,CAAC;AAAA,EACjF;AAEA,cAAY,KAAK,kBAAkB;AACnC,aAAW,cAAc,aAAa;AACpC,UAAM,SAAS,aAAa,IAAI,WAAW,MAAM;AACjD,QAAI,OAAQ,QAAO,WAAW,KAAK,WAAW,SAAS;AAAA,EACzD;AAEA,UAAQ,KAAK,CAAC,GAAG,MAAM,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC;AACzD,mBAAiB,KAAK,cAAc;AACpC,SAAO,EAAE,SAAS,iBAAiB;AACrC;","names":[]}