@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
package/dist/chunk-W3TEWHLO.js
DELETED
|
@@ -1,568 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getModuleProgramById
|
|
3
|
-
} from "./chunk-66ALHVEX.js";
|
|
4
|
-
import {
|
|
5
|
-
appendConvergeStaticIrCollectors
|
|
6
|
-
} from "./chunk-M3BFQ7HK.js";
|
|
7
|
-
import {
|
|
8
|
-
getModuleTraitsProgram,
|
|
9
|
-
getRuntimeInternals
|
|
10
|
-
} from "./chunk-3RMKLXHX.js";
|
|
11
|
-
import {
|
|
12
|
-
getNodeEnv
|
|
13
|
-
} from "./chunk-3QMIVH35.js";
|
|
14
|
-
import {
|
|
15
|
-
browserConsoleLayer,
|
|
16
|
-
browserDiagnosticConsoleLayer,
|
|
17
|
-
clearRuntimeDebugEventSeq,
|
|
18
|
-
currentDebugSinks,
|
|
19
|
-
currentDiagnosticsLevel,
|
|
20
|
-
currentRuntimeLabel,
|
|
21
|
-
currentTraitConvergeDiagnosticsSampling,
|
|
22
|
-
errorOnlyLayer,
|
|
23
|
-
noopLayer,
|
|
24
|
-
record,
|
|
25
|
-
toRuntimeDebugEventRef,
|
|
26
|
-
traitConvergeDiagnosticsSampling
|
|
27
|
-
} from "./chunk-DMBALCE2.js";
|
|
28
|
-
import {
|
|
29
|
-
OBSERVABILITY_PROTOCOL_VERSION,
|
|
30
|
-
exportEvidencePackage
|
|
31
|
-
} from "./chunk-M7IYCTJV.js";
|
|
32
|
-
import {
|
|
33
|
-
__export
|
|
34
|
-
} from "./chunk-PZ5AY32C.js";
|
|
35
|
-
|
|
36
|
-
// src/Debug.ts
|
|
37
|
-
var Debug_exports = {};
|
|
38
|
-
__export(Debug_exports, {
|
|
39
|
-
appendSinks: () => appendSinks,
|
|
40
|
-
clearDevtoolsEvents: () => clearDevtoolsEvents2,
|
|
41
|
-
devtoolsHubLayer: () => devtoolsHubLayer,
|
|
42
|
-
diagnosticsLevel: () => diagnosticsLevel,
|
|
43
|
-
exportEvidencePackage: () => exportEvidencePackage2,
|
|
44
|
-
getDevtoolsRunId: () => getDevtoolsRunId2,
|
|
45
|
-
getDevtoolsSnapshot: () => getDevtoolsSnapshot2,
|
|
46
|
-
getDevtoolsSnapshotToken: () => getDevtoolsSnapshotToken2,
|
|
47
|
-
getInstanceLabel: () => getInstanceLabel2,
|
|
48
|
-
getModuleFinalTraits: () => getModuleFinalTraits,
|
|
49
|
-
getModuleTraits: () => getModuleTraits,
|
|
50
|
-
getModuleTraitsById: () => getModuleTraitsById,
|
|
51
|
-
getModuleTraitsSnapshot: () => getModuleTraitsSnapshot,
|
|
52
|
-
internal: () => internal,
|
|
53
|
-
isDevtoolsEnabled: () => isDevtoolsEnabled2,
|
|
54
|
-
layer: () => layer,
|
|
55
|
-
makeModuleRuntimeCounterSink: () => makeModuleRuntimeCounterSink,
|
|
56
|
-
makeRingBufferSink: () => makeRingBufferSink,
|
|
57
|
-
noopLayer: () => noopLayer2,
|
|
58
|
-
record: () => record2,
|
|
59
|
-
replace: () => replace,
|
|
60
|
-
runtimeLabel: () => runtimeLabel,
|
|
61
|
-
setDevtoolsRunId: () => setDevtoolsRunId2,
|
|
62
|
-
setInstanceLabel: () => setInstanceLabel2,
|
|
63
|
-
startDevtoolsRun: () => startDevtoolsRun2,
|
|
64
|
-
subscribeDevtoolsSnapshot: () => subscribeDevtoolsSnapshot2,
|
|
65
|
-
toRuntimeDebugEventRef: () => toRuntimeDebugEventRef2,
|
|
66
|
-
traceLayer: () => traceLayer,
|
|
67
|
-
traitConvergeDiagnosticsSampling: () => traitConvergeDiagnosticsSampling2,
|
|
68
|
-
withPrettyLogger: () => withPrettyLogger
|
|
69
|
-
});
|
|
70
|
-
import { Effect as Effect2, Layer, Logger } from "effect";
|
|
71
|
-
|
|
72
|
-
// src/internal/runtime/core/DevtoolsHub.ts
|
|
73
|
-
import { Effect, FiberRef } from "effect";
|
|
74
|
-
var instances = /* @__PURE__ */ new Map();
|
|
75
|
-
var latestStates = /* @__PURE__ */ new Map();
|
|
76
|
-
var latestTraitSummaries = /* @__PURE__ */ new Map();
|
|
77
|
-
var instanceLabels = /* @__PURE__ */ new Map();
|
|
78
|
-
var convergeStaticIrByDigest = /* @__PURE__ */ new Map();
|
|
79
|
-
var liveInstanceKeys = /* @__PURE__ */ new Set();
|
|
80
|
-
var exportBudget = {
|
|
81
|
-
dropped: 0,
|
|
82
|
-
oversized: 0
|
|
83
|
-
};
|
|
84
|
-
var lastRunTs = 0;
|
|
85
|
-
var lastRunTsSeq = 0;
|
|
86
|
-
var nextRunId = () => {
|
|
87
|
-
const ts = Date.now();
|
|
88
|
-
if (ts === lastRunTs) {
|
|
89
|
-
lastRunTsSeq += 1;
|
|
90
|
-
} else {
|
|
91
|
-
lastRunTs = ts;
|
|
92
|
-
lastRunTsSeq = 0;
|
|
93
|
-
}
|
|
94
|
-
return lastRunTsSeq === 0 ? `run-${ts}` : `run-${ts}.${lastRunTsSeq}`;
|
|
95
|
-
};
|
|
96
|
-
var currentRunId = nextRunId();
|
|
97
|
-
var nextSeq = 1;
|
|
98
|
-
var bufferSize = 500;
|
|
99
|
-
var ringBuffer = [];
|
|
100
|
-
var ringBufferSeq = [];
|
|
101
|
-
var snapshotToken = 0;
|
|
102
|
-
var ensureRingBufferSize = () => {
|
|
103
|
-
if (bufferSize <= 0) {
|
|
104
|
-
ringBuffer.length = 0;
|
|
105
|
-
ringBufferSeq.length = 0;
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
if (ringBuffer.length <= bufferSize) return;
|
|
109
|
-
const excess = ringBuffer.length - bufferSize;
|
|
110
|
-
ringBuffer.splice(0, excess);
|
|
111
|
-
ringBufferSeq.splice(0, excess);
|
|
112
|
-
};
|
|
113
|
-
var trimRingBufferIfNeeded = () => {
|
|
114
|
-
if (bufferSize <= 0) {
|
|
115
|
-
ringBuffer.length = 0;
|
|
116
|
-
ringBufferSeq.length = 0;
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
if (bufferSize <= 64) {
|
|
120
|
-
ensureRingBufferSize();
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
const slack = Math.min(1024, Math.floor(bufferSize / 2));
|
|
124
|
-
const threshold = bufferSize + Math.max(1, slack);
|
|
125
|
-
if (ringBuffer.length <= threshold) return;
|
|
126
|
-
const excess = ringBuffer.length - bufferSize;
|
|
127
|
-
ringBuffer.splice(0, excess);
|
|
128
|
-
ringBufferSeq.splice(0, excess);
|
|
129
|
-
};
|
|
130
|
-
var currentSnapshot = {
|
|
131
|
-
snapshotToken,
|
|
132
|
-
instances,
|
|
133
|
-
events: ringBuffer,
|
|
134
|
-
latestStates,
|
|
135
|
-
latestTraitSummaries,
|
|
136
|
-
exportBudget
|
|
137
|
-
};
|
|
138
|
-
var listeners = /* @__PURE__ */ new Set();
|
|
139
|
-
var notifyScheduled = false;
|
|
140
|
-
var scheduleNotify = () => {
|
|
141
|
-
if (notifyScheduled) return;
|
|
142
|
-
notifyScheduled = true;
|
|
143
|
-
queueMicrotask(() => {
|
|
144
|
-
notifyScheduled = false;
|
|
145
|
-
for (const listener of listeners) {
|
|
146
|
-
listener();
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
};
|
|
150
|
-
var devtoolsEnabled = false;
|
|
151
|
-
var bumpSnapshotToken = () => {
|
|
152
|
-
snapshotToken += 1;
|
|
153
|
-
currentSnapshot.snapshotToken = snapshotToken;
|
|
154
|
-
};
|
|
155
|
-
var markSnapshotChanged = () => {
|
|
156
|
-
bumpSnapshotToken();
|
|
157
|
-
scheduleNotify();
|
|
158
|
-
};
|
|
159
|
-
var configureDevtoolsHub = (options) => {
|
|
160
|
-
devtoolsEnabled = true;
|
|
161
|
-
if (typeof options?.bufferSize === "number" && Number.isFinite(options.bufferSize)) {
|
|
162
|
-
const next = Math.floor(options.bufferSize);
|
|
163
|
-
const nextBufferSize = next >= 0 ? next : 0;
|
|
164
|
-
if (nextBufferSize !== bufferSize) {
|
|
165
|
-
bufferSize = nextBufferSize;
|
|
166
|
-
ensureRingBufferSize();
|
|
167
|
-
markSnapshotChanged();
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
};
|
|
171
|
-
var isDevtoolsEnabled = () => devtoolsEnabled;
|
|
172
|
-
var getDevtoolsSnapshot = () => currentSnapshot;
|
|
173
|
-
var getDevtoolsSnapshotToken = () => snapshotToken;
|
|
174
|
-
var subscribeDevtoolsSnapshot = (listener) => {
|
|
175
|
-
listeners.add(listener);
|
|
176
|
-
return () => {
|
|
177
|
-
listeners.delete(listener);
|
|
178
|
-
};
|
|
179
|
-
};
|
|
180
|
-
var getDevtoolsRunId = () => currentRunId;
|
|
181
|
-
var setDevtoolsRunId = (runId) => {
|
|
182
|
-
if (typeof runId !== "string" || runId.length === 0) return;
|
|
183
|
-
if (runId !== currentRunId) {
|
|
184
|
-
currentRunId = runId;
|
|
185
|
-
markSnapshotChanged();
|
|
186
|
-
}
|
|
187
|
-
};
|
|
188
|
-
var startDevtoolsRun = (runId) => {
|
|
189
|
-
currentRunId = typeof runId === "string" && runId.length > 0 ? runId : nextRunId();
|
|
190
|
-
nextSeq = 1;
|
|
191
|
-
clearRuntimeDebugEventSeq();
|
|
192
|
-
clearDevtoolsEvents();
|
|
193
|
-
return currentRunId;
|
|
194
|
-
};
|
|
195
|
-
var clearDevtoolsEvents = () => {
|
|
196
|
-
ringBuffer.length = 0;
|
|
197
|
-
ringBufferSeq.length = 0;
|
|
198
|
-
exportBudget.dropped = 0;
|
|
199
|
-
exportBudget.oversized = 0;
|
|
200
|
-
markSnapshotChanged();
|
|
201
|
-
};
|
|
202
|
-
var setInstanceLabel = (instanceId, label) => {
|
|
203
|
-
instanceLabels.set(instanceId, label);
|
|
204
|
-
markSnapshotChanged();
|
|
205
|
-
};
|
|
206
|
-
var getInstanceLabel = (instanceId) => instanceLabels.get(instanceId);
|
|
207
|
-
var registerConvergeStaticIr = (ir) => {
|
|
208
|
-
convergeStaticIrByDigest.set(ir.staticIrDigest, ir);
|
|
209
|
-
};
|
|
210
|
-
var devtoolsHubConvergeStaticIrCollector = {
|
|
211
|
-
register: registerConvergeStaticIr
|
|
212
|
-
};
|
|
213
|
-
var exportDevtoolsEvidencePackage = (options) => {
|
|
214
|
-
const protocolVersion = options?.protocolVersion ?? OBSERVABILITY_PROTOCOL_VERSION;
|
|
215
|
-
const runId = options?.runId ?? currentRunId;
|
|
216
|
-
const source = options?.source ?? { host: "unknown" };
|
|
217
|
-
const events = ringBuffer.map((payload, i) => ({
|
|
218
|
-
protocolVersion,
|
|
219
|
-
runId,
|
|
220
|
-
seq: ringBufferSeq[i] ?? i + 1,
|
|
221
|
-
timestamp: payload.timestamp,
|
|
222
|
-
type: "debug:event",
|
|
223
|
-
payload
|
|
224
|
-
}));
|
|
225
|
-
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
226
|
-
const convergeDigests = /* @__PURE__ */ new Set();
|
|
227
|
-
let sawFullConverge = false;
|
|
228
|
-
for (const ref of ringBuffer) {
|
|
229
|
-
if (ref.kind !== "trait:converge") continue;
|
|
230
|
-
const meta = ref.meta;
|
|
231
|
-
if (!isRecord(meta)) continue;
|
|
232
|
-
const digest = meta.staticIrDigest;
|
|
233
|
-
if (typeof digest === "string" && digest.length > 0) {
|
|
234
|
-
convergeDigests.add(digest);
|
|
235
|
-
}
|
|
236
|
-
const dirty = meta.dirty;
|
|
237
|
-
if (isRecord(dirty) && typeof dirty.rootCount === "number") {
|
|
238
|
-
sawFullConverge = true;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
let summary;
|
|
242
|
-
if (sawFullConverge && convergeDigests.size > 0) {
|
|
243
|
-
const staticIrByDigest = {};
|
|
244
|
-
for (const digest of convergeDigests) {
|
|
245
|
-
const ir = convergeStaticIrByDigest.get(digest);
|
|
246
|
-
if (ir) {
|
|
247
|
-
staticIrByDigest[digest] = ir;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
if (Object.keys(staticIrByDigest).length > 0) {
|
|
251
|
-
summary = { converge: { staticIrByDigest } };
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
return exportEvidencePackage({
|
|
255
|
-
protocolVersion,
|
|
256
|
-
runId,
|
|
257
|
-
source,
|
|
258
|
-
events,
|
|
259
|
-
summary
|
|
260
|
-
});
|
|
261
|
-
};
|
|
262
|
-
var devtoolsHubSink = {
|
|
263
|
-
record: (event) => Effect.gen(function* () {
|
|
264
|
-
const level = yield* FiberRef.get(currentDiagnosticsLevel);
|
|
265
|
-
let changed = false;
|
|
266
|
-
if (event.type === "trace:instanceLabel") {
|
|
267
|
-
const instanceId = event.instanceId;
|
|
268
|
-
const data = event.data;
|
|
269
|
-
const label = data && typeof data === "object" && "label" in data ? String(data.label) : void 0;
|
|
270
|
-
if (instanceId && label) {
|
|
271
|
-
instanceLabels.set(instanceId, label);
|
|
272
|
-
changed = true;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
if (event.type === "module:init" || event.type === "module:destroy") {
|
|
276
|
-
const moduleId = event.moduleId ?? "unknown";
|
|
277
|
-
const runtimeLabel2 = event.runtimeLabel ?? "unknown";
|
|
278
|
-
const instanceId = event.instanceId;
|
|
279
|
-
const key = `${runtimeLabel2}::${moduleId}`;
|
|
280
|
-
const prev = instances.get(key) ?? 0;
|
|
281
|
-
if (event.type === "module:init") {
|
|
282
|
-
instances.set(key, prev + 1);
|
|
283
|
-
changed = true;
|
|
284
|
-
if (instanceId) {
|
|
285
|
-
const instanceKey = `${runtimeLabel2}::${moduleId}::${instanceId}`;
|
|
286
|
-
liveInstanceKeys.add(instanceKey);
|
|
287
|
-
if (latestStates.delete(instanceKey)) changed = true;
|
|
288
|
-
if (latestTraitSummaries.delete(instanceKey)) changed = true;
|
|
289
|
-
}
|
|
290
|
-
} else {
|
|
291
|
-
const next = prev - 1;
|
|
292
|
-
if (next <= 0) {
|
|
293
|
-
if (instances.delete(key)) changed = true;
|
|
294
|
-
} else {
|
|
295
|
-
instances.set(key, next);
|
|
296
|
-
changed = true;
|
|
297
|
-
}
|
|
298
|
-
if (instanceId) {
|
|
299
|
-
const instanceKey = `${runtimeLabel2}::${moduleId}::${instanceId}`;
|
|
300
|
-
liveInstanceKeys.delete(instanceKey);
|
|
301
|
-
if (latestStates.delete(instanceKey)) changed = true;
|
|
302
|
-
if (latestTraitSummaries.delete(instanceKey)) changed = true;
|
|
303
|
-
if (instanceLabels.delete(instanceId)) changed = true;
|
|
304
|
-
changed = true;
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
let exportBudgetChanged = false;
|
|
309
|
-
const ref = toRuntimeDebugEventRef(event, {
|
|
310
|
-
diagnosticsLevel: level,
|
|
311
|
-
resolveConvergeStaticIr: (staticIrDigest) => convergeStaticIrByDigest.get(staticIrDigest),
|
|
312
|
-
onMetaProjection: ({ stats }) => {
|
|
313
|
-
if (stats.dropped !== 0 || stats.oversized !== 0) {
|
|
314
|
-
exportBudgetChanged = true;
|
|
315
|
-
}
|
|
316
|
-
exportBudget.dropped += stats.dropped;
|
|
317
|
-
exportBudget.oversized += stats.oversized;
|
|
318
|
-
}
|
|
319
|
-
});
|
|
320
|
-
if (exportBudgetChanged) {
|
|
321
|
-
changed = true;
|
|
322
|
-
}
|
|
323
|
-
if (!ref) {
|
|
324
|
-
if (changed) {
|
|
325
|
-
markSnapshotChanged();
|
|
326
|
-
}
|
|
327
|
-
return;
|
|
328
|
-
}
|
|
329
|
-
if (ref.kind === "state" && ref.label === "state:update") {
|
|
330
|
-
const runtimeLabel2 = ref.runtimeLabel ?? "unknown";
|
|
331
|
-
const key = `${runtimeLabel2}::${ref.moduleId}::${ref.instanceId}`;
|
|
332
|
-
if (liveInstanceKeys.has(key)) {
|
|
333
|
-
if (ref.meta && typeof ref.meta === "object" && !Array.isArray(ref.meta)) {
|
|
334
|
-
const anyMeta = ref.meta;
|
|
335
|
-
if ("state" in anyMeta) {
|
|
336
|
-
latestStates.set(key, anyMeta.state);
|
|
337
|
-
changed = true;
|
|
338
|
-
}
|
|
339
|
-
if ("traitSummary" in anyMeta && anyMeta.traitSummary !== void 0) {
|
|
340
|
-
latestTraitSummaries.set(key, anyMeta.traitSummary);
|
|
341
|
-
changed = true;
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
if (bufferSize > 0) {
|
|
347
|
-
const seq = nextSeq++;
|
|
348
|
-
ringBuffer.push(ref);
|
|
349
|
-
ringBufferSeq.push(seq);
|
|
350
|
-
trimRingBufferIfNeeded();
|
|
351
|
-
changed = true;
|
|
352
|
-
}
|
|
353
|
-
if (changed) {
|
|
354
|
-
markSnapshotChanged();
|
|
355
|
-
}
|
|
356
|
-
})
|
|
357
|
-
};
|
|
358
|
-
|
|
359
|
-
// src/Debug.ts
|
|
360
|
-
var toRuntimeDebugEventRef2 = toRuntimeDebugEventRef;
|
|
361
|
-
var internal = {
|
|
362
|
-
currentDebugSinks,
|
|
363
|
-
currentRuntimeLabel,
|
|
364
|
-
currentDiagnosticsLevel,
|
|
365
|
-
currentTraitConvergeDiagnosticsSampling,
|
|
366
|
-
toRuntimeDebugEventRef
|
|
367
|
-
};
|
|
368
|
-
var getDevtoolsSnapshot2 = getDevtoolsSnapshot;
|
|
369
|
-
var getDevtoolsSnapshotToken2 = getDevtoolsSnapshotToken;
|
|
370
|
-
var subscribeDevtoolsSnapshot2 = subscribeDevtoolsSnapshot;
|
|
371
|
-
var clearDevtoolsEvents2 = clearDevtoolsEvents;
|
|
372
|
-
var getDevtoolsRunId2 = getDevtoolsRunId;
|
|
373
|
-
var setDevtoolsRunId2 = setDevtoolsRunId;
|
|
374
|
-
var startDevtoolsRun2 = startDevtoolsRun;
|
|
375
|
-
var setInstanceLabel2 = setInstanceLabel;
|
|
376
|
-
var getInstanceLabel2 = getInstanceLabel;
|
|
377
|
-
var exportEvidencePackage2 = (options) => exportDevtoolsEvidencePackage(options);
|
|
378
|
-
var diagnosticsLevel = (level) => Layer.fiberRefLocallyScopedWith(currentDiagnosticsLevel, () => level);
|
|
379
|
-
var traitConvergeDiagnosticsSampling2 = (config) => traitConvergeDiagnosticsSampling(config);
|
|
380
|
-
var isDevtoolsEnabled2 = isDevtoolsEnabled;
|
|
381
|
-
var makeModuleRuntimeCounterSink = () => {
|
|
382
|
-
const counts = /* @__PURE__ */ new Map();
|
|
383
|
-
const sink = {
|
|
384
|
-
record: (event) => Effect2.sync(() => {
|
|
385
|
-
if (event.type === "module:init") {
|
|
386
|
-
const moduleId = event.moduleId ?? "unknown";
|
|
387
|
-
const runtimeLabel2 = "runtimeLabel" in event && event.runtimeLabel ? event.runtimeLabel : "unknown";
|
|
388
|
-
const key = `${runtimeLabel2}::${moduleId}`;
|
|
389
|
-
const prev = counts.get(key) ?? 0;
|
|
390
|
-
counts.set(key, prev + 1);
|
|
391
|
-
return;
|
|
392
|
-
}
|
|
393
|
-
if (event.type === "module:destroy") {
|
|
394
|
-
const moduleId = event.moduleId ?? "unknown";
|
|
395
|
-
const runtimeLabel2 = "runtimeLabel" in event && event.runtimeLabel ? event.runtimeLabel : "unknown";
|
|
396
|
-
const key = `${runtimeLabel2}::${moduleId}`;
|
|
397
|
-
const prev = counts.get(key) ?? 0;
|
|
398
|
-
const next = prev - 1;
|
|
399
|
-
if (next <= 0) {
|
|
400
|
-
counts.delete(key);
|
|
401
|
-
} else {
|
|
402
|
-
counts.set(key, next);
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
})
|
|
406
|
-
};
|
|
407
|
-
const getSnapshot = () => new Map(counts);
|
|
408
|
-
return { sink, getSnapshot };
|
|
409
|
-
};
|
|
410
|
-
var makeRingBufferSink = (capacity = 1e3) => {
|
|
411
|
-
const buffer = [];
|
|
412
|
-
const sink = {
|
|
413
|
-
record: (event) => Effect2.sync(() => {
|
|
414
|
-
if (capacity <= 0) {
|
|
415
|
-
return;
|
|
416
|
-
}
|
|
417
|
-
if (buffer.length >= capacity) {
|
|
418
|
-
buffer.shift();
|
|
419
|
-
}
|
|
420
|
-
buffer.push(event);
|
|
421
|
-
})
|
|
422
|
-
};
|
|
423
|
-
const getSnapshot = () => buffer.slice();
|
|
424
|
-
const clear = () => {
|
|
425
|
-
buffer.length = 0;
|
|
426
|
-
};
|
|
427
|
-
return { sink, getSnapshot, clear };
|
|
428
|
-
};
|
|
429
|
-
var record2 = record;
|
|
430
|
-
var noopLayer2 = noopLayer;
|
|
431
|
-
var resolveMode = (mode) => {
|
|
432
|
-
if (mode && mode !== "auto") {
|
|
433
|
-
return mode;
|
|
434
|
-
}
|
|
435
|
-
const env = getNodeEnv();
|
|
436
|
-
return env === "production" ? "prod" : "dev";
|
|
437
|
-
};
|
|
438
|
-
var layer = (options) => {
|
|
439
|
-
const mode = resolveMode(options?.mode);
|
|
440
|
-
const diagnostics = options?.diagnosticsLevel;
|
|
441
|
-
const sinks = (() => {
|
|
442
|
-
switch (mode) {
|
|
443
|
-
case "off":
|
|
444
|
-
return noopLayer;
|
|
445
|
-
case "prod":
|
|
446
|
-
return errorOnlyLayer;
|
|
447
|
-
case "dev":
|
|
448
|
-
case "auto": {
|
|
449
|
-
return options?.devConsole === "diagnostic" ? browserDiagnosticConsoleLayer : browserConsoleLayer;
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
})();
|
|
453
|
-
return diagnostics ? Layer.mergeAll(sinks, diagnosticsLevel(diagnostics)) : sinks;
|
|
454
|
-
};
|
|
455
|
-
var withPrettyLogger = (base, options) => Layer.merge(
|
|
456
|
-
base,
|
|
457
|
-
Logger.replace(Logger.defaultLogger, Logger.prettyLogger(options))
|
|
458
|
-
);
|
|
459
|
-
var replace = (sinks) => Layer.locallyScoped(internal.currentDebugSinks, sinks);
|
|
460
|
-
var appendSinks = (sinks) => Layer.fiberRefLocallyScopedWith(currentDebugSinks, (current) => [
|
|
461
|
-
...current,
|
|
462
|
-
...sinks
|
|
463
|
-
]);
|
|
464
|
-
function devtoolsHubLayer(baseOrOptions, maybeOptions) {
|
|
465
|
-
const isLayerValue = (value) => typeof value === "object" && value !== null && "_op_layer" in value;
|
|
466
|
-
const hasBase = isLayerValue(baseOrOptions);
|
|
467
|
-
const base = hasBase ? baseOrOptions : Layer.empty;
|
|
468
|
-
const options = hasBase ? maybeOptions : baseOrOptions;
|
|
469
|
-
configureDevtoolsHub(options);
|
|
470
|
-
const append = appendSinks([devtoolsHubSink]);
|
|
471
|
-
const appendConvergeStaticIr = appendConvergeStaticIrCollectors([
|
|
472
|
-
devtoolsHubConvergeStaticIrCollector
|
|
473
|
-
]);
|
|
474
|
-
const enableExportableDiagnostics = diagnosticsLevel(options?.diagnosticsLevel ?? "light");
|
|
475
|
-
const convergeSamplingLayer = options?.traitConvergeDiagnosticsSampling ? traitConvergeDiagnosticsSampling2(options.traitConvergeDiagnosticsSampling) : Layer.empty;
|
|
476
|
-
return Layer.provideMerge(
|
|
477
|
-
Layer.mergeAll(append, enableExportableDiagnostics, convergeSamplingLayer, appendConvergeStaticIr),
|
|
478
|
-
base
|
|
479
|
-
);
|
|
480
|
-
}
|
|
481
|
-
var runtimeLabel = (label) => Layer.fiberRefLocallyScopedWith(internal.currentRuntimeLabel, () => label);
|
|
482
|
-
var getModuleTraits = (module) => {
|
|
483
|
-
const moduleTag = module.tag ? module.tag : module;
|
|
484
|
-
const program = getModuleTraitsProgram(moduleTag);
|
|
485
|
-
if (!program) {
|
|
486
|
-
return {};
|
|
487
|
-
}
|
|
488
|
-
return {
|
|
489
|
-
program,
|
|
490
|
-
graph: program.graph,
|
|
491
|
-
plan: program.plan
|
|
492
|
-
};
|
|
493
|
-
};
|
|
494
|
-
var getModuleTraitsById = (moduleId) => {
|
|
495
|
-
const program = getModuleProgramById(moduleId);
|
|
496
|
-
if (!program) {
|
|
497
|
-
return void 0;
|
|
498
|
-
}
|
|
499
|
-
return {
|
|
500
|
-
program,
|
|
501
|
-
graph: program.graph,
|
|
502
|
-
plan: program.plan
|
|
503
|
-
};
|
|
504
|
-
};
|
|
505
|
-
var getModuleTraitsSnapshot = (runtime) => {
|
|
506
|
-
try {
|
|
507
|
-
const internals = getRuntimeInternals(runtime);
|
|
508
|
-
return internals.traits.getModuleTraitsSnapshot();
|
|
509
|
-
} catch {
|
|
510
|
-
return void 0;
|
|
511
|
-
}
|
|
512
|
-
};
|
|
513
|
-
var getModuleFinalTraits = (runtime) => {
|
|
514
|
-
const snapshot = getModuleTraitsSnapshot(runtime);
|
|
515
|
-
if (!snapshot) return [];
|
|
516
|
-
return snapshot.traits.map((t) => ({
|
|
517
|
-
traitId: t.traitId,
|
|
518
|
-
name: t.name,
|
|
519
|
-
description: t.description,
|
|
520
|
-
provenance: snapshot.provenanceIndex[t.traitId]
|
|
521
|
-
}));
|
|
522
|
-
};
|
|
523
|
-
var isLayer = (value) => typeof value === "object" && value !== null && "_op_layer" in value;
|
|
524
|
-
function traceLayer(baseOrHandler, maybeOnTrace) {
|
|
525
|
-
const hasBase = isLayer(baseOrHandler);
|
|
526
|
-
const base = hasBase ? baseOrHandler : Layer.empty;
|
|
527
|
-
const onTrace = hasBase ? maybeOnTrace : baseOrHandler;
|
|
528
|
-
const traceSink = {
|
|
529
|
-
record: (event) => typeof event.type === "string" && event.type.startsWith("trace:") ? onTrace ? onTrace(event) : Effect2.logDebug({ traceEvent: event }) : Effect2.void
|
|
530
|
-
};
|
|
531
|
-
const appendTrace = Layer.fiberRefLocallyScopedWith(currentDebugSinks, (sinks) => [...sinks, traceSink]);
|
|
532
|
-
return Layer.provideMerge(appendTrace, base);
|
|
533
|
-
}
|
|
534
|
-
|
|
535
|
-
export {
|
|
536
|
-
toRuntimeDebugEventRef2 as toRuntimeDebugEventRef,
|
|
537
|
-
internal,
|
|
538
|
-
getDevtoolsSnapshot2 as getDevtoolsSnapshot,
|
|
539
|
-
getDevtoolsSnapshotToken2 as getDevtoolsSnapshotToken,
|
|
540
|
-
subscribeDevtoolsSnapshot2 as subscribeDevtoolsSnapshot,
|
|
541
|
-
clearDevtoolsEvents2 as clearDevtoolsEvents,
|
|
542
|
-
getDevtoolsRunId2 as getDevtoolsRunId,
|
|
543
|
-
setDevtoolsRunId2 as setDevtoolsRunId,
|
|
544
|
-
startDevtoolsRun2 as startDevtoolsRun,
|
|
545
|
-
setInstanceLabel2 as setInstanceLabel,
|
|
546
|
-
getInstanceLabel2 as getInstanceLabel,
|
|
547
|
-
exportEvidencePackage2 as exportEvidencePackage,
|
|
548
|
-
diagnosticsLevel,
|
|
549
|
-
traitConvergeDiagnosticsSampling2 as traitConvergeDiagnosticsSampling,
|
|
550
|
-
isDevtoolsEnabled2 as isDevtoolsEnabled,
|
|
551
|
-
makeModuleRuntimeCounterSink,
|
|
552
|
-
makeRingBufferSink,
|
|
553
|
-
record2 as record,
|
|
554
|
-
noopLayer2 as noopLayer,
|
|
555
|
-
layer,
|
|
556
|
-
withPrettyLogger,
|
|
557
|
-
replace,
|
|
558
|
-
appendSinks,
|
|
559
|
-
devtoolsHubLayer,
|
|
560
|
-
runtimeLabel,
|
|
561
|
-
getModuleTraits,
|
|
562
|
-
getModuleTraitsById,
|
|
563
|
-
getModuleTraitsSnapshot,
|
|
564
|
-
getModuleFinalTraits,
|
|
565
|
-
traceLayer,
|
|
566
|
-
Debug_exports
|
|
567
|
-
};
|
|
568
|
-
//# sourceMappingURL=chunk-W3TEWHLO.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Debug.ts","../src/internal/runtime/core/DevtoolsHub.ts"],"sourcesContent":["import { Effect, Layer, Logger } from 'effect'\nimport type { AnyModuleShape, ModuleLike, ModuleRuntime, ModuleTag } from './internal/module.js'\nimport type { StateTraitProgram, StateTraitGraph, StateTraitPlan } from './StateTrait.js'\nimport * as Internal from './internal/runtime/core/DebugSink.js'\nimport * as DevtoolsHub from './internal/runtime/core/DevtoolsHub.js'\nimport * as ConvergeStaticIrCollector from './internal/runtime/core/ConvergeStaticIrCollector.js'\nimport * as ModuleTraitsRegistry from './internal/debug/ModuleTraitsRegistry.js'\nimport type * as ModuleTraits from './internal/runtime/core/ModuleTraits.js'\nimport { getModuleTraitsProgram, getRuntimeInternals } from './internal/runtime/core/runtimeInternalsAccessor.js'\nimport { getNodeEnv } from './internal/runtime/core/env.js'\nimport type { EvidencePackage, EvidencePackageSource } from './Observability.js'\n\n// Public Debug API: a namespace-shaped facade for debugging capabilities used by apps and platforms.\n// The event model and core Layers live in internal/runtime/core/DebugSink.ts; this module provides ergonomic entry points.\n\nexport type Event = Internal.Event\nexport interface Sink extends Internal.Sink {}\nexport interface RuntimeDebugEventRef extends Internal.RuntimeDebugEventRef {}\nexport type DiagnosticsLevel = Internal.DiagnosticsLevel\nexport type TraitConvergeDiagnosticsSamplingConfig = Internal.TraitConvergeDiagnosticsSamplingConfig\nexport type SnapshotToken = DevtoolsHub.SnapshotToken\n\nexport const toRuntimeDebugEventRef = Internal.toRuntimeDebugEventRef\n\nexport const internal = {\n currentDebugSinks: Internal.currentDebugSinks,\n currentRuntimeLabel: Internal.currentRuntimeLabel,\n currentDiagnosticsLevel: Internal.currentDiagnosticsLevel,\n currentTraitConvergeDiagnosticsSampling: Internal.currentTraitConvergeDiagnosticsSampling,\n toRuntimeDebugEventRef: Internal.toRuntimeDebugEventRef,\n}\n\nexport interface DevtoolsSnapshot extends DevtoolsHub.DevtoolsSnapshot {}\nexport interface DevtoolsHubOptions extends DevtoolsHub.DevtoolsHubOptions {\n readonly diagnosticsLevel?: DiagnosticsLevel\n readonly traitConvergeDiagnosticsSampling?: TraitConvergeDiagnosticsSamplingConfig\n}\n\nexport const getDevtoolsSnapshot = DevtoolsHub.getDevtoolsSnapshot\nexport const getDevtoolsSnapshotToken = DevtoolsHub.getDevtoolsSnapshotToken\nexport const subscribeDevtoolsSnapshot = DevtoolsHub.subscribeDevtoolsSnapshot\nexport const clearDevtoolsEvents = DevtoolsHub.clearDevtoolsEvents\nexport const getDevtoolsRunId = DevtoolsHub.getDevtoolsRunId\nexport const setDevtoolsRunId = DevtoolsHub.setDevtoolsRunId\nexport const startDevtoolsRun = DevtoolsHub.startDevtoolsRun\nexport const setInstanceLabel = DevtoolsHub.setInstanceLabel\nexport const getInstanceLabel = DevtoolsHub.getInstanceLabel\n\nexport const exportEvidencePackage = (options?: {\n readonly runId?: string\n readonly source?: EvidencePackageSource\n readonly protocolVersion?: string\n}): EvidencePackage => DevtoolsHub.exportDevtoolsEvidencePackage(options)\n\n/**\n * Diagnostics level for exportable events.\n *\n * Controls what DevtoolsHub exports (ring buffer / snapshots), without changing Debug.record's fallback semantics.\n */\nexport const diagnosticsLevel = (level: DiagnosticsLevel): Layer.Layer<any, never, never> =>\n Layer.fiberRefLocallyScopedWith(Internal.currentDiagnosticsLevel as any, () => level) as Layer.Layer<\n any,\n never,\n never\n >\n\nexport const traitConvergeDiagnosticsSampling = (\n config: TraitConvergeDiagnosticsSamplingConfig,\n): Layer.Layer<any, never, never> => Internal.traitConvergeDiagnosticsSampling(config)\n\n/**\n * Whether Devtools is enabled.\n *\n * Used by React/Devtools UI to decide if extra instrumentation should be active; turned on by devtoolsHubLayer.\n */\nexport const isDevtoolsEnabled = DevtoolsHub.isDevtoolsEnabled\n\n/**\n * A lightweight counter of active module runtimes.\n *\n * Derived from module:init / module:destroy events; suitable as a DevTools / Playground data source.\n */\nexport interface ModuleRuntimeCounter {\n readonly sink: Sink\n readonly getSnapshot: () => ReadonlyMap<string, number>\n}\n\n/**\n * A simple in-memory ring buffer for Debug events.\n *\n * No filtering/grouping; consumers can post-process snapshots (by moduleId/type/etc.).\n */\nexport interface RingBufferSink {\n readonly sink: Sink\n readonly getSnapshot: () => ReadonlyArray<Event>\n readonly clear: () => void\n}\n\n/**\n * Create a Debug sink that counts active instances per moduleId.\n *\n * Snapshots are exposed via getSnapshot(); bridging to UI (window/postMessage/etc.) is left to consumers.\n */\nexport const makeModuleRuntimeCounterSink = (): ModuleRuntimeCounter => {\n const counts = new Map<string, number>()\n\n const sink: Sink = {\n record: (event: Event) =>\n Effect.sync(() => {\n if (event.type === 'module:init') {\n const moduleId = event.moduleId ?? 'unknown'\n const runtimeLabel = 'runtimeLabel' in event && event.runtimeLabel ? event.runtimeLabel : 'unknown'\n const key = `${runtimeLabel}::${moduleId}`\n const prev = counts.get(key) ?? 0\n counts.set(key, prev + 1)\n return\n }\n if (event.type === 'module:destroy') {\n const moduleId = event.moduleId ?? 'unknown'\n const runtimeLabel = 'runtimeLabel' in event && event.runtimeLabel ? event.runtimeLabel : 'unknown'\n const key = `${runtimeLabel}::${moduleId}`\n const prev = counts.get(key) ?? 0\n const next = prev - 1\n if (next <= 0) {\n counts.delete(key)\n } else {\n counts.set(key, next)\n }\n }\n }),\n }\n\n const getSnapshot = (): ReadonlyMap<string, number> => new Map(counts)\n\n return { sink, getSnapshot }\n}\n\n/**\n * Create a ring-buffer Debug sink.\n *\n * Records the last N events in chronological order; a good foundation for event timelines.\n */\nexport const makeRingBufferSink = (capacity = 1000): RingBufferSink => {\n const buffer: Event[] = []\n\n const sink: Sink = {\n record: (event: Event) =>\n Effect.sync(() => {\n if (capacity <= 0) {\n return\n }\n if (buffer.length >= capacity) {\n buffer.shift()\n }\n buffer.push(event)\n }),\n }\n\n const getSnapshot = (): ReadonlyArray<Event> => buffer.slice()\n const clear = (): void => {\n buffer.length = 0\n }\n\n return { sink, getSnapshot, clear }\n}\n\n/**\n * Emit a Debug event to sinks attached to the current Fiber.\n *\n * If no sink is provided, the runtime chooses a safe fallback (browser console grouping; node preserves error-class events).\n */\nexport const record = Internal.record\n\n/**\n * A no-op Debug layer.\n *\n * Provides an empty sink set and drops all Debug events; useful for tests or explicitly disabling Debug.\n */\nexport const noopLayer = Internal.noopLayer as unknown as Layer.Layer<any, never, never>\n\n/**\n * Debug mode selector.\n *\n * - `auto`: infer dev/prod from NODE_ENV.\n * - `dev`: verbose diagnostics.\n * - `prod`: keep only high-value diagnostics/errors.\n * - `off`: disable sinks (benchmarks/special tests).\n */\nexport type DebugMode = 'auto' | 'dev' | 'prod' | 'off'\n\nexport interface DebugLayerOptions {\n readonly mode?: DebugMode\n /**\n * In dev mode, choose what to print to the browser console:\n * - default: diagnostic + lifecycle:error + trace:* (legacy behavior)\n * - diagnostic: diagnostic(warn/error) + lifecycle:error only (recommended for app dev with Devtools)\n */\n readonly devConsole?: 'default' | 'diagnostic'\n /**\n * Diagnostics level for exportable debug event refs (used by DevtoolsHub and debug sinks that normalize events).\n *\n * Equivalent to composing `Debug.diagnosticsLevel(level)` with `Debug.layer(...)`.\n */\n readonly diagnosticsLevel?: DiagnosticsLevel\n /**\n * Reserved for future use: enable high-noise action/state logs in dev.\n */\n readonly verboseActions?: boolean\n /**\n * Reserved for future use: emit key events into metrics in prod.\n */\n readonly enableMetrics?: boolean\n}\n\nconst resolveMode = (mode: DebugMode | undefined): DebugMode => {\n if (mode && mode !== 'auto') {\n return mode\n }\n\n const env = getNodeEnv()\n return env === 'production' ? 'prod' : 'dev'\n}\n\n/**\n * Public entry: compose a Debug layer based on the environment or an explicit mode.\n *\n * Default mode is `auto`: non-production → `dev`; production → `prod`.\n *\n * @example\n * ```ts\n * const runtime = Runtime.make(AppImpl, {\n * layer: Layer.mergeAll(Debug.layer(), businessLayer),\n * })\n * ```\n */\nexport const layer = (options?: DebugLayerOptions): Layer.Layer<any, never, never> => {\n const mode = resolveMode(options?.mode)\n const diagnostics = options?.diagnosticsLevel\n\n const sinks = (() => {\n switch (mode) {\n case 'off':\n return Internal.noopLayer as unknown as Layer.Layer<any, never, never>\n case 'prod':\n // Production: keep only high-value diagnostics/errors to avoid noisy logs.\n return Internal.errorOnlyLayer as unknown as Layer.Layer<any, never, never>\n case 'dev':\n case 'auto': {\n // Dev: enable browser-friendly Debug sink output by default.\n // Logger.pretty is intentionally opt-in by callers to avoid implicitly rewriting the logger.\n return options?.devConsole === 'diagnostic'\n ? (Internal.browserDiagnosticConsoleLayer as unknown as Layer.Layer<any, never, never>)\n : (Internal.browserConsoleLayer as unknown as Layer.Layer<any, never, never>)\n }\n }\n })()\n\n return diagnostics\n ? (Layer.mergeAll(sinks, diagnosticsLevel(diagnostics)) as Layer.Layer<any, never, never>)\n : sinks\n}\n\n/**\n * PrettyLoggerOptions: parameters of Effect.Logger.prettyLogger.\n */\nexport type PrettyLoggerOptions = Parameters<typeof Logger.prettyLogger>[0]\n\n/**\n * Replace the default Effect logger with a pretty logger (as a Layer).\n *\n * Equivalent to `Logger.replace(Logger.defaultLogger, Logger.prettyLogger(options))`.\n */\nexport const withPrettyLogger = (\n base: Layer.Layer<any, any, any>,\n options?: PrettyLoggerOptions,\n): Layer.Layer<any, any, any> =>\n Layer.merge(\n base,\n Logger.replace(Logger.defaultLogger, Logger.prettyLogger(options)) as unknown as Layer.Layer<any, any, any>,\n )\n\n/**\n * Replace Debug sinks with the provided sink set.\n *\n * Advanced: use either `Debug.layer` or `Debug.replace` in a scope, not both.\n */\nexport const replace = (sinks: ReadonlyArray<Sink>): Layer.Layer<any, never, never> =>\n Layer.locallyScoped(internal.currentDebugSinks, sinks as ReadonlyArray<Internal.Sink>) as Layer.Layer<\n any,\n never,\n never\n >\n\n/**\n * Append sinks to the current Fiber's sink set (without overriding existing sinks).\n */\nexport const appendSinks = (sinks: ReadonlyArray<Sink>): Layer.Layer<any, never, never> =>\n Layer.fiberRefLocallyScopedWith(Internal.currentDebugSinks, (current) => [\n ...current,\n ...(sinks as ReadonlyArray<Internal.Sink>),\n ]) as Layer.Layer<any, never, never>\n\n/**\n * Append the DevtoolsHub sink to aggregate Debug events into snapshots.\n *\n * Works by appending sinks; it does not override `Debug.layer` / `Debug.replace` / custom sinks.\n */\nexport function devtoolsHubLayer(options?: DevtoolsHubOptions): Layer.Layer<any, never, never>\nexport function devtoolsHubLayer(\n base: Layer.Layer<any, any, any>,\n options?: DevtoolsHubOptions,\n): Layer.Layer<any, never, any>\nexport function devtoolsHubLayer(\n baseOrOptions?: Layer.Layer<any, any, any> | DevtoolsHubOptions,\n maybeOptions?: DevtoolsHubOptions,\n): Layer.Layer<any, never, any> {\n // In effect v3, Layer values are objects tagged with `_op_layer`.\n const isLayerValue = (value: unknown): value is Layer.Layer<any, any, any> =>\n typeof value === 'object' && value !== null && '_op_layer' in (value as Record<string, unknown>)\n\n const hasBase = isLayerValue(baseOrOptions)\n const base = hasBase\n ? (baseOrOptions as Layer.Layer<any, any, any>)\n : (Layer.empty as unknown as Layer.Layer<any, any, any>)\n const options = hasBase ? maybeOptions : (baseOrOptions as DevtoolsHubOptions | undefined)\n\n DevtoolsHub.configureDevtoolsHub(options)\n const append = appendSinks([DevtoolsHub.devtoolsHubSink])\n const appendConvergeStaticIr = ConvergeStaticIrCollector.appendConvergeStaticIrCollectors([\n DevtoolsHub.devtoolsHubConvergeStaticIrCollector,\n ])\n const enableExportableDiagnostics = diagnosticsLevel(options?.diagnosticsLevel ?? 'light')\n const convergeSamplingLayer = options?.traitConvergeDiagnosticsSampling\n ? traitConvergeDiagnosticsSampling(options.traitConvergeDiagnosticsSampling)\n : (Layer.empty as unknown as Layer.Layer<any, never, never>)\n\n // FiberRef layers must build base sinks first, then append; provideMerge(append, base)\n // builds base first and then applies append's FiberRefs patch, avoiding overrides.\n return Layer.provideMerge(\n Layer.mergeAll(append, enableExportableDiagnostics, convergeSamplingLayer, appendConvergeStaticIr) as Layer.Layer<\n any,\n never,\n any\n >,\n base,\n ) as Layer.Layer<any, never, any>\n}\n\n/**\n * Attach a logical runtime label to Debug events within the current Fiber scope.\n *\n * DevTools can group events by this label.\n */\nexport const runtimeLabel = (label: string): Layer.Layer<any, never, never> =>\n Layer.fiberRefLocallyScopedWith(internal.currentRuntimeLabel as any, () => label) as Layer.Layer<any, never, never>\n\n/**\n * StateTrait debug view for Devtools/scripts.\n */\nexport interface ModuleTraitsDebug {\n readonly program?: StateTraitProgram<any>\n readonly graph?: StateTraitGraph\n readonly plan?: StateTraitPlan\n}\n\n/**\n * A minimal enumerable trait item from the finalized snapshot (023).\n */\nexport interface ModuleTraitsFinalItem {\n readonly traitId: string\n readonly name: string\n readonly description?: string\n readonly provenance: ModuleTraits.TraitProvenance\n}\n\n/**\n * Read the StateTrait program (if any) from a module definition and return a debug view.\n */\nexport const getModuleTraits = (\n module: ModuleTag<string, AnyModuleShape> | ModuleLike<string, AnyModuleShape, any>,\n): ModuleTraitsDebug => {\n const moduleTag = (module as any).tag ? (module as any).tag : module\n\n const program = getModuleTraitsProgram(moduleTag as any) as StateTraitProgram<any> | undefined\n\n if (!program) {\n return {}\n }\n\n return {\n program,\n graph: program.graph,\n plan: program.plan,\n }\n}\n\n/**\n * Get a module's StateTrait debug view by moduleId (registered at Module.make time).\n */\nexport const getModuleTraitsById = (moduleId: string): ModuleTraitsDebug | undefined => {\n const program = ModuleTraitsRegistry.getModuleProgramById(moduleId)\n if (!program) {\n return undefined\n }\n return {\n program,\n graph: program.graph,\n plan: program.plan,\n }\n}\n\n/**\n * Read the finalized traits snapshot (023) from a ModuleRuntime; undefined if not finalized.\n */\nexport const getModuleTraitsSnapshot = (\n runtime: ModuleRuntime<any, any>,\n): ModuleTraits.ModuleTraitsSnapshot | undefined => {\n try {\n const internals = getRuntimeInternals(runtime as any)\n return internals.traits.getModuleTraitsSnapshot()\n } catch {\n return undefined\n }\n}\n\n/**\n * Export a minimal, enumerable trait list from the finalized snapshot (023).\n *\n * Order is deterministic and matches the snapshot.\n */\nexport const getModuleFinalTraits = (runtime: ModuleRuntime<any, any>): ReadonlyArray<ModuleTraitsFinalItem> => {\n const snapshot = getModuleTraitsSnapshot(runtime)\n if (!snapshot) return []\n\n return snapshot.traits.map((t) => ({\n traitId: t.traitId,\n name: t.name,\n description: t.description,\n provenance: snapshot.provenanceIndex[t.traitId]!,\n }))\n}\n\n/**\n * Append a trace-only sink (handles `trace:*`) on top of the current Debug sinks.\n *\n * Default behavior logs trace events via logDebug; you can provide a handler to forward into ring buffers / bridges.\n *\n * @example\n * ```ts\n * const layer = Debug.traceLayer(\n * Debug.layer({ mode: 'dev' }),\n * (event) => Effect.logInfo({ traceEvent: event }),\n * )\n * ```\n */\nconst isLayer = (value: unknown): value is Layer.Layer<any, any, any> =>\n typeof value === 'object' && value !== null && '_op_layer' in (value as Record<string, unknown>)\n\nexport function traceLayer(onTrace?: (event: Event) => Effect.Effect<void>): Layer.Layer<any, never, never>\nexport function traceLayer(\n base: Layer.Layer<any, any, any>,\n onTrace?: (event: Event) => Effect.Effect<void>,\n): Layer.Layer<any, never, any>\nexport function traceLayer(\n baseOrHandler?: Layer.Layer<any, any, any> | ((event: Event) => Effect.Effect<void>),\n maybeOnTrace?: (event: Event) => Effect.Effect<void>,\n): Layer.Layer<any, never, any> {\n const hasBase = isLayer(baseOrHandler)\n const base = hasBase\n ? (baseOrHandler as Layer.Layer<any, any, any>)\n : (Layer.empty as unknown as Layer.Layer<any, any, any>)\n const onTrace = hasBase ? maybeOnTrace : (baseOrHandler as ((event: Event) => Effect.Effect<void>) | undefined)\n\n const traceSink: Sink = {\n record: (event: Event) =>\n typeof event.type === 'string' && event.type.startsWith('trace:')\n ? onTrace\n ? onTrace(event)\n : Effect.logDebug({ traceEvent: event })\n : Effect.void,\n }\n\n // Append the trace sink via FiberRef: extend the current Fiber's sink set.\n // Do not depend on DebugHub/Tag; use FiberRef.currentDebugSinks as the single source of truth.\n const appendTrace = Layer.fiberRefLocallyScopedWith(Internal.currentDebugSinks, (sinks) => [...sinks, traceSink])\n\n // Same as devtoolsHubLayer: build base first, then appendTrace updates FiberRef sinks.\n return Layer.provideMerge(appendTrace, base as Layer.Layer<any, any, any>) as Layer.Layer<any, never, any>\n}\n","import { Effect, FiberRef } from 'effect'\nimport type { JsonValue } from '../../observability/jsonValue.js'\nimport type { EvidencePackage, EvidencePackageSource } from '../../observability/evidence.js'\nimport { exportEvidencePackage, OBSERVABILITY_PROTOCOL_VERSION } from '../../observability/evidence.js'\nimport type { ConvergeStaticIrExport } from '../../state-trait/converge-ir.js'\nimport type { ConvergeStaticIrCollector } from './ConvergeStaticIrCollector.js'\nimport {\n currentDiagnosticsLevel,\n clearRuntimeDebugEventSeq,\n toRuntimeDebugEventRef,\n type Event,\n type RuntimeDebugEventRef,\n type Sink,\n} from './DebugSink.js'\n\n/**\n * DevtoolsHub:\n * - Process/page-level Debug event aggregator (global singleton).\n *\n * Note: this hub is only appended to Debug sinks when devtoolsHubLayer is explicitly enabled.\n * The Snapshot API is always available (returns empty snapshots when disabled).\n *\n * Performance:\n * - Devtools Debug events can be extremely dense in hot paths (EffectOp / Trait / StateTxn, etc.).\n * - The previous implementation copied ringBuffer and Maps per event to build an \"immutable snapshot\" (O(bufferSize)).\n * - The current implementation lets Snapshot reference internal Map/Array directly (read-only convention) and batches\n * subscriber notifications in microtasks, avoiding per-event copies and reducing main-thread interference.\n */\n\nexport interface DevtoolsSnapshot {\n /**\n * SnapshotToken:\n * - Monotonic snapshot change token (a subscription-safe source of truth).\n * - Any externally visible change must advance the token.\n * - If the token does not change, externally visible snapshot fields must not change (avoid tearing / missed updates).\n */\n readonly snapshotToken: SnapshotToken\n readonly instances: ReadonlyMap<string, number>\n readonly events: ReadonlyArray<RuntimeDebugEventRef>\n readonly latestStates: ReadonlyMap<string, JsonValue>\n readonly latestTraitSummaries: ReadonlyMap<string, JsonValue>\n /**\n * exportBudget:\n * - Tracks \"degrade counts\" caused by export boundaries (JsonValue projection/trimming), for explainability.\n * - Counts are cumulative (may differ from the ring buffer window); clearDevtoolsEvents resets them.\n */\n readonly exportBudget: {\n readonly dropped: number\n readonly oversized: number\n }\n}\n\nexport interface DevtoolsHubOptions {\n readonly bufferSize?: number\n}\n\nexport type SnapshotToken = number\n\n// ---- Global mutable state (singleton) ----\n\nconst instances = new Map<string, number>()\nconst latestStates = new Map<string, JsonValue>()\nconst latestTraitSummaries = new Map<string, JsonValue>()\nconst instanceLabels = new Map<string, string>()\nconst convergeStaticIrByDigest = new Map<string, ConvergeStaticIrExport>()\nconst liveInstanceKeys = new Set<string>()\n\nconst exportBudget = {\n dropped: 0,\n oversized: 0,\n}\n\nlet lastRunTs = 0\nlet lastRunTsSeq = 0\n\nconst nextRunId = (): string => {\n const ts = Date.now()\n if (ts === lastRunTs) {\n lastRunTsSeq += 1\n } else {\n lastRunTs = ts\n lastRunTsSeq = 0\n }\n\n return lastRunTsSeq === 0 ? `run-${ts}` : `run-${ts}.${lastRunTsSeq}`\n}\n\nlet currentRunId = nextRunId()\nlet nextSeq = 1\n\nlet bufferSize = 500\nconst ringBuffer: RuntimeDebugEventRef[] = []\nconst ringBufferSeq: number[] = []\n\nlet snapshotToken: SnapshotToken = 0\n\nconst ensureRingBufferSize = (): void => {\n if (bufferSize <= 0) {\n ringBuffer.length = 0\n ringBufferSeq.length = 0\n return\n }\n\n if (ringBuffer.length <= bufferSize) return\n const excess = ringBuffer.length - bufferSize\n ringBuffer.splice(0, excess)\n ringBufferSeq.splice(0, excess)\n}\n\nconst trimRingBufferIfNeeded = (): void => {\n if (bufferSize <= 0) {\n ringBuffer.length = 0\n ringBufferSeq.length = 0\n return\n }\n\n // Small windows keep a strict upper bound to avoid \"size=5 but events.length briefly > 5\" surprises.\n // Large windows allow short bursts + batch trimming to avoid linear shift() costs under sustained load.\n if (bufferSize <= 64) {\n ensureRingBufferSize()\n return\n }\n\n const slack = Math.min(1024, Math.floor(bufferSize / 2))\n const threshold = bufferSize + Math.max(1, slack)\n if (ringBuffer.length <= threshold) return\n\n const excess = ringBuffer.length - bufferSize\n ringBuffer.splice(0, excess)\n ringBufferSeq.splice(0, excess)\n}\n\n// Snapshot references internal structures directly (read-only convention) to avoid copy costs in hot paths.\nconst currentSnapshot: DevtoolsSnapshot = {\n snapshotToken,\n instances,\n events: ringBuffer,\n latestStates,\n latestTraitSummaries,\n exportBudget,\n}\n\nconst listeners = new Set<() => void>()\n\nlet notifyScheduled = false\nconst scheduleNotify = () => {\n if (notifyScheduled) return\n notifyScheduled = true\n queueMicrotask(() => {\n notifyScheduled = false\n for (const listener of listeners) {\n listener()\n }\n })\n}\n\nlet devtoolsEnabled = false\n\nconst bumpSnapshotToken = (): void => {\n snapshotToken += 1\n ;(currentSnapshot as any).snapshotToken = snapshotToken\n}\n\nconst markSnapshotChanged = (): void => {\n bumpSnapshotToken()\n scheduleNotify()\n}\n\nexport const configureDevtoolsHub = (options?: DevtoolsHubOptions) => {\n devtoolsEnabled = true\n if (typeof options?.bufferSize === 'number' && Number.isFinite(options.bufferSize)) {\n const next = Math.floor(options.bufferSize)\n const nextBufferSize = next >= 0 ? next : 0\n if (nextBufferSize !== bufferSize) {\n bufferSize = nextBufferSize\n ensureRingBufferSize()\n markSnapshotChanged()\n }\n }\n}\n\nexport const isDevtoolsEnabled = (): boolean => devtoolsEnabled\n\n// ---- Snapshot public helpers ----\n\nexport const getDevtoolsSnapshot = (): DevtoolsSnapshot => currentSnapshot\nexport const getDevtoolsSnapshotToken = (): SnapshotToken => snapshotToken\n\nexport const subscribeDevtoolsSnapshot = (listener: () => void): (() => void) => {\n listeners.add(listener)\n return () => {\n listeners.delete(listener)\n }\n}\n\nexport const getDevtoolsRunId = (): string => currentRunId\n\nexport const setDevtoolsRunId = (runId: string): void => {\n if (typeof runId !== 'string' || runId.length === 0) return\n if (runId !== currentRunId) {\n currentRunId = runId\n markSnapshotChanged()\n }\n}\n\nexport const startDevtoolsRun = (runId?: string): string => {\n currentRunId = typeof runId === 'string' && runId.length > 0 ? runId : nextRunId()\n nextSeq = 1\n clearRuntimeDebugEventSeq()\n clearDevtoolsEvents()\n return currentRunId\n}\n\nexport const clearDevtoolsEvents = (): void => {\n ringBuffer.length = 0\n ringBufferSeq.length = 0\n exportBudget.dropped = 0\n exportBudget.oversized = 0\n markSnapshotChanged()\n}\n\nexport const setInstanceLabel = (instanceId: string, label: string): void => {\n instanceLabels.set(instanceId, label)\n markSnapshotChanged()\n}\n\nexport const getInstanceLabel = (instanceId: string): string | undefined => instanceLabels.get(instanceId)\n\nconst registerConvergeStaticIr = (ir: ConvergeStaticIrExport): void => {\n convergeStaticIrByDigest.set(ir.staticIrDigest, ir)\n}\n\nexport const devtoolsHubConvergeStaticIrCollector: ConvergeStaticIrCollector = {\n register: registerConvergeStaticIr,\n}\n\nexport const exportDevtoolsEvidencePackage = (options?: {\n readonly runId?: string\n readonly source?: EvidencePackageSource\n readonly protocolVersion?: string\n}): EvidencePackage => {\n const protocolVersion = options?.protocolVersion ?? OBSERVABILITY_PROTOCOL_VERSION\n const runId = options?.runId ?? currentRunId\n const source = options?.source ?? { host: 'unknown' }\n\n const events = ringBuffer.map((payload, i) => ({\n protocolVersion,\n runId,\n seq: ringBufferSeq[i] ?? i + 1,\n timestamp: payload.timestamp,\n type: 'debug:event',\n payload: payload as unknown as JsonValue,\n }))\n\n const isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value)\n\n // In full diagnostics: de-duplicate by staticIrDigest and export matching ConvergeStaticIR (for offline explanation/replay).\n const convergeDigests = new Set<string>()\n let sawFullConverge = false\n\n for (const ref of ringBuffer) {\n if (ref.kind !== 'trait:converge') continue\n const meta = ref.meta\n if (!isRecord(meta)) continue\n\n const digest = meta.staticIrDigest\n if (typeof digest === 'string' && digest.length > 0) {\n convergeDigests.add(digest)\n }\n\n const dirty = meta.dirty\n if (isRecord(dirty) && typeof dirty.rootCount === 'number') {\n sawFullConverge = true\n }\n }\n\n let summary: JsonValue | undefined\n if (sawFullConverge && convergeDigests.size > 0) {\n const staticIrByDigest: Record<string, JsonValue> = {}\n for (const digest of convergeDigests) {\n const ir = convergeStaticIrByDigest.get(digest)\n if (ir) {\n staticIrByDigest[digest] = ir as unknown as JsonValue\n }\n }\n if (Object.keys(staticIrByDigest).length > 0) {\n summary = { converge: { staticIrByDigest } } as unknown as JsonValue\n }\n }\n\n return exportEvidencePackage({\n protocolVersion,\n runId,\n source,\n events,\n summary,\n })\n}\n\n// ---- Hub Sink ----\n\nexport const devtoolsHubSink: Sink = {\n record: (event: Event) =>\n Effect.gen(function* () {\n // NOTE: the hub is a global singleton, but whether events are exportable/written to the buffer is controlled by FiberRef,\n // enabling different perf baselines/diagnostics tiers across scopes within the same process.\n const level = yield* FiberRef.get(currentDiagnosticsLevel)\n\n let changed = false\n\n // trace:instanceLabel: set a human-readable label for a runtime instance.\n if (event.type === 'trace:instanceLabel') {\n const instanceId = (event as any).instanceId as string | undefined\n const data = (event as any).data\n const label = data && typeof data === 'object' && 'label' in data ? String((data as any).label) : undefined\n if (instanceId && label) {\n instanceLabels.set(instanceId, label)\n changed = true\n }\n }\n\n // Instance counters: maintain active instance counts by runtimeLabel::moduleId.\n if (event.type === 'module:init' || event.type === 'module:destroy') {\n const moduleId = (event as any).moduleId ?? 'unknown'\n const runtimeLabel = (event as any).runtimeLabel ?? 'unknown'\n const instanceId = (event as any).instanceId as string | undefined\n const key = `${runtimeLabel}::${moduleId}`\n const prev = instances.get(key) ?? 0\n if (event.type === 'module:init') {\n instances.set(key, prev + 1)\n changed = true\n if (instanceId) {\n const instanceKey = `${runtimeLabel}::${moduleId}::${instanceId}`\n liveInstanceKeys.add(instanceKey)\n // If instanceId is reused, ensure derived caches do not carry leftovers from the previous lifetime.\n if (latestStates.delete(instanceKey)) changed = true\n if (latestTraitSummaries.delete(instanceKey)) changed = true\n }\n } else {\n const next = prev - 1\n if (next <= 0) {\n if (instances.delete(key)) changed = true\n } else {\n instances.set(key, next)\n changed = true\n }\n\n if (instanceId) {\n const instanceKey = `${runtimeLabel}::${moduleId}::${instanceId}`\n liveInstanceKeys.delete(instanceKey)\n if (latestStates.delete(instanceKey)) changed = true\n if (latestTraitSummaries.delete(instanceKey)) changed = true\n if (instanceLabels.delete(instanceId)) changed = true\n changed = true\n }\n }\n }\n\n let exportBudgetChanged = false\n const ref = toRuntimeDebugEventRef(event, {\n diagnosticsLevel: level,\n resolveConvergeStaticIr: (staticIrDigest) => convergeStaticIrByDigest.get(staticIrDigest),\n onMetaProjection: ({ stats }) => {\n if (stats.dropped !== 0 || stats.oversized !== 0) {\n exportBudgetChanged = true\n }\n exportBudget.dropped += stats.dropped\n exportBudget.oversized += stats.oversized\n },\n })\n if (exportBudgetChanged) {\n changed = true\n }\n if (!ref) {\n // off tier: do not write ring buffer / latestStates, but keep minimal counters/labels (including module:destroy cleanup).\n if (changed) {\n markSnapshotChanged()\n }\n return\n }\n\n // latestStates / latestTraitSummaries: record latest snapshots by runtimeLabel::moduleId::instanceId.\n if (ref.kind === 'state' && ref.label === 'state:update') {\n const runtimeLabel = ref.runtimeLabel ?? 'unknown'\n const key = `${runtimeLabel}::${ref.moduleId}::${ref.instanceId}`\n\n // Late/replayed events after module:destroy: allow entering the window for replay, but do not rebuild latest* caches.\n if (liveInstanceKeys.has(key)) {\n if (ref.meta && typeof ref.meta === 'object' && !Array.isArray(ref.meta)) {\n const anyMeta = ref.meta as any\n if ('state' in anyMeta) {\n latestStates.set(key, anyMeta.state as JsonValue)\n changed = true\n }\n if ('traitSummary' in anyMeta && anyMeta.traitSummary !== undefined) {\n latestTraitSummaries.set(key, anyMeta.traitSummary as JsonValue)\n changed = true\n }\n }\n }\n }\n\n // ring buffer: keep the most recent bufferSize RuntimeDebugEventRefs.\n if (bufferSize > 0) {\n const seq = nextSeq++\n ringBuffer.push(ref)\n ringBufferSeq.push(seq)\n trimRingBufferIfNeeded()\n changed = true\n }\n\n if (changed) {\n markSnapshotChanged()\n }\n }),\n}\n"],"mappings":"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","names":["clearDevtoolsEvents","exportEvidencePackage","getDevtoolsRunId","getDevtoolsSnapshot","getDevtoolsSnapshotToken","getInstanceLabel","isDevtoolsEnabled","noopLayer","record","setDevtoolsRunId","setInstanceLabel","startDevtoolsRun","subscribeDevtoolsSnapshot","toRuntimeDebugEventRef","traitConvergeDiagnosticsSampling","Effect","runtimeLabel","toRuntimeDebugEventRef","getDevtoolsSnapshot","getDevtoolsSnapshotToken","subscribeDevtoolsSnapshot","clearDevtoolsEvents","getDevtoolsRunId","setDevtoolsRunId","startDevtoolsRun","setInstanceLabel","getInstanceLabel","exportEvidencePackage","traitConvergeDiagnosticsSampling","isDevtoolsEnabled","Effect","runtimeLabel","record","noopLayer"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/internal/action.ts"],"sourcesContent":["import { Schema } from 'effect'\n\ntype ActionArgs<P> = [P] extends [void] ? [] | [P] : [P]\ntype ActionFn<P, Out> = (...args: ActionArgs<P>) => Out\n\ntype DevSource = {\n readonly file: string\n readonly line: number\n readonly column: number\n}\n\nexport type ActionValue<Tag extends string, Payload> = Payload extends void\n ? {\n readonly _tag: Tag\n readonly payload?: Payload\n }\n : {\n readonly _tag: Tag\n readonly payload: Payload\n }\n\nexport type ActionCreator<Tag extends string, Payload> = ActionFn<Payload, ActionValue<Tag, Payload>>\n\nexport type ActionToken<\n Tag extends string,\n Payload,\n PayloadSchema extends Schema.Schema<any, any, any> = Schema.Schema<any, any, any>,\n> = ActionCreator<Tag, Payload> & {\n readonly _kind: 'ActionToken'\n readonly tag: Tag\n readonly schema: PayloadSchema\n readonly source?: DevSource\n}\n\nexport type AnyActionToken = ActionToken<string, any, Schema.Schema<any, any, any>>\n\nexport const isActionToken = (value: unknown): value is AnyActionToken =>\n typeof value === 'function' &&\n (value as any)._kind === 'ActionToken' &&\n typeof (value as any).tag === 'string' &&\n Schema.isSchema((value as any).schema)\n\nexport const make = <Tag extends string, PayloadSchema extends Schema.Schema<any, any, any>>(\n tag: Tag,\n schema: PayloadSchema,\n options?: { readonly source?: DevSource },\n): ActionToken<Tag, Schema.Schema.Type<PayloadSchema>, PayloadSchema> => {\n const fn = ((...args: readonly [unknown?]) => ({\n _tag: tag,\n payload: args[0],\n })) as unknown as ActionToken<Tag, Schema.Schema.Type<PayloadSchema>, PayloadSchema>\n\n ;(fn as any)._kind = 'ActionToken'\n ;(fn as any).tag = tag\n ;(fn as any).schema = schema\n if (options?.source) {\n ;(fn as any).source = options.source\n }\n\n return fn\n}\n\nexport const makeActions = <M extends Record<string, Schema.Schema<any, any, any>>>(\n schemas: M,\n options?: {\n readonly source?: DevSource\n readonly sources?: Partial<Record<Extract<keyof M, string>, DevSource>>\n },\n): {\n readonly [K in keyof M]: ActionToken<Extract<K, string>, Schema.Schema.Type<M[K]>, M[K]>\n} => {\n const out: Record<string, AnyActionToken> = {}\n const sources = options?.sources as Record<string, DevSource | undefined> | undefined\n const defaultSource = options?.source\n for (const [key, schema] of Object.entries(schemas)) {\n const source = sources?.[key] ?? defaultSource\n out[key] = make(key, schema, source ? { source } : undefined)\n }\n return out as any\n}\n\nexport type ActionDef = Schema.Schema<any, any, any> | AnyActionToken\nexport type ActionDefs = Record<string, ActionDef>\n\nexport type NormalizedActionTokens<M extends ActionDefs> = {\n readonly [K in keyof M]: M[K] extends Schema.Schema<any, any, any>\n ? ActionToken<Extract<K, string>, Schema.Schema.Type<M[K]>, M[K]>\n : M[K] extends ActionToken<any, infer P, infer S>\n ? ActionToken<Extract<K, string>, P, S>\n : never\n}\n\nexport const normalizeActions = <M extends ActionDefs>(defs: M): NormalizedActionTokens<M> => {\n const out: Record<string, AnyActionToken> = {}\n\n for (const [key, def] of Object.entries(defs)) {\n if (Schema.isSchema(def)) {\n out[key] = make(key, def)\n continue\n }\n\n if (isActionToken(def)) {\n if (def.tag !== key) {\n throw new Error(`[Logix.Action] actionTag MUST equal key: key=\"${key}\", token.tag=\"${def.tag}\"`)\n }\n out[key] = def\n continue\n }\n\n throw new Error(`[Logix.Action] invalid action def for key \"${key}\"`)\n }\n\n return out as any\n}\n"],"mappings":";AAAA,SAAS,cAAc;AAoChB,IAAM,gBAAgB,CAAC,UAC5B,OAAO,UAAU,cAChB,MAAc,UAAU,iBACzB,OAAQ,MAAc,QAAQ,YAC9B,OAAO,SAAU,MAAc,MAAM;AAEhC,IAAM,OAAO,CAClB,KACA,QACA,YACuE;AACvE,QAAM,MAAM,IAAI,UAA+B;AAAA,IAC7C,MAAM;AAAA,IACN,SAAS,KAAK,CAAC;AAAA,EACjB;AAEC,EAAC,GAAW,QAAQ;AACpB,EAAC,GAAW,MAAM;AAClB,EAAC,GAAW,SAAS;AACtB,MAAI,SAAS,QAAQ;AACnB;AAAC,IAAC,GAAW,SAAS,QAAQ;AAAA,EAChC;AAEA,SAAO;AACT;AAEO,IAAM,cAAc,CACzB,SACA,YAMG;AACH,QAAM,MAAsC,CAAC;AAC7C,QAAM,UAAU,SAAS;AACzB,QAAM,gBAAgB,SAAS;AAC/B,aAAW,CAAC,KAAK,MAAM,KAAK,OAAO,QAAQ,OAAO,GAAG;AACnD,UAAM,SAAS,UAAU,GAAG,KAAK;AACjC,QAAI,GAAG,IAAI,KAAK,KAAK,QAAQ,SAAS,EAAE,OAAO,IAAI,MAAS;AAAA,EAC9D;AACA,SAAO;AACT;AAaO,IAAM,mBAAmB,CAAuB,SAAuC;AAC5F,QAAM,MAAsC,CAAC;AAE7C,aAAW,CAAC,KAAK,GAAG,KAAK,OAAO,QAAQ,IAAI,GAAG;AAC7C,QAAI,OAAO,SAAS,GAAG,GAAG;AACxB,UAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AACxB;AAAA,IACF;AAEA,QAAI,cAAc,GAAG,GAAG;AACtB,UAAI,IAAI,QAAQ,KAAK;AACnB,cAAM,IAAI,MAAM,iDAAiD,GAAG,iBAAiB,IAAI,GAAG,GAAG;AAAA,MACjG;AACA,UAAI,GAAG,IAAI;AACX;AAAA,IACF;AAEA,UAAM,IAAI,MAAM,8CAA8C,GAAG,GAAG;AAAA,EACtE;AAEA,SAAO;AACT;","names":[]}
|