@remnic/core 10.0.30 → 10.0.31

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 (276) hide show
  1. package/dist/access-admin-ops-surface.js +47 -46
  2. package/dist/access-authorization-probe.js +48 -47
  3. package/dist/access-boundary.js +47 -46
  4. package/dist/access-cli.js +107 -107
  5. package/dist/access-extraction-force-flush.d.ts.map +1 -1
  6. package/dist/access-extraction-force-flush.js +47 -46
  7. package/dist/access-http-briefing.js +48 -47
  8. package/dist/access-http-query.js +49 -48
  9. package/dist/access-http.js +65 -64
  10. package/dist/access-identity-continuity-surface.js +47 -46
  11. package/dist/access-lcm-surface.js +47 -46
  12. package/dist/access-mcp.js +57 -56
  13. package/dist/access-namespace-preflight.js +47 -46
  14. package/dist/access-observe-write-surface.d.ts.map +1 -1
  15. package/dist/access-observe-write-surface.js +47 -46
  16. package/dist/access-offline-manifest.js +4 -4
  17. package/dist/access-operations-batch.js +48 -47
  18. package/dist/access-operations.js +55 -54
  19. package/dist/access-recall-concurrency.js +47 -46
  20. package/dist/access-recall-diagnostics.js +2 -2
  21. package/dist/access-recall-response.js +47 -46
  22. package/dist/access-recall-surface.js +47 -46
  23. package/dist/access-schema.d.ts +47 -47
  24. package/dist/access-service.js +47 -46
  25. package/dist/access-surface-catalog.js +49 -48
  26. package/dist/access-surface-catalog.js.map +1 -1
  27. package/dist/active-recall.js +20 -20
  28. package/dist/briefing.js +21 -21
  29. package/dist/buffer-turn-helpers.d.ts +20 -0
  30. package/dist/buffer-turn-helpers.d.ts.map +1 -1
  31. package/dist/buffer-turn-helpers.js +11 -3
  32. package/dist/buffer-turn.d.ts +50 -0
  33. package/dist/buffer-turn.d.ts.map +1 -0
  34. package/dist/buffer-turn.js +1 -0
  35. package/dist/buffer-turn.js.map +1 -0
  36. package/dist/buffer.d.ts +13 -1
  37. package/dist/buffer.d.ts.map +1 -1
  38. package/dist/buffer.js +4 -4
  39. package/dist/causal-consolidation.js +26 -26
  40. package/dist/{chunk-BIE3ZH3N.js → chunk-2IXEKMBJ.js} +143 -112
  41. package/dist/chunk-2IXEKMBJ.js.map +1 -0
  42. package/dist/{chunk-YGVZ4QOZ.js → chunk-3CRE3UZI.js} +2 -2
  43. package/dist/{chunk-YZTFQBYY.js → chunk-3GOPAWA7.js} +3 -3
  44. package/dist/{chunk-NAPHQ2MG.js → chunk-3IDNKOCE.js} +2 -2
  45. package/dist/{chunk-PYCTZ2HX.js → chunk-3VYNGM5A.js} +2 -2
  46. package/dist/{chunk-2XVLY424.js → chunk-42MM5DKK.js} +2 -2
  47. package/dist/{chunk-CKR7LXEK.js → chunk-464QR7WO.js} +255 -63
  48. package/dist/chunk-464QR7WO.js.map +1 -0
  49. package/dist/{chunk-3IXNL6SK.js → chunk-4ZTVOECF.js} +4 -4
  50. package/dist/{chunk-ETZUIRCI.js → chunk-53GYS3GG.js} +2 -2
  51. package/dist/{chunk-ZXTAHSQU.js → chunk-5GPHJ333.js} +2 -2
  52. package/dist/{chunk-AUYFUBBE.js → chunk-5HJCZ7SB.js} +4 -4
  53. package/dist/{chunk-52II7PB6.js → chunk-645WOU5I.js} +4 -4
  54. package/dist/{chunk-2WDMUQOH.js → chunk-64IO6ZEE.js} +2 -2
  55. package/dist/{chunk-OIIAIY7J.js → chunk-7SXUGYPE.js} +3 -3
  56. package/dist/{chunk-74IN6PV5.js → chunk-7WWITD3H.js} +4 -4
  57. package/dist/{chunk-7FZ4YVOH.js → chunk-A5ZY537U.js} +2 -2
  58. package/dist/{chunk-LDXNKEYB.js → chunk-A6PKEU7T.js} +1 -1
  59. package/dist/chunk-A6PKEU7T.js.map +1 -0
  60. package/dist/{chunk-VLBFSD7B.js → chunk-APRGEZQN.js} +2 -2
  61. package/dist/{chunk-XNROYP5E.js → chunk-AQ5XLA36.js} +2 -2
  62. package/dist/{chunk-K2REHR42.js → chunk-BDHYRMJC.js} +2 -2
  63. package/dist/{chunk-GQ7VWY6N.js → chunk-BQ6DGL6A.js} +2 -2
  64. package/dist/{chunk-4OE4UE2Y.js → chunk-D3EXT5KG.js} +2 -2
  65. package/dist/{chunk-MROA6OFU.js → chunk-DGBWPSM6.js} +2 -2
  66. package/dist/{chunk-NOMHXZD7.js → chunk-DNZ2CWPG.js} +2 -2
  67. package/dist/{chunk-HG2VVIKI.js → chunk-DZBMASSI.js} +12 -12
  68. package/dist/{chunk-NB2YX6X2.js → chunk-EXYDKAR6.js} +5 -5
  69. package/dist/{chunk-V4FI2TG6.js → chunk-F5FZ7DB4.js} +2 -2
  70. package/dist/{chunk-IY7DGT2Z.js → chunk-GDPTMK5V.js} +2 -2
  71. package/dist/{chunk-27OJ5G3D.js → chunk-GJBSEMC5.js} +7 -7
  72. package/dist/{chunk-MMBLOJJB.js → chunk-HMON55NJ.js} +85 -44
  73. package/dist/chunk-HMON55NJ.js.map +1 -0
  74. package/dist/{chunk-C2QVDLQV.js → chunk-HNTB7NIE.js} +2 -2
  75. package/dist/{chunk-4HNINU7Q.js → chunk-HSPEVXT5.js} +42 -42
  76. package/dist/{chunk-4QPW6JVI.js → chunk-ID2PLENW.js} +2 -2
  77. package/dist/{chunk-FN6OFDBZ.js → chunk-ID62FNER.js} +2 -2
  78. package/dist/{chunk-GSKW64NB.js → chunk-J6SZXAQ2.js} +2 -2
  79. package/dist/{chunk-3CHHQXAR.js → chunk-JTACUJP3.js} +2 -2
  80. package/dist/{chunk-3SN2D43X.js → chunk-K6RQ2KOX.js} +2 -2
  81. package/dist/{chunk-GWB7ZD2A.js → chunk-K6YJGWJP.js} +2 -2
  82. package/dist/{chunk-OANSZGAG.js → chunk-KFR343VH.js} +2 -2
  83. package/dist/{chunk-WC3V7HHP.js → chunk-KJZKO2M6.js} +2 -1
  84. package/dist/chunk-KJZKO2M6.js.map +1 -0
  85. package/dist/{chunk-T5IF2ZCE.js → chunk-KZMRMKC7.js} +81 -2
  86. package/dist/chunk-KZMRMKC7.js.map +1 -0
  87. package/dist/{chunk-NPO4ZQFY.js → chunk-LDXS746V.js} +3 -3
  88. package/dist/{chunk-UTXYOWDR.js → chunk-LGR54NYT.js} +3 -3
  89. package/dist/{chunk-UTXYOWDR.js.map → chunk-LGR54NYT.js.map} +1 -1
  90. package/dist/{chunk-DDLRKPR2.js → chunk-NKW27NU3.js} +2 -2
  91. package/dist/{chunk-4HYP4OKH.js → chunk-NU247WVX.js} +2 -2
  92. package/dist/{chunk-RRJ462HP.js → chunk-O6YJI5VX.js} +2 -2
  93. package/dist/{chunk-WYLBEJQI.js → chunk-OCWNT322.js} +4 -4
  94. package/dist/{chunk-UUYAW3JH.js → chunk-OIKLZCJD.js} +2 -2
  95. package/dist/{chunk-IO2UQVR2.js → chunk-OTWZXOJI.js} +2 -2
  96. package/dist/{chunk-OXYXMGRH.js → chunk-PGHYQMKZ.js} +11 -11
  97. package/dist/{chunk-LDEKVBVO.js → chunk-PZWW6MDE.js} +2 -2
  98. package/dist/{chunk-TFA6HPOA.js → chunk-QCP75JGO.js} +5 -5
  99. package/dist/{chunk-M236YHUH.js → chunk-RILIWZA6.js} +3 -3
  100. package/dist/{chunk-7VB3Y5OL.js → chunk-RRYN5FFC.js} +4 -4
  101. package/dist/{chunk-PZEADMX4.js → chunk-RU6WB55E.js} +9 -9
  102. package/dist/{chunk-VARNSLUW.js → chunk-SGII36L6.js} +2 -2
  103. package/dist/{chunk-KFKFK6G6.js → chunk-TB2J4PBY.js} +3 -3
  104. package/dist/{chunk-WQIYGYY6.js → chunk-TEUPXKC5.js} +2 -2
  105. package/dist/{chunk-VEB7NEON.js → chunk-U4BNX4R2.js} +3 -3
  106. package/dist/{chunk-7HFTCBCZ.js → chunk-UBBZFODO.js} +2 -2
  107. package/dist/{chunk-654GT5UP.js → chunk-UZDOPJ2P.js} +2 -2
  108. package/dist/{chunk-D4RV54HH.js → chunk-VAPVRDC4.js} +2 -2
  109. package/dist/{chunk-OXX4ORRL.js → chunk-W7X7XT7Z.js} +15 -15
  110. package/dist/{chunk-5NPZFXQH.js → chunk-WK7GFAQ2.js} +2 -2
  111. package/dist/{chunk-G6DAE2LT.js → chunk-WPCK6EJ2.js} +2 -2
  112. package/dist/{chunk-VKQI47DJ.js → chunk-Y7427SL7.js} +4 -4
  113. package/dist/{chunk-ZCRDYQL6.js → chunk-YGBWSKBD.js} +2 -2
  114. package/dist/{chunk-NCPR2FOJ.js → chunk-YXWLQHAW.js} +2 -2
  115. package/dist/{chunk-UM73Q46J.js → chunk-ZEMBRSKK.js} +2 -2
  116. package/dist/{chunk-TTIEXXL3.js → chunk-ZGP2XB4S.js} +16 -16
  117. package/dist/{chunk-UVUBLLM3.js → chunk-ZY4S5WMQ.js} +2 -2
  118. package/dist/cli.js +83 -82
  119. package/dist/coding/export-okf-codegraph.js +20 -20
  120. package/dist/compounding/engine.js +22 -22
  121. package/dist/config.js +20 -20
  122. package/dist/connectors/codex-materialize-runner.js +21 -21
  123. package/dist/connectors/index.js +21 -21
  124. package/dist/convergence-refresh.js +23 -23
  125. package/dist/conversation-index/backend.js +2 -2
  126. package/dist/corpus-watermark.js +23 -23
  127. package/dist/entity-retrieval.js +22 -22
  128. package/dist/event-order-recall.js +3 -3
  129. package/dist/external-wiki-access.js +48 -47
  130. package/dist/extraction.js +31 -31
  131. package/dist/harmonic-retrieval.js +21 -21
  132. package/dist/index.js +126 -126
  133. package/dist/lcm/engine.js +2 -2
  134. package/dist/lcm/index.js +2 -2
  135. package/dist/location/index.js +23 -23
  136. package/dist/maintenance/memory-governance.js +21 -21
  137. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +21 -21
  138. package/dist/maintenance/rebuild-memory-projection-runner.js +23 -23
  139. package/dist/maintenance/rebuild-memory-projection.js +22 -22
  140. package/dist/memory-browse-operations.js +48 -47
  141. package/dist/namespaces/migrate.js +22 -22
  142. package/dist/namespaces/scope-profiles.d.ts +1 -0
  143. package/dist/namespaces/scope-profiles.d.ts.map +1 -1
  144. package/dist/namespaces/search.js +9 -9
  145. package/dist/namespaces/storage.js +21 -21
  146. package/dist/offline-sync-impression-drain.js +3 -3
  147. package/dist/operator-doctor-corpus.js +24 -24
  148. package/dist/operator-toolkit.js +32 -32
  149. package/dist/orchestration/maintenance.js +33 -33
  150. package/dist/orchestration/session-context.d.ts +6 -0
  151. package/dist/orchestration/session-context.d.ts.map +1 -1
  152. package/dist/orchestration/turn-ingestion.d.ts +35 -1
  153. package/dist/orchestration/turn-ingestion.d.ts.map +1 -1
  154. package/dist/orchestrator.d.ts +2 -32
  155. package/dist/orchestrator.d.ts.map +1 -1
  156. package/dist/orchestrator.js +107 -107
  157. package/dist/recall-explain-renderer.js +3 -3
  158. package/dist/recall-navigate-access.js +2 -2
  159. package/dist/recall-navigate-disclosure.js +2 -2
  160. package/dist/recall-navigate.js +2 -2
  161. package/dist/recall-navigation-operations.js +48 -47
  162. package/dist/recall-navigation.js +47 -46
  163. package/dist/recall-xray-cli.js +4 -4
  164. package/dist/recall-xray-renderer.js +3 -3
  165. package/dist/recall-xray.js +2 -2
  166. package/dist/relay/mission.d.ts +2 -2
  167. package/dist/resume-bundles.js +20 -20
  168. package/dist/schemas.d.ts +4 -4
  169. package/dist/search/factory.js +8 -8
  170. package/dist/search/index.js +13 -13
  171. package/dist/search/lancedb-backend.js +2 -2
  172. package/dist/search/meilisearch-backend.js +2 -2
  173. package/dist/search/orama-backend.js +2 -2
  174. package/dist/semantic-consolidation.js +22 -22
  175. package/dist/semantic-rule-promotion.js +21 -21
  176. package/dist/semantic-rule-verifier.js +21 -21
  177. package/dist/source-agent-qualifier.js +24 -24
  178. package/dist/standup/build.js +21 -21
  179. package/dist/storage.js +20 -20
  180. package/dist/support-passport/contracts.d.ts +6 -6
  181. package/dist/support-passport/grant-contracts.d.ts +4 -4
  182. package/dist/support-passport/index.js +50 -49
  183. package/dist/transfer/export-okf.js +21 -21
  184. package/dist/types.d.ts +3 -17
  185. package/dist/types.d.ts.map +1 -1
  186. package/dist/types.js +1 -1
  187. package/dist/verified-recall.js +21 -21
  188. package/dist/who-knows-cli.js +22 -22
  189. package/dist/who-knows.js +21 -21
  190. package/package.json +2 -2
  191. package/src/access-extraction-force-flush.ts +37 -25
  192. package/src/access-observe-acceptance-boundary.test.ts +172 -0
  193. package/src/access-observe-replay-durability.test.ts +2212 -0
  194. package/src/access-observe-write-surface.ts +36 -41
  195. package/src/access-service-observe-lcm-parity.test.ts +63 -39
  196. package/src/access-service-observe-scope.test.ts +3 -2
  197. package/src/buffer-turn-helpers.ts +120 -1
  198. package/src/buffer-turn.ts +50 -0
  199. package/src/buffer.ts +115 -49
  200. package/src/namespaces/scope-profiles.ts +1 -1
  201. package/src/orchestration/extraction-run.ts +1 -1
  202. package/src/orchestration/session-context.ts +117 -49
  203. package/src/orchestration/turn-ingestion.ts +313 -9
  204. package/src/orchestrator-flush.test.ts +16 -3
  205. package/src/orchestrator.ts +2 -32
  206. package/src/types.ts +3 -17
  207. package/dist/chunk-BIE3ZH3N.js.map +0 -1
  208. package/dist/chunk-CKR7LXEK.js.map +0 -1
  209. package/dist/chunk-LDXNKEYB.js.map +0 -1
  210. package/dist/chunk-MMBLOJJB.js.map +0 -1
  211. package/dist/chunk-T5IF2ZCE.js.map +0 -1
  212. package/dist/chunk-WC3V7HHP.js.map +0 -1
  213. /package/dist/{chunk-YGVZ4QOZ.js.map → chunk-3CRE3UZI.js.map} +0 -0
  214. /package/dist/{chunk-YZTFQBYY.js.map → chunk-3GOPAWA7.js.map} +0 -0
  215. /package/dist/{chunk-NAPHQ2MG.js.map → chunk-3IDNKOCE.js.map} +0 -0
  216. /package/dist/{chunk-PYCTZ2HX.js.map → chunk-3VYNGM5A.js.map} +0 -0
  217. /package/dist/{chunk-2XVLY424.js.map → chunk-42MM5DKK.js.map} +0 -0
  218. /package/dist/{chunk-3IXNL6SK.js.map → chunk-4ZTVOECF.js.map} +0 -0
  219. /package/dist/{chunk-ETZUIRCI.js.map → chunk-53GYS3GG.js.map} +0 -0
  220. /package/dist/{chunk-ZXTAHSQU.js.map → chunk-5GPHJ333.js.map} +0 -0
  221. /package/dist/{chunk-AUYFUBBE.js.map → chunk-5HJCZ7SB.js.map} +0 -0
  222. /package/dist/{chunk-52II7PB6.js.map → chunk-645WOU5I.js.map} +0 -0
  223. /package/dist/{chunk-2WDMUQOH.js.map → chunk-64IO6ZEE.js.map} +0 -0
  224. /package/dist/{chunk-OIIAIY7J.js.map → chunk-7SXUGYPE.js.map} +0 -0
  225. /package/dist/{chunk-74IN6PV5.js.map → chunk-7WWITD3H.js.map} +0 -0
  226. /package/dist/{chunk-7FZ4YVOH.js.map → chunk-A5ZY537U.js.map} +0 -0
  227. /package/dist/{chunk-VLBFSD7B.js.map → chunk-APRGEZQN.js.map} +0 -0
  228. /package/dist/{chunk-XNROYP5E.js.map → chunk-AQ5XLA36.js.map} +0 -0
  229. /package/dist/{chunk-K2REHR42.js.map → chunk-BDHYRMJC.js.map} +0 -0
  230. /package/dist/{chunk-GQ7VWY6N.js.map → chunk-BQ6DGL6A.js.map} +0 -0
  231. /package/dist/{chunk-4OE4UE2Y.js.map → chunk-D3EXT5KG.js.map} +0 -0
  232. /package/dist/{chunk-MROA6OFU.js.map → chunk-DGBWPSM6.js.map} +0 -0
  233. /package/dist/{chunk-NOMHXZD7.js.map → chunk-DNZ2CWPG.js.map} +0 -0
  234. /package/dist/{chunk-HG2VVIKI.js.map → chunk-DZBMASSI.js.map} +0 -0
  235. /package/dist/{chunk-NB2YX6X2.js.map → chunk-EXYDKAR6.js.map} +0 -0
  236. /package/dist/{chunk-V4FI2TG6.js.map → chunk-F5FZ7DB4.js.map} +0 -0
  237. /package/dist/{chunk-IY7DGT2Z.js.map → chunk-GDPTMK5V.js.map} +0 -0
  238. /package/dist/{chunk-27OJ5G3D.js.map → chunk-GJBSEMC5.js.map} +0 -0
  239. /package/dist/{chunk-C2QVDLQV.js.map → chunk-HNTB7NIE.js.map} +0 -0
  240. /package/dist/{chunk-4HNINU7Q.js.map → chunk-HSPEVXT5.js.map} +0 -0
  241. /package/dist/{chunk-4QPW6JVI.js.map → chunk-ID2PLENW.js.map} +0 -0
  242. /package/dist/{chunk-FN6OFDBZ.js.map → chunk-ID62FNER.js.map} +0 -0
  243. /package/dist/{chunk-GSKW64NB.js.map → chunk-J6SZXAQ2.js.map} +0 -0
  244. /package/dist/{chunk-3CHHQXAR.js.map → chunk-JTACUJP3.js.map} +0 -0
  245. /package/dist/{chunk-3SN2D43X.js.map → chunk-K6RQ2KOX.js.map} +0 -0
  246. /package/dist/{chunk-GWB7ZD2A.js.map → chunk-K6YJGWJP.js.map} +0 -0
  247. /package/dist/{chunk-OANSZGAG.js.map → chunk-KFR343VH.js.map} +0 -0
  248. /package/dist/{chunk-NPO4ZQFY.js.map → chunk-LDXS746V.js.map} +0 -0
  249. /package/dist/{chunk-DDLRKPR2.js.map → chunk-NKW27NU3.js.map} +0 -0
  250. /package/dist/{chunk-4HYP4OKH.js.map → chunk-NU247WVX.js.map} +0 -0
  251. /package/dist/{chunk-RRJ462HP.js.map → chunk-O6YJI5VX.js.map} +0 -0
  252. /package/dist/{chunk-WYLBEJQI.js.map → chunk-OCWNT322.js.map} +0 -0
  253. /package/dist/{chunk-UUYAW3JH.js.map → chunk-OIKLZCJD.js.map} +0 -0
  254. /package/dist/{chunk-IO2UQVR2.js.map → chunk-OTWZXOJI.js.map} +0 -0
  255. /package/dist/{chunk-OXYXMGRH.js.map → chunk-PGHYQMKZ.js.map} +0 -0
  256. /package/dist/{chunk-LDEKVBVO.js.map → chunk-PZWW6MDE.js.map} +0 -0
  257. /package/dist/{chunk-TFA6HPOA.js.map → chunk-QCP75JGO.js.map} +0 -0
  258. /package/dist/{chunk-M236YHUH.js.map → chunk-RILIWZA6.js.map} +0 -0
  259. /package/dist/{chunk-7VB3Y5OL.js.map → chunk-RRYN5FFC.js.map} +0 -0
  260. /package/dist/{chunk-PZEADMX4.js.map → chunk-RU6WB55E.js.map} +0 -0
  261. /package/dist/{chunk-VARNSLUW.js.map → chunk-SGII36L6.js.map} +0 -0
  262. /package/dist/{chunk-KFKFK6G6.js.map → chunk-TB2J4PBY.js.map} +0 -0
  263. /package/dist/{chunk-WQIYGYY6.js.map → chunk-TEUPXKC5.js.map} +0 -0
  264. /package/dist/{chunk-VEB7NEON.js.map → chunk-U4BNX4R2.js.map} +0 -0
  265. /package/dist/{chunk-7HFTCBCZ.js.map → chunk-UBBZFODO.js.map} +0 -0
  266. /package/dist/{chunk-654GT5UP.js.map → chunk-UZDOPJ2P.js.map} +0 -0
  267. /package/dist/{chunk-D4RV54HH.js.map → chunk-VAPVRDC4.js.map} +0 -0
  268. /package/dist/{chunk-OXX4ORRL.js.map → chunk-W7X7XT7Z.js.map} +0 -0
  269. /package/dist/{chunk-5NPZFXQH.js.map → chunk-WK7GFAQ2.js.map} +0 -0
  270. /package/dist/{chunk-G6DAE2LT.js.map → chunk-WPCK6EJ2.js.map} +0 -0
  271. /package/dist/{chunk-VKQI47DJ.js.map → chunk-Y7427SL7.js.map} +0 -0
  272. /package/dist/{chunk-ZCRDYQL6.js.map → chunk-YGBWSKBD.js.map} +0 -0
  273. /package/dist/{chunk-NCPR2FOJ.js.map → chunk-YXWLQHAW.js.map} +0 -0
  274. /package/dist/{chunk-UM73Q46J.js.map → chunk-ZEMBRSKK.js.map} +0 -0
  275. /package/dist/{chunk-TTIEXXL3.js.map → chunk-ZGP2XB4S.js.map} +0 -0
  276. /package/dist/{chunk-UVUBLLM3.js.map → chunk-ZY4S5WMQ.js.map} +0 -0
@@ -41,7 +41,7 @@ import {
41
41
  computeWhoKnows,
42
42
  loadWhoKnowsEntities,
43
43
  validateWhoKnowsInput
44
- } from "./chunk-UUYAW3JH.js";
44
+ } from "./chunk-OIKLZCJD.js";
45
45
  import {
46
46
  trustResultFor
47
47
  } from "./chunk-GNVZQ5JN.js";
@@ -69,6 +69,9 @@ import {
69
69
  import {
70
70
  runRecallWhy
71
71
  } from "./chunk-O6S5FLZB.js";
72
+ import {
73
+ renderNavigationResult
74
+ } from "./chunk-KIW3OOZE.js";
72
75
  import {
73
76
  DEFAULT_TRAVERSE_LIMIT,
74
77
  selectTraverseNeighbors
@@ -77,11 +80,11 @@ import {
77
80
  assertIdInNavigationWindow
78
81
  } from "./chunk-5KVT6G5U.js";
79
82
  import {
80
- renderNavigationResult
81
- } from "./chunk-KIW3OOZE.js";
83
+ takeNavigateBudget
84
+ } from "./chunk-VYDGHJIN.js";
82
85
  import {
83
86
  planDisclosureStep
84
- } from "./chunk-MROA6OFU.js";
87
+ } from "./chunk-DGBWPSM6.js";
85
88
  import {
86
89
  parseNavigateLinkType
87
90
  } from "./chunk-7O5EW7KX.js";
@@ -90,17 +93,14 @@ import {
90
93
  } from "./chunk-H7XKCNR6.js";
91
94
  import {
92
95
  toRecallExplainJson
93
- } from "./chunk-RRJ462HP.js";
96
+ } from "./chunk-O6YJI5VX.js";
94
97
  import {
95
98
  estimateRecallTokens,
96
99
  summarizeDisclosureTokens
97
- } from "./chunk-4QPW6JVI.js";
98
- import {
99
- takeNavigateBudget
100
- } from "./chunk-VYDGHJIN.js";
100
+ } from "./chunk-ID2PLENW.js";
101
101
  import {
102
102
  readAggregateExtractionWatermark
103
- } from "./chunk-3CHHQXAR.js";
103
+ } from "./chunk-JTACUJP3.js";
104
104
  import {
105
105
  ReplicaDivergenceMonitor
106
106
  } from "./chunk-E6UNM67F.js";
@@ -130,7 +130,7 @@ import {
130
130
  } from "./chunk-DMDWFQMR.js";
131
131
  import {
132
132
  readProjectedHarmonicGraph
133
- } from "./chunk-YGVZ4QOZ.js";
133
+ } from "./chunk-3CRE3UZI.js";
134
134
  import {
135
135
  wrapWorkLayerContext
136
136
  } from "./chunk-EI6V5UXY.js";
@@ -172,22 +172,25 @@ import {
172
172
  import {
173
173
  runBudgetedDeepRecall
174
174
  } from "./chunk-YRULQW5J.js";
175
+ import {
176
+ buildProposedActions,
177
+ buildQualityScore,
178
+ groupActionsByStatus,
179
+ listMemoryGovernanceRuns,
180
+ readMemoryGovernanceRunArtifact,
181
+ runMemoryGovernance
182
+ } from "./chunk-NKW27NU3.js";
175
183
  import {
176
184
  CorpusWatermarkCache,
177
185
  computeServiceCorpusCensus
178
- } from "./chunk-D4RV54HH.js";
186
+ } from "./chunk-VAPVRDC4.js";
179
187
  import {
180
188
  CrossNamespaceBudget,
181
189
  toBudgetWarning
182
190
  } from "./chunk-UFGFMWAD.js";
183
191
  import {
184
- buildProposedActions,
185
- buildQualityScore,
186
- groupActionsByStatus,
187
- listMemoryGovernanceRuns,
188
- readMemoryGovernanceRunArtifact,
189
- runMemoryGovernance
190
- } from "./chunk-DDLRKPR2.js";
192
+ LocalLlmClient
193
+ } from "./chunk-3EJQXF3B.js";
191
194
  import {
192
195
  defaultCapsulesDir
193
196
  } from "./chunk-ZY2MNJR6.js";
@@ -197,13 +200,15 @@ import {
197
200
  enqueuePassiveCorrectionNotification,
198
201
  parseBriefingFocus,
199
202
  parseBriefingWindow
200
- } from "./chunk-GWB7ZD2A.js";
203
+ } from "./chunk-K6YJGWJP.js";
201
204
  import {
202
205
  ExtractionDeadlineError
203
- } from "./chunk-UTXYOWDR.js";
206
+ } from "./chunk-LGR54NYT.js";
204
207
  import {
205
- LocalLlmClient
206
- } from "./chunk-3EJQXF3B.js";
208
+ groupTurnsByExtractionScope,
209
+ hasPinnedCaptureScope,
210
+ scopeProfilePlanIdentity
211
+ } from "./chunk-KZMRMKC7.js";
207
212
  import {
208
213
  meetingsBuild,
209
214
  meetingsGet,
@@ -256,10 +261,10 @@ import {
256
261
  qmdCollectionPathParts,
257
262
  qmdResultPathCandidates,
258
263
  selfDeps
259
- } from "./chunk-TTIEXXL3.js";
264
+ } from "./chunk-ZGP2XB4S.js";
260
265
  import {
261
266
  namespaceCollectionName
262
- } from "./chunk-7HFTCBCZ.js";
267
+ } from "./chunk-UBBZFODO.js";
263
268
  import {
264
269
  normalizeProjectionPreview,
265
270
  normalizeProjectionTags
@@ -291,7 +296,7 @@ import {
291
296
  import {
292
297
  DEFAULT_RECALL_DISCLOSURE,
293
298
  isRecallDisclosure
294
- } from "./chunk-LDXNKEYB.js";
299
+ } from "./chunk-A6PKEU7T.js";
295
300
  import {
296
301
  extractJsonCandidates
297
302
  } from "./chunk-YBA52OKG.js";
@@ -335,19 +340,19 @@ import {
335
340
  } from "./chunk-Z2YFLXHU.js";
336
341
  import {
337
342
  createOfflineSyncManifestStream
338
- } from "./chunk-VARNSLUW.js";
343
+ } from "./chunk-SGII36L6.js";
339
344
  import {
340
345
  offlineSyncStorageForSnapshot
341
- } from "./chunk-4OE4UE2Y.js";
346
+ } from "./chunk-D3EXT5KG.js";
342
347
  import {
343
348
  resolveScopePlan,
344
349
  resolveScopedWritableNamespaceValue,
345
350
  resolveWritableNamespaceValue
346
- } from "./chunk-ETZUIRCI.js";
351
+ } from "./chunk-53GYS3GG.js";
347
352
  import {
348
353
  expandScopeProfileReadNamespaces,
349
354
  resolveScopeProfilePlan
350
- } from "./chunk-WC3V7HHP.js";
355
+ } from "./chunk-KJZKO2M6.js";
351
356
  import {
352
357
  inferMemoryStatus,
353
358
  isActiveMemoryStatus,
@@ -7066,8 +7071,21 @@ var SessionContextCoordinator = class {
7066
7071
  const ownerPrincipal = typeof options.principalOverride === "string" && options.principalOverride.trim().length > 0 ? options.principalOverride.trim() : void 0;
7067
7072
  const resolvedSessionPrincipal = ownershipEnforced && ownerPrincipal !== void 0 && this.deps.config ? resolvePrincipal(sessionKey, this.deps.config) : void 0;
7068
7073
  const opaqueScopedSession = ownershipEnforced && ownerPrincipal !== void 0 && (resolvedSessionPrincipal === void 0 || resolvedSessionPrincipal === "default");
7074
+ const flushNamespace = options.writeNamespaceOverride !== void 0 ? options.writeNamespaceOverride : namespacesEnabled && this.deps.config ? defaultNamespaceForPrincipal(resolvePrincipal(sessionKey, this.deps.config), this.deps.config) : void 0;
7069
7075
  const belongsToSession = (turn) => {
7070
7076
  if (turn.sessionKey !== sessionKey) return false;
7077
+ if (namespacesEnabled && turn.writeNamespaceOverride !== void 0 && turn.writeNamespaceOverride !== flushNamespace) {
7078
+ return false;
7079
+ }
7080
+ const flushPlanIdentity = scopeProfilePlanIdentity(options.scopeProfileWritePlan);
7081
+ if (flushPlanIdentity !== "" && hasPinnedCaptureScope(turn)) {
7082
+ if (scopeProfilePlanIdentity(turn.scopeProfileWritePlan) !== flushPlanIdentity && !(turn.acceptedCapture === true && turn.scopeProfileWritePlan === void 0)) {
7083
+ return false;
7084
+ }
7085
+ if (options.codingContext && turn.codingContext && (turn.codingContext.projectId !== options.codingContext.projectId || turn.codingContext.rootPath !== options.codingContext.rootPath || turn.codingContext.branch !== options.codingContext.branch || turn.codingContext.defaultBranch !== options.codingContext.defaultBranch)) {
7086
+ return false;
7087
+ }
7088
+ }
7071
7089
  if (!ownershipEnforced || ownerPrincipal === void 0) return true;
7072
7090
  if (turn.sessionOwnerPrincipal === ownerPrincipal) return true;
7073
7091
  return turn.sessionOwnerPrincipal === void 0 && this.deps.config !== void 0 && resolvePrincipal(turn.sessionKey, this.deps.config) === ownerPrincipal;
@@ -7081,49 +7099,49 @@ var SessionContextCoordinator = class {
7081
7099
  }
7082
7100
  for (const bufferKey of bufferKeys) {
7083
7101
  const turns = this.deps.buffer.getTurns(bufferKey);
7084
- const turnsForSession = scopedRequest ? turns.filter(belongsToSession) : turns;
7102
+ const turnsForSession = turns.filter(belongsToSession);
7085
7103
  if (turnsForSession.length === 0) continue;
7086
- const retainedTurnsForOtherSessions = scopedRequest && typeof this.deps.buffer.getRetainedDeferredTurns === "function" ? this.deps.buffer.getRetainedDeferredTurns(bufferKey).filter((turn) => !belongsToSession(turn)) : [];
7087
- try {
7088
- await new Promise((resolve4, reject) => {
7089
- void this.deps.queueBufferedExtraction(turnsForSession, "trigger_mode", {
7090
- bufferKey,
7091
- clearBufferAfterExtraction: true,
7092
- skipDedupeCheck: true,
7093
- skipCharThreshold: true,
7094
- skipUserTurnThreshold: true,
7095
- failOnExtractionFailure: options.failOnExtractionFailure === true,
7096
- forceExtractionAttempt: true,
7097
- abortSignal: options.abortSignal,
7098
- extractionDeadlineMs: options.extractionDeadlineMs,
7099
- writeNamespaceOverride: options.writeNamespaceOverride,
7100
- principalOverride: options.principalOverride,
7101
- scopeProfileWritePlan: options.scopeProfileWritePlan,
7102
- clearMatchingTurns: options.clearMatchingTurns ?? scopedRequest,
7103
- onDurableCommit: options.onCommitted,
7104
- onTaskSettled: (error) => error ? reject(error) : resolve4()
7105
- }).catch(reject);
7106
- });
7107
- if (options.reason === "session_end" && this.deps.config.sessionExperience?.enabled === true) {
7108
- await this.extractSessionEndExperience(turnsForSession, sessionKey, options);
7104
+ const scopeGroups = groupTurnsByExtractionScope(turnsForSession);
7105
+ const needsIdentityClear = turnsForSession.length < turns.length || scopeGroups.length > 1;
7106
+ const namespacesOn = this.deps.config ? resolveNamespaceCapabilities(this.deps.config).namespaces === true : true;
7107
+ for (const group of scopeGroups) {
7108
+ const groupPinned = group.writeNamespaceOverride !== void 0 || group.principalOverride !== void 0 || group.scopeProfileWritePlan !== void 0;
7109
+ if (group.scopeProfileWritePlan && options.scopeProfileWritePlan && (scopeProfilePlanIdentity(group.scopeProfileWritePlan) !== scopeProfilePlanIdentity(options.scopeProfileWritePlan) || options.codingContext && group.codingContext && (group.codingContext.projectId !== options.codingContext.projectId || group.codingContext.rootPath !== options.codingContext.rootPath || group.codingContext.branch !== options.codingContext.branch || group.codingContext.defaultBranch !== options.codingContext.defaultBranch))) {
7110
+ continue;
7109
7111
  }
7110
- } finally {
7111
- if (retainedTurnsForOtherSessions.length > 0 && typeof this.deps.buffer.retainDeferredTurns === "function") {
7112
- const retainedAfterExtraction = this.deps.buffer.getRetainedDeferredTurns(bufferKey);
7113
- await this.deps.buffer.retainDeferredTurns(
7114
- bufferKey,
7115
- [
7116
- ...retainedAfterExtraction.filter((turn) => belongsToSession(turn)),
7117
- ...retainedTurnsForOtherSessions
7118
- ],
7119
- 10
7120
- ).catch((error) => {
7121
- log.warn(
7122
- `session flush could not restore retained turns for other sessions in ${bufferKey}`,
7123
- error
7112
+ if (groupPinned && !namespacesOn && group.writeNamespaceOverride !== void 0 && group.writeNamespaceOverride !== this.deps.config?.defaultNamespace) {
7113
+ if (options.failOnExtractionFailure === true) {
7114
+ throw new Error(
7115
+ `accepted capture preserved: pinned_namespace_unavailable (${group.writeNamespaceOverride})`
7124
7116
  );
7125
- });
7117
+ }
7118
+ log.warn(
7119
+ `flushSession: pinned namespace ${group.writeNamespaceOverride} unavailable while namespaces are disabled; capture stays pending`
7120
+ );
7121
+ continue;
7126
7122
  }
7123
+ const { promise, resolve: resolve4, reject } = Promise.withResolvers();
7124
+ void this.deps.queueBufferedExtraction(group.turns, "trigger_mode", {
7125
+ bufferKey,
7126
+ clearBufferAfterExtraction: true,
7127
+ skipDedupeCheck: true,
7128
+ skipCharThreshold: true,
7129
+ skipUserTurnThreshold: true,
7130
+ failOnExtractionFailure: options.failOnExtractionFailure === true,
7131
+ forceExtractionAttempt: true,
7132
+ abortSignal: options.abortSignal,
7133
+ extractionDeadlineMs: options.extractionDeadlineMs,
7134
+ writeNamespaceOverride: group.writeNamespaceOverride ?? options.writeNamespaceOverride,
7135
+ principalOverride: group.principalOverride ?? options.principalOverride,
7136
+ scopeProfileWritePlan: group.turns.some((turn) => turn.acceptedCapture === true) ? group.scopeProfileWritePlan ?? null : group.scopeProfileWritePlan ?? options.scopeProfileWritePlan,
7137
+ clearMatchingTurns: options.clearMatchingTurns === true || scopedRequest || groupPinned || needsIdentityClear,
7138
+ onDurableCommit: options.onCommitted,
7139
+ onTaskSettled: (error) => error ? reject(error) : resolve4()
7140
+ }).catch(reject);
7141
+ await promise;
7142
+ }
7143
+ if (options.reason === "session_end" && this.deps.config.sessionExperience?.enabled === true) {
7144
+ await this.extractSessionEndExperience(turnsForSession, sessionKey, options);
7127
7145
  }
7128
7146
  }
7129
7147
  }
@@ -7272,26 +7290,6 @@ async function extractionForceFlush(deps, request, waitForPendingObserveExtracti
7272
7290
  }
7273
7291
  abortHandler = cancelScopedPendingObserveExtractions;
7274
7292
  request.abortSignal?.addEventListener("abort", abortHandler, { once: true });
7275
- await awaitSessionFlushPhase(
7276
- () => deps.orchestrator.flushSession(request.sessionKey, {
7277
- reason: "access_force_flush",
7278
- abortSignal: request.abortSignal,
7279
- failOnExtractionFailure: true,
7280
- extractionDeadlineMs: deadlineAt,
7281
- writeNamespaceOverride: scope.writeNamespace,
7282
- principalOverride: typeof scope.principal === "string" && scope.principal.length > 0 ? scope.principal : void 0,
7283
- scopeProfileWritePlan: scope.scopeProfilePlan,
7284
- onCommitted: markCommitted
7285
- }),
7286
- {
7287
- abortSignal: request.abortSignal,
7288
- extractionDeadlineMs: deadlineAt,
7289
- reason: "access_force_flush",
7290
- deadlineStage: "buffer_drain",
7291
- onDeadline: cancelScopedPendingObserveExtractions
7292
- }
7293
- );
7294
- markCommitted();
7295
7293
  if (waitForPendingObserveExtraction) {
7296
7294
  let cancelPendingObserveExtraction;
7297
7295
  await awaitSessionFlushPhase(
@@ -7317,13 +7315,41 @@ async function extractionForceFlush(deps, request, waitForPendingObserveExtracti
7317
7315
  }
7318
7316
  );
7319
7317
  }
7318
+ await awaitSessionFlushPhase(
7319
+ () => deps.orchestrator.flushSession(request.sessionKey, {
7320
+ reason: "access_force_flush",
7321
+ abortSignal: request.abortSignal,
7322
+ failOnExtractionFailure: true,
7323
+ extractionDeadlineMs: deadlineAt,
7324
+ writeNamespaceOverride: scope.writeNamespace,
7325
+ principalOverride: scope.principal !== void 0 && scope.principal.length > 0 ? scope.principal : void 0,
7326
+ scopeProfileWritePlan: scope.scopeProfilePlan,
7327
+ // #3251: the session's original coding binding — plan-pinned flushes
7328
+ // drain only captures bound to the same project identity.
7329
+ codingContext: deps.orchestrator.getCodingContextForSession(request.sessionKey) ?? void 0,
7330
+ onCommitted: markCommitted
7331
+ }),
7332
+ {
7333
+ abortSignal: request.abortSignal,
7334
+ extractionDeadlineMs: deadlineAt,
7335
+ reason: "access_force_flush",
7336
+ deadlineStage: "buffer_drain",
7337
+ onDeadline: cancelScopedPendingObserveExtractions
7338
+ }
7339
+ );
7340
+ markCommitted();
7320
7341
  const buffer = deps.orchestrator.buffer;
7321
7342
  if (buffer && typeof buffer.clearRetainedTurnsForSession === "function") {
7322
7343
  try {
7323
7344
  await awaitSessionFlushPhase(
7324
7345
  () => buffer.clearRetainedTurnsForSession(request.sessionKey, namespacesEnabled ? scope.principal : void 0, {
7325
7346
  abortSignal: request.abortSignal,
7326
- deadlineMs: deadlineAt
7347
+ deadlineMs: deadlineAt,
7348
+ // #3251: only clear retained turns accepted under THIS scope —
7349
+ // namespace, plan identity, and original project binding.
7350
+ writeNamespaceOverride: namespacesEnabled ? scope.writeNamespace : void 0,
7351
+ scopeProfileWritePlan: namespacesEnabled ? scope.scopeProfilePlan : void 0,
7352
+ codingContext: namespacesEnabled ? deps.orchestrator.getCodingContextForSession(request.sessionKey) ?? void 0 : void 0
7327
7353
  }),
7328
7354
  {
7329
7355
  abortSignal: request.abortSignal,
@@ -7864,32 +7890,37 @@ var AccessObserveWriteSurface = class {
7864
7890
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
7865
7891
  ...request.sourceConnector ? { sourceConnector: request.sourceConnector } : {}
7866
7892
  }));
7867
- const writeNamespaceOverride = resolveNamespaceCapabilities(this.deps.orchestrator.config).namespaces === true ? writeNamespace : void 0;
7893
+ const writeNamespaceOverride = writeNamespace;
7868
7894
  const principalOverride = typeof scope.principal === "string" && scope.principal.length > 0 ? scope.principal : void 0;
7869
- if (!observePreparation.isCancelled()) {
7870
- try {
7871
- const observeAbortController = new AbortController();
7872
- const extractionPromise = this.deps.orchestrator.ingestReplayBatch(turns, {
7873
- archiveLcm: false,
7874
- writeNamespaceOverride,
7875
- principalOverride,
7876
- scopeProfileWritePlan: scope.scopeProfilePlan,
7877
- abortSignal: observeAbortController.signal,
7878
- ...typeof request.authenticatedPrincipal === "string" && request.authenticatedPrincipal.trim().length > 0 ? { sessionOwnerPrincipal: request.authenticatedPrincipal.trim() } : {}
7879
- });
7880
- extractionPromise.catch((err) => {
7895
+ const observeAbortController = new AbortController();
7896
+ const preparationCancelled = observePreparation.isCancelled();
7897
+ if (preparationCancelled) {
7898
+ observeAbortController.abort(abortError("observe preparation cancelled"));
7899
+ }
7900
+ const trackedExtractionKey = this.pendingObserveExtractions.key(request.sessionKey, scope.principal, writeNamespace);
7901
+ const ingestOptions = {
7902
+ archiveLcm: false,
7903
+ extractionMode: "buffered",
7904
+ writeNamespaceOverride,
7905
+ principalOverride,
7906
+ scopeProfileWritePlan: scope.scopeProfilePlan,
7907
+ // Re-authorize current policy against the original project binding.
7908
+ codingContext: this.deps.orchestrator.getCodingContextForSession(request.sessionKey) ?? void 0,
7909
+ abortSignal: observeAbortController.signal
7910
+ };
7911
+ if (request.authenticatedPrincipal !== void 0 && request.authenticatedPrincipal.trim().length > 0) {
7912
+ ingestOptions.sessionOwnerPrincipal = request.authenticatedPrincipal.trim();
7913
+ }
7914
+ if (!preparationCancelled) {
7915
+ ingestOptions.onExtractionQueued = (extraction) => {
7916
+ extraction.catch((err) => {
7881
7917
  log.error(`access-observe background extraction failed: ${err}`);
7882
7918
  });
7883
- this.pendingObserveExtractions.track(
7884
- this.pendingObserveExtractions.key(request.sessionKey, scope.principal, writeNamespace),
7885
- extractionPromise,
7886
- observeAbortController
7887
- );
7919
+ this.pendingObserveExtractions.track(trackedExtractionKey, extraction, observeAbortController);
7888
7920
  extractionQueued = true;
7889
- } catch (err) {
7890
- log.error(`access-observe extraction enqueue failed: ${err}`);
7891
- }
7921
+ };
7892
7922
  }
7923
+ await this.deps.orchestrator.ingestReplayBatch(turns, ingestOptions);
7893
7924
  }
7894
7925
  log.info(
7895
7926
  `access-observe namespace=${namespace} effectiveNamespace=${writeNamespace} sessionKey=${request.sessionKey} messages=${request.messages.length} lcm=${lcmArchived} extraction=${extractionQueued} transcript=${transcriptPersisted}`
@@ -18737,4 +18768,4 @@ export {
18737
18768
  EngramAccessService,
18738
18769
  AccessAdminOpsSurface
18739
18770
  };
18740
- //# sourceMappingURL=chunk-BIE3ZH3N.js.map
18771
+ //# sourceMappingURL=chunk-2IXEKMBJ.js.map