@logixjs/core 0.0.1 → 1.0.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 (398) hide show
  1. package/LICENSE +201 -0
  2. package/dist/{Action-mqVvtEHt.d.ts → Action-DYl88bwj.d.ts} +1 -1
  3. package/dist/{Action-BkRHy2vg.d.cts → Action-DkxsI_DK.d.cts} +1 -1
  4. package/dist/Action.cjs.map +1 -1
  5. package/dist/Action.d.cts +1 -1
  6. package/dist/Action.d.ts +1 -1
  7. package/dist/Action.js +2 -2
  8. package/dist/{Actions-AsQ07yTP.d.cts → Actions-Dicm7jdc.d.cts} +2 -2
  9. package/dist/{Actions-AsQ07yTP.d.ts → Actions-Dicm7jdc.d.ts} +2 -2
  10. package/dist/Actions.cjs.map +1 -1
  11. package/dist/Actions.d.cts +1 -1
  12. package/dist/Actions.d.ts +1 -1
  13. package/dist/Actions.js +1 -1
  14. package/dist/{Bound-BN1DQ_lM.d.ts → Bound-1OJLzVIS.d.ts} +2 -2
  15. package/dist/{Bound-BPIfH9SS.d.cts → Bound-BMLrtQ1V.d.cts} +2 -2
  16. package/dist/Bound.cjs +1737 -399
  17. package/dist/Bound.cjs.map +1 -1
  18. package/dist/Bound.d.cts +5 -5
  19. package/dist/Bound.d.ts +5 -5
  20. package/dist/Bound.js +19 -17
  21. package/dist/{Debug-B5q5Bkzx.d.ts → Debug-DKrWP5H1.d.ts} +40 -22
  22. package/dist/{Debug-Bq8Sqjcr.d.cts → Debug-hIT44XsY.d.cts} +40 -22
  23. package/dist/Debug.cjs +1348 -318
  24. package/dist/Debug.cjs.map +1 -1
  25. package/dist/Debug.d.cts +12 -11
  26. package/dist/Debug.d.ts +12 -11
  27. package/dist/Debug.js +20 -11
  28. package/dist/EffectOp.cjs +15 -6
  29. package/dist/EffectOp.cjs.map +1 -1
  30. package/dist/EffectOp.js +3 -3
  31. package/dist/Env.cjs +772 -6
  32. package/dist/Env.cjs.map +1 -1
  33. package/dist/Env.js +5 -2
  34. package/dist/ExternalStore-DqJKKRJ4.d.ts +61 -0
  35. package/dist/ExternalStore-JC-gAgEI.d.cts +61 -0
  36. package/dist/ExternalStore.cjs +774 -0
  37. package/dist/ExternalStore.cjs.map +1 -0
  38. package/dist/ExternalStore.d.cts +8 -0
  39. package/dist/ExternalStore.d.ts +8 -0
  40. package/dist/ExternalStore.js +19 -0
  41. package/dist/ExternalStore.js.map +1 -0
  42. package/dist/{Flow-BhpjE22E.d.ts → Flow-CZmXRDqp.d.cts} +13 -4
  43. package/dist/{Flow-1fZT8MpX.d.cts → Flow-DIVDxz7R.d.ts} +13 -4
  44. package/dist/Flow.cjs +765 -148
  45. package/dist/Flow.cjs.map +1 -1
  46. package/dist/Flow.d.cts +6 -6
  47. package/dist/Flow.d.ts +6 -6
  48. package/dist/Flow.js +9 -8
  49. package/dist/{Handle-D_cLW1Z3.d.ts → Handle-Bo6cAFut.d.ts} +1 -1
  50. package/dist/{Handle-D8D1zPb_.d.cts → Handle-CfDvSqN7.d.cts} +1 -1
  51. package/dist/Handle.d.cts +5 -5
  52. package/dist/Handle.d.ts +5 -5
  53. package/dist/{Kernel-8kC-jOda.d.cts → Kernel-CuXBF9S_.d.cts} +16 -7
  54. package/dist/{Kernel-CnGE1Fyk.d.ts → Kernel-D9guNwRL.d.ts} +16 -7
  55. package/dist/Kernel.cjs +814 -26
  56. package/dist/Kernel.cjs.map +1 -1
  57. package/dist/Kernel.d.cts +13 -12
  58. package/dist/Kernel.d.ts +13 -12
  59. package/dist/Kernel.js +7 -4
  60. package/dist/{Link-Db7975nU.d.ts → Link-CUM0yUCH.d.ts} +10 -3
  61. package/dist/{Link-fX8x1eCK.d.cts → Link-NAfR6uGD.d.cts} +10 -3
  62. package/dist/Link.cjs +1294 -121
  63. package/dist/Link.cjs.map +1 -1
  64. package/dist/Link.d.cts +5 -5
  65. package/dist/Link.d.ts +5 -5
  66. package/dist/Link.js +37 -29
  67. package/dist/{Logic-DRh4sDZj.d.cts → Logic-09VQpIj3.d.cts} +7 -4
  68. package/dist/{Logic-BRjEMr-W.d.ts → Logic-DKg7ghGy.d.ts} +7 -4
  69. package/dist/Logic.cjs +2 -1
  70. package/dist/Logic.cjs.map +1 -1
  71. package/dist/Logic.d.cts +5 -5
  72. package/dist/Logic.d.ts +5 -5
  73. package/dist/Logic.js +1 -1
  74. package/dist/{MatchBuilder-CJk5oCkR.d.cts → MatchBuilder-CsW5jgrL.d.ts} +1 -1
  75. package/dist/{MatchBuilder-0QOc-nlU.d.ts → MatchBuilder-Dksk07F4.d.cts} +1 -1
  76. package/dist/MatchBuilder.cjs +2 -2
  77. package/dist/MatchBuilder.cjs.map +1 -1
  78. package/dist/MatchBuilder.d.cts +6 -6
  79. package/dist/MatchBuilder.d.ts +6 -6
  80. package/dist/MatchBuilder.js +2 -2
  81. package/dist/Middleware-D8tUDLv_.d.cts +100 -0
  82. package/dist/Middleware-DS7CbTTN.d.ts +100 -0
  83. package/dist/Middleware.cjs +678 -58
  84. package/dist/Middleware.cjs.map +1 -1
  85. package/dist/Middleware.d.cts +2 -86
  86. package/dist/Middleware.d.ts +2 -86
  87. package/dist/Middleware.js +15 -12
  88. package/dist/{Module-DnzluX2J.d.ts → Module-B_Cntyms.d.ts} +54 -25
  89. package/dist/{Module-B_0xRDMR.d.cts → Module-CmNOVXzf.d.cts} +54 -25
  90. package/dist/Module.cjs +9331 -3317
  91. package/dist/Module.cjs.map +1 -1
  92. package/dist/Module.d.cts +7 -6
  93. package/dist/Module.d.ts +7 -6
  94. package/dist/Module.js +39 -31
  95. package/dist/ModuleTag-CGho_InD.d.ts +113 -0
  96. package/dist/ModuleTag-CITb8L_G.d.cts +113 -0
  97. package/dist/ModuleTag.cjs +7248 -2847
  98. package/dist/ModuleTag.cjs.map +1 -1
  99. package/dist/ModuleTag.d.cts +6 -6
  100. package/dist/ModuleTag.d.ts +6 -6
  101. package/dist/ModuleTag.js +35 -29
  102. package/dist/Observability-Bdhnx2Dv.d.ts +385 -0
  103. package/dist/Observability-DXGAFBIT.d.cts +385 -0
  104. package/dist/Observability.cjs +5093 -1556
  105. package/dist/Observability.cjs.map +1 -1
  106. package/dist/Observability.d.cts +6 -7
  107. package/dist/Observability.d.ts +6 -7
  108. package/dist/Observability.js +28 -23
  109. package/dist/{Platform-CHX8o-U4.d.ts → Platform-B4s8tg6C.d.cts} +4 -5
  110. package/dist/{Platform-C49Pv956.d.cts → Platform-BV_0MW7g.d.cts} +5 -2
  111. package/dist/{Platform-C49Pv956.d.ts → Platform-BV_0MW7g.d.ts} +5 -2
  112. package/dist/{Platform-CVlv0xLQ.d.cts → Platform-W0Mefy_e.d.ts} +4 -5
  113. package/dist/Platform.cjs +2 -1
  114. package/dist/Platform.cjs.map +1 -1
  115. package/dist/Platform.d.cts +2 -3
  116. package/dist/Platform.d.ts +2 -3
  117. package/dist/Platform.js +2 -2
  118. package/dist/{Process-CM9xbMdP.d.ts → Process-CO8G7HO9.d.cts} +30 -5
  119. package/dist/{Process-mL8fHDSB.d.cts → Process-Cyf6VNDR.d.ts} +30 -5
  120. package/dist/Process.cjs +1288 -120
  121. package/dist/Process.cjs.map +1 -1
  122. package/dist/Process.d.cts +6 -6
  123. package/dist/Process.d.ts +6 -6
  124. package/dist/Process.js +34 -26
  125. package/dist/ReadQuery-C_or5nLC.d.ts +128 -0
  126. package/dist/ReadQuery-DXLzCE0E.d.cts +614 -0
  127. package/dist/ReadQuery-DXLzCE0E.d.ts +614 -0
  128. package/dist/ReadQuery-Yve1lmUo.d.cts +128 -0
  129. package/dist/ReadQuery.cjs +290 -5
  130. package/dist/ReadQuery.cjs.map +1 -1
  131. package/dist/ReadQuery.d.cts +3 -2
  132. package/dist/ReadQuery.d.ts +3 -2
  133. package/dist/ReadQuery.js +23 -5
  134. package/dist/{Reflection-CQnKwPXj.d.ts → Reflection-B2Xi1e4Q.d.ts} +89 -7
  135. package/dist/{Reflection-Kabo1mlU.d.cts → Reflection-DNB4V4_e.d.cts} +89 -7
  136. package/dist/Reflection.cjs +3227 -1617
  137. package/dist/Reflection.cjs.map +1 -1
  138. package/dist/Reflection.d.cts +17 -15
  139. package/dist/Reflection.d.ts +17 -15
  140. package/dist/Reflection.js +33 -25
  141. package/dist/{Resource-Dy1xD_DG.d.cts → Resource-pKvQQ4x5.d.cts} +3 -3
  142. package/dist/{Resource-Dy1xD_DG.d.ts → Resource-pKvQQ4x5.d.ts} +3 -3
  143. package/dist/Resource.cjs +781 -15
  144. package/dist/Resource.cjs.map +1 -1
  145. package/dist/Resource.d.cts +1 -1
  146. package/dist/Resource.d.ts +1 -1
  147. package/dist/Resource.js +6 -3
  148. package/dist/{Root-7ADUMk4t.d.cts → Root-CCVuFHB6.d.cts} +3 -3
  149. package/dist/{Root-7ADUMk4t.d.ts → Root-CCVuFHB6.d.ts} +3 -3
  150. package/dist/Root.cjs +786 -20
  151. package/dist/Root.cjs.map +1 -1
  152. package/dist/Root.d.cts +2 -2
  153. package/dist/Root.d.ts +2 -2
  154. package/dist/Root.js +7 -3
  155. package/dist/{Runtime-CtyzZG4i.d.ts → Runtime-CRmvwK4I.d.ts} +70 -14
  156. package/dist/{Runtime-B-aL-f29.d.cts → Runtime-C_wJM9mN.d.cts} +70 -14
  157. package/dist/Runtime.cjs +4942 -1601
  158. package/dist/Runtime.cjs.map +1 -1
  159. package/dist/Runtime.d.cts +17 -15
  160. package/dist/Runtime.d.ts +17 -15
  161. package/dist/Runtime.js +44 -32
  162. package/dist/{ScopeRegistry-D1owDNSm.d.cts → ScopeRegistry-BhYzqWri.d.cts} +6 -6
  163. package/dist/{ScopeRegistry-D1owDNSm.d.ts → ScopeRegistry-BhYzqWri.d.ts} +6 -6
  164. package/dist/ScopeRegistry.cjs +776 -10
  165. package/dist/ScopeRegistry.cjs.map +1 -1
  166. package/dist/ScopeRegistry.d.cts +1 -1
  167. package/dist/ScopeRegistry.d.ts +1 -1
  168. package/dist/ScopeRegistry.js +6 -3
  169. package/dist/{State-CU50R26M.d.cts → State-rNFsFPTl.d.cts} +2 -2
  170. package/dist/{State-CU50R26M.d.ts → State-rNFsFPTl.d.ts} +2 -2
  171. package/dist/State.cjs.map +1 -1
  172. package/dist/State.d.cts +1 -1
  173. package/dist/State.d.ts +1 -1
  174. package/dist/State.js +1 -1
  175. package/dist/{StateTrait-BGsZghTz.d.ts → StateTrait-CijdwNb6.d.ts} +25 -8
  176. package/dist/{StateTrait-OWhbj12c.d.cts → StateTrait-Dltto6PU.d.cts} +25 -8
  177. package/dist/StateTrait.cjs +1890 -528
  178. package/dist/StateTrait.cjs.map +1 -1
  179. package/dist/StateTrait.d.cts +9 -7
  180. package/dist/StateTrait.d.ts +9 -7
  181. package/dist/StateTrait.js +18 -14
  182. package/dist/{TraitLifecycle-CwV5WPFX.d.cts → TraitLifecycle-BKzDqzLu.d.cts} +2 -2
  183. package/dist/{TraitLifecycle-LdIWmKlg.d.ts → TraitLifecycle-Cvo94uDB.d.ts} +2 -2
  184. package/dist/TraitLifecycle.cjs +630 -67
  185. package/dist/TraitLifecycle.cjs.map +1 -1
  186. package/dist/TraitLifecycle.d.cts +6 -6
  187. package/dist/TraitLifecycle.d.ts +6 -6
  188. package/dist/TraitLifecycle.js +8 -7
  189. package/dist/Workflow-C_OWr4dV.d.ts +415 -0
  190. package/dist/Workflow-DmydkHO8.d.cts +415 -0
  191. package/dist/Workflow.cjs +3150 -0
  192. package/dist/Workflow.cjs.map +1 -0
  193. package/dist/Workflow.d.cts +7 -0
  194. package/dist/Workflow.d.ts +7 -0
  195. package/dist/Workflow.js +58 -0
  196. package/dist/Workflow.js.map +1 -0
  197. package/dist/{action-DiMDD_0v.d.cts → action-BQxjPFEw.d.cts} +5 -5
  198. package/dist/{action-DiMDD_0v.d.ts → action-BQxjPFEw.d.ts} +5 -5
  199. package/dist/chunk-2XRLXDWR.js +276 -0
  200. package/dist/chunk-2XRLXDWR.js.map +1 -0
  201. package/dist/chunk-3L6QGFMM.js +701 -0
  202. package/dist/chunk-3L6QGFMM.js.map +1 -0
  203. package/dist/{chunk-GMPEOUP2.js → chunk-4MZ7BT3R.js} +2 -2
  204. package/dist/chunk-4MZ7BT3R.js.map +1 -0
  205. package/dist/{chunk-3IYZ5IGG.js → chunk-5WKUGEBY.js} +2 -2
  206. package/dist/{chunk-3RMKLXHX.js → chunk-63ZQ5RIN.js} +2 -2
  207. package/dist/{chunk-M3WTHJHJ.js → chunk-67DIEA53.js} +385 -148
  208. package/dist/chunk-67DIEA53.js.map +1 -0
  209. package/dist/{chunk-YS3AZQ2G.js → chunk-6HFAW2MH.js} +1 -1
  210. package/dist/chunk-6HFAW2MH.js.map +1 -0
  211. package/dist/{chunk-EY4NZKDR.js → chunk-6Y2TKCNY.js} +2 -2
  212. package/dist/{chunk-76WT3HOR.js → chunk-6YZOXFPQ.js} +25 -24
  213. package/dist/chunk-6YZOXFPQ.js.map +1 -0
  214. package/dist/{chunk-G5ZBFPNU.js → chunk-A2RQOJC7.js} +2 -2
  215. package/dist/{chunk-AUIR5O6W.js → chunk-AFSB6NKM.js} +13 -19
  216. package/dist/chunk-AFSB6NKM.js.map +1 -0
  217. package/dist/{chunk-JCXGZRMU.js → chunk-AO4JEOKD.js} +22 -23
  218. package/dist/chunk-AO4JEOKD.js.map +1 -0
  219. package/dist/{chunk-TAAPQVZN.js → chunk-AYELIQXR.js} +2 -2
  220. package/dist/{chunk-QMM6O4CD.js → chunk-BLHZW7DG.js} +15 -3
  221. package/dist/{chunk-QMM6O4CD.js.map → chunk-BLHZW7DG.js.map} +1 -1
  222. package/dist/{chunk-TQOBJYDP.js → chunk-CD4N74YC.js} +1 -1
  223. package/dist/chunk-CD4N74YC.js.map +1 -0
  224. package/dist/{chunk-ANLBCBDC.js → chunk-CGE2HBTH.js} +11 -11
  225. package/dist/chunk-CGE2HBTH.js.map +1 -0
  226. package/dist/{chunk-OFADUJWJ.js → chunk-CYYSQMLO.js} +5 -5
  227. package/dist/chunk-CYYSQMLO.js.map +1 -0
  228. package/dist/{chunk-66ALHVEX.js → chunk-EB46EYI7.js} +3 -3
  229. package/dist/{chunk-NZJKFF45.js → chunk-EKCDHWRK.js} +4 -4
  230. package/dist/chunk-EKCDHWRK.js.map +1 -0
  231. package/dist/{chunk-BABLDP24.js → chunk-EPQFNJU3.js} +152 -7
  232. package/dist/chunk-EPQFNJU3.js.map +1 -0
  233. package/dist/{chunk-OGWBVHB3.js → chunk-ESR6HGOY.js} +73 -14
  234. package/dist/chunk-ESR6HGOY.js.map +1 -0
  235. package/dist/{chunk-NBD3KUOZ.js → chunk-F6RP62H3.js} +150 -98
  236. package/dist/chunk-F6RP62H3.js.map +1 -0
  237. package/dist/chunk-FBYW3QDI.js +252 -0
  238. package/dist/chunk-FBYW3QDI.js.map +1 -0
  239. package/dist/{chunk-IPF7E66P.js → chunk-FYAODKVP.js} +2 -2
  240. package/dist/chunk-GNEN7NKO.js +908 -0
  241. package/dist/chunk-GNEN7NKO.js.map +1 -0
  242. package/dist/chunk-GWSM4KLB.js +763 -0
  243. package/dist/chunk-GWSM4KLB.js.map +1 -0
  244. package/dist/{chunk-4SO6JMZL.js → chunk-HDMXCUZL.js} +1 -1
  245. package/dist/chunk-HDMXCUZL.js.map +1 -0
  246. package/dist/{chunk-ZFY7U2FR.js → chunk-HJM5Y5NU.js} +43 -3
  247. package/dist/chunk-HJM5Y5NU.js.map +1 -0
  248. package/dist/{chunk-ZGDVUPTM.js → chunk-IOZ3VKPK.js} +129 -68
  249. package/dist/chunk-IOZ3VKPK.js.map +1 -0
  250. package/dist/{chunk-PYOE4VSI.js → chunk-IVXSVHO4.js} +303 -247
  251. package/dist/chunk-IVXSVHO4.js.map +1 -0
  252. package/dist/chunk-J3CWXIPV.js +242 -0
  253. package/dist/chunk-J3CWXIPV.js.map +1 -0
  254. package/dist/chunk-K6JQW266.js +42 -0
  255. package/dist/chunk-K6JQW266.js.map +1 -0
  256. package/dist/chunk-KMZYQF6Q.js +202 -0
  257. package/dist/chunk-KMZYQF6Q.js.map +1 -0
  258. package/dist/{chunk-JWOYLO27.js → chunk-LPPZDFTD.js} +22 -12
  259. package/dist/chunk-LPPZDFTD.js.map +1 -0
  260. package/dist/{chunk-PAYXCY6A.js → chunk-MYB2B5WX.js} +997 -576
  261. package/dist/chunk-MYB2B5WX.js.map +1 -0
  262. package/dist/chunk-MYKNINNN.js +228 -0
  263. package/dist/chunk-MYKNINNN.js.map +1 -0
  264. package/dist/chunk-NSQIRMVF.js +27 -0
  265. package/dist/{chunk-QCHIQWAJ.js.map → chunk-NSQIRMVF.js.map} +1 -1
  266. package/dist/chunk-NUDBM4MM.js +30 -0
  267. package/dist/chunk-NUDBM4MM.js.map +1 -0
  268. package/dist/chunk-NZMWWDAY.js +23 -0
  269. package/dist/chunk-NZMWWDAY.js.map +1 -0
  270. package/dist/{chunk-RNFE3ML2.js → chunk-OCUV2Y25.js} +4 -3
  271. package/dist/chunk-OCUV2Y25.js.map +1 -0
  272. package/dist/chunk-P4ZJOQA7.js +271 -0
  273. package/dist/chunk-P4ZJOQA7.js.map +1 -0
  274. package/dist/chunk-P6C5EZ3D.js +342 -0
  275. package/dist/chunk-P6C5EZ3D.js.map +1 -0
  276. package/dist/{chunk-CW6T36TN.js → chunk-PBD7BJUN.js} +62 -4
  277. package/dist/chunk-PBD7BJUN.js.map +1 -0
  278. package/dist/chunk-PBIUCQY3.js +696 -0
  279. package/dist/chunk-PBIUCQY3.js.map +1 -0
  280. package/dist/chunk-PD6YECQH.js +845 -0
  281. package/dist/chunk-PD6YECQH.js.map +1 -0
  282. package/dist/{chunk-M7IYCTJV.js → chunk-R4LFQGP3.js} +2 -2
  283. package/dist/chunk-RHJIGDUE.js +21 -0
  284. package/dist/chunk-RHJIGDUE.js.map +1 -0
  285. package/dist/{chunk-KP7MUZNX.js → chunk-RLXO27MW.js} +30 -8
  286. package/dist/chunk-RLXO27MW.js.map +1 -0
  287. package/dist/{chunk-DFNM3WX2.js → chunk-S44BEV4B.js} +168 -45
  288. package/dist/chunk-S44BEV4B.js.map +1 -0
  289. package/dist/chunk-S4S5N4BJ.js +1461 -0
  290. package/dist/chunk-S4S5N4BJ.js.map +1 -0
  291. package/dist/{chunk-BZ2SHDN2.js → chunk-SGTRAXXX.js} +3 -3
  292. package/dist/chunk-SGTRAXXX.js.map +1 -0
  293. package/dist/{chunk-M2RGJPXX.js → chunk-SJAE5PB5.js} +3 -3
  294. package/dist/{chunk-JGIWG6SR.js → chunk-SNPNHU3H.js} +3937 -1776
  295. package/dist/chunk-SNPNHU3H.js.map +1 -0
  296. package/dist/{chunk-IHVBV5C2.js → chunk-SOOBFXRR.js} +94 -71
  297. package/dist/chunk-SOOBFXRR.js.map +1 -0
  298. package/dist/{chunk-ZDTRWK5F.js → chunk-TAHFWKS6.js} +2 -2
  299. package/dist/chunk-UEFFTVPY.js +9 -0
  300. package/dist/chunk-UEFFTVPY.js.map +1 -0
  301. package/dist/{chunk-24VULZ7A.js → chunk-UR5BXLBP.js} +3 -3
  302. package/dist/chunk-UR5BXLBP.js.map +1 -0
  303. package/dist/{chunk-DMBALCE2.js → chunk-V2SBGVDO.js} +471 -186
  304. package/dist/chunk-V2SBGVDO.js.map +1 -0
  305. package/dist/chunk-VJLWD47W.js +23 -0
  306. package/dist/chunk-VJLWD47W.js.map +1 -0
  307. package/dist/{chunk-4CQAV7YB.js → chunk-W647DX5Z.js} +2 -2
  308. package/dist/{chunk-THATMZXD.js → chunk-WFIIU3YZ.js} +2 -2
  309. package/dist/{chunk-THATMZXD.js.map → chunk-WFIIU3YZ.js.map} +1 -1
  310. package/dist/chunk-YZDJMAKL.js +82 -0
  311. package/dist/chunk-YZDJMAKL.js.map +1 -0
  312. package/dist/{chunk-3TMODYZV.js → chunk-Z5XH6VHY.js} +5 -5
  313. package/dist/chunk-Z5XH6VHY.js.map +1 -0
  314. package/dist/{chunk-BE3HW4FY.js → chunk-ZBBMZMA6.js} +377 -170
  315. package/dist/chunk-ZBBMZMA6.js.map +1 -0
  316. package/dist/index.cjs +21224 -11714
  317. package/dist/index.cjs.map +1 -1
  318. package/dist/index.d.cts +195 -49
  319. package/dist/index.d.ts +195 -49
  320. package/dist/index.js +150 -74
  321. package/dist/index.js.map +1 -1
  322. package/dist/{ir-BMP7yxJJ.d.cts → ir-BSosEwc8.d.cts} +1 -1
  323. package/dist/{ir-DUOz6H-5.d.ts → ir-D-uqwL_4.d.ts} +1 -1
  324. package/dist/{module-B8CBqIZ_.d.cts → module-Ds4tarcI.d.cts} +230 -140
  325. package/dist/{module-k7m3txak.d.ts → module-Zd1Gn-Nj.d.ts} +230 -140
  326. package/package.json +20 -4
  327. package/dist/ModuleTag-C8FHY_sY.d.ts +0 -93
  328. package/dist/ModuleTag-EGbgBMpZ.d.cts +0 -93
  329. package/dist/Observability-COqEvp2C.d.cts +0 -713
  330. package/dist/Observability-cY4kLn0S.d.ts +0 -713
  331. package/dist/ReadQuery-BlMwhe-F.d.ts +0 -30
  332. package/dist/ReadQuery-CL5XlXts.d.cts +0 -30
  333. package/dist/ReadQuery-SinbStGF.d.cts +0 -38
  334. package/dist/ReadQuery-SinbStGF.d.ts +0 -38
  335. package/dist/chunk-24VULZ7A.js.map +0 -1
  336. package/dist/chunk-3QMIVH35.js +0 -43
  337. package/dist/chunk-3QMIVH35.js.map +0 -1
  338. package/dist/chunk-3TMODYZV.js.map +0 -1
  339. package/dist/chunk-4SO6JMZL.js.map +0 -1
  340. package/dist/chunk-76WT3HOR.js.map +0 -1
  341. package/dist/chunk-ANLBCBDC.js.map +0 -1
  342. package/dist/chunk-AUIR5O6W.js.map +0 -1
  343. package/dist/chunk-BABLDP24.js.map +0 -1
  344. package/dist/chunk-BE3HW4FY.js.map +0 -1
  345. package/dist/chunk-BZ2SHDN2.js.map +0 -1
  346. package/dist/chunk-CW6T36TN.js.map +0 -1
  347. package/dist/chunk-DFNM3WX2.js.map +0 -1
  348. package/dist/chunk-DMBALCE2.js.map +0 -1
  349. package/dist/chunk-EGK3KN7B.js +0 -406
  350. package/dist/chunk-EGK3KN7B.js.map +0 -1
  351. package/dist/chunk-GMPEOUP2.js.map +0 -1
  352. package/dist/chunk-IHVBV5C2.js.map +0 -1
  353. package/dist/chunk-JCXGZRMU.js.map +0 -1
  354. package/dist/chunk-JGIWG6SR.js.map +0 -1
  355. package/dist/chunk-JWOYLO27.js.map +0 -1
  356. package/dist/chunk-KIXAU3GM.js +0 -137
  357. package/dist/chunk-KIXAU3GM.js.map +0 -1
  358. package/dist/chunk-KL5ACTCT.js +0 -8
  359. package/dist/chunk-KL5ACTCT.js.map +0 -1
  360. package/dist/chunk-KP7MUZNX.js.map +0 -1
  361. package/dist/chunk-M3BFQ7HK.js +0 -13
  362. package/dist/chunk-M3BFQ7HK.js.map +0 -1
  363. package/dist/chunk-M3WTHJHJ.js.map +0 -1
  364. package/dist/chunk-NBD3KUOZ.js.map +0 -1
  365. package/dist/chunk-NQZ2OSGR.js +0 -151
  366. package/dist/chunk-NQZ2OSGR.js.map +0 -1
  367. package/dist/chunk-NZJKFF45.js.map +0 -1
  368. package/dist/chunk-OFADUJWJ.js.map +0 -1
  369. package/dist/chunk-OGWBVHB3.js.map +0 -1
  370. package/dist/chunk-PAYXCY6A.js.map +0 -1
  371. package/dist/chunk-PYOE4VSI.js.map +0 -1
  372. package/dist/chunk-QCHIQWAJ.js +0 -21
  373. package/dist/chunk-RNFE3ML2.js.map +0 -1
  374. package/dist/chunk-TKZ7MEIA.js +0 -27
  375. package/dist/chunk-TKZ7MEIA.js.map +0 -1
  376. package/dist/chunk-TQOBJYDP.js.map +0 -1
  377. package/dist/chunk-VZB726PE.js +0 -93
  378. package/dist/chunk-VZB726PE.js.map +0 -1
  379. package/dist/chunk-W3TEWHLO.js +0 -568
  380. package/dist/chunk-W3TEWHLO.js.map +0 -1
  381. package/dist/chunk-YS3AZQ2G.js.map +0 -1
  382. package/dist/chunk-ZFLHVFUC.js +0 -192
  383. package/dist/chunk-ZFLHVFUC.js.map +0 -1
  384. package/dist/chunk-ZFY7U2FR.js.map +0 -1
  385. package/dist/chunk-ZGDVUPTM.js.map +0 -1
  386. package/dist/protocol-g_1897M2.d.cts +0 -127
  387. package/dist/protocol-g_1897M2.d.ts +0 -127
  388. /package/dist/{chunk-3IYZ5IGG.js.map → chunk-5WKUGEBY.js.map} +0 -0
  389. /package/dist/{chunk-3RMKLXHX.js.map → chunk-63ZQ5RIN.js.map} +0 -0
  390. /package/dist/{chunk-EY4NZKDR.js.map → chunk-6Y2TKCNY.js.map} +0 -0
  391. /package/dist/{chunk-G5ZBFPNU.js.map → chunk-A2RQOJC7.js.map} +0 -0
  392. /package/dist/{chunk-TAAPQVZN.js.map → chunk-AYELIQXR.js.map} +0 -0
  393. /package/dist/{chunk-66ALHVEX.js.map → chunk-EB46EYI7.js.map} +0 -0
  394. /package/dist/{chunk-IPF7E66P.js.map → chunk-FYAODKVP.js.map} +0 -0
  395. /package/dist/{chunk-M7IYCTJV.js.map → chunk-R4LFQGP3.js.map} +0 -0
  396. /package/dist/{chunk-M2RGJPXX.js.map → chunk-SJAE5PB5.js.map} +0 -0
  397. /package/dist/{chunk-ZDTRWK5F.js.map → chunk-TAHFWKS6.js.map} +0 -0
  398. /package/dist/{chunk-4CQAV7YB.js.map → chunk-W647DX5Z.js.map} +0 -0
@@ -27,12 +27,12 @@ __export(Middleware_exports, {
27
27
  withDebug: () => withDebug
28
28
  });
29
29
  module.exports = __toCommonJS(Middleware_exports);
30
- var import_effect8 = require("effect");
30
+ var import_effect13 = require("effect");
31
31
 
32
32
  // src/Debug.ts
33
- var import_effect7 = require("effect");
33
+ var import_effect12 = require("effect");
34
34
 
35
- // src/internal/runtime/core/DebugSink.ts
35
+ // src/internal/runtime/core/DebugSink.record.ts
36
36
  var import_effect3 = require("effect");
37
37
 
38
38
  // src/internal/observability/jsonValue.ts
@@ -50,29 +50,53 @@ var import_effect = require("effect");
50
50
 
51
51
  // src/internal/runtime/core/EffectOpCore.ts
52
52
  var import_effect2 = require("effect");
53
- var currentLinkId = import_effect2.FiberRef.unsafeMake(void 0);
54
- var EffectOpMiddlewareTag = class extends import_effect2.Context.Tag("Logix/EffectOpMiddleware")() {
53
+ var currentLinkId = import_effect2.ServiceMap.Reference("@logixjs/core/CurrentLinkId", {
54
+ defaultValue: () => void 0
55
+ });
56
+ var EffectOpMiddlewareTag = class extends import_effect2.ServiceMap.Service()("Logix/EffectOpMiddleware") {
55
57
  };
56
58
 
57
- // src/internal/runtime/core/DebugSink.ts
58
- var currentDebugSinks = import_effect3.FiberRef.unsafeMake([]);
59
- var currentRuntimeLabel = import_effect3.FiberRef.unsafeMake(void 0);
60
- var currentTxnId = import_effect3.FiberRef.unsafeMake(void 0);
61
- var currentOpSeq = import_effect3.FiberRef.unsafeMake(void 0);
62
- var currentDiagnosticsLevel = import_effect3.FiberRef.unsafeMake("off");
63
- var currentTraitConvergeDiagnosticsSampling = import_effect3.FiberRef.unsafeMake({
64
- sampleEveryN: 32,
65
- topK: 3
59
+ // src/internal/runtime/core/DebugSink.record.ts
60
+ var currentDebugSinks = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentDebugSinks", {
61
+ defaultValue: () => []
62
+ });
63
+ var currentRuntimeLabel = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentRuntimeLabel", {
64
+ defaultValue: () => void 0
65
+ });
66
+ var currentTxnId = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentTxnId", {
67
+ defaultValue: () => void 0
68
+ });
69
+ var currentOpSeq = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentOpSeq", {
70
+ defaultValue: () => void 0
66
71
  });
72
+ var currentDiagnosticsLevel = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentDiagnosticsLevel", {
73
+ defaultValue: () => "off"
74
+ });
75
+ var currentDiagnosticsMaterialization = import_effect3.ServiceMap.Reference(
76
+ "@logixjs/core/Debug.currentDiagnosticsMaterialization",
77
+ {
78
+ defaultValue: () => "eager"
79
+ }
80
+ );
81
+ var currentTraceMode = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentTraceMode", {
82
+ defaultValue: () => "on"
83
+ });
84
+ var currentTraitConvergeDiagnosticsSampling = import_effect3.ServiceMap.Reference(
85
+ "@logixjs/core/Debug.currentTraitConvergeDiagnosticsSampling",
86
+ {
87
+ defaultValue: () => ({
88
+ sampleEveryN: 32,
89
+ topK: 3
90
+ })
91
+ }
92
+ );
67
93
  var browserLifecycleSeen = /* @__PURE__ */ new Set();
68
94
  var browserDiagnosticSeen = /* @__PURE__ */ new Set();
69
95
  var lifecycleErrorLog = (event) => {
70
96
  const moduleId = event.moduleId ?? "unknown";
71
97
  const causePretty = (() => {
72
98
  try {
73
- return import_effect3.Cause.pretty(event.cause, {
74
- renderErrorCause: true
75
- });
99
+ return import_effect3.Cause.pretty(event.cause);
76
100
  } catch {
77
101
  try {
78
102
  return JSON.stringify(event.cause, null, 2);
@@ -113,16 +137,16 @@ ${detail}`;
113
137
  }
114
138
  return base.pipe(import_effect3.Effect.annotateLogs(annotations));
115
139
  };
116
- var noopLayer = import_effect3.Layer.locallyScoped(currentDebugSinks, []);
140
+ var noopLayer = import_effect3.Layer.succeed(currentDebugSinks, []);
117
141
  var errorOnlySink = {
118
142
  record: (event) => event.type === "lifecycle:error" ? lifecycleErrorLog(event) : event.type === "diagnostic" && event.severity !== "info" ? diagnosticLog(event) : import_effect3.Effect.void
119
143
  };
120
- var errorOnlyLayer = import_effect3.Layer.locallyScoped(currentDebugSinks, [errorOnlySink]);
144
+ var errorOnlyLayer = import_effect3.Layer.succeed(currentDebugSinks, [errorOnlySink]);
121
145
  var isErrorOnlyOnlySinks = (sinks) => sinks.length === 1 && sinks[0] === errorOnlySink;
122
146
  var consoleSink = {
123
147
  record: (event) => event.type === "lifecycle:error" ? lifecycleErrorLog(event) : event.type === "diagnostic" ? diagnosticLog(event) : import_effect3.Effect.logDebug({ debugEvent: event })
124
148
  };
125
- var consoleLayer = import_effect3.Layer.locallyScoped(currentDebugSinks, [consoleSink]);
149
+ var consoleLayer = import_effect3.Layer.succeed(currentDebugSinks, [consoleSink]);
126
150
  var isBrowser = typeof window !== "undefined" && typeof document !== "undefined";
127
151
  var renderBrowserConsoleEvent = (event) => {
128
152
  if (typeof event.type === "string" && event.type.startsWith("trace:")) {
@@ -148,7 +172,7 @@ var renderBrowserConsoleEvent = (event) => {
148
172
  const moduleId = event.moduleId ?? "unknown";
149
173
  const causePretty = (() => {
150
174
  try {
151
- return import_effect3.Cause.pretty(event.cause, { renderErrorCause: true });
175
+ return import_effect3.Cause.pretty(event.cause);
152
176
  } catch {
153
177
  try {
154
178
  return JSON.stringify(event.cause, null, 2);
@@ -214,7 +238,7 @@ var browserConsoleSink = {
214
238
  return renderBrowserConsoleEvent(event);
215
239
  }
216
240
  };
217
- var browserConsoleLayer = import_effect3.Layer.locallyScoped(currentDebugSinks, [browserConsoleSink]);
241
+ var browserConsoleLayer = import_effect3.Layer.succeed(currentDebugSinks, [browserConsoleSink]);
218
242
  var browserDiagnosticConsoleSink = {
219
243
  record: (event) => {
220
244
  if (!isBrowser) {
@@ -223,36 +247,33 @@ var browserDiagnosticConsoleSink = {
223
247
  return event.type === "lifecycle:error" || event.type === "diagnostic" && event.severity !== "info" ? renderBrowserConsoleEvent(event) : import_effect3.Effect.void;
224
248
  }
225
249
  };
226
- var browserDiagnosticConsoleLayer = import_effect3.Layer.locallyScoped(currentDebugSinks, [browserDiagnosticConsoleSink]);
227
- var browserPrettyLoggerLayer = import_effect3.Logger.replace(
228
- import_effect3.Logger.defaultLogger,
229
- import_effect3.Logger.prettyLogger({ mode: "browser", colors: true })
250
+ var browserDiagnosticConsoleLayer = import_effect3.Layer.succeed(currentDebugSinks, [browserDiagnosticConsoleSink]);
251
+ var browserPrettyLoggerLayer = import_effect3.Layer.effect(
252
+ import_effect3.Logger.CurrentLoggers,
253
+ import_effect3.Effect.gen(function* () {
254
+ const current = yield* import_effect3.Effect.service(import_effect3.Logger.CurrentLoggers);
255
+ return new Set(
256
+ [...current].filter((logger) => logger !== import_effect3.Logger.defaultLogger).concat(import_effect3.Logger.consolePretty({ mode: "browser", colors: true }))
257
+ );
258
+ })
230
259
  );
231
260
  var record = (event) => import_effect3.Effect.gen(function* () {
232
- const sinks = yield* import_effect3.FiberRef.get(currentDebugSinks);
261
+ const sinks = yield* import_effect3.Effect.service(currentDebugSinks);
233
262
  if (isErrorOnlyOnlySinks(sinks)) {
234
263
  if (event.type === "lifecycle:error") {
235
264
  yield* lifecycleErrorLog(event);
236
265
  return;
237
266
  }
238
- if (event.type === "diagnostic") {
239
- if (event.severity !== "info") {
240
- yield* diagnosticLog(event);
241
- } else {
242
- yield* import_effect3.Effect.void;
243
- }
244
- return;
267
+ if (event.type === "diagnostic" && event.severity !== "info") {
268
+ yield* diagnosticLog(event);
245
269
  }
246
- yield* import_effect3.Effect.void;
247
270
  return;
248
271
  }
249
272
  if (sinks.length === 0) {
250
273
  if (isBrowser) {
251
274
  if (event.type === "lifecycle:error" || event.type === "diagnostic") {
252
275
  yield* renderBrowserConsoleEvent(event);
253
- return;
254
276
  }
255
- yield* import_effect3.Effect.void;
256
277
  return;
257
278
  }
258
279
  if (event.type === "lifecycle:error") {
@@ -261,41 +282,43 @@ var record = (event) => import_effect3.Effect.gen(function* () {
261
282
  }
262
283
  if (event.type === "diagnostic") {
263
284
  yield* diagnosticLog(event);
264
- return;
265
285
  }
266
- yield* import_effect3.Effect.void;
267
286
  return;
268
287
  }
288
+ if (typeof event.type === "string" && event.type.startsWith("trace:")) {
289
+ const mode = yield* import_effect3.Effect.service(currentTraceMode);
290
+ if (mode === "off") return;
291
+ }
269
292
  const enriched = event;
270
- const diagnosticsLevel = yield* import_effect3.FiberRef.get(currentDiagnosticsLevel);
293
+ const diagnosticsLevel2 = yield* import_effect3.Effect.service(currentDiagnosticsLevel);
271
294
  let now;
272
295
  const getNow = () => {
273
296
  if (now === void 0) now = Date.now();
274
297
  return now;
275
298
  };
276
- if (enriched.timestamp === void 0 && (diagnosticsLevel !== "off" || enriched.type === "lifecycle:error" || enriched.type === "diagnostic")) {
299
+ if (enriched.timestamp === void 0 && (diagnosticsLevel2 !== "off" || enriched.type === "lifecycle:error" || enriched.type === "diagnostic")) {
277
300
  ;
278
301
  enriched.timestamp = getNow();
279
302
  }
280
- if (diagnosticsLevel !== "off" && enriched.runtimeLabel === void 0) {
281
- const runtimeLabel = yield* import_effect3.FiberRef.get(currentRuntimeLabel);
303
+ if (diagnosticsLevel2 !== "off" && enriched.runtimeLabel === void 0) {
304
+ const runtimeLabel = yield* import_effect3.Effect.service(currentRuntimeLabel);
282
305
  if (runtimeLabel) {
283
306
  ;
284
307
  enriched.runtimeLabel = runtimeLabel;
285
308
  }
286
309
  }
287
310
  if (enriched.type === "diagnostic" && enriched.txnId === void 0) {
288
- const txnId = yield* import_effect3.FiberRef.get(currentTxnId);
311
+ const txnId = yield* import_effect3.Effect.service(currentTxnId);
289
312
  if (txnId) {
290
313
  ;
291
314
  enriched.txnId = txnId;
292
315
  }
293
316
  }
294
- if (diagnosticsLevel !== "off" && enriched.type === "trace:effectop" && enriched.linkId === void 0) {
295
- const linkId = yield* import_effect3.FiberRef.get(currentLinkId);
296
- if (linkId) {
317
+ if (diagnosticsLevel2 !== "off" && enriched.type === "trace:effectop" && enriched.linkId === void 0) {
318
+ const maybeLinkId = yield* import_effect3.Effect.serviceOption(currentLinkId);
319
+ if (import_effect3.Option.isSome(maybeLinkId) && maybeLinkId.value) {
297
320
  ;
298
- enriched.linkId = linkId;
321
+ enriched.linkId = maybeLinkId.value;
299
322
  }
300
323
  }
301
324
  if (sinks.length === 1) {
@@ -307,6 +330,171 @@ var record = (event) => import_effect3.Effect.gen(function* () {
307
330
 
308
331
  // src/internal/runtime/core/DevtoolsHub.ts
309
332
  var import_effect4 = require("effect");
333
+
334
+ // src/internal/runtime/core/HostScheduler.ts
335
+ var noopCancel = () => {
336
+ };
337
+ var safeNowMs = () => {
338
+ const perf = globalThis.performance;
339
+ if (perf && typeof perf.now === "function") {
340
+ try {
341
+ const v = perf.now();
342
+ if (typeof v === "number" && Number.isFinite(v)) return v;
343
+ } catch {
344
+ }
345
+ }
346
+ return Date.now();
347
+ };
348
+ var safeQueueMicrotask = (cb) => {
349
+ const qm = globalThis.queueMicrotask;
350
+ if (typeof qm === "function") {
351
+ try {
352
+ qm(cb);
353
+ return;
354
+ } catch {
355
+ }
356
+ }
357
+ try {
358
+ Promise.resolve().then(cb);
359
+ } catch {
360
+ setTimeout(cb, 0);
361
+ }
362
+ };
363
+ var safeSetTimeout = (ms, cb) => {
364
+ const id = setTimeout(cb, ms);
365
+ return () => {
366
+ try {
367
+ clearTimeout(id);
368
+ } catch {
369
+ }
370
+ };
371
+ };
372
+ var makeMessageChannelMacrotask = () => {
373
+ const MC = globalThis.MessageChannel;
374
+ if (typeof MC !== "function") return void 0;
375
+ let channel;
376
+ try {
377
+ channel = new MC();
378
+ } catch {
379
+ return void 0;
380
+ }
381
+ const queue = [];
382
+ let scheduled = false;
383
+ const flush = () => {
384
+ scheduled = false;
385
+ const tasks = queue.splice(0, queue.length);
386
+ for (const t of tasks) {
387
+ if (t.canceled) continue;
388
+ try {
389
+ t.cb();
390
+ } catch {
391
+ }
392
+ }
393
+ };
394
+ try {
395
+ channel.port1.onmessage = flush;
396
+ } catch {
397
+ return void 0;
398
+ }
399
+ const schedule = (cb) => {
400
+ const task = { canceled: false, cb };
401
+ queue.push(task);
402
+ if (!scheduled) {
403
+ scheduled = true;
404
+ try {
405
+ channel.port2.postMessage(void 0);
406
+ } catch {
407
+ scheduled = false;
408
+ return safeSetTimeout(0, cb);
409
+ }
410
+ }
411
+ return () => {
412
+ task.canceled = true;
413
+ };
414
+ };
415
+ return schedule;
416
+ };
417
+ var makeSetImmediateMacrotask = () => {
418
+ const si = globalThis.setImmediate;
419
+ const ci = globalThis.clearImmediate;
420
+ if (typeof si !== "function") return void 0;
421
+ return (cb) => {
422
+ let id;
423
+ try {
424
+ id = si(cb);
425
+ } catch {
426
+ return safeSetTimeout(0, cb);
427
+ }
428
+ return () => {
429
+ if (typeof ci !== "function") return;
430
+ try {
431
+ ci(id);
432
+ } catch {
433
+ }
434
+ };
435
+ };
436
+ };
437
+ var makeRaf = () => {
438
+ const raf = globalThis.requestAnimationFrame;
439
+ const cancel = globalThis.cancelAnimationFrame;
440
+ if (typeof raf !== "function") return void 0;
441
+ return (cb) => {
442
+ let id;
443
+ try {
444
+ id = raf(cb);
445
+ } catch {
446
+ return noopCancel;
447
+ }
448
+ return () => {
449
+ if (typeof cancel !== "function") return;
450
+ try {
451
+ cancel(id);
452
+ } catch {
453
+ }
454
+ };
455
+ };
456
+ };
457
+ var makeDefaultHostScheduler = () => {
458
+ const macrotask = makeSetImmediateMacrotask() ?? makeMessageChannelMacrotask() ?? ((cb) => safeSetTimeout(0, cb));
459
+ const raf = makeRaf();
460
+ return {
461
+ nowMs: safeNowMs,
462
+ scheduleMicrotask: safeQueueMicrotask,
463
+ scheduleMacrotask: macrotask,
464
+ scheduleAnimationFrame: (cb) => raf?.(cb) ?? macrotask(cb),
465
+ scheduleTimeout: safeSetTimeout
466
+ };
467
+ };
468
+ var globalHostScheduler;
469
+ var getGlobalHostScheduler = () => {
470
+ globalHostScheduler ?? (globalHostScheduler = makeDefaultHostScheduler());
471
+ return globalHostScheduler;
472
+ };
473
+
474
+ // src/internal/runtime/core/DevtoolsHub.ts
475
+ var instances = /* @__PURE__ */ new Map();
476
+ var toCapacity = (value) => {
477
+ if (typeof value !== "number" || !Number.isFinite(value)) return 0;
478
+ const n = Math.floor(value);
479
+ return n > 0 ? n : 0;
480
+ };
481
+ var makeEventRing = (capacity) => {
482
+ const cap = toCapacity(capacity);
483
+ return {
484
+ capacity: cap,
485
+ start: 0,
486
+ size: 0,
487
+ data: cap > 0 ? new Array(cap) : [],
488
+ view: [],
489
+ dirty: true
490
+ };
491
+ };
492
+ var latestStates = /* @__PURE__ */ new Map();
493
+ var latestTraitSummaries = /* @__PURE__ */ new Map();
494
+ var exportBudget = {
495
+ dropped: 0,
496
+ oversized: 0
497
+ };
310
498
  var lastRunTs = 0;
311
499
  var lastRunTsSeq = 0;
312
500
  var nextRunId = () => {
@@ -320,38 +508,470 @@ var nextRunId = () => {
320
508
  return lastRunTsSeq === 0 ? `run-${ts}` : `run-${ts}.${lastRunTsSeq}`;
321
509
  };
322
510
  var currentRunId = nextRunId();
511
+ var bufferSize = 500;
512
+ var globalRing = makeEventRing(bufferSize);
513
+ var ringTrimMode = "strict";
514
+ var ringTrimThreshold = bufferSize;
515
+ var refreshRingTrimPolicy = () => {
516
+ const prevMode = ringTrimMode;
517
+ const prevThreshold = ringTrimThreshold;
518
+ if (bufferSize <= 0) {
519
+ ringTrimMode = "disabled";
520
+ ringTrimThreshold = 0;
521
+ return prevMode !== ringTrimMode || prevThreshold !== ringTrimThreshold;
522
+ }
523
+ ringTrimMode = "strict";
524
+ ringTrimThreshold = bufferSize;
525
+ return prevMode !== ringTrimMode || prevThreshold !== ringTrimThreshold;
526
+ };
527
+ refreshRingTrimPolicy();
528
+ var snapshotToken = 0;
529
+ var currentSnapshot = {
530
+ snapshotToken,
531
+ instances,
532
+ events: globalRing.view,
533
+ latestStates,
534
+ latestTraitSummaries,
535
+ exportBudget
536
+ };
323
537
 
324
538
  // src/internal/runtime/core/ConvergeStaticIrCollector.ts
325
539
  var import_effect5 = require("effect");
326
- var currentConvergeStaticIrCollectors = import_effect5.FiberRef.unsafeMake([]);
540
+ var currentConvergeStaticIrCollectors = import_effect5.ServiceMap.Reference(
541
+ "@logixjs/core/ConvergeStaticIrCollectors",
542
+ {
543
+ defaultValue: () => []
544
+ }
545
+ );
327
546
 
328
547
  // src/internal/runtime/core/env.ts
548
+ var import_effect11 = require("effect");
549
+
550
+ // src/internal/runtime/core/RuntimeStore.ts
551
+ var parseTopicKey = (topicKey) => {
552
+ const idx = topicKey.indexOf("::");
553
+ if (idx <= 0) return void 0;
554
+ const moduleId = topicKey.slice(0, idx);
555
+ const rest = topicKey.slice(idx + 2);
556
+ if (rest.length === 0) return void 0;
557
+ const idx2 = rest.indexOf("::");
558
+ if (idx2 < 0) {
559
+ return { kind: "module", moduleInstanceKey: `${moduleId}::${rest}` };
560
+ }
561
+ const instanceId = rest.slice(0, idx2);
562
+ const suffix = rest.slice(idx2 + 2);
563
+ if (suffix.startsWith("rq:")) {
564
+ const selectorId = suffix.slice("rq:".length);
565
+ if (selectorId.length === 0) return void 0;
566
+ return {
567
+ kind: "readQuery",
568
+ moduleInstanceKey: `${moduleId}::${instanceId}`,
569
+ selectorId
570
+ };
571
+ }
572
+ return { kind: "module", moduleInstanceKey: `${moduleId}::${instanceId}` };
573
+ };
574
+ var EMPTY_LISTENER_SNAPSHOT = [];
575
+ var NO_CHANGED_TOPIC_LISTENERS = [];
576
+ var makeRuntimeStore = () => {
577
+ let tickSeq = 0;
578
+ const moduleStates = /* @__PURE__ */ new Map();
579
+ const topicVersions = /* @__PURE__ */ new Map();
580
+ const topicPriorities = /* @__PURE__ */ new Map();
581
+ const listenersByTopic = /* @__PURE__ */ new Map();
582
+ const subscriberCountByModule = /* @__PURE__ */ new Map();
583
+ const getTopicVersion = (topicKey) => topicVersions.get(topicKey) ?? 0;
584
+ const getTopicPriority = (topicKey) => topicPriorities.get(topicKey) ?? "normal";
585
+ const commitTopicBump = (topicKey, priority) => {
586
+ const prev = topicVersions.get(topicKey) ?? 0;
587
+ topicVersions.set(topicKey, prev + 1);
588
+ topicPriorities.set(topicKey, priority);
589
+ };
590
+ const refreshTopicSnapshot = (state) => {
591
+ state.snapshot = Array.from(state.listeners);
592
+ };
593
+ const subscribeTopic = (topicKey, listener) => {
594
+ const info = parseTopicKey(topicKey);
595
+ const existing = listenersByTopic.get(topicKey);
596
+ const state = existing ?? { listeners: /* @__PURE__ */ new Set(), snapshot: EMPTY_LISTENER_SNAPSHOT };
597
+ const alreadyHas = state.listeners.has(listener);
598
+ if (!alreadyHas) {
599
+ state.listeners.add(listener);
600
+ refreshTopicSnapshot(state);
601
+ }
602
+ if (!existing) {
603
+ listenersByTopic.set(topicKey, state);
604
+ }
605
+ if (!alreadyHas && info) {
606
+ const prev = subscriberCountByModule.get(info.moduleInstanceKey) ?? 0;
607
+ subscriberCountByModule.set(info.moduleInstanceKey, prev + 1);
608
+ }
609
+ return () => {
610
+ const currentState = listenersByTopic.get(topicKey);
611
+ if (!currentState) return;
612
+ const deleted = currentState.listeners.delete(listener);
613
+ if (deleted && info) {
614
+ const prev = subscriberCountByModule.get(info.moduleInstanceKey) ?? 0;
615
+ const next = prev - 1;
616
+ if (next <= 0) {
617
+ subscriberCountByModule.delete(info.moduleInstanceKey);
618
+ } else {
619
+ subscriberCountByModule.set(info.moduleInstanceKey, next);
620
+ }
621
+ }
622
+ if (currentState.listeners.size === 0) {
623
+ listenersByTopic.delete(topicKey);
624
+ } else if (deleted) {
625
+ refreshTopicSnapshot(currentState);
626
+ }
627
+ };
628
+ };
629
+ const getTopicSubscriberCount = (topicKey) => listenersByTopic.get(topicKey)?.listeners.size ?? 0;
630
+ const getModuleSubscriberCount = (moduleInstanceKey) => subscriberCountByModule.get(moduleInstanceKey) ?? 0;
631
+ const registerModuleInstance = (args) => {
632
+ moduleStates.set(args.moduleInstanceKey, args.initialState);
633
+ if (!topicVersions.has(args.moduleInstanceKey)) {
634
+ topicVersions.set(args.moduleInstanceKey, 0);
635
+ topicPriorities.set(args.moduleInstanceKey, "normal");
636
+ }
637
+ };
638
+ const unregisterModuleInstance = (moduleInstanceKey) => {
639
+ moduleStates.delete(moduleInstanceKey);
640
+ };
641
+ const commitTick = (args) => {
642
+ tickSeq = args.tickSeq;
643
+ for (const [key, commit] of args.accepted.modules) {
644
+ moduleStates.set(key, commit.state);
645
+ }
646
+ if (args.accepted.dirtyTopics.size === 0) {
647
+ return {
648
+ changedTopicListeners: NO_CHANGED_TOPIC_LISTENERS
649
+ };
650
+ }
651
+ if (args.onListener) {
652
+ let firstTopicListeners;
653
+ let secondTopicListeners;
654
+ let restTopicListeners;
655
+ for (const [topicKey, priority] of args.accepted.dirtyTopics) {
656
+ commitTopicBump(topicKey, priority);
657
+ const listeners = listenersByTopic.get(topicKey)?.snapshot ?? EMPTY_LISTENER_SNAPSHOT;
658
+ if (listeners.length === 0) {
659
+ continue;
660
+ }
661
+ if (!firstTopicListeners) {
662
+ firstTopicListeners = listeners;
663
+ continue;
664
+ }
665
+ if (!secondTopicListeners) {
666
+ secondTopicListeners = listeners;
667
+ continue;
668
+ }
669
+ if (!restTopicListeners) {
670
+ restTopicListeners = [];
671
+ }
672
+ restTopicListeners.push(listeners);
673
+ }
674
+ if (firstTopicListeners) {
675
+ for (const listener of firstTopicListeners) {
676
+ try {
677
+ args.onListener(listener);
678
+ } catch {
679
+ }
680
+ }
681
+ }
682
+ if (secondTopicListeners) {
683
+ for (const listener of secondTopicListeners) {
684
+ try {
685
+ args.onListener(listener);
686
+ } catch {
687
+ }
688
+ }
689
+ }
690
+ if (restTopicListeners) {
691
+ for (const listeners of restTopicListeners) {
692
+ for (const listener of listeners) {
693
+ try {
694
+ args.onListener(listener);
695
+ } catch {
696
+ }
697
+ }
698
+ }
699
+ }
700
+ return {
701
+ changedTopicListeners: NO_CHANGED_TOPIC_LISTENERS
702
+ };
703
+ }
704
+ let singleTopicListeners;
705
+ let flattenedTopicListeners;
706
+ for (const [topicKey, priority] of args.accepted.dirtyTopics) {
707
+ commitTopicBump(topicKey, priority);
708
+ const listeners = listenersByTopic.get(topicKey)?.snapshot ?? EMPTY_LISTENER_SNAPSHOT;
709
+ if (listeners.length === 0) {
710
+ continue;
711
+ }
712
+ if (flattenedTopicListeners) {
713
+ for (const listener of listeners) {
714
+ flattenedTopicListeners.push(listener);
715
+ }
716
+ continue;
717
+ }
718
+ if (!singleTopicListeners) {
719
+ singleTopicListeners = listeners;
720
+ continue;
721
+ }
722
+ flattenedTopicListeners = Array.from(singleTopicListeners);
723
+ for (const listener of listeners) {
724
+ flattenedTopicListeners.push(listener);
725
+ }
726
+ }
727
+ return {
728
+ changedTopicListeners: flattenedTopicListeners ?? singleTopicListeners ?? NO_CHANGED_TOPIC_LISTENERS
729
+ };
730
+ };
731
+ const getModuleState = (moduleInstanceKey) => moduleStates.get(moduleInstanceKey);
732
+ const dispose = () => {
733
+ moduleStates.clear();
734
+ topicVersions.clear();
735
+ topicPriorities.clear();
736
+ listenersByTopic.clear();
737
+ subscriberCountByModule.clear();
738
+ };
739
+ return {
740
+ getTickSeq: () => tickSeq,
741
+ getModuleState,
742
+ getTopicVersion,
743
+ getTopicPriority,
744
+ subscribeTopic,
745
+ getTopicSubscriberCount,
746
+ getModuleSubscriberCount,
747
+ registerModuleInstance,
748
+ unregisterModuleInstance,
749
+ commitTick,
750
+ dispose
751
+ };
752
+ };
753
+
754
+ // src/internal/runtime/core/TickScheduler.ts
755
+ var import_effect9 = require("effect");
756
+
757
+ // src/internal/runtime/core/TaskRunner.ts
758
+ var import_effect8 = require("effect");
759
+
760
+ // src/internal/runtime/core/ModeRunner.ts
761
+ var import_effect7 = require("effect");
762
+
763
+ // src/internal/runtime/core/LatestFiberSlot.ts
329
764
  var import_effect6 = require("effect");
330
- var StateTransactionConfigTagImpl = class extends import_effect6.Context.Tag("@logixjs/core/StateTransactionRuntimeConfig")() {
765
+
766
+ // src/internal/runtime/core/TaskRunner.ts
767
+ var inSyncTransactionFiber = import_effect8.ServiceMap.Reference("@logixjs/core/TaskRunner.inSyncTransactionFiber", {
768
+ defaultValue: () => false
769
+ });
770
+ var forceSourceRefresh = import_effect8.ServiceMap.Reference("@logixjs/core/TaskRunner.forceSourceRefresh", {
771
+ defaultValue: () => false
772
+ });
773
+
774
+ // src/internal/runtime/core/DeclarativeLinkRuntime.ts
775
+ var import_effect10 = require("effect");
776
+ var makeDeclarativeLinkRuntime = () => {
777
+ const moduleAsSourceById = /* @__PURE__ */ new Map();
778
+ const moduleAsSourceIdsBySource = /* @__PURE__ */ new Map();
779
+ const declarativeById = /* @__PURE__ */ new Map();
780
+ const declarativeReadNodesBySource = /* @__PURE__ */ new Map();
781
+ const registerModuleAsSourceLink = (link) => {
782
+ const stored = {
783
+ ...link,
784
+ hasValue: false,
785
+ lastValue: void 0
786
+ };
787
+ moduleAsSourceById.set(link.id, stored);
788
+ const set = moduleAsSourceIdsBySource.get(link.sourceModuleInstanceKey) ?? /* @__PURE__ */ new Set();
789
+ set.add(link.id);
790
+ moduleAsSourceIdsBySource.set(link.sourceModuleInstanceKey, set);
791
+ return () => {
792
+ moduleAsSourceById.delete(link.id);
793
+ const current = moduleAsSourceIdsBySource.get(link.sourceModuleInstanceKey);
794
+ if (!current) return;
795
+ current.delete(link.id);
796
+ if (current.size === 0) {
797
+ moduleAsSourceIdsBySource.delete(link.sourceModuleInstanceKey);
798
+ }
799
+ };
800
+ };
801
+ const registerDeclarativeLink = (link) => {
802
+ const readNodeById = /* @__PURE__ */ new Map();
803
+ for (const n of link.readNodes) {
804
+ readNodeById.set(n.nodeId, n);
805
+ }
806
+ const dispatchNodeById = /* @__PURE__ */ new Map();
807
+ for (const n of link.dispatchNodes) {
808
+ dispatchNodeById.set(n.nodeId, n);
809
+ }
810
+ const incomingByDispatch = /* @__PURE__ */ new Map();
811
+ for (const e of link.ir.edges) {
812
+ const to = e.to;
813
+ const isDispatch = dispatchNodeById.has(to);
814
+ if (!isDispatch) continue;
815
+ incomingByDispatch.set(to, (incomingByDispatch.get(to) ?? 0) + 1);
816
+ const count = incomingByDispatch.get(to) ?? 0;
817
+ if (count > 1) {
818
+ throw new Error(
819
+ `[DeclarativeLinkRuntime] Invalid DeclarativeLinkIR: dispatch node has multiple incoming edges (linkId=${link.linkId}, nodeId=${to}).`
820
+ );
821
+ }
822
+ }
823
+ const dispatchTargetsByReadNode = /* @__PURE__ */ new Map();
824
+ for (const e of link.ir.edges) {
825
+ const from = e.from;
826
+ const to = e.to;
827
+ if (!readNodeById.has(from)) continue;
828
+ if (!dispatchNodeById.has(to)) continue;
829
+ const list = dispatchTargetsByReadNode.get(from) ?? [];
830
+ list.push(to);
831
+ dispatchTargetsByReadNode.set(from, list);
832
+ }
833
+ const stored = {
834
+ ...link,
835
+ readNodeById,
836
+ dispatchNodeById,
837
+ dispatchTargetsByReadNode,
838
+ readNodeState: /* @__PURE__ */ new Map()
839
+ };
840
+ declarativeById.set(link.linkId, stored);
841
+ for (const n of link.readNodes) {
842
+ const list = declarativeReadNodesBySource.get(n.moduleInstanceKey) ?? [];
843
+ list.push({ linkId: link.linkId, nodeId: n.nodeId });
844
+ declarativeReadNodesBySource.set(n.moduleInstanceKey, list);
845
+ }
846
+ return () => {
847
+ declarativeById.delete(link.linkId);
848
+ for (const n of link.readNodes) {
849
+ const list = declarativeReadNodesBySource.get(n.moduleInstanceKey);
850
+ if (!list) continue;
851
+ const next = list.filter((x) => !(x.linkId === link.linkId && x.nodeId === n.nodeId));
852
+ if (next.length === 0) {
853
+ declarativeReadNodesBySource.delete(n.moduleInstanceKey);
854
+ } else {
855
+ declarativeReadNodesBySource.set(n.moduleInstanceKey, next);
856
+ }
857
+ }
858
+ };
859
+ };
860
+ const applyForSources = (args) => import_effect10.Effect.gen(function* () {
861
+ let scheduled = false;
862
+ for (const sourceKey of args.changedModuleInstanceKeys) {
863
+ const ids = moduleAsSourceIdsBySource.get(sourceKey);
864
+ if (!ids || ids.size === 0) continue;
865
+ const commit = args.acceptedModules.get(sourceKey);
866
+ if (!commit) continue;
867
+ for (const id of ids) {
868
+ const link = moduleAsSourceById.get(id);
869
+ if (!link) continue;
870
+ let selected;
871
+ try {
872
+ selected = link.readQuery.select(commit.state);
873
+ } catch {
874
+ continue;
875
+ }
876
+ const nextValue = link.computeValue(selected);
877
+ if (link.hasValue && link.equalsValue(link.lastValue, nextValue)) {
878
+ continue;
879
+ }
880
+ link.hasValue = true;
881
+ link.lastValue = nextValue;
882
+ scheduled = true;
883
+ yield* link.applyValue(nextValue);
884
+ }
885
+ }
886
+ for (const sourceKey of args.changedModuleInstanceKeys) {
887
+ const refs = declarativeReadNodesBySource.get(sourceKey);
888
+ if (!refs || refs.length === 0) continue;
889
+ const commit = args.acceptedModules.get(sourceKey);
890
+ if (!commit) continue;
891
+ for (const ref of refs) {
892
+ const link = declarativeById.get(ref.linkId);
893
+ if (!link) continue;
894
+ const readNode = link.readNodeById.get(ref.nodeId);
895
+ if (!readNode) continue;
896
+ let value;
897
+ try {
898
+ value = readNode.readQuery.select(commit.state);
899
+ } catch {
900
+ continue;
901
+ }
902
+ const state = link.readNodeState.get(ref.nodeId) ?? { hasValue: false, lastValue: void 0 };
903
+ const changed = !state.hasValue || !Object.is(state.lastValue, value);
904
+ if (!changed) continue;
905
+ state.hasValue = true;
906
+ state.lastValue = value;
907
+ link.readNodeState.set(ref.nodeId, state);
908
+ const targets = link.dispatchTargetsByReadNode.get(ref.nodeId) ?? [];
909
+ for (const dispatchNodeId of targets) {
910
+ const node = link.dispatchNodeById.get(dispatchNodeId);
911
+ if (!node) continue;
912
+ scheduled = true;
913
+ yield* node.dispatch(value);
914
+ }
915
+ }
916
+ }
917
+ return { scheduled };
918
+ });
919
+ return {
920
+ registerModuleAsSourceLink,
921
+ registerDeclarativeLink,
922
+ applyForSources
923
+ };
924
+ };
925
+
926
+ // src/internal/runtime/core/env.ts
927
+ var StateTransactionConfigTagImpl = class extends import_effect11.ServiceMap.Service()("@logixjs/core/StateTransactionRuntimeConfig") {
928
+ };
929
+ var ReadQueryStrictGateConfigTagImpl = class extends import_effect11.ServiceMap.Service()("@logixjs/core/ReadQueryStrictGateRuntimeConfig") {
930
+ };
931
+ var ReplayModeConfigTagImpl = class extends import_effect11.ServiceMap.Service()("@logixjs/core/ReplayModeConfig") {
331
932
  };
332
- var ReadQueryStrictGateConfigTagImpl = class extends import_effect6.Context.Tag("@logixjs/core/ReadQueryStrictGateRuntimeConfig")() {
933
+ var StateTransactionOverridesTagImpl = class extends import_effect11.ServiceMap.Service()("@logixjs/core/StateTransactionOverrides") {
333
934
  };
334
- var ReplayModeConfigTagImpl = class extends import_effect6.Context.Tag("@logixjs/core/ReplayModeConfig")() {
935
+ var SchedulingPolicySurfaceTagImpl = class extends import_effect11.ServiceMap.Service()("@logixjs/core/SchedulingPolicySurface") {
335
936
  };
336
- var StateTransactionOverridesTagImpl = class extends import_effect6.Context.Tag("@logixjs/core/StateTransactionOverrides")() {
937
+ var SchedulingPolicySurfaceOverridesTagImpl = class extends import_effect11.ServiceMap.Service()("@logixjs/core/SchedulingPolicySurfaceOverrides") {
337
938
  };
338
- var ConcurrencyPolicyTagImpl = class extends import_effect6.Context.Tag("@logixjs/core/ConcurrencyPolicy")() {
939
+ var RuntimeStoreTag = class extends import_effect11.ServiceMap.Service()("@logixjs/core/RuntimeStore") {
339
940
  };
340
- var ConcurrencyPolicyOverridesTagImpl = class extends import_effect6.Context.Tag("@logixjs/core/ConcurrencyPolicyOverrides")() {
941
+ var runtimeStoreLayer = import_effect11.Layer.effect(
942
+ RuntimeStoreTag,
943
+ import_effect11.Effect.acquireRelease(
944
+ import_effect11.Effect.sync(() => makeRuntimeStore()),
945
+ (store) => import_effect11.Effect.sync(() => store.dispose())
946
+ )
947
+ );
948
+ var HostSchedulerTag = class extends import_effect11.ServiceMap.Service()("@logixjs/core/HostScheduler") {
949
+ };
950
+ var hostSchedulerLayer = import_effect11.Layer.succeed(
951
+ HostSchedulerTag,
952
+ getGlobalHostScheduler()
953
+ );
954
+ var DeclarativeLinkRuntimeTag = class extends import_effect11.ServiceMap.Service()("@logixjs/core/DeclarativeLinkRuntime") {
955
+ };
956
+ var declarativeLinkRuntimeLayer = import_effect11.Layer.succeed(
957
+ DeclarativeLinkRuntimeTag,
958
+ makeDeclarativeLinkRuntime()
959
+ );
960
+ var TickSchedulerTag = class extends import_effect11.ServiceMap.Service()("@logixjs/core/TickScheduler") {
341
961
  };
342
962
 
343
963
  // src/Debug.ts
344
964
  var record2 = record;
345
965
 
346
966
  // src/Middleware.ts
347
- var makeDebugLogger = (config) => (op) => import_effect8.Effect.gen(function* () {
967
+ var makeDebugLogger = (config) => (op) => import_effect13.Effect.gen(function* () {
348
968
  if (op.meta?.policy?.disableObservers) {
349
969
  return yield* op.effect;
350
970
  }
351
971
  if (config?.logger) {
352
972
  config.logger(op);
353
973
  } else {
354
- yield* import_effect8.Effect.logDebug(`[EffectOp] kind=${op.kind} name=${op.name}`);
974
+ yield* import_effect13.Effect.logDebug(`[EffectOp] kind=${op.kind} name=${op.name}`);
355
975
  }
356
976
  return yield* op.effect;
357
977
  });
@@ -359,7 +979,7 @@ var applyDebug = (stack, config) => [
359
979
  ...stack,
360
980
  makeDebugLogger(config)
361
981
  ];
362
- var makeDebugObserver = (config) => (op) => import_effect8.Effect.gen(function* () {
982
+ var makeDebugObserver = (config) => (op) => import_effect13.Effect.gen(function* () {
363
983
  if (op.meta?.policy?.disableObservers) {
364
984
  return yield* op.effect;
365
985
  }