unspaghettit 0.3.0 → 0.4.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/README.md +56 -18
- package/build/client/_app/immutable/assets/0.DCOD5ne_.css +1 -0
- package/build/client/_app/immutable/assets/0.DCOD5ne_.css.br +0 -0
- package/build/client/_app/immutable/assets/0.DCOD5ne_.css.gz +0 -0
- package/build/client/_app/immutable/assets/12.nv0I59TU.css.gz +0 -0
- package/build/client/_app/immutable/assets/3.B3akUL9A.css.gz +0 -0
- package/build/client/_app/immutable/assets/BehaviorGraph.Bk0xQRZk.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B3vnQs252.js +1 -0
- package/build/client/_app/immutable/chunks/B3vnQs252.js.br +0 -0
- package/build/client/_app/immutable/chunks/B3vnQs252.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CxyLMlpt2.js → BANF9BhQ2.js} +1 -1
- package/build/client/_app/immutable/chunks/BANF9BhQ2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BANF9BhQ2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BJdTO_n6.js +1 -0
- package/build/client/_app/immutable/chunks/BJdTO_n6.js.br +0 -0
- package/build/client/_app/immutable/chunks/BJdTO_n6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BPl9BITm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BQ9GodWX2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bcyn5YUg.js +4 -0
- package/build/client/_app/immutable/chunks/Bcyn5YUg.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bcyn5YUg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bfc9rQXP.js +1 -0
- package/build/client/_app/immutable/chunks/Bfc9rQXP.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bfc9rQXP.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BfMYiIUi.js → BjxqhpPG.js} +1 -1
- package/build/client/_app/immutable/chunks/BjxqhpPG.js.br +0 -0
- package/build/client/_app/immutable/chunks/BjxqhpPG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ByaoVvNB.js +1 -0
- package/build/client/_app/immutable/chunks/ByaoVvNB.js.br +0 -0
- package/build/client/_app/immutable/chunks/ByaoVvNB.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BzLd0mTH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C8b3IMj8.js +1 -0
- package/build/client/_app/immutable/chunks/C8b3IMj8.js.br +0 -0
- package/build/client/_app/immutable/chunks/C8b3IMj8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CXvvf4uQ.js +1 -0
- package/build/client/_app/immutable/chunks/CXvvf4uQ.js.br +0 -0
- package/build/client/_app/immutable/chunks/CXvvf4uQ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cl7Z3e6-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ClC4qR7W2.js +2 -0
- package/build/client/_app/immutable/chunks/ClC4qR7W2.js.br +0 -0
- package/build/client/_app/immutable/chunks/ClC4qR7W2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CuGlh1c2.js +1 -0
- package/build/client/_app/immutable/chunks/CuGlh1c2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CuGlh1c2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CwzIdrQR.js +1 -0
- package/build/client/_app/immutable/chunks/CwzIdrQR.js.br +0 -0
- package/build/client/_app/immutable/chunks/CwzIdrQR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D5speDV82.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D64sGJRN.js +1 -0
- package/build/client/_app/immutable/chunks/D64sGJRN.js.br +0 -0
- package/build/client/_app/immutable/chunks/D64sGJRN.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DNaA4QRO2.js +1 -0
- package/build/client/_app/immutable/chunks/DNaA4QRO2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DNaA4QRO2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Da59TXPe.js +1 -0
- package/build/client/_app/immutable/chunks/Da59TXPe.js.br +2 -0
- package/build/client/_app/immutable/chunks/Da59TXPe.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DhTiE3j02.js +2 -0
- package/build/client/_app/immutable/chunks/DhTiE3j02.js.br +0 -0
- package/build/client/_app/immutable/chunks/DhTiE3j02.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dhqg7r_2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DmyaDy4d2.js +1 -0
- package/build/client/_app/immutable/chunks/DmyaDy4d2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DmyaDy4d2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DkxwAIfJ2.js → DryaQyjN2.js} +1 -1
- package/build/client/_app/immutable/chunks/DryaQyjN2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DryaQyjN2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DtK8qK5Q2.js +1 -0
- package/build/client/_app/immutable/chunks/DtK8qK5Q2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DtK8qK5Q2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DtblIi6X2.js +1 -0
- package/build/client/_app/immutable/chunks/DtblIi6X2.js.br +1 -0
- package/build/client/_app/immutable/chunks/DtblIi6X2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/UkzDDeO42.js +1 -0
- package/build/client/_app/immutable/chunks/UkzDDeO42.js.br +0 -0
- package/build/client/_app/immutable/chunks/UkzDDeO42.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{B_9TWPrx2.js → Vu8LzrwP2.js} +1 -1
- package/build/client/_app/immutable/chunks/Vu8LzrwP2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Vu8LzrwP2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/_b612aVb.js +1 -0
- package/build/client/_app/immutable/chunks/_b612aVb.js.br +0 -0
- package/build/client/_app/immutable/chunks/_b612aVb.js.gz +0 -0
- package/build/client/_app/immutable/chunks/aNMRV4sP2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/cMamJTsF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ib21i2T_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/kNaey6uv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/oVMDLirx.js +1 -0
- package/build/client/_app/immutable/chunks/oVMDLirx.js.br +0 -0
- package/build/client/_app/immutable/chunks/oVMDLirx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/olAc024e.js +1 -0
- package/build/client/_app/immutable/chunks/olAc024e.js.br +0 -0
- package/build/client/_app/immutable/chunks/olAc024e.js.gz +0 -0
- package/build/client/_app/immutable/chunks/suTxxv1t.js.gz +0 -0
- package/build/client/_app/immutable/chunks/wXIHzLMQ2.js +1 -0
- package/build/client/_app/immutable/chunks/wXIHzLMQ2.js.br +0 -0
- package/build/client/_app/immutable/chunks/wXIHzLMQ2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{B439_FLv.js → wrqalH0a.js} +1 -1
- package/build/client/_app/immutable/chunks/wrqalH0a.js.br +0 -0
- package/build/client/_app/immutable/chunks/wrqalH0a.js.gz +0 -0
- package/build/client/_app/immutable/chunks/x60Tn5kT.js +1 -0
- package/build/client/_app/immutable/chunks/x60Tn5kT.js.br +0 -0
- package/build/client/_app/immutable/chunks/x60Tn5kT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/xihTtKlq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BOrLmFwJ.js → yShDxCNj.js} +1 -1
- package/build/client/_app/immutable/chunks/yShDxCNj.js.br +2 -0
- package/build/client/_app/immutable/chunks/yShDxCNj.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.Etd-exTb.js +2 -0
- package/build/client/_app/immutable/entry/app.Etd-exTb.js.br +0 -0
- package/build/client/_app/immutable/entry/app.Etd-exTb.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.DY2B3u4g.js +1 -0
- package/build/client/_app/immutable/entry/start.DY2B3u4g.js.br +0 -0
- package/build/client/_app/immutable/entry/start.DY2B3u4g.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.tKfYV3__.js +8 -0
- package/build/client/_app/immutable/nodes/0.tKfYV3__.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.tKfYV3__.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.Dyte3Ggf.js → 1.CER5ICKt.js} +1 -1
- package/build/client/_app/immutable/nodes/1.CER5ICKt.js.br +1 -0
- package/build/client/_app/immutable/nodes/1.CER5ICKt.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.rT7cD8kX.js +1 -0
- package/build/client/_app/immutable/nodes/10.rT7cD8kX.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.rT7cD8kX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.BAnV_Y5Y.js +2 -0
- package/build/client/_app/immutable/nodes/11.BAnV_Y5Y.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BAnV_Y5Y.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.wvMfJKC2.js → 12.DCTRFMqo.js} +4 -3
- package/build/client/_app/immutable/nodes/12.DCTRFMqo.js.br +0 -0
- package/build/client/_app/immutable/nodes/12.DCTRFMqo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.CmPPom9Z.js → 2.CF488WWF.js} +1 -1
- package/build/client/_app/immutable/nodes/2.CF488WWF.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CF488WWF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.CP7CPPVH.js +1 -0
- package/build/client/_app/immutable/nodes/3.CP7CPPVH.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.CP7CPPVH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.D1bxCSiM.js +3 -0
- package/build/client/_app/immutable/nodes/4.D1bxCSiM.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.D1bxCSiM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.D6jZgh9y.js +48 -0
- package/build/client/_app/immutable/nodes/5.D6jZgh9y.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.D6jZgh9y.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BrBFUA0s.js +1 -0
- package/build/client/_app/immutable/nodes/6.BrBFUA0s.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BrBFUA0s.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.pajo8MfM.js +3 -0
- package/build/client/_app/immutable/nodes/7.pajo8MfM.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.pajo8MfM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.Cc80_Igi.js +5 -0
- package/build/client/_app/immutable/nodes/8.Cc80_Igi.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Cc80_Igi.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.B-HweAc8.js → 9.D72NaL3l.js} +1 -1
- package/build/client/_app/immutable/nodes/9.D72NaL3l.js.br +1 -0
- package/build/client/_app/immutable/nodes/9.D72NaL3l.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/client/lyriks_logo.svg.gz +0 -0
- package/build/server/chunks/0-8YZc572z.js +15 -0
- package/build/server/chunks/0-8YZc572z.js.map +1 -0
- package/build/server/chunks/1-DxkfSJLu.js +9 -0
- package/build/server/chunks/{1-BSUItTig.js.map → 1-DxkfSJLu.js.map} +1 -1
- package/build/server/chunks/10-DkObdGtU.js +9 -0
- package/build/server/chunks/10-DkObdGtU.js.map +1 -0
- package/build/server/chunks/11-DL94HxpZ.js +9 -0
- package/build/server/chunks/11-DL94HxpZ.js.map +1 -0
- package/build/server/chunks/12-CI74sCkt.js +9 -0
- package/build/server/chunks/12-CI74sCkt.js.map +1 -0
- package/build/server/chunks/2-qhWwQ4eL.js +9 -0
- package/build/server/chunks/2-qhWwQ4eL.js.map +1 -0
- package/build/server/chunks/3-CzoZtSTp.js +16 -0
- package/build/server/chunks/3-CzoZtSTp.js.map +1 -0
- package/build/server/chunks/4-CDa9DBsh.js +16 -0
- package/build/server/chunks/4-CDa9DBsh.js.map +1 -0
- package/build/server/chunks/5-qD2xxOrq.js +9 -0
- package/build/server/chunks/5-qD2xxOrq.js.map +1 -0
- package/build/server/chunks/6-B4mWzvDn.js +9 -0
- package/build/server/chunks/6-B4mWzvDn.js.map +1 -0
- package/build/server/chunks/7-zExv-fTN.js +9 -0
- package/build/server/chunks/7-zExv-fTN.js.map +1 -0
- package/build/server/chunks/8-BVrGdQg4.js +9 -0
- package/build/server/chunks/{7-C4hmS0dG.js.map → 8-BVrGdQg4.js.map} +1 -1
- package/build/server/chunks/9-BnZLRMYA.js +9 -0
- package/build/server/chunks/9-BnZLRMYA.js.map +1 -0
- package/build/server/chunks/{BehaviorGraph-m5kYj5HH.js → BehaviorGraph-C-9z37Sm.js} +43 -12
- package/build/server/chunks/BehaviorGraph-C-9z37Sm.js.map +1 -0
- package/build/server/chunks/Clock-BfMWQpmJ.js +5 -0
- package/build/server/chunks/Clock-BfMWQpmJ.js.map +1 -0
- package/build/server/chunks/DeleteDomain-BvHEgAyp.js +24 -0
- package/build/server/chunks/DeleteDomain-BvHEgAyp.js.map +1 -0
- package/build/server/chunks/{FeatureValidator-B8qEjAUW.js → DeleteFeature-DnK8sBJI.js} +142 -77
- package/build/server/chunks/DeleteFeature-DnK8sBJI.js.map +1 -0
- package/build/server/chunks/DeleteProject-BXZcehHZ.js +41 -0
- package/build/server/chunks/DeleteProject-BXZcehHZ.js.map +1 -0
- package/build/server/chunks/Effect-BJtLR-6l.js +46 -0
- package/build/server/chunks/Effect-BJtLR-6l.js.map +1 -0
- package/build/server/chunks/{FeatureCard-CfbXNYe8.js → FeatureCard-Bb50FEfp.js} +4 -4
- package/build/server/chunks/{FeatureCard-CfbXNYe8.js.map → FeatureCard-Bb50FEfp.js.map} +1 -1
- package/build/server/chunks/{FeatureJson-Bv-qiOSf.js → FeatureJson-DYvMEAub.js} +2 -2
- package/build/server/chunks/{FeatureJson-Bv-qiOSf.js.map → FeatureJson-DYvMEAub.js.map} +1 -1
- package/build/server/chunks/{FeatureTransforms-UWDHmWEg.js → FeatureTransforms-B0aI_CJD.js} +10 -3
- package/build/server/chunks/FeatureTransforms-B0aI_CJD.js.map +1 -0
- package/build/server/chunks/{ManageTagsDialog-DBxA3tM2.js → ManageTagsDialog-D5xbAVNB.js} +5 -5
- package/build/server/chunks/ManageTagsDialog-D5xbAVNB.js.map +1 -0
- package/build/server/chunks/{ProgressBar-DDoQJ_C9.js → ProgressBar-CUC2EZqG.js} +2 -2
- package/build/server/chunks/{ProgressBar-DDoQJ_C9.js.map → ProgressBar-CUC2EZqG.js.map} +1 -1
- package/build/server/chunks/{ProjectsIndex-DUVJ3hyL.js → ProjectsIndex-FgIu9dBp.js} +135 -14
- package/build/server/chunks/ProjectsIndex-FgIu9dBp.js.map +1 -0
- package/build/server/chunks/{RenameTag-BuWLMl1m.js → RenameTag-DWIIR4Bx.js} +3 -6
- package/build/server/chunks/RenameTag-DWIIR4Bx.js.map +1 -0
- package/build/server/chunks/ScenarioApplier-YPKECfZe.js +55 -0
- package/build/server/chunks/ScenarioApplier-YPKECfZe.js.map +1 -0
- package/build/server/chunks/SimulatorEngine-DM1F9nCO.js +1391 -0
- package/build/server/chunks/SimulatorEngine-DM1F9nCO.js.map +1 -0
- package/build/server/chunks/StateValue-BBjWox8f.js +105 -0
- package/build/server/chunks/StateValue-BBjWox8f.js.map +1 -0
- package/build/server/chunks/{TagDotStrip-B1XQ0m0Y.js → TagDotStrip-0rn-IJVE.js} +4 -4
- package/build/server/chunks/TagDotStrip-0rn-IJVE.js.map +1 -0
- package/build/server/chunks/{TagFilterSelect-DbO0Qduh.js → TagFilterSelect-Dbu-7Dg4.js} +5 -5
- package/build/server/chunks/{TagFilterSelect-DbO0Qduh.js.map → TagFilterSelect-Dbu-7Dg4.js.map} +1 -1
- package/build/server/chunks/{TagPalette-CtMNYCmu.js → TagPalette-CpdTiC_7.js} +101 -9
- package/build/server/chunks/TagPalette-CpdTiC_7.js.map +1 -0
- package/build/server/chunks/{TransitionCatalog-B8zHs-2E.js → TransitionCatalog-CYXUANy6.js} +2 -2
- package/build/server/chunks/TransitionCatalog-CYXUANy6.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-CLTmk0xU.js → _layout.svelte-pSSG85WT.js} +689 -14
- package/build/server/chunks/_layout.svelte-pSSG85WT.js.map +1 -0
- package/build/server/chunks/{_page.svelte-Oj-W7G5s.js → _page.svelte-BNH3szkk.js} +22 -17
- package/build/server/chunks/{_page.svelte-Oj-W7G5s.js.map → _page.svelte-BNH3szkk.js.map} +1 -1
- package/build/server/chunks/_page.svelte-BcuGvUt1.js +37 -0
- package/build/server/chunks/{_page.svelte-Cham-dsM.js.map → _page.svelte-BcuGvUt1.js.map} +1 -1
- package/build/server/chunks/_page.svelte-BoOMG5Y0.js +37 -0
- package/build/server/chunks/{_page.svelte-B1nG3PKn.js.map → _page.svelte-BoOMG5Y0.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Caq7J0jU.js → _page.svelte-C4PRh_wP.js} +18 -12
- package/build/server/chunks/_page.svelte-C4PRh_wP.js.map +1 -0
- package/build/server/chunks/{_page.svelte-Z_kK2lHY.js → _page.svelte-Cqn34NXy.js} +19 -13
- package/build/server/chunks/_page.svelte-Cqn34NXy.js.map +1 -0
- package/build/server/chunks/{_page.svelte-B1s7jxaQ.js → _page.svelte-DSCeOGv7.js} +15 -10
- package/build/server/chunks/_page.svelte-DSCeOGv7.js.map +1 -0
- package/build/server/chunks/_page.svelte-DqWdGt48.js +182 -0
- package/build/server/chunks/_page.svelte-DqWdGt48.js.map +1 -0
- package/build/server/chunks/{_page.svelte-Dhwjwph_.js → _page.svelte-DsQHSEl4.js} +20 -12
- package/build/server/chunks/_page.svelte-DsQHSEl4.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DlFVT40-.js → _page.svelte-Uioz8hsG.js} +18 -11
- package/build/server/chunks/{_page.svelte-DlFVT40-.js.map → _page.svelte-Uioz8hsG.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BW_nbAAH.js → _page.svelte-p38jot9e.js} +80 -173
- package/build/server/chunks/_page.svelte-p38jot9e.js.map +1 -0
- package/build/server/chunks/{_page.svelte-NVT2dzpG.js → _page.svelte-yN5kzgJ9.js} +218 -263
- package/build/server/chunks/_page.svelte-yN5kzgJ9.js.map +1 -0
- package/build/server/chunks/{_server.ts-DsbbVoOn.js → _server.ts-1CtrHhte.js} +4 -4
- package/build/server/chunks/{_server.ts-DsbbVoOn.js.map → _server.ts-1CtrHhte.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CWvU15tL.js → _server.ts-71Qx1lQb.js} +4 -4
- package/build/server/chunks/{_server.ts-CWvU15tL.js.map → _server.ts-71Qx1lQb.js.map} +1 -1
- package/build/server/chunks/_server.ts-BAyekGHB.js +961 -0
- package/build/server/chunks/_server.ts-BAyekGHB.js.map +1 -0
- package/build/server/chunks/{_server.ts-BihpbxOW.js → _server.ts-BLWhU22T.js} +4 -4
- package/build/server/chunks/{_server.ts-BihpbxOW.js.map → _server.ts-BLWhU22T.js.map} +1 -1
- package/build/server/chunks/{_server.ts-YnfXkeMJ.js → _server.ts-C7EVZVxv.js} +22 -13
- package/build/server/chunks/_server.ts-C7EVZVxv.js.map +1 -0
- package/build/server/chunks/{_server.ts-vcaqdwxS.js → _server.ts-CGjYuLmo.js} +12 -7
- package/build/server/chunks/_server.ts-CGjYuLmo.js.map +1 -0
- package/build/server/chunks/{_server.ts-Dy5zQHe2.js → _server.ts-CX6H8fSE.js} +8 -31
- package/build/server/chunks/_server.ts-CX6H8fSE.js.map +1 -0
- package/build/server/chunks/{_server.ts-BuoQ02BW.js → _server.ts-CyEdTCLr.js} +4 -4
- package/build/server/chunks/{_server.ts-BuoQ02BW.js.map → _server.ts-CyEdTCLr.js.map} +1 -1
- package/build/server/chunks/_server.ts-DKVTM9Pj.js +77 -0
- package/build/server/chunks/_server.ts-DKVTM9Pj.js.map +1 -0
- package/build/server/chunks/{_server.ts-0uNTZKwF.js → _server.ts-Dip65hLJ.js} +15 -9
- package/build/server/chunks/_server.ts-Dip65hLJ.js.map +1 -0
- package/build/server/chunks/{_server.ts-D4EO0VHu.js → _server.ts-Dm0tCs2i.js} +5 -5
- package/build/server/chunks/{_server.ts-D4EO0VHu.js.map → _server.ts-Dm0tCs2i.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BIBWjQI-.js → _server.ts-DsYwK_uW.js} +4 -4
- package/build/server/chunks/{_server.ts-BIBWjQI-.js.map → _server.ts-DsYwK_uW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DDa0Nk_S.js → _server.ts-RCEgegYU.js} +4 -4
- package/build/server/chunks/{_server.ts-DDa0Nk_S.js.map → _server.ts-RCEgegYU.js.map} +1 -1
- package/build/server/chunks/_server.ts-XOLAT4dd.js +146 -0
- package/build/server/chunks/_server.ts-XOLAT4dd.js.map +1 -0
- package/build/server/chunks/_server.ts-afh_zLVi.js +69 -0
- package/build/server/chunks/_server.ts-afh_zLVi.js.map +1 -0
- package/build/server/chunks/{browserContainer-CNX7ANld.js → browserContainer-BdldtueJ.js} +71 -1378
- package/build/server/chunks/browserContainer-BdldtueJ.js.map +1 -0
- package/build/server/chunks/buildSearchDocs-Cyfrnw9G.js +337 -0
- package/build/server/chunks/buildSearchDocs-Cyfrnw9G.js.map +1 -0
- package/build/server/chunks/{builderModeStore.svelte-BpRIU_zP.js → builderModeStore.svelte-BEZMQEqn.js} +7 -6
- package/build/server/chunks/builderModeStore.svelte-BEZMQEqn.js.map +1 -0
- package/build/server/chunks/{client-DeX3TC3s.js → client-C9Cat4DK.js} +3 -3
- package/build/server/chunks/{client-DeX3TC3s.js.map → client-C9Cat4DK.js.map} +1 -1
- package/build/server/chunks/{error.svelte-Cdjeq3L2.js → error.svelte-CzVR_A6P.js} +5 -5
- package/build/server/chunks/{error.svelte-Cdjeq3L2.js.map → error.svelte-CzVR_A6P.js.map} +1 -1
- package/build/server/chunks/featureQueueContext-DuXpyTdC.js +32 -0
- package/build/server/chunks/featureQueueContext-DuXpyTdC.js.map +1 -0
- package/build/server/chunks/{featureStore.svelte-DIYgPBVm.js → featureStore.svelte-DHZf88gu.js} +5 -4
- package/build/server/chunks/featureStore.svelte-DHZf88gu.js.map +1 -0
- package/build/server/chunks/{projectsStore.svelte-QDz5PchX.js → featuresStore.svelte-bUyQBg1-.js} +95 -3
- package/build/server/chunks/featuresStore.svelte-bUyQBg1-.js.map +1 -0
- package/build/server/chunks/humanize-CkCPfeWi.js +53 -0
- package/build/server/chunks/humanize-CkCPfeWi.js.map +1 -0
- package/build/server/chunks/{index-server-7H0jzj0M.js → index-server-DvBux_Gf.js} +47 -2
- package/build/server/chunks/{index-server-7H0jzj0M.js.map → index-server-DvBux_Gf.js.map} +1 -1
- package/build/server/chunks/{internal-KYK0WpL7.js → internal-BFt8yDlf.js} +3 -3
- package/build/server/chunks/{internal-KYK0WpL7.js.map → internal-BFt8yDlf.js.map} +1 -1
- package/build/server/chunks/projectBundleClient-BtvWPh87.js +168 -0
- package/build/server/chunks/projectBundleClient-BtvWPh87.js.map +1 -0
- package/build/server/chunks/projectContextStore.svelte-jRJGJZ42.js +141 -0
- package/build/server/chunks/projectContextStore.svelte-jRJGJZ42.js.map +1 -0
- package/build/server/chunks/projectFeaturesStore.svelte-BwNEtDIL.js +87 -0
- package/build/server/chunks/projectFeaturesStore.svelte-BwNEtDIL.js.map +1 -0
- package/build/server/chunks/{projectFeaturesStore.svelte-2o-72_vr.js → projectStore.svelte-BNuLNxk_.js} +5 -88
- package/build/server/chunks/projectStore.svelte-BNuLNxk_.js.map +1 -0
- package/build/server/chunks/{reconcile-B5xqb6-s.js → reconcile-CVG2LSlW.js} +60 -4
- package/build/server/chunks/reconcile-CVG2LSlW.js.map +1 -0
- package/build/server/chunks/{snapshotRepository-BPXCjX92.js → snapshotRepository-8f-2wTrb.js} +30 -5
- package/build/server/chunks/snapshotRepository-8f-2wTrb.js.map +1 -0
- package/build/server/chunks/{state-DBjl9lhV.js → state-CZZtjXLE.js} +3 -3
- package/build/server/chunks/{state-DBjl9lhV.js.map → state-CZZtjXLE.js.map} +1 -1
- package/build/server/chunks/{sync-DZ3dn761.js → sync-Bn6eSUhC.js} +3 -3
- package/build/server/chunks/{sync-DZ3dn761.js.map → sync-Bn6eSUhC.js.map} +1 -1
- package/build/server/chunks/{syncBridge-BwXzPdjJ.js → syncAwareRepositories-DvUjq5Q6.js} +27 -3
- package/build/server/chunks/syncAwareRepositories-DvUjq5Q6.js.map +1 -0
- package/build/server/chunks/{tagPaletteStore.svelte-DfZOBvgY.js → tagPaletteStore.svelte-C71bdzDl.js} +4 -4
- package/build/server/chunks/{tagPaletteStore.svelte-DfZOBvgY.js.map → tagPaletteStore.svelte-C71bdzDl.js.map} +1 -1
- package/build/server/index.js +2 -2
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +59 -30
- package/build/server/manifest.js.map +1 -1
- package/cli/README.md +70 -2
- package/cli/commands/check.ts +190 -0
- package/cli/commands/ci.ts +71 -0
- package/cli/commands/coverage-ingest.ts +112 -0
- package/cli/commands/scenarios-adapter.ts +96 -0
- package/cli/scenarios/adapter-scaffold.ts +99 -0
- package/cli/scenarios/codegen.ts +7 -1
- package/cli/scenarios/results.ts +85 -0
- package/cli/skills/unspa-audit/SKILL.md +19 -0
- package/cli/skills/unspa-edit/SKILL.md +20 -3
- package/cli/skills/unspa-implement/SKILL.md +28 -0
- package/cli/unspa.ts +98 -0
- package/cli/util/context-files.ts +13 -2
- package/mcp-server/bin.ts +104 -104
- package/mcp-server/migrate-defaults.ts +164 -164
- package/mcp-server/repo-link.ts +142 -134
- package/mcp-server/resources/guide.ts +24 -4
- package/mcp-server/resources/operations.ts +3 -0
- package/mcp-server/seed-snapshots.ts +22 -22
- package/mcp-server/server.ts +8 -4
- package/mcp-server/sync-aware-repos.ts +79 -79
- package/mcp-server/sync-notifier.ts +180 -180
- package/mcp-server/tools/_codegen.ts +115 -115
- package/mcp-server/tools/_entity_builders.ts +30 -0
- package/mcp-server/tools/_shared.ts +210 -210
- package/mcp-server/tools/action.ts +210 -210
- package/mcp-server/tools/batch.ts +29 -5
- package/mcp-server/tools/effect.ts +139 -135
- package/mcp-server/tools/entity.ts +132 -132
- package/mcp-server/tools/entityField.ts +132 -132
- package/mcp-server/tools/event.ts +116 -116
- package/mcp-server/tools/feature.ts +264 -264
- package/mcp-server/tools/invariant.ts +275 -275
- package/mcp-server/tools/persona.ts +141 -141
- package/mcp-server/tools/project.ts +500 -391
- package/mcp-server/tools/reachabilityGoal.ts +97 -0
- package/mcp-server/tools/read.ts +526 -483
- package/mcp-server/tools/reorder.ts +114 -114
- package/mcp-server/tools/resource.ts +194 -194
- package/mcp-server/tools/rule.ts +302 -302
- package/mcp-server/tools/scenario.ts +4 -1
- package/mcp-server/tools/specGaps.ts +221 -221
- package/mcp-server/tools/state.ts +10 -2
- package/mcp-server/tools/surface.ts +102 -102
- package/mcp-server/tools/transition.ts +96 -96
- package/mcp-server/tools/verification.ts +131 -0
- package/package.json +14 -2
- package/src/app.css +26 -14
- package/src/features/behavior-model/application/ports/FeatureRepository.ts +16 -16
- package/src/features/behavior-model/application/use-cases/CreateFeature.ts +24 -24
- package/src/features/behavior-model/application/use-cases/DeleteFeature.ts +8 -8
- package/src/features/behavior-model/application/use-cases/GetFeature.ts +9 -9
- package/src/features/behavior-model/application/use-cases/ListFeatures.ts +10 -10
- package/src/features/behavior-model/application/use-cases/MutateFeature.ts +90 -90
- package/src/features/behavior-model/application/use-cases/SaveFeature.ts +31 -31
- package/src/features/behavior-model/domain/entities/Entity.ts +45 -45
- package/src/features/behavior-model/domain/entities/EventDefinition.ts +35 -35
- package/src/features/behavior-model/domain/entities/Feature.ts +10 -0
- package/src/features/behavior-model/domain/entities/Persona.ts +33 -33
- package/src/features/behavior-model/domain/entities/ReachabilityGoal.ts +39 -0
- package/src/features/behavior-model/domain/entities/Resource.ts +54 -54
- package/src/features/behavior-model/domain/entities/Scenario.ts +15 -0
- package/src/features/behavior-model/domain/entities/StateDefinition.ts +13 -0
- package/src/features/behavior-model/domain/entities/Surface.ts +75 -75
- package/src/features/behavior-model/domain/entities/index.ts +9 -9
- package/src/features/behavior-model/domain/services/BehaviorGraphModel.ts +25 -0
- package/src/features/behavior-model/domain/services/DerivedState.ts +67 -0
- package/src/features/behavior-model/domain/services/EffectApplier.ts +112 -3
- package/src/features/behavior-model/domain/services/EffectiveEntities.ts +166 -166
- package/src/features/behavior-model/domain/services/EntityDeducer.ts +83 -83
- package/src/features/behavior-model/domain/services/EventCatalog.ts +141 -141
- package/src/features/behavior-model/domain/services/FeatureExpressionNormalizer.ts +43 -5
- package/src/features/behavior-model/domain/services/FeatureSharedStateNormalizer.ts +24 -3
- package/src/features/behavior-model/domain/services/FeatureTransforms.ts +33 -0
- package/src/features/behavior-model/domain/services/FeatureValidator.ts +124 -16
- package/src/features/behavior-model/domain/services/PersonaApplier.ts +39 -39
- package/src/features/behavior-model/domain/services/ResourceDeducer.ts +64 -64
- package/src/features/behavior-model/domain/services/ResourceUsage.ts +79 -79
- package/src/features/behavior-model/domain/services/ScenarioApplier.ts +40 -40
- package/src/features/behavior-model/domain/services/SharedStateDefinitions.ts +32 -32
- package/src/features/behavior-model/domain/services/StatePathReferences.ts +249 -217
- package/src/features/behavior-model/domain/services/TransitionCatalog.ts +173 -173
- package/src/features/behavior-model/domain/value-objects/Effect.ts +100 -3
- package/src/features/behavior-model/domain/value-objects/EntityFieldType.ts +57 -57
- package/src/features/behavior-model/domain/value-objects/Expression.ts +22 -2
- package/src/features/behavior-model/domain/value-objects/ParameterType.ts +57 -57
- package/src/features/behavior-model/domain/value-objects/Resource.ts +210 -210
- package/src/features/behavior-model/domain/value-objects/RuleCategory.ts +57 -57
- package/src/features/behavior-model/domain/value-objects/RuleCondition.ts +52 -1
- package/src/features/behavior-model/domain/value-objects/SimulationClock.ts +35 -0
- package/src/features/behavior-model/domain/value-objects/ids.ts +2 -0
- package/src/features/behavior-model/infrastructure/io/FeatureJson.ts +89 -89
- package/src/features/behavior-model/infrastructure/persistence/HttpFeatureRepository.ts +43 -43
- package/src/features/behavior-model/infrastructure/persistence/JsonFolderFeatureRepository.ts +10 -0
- package/src/features/behavior-model/infrastructure/persistence/snapshot-discovery.ts +76 -76
- package/src/features/behavior-model/infrastructure/seed/seedStorefront.ts +967 -967
- package/src/features/behavior-model/presentation/adapters/VisBehaviorGraphRenderer.ts +10 -1
- package/src/features/behavior-model/presentation/components/ActionEditor.svelte +683 -682
- package/src/features/behavior-model/presentation/components/ActionsEditor.svelte +232 -232
- package/src/features/behavior-model/presentation/components/BehaviorGraph.svelte +275 -77
- package/src/features/behavior-model/presentation/components/EffectEditor.svelte +168 -168
- package/src/features/behavior-model/presentation/components/EntityEditor.svelte +241 -248
- package/src/features/behavior-model/presentation/components/EntityFieldRow.svelte +180 -181
- package/src/features/behavior-model/presentation/components/EntityManager.svelte +252 -251
- package/src/features/behavior-model/presentation/components/EventsManager.svelte +373 -372
- package/src/features/behavior-model/presentation/components/FeatureEditor.svelte +396 -348
- package/src/features/behavior-model/presentation/components/FeatureHeader.svelte +152 -143
- package/src/features/behavior-model/presentation/components/FeatureHealthStrip.svelte +110 -110
- package/src/features/behavior-model/presentation/components/HistoryPanel.svelte +154 -154
- package/src/features/behavior-model/presentation/components/NewFeatureForm.svelte +66 -66
- package/src/features/behavior-model/presentation/components/ParameterNameSelect.svelte +84 -84
- package/src/features/behavior-model/presentation/components/ParametersEditor.svelte +411 -411
- package/src/features/behavior-model/presentation/components/PersonaEditor.svelte +244 -244
- package/src/features/behavior-model/presentation/components/PersonasManager.svelte +130 -130
- package/src/features/behavior-model/presentation/components/ReachabilityGoalEditor.svelte +230 -0
- package/src/features/behavior-model/presentation/components/ReachabilityGoalsEditor.svelte +86 -0
- package/src/features/behavior-model/presentation/components/ResourcesManager.svelte +291 -290
- package/src/features/behavior-model/presentation/components/ScenariosEditor.svelte +496 -496
- package/src/features/behavior-model/presentation/components/StateDefinitionsEditor.svelte +356 -356
- package/src/features/behavior-model/presentation/components/SurfaceEntitiesView.svelte +88 -88
- package/src/features/behavior-model/presentation/components/SurfaceInvariantsEditor.svelte +76 -76
- package/src/features/behavior-model/presentation/components/SurfaceList.svelte +300 -300
- package/src/features/behavior-model/presentation/components/SurfaceMetaEditor.svelte +158 -156
- package/src/features/behavior-model/presentation/components/SurfacePanel.svelte +198 -198
- package/src/features/behavior-model/presentation/components/SurfacePersonasView.svelte +122 -122
- package/src/features/behavior-model/presentation/components/SurfaceResourcesView.svelte +113 -113
- package/src/features/behavior-model/presentation/components/SurfaceRulesEditor.svelte +69 -69
- package/src/features/behavior-model/presentation/components/TransitionsManager.svelte +322 -321
- package/src/features/behavior-model/presentation/context/featureQueueContext.ts +78 -0
- package/src/features/behavior-model/presentation/stores/editorStore.svelte.ts +132 -131
- package/src/features/behavior-model/presentation/stores/featureStore.svelte.ts +177 -177
- package/src/features/behavior-model/presentation/stores/featuresStore.svelte.ts +98 -98
- package/src/features/behavior-model/presentation/view-models/BehaviorGraphTheme.ts +1 -0
- package/src/features/behavior-model/presentation/view-models/factories.ts +181 -132
- package/src/features/domains/infrastructure/persistence/JsonFolderDomainRepository.ts +9 -0
- package/src/features/global-search/application/use-cases/LoadSearchIndex.ts +70 -0
- package/src/features/global-search/domain/SearchDoc.ts +111 -0
- package/src/features/global-search/domain/buildSearchDocs.ts +483 -0
- package/src/features/global-search/domain/searchNav.ts +58 -0
- package/src/features/global-search/domain/searchScoring.ts +81 -0
- package/src/features/global-search/infrastructure/adapters/defaultSearchHost.ts +28 -0
- package/src/features/global-search/presentation/components/GlobalSearch.svelte +262 -0
- package/src/features/global-search/presentation/ports/SearchHostPorts.ts +41 -0
- package/src/features/global-search/presentation/searchKindMeta.ts +108 -0
- package/src/features/global-search/presentation/stores/globalSearchStore.svelte.ts +171 -0
- package/src/features/implementation-queue/presentation/components/FloatingQueueWidget.svelte +264 -0
- package/src/features/implementation-queue/presentation/stores/globalQueueStore.svelte.ts +172 -0
- package/src/features/implementation-status/application/ports/ImplementationStatusRepository.ts +8 -8
- package/src/features/implementation-status/application/use-cases/GetImplementationStatus.ts +8 -8
- package/src/features/implementation-status/domain/ApplyCapturedToSpec.ts +323 -322
- package/src/features/implementation-status/domain/FieldDiff.ts +238 -236
- package/src/features/implementation-status/infrastructure/persistence/InMemoryImplementationStatusRepository.ts +21 -21
- package/src/features/implementation-status/presentation/components/ImplementationStatusPanel.svelte +831 -831
- package/src/features/implementation-status/presentation/stores/implementationStatusStore.svelte.ts +97 -97
- package/src/features/library/application/use-cases/ApplyBlueprintsToFeature.ts +33 -33
- package/src/features/library/domain/services/BlueprintApplier.ts +94 -94
- package/src/features/library/infrastructure/blueprints/auth/ResetPasswordBlueprint.ts +332 -332
- package/src/features/library/infrastructure/blueprints/auth/SignInBlueprint.ts +281 -281
- package/src/features/library/infrastructure/blueprints/auth/SignUpBlueprint.ts +299 -299
- package/src/features/library/infrastructure/blueprints/auth/VerifyEmailBlueprint.ts +288 -288
- package/src/features/library/infrastructure/blueprints/auth/shared.ts +146 -146
- package/src/features/library/infrastructure/blueprints/commerce/CartBlueprint.ts +222 -222
- package/src/features/library/infrastructure/blueprints/commerce/CatalogBlueprint.ts +190 -190
- package/src/features/library/infrastructure/blueprints/commerce/CheckoutBlueprint.ts +322 -322
- package/src/features/library/infrastructure/blueprints/commerce/OrderConfirmationBlueprint.ts +172 -172
- package/src/features/library/infrastructure/blueprints/commerce/ProductDetailsBlueprint.ts +290 -290
- package/src/features/library/infrastructure/blueprints/content/ReviewsBlueprint.ts +392 -392
- package/src/features/library/infrastructure/blueprints/onboarding/OnboardingWizardBlueprint.ts +344 -344
- package/src/features/library/infrastructure/blueprints/utility/CanvasBlueprint.ts +419 -419
- package/src/features/library/infrastructure/blueprints/utility/CookieConsentBlueprint.ts +195 -195
- package/src/features/library/infrastructure/blueprints/utility/NotFoundBlueprint.ts +86 -86
- package/src/features/library/infrastructure/blueprints/utility/SearchPaletteBlueprint.ts +192 -192
- package/src/features/library/infrastructure/blueprints/utility/StoreLocatorBlueprint.ts +221 -221
- package/src/features/library/infrastructure/blueprints/utility/TaskBoardBlueprint.ts +196 -196
- package/src/features/maturity/application/use-cases/ScoreFeature.ts +7 -7
- package/src/features/maturity/domain/MaturityReport.ts +70 -70
- package/src/features/maturity/domain/MaturityScorer.ts +1001 -985
- package/src/features/maturity/presentation/components/MaturityPanel.svelte +376 -372
- package/src/features/mcp-tools/application/tools/dryRunSimulate.ts +24 -24
- package/src/features/mcp-tools/application/tools/findStateReferences.ts +19 -19
- package/src/features/mcp-tools/application/tools/generateTypes.ts +0 -1
- package/src/features/mcp-tools/application/tools/getAction.ts +165 -165
- package/src/features/mcp-tools/application/tools/getFeature.ts +5 -5
- package/src/features/mcp-tools/application/tools/getFeatureIndex.ts +79 -79
- package/src/features/mcp-tools/application/tools/getNeighborhood.ts +319 -319
- package/src/features/mcp-tools/application/tools/getSurface.ts +86 -86
- package/src/features/mcp-tools/application/tools/index.ts +56 -56
- package/src/features/mcp-tools/application/tools/listActions.ts +49 -49
- package/src/features/mcp-tools/application/tools/listFeatures.ts +7 -7
- package/src/features/mcp-tools/application/tools/scoreFeature.ts +153 -153
- package/src/features/projects/application/ports/ProjectRepository.ts +14 -14
- package/src/features/projects/application/use-cases/AddFeatureToProject.ts +23 -23
- package/src/features/projects/application/use-cases/CreateProject.ts +16 -16
- package/src/features/projects/application/use-cases/FindProjectContainingFeature.ts +23 -23
- package/src/features/projects/application/use-cases/GetProjectAggregate.ts +131 -131
- package/src/features/projects/application/use-cases/ImportProjectBundle.ts +45 -0
- package/src/features/projects/application/use-cases/MoveFeatureInProject.ts +36 -36
- package/src/features/projects/application/use-cases/RemoveFeatureFromProject.ts +23 -23
- package/src/features/projects/domain/entities/Project.ts +12 -0
- package/src/features/projects/domain/services/InheritedFromProject.ts +130 -130
- package/src/features/projects/infrastructure/persistence/JsonFolderProjectRepository.ts +9 -0
- package/src/features/projects/presentation/components/ProjectCard.svelte +27 -8
- package/src/features/projects/presentation/components/ProjectEditor.svelte +17 -20
- package/src/features/projects/presentation/components/ProjectFeaturesPanel.svelte +433 -433
- package/src/features/projects/presentation/components/ProjectsIndex.svelte +54 -10
- package/src/features/projects/presentation/stores/projectContextStore.svelte.ts +170 -170
- package/src/features/projects/presentation/stores/projectFeaturesStore.svelte.ts +114 -114
- package/src/features/projects/presentation/stores/projectStore.svelte.ts +265 -266
- package/src/features/projects/presentation/stores/projectsStore.svelte.ts +134 -134
- package/src/features/simulator/application/use-cases/RunScenarios.ts +12 -0
- package/src/features/simulator/application/use-cases/SimulateAction.ts +47 -47
- package/src/features/simulator/domain/SimulationResult.ts +79 -79
- package/src/features/simulator/domain/SimulatorEngine.ts +43 -9
- package/src/features/simulator/domain/StateExplorer.ts +369 -0
- package/src/features/simulator/domain/SurfaceReachability.ts +130 -0
- package/src/features/simulator/presentation/components/ParameterInputs.svelte +277 -277
- package/src/features/simulator/presentation/components/PersonaPicker.svelte +52 -52
- package/src/features/simulator/presentation/components/ScenarioPicker.svelte +42 -45
- package/src/features/simulator/presentation/components/SidePanel.svelte +170 -170
- package/src/features/simulator/presentation/components/SimulationResultView.svelte +394 -394
- package/src/features/simulator/presentation/components/SimulatorPanel.svelte +293 -293
- package/src/features/simulator/presentation/components/StateInspector.svelte +101 -101
- package/src/features/simulator/presentation/stores/simulatorStore.svelte.ts +268 -268
- package/src/features/tutorial/presentation/components/CodeBlock.svelte +5 -1
- package/src/features/verification/application/ports/BehavioralIndexReader.ts +12 -0
- package/src/features/verification/application/use-cases/VerifyFeatures.ts +151 -0
- package/src/features/verification/domain/DriftReport.ts +37 -0
- package/src/features/verification/domain/EventCoherenceReport.ts +27 -0
- package/src/features/verification/domain/IndexedImplementation.ts +27 -0
- package/src/features/verification/domain/VerificationReport.ts +59 -0
- package/src/features/verification/domain/VerificationThresholds.ts +52 -0
- package/src/features/verification/domain/VerificationVerdict.ts +43 -0
- package/src/features/verification/domain/aggregateVerdict.ts +244 -0
- package/src/features/verification/domain/analyzeEventCoherence.ts +43 -0
- package/src/features/verification/domain/detectDrift.ts +166 -0
- package/src/features/verification/domain/verifiedCoverage.ts +37 -0
- package/src/features/verification/infrastructure/persistence/FileBehavioralIndexReader.ts +81 -0
- package/src/features/verification/infrastructure/persistence/StaticBehavioralIndexReader.ts +15 -0
- package/src/features/verification/presentation/components/VerifyPanel.svelte +74 -0
- package/src/features/verification/presentation/stores/verificationStore.svelte.ts +64 -0
- package/src/lib/server/openLocalDirectory.ts +40 -0
- package/src/lib/server/searchIndex.ts +161 -0
- package/src/lib/server/snapshotRepository.ts +37 -37
- package/src/lib/server/sync/YDocManager.ts +391 -391
- package/src/lib/server/sync/historyStore.ts +276 -276
- package/src/lib/server/sync/wsServer.ts +1 -1
- package/src/lib/sync/protocol.ts +147 -147
- package/src/lib/sync/roomId.ts +33 -33
- package/src/routes/+layout.svelte +104 -0
- package/src/routes/api/domains/[id]/+server.ts +7 -3
- package/src/routes/api/projects/[id]/+server.ts +14 -4
- package/src/routes/api/projects/import/+server.ts +16 -38
- package/src/routes/api/search-index/+server.ts +16 -0
- package/src/routes/api/snapshots/[id]/+server.ts +56 -44
- package/src/routes/api/snapshots/[id]/implementation-status/+server.ts +13 -13
- package/src/routes/api/snapshots/[id]/verify/+server.ts +37 -0
- package/src/routes/api/sync/reload/+server.ts +157 -157
- package/src/routes/api/system/hub-directory/+server.ts +24 -0
- package/src/routes/features/+page.svelte +484 -484
- package/src/routes/features/[id]/+page.svelte +55 -49
- package/src/routes/features/[id]/graph/+page.svelte +5 -0
- package/src/routes/features/[id]/verify/+page.svelte +89 -0
- package/src/routes/mcp/+page.svelte +16 -1
- package/src/routes/projects/[id]/+page.svelte +70 -70
- package/src/routes/tutorial/+page.svelte +3 -2
- package/src/shared/infrastructure/browserContainer.ts +61 -61
- package/src/shared/presentation/components/KebabMenu.svelte +95 -0
- package/src/shared/presentation/components/MenuItem.svelte +29 -0
- package/vite.config.ts +47 -47
- package/build/client/_app/immutable/assets/0.DSctqr5I.css +0 -1
- package/build/client/_app/immutable/assets/0.DSctqr5I.css.br +0 -0
- package/build/client/_app/immutable/assets/0.DSctqr5I.css.gz +0 -0
- package/build/client/_app/immutable/assets/11.nv0I59TU.css.gz +0 -0
- package/build/client/_app/immutable/chunks/9nXQ5qrY2.js +0 -1
- package/build/client/_app/immutable/chunks/9nXQ5qrY2.js.br +0 -0
- package/build/client/_app/immutable/chunks/9nXQ5qrY2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B439_FLv.js.br +0 -0
- package/build/client/_app/immutable/chunks/B439_FLv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BCEY79Dw.js +0 -1
- package/build/client/_app/immutable/chunks/BCEY79Dw.js.br +0 -2
- package/build/client/_app/immutable/chunks/BCEY79Dw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BOrLmFwJ.js.br +0 -0
- package/build/client/_app/immutable/chunks/BOrLmFwJ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BYIrIC5L.js +0 -1
- package/build/client/_app/immutable/chunks/BYIrIC5L.js.br +0 -0
- package/build/client/_app/immutable/chunks/BYIrIC5L.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B_9TWPrx2.js.br +0 -0
- package/build/client/_app/immutable/chunks/B_9TWPrx2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BfMYiIUi.js.br +0 -0
- package/build/client/_app/immutable/chunks/BfMYiIUi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bp2_Vghh.js +0 -1
- package/build/client/_app/immutable/chunks/Bp2_Vghh.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bp2_Vghh.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bp8HpEPe2.js +0 -4
- package/build/client/_app/immutable/chunks/Bp8HpEPe2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bp8HpEPe2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BvOhVtZg.js +0 -1
- package/build/client/_app/immutable/chunks/BvOhVtZg.js.br +0 -1
- package/build/client/_app/immutable/chunks/BvOhVtZg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C8rRKIXT.js +0 -1
- package/build/client/_app/immutable/chunks/C8rRKIXT.js.br +0 -0
- package/build/client/_app/immutable/chunks/C8rRKIXT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CJjJLwzv2.js +0 -1
- package/build/client/_app/immutable/chunks/CJjJLwzv2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CJjJLwzv2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CY3em1ma2.js +0 -1
- package/build/client/_app/immutable/chunks/CY3em1ma2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CY3em1ma2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CgdRZPgI.js +0 -1
- package/build/client/_app/immutable/chunks/CgdRZPgI.js.br +0 -0
- package/build/client/_app/immutable/chunks/CgdRZPgI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CxyLMlpt2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CxyLMlpt2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D6jhrpTg.js +0 -1
- package/build/client/_app/immutable/chunks/D6jhrpTg.js.br +0 -0
- package/build/client/_app/immutable/chunks/D6jhrpTg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D8YEa1po.js +0 -1
- package/build/client/_app/immutable/chunks/D8YEa1po.js.br +0 -0
- package/build/client/_app/immutable/chunks/D8YEa1po.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D9dKmajw.js +0 -1
- package/build/client/_app/immutable/chunks/D9dKmajw.js.br +0 -0
- package/build/client/_app/immutable/chunks/D9dKmajw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DKgYpi6_.js +0 -1
- package/build/client/_app/immutable/chunks/DKgYpi6_.js.br +0 -0
- package/build/client/_app/immutable/chunks/DKgYpi6_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dg0acPpT.js +0 -1
- package/build/client/_app/immutable/chunks/Dg0acPpT.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dg0acPpT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DkxwAIfJ2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DkxwAIfJ2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/HKLi1Yz3.js +0 -1
- package/build/client/_app/immutable/chunks/HKLi1Yz3.js.br +0 -0
- package/build/client/_app/immutable/chunks/HKLi1Yz3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/N7PXjlRH.js +0 -1
- package/build/client/_app/immutable/chunks/N7PXjlRH.js.br +0 -0
- package/build/client/_app/immutable/chunks/N7PXjlRH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/OJscNS3T.js +0 -1
- package/build/client/_app/immutable/chunks/OJscNS3T.js.br +0 -0
- package/build/client/_app/immutable/chunks/OJscNS3T.js.gz +0 -0
- package/build/client/_app/immutable/chunks/U9p9CtKG2.js +0 -2
- package/build/client/_app/immutable/chunks/U9p9CtKG2.js.br +0 -0
- package/build/client/_app/immutable/chunks/U9p9CtKG2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/hpWJNn0t2.js +0 -2
- package/build/client/_app/immutable/chunks/hpWJNn0t2.js.br +0 -0
- package/build/client/_app/immutable/chunks/hpWJNn0t2.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.Cd4S3giu.js +0 -2
- package/build/client/_app/immutable/entry/app.Cd4S3giu.js.br +0 -0
- package/build/client/_app/immutable/entry/app.Cd4S3giu.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.C3xXQVkq.js +0 -1
- package/build/client/_app/immutable/entry/start.C3xXQVkq.js.br +0 -0
- package/build/client/_app/immutable/entry/start.C3xXQVkq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.dIOlQ-0y.js +0 -4
- package/build/client/_app/immutable/nodes/0.dIOlQ-0y.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.dIOlQ-0y.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.Dyte3Ggf.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.Dyte3Ggf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.ivxAosDg.js +0 -2
- package/build/client/_app/immutable/nodes/10.ivxAosDg.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.ivxAosDg.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.wvMfJKC2.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.wvMfJKC2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.CmPPom9Z.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CmPPom9Z.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.D-iCGCEx.js +0 -1
- package/build/client/_app/immutable/nodes/3.D-iCGCEx.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.D-iCGCEx.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.DbfAvO8Z.js +0 -3
- package/build/client/_app/immutable/nodes/4.DbfAvO8Z.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DbfAvO8Z.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CC5Q7lVw.js +0 -42
- package/build/client/_app/immutable/nodes/5.CC5Q7lVw.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CC5Q7lVw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.CHIjlzpO.js +0 -1
- package/build/client/_app/immutable/nodes/6.CHIjlzpO.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.CHIjlzpO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.Ejs18ZUc.js +0 -5
- package/build/client/_app/immutable/nodes/7.Ejs18ZUc.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.Ejs18ZUc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.B-HweAc8.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.B-HweAc8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CKPeM6tx.js +0 -5
- package/build/client/_app/immutable/nodes/9.CKPeM6tx.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CKPeM6tx.js.gz +0 -0
- package/build/server/chunks/0-Co8kcANG.js +0 -15
- package/build/server/chunks/0-Co8kcANG.js.map +0 -1
- package/build/server/chunks/1-BSUItTig.js +0 -9
- package/build/server/chunks/10-BygvxrZp.js +0 -9
- package/build/server/chunks/10-BygvxrZp.js.map +0 -1
- package/build/server/chunks/11-DRx0tRx2.js +0 -9
- package/build/server/chunks/11-DRx0tRx2.js.map +0 -1
- package/build/server/chunks/2-BQT3m1vc.js +0 -9
- package/build/server/chunks/2-BQT3m1vc.js.map +0 -1
- package/build/server/chunks/3-DPZ9BquJ.js +0 -16
- package/build/server/chunks/3-DPZ9BquJ.js.map +0 -1
- package/build/server/chunks/4-DHo47YX6.js +0 -16
- package/build/server/chunks/4-DHo47YX6.js.map +0 -1
- package/build/server/chunks/5-Cp9evBAG.js +0 -9
- package/build/server/chunks/5-Cp9evBAG.js.map +0 -1
- package/build/server/chunks/6-DiBq3bOV.js +0 -9
- package/build/server/chunks/6-DiBq3bOV.js.map +0 -1
- package/build/server/chunks/7-C4hmS0dG.js +0 -9
- package/build/server/chunks/8-CFFuDzBC.js +0 -9
- package/build/server/chunks/8-CFFuDzBC.js.map +0 -1
- package/build/server/chunks/9-nhhKZJrs.js +0 -9
- package/build/server/chunks/9-nhhKZJrs.js.map +0 -1
- package/build/server/chunks/BehaviorGraph-m5kYj5HH.js.map +0 -1
- package/build/server/chunks/FeatureTransforms-UWDHmWEg.js.map +0 -1
- package/build/server/chunks/FeatureValidator-B8qEjAUW.js.map +0 -1
- package/build/server/chunks/ManageTagsDialog-DBxA3tM2.js.map +0 -1
- package/build/server/chunks/ProjectsIndex-DUVJ3hyL.js.map +0 -1
- package/build/server/chunks/RenameTag-BuWLMl1m.js.map +0 -1
- package/build/server/chunks/TagDotStrip-B1XQ0m0Y.js.map +0 -1
- package/build/server/chunks/TagPalette-CtMNYCmu.js.map +0 -1
- package/build/server/chunks/TransitionCatalog-B8zHs-2E.js.map +0 -1
- package/build/server/chunks/_layout.svelte-CLTmk0xU.js.map +0 -1
- package/build/server/chunks/_page.svelte-B1nG3PKn.js +0 -29
- package/build/server/chunks/_page.svelte-B1s7jxaQ.js.map +0 -1
- package/build/server/chunks/_page.svelte-BW_nbAAH.js.map +0 -1
- package/build/server/chunks/_page.svelte-Caq7J0jU.js.map +0 -1
- package/build/server/chunks/_page.svelte-Cham-dsM.js +0 -29
- package/build/server/chunks/_page.svelte-Dhwjwph_.js.map +0 -1
- package/build/server/chunks/_page.svelte-NVT2dzpG.js.map +0 -1
- package/build/server/chunks/_page.svelte-Z_kK2lHY.js.map +0 -1
- package/build/server/chunks/_server.ts-0uNTZKwF.js.map +0 -1
- package/build/server/chunks/_server.ts-DcZPhyhK.js +0 -59
- package/build/server/chunks/_server.ts-DcZPhyhK.js.map +0 -1
- package/build/server/chunks/_server.ts-Dy5zQHe2.js.map +0 -1
- package/build/server/chunks/_server.ts-YnfXkeMJ.js.map +0 -1
- package/build/server/chunks/_server.ts-vcaqdwxS.js.map +0 -1
- package/build/server/chunks/browserContainer-CNX7ANld.js.map +0 -1
- package/build/server/chunks/builderModeStore.svelte-BpRIU_zP.js.map +0 -1
- package/build/server/chunks/featureStore.svelte-DIYgPBVm.js.map +0 -1
- package/build/server/chunks/featuresStore.svelte-DR1gYZyu.js +0 -98
- package/build/server/chunks/featuresStore.svelte-DR1gYZyu.js.map +0 -1
- package/build/server/chunks/identityStore.svelte-IIvW2_3b.js +0 -59
- package/build/server/chunks/identityStore.svelte-IIvW2_3b.js.map +0 -1
- package/build/server/chunks/projectFeaturesStore.svelte-2o-72_vr.js.map +0 -1
- package/build/server/chunks/projectsStore.svelte-QDz5PchX.js.map +0 -1
- package/build/server/chunks/reconcile-B5xqb6-s.js.map +0 -1
- package/build/server/chunks/snapshotRepository-BPXCjX92.js.map +0 -1
- package/build/server/chunks/syncBridge-BwXzPdjJ.js.map +0 -1
- package/src/features/implementation-queue/presentation/components/QueuePanel.svelte +0 -204
- package/src/features/implementation-queue/presentation/stores/queueStore.svelte.ts +0 -143
- /package/build/client/_app/immutable/assets/{11.nv0I59TU.css → 12.nv0I59TU.css} +0 -0
- /package/build/client/_app/immutable/assets/{11.nv0I59TU.css.br → 12.nv0I59TU.css.br} +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{et as e,tt as t,z as n}from"./BPl9BITm.js";import{ht as r}from"./D64sGJRN.js";var i=(e,t)=>`${e}:${t}`,a=`data`,o=`snapshot`,s=()=>new Map,c=e=>{let t=s();return e.forEach((e,n)=>{t.set(n,e)}),t},l=(e,t,n)=>{let r=e.get(t);return r===void 0&&e.set(t,r=n()),r},u=(e,t)=>{let n=[];for(let[r,i]of e)n.push(t(i,r));return n},d=(e,t)=>{for(let[n,r]of e)if(t(r,n))return!0;return!1},f=()=>new Set,ee=e=>e[e.length-1],te=(e,t)=>{for(let n=0;n<t.length;n++)e.push(t[n])},p=Array.from,ne=(e,t)=>{for(let n=0;n<e.length;n++)if(!t(e[n],n,e))return!1;return!0},re=(e,t)=>{for(let n=0;n<e.length;n++)if(t(e[n],n,e))return!0;return!1},ie=(e,t)=>{let n=Array(e);for(let r=0;r<e;r++)n[r]=t(r,n);return n},ae=Array.isArray,oe=class{constructor(){this._observers=s()}on(e,t){return l(this._observers,e,f).add(t),t}once(e,t){let n=(...r)=>{this.off(e,n),t(...r)};this.on(e,n)}off(e,t){let n=this._observers.get(e);n!==void 0&&(n.delete(t),n.size===0&&this._observers.delete(e))}emit(e,t){return p((this._observers.get(e)||s()).values()).forEach(e=>e(...t))}destroy(){this._observers=s()}},m=Math.floor,se=Math.abs,ce=(e,t)=>e<t?e:t,h=(e,t)=>e>t?e:t;Number.isNaN;var le=e=>e===0?1/e<0:e<0,ue=2**53-1,de=-(2**53-1),fe=Number.isInteger||(e=>typeof e==`number`&&isFinite(e)&&m(e)===e);Number.isNaN,Number.parseInt;var pe=String.fromCharCode;String.fromCodePoint,pe(65535);var me=e=>e.toLowerCase(),he=/^\s*/g,ge=e=>e.replace(he,``),_e=/([A-Z])/g,ve=(e,t)=>ge(e.replace(_e,e=>`${t}${me(e)}`)),ye=e=>{let t=unescape(encodeURIComponent(e)),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.codePointAt(e);return r},be=typeof TextEncoder<`u`?new TextEncoder:null,xe=be?e=>be.encode(e):ye,Se=typeof TextDecoder>`u`?null:new TextDecoder(`utf-8`,{fatal:!0,ignoreBOM:!0});Se&&Se.decode(new Uint8Array).length===1&&(Se=null);var Ce=(e,t)=>ie(t,()=>e).join(``),we=class{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}},Te=()=>new we,Ee=e=>{let t=e.cpos;for(let n=0;n<e.bufs.length;n++)t+=e.bufs[n].length;return t},g=e=>{let t=new Uint8Array(Ee(e)),n=0;for(let r=0;r<e.bufs.length;r++){let i=e.bufs[r];t.set(i,n),n+=i.length}return t.set(new Uint8Array(e.cbuf.buffer,0,e.cpos),n),t},De=(e,t)=>{let n=e.cbuf.length;n-e.cpos<t&&(e.bufs.push(new Uint8Array(e.cbuf.buffer,0,e.cpos)),e.cbuf=new Uint8Array(h(n,t)*2),e.cpos=0)},_=(e,t)=>{let n=e.cbuf.length;e.cpos===n&&(e.bufs.push(e.cbuf),e.cbuf=new Uint8Array(n*2),e.cpos=0),e.cbuf[e.cpos++]=t},Oe=_,v=(e,t)=>{for(;t>127;)_(e,128|127&t),t=m(t/128);_(e,127&t)},ke=(e,t)=>{let n=le(t);for(n&&(t=-t),_(e,(t>63?128:0)|(n?64:0)|63&t),t=m(t/64);t>0;)_(e,(t>127?128:0)|127&t),t=m(t/128)},Ae=new Uint8Array(3e4),je=Ae.length/3,y=be&&be.encodeInto?(e,t)=>{if(t.length<je){let n=be.encodeInto(t,Ae).written||0;v(e,n);for(let t=0;t<n;t++)_(e,Ae[t])}else b(e,xe(t))}:(e,t)=>{let n=unescape(encodeURIComponent(t)),r=n.length;v(e,r);for(let t=0;t<r;t++)_(e,n.codePointAt(t))},Me=(e,t)=>{let n=e.cbuf.length,r=e.cpos,i=ce(n-r,t.length),a=t.length-i;e.cbuf.set(t.subarray(0,i),r),e.cpos+=i,a>0&&(e.bufs.push(e.cbuf),e.cbuf=new Uint8Array(h(n*2,a)),e.cbuf.set(t.subarray(i)),e.cpos=a)},b=(e,t)=>{v(e,t.byteLength),Me(e,t)},Ne=(e,t)=>{De(e,t);let n=new DataView(e.cbuf.buffer,e.cpos,t);return e.cpos+=t,n},Pe=(e,t)=>Ne(e,4).setFloat32(0,t,!1),Fe=(e,t)=>Ne(e,8).setFloat64(0,t,!1),Ie=(e,t)=>Ne(e,8).setBigInt64(0,t,!1),Le=new DataView(new ArrayBuffer(4)),Re=e=>(Le.setFloat32(0,e),Le.getFloat32(0)===e),ze=(e,t)=>{switch(typeof t){case`string`:_(e,119),y(e,t);break;case`number`:fe(t)&&se(t)<=2147483647?(_(e,125),ke(e,t)):Re(t)?(_(e,124),Pe(e,t)):(_(e,123),Fe(e,t));break;case`bigint`:_(e,122),Ie(e,t);break;case`object`:if(t===null)_(e,126);else if(ae(t)){_(e,117),v(e,t.length);for(let n=0;n<t.length;n++)ze(e,t[n])}else if(t instanceof Uint8Array)_(e,116),b(e,t);else{_(e,118);let n=Object.keys(t);v(e,n.length);for(let r=0;r<n.length;r++){let i=n[r];y(e,i),ze(e,t[i])}}break;case`boolean`:_(e,t?120:121);break;default:_(e,127)}},Be=class extends we{constructor(e){super(),this.w=e,this.s=null,this.count=0}write(e){this.s===e?this.count++:(this.count>0&&v(this,this.count-1),this.count=1,this.w(this,e),this.s=e)}},Ve=e=>{e.count>0&&(ke(e.encoder,e.count===1?e.s:-e.s),e.count>1&&v(e.encoder,e.count-2))},He=class{constructor(){this.encoder=new we,this.s=0,this.count=0}write(e){this.s===e?this.count++:(Ve(this),this.count=1,this.s=e)}toUint8Array(){return Ve(this),g(this.encoder)}},Ue=e=>{if(e.count>0){let t=e.diff*2+(e.count===1?0:1);ke(e.encoder,t),e.count>1&&v(e.encoder,e.count-2)}},We=class{constructor(){this.encoder=new we,this.s=0,this.count=0,this.diff=0}write(e){this.diff===e-this.s?(this.s=e,this.count++):(Ue(this),this.count=1,this.diff=e-this.s,this.s=e)}toUint8Array(){return Ue(this),g(this.encoder)}},Ge=class{constructor(){this.sarr=[],this.s=``,this.lensE=new He}write(e){this.s+=e,this.s.length>19&&(this.sarr.push(this.s),this.s=``),this.lensE.write(e.length)}toUint8Array(){let e=new we;return this.sarr.push(this.s),this.s=``,y(e,this.sarr.join(``)),Me(e,this.lensE.toUint8Array()),g(e)}},x=e=>Error(e),S=()=>{throw x(`Method unimplemented`)},C=()=>{throw x(`Unexpected case`)},Ke=x(`Unexpected end of array`),qe=x(`Integer out of Range`),Je=class{constructor(e){this.arr=e,this.pos=0}},Ye=e=>new Je(e),Xe=e=>e.pos!==e.arr.length,Ze=(e,t)=>{let n=new Uint8Array(e.arr.buffer,e.pos+e.arr.byteOffset,t);return e.pos+=t,n},w=e=>Ze(e,T(e)),Qe=e=>e.arr[e.pos++],T=e=>{let t=0,n=1,r=e.arr.length;for(;e.pos<r;){let r=e.arr[e.pos++];if(t+=(r&127)*n,n*=128,r<128)return t;if(t>ue)throw qe}throw Ke},$e=e=>{let t=e.arr[e.pos++],n=t&63,r=64,i=(t&64)>0?-1:1;if(!(t&128))return i*n;let a=e.arr.length;for(;e.pos<a;){if(t=e.arr[e.pos++],n+=(t&127)*r,r*=128,t<128)return i*n;if(n>ue)throw qe}throw Ke},et=Se?e=>Se.decode(w(e)):e=>{let t=T(e);if(t===0)return``;{let n=String.fromCodePoint(Qe(e));if(--t<100)for(;t--;)n+=String.fromCodePoint(Qe(e));else for(;t>0;){let r=t<1e4?t:1e4,i=e.arr.subarray(e.pos,e.pos+r);e.pos+=r,n+=String.fromCodePoint.apply(null,i),t-=r}return decodeURIComponent(escape(n))}},tt=(e,t)=>{let n=new DataView(e.arr.buffer,e.arr.byteOffset+e.pos,t);return e.pos+=t,n},nt=[e=>void 0,e=>null,$e,e=>tt(e,4).getFloat32(0,!1),e=>tt(e,8).getFloat64(0,!1),e=>tt(e,8).getBigInt64(0,!1),e=>!1,e=>!0,et,e=>{let t=T(e),n={};for(let r=0;r<t;r++){let t=et(e);n[t]=rt(e)}return n},e=>{let t=T(e),n=[];for(let r=0;r<t;r++)n.push(rt(e));return n},w],rt=e=>nt[127-Qe(e)](e),it=class extends Je{constructor(e,t){super(e),this.reader=t,this.s=null,this.count=0}read(){return this.count===0&&(this.s=this.reader(this),Xe(this)?this.count=T(this)+1:this.count=-1),this.count--,this.s}},at=class extends Je{constructor(e){super(e),this.s=0,this.count=0}read(){if(this.count===0){this.s=$e(this);let e=le(this.s);this.count=1,e&&(this.s=-this.s,this.count=T(this)+2)}return this.count--,this.s}},ot=class extends Je{constructor(e){super(e),this.s=0,this.count=0,this.diff=0}read(){if(this.count===0){let e=$e(this),t=e&1;this.diff=m(e/2),this.count=1,t&&(this.count=T(this)+2)}return this.s+=this.diff,this.count--,this.s}},st=class{constructor(e){this.decoder=new at(e),this.str=et(this.decoder),this.spos=0}read(){let e=this.spos+this.decoder.read(),t=this.str.slice(this.spos,e);return this.spos=e,t}};crypto.subtle;var ct=crypto.getRandomValues.bind(crypto),lt=()=>ct(new Uint32Array(1))[0],ut=`10000000-1000-4000-8000-100000000000`,dt=()=>ut.replace(/[018]/g,e=>(e^lt()&15>>e/4).toString(16)),ft=Date.now,pt=e=>new Promise(e);Promise.all.bind(Promise);var mt=e=>e===void 0?null:e,ht=new class{constructor(){this.map=new Map}setItem(e,t){this.map.set(e,t)}getItem(e){return this.map.get(e)}};try{typeof localStorage<`u`&&localStorage&&(ht=localStorage)}catch{}var gt=ht,_t=Symbol(`Equality`),vt=(e,t)=>e===t||!!e?.[_t]?.(t)||!1,yt=e=>typeof e==`object`,bt=Object.assign,xt=Object.keys,St=(e,t)=>{for(let n in e)t(e[n],n)},Ct=e=>xt(e).length,wt=e=>{for(let t in e)return!1;return!0},Tt=(e,t)=>{for(let n in e)if(!t(e[n],n))return!1;return!0},Et=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Dt=(e,t)=>e===t||Ct(e)===Ct(t)&&Tt(e,(e,n)=>(e!==void 0||Et(t,n))&&vt(t[n],e)),Ot=Object.freeze,kt=e=>{for(let t in e){let n=e[t];(typeof n==`object`||typeof n==`function`)&&kt(e[t])}return Ot(e)},At=(e,t,n=0)=>{try{for(;n<e.length;n++)e[n](...t)}finally{n<e.length&&At(e,t,n+1)}},jt=e=>e,Mt=(e,t)=>{if(e===t)return!0;if(e==null||t==null||e.constructor!==t.constructor&&(e.constructor||Object)!==(t.constructor||Object))return!1;if(e[_t]!=null)return e[_t](t);switch(e.constructor){case ArrayBuffer:e=new Uint8Array(e),t=new Uint8Array(t);case Uint8Array:if(e.byteLength!==t.byteLength)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;break;case Set:if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;break;case Map:if(e.size!==t.size)return!1;for(let n of e.keys())if(!t.has(n)||!Mt(e.get(n),t.get(n)))return!1;break;case void 0:case Object:if(Ct(e)!==Ct(t))return!1;for(let n in e)if(!Et(e,n)||!Mt(e[n],t[n]))return!1;break;case Array:if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Mt(e[n],t[n]))return!1;break;default:return!1}return!0},Nt=(e,t)=>t.includes(e),Pt=typeof process<`u`&&process.release&&/node|io\.js/.test(process.release.name)&&Object.prototype.toString.call(typeof process<`u`?process:0)===`[object process]`;typeof navigator<`u`&&/Mac/.test(navigator.platform);var E,Ft=[],It=()=>{if(E===void 0)if(Pt){E=s();let e=process.argv,t=null;for(let n=0;n<e.length;n++){let r=e[n];r[0]===`-`?(t!==null&&E.set(t,``),t=r):t===null?Ft.push(r):(E.set(t,r),t=null)}t!==null&&E.set(t,``)}else typeof location==`object`?(E=s(),(location.search||`?`).slice(1).split(`&`).forEach(e=>{if(e.length!==0){let[t,n]=e.split(`=`);E.set(`--${ve(t,`-`)}`,n),E.set(`-${ve(t,`-`)}`,n)}})):E=s();return E},Lt=e=>It().has(e),Rt=e=>mt(Pt?{}[e.toUpperCase().replaceAll(`-`,`_`)]:gt.getItem(e)),zt=e=>Lt(`--`+e)||Rt(e)!==null,Bt=zt(`production`),Vt=Pt&&Nt({}.FORCE_COLOR,[`true`,`1`,`2`])||!Lt(`--no-colors`)&&!zt(`no-color`)&&(!Pt||process.stdout.isTTY)&&(!Pt||Lt(`--color`)||Rt(`COLORTERM`)!==null||(Rt(`TERM`)||``).includes(`color`)),Ht=e=>new Uint8Array(e),Ut=e=>{let t=Ht(e.byteLength);return t.set(e),t},Wt=class{constructor(e,t){this.left=e,this.right=t}},D=(e,t)=>new Wt(e,t),Gt=e=>e.next()>=.5,Kt=(e,t,n)=>m(e.next()*(n+1-t)+t),qt=(e,t,n)=>m(e.next()*(n+1-t)+t),Jt=(e,t,n)=>qt(e,t,n),Yt=e=>pe(Jt(e,97,122)),Xt=(e,t=0,n=20)=>{let r=Jt(e,t,n),i=``;for(let t=0;t<r;t++)i+=Yt(e);return i},Zt=(e,t)=>t[Jt(e,0,t.length-1)],Qt=Symbol(`0schema`),$t=class{constructor(){this._rerrs=[]}extend(e,t,n,r=null){this._rerrs.push({path:e,expected:t,has:n,message:r})}toString(){let e=[];for(let t=this._rerrs.length-1;t>0;t--){let n=this._rerrs[t];e.push(Ce(` `,(this._rerrs.length-t)*2)+`${n.path==null?``:`[${n.path}] `}${n.has} doesn't match ${n.expected}. ${n.message}`)}return e.join(`
|
|
2
|
+
`)}},en=(e,t)=>e===t?!0:e==null||t==null||e.constructor!==t.constructor?!1:e[_t]?vt(e,t):ae(e)?ne(e,e=>re(t,t=>en(e,t))):yt(e)?Tt(e,(e,n)=>en(e,t[n])):!1,O=class{static _dilutes=!1;extends(e){let[t,n]=[this.shape,e.shape];return this.constructor._dilutes&&([n,t]=[t,n]),en(t,n)}equals(e){return this.constructor===e.constructor&&Mt(this.shape,e.shape)}[Qt](){return!0}[_t](e){return this.equals(e)}validate(e){return this.check(e)}check(e,t){S()}get nullable(){return j(this,Wn)}get optional(){return new un(this)}cast(e){return Jn(e,this),e}expect(e){return Jn(e,this),e}},tn=class extends O{constructor(e,t){super(),this.shape=e,this._c=t}check(e,t=void 0){let n=e?.constructor===this.shape&&(this._c==null||this._c(e));return!n&&t?.extend(null,this.shape.name,e?.constructor.name,e?.constructor===this.shape?`Check failed`:`Constructor match failed`),n}},k=(e,t=null)=>new tn(e,t);k(tn);var nn=class extends O{constructor(e){super(),this.shape=e}check(e,t){let n=this.shape(e);return!n&&t?.extend(null,`custom prop`,e?.constructor.name,`failed to check custom prop`),n}},A=e=>new nn(e);k(nn);var rn=class extends O{constructor(e){super(),this.shape=e}check(e,t){let n=this.shape.some(t=>t===e);return!n&&t?.extend(null,this.shape.join(` | `),e.toString()),n}},an=(...e)=>new rn(e),on=k(rn),sn=RegExp.escape||(e=>e.replace(/[().|&,$^[\]]/g,e=>`\\`+e)),cn=e=>{if(N.check(e))return[sn(e)];if(on.check(e))return e.shape.map(e=>e+``);if(zn.check(e))return[`[+-]?\\d+.?\\d*`];if(Bn.check(e))return[`.*`];if(Mn.check(e))return e.shape.map(cn).flat(1);C()};k(class extends O{constructor(e){super(),this.shape=e,this._r=RegExp(`^`+e.map(cn).map(e=>`(${e.join(`|`)})`).join(``)+`$`)}check(e,t){let n=this._r.exec(e)!=null;return!n&&t?.extend(null,this._r.toString(),e.toString(),`String doesn't match string template.`),n}});var ln=Symbol(`optional`),un=class extends O{constructor(e){super(),this.shape=e}check(e,t){let n=e===void 0||this.shape.check(e);return!n&&t?.extend(null,`undefined (optional)`,`()`),n}get[ln](){return!0}},dn=k(un),fn=class extends O{check(e,t){return t?.extend(null,`never`,typeof e),!1}};new fn,k(fn);var pn=class e extends O{constructor(e,t=!1){super(),this.shape=e,this._isPartial=t}static _dilutes=!0;get partial(){return new e(this.shape,!0)}check(e,t){return e==null?(t?.extend(null,`object`,`null`),!1):Tt(this.shape,(n,r)=>{let i=this._isPartial&&!Et(e,r)||n.check(e[r],t);return!i&&t?.extend(r.toString(),n.toString(),typeof e[r],`Object property does not match`),i})}},mn=e=>new pn(e),hn=k(pn),gn=A(e=>e!=null&&(e.constructor===Object||e.constructor==null)),_n=class extends O{constructor(e,t){super(),this.shape={keys:e,values:t}}check(e,t){return e!=null&&Tt(e,(n,r)=>{let i=this.shape.keys.check(r,t);return!i&&t?.extend(r+``,`Record`,typeof e,i?`Key doesn't match schema`:`Value doesn't match value`),i&&this.shape.values.check(n,t)})}},vn=(e,t)=>new _n(e,t),yn=k(_n),bn=class extends O{constructor(e){super(),this.shape=e}check(e,t){return e!=null&&Tt(this.shape,(n,r)=>{let i=n.check(e[r],t);return!i&&t?.extend(r.toString(),`Tuple`,typeof n),i})}},xn=(...e)=>new bn(e);k(bn);var Sn=class extends O{constructor(e){super(),this.shape=e.length===1?e[0]:new jn(e)}check(e,t){let n=ae(e)&&ne(e,e=>this.shape.check(e));return!n&&t?.extend(null,`Array`,``),n}},Cn=(...e)=>new Sn(e),wn=k(Sn),Tn=A(e=>ae(e)),En=class extends O{constructor(e,t){super(),this.shape=e,this._c=t}check(e,t){let n=e instanceof this.shape&&(this._c==null||this._c(e));return!n&&t?.extend(null,this.shape.name,e?.constructor.name),n}},Dn=(e,t=null)=>new En(e,t);k(En);var On=Dn(O),kn=k(class extends O{constructor(e){super(),this.len=e.length-1,this.args=xn(...e.slice(-1)),this.res=e[this.len]}check(e,t){let n=e.constructor===Function&&e.length<=this.len;return!n&&t?.extend(null,`function`,typeof e),n}}),An=A(e=>typeof e==`function`);k(class extends O{constructor(e){super(),this.shape=e}check(e,t){let n=ne(this.shape,n=>n.check(e,t));return!n&&t?.extend(null,`Intersectinon`,typeof e),n}},e=>e.shape.length>0);var jn=class extends O{static _dilutes=!0;constructor(e){super(),this.shape=e}check(e,t){let n=re(this.shape,n=>n.check(e,t));return t?.extend(null,`Union`,typeof e),n}},j=(...e)=>e.findIndex(e=>Mn.check(e))>=0?j(...e.map(e=>qn(e)).map(e=>Mn.check(e)?e.shape:[e]).flat(1)):e.length===1?e[0]:new jn(e),Mn=k(jn),Nn=()=>!0,Pn=A(Nn),Fn=k(nn,e=>e.shape===Nn),In=A(e=>typeof e==`bigint`),Ln=A(e=>e===In),Rn=A(e=>typeof e==`symbol`);A(e=>e===Rn);var M=A(e=>typeof e==`number`),zn=A(e=>e===M),N=A(e=>typeof e==`string`),Bn=A(e=>e===N),Vn=A(e=>typeof e==`boolean`),Hn=A(e=>e===Vn),Un=an(void 0);k(rn,e=>e.shape.length===1&&e.shape[0]===void 0),an(void 0);var Wn=an(null),Gn=k(rn,e=>e.shape.length===1&&e.shape[0]===null);k(Uint8Array),k(tn,e=>e.shape===Uint8Array);var Kn=j(M,N,Wn,Un,In,Vn,Rn);(()=>{let e=Cn(Pn),t=vn(N,Pn),n=j(M,N,Wn,Vn,e,t);return e.shape=n,t.shape.values=n,n})();var qn=e=>{if(On.check(e))return e;if(gn.check(e)){let t={};for(let n in e)t[n]=qn(e[n]);return mn(t)}else if(Tn.check(e))return j(...e.map(qn));else if(Kn.check(e))return an(e);else if(An.check(e))return k(e);C()},Jn=Bt?()=>{}:(e,t)=>{let n=new $t;if(!t.check(e,n))throw x(`Expected value to be of type ${t.constructor.name}.\n${n.toString()}`)},Yn=class{constructor(e){this.patterns=[],this.$state=e}if(e,t){return this.patterns.push({if:qn(e),h:t}),this}else(e){return this.if(Pn,e)}done(){return(e,t)=>{for(let n=0;n<this.patterns.length;n++){let r=this.patterns[n];if(r.if.check(e))return r.h(e,t)}throw x(`Unhandled pattern`)}}},Xn=(e=>new Yn(e))(Pn).if(zn,(e,t)=>Kt(t,de,ue)).if(Bn,(e,t)=>Xt(t)).if(Hn,(e,t)=>Gt(t)).if(Ln,(e,t)=>BigInt(Kt(t,de,ue))).if(Mn,(e,t)=>P(t,Zt(t,e.shape))).if(hn,(e,t)=>{let n={};for(let r in e.shape){let i=e.shape[r];if(dn.check(i)){if(Gt(t))continue;i=i.shape}n[r]=Xn(i,t)}return n}).if(wn,(e,t)=>{let n=[],r=qt(t,0,42);for(let i=0;i<r;i++)n.push(P(t,e.shape));return n}).if(on,(e,t)=>Zt(t,e.shape)).if(Gn,(e,t)=>null).if(kn,(e,t)=>{let n=P(t,e.res);return()=>n}).if(Fn,(e,t)=>P(t,Zt(t,[M,N,Wn,Un,In,Vn,Cn(M),vn(j(`a`,`b`,`c`),M)]))).if(yn,(e,t)=>{let n={},r=Kt(t,0,3);for(let i=0;i<r;i++){let r=P(t,e.shape.keys);n[r]=P(t,e.shape.values)}return n}).done(),P=(e,t)=>Xn(qn(t),e),F=typeof document<`u`?document:{};A(e=>e.nodeType===tr),typeof DOMParser<`u`&&new DOMParser,A(e=>e.nodeType===Qn),A(e=>e.nodeType===$n);var Zn=e=>u(e,(e,t)=>`${t}:${e};`).join(``),Qn=F.ELEMENT_NODE,$n=F.TEXT_NODE;F.CDATA_SECTION_NODE,F.COMMENT_NODE;var er=F.DOCUMENT_NODE;F.DOCUMENT_TYPE_NODE;var tr=F.DOCUMENT_FRAGMENT_NODE;A(e=>e.nodeType===er);var I=Symbol,nr=I(),rr=I(),ir=I(),ar=I(),or=I(),sr=I(),cr=I(),lr=I(),ur=I(),dr=e=>{e.length===1&&e[0]?.constructor===Function&&(e=e[0]());let t=[],n=[],r=0;for(;r<e.length;r++){let n=e[r];if(n===void 0)break;if(n.constructor===String||n.constructor===Number)t.push(n);else if(n.constructor===Object)break}for(r>0&&n.push(t.join(``));r<e.length;r++){let t=e[r];t instanceof Symbol||n.push(t)}return n};ft();var fr={[nr]:D(`font-weight`,`bold`),[rr]:D(`font-weight`,`normal`),[ir]:D(`color`,`blue`),[or]:D(`color`,`green`),[ar]:D(`color`,`grey`),[sr]:D(`color`,`red`),[cr]:D(`color`,`purple`),[lr]:D(`color`,`orange`),[ur]:D(`color`,`black`)},pr=Vt?e=>{e.length===1&&e[0]?.constructor===Function&&(e=e[0]());let t=[],n=[],r=s(),i=[],a=0;for(;a<e.length;a++){let i=e[a],o=fr[i];if(o!==void 0)r.set(o.left,o.right);else{if(i===void 0)break;if(i.constructor===String||i.constructor===Number){let e=Zn(r);a>0||e.length>0?(t.push(`%c`+i),n.push(e)):t.push(i)}else break}}for(a>0&&(i=n,i.unshift(t.join(``)));a<e.length;a++){let t=e[a];t instanceof Symbol||i.push(t)}return i}:dr,mr=(...e)=>{console.log(...pr(e)),gr.forEach(t=>t.print(e))},hr=(...e)=>{console.warn(...pr(e)),e.unshift(lr),gr.forEach(t=>t.print(e))},gr=f(),_r=e=>({[Symbol.iterator](){return this},next:e}),vr=(e,t)=>_r(()=>{let n;do n=e.next();while(!n.done&&!t(n.value));return n}),yr=(e,t)=>_r(()=>{let{done:n,value:r}=e.next();return{done:n,value:n?void 0:t(r)}}),br=class{constructor(e,t){this.clock=e,this.len=t}},xr=class{constructor(){this.clients=new Map}},Sr=(e,t,n)=>t.clients.forEach((t,r)=>{let i=e.doc.store.clients.get(r);if(i!=null){let r=i[i.length-1],a=r.id.clock+r.length;for(let r=0,o=t[r];r<t.length&&o.clock<a;o=t[++r])Ci(e,i,o.clock,o.len,n)}}),Cr=(e,t)=>{let n=0,r=e.length-1;for(;n<=r;){let i=m((n+r)/2),a=e[i],o=a.clock;if(o<=t){if(t<o+a.len)return i;n=i+1}else r=i-1}return null},wr=(e,t)=>{let n=e.clients.get(t.client);return n!==void 0&&Cr(n,t.clock)!==null},Tr=e=>{e.clients.forEach(e=>{e.sort((e,t)=>e.clock-t.clock);let t,n;for(t=1,n=1;t<e.length;t++){let r=e[n-1],i=e[t];r.clock+r.len>=i.clock?e[n-1]=new br(r.clock,h(r.len,i.clock+i.len-r.clock)):(n<t&&(e[n]=i),n++)}e.length=n})},Er=e=>{let t=new xr;for(let n=0;n<e.length;n++)e[n].clients.forEach((r,i)=>{if(!t.clients.has(i)){let a=r.slice();for(let t=n+1;t<e.length;t++)te(a,e[t].clients.get(i)||[]);t.clients.set(i,a)}});return Tr(t),t},Dr=(e,t,n,r)=>{l(e.clients,t,()=>[]).push(new br(n,r))},Or=()=>new xr,kr=e=>{let t=Or();return e.clients.forEach((e,n)=>{let r=[];for(let t=0;t<e.length;t++){let n=e[t];if(n.deleted){let i=n.id.clock,a=n.length;if(t+1<e.length)for(let n=e[t+1];t+1<e.length&&n.deleted;n=e[++t+1])a+=n.length;r.push(new br(i,a))}}r.length>0&&t.clients.set(n,r)}),t},Ar=(e,t)=>{v(e.restEncoder,t.clients.size),p(t.clients.entries()).sort((e,t)=>t[0]-e[0]).forEach(([t,n])=>{e.resetDsCurVal(),v(e.restEncoder,t);let r=n.length;v(e.restEncoder,r);for(let t=0;t<r;t++){let r=n[t];e.writeDsClock(r.clock),e.writeDsLen(r.len)}})},jr=e=>{let t=new xr,n=T(e.restDecoder);for(let r=0;r<n;r++){e.resetDsCurVal();let n=T(e.restDecoder),r=T(e.restDecoder);if(r>0){let i=l(t.clients,n,()=>[]);for(let t=0;t<r;t++)i.push(new br(e.readDsClock(),e.readDsLen()))}}return t},Mr=(e,t,n)=>{let r=new xr,i=T(e.restDecoder);for(let a=0;a<i;a++){e.resetDsCurVal();let i=T(e.restDecoder),a=T(e.restDecoder),o=n.clients.get(i)||[],s=z(n,i);for(let n=0;n<a;n++){let n=e.readDsClock(),a=n+e.readDsLen();if(n<s){s<a&&Dr(r,i,s,a-s);let e=B(o,n),c=o[e];for(!c.deleted&&c.id.clock<n&&(o.splice(e+1,0,To(t,c,n-c.id.clock)),e++);e<o.length&&(c=o[e++],c.id.clock<a);)c.deleted||(a<c.id.clock+c.length&&o.splice(e,0,To(t,c,a-c.id.clock)),c.delete(t))}else Dr(r,i,n,a-n)}}if(r.clients.size>0){let e=new L;return v(e.restEncoder,0),Ar(e,r),e.toUint8Array()}return null},Nr=lt,Pr=class e extends oe{constructor({guid:e=dt(),collectionid:t=null,gc:n=!0,gcFilter:r=()=>!0,meta:i=null,autoLoad:a=!1,shouldLoad:o=!0}={}){super(),this.gc=n,this.gcFilter=r,this.clientID=Nr(),this.guid=e,this.collectionid=t,this.share=new Map,this.store=new gi,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=o,this.autoLoad=a,this.meta=i,this.isLoaded=!1,this.isSynced=!1,this.isDestroyed=!1,this.whenLoaded=pt(e=>{this.on(`load`,()=>{this.isLoaded=!0,e(this)})});let s=()=>pt(e=>{let t=n=>{(n===void 0||n===!0)&&(this.off(`sync`,t),e())};this.on(`sync`,t)});this.on(`sync`,e=>{e===!1&&this.isSynced&&(this.whenSynced=s()),this.isSynced=e===void 0||e===!0,this.isSynced&&!this.isLoaded&&this.emit(`load`,[this])}),this.whenSynced=s()}load(){let e=this._item;e!==null&&!this.shouldLoad&&H(e.parent.doc,e=>{e.subdocsLoaded.add(this)},null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(p(this.subdocs).map(e=>e.guid))}transact(e,t=null){return H(this,e,t)}get(e,t=G){let n=l(this.share,e,()=>{let e=new t;return e._integrate(this,null),e}),r=n.constructor;if(t!==G&&r!==t)if(r===G){let r=new t;r._map=n._map,n._map.forEach(e=>{for(;e!==null;e=e.left)e.parent=r}),r._start=n._start;for(let e=r._start;e!==null;e=e.right)e.parent=r;return r._length=n._length,this.share.set(e,r),r._integrate(this,null),r}else throw Error(`Type with the name ${e} has already been defined with a different constructor`);return n}getArray(e=``){return this.get(e,ya)}getText(e=``){return this.get(e,za)}getMap(e=``){return this.get(e,Sa)}getXmlElement(e=``){return this.get(e,Wa)}getXmlFragment(e=``){return this.get(e,Ha)}toJSON(){let e={};return this.share.forEach((t,n)=>{e[n]=t.toJSON()}),e}destroy(){this.isDestroyed=!0,p(this.subdocs).forEach(e=>e.destroy());let t=this._item;if(t!==null){this._item=null;let n=t.content;n.doc=new e({guid:this.guid,...n.opts,shouldLoad:!1}),n.doc._item=t,H(t.parent.doc,e=>{let r=n.doc;t.deleted||e.subdocsAdded.add(r),e.subdocsRemoved.add(this)},null,!0)}this.emit(`destroyed`,[!0]),this.emit(`destroy`,[this]),super.destroy()}},Fr=class{constructor(e){this.restDecoder=e}resetDsCurVal(){}readDsClock(){return T(this.restDecoder)}readDsLen(){return T(this.restDecoder)}},Ir=class extends Fr{readLeftID(){return R(T(this.restDecoder),T(this.restDecoder))}readRightID(){return R(T(this.restDecoder),T(this.restDecoder))}readClient(){return T(this.restDecoder)}readInfo(){return Qe(this.restDecoder)}readString(){return et(this.restDecoder)}readParentInfo(){return T(this.restDecoder)===1}readTypeRef(){return T(this.restDecoder)}readLen(){return T(this.restDecoder)}readAny(){return rt(this.restDecoder)}readBuf(){return Ut(w(this.restDecoder))}readJSON(){return JSON.parse(et(this.restDecoder))}readKey(){return et(this.restDecoder)}},Lr=class{constructor(e){this.dsCurrVal=0,this.restDecoder=e}resetDsCurVal(){this.dsCurrVal=0}readDsClock(){return this.dsCurrVal+=T(this.restDecoder),this.dsCurrVal}readDsLen(){let e=T(this.restDecoder)+1;return this.dsCurrVal+=e,e}},Rr=class extends Lr{constructor(e){super(e),this.keys=[],T(e),this.keyClockDecoder=new ot(w(e)),this.clientDecoder=new at(w(e)),this.leftClockDecoder=new ot(w(e)),this.rightClockDecoder=new ot(w(e)),this.infoDecoder=new it(w(e),Qe),this.stringDecoder=new st(w(e)),this.parentInfoDecoder=new it(w(e),Qe),this.typeRefDecoder=new at(w(e)),this.lenDecoder=new at(w(e))}readLeftID(){return new ui(this.clientDecoder.read(),this.leftClockDecoder.read())}readRightID(){return new ui(this.clientDecoder.read(),this.rightClockDecoder.read())}readClient(){return this.clientDecoder.read()}readInfo(){return this.infoDecoder.read()}readString(){return this.stringDecoder.read()}readParentInfo(){return this.parentInfoDecoder.read()===1}readTypeRef(){return this.typeRefDecoder.read()}readLen(){return this.lenDecoder.read()}readAny(){return rt(this.restDecoder)}readBuf(){return w(this.restDecoder)}readJSON(){return rt(this.restDecoder)}readKey(){let e=this.keyClockDecoder.read();if(e<this.keys.length)return this.keys[e];{let e=this.stringDecoder.read();return this.keys.push(e),e}}},zr=class{constructor(){this.restEncoder=Te()}toUint8Array(){return g(this.restEncoder)}resetDsCurVal(){}writeDsClock(e){v(this.restEncoder,e)}writeDsLen(e){v(this.restEncoder,e)}},Br=class extends zr{writeLeftID(e){v(this.restEncoder,e.client),v(this.restEncoder,e.clock)}writeRightID(e){v(this.restEncoder,e.client),v(this.restEncoder,e.clock)}writeClient(e){v(this.restEncoder,e)}writeInfo(e){Oe(this.restEncoder,e)}writeString(e){y(this.restEncoder,e)}writeParentInfo(e){v(this.restEncoder,+!!e)}writeTypeRef(e){v(this.restEncoder,e)}writeLen(e){v(this.restEncoder,e)}writeAny(e){ze(this.restEncoder,e)}writeBuf(e){b(this.restEncoder,e)}writeJSON(e){y(this.restEncoder,JSON.stringify(e))}writeKey(e){y(this.restEncoder,e)}},Vr=class{constructor(){this.restEncoder=Te(),this.dsCurrVal=0}toUint8Array(){return g(this.restEncoder)}resetDsCurVal(){this.dsCurrVal=0}writeDsClock(e){let t=e-this.dsCurrVal;this.dsCurrVal=e,v(this.restEncoder,t)}writeDsLen(e){e===0&&C(),v(this.restEncoder,e-1),this.dsCurrVal+=e}},L=class extends Vr{constructor(){super(),this.keyMap=new Map,this.keyClock=0,this.keyClockEncoder=new We,this.clientEncoder=new He,this.leftClockEncoder=new We,this.rightClockEncoder=new We,this.infoEncoder=new Be(Oe),this.stringEncoder=new Ge,this.parentInfoEncoder=new Be(Oe),this.typeRefEncoder=new He,this.lenEncoder=new He}toUint8Array(){let e=Te();return v(e,0),b(e,this.keyClockEncoder.toUint8Array()),b(e,this.clientEncoder.toUint8Array()),b(e,this.leftClockEncoder.toUint8Array()),b(e,this.rightClockEncoder.toUint8Array()),b(e,g(this.infoEncoder)),b(e,this.stringEncoder.toUint8Array()),b(e,g(this.parentInfoEncoder)),b(e,this.typeRefEncoder.toUint8Array()),b(e,this.lenEncoder.toUint8Array()),Me(e,g(this.restEncoder)),g(e)}writeLeftID(e){this.clientEncoder.write(e.client),this.leftClockEncoder.write(e.clock)}writeRightID(e){this.clientEncoder.write(e.client),this.rightClockEncoder.write(e.clock)}writeClient(e){this.clientEncoder.write(e)}writeInfo(e){this.infoEncoder.write(e)}writeString(e){this.stringEncoder.write(e)}writeParentInfo(e){this.parentInfoEncoder.write(+!!e)}writeTypeRef(e){this.typeRefEncoder.write(e)}writeLen(e){this.lenEncoder.write(e)}writeAny(e){ze(this.restEncoder,e)}writeBuf(e){b(this.restEncoder,e)}writeJSON(e){ze(this.restEncoder,e)}writeKey(e){let t=this.keyMap.get(e);t===void 0?(this.keyClockEncoder.write(this.keyClock++),this.stringEncoder.write(e)):this.keyClockEncoder.write(t)}},Hr=(e,t,n,r)=>{r=h(r,t[0].id.clock);let i=B(t,r);v(e.restEncoder,t.length-i),e.writeClient(n),v(e.restEncoder,r);let a=t[i];a.write(e,r-a.id.clock);for(let n=i+1;n<t.length;n++)t[n].write(e,0)},Ur=(e,t,n)=>{let r=new Map;n.forEach((e,n)=>{z(t,n)>e&&r.set(n,e)}),_i(t).forEach((e,t)=>{n.has(t)||r.set(t,0)}),v(e.restEncoder,r.size),p(r.entries()).sort((e,t)=>t[0]-e[0]).forEach(([n,r])=>{Hr(e,t.clients.get(n),n,r)})},Wr=(e,t)=>{let n=s(),r=T(e.restDecoder);for(let i=0;i<r;i++){let r=T(e.restDecoder),i=Array(r),a=e.readClient(),o=T(e.restDecoder);n.set(a,{i:0,refs:i});for(let n=0;n<r;n++){let r=e.readInfo();switch(31&r){case 0:{let t=e.readLen();i[n]=new q(R(a,o),t),o+=t;break}case 10:{let t=T(e.restDecoder);i[n]=new Q(R(a,o),t),o+=t;break}default:{let s=(r&192)==0,c=new Z(R(a,o),null,(r&128)==128?e.readLeftID():null,null,(r&64)==64?e.readRightID():null,s?e.readParentInfo()?t.get(e.readString()):e.readLeftID():null,s&&(r&32)==32?e.readString():null,Eo(e,r));i[n]=c,o+=c.length}}}}return n},Gr=(e,t,n)=>{let r=[],i=p(n.keys()).sort((e,t)=>e-t);if(i.length===0)return null;let a=()=>{if(i.length===0)return null;let e=n.get(i[i.length-1]);for(;e.refs.length===e.i;)if(i.pop(),i.length>0)e=n.get(i[i.length-1]);else return null;return e},o=a();if(o===null)return null;let s=new gi,c=new Map,u=(e,t)=>{let n=c.get(e);(n==null||n>t)&&c.set(e,t)},d=o.refs[o.i++],f=new Map,ee=()=>{for(let e of r){let t=e.id.client,r=n.get(t);r?(r.i--,s.clients.set(t,r.refs.slice(r.i)),n.delete(t),r.i=0,r.refs=[]):s.clients.set(t,[e]),i=i.filter(e=>e!==t)}r.length=0};for(;;){if(d.constructor!==Q){let i=l(f,d.id.client,()=>z(t,d.id.client))-d.id.clock;if(i<0)r.push(d),u(d.id.client,d.id.clock-1),ee();else{let a=d.getMissing(e,t);if(a!==null){r.push(d);let e=n.get(a)||{refs:[],i:0};if(e.refs.length===e.i)u(a,z(t,a)),ee();else{d=e.refs[e.i++];continue}}else (i===0||i<d.length)&&(d.integrate(e,i),f.set(d.id.client,d.id.clock+d.length))}}if(r.length>0)d=r.pop();else if(o!==null&&o.i<o.refs.length)d=o.refs[o.i++];else{if(o=a(),o===null)break;d=o.refs[o.i++]}}if(s.clients.size>0){let e=new L;return Ur(e,s,new Map),v(e.restEncoder,0),{missing:c,update:e.toUint8Array()}}return null},Kr=(e,t)=>Ur(e,t.doc.store,t.beforeState),qr=(e,t,n,r=new Rr(e))=>H(t,e=>{e.local=!1;let t=!1,n=e.doc,i=n.store,a=Gr(e,i,Wr(r,n)),o=i.pendingStructs;if(o){for(let[e,n]of o.missing)if(n<z(i,e)){t=!0;break}if(a){for(let[e,t]of a.missing){let n=o.missing.get(e);(n==null||n>t)&&o.missing.set(e,t)}o.update=Ii([o.update,a.update])}}else i.pendingStructs=a;let s=Mr(r,e,i);if(i.pendingDs){let t=new Rr(Ye(i.pendingDs));T(t.restDecoder);let n=Mr(t,e,i);s&&n?i.pendingDs=Ii([s,n]):i.pendingDs=s||n}else i.pendingDs=s;if(t){let t=i.pendingStructs.update;i.pendingStructs=null,Jr(e.doc,t)}},n,!1),Jr=(e,t,n,r=Rr)=>{let i=Ye(t);qr(i,e,n,new r(i))},Yr=(e,t,n)=>Jr(e,t,n,Ir),Xr=(e,t,n=new Map)=>{Ur(e,t.store,n),Ar(e,kr(t.store))},Zr=(e,t=new Uint8Array([0]),n=new L)=>{Xr(n,e,ei(t));let r=[n.toUint8Array()];if(e.store.pendingDs&&r.push(e.store.pendingDs),e.store.pendingStructs&&r.push(Li(e.store.pendingStructs.update,t)),r.length>1){if(n.constructor===Br)return Pi(r.map((e,t)=>t===0?e:Vi(e)));if(n.constructor===L)return Ii(r)}return r[0]},Qr=(e,t)=>Zr(e,t,new Br),$r=e=>{let t=new Map,n=T(e.restDecoder);for(let r=0;r<n;r++){let n=T(e.restDecoder),r=T(e.restDecoder);t.set(n,r)}return t},ei=e=>$r(new Fr(Ye(e))),ti=(e,t)=>(v(e.restEncoder,t.size),p(t.entries()).sort((e,t)=>t[0]-e[0]).forEach(([t,n])=>{v(e.restEncoder,t),v(e.restEncoder,n)}),e),ni=(e,t)=>ti(e,_i(t.store)),ri=(e,t=new Vr)=>(e instanceof Map?ti(t,e):ni(t,e),t.toUint8Array()),ii=e=>ri(e,new zr),ai=class{constructor(){this.l=[]}},oi=()=>new ai,si=(e,t)=>e.l.push(t),ci=(e,t)=>{let n=e.l,r=n.length;e.l=n.filter(e=>t!==e),r===e.l.length&&console.error(`[yjs] Tried to remove event handler that doesn't exist.`)},li=(e,t,n)=>At(e.l,[t,n]),ui=class{constructor(e,t){this.client=e,this.clock=t}},di=(e,t)=>e===t||e!==null&&t!==null&&e.client===t.client&&e.clock===t.clock,R=(e,t)=>new ui(e,t),fi=e=>{for(let[t,n]of e.doc.share.entries())if(n===e)return t;throw C()},pi=class{constructor(e,t){this.ds=e,this.sv=t}};((e,t)=>new pi(e,t))(Or(),new Map);var mi=(e,t)=>t===void 0?!e.deleted:t.sv.has(e.id.client)&&(t.sv.get(e.id.client)||0)>e.id.clock&&!wr(t.ds,e.id),hi=(e,t)=>{let n=l(e.meta,hi,f),r=e.doc.store;n.has(t)||(t.sv.forEach((t,n)=>{t<z(r,n)&&V(e,R(n,t))}),Sr(e,t.ds,e=>{}),n.add(t))},gi=class{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}},_i=e=>{let t=new Map;return e.clients.forEach((e,n)=>{let r=e[e.length-1];t.set(n,r.id.clock+r.length)}),t},z=(e,t)=>{let n=e.clients.get(t);if(n===void 0)return 0;let r=n[n.length-1];return r.id.clock+r.length},vi=(e,t)=>{let n=e.clients.get(t.id.client);if(n===void 0)n=[],e.clients.set(t.id.client,n);else{let e=n[n.length-1];if(e.id.clock+e.length!==t.id.clock)throw C()}n.push(t)},B=(e,t)=>{let n=0,r=e.length-1,i=e[r],a=i.id.clock;if(a===t)return r;let o=m(t/(a+i.length-1)*r);for(;n<=r;){if(i=e[o],a=i.id.clock,a<=t){if(t<a+i.length)return o;n=o+1}else r=o-1;o=m((n+r)/2)}throw C()},yi=(e,t)=>{let n=e.clients.get(t.client);return n[B(n,t.clock)]},bi=(e,t,n)=>{let r=B(t,n),i=t[r];return i.id.clock<n&&i instanceof Z?(t.splice(r+1,0,To(e,i,n-i.id.clock)),r+1):r},V=(e,t)=>{let n=e.doc.store.clients.get(t.client);return n[bi(e,n,t.clock)]},xi=(e,t,n)=>{let r=t.clients.get(n.client),i=B(r,n.clock),a=r[i];return n.clock!==a.id.clock+a.length-1&&a.constructor!==q&&r.splice(i+1,0,To(e,a,n.clock-a.id.clock+1)),a},Si=(e,t,n)=>{let r=e.clients.get(t.id.client);r[B(r,t.id.clock)]=n},Ci=(e,t,n,r,i)=>{if(r===0)return;let a=n+r,o=bi(e,t,n),s;do s=t[o++],a<s.id.clock+s.length&&bi(e,t,a),i(s);while(o<t.length&&t[o].id.clock<a)},wi=class{constructor(e,t,n){this.doc=e,this.deleteSet=new xr,this.beforeState=_i(e.store),this.afterState=new Map,this.changed=new Map,this.changedParentTypes=new Map,this._mergeStructs=[],this.origin=t,this.meta=new Map,this.local=n,this.subdocsAdded=new Set,this.subdocsRemoved=new Set,this.subdocsLoaded=new Set,this._needFormattingCleanup=!1}},Ti=(e,t)=>t.deleteSet.clients.size===0&&!d(t.afterState,(e,n)=>t.beforeState.get(n)!==e)?!1:(Tr(t.deleteSet),Kr(e,t),Ar(e,t.deleteSet),!0),Ei=(e,t,n)=>{let r=t._item;(r===null||r.id.clock<(e.beforeState.get(r.id.client)||0)&&!r.deleted)&&l(e.changed,t,f).add(n)},Di=(e,t)=>{let n=e[t],r=e[t-1],i=t;for(;i>0;n=r,r=e[--i-1]){if(r.deleted===n.deleted&&r.constructor===n.constructor&&r.mergeWith(n)){n instanceof Z&&n.parentSub!==null&&n.parent._map.get(n.parentSub)===n&&n.parent._map.set(n.parentSub,r);continue}break}let a=t-i;return a&&e.splice(t+1-a,a),a},Oi=(e,t,n)=>{for(let[r,i]of e.clients.entries()){let e=t.clients.get(r);for(let r=i.length-1;r>=0;r--){let a=i[r],o=a.clock+a.len;for(let r=B(e,a.clock),i=e[r];r<e.length&&i.id.clock<o;i=e[++r]){let i=e[r];if(a.clock+a.len<=i.id.clock)break;i instanceof Z&&i.deleted&&!i.keep&&n(i)&&i.gc(t,!1)}}}},ki=(e,t)=>{e.clients.forEach((e,n)=>{let r=t.clients.get(n);for(let t=e.length-1;t>=0;t--){let n=e[t],i=ce(r.length-1,1+B(r,n.clock+n.len-1));for(let e=i,t=r[e];e>0&&t.id.clock>=n.clock;t=r[e])e-=1+Di(r,e)}})},Ai=(e,t)=>{if(t<e.length){let n=e[t],r=n.doc,i=r.store,a=n.deleteSet,o=n._mergeStructs;try{Tr(a),n.afterState=_i(n.doc.store),r.emit(`beforeObserverCalls`,[n,r]);let e=[];n.changed.forEach((t,r)=>e.push(()=>{(r._item===null||!r._item.deleted)&&r._callObserver(n,t)})),e.push(()=>{n.changedParentTypes.forEach((t,r)=>{r._dEH.l.length>0&&(r._item===null||!r._item.deleted)&&(t=t.filter(e=>e.target._item===null||!e.target._item.deleted),t.forEach(e=>{e.currentTarget=r,e._path=null}),t.sort((e,t)=>e.path.length-t.path.length),e.push(()=>{li(r._dEH,t,n)}))}),e.push(()=>r.emit(`afterTransaction`,[n,r])),e.push(()=>{n._needFormattingCleanup&&Ia(n)})}),At(e,[])}finally{r.gc&&Oi(a,i,r.gcFilter),ki(a,i),n.afterState.forEach((e,t)=>{let r=n.beforeState.get(t)||0;if(r!==e){let e=i.clients.get(t),n=h(B(e,r),1);for(let t=e.length-1;t>=n;)t-=1+Di(e,t)}});for(let e=o.length-1;e>=0;e--){let{client:t,clock:n}=o[e].id,r=i.clients.get(t),a=B(r,n);a+1<r.length&&Di(r,a+1)>1||a>0&&Di(r,a)}if(!n.local&&n.afterState.get(r.clientID)!==n.beforeState.get(r.clientID)&&(mr(lr,nr,`[yjs] `,rr,sr,`Changed the client-id because another client seems to be using it.`),r.clientID=Nr()),r.emit(`afterTransactionCleanup`,[n,r]),r._observers.has(`update`)){let e=new Br;Ti(e,n)&&r.emit(`update`,[e.toUint8Array(),n.origin,r,n])}if(r._observers.has(`updateV2`)){let e=new L;Ti(e,n)&&r.emit(`updateV2`,[e.toUint8Array(),n.origin,r,n])}let{subdocsAdded:s,subdocsLoaded:c,subdocsRemoved:l}=n;(s.size>0||l.size>0||c.size>0)&&(s.forEach(e=>{e.clientID=r.clientID,e.collectionid??=r.collectionid,r.subdocs.add(e)}),l.forEach(e=>r.subdocs.delete(e)),r.emit(`subdocs`,[{loaded:c,added:s,removed:l},r,n]),l.forEach(e=>e.destroy())),e.length<=t+1?(r._transactionCleanups=[],r.emit(`afterAllTransactions`,[r,e])):Ai(e,t+1)}}},H=(e,t,n=null,r=!0)=>{let i=e._transactionCleanups,a=!1,o=null;e._transaction===null&&(a=!0,e._transaction=new wi(e,n,r),i.push(e._transaction),i.length===1&&e.emit(`beforeAllTransactions`,[e]),e.emit(`beforeTransaction`,[e._transaction,e]));try{o=t(e._transaction)}finally{if(a){let t=e._transaction===i[0];e._transaction=null,t&&Ai(i,0)}}return o};function*ji(e){let t=T(e.restDecoder);for(let n=0;n<t;n++){let t=T(e.restDecoder),n=e.readClient(),r=T(e.restDecoder);for(let i=0;i<t;i++){let t=e.readInfo();if(t===10){let t=T(e.restDecoder);yield new Q(R(n,r),t),r+=t}else if(31&t){let i=(t&192)==0,a=new Z(R(n,r),null,(t&128)==128?e.readLeftID():null,null,(t&64)==64?e.readRightID():null,i?e.readParentInfo()?e.readString():e.readLeftID():null,i&&(t&32)==32?e.readString():null,Eo(e,t));yield a,r+=a.length}else{let t=e.readLen();yield new q(R(n,r),t),r+=t}}}}var Mi=class{constructor(e,t){this.gen=ji(e),this.curr=null,this.done=!1,this.filterSkips=t,this.next()}next(){do this.curr=this.gen.next().value||null;while(this.filterSkips&&this.curr!==null&&this.curr.constructor===Q);return this.curr}},Ni=class{constructor(e){this.currClient=0,this.startClock=0,this.written=0,this.encoder=e,this.clientStructs=[]}},Pi=e=>Ii(e,Ir,Br),Fi=(e,t)=>{if(e.constructor===q){let{client:n,clock:r}=e.id;return new q(R(n,r+t),e.length-t)}else if(e.constructor===Q){let{client:n,clock:r}=e.id;return new Q(R(n,r+t),e.length-t)}else{let n=e,{client:r,clock:i}=n.id;return new Z(R(r,i+t),null,R(r,i+t-1),null,n.rightOrigin,n.parent,n.parentSub,n.content.splice(t))}},Ii=(e,t=Rr,n=L)=>{if(e.length===1)return e[0];let r=e.map(e=>new t(Ye(e))),i=r.map(e=>new Mi(e,!0)),a=null,o=new n,s=new Ni(o);for(;i=i.filter(e=>e.curr!==null),i.sort((e,t)=>{if(e.curr.id.client===t.curr.id.client){let n=e.curr.id.clock-t.curr.id.clock;return n===0?e.curr.constructor===t.curr.constructor?0:e.curr.constructor===Q?1:-1:n}else return t.curr.id.client-e.curr.id.client}),i.length!==0;){let e=i[0],t=e.curr.id.client;if(a!==null){let n=e.curr,r=!1;for(;n!==null&&n.id.clock+n.length<=a.struct.id.clock+a.struct.length&&n.id.client>=a.struct.id.client;)n=e.next(),r=!0;if(n===null||n.id.client!==t||r&&n.id.clock>a.struct.id.clock+a.struct.length)continue;if(t!==a.struct.id.client)U(s,a.struct,a.offset),a={struct:n,offset:0},e.next();else if(a.struct.id.clock+a.struct.length<n.id.clock)if(a.struct.constructor===Q)a.struct.length=n.id.clock+n.length-a.struct.id.clock;else{U(s,a.struct,a.offset);let e=n.id.clock-a.struct.id.clock-a.struct.length;a={struct:new Q(R(t,a.struct.id.clock+a.struct.length),e),offset:0}}else{let t=a.struct.id.clock+a.struct.length-n.id.clock;t>0&&(a.struct.constructor===Q?a.struct.length-=t:n=Fi(n,t)),a.struct.mergeWith(n)||(U(s,a.struct,a.offset),a={struct:n,offset:0},e.next())}}else a={struct:e.curr,offset:0},e.next();for(let n=e.curr;n!==null&&n.id.client===t&&n.id.clock===a.struct.id.clock+a.struct.length&&n.constructor!==Q;n=e.next())U(s,a.struct,a.offset),a={struct:n,offset:0}}return a!==null&&(U(s,a.struct,a.offset),a=null),zi(s),Ar(o,Er(r.map(e=>jr(e)))),o.toUint8Array()},Li=(e,t,n=Rr,r=L)=>{let i=ei(t),a=new r,o=new Ni(a),s=new n(Ye(e)),c=new Mi(s,!1);for(;c.curr;){let e=c.curr,t=e.id.client,n=i.get(t)||0;if(c.curr.constructor===Q){c.next();continue}if(e.id.clock+e.length>n)for(U(o,e,h(n-e.id.clock,0)),c.next();c.curr&&c.curr.id.client===t;)U(o,c.curr,0),c.next();else for(;c.curr&&c.curr.id.client===t&&c.curr.id.clock+c.curr.length<=n;)c.next()}return zi(o),Ar(a,jr(s)),a.toUint8Array()},Ri=e=>{e.written>0&&(e.clientStructs.push({written:e.written,restEncoder:g(e.encoder.restEncoder)}),e.encoder.restEncoder=Te(),e.written=0)},U=(e,t,n)=>{e.written>0&&e.currClient!==t.id.client&&Ri(e),e.written===0&&(e.currClient=t.id.client,e.encoder.writeClient(t.id.client),v(e.encoder.restEncoder,t.id.clock+n)),t.write(e.encoder,n),e.written++},zi=e=>{Ri(e);let t=e.encoder.restEncoder;v(t,e.clientStructs.length);for(let n=0;n<e.clientStructs.length;n++){let r=e.clientStructs[n];v(t,r.written),Me(t,r.restEncoder)}},Bi=(e,t,n,r)=>{let i=new n(Ye(e)),a=new Mi(i,!1),o=new r,s=new Ni(o);for(let e=a.curr;e!==null;e=a.next())U(s,t(e),0);return zi(s),Ar(o,jr(i)),o.toUint8Array()},Vi=e=>Bi(e,jt,Rr,Br),Hi=`You must not compute changes after the event-handler fired.`,Ui=class{constructor(e,t){this.target=e,this.currentTarget=e,this.transaction=t,this._changes=null,this._keys=null,this._delta=null,this._path=null}get path(){return this._path||=Wi(this.currentTarget,this.target)}deletes(e){return wr(this.transaction.deleteSet,e.id)}get keys(){if(this._keys===null){if(this.transaction.doc._transactionCleanups.length===0)throw x(Hi);let e=new Map,t=this.target;this.transaction.changed.get(t).forEach(n=>{if(n!==null){let r=t._map.get(n),i,a;if(this.adds(r)){let e=r.left;for(;e!==null&&this.adds(e);)e=e.left;if(this.deletes(r))if(e!==null&&this.deletes(e))i=`delete`,a=ee(e.content.getContent());else return;else e!==null&&this.deletes(e)?(i=`update`,a=ee(e.content.getContent())):(i=`add`,a=void 0)}else if(this.deletes(r))i=`delete`,a=ee(r.content.getContent());else return;e.set(n,{action:i,oldValue:a})}}),this._keys=e}return this._keys}get delta(){return this.changes.delta}adds(e){return e.id.clock>=(this.transaction.beforeState.get(e.id.client)||0)}get changes(){let e=this._changes;if(e===null){if(this.transaction.doc._transactionCleanups.length===0)throw x(Hi);let t=this.target,n=f(),r=f(),i=[];if(e={added:n,deleted:r,delta:i,keys:this.keys},this.transaction.changed.get(t).has(null)){let e=null,a=()=>{e&&i.push(e)};for(let i=t._start;i!==null;i=i.right)i.deleted?this.deletes(i)&&!this.adds(i)&&((e===null||e.delete===void 0)&&(a(),e={delete:0}),e.delete+=i.length,r.add(i)):this.adds(i)?((e===null||e.insert===void 0)&&(a(),e={insert:[]}),e.insert=e.insert.concat(i.content.getContent()),n.add(i)):((e===null||e.retain===void 0)&&(a(),e={retain:0}),e.retain+=i.length);e!==null&&e.retain===void 0&&a()}this._changes=e}return e}},Wi=(e,t)=>{let n=[];for(;t._item!==null&&t!==e;){if(t._item.parentSub!==null)n.unshift(t._item.parentSub);else{let e=0,r=t._item.parent._start;for(;r!==t._item&&r!==null;)!r.deleted&&r.countable&&(e+=r.length),r=r.right;n.unshift(e)}t=t._item.parent}return n},W=()=>{hr(`Invalid access: Add Yjs type to a document before reading data.`)},Gi=80,Ki=0,qi=class{constructor(e,t){e.marker=!0,this.p=e,this.index=t,this.timestamp=Ki++}},Ji=e=>{e.timestamp=Ki++},Yi=(e,t,n)=>{e.p.marker=!1,e.p=t,t.marker=!0,e.index=n,e.timestamp=Ki++},Xi=(e,t,n)=>{if(e.length>=Gi){let r=e.reduce((e,t)=>e.timestamp<t.timestamp?e:t);return Yi(r,t,n),r}else{let r=new qi(t,n);return e.push(r),r}},Zi=(e,t)=>{if(e._start===null||t===0||e._searchMarker===null)return null;let n=e._searchMarker.length===0?null:e._searchMarker.reduce((e,n)=>se(t-e.index)<se(t-n.index)?e:n),r=e._start,i=0;for(n!==null&&(r=n.p,i=n.index,Ji(n));r.right!==null&&i<t;){if(!r.deleted&&r.countable){if(t<i+r.length)break;i+=r.length}r=r.right}for(;r.left!==null&&i>t;)r=r.left,!r.deleted&&r.countable&&(i-=r.length);for(;r.left!==null&&r.left.id.client===r.id.client&&r.left.id.clock+r.left.length===r.id.clock;)r=r.left,!r.deleted&&r.countable&&(i-=r.length);return n!==null&&se(n.index-i)<r.parent.length/Gi?(Yi(n,r,i),n):Xi(e._searchMarker,r,i)},Qi=(e,t,n)=>{for(let r=e.length-1;r>=0;r--){let i=e[r];if(n>0){let t=i.p;for(t.marker=!1;t&&(t.deleted||!t.countable);)t=t.left,t&&!t.deleted&&t.countable&&(i.index-=t.length);if(t===null||t.marker===!0){e.splice(r,1);continue}i.p=t,t.marker=!0}(t<i.index||n>0&&t===i.index)&&(i.index=h(t,i.index+n))}},$i=(e,t,n)=>{let r=e,i=t.changedParentTypes;for(;l(i,e,()=>[]).push(n),e._item!==null;)e=e._item.parent;li(r._eH,n,t)},G=class{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=oi(),this._dEH=oi(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(e,t){this.doc=e,this._item=t}_copy(){throw S()}clone(){throw S()}_write(e){}get _first(){let e=this._start;for(;e!==null&&e.deleted;)e=e.right;return e}_callObserver(e,t){!e.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(e){si(this._eH,e)}observeDeep(e){si(this._dEH,e)}unobserve(e){ci(this._eH,e)}unobserveDeep(e){ci(this._dEH,e)}toJSON(){}},ea=(e,t,n)=>{e.doc??W(),t<0&&(t=e._length+t),n<0&&(n=e._length+n);let r=n-t,i=[],a=e._start;for(;a!==null&&r>0;){if(a.countable&&!a.deleted){let e=a.content.getContent();if(e.length<=t)t-=e.length;else{for(let n=t;n<e.length&&r>0;n++)i.push(e[n]),r--;t=0}}a=a.right}return i},ta=e=>{e.doc??W();let t=[],n=e._start;for(;n!==null;){if(n.countable&&!n.deleted){let e=n.content.getContent();for(let n=0;n<e.length;n++)t.push(e[n])}n=n.right}return t},na=(e,t)=>{let n=0,r=e._start;for(e.doc??W();r!==null;){if(r.countable&&!r.deleted){let i=r.content.getContent();for(let r=0;r<i.length;r++)t(i[r],n++,e)}r=r.right}},ra=(e,t)=>{let n=[];return na(e,(r,i)=>{n.push(t(r,i,e))}),n},ia=e=>{let t=e._start,n=null,r=0;return{[Symbol.iterator](){return this},next:()=>{if(n===null){for(;t!==null&&t.deleted;)t=t.right;if(t===null)return{done:!0,value:void 0};n=t.content.getContent(),r=0,t=t.right}let e=n[r++];return n.length<=r&&(n=null),{done:!1,value:e}}}},aa=(e,t)=>{e.doc??W();let n=Zi(e,t),r=e._start;for(n!==null&&(r=n.p,t-=n.index);r!==null;r=r.right)if(!r.deleted&&r.countable){if(t<r.length)return r.content.getContent()[t];t-=r.length}},oa=(e,t,n,r)=>{let i=n,a=e.doc,o=a.clientID,s=a.store,c=n===null?t._start:n.right,l=[],u=()=>{l.length>0&&(i=new Z(R(o,z(s,o)),i,i&&i.lastId,c,c&&c.id,t,null,new po(l)),i.integrate(e,0),l=[])};r.forEach(n=>{if(n===null)l.push(n);else switch(n.constructor){case Number:case Object:case Boolean:case Array:case String:l.push(n);break;default:switch(u(),n.constructor){case Uint8Array:case ArrayBuffer:i=new Z(R(o,z(s,o)),i,i&&i.lastId,c,c&&c.id,t,null,new $a(new Uint8Array(n))),i.integrate(e,0);break;case Pr:i=new Z(R(o,z(s,o)),i,i&&i.lastId,c,c&&c.id,t,null,new io(n)),i.integrate(e,0);break;default:if(n instanceof G)i=new Z(R(o,z(s,o)),i,i&&i.lastId,c,c&&c.id,t,null,new X(n)),i.integrate(e,0);else throw Error(`Unexpected content type in insert operation`)}}}),u()},sa=()=>x(`Length exceeded!`),ca=(e,t,n,r)=>{if(n>t._length)throw sa();if(n===0)return t._searchMarker&&Qi(t._searchMarker,n,r.length),oa(e,t,null,r);let i=n,a=Zi(t,n),o=t._start;for(a!==null&&(o=a.p,n-=a.index,n===0&&(o=o.prev,n+=o&&o.countable&&!o.deleted?o.length:0));o!==null;o=o.right)if(!o.deleted&&o.countable){if(n<=o.length){n<o.length&&V(e,R(o.id.client,o.id.clock+n));break}n-=o.length}return t._searchMarker&&Qi(t._searchMarker,i,r.length),oa(e,t,o,r)},la=(e,t,n)=>{let r=(t._searchMarker||[]).reduce((e,t)=>t.index>e.index?t:e,{index:0,p:t._start}).p;if(r)for(;r.right;)r=r.right;return oa(e,t,r,n)},ua=(e,t,n,r)=>{if(r===0)return;let i=n,a=r,o=Zi(t,n),s=t._start;for(o!==null&&(s=o.p,n-=o.index);s!==null&&n>0;s=s.right)!s.deleted&&s.countable&&(n<s.length&&V(e,R(s.id.client,s.id.clock+n)),n-=s.length);for(;r>0&&s!==null;)s.deleted||(r<s.length&&V(e,R(s.id.client,s.id.clock+r)),s.delete(e),r-=s.length),s=s.right;if(r>0)throw sa();t._searchMarker&&Qi(t._searchMarker,i,-a+r)},da=(e,t,n)=>{let r=t._map.get(n);r!==void 0&&r.delete(e)},fa=(e,t,n,r)=>{let i=t._map.get(n)||null,a=e.doc,o=a.clientID,s;if(r==null)s=new po([r]);else switch(r.constructor){case Number:case Object:case Boolean:case Array:case String:case Date:case BigInt:s=new po([r]);break;case Uint8Array:s=new $a(r);break;case Pr:s=new io(r);break;default:if(r instanceof G)s=new X(r);else throw Error(`Unexpected content type`)}new Z(R(o,z(a.store,o)),i,i&&i.lastId,null,null,t,n,s).integrate(e,0)},pa=(e,t)=>{e.doc??W();let n=e._map.get(t);return n!==void 0&&!n.deleted?n.content.getContent()[n.length-1]:void 0},ma=e=>{let t={};return e.doc??W(),e._map.forEach((e,n)=>{e.deleted||(t[n]=e.content.getContent()[e.length-1])}),t},ha=(e,t)=>{e.doc??W();let n=e._map.get(t);return n!==void 0&&!n.deleted},ga=(e,t)=>{let n={};return e._map.forEach((e,r)=>{let i=e;for(;i!==null&&(!t.sv.has(i.id.client)||i.id.clock>=(t.sv.get(i.id.client)||0));)i=i.left;i!==null&&mi(i,t)&&(n[r]=i.content.getContent()[i.length-1])}),n},_a=e=>(e.doc??W(),vr(e._map.entries(),e=>!e[1].deleted)),va=class extends Ui{},ya=class e extends G{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(t){let n=new e;return n.push(t),n}_integrate(e,t){super._integrate(e,t),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new e}clone(){let t=new e;return t.insert(0,this.toArray().map(e=>e instanceof G?e.clone():e)),t}get length(){return this.doc??W(),this._length}_callObserver(e,t){super._callObserver(e,t),$i(this,e,new va(this,e))}insert(e,t){this.doc===null?this._prelimContent.splice(e,0,...t):H(this.doc,n=>{ca(n,this,e,t)})}push(e){this.doc===null?this._prelimContent.push(...e):H(this.doc,t=>{la(t,this,e)})}unshift(e){this.insert(0,e)}delete(e,t=1){this.doc===null?this._prelimContent.splice(e,t):H(this.doc,n=>{ua(n,this,e,t)})}get(e){return aa(this,e)}toArray(){return ta(this)}slice(e=0,t=this.length){return ea(this,e,t)}toJSON(){return this.map(e=>e instanceof G?e.toJSON():e)}map(e){return ra(this,e)}forEach(e){na(this,e)}[Symbol.iterator](){return ia(this)}_write(e){e.writeTypeRef(_o)}},ba=e=>new ya,xa=class extends Ui{constructor(e,t,n){super(e,t),this.keysChanged=n}},Sa=class e extends G{constructor(e){super(),this._prelimContent=null,e===void 0?this._prelimContent=new Map:this._prelimContent=new Map(e)}_integrate(e,t){super._integrate(e,t),this._prelimContent.forEach((e,t)=>{this.set(t,e)}),this._prelimContent=null}_copy(){return new e}clone(){let t=new e;return this.forEach((e,n)=>{t.set(n,e instanceof G?e.clone():e)}),t}_callObserver(e,t){$i(this,e,new xa(this,e,t))}toJSON(){this.doc??W();let e={};return this._map.forEach((t,n)=>{if(!t.deleted){let r=t.content.getContent()[t.length-1];e[n]=r instanceof G?r.toJSON():r}}),e}get size(){return[..._a(this)].length}keys(){return yr(_a(this),e=>e[0])}values(){return yr(_a(this),e=>e[1].content.getContent()[e[1].length-1])}entries(){return yr(_a(this),e=>[e[0],e[1].content.getContent()[e[1].length-1]])}forEach(e){this.doc??W(),this._map.forEach((t,n)=>{t.deleted||e(t.content.getContent()[t.length-1],n,this)})}[Symbol.iterator](){return this.entries()}delete(e){this.doc===null?this._prelimContent.delete(e):H(this.doc,t=>{da(t,this,e)})}set(e,t){return this.doc===null?this._prelimContent.set(e,t):H(this.doc,n=>{fa(n,this,e,t)}),t}get(e){return pa(this,e)}has(e){return ha(this,e)}clear(){this.doc===null?this._prelimContent.clear():H(this.doc,e=>{this.forEach(function(t,n,r){da(e,r,n)})})}_write(e){e.writeTypeRef(vo)}},Ca=e=>new Sa,K=(e,t)=>e===t||typeof e==`object`&&typeof t==`object`&&e&&t&&Dt(e,t),wa=class{constructor(e,t,n,r){this.left=e,this.right=t,this.index=n,this.currentAttributes=r}forward(){switch(this.right===null&&C(),this.right.content.constructor){case J:this.right.deleted||Oa(this.currentAttributes,this.right.content);break;default:this.right.deleted||(this.index+=this.right.length);break}this.left=this.right,this.right=this.right.right}},Ta=(e,t,n)=>{for(;t.right!==null&&n>0;){switch(t.right.content.constructor){case J:t.right.deleted||Oa(t.currentAttributes,t.right.content);break;default:t.right.deleted||(n<t.right.length&&V(e,R(t.right.id.client,t.right.id.clock+n)),t.index+=t.right.length,n-=t.right.length);break}t.left=t.right,t.right=t.right.right}return t},Ea=(e,t,n,r)=>{let i=new Map,a=r?Zi(t,n):null;return a?Ta(e,new wa(a.p.left,a.p,a.index,i),n-a.index):Ta(e,new wa(null,t._start,0,i),n)},Da=(e,t,n,r)=>{for(;n.right!==null&&(n.right.deleted===!0||n.right.content.constructor===J&&K(r.get(n.right.content.key),n.right.content.value));)n.right.deleted||r.delete(n.right.content.key),n.forward();let i=e.doc,a=i.clientID;r.forEach((r,o)=>{let s=n.left,c=n.right,l=new Z(R(a,z(i.store,a)),s,s&&s.lastId,c,c&&c.id,t,null,new J(o,r));l.integrate(e,0),n.right=l,n.forward()})},Oa=(e,t)=>{let{key:n,value:r}=t;r===null?e.delete(n):e.set(n,r)},ka=(e,t)=>{for(;e.right!==null&&(e.right.deleted||e.right.content.constructor===J&&K(t[e.right.content.key]??null,e.right.content.value));)e.forward()},Aa=(e,t,n,r)=>{let i=e.doc,a=i.clientID,o=new Map;for(let s in r){let c=r[s],l=n.currentAttributes.get(s)??null;if(!K(l,c)){o.set(s,l);let{left:r,right:u}=n;n.right=new Z(R(a,z(i.store,a)),r,r&&r.lastId,u,u&&u.id,t,null,new J(s,c)),n.right.integrate(e,0),n.forward()}}return o},ja=(e,t,n,r,i)=>{n.currentAttributes.forEach((e,t)=>{i[t]===void 0&&(i[t]=null)});let a=e.doc,o=a.clientID;ka(n,i);let s=Aa(e,t,n,i),c=r.constructor===String?new Y(r):r instanceof G?new X(r):new oo(r),{left:l,right:u,index:d}=n;t._searchMarker&&Qi(t._searchMarker,n.index,c.getLength()),u=new Z(R(o,z(a.store,o)),l,l&&l.lastId,u,u&&u.id,t,null,c),u.integrate(e,0),n.right=u,n.index=d,n.forward(),Da(e,t,n,s)},Ma=(e,t,n,r,i)=>{let a=e.doc,o=a.clientID;ka(n,i);let s=Aa(e,t,n,i);iterationLoop:for(;n.right!==null&&(r>0||s.size>0&&(n.right.deleted||n.right.content.constructor===J));){if(!n.right.deleted)switch(n.right.content.constructor){case J:{let{key:t,value:a}=n.right.content,o=i[t];if(o!==void 0){if(K(o,a))s.delete(t);else{if(r===0)break iterationLoop;s.set(t,a)}n.right.delete(e)}else n.currentAttributes.set(t,a);break}default:r<n.right.length&&V(e,R(n.right.id.client,n.right.id.clock+r)),r-=n.right.length;break}n.forward()}if(r>0){let i=``;for(;r>0;r--)i+=`
|
|
3
|
+
`;n.right=new Z(R(o,z(a.store,o)),n.left,n.left&&n.left.lastId,n.right,n.right&&n.right.id,t,null,new Y(i)),n.right.integrate(e,0),n.forward()}Da(e,t,n,s)},Na=(e,t,n,r,i)=>{let a=t,o=s();for(;a&&(!a.countable||a.deleted);){if(!a.deleted&&a.content.constructor===J){let e=a.content;o.set(e.key,e)}a=a.right}let c=0,l=!1;for(;t!==a;){if(n===t&&(l=!0),!t.deleted){let n=t.content;switch(n.constructor){case J:{let{key:a,value:s}=n,u=r.get(a)??null;(o.get(a)!==n||u===s)&&(t.delete(e),c++,!l&&(i.get(a)??null)===s&&u!==s&&(u===null?i.delete(a):i.set(a,u))),!l&&!t.deleted&&Oa(i,n);break}}}t=t.right}return c},Pa=(e,t)=>{for(;t&&t.right&&(t.right.deleted||!t.right.countable);)t=t.right;let n=new Set;for(;t&&(t.deleted||!t.countable);){if(!t.deleted&&t.content.constructor===J){let r=t.content.key;n.has(r)?t.delete(e):n.add(r)}t=t.left}},Fa=e=>{let t=0;return H(e.doc,n=>{let r=e._start,i=e._start,a=s(),o=c(a);for(;i;){if(i.deleted===!1)switch(i.content.constructor){case J:Oa(o,i.content);break;default:t+=Na(n,r,i,a,o),a=c(o),r=i;break}i=i.right}}),t},Ia=e=>{let t=new Set,n=e.doc;for(let[r,i]of e.afterState.entries()){let a=e.beforeState.get(r)||0;i!==a&&Ci(e,n.store.clients.get(r),a,i,e=>{!e.deleted&&e.content.constructor===J&&e.constructor!==q&&t.add(e.parent)})}H(n,n=>{Sr(e,e.deleteSet,e=>{if(e instanceof q||!e.parent._hasFormatting||t.has(e.parent))return;let r=e.parent;e.content.constructor===J?t.add(r):Pa(n,e)});for(let e of t)Fa(e)})},La=(e,t,n)=>{let r=n,i=c(t.currentAttributes),a=t.right;for(;n>0&&t.right!==null;){if(t.right.deleted===!1)switch(t.right.content.constructor){case X:case oo:case Y:n<t.right.length&&V(e,R(t.right.id.client,t.right.id.clock+n)),n-=t.right.length,t.right.delete(e);break}t.forward()}a&&Na(e,a,t.right,i,t.currentAttributes);let o=(t.left||t.right).parent;return o._searchMarker&&Qi(o._searchMarker,t.index,-r+n),t},Ra=class extends Ui{constructor(e,t,n){super(e,t),this.childListChanged=!1,this.keysChanged=new Set,n.forEach(e=>{e===null?this.childListChanged=!0:this.keysChanged.add(e)})}get changes(){if(this._changes===null){let e={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=e}return this._changes}get delta(){if(this._delta===null){let e=this.target.doc,t=[];H(e,e=>{let n=new Map,r=new Map,i=this.target._start,a=null,o={},s=``,c=0,l=0,u=()=>{if(a!==null){let e=null;switch(a){case`delete`:l>0&&(e={delete:l}),l=0;break;case`insert`:(typeof s==`object`||s.length>0)&&(e={insert:s},n.size>0&&(e.attributes={},n.forEach((t,n)=>{t!==null&&(e.attributes[n]=t)}))),s=``;break;case`retain`:c>0&&(e={retain:c},wt(o)||(e.attributes=bt({},o))),c=0;break}e&&t.push(e),a=null}};for(;i!==null;){switch(i.content.constructor){case X:case oo:this.adds(i)?this.deletes(i)||(u(),a=`insert`,s=i.content.getContent()[0],u()):this.deletes(i)?(a!==`delete`&&(u(),a=`delete`),l+=1):i.deleted||(a!==`retain`&&(u(),a=`retain`),c+=1);break;case Y:this.adds(i)?this.deletes(i)||(a!==`insert`&&(u(),a=`insert`),s+=i.content.str):this.deletes(i)?(a!==`delete`&&(u(),a=`delete`),l+=i.length):i.deleted||(a!==`retain`&&(u(),a=`retain`),c+=i.length);break;case J:{let{key:t,value:s}=i.content;if(this.adds(i))this.deletes(i)||(K(n.get(t)??null,s)?s!==null&&i.delete(e):(a===`retain`&&u(),K(s,r.get(t)??null)?delete o[t]:o[t]=s));else if(this.deletes(i)){r.set(t,s);let e=n.get(t)??null;K(e,s)||(a===`retain`&&u(),o[t]=e)}else if(!i.deleted){r.set(t,s);let n=o[t];n!==void 0&&(K(n,s)?n!==null&&i.delete(e):(a===`retain`&&u(),s===null?delete o[t]:o[t]=s))}i.deleted||(a===`insert`&&u(),Oa(n,i.content));break}}i=i.right}for(u();t.length>0;){let e=t[t.length-1];if(e.retain!==void 0&&e.attributes===void 0)t.pop();else break}}),this._delta=t}return this._delta}},za=class e extends G{constructor(e){super(),this._pending=e===void 0?[]:[()=>this.insert(0,e)],this._searchMarker=[],this._hasFormatting=!1}get length(){return this.doc??W(),this._length}_integrate(e,t){super._integrate(e,t);try{this._pending.forEach(e=>e())}catch(e){console.error(e)}this._pending=null}_copy(){return new e}clone(){let t=new e;return t.applyDelta(this.toDelta()),t}_callObserver(e,t){super._callObserver(e,t);let n=new Ra(this,e,t);$i(this,e,n),!e.local&&this._hasFormatting&&(e._needFormattingCleanup=!0)}toString(){this.doc??W();let e=``,t=this._start;for(;t!==null;)!t.deleted&&t.countable&&t.content.constructor===Y&&(e+=t.content.str),t=t.right;return e}toJSON(){return this.toString()}applyDelta(e,{sanitize:t=!0}={}){this.doc===null?this._pending.push(()=>this.applyDelta(e)):H(this.doc,n=>{let r=new wa(null,this._start,0,new Map);for(let i=0;i<e.length;i++){let a=e[i];if(a.insert!==void 0){let o=!t&&typeof a.insert==`string`&&i===e.length-1&&r.right===null&&a.insert.slice(-1)===`
|
|
4
|
+
`?a.insert.slice(0,-1):a.insert;(typeof o!=`string`||o.length>0)&&ja(n,this,r,o,a.attributes||{})}else a.retain===void 0?a.delete!==void 0&&La(n,r,a.delete):Ma(n,this,r,a.retain,a.attributes||{})}})}toDelta(e,t,n){this.doc??W();let r=[],i=new Map,a=this.doc,o=``,s=this._start;function c(){if(o.length>0){let e={},t=!1;i.forEach((n,r)=>{t=!0,e[r]=n});let n={insert:o};t&&(n.attributes=e),r.push(n),o=``}}let l=()=>{for(;s!==null;){if(mi(s,e)||t!==void 0&&mi(s,t))switch(s.content.constructor){case Y:{let r=i.get(`ychange`);e!==void 0&&!mi(s,e)?(r===void 0||r.user!==s.id.client||r.type!==`removed`)&&(c(),i.set(`ychange`,n?n(`removed`,s.id):{type:`removed`})):t!==void 0&&!mi(s,t)?(r===void 0||r.user!==s.id.client||r.type!==`added`)&&(c(),i.set(`ychange`,n?n(`added`,s.id):{type:`added`})):r!==void 0&&(c(),i.delete(`ychange`)),o+=s.content.str;break}case X:case oo:{c();let e={insert:s.content.getContent()[0]};if(i.size>0){let t={};e.attributes=t,i.forEach((e,n)=>{t[n]=e})}r.push(e);break}case J:mi(s,e)&&(c(),Oa(i,s.content));break}s=s.right}c()};return e||t?H(a,n=>{e&&hi(n,e),t&&hi(n,t),l()},`cleanup`):l(),r}insert(e,t,n){if(t.length<=0)return;let r=this.doc;r===null?this._pending.push(()=>this.insert(e,t,n)):H(r,r=>{let i=Ea(r,this,e,!n);n||(n={},i.currentAttributes.forEach((e,t)=>{n[t]=e})),ja(r,this,i,t,n)})}insertEmbed(e,t,n){let r=this.doc;r===null?this._pending.push(()=>this.insertEmbed(e,t,n||{})):H(r,r=>{let i=Ea(r,this,e,!n);ja(r,this,i,t,n||{})})}delete(e,t){if(t===0)return;let n=this.doc;n===null?this._pending.push(()=>this.delete(e,t)):H(n,n=>{La(n,Ea(n,this,e,!0),t)})}format(e,t,n){if(t===0)return;let r=this.doc;r===null?this._pending.push(()=>this.format(e,t,n)):H(r,r=>{let i=Ea(r,this,e,!1);i.right!==null&&Ma(r,this,i,t,n)})}removeAttribute(e){this.doc===null?this._pending.push(()=>this.removeAttribute(e)):H(this.doc,t=>{da(t,this,e)})}setAttribute(e,t){this.doc===null?this._pending.push(()=>this.setAttribute(e,t)):H(this.doc,n=>{fa(n,this,e,t)})}getAttribute(e){return pa(this,e)}getAttributes(){return ma(this)}_write(e){e.writeTypeRef(yo)}},Ba=e=>new za,Va=class{constructor(e,t=()=>!0){this._filter=t,this._root=e,this._currentNode=e._start,this._firstCall=!0,e.doc??W()}[Symbol.iterator](){return this}next(){let e=this._currentNode,t=e&&e.content&&e.content.type;if(e!==null&&(!this._firstCall||e.deleted||!this._filter(t)))do if(t=e.content.type,!e.deleted&&(t.constructor===Wa||t.constructor===Ha)&&t._start!==null)e=t._start;else for(;e!==null;){let t=e.next;if(t!==null){e=t;break}else e=e.parent===this._root?null:e.parent._item}while(e!==null&&(e.deleted||!this._filter(e.content.type)));return this._firstCall=!1,e===null?{value:void 0,done:!0}:(this._currentNode=e,{value:e.content.type,done:!1})}},Ha=class e extends G{constructor(){super(),this._prelimContent=[]}get firstChild(){let e=this._first;return e?e.content.getContent()[0]:null}_integrate(e,t){super._integrate(e,t),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new e}clone(){let t=new e;return t.insert(0,this.toArray().map(e=>e instanceof G?e.clone():e)),t}get length(){return this.doc??W(),this._prelimContent===null?this._length:this._prelimContent.length}createTreeWalker(e){return new Va(this,e)}querySelector(e){e=e.toUpperCase();let t=new Va(this,t=>t.nodeName&&t.nodeName.toUpperCase()===e).next();return t.done?null:t.value}querySelectorAll(e){return e=e.toUpperCase(),p(new Va(this,t=>t.nodeName&&t.nodeName.toUpperCase()===e))}_callObserver(e,t){$i(this,e,new Ka(this,t,e))}toString(){return ra(this,e=>e.toString()).join(``)}toJSON(){return this.toString()}toDOM(e=document,t={},n){let r=e.createDocumentFragment();return n!==void 0&&n._createAssociation(r,this),na(this,i=>{r.insertBefore(i.toDOM(e,t,n),null)}),r}insert(e,t){this.doc===null?this._prelimContent.splice(e,0,...t):H(this.doc,n=>{ca(n,this,e,t)})}insertAfter(e,t){if(this.doc!==null)H(this.doc,n=>{let r=e&&e instanceof G?e._item:e;oa(n,this,r,t)});else{let n=this._prelimContent,r=e===null?0:n.findIndex(t=>t===e)+1;if(r===0&&e!==null)throw x(`Reference item not found`);n.splice(r,0,...t)}}delete(e,t=1){this.doc===null?this._prelimContent.splice(e,t):H(this.doc,n=>{ua(n,this,e,t)})}toArray(){return ta(this)}push(e){this.insert(this.length,e)}unshift(e){this.insert(0,e)}get(e){return aa(this,e)}slice(e=0,t=this.length){return ea(this,e,t)}forEach(e){na(this,e)}_write(e){e.writeTypeRef(xo)}},Ua=e=>new Ha,Wa=class e extends Ha{constructor(e=`UNDEFINED`){super(),this.nodeName=e,this._prelimAttrs=new Map}get nextSibling(){let e=this._item?this._item.next:null;return e?e.content.type:null}get prevSibling(){let e=this._item?this._item.prev:null;return e?e.content.type:null}_integrate(e,t){super._integrate(e,t),this._prelimAttrs.forEach((e,t)=>{this.setAttribute(t,e)}),this._prelimAttrs=null}_copy(){return new e(this.nodeName)}clone(){let t=new e(this.nodeName);return St(this.getAttributes(),(e,n)=>{t.setAttribute(n,e)}),t.insert(0,this.toArray().map(e=>e instanceof G?e.clone():e)),t}toString(){let e=this.getAttributes(),t=[],n=[];for(let t in e)n.push(t);n.sort();let r=n.length;for(let i=0;i<r;i++){let r=n[i];t.push(r+`="`+e[r]+`"`)}let i=this.nodeName.toLocaleLowerCase();return`<${i}${t.length>0?` `+t.join(` `):``}>${super.toString()}</${i}>`}removeAttribute(e){this.doc===null?this._prelimAttrs.delete(e):H(this.doc,t=>{da(t,this,e)})}setAttribute(e,t){this.doc===null?this._prelimAttrs.set(e,t):H(this.doc,n=>{fa(n,this,e,t)})}getAttribute(e){return pa(this,e)}hasAttribute(e){return ha(this,e)}getAttributes(e){return e?ga(this,e):ma(this)}toDOM(e=document,t={},n){let r=e.createElement(this.nodeName),i=this.getAttributes();for(let e in i){let t=i[e];typeof t==`string`&&r.setAttribute(e,t)}return na(this,i=>{r.appendChild(i.toDOM(e,t,n))}),n!==void 0&&n._createAssociation(r,this),r}_write(e){e.writeTypeRef(bo),e.writeKey(this.nodeName)}},Ga=e=>new Wa(e.readKey()),Ka=class extends Ui{constructor(e,t,n){super(e,n),this.childListChanged=!1,this.attributesChanged=new Set,t.forEach(e=>{e===null?this.childListChanged=!0:this.attributesChanged.add(e)})}},qa=class e extends Sa{constructor(e){super(),this.hookName=e}_copy(){return new e(this.hookName)}clone(){let t=new e(this.hookName);return this.forEach((e,n)=>{t.set(n,e)}),t}toDOM(e=document,t={},n){let r=t[this.hookName],i;return i=r===void 0?document.createElement(this.hookName):r.createDom(this),i.setAttribute(`data-yjs-hook`,this.hookName),n!==void 0&&n._createAssociation(i,this),i}_write(e){e.writeTypeRef(So),e.writeKey(this.hookName)}},Ja=e=>new qa(e.readKey()),Ya=class e extends za{get nextSibling(){let e=this._item?this._item.next:null;return e?e.content.type:null}get prevSibling(){let e=this._item?this._item.prev:null;return e?e.content.type:null}_copy(){return new e}clone(){let t=new e;return t.applyDelta(this.toDelta()),t}toDOM(e=document,t,n){let r=e.createTextNode(this.toString());return n!==void 0&&n._createAssociation(r,this),r}toString(){return this.toDelta().map(e=>{let t=[];for(let n in e.attributes){let r=[];for(let t in e.attributes[n])r.push({key:t,value:e.attributes[n][t]});r.sort((e,t)=>e.key<t.key?-1:1),t.push({nodeName:n,attrs:r})}t.sort((e,t)=>e.nodeName<t.nodeName?-1:1);let n=``;for(let e=0;e<t.length;e++){let r=t[e];n+=`<${r.nodeName}`;for(let e=0;e<r.attrs.length;e++){let t=r.attrs[e];n+=` ${t.key}="${t.value}"`}n+=`>`}n+=e.insert;for(let e=t.length-1;e>=0;e--)n+=`</${t[e].nodeName}>`;return n}).join(``)}toJSON(){return this.toString()}_write(e){e.writeTypeRef(Co)}},Xa=e=>new Ya,Za=class{constructor(e,t){this.id=e,this.length=t}get deleted(){throw S()}mergeWith(e){return!1}write(e,t,n){throw S()}integrate(e,t){throw S()}},Qa=0,q=class extends Za{get deleted(){return!0}delete(){}mergeWith(e){return this.constructor===e.constructor?(this.length+=e.length,!0):!1}integrate(e,t){t>0&&(this.id.clock+=t,this.length-=t),vi(e.doc.store,this)}write(e,t){e.writeInfo(Qa),e.writeLen(this.length-t)}getMissing(e,t){return null}},$a=class e{constructor(e){this.content=e}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new e(this.content)}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){}delete(e){}gc(e){}write(e,t){e.writeBuf(this.content)}getRef(){return 3}},eo=e=>new $a(e.readBuf()),to=class e{constructor(e){this.len=e}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new e(this.len)}splice(t){let n=new e(this.len-t);return this.len=t,n}mergeWith(e){return this.len+=e.len,!0}integrate(e,t){Dr(e.deleteSet,t.id.client,t.id.clock,this.len),t.markDeleted()}delete(e){}gc(e){}write(e,t){e.writeLen(this.len-t)}getRef(){return 1}},no=e=>new to(e.readLen()),ro=(e,t)=>new Pr({guid:e,...t,shouldLoad:t.shouldLoad||t.autoLoad||!1}),io=class e{constructor(e){e._item&&console.error(`This document was already integrated as a sub-document. You should create a second instance instead with the same guid.`),this.doc=e;let t={};this.opts=t,e.gc||(t.gc=!1),e.autoLoad&&(t.autoLoad=!0),e.meta!==null&&(t.meta=e.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new e(ro(this.doc.guid,this.opts))}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){this.doc._item=t,e.subdocsAdded.add(this.doc),this.doc.shouldLoad&&e.subdocsLoaded.add(this.doc)}delete(e){e.subdocsAdded.has(this.doc)?e.subdocsAdded.delete(this.doc):e.subdocsRemoved.add(this.doc)}gc(e){}write(e,t){e.writeString(this.doc.guid),e.writeAny(this.opts)}getRef(){return 9}},ao=e=>new io(ro(e.readString(),e.readAny())),oo=class e{constructor(e){this.embed=e}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new e(this.embed)}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){}delete(e){}gc(e){}write(e,t){e.writeJSON(this.embed)}getRef(){return 5}},so=e=>new oo(e.readJSON()),J=class e{constructor(e,t){this.key=e,this.value=t}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new e(this.key,this.value)}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){let n=t.parent;n._searchMarker=null,n._hasFormatting=!0}delete(e){}gc(e){}write(e,t){e.writeKey(this.key),e.writeJSON(this.value)}getRef(){return 6}},co=e=>new J(e.readKey(),e.readJSON()),lo=class e{constructor(e){this.arr=e}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new e(this.arr)}splice(t){let n=new e(this.arr.slice(t));return this.arr=this.arr.slice(0,t),n}mergeWith(e){return this.arr=this.arr.concat(e.arr),!0}integrate(e,t){}delete(e){}gc(e){}write(e,t){let n=this.arr.length;e.writeLen(n-t);for(let r=t;r<n;r++){let t=this.arr[r];e.writeString(t===void 0?`undefined`:JSON.stringify(t))}}getRef(){return 2}},uo=e=>{let t=e.readLen(),n=[];for(let r=0;r<t;r++){let t=e.readString();t===`undefined`?n.push(void 0):n.push(JSON.parse(t))}return new lo(n)},fo=Rt(`node_env`)===`development`,po=class e{constructor(e){this.arr=e,fo&&kt(e)}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new e(this.arr)}splice(t){let n=new e(this.arr.slice(t));return this.arr=this.arr.slice(0,t),n}mergeWith(e){return this.arr=this.arr.concat(e.arr),!0}integrate(e,t){}delete(e){}gc(e){}write(e,t){let n=this.arr.length;e.writeLen(n-t);for(let r=t;r<n;r++){let t=this.arr[r];e.writeAny(t)}}getRef(){return 8}},mo=e=>{let t=e.readLen(),n=[];for(let r=0;r<t;r++)n.push(e.readAny());return new po(n)},Y=class e{constructor(e){this.str=e}getLength(){return this.str.length}getContent(){return this.str.split(``)}isCountable(){return!0}copy(){return new e(this.str)}splice(t){let n=new e(this.str.slice(t));this.str=this.str.slice(0,t);let r=this.str.charCodeAt(t-1);return r>=55296&&r<=56319&&(this.str=this.str.slice(0,t-1)+`�`,n.str=`�`+n.str.slice(1)),n}mergeWith(e){return this.str+=e.str,!0}integrate(e,t){}delete(e){}gc(e){}write(e,t){e.writeString(t===0?this.str:this.str.slice(t))}getRef(){return 4}},ho=e=>new Y(e.readString()),go=[ba,Ca,Ba,Ga,Ua,Ja,Xa],_o=0,vo=1,yo=2,bo=3,xo=4,So=5,Co=6,X=class e{constructor(e){this.type=e}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new e(this.type._copy())}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){this.type._integrate(e.doc,t)}delete(e){let t=this.type._start;for(;t!==null;)t.deleted?t.id.clock<(e.beforeState.get(t.id.client)||0)&&e._mergeStructs.push(t):t.delete(e),t=t.right;this.type._map.forEach(t=>{t.deleted?t.id.clock<(e.beforeState.get(t.id.client)||0)&&e._mergeStructs.push(t):t.delete(e)}),e.changed.delete(this.type)}gc(e){let t=this.type._start;for(;t!==null;)t.gc(e,!0),t=t.right;this.type._start=null,this.type._map.forEach(t=>{for(;t!==null;)t.gc(e,!0),t=t.left}),this.type._map=new Map}write(e,t){this.type._write(e)}getRef(){return 7}},wo=e=>new X(go[e.readTypeRef()](e)),To=(e,t,n)=>{let{client:r,clock:i}=t.id,a=new Z(R(r,i+n),t,R(r,i+n-1),t.right,t.rightOrigin,t.parent,t.parentSub,t.content.splice(n));return t.deleted&&a.markDeleted(),t.keep&&(a.keep=!0),t.redone!==null&&(a.redone=R(t.redone.client,t.redone.clock+n)),t.right=a,a.right!==null&&(a.right.left=a),e._mergeStructs.push(a),a.parentSub!==null&&a.right===null&&a.parent._map.set(a.parentSub,a),t.length=n,a},Z=class e extends Za{constructor(e,t,n,r,i,a,o,s){super(e,s.getLength()),this.origin=n,this.left=t,this.right=r,this.rightOrigin=i,this.parent=a,this.parentSub=o,this.redone=null,this.content=s,this.info=this.content.isCountable()?2:0}set marker(e){(this.info&8)>0!==e&&(this.info^=8)}get marker(){return(this.info&8)>0}get keep(){return(this.info&1)>0}set keep(e){this.keep!==e&&(this.info^=1)}get countable(){return(this.info&2)>0}get deleted(){return(this.info&4)>0}set deleted(e){this.deleted!==e&&(this.info^=4)}markDeleted(){this.info|=4}getMissing(t,n){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=z(n,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=z(n,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===ui&&this.id.client!==this.parent.client&&this.parent.clock>=z(n,this.parent.client))return this.parent.client;if(this.origin&&=(this.left=xi(t,n,this.origin),this.left.lastId),this.rightOrigin&&=(this.right=V(t,this.rightOrigin),this.right.id),this.left&&this.left.constructor===q||this.right&&this.right.constructor===q)this.parent=null;else if(!this.parent)this.left&&this.left.constructor===e?(this.parent=this.left.parent,this.parentSub=this.left.parentSub):this.right&&this.right.constructor===e&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);else if(this.parent.constructor===ui){let e=yi(n,this.parent);e.constructor===q?this.parent=null:this.parent=e.content.type}return null}integrate(e,t){if(t>0&&(this.id.clock+=t,this.left=xi(e,e.doc.store,R(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(t),this.length-=t),this.parent){if(!this.left&&(!this.right||this.right.left!==null)||this.left&&this.left.right!==this.right){let t=this.left,n;if(t!==null)n=t.right;else if(this.parentSub!==null)for(n=this.parent._map.get(this.parentSub)||null;n!==null&&n.left!==null;)n=n.left;else n=this.parent._start;let r=new Set,i=new Set;for(;n!==null&&n!==this.right;){if(i.add(n),r.add(n),di(this.origin,n.origin)){if(n.id.client<this.id.client)t=n,r.clear();else if(di(this.rightOrigin,n.rightOrigin))break}else if(n.origin!==null&&i.has(yi(e.doc.store,n.origin)))r.has(yi(e.doc.store,n.origin))||(t=n,r.clear());else break;n=n.right}this.left=t}if(this.left!==null){let e=this.left.right;this.right=e,this.left.right=this}else{let e;if(this.parentSub!==null)for(e=this.parent._map.get(this.parentSub)||null;e!==null&&e.left!==null;)e=e.left;else e=this.parent._start,this.parent._start=this;this.right=e}this.right===null?this.parentSub!==null&&(this.parent._map.set(this.parentSub,this),this.left!==null&&this.left.delete(e)):this.right.left=this,this.parentSub===null&&this.countable&&!this.deleted&&(this.parent._length+=this.length),vi(e.doc.store,this),this.content.integrate(e,this),Ei(e,this.parent,this.parentSub),(this.parent._item!==null&&this.parent._item.deleted||this.parentSub!==null&&this.right!==null)&&this.delete(e)}else new q(this.id,this.length).integrate(e,0)}get next(){let e=this.right;for(;e!==null&&e.deleted;)e=e.right;return e}get prev(){let e=this.left;for(;e!==null&&e.deleted;)e=e.left;return e}get lastId(){return this.length===1?this.id:R(this.id.client,this.id.clock+this.length-1)}mergeWith(e){if(this.constructor===e.constructor&&di(e.origin,this.lastId)&&this.right===e&&di(this.rightOrigin,e.rightOrigin)&&this.id.client===e.id.client&&this.id.clock+this.length===e.id.clock&&this.deleted===e.deleted&&this.redone===null&&e.redone===null&&this.content.constructor===e.content.constructor&&this.content.mergeWith(e.content)){let t=this.parent._searchMarker;return t&&t.forEach(t=>{t.p===e&&(t.p=this,!this.deleted&&this.countable&&(t.index-=this.length))}),e.keep&&(this.keep=!0),this.right=e.right,this.right!==null&&(this.right.left=this),this.length+=e.length,!0}return!1}delete(e){if(!this.deleted){let t=this.parent;this.countable&&this.parentSub===null&&(t._length-=this.length),this.markDeleted(),Dr(e.deleteSet,this.id.client,this.id.clock,this.length),Ei(e,t,this.parentSub),this.content.delete(e)}}gc(e,t){if(!this.deleted)throw C();this.content.gc(e),t?Si(e,this,new q(this.id,this.length)):this.content=new to(this.length)}write(e,t){let n=t>0?R(this.id.client,this.id.clock+t-1):this.origin,r=this.rightOrigin,i=this.parentSub,a=this.content.getRef()&31|(n===null?0:128)|(r===null?0:64)|(i===null?0:32);if(e.writeInfo(a),n!==null&&e.writeLeftID(n),r!==null&&e.writeRightID(r),n===null&&r===null){let t=this.parent;if(t._item!==void 0){let n=t._item;if(n===null){let n=fi(t);e.writeParentInfo(!0),e.writeString(n)}else e.writeParentInfo(!1),e.writeLeftID(n.id)}else t.constructor===String?(e.writeParentInfo(!0),e.writeString(t)):t.constructor===ui?(e.writeParentInfo(!1),e.writeLeftID(t)):C();i!==null&&e.writeString(i)}this.content.write(e,t)}},Eo=(e,t)=>Do[t&31](e),Do=[()=>{C()},no,uo,eo,ho,so,co,wo,mo,ao,()=>{C()}],Oo=10,Q=class extends Za{get deleted(){return!0}delete(){}mergeWith(e){return this.constructor===e.constructor?(this.length+=e.length,!0):!1}integrate(e,t){C()}write(e,t){e.writeInfo(Oo),v(e.restEncoder,this.length-t)}getMissing(e,t){return null}},ko=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:{},Ao=`__ $YJS$ __`;ko[Ao]===!0&&console.error(`Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438`),ko[Ao]=!0;var jo=new TextEncoder,Mo=new TextDecoder,No=(e,t)=>{let n=jo.encode(JSON.stringify(t)),r=new Uint8Array(1+n.length);return r[0]=e,r.set(n,1),r},Po=e=>{if(e.kind===`sync_step1`){let t=new Uint8Array(1+e.stateVector.length);return t[0]=0,t.set(e.stateVector,1),t}if(e.kind===`sync_step2`){let t=new Uint8Array(1+e.update.length);return t[0]=1,t.set(e.update,1),t}if(e.kind===`update`){let t=new Uint8Array(1+e.update.length);return t[0]=2,t.set(e.update,1),t}return e.kind===`history_snapshot`?No(3,e.view):e.kind===`history_append`?No(4,{entry:e.entry,cursor:e.cursor}):e.kind===`history_jump`?No(5,{entryId:e.entryId}):No(6,{})},Fo=e=>{try{return JSON.parse(Mo.decode(e))}catch{return null}},Io=e=>{if(e.length<1)return null;let t=e[0],n=e.subarray(1);if(t===0)return{kind:`sync_step1`,stateVector:n};if(t===1)return{kind:`sync_step2`,update:n};if(t===2)return{kind:`update`,update:n};if(t===3){let e=Fo(n);return!e||!Array.isArray(e.entries)||typeof e.cursor!=`number`?null:{kind:`history_snapshot`,view:e}}if(t===4){let e=Fo(n);return!e||!e.entry||typeof e.cursor!=`number`?null:{kind:`history_append`,entry:e.entry,cursor:e.cursor}}if(t===5){let e=Fo(n);return!e||typeof e.entryId!=`string`?null:{kind:`history_jump`,entryId:e.entryId}}return t===6?{kind:`history_clear`}:null},Lo=`unspa.identity.name`,Ro=`unspa.identity.asked`,zo=40,Bo=`Anonymous`,Vo=e=>e.replace(/[^\p{L}\p{N} \-_.@'’]/gu,``).trim().slice(0,zo),Ho=new class{#e=t(``);get name(){return n(this.#e)}set name(t){e(this.#e,t,!0)}initialized=!1;init(){if(this.initialized||(this.initialized=!0,typeof localStorage>`u`))return;let e=localStorage.getItem(Lo);e&&(this.name=Vo(e))}setName(e){let t=Vo(e);this.name=t,!(typeof localStorage>`u`)&&(t.length>0?localStorage.setItem(Lo,t):localStorage.removeItem(Lo))}get hasBeenAsked(){return typeof localStorage>`u`?!0:localStorage.getItem(Ro)===`1`}markAsked(){typeof localStorage>`u`||localStorage.setItem(Ro,`1`)}get author(){return this.name.length>0?this.name:Bo}},Uo=()=>location.protocol===`https:`?`wss:`:`ws:`,Wo=()=>`${Uo()}//${location.host}/sync`,Go=1e3,Ko=8e3,qo=class{roomId;doc=new Pr;map=this.doc.getMap(o);ws=null;listeners=new Set;historyListeners=new Set;historyView={entries:[],cursor:-1};connected=!1;closed=!1;backoffMs=Go;reconnectTimer=null;buffered=[];constructor(e){this.roomId=e,this.doc.on(`update`,(e,t)=>{let n=t===`remote`;n||this.send(Po({kind:`update`,update:e}));let r=this.map.get(a),i=n?`remote`:`local`;for(let e of this.listeners)e(r??null,i)})}connect(){if(this.ws||this.closed)return;let e=Ho.author,t=r.token,n=new URLSearchParams({author:e});t.length>0&&n.set(`token`,t);let i=`${Wo()}/${encodeURIComponent(this.roomId)}?${n.toString()}`,a=new WebSocket(i);a.binaryType=`arraybuffer`,this.ws=a,a.addEventListener(`open`,()=>{this.connected=!0,this.backoffMs=Go;for(let e of this.buffered)a.send(e);this.buffered=[],a.send(Po({kind:`sync_step1`,stateVector:ii(this.doc)}))}),a.addEventListener(`message`,e=>{let t=e.data instanceof ArrayBuffer?new Uint8Array(e.data):null;if(!t)return;let n=Io(t);if(n){if(n.kind===`sync_step1`){let e=Qr(this.doc,n.stateVector);a.send(Po({kind:`sync_step2`,update:e}));return}if(n.kind===`sync_step2`||n.kind===`update`){Yr(this.doc,n.update,`remote`);return}if(n.kind===`history_snapshot`){this.historyView=n.view,this.fanHistoryChange();return}if(n.kind===`history_append`){n.cursor<this.historyView.entries.length&&(this.historyView={entries:this.historyView.entries.slice(0,n.cursor),cursor:n.cursor}),this.historyView={entries:[...this.historyView.entries,n.entry],cursor:n.cursor},this.fanHistoryChange();return}}}),a.addEventListener(`close`,()=>{this.ws=null,this.connected=!1,!this.closed&&this.scheduleReconnect()}),a.addEventListener(`error`,()=>{})}scheduleReconnect(){if(this.reconnectTimer)return;let e=this.backoffMs;this.backoffMs=Math.min(this.backoffMs*2,Ko),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},e)}send(e){if(this.connected&&this.ws&&this.ws.readyState===WebSocket.OPEN){this.ws.send(e);return}this.buffered.push(e)}get snapshot(){return this.map.get(`data`)??null}setSnapshot(e){this.doc.transact(()=>{this.map.set(a,e)})}observe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}get history(){return this.historyView}historyEntry(e){return this.historyView.entries.find(t=>t.id===e)??null}observeHistory(e){return this.historyListeners.add(e),()=>{this.historyListeners.delete(e)}}undo(){let e=this.historyView.entries[this.historyView.cursor-1];e&&this.jumpTo(e.id)}redo(){let e=this.historyView.entries[this.historyView.cursor+1];e&&this.jumpTo(e.id)}get canUndo(){return this.historyView.cursor>0}get canRedo(){return this.historyView.cursor<this.historyView.entries.length-1}jumpTo(e){this.send(Po({kind:`history_jump`,entryId:e}))}clearHistory(){this.send(Po({kind:`history_clear`}))}fanHistoryChange(){for(let e of this.historyListeners)e(this.historyView)}destroy(){if(this.closed=!0,this.listeners.clear(),this.historyListeners.clear(),this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),null),this.ws){try{this.ws.close()}catch{}this.ws=null}this.doc.destroy()}},Jo=new Map,Yo=()=>{if(typeof WebSocket>`u`)throw Error(`Sync client is only available in the browser`)},Xo=(e,t)=>{Yo();let n=i(e,t),r=Jo.get(n);if(r)return r;let a=new qo(n);return Jo.set(n,a),a.connect(),a},$=e=>!!e&&typeof e==`object`&&!Array.isArray(e),Zo=e=>!!e&&typeof e==`object`&&typeof e.id==`string`,Qo=(e,t)=>{for(let n of Object.keys(e))n in t||delete e[n];for(let n of Object.keys(t)){let r=t[n];if(!(n in e)){e[n]=r;continue}let i=e[n];Array.isArray(i)&&Array.isArray(r)?$o(i,r):$(i)&&$(r)?Qo(i,r):i!==r&&(e[n]=r)}},$o=(e,t)=>{let n=e.every(Zo),r=t.every(Zo);if(n&&r){let n=e,r=t,i=new Map;for(let e of n)i.set(e.id,e);for(let e=0;e<r.length;e+=1){let t=r[e],a=i.get(t.id),o=n[e];if(a&&o&&o.id===t.id){Qo(a,t);continue}if(a){let r=n.indexOf(a);r!==e&&(n.splice(r,1),n.splice(e,0,a)),Qo(a,t)}else n.splice(e,0,t),i.set(t.id,t)}n.length>r.length&&n.splice(r.length,n.length-r.length);return}e.length>t.length&&e.splice(t.length,e.length-t.length);for(let n=0;n<t.length;n+=1){let r=t[n];if(n>=e.length){e.push(r);continue}let i=e[n];Array.isArray(i)&&Array.isArray(r)?$o(i,r):$(i)&&$(r)?Qo(i,r):i!==r&&(e[n]=r)}},es=(e,t)=>(Array.isArray(e)&&Array.isArray(t)?$o(e,t):$(e)&&$(t)&&Qo(e,t),e),ts=e=>JSON.parse(JSON.stringify(e));export{Ho as i,es as n,Xo as r,ts as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,et as t,rt as n,tt as r,z as i}from"./BPl9BITm.js";import{t as a}from"./D64sGJRN.js";import{t as o}from"./Cl7Z3e6-.js";import{n as s,r as c}from"./Bcyn5YUg.js";var l=new class{#e=r(!0);get loading(){return i(this.#e)}set loading(e){t(this.#e,e,!0)}#t=r(null);get project(){return i(this.#t)}set project(e){t(this.#t,e,!0)}#n=n(()=>this.project?String(this.project.id):``);get id(){return i(this.#n)}set id(e){t(this.#n,e)}#r=n(()=>this.project?.name??``);get name(){return i(this.#r)}set name(e){t(this.#r,e)}#i=n(()=>this.project?this.project.featureIds.map(String):[]);get featureIds(){return i(this.#i)}set featureIds(e){t(this.#i,e)}#a=r(null);get error(){return i(this.#a)}set error(e){t(this.#a,e,!0)}#o=r(null);get saveError(){return i(this.#o)}set saveError(e){t(this.#o,e,!0)}#s=r(!1);get saving(){return i(this.#s)}set saving(e){t(this.#s,e,!0)}#c=r(!1);get dirty(){return i(this.#c)}set dirty(e){t(this.#c,e,!0)}#l=r(``);get lastSavedAt(){return i(this.#l)}set lastSavedAt(e){t(this.#l,e,!0)}#u=r(`features`);get activePanel(){return i(this.#u)}set activePanel(e){t(this.#u,e,!0)}#d=r(``);get selectedFeatureId(){return i(this.#d)}set selectedFeatureId(e){t(this.#d,e,!0)}#f=r(``);get search(){return i(this.#f)}set search(e){t(this.#f,e,!0)}#p=r(e([]));get historyEntries(){return i(this.#p)}set historyEntries(e){t(this.#p,e,!0)}#m=r(-1);get historyCursor(){return i(this.#m)}set historyCursor(e){t(this.#m,e,!0)}currentId=null;client=null;clientUnsubscribe=null;historyUnsubscribe=null;async load(e){try{this.loading=!0,this.error=null,this.currentId=e;let t=await(await a()).useCases.getProject(e);this.project=t,this.dirty=!1,this.lastSavedAt=t?.updatedAt??``,this.subscribeRoom(e)}catch(e){this.error=e.message}finally{this.loading=!1}}setActivePanel(e){this.activePanel=e,o(`project.panel_switched`,{panel:e})}setSearch(e){this.search=e,o(`project.editor_search_updated`,{query:e})}setSelectedFeature(e){this.selectedFeatureId=e,e&&o(`project.feature_opened`,{featureId:e})}async addFeature(e){if(!(!this.project||!this.currentId)){this.saving=!0,this.saveError=null;try{let t=await(await a()).useCases.addFeatureToProject(this.currentId,e);this.applyProject(t),o(`project.feature_added`,{projectId:String(this.currentId),featureId:String(e)})}catch(e){this.saveError=e.message}finally{this.saving=!1}}}async removeFeature(e){if(!(!this.project||!this.currentId)){this.saving=!0,this.saveError=null;try{let t=await(await a()).useCases.removeFeatureFromProject(this.currentId,e);this.applyProject(t),o(`project.feature_removed`,{projectId:String(this.currentId),featureId:String(e)})}catch(e){this.saveError=e.message}finally{this.saving=!1}}}async rename(e){if(this.project){this.saving=!0,this.saveError=null;try{let t=await(await a()).useCases.saveProject({...this.project,name:e.trim()});this.applyProject(t)}catch(e){this.saveError=e.message}finally{this.saving=!1}}}async updateMetadata(e,t){if(!this.project)return;let n=e.trim();if(n.length!==0){this.saving=!0,this.saveError=null;try{let e=await a(),r=t.trim(),i=await e.useCases.saveProject({...this.project,name:n,description:r.length>0?r:void 0});this.applyProject(i),o(`project.saved`,{id:String(i.id),name:i.name})}catch(e){this.saveError=e.message}finally{this.saving=!1}}}async setDescription(e){if(this.project){this.saving=!0,this.saveError=null;try{let t=await a(),n=e.trim(),r=await t.useCases.saveProject({...this.project,description:n.length>0?n:void 0});this.applyProject(r)}catch(e){this.saveError=e.message}finally{this.saving=!1}}}dismissSaveError(){this.saveError=null}reset(){this.clientUnsubscribe&&=(this.clientUnsubscribe(),null),this.historyUnsubscribe&&=(this.historyUnsubscribe(),null),this.client=null,this.currentId=null,this.project=null,this.historyEntries=[],this.historyCursor=-1,this.error=null,this.saveError=null,this.loading=!0,this.saving=!1,this.dirty=!1,this.lastSavedAt=``,this.activePanel=`features`,this.selectedFeatureId=``,this.search=``}applyProject(e){this.project?s(this.project,e):this.project=e,this.dirty=!1,this.lastSavedAt=e.updatedAt}subscribeRoom(e){this.clientUnsubscribe&&=(this.clientUnsubscribe(),null),this.historyUnsubscribe&&=(this.historyUnsubscribe(),null);let t=c(`project`,e);this.client=t,this.clientUnsubscribe=t.observe((t,n)=>{n!==`local`&&t&&this.currentId===e&&(this.project?s(this.project,t):this.project=t,this.lastSavedAt=t.updatedAt)}),this.historyEntries=t.history.entries,this.historyCursor=t.history.cursor,this.historyUnsubscribe=t.observeHistory(t=>{this.currentId===e&&(this.historyEntries=t.entries,this.historyCursor=t.cursor)})}};export{l as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,et as t,tt as n,z as r}from"./BPl9BITm.js";import{t as i}from"./
|
|
1
|
+
import{$ as e,et as t,tt as n,z as r}from"./BPl9BITm.js";import{t as i}from"./D64sGJRN.js";import{t as a}from"./Cl7Z3e6-.js";var o=`Unknown`,s=new class{#e=n(!0);get loading(){return r(this.#e)}set loading(e){t(this.#e,e,!0)}#t=n(e([]));get summaries(){return r(this.#t)}set summaries(e){t(this.#t,e,!0)}#n=n(``);get search(){return r(this.#n)}set search(e){t(this.#n,e,!0)}#r=n(null);get pendingDeleteId(){return r(this.#r)}set pendingDeleteId(e){t(this.#r,e,!0)}#i=n(``);get selectedProjectId(){return r(this.#i)}set selectedProjectId(e){t(this.#i,e,!0)}#a=n(null);get error(){return r(this.#a)}set error(e){t(this.#a,e,!0)}async refresh(){try{this.loading=!0,this.error=null;let e=await i();this.summaries=[...await e.useCases.listProjects()]}catch(e){this.error=e.message}finally{this.loading=!1}}async refreshSilent(){try{let e=await i();this.summaries=[...await e.useCases.listProjects()],this.error=null}catch(e){this.error=e.message}}setSearch(e){this.search=e,a(`project.search_updated`,{query:e})}setSelectedProject(e){this.selectedProjectId=e,e&&a(`project.opened`,{id:e})}openProject(e){return this.setSelectedProject(e),`/projects/${e}`}stagePendingDelete(e){this.pendingDeleteId=e,a(`project.delete_requested`,{id:e})}clearPendingDelete(){this.pendingDeleteId=null}async create(e,t){let n=await(await i()).useCases.createProject({name:e,description:t});return await this.refreshSilent(),a(`project.created`,{id:String(n.id),name:n.name}),n.id}async remove(e){this.summaries=this.summaries.filter(t=>String(t.id)!==String(e)),this.clearPendingDelete(),await(await i()).useCases.deleteProject(e),a(`project.deleted`,{id:String(e)})}async reconcileOrphanFeatures(){let e=await i(),t=await e.useCases.listFeatures();if(t.length===0)return;let n=await e.useCases.listProjects(),r=new Set;for(let t of n){let n=await e.useCases.getProject(t.id);if(n)for(let e of n.featureIds)r.add(String(e))}let a=t.filter(e=>!r.has(String(e.id)));if(a.length===0)return;let s=n.find(e=>e.name===o);if(!s){let t=await e.useCases.createProject({name:o,description:`Auto-created bucket. Holds features that are not assigned to any other project. Rename or reassign to clean it up.`});s={id:t.id,name:t.name,description:t.description,featureCount:0,createdAt:t.createdAt,updatedAt:t.updatedAt}}for(let t of a)await e.useCases.addFeatureToProject(s.id,t.id);await this.refreshSilent()}};export{s as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,H as t,V as n,et as r,ot as i,r as a,t as o,tt as s,z as c}from"./BPl9BITm.js";var l=class{constructor(e,t){this.status=e,typeof t==`string`?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},u=class{constructor(e,t){try{new Headers({location:t})}catch{throw Error(`Invalid redirect location ${JSON.stringify(t)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=t}},d=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function f(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function p(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function ee(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(e,t,n,r=!1){let i=new URL(e);Object.defineProperty(i,"searchParams",{value:new Proxy(i.searchParams,{get(e,r){if(r===`get`||r===`getAll`||r===`has`)return(t,...i)=>(n(t),e[r](t,...i));t();let i=Reflect.get(e,r);return typeof i==`function`?i.bind(e):i}}),enumerable:!0,configurable:!0});let a=[`href`,`pathname`,`search`,`toString`,`toJSON`];r&&a.push(`hash`);for(let n of a)Object.defineProperty(i,n,{get(){return t(),e[n]},enumerable:!0,configurable:!0});return i}function g(){}function _(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}new TextEncoder;function te(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var ne=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&v.delete(ae(e)),ne(e,t));var v=new Map;function re(e,t){let n=ae(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent),i=r.getAttribute(`data-ttl`);return i&&v.set(n,{body:e,init:t,ttl:1e3*Number(i)}),r.getAttribute(`data-b64`)!==null&&(e=te(e)),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function ie(e,t,n){if(v.size>0){let t=ae(e,n),r=v.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);v.delete(t)}}return window.fetch(t,n)}function ae(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${_(...e)}"]`}return n}var oe=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,se=/^\/\((?:.+)\)$/;function ce(e){let t=[];return{pattern:e===`/`||se.test(e)?/^\/$/:RegExp(`^${ue(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return fe(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return fe(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=oe.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return fe(e)}).join(``)}).join(``)}/?$`),params:t}}function le(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function ue(e){return e.slice(1).split(`/`).filter(le)}function de(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function fe(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}function pe({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=ce(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return de(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function me(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function he(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var y=globalThis.__sveltekit_1686gye?.base??``,ge=globalThis.__sveltekit_1686gye?.assets??y??``,_e=`1782174397145`,ve=`sveltekit:snapshot`,ye=`sveltekit:scroll`,be=`sveltekit:states`,xe=`sveltekit:pageurl`,b=`sveltekit:history`,x=`sveltekit:navigation`,S={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Se=location.origin;function Ce(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function C(){return{x:pageXOffset,y:pageYOffset}}function w(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var we={...S,"":S.hover};function Te(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Ee(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=Te(e)}}function De(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||E(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===Se&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function T(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=w(s,`preload-code`)),i===null&&(i=w(s,`preload-data`)),t===null&&(t=w(s,`keepfocus`)),n===null&&(n=w(s,`noscroll`)),a===null&&(a=w(s,`reload`)),o===null&&(o=w(s,`replacestate`)),s=Te(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:we[r??`off`],preload_data:we[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Oe(e){let t=i(e),n=!0;function r(){n=!0,t.update(e=>e)}function a(e){n=!1,t.set(e)}function o(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:a,subscribe:o}}var ke={v:g};function Ae(){let{set:e,subscribe:t}=i(!1);async function n(){clearTimeout(void 0);try{let t=await fetch(`${ge}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==_e;return n&&(e(!0),ke.v(),clearTimeout(void 0)),n}catch{return!1}}return{subscribe:t,check:n}}function E(e,t,n){return e.origin!==Se||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function je(e){}Uint8Array.fromBase64,typeof process==`object`&&process.versions?.node;var Me=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);new Set([...Me,`entries`]);var Ne=new Set([...Me]);new Set([...Ne,`actions`,`entries`]),new Set([`GET`,`POST`,`PATCH`,`PUT`,`DELETE`,`OPTIONS`,`HEAD`,`fallback`,`prerender`,`trailingSlash`,`config`,`entries`]);function Pe(e){return e.filter(e=>e!=null)}function D(e,t){return e+`/`+t}function Fe(e){return e instanceof l||e instanceof d?e.status:500}function Ie(e){return e instanceof d?e.text:`Internal Error`}var O,k,Le,Re=a.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(a.toString()),ze=`a:`;Re?(O={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(ze)},k={current:null},Le={current:!1}):(O=new class{#e=s({});get data(){return c(this.#e)}set data(e){r(this.#e,e)}#t=s(null);get form(){return c(this.#t)}set form(e){r(this.#t,e)}#n=s(null);get error(){return c(this.#n)}set error(e){r(this.#n,e)}#r=s({});get params(){return c(this.#r)}set params(e){r(this.#r,e)}#i=s({id:null});get route(){return c(this.#i)}set route(e){r(this.#i,e)}#a=s({});get state(){return c(this.#a)}set state(e){r(this.#a,e)}#o=s(-1);get status(){return c(this.#o)}set status(e){r(this.#o,e)}#s=s(new URL(ze));get url(){return c(this.#s)}set url(e){r(this.#s,e)}},k=new class{#e=s(null);get current(){return c(this.#e)}set current(e){r(this.#e,e)}},Le=new class{#e=s(!1);get current(){return c(this.#e)}set current(e){r(this.#e,e)}},ke.v=()=>Le.current=!0);function Be(e){Object.assign(O,e)}var Ve={spanContext(){return He},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},He={traceId:``,spanId:``,traceFlags:0},{onMount:Ue,tick:We}=o,Ge=t??(e=>e()),Ke=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),A=null,j=me(`sveltekit:scroll`)??{},M=me(`sveltekit:snapshot`)??{},N={url:Oe({}),page:Oe({}),navigating:i(null),updated:Ae()};function qe(e){j[e]=C()}function Je(e,t){let n=e+1;for(;j[n];)delete j[n],n+=1;for(n=t+1;M[n];)delete M[n],n+=1}function P(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(g)}async function Ye(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(y||`/`);e&&await e.update()}}var Xe,Ze,F,I,Qe,L,R=[],z=[],B=null;function V(){B?.fork?.then(e=>e?.discard()),B=null}var H=new Map,$e=new Set,et=new Set,U=new Set,W={branch:[],error:null,url:null,nav:null},tt=!1,nt=!1,rt=!0,G=!1,K=!1,it=!1,at=!1,ot,q,J,Y,st=new Set,ct=new Map,lt=new Map;async function ut(e,t,n){globalThis.__sveltekit_1686gye&&(globalThis.__sveltekit_1686gye.query,globalThis.__sveltekit_1686gye.prerender),document.URL!==location.href&&(location.href=location.href),L=e,await e.hooks.init?.(),Xe=pe(e),I=document.documentElement,Qe=t,Ze=e.nodes[0],F=e.nodes[1],Ze(),F(),q=history.state?.[b],J=history.state?.[x],q||(q=J=Date.now(),history.replaceState({...history.state,[b]:q,[x]:J},``));let r=j[q];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await Vt(Qe,n)):(await Z({type:`enter`,url:Ce(L.hash?Kt(new URL(location.href)):location.href),replace_state:!0}),i()),Bt()}function dt(){R.length=0,at=!1}function ft(e){z.some(e=>e?.snapshot)&&(M[e]=z.map(e=>e?.snapshot?.capture()))}function pt(e){M[e]?.forEach((e,t)=>{z[t]?.snapshot?.restore(e)})}function mt(){qe(q),he(ye,j),ft(J),he(ve,M)}async function ht(e,t,r,i){let a,o;t.invalidateAll&&V(),await Z({type:`goto`,url:Ce(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:r,nav_token:i,accept:()=>{if(t.invalidateAll){at=!0,a=new Set;for(let[e,t]of ct)for(let n of t.keys())a.add(D(e,n));o=new Set;for(let[e,t]of lt)for(let n of t.keys())o.add(D(e,n))}t.invalidate&&t.invalidate.forEach(Rt)}}),t.invalidateAll&&n().then(n).then(()=>{for(let[e,t]of ct)for(let[n,{resource:r}]of t)a?.has(D(e,n))&&r.refresh();for(let[e,t]of lt)for(let[n,{resource:r}]of t)o?.has(D(e,n))&&r.reconnect()})}async function gt(e){if(e.id!==B?.id){V();let t={};st.add(t),B={id:e.id,token:t,promise:Et({...e,preload:t}).then(e=>(st.delete(t),e.type===`loaded`&&e.state.error&&V(),e)),fork:null}}return B.promise}async function _t(e){let t=(await X(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function vt(e,t,n){let r={params:W.params,route:{id:W.route?.id??null},url:new URL(location.href)};if(W={...e.state,nav:r},Be(e.props.page),ot=new L.root({target:t,props:{...e.props,stores:N,components:z},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),pt(J),n){let e={from:null,to:{...r,scroll:j[q]??C()},willUnload:!1,type:`enter`,complete:Promise.resolve()};U.forEach(t=>t(e))}nt=!0}async function yt({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(y&&(e.pathname===y||e.pathname===y+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=f(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:Pe(n).map(e=>e.node.component),page:$(O)}};s!==void 0&&(l.props.form=s);let u={},d=!O,p=0;for(let e=0;e<Math.max(n.length,W.branch.length);e+=1){let t=n[e],r=W.branch[e];t?.data!==r?.data&&(d=!0),t&&(u={...u,...t.data},d&&(l.props[`data_${p}`]=u),p+=1)}return(!W.url||e.href!==W.url.href||W.error!==a||s!==void 0&&s!==O.form||d)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:d?u:O.data}),l}async function bt({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o=null,s=!0,c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();if(l.universal?.load){function e(...e){for(let t of e){let{href:e}=new URL(t,n);c.dependencies.add(e)}}let u={tracing:{enabled:!1,root:Ve,current:Ve},route:new Proxy(i,{get:(e,t)=>(s&&(c.route=!0),e[t])}),params:new Proxy(r,{get:(e,t)=>(s&&c.params.add(t),e[t])}),data:a?.data??null,url:h(n,()=>{s&&(c.url=!0)},e=>{s&&c.search_params.add(e)},L.hash),async fetch(t,r){t instanceof Request&&(r={body:t.method===`GET`||t.method===`HEAD`?void 0:await t.blob(),cache:t.cache,credentials:t.credentials,headers:[...t.headers].length>0?t?.headers:void 0,integrity:t.integrity,keepalive:t.keepalive,method:t.method,mode:t.mode,redirect:t.redirect,referrer:t.referrer,referrerPolicy:t.referrerPolicy,signal:t.signal,...r});let{resolved:i,promise:a}=xt(t,r,n);return s&&e(i.href),a},setHeaders:g,depends:e,parent(){return s&&(c.parent=!0),t()},untrack(e){s=!1;try{return e()}finally{s=!0}}};o=await l.universal.load.call(null,u)??null}return{node:l,loader:e,server:a,universal:l.universal?.load?{type:`data`,data:o,uses:c}:null,data:o??a?.data??null,slash:l.universal?.trailingSlash??a?.slash}}function xt(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:nt?ie(r,i.href,t):re(r,t)}}function St(e,t,n,r,i,a){if(at)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==W.params[e])return!0;for(let e of i.dependencies)if(R.some(t=>t(new URL(e))))return!0;return!1}function Ct(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function wt(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function Tt({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:$(O),constructors:[]}}}async function Et({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(B?.id===e)return st.delete(B.token),B.promise;let{errors:o,layouts:s,leaf:c}=i,d=[...s,c];o.forEach(e=>e?.().catch(g)),d.forEach(e=>e?.[1]().catch(g));let f=W.url?e!==jt(W.url):!1,p=W.route?i.id!==W.route.id:!1,ee=wt(W.url,n),m=!1,h=d.map(async(e,t)=>{if(!e)return;let a=W.branch[t];return e[1]===a?.loader&&!St(m,p,f,ee,a.universal?.uses,r)?a:(m=!0,bt({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await h[n])?.data);return e},server_data_node:Ct(e[0]?{type:`skip`}:null,e[0]?a?.server:void 0)}))});for(let e of h)e.catch(g);let _=[];for(let e=0;e<d.length;e+=1)if(d[e])try{_.push(await h[e])}catch(t){if(t instanceof u)return{type:`redirect`,location:t.location};if(st.has(a))return Tt({error:await Q(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=Fe(t),c;if(t instanceof l)c=t.body;else{if(await N.updated.check())return await Ye(),await P(n);c=await Q(t,{params:r,url:n,route:{id:i.id}})}let d=await Dt(e,_,o);return d?yt({url:n,params:r,branch:_.slice(0,d.idx).concat(d.node),errors:o,status:s,error:c,route:i}):await Nt(n,{id:i.id},c,s)}else _.push(void 0);return yt({url:n,params:r,branch:_,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function Dt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Ot({status:e,error:t,url:n,route:r}){let i={};try{return yt({url:n,params:i,branch:[await bt({loader:Ze,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:Ct(null)}),{node:await F(),loader:F,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(e){if(e instanceof u)return ht(new URL(e.location,location.href),{},0);throw e}}async function kt(e){let t=e.href;if(H.has(t))return H.get(t);let n;try{let r=(async()=>{let t=await L.hooks.reroute({url:new URL(e),fetch:async(t,n)=>xt(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);L.hash?n.hash=t:n.pathname=t,t=n}return t})();H.set(t,r),n=await r}catch{H.delete(t);return}return n}async function X(e,t){if(e&&!E(e,y,L.hash)){let n=await kt(e);if(!n)return;let r=At(n);for(let n of Xe){let i=n.exec(r);if(i)return{id:jt(e),invalidating:t,route:n,params:ee(i),url:e}}}}function At(e){return p(L.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(y.length))||`/`}function jt(e){return(L.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Mt({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=Gt(W,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return G||$e.forEach(e=>e(c)),o?null:s}async function Z({type:t,url:r,popped:i,keepfocus:a,noscroll:o,replace_state:s,state:c={},redirect_count:l=0,nav_token:u={},accept:f=g,block:p=g,event:ee}){let m=Y;Y=u;let h=await X(r,!1),_=t===`enter`?Gt(W,h,r,t):Mt({url:r,type:t,delta:i?.delta,intent:h,scroll:i?.scroll,event:ee});if(!_){p(),Y===u&&(Y=m);return}let te=q,ne=J;f(),G=!0,nt&&_.navigation.type!==`enter`&&N.navigating.set(k.current=_.navigation);let v=h&&await Et(h);if(!v){if(E(r,y,L.hash))return await P(r,s);v=await Nt(r,{id:null},await Q(new d(404,`Not Found`,`Not found: ${r.pathname}`),{url:r,params:{},route:{id:null}}),404,s)}if(r=h?.url||r,Y!==u)return _.reject(Error(`navigation aborted`)),!1;if(v.type===`redirect`){if(l<20){await Z({type:t,url:new URL(v.location,r),popped:i,keepfocus:a,noscroll:o,replace_state:s,state:c,redirect_count:l+1,nav_token:u}),_.fulfil(void 0);return}v=await Ot({status:500,error:await Q(Error(`Redirect loop`),{url:r,params:{},route:{id:null}}),url:r,route:{id:null}})}else v.props.page.status>=400&&await N.updated.check()&&(await Ye(),await P(r,s));if(dt(),qe(te),ft(ne),v.props.page.url.pathname!==r.pathname&&(r.pathname=v.props.page.url.pathname),c=i?i.state:c,!i){let e=+!s,t={[b]:q+=e,[x]:J+=e,[be]:c};(s?history.replaceState:history.pushState).call(history,t,``,r),s||Je(q,J)}let re=h&&B?.id===h.id?B.fork:null;B?.fork&&!re&&V(),B=null,v.props.page.state=c;let ie;if(nt){let t=(await Promise.all(Array.from(et,e=>e(_.navigation)))).filter(e=>typeof e==`function`);if(t.length>0){function e(){t.forEach(e=>{U.delete(e)})}t.push(e),t.forEach(e=>{U.add(e)})}let n=_.navigation.to;W={...v.state,nav:{params:n.params,route:n.route,url:n.url}},v.props.page&&(v.props.page.url=r);let i=re&&await re;i?ie=i.commit():(A=null,ot.$set(v.props),A&&Object.assign(v.props.page,A),Be(v.props.page),ie=e?.()),it=!0}else await vt(v,Qe,!1);let{activeElement:ae}=document;if(await ie,await n(),await n(),Y!==u)return _.reject(Error(`navigation aborted`)),!1;v.props.page&&A&&Object.assign(v.props.page,A);let oe=null;if(rt){let e=i?i.scroll:o?C():null;e?scrollTo(e.x,e.y):(oe=r.hash&&document.getElementById(qt(r)))?oe.scrollIntoView():scrollTo(0,0)}let se=document.activeElement!==ae&&document.activeElement!==document.body;!a&&!se&&Wt(r,!oe),rt=!0,G=!1,t===`popstate`&&pt(J),_.fulfil(void 0),_.navigation.to&&(_.navigation.to.scroll=C()),U.forEach(e=>e(_.navigation)),N.navigating.set(k.current=null)}async function Nt(e,t,n,r,i){return e.origin===Se&&e.pathname===location.pathname&&!tt?await Ot({status:r,error:n,url:e,route:t}):await P(e,i)}function Pt(){let e,t={element:void 0,href:void 0},n;I.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{a(n,S.hover)},20)});function r(e){e.defaultPrevented||a(e.composedPath()[0],S.tap)}I.addEventListener(`mousedown`,r),I.addEventListener(`touchstart`,r,{passive:!0});let i=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(_t(new URL(t.target.href)),i.unobserve(t.target))},{threshold:0});async function a(e,r){let i=Ee(e,I),a=i===t.element&&i?.href===t.href&&r>=n;if(!i||a)return;let{url:o,external:s,download:c}=De(i,y,L.hash);if(s||c)return;let l=T(i),u=o&&jt(W.url)===jt(o);if(!(l.reload||u))if(r<=l.preload_data){t={element:i,href:i.href},n=S.tap;let e=await X(o,!1);if(!e)return;gt(e)}else r<=l.preload_code&&(t={element:i,href:i.href},n=r,_t(o))}function o(){i.disconnect();for(let e of I.querySelectorAll(`a`)){let{url:t,external:n,download:r}=De(e,y,L.hash);if(n||r)continue;let a=T(e);a.reload||(a.preload_code===S.viewport&&i.observe(e),a.preload_code===S.eager&&_t(t))}}U.add(o),o()}function Q(e,t){if(e instanceof l)return e.body;let n=Fe(e),r=Ie(e);return L.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Ft(e,t){Ue(()=>(e.add(t),()=>{e.delete(t)}))}function It(e){Ft(U,e)}function Lt(e,t={}){return e=new URL(Ce(e)),e.origin===Se?ht(e,t,0):Promise.reject(Error(`goto: invalid URL`))}function Rt(e){if(typeof e==`function`)R.push(e);else{let{href:t}=new URL(e,location.href);R.push(e=>e.href===t)}}function zt(e,t){let n={[b]:q,[x]:J,[xe]:O.url.href,[be]:t};history.replaceState(n,``,Ce(e)),O.state=t,ot.$set({page:Ge(()=>$(O))})}function Bt(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(mt(),!G){let e=Gt(W,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};$e.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&mt()}),!navigator.connection?.saveData&&!/2g/.test(navigator.connection?.effectiveType)&&Pt(),I.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=Ee(t.composedPath()[0],I);if(!n)return;let{url:r,external:i,target:a,download:o}=De(n,y,L.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=T(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol===`https:`||r.protocol===`http:`)||o)return;let[c,l]=(L.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l)){Mt({url:r,type:`link`,event:t})?G=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=W.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(K=!0,qe(q),e(r),!s.replace_state)return;K=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Z({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),I.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(E(r,y,!1))return;let i=e.target,a=T(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Z({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!Ut)if(t.state?.[`sveltekit:history`]){let n=t.state[b];if(Y={},n===q)return;let r=j[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[x],s=W.url?m(location)===m(W.url):!1;if(o===J&&(it||s)){i!==O.state&&(O.state=i),e(a),j[q]=C(),r&&scrollTo(r.x,r.y),q=n;return}let c=n-q;await Z({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{q=n,J=o},block:()=>{history.go(-c)},nav_token:Y,event:t})}else K||(e(new URL(location.href)),L.hash&&location.reload())}),addEventListener(`hashchange`,()=>{K&&(K=!1,history.replaceState({...history.state,[b]:++q,[x]:J},``,location.href))});for(let e of document.querySelectorAll(`link`))Ke.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&N.navigating.set(k.current=null)});function e(e){W.url=O.url=e,N.page.set($(O)),N.page.notify()}}async function Vt(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){tt=!0;let l=new URL(location.href),d;({params:i={},route:a={id:null}}=await X(l,!1)||{}),d=Xe.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Ht(r.uses)),bt({loader:L.nodes[t],url:l,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:Ct(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await yt({url:l,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof u){await P(new URL(t.location,location.href));return}f=await Ot({status:Fe(t),error:await Q(t,{url:l,params:i,route:a}),url:l,route:a}),e.textContent=``,p=!1}f.props.page&&(f.props.page.state={}),await vt(f,e,p)}function Ht(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var Ut=!1;function Wt(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=qt(e);if(n&&document.getElementById(n)){let{x:r,y:i}=C();setTimeout(()=>{let a=history.state;Ut=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),Ut=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function Gt(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(g),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:C()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function $(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Kt(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function qt(e){let t;if(L.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{N as a,Le as c,ut as i,je as l,Lt as n,k as o,zt as r,O as s,It as t,u};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,et as t,tt as n,z as r}from"./BPl9BITm.js";import{i,t as a}from"./D64sGJRN.js";var o=new class{#e=n(!1);get loading(){return r(this.#e)}set loading(e){t(this.#e,e,!0)}#t=n(null);get project(){return r(this.#t)}set project(e){t(this.#t,e,!0)}#n=n(e([]));get siblings(){return r(this.#n)}set siblings(e){t(this.#n,e,!0)}#r=n(null);get error(){return r(this.#r)}set error(e){t(this.#r,e,!0)}currentFeatureId=null;async load(e){this.currentFeatureId=e,this.loading=!0,this.error=null;try{let t=await a(),n=await t.useCases.findProjectContainingFeature(e);if(this.currentFeatureId!==e)return;if(this.project=n,!n){this.siblings=[];return}let r=n.featureIds.filter(t=>t!==e),i=[];for(let n of r){let r=await t.useCases.getFeature(n);if(this.currentFeatureId!==e)return;r&&i.push(r)}this.siblings=i}catch(e){this.error=e.message}finally{this.currentFeatureId===e&&(this.loading=!1)}}reset(){this.currentFeatureId=null,this.project=null,this.siblings=[],this.error=null,this.loading=!1}get isInProject(){return this.project!==null}isActionQueued(e,t){let n=this.project?.implementationQueue??[],r=`action:${String(e)}:${String(t)}`;return n.some(e=>i(e)===r)}isSurfaceQueued(e,t){let n=this.project?.implementationQueue??[],r=`surface:${String(e)}:${String(t)}`;return n.some(e=>i(e)===r)}async enqueueAction(e,t){let n=this.project;if(!n)return!1;try{let r=await(await a()).useCases.enqueueQueueItem(n.id,{kind:`action`,featureId:e,actionId:t});return this.project=r.project,!0}catch(e){return this.error=e.message,!1}}async enqueueSurface(e,t){let n=this.project;if(!n)return!1;try{let r=await(await a()).useCases.enqueueQueueItem(n.id,{kind:`surface`,featureId:e,surfaceId:t});return this.project=r.project,!0}catch(e){return this.error=e.message,!1}}async dequeueByItemId(e){let t=this.project;if(t)try{let n=await(await a()).useCases.dequeueQueueItem(t.id,e);this.project=n}catch(e){this.error=e.message}}findQueueItemIdForAction(e,t){let n=this.project?.implementationQueue??[],r=`action:${String(e)}:${String(t)}`,a=n.find(e=>i(e)===r);return a?a.id:null}findQueueItemIdForSurface(e,t){let n=this.project?.implementationQueue??[],r=`surface:${String(e)}:${String(t)}`,a=n.find(e=>i(e)===r);return a?a.id:null}};export{o as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=[`screen`,`canvas`,`terminal`,`board`,`workflow`,`command_palette`,`api_playground`,`map`,`dialog_area`,`custom`],t=e=>{switch(e){case`screen`:return`Screen`;case`canvas`:return`Canvas`;case`terminal`:return`Terminal`;case`board`:return`Board`;case`workflow`:return`Workflow`;case`command_palette`:return`Command palette`;case`api_playground`:return`API playground`;case`map`:return`Map`;case`dialog_area`:return`Dialog area`;case`custom`:return`Custom`}},n=[`set_state`,`show_message`,`emit_event`,`block_action`,`allow_action`,`transition_surface`,`append_to_list`,`remove_from_list`,`update_list_item`,`advance_time`],r=e=>{switch(e){case`set_state`:return`Set state`;case`show_message`:return`Show message`;case`emit_event`:return`Emit event`;case`block_action`:return`Block action`;case`allow_action`:return`Allow action`;case`transition_surface`:return`Transition to surface`;case`append_to_list`:return`Append to list`;case`remove_from_list`:return`Remove from list`;case`update_list_item`:return`Update list item`;case`advance_time`:return`Advance time`}};export{t as i,r as n,e as r,n as t};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{$ as e,A as t,D as n,E as r,G as i,I as a,L as o,M as s,N as c,P as l,Q as u,R as d,W as f,X as p,Y as m,Z as h,_ as g,c as ee,ct as te,et as _,j as v,k as y,l as b,lt as x,mt as S,n as ne,pt as C,r as re,rt as w,s as ie,tt as T,u as E,v as ae,z as D}from"./BPl9BITm.js";import{t as oe}from"./kNaey6uv.js";import"./xihTtKlq.js";import{D as O,T as k}from"./D64sGJRN.js";var A=[`contains`,`reads`,`writes`,`emits`,`transitions`,`asserts`,`uses`,`handles`],se=[`feature`,`surface`,`action`,`state`,`event`,`parameter`,`rule`,`effect`,`invariant`,`scenario`,`persona`,`resource`,`entity`,`valueSet`],j=e=>{switch(e.type){case`set_state`:return`set ${e.path}`;case`show_message`:return e.tone?`${e.tone} message`:`message`;case`emit_event`:return`emit ${e.event}`;case`block_action`:return`block`;case`allow_action`:return`allow`;case`transition_surface`:return`transition`;case`append_to_list`:return`append ${e.path}`;case`remove_from_list`:return`remove ${e.path}`;case`update_list_item`:return`update ${e.path}`;case`advance_time`:return`advance time`}},M=e=>{let t=new Set;for(let n of k(e))O(n.left)||t.add(String(n.left));return[...t]},ce=(e,t)=>{let n=new Map,r=new Map,i=e=>{n.has(e.id)||n.set(e.id,e)},a=e=>{if(!n.has(e.from)||!n.has(e.to))return;let t=`${e.from}->${e.to}:${e.kind}:${e.label??``}`;r.has(t)||r.set(t,{...e,id:t})},o=(e,t,n)=>{i({id:`feature:${e.id}:state:${t}`,type:`state`,label:t,detail:n,layer:3})},s=(e,t)=>`feature:${e.id}:surface:${t}`,c=(e,t)=>`feature:${e.id}:action:${t}`,l=(e,t)=>`feature:${e.id}:state:${t}`,u=(e,t)=>`feature:${e.id}:valueSet:${t}`,d=(e,t,n,r)=>{let c=`feature:${e.id}:effect:${n.id}`;if(i({id:c,type:`effect`,label:j(n),detail:n.description??n.type,layer:5}),a({from:t,to:c,kind:r}),n.type===`set_state`)o(e,String(n.path)),a({from:c,to:l(e,n.path),kind:`writes`});else if(n.type===`emit_event`){let e=`event:${n.event}`;i({id:e,type:`event`,label:String(n.event),layer:3}),a({from:c,to:e,kind:`emits`})}else n.type===`transition_surface`&&a({from:c,to:s(e,n.target),kind:`transitions`})},f=t?`project:${t.id}`:null;t&&f&&i({id:f,type:`feature`,label:t.name,detail:t.description??`Project`,layer:0});for(let n of e){let e=`feature:${n.id}`;i({id:e,type:`feature`,label:n.name,detail:n.description,layer:+!!t,href:`/features/${n.id}`}),f&&a({from:f,to:e,kind:`contains`});for(let r of n.personas){let o=`feature:${n.id}:persona:${r.id}`;i({id:o,type:`persona`,label:r.name,detail:r.description,layer:t?2:1}),a({from:e,to:o,kind:`contains`})}for(let r of n.resources){let n=`resource:${r.id}`;i({id:n,type:`resource`,label:r.name,detail:r.description??r.kind,layer:t?2:1}),a({from:e,to:n,kind:`contains`})}for(let r of n.entities){let n=`entity:${r.id}`;i({id:n,type:`entity`,label:r.namespace,detail:r.description,layer:t?2:1}),a({from:e,to:n,kind:`contains`}),r.resourceId&&a({from:n,to:`resource:${r.resourceId}`,kind:`uses`})}for(let r of n.valueSets??[]){let o=u(n,r.id);i({id:o,type:`valueSet`,label:r.name,detail:`${r.values.length} values`,layer:t?2:1}),a({from:e,to:o,kind:`contains`})}for(let t of n.events??[]){let n=`event:${t.name}`;i({id:n,type:`event`,label:String(t.name),detail:t.description,layer:3}),a({from:e,to:n,kind:`contains`})}for(let t of n.featureInvariants??[]){let r=`feature:${n.id}:invariant:${t.id}`;i({id:r,type:`invariant`,label:t.name,detail:t.description??t.message,layer:6}),a({from:e,to:r,kind:`contains`});for(let e of M(t.condition))o(n,e),a({from:r,to:l(n,e),kind:`reads`})}for(let t of n.reachabilityGoals??[]){let r=`feature:${n.id}:goal:${t.id}`;i({id:r,type:`goal`,label:t.name,detail:t.description??t.message??t.kind,layer:6}),a({from:e,to:r,kind:`contains`});for(let e of M(t.condition))o(n,e),a({from:r,to:l(n,e),kind:`reads`})}for(let r of n.surfaces){let f=s(n,r.id);i({id:f,type:`surface`,label:r.name,detail:r.description??r.type,layer:t?2:1,href:`/features/${n.id}?surface=${r.id}`}),a({from:e,to:f,kind:`contains`}),r.parentSurfaceId&&a({from:s(n,r.parentSurfaceId),to:f,kind:`contains`});for(let e of r.stateDefinitions)o(n,String(e.path),e.description??e.type),a({from:f,to:l(n,e.path),kind:`contains`}),e.valueSetId&&a({from:l(n,e.path),to:u(n,e.valueSetId),kind:`uses`});for(let e of r.transitions){let t=`feature:${n.id}:transition:${e.id}`;i({id:t,type:`effect`,label:e.label??`transition`,detail:e.description,layer:6}),a({from:f,to:t,kind:`contains`}),a({from:t,to:s(n,e.target),kind:`transitions`})}for(let e of r.rules){let t=`feature:${n.id}:rule:${e.id}`;i({id:t,type:`rule`,label:e.category,detail:e.description,layer:6}),a({from:f,to:t,kind:`contains`});for(let r of M(e.condition))o(n,r),a({from:t,to:l(n,r),kind:`reads`});d(n,t,e.effect,`writes`)}for(let e of r.invariants){let t=`feature:${n.id}:invariant:${e.id}`;i({id:t,type:`invariant`,label:e.name,detail:e.description??e.message,layer:6}),a({from:f,to:t,kind:`contains`});for(let r of M(e.condition))o(n,r),a({from:t,to:l(n,r),kind:`reads`})}for(let e of r.actions){let p=c(n,e.id);if(i({id:p,type:`action`,label:e.name,detail:e.intent,layer:t?3:2,href:`/features/${n.id}?surface=${r.id}&panel=actions`}),a({from:f,to:p,kind:`contains`}),e.triggeredByEvent){let t=`event:${e.triggeredByEvent}`;i({id:t,type:`event`,label:String(e.triggeredByEvent),layer:3}),a({from:t,to:p,kind:`handles`})}for(let t of e.requiredStates)o(n,String(t)),a({from:l(n,t),to:p,kind:`reads`});for(let r of e.parameters){let e=`feature:${n.id}:parameter:${r.id}`;i({id:e,type:`parameter`,label:r.name,detail:r.description??r.type,layer:t?5:4}),a({from:p,to:e,kind:`contains`}),r.bindToStatePath&&(o(n,String(r.bindToStatePath)),a({from:e,to:l(n,r.bindToStatePath),kind:`writes`})),r.resourceId&&a({from:e,to:`resource:${r.resourceId}`,kind:`uses`}),r.valueSetId&&a({from:e,to:u(n,r.valueSetId),kind:`uses`})}for(let t of e.rules){let e=`feature:${n.id}:rule:${t.id}`;i({id:e,type:`rule`,label:t.category,detail:t.description,layer:6}),a({from:p,to:e,kind:`contains`});for(let r of M(t.condition))o(n,r),a({from:e,to:l(n,r),kind:`reads`});d(n,e,t.effect,`writes`)}for(let t of e.invariants){let e=`feature:${n.id}:invariant:${t.id}`;i({id:e,type:`invariant`,label:t.name,detail:t.description??t.message,layer:6}),a({from:p,to:e,kind:`contains`});for(let r of M(t.condition))o(n,r),a({from:e,to:l(n,r),kind:`reads`})}for(let t of e.effects)d(n,p,t,`contains`);for(let t of e.onBlockedEffects??[])d(n,p,t,`contains`);for(let t of e.emittedEvents){let e=`event:${t}`;i({id:e,type:`event`,label:String(t),layer:3}),a({from:p,to:e,kind:`emits`})}for(let t of e.transitions){let e=`feature:${n.id}:transition:${t.id}`;i({id:e,type:`effect`,label:t.label??`transition`,detail:t.description,layer:6}),a({from:p,to:e,kind:`contains`}),a({from:e,to:s(n,t.target),kind:`transitions`})}for(let t of e.scenarios??[]){let e=`feature:${n.id}:scenario:${t.id}`;i({id:e,type:`scenario`,label:t.name,detail:t.description??t.expectedStatus,layer:6}),a({from:p,to:e,kind:`asserts`}),t.personaId&&a({from:e,to:`feature:${n.id}:persona:${t.personaId}`,kind:`uses`});for(let r of t.stateOverrides)o(n,String(r.path)),a({from:e,to:l(n,r.path),kind:`writes`});for(let r of t.expectedAssertions??[])o(n,String(r.path)),a({from:e,to:l(n,r.path),kind:`asserts`});t.expectedTransition&&a({from:e,to:s(n,t.expectedTransition),kind:`transitions`})}}}}return{nodes:[...n.values()],edges:[...r.values()]}},le=e=>{let t=new Map;for(let n of e.nodes)t.set(n.id,0);for(let n of e.edges)t.set(n.from,(t.get(n.from)??0)+1),t.set(n.to,(t.get(n.to)??0)+1);let n=e.nodes.map(e=>({...e,degree:t.get(e.id)??0}));return{nodes:n,edges:e.edges,nodeById:new Map(n.map(e=>[e.id,e]))}},ue=(e,t)=>{let n=t.search.trim().toLowerCase(),r=new Set;if(n){for(let t of e.nodes)`${t.label} ${t.type} ${t.detail??``}`.toLowerCase().includes(n)&&r.add(t.id);for(let t of e.edges)(r.has(t.from)||r.has(t.to))&&(r.add(t.from),r.add(t.to))}let i=e=>!n||r.has(e),a=e.edges.filter(e=>t.enabledKinds[e.kind]&&i(e.from)&&i(e.to)),o=new Set;for(let e of a)o.add(e.from),o.add(e.to);let s=e.nodes.filter(e=>i(e.id)&&(!n||o.has(e.id)||r.has(e.id)));return{nodes:s,edges:a,nodeById:new Map(s.map(e=>[e.id,e]))}},N={feature:{label:`Feature`,fill:`#0f172a`,stroke:`#020617`},surface:{label:`Surface`,fill:`#0e7490`,stroke:`#155e75`},action:{label:`Action`,fill:`#2563eb`,stroke:`#1d4ed8`},state:{label:`State`,fill:`#7c3aed`,stroke:`#6d28d9`},event:{label:`Event`,fill:`#db2777`,stroke:`#be185d`},parameter:{label:`Parameter`,fill:`#0891b2`,stroke:`#0e7490`},rule:{label:`Rule`,fill:`#ea580c`,stroke:`#c2410c`},effect:{label:`Effect`,fill:`#16a34a`,stroke:`#15803d`},invariant:{label:`Invariant`,fill:`#ca8a04`,stroke:`#a16207`},goal:{label:`Liveness goal`,fill:`#65a30d`,stroke:`#4d7c0f`},scenario:{label:`Scenario`,fill:`#475569`,stroke:`#334155`},persona:{label:`Persona`,fill:`#0f766e`,stroke:`#115e59`},resource:{label:`Resource`,fill:`#4f46e5`,stroke:`#4338ca`},entity:{label:`Entity`,fill:`#9333ea`,stroke:`#7e22ce`},valueSet:{label:`Value set`,fill:`#64748b`,stroke:`#475569`}},P={contains:{label:`Contains`,color:`#94a3b8`},reads:{label:`Reads`,color:`#7c3aed`},writes:{label:`Writes`,color:`#16a34a`},emits:{label:`Emits`,color:`#db2777`},transitions:{label:`Transitions`,color:`#0891b2`},asserts:{label:`Asserts`,color:`#ca8a04`},uses:{label:`Uses`,color:`#475569`},handles:{label:`Handles`,color:`#2563eb`}},F=new Set([`writes`,`emits`,`transitions`]),I=.14,L=.035,R=e=>Math.max(13,Math.min(38,13+Math.sqrt(e)*6)),z=(e,t)=>{let n=e.replace(`#`,``);return n.length===6?`rgba(${Number.parseInt(n.slice(0,2),16)},${Number.parseInt(n.slice(2,4),16)},${Number.parseInt(n.slice(4,6),16)},${t})`:e},B=e=>{let t=e.replace(`#`,``);if(t.length!==6)return`#000000`;let n=e=>{let t=Number.parseInt(e,16)/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4},r=n(t.slice(0,2)),i=n(t.slice(2,4)),a=n(t.slice(4,6)),o=.2126*r+.7152*i+.0722*a;return(o+.05)/.05>=1.05/(o+.05)?`#000000`:`#ffffff`},V=e=>e>700?220:e>300?280:180,de=e=>e>700?2600:e>300?3200:2400,fe=class{runtime;container;callbacks;network=null;nodes=null;edges=null;signature=``;currentInput=null;highlightFrame=null;highlighted={nodes:new Set,edges:new Set};selectionEventsSuppressed=!1;stabilizeTimeout=null;settle=()=>this.freezePhysics();constructor(e,t,n={}){this.runtime=e,this.container=t,this.callbacks=n}render(e){this.currentInput=e;let t=this.signatureFor(e);if(!this.network){this.createNetwork(e,t);return}if(t===this.signature){this.select(e.selectedId,e.selectedEdgeId,!1);return}this.signature=t,this.clearHighlight(),this.nodes?.clear(),this.edges?.clear(),this.nodes?.add(this.toNodes(e)),this.edges?.add(this.toEdges(e)),this.startStabilization(e.graph.nodes.length),this.select(e.selectedId,e.selectedEdgeId,!1)}relayout(e){this.network&&(this.clearHighlight(),this.startStabilization(e))}fit(){this.network?.fit({animation:{duration:220,easingFunction:`easeInOutQuad`}})}zoomBy(e){if(!this.network)return;let t=Math.max(.04,Math.min(5,this.network.getScale()*e));this.network.moveTo({scale:t,animation:{duration:120,easingFunction:`easeInOutQuad`}})}focus(e){this.network?.focus(e,{scale:1.08,animation:{duration:260,easingFunction:`easeInOutQuad`}})}select(e,t=null,n=!0){if(this.network){this.selectionEventsSuppressed=!0;try{this.network.setSelection({nodes:e?[e]:[],edges:!e&&t?[t]:[]},{highlightEdges:!1})}finally{this.selectionEventsSuppressed=!1}if(e){this.highlightNodeNeighborhood(e,n);return}if(t){this.highlightEdgeNeighborhood(t,n);return}this.clearHighlight()}}destroy(){this.clearPendingWork(),this.network?.destroy(),this.network=null,this.nodes=null,this.edges=null}createNetwork(e,t){let n=new this.runtime.DataSet(this.toNodes(e)),r=new this.runtime.DataSet(this.toEdges(e));this.nodes=n,this.edges=r;let i=new this.runtime.Network(this.container,{nodes:n,edges:r},this.options(e.graph.nodes.length));this.network=i,this.signature=t,i.on(`stabilizationProgress`,e=>{if(!e?.total)return;let t=Math.min(100,Math.round(e.iterations/e.total*100));this.callbacks.onStabilizationProgress?.(t),t>=100&&setTimeout(()=>this.freezePhysics(),0)}),i.on(`selectNode`,e=>{if(this.selectionEventsSuppressed)return;let t=e?.nodes?.find(e=>typeof e==`string`)??null;this.callbacks.onSelectedNodeChange?.(t),this.callbacks.onSelectedEdgeChange?.(null),t&&this.highlightNodeNeighborhood(t,!0)}),i.on(`selectEdge`,e=>{if(this.selectionEventsSuppressed)return;let t=e?.edges?.find(e=>typeof e==`string`)??null;this.callbacks.onSelectedNodeChange?.(null),this.callbacks.onSelectedEdgeChange?.(t),t&&this.highlightEdgeNeighborhood(t,!0)}),i.on(`deselectNode`,()=>{this.selectionEventsSuppressed||this.network?.getSelection().edges.length||(this.callbacks.onSelectedNodeChange?.(null),this.clearHighlight())}),i.on(`deselectEdge`,()=>{this.selectionEventsSuppressed||this.network?.getSelection().nodes.length||(this.callbacks.onSelectedEdgeChange?.(null),this.clearHighlight())}),this.startStabilization(e.graph.nodes.length)}startStabilization(e){this.network&&(this.clearStabilizationTimeout(),this.callbacks.onSettledChange?.(!1),this.callbacks.onStabilizationProgress?.(0),this.network.off(`stabilized`,this.settle),this.network.once(`stabilized`,this.settle),this.network.setOptions(this.options(e)),this.network.stabilize(V(e)),this.stabilizeTimeout=setTimeout(()=>this.freezePhysics(),de(e)))}freezePhysics(){this.network&&(this.clearStabilizationTimeout(),this.network.off(`stabilized`,this.settle),this.network.storePositions(),this.network.stopSimulation(),this.network.setOptions({physics:!1}),this.callbacks.onStabilizationProgress?.(100),this.callbacks.onSettledChange?.(!0))}options(e){return{autoResize:!0,interaction:{hover:!1,tooltipDelay:1e6,dragNodes:!0,dragView:!0,zoomView:!0,multiselect:!1,navigationButtons:!1,keyboard:!1,hideEdgesOnDrag:!0,hideEdgesOnZoom:!0},layout:{improvedLayout:e<350},physics:{enabled:!0,solver:`forceAtlas2Based`,stabilization:{enabled:!0,iterations:V(e),updateInterval:40,fit:!0},forceAtlas2Based:{gravitationalConstant:e>500?-34:-48,centralGravity:.014,springLength:e>500?95:120,springConstant:.055,damping:.74,avoidOverlap:e>500?.25:.45},adaptiveTimestep:!0,minVelocity:2.2,maxVelocity:28},nodes:{chosen:!0,scaling:{min:13,max:42},shapeProperties:{borderRadius:4}},edges:{chosen:!1,selectionWidth:1}}}toNodes(e){return e.graph.nodes.map(t=>this.nodeFor(t,e,t.id===e.selectedId?`selected`:`base`))}nodeFor(e,t,n){let r=t.labelsVisible||t.graph.nodes.length<90,i=t.nodeTheme[e.type],a=n===`dimmed`,o=n===`selected`,s=n===`highlighted`||o,c=!a&&(r||e.degree>5||e.type===`feature`||s),l=e.type!==`feature`&&c;return{id:e.id,label:c?e.label:``,title:`${i.label}: ${e.label}${e.detail?`\n${e.detail}`:``}`,value:Math.max(1,e.degree),size:R(e.degree),shape:e.type===`feature`||!c?`dot`:`box`,color:{background:a?z(i.fill,I):i.fill,border:a?z(i.stroke,.2):o?`#020617`:i.stroke,highlight:{background:i.fill,border:`#020617`},hover:{background:i.fill,border:i.stroke}},borderWidth:o?5:s?3.5:1.5,font:{color:l?B(i.fill):`#0f172a`,size:o?16:s?13:12,face:`Inter, ui-sans-serif, system-ui, sans-serif`,strokeWidth:l||a?0:4,strokeColor:`rgba(255,255,255,0.92)`},margin:l?{top:6,right:10,bottom:6,left:10}:void 0,widthConstraint:l?{maximum:220}:void 0,shadow:!a&&(s||e.type===`feature`||e.degree>8)}}toEdges(e){return e.graph.edges.map(t=>this.edgeFor(t,e.edgeTheme,`base`))}edgeFor(e,t,n){let r=F.has(e.kind),i=n===`selected`?.96:n===`highlighted`?.82:n===`dimmed`?L:r?.42:.18;return{id:e.id,from:e.from,to:e.to,title:e.label??t[e.kind].label,color:{color:t[e.kind].color,opacity:i},width:n===`selected`?3:n===`highlighted`?2.2:r?1.5:.7,dashes:e.kind===`contains`,arrows:{to:{enabled:e.kind!==`contains`,scaleFactor:.45}},smooth:!1}}highlightNodeNeighborhood(e,t){!this.network||!this.nodes||!this.edges||(this.highlightFrame!==null&&cancelAnimationFrame(this.highlightFrame),this.highlightFrame=requestAnimationFrame(()=>{let n=this.currentInput;if(!this.network||!this.nodes||!this.edges||!n)return;let r=new Set([e,...this.network.getConnectedNodes(e).filter(e=>typeof e==`string`||typeof e==`number`)]),i=new Set(this.network.getConnectedEdges(e));this.applyFocusMask({selectedNodeId:e,highlightedNodes:r,highlightedEdges:i}),t&&this.fitNeighborhood(r),this.highlighted={nodes:r,edges:i},this.highlightFrame=null}))}highlightEdgeNeighborhood(e,t){!this.network||!this.nodes||!this.edges||(this.highlightFrame!==null&&cancelAnimationFrame(this.highlightFrame),this.highlightFrame=requestAnimationFrame(()=>{let n=this.currentInput;if(!this.network||!this.nodes||!this.edges||!n)return;let r=n.graph.edges.find(t=>t.id===e);if(!r)return;let i=new Set([r.from,r.to]),a=new Set([e]);for(let e of[r.from,r.to]){for(let t of this.network.getConnectedNodes(e))(typeof t==`string`||typeof t==`number`)&&i.add(t);for(let t of this.network.getConnectedEdges(e))a.add(t)}this.applyFocusMask({selectedEdgeId:e,highlightedNodes:i,highlightedEdges:a}),t&&this.fitNeighborhood(i),this.highlighted={nodes:i,edges:a},this.highlightFrame=null}))}applyFocusMask({selectedNodeId:e,selectedEdgeId:t,highlightedNodes:n,highlightedEdges:r}){if(!this.nodes||!this.edges)return;let i=this.currentInput;i&&(this.nodes.update(i.graph.nodes.map(t=>{let r=t.id===e?`selected`:n.has(t.id)?`highlighted`:`dimmed`;return this.nodeFor(t,i,r)})),this.edges.update(i.graph.edges.map(e=>{let n=e.id===t?`selected`:r.has(e.id)?`highlighted`:`dimmed`;return this.edgeFor(e,i.edgeTheme,n)})))}fitNeighborhood(e){!this.network||e.size===0||this.network.fit({nodes:[...e],minZoomLevel:.24,maxZoomLevel:1.18,animation:{duration:320,easingFunction:`easeInOutQuad`}})}clearHighlight(){this.clearPendingHighlight(),this.restoreHighlightBase(),this.highlighted={nodes:new Set,edges:new Set}}restoreHighlightBase(){if(!this.nodes||!this.edges)return;let e=this.currentInput;e&&(this.nodes.update(e.graph.nodes.map(t=>this.nodeFor(t,e,t.id===e.selectedId?`selected`:`base`))),this.edges.update(e.graph.edges.map(t=>this.edgeFor(t,e.edgeTheme,`base`))))}clearPendingWork(){this.clearPendingHighlight(),this.clearStabilizationTimeout()}clearPendingHighlight(){this.highlightFrame!==null&&(cancelAnimationFrame(this.highlightFrame),this.highlightFrame=null)}clearStabilizationTimeout(){this.stabilizeTimeout&&=(clearTimeout(this.stabilizeTimeout),null)}signatureFor(e){return`${e.graph.nodes.map(e=>e.id).join(`|`)}::${e.graph.edges.map(e=>e.id).join(`|`)}::labels=${e.labelsVisible}`}},pe=l(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 shrink-0 text-brand-600" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>`),me=c(`<button type="button" role="menuitemcheckbox" class="flex w-full items-center gap-2.5 rounded-md px-2 py-1.5 text-left text-sm transition hover:bg-slate-50"><span class="h-2.5 w-2.5 shrink-0 rounded-full"></span> <span> </span> <!></button>`),he=l(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 shrink-0 text-brand-600" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>`),ge=c(`<div role="menu" class="absolute right-0 top-11 z-20 w-64 overflow-hidden rounded-xl border border-slate-200 bg-white p-2 shadow-xl shadow-slate-950/10"><div class="flex items-center justify-between px-2 pb-1 pt-1"><span class="text-[10px] font-semibold uppercase tracking-wide text-slate-400">Connections</span> <div class="flex gap-1"><button type="button" class="rounded px-1.5 py-0.5 text-[11px] font-medium text-brand-700 hover:bg-brand-50">All</button> <button type="button" class="rounded px-1.5 py-0.5 text-[11px] font-medium text-slate-500 hover:bg-slate-100">None</button></div></div> <!> <div class="my-1 h-px bg-slate-100"></div> <button type="button" role="menuitemcheckbox" class="flex w-full items-center gap-2.5 rounded-md px-2 py-1.5 text-left text-sm transition hover:bg-slate-50"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 shrink-0 text-slate-400" aria-hidden="true"><path d="M20.59 13.41 13.42 20.6a2 2 0 0 1-2.83 0L3 13V4h9z"></path><path d="M7.5 7.5h.01"></path></svg> <span>Labels</span> <!></button> <div class="my-1 h-px bg-slate-100"></div> <div class="flex gap-1.5 px-1 pb-1 pt-0.5"><button type="button" class="flex-1 rounded-md border border-slate-200 px-2 py-1.5 text-xs font-medium text-slate-700 transition hover:bg-slate-50">Re-layout</button> <button type="button" class="flex-1 rounded-md border border-slate-200 px-2 py-1.5 text-xs font-medium text-slate-700 transition hover:bg-slate-50">Reset</button></div></div>`),_e=c(`<div class="pointer-events-none absolute left-3 top-3 z-10 w-56 rounded-md border border-slate-200 bg-white/90 p-3 text-xs text-slate-600 shadow-sm backdrop-blur"><div class="flex justify-between font-medium text-slate-800"><span>Stabilizing layout</span> <span> </span></div> <div class="mt-2 h-1.5 overflow-hidden rounded-full bg-slate-200"><div class="h-full rounded-full bg-brand-500 transition-all"></div></div></div>`),ve=c(`<span class="inline-flex items-center gap-1 rounded-full border border-slate-200 bg-white px-2 py-1 text-xs text-slate-700"><span class="h-2 w-2 rounded-full"></span> </span>`),ye=c(`<button type="button" class="w-full rounded-md border border-slate-200 bg-white px-3 py-2 text-left hover:border-brand-300 hover:bg-brand-50"><span class="block truncate text-sm font-medium text-slate-900"> </span> <span class="text-xs text-slate-500"> </span></button>`),be=c(`<p class="mt-2 text-sm leading-6 text-slate-600"> </p>`),xe=c(`<a class="mt-3 inline-flex text-sm font-medium text-brand-700 hover:underline">Open in editor</a>`),Se=c(`<p class="text-xs font-semibold uppercase tracking-wide text-slate-500"> </p> <h3 class="mt-1 text-base font-semibold text-slate-950"> </h3> <!> <p class="mt-2 text-xs text-slate-500"> </p> <!>`,1),Ce=c(`<p class="text-xs font-semibold uppercase tracking-wide text-slate-500"> </p> <h3 class="mt-1 text-base font-semibold text-slate-950"> </h3> <p class="mt-2 text-sm leading-6 text-slate-600"> </p> <p class="mt-2 text-xs text-slate-500">Click another node or edge to move the highlighted neighborhood.</p>`,1),we=c(`<h3 class="text-sm font-semibold text-slate-950">Explore the Map</h3> <p class="mt-2 text-sm leading-6 text-slate-600">Click a node or edge to highlight its linked behavior. Hover highlighting is disabled so
|
|
2
|
+
the canvas stays lighter on slower laptops.</p>`,1),Te=c(`<section class="space-y-4"><div class="overflow-hidden rounded-lg border border-slate-200 bg-white shadow-sm shadow-slate-950/5"><div class="border-b border-slate-200 bg-slate-950 px-4 py-4 text-white"><a class="inline-flex items-center gap-1.5 text-sm font-medium text-slate-400 transition hover:text-white"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4" aria-hidden="true"><path d="M15 18l-6-6 6-6"></path></svg> </a> <div class="mt-3 min-w-0"><p class="text-xs font-semibold uppercase tracking-wide text-cyan-200">Behavior Graph</p> <h2 class="mt-1 truncate text-2xl font-semibold"> </h2> <p class="mt-1 max-w-3xl text-sm leading-6 text-slate-300"> </p></div></div> <div class="grid gap-0 lg:grid-cols-[minmax(0,1fr)_320px]"><div class="min-w-0 border-b border-slate-200 lg:border-b-0 lg:border-r"><div class="graph-canvas relative svelte-1wx4hks"><div class="h-[76vh] min-h-[720px] w-full"></div> <div class="absolute right-3 top-3 z-10 flex items-start gap-2"><div class="relative"><label for="graph-search" class="sr-only">Search nodes</label> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="pointer-events-none absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400" aria-hidden="true"><circle cx="11" cy="11" r="7"></circle><path d="m20 20-3.5-3.5"></path></svg> <input id="graph-search" type="search" placeholder="Search nodes" class="h-9 w-44 rounded-lg border border-slate-200 bg-white/95 pl-8 pr-3 text-sm shadow-sm outline-none backdrop-blur transition focus:border-brand-400 focus:ring-2 focus:ring-brand-500/15 sm:w-60"/></div> <div class="relative"><button type="button" aria-haspopup="menu"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4" aria-hidden="true"><path d="M3 5h18l-7 8v6l-4-2v-4z"></path></svg> <span class="hidden sm:inline">Filters</span> <span class="rounded-full bg-slate-100 px-1.5 text-[11px] font-semibold text-slate-600"> </span></button> <!></div></div> <div class="absolute bottom-3 right-3 z-10 flex flex-col overflow-hidden rounded-lg border border-slate-200 bg-white/95 shadow-sm backdrop-blur"><button type="button" aria-label="Zoom in" class="grid h-9 w-9 place-items-center text-lg font-semibold leading-none text-slate-700 transition hover:bg-slate-100">+</button> <div class="h-px bg-slate-200"></div> <button type="button" aria-label="Zoom out" class="grid h-9 w-9 place-items-center text-lg font-semibold leading-none text-slate-700 transition hover:bg-slate-100">−</button> <div class="h-px bg-slate-200"></div> <button type="button" aria-label="Fit graph to view" class="grid h-9 w-9 place-items-center text-slate-700 transition hover:bg-slate-100"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4" aria-hidden="true"><path d="M4 9V5a1 1 0 0 1 1-1h4"></path><path d="M20 9V5a1 1 0 0 0-1-1h-4"></path><path d="M4 15v4a1 1 0 0 0 1 1h4"></path><path d="M20 15v4a1 1 0 0 1-1 1h-4"></path></svg></button></div> <!></div></div> <aside class="space-y-4 p-4"><div><h3 class="text-sm font-semibold text-slate-950">Graph Summary</h3> <div class="mt-3 grid grid-cols-2 gap-2 text-sm"><div class="rounded-md bg-slate-100 p-3"><div class="text-2xl font-semibold text-slate-950"> </div> <div class="text-xs text-slate-500">nodes</div></div> <div class="rounded-md bg-slate-100 p-3"><div class="text-2xl font-semibold text-slate-950"> </div> <div class="text-xs text-slate-500">edges</div></div></div></div> <div><h3 class="text-sm font-semibold text-slate-950">Node Types</h3> <div class="mt-2 flex flex-wrap gap-1.5"></div></div> <div><h3 class="text-sm font-semibold text-slate-950">Central Nodes</h3> <div class="mt-2 space-y-2"></div></div> <div class="rounded-md border border-slate-200 bg-slate-50 p-3"><!></div></aside></div></div></section>`);function H(a,c){x(c,!0);let l=T(``),O=T(null),k=T(null),j=T(!1),M=T(!1),F=T(0),I=T(null),L=null,R=T(e({contains:!1,reads:!0,writes:!0,emits:!0,transitions:!0,asserts:!0,uses:!0,handles:!0})),z=T(!1),B=T(null),V=A.length,de=w(()=>A.filter(e=>D(R)[e]).length),H=e=>{_(R,Object.fromEntries(A.map(t=>[t,e])),!0)},Ee=e=>{D(z)&&D(B)&&!D(B).contains(e.target)&&_(z,!1)},U=w(()=>c.features??(c.feature?[c.feature]:[])),De=w(()=>c.project?.name??c.feature?.name??`Behavior graph`),Oe=w(()=>c.project?`The whole project behavior map across ${D(U).length} feature${D(U).length===1?``:`s`} from the shared Unspa hub.`:`A connected map of the executable behavior model from the shared Unspa hub.`),ke=w(()=>c.project?`/projects/${c.project.id}`:c.feature?`/features/${c.feature.id}`:`/projects`),Ae=w(()=>c.project?`Back to project`:`Back to editor`),je=w(()=>ce(D(U),c.project)),W=w(()=>le(D(je))),G=w(()=>ue(D(W),{search:D(l),enabledKinds:D(R)})),K=w(()=>D(O)?D(W).nodeById.get(D(O))??null:null),q=w(()=>D(k)?D(G).edges.find(e=>e.id===D(k))??null:null),Me=w(()=>D(q)?D(W).nodeById.get(D(q).from)??null:null),Ne=w(()=>D(q)?D(W).nodeById.get(D(q).to)??null:null),Pe=w(()=>[...D(W).nodes].sort((e,t)=>t.degree-e.degree).slice(0,6)),Fe=w(()=>{let e=new Map;for(let t of D(W).nodes)e.set(t.type,(e.get(t.type)??0)+1);return e}),Ie=()=>{L?.render({graph:D(G),selectedId:D(O),selectedEdgeId:D(k),labelsVisible:D(j),nodeTheme:N,edgeTheme:P})},Le=e=>{_(R,{...D(R),[e]:!D(R)[e]},!0)},Re=()=>{_(O,null),_(k,null),_(l,``),L?.fit()},ze=e=>{_(O,e,!0),_(k,null),L?.select(e,null)};i(()=>{D(G).nodes,D(G).edges,D(j),D(O),D(k),Ie()}),re(()=>{let e=!1,t=()=>L?.fit();return(async()=>{let n=await oe(()=>import(`./D5speDV82.js`),[],import.meta.url);e||!D(I)||(L=new fe(n,D(I),{onSelectedNodeChange:e=>{_(O,e,!0)},onSelectedEdgeChange:e=>{_(k,e,!0)},onStabilizationProgress:e=>{_(F,e,!0)},onSettledChange:e=>{_(M,e,!0)}}),Ie(),window.addEventListener(`resize`,t))})(),()=>{e=!0,window.removeEventListener(`resize`,t)}}),ne(()=>{L?.destroy(),L=null});var J=Te();d(`mousedown`,m,Ee),d(`keydown`,m,e=>{e.key===`Escape`&&_(z,!1)});var Be=p(J),Y=p(Be),X=p(Y),Ve=u(p(X));S(X);var He=u(X,2),Ue=u(p(He),2),We=p(Ue,!0);S(Ue);var Ge=u(Ue,2),Ke=p(Ge,!0);S(Ge),S(He),S(Y);var qe=u(Y,2),Je=p(qe),Ye=p(Je),Xe=p(Ye);ie(Xe,e=>_(I,e),()=>D(I));var Ze=u(Xe,2),Qe=p(Ze),$e=u(p(Qe),4);b($e),S(Qe);var et=u(Qe,2),Z=p(et),tt=u(p(Z),4),nt=p(tt);S(tt),S(Z);var rt=u(Z,2),it=e=>{var i=ge(),a=p(i),s=u(p(a),2),c=p(s),l=u(c,2);S(s),S(a);var d=u(a,2);r(d,17,()=>A,n,(e,n)=>{let r=w(()=>D(R)[D(n)]);var i=me(),a=p(i),s=u(a,2),c=p(s,!0);S(s);var l=u(s,2),d=e=>{v(e,pe())};y(l,e=>{D(r)&&e(d)}),S(i),f(()=>{E(i,`aria-checked`,D(r)),g(a,`background:${P[D(n)].color};opacity:${D(r)?1:.3}`),ae(s,1,`flex-1 truncate ${D(r)?`text-slate-800`:`text-slate-400`}`),t(c,P[D(n)].label)}),o(`click`,i,()=>Le(D(n))),v(e,i)});var m=u(d,4),h=u(p(m),2),ee=u(h,2),te=e=>{v(e,he())};y(ee,e=>{D(j)&&e(te)}),S(m);var b=u(m,4),x=p(b),ne=u(x,2);S(b),S(i),f(()=>{E(m,`aria-checked`,D(j)),ae(h,1,`flex-1 ${D(j)?`text-slate-800`:`text-slate-600`}`)}),o(`click`,c,()=>H(!0)),o(`click`,l,()=>H(!1)),o(`click`,m,()=>_(j,!D(j))),o(`click`,x,()=>L?.relayout(D(G).nodes.length)),o(`click`,ne,()=>{Re(),_(z,!1)}),v(e,i)};y(rt,e=>{D(z)&&e(it)}),S(et),ie(et,e=>_(B,e),()=>D(B)),S(Ze);var at=u(Ze,2),ot=p(at),st=u(ot,4),ct=u(st,4);S(at);var lt=u(at,2),ut=e=>{var n=_e(),r=p(n),i=u(p(r),2),a=p(i);S(i),S(r);var o=u(r,2),s=p(o);S(o),S(n),f(()=>{t(a,`${D(F)??``}%`),g(s,`width:${D(F)}%`)}),v(e,n)};y(lt,e=>{!D(M)&&D(F)<100&&e(ut)}),S(Ye),S(Je);var dt=u(Je,2),ft=p(dt),pt=u(p(ft),2),Q=p(pt),mt=p(Q),ht=p(mt,!0);S(mt),C(2),S(Q);var gt=u(Q,2),_t=p(gt),vt=p(_t,!0);S(_t),C(2),S(gt),S(pt),S(ft);var yt=u(ft,2),bt=u(p(yt),2);r(bt,21,()=>se,n,(e,n)=>{var r=s(),i=h(r),a=e=>{var r=ve(),i=p(r),a=u(i);S(r),f(e=>{g(i,`background:${N[D(n)].fill}`),t(a,` ${N[D(n)].label??``} ${e??``}`)},[()=>D(Fe).get(D(n))]),v(e,r)},o=w(()=>D(Fe).get(D(n)));y(i,e=>{D(o)&&e(a)}),v(e,r)}),S(bt),S(yt);var $=u(yt,2),xt=u(p($),2);r(xt,21,()=>D(Pe),n,(e,n)=>{var r=ye(),i=p(r),a=p(i,!0);S(i);var s=u(i,2),c=p(s);S(s),S(r),f(()=>{t(a,D(n).label),t(c,`${N[D(n).type].label??``} / ${D(n).degree??``} links`)}),o(`click`,r,()=>ze(D(n).id)),v(e,r)}),S(xt),S($);var St=u($,2),Ct=p(St),wt=e=>{var n=Se(),r=h(n),i=p(r,!0);S(r);var a=u(r,2),o=p(a,!0);S(a);var s=u(a,2),c=e=>{var n=be(),r=p(n,!0);S(n),f(()=>t(r,D(K).detail)),v(e,n)};y(s,e=>{D(K).detail&&e(c)});var l=u(s,2),d=p(l);S(l);var m=u(l,2),g=e=>{var t=xe();f(()=>E(t,`href`,D(K).href)),v(e,t)};y(m,e=>{D(K).href&&e(g)}),f(()=>{t(i,N[D(K).type].label),t(o,D(K).label),t(d,`${D(K).degree??``} graph links`)}),v(e,n)},Tt=e=>{var n=Ce(),r=h(n),i=p(r,!0);S(r);var a=u(r,2),o=p(a,!0);S(a);var s=u(a,2),c=p(s);S(s),C(2),f(()=>{t(i,P[D(q).kind].label),t(o,D(q).label??`Behavior link`),t(c,`${D(Me)?.label??D(q).from??``} -> ${D(Ne)?.label??D(q).to??``}`)}),v(e,n)},Et=e=>{var t=we();C(2),v(e,t)};y(Ct,e=>{D(K)?e(wt):D(q)?e(Tt,1):e(Et,-1)}),S(St),S(dt),S(qe),S(Be),S(J),f(()=>{E(X,`href`,D(ke)),t(Ve,` ${D(Ae)??``}`),t(We,D(De)),t(Ke,D(Oe)),E(Xe,`aria-label`,`Interactive behavior graph for ${D(De)}`),E(Z,`aria-expanded`,D(z)),ae(Z,1,`flex h-9 items-center gap-1.5 rounded-lg border bg-white/95 px-2.5 text-sm font-medium shadow-sm backdrop-blur transition ${D(z)?`border-brand-400 text-slate-900`:`border-slate-200 text-slate-700 hover:bg-white`}`),t(nt,`${D(de)??``}/${V??``}`),t(ht,D(W).nodes.length),t(vt,D(W).edges.length)}),ee($e,()=>D(l),e=>_(l,e)),o(`click`,Z,()=>_(z,!D(z))),o(`click`,ot,()=>L?.zoomBy(1.38)),o(`click`,st,()=>L?.zoomBy(.72)),o(`click`,ct,()=>L?.fit()),v(a,J),te()}a([`click`]);export{H as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,et as t,tt as n,z as r}from"./BPl9BITm.js";import{U as i,V as a,W as o,f as s,h as c,m as l,p as u,t as d}from"./D64sGJRN.js";import{t as f}from"./Cl7Z3e6-.js";import{t as p}from"./BjxqhpPG.js";var m=e=>JSON.stringify({format:`unspaghettit`,version:1,feature:e},null,2),h=e=>{if(`actions`in e)return e;if(`capabilities`in e){let{capabilities:t,...n}=e;return{...n,actions:t}}return e},g=e=>{let t;try{t=JSON.parse(e)}catch(e){throw Error(`Invalid JSON: ${e.message}`)}if(!t||typeof t!=`object`)throw Error(`Expected a feature export object`);let n=t;if(n.format!==`unspaghettit`)throw Error(`Not an Unspaghettit export (missing format field)`);if(n.version!==1)throw Error(`Unsupported export version: ${n.version}`);let r=n.feature??n.experience;if(!r)throw Error(`Export envelope is missing a feature`);let a=(r.surfaces??[]).map(e=>h(e)),o=r,d=o.entities??o.data??[];return s(c(l(u({...r,tags:i(r.tags),surfaces:a,personas:r.personas??[],resources:r.resources??[],entities:d}))))},_=new class{#e=n(!0);get loading(){return r(this.#e)}set loading(e){t(this.#e,e,!0)}#t=n(e([]));get summaries(){return r(this.#t)}set summaries(e){t(this.#t,e,!0)}#n=n(null);get error(){return r(this.#n)}set error(e){t(this.#n,e,!0)}async refresh(){try{this.loading=!0,this.error=null;let e=await d();this.summaries=[...await e.useCases.listFeaturesWithMaturity()]}catch(e){this.error=e.message}finally{this.loading=!1}}async refreshSilent(){try{let e=await d();this.summaries=[...await e.useCases.listFeaturesWithMaturity()],this.error=null}catch(e){this.error=e.message}}async create(e,t){let n=await(await d()).useCases.createFeature({name:e,description:t});return await this.refreshSilent(),f(`feature.created`,{id:n.id,name:n.name}),n.id}async addTag(e,t){let n=await d(),r=await n.useCases.getFeature(e);r&&(await n.useCases.saveFeature({...r,tags:a(r.tags,t)}),await this.refreshSilent())}async removeTag(e,t){let n=await d(),r=await n.useCases.getFeature(e);r&&(await n.useCases.saveFeature({...r,tags:o(r.tags,t)}),await this.refreshSilent())}async remove(e){this.summaries=this.summaries.filter(t=>String(t.id)!==String(e)),await(await d()).useCases.deleteFeature(e),f(`feature.deleted`,{id:e})}async loadSamples(){let e=await(await d()).useCases.loadSamples();return await this.refreshSilent(),await p.refreshSilent(),e}async importJson(e){let t=g(e),n=await d(),r=this.summaries.some(e=>e.id===t.id),i=await n.useCases.saveFeature(t);return await this.refreshSilent(),{id:i.id,name:i.name,overwrote:r}}};export{m as n,_ as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,et as t,rt as n,tt as r,z as i}from"./BPl9BITm.js";import{F as a,I as o,L as s,t as c,z as l}from"./D64sGJRN.js";var u=[{name:`Rose`,color:`#f43f5e`},{name:`Orange`,color:`#f97316`},{name:`Amber`,color:`#f59e0b`},{name:`Lime`,color:`#84cc16`},{name:`Emerald`,color:`#10b981`},{name:`Teal`,color:`#14b8a6`},{name:`Sky`,color:`#0ea5e9`},{name:`Violet`,color:`#8b5cf6`},{name:`Fuchsia`,color:`#d946ef`},{name:`Slate`,color:`#64748b`}],d=(e,t)=>{let n=new Map;if(u.length===0)return n;let r=[...new Set(e.map(e=>e.trim().toLowerCase()).filter(e=>e.length>0))].sort(),i=new Set;for(let e of Object.values(t.assignments))typeof e==`string`&&i.add(e);let a=u.filter(e=>!i.has(e.color)),o=a.length>0?a:u,s=0;for(let e of r){let r=t.assignments[e];typeof r!=`string`&&r!==null&&(n.set(e,o[s%o.length].color),s++)}return n},f=new class{#e=r(e(a));get palette(){return i(this.#e)}set palette(e){t(this.#e,e,!0)}#t=r(!1);get loaded(){return i(this.#t)}set loaded(e){t(this.#t,e,!0)}#n=r(null);get error(){return i(this.#n)}set error(e){t(this.#n,e,!0)}#r=r(e([]));get knownTypes(){return i(this.#r)}set knownTypes(e){t(this.#r,e,!0)}#i=n(()=>d(this.knownTypes,this.palette));get autoColors(){return i(this.#i)}set autoColors(e){t(this.#i,e)}async refresh(){try{let e=await c();this.palette=await e.useCases.getTagPalette(),this.loaded=!0,this.error=null}catch(e){this.error=e.message}}registerTypes(e){if(e.length===0)return;let t=new Set(this.knownTypes),n=!1;for(let r of e){let e=r.trim().toLowerCase();e&&(t.has(e)||(t.add(e),n=!0))}n&&(this.knownTypes=[...t])}colorFor(e){return s(this.palette,e)?null:o(this.palette,e)||(this.autoColors.get(e.trim().toLowerCase())??null)}colorForTag(e){return this.colorFor(e.type)}explicitAssignmentFor(e){return s(this.palette,e)?null:o(this.palette,e)??void 0}isExplicitlyCleared(e){return s(this.palette,e)}async setTypeColor(e,t){let n=this.palette;t!==null&&(this.palette=l(n,e,t));try{let n=await(await c()).useCases.setTagTypeColor({type:e,color:t});this.palette=n}catch(e){throw this.palette=n,this.error=e.message,e}}async renameTag(e,t){let n=await(await c()).useCases.renameTag({from:e,to:t});return await this.refresh(),{projectsUpdated:n.projectsUpdated,featuresUpdated:n.featuresUpdated}}};export{u as n,f as t};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|