@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
|
@@ -4,6 +4,7 @@ var normalizePatchReason = (reason) => {
|
|
|
4
4
|
case "reducer":
|
|
5
5
|
case "trait-computed":
|
|
6
6
|
case "trait-link":
|
|
7
|
+
case "trait-external-store":
|
|
7
8
|
case "source-refresh":
|
|
8
9
|
case "devtools":
|
|
9
10
|
case "perf":
|
|
@@ -56,6 +57,17 @@ var isPrefixOf = (prefix, full) => {
|
|
|
56
57
|
}
|
|
57
58
|
return true;
|
|
58
59
|
};
|
|
60
|
+
var toKey = (path) => {
|
|
61
|
+
let key = "";
|
|
62
|
+
for (let i = 0; i < path.length; i++) {
|
|
63
|
+
if (i > 0) key += "|";
|
|
64
|
+
const seg = path[i];
|
|
65
|
+
key += seg.length;
|
|
66
|
+
key += ":";
|
|
67
|
+
key += seg;
|
|
68
|
+
}
|
|
69
|
+
return key;
|
|
70
|
+
};
|
|
59
71
|
var makeFieldPathIdRegistry = (fieldPaths) => {
|
|
60
72
|
const root = { children: /* @__PURE__ */ new Map() };
|
|
61
73
|
const pathStringToId = /* @__PURE__ */ new Map();
|
|
@@ -108,20 +120,75 @@ var hashFieldPathIds = (ids) => {
|
|
|
108
120
|
}
|
|
109
121
|
return hash >>> 0;
|
|
110
122
|
};
|
|
123
|
+
var makeDirtyAllSet = (reason) => ({
|
|
124
|
+
dirtyAll: true,
|
|
125
|
+
reason,
|
|
126
|
+
rootIds: [],
|
|
127
|
+
rootCount: 0,
|
|
128
|
+
keySize: 0,
|
|
129
|
+
keyHash: 0
|
|
130
|
+
});
|
|
131
|
+
var buildSpecificDirtySetFromIds = (ids, fieldPathsById) => {
|
|
132
|
+
const sorted = Array.from(ids);
|
|
133
|
+
sorted.sort((a, b) => {
|
|
134
|
+
const ap = fieldPathsById[a];
|
|
135
|
+
const bp = fieldPathsById[b];
|
|
136
|
+
const cmp = compareFieldPath(ap, bp);
|
|
137
|
+
return cmp !== 0 ? cmp : a - b;
|
|
138
|
+
});
|
|
139
|
+
const rootIds = [];
|
|
140
|
+
let prev;
|
|
141
|
+
for (let i = 0; i < sorted.length; i++) {
|
|
142
|
+
const id = sorted[i];
|
|
143
|
+
const path = fieldPathsById[id];
|
|
144
|
+
if (prev && isPrefixOf(prev, path)) continue;
|
|
145
|
+
rootIds.push(id);
|
|
146
|
+
prev = path;
|
|
147
|
+
}
|
|
148
|
+
if (rootIds.length === 0) {
|
|
149
|
+
return makeDirtyAllSet("unknownWrite");
|
|
150
|
+
}
|
|
151
|
+
rootIds.sort((a, b) => a - b);
|
|
152
|
+
const keyHash = hashFieldPathIds(rootIds);
|
|
153
|
+
return {
|
|
154
|
+
dirtyAll: false,
|
|
155
|
+
rootIds,
|
|
156
|
+
rootCount: rootIds.length,
|
|
157
|
+
keySize: rootIds.length,
|
|
158
|
+
keyHash
|
|
159
|
+
};
|
|
160
|
+
};
|
|
161
|
+
var buildSpecificDirtySetFromIdsShallowFast = (ids) => {
|
|
162
|
+
const sorted = Array.from(ids);
|
|
163
|
+
sorted.sort((a, b) => a - b);
|
|
164
|
+
const rootIds = [];
|
|
165
|
+
let prev;
|
|
166
|
+
for (let i = 0; i < sorted.length; i++) {
|
|
167
|
+
const id = sorted[i];
|
|
168
|
+
if (prev === id) continue;
|
|
169
|
+
rootIds.push(id);
|
|
170
|
+
prev = id;
|
|
171
|
+
}
|
|
172
|
+
if (rootIds.length === 0) {
|
|
173
|
+
return makeDirtyAllSet("unknownWrite");
|
|
174
|
+
}
|
|
175
|
+
const keyHash = hashFieldPathIds(rootIds);
|
|
176
|
+
return {
|
|
177
|
+
dirtyAll: false,
|
|
178
|
+
rootIds,
|
|
179
|
+
rootCount: rootIds.length,
|
|
180
|
+
keySize: rootIds.length,
|
|
181
|
+
keyHash
|
|
182
|
+
};
|
|
183
|
+
};
|
|
111
184
|
var dirtyPathsToRootIds = (options) => {
|
|
112
185
|
if (options.dirtyAllReason) {
|
|
113
|
-
return
|
|
114
|
-
dirtyAll: true,
|
|
115
|
-
reason: options.dirtyAllReason,
|
|
116
|
-
rootIds: [],
|
|
117
|
-
rootCount: 0,
|
|
118
|
-
keySize: 0,
|
|
119
|
-
keyHash: 0
|
|
120
|
-
};
|
|
186
|
+
return makeDirtyAllSet(options.dirtyAllReason);
|
|
121
187
|
}
|
|
122
188
|
let sawStar = false;
|
|
123
189
|
let hasInvalid = false;
|
|
124
190
|
let missing = false;
|
|
191
|
+
let allShallow = true;
|
|
125
192
|
const ids = [];
|
|
126
193
|
for (const raw of options.dirtyPaths ?? []) {
|
|
127
194
|
if (raw === "*") {
|
|
@@ -138,16 +205,23 @@ var dirtyPathsToRootIds = (options) => {
|
|
|
138
205
|
hasInvalid = true;
|
|
139
206
|
continue;
|
|
140
207
|
}
|
|
141
|
-
|
|
208
|
+
const fieldPath = options.registry.fieldPaths[id2];
|
|
209
|
+
if (!fieldPath) {
|
|
142
210
|
missing = true;
|
|
143
211
|
continue;
|
|
144
212
|
}
|
|
213
|
+
if (allShallow && fieldPath.length !== 1) {
|
|
214
|
+
allShallow = false;
|
|
215
|
+
}
|
|
145
216
|
ids.push(id2);
|
|
146
217
|
continue;
|
|
147
218
|
}
|
|
148
219
|
if (typeof raw === "string") {
|
|
149
220
|
const direct = options.registry.pathStringToId?.get(raw);
|
|
150
221
|
if (direct != null) {
|
|
222
|
+
if (allShallow && options.registry.fieldPaths[direct]?.length !== 1) {
|
|
223
|
+
allShallow = false;
|
|
224
|
+
}
|
|
151
225
|
ids.push(direct);
|
|
152
226
|
continue;
|
|
153
227
|
}
|
|
@@ -164,76 +238,24 @@ var dirtyPathsToRootIds = (options) => {
|
|
|
164
238
|
missing = true;
|
|
165
239
|
continue;
|
|
166
240
|
}
|
|
241
|
+
if (allShallow && options.registry.fieldPaths[id]?.length !== 1) {
|
|
242
|
+
allShallow = false;
|
|
243
|
+
}
|
|
167
244
|
ids.push(id);
|
|
168
245
|
}
|
|
169
246
|
if (hasInvalid) {
|
|
170
|
-
return
|
|
171
|
-
dirtyAll: true,
|
|
172
|
-
reason: "nonTrackablePatch",
|
|
173
|
-
rootIds: [],
|
|
174
|
-
rootCount: 0,
|
|
175
|
-
keySize: 0,
|
|
176
|
-
keyHash: 0
|
|
177
|
-
};
|
|
247
|
+
return makeDirtyAllSet("nonTrackablePatch");
|
|
178
248
|
}
|
|
179
249
|
if (missing) {
|
|
180
|
-
return
|
|
181
|
-
dirtyAll: true,
|
|
182
|
-
reason: "fallbackPolicy",
|
|
183
|
-
rootIds: [],
|
|
184
|
-
rootCount: 0,
|
|
185
|
-
keySize: 0,
|
|
186
|
-
keyHash: 0
|
|
187
|
-
};
|
|
250
|
+
return makeDirtyAllSet("fallbackPolicy");
|
|
188
251
|
}
|
|
189
252
|
if (sawStar) {
|
|
190
|
-
return
|
|
191
|
-
dirtyAll: true,
|
|
192
|
-
reason: "unknownWrite",
|
|
193
|
-
rootIds: [],
|
|
194
|
-
rootCount: 0,
|
|
195
|
-
keySize: 0,
|
|
196
|
-
keyHash: 0
|
|
197
|
-
};
|
|
253
|
+
return makeDirtyAllSet("unknownWrite");
|
|
198
254
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
const ap = fieldPathsById[a];
|
|
202
|
-
const bp = fieldPathsById[b];
|
|
203
|
-
if (!ap || !bp) return a - b;
|
|
204
|
-
const cmp = compareFieldPath(ap, bp);
|
|
205
|
-
return cmp !== 0 ? cmp : a - b;
|
|
206
|
-
});
|
|
207
|
-
const rootIds = [];
|
|
208
|
-
let prev;
|
|
209
|
-
for (let i = 0; i < ids.length; i++) {
|
|
210
|
-
const id = ids[i];
|
|
211
|
-
const path = fieldPathsById[id];
|
|
212
|
-
if (!path) continue;
|
|
213
|
-
if (prev && isPrefixOf(prev, path)) continue;
|
|
214
|
-
rootIds.push(id);
|
|
215
|
-
prev = path;
|
|
216
|
-
}
|
|
217
|
-
const hasSpecific = rootIds.length > 0;
|
|
218
|
-
if (!hasSpecific) {
|
|
219
|
-
return {
|
|
220
|
-
dirtyAll: true,
|
|
221
|
-
reason: "unknownWrite",
|
|
222
|
-
rootIds: [],
|
|
223
|
-
rootCount: 0,
|
|
224
|
-
keySize: 0,
|
|
225
|
-
keyHash: 0
|
|
226
|
-
};
|
|
255
|
+
if (allShallow) {
|
|
256
|
+
return buildSpecificDirtySetFromIdsShallowFast(ids);
|
|
227
257
|
}
|
|
228
|
-
|
|
229
|
-
const keyHash = hashFieldPathIds(rootIds);
|
|
230
|
-
return {
|
|
231
|
-
dirtyAll: false,
|
|
232
|
-
rootIds,
|
|
233
|
-
rootCount: rootIds.length,
|
|
234
|
-
keySize: rootIds.length,
|
|
235
|
-
keyHash
|
|
236
|
-
};
|
|
258
|
+
return buildSpecificDirtySetFromIds(ids, options.registry.fieldPaths);
|
|
237
259
|
};
|
|
238
260
|
var splitSegments = (path) => {
|
|
239
261
|
if (!path) return void 0;
|
|
@@ -272,8 +294,9 @@ export {
|
|
|
272
294
|
normalizeFieldPath,
|
|
273
295
|
compareFieldPath,
|
|
274
296
|
isPrefixOf,
|
|
297
|
+
toKey,
|
|
275
298
|
makeFieldPathIdRegistry,
|
|
276
299
|
getFieldPathId,
|
|
277
300
|
dirtyPathsToRootIds
|
|
278
301
|
};
|
|
279
|
-
//# sourceMappingURL=chunk-
|
|
302
|
+
//# sourceMappingURL=chunk-SOOBFXRR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal/field-path.ts"],"sourcesContent":["export type FieldPath = ReadonlyArray<string>\nexport type FieldPathId = number\n\nexport type DirtyAllReason = 'unknownWrite' | 'customMutation' | 'nonTrackablePatch' | 'fallbackPolicy'\n\nexport type PatchReason =\n | 'reducer'\n | 'trait-computed'\n | 'trait-link'\n | 'trait-external-store'\n | 'source-refresh'\n | 'devtools'\n | 'perf'\n | 'unknown'\n\nexport const normalizePatchReason = (reason: unknown): PatchReason => {\n switch (reason) {\n case 'reducer':\n case 'trait-computed':\n case 'trait-link':\n case 'trait-external-store':\n case 'source-refresh':\n case 'devtools':\n case 'perf':\n case 'unknown':\n return reason\n default:\n return typeof reason === 'string' && reason.startsWith('source:') ? 'source-refresh' : 'unknown'\n }\n}\n\nexport interface DirtySet {\n readonly dirtyAll: boolean\n /**\n * When dirtyAll=true, a stable reason code must be provided; when dirtyAll=false, it should be omitted.\n */\n readonly reason?: DirtyAllReason\n /**\n * FieldPathId (Static IR table index).\n * - When dirtyAll=true, must be an empty array;\n * - When dirtyAll=false, roots are deduped / prefix-free / stably sorted.\n */\n readonly rootIds: ReadonlyArray<FieldPathId>\n readonly rootCount: number\n readonly keySize: number\n readonly keyHash: number\n /**\n * Optional: mark when the output is TopK-truncated (light/full).\n * Note: truncation does not affect the definition of keyHash/keySize/rootCount (they still refer to full roots).\n */\n readonly rootIdsTruncated?: boolean\n}\n\ninterface FieldPathTrieNode {\n id?: FieldPathId\n children: Map<string, FieldPathTrieNode>\n}\n\nexport interface FieldPathIdRegistry {\n readonly fieldPaths: ReadonlyArray<FieldPath>\n readonly root: FieldPathTrieNode\n /**\n * Fast path: direct lookup for common string inputs (e.g. 'a.b').\n *\n * Note: This map is only safe for \"dot-separated\" paths. If a schema key itself contains '.',\n * it is ambiguous with nested paths and should not rely on string-path APIs.\n */\n readonly pathStringToId?: ReadonlyMap<string, FieldPathId>\n}\n\nexport const isFieldPathSegment = (seg: string): boolean => {\n if (!seg) return false\n if (seg === '*') return false\n if (/^\\d+$/.test(seg)) return false\n if (seg.includes('[') || seg.includes(']')) return false\n return true\n}\n\nexport const normalizeFieldPath = (input: string | FieldPath): FieldPath | undefined => {\n if (typeof input === 'string') {\n const segs = splitSegments(input)\n if (!segs || segs.length === 0) return undefined\n const normalized = segs.filter(isFieldPathSegment)\n return normalized.length > 0 ? normalized : undefined\n }\n\n if (input.length === 0) return undefined\n\n let needsFilter = false\n for (const seg of input) {\n if (!isFieldPathSegment(seg)) {\n needsFilter = true\n break\n }\n }\n\n if (!needsFilter) return input\n\n const normalized = input.filter(isFieldPathSegment)\n return normalized.length > 0 ? normalized : undefined\n}\n\nexport const compareFieldPath = (a: FieldPath, b: FieldPath): number => {\n const len = Math.min(a.length, b.length)\n for (let i = 0; i < len; i++) {\n const as = a[i]!\n const bs = b[i]!\n if (as === bs) continue\n return as < bs ? -1 : 1\n }\n return a.length - b.length\n}\n\nexport const isPrefixOf = (prefix: FieldPath, full: FieldPath): boolean => {\n if (prefix.length > full.length) return false\n for (let i = 0; i < prefix.length; i++) {\n if (prefix[i] !== full[i]) return false\n }\n return true\n}\n\nexport const toKey = (path: FieldPath): string => {\n let key = ''\n for (let i = 0; i < path.length; i++) {\n if (i > 0) key += '|'\n const seg = path[i]!\n key += seg.length\n key += ':'\n key += seg\n }\n return key\n}\n\nexport const toPathString = (path: FieldPath): string => path.join('.')\n\nexport const canonicalizeRoots = (roots: Iterable<FieldPath>): ReadonlyArray<FieldPath> => {\n const byKey = new Map<string, FieldPath>()\n for (const root of roots) {\n const key = toKey(root)\n if (!byKey.has(key)) byKey.set(key, root)\n }\n\n const sorted = Array.from(byKey.values()).sort(compareFieldPath)\n const out: Array<FieldPath> = []\n for (const next of sorted) {\n const prev = out[out.length - 1]\n if (prev && isPrefixOf(prev, next)) {\n continue\n }\n out.push(next)\n }\n return out\n}\n\nexport const canonicalizeRootsFast = (roots: Iterable<FieldPath>): ReadonlyArray<FieldPath> => {\n const sorted = Array.from(roots).sort(compareFieldPath)\n const out: Array<FieldPath> = []\n for (const next of sorted) {\n const prev = out[out.length - 1]\n if (prev && isPrefixOf(prev, next)) continue\n out.push(next)\n }\n return out\n}\n\nexport const makeFieldPathIdRegistry = (fieldPaths: ReadonlyArray<FieldPath>): FieldPathIdRegistry => {\n const root: FieldPathTrieNode = { children: new Map() }\n const pathStringToId = new Map<string, FieldPathId>()\n const ambiguousPathStrings = new Set<string>()\n\n for (let id = 0; id < fieldPaths.length; id++) {\n const path = fieldPaths[id]!\n let node = root\n for (const seg of path) {\n const children = node.children\n let next = children.get(seg)\n if (!next) {\n next = { children: new Map() }\n children.set(seg, next)\n }\n node = next\n }\n node.id = id\n\n if (path.length > 0 && path.some((seg) => seg.includes('.'))) {\n const key = path.join('.')\n ambiguousPathStrings.add(key)\n pathStringToId.delete(key)\n }\n\n if (path.length > 0 && path.every((seg) => !seg.includes('.') && !seg.includes('[') && !seg.includes(']'))) {\n const key = path.join('.')\n if (ambiguousPathStrings.has(key)) continue\n if (pathStringToId.has(key)) {\n ambiguousPathStrings.add(key)\n pathStringToId.delete(key)\n continue\n }\n pathStringToId.set(key, id)\n }\n }\n\n return { fieldPaths, root, pathStringToId }\n}\n\nexport const getFieldPathId = (registry: FieldPathIdRegistry, path: FieldPath): FieldPathId | undefined => {\n let node = registry.root\n for (const seg of path) {\n const next = node.children.get(seg)\n if (!next) return undefined\n node = next\n }\n return node.id\n}\n\nexport const getFieldPathIdFromString = (registry: FieldPathIdRegistry, path: string): FieldPathId | undefined => {\n if (!path || path === '*') return undefined\n const normalized = normalizeFieldPath(path)\n if (!normalized) return undefined\n return getFieldPathId(registry, normalized)\n}\n\nexport const hashFieldPathIds = (ids: ReadonlyArray<number>): number => {\n // FNV-1a (32-bit)\n let hash = 2166136261 >>> 0\n for (const id of ids) {\n hash ^= id >>> 0\n hash = Math.imul(hash, 16777619)\n }\n return hash >>> 0\n}\n\nconst makeDirtyAllSet = (reason: DirtyAllReason): DirtySet => ({\n dirtyAll: true,\n reason,\n rootIds: [],\n rootCount: 0,\n keySize: 0,\n keyHash: 0,\n})\n\nconst buildSpecificDirtySetFromIds = (\n ids: ReadonlyArray<number>,\n fieldPathsById: ReadonlyArray<FieldPath>,\n): DirtySet => {\n const sorted = Array.from(ids)\n sorted.sort((a, b) => {\n const ap = fieldPathsById[a]\n const bp = fieldPathsById[b]\n const cmp = compareFieldPath(ap!, bp!)\n return cmp !== 0 ? cmp : a - b\n })\n\n const rootIds: Array<number> = []\n let prev: FieldPath | undefined\n for (let i = 0; i < sorted.length; i++) {\n const id = sorted[i]!\n const path = fieldPathsById[id]!\n if (prev && isPrefixOf(prev, path)) continue\n rootIds.push(id)\n prev = path\n }\n\n if (rootIds.length === 0) {\n return makeDirtyAllSet('unknownWrite')\n }\n\n rootIds.sort((a, b) => a - b)\n const keyHash = hashFieldPathIds(rootIds)\n return {\n dirtyAll: false,\n rootIds,\n rootCount: rootIds.length,\n keySize: rootIds.length,\n keyHash,\n }\n}\n\nconst buildSpecificDirtySetFromIdsShallowFast = (ids: ReadonlyArray<number>): DirtySet => {\n // Fast path: if all dirty paths are single-segment (no structural prefixes possible),\n // roots are just the unique ids in numeric order.\n const sorted = Array.from(ids)\n sorted.sort((a, b) => a - b)\n\n const rootIds: Array<number> = []\n let prev: number | undefined\n for (let i = 0; i < sorted.length; i++) {\n const id = sorted[i]!\n if (prev === id) continue\n rootIds.push(id)\n prev = id\n }\n\n if (rootIds.length === 0) {\n return makeDirtyAllSet('unknownWrite')\n }\n\n const keyHash = hashFieldPathIds(rootIds)\n return {\n dirtyAll: false,\n rootIds,\n rootCount: rootIds.length,\n keySize: rootIds.length,\n keyHash,\n }\n}\n\nexport const dirtyPathIdsToRootIds = (options: {\n readonly dirtyPathIds?: Iterable<FieldPathId>\n readonly registry: FieldPathIdRegistry\n readonly dirtyAllReason?: DirtyAllReason\n}): DirtySet => {\n if (options.dirtyAllReason) {\n return makeDirtyAllSet(options.dirtyAllReason)\n }\n\n let hasInvalid = false\n let missing = false\n let allShallow = true\n const ids: Array<number> = []\n\n for (const raw of options.dirtyPathIds ?? []) {\n if (!Number.isFinite(raw)) {\n hasInvalid = true\n continue\n }\n const id = Math.floor(raw)\n if (id < 0) {\n hasInvalid = true\n continue\n }\n const fieldPath = options.registry.fieldPaths[id]\n if (!fieldPath) {\n missing = true\n continue\n }\n if (allShallow && fieldPath.length !== 1) {\n allShallow = false\n }\n ids.push(id)\n }\n\n if (hasInvalid) {\n return makeDirtyAllSet('nonTrackablePatch')\n }\n\n if (missing) {\n return makeDirtyAllSet('fallbackPolicy')\n }\n\n if (allShallow) {\n return buildSpecificDirtySetFromIdsShallowFast(ids)\n }\n\n return buildSpecificDirtySetFromIds(ids, options.registry.fieldPaths)\n}\n\nexport const dirtyPathsToRootIds = (options: {\n readonly dirtyPaths?: Iterable<string | FieldPath | FieldPathId>\n readonly registry: FieldPathIdRegistry\n readonly dirtyAllReason?: DirtyAllReason\n}): DirtySet => {\n if (options.dirtyAllReason) {\n return makeDirtyAllSet(options.dirtyAllReason)\n }\n\n let sawStar = false\n let hasInvalid = false\n let missing = false\n let allShallow = true\n\n const ids: Array<number> = []\n for (const raw of options.dirtyPaths ?? []) {\n if (raw === '*') {\n sawStar = true\n continue\n }\n\n if (typeof raw === 'number') {\n if (!Number.isFinite(raw)) {\n hasInvalid = true\n continue\n }\n const id = Math.floor(raw)\n if (id < 0) {\n hasInvalid = true\n continue\n }\n const fieldPath = options.registry.fieldPaths[id]\n if (!fieldPath) {\n missing = true\n continue\n }\n if (allShallow && fieldPath.length !== 1) {\n allShallow = false\n }\n ids.push(id)\n continue\n }\n\n if (typeof raw === 'string') {\n const direct = options.registry.pathStringToId?.get(raw)\n if (direct != null) {\n if (allShallow && options.registry.fieldPaths[direct]?.length !== 1) {\n allShallow = false\n }\n ids.push(direct)\n continue\n }\n\n // String path is treated as dot-separated boundary input only.\n // If it cannot be mapped directly, it is considered ambiguous/unmappable.\n missing = true\n continue\n }\n\n const normalized = normalizeFieldPath(raw)\n if (!normalized) {\n hasInvalid = true\n continue\n }\n\n const id = getFieldPathId(options.registry, normalized)\n if (id == null) {\n missing = true\n continue\n }\n if (allShallow && options.registry.fieldPaths[id]?.length !== 1) {\n allShallow = false\n }\n ids.push(id)\n }\n\n if (hasInvalid) {\n return makeDirtyAllSet('nonTrackablePatch')\n }\n\n if (missing) {\n return makeDirtyAllSet('fallbackPolicy')\n }\n\n // Any non-trackable write must explicitly degrade (do not \"ignore *\" when roots exist).\n if (sawStar) {\n return makeDirtyAllSet('unknownWrite')\n }\n\n if (allShallow) {\n return buildSpecificDirtySetFromIdsShallowFast(ids)\n }\n\n return buildSpecificDirtySetFromIds(ids, options.registry.fieldPaths)\n}\n\nconst splitSegments = (path: string): Array<string> | undefined => {\n if (!path) return undefined\n if (path === '*') return undefined\n\n const parts = path.split('.').filter((p) => p.length > 0)\n const segs: Array<string> = []\n\n for (const part of parts) {\n if (!part) continue\n if (part === '*') {\n return undefined\n }\n if (part.endsWith('[]')) {\n const base = part.slice(0, -2)\n if (base) segs.push(base)\n continue\n }\n const bracket = /^(.+)\\[(\\d+)\\]$/.exec(part)\n if (bracket) {\n segs.push(bracket[1]!)\n continue\n }\n if (/^\\d+$/.test(part)) {\n continue\n }\n if (part.includes('[') || part.includes(']')) {\n return undefined\n }\n segs.push(part)\n }\n\n return segs\n}\n"],"mappings":"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","names":["normalized","id"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Tag
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UEFFTVPY.js";
|
|
4
4
|
import {
|
|
5
5
|
__export
|
|
6
6
|
} from "./chunk-PZ5AY32C.js";
|
|
@@ -37,4 +37,4 @@ export {
|
|
|
37
37
|
defaultLayer,
|
|
38
38
|
Platform_exports
|
|
39
39
|
};
|
|
40
|
-
//# sourceMappingURL=chunk-
|
|
40
|
+
//# sourceMappingURL=chunk-TAHFWKS6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal/runtime/core/Platform.ts"],"sourcesContent":["import { Effect, ServiceMap } from 'effect'\n\nexport interface Service {\n readonly lifecycle: {\n readonly onSuspend: (eff: Effect.Effect<void, never, any>) => Effect.Effect<void, never, any>\n readonly onResume: (eff: Effect.Effect<void, never, any>) => Effect.Effect<void, never, any>\n readonly onReset?: (eff: Effect.Effect<void, never, any>) => Effect.Effect<void, never, any>\n }\n\n /**\n * Platform signal broadcaster (for host integration and tests): triggers registered lifecycle handlers.\n *\n * Notes:\n * - The default implementation should be a safe no-op.\n * - Failure policy is decided by the platform implementation; the runtime should ensure \"do not terminate the instance by default\".\n */\n readonly emitSuspend: () => Effect.Effect<void, never, any>\n readonly emitResume: () => Effect.Effect<void, never, any>\n readonly emitReset: () => Effect.Effect<void, never, any>\n}\n\nexport class Tag extends ServiceMap.Service<Tag, Service>()('@logixjs/Platform') {}\n"],"mappings":";AAAA,SAAiB,kBAAkB;AAqB5B,IAAM,MAAN,cAAkB,WAAW,QAAsB,EAAE,mBAAmB,EAAE;AAAC;","names":[]}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
CutoverCoverageMatrix,
|
|
3
3
|
RuntimeServiceBuiltinsTag,
|
|
4
4
|
evaluateFullCutoverGate
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-RLXO27MW.js";
|
|
6
6
|
import {
|
|
7
7
|
FullCutoverGateModeTag,
|
|
8
8
|
KernelImplementationRefTag,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
getKernelImplementationRef,
|
|
13
13
|
getRuntimeServicesEvidence,
|
|
14
14
|
isKernelImplementationRef
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-IOZ3VKPK.js";
|
|
16
16
|
import {
|
|
17
17
|
__export
|
|
18
18
|
} from "./chunk-PZ5AY32C.js";
|
|
@@ -73,4 +73,4 @@ export {
|
|
|
73
73
|
isKernelFullyActivated,
|
|
74
74
|
Kernel_exports
|
|
75
75
|
};
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
76
|
+
//# sourceMappingURL=chunk-UR5BXLBP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Kernel.ts"],"sourcesContent":["import { Layer } from 'effect'\nimport type { Layer as LayerType } from 'effect'\nimport type * as Debug from './Debug.js'\nimport * as FullCutoverGate from './internal/runtime/core/FullCutoverGate.js'\nimport * as RuntimeKernel from './internal/runtime/core/RuntimeKernel.js'\nimport * as KernelRef from './internal/runtime/core/KernelRef.js'\nexport type { RuntimeServiceBuiltins } from './internal/runtime/core/RuntimeServiceBuiltins.js'\nexport { RuntimeServiceBuiltinsTag } from './internal/runtime/core/RuntimeServiceBuiltins.js'\n\nexport type KernelId = KernelRef.KernelId\n\nexport interface KernelImplementationRef extends KernelRef.KernelImplementationRef {}\n\nexport const defaultKernelImplementationRef = KernelRef.defaultKernelImplementationRef\n\nexport const isKernelImplementationRef = KernelRef.isKernelImplementationRef\n\nexport type RuntimeServiceOverride = RuntimeKernel.RuntimeServiceOverride\nexport type RuntimeServicesOverrides = RuntimeKernel.RuntimeServicesOverrides\nexport type RuntimeServiceBinding = RuntimeKernel.RuntimeServiceBinding\nexport type RuntimeServicesEvidence = RuntimeKernel.RuntimeServicesEvidence\n\nexport type RuntimeServiceImpl<Service> = RuntimeKernel.RuntimeServiceImpl<Service>\nexport type RuntimeServicesRegistry = RuntimeKernel.RuntimeServicesRegistry\n\nexport type CutoverCoverageMatrix = FullCutoverGate.CutoverCoverageMatrix\n\nexport const CutoverCoverageMatrix = FullCutoverGate.CutoverCoverageMatrix\n\nexport type FullCutoverGateMode = FullCutoverGate.FullCutoverGateMode\n\nexport type FullCutoverGateReason = FullCutoverGate.FullCutoverGateReason\n\nexport type FullCutoverGateAnchor = FullCutoverGate.FullCutoverGateAnchor\n\nexport type FullCutoverGateVerdict = FullCutoverGate.FullCutoverGateVerdict\n\nexport type FullCutoverGateResult = FullCutoverGate.FullCutoverGateResult\n\nexport const evaluateFullCutoverGate = (args: {\n readonly mode: FullCutoverGateMode\n readonly requestedKernelId: KernelId\n readonly runtimeServicesEvidence: RuntimeServicesEvidence\n readonly coverageMatrix?: CutoverCoverageMatrix\n readonly diagnosticsLevel?: Debug.DiagnosticsLevel\n}): FullCutoverGateResult => {\n return FullCutoverGate.evaluateFullCutoverGate({\n mode: args.mode,\n requestedKernelId: args.requestedKernelId,\n runtimeServicesEvidence: args.runtimeServicesEvidence,\n coverageMatrix: args.coverageMatrix,\n diagnosticsLevel: args.diagnosticsLevel,\n })\n}\n\nexport interface KernelContractMetaAllowlistItem {\n readonly metaKey: string\n readonly reason?: string\n}\n\nexport const KernelContractMetaAllowlist = [] as const satisfies ReadonlyArray<KernelContractMetaAllowlistItem>\n\n/**\n * kernelLayer:\n * - Declares the requested kernel family in the current runtime tree.\n * - This does not prove full activation; fallback/mix is decided by RuntimeServicesEvidence.\n */\nexport const kernelLayer = (ref: KernelImplementationRef): LayerType.Layer<any, never, never> =>\n Layer.succeed(KernelRef.KernelImplementationRefTag, ref) as LayerType.Layer<any, never, never>\n\n/**\n * runtimeDefaultServicesOverridesLayer:\n * - Provides `runtime_default` scope `serviceId -> implId` overrides during ManagedRuntime assembly.\n * - Does not set servicesByModuleId by default (do not use moduleId as the default kernel selection granularity).\n */\nexport const runtimeDefaultServicesOverridesLayer = (\n services: RuntimeServicesOverrides,\n): LayerType.Layer<any, never, never> =>\n Layer.succeed(RuntimeKernel.RuntimeServicesRuntimeConfigTag, {\n services,\n }) as LayerType.Layer<any, never, never>\n\n/**\n * getRuntimeServicesEvidence:\n * - Reads RuntimeServicesEvidence installed on a ModuleRuntime (serviceId -> implId evidence).\n * - Public entry to avoid importing from `src/internal`.\n */\nexport const getRuntimeServicesEvidence = RuntimeKernel.getRuntimeServicesEvidence\n\n/**\n * getKernelImplementationRef:\n * - Reads KernelImplementationRef installed on a ModuleRuntime (requested kernel family).\n */\nexport const getKernelImplementationRef = KernelRef.getKernelImplementationRef\n\n/**\n * runtimeServicesRegistryLayer:\n * - Injects additional `serviceId -> impls` during runtime assembly (e.g. implementations provided by core-ng).\n */\nexport const runtimeServicesRegistryLayer = (registry: RuntimeServicesRegistry): LayerType.Layer<any, never, never> =>\n Layer.succeed(RuntimeKernel.RuntimeServicesRegistryTag, registry) as LayerType.Layer<any, never, never>\n\n/**\n * fullCutoverGateModeLayer:\n * - Controls cutover gate evaluation mode during runtime assembly (trial/fullCutover).\n * - Default is fullCutover; trial-run/comparison may override to trial explicitly.\n */\nexport const fullCutoverGateModeLayer = (mode: FullCutoverGateMode): LayerType.Layer<any, never, never> =>\n Layer.succeed(RuntimeKernel.FullCutoverGateModeTag, mode) as LayerType.Layer<any, never, never>\n\n/**\n * isKernelFullyActivated:\n * - Minimal verdict for \"full cutover\": no fallbacks are allowed.\n */\nexport const isKernelFullyActivated = (evidence: RuntimeServicesEvidence): boolean =>\n !evidence.overridesApplied.some((s) => s.includes('fallback='))\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA,wCAAAC;AAAA,EAAA,+BAAAC;AAAA,EAAA;AAAA,oCAAAC;AAAA,EAAA,kCAAAC;AAAA,EAAA;AAAA,mCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,SAAS,aAAa;AAaf,IAAMC,kCAA2C;AAEjD,IAAMC,6BAAsC;AAY5C,IAAMC,yBAAwC;AAY9C,IAAMC,2BAA0B,CAAC,SAMX;AAC3B,SAAuB,wBAAwB;AAAA,IAC7C,MAAM,KAAK;AAAA,IACX,mBAAmB,KAAK;AAAA,IACxB,yBAAyB,KAAK;AAAA,IAC9B,gBAAgB,KAAK;AAAA,IACrB,kBAAkB,KAAK;AAAA,EACzB,CAAC;AACH;AAOO,IAAM,8BAA8B,CAAC;AAOrC,IAAM,cAAc,CAAC,QAC1B,MAAM,QAAkB,4BAA4B,GAAG;AAOlD,IAAM,uCAAuC,CAClD,aAEA,MAAM,QAAsB,iCAAiC;AAAA,EAC3D;AACF,CAAC;AAOI,IAAMC,8BAA2C;AAMjD,IAAMC,8BAAuC;AAM7C,IAAM,+BAA+B,CAAC,aAC3C,MAAM,QAAsB,4BAA4B,QAAQ;AAO3D,IAAM,2BAA2B,CAAC,SACvC,MAAM,QAAsB,wBAAwB,IAAI;AAMnD,IAAM,yBAAyB,CAAC,aACrC,CAAC,SAAS,iBAAiB,KAAK,CAAC,MAAM,EAAE,SAAS,WAAW,CAAC;","names":["CutoverCoverageMatrix","defaultKernelImplementationRef","evaluateFullCutoverGate","getKernelImplementationRef","getRuntimeServicesEvidence","isKernelImplementationRef","defaultKernelImplementationRef","isKernelImplementationRef","CutoverCoverageMatrix","evaluateFullCutoverGate","getRuntimeServicesEvidence","getKernelImplementationRef"]}
|