@remnic/core 9.69.87 → 9.69.88

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 (414) hide show
  1. package/dist/access-admin-ops-surface.js +61 -55
  2. package/dist/access-authorization-probe.js +62 -56
  3. package/dist/access-boundary.js +61 -55
  4. package/dist/access-citation-namespace.js +2 -2
  5. package/dist/access-cli.js +140 -134
  6. package/dist/access-cli.js.map +1 -1
  7. package/dist/access-extraction-force-flush.js +61 -55
  8. package/dist/access-http-briefing.js +62 -56
  9. package/dist/access-http-offline-stream.d.ts.map +1 -1
  10. package/dist/access-http-offline-stream.js +1 -1
  11. package/dist/access-http-query.js +63 -57
  12. package/dist/access-http.js +85 -79
  13. package/dist/access-identity-continuity-surface.js +61 -55
  14. package/dist/access-lcm-surface.js +61 -55
  15. package/dist/access-mcp-output-schemas.d.ts.map +1 -1
  16. package/dist/access-mcp-output-schemas.js +1 -1
  17. package/dist/access-mcp.js +74 -68
  18. package/dist/access-namespace-preflight.js +61 -55
  19. package/dist/access-observe-write-category.js +19 -13
  20. package/dist/access-observe-write-surface.js +61 -55
  21. package/dist/access-offline-manifest.js +15 -10
  22. package/dist/access-operations-batch.js +65 -59
  23. package/dist/access-operations.js +72 -66
  24. package/dist/access-recall-concurrency.js +61 -55
  25. package/dist/access-recall-response.js +61 -55
  26. package/dist/access-recall-surface.js +61 -55
  27. package/dist/access-schema.js +15 -7
  28. package/dist/access-service.d.ts.map +1 -1
  29. package/dist/access-service.js +61 -55
  30. package/dist/access-surface-catalog.js +63 -57
  31. package/dist/access-surface-catalog.js.map +1 -1
  32. package/dist/active-recall.js +27 -22
  33. package/dist/active-recall.js.map +1 -1
  34. package/dist/adapters/index.js +4 -4
  35. package/dist/adapters/registry.js +2 -2
  36. package/dist/{auto-sync-6IPX2BAC.js → auto-sync-U5N3CB5Y.js} +7 -7
  37. package/dist/briefing.js +15 -15
  38. package/dist/buffer.js +7 -7
  39. package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
  40. package/dist/{capsule-merge-3MNURAQ3.js → capsule-merge-ZCXUPLNJ.js} +2 -2
  41. package/dist/causal-behavior.js +2 -2
  42. package/dist/causal-chain.js +2 -2
  43. package/dist/causal-consolidation.js +18 -18
  44. package/dist/causal-retrieval.js +2 -2
  45. package/dist/causal-trajectory-graph.js +2 -2
  46. package/dist/causal-trajectory.js +1 -1
  47. package/dist/{chunk-JE334SIA.js → chunk-22DYJLFN.js} +2 -2
  48. package/dist/{chunk-JGSQ6P4D.js → chunk-2DLWLNO4.js} +3 -3
  49. package/dist/{chunk-LS3XH3UE.js → chunk-2NAD4YCI.js} +2 -2
  50. package/dist/{chunk-SY5KDWGU.js → chunk-2WLMWP2T.js} +2 -2
  51. package/dist/{chunk-P6WFK4ZJ.js → chunk-3O5BB45T.js} +4 -4
  52. package/dist/{chunk-SOZUJCME.js → chunk-3SGTV7RD.js} +6 -6
  53. package/dist/{chunk-YITN5WXI.js → chunk-4KN2JLQV.js} +2 -2
  54. package/dist/{chunk-JKMHZF3Q.js → chunk-4MP7XR5J.js} +2 -2
  55. package/dist/chunk-4NSLQ7EU.js +137 -0
  56. package/dist/chunk-4NSLQ7EU.js.map +1 -0
  57. package/dist/{chunk-7DE2NOON.js → chunk-4O4XCBOS.js} +3 -3
  58. package/dist/{chunk-SLEAJ67D.js → chunk-4OQET73E.js} +4 -4
  59. package/dist/{chunk-GDYU6VF4.js → chunk-5AYUHSAU.js} +2 -2
  60. package/dist/{chunk-QWW2JDDX.js → chunk-5E6RYRYW.js} +6 -6
  61. package/dist/{chunk-ICZQG4XE.js → chunk-5FAGCOZD.js} +4 -4
  62. package/dist/{chunk-4IEOGIPB.js → chunk-5MNUBT7T.js} +2 -2
  63. package/dist/{chunk-CK5KOVHW.js → chunk-5R627MYY.js} +3 -2
  64. package/dist/{chunk-CK5KOVHW.js.map → chunk-5R627MYY.js.map} +1 -1
  65. package/dist/chunk-5X4MXNEU.js +64 -0
  66. package/dist/chunk-5X4MXNEU.js.map +1 -0
  67. package/dist/{chunk-52II7PB6.js → chunk-645WOU5I.js} +4 -4
  68. package/dist/{chunk-DUJYRVUD.js → chunk-6O2VUWV6.js} +3 -3
  69. package/dist/{chunk-CS52MFDV.js → chunk-6UQFJULG.js} +2 -2
  70. package/dist/chunk-75PT4N7Q.js +75 -0
  71. package/dist/chunk-75PT4N7Q.js.map +1 -0
  72. package/dist/{chunk-HESDNYRB.js → chunk-76M5OK7V.js} +2 -2
  73. package/dist/{chunk-4CDYONWO.js → chunk-A4VSOUCB.js} +3 -3
  74. package/dist/{chunk-HBBHL4YF.js → chunk-AE5U5NMS.js} +2 -2
  75. package/dist/{chunk-CUCWX3MO.js → chunk-AEHVZY3X.js} +2 -2
  76. package/dist/{chunk-DZ525SNQ.js → chunk-AEU4EQGV.js} +1 -1
  77. package/dist/{chunk-VLLD4TOB.js → chunk-AWG3TIAY.js} +2 -2
  78. package/dist/{chunk-72JNNJJJ.js → chunk-AXC4WSF3.js} +3 -3
  79. package/dist/{chunk-N4S4NUX5.js → chunk-B3O3IRZN.js} +1 -1
  80. package/dist/{chunk-FAN73COB.js → chunk-BGI4NUAO.js} +2 -2
  81. package/dist/{chunk-XTYX6V52.js → chunk-BJVO4H5C.js} +2 -2
  82. package/dist/{chunk-EHS5MJEF.js → chunk-BLVR4WYU.js} +3 -3
  83. package/dist/{chunk-KFCMMDHH.js → chunk-BOZJD5PK.js} +2 -2
  84. package/dist/{chunk-TM3RXL4G.js → chunk-BUQKSQXL.js} +2 -2
  85. package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
  86. package/dist/{chunk-EVBI7S4J.js → chunk-C6U57KG4.js} +4 -4
  87. package/dist/{chunk-RB776UH3.js → chunk-C7V3KPKJ.js} +235 -93
  88. package/dist/chunk-C7V3KPKJ.js.map +1 -0
  89. package/dist/{chunk-VX6GCKBS.js → chunk-C7ZDKWPS.js} +4 -4
  90. package/dist/{chunk-ZI7QA4MK.js → chunk-CRXRZA3G.js} +2 -2
  91. package/dist/{chunk-VQNONC4E.js → chunk-CZJA2EQE.js} +2 -2
  92. package/dist/{chunk-M536WNTQ.js → chunk-D5BSQR63.js} +2 -2
  93. package/dist/{chunk-37S3IMYB.js → chunk-DGS34QSY.js} +2 -2
  94. package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
  95. package/dist/{chunk-3BTFBQLO.js → chunk-EFHNFTWB.js} +49 -3
  96. package/dist/chunk-EFHNFTWB.js.map +1 -0
  97. package/dist/{chunk-C3QXITIP.js → chunk-EQUD7FP4.js} +2 -2
  98. package/dist/chunk-ETUZFFPU.js +218 -0
  99. package/dist/chunk-ETUZFFPU.js.map +1 -0
  100. package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
  101. package/dist/{chunk-EQ6YOIKO.js → chunk-FJLQXMTU.js} +3 -3
  102. package/dist/{chunk-SRZW7FNU.js → chunk-FKD656D2.js} +2 -2
  103. package/dist/{chunk-CLXTDOKV.js → chunk-FUNBJQYR.js} +2 -2
  104. package/dist/{chunk-CLSYE5OZ.js → chunk-G2STTRYB.js} +2 -2
  105. package/dist/{chunk-KP7SANCF.js → chunk-GWM6T5EQ.js} +2 -2
  106. package/dist/{chunk-UA5DX5C3.js → chunk-GZDTVYK2.js} +2 -2
  107. package/dist/{chunk-3GQC3NMB.js → chunk-H56VY4BY.js} +5 -5
  108. package/dist/{chunk-L6UZEAID.js → chunk-H5BJWPUI.js} +4 -4
  109. package/dist/{chunk-YSJTCOHR.js → chunk-HLB7GKGG.js} +2 -2
  110. package/dist/{chunk-PUKTBULQ.js → chunk-HWLIMQE2.js} +2 -2
  111. package/dist/{chunk-CWHV574S.js → chunk-IOSZHHJC.js} +6 -6
  112. package/dist/{chunk-P2WZHLUF.js → chunk-JVPWRNHA.js} +2 -2
  113. package/dist/{chunk-6ET2VII7.js → chunk-JYG2334B.js} +2 -2
  114. package/dist/chunk-K6T33R4Q.js +535 -0
  115. package/dist/chunk-K6T33R4Q.js.map +1 -0
  116. package/dist/{chunk-WIKO4SCR.js → chunk-LHRQBMJN.js} +2 -2
  117. package/dist/{chunk-K4J4E7WV.js → chunk-LO4UKPKX.js} +2 -2
  118. package/dist/{chunk-LF5IGOOD.js → chunk-LU7E2MXE.js} +17 -17
  119. package/dist/{chunk-RJLV4BKR.js → chunk-LV5H6FTN.js} +2 -2
  120. package/dist/{chunk-3C3J243X.js → chunk-LW3HKRL7.js} +3 -3
  121. package/dist/{chunk-4BZP2B4U.js → chunk-M6C7SOR6.js} +2 -2
  122. package/dist/{chunk-JN72EPOE.js → chunk-MAAL6OZV.js} +7 -7
  123. package/dist/chunk-MAAL6OZV.js.map +1 -0
  124. package/dist/{chunk-MY2PLXSM.js → chunk-MCTM4YPL.js} +2 -1
  125. package/dist/{chunk-MY2PLXSM.js.map → chunk-MCTM4YPL.js.map} +1 -1
  126. package/dist/{chunk-SPSRGEDQ.js → chunk-MXCAJKMA.js} +9 -9
  127. package/dist/{chunk-BMYZTZ5D.js → chunk-MY7B3HYC.js} +2 -2
  128. package/dist/{chunk-NB3LRY4T.js → chunk-N4PYB235.js} +2 -2
  129. package/dist/{chunk-S3YM4SZQ.js → chunk-N7QV3CMX.js} +2 -2
  130. package/dist/{chunk-AQK54Q7O.js → chunk-NYKIUQL6.js} +2 -2
  131. package/dist/{chunk-WQZZDN5M.js → chunk-OCFXVDBZ.js} +322 -376
  132. package/dist/chunk-OCFXVDBZ.js.map +1 -0
  133. package/dist/{chunk-NE6PHPLG.js → chunk-OK52IY3W.js} +10 -10
  134. package/dist/{chunk-6TT6HRE4.js → chunk-P2ODTYOF.js} +2 -2
  135. package/dist/{chunk-W4AOR52H.js → chunk-PEBHPCX2.js} +2 -2
  136. package/dist/{chunk-VYCOJKSX.js → chunk-PO7NXNGC.js} +2 -2
  137. package/dist/{chunk-G6SVZWPB.js → chunk-PZX3AQLF.js} +44 -1
  138. package/dist/chunk-PZX3AQLF.js.map +1 -0
  139. package/dist/{chunk-XAITGGX5.js → chunk-Q4AUIFUA.js} +4 -4
  140. package/dist/{chunk-MQJL6CDZ.js → chunk-QAW55ZHJ.js} +4 -4
  141. package/dist/{chunk-FOH7AMMI.js → chunk-QB57WIS6.js} +73 -82
  142. package/dist/chunk-QB57WIS6.js.map +1 -0
  143. package/dist/{chunk-QVS22WTO.js → chunk-QI7K7BZ5.js} +2 -2
  144. package/dist/{chunk-NE7I2RCT.js → chunk-R3X2T2LP.js} +2 -2
  145. package/dist/{chunk-S7GCT7NU.js → chunk-RBITPCMK.js} +8 -8
  146. package/dist/{chunk-YTQGGO3K.js → chunk-S2GE2K36.js} +81 -78
  147. package/dist/{chunk-YTQGGO3K.js.map → chunk-S2GE2K36.js.map} +1 -1
  148. package/dist/{chunk-BJRAELDH.js → chunk-SCXURCVT.js} +3 -3
  149. package/dist/{chunk-FRCESVV6.js → chunk-STEOT4DI.js} +19 -19
  150. package/dist/chunk-STEOT4DI.js.map +1 -0
  151. package/dist/{chunk-BFO3IR56.js → chunk-SWBC3UER.js} +2 -2
  152. package/dist/chunk-TYT4TEQV.js +45 -0
  153. package/dist/chunk-TYT4TEQV.js.map +1 -0
  154. package/dist/{chunk-YRLHEEQT.js → chunk-U6VC6RP3.js} +2 -2
  155. package/dist/chunk-UCPGOUDZ.js +726 -0
  156. package/dist/chunk-UCPGOUDZ.js.map +1 -0
  157. package/dist/{chunk-MOQPEFLN.js → chunk-UP75KL3L.js} +2 -2
  158. package/dist/{chunk-D5F7TKMH.js → chunk-V4JZCTMK.js} +2 -2
  159. package/dist/{chunk-QEV26L2F.js → chunk-VALKBYBN.js} +2 -2
  160. package/dist/{chunk-7LCGFUMB.js → chunk-VDX2J7OX.js} +4 -4
  161. package/dist/{chunk-TDYAIXHK.js → chunk-VVX5PZFS.js} +5 -5
  162. package/dist/{chunk-6NQ4LSMS.js → chunk-W3XXFPRI.js} +52 -52
  163. package/dist/{chunk-4IIMMZZK.js → chunk-WKY7N3L7.js} +10 -10
  164. package/dist/{chunk-VVDWZRZG.js → chunk-X5SHE2O3.js} +3 -3
  165. package/dist/{chunk-NR2ASHBL.js → chunk-XOV7NRY5.js} +2 -2
  166. package/dist/{chunk-6L3PBSAR.js → chunk-YJ7MW627.js} +2 -2
  167. package/dist/{chunk-LQG5O5EP.js → chunk-Z3O53WZR.js} +2 -2
  168. package/dist/{chunk-FB64XE3R.js → chunk-Z5LP6ILP.js} +2 -2
  169. package/dist/{chunk-VKQI47DJ.js → chunk-Z6EZCN6Z.js} +8 -8
  170. package/dist/{chunk-V2ES4WCZ.js → chunk-ZZZ4I455.js} +2 -2
  171. package/dist/cli.js +106 -100
  172. package/dist/coding/export-okf-codegraph.js +16 -16
  173. package/dist/coding/pre-action-gate.js +2 -2
  174. package/dist/compounding/engine.js +16 -16
  175. package/dist/config.js +27 -22
  176. package/dist/connectors/codex-materialize-runner.js +15 -15
  177. package/dist/connectors/index.js +15 -15
  178. package/dist/console/state.d.ts +30 -0
  179. package/dist/console/state.d.ts.map +1 -1
  180. package/dist/contradiction/index.js +5 -5
  181. package/dist/convergence-refresh.js +17 -17
  182. package/dist/corpus-watermark.js +17 -17
  183. package/dist/dashboard-runtime.js +2 -2
  184. package/dist/deep-recall-http-glue.js +15 -8
  185. package/dist/embedding-fallback.d.ts +41 -31
  186. package/dist/embedding-fallback.d.ts.map +1 -1
  187. package/dist/embedding-fallback.js +9 -1
  188. package/dist/embedding-generation-lock.d.ts +49 -0
  189. package/dist/embedding-generation-lock.d.ts.map +1 -0
  190. package/dist/embedding-generation-lock.js +19 -0
  191. package/dist/embedding-index-storage.d.ts +276 -0
  192. package/dist/embedding-index-storage.d.ts.map +1 -0
  193. package/dist/embedding-index-storage.js +28 -0
  194. package/dist/entity-retrieval.js +16 -16
  195. package/dist/event-order-recall.js +3 -3
  196. package/dist/explicit-capture.js +6 -6
  197. package/dist/external-wiki-access.js +62 -56
  198. package/dist/extraction.js +21 -21
  199. package/dist/{graph-edge-decay-KQGS3L3B.js → graph-edge-decay-MKIRZ762.js} +5 -5
  200. package/dist/graph-jsonl.js +3 -3
  201. package/dist/graph-snapshot.js +3 -3
  202. package/dist/graph.js +2 -2
  203. package/dist/harmonic-retrieval.js +1 -1
  204. package/dist/index.d.ts +2 -0
  205. package/dist/index.d.ts.map +1 -1
  206. package/dist/index.js +207 -177
  207. package/dist/lcm/engine.js +3 -3
  208. package/dist/lcm/index.js +9 -9
  209. package/dist/local-llm.js +2 -2
  210. package/dist/location/index.js +18 -18
  211. package/dist/maintenance/memory-governance.js +15 -15
  212. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +15 -15
  213. package/dist/maintenance/rebuild-memory-projection.js +16 -16
  214. package/dist/memory-browse-operations.js +62 -56
  215. package/dist/memory-subject.js +3 -3
  216. package/dist/namespaces/migrate.js +16 -16
  217. package/dist/namespaces/search.js +4 -4
  218. package/dist/namespaces/storage.js +15 -15
  219. package/dist/offline-sync-embedding-generation.d.ts +207 -0
  220. package/dist/offline-sync-embedding-generation.d.ts.map +1 -0
  221. package/dist/offline-sync-embedding-generation.js +42 -0
  222. package/dist/offline-sync-exclude-globs.d.ts +15 -0
  223. package/dist/offline-sync-exclude-globs.d.ts.map +1 -1
  224. package/dist/offline-sync-exclude-globs.js +11 -3
  225. package/dist/offline-sync-file-io.d.ts +7 -0
  226. package/dist/offline-sync-file-io.d.ts.map +1 -1
  227. package/dist/offline-sync-file-io.js +14 -2
  228. package/dist/offline-sync-impression-drain.js +3 -3
  229. package/dist/offline-sync-runtime-state.d.ts +5 -0
  230. package/dist/offline-sync-runtime-state.d.ts.map +1 -0
  231. package/dist/offline-sync-runtime-state.js +14 -0
  232. package/dist/offline-sync-runtime-state.js.map +1 -0
  233. package/dist/offline-sync-snapshot-stream.d.ts +26 -0
  234. package/dist/offline-sync-snapshot-stream.d.ts.map +1 -0
  235. package/dist/offline-sync-snapshot-stream.js +28 -0
  236. package/dist/offline-sync-snapshot-stream.js.map +1 -0
  237. package/dist/offline-sync-upload-staging.d.ts +34 -0
  238. package/dist/offline-sync-upload-staging.d.ts.map +1 -0
  239. package/dist/offline-sync-upload-staging.js +26 -0
  240. package/dist/offline-sync-upload-staging.js.map +1 -0
  241. package/dist/offline-sync.d.ts +46 -27
  242. package/dist/offline-sync.d.ts.map +1 -1
  243. package/dist/offline-sync.js +21 -8
  244. package/dist/operator-doctor-corpus.js +18 -18
  245. package/dist/operator-toolkit.js +38 -33
  246. package/dist/orchestration/maintenance.js +26 -26
  247. package/dist/orchestrator.d.ts.map +1 -1
  248. package/dist/orchestrator.js +142 -136
  249. package/dist/recall-navigation-operations.js +62 -56
  250. package/dist/recall-navigation.js +61 -55
  251. package/dist/reconcile/manifest.js +4 -4
  252. package/dist/{resolution-DNX7FO7A.js → resolution-K4A3VPKZ.js} +6 -6
  253. package/dist/resolution-K4A3VPKZ.js.map +1 -0
  254. package/dist/resume-bundles.js +28 -23
  255. package/dist/salvage-envelope.js +5 -5
  256. package/dist/search/factory.js +3 -3
  257. package/dist/search/index.js +7 -7
  258. package/dist/secure-store/index.js +2 -2
  259. package/dist/secure-store/secure-fs.d.ts +14 -1
  260. package/dist/secure-store/secure-fs.d.ts.map +1 -1
  261. package/dist/semantic-consolidation.js +16 -16
  262. package/dist/semantic-rule-promotion.js +15 -15
  263. package/dist/semantic-rule-verifier.js +15 -15
  264. package/dist/source-agent-qualifier.js +18 -18
  265. package/dist/standup/build.js +15 -15
  266. package/dist/{state-ITXJKXRE.js → state-JB47KHYV.js} +2 -2
  267. package/dist/state-JB47KHYV.js.map +1 -0
  268. package/dist/storage.d.ts +9 -3
  269. package/dist/storage.d.ts.map +1 -1
  270. package/dist/storage.js +14 -14
  271. package/dist/subject-config.js +4 -4
  272. package/dist/summarizer.js +3 -3
  273. package/dist/support-passport/index.js +64 -58
  274. package/dist/{trace-ZFVRH4GO.js → trace-LXXCMZJA.js} +3 -3
  275. package/dist/transfer/backup.js +2 -2
  276. package/dist/transfer/capsule-export.js +2 -2
  277. package/dist/transfer/capsule-import.js +3 -3
  278. package/dist/transfer/export-okf.js +16 -16
  279. package/dist/{tui-55UJMJX7.js → tui-2Z5WOV7L.js} +3 -3
  280. package/dist/tui-2Z5WOV7L.js.map +1 -0
  281. package/dist/verified-recall.js +15 -15
  282. package/dist/who-knows-cli.js +16 -16
  283. package/dist/who-knows.js +15 -15
  284. package/dist/write-envelope.js +4 -4
  285. package/package.json +2 -2
  286. package/src/access-http-offline-stream.ts +3 -0
  287. package/src/access-mcp-output-schemas.ts +1 -0
  288. package/src/access-service.ts +7 -18
  289. package/src/console/state.test.ts +56 -0
  290. package/src/console/state.ts +83 -0
  291. package/src/embedding-fallback.ts +325 -141
  292. package/src/embedding-generation-lock.ts +141 -0
  293. package/src/embedding-index-storage.test.ts +245 -0
  294. package/src/embedding-index-storage.ts +1068 -0
  295. package/src/index.ts +3 -3
  296. package/src/offline-sync-embedding-generation.test.ts +2173 -0
  297. package/src/offline-sync-embedding-generation.ts +885 -0
  298. package/src/offline-sync-exclude-globs.ts +112 -0
  299. package/src/offline-sync-file-io.ts +48 -0
  300. package/src/offline-sync-runtime-state.ts +48 -0
  301. package/src/offline-sync-snapshot-stream.ts +99 -0
  302. package/src/offline-sync-upload-staging.ts +291 -0
  303. package/src/offline-sync.test.ts +164 -1
  304. package/src/offline-sync.ts +458 -453
  305. package/src/orchestrator.ts +2 -1
  306. package/src/secure-store/secure-fs.ts +26 -6
  307. package/src/storage.ts +11 -6
  308. package/dist/chunk-3BTFBQLO.js.map +0 -1
  309. package/dist/chunk-AREGMX2J.js +0 -50
  310. package/dist/chunk-AREGMX2J.js.map +0 -1
  311. package/dist/chunk-FOH7AMMI.js.map +0 -1
  312. package/dist/chunk-FRCESVV6.js.map +0 -1
  313. package/dist/chunk-G6SVZWPB.js.map +0 -1
  314. package/dist/chunk-JN72EPOE.js.map +0 -1
  315. package/dist/chunk-RB776UH3.js.map +0 -1
  316. package/dist/chunk-WQZZDN5M.js.map +0 -1
  317. /package/dist/{auto-sync-6IPX2BAC.js.map → auto-sync-U5N3CB5Y.js.map} +0 -0
  318. /package/dist/{capsule-crypto-7FJQINUR.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
  319. /package/dist/{capsule-merge-3MNURAQ3.js.map → capsule-merge-ZCXUPLNJ.js.map} +0 -0
  320. /package/dist/{chunk-JE334SIA.js.map → chunk-22DYJLFN.js.map} +0 -0
  321. /package/dist/{chunk-JGSQ6P4D.js.map → chunk-2DLWLNO4.js.map} +0 -0
  322. /package/dist/{chunk-LS3XH3UE.js.map → chunk-2NAD4YCI.js.map} +0 -0
  323. /package/dist/{chunk-SY5KDWGU.js.map → chunk-2WLMWP2T.js.map} +0 -0
  324. /package/dist/{chunk-P6WFK4ZJ.js.map → chunk-3O5BB45T.js.map} +0 -0
  325. /package/dist/{chunk-SOZUJCME.js.map → chunk-3SGTV7RD.js.map} +0 -0
  326. /package/dist/{chunk-YITN5WXI.js.map → chunk-4KN2JLQV.js.map} +0 -0
  327. /package/dist/{chunk-JKMHZF3Q.js.map → chunk-4MP7XR5J.js.map} +0 -0
  328. /package/dist/{chunk-7DE2NOON.js.map → chunk-4O4XCBOS.js.map} +0 -0
  329. /package/dist/{chunk-SLEAJ67D.js.map → chunk-4OQET73E.js.map} +0 -0
  330. /package/dist/{chunk-GDYU6VF4.js.map → chunk-5AYUHSAU.js.map} +0 -0
  331. /package/dist/{chunk-QWW2JDDX.js.map → chunk-5E6RYRYW.js.map} +0 -0
  332. /package/dist/{chunk-ICZQG4XE.js.map → chunk-5FAGCOZD.js.map} +0 -0
  333. /package/dist/{chunk-4IEOGIPB.js.map → chunk-5MNUBT7T.js.map} +0 -0
  334. /package/dist/{chunk-52II7PB6.js.map → chunk-645WOU5I.js.map} +0 -0
  335. /package/dist/{chunk-DUJYRVUD.js.map → chunk-6O2VUWV6.js.map} +0 -0
  336. /package/dist/{chunk-CS52MFDV.js.map → chunk-6UQFJULG.js.map} +0 -0
  337. /package/dist/{chunk-HESDNYRB.js.map → chunk-76M5OK7V.js.map} +0 -0
  338. /package/dist/{chunk-4CDYONWO.js.map → chunk-A4VSOUCB.js.map} +0 -0
  339. /package/dist/{chunk-HBBHL4YF.js.map → chunk-AE5U5NMS.js.map} +0 -0
  340. /package/dist/{chunk-CUCWX3MO.js.map → chunk-AEHVZY3X.js.map} +0 -0
  341. /package/dist/{chunk-DZ525SNQ.js.map → chunk-AEU4EQGV.js.map} +0 -0
  342. /package/dist/{chunk-VLLD4TOB.js.map → chunk-AWG3TIAY.js.map} +0 -0
  343. /package/dist/{chunk-72JNNJJJ.js.map → chunk-AXC4WSF3.js.map} +0 -0
  344. /package/dist/{chunk-N4S4NUX5.js.map → chunk-B3O3IRZN.js.map} +0 -0
  345. /package/dist/{chunk-FAN73COB.js.map → chunk-BGI4NUAO.js.map} +0 -0
  346. /package/dist/{chunk-XTYX6V52.js.map → chunk-BJVO4H5C.js.map} +0 -0
  347. /package/dist/{chunk-EHS5MJEF.js.map → chunk-BLVR4WYU.js.map} +0 -0
  348. /package/dist/{chunk-KFCMMDHH.js.map → chunk-BOZJD5PK.js.map} +0 -0
  349. /package/dist/{chunk-TM3RXL4G.js.map → chunk-BUQKSQXL.js.map} +0 -0
  350. /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
  351. /package/dist/{chunk-EVBI7S4J.js.map → chunk-C6U57KG4.js.map} +0 -0
  352. /package/dist/{chunk-VX6GCKBS.js.map → chunk-C7ZDKWPS.js.map} +0 -0
  353. /package/dist/{chunk-ZI7QA4MK.js.map → chunk-CRXRZA3G.js.map} +0 -0
  354. /package/dist/{chunk-VQNONC4E.js.map → chunk-CZJA2EQE.js.map} +0 -0
  355. /package/dist/{chunk-M536WNTQ.js.map → chunk-D5BSQR63.js.map} +0 -0
  356. /package/dist/{chunk-37S3IMYB.js.map → chunk-DGS34QSY.js.map} +0 -0
  357. /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
  358. /package/dist/{chunk-C3QXITIP.js.map → chunk-EQUD7FP4.js.map} +0 -0
  359. /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
  360. /package/dist/{chunk-EQ6YOIKO.js.map → chunk-FJLQXMTU.js.map} +0 -0
  361. /package/dist/{chunk-SRZW7FNU.js.map → chunk-FKD656D2.js.map} +0 -0
  362. /package/dist/{chunk-CLXTDOKV.js.map → chunk-FUNBJQYR.js.map} +0 -0
  363. /package/dist/{chunk-CLSYE5OZ.js.map → chunk-G2STTRYB.js.map} +0 -0
  364. /package/dist/{chunk-KP7SANCF.js.map → chunk-GWM6T5EQ.js.map} +0 -0
  365. /package/dist/{chunk-UA5DX5C3.js.map → chunk-GZDTVYK2.js.map} +0 -0
  366. /package/dist/{chunk-3GQC3NMB.js.map → chunk-H56VY4BY.js.map} +0 -0
  367. /package/dist/{chunk-L6UZEAID.js.map → chunk-H5BJWPUI.js.map} +0 -0
  368. /package/dist/{chunk-YSJTCOHR.js.map → chunk-HLB7GKGG.js.map} +0 -0
  369. /package/dist/{chunk-PUKTBULQ.js.map → chunk-HWLIMQE2.js.map} +0 -0
  370. /package/dist/{chunk-CWHV574S.js.map → chunk-IOSZHHJC.js.map} +0 -0
  371. /package/dist/{chunk-P2WZHLUF.js.map → chunk-JVPWRNHA.js.map} +0 -0
  372. /package/dist/{chunk-6ET2VII7.js.map → chunk-JYG2334B.js.map} +0 -0
  373. /package/dist/{chunk-WIKO4SCR.js.map → chunk-LHRQBMJN.js.map} +0 -0
  374. /package/dist/{chunk-K4J4E7WV.js.map → chunk-LO4UKPKX.js.map} +0 -0
  375. /package/dist/{chunk-LF5IGOOD.js.map → chunk-LU7E2MXE.js.map} +0 -0
  376. /package/dist/{chunk-RJLV4BKR.js.map → chunk-LV5H6FTN.js.map} +0 -0
  377. /package/dist/{chunk-3C3J243X.js.map → chunk-LW3HKRL7.js.map} +0 -0
  378. /package/dist/{chunk-4BZP2B4U.js.map → chunk-M6C7SOR6.js.map} +0 -0
  379. /package/dist/{chunk-SPSRGEDQ.js.map → chunk-MXCAJKMA.js.map} +0 -0
  380. /package/dist/{chunk-BMYZTZ5D.js.map → chunk-MY7B3HYC.js.map} +0 -0
  381. /package/dist/{chunk-NB3LRY4T.js.map → chunk-N4PYB235.js.map} +0 -0
  382. /package/dist/{chunk-S3YM4SZQ.js.map → chunk-N7QV3CMX.js.map} +0 -0
  383. /package/dist/{chunk-AQK54Q7O.js.map → chunk-NYKIUQL6.js.map} +0 -0
  384. /package/dist/{chunk-NE6PHPLG.js.map → chunk-OK52IY3W.js.map} +0 -0
  385. /package/dist/{chunk-6TT6HRE4.js.map → chunk-P2ODTYOF.js.map} +0 -0
  386. /package/dist/{chunk-W4AOR52H.js.map → chunk-PEBHPCX2.js.map} +0 -0
  387. /package/dist/{chunk-VYCOJKSX.js.map → chunk-PO7NXNGC.js.map} +0 -0
  388. /package/dist/{chunk-XAITGGX5.js.map → chunk-Q4AUIFUA.js.map} +0 -0
  389. /package/dist/{chunk-MQJL6CDZ.js.map → chunk-QAW55ZHJ.js.map} +0 -0
  390. /package/dist/{chunk-QVS22WTO.js.map → chunk-QI7K7BZ5.js.map} +0 -0
  391. /package/dist/{chunk-NE7I2RCT.js.map → chunk-R3X2T2LP.js.map} +0 -0
  392. /package/dist/{chunk-S7GCT7NU.js.map → chunk-RBITPCMK.js.map} +0 -0
  393. /package/dist/{chunk-BJRAELDH.js.map → chunk-SCXURCVT.js.map} +0 -0
  394. /package/dist/{chunk-BFO3IR56.js.map → chunk-SWBC3UER.js.map} +0 -0
  395. /package/dist/{chunk-YRLHEEQT.js.map → chunk-U6VC6RP3.js.map} +0 -0
  396. /package/dist/{chunk-MOQPEFLN.js.map → chunk-UP75KL3L.js.map} +0 -0
  397. /package/dist/{chunk-D5F7TKMH.js.map → chunk-V4JZCTMK.js.map} +0 -0
  398. /package/dist/{chunk-QEV26L2F.js.map → chunk-VALKBYBN.js.map} +0 -0
  399. /package/dist/{chunk-7LCGFUMB.js.map → chunk-VDX2J7OX.js.map} +0 -0
  400. /package/dist/{chunk-TDYAIXHK.js.map → chunk-VVX5PZFS.js.map} +0 -0
  401. /package/dist/{chunk-6NQ4LSMS.js.map → chunk-W3XXFPRI.js.map} +0 -0
  402. /package/dist/{chunk-4IIMMZZK.js.map → chunk-WKY7N3L7.js.map} +0 -0
  403. /package/dist/{chunk-VVDWZRZG.js.map → chunk-X5SHE2O3.js.map} +0 -0
  404. /package/dist/{chunk-NR2ASHBL.js.map → chunk-XOV7NRY5.js.map} +0 -0
  405. /package/dist/{chunk-6L3PBSAR.js.map → chunk-YJ7MW627.js.map} +0 -0
  406. /package/dist/{chunk-LQG5O5EP.js.map → chunk-Z3O53WZR.js.map} +0 -0
  407. /package/dist/{chunk-FB64XE3R.js.map → chunk-Z5LP6ILP.js.map} +0 -0
  408. /package/dist/{chunk-VKQI47DJ.js.map → chunk-Z6EZCN6Z.js.map} +0 -0
  409. /package/dist/{chunk-V2ES4WCZ.js.map → chunk-ZZZ4I455.js.map} +0 -0
  410. /package/dist/{graph-edge-decay-KQGS3L3B.js.map → embedding-generation-lock.js.map} +0 -0
  411. /package/dist/{resolution-DNX7FO7A.js.map → embedding-index-storage.js.map} +0 -0
  412. /package/dist/{state-ITXJKXRE.js.map → graph-edge-decay-MKIRZ762.js.map} +0 -0
  413. /package/dist/{tui-55UJMJX7.js.map → offline-sync-embedding-generation.js.map} +0 -0
  414. /package/dist/{trace-ZFVRH4GO.js.map → trace-LXXCMZJA.js.map} +0 -0
@@ -3,6 +3,9 @@ import {
3
3
  withGraphWriteLock,
4
4
  yieldForLockHeartbeat
5
5
  } from "./chunk-EUT2WCWS.js";
6
+ import {
7
+ readEdgeConfidence
8
+ } from "./chunk-2LSZVONP.js";
6
9
  import {
7
10
  emitGraphEvent
8
11
  } from "./chunk-DEUNUKTD.js";
@@ -14,9 +17,6 @@ import {
14
17
  import {
15
18
  GraphEdgeAppendError
16
19
  } from "./chunk-GKCXTSFF.js";
17
- import {
18
- readEdgeConfidence
19
- } from "./chunk-2LSZVONP.js";
20
20
  import {
21
21
  isErrnoCode
22
22
  } from "./chunk-KNA3BXXL.js";
@@ -758,4 +758,4 @@ export {
758
758
  applyPageRankRefinement,
759
759
  applyLateralInhibition
760
760
  };
761
- //# sourceMappingURL=chunk-ICZQG4XE.js.map
761
+ //# sourceMappingURL=chunk-5FAGCOZD.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listNamespaces
3
- } from "./chunk-JGSQ6P4D.js";
3
+ } from "./chunk-2DLWLNO4.js";
4
4
  import {
5
5
  capabilityAllowsNamespace
6
6
  } from "./chunk-IG747LRN.js";
@@ -282,4 +282,4 @@ export {
282
282
  computeServiceCorpusWatermarks,
283
283
  computeServiceCorpusCensus
284
284
  };
285
- //# sourceMappingURL=chunk-4IEOGIPB.js.map
285
+ //# sourceMappingURL=chunk-5MNUBT7T.js.map
@@ -50,7 +50,8 @@ async function respondOfflineSnapshotStream(response, snapshot, requestId) {
50
50
  createdAt: snapshot.createdAt,
51
51
  sourceId: snapshot.sourceId,
52
52
  includeTranscripts: snapshot.includeTranscripts,
53
- deletions: snapshot.deletions
53
+ deletions: snapshot.deletions,
54
+ ...snapshot.omittedEmbeddingGenerationDirs ? { omittedEmbeddingGenerationDirs: snapshot.omittedEmbeddingGenerationDirs } : {}
54
55
  }, snapshot.files, requestId);
55
56
  }
56
57
  async function respondOfflineManifestStream(response, manifest, requestId) {
@@ -66,4 +67,4 @@ export {
66
67
  respondOfflineSnapshotStream,
67
68
  respondOfflineManifestStream
68
69
  };
69
- //# sourceMappingURL=chunk-CK5KOVHW.js.map
70
+ //# sourceMappingURL=chunk-5R627MYY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/access-http-offline-stream.ts"],"sourcesContent":["import type { ServerResponse } from \"node:http\";\nimport type { OfflineSyncManifestStreamResponse } from \"./access-offline-manifest.js\";\nimport type { EngramAccessOfflineSyncSnapshotStreamResponse } from \"./access-service.js\";\n\nasync function respondOfflineNdjsonStream(\n response: ServerResponse,\n header: unknown,\n files: AsyncIterable<unknown>,\n requestId?: string,\n): Promise<void> {\n response.statusCode = 200;\n response.setHeader(\"content-type\", \"application/x-ndjson; charset=utf-8\");\n response.setHeader(\"cache-control\", \"no-store\");\n if (requestId) response.setHeader(\"x-request-id\", requestId);\n const waitForDrainOrClose = async (): Promise<boolean> => {\n const { promise, resolve, reject } = Promise.withResolvers<boolean>();\n const cleanup = () => {\n response.off(\"drain\", onDrain);\n response.off(\"close\", onClose);\n response.off(\"error\", onError);\n };\n const onDrain = () => {\n cleanup();\n resolve(true);\n };\n const onClose = () => {\n cleanup();\n resolve(false);\n };\n const onError = (error: Error) => {\n cleanup();\n reject(error);\n };\n response.once(\"drain\", onDrain);\n response.once(\"close\", onClose);\n response.once(\"error\", onError);\n return promise;\n };\n const writeLine = async (payload: unknown): Promise<boolean> => {\n if (response.destroyed || response.writableEnded) return false;\n if (response.write(`${JSON.stringify(payload)}\\n`)) return true;\n if (response.destroyed || response.writableEnded) return false;\n return waitForDrainOrClose();\n };\n if (!await writeLine(header)) return;\n for await (const file of files) {\n if (!await writeLine({ type: \"file\", file })) return;\n }\n if (!response.destroyed && !response.writableEnded) response.end();\n}\n\nexport async function respondOfflineSnapshotStream(\n response: ServerResponse,\n snapshot: EngramAccessOfflineSyncSnapshotStreamResponse,\n requestId?: string,\n): Promise<void> {\n await respondOfflineNdjsonStream(response, {\n type: \"snapshot\",\n namespace: snapshot.namespace,\n format: snapshot.format,\n schemaVersion: snapshot.schemaVersion,\n createdAt: snapshot.createdAt,\n sourceId: snapshot.sourceId,\n includeTranscripts: snapshot.includeTranscripts,\n deletions: snapshot.deletions,\n }, snapshot.files, requestId);\n}\n\nexport async function respondOfflineManifestStream(\n response: ServerResponse,\n manifest: OfflineSyncManifestStreamResponse,\n requestId?: string,\n): Promise<void> {\n await respondOfflineNdjsonStream(response, {\n type: \"manifest\",\n namespace: manifest.namespace,\n format: manifest.format,\n schemaVersion: manifest.schemaVersion,\n }, manifest.files, requestId);\n}\n"],"mappings":";AAIA,eAAe,2BACb,UACA,QACA,OACA,WACe;AACf,WAAS,aAAa;AACtB,WAAS,UAAU,gBAAgB,qCAAqC;AACxE,WAAS,UAAU,iBAAiB,UAAU;AAC9C,MAAI,UAAW,UAAS,UAAU,gBAAgB,SAAS;AAC3D,QAAM,sBAAsB,YAA8B;AACxD,UAAM,EAAE,SAAS,SAAS,OAAO,IAAI,QAAQ,cAAuB;AACpE,UAAM,UAAU,MAAM;AACpB,eAAS,IAAI,SAAS,OAAO;AAC7B,eAAS,IAAI,SAAS,OAAO;AAC7B,eAAS,IAAI,SAAS,OAAO;AAAA,IAC/B;AACA,UAAM,UAAU,MAAM;AACpB,cAAQ;AACR,cAAQ,IAAI;AAAA,IACd;AACA,UAAM,UAAU,MAAM;AACpB,cAAQ;AACR,cAAQ,KAAK;AAAA,IACf;AACA,UAAM,UAAU,CAAC,UAAiB;AAChC,cAAQ;AACR,aAAO,KAAK;AAAA,IACd;AACA,aAAS,KAAK,SAAS,OAAO;AAC9B,aAAS,KAAK,SAAS,OAAO;AAC9B,aAAS,KAAK,SAAS,OAAO;AAC9B,WAAO;AAAA,EACT;AACA,QAAM,YAAY,OAAO,YAAuC;AAC9D,QAAI,SAAS,aAAa,SAAS,cAAe,QAAO;AACzD,QAAI,SAAS,MAAM,GAAG,KAAK,UAAU,OAAO,CAAC;AAAA,CAAI,EAAG,QAAO;AAC3D,QAAI,SAAS,aAAa,SAAS,cAAe,QAAO;AACzD,WAAO,oBAAoB;AAAA,EAC7B;AACA,MAAI,CAAC,MAAM,UAAU,MAAM,EAAG;AAC9B,mBAAiB,QAAQ,OAAO;AAC9B,QAAI,CAAC,MAAM,UAAU,EAAE,MAAM,QAAQ,KAAK,CAAC,EAAG;AAAA,EAChD;AACA,MAAI,CAAC,SAAS,aAAa,CAAC,SAAS,cAAe,UAAS,IAAI;AACnE;AAEA,eAAsB,6BACpB,UACA,UACA,WACe;AACf,QAAM,2BAA2B,UAAU;AAAA,IACzC,MAAM;AAAA,IACN,WAAW,SAAS;AAAA,IACpB,QAAQ,SAAS;AAAA,IACjB,eAAe,SAAS;AAAA,IACxB,WAAW,SAAS;AAAA,IACpB,UAAU,SAAS;AAAA,IACnB,oBAAoB,SAAS;AAAA,IAC7B,WAAW,SAAS;AAAA,EACtB,GAAG,SAAS,OAAO,SAAS;AAC9B;AAEA,eAAsB,6BACpB,UACA,UACA,WACe;AACf,QAAM,2BAA2B,UAAU;AAAA,IACzC,MAAM;AAAA,IACN,WAAW,SAAS;AAAA,IACpB,QAAQ,SAAS;AAAA,IACjB,eAAe,SAAS;AAAA,EAC1B,GAAG,SAAS,OAAO,SAAS;AAC9B;","names":[]}
1
+ {"version":3,"sources":["../src/access-http-offline-stream.ts"],"sourcesContent":["import type { ServerResponse } from \"node:http\";\nimport type { OfflineSyncManifestStreamResponse } from \"./access-offline-manifest.js\";\nimport type { EngramAccessOfflineSyncSnapshotStreamResponse } from \"./access-service.js\";\n\nasync function respondOfflineNdjsonStream(\n response: ServerResponse,\n header: unknown,\n files: AsyncIterable<unknown>,\n requestId?: string,\n): Promise<void> {\n response.statusCode = 200;\n response.setHeader(\"content-type\", \"application/x-ndjson; charset=utf-8\");\n response.setHeader(\"cache-control\", \"no-store\");\n if (requestId) response.setHeader(\"x-request-id\", requestId);\n const waitForDrainOrClose = async (): Promise<boolean> => {\n const { promise, resolve, reject } = Promise.withResolvers<boolean>();\n const cleanup = () => {\n response.off(\"drain\", onDrain);\n response.off(\"close\", onClose);\n response.off(\"error\", onError);\n };\n const onDrain = () => {\n cleanup();\n resolve(true);\n };\n const onClose = () => {\n cleanup();\n resolve(false);\n };\n const onError = (error: Error) => {\n cleanup();\n reject(error);\n };\n response.once(\"drain\", onDrain);\n response.once(\"close\", onClose);\n response.once(\"error\", onError);\n return promise;\n };\n const writeLine = async (payload: unknown): Promise<boolean> => {\n if (response.destroyed || response.writableEnded) return false;\n if (response.write(`${JSON.stringify(payload)}\\n`)) return true;\n if (response.destroyed || response.writableEnded) return false;\n return waitForDrainOrClose();\n };\n if (!await writeLine(header)) return;\n for await (const file of files) {\n if (!await writeLine({ type: \"file\", file })) return;\n }\n if (!response.destroyed && !response.writableEnded) response.end();\n}\n\nexport async function respondOfflineSnapshotStream(\n response: ServerResponse,\n snapshot: EngramAccessOfflineSyncSnapshotStreamResponse,\n requestId?: string,\n): Promise<void> {\n await respondOfflineNdjsonStream(response, {\n type: \"snapshot\",\n namespace: snapshot.namespace,\n format: snapshot.format,\n schemaVersion: snapshot.schemaVersion,\n createdAt: snapshot.createdAt,\n sourceId: snapshot.sourceId,\n includeTranscripts: snapshot.includeTranscripts,\n deletions: snapshot.deletions,\n ...(snapshot.omittedEmbeddingGenerationDirs\n ? { omittedEmbeddingGenerationDirs: snapshot.omittedEmbeddingGenerationDirs }\n : {}),\n }, snapshot.files, requestId);\n}\n\nexport async function respondOfflineManifestStream(\n response: ServerResponse,\n manifest: OfflineSyncManifestStreamResponse,\n requestId?: string,\n): Promise<void> {\n await respondOfflineNdjsonStream(response, {\n type: \"manifest\",\n namespace: manifest.namespace,\n format: manifest.format,\n schemaVersion: manifest.schemaVersion,\n }, manifest.files, requestId);\n}\n"],"mappings":";AAIA,eAAe,2BACb,UACA,QACA,OACA,WACe;AACf,WAAS,aAAa;AACtB,WAAS,UAAU,gBAAgB,qCAAqC;AACxE,WAAS,UAAU,iBAAiB,UAAU;AAC9C,MAAI,UAAW,UAAS,UAAU,gBAAgB,SAAS;AAC3D,QAAM,sBAAsB,YAA8B;AACxD,UAAM,EAAE,SAAS,SAAS,OAAO,IAAI,QAAQ,cAAuB;AACpE,UAAM,UAAU,MAAM;AACpB,eAAS,IAAI,SAAS,OAAO;AAC7B,eAAS,IAAI,SAAS,OAAO;AAC7B,eAAS,IAAI,SAAS,OAAO;AAAA,IAC/B;AACA,UAAM,UAAU,MAAM;AACpB,cAAQ;AACR,cAAQ,IAAI;AAAA,IACd;AACA,UAAM,UAAU,MAAM;AACpB,cAAQ;AACR,cAAQ,KAAK;AAAA,IACf;AACA,UAAM,UAAU,CAAC,UAAiB;AAChC,cAAQ;AACR,aAAO,KAAK;AAAA,IACd;AACA,aAAS,KAAK,SAAS,OAAO;AAC9B,aAAS,KAAK,SAAS,OAAO;AAC9B,aAAS,KAAK,SAAS,OAAO;AAC9B,WAAO;AAAA,EACT;AACA,QAAM,YAAY,OAAO,YAAuC;AAC9D,QAAI,SAAS,aAAa,SAAS,cAAe,QAAO;AACzD,QAAI,SAAS,MAAM,GAAG,KAAK,UAAU,OAAO,CAAC;AAAA,CAAI,EAAG,QAAO;AAC3D,QAAI,SAAS,aAAa,SAAS,cAAe,QAAO;AACzD,WAAO,oBAAoB;AAAA,EAC7B;AACA,MAAI,CAAC,MAAM,UAAU,MAAM,EAAG;AAC9B,mBAAiB,QAAQ,OAAO;AAC9B,QAAI,CAAC,MAAM,UAAU,EAAE,MAAM,QAAQ,KAAK,CAAC,EAAG;AAAA,EAChD;AACA,MAAI,CAAC,SAAS,aAAa,CAAC,SAAS,cAAe,UAAS,IAAI;AACnE;AAEA,eAAsB,6BACpB,UACA,UACA,WACe;AACf,QAAM,2BAA2B,UAAU;AAAA,IACzC,MAAM;AAAA,IACN,WAAW,SAAS;AAAA,IACpB,QAAQ,SAAS;AAAA,IACjB,eAAe,SAAS;AAAA,IACxB,WAAW,SAAS;AAAA,IACpB,UAAU,SAAS;AAAA,IACnB,oBAAoB,SAAS;AAAA,IAC7B,WAAW,SAAS;AAAA,IACpB,GAAI,SAAS,iCACT,EAAE,gCAAgC,SAAS,+BAA+B,IAC1E,CAAC;AAAA,EACP,GAAG,SAAS,OAAO,SAAS;AAC9B;AAEA,eAAsB,6BACpB,UACA,UACA,WACe;AACf,QAAM,2BAA2B,UAAU;AAAA,IACzC,MAAM;AAAA,IACN,WAAW,SAAS;AAAA,IACpB,QAAQ,SAAS;AAAA,IACjB,eAAe,SAAS;AAAA,EAC1B,GAAG,SAAS,OAAO,SAAS;AAC9B;","names":[]}
@@ -0,0 +1,64 @@
1
+ import {
2
+ OFFLINE_SYNC_SNAPSHOT_FORMAT,
3
+ filterOfflineSyncDeletionRevisions,
4
+ iterateOfflineSyncSnapshotFileRecords
5
+ } from "./chunk-OCFXVDBZ.js";
6
+ import {
7
+ computeOmittedEmbeddingGenerationPaths,
8
+ embeddingGenerationMembership
9
+ } from "./chunk-K6T33R4Q.js";
10
+ import {
11
+ matchesOfflineSyncDefaultExclude
12
+ } from "./chunk-4NSLQ7EU.js";
13
+
14
+ // src/offline-sync-snapshot-stream.ts
15
+ import { createHash } from "crypto";
16
+ async function buildEmbeddingAwareSnapshotStream(options) {
17
+ const storageHash = createHash("sha256").update(options.root).digest("hex").slice(0, 16);
18
+ const deletions = await filterOfflineSyncDeletionRevisions({
19
+ root: options.root,
20
+ deletions: options.deletions,
21
+ includeTranscripts: options.includeTranscripts,
22
+ userExcludeRegexps: options.userExcludeRegexps,
23
+ excludeFile: options.excludeFile
24
+ });
25
+ const omission = await computeOmittedEmbeddingGenerationPaths({
26
+ rootAbs: options.root,
27
+ userExcludeRegexps: options.userExcludeRegexps,
28
+ excludeFile: options.excludeFile,
29
+ // RAW pre-filter tombstones (see resolvePushEmbeddingGenerationState).
30
+ tombstonedPaths: options.deletions.map((deletion) => deletion.path),
31
+ isExcludedRelPath: (relPath) => matchesOfflineSyncDefaultExclude(relPath) || Boolean(options.userExcludeRegexps?.some((re) => re.test(relPath)))
32
+ });
33
+ const omittedDirs = new Set(omission.omittedDirs);
34
+ const deletionsAfterGenerationSuppression = deletions.filter((deletion) => {
35
+ const membership = embeddingGenerationMembership(deletion.path);
36
+ return !(membership && omittedDirs.has(membership.shardDir));
37
+ });
38
+ return {
39
+ namespace: options.namespace,
40
+ format: OFFLINE_SYNC_SNAPSHOT_FORMAT,
41
+ schemaVersion: 1,
42
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
43
+ sourceId: `remnic:${options.namespace}:${storageHash}`,
44
+ includeTranscripts: options.includeTranscripts,
45
+ deletions: deletionsAfterGenerationSuppression,
46
+ ...omission.omittedDirs.length > 0 ? { omittedEmbeddingGenerationDirs: omission.omittedDirs } : {},
47
+ files: iterateOfflineSyncSnapshotFileRecords({
48
+ root: options.root,
49
+ includeContent: options.includeContent,
50
+ includeTranscripts: options.includeTranscripts,
51
+ readFile: options.readFile,
52
+ readFileDigest: options.readFileDigest,
53
+ signal: options.signal,
54
+ userExcludeRegexps: options.userExcludeRegexps,
55
+ excludeFile: options.excludeFile,
56
+ skipEmbeddingGenerationPaths: omission.omittedPaths
57
+ })
58
+ };
59
+ }
60
+
61
+ export {
62
+ buildEmbeddingAwareSnapshotStream
63
+ };
64
+ //# sourceMappingURL=chunk-5X4MXNEU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/offline-sync-snapshot-stream.ts"],"sourcesContent":["// Streaming offline-sync snapshot builder (PR #3148 round 5). Extracted from\n// access-service.ts so the god-file line-count ratchet does not grow: the\n// stream carries whole-generation omission metadata alongside the file walk,\n// so a filtered embedding generation is announced instead of looking deleted.\nimport { createHash } from \"node:crypto\";\nimport type {\n OfflineSyncDeletionRevision,\n OfflineSyncFileRecord,\n OfflineSyncSnapshot,\n} from \"./offline-sync.js\";\nimport {\n filterOfflineSyncDeletionRevisions,\n OFFLINE_SYNC_SNAPSHOT_FORMAT,\n iterateOfflineSyncSnapshotFileRecords,\n} from \"./offline-sync.js\";\nimport {\n computeOmittedEmbeddingGenerationPaths,\n embeddingGenerationMembership,\n} from \"./offline-sync-embedding-generation.js\";\nimport type { OfflineSyncExcludeFile, OfflineSyncFileTarget } from \"./offline-sync-file-io.js\";\nimport { matchesOfflineSyncDefaultExclude } from \"./offline-sync-exclude-globs.js\";\nimport type { OfflineSyncFileDigest } from \"./offline-sync.js\";\n\nexport interface OfflineSyncSnapshotStreamBuildOptions {\n root: string;\n namespace: string;\n includeContent: boolean;\n includeTranscripts: boolean;\n userExcludeRegexps?: readonly RegExp[];\n excludeFile: OfflineSyncExcludeFile;\n readFile: (target: OfflineSyncFileTarget) => Promise<Buffer>;\n readFileDigest: (target: OfflineSyncFileTarget) => Promise<OfflineSyncFileDigest>;\n deletions: readonly OfflineSyncDeletionRevision[];\n signal?: AbortSignal;\n}\n\nexport type OfflineSyncSnapshotStreamBuild = Omit<OfflineSyncSnapshot, \"files\"> & {\n namespace: string;\n files: AsyncIterable<OfflineSyncFileRecord>;\n};\n\n/**\n * Build the streamed snapshot response: whole-generation omission computed\n * with the SAME filters the walk uses and announced in the header, so the\n * receiver never interprets a filtered generation as deleted.\n */\nexport async function buildEmbeddingAwareSnapshotStream(\n options: OfflineSyncSnapshotStreamBuildOptions,\n): Promise<OfflineSyncSnapshotStreamBuild> {\n const storageHash = createHash(\"sha256\").update(options.root).digest(\"hex\").slice(0, 16);\n // Deletions: the canonical filter (exclusions + stale-tombstone exists\n // check) FIRST, then whole-generation suppression so a filtered generation\n // is never announced as deleted (PR #3148 round 6).\n const deletions = await filterOfflineSyncDeletionRevisions({\n root: options.root,\n deletions: options.deletions,\n includeTranscripts: options.includeTranscripts,\n userExcludeRegexps: options.userExcludeRegexps,\n excludeFile: options.excludeFile,\n });\n const omission = await computeOmittedEmbeddingGenerationPaths({\n rootAbs: options.root,\n userExcludeRegexps: options.userExcludeRegexps,\n excludeFile: options.excludeFile,\n // RAW pre-filter tombstones (see resolvePushEmbeddingGenerationState).\n tombstonedPaths: options.deletions.map((deletion) => deletion.path),\n isExcludedRelPath: (relPath) =>\n matchesOfflineSyncDefaultExclude(relPath) ||\n Boolean(options.userExcludeRegexps?.some((re) => re.test(relPath))),\n });\n const omittedDirs = new Set(omission.omittedDirs);\n const deletionsAfterGenerationSuppression = deletions.filter((deletion) => {\n const membership = embeddingGenerationMembership(deletion.path);\n return !(membership && omittedDirs.has(membership.shardDir));\n });\n return {\n namespace: options.namespace,\n format: OFFLINE_SYNC_SNAPSHOT_FORMAT,\n schemaVersion: 1,\n createdAt: new Date().toISOString(),\n sourceId: `remnic:${options.namespace}:${storageHash}`,\n includeTranscripts: options.includeTranscripts,\n deletions: deletionsAfterGenerationSuppression,\n ...(omission.omittedDirs.length > 0\n ? { omittedEmbeddingGenerationDirs: omission.omittedDirs }\n : {}),\n files: iterateOfflineSyncSnapshotFileRecords({\n root: options.root,\n includeContent: options.includeContent,\n includeTranscripts: options.includeTranscripts,\n readFile: options.readFile,\n readFileDigest: options.readFileDigest,\n signal: options.signal,\n userExcludeRegexps: options.userExcludeRegexps,\n excludeFile: options.excludeFile,\n skipEmbeddingGenerationPaths: omission.omittedPaths,\n }),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AAIA,SAAS,kBAAkB;AA0C3B,eAAsB,kCACpB,SACyC;AACzC,QAAM,cAAc,WAAW,QAAQ,EAAE,OAAO,QAAQ,IAAI,EAAE,OAAO,KAAK,EAAE,MAAM,GAAG,EAAE;AAIvF,QAAM,YAAY,MAAM,mCAAmC;AAAA,IACzD,MAAM,QAAQ;AAAA,IACd,WAAW,QAAQ;AAAA,IACnB,oBAAoB,QAAQ;AAAA,IAC5B,oBAAoB,QAAQ;AAAA,IAC5B,aAAa,QAAQ;AAAA,EACvB,CAAC;AACD,QAAM,WAAW,MAAM,uCAAuC;AAAA,IAC5D,SAAS,QAAQ;AAAA,IACjB,oBAAoB,QAAQ;AAAA,IAC5B,aAAa,QAAQ;AAAA;AAAA,IAErB,iBAAiB,QAAQ,UAAU,IAAI,CAAC,aAAa,SAAS,IAAI;AAAA,IAClE,mBAAmB,CAAC,YAClB,iCAAiC,OAAO,KACxC,QAAQ,QAAQ,oBAAoB,KAAK,CAAC,OAAO,GAAG,KAAK,OAAO,CAAC,CAAC;AAAA,EACtE,CAAC;AACD,QAAM,cAAc,IAAI,IAAI,SAAS,WAAW;AAChD,QAAM,sCAAsC,UAAU,OAAO,CAAC,aAAa;AACzE,UAAM,aAAa,8BAA8B,SAAS,IAAI;AAC9D,WAAO,EAAE,cAAc,YAAY,IAAI,WAAW,QAAQ;AAAA,EAC5D,CAAC;AACD,SAAO;AAAA,IACL,WAAW,QAAQ;AAAA,IACnB,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,IAClC,UAAU,UAAU,QAAQ,SAAS,IAAI,WAAW;AAAA,IACpD,oBAAoB,QAAQ;AAAA,IAC5B,WAAW;AAAA,IACX,GAAI,SAAS,YAAY,SAAS,IAC9B,EAAE,gCAAgC,SAAS,YAAY,IACvD,CAAC;AAAA,IACL,OAAO,sCAAsC;AAAA,MAC3C,MAAM,QAAQ;AAAA,MACd,gBAAgB,QAAQ;AAAA,MACxB,oBAAoB,QAAQ;AAAA,MAC5B,UAAU,QAAQ;AAAA,MAClB,gBAAgB,QAAQ;AAAA,MACxB,QAAQ,QAAQ;AAAA,MAChB,oBAAoB,QAAQ;AAAA,MAC5B,aAAa,QAAQ;AAAA,MACrB,8BAA8B,SAAS;AAAA,IACzC,CAAC;AAAA,EACH;AACF;","names":[]}
@@ -1,12 +1,12 @@
1
+ import {
2
+ shouldRecallEventOrderEvidence
3
+ } from "./chunk-BUYVPUEM.js";
1
4
  import {
2
5
  unifiedDedupeAndRank
3
6
  } from "./chunk-LUPVCGYK.js";
4
7
  import {
5
8
  buildEvidencePack
6
9
  } from "./chunk-DGFU5MSX.js";
7
- import {
8
- shouldRecallEventOrderEvidence
9
- } from "./chunk-BUYVPUEM.js";
10
10
  import {
11
11
  lcmEvidenceIdentity
12
12
  } from "./chunk-C37ZRXX7.js";
@@ -2236,4 +2236,4 @@ var NUMBER_WORD_VALUES = {
2236
2236
  export {
2237
2237
  buildEventOrderRecallSection
2238
2238
  };
2239
- //# sourceMappingURL=chunk-52II7PB6.js.map
2239
+ //# sourceMappingURL=chunk-645WOU5I.js.map
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  CONTENT_HASH_INDEX_RETRY_MAX_DELAY_MS,
14
14
  ContentHashIndex
15
- } from "./chunk-NB3LRY4T.js";
15
+ } from "./chunk-N4PYB235.js";
16
16
  import {
17
17
  withHeldFileLock
18
18
  } from "./chunk-FFAZ2XFU.js";
@@ -22,7 +22,7 @@ import {
22
22
  import {
23
23
  readMaybeEncryptedFileFromChunks,
24
24
  writeMaybeEncryptedFileFromChunks
25
- } from "./chunk-JN72EPOE.js";
25
+ } from "./chunk-MAAL6OZV.js";
26
26
  import {
27
27
  RECALL_FALLBACK_DIRS
28
28
  } from "./chunk-VS2IYZRU.js";
@@ -2509,4 +2509,4 @@ export {
2509
2509
  parseTombstoneBlockedOfflineSyncMemory,
2510
2510
  TombstoneBlockedCaptureIndexHost
2511
2511
  };
2512
- //# sourceMappingURL=chunk-DUJYRVUD.js.map
2512
+ //# sourceMappingURL=chunk-6O2VUWV6.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseEntityFile
3
- } from "./chunk-FRCESVV6.js";
3
+ } from "./chunk-STEOT4DI.js";
4
4
  import {
5
5
  inferMemoryStatus
6
6
  } from "./chunk-7RJUVTVF.js";
@@ -253,4 +253,4 @@ export {
253
253
  WHO_KNOWS_MCP_TOOLS,
254
254
  handleWhoKnowsHttpQuery
255
255
  };
256
- //# sourceMappingURL=chunk-CS52MFDV.js.map
256
+ //# sourceMappingURL=chunk-6UQFJULG.js.map
@@ -0,0 +1,75 @@
1
+ import {
2
+ serializeMutations,
3
+ withHeldFileLock
4
+ } from "./chunk-FFAZ2XFU.js";
5
+
6
+ // src/embedding-generation-lock.ts
7
+ import path from "path";
8
+ var LOCK_STALE_MS = 3e4;
9
+ var LOCK_MAX_WAIT_MS = 1e4;
10
+ var EmbeddingGenerationLockLostError = class extends Error {
11
+ constructor(lockPath) {
12
+ super(
13
+ `embedding generation: the mutation lock for ${lockPath} was lost mid-section \u2014 a peer stale-broke and replaced it; aborting instead of clobbering the peer's write`
14
+ );
15
+ this.name = "EmbeddingGenerationLockLostError";
16
+ }
17
+ };
18
+ var EmbeddingGenerationLockUnavailableError = class extends Error {
19
+ constructor(lockPath, reason) {
20
+ super(`embedding generation: could not acquire the mutation lock for ${lockPath} (${reason})`);
21
+ this.name = "EmbeddingGenerationLockUnavailableError";
22
+ }
23
+ };
24
+ function embeddingGenerationLockPath(absoluteStateDir) {
25
+ const stateDir = path.resolve(absoluteStateDir);
26
+ return path.join(stateDir, ".offline-sync", "locks", "embedding-generation.lock");
27
+ }
28
+ async function assertEmbeddingGenerationLockHeld(lockPath, section) {
29
+ if (!await section.refresh()) throw new EmbeddingGenerationLockLostError(lockPath);
30
+ }
31
+ function withEmbeddingGenerationLock(absoluteStateDir, fn) {
32
+ const lockPath = embeddingGenerationLockPath(absoluteStateDir);
33
+ return serializeMutations(
34
+ lockPath,
35
+ () => withHeldFileLock(lockPath, { staleMs: LOCK_STALE_MS, maxWaitMs: LOCK_MAX_WAIT_MS }, (acquired, lock) => {
36
+ if (!acquired) {
37
+ throw new EmbeddingGenerationLockUnavailableError(lockPath, lock.failure ?? "error");
38
+ }
39
+ return fn(lock);
40
+ })
41
+ );
42
+ }
43
+ async function* withEmbeddingGenerationLockIter(absoluteStateDir, make, includeContent, verify) {
44
+ const lockPath = embeddingGenerationLockPath(absoluteStateDir);
45
+ const baseline = await withEmbeddingGenerationLock(absoluteStateDir, async (section) => {
46
+ await verify?.();
47
+ const records = [];
48
+ for await (const record of make(false)) {
49
+ await assertEmbeddingGenerationLockHeld(lockPath, section);
50
+ records.push({ path: record.path, sha256: record.sha256, bytes: record.bytes });
51
+ }
52
+ return records;
53
+ });
54
+ let count = 0;
55
+ for await (const record of make(includeContent)) {
56
+ const expected = baseline[count++];
57
+ if (!expected || expected.path !== record.path || expected.sha256 !== record.sha256 || expected.bytes !== record.bytes) {
58
+ throw new Error(`embedding generation changed while streaming ${absoluteStateDir}; retry the snapshot`);
59
+ }
60
+ yield record;
61
+ }
62
+ if (count !== baseline.length) {
63
+ throw new Error(`embedding generation changed while streaming ${absoluteStateDir}; retry the snapshot`);
64
+ }
65
+ }
66
+
67
+ export {
68
+ EmbeddingGenerationLockLostError,
69
+ EmbeddingGenerationLockUnavailableError,
70
+ embeddingGenerationLockPath,
71
+ assertEmbeddingGenerationLockHeld,
72
+ withEmbeddingGenerationLock,
73
+ withEmbeddingGenerationLockIter
74
+ };
75
+ //# sourceMappingURL=chunk-75PT4N7Q.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/embedding-generation-lock.ts"],"sourcesContent":["// Cross-process embedding-generation mutation lock (issue #3148, Codex P1).\n//\n// Two processes legitimately mutate the SAME embedding generation: the\n// daemon's EmbeddingFallback index mutations (load → modify → persist) and\n// the offline-sync apply transaction (census → stage → swap) — plus the\n// snapshot walkers that must capture one COMPLETE generation. All of them\n// enumerate or replace `state/embeddings/` (or the legacy marker), so an\n// unsynchronized writer's bytes are silently discarded by the other side's\n// wholesale directory swap.\n//\n// Built directly on the existing utilities: `serializeMutations` (in-process\n// keyed chain, rejection-recovering — gotcha #40) around `withHeldFileLock`\n// (cross-process held advisory lock, replacement-safe stale breaking,\n// ownership-checked release). A lock that cannot be acquired within the\n// bounded wait FAILS CLOSED — proceeding unsynchronized would reintroduce\n// the lost-write race this lock exists to prevent.\n//\n// The lock is keyed by the PHYSICAL state directory (dirname of the\n// generation's shard dir / of the legacy marker), so every caller\n// convention — memory-root-relative (`namespaces/<ns>/state`) or\n// namespace-scoped roots (`<ns>/state`) — contends on the SAME lock file\n// for the same generation. The lock file lives under that state dir's\n// `.offline-sync/` (sync-internal, excluded from every offline-sync\n// snapshot by the default excludes).\nimport path from \"node:path\";\nimport { type HeldFileLockController, serializeMutations, withHeldFileLock } from \"./utils/serialize-mutations.js\";\n\n/** Stale-lock window for a crashed holder (mirrors the graph lock). */\nconst LOCK_STALE_MS = 30_000;\n/** Bounded acquisition wait; a busy lock FAILS the operation (strict). */\nconst LOCK_MAX_WAIT_MS = 10_000;\n\n/** Control surface handed to a held embedding-generation lock section. */\nexport type EmbeddingGenerationLockSection = HeldFileLockController;\n\n/**\n * A fence the store calls immediately before a destructive write: reasserts\n * lock ownership so a peer that stale-broke and replaced the lock aborts\n * this write instead of clobbering the peer's.\n */\nexport type EmbeddingGenerationFence = () => Promise<void>;\n\n/**\n * A held embedding-generation lock section was lost mid-critical-section —\n * a peer stale-broke and replaced it. Abort; never publish.\n */\nexport class EmbeddingGenerationLockLostError extends Error {\n constructor(lockPath: string) {\n super(\n `embedding generation: the mutation lock for ${lockPath} was lost mid-section — a peer stale-broke and replaced it; aborting instead of clobbering the peer's write`\n );\n this.name = \"EmbeddingGenerationLockLostError\";\n }\n}\n\n/** The generation lock could not be acquired; callers fail closed and report it. */\nexport class EmbeddingGenerationLockUnavailableError extends Error {\n constructor(lockPath: string, reason: \"timeout\" | \"error\") {\n super(`embedding generation: could not acquire the mutation lock for ${lockPath} (${reason})`);\n this.name = \"EmbeddingGenerationLockUnavailableError\";\n }\n}\n\n/**\n * The lock file path for the generation whose canonical state dir is\n * `absoluteStateDir` (physical path; e.g. `<memoryRoot>/state` or\n * `<memoryRoot>/namespaces/<ns>/state`). Keyed by the physical directory so\n * every root convention contends on one lock file per generation.\n */\nexport function embeddingGenerationLockPath(absoluteStateDir: string): string {\n const stateDir = path.resolve(absoluteStateDir);\n return path.join(stateDir, \".offline-sync\", \"locks\", \"embedding-generation.lock\");\n}\n\n/**\n * Revalidate lock ownership immediately before a destructive publish.\n * Throws {@link EmbeddingGenerationLockLostError} when the lock was\n * broken/replaced, so the caller aborts and leaves the peer's write intact.\n */\nexport async function assertEmbeddingGenerationLockHeld(\n lockPath: string,\n section: EmbeddingGenerationLockSection\n): Promise<void> {\n if (!(await section.refresh())) throw new EmbeddingGenerationLockLostError(lockPath);\n}\n\n/**\n * Run `fn` while holding the embedding-generation mutation lock for the\n * generation whose state dir is `absoluteStateDir`, handing it the section\n * controller. `serializeMutations` provides the in-process keyed chain\n * INSIDE the cross-process advisory lock, so peers serialize against every\n * section this process runs, one at a time. Times out fail-closed.\n */\nexport function withEmbeddingGenerationLock<T>(\n absoluteStateDir: string,\n fn: (lock: EmbeddingGenerationLockSection) => Promise<T>\n): Promise<T> {\n const lockPath = embeddingGenerationLockPath(absoluteStateDir);\n return serializeMutations(lockPath, () =>\n withHeldFileLock(lockPath, { staleMs: LOCK_STALE_MS, maxWaitMs: LOCK_MAX_WAIT_MS }, (acquired, lock) => {\n if (!acquired) {\n throw new EmbeddingGenerationLockUnavailableError(lockPath, lock.failure ?? \"error\");\n }\n return fn(lock);\n })\n );\n}\n\n/** Capture a complete bounded digest census under lock, then stream outside\n * the lock. If any member changes, throw rather than emit a complete subset. */\nexport async function* withEmbeddingGenerationLockIter<T extends { path: string; sha256: string; bytes: number }>(\n absoluteStateDir: string,\n make: (includeContent: boolean) => AsyncIterable<T>,\n includeContent: boolean,\n verify?: () => Promise<void>\n): AsyncIterable<T> {\n const lockPath = embeddingGenerationLockPath(absoluteStateDir);\n // Capture only bounded metadata under the lock, never large content or\n // network backpressure. Every emitted record must match this complete\n // generation census; a concurrent swap/dirty write aborts the stream.\n const baseline = await withEmbeddingGenerationLock(absoluteStateDir, async (section) => {\n await verify?.();\n const records: Array<{ path: string; sha256: string; bytes: number }> = [];\n for await (const record of make(false)) {\n await assertEmbeddingGenerationLockHeld(lockPath, section);\n records.push({ path: record.path, sha256: record.sha256, bytes: record.bytes });\n }\n return records;\n });\n let count = 0;\n for await (const record of make(includeContent)) {\n const expected = baseline[count++];\n if (!expected || expected.path !== record.path || expected.sha256 !== record.sha256 || expected.bytes !== record.bytes) {\n throw new Error(`embedding generation changed while streaming ${absoluteStateDir}; retry the snapshot`);\n }\n yield record;\n }\n if (count !== baseline.length) {\n throw new Error(`embedding generation changed while streaming ${absoluteStateDir}; retry the snapshot`);\n }\n}\n"],"mappings":";;;;;;AAwBA,OAAO,UAAU;AAIjB,IAAM,gBAAgB;AAEtB,IAAM,mBAAmB;AAgBlB,IAAM,mCAAN,cAA+C,MAAM;AAAA,EAC1D,YAAY,UAAkB;AAC5B;AAAA,MACE,+CAA+C,QAAQ;AAAA,IACzD;AACA,SAAK,OAAO;AAAA,EACd;AACF;AAGO,IAAM,0CAAN,cAAsD,MAAM;AAAA,EACjE,YAAY,UAAkB,QAA6B;AACzD,UAAM,iEAAiE,QAAQ,KAAK,MAAM,GAAG;AAC7F,SAAK,OAAO;AAAA,EACd;AACF;AAQO,SAAS,4BAA4B,kBAAkC;AAC5E,QAAM,WAAW,KAAK,QAAQ,gBAAgB;AAC9C,SAAO,KAAK,KAAK,UAAU,iBAAiB,SAAS,2BAA2B;AAClF;AAOA,eAAsB,kCACpB,UACA,SACe;AACf,MAAI,CAAE,MAAM,QAAQ,QAAQ,EAAI,OAAM,IAAI,iCAAiC,QAAQ;AACrF;AASO,SAAS,4BACd,kBACA,IACY;AACZ,QAAM,WAAW,4BAA4B,gBAAgB;AAC7D,SAAO;AAAA,IAAmB;AAAA,IAAU,MAClC,iBAAiB,UAAU,EAAE,SAAS,eAAe,WAAW,iBAAiB,GAAG,CAAC,UAAU,SAAS;AACtG,UAAI,CAAC,UAAU;AACb,cAAM,IAAI,wCAAwC,UAAU,KAAK,WAAW,OAAO;AAAA,MACrF;AACA,aAAO,GAAG,IAAI;AAAA,IAChB,CAAC;AAAA,EACH;AACF;AAIA,gBAAuB,gCACrB,kBACA,MACA,gBACA,QACkB;AAClB,QAAM,WAAW,4BAA4B,gBAAgB;AAI7D,QAAM,WAAW,MAAM,4BAA4B,kBAAkB,OAAO,YAAY;AACtF,UAAM,SAAS;AACf,UAAM,UAAkE,CAAC;AACzE,qBAAiB,UAAU,KAAK,KAAK,GAAG;AACtC,YAAM,kCAAkC,UAAU,OAAO;AACzD,cAAQ,KAAK,EAAE,MAAM,OAAO,MAAM,QAAQ,OAAO,QAAQ,OAAO,OAAO,MAAM,CAAC;AAAA,IAChF;AACA,WAAO;AAAA,EACT,CAAC;AACD,MAAI,QAAQ;AACZ,mBAAiB,UAAU,KAAK,cAAc,GAAG;AAC/C,UAAM,WAAW,SAAS,OAAO;AACjC,QAAI,CAAC,YAAY,SAAS,SAAS,OAAO,QAAQ,SAAS,WAAW,OAAO,UAAU,SAAS,UAAU,OAAO,OAAO;AACtH,YAAM,IAAI,MAAM,gDAAgD,gBAAgB,sBAAsB;AAAA,IACxG;AACA,UAAM;AAAA,EACR;AACA,MAAI,UAAU,SAAS,QAAQ;AAC7B,UAAM,IAAI,MAAM,gDAAgD,gBAAgB,sBAAsB;AAAA,EACxG;AACF;","names":[]}
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-AERXJCOG.js";
11
11
  import {
12
12
  deriveSourceConnector
13
- } from "./chunk-TM3RXL4G.js";
13
+ } from "./chunk-BUQKSQXL.js";
14
14
  import {
15
15
  resolvePipelineProcessingCapabilities
16
16
  } from "./chunk-BMXEBWBT.js";
@@ -112,4 +112,4 @@ export {
112
112
  renderExtractionConversation,
113
113
  applyGroundingWithConnector
114
114
  };
115
- //# sourceMappingURL=chunk-HESDNYRB.js.map
115
+ //# sourceMappingURL=chunk-76M5OK7V.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  hasMemoryData
3
- } from "./chunk-6TT6HRE4.js";
3
+ } from "./chunk-P2ODTYOF.js";
4
4
  import {
5
5
  resolveNamespaceStorageRoot
6
- } from "./chunk-BFO3IR56.js";
6
+ } from "./chunk-SWBC3UER.js";
7
7
  import {
8
8
  getConfiguredNamespaces
9
9
  } from "./chunk-OWYHHW67.js";
@@ -724,4 +724,4 @@ export {
724
724
  runNamespaceMaintenancePlan,
725
725
  runNamespaceMaintenanceBatchPlan
726
726
  };
727
- //# sourceMappingURL=chunk-4CDYONWO.js.map
727
+ //# sourceMappingURL=chunk-A4VSOUCB.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SupportPassportCreateGrantRequestSchema,
3
3
  defineOperation
4
- } from "./chunk-FOH7AMMI.js";
4
+ } from "./chunk-QB57WIS6.js";
5
5
  import {
6
6
  SupportPassportCardCategorySchema,
7
7
  SupportPassportMemoryIdSchema,
@@ -220,4 +220,4 @@ var supportPassportGrantAskOperation = defineOperation({
220
220
  result: await ctx.service.supportPassportAskGrant(grantId, secret, question, ctx.abortSignal)
221
221
  })
222
222
  });
223
- //# sourceMappingURL=chunk-HBBHL4YF.js.map
223
+ //# sourceMappingURL=chunk-AE5U5NMS.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseFrontmatter
3
- } from "./chunk-FRCESVV6.js";
3
+ } from "./chunk-STEOT4DI.js";
4
4
  import {
5
5
  activityDigestPath,
6
6
  isValidActivityDate
@@ -199,4 +199,4 @@ export {
199
199
  buildStandup,
200
200
  standupHelp
201
201
  };
202
- //# sourceMappingURL=chunk-CUCWX3MO.js.map
202
+ //# sourceMappingURL=chunk-AEHVZY3X.js.map
@@ -318,4 +318,4 @@ export {
318
318
  readProjectedHarmonicGraph,
319
319
  searchHarmonicRetrieval
320
320
  };
321
- //# sourceMappingURL=chunk-DZ525SNQ.js.map
321
+ //# sourceMappingURL=chunk-AEU4EQGV.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-TBBDFYXW.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-FRCESVV6.js";
6
+ } from "./chunk-STEOT4DI.js";
7
7
  import {
8
8
  bumpMemoryCorpusVersionForDir
9
9
  } from "./chunk-XCB6QDL6.js";
@@ -765,4 +765,4 @@ export {
765
765
  listMemoryGovernanceRuns,
766
766
  readMemoryGovernanceRunArtifact
767
767
  };
768
- //# sourceMappingURL=chunk-VLLD4TOB.js.map
768
+ //# sourceMappingURL=chunk-AWG3TIAY.js.map
@@ -37,10 +37,10 @@ import {
37
37
  } from "./chunk-YCVB7X56.js";
38
38
  import {
39
39
  fillWearableConversationLocations
40
- } from "./chunk-BMYZTZ5D.js";
40
+ } from "./chunk-MY7B3HYC.js";
41
41
  import {
42
42
  composeMemoryEnvelope
43
- } from "./chunk-GDYU6VF4.js";
43
+ } from "./chunk-5AYUHSAU.js";
44
44
  import {
45
45
  log
46
46
  } from "./chunk-3WCASNQZ.js";
@@ -1329,4 +1329,4 @@ export {
1329
1329
  syncWearableSource,
1330
1330
  defaultTimezone
1331
1331
  };
1332
- //# sourceMappingURL=chunk-72JNNJJJ.js.map
1332
+ //# sourceMappingURL=chunk-AXC4WSF3.js.map
@@ -400,4 +400,4 @@ export {
400
400
  getCausalTrajectoryStoreStatus,
401
401
  searchCausalTrajectories
402
402
  };
403
- //# sourceMappingURL=chunk-N4S4NUX5.js.map
403
+ //# sourceMappingURL=chunk-B3O3IRZN.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-7T4TOGMS.js";
4
4
  import {
5
5
  defineOperation
6
- } from "./chunk-FOH7AMMI.js";
6
+ } from "./chunk-QB57WIS6.js";
7
7
 
8
8
  // src/external-wiki-access.ts
9
9
  import { z } from "zod";
@@ -26,4 +26,4 @@ var externalWikiSearchOperation = defineOperation({
26
26
  export {
27
27
  externalWikiSearchOperation
28
28
  };
29
- //# sourceMappingURL=chunk-FAN73COB.js.map
29
+ //# sourceMappingURL=chunk-BGI4NUAO.js.map
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-H3FZVNRN.js";
14
14
  import {
15
15
  ExtractionDeadlineError
16
- } from "./chunk-TM3RXL4G.js";
16
+ } from "./chunk-BUQKSQXL.js";
17
17
  import {
18
18
  resolvePrincipal
19
19
  } from "./chunk-Y23L4YJV.js";
@@ -801,4 +801,4 @@ var SmartBuffer = class {
801
801
  export {
802
802
  SmartBuffer
803
803
  };
804
- //# sourceMappingURL=chunk-XTYX6V52.js.map
804
+ //# sourceMappingURL=chunk-BJVO4H5C.js.map
@@ -5,7 +5,7 @@ import {
5
5
  rejectSymlinkPath,
6
6
  renderFrontmatter,
7
7
  writeBundleFile
8
- } from "./chunk-CLSYE5OZ.js";
8
+ } from "./chunk-G2STTRYB.js";
9
9
  import {
10
10
  parseOaiMemCitation
11
11
  } from "./chunk-D24OXEPB.js";
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-3UXOZBHV.js";
15
15
  import {
16
16
  StorageManager
17
- } from "./chunk-FRCESVV6.js";
17
+ } from "./chunk-STEOT4DI.js";
18
18
  import {
19
19
  OKF_PROFILE_TYPE,
20
20
  okfTypeForMemory
@@ -272,4 +272,4 @@ export {
272
272
  exportOkfBundle,
273
273
  firstHeading
274
274
  };
275
- //# sourceMappingURL=chunk-EHS5MJEF.js.map
275
+ //# sourceMappingURL=chunk-BLVR4WYU.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SUPPORT_PASSPORT_DRAFT_MAX_CONTENT_CHARACTERS,
3
3
  SUPPORT_PASSPORT_DRAFT_MAX_MEMORIES
4
- } from "./chunk-FOH7AMMI.js";
4
+ } from "./chunk-QB57WIS6.js";
5
5
  import {
6
6
  SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH
7
7
  } from "./chunk-PWPIERBM.js";
@@ -343,4 +343,4 @@ export {
343
343
  parseSupportPassportModelJob,
344
344
  SupportPassportModelBridge
345
345
  };
346
- //# sourceMappingURL=chunk-KFCMMDHH.js.map
346
+ //# sourceMappingURL=chunk-BOZJD5PK.js.map
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-23G5P7TA.js";
13
13
  import {
14
14
  tagPersistedMemories
15
- } from "./chunk-BMYZTZ5D.js";
15
+ } from "./chunk-MY7B3HYC.js";
16
16
  import {
17
17
  resolveScopeProfilePlan
18
18
  } from "./chunk-WBYQA3VN.js";
@@ -1093,4 +1093,4 @@ export {
1093
1093
  ExtractionDeadlineError,
1094
1094
  ExtractionRunCoordinator
1095
1095
  };
1096
- //# sourceMappingURL=chunk-TM3RXL4G.js.map
1096
+ //# sourceMappingURL=chunk-BUQKSQXL.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-765K3SAT.js";
4
4
  import {
5
5
  encryptCapsuleFile
6
- } from "./chunk-X7Y7WX73.js";
6
+ } from "./chunk-DQEMWVMT.js";
7
7
  import {
8
8
  computeTransferOutputRel,
9
9
  isTransferPathExcluded
@@ -109,4 +109,4 @@ async function enforceRetention(outDirAbs, retentionDays) {
109
109
  export {
110
110
  backupMemoryDir
111
111
  };
112
- //# sourceMappingURL=chunk-2NLLXCJG.js.map
112
+ //# sourceMappingURL=chunk-BXLOS5AJ.js.map
@@ -5,13 +5,13 @@ import {
5
5
  citationTemplateFingerprint,
6
6
  isCachedIdentityReusable,
7
7
  isReconcileMemoryIdentity
8
- } from "./chunk-S3YM4SZQ.js";
8
+ } from "./chunk-N7QV3CMX.js";
9
9
  import {
10
10
  offlineSyncStorageForSnapshot
11
- } from "./chunk-MOQPEFLN.js";
11
+ } from "./chunk-UP75KL3L.js";
12
12
  import {
13
13
  iterateOfflineSyncSnapshotFileRecords
14
- } from "./chunk-WQZZDN5M.js";
14
+ } from "./chunk-OCFXVDBZ.js";
15
15
  import {
16
16
  createPersistedSupportPassportPrivateFileExclusion
17
17
  } from "./chunk-PWPIERBM.js";
@@ -250,4 +250,4 @@ export {
250
250
  retainExcludedClassifications,
251
251
  createOfflineSyncManifestStream
252
252
  };
253
- //# sourceMappingURL=chunk-EVBI7S4J.js.map
253
+ //# sourceMappingURL=chunk-C6U57KG4.js.map