@graphrefly/graphrefly 0.36.0 → 0.38.0

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 (249) hide show
  1. package/dist/{chunk-J6TGRQUP.js → chunk-2YFDSYEF.js} +1 -1
  2. package/dist/{chunk-JUJEPZOI.js → chunk-4BDQXBXE.js} +1 -1
  3. package/dist/chunk-5BGFS2XH.js +1 -0
  4. package/dist/chunk-6773HURD.js +1 -0
  5. package/dist/{chunk-AQC53OWG.js → chunk-6KZZ6XQE.js} +1 -1
  6. package/dist/{chunk-5CPPC75H.js → chunk-6VFC334U.js} +1 -1
  7. package/dist/{chunk-KUVDFOJH.js → chunk-7KZZLWZ6.js} +1 -1
  8. package/dist/{chunk-Q7EUZ6NN.js → chunk-B5S7KTGP.js} +1 -1
  9. package/dist/chunk-CMTN3KPT.js +80 -0
  10. package/dist/chunk-DQJLC6YY.js +1 -0
  11. package/dist/chunk-DSOVKKTI.js +1 -0
  12. package/dist/chunk-FAYEMS5M.js +1 -0
  13. package/dist/chunk-FWGIZP3W.js +1 -0
  14. package/dist/{chunk-5Z3AFBN7.js → chunk-G7JN6LCB.js} +1 -1
  15. package/dist/{chunk-PCD2MU7X.js → chunk-IBGE62GZ.js} +1 -1
  16. package/dist/{chunk-MYFR67PY.js → chunk-K5C67OGE.js} +1 -1
  17. package/dist/chunk-KJEAIIIY.js +43 -0
  18. package/dist/chunk-LV3ACS5J.js +1 -0
  19. package/dist/{chunk-7LYIKMW5.js → chunk-NBGPXQSP.js} +1 -1
  20. package/dist/chunk-NN3QPJ6U.js +1 -0
  21. package/dist/{chunk-T6RPUERH.js → chunk-NSAZ6PR6.js} +1 -1
  22. package/dist/{chunk-KCE6WWJE.js → chunk-NV63VQHI.js} +1 -1
  23. package/dist/{chunk-PYEIPRSZ.js → chunk-O245YLM5.js} +1 -1
  24. package/dist/{chunk-K5ZXJPWU.js → chunk-O2BLVQU4.js} +1 -1
  25. package/dist/chunk-PHXZRR6C.js +1 -0
  26. package/dist/{chunk-I57VSGRB.js → chunk-POCWFIJ7.js} +1 -1
  27. package/dist/{chunk-TQSTS3BY.js → chunk-QEVSIVSF.js} +1 -1
  28. package/dist/chunk-QMC2PLNM.js +7 -0
  29. package/dist/chunk-QOJFR6GS.js +1 -0
  30. package/dist/{chunk-MQZWA3DF.js → chunk-RZ5HKPGI.js} +1 -1
  31. package/dist/{chunk-XINLP35X.js → chunk-SFK7MN7S.js} +1 -1
  32. package/dist/{chunk-YOUAVGHJ.js → chunk-SP5O2MIX.js} +1 -1
  33. package/dist/chunk-TB7JKSVS.js +61 -0
  34. package/dist/{chunk-6G5YD37E.js → chunk-TMVY7OWG.js} +1 -1
  35. package/dist/{chunk-F36TA3ET.js → chunk-UAXFKMAG.js} +1 -1
  36. package/dist/{chunk-AACJX2L7.js → chunk-UVLZX2OU.js} +1 -1
  37. package/dist/chunk-XIMFHEKV.js +1 -0
  38. package/dist/{chunk-LO3LO2TO.js → chunk-XLMYQB6F.js} +1 -1
  39. package/dist/{chunk-44QWWUA3.js → chunk-XLYF4LBH.js} +1 -1
  40. package/dist/compat/index.cjs +9 -9
  41. package/dist/compat/index.d.cts +7 -7
  42. package/dist/compat/index.d.ts +7 -7
  43. package/dist/compat/index.js +1 -1
  44. package/dist/compat/nestjs/index.cjs +9 -9
  45. package/dist/compat/nestjs/index.d.cts +5 -5
  46. package/dist/compat/nestjs/index.d.ts +5 -5
  47. package/dist/compat/nestjs/index.js +1 -1
  48. package/dist/compat/zustand/index.cjs +7 -7
  49. package/dist/compat/zustand/index.d.cts +3 -3
  50. package/dist/compat/zustand/index.d.ts +3 -3
  51. package/dist/compat/zustand/index.js +1 -1
  52. package/dist/{composite-_XckYx2e.d.cts → composite-CgG0MqHm.d.cts} +8 -1
  53. package/dist/{composite-CT_mApQD.d.ts → composite-DTOlDuch.d.ts} +8 -1
  54. package/dist/core/index.cjs +1 -1
  55. package/dist/core/index.d.cts +2 -2
  56. package/dist/core/index.d.ts +2 -2
  57. package/dist/core/index.js +1 -1
  58. package/dist/extra/index.cjs +19 -19
  59. package/dist/extra/index.d.cts +5 -5
  60. package/dist/extra/index.d.ts +5 -5
  61. package/dist/extra/index.js +1 -1
  62. package/dist/extra/node.cjs +2 -2
  63. package/dist/extra/node.d.cts +107 -1
  64. package/dist/extra/node.d.ts +107 -1
  65. package/dist/extra/node.js +2 -2
  66. package/dist/extra/operators.cjs +1 -1
  67. package/dist/extra/operators.js +1 -1
  68. package/dist/extra/reactive.d.cts +1 -1
  69. package/dist/extra/reactive.d.ts +1 -1
  70. package/dist/extra/reactive.js +1 -1
  71. package/dist/extra/sources.cjs +1 -1
  72. package/dist/extra/sources.js +1 -1
  73. package/dist/extra/storage-tiers-browser.d.cts +76 -5
  74. package/dist/extra/storage-tiers-browser.d.ts +76 -5
  75. package/dist/extra/storage-tiers-node.d.cts +137 -13
  76. package/dist/extra/storage-tiers-node.d.ts +137 -13
  77. package/dist/extra/storage-tiers.d.cts +151 -23
  78. package/dist/extra/storage-tiers.d.ts +151 -23
  79. package/dist/graph/index.cjs +7 -7
  80. package/dist/graph/index.d.cts +4 -4
  81. package/dist/graph/index.d.ts +4 -4
  82. package/dist/graph/index.js +1 -1
  83. package/dist/{graph-Cv-8x0ZI.d.ts → graph-BjW1taJl.d.ts} +243 -11
  84. package/dist/{graph-kTltt95s.d.cts → graph-CHsVwf9S.d.cts} +243 -11
  85. package/dist/{index-CZAixNU3.d.ts → index-5dNRlW7J.d.ts} +3 -3
  86. package/dist/{index-DtSVSKnd.d.ts → index-AUqWe_fX.d.ts} +7 -4
  87. package/dist/{index-DLyQC5Ww.d.ts → index-B-ORMr3k.d.ts} +2 -2
  88. package/dist/{index-C4ig7whw.d.cts → index-B2IUcH13.d.cts} +2 -2
  89. package/dist/{index-KeBhbNg3.d.ts → index-BFaALJxR.d.ts} +2 -2
  90. package/dist/{index-CsD0fqnO.d.ts → index-BI1wMfyc.d.ts} +2 -2
  91. package/dist/{index-DxxvGTXp.d.ts → index-BUFCHvOR.d.ts} +2 -2
  92. package/dist/{index-HCp5ua_i.d.cts → index-BWUMIt7J.d.cts} +3 -3
  93. package/dist/{index-DHv2M7s8.d.cts → index-BaSy4L6w.d.cts} +37 -17
  94. package/dist/{index-BhkPzu-Z.d.cts → index-BgzPO43H.d.cts} +2 -2
  95. package/dist/{index-BsZlbHM5.d.cts → index-BhzwpIJc.d.cts} +1 -1
  96. package/dist/{index-BC-xjOrd.d.cts → index-BkQqf1EF.d.cts} +80 -7
  97. package/dist/{index-BBdwz2BW.d.ts → index-BmWuVdER.d.ts} +2 -2
  98. package/dist/{index-CVhBdCMf.d.ts → index-Bn0uZEL4.d.ts} +2 -2
  99. package/dist/{index-33mF4XyU.d.cts → index-BpMZzX9P.d.cts} +2 -2
  100. package/dist/{index-ZhKyR8co.d.cts → index-Bpr0Pwgl.d.cts} +2 -2
  101. package/dist/{index-2URa-V4S.d.cts → index-BqcgiSQg.d.cts} +2 -2
  102. package/dist/{index-DzYTXMBz.d.ts → index-BsZk9T8y.d.ts} +1 -1
  103. package/dist/{index-CvUrRb4m.d.cts → index-BsgxnHN8.d.cts} +2 -2
  104. package/dist/index-Bub6x_D4.d.cts +427 -0
  105. package/dist/{index-BZ1V5GzX.d.ts → index-BwOsJfLJ.d.ts} +2 -2
  106. package/dist/{index-BuMzxRO2.d.ts → index-Byp771zP.d.ts} +1 -1
  107. package/dist/{index-DKp1CIbG.d.cts → index-C-3UXnHT.d.cts} +1 -1
  108. package/dist/{index-GaW6Welt.d.cts → index-C56XZiDe.d.cts} +2 -2
  109. package/dist/{index-k67aNfqC.d.cts → index-CAV-3RpJ.d.cts} +2 -2
  110. package/dist/{index-DmtWMP0X.d.cts → index-CAbHN_rP.d.cts} +1 -1
  111. package/dist/{index-BTJxM-wZ.d.ts → index-CEVzBWeB.d.ts} +2 -2
  112. package/dist/{index-BVNGEX7d.d.cts → index-CM-i58FY.d.cts} +2 -2
  113. package/dist/{index-EfPb77rT.d.cts → index-CQsqqEVz.d.cts} +1 -1
  114. package/dist/{index-Cot94_82.d.ts → index-CijfwEWx.d.ts} +2 -2
  115. package/dist/{index-PluovH45.d.cts → index-Ckil6miL.d.cts} +2 -2
  116. package/dist/{index-XxSeddWP.d.cts → index-CpdnP-0y.d.cts} +1 -1
  117. package/dist/{index-Pu1Wa7en.d.ts → index-CrlHFsiT.d.ts} +37 -17
  118. package/dist/{index-BWH17rK_.d.cts → index-Czk3r0yA.d.cts} +37 -3
  119. package/dist/{index-BlRVj-7Q.d.cts → index-D-B7U42V.d.cts} +2 -2
  120. package/dist/{index-B4s70vYf.d.ts → index-D-HZ7sP4.d.ts} +2 -2
  121. package/dist/{index-Cjrpx2Mg.d.cts → index-D7-RSD93.d.cts} +2 -2
  122. package/dist/{index-kBUQj-rT.d.ts → index-D9vBTuzo.d.ts} +2 -2
  123. package/dist/{index-DzCQt2FJ.d.cts → index-DJNAWzcH.d.cts} +2 -2
  124. package/dist/{index-DSSsxS7B.d.ts → index-DJVQ-t07.d.ts} +2 -2
  125. package/dist/{index-BwYGLgmI.d.ts → index-DKrIuF-r.d.ts} +2 -2
  126. package/dist/{index-DXSLMoma.d.ts → index-DOU1Ee_k.d.ts} +1 -1
  127. package/dist/{index-DlccEIi3.d.ts → index-DTDVDzhA.d.ts} +37 -3
  128. package/dist/{index-B5UR87KG.d.ts → index-DY2f2b9z.d.ts} +4 -2
  129. package/dist/{index-D8IyqHvT.d.cts → index-DeSsvHDD.d.cts} +4 -2
  130. package/dist/index-Di7OdwlO.d.ts +427 -0
  131. package/dist/{index-isdlyeeO.d.ts → index-DqICM_I7.d.ts} +80 -7
  132. package/dist/{index-DFe2Pk2u.d.ts → index-ML6vHKXK.d.ts} +1 -1
  133. package/dist/{index-RJIY7QVW.d.cts → index-UsU9ptzs.d.cts} +7 -4
  134. package/dist/{index-jA_OwwNg.d.ts → index-Vz7KPfgz.d.ts} +1 -1
  135. package/dist/index.cjs +50 -50
  136. package/dist/index.d.cts +32 -32
  137. package/dist/index.d.ts +32 -32
  138. package/dist/index.js +1 -1
  139. package/dist/meta-BYqlATmg.d.ts +98 -0
  140. package/dist/meta-DreaEM_a.d.cts +98 -0
  141. package/dist/patterns/ai/browser.cjs +2 -2
  142. package/dist/patterns/ai/browser.js +1 -1
  143. package/dist/patterns/ai/index.cjs +21 -21
  144. package/dist/patterns/ai/index.d.cts +9 -9
  145. package/dist/patterns/ai/index.d.ts +9 -9
  146. package/dist/patterns/ai/index.js +1 -1
  147. package/dist/patterns/ai/node.js +1 -1
  148. package/dist/patterns/audit/index.cjs +7 -7
  149. package/dist/patterns/audit/index.d.cts +5 -5
  150. package/dist/patterns/audit/index.d.ts +5 -5
  151. package/dist/patterns/audit/index.js +1 -1
  152. package/dist/patterns/cqrs/index.cjs +7 -7
  153. package/dist/patterns/cqrs/index.d.cts +4 -4
  154. package/dist/patterns/cqrs/index.d.ts +4 -4
  155. package/dist/patterns/cqrs/index.js +1 -1
  156. package/dist/patterns/demo-shell/index.cjs +8 -8
  157. package/dist/patterns/demo-shell/index.d.cts +4 -4
  158. package/dist/patterns/demo-shell/index.d.ts +4 -4
  159. package/dist/patterns/demo-shell/index.js +1 -1
  160. package/dist/patterns/domain-templates/index.cjs +7 -7
  161. package/dist/patterns/domain-templates/index.d.cts +3 -3
  162. package/dist/patterns/domain-templates/index.d.ts +3 -3
  163. package/dist/patterns/domain-templates/index.js +1 -1
  164. package/dist/patterns/graphspec/index.cjs +21 -21
  165. package/dist/patterns/graphspec/index.d.cts +3 -3
  166. package/dist/patterns/graphspec/index.d.ts +3 -3
  167. package/dist/patterns/graphspec/index.js +1 -1
  168. package/dist/patterns/guarded-execution/index.cjs +7 -7
  169. package/dist/patterns/guarded-execution/index.d.cts +6 -6
  170. package/dist/patterns/guarded-execution/index.d.ts +6 -6
  171. package/dist/patterns/guarded-execution/index.js +1 -1
  172. package/dist/patterns/harness/index.cjs +12 -12
  173. package/dist/patterns/harness/index.d.cts +8 -8
  174. package/dist/patterns/harness/index.d.ts +8 -8
  175. package/dist/patterns/harness/index.js +1 -1
  176. package/dist/patterns/job-queue/index.cjs +7 -7
  177. package/dist/patterns/job-queue/index.d.cts +4 -4
  178. package/dist/patterns/job-queue/index.d.ts +4 -4
  179. package/dist/patterns/job-queue/index.js +1 -1
  180. package/dist/patterns/lens/index.cjs +7 -7
  181. package/dist/patterns/lens/index.d.cts +4 -4
  182. package/dist/patterns/lens/index.d.ts +4 -4
  183. package/dist/patterns/lens/index.js +1 -1
  184. package/dist/patterns/memory/index.cjs +7 -7
  185. package/dist/patterns/memory/index.d.cts +6 -4
  186. package/dist/patterns/memory/index.d.ts +6 -4
  187. package/dist/patterns/memory/index.js +1 -1
  188. package/dist/patterns/messaging/index.cjs +7 -7
  189. package/dist/patterns/messaging/index.d.cts +4 -4
  190. package/dist/patterns/messaging/index.d.ts +4 -4
  191. package/dist/patterns/messaging/index.js +1 -1
  192. package/dist/patterns/orchestration/index.cjs +7 -7
  193. package/dist/patterns/orchestration/index.d.cts +4 -4
  194. package/dist/patterns/orchestration/index.d.ts +4 -4
  195. package/dist/patterns/orchestration/index.js +1 -1
  196. package/dist/patterns/process/index.cjs +1 -1
  197. package/dist/patterns/process/index.d.cts +5 -5
  198. package/dist/patterns/process/index.d.ts +5 -5
  199. package/dist/patterns/process/index.js +1 -1
  200. package/dist/patterns/reactive-layout/index.cjs +8 -8
  201. package/dist/patterns/reactive-layout/index.d.cts +4 -4
  202. package/dist/patterns/reactive-layout/index.d.ts +4 -4
  203. package/dist/patterns/reactive-layout/index.js +1 -1
  204. package/dist/patterns/reduction/index.cjs +7 -7
  205. package/dist/patterns/reduction/index.d.cts +3 -3
  206. package/dist/patterns/reduction/index.d.ts +3 -3
  207. package/dist/patterns/reduction/index.js +1 -1
  208. package/dist/patterns/refine-loop/index.cjs +8 -8
  209. package/dist/patterns/refine-loop/index.d.cts +5 -5
  210. package/dist/patterns/refine-loop/index.d.ts +5 -5
  211. package/dist/patterns/refine-loop/index.js +1 -1
  212. package/dist/patterns/resilient-pipeline/index.cjs +1 -1
  213. package/dist/patterns/resilient-pipeline/index.d.cts +4 -4
  214. package/dist/patterns/resilient-pipeline/index.d.ts +4 -4
  215. package/dist/patterns/resilient-pipeline/index.js +1 -1
  216. package/dist/patterns/surface/index.cjs +14 -14
  217. package/dist/patterns/surface/index.d.cts +4 -4
  218. package/dist/patterns/surface/index.d.ts +4 -4
  219. package/dist/patterns/surface/index.js +1 -1
  220. package/dist/{pipeline-graph-DdBoRu37.d.ts → pipeline-graph-9JBbmRxA.d.ts} +2 -2
  221. package/dist/{pipeline-graph-BlLBWSZ2.d.cts → pipeline-graph-DuHpXSOn.d.cts} +2 -2
  222. package/dist/{reactive-layout-D9zqqaqK.d.cts → reactive-layout-BMLDB4Vd.d.cts} +1 -1
  223. package/dist/{reactive-layout-Btv0-efV.d.ts → reactive-layout-D-tRiNhg.d.ts} +1 -1
  224. package/dist/{reactive-log-jirQsxMY.d.ts → reactive-log-BgWSA1fg.d.ts} +28 -1
  225. package/dist/{reactive-log-ScpWyqny.d.cts → reactive-log-C3IMAGpT.d.cts} +28 -1
  226. package/dist/resilience-LGBK236C.js +1 -0
  227. package/dist/{topology-tree-CJsT24DP.d.ts → topology-tree-D47-nI6Z.d.ts} +1 -1
  228. package/dist/{topology-tree-C50l9ARE.d.cts → topology-tree-jrZue3ao.d.cts} +1 -1
  229. package/package.json +1 -1
  230. package/dist/chunk-3U7IIQB2.js +0 -1
  231. package/dist/chunk-533RQFF6.js +0 -1
  232. package/dist/chunk-5CZ3KIRJ.js +0 -1
  233. package/dist/chunk-5KPIYVCC.js +0 -7
  234. package/dist/chunk-5RTZ6DXG.js +0 -1
  235. package/dist/chunk-A5HZZYRK.js +0 -1
  236. package/dist/chunk-CGA5RXO6.js +0 -1
  237. package/dist/chunk-DBPFMCVH.js +0 -1
  238. package/dist/chunk-GWOKTENT.js +0 -1
  239. package/dist/chunk-JJTF75VS.js +0 -1
  240. package/dist/chunk-KL7CILPL.js +0 -1
  241. package/dist/chunk-M27MVZCP.js +0 -1
  242. package/dist/chunk-N2GCKKKH.js +0 -43
  243. package/dist/chunk-QKUWS7CO.js +0 -80
  244. package/dist/chunk-YBA5N4XY.js +0 -61
  245. package/dist/index-CI_yjtua.d.ts +0 -139
  246. package/dist/index-D9qoEOj_.d.cts +0 -139
  247. package/dist/meta-BGO6C7K9.d.cts +0 -41
  248. package/dist/meta-CC6EPdpK.d.ts +0 -41
  249. package/dist/resilience-OBU472D2.js +0 -1
@@ -1,16 +1,16 @@
1
- export { A as AckableMessage, a as AdapterHandlers, B as BatchMessage, b as BridgeMessage, c as BufferedSinkHandle, d as BundleTriad, C as CSVRow, e as CacheEvictionPolicy, f as CascadingCache, g as CascadingCacheOptions, h as CheckpointToRedisOptions, i as CheckpointToS3Options, j as ClickHouseClientLike, k as ClickHouseInsertClientLike, l as ClickHouseRow, m as CronSchedule, D as DrizzleQueryLike, E as EmitTriad, n as ErrorMessage, o as ExternalBundleOptions, p as ExternalRegister, F as FileWriterLike, q as FromCSVOptions, r as FromClickHouseWatchOptions, s as FromDrizzleOptions, t as FromHTTPOptions, u as FromHTTPPollOptions, v as FromHTTPStreamOptions, w as FromKafkaOptions, x as FromKyselyOptions, y as FromMCPOptions, z as FromNATSOptions, G as FromNDJSONOptions, H as FromOTelOptions, I as FromPrismaOptions, J as FromPrometheusOptions, K as FromPulsarOptions, L as FromRabbitMQOptions, M as FromRedisStreamOptions, N as FromSSEOptions, O as FromSqliteOptions, P as FromStatsDOptions, Q as FromSyslogOptions, R as FromWebSocketReconnectOptions, S as HTTPBundle, T as InitMessage, U as KafkaConsumerLike, V as KafkaMessage, W as KafkaProducerLike, X as KyselyQueryLike, Y as LokiClientLike, Z as LokiStream, _ as MCPClientLike, $ as MongoCollectionLike, a0 as NATSClientLike, a1 as NATSMessage, a2 as NATSSubscriptionLike, a3 as NativePubSubBackend, a4 as OTelBundle, a5 as OTelLog, a6 as OTelMetric, a7 as OTelRegister, a8 as OTelSpan, a9 as ParseSSEStreamOptions, aa as PostgresClientLike, ab as PrismaModelLike, ac as PrometheusMetric, ad as PubSubBackend, ae as PubSubHub, af as PubSubHubOptions, ag as PulsarConsumerLike, ah as PulsarMessage, ai as PulsarProducerLike, aj as RabbitMQChannelLike, ak as RabbitMQMessage, al as ReactiveSinkBackpressureOptions, am as ReactiveSinkConfig, an as ReactiveSinkHandle, ao as ReactiveSinkOptions, ap as ReactiveSinkRetryOptions, aq as ReadyMessage, ar as RedisCheckpointClientLike, as as RedisClientLike, at as RedisStreamEntry, au as ResettableTimer, av as S3ClientLike, aw as SSEEvent, ax as SignalMessage, ay as SingleFromAnyOptions, az as SinkFailure, aA as SinkHandle, aB as SinkTransportError, aC as SqliteDbLike, aD as SqliteIterableDbLike, aE as StatsDMetric, aF as StatsDRegister, aG as StratifyOptions, aH as StratifyRule, aI as SyslogMessage, aJ as SyslogRegister, aK as TempoClientLike, aL as ToCSVOptions, aM as ToClickHouseOptions, aN as ToFileOptions, aO as ToHTTPOptions, aP as ToKafkaOptions, aQ as ToLokiOptions, aR as ToMongoOptions, aS as ToNATSOptions, aT as ToPostgresOptions, aU as ToPulsarOptions, aV as ToRabbitMQOptions, aW as ToRedisStreamOptions, aX as ToS3Options, aY as ToSSEOptions, aZ as ToSqliteOptions, a_ as ToTempoOptions, a$ as ToWebSocketOptions, b0 as ValueMessage, b1 as WatermarkController, b2 as WatermarkOptions, b3 as WebSocketLike, b4 as WebSocketMessageEventLike, b5 as WebSocketRegister, b6 as WebhookRegister, b7 as WorkerBridge, b8 as WorkerBridgeOptions, b9 as WorkerSelfHandle, ba as WorkerSelfOptions, bb as WorkerTransport, bc as cascadingCache, bd as checkpointToRedis, be as checkpointToS3, bf as createTransport, bg as createWatermarkController, bh as csvRows, bi as deserializeError, bj as externalBundle, bk as externalProducer, bm as fromCSV, bn as fromClickHouseWatch, bo as fromDrizzle, bp as fromHTTP, bq as fromHTTPPoll, br as fromHTTPStream, bs as fromKafka, bt as fromKysely, bu as fromMCP, bv as fromNATS, bw as fromNDJSON, bx as fromOTel, by as fromPrisma, bz as fromPrometheus, bA as fromPulsar, bB as fromRabbitMQ, bC as fromRedisStream, bD as fromSSE, bE as fromSqlite, bF as fromSqliteCursor, bG as fromStatsD, bH as fromSyslog, bI as fromWebSocket, bJ as fromWebSocketReconnect, bK as fromWebhook, bL as lru, bM as makeHttpError, bN as matchesCron, bO as nameToSignal, bP as ndjsonRows, bQ as parseCron, bR as parsePrometheusText, bS as parseSSEStream, bT as parseStatsD, bU as parseSyslog, bV as pubsub, bW as reactiveSink, bX as serializeError, bY as signalToName, bZ as singleFromAny, b_ as singleNodeFromAny, b$ as stratify, c0 as toCSV, c1 as toClickHouse, c2 as toFile, c3 as toHTTP, c4 as toKafka, c5 as toLoki, c6 as toMongo, c7 as toNATS, c8 as toPostgres, c9 as toPulsar, ca as toRabbitMQ, cb as toReadableStream, cc as toRedisStream, cd as toS3, ce as toSSE, cf as toSSEBytes, cg as toSqlite, ch as toTempo, ci as toWebSocket, cj as workerBridge, ck as workerSelf } from '../index-RJIY7QVW.cjs';
1
+ export { A as AckableMessage, a as AdapterHandlers, B as BatchMessage, b as BridgeMessage, c as BufferedSinkHandle, d as BundleTriad, C as CSVRow, e as CacheEvictionPolicy, f as CascadingCache, g as CascadingCacheOptions, h as CheckpointToRedisOptions, i as CheckpointToS3Options, j as ClickHouseClientLike, k as ClickHouseInsertClientLike, l as ClickHouseRow, m as CronSchedule, D as DrizzleQueryLike, E as EmitTriad, n as ErrorMessage, o as ExternalBundleOptions, p as ExternalRegister, F as FileWriterLike, q as FromCSVOptions, r as FromClickHouseWatchOptions, s as FromDrizzleOptions, t as FromHTTPOptions, u as FromHTTPPollOptions, v as FromHTTPStreamOptions, w as FromKafkaOptions, x as FromKyselyOptions, y as FromMCPOptions, z as FromNATSOptions, G as FromNDJSONOptions, H as FromOTelOptions, I as FromPrismaOptions, J as FromPrometheusOptions, K as FromPulsarOptions, L as FromRabbitMQOptions, M as FromRedisStreamOptions, N as FromSSEOptions, O as FromSqliteOptions, P as FromStatsDOptions, Q as FromSyslogOptions, R as FromWebSocketReconnectOptions, S as HTTPBundle, T as InitMessage, U as KafkaConsumerLike, V as KafkaMessage, W as KafkaProducerLike, X as KyselyQueryLike, Y as LokiClientLike, Z as LokiStream, _ as MCPClientLike, $ as MongoCollectionLike, a0 as NATSClientLike, a1 as NATSMessage, a2 as NATSSubscriptionLike, a3 as NativePubSubBackend, a4 as OTelBundle, a5 as OTelLog, a6 as OTelMetric, a7 as OTelRegister, a8 as OTelSpan, a9 as ParseSSEStreamOptions, aa as PostgresClientLike, ab as PrismaModelLike, ac as PrometheusMetric, ad as PubSubBackend, ae as PubSubHub, af as PubSubHubOptions, ag as PulsarConsumerLike, ah as PulsarMessage, ai as PulsarProducerLike, aj as RabbitMQChannelLike, ak as RabbitMQMessage, al as ReactiveSinkBackpressureOptions, am as ReactiveSinkConfig, an as ReactiveSinkHandle, ao as ReactiveSinkOptions, ap as ReactiveSinkRetryOptions, aq as ReadyMessage, ar as RedisCheckpointClientLike, as as RedisClientLike, at as RedisStreamEntry, au as ResettableTimer, av as S3ClientLike, aw as SSEEvent, ax as SignalMessage, ay as SingleFromAnyOptions, az as SinkFailure, aA as SinkHandle, aB as SinkTransportError, aC as SqliteDbLike, aD as SqliteIterableDbLike, aE as StatsDMetric, aF as StatsDRegister, aG as StratifyOptions, aH as StratifyRule, aI as SyslogMessage, aJ as SyslogRegister, aK as TempoClientLike, aL as ToCSVOptions, aM as ToClickHouseOptions, aN as ToFileOptions, aO as ToHTTPOptions, aP as ToKafkaOptions, aQ as ToLokiOptions, aR as ToMongoOptions, aS as ToNATSOptions, aT as ToPostgresOptions, aU as ToPulsarOptions, aV as ToRabbitMQOptions, aW as ToRedisStreamOptions, aX as ToS3Options, aY as ToSSEOptions, aZ as ToSqliteOptions, a_ as ToTempoOptions, a$ as ToWebSocketOptions, b0 as ValueMessage, b1 as WatermarkController, b2 as WatermarkOptions, b3 as WebSocketLike, b4 as WebSocketMessageEventLike, b5 as WebSocketRegister, b6 as WebhookRegister, b7 as WorkerBridge, b8 as WorkerBridgeOptions, b9 as WorkerSelfHandle, ba as WorkerSelfOptions, bb as WorkerTransport, bc as cascadingCache, bd as checkpointToRedis, be as checkpointToS3, bf as createTransport, bg as createWatermarkController, bh as csvRows, bi as deserializeError, bj as externalBundle, bk as externalProducer, bm as fromCSV, bn as fromClickHouseWatch, bo as fromDrizzle, bp as fromHTTP, bq as fromHTTPPoll, br as fromHTTPStream, bs as fromKafka, bt as fromKysely, bu as fromMCP, bv as fromNATS, bw as fromNDJSON, bx as fromOTel, by as fromPrisma, bz as fromPrometheus, bA as fromPulsar, bB as fromRabbitMQ, bC as fromRedisStream, bD as fromSSE, bE as fromSqlite, bF as fromSqliteCursor, bG as fromStatsD, bH as fromSyslog, bI as fromWebSocket, bJ as fromWebSocketReconnect, bK as fromWebhook, bL as lru, bM as makeHttpError, bN as matchesCron, bO as nameToSignal, bP as ndjsonRows, bQ as parseCron, bR as parsePrometheusText, bS as parseSSEStream, bT as parseStatsD, bU as parseSyslog, bV as pubsub, bW as reactiveSink, bX as serializeError, bY as signalToName, bZ as singleFromAny, b_ as singleNodeFromAny, b$ as stratify, c0 as toCSV, c1 as toClickHouse, c2 as toFile, c3 as toHTTP, c4 as toKafka, c5 as toLoki, c6 as toMongo, c7 as toNATS, c8 as toPostgres, c9 as toPulsar, ca as toRabbitMQ, cb as toReadableStream, cc as toRedisStream, cd as toS3, ce as toSSE, cf as toSSEBytes, cg as toSqlite, ch as toTempo, ci as toWebSocket, cj as workerBridge, ck as workerSelf } from '../index-UsU9ptzs.cjs';
2
2
  export { B as BackoffPreset, d as BackoffStrategy, e as CircuitBreaker, a as CircuitBreakerOptions, f as CircuitOpenError, C as CircuitState, E as ExponentialBackoffOptions, F as FallbackInput, J as JitterMode, N as NS_PER_MS, c as NS_PER_SEC, R as RateLimiterOptions, g as RateLimiterOverflowError, h as RateLimiterOverflowPolicy, b as RetryOptions, S as StatusValue, T as TimeoutError, i as TokenBucket, W as WithBreakerBundle, j as WithStatusBundle, k as circuitBreaker, l as constant, m as decorrelatedJitter, n as exponential, o as fallback, p as fibonacci, q as linear, r as rateLimiter, s as resolveBackoffPreset, t as retry, u as timeout, v as tokenBucket, w as withBreaker, x as withMaxAttempts, y as withStatus } from '../resilience-BWP2c7Af.cjs';
3
- export { D as DistillBundle, a as DistillOptions, E as Extraction, V as VerifiableBundle, b as VerifiableOptions, c as VerifyValue, d as distill, v as verifiable } from '../composite-_XckYx2e.cjs';
3
+ export { D as DistillBundle, a as DistillOptions, E as Extraction, V as VerifiableBundle, b as VerifiableOptions, c as VerifyValue, d as distill, v as verifiable } from '../composite-CgG0MqHm.cjs';
4
+ export { f as DescribeChangeset, g as DescribeEvent, M as DescribeNodeMeta, Q as topologyDiff } from '../graph-CHsVwf9S.cjs';
4
5
  export { C as ContentAddressedMissError, a as ContentAddressedMode, b as ContentAddressedStorage, c as ContentAddressedStorageOptions, d as canonicalJson, e as contentAddressedStorage } from '../content-addressed-storage-4-ST1tYk.cjs';
5
6
  export { T as ToObservableOptions, t as toObservable } from '../observable-Cqty11jG.cjs';
6
7
  export { MergeMapOptions, TapObserver, ThrottleOptions, audit, buffer, bufferCount, bufferTime, catchError, combine, combineLatest, concat, concatMap, debounce, debounceTime, delay, distinctUntilChanged, elementAt, exhaustMap, filter, find, first, flatMap, interval, last, map, merge, mergeMap, onFirstData, pairwise, pausable, race, reduce, repeat, rescue, sample, scan, skip, switchMap, take, takeUntil, takeWhile, tap, tapFirst, throttle, throttleTime, valve, window, windowCount, windowTime, withLatestFrom, zip } from './operators.cjs';
7
8
  export { IndexBackend, IndexRow, ListBackend, NativeIndexBackend, NativeListBackend, ReactiveIndexBundle, ReactiveIndexOptions, ReactiveListBundle, ReactiveListOptions, UpsertOptions, reactiveIndex, reactiveList } from './reactive.cjs';
8
- export { L as LogBackend, M as MergedReactiveLog, N as NativeLogBackend, R as ReactiveLogBundle, a as ReactiveLogOptions, V as ViewSpec, m as mergeReactiveLogs, r as reactiveLog } from '../reactive-log-ScpWyqny.cjs';
9
+ export { L as LogBackend, M as MergedReactiveLog, N as NativeLogBackend, R as ReactiveLogBundle, a as ReactiveLogOptions, V as ViewSpec, m as mergeReactiveLogs, r as reactiveLog } from '../reactive-log-C3IMAGpT.cjs';
9
10
  export { M as MapBackend, N as NativeMapBackend, b as NativeMapBackendOptions, R as ReactiveMapBundle, a as ReactiveMapOptions, c as ReactiveMapRetention, r as reactiveMap } from '../reactive-map-DmgeADH8.cjs';
10
11
  export { AsyncSourceOpts, EventTargetLike, FromCronOptions, NodeInput, ReactiveCounterBundle, awaitSettled, cached, defer, empty, escapeRegexChar, firstValueFrom, firstWhere, forEach, fromAny, fromAsyncIter, fromCron, fromEvent, fromIter, fromPromise, fromRaf, fromTimer, globToRegExp, keepalive, matchesAnyPattern, never, nodeSignal, of, reactiveCounter, replay, share, shareReplay, throwError, toArray } from './sources.cjs';
11
12
  export { StorageHandle, sortJsonValue, stableJsonString } from './storage-core.cjs';
12
13
  export { AppendCursor, AppendLoadResult, AppendLogStorageOptions, AppendLogStorageTier, BaseStorageTier, Codec, KvStorageOptions, KvStorageTier, SnapshotStorageOptions, SnapshotStorageTier, StorageBackend, appendLogStorage, dictKv, dictSnapshot, jsonCodec, jsonCodecFor, kvStorage, memoryAppendLog, memoryBackend, memoryKv, memorySnapshot, snapshotStorage } from './storage-tiers.cjs';
13
14
  import '../node-fSc-hCv8.cjs';
14
- import '../graph-kTltt95s.cjs';
15
- import '../meta-BGO6C7K9.cjs';
15
+ import '../meta-DreaEM_a.cjs';
16
16
  import 'rxjs';
@@ -1,16 +1,16 @@
1
- export { A as AckableMessage, a as AdapterHandlers, B as BatchMessage, b as BridgeMessage, c as BufferedSinkHandle, d as BundleTriad, C as CSVRow, e as CacheEvictionPolicy, f as CascadingCache, g as CascadingCacheOptions, h as CheckpointToRedisOptions, i as CheckpointToS3Options, j as ClickHouseClientLike, k as ClickHouseInsertClientLike, l as ClickHouseRow, m as CronSchedule, D as DrizzleQueryLike, E as EmitTriad, n as ErrorMessage, o as ExternalBundleOptions, p as ExternalRegister, F as FileWriterLike, q as FromCSVOptions, r as FromClickHouseWatchOptions, s as FromDrizzleOptions, t as FromHTTPOptions, u as FromHTTPPollOptions, v as FromHTTPStreamOptions, w as FromKafkaOptions, x as FromKyselyOptions, y as FromMCPOptions, z as FromNATSOptions, G as FromNDJSONOptions, H as FromOTelOptions, I as FromPrismaOptions, J as FromPrometheusOptions, K as FromPulsarOptions, L as FromRabbitMQOptions, M as FromRedisStreamOptions, N as FromSSEOptions, O as FromSqliteOptions, P as FromStatsDOptions, Q as FromSyslogOptions, R as FromWebSocketReconnectOptions, S as HTTPBundle, T as InitMessage, U as KafkaConsumerLike, V as KafkaMessage, W as KafkaProducerLike, X as KyselyQueryLike, Y as LokiClientLike, Z as LokiStream, _ as MCPClientLike, $ as MongoCollectionLike, a0 as NATSClientLike, a1 as NATSMessage, a2 as NATSSubscriptionLike, a3 as NativePubSubBackend, a4 as OTelBundle, a5 as OTelLog, a6 as OTelMetric, a7 as OTelRegister, a8 as OTelSpan, a9 as ParseSSEStreamOptions, aa as PostgresClientLike, ab as PrismaModelLike, ac as PrometheusMetric, ad as PubSubBackend, ae as PubSubHub, af as PubSubHubOptions, ag as PulsarConsumerLike, ah as PulsarMessage, ai as PulsarProducerLike, aj as RabbitMQChannelLike, ak as RabbitMQMessage, al as ReactiveSinkBackpressureOptions, am as ReactiveSinkConfig, an as ReactiveSinkHandle, ao as ReactiveSinkOptions, ap as ReactiveSinkRetryOptions, aq as ReadyMessage, ar as RedisCheckpointClientLike, as as RedisClientLike, at as RedisStreamEntry, au as ResettableTimer, av as S3ClientLike, aw as SSEEvent, ax as SignalMessage, ay as SingleFromAnyOptions, az as SinkFailure, aA as SinkHandle, aB as SinkTransportError, aC as SqliteDbLike, aD as SqliteIterableDbLike, aE as StatsDMetric, aF as StatsDRegister, aG as StratifyOptions, aH as StratifyRule, aI as SyslogMessage, aJ as SyslogRegister, aK as TempoClientLike, aL as ToCSVOptions, aM as ToClickHouseOptions, aN as ToFileOptions, aO as ToHTTPOptions, aP as ToKafkaOptions, aQ as ToLokiOptions, aR as ToMongoOptions, aS as ToNATSOptions, aT as ToPostgresOptions, aU as ToPulsarOptions, aV as ToRabbitMQOptions, aW as ToRedisStreamOptions, aX as ToS3Options, aY as ToSSEOptions, aZ as ToSqliteOptions, a_ as ToTempoOptions, a$ as ToWebSocketOptions, b0 as ValueMessage, b1 as WatermarkController, b2 as WatermarkOptions, b3 as WebSocketLike, b4 as WebSocketMessageEventLike, b5 as WebSocketRegister, b6 as WebhookRegister, b7 as WorkerBridge, b8 as WorkerBridgeOptions, b9 as WorkerSelfHandle, ba as WorkerSelfOptions, bb as WorkerTransport, bc as cascadingCache, bd as checkpointToRedis, be as checkpointToS3, bf as createTransport, bg as createWatermarkController, bh as csvRows, bi as deserializeError, bj as externalBundle, bk as externalProducer, bm as fromCSV, bn as fromClickHouseWatch, bo as fromDrizzle, bp as fromHTTP, bq as fromHTTPPoll, br as fromHTTPStream, bs as fromKafka, bt as fromKysely, bu as fromMCP, bv as fromNATS, bw as fromNDJSON, bx as fromOTel, by as fromPrisma, bz as fromPrometheus, bA as fromPulsar, bB as fromRabbitMQ, bC as fromRedisStream, bD as fromSSE, bE as fromSqlite, bF as fromSqliteCursor, bG as fromStatsD, bH as fromSyslog, bI as fromWebSocket, bJ as fromWebSocketReconnect, bK as fromWebhook, bL as lru, bM as makeHttpError, bN as matchesCron, bO as nameToSignal, bP as ndjsonRows, bQ as parseCron, bR as parsePrometheusText, bS as parseSSEStream, bT as parseStatsD, bU as parseSyslog, bV as pubsub, bW as reactiveSink, bX as serializeError, bY as signalToName, bZ as singleFromAny, b_ as singleNodeFromAny, b$ as stratify, c0 as toCSV, c1 as toClickHouse, c2 as toFile, c3 as toHTTP, c4 as toKafka, c5 as toLoki, c6 as toMongo, c7 as toNATS, c8 as toPostgres, c9 as toPulsar, ca as toRabbitMQ, cb as toReadableStream, cc as toRedisStream, cd as toS3, ce as toSSE, cf as toSSEBytes, cg as toSqlite, ch as toTempo, ci as toWebSocket, cj as workerBridge, ck as workerSelf } from '../index-DtSVSKnd.js';
1
+ export { A as AckableMessage, a as AdapterHandlers, B as BatchMessage, b as BridgeMessage, c as BufferedSinkHandle, d as BundleTriad, C as CSVRow, e as CacheEvictionPolicy, f as CascadingCache, g as CascadingCacheOptions, h as CheckpointToRedisOptions, i as CheckpointToS3Options, j as ClickHouseClientLike, k as ClickHouseInsertClientLike, l as ClickHouseRow, m as CronSchedule, D as DrizzleQueryLike, E as EmitTriad, n as ErrorMessage, o as ExternalBundleOptions, p as ExternalRegister, F as FileWriterLike, q as FromCSVOptions, r as FromClickHouseWatchOptions, s as FromDrizzleOptions, t as FromHTTPOptions, u as FromHTTPPollOptions, v as FromHTTPStreamOptions, w as FromKafkaOptions, x as FromKyselyOptions, y as FromMCPOptions, z as FromNATSOptions, G as FromNDJSONOptions, H as FromOTelOptions, I as FromPrismaOptions, J as FromPrometheusOptions, K as FromPulsarOptions, L as FromRabbitMQOptions, M as FromRedisStreamOptions, N as FromSSEOptions, O as FromSqliteOptions, P as FromStatsDOptions, Q as FromSyslogOptions, R as FromWebSocketReconnectOptions, S as HTTPBundle, T as InitMessage, U as KafkaConsumerLike, V as KafkaMessage, W as KafkaProducerLike, X as KyselyQueryLike, Y as LokiClientLike, Z as LokiStream, _ as MCPClientLike, $ as MongoCollectionLike, a0 as NATSClientLike, a1 as NATSMessage, a2 as NATSSubscriptionLike, a3 as NativePubSubBackend, a4 as OTelBundle, a5 as OTelLog, a6 as OTelMetric, a7 as OTelRegister, a8 as OTelSpan, a9 as ParseSSEStreamOptions, aa as PostgresClientLike, ab as PrismaModelLike, ac as PrometheusMetric, ad as PubSubBackend, ae as PubSubHub, af as PubSubHubOptions, ag as PulsarConsumerLike, ah as PulsarMessage, ai as PulsarProducerLike, aj as RabbitMQChannelLike, ak as RabbitMQMessage, al as ReactiveSinkBackpressureOptions, am as ReactiveSinkConfig, an as ReactiveSinkHandle, ao as ReactiveSinkOptions, ap as ReactiveSinkRetryOptions, aq as ReadyMessage, ar as RedisCheckpointClientLike, as as RedisClientLike, at as RedisStreamEntry, au as ResettableTimer, av as S3ClientLike, aw as SSEEvent, ax as SignalMessage, ay as SingleFromAnyOptions, az as SinkFailure, aA as SinkHandle, aB as SinkTransportError, aC as SqliteDbLike, aD as SqliteIterableDbLike, aE as StatsDMetric, aF as StatsDRegister, aG as StratifyOptions, aH as StratifyRule, aI as SyslogMessage, aJ as SyslogRegister, aK as TempoClientLike, aL as ToCSVOptions, aM as ToClickHouseOptions, aN as ToFileOptions, aO as ToHTTPOptions, aP as ToKafkaOptions, aQ as ToLokiOptions, aR as ToMongoOptions, aS as ToNATSOptions, aT as ToPostgresOptions, aU as ToPulsarOptions, aV as ToRabbitMQOptions, aW as ToRedisStreamOptions, aX as ToS3Options, aY as ToSSEOptions, aZ as ToSqliteOptions, a_ as ToTempoOptions, a$ as ToWebSocketOptions, b0 as ValueMessage, b1 as WatermarkController, b2 as WatermarkOptions, b3 as WebSocketLike, b4 as WebSocketMessageEventLike, b5 as WebSocketRegister, b6 as WebhookRegister, b7 as WorkerBridge, b8 as WorkerBridgeOptions, b9 as WorkerSelfHandle, ba as WorkerSelfOptions, bb as WorkerTransport, bc as cascadingCache, bd as checkpointToRedis, be as checkpointToS3, bf as createTransport, bg as createWatermarkController, bh as csvRows, bi as deserializeError, bj as externalBundle, bk as externalProducer, bm as fromCSV, bn as fromClickHouseWatch, bo as fromDrizzle, bp as fromHTTP, bq as fromHTTPPoll, br as fromHTTPStream, bs as fromKafka, bt as fromKysely, bu as fromMCP, bv as fromNATS, bw as fromNDJSON, bx as fromOTel, by as fromPrisma, bz as fromPrometheus, bA as fromPulsar, bB as fromRabbitMQ, bC as fromRedisStream, bD as fromSSE, bE as fromSqlite, bF as fromSqliteCursor, bG as fromStatsD, bH as fromSyslog, bI as fromWebSocket, bJ as fromWebSocketReconnect, bK as fromWebhook, bL as lru, bM as makeHttpError, bN as matchesCron, bO as nameToSignal, bP as ndjsonRows, bQ as parseCron, bR as parsePrometheusText, bS as parseSSEStream, bT as parseStatsD, bU as parseSyslog, bV as pubsub, bW as reactiveSink, bX as serializeError, bY as signalToName, bZ as singleFromAny, b_ as singleNodeFromAny, b$ as stratify, c0 as toCSV, c1 as toClickHouse, c2 as toFile, c3 as toHTTP, c4 as toKafka, c5 as toLoki, c6 as toMongo, c7 as toNATS, c8 as toPostgres, c9 as toPulsar, ca as toRabbitMQ, cb as toReadableStream, cc as toRedisStream, cd as toS3, ce as toSSE, cf as toSSEBytes, cg as toSqlite, ch as toTempo, ci as toWebSocket, cj as workerBridge, ck as workerSelf } from '../index-AUqWe_fX.js';
2
2
  export { B as BackoffPreset, d as BackoffStrategy, e as CircuitBreaker, a as CircuitBreakerOptions, f as CircuitOpenError, C as CircuitState, E as ExponentialBackoffOptions, F as FallbackInput, J as JitterMode, N as NS_PER_MS, c as NS_PER_SEC, R as RateLimiterOptions, g as RateLimiterOverflowError, h as RateLimiterOverflowPolicy, b as RetryOptions, S as StatusValue, T as TimeoutError, i as TokenBucket, W as WithBreakerBundle, j as WithStatusBundle, k as circuitBreaker, l as constant, m as decorrelatedJitter, n as exponential, o as fallback, p as fibonacci, q as linear, r as rateLimiter, s as resolveBackoffPreset, t as retry, u as timeout, v as tokenBucket, w as withBreaker, x as withMaxAttempts, y as withStatus } from '../resilience-Bys63Cpd.js';
3
- export { D as DistillBundle, a as DistillOptions, E as Extraction, V as VerifiableBundle, b as VerifiableOptions, c as VerifyValue, d as distill, v as verifiable } from '../composite-CT_mApQD.js';
3
+ export { D as DistillBundle, a as DistillOptions, E as Extraction, V as VerifiableBundle, b as VerifiableOptions, c as VerifyValue, d as distill, v as verifiable } from '../composite-DTOlDuch.js';
4
+ export { f as DescribeChangeset, g as DescribeEvent, M as DescribeNodeMeta, Q as topologyDiff } from '../graph-BjW1taJl.js';
4
5
  export { C as ContentAddressedMissError, a as ContentAddressedMode, b as ContentAddressedStorage, c as ContentAddressedStorageOptions, d as canonicalJson, e as contentAddressedStorage } from '../content-addressed-storage-DuYMjV7o.js';
5
6
  export { T as ToObservableOptions, t as toObservable } from '../observable-EAV_rNfM.js';
6
7
  export { MergeMapOptions, TapObserver, ThrottleOptions, audit, buffer, bufferCount, bufferTime, catchError, combine, combineLatest, concat, concatMap, debounce, debounceTime, delay, distinctUntilChanged, elementAt, exhaustMap, filter, find, first, flatMap, interval, last, map, merge, mergeMap, onFirstData, pairwise, pausable, race, reduce, repeat, rescue, sample, scan, skip, switchMap, take, takeUntil, takeWhile, tap, tapFirst, throttle, throttleTime, valve, window, windowCount, windowTime, withLatestFrom, zip } from './operators.js';
7
8
  export { IndexBackend, IndexRow, ListBackend, NativeIndexBackend, NativeListBackend, ReactiveIndexBundle, ReactiveIndexOptions, ReactiveListBundle, ReactiveListOptions, UpsertOptions, reactiveIndex, reactiveList } from './reactive.js';
8
- export { L as LogBackend, M as MergedReactiveLog, N as NativeLogBackend, R as ReactiveLogBundle, a as ReactiveLogOptions, V as ViewSpec, m as mergeReactiveLogs, r as reactiveLog } from '../reactive-log-jirQsxMY.js';
9
+ export { L as LogBackend, M as MergedReactiveLog, N as NativeLogBackend, R as ReactiveLogBundle, a as ReactiveLogOptions, V as ViewSpec, m as mergeReactiveLogs, r as reactiveLog } from '../reactive-log-BgWSA1fg.js';
9
10
  export { M as MapBackend, N as NativeMapBackend, b as NativeMapBackendOptions, R as ReactiveMapBundle, a as ReactiveMapOptions, c as ReactiveMapRetention, r as reactiveMap } from '../reactive-map-CHyeCf4D.js';
10
11
  export { AsyncSourceOpts, EventTargetLike, FromCronOptions, NodeInput, ReactiveCounterBundle, awaitSettled, cached, defer, empty, escapeRegexChar, firstValueFrom, firstWhere, forEach, fromAny, fromAsyncIter, fromCron, fromEvent, fromIter, fromPromise, fromRaf, fromTimer, globToRegExp, keepalive, matchesAnyPattern, never, nodeSignal, of, reactiveCounter, replay, share, shareReplay, throwError, toArray } from './sources.js';
11
12
  export { StorageHandle, sortJsonValue, stableJsonString } from './storage-core.js';
12
13
  export { AppendCursor, AppendLoadResult, AppendLogStorageOptions, AppendLogStorageTier, BaseStorageTier, Codec, KvStorageOptions, KvStorageTier, SnapshotStorageOptions, SnapshotStorageTier, StorageBackend, appendLogStorage, dictKv, dictSnapshot, jsonCodec, jsonCodecFor, kvStorage, memoryAppendLog, memoryBackend, memoryKv, memorySnapshot, snapshotStorage } from './storage-tiers.js';
13
14
  import '../node-fSc-hCv8.js';
14
- import '../graph-Cv-8x0ZI.js';
15
- import '../meta-CC6EPdpK.js';
15
+ import '../meta-BYqlATmg.js';
16
16
  import 'rxjs';
@@ -1 +1 @@
1
- import{a as Zb,b as _b,c as hc,d as ic,e as Dc,f as Ec,g as Fc,h as Gc,i as Hc,j as Ic,k as Jc}from"../chunk-DBPFMCVH.js";import{a as bc,b as cc}from"../chunk-5RTZ6DXG.js";import{$ as Xb,A as wb,B as xb,C as yb,D as zb,E as Ab,F as Bb,G as Cb,H as Db,I as Eb,J as Fb,K as Gb,L as Hb,M as Ib,N as Jb,O as Kb,P as Lb,Q as Mb,R as Nb,S as Ob,T as Pb,U as Qb,V as Rb,W as Sb,X as Tb,Y as Ub,Z as Vb,_ as Wb,a as ca,aa as Yb,b as da,ba as gc,c as _a,d as $a,e as ab,f as bb,g as cb,h as db,i as eb,j as fb,k as gb,l as hb,m as ib,n as jb,o as kb,p as lb,q as mb,r as nb,s as ob,t as pb,u as qb,v as rb,w as sb,x as tb,y as ub,z as vb}from"../chunk-MYFR67PY.js";import{a as n,b as o,c as p,d as q,e as r,f as s,g as t,h as u,i as v,j as w,k as x}from"../chunk-A5HZZYRK.js";import{b as dc,c as ec,d as fc,e as nc,f as oc}from"../chunk-Q7EUZ6NN.js";import{a as Cc}from"../chunk-JUJEPZOI.js";import{a as jc,b as kc}from"../chunk-NNKJUORL.js";import{a as lc,b as mc}from"../chunk-KGKJCHEK.js";import{a as $b,b as ac}from"../chunk-TZQPPQEQ.js";import{a,b as _}from"../chunk-5QDBSZBV.js";import{a as $,b as aa,c as ba}from"../chunk-KUVDFOJH.js";import"../chunk-5KPIYVCC.js";import"../chunk-SGS4OJGS.js";import{a as m}from"../chunk-ESMPEKEV.js";import"../chunk-533RQFF6.js";import{a as rc,b as sc,c as tc,d as uc,e as vc,f as wc,g as xc,h as yc,i as zc,j as Ac,k as Bc}from"../chunk-D5RFJOZ2.js";import{a as pc,b as qc}from"../chunk-CE72X3WO.js";import{A as Ea,B as Fa,C as Ga,D as Ha,E as Ia,F as Ja,G as Ka,I as La,J as Ma,K as Na,L as Oa,M as Pa,N as Qa,O as Ra,P as Sa,Q as Ta,R as Ua,S as Va,T as Wa,U as Xa,V as Ya,W as Za,a as ea,b as fa,c as ga,d as ha,e as ia,f as ja,g as ka,h as la,i as ma,j as na,k as oa,l as pa,m as qa,n as ra,o as sa,p as ta,q as ua,r as va,s as wa,t as xa,u as ya,v as za,w as Aa,x as Ba,y as Ca,z as Da}from"../chunk-JJTF75VS.js";import{a as d,b as e,c as f,d as g,e as h,f as i,g as j,h as k,i as l}from"../chunk-4VVTGLXJ.js";import{A as W,B as X,C as Y,D as Z,a as b,b as c,c as y,d as z,e as A,f as B,g as C,h as D,i as E,j as F,k as G,l as H,m as I,n as J,o as K,p as L,q as M,r as N,s as O,t as P,u as Q,v as R,w as S,x as T,y as U,z as V}from"../chunk-MQZWA3DF.js";import"../chunk-LYCLF26R.js";import"../chunk-CK2E7BTU.js";import"../chunk-QYADASLV.js";export{o as CircuitOpenError,dc as ContentAddressedMissError,d as NS_PER_MS,e as NS_PER_SEC,jc as NativeIndexBackend,lc as NativeListBackend,$ as NativeLogBackend,$b as NativeMapBackend,hc as NativePubSubBackend,s as RateLimiterOverflowError,m as ResettableTimer,v as TimeoutError,vc as appendLogStorage,Ka as audit,V as awaitSettled,La as buffer,Ma as bufferCount,Oa as bufferTime,S as cached,ec as canonicalJson,_b as cascadingCache,Za as catchError,Sb as checkpointToRedis,Rb as checkpointToS3,p as circuitBreaker,va as combine,Wa as combineLatest,za as concat,Da as concatMap,f as constant,fc as contentAddressedStorage,Hc as createTransport,_ as createWatermarkController,zb as csvRows,Ha as debounce,Xa as debounceTime,j as decorrelatedJitter,N as defer,Ga as delay,Gc as deserializeError,Ac as dictKv,Bc as dictSnapshot,cc as distill,ta as distinctUntilChanged,pa as elementAt,K as empty,y as escapeRegexChar,Ca as exhaustMap,h as exponential,da as externalBundle,ca as externalProducer,w as fallback,i as fibonacci,fa as filter,oa as find,ma as first,T as firstValueFrom,U as firstWhere,Fa as flatMap,O as forEach,I as fromAny,H as fromAsyncIter,yb as fromCSV,Cb as fromClickHouseWatch,D as fromCron,Xb as fromDrizzle,E as fromEvent,bb as fromHTTP,jb as fromHTTPPoll,ib as fromHTTPStream,F as fromIter,ub as fromKafka,Yb as fromKysely,mb as fromMCP,Fb as fromNATS,Bb as fromNDJSON,nb as fromOTel,Wb as fromPrisma,sb as fromPrometheus,G as fromPromise,Db as fromPulsar,Hb as fromRabbitMQ,C as fromRaf,wb as fromRedisStream,hb as fromSSE,Tb as fromSqlite,Ub as fromSqliteCursor,qb as fromStatsD,ob as fromSyslog,B as fromTimer,$a as fromWebSocket,lb as fromWebSocketReconnect,ab as fromWebhook,z as globToRegExp,Ra as interval,rc as jsonCodec,sc as jsonCodecFor,Y as keepalive,wc as kvStorage,na as last,g as linear,Zb as lru,gc as makeHttpError,ea as map,A as matchesAnyPattern,c as matchesCron,yc as memoryAppendLog,tc as memoryBackend,zc as memoryKv,xc as memorySnapshot,xa as merge,Ea as mergeMap,ba as mergeReactiveLogs,Ec as nameToSignal,Ab as ndjsonRows,L as never,W as nodeSignal,J as of,ra as onFirstData,ua as pairwise,b as parseCron,tb as parsePrometheusText,gb as parseSSEStream,rb as parseStatsD,pb as parseSyslog,Ta as pausable,ic as pubsub,Aa as race,t as rateLimiter,Z as reactiveCounter,kc as reactiveIndex,mc as reactiveList,aa as reactiveLog,ac as reactiveMap,_a as reactiveSink,ha as reduce,Sa as repeat,R as replay,Ua as rescue,l as resolveBackoffPreset,n as retry,Ja as sample,ga as scan,Fc as serializeError,Q as share,X as shareReplay,Dc as signalToName,nc as singleFromAny,oc as singleNodeFromAny,ja as skip,uc as snapshotStorage,pc as sortJsonValue,qc as stableJsonString,Cc as stratify,Ba as switchMap,ia as take,la as takeUntil,ka as takeWhile,qa as tap,sa as tapFirst,Ia as throttle,Ya as throttleTime,M as throwError,x as timeout,P as toArray,Kb as toCSV,Lb as toClickHouse,Jb as toFile,cb as toHTTP,vb as toKafka,Pb as toLoki,Ob as toMongo,Gb as toNATS,a as toObservable,Nb as toPostgres,Eb as toPulsar,Ib as toRabbitMQ,fb as toReadableStream,xb as toRedisStream,Mb as toS3,db as toSSE,eb as toSSEBytes,Vb as toSqlite,Qb as toTempo,kb as toWebSocket,r as tokenBucket,Va as valve,bc as verifiable,Qa as window,Na as windowCount,Pa as windowTime,q as withBreaker,wa as withLatestFrom,k as withMaxAttempts,u as withStatus,Ic as workerBridge,Jc as workerSelf,ya as zip};
1
+ import{a as _b,b as $b,c as ic,d as jc,e as Ec,f as Fc,g as Gc,h as Hc,i as Ic,j as Jc,k as Kc}from"../chunk-5BGFS2XH.js";import{a as cc,b as dc}from"../chunk-FAYEMS5M.js";import{$ as Yb,A as xb,B as yb,C as zb,D as Ab,E as Bb,F as Cb,G as Db,H as Eb,I as Fb,J as Gb,K as Hb,L as Ib,M as Jb,N as Kb,O as Lb,P as Mb,Q as Nb,R as Ob,S as Pb,T as Qb,U as Rb,V as Sb,W as Tb,X as Ub,Y as Vb,Z as Wb,_ as Xb,a as da,aa as Zb,b as ea,ba as hc,c as $a,d as ab,e as bb,f as cb,g as db,h as eb,i as fb,j as gb,k as hb,l as ib,m as jb,n as kb,o as lb,p as mb,q as nb,r as ob,s as pb,t as qb,u as rb,v as sb,w as tb,x as ub,y as vb,z as wb}from"../chunk-K5C67OGE.js";import{a as n,b as o,c as p,d as q,e as r,f as s,g as t,h as u,i as v,j as w,k as x}from"../chunk-XIMFHEKV.js";import{b as ec,c as fc,d as gc,e as oc,f as pc}from"../chunk-B5S7KTGP.js";import{a as Dc}from"../chunk-4BDQXBXE.js";import{a,b as _}from"../chunk-5QDBSZBV.js";import{a as $}from"../chunk-QMC2PLNM.js";import"../chunk-SGS4OJGS.js";import{a as m}from"../chunk-ESMPEKEV.js";import{a as sc,b as tc,c as uc,d as vc,e as wc,f as xc,g as yc,h as zc,i as Ac,j as Bc,k as Cc}from"../chunk-D5RFJOZ2.js";import{a as qc,b as rc}from"../chunk-CE72X3WO.js";import{A as Fa,B as Ga,C as Ha,D as Ia,E as Ja,F as Ka,G as La,I as Ma,J as Na,K as Oa,L as Pa,M as Qa,N as Ra,O as Sa,P as Ta,Q as Ua,R as Va,S as Wa,T as Xa,U as Ya,V as Za,W as _a,a as fa,b as ga,c as ha,d as ia,e as ja,f as ka,g as la,h as ma,i as na,j as oa,k as pa,l as qa,m as ra,n as sa,o as ta,p as ua,q as va,r as wa,s as xa,t as ya,u as za,v as Aa,w as Ba,x as Ca,y as Da,z as Ea}from"../chunk-6773HURD.js";import{a as d,b as e,c as f,d as g,e as h,f as i,g as j,h as k,i as l}from"../chunk-4VVTGLXJ.js";import"../chunk-DQJLC6YY.js";import{a as kc,b as lc}from"../chunk-NNKJUORL.js";import{a as mc,b as nc}from"../chunk-KGKJCHEK.js";import{a as ac,b as bc}from"../chunk-TZQPPQEQ.js";import{a as aa,b as ba,c as ca}from"../chunk-7KZZLWZ6.js";import{A as W,B as X,C as Y,D as Z,a as b,b as c,c as y,d as z,e as A,f as B,g as C,h as D,i as E,j as F,k as G,l as H,m as I,n as J,o as K,p as L,q as M,r as N,s as O,t as P,u as Q,v as R,w as S,x as T,y as U,z as V}from"../chunk-RZ5HKPGI.js";import"../chunk-LYCLF26R.js";import"../chunk-CK2E7BTU.js";import"../chunk-QYADASLV.js";export{o as CircuitOpenError,ec as ContentAddressedMissError,d as NS_PER_MS,e as NS_PER_SEC,kc as NativeIndexBackend,mc as NativeListBackend,aa as NativeLogBackend,ac as NativeMapBackend,ic as NativePubSubBackend,s as RateLimiterOverflowError,m as ResettableTimer,v as TimeoutError,wc as appendLogStorage,La as audit,V as awaitSettled,Ma as buffer,Na as bufferCount,Pa as bufferTime,S as cached,fc as canonicalJson,$b as cascadingCache,_a as catchError,Tb as checkpointToRedis,Sb as checkpointToS3,p as circuitBreaker,wa as combine,Xa as combineLatest,Aa as concat,Ea as concatMap,f as constant,gc as contentAddressedStorage,Ic as createTransport,_ as createWatermarkController,Ab as csvRows,Ia as debounce,Ya as debounceTime,j as decorrelatedJitter,N as defer,Ha as delay,Hc as deserializeError,Bc as dictKv,Cc as dictSnapshot,dc as distill,ua as distinctUntilChanged,qa as elementAt,K as empty,y as escapeRegexChar,Da as exhaustMap,h as exponential,ea as externalBundle,da as externalProducer,w as fallback,i as fibonacci,ga as filter,pa as find,na as first,T as firstValueFrom,U as firstWhere,Ga as flatMap,O as forEach,I as fromAny,H as fromAsyncIter,zb as fromCSV,Db as fromClickHouseWatch,D as fromCron,Yb as fromDrizzle,E as fromEvent,cb as fromHTTP,kb as fromHTTPPoll,jb as fromHTTPStream,F as fromIter,vb as fromKafka,Zb as fromKysely,nb as fromMCP,Gb as fromNATS,Cb as fromNDJSON,ob as fromOTel,Xb as fromPrisma,tb as fromPrometheus,G as fromPromise,Eb as fromPulsar,Ib as fromRabbitMQ,C as fromRaf,xb as fromRedisStream,ib as fromSSE,Ub as fromSqlite,Vb as fromSqliteCursor,rb as fromStatsD,pb as fromSyslog,B as fromTimer,ab as fromWebSocket,mb as fromWebSocketReconnect,bb as fromWebhook,z as globToRegExp,Sa as interval,sc as jsonCodec,tc as jsonCodecFor,Y as keepalive,xc as kvStorage,oa as last,g as linear,_b as lru,hc as makeHttpError,fa as map,A as matchesAnyPattern,c as matchesCron,zc as memoryAppendLog,uc as memoryBackend,Ac as memoryKv,yc as memorySnapshot,ya as merge,Fa as mergeMap,ca as mergeReactiveLogs,Fc as nameToSignal,Bb as ndjsonRows,L as never,W as nodeSignal,J as of,sa as onFirstData,va as pairwise,b as parseCron,ub as parsePrometheusText,hb as parseSSEStream,sb as parseStatsD,qb as parseSyslog,Ua as pausable,jc as pubsub,Ba as race,t as rateLimiter,Z as reactiveCounter,lc as reactiveIndex,nc as reactiveList,ba as reactiveLog,bc as reactiveMap,$a as reactiveSink,ia as reduce,Ta as repeat,R as replay,Va as rescue,l as resolveBackoffPreset,n as retry,Ka as sample,ha as scan,Gc as serializeError,Q as share,X as shareReplay,Ec as signalToName,oc as singleFromAny,pc as singleNodeFromAny,ka as skip,vc as snapshotStorage,qc as sortJsonValue,rc as stableJsonString,Dc as stratify,Ca as switchMap,ja as take,ma as takeUntil,la as takeWhile,ra as tap,ta as tapFirst,Ja as throttle,Za as throttleTime,M as throwError,x as timeout,P as toArray,Lb as toCSV,Mb as toClickHouse,Kb as toFile,db as toHTTP,wb as toKafka,Qb as toLoki,Pb as toMongo,Hb as toNATS,a as toObservable,Ob as toPostgres,Fb as toPulsar,Jb as toRabbitMQ,gb as toReadableStream,yb as toRedisStream,Nb as toS3,eb as toSSE,fb as toSSEBytes,Wb as toSqlite,Rb as toTempo,lb as toWebSocket,r as tokenBucket,$ as topologyDiff,Wa as valve,cc as verifiable,Ra as window,Oa as windowCount,Qa as windowTime,q as withBreaker,xa as withLatestFrom,k as withMaxAttempts,u as withStatus,Jc as workerBridge,Kc as workerSelf,za as zip};
@@ -1,2 +1,2 @@
1
- "use strict";var fe=Object.defineProperty;var mn=Object.getOwnPropertyDescriptor;var gn=Object.getOwnPropertyNames;var Tn=Object.prototype.hasOwnProperty;var S=(t,e)=>()=>(t&&(e=t(t=0)),e);var bn=(t,e)=>{for(var n in e)fe(t,n,{get:e[n],enumerable:!0})},yn=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of gn(e))!Tn.call(t,o)&&o!==n&&fe(t,o,{get:()=>e[o],enumerable:!(r=mn(e,o))||r.enumerable});return t};var vn=t=>yn(fe({},"__esModule",{value:!0}),t);function $(){return Date.now()*1e6}var ee=S(()=>{"use strict"});var P,x,A,R,H,V,X,L,N,g,K,pe,_n,he,wn,Nn,me,Me,Ce,De,ge,B=S(()=>{"use strict";P=Symbol.for("graphrefly/START"),x=Symbol.for("graphrefly/DATA"),A=Symbol.for("graphrefly/DIRTY"),R=Symbol.for("graphrefly/RESOLVED"),H=Symbol.for("graphrefly/INVALIDATE"),V=Symbol.for("graphrefly/PAUSE"),X=Symbol.for("graphrefly/RESUME"),L=Symbol.for("graphrefly/TEARDOWN"),N=Symbol.for("graphrefly/COMPLETE"),g=Symbol.for("graphrefly/ERROR"),K=Object.freeze([A]),pe=Object.freeze([R]),_n=Object.freeze([H]),he=Object.freeze([P]),wn=Object.freeze([N]),Nn=Object.freeze([L]),me=Object.freeze([K]),Me=Object.freeze([pe]),Ce=Object.freeze([_n]),De=Object.freeze([wn]),ge=Object.freeze([Nn])});function Fe(t){t.registerCodec(xn)}var xn,Ie=S(()=>{"use strict";xn={name:"json",version:1,contentType:"application/json",encode(t){let e=JSON.stringify(t);return new TextEncoder().encode(e)},decode(t,e){let n=new TextDecoder().decode(t);return JSON.parse(n)}}});function ne(t){if(t==null)return En;let{type:e,id:n,...r}=t;return{type:e??"system",id:n??"",...r}}var En,Pe=S(()=>{"use strict";En={type:"system",id:""}});function He(){return Te>0||kn}function Ve(){return Te>0}function Be(t){Te>0?On.push(t):t()}function te(t,e,n){if(e.length===0)return;if(e.length===1){let d=n(e[0][0]);if(d<3||!He()){t(e);return}(d>=5?Ue:d===4?Ge:Le).push(()=>t(e));return}let r=e.length,o=r,s=r,i=r,a=0;for(;a<r&&n(e[a][0])<3;)a++;for(o=a;a<r&&n(e[a][0])===3;)a++;for(s=a;a<r&&n(e[a][0])===4;)a++;i=a;let u=He();if(o>0){let d=e.slice(0,o);t(d)}if(s>o){let d=e.slice(o,s);u?Le.push(()=>t(d)):t(d)}if(i>s){let d=e.slice(s,i);u?Ge.push(()=>t(d)):t(d)}if(r>i){let d=e.slice(i,r);u?Ue.push(()=>t(d)):t(d)}}var Te,kn,Le,Ge,Ue,On,We=S(()=>{"use strict";Te=0,kn=!1,Le=[],Ge=[],Ue=[],On=[]});function je(t){t.registerMessageType(P,{tier:0,wireCrossing:!1}),t.registerMessageType(A,{tier:1,wireCrossing:!1}),t.registerMessageType(H,{tier:1,wireCrossing:!1,metaPassthrough:!1}),t.registerMessageType(V,{tier:2,wireCrossing:!1}),t.registerMessageType(X,{tier:2,wireCrossing:!1}),t.registerMessageType(x,{tier:3,wireCrossing:!0}),t.registerMessageType(R,{tier:3,wireCrossing:!0}),t.registerMessageType(N,{tier:4,wireCrossing:!0,metaPassthrough:!1}),t.registerMessageType(g,{tier:4,wireCrossing:!0,metaPassthrough:!1}),t.registerMessageType(L,{tier:5,wireCrossing:!0,metaPassthrough:!1})}var re,$e=S(()=>{"use strict";B();re=class{_messageTypes=new Map;_codecs=new Map;_onMessage;_onSubscribe;_defaultVersioning;_defaultHashFn;_inspectorEnabled=!(typeof process<"u"&&process.env?.NODE_ENV==="production");_globalInspector;_rigorRecorder;_frozen=!1;tierOf;constructor(e){this._onMessage=e.onMessage,this._onSubscribe=e.onSubscribe,this._defaultVersioning=e.defaultVersioning,this._defaultHashFn=e.defaultHashFn,this.tierOf=n=>{let r=this._messageTypes.get(n);return r!=null?r.tier:1}}get onMessage(){return this._frozen=!0,this._onMessage}get onSubscribe(){return this._frozen=!0,this._onSubscribe}set onMessage(e){this._assertUnfrozen(),this._onMessage=e}set onSubscribe(e){this._assertUnfrozen(),this._onSubscribe=e}get defaultVersioning(){return this._defaultVersioning}set defaultVersioning(e){this._assertUnfrozen(),this._defaultVersioning=e}get defaultHashFn(){return this._defaultHashFn}set defaultHashFn(e){this._assertUnfrozen(),this._defaultHashFn=e}get inspectorEnabled(){return this._inspectorEnabled}set inspectorEnabled(e){this._inspectorEnabled=e}get globalInspector(){return this._globalInspector}set globalInspector(e){this._globalInspector=e}get rigorRecorder(){return this._rigorRecorder}set rigorRecorder(e){this._rigorRecorder=e}registerMessageType(e,n){return this._assertUnfrozen(),this._messageTypes.set(e,{tier:n.tier,wireCrossing:n.wireCrossing??n.tier>=3,metaPassthrough:n.metaPassthrough??!0}),this}messageTier(e){let n=this._messageTypes.get(e);return n!=null?n.tier:1}isWireCrossing(e){let n=this._messageTypes.get(e);return n!=null?n.wireCrossing:!0}isLocalOnly(e){return!this.isWireCrossing(e)}isMetaPassthrough(e){let n=this._messageTypes.get(e);return n!=null?n.metaPassthrough:!0}isKnownMessageType(e){return this._messageTypes.has(e)}registerCodec(e){return this._assertUnfrozen(),this._codecs.set(e.name,e),this}lookupCodec(e){return this._codecs.get(e)}_isFrozen(){return this._frozen}_assertUnfrozen(){if(this._frozen)throw new Error("GraphReFlyConfig is frozen: a node has already captured this config. Register custom types and set hooks before creating any node.")}}});var z,Ke=S(()=>{"use strict";z=class extends Error{actor;action;nodeName;constructor(e,n){super(n??`GuardDenied: action "${String(e.action)}" denied for actor type "${String(e.actor.type)}"`),this.name="GuardDenied",this.actor=e.actor,this.action=e.action,this.nodeName=e.nodeName}get node(){return this.nodeName}}});function be(t){if(t===void 0)return null;if(typeof t=="number"){if(!Number.isFinite(t))throw new TypeError(`Cannot hash non-finite number: ${t}`);if(Number.isInteger(t)&&!Number.isSafeInteger(t))throw new TypeError(`Cannot hash integer outside safe range (|n| > 2^53-1): ${t}. Cross-language cid parity is not guaranteed for unsafe integers.`);return t}if(typeof t=="string"||typeof t=="boolean"||t===null)return t;if(Array.isArray(t))return t.map(be);if(typeof t=="object"&&t!==null){let e={};for(let n of Object.keys(t).sort())e[n]=be(t[n]);return e}return null}function Rn(t){let e=An.encode(t),n=e.length,r=n*8,o=n+9+63&-64,s=new Uint8Array(o);s.set(e),s[n]=128;let i=new DataView(s.buffer);i.setUint32(o-4,r>>>0,!1),i.setUint32(o-8,Math.floor(r/4294967296)>>>0,!1);let a=1779033703,u=3144134277,d=1013904242,c=2773480762,l=1359893119,p=2600822924,f=528734635,h=1541459225,T=new Uint32Array(64),y=(m,w)=>m>>>w|m<<32-w;for(let m=0;m<o;m+=64){for(let _=0;_<16;_++)T[_]=i.getUint32(m+_*4,!1);for(let _=16;_<64;_++){let D=T[_-15],j=T[_-2],J=y(D,7)^y(D,18)^D>>>3,U=y(j,17)^y(j,19)^j>>>10;T[_]=T[_-16]+J+T[_-7]+U>>>0}let w=a,v=u,E=d,M=c,O=l,I=p,Y=f,C=h;for(let _=0;_<64;_++){let D=y(O,6)^y(O,11)^y(O,25),j=O&I^~O&Y,J=C+D+j+Sn[_]+T[_]>>>0,U=y(w,2)^y(w,13)^y(w,22),le=w&v^w&E^v&E,hn=U+le>>>0;C=Y,Y=I,I=O,O=M+J>>>0,M=E,E=v,v=w,w=J+hn>>>0}a=a+w>>>0,u=u+v>>>0,d=d+E>>>0,c=c+M>>>0,l=l+O>>>0,p=p+I>>>0,f=f+Y>>>0,h=h+C>>>0}let b=m=>m.toString(16).padStart(8,"0");return b(a)+b(u)+b(d)+b(c)+b(l)+b(p)+b(f)+b(h)}function ye(t){let e=be(t??null),n=JSON.stringify(e);return Rn(n).slice(0,16)}function Mn(){let t=globalThis.crypto;if(t?.randomUUID)return t.randomUUID();let e=()=>Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0"),n=e()+e()+e()+e();return`${n.slice(0,8)}-${n.slice(8,12)}-4${n.slice(13,16)}-${(parseInt(n.slice(16,17),16)&3|8).toString(16)}${n.slice(17,20)}-${n.slice(20,32)}`}function ve(t,e,n){let r=n?.id??Mn();if(t===0)return{id:r,version:0};let s=(n?.hash??ye)(e);return{id:r,version:0,cid:s,prev:null}}function ze(t,e,n){t.version+=1,"cid"in t&&(t.prev=t.cid,t.cid=n(e))}var Sn,An,qe=S(()=>{"use strict";Sn=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),An=new TextEncoder});function Xe(t){return{node:t,unsub:null,prevData:void 0,dirty:!1,involvedThisWave:!1,dataBatch:[],terminal:void 0}}function _e(t){t.prevData=void 0,t.dirty=!1,t.involvedThisWave=!1,t.dataBatch.length=0,t.terminal=void 0}function oe(t){return t.length===0?t:typeof t[0]=="symbol"?[t]:t}function ie(t,e,n){let r=Ze(t)?t:[],o=typeof t=="function"?t:typeof e=="function"?e:void 0,s={};return Ze(t)?s=(we(e)?e:n)??{}:we(t)?s=t:s=(we(e)?e:n)??{},new se(r,o,s)}var Ye,Je,Cn,Dn,Ne,se,Ze,we,xe=S(()=>{"use strict";Ie();Pe();We();ee();$e();Ke();B();qe();Ye=()=>{},Je=100;Cn=(t,e,n,r)=>{n.direction==="down-in"&&t._onDepMessage(n.depIndex,e)},Dn=(t,e,n,r)=>{let o=t;if(o._status==="completed"||o._status==="errored")return;let s=o._cached,i=s===void 0?[he]:[he,[x,s]];o._status==="dirty"&&i.push(K),te(e,i,o._config.tierOf)},Ne=new re({onMessage:Cn,onSubscribe:Dn});je(Ne);Fe(Ne);se=class t{_optsName;_describeKind;meta;_hasMeta;_config;_deps;_sinks=null;_sinkCount=0;_cached;_status;_cleanup;_store={};_waveHasNewData=!1;_hasNewTerminal=!1;_hasCalledFnOnce=!1;_paused=!1;_pendingWave=!1;_isExecutingFn=!1;_pendingRerun=!1;_rerunDepth=0;_dirtyDepCount=0;_batchPendingMessages=null;_pauseLocks=null;_pauseBuffer=null;_fn;_equals;_resubscribable;_resetOnTeardown;_autoComplete;_autoError;_pausable;_partial;_guard;_extraGuards;_hashFn;_versioning;_versioningLevel;_lastMutation;_inspectorHooks;_actions;constructor(e,n,r){this._config=r.config??Ne,this._config.onMessage,this._optsName=r.name,this._describeKind=r.describeKind,this._equals=r.equals??Object.is,this._resubscribable=r.resubscribable??!1,this._resetOnTeardown=r.resetOnTeardown??!1,this._autoComplete=r.completeWhenDepsComplete??!0,this._autoError=r.errorWhenDepsError??!0,this._pausable=r.pausable??!0,this._guard=r.guard,this._fn=n,this._partial=r.partial??!1,this._cached=r.initial!==void 0?r.initial:void 0,this._status=e.length===0&&n==null&&this._cached!==void 0?"settled":"sentinel",this._hashFn=r.versioningHash??this._config.defaultHashFn??ye;let o=r.versioning??this._config.defaultVersioning;this._versioningLevel=o,this._versioning=o!=null?ve(o,this._cached===void 0?void 0:this._cached,{id:r.versioningId,hash:this._hashFn}):void 0,this._deps=e.map(Xe);let s={};for(let[a,u]of Object.entries(r.meta??{})){let d={initial:u,name:`${r.name??"node"}:meta:${a}`,describeKind:"state",config:this._config};r.guard!=null&&(d.guard=r.guard),s[a]=new t([],void 0,d)}Object.freeze(s),this.meta=s,this._hasMeta=Object.keys(s).length>0;let i=this;this._actions={emit(a){i._emit([[x,a]])},down(a){i._emit(oe(a))},up(a){i._emitUp(oe(a))}},this.down=this.down.bind(this),this.up=this.up.bind(this)}get _isTerminal(){return this._status==="completed"||this._status==="errored"}get name(){return this._optsName}get status(){return this._status}get cache(){return this._cached===void 0?void 0:this._cached}get lastMutation(){return this._lastMutation}get v(){return this._versioning}hasGuard(){return this._guard!=null}_applyVersioning(e,n){if(this._isExecutingFn)throw new Error(`Node "${this.name}": _applyVersioning cannot run mid-fn \u2014 call it outside of \`_execFn\` (typically at graph setup time before the first subscribe).`);let r=this._versioningLevel;if(r!=null&&e<=r)return;let o=n?.hash??this._hashFn;o!==this._hashFn&&(this._hashFn=o);let s=this._cached===void 0?void 0:this._cached,i=this._versioning,a=i?.id??n?.id,u=i?.version??0,d=ve(e,s,{id:a,hash:o});d.version=u,this._versioning=d,this._versioningLevel=e}_setInspectorHook(e){return e==null?()=>{}:(this._inspectorHooks==null&&(this._inspectorHooks=new Set),this._inspectorHooks.add(e),()=>{this._inspectorHooks?.delete(e),this._inspectorHooks?.size===0&&(this._inspectorHooks=void 0)})}_pushGuard(e){return this._extraGuards==null&&(this._extraGuards=new Set),this._extraGuards.add(e),()=>{this._extraGuards?.delete(e),this._extraGuards?.size===0&&(this._extraGuards=void 0)}}allowsObserve(e){if(this._guard==null&&this._extraGuards==null)return!0;let n=ne(e);if(this._guard!=null&&!this._guard(n,"observe"))return!1;if(this._extraGuards!=null){for(let r of this._extraGuards)if(!r(n,"observe"))return!1}return!0}_checkGuard(e){if(e?.internal)return;let n=this._guard!=null||this._extraGuards!=null,r=e?.actor!=null;if(!n&&!r)return;let o=ne(e?.actor),s=e?.delivery==="signal"?"signal":"write";if(this._guard!=null&&!this._guard(o,s))throw new z({actor:o,action:s,nodeName:this.name});if(this._extraGuards!=null){for(let i of this._extraGuards)if(!i(o,s))throw new z({actor:o,action:s,nodeName:this.name})}this._lastMutation={actor:o,timestamp_ns:$()}}down(e,n){let r=oe(e);r.length!==0&&(this._checkGuard(n),this._emit(r))}emit(e,n){this._checkGuard(n),this._emit([[x,e]])}up(e,n){if(this._deps.length===0)return;let r=oe(e);if(r.length===0)return;this._checkGuard(n);let o=n??{internal:!0};this._validateUpTiers(r);for(let s of this._deps)s.node.up?.(r,o)}_emitUp(e){if(this._deps.length!==0&&e.length!==0){this._validateUpTiers(e);for(let n of this._deps)n.node.up?.(e,{internal:!0})}}_validateUpTiers(e){let n=this._config.tierOf;for(let r of e){let o=n(r[0]);if(o===3||o===4)throw new Error(`Node "${this.name}": tier-${o} messages cannot flow up \u2014 DATA/RESOLVED/COMPLETE/ERROR are downstream-only. Use \`down(...)\` for value delivery; \`up(...)\` is for control signals (DIRTY, INVALIDATE, PAUSE, RESUME, TEARDOWN).`)}}subscribe(e,n){if(n!=null&&this._guard!=null){let u=ne(n);if(!this._guard(u,"observe"))throw new z({actor:u,action:"observe",nodeName:this.name})}let o=this._isTerminal&&this._resubscribable;if(o){this._cached=void 0,this._status="sentinel",this._store={},this._hasCalledFnOnce=!1,this._waveHasNewData=!1,this._hasNewTerminal=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._isExecutingFn=!1,this._rerunDepth=0,this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null;for(let u of this._deps)_e(u);if(this._partial===!1){for(let u of this._deps)if(u.prevData!==void 0||u.dataBatch.length!==0||u.terminal!==void 0||u.dirty)throw new Error(`resubscribable-reset invariant: DepRecord not fully reset for node ${this._optsName??"(anonymous)"}`)}}this._sinkCount+=1;let s;try{s=this._config.onSubscribe(this,e,{sinkCount:this._sinkCount,afterTerminalReset:o},this._actions)}catch(u){throw this._sinkCount-=1,u}this._sinks==null?this._sinks=e:typeof this._sinks=="function"?this._sinks=new Set([this._sinks,e]):this._sinks.add(e);let i=this._isTerminal;if(this._sinkCount===1&&!i)try{this._activate()}catch(u){if(this._sinkCount-=1,this._removeSink(e),this._sinkCount===0&&(this._status="sentinel"),typeof s=="function")try{s()}catch{}throw u}this._status==="sentinel"&&this._cached===void 0&&(this._status="pending");let a=!1;return()=>{a||(a=!0,this._sinkCount-=1,this._removeSink(e),typeof s=="function"&&s(),this._sinks==null&&this._deactivate())}}_removeSink(e){if(this._sinks===e)this._sinks=null;else if(this._sinks!=null&&typeof this._sinks!="function")if(this._sinks.delete(e),this._sinks.size===1){let[n]=this._sinks;this._sinks=n}else this._sinks.size===0&&(this._sinks=null)}_activate(){if(this._deps.length===0){this._fn&&this._execFn();return}this._dirtyDepCount=0;let e=this._deps.length,n=0;try{for(let r=0;r<e;r++){let o=r,s=this._deps[r];s.unsub=Ye,s.unsub=s.node.subscribe(i=>{if(s.unsub===null)return;let a=this._config.tierOf,u=!1;for(let d of i)a(d[0])>=3&&(u=!0),this._config.onMessage(this,d,{direction:"down-in",depIndex:o},this._actions);u&&this._maybeRunFnOnSettlement()}),n++}}catch(r){this._deps[n].unsub=null;for(let o=0;o<n;o++){let s=this._deps[o];if(s.unsub!=null){let i=s.unsub;s.unsub=null;try{i()}catch{}_e(s)}}throw this._dirtyDepCount=0,r}}_addDep(e){for(let o=0;o<this._deps.length;o++)if(this._deps[o].node===e)return o;let n=this._deps.length,r=Xe(e);if(this._deps.push(r),this._sinks==null)return n;r.dirty=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(me),r.unsub=Ye;try{r.unsub=e.subscribe(o=>{if(r.unsub===null)return;let s=this._config.tierOf,i=!1;for(let a of o)s(a[0])>=3&&(i=!0),this._config.onMessage(this,a,{direction:"down-in",depIndex:n},this._actions);i&&this._maybeRunFnOnSettlement()})}catch(o){throw r.unsub=null,this._deps.pop(),this._dirtyDepCount--,o}return n}_deactivate(e=!1){let n=this._cleanup;if(this._cleanup=void 0,typeof n=="function")try{n()}catch(r){this._emit([[g,this._wrapFnError("cleanup threw",r)]])}else if(n!=null&&typeof n=="object"){let r=n.deactivate;if(typeof r=="function")try{r()}catch(o){this._emit([[g,this._wrapFnError("cleanup.deactivate threw",o)]])}}for(let r of this._deps){if(r.unsub!=null){let o=r.unsub;r.unsub=null;try{o()}catch{}}_e(r)}this._waveHasNewData=!1,this._hasNewTerminal=!1,this._hasCalledFnOnce=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._rerunDepth=0,this._store={},this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null,this._fn!=null&&(this._cached=void 0),e||(this._fn!=null||this._deps.length>0)&&(!this._isTerminal||this._resubscribable)&&(this._status="sentinel")}_onDepMessage(e,n){let r=this._deps[e],o=n[0];if(this._inspectorHooks!=null){let s={kind:"dep_message",depIndex:e,message:n};for(let i of this._inspectorHooks)i(s)}if(o!==P){if(o===A){this._depDirtied(r);return}if(o===H){if(this._depInvalidated(r),this._cached===void 0)return;this._emit(Ce);return}if(o===V||o===X){this._emit([n]);return}if(o===L){this._emit(ge);return}if(o===x)this._depSettledAsData(r,n[1]);else if(o===R)this._depSettledAsResolved(r);else if(o===N)this._depSettledAsTerminal(r,!0);else if(o===g)this._depSettledAsTerminal(r,n[1]);else{this._emit([n]);return}if(!this._fn){(o===x||o===R)&&this._emit([n]),(o===N||o===g)&&this._maybeAutoTerminalAfterWave();return}}}_depDirtied(e){e.dirty||(e.dirty=!0,e.involvedThisWave=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(me))}_depSettledAsData(e,n){e.dirty&&(e.dirty=!1,this._dirtyDepCount--),e.involvedThisWave=!0,e.dataBatch.push(n),this._waveHasNewData=!0}_depSettledAsResolved(e){e.dirty&&(e.dirty=!1,this._dirtyDepCount--)}_depSettledAsTerminal(e,n){e.dirty&&(e.dirty=!1,this._dirtyDepCount--),e.terminal=n,e.involvedThisWave=!0,this._hasNewTerminal=!0}_depInvalidated(e){e.prevData=void 0,e.terminal=void 0,e.dataBatch.length=0,e.dirty?e.involvedThisWave=!1:(e.dirty=!0,e.involvedThisWave=!0,this._dirtyDepCount++)}_maybeRunFnOnSettlement(){if(!(this._isTerminal&&!this._resubscribable)&&!(this._dirtyDepCount>0)){if(!this._partial&&!this._hasCalledFnOnce)for(let e=0;e<this._deps.length;e++){let n=this._deps[e];if(n.dataBatch.length===0&&n.prevData===void 0&&n.terminal===void 0){this._maybeAutoTerminalAfterWave();return}}if(this._paused){this._pendingWave=!0;return}if(!this._waveHasNewData&&!this._hasNewTerminal&&this._hasCalledFnOnce){this._clearWaveFlags(),this._emit(Me),this._maybeAutoTerminalAfterWave();return}this._fn&&this._execFn(),this._maybeAutoTerminalAfterWave()}}_maybeAutoTerminalAfterWave(){if(this._deps.length===0||this._isTerminal)return;let e=this._deps.find(n=>n.terminal!==void 0&&n.terminal!==!0);if(e!=null){this._autoError&&this._emit([[g,e.terminal]]);return}this._autoComplete&&this._deps.every(n=>n.terminal!==void 0)&&this._emit(De)}_execFn(){if(!this._fn||this._isTerminal&&!this._resubscribable)return;if(this._isExecutingFn){this._pendingRerun=!0;return}let e=this._cleanup;if(typeof e=="function"){this._cleanup=void 0;try{e()}catch(i){this._emit([[g,this._wrapFnError("cleanup threw",i)]]);return}}else if(e!=null&&typeof e=="object"){let i=e.beforeRun;if(typeof i=="function"){e.beforeRun=void 0;try{i()}catch(a){this._emit([[g,this._wrapFnError("cleanup.beforeRun threw",a)]]);return}}}let n=this._deps.map(i=>i.involvedThisWave?i.dataBatch.length>0?[...i.dataBatch]:[]:void 0),r=this._deps.map(i=>i.prevData);for(let i=0;i<this._deps.length;i++){let a=n[i];a!=null&&a.length>0&&(this._deps[i].prevData=a[a.length-1])}let o=this._deps.map(i=>i.terminal),s={prevData:r,terminalDeps:o,store:this._store};if(this._hasCalledFnOnce=!0,this._clearWaveFlags(),this._inspectorHooks!=null){let i={kind:"run",batchData:n,prevData:r};for(let a of this._inspectorHooks)a(i)}this._isExecutingFn=!0;try{let i=this._fn(n,this._actions,s);if(typeof i=="function")this._cleanup=i;else if(i!=null&&typeof i=="object"){let a=i;(typeof a.beforeRun=="function"||typeof a.deactivate=="function"||typeof a.invalidate=="function")&&(this._cleanup=i)}}catch(i){this._emit([[g,this._wrapFnError("fn threw",i)]])}finally{this._isExecutingFn=!1,this._pendingRerun?(this._pendingRerun=!1,this._rerunDepth+=1,this._rerunDepth>Je?(this._rerunDepth=0,this._emit([[g,new Error(`Node "${this.name}": _pendingRerun depth exceeded ${Je} \u2014 likely a reactive cycle`)]])):this._maybeRunFnOnSettlement()):this._rerunDepth=0,this._clearWaveFlags()}}_clearWaveFlags(){this._waveHasNewData=!1,this._hasNewTerminal=!1;for(let e of this._deps)e.involvedThisWave=!1,e.dataBatch.length=0}_wrapFnError(e,n){let r=n instanceof Error?n.message:String(n);return new Error(`Node "${this.name}": ${e}: ${r}`,{cause:n})}_frameBatch(e){let n=this._config.tierOf;if(e.length===1)return n(e[0][0])===3&&this._status!=="dirty"?[K,e[0]]:e;let r=!0,o=!1,s=!1,i=-1;for(let u of e){let d=n(u[0]);d<i&&(r=!1),d===3&&(o=!0),u[0]===A&&(s=!0),i=d}let a=e;if(!r){let u=e.map((d,c)=>({m:d,i:c,tier:n(d[0])}));u.sort((d,c)=>d.tier-c.tier||d.i-c.i),a=u.map(d=>d.m)}if(o&&!s&&this._status!=="dirty"){let u=0;for(;u<a.length&&n(a[u][0])===0;)u++;return u===0?[K,...a]:[...a.slice(0,u),K,...a.slice(u)]}return a}_emit(e){if(e.length===0)return;for(let a=0;a<e.length;a++){let u=e[a];if(u[0]===g&&u[1]===void 0)throw new TypeError('[ERROR, payload] requires a non-undefined payload (spec \xA71.2). Pass an Error object or domain tag instead \u2014 e.g. node.down([[ERROR, new Error("reason")]])')}let n=e;if(this._isTerminal&&!this._resubscribable){let a=e.filter(u=>u[0]===L||u[0]===H);if(a.length===0)return;n=a}n=this._frameBatch(n);let o=null;for(let a=0;a<n.length;a++){let u=n[a],d=u[0];if(d!==V&&d!==X){o?.push(u);continue}if(u.length<2)throw new Error(`Node "${this.name}": [[${d===V?"PAUSE":"RESUME"}]] must carry a lockId payload \u2014 bare PAUSE/RESUME is a protocol violation (C0 rule). Use \`[[PAUSE, lockId]]\` / \`[[RESUME, lockId]]\`.`);let c=!0;if(this._pausable!==!1){let l=u[1];if(d===V)this._pauseLocks==null&&(this._pauseLocks=new Set),this._pauseLocks.add(l),this._paused=!0,this._pausable==="resumeAll"&&this._pauseBuffer==null&&(this._pauseBuffer=[]);else if(this._pauseLocks==null||!this._pauseLocks.has(l))c=!1;else if(this._pauseLocks.delete(l),this._pauseLocks.size===0){if(this._paused=!1,this._pauseBuffer!=null&&this._pauseBuffer.length>0){let p=this._pauseBuffer;this._pauseBuffer=[],this._emit(p)}this._pendingWave&&(this._pendingWave=!1,this._maybeRunFnOnSettlement())}}c?o?.push(u):o==null&&(o=n.slice(0,a))}if(o!=null){if(o.length===0)return;n=o}if(this._hasMeta&&n.some(a=>a[0]===L))for(let a of Object.keys(this.meta))try{this.meta[a]._emit(ge)}catch{}let{finalMessages:s,equalsError:i}=this._updateState(n);if(s.length>0&&this._config.inspectorEnabled){let a=this._config.globalInspector;if(a!=null)try{a({kind:"emit",node:this,messages:s})}catch{}}if(s.length>0)if(this._paused&&this._pausable==="resumeAll"&&this._pauseBuffer!=null){let a=this._config.tierOf,u=[];for(let d of s)a(d[0])===3?this._pauseBuffer.push(d):u.push(d);u.length>0&&this._dispatchOrAccumulate(u)}else this._dispatchOrAccumulate(s);i!=null&&this._emit([[g,i]])}_updateState(e){let n=this._config.tierOf,r,o,s=-1,i=0;for(let c of e)n(c[0])===3&&i++;let a=i<=1,u=-1;if(this._versioning!=null&&i>1){for(let c=e.length-1;c>=0;c--)if(e[c][0]===x){u=c;break}}for(let c=0;c<e.length;c++){let l=e[c],p=l[0];if(p===x){if(l.length>=2){let f=!1;if(a&&this._cached!==void 0)try{f=this._equals(this._cached,l[1])}catch(h){o=this._wrapFnError("equals threw",h),s=c;break}if(f){r==null&&(r=e.slice(0,c)),r.push(pe),this._status="resolved";continue}this._cached=l[1],this._versioning!=null&&(u<0||c===u)&&ze(this._versioning,l[1],this._hashFn)}this._status="settled",r?.push(l)}else if(r?.push(l),p===A)this._status="dirty";else if(p===R)this._status="resolved";else if(p===N){this._status="completed";{let f=this._config.rigorRecorder;if(f!=null)try{f.onTerminalTransition(this,"completed",this._autoComplete,this._autoError,this._deps.length>0)}catch{}}}else if(p===g){this._status="errored";{let f=this._config.rigorRecorder;if(f!=null)try{f.onTerminalTransition(this,"errored",this._autoComplete,this._autoError,this._deps.length>0)}catch{}}}else if(p===H){if(this._cached!==void 0){let h=this._config.rigorRecorder;if(h!=null)try{h.onNonVacuousInvalidate(this,this._cached)}catch{}}this._cached=void 0,this._status="dirty";let f=this._cleanup;if(typeof f=="function"){this._cleanup=void 0;try{f()}catch{}}else if(f!=null&&typeof f=="object"){let h=f.invalidate;if(typeof h=="function")try{h()}catch{}}}else p===L&&(this._resetOnTeardown&&(this._cached=void 0),this._deactivate(!0),this._status="sentinel")}let d=s>=0?r??e.slice(0,s):r??e;return o!=null?{finalMessages:d,equalsError:o}:{finalMessages:d}}_deliverToSinks=e=>{if(this._sinks==null)return;if(typeof this._sinks=="function"){this._sinks(e);return}let n=[...this._sinks];for(let r of n)r(e)};_dispatchOrAccumulate(e){if(Ve()){this._batchPendingMessages===null&&(this._batchPendingMessages=[],Be(()=>this._flushBatchPending()));for(let n of e)this._batchPendingMessages.push(n);return}te(this._deliverToSinks,e,this._config.tierOf)}_flushBatchPending(){let e=this._batchPendingMessages;if(e===null||(this._batchPendingMessages=null,e.length===0))return;let n=this._frameBatch(e);te(this._deliverToSinks,n,this._config.tierOf)}},Ze=t=>Array.isArray(t),we=t=>typeof t=="object"&&t!=null&&!Array.isArray(t)});function F(t,e){return ie((r,o,s)=>t(o,s)??void 0,{describeKind:"producer",...e})}var ae=S(()=>{"use strict";xe()});function de(t){return{describeKind:"producer",...t}}function Fn(t){return/[\\^$+?.()|[\]{}]/.test(t)?`\\${t}`:t}function q(t){let e="^";for(let n=0;n<t.length;n+=1){let r=t[n];if(r==="*"){t[n+1]==="*"?(e+=".*",n+=1):e+="[^/]*";continue}e+=Fn(r)}return e+="$",new RegExp(e)}function G(t,e){for(let n of e)if(n.test(t))return!0;return!1}function Qe(t,e){let{signal:n,period:r,...o}=e??{};return F(s=>{let i=!1,a=0,u,d,c=()=>{i=!0,u!==void 0&&clearTimeout(u),d!==void 0&&clearInterval(d),n?.removeEventListener("abort",p)},l=()=>{i||(r!=null?(s.emit(a++),d=setInterval(()=>{i||s.emit(a++)},r)):(i=!0,n?.removeEventListener("abort",p),s.emit(a++),s.down([[N]])))},p=()=>{i||(c(),s.down([[g,n.reason]]))};if(n?.aborted){p();return}return u=setTimeout(l,t),n?.addEventListener("abort",p,{once:!0}),c},de(o))}function en(t,e){return F(n=>{let r=!1;try{for(let o of t){if(r)return;n.emit(o)}r||n.down([[N]])}catch(o){r||n.down([[g,o]])}return()=>{r=!0}},de(e))}function In(t){return t!=null&&typeof t.then=="function"}function Pn(t,e){let{signal:n,...r}=e??{};return F(o=>{let s=!1,i=()=>{s||(s=!0,o.down([[g,n.reason]]))};if(n?.aborted){i();return}return n?.addEventListener("abort",i,{once:!0}),Promise.resolve(t).then(a=>{s||(s=!0,n?.removeEventListener("abort",i),o.emit(a),o.down([[N]]))},a=>{s||(s=!0,n?.removeEventListener("abort",i),o.down([[g,a]]))}),()=>{s=!0,n?.removeEventListener("abort",i)}},de(r))}function Ln(t,e){let{signal:n,...r}=e??{};return F(o=>{let s=new AbortController,i=()=>s.abort(n?.reason);n?.aborted?s.abort(n.reason):n?.addEventListener("abort",i,{once:!0});let a=n??s.signal,u=!1,d=t[Symbol.asyncIterator](),c=()=>{u||a.aborted||Promise.resolve(d.next()).then(l=>{if(!(u||a.aborted)){if(l.done){o.down([[N]]);return}o.emit(l.value),c()}},l=>{!u&&!a.aborted&&o.down([[g,l]])})};return c(),()=>{u=!0,n?.removeEventListener("abort",i),s.abort(),Promise.resolve(d.return?.()).catch(()=>{})}},de(r))}function Gn(t){return t!=null&&typeof t=="object"&&"cache"in t&&typeof t.subscribe=="function"}function nn(t,e){if(Gn(t))return t;if(In(t))return Pn(t,e);if(t!=null){let n=t;if(typeof n[Symbol.asyncIterator]=="function")return Ln(t,e);if(typeof n[Symbol.iterator]=="function")return en(t,e)}return Un(t)}function Un(...t){return en(t,void 0)}var ue=S(()=>{"use strict";B();ae()});var Kn={};bn(Kn,{fileAppendLog:()=>un,fileBackend:()=>Z,fileKv:()=>fn,fileSnapshot:()=>dn,fromFSWatch:()=>Wn,fromGitHook:()=>rn,sqliteAppendLog:()=>ln,sqliteBackend:()=>Q,sqliteKv:()=>pn,sqliteSnapshot:()=>cn});module.exports=vn(Kn);ee();B();ae();B();xe();ue();function Hn(t){return{describeKind:"derived",...t}}function Vn(t,e,n){let r,o=!1,s=()=>{o||(o=!0,n())};return r=t.subscribe(i=>{let a=!1,u=!1;for(let d of i)d[0]!==P&&(d[0]===x?e.emit(d[1]):d[0]===N?a=!0:d[0]===g?(u=!0,e.down([d])):(d[0]===A||d[0]===R)&&e.down([d]));u?(r?.(),r=void 0,s()):a&&s()}),()=>{r?.(),r=void 0}}function tn(t,e,n){let r,o=!1;function s(){r?.(),r=void 0}return ie([t],(i,a,u)=>{if(u.terminalDeps[0]!=null&&u.terminalDeps[0]!==!0){s();return}if(u.terminalDeps[0]===!0){o=!0,r||a.down([[N]]);return}let d=i[0];if(!(d==null||d.length===0))return s(),r=Vn(nn(e(d[d.length-1])),a,()=>{s(),o&&a.down([[N]])}),{deactivate:()=>{s(),o=!1}}},{...Hn(n),completeWhenDepsComplete:!1})}ue();function rn(t,e){let{pollMs:n=5e3,include:r,exclude:o,maxConsecutiveErrors:s=1}=e??{},i=r?.map(q)??[],a=o?.map(q)??[],{execFileSync:u}=require("node:child_process"),d=p=>u("git",p,{cwd:t,encoding:"utf-8"}).trim(),c,l=0;return tn(Qe(0,{period:n}),()=>F(p=>{try{let f=d(["rev-parse","HEAD"]);if(!f)return l=0,()=>{};if(c===void 0)return c=f,l=0,()=>{};if(f===c)return l=0,()=>{};let h=d(["diff","--name-only",`${c}..${f}`]).split(`
2
- `).filter(Boolean);i.length>0&&(h=h.filter(b=>G(b,i))),a.length>0&&(h=h.filter(b=>!G(b,a)));let T=d(["log","-1","--format=%s",f]),y=d(["log","-1","--format=%an",f]);p.emit({hook:"post-commit",commit:f,files:h,message:T,author:y,timestamp_ns:$()}),c=f,l=0}catch(f){l+=1,l>=s&&p.down([[g,f]])}return()=>{}}))}var ce=require("node:fs"),Ee=require("node:path");ee();B();ae();ue();function Bn(t){return{describeKind:"producer",...t}}function Wn(t,e){let n=Array.isArray(t)?t:[t];if(n.length===0)throw new RangeError("fromFSWatch expects at least one path");let{recursive:r=!0,debounce:o=100,include:s,exclude:i,...a}=e??{},u=s?.map(q)??[],d=(i??["**/node_modules/**","**/.git/**","**/dist/**"]).map(q);return F(c=>{let l=new Map,p=[],f=!1,h=!1,T=0,y=()=>{for(let v of p.splice(0))v.close()},b=v=>{h||(h=!0,f=!0,m!==void 0&&clearTimeout(m),m=void 0,l.clear(),y(),c.down([[g,v]]))},m,w=v=>{if(m=void 0,f||h||l.size===0)return;let E=[];for(let M of l.values())E.push([x,M]);l.clear(),!(f||h||v!==T)&&c.down(E)};try{for(let v of n){let E=(0,ce.watch)(v,{recursive:r},(M,O)=>{if(f||h||O==null)return;let I=String(O).replaceAll("\\","/"),C=(0,Ee.resolve)(v,String(O)).replaceAll("\\","/"),_=(0,Ee.resolve)(v).replaceAll("\\","/"),D=I.startsWith("./")?I.slice(2):I;if(!(u.length===0||G(C,u)||G(D,u))||G(C,d)||G(D,d))return;let U="change";if(M==="rename")try{U=(0,ce.existsSync)(C)?"create":"delete"}catch{U="rename"}l.set(C,{type:U,path:C,root:_,relative_path:D,timestamp_ns:$()}),m!==void 0&&clearTimeout(m);let le=T;m=setTimeout(()=>w(le),o)});E.on("error",M=>b(M)),p.push(E)}}catch(v){b(v)}return()=>{f=!0,T+=1,m!==void 0&&clearTimeout(m),m=void 0,y(),l.clear()}},Bn(a))}var sn=require("node:crypto"),k=require("node:fs"),W=require("node:path"),an=require("node:sqlite");function ke(t){if(t===null||typeof t!="object")return t;if(Array.isArray(t))return t.map(ke);let e=t,n=Object.keys(e).sort(),r={};for(let o of n)r[o]=ke(e[o]);return r}function on(t){return JSON.stringify(ke(t),void 0,0)}var jn=new TextEncoder,$n=new TextDecoder("utf-8",{fatal:!0}),Oe={name:"json",version:1,encode(t){return jn.encode(on(t))},decode(t){return JSON.parse($n.decode(t))}};function Se(t,e={}){let n=e.codec??Oe,r=e.name??t.name??"snapshot",o=e.keyOf??(l=>l.name??e.name??t.name??"snapshot"),s,i=0,a=e.compactEvery,u,d={name:r,debounceMs:e.debounceMs,compactEvery:a,filter:e.filter,keyOf:o,save(l){if(!(e.filter&&!e.filter(l))&&(s={snapshot:l},i+=1,a!==void 0&&i%a===0||!e.debounceMs))return c()},load(){let l=u??r,p=t.read(l);if(p!==void 0)return p instanceof Uint8Array?p.length===0?void 0:n.decode(p):Promise.resolve(p).then(f=>f===void 0||f.length===0?void 0:n.decode(f))},async flush(){await c()},async rollback(){s=void 0}};function c(){let l=s;if(!l)return;s=void 0;let p=o(l.snapshot),f=n.encode(l.snapshot),h=t.write(p,f);if(h instanceof Promise)return h.then(()=>{u=p});u=p}return d}function Ae(t,e={}){let n=e.codec??Oe,r=e.name??t.name??"append-log",o=e.keyOf??(p=>r),s=e.compactEvery,i=new Map,a=0,u,d={name:r,debounceMs:e.debounceMs,compactEvery:s,keyOf:o,appendEntries(p){if(p.length!==0){for(let f of p){let h=o(f),T=i.get(h);T||(T=[],i.set(h,T)),T.push(f)}if(a+=p.length,s!==void 0&&a%s===0||!e.debounceMs)return c()}},async loadEntries(p){let f=p?.keyFilter,h=t.list===void 0?f!==void 0?[f]:[r]:await Promise.resolve(t.list(f)),T=[];for(let y of h){let b=await Promise.resolve(t.read(y));if(b===void 0||b.length===0)continue;let m=n.decode(b);Array.isArray(m)&&T.push(...m)}return{entries:T,cursor:void 0}},async flush(){await c()},async rollback(){i=new Map}};function c(){if(i.size===0)return;let p=i;i=new Map;let f=(u??Promise.resolve()).then(()=>{let h=l(p);return h instanceof Promise?h:Promise.resolve()},()=>{let h=l(p);return h instanceof Promise?h:Promise.resolve()});return u=f.finally(()=>{u===f&&(u=void 0)}),u}function l(p){let f=[];for(let[h,T]of p){let y=t.read(h),b=m=>{let v=[...m===void 0||m.length===0?[]:n.decode(m)??[],...T],E=n.encode(v);return t.write(h,E)};if(y instanceof Promise)f.push(y.then(async m=>{let w=b(m);w instanceof Promise&&await w}));else{let m=b(y);m instanceof Promise&&f.push(m)}}if(f.length>0)return Promise.all(f).then(()=>{})}return d}function Re(t,e={}){let n=e.codec??Oe,r=e.name??t.name??"kv",o=e.compactEvery,s=new Map,i=0,a={name:r,debounceMs:e.debounceMs,compactEvery:o,filter:e.filter,save(d,c){if(!(e.filter&&!e.filter(d,c))&&(s.set(d,c),i+=1,o!==void 0&&i%o===0||!e.debounceMs))return u()},load(d){let c=t.read(d);if(c!==void 0)return c instanceof Uint8Array?c.length===0?void 0:n.decode(c):Promise.resolve(c).then(l=>l===void 0||l.length===0?void 0:n.decode(l))},delete(d){if(s.delete(d),!!t.delete)return t.delete(d)},list(d){return t.list?t.list(d):[]},async flush(){await u()},async rollback(){s=new Map}};function u(){if(s.size===0)return;let d=s;s=new Map;let c=[];for(let[l,p]of d){let f=n.encode(p),h=t.write(l,f);h instanceof Promise&&c.push(h)}if(c.length>0)return Promise.all(c).then(()=>{})}return a}function Z(t){let e=new TextEncoder,n=new TextDecoder("utf-8",{fatal:!0}),r=s=>{let i="";for(let a of s){if(a.length===1&&/[a-zA-Z0-9_-]/.test(a)){i+=a;continue}for(let u of e.encode(a))i+=`%${u.toString(16).padStart(2,"0")}`}return(0,W.join)(t,`${i}.bin`)},o=s=>{if(!s.endsWith(".bin"))return null;let i=s.slice(0,-4),a=[],u=c=>{for(let l=0;l<c.length;l++)a.push(c.charCodeAt(l))},d=0;for(;d<i.length;){let c=i[d];if(c==="%"&&d+2<i.length){let l=i.slice(d+1,d+3);if(/^[0-9a-f]{2}$/i.test(l)){a.push(Number.parseInt(l,16)),d+=3;continue}}u(c),d+=1}try{return n.decode(new Uint8Array(a))}catch{return null}};return{name:`file:${t}`,read(s){try{let i=(0,k.readFileSync)(r(s));return new Uint8Array(i.buffer,i.byteOffset,i.byteLength)}catch{return}},write(s,i){(0,k.mkdirSync)(t,{recursive:!0});let a=r(s),u=(0,W.basename)(a),d=(0,W.dirname)(a),c=(0,W.join)(d,`.${u}.${(0,sn.randomBytes)(8).toString("hex")}.tmp`);try{(0,k.writeFileSync)(c,i),(0,k.renameSync)(c,a)}catch(l){try{(0,k.unlinkSync)(c)}catch{}throw l}},delete(s){try{(0,k.unlinkSync)(r(s))}catch(i){if(i.code!=="ENOENT")throw i}},list(s){try{let i=(0,k.readdirSync)(t),a=[];for(let u of i){if(u.startsWith("."))continue;let d=o(u);d!==null&&(s!==void 0&&!d.startsWith(s)||a.push(d))}return a.sort()}catch(i){if(i.code==="ENOENT")return[];throw i}}}}function Q(t){let e=new an.DatabaseSync(t);return e.exec("CREATE TABLE IF NOT EXISTS graphrefly_storage (k TEXT PRIMARY KEY, v BLOB NOT NULL)"),{name:`sqlite:${t}`,read(n){return e.prepare("SELECT v FROM graphrefly_storage WHERE k = ?").get(n)?.v},write(n,r){e.prepare("INSERT OR REPLACE INTO graphrefly_storage (k, v) VALUES (?, ?)").run(n,r)},delete(n){e.prepare("DELETE FROM graphrefly_storage WHERE k = ?").run(n)},list(n){if(n===void 0)return e.prepare("SELECT k FROM graphrefly_storage ORDER BY k").all().map(i=>i.k);let r=n.replace(/[\\%_]/g,"\\$&");return e.prepare("SELECT k FROM graphrefly_storage WHERE k LIKE ? ESCAPE '\\' ORDER BY k").all(`${r}%`).map(s=>s.k)},close(){try{e.close()}catch{}}}}function dn(t,e){return Se(Z(t),e)}function un(t,e){return Ae(Z(t),e)}function cn(t,e){let n=Q(t),r=Se(n,e);return Object.assign(r,{close:()=>n.close()})}function ln(t,e){let n=Q(t),r=Ae(n,e);return Object.assign(r,{close:()=>n.close()})}function fn(t,e){return Re(Z(t),e)}function pn(t,e){let n=Q(t),r=Re(n,e);return Object.assign(r,{close:()=>n.close()})}0&&(module.exports={fileAppendLog,fileBackend,fileKv,fileSnapshot,fromFSWatch,fromGitHook,sqliteAppendLog,sqliteBackend,sqliteKv,sqliteSnapshot});
1
+ "use strict";var fe=Object.defineProperty;var yt=Object.getOwnPropertyDescriptor;var vt=Object.getOwnPropertyNames;var wt=Object.prototype.hasOwnProperty;var O=(n,e)=>()=>(n&&(e=n(n=0)),e);var _t=(n,e)=>{for(var t in e)fe(n,t,{get:e[t],enumerable:!0})},Nt=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of vt(e))!wt.call(n,o)&&o!==t&&fe(n,o,{get:()=>e[o],enumerable:!(r=yt(e,o))||r.enumerable});return n};var xt=n=>Nt(fe({},"__esModule",{value:!0}),n);function K(){return Date.now()*1e6}var te=O(()=>{"use strict"});var L,v,R,M,V,B,X,P,N,g,$,pe,kt,he,Et,St,me,Ce,De,Ie,ge,G=O(()=>{"use strict";L=Symbol.for("graphrefly/START"),v=Symbol.for("graphrefly/DATA"),R=Symbol.for("graphrefly/DIRTY"),M=Symbol.for("graphrefly/RESOLVED"),V=Symbol.for("graphrefly/INVALIDATE"),B=Symbol.for("graphrefly/PAUSE"),X=Symbol.for("graphrefly/RESUME"),P=Symbol.for("graphrefly/TEARDOWN"),N=Symbol.for("graphrefly/COMPLETE"),g=Symbol.for("graphrefly/ERROR"),$=Object.freeze([R]),pe=Object.freeze([M]),kt=Object.freeze([V]),he=Object.freeze([L]),Et=Object.freeze([N]),St=Object.freeze([P]),me=Object.freeze([$]),Ce=Object.freeze([pe]),De=Object.freeze([kt]),Ie=Object.freeze([Et]),ge=Object.freeze([St])});function Fe(n){n.registerCodec(Ot)}var Ot,Le=O(()=>{"use strict";Ot={name:"json",version:1,contentType:"application/json",encode(n){let e=JSON.stringify(n);return new TextEncoder().encode(e)},decode(n,e){let t=new TextDecoder().decode(n);return JSON.parse(t)}}});function ne(n){if(n==null)return At;let{type:e,id:t,...r}=n;return{type:e??"system",id:t??"",...r}}var At,Pe=O(()=>{"use strict";At={type:"system",id:""}});function Ve(){return Te>0||Rt}function Be(){return Te>0}function We(n){Te>0?Mt.push(n):n()}function re(n,e,t){if(e.length===0)return;if(e.length===1){let d=t(e[0][0]);if(d<3||!Ve()){n(e);return}(d>=5?He:d===4?Ue:Ge).push(()=>n(e));return}let r=e.length,o=r,s=r,a=r,i=0;for(;i<r&&t(e[i][0])<3;)i++;for(o=i;i<r&&t(e[i][0])===3;)i++;for(s=i;i<r&&t(e[i][0])===4;)i++;a=i;let u=Ve();if(o>0){let d=e.slice(0,o);n(d)}if(s>o){let d=e.slice(o,s);u?Ge.push(()=>n(d)):n(d)}if(a>s){let d=e.slice(s,a);u?Ue.push(()=>n(d)):n(d)}if(r>a){let d=e.slice(a,r);u?He.push(()=>n(d)):n(d)}}var Te,Rt,Ge,Ue,He,Mt,je=O(()=>{"use strict";Te=0,Rt=!1,Ge=[],Ue=[],He=[],Mt=[]});function Ke(n){n.registerMessageType(L,{tier:0,wireCrossing:!1}),n.registerMessageType(R,{tier:1,wireCrossing:!1}),n.registerMessageType(V,{tier:1,wireCrossing:!1,metaPassthrough:!1}),n.registerMessageType(B,{tier:2,wireCrossing:!1}),n.registerMessageType(X,{tier:2,wireCrossing:!1}),n.registerMessageType(v,{tier:3,wireCrossing:!0}),n.registerMessageType(M,{tier:3,wireCrossing:!0}),n.registerMessageType(N,{tier:4,wireCrossing:!0,metaPassthrough:!1}),n.registerMessageType(g,{tier:4,wireCrossing:!0,metaPassthrough:!1}),n.registerMessageType(P,{tier:5,wireCrossing:!0,metaPassthrough:!1})}var oe,$e=O(()=>{"use strict";G();oe=class{_messageTypes=new Map;_codecs=new Map;_onMessage;_onSubscribe;_defaultVersioning;_defaultHashFn;_inspectorEnabled=!(typeof process<"u"&&process.env?.NODE_ENV==="production");_globalInspector;_rigorRecorder;_frozen=!1;tierOf;constructor(e){this._onMessage=e.onMessage,this._onSubscribe=e.onSubscribe,this._defaultVersioning=e.defaultVersioning,this._defaultHashFn=e.defaultHashFn,this.tierOf=t=>{let r=this._messageTypes.get(t);return r!=null?r.tier:1}}get onMessage(){return this._frozen=!0,this._onMessage}get onSubscribe(){return this._frozen=!0,this._onSubscribe}set onMessage(e){this._assertUnfrozen(),this._onMessage=e}set onSubscribe(e){this._assertUnfrozen(),this._onSubscribe=e}get defaultVersioning(){return this._defaultVersioning}set defaultVersioning(e){this._assertUnfrozen(),this._defaultVersioning=e}get defaultHashFn(){return this._defaultHashFn}set defaultHashFn(e){this._assertUnfrozen(),this._defaultHashFn=e}get inspectorEnabled(){return this._inspectorEnabled}set inspectorEnabled(e){this._inspectorEnabled=e}get globalInspector(){return this._globalInspector}set globalInspector(e){this._globalInspector=e}get rigorRecorder(){return this._rigorRecorder}set rigorRecorder(e){this._rigorRecorder=e}registerMessageType(e,t){return this._assertUnfrozen(),this._messageTypes.set(e,{tier:t.tier,wireCrossing:t.wireCrossing??t.tier>=3,metaPassthrough:t.metaPassthrough??!0}),this}messageTier(e){let t=this._messageTypes.get(e);return t!=null?t.tier:1}isWireCrossing(e){let t=this._messageTypes.get(e);return t!=null?t.wireCrossing:!0}isLocalOnly(e){return!this.isWireCrossing(e)}isMetaPassthrough(e){let t=this._messageTypes.get(e);return t!=null?t.metaPassthrough:!0}isKnownMessageType(e){return this._messageTypes.has(e)}registerCodec(e){return this._assertUnfrozen(),this._codecs.set(e.name,e),this}lookupCodec(e){return this._codecs.get(e)}_isFrozen(){return this._frozen}_assertUnfrozen(){if(this._frozen)throw new Error("GraphReFlyConfig is frozen: a node has already captured this config. Register custom types and set hooks before creating any node.")}}});var z,ze=O(()=>{"use strict";z=class extends Error{actor;action;nodeName;constructor(e,t){super(t??`GuardDenied: action "${String(e.action)}" denied for actor type "${String(e.actor.type)}"`),this.name="GuardDenied",this.actor=e.actor,this.action=e.action,this.nodeName=e.nodeName}get node(){return this.nodeName}}});function be(n){if(n===void 0)return null;if(typeof n=="number"){if(!Number.isFinite(n))throw new TypeError(`Cannot hash non-finite number: ${n}`);if(Number.isInteger(n)&&!Number.isSafeInteger(n))throw new TypeError(`Cannot hash integer outside safe range (|n| > 2^53-1): ${n}. Cross-language cid parity is not guaranteed for unsafe integers.`);return n}if(typeof n=="string"||typeof n=="boolean"||n===null)return n;if(Array.isArray(n))return n.map(be);if(typeof n=="object"&&n!==null){let e={};for(let t of Object.keys(n).sort())e[t]=be(n[t]);return e}return null}function It(n){let e=Dt.encode(n),t=e.length,r=t*8,o=t+9+63&-64,s=new Uint8Array(o);s.set(e),s[t]=128;let a=new DataView(s.buffer);a.setUint32(o-4,r>>>0,!1),a.setUint32(o-8,Math.floor(r/4294967296)>>>0,!1);let i=1779033703,u=3144134277,d=1013904242,c=2773480762,l=1359893119,p=2600822924,f=528734635,h=1541459225,T=new Uint32Array(64),y=(m,x)=>m>>>x|m<<32-x;for(let m=0;m<o;m+=64){for(let _=0;_<16;_++)T[_]=a.getUint32(m+_*4,!1);for(let _=16;_<64;_++){let I=T[_-15],j=T[_-2],J=y(I,7)^y(I,18)^I>>>3,H=y(j,17)^y(j,19)^j>>>10;T[_]=T[_-16]+J+T[_-7]+H>>>0}let x=i,w=u,k=d,C=c,S=l,F=p,Y=f,D=h;for(let _=0;_<64;_++){let I=y(S,6)^y(S,11)^y(S,25),j=S&F^~S&Y,J=D+I+j+Ct[_]+T[_]>>>0,H=y(x,2)^y(x,13)^y(x,22),le=x&w^x&k^w&k,bt=H+le>>>0;D=Y,Y=F,F=S,S=C+J>>>0,C=k,k=w,w=x,x=J+bt>>>0}i=i+x>>>0,u=u+w>>>0,d=d+k>>>0,c=c+C>>>0,l=l+S>>>0,p=p+F>>>0,f=f+Y>>>0,h=h+D>>>0}let b=m=>m.toString(16).padStart(8,"0");return b(i)+b(u)+b(d)+b(c)+b(l)+b(p)+b(f)+b(h)}function ye(n){let e=be(n??null),t=JSON.stringify(e);return It(t).slice(0,16)}function Ft(){let n=globalThis.crypto;if(n?.randomUUID)return n.randomUUID();let e=()=>Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0"),t=e()+e()+e()+e();return`${t.slice(0,8)}-${t.slice(8,12)}-4${t.slice(13,16)}-${(parseInt(t.slice(16,17),16)&3|8).toString(16)}${t.slice(17,20)}-${t.slice(20,32)}`}function ve(n,e,t){let r=t?.id??Ft();if(n===0)return{id:r,version:0};let s=(t?.hash??ye)(e);return{id:r,version:0,cid:s,prev:null}}function qe(n,e,t){n.version+=1,"cid"in n&&(n.prev=n.cid,n.cid=t(e))}var Ct,Dt,Ye=O(()=>{"use strict";Ct=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Dt=new TextEncoder});function Ze(n){return{node:n,unsub:null,prevData:void 0,dirty:!1,involvedThisWave:!1,dataBatch:[],terminal:void 0}}function we(n){n.prevData=void 0,n.dirty=!1,n.involvedThisWave=!1,n.dataBatch.length=0,n.terminal=void 0}function se(n){return n.length===0?n:typeof n[0]=="symbol"?[n]:n}function ae(n,e,t){let r=Qe(n)?n:[],o=typeof n=="function"?n:typeof e=="function"?e:void 0,s={};return Qe(n)?s=(_e(e)?e:t)??{}:_e(n)?s=n:s=(_e(e)?e:t)??{},new ie(r,o,s)}var Je,Xe,Lt,Pt,Ne,ie,Qe,_e,xe=O(()=>{"use strict";Le();Pe();je();te();$e();ze();G();Ye();Je=()=>{},Xe=100;Lt=(n,e,t,r)=>{t.direction==="down-in"&&n._onDepMessage(t.depIndex,e)},Pt=(n,e,t,r)=>{let o=n;if(o._status==="completed"||o._status==="errored")return;let s=o._cached,a=s===void 0?[he]:[he,[v,s]];o._status==="dirty"&&a.push($),re(e,a,o._config.tierOf)},Ne=new oe({onMessage:Lt,onSubscribe:Pt});Ke(Ne);Fe(Ne);ie=class n{_optsName;_describeKind;meta;_hasMeta;_config;_deps;_sinks=null;_sinkCount=0;_cached;_status;_cleanup;_store={};_waveHasNewData=!1;_hasNewTerminal=!1;_hasCalledFnOnce=!1;_paused=!1;_pendingWave=!1;_isExecutingFn=!1;_pendingRerun=!1;_rerunDepth=0;_dirtyDepCount=0;_batchPendingMessages=null;_pauseLocks=null;_pauseBuffer=null;_fn;_equals;_resubscribable;_resetOnTeardown;_autoComplete;_autoError;_pausable;_partial;_guard;_extraGuards;_hashFn;_versioning;_versioningLevel;_lastMutation;_inspectorHooks;_actions;constructor(e,t,r){this._config=r.config??Ne,this._config.onMessage,this._optsName=r.name,this._describeKind=r.describeKind,this._equals=r.equals??Object.is,this._resubscribable=r.resubscribable??!1,this._resetOnTeardown=r.resetOnTeardown??!1,this._autoComplete=r.completeWhenDepsComplete??!0,this._autoError=r.errorWhenDepsError??!0,this._pausable=r.pausable??!0,this._guard=r.guard,this._fn=t,this._partial=r.partial??!1,this._cached=r.initial!==void 0?r.initial:void 0,this._status=e.length===0&&t==null&&this._cached!==void 0?"settled":"sentinel",this._hashFn=r.versioningHash??this._config.defaultHashFn??ye;let o=r.versioning??this._config.defaultVersioning;this._versioningLevel=o,this._versioning=o!=null?ve(o,this._cached===void 0?void 0:this._cached,{id:r.versioningId,hash:this._hashFn}):void 0,this._deps=e.map(Ze);let s={};for(let[i,u]of Object.entries(r.meta??{})){let d={initial:u,name:`${r.name??"node"}:meta:${i}`,describeKind:"state",config:this._config};r.guard!=null&&(d.guard=r.guard),s[i]=new n([],void 0,d)}Object.freeze(s),this.meta=s,this._hasMeta=Object.keys(s).length>0;let a=this;this._actions={emit(i){a._emit([[v,i]])},down(i){a._emit(se(i))},up(i){a._emitUp(se(i))}},this.down=this.down.bind(this),this.up=this.up.bind(this)}get _isTerminal(){return this._status==="completed"||this._status==="errored"}get name(){return this._optsName}get status(){return this._status}get cache(){return this._cached===void 0?void 0:this._cached}get lastMutation(){return this._lastMutation}get v(){return this._versioning}hasGuard(){return this._guard!=null}_applyVersioning(e,t){if(this._isExecutingFn)throw new Error(`Node "${this.name}": _applyVersioning cannot run mid-fn \u2014 call it outside of \`_execFn\` (typically at graph setup time before the first subscribe).`);let r=this._versioningLevel;if(r!=null&&e<=r)return;let o=t?.hash??this._hashFn;o!==this._hashFn&&(this._hashFn=o);let s=this._cached===void 0?void 0:this._cached,a=this._versioning,i=a?.id??t?.id,u=a?.version??0,d=ve(e,s,{id:i,hash:o});d.version=u,this._versioning=d,this._versioningLevel=e}_setInspectorHook(e){return e==null?()=>{}:(this._inspectorHooks==null&&(this._inspectorHooks=new Set),this._inspectorHooks.add(e),()=>{this._inspectorHooks?.delete(e),this._inspectorHooks?.size===0&&(this._inspectorHooks=void 0)})}_pushGuard(e){return this._extraGuards==null&&(this._extraGuards=new Set),this._extraGuards.add(e),()=>{this._extraGuards?.delete(e),this._extraGuards?.size===0&&(this._extraGuards=void 0)}}allowsObserve(e){if(this._guard==null&&this._extraGuards==null)return!0;let t=ne(e);if(this._guard!=null&&!this._guard(t,"observe"))return!1;if(this._extraGuards!=null){for(let r of this._extraGuards)if(!r(t,"observe"))return!1}return!0}_checkGuard(e){if(e?.internal)return;let t=this._guard!=null||this._extraGuards!=null,r=e?.actor!=null;if(!t&&!r)return;let o=ne(e?.actor),s=e?.delivery==="signal"?"signal":"write";if(this._guard!=null&&!this._guard(o,s))throw new z({actor:o,action:s,nodeName:this.name});if(this._extraGuards!=null){for(let a of this._extraGuards)if(!a(o,s))throw new z({actor:o,action:s,nodeName:this.name})}this._lastMutation={actor:o,timestamp_ns:K()}}down(e,t){let r=se(e);r.length!==0&&(this._checkGuard(t),this._emit(r))}emit(e,t){this._checkGuard(t),this._emit([[v,e]])}up(e,t){if(this._deps.length===0)return;let r=se(e);if(r.length===0)return;this._checkGuard(t);let o=t??{internal:!0};this._validateUpTiers(r);for(let s of this._deps)s.node.up?.(r,o)}_emitUp(e){if(this._deps.length!==0&&e.length!==0){this._validateUpTiers(e);for(let t of this._deps)t.node.up?.(e,{internal:!0})}}_validateUpTiers(e){let t=this._config.tierOf;for(let r of e){let o=t(r[0]);if(o===3||o===4)throw new Error(`Node "${this.name}": tier-${o} messages cannot flow up \u2014 DATA/RESOLVED/COMPLETE/ERROR are downstream-only. Use \`down(...)\` for value delivery; \`up(...)\` is for control signals (DIRTY, INVALIDATE, PAUSE, RESUME, TEARDOWN).`)}}subscribe(e,t){if(t!=null&&this._guard!=null){let u=ne(t);if(!this._guard(u,"observe"))throw new z({actor:u,action:"observe",nodeName:this.name})}let o=this._isTerminal&&this._resubscribable;if(o){this._cached=void 0,this._status="sentinel",this._store={},this._hasCalledFnOnce=!1,this._waveHasNewData=!1,this._hasNewTerminal=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._isExecutingFn=!1,this._rerunDepth=0,this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null;for(let u of this._deps)we(u);if(this._partial===!1){for(let u of this._deps)if(u.prevData!==void 0||u.dataBatch.length!==0||u.terminal!==void 0||u.dirty)throw new Error(`resubscribable-reset invariant: DepRecord not fully reset for node ${this._optsName??"(anonymous)"}`)}}this._sinkCount+=1;let s;try{s=this._config.onSubscribe(this,e,{sinkCount:this._sinkCount,afterTerminalReset:o},this._actions)}catch(u){throw this._sinkCount-=1,u}this._sinks==null?this._sinks=e:typeof this._sinks=="function"?this._sinks=new Set([this._sinks,e]):this._sinks.add(e);let a=this._isTerminal;if(this._sinkCount===1&&!a)try{this._activate()}catch(u){if(this._sinkCount-=1,this._removeSink(e),this._sinkCount===0&&(this._status="sentinel"),typeof s=="function")try{s()}catch{}throw u}this._status==="sentinel"&&this._cached===void 0&&(this._status="pending");let i=!1;return()=>{i||(i=!0,this._sinkCount-=1,this._removeSink(e),typeof s=="function"&&s(),this._sinks==null&&this._deactivate())}}_removeSink(e){if(this._sinks===e)this._sinks=null;else if(this._sinks!=null&&typeof this._sinks!="function")if(this._sinks.delete(e),this._sinks.size===1){let[t]=this._sinks;this._sinks=t}else this._sinks.size===0&&(this._sinks=null)}_activate(){if(this._deps.length===0){this._fn&&this._execFn();return}this._dirtyDepCount=0;let e=this._deps.length,t=0;try{for(let r=0;r<e;r++){let o=r,s=this._deps[r];s.unsub=Je,s.unsub=s.node.subscribe(a=>{if(s.unsub===null)return;let i=this._config.tierOf,u=!1;for(let d of a)i(d[0])>=3&&(u=!0),this._config.onMessage(this,d,{direction:"down-in",depIndex:o},this._actions);u&&this._maybeRunFnOnSettlement()}),t++}}catch(r){this._deps[t].unsub=null;for(let o=0;o<t;o++){let s=this._deps[o];if(s.unsub!=null){let a=s.unsub;s.unsub=null;try{a()}catch{}we(s)}}throw this._dirtyDepCount=0,r}}_addDep(e){for(let o=0;o<this._deps.length;o++)if(this._deps[o].node===e)return o;let t=this._deps.length,r=Ze(e);if(this._deps.push(r),this._sinks==null)return t;r.dirty=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(me),r.unsub=Je;try{r.unsub=e.subscribe(o=>{if(r.unsub===null)return;let s=this._config.tierOf,a=!1;for(let i of o)s(i[0])>=3&&(a=!0),this._config.onMessage(this,i,{direction:"down-in",depIndex:t},this._actions);a&&this._maybeRunFnOnSettlement()})}catch(o){throw r.unsub=null,this._deps.pop(),this._dirtyDepCount--,o}return t}_deactivate(e=!1){let t=this._cleanup;if(this._cleanup=void 0,typeof t=="function")try{t()}catch(r){this._emit([[g,this._wrapFnError("cleanup threw",r)]])}else if(t!=null&&typeof t=="object"){let r=t.deactivate;if(typeof r=="function")try{r()}catch(o){this._emit([[g,this._wrapFnError("cleanup.deactivate threw",o)]])}}for(let r of this._deps){if(r.unsub!=null){let o=r.unsub;r.unsub=null;try{o()}catch{}}we(r)}this._waveHasNewData=!1,this._hasNewTerminal=!1,this._hasCalledFnOnce=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._rerunDepth=0,this._store={},this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null,this._fn!=null&&(this._cached=void 0),e||(this._fn!=null||this._deps.length>0)&&(!this._isTerminal||this._resubscribable)&&(this._status="sentinel")}_onDepMessage(e,t){let r=this._deps[e],o=t[0];if(this._inspectorHooks!=null){let s={kind:"dep_message",depIndex:e,message:t};for(let a of this._inspectorHooks)a(s)}if(o!==L){if(o===R){this._depDirtied(r);return}if(o===V){if(this._depInvalidated(r),this._cached===void 0)return;this._emit(De);return}if(o===B||o===X){this._emit([t]);return}if(o===P){this._emit(ge);return}if(o===v)this._depSettledAsData(r,t[1]);else if(o===M)this._depSettledAsResolved(r);else if(o===N)this._depSettledAsTerminal(r,!0);else if(o===g)this._depSettledAsTerminal(r,t[1]);else{this._emit([t]);return}if(!this._fn){(o===v||o===M)&&this._emit([t]),(o===N||o===g)&&this._maybeAutoTerminalAfterWave();return}}}_depDirtied(e){e.dirty||(e.dirty=!0,e.involvedThisWave=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(me))}_depSettledAsData(e,t){e.dirty&&(e.dirty=!1,this._dirtyDepCount--),e.involvedThisWave=!0,e.dataBatch.push(t),this._waveHasNewData=!0}_depSettledAsResolved(e){e.dirty&&(e.dirty=!1,this._dirtyDepCount--)}_depSettledAsTerminal(e,t){e.dirty&&(e.dirty=!1,this._dirtyDepCount--),e.terminal=t,e.involvedThisWave=!0,this._hasNewTerminal=!0}_depInvalidated(e){e.prevData=void 0,e.terminal=void 0,e.dataBatch.length=0,e.dirty?e.involvedThisWave=!1:(e.dirty=!0,e.involvedThisWave=!0,this._dirtyDepCount++)}_maybeRunFnOnSettlement(){if(!(this._isTerminal&&!this._resubscribable)&&!(this._dirtyDepCount>0)){if(!this._partial&&!this._hasCalledFnOnce)for(let e=0;e<this._deps.length;e++){let t=this._deps[e];if(t.dataBatch.length===0&&t.prevData===void 0&&t.terminal===void 0){this._maybeAutoTerminalAfterWave();return}}if(this._paused){this._pendingWave=!0;return}if(!this._waveHasNewData&&!this._hasNewTerminal&&this._hasCalledFnOnce){this._clearWaveFlags(),this._emit(Ce),this._maybeAutoTerminalAfterWave();return}this._fn&&this._execFn(),this._maybeAutoTerminalAfterWave()}}_maybeAutoTerminalAfterWave(){if(this._deps.length===0||this._isTerminal)return;let e=this._deps.find(t=>t.terminal!==void 0&&t.terminal!==!0);if(e!=null){this._autoError&&this._emit([[g,e.terminal]]);return}this._autoComplete&&this._deps.every(t=>t.terminal!==void 0)&&this._emit(Ie)}_execFn(){if(!this._fn||this._isTerminal&&!this._resubscribable)return;if(this._isExecutingFn){this._pendingRerun=!0;return}let e=this._cleanup;if(typeof e=="function"){this._cleanup=void 0;try{e()}catch(a){this._emit([[g,this._wrapFnError("cleanup threw",a)]]);return}}else if(e!=null&&typeof e=="object"){let a=e.beforeRun;if(typeof a=="function"){e.beforeRun=void 0;try{a()}catch(i){this._emit([[g,this._wrapFnError("cleanup.beforeRun threw",i)]]);return}}}let t=this._deps.map(a=>a.involvedThisWave?a.dataBatch.length>0?[...a.dataBatch]:[]:void 0),r=this._deps.map(a=>a.prevData);for(let a=0;a<this._deps.length;a++){let i=t[a];i!=null&&i.length>0&&(this._deps[a].prevData=i[i.length-1])}let o=this._deps.map(a=>a.terminal),s={prevData:r,terminalDeps:o,store:this._store};if(this._hasCalledFnOnce=!0,this._clearWaveFlags(),this._inspectorHooks!=null){let a={kind:"run",batchData:t,prevData:r};for(let i of this._inspectorHooks)i(a)}this._isExecutingFn=!0;try{let a=this._fn(t,this._actions,s);if(typeof a=="function")this._cleanup=a;else if(a!=null&&typeof a=="object"){let i=a;(typeof i.beforeRun=="function"||typeof i.deactivate=="function"||typeof i.invalidate=="function")&&(this._cleanup=a)}}catch(a){this._emit([[g,this._wrapFnError("fn threw",a)]])}finally{this._isExecutingFn=!1,this._pendingRerun?(this._pendingRerun=!1,this._rerunDepth+=1,this._rerunDepth>Xe?(this._rerunDepth=0,this._emit([[g,new Error(`Node "${this.name}": _pendingRerun depth exceeded ${Xe} \u2014 likely a reactive cycle`)]])):this._maybeRunFnOnSettlement()):this._rerunDepth=0,this._clearWaveFlags()}}_clearWaveFlags(){this._waveHasNewData=!1,this._hasNewTerminal=!1;for(let e of this._deps)e.involvedThisWave=!1,e.dataBatch.length=0}_wrapFnError(e,t){let r=t instanceof Error?t.message:String(t);return new Error(`Node "${this.name}": ${e}: ${r}`,{cause:t})}_frameBatch(e){let t=this._config.tierOf;if(e.length===1)return t(e[0][0])===3&&this._status!=="dirty"?[$,e[0]]:e;let r=!0,o=!1,s=!1,a=-1;for(let u of e){let d=t(u[0]);d<a&&(r=!1),d===3&&(o=!0),u[0]===R&&(s=!0),a=d}let i=e;if(!r){let u=e.map((d,c)=>({m:d,i:c,tier:t(d[0])}));u.sort((d,c)=>d.tier-c.tier||d.i-c.i),i=u.map(d=>d.m)}if(o&&!s&&this._status!=="dirty"){let u=0;for(;u<i.length&&t(i[u][0])===0;)u++;return u===0?[$,...i]:[...i.slice(0,u),$,...i.slice(u)]}return i}_emit(e){if(e.length===0)return;for(let i=0;i<e.length;i++){let u=e[i];if(u[0]===g&&u[1]===void 0)throw new TypeError('[ERROR, payload] requires a non-undefined payload (spec \xA71.2). Pass an Error object or domain tag instead \u2014 e.g. node.down([[ERROR, new Error("reason")]])')}let t=e;if(this._isTerminal&&!this._resubscribable){let i=e.filter(u=>u[0]===P||u[0]===V);if(i.length===0)return;t=i}t=this._frameBatch(t);let o=null;for(let i=0;i<t.length;i++){let u=t[i],d=u[0];if(d!==B&&d!==X){o?.push(u);continue}if(u.length<2)throw new Error(`Node "${this.name}": [[${d===B?"PAUSE":"RESUME"}]] must carry a lockId payload \u2014 bare PAUSE/RESUME is a protocol violation (C0 rule). Use \`[[PAUSE, lockId]]\` / \`[[RESUME, lockId]]\`.`);let c=!0;if(this._pausable!==!1){let l=u[1];if(d===B)this._pauseLocks==null&&(this._pauseLocks=new Set),this._pauseLocks.add(l),this._paused=!0,this._pausable==="resumeAll"&&this._pauseBuffer==null&&(this._pauseBuffer=[]);else if(this._pauseLocks==null||!this._pauseLocks.has(l))c=!1;else if(this._pauseLocks.delete(l),this._pauseLocks.size===0){if(this._paused=!1,this._pauseBuffer!=null&&this._pauseBuffer.length>0){let p=this._pauseBuffer;this._pauseBuffer=[],this._emit(p)}this._pendingWave&&(this._pendingWave=!1,this._maybeRunFnOnSettlement())}}c?o?.push(u):o==null&&(o=t.slice(0,i))}if(o!=null){if(o.length===0)return;t=o}if(this._hasMeta&&t.some(i=>i[0]===P))for(let i of Object.keys(this.meta))try{this.meta[i]._emit(ge)}catch{}let{finalMessages:s,equalsError:a}=this._updateState(t);if(s.length>0&&this._config.inspectorEnabled){let i=this._config.globalInspector;if(i!=null)try{i({kind:"emit",node:this,messages:s})}catch{}}if(s.length>0)if(this._paused&&this._pausable==="resumeAll"&&this._pauseBuffer!=null){let i=this._config.tierOf,u=[];for(let d of s)i(d[0])===3?this._pauseBuffer.push(d):u.push(d);u.length>0&&this._dispatchOrAccumulate(u)}else this._dispatchOrAccumulate(s);a!=null&&this._emit([[g,a]])}_updateState(e){let t=this._config.tierOf,r,o,s=-1,a=0;for(let c of e)t(c[0])===3&&a++;let i=a<=1,u=-1;if(this._versioning!=null&&a>1){for(let c=e.length-1;c>=0;c--)if(e[c][0]===v){u=c;break}}for(let c=0;c<e.length;c++){let l=e[c],p=l[0];if(p===v){if(l.length>=2){let f=!1;if(i&&this._cached!==void 0)try{f=this._equals(this._cached,l[1])}catch(h){o=this._wrapFnError("equals threw",h),s=c;break}if(f){r==null&&(r=e.slice(0,c)),r.push(pe),this._status="resolved";continue}this._cached=l[1],this._versioning!=null&&(u<0||c===u)&&qe(this._versioning,l[1],this._hashFn)}this._status="settled",r?.push(l)}else if(r?.push(l),p===R)this._status="dirty";else if(p===M)this._status="resolved";else if(p===N){this._status="completed";{let f=this._config.rigorRecorder;if(f!=null)try{f.onTerminalTransition(this,"completed",this._autoComplete,this._autoError,this._deps.length>0)}catch{}}}else if(p===g){this._status="errored";{let f=this._config.rigorRecorder;if(f!=null)try{f.onTerminalTransition(this,"errored",this._autoComplete,this._autoError,this._deps.length>0)}catch{}}}else if(p===V){if(this._cached!==void 0){let h=this._config.rigorRecorder;if(h!=null)try{h.onNonVacuousInvalidate(this,this._cached)}catch{}}this._cached=void 0,this._status="dirty";let f=this._cleanup;if(typeof f=="function"){this._cleanup=void 0;try{f()}catch{}}else if(f!=null&&typeof f=="object"){let h=f.invalidate;if(typeof h=="function")try{h()}catch{}}}else p===P&&(this._resetOnTeardown&&(this._cached=void 0),this._deactivate(!0),this._status="sentinel")}let d=s>=0?r??e.slice(0,s):r??e;return o!=null?{finalMessages:d,equalsError:o}:{finalMessages:d}}_deliverToSinks=e=>{if(this._sinks==null)return;if(typeof this._sinks=="function"){this._sinks(e);return}let t=[...this._sinks];for(let r of t)r(e)};_dispatchOrAccumulate(e){if(Be()){this._batchPendingMessages===null&&(this._batchPendingMessages=[],We(()=>this._flushBatchPending()));for(let t of e)this._batchPendingMessages.push(t);return}re(this._deliverToSinks,e,this._config.tierOf)}_flushBatchPending(){let e=this._batchPendingMessages;if(e===null||(this._batchPendingMessages=null,e.length===0))return;let t=this._frameBatch(e);re(this._deliverToSinks,t,this._config.tierOf)}},Qe=n=>Array.isArray(n),_e=n=>typeof n=="object"&&n!=null&&!Array.isArray(n)});function A(n,e){return ae((r,o,s)=>n(o,s)??void 0,{describeKind:"producer",...e})}var Z=O(()=>{"use strict";xe()});function et(n,e){let t={factory:n};return e!==void 0&&(t.factoryArgs=e),t}var tt=O(()=>{"use strict"});function de(n){return{describeKind:"producer",...n}}function Gt(n){return/[\\^$+?.()|[\]{}]/.test(n)?`\\${n}`:n}function q(n){let e="^";for(let t=0;t<n.length;t+=1){let r=n[t];if(r==="*"){n[t+1]==="*"?(e+=".*",t+=1):e+="[^/]*";continue}e+=Gt(r)}return e+="$",new RegExp(e)}function U(n,e){for(let t of e)if(t.test(n))return!0;return!1}function nt(n,e){let{signal:t,period:r,...o}=e??{};return A(s=>{let a=!1,i=0,u,d,c=()=>{a=!0,u!==void 0&&clearTimeout(u),d!==void 0&&clearInterval(d),t?.removeEventListener("abort",p)},l=()=>{a||(r!=null?(s.emit(i++),d=setInterval(()=>{a||s.emit(i++)},r)):(a=!0,t?.removeEventListener("abort",p),s.emit(i++),s.down([[N]])))},p=()=>{a||(c(),s.down([[g,t.reason]]))};if(t?.aborted){p();return}return u=setTimeout(l,n),t?.addEventListener("abort",p,{once:!0}),c},de(o))}function rt(n,e){return A(t=>{let r=!1;try{for(let o of n){if(r)return;t.emit(o)}r||t.down([[N]])}catch(o){r||t.down([[g,o]])}return()=>{r=!0}},de(e))}function Ut(n){return n!=null&&typeof n.then=="function"}function Ht(n,e){let{signal:t,...r}=e??{};return A(o=>{let s=!1,a=()=>{s||(s=!0,o.down([[g,t.reason]]))};if(t?.aborted){a();return}return t?.addEventListener("abort",a,{once:!0}),Promise.resolve(n).then(i=>{s||(s=!0,t?.removeEventListener("abort",a),o.emit(i),o.down([[N]]))},i=>{s||(s=!0,t?.removeEventListener("abort",a),o.down([[g,i]]))}),()=>{s=!0,t?.removeEventListener("abort",a)}},de(r))}function Vt(n,e){let{signal:t,...r}=e??{};return A(o=>{let s=new AbortController,a=()=>s.abort(t?.reason);t?.aborted?s.abort(t.reason):t?.addEventListener("abort",a,{once:!0});let i=t??s.signal,u=!1,d=n[Symbol.asyncIterator](),c=()=>{u||i.aborted||Promise.resolve(d.next()).then(l=>{if(!(u||i.aborted)){if(l.done){o.down([[N]]);return}o.emit(l.value),c()}},l=>{!u&&!i.aborted&&o.down([[g,l]])})};return c(),()=>{u=!0,t?.removeEventListener("abort",a),s.abort(),Promise.resolve(d.return?.()).catch(()=>{})}},de(r))}function Bt(n){return n!=null&&typeof n=="object"&&"cache"in n&&typeof n.subscribe=="function"}function ot(n,e){if(Bt(n))return n;if(Ut(n))return Ht(n,e);if(n!=null){let t=n;if(typeof t[Symbol.asyncIterator]=="function")return Vt(n,e);if(typeof t[Symbol.iterator]=="function")return rt(n,e)}return Wt(n)}function Wt(...n){return rt(n,void 0)}var ue=O(()=>{"use strict";G();Z()});var Jt={};_t(Jt,{fileAppendLog:()=>pt,fileBackend:()=>Q,fileKv:()=>gt,fileSnapshot:()=>ft,fromFSWatch:()=>zt,fromGitHook:()=>it,fromSpawn:()=>at,runProcess:()=>dt,sqliteAppendLog:()=>mt,sqliteBackend:()=>ee,sqliteKv:()=>Tt,sqliteSnapshot:()=>ht});module.exports=xt(Jt);te();G();Z();G();tt();xe();ue();function jt(n){return{describeKind:"derived",...n}}function Kt(n,e,t){let r,o=!1,s=()=>{o||(o=!0,t())};return r=n.subscribe(a=>{let i=!1,u=!1;for(let d of a)d[0]!==L&&(d[0]===v?e.emit(d[1]):d[0]===N?i=!0:d[0]===g?(u=!0,e.down([d])):(d[0]===R||d[0]===M)&&e.down([d]));u?(r?.(),r=void 0,s()):i&&s()}),()=>{r?.(),r=void 0}}function st(n,e,t){let r,o=!1;function s(){r?.(),r=void 0}return ae([n],(a,i,u)=>{if(u.terminalDeps[0]!=null&&u.terminalDeps[0]!==!0){s();return}if(u.terminalDeps[0]===!0){o=!0,r||i.down([[N]]);return}let d=a[0];if(!(d==null||d.length===0))return s(),r=Kt(ot(e(d[d.length-1])),i,()=>{s(),o&&i.down([[N]])}),{deactivate:()=>{s(),o=!1}}},{...jt(t),completeWhenDepsComplete:!1,meta:{...et("switchMap"),...t?.meta??{}}})}ue();function it(n,e){let{pollMs:t=5e3,include:r,exclude:o,maxConsecutiveErrors:s=1}=e??{},a=r?.map(q)??[],i=o?.map(q)??[],{execFileSync:u}=require("node:child_process"),d=p=>u("git",p,{cwd:n,encoding:"utf-8"}).trim(),c,l=0;return st(nt(0,{period:t}),()=>A(p=>{try{let f=d(["rev-parse","HEAD"]);if(!f)return l=0,()=>{};if(c===void 0)return c=f,l=0,()=>{};if(f===c)return l=0,()=>{};let h=d(["diff","--name-only",`${c}..${f}`]).split(`
2
+ `).filter(Boolean);a.length>0&&(h=h.filter(b=>U(b,a))),i.length>0&&(h=h.filter(b=>!U(b,i)));let T=d(["log","-1","--format=%s",f]),y=d(["log","-1","--format=%an",f]);p.emit({hook:"post-commit",commit:f,files:h,message:T,author:y,timestamp_ns:K()}),c=f,l=0}catch(f){l+=1,l>=s&&p.down([[g,f]])}return()=>{}}))}var ce=require("node:fs"),ke=require("node:path");te();G();Z();ue();function $t(n){return{describeKind:"producer",...n}}function zt(n,e){let t=Array.isArray(n)?n:[n];if(t.length===0)throw new RangeError("fromFSWatch expects at least one path");let{recursive:r=!0,debounce:o=100,include:s,exclude:a,...i}=e??{},u=s?.map(q)??[],d=(a??["**/node_modules/**","**/.git/**","**/dist/**"]).map(q);return A(c=>{let l=new Map,p=[],f=!1,h=!1,T=0,y=()=>{for(let w of p.splice(0))w.close()},b=w=>{h||(h=!0,f=!0,m!==void 0&&clearTimeout(m),m=void 0,l.clear(),y(),c.down([[g,w]]))},m,x=w=>{if(m=void 0,f||h||l.size===0)return;let k=[];for(let C of l.values())k.push([v,C]);l.clear(),!(f||h||w!==T)&&c.down(k)};try{for(let w of t){let k=(0,ce.watch)(w,{recursive:r},(C,S)=>{if(f||h||S==null)return;let F=String(S).replaceAll("\\","/"),D=(0,ke.resolve)(w,String(S)).replaceAll("\\","/"),_=(0,ke.resolve)(w).replaceAll("\\","/"),I=F.startsWith("./")?F.slice(2):F;if(!(u.length===0||U(D,u)||U(I,u))||U(D,d)||U(I,d))return;let H="change";if(C==="rename")try{H=(0,ce.existsSync)(D)?"create":"delete"}catch{H="rename"}l.set(D,{type:H,path:D,root:_,relative_path:I,timestamp_ns:K()}),m!==void 0&&clearTimeout(m);let le=T;m=setTimeout(()=>x(le),o)});k.on("error",C=>b(C)),p.push(k)}}catch(w){b(w)}return()=>{f=!0,T+=1,m!==void 0&&clearTimeout(m),m=void 0,y(),l.clear()}},$t(i))}var Ee=require("node:child_process");G();Z();function at(n,e,t){return A(r=>{let o=(0,Ee.spawn)(n,e,{cwd:t?.cwd,env:t?.env,shell:t?.shell,signal:t?.signal,stdio:t?.stdio??"pipe"}),s=!0,a=null;return o.stdout?.on("data",i=>{s&&r.down([[v,{kind:"stdout",chunk:i}]])}),o.stderr?.on("data",i=>{s&&r.down([[v,{kind:"stderr",chunk:i}]])}),o.on("error",i=>{s&&(s=!1,r.down([[g,i]]))}),o.on("exit",(i,u)=>{a==null&&(a={code:i,signal:u})}),o.on("close",()=>{if(!s)return;s=!1;let i=a??{code:null,signal:null};r.down([[v,{kind:"exit",code:i.code,signal:i.signal}],[N]])}),()=>{if(s){s=!1,o.stdout?.removeAllListeners(),o.stderr?.removeAllListeners(),o.removeAllListeners("error"),o.removeAllListeners("exit"),o.removeAllListeners("close");try{o.kill("SIGTERM")}catch{}}}},{name:"from_spawn"})}function dt(n,e,t){return A(r=>{let o=(0,Ee.spawn)(n,e,{cwd:t?.cwd,env:t?.env,shell:t?.shell,signal:t?.signal,stdio:t?.stdio??"pipe"}),s=!0,a=[],i=[],u=null;return o.stdout?.on("data",d=>{s&&a.push(d)}),o.stderr?.on("data",d=>{s&&i.push(d)}),o.on("error",d=>{s&&(s=!1,r.down([[g,d]]))}),o.on("exit",(d,c)=>{u==null&&(u={code:d,signal:c})}),o.on("close",()=>{if(!s)return;s=!1;let d=u??{code:null,signal:null},c=Buffer.concat(a).toString("utf8"),l=Buffer.concat(i).toString("utf8");r.down([[v,{stdout:c,stderr:l,exitCode:d.code,signal:d.signal}],[N]])}),()=>{if(s){s=!1,o.stdout?.removeAllListeners(),o.stderr?.removeAllListeners(),o.removeAllListeners("error"),o.removeAllListeners("exit"),o.removeAllListeners("close");try{o.kill("SIGTERM")}catch{}}}},{name:"run_process"})}var ct=require("node:crypto"),E=require("node:fs"),W=require("node:path"),lt=require("node:sqlite");function Se(n){if(n===null||typeof n!="object")return n;if(Array.isArray(n))return n.map(Se);let e=n,t=Object.keys(e).sort(),r={};for(let o of t)r[o]=Se(e[o]);return r}function ut(n){return JSON.stringify(Se(n),void 0,0)}var qt=new TextEncoder,Yt=new TextDecoder("utf-8",{fatal:!0}),Oe={name:"json",version:1,encode(n){return qt.encode(ut(n))},decode(n){return JSON.parse(Yt.decode(n))}};function Ae(n,e={}){let t=e.codec??Oe,r=e.name??n.name??"snapshot",o=e.keyOf??(l=>l.name??e.name??n.name??"snapshot"),s,a=0,i=e.compactEvery,u,d={name:r,debounceMs:e.debounceMs,compactEvery:i,filter:e.filter,keyOf:o,save(l){if(!(e.filter&&!e.filter(l))&&(s={snapshot:l},a+=1,i!==void 0&&a%i===0||!e.debounceMs))return c()},load(){let l=u??r,p=n.read(l);if(p!==void 0)return p instanceof Uint8Array?p.length===0?void 0:t.decode(p):Promise.resolve(p).then(f=>f===void 0||f.length===0?void 0:t.decode(f))},async flush(){await c()},async rollback(){s=void 0}};function c(){let l=s;if(!l)return;s=void 0;let p=o(l.snapshot),f=t.encode(l.snapshot),h=n.write(p,f);if(h instanceof Promise)return h.then(()=>{u=p});u=p}return d}function Re(n,e={}){let t=e.codec??Oe,r=e.name??n.name??"append-log",o=e.keyOf??(p=>r),s=e.compactEvery,a=new Map,i=0,u,d={name:r,debounceMs:e.debounceMs,compactEvery:s,keyOf:o,appendEntries(p){if(p.length!==0){for(let f of p){let h=o(f),T=a.get(h);T||(T=[],a.set(h,T)),T.push(f)}if(i+=p.length,s!==void 0&&i%s===0||!e.debounceMs)return c()}},async loadEntries(p){let f=p?.keyFilter,h=n.list===void 0?f!==void 0?[f]:[r]:await Promise.resolve(n.list(f)),T=[];for(let y of h){let b=await Promise.resolve(n.read(y));if(b===void 0||b.length===0)continue;let m=t.decode(b);Array.isArray(m)&&T.push(...m)}return{entries:T,cursor:void 0}},async flush(){await c()},async rollback(){a=new Map}};function c(){if(a.size===0)return;let p=a;a=new Map;let f=(u??Promise.resolve()).then(()=>{let h=l(p);return h instanceof Promise?h:Promise.resolve()},()=>{let h=l(p);return h instanceof Promise?h:Promise.resolve()});return u=f.finally(()=>{u===f&&(u=void 0)}),u}function l(p){let f=[];for(let[h,T]of p){let y=n.read(h),b=m=>{let w=[...m===void 0||m.length===0?[]:t.decode(m)??[],...T],k=t.encode(w);return n.write(h,k)};if(y instanceof Promise)f.push(y.then(async m=>{let x=b(m);x instanceof Promise&&await x}));else{let m=b(y);m instanceof Promise&&f.push(m)}}if(f.length>0)return Promise.all(f).then(()=>{})}return d}function Me(n,e={}){let t=e.codec??Oe,r=e.name??n.name??"kv",o=e.compactEvery,s=new Map,a=0,i={name:r,debounceMs:e.debounceMs,compactEvery:o,filter:e.filter,save(d,c){if(!(e.filter&&!e.filter(d,c))&&(s.set(d,c),a+=1,o!==void 0&&a%o===0||!e.debounceMs))return u()},load(d){let c=n.read(d);if(c!==void 0)return c instanceof Uint8Array?c.length===0?void 0:t.decode(c):Promise.resolve(c).then(l=>l===void 0||l.length===0?void 0:t.decode(l))},delete(d){if(s.delete(d),!!n.delete)return n.delete(d)},list(d){return n.list?n.list(d):[]},async flush(){await u()},async rollback(){s=new Map}};function u(){if(s.size===0)return;let d=s;s=new Map;let c=[];for(let[l,p]of d){let f=t.encode(p),h=n.write(l,f);h instanceof Promise&&c.push(h)}if(c.length>0)return Promise.all(c).then(()=>{})}return i}function Q(n){let e=new TextEncoder,t=new TextDecoder("utf-8",{fatal:!0}),r=s=>{let a="";for(let i of s){if(i.length===1&&/[a-zA-Z0-9_-]/.test(i)){a+=i;continue}for(let u of e.encode(i))a+=`%${u.toString(16).padStart(2,"0")}`}return(0,W.join)(n,`${a}.bin`)},o=s=>{if(!s.endsWith(".bin"))return null;let a=s.slice(0,-4),i=[],u=c=>{for(let l=0;l<c.length;l++)i.push(c.charCodeAt(l))},d=0;for(;d<a.length;){let c=a[d];if(c==="%"&&d+2<a.length){let l=a.slice(d+1,d+3);if(/^[0-9a-f]{2}$/i.test(l)){i.push(Number.parseInt(l,16)),d+=3;continue}}u(c),d+=1}try{return t.decode(new Uint8Array(i))}catch{return null}};return{name:`file:${n}`,read(s){try{let a=(0,E.readFileSync)(r(s));return new Uint8Array(a.buffer,a.byteOffset,a.byteLength)}catch{return}},write(s,a){(0,E.mkdirSync)(n,{recursive:!0});let i=r(s),u=(0,W.basename)(i),d=(0,W.dirname)(i),c=(0,W.join)(d,`.${u}.${(0,ct.randomBytes)(8).toString("hex")}.tmp`);try{(0,E.writeFileSync)(c,a),(0,E.renameSync)(c,i)}catch(l){try{(0,E.unlinkSync)(c)}catch{}throw l}},delete(s){try{(0,E.unlinkSync)(r(s))}catch(a){if(a.code!=="ENOENT")throw a}},list(s){try{let a=(0,E.readdirSync)(n),i=[];for(let u of a){if(u.startsWith("."))continue;let d=o(u);d!==null&&(s!==void 0&&!d.startsWith(s)||i.push(d))}return i.sort()}catch(a){if(a.code==="ENOENT")return[];throw a}}}}function ee(n){let e=new lt.DatabaseSync(n);return e.exec("CREATE TABLE IF NOT EXISTS graphrefly_storage (k TEXT PRIMARY KEY, v BLOB NOT NULL)"),{name:`sqlite:${n}`,read(t){return e.prepare("SELECT v FROM graphrefly_storage WHERE k = ?").get(t)?.v},write(t,r){e.prepare("INSERT OR REPLACE INTO graphrefly_storage (k, v) VALUES (?, ?)").run(t,r)},delete(t){e.prepare("DELETE FROM graphrefly_storage WHERE k = ?").run(t)},list(t){if(t===void 0)return e.prepare("SELECT k FROM graphrefly_storage ORDER BY k").all().map(a=>a.k);let r=t.replace(/[\\%_]/g,"\\$&");return e.prepare("SELECT k FROM graphrefly_storage WHERE k LIKE ? ESCAPE '\\' ORDER BY k").all(`${r}%`).map(s=>s.k)},close(){try{e.close()}catch{}}}}function ft(n,e){return Ae(Q(n),e)}function pt(n,e){return Re(Q(n),e)}function ht(n,e){let t=ee(n),r=Ae(t,e);return Object.assign(r,{close:()=>t.close()})}function mt(n,e){let t=ee(n),r=Re(t,e);return Object.assign(r,{close:()=>t.close()})}function gt(n,e){return Me(Q(n),e)}function Tt(n,e){let t=ee(n),r=Me(t,e);return Object.assign(r,{close:()=>t.close()})}0&&(module.exports={fileAppendLog,fileBackend,fileKv,fileSnapshot,fromFSWatch,fromGitHook,fromSpawn,runProcess,sqliteAppendLog,sqliteBackend,sqliteKv,sqliteSnapshot});
@@ -78,4 +78,110 @@ type FromFSWatchOptions = ExtraOpts & {
78
78
  */
79
79
  declare function fromFSWatch(paths: string | string[], opts?: FromFSWatchOptions): Node<FSEvent>;
80
80
 
81
- export { type FSEvent, type FSEventType, type FromFSWatchOptions, type FromGitHookOptions, type GitEvent, type GitHookType, fromFSWatch, fromGitHook };
81
+ /**
82
+ * Child-process reactive sources — Node-only.
83
+ *
84
+ * Isolated from `./sources.ts` so bundlers targeting the browser can import
85
+ * browser-safe sources without pulling in `node:child_process`.
86
+ *
87
+ * Access via `@graphrefly/graphrefly/extra/node`, which re-exports this module.
88
+ *
89
+ * @module
90
+ */
91
+
92
+ /**
93
+ * SpawnEvent — discriminated stream emitted by {@link fromSpawn}.
94
+ *
95
+ * @category extra
96
+ */
97
+ type SpawnEvent = {
98
+ kind: "stdout";
99
+ chunk: Buffer;
100
+ } | {
101
+ kind: "stderr";
102
+ chunk: Buffer;
103
+ } | {
104
+ kind: "exit";
105
+ code: number | null;
106
+ signal: NodeJS.Signals | null;
107
+ };
108
+ /** Options for {@link fromSpawn}. Mirrors `child_process.SpawnOptions`. */
109
+ interface FromSpawnOptions {
110
+ cwd?: string;
111
+ env?: NodeJS.ProcessEnv;
112
+ shell?: boolean | string;
113
+ /**
114
+ * Optional caller-owned AbortSignal. When fired, the subprocess is sent
115
+ * SIGTERM (per `child_process.spawn` signal semantics). The producer's own
116
+ * teardown also sends SIGTERM regardless of caller signal — so `switchMap`
117
+ * supersede in `actuatorExecutor` cancels in-flight subprocesses without
118
+ * the caller wiring extra signals.
119
+ */
120
+ signal?: AbortSignal;
121
+ /** Extra args forwarded to spawn — e.g. stdio configuration. */
122
+ stdio?: "pipe" | readonly ("pipe" | "ignore" | "inherit")[];
123
+ }
124
+ /**
125
+ * Spawn `cmd args` as a child process and stream stdout/stderr/exit as a
126
+ * single discriminated `SpawnEvent` stream.
127
+ *
128
+ * Lifecycle:
129
+ * - Stdout/stderr chunks emit as `DATA { kind: "stdout"|"stderr", chunk }`.
130
+ * - Process exit emits one final `DATA { kind: "exit", code, signal }` then
131
+ * `COMPLETE`.
132
+ * - Spawn-error (ENOENT, EPERM, …) emits `ERROR`.
133
+ * - Producer teardown sends `SIGTERM` to the subprocess if it is still alive.
134
+ *
135
+ * **Multicast semantics:** `fromSpawn` returns a node backed by a single
136
+ * `producer` activation — the subprocess is spawned once when the first
137
+ * subscriber connects, and all subsequent subscribers share the same event
138
+ * stream. Unsubscribing the last subscriber tears down the subprocess.
139
+ *
140
+ * @example
141
+ * ```ts
142
+ * import { fromSpawn } from "@graphrefly/graphrefly/extra/node";
143
+ *
144
+ * const stream = fromSpawn("git", ["log", "--oneline"]);
145
+ * stream.subscribe((msgs) => {
146
+ * for (const [type, value] of msgs) {
147
+ * if (type === DATA) console.log(value);
148
+ * }
149
+ * });
150
+ * ```
151
+ *
152
+ * @category extra
153
+ */
154
+ declare function fromSpawn(cmd: string, args: readonly string[], opts?: FromSpawnOptions): Node<SpawnEvent>;
155
+ /**
156
+ * Run `cmd args` to completion and emit one DATA with aggregated output.
157
+ *
158
+ * Convenience over {@link fromSpawn} for the "wait for the process to finish,
159
+ * capture stdout/stderr as strings, get exit code" case.
160
+ *
161
+ * Aggregation policy: stdout and stderr are concatenated as `Buffer`s and
162
+ * decoded as utf-8 once at exit, so multi-byte sequences split across chunks
163
+ * are handled correctly. Actuators that need byte-exact stdout should use
164
+ * `fromSpawn` directly.
165
+ *
166
+ * @example
167
+ * ```ts
168
+ * import { runProcess } from "@graphrefly/graphrefly/extra/node";
169
+ *
170
+ * const result = runProcess("git", ["rev-parse", "HEAD"]);
171
+ * result.subscribe((msgs) => {
172
+ * for (const [type, value] of msgs) {
173
+ * if (type === DATA) console.log(value.stdout.trim());
174
+ * }
175
+ * });
176
+ * ```
177
+ *
178
+ * @category extra
179
+ */
180
+ declare function runProcess(cmd: string, args: readonly string[], opts?: FromSpawnOptions): Node<{
181
+ stdout: string;
182
+ stderr: string;
183
+ exitCode: number | null;
184
+ signal: NodeJS.Signals | null;
185
+ }>;
186
+
187
+ export { type FSEvent, type FSEventType, type FromFSWatchOptions, type FromGitHookOptions, type FromSpawnOptions, type GitEvent, type GitHookType, type SpawnEvent, fromFSWatch, fromGitHook, fromSpawn, runProcess };
@@ -78,4 +78,110 @@ type FromFSWatchOptions = ExtraOpts & {
78
78
  */
79
79
  declare function fromFSWatch(paths: string | string[], opts?: FromFSWatchOptions): Node<FSEvent>;
80
80
 
81
- export { type FSEvent, type FSEventType, type FromFSWatchOptions, type FromGitHookOptions, type GitEvent, type GitHookType, fromFSWatch, fromGitHook };
81
+ /**
82
+ * Child-process reactive sources — Node-only.
83
+ *
84
+ * Isolated from `./sources.ts` so bundlers targeting the browser can import
85
+ * browser-safe sources without pulling in `node:child_process`.
86
+ *
87
+ * Access via `@graphrefly/graphrefly/extra/node`, which re-exports this module.
88
+ *
89
+ * @module
90
+ */
91
+
92
+ /**
93
+ * SpawnEvent — discriminated stream emitted by {@link fromSpawn}.
94
+ *
95
+ * @category extra
96
+ */
97
+ type SpawnEvent = {
98
+ kind: "stdout";
99
+ chunk: Buffer;
100
+ } | {
101
+ kind: "stderr";
102
+ chunk: Buffer;
103
+ } | {
104
+ kind: "exit";
105
+ code: number | null;
106
+ signal: NodeJS.Signals | null;
107
+ };
108
+ /** Options for {@link fromSpawn}. Mirrors `child_process.SpawnOptions`. */
109
+ interface FromSpawnOptions {
110
+ cwd?: string;
111
+ env?: NodeJS.ProcessEnv;
112
+ shell?: boolean | string;
113
+ /**
114
+ * Optional caller-owned AbortSignal. When fired, the subprocess is sent
115
+ * SIGTERM (per `child_process.spawn` signal semantics). The producer's own
116
+ * teardown also sends SIGTERM regardless of caller signal — so `switchMap`
117
+ * supersede in `actuatorExecutor` cancels in-flight subprocesses without
118
+ * the caller wiring extra signals.
119
+ */
120
+ signal?: AbortSignal;
121
+ /** Extra args forwarded to spawn — e.g. stdio configuration. */
122
+ stdio?: "pipe" | readonly ("pipe" | "ignore" | "inherit")[];
123
+ }
124
+ /**
125
+ * Spawn `cmd args` as a child process and stream stdout/stderr/exit as a
126
+ * single discriminated `SpawnEvent` stream.
127
+ *
128
+ * Lifecycle:
129
+ * - Stdout/stderr chunks emit as `DATA { kind: "stdout"|"stderr", chunk }`.
130
+ * - Process exit emits one final `DATA { kind: "exit", code, signal }` then
131
+ * `COMPLETE`.
132
+ * - Spawn-error (ENOENT, EPERM, …) emits `ERROR`.
133
+ * - Producer teardown sends `SIGTERM` to the subprocess if it is still alive.
134
+ *
135
+ * **Multicast semantics:** `fromSpawn` returns a node backed by a single
136
+ * `producer` activation — the subprocess is spawned once when the first
137
+ * subscriber connects, and all subsequent subscribers share the same event
138
+ * stream. Unsubscribing the last subscriber tears down the subprocess.
139
+ *
140
+ * @example
141
+ * ```ts
142
+ * import { fromSpawn } from "@graphrefly/graphrefly/extra/node";
143
+ *
144
+ * const stream = fromSpawn("git", ["log", "--oneline"]);
145
+ * stream.subscribe((msgs) => {
146
+ * for (const [type, value] of msgs) {
147
+ * if (type === DATA) console.log(value);
148
+ * }
149
+ * });
150
+ * ```
151
+ *
152
+ * @category extra
153
+ */
154
+ declare function fromSpawn(cmd: string, args: readonly string[], opts?: FromSpawnOptions): Node<SpawnEvent>;
155
+ /**
156
+ * Run `cmd args` to completion and emit one DATA with aggregated output.
157
+ *
158
+ * Convenience over {@link fromSpawn} for the "wait for the process to finish,
159
+ * capture stdout/stderr as strings, get exit code" case.
160
+ *
161
+ * Aggregation policy: stdout and stderr are concatenated as `Buffer`s and
162
+ * decoded as utf-8 once at exit, so multi-byte sequences split across chunks
163
+ * are handled correctly. Actuators that need byte-exact stdout should use
164
+ * `fromSpawn` directly.
165
+ *
166
+ * @example
167
+ * ```ts
168
+ * import { runProcess } from "@graphrefly/graphrefly/extra/node";
169
+ *
170
+ * const result = runProcess("git", ["rev-parse", "HEAD"]);
171
+ * result.subscribe((msgs) => {
172
+ * for (const [type, value] of msgs) {
173
+ * if (type === DATA) console.log(value.stdout.trim());
174
+ * }
175
+ * });
176
+ * ```
177
+ *
178
+ * @category extra
179
+ */
180
+ declare function runProcess(cmd: string, args: readonly string[], opts?: FromSpawnOptions): Node<{
181
+ stdout: string;
182
+ stderr: string;
183
+ exitCode: number | null;
184
+ signal: NodeJS.Signals | null;
185
+ }>;
186
+
187
+ export { type FSEvent, type FSEventType, type FromFSWatchOptions, type FromGitHookOptions, type FromSpawnOptions, type GitEvent, type GitHookType, type SpawnEvent, fromFSWatch, fromGitHook, fromSpawn, runProcess };
@@ -1,2 +1,2 @@
1
- import{a as C,b as j,c as z,d as D,e as L,f as $,g as Q,h as I}from"../chunk-VN6RDSK2.js";import"../chunk-D5RFJOZ2.js";import"../chunk-CE72X3WO.js";import{x as M}from"../chunk-JJTF75VS.js";import"../chunk-4VVTGLXJ.js";import{d as m,e as s,f as _}from"../chunk-MQZWA3DF.js";import{F as T,p as O}from"../chunk-LYCLF26R.js";import{b as N,j as k}from"../chunk-CK2E7BTU.js";import{a as B}from"../chunk-QYADASLV.js";function J(c,w){let{pollMs:y=5e3,include:b,exclude:F,maxConsecutiveErrors:S=1}=w??{},x=b?.map(m)??[],E=F?.map(m)??[],{execFileSync:u}=B("child_process"),p=a=>u("git",a,{cwd:c,encoding:"utf-8"}).trim(),i,t=0;return M(_(0,{period:y}),()=>T(a=>{try{let e=p(["rev-parse","HEAD"]);if(!e)return t=0,()=>{};if(i===void 0)return i=e,t=0,()=>{};if(e===i)return t=0,()=>{};let r=p(["diff","--name-only",`${i}..${e}`]).split(`
2
- `).filter(Boolean);x.length>0&&(r=r.filter(l=>s(l,x))),E.length>0&&(r=r.filter(l=>!s(l,E)));let d=p(["log","-1","--format=%s",e]),v=p(["log","-1","--format=%an",e]);a.emit({hook:"post-commit",commit:e,files:r,message:d,author:v,timestamp_ns:O()}),i=e,t=0}catch(e){t+=1,t>=S&&a.down([[k,e]])}return()=>{}}))}import{existsSync as U,watch as V}from"fs";import{resolve as P}from"path";function X(c){return{describeKind:"producer",...c}}function de(c,w){let y=Array.isArray(c)?c:[c];if(y.length===0)throw new RangeError("fromFSWatch expects at least one path");let{recursive:b=!0,debounce:F=100,include:S,exclude:x,...E}=w??{},u=S?.map(m)??[],p=(x??["**/node_modules/**","**/.git/**","**/dist/**"]).map(m);return T(i=>{let t=new Map,a=[],e=!1,r=!1,d=0,v=()=>{for(let o of a.splice(0))o.close()},l=o=>{r||(r=!0,e=!0,n!==void 0&&clearTimeout(n),n=void 0,t.clear(),v(),i.down([[k,o]]))},n,W=o=>{if(n=void 0,e||r||t.size===0)return;let f=[];for(let g of t.values())f.push([N,g]);t.clear(),!(e||r||o!==d)&&i.down(f)};try{for(let o of y){let f=V(o,{recursive:b},(g,G)=>{if(e||r||G==null)return;let A=String(G).replaceAll("\\","/"),h=P(o,String(G)).replaceAll("\\","/"),q=P(o).replaceAll("\\","/"),R=A.startsWith("./")?A.slice(2):A;if(!(u.length===0||s(h,u)||s(R,u))||s(h,p)||s(R,p))return;let H="change";if(g==="rename")try{H=U(h)?"create":"delete"}catch{H="rename"}t.set(h,{type:H,path:h,root:q,relative_path:R,timestamp_ns:O()}),n!==void 0&&clearTimeout(n);let K=d;n=setTimeout(()=>W(K),F)});f.on("error",g=>l(g)),a.push(f)}}catch(o){l(o)}return()=>{e=!0,d+=1,n!==void 0&&clearTimeout(n),n=void 0,v(),t.clear()}},X(E))}export{D as fileAppendLog,C as fileBackend,Q as fileKv,z as fileSnapshot,de as fromFSWatch,J as fromGitHook,$ as sqliteAppendLog,j as sqliteBackend,I as sqliteKv,L as sqliteSnapshot};
1
+ import{a as K,b as j,c as I,d as D,e as z,f as $,g as Q,h as U}from"../chunk-VN6RDSK2.js";import"../chunk-D5RFJOZ2.js";import"../chunk-CE72X3WO.js";import{x as P}from"../chunk-6773HURD.js";import"../chunk-4VVTGLXJ.js";import"../chunk-DQJLC6YY.js";import{d as E,e as g,f as L}from"../chunk-RZ5HKPGI.js";import{F as v,p as F}from"../chunk-LYCLF26R.js";import{b as y,i as B,j as x}from"../chunk-CK2E7BTU.js";import{a as q}from"../chunk-QYADASLV.js";function V(a,h){let{pollMs:o=5e3,include:c,exclude:e,maxConsecutiveErrors:t=1}=h??{},u=c?.map(E)??[],n=e?.map(E)??[],{execFileSync:d}=q("child_process"),r=S=>d("git",S,{cwd:a,encoding:"utf-8"}).trim(),l,i=0;return P(L(0,{period:o}),()=>v(S=>{try{let s=r(["rev-parse","HEAD"]);if(!s)return i=0,()=>{};if(l===void 0)return l=s,i=0,()=>{};if(s===l)return i=0,()=>{};let p=r(["diff","--name-only",`${l}..${s}`]).split(`
2
+ `).filter(Boolean);u.length>0&&(p=p.filter(w=>g(w,u))),n.length>0&&(p=p.filter(w=>!g(w,n)));let k=r(["log","-1","--format=%s",s]),T=r(["log","-1","--format=%an",s]);S.emit({hook:"post-commit",commit:s,files:p,message:k,author:T,timestamp_ns:F()}),l=s,i=0}catch(s){i+=1,i>=t&&S.down([[x,s]])}return()=>{}}))}import{existsSync as X,watch as Y}from"fs";import{resolve as _}from"path";function Z(a){return{describeKind:"producer",...a}}function Se(a,h){let o=Array.isArray(a)?a:[a];if(o.length===0)throw new RangeError("fromFSWatch expects at least one path");let{recursive:c=!0,debounce:e=100,include:t,exclude:u,...n}=h??{},d=t?.map(E)??[],r=(u??["**/node_modules/**","**/.git/**","**/dist/**"]).map(E);return v(l=>{let i=new Map,S=[],s=!1,p=!1,k=0,T=()=>{for(let f of S.splice(0))f.close()},w=f=>{p||(p=!0,s=!0,m!==void 0&&clearTimeout(m),m=void 0,i.clear(),T(),l.down([[x,f]]))},m,H=f=>{if(m=void 0,s||p||i.size===0)return;let O=[];for(let b of i.values())O.push([y,b]);i.clear(),!(s||p||f!==k)&&l.down(O)};try{for(let f of o){let O=Y(f,{recursive:c},(b,N)=>{if(s||p||N==null)return;let M=String(N).replaceAll("\\","/"),A=_(f,String(N)).replaceAll("\\","/"),J=_(f).replaceAll("\\","/"),R=M.startsWith("./")?M.slice(2):M;if(!(d.length===0||g(A,d)||g(R,d))||g(A,r)||g(R,r))return;let G="change";if(b==="rename")try{G=X(A)?"create":"delete"}catch{G="rename"}i.set(A,{type:G,path:A,root:J,relative_path:R,timestamp_ns:F()}),m!==void 0&&clearTimeout(m);let W=k;m=setTimeout(()=>H(W),e)});O.on("error",b=>w(b)),S.push(O)}}catch(f){w(f)}return()=>{s=!0,k+=1,m!==void 0&&clearTimeout(m),m=void 0,T(),i.clear()}},Z(n))}import{spawn as C}from"child_process";function ee(a,h,o){return v(c=>{let e=C(a,h,{cwd:o?.cwd,env:o?.env,shell:o?.shell,signal:o?.signal,stdio:o?.stdio??"pipe"}),t=!0,u=null;return e.stdout?.on("data",n=>{t&&c.down([[y,{kind:"stdout",chunk:n}]])}),e.stderr?.on("data",n=>{t&&c.down([[y,{kind:"stderr",chunk:n}]])}),e.on("error",n=>{t&&(t=!1,c.down([[x,n]]))}),e.on("exit",(n,d)=>{u==null&&(u={code:n,signal:d})}),e.on("close",()=>{if(!t)return;t=!1;let n=u??{code:null,signal:null};c.down([[y,{kind:"exit",code:n.code,signal:n.signal}],[B]])}),()=>{if(t){t=!1,e.stdout?.removeAllListeners(),e.stderr?.removeAllListeners(),e.removeAllListeners("error"),e.removeAllListeners("exit"),e.removeAllListeners("close");try{e.kill("SIGTERM")}catch{}}}},{name:"from_spawn"})}function te(a,h,o){return v(c=>{let e=C(a,h,{cwd:o?.cwd,env:o?.env,shell:o?.shell,signal:o?.signal,stdio:o?.stdio??"pipe"}),t=!0,u=[],n=[],d=null;return e.stdout?.on("data",r=>{t&&u.push(r)}),e.stderr?.on("data",r=>{t&&n.push(r)}),e.on("error",r=>{t&&(t=!1,c.down([[x,r]]))}),e.on("exit",(r,l)=>{d==null&&(d={code:r,signal:l})}),e.on("close",()=>{if(!t)return;t=!1;let r=d??{code:null,signal:null},l=Buffer.concat(u).toString("utf8"),i=Buffer.concat(n).toString("utf8");c.down([[y,{stdout:l,stderr:i,exitCode:r.code,signal:r.signal}],[B]])}),()=>{if(t){t=!1,e.stdout?.removeAllListeners(),e.stderr?.removeAllListeners(),e.removeAllListeners("error"),e.removeAllListeners("exit"),e.removeAllListeners("close");try{e.kill("SIGTERM")}catch{}}}},{name:"run_process"})}export{D as fileAppendLog,K as fileBackend,Q as fileKv,I as fileSnapshot,Se as fromFSWatch,V as fromGitHook,ee as fromSpawn,te as runProcess,$ as sqliteAppendLog,j as sqliteBackend,U as sqliteKv,z as sqliteSnapshot};