@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,186 +4,51 @@ import {
|
|
|
4
4
|
parseListItemFieldPath,
|
|
5
5
|
setAtPathMutating,
|
|
6
6
|
toListItemValuePath
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EPQFNJU3.js";
|
|
8
8
|
import {
|
|
9
9
|
Snapshot,
|
|
10
10
|
internal,
|
|
11
11
|
keyHash
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-EKCDHWRK.js";
|
|
13
13
|
import {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
} from "./chunk-
|
|
14
|
+
mergeCanonical,
|
|
15
|
+
sanitize
|
|
16
|
+
} from "./chunk-J3CWXIPV.js";
|
|
17
17
|
import {
|
|
18
18
|
compareFieldPath,
|
|
19
19
|
getFieldPathId,
|
|
20
20
|
makeFieldPathIdRegistry,
|
|
21
21
|
normalizeFieldPath
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-SOOBFXRR.js";
|
|
23
23
|
import {
|
|
24
24
|
getBoundInternals
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-63ZQ5RIN.js";
|
|
26
26
|
import {
|
|
27
27
|
ReplayModeConfigTag,
|
|
28
|
+
forceSourceRefresh,
|
|
29
|
+
inSyncTransactionFiber,
|
|
28
30
|
isDevEnv
|
|
29
|
-
} from "./chunk-
|
|
30
|
-
import {
|
|
31
|
-
record
|
|
32
|
-
} from "./chunk-DMBALCE2.js";
|
|
33
|
-
import {
|
|
34
|
-
fnv1a32,
|
|
35
|
-
stableStringify
|
|
36
|
-
} from "./chunk-GMPEOUP2.js";
|
|
31
|
+
} from "./chunk-S4S5N4BJ.js";
|
|
37
32
|
import {
|
|
38
33
|
RunSessionTag,
|
|
39
34
|
make,
|
|
40
35
|
run
|
|
41
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-CYYSQMLO.js";
|
|
37
|
+
import {
|
|
38
|
+
currentDiagnosticsLevel,
|
|
39
|
+
record
|
|
40
|
+
} from "./chunk-V2SBGVDO.js";
|
|
42
41
|
import {
|
|
43
42
|
EffectOpMiddlewareTag
|
|
44
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-LPPZDFTD.js";
|
|
44
|
+
import {
|
|
45
|
+
fnv1a32,
|
|
46
|
+
stableStringify
|
|
47
|
+
} from "./chunk-4MZ7BT3R.js";
|
|
45
48
|
|
|
46
49
|
// src/internal/state-trait/build.ts
|
|
47
50
|
import * as SchemaAST from "effect/SchemaAST";
|
|
48
51
|
|
|
49
|
-
// src/internal/state-trait/meta.ts
|
|
50
|
-
var uniqSortedStrings = (input) => {
|
|
51
|
-
const set = /* @__PURE__ */ new Set();
|
|
52
|
-
for (const item of input) {
|
|
53
|
-
const v = item.trim();
|
|
54
|
-
if (!v) continue;
|
|
55
|
-
set.add(v);
|
|
56
|
-
}
|
|
57
|
-
return Array.from(set).sort((a, b) => a.localeCompare(b));
|
|
58
|
-
};
|
|
59
|
-
var isPlainRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
60
|
-
var sanitizeJsonValue = (input, depth) => {
|
|
61
|
-
if (input === null) return null;
|
|
62
|
-
if (typeof input === "string") return input;
|
|
63
|
-
if (typeof input === "boolean") return input;
|
|
64
|
-
if (typeof input === "number") {
|
|
65
|
-
return Number.isFinite(input) ? input : void 0;
|
|
66
|
-
}
|
|
67
|
-
if (depth >= 6) return void 0;
|
|
68
|
-
if (Array.isArray(input)) {
|
|
69
|
-
const out = [];
|
|
70
|
-
for (const item of input) {
|
|
71
|
-
const v = sanitizeJsonValue(item, depth + 1);
|
|
72
|
-
if (v !== void 0) out.push(v);
|
|
73
|
-
}
|
|
74
|
-
return out;
|
|
75
|
-
}
|
|
76
|
-
if (isPlainRecord(input)) {
|
|
77
|
-
const keys = Object.keys(input).sort();
|
|
78
|
-
const out = {};
|
|
79
|
-
for (const key of keys) {
|
|
80
|
-
const v = sanitizeJsonValue(input[key], depth + 1);
|
|
81
|
-
if (v !== void 0) out[key] = v;
|
|
82
|
-
}
|
|
83
|
-
return out;
|
|
84
|
-
}
|
|
85
|
-
return void 0;
|
|
86
|
-
};
|
|
87
|
-
var sanitize = (input) => {
|
|
88
|
-
if (input === null || input === void 0) return void 0;
|
|
89
|
-
if (typeof input !== "object" || Array.isArray(input)) return void 0;
|
|
90
|
-
const record2 = input;
|
|
91
|
-
const out = {};
|
|
92
|
-
const pickString = (key) => {
|
|
93
|
-
const value = record2[key];
|
|
94
|
-
if (typeof value !== "string") return;
|
|
95
|
-
const trimmed = value.trim();
|
|
96
|
-
if (!trimmed) return;
|
|
97
|
-
out[key] = trimmed;
|
|
98
|
-
};
|
|
99
|
-
pickString("label");
|
|
100
|
-
pickString("description");
|
|
101
|
-
pickString("group");
|
|
102
|
-
pickString("docsUrl");
|
|
103
|
-
pickString("cacheGroup");
|
|
104
|
-
const canonical = record2.canonical;
|
|
105
|
-
if (typeof canonical === "boolean") {
|
|
106
|
-
out.canonical = canonical;
|
|
107
|
-
}
|
|
108
|
-
const tagsRaw = record2.tags;
|
|
109
|
-
if (typeof tagsRaw === "string") {
|
|
110
|
-
const tags = uniqSortedStrings([tagsRaw]);
|
|
111
|
-
if (tags.length > 0) out.tags = tags;
|
|
112
|
-
} else if (Array.isArray(tagsRaw)) {
|
|
113
|
-
const tags = uniqSortedStrings(tagsRaw.filter((x) => typeof x === "string"));
|
|
114
|
-
if (tags.length > 0) out.tags = tags;
|
|
115
|
-
}
|
|
116
|
-
const annotations = {};
|
|
117
|
-
const annotationKeys = Object.keys(record2).filter((k) => k.startsWith("x-")).sort((a, b) => a.localeCompare(b));
|
|
118
|
-
for (const key of annotationKeys) {
|
|
119
|
-
const v = sanitizeJsonValue(record2[key], 0);
|
|
120
|
-
if (v !== void 0) annotations[key] = v;
|
|
121
|
-
}
|
|
122
|
-
const annotationsRaw = record2.annotations;
|
|
123
|
-
if (isPlainRecord(annotationsRaw)) {
|
|
124
|
-
const keys = Object.keys(annotationsRaw).filter((k) => k.startsWith("x-")).sort((a, b) => a.localeCompare(b));
|
|
125
|
-
for (const key of keys) {
|
|
126
|
-
const v = sanitizeJsonValue(annotationsRaw[key], 0);
|
|
127
|
-
if (v !== void 0) annotations[key] = v;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
if (Object.keys(annotations).length > 0) out.annotations = annotations;
|
|
131
|
-
return Object.keys(out).length > 0 ? out : void 0;
|
|
132
|
-
};
|
|
133
|
-
var stableStringify2 = (meta) => {
|
|
134
|
-
const out = {};
|
|
135
|
-
const keys = Object.keys(meta).sort();
|
|
136
|
-
for (const k of keys) {
|
|
137
|
-
out[k] = meta[k];
|
|
138
|
-
}
|
|
139
|
-
return JSON.stringify(out);
|
|
140
|
-
};
|
|
141
|
-
var equals = (a, b) => {
|
|
142
|
-
if (a === b) return true;
|
|
143
|
-
if (!a || !b) return false;
|
|
144
|
-
return stableStringify2(a) === stableStringify2(b);
|
|
145
|
-
};
|
|
146
|
-
var mergeCanonical = (current, incoming) => {
|
|
147
|
-
const existing = current.meta;
|
|
148
|
-
if (!existing) {
|
|
149
|
-
return {
|
|
150
|
-
meta: incoming.meta,
|
|
151
|
-
origin: incoming.origin,
|
|
152
|
-
conflicts: current.conflicts
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
if (equals(existing, incoming.meta)) {
|
|
156
|
-
return current;
|
|
157
|
-
}
|
|
158
|
-
const conflicts = [...current.conflicts ?? []];
|
|
159
|
-
const push = (conflict) => {
|
|
160
|
-
const exists = conflicts.some((c) => c.origin === conflict.origin && equals(c.meta, conflict.meta));
|
|
161
|
-
if (!exists) conflicts.push(conflict);
|
|
162
|
-
};
|
|
163
|
-
const existingCanonical = existing.canonical === true;
|
|
164
|
-
const incomingCanonical = incoming.meta.canonical === true;
|
|
165
|
-
if (!existingCanonical && incomingCanonical) {
|
|
166
|
-
push({
|
|
167
|
-
origin: current.origin ?? "unknown",
|
|
168
|
-
meta: existing
|
|
169
|
-
});
|
|
170
|
-
return {
|
|
171
|
-
meta: incoming.meta,
|
|
172
|
-
origin: incoming.origin,
|
|
173
|
-
conflicts
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
push({
|
|
177
|
-
origin: incoming.origin,
|
|
178
|
-
meta: incoming.meta
|
|
179
|
-
});
|
|
180
|
-
return {
|
|
181
|
-
meta: existing,
|
|
182
|
-
origin: current.origin ?? incoming.origin,
|
|
183
|
-
conflicts
|
|
184
|
-
};
|
|
185
|
-
};
|
|
186
|
-
|
|
187
52
|
// src/internal/state-trait/model.ts
|
|
188
53
|
var normalizeSpec = (spec) => {
|
|
189
54
|
const entries = [];
|
|
@@ -219,6 +84,14 @@ var normalizeSpec = (spec) => {
|
|
|
219
84
|
meta: { ...meta, deps, _fieldPath: fieldPath }
|
|
220
85
|
};
|
|
221
86
|
}
|
|
87
|
+
if (entry.kind === "externalStore") {
|
|
88
|
+
const meta = entry.meta;
|
|
89
|
+
return {
|
|
90
|
+
...entry,
|
|
91
|
+
fieldPath,
|
|
92
|
+
meta: { ...meta, _fieldPath: fieldPath }
|
|
93
|
+
};
|
|
94
|
+
}
|
|
222
95
|
if (entry.kind === "link") {
|
|
223
96
|
const meta = entry.meta;
|
|
224
97
|
const from = prefixDeps([meta.from], depPrefix)[0] ?? meta.from;
|
|
@@ -256,6 +129,7 @@ var normalizeSpec = (spec) => {
|
|
|
256
129
|
expandMaybeRecord(node.computed);
|
|
257
130
|
expandMaybeRecord(node.source);
|
|
258
131
|
expandMaybeRecord(node.link);
|
|
132
|
+
expandMaybeRecord(node.externalStore);
|
|
259
133
|
if (node.check) {
|
|
260
134
|
const rules = {};
|
|
261
135
|
const checkDepsPrefix = options?.checkDepsPrefix ?? (joinPrefix.endsWith("[]") ? joinPrefix : "");
|
|
@@ -346,8 +220,56 @@ var collectNodeMeta = (spec) => {
|
|
|
346
220
|
return out;
|
|
347
221
|
};
|
|
348
222
|
|
|
223
|
+
// src/internal/state-trait/converge-ir.ts
|
|
224
|
+
var getConvergeStaticIrDigest = (ir) => {
|
|
225
|
+
if (typeof ir.staticIrDigest === "string" && ir.staticIrDigest.length > 0) {
|
|
226
|
+
return ir.staticIrDigest;
|
|
227
|
+
}
|
|
228
|
+
const hash = fnv1a32(
|
|
229
|
+
stableStringify({ writersKey: ir.writersKey, depsKey: ir.depsKey, fieldPathsKey: ir.fieldPathsKey })
|
|
230
|
+
);
|
|
231
|
+
return `converge_ir_v2:${hash}`;
|
|
232
|
+
};
|
|
233
|
+
var exportConvergeStaticIr = (options) => ({
|
|
234
|
+
staticIrDigest: getConvergeStaticIrDigest(options.ir),
|
|
235
|
+
moduleId: options.moduleId,
|
|
236
|
+
instanceId: options.instanceId,
|
|
237
|
+
generation: options.ir.generation,
|
|
238
|
+
fieldPaths: options.ir.fieldPaths,
|
|
239
|
+
stepOutFieldPathIdByStepId: Array.from(options.ir.stepOutFieldPathIdByStepId),
|
|
240
|
+
stepSchedulingByStepId: options.ir.stepSchedulingByStepId.slice(),
|
|
241
|
+
topoOrder: options.ir.topoOrder.slice(),
|
|
242
|
+
buildDurationMs: options.ir.buildDurationMs
|
|
243
|
+
});
|
|
244
|
+
|
|
349
245
|
// src/internal/state-trait/build.ts
|
|
350
246
|
var nowPerf = () => typeof globalThis.performance !== "undefined" && typeof globalThis.performance.now === "function" ? globalThis.performance.now() : Date.now();
|
|
247
|
+
var collectMultipleWritersError = (entries) => {
|
|
248
|
+
const kindsByFieldPath = /* @__PURE__ */ new Map();
|
|
249
|
+
for (const entry of entries) {
|
|
250
|
+
if (entry.kind !== "computed" && entry.kind !== "link" && entry.kind !== "source" && entry.kind !== "externalStore") {
|
|
251
|
+
continue;
|
|
252
|
+
}
|
|
253
|
+
const set = kindsByFieldPath.get(entry.fieldPath) ?? /* @__PURE__ */ new Set();
|
|
254
|
+
set.add(entry.kind);
|
|
255
|
+
kindsByFieldPath.set(entry.fieldPath, set);
|
|
256
|
+
}
|
|
257
|
+
const conflicts = [];
|
|
258
|
+
for (const [fieldPath, kinds] of kindsByFieldPath.entries()) {
|
|
259
|
+
if (kinds.size <= 1) continue;
|
|
260
|
+
conflicts.push({ fieldPath, kinds: Array.from(kinds).sort() });
|
|
261
|
+
}
|
|
262
|
+
if (conflicts.length === 0) return void 0;
|
|
263
|
+
conflicts.sort((a, b) => a.fieldPath < b.fieldPath ? -1 : a.fieldPath > b.fieldPath ? 1 : 0);
|
|
264
|
+
const fields = conflicts.map((c) => c.fieldPath);
|
|
265
|
+
const primary = conflicts[0];
|
|
266
|
+
const kindSummary = primary.kinds.join(" + ");
|
|
267
|
+
return {
|
|
268
|
+
code: "MULTIPLE_WRITERS",
|
|
269
|
+
message: `[StateTrait.build] Multiple writers for field "${primary.fieldPath}" (${kindSummary}). Only one of computed/link/source/externalStore can write a fieldPath.`,
|
|
270
|
+
fields
|
|
271
|
+
};
|
|
272
|
+
};
|
|
351
273
|
var getConvergeWriterDeps = (entry) => {
|
|
352
274
|
if (entry.kind === "computed") {
|
|
353
275
|
return entry.meta?.deps ?? [];
|
|
@@ -425,24 +347,11 @@ var collectSchemaFieldPaths = (schema) => {
|
|
|
425
347
|
byKey.set(JSON.stringify(normalized), normalized);
|
|
426
348
|
};
|
|
427
349
|
const visit = (ast, prefix, seen) => {
|
|
428
|
-
let current = ast;
|
|
429
|
-
while (
|
|
430
|
-
if (
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
current = current.f();
|
|
434
|
-
continue;
|
|
435
|
-
}
|
|
436
|
-
if (SchemaAST.isRefinement(current)) {
|
|
437
|
-
current = current.from;
|
|
438
|
-
continue;
|
|
439
|
-
}
|
|
440
|
-
break;
|
|
441
|
-
}
|
|
442
|
-
if (SchemaAST.isTransformation(current)) {
|
|
443
|
-
visit(current.to, prefix, seen);
|
|
444
|
-
visit(current.from, prefix, seen);
|
|
445
|
-
return;
|
|
350
|
+
let current = SchemaAST.toType(ast);
|
|
351
|
+
while (SchemaAST.isSuspend(current)) {
|
|
352
|
+
if (seen.has(current)) return;
|
|
353
|
+
seen.add(current);
|
|
354
|
+
current = SchemaAST.toType(current.thunk());
|
|
446
355
|
}
|
|
447
356
|
if (SchemaAST.isUnion(current)) {
|
|
448
357
|
for (const t of current.types) {
|
|
@@ -450,16 +359,16 @@ var collectSchemaFieldPaths = (schema) => {
|
|
|
450
359
|
}
|
|
451
360
|
return;
|
|
452
361
|
}
|
|
453
|
-
if (SchemaAST.
|
|
362
|
+
if (SchemaAST.isArrays(current)) {
|
|
454
363
|
for (const e of current.elements) {
|
|
455
|
-
visit(e
|
|
364
|
+
visit(e, prefix, seen);
|
|
456
365
|
}
|
|
457
366
|
for (const r of current.rest) {
|
|
458
|
-
visit(r
|
|
367
|
+
visit(r, prefix, seen);
|
|
459
368
|
}
|
|
460
369
|
return;
|
|
461
370
|
}
|
|
462
|
-
if (SchemaAST.
|
|
371
|
+
if (SchemaAST.isObjects(current)) {
|
|
463
372
|
for (const ps of current.propertySignatures) {
|
|
464
373
|
const seg = String(ps.name);
|
|
465
374
|
if (!seg) continue;
|
|
@@ -476,6 +385,7 @@ var collectSchemaFieldPaths = (schema) => {
|
|
|
476
385
|
var buildConvergeIr = (stateSchema, entries) => {
|
|
477
386
|
const startedAt = nowPerf();
|
|
478
387
|
const generation = 0;
|
|
388
|
+
const multipleWritersError = collectMultipleWritersError(entries);
|
|
479
389
|
const writers = entries.filter((e) => e.kind === "computed" || e.kind === "link");
|
|
480
390
|
const writersKey = writers.map((entry) => `${entry.kind}:${entry.fieldPath}`).sort().join("|");
|
|
481
391
|
const depsKey = writers.map((entry) => {
|
|
@@ -487,7 +397,7 @@ var buildConvergeIr = (stateSchema, entries) => {
|
|
|
487
397
|
for (const entry of writers) {
|
|
488
398
|
writerByPath.set(entry.fieldPath, entry);
|
|
489
399
|
}
|
|
490
|
-
const topo = writers.length > 0 ? computeConvergeTopoOrder(writers) : { order: [] };
|
|
400
|
+
const topo = multipleWritersError ? { order: [] } : writers.length > 0 ? computeConvergeTopoOrder(writers) : { order: [] };
|
|
491
401
|
const stepsById = topo.configError ? [] : topo.order.map((path) => writerByPath.get(path));
|
|
492
402
|
const fieldPathTable = /* @__PURE__ */ new Map();
|
|
493
403
|
const addPath = (path) => {
|
|
@@ -511,6 +421,11 @@ var buildConvergeIr = (stateSchema, entries) => {
|
|
|
511
421
|
const fieldPaths = Array.from(fieldPathTable.values()).sort(compareFieldPath);
|
|
512
422
|
const fieldPathIdRegistry = makeFieldPathIdRegistry(fieldPaths);
|
|
513
423
|
const fieldPathsKey = fnv1a32(stableStringify(fieldPaths));
|
|
424
|
+
const staticIrDigest = getConvergeStaticIrDigest({
|
|
425
|
+
writersKey,
|
|
426
|
+
depsKey,
|
|
427
|
+
fieldPathsKey
|
|
428
|
+
});
|
|
514
429
|
const stepOutFieldPathIdByStepId = [];
|
|
515
430
|
const stepDepsFieldPathIdsByStepId = [];
|
|
516
431
|
const stepSchedulingByStepId = [];
|
|
@@ -538,9 +453,10 @@ var buildConvergeIr = (stateSchema, entries) => {
|
|
|
538
453
|
writersKey,
|
|
539
454
|
depsKey,
|
|
540
455
|
fieldPathsKey,
|
|
456
|
+
staticIrDigest,
|
|
541
457
|
fieldPaths,
|
|
542
458
|
fieldPathIdRegistry,
|
|
543
|
-
...topo.configError ? { configError: topo.configError } : null,
|
|
459
|
+
...multipleWritersError ? { configError: multipleWritersError } : topo.configError ? { configError: topo.configError } : null,
|
|
544
460
|
stepsById,
|
|
545
461
|
stepOutFieldPathIdByStepId,
|
|
546
462
|
stepDepsFieldPathIdsByStepId,
|
|
@@ -696,6 +612,12 @@ var buildGraph = (entries, nodeMetaByFieldPath) => {
|
|
|
696
612
|
});
|
|
697
613
|
}
|
|
698
614
|
}
|
|
615
|
+
} else if (entry.kind === "externalStore") {
|
|
616
|
+
planSteps.push({
|
|
617
|
+
id: `external-store:${fieldPath}`,
|
|
618
|
+
kind: "external-store-sync",
|
|
619
|
+
targetFieldPath: fieldPath
|
|
620
|
+
});
|
|
699
621
|
} else if (entry.kind === "check") {
|
|
700
622
|
planSteps.push({
|
|
701
623
|
id: `check:${fieldPath}`,
|
|
@@ -836,7 +758,7 @@ var collectSchemaPaths = (entries) => {
|
|
|
836
758
|
}
|
|
837
759
|
}
|
|
838
760
|
}
|
|
839
|
-
return Array.from(byKey.entries()).sort((a, b) => a[0]
|
|
761
|
+
return Array.from(byKey.entries()).sort((a, b) => a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0).map(([, v]) => v);
|
|
840
762
|
};
|
|
841
763
|
var build = (stateSchema, spec) => {
|
|
842
764
|
const entries = normalizeSpec(spec);
|
|
@@ -888,8 +810,8 @@ var build = (stateSchema, spec) => {
|
|
|
888
810
|
};
|
|
889
811
|
};
|
|
890
812
|
|
|
891
|
-
// src/internal/state-trait/source.ts
|
|
892
|
-
import { Effect, Fiber,
|
|
813
|
+
// src/internal/state-trait/source.impl.ts
|
|
814
|
+
import { Effect, Fiber, Option } from "effect";
|
|
893
815
|
import { create } from "mutative";
|
|
894
816
|
|
|
895
817
|
// src/internal/state-trait/deps-trace.ts
|
|
@@ -1037,7 +959,7 @@ var trace = (fn, state) => {
|
|
|
1037
959
|
};
|
|
1038
960
|
};
|
|
1039
961
|
|
|
1040
|
-
// src/internal/state-trait/source.ts
|
|
962
|
+
// src/internal/state-trait/source.impl.ts
|
|
1041
963
|
var onceInRunSession = (key) => Effect.serviceOption(RunSessionTag).pipe(
|
|
1042
964
|
Effect.map((maybe) => Option.isSome(maybe) ? maybe.value.local.once(key) : true)
|
|
1043
965
|
);
|
|
@@ -1061,7 +983,9 @@ var emitDepsMismatch = (params) => Effect.gen(function* () {
|
|
|
1061
983
|
kind: `deps_mismatch:${params.kind}`
|
|
1062
984
|
});
|
|
1063
985
|
});
|
|
1064
|
-
var getMiddlewareStack = () => Effect.serviceOption(
|
|
986
|
+
var getMiddlewareStack = () => Effect.serviceOption(
|
|
987
|
+
EffectOpMiddlewareTag
|
|
988
|
+
).pipe(
|
|
1065
989
|
Effect.map((maybe) => Option.isSome(maybe) ? maybe.value.stack : [])
|
|
1066
990
|
);
|
|
1067
991
|
var recordTraitPatch = (bound, path, reason, from, to, traitNodeId) => {
|
|
@@ -1313,7 +1237,7 @@ var installSourceRefresh = (bound, step, entry) => {
|
|
|
1313
1237
|
}
|
|
1314
1238
|
const io = Effect.gen(function* () {
|
|
1315
1239
|
if (replayMode === "replay" && replayLog) {
|
|
1316
|
-
yield* Effect.yieldNow
|
|
1240
|
+
yield* Effect.yieldNow;
|
|
1317
1241
|
const consumePath = wroteLoadingPath ?? logFieldPath;
|
|
1318
1242
|
if (!consumePath) return yield* Effect.void;
|
|
1319
1243
|
const replayed = yield* replayLog.consumeNextResourceSnapshot({
|
|
@@ -1344,7 +1268,9 @@ var installSourceRefresh = (bound, step, entry) => {
|
|
|
1344
1268
|
return yield* Effect.void;
|
|
1345
1269
|
}
|
|
1346
1270
|
const stack = yield* getMiddlewareStack();
|
|
1347
|
-
const registryOpt = yield* Effect.serviceOption(
|
|
1271
|
+
const registryOpt = yield* Effect.serviceOption(
|
|
1272
|
+
internal.ResourceRegistryTag
|
|
1273
|
+
);
|
|
1348
1274
|
const registry = Option.isSome(registryOpt) ? registryOpt.value : void 0;
|
|
1349
1275
|
const spec = registry?.specs.get(resourceId);
|
|
1350
1276
|
if (!spec) {
|
|
@@ -1425,47 +1351,40 @@ var installSourceRefresh = (bound, step, entry) => {
|
|
|
1425
1351
|
});
|
|
1426
1352
|
}
|
|
1427
1353
|
}
|
|
1428
|
-
}).pipe(Effect.
|
|
1429
|
-
const fiber = yield* Effect.forkScoped(Effect.
|
|
1354
|
+
}).pipe(Effect.catchCause(() => Effect.void));
|
|
1355
|
+
const fiber = yield* Effect.forkScoped(Effect.provideService(io, inSyncTransactionFiber, false));
|
|
1430
1356
|
const myGen = gen2 += 1;
|
|
1431
1357
|
inFlight2.set(rowId, { gen: myGen, fiber, keyHash: keyHash2 });
|
|
1432
1358
|
yield* Effect.forkScoped(
|
|
1433
|
-
Effect.
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
trailing2.delete(rowId);
|
|
1450
|
-
if (next) {
|
|
1451
|
-
yield* startFetch2(rowId, next.key, next.keyHash, replayMode, replayLog);
|
|
1452
|
-
}
|
|
1453
|
-
}) : Effect.void
|
|
1454
|
-
),
|
|
1455
|
-
Effect.catchAllCause(() => Effect.void)
|
|
1456
|
-
)
|
|
1457
|
-
)
|
|
1359
|
+
Effect.provideService(Fiber.await(fiber).pipe(
|
|
1360
|
+
Effect.flatMap(() => Effect.sync(() => {
|
|
1361
|
+
const current = inFlight2.get(rowId);
|
|
1362
|
+
if (current && current.gen === myGen) {
|
|
1363
|
+
inFlight2.delete(rowId);
|
|
1364
|
+
}
|
|
1365
|
+
})),
|
|
1366
|
+
Effect.flatMap(() => mode2 === "exhaust-trailing" ? Effect.gen(function* () {
|
|
1367
|
+
const next = trailing2.get(rowId);
|
|
1368
|
+
trailing2.delete(rowId);
|
|
1369
|
+
if (next) {
|
|
1370
|
+
yield* startFetch2(rowId, next.key, next.keyHash, replayMode, replayLog);
|
|
1371
|
+
}
|
|
1372
|
+
}) : Effect.void),
|
|
1373
|
+
Effect.catchCause(() => Effect.void)
|
|
1374
|
+
), inSyncTransactionFiber, false)
|
|
1458
1375
|
);
|
|
1459
1376
|
});
|
|
1460
1377
|
register(
|
|
1461
1378
|
fieldPath,
|
|
1462
1379
|
(state) => Effect.gen(function* () {
|
|
1463
1380
|
const { moduleId, instanceId } = getBoundScope(bound);
|
|
1464
|
-
const replayModeOpt = yield* Effect.serviceOption(
|
|
1381
|
+
const replayModeOpt = yield* Effect.serviceOption(
|
|
1382
|
+
ReplayModeConfigTag
|
|
1383
|
+
);
|
|
1465
1384
|
const replayMode = Option.isSome(replayModeOpt) ? replayModeOpt.value.mode : "live";
|
|
1466
1385
|
const replayLogOpt = yield* Effect.serviceOption(ReplayLog);
|
|
1467
1386
|
const replayLog = Option.isSome(replayLogOpt) ? replayLogOpt.value : void 0;
|
|
1468
|
-
const force = yield*
|
|
1387
|
+
const force = yield* Effect.service(forceSourceRefresh).pipe(Effect.orDie);
|
|
1469
1388
|
const listValue = getAtPath(state, listPath);
|
|
1470
1389
|
const items = Array.isArray(listValue) ? listValue : [];
|
|
1471
1390
|
const ids = store.ensureList(listPath, items);
|
|
@@ -1623,7 +1542,7 @@ var installSourceRefresh = (bound, step, entry) => {
|
|
|
1623
1542
|
}
|
|
1624
1543
|
const io = Effect.gen(function* () {
|
|
1625
1544
|
if (replayMode === "replay" && replayLog) {
|
|
1626
|
-
yield* Effect.yieldNow
|
|
1545
|
+
yield* Effect.yieldNow;
|
|
1627
1546
|
const replayed = yield* replayLog.consumeNextResourceSnapshot({
|
|
1628
1547
|
resourceId,
|
|
1629
1548
|
fieldPath,
|
|
@@ -1766,46 +1685,39 @@ var installSourceRefresh = (bound, step, entry) => {
|
|
|
1766
1685
|
yield* recordSnapshot(replayMode, replayLog, event);
|
|
1767
1686
|
}
|
|
1768
1687
|
}
|
|
1769
|
-
}).pipe(Effect.
|
|
1770
|
-
const fiber = yield* Effect.forkScoped(Effect.
|
|
1688
|
+
}).pipe(Effect.catchCause(() => Effect.void));
|
|
1689
|
+
const fiber = yield* Effect.forkScoped(Effect.provideService(io, inSyncTransactionFiber, false));
|
|
1771
1690
|
const myGen = gen += 1;
|
|
1772
1691
|
inFlight = { gen: myGen, fiber, keyHash: keyHash2 };
|
|
1773
1692
|
yield* Effect.forkScoped(
|
|
1774
|
-
Effect.
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
trailing = void 0;
|
|
1790
|
-
if (next) {
|
|
1791
|
-
yield* startFetch(next.key, next.keyHash, replayMode, replayLog);
|
|
1792
|
-
}
|
|
1793
|
-
}) : Effect.void
|
|
1794
|
-
),
|
|
1795
|
-
Effect.catchAllCause(() => Effect.void)
|
|
1796
|
-
)
|
|
1797
|
-
)
|
|
1693
|
+
Effect.provideService(Fiber.await(fiber).pipe(
|
|
1694
|
+
Effect.flatMap(() => Effect.sync(() => {
|
|
1695
|
+
if (inFlight && inFlight.gen === myGen) {
|
|
1696
|
+
inFlight = void 0;
|
|
1697
|
+
}
|
|
1698
|
+
})),
|
|
1699
|
+
Effect.flatMap(() => mode === "exhaust-trailing" ? Effect.gen(function* () {
|
|
1700
|
+
const next = trailing;
|
|
1701
|
+
trailing = void 0;
|
|
1702
|
+
if (next) {
|
|
1703
|
+
yield* startFetch(next.key, next.keyHash, replayMode, replayLog);
|
|
1704
|
+
}
|
|
1705
|
+
}) : Effect.void),
|
|
1706
|
+
Effect.catchCause(() => Effect.void)
|
|
1707
|
+
), inSyncTransactionFiber, false)
|
|
1798
1708
|
);
|
|
1799
1709
|
});
|
|
1800
1710
|
register(
|
|
1801
1711
|
fieldPath,
|
|
1802
1712
|
(state) => Effect.gen(function* () {
|
|
1803
1713
|
const { moduleId, instanceId } = getBoundScope(bound);
|
|
1804
|
-
const replayModeOpt = yield* Effect.serviceOption(
|
|
1714
|
+
const replayModeOpt = yield* Effect.serviceOption(
|
|
1715
|
+
ReplayModeConfigTag
|
|
1716
|
+
);
|
|
1805
1717
|
const replayMode = Option.isSome(replayModeOpt) ? replayModeOpt.value.mode : "live";
|
|
1806
1718
|
const replayLogOpt = yield* Effect.serviceOption(ReplayLog);
|
|
1807
1719
|
const replayLog = Option.isSome(replayLogOpt) ? replayLogOpt.value : void 0;
|
|
1808
|
-
const force = yield*
|
|
1720
|
+
const force = yield* Effect.service(forceSourceRefresh).pipe(Effect.orDie);
|
|
1809
1721
|
let key;
|
|
1810
1722
|
try {
|
|
1811
1723
|
key = entry.meta.key(state);
|
|
@@ -1831,7 +1743,7 @@ var installSourceRefresh = (bound, step, entry) => {
|
|
|
1831
1743
|
}
|
|
1832
1744
|
if (key === void 0) {
|
|
1833
1745
|
if (inFlight) {
|
|
1834
|
-
yield* Fiber.
|
|
1746
|
+
yield* Fiber.interrupt(inFlight.fiber);
|
|
1835
1747
|
inFlight = void 0;
|
|
1836
1748
|
}
|
|
1837
1749
|
trailing = void 0;
|
|
@@ -1904,7 +1816,7 @@ var installSourceRefresh = (bound, step, entry) => {
|
|
|
1904
1816
|
return;
|
|
1905
1817
|
}
|
|
1906
1818
|
if (mode === "switch" && inFlight) {
|
|
1907
|
-
yield* Fiber.
|
|
1819
|
+
yield* Fiber.interrupt(inFlight.fiber);
|
|
1908
1820
|
inFlight = void 0;
|
|
1909
1821
|
trailing = void 0;
|
|
1910
1822
|
}
|
|
@@ -1914,11 +1826,155 @@ var installSourceRefresh = (bound, step, entry) => {
|
|
|
1914
1826
|
return Effect.void;
|
|
1915
1827
|
};
|
|
1916
1828
|
|
|
1829
|
+
// src/internal/state-trait/converge-diagnostics.ts
|
|
1830
|
+
import { Effect as Effect2, Option as Option2 } from "effect";
|
|
1831
|
+
import * as SchemaAST2 from "effect/SchemaAST";
|
|
1832
|
+
var onceKeysFallback = /* @__PURE__ */ new Set();
|
|
1833
|
+
var onceInRunSession2 = (key) => Effect2.serviceOption(RunSessionTag).pipe(
|
|
1834
|
+
Effect2.map((maybe) => {
|
|
1835
|
+
if (Option2.isSome(maybe)) {
|
|
1836
|
+
return maybe.value.local.once(key);
|
|
1837
|
+
}
|
|
1838
|
+
if (onceKeysFallback.has(key)) return false;
|
|
1839
|
+
onceKeysFallback.add(key);
|
|
1840
|
+
return true;
|
|
1841
|
+
})
|
|
1842
|
+
);
|
|
1843
|
+
var formatList2 = (items, limit = 10) => {
|
|
1844
|
+
if (items.length === 0) return "";
|
|
1845
|
+
if (items.length <= limit) return items.join(", ");
|
|
1846
|
+
return `${items.slice(0, limit).join(", ")}, \u2026(+${items.length - limit})`;
|
|
1847
|
+
};
|
|
1848
|
+
var emitDepsMismatch2 = (params) => {
|
|
1849
|
+
return Effect2.gen(function* () {
|
|
1850
|
+
const key = `${params.moduleId ?? "unknown"}::${params.instanceId ?? "unknown"}::${params.kind}::${params.fieldPath}`;
|
|
1851
|
+
const shouldEmit = yield* onceInRunSession2(`deps_mismatch:${key}`);
|
|
1852
|
+
if (!shouldEmit) return;
|
|
1853
|
+
yield* record({
|
|
1854
|
+
type: "diagnostic",
|
|
1855
|
+
moduleId: params.moduleId,
|
|
1856
|
+
instanceId: params.instanceId,
|
|
1857
|
+
code: "state_trait::deps_mismatch",
|
|
1858
|
+
severity: "warning",
|
|
1859
|
+
message: `[deps] ${params.kind} "${params.fieldPath}" declared=[${formatList2(params.diff.declared)}] reads=[${formatList2(params.diff.reads)}] missing=[${formatList2(params.diff.missing)}] unused=[${formatList2(params.diff.unused)}]`,
|
|
1860
|
+
hint: 'deps is the single source of truth for dependencies: incremental scheduling / reverse closures / performance optimizations rely on deps only. Keep deps consistent with actual reads; if you really depend on the whole object, declare a coarser-grained dep (e.g. "profile") to cover sub-field reads.',
|
|
1861
|
+
kind: `deps_mismatch:${params.kind}`
|
|
1862
|
+
});
|
|
1863
|
+
});
|
|
1864
|
+
};
|
|
1865
|
+
var schemaHasPath = (ast, segments, seen = /* @__PURE__ */ new Set()) => {
|
|
1866
|
+
if (segments.length === 0) return true;
|
|
1867
|
+
let current = SchemaAST2.toType(ast);
|
|
1868
|
+
while (SchemaAST2.isSuspend(current)) {
|
|
1869
|
+
if (seen.has(current)) {
|
|
1870
|
+
return true;
|
|
1871
|
+
}
|
|
1872
|
+
seen.add(current);
|
|
1873
|
+
current = SchemaAST2.toType(current.thunk());
|
|
1874
|
+
}
|
|
1875
|
+
if (SchemaAST2.isUnion(current)) {
|
|
1876
|
+
return current.types.some((t) => schemaHasPath(t, segments, seen));
|
|
1877
|
+
}
|
|
1878
|
+
if (SchemaAST2.isArrays(current)) {
|
|
1879
|
+
const candidates = [];
|
|
1880
|
+
for (const e of current.elements) candidates.push(e);
|
|
1881
|
+
for (const r of current.rest) candidates.push(r);
|
|
1882
|
+
if (candidates.length === 0) return true;
|
|
1883
|
+
return candidates.some((t) => schemaHasPath(t, segments, seen));
|
|
1884
|
+
}
|
|
1885
|
+
if (SchemaAST2.isObjects(current)) {
|
|
1886
|
+
const [head, ...tail] = segments;
|
|
1887
|
+
for (const ps of current.propertySignatures) {
|
|
1888
|
+
if (String(ps.name) !== head) continue;
|
|
1889
|
+
return schemaHasPath(ps.type, tail, seen);
|
|
1890
|
+
}
|
|
1891
|
+
for (const sig of current.indexSignatures) {
|
|
1892
|
+
const param = SchemaAST2.toType(sig.parameter);
|
|
1893
|
+
const tag2 = param?._tag;
|
|
1894
|
+
if (tag2 === "String" || tag2 === "TemplateLiteral") {
|
|
1895
|
+
return schemaHasPath(sig.type, tail, seen);
|
|
1896
|
+
}
|
|
1897
|
+
}
|
|
1898
|
+
return false;
|
|
1899
|
+
}
|
|
1900
|
+
const tag = current?._tag;
|
|
1901
|
+
if (tag === "AnyKeyword" || tag === "UnknownKeyword" || tag === "ObjectKeyword" || tag === "Declaration") {
|
|
1902
|
+
return true;
|
|
1903
|
+
}
|
|
1904
|
+
return false;
|
|
1905
|
+
};
|
|
1906
|
+
var schemaHasFieldPath = (stateSchemaAst, path) => {
|
|
1907
|
+
if (!path) return true;
|
|
1908
|
+
if (path === "$root") return true;
|
|
1909
|
+
const normalized = normalizeFieldPath(path);
|
|
1910
|
+
if (!normalized) return false;
|
|
1911
|
+
const segs = normalized[0] === "$root" ? normalized.slice(1) : normalized;
|
|
1912
|
+
return schemaHasPath(stateSchemaAst, segs);
|
|
1913
|
+
};
|
|
1914
|
+
var formatSchemaMismatchLine = (ref) => {
|
|
1915
|
+
if (ref.kind === "fieldPath") {
|
|
1916
|
+
return `- ${ref.entryKind} "${ref.entryFieldPath}" fieldPath="${ref.path}"`;
|
|
1917
|
+
}
|
|
1918
|
+
if (ref.kind === "dep") {
|
|
1919
|
+
const rule = ref.ruleName ? ` rule="${ref.ruleName}"` : "";
|
|
1920
|
+
return `- ${ref.entryKind} "${ref.entryFieldPath}" deps="${ref.path}"${rule}`;
|
|
1921
|
+
}
|
|
1922
|
+
if (ref.kind === "link_from") {
|
|
1923
|
+
return `- link "${ref.entryFieldPath}" from="${ref.path}"`;
|
|
1924
|
+
}
|
|
1925
|
+
if (ref.kind === "check_writeback") {
|
|
1926
|
+
return `- check "${ref.entryFieldPath}" writeback="${ref.path}"`;
|
|
1927
|
+
}
|
|
1928
|
+
return `- ${ref.entryKind} "${ref.entryFieldPath}" path="${ref.path}"`;
|
|
1929
|
+
};
|
|
1930
|
+
var emitSchemaMismatch = (program, ctx) => Effect2.gen(function* () {
|
|
1931
|
+
if (!isDevEnv()) return;
|
|
1932
|
+
const level = yield* Effect2.service(currentDiagnosticsLevel).pipe(Effect2.orDie);
|
|
1933
|
+
if (level === "off") return;
|
|
1934
|
+
const key = `${ctx.moduleId ?? "unknown"}::${ctx.instanceId}`;
|
|
1935
|
+
const shouldEmit = yield* onceInRunSession2(`schema_mismatch:${key}`);
|
|
1936
|
+
if (!shouldEmit) return;
|
|
1937
|
+
const refs = program.schemaPaths ?? [];
|
|
1938
|
+
if (refs.length === 0) return;
|
|
1939
|
+
const stateSchemaAst = program.stateSchema.ast;
|
|
1940
|
+
const mismatches = [];
|
|
1941
|
+
const seen = /* @__PURE__ */ new Set();
|
|
1942
|
+
for (const ref of refs) {
|
|
1943
|
+
if (schemaHasFieldPath(stateSchemaAst, ref.path)) continue;
|
|
1944
|
+
const k = `${ref.kind}|${ref.entryKind}|${ref.entryFieldPath}|${ref.ruleName ?? ""}|${ref.path}`;
|
|
1945
|
+
if (seen.has(k)) continue;
|
|
1946
|
+
seen.add(k);
|
|
1947
|
+
mismatches.push(ref);
|
|
1948
|
+
}
|
|
1949
|
+
if (mismatches.length === 0) return;
|
|
1950
|
+
const limit = level === "light" ? 8 : 24;
|
|
1951
|
+
const lines = mismatches.slice(0, limit).map(formatSchemaMismatchLine);
|
|
1952
|
+
if (mismatches.length > limit) {
|
|
1953
|
+
lines.push(`- \u2026(+${mismatches.length - limit})`);
|
|
1954
|
+
}
|
|
1955
|
+
yield* record({
|
|
1956
|
+
type: "diagnostic",
|
|
1957
|
+
moduleId: ctx.moduleId,
|
|
1958
|
+
instanceId: ctx.instanceId,
|
|
1959
|
+
code: "state_trait::schema_mismatch",
|
|
1960
|
+
severity: "warning",
|
|
1961
|
+
message: `[schema] The following paths are not declared in stateSchema (total ${mismatches.length}):
|
|
1962
|
+
${lines.join("\n")}`,
|
|
1963
|
+
hint: "StateTrait writeback will create missing objects/fields. Declare all fieldPath/deps/link.from and errors.* writeback paths in stateSchema, or fix typos in trait paths.",
|
|
1964
|
+
kind: "schema_mismatch"
|
|
1965
|
+
});
|
|
1966
|
+
});
|
|
1967
|
+
|
|
1917
1968
|
export {
|
|
1969
|
+
getConvergeStaticIrDigest,
|
|
1970
|
+
exportConvergeStaticIr,
|
|
1971
|
+
onceInRunSession2 as onceInRunSession,
|
|
1972
|
+
emitDepsMismatch2 as emitDepsMismatch,
|
|
1973
|
+
emitSchemaMismatch,
|
|
1918
1974
|
diffDeps,
|
|
1919
1975
|
trace,
|
|
1920
1976
|
syncIdleInTransaction,
|
|
1921
1977
|
installSourceRefresh,
|
|
1922
1978
|
build
|
|
1923
1979
|
};
|
|
1924
|
-
//# sourceMappingURL=chunk-
|
|
1980
|
+
//# sourceMappingURL=chunk-IVXSVHO4.js.map
|