@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
package/dist/Resource.cjs CHANGED
@@ -25,15 +25,758 @@ __export(Resource_exports, {
25
25
  internal: () => internal2,
26
26
  keyHash: () => keyHash2,
27
27
  layer: () => layer2,
28
- make: () => make2
28
+ make: () => make3
29
29
  });
30
30
  module.exports = __toCommonJS(Resource_exports);
31
31
 
32
32
  // src/internal/resource.ts
33
- var import_effect2 = require("effect");
33
+ var import_effect10 = require("effect");
34
34
 
35
35
  // src/internal/runtime/core/env.ts
36
+ var import_effect9 = require("effect");
37
+
38
+ // src/internal/runtime/core/HostScheduler.ts
39
+ var noopCancel = () => {
40
+ };
41
+ var safeNowMs = () => {
42
+ const perf = globalThis.performance;
43
+ if (perf && typeof perf.now === "function") {
44
+ try {
45
+ const v = perf.now();
46
+ if (typeof v === "number" && Number.isFinite(v)) return v;
47
+ } catch {
48
+ }
49
+ }
50
+ return Date.now();
51
+ };
52
+ var safeQueueMicrotask = (cb) => {
53
+ const qm = globalThis.queueMicrotask;
54
+ if (typeof qm === "function") {
55
+ try {
56
+ qm(cb);
57
+ return;
58
+ } catch {
59
+ }
60
+ }
61
+ try {
62
+ Promise.resolve().then(cb);
63
+ } catch {
64
+ setTimeout(cb, 0);
65
+ }
66
+ };
67
+ var safeSetTimeout = (ms, cb) => {
68
+ const id = setTimeout(cb, ms);
69
+ return () => {
70
+ try {
71
+ clearTimeout(id);
72
+ } catch {
73
+ }
74
+ };
75
+ };
76
+ var makeMessageChannelMacrotask = () => {
77
+ const MC = globalThis.MessageChannel;
78
+ if (typeof MC !== "function") return void 0;
79
+ let channel;
80
+ try {
81
+ channel = new MC();
82
+ } catch {
83
+ return void 0;
84
+ }
85
+ const queue = [];
86
+ let scheduled = false;
87
+ const flush = () => {
88
+ scheduled = false;
89
+ const tasks = queue.splice(0, queue.length);
90
+ for (const t of tasks) {
91
+ if (t.canceled) continue;
92
+ try {
93
+ t.cb();
94
+ } catch {
95
+ }
96
+ }
97
+ };
98
+ try {
99
+ channel.port1.onmessage = flush;
100
+ } catch {
101
+ return void 0;
102
+ }
103
+ const schedule = (cb) => {
104
+ const task = { canceled: false, cb };
105
+ queue.push(task);
106
+ if (!scheduled) {
107
+ scheduled = true;
108
+ try {
109
+ channel.port2.postMessage(void 0);
110
+ } catch {
111
+ scheduled = false;
112
+ return safeSetTimeout(0, cb);
113
+ }
114
+ }
115
+ return () => {
116
+ task.canceled = true;
117
+ };
118
+ };
119
+ return schedule;
120
+ };
121
+ var makeSetImmediateMacrotask = () => {
122
+ const si = globalThis.setImmediate;
123
+ const ci = globalThis.clearImmediate;
124
+ if (typeof si !== "function") return void 0;
125
+ return (cb) => {
126
+ let id;
127
+ try {
128
+ id = si(cb);
129
+ } catch {
130
+ return safeSetTimeout(0, cb);
131
+ }
132
+ return () => {
133
+ if (typeof ci !== "function") return;
134
+ try {
135
+ ci(id);
136
+ } catch {
137
+ }
138
+ };
139
+ };
140
+ };
141
+ var makeRaf = () => {
142
+ const raf = globalThis.requestAnimationFrame;
143
+ const cancel = globalThis.cancelAnimationFrame;
144
+ if (typeof raf !== "function") return void 0;
145
+ return (cb) => {
146
+ let id;
147
+ try {
148
+ id = raf(cb);
149
+ } catch {
150
+ return noopCancel;
151
+ }
152
+ return () => {
153
+ if (typeof cancel !== "function") return;
154
+ try {
155
+ cancel(id);
156
+ } catch {
157
+ }
158
+ };
159
+ };
160
+ };
161
+ var makeDefaultHostScheduler = () => {
162
+ const macrotask = makeSetImmediateMacrotask() ?? makeMessageChannelMacrotask() ?? ((cb) => safeSetTimeout(0, cb));
163
+ const raf = makeRaf();
164
+ return {
165
+ nowMs: safeNowMs,
166
+ scheduleMicrotask: safeQueueMicrotask,
167
+ scheduleMacrotask: macrotask,
168
+ scheduleAnimationFrame: (cb) => raf?.(cb) ?? macrotask(cb),
169
+ scheduleTimeout: safeSetTimeout
170
+ };
171
+ };
172
+ var globalHostScheduler;
173
+ var getGlobalHostScheduler = () => {
174
+ globalHostScheduler ?? (globalHostScheduler = makeDefaultHostScheduler());
175
+ return globalHostScheduler;
176
+ };
177
+
178
+ // src/internal/runtime/core/RuntimeStore.ts
179
+ var parseTopicKey = (topicKey) => {
180
+ const idx = topicKey.indexOf("::");
181
+ if (idx <= 0) return void 0;
182
+ const moduleId = topicKey.slice(0, idx);
183
+ const rest = topicKey.slice(idx + 2);
184
+ if (rest.length === 0) return void 0;
185
+ const idx2 = rest.indexOf("::");
186
+ if (idx2 < 0) {
187
+ return { kind: "module", moduleInstanceKey: `${moduleId}::${rest}` };
188
+ }
189
+ const instanceId = rest.slice(0, idx2);
190
+ const suffix = rest.slice(idx2 + 2);
191
+ if (suffix.startsWith("rq:")) {
192
+ const selectorId = suffix.slice("rq:".length);
193
+ if (selectorId.length === 0) return void 0;
194
+ return {
195
+ kind: "readQuery",
196
+ moduleInstanceKey: `${moduleId}::${instanceId}`,
197
+ selectorId
198
+ };
199
+ }
200
+ return { kind: "module", moduleInstanceKey: `${moduleId}::${instanceId}` };
201
+ };
202
+ var EMPTY_LISTENER_SNAPSHOT = [];
203
+ var NO_CHANGED_TOPIC_LISTENERS = [];
204
+ var makeRuntimeStore = () => {
205
+ let tickSeq = 0;
206
+ const moduleStates = /* @__PURE__ */ new Map();
207
+ const topicVersions = /* @__PURE__ */ new Map();
208
+ const topicPriorities = /* @__PURE__ */ new Map();
209
+ const listenersByTopic = /* @__PURE__ */ new Map();
210
+ const subscriberCountByModule = /* @__PURE__ */ new Map();
211
+ const getTopicVersion = (topicKey) => topicVersions.get(topicKey) ?? 0;
212
+ const getTopicPriority = (topicKey) => topicPriorities.get(topicKey) ?? "normal";
213
+ const commitTopicBump = (topicKey, priority) => {
214
+ const prev = topicVersions.get(topicKey) ?? 0;
215
+ topicVersions.set(topicKey, prev + 1);
216
+ topicPriorities.set(topicKey, priority);
217
+ };
218
+ const refreshTopicSnapshot = (state) => {
219
+ state.snapshot = Array.from(state.listeners);
220
+ };
221
+ const subscribeTopic = (topicKey, listener) => {
222
+ const info = parseTopicKey(topicKey);
223
+ const existing = listenersByTopic.get(topicKey);
224
+ const state = existing ?? { listeners: /* @__PURE__ */ new Set(), snapshot: EMPTY_LISTENER_SNAPSHOT };
225
+ const alreadyHas = state.listeners.has(listener);
226
+ if (!alreadyHas) {
227
+ state.listeners.add(listener);
228
+ refreshTopicSnapshot(state);
229
+ }
230
+ if (!existing) {
231
+ listenersByTopic.set(topicKey, state);
232
+ }
233
+ if (!alreadyHas && info) {
234
+ const prev = subscriberCountByModule.get(info.moduleInstanceKey) ?? 0;
235
+ subscriberCountByModule.set(info.moduleInstanceKey, prev + 1);
236
+ }
237
+ return () => {
238
+ const currentState = listenersByTopic.get(topicKey);
239
+ if (!currentState) return;
240
+ const deleted = currentState.listeners.delete(listener);
241
+ if (deleted && info) {
242
+ const prev = subscriberCountByModule.get(info.moduleInstanceKey) ?? 0;
243
+ const next = prev - 1;
244
+ if (next <= 0) {
245
+ subscriberCountByModule.delete(info.moduleInstanceKey);
246
+ } else {
247
+ subscriberCountByModule.set(info.moduleInstanceKey, next);
248
+ }
249
+ }
250
+ if (currentState.listeners.size === 0) {
251
+ listenersByTopic.delete(topicKey);
252
+ } else if (deleted) {
253
+ refreshTopicSnapshot(currentState);
254
+ }
255
+ };
256
+ };
257
+ const getTopicSubscriberCount = (topicKey) => listenersByTopic.get(topicKey)?.listeners.size ?? 0;
258
+ const getModuleSubscriberCount = (moduleInstanceKey) => subscriberCountByModule.get(moduleInstanceKey) ?? 0;
259
+ const registerModuleInstance = (args) => {
260
+ moduleStates.set(args.moduleInstanceKey, args.initialState);
261
+ if (!topicVersions.has(args.moduleInstanceKey)) {
262
+ topicVersions.set(args.moduleInstanceKey, 0);
263
+ topicPriorities.set(args.moduleInstanceKey, "normal");
264
+ }
265
+ };
266
+ const unregisterModuleInstance = (moduleInstanceKey) => {
267
+ moduleStates.delete(moduleInstanceKey);
268
+ };
269
+ const commitTick = (args) => {
270
+ tickSeq = args.tickSeq;
271
+ for (const [key, commit] of args.accepted.modules) {
272
+ moduleStates.set(key, commit.state);
273
+ }
274
+ if (args.accepted.dirtyTopics.size === 0) {
275
+ return {
276
+ changedTopicListeners: NO_CHANGED_TOPIC_LISTENERS
277
+ };
278
+ }
279
+ if (args.onListener) {
280
+ let firstTopicListeners;
281
+ let secondTopicListeners;
282
+ let restTopicListeners;
283
+ for (const [topicKey, priority] of args.accepted.dirtyTopics) {
284
+ commitTopicBump(topicKey, priority);
285
+ const listeners = listenersByTopic.get(topicKey)?.snapshot ?? EMPTY_LISTENER_SNAPSHOT;
286
+ if (listeners.length === 0) {
287
+ continue;
288
+ }
289
+ if (!firstTopicListeners) {
290
+ firstTopicListeners = listeners;
291
+ continue;
292
+ }
293
+ if (!secondTopicListeners) {
294
+ secondTopicListeners = listeners;
295
+ continue;
296
+ }
297
+ if (!restTopicListeners) {
298
+ restTopicListeners = [];
299
+ }
300
+ restTopicListeners.push(listeners);
301
+ }
302
+ if (firstTopicListeners) {
303
+ for (const listener of firstTopicListeners) {
304
+ try {
305
+ args.onListener(listener);
306
+ } catch {
307
+ }
308
+ }
309
+ }
310
+ if (secondTopicListeners) {
311
+ for (const listener of secondTopicListeners) {
312
+ try {
313
+ args.onListener(listener);
314
+ } catch {
315
+ }
316
+ }
317
+ }
318
+ if (restTopicListeners) {
319
+ for (const listeners of restTopicListeners) {
320
+ for (const listener of listeners) {
321
+ try {
322
+ args.onListener(listener);
323
+ } catch {
324
+ }
325
+ }
326
+ }
327
+ }
328
+ return {
329
+ changedTopicListeners: NO_CHANGED_TOPIC_LISTENERS
330
+ };
331
+ }
332
+ let singleTopicListeners;
333
+ let flattenedTopicListeners;
334
+ for (const [topicKey, priority] of args.accepted.dirtyTopics) {
335
+ commitTopicBump(topicKey, priority);
336
+ const listeners = listenersByTopic.get(topicKey)?.snapshot ?? EMPTY_LISTENER_SNAPSHOT;
337
+ if (listeners.length === 0) {
338
+ continue;
339
+ }
340
+ if (flattenedTopicListeners) {
341
+ for (const listener of listeners) {
342
+ flattenedTopicListeners.push(listener);
343
+ }
344
+ continue;
345
+ }
346
+ if (!singleTopicListeners) {
347
+ singleTopicListeners = listeners;
348
+ continue;
349
+ }
350
+ flattenedTopicListeners = Array.from(singleTopicListeners);
351
+ for (const listener of listeners) {
352
+ flattenedTopicListeners.push(listener);
353
+ }
354
+ }
355
+ return {
356
+ changedTopicListeners: flattenedTopicListeners ?? singleTopicListeners ?? NO_CHANGED_TOPIC_LISTENERS
357
+ };
358
+ };
359
+ const getModuleState = (moduleInstanceKey) => moduleStates.get(moduleInstanceKey);
360
+ const dispose = () => {
361
+ moduleStates.clear();
362
+ topicVersions.clear();
363
+ topicPriorities.clear();
364
+ listenersByTopic.clear();
365
+ subscriberCountByModule.clear();
366
+ };
367
+ return {
368
+ getTickSeq: () => tickSeq,
369
+ getModuleState,
370
+ getTopicVersion,
371
+ getTopicPriority,
372
+ subscribeTopic,
373
+ getTopicSubscriberCount,
374
+ getModuleSubscriberCount,
375
+ registerModuleInstance,
376
+ unregisterModuleInstance,
377
+ commitTick,
378
+ dispose
379
+ };
380
+ };
381
+
382
+ // src/internal/runtime/core/TickScheduler.ts
383
+ var import_effect7 = require("effect");
384
+
385
+ // src/internal/runtime/core/DebugSink.record.ts
386
+ var import_effect3 = require("effect");
387
+
388
+ // src/internal/observability/jsonValue.ts
389
+ var defaultOptions = {
390
+ maxDepth: 6,
391
+ maxObjectKeys: 32,
392
+ maxArrayLength: 32,
393
+ maxStringLength: 256,
394
+ maxJsonBytes: 4 * 1024,
395
+ oversizedPreviewBytes: 256
396
+ };
397
+
398
+ // src/internal/runtime/core/errorSummary.ts
36
399
  var import_effect = require("effect");
400
+
401
+ // src/internal/runtime/core/EffectOpCore.ts
402
+ var import_effect2 = require("effect");
403
+ var currentLinkId = import_effect2.ServiceMap.Reference("@logixjs/core/CurrentLinkId", {
404
+ defaultValue: () => void 0
405
+ });
406
+ var EffectOpMiddlewareTag = class extends import_effect2.ServiceMap.Service()("Logix/EffectOpMiddleware") {
407
+ };
408
+
409
+ // src/internal/runtime/core/DebugSink.record.ts
410
+ var currentDebugSinks = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentDebugSinks", {
411
+ defaultValue: () => []
412
+ });
413
+ var currentRuntimeLabel = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentRuntimeLabel", {
414
+ defaultValue: () => void 0
415
+ });
416
+ var currentTxnId = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentTxnId", {
417
+ defaultValue: () => void 0
418
+ });
419
+ var currentOpSeq = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentOpSeq", {
420
+ defaultValue: () => void 0
421
+ });
422
+ var currentDiagnosticsLevel = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentDiagnosticsLevel", {
423
+ defaultValue: () => "off"
424
+ });
425
+ var currentDiagnosticsMaterialization = import_effect3.ServiceMap.Reference(
426
+ "@logixjs/core/Debug.currentDiagnosticsMaterialization",
427
+ {
428
+ defaultValue: () => "eager"
429
+ }
430
+ );
431
+ var currentTraceMode = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentTraceMode", {
432
+ defaultValue: () => "on"
433
+ });
434
+ var currentTraitConvergeDiagnosticsSampling = import_effect3.ServiceMap.Reference(
435
+ "@logixjs/core/Debug.currentTraitConvergeDiagnosticsSampling",
436
+ {
437
+ defaultValue: () => ({
438
+ sampleEveryN: 32,
439
+ topK: 3
440
+ })
441
+ }
442
+ );
443
+ var browserLifecycleSeen = /* @__PURE__ */ new Set();
444
+ var browserDiagnosticSeen = /* @__PURE__ */ new Set();
445
+ var lifecycleErrorLog = (event) => {
446
+ const moduleId = event.moduleId ?? "unknown";
447
+ const causePretty = (() => {
448
+ try {
449
+ return import_effect3.Cause.pretty(event.cause);
450
+ } catch {
451
+ try {
452
+ return JSON.stringify(event.cause, null, 2);
453
+ } catch {
454
+ return String(event.cause);
455
+ }
456
+ }
457
+ })();
458
+ const message = `[Logix][module=${moduleId}] lifecycle:error
459
+ ${causePretty}`;
460
+ return import_effect3.Effect.logError(message).pipe(
461
+ import_effect3.Effect.annotateLogs({
462
+ "logix.moduleId": moduleId,
463
+ "logix.event": "lifecycle:error",
464
+ "logix.cause": causePretty
465
+ })
466
+ );
467
+ };
468
+ var diagnosticLog = (event) => {
469
+ const moduleId = event.moduleId ?? "unknown";
470
+ const header = `[Logix][module=${moduleId}] diagnostic(${event.severity})`;
471
+ const detail = `code=${event.code} message=${event.message}${event.actionTag ? ` action=${event.actionTag}` : ""}${event.hint ? `
472
+ hint: ${event.hint}` : ""}`;
473
+ const msg = `${header}
474
+ ${detail}`;
475
+ const base = event.severity === "warning" ? import_effect3.Effect.logWarning(msg) : event.severity === "info" ? import_effect3.Effect.logInfo(msg) : import_effect3.Effect.logError(msg);
476
+ const annotations = {
477
+ "logix.moduleId": moduleId,
478
+ "logix.event": `diagnostic(${event.severity})`,
479
+ "logix.diagnostic.code": event.code,
480
+ "logix.diagnostic.message": event.message
481
+ };
482
+ if (event.hint) {
483
+ annotations["logix.diagnostic.hint"] = event.hint;
484
+ }
485
+ if (event.actionTag) {
486
+ annotations["logix.diagnostic.actionTag"] = event.actionTag;
487
+ }
488
+ return base.pipe(import_effect3.Effect.annotateLogs(annotations));
489
+ };
490
+ var noopLayer = import_effect3.Layer.succeed(currentDebugSinks, []);
491
+ var errorOnlySink = {
492
+ record: (event) => event.type === "lifecycle:error" ? lifecycleErrorLog(event) : event.type === "diagnostic" && event.severity !== "info" ? diagnosticLog(event) : import_effect3.Effect.void
493
+ };
494
+ var errorOnlyLayer = import_effect3.Layer.succeed(currentDebugSinks, [errorOnlySink]);
495
+ var consoleSink = {
496
+ record: (event) => event.type === "lifecycle:error" ? lifecycleErrorLog(event) : event.type === "diagnostic" ? diagnosticLog(event) : import_effect3.Effect.logDebug({ debugEvent: event })
497
+ };
498
+ var consoleLayer = import_effect3.Layer.succeed(currentDebugSinks, [consoleSink]);
499
+ var isBrowser = typeof window !== "undefined" && typeof document !== "undefined";
500
+ var renderBrowserConsoleEvent = (event) => {
501
+ if (typeof event.type === "string" && event.type.startsWith("trace:")) {
502
+ const moduleId = event.moduleId ?? "unknown";
503
+ const type = event.type;
504
+ return import_effect3.Effect.sync(() => {
505
+ console.groupCollapsed(
506
+ "%c[Logix]%c trace %c" + moduleId + "%c " + String(type),
507
+ "color:#6b7280;font-weight:bold",
508
+ // tag
509
+ "color:#3b82f6",
510
+ // label
511
+ "color:#9ca3af",
512
+ // module id
513
+ "color:#6b7280"
514
+ // type
515
+ );
516
+ console.log(event);
517
+ console.groupEnd();
518
+ });
519
+ }
520
+ if (event.type === "lifecycle:error") {
521
+ const moduleId = event.moduleId ?? "unknown";
522
+ const causePretty = (() => {
523
+ try {
524
+ return import_effect3.Cause.pretty(event.cause);
525
+ } catch {
526
+ try {
527
+ return JSON.stringify(event.cause, null, 2);
528
+ } catch {
529
+ return String(event.cause);
530
+ }
531
+ }
532
+ })();
533
+ const key = `${moduleId}|${causePretty}`;
534
+ if (browserLifecycleSeen.has(key)) {
535
+ return import_effect3.Effect.void;
536
+ }
537
+ browserLifecycleSeen.add(key);
538
+ return import_effect3.Effect.sync(() => {
539
+ console.groupCollapsed(
540
+ "%c[Logix]%c lifecycle:error %c" + moduleId,
541
+ "color:#ef4444;font-weight:bold",
542
+ // tag
543
+ "color:#ef4444",
544
+ // label
545
+ "color:#9ca3af"
546
+ // module id
547
+ );
548
+ console.error(causePretty);
549
+ console.groupEnd();
550
+ });
551
+ }
552
+ if (event.type === "diagnostic") {
553
+ const moduleId = event.moduleId ?? "unknown";
554
+ const detail = `code=${event.code} message=${event.message}${event.actionTag ? ` action=${event.actionTag}` : ""}${event.hint ? `
555
+ hint: ${event.hint}` : ""}`;
556
+ const color = event.severity === "warning" ? "color:#d97706" : event.severity === "info" ? "color:#3b82f6" : "color:#ef4444";
557
+ const label = event.severity === "warning" ? "diagnostic(warning)" : event.severity === "info" ? "diagnostic(info)" : "diagnostic(error)";
558
+ const key = `${moduleId}|${event.code}|${event.message}`;
559
+ if (browserDiagnosticSeen.has(key)) {
560
+ return import_effect3.Effect.void;
561
+ }
562
+ browserDiagnosticSeen.add(key);
563
+ return import_effect3.Effect.sync(() => {
564
+ console.groupCollapsed(
565
+ "%c[Logix]%c " + label + "%c module=" + moduleId,
566
+ "color:#6b7280;font-weight:bold",
567
+ color,
568
+ "color:#9ca3af"
569
+ );
570
+ if (event.severity === "warning") {
571
+ console.warn(detail);
572
+ } else if (event.severity === "info") {
573
+ console.info(detail);
574
+ } else {
575
+ console.error(detail);
576
+ }
577
+ console.groupEnd();
578
+ });
579
+ }
580
+ return import_effect3.Effect.void;
581
+ };
582
+ var browserConsoleSink = {
583
+ record: (event) => {
584
+ if (!isBrowser) {
585
+ return event.type === "lifecycle:error" ? lifecycleErrorLog(event) : event.type === "diagnostic" ? diagnosticLog(event) : import_effect3.Effect.logDebug({ debugEvent: event });
586
+ }
587
+ return renderBrowserConsoleEvent(event);
588
+ }
589
+ };
590
+ var browserConsoleLayer = import_effect3.Layer.succeed(currentDebugSinks, [browserConsoleSink]);
591
+ var browserDiagnosticConsoleSink = {
592
+ record: (event) => {
593
+ if (!isBrowser) {
594
+ return event.type === "lifecycle:error" ? lifecycleErrorLog(event) : event.type === "diagnostic" && event.severity !== "info" ? diagnosticLog(event) : import_effect3.Effect.void;
595
+ }
596
+ return event.type === "lifecycle:error" || event.type === "diagnostic" && event.severity !== "info" ? renderBrowserConsoleEvent(event) : import_effect3.Effect.void;
597
+ }
598
+ };
599
+ var browserDiagnosticConsoleLayer = import_effect3.Layer.succeed(currentDebugSinks, [browserDiagnosticConsoleSink]);
600
+ var browserPrettyLoggerLayer = import_effect3.Layer.effect(
601
+ import_effect3.Logger.CurrentLoggers,
602
+ import_effect3.Effect.gen(function* () {
603
+ const current = yield* import_effect3.Effect.service(import_effect3.Logger.CurrentLoggers);
604
+ return new Set(
605
+ [...current].filter((logger) => logger !== import_effect3.Logger.defaultLogger).concat(import_effect3.Logger.consolePretty({ mode: "browser", colors: true }))
606
+ );
607
+ })
608
+ );
609
+
610
+ // src/internal/runtime/core/TaskRunner.ts
611
+ var import_effect6 = require("effect");
612
+
613
+ // src/internal/runtime/core/ModeRunner.ts
614
+ var import_effect5 = require("effect");
615
+
616
+ // src/internal/runtime/core/LatestFiberSlot.ts
617
+ var import_effect4 = require("effect");
618
+
619
+ // src/internal/runtime/core/TaskRunner.ts
620
+ var inSyncTransactionFiber = import_effect6.ServiceMap.Reference("@logixjs/core/TaskRunner.inSyncTransactionFiber", {
621
+ defaultValue: () => false
622
+ });
623
+ var forceSourceRefresh = import_effect6.ServiceMap.Reference("@logixjs/core/TaskRunner.forceSourceRefresh", {
624
+ defaultValue: () => false
625
+ });
626
+
627
+ // src/internal/runtime/core/DeclarativeLinkRuntime.ts
628
+ var import_effect8 = require("effect");
629
+ var makeDeclarativeLinkRuntime = () => {
630
+ const moduleAsSourceById = /* @__PURE__ */ new Map();
631
+ const moduleAsSourceIdsBySource = /* @__PURE__ */ new Map();
632
+ const declarativeById = /* @__PURE__ */ new Map();
633
+ const declarativeReadNodesBySource = /* @__PURE__ */ new Map();
634
+ const registerModuleAsSourceLink = (link) => {
635
+ const stored = {
636
+ ...link,
637
+ hasValue: false,
638
+ lastValue: void 0
639
+ };
640
+ moduleAsSourceById.set(link.id, stored);
641
+ const set = moduleAsSourceIdsBySource.get(link.sourceModuleInstanceKey) ?? /* @__PURE__ */ new Set();
642
+ set.add(link.id);
643
+ moduleAsSourceIdsBySource.set(link.sourceModuleInstanceKey, set);
644
+ return () => {
645
+ moduleAsSourceById.delete(link.id);
646
+ const current = moduleAsSourceIdsBySource.get(link.sourceModuleInstanceKey);
647
+ if (!current) return;
648
+ current.delete(link.id);
649
+ if (current.size === 0) {
650
+ moduleAsSourceIdsBySource.delete(link.sourceModuleInstanceKey);
651
+ }
652
+ };
653
+ };
654
+ const registerDeclarativeLink = (link) => {
655
+ const readNodeById = /* @__PURE__ */ new Map();
656
+ for (const n of link.readNodes) {
657
+ readNodeById.set(n.nodeId, n);
658
+ }
659
+ const dispatchNodeById = /* @__PURE__ */ new Map();
660
+ for (const n of link.dispatchNodes) {
661
+ dispatchNodeById.set(n.nodeId, n);
662
+ }
663
+ const incomingByDispatch = /* @__PURE__ */ new Map();
664
+ for (const e of link.ir.edges) {
665
+ const to = e.to;
666
+ const isDispatch = dispatchNodeById.has(to);
667
+ if (!isDispatch) continue;
668
+ incomingByDispatch.set(to, (incomingByDispatch.get(to) ?? 0) + 1);
669
+ const count = incomingByDispatch.get(to) ?? 0;
670
+ if (count > 1) {
671
+ throw new Error(
672
+ `[DeclarativeLinkRuntime] Invalid DeclarativeLinkIR: dispatch node has multiple incoming edges (linkId=${link.linkId}, nodeId=${to}).`
673
+ );
674
+ }
675
+ }
676
+ const dispatchTargetsByReadNode = /* @__PURE__ */ new Map();
677
+ for (const e of link.ir.edges) {
678
+ const from = e.from;
679
+ const to = e.to;
680
+ if (!readNodeById.has(from)) continue;
681
+ if (!dispatchNodeById.has(to)) continue;
682
+ const list = dispatchTargetsByReadNode.get(from) ?? [];
683
+ list.push(to);
684
+ dispatchTargetsByReadNode.set(from, list);
685
+ }
686
+ const stored = {
687
+ ...link,
688
+ readNodeById,
689
+ dispatchNodeById,
690
+ dispatchTargetsByReadNode,
691
+ readNodeState: /* @__PURE__ */ new Map()
692
+ };
693
+ declarativeById.set(link.linkId, stored);
694
+ for (const n of link.readNodes) {
695
+ const list = declarativeReadNodesBySource.get(n.moduleInstanceKey) ?? [];
696
+ list.push({ linkId: link.linkId, nodeId: n.nodeId });
697
+ declarativeReadNodesBySource.set(n.moduleInstanceKey, list);
698
+ }
699
+ return () => {
700
+ declarativeById.delete(link.linkId);
701
+ for (const n of link.readNodes) {
702
+ const list = declarativeReadNodesBySource.get(n.moduleInstanceKey);
703
+ if (!list) continue;
704
+ const next = list.filter((x) => !(x.linkId === link.linkId && x.nodeId === n.nodeId));
705
+ if (next.length === 0) {
706
+ declarativeReadNodesBySource.delete(n.moduleInstanceKey);
707
+ } else {
708
+ declarativeReadNodesBySource.set(n.moduleInstanceKey, next);
709
+ }
710
+ }
711
+ };
712
+ };
713
+ const applyForSources = (args) => import_effect8.Effect.gen(function* () {
714
+ let scheduled = false;
715
+ for (const sourceKey of args.changedModuleInstanceKeys) {
716
+ const ids = moduleAsSourceIdsBySource.get(sourceKey);
717
+ if (!ids || ids.size === 0) continue;
718
+ const commit = args.acceptedModules.get(sourceKey);
719
+ if (!commit) continue;
720
+ for (const id of ids) {
721
+ const link = moduleAsSourceById.get(id);
722
+ if (!link) continue;
723
+ let selected;
724
+ try {
725
+ selected = link.readQuery.select(commit.state);
726
+ } catch {
727
+ continue;
728
+ }
729
+ const nextValue = link.computeValue(selected);
730
+ if (link.hasValue && link.equalsValue(link.lastValue, nextValue)) {
731
+ continue;
732
+ }
733
+ link.hasValue = true;
734
+ link.lastValue = nextValue;
735
+ scheduled = true;
736
+ yield* link.applyValue(nextValue);
737
+ }
738
+ }
739
+ for (const sourceKey of args.changedModuleInstanceKeys) {
740
+ const refs = declarativeReadNodesBySource.get(sourceKey);
741
+ if (!refs || refs.length === 0) continue;
742
+ const commit = args.acceptedModules.get(sourceKey);
743
+ if (!commit) continue;
744
+ for (const ref of refs) {
745
+ const link = declarativeById.get(ref.linkId);
746
+ if (!link) continue;
747
+ const readNode = link.readNodeById.get(ref.nodeId);
748
+ if (!readNode) continue;
749
+ let value;
750
+ try {
751
+ value = readNode.readQuery.select(commit.state);
752
+ } catch {
753
+ continue;
754
+ }
755
+ const state = link.readNodeState.get(ref.nodeId) ?? { hasValue: false, lastValue: void 0 };
756
+ const changed = !state.hasValue || !Object.is(state.lastValue, value);
757
+ if (!changed) continue;
758
+ state.hasValue = true;
759
+ state.lastValue = value;
760
+ link.readNodeState.set(ref.nodeId, state);
761
+ const targets = link.dispatchTargetsByReadNode.get(ref.nodeId) ?? [];
762
+ for (const dispatchNodeId of targets) {
763
+ const node = link.dispatchNodeById.get(dispatchNodeId);
764
+ if (!node) continue;
765
+ scheduled = true;
766
+ yield* node.dispatch(value);
767
+ }
768
+ }
769
+ }
770
+ return { scheduled };
771
+ });
772
+ return {
773
+ registerModuleAsSourceLink,
774
+ registerDeclarativeLink,
775
+ applyForSources
776
+ };
777
+ };
778
+
779
+ // src/internal/runtime/core/env.ts
37
780
  var getNodeEnv = () => {
38
781
  try {
39
782
  const env = globalThis?.process?.env;
@@ -43,17 +786,40 @@ var getNodeEnv = () => {
43
786
  }
44
787
  };
45
788
  var isDevEnv = () => getNodeEnv() !== "production";
46
- var StateTransactionConfigTagImpl = class extends import_effect.Context.Tag("@logixjs/core/StateTransactionRuntimeConfig")() {
789
+ var StateTransactionConfigTagImpl = class extends import_effect9.ServiceMap.Service()("@logixjs/core/StateTransactionRuntimeConfig") {
790
+ };
791
+ var ReadQueryStrictGateConfigTagImpl = class extends import_effect9.ServiceMap.Service()("@logixjs/core/ReadQueryStrictGateRuntimeConfig") {
47
792
  };
48
- var ReadQueryStrictGateConfigTagImpl = class extends import_effect.Context.Tag("@logixjs/core/ReadQueryStrictGateRuntimeConfig")() {
793
+ var ReplayModeConfigTagImpl = class extends import_effect9.ServiceMap.Service()("@logixjs/core/ReplayModeConfig") {
49
794
  };
50
- var ReplayModeConfigTagImpl = class extends import_effect.Context.Tag("@logixjs/core/ReplayModeConfig")() {
795
+ var StateTransactionOverridesTagImpl = class extends import_effect9.ServiceMap.Service()("@logixjs/core/StateTransactionOverrides") {
51
796
  };
52
- var StateTransactionOverridesTagImpl = class extends import_effect.Context.Tag("@logixjs/core/StateTransactionOverrides")() {
797
+ var SchedulingPolicySurfaceTagImpl = class extends import_effect9.ServiceMap.Service()("@logixjs/core/SchedulingPolicySurface") {
53
798
  };
54
- var ConcurrencyPolicyTagImpl = class extends import_effect.Context.Tag("@logixjs/core/ConcurrencyPolicy")() {
799
+ var SchedulingPolicySurfaceOverridesTagImpl = class extends import_effect9.ServiceMap.Service()("@logixjs/core/SchedulingPolicySurfaceOverrides") {
55
800
  };
56
- var ConcurrencyPolicyOverridesTagImpl = class extends import_effect.Context.Tag("@logixjs/core/ConcurrencyPolicyOverrides")() {
801
+ var RuntimeStoreTag = class extends import_effect9.ServiceMap.Service()("@logixjs/core/RuntimeStore") {
802
+ };
803
+ var runtimeStoreLayer = import_effect9.Layer.effect(
804
+ RuntimeStoreTag,
805
+ import_effect9.Effect.acquireRelease(
806
+ import_effect9.Effect.sync(() => makeRuntimeStore()),
807
+ (store) => import_effect9.Effect.sync(() => store.dispose())
808
+ )
809
+ );
810
+ var HostSchedulerTag = class extends import_effect9.ServiceMap.Service()("@logixjs/core/HostScheduler") {
811
+ };
812
+ var hostSchedulerLayer = import_effect9.Layer.succeed(
813
+ HostSchedulerTag,
814
+ getGlobalHostScheduler()
815
+ );
816
+ var DeclarativeLinkRuntimeTag = class extends import_effect9.ServiceMap.Service()("@logixjs/core/DeclarativeLinkRuntime") {
817
+ };
818
+ var declarativeLinkRuntimeLayer = import_effect9.Layer.succeed(
819
+ DeclarativeLinkRuntimeTag,
820
+ makeDeclarativeLinkRuntime()
821
+ );
822
+ var TickSchedulerTag = class extends import_effect9.ServiceMap.Service()("@logixjs/core/TickScheduler") {
57
823
  };
58
824
 
59
825
  // src/internal/resource.ts
@@ -85,11 +851,11 @@ var stableStringify = (value) => {
85
851
  const obj = input;
86
852
  if (seen.has(obj)) return "__cycle__";
87
853
  seen.add(obj);
88
- const record = input;
89
- const keys = Object.keys(record).sort();
854
+ const record2 = input;
855
+ const keys = Object.keys(record2).sort();
90
856
  const out = {};
91
857
  for (const k of keys) {
92
- out[k] = encode(record[k]);
858
+ out[k] = encode(record2[k]);
93
859
  }
94
860
  return out;
95
861
  }
@@ -128,13 +894,13 @@ var Snapshot = {
128
894
  error: params.error
129
895
  })
130
896
  };
131
- var ResourceRegistryTag = class extends import_effect2.Context.Tag("@logixjs/core/ResourceRegistry")() {
897
+ var ResourceRegistryTag = class extends import_effect10.ServiceMap.Service()("@logixjs/core/ResourceRegistry") {
132
898
  };
133
899
  var internal = {
134
900
  ResourceRegistryTag
135
901
  };
136
- var make = (spec) => spec;
137
- var layer = (specs) => import_effect2.Layer.succeed(
902
+ var make2 = (spec) => spec;
903
+ var layer = (specs) => import_effect10.Layer.succeed(
138
904
  ResourceRegistryTag,
139
905
  (() => {
140
906
  const map = /* @__PURE__ */ new Map();
@@ -152,7 +918,7 @@ var layer = (specs) => import_effect2.Layer.succeed(
152
918
  var keyHash2 = keyHash;
153
919
  var Snapshot2 = Snapshot;
154
920
  var internal2 = internal;
155
- var make2 = make;
921
+ var make3 = make2;
156
922
  var layer2 = layer;
157
923
  // Annotate the CommonJS export names for ESM import in node:
158
924
  0 && (module.exports = {