@logixjs/core 0.0.1 → 0.0.2

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 (300) hide show
  1. package/LICENSE +201 -0
  2. package/dist/{Bound-BN1DQ_lM.d.ts → Bound-CEa1ihvH.d.ts} +2 -2
  3. package/dist/{Bound-BPIfH9SS.d.cts → Bound-CNLNkC7c.d.cts} +2 -2
  4. package/dist/Bound.cjs +620 -163
  5. package/dist/Bound.cjs.map +1 -1
  6. package/dist/Bound.d.cts +3 -3
  7. package/dist/Bound.d.ts +3 -3
  8. package/dist/Bound.js +14 -14
  9. package/dist/{Debug-Bq8Sqjcr.d.cts → Debug-BhMYr-1i.d.cts} +3 -3
  10. package/dist/{Debug-B5q5Bkzx.d.ts → Debug-ByM7m4Ft.d.ts} +3 -3
  11. package/dist/Debug.cjs +553 -32
  12. package/dist/Debug.cjs.map +1 -1
  13. package/dist/Debug.d.cts +10 -8
  14. package/dist/Debug.d.ts +10 -8
  15. package/dist/Debug.js +12 -10
  16. package/dist/EffectOp.cjs.map +1 -1
  17. package/dist/EffectOp.js +2 -3
  18. package/dist/EffectOp.js.map +1 -1
  19. package/dist/Env.cjs +664 -6
  20. package/dist/Env.cjs.map +1 -1
  21. package/dist/Env.js +5 -2
  22. package/dist/ExternalStore-BAz83PVq.d.cts +60 -0
  23. package/dist/ExternalStore-BYWPbYs8.d.ts +60 -0
  24. package/dist/ExternalStore.cjs +746 -0
  25. package/dist/ExternalStore.cjs.map +1 -0
  26. package/dist/ExternalStore.d.cts +4 -0
  27. package/dist/ExternalStore.d.ts +4 -0
  28. package/dist/ExternalStore.js +19 -0
  29. package/dist/ExternalStore.js.map +1 -0
  30. package/dist/{Flow-1fZT8MpX.d.cts → Flow-BlSoMmhV.d.cts} +2 -2
  31. package/dist/{Flow-BhpjE22E.d.ts → Flow-CQSGve5c.d.ts} +2 -2
  32. package/dist/Flow.cjs +2 -2
  33. package/dist/Flow.cjs.map +1 -1
  34. package/dist/Flow.d.cts +4 -4
  35. package/dist/Flow.d.ts +4 -4
  36. package/dist/Flow.js +7 -8
  37. package/dist/{Handle-D_cLW1Z3.d.ts → Handle-B7PSmsrY.d.ts} +1 -1
  38. package/dist/{Handle-D8D1zPb_.d.cts → Handle-ByovhL-c.d.cts} +1 -1
  39. package/dist/Handle.d.cts +3 -3
  40. package/dist/Handle.d.ts +3 -3
  41. package/dist/{Kernel-CnGE1Fyk.d.ts → Kernel-DGSpS4GM.d.ts} +2 -2
  42. package/dist/{Kernel-8kC-jOda.d.cts → Kernel-DZAk-Mrn.d.cts} +2 -2
  43. package/dist/Kernel.cjs +680 -22
  44. package/dist/Kernel.cjs.map +1 -1
  45. package/dist/Kernel.d.cts +10 -8
  46. package/dist/Kernel.d.ts +10 -8
  47. package/dist/Kernel.js +7 -4
  48. package/dist/{Link-Db7975nU.d.ts → Link-Cm4eR9n0.d.ts} +10 -3
  49. package/dist/{Link-fX8x1eCK.d.cts → Link-DF8i8iWR.d.cts} +10 -3
  50. package/dist/Link.cjs +1128 -86
  51. package/dist/Link.cjs.map +1 -1
  52. package/dist/Link.d.cts +3 -3
  53. package/dist/Link.d.ts +3 -3
  54. package/dist/Link.js +30 -25
  55. package/dist/{Logic-DRh4sDZj.d.cts → Logic-BcQA0AvE.d.cts} +1 -1
  56. package/dist/{Logic-BRjEMr-W.d.ts → Logic-OotSE1xw.d.ts} +1 -1
  57. package/dist/Logic.d.cts +3 -3
  58. package/dist/Logic.d.ts +3 -3
  59. package/dist/{MatchBuilder-CJk5oCkR.d.cts → MatchBuilder-BNDJ8waF.d.ts} +1 -1
  60. package/dist/{MatchBuilder-0QOc-nlU.d.ts → MatchBuilder-CvZ5WY1B.d.cts} +1 -1
  61. package/dist/MatchBuilder.d.cts +4 -4
  62. package/dist/MatchBuilder.d.ts +4 -4
  63. package/dist/Middleware-D8tUDLv_.d.cts +100 -0
  64. package/dist/Middleware-DS7CbTTN.d.ts +100 -0
  65. package/dist/Middleware.cjs +461 -13
  66. package/dist/Middleware.cjs.map +1 -1
  67. package/dist/Middleware.d.cts +2 -86
  68. package/dist/Middleware.d.ts +2 -86
  69. package/dist/Middleware.js +13 -11
  70. package/dist/{Module-DnzluX2J.d.ts → Module-CFj0I2yE.d.ts} +45 -18
  71. package/dist/{Module-B_0xRDMR.d.cts → Module-DpXPW9EQ.d.cts} +45 -18
  72. package/dist/Module.cjs +8583 -5741
  73. package/dist/Module.cjs.map +1 -1
  74. package/dist/Module.d.cts +5 -4
  75. package/dist/Module.d.ts +5 -4
  76. package/dist/Module.js +32 -27
  77. package/dist/ModuleTag-BcVF6z7B.d.ts +113 -0
  78. package/dist/ModuleTag-DuZXo_NS.d.cts +113 -0
  79. package/dist/ModuleTag.cjs +2609 -1232
  80. package/dist/ModuleTag.cjs.map +1 -1
  81. package/dist/ModuleTag.d.cts +4 -4
  82. package/dist/ModuleTag.d.ts +4 -4
  83. package/dist/ModuleTag.js +28 -25
  84. package/dist/{Observability-cY4kLn0S.d.ts → Observability-D-ZWeEVb.d.ts} +22 -15
  85. package/dist/{Observability-COqEvp2C.d.cts → Observability-V7sRMYTh.d.cts} +22 -15
  86. package/dist/Observability.cjs +1938 -640
  87. package/dist/Observability.cjs.map +1 -1
  88. package/dist/Observability.d.cts +4 -4
  89. package/dist/Observability.d.ts +4 -4
  90. package/dist/Observability.js +21 -19
  91. package/dist/{Process-mL8fHDSB.d.cts → Process-B55aJMFk.d.cts} +29 -4
  92. package/dist/{Process-CM9xbMdP.d.ts → Process-DvhFEwUS.d.ts} +29 -4
  93. package/dist/Process.cjs +1122 -85
  94. package/dist/Process.cjs.map +1 -1
  95. package/dist/Process.d.cts +4 -3
  96. package/dist/Process.d.ts +4 -3
  97. package/dist/Process.js +27 -22
  98. package/dist/{ReadQuery-BlMwhe-F.d.ts → ReadQuery-C4vZ8Prc.d.ts} +2 -2
  99. package/dist/{ReadQuery-SinbStGF.d.ts → ReadQuery-CafjlJQo.d.cts} +1 -1
  100. package/dist/{ReadQuery-SinbStGF.d.cts → ReadQuery-CafjlJQo.d.ts} +1 -1
  101. package/dist/{ReadQuery-CL5XlXts.d.cts → ReadQuery-mc0NgrFV.d.cts} +2 -2
  102. package/dist/ReadQuery.cjs +3 -3
  103. package/dist/ReadQuery.cjs.map +1 -1
  104. package/dist/ReadQuery.d.cts +2 -2
  105. package/dist/ReadQuery.d.ts +2 -2
  106. package/dist/ReadQuery.js +3 -3
  107. package/dist/{Reflection-CQnKwPXj.d.ts → Reflection-C8xZ267q.d.ts} +88 -7
  108. package/dist/{Reflection-Kabo1mlU.d.cts → Reflection-DP7Vsv3f.d.cts} +88 -7
  109. package/dist/Reflection.cjs +2934 -1553
  110. package/dist/Reflection.cjs.map +1 -1
  111. package/dist/Reflection.d.cts +14 -11
  112. package/dist/Reflection.d.ts +14 -11
  113. package/dist/Reflection.js +26 -21
  114. package/dist/Resource.cjs +670 -12
  115. package/dist/Resource.cjs.map +1 -1
  116. package/dist/Resource.js +6 -3
  117. package/dist/Root.cjs +675 -17
  118. package/dist/Root.cjs.map +1 -1
  119. package/dist/Root.js +7 -3
  120. package/dist/{Runtime-CtyzZG4i.d.ts → Runtime-BWc9YfUB.d.ts} +37 -7
  121. package/dist/{Runtime-B-aL-f29.d.cts → Runtime-PShIC4DW.d.cts} +37 -7
  122. package/dist/Runtime.cjs +1899 -809
  123. package/dist/Runtime.cjs.map +1 -1
  124. package/dist/Runtime.d.cts +14 -11
  125. package/dist/Runtime.d.ts +14 -11
  126. package/dist/Runtime.js +33 -28
  127. package/dist/ScopeRegistry.cjs +668 -10
  128. package/dist/ScopeRegistry.cjs.map +1 -1
  129. package/dist/ScopeRegistry.js +6 -3
  130. package/dist/{StateTrait-OWhbj12c.d.cts → StateTrait-CQsDlXJm.d.cts} +23 -6
  131. package/dist/{StateTrait-BGsZghTz.d.ts → StateTrait-YvJzVDKl.d.ts} +23 -6
  132. package/dist/StateTrait.cjs +1475 -370
  133. package/dist/StateTrait.cjs.map +1 -1
  134. package/dist/StateTrait.d.cts +7 -5
  135. package/dist/StateTrait.d.ts +7 -5
  136. package/dist/StateTrait.js +17 -14
  137. package/dist/{TraitLifecycle-LdIWmKlg.d.ts → TraitLifecycle-CjIBICAA.d.ts} +2 -2
  138. package/dist/{TraitLifecycle-CwV5WPFX.d.cts → TraitLifecycle-NmqGiXPC.d.cts} +2 -2
  139. package/dist/TraitLifecycle.cjs +489 -32
  140. package/dist/TraitLifecycle.cjs.map +1 -1
  141. package/dist/TraitLifecycle.d.cts +4 -4
  142. package/dist/TraitLifecycle.d.ts +4 -4
  143. package/dist/TraitLifecycle.js +7 -7
  144. package/dist/Workflow-BlFG_20_.d.cts +414 -0
  145. package/dist/Workflow-CW9S_aAP.d.ts +414 -0
  146. package/dist/Workflow.cjs +2977 -0
  147. package/dist/Workflow.cjs.map +1 -0
  148. package/dist/Workflow.d.cts +7 -0
  149. package/dist/Workflow.d.ts +7 -0
  150. package/dist/Workflow.js +55 -0
  151. package/dist/Workflow.js.map +1 -0
  152. package/dist/{chunk-G5ZBFPNU.js → chunk-2A4UKO2D.js} +2 -2
  153. package/dist/chunk-2DE6D42I.js +248 -0
  154. package/dist/chunk-2DE6D42I.js.map +1 -0
  155. package/dist/{chunk-ANLBCBDC.js → chunk-2DVLMSOE.js} +6 -6
  156. package/dist/{chunk-BE3HW4FY.js → chunk-34CF6OGE.js} +14 -16
  157. package/dist/chunk-34CF6OGE.js.map +1 -0
  158. package/dist/{chunk-ZFY7U2FR.js → chunk-3LPIXG56.js} +43 -3
  159. package/dist/chunk-3LPIXG56.js.map +1 -0
  160. package/dist/chunk-3VZYDNXZ.js +10 -0
  161. package/dist/chunk-3VZYDNXZ.js.map +1 -0
  162. package/dist/{chunk-3TMODYZV.js → chunk-3XO4HR6V.js} +2 -2
  163. package/dist/chunk-46FGVWRF.js +817 -0
  164. package/dist/chunk-46FGVWRF.js.map +1 -0
  165. package/dist/chunk-4LODUXFI.js +288 -0
  166. package/dist/chunk-4LODUXFI.js.map +1 -0
  167. package/dist/{chunk-GMPEOUP2.js → chunk-4MZ7BT3R.js} +2 -2
  168. package/dist/chunk-4MZ7BT3R.js.map +1 -0
  169. package/dist/{chunk-TKZ7MEIA.js → chunk-53GVPGSM.js} +2 -2
  170. package/dist/{chunk-KP7MUZNX.js → chunk-5W2V2NVJ.js} +2 -2
  171. package/dist/chunk-5W2V2NVJ.js.map +1 -0
  172. package/dist/chunk-6DACKW3D.js +613 -0
  173. package/dist/chunk-6DACKW3D.js.map +1 -0
  174. package/dist/chunk-AQ7L2QZ5.js +1395 -0
  175. package/dist/chunk-AQ7L2QZ5.js.map +1 -0
  176. package/dist/{chunk-NZJKFF45.js → chunk-C2UZZQ76.js} +2 -2
  177. package/dist/chunk-CCKP5Z6F.js +701 -0
  178. package/dist/chunk-CCKP5Z6F.js.map +1 -0
  179. package/dist/chunk-CUKM2XUW.js +27 -0
  180. package/dist/{chunk-QCHIQWAJ.js.map → chunk-CUKM2XUW.js.map} +1 -1
  181. package/dist/{chunk-M2RGJPXX.js → chunk-DBD6Q6JH.js} +3 -3
  182. package/dist/{chunk-ZGDVUPTM.js → chunk-EB4RGQO3.js} +2 -2
  183. package/dist/{chunk-PAYXCY6A.js → chunk-G7ESIQTI.js} +12 -14
  184. package/dist/chunk-G7ESIQTI.js.map +1 -0
  185. package/dist/chunk-GPBAZQ23.js +348 -0
  186. package/dist/chunk-GPBAZQ23.js.map +1 -0
  187. package/dist/{chunk-OFADUJWJ.js → chunk-I4LCE5OY.js} +3 -5
  188. package/dist/{chunk-OFADUJWJ.js.map → chunk-I4LCE5OY.js.map} +1 -1
  189. package/dist/{chunk-DFNM3WX2.js → chunk-IMCC6TBN.js} +158 -39
  190. package/dist/chunk-IMCC6TBN.js.map +1 -0
  191. package/dist/{chunk-76WT3HOR.js → chunk-IROZNQAF.js} +22 -21
  192. package/dist/chunk-IROZNQAF.js.map +1 -0
  193. package/dist/{chunk-TAAPQVZN.js → chunk-ISKNULNH.js} +2 -2
  194. package/dist/chunk-J3CWXIPV.js +242 -0
  195. package/dist/chunk-J3CWXIPV.js.map +1 -0
  196. package/dist/{chunk-PYOE4VSI.js → chunk-JBKYRTCS.js} +224 -161
  197. package/dist/chunk-JBKYRTCS.js.map +1 -0
  198. package/dist/{chunk-66ALHVEX.js → chunk-KKIAYH4X.js} +3 -3
  199. package/dist/{chunk-3RMKLXHX.js → chunk-KLDVG3SY.js} +2 -2
  200. package/dist/{chunk-BABLDP24.js → chunk-KSZQYSEH.js} +3 -3
  201. package/dist/chunk-KSZQYSEH.js.map +1 -0
  202. package/dist/{chunk-CW6T36TN.js → chunk-M3M7JFAH.js} +4 -4
  203. package/dist/chunk-M3M7JFAH.js.map +1 -0
  204. package/dist/{chunk-THATMZXD.js → chunk-MLB253V2.js} +2 -2
  205. package/dist/{chunk-THATMZXD.js.map → chunk-MLB253V2.js.map} +1 -1
  206. package/dist/{chunk-JGIWG6SR.js → chunk-MS77U77X.js} +664 -550
  207. package/dist/chunk-MS77U77X.js.map +1 -0
  208. package/dist/chunk-MW4FA3MW.js +23 -0
  209. package/dist/chunk-MW4FA3MW.js.map +1 -0
  210. package/dist/chunk-MYKNINNN.js +228 -0
  211. package/dist/chunk-MYKNINNN.js.map +1 -0
  212. package/dist/{chunk-4CQAV7YB.js → chunk-O6TTQXTY.js} +2 -2
  213. package/dist/{chunk-NBD3KUOZ.js → chunk-OJDJ4VDQ.js} +35 -24
  214. package/dist/chunk-OJDJ4VDQ.js.map +1 -0
  215. package/dist/{chunk-NQZ2OSGR.js → chunk-PVZEMNJY.js} +9 -9
  216. package/dist/chunk-PVZEMNJY.js.map +1 -0
  217. package/dist/chunk-RN26DV2M.js +271 -0
  218. package/dist/chunk-RN26DV2M.js.map +1 -0
  219. package/dist/{chunk-JCXGZRMU.js → chunk-RQQW3IQC.js} +3 -3
  220. package/dist/chunk-RQQW3IQC.js.map +1 -0
  221. package/dist/{chunk-24VULZ7A.js → chunk-TKOGZDD6.js} +3 -3
  222. package/dist/{chunk-EGK3KN7B.js → chunk-TQYLVXGY.js} +70 -39
  223. package/dist/chunk-TQYLVXGY.js.map +1 -0
  224. package/dist/{chunk-QMM6O4CD.js → chunk-UACD2CL2.js} +15 -3
  225. package/dist/{chunk-QMM6O4CD.js.map → chunk-UACD2CL2.js.map} +1 -1
  226. package/dist/{chunk-M3WTHJHJ.js → chunk-VH575UTV.js} +30 -34
  227. package/dist/chunk-VH575UTV.js.map +1 -0
  228. package/dist/{chunk-AUIR5O6W.js → chunk-WWBMC24F.js} +9 -15
  229. package/dist/chunk-WWBMC24F.js.map +1 -0
  230. package/dist/{chunk-JWOYLO27.js → chunk-WYJUJV4L.js} +80 -7
  231. package/dist/chunk-WYJUJV4L.js.map +1 -0
  232. package/dist/{chunk-EY4NZKDR.js → chunk-XFMMPYNU.js} +2 -2
  233. package/dist/chunk-Y4VRBIS6.js +35 -0
  234. package/dist/chunk-Y4VRBIS6.js.map +1 -0
  235. package/dist/{chunk-DMBALCE2.js → chunk-ZC7MSQ5U.js} +77 -4
  236. package/dist/chunk-ZC7MSQ5U.js.map +1 -0
  237. package/dist/{chunk-OGWBVHB3.js → chunk-ZCK6SCOE.js} +67 -8
  238. package/dist/chunk-ZCK6SCOE.js.map +1 -0
  239. package/dist/{chunk-IHVBV5C2.js → chunk-ZTFTABXV.js} +2 -1
  240. package/dist/chunk-ZTFTABXV.js.map +1 -0
  241. package/dist/index.cjs +9532 -5017
  242. package/dist/index.cjs.map +1 -1
  243. package/dist/index.d.cts +163 -27
  244. package/dist/index.d.ts +163 -27
  245. package/dist/index.js +119 -56
  246. package/dist/index.js.map +1 -1
  247. package/dist/{ir-BMP7yxJJ.d.cts → ir-C-Zm_GlZ.d.cts} +1 -1
  248. package/dist/{ir-DUOz6H-5.d.ts → ir-DGyGiwVe.d.ts} +1 -1
  249. package/dist/{module-k7m3txak.d.ts → module-DqQ1U-Me.d.ts} +129 -100
  250. package/dist/{module-B8CBqIZ_.d.cts → module-doenaCsZ.d.cts} +129 -100
  251. package/package.json +12 -1
  252. package/dist/ModuleTag-C8FHY_sY.d.ts +0 -93
  253. package/dist/ModuleTag-EGbgBMpZ.d.cts +0 -93
  254. package/dist/chunk-3QMIVH35.js +0 -43
  255. package/dist/chunk-3QMIVH35.js.map +0 -1
  256. package/dist/chunk-76WT3HOR.js.map +0 -1
  257. package/dist/chunk-AUIR5O6W.js.map +0 -1
  258. package/dist/chunk-BABLDP24.js.map +0 -1
  259. package/dist/chunk-BE3HW4FY.js.map +0 -1
  260. package/dist/chunk-CW6T36TN.js.map +0 -1
  261. package/dist/chunk-DFNM3WX2.js.map +0 -1
  262. package/dist/chunk-DMBALCE2.js.map +0 -1
  263. package/dist/chunk-EGK3KN7B.js.map +0 -1
  264. package/dist/chunk-GMPEOUP2.js.map +0 -1
  265. package/dist/chunk-IHVBV5C2.js.map +0 -1
  266. package/dist/chunk-JCXGZRMU.js.map +0 -1
  267. package/dist/chunk-JGIWG6SR.js.map +0 -1
  268. package/dist/chunk-JWOYLO27.js.map +0 -1
  269. package/dist/chunk-KIXAU3GM.js +0 -137
  270. package/dist/chunk-KIXAU3GM.js.map +0 -1
  271. package/dist/chunk-KP7MUZNX.js.map +0 -1
  272. package/dist/chunk-M3WTHJHJ.js.map +0 -1
  273. package/dist/chunk-M7IYCTJV.js +0 -79
  274. package/dist/chunk-M7IYCTJV.js.map +0 -1
  275. package/dist/chunk-NBD3KUOZ.js.map +0 -1
  276. package/dist/chunk-NQZ2OSGR.js.map +0 -1
  277. package/dist/chunk-OGWBVHB3.js.map +0 -1
  278. package/dist/chunk-PAYXCY6A.js.map +0 -1
  279. package/dist/chunk-PYOE4VSI.js.map +0 -1
  280. package/dist/chunk-QCHIQWAJ.js +0 -21
  281. package/dist/chunk-VZB726PE.js +0 -93
  282. package/dist/chunk-VZB726PE.js.map +0 -1
  283. package/dist/chunk-W3TEWHLO.js +0 -568
  284. package/dist/chunk-W3TEWHLO.js.map +0 -1
  285. package/dist/chunk-ZFLHVFUC.js +0 -192
  286. package/dist/chunk-ZFLHVFUC.js.map +0 -1
  287. package/dist/chunk-ZFY7U2FR.js.map +0 -1
  288. /package/dist/{chunk-G5ZBFPNU.js.map → chunk-2A4UKO2D.js.map} +0 -0
  289. /package/dist/{chunk-ANLBCBDC.js.map → chunk-2DVLMSOE.js.map} +0 -0
  290. /package/dist/{chunk-3TMODYZV.js.map → chunk-3XO4HR6V.js.map} +0 -0
  291. /package/dist/{chunk-TKZ7MEIA.js.map → chunk-53GVPGSM.js.map} +0 -0
  292. /package/dist/{chunk-NZJKFF45.js.map → chunk-C2UZZQ76.js.map} +0 -0
  293. /package/dist/{chunk-M2RGJPXX.js.map → chunk-DBD6Q6JH.js.map} +0 -0
  294. /package/dist/{chunk-ZGDVUPTM.js.map → chunk-EB4RGQO3.js.map} +0 -0
  295. /package/dist/{chunk-TAAPQVZN.js.map → chunk-ISKNULNH.js.map} +0 -0
  296. /package/dist/{chunk-66ALHVEX.js.map → chunk-KKIAYH4X.js.map} +0 -0
  297. /package/dist/{chunk-3RMKLXHX.js.map → chunk-KLDVG3SY.js.map} +0 -0
  298. /package/dist/{chunk-4CQAV7YB.js.map → chunk-O6TTQXTY.js.map} +0 -0
  299. /package/dist/{chunk-24VULZ7A.js.map → chunk-TKOGZDD6.js.map} +0 -0
  300. /package/dist/{chunk-EY4NZKDR.js.map → chunk-XFMMPYNU.js.map} +0 -0
@@ -0,0 +1,613 @@
1
+ import {
2
+ build,
3
+ installSourceRefresh,
4
+ onceInRunSession
5
+ } from "./chunk-JBKYRTCS.js";
6
+ import {
7
+ getAtPath,
8
+ setAtPathMutating
9
+ } from "./chunk-KSZQYSEH.js";
10
+ import {
11
+ exportStaticIr
12
+ } from "./chunk-3LPIXG56.js";
13
+ import {
14
+ sanitizeWithReport
15
+ } from "./chunk-J3CWXIPV.js";
16
+ import {
17
+ normalizeFieldPath
18
+ } from "./chunk-ZTFTABXV.js";
19
+ import {
20
+ getBoundInternals
21
+ } from "./chunk-KLDVG3SY.js";
22
+ import {
23
+ DeclarativeLinkRuntimeTag,
24
+ HostSchedulerTag,
25
+ inSyncTransactionFiber,
26
+ isDevEnv
27
+ } from "./chunk-AQ7L2QZ5.js";
28
+ import {
29
+ getExternalStoreDescriptor
30
+ } from "./chunk-MW4FA3MW.js";
31
+ import {
32
+ getGlobalHostScheduler
33
+ } from "./chunk-MYKNINNN.js";
34
+ import {
35
+ currentDiagnosticsLevel,
36
+ record
37
+ } from "./chunk-ZC7MSQ5U.js";
38
+ import {
39
+ __export
40
+ } from "./chunk-PZ5AY32C.js";
41
+
42
+ // src/StateTrait.ts
43
+ var StateTrait_exports = {};
44
+ __export(StateTrait_exports, {
45
+ $root: () => $root,
46
+ build: () => build2,
47
+ computed: () => computed,
48
+ exportStaticIr: () => exportStaticIr2,
49
+ externalStore: () => externalStore,
50
+ from: () => from,
51
+ install: () => install2,
52
+ link: () => link,
53
+ list: () => list,
54
+ node: () => node,
55
+ source: () => source
56
+ });
57
+
58
+ // src/internal/state-trait/install.ts
59
+ import { Effect as Effect3 } from "effect";
60
+
61
+ // src/internal/state-trait/external-store.ts
62
+ import { Context, Effect, FiberRef, Option } from "effect";
63
+ import { create } from "mutative";
64
+ var isFn = (value) => typeof value === "function";
65
+ var resolveStore = (entry) => Effect.gen(function* () {
66
+ const store = entry.meta?.store;
67
+ const descriptor = getExternalStoreDescriptor(store);
68
+ if (descriptor?.kind === "service") {
69
+ const service = yield* descriptor.tag;
70
+ return descriptor.map(service);
71
+ }
72
+ return store;
73
+ });
74
+ var installExternalStoreSync = (bound, step, entry) => Effect.gen(function* () {
75
+ const fieldPath = step.targetFieldPath;
76
+ if (!fieldPath) return;
77
+ const env = yield* Effect.context();
78
+ const hostSchedulerOpt = yield* Effect.serviceOption(HostSchedulerTag);
79
+ const hostScheduler = Option.isSome(hostSchedulerOpt) ? hostSchedulerOpt.value : getGlobalHostScheduler();
80
+ const microtask = Effect.async((resume2) => {
81
+ hostScheduler.scheduleMicrotask(() => resume2(Effect.void));
82
+ });
83
+ let internals;
84
+ try {
85
+ internals = getBoundInternals(bound);
86
+ } catch {
87
+ return;
88
+ }
89
+ const select = entry.meta?.select;
90
+ const equals = entry.meta?.equals;
91
+ const computeValue = (snapshot) => isFn(select) ? select(snapshot) : snapshot;
92
+ const isEqual = (a, b) => isFn(equals) ? equals(a, b) : Object.is(a, b);
93
+ const traitLane = entry.meta?.priority;
94
+ const rawStore = entry.meta?.store;
95
+ const rawDescriptor = getExternalStoreDescriptor(rawStore);
96
+ if (rawDescriptor?.kind === "module") {
97
+ const linkRuntimeOpt = yield* Effect.serviceOption(DeclarativeLinkRuntimeTag);
98
+ if (Option.isNone(linkRuntimeOpt)) {
99
+ return yield* Effect.dieMessage("[StateTrait.externalStore] Missing DeclarativeLinkRuntime service (073).");
100
+ }
101
+ const module = rawDescriptor.module;
102
+ const sourceRuntime = (() => {
103
+ if (module && typeof module === "object") {
104
+ const moduleId = module.moduleId;
105
+ const instanceId = module.instanceId;
106
+ const getState = module.getState;
107
+ if (typeof moduleId === "string" && moduleId.length > 0 && typeof instanceId === "string" && instanceId.length > 0 && getState) {
108
+ return module;
109
+ }
110
+ const tag = module.tag;
111
+ if (tag && Context.isTag(tag)) {
112
+ return internals.imports.get(tag);
113
+ }
114
+ if (Context.isTag(module)) {
115
+ return internals.imports.get(module);
116
+ }
117
+ }
118
+ return void 0;
119
+ })();
120
+ if (!sourceRuntime) {
121
+ return yield* Effect.dieMessage(
122
+ `[StateTrait.externalStore] Module-as-Source store is unresolved for "${fieldPath}". Fix: include the source ModuleTag in module imports (moduleId=${rawDescriptor.moduleId}).`
123
+ );
124
+ }
125
+ if (rawDescriptor.instanceId && rawDescriptor.instanceId !== sourceRuntime.instanceId) {
126
+ return yield* Effect.dieMessage(
127
+ `[StateTrait.externalStore] Module-as-Source instanceId mismatch for "${fieldPath}". descriptor.instanceId=${rawDescriptor.instanceId}, resolved.instanceId=${sourceRuntime.instanceId}`
128
+ );
129
+ }
130
+ if (sourceRuntime.moduleId !== rawDescriptor.moduleId) {
131
+ return yield* Effect.dieMessage(
132
+ `[StateTrait.externalStore] Module-as-Source moduleId mismatch for "${fieldPath}". descriptor.moduleId=${rawDescriptor.moduleId}, resolved.moduleId=${sourceRuntime.moduleId}`
133
+ );
134
+ }
135
+ const staticIr = rawDescriptor.readQuery.staticIr;
136
+ const isRecognizableStatic = staticIr.lane === "static" && staticIr.readsDigest != null && staticIr.fallbackReason == null;
137
+ if (!isRecognizableStatic) {
138
+ yield* record({
139
+ type: "diagnostic",
140
+ moduleId: internals.moduleId,
141
+ instanceId: internals.instanceId,
142
+ code: "external_store::module_source_degraded",
143
+ severity: "warning",
144
+ message: "[StateTrait.externalStore] Module-as-Source selector is not fully IR-recognizable; falling back to module-topic edge (may reduce perf).",
145
+ hint: "Fix: provide a static ReadQuery (ReadQuery.make) or annotate selector.fieldPaths to get a stable readsDigest; avoid dynamic lane.",
146
+ kind: "module_as_source_degraded",
147
+ trigger: {
148
+ kind: "trait",
149
+ name: "externalStore.moduleSource",
150
+ details: {
151
+ sourceModuleId: rawDescriptor.moduleId,
152
+ selectorId: staticIr.selectorId,
153
+ lane: staticIr.lane,
154
+ fallbackReason: staticIr.fallbackReason,
155
+ readsDigest: staticIr.readsDigest
156
+ }
157
+ }
158
+ });
159
+ }
160
+ const moduleInstanceKey = `${sourceRuntime.moduleId}::${sourceRuntime.instanceId}`;
161
+ const writeValue2 = (nextValue) => Effect.gen(function* () {
162
+ const inTxn = yield* FiberRef.get(inSyncTransactionFiber);
163
+ const body = Effect.gen(function* () {
164
+ const prevState = yield* bound.state.read;
165
+ const prevValue = getAtPath(prevState, fieldPath);
166
+ if (isEqual(prevValue, nextValue)) {
167
+ return;
168
+ }
169
+ const nextDraft = create(prevState, (draft) => {
170
+ setAtPathMutating(draft, fieldPath, nextValue);
171
+ });
172
+ const normalized = normalizeFieldPath(fieldPath) ?? [];
173
+ internals.txn.recordStatePatch(normalized, "trait-external-store", prevValue, nextValue, step.id);
174
+ internals.txn.updateDraft(nextDraft);
175
+ });
176
+ if (inTxn) {
177
+ return yield* body;
178
+ }
179
+ const stateCommitPriority = traitLane === "nonUrgent" ? "low" : "normal";
180
+ return yield* internals.txn.runWithStateTransaction(
181
+ {
182
+ kind: "trait-external-store",
183
+ name: fieldPath,
184
+ details: {
185
+ stateCommit: {
186
+ priority: stateCommitPriority
187
+ }
188
+ }
189
+ },
190
+ () => body.pipe(Effect.asVoid)
191
+ );
192
+ }).pipe(Effect.provide(env));
193
+ const unregister = linkRuntimeOpt.value.registerModuleAsSourceLink({
194
+ id: `${internals.instanceId}::externalStore:${step.id}`,
195
+ sourceModuleInstanceKey: moduleInstanceKey,
196
+ readQuery: rawDescriptor.readQuery,
197
+ computeValue,
198
+ equalsValue: isEqual,
199
+ applyValue: writeValue2
200
+ });
201
+ yield* Effect.addFinalizer(
202
+ () => Effect.sync(() => {
203
+ unregister();
204
+ })
205
+ );
206
+ const initialState = yield* sourceRuntime.getState;
207
+ const initialSelected = rawDescriptor.readQuery.select(initialState);
208
+ yield* writeValue2(computeValue(initialSelected));
209
+ return;
210
+ }
211
+ const store = rawDescriptor?.kind === "service" ? yield* resolveStore(entry) : rawStore;
212
+ if (!store || typeof store !== "object") {
213
+ return yield* Effect.dieMessage(
214
+ `[StateTrait.externalStore] Invalid store for "${fieldPath}". Expected { getSnapshot, subscribe }.`
215
+ );
216
+ }
217
+ if (!isFn(store.getSnapshot) || !isFn(store.subscribe)) {
218
+ return yield* Effect.dieMessage(
219
+ `[StateTrait.externalStore] Invalid store for "${fieldPath}". Expected { getSnapshot, subscribe }.`
220
+ );
221
+ }
222
+ let fused = false;
223
+ let fuseCause;
224
+ let fuseRecorded = false;
225
+ let pending = false;
226
+ let resume;
227
+ const recordFuseDiagnostic = Effect.gen(function* () {
228
+ if (fuseRecorded) return;
229
+ fuseRecorded = true;
230
+ const errorMessage = (() => {
231
+ if (fuseCause instanceof Error) return fuseCause.message;
232
+ if (typeof fuseCause === "string") return fuseCause;
233
+ return "unknown";
234
+ })();
235
+ yield* record({
236
+ type: "diagnostic",
237
+ moduleId: internals.moduleId,
238
+ instanceId: internals.instanceId,
239
+ code: "external_store::snapshot_threw",
240
+ severity: "warning",
241
+ message: `[StateTrait.externalStore] store.getSnapshot() threw; trait is fused and will stop syncing for "${fieldPath}".`,
242
+ hint: "Fix: ensure getSnapshot is synchronous and non-throwing; async resources should use StateTrait.source or ExternalStore.fromStream({ current/initial }).",
243
+ kind: "external_store_fused:get_snapshot",
244
+ trigger: {
245
+ kind: "trait",
246
+ name: "externalStore.getSnapshot",
247
+ details: {
248
+ fieldPath,
249
+ traitId: step.id,
250
+ storeKind: rawDescriptor?.kind ?? "raw",
251
+ error: errorMessage
252
+ }
253
+ }
254
+ });
255
+ });
256
+ const signal = () => {
257
+ if (fused) return;
258
+ if (resume) {
259
+ const r = resume;
260
+ pending = false;
261
+ r();
262
+ return;
263
+ }
264
+ pending = true;
265
+ };
266
+ const awaitSignal = () => {
267
+ if (pending) {
268
+ pending = false;
269
+ return Effect.void;
270
+ }
271
+ return Effect.async((resumeEffect, signal2) => {
272
+ let done = false;
273
+ const r = () => {
274
+ if (done) return;
275
+ done = true;
276
+ resume = void 0;
277
+ resumeEffect(Effect.void);
278
+ };
279
+ resume = r;
280
+ try {
281
+ signal2.addEventListener(
282
+ "abort",
283
+ () => {
284
+ if (resume === r) {
285
+ resume = void 0;
286
+ }
287
+ },
288
+ { once: true }
289
+ );
290
+ } catch {
291
+ }
292
+ });
293
+ };
294
+ const getSnapshotOrFuse = () => {
295
+ try {
296
+ return store.getSnapshot();
297
+ } catch (err) {
298
+ fused = true;
299
+ fuseCause = err;
300
+ return void 0;
301
+ }
302
+ };
303
+ const readSnapshotOrFuse = Effect.locally(inSyncTransactionFiber, false)(Effect.sync(getSnapshotOrFuse));
304
+ const before = yield* readSnapshotOrFuse;
305
+ if (fused) {
306
+ yield* recordFuseDiagnostic;
307
+ return;
308
+ }
309
+ const unsubscribe = store.subscribe(signal);
310
+ yield* Effect.addFinalizer(
311
+ () => Effect.sync(() => {
312
+ try {
313
+ unsubscribe?.();
314
+ } catch {
315
+ }
316
+ })
317
+ );
318
+ const after = yield* readSnapshotOrFuse;
319
+ if (fused) {
320
+ yield* recordFuseDiagnostic;
321
+ return;
322
+ }
323
+ const writeValue = (nextValue) => Effect.gen(function* () {
324
+ const inTxn = yield* FiberRef.get(inSyncTransactionFiber);
325
+ const body = Effect.gen(function* () {
326
+ const prevState = yield* bound.state.read;
327
+ const prevValue = getAtPath(prevState, fieldPath);
328
+ if (isEqual(prevValue, nextValue)) {
329
+ return;
330
+ }
331
+ const nextDraft = create(prevState, (draft) => {
332
+ setAtPathMutating(draft, fieldPath, nextValue);
333
+ });
334
+ const normalized = normalizeFieldPath(fieldPath) ?? [];
335
+ internals.txn.recordStatePatch(normalized, "trait-external-store", prevValue, nextValue, step.id);
336
+ internals.txn.updateDraft(nextDraft);
337
+ });
338
+ if (inTxn) {
339
+ return yield* body;
340
+ }
341
+ const stateCommitPriority = traitLane === "nonUrgent" ? "low" : "normal";
342
+ return yield* internals.txn.runWithStateTransaction(
343
+ {
344
+ kind: "trait-external-store",
345
+ name: fieldPath,
346
+ details: {
347
+ stateCommit: {
348
+ priority: stateCommitPriority
349
+ }
350
+ }
351
+ },
352
+ () => body.pipe(Effect.asVoid)
353
+ );
354
+ });
355
+ yield* writeValue(computeValue(after));
356
+ if (!isEqual(before, after)) {
357
+ signal();
358
+ }
359
+ yield* Effect.forkScoped(
360
+ Effect.locally(inSyncTransactionFiber, false)(
361
+ Effect.gen(function* () {
362
+ while (true) {
363
+ yield* awaitSignal();
364
+ if (fused) return;
365
+ yield* microtask;
366
+ if (fused) return;
367
+ const snapshot = yield* readSnapshotOrFuse;
368
+ if (fused) {
369
+ yield* recordFuseDiagnostic;
370
+ return;
371
+ }
372
+ yield* writeValue(computeValue(snapshot));
373
+ }
374
+ })
375
+ )
376
+ );
377
+ });
378
+
379
+ // src/internal/state-trait/meta-diagnostics.ts
380
+ import { Effect as Effect2, FiberRef as FiberRef2 } from "effect";
381
+ var formatList = (items, limit = 6) => {
382
+ if (!items || items.length === 0) return void 0;
383
+ if (items.length <= limit) return items.join(", ");
384
+ return `${items.slice(0, limit).join(", ")}, \u2026(+${items.length - limit})`;
385
+ };
386
+ var formatPart = (label, value) => {
387
+ if (value === void 0) return void 0;
388
+ return `${label}=${value}`;
389
+ };
390
+ var formatIssue = (issue) => {
391
+ const r = issue.report;
392
+ const parts = [];
393
+ if (r.invalidInput) parts.push("invalidInput=true");
394
+ const unknownKeys = formatList(r.unknownKeys, 6);
395
+ if (unknownKeys) {
396
+ parts.push(
397
+ `unknownKeys=[${unknownKeys}]${typeof r.unknownKeyCount === "number" && r.unknownKeyCount > r.unknownKeys.length ? ` total=${r.unknownKeyCount}` : ""}`
398
+ );
399
+ }
400
+ const droppedKeys = formatList(r.droppedKeys, 6);
401
+ if (droppedKeys) parts.push(`droppedKeys=[${droppedKeys}]`);
402
+ if (typeof r.droppedTagItems === "number" && r.droppedTagItems > 0) {
403
+ parts.push(`droppedTagItems=${r.droppedTagItems}`);
404
+ }
405
+ const ignoredAnnotationKeys = formatList(r.ignoredAnnotationKeys, 6);
406
+ if (ignoredAnnotationKeys) {
407
+ parts.push(
408
+ `ignoredAnnotationKeys=[${ignoredAnnotationKeys}]${typeof r.ignoredAnnotationKeyCount === "number" && r.ignoredAnnotationKeyCount > r.ignoredAnnotationKeys.length ? ` total=${r.ignoredAnnotationKeyCount}` : ""}`
409
+ );
410
+ }
411
+ const droppedAnnotationKeys = formatList(r.droppedAnnotationKeys, 6);
412
+ if (droppedAnnotationKeys) {
413
+ parts.push(
414
+ `droppedAnnotationKeys=[${droppedAnnotationKeys}]${typeof r.droppedAnnotationKeyCount === "number" && r.droppedAnnotationKeyCount > r.droppedAnnotationKeys.length ? ` total=${r.droppedAnnotationKeyCount}` : ""}`
415
+ );
416
+ }
417
+ const droppedValues = formatPart("droppedAnnotationValues", r.droppedAnnotationValues);
418
+ if (droppedValues) parts.push(droppedValues);
419
+ const nonSerializable = formatPart("nonSerializable", r.droppedAnnotationNonSerializable);
420
+ const depthExceeded = formatPart("depthExceeded", r.droppedAnnotationDepthExceeded);
421
+ const nonFiniteNumber = formatPart("nonFiniteNumber", r.droppedAnnotationNonFiniteNumber);
422
+ const reasons = [nonSerializable, depthExceeded, nonFiniteNumber].filter((x) => x !== void 0);
423
+ if (reasons.length > 0) parts.push(`reasons={${reasons.join(", ")}}`);
424
+ return `[${issue.origin}] ${parts.join(" ")}`;
425
+ };
426
+ var collectNodeMetaIssues = (program) => {
427
+ const spec = program.spec;
428
+ if (!spec || typeof spec !== "object") return [];
429
+ const isNode = (value) => typeof value === "object" && value !== null && value._tag === "StateTraitNode";
430
+ const isList = (value) => typeof value === "object" && value !== null && value._tag === "StateTraitList";
431
+ const issues = [];
432
+ const add = (origin, meta) => {
433
+ const { report } = sanitizeWithReport(meta);
434
+ if (report) issues.push({ origin, report });
435
+ };
436
+ for (const key of Object.keys(spec)) {
437
+ const raw = spec[key];
438
+ if (!raw) continue;
439
+ if (isList(raw)) {
440
+ if (raw.item && isNode(raw.item) && raw.item.meta !== void 0) {
441
+ add(`node:${key}[]`, raw.item.meta);
442
+ }
443
+ if (raw.list && isNode(raw.list) && raw.list.meta !== void 0) {
444
+ add(`node:${key}`, raw.list.meta);
445
+ }
446
+ continue;
447
+ }
448
+ if (isNode(raw)) {
449
+ if (raw.meta === void 0) continue;
450
+ add(`node:${key === "$root" ? "$root" : key}`, raw.meta);
451
+ continue;
452
+ }
453
+ }
454
+ return issues;
455
+ };
456
+ var collectEntryMetaIssues = (program) => {
457
+ const issues = [];
458
+ for (const entry of program.entries) {
459
+ if (entry.kind !== "source" && entry.kind !== "externalStore") continue;
460
+ const rawMeta = entry.meta?.meta;
461
+ if (rawMeta === void 0) continue;
462
+ const origin = entry.kind === "source" ? `source:${entry.fieldPath}` : `externalStore:${entry.fieldPath}`;
463
+ const { report } = sanitizeWithReport(rawMeta);
464
+ if (report) issues.push({ origin, report });
465
+ }
466
+ return issues;
467
+ };
468
+ var emitMetaSanitizeDiagnostics = (program, ctx) => Effect2.gen(function* () {
469
+ if (!isDevEnv()) return;
470
+ const level = yield* FiberRef2.get(currentDiagnosticsLevel);
471
+ if (level === "off") return;
472
+ const moduleId = ctx.moduleId ?? "unknown";
473
+ const shouldEmit = yield* onceInRunSession(`meta_sanitize:${moduleId}`);
474
+ if (!shouldEmit) return;
475
+ const issues = [...collectNodeMetaIssues(program), ...collectEntryMetaIssues(program)];
476
+ if (issues.length === 0) return;
477
+ const limit = level === "light" || level === "sampled" ? 8 : 24;
478
+ const lines = issues.slice(0, limit).map(formatIssue);
479
+ if (issues.length > limit) {
480
+ lines.push(`\u2026(+${issues.length - limit})`);
481
+ }
482
+ yield* record({
483
+ type: "diagnostic",
484
+ moduleId: ctx.moduleId,
485
+ instanceId: ctx.instanceId,
486
+ code: "state_trait::meta_sanitized",
487
+ severity: "warning",
488
+ message: `[meta] TraitMeta contains non-exportable fields/values and will be sanitized (total ${issues.length}):
489
+ ${lines.join("\n")}`,
490
+ hint: "TraitMeta is export-only (Devtools/Static IR) and MUST be JsonValue. Use `annotations` with `x-*` keys for extension hints; avoid closures/functions/Effect/Fiber/Tag/DOM/BigInt/circular refs. See specs/016 and docs/ssot/platform/contracts/03-control-surface-manifest.md.",
491
+ kind: "meta_sanitized"
492
+ });
493
+ });
494
+
495
+ // src/internal/state-trait/install.ts
496
+ var buildEntryIndex = (entries) => {
497
+ const index = /* @__PURE__ */ new Map();
498
+ for (const entry of entries) {
499
+ const list2 = index.get(entry.fieldPath) ?? [];
500
+ list2.push(entry);
501
+ index.set(entry.fieldPath, list2);
502
+ }
503
+ return index;
504
+ };
505
+ var install = (bound, program) => {
506
+ return Effect3.gen(function* () {
507
+ let internals;
508
+ try {
509
+ internals = getBoundInternals(bound);
510
+ internals.traits.registerStateTraitProgram(program, {
511
+ bumpReason: "logic_installed"
512
+ });
513
+ } catch {
514
+ }
515
+ if (internals) {
516
+ yield* emitMetaSanitizeDiagnostics(program, {
517
+ moduleId: internals.moduleId,
518
+ instanceId: internals.instanceId
519
+ });
520
+ }
521
+ const entryIndex = buildEntryIndex(program.entries);
522
+ const installStep = (step) => {
523
+ if (!step.targetFieldPath) {
524
+ return Effect3.void;
525
+ }
526
+ if (step.kind !== "source-refresh" && step.kind !== "external-store-sync") {
527
+ return Effect3.void;
528
+ }
529
+ const candidates = entryIndex.get(step.targetFieldPath);
530
+ if (!candidates || candidates.length === 0) {
531
+ return Effect3.void;
532
+ }
533
+ const entry = step.kind === "source-refresh" ? candidates.find((e) => e.kind === "source") : candidates.find((e) => e.kind === "externalStore");
534
+ if (!entry) {
535
+ return Effect3.void;
536
+ }
537
+ return step.kind === "source-refresh" ? installSourceRefresh(bound, step, entry) : installExternalStoreSync(bound, step, entry);
538
+ };
539
+ yield* Effect3.forEach(program.plan.steps, (step) => installStep(step)).pipe(Effect3.asVoid);
540
+ }).pipe(Effect3.asVoid);
541
+ };
542
+
543
+ // src/StateTrait.ts
544
+ var $root = "$root";
545
+ var from = (_schema) => (spec) => spec;
546
+ var node = (spec) => ({
547
+ _tag: "StateTraitNode",
548
+ ...spec
549
+ });
550
+ var list = (spec) => ({
551
+ _tag: "StateTraitList",
552
+ ...spec
553
+ });
554
+ var computed = (input) => {
555
+ const derive = (state) => {
556
+ const args = input.deps.map((dep) => getAtPath(state, dep));
557
+ return input.get(...args);
558
+ };
559
+ return {
560
+ fieldPath: void 0,
561
+ kind: "computed",
562
+ meta: {
563
+ deps: input.deps,
564
+ derive,
565
+ equals: input.equals,
566
+ ...input.scheduling ? { scheduling: input.scheduling } : {}
567
+ }
568
+ };
569
+ };
570
+ var source = (input) => {
571
+ const key = (state) => {
572
+ const args = input.deps.map((dep) => getAtPath(state, dep));
573
+ return input.key(...args);
574
+ };
575
+ return {
576
+ fieldPath: void 0,
577
+ kind: "source",
578
+ meta: { ...input, key }
579
+ };
580
+ };
581
+ var externalStore = (input) => ({
582
+ fieldPath: void 0,
583
+ kind: "externalStore",
584
+ meta: input
585
+ });
586
+ var link = (meta) => ({
587
+ fieldPath: void 0,
588
+ kind: "link",
589
+ meta: { ...meta, ...meta.scheduling ? { scheduling: meta.scheduling } : {} }
590
+ });
591
+ var build2 = (stateSchema, spec) => build(stateSchema, spec);
592
+ var install2 = (bound, program) => install(bound, program);
593
+ var exportStaticIr2 = (program, moduleId, options) => exportStaticIr({
594
+ program,
595
+ moduleId,
596
+ version: options?.version
597
+ });
598
+
599
+ export {
600
+ $root,
601
+ from,
602
+ node,
603
+ list,
604
+ computed,
605
+ source,
606
+ externalStore,
607
+ link,
608
+ build2 as build,
609
+ install2 as install,
610
+ exportStaticIr2 as exportStaticIr,
611
+ StateTrait_exports
612
+ };
613
+ //# sourceMappingURL=chunk-6DACKW3D.js.map