@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.
- package/LICENSE +201 -0
- package/dist/{Action-mqVvtEHt.d.ts → Action-DYl88bwj.d.ts} +1 -1
- package/dist/{Action-BkRHy2vg.d.cts → Action-DkxsI_DK.d.cts} +1 -1
- package/dist/Action.cjs.map +1 -1
- package/dist/Action.d.cts +1 -1
- package/dist/Action.d.ts +1 -1
- package/dist/Action.js +2 -2
- package/dist/{Actions-AsQ07yTP.d.cts → Actions-Dicm7jdc.d.cts} +2 -2
- package/dist/{Actions-AsQ07yTP.d.ts → Actions-Dicm7jdc.d.ts} +2 -2
- package/dist/Actions.cjs.map +1 -1
- package/dist/Actions.d.cts +1 -1
- package/dist/Actions.d.ts +1 -1
- package/dist/Actions.js +1 -1
- package/dist/{Bound-BN1DQ_lM.d.ts → Bound-1OJLzVIS.d.ts} +2 -2
- package/dist/{Bound-BPIfH9SS.d.cts → Bound-BMLrtQ1V.d.cts} +2 -2
- package/dist/Bound.cjs +1737 -399
- package/dist/Bound.cjs.map +1 -1
- package/dist/Bound.d.cts +5 -5
- package/dist/Bound.d.ts +5 -5
- package/dist/Bound.js +19 -17
- package/dist/{Debug-B5q5Bkzx.d.ts → Debug-DKrWP5H1.d.ts} +40 -22
- package/dist/{Debug-Bq8Sqjcr.d.cts → Debug-hIT44XsY.d.cts} +40 -22
- package/dist/Debug.cjs +1348 -318
- package/dist/Debug.cjs.map +1 -1
- package/dist/Debug.d.cts +12 -11
- package/dist/Debug.d.ts +12 -11
- package/dist/Debug.js +20 -11
- package/dist/EffectOp.cjs +15 -6
- package/dist/EffectOp.cjs.map +1 -1
- package/dist/EffectOp.js +3 -3
- package/dist/Env.cjs +772 -6
- package/dist/Env.cjs.map +1 -1
- package/dist/Env.js +5 -2
- package/dist/ExternalStore-DqJKKRJ4.d.ts +61 -0
- package/dist/ExternalStore-JC-gAgEI.d.cts +61 -0
- package/dist/ExternalStore.cjs +774 -0
- package/dist/ExternalStore.cjs.map +1 -0
- package/dist/ExternalStore.d.cts +8 -0
- package/dist/ExternalStore.d.ts +8 -0
- package/dist/ExternalStore.js +19 -0
- package/dist/ExternalStore.js.map +1 -0
- package/dist/{Flow-BhpjE22E.d.ts → Flow-CZmXRDqp.d.cts} +13 -4
- package/dist/{Flow-1fZT8MpX.d.cts → Flow-DIVDxz7R.d.ts} +13 -4
- package/dist/Flow.cjs +765 -148
- package/dist/Flow.cjs.map +1 -1
- package/dist/Flow.d.cts +6 -6
- package/dist/Flow.d.ts +6 -6
- package/dist/Flow.js +9 -8
- package/dist/{Handle-D_cLW1Z3.d.ts → Handle-Bo6cAFut.d.ts} +1 -1
- package/dist/{Handle-D8D1zPb_.d.cts → Handle-CfDvSqN7.d.cts} +1 -1
- package/dist/Handle.d.cts +5 -5
- package/dist/Handle.d.ts +5 -5
- package/dist/{Kernel-8kC-jOda.d.cts → Kernel-CuXBF9S_.d.cts} +16 -7
- package/dist/{Kernel-CnGE1Fyk.d.ts → Kernel-D9guNwRL.d.ts} +16 -7
- package/dist/Kernel.cjs +814 -26
- package/dist/Kernel.cjs.map +1 -1
- package/dist/Kernel.d.cts +13 -12
- package/dist/Kernel.d.ts +13 -12
- package/dist/Kernel.js +7 -4
- package/dist/{Link-Db7975nU.d.ts → Link-CUM0yUCH.d.ts} +10 -3
- package/dist/{Link-fX8x1eCK.d.cts → Link-NAfR6uGD.d.cts} +10 -3
- package/dist/Link.cjs +1294 -121
- package/dist/Link.cjs.map +1 -1
- package/dist/Link.d.cts +5 -5
- package/dist/Link.d.ts +5 -5
- package/dist/Link.js +37 -29
- package/dist/{Logic-DRh4sDZj.d.cts → Logic-09VQpIj3.d.cts} +7 -4
- package/dist/{Logic-BRjEMr-W.d.ts → Logic-DKg7ghGy.d.ts} +7 -4
- package/dist/Logic.cjs +2 -1
- package/dist/Logic.cjs.map +1 -1
- package/dist/Logic.d.cts +5 -5
- package/dist/Logic.d.ts +5 -5
- package/dist/Logic.js +1 -1
- package/dist/{MatchBuilder-CJk5oCkR.d.cts → MatchBuilder-CsW5jgrL.d.ts} +1 -1
- package/dist/{MatchBuilder-0QOc-nlU.d.ts → MatchBuilder-Dksk07F4.d.cts} +1 -1
- package/dist/MatchBuilder.cjs +2 -2
- package/dist/MatchBuilder.cjs.map +1 -1
- package/dist/MatchBuilder.d.cts +6 -6
- package/dist/MatchBuilder.d.ts +6 -6
- package/dist/MatchBuilder.js +2 -2
- package/dist/Middleware-D8tUDLv_.d.cts +100 -0
- package/dist/Middleware-DS7CbTTN.d.ts +100 -0
- package/dist/Middleware.cjs +678 -58
- package/dist/Middleware.cjs.map +1 -1
- package/dist/Middleware.d.cts +2 -86
- package/dist/Middleware.d.ts +2 -86
- package/dist/Middleware.js +15 -12
- package/dist/{Module-DnzluX2J.d.ts → Module-B_Cntyms.d.ts} +54 -25
- package/dist/{Module-B_0xRDMR.d.cts → Module-CmNOVXzf.d.cts} +54 -25
- package/dist/Module.cjs +9331 -3317
- package/dist/Module.cjs.map +1 -1
- package/dist/Module.d.cts +7 -6
- package/dist/Module.d.ts +7 -6
- package/dist/Module.js +39 -31
- package/dist/ModuleTag-CGho_InD.d.ts +113 -0
- package/dist/ModuleTag-CITb8L_G.d.cts +113 -0
- package/dist/ModuleTag.cjs +7248 -2847
- package/dist/ModuleTag.cjs.map +1 -1
- package/dist/ModuleTag.d.cts +6 -6
- package/dist/ModuleTag.d.ts +6 -6
- package/dist/ModuleTag.js +35 -29
- package/dist/Observability-Bdhnx2Dv.d.ts +385 -0
- package/dist/Observability-DXGAFBIT.d.cts +385 -0
- package/dist/Observability.cjs +5093 -1556
- package/dist/Observability.cjs.map +1 -1
- package/dist/Observability.d.cts +6 -7
- package/dist/Observability.d.ts +6 -7
- package/dist/Observability.js +28 -23
- package/dist/{Platform-CHX8o-U4.d.ts → Platform-B4s8tg6C.d.cts} +4 -5
- package/dist/{Platform-C49Pv956.d.cts → Platform-BV_0MW7g.d.cts} +5 -2
- package/dist/{Platform-C49Pv956.d.ts → Platform-BV_0MW7g.d.ts} +5 -2
- package/dist/{Platform-CVlv0xLQ.d.cts → Platform-W0Mefy_e.d.ts} +4 -5
- package/dist/Platform.cjs +2 -1
- package/dist/Platform.cjs.map +1 -1
- package/dist/Platform.d.cts +2 -3
- package/dist/Platform.d.ts +2 -3
- package/dist/Platform.js +2 -2
- package/dist/{Process-CM9xbMdP.d.ts → Process-CO8G7HO9.d.cts} +30 -5
- package/dist/{Process-mL8fHDSB.d.cts → Process-Cyf6VNDR.d.ts} +30 -5
- package/dist/Process.cjs +1288 -120
- package/dist/Process.cjs.map +1 -1
- package/dist/Process.d.cts +6 -6
- package/dist/Process.d.ts +6 -6
- package/dist/Process.js +34 -26
- package/dist/ReadQuery-C_or5nLC.d.ts +128 -0
- package/dist/ReadQuery-DXLzCE0E.d.cts +614 -0
- package/dist/ReadQuery-DXLzCE0E.d.ts +614 -0
- package/dist/ReadQuery-Yve1lmUo.d.cts +128 -0
- package/dist/ReadQuery.cjs +290 -5
- package/dist/ReadQuery.cjs.map +1 -1
- package/dist/ReadQuery.d.cts +3 -2
- package/dist/ReadQuery.d.ts +3 -2
- package/dist/ReadQuery.js +23 -5
- package/dist/{Reflection-CQnKwPXj.d.ts → Reflection-B2Xi1e4Q.d.ts} +89 -7
- package/dist/{Reflection-Kabo1mlU.d.cts → Reflection-DNB4V4_e.d.cts} +89 -7
- package/dist/Reflection.cjs +3227 -1617
- package/dist/Reflection.cjs.map +1 -1
- package/dist/Reflection.d.cts +17 -15
- package/dist/Reflection.d.ts +17 -15
- package/dist/Reflection.js +33 -25
- package/dist/{Resource-Dy1xD_DG.d.cts → Resource-pKvQQ4x5.d.cts} +3 -3
- package/dist/{Resource-Dy1xD_DG.d.ts → Resource-pKvQQ4x5.d.ts} +3 -3
- package/dist/Resource.cjs +781 -15
- package/dist/Resource.cjs.map +1 -1
- package/dist/Resource.d.cts +1 -1
- package/dist/Resource.d.ts +1 -1
- package/dist/Resource.js +6 -3
- package/dist/{Root-7ADUMk4t.d.cts → Root-CCVuFHB6.d.cts} +3 -3
- package/dist/{Root-7ADUMk4t.d.ts → Root-CCVuFHB6.d.ts} +3 -3
- package/dist/Root.cjs +786 -20
- package/dist/Root.cjs.map +1 -1
- package/dist/Root.d.cts +2 -2
- package/dist/Root.d.ts +2 -2
- package/dist/Root.js +7 -3
- package/dist/{Runtime-CtyzZG4i.d.ts → Runtime-CRmvwK4I.d.ts} +70 -14
- package/dist/{Runtime-B-aL-f29.d.cts → Runtime-C_wJM9mN.d.cts} +70 -14
- package/dist/Runtime.cjs +4942 -1601
- package/dist/Runtime.cjs.map +1 -1
- package/dist/Runtime.d.cts +17 -15
- package/dist/Runtime.d.ts +17 -15
- package/dist/Runtime.js +44 -32
- package/dist/{ScopeRegistry-D1owDNSm.d.cts → ScopeRegistry-BhYzqWri.d.cts} +6 -6
- package/dist/{ScopeRegistry-D1owDNSm.d.ts → ScopeRegistry-BhYzqWri.d.ts} +6 -6
- package/dist/ScopeRegistry.cjs +776 -10
- package/dist/ScopeRegistry.cjs.map +1 -1
- package/dist/ScopeRegistry.d.cts +1 -1
- package/dist/ScopeRegistry.d.ts +1 -1
- package/dist/ScopeRegistry.js +6 -3
- package/dist/{State-CU50R26M.d.cts → State-rNFsFPTl.d.cts} +2 -2
- package/dist/{State-CU50R26M.d.ts → State-rNFsFPTl.d.ts} +2 -2
- package/dist/State.cjs.map +1 -1
- package/dist/State.d.cts +1 -1
- package/dist/State.d.ts +1 -1
- package/dist/State.js +1 -1
- package/dist/{StateTrait-BGsZghTz.d.ts → StateTrait-CijdwNb6.d.ts} +25 -8
- package/dist/{StateTrait-OWhbj12c.d.cts → StateTrait-Dltto6PU.d.cts} +25 -8
- package/dist/StateTrait.cjs +1890 -528
- package/dist/StateTrait.cjs.map +1 -1
- package/dist/StateTrait.d.cts +9 -7
- package/dist/StateTrait.d.ts +9 -7
- package/dist/StateTrait.js +18 -14
- package/dist/{TraitLifecycle-CwV5WPFX.d.cts → TraitLifecycle-BKzDqzLu.d.cts} +2 -2
- package/dist/{TraitLifecycle-LdIWmKlg.d.ts → TraitLifecycle-Cvo94uDB.d.ts} +2 -2
- package/dist/TraitLifecycle.cjs +630 -67
- package/dist/TraitLifecycle.cjs.map +1 -1
- package/dist/TraitLifecycle.d.cts +6 -6
- package/dist/TraitLifecycle.d.ts +6 -6
- package/dist/TraitLifecycle.js +8 -7
- package/dist/Workflow-C_OWr4dV.d.ts +415 -0
- package/dist/Workflow-DmydkHO8.d.cts +415 -0
- package/dist/Workflow.cjs +3150 -0
- package/dist/Workflow.cjs.map +1 -0
- package/dist/Workflow.d.cts +7 -0
- package/dist/Workflow.d.ts +7 -0
- package/dist/Workflow.js +58 -0
- package/dist/Workflow.js.map +1 -0
- package/dist/{action-DiMDD_0v.d.cts → action-BQxjPFEw.d.cts} +5 -5
- package/dist/{action-DiMDD_0v.d.ts → action-BQxjPFEw.d.ts} +5 -5
- package/dist/chunk-2XRLXDWR.js +276 -0
- package/dist/chunk-2XRLXDWR.js.map +1 -0
- package/dist/chunk-3L6QGFMM.js +701 -0
- package/dist/chunk-3L6QGFMM.js.map +1 -0
- package/dist/{chunk-GMPEOUP2.js → chunk-4MZ7BT3R.js} +2 -2
- package/dist/chunk-4MZ7BT3R.js.map +1 -0
- package/dist/{chunk-3IYZ5IGG.js → chunk-5WKUGEBY.js} +2 -2
- package/dist/{chunk-3RMKLXHX.js → chunk-63ZQ5RIN.js} +2 -2
- package/dist/{chunk-M3WTHJHJ.js → chunk-67DIEA53.js} +385 -148
- package/dist/chunk-67DIEA53.js.map +1 -0
- package/dist/{chunk-YS3AZQ2G.js → chunk-6HFAW2MH.js} +1 -1
- package/dist/chunk-6HFAW2MH.js.map +1 -0
- package/dist/{chunk-EY4NZKDR.js → chunk-6Y2TKCNY.js} +2 -2
- package/dist/{chunk-76WT3HOR.js → chunk-6YZOXFPQ.js} +25 -24
- package/dist/chunk-6YZOXFPQ.js.map +1 -0
- package/dist/{chunk-G5ZBFPNU.js → chunk-A2RQOJC7.js} +2 -2
- package/dist/{chunk-AUIR5O6W.js → chunk-AFSB6NKM.js} +13 -19
- package/dist/chunk-AFSB6NKM.js.map +1 -0
- package/dist/{chunk-JCXGZRMU.js → chunk-AO4JEOKD.js} +22 -23
- package/dist/chunk-AO4JEOKD.js.map +1 -0
- package/dist/{chunk-TAAPQVZN.js → chunk-AYELIQXR.js} +2 -2
- package/dist/{chunk-QMM6O4CD.js → chunk-BLHZW7DG.js} +15 -3
- package/dist/{chunk-QMM6O4CD.js.map → chunk-BLHZW7DG.js.map} +1 -1
- package/dist/{chunk-TQOBJYDP.js → chunk-CD4N74YC.js} +1 -1
- package/dist/chunk-CD4N74YC.js.map +1 -0
- package/dist/{chunk-ANLBCBDC.js → chunk-CGE2HBTH.js} +11 -11
- package/dist/chunk-CGE2HBTH.js.map +1 -0
- package/dist/{chunk-OFADUJWJ.js → chunk-CYYSQMLO.js} +5 -5
- package/dist/chunk-CYYSQMLO.js.map +1 -0
- package/dist/{chunk-66ALHVEX.js → chunk-EB46EYI7.js} +3 -3
- package/dist/{chunk-NZJKFF45.js → chunk-EKCDHWRK.js} +4 -4
- package/dist/chunk-EKCDHWRK.js.map +1 -0
- package/dist/{chunk-BABLDP24.js → chunk-EPQFNJU3.js} +152 -7
- package/dist/chunk-EPQFNJU3.js.map +1 -0
- package/dist/{chunk-OGWBVHB3.js → chunk-ESR6HGOY.js} +73 -14
- package/dist/chunk-ESR6HGOY.js.map +1 -0
- package/dist/{chunk-NBD3KUOZ.js → chunk-F6RP62H3.js} +150 -98
- package/dist/chunk-F6RP62H3.js.map +1 -0
- package/dist/chunk-FBYW3QDI.js +252 -0
- package/dist/chunk-FBYW3QDI.js.map +1 -0
- package/dist/{chunk-IPF7E66P.js → chunk-FYAODKVP.js} +2 -2
- package/dist/chunk-GNEN7NKO.js +908 -0
- package/dist/chunk-GNEN7NKO.js.map +1 -0
- package/dist/chunk-GWSM4KLB.js +763 -0
- package/dist/chunk-GWSM4KLB.js.map +1 -0
- package/dist/{chunk-4SO6JMZL.js → chunk-HDMXCUZL.js} +1 -1
- package/dist/chunk-HDMXCUZL.js.map +1 -0
- package/dist/{chunk-ZFY7U2FR.js → chunk-HJM5Y5NU.js} +43 -3
- package/dist/chunk-HJM5Y5NU.js.map +1 -0
- package/dist/{chunk-ZGDVUPTM.js → chunk-IOZ3VKPK.js} +129 -68
- package/dist/chunk-IOZ3VKPK.js.map +1 -0
- package/dist/{chunk-PYOE4VSI.js → chunk-IVXSVHO4.js} +303 -247
- package/dist/chunk-IVXSVHO4.js.map +1 -0
- package/dist/chunk-J3CWXIPV.js +242 -0
- package/dist/chunk-J3CWXIPV.js.map +1 -0
- package/dist/chunk-K6JQW266.js +42 -0
- package/dist/chunk-K6JQW266.js.map +1 -0
- package/dist/chunk-KMZYQF6Q.js +202 -0
- package/dist/chunk-KMZYQF6Q.js.map +1 -0
- package/dist/{chunk-JWOYLO27.js → chunk-LPPZDFTD.js} +22 -12
- package/dist/chunk-LPPZDFTD.js.map +1 -0
- package/dist/{chunk-PAYXCY6A.js → chunk-MYB2B5WX.js} +997 -576
- package/dist/chunk-MYB2B5WX.js.map +1 -0
- package/dist/chunk-MYKNINNN.js +228 -0
- package/dist/chunk-MYKNINNN.js.map +1 -0
- package/dist/chunk-NSQIRMVF.js +27 -0
- package/dist/{chunk-QCHIQWAJ.js.map → chunk-NSQIRMVF.js.map} +1 -1
- package/dist/chunk-NUDBM4MM.js +30 -0
- package/dist/chunk-NUDBM4MM.js.map +1 -0
- package/dist/chunk-NZMWWDAY.js +23 -0
- package/dist/chunk-NZMWWDAY.js.map +1 -0
- package/dist/{chunk-RNFE3ML2.js → chunk-OCUV2Y25.js} +4 -3
- package/dist/chunk-OCUV2Y25.js.map +1 -0
- package/dist/chunk-P4ZJOQA7.js +271 -0
- package/dist/chunk-P4ZJOQA7.js.map +1 -0
- package/dist/chunk-P6C5EZ3D.js +342 -0
- package/dist/chunk-P6C5EZ3D.js.map +1 -0
- package/dist/{chunk-CW6T36TN.js → chunk-PBD7BJUN.js} +62 -4
- package/dist/chunk-PBD7BJUN.js.map +1 -0
- package/dist/chunk-PBIUCQY3.js +696 -0
- package/dist/chunk-PBIUCQY3.js.map +1 -0
- package/dist/chunk-PD6YECQH.js +845 -0
- package/dist/chunk-PD6YECQH.js.map +1 -0
- package/dist/{chunk-M7IYCTJV.js → chunk-R4LFQGP3.js} +2 -2
- package/dist/chunk-RHJIGDUE.js +21 -0
- package/dist/chunk-RHJIGDUE.js.map +1 -0
- package/dist/{chunk-KP7MUZNX.js → chunk-RLXO27MW.js} +30 -8
- package/dist/chunk-RLXO27MW.js.map +1 -0
- package/dist/{chunk-DFNM3WX2.js → chunk-S44BEV4B.js} +168 -45
- package/dist/chunk-S44BEV4B.js.map +1 -0
- package/dist/chunk-S4S5N4BJ.js +1461 -0
- package/dist/chunk-S4S5N4BJ.js.map +1 -0
- package/dist/{chunk-BZ2SHDN2.js → chunk-SGTRAXXX.js} +3 -3
- package/dist/chunk-SGTRAXXX.js.map +1 -0
- package/dist/{chunk-M2RGJPXX.js → chunk-SJAE5PB5.js} +3 -3
- package/dist/{chunk-JGIWG6SR.js → chunk-SNPNHU3H.js} +3937 -1776
- package/dist/chunk-SNPNHU3H.js.map +1 -0
- package/dist/{chunk-IHVBV5C2.js → chunk-SOOBFXRR.js} +94 -71
- package/dist/chunk-SOOBFXRR.js.map +1 -0
- package/dist/{chunk-ZDTRWK5F.js → chunk-TAHFWKS6.js} +2 -2
- package/dist/chunk-UEFFTVPY.js +9 -0
- package/dist/chunk-UEFFTVPY.js.map +1 -0
- package/dist/{chunk-24VULZ7A.js → chunk-UR5BXLBP.js} +3 -3
- package/dist/chunk-UR5BXLBP.js.map +1 -0
- package/dist/{chunk-DMBALCE2.js → chunk-V2SBGVDO.js} +471 -186
- package/dist/chunk-V2SBGVDO.js.map +1 -0
- package/dist/chunk-VJLWD47W.js +23 -0
- package/dist/chunk-VJLWD47W.js.map +1 -0
- package/dist/{chunk-4CQAV7YB.js → chunk-W647DX5Z.js} +2 -2
- package/dist/{chunk-THATMZXD.js → chunk-WFIIU3YZ.js} +2 -2
- package/dist/{chunk-THATMZXD.js.map → chunk-WFIIU3YZ.js.map} +1 -1
- package/dist/chunk-YZDJMAKL.js +82 -0
- package/dist/chunk-YZDJMAKL.js.map +1 -0
- package/dist/{chunk-3TMODYZV.js → chunk-Z5XH6VHY.js} +5 -5
- package/dist/chunk-Z5XH6VHY.js.map +1 -0
- package/dist/{chunk-BE3HW4FY.js → chunk-ZBBMZMA6.js} +377 -170
- package/dist/chunk-ZBBMZMA6.js.map +1 -0
- package/dist/index.cjs +21224 -11714
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +195 -49
- package/dist/index.d.ts +195 -49
- package/dist/index.js +150 -74
- package/dist/index.js.map +1 -1
- package/dist/{ir-BMP7yxJJ.d.cts → ir-BSosEwc8.d.cts} +1 -1
- package/dist/{ir-DUOz6H-5.d.ts → ir-D-uqwL_4.d.ts} +1 -1
- package/dist/{module-B8CBqIZ_.d.cts → module-Ds4tarcI.d.cts} +230 -140
- package/dist/{module-k7m3txak.d.ts → module-Zd1Gn-Nj.d.ts} +230 -140
- package/package.json +20 -4
- package/dist/ModuleTag-C8FHY_sY.d.ts +0 -93
- package/dist/ModuleTag-EGbgBMpZ.d.cts +0 -93
- package/dist/Observability-COqEvp2C.d.cts +0 -713
- package/dist/Observability-cY4kLn0S.d.ts +0 -713
- package/dist/ReadQuery-BlMwhe-F.d.ts +0 -30
- package/dist/ReadQuery-CL5XlXts.d.cts +0 -30
- package/dist/ReadQuery-SinbStGF.d.cts +0 -38
- package/dist/ReadQuery-SinbStGF.d.ts +0 -38
- package/dist/chunk-24VULZ7A.js.map +0 -1
- package/dist/chunk-3QMIVH35.js +0 -43
- package/dist/chunk-3QMIVH35.js.map +0 -1
- package/dist/chunk-3TMODYZV.js.map +0 -1
- package/dist/chunk-4SO6JMZL.js.map +0 -1
- package/dist/chunk-76WT3HOR.js.map +0 -1
- package/dist/chunk-ANLBCBDC.js.map +0 -1
- package/dist/chunk-AUIR5O6W.js.map +0 -1
- package/dist/chunk-BABLDP24.js.map +0 -1
- package/dist/chunk-BE3HW4FY.js.map +0 -1
- package/dist/chunk-BZ2SHDN2.js.map +0 -1
- package/dist/chunk-CW6T36TN.js.map +0 -1
- package/dist/chunk-DFNM3WX2.js.map +0 -1
- package/dist/chunk-DMBALCE2.js.map +0 -1
- package/dist/chunk-EGK3KN7B.js +0 -406
- package/dist/chunk-EGK3KN7B.js.map +0 -1
- package/dist/chunk-GMPEOUP2.js.map +0 -1
- package/dist/chunk-IHVBV5C2.js.map +0 -1
- package/dist/chunk-JCXGZRMU.js.map +0 -1
- package/dist/chunk-JGIWG6SR.js.map +0 -1
- package/dist/chunk-JWOYLO27.js.map +0 -1
- package/dist/chunk-KIXAU3GM.js +0 -137
- package/dist/chunk-KIXAU3GM.js.map +0 -1
- package/dist/chunk-KL5ACTCT.js +0 -8
- package/dist/chunk-KL5ACTCT.js.map +0 -1
- package/dist/chunk-KP7MUZNX.js.map +0 -1
- package/dist/chunk-M3BFQ7HK.js +0 -13
- package/dist/chunk-M3BFQ7HK.js.map +0 -1
- package/dist/chunk-M3WTHJHJ.js.map +0 -1
- package/dist/chunk-NBD3KUOZ.js.map +0 -1
- package/dist/chunk-NQZ2OSGR.js +0 -151
- package/dist/chunk-NQZ2OSGR.js.map +0 -1
- package/dist/chunk-NZJKFF45.js.map +0 -1
- package/dist/chunk-OFADUJWJ.js.map +0 -1
- package/dist/chunk-OGWBVHB3.js.map +0 -1
- package/dist/chunk-PAYXCY6A.js.map +0 -1
- package/dist/chunk-PYOE4VSI.js.map +0 -1
- package/dist/chunk-QCHIQWAJ.js +0 -21
- package/dist/chunk-RNFE3ML2.js.map +0 -1
- package/dist/chunk-TKZ7MEIA.js +0 -27
- package/dist/chunk-TKZ7MEIA.js.map +0 -1
- package/dist/chunk-TQOBJYDP.js.map +0 -1
- package/dist/chunk-VZB726PE.js +0 -93
- package/dist/chunk-VZB726PE.js.map +0 -1
- package/dist/chunk-W3TEWHLO.js +0 -568
- package/dist/chunk-W3TEWHLO.js.map +0 -1
- package/dist/chunk-YS3AZQ2G.js.map +0 -1
- package/dist/chunk-ZFLHVFUC.js +0 -192
- package/dist/chunk-ZFLHVFUC.js.map +0 -1
- package/dist/chunk-ZFY7U2FR.js.map +0 -1
- package/dist/chunk-ZGDVUPTM.js.map +0 -1
- package/dist/protocol-g_1897M2.d.cts +0 -127
- package/dist/protocol-g_1897M2.d.ts +0 -127
- /package/dist/{chunk-3IYZ5IGG.js.map → chunk-5WKUGEBY.js.map} +0 -0
- /package/dist/{chunk-3RMKLXHX.js.map → chunk-63ZQ5RIN.js.map} +0 -0
- /package/dist/{chunk-EY4NZKDR.js.map → chunk-6Y2TKCNY.js.map} +0 -0
- /package/dist/{chunk-G5ZBFPNU.js.map → chunk-A2RQOJC7.js.map} +0 -0
- /package/dist/{chunk-TAAPQVZN.js.map → chunk-AYELIQXR.js.map} +0 -0
- /package/dist/{chunk-66ALHVEX.js.map → chunk-EB46EYI7.js.map} +0 -0
- /package/dist/{chunk-IPF7E66P.js.map → chunk-FYAODKVP.js.map} +0 -0
- /package/dist/{chunk-M7IYCTJV.js.map → chunk-R4LFQGP3.js.map} +0 -0
- /package/dist/{chunk-M2RGJPXX.js.map → chunk-SJAE5PB5.js.map} +0 -0
- /package/dist/{chunk-ZDTRWK5F.js.map → chunk-TAHFWKS6.js.map} +0 -0
- /package/dist/{chunk-4CQAV7YB.js.map → chunk-W647DX5Z.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ExternalStore.ts","../src/internal/digest.ts","../src/internal/runtime/core/ReadQuery.ts","../src/ReadQuery.ts","../src/internal/external-store-descriptor.ts","../src/internal/runtime/core/HostScheduler.ts"],"sourcesContent":["import { Effect, Fiber, Layer, ManagedRuntime, Stream, SubscriptionRef } from 'effect'\nimport type { ServiceMap } from 'effect'\nimport * as ReadQuery from './ReadQuery.js'\nimport { fnv1a32, stableStringify } from './internal/digest.js'\nimport { attachExternalStoreDescriptor, type ExternalStoreDescriptor } from './internal/external-store-descriptor.js'\nimport { getGlobalHostScheduler } from './internal/runtime/core/HostScheduler.js'\nimport type * as LogixModule from './internal/module.js'\n\nexport type ExternalStore<T> = {\n readonly getSnapshot: () => T\n readonly getServerSnapshot?: () => T\n readonly subscribe: (listener: () => void) => () => void\n}\n\nexport interface ExternalStoreRuntimeError extends Error {\n readonly _tag: 'ExternalStoreRuntimeError'\n readonly code:\n | 'external_store::unresolved'\n | 'external_store::missing_initial'\n | 'external_store::unresolvable_module_id'\n | 'external_store::unstable_selector_id'\n}\n\nconst makeError = (code: ExternalStoreRuntimeError['code'], message: string): ExternalStoreRuntimeError =>\n Object.assign(new Error(message), { _tag: 'ExternalStoreRuntimeError' as const, code })\n\nconst hasOwn = (value: unknown, key: string): boolean =>\n !!value && typeof value === 'object' && Object.prototype.hasOwnProperty.call(value, key)\n\nconst makeStoreId = (payload: unknown): string => `es_${fnv1a32(stableStringify(payload))}`\n\nconst defineDescriptor = <T>(store: ExternalStore<T>, descriptor: ExternalStoreDescriptor): ExternalStore<T> => {\n attachExternalStoreDescriptor(store as object, descriptor)\n return store\n}\n\nconst makeNotifyScheduler = (listeners: Set<() => void>): (() => void) => {\n let scheduled = false\n return () => {\n if (scheduled) return\n scheduled = true\n getGlobalHostScheduler().scheduleMicrotask(() => {\n scheduled = false\n for (const listener of listeners) {\n listener()\n }\n })\n }\n}\n\nconst resolveTagId = (tag: ServiceMap.Key<any, any>): string | undefined => {\n const id = (tag as any).id\n if (typeof id === 'string' && id.length > 0) return id\n\n const key = (tag as any).key\n return typeof key === 'string' && key.length > 0 ? key : undefined\n}\n\nconst resolveModuleIdOrThrow = (module: unknown): string => {\n if (module && typeof module === 'object') {\n const moduleId = (module as any).moduleId\n if (typeof moduleId === 'string' && moduleId.length > 0) return moduleId\n\n const id = (module as any).id\n if (typeof id === 'string' && id.length > 0) return id\n\n const tag = (module as any).tag\n if (tag && (typeof tag === 'object' || typeof tag === 'function')) {\n const tagId = (tag as any).id\n if (typeof tagId === 'string' && tagId.length > 0) return tagId\n }\n\n const moduleTagId = (module as any).id\n if (typeof moduleTagId === 'string' && moduleTagId.length > 0) return moduleTagId\n }\n\n throw makeError(\n 'external_store::unresolvable_module_id',\n '[ExternalStore.fromModule] Failed to resolve moduleId.\\n' +\n 'Fix: pass a ModuleTag/Module/ModuleImpl/ModuleRuntime (has .id/.tag.id/.moduleId), not a read-only ModuleHandle.',\n )\n}\n\n/**\n * Create an ExternalStore by resolving a service from the Effect Context.\n *\n * Notes:\n * - This sugar is intended to be used via `StateTrait.externalStore` (resolved during install/runtime).\n * - `map(service)` must return a sync `getSnapshot()` (no IO) and a `subscribe(listener)` that signals change.\n */\nexport const fromService = <Id, Svc, T>(\n tag: ServiceMap.Key<Id, Svc>,\n map: (service: Svc) => ExternalStore<T>,\n): ExternalStore<T> => {\n const tagId = resolveTagId(tag as any)\n if (!tagId) {\n throw makeError(\n 'external_store::unresolved',\n '[ExternalStore.fromService] Tag.id is missing; cannot build a stable storeId.',\n )\n }\n\n const storeId = makeStoreId({ kind: 'service', tagId })\n\n const store: ExternalStore<T> = {\n getSnapshot: () => {\n throw makeError(\n 'external_store::unresolved',\n `[ExternalStore.fromService] Store is unresolved (tagId=${tagId}). Use it via StateTrait.externalStore install/runtime.`,\n )\n },\n subscribe: () => {\n throw makeError(\n 'external_store::unresolved',\n `[ExternalStore.fromService] Store is unresolved (tagId=${tagId}). Use it via StateTrait.externalStore install/runtime.`,\n )\n },\n }\n\n return defineDescriptor(store, { kind: 'service', storeId, tagId, tag: tag as any, map: map as any })\n}\n\nlet nextAnonStoreSeq = 0\nconst storeIdByRef = new WeakMap<object, string>()\n\nconst getOrAssignAnonStoreId = (key: object, prefix: string): string => {\n const existing = storeIdByRef.get(key)\n if (existing) return existing\n nextAnonStoreSeq += 1\n const storeId = `${prefix}_u${nextAnonStoreSeq}`\n storeIdByRef.set(key, storeId)\n return storeId\n}\n\ntype DetachedRuntime = ManagedRuntime.ManagedRuntime<never, never>\n\nconst makeDetachedRuntimeController = () => {\n let runtime: DetachedRuntime | undefined\n\n const ensureRuntime = (): DetachedRuntime => {\n if (!runtime) {\n runtime = ManagedRuntime.make(Layer.empty as Layer.Layer<never, never, never>)\n }\n return runtime\n }\n\n const runSync = <A>(effect: Effect.Effect<A, never, never>): A => ensureRuntime().runSync(effect)\n\n const runFork = <A, E>(effect: Effect.Effect<A, E, never>): Fiber.Fiber<A, E> => ensureRuntime().runFork(effect)\n\n const interruptAndDispose = (fiber: Fiber.Fiber<void, any> | undefined): void => {\n const current = runtime\n runtime = undefined\n if (!current) return\n const stop = fiber ? Fiber.interrupt(fiber).pipe(Effect.asVoid) : Effect.void\n void current.runPromise(stop).catch(() => undefined).finally(() => current.dispose())\n }\n\n return {\n runSync,\n runFork,\n interruptAndDispose,\n } as const\n}\n\n/**\n * Create an ExternalStore from a SubscriptionRef.\n *\n * Notes:\n * - `getSnapshot()` is implemented via `ref.get` (must be a synchronous pure read; do not hide IO inside).\n * - change notifications are batched via microtask (multiple updates in the same microtask trigger a single notify).\n */\nexport const fromSubscriptionRef = <T>(ref: LogixModule.ReadonlySubscriptionRef<T> | SubscriptionRef.SubscriptionRef<T>): ExternalStore<T> => {\n const storeId = getOrAssignAnonStoreId(ref as any, 'es_ref')\n const readonlyRef = ref as LogixModule.ReadonlySubscriptionRef<T>\n const getEffect: Effect.Effect<T, never, never> = SubscriptionRef.isSubscriptionRef(ref)\n ? (SubscriptionRef.get(ref) as Effect.Effect<T, never, never>)\n : (readonlyRef.get as Effect.Effect<T, never, never>)\n const changes: Stream.Stream<T, never, never> = SubscriptionRef.isSubscriptionRef(ref)\n ? (SubscriptionRef.changes(ref) as Stream.Stream<T, never, never>)\n : readonlyRef.changes\n\n let hasSnapshot = false\n let current: T | undefined\n const listeners = new Set<() => void>()\n const scheduleNotify = makeNotifyScheduler(listeners)\n\n let fiber: Fiber.Fiber<void, any> | undefined\n const runtime = makeDetachedRuntimeController()\n\n const ensureSubscription = () => {\n if (fiber) return\n fiber = runtime.runFork(\n Stream.runForEach(changes, (value) =>\n Effect.sync(() => {\n current = value\n hasSnapshot = true\n scheduleNotify()\n }),\n ),\n )\n }\n\n const refreshSnapshotIfStale = () => {\n if (!hasSnapshot) return\n try {\n const latest = runtime.runSync(getEffect) as T\n if (!Object.is(current, latest)) {\n current = latest\n scheduleNotify()\n }\n } catch {\n // best-effort\n }\n }\n\n const store: ExternalStore<T> = {\n getSnapshot: () => {\n if (hasSnapshot) return current as T\n current = runtime.runSync(getEffect) as T\n hasSnapshot = true\n return current\n },\n subscribe: (listener) => {\n listeners.add(listener)\n ensureSubscription()\n refreshSnapshotIfStale()\n return () => {\n listeners.delete(listener)\n if (listeners.size > 0) return\n const running = fiber\n if (!running) return\n fiber = undefined\n runtime.interruptAndDispose(running)\n }\n },\n }\n\n return defineDescriptor(store, { kind: 'subscriptionRef', storeId, ref: ref as any })\n}\n\n/**\n * Create an ExternalStore from a Stream.\n *\n * Notes:\n * - Stream has no synchronous \"current\" snapshot; you MUST provide `{ initial }` (or `{ current }`).\n * - `{ initial }` may be stale if the stream already emitted before subscription; prefer `fromService/fromSubscriptionRef` for reliable current.\n */\nexport const fromStream = <A, E>(\n stream: Stream.Stream<A, E, never>,\n options?: { readonly initial?: A; readonly current?: A },\n): ExternalStore<A> => {\n const hasCurrent = hasOwn(options, 'current')\n const hasInitial = hasOwn(options, 'initial')\n\n if (!hasCurrent && !hasInitial) {\n throw makeError(\n 'external_store::missing_initial',\n '[ExternalStore.fromStream] Missing { initial } or { current } (Stream has no current snapshot).',\n )\n }\n\n const initial = hasCurrent ? (options as any).current : (options as any).initial\n const initialHint = hasCurrent ? ('current' as const) : ('initial' as const)\n\n const storeId = getOrAssignAnonStoreId(stream as any, 'es_stream')\n\n let current = initial as A\n const listeners = new Set<() => void>()\n const scheduleNotify = makeNotifyScheduler(listeners)\n\n let fiber: Fiber.Fiber<void, any> | undefined\n const runtime = makeDetachedRuntimeController()\n\n const ensureSubscription = () => {\n if (fiber) return\n fiber = runtime.runFork(\n Stream.runForEach(stream, (value) =>\n Effect.sync(() => {\n current = value\n scheduleNotify()\n }),\n ),\n )\n }\n\n const store: ExternalStore<A> = {\n getSnapshot: () => current,\n subscribe: (listener) => {\n listeners.add(listener)\n ensureSubscription()\n return () => {\n listeners.delete(listener)\n if (listeners.size > 0) return\n const running = fiber\n if (!running) return\n fiber = undefined\n runtime.interruptAndDispose(running)\n }\n },\n }\n\n return defineDescriptor(store, { kind: 'stream', storeId, stream: stream as any, initial, initialHint })\n}\n\n/**\n * Module-as-Source: treat a module selector as an ExternalStore source (IR-recognizable dependency).\n *\n * Notes:\n * - `moduleId` must be resolvable; passing a read-only `ModuleHandle` is forbidden (fail-fast).\n * - selectorId must be stable: `ReadQuery.compile(selector)` must NOT fall back to `fallbackReason=\"unstableSelectorId\"` (fail-fast).\n * - Value semantics: the runtime does not clone; writeback stores the selector return value as-is (keep selectors small and stable).\n */\nexport const fromModule = <S, V>(module: unknown, selector: ReadQuery.ReadQueryInput<S, V>): ExternalStore<V> => {\n const moduleId = resolveModuleIdOrThrow(module)\n const instanceId =\n module && typeof module === 'object' && typeof (module as any).instanceId === 'string' && (module as any).instanceId.length > 0\n ? ((module as any).instanceId as string)\n : undefined\n const compiled = ReadQuery.compile(selector)\n\n if (compiled.fallbackReason === 'unstableSelectorId' || compiled.staticIr.fallbackReason === 'unstableSelectorId') {\n throw makeError(\n 'external_store::unstable_selector_id',\n `[ExternalStore.fromModule] selectorId is unstable (fallbackReason=unstableSelectorId). ` +\n 'Fix: add a stable debugKey, or pass an explicit ReadQuery (manual/static lane).',\n )\n }\n\n const storeId = makeStoreId({ kind: 'module', moduleId, selectorId: compiled.selectorId })\n\n const store: ExternalStore<V> = {\n getSnapshot: () => {\n throw makeError(\n 'external_store::unresolved',\n `[ExternalStore.fromModule] Store is unresolved (moduleId=${moduleId}, selectorId=${compiled.selectorId}). ` +\n 'Use it via StateTrait.externalStore + TickScheduler/RuntimeStore (Module-as-Source).',\n )\n },\n subscribe: () => {\n throw makeError(\n 'external_store::unresolved',\n `[ExternalStore.fromModule] Store is unresolved (moduleId=${moduleId}, selectorId=${compiled.selectorId}). ` +\n 'Use it via StateTrait.externalStore + TickScheduler/RuntimeStore (Module-as-Source).',\n )\n },\n }\n\n return defineDescriptor(store, {\n kind: 'module',\n storeId,\n module,\n moduleId,\n ...(instanceId ? { instanceId } : {}),\n readQuery: compiled,\n })\n}\n","/**\n * internal/digest:\n * - Minimal \"stable digest\" utilities for Runtime / Static IR / Traits, etc.\n * - Goal: stable output across runs/processes while staying lightweight (no extra dependencies).\n *\n * Note: stableStringify does not aim for full JSON equivalence; it only covers the subset needed by this repo:\n * - Stable key ordering (object fields sorted lexicographically).\n * - Non-finite numbers (NaN/±Infinity) degrade to null.\n * - Other non-representable values (undefined/function/symbol, etc.) degrade to null.\n * - undefined inside objects is not omitted; it is encoded as null (differs from JSON.stringify).\n */\n\nexport const stableStringify = (value: unknown): string => {\n if (value === null) return 'null'\n const t = typeof value\n if (t === 'string') return JSON.stringify(value)\n if (t === 'number') return Number.isFinite(value) ? String(value) : 'null'\n if (t === 'boolean') return value ? 'true' : 'false'\n\n if (Array.isArray(value)) {\n return `[${value.map(stableStringify).join(',')}]`\n }\n\n if (t === 'object') {\n const record = value as Record<string, unknown>\n const keys = Object.keys(record).sort()\n return `{${keys.map((k) => `${JSON.stringify(k)}:${stableStringify(record[k])}`).join(',')}}`\n }\n\n return 'null'\n}\n\n/**\n * fnv1a32:\n * - 32-bit FNV-1a hash (for short digests); outputs fixed 8-char hex.\n */\nexport const fnv1a32 = (input: string): string => {\n let hash = 0x811c9dc5\n for (let i = 0; i < input.length; i++) {\n hash ^= input.charCodeAt(i)\n hash = (hash * 0x01000193) >>> 0\n }\n return hash.toString(16).padStart(8, '0')\n}\n","import { fnv1a32, stableStringify } from '../../digest.js'\nimport type * as DebugSink from './DebugSink.js'\n\nexport type ReadLane = 'static' | 'dynamic'\n\nexport type ReadProducer = 'aot' | 'jit' | 'manual' | 'dynamic'\n\nexport type ReadQueryFallbackReason = 'missingDeps' | 'unsupportedSyntax' | 'unstableSelectorId' | 'missingBuildGrade'\n\nexport type EqualsKind = 'objectIs' | 'shallowStruct' | 'custom'\n\nexport type ReadQueryStrictGateRule =\n | 'denyFallbackReason'\n | 'requireStatic:global'\n | 'requireStatic:selectorId'\n | 'requireStatic:module'\n\nexport type ReadQueryQualitySource = 'build' | 'runtime_jit' | 'runtime_dynamic_fallback'\n\nexport interface ReadQueryStrictGateGrade {\n readonly evaluatedAt: 'build' | 'runtime'\n readonly verdict: 'PASS' | 'WARN' | 'FAIL'\n readonly rule?: ReadQueryStrictGateRule\n readonly fallbackReason?: ReadQueryFallbackReason\n}\n\nexport interface ReadQueryQualityMeta {\n readonly source: ReadQueryQualitySource\n readonly strictGate?: ReadQueryStrictGateGrade\n readonly reportId?: string\n readonly missingBuildGrade?: boolean\n}\n\nexport interface ReadsDigest {\n readonly count: number\n readonly hash: number\n}\n\nexport interface ReadQueryStaticIr {\n readonly selectorId: string\n readonly debugKey?: string\n readonly lane: ReadLane\n readonly producer: ReadProducer\n readonly reads?: ReadonlyArray<string | number>\n readonly readsDigest?: ReadsDigest\n readonly fallbackReason?: ReadQueryFallbackReason\n readonly equalsKind: EqualsKind\n}\n\nexport interface ReadQuery<S, V> {\n readonly selectorId: string\n readonly debugKey?: string\n readonly reads: ReadonlyArray<string | number>\n readonly select: (state: S) => V\n readonly equalsKind: EqualsKind\n readonly equals?: (previous: V, next: V) => boolean\n}\n\nexport interface ReadQueryCompiled<S, V> extends ReadQuery<S, V> {\n readonly lane: ReadLane\n readonly producer: ReadProducer\n readonly readsDigest?: ReadsDigest\n readonly fallbackReason?: ReadQueryFallbackReason\n readonly staticIr: ReadQueryStaticIr\n readonly quality?: ReadQueryQualityMeta\n}\n\nexport type ReadQueryInput<S, V> = ((state: S) => V) | ReadQuery<S, V>\n\nexport function isReadQuery<S, V>(input: ReadQueryInput<S, V>): input is ReadQuery<S, V>\nexport function isReadQuery(input: unknown): input is ReadQuery<any, any>\nexport function isReadQuery(input: unknown): input is ReadQuery<any, any> {\n if (!input || (typeof input !== 'object' && typeof input !== 'function')) return false\n const maybe = input as any\n return typeof maybe.selectorId === 'string' && typeof maybe.select === 'function' && Array.isArray(maybe.reads)\n}\n\nexport function isReadQueryCompiled<S, V>(input: ReadQueryInput<S, V> | ReadQueryCompiled<S, V>): input is ReadQueryCompiled<S, V>\nexport function isReadQueryCompiled(input: unknown): input is ReadQueryCompiled<any, any>\nexport function isReadQueryCompiled(input: unknown): input is ReadQueryCompiled<any, any> {\n if (!input || typeof input !== 'object') return false\n const maybe = input as any\n return (\n typeof maybe.selectorId === 'string' &&\n typeof maybe.select === 'function' &&\n Array.isArray(maybe.reads) &&\n maybe.staticIr != null &&\n typeof maybe.lane === 'string' &&\n typeof maybe.producer === 'string'\n )\n}\n\nexport const hasBuildQualityGrade = (compiled: ReadQueryCompiled<any, any>): boolean =>\n compiled.quality?.source === 'build' && compiled.quality.strictGate?.evaluatedAt === 'build'\n\nexport const shouldEvaluateStrictGateAtRuntime = (compiled: ReadQueryCompiled<any, any>): boolean =>\n compiled.lane === 'dynamic' && !hasBuildQualityGrade(compiled)\n\nexport const markRuntimeMissingBuildGrade = <S, V>(compiled: ReadQueryCompiled<S, V>): ReadQueryCompiled<S, V> => {\n if (compiled.lane !== 'dynamic' || hasBuildQualityGrade(compiled)) return compiled\n if (compiled.quality?.missingBuildGrade === true && compiled.fallbackReason === 'missingBuildGrade') return compiled\n return {\n ...compiled,\n fallbackReason: 'missingBuildGrade',\n staticIr: {\n ...compiled.staticIr,\n fallbackReason: 'missingBuildGrade',\n },\n quality: {\n ...(compiled.quality ?? {}),\n source: 'runtime_dynamic_fallback',\n missingBuildGrade: true,\n },\n }\n}\n\nconst normalizeReads = (reads: ReadonlyArray<string | number>): ReadonlyArray<string | number> => {\n const unique: Array<string | number> = []\n const seen = new Set<string>()\n for (const r of reads) {\n const key = typeof r === 'number' ? `n:${r}` : `s:${r}`\n if (seen.has(key)) continue\n seen.add(key)\n unique.push(r)\n }\n return unique.slice().sort()\n}\n\nconst toHash32Number = (hex: string): number => Number.parseInt(hex, 16)\n\nconst makeReadsDigest = (reads: ReadonlyArray<string | number>): ReadsDigest => {\n const normalized = normalizeReads(reads)\n return {\n count: normalized.length,\n hash: toHash32Number(fnv1a32(stableStringify(normalized))),\n }\n}\n\nconst computeSelectorId = (value: unknown): string => `rq_${fnv1a32(stableStringify(value))}`\n\nlet nextUnstableSelectorSeq = 0\nconst unstableSelectorIdByFn = new WeakMap<Function, string>()\n\nconst computeUnstableSelectorId = (selector: Function): string => {\n const existing = unstableSelectorIdByFn.get(selector)\n if (existing) return existing\n nextUnstableSelectorSeq += 1\n const selectorId = `rq_u${nextUnstableSelectorSeq}`\n unstableSelectorIdByFn.set(selector, selectorId)\n return selectorId\n}\n\nconst unwrapParens = (input: string): string => {\n const trimmed = input.trim()\n if (trimmed.startsWith('(') && trimmed.endsWith(')')) {\n const inner = trimmed.slice(1, -1).trim()\n // Only unwrap the outermost pair of parentheses to avoid accidentally breaking syntax.\n if (!inner.startsWith('(') || !inner.endsWith(')')) {\n return inner\n }\n }\n return trimmed\n}\n\nconst extractArrow = (source: string): { readonly param: string; readonly body: string } | undefined => {\n const idx = source.indexOf('=>')\n if (idx < 0) return undefined\n const left = source.slice(0, idx).trim()\n const right = source.slice(idx + 2).trim()\n\n const paramRaw = unwrapParens(left)\n if (!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(paramRaw)) return undefined\n\n // block body: { return expr }\n if (right.startsWith('{')) {\n const m = right.match(/^\\{\\s*return\\s+(.+?);?\\s*\\}\\s*$/s)\n if (!m) return undefined\n return { param: paramRaw, body: m[1]?.trim() ?? '' }\n }\n\n return { param: paramRaw, body: right }\n}\n\nconst extractFunctionReturn = (source: string): { readonly param: string; readonly body: string } | undefined => {\n const trimmed = source.trim()\n const m = trimmed.match(\n /^function\\s*(?:[A-Za-z_$][A-Za-z0-9_$]*\\s*)?\\(\\s*([A-Za-z_$][A-Za-z0-9_$]*)\\s*\\)\\s*\\{\\s*return\\s+(.+?);?\\s*\\}\\s*$/s,\n )\n if (!m) return undefined\n\n const param = m[1]?.trim() ?? ''\n if (!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(param)) return undefined\n\n const body = m[2]?.trim() ?? ''\n if (body.length === 0) return undefined\n\n return { param, body }\n}\n\ntype ParsedSelector =\n | { readonly kind: 'path'; readonly path: string }\n | { readonly kind: 'struct'; readonly entries: ReadonlyArray<readonly [string, string]> }\n\nconst tryParseSelectorSource = (source: string): ParsedSelector | undefined => {\n const arrowOrFn = extractArrow(source) ?? extractFunctionReturn(source)\n if (!arrowOrFn) return undefined\n\n const expr = unwrapParens(arrowOrFn.body).trim().replace(/;$/, '').trim()\n\n // path: s.a.b\n {\n const re = new RegExp(`^${arrowOrFn.param}\\\\.([A-Za-z0-9_$]+(?:\\\\.[A-Za-z0-9_$]+)*)$`)\n const m = expr.match(re)\n if (m) {\n return { kind: 'path', path: m[1] }\n }\n }\n\n // struct: ({ a: s.a, b: s.b })\n if (expr.startsWith('{') && expr.endsWith('}')) {\n const inner = expr.slice(1, -1).trim()\n if (inner.length === 0) return { kind: 'struct', entries: [] }\n\n const parts = inner\n .split(',')\n .map((p) => p.trim())\n .filter((p) => p.length > 0)\n\n const entries: Array<readonly [string, string]> = []\n\n for (const part of parts) {\n const idx = part.indexOf(':')\n if (idx < 0) return undefined\n const key = part.slice(0, idx).trim()\n const value = part.slice(idx + 1).trim()\n\n if (!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(key)) return undefined\n\n const re = new RegExp(`^${arrowOrFn.param}\\\\.([A-Za-z0-9_$]+(?:\\\\.[A-Za-z0-9_$]+)*)$`)\n const m = value.match(re)\n if (!m) return undefined\n entries.push([key, m[1]] as const)\n }\n\n // Sort entries to ensure a stable selectorId.\n entries.sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0))\n return { kind: 'struct', entries }\n }\n\n return undefined\n}\n\ntype ReadQueryStaticTemplate = {\n readonly selectorId: string\n readonly reads: ReadonlyArray<string | number>\n readonly readsDigest: ReadsDigest\n readonly equalsKind: EqualsKind\n}\n\nconst READ_QUERY_TEMPLATE_CACHE_MAX = 2048\nconst readQueryTemplateByFn = new WeakMap<Function, ReadQueryStaticTemplate>()\nconst readQueryTemplateBySource = new Map<string, ReadQueryStaticTemplate>()\n\nconst lruGet = <K, V>(map: Map<K, V>, key: K): V | undefined => {\n const value = map.get(key)\n if (value === undefined) return undefined\n map.delete(key)\n map.set(key, value)\n return value\n}\n\nconst lruSet = <K, V>(map: Map<K, V>, key: K, value: V, maxSize: number) => {\n if (map.has(key)) map.delete(key)\n map.set(key, value)\n if (map.size <= maxSize) return\n const oldestKey = map.keys().next().value as K | undefined\n if (oldestKey !== undefined) {\n map.delete(oldestKey)\n }\n}\n\nconst safeToString = (fn: Function): string => {\n try {\n return fn.toString()\n } catch {\n return ''\n }\n}\n\nexport const make = <S, V>(spec: ReadQuery<S, V>): ReadQuery<S, V> => spec\n\nexport const compile = <S, V>(input: ReadQueryInput<S, V>): ReadQueryCompiled<S, V> => {\n if (isReadQuery(input)) {\n const reads = normalizeReads(input.reads)\n const readsDigest = reads.length > 0 ? makeReadsDigest(reads) : undefined\n\n const equalsKind = input.equalsKind\n const staticIr: ReadQueryStaticIr = {\n selectorId: input.selectorId,\n debugKey: input.debugKey,\n lane: 'static',\n producer: 'manual',\n reads,\n readsDigest,\n equalsKind,\n }\n\n return {\n ...input,\n reads,\n lane: 'static',\n producer: 'manual',\n readsDigest,\n staticIr,\n }\n }\n\n const selector = input\n const debugKey =\n (typeof (selector as any)?.debugKey === 'string' && (selector as any).debugKey.length > 0\n ? (selector as any).debugKey\n : undefined) ??\n (typeof (selector as any).name === 'string' && (selector as any).name.length > 0\n ? (selector as any).name\n : undefined)\n\n const declaredReads: ReadonlyArray<string> | undefined = Array.isArray((selector as any)?.fieldPaths)\n ? ((selector as any).fieldPaths as ReadonlyArray<unknown>).filter((x): x is string => typeof x === 'string')\n : undefined\n\n if (declaredReads && declaredReads.length > 0) {\n const reads = normalizeReads(declaredReads)\n const readsDigest = makeReadsDigest(reads)\n const selectorId = computeSelectorId({ kind: 'reads', reads })\n\n const staticIr: ReadQueryStaticIr = {\n selectorId,\n debugKey,\n lane: 'static',\n producer: 'jit',\n reads,\n readsDigest,\n equalsKind: 'objectIs',\n }\n\n return {\n selectorId,\n debugKey,\n reads,\n select: selector as any,\n equalsKind: 'objectIs',\n lane: 'static',\n producer: 'jit',\n readsDigest,\n staticIr,\n }\n }\n\n const cachedByFn = readQueryTemplateByFn.get(selector as unknown as Function)\n if (cachedByFn) {\n const staticIr: ReadQueryStaticIr = {\n selectorId: cachedByFn.selectorId,\n debugKey,\n lane: 'static',\n producer: 'jit',\n reads: cachedByFn.reads,\n readsDigest: cachedByFn.readsDigest,\n equalsKind: cachedByFn.equalsKind,\n }\n\n return {\n selectorId: cachedByFn.selectorId,\n debugKey,\n reads: cachedByFn.reads,\n select: selector as any,\n equalsKind: cachedByFn.equalsKind,\n lane: 'static',\n producer: 'jit',\n readsDigest: cachedByFn.readsDigest,\n staticIr,\n }\n }\n\n const srcTrimmed = safeToString(selector as unknown as Function).trim()\n const cachedBySource = srcTrimmed.length > 0 ? lruGet(readQueryTemplateBySource, srcTrimmed) : undefined\n if (cachedBySource) {\n readQueryTemplateByFn.set(selector as unknown as Function, cachedBySource)\n const staticIr: ReadQueryStaticIr = {\n selectorId: cachedBySource.selectorId,\n debugKey,\n lane: 'static',\n producer: 'jit',\n reads: cachedBySource.reads,\n readsDigest: cachedBySource.readsDigest,\n equalsKind: cachedBySource.equalsKind,\n }\n\n return {\n selectorId: cachedBySource.selectorId,\n debugKey,\n reads: cachedBySource.reads,\n select: selector as any,\n equalsKind: cachedBySource.equalsKind,\n lane: 'static',\n producer: 'jit',\n readsDigest: cachedBySource.readsDigest,\n staticIr,\n }\n }\n\n const parsed = srcTrimmed.length > 0 ? tryParseSelectorSource(srcTrimmed) : undefined\n\n if (parsed?.kind === 'path') {\n const reads = [parsed.path]\n const readsDigest = makeReadsDigest(reads)\n const selectorId = computeSelectorId({ kind: 'path', path: parsed.path })\n const template: ReadQueryStaticTemplate = { selectorId, reads, readsDigest, equalsKind: 'objectIs' }\n readQueryTemplateByFn.set(selector as unknown as Function, template)\n lruSet(readQueryTemplateBySource, srcTrimmed, template, READ_QUERY_TEMPLATE_CACHE_MAX)\n\n const staticIr: ReadQueryStaticIr = {\n selectorId,\n debugKey,\n lane: 'static',\n producer: 'jit',\n reads,\n readsDigest,\n equalsKind: 'objectIs',\n }\n\n return {\n selectorId,\n debugKey,\n reads,\n select: selector as any,\n equalsKind: 'objectIs',\n lane: 'static',\n producer: 'jit',\n readsDigest,\n staticIr,\n }\n }\n\n if (parsed?.kind === 'struct') {\n const reads = normalizeReads(parsed.entries.map(([, path]) => path))\n const readsDigest = makeReadsDigest(reads)\n const selectorId = computeSelectorId({ kind: 'struct', entries: parsed.entries })\n const template: ReadQueryStaticTemplate = { selectorId, reads, readsDigest, equalsKind: 'shallowStruct' }\n readQueryTemplateByFn.set(selector as unknown as Function, template)\n lruSet(readQueryTemplateBySource, srcTrimmed, template, READ_QUERY_TEMPLATE_CACHE_MAX)\n\n const staticIr: ReadQueryStaticIr = {\n selectorId,\n debugKey,\n lane: 'static',\n producer: 'jit',\n reads,\n readsDigest,\n equalsKind: 'shallowStruct',\n }\n\n return {\n selectorId,\n debugKey,\n reads,\n select: selector as any,\n equalsKind: 'shallowStruct',\n lane: 'static',\n producer: 'jit',\n readsDigest,\n staticIr,\n }\n }\n\n // Dynamic lane fallback (no stable reads / unsupported subset)\n const baseFallbackReason: ReadQueryFallbackReason =\n srcTrimmed.includes('=>') || srcTrimmed.startsWith('function') ? 'unsupportedSyntax' : 'missingDeps'\n\n const lowDiscriminabilitySource = srcTrimmed.length === 0 || srcTrimmed.includes('[native code]')\n const fallbackReason: ReadQueryFallbackReason =\n !debugKey || lowDiscriminabilitySource ? 'unstableSelectorId' : baseFallbackReason\n\n const selectorId =\n fallbackReason === 'unstableSelectorId'\n ? computeUnstableSelectorId(selector as unknown as Function)\n : computeSelectorId({ kind: 'dynamic', debugKey, src: srcTrimmed })\n const staticIr: ReadQueryStaticIr = {\n selectorId,\n debugKey,\n lane: 'dynamic',\n producer: 'dynamic',\n fallbackReason,\n equalsKind: 'objectIs',\n }\n\n return {\n selectorId,\n debugKey,\n reads: [],\n select: selector as any,\n equalsKind: 'objectIs',\n lane: 'dynamic',\n producer: 'dynamic',\n fallbackReason,\n staticIr,\n }\n}\n\nexport interface ReadQueryStrictGateConfig {\n readonly mode: 'off' | 'warn' | 'error'\n readonly requireStatic?: {\n readonly selectorIds?: ReadonlyArray<string>\n readonly modules?: ReadonlyArray<string>\n }\n readonly denyFallbackReasons?: ReadonlyArray<ReadQueryFallbackReason>\n}\n\nexport interface ReadQueryStrictGateViolationDetails {\n readonly moduleId: string\n readonly instanceId: string\n readonly txnSeq: number\n readonly selectorId: string\n readonly debugKey?: string\n readonly fallbackReason: ReadQueryFallbackReason\n readonly rule: ReadQueryStrictGateRule\n}\n\nexport interface ReadQueryStrictGateError extends Error {\n readonly _tag: 'ReadQueryStrictGateError'\n readonly details: ReadQueryStrictGateViolationDetails\n}\n\nexport type ReadQueryStrictGateDiagnosticEvent = Extract<DebugSink.Event, { readonly type: 'diagnostic' }>\n\nexport type ReadQueryStrictGateDecision =\n | { readonly verdict: 'PASS' }\n | {\n readonly verdict: 'WARN'\n readonly diagnostic: ReadQueryStrictGateDiagnosticEvent\n readonly details: ReadQueryStrictGateViolationDetails\n }\n | {\n readonly verdict: 'FAIL'\n readonly diagnostic: ReadQueryStrictGateDiagnosticEvent\n readonly error: ReadQueryStrictGateError\n readonly details: ReadQueryStrictGateViolationDetails\n }\n\nconst filterNonEmpty = (values: ReadonlyArray<string> | undefined): ReadonlyArray<string> | undefined => {\n if (!values || values.length === 0) return undefined\n const next = values.map((v) => v.trim()).filter((v) => v.length > 0)\n return next.length > 0 ? next : undefined\n}\n\nconst makeStrictGateDiagnostic = (args: {\n readonly config: ReadQueryStrictGateConfig\n readonly details: ReadQueryStrictGateViolationDetails\n}): ReadQueryStrictGateDiagnosticEvent => {\n const severity = args.config.mode === 'warn' ? ('warning' as const) : ('error' as const)\n\n return {\n type: 'diagnostic',\n moduleId: args.details.moduleId,\n instanceId: args.details.instanceId,\n txnSeq: args.details.txnSeq,\n code: 'read_query::strict_gate',\n severity,\n message: `ReadQuery strict gate violated: selector entered dynamic lane (selectorId=${args.details.selectorId}, reason=${args.details.fallbackReason}).`,\n hint:\n 'Fix: make the selector statically compilable (AOT/JIT) or pass an explicit ReadQuery; ' +\n 'or disable/narrow the gate via RuntimeOptions.readQuery.strictGate.requireStatic / denyFallbackReasons.',\n kind: 'read_query:strict_gate',\n trigger: {\n kind: 'read_query',\n name: 'strict_gate',\n details: args.details,\n },\n }\n}\n\nconst makeStrictGateError = (args: {\n readonly details: ReadQueryStrictGateViolationDetails\n}): ReadQueryStrictGateError =>\n Object.assign(\n new Error(\n `[ReadQueryStrictGateError] selector entered dynamic lane (selectorId=${args.details.selectorId}, reason=${args.details.fallbackReason}).`,\n ),\n {\n _tag: 'ReadQueryStrictGateError' as const,\n details: args.details,\n },\n ) as ReadQueryStrictGateError\n\nexport const resolveBuildGradeStrictGateDecision = (args: {\n readonly moduleId: string\n readonly instanceId: string\n readonly txnSeq: number\n readonly compiled: ReadQueryCompiled<any, any>\n}): ReadQueryStrictGateDecision | undefined => {\n if (args.compiled.quality?.source !== 'build') return undefined\n const grade = args.compiled.quality.strictGate\n if (!grade || grade.evaluatedAt !== 'build') return undefined\n if (grade.verdict === 'PASS') return undefined\n\n const fallbackReason = (grade.fallbackReason ?? args.compiled.fallbackReason ?? 'missingDeps') as ReadQueryFallbackReason\n const details: ReadQueryStrictGateViolationDetails = {\n moduleId: args.moduleId,\n instanceId: args.instanceId,\n txnSeq: args.txnSeq,\n selectorId: args.compiled.selectorId,\n debugKey: args.compiled.debugKey,\n fallbackReason,\n rule: grade.rule ?? 'requireStatic:global',\n }\n\n const config: ReadQueryStrictGateConfig = {\n mode: grade.verdict === 'WARN' ? 'warn' : 'error',\n }\n const diagnostic = makeStrictGateDiagnostic({ config, details })\n\n if (grade.verdict === 'WARN') {\n return { verdict: 'WARN', diagnostic, details }\n }\n\n return {\n verdict: 'FAIL',\n diagnostic,\n error: makeStrictGateError({ details }),\n details,\n }\n}\n\nexport const evaluateStrictGate = (args: {\n readonly config: ReadQueryStrictGateConfig\n readonly moduleId: string\n readonly instanceId: string\n readonly txnSeq: number\n readonly compiled: ReadQueryCompiled<any, any>\n}): ReadQueryStrictGateDecision => {\n if (args.config.mode === 'off') {\n return { verdict: 'PASS' }\n }\n\n if (args.compiled.lane !== 'dynamic') {\n return { verdict: 'PASS' }\n }\n\n const fallbackReason = (args.compiled.fallbackReason ?? 'missingDeps') as ReadQueryFallbackReason\n\n const denyFallbackReasons = args.config.denyFallbackReasons\n const denied = !!denyFallbackReasons?.includes(fallbackReason)\n\n const selectorIds = filterNonEmpty(args.config.requireStatic?.selectorIds)\n const modules = filterNonEmpty(args.config.requireStatic?.modules)\n const hasCoverageFilter = !!selectorIds || !!modules\n\n const matchedSelectorId = !!selectorIds?.includes(args.compiled.selectorId)\n const matchedModule = !!modules?.includes(args.moduleId)\n const coveredByRequireStatic = !hasCoverageFilter || matchedSelectorId || matchedModule\n\n if (!denied && !coveredByRequireStatic) {\n return { verdict: 'PASS' }\n }\n\n const rule: ReadQueryStrictGateRule = denied\n ? 'denyFallbackReason'\n : !hasCoverageFilter\n ? 'requireStatic:global'\n : matchedSelectorId\n ? 'requireStatic:selectorId'\n : 'requireStatic:module'\n\n const details: ReadQueryStrictGateViolationDetails = {\n moduleId: args.moduleId,\n instanceId: args.instanceId,\n txnSeq: args.txnSeq,\n selectorId: args.compiled.selectorId,\n debugKey: args.compiled.debugKey,\n fallbackReason,\n rule,\n }\n\n const diagnostic = makeStrictGateDiagnostic({ config: args.config, details })\n\n if (args.config.mode === 'warn') {\n return { verdict: 'WARN', diagnostic, details }\n }\n\n const error = makeStrictGateError({ details })\n return { verdict: 'FAIL', diagnostic, error, details }\n}\n","import * as ReadQueryCore from './internal/runtime/core/ReadQuery.js'\nimport * as ReadQueryBuildGateCore from './internal/runtime/core/ReadQueryBuildGate.js'\n\nexport type ReadLane = ReadQueryCore.ReadLane\nexport type ReadProducer = ReadQueryCore.ReadProducer\nexport type EqualsKind = ReadQueryCore.EqualsKind\nexport type ReadsDigest = ReadQueryCore.ReadsDigest\nexport type ReadQueryStrictGateRule = ReadQueryCore.ReadQueryStrictGateRule\nexport type ReadQueryFallbackReason = ReadQueryCore.ReadQueryFallbackReason\nexport type ReadQueryQualityMeta = ReadQueryCore.ReadQueryQualityMeta\nexport type ReadQueryStrictGateGrade = ReadQueryCore.ReadQueryStrictGateGrade\n\nexport type ReadQueryStaticIr = ReadQueryCore.ReadQueryStaticIr\n\nexport type ReadQuery<S, V> = ReadQueryCore.ReadQuery<S, V>\nexport type ReadQueryCompiled<S, V> = ReadQueryCore.ReadQueryCompiled<S, V>\nexport type ReadQueryInput<S, V> = ReadQueryCore.ReadQueryInput<S, V>\nexport type ReadQueryStrictGateConfig = ReadQueryCore.ReadQueryStrictGateConfig\nexport type ReadQueryStrictGateDecision = ReadQueryCore.ReadQueryStrictGateDecision\n\nexport const isReadQuery = ReadQueryCore.isReadQuery\nexport const isReadQueryCompiled = ReadQueryCore.isReadQueryCompiled\nexport const hasBuildQualityGrade = ReadQueryCore.hasBuildQualityGrade\nexport const shouldEvaluateStrictGateAtRuntime = ReadQueryCore.shouldEvaluateStrictGateAtRuntime\nexport const markRuntimeMissingBuildGrade = ReadQueryCore.markRuntimeMissingBuildGrade\nexport const resolveBuildGradeStrictGateDecision = ReadQueryCore.resolveBuildGradeStrictGateDecision\n\nexport const make = ReadQueryCore.make\n\nexport const compile = ReadQueryCore.compile\nexport const evaluateStrictGate = ReadQueryCore.evaluateStrictGate\n\nexport type SelectorQualityEntry = ReadQueryBuildGateCore.SelectorQualityEntry\nexport type SelectorQualitySummary = ReadQueryBuildGateCore.SelectorQualitySummary\nexport type SelectorQualityReport = ReadQueryBuildGateCore.SelectorQualityReport\nexport type SelectorQualityReportResult = ReadQueryBuildGateCore.SelectorQualityReportResult\nexport type BuildReadQueryGradeResult<S, V> = ReadQueryBuildGateCore.BuildReadQueryGradeResult<S, V>\n\nexport const gradeReadQueryAtBuild = ReadQueryBuildGateCore.gradeReadQueryAtBuild\nexport const buildSelectorQualityReport = ReadQueryBuildGateCore.buildSelectorQualityReport\nexport const hasBuildGateFailure = ReadQueryBuildGateCore.hasBuildGateFailure\n","import type { ServiceMap, Stream } from 'effect'\nimport type * as LogixModule from './module.js'\nimport type { ReadQueryCompiled } from './runtime/core/ReadQuery.js'\n\nexport type ExternalStoreDescriptor =\n | {\n readonly kind: 'manual'\n readonly storeId: string\n }\n | {\n readonly kind: 'service'\n readonly storeId: string\n readonly tagId: string\n readonly tag: ServiceMap.Key<any, any>\n readonly map: (service: any) => {\n readonly getSnapshot: () => any\n readonly getServerSnapshot?: () => any\n readonly subscribe: (listener: () => void) => () => void\n }\n }\n | {\n readonly kind: 'subscriptionRef'\n readonly storeId: string\n readonly ref: LogixModule.ReadonlySubscriptionRef<any>\n }\n | {\n readonly kind: 'stream'\n readonly storeId: string\n readonly stream: Stream.Stream<any, any, any>\n readonly initial: unknown\n readonly initialHint: 'initial' | 'current'\n }\n | {\n readonly kind: 'module'\n readonly storeId: string\n readonly module: unknown\n readonly moduleId: string\n /**\n * Optional instance anchor when the caller passes a concrete ModuleRuntime handle.\n * - When omitted, the runtime resolves it from the module tag during install.\n */\n readonly instanceId?: string\n /**\n * Full compiled ReadQuery (includes select/equals); may carry non-serializable closures.\n * Static IR export MUST use `readQuery.staticIr` (JSON-friendly) and ignore non-serializable parts.\n */\n readonly readQuery: ReadQueryCompiled<any, any>\n }\n\nexport const EXTERNAL_STORE_DESCRIPTOR = Symbol.for('@logixjs/core/externalStoreDescriptor')\n\nconst defineHidden = (target: object, key: symbol, value: unknown): void => {\n Object.defineProperty(target, key, {\n value,\n enumerable: false,\n configurable: true,\n writable: false,\n })\n}\n\nexport const attachExternalStoreDescriptor = (store: object, descriptor: ExternalStoreDescriptor): void => {\n defineHidden(store, EXTERNAL_STORE_DESCRIPTOR, descriptor)\n}\n\nexport const getExternalStoreDescriptor = (store: unknown): ExternalStoreDescriptor | undefined => {\n if (!store || (typeof store !== 'object' && typeof store !== 'function')) return undefined\n return (store as any)[EXTERNAL_STORE_DESCRIPTOR] as ExternalStoreDescriptor | undefined\n}\n","export type Cancel = () => void\n\nexport type HostScheduler = {\n readonly nowMs: () => number\n readonly scheduleMicrotask: (cb: () => void) => void\n readonly scheduleMacrotask: (cb: () => void) => Cancel\n readonly scheduleAnimationFrame: (cb: () => void) => Cancel\n readonly scheduleTimeout: (ms: number, cb: () => void) => Cancel\n}\n\nconst noopCancel: Cancel = () => {}\n\nconst safeNowMs = (): number => {\n const perf = (globalThis as any).performance as { now?: () => number } | undefined\n if (perf && typeof perf.now === 'function') {\n try {\n const v = perf.now()\n if (typeof v === 'number' && Number.isFinite(v)) return v\n } catch {\n // fallthrough\n }\n }\n\n return Date.now()\n}\n\nconst safeQueueMicrotask = (cb: () => void): void => {\n const qm = (globalThis as any).queueMicrotask as ((run: () => void) => void) | undefined\n if (typeof qm === 'function') {\n try {\n qm(cb)\n return\n } catch {\n // fallthrough\n }\n }\n\n // Promise job fallback (still a microtask boundary).\n try {\n Promise.resolve().then(cb)\n } catch {\n // last resort\n setTimeout(cb, 0)\n }\n}\n\nconst safeSetTimeout = (ms: number, cb: () => void): Cancel => {\n const id = setTimeout(cb, ms)\n return () => {\n try {\n clearTimeout(id)\n } catch {\n // best-effort\n }\n }\n}\n\nconst makeMessageChannelMacrotask = (): ((cb: () => void) => Cancel) | undefined => {\n const MC = (globalThis as any).MessageChannel as { new (): MessageChannel } | undefined\n if (typeof MC !== 'function') return undefined\n\n let channel: MessageChannel\n try {\n channel = new MC()\n } catch {\n return undefined\n }\n\n type Task = { canceled: boolean; cb: () => void }\n const queue: Array<Task> = []\n let scheduled = false\n\n const flush = (): void => {\n scheduled = false\n const tasks = queue.splice(0, queue.length)\n for (const t of tasks) {\n if (t.canceled) continue\n try {\n t.cb()\n } catch {\n // best-effort\n }\n }\n }\n\n try {\n channel.port1.onmessage = flush\n } catch {\n return undefined\n }\n\n const schedule = (cb: () => void): Cancel => {\n const task: Task = { canceled: false, cb }\n queue.push(task)\n if (!scheduled) {\n scheduled = true\n try {\n channel.port2.postMessage(undefined)\n } catch {\n scheduled = false\n // fallback to timeout if postMessage fails\n return safeSetTimeout(0, cb)\n }\n }\n return () => {\n task.canceled = true\n }\n }\n\n return schedule\n}\n\nconst makeSetImmediateMacrotask = (): ((cb: () => void) => Cancel) | undefined => {\n const si = (globalThis as any).setImmediate as ((run: () => void) => any) | undefined\n const ci = (globalThis as any).clearImmediate as ((id: any) => void) | undefined\n if (typeof si !== 'function') return undefined\n\n return (cb) => {\n let id: any\n try {\n id = si(cb)\n } catch {\n return safeSetTimeout(0, cb)\n }\n\n return () => {\n if (typeof ci !== 'function') return\n try {\n ci(id)\n } catch {\n // best-effort\n }\n }\n }\n}\n\nconst makeRaf = (): ((cb: () => void) => Cancel) | undefined => {\n const raf = (globalThis as any).requestAnimationFrame as ((run: () => void) => number) | undefined\n const cancel = (globalThis as any).cancelAnimationFrame as ((id: number) => void) | undefined\n if (typeof raf !== 'function') return undefined\n\n return (cb) => {\n let id: number\n try {\n id = raf(cb)\n } catch {\n return noopCancel\n }\n\n return () => {\n if (typeof cancel !== 'function') return\n try {\n cancel(id)\n } catch {\n // best-effort\n }\n }\n }\n}\n\nexport const makeDefaultHostScheduler = (): HostScheduler => {\n const macrotask =\n makeSetImmediateMacrotask() ??\n makeMessageChannelMacrotask() ??\n ((cb: () => void) => safeSetTimeout(0, cb))\n\n const raf = makeRaf()\n\n return {\n nowMs: safeNowMs,\n scheduleMicrotask: safeQueueMicrotask,\n scheduleMacrotask: macrotask,\n scheduleAnimationFrame: (cb) => raf?.(cb) ?? macrotask(cb),\n scheduleTimeout: safeSetTimeout,\n }\n}\n\nlet globalHostScheduler: HostScheduler | undefined\n\nexport const getGlobalHostScheduler = (): HostScheduler => {\n globalHostScheduler ??= makeDefaultHostScheduler()\n return globalHostScheduler\n}\n\nexport const __unsafeSetGlobalHostSchedulerForTests = (next: HostScheduler | undefined): void => {\n globalHostScheduler = next\n}\n\nexport type DeterministicHostScheduler = HostScheduler & {\n readonly flushMicrotasks: (options?: { readonly max?: number }) => number\n readonly flushOneMacrotask: () => boolean\n readonly flushAll: (options?: { readonly maxTurns?: number }) => { readonly turns: number; readonly ran: number }\n readonly getQueueSize: () => { readonly microtasks: number; readonly macrotasks: number }\n}\n\nexport const makeDeterministicHostScheduler = (): DeterministicHostScheduler => {\n const microtasks: Array<() => void> = []\n const macrotasks: Array<{ canceled: boolean; cb: () => void }> = []\n\n const flushMicrotasks = (options?: { readonly max?: number }): number => {\n const max = options?.max ?? 10_000\n let ran = 0\n while (microtasks.length > 0 && ran < max) {\n const cb = microtasks.shift()!\n ran += 1\n try {\n cb()\n } catch {\n // best-effort\n }\n }\n return ran\n }\n\n const flushOneMacrotask = (): boolean => {\n const t = macrotasks.shift()\n if (!t) return false\n if (t.canceled) return true\n try {\n t.cb()\n } catch {\n // best-effort\n }\n return true\n }\n\n const flushAll = (options?: { readonly maxTurns?: number }): { turns: number; ran: number } => {\n const maxTurns = options?.maxTurns ?? 10_000\n let turns = 0\n let ran = 0\n\n while (turns < maxTurns) {\n const before = microtasks.length + macrotasks.length\n ran += flushMicrotasks()\n if (microtasks.length > 0) {\n turns += 1\n continue\n }\n if (flushOneMacrotask()) {\n turns += 1\n continue\n }\n const after = microtasks.length + macrotasks.length\n if (after === 0 || after === before) break\n turns += 1\n }\n\n return { turns, ran }\n }\n\n return {\n nowMs: safeNowMs,\n scheduleMicrotask: (cb) => {\n microtasks.push(cb)\n },\n scheduleMacrotask: (cb) => {\n const task = { canceled: false, cb }\n macrotasks.push(task)\n return () => {\n task.canceled = true\n }\n },\n scheduleAnimationFrame: (cb) => {\n const task = { canceled: false, cb }\n macrotasks.push(task)\n return () => {\n task.canceled = true\n }\n },\n scheduleTimeout: (_ms, cb) => {\n const task = { canceled: false, cb }\n macrotasks.push(task)\n return () => {\n task.canceled = true\n }\n },\n flushMicrotasks,\n flushOneMacrotask,\n flushAll,\n getQueueSize: () => ({ microtasks: microtasks.length, macrotasks: macrotasks.length }),\n }\n}\n"],"mappings":"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","names":["staticIr","selectorId","compile","module","compile"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import 'effect';
|
|
2
|
+
import './ReadQuery-Yve1lmUo.cjs';
|
|
3
|
+
import './module-Ds4tarcI.cjs';
|
|
4
|
+
export { a as ExternalStore, b as ExternalStoreRuntimeError, e as fromModule, f as fromService, d as fromStream, c as fromSubscriptionRef } from './ExternalStore-JC-gAgEI.cjs';
|
|
5
|
+
import './ReadQuery-DXLzCE0E.cjs';
|
|
6
|
+
import 'mutative';
|
|
7
|
+
import './Platform-BV_0MW7g.cjs';
|
|
8
|
+
import './action-BQxjPFEw.cjs';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import 'effect';
|
|
2
|
+
import './ReadQuery-C_or5nLC.js';
|
|
3
|
+
import './module-Zd1Gn-Nj.js';
|
|
4
|
+
export { a as ExternalStore, b as ExternalStoreRuntimeError, e as fromModule, f as fromService, d as fromStream, c as fromSubscriptionRef } from './ExternalStore-DqJKKRJ4.js';
|
|
5
|
+
import './ReadQuery-DXLzCE0E.js';
|
|
6
|
+
import 'mutative';
|
|
7
|
+
import './Platform-BV_0MW7g.js';
|
|
8
|
+
import './action-BQxjPFEw.js';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
fromModule,
|
|
3
|
+
fromService,
|
|
4
|
+
fromStream,
|
|
5
|
+
fromSubscriptionRef
|
|
6
|
+
} from "./chunk-2XRLXDWR.js";
|
|
7
|
+
import "./chunk-KMZYQF6Q.js";
|
|
8
|
+
import "./chunk-NZMWWDAY.js";
|
|
9
|
+
import "./chunk-MYKNINNN.js";
|
|
10
|
+
import "./chunk-PBD7BJUN.js";
|
|
11
|
+
import "./chunk-4MZ7BT3R.js";
|
|
12
|
+
import "./chunk-PZ5AY32C.js";
|
|
13
|
+
export {
|
|
14
|
+
fromModule,
|
|
15
|
+
fromService,
|
|
16
|
+
fromStream,
|
|
17
|
+
fromSubscriptionRef
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=ExternalStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Effect, Cause,
|
|
2
|
-
import {
|
|
3
|
-
import { E as Env$1 } from './Logic-
|
|
1
|
+
import { Effect, Cause, ServiceMap } from 'effect';
|
|
2
|
+
import { W as ErrorContext, s as ModuleRuntime, c as StateTransactionInstrumentation, X as StateTxnOrigin, d as StatePatchPath, P as PatchReason, C as ConcurrencyLimit, Y as TraitContribution, Z as ModuleTraitsSnapshot, o as AnyModuleShape, p as ModuleShape, _ as Api$1, v as StateOf, w as ActionOf } from './module-Ds4tarcI.cjs';
|
|
3
|
+
import { E as Env$1 } from './Logic-09VQpIj3.cjs';
|
|
4
4
|
|
|
5
5
|
type TxnLanePolicyScope = 'provider' | 'runtime_module' | 'runtime_default' | 'builtin';
|
|
6
6
|
type TxnLaneQueueMode = 'fifo' | 'lanes';
|
|
@@ -17,6 +17,11 @@ type ResolvedTxnLanePolicy = {
|
|
|
17
17
|
readonly queueMode: TxnLaneQueueMode;
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
+
type TxnOriginOverride = {
|
|
21
|
+
readonly kind: string;
|
|
22
|
+
readonly name?: string;
|
|
23
|
+
};
|
|
24
|
+
|
|
20
25
|
type RuntimeInternalsEffects = {
|
|
21
26
|
readonly registerEffect: (args: {
|
|
22
27
|
readonly actionTag: string;
|
|
@@ -34,7 +39,7 @@ type RuntimeInternalsEffects = {
|
|
|
34
39
|
};
|
|
35
40
|
type ImportsScope = {
|
|
36
41
|
readonly kind: 'imports-scope';
|
|
37
|
-
readonly get: (module:
|
|
42
|
+
readonly get: (module: ServiceMap.Key<any, ModuleRuntime<any, any>>) => ModuleRuntime<any, any> | undefined;
|
|
38
43
|
};
|
|
39
44
|
type RuntimeInternalsLifecycle = {
|
|
40
45
|
readonly registerInitRequired: (eff: Effect.Effect<void, never, any>, options?: {
|
|
@@ -61,6 +66,10 @@ type RuntimeInternalsLifecycle = {
|
|
|
61
66
|
type RuntimeInternalsTxn = {
|
|
62
67
|
readonly instrumentation: StateTransactionInstrumentation;
|
|
63
68
|
readonly registerReducer: (tag: string, fn: (state: unknown, action: unknown) => unknown) => void;
|
|
69
|
+
readonly registerActionStateWriteback: (tag: string, handler: unknown) => void;
|
|
70
|
+
readonly dispatchWithOriginOverride: (action: unknown, override?: TxnOriginOverride) => Effect.Effect<void, never, any>;
|
|
71
|
+
readonly dispatchLowPriorityWithOriginOverride: (action: unknown, override?: TxnOriginOverride) => Effect.Effect<void, never, any>;
|
|
72
|
+
readonly dispatchBatchWithOriginOverride: (actions: ReadonlyArray<unknown>, override?: TxnOriginOverride) => Effect.Effect<void, never, any>;
|
|
64
73
|
readonly runWithStateTransaction: (origin: StateTxnOrigin, body: () => Effect.Effect<void, never, any>) => Effect.Effect<void, never, any>;
|
|
65
74
|
/**
|
|
66
75
|
* updateDraft:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Effect, Cause,
|
|
2
|
-
import {
|
|
3
|
-
import { E as Env$1 } from './Logic-
|
|
1
|
+
import { Effect, Cause, ServiceMap } from 'effect';
|
|
2
|
+
import { W as ErrorContext, s as ModuleRuntime, c as StateTransactionInstrumentation, X as StateTxnOrigin, d as StatePatchPath, P as PatchReason, C as ConcurrencyLimit, Y as TraitContribution, Z as ModuleTraitsSnapshot, o as AnyModuleShape, p as ModuleShape, _ as Api$1, v as StateOf, w as ActionOf } from './module-Zd1Gn-Nj.js';
|
|
3
|
+
import { E as Env$1 } from './Logic-DKg7ghGy.js';
|
|
4
4
|
|
|
5
5
|
type TxnLanePolicyScope = 'provider' | 'runtime_module' | 'runtime_default' | 'builtin';
|
|
6
6
|
type TxnLaneQueueMode = 'fifo' | 'lanes';
|
|
@@ -17,6 +17,11 @@ type ResolvedTxnLanePolicy = {
|
|
|
17
17
|
readonly queueMode: TxnLaneQueueMode;
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
+
type TxnOriginOverride = {
|
|
21
|
+
readonly kind: string;
|
|
22
|
+
readonly name?: string;
|
|
23
|
+
};
|
|
24
|
+
|
|
20
25
|
type RuntimeInternalsEffects = {
|
|
21
26
|
readonly registerEffect: (args: {
|
|
22
27
|
readonly actionTag: string;
|
|
@@ -34,7 +39,7 @@ type RuntimeInternalsEffects = {
|
|
|
34
39
|
};
|
|
35
40
|
type ImportsScope = {
|
|
36
41
|
readonly kind: 'imports-scope';
|
|
37
|
-
readonly get: (module:
|
|
42
|
+
readonly get: (module: ServiceMap.Key<any, ModuleRuntime<any, any>>) => ModuleRuntime<any, any> | undefined;
|
|
38
43
|
};
|
|
39
44
|
type RuntimeInternalsLifecycle = {
|
|
40
45
|
readonly registerInitRequired: (eff: Effect.Effect<void, never, any>, options?: {
|
|
@@ -61,6 +66,10 @@ type RuntimeInternalsLifecycle = {
|
|
|
61
66
|
type RuntimeInternalsTxn = {
|
|
62
67
|
readonly instrumentation: StateTransactionInstrumentation;
|
|
63
68
|
readonly registerReducer: (tag: string, fn: (state: unknown, action: unknown) => unknown) => void;
|
|
69
|
+
readonly registerActionStateWriteback: (tag: string, handler: unknown) => void;
|
|
70
|
+
readonly dispatchWithOriginOverride: (action: unknown, override?: TxnOriginOverride) => Effect.Effect<void, never, any>;
|
|
71
|
+
readonly dispatchLowPriorityWithOriginOverride: (action: unknown, override?: TxnOriginOverride) => Effect.Effect<void, never, any>;
|
|
72
|
+
readonly dispatchBatchWithOriginOverride: (actions: ReadonlyArray<unknown>, override?: TxnOriginOverride) => Effect.Effect<void, never, any>;
|
|
64
73
|
readonly runWithStateTransaction: (origin: StateTxnOrigin, body: () => Effect.Effect<void, never, any>) => Effect.Effect<void, never, any>;
|
|
65
74
|
/**
|
|
66
75
|
* updateDraft:
|