unspaghettit 0.2.0 → 0.3.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/build/client/_app/immutable/assets/0.DSctqr5I.css +1 -0
- 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/BehaviorGraph.Bk0xQRZk.css +1 -0
- package/build/client/_app/immutable/assets/BehaviorGraph.Bk0xQRZk.css.br +0 -0
- package/build/client/_app/immutable/assets/BehaviorGraph.Bk0xQRZk.css.gz +0 -0
- package/build/client/_app/immutable/chunks/9nXQ5qrY2.js +1 -0
- 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 +1 -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 +1 -0
- package/build/client/_app/immutable/chunks/BCEY79Dw.js.br +2 -0
- package/build/client/_app/immutable/chunks/BCEY79Dw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DBJWcC6Y.js → BYIrIC5L.js} +1 -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 +1 -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/BvOhVtZg.js +1 -0
- package/build/client/_app/immutable/chunks/BvOhVtZg.js.br +1 -0
- package/build/client/_app/immutable/chunks/BvOhVtZg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CY3em1ma2.js +1 -0
- 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 +1 -0
- 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/D5speDV82.js +908 -0
- package/build/client/_app/immutable/chunks/D5speDV82.js.br +0 -0
- package/build/client/_app/immutable/chunks/D5speDV82.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DkxwAIfJ2.js +1 -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/{DatGSObE.js → OJscNS3T.js} +1 -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 +2 -0
- 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/entry/app.Cd4S3giu.js +2 -0
- 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 +1 -0
- 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 +4 -0
- 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.KYdA6ppX.js → 1.Dyte3Ggf.js} +1 -1
- package/build/client/_app/immutable/nodes/1.Dyte3Ggf.js.br +2 -0
- package/build/client/_app/immutable/nodes/1.Dyte3Ggf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.ivxAosDg.js +2 -0
- 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/{9.CMW6a2Lg.js → 11.wvMfJKC2.js} +1 -1
- 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.DBz20KgG.js → 2.CmPPom9Z.js} +1 -1
- 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 +1 -0
- 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.BvMzqBJj.js → 4.DbfAvO8Z.js} +1 -1
- 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 +42 -0
- 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 +1 -0
- 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/{6.BOHISqs-.js → 7.Ejs18ZUc.js} +1 -1
- 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/{7.CemgNJfw.js → 8.B-HweAc8.js} +1 -1
- 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 +5 -0
- 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/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 +148 -0
- package/build/client/lyriks_logo.svg.br +0 -0
- package/build/client/lyriks_logo.svg.gz +0 -0
- package/build/server/chunks/{0-C_o0oz-N.js → 0-Co8kcANG.js} +4 -4
- package/build/server/chunks/{0-C_o0oz-N.js.map → 0-Co8kcANG.js.map} +1 -1
- package/build/server/chunks/1-BSUItTig.js +9 -0
- package/build/server/chunks/{1-DPpKAKXV.js.map → 1-BSUItTig.js.map} +1 -1
- package/build/server/chunks/10-BygvxrZp.js +9 -0
- package/build/server/chunks/10-BygvxrZp.js.map +1 -0
- package/build/server/chunks/11-DRx0tRx2.js +9 -0
- package/build/server/chunks/11-DRx0tRx2.js.map +1 -0
- package/build/server/chunks/{2-AlfFqtL1.js → 2-BQT3m1vc.js} +3 -3
- package/build/server/chunks/{2-AlfFqtL1.js.map → 2-BQT3m1vc.js.map} +1 -1
- package/build/server/chunks/{3-vbjUt_51.js → 3-DPZ9BquJ.js} +3 -3
- package/build/server/chunks/{3-vbjUt_51.js.map → 3-DPZ9BquJ.js.map} +1 -1
- package/build/server/chunks/{4-BNow4x6D.js → 4-DHo47YX6.js} +3 -3
- package/build/server/chunks/{4-BNow4x6D.js.map → 4-DHo47YX6.js.map} +1 -1
- package/build/server/chunks/5-Cp9evBAG.js +9 -0
- package/build/server/chunks/5-Cp9evBAG.js.map +1 -0
- package/build/server/chunks/6-DiBq3bOV.js +9 -0
- package/build/server/chunks/6-DiBq3bOV.js.map +1 -0
- package/build/server/chunks/{6-QQ7r8Rd5.js → 7-C4hmS0dG.js} +3 -3
- package/build/server/chunks/{6-QQ7r8Rd5.js.map → 7-C4hmS0dG.js.map} +1 -1
- package/build/server/chunks/{7-CbPLGaIG.js → 8-CFFuDzBC.js} +4 -4
- package/build/server/chunks/{7-CbPLGaIG.js.map → 8-CFFuDzBC.js.map} +1 -1
- package/build/server/chunks/9-nhhKZJrs.js +9 -0
- package/build/server/chunks/9-nhhKZJrs.js.map +1 -0
- package/build/server/chunks/BehaviorGraph-m5kYj5HH.js +757 -0
- package/build/server/chunks/BehaviorGraph-m5kYj5HH.js.map +1 -0
- package/build/server/chunks/{FeatureCard-BQOY6gJQ.js → FeatureCard-CfbXNYe8.js} +2 -2
- package/build/server/chunks/{FeatureCard-BQOY6gJQ.js.map → FeatureCard-CfbXNYe8.js.map} +1 -1
- package/build/server/chunks/{ProgressBar-CfhccQ83.js → ProgressBar-DDoQJ_C9.js} +2 -2
- package/build/server/chunks/ProgressBar-DDoQJ_C9.js.map +1 -0
- package/build/server/chunks/{ProjectsIndex-CoDrvRya.js → ProjectsIndex-DUVJ3hyL.js} +2 -2
- package/build/server/chunks/{ProjectsIndex-CoDrvRya.js.map → ProjectsIndex-DUVJ3hyL.js.map} +1 -1
- package/build/server/chunks/TransitionCatalog-B8zHs-2E.js +271 -0
- package/build/server/chunks/TransitionCatalog-B8zHs-2E.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-BREws55o.js → _layout.svelte-CLTmk0xU.js} +66 -15
- package/build/server/chunks/_layout.svelte-CLTmk0xU.js.map +1 -0
- package/build/server/chunks/{_page.svelte-De508ek8.js → _page.svelte-B1nG3PKn.js} +4 -4
- package/build/server/chunks/{_page.svelte-De508ek8.js.map → _page.svelte-B1nG3PKn.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Zf9H4KOP.js → _page.svelte-BW_nbAAH.js} +11 -315
- package/build/server/chunks/_page.svelte-BW_nbAAH.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BqSC-1vK.js → _page.svelte-Caq7J0jU.js} +91 -47
- package/build/server/chunks/_page.svelte-Caq7J0jU.js.map +1 -0
- package/build/server/chunks/{_page.svelte-B7hT3P8E.js → _page.svelte-Cham-dsM.js} +4 -4
- package/build/server/chunks/{_page.svelte-B7hT3P8E.js.map → _page.svelte-Cham-dsM.js.map} +1 -1
- package/build/server/chunks/_page.svelte-Dhwjwph_.js +41 -0
- package/build/server/chunks/_page.svelte-Dhwjwph_.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BKKCa9H5.js → _page.svelte-DlFVT40-.js} +3 -3
- package/build/server/chunks/{_page.svelte-BKKCa9H5.js.map → _page.svelte-DlFVT40-.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BtI2zZ_Z.js → _page.svelte-NVT2dzpG.js} +176 -327
- package/build/server/chunks/_page.svelte-NVT2dzpG.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BKTveFAj.js → _page.svelte-Oj-W7G5s.js} +5 -5
- package/build/server/chunks/{_page.svelte-BKTveFAj.js.map → _page.svelte-Oj-W7G5s.js.map} +1 -1
- package/build/server/chunks/_page.svelte-Z_kK2lHY.js +68 -0
- package/build/server/chunks/_page.svelte-Z_kK2lHY.js.map +1 -0
- package/build/server/chunks/{builderModeStore.svelte-ihupr-3p.js → builderModeStore.svelte-BpRIU_zP.js} +217 -6
- package/build/server/chunks/builderModeStore.svelte-BpRIU_zP.js.map +1 -0
- package/build/server/chunks/client-DeX3TC3s.js +51 -0
- package/build/server/chunks/{client-DfpLcAZ9.js.map → client-DeX3TC3s.js.map} +1 -1
- package/build/server/chunks/{error.svelte-C35KOpru.js → error.svelte-Cdjeq3L2.js} +4 -4
- package/build/server/chunks/{error.svelte-C35KOpru.js.map → error.svelte-Cdjeq3L2.js.map} +1 -1
- package/build/server/chunks/featureStore.svelte-DIYgPBVm.js +161 -0
- package/build/server/chunks/featureStore.svelte-DIYgPBVm.js.map +1 -0
- package/build/server/chunks/{hooks.server-Rv301GTB.js → hooks.server-y3jdg_sB.js} +6 -2
- package/build/server/chunks/hooks.server-y3jdg_sB.js.map +1 -0
- package/build/server/chunks/{internal-BPKrFkK1.js → internal-KYK0WpL7.js} +4 -4
- package/build/server/chunks/{internal-BPKrFkK1.js.map → internal-KYK0WpL7.js.map} +1 -1
- package/build/server/chunks/projectFeaturesStore.svelte-2o-72_vr.js +313 -0
- package/build/server/chunks/projectFeaturesStore.svelte-2o-72_vr.js.map +1 -0
- package/build/server/chunks/{reconcile-Dv7jS3C8.js → reconcile-B5xqb6-s.js} +3 -272
- package/build/server/chunks/reconcile-B5xqb6-s.js.map +1 -0
- package/build/server/chunks/registry-DqAn_hVE.js +21 -0
- package/build/server/chunks/registry-DqAn_hVE.js.map +1 -0
- package/build/server/chunks/{state-CpLVNZq7.js → state-DBjl9lhV.js} +2 -2
- package/build/server/chunks/{state-CpLVNZq7.js.map → state-DBjl9lhV.js.map} +1 -1
- package/build/server/index.js +1 -1
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +33 -17
- package/build/server/manifest.js.map +1 -1
- package/cli/commands/dashboard.ts +14 -0
- package/cli/commands/init.ts +26 -0
- package/cli/commands/theme.ts +62 -0
- package/cli/unspa.ts +38 -2
- package/cli/util/context-files.ts +5 -0
- package/cli/util/theme.ts +34 -0
- package/mcp-server/sync-notifier.ts +88 -35
- package/package.json +2 -1
- package/src/app.css +187 -0
- package/src/app.html +15 -1
- package/src/features/behavior-model/domain/services/BehaviorGraphModel.ts +531 -0
- package/src/features/behavior-model/presentation/adapters/VisBehaviorGraphRenderer.ts +492 -0
- package/src/features/behavior-model/presentation/components/BehaviorGraph.svelte +370 -0
- package/src/features/behavior-model/presentation/components/FeatureHeader.svelte +13 -5
- package/src/features/behavior-model/presentation/view-models/BehaviorGraphTheme.ts +43 -0
- package/src/features/builder-mode/domain/BuilderModeDashboard.ts +7 -1
- package/src/features/builder-mode/presentation/components/BuilderModeDashboard.svelte +78 -16
- package/src/features/builder-mode/presentation/components/BuilderTagChips.svelte +25 -0
- package/src/features/builder-mode/presentation/stores/builderModeStore.svelte.ts +247 -3
- package/src/features/projects/presentation/components/ProjectEditor.svelte +7 -0
- package/src/features/simulator/application/use-cases/RunScenarios.ts +15 -1
- package/src/hooks.server.ts +11 -1
- package/src/lib/theme/registry.ts +77 -0
- package/src/lib/theme/themeStore.svelte.ts +64 -0
- package/src/routes/+layout.svelte +184 -30
- package/src/routes/features/[id]/graph/+page.svelte +34 -0
- package/src/routes/projects/[id]/graph/+page.svelte +79 -0
- package/src/shared/presentation/components/ProgressBar.svelte +1 -1
- package/src/shared/presentation/toast/SyncToast.svelte +14 -3
- package/src/shared/presentation/toast/viewLinkResolver.ts +32 -0
- package/static/lyriks_logo.svg +148 -0
- package/build/client/_app/immutable/assets/0.DFMDYAU9.css +0 -1
- package/build/client/_app/immutable/assets/0.DFMDYAU9.css.br +0 -0
- package/build/client/_app/immutable/assets/0.DFMDYAU9.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BO66rBOa2.js +0 -1
- package/build/client/_app/immutable/chunks/BO66rBOa2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BO66rBOa2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DBJWcC6Y.js.br +0 -0
- package/build/client/_app/immutable/chunks/DBJWcC6Y.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DHoA038D.js +0 -1
- package/build/client/_app/immutable/chunks/DHoA038D.js.br +0 -2
- package/build/client/_app/immutable/chunks/DHoA038D.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DatGSObE.js.br +0 -0
- package/build/client/_app/immutable/chunks/DatGSObE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DjWKKtqp.js +0 -1
- package/build/client/_app/immutable/chunks/DjWKKtqp.js.br +0 -1
- package/build/client/_app/immutable/chunks/DjWKKtqp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dq0DUAz1.js +0 -1
- package/build/client/_app/immutable/chunks/Dq0DUAz1.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dq0DUAz1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/iQu0D9Ux.js +0 -1
- package/build/client/_app/immutable/chunks/iQu0D9Ux.js.br +0 -0
- package/build/client/_app/immutable/chunks/iQu0D9Ux.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CLgh6Mx_.js +0 -2
- package/build/client/_app/immutable/entry/app.CLgh6Mx_.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CLgh6Mx_.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.D5GPCQZD.js +0 -1
- package/build/client/_app/immutable/entry/start.D5GPCQZD.js.br +0 -0
- package/build/client/_app/immutable/entry/start.D5GPCQZD.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BOoI-hsu.js +0 -4
- package/build/client/_app/immutable/nodes/0.BOoI-hsu.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BOoI-hsu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.KYdA6ppX.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.KYdA6ppX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.DBz20KgG.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DBz20KgG.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.19DIoFtw.js +0 -1
- package/build/client/_app/immutable/nodes/3.19DIoFtw.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.19DIoFtw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.BvMzqBJj.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.BvMzqBJj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.Dq6obSGG.js +0 -42
- package/build/client/_app/immutable/nodes/5.Dq6obSGG.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.Dq6obSGG.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BOHISqs-.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BOHISqs-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.CemgNJfw.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.CemgNJfw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.DejSfIYh.js +0 -5
- package/build/client/_app/immutable/nodes/8.DejSfIYh.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DejSfIYh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CMW6a2Lg.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CMW6a2Lg.js.gz +0 -0
- package/build/server/chunks/1-DPpKAKXV.js +0 -9
- package/build/server/chunks/5-D7OCJpxD.js +0 -9
- package/build/server/chunks/5-D7OCJpxD.js.map +0 -1
- package/build/server/chunks/8-CVO-E-sf.js +0 -9
- package/build/server/chunks/8-CVO-E-sf.js.map +0 -1
- package/build/server/chunks/9-DxT1baO5.js +0 -9
- package/build/server/chunks/9-DxT1baO5.js.map +0 -1
- package/build/server/chunks/ProgressBar-CfhccQ83.js.map +0 -1
- package/build/server/chunks/_layout.svelte-BREws55o.js.map +0 -1
- package/build/server/chunks/_page.svelte-BqSC-1vK.js.map +0 -1
- package/build/server/chunks/_page.svelte-BtI2zZ_Z.js.map +0 -1
- package/build/server/chunks/_page.svelte-Zf9H4KOP.js.map +0 -1
- package/build/server/chunks/builderModeStore.svelte-ihupr-3p.js.map +0 -1
- package/build/server/chunks/client-DfpLcAZ9.js +0 -24
- package/build/server/chunks/hooks.server-Rv301GTB.js.map +0 -1
- package/build/server/chunks/reconcile-Dv7jS3C8.js.map +0 -1
- /package/build/client/_app/immutable/assets/{9.nv0I59TU.css → 11.nv0I59TU.css} +0 -0
- /package/build/client/_app/immutable/assets/{9.nv0I59TU.css.br → 11.nv0I59TU.css.br} +0 -0
- /package/build/client/_app/immutable/assets/{9.nv0I59TU.css.gz → 11.nv0I59TU.css.gz} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte-BtI2zZ_Z.js","sources":["../../../.svelte-kit/adapter-node/chunks/NameMatch.js","../../../.svelte-kit/adapter-node/chunks/SubmitGuard.js","../../../.svelte-kit/adapter-node/chunks/featureStore.svelte.js","../../../.svelte-kit/adapter-node/chunks/StatePathReferences.js","../../../.svelte-kit/adapter-node/entries/pages/features/_id_/_page.svelte.js"],"sourcesContent":["//#region src/features/tutorial/domain/services/NameMatch.ts\n/**\n* Domain rule for \"did the user type the name we asked for?\". Used both\n* by the submit guard (to disable the form's submit button) and by the\n* tour-step advance matchers (to refuse advancing on a side-effect\n* whose payload name doesn't match).\n*\n* Comparison policy:\n* - trimmed (the form handlers already trim before emitting; we trim\n* both sides defensively so the guard agrees on the same value)\n* - case-insensitive (asking the user to match capitalisation is too\n* pedantic; \"Hello world\" reads as \"Hello World\" to a human and\n* blocking the submit on that frustrates the tutorial)\n*\n* Kept as a single function so any future change to the matching rule\n* (e.g. unicode normalisation, fuzzy matching, locale-aware compare)\n* is a one-line edit that propagates everywhere automatically.\n*/\nvar isNameMatch = (typed, expected) => typed.trim().toLowerCase() === expected.trim().toLowerCase();\n//#endregion\nexport { isNameMatch as t };\n","import { t as isNameMatch } from \"./NameMatch.js\";\n//#region src/features/tutorial/domain/services/SubmitGuard.ts\n/**\n* For a given form, decide whether the current tour step keeps submit\n* blocked. The check is:\n* 1. There IS an active step that declares `requireExact`.\n* 2. The declaration targets this exact `formId`.\n* 3. The user's typed value (per `isNameMatch`) does NOT equal the\n* required value.\n*\n* Name comparison is delegated to `isNameMatch` so the guard and the\n* tour-step advance matchers agree on what \"exact name\" means.\n*/\nvar evaluateTourSubmitGuard = (step, formId, currentValue) => {\n\tconst req = step?.requireExact;\n\tif (!req || req.formId !== formId) return {\n\t\tblocked: false,\n\t\trequiredValue: null\n\t};\n\treturn {\n\t\tblocked: !isNameMatch(currentValue, req.value),\n\t\trequiredValue: req.value\n\t};\n};\n//#endregion\nexport { evaluateTourSubmitGuard as t };\n","import { l as derived } from \"./index-server.js\";\nimport { t as getBrowserContainer, u as FeatureValidationError } from \"./browserContainer.js\";\nimport { t as emit } from \"./eventBus.js\";\nimport { n as reconcileInPlace, r as getRoomClient, t as deepClonePlain } from \"./reconcile.js\";\n//#region src/features/behavior-model/presentation/stores/featureStore.svelte.ts\nvar FeatureStore = class {\n\tloading = true;\n\tfeature = null;\n\terror = null;\n\tsaveError = null;\n\tsaving = false;\n\thistoryEntries = [];\n\thistoryCursor = -1;\n\t#canUndo = derived(() => this.historyCursor > 0);\n\tget canUndo() {\n\t\treturn this.#canUndo();\n\t}\n\tset canUndo($$value) {\n\t\treturn this.#canUndo($$value);\n\t}\n\t#canRedo = derived(() => this.historyCursor >= 0 && this.historyCursor < this.historyEntries.length - 1);\n\tget canRedo() {\n\t\treturn this.#canRedo();\n\t}\n\tset canRedo($$value) {\n\t\treturn this.#canRedo($$value);\n\t}\n\tcurrentId = null;\n\tclient = null;\n\tclientUnsubscribe = null;\n\thistoryUnsubscribe = null;\n\tasync load(id) {\n\t\ttry {\n\t\t\tthis.loading = true;\n\t\t\tthis.error = null;\n\t\t\tthis.currentId = id;\n\t\t\tconst fresh = await (await getBrowserContainer()).useCases.getFeature(id);\n\t\t\tthis.feature = fresh;\n\t\t\tthis.subscribeRoom(id);\n\t\t} catch (e) {\n\t\t\tthis.error = e.message;\n\t\t} finally {\n\t\t\tthis.loading = false;\n\t\t}\n\t}\n\tasync mutate(mutator) {\n\t\tif (!this.feature || !this.currentId) return;\n\t\tconst currentSnapshot = this.feature;\n\t\tconst next = mutator(currentSnapshot);\n\t\tconst cleanNext = next === currentSnapshot ? currentSnapshot : deepClonePlain(next);\n\t\tthis.applyNext(cleanNext);\n\t\tif (!this.client) return;\n\t\tthis.saving = true;\n\t\tthis.saveError = null;\n\t\ttry {\n\t\t\tthis.client.setSnapshot(cleanNext);\n\t\t\temit(\"feature.saved\", {\n\t\t\t\tid: String(cleanNext.id),\n\t\t\t\tname: cleanNext.name\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tif (e instanceof FeatureValidationError && e.errors.length > 0) this.saveError = `${e.message}\\n• ${e.errors.join(\"\\n• \")}`;\n\t\t\telse this.saveError = e.message;\n\t\t} finally {\n\t\t\tthis.saving = false;\n\t\t}\n\t}\n\tdismissSaveError() {\n\t\tthis.saveError = null;\n\t}\n\treset() {\n\t\tif (this.clientUnsubscribe) {\n\t\t\tthis.clientUnsubscribe();\n\t\t\tthis.clientUnsubscribe = null;\n\t\t}\n\t\tif (this.historyUnsubscribe) {\n\t\t\tthis.historyUnsubscribe();\n\t\t\tthis.historyUnsubscribe = null;\n\t\t}\n\t\tthis.client = null;\n\t\tthis.currentId = null;\n\t\tthis.feature = null;\n\t\tthis.error = null;\n\t\tthis.saveError = null;\n\t\tthis.loading = true;\n\t\tthis.saving = false;\n\t\tthis.historyEntries = [];\n\t\tthis.historyCursor = -1;\n\t}\n\t/**\n\t* Step the shared history cursor backward by one. The server applies the\n\t* previous snapshot to the Y.Doc and broadcasts a fresh history_snapshot;\n\t* the room observer below picks up the resulting remote map write and\n\t* reconciles the live feature into the new state. No local replay, no\n\t* new history entry.\n\t*/\n\tundo() {\n\t\tthis.client?.undo();\n\t}\n\tredo() {\n\t\tthis.client?.redo();\n\t}\n\t/** Time-travel directly to a specific history entry. */\n\tjumpToHistory(entryId) {\n\t\tthis.client?.jumpTo(entryId);\n\t}\n\t/**\n\t* Wipe the feature's shared history. The server replies with a fresh\n\t* snapshot containing a single \"Cleared history\" anchor — every peer\n\t* sees the same wipe via the room's broadcast. The current state of\n\t* the feature itself is untouched.\n\t*/\n\tclearHistory() {\n\t\tthis.client?.clearHistory();\n\t}\n\tsubscribeRoom(id) {\n\t\tif (this.clientUnsubscribe) {\n\t\t\tthis.clientUnsubscribe();\n\t\t\tthis.clientUnsubscribe = null;\n\t\t}\n\t\tif (this.historyUnsubscribe) {\n\t\t\tthis.historyUnsubscribe();\n\t\t\tthis.historyUnsubscribe = null;\n\t\t}\n\t\tconst client = getRoomClient(\"feature\", id);\n\t\tthis.client = client;\n\t\tthis.clientUnsubscribe = client.observe((next, origin) => {\n\t\t\tif (origin === \"local\") return;\n\t\t\tif (!next) return;\n\t\t\tif (this.currentId !== id) return;\n\t\t\tthis.applyNext(next);\n\t\t});\n\t\tthis.historyEntries = client.history.entries;\n\t\tthis.historyCursor = client.history.cursor;\n\t\tthis.historyUnsubscribe = client.observeHistory((view) => {\n\t\t\tif (this.currentId !== id) return;\n\t\t\tthis.historyEntries = view.entries;\n\t\t\tthis.historyCursor = view.cursor;\n\t\t});\n\t}\n\t/**\n\t* Bring the live $state proxy in step with `next` while preserving the\n\t* identity of every unchanged sub-tree. Critical for reorders: a naive\n\t* field-by-field replace (what fast-json-patch generates) creates a\n\t* transient duplicate-id state that Svelte's keyed `{#each}` rejects with\n\t* `each_key_duplicate`. The reconciler moves items via array splice so the\n\t* each block sees a clean rearrangement.\n\t*/\n\tapplyNext(next) {\n\t\tif (!this.feature) {\n\t\t\tthis.feature = next;\n\t\t\treturn;\n\t\t}\n\t\treconcileInPlace(this.feature, next);\n\t}\n};\nvar featureStore = new FeatureStore();\n//#endregion\nexport { featureStore as t };\n","import { F as flattenLeafConditions, H as writePath, N as isExpression } from \"./TagPalette.js\";\n//#region src/features/behavior-model/domain/services/PersonaApplier.ts\n/**\n* Apply a persona's state overrides to a snapshot. State overrides are written\n* in declaration order so later overrides win on conflict. Matches the order\n* the user authored them.\n*/\nvar applyPersonaToSnapshot = (persona, snapshot) => {\n\tlet next = snapshot;\n\tfor (const override of persona.stateOverrides) next = writePath(next, override.path, override.value);\n\treturn next;\n};\n/**\n* Auto-fill action parameters from the persona by name. Existing values in\n* `current` (e.g. typed in by the user) win over persona defaults.\n*/\nvar applyPersonaToParameters = (persona, action, current) => {\n\tconst fromPersona = {};\n\tconst paramNames = new Set(action.parameters.map((p) => p.name));\n\tfor (const override of persona.parameterOverrides) if (paramNames.has(override.parameterName)) fromPersona[override.parameterName] = override.value;\n\treturn {\n\t\t...fromPersona,\n\t\t...current\n\t};\n};\n//#endregion\n//#region src/features/behavior-model/domain/services/ScenarioApplier.ts\n/**\n* Apply a scenario's state overrides to the given snapshot. Overrides are\n* written in declaration order so later entries win on conflict. Matches\n* the order the modeler authored them.\n*/\nvar applyScenarioToSnapshot = (scenario, snapshot) => {\n\tlet next = snapshot;\n\tfor (const override of scenario.stateOverrides) next = writePath(next, override.path, override.value);\n\treturn next;\n};\n/**\n* Auto-fill action parameters from a scenario by name. Existing values in\n* `current` (e.g. typed in by the user, or set by a persona) win over scenario\n* defaults. The scenario only fills slots that aren't already populated.\n*/\nvar applyScenarioToParameters = (scenario, action, current) => {\n\tconst fromScenario = {};\n\tconst paramNames = new Set(action.parameters.map((p) => p.name));\n\tfor (const override of scenario.parameterOverrides) if (paramNames.has(override.parameterName)) fromScenario[override.parameterName] = override.value;\n\treturn {\n\t\t...fromScenario,\n\t\t...current\n\t};\n};\n//#endregion\n//#region src/features/behavior-model/domain/services/StatePathReferences.ts\nvar empty = (path) => ({\n\tpath,\n\tstateDefinitions: 0,\n\tparameterBindings: 0,\n\tparameterResources: 0,\n\tactionRequiredStates: 0,\n\truleConditions: 0,\n\tsetStateEffects: 0,\n\tinvariantConditions: 0,\n\tpersonaStateOverrides: 0,\n\totherDataFields: 0\n});\nvar eq = (a, b) => a === b;\n/**\n* Walk an Expression tree counting how many times `target` appears in\n* `{ kind: 'state', path }` nodes. Literals/params/operators recurse into\n* their children. Non-Expression values short-circuit to 0 (raw literals\n* don't reference state paths).\n*/\nvar countStateRefsInExpression = (value, target) => {\n\tif (!isExpression(value)) return 0;\n\tconst expr = value;\n\tswitch (expr.kind) {\n\t\tcase \"literal\": return 0;\n\t\tcase \"param\": return 0;\n\t\tcase \"state\": return String(expr.path) === target ? 1 : 0;\n\t\tcase \"neg\":\n\t\tcase \"not\":\n\t\tcase \"sum\":\n\t\tcase \"count\":\n\t\tcase \"sum_pluck\": return countStateRefsInExpression(expr.operand, target);\n\t\tcase \"count_where\": return countStateRefsInExpression(expr.operand, target) + countStateRefsInExpression(expr.equals, target);\n\t\tcase \"switch\": {\n\t\t\tlet total = 0;\n\t\t\tfor (const c of expr.cases) {\n\t\t\t\tfor (const leaf of flattenLeafConditions(c.when)) {\n\t\t\t\t\tif (eq(String(leaf.left), target)) total += 1;\n\t\t\t\t\ttotal += countStateRefsInExpression(leaf.right, target);\n\t\t\t\t}\n\t\t\t\ttotal += countStateRefsInExpression(c.then, target);\n\t\t\t}\n\t\t\ttotal += countStateRefsInExpression(expr.default, target);\n\t\t\treturn total;\n\t\t}\n\t\tcase \"add\":\n\t\tcase \"sub\":\n\t\tcase \"mul\":\n\t\tcase \"div\":\n\t\tcase \"mod\":\n\t\tcase \"min\":\n\t\tcase \"max\": return countStateRefsInExpression(expr.left, target) + countStateRefsInExpression(expr.right, target);\n\t}\n};\nvar countRefsInCondition = (condition, target) => {\n\tlet n = 0;\n\tfor (const leaf of flattenLeafConditions(condition)) {\n\t\tif (eq(String(leaf.left), target)) n += 1;\n\t\tn += countStateRefsInExpression(leaf.right, target);\n\t}\n\treturn n;\n};\nvar countStatePathReferences = (feature, path) => {\n\tconst target = String(path);\n\tlet mut = { ...empty(path) };\n\tfor (const surface of feature.surfaces) {\n\t\tfor (const def of surface.stateDefinitions) if (eq(String(def.path), target)) mut.stateDefinitions += 1;\n\t\tfor (const cap of surface.actions) {\n\t\t\tfor (const required of cap.requiredStates) if (eq(String(required), target)) mut.actionRequiredStates += 1;\n\t\t\tfor (const param of cap.parameters) if (eq(param.bindToStatePath ? String(param.bindToStatePath) : void 0, target)) mut.parameterBindings += 1;\n\t\t\tfor (const rule of cap.rules) {\n\t\t\t\tmut.ruleConditions += countRefsInCondition(rule.condition, target);\n\t\t\t\tif (rule.effect.type === \"set_state\") {\n\t\t\t\t\tif (eq(String(rule.effect.path), target)) mut.setStateEffects += 1;\n\t\t\t\t\tmut.setStateEffects += countStateRefsInExpression(rule.effect.value, target);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (const effect of cap.effects) if (effect.type === \"set_state\") {\n\t\t\t\tif (eq(String(effect.path), target)) mut.setStateEffects += 1;\n\t\t\t\tmut.setStateEffects += countStateRefsInExpression(effect.value, target);\n\t\t\t}\n\t\t\tfor (const invariant of cap.invariants) mut.invariantConditions += countRefsInCondition(invariant.condition, target);\n\t\t}\n\t\tfor (const rule of surface.rules) {\n\t\t\tmut.ruleConditions += countRefsInCondition(rule.condition, target);\n\t\t\tif (rule.effect.type === \"set_state\") {\n\t\t\t\tif (eq(String(rule.effect.path), target)) mut.setStateEffects += 1;\n\t\t\t\tmut.setStateEffects += countStateRefsInExpression(rule.effect.value, target);\n\t\t\t}\n\t\t}\n\t\tfor (const invariant of surface.invariants) mut.invariantConditions += countRefsInCondition(invariant.condition, target);\n\t}\n\tfor (const persona of feature.personas) for (const override of persona.stateOverrides) if (eq(String(override.path), target)) mut.personaStateOverrides += 1;\n\tfor (const data of feature.entities) for (const f of data.fields) if (eq(f.path ? String(f.path) : void 0, target)) mut.otherDataFields += 1;\n\treturn mut;\n};\nvar totalReferences = (refs) => refs.stateDefinitions + refs.parameterBindings + refs.parameterResources + refs.actionRequiredStates + refs.ruleConditions + refs.setStateEffects + refs.invariantConditions + refs.personaStateOverrides + refs.otherDataFields;\nvar formatReferenceBreakdown = (refs) => {\n\tconst parts = [];\n\tconst push = (n, label) => {\n\t\tif (n > 0) parts.push(`${n} ${label}`);\n\t};\n\tpush(refs.stateDefinitions, refs.stateDefinitions === 1 ? \"state definition\" : \"state definitions\");\n\tpush(refs.ruleConditions, refs.ruleConditions === 1 ? \"rule condition\" : \"rule conditions\");\n\tpush(refs.setStateEffects, refs.setStateEffects === 1 ? \"set_state effect\" : \"set_state effects\");\n\tpush(refs.parameterBindings, refs.parameterBindings === 1 ? \"parameter binding\" : \"parameter bindings\");\n\tpush(refs.actionRequiredStates, refs.actionRequiredStates === 1 ? \"action requirement\" : \"action requirements\");\n\tpush(refs.invariantConditions, refs.invariantConditions === 1 ? \"invariant\" : \"invariants\");\n\tpush(refs.personaStateOverrides, refs.personaStateOverrides === 1 ? \"persona override\" : \"persona overrides\");\n\tpush(refs.otherDataFields, refs.otherDataFields === 1 ? \"data field\" : \"data fields\");\n\treturn parts.join(\", \");\n};\n//#endregion\nexport { applyScenarioToSnapshot as a, applyScenarioToParameters as i, formatReferenceBreakdown as n, applyPersonaToParameters as o, totalReferences as r, applyPersonaToSnapshot as s, countStatePathReferences as t };\n","import { G as attr, K as clsx, c as bind_props, h as unsubscribe_stores, l as derived, m as stringify, o as attr_class, q as escape_html, s as attr_style, u as ensure_array_like } from \"../../../../chunks/index-server.js\";\nimport { A as ruleCategoryLabel, C as asScenarioId, E as asTransitionId, G as isEventName, H as writePath, I as isCompositeCondition, L as isParamLeft, N as isExpression, R as asStatePath, S as asRuleId, T as asSurfaceId, V as readPath, W as asEventName, b as asPersonaId, f as queueItemKey, g as asEntityFieldId, h as asEffectId, k as ALL_RULE_CATEGORIES, m as asActionId, v as asInvariantId, w as asStateDefinitionId, x as asResourceId, y as asParameterId, z as isStatePath } from \"../../../../chunks/TagPalette.js\";\nimport { t as ALL_ENTITY_TYPES } from \"../../../../chunks/ImplementationStatus.js\";\nimport { a as parameterTypeToStateType, i as PARAMETER_TYPES } from \"../../../../chunks/FeatureValidator.js\";\nimport \"../../../../chunks/state.js\";\nimport { a as buildInitialSnapshot, c as humanizeStatePath, d as computeImplementationBreakdown, h as cryptoIdGenerator, i as simulate, l as statePathFromName, p as scoreFeatureBreakdown, t as getBrowserContainer } from \"../../../../chunks/browserContainer.js\";\nimport \"../../../../chunks/navigation.js\";\nimport { t as emit } from \"../../../../chunks/eventBus.js\";\nimport { t as tourStore } from \"../../../../chunks/tourStore.svelte.js\";\nimport { C as updateTransitionOnSurface, S as updateStateDefinition, _ as updateParameter, a as moveActionBy, b as updateRuleOnSurface, c as removeInvariantFromCapability, d as removeRuleFromSurface, f as surfaceDepth, g as updateFeatureInvariant, h as updateEvent, l as removeInvariantFromSurface, m as updateEntity, n as canMoveSurfaceUp, o as removeAction, p as updateAction, s as removeFeatureInvariant, t as canMoveSurfaceDown, u as removeRuleFromCapability, v as updateResource, x as updateScenarioOnCapability, y as updateRuleOnCapability } from \"../../../../chunks/FeatureTransforms.js\";\nimport \"../../../../chunks/tagPaletteStore.svelte.js\";\nimport { t as TagDotStrip } from \"../../../../chunks/TagDotStrip.js\";\nimport { t as evaluateTourSubmitGuard } from \"../../../../chunks/SubmitGuard.js\";\nimport { t as ProgressBar } from \"../../../../chunks/ProgressBar.js\";\nimport { a as getEffectiveEntities, i as groupEventCatalog, n as groupTransitionCatalog, r as buildEventCatalog, t as buildTransitionCatalog } from \"../../../../chunks/TransitionCatalog.js\";\nimport { r as getRoomClient } from \"../../../../chunks/reconcile.js\";\nimport { t as featureStore } from \"../../../../chunks/featureStore.svelte.js\";\nimport { a as applyScenarioToSnapshot, i as applyScenarioToParameters, n as formatReferenceBreakdown, o as applyPersonaToParameters, r as totalReferences, s as applyPersonaToSnapshot, t as countStatePathReferences } from \"../../../../chunks/StatePathReferences.js\";\n//#region src/features/implementation-status/presentation/stores/implementationStatusStore.svelte.ts\nvar ImplementationStatusStore = class {\n\tloading = false;\n\trefreshing = false;\n\tstatus = null;\n\terror = null;\n\tlastFetchedAt = null;\n\t/**\n\t* Timestamp of the last remote sync event for the currently-loaded feature.\n\t* Useful for the UI to show \"fresh from server\" indicators.\n\t*/\n\tlastUpdateSignalAt = null;\n\tcurrentId = null;\n\tclient = null;\n\tclientUnsubscribe = null;\n\tasync load(id) {\n\t\tthis.currentId = id;\n\t\tthis.error = null;\n\t\tthis.loading = true;\n\t\ttry {\n\t\t\tawait this.fetchOnce(id);\n\t\t\tthis.subscribeRoom(id);\n\t\t} finally {\n\t\t\tthis.loading = false;\n\t\t}\n\t}\n\tasync refresh() {\n\t\tif (!this.currentId || this.refreshing) return;\n\t\tthis.refreshing = true;\n\t\tthis.error = null;\n\t\ttry {\n\t\t\tawait this.fetchOnce(this.currentId);\n\t\t} finally {\n\t\t\tthis.refreshing = false;\n\t\t}\n\t}\n\treset() {\n\t\tif (this.clientUnsubscribe) {\n\t\t\tthis.clientUnsubscribe();\n\t\t\tthis.clientUnsubscribe = null;\n\t\t}\n\t\tthis.client = null;\n\t\tthis.currentId = null;\n\t\tthis.status = null;\n\t\tthis.error = null;\n\t\tthis.loading = false;\n\t\tthis.refreshing = false;\n\t\tthis.lastFetchedAt = null;\n\t\tthis.lastUpdateSignalAt = null;\n\t}\n\tasync fetchOnce(id) {}\n\tsubscribeRoom(id) {\n\t\tif (this.clientUnsubscribe) {\n\t\t\tthis.clientUnsubscribe();\n\t\t\tthis.clientUnsubscribe = null;\n\t\t}\n\t\tconst client = getRoomClient(\"implementation-status\", id);\n\t\tthis.client = client;\n\t\tthis.clientUnsubscribe = client.observe((next, origin) => {\n\t\t\tif (this.currentId !== id) return;\n\t\t\tif (origin === \"local\") return;\n\t\t\tthis.lastUpdateSignalAt = (/* @__PURE__ */ new Date()).toISOString();\n\t\t\tthis.status = next;\n\t\t\tthis.lastFetchedAt = this.lastUpdateSignalAt;\n\t\t});\n\t}\n};\nvar implementationStatusStore = new ImplementationStatusStore();\n//#endregion\n//#region src/features/projects/presentation/stores/projectContextStore.svelte.ts\nvar ProjectContextStore = class {\n\tloading = false;\n\tproject = null;\n\tsiblings = [];\n\terror = null;\n\tcurrentFeatureId = null;\n\t/** Resolve the project (if any) containing `featureId` and fetch siblings. */\n\tasync load(featureId) {\n\t\tthis.currentFeatureId = featureId;\n\t\tthis.loading = true;\n\t\tthis.error = null;\n\t\ttry {\n\t\t\tconst container = await getBrowserContainer();\n\t\t\tconst project = await container.useCases.findProjectContainingFeature(featureId);\n\t\t\tif (this.currentFeatureId !== featureId) return;\n\t\t\tthis.project = project;\n\t\t\tif (!project) {\n\t\t\t\tthis.siblings = [];\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst siblingIds = project.featureIds.filter((id) => id !== featureId);\n\t\t\tconst siblings = [];\n\t\t\tfor (const id of siblingIds) {\n\t\t\t\tconst feature = await container.useCases.getFeature(id);\n\t\t\t\tif (this.currentFeatureId !== featureId) return;\n\t\t\t\tif (feature) siblings.push(feature);\n\t\t\t}\n\t\t\tthis.siblings = siblings;\n\t\t} catch (e) {\n\t\t\tthis.error = e.message;\n\t\t} finally {\n\t\t\tif (this.currentFeatureId === featureId) this.loading = false;\n\t\t}\n\t}\n\treset() {\n\t\tthis.currentFeatureId = null;\n\t\tthis.project = null;\n\t\tthis.siblings = [];\n\t\tthis.error = null;\n\t\tthis.loading = false;\n\t}\n\t/** Convenience: is the open feature inside a project right now. */\n\tget isInProject() {\n\t\treturn this.project !== null;\n\t}\n\t/**\n\t* True when the containing project's queue already holds an entry for\n\t* this action. Used to flip the hover button from \"+ queue\" to \"queued\".\n\t* Computed against the local store snapshot so it's synchronous and\n\t* stays cheap to call from every action row.\n\t*/\n\tisActionQueued(featureId, actionId) {\n\t\tconst queue = this.project?.implementationQueue ?? [];\n\t\tconst key = `action:${String(featureId)}:${String(actionId)}`;\n\t\treturn queue.some((q) => queueItemKey(q) === key);\n\t}\n\t/** Symmetric to isActionQueued, for surface-kind entries. */\n\tisSurfaceQueued(featureId, surfaceId) {\n\t\tconst queue = this.project?.implementationQueue ?? [];\n\t\tconst key = `surface:${String(featureId)}:${String(surfaceId)}`;\n\t\treturn queue.some((q) => queueItemKey(q) === key);\n\t}\n\t/**\n\t* Queue an action of the currently-open feature for \"implement next\".\n\t* Returns false when there's no project context (e.g. the feature isn't\n\t* attached to a project) so the caller can no-op gracefully.\n\t*/\n\tasync enqueueAction(featureId, actionId) {\n\t\tconst project = this.project;\n\t\tif (!project) return false;\n\t\ttry {\n\t\t\tconst result = await (await getBrowserContainer()).useCases.enqueueQueueItem(project.id, {\n\t\t\t\tkind: \"action\",\n\t\t\t\tfeatureId,\n\t\t\t\tactionId\n\t\t\t});\n\t\t\tthis.project = result.project;\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\tthis.error = e.message;\n\t\t\treturn false;\n\t\t}\n\t}\n\t/** Symmetric to enqueueAction. */\n\tasync enqueueSurface(featureId, surfaceId) {\n\t\tconst project = this.project;\n\t\tif (!project) return false;\n\t\ttry {\n\t\t\tconst result = await (await getBrowserContainer()).useCases.enqueueQueueItem(project.id, {\n\t\t\t\tkind: \"surface\",\n\t\t\t\tfeatureId,\n\t\t\t\tsurfaceId\n\t\t\t});\n\t\t\tthis.project = result.project;\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\tthis.error = e.message;\n\t\t\treturn false;\n\t\t}\n\t}\n\t/**\n\t* Remove a queue entry by id. Symmetric with enqueueAction so the\n\t* action-row toggle can flip both ways from the same store.\n\t*/\n\tasync dequeueByItemId(itemId) {\n\t\tconst project = this.project;\n\t\tif (!project) return;\n\t\ttry {\n\t\t\tconst next = await (await getBrowserContainer()).useCases.dequeueQueueItem(project.id, itemId);\n\t\t\tthis.project = next;\n\t\t} catch (e) {\n\t\t\tthis.error = e.message;\n\t\t}\n\t}\n\t/**\n\t* Find the queue item id for an action so a toggle in ActionEditor can\n\t* dequeue without re-deriving the id from the (featureId, actionId)\n\t* tuple at every callsite.\n\t*/\n\tfindQueueItemIdForAction(featureId, actionId) {\n\t\tconst queue = this.project?.implementationQueue ?? [];\n\t\tconst key = `action:${String(featureId)}:${String(actionId)}`;\n\t\tconst match = queue.find((q) => queueItemKey(q) === key);\n\t\treturn match ? match.id : null;\n\t}\n\t/** Symmetric to findQueueItemIdForAction. */\n\tfindQueueItemIdForSurface(featureId, surfaceId) {\n\t\tconst queue = this.project?.implementationQueue ?? [];\n\t\tconst key = `surface:${String(featureId)}:${String(surfaceId)}`;\n\t\tconst match = queue.find((q) => queueItemKey(q) === key);\n\t\treturn match ? match.id : null;\n\t}\n};\nvar projectContextStore = new ProjectContextStore();\nvar readRailTab = () => {\n\treturn \"maturity\";\n};\nvar readRailCollapsed = () => {\n\treturn false;\n};\n/**\n* Editor-wide UI state. Externalized so deep links (e.g. clicking a\n* maturity issue) can drive surface selection, action expansion, and\n* tab switching from anywhere in the app.\n*/\nvar EditorStore = class {\n\tselectedSurfaceId = null;\n\tselectedCapabilityId = null;\n\tsurfacePanelTab = \"actions\";\n\ttopLevelTab = \"build\";\n\trailTab = readRailTab();\n\trailCollapsed = readRailCollapsed();\n\t/**\n\t* Focus target the editor observer scrolls into view and pulses. Set by\n\t* `navigateTo` whenever a deep-link is triggered. The token is bumped every\n\t* call so re-clicking the same anchor still fires the effect.\n\t*/\n\tfocusTarget = null;\n\tfocusToken = 0;\n\tselectSurface(id) {\n\t\tthis.selectedSurfaceId = id;\n\t\tthis.selectedCapabilityId = null;\n\t\tif (id) emit(\"editor.surface.selected\", { surfaceId: String(id) });\n\t}\n\tselectCapability(id) {\n\t\tthis.selectedCapabilityId = id;\n\t}\n\tsetSurfacePanelTab(tab) {\n\t\tthis.surfacePanelTab = tab;\n\t\temit(\"editor.panel.switched\", { tab });\n\t}\n\tsetTopLevelTab(tab) {\n\t\tthis.topLevelTab = tab;\n\t}\n\tsetRailTab(tab) {\n\t\tthis.railTab = tab;\n\t}\n\tsetRailCollapsed(collapsed) {\n\t\tthis.railCollapsed = collapsed;\n\t}\n\ttoggleRail() {\n\t\tthis.setRailCollapsed(!this.railCollapsed);\n\t}\n\topenRail(tab) {\n\t\tthis.setRailTab(tab);\n\t\tthis.setRailCollapsed(false);\n\t}\n\t/**\n\t* Single entry point for deep-link navigation. Switches surface, expands a\n\t* action, opens the right SurfacePanel tab, and jumps back to the\n\t* Build top-level tab so the changes are visible.\n\t*/\n\tnavigateTo(target) {\n\t\tthis.topLevelTab = \"build\";\n\t\tif (target.surfaceId) this.selectSurface(target.surfaceId);\n\t\tif (target.actionId) this.selectCapability(target.actionId);\n\t\tif (target.surfacePanelTab) this.surfacePanelTab = target.surfacePanelTab;\n\t\tif (target.actionId) this.focusTarget = `action:${target.actionId}`;\n\t\telse if (target.surfaceId && target.surfacePanelTab) this.focusTarget = `tab:${target.surfaceId}:${target.surfacePanelTab}`;\n\t\telse if (target.surfaceId) this.focusTarget = `surface:${target.surfaceId}`;\n\t\telse if (target.surfacePanelTab) this.focusTarget = `tab:${target.surfacePanelTab}`;\n\t\tthis.focusToken += 1;\n\t}\n\treset() {\n\t\tthis.selectedSurfaceId = null;\n\t\tthis.selectedCapabilityId = null;\n\t\tthis.surfacePanelTab = \"actions\";\n\t\tthis.topLevelTab = \"build\";\n\t}\n};\nvar editorStore = new EditorStore();\n//#endregion\n//#region src/features/behavior-model/domain/services/SharedStateDefinitions.ts\nvar getStateDefinitionsForSurface = (feature, surface) => {\n\tconst byPath = /* @__PURE__ */ new Map();\n\tfor (const def of surface.stateDefinitions) byPath.set(String(def.path), def);\n\tfor (const other of feature.surfaces) {\n\t\tif (other.id === surface.id) continue;\n\t\tfor (const def of other.stateDefinitions) {\n\t\t\tif (!def.sharedWith?.includes(surface.id)) continue;\n\t\t\tconst path = String(def.path);\n\t\t\tif (!byPath.has(path)) byPath.set(path, def);\n\t\t}\n\t}\n\treturn [...byPath.values()];\n};\nvar withSharedStateDefinitions = (feature, surface) => ({\n\t...surface,\n\tstateDefinitions: getStateDefinitionsForSurface(feature, surface)\n});\n//#endregion\n//#region src/features/behavior-model/presentation/components/FeatureHeader.svelte\nfunction FeatureHeader($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature, saving, historyOpen = false, onToggleHistory } = $$props;\n\t\tconst modKey = typeof navigator !== \"undefined\" && /Mac|iPhone|iPad|iPod/.test(navigator.platform) ? \"Cmd\" : \"Ctrl\";\n\t\tconst undoTitle = `Undo (${modKey}+Z)`;\n\t\tconst redoTitle = `Redo (${modKey}+Shift+Z)`;\n\t\tconst backHref = derived(() => projectContextStore.project ? `/projects/${projectContextStore.project.id}` : \"/features\");\n\t\tconst backLabel = derived(() => projectContextStore.project ? `Back to ${projectContextStore.project.name}` : \"Back to features\");\n\t\t$$renderer.push(`<header class=\"border-b border-slate-200 pb-4\"><div class=\"flex flex-wrap items-start justify-between gap-3\"><div class=\"min-w-0 flex-1 space-y-1\"><a${attr(\"href\", backHref())} class=\"inline-flex items-center gap-1 text-[11px] font-semibold uppercase tracking-wide text-brand-700 hover:underline\"><span aria-hidden=\"true\">←</span> ${escape_html(backLabel())}</a> `);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<h1 class=\"truncate text-3xl font-semibold tracking-tight text-slate-950\">${escape_html(feature.name)}</h1> `);\n\t\tif (feature.description) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"max-w-3xl text-sm leading-6 text-slate-600\">${escape_html(feature.description)}</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (feature.tags && feature.tags.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"pt-1\">`);\n\t\t\tTagDotStrip($$renderer, { tags: feature.tags });\n\t\t\t$$renderer.push(`<!----></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <div class=\"flex flex-wrap items-center gap-3 text-xs text-slate-500\"><button class=\"font-medium text-brand-700 hover:underline\">Edit metadata</button> <span>${escape_html(saving ? \"Saving…\" : \"Saved\")}</span></div>`);\n\t\t$$renderer.push(`<!--]--></div> <div class=\"flex shrink-0 flex-wrap items-center gap-2 rounded-xl border border-slate-200 bg-white p-1.5 shadow-sm shadow-slate-950/5\"><div class=\"flex rounded-lg border border-hairline bg-white p-1\"><button type=\"button\"${attr(\"title\", undoTitle)}${attr(\"aria-label\", undoTitle)} class=\"rounded-md px-2 py-1.5 text-xs font-medium text-slate-700 hover:bg-slate-50 disabled:cursor-not-allowed disabled:opacity-40\"${attr(\"disabled\", !featureStore.canUndo, true)}>Undo</button> <button type=\"button\"${attr(\"title\", redoTitle)}${attr(\"aria-label\", redoTitle)} class=\"rounded-md px-2 py-1.5 text-xs font-medium text-slate-700 hover:bg-slate-50 disabled:cursor-not-allowed disabled:opacity-40\"${attr(\"disabled\", !featureStore.canRedo, true)}>Redo</button> <button type=\"button\" title=\"Show history\" aria-label=\"Show history\"${attr(\"aria-pressed\", historyOpen)}${attr_class(`rounded-md px-2 py-1.5 text-xs font-medium text-slate-700 hover:bg-slate-50 ${historyOpen ? \"bg-slate-100\" : \"\"}`)}>History ${escape_html(featureStore.historyEntries.length)}</button></div></div></div></header>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/FeatureHealthStrip.svelte\nfunction FeatureHealthStrip($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature } = $$props;\n\t\tconst maturity = derived(() => scoreFeatureBreakdown(feature).global);\n\t\tconst impl = derived(() => computeImplementationBreakdown(feature, implementationStatusStore.status));\n\t\tfunction pctColor(percentage) {\n\t\t\tconst hue = percentage / 100 * 120;\n\t\t\treturn `hsl(${Math.round(hue)}, 70%, 45%)`;\n\t\t}\n\t\tfunction maturityColor() {\n\t\t\tconst critical = maturity().criticalIssues.length;\n\t\t\tif (critical === 0) return pctColor(maturity().percentage);\n\t\t\tconst hue = Math.max(0, 35 - (critical - 1) * 18);\n\t\t\treturn `hsl(${Math.round(hue)}, 75%, 50%)`;\n\t\t}\n\t\t$$renderer.push(`<div class=\"flex flex-wrap items-stretch gap-2\"><button type=\"button\" data-tour=\"maturity-toggle\" class=\"group flex min-w-[10rem] flex-1 items-center gap-3 rounded-xl border border-slate-200 bg-white px-3 py-2 text-left shadow-sm shadow-slate-950/5 transition hover:border-slate-300 hover:bg-slate-50\" title=\"Open Maturity panel\"><span class=\"grid h-8 w-8 shrink-0 place-items-center rounded-full text-[10px] font-bold text-white\"${attr_style(`background-color: ${stringify(maturityColor())}`)}>${escape_html(maturity().percentage)}%</span> <span class=\"min-w-0\"><span class=\"block text-[10px] font-semibold uppercase tracking-wide text-slate-500\">Maturity</span> <span class=\"flex items-center gap-1.5 text-xs font-medium text-slate-700\">`);\n\t\tif (maturity().criticalIssues.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"rounded-md bg-red-100 px-1.5 py-0.5 text-[10px] font-semibold text-red-800\">${escape_html(maturity().criticalIssues.length)} critical</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (maturity().recommendedIssues.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"rounded-md bg-sky-100 px-1.5 py-0.5 text-[10px] font-semibold text-sky-800\">${escape_html(maturity().recommendedIssues.length)} suggestion${escape_html(maturity().recommendedIssues.length === 1 ? \"\" : \"s\")}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (maturity().criticalIssues.length === 0 && maturity().recommendedIssues.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-emerald-700\">All checks pass</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></span></span></button> <button type=\"button\" data-tour=\"implementation-toggle\" class=\"group flex min-w-[10rem] flex-1 items-center gap-3 rounded-xl border border-slate-200 bg-white px-3 py-2 text-left shadow-sm shadow-slate-950/5 transition hover:border-slate-300 hover:bg-slate-50\" title=\"Open Implementation panel\"><span class=\"grid h-8 w-8 shrink-0 place-items-center rounded-full text-[10px] font-bold text-white\"${attr_style(`background-color: ${stringify(impl().expectedCount === 0 ? \"hsl(220, 10%, 70%)\" : pctColor(impl().percentage))}`)}>${escape_html(impl().expectedCount === 0 ? \"-\" : `${impl().percentage}%`)}</span> <span class=\"min-w-0\"><span class=\"block text-[10px] font-semibold uppercase tracking-wide text-slate-500\">Implementation</span> <span class=\"text-xs font-medium text-slate-700\">`);\n\t\tif (!impl().hasReport) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-slate-500\">no report yet</span>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`${escape_html(impl().foundCount)}/${escape_html(impl().expectedCount)} tagged `);\n\t\t\tif (impl().missingCount > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`· <span class=\"text-red-700\">${escape_html(impl().missingCount)} missing</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></span></span></button> <button type=\"button\" data-tour=\"simulator-toggle\" class=\"flex items-center gap-2 rounded-xl border border-slate-200 bg-white px-3 py-2 text-left shadow-sm shadow-slate-950/5 transition hover:border-slate-300 hover:bg-slate-50\" title=\"Open Simulator panel\"><span class=\"grid h-8 w-8 shrink-0 place-items-center rounded-full bg-brand-100 text-brand-800\" aria-hidden=\"true\"><span class=\"text-sm\">▶</span></span> <span class=\"min-w-0\"><span class=\"block text-[10px] font-semibold uppercase tracking-wide text-slate-500\">Simulator</span> <span class=\"text-xs font-medium text-slate-700\">Run an action</span></span></button></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/HistoryPanel.svelte\nfunction HistoryPanel($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { open = false } = $$props;\n\t\tconst reversed = derived(() => [...featureStore.historyEntries].reverse());\n\t\tconst canClear = derived(() => featureStore.historyEntries.length > 1);\n\t\tconst formatTime = (ts) => {\n\t\t\tconst d = new Date(ts);\n\t\t\tconst today = /* @__PURE__ */ new Date();\n\t\t\tconst sameDay = d.getFullYear() === today.getFullYear() && d.getMonth() === today.getMonth() && d.getDate() === today.getDate();\n\t\t\tconst time = d.toLocaleTimeString([], {\n\t\t\t\thour: \"2-digit\",\n\t\t\t\tminute: \"2-digit\"\n\t\t\t});\n\t\t\tif (sameDay) return time;\n\t\t\treturn `${d.toLocaleDateString([], {\n\t\t\t\tmonth: \"short\",\n\t\t\t\tday: \"numeric\"\n\t\t\t})} ${time}`;\n\t\t};\n\t\tconst authorBadgeClass = (author) => {\n\t\t\tif (author === \"mcp\") return \"bg-purple-100 text-purple-700\";\n\t\t\tif (author === \"system\") return \"bg-neutral-100 text-neutral-600\";\n\t\t\treturn \"bg-sky-100 text-sky-700\";\n\t\t};\n\t\tconst authorLabel = (author) => {\n\t\t\tif (author === \"mcp\") return \"AI\";\n\t\t\tif (author === \"system\") return \"sys\";\n\t\t\treturn author.replace(/^user-/, \"\").replace(/^Anon-/, \"\");\n\t\t};\n\t\t$$renderer.push(`<aside${attr_class(\"flex h-full w-80 flex-col border-l border-neutral-200 bg-white\", void 0, { \"hidden\": !open })}><header class=\"flex items-center justify-between border-b border-neutral-200 px-3 py-2\"><div><h2 class=\"text-sm font-semibold text-neutral-900\">History</h2> <p class=\"text-[11px] text-neutral-500\">${escape_html(featureStore.historyEntries.length)} edit(s) · shared timeline</p></div> <div class=\"flex items-center gap-1\"><button type=\"button\" class=\"rounded-md px-2 py-1 text-[11px] font-medium text-neutral-600 transition hover:bg-red-50 hover:text-red-700 disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:bg-transparent disabled:hover:text-neutral-600\"${attr(\"disabled\", !canClear(), true)}${attr(\"title\", canClear() ? \"Clear the shared history (keeps current state)\" : \"Nothing to clear\")}>Clear</button> <button type=\"button\" class=\"rounded-md p-1 text-neutral-500 hover:bg-neutral-100 hover:text-neutral-900\" aria-label=\"Close history\" title=\"Close\"><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=\"M18 6 6 18\"></path><path d=\"m6 6 12 12\"></path></svg></button></div></header> `);\n\t\tif (reversed().length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"flex flex-1 items-center justify-center px-4 text-center text-xs text-neutral-500\">No edits yet. Make a change and it will appear here.</div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ol class=\"flex-1 overflow-y-auto py-1\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(reversed());\n\t\t\tfor (let i = 0, $$length = each_array.length; i < $$length; i++) {\n\t\t\t\tlet entry = each_array[i];\n\t\t\t\tconst originalIndex = featureStore.historyEntries.length - 1 - i;\n\t\t\t\tconst isCurrent = originalIndex === featureStore.historyCursor;\n\t\t\t\tconst isPast = originalIndex < featureStore.historyCursor;\n\t\t\t\t$$renderer.push(`<li><button type=\"button\"${attr_class(`flex w-full items-start gap-2 border-l-2 px-3 py-2 text-left text-xs transition hover:bg-neutral-50 ${isCurrent ? \"border-brand-600 bg-brand-50/40\" : isPast ? \"border-transparent\" : \"border-transparent opacity-60\"}`)}${attr(\"title\", isCurrent ? \"Current state\" : \"Jump to this state\")}><span${attr_class(`mt-0.5 inline-flex shrink-0 items-center rounded px-1.5 py-0.5 text-[10px] font-semibold ${stringify(authorBadgeClass(entry.author))}`)}>${escape_html(authorLabel(entry.author))}</span> <span class=\"flex-1 space-y-0.5\"><span class=\"block font-medium text-neutral-800\">${escape_html(entry.label ?? \"Edit\")}</span> <span class=\"block text-[11px] text-neutral-500\">${escape_html(formatTime(entry.ts))} `);\n\t\t\t\tif (entry.actingFor) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"ml-1 text-purple-700\">· for ${escape_html(entry.actingFor)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (isCurrent) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"ml-1 text-brand-700\">· current</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></span></span></button></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ol>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></aside>`);\n\t\tbind_props($$props, { open });\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/domain/entities/Surface.ts\nvar surfaceTypeLabel = (t) => {\n\tswitch (t) {\n\t\tcase \"screen\": return \"Screen\";\n\t\tcase \"canvas\": return \"Canvas\";\n\t\tcase \"terminal\": return \"Terminal\";\n\t\tcase \"board\": return \"Board\";\n\t\tcase \"workflow\": return \"Workflow\";\n\t\tcase \"command_palette\": return \"Command palette\";\n\t\tcase \"api_playground\": return \"API playground\";\n\t\tcase \"map\": return \"Map\";\n\t\tcase \"dialog_area\": return \"Dialog area\";\n\t\tcase \"custom\": return \"Custom\";\n\t}\n};\n//#endregion\n//#region src/features/library/domain/value-objects/BlueprintId.ts\nvar asBlueprintId = (v) => v;\n//#endregion\n//#region src/features/library/infrastructure/blueprints/auth/shared.ts\n/**\n* Canonical blueprint ids for the auth quad. Centralised so the four files\n* agree on identity (used by sibling references and the library card view).\n*/\nvar AUTH_BLUEPRINT_IDS = {\n\tsignIn: asBlueprintId(\"library.auth.signin\"),\n\tsignUp: asBlueprintId(\"library.auth.signup\"),\n\tverifyEmail: asBlueprintId(\"library.auth.verify_email\"),\n\tresetPassword: asBlueprintId(\"library.auth.reset_password\")\n};\n/**\n* Shared resources every auth blueprint advertises. The applier dedupes by\n* name, so declaring them on each blueprint is harmless. The first one in\n* wins and subsequent identical declarations are skipped.\n*/\nvar authResources = [{\n\tid: asResourceId(\"library-auth-res-users\"),\n\tname: \"Users (Postgres)\",\n\tdescription: \"Primary customer account records. PII; GDPR-relevant.\",\n\tkind: \"relational_db\",\n\tprovider: \"PostgreSQL\",\n\tscope: \"cloud\",\n\tlocation: \"eu-west (configurable)\",\n\tdatabase: \"auth\",\n\tcontainer: \"users\",\n\tfield: void 0,\n\tsensitivity: \"confidential\",\n\tcontainsPii: true,\n\tcomplianceTags: [\"gdpr\", \"iso27001\"],\n\taccessMode: \"read_write\",\n\tauthentication: \"iam_role\",\n\tencryptionAtRest: true,\n\tencryptionInTransit: true,\n\tretention: \"until account deletion + 30 days\",\n\towner: \"identity-team\"\n}, {\n\tid: asResourceId(\"library-auth-res-tokens\"),\n\tname: \"Auth tokens (Redis)\",\n\tdescription: \"Short-lived cache for verification codes and password-reset tokens. TTL on each key.\",\n\tkind: \"cache\",\n\tprovider: \"Redis\",\n\tscope: \"cloud\",\n\tlocation: \"eu-west (configurable)\",\n\tdatabase: \"auth-cache\",\n\tcontainer: \"tokens:*\",\n\tfield: void 0,\n\tsensitivity: \"confidential\",\n\tcontainsPii: false,\n\tcomplianceTags: [],\n\taccessMode: \"read_write\",\n\tauthentication: \"iam_role\",\n\tencryptionAtRest: true,\n\tencryptionInTransit: true,\n\tretention: \"15 min TTL\",\n\towner: \"identity-team\"\n}];\n/**\n* Canonical personas the auth library advertises. Personas answer \"WHO is\n* using the feature?\". They describe stable user identities, not the\n* transient system state for one action run (those are scenarios).\n*\n* The applier dedupes by name when blueprints are imported, so any library\n* that ships these same personas will reuse the existing entries instead of\n* creating duplicates. Naming is the key. Keep these stable.\n*/\nvar authPersonas = [\n\t{\n\t\tid: asPersonaId(\"library-persona-anonymous\"),\n\t\tname: \"Anonymous visitor\",\n\t\tdescription: \"Not signed in, no verified email. The default user on entry surfaces (sign in, sign up, public catalog).\",\n\t\tstateOverrides: [{\n\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\tvalue: false\n\t\t}, {\n\t\t\tpath: asStatePath(\"user.emailVerified\"),\n\t\t\tvalue: false\n\t\t}],\n\t\tparameterOverrides: []\n\t},\n\t{\n\t\tid: asPersonaId(\"library-persona-authenticated\"),\n\t\tname: \"Authenticated user\",\n\t\tdescription: \"Signed in with a verified email. The standard happy-path user across most authenticated surfaces.\",\n\t\tstateOverrides: [\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\tvalue: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.emailVerified\"),\n\t\t\t\tvalue: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.role\"),\n\t\t\t\tvalue: \"member\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.tier\"),\n\t\t\t\tvalue: \"standard\"\n\t\t\t}\n\t\t],\n\t\tparameterOverrides: []\n\t},\n\t{\n\t\tid: asPersonaId(\"library-persona-admin\"),\n\t\tname: \"Admin\",\n\t\tdescription: \"Authenticated, verified, role=admin. Use to test privileged actions and admin-only paths.\",\n\t\tstateOverrides: [\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\tvalue: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.emailVerified\"),\n\t\t\t\tvalue: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.role\"),\n\t\t\t\tvalue: \"admin\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.tier\"),\n\t\t\t\tvalue: \"standard\"\n\t\t\t}\n\t\t],\n\t\tparameterOverrides: []\n\t},\n\t{\n\t\tid: asPersonaId(\"library-persona-premium\"),\n\t\tname: \"Premium customer\",\n\t\tdescription: \"Authenticated, verified, tier=premium. Use to test tier-gated features (price overrides, exclusive content, no ads).\",\n\t\tstateOverrides: [\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\tvalue: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.emailVerified\"),\n\t\t\t\tvalue: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.role\"),\n\t\t\t\tvalue: \"member\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.tier\"),\n\t\t\t\tvalue: \"premium\"\n\t\t\t}\n\t\t],\n\t\tparameterOverrides: []\n\t},\n\t{\n\t\tid: asPersonaId(\"library-persona-suspended\"),\n\t\tname: \"Suspended account\",\n\t\tdescription: \"Authenticated but flagged or suspended. Use to test rules that gate sensitive actions on account status.\",\n\t\tstateOverrides: [\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\tvalue: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.emailVerified\"),\n\t\t\t\tvalue: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.role\"),\n\t\t\t\tvalue: \"member\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.tier\"),\n\t\t\t\tvalue: \"standard\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: asStatePath(\"user.suspended\"),\n\t\t\t\tvalue: true\n\t\t\t}\n\t\t],\n\t\tparameterOverrides: []\n\t}\n];\n//#endregion\n//#region src/features/library/infrastructure/blueprints/auth/ResetPasswordBlueprint.ts\nvar resetPasswordBlueprint = {\n\tid: AUTH_BLUEPRINT_IDS.resetPassword,\n\tname: \"Reset password\",\n\tcategory: \"auth\",\n\tsurfaceType: \"screen\",\n\tsummary: \"Forgot-password request and token-gated new-password flow.\",\n\tdescription: \"Two actions: Request reset (sends a token-bearing email. Fail-open to avoid account enumeration) and Set new password (requires a valid, non-expired token plus a strong new password). Wires back to Sign in.\",\n\tplatforms: [\"web\", \"mobile\"],\n\ttags: [\n\t\t\"forgot-password\",\n\t\t\"reset\",\n\t\t\"token\",\n\t\t\"password\",\n\t\t\"enumeration\"\n\t],\n\tsiblings: [AUTH_BLUEPRINT_IDS.signIn],\n\tbuild: ({ ids, ownSurfaceId, linkTargets }) => {\n\t\tconst tokensResourceId = asResourceId(\"library-auth-res-tokens\");\n\t\tconst usersResourceId = asResourceId(\"library-auth-res-users\");\n\t\tconst transitions = [linkTargets.get(AUTH_BLUEPRINT_IDS.signIn) && {\n\t\t\tid: asTransitionId(ids()),\n\t\t\ttarget: linkTargets.get(AUTH_BLUEPRINT_IDS.signIn),\n\t\t\tlabel: \"Back to sign in\"\n\t\t}].filter((t) => Boolean(t));\n\t\treturn {\n\t\t\tsurface: {\n\t\t\t\tid: ownSurfaceId,\n\t\t\t\tname: \"Reset password\",\n\t\t\t\ttype: \"screen\",\n\t\t\t\tdescription: \"Forgot-password flow. Request a reset link, then submit a new password using the token from the email.\",\n\t\t\t\tstateDefinitions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"user.email\"),\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdefaultValue: \"\",\n\t\t\t\t\t\tdescription: \"Email entered for the reset request. Bound from \\\"email\\\".\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"form.emailValid\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"reset.token\"),\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdefaultValue: \"\",\n\t\t\t\t\t\tdescription: \"Reset token entered by the user. Bound from \\\"token\\\".\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"reset.tokenValid\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\tdescription: \"Result of validating the reset token against the cache.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"reset.tokenExpired\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: true,\n\t\t\t\t\t\tdescription: \"True when the token has aged past its TTL.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"reset.passwordStrong\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\tdescription: \"Result of the password-strength check on the new password.\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\trules: [],\n\t\t\t\tinvariants: [{\n\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\tname: \"reset.tokenValid is observable\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"reset.tokenValid\"),\n\t\t\t\t\t\toperator: \"exists\"\n\t\t\t\t\t},\n\t\t\t\t\tmessage: \"Token-valid flag must always be present.\"\n\t\t\t\t}],\n\t\t\t\ttransitions,\n\t\t\t\tactions: [{\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Request reset\",\n\t\t\t\t\tintent: \"Send a password reset link to the user email if the account exists.\",\n\t\t\t\t\tparameters: [{\n\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\tname: \"email\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdescription: \"Email address to receive the reset link. Bound to user.email.\",\n\t\t\t\t\t\tresourceId: usersResourceId,\n\t\t\t\t\t\tbindToStatePath: asStatePath(\"user.email\"),\n\t\t\t\t\t\tvalidations: [{ type: \"email\" }, { type: \"non_empty\" }]\n\t\t\t\t\t}],\n\t\t\t\t\trequiredStates: [asStatePath(\"form.emailValid\")],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"form.emailValid\"),\n\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\treason: \"Enter a valid email address.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [{\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\tevent: asEventName(\"password.reset_requested\")\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\tmessage: \"If an account exists with that email, a reset link is on its way.\",\n\t\t\t\t\t\ttone: \"info\"\n\t\t\t\t\t}],\n\t\t\t\t\temittedEvents: [asEventName(\"password.reset_requested\")],\n\t\t\t\t\ttransitions: [],\n\t\t\t\t\tscenarios: [{\n\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\tname: \"Valid email\",\n\t\t\t\t\t\tdescription: \"Visitor enters a well-formed email; reset request is sent fail-open.\",\n\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\tpath: asStatePath(\"form.emailValid\"),\n\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\tparameterName: \"email\",\n\t\t\t\t\t\t\tvalue: \"user@example.com\"\n\t\t\t\t\t\t}]\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\tname: \"Malformed email\",\n\t\t\t\t\t\tdescription: \"Visitor enters something that is not an email. Validation rule blocks.\",\n\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\tpath: asStatePath(\"form.emailValid\"),\n\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\tparameterName: \"email\",\n\t\t\t\t\t\t\tvalue: \"not-an-email\"\n\t\t\t\t\t\t}]\n\t\t\t\t\t}]\n\t\t\t\t}, {\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Set new password\",\n\t\t\t\t\tintent: \"Set a new password using the reset token from the email.\",\n\t\t\t\t\tparameters: [{\n\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\tname: \"token\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdescription: \"Single-use reset token delivered by email. Bound to reset.token.\",\n\t\t\t\t\t\tresourceId: tokensResourceId,\n\t\t\t\t\t\tbindToStatePath: asStatePath(\"reset.token\"),\n\t\t\t\t\t\tvalidations: [{ type: \"non_empty\" }, {\n\t\t\t\t\t\t\ttype: \"min_length\",\n\t\t\t\t\t\t\tvalue: 32\n\t\t\t\t\t\t}]\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\tname: \"newPassword\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdescription: \"New password to set.\",\n\t\t\t\t\t\tvalidations: [{ type: \"non_empty\" }, {\n\t\t\t\t\t\t\ttype: \"min_length\",\n\t\t\t\t\t\t\tvalue: 8\n\t\t\t\t\t\t}]\n\t\t\t\t\t}],\n\t\t\t\t\trequiredStates: [\n\t\t\t\t\t\tasStatePath(\"reset.tokenValid\"),\n\t\t\t\t\t\tasStatePath(\"reset.tokenExpired\"),\n\t\t\t\t\t\tasStatePath(\"reset.passwordStrong\")\n\t\t\t\t\t],\n\t\t\t\t\trules: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"security\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"reset.tokenExpired\"),\n\t\t\t\t\t\t\t\toperator: \"is_true\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"This reset link has expired. Request a new one.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"reset.tokenValid\"),\n\t\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"This reset link is invalid.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"security\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"reset.passwordStrong\"),\n\t\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"New password must be at least 8 characters with letters and numbers.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\tevent: asEventName(\"password.reset_completed\")\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...linkTargets.get(AUTH_BLUEPRINT_IDS.signIn) ? [{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"transition_surface\",\n\t\t\t\t\t\t\ttarget: linkTargets.get(AUTH_BLUEPRINT_IDS.signIn)\n\t\t\t\t\t\t}] : []\n\t\t\t\t\t],\n\t\t\t\t\temittedEvents: [asEventName(\"password.reset_completed\")],\n\t\t\t\t\ttransitions: [],\n\t\t\t\t\tscenarios: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Token expired\",\n\t\t\t\t\t\t\tdescription: \"Reset link is past its TTL. Security rule blocks.\",\n\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"reset.tokenValid\"),\n\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"reset.tokenExpired\"),\n\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"reset.passwordStrong\"),\n\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"token\",\n\t\t\t\t\t\t\t\tvalue: \"expired-token-1234567890123456789012\"\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tparameterName: \"newPassword\",\n\t\t\t\t\t\t\t\tvalue: \"NewPass2026!\"\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Invalid token\",\n\t\t\t\t\t\t\tdescription: \"Reset link does not match anything in the cache.\",\n\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"reset.tokenValid\"),\n\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"reset.tokenExpired\"),\n\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"reset.passwordStrong\"),\n\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"token\",\n\t\t\t\t\t\t\t\tvalue: \"tampered-token-12345678901234567890ab\"\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tparameterName: \"newPassword\",\n\t\t\t\t\t\t\t\tvalue: \"NewPass2026!\"\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Weak new password\",\n\t\t\t\t\t\t\tdescription: \"Token is valid but the chosen new password fails the strength check.\",\n\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"reset.tokenValid\"),\n\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"reset.tokenExpired\"),\n\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"reset.passwordStrong\"),\n\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"token\",\n\t\t\t\t\t\t\t\tvalue: \"valid-token-12345678901234567890abcdef\"\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tparameterName: \"newPassword\",\n\t\t\t\t\t\t\t\tvalue: \"short\"\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Happy path\",\n\t\t\t\t\t\t\tdescription: \"Valid token, strong password. Reset succeeds and the action transitions to Sign in.\",\n\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"reset.tokenValid\"),\n\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"reset.tokenExpired\"),\n\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"reset.passwordStrong\"),\n\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"token\",\n\t\t\t\t\t\t\t\tvalue: \"valid-token-12345678901234567890abcdef\"\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tparameterName: \"newPassword\",\n\t\t\t\t\t\t\t\tvalue: \"NewPass2026!\"\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}]\n\t\t\t},\n\t\t\tresources: authResources,\n\t\t\tpersonas: authPersonas\n\t\t};\n\t}\n};\n//#endregion\n//#region src/features/library/infrastructure/blueprints/auth/index.ts\n/**\n* Standard auth quad: Sign in, Sign up, Verify email, Reset password.\n* Each blueprint references the others via `siblings` so the library UI can\n* offer \"Add bundle\" and so transitions wire up automatically.\n*/\nvar authBlueprints = [\n\t{\n\t\tid: AUTH_BLUEPRINT_IDS.signIn,\n\t\tname: \"Sign in\",\n\t\tcategory: \"auth\",\n\t\tsurfaceType: \"screen\",\n\t\tsummary: \"Email + password sign-in with rate limiting and account lockout.\",\n\t\tdescription: \"A complete sign-in surface: validates credentials, enforces a failed-attempts threshold, blocks locked accounts, and emits a signed-in event. Wires transitions to the matching Sign up, Verify email, and Reset password surfaces if those blueprints are added in the same operation.\",\n\t\tplatforms: [\"web\", \"mobile\"],\n\t\ttags: [\n\t\t\t\"login\",\n\t\t\t\"authentication\",\n\t\t\t\"rate-limit\",\n\t\t\t\"lockout\",\n\t\t\t\"gdpr\"\n\t\t],\n\t\tsiblings: [\n\t\t\tAUTH_BLUEPRINT_IDS.signUp,\n\t\t\tAUTH_BLUEPRINT_IDS.verifyEmail,\n\t\t\tAUTH_BLUEPRINT_IDS.resetPassword\n\t\t],\n\t\tbuild: ({ ids, ownSurfaceId, linkTargets }) => {\n\t\t\tconst usersResourceId = asResourceId(\"library-auth-res-users\");\n\t\t\tconst transitions = [\n\t\t\t\tlinkTargets.get(AUTH_BLUEPRINT_IDS.signUp) && {\n\t\t\t\t\tid: asTransitionId(ids()),\n\t\t\t\t\ttarget: linkTargets.get(AUTH_BLUEPRINT_IDS.signUp),\n\t\t\t\t\tlabel: \"Don't have an account? Sign up\"\n\t\t\t\t},\n\t\t\t\tlinkTargets.get(AUTH_BLUEPRINT_IDS.resetPassword) && {\n\t\t\t\t\tid: asTransitionId(ids()),\n\t\t\t\t\ttarget: linkTargets.get(AUTH_BLUEPRINT_IDS.resetPassword),\n\t\t\t\t\tlabel: \"Forgot password?\"\n\t\t\t\t},\n\t\t\t\tlinkTargets.get(AUTH_BLUEPRINT_IDS.verifyEmail) && {\n\t\t\t\t\tid: asTransitionId(ids()),\n\t\t\t\t\ttarget: linkTargets.get(AUTH_BLUEPRINT_IDS.verifyEmail),\n\t\t\t\t\tlabel: \"Verify your email\"\n\t\t\t\t}\n\t\t\t].filter((t) => Boolean(t));\n\t\t\treturn {\n\t\t\t\tsurface: {\n\t\t\t\t\tid: ownSurfaceId,\n\t\t\t\t\tname: \"Sign in\",\n\t\t\t\t\ttype: \"screen\",\n\t\t\t\t\tdescription: \"Authenticate an existing user with email and password. Failed attempts are tracked; the account is locked after 5 consecutive failures.\",\n\t\t\t\t\tstateDefinitions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\tdescription: \"Whether the user has a valid session.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"user.email\"),\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\tdefaultValue: \"\",\n\t\t\t\t\t\t\tdescription: \"Email used for sign-in. Bound from the \\\"email\\\" parameter.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"auth.credentialsValid\"),\n\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\tdescription: \"Result of the credentials check against the user store.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"auth.failedAttempts\"),\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\tdefaultValue: 0,\n\t\t\t\t\t\t\tdescription: \"Consecutive failed sign-in attempts on this account.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"auth.locked\"),\n\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\tdescription: \"Set to true when failedAttempts crosses the threshold.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\toperator: \"is_true\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\tmessage: \"You are already signed in.\",\n\t\t\t\t\t\t\ttone: \"info\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdescription: \"Surface-level guard: if the user is already authenticated, the sign-in form is a no-op. Surface a hint rather than letting them re-submit.\"\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [{\n\t\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\t\tname: \"auth.failedAttempts is non-negative\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"auth.failedAttempts\"),\n\t\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\t\tright: -1\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmessage: \"Failed-attempts counter must be ≥ 0.\"\n\t\t\t\t\t}],\n\t\t\t\t\ttransitions,\n\t\t\t\t\tactions: [{\n\t\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\t\tname: \"Sign in\",\n\t\t\t\t\t\tintent: \"Authenticate an existing user with email and password.\",\n\t\t\t\t\t\tparameters: [{\n\t\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\t\tname: \"email\",\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tdescription: \"Email used as the login identifier. Bound to user.email.\",\n\t\t\t\t\t\t\tresourceId: usersResourceId,\n\t\t\t\t\t\t\tbindToStatePath: asStatePath(\"user.email\"),\n\t\t\t\t\t\t\tvalidations: [{ type: \"email\" }, { type: \"non_empty\" }]\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\t\tname: \"password\",\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tdescription: \"Plain-text password (hashed before storage).\",\n\t\t\t\t\t\t\tvalidations: [{ type: \"non_empty\" }, {\n\t\t\t\t\t\t\t\ttype: \"min_length\",\n\t\t\t\t\t\t\t\tvalue: 8\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t}],\n\t\t\t\t\t\trequiredStates: [\n\t\t\t\t\t\t\tasStatePath(\"auth.credentialsValid\"),\n\t\t\t\t\t\t\tasStatePath(\"auth.failedAttempts\"),\n\t\t\t\t\t\t\tasStatePath(\"auth.locked\")\n\t\t\t\t\t\t],\n\t\t\t\t\t\trules: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"auth.locked\"),\n\t\t\t\t\t\t\t\t\toperator: \"is_true\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Account is locked. Reset your password or contact support.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"security\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"auth.failedAttempts\"),\n\t\t\t\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\t\t\t\tright: 4\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Too many failed attempts. Try again later.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"auth.credentialsValid\"),\n\t\t\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Email or password incorrect.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\tinvariants: [],\n\t\t\t\t\t\teffects: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\t\tevent: asEventName(\"user.signed_in\")\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...linkTargets.get(AUTH_BLUEPRINT_IDS.verifyEmail) ? [{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"transition_surface\",\n\t\t\t\t\t\t\t\ttarget: linkTargets.get(AUTH_BLUEPRINT_IDS.verifyEmail)\n\t\t\t\t\t\t\t}] : []\n\t\t\t\t\t\t],\n\t\t\t\t\t\temittedEvents: [asEventName(\"user.signed_in\")],\n\t\t\t\t\t\ttransitions: [],\n\t\t\t\t\t\tscenarios: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\t\tname: \"Account is locked\",\n\t\t\t\t\t\t\t\tdescription: \"Existing account that has been locked after too many failed attempts. Verifies the lockout rule fires before the credentials check.\",\n\t\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"auth.locked\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"auth.failedAttempts\"),\n\t\t\t\t\t\t\t\t\t\tvalue: 5\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"auth.credentialsValid\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\t\tparameterName: \"email\",\n\t\t\t\t\t\t\t\t\tvalue: \"locked@example.com\"\n\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\tparameterName: \"password\",\n\t\t\t\t\t\t\t\t\tvalue: \"CorrectHorse!\"\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\t\tname: \"Bad credentials\",\n\t\t\t\t\t\t\t\tdescription: \"Account exists but the password is wrong. Verifies the validation rule fires.\",\n\t\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"auth.credentialsValid\"),\n\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"auth.failedAttempts\"),\n\t\t\t\t\t\t\t\t\t\tvalue: 1\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"auth.locked\"),\n\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\t\tparameterName: \"email\",\n\t\t\t\t\t\t\t\t\tvalue: \"user@example.com\"\n\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\tparameterName: \"password\",\n\t\t\t\t\t\t\t\t\tvalue: \"WrongGuess1\"\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\t\tname: \"Already signed in\",\n\t\t\t\t\t\t\t\tdescription: \"Authenticated user lands on the sign-in surface again. Verifies the surface-level \\\"already signed in\\\" hint shows.\",\n\t\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\tparameterOverrides: []\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\t\tname: \"Happy path\",\n\t\t\t\t\t\t\t\tdescription: \"Valid credentials, account not locked. Action succeeds.\",\n\t\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"auth.credentialsValid\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"auth.locked\"),\n\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"auth.failedAttempts\"),\n\t\t\t\t\t\t\t\t\t\tvalue: 0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\t\tparameterName: \"email\",\n\t\t\t\t\t\t\t\t\tvalue: \"user@example.com\"\n\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\tparameterName: \"password\",\n\t\t\t\t\t\t\t\t\tvalue: \"CorrectHorse!\"\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}]\n\t\t\t\t},\n\t\t\t\tresources: authResources,\n\t\t\t\tpersonas: authPersonas\n\t\t\t};\n\t\t}\n\t},\n\t{\n\t\tid: AUTH_BLUEPRINT_IDS.signUp,\n\t\tname: \"Sign up\",\n\t\tcategory: \"auth\",\n\t\tsurfaceType: \"screen\",\n\t\tsummary: \"Create-account flow with email validation, terms acceptance, and password strength.\",\n\t\tdescription: \"A complete sign-up surface. Validates the email format, enforces password strength, requires Terms acceptance (compliance), blocks duplicate accounts, and emits an account-created event. Wires transitions to Sign in (existing user) and Verify email (next step).\",\n\t\tplatforms: [\"web\", \"mobile\"],\n\t\ttags: [\n\t\t\t\"register\",\n\t\t\t\"create-account\",\n\t\t\t\"terms\",\n\t\t\t\"gdpr\",\n\t\t\t\"password-strength\"\n\t\t],\n\t\tsiblings: [AUTH_BLUEPRINT_IDS.signIn, AUTH_BLUEPRINT_IDS.verifyEmail],\n\t\tbuild: ({ ids, ownSurfaceId, linkTargets }) => {\n\t\t\tconst usersResourceId = asResourceId(\"library-auth-res-users\");\n\t\t\tconst transitions = [linkTargets.get(AUTH_BLUEPRINT_IDS.signIn) && {\n\t\t\t\tid: asTransitionId(ids()),\n\t\t\t\ttarget: linkTargets.get(AUTH_BLUEPRINT_IDS.signIn),\n\t\t\t\tlabel: \"Already have an account? Sign in\"\n\t\t\t}, linkTargets.get(AUTH_BLUEPRINT_IDS.verifyEmail) && {\n\t\t\t\tid: asTransitionId(ids()),\n\t\t\t\ttarget: linkTargets.get(AUTH_BLUEPRINT_IDS.verifyEmail),\n\t\t\t\tlabel: \"Verify your email\"\n\t\t\t}].filter((t) => Boolean(t));\n\t\t\treturn {\n\t\t\t\tsurface: {\n\t\t\t\t\tid: ownSurfaceId,\n\t\t\t\t\tname: \"Sign up\",\n\t\t\t\t\ttype: \"screen\",\n\t\t\t\t\tdescription: \"Create a new customer account from email and password. The flow gates on email format, password strength, terms acceptance, and uniqueness.\",\n\t\t\t\t\tstateDefinitions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"user.email\"),\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\tdefaultValue: \"\",\n\t\t\t\t\t\t\tdescription: \"Email of the new account. Bound from the \\\"email\\\" parameter.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"user.exists\"),\n\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\tdescription: \"Whether an account already exists for this email.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"form.emailValid\"),\n\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\tdescription: \"Result of the email format check.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"form.passwordStrong\"),\n\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\tdescription: \"Result of the password-strength check.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"form.termsAccepted\"),\n\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\tdescription: \"True once the user has ticked the Terms of Service box.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\toperator: \"is_true\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\tmessage: \"You already have an account.\",\n\t\t\t\t\t\t\ttone: \"info\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdescription: \"Surface-level guard: signed-in users have no business creating a second account on this surface.\"\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [{\n\t\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\t\tname: \"form.termsAccepted is observable\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"form.termsAccepted\"),\n\t\t\t\t\t\t\toperator: \"exists\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmessage: \"Terms-accepted flag must always be present.\"\n\t\t\t\t\t}],\n\t\t\t\t\ttransitions,\n\t\t\t\t\tactions: [{\n\t\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\t\tname: \"Create account\",\n\t\t\t\t\t\tintent: \"Create a new customer account from email and password.\",\n\t\t\t\t\t\tparameters: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\t\t\tname: \"email\",\n\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t\tdescription: \"New user email address. Bound to user.email so downstream rules and actions can read the value the user typed.\",\n\t\t\t\t\t\t\t\tresourceId: usersResourceId,\n\t\t\t\t\t\t\t\tbindToStatePath: asStatePath(\"user.email\"),\n\t\t\t\t\t\t\t\tvalidations: [{ type: \"email\" }, { type: \"non_empty\" }]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\t\t\tname: \"password\",\n\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t\tdescription: \"New user password.\",\n\t\t\t\t\t\t\t\tvalidations: [{ type: \"non_empty\" }, {\n\t\t\t\t\t\t\t\t\ttype: \"min_length\",\n\t\t\t\t\t\t\t\t\tvalue: 8\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\t\t\tname: \"acceptTerms\",\n\t\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\t\tdescription: \"Must be true. Bound to form.termsAccepted so the compliance rule reads the actual checkbox value before evaluating.\",\n\t\t\t\t\t\t\t\tbindToStatePath: asStatePath(\"form.termsAccepted\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\trequiredStates: [\n\t\t\t\t\t\t\tasStatePath(\"form.emailValid\"),\n\t\t\t\t\t\t\tasStatePath(\"form.passwordStrong\"),\n\t\t\t\t\t\t\tasStatePath(\"form.termsAccepted\"),\n\t\t\t\t\t\t\tasStatePath(\"user.exists\")\n\t\t\t\t\t\t],\n\t\t\t\t\t\trules: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"compliance\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"form.termsAccepted\"),\n\t\t\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Accept the Terms of Service to continue.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"form.emailValid\"),\n\t\t\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Enter a valid email address.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"security\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"form.passwordStrong\"),\n\t\t\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Password must be at least 8 characters with letters and numbers.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"user.exists\"),\n\t\t\t\t\t\t\t\t\toperator: \"is_true\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"An account with this email already exists. Sign in instead.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\tinvariants: [],\n\t\t\t\t\t\teffects: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\t\tevent: asEventName(\"user.account.created\")\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...linkTargets.get(AUTH_BLUEPRINT_IDS.verifyEmail) ? [{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"transition_surface\",\n\t\t\t\t\t\t\t\ttarget: linkTargets.get(AUTH_BLUEPRINT_IDS.verifyEmail)\n\t\t\t\t\t\t\t}] : []\n\t\t\t\t\t\t],\n\t\t\t\t\t\temittedEvents: [asEventName(\"user.account.created\")],\n\t\t\t\t\t\ttransitions: [],\n\t\t\t\t\t\tscenarios: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\t\tname: \"Email already taken\",\n\t\t\t\t\t\t\t\tdescription: \"A new visitor tries to sign up with an address that already has an account.\",\n\t\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"user.exists\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"form.emailValid\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"form.passwordStrong\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"form.termsAccepted\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tparameterOverrides: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tparameterName: \"email\",\n\t\t\t\t\t\t\t\t\t\tvalue: \"existing@example.com\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tparameterName: \"password\",\n\t\t\t\t\t\t\t\t\t\tvalue: \"Welcome2026!\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tparameterName: \"acceptTerms\",\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\t\tname: \"Terms not accepted\",\n\t\t\t\t\t\t\t\tdescription: \"Form filled but the visitor has not ticked the Terms box.\",\n\t\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"user.exists\"),\n\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"form.emailValid\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"form.passwordStrong\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"form.termsAccepted\"),\n\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tparameterOverrides: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tparameterName: \"email\",\n\t\t\t\t\t\t\t\t\t\tvalue: \"new@example.com\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tparameterName: \"password\",\n\t\t\t\t\t\t\t\t\t\tvalue: \"Welcome2026!\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tparameterName: \"acceptTerms\",\n\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\t\tname: \"Weak password\",\n\t\t\t\t\t\t\t\tdescription: \"Visitor picks a password that fails the strength check.\",\n\t\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"user.exists\"),\n\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"form.emailValid\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"form.passwordStrong\"),\n\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"form.termsAccepted\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tparameterOverrides: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tparameterName: \"email\",\n\t\t\t\t\t\t\t\t\t\tvalue: \"new@example.com\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tparameterName: \"password\",\n\t\t\t\t\t\t\t\t\t\tvalue: \"short\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tparameterName: \"acceptTerms\",\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\t\tname: \"Happy path\",\n\t\t\t\t\t\t\t\tdescription: \"Everything passes. Account is created, action transitions to Verify email.\",\n\t\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"user.exists\"),\n\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"form.emailValid\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"form.passwordStrong\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"form.termsAccepted\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tparameterOverrides: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tparameterName: \"email\",\n\t\t\t\t\t\t\t\t\t\tvalue: \"new@example.com\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tparameterName: \"password\",\n\t\t\t\t\t\t\t\t\t\tvalue: \"Welcome2026!\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tparameterName: \"acceptTerms\",\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}]\n\t\t\t\t},\n\t\t\t\tresources: authResources,\n\t\t\t\tpersonas: authPersonas\n\t\t\t};\n\t\t}\n\t},\n\t{\n\t\tid: AUTH_BLUEPRINT_IDS.verifyEmail,\n\t\tname: \"Verify email\",\n\t\tcategory: \"auth\",\n\t\tsurfaceType: \"screen\",\n\t\tsummary: \"One-time-code email verification with attempt limiting and resend.\",\n\t\tdescription: \"Confirms email ownership using a 6-digit code. Caps the number of attempts, requires authentication, and exposes a Resend code action with implicit throttling. Wires back to Sign in.\",\n\t\tplatforms: [\"web\", \"mobile\"],\n\t\ttags: [\n\t\t\t\"otp\",\n\t\t\t\"email\",\n\t\t\t\"verification\",\n\t\t\t\"6-digit\",\n\t\t\t\"gdpr\"\n\t\t],\n\t\tsiblings: [AUTH_BLUEPRINT_IDS.signIn, AUTH_BLUEPRINT_IDS.signUp],\n\t\tbuild: ({ ids, ownSurfaceId, linkTargets }) => {\n\t\t\tconst tokensResourceId = asResourceId(\"library-auth-res-tokens\");\n\t\t\tconst transitions = [linkTargets.get(AUTH_BLUEPRINT_IDS.signIn) && {\n\t\t\t\tid: asTransitionId(ids()),\n\t\t\t\ttarget: linkTargets.get(AUTH_BLUEPRINT_IDS.signIn),\n\t\t\t\tlabel: \"Back to sign in\"\n\t\t\t}].filter((t) => Boolean(t));\n\t\t\treturn {\n\t\t\t\tsurface: {\n\t\t\t\t\tid: ownSurfaceId,\n\t\t\t\t\tname: \"Verify email\",\n\t\t\t\t\ttype: \"screen\",\n\t\t\t\t\tdescription: \"Enter the 6-digit code sent to the user email. Limited to 5 attempts; resend is available with a cooldown.\",\n\t\t\t\t\tstateDefinitions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"user.emailVerified\"),\n\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"verification.code\"),\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\tdefaultValue: \"\",\n\t\t\t\t\t\t\tdescription: \"Code typed by the user. Bound from the \\\"code\\\" parameter.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"verification.codeMatches\"),\n\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\tdescription: \"Result of comparing the entered code to the cached one.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"verification.attempts\"),\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\tdefaultValue: 0,\n\t\t\t\t\t\t\tdescription: \"Consecutive failed verification attempts.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"security\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\treason: \"Sign in before verifying your email.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdescription: \"Surface-level gate that applies to every action here.\"\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [{\n\t\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\t\tname: \"verification.attempts is non-negative\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"verification.attempts\"),\n\t\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\t\tright: -1\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmessage: \"Verification-attempts counter must be ≥ 0.\"\n\t\t\t\t\t}],\n\t\t\t\t\ttransitions,\n\t\t\t\t\tactions: [{\n\t\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\t\tname: \"Verify email\",\n\t\t\t\t\t\tintent: \"Confirm email ownership using the 6-digit code.\",\n\t\t\t\t\t\tparameters: [{\n\t\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\t\tname: \"code\",\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tdescription: \"The 6-digit code from the verification email. Bound to verification.code.\",\n\t\t\t\t\t\t\tresourceId: tokensResourceId,\n\t\t\t\t\t\t\tbindToStatePath: asStatePath(\"verification.code\"),\n\t\t\t\t\t\t\tvalidations: [\n\t\t\t\t\t\t\t\t{ type: \"non_empty\" },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: \"length\",\n\t\t\t\t\t\t\t\t\tvalue: 6\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{ type: \"alphanumeric\" }\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}],\n\t\t\t\t\t\trequiredStates: [asStatePath(\"verification.codeMatches\"), asStatePath(\"verification.attempts\")],\n\t\t\t\t\t\trules: [{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"security\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"verification.attempts\"),\n\t\t\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\t\t\tright: 4\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Too many failed attempts. Request a new code.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"verification.codeMatches\"),\n\t\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"That code is incorrect.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tinvariants: [],\n\t\t\t\t\t\teffects: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.emailVerified\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\t\tevent: asEventName(\"user.email_verified\")\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...linkTargets.get(AUTH_BLUEPRINT_IDS.signIn) ? [{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"transition_surface\",\n\t\t\t\t\t\t\t\ttarget: linkTargets.get(AUTH_BLUEPRINT_IDS.signIn)\n\t\t\t\t\t\t\t}] : []\n\t\t\t\t\t\t],\n\t\t\t\t\t\temittedEvents: [asEventName(\"user.email_verified\")],\n\t\t\t\t\t\ttransitions: [],\n\t\t\t\t\t\tscenarios: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\t\tname: \"Pending verification\",\n\t\t\t\t\t\t\t\tdescription: \"Just signed up. Authenticated, email unverified, no failed attempts yet. The default starting point for this surface.\",\n\t\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"user.emailVerified\"),\n\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"verification.codeMatches\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"verification.attempts\"),\n\t\t\t\t\t\t\t\t\t\tvalue: 0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\t\tparameterName: \"code\",\n\t\t\t\t\t\t\t\t\tvalue: \"482919\"\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\t\tname: \"Wrong code\",\n\t\t\t\t\t\t\t\tdescription: \"User enters a code that does not match what was emailed.\",\n\t\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"verification.codeMatches\"),\n\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"verification.attempts\"),\n\t\t\t\t\t\t\t\t\t\tvalue: 1\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\t\tparameterName: \"code\",\n\t\t\t\t\t\t\t\t\tvalue: \"111111\"\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\t\tname: \"Too many attempts\",\n\t\t\t\t\t\t\t\tdescription: \"User has burned through the attempt limit; the security rule blocks further tries.\",\n\t\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"verification.attempts\"),\n\t\t\t\t\t\t\t\t\t\tvalue: 5\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpath: asStatePath(\"verification.codeMatches\"),\n\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\t\tparameterName: \"code\",\n\t\t\t\t\t\t\t\t\tvalue: \"482919\"\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\t\tname: \"Resend code\",\n\t\t\t\t\t\tintent: \"Send a new 6-digit verification code to the user email.\",\n\t\t\t\t\t\tparameters: [],\n\t\t\t\t\t\trequiredStates: [],\n\t\t\t\t\t\trules: [{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"security\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"verification.attempts\"),\n\t\t\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\t\t\tright: 9\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Resend cooldown. Try again in a few minutes.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tinvariants: [],\n\t\t\t\t\t\teffects: [{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\tevent: asEventName(\"verification.code_resent\")\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\tmessage: \"A new code has been sent to your email.\",\n\t\t\t\t\t\t\ttone: \"info\"\n\t\t\t\t\t\t}],\n\t\t\t\t\t\temittedEvents: [asEventName(\"verification.code_resent\")],\n\t\t\t\t\t\ttransitions: [],\n\t\t\t\t\t\tscenarios: [{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Within cooldown\",\n\t\t\t\t\t\t\tdescription: \"Resend triggered too soon after the previous one. The security rule blocks.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"verification.attempts\"),\n\t\t\t\t\t\t\t\tvalue: 12\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: []\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Fresh resend\",\n\t\t\t\t\t\t\tdescription: \"No recent activity. The resend goes through.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"verification.attempts\"),\n\t\t\t\t\t\t\t\tvalue: 0\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: []\n\t\t\t\t\t\t}]\n\t\t\t\t\t}]\n\t\t\t\t},\n\t\t\t\tresources: authResources,\n\t\t\t\tpersonas: authPersonas\n\t\t\t};\n\t\t}\n\t},\n\tresetPasswordBlueprint\n];\n//#endregion\n//#region src/features/library/infrastructure/blueprints/commerce/shared.ts\nvar COMMERCE_BLUEPRINT_IDS = {\n\tcatalog: asBlueprintId(\"library.commerce.catalog\"),\n\tproductDetails: asBlueprintId(\"library.commerce.product_details\"),\n\tcart: asBlueprintId(\"library.commerce.cart\"),\n\tcheckout: asBlueprintId(\"library.commerce.checkout\"),\n\torderConfirmation: asBlueprintId(\"library.commerce.order_confirmation\")\n};\nvar commerceResources = [\n\t{\n\t\tid: asResourceId(\"library-commerce-res-products\"),\n\t\tname: \"Product catalog\",\n\t\tdescription: \"Catalog of products with prices, stock, and metadata.\",\n\t\tkind: \"document_db\",\n\t\tprovider: \"MongoDB Atlas\",\n\t\tscope: \"cloud\",\n\t\tlocation: \"multi-region\",\n\t\tdatabase: \"commerce\",\n\t\tcontainer: \"products\",\n\t\tfield: void 0,\n\t\tsensitivity: \"public\",\n\t\tcontainsPii: false,\n\t\tcomplianceTags: [],\n\t\taccessMode: \"read\",\n\t\tauthentication: \"service_account\",\n\t\tencryptionAtRest: true,\n\t\tencryptionInTransit: true,\n\t\tretention: \"indefinite\",\n\t\towner: \"catalog-team\"\n\t},\n\t{\n\t\tid: asResourceId(\"library-commerce-res-cart\"),\n\t\tname: \"Cart (browser)\",\n\t\tdescription: \"Per-device cart, synced to server when authenticated.\",\n\t\tkind: \"browser_storage\",\n\t\tprovider: \"IndexedDB\",\n\t\tscope: \"local\",\n\t\tlocation: \"User's browser\",\n\t\tdatabase: \"shop\",\n\t\tcontainer: \"cart\",\n\t\tfield: void 0,\n\t\tsensitivity: \"internal\",\n\t\tcontainsPii: false,\n\t\tcomplianceTags: [],\n\t\taccessMode: \"read_write\",\n\t\tauthentication: \"none\",\n\t\tencryptionAtRest: false,\n\t\tencryptionInTransit: false,\n\t\tretention: \"until browser data is cleared\",\n\t\towner: \"web-team\"\n\t},\n\t{\n\t\tid: asResourceId(\"library-commerce-res-orders\"),\n\t\tname: \"Orders (Postgres)\",\n\t\tdescription: \"Order ledger. Source of truth for fulfillment and finance.\",\n\t\tkind: \"relational_db\",\n\t\tprovider: \"PostgreSQL\",\n\t\tscope: \"cloud\",\n\t\tlocation: \"eu-west (configurable)\",\n\t\tdatabase: \"commerce\",\n\t\tcontainer: \"orders\",\n\t\tfield: void 0,\n\t\tsensitivity: \"confidential\",\n\t\tcontainsPii: true,\n\t\tcomplianceTags: [\"gdpr\", \"sox\"],\n\t\taccessMode: \"read_write\",\n\t\tauthentication: \"iam_role\",\n\t\tencryptionAtRest: true,\n\t\tencryptionInTransit: true,\n\t\tretention: \"7 years (tax compliance)\",\n\t\towner: \"orders-team\"\n\t},\n\t{\n\t\tid: asResourceId(\"library-commerce-res-payments\"),\n\t\tname: \"Payments API\",\n\t\tdescription: \"External payment processor. Card details never touch our servers.\",\n\t\tkind: \"http_api\",\n\t\tprovider: \"Stripe\",\n\t\tscope: \"external\",\n\t\tlocation: \"us-east\",\n\t\tdatabase: \"https://api.stripe.com\",\n\t\tcontainer: \"/v1/payment_intents\",\n\t\tfield: void 0,\n\t\tsensitivity: \"restricted\",\n\t\tcontainsPii: true,\n\t\tcomplianceTags: [\"pci_dss\"],\n\t\taccessMode: \"read_write\",\n\t\tauthentication: \"api_key\",\n\t\tencryptionAtRest: true,\n\t\tencryptionInTransit: true,\n\t\tretention: \"managed by provider\",\n\t\towner: \"payments-team\"\n\t}\n];\n//#endregion\n//#region src/features/library/infrastructure/blueprints/commerce/CartBlueprint.ts\nvar cartBlueprint = {\n\tid: COMMERCE_BLUEPRINT_IDS.cart,\n\tname: \"Cart\",\n\tcategory: \"commerce\",\n\tsurfaceType: \"screen\",\n\tsummary: \"Shopping cart with quantity edits, auth gate, and checkout entry.\",\n\tdescription: \"Cart review surface. Edits quantities, gates checkout on authentication, and emits navigation events. Cross-links to the auth library when both bundles are present (sign-in gate).\",\n\tplatforms: [\"web\", \"mobile\"],\n\ttags: [\n\t\t\"cart\",\n\t\t\"checkout-gate\",\n\t\t\"quantity\"\n\t],\n\tsiblings: [\n\t\tCOMMERCE_BLUEPRINT_IDS.catalog,\n\t\tCOMMERCE_BLUEPRINT_IDS.checkout,\n\t\tAUTH_BLUEPRINT_IDS.signIn\n\t],\n\tbuild: ({ ids, ownSurfaceId, linkTargets }) => {\n\t\tconst cartResourceId = asResourceId(\"library-commerce-res-cart\");\n\t\tconst transitions = [\n\t\t\tlinkTargets.get(COMMERCE_BLUEPRINT_IDS.catalog) && {\n\t\t\t\tid: asTransitionId(ids()),\n\t\t\t\ttarget: linkTargets.get(COMMERCE_BLUEPRINT_IDS.catalog),\n\t\t\t\tlabel: \"Continue shopping\"\n\t\t\t},\n\t\t\tlinkTargets.get(AUTH_BLUEPRINT_IDS.signIn) && {\n\t\t\t\tid: asTransitionId(ids()),\n\t\t\t\ttarget: linkTargets.get(AUTH_BLUEPRINT_IDS.signIn),\n\t\t\t\tlabel: \"Sign in to checkout\"\n\t\t\t},\n\t\t\tlinkTargets.get(COMMERCE_BLUEPRINT_IDS.checkout) && {\n\t\t\t\tid: asTransitionId(ids()),\n\t\t\t\ttarget: linkTargets.get(COMMERCE_BLUEPRINT_IDS.checkout),\n\t\t\t\tlabel: \"Checkout\"\n\t\t\t}\n\t\t].filter((t) => Boolean(t));\n\t\treturn {\n\t\t\tsurface: {\n\t\t\t\tid: ownSurfaceId,\n\t\t\t\tname: \"Cart\",\n\t\t\t\ttype: \"screen\",\n\t\t\t\tdescription: \"Cart review with quantity edits, auth gate, and checkout entry. Empty-cart hint blocks navigation onward.\",\n\t\t\t\tstateDefinitions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"cart.itemCount\"),\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tdefaultValue: 0\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"cart.subtotal\"),\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tdefaultValue: 0,\n\t\t\t\t\t\tdescription: \"Subtotal in cents.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\trules: [],\n\t\t\t\tinvariants: [{\n\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\tname: \"cart.itemCount ≥ 0\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"cart.itemCount\"),\n\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\tright: -1\n\t\t\t\t\t},\n\t\t\t\t\tmessage: \"Cart count must be ≥ 0.\"\n\t\t\t\t}],\n\t\t\t\ttransitions,\n\t\t\t\tactions: [{\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Update quantity\",\n\t\t\t\t\tintent: \"Change the quantity of an item already in the cart.\",\n\t\t\t\t\tparameters: [{\n\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\tname: \"newQuantity\",\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdescription: \"New quantity for the line item. Bound to cart.itemCount.\",\n\t\t\t\t\t\tresourceId: cartResourceId,\n\t\t\t\t\t\tbindToStatePath: asStatePath(\"cart.itemCount\"),\n\t\t\t\t\t\tvalidations: [{\n\t\t\t\t\t\t\ttype: \"min\",\n\t\t\t\t\t\t\tvalue: 0\n\t\t\t\t\t\t}, { type: \"integer\" }]\n\t\t\t\t\t}],\n\t\t\t\t\trequiredStates: [asStatePath(\"cart.itemCount\")],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"cart.itemCount\"),\n\t\t\t\t\t\t\toperator: \"lower_than\",\n\t\t\t\t\t\t\tright: 0\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\treason: \"Quantity cannot be negative.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [{\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\tevent: asEventName(\"cart.quantity.updated\")\n\t\t\t\t\t}],\n\t\t\t\t\temittedEvents: [asEventName(\"cart.quantity.updated\")],\n\t\t\t\t\ttransitions: []\n\t\t\t\t}, {\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Proceed to checkout\",\n\t\t\t\t\tintent: \"Move from the cart to checkout, gated on authentication.\",\n\t\t\t\t\tparameters: [],\n\t\t\t\t\trequiredStates: [asStatePath(\"cart.itemCount\"), asStatePath(\"user.authenticated\")],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"cart.itemCount\"),\n\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\tright: 0\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\treason: \"Add something to your cart first.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\treason: \"Sign in to continue to checkout.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [{\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\tevent: asEventName(\"checkout.started\")\n\t\t\t\t\t}, ...linkTargets.get(COMMERCE_BLUEPRINT_IDS.checkout) ? [{\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"transition_surface\",\n\t\t\t\t\t\ttarget: linkTargets.get(COMMERCE_BLUEPRINT_IDS.checkout)\n\t\t\t\t\t}] : []],\n\t\t\t\t\temittedEvents: [asEventName(\"checkout.started\")],\n\t\t\t\t\ttransitions: [],\n\t\t\t\t\tscenarios: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Guest with items\",\n\t\t\t\t\t\t\tdescription: \"Cart has items but the user is not signed in. Auth rule blocks.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"cart.itemCount\"),\n\t\t\t\t\t\t\t\tvalue: 2\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Signed-in with items\",\n\t\t\t\t\t\t\tdescription: \"Authenticated user with a non-empty cart. Checkout proceeds.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"cart.itemCount\"),\n\t\t\t\t\t\t\t\tvalue: 2\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Empty cart\",\n\t\t\t\t\t\t\tdescription: \"No items. Empty-cart rule blocks.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"cart.itemCount\"),\n\t\t\t\t\t\t\t\tvalue: 0\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: []\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}]\n\t\t\t},\n\t\t\tresources: commerceResources\n\t\t};\n\t}\n};\n//#endregion\n//#region src/features/library/infrastructure/blueprints/commerce/CatalogBlueprint.ts\nvar catalogBlueprint = {\n\tid: COMMERCE_BLUEPRINT_IDS.catalog,\n\tname: \"Catalog\",\n\tcategory: \"commerce\",\n\tsurfaceType: \"screen\",\n\tsummary: \"Browse and search products. Empty-query hints, navigation to product details and cart.\",\n\tdescription: \"Storefront catalog page. Customers can search by keyword, navigate to product details, or jump to their cart. Search query binds to state so filter / suggestion rules can react.\",\n\tplatforms: [\"web\", \"mobile\"],\n\ttags: [\n\t\t\"catalog\",\n\t\t\"search\",\n\t\t\"browse\",\n\t\t\"storefront\"\n\t],\n\tsiblings: [COMMERCE_BLUEPRINT_IDS.productDetails, COMMERCE_BLUEPRINT_IDS.cart],\n\tbuild: ({ ids, ownSurfaceId, linkTargets }) => {\n\t\tconst productsResourceId = asResourceId(\"library-commerce-res-products\");\n\t\tconst transitions = [linkTargets.get(COMMERCE_BLUEPRINT_IDS.productDetails) && {\n\t\t\tid: asTransitionId(ids()),\n\t\t\ttarget: linkTargets.get(COMMERCE_BLUEPRINT_IDS.productDetails),\n\t\t\tlabel: \"Open product\"\n\t\t}, linkTargets.get(COMMERCE_BLUEPRINT_IDS.cart) && {\n\t\t\tid: asTransitionId(ids()),\n\t\t\ttarget: linkTargets.get(COMMERCE_BLUEPRINT_IDS.cart),\n\t\t\tlabel: \"View cart\"\n\t\t}].filter((t) => Boolean(t));\n\t\treturn {\n\t\t\tsurface: {\n\t\t\t\tid: ownSurfaceId,\n\t\t\t\tname: \"Catalog\",\n\t\t\t\ttype: \"screen\",\n\t\t\t\tdescription: \"Open browsing surface. Anonymous and authenticated users can search and add to a cart.\",\n\t\t\t\tstateDefinitions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"search.query\"),\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdefaultValue: \"\",\n\t\t\t\t\t\tdescription: \"Active keyword query. Bound from the search input.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"search.resultCount\"),\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tdefaultValue: 0,\n\t\t\t\t\t\tdescription: \"Number of products matching the active query.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"cart.itemCount\"),\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tdefaultValue: 0\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\trules: [],\n\t\t\t\tinvariants: [{\n\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\tname: \"search.resultCount is non-negative\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"search.resultCount\"),\n\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\tright: -1\n\t\t\t\t\t},\n\t\t\t\t\tmessage: \"Result count must be ≥ 0.\"\n\t\t\t\t}],\n\t\t\t\ttransitions,\n\t\t\t\tactions: [{\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Search products\",\n\t\t\t\t\tintent: \"Run a keyword search and update the catalog grid.\",\n\t\t\t\t\tparameters: [{\n\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\tname: \"query\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdescription: \"Keyword(s) typed by the user. Bound to search.query.\",\n\t\t\t\t\t\tresourceId: productsResourceId,\n\t\t\t\t\t\tbindToStatePath: asStatePath(\"search.query\"),\n\t\t\t\t\t\tvalidations: [{\n\t\t\t\t\t\t\ttype: \"max_length\",\n\t\t\t\t\t\t\tvalue: 200\n\t\t\t\t\t\t}]\n\t\t\t\t\t}],\n\t\t\t\t\trequiredStates: [asStatePath(\"search.query\")],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"search.query\"),\n\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\tright: \"\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\tmessage: \"Type something to start searching.\",\n\t\t\t\t\t\t\ttone: \"info\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdescription: \"Soft hint when the query is empty. Non-blocking.\"\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [{\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\tevent: asEventName(\"catalog.search.executed\")\n\t\t\t\t\t}],\n\t\t\t\t\temittedEvents: [asEventName(\"catalog.search.executed\")],\n\t\t\t\t\ttransitions: [],\n\t\t\t\t\tscenarios: [{\n\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\tname: \"Empty query\",\n\t\t\t\t\t\tdescription: \"User submits an empty search. Soft hint fires.\",\n\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\tpath: asStatePath(\"search.query\"),\n\t\t\t\t\t\t\tvalue: \"\"\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\tparameterName: \"query\",\n\t\t\t\t\t\t\tvalue: \"\"\n\t\t\t\t\t\t}]\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\tname: \"Specific keyword\",\n\t\t\t\t\t\tdescription: \"A focused query that should match products.\",\n\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\tpath: asStatePath(\"search.resultCount\"),\n\t\t\t\t\t\t\tvalue: 12\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\tparameterName: \"query\",\n\t\t\t\t\t\t\tvalue: \"kindle\"\n\t\t\t\t\t\t}]\n\t\t\t\t\t}]\n\t\t\t\t}, {\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"View cart\",\n\t\t\t\t\tintent: \"Navigate to the cart surface.\",\n\t\t\t\t\tparameters: [],\n\t\t\t\t\trequiredStates: [asStatePath(\"cart.itemCount\")],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"ux_feedback\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"cart.itemCount\"),\n\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\tright: 0\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\tmessage: \"Your cart is empty.\",\n\t\t\t\t\t\t\ttone: \"info\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [{\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\tevent: asEventName(\"navigation.cart.opened\")\n\t\t\t\t\t}, ...linkTargets.get(COMMERCE_BLUEPRINT_IDS.cart) ? [{\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"transition_surface\",\n\t\t\t\t\t\ttarget: linkTargets.get(COMMERCE_BLUEPRINT_IDS.cart)\n\t\t\t\t\t}] : []],\n\t\t\t\t\temittedEvents: [asEventName(\"navigation.cart.opened\")],\n\t\t\t\t\ttransitions: []\n\t\t\t\t}]\n\t\t\t},\n\t\t\tresources: commerceResources\n\t\t};\n\t}\n};\n//#endregion\n//#region src/features/library/infrastructure/blueprints/commerce/CheckoutBlueprint.ts\nvar checkoutBlueprint = {\n\tid: COMMERCE_BLUEPRINT_IDS.checkout,\n\tname: \"Checkout\",\n\tcategory: \"commerce\",\n\tsurfaceType: \"workflow\",\n\tsummary: \"Multi-step checkout: address, payment, place order. PCI-aware.\",\n\tdescription: \"Multi-step purchase flow. Each step is gated by the previous one (address → payment → review → place). Place order runs fraud + compliance rules and emits the order.placed event.\",\n\tplatforms: [\"web\", \"mobile\"],\n\ttags: [\n\t\t\"checkout\",\n\t\t\"payment\",\n\t\t\"pci\",\n\t\t\"fraud\",\n\t\t\"compliance\"\n\t],\n\tsiblings: [COMMERCE_BLUEPRINT_IDS.cart, COMMERCE_BLUEPRINT_IDS.orderConfirmation],\n\tbuild: ({ ids, ownSurfaceId, linkTargets }) => {\n\t\tconst paymentsResourceId = asResourceId(\"library-commerce-res-payments\");\n\t\tconst transitions = [linkTargets.get(COMMERCE_BLUEPRINT_IDS.cart) && {\n\t\t\tid: asTransitionId(ids()),\n\t\t\ttarget: linkTargets.get(COMMERCE_BLUEPRINT_IDS.cart),\n\t\t\tlabel: \"Back to cart\"\n\t\t}, linkTargets.get(COMMERCE_BLUEPRINT_IDS.orderConfirmation) && {\n\t\t\tid: asTransitionId(ids()),\n\t\t\ttarget: linkTargets.get(COMMERCE_BLUEPRINT_IDS.orderConfirmation),\n\t\t\tlabel: \"Order confirmation\"\n\t\t}].filter((t) => Boolean(t));\n\t\treturn {\n\t\t\tsurface: {\n\t\t\t\tid: ownSurfaceId,\n\t\t\t\tname: \"Checkout\",\n\t\t\t\ttype: \"workflow\",\n\t\t\t\tdescription: \"Linear three-step checkout. State machine progresses through address → payment → review.\",\n\t\t\t\tstateDefinitions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"checkout.step\"),\n\t\t\t\t\t\ttype: \"enum\",\n\t\t\t\t\t\tenumValues: [\n\t\t\t\t\t\t\t\"address\",\n\t\t\t\t\t\t\t\"payment\",\n\t\t\t\t\t\t\t\"review\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdefaultValue: \"address\",\n\t\t\t\t\t\tdescription: \"Active step in the checkout funnel.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"payment.method\"),\n\t\t\t\t\t\ttype: \"enum\",\n\t\t\t\t\t\tenumValues: [\n\t\t\t\t\t\t\t\"card\",\n\t\t\t\t\t\t\t\"paypal\",\n\t\t\t\t\t\t\t\"gift_card\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdefaultValue: \"card\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"payment.cardValid\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"shipping.addressConfirmed\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"order.amount\"),\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tdefaultValue: 0,\n\t\t\t\t\t\tdescription: \"Order total in cents.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"fraud.flagged\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\trules: [{\n\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\tcategory: \"security\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"fraud.flagged\"),\n\t\t\t\t\t\toperator: \"is_true\"\n\t\t\t\t\t},\n\t\t\t\t\teffect: {\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\treason: \"This account is under review and cannot place orders.\"\n\t\t\t\t\t},\n\t\t\t\t\tdescription: \"Surface-level fraud gate. Blocks every action if the account is flagged.\"\n\t\t\t\t}],\n\t\t\t\tinvariants: [{\n\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\tname: \"order.amount is non-negative\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"order.amount\"),\n\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\tright: -1\n\t\t\t\t\t},\n\t\t\t\t\tmessage: \"Order total must be ≥ 0.\"\n\t\t\t\t}],\n\t\t\t\ttransitions,\n\t\t\t\tactions: [{\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Select payment method\",\n\t\t\t\t\tintent: \"Pick how the customer will pay and advance to review.\",\n\t\t\t\t\tparameters: [{\n\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\tname: \"method\",\n\t\t\t\t\t\ttype: \"enum\",\n\t\t\t\t\t\tenumValues: [\n\t\t\t\t\t\t\t\"card\",\n\t\t\t\t\t\t\t\"paypal\",\n\t\t\t\t\t\t\t\"gift_card\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdescription: \"Payment method picked. Bound to payment.method.\",\n\t\t\t\t\t\tresourceId: paymentsResourceId,\n\t\t\t\t\t\tbindToStatePath: asStatePath(\"payment.method\")\n\t\t\t\t\t}],\n\t\t\t\t\trequiredStates: [\n\t\t\t\t\t\tasStatePath(\"checkout.step\"),\n\t\t\t\t\t\tasStatePath(\"shipping.addressConfirmed\"),\n\t\t\t\t\t\tasStatePath(\"payment.cardValid\"),\n\t\t\t\t\t\tasStatePath(\"fraud.flagged\")\n\t\t\t\t\t],\n\t\t\t\t\trules: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"security\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"fraud.flagged\"),\n\t\t\t\t\t\t\t\toperator: \"is_true\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Account under review. Cannot select a payment method.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"checkout.step\"),\n\t\t\t\t\t\t\t\toperator: \"not_equals\",\n\t\t\t\t\t\t\t\tright: \"payment\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"You are not on the payment step.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"shipping.addressConfirmed\"),\n\t\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Confirm a shipping address first.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"payment.cardValid\"),\n\t\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Card declined. Try a different payment method.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [{\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\tpath: asStatePath(\"checkout.step\"),\n\t\t\t\t\t\tvalue: \"review\"\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\tevent: asEventName(\"checkout.payment.selected\")\n\t\t\t\t\t}],\n\t\t\t\t\temittedEvents: [asEventName(\"checkout.payment.selected\")],\n\t\t\t\t\ttransitions: []\n\t\t\t\t}, {\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Place order\",\n\t\t\t\t\tintent: \"Finalize the order, run fraud + compliance, advance to confirmation.\",\n\t\t\t\t\tparameters: [],\n\t\t\t\t\trequiredStates: [\n\t\t\t\t\t\tasStatePath(\"checkout.step\"),\n\t\t\t\t\t\tasStatePath(\"order.amount\"),\n\t\t\t\t\t\tasStatePath(\"fraud.flagged\")\n\t\t\t\t\t],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"checkout.step\"),\n\t\t\t\t\t\t\toperator: \"not_equals\",\n\t\t\t\t\t\t\tright: \"review\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\treason: \"Complete the previous steps first.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"compliance\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"order.amount\"),\n\t\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\t\tright: 2e5\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\tmessage: \"Large order. Additional review may apply.\",\n\t\t\t\t\t\t\ttone: \"warning\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\tevent: asEventName(\"order.placed\")\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\tmessage: \"Order placed. Confirmation on its way.\",\n\t\t\t\t\t\t\ttone: \"success\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...linkTargets.get(COMMERCE_BLUEPRINT_IDS.orderConfirmation) ? [{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"transition_surface\",\n\t\t\t\t\t\t\ttarget: linkTargets.get(COMMERCE_BLUEPRINT_IDS.orderConfirmation)\n\t\t\t\t\t\t}] : []\n\t\t\t\t\t],\n\t\t\t\t\temittedEvents: [asEventName(\"order.placed\")],\n\t\t\t\t\ttransitions: [],\n\t\t\t\t\tscenarios: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Wrong step\",\n\t\t\t\t\t\t\tdescription: \"Customer is on the address step. Place order should block.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"checkout.step\"),\n\t\t\t\t\t\t\t\tvalue: \"address\"\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"fraud.flagged\"),\n\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Fraud flagged\",\n\t\t\t\t\t\t\tdescription: \"Account is flagged. Surface-level rule blocks.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"fraud.flagged\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Large order\",\n\t\t\t\t\t\t\tdescription: \"Order over $2,000. Compliance warning fires (non-blocking).\",\n\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"checkout.step\"),\n\t\t\t\t\t\t\t\t\tvalue: \"review\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"fraud.flagged\"),\n\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"order.amount\"),\n\t\t\t\t\t\t\t\t\tvalue: 25e4\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tparameterOverrides: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Happy path\",\n\t\t\t\t\t\t\tdescription: \"Standard order. Action succeeds.\",\n\t\t\t\t\t\t\tstateOverrides: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"checkout.step\"),\n\t\t\t\t\t\t\t\t\tvalue: \"review\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"fraud.flagged\"),\n\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"order.amount\"),\n\t\t\t\t\t\t\t\t\tvalue: 4598\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tparameterOverrides: []\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}]\n\t\t\t},\n\t\t\tresources: commerceResources\n\t\t};\n\t}\n};\n//#endregion\n//#region src/features/library/infrastructure/blueprints/commerce/OrderConfirmationBlueprint.ts\nvar orderConfirmationBlueprint = {\n\tid: COMMERCE_BLUEPRINT_IDS.orderConfirmation,\n\tname: \"Order confirmation\",\n\tcategory: \"commerce\",\n\tsurfaceType: \"screen\",\n\tsummary: \"Post-purchase confirmation with order summary and cancel option.\",\n\tdescription: \"Shows the customer their order id and total. Cancel-order action is gated on order status (cancellable until shipped).\",\n\tplatforms: [\"web\", \"mobile\"],\n\ttags: [\n\t\t\"order\",\n\t\t\"confirmation\",\n\t\t\"cancel\"\n\t],\n\tsiblings: [COMMERCE_BLUEPRINT_IDS.catalog],\n\tbuild: ({ ids, ownSurfaceId, linkTargets }) => {\n\t\tconst transitions = [linkTargets.get(COMMERCE_BLUEPRINT_IDS.catalog) && {\n\t\t\tid: asTransitionId(ids()),\n\t\t\ttarget: linkTargets.get(COMMERCE_BLUEPRINT_IDS.catalog),\n\t\t\tlabel: \"Continue shopping\"\n\t\t}].filter((t) => Boolean(t));\n\t\treturn {\n\t\t\tsurface: {\n\t\t\t\tid: ownSurfaceId,\n\t\t\t\tname: \"Order confirmation\",\n\t\t\t\ttype: \"screen\",\n\t\t\t\tdescription: \"Order summary screen shown after a successful purchase.\",\n\t\t\t\tstateDefinitions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"order.status\"),\n\t\t\t\t\t\ttype: \"enum\",\n\t\t\t\t\t\tenumValues: [\n\t\t\t\t\t\t\t\"pending\",\n\t\t\t\t\t\t\t\"paid\",\n\t\t\t\t\t\t\t\"shipped\",\n\t\t\t\t\t\t\t\"delivered\",\n\t\t\t\t\t\t\t\"cancelled\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdefaultValue: \"paid\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"order.amount\"),\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tdefaultValue: 0\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"order.id\"),\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdefaultValue: \"\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\trules: [],\n\t\t\t\tinvariants: [{\n\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\tname: \"order.id is observable\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"order.id\"),\n\t\t\t\t\t\toperator: \"exists\"\n\t\t\t\t\t},\n\t\t\t\t\tmessage: \"Order id must always be present on the confirmation surface.\"\n\t\t\t\t}],\n\t\t\t\ttransitions,\n\t\t\t\tactions: [{\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Cancel order\",\n\t\t\t\t\tintent: \"Customer-initiated cancellation while the order is still cancellable.\",\n\t\t\t\t\tparameters: [],\n\t\t\t\t\trequiredStates: [asStatePath(\"order.status\")],\n\t\t\t\t\trules: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"order.status\"),\n\t\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\t\tright: \"shipped\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Order has shipped. Contact support for a return.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"order.status\"),\n\t\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\t\tright: \"cancelled\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Order is already cancelled.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"order.status\"),\n\t\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\t\tright: \"delivered\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Order has been delivered. Start a return instead.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\t\tpath: asStatePath(\"order.status\"),\n\t\t\t\t\t\t\tvalue: \"cancelled\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\tevent: asEventName(\"order.cancelled\")\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\tmessage: \"Order cancelled. Refund on its way.\",\n\t\t\t\t\t\t\ttone: \"success\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\temittedEvents: [asEventName(\"order.cancelled\")],\n\t\t\t\t\ttransitions: [],\n\t\t\t\t\tscenarios: [{\n\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\tname: \"Already shipped\",\n\t\t\t\t\t\tdescription: \"Order has shipped. Cancel blocks.\",\n\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\tpath: asStatePath(\"order.status\"),\n\t\t\t\t\t\t\tvalue: \"shipped\"\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tparameterOverrides: []\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\tname: \"Pending cancel\",\n\t\t\t\t\t\tdescription: \"Order is paid but not yet shipped. Cancel succeeds.\",\n\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\tpath: asStatePath(\"order.status\"),\n\t\t\t\t\t\t\tvalue: \"paid\"\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tparameterOverrides: []\n\t\t\t\t\t}]\n\t\t\t\t}]\n\t\t\t},\n\t\t\tresources: [commerceResources.find((r) => r.id === asResourceId(\"library-commerce-res-orders\"))]\n\t\t};\n\t}\n};\n//#endregion\n//#region src/features/library/infrastructure/blueprints/commerce/index.ts\nvar commerceBlueprints = [\n\tcatalogBlueprint,\n\t{\n\t\tid: COMMERCE_BLUEPRINT_IDS.productDetails,\n\t\tname: \"Product details\",\n\t\tcategory: \"commerce\",\n\t\tsurfaceType: \"screen\",\n\t\tsummary: \"Product page with stock-aware add-to-cart and age-gating.\",\n\t\tdescription: \"Standard PDP. Customers view a product, pick a quantity, and add it to the cart. Out-of-stock and age-restricted products are blocked at the rule layer.\",\n\t\tplatforms: [\"web\", \"mobile\"],\n\t\ttags: [\n\t\t\t\"product\",\n\t\t\t\"pdp\",\n\t\t\t\"add-to-cart\",\n\t\t\t\"stock\"\n\t\t],\n\t\tsiblings: [COMMERCE_BLUEPRINT_IDS.catalog, COMMERCE_BLUEPRINT_IDS.cart],\n\t\tbuild: ({ ids, ownSurfaceId, linkTargets }) => {\n\t\t\tconst productsResourceId = asResourceId(\"library-commerce-res-products\");\n\t\t\tconst cartResourceId = asResourceId(\"library-commerce-res-cart\");\n\t\t\tconst transitions = [linkTargets.get(COMMERCE_BLUEPRINT_IDS.catalog) && {\n\t\t\t\tid: asTransitionId(ids()),\n\t\t\t\ttarget: linkTargets.get(COMMERCE_BLUEPRINT_IDS.catalog),\n\t\t\t\tlabel: \"Back to catalog\"\n\t\t\t}, linkTargets.get(COMMERCE_BLUEPRINT_IDS.cart) && {\n\t\t\t\tid: asTransitionId(ids()),\n\t\t\t\ttarget: linkTargets.get(COMMERCE_BLUEPRINT_IDS.cart),\n\t\t\t\tlabel: \"Go to cart\"\n\t\t\t}].filter((t) => Boolean(t));\n\t\t\treturn {\n\t\t\t\tsurface: {\n\t\t\t\t\tid: ownSurfaceId,\n\t\t\t\t\tname: \"Product details\",\n\t\t\t\t\ttype: \"screen\",\n\t\t\t\t\tdescription: \"Detail page for a single product. Shows price, stock, add-to-cart button.\",\n\t\t\t\t\tstateDefinitions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"product.viewing\"),\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\tdefaultValue: \"\",\n\t\t\t\t\t\t\tdescription: \"ID of the product currently displayed. Bound from \\\"productId\\\".\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"product.stock\"),\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\tdefaultValue: 12,\n\t\t\t\t\t\t\tdescription: \"Stock count for the focused product.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"product.price\"),\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\tdefaultValue: 1999,\n\t\t\t\t\t\t\tdescription: \"Unit price in cents.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"product.ageRestricted\"),\n\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"user.age\"),\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\tdefaultValue: 30\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"cart.itemCount\"),\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\tdefaultValue: 0\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"user.suspended\"),\n\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\trules: [],\n\t\t\t\t\tinvariants: [{\n\t\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\t\tname: \"product.stock is non-negative\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"product.stock\"),\n\t\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\t\tright: -1\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmessage: \"Stock must never go below zero.\"\n\t\t\t\t\t}],\n\t\t\t\t\ttransitions,\n\t\t\t\t\tactions: [{\n\t\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\t\tname: \"View product\",\n\t\t\t\t\t\tintent: \"Open the product detail page.\",\n\t\t\t\t\t\tparameters: [{\n\t\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\t\tname: \"productId\",\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tdescription: \"ID of the product to display. Bound to product.viewing.\",\n\t\t\t\t\t\t\tresourceId: productsResourceId,\n\t\t\t\t\t\t\tbindToStatePath: asStatePath(\"product.viewing\"),\n\t\t\t\t\t\t\tvalidations: [{ type: \"non_empty\" }, { type: \"slug\" }]\n\t\t\t\t\t\t}],\n\t\t\t\t\t\trequiredStates: [asStatePath(\"product.viewing\"), asStatePath(\"product.ageRestricted\")],\n\t\t\t\t\t\trules: [{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"product.viewing\"),\n\t\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\t\tright: \"\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"No product selected.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"compliance\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"user.age\"),\n\t\t\t\t\t\t\t\toperator: \"lower_than\",\n\t\t\t\t\t\t\t\tright: 18\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"You must be 18+ to view this product.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tinvariants: [],\n\t\t\t\t\t\teffects: [{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\tevent: asEventName(\"product.viewed\")\n\t\t\t\t\t\t}],\n\t\t\t\t\t\temittedEvents: [asEventName(\"product.viewed\")],\n\t\t\t\t\t\ttransitions: [],\n\t\t\t\t\t\tscenarios: [{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Underage on age-restricted\",\n\t\t\t\t\t\t\tdescription: \"Under-18 user views an age-gated product. Block fires.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.age\"),\n\t\t\t\t\t\t\t\tvalue: 14\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"product.ageRestricted\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"productId\",\n\t\t\t\t\t\t\t\tvalue: \"knife-set-pro\"\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Standard product\",\n\t\t\t\t\t\t\tdescription: \"Adult user views a regular product. No rules block.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.age\"),\n\t\t\t\t\t\t\t\tvalue: 30\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"product.ageRestricted\"),\n\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"productId\",\n\t\t\t\t\t\t\t\tvalue: \"kindle-paperwhite\"\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t}]\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\t\tname: \"Add to cart\",\n\t\t\t\t\t\tintent: \"Add the focused product to the cart with the chosen quantity.\",\n\t\t\t\t\t\tparameters: [{\n\t\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\t\tname: \"quantity\",\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tdefaultValue: 1,\n\t\t\t\t\t\t\tdescription: \"How many units to add.\",\n\t\t\t\t\t\t\tresourceId: cartResourceId,\n\t\t\t\t\t\t\tvalidations: [{\n\t\t\t\t\t\t\t\ttype: \"min\",\n\t\t\t\t\t\t\t\tvalue: 1\n\t\t\t\t\t\t\t}, { type: \"integer\" }]\n\t\t\t\t\t\t}],\n\t\t\t\t\t\trequiredStates: [asStatePath(\"product.stock\"), asStatePath(\"cart.itemCount\")],\n\t\t\t\t\t\trules: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"user.suspended\"),\n\t\t\t\t\t\t\t\t\toperator: \"is_true\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Account is suspended. Cannot add to cart.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"product.stock\"),\n\t\t\t\t\t\t\t\t\toperator: \"lower_than\",\n\t\t\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Out of stock.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"product.viewing\"),\n\t\t\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\t\t\tright: \"\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"No product selected.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\tinvariants: [],\n\t\t\t\t\t\teffects: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\t\t\tpath: asStatePath(\"cart.itemCount\"),\n\t\t\t\t\t\t\t\tvalue: 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\t\tevent: asEventName(\"cart.item.added\")\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\t\tmessage: \"Added to cart.\",\n\t\t\t\t\t\t\t\ttone: \"success\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\temittedEvents: [asEventName(\"cart.item.added\")],\n\t\t\t\t\t\ttransitions: [],\n\t\t\t\t\t\tscenarios: [{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Out of stock\",\n\t\t\t\t\t\t\tdescription: \"Product has zero stock. Block fires.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"product.stock\"),\n\t\t\t\t\t\t\t\tvalue: 0\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"quantity\",\n\t\t\t\t\t\t\t\tvalue: 1\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Happy path\",\n\t\t\t\t\t\t\tdescription: \"Stock available, valid product. Action succeeds.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"product.stock\"),\n\t\t\t\t\t\t\t\tvalue: 10\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"product.viewing\"),\n\t\t\t\t\t\t\t\tvalue: \"kindle-paperwhite\"\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"quantity\",\n\t\t\t\t\t\t\t\tvalue: 1\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t}]\n\t\t\t\t\t}]\n\t\t\t\t},\n\t\t\t\tresources: commerceResources\n\t\t\t};\n\t\t}\n\t},\n\tcartBlueprint,\n\tcheckoutBlueprint,\n\torderConfirmationBlueprint\n];\n//#endregion\n//#region src/features/library/infrastructure/blueprints/content/ReviewsBlueprint.ts\nvar reviewsBlueprintId = asBlueprintId(\"library.content.reviews\");\nvar reviewsResourceId = asResourceId(\"library-content-res-reviews\");\nvar moderationResourceId = asResourceId(\"library-content-res-moderation\");\nvar reviewsResources = [{\n\tid: reviewsResourceId,\n\tname: \"Product reviews (DynamoDB)\",\n\tdescription: \"Customer-written reviews. Public read, moderated write. PII via reviewer name.\",\n\tkind: \"document_db\",\n\tprovider: \"AWS DynamoDB\",\n\tscope: \"cloud\",\n\tlocation: \"eu-west\",\n\tdatabase: \"commerce\",\n\tcontainer: \"product-reviews\",\n\tfield: void 0,\n\tsensitivity: \"internal\",\n\tcontainsPii: true,\n\tcomplianceTags: [\"gdpr\"],\n\taccessMode: \"read_write\",\n\tauthentication: \"iam_role\",\n\tencryptionAtRest: true,\n\tencryptionInTransit: true,\n\tretention: \"until product delisted + 1 year\",\n\towner: \"community-team\"\n}, {\n\tid: moderationResourceId,\n\tname: \"Text moderation API\",\n\tdescription: \"External moderation API used to flag profanity in user-generated text.\",\n\tkind: \"http_api\",\n\tprovider: \"Perspective API\",\n\tscope: \"external\",\n\tlocation: \"us-east\",\n\tdatabase: \"https://commentanalyzer.googleapis.com\",\n\tcontainer: \"/v1alpha1/comments:analyze\",\n\tfield: void 0,\n\tsensitivity: \"internal\",\n\tcontainsPii: true,\n\tcomplianceTags: [\"gdpr\"],\n\taccessMode: \"read_write\",\n\tauthentication: \"api_key\",\n\tencryptionAtRest: true,\n\tencryptionInTransit: true,\n\tretention: \"managed by provider\",\n\towner: \"trust-and-safety-team\"\n}];\n//#endregion\n//#region src/features/library/infrastructure/blueprints/content/index.ts\nvar contentBlueprints = [{\n\tid: reviewsBlueprintId,\n\tname: \"Reviews\",\n\tcategory: \"content\",\n\tsurfaceType: \"screen\",\n\tsummary: \"Read, filter, and submit product reviews with profanity moderation.\",\n\tdescription: \"A reviews surface for any catalog item. Filter by minimum stars or verified-only, submit a new review (moderated), or upvote helpful ones. Cross-links to Product details when both bundles are present.\",\n\tplatforms: [\"web\", \"mobile\"],\n\ttags: [\n\t\t\"reviews\",\n\t\t\"comments\",\n\t\t\"rating\",\n\t\t\"moderation\",\n\t\t\"community\"\n\t],\n\tsiblings: [COMMERCE_BLUEPRINT_IDS.productDetails],\n\tbuild: ({ ids, ownSurfaceId, linkTargets }) => {\n\t\tconst transitions = [linkTargets.get(COMMERCE_BLUEPRINT_IDS.productDetails) && {\n\t\t\tid: asTransitionId(ids()),\n\t\t\ttarget: linkTargets.get(COMMERCE_BLUEPRINT_IDS.productDetails),\n\t\t\tlabel: \"Back to product\"\n\t\t}].filter((t) => Boolean(t));\n\t\treturn {\n\t\t\tsurface: {\n\t\t\t\tid: ownSurfaceId,\n\t\t\t\tname: \"Reviews\",\n\t\t\t\ttype: \"screen\",\n\t\t\t\tdescription: \"Browse and submit reviews for the product currently in product.viewing.\",\n\t\t\t\tstateDefinitions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"product.viewing\"),\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdefaultValue: \"\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"reviews.filter.minRating\"),\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tdefaultValue: 1,\n\t\t\t\t\t\tdescription: \"Minimum-stars filter. Bound from \\\"minRating\\\".\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"review.rating\"),\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tdefaultValue: 5,\n\t\t\t\t\t\tdescription: \"Star rating typed by the user. Bound from \\\"rating\\\".\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"review.text\"),\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdefaultValue: \"\",\n\t\t\t\t\t\tdescription: \"Review body. Bound from \\\"reviewText\\\".\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"review.profanityFlagged\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\trules: [{\n\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t},\n\t\t\t\t\teffect: {\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\tmessage: \"Sign in to submit or vote on reviews.\",\n\t\t\t\t\t\ttone: \"info\"\n\t\t\t\t\t},\n\t\t\t\t\tdescription: \"Surface-level hint for guests; specific actions still gate.\"\n\t\t\t\t}],\n\t\t\t\tinvariants: [{\n\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\tname: \"review.rating in [1, 5]\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"review.rating\"),\n\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\tright: 0\n\t\t\t\t\t},\n\t\t\t\t\tmessage: \"Rating must be at least 1 star.\"\n\t\t\t\t}],\n\t\t\t\ttransitions,\n\t\t\t\tactions: [{\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Filter reviews\",\n\t\t\t\t\tintent: \"Narrow the list by minimum rating.\",\n\t\t\t\t\tparameters: [{\n\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\tname: \"minRating\",\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdescription: \"Minimum stars to show. Bound to reviews.filter.minRating.\",\n\t\t\t\t\t\tresourceId: reviewsResourceId,\n\t\t\t\t\t\tbindToStatePath: asStatePath(\"reviews.filter.minRating\"),\n\t\t\t\t\t\tvalidations: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"min\",\n\t\t\t\t\t\t\t\tvalue: 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"max\",\n\t\t\t\t\t\t\t\tvalue: 5\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: \"integer\" }\n\t\t\t\t\t\t]\n\t\t\t\t\t}],\n\t\t\t\t\trequiredStates: [asStatePath(\"reviews.filter.minRating\")],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"reviews.filter.minRating\"),\n\t\t\t\t\t\t\toperator: \"lower_than\",\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\treason: \"Minimum rating must be at least 1.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"ux_feedback\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"reviews.filter.minRating\"),\n\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\tright: 5\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\tmessage: \"Only 5-star reviews shown. Widen the filter for balance.\",\n\t\t\t\t\t\t\ttone: \"info\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [{\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\tevent: asEventName(\"reviews.filtered\")\n\t\t\t\t\t}],\n\t\t\t\t\temittedEvents: [asEventName(\"reviews.filtered\")],\n\t\t\t\t\ttransitions: []\n\t\t\t\t}, {\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Submit review\",\n\t\t\t\t\tintent: \"Post a customer review of the focused product.\",\n\t\t\t\t\tparameters: [{\n\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\tname: \"rating\",\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdescription: \"Star rating 1–5. Bound to review.rating.\",\n\t\t\t\t\t\tresourceId: reviewsResourceId,\n\t\t\t\t\t\tbindToStatePath: asStatePath(\"review.rating\"),\n\t\t\t\t\t\tvalidations: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"min\",\n\t\t\t\t\t\t\t\tvalue: 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"max\",\n\t\t\t\t\t\t\t\tvalue: 5\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: \"integer\" }\n\t\t\t\t\t\t]\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\tname: \"reviewText\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdescription: \"Free-text review body. Bound to review.text.\",\n\t\t\t\t\t\tresourceId: reviewsResourceId,\n\t\t\t\t\t\tbindToStatePath: asStatePath(\"review.text\"),\n\t\t\t\t\t\tvalidations: [\n\t\t\t\t\t\t\t{ type: \"non_empty\" },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"min_length\",\n\t\t\t\t\t\t\t\tvalue: 10\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"max_length\",\n\t\t\t\t\t\t\t\tvalue: 5e3\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}],\n\t\t\t\t\trequiredStates: [\n\t\t\t\t\t\tasStatePath(\"review.rating\"),\n\t\t\t\t\t\tasStatePath(\"review.text\"),\n\t\t\t\t\t\tasStatePath(\"review.profanityFlagged\"),\n\t\t\t\t\t\tasStatePath(\"user.authenticated\")\n\t\t\t\t\t],\n\t\t\t\t\trules: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Sign in to submit a review.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"compliance\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"review.profanityFlagged\"),\n\t\t\t\t\t\t\t\toperator: \"is_true\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Review violates community guidelines.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"review.text\"),\n\t\t\t\t\t\t\t\toperator: \"contains\",\n\t\t\t\t\t\t\t\tright: \"http\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Reviews cannot contain links.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"review.rating\"),\n\t\t\t\t\t\t\t\toperator: \"lower_than\",\n\t\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Pick a rating between 1 and 5.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\t\tpath: asStatePath(\"review.profanityFlagged\"),\n\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\tevent: asEventName(\"review.submitted\")\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\tmessage: \"Thanks. Your review is published.\",\n\t\t\t\t\t\t\ttone: \"success\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\temittedEvents: [asEventName(\"review.submitted\")],\n\t\t\t\t\ttransitions: [],\n\t\t\t\t\tscenarios: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Guest tries to post\",\n\t\t\t\t\t\t\tdescription: \"Unauthenticated user. Permissions rule blocks.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"rating\",\n\t\t\t\t\t\t\t\tvalue: 5\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tparameterName: \"reviewText\",\n\t\t\t\t\t\t\t\tvalue: \"Loved it. Buying again.\"\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Contains a link\",\n\t\t\t\t\t\t\tdescription: \"Review body has \\\"http\\\". No-links rule blocks.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"review.profanityFlagged\"),\n\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"rating\",\n\t\t\t\t\t\t\t\tvalue: 1\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tparameterName: \"reviewText\",\n\t\t\t\t\t\t\t\tvalue: \"Bad. See https://example.com\"\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Profanity flagged\",\n\t\t\t\t\t\t\tdescription: \"Moderation API flagged the text. Compliance rule blocks.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"review.profanityFlagged\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"rating\",\n\t\t\t\t\t\t\t\tvalue: 2\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tparameterName: \"reviewText\",\n\t\t\t\t\t\t\t\tvalue: \"Average quality, fits my needs.\"\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Happy path\",\n\t\t\t\t\t\t\tdescription: \"Authenticated, clean text. Review posts.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"review.profanityFlagged\"),\n\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"rating\",\n\t\t\t\t\t\t\t\tvalue: 5\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tparameterName: \"reviewText\",\n\t\t\t\t\t\t\t\tvalue: \"Loved it. Buying again.\"\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}]\n\t\t\t},\n\t\t\tresources: reviewsResources\n\t\t};\n\t}\n}];\n//#endregion\n//#region src/features/library/infrastructure/blueprints/onboarding/index.ts\nvar onboardingBlueprints = [{\n\tid: asBlueprintId(\"library.onboarding.wizard\"),\n\tname: \"Onboarding wizard\",\n\tcategory: \"onboarding\",\n\tsurfaceType: \"workflow\",\n\tsummary: \"Multi-step welcome flow: profile, preferences, finish.\",\n\tdescription: \"A linear three-step wizard for new users. Each step gates on the previous one; the final step marks the user as onboarded and emits an event analytics can listen to.\",\n\tplatforms: [\"web\", \"mobile\"],\n\ttags: [\n\t\t\"onboarding\",\n\t\t\"wizard\",\n\t\t\"first-run\",\n\t\t\"profile\"\n\t],\n\tbuild: ({ ids, ownSurfaceId }) => {\n\t\tconst profileResourceId = asResourceId(\"library-onboarding-res-profile\");\n\t\treturn {\n\t\t\tsurface: {\n\t\t\t\tid: ownSurfaceId,\n\t\t\t\tname: \"Onboarding wizard\",\n\t\t\t\ttype: \"workflow\",\n\t\t\t\tdescription: \"Three-step welcome: 1) profile, 2) preferences, 3) finish. State machine progresses through onboarding.step.\",\n\t\t\t\tstateDefinitions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"onboarding.step\"),\n\t\t\t\t\t\ttype: \"enum\",\n\t\t\t\t\t\tenumValues: [\n\t\t\t\t\t\t\t\"profile\",\n\t\t\t\t\t\t\t\"preferences\",\n\t\t\t\t\t\t\t\"finish\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdefaultValue: \"profile\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"user.fullName\"),\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdefaultValue: \"\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"user.onboarded\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"preferences.theme\"),\n\t\t\t\t\t\ttype: \"enum\",\n\t\t\t\t\t\tenumValues: [\n\t\t\t\t\t\t\t\"light\",\n\t\t\t\t\t\t\t\"dark\",\n\t\t\t\t\t\t\t\"system\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdefaultValue: \"system\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\trules: [{\n\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\tcategory: \"security\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t},\n\t\t\t\t\teffect: {\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\treason: \"Sign in to continue your onboarding.\"\n\t\t\t\t\t},\n\t\t\t\t\tdescription: \"Surface-level gate. Every wizard step requires authentication.\"\n\t\t\t\t}],\n\t\t\t\tinvariants: [{\n\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\tname: \"onboarding.step is observable\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"onboarding.step\"),\n\t\t\t\t\t\toperator: \"exists\"\n\t\t\t\t\t},\n\t\t\t\t\tmessage: \"Wizard step must always be present.\"\n\t\t\t\t}],\n\t\t\t\ttransitions: [],\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\t\tname: \"Save profile\",\n\t\t\t\t\t\tintent: \"Capture the user full name and advance to preferences.\",\n\t\t\t\t\t\tparameters: [{\n\t\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\t\tname: \"fullName\",\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tdescription: \"Display name. Bound to user.fullName.\",\n\t\t\t\t\t\t\tresourceId: profileResourceId,\n\t\t\t\t\t\t\tbindToStatePath: asStatePath(\"user.fullName\"),\n\t\t\t\t\t\t\tvalidations: [\n\t\t\t\t\t\t\t\t{ type: \"non_empty\" },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: \"min_length\",\n\t\t\t\t\t\t\t\t\tvalue: 2\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: \"max_length\",\n\t\t\t\t\t\t\t\t\tvalue: 80\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}],\n\t\t\t\t\t\trequiredStates: [asStatePath(\"onboarding.step\"), asStatePath(\"user.fullName\")],\n\t\t\t\t\t\trules: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"onboarding.step\"),\n\t\t\t\t\t\t\t\t\toperator: \"not_equals\",\n\t\t\t\t\t\t\t\t\tright: \"profile\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"You are not on the profile step.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"user.fullName\"),\n\t\t\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\t\t\tright: \"\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Full name is required.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"compliance\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"user.fullName\"),\n\t\t\t\t\t\t\t\t\toperator: \"contains\",\n\t\t\t\t\t\t\t\t\tright: \"@\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Use a real name, not an email address.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\tinvariants: [],\n\t\t\t\t\t\teffects: [{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\t\tpath: asStatePath(\"onboarding.step\"),\n\t\t\t\t\t\t\tvalue: \"preferences\"\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\tevent: asEventName(\"onboarding.profile.saved\")\n\t\t\t\t\t\t}],\n\t\t\t\t\t\temittedEvents: [asEventName(\"onboarding.profile.saved\")],\n\t\t\t\t\t\ttransitions: [],\n\t\t\t\t\t\tscenarios: [{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Wrong step\",\n\t\t\t\t\t\t\tdescription: \"User is on preferences but somehow triggers profile-save.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"onboarding.step\"),\n\t\t\t\t\t\t\t\tvalue: \"preferences\"\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"fullName\",\n\t\t\t\t\t\t\t\tvalue: \"Anna\"\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Email instead of name\",\n\t\t\t\t\t\t\tdescription: \"User pastes an email. Compliance rule blocks.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"onboarding.step\"),\n\t\t\t\t\t\t\t\tvalue: \"profile\"\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"fullName\",\n\t\t\t\t\t\t\t\tvalue: \"a@b.co\"\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t}]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\t\tname: \"Save preferences\",\n\t\t\t\t\t\tintent: \"Capture theme preference and advance to finish.\",\n\t\t\t\t\t\tparameters: [{\n\t\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\t\tname: \"theme\",\n\t\t\t\t\t\t\ttype: \"enum\",\n\t\t\t\t\t\t\tenumValues: [\n\t\t\t\t\t\t\t\t\"light\",\n\t\t\t\t\t\t\t\t\"dark\",\n\t\t\t\t\t\t\t\t\"system\"\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tdescription: \"UI theme. Bound to preferences.theme.\",\n\t\t\t\t\t\t\tresourceId: profileResourceId,\n\t\t\t\t\t\t\tbindToStatePath: asStatePath(\"preferences.theme\")\n\t\t\t\t\t\t}],\n\t\t\t\t\t\trequiredStates: [asStatePath(\"onboarding.step\"), asStatePath(\"preferences.theme\")],\n\t\t\t\t\t\trules: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"onboarding.step\"),\n\t\t\t\t\t\t\t\t\toperator: \"not_equals\",\n\t\t\t\t\t\t\t\t\tright: \"preferences\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Complete the profile step first.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"preferences.theme\"),\n\t\t\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\t\t\tright: \"\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Pick a theme.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Sign in required.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\tinvariants: [],\n\t\t\t\t\t\teffects: [{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\t\tpath: asStatePath(\"onboarding.step\"),\n\t\t\t\t\t\t\tvalue: \"finish\"\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\tevent: asEventName(\"onboarding.preferences.saved\")\n\t\t\t\t\t\t}],\n\t\t\t\t\t\temittedEvents: [asEventName(\"onboarding.preferences.saved\")],\n\t\t\t\t\t\ttransitions: []\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\t\tname: \"Finish onboarding\",\n\t\t\t\t\t\tintent: \"Mark the user as onboarded and exit the wizard.\",\n\t\t\t\t\t\tparameters: [],\n\t\t\t\t\t\trequiredStates: [asStatePath(\"onboarding.step\")],\n\t\t\t\t\t\trules: [{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"onboarding.step\"),\n\t\t\t\t\t\t\t\toperator: \"not_equals\",\n\t\t\t\t\t\t\t\tright: \"finish\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Complete the previous steps first.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Sign in required.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tinvariants: [],\n\t\t\t\t\t\teffects: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.onboarded\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\t\tevent: asEventName(\"onboarding.completed\")\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\t\tmessage: \"Welcome aboard!\",\n\t\t\t\t\t\t\t\ttone: \"success\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\temittedEvents: [asEventName(\"onboarding.completed\")],\n\t\t\t\t\t\ttransitions: []\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tresources: [{\n\t\t\t\tid: profileResourceId,\n\t\t\t\tname: \"User profiles (Postgres)\",\n\t\t\t\tdescription: \"User profile record. Name, preferences, onboarding state.\",\n\t\t\t\tkind: \"relational_db\",\n\t\t\t\tprovider: \"PostgreSQL\",\n\t\t\t\tscope: \"cloud\",\n\t\t\t\tlocation: \"eu-west\",\n\t\t\t\tdatabase: \"identity\",\n\t\t\t\tcontainer: \"user_profiles\",\n\t\t\t\tfield: void 0,\n\t\t\t\tsensitivity: \"confidential\",\n\t\t\t\tcontainsPii: true,\n\t\t\t\tcomplianceTags: [\"gdpr\"],\n\t\t\t\taccessMode: \"read_write\",\n\t\t\t\tauthentication: \"iam_role\",\n\t\t\t\tencryptionAtRest: true,\n\t\t\t\tencryptionInTransit: true,\n\t\t\t\tretention: \"until account deletion + 30 days\",\n\t\t\t\towner: \"identity-team\"\n\t\t\t}]\n\t\t};\n\t}\n}];\n//#endregion\n//#region src/features/library/infrastructure/blueprints/utility/CanvasBlueprint.ts\nvar canvasBlueprint = {\n\tid: asBlueprintId(\"library.utility.canvas\"),\n\tname: \"Canvas\",\n\tcategory: \"utility\",\n\tsurfaceType: \"canvas\",\n\tsummary: \"Free-form Figma/Miro-style canvas with shape add, move, and selection.\",\n\tdescription: \"A blank infinite canvas. Authenticated users add shapes/text/images, select and move them, and save snapshots. Element-count cap and viewer-vs-editor permission gating.\",\n\tplatforms: [\"web\"],\n\ttags: [\n\t\t\"canvas\",\n\t\t\"whiteboard\",\n\t\t\"figma\",\n\t\t\"miro\",\n\t\t\"collaboration\"\n\t],\n\tbuild: ({ ids, ownSurfaceId }) => {\n\t\tconst canvasResourceId = asResourceId(\"library-utility-res-canvas-doc\");\n\t\tconst assetsResourceId = asResourceId(\"library-utility-res-canvas-assets\");\n\t\treturn {\n\t\t\tsurface: {\n\t\t\t\tid: ownSurfaceId,\n\t\t\t\tname: \"Canvas\",\n\t\t\t\ttype: \"canvas\",\n\t\t\t\tdescription: \"Free-form drawing surface. Each element has a position; selection state drives the right-side properties panel.\",\n\t\t\t\tstateDefinitions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"canvas.elementCount\"),\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tdefaultValue: 0,\n\t\t\t\t\t\tdescription: \"Total elements currently on the canvas.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"canvas.maxElements\"),\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tdefaultValue: 500,\n\t\t\t\t\t\tdescription: \"Plan limit. Writes are blocked once elementCount reaches this.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"canvas.selectedId\"),\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdefaultValue: \"\",\n\t\t\t\t\t\tdescription: \"ID of the currently focused element. Bound from selection actions.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"canvas.role\"),\n\t\t\t\t\t\ttype: \"enum\",\n\t\t\t\t\t\tenumValues: [\"editor\", \"viewer\"],\n\t\t\t\t\t\tdefaultValue: \"viewer\",\n\t\t\t\t\t\tdescription: \"Per-canvas access role for the active user.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\trules: [{\n\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t},\n\t\t\t\t\teffect: {\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\tmessage: \"You are viewing a shared canvas. Sign in to edit.\",\n\t\t\t\t\t\ttone: \"info\"\n\t\t\t\t\t},\n\t\t\t\t\tdescription: \"Surface-level guard: anonymous visitors can view but each action gates writes.\"\n\t\t\t\t}],\n\t\t\t\tinvariants: [{\n\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\tname: \"elementCount is non-negative\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"canvas.elementCount\"),\n\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\tright: -1\n\t\t\t\t\t},\n\t\t\t\t\tmessage: \"Element count must be ≥ 0.\"\n\t\t\t\t}],\n\t\t\t\ttransitions: [],\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\t\tname: \"Add element\",\n\t\t\t\t\t\tintent: \"Drop a new shape, text, or image on the canvas at a chosen position.\",\n\t\t\t\t\t\tparameters: [{\n\t\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\t\tname: \"kind\",\n\t\t\t\t\t\t\ttype: \"enum\",\n\t\t\t\t\t\t\tenumValues: [\n\t\t\t\t\t\t\t\t\"rectangle\",\n\t\t\t\t\t\t\t\t\"ellipse\",\n\t\t\t\t\t\t\t\t\"line\",\n\t\t\t\t\t\t\t\t\"text\",\n\t\t\t\t\t\t\t\t\"image\",\n\t\t\t\t\t\t\t\t\"sticky_note\"\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tdescription: \"What to add. Bound nowhere. Just drives the new element type.\",\n\t\t\t\t\t\t\tresourceId: canvasResourceId\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\t\tname: \"position\",\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tdescription: \"Stringified `{x, y}` of the drop point.\",\n\t\t\t\t\t\t\tresourceId: canvasResourceId,\n\t\t\t\t\t\t\tvalidations: [{ type: \"non_empty\" }]\n\t\t\t\t\t\t}],\n\t\t\t\t\t\trequiredStates: [\n\t\t\t\t\t\t\tasStatePath(\"canvas.elementCount\"),\n\t\t\t\t\t\t\tasStatePath(\"canvas.maxElements\"),\n\t\t\t\t\t\t\tasStatePath(\"canvas.role\")\n\t\t\t\t\t\t],\n\t\t\t\t\t\trules: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"canvas.role\"),\n\t\t\t\t\t\t\t\t\toperator: \"not_equals\",\n\t\t\t\t\t\t\t\t\tright: \"editor\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"You need editor access to add elements.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"canvas.elementCount\"),\n\t\t\t\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\t\t\t\tright: 499\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Element limit reached for this plan.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"canvas.role\"),\n\t\t\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\t\t\tright: \"\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Canvas role missing. Refresh.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\tinvariants: [],\n\t\t\t\t\t\teffects: [{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\t\tpath: asStatePath(\"canvas.elementCount\"),\n\t\t\t\t\t\t\tvalue: 1\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\tevent: asEventName(\"canvas.element.added\")\n\t\t\t\t\t\t}],\n\t\t\t\t\t\temittedEvents: [asEventName(\"canvas.element.added\")],\n\t\t\t\t\t\ttransitions: [],\n\t\t\t\t\t\tscenarios: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\t\tname: \"Viewer tries to add\",\n\t\t\t\t\t\t\t\tdescription: \"Viewer role. Permissions rule blocks.\",\n\t\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"canvas.role\"),\n\t\t\t\t\t\t\t\t\tvalue: \"viewer\"\n\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"canvas.elementCount\"),\n\t\t\t\t\t\t\t\t\tvalue: 12\n\t\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\t\tparameterName: \"kind\",\n\t\t\t\t\t\t\t\t\tvalue: \"rectangle\"\n\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\tparameterName: \"position\",\n\t\t\t\t\t\t\t\t\tvalue: \"{\\\"x\\\":120,\\\"y\\\":80}\"\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\t\tname: \"At plan limit\",\n\t\t\t\t\t\t\t\tdescription: \"elementCount reached the cap. Business rule blocks.\",\n\t\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"canvas.role\"),\n\t\t\t\t\t\t\t\t\tvalue: \"editor\"\n\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"canvas.elementCount\"),\n\t\t\t\t\t\t\t\t\tvalue: 500\n\t\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\t\tparameterName: \"kind\",\n\t\t\t\t\t\t\t\t\tvalue: \"sticky_note\"\n\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\tparameterName: \"position\",\n\t\t\t\t\t\t\t\t\tvalue: \"{\\\"x\\\":40,\\\"y\\\":40}\"\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\t\tname: \"Happy path\",\n\t\t\t\t\t\t\t\tdescription: \"Editor with room to add. Action succeeds.\",\n\t\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"canvas.role\"),\n\t\t\t\t\t\t\t\t\tvalue: \"editor\"\n\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\tpath: asStatePath(\"canvas.elementCount\"),\n\t\t\t\t\t\t\t\t\tvalue: 12\n\t\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\t\tparameterName: \"kind\",\n\t\t\t\t\t\t\t\t\tvalue: \"sticky_note\"\n\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\tparameterName: \"position\",\n\t\t\t\t\t\t\t\t\tvalue: \"{\\\"x\\\":200,\\\"y\\\":150}\"\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\t\tname: \"Select element\",\n\t\t\t\t\t\tintent: \"Focus a single element so the properties panel can edit it.\",\n\t\t\t\t\t\tparameters: [{\n\t\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\t\tname: \"elementId\",\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tdescription: \"ID to select. Bound to canvas.selectedId.\",\n\t\t\t\t\t\t\tresourceId: canvasResourceId,\n\t\t\t\t\t\t\tbindToStatePath: asStatePath(\"canvas.selectedId\"),\n\t\t\t\t\t\t\tvalidations: [{ type: \"non_empty\" }]\n\t\t\t\t\t\t}],\n\t\t\t\t\t\trequiredStates: [asStatePath(\"canvas.selectedId\")],\n\t\t\t\t\t\trules: [{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"canvas.selectedId\"),\n\t\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\t\tright: \"\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"No element id provided.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tinvariants: [],\n\t\t\t\t\t\teffects: [{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\tevent: asEventName(\"canvas.element.selected\")\n\t\t\t\t\t\t}],\n\t\t\t\t\t\temittedEvents: [asEventName(\"canvas.element.selected\")],\n\t\t\t\t\t\ttransitions: []\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\t\tname: \"Delete selection\",\n\t\t\t\t\t\tintent: \"Remove the currently selected element.\",\n\t\t\t\t\t\tparameters: [],\n\t\t\t\t\t\trequiredStates: [asStatePath(\"canvas.selectedId\"), asStatePath(\"canvas.role\")],\n\t\t\t\t\t\trules: [{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"canvas.role\"),\n\t\t\t\t\t\t\t\toperator: \"not_equals\",\n\t\t\t\t\t\t\t\tright: \"editor\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Editor access required to delete.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"canvas.selectedId\"),\n\t\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\t\tright: \"\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Select an element first.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tinvariants: [],\n\t\t\t\t\t\teffects: [{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\t\tpath: asStatePath(\"canvas.selectedId\"),\n\t\t\t\t\t\t\tvalue: \"\"\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\tevent: asEventName(\"canvas.element.deleted\")\n\t\t\t\t\t\t}],\n\t\t\t\t\t\temittedEvents: [asEventName(\"canvas.element.deleted\")],\n\t\t\t\t\t\ttransitions: []\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\t\tname: \"Save canvas\",\n\t\t\t\t\t\tintent: \"Persist the canvas snapshot to storage.\",\n\t\t\t\t\t\tparameters: [],\n\t\t\t\t\t\trequiredStates: [asStatePath(\"canvas.role\"), asStatePath(\"user.authenticated\")],\n\t\t\t\t\t\trules: [{\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Sign in to save your canvas.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\tleft: asStatePath(\"canvas.role\"),\n\t\t\t\t\t\t\t\toperator: \"not_equals\",\n\t\t\t\t\t\t\t\tright: \"editor\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\treason: \"Editor access required.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tinvariants: [],\n\t\t\t\t\t\teffects: [{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\tevent: asEventName(\"canvas.saved\")\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\tmessage: \"Canvas saved.\",\n\t\t\t\t\t\t\ttone: \"success\"\n\t\t\t\t\t\t}],\n\t\t\t\t\t\temittedEvents: [asEventName(\"canvas.saved\")],\n\t\t\t\t\t\ttransitions: []\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tresources: [{\n\t\t\t\tid: canvasResourceId,\n\t\t\t\tname: \"Canvas documents (Postgres)\",\n\t\t\t\tdescription: \"Per-canvas document with elements, layers, and metadata.\",\n\t\t\t\tkind: \"relational_db\",\n\t\t\t\tprovider: \"PostgreSQL\",\n\t\t\t\tscope: \"cloud\",\n\t\t\t\tlocation: \"eu-west\",\n\t\t\t\tdatabase: \"project\",\n\t\t\t\tcontainer: \"canvas_documents\",\n\t\t\t\tfield: void 0,\n\t\t\t\tsensitivity: \"internal\",\n\t\t\t\tcontainsPii: false,\n\t\t\t\tcomplianceTags: [],\n\t\t\t\taccessMode: \"read_write\",\n\t\t\t\tauthentication: \"iam_role\",\n\t\t\t\tencryptionAtRest: true,\n\t\t\t\tencryptionInTransit: true,\n\t\t\t\tretention: \"until canvas deleted\",\n\t\t\t\towner: \"project-team\"\n\t\t\t}, {\n\t\t\t\tid: assetsResourceId,\n\t\t\t\tname: \"Canvas assets (S3)\",\n\t\t\t\tdescription: \"Uploaded images and binary assets referenced by canvas elements.\",\n\t\t\t\tkind: \"object_storage\",\n\t\t\t\tprovider: \"AWS S3\",\n\t\t\t\tscope: \"cloud\",\n\t\t\t\tlocation: \"eu-west\",\n\t\t\t\tdatabase: \"project-assets\",\n\t\t\t\tcontainer: \"canvas/\",\n\t\t\t\tfield: void 0,\n\t\t\t\tsensitivity: \"internal\",\n\t\t\t\tcontainsPii: false,\n\t\t\t\tcomplianceTags: [],\n\t\t\t\taccessMode: \"read_write\",\n\t\t\t\tauthentication: \"iam_role\",\n\t\t\t\tencryptionAtRest: true,\n\t\t\t\tencryptionInTransit: true,\n\t\t\t\tretention: \"90 days after canvas deleted\",\n\t\t\t\towner: \"project-team\"\n\t\t\t}]\n\t\t};\n\t}\n};\n//#endregion\n//#region src/features/library/infrastructure/blueprints/utility/CookieConsentBlueprint.ts\nvar cookieConsentBlueprint = {\n\tid: asBlueprintId(\"library.utility.cookie_consent\"),\n\tname: \"Cookie consent\",\n\tcategory: \"utility\",\n\tsurfaceType: \"dialog_area\",\n\tsummary: \"GDPR cookie banner with granular consent toggles.\",\n\tdescription: \"Modal dialog shown on first visit. The visitor accepts/rejects analytics, marketing, and functional cookies; choices persist in local storage and are auditable.\",\n\tplatforms: [\"web\", \"mobile\"],\n\ttags: [\n\t\t\"gdpr\",\n\t\t\"consent\",\n\t\t\"cookies\",\n\t\t\"compliance\",\n\t\t\"modal\"\n\t],\n\tbuild: ({ ids, ownSurfaceId }) => {\n\t\tconst consentResourceId = asResourceId(\"library-utility-res-consent-log\");\n\t\treturn {\n\t\t\tsurface: {\n\t\t\t\tid: ownSurfaceId,\n\t\t\t\tname: \"Cookie consent\",\n\t\t\t\ttype: \"dialog_area\",\n\t\t\t\tdescription: \"Modal banner. Visitors accept all, reject non-essential, or pick categories.\",\n\t\t\t\tstateDefinitions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"consent.required\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: true,\n\t\t\t\t\t\tdescription: \"True until the visitor has made a choice.\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"consent.analytics\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"consent.marketing\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"consent.functional\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: true,\n\t\t\t\t\t\tdescription: \"Strictly-necessary cookies. Always on, not togglable.\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\trules: [],\n\t\t\t\tinvariants: [{\n\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\tname: \"consent.functional is always true\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"consent.functional\"),\n\t\t\t\t\t\toperator: \"is_true\"\n\t\t\t\t\t},\n\t\t\t\t\tmessage: \"Functional cookies are strictly necessary and cannot be disabled.\"\n\t\t\t\t}],\n\t\t\t\ttransitions: [],\n\t\t\t\tactions: [{\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Save preferences\",\n\t\t\t\t\tintent: \"Persist the chosen consent toggles and dismiss the banner.\",\n\t\t\t\t\tparameters: [{\n\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\tname: \"analytics\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\tdescription: \"Allow analytics cookies. Bound to consent.analytics.\",\n\t\t\t\t\t\tresourceId: consentResourceId,\n\t\t\t\t\t\tbindToStatePath: asStatePath(\"consent.analytics\")\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\tname: \"marketing\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\tdescription: \"Allow marketing cookies. Bound to consent.marketing.\",\n\t\t\t\t\t\tresourceId: consentResourceId,\n\t\t\t\t\t\tbindToStatePath: asStatePath(\"consent.marketing\")\n\t\t\t\t\t}],\n\t\t\t\t\trequiredStates: [asStatePath(\"consent.required\"), asStatePath(\"consent.functional\")],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"compliance\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"consent.functional\"),\n\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\treason: \"Functional cookies cannot be disabled.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"consent.required\"),\n\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\treason: \"Consent already recorded.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\t\tpath: asStatePath(\"consent.required\"),\n\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\tevent: asEventName(\"consent.recorded\")\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\tmessage: \"Preferences saved.\",\n\t\t\t\t\t\t\ttone: \"success\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\temittedEvents: [asEventName(\"consent.recorded\")],\n\t\t\t\t\ttransitions: [],\n\t\t\t\t\tscenarios: [{\n\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\tname: \"Accept all\",\n\t\t\t\t\t\tdescription: \"Visitor opts in to everything.\",\n\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\tpath: asStatePath(\"consent.required\"),\n\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\tparameterName: \"analytics\",\n\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tparameterName: \"marketing\",\n\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t}]\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\tname: \"Reject non-essential\",\n\t\t\t\t\t\tdescription: \"Visitor disables analytics and marketing.\",\n\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\tpath: asStatePath(\"consent.required\"),\n\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\tparameterName: \"analytics\",\n\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tparameterName: \"marketing\",\n\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t}]\n\t\t\t\t\t}]\n\t\t\t\t}]\n\t\t\t},\n\t\t\tresources: [{\n\t\t\t\tid: consentResourceId,\n\t\t\t\tname: \"Consent log (Postgres)\",\n\t\t\t\tdescription: \"Append-only log of consent choices for compliance audits.\",\n\t\t\t\tkind: \"relational_db\",\n\t\t\t\tprovider: \"PostgreSQL\",\n\t\t\t\tscope: \"cloud\",\n\t\t\t\tlocation: \"eu-west\",\n\t\t\t\tdatabase: \"compliance\",\n\t\t\t\tcontainer: \"consent_log\",\n\t\t\t\tfield: void 0,\n\t\t\t\tsensitivity: \"confidential\",\n\t\t\t\tcontainsPii: true,\n\t\t\t\tcomplianceTags: [\"gdpr\"],\n\t\t\t\taccessMode: \"write\",\n\t\t\t\tauthentication: \"iam_role\",\n\t\t\t\tencryptionAtRest: true,\n\t\t\t\tencryptionInTransit: true,\n\t\t\t\tretention: \"7 years\",\n\t\t\t\towner: \"compliance-team\"\n\t\t\t}]\n\t\t};\n\t}\n};\n//#endregion\n//#region src/features/library/infrastructure/blueprints/utility/NotFoundBlueprint.ts\nvar notFoundBlueprint = {\n\tid: asBlueprintId(\"library.utility.not_found\"),\n\tname: \"404. Not found\",\n\tcategory: \"utility\",\n\tsurfaceType: \"screen\",\n\tsummary: \"A friendly not-found page that emits a missing-resource event for telemetry.\",\n\tdescription: \"Drop-in catch-all surface for unknown routes. Emits page.not_found with the requested path so analytics can spot dead links.\",\n\tplatforms: [\"web\", \"mobile\"],\n\ttags: [\n\t\t\"404\",\n\t\t\"not-found\",\n\t\t\"error\",\n\t\t\"telemetry\"\n\t],\n\tbuild: ({ ids, ownSurfaceId }) => ({ surface: {\n\t\tid: ownSurfaceId,\n\t\tname: \"404\",\n\t\ttype: \"screen\",\n\t\tdescription: \"Shown when the user lands on a path the feature does not recognise.\",\n\t\tstateDefinitions: [{\n\t\t\tid: asStateDefinitionId(ids()),\n\t\t\tpath: asStatePath(\"error.requestedPath\"),\n\t\t\ttype: \"string\",\n\t\t\tdefaultValue: \"\",\n\t\t\tdescription: \"The path the user tried to reach. Recorded for telemetry.\"\n\t\t}],\n\t\trules: [],\n\t\tinvariants: [{\n\t\t\tid: asInvariantId(ids()),\n\t\t\tname: \"requestedPath is observable\",\n\t\t\tcondition: {\n\t\t\t\tleft: asStatePath(\"error.requestedPath\"),\n\t\t\t\toperator: \"exists\"\n\t\t\t},\n\t\t\tmessage: \"The 404 surface should always know which path was missed.\"\n\t\t}],\n\t\ttransitions: [],\n\t\tactions: [{\n\t\t\tid: asActionId(ids()),\n\t\t\tname: \"Report missing route\",\n\t\t\tintent: \"Emit a telemetry event for the missed path.\",\n\t\t\tparameters: [],\n\t\t\trequiredStates: [asStatePath(\"error.requestedPath\")],\n\t\t\trules: [{\n\t\t\t\tid: asRuleId(ids()),\n\t\t\t\tcategory: \"audit\",\n\t\t\t\tcondition: {\n\t\t\t\t\tleft: asStatePath(\"error.requestedPath\"),\n\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\tright: \"\"\n\t\t\t\t},\n\t\t\t\teffect: {\n\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\tmessage: \"No path captured. Telemetry will be skipped.\",\n\t\t\t\t\ttone: \"warning\"\n\t\t\t\t}\n\t\t\t}],\n\t\t\tinvariants: [],\n\t\t\teffects: [{\n\t\t\t\tid: asEffectId(ids()),\n\t\t\t\ttype: \"emit_event\",\n\t\t\t\tevent: asEventName(\"page.not_found\")\n\t\t\t}],\n\t\t\temittedEvents: [asEventName(\"page.not_found\")],\n\t\t\ttransitions: []\n\t\t}]\n\t} })\n};\n//#endregion\n//#region src/features/library/infrastructure/blueprints/utility/SearchPaletteBlueprint.ts\nvar searchPaletteBlueprint = {\n\tid: asBlueprintId(\"library.utility.search_palette\"),\n\tname: \"Search palette\",\n\tcategory: \"utility\",\n\tsurfaceType: \"command_palette\",\n\tsummary: \"Cmd-K style overlay for quick navigation, search, and command execution.\",\n\tdescription: \"A command-palette surface. Opens with a global hotkey, accepts a fuzzy query, suggests results, and executes the picked command. Common across modern apps (Slack, Linear, GitHub).\",\n\tplatforms: [\"web\", \"mobile\"],\n\ttags: [\n\t\t\"cmd-k\",\n\t\t\"palette\",\n\t\t\"search\",\n\t\t\"shortcut\",\n\t\t\"quick-nav\"\n\t],\n\tbuild: ({ ids, ownSurfaceId }) => {\n\t\tconst indexResourceId = asResourceId(\"library-utility-res-search-index\");\n\t\treturn {\n\t\t\tsurface: {\n\t\t\t\tid: ownSurfaceId,\n\t\t\t\tname: \"Search palette\",\n\t\t\t\ttype: \"command_palette\",\n\t\t\t\tdescription: \"Floating overlay launched by Cmd/Ctrl+K. Query routes through a search index.\",\n\t\t\t\tstateDefinitions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"palette.open\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"palette.query\"),\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdefaultValue: \"\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"palette.resultCount\"),\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tdefaultValue: 0\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\trules: [],\n\t\t\t\tinvariants: [{\n\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\tname: \"palette.resultCount is non-negative\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"palette.resultCount\"),\n\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\tright: -1\n\t\t\t\t\t},\n\t\t\t\t\tmessage: \"Result count must be ≥ 0.\"\n\t\t\t\t}],\n\t\t\t\ttransitions: [],\n\t\t\t\tactions: [{\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Run query\",\n\t\t\t\t\tintent: \"Run a fuzzy search and refresh suggestions in the palette.\",\n\t\t\t\t\tparameters: [{\n\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\tname: \"query\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdescription: \"What the user typed. Bound to palette.query.\",\n\t\t\t\t\t\tresourceId: indexResourceId,\n\t\t\t\t\t\tbindToStatePath: asStatePath(\"palette.query\"),\n\t\t\t\t\t\tvalidations: [{\n\t\t\t\t\t\t\ttype: \"max_length\",\n\t\t\t\t\t\t\tvalue: 200\n\t\t\t\t\t\t}]\n\t\t\t\t\t}],\n\t\t\t\t\trequiredStates: [asStatePath(\"palette.query\"), asStatePath(\"palette.open\")],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"palette.query\"),\n\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\tright: \"\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\tmessage: \"Type at least one character.\",\n\t\t\t\t\t\t\ttone: \"info\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [{\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\tevent: asEventName(\"palette.query.executed\")\n\t\t\t\t\t}],\n\t\t\t\t\temittedEvents: [asEventName(\"palette.query.executed\")],\n\t\t\t\t\ttransitions: [],\n\t\t\t\t\tscenarios: [{\n\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\tname: \"Empty query\",\n\t\t\t\t\t\tdescription: \"User submits a blank query. Soft hint fires.\",\n\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\tpath: asStatePath(\"palette.open\"),\n\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\tparameterName: \"query\",\n\t\t\t\t\t\t\tvalue: \"\"\n\t\t\t\t\t\t}]\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\tname: \"Specific keyword\",\n\t\t\t\t\t\tdescription: \"A focused query that should produce results.\",\n\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\tpath: asStatePath(\"palette.open\"),\n\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tpath: asStatePath(\"palette.resultCount\"),\n\t\t\t\t\t\t\tvalue: 8\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\tparameterName: \"query\",\n\t\t\t\t\t\t\tvalue: \"invoice\"\n\t\t\t\t\t\t}]\n\t\t\t\t\t}]\n\t\t\t\t}, {\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Close palette\",\n\t\t\t\t\tintent: \"Dismiss the palette overlay.\",\n\t\t\t\t\tparameters: [],\n\t\t\t\t\trequiredStates: [asStatePath(\"palette.open\")],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"palette.open\"),\n\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\treason: \"Palette is already closed.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [{\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\tpath: asStatePath(\"palette.open\"),\n\t\t\t\t\t\tvalue: false\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\tevent: asEventName(\"palette.closed\")\n\t\t\t\t\t}],\n\t\t\t\t\temittedEvents: [asEventName(\"palette.closed\")],\n\t\t\t\t\ttransitions: []\n\t\t\t\t}]\n\t\t\t},\n\t\t\tresources: [{\n\t\t\t\tid: indexResourceId,\n\t\t\t\tname: \"Global search index (OpenSearch)\",\n\t\t\t\tdescription: \"Cross-feature search index used by the command palette.\",\n\t\t\t\tkind: \"document_db\",\n\t\t\t\tprovider: \"OpenSearch\",\n\t\t\t\tscope: \"cloud\",\n\t\t\t\tlocation: \"eu-west\",\n\t\t\t\tdatabase: \"global-search\",\n\t\t\t\tcontainer: \"documents\",\n\t\t\t\tfield: void 0,\n\t\t\t\tsensitivity: \"internal\",\n\t\t\t\tcontainsPii: false,\n\t\t\t\tcomplianceTags: [],\n\t\t\t\taccessMode: \"read\",\n\t\t\t\tauthentication: \"service_account\",\n\t\t\t\tencryptionAtRest: true,\n\t\t\t\tencryptionInTransit: true,\n\t\t\t\tretention: \"rebuilt nightly\",\n\t\t\t\towner: \"platform-team\"\n\t\t\t}]\n\t\t};\n\t}\n};\n//#endregion\n//#region src/features/library/infrastructure/blueprints/utility/StoreLocatorBlueprint.ts\nvar storeLocatorBlueprint = {\n\tid: asBlueprintId(\"library.utility.map\"),\n\tname: \"Map\",\n\tcategory: \"utility\",\n\tsurfaceType: \"map\",\n\tsummary: \"Generic map view with geocoding, place search, and consent-gated geolocation.\",\n\tdescription: \"A drop-in geographic surface. Search by address, use the current location (gated on consent), and render points of interest as pins. Suits store locators, branch finders, ride-pickup, delivery zones, real-estate browsers. Anything map-driven.\",\n\tplatforms: [\"web\", \"mobile\"],\n\ttags: [\n\t\t\"map\",\n\t\t\"geocoding\",\n\t\t\"gdpr\",\n\t\t\"geolocation\",\n\t\t\"places\",\n\t\t\"pins\"\n\t],\n\tbuild: ({ ids, ownSurfaceId }) => {\n\t\tconst geoResourceId = asResourceId(\"library-utility-res-geocoding\");\n\t\tconst placesResourceId = asResourceId(\"library-utility-res-places\");\n\t\treturn {\n\t\t\tsurface: {\n\t\t\t\tid: ownSurfaceId,\n\t\t\t\tname: \"Map\",\n\t\t\t\ttype: \"map\",\n\t\t\t\tdescription: \"Map view with search box, optional geolocation, and a list of nearby pins.\",\n\t\t\t\tstateDefinitions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"locator.query\"),\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdefaultValue: \"\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"locator.resultCount\"),\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tdefaultValue: 0\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"locator.usingGeolocation\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\tpath: asStatePath(\"consent.geolocation\"),\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\tdescription: \"True once the visitor has granted geolocation permission.\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\trules: [],\n\t\t\t\tinvariants: [{\n\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\tname: \"locator.resultCount is non-negative\",\n\t\t\t\t\tcondition: {\n\t\t\t\t\t\tleft: asStatePath(\"locator.resultCount\"),\n\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\tright: -1\n\t\t\t\t\t},\n\t\t\t\t\tmessage: \"Result count must be ≥ 0.\"\n\t\t\t\t}],\n\t\t\t\ttransitions: [],\n\t\t\t\tactions: [{\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Search by address\",\n\t\t\t\t\tintent: \"Geocode the entered address and load nearby stores.\",\n\t\t\t\t\tparameters: [{\n\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\tname: \"address\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tdescription: \"Free-text address. Bound to locator.query.\",\n\t\t\t\t\t\tresourceId: geoResourceId,\n\t\t\t\t\t\tbindToStatePath: asStatePath(\"locator.query\"),\n\t\t\t\t\t\tvalidations: [{ type: \"non_empty\" }, {\n\t\t\t\t\t\t\ttype: \"min_length\",\n\t\t\t\t\t\t\tvalue: 3\n\t\t\t\t\t\t}]\n\t\t\t\t\t}],\n\t\t\t\t\trequiredStates: [asStatePath(\"locator.query\")],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"locator.query\"),\n\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\tright: \"\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\treason: \"Type an address.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [{\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\tevent: asEventName(\"locator.address.searched\")\n\t\t\t\t\t}],\n\t\t\t\t\temittedEvents: [asEventName(\"locator.address.searched\")],\n\t\t\t\t\ttransitions: []\n\t\t\t\t}, {\n\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\tname: \"Use my location\",\n\t\t\t\t\tintent: \"Snap the map to the user current location.\",\n\t\t\t\t\tparameters: [],\n\t\t\t\t\trequiredStates: [asStatePath(\"consent.geolocation\"), asStatePath(\"locator.usingGeolocation\")],\n\t\t\t\t\trules: [{\n\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\tcategory: \"compliance\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"consent.geolocation\"),\n\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\treason: \"Grant location permission first.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}],\n\t\t\t\t\tinvariants: [],\n\t\t\t\t\teffects: [{\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\tpath: asStatePath(\"locator.usingGeolocation\"),\n\t\t\t\t\t\tvalue: true\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\tevent: asEventName(\"locator.geolocation.used\")\n\t\t\t\t\t}],\n\t\t\t\t\temittedEvents: [asEventName(\"locator.geolocation.used\")],\n\t\t\t\t\ttransitions: [],\n\t\t\t\t\tscenarios: [{\n\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\tname: \"No consent yet\",\n\t\t\t\t\t\tdescription: \"Visitor hasn’t granted geolocation. Compliance rule blocks.\",\n\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\tpath: asStatePath(\"consent.geolocation\"),\n\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tparameterOverrides: []\n\t\t\t\t\t}, {\n\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\tname: \"Consent granted\",\n\t\t\t\t\t\tdescription: \"Visitor has consented. Action succeeds.\",\n\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\tpath: asStatePath(\"consent.geolocation\"),\n\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tparameterOverrides: []\n\t\t\t\t\t}]\n\t\t\t\t}]\n\t\t\t},\n\t\t\tresources: [{\n\t\t\t\tid: geoResourceId,\n\t\t\t\tname: \"Geocoding API\",\n\t\t\t\tdescription: \"External geocoding service (address → lat/lng).\",\n\t\t\t\tkind: \"http_api\",\n\t\t\t\tprovider: \"Mapbox\",\n\t\t\t\tscope: \"external\",\n\t\t\t\tlocation: \"us-east\",\n\t\t\t\tdatabase: \"https://api.mapbox.com\",\n\t\t\t\tcontainer: \"/geocoding/v5\",\n\t\t\t\tfield: void 0,\n\t\t\t\tsensitivity: \"internal\",\n\t\t\t\tcontainsPii: true,\n\t\t\t\tcomplianceTags: [\"gdpr\"],\n\t\t\t\taccessMode: \"read\",\n\t\t\t\tauthentication: \"api_key\",\n\t\t\t\tencryptionAtRest: true,\n\t\t\t\tencryptionInTransit: true,\n\t\t\t\tretention: \"managed by provider\",\n\t\t\t\towner: \"platform-team\"\n\t\t\t}, {\n\t\t\t\tid: placesResourceId,\n\t\t\t\tname: \"Places\",\n\t\t\t\tdescription: \"Directory of mappable points of interest. Stores, branches, drop-off points, listings, anything pinnable.\",\n\t\t\t\tkind: \"document_db\",\n\t\t\t\tprovider: \"MongoDB\",\n\t\t\t\tscope: \"cloud\",\n\t\t\t\tlocation: \"multi-region\",\n\t\t\t\tdatabase: \"platform\",\n\t\t\t\tcontainer: \"places\",\n\t\t\t\tfield: void 0,\n\t\t\t\tsensitivity: \"public\",\n\t\t\t\tcontainsPii: false,\n\t\t\t\tcomplianceTags: [],\n\t\t\t\taccessMode: \"read\",\n\t\t\t\tauthentication: \"service_account\",\n\t\t\t\tencryptionAtRest: true,\n\t\t\t\tencryptionInTransit: true,\n\t\t\t\tretention: \"indefinite\",\n\t\t\t\towner: \"platform-team\"\n\t\t\t}]\n\t\t};\n\t}\n};\n//#endregion\n//#region src/features/library/infrastructure/blueprints/utility/index.ts\nvar utilityBlueprints = [\n\tnotFoundBlueprint,\n\tsearchPaletteBlueprint,\n\tcookieConsentBlueprint,\n\t{\n\t\tid: asBlueprintId(\"library.utility.task_board\"),\n\t\tname: \"Task board\",\n\t\tcategory: \"utility\",\n\t\tsurfaceType: \"board\",\n\t\tsummary: \"Kanban-style task board with column moves and limit-aware drops.\",\n\t\tdescription: \"A column-and-card layout. Cards move between columns (todo → doing → done). A WIP limit on the doing column blocks over-loading.\",\n\t\tplatforms: [\"web\"],\n\t\ttags: [\n\t\t\t\"kanban\",\n\t\t\t\"tasks\",\n\t\t\t\"board\",\n\t\t\t\"productivity\"\n\t\t],\n\t\tbuild: ({ ids, ownSurfaceId }) => {\n\t\t\tconst tasksResourceId = asResourceId(\"library-utility-res-tasks\");\n\t\t\treturn {\n\t\t\t\tsurface: {\n\t\t\t\t\tid: ownSurfaceId,\n\t\t\t\t\tname: \"Task board\",\n\t\t\t\t\ttype: \"board\",\n\t\t\t\t\tdescription: \"Three-column kanban: Todo / Doing / Done.\",\n\t\t\t\t\tstateDefinitions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"board.activeColumn\"),\n\t\t\t\t\t\t\ttype: \"enum\",\n\t\t\t\t\t\t\tenumValues: [\n\t\t\t\t\t\t\t\t\"todo\",\n\t\t\t\t\t\t\t\t\"doing\",\n\t\t\t\t\t\t\t\t\"done\"\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tdefaultValue: \"todo\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"board.doingCount\"),\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\tdefaultValue: 0,\n\t\t\t\t\t\t\tdescription: \"Number of cards currently in the Doing column.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"board.wipLimit\"),\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\tdefaultValue: 3,\n\t\t\t\t\t\t\tdescription: \"Max cards allowed in Doing.\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: asStateDefinitionId(ids()),\n\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\tdefaultValue: false\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\trules: [],\n\t\t\t\t\tinvariants: [{\n\t\t\t\t\t\tid: asInvariantId(ids()),\n\t\t\t\t\t\tname: \"doingCount is non-negative\",\n\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\tleft: asStatePath(\"board.doingCount\"),\n\t\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\t\tright: -1\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmessage: \"Card count must be ≥ 0.\"\n\t\t\t\t\t}],\n\t\t\t\t\ttransitions: [],\n\t\t\t\t\tactions: [{\n\t\t\t\t\t\tid: asActionId(ids()),\n\t\t\t\t\t\tname: \"Move card to column\",\n\t\t\t\t\t\tintent: \"Move a task card from its current column to another.\",\n\t\t\t\t\t\tparameters: [{\n\t\t\t\t\t\t\tid: asParameterId(ids()),\n\t\t\t\t\t\t\tname: \"targetColumn\",\n\t\t\t\t\t\t\ttype: \"enum\",\n\t\t\t\t\t\t\tenumValues: [\n\t\t\t\t\t\t\t\t\"todo\",\n\t\t\t\t\t\t\t\t\"doing\",\n\t\t\t\t\t\t\t\t\"done\"\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tdescription: \"Where to drop the card. Bound to board.activeColumn.\",\n\t\t\t\t\t\t\tresourceId: tasksResourceId,\n\t\t\t\t\t\t\tbindToStatePath: asStatePath(\"board.activeColumn\")\n\t\t\t\t\t\t}],\n\t\t\t\t\t\trequiredStates: [\n\t\t\t\t\t\t\tasStatePath(\"board.activeColumn\"),\n\t\t\t\t\t\t\tasStatePath(\"board.doingCount\"),\n\t\t\t\t\t\t\tasStatePath(\"board.wipLimit\")\n\t\t\t\t\t\t],\n\t\t\t\t\t\trules: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"permissions\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\t\toperator: \"is_false\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Sign in to move cards.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"validation\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"board.activeColumn\"),\n\t\t\t\t\t\t\t\t\toperator: \"equals\",\n\t\t\t\t\t\t\t\t\tright: \"\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\t\t\t\treason: \"Pick a target column.\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: asRuleId(ids()),\n\t\t\t\t\t\t\t\tcategory: \"business\",\n\t\t\t\t\t\t\t\tcondition: {\n\t\t\t\t\t\t\t\t\tleft: asStatePath(\"board.doingCount\"),\n\t\t\t\t\t\t\t\t\toperator: \"greater_than\",\n\t\t\t\t\t\t\t\t\tright: 2\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\t\t\t\tmessage: \"WIP limit reached. Finish something before pulling new work.\",\n\t\t\t\t\t\t\t\t\ttone: \"warning\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\tinvariants: [],\n\t\t\t\t\t\teffects: [{\n\t\t\t\t\t\t\tid: asEffectId(ids()),\n\t\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\t\tevent: asEventName(\"board.card.moved\")\n\t\t\t\t\t\t}],\n\t\t\t\t\t\temittedEvents: [asEventName(\"board.card.moved\")],\n\t\t\t\t\t\ttransitions: [],\n\t\t\t\t\t\tscenarios: [{\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"WIP at limit\",\n\t\t\t\t\t\t\tdescription: \"Doing column is at its limit. Soft warning fires.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"board.doingCount\"),\n\t\t\t\t\t\t\t\tvalue: 3\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"targetColumn\",\n\t\t\t\t\t\t\t\tvalue: \"doing\"\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tid: asScenarioId(ids()),\n\t\t\t\t\t\t\tname: \"Happy path\",\n\t\t\t\t\t\t\tdescription: \"Authenticated user moves a card to done.\",\n\t\t\t\t\t\t\tstateOverrides: [{\n\t\t\t\t\t\t\t\tpath: asStatePath(\"user.authenticated\"),\n\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tpath: asStatePath(\"board.doingCount\"),\n\t\t\t\t\t\t\t\tvalue: 1\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tparameterOverrides: [{\n\t\t\t\t\t\t\t\tparameterName: \"targetColumn\",\n\t\t\t\t\t\t\t\tvalue: \"done\"\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t}]\n\t\t\t\t\t}]\n\t\t\t\t},\n\t\t\t\tresources: [{\n\t\t\t\t\tid: tasksResourceId,\n\t\t\t\t\tname: \"Tasks (Postgres)\",\n\t\t\t\t\tdescription: \"Task records with column, owner, due date.\",\n\t\t\t\t\tkind: \"relational_db\",\n\t\t\t\t\tprovider: \"PostgreSQL\",\n\t\t\t\t\tscope: \"cloud\",\n\t\t\t\t\tlocation: \"eu-west\",\n\t\t\t\t\tdatabase: \"project\",\n\t\t\t\t\tcontainer: \"tasks\",\n\t\t\t\t\tfield: void 0,\n\t\t\t\t\tsensitivity: \"internal\",\n\t\t\t\t\tcontainsPii: false,\n\t\t\t\t\tcomplianceTags: [],\n\t\t\t\t\taccessMode: \"read_write\",\n\t\t\t\t\tauthentication: \"iam_role\",\n\t\t\t\t\tencryptionAtRest: true,\n\t\t\t\t\tencryptionInTransit: true,\n\t\t\t\t\tretention: \"until project archived\",\n\t\t\t\t\towner: \"project-team\"\n\t\t\t\t}]\n\t\t\t};\n\t\t}\n\t},\n\tstoreLocatorBlueprint,\n\tcanvasBlueprint\n];\n//#endregion\n//#region src/features/library/infrastructure/InMemoryBlueprintRepository.ts\nvar allBlueprints = [\n\t...authBlueprints,\n\t...commerceBlueprints,\n\t...contentBlueprints,\n\t...onboardingBlueprints,\n\t...utilityBlueprints\n];\nvar byId = new Map(allBlueprints.map((b) => [b.id, b]));\nvar inMemoryBlueprintRepository = {\n\tlist: () => allBlueprints,\n\tfindById: (id) => byId.get(id)\n};\n//#endregion\n//#region src/features/library/domain/services/BlueprintFilter.ts\nvar emptyFilter = {\n\tquery: \"\",\n\tcategory: \"all\",\n\tsurfaceType: \"all\",\n\tsort: \"name\"\n};\nvar matchesQuery = (bp, q) => {\n\treturn [\n\t\tbp.name,\n\t\tbp.summary,\n\t\tbp.description,\n\t\t...bp.tags\n\t].join(\" \").toLowerCase().includes(q);\n};\nvar filterBlueprints = (blueprints, filter) => {\n\tconst q = filter.query.trim().toLowerCase();\n\tconst filtered = blueprints.filter((bp) => {\n\t\tif (filter.category !== \"all\" && bp.category !== filter.category) return false;\n\t\tif (filter.surfaceType !== \"all\" && bp.surfaceType !== filter.surfaceType) return false;\n\t\tif (q.length > 0 && !matchesQuery(bp, q)) return false;\n\t\treturn true;\n\t});\n\tconst compareFn = filter.sort === \"name\" ? (a, b) => a.name.localeCompare(b.name) : (a, b) => a.category.localeCompare(b.category) || a.name.localeCompare(b.name);\n\treturn [...filtered].sort(compareFn);\n};\n//#endregion\n//#region src/features/library/presentation/components/LibraryDialog.svelte\nfunction LibraryDialog($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Preview the transitions that will exist between the picked blueprints\n\t\t* when \"Add\" is clicked. Runs each blueprint's build() with mock SurfaceIds.\n\t\t* The same applier mechanism used at apply time, so what the user sees here\n\t\t* matches what they'll get exactly.\n\t\t*/\n\t\tfunction previewConnections(blueprints) {\n\t\t\tif (blueprints.length < 2) return [];\n\t\t\tconst linkTargets = /* @__PURE__ */ new Map();\n\t\t\tfor (const bp of blueprints) linkTargets.set(bp.id, asSurfaceId(`preview-${bp.id}`));\n\t\t\tlet i = 0;\n\t\t\tconst ids = () => `preview-id-${i++}`;\n\t\t\tconst out = [];\n\t\t\tfor (const bp of blueprints) {\n\t\t\t\tconst ownSurfaceId = linkTargets.get(bp.id);\n\t\t\t\tif (!ownSurfaceId) continue;\n\t\t\t\tconst built = bp.build({\n\t\t\t\t\tids,\n\t\t\t\t\townSurfaceId,\n\t\t\t\t\tlinkTargets\n\t\t\t\t});\n\t\t\t\tfor (const t of built.surface.transitions) {\n\t\t\t\t\tconst target = blueprints.find((b) => linkTargets.get(b.id) === t.target);\n\t\t\t\t\tif (target) out.push({\n\t\t\t\t\t\tfrom: bp.name,\n\t\t\t\t\t\tto: target.name,\n\t\t\t\t\t\tlabel: t.label\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn out;\n\t\t}\n\t\tlet { open, onClose, onSurfacesAdded } = $$props;\n\t\tlet filter = { ...emptyFilter };\n\t\tlet selected = /* @__PURE__ */ new Set();\n\t\tlet blankName = \"\";\n\t\tderived(() => evaluateTourSubmitGuard(tourStore.currentStep, \"blank-surface\", blankName));\n\t\tderived(() => filterBlueprints(inMemoryBlueprintRepository.list(), filter));\n\t\tderived(() => selected.size);\n\t\tconst selectedBlueprints = derived(() => {\n\t\t\tconst list = [];\n\t\t\tfor (const id of selected) {\n\t\t\t\tconst bp = inMemoryBlueprintRepository.findById(id);\n\t\t\t\tif (bp) list.push(bp);\n\t\t\t}\n\t\t\treturn list;\n\t\t});\n\t\tconst connections = derived(() => previewConnections(selectedBlueprints()));\n\t\tderived(() => {\n\t\t\tconst byFrom = /* @__PURE__ */ new Map();\n\t\t\tfor (const conn of connections()) {\n\t\t\t\tif (!byFrom.has(conn.from)) byFrom.set(conn.from, []);\n\t\t\t\tbyFrom.get(conn.from).push(conn.to);\n\t\t\t}\n\t\t\treturn Array.from(byFrom.entries()).map(([from, targets]) => ({\n\t\t\t\tfrom,\n\t\t\t\ttargets\n\t\t\t})).sort((a, b) => a.from.localeCompare(b.from));\n\t\t});\n\t\t$$renderer.push(`<dialog${attr_class(`fixed left-1/2 top-1/2 max-h-[85vh] w-[min(560px,95vw)] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-hairline bg-white p-0 shadow-xl backdrop:bg-slate-950/40 backdrop:backdrop-blur-sm`)}><div class=\"flex h-full max-h-[85vh] flex-col\"><header class=\"flex items-center justify-between border-b border-hairline px-5 py-4\"><div class=\"flex min-w-0 items-center gap-2\">`);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <div class=\"min-w-0\"><h2 class=\"truncate text-base font-semibold text-slate-950\">`);\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\t$$renderer.push(`Add a surface`);\n\t\t$$renderer.push(`<!--]--></h2> <p class=\"mt-0.5 truncate text-xs text-slate-500\">`);\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\t$$renderer.push(`How do you want to start?`);\n\t\t$$renderer.push(`<!--]--></p></div></div> <button type=\"button\" aria-label=\"Close\" class=\"rounded-md px-2 py-1 text-slate-500 hover:bg-slate-100 hover:text-slate-950\">x</button></header> `);\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\t$$renderer.push(`<div class=\"grid flex-1 grid-cols-1 gap-4 p-6 sm:grid-cols-2\"><button type=\"button\" data-tour=\"chooser-create-new\" class=\"group flex h-full flex-col items-start gap-3 rounded-2xl border-2 border-slate-200 bg-white p-6 text-left transition hover:-translate-y-0.5 hover:border-brand-500 hover:bg-cyan-50/40 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-brand-400\"><span class=\"grid h-12 w-12 place-items-center rounded-xl bg-slate-100 text-2xl text-slate-700 transition group-hover:bg-brand-100 group-hover:text-brand-800\" aria-hidden=\"true\">+</span> <span class=\"block\"><span class=\"block text-base font-semibold text-slate-950 group-hover:text-brand-900\">Create new</span> <span class=\"mt-1 block text-xs leading-5 text-slate-500\">Start from a blank surface. You choose the type and name; everything inside is yours to define.</span></span></button> <button type=\"button\" class=\"group flex h-full flex-col items-start gap-3 rounded-2xl border-2 border-slate-200 bg-white p-6 text-left transition hover:-translate-y-0.5 hover:border-brand-500 hover:bg-cyan-50/40 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-brand-400\"><span class=\"grid h-12 w-12 place-items-center rounded-xl bg-emerald-50 text-2xl text-emerald-700 transition group-hover:bg-emerald-100 group-hover:text-emerald-800\" aria-hidden=\"true\">*</span> <span class=\"block\"><span class=\"block text-base font-semibold text-slate-950 group-hover:text-brand-900\">From template</span> <span class=\"mt-1 block text-xs leading-5 text-slate-500\">Pick from a library of ready-made surfaces - auth, checkout, dashboards - each pre-modeled to 100% maturity.</span></span></button></div>`);\n\t\t$$renderer.push(`<!--]--></div></dialog>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/SurfaceList.svelte\nfunction SurfaceList($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature, selectedId, onSelect } = $$props;\n\t\tlet dialogOpen = false;\n\t\tfunction canIndent(id, index) {\n\t\t\tif (index === 0) return false;\n\t\t\tconst surfaces = feature.surfaces;\n\t\t\tconst myDepth = surfaceDepth(surfaces, id);\n\t\t\tfor (let i = index - 1; i >= 0; i--) {\n\t\t\t\tconst candidate = surfaces[i];\n\t\t\t\tif (!candidate) continue;\n\t\t\t\tif (surfaceDepth(surfaces, candidate.id) <= myDepth) return true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\tfunction onSurfacesAdded(ids) {\n\t\t\tfor (const id of ids) {\n\t\t\t\tconst surface = feature.surfaces.find((s) => s.id === id);\n\t\t\t\temit(\"editor.surface.added\", {\n\t\t\t\t\tsurfaceId: String(id),\n\t\t\t\t\tname: surface?.name ?? \"\"\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst first = ids[0];\n\t\t\tif (first) onSelect(first);\n\t\t}\n\t\t$$renderer.push(`<section class=\"rounded-lg border border-hairline bg-white\"><header class=\"flex items-center justify-between border-b border-hairline px-3 py-2.5\"><h2 class=\"text-sm font-semibold text-slate-950\">Surfaces</h2> <button type=\"button\" data-tour=\"add-surface-button\" class=\"inline-flex items-center gap-1 rounded-md bg-slate-900 px-2.5 py-1.5 text-xs font-medium text-white disabled:opacity-50\"><span aria-hidden=\"true\">+</span> <span>Add surface</span></button></header> <ul class=\"max-h-[60vh] divide-y divide-slate-100 overflow-auto\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(feature.surfaces);\n\t\tfor (let index = 0, $$length = each_array.length; index < $$length; index++) {\n\t\t\tlet surface = each_array[index];\n\t\t\tconst isSelected = selectedId === surface.id;\n\t\t\tconst canMoveUp = canMoveSurfaceUp(feature.surfaces, surface.id);\n\t\t\tconst canMoveDown = canMoveSurfaceDown(feature.surfaces, surface.id);\n\t\t\tconst depth = surfaceDepth(feature.surfaces, surface.id);\n\t\t\tconst indentable = canIndent(surface.id, index);\n\t\t\tconst outdentable = depth > 0;\n\t\t\tsurface.id;\n\t\t\t$$renderer.push(`<li draggable=\"true\"${attr_class(`group relative flex items-start justify-between gap-2 py-2 pr-3 text-sm transition-colors ${isSelected ? \"border-l-4 border-brand-700 bg-brand-50\" : \"border-l-4 border-transparent hover:bg-slate-50\"} `)}${attr_style(`padding-left: ${stringify((isSelected ? 8 : 12) + depth * 14)}px`)}>`);\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <button type=\"button\" class=\"min-w-0 flex-1 text-left\"><div${attr_class(`flex items-center gap-1 truncate font-medium ${isSelected ? \"text-brand-900\" : \"text-slate-950\"}`)}>`);\n\t\t\tif (depth > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"text-slate-400\">↳</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <span class=\"truncate\">${escape_html(surface.name)}</span></div> <div${attr_class(`text-xs ${isSelected ? \"text-brand-700\" : \"text-slate-500\"}`)}>${escape_html(surfaceTypeLabel(surface.type))} · ${escape_html(surface.actions.length)} action(s)</div></button> <div class=\"flex shrink-0 items-center gap-0.5\"><button type=\"button\" class=\"rounded px-1 text-xs text-slate-400 opacity-0 transition-opacity hover:bg-slate-100 hover:text-slate-700 group-hover:opacity-100 disabled:cursor-not-allowed disabled:opacity-0 group-hover:disabled:opacity-30\"${attr(\"disabled\", !outdentable, true)}${attr(\"aria-label\", `Outdent ${surface.name}`)} title=\"Outdent (lift out of parent)\">◀</button> <button type=\"button\" class=\"rounded px-1 text-xs text-slate-400 opacity-0 transition-opacity hover:bg-slate-100 hover:text-slate-700 group-hover:opacity-100 disabled:cursor-not-allowed disabled:opacity-0 group-hover:disabled:opacity-30\"${attr(\"disabled\", !indentable, true)}${attr(\"aria-label\", `Indent ${surface.name} as child of previous`)} title=\"Indent under previous surface\">▶</button> <span class=\"mx-0.5 h-3 w-px bg-slate-200 opacity-0 group-hover:opacity-100\"></span> <button type=\"button\" class=\"rounded px-1 text-xs text-slate-400 opacity-0 transition-opacity hover:bg-slate-100 hover:text-slate-700 group-hover:opacity-100 disabled:cursor-not-allowed disabled:opacity-0 group-hover:disabled:opacity-30\"${attr(\"disabled\", !canMoveUp, true)}${attr(\"aria-label\", `Move ${surface.name} up`)} title=\"Move up\">▲</button> <button type=\"button\" class=\"rounded px-1 text-xs text-slate-400 opacity-0 transition-opacity hover:bg-slate-100 hover:text-slate-700 group-hover:opacity-100 disabled:cursor-not-allowed disabled:opacity-0 group-hover:disabled:opacity-30\"${attr(\"disabled\", !canMoveDown, true)}${attr(\"aria-label\", `Move ${surface.name} down`)} title=\"Move down\">▼</button> <button type=\"button\"${attr_class(`rounded px-1 text-xs text-slate-400 opacity-0 transition-opacity hover:bg-red-50 hover:text-red-600 group-hover:opacity-100 ${isSelected ? \"opacity-100 text-brand-700\" : \"\"}`)}${attr(\"aria-label\", `Delete surface ${surface.name}`)}>✕</button></div></li>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (feature.surfaces.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<li class=\"px-3 py-4 text-center text-xs text-slate-500\">No surfaces yet.</li>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></ul></section> `);\n\t\tLibraryDialog($$renderer, {\n\t\t\topen: dialogOpen,\n\t\t\tonClose: () => dialogOpen = false,\n\t\t\tonSurfacesAdded: (ids) => onSurfacesAdded(ids)\n\t\t});\n\t\t$$renderer.push(`<!---->`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/StateDefinitionsEditor.svelte\nfunction StateDefinitionsEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { surface, surfaces = [surface] } = $$props;\n\t\tlet nameDraft = \"\";\n\t\tlet typeDraft = \"string\";\n\t\tlet defaultErrors = {};\n\t\tconst derivedPath = derived(() => statePathFromName(nameDraft));\n\t\tconst showDerived = derived(() => nameDraft.trim().length > 0 && derivedPath() !== nameDraft.trim());\n\t\tconst otherSurfaces = derived(() => surfaces.filter((s) => s.id !== surface.id));\n\t\tconst incomingShared = derived(() => surfaces.filter((s) => s.id !== surface.id).flatMap((source) => source.stateDefinitions.filter((def) => def.sharedWith?.includes(surface.id)).map((def) => ({\n\t\t\tsource,\n\t\t\tdef\n\t\t}))));\n\t\tfunction defaultForType(type) {\n\t\t\tif (type === \"number\") return 0;\n\t\t\tif (type === \"boolean\") return false;\n\t\t\tif (type === \"object\") return {};\n\t\t\tif (type === \"array\") return [];\n\t\t\treturn \"\";\n\t\t}\n\t\tfunction parseValue(raw, type) {\n\t\t\tif (type === \"number\") {\n\t\t\t\tconst value = Number(raw);\n\t\t\t\tif (!Number.isFinite(value)) throw new Error(\"Use a finite number.\");\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (type === \"boolean\") return raw === \"true\";\n\t\t\tif (type === \"object\" || type === \"array\") {\n\t\t\t\tconst value = JSON.parse(raw);\n\t\t\t\tif (type === \"object\" && (value === null || typeof value !== \"object\" || Array.isArray(value))) throw new Error(\"Use a JSON object, for example {\\\"enabled\\\":true}.\");\n\t\t\t\tif (type === \"array\" && !Array.isArray(value)) throw new Error(\"Use a JSON array, for example [].\");\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\treturn raw;\n\t\t}\n\t\tasync function updateDefault(id, raw, type) {\n\t\t\tlet value;\n\t\t\ttry {\n\t\t\t\tvalue = parseValue(raw, type);\n\t\t\t\tdefaultErrors = {\n\t\t\t\t\t...defaultErrors,\n\t\t\t\t\t[id]: \"\"\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tdefaultErrors = {\n\t\t\t\t\t...defaultErrors,\n\t\t\t\t\t[id]: error instanceof Error ? error.message : \"Invalid default value.\"\n\t\t\t\t};\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait featureStore.mutate((current) => updateStateDefinition(current, surface.id, id, { defaultValue: value }));\n\t\t}\n\t\tasync function updateType(id, type) {\n\t\t\tawait featureStore.mutate((current) => updateStateDefinition(current, surface.id, id, {\n\t\t\t\ttype,\n\t\t\t\tdefaultValue: defaultForType(type),\n\t\t\t\tenumValues: type === \"enum\" ? [] : void 0\n\t\t\t}));\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-3\"><div class=\"rounded-lg border border-slate-200 bg-slate-50/60 p-2.5\"><div class=\"flex flex-col gap-2 sm:flex-row sm:items-end\"><label class=\"block flex-1 text-xs font-medium text-slate-600\">Name <input type=\"text\"${attr(\"value\", nameDraft)} placeholder=\"Cart item count\" class=\"mt-1 h-9 w-full rounded-md border border-slate-300 bg-white px-2.5 text-sm outline-none focus:border-slate-900 focus:ring-1 focus:ring-slate-900\"/> `);\n\t\tif (showDerived()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"mono mt-1 block text-[10px] text-slate-500\" title=\"Canonical state path\">→ ${escape_html(derivedPath())}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></label> <label class=\"block w-32 text-xs font-medium text-slate-600\">Type `);\n\t\t$$renderer.select({\n\t\t\tvalue: typeDraft,\n\t\t\tclass: \"mt-1 h-9 w-full rounded-md border border-slate-300 bg-white px-2 text-sm outline-none focus:border-slate-900\"\n\t\t}, ($$renderer) => {\n\t\t\t$$renderer.option({ value: \"string\" }, ($$renderer) => {\n\t\t\t\t$$renderer.push(`string`);\n\t\t\t});\n\t\t\t$$renderer.option({ value: \"number\" }, ($$renderer) => {\n\t\t\t\t$$renderer.push(`number`);\n\t\t\t});\n\t\t\t$$renderer.option({ value: \"boolean\" }, ($$renderer) => {\n\t\t\t\t$$renderer.push(`boolean`);\n\t\t\t});\n\t\t\t$$renderer.option({ value: \"enum\" }, ($$renderer) => {\n\t\t\t\t$$renderer.push(`enum`);\n\t\t\t});\n\t\t\t$$renderer.option({ value: \"object\" }, ($$renderer) => {\n\t\t\t\t$$renderer.push(`object`);\n\t\t\t});\n\t\t\t$$renderer.option({ value: \"array\" }, ($$renderer) => {\n\t\t\t\t$$renderer.push(`array`);\n\t\t\t});\n\t\t});\n\t\t$$renderer.push(`</label> <button type=\"button\" class=\"h-9 inline-flex items-center gap-1 rounded-md bg-slate-900 px-3 text-xs font-medium text-white transition hover:bg-slate-800 disabled:opacity-50\"${attr(\"disabled\", derivedPath().length === 0, true)}><span class=\"text-base leading-none\">+</span> Add state</button></div> `);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div> `);\n\t\tif (surface.stateDefinitions.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"rounded-lg border border-dashed border-slate-300 bg-slate-50/30 p-6 text-center\"><p class=\"text-sm font-medium text-slate-700\">No state defined yet</p> <p class=\"mx-auto mt-1 max-w-sm text-xs text-slate-500\">State is the typed data this surface reads and writes. Rules and effects refer to it\n by its dotted path. Add a slot above to get started.</p></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"divide-y divide-slate-100 rounded-lg border border-hairline bg-white\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(surface.stateDefinitions);\n\t\t\tfor (let $$index_1 = 0, $$length = each_array.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\tlet def = each_array[$$index_1];\n\t\t\t\t$$renderer.push(`<li class=\"px-3 py-2 text-sm\"><div class=\"flex items-center gap-2\"><div class=\"min-w-0 flex-1\"><div class=\"truncate text-slate-950\">${escape_html(humanizeStatePath(def.path))}</div> <div class=\"mono truncate text-[10px] text-slate-400\" title=\"Canonical state path\">${escape_html(def.path)}</div></div> `);\n\t\t\t\t$$renderer.select({\n\t\t\t\t\tclass: \"rounded-md border border-slate-300 bg-white px-2 py-0.5 text-xs\",\n\t\t\t\t\tvalue: def.type,\n\t\t\t\t\tonchange: (e) => updateType(def.id, e.target.value)\n\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t$$renderer.option({ value: \"string\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`string`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.option({ value: \"number\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`number`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.option({ value: \"boolean\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`boolean`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.option({ value: \"enum\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`enum`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.option({ value: \"object\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`object`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.option({ value: \"array\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`array`);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\t$$renderer.push(` `);\n\t\t\t\tif (def.type === \"boolean\") {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.select({\n\t\t\t\t\t\tclass: \"rounded-md border border-slate-300 bg-white px-2 py-0.5 text-xs\",\n\t\t\t\t\t\tvalue: String(def.defaultValue),\n\t\t\t\t\t\tonchange: (e) => updateDefault(def.id, e.target.value, def.type)\n\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.option({ value: \"false\" }, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`false`);\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.option({ value: \"true\" }, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`true`);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t} else if (def.type === \"object\" || def.type === \"array\") {\n\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t$$renderer.push(`<textarea class=\"mono min-h-16 w-48 rounded-md border border-slate-300 bg-white px-2 py-1 text-xs\">`);\n\t\t\t\t\tconst $$body = escape_html(JSON.stringify(def.defaultValue ?? defaultForType(def.type), null, 2));\n\t\t\t\t\tif ($$body) $$renderer.push(`${$$body}`);\n\t\t\t\t\t$$renderer.push(`</textarea>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<input${attr(\"type\", def.type === \"number\" ? \"number\" : \"text\")} class=\"w-32 rounded-md border border-slate-300 bg-white px-2 py-0.5 text-xs\"${attr(\"value\", String(def.defaultValue ?? \"\"))}/>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--> <button type=\"button\" class=\"rounded px-2 py-1 text-xs text-slate-400 hover:bg-red-50 hover:text-red-600\" aria-label=\"Remove state\">x</button></div> <div class=\"mt-2 grid grid-cols-1 gap-2 sm:grid-cols-2\"><label class=\"block text-[11px] font-medium text-slate-600\">Description <input type=\"text\" class=\"mt-1 w-full rounded-md border border-slate-300 bg-white px-2 py-1 text-xs\"${attr(\"value\", def.description ?? \"\")} placeholder=\"What does this state represent?\"/></label> `);\n\t\t\t\tif (def.type === \"enum\") {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<label class=\"block text-[11px] font-medium text-slate-600\">Enum values <input type=\"text\" class=\"mono mt-1 w-full rounded-md border border-slate-300 bg-white px-2 py-1 text-xs\"${attr(\"value\", (def.enumValues ?? []).join(\", \"))} placeholder=\"draft, published, archived\"/></label>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\t\tif (defaultErrors[def.id]) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"mt-1 text-xs text-red-600\">${escape_html(defaultErrors[def.id])}</p>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (otherSurfaces().length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"mt-2 flex flex-wrap items-center gap-2 border-t border-slate-100 pt-2\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-slate-500\">Shared with</span> <!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(otherSurfaces());\n\t\t\t\t\tfor (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\tlet other = each_array_1[$$index];\n\t\t\t\t\t\t$$renderer.push(`<label class=\"inline-flex max-w-full items-center gap-1 rounded-md border border-hairline px-2 py-1 text-[11px] text-slate-700\"><input type=\"checkbox\"${attr(\"checked\", def.sharedWith?.includes(other.id) ?? false, true)}${attr(\"aria-label\", `Share ${String(def.path)} with ${other.name}`)}/> <span class=\"truncate\">${escape_html(other.name)}</span></label>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (incomingShared().length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<section class=\"rounded-md border border-emerald-200 bg-emerald-50/50 p-3\"><h3 class=\"text-xs font-semibold text-emerald-900\">Shared onto this surface</h3> <ul class=\"mt-2 space-y-1\"><!--[-->`);\n\t\t\tconst each_array_2 = ensure_array_like(incomingShared());\n\t\t\tfor (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet item = each_array_2[$$index_2];\n\t\t\t\t$$renderer.push(`<li class=\"flex items-center justify-between gap-3 text-xs\"><span class=\"min-w-0\"><span class=\"text-slate-950\">${escape_html(humanizeStatePath(item.def.path))}</span> <span class=\"mono ml-1 text-[10px] text-slate-500\">${escape_html(item.def.path)}</span></span> <span class=\"shrink-0 text-[11px] text-emerald-800\">${escape_html(item.source.name)}</span></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></section>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/domain/value-objects/Operator.ts\nvar ALL_OPERATORS = [\n\t\"equals\",\n\t\"not_equals\",\n\t\"greater_than\",\n\t\"lower_than\",\n\t\"contains\",\n\t\"is_true\",\n\t\"is_false\",\n\t\"exists\",\n\t\"does_not_exist\"\n];\nvar operatorRequiresRightOperand = (op) => {\n\tswitch (op) {\n\t\tcase \"is_true\":\n\t\tcase \"is_false\":\n\t\tcase \"exists\":\n\t\tcase \"does_not_exist\": return false;\n\t\tdefault: return true;\n\t}\n};\nvar operatorLabel = (op) => {\n\tswitch (op) {\n\t\tcase \"equals\": return \"equals\";\n\t\tcase \"not_equals\": return \"does not equal\";\n\t\tcase \"greater_than\": return \"is greater than\";\n\t\tcase \"lower_than\": return \"is lower than\";\n\t\tcase \"contains\": return \"contains\";\n\t\tcase \"is_true\": return \"is true\";\n\t\tcase \"is_false\": return \"is false\";\n\t\tcase \"exists\": return \"exists\";\n\t\tcase \"does_not_exist\": return \"does not exist\";\n\t}\n};\n//#endregion\n//#region src/features/behavior-model/domain/value-objects/Effect.ts\nvar ALL_EFFECT_TYPES = [\n\t\"set_state\",\n\t\"show_message\",\n\t\"emit_event\",\n\t\"block_action\",\n\t\"allow_action\",\n\t\"transition_surface\"\n];\nvar effectTypeLabel = (t) => {\n\tswitch (t) {\n\t\tcase \"set_state\": return \"Set state\";\n\t\tcase \"show_message\": return \"Show message\";\n\t\tcase \"emit_event\": return \"Emit event\";\n\t\tcase \"block_action\": return \"Block action\";\n\t\tcase \"allow_action\": return \"Allow action\";\n\t\tcase \"transition_surface\": return \"Transition to surface\";\n\t}\n};\n//#endregion\n//#region src/features/behavior-model/presentation/components/StatePathSelect.svelte\nfunction StatePathSelect($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { value, availablePaths, onCommit, placeholder = \"state.path\", width = \"min-w-44\" } = $$props;\n\t\tconst CUSTOM = \"__custom__\";\n\t\tconst knownSet = derived(() => new Set(availablePaths));\n\t\tconst isCustom = derived(() => value.length > 0 && !knownSet().has(value));\n\t\tlet customMode = false;\n\t\tfunction handleSelect(raw) {\n\t\t\tif (raw === CUSTOM) {\n\t\t\t\tcustomMode = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcustomMode = false;\n\t\t\tonCommit(raw);\n\t\t}\n\t\t$$renderer.push(`<div class=\"flex flex-col gap-0.5\">`);\n\t\tif (!customMode && availablePaths.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.select({\n\t\t\t\tclass: `${stringify(width)} rounded-md border border-neutral-300 px-2 py-1 text-xs`,\n\t\t\t\tvalue: knownSet().has(value) ? value : \"\",\n\t\t\t\tonchange: (e) => handleSelect(e.target.value)\n\t\t\t}, ($$renderer) => {\n\t\t\t\tif (!knownSet().has(value)) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.option({\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`- pick a state -`);\n\t\t\t\t\t});\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--><!--[-->`);\n\t\t\t\tconst each_array = ensure_array_like(availablePaths);\n\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\tlet p = each_array[$$index];\n\t\t\t\t\t$$renderer.option({\n\t\t\t\t\t\tvalue: p,\n\t\t\t\t\t\ttitle: p\n\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`${escape_html(humanizeStatePath(p))}`);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t$$renderer.option({ value: CUSTOM }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`Custom path…`);\n\t\t\t\t});\n\t\t\t});\n\t\t\t$$renderer.push(` `);\n\t\t\tif (knownSet().has(value)) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"mono text-[10px] text-neutral-400\" title=\"Canonical state path\">${escape_html(value)}</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<input type=\"text\"${attr_class(`mono ${stringify(width)} rounded-md border px-2 py-1 text-xs ${isCustom() ? \"border-amber-400 bg-amber-50\" : \"border-neutral-300\"}`)}${attr(\"value\", value)}${attr(\"placeholder\", placeholder)}/> <div class=\"flex items-center gap-2\">`);\n\t\t\tif (availablePaths.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"text-[10px] text-brand-700 hover:underline\">↩ Pick from list</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (isCustom()) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"text-[10px] text-amber-700\">Not defined on this surface</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/ConditionRightEditor.svelte\nfunction ConditionRightEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { value, availablePaths, onChange } = $$props;\n\t\tconst mode = derived(() => isExpression(value) ? value.kind === \"state\" ? \"state\" : \"expression\" : \"literal\");\n\t\tconst literalValue = derived(() => value === void 0 || isExpression(value) ? \"\" : typeof value === \"string\" ? value : JSON.stringify(value));\n\t\tconst statePathValue = derived(() => isExpression(value) && value.kind === \"state\" ? String(value.path) : \"\");\n\t\tconst expressionPreview = derived(() => isExpression(value) && value.kind !== \"state\" ? JSON.stringify(value, null, 2) : \"\");\n\t\tfunction updateState(raw) {\n\t\t\tif (!isStatePath(raw)) return;\n\t\t\tonChange({\n\t\t\t\tkind: \"state\",\n\t\t\t\tpath: asStatePath(raw)\n\t\t\t});\n\t\t}\n\t\t$$renderer.push(`<div class=\"flex flex-wrap items-start gap-1\"><div class=\"mt-0.5 flex rounded-md border border-slate-200 bg-white p-0.5 text-[10px]\" role=\"tablist\" aria-label=\"Right side type\"><button type=\"button\"${attr_class(`rounded px-1.5 py-0.5 ${mode() === \"literal\" ? \"bg-slate-900 text-white\" : \"text-slate-600 hover:text-slate-900\"}`)}${attr(\"aria-pressed\", mode() === \"literal\")}>Literal</button> <button type=\"button\"${attr_class(`rounded px-1.5 py-0.5 ${mode() === \"state\" ? \"bg-slate-900 text-white\" : \"text-slate-600 hover:text-slate-900\"}`)}${attr(\"aria-pressed\", mode() === \"state\")}>State</button> <button type=\"button\"${attr_class(`rounded px-1.5 py-0.5 ${mode() === \"expression\" ? \"bg-slate-900 text-white\" : \"text-slate-600 hover:text-slate-900\"}`)}${attr(\"aria-pressed\", mode() === \"expression\")}>JSON</button></div> `);\n\t\tif (mode() === \"state\") {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tStatePathSelect($$renderer, {\n\t\t\t\tvalue: statePathValue(),\n\t\t\t\tavailablePaths,\n\t\t\t\tonCommit: updateState,\n\t\t\t\twidth: \"min-w-44\"\n\t\t\t});\n\t\t} else if (mode() === \"expression\") {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<div class=\"flex min-w-64 flex-col gap-0.5\"><div class=\"relative\"><button type=\"button\" class=\"rounded-md border border-slate-300 bg-white px-1.5 py-0.5 text-[10px] font-medium text-slate-700 hover:bg-slate-50\">+ Insert kind…</button> `);\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> <textarea class=\"mono mt-0.5 min-h-20 w-full rounded-md border border-slate-300 px-2 py-1 text-xs\" title=\"Advanced expression JSON\">`);\n\t\t\tconst $$body = escape_html(expressionPreview());\n\t\t\tif ($$body) $$renderer.push(`${$$body}`);\n\t\t\t$$renderer.push(`</textarea> `);\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<span class=\"text-[10px] text-slate-500\">Edit the AST directly, or use \"Insert kind…\" to pick a template for any Expression\n shape (sum, count_where, switch, etc.).</span>`);\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<input type=\"text\" class=\"mono mt-0.5 w-32 rounded-md border border-slate-300 px-2 py-1 text-xs\"${attr(\"value\", literalValue())} placeholder=\"value\"/>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/EffectEditor.svelte\nfunction EffectEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { effect, availablePaths = [], availableSurfaces = [], onChange } = $$props;\n\t\tfunction changeType(type) {\n\t\t\tconst id = effect.id;\n\t\t\tswitch (type) {\n\t\t\t\tcase \"set_state\":\n\t\t\t\t\tonChange({\n\t\t\t\t\t\tid,\n\t\t\t\t\t\ttype: \"set_state\",\n\t\t\t\t\t\tpath: asStatePath(\"state.path\"),\n\t\t\t\t\t\tvalue: \"\"\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"show_message\":\n\t\t\t\t\tonChange({\n\t\t\t\t\t\tid,\n\t\t\t\t\t\ttype: \"show_message\",\n\t\t\t\t\t\tmessage: \"\"\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"emit_event\":\n\t\t\t\t\tonChange({\n\t\t\t\t\t\tid,\n\t\t\t\t\t\ttype: \"emit_event\",\n\t\t\t\t\t\tevent: asEventName(\"event.name\")\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"block_action\":\n\t\t\t\t\tonChange({\n\t\t\t\t\t\tid,\n\t\t\t\t\t\ttype: \"block_action\",\n\t\t\t\t\t\treason: \"\"\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"allow_action\":\n\t\t\t\t\tonChange({\n\t\t\t\t\t\tid,\n\t\t\t\t\t\ttype: \"allow_action\"\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"transition_surface\":\n\t\t\t\t\tonChange({\n\t\t\t\t\t\tid,\n\t\t\t\t\t\ttype: \"transition_surface\",\n\t\t\t\t\t\ttarget: asSurfaceId(\"\")\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tfunction setStatePath(raw) {\n\t\t\tif (!isStatePath(raw) || effect.type !== \"set_state\") return;\n\t\t\tonChange({\n\t\t\t\t...effect,\n\t\t\t\tpath: asStatePath(raw)\n\t\t\t});\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-2\"><div class=\"flex items-center gap-2\">`);\n\t\t$$renderer.select({\n\t\t\tclass: \"rounded-md border border-neutral-300 px-2 py-1 text-xs\",\n\t\t\tvalue: effect.type,\n\t\t\tonchange: (e) => changeType(e.target.value)\n\t\t}, ($$renderer) => {\n\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\tconst each_array = ensure_array_like(ALL_EFFECT_TYPES);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet t = each_array[$$index];\n\t\t\t\t$$renderer.option({ value: t }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(effectTypeLabel(t))}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t});\n\t\t$$renderer.push(`</div> `);\n\t\tif (effect.type === \"set_state\") {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"flex items-start gap-2\">`);\n\t\t\tStatePathSelect($$renderer, {\n\t\t\t\tvalue: effect.path,\n\t\t\t\tavailablePaths,\n\t\t\t\tonCommit: setStatePath\n\t\t\t});\n\t\t\t$$renderer.push(`<!----> <span class=\"mt-1.5 text-xs text-neutral-500\">=</span> `);\n\t\t\tConditionRightEditor($$renderer, {\n\t\t\t\tvalue: effect.value,\n\t\t\t\tavailablePaths,\n\t\t\t\tonChange: (value) => onChange({\n\t\t\t\t\t...effect,\n\t\t\t\t\tvalue\n\t\t\t\t})\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></div>`);\n\t\t} else if (effect.type === \"show_message\") {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<div class=\"flex items-center gap-2\">`);\n\t\t\t$$renderer.select({\n\t\t\t\tclass: \"rounded-md border border-neutral-300 px-2 py-1 text-xs\",\n\t\t\t\tvalue: effect.tone ?? \"info\",\n\t\t\t\tonchange: (e) => onChange({\n\t\t\t\t\t...effect,\n\t\t\t\t\ttone: e.target.value\n\t\t\t\t})\n\t\t\t}, ($$renderer) => {\n\t\t\t\t$$renderer.option({ value: \"info\" }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`info`);\n\t\t\t\t});\n\t\t\t\t$$renderer.option({ value: \"success\" }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`success`);\n\t\t\t\t});\n\t\t\t\t$$renderer.option({ value: \"warning\" }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`warning`);\n\t\t\t\t});\n\t\t\t\t$$renderer.option({ value: \"error\" }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`error`);\n\t\t\t\t});\n\t\t\t});\n\t\t\t$$renderer.push(` <input type=\"text\" class=\"flex-1 rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", effect.message)}/></div>`);\n\t\t} else if (effect.type === \"emit_event\") {\n\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t$$renderer.push(`<input type=\"text\" class=\"mono w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", effect.event)} placeholder=\"domain.event_name\"/>`);\n\t\t} else if (effect.type === \"block_action\") {\n\t\t\t$$renderer.push(\"<!--[3-->\");\n\t\t\t$$renderer.push(`<input type=\"text\" class=\"w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", effect.reason)} placeholder=\"Reason for blocking\"/>`);\n\t\t} else if (effect.type === \"transition_surface\") {\n\t\t\t$$renderer.push(\"<!--[4-->\");\n\t\t\tif (availableSurfaces.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.select({\n\t\t\t\t\tclass: \"w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\",\n\t\t\t\t\tvalue: String(effect.target ?? \"\"),\n\t\t\t\t\tonchange: (e) => onChange({\n\t\t\t\t\t\t...effect,\n\t\t\t\t\t\ttarget: asSurfaceId(e.target.value)\n\t\t\t\t\t})\n\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t$$renderer.option({ value: \"\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`- pick a surface -`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(availableSurfaces);\n\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\tlet s = each_array_1[$$index_1];\n\t\t\t\t\t\t$$renderer.option({ value: s.id }, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`${escape_html(s.name)}`);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t});\n\t\t\t\t$$renderer.push(` <p class=\"text-xs text-neutral-500\">Navigate to the chosen surface after this action succeeds.</p>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<input type=\"text\" class=\"mono w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", effect.target)} placeholder=\"surface-id\"/> <p class=\"text-xs text-neutral-500\">Paste a surface id from the same feature.</p>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t} else if (effect.type === \"allow_action\") {\n\t\t\t$$renderer.push(\"<!--[5-->\");\n\t\t\t$$renderer.push(`<p class=\"text-xs text-neutral-500\">No configuration. Marks the action as allowed.</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/RuleEditor.svelte\nfunction RuleEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Action parameter names this rule can reference on the LEFT side\n\t\t* of its condition. Passed in by ActionEditor; surface-rule callers\n\t\t* leave empty so the State/Param toggle hides and only state paths\n\t\t* are offered.\n\t\t*/\n\t\tlet { rule, availablePaths, availableParameters = [], onChange, onRemove } = $$props;\n\t\tconst isLeafEditable = derived(() => rule.condition !== void 0 && !isCompositeCondition(rule.condition));\n\t\tconst leaf = derived(() => isLeafEditable() ? rule.condition : null);\n\t\tfunction patchCondition(patch) {\n\t\t\tif (leaf() === null) return;\n\t\t\tonChange({\n\t\t\t\t...rule,\n\t\t\t\tcondition: {\n\t\t\t\t\t...leaf(),\n\t\t\t\t\t...patch\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tfunction updatePath(value) {\n\t\t\tif (!isStatePath(value)) return;\n\t\t\tpatchCondition({ left: asStatePath(value) });\n\t\t}\n\t\tfunction updateParamName(name) {\n\t\t\tpatchCondition({ left: {\n\t\t\t\tkind: \"param\",\n\t\t\t\tname\n\t\t\t} });\n\t\t}\n\t\tconst leftKind = derived(() => leaf() && isParamLeft(leaf().left) ? \"param\" : \"state\");\n\t\tconst leftStateValue = derived(() => leaf() && !isParamLeft(leaf().left) ? leaf().left : \"\");\n\t\tconst leftParamName = derived(() => leaf() && isParamLeft(leaf().left) ? leaf().left.name : \"\");\n\t\tfunction updateOperator(op) {\n\t\t\tif (leaf() === null) return;\n\t\t\tconst requiresRight = operatorRequiresRightOperand(op);\n\t\t\tonChange({\n\t\t\t\t...rule,\n\t\t\t\tcondition: {\n\t\t\t\t\tleft: leaf().left,\n\t\t\t\t\toperator: op,\n\t\t\t\t\t...requiresRight ? { right: leaf().right ?? \"\" } : {}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tfunction updateCategory(c) {\n\t\t\tonChange({\n\t\t\t\t...rule,\n\t\t\t\tcategory: c\n\t\t\t});\n\t\t}\n\t\tfunction updateEffect(effect) {\n\t\t\tonChange({\n\t\t\t\t...rule,\n\t\t\t\teffect\n\t\t\t});\n\t\t}\n\t\tlet compositeDraft = \"\";\n\t\t$$renderer.push(`<div class=\"space-y-2 rounded-md border border-slate-200 bg-white p-3\"><div class=\"flex items-center gap-2\">`);\n\t\t$$renderer.select({\n\t\t\tclass: \"rounded-md border border-slate-300 px-2 py-1 text-xs\",\n\t\t\tvalue: rule.category,\n\t\t\tonchange: (e) => updateCategory(e.target.value)\n\t\t}, ($$renderer) => {\n\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\tconst each_array = ensure_array_like(ALL_RULE_CATEGORIES);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet c = each_array[$$index];\n\t\t\t\t$$renderer.option({ value: c }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(ruleCategoryLabel(c))}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t});\n\t\t$$renderer.push(` <span class=\"flex-1\"></span> <button type=\"button\" class=\"text-xs text-slate-400 hover:text-red-600\" aria-label=\"Remove rule\">Remove</button></div> <div class=\"rounded-md bg-slate-50 p-3\"><div class=\"mb-2 flex flex-wrap items-center gap-1 text-[10px]\"><span class=\"text-slate-500\">Condition:</span> <button type=\"button\"${attr_class(`rounded px-1.5 py-0.5 ${leaf() ? \"bg-slate-900 text-white\" : \"border border-slate-300 text-slate-600 hover:bg-white\"}`)}${attr(\"disabled\", leaf() !== null, true)} title=\"One comparison (e.g. count equals 0)\">Single</button> <button type=\"button\"${attr_class(`rounded px-1.5 py-0.5 ${rule.condition !== void 0 && isCompositeCondition(rule.condition) && rule.condition.kind === \"all\" ? \"bg-slate-900 text-white\" : \"border border-slate-300 text-slate-600 hover:bg-white\"}`)} title=\"ALL conditions must hold (logical AND)\">All of</button> <button type=\"button\"${attr_class(`rounded px-1.5 py-0.5 ${rule.condition !== void 0 && isCompositeCondition(rule.condition) && rule.condition.kind === \"any\" ? \"bg-slate-900 text-white\" : \"border border-slate-300 text-slate-600 hover:bg-white\"}`)} title=\"ANY condition holds (logical OR)\">Any of</button> <button type=\"button\"${attr_class(`rounded px-1.5 py-0.5 ${rule.condition === void 0 ? \"bg-slate-900 text-white\" : \"border border-slate-300 text-slate-600 hover:bg-white\"}`)} title=\"Effect always fires when the action runs\">Always</button></div> `);\n\t\tif (leaf()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"flex flex-wrap items-start gap-2 text-sm\"><span class=\"mt-1.5 font-mono text-xs text-slate-500\">IF</span> `);\n\t\t\tif (availableParameters.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"mt-0.5 inline-flex rounded-md border border-slate-300 bg-white p-0.5 text-[10px] font-medium\"><button type=\"button\"${attr_class(`rounded px-2 py-0.5 transition ${leftKind() === \"state\" ? \"bg-slate-900 text-white\" : \"text-slate-600 hover:text-slate-900\"}`)}>State</button> <button type=\"button\"${attr_class(`rounded px-2 py-0.5 transition ${leftKind() === \"param\" ? \"bg-slate-900 text-white\" : \"text-slate-600 hover:text-slate-900\"}`)}>Param</button></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (leftKind() === \"param\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.select({\n\t\t\t\t\tclass: \"mt-0.5 rounded-md border border-slate-300 px-2 py-1 text-xs font-mono\",\n\t\t\t\t\tvalue: leftParamName(),\n\t\t\t\t\tonchange: (e) => updateParamName(e.target.value)\n\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(availableParameters);\n\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\tlet p = each_array_1[$$index_1];\n\t\t\t\t\t\t$$renderer.option({ value: p.name }, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`${escape_html(p.name)}`);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\tStatePathSelect($$renderer, {\n\t\t\t\t\tvalue: leftStateValue(),\n\t\t\t\t\tavailablePaths,\n\t\t\t\t\tonCommit: updatePath\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t$$renderer.select({\n\t\t\t\tclass: \"mt-0.5 rounded-md border border-slate-300 px-2 py-1 text-xs\",\n\t\t\t\tvalue: leaf().operator,\n\t\t\t\tonchange: (e) => updateOperator(e.target.value)\n\t\t\t}, ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\tconst each_array_2 = ensure_array_like(ALL_OPERATORS);\n\t\t\t\tfor (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\t\tlet op = each_array_2[$$index_2];\n\t\t\t\t\t$$renderer.option({ value: op }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`${escape_html(operatorLabel(op))}`);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t});\n\t\t\t$$renderer.push(` `);\n\t\t\tif (operatorRequiresRightOperand(leaf().operator)) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tConditionRightEditor($$renderer, {\n\t\t\t\t\tvalue: leaf().right,\n\t\t\t\t\tavailablePaths,\n\t\t\t\t\tonChange: (right) => patchCondition({ right })\n\t\t\t\t});\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else if (rule.condition === void 0) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<div class=\"rounded-md border border-dashed border-slate-300 bg-white p-2 text-xs italic text-slate-500\">Unconditional, this rule's effect always fires when the action runs.</div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"space-y-1\"><p class=\"text-[11px] text-slate-500\">Composite condition (<span class=\"font-mono\">${escape_html(rule.condition.kind)}</span>). Edit the tree as JSON.\n Each item may itself be a leaf <span class=\"mono\">{left, operator, right}</span> or\n another composite <span class=\"mono\">{kind, conditions}</span>.</p> <textarea class=\"mono min-h-32 w-full rounded-md border border-slate-300 px-2 py-1 text-xs\">`);\n\t\t\tconst $$body = escape_html(compositeDraft);\n\t\t\tif ($$body) $$renderer.push(`${$$body}`);\n\t\t\t$$renderer.push(`</textarea> `);\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<p class=\"text-[11px] text-slate-500\">Saved on blur. Switch back to \"Single\" to use the visual editor.</p>`);\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> <div class=\"mt-2 flex items-start gap-2 text-sm\"><span class=\"mt-2 font-mono text-xs text-slate-500\">THEN</span> <div class=\"flex-1\">`);\n\t\tEffectEditor($$renderer, {\n\t\t\teffect: rule.effect,\n\t\t\tavailablePaths,\n\t\t\tonChange: updateEffect\n\t\t});\n\t\t$$renderer.push(`<!----></div></div></div> <input type=\"text\" placeholder=\"Optional rationale\"${attr(\"value\", rule.description ?? \"\")} class=\"w-full rounded-md border border-slate-200 px-2 py-1 text-xs text-slate-600\"/></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/InvariantEditor.svelte\nfunction InvariantEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { invariant, availablePaths, onChange, onRemove } = $$props;\n\t\tconst leaf = derived(() => isCompositeCondition(invariant.condition) ? null : invariant.condition);\n\t\tfunction patchCondition(patch) {\n\t\t\tif (leaf() === null) return;\n\t\t\tonChange({\n\t\t\t\t...invariant,\n\t\t\t\tcondition: {\n\t\t\t\t\t...leaf(),\n\t\t\t\t\t...patch\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tfunction updatePath(value) {\n\t\t\tif (!isStatePath(value)) return;\n\t\t\tpatchCondition({ left: asStatePath(value) });\n\t\t}\n\t\tfunction updateOperator(op) {\n\t\t\tif (leaf() === null) return;\n\t\t\tconst requiresRight = operatorRequiresRightOperand(op);\n\t\t\tonChange({\n\t\t\t\t...invariant,\n\t\t\t\tcondition: {\n\t\t\t\t\tleft: leaf().left,\n\t\t\t\t\toperator: op,\n\t\t\t\t\t...requiresRight ? { right: leaf().right ?? \"\" } : {}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tlet compositeDraft = \"\";\n\t\t$$renderer.push(`<div class=\"space-y-2 rounded-md border border-slate-200 bg-white p-3\"><div class=\"flex items-center gap-2\"><input type=\"text\" class=\"flex-1 rounded-md border border-slate-300 px-2 py-1 text-sm font-medium\"${attr(\"value\", invariant.name)} placeholder=\"Invariant name\"/> <button type=\"button\" class=\"text-xs text-slate-400 hover:text-red-600\" aria-label=\"Remove invariant\">Remove</button></div> <div class=\"rounded-md bg-slate-50 p-3\"><div class=\"mb-2 flex flex-wrap items-center gap-1 text-[10px]\"><span class=\"text-slate-500\">Condition:</span> <button type=\"button\"${attr_class(`rounded px-1.5 py-0.5 ${leaf() ? \"bg-slate-900 text-white\" : \"border border-slate-300 text-slate-600 hover:bg-white\"}`)}${attr(\"disabled\", leaf() !== null, true)}>Single</button> <button type=\"button\"${attr_class(`rounded px-1.5 py-0.5 ${isCompositeCondition(invariant.condition) && invariant.condition.kind === \"all\" ? \"bg-slate-900 text-white\" : \"border border-slate-300 text-slate-600 hover:bg-white\"}`)}>All of</button> <button type=\"button\"${attr_class(`rounded px-1.5 py-0.5 ${isCompositeCondition(invariant.condition) && invariant.condition.kind === \"any\" ? \"bg-slate-900 text-white\" : \"border border-slate-300 text-slate-600 hover:bg-white\"}`)}>Any of</button></div> `);\n\t\tif (leaf()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"flex flex-wrap items-start gap-2 text-sm\"><span class=\"mt-1.5 font-mono text-xs text-slate-500\">MUST</span> `);\n\t\t\tStatePathSelect($$renderer, {\n\t\t\t\tvalue: typeof leaf().left === \"string\" ? leaf().left : \"\",\n\t\t\t\tavailablePaths,\n\t\t\t\tonCommit: updatePath\n\t\t\t});\n\t\t\t$$renderer.push(`<!----> `);\n\t\t\t$$renderer.select({\n\t\t\t\tclass: \"mt-0.5 rounded-md border border-slate-300 px-2 py-1 text-xs\",\n\t\t\t\tvalue: leaf().operator,\n\t\t\t\tonchange: (e) => updateOperator(e.target.value)\n\t\t\t}, ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\tconst each_array = ensure_array_like(ALL_OPERATORS);\n\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\tlet op = each_array[$$index];\n\t\t\t\t\t$$renderer.option({ value: op }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`${escape_html(operatorLabel(op))}`);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t});\n\t\t\t$$renderer.push(` `);\n\t\t\tif (operatorRequiresRightOperand(leaf().operator)) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tConditionRightEditor($$renderer, {\n\t\t\t\t\tvalue: leaf().right,\n\t\t\t\t\tavailablePaths,\n\t\t\t\t\tonChange: (right) => patchCondition({ right })\n\t\t\t\t});\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"space-y-1\"><p class=\"text-[11px] text-slate-500\">Composite condition (<span class=\"font-mono\">${escape_html(invariant.condition.kind)}</span>). Each entry can be a leaf or another composite.</p> <textarea class=\"mono min-h-32 w-full rounded-md border border-slate-300 px-2 py-1 text-xs\">`);\n\t\t\tconst $$body = escape_html(compositeDraft);\n\t\t\tif ($$body) $$renderer.push(`${$$body}`);\n\t\t\t$$renderer.push(`</textarea> `);\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<p class=\"text-[11px] text-slate-500\">Saved on blur. Switch back to \"Single\" for visual editing.</p>`);\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div> <input type=\"text\" class=\"w-full rounded-md border border-slate-200 px-2 py-1 text-xs\"${attr(\"value\", invariant.message)} placeholder=\"Violation message\"/></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/domain/value-objects/Resource.ts\nvar ALL_RESOURCE_KINDS = [\n\t\"relational_db\",\n\t\"document_db\",\n\t\"key_value_store\",\n\t\"object_storage\",\n\t\"file_system\",\n\t\"cache\",\n\t\"message_queue\",\n\t\"event_stream\",\n\t\"http_api\",\n\t\"graphql_api\",\n\t\"browser_storage\",\n\t\"in_memory\",\n\t\"other\"\n];\nvar resourceKindLabel = (k) => {\n\tswitch (k) {\n\t\tcase \"relational_db\": return \"Relational DB\";\n\t\tcase \"document_db\": return \"Document DB\";\n\t\tcase \"key_value_store\": return \"Key/Value store\";\n\t\tcase \"object_storage\": return \"Object storage\";\n\t\tcase \"file_system\": return \"File system\";\n\t\tcase \"cache\": return \"Cache\";\n\t\tcase \"message_queue\": return \"Message queue\";\n\t\tcase \"event_stream\": return \"Event stream\";\n\t\tcase \"http_api\": return \"HTTP API\";\n\t\tcase \"graphql_api\": return \"GraphQL API\";\n\t\tcase \"browser_storage\": return \"Browser storage\";\n\t\tcase \"in_memory\": return \"In-memory\";\n\t\tcase \"other\": return \"Other\";\n\t}\n};\n/**\n* Hint to the editor about what the (database, container, field) triple\n* naturally maps to for this kind of resource.\n*/\nvar resourceTerminology = (k) => {\n\tswitch (k) {\n\t\tcase \"relational_db\": return {\n\t\t\tdatabase: \"Database\",\n\t\t\tcontainer: \"Table\",\n\t\t\tfield: \"Column\"\n\t\t};\n\t\tcase \"document_db\": return {\n\t\t\tdatabase: \"Database\",\n\t\t\tcontainer: \"Collection\",\n\t\t\tfield: \"Field\"\n\t\t};\n\t\tcase \"key_value_store\": return {\n\t\t\tdatabase: \"Namespace\",\n\t\t\tcontainer: \"Key prefix\",\n\t\t\tfield: \"Sub-key\"\n\t\t};\n\t\tcase \"object_storage\": return {\n\t\t\tdatabase: \"Bucket\",\n\t\t\tcontainer: \"Prefix\",\n\t\t\tfield: \"Object key\"\n\t\t};\n\t\tcase \"file_system\": return {\n\t\t\tdatabase: \"Volume\",\n\t\t\tcontainer: \"Directory\",\n\t\t\tfield: \"File\"\n\t\t};\n\t\tcase \"cache\": return {\n\t\t\tdatabase: \"Namespace\",\n\t\t\tcontainer: \"Key pattern\",\n\t\t\tfield: \"Field\"\n\t\t};\n\t\tcase \"message_queue\": return {\n\t\t\tdatabase: \"Cluster\",\n\t\t\tcontainer: \"Queue / topic\",\n\t\t\tfield: \"Message attribute\"\n\t\t};\n\t\tcase \"event_stream\": return {\n\t\t\tdatabase: \"Cluster\",\n\t\t\tcontainer: \"Stream / topic\",\n\t\t\tfield: \"Field\"\n\t\t};\n\t\tcase \"http_api\": return {\n\t\t\tdatabase: \"Base URL\",\n\t\t\tcontainer: \"Path\",\n\t\t\tfield: \"Field\"\n\t\t};\n\t\tcase \"graphql_api\": return {\n\t\t\tdatabase: \"Endpoint\",\n\t\t\tcontainer: \"Type\",\n\t\t\tfield: \"Field\"\n\t\t};\n\t\tcase \"browser_storage\": return {\n\t\t\tdatabase: \"Database\",\n\t\t\tcontainer: \"Store / key\",\n\t\t\tfield: \"Field\"\n\t\t};\n\t\tcase \"in_memory\": return {\n\t\t\tdatabase: \"Process\",\n\t\t\tcontainer: \"Module\",\n\t\t\tfield: \"Field\"\n\t\t};\n\t\tcase \"other\": return {\n\t\t\tdatabase: \"Container\",\n\t\t\tcontainer: \"Sub-container\",\n\t\t\tfield: \"Field\"\n\t\t};\n\t}\n};\nvar ALL_RESOURCE_SCOPES = [\n\t\"local\",\n\t\"external\",\n\t\"cloud\",\n\t\"on_prem\"\n];\nvar resourceScopeLabel = (s) => {\n\tswitch (s) {\n\t\tcase \"local\": return \"Local (browser/device)\";\n\t\tcase \"external\": return \"External third-party\";\n\t\tcase \"cloud\": return \"Cloud\";\n\t\tcase \"on_prem\": return \"On-premise\";\n\t}\n};\nvar ALL_SENSITIVITIES = [\n\t\"public\",\n\t\"internal\",\n\t\"confidential\",\n\t\"restricted\"\n];\nvar sensitivityLabel = (s) => {\n\tswitch (s) {\n\t\tcase \"public\": return \"Public\";\n\t\tcase \"internal\": return \"Internal\";\n\t\tcase \"confidential\": return \"Confidential\";\n\t\tcase \"restricted\": return \"Restricted\";\n\t}\n};\nvar ALL_AUTH_METHODS = [\n\t\"none\",\n\t\"api_key\",\n\t\"oauth2\",\n\t\"jwt\",\n\t\"basic_auth\",\n\t\"iam_role\",\n\t\"mtls\",\n\t\"session_cookie\",\n\t\"service_account\"\n];\nvar authMethodLabel = (m) => {\n\tswitch (m) {\n\t\tcase \"none\": return \"None\";\n\t\tcase \"api_key\": return \"API key\";\n\t\tcase \"oauth2\": return \"OAuth 2.0\";\n\t\tcase \"jwt\": return \"JWT\";\n\t\tcase \"basic_auth\": return \"Basic auth\";\n\t\tcase \"iam_role\": return \"IAM role\";\n\t\tcase \"mtls\": return \"Mutual TLS\";\n\t\tcase \"session_cookie\": return \"Session cookie\";\n\t\tcase \"service_account\": return \"Service account\";\n\t}\n};\nvar ALL_ACCESS_MODES = [\n\t\"read\",\n\t\"write\",\n\t\"read_write\"\n];\nvar accessModeLabel = (m) => {\n\tswitch (m) {\n\t\tcase \"read\": return \"Read-only\";\n\t\tcase \"write\": return \"Write-only\";\n\t\tcase \"read_write\": return \"Read & write\";\n\t}\n};\nvar COMMON_COMPLIANCE_TAGS = [\n\t\"gdpr\",\n\t\"ccpa\",\n\t\"hipaa\",\n\t\"pci_dss\",\n\t\"sox\",\n\t\"iso27001\",\n\t\"soc2\",\n\t\"ferpa\",\n\t\"coppa\"\n];\n//#endregion\n//#region src/features/behavior-model/domain/value-objects/ParameterValidation.ts\nvar VALIDATION_GROUPS = [\n\t{\n\t\tcategory: \"presence\",\n\t\tlabel: \"Presence\",\n\t\ttypes: [\"non_empty\"]\n\t},\n\t{\n\t\tcategory: \"format\",\n\t\tlabel: \"Format\",\n\t\ttypes: [\n\t\t\t\"email\",\n\t\t\t\"url\",\n\t\t\t\"uuid\",\n\t\t\t\"ipv4\",\n\t\t\t\"ipv6\",\n\t\t\t\"hex\",\n\t\t\t\"base64\",\n\t\t\t\"slug\",\n\t\t\t\"phone_e164\",\n\t\t\t\"color_hex\",\n\t\t\t\"semver\",\n\t\t\t\"json\",\n\t\t\t\"iso_date\",\n\t\t\t\"iso_datetime\",\n\t\t\t\"iso_time\"\n\t\t]\n\t},\n\t{\n\t\tcategory: \"shape\",\n\t\tlabel: \"Shape\",\n\t\ttypes: [\n\t\t\t\"min_length\",\n\t\t\t\"max_length\",\n\t\t\t\"length\",\n\t\t\t\"pattern\",\n\t\t\t\"starts_with\",\n\t\t\t\"ends_with\",\n\t\t\t\"contains\",\n\t\t\t\"alphanumeric\",\n\t\t\t\"alphabetic\",\n\t\t\t\"lowercase\",\n\t\t\t\"uppercase\",\n\t\t\t\"no_whitespace\"\n\t\t]\n\t},\n\t{\n\t\tcategory: \"range\",\n\t\tlabel: \"Range\",\n\t\ttypes: [\n\t\t\t\"min\",\n\t\t\t\"max\",\n\t\t\t\"multiple_of\",\n\t\t\t\"integer\",\n\t\t\t\"finite\",\n\t\t\t\"safe_integer\",\n\t\t\t\"positive\",\n\t\t\t\"negative\",\n\t\t\t\"non_negative\",\n\t\t\t\"non_positive\"\n\t\t]\n\t}\n];\nVALIDATION_GROUPS.flatMap((g) => g.types);\nvar validationTypeLabel = (t) => {\n\tswitch (t) {\n\t\tcase \"non_empty\": return \"Non-empty\";\n\t\tcase \"min_length\": return \"Min length\";\n\t\tcase \"max_length\": return \"Max length\";\n\t\tcase \"length\": return \"Exact length\";\n\t\tcase \"pattern\": return \"Match regex\";\n\t\tcase \"starts_with\": return \"Starts with\";\n\t\tcase \"ends_with\": return \"Ends with\";\n\t\tcase \"contains\": return \"Contains substring\";\n\t\tcase \"alphanumeric\": return \"Alphanumeric only\";\n\t\tcase \"alphabetic\": return \"Letters only\";\n\t\tcase \"lowercase\": return \"Lowercase only\";\n\t\tcase \"uppercase\": return \"Uppercase only\";\n\t\tcase \"no_whitespace\": return \"No whitespace\";\n\t\tcase \"email\": return \"Email address\";\n\t\tcase \"url\": return \"URL\";\n\t\tcase \"uuid\": return \"UUID\";\n\t\tcase \"ipv4\": return \"IPv4 address\";\n\t\tcase \"ipv6\": return \"IPv6 address\";\n\t\tcase \"hex\": return \"Hex string\";\n\t\tcase \"base64\": return \"Base64\";\n\t\tcase \"slug\": return \"Slug (URL-safe)\";\n\t\tcase \"phone_e164\": return \"Phone (E.164)\";\n\t\tcase \"color_hex\": return \"Hex color\";\n\t\tcase \"semver\": return \"SemVer\";\n\t\tcase \"json\": return \"Valid JSON\";\n\t\tcase \"iso_date\": return \"ISO date (YYYY-MM-DD)\";\n\t\tcase \"iso_datetime\": return \"ISO datetime\";\n\t\tcase \"iso_time\": return \"ISO time\";\n\t\tcase \"min\": return \"Min value\";\n\t\tcase \"max\": return \"Max value\";\n\t\tcase \"multiple_of\": return \"Multiple of\";\n\t\tcase \"integer\": return \"Integer\";\n\t\tcase \"finite\": return \"Finite\";\n\t\tcase \"safe_integer\": return \"Safe integer\";\n\t\tcase \"positive\": return \"Positive\";\n\t\tcase \"negative\": return \"Negative\";\n\t\tcase \"non_negative\": return \"Non-negative\";\n\t\tcase \"non_positive\": return \"Non-positive\";\n\t}\n};\nvar validationRequiresValue = (t) => {\n\tswitch (t) {\n\t\tcase \"min_length\":\n\t\tcase \"max_length\":\n\t\tcase \"length\":\n\t\tcase \"min\":\n\t\tcase \"max\":\n\t\tcase \"multiple_of\": return \"number\";\n\t\tcase \"pattern\":\n\t\tcase \"starts_with\":\n\t\tcase \"ends_with\":\n\t\tcase \"contains\": return \"string\";\n\t\tdefault: return null;\n\t}\n};\nvar validationAppliesTo = (t) => {\n\tswitch (t) {\n\t\tcase \"non_empty\":\n\t\tcase \"min_length\":\n\t\tcase \"max_length\":\n\t\tcase \"length\":\n\t\tcase \"pattern\":\n\t\tcase \"starts_with\":\n\t\tcase \"ends_with\":\n\t\tcase \"contains\":\n\t\tcase \"alphanumeric\":\n\t\tcase \"alphabetic\":\n\t\tcase \"lowercase\":\n\t\tcase \"uppercase\":\n\t\tcase \"no_whitespace\":\n\t\tcase \"email\":\n\t\tcase \"url\":\n\t\tcase \"uuid\":\n\t\tcase \"ipv4\":\n\t\tcase \"ipv6\":\n\t\tcase \"hex\":\n\t\tcase \"base64\":\n\t\tcase \"slug\":\n\t\tcase \"phone_e164\":\n\t\tcase \"color_hex\":\n\t\tcase \"semver\":\n\t\tcase \"json\":\n\t\tcase \"iso_date\":\n\t\tcase \"iso_datetime\":\n\t\tcase \"iso_time\": return \"string\";\n\t\tcase \"min\":\n\t\tcase \"max\":\n\t\tcase \"multiple_of\":\n\t\tcase \"integer\":\n\t\tcase \"finite\":\n\t\tcase \"safe_integer\":\n\t\tcase \"positive\":\n\t\tcase \"negative\":\n\t\tcase \"non_negative\":\n\t\tcase \"non_positive\": return \"number\";\n\t}\n};\n//#endregion\n//#region src/features/behavior-model/presentation/components/ParameterValidationsEditor.svelte\nfunction ParameterValidationsEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { parameter, onChange } = $$props;\n\t\tfunction appliesToParam(t) {\n\t\t\tconst applies = validationAppliesTo(t);\n\t\t\tif (applies === \"any\") return true;\n\t\t\tif (parameter.type === \"string\" || parameter.type === \"enum\") return applies === \"string\";\n\t\t\tif (parameter.type === \"number\") return applies === \"number\";\n\t\t\treturn false;\n\t\t}\n\t\tconst groupedApplicable = derived(() => VALIDATION_GROUPS.map((g) => ({\n\t\t\tlabel: g.label,\n\t\t\ttypes: g.types.filter(appliesToParam)\n\t\t})).filter((g) => g.types.length > 0));\n\t\tconst applicableTypes = derived(() => groupedApplicable().flatMap((g) => g.types));\n\t\tconst validations = derived(() => parameter.validations ?? []);\n\t\tfunction defaultFor(type) {\n\t\t\tswitch (type) {\n\t\t\t\tcase \"min_length\":\n\t\t\t\tcase \"max_length\":\n\t\t\t\tcase \"length\": return {\n\t\t\t\t\ttype,\n\t\t\t\t\tvalue: 1\n\t\t\t\t};\n\t\t\t\tcase \"min\":\n\t\t\t\tcase \"max\": return {\n\t\t\t\t\ttype,\n\t\t\t\t\tvalue: 0\n\t\t\t\t};\n\t\t\t\tcase \"multiple_of\": return {\n\t\t\t\t\ttype,\n\t\t\t\t\tvalue: 1\n\t\t\t\t};\n\t\t\t\tcase \"pattern\": return {\n\t\t\t\t\ttype,\n\t\t\t\t\tvalue: \"^.+$\"\n\t\t\t\t};\n\t\t\t\tcase \"starts_with\":\n\t\t\t\tcase \"ends_with\":\n\t\t\t\tcase \"contains\": return {\n\t\t\t\t\ttype,\n\t\t\t\t\tvalue: \"\"\n\t\t\t\t};\n\t\t\t\tdefault: return { type };\n\t\t\t}\n\t\t}\n\t\tfunction update(index, replacement) {\n\t\t\tonChange({ validations: validations().map((v, i) => i === index ? replacement : v) });\n\t\t}\n\t\tfunction changeType(index, newType) {\n\t\t\tupdate(index, defaultFor(newType));\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-2\"><button type=\"button\" class=\"rounded-md border border-neutral-300 px-2 py-1 text-[11px] hover:bg-neutral-50\"${attr(\"disabled\", applicableTypes().length === 0, true)}>+ Validation</button> `);\n\t\tif (applicableTypes().length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"text-[11px] text-neutral-500\">No built-in validations available for this type.</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (validations().length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-neutral-300 p-2 text-center text-[11px] text-neutral-500\">No validations. Only the type and \"required\" check apply.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"space-y-1\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(validations());\n\t\t\tfor (let i = 0, $$length = each_array.length; i < $$length; i++) {\n\t\t\t\tlet validation = each_array[i];\n\t\t\t\tconst requires = validationRequiresValue(validation.type);\n\t\t\t\t$$renderer.push(`<li class=\"space-y-1 rounded-md border border-neutral-200 bg-neutral-50 p-2\"><div class=\"flex flex-wrap items-center gap-1.5\">`);\n\t\t\t\t$$renderer.select({\n\t\t\t\t\tclass: \"rounded-md border border-neutral-300 px-1.5 py-0.5 text-[11px]\",\n\t\t\t\t\tvalue: validation.type,\n\t\t\t\t\tonchange: (e) => changeType(i, e.target.value)\n\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(groupedApplicable());\n\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\tlet group = each_array_1[$$index_1];\n\t\t\t\t\t\t$$renderer.push(`<optgroup${attr(\"label\", group.label)}><!--[-->`);\n\t\t\t\t\t\tconst each_array_2 = ensure_array_like(group.types);\n\t\t\t\t\t\tfor (let $$index = 0, $$length = each_array_2.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\t\tlet t = each_array_2[$$index];\n\t\t\t\t\t\t\t$$renderer.option({ value: t }, ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`${escape_html(validationTypeLabel(t))}`);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]--></optgroup>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t});\n\t\t\t\t$$renderer.push(` `);\n\t\t\t\tif (requires === \"number\" && \"value\" in validation) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<input type=\"number\" class=\"w-20 rounded-md border border-neutral-300 px-1.5 py-0.5 text-[11px]\"${attr(\"value\", String(validation.value))}/>`);\n\t\t\t\t} else if (requires === \"string\" && \"value\" in validation) {\n\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t$$renderer.push(`<input type=\"text\" class=\"mono flex-1 rounded-md border border-neutral-300 px-1.5 py-0.5 text-[11px]\"${attr(\"value\", String(validation.value))} placeholder=\"^[A-Z]+$\"/>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <button type=\"button\" class=\"ml-auto text-neutral-400 hover:text-red-600\" aria-label=\"Remove validation\">✕</button></div> <input type=\"text\" class=\"w-full rounded-md border border-neutral-200 px-1.5 py-0.5 text-[11px] text-neutral-600\"${attr(\"value\", validation.message ?? \"\")} placeholder=\"Custom error message (optional)\"/></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/ParametersEditor.svelte\nfunction ParametersEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { surface, action, resources } = $$props;\n\t\tlet expandedId = null;\n\t\tlet defaultErrors = {};\n\t\tconst availablePaths = derived(() => surface.stateDefinitions.map((d) => d.path));\n\t\tasync function update(id, patch) {\n\t\t\tawait featureStore.mutate((current) => updateParameter(current, surface.id, action.id, id, patch));\n\t\t}\n\t\tfunction setBinding(parameter, raw) {\n\t\t\tif (raw.length === 0) {\n\t\t\t\tupdate(parameter.id, { bindToStatePath: void 0 });\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!isStatePath(raw)) return;\n\t\t\tupdate(parameter.id, { bindToStatePath: asStatePath(raw) });\n\t\t}\n\t\tfunction setResource(parameter, raw) {\n\t\t\tif (raw.length === 0) {\n\t\t\t\tupdate(parameter.id, { resourceId: void 0 });\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdate(parameter.id, { resourceId: asResourceId(raw) });\n\t\t}\n\t\tfunction findResource(id) {\n\t\t\tif (!id) return void 0;\n\t\t\treturn resources.find((r) => r.id === id);\n\t\t}\n\t\tfunction parseDefaultValue(parameter, raw) {\n\t\t\tconst stateType = parameterDefaultShape(parameter);\n\t\t\tif (stateType === \"number\") {\n\t\t\t\tconst value = Number(raw);\n\t\t\t\tif (!Number.isFinite(value)) throw new Error(\"Use a finite number.\");\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (stateType === \"boolean\") return raw === \"true\";\n\t\t\tif (stateType === \"object\" || stateType === \"array\") {\n\t\t\t\tconst value = JSON.parse(raw);\n\t\t\t\tif (stateType === \"object\" && (value === null || typeof value !== \"object\" || Array.isArray(value))) throw new Error(\"Use a JSON object.\");\n\t\t\t\tif (stateType === \"array\" && !Array.isArray(value)) throw new Error(\"Use a JSON array.\");\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\treturn raw;\n\t\t}\n\t\tasync function updateDefaultValue(parameter, raw) {\n\t\t\ttry {\n\t\t\t\tconst defaultValue = parseDefaultValue(parameter, raw);\n\t\t\t\tdefaultErrors = {\n\t\t\t\t\t...defaultErrors,\n\t\t\t\t\t[parameter.id]: \"\"\n\t\t\t\t};\n\t\t\t\tawait update(parameter.id, { defaultValue });\n\t\t\t} catch (error) {\n\t\t\t\tdefaultErrors = {\n\t\t\t\t\t...defaultErrors,\n\t\t\t\t\t[parameter.id]: error instanceof Error ? error.message : \"Invalid default value.\"\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\tfunction parameterDefaultShape(parameter) {\n\t\t\treturn parameterTypeToStateType(parameter.type);\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-2\"><button type=\"button\" class=\"rounded-md border border-neutral-300 px-2 py-1 text-xs hover:bg-neutral-50\">+ Parameter</button> `);\n\t\tif (action.parameters.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-neutral-300 p-3 text-center text-xs text-neutral-500\">No parameters.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"space-y-2\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(action.parameters);\n\t\t\tfor (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet parameter = each_array[$$index_2];\n\t\t\t\tconst isExpanded = expandedId === parameter.id;\n\t\t\t\tconst validationCount = parameter.validations?.length ?? 0;\n\t\t\t\t$$renderer.push(`<li${attr(\"data-parameter-id\", parameter.id)}${attr_class(`rounded-md border bg-white ${isExpanded ? \"border-brand-300 ring-1 ring-brand-200\" : \"border-neutral-200\"}`)}><header class=\"flex flex-wrap items-center gap-2 px-2 py-1 text-xs\"><button type=\"button\" class=\"text-neutral-400 hover:text-neutral-700\"${attr(\"aria-label\", isExpanded ? \"Collapse\" : \"Expand\")}>${escape_html(isExpanded ? \"▾\" : \"▸\")}</button> <input type=\"text\" class=\"mono rounded-md border border-neutral-300 px-2 py-0.5 text-xs\"${attr(\"value\", parameter.name)}/> `);\n\t\t\t\t$$renderer.select({\n\t\t\t\t\tclass: \"rounded-md border border-neutral-300 px-2 py-0.5 text-xs\",\n\t\t\t\t\tvalue: parameter.type,\n\t\t\t\t\tonchange: (e) => update(parameter.id, { type: e.target.value })\n\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(PARAMETER_TYPES);\n\t\t\t\t\tfor (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\tlet type = each_array_1[$$index];\n\t\t\t\t\t\t$$renderer.option({ value: type }, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`${escape_html(type)}`);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t});\n\t\t\t\t$$renderer.push(` <label class=\"flex items-center gap-1 text-neutral-600\"><input type=\"checkbox\"${attr(\"checked\", parameter.required, true)}/> required</label> `);\n\t\t\t\tif (validationCount > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-sky-50 px-1.5 py-0.5 text-[10px] text-sky-800\">${escape_html(validationCount)} validation${escape_html(validationCount === 1 ? \"\" : \"s\")}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (parameter.bindToStatePath) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-emerald-50 px-1.5 py-0.5 text-[10px] text-emerald-800\">bound</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (findResource(parameter.resourceId)) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tconst r = findResource(parameter.resourceId);\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-violet-50 px-1.5 py-0.5 text-[10px] text-violet-800\"${attr(\"title\", r?.provider ?? \"\")}>${escape_html(r?.name)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <button type=\"button\" class=\"ml-auto text-neutral-400 hover:text-red-600\" aria-label=\"Remove parameter\">✕</button></header> `);\n\t\t\t\tif (isExpanded) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"space-y-3 border-t border-neutral-200 p-3 text-xs\"><label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Description</span> <input type=\"text\" class=\"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", parameter.description ?? \"\")} placeholder=\"What does this parameter mean?\"/></label> <section class=\"grid grid-cols-1 gap-2 sm:grid-cols-2\"><label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Default value</span> `);\n\t\t\t\t\tif (parameterDefaultShape(parameter) === \"boolean\") {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.select({\n\t\t\t\t\t\t\tclass: \"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\",\n\t\t\t\t\t\t\tvalue: String(parameter.defaultValue ?? false),\n\t\t\t\t\t\t\tonchange: (e) => updateDefaultValue(parameter, e.target.value)\n\t\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.option({ value: \"false\" }, ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`false`);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t$$renderer.option({ value: \"true\" }, ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`true`);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (parameterDefaultShape(parameter) === \"object\" || parameterDefaultShape(parameter) === \"array\") {\n\t\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t\t$$renderer.push(`<textarea class=\"mono mt-1 min-h-16 w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\">`);\n\t\t\t\t\t\tconst $$body = escape_html(JSON.stringify(parameter.defaultValue ?? (parameterDefaultShape(parameter) === \"array\" ? [] : {}), null, 2));\n\t\t\t\t\t\tif ($$body) $$renderer.push(`${$$body}`);\n\t\t\t\t\t\t$$renderer.push(`</textarea>`);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<input${attr(\"type\", parameterDefaultShape(parameter) === \"number\" ? \"number\" : \"text\")} class=\"mono mt-1 w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", String(parameter.defaultValue ?? \"\"))} placeholder=\"optional default\"/>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\tif (defaultErrors[parameter.id]) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<span class=\"mt-1 block text-[10px] text-red-600\">${escape_html(defaultErrors[parameter.id])}</span>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--></label> `);\n\t\t\t\t\tif (parameter.type === \"enum\") {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Enum values</span> <input type=\"text\" class=\"mono mt-1 w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", (parameter.enumValues ?? []).join(\", \"))} placeholder=\"small, medium, large\"/></label>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--></section> <section><header class=\"mb-1 flex items-center gap-2\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Bind to state</span> `);\n\t\t\t\t\tif (parameter.bindToStatePath) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"text-[10px] text-neutral-400 hover:text-red-600\">clear</button>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--></header> <p class=\"mb-1 text-[11px] text-neutral-500 leading-snug\">When the action runs, the parameter value is written into this state path\n before rules evaluate. Useful for \"the user picked X → store X in state\".</p> `);\n\t\t\t\t\tif (parameter.bindToStatePath || availablePaths().length > 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\tStatePathSelect($$renderer, {\n\t\t\t\t\t\t\tvalue: parameter.bindToStatePath ?? \"\",\n\t\t\t\t\t\t\tavailablePaths: availablePaths(),\n\t\t\t\t\t\t\tonCommit: (raw) => setBinding(parameter, raw)\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<p class=\"text-[11px] text-neutral-400\">Define some state on the surface to make bindings available.</p>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></section> <section><header class=\"mb-1 flex items-center gap-2\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Linked resource</span> `);\n\t\t\t\t\tif (parameter.resourceId) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"text-[10px] text-neutral-400 hover:text-red-600\">clear</button>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--></header> <p class=\"mb-1 text-[11px] leading-snug text-neutral-500\">Where this parameter's value comes from or is persisted to. Define resources in\n the Resources tab.</p> `);\n\t\t\t\t\tif (resources.length === 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<p class=\"text-[11px] text-neutral-400\">No resources defined yet. Add some in the Resources tab.</p>`);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\tconst linked = findResource(parameter.resourceId);\n\t\t\t\t\t\t$$renderer.select({\n\t\t\t\t\t\t\tclass: \"w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\",\n\t\t\t\t\t\t\tvalue: parameter.resourceId ?? \"\",\n\t\t\t\t\t\t\tonchange: (e) => setResource(parameter, e.target.value)\n\t\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.option({ value: \"\" }, ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`- No resource -`);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\t\t\tconst each_array_2 = ensure_array_like(resources);\n\t\t\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\t\t\tlet r = each_array_2[$$index_1];\n\t\t\t\t\t\t\t\t$$renderer.option({ value: r.id }, ($$renderer) => {\n\t\t\t\t\t\t\t\t\t$$renderer.push(`${escape_html(r.name)} (${escape_html(resourceKindLabel(r.kind))} · ${escape_html(sensitivityLabel(r.sensitivity))})`);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(` `);\n\t\t\t\t\t\tif (linked) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<p class=\"mt-1 text-[11px] text-neutral-500\">${escape_html(linked.provider)}${escape_html(linked.location ? ` · ${linked.location}` : \"\")} `);\n\t\t\t\t\t\t\tif (linked.containsPii) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"ml-1 text-red-700\">· PII</span>`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\tif (linked.complianceTags.length > 0) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"ml-1 mono text-neutral-500\">· ${escape_html(linked.complianceTags.join(\", \"))}</span>`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></p>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></section> <section><header class=\"mb-1 text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Validations</header> `);\n\t\t\t\t\tParameterValidationsEditor($$renderer, {\n\t\t\t\t\t\tparameter,\n\t\t\t\t\t\tonChange: (next) => update(parameter.id, next)\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----></section></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/ParameterNameSelect.svelte\nfunction ParameterNameSelect($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { value, availableNames, onCommit, placeholder = \"parameterName\", width = \"min-w-32\" } = $$props;\n\t\tconst CUSTOM = \"__custom__\";\n\t\tconst knownSet = derived(() => new Set(availableNames));\n\t\tconst isCustom = derived(() => value.length > 0 && !knownSet().has(value));\n\t\tlet customMode = false;\n\t\tfunction handleSelect(raw) {\n\t\t\tif (raw === CUSTOM) {\n\t\t\t\tcustomMode = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcustomMode = false;\n\t\t\tonCommit(raw);\n\t\t}\n\t\t$$renderer.push(`<div class=\"flex flex-col gap-0.5\">`);\n\t\tif (!customMode && availableNames.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.select({\n\t\t\t\tclass: `${stringify(width)} rounded-md border border-neutral-300 px-2 py-1 text-xs`,\n\t\t\t\tvalue: knownSet().has(value) ? value : \"\",\n\t\t\t\tonchange: (e) => handleSelect(e.target.value)\n\t\t\t}, ($$renderer) => {\n\t\t\t\tif (!knownSet().has(value)) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.option({\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`- pick a parameter -`);\n\t\t\t\t\t});\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--><!--[-->`);\n\t\t\t\tconst each_array = ensure_array_like(availableNames);\n\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\tlet n = each_array[$$index];\n\t\t\t\t\t$$renderer.option({ value: n }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`${escape_html(n)}`);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t$$renderer.option({ value: CUSTOM }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`Custom name…`);\n\t\t\t\t});\n\t\t\t});\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<input type=\"text\"${attr_class(`mono ${stringify(width)} rounded-md border px-2 py-1 text-xs ${isCustom() ? \"border-amber-400 bg-amber-50\" : \"border-neutral-300\"}`)}${attr(\"value\", value)}${attr(\"placeholder\", placeholder)}/> <div class=\"flex items-center gap-2\">`);\n\t\t\tif (availableNames.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"text-[10px] text-brand-700 hover:underline\">↩ Pick from list</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (isCustom()) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"text-[10px] text-amber-700\">Not used by any action yet</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/ScenariosEditor.svelte\nfunction ScenariosEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { surface, action } = $$props;\n\t\tconst allSurfaces = derived(() => featureStore.feature?.surfaces ?? []);\n\t\tconst scenarios = derived(() => action.scenarios ?? []);\n\t\tconst availablePaths = derived(() => surface.stateDefinitions.map((d) => d.path));\n\t\tconst parameterNames = derived(() => action.parameters.map((p) => p.name));\n\t\tlet expandedId = null;\n\t\tasync function patchScenario(id, patch) {\n\t\t\tawait featureStore.mutate((current) => updateScenarioOnCapability(current, surface.id, action.id, id, patch));\n\t\t}\n\t\tfunction updateStateOverride(scenario, index, path, value) {\n\t\t\tpatchScenario(scenario.id, { stateOverrides: scenario.stateOverrides.map((override, i) => i === index ? {\n\t\t\t\tpath,\n\t\t\t\tvalue\n\t\t\t} : override) });\n\t\t}\n\t\tfunction updateParameterOverride(scenario, index, name, value) {\n\t\t\tpatchScenario(scenario.id, { parameterOverrides: scenario.parameterOverrides.map((override, i) => i === index ? {\n\t\t\t\tparameterName: name,\n\t\t\t\tvalue\n\t\t\t} : override) });\n\t\t}\n\t\tfunction updateAssertion(scenario, index, patch) {\n\t\t\tconst assertions = scenario.expectedAssertions ?? [];\n\t\t\tpatchScenario(scenario.id, { expectedAssertions: assertions.map((assertion, i) => i === index ? {\n\t\t\t\t...assertion,\n\t\t\t\t...patch\n\t\t\t} : assertion) });\n\t\t}\n\t\t$$renderer.push(`<section class=\"space-y-2\"><div class=\"flex items-center justify-between gap-2\"><p class=\"text-xs text-neutral-500\">Named setups for simulator and CI-grade scenario runs.</p> <button type=\"button\" class=\"rounded-md border border-neutral-300 px-2 py-0.5 text-xs hover:bg-neutral-50\">+ Scenario</button></div> `);\n\t\tif (scenarios().length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-neutral-300 p-3 text-center text-xs text-neutral-500\">No scenarios yet.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"space-y-2\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(scenarios());\n\t\t\tfor (let index = 0, $$length = each_array.length; index < $$length; index++) {\n\t\t\t\tlet scenario = each_array[index];\n\t\t\t\tconst isExpanded = expandedId === scenario.id;\n\t\t\t\t$$renderer.push(`<li${attr_class(`rounded-md border bg-white ${isExpanded ? \"border-brand-300 ring-1 ring-brand-200\" : \"border-neutral-200\"}`)}><header class=\"flex items-center gap-2 px-2 py-1 text-xs\"><button type=\"button\" class=\"text-neutral-400 hover:text-neutral-700\"${attr(\"aria-label\", isExpanded ? \"Collapse scenario\" : \"Expand scenario\")}>${escape_html(isExpanded ? \"v\" : \">\")}</button> <span class=\"flex-1 font-medium text-neutral-900\">${escape_html(scenario.name)}</span> `);\n\t\t\t\tif (scenario.expectedStatus) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-neutral-100 px-1.5 py-0.5 text-[10px] text-neutral-700\">expects ${escape_html(scenario.expectedStatus)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <button type=\"button\" class=\"text-neutral-400 hover:text-neutral-700 disabled:opacity-30\"${attr(\"disabled\", index === 0, true)} aria-label=\"Move scenario up\">up</button> <button type=\"button\" class=\"text-neutral-400 hover:text-neutral-700 disabled:opacity-30\"${attr(\"disabled\", index === scenarios().length - 1, true)} aria-label=\"Move scenario down\">down</button> <button type=\"button\" class=\"text-neutral-400 hover:text-red-600\" aria-label=\"Remove scenario\">x</button></header> `);\n\t\t\t\tif (isExpanded) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"space-y-3 border-t border-neutral-200 p-3 text-xs\"><div class=\"grid grid-cols-1 gap-2 sm:grid-cols-2\"><label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Name</span> <input type=\"text\" class=\"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", scenario.name)}/></label> <label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Expected status</span> `);\n\t\t\t\t\t$$renderer.select({\n\t\t\t\t\t\tclass: \"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\",\n\t\t\t\t\t\tvalue: scenario.expectedStatus ?? \"\",\n\t\t\t\t\t\tonchange: (e) => {\n\t\t\t\t\t\t\tconst raw = e.target.value;\n\t\t\t\t\t\t\tpatchScenario(scenario.id, { expectedStatus: raw === \"\" ? void 0 : raw });\n\t\t\t\t\t\t}\n\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.option({ value: \"\" }, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`No expectation`);\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.option({ value: \"success\" }, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`success`);\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.option({ value: \"blocked\" }, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`blocked`);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`</label></div> <label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Expected transition</span> `);\n\t\t\t\t\t$$renderer.select({\n\t\t\t\t\t\tclass: \"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\",\n\t\t\t\t\t\tvalue: scenario.expectedTransition === null ? \"__none__\" : scenario.expectedTransition ?? \"\",\n\t\t\t\t\t\tonchange: (e) => {\n\t\t\t\t\t\t\tconst raw = e.target.value;\n\t\t\t\t\t\t\tif (raw === \"\") patchScenario(scenario.id, { expectedTransition: void 0 });\n\t\t\t\t\t\t\telse if (raw === \"__none__\") patchScenario(scenario.id, { expectedTransition: null });\n\t\t\t\t\t\t\telse patchScenario(scenario.id, { expectedTransition: raw });\n\t\t\t\t\t\t}\n\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.option({ value: \"\" }, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`No expectation`);\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.option({ value: \"__none__\" }, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`Asserts NO transition fires`);\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\t\tconst each_array_1 = ensure_array_like(allSurfaces());\n\t\t\t\t\t\tfor (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\t\tlet s = each_array_1[$$index];\n\t\t\t\t\t\t\t$$renderer.option({ value: s.id }, ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`→ ${escape_html(s.name)}`);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(` <span class=\"mt-0.5 block text-[10px] text-neutral-500\">Run the action and confirm it lands on the chosen surface (or asserts none).</span></label> <label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Description</span> <input type=\"text\" class=\"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", scenario.description ?? \"\")}/></label> <section><header class=\"mb-1 flex items-center justify-between\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">State overrides (${escape_html(scenario.stateOverrides.length)})</span> <button type=\"button\" class=\"rounded-md border border-neutral-300 px-2 py-0.5 text-[11px] hover:bg-neutral-50\">+ State</button></header> <ul class=\"space-y-1\"><!--[-->`);\n\t\t\t\t\tconst each_array_2 = ensure_array_like(scenario.stateOverrides);\n\t\t\t\t\tfor (let i = 0, $$length = each_array_2.length; i < $$length; i++) {\n\t\t\t\t\t\tlet override = each_array_2[i];\n\t\t\t\t\t\t$$renderer.push(`<li class=\"flex flex-wrap items-start gap-1.5\">`);\n\t\t\t\t\t\tStatePathSelect($$renderer, {\n\t\t\t\t\t\t\tvalue: override.path,\n\t\t\t\t\t\t\tavailablePaths: availablePaths(),\n\t\t\t\t\t\t\tonCommit: (raw) => {\n\t\t\t\t\t\t\t\tif (isStatePath(raw)) updateStateOverride(scenario, i, asStatePath(raw), override.value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> <input type=\"text\" class=\"mono mt-0.5 w-32 rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", String(override.value ?? \"\"))}/> <button type=\"button\" class=\"mt-1 text-neutral-400 hover:text-red-600\">x</button></li>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></ul></section> <section><header class=\"mb-1 flex items-center justify-between\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Parameter values (${escape_html(scenario.parameterOverrides.length)})</span> <button type=\"button\" class=\"rounded-md border border-neutral-300 px-2 py-0.5 text-[11px] hover:bg-neutral-50\">+ Parameter</button></header> <ul class=\"space-y-1\"><!--[-->`);\n\t\t\t\t\tconst each_array_3 = ensure_array_like(scenario.parameterOverrides);\n\t\t\t\t\tfor (let i = 0, $$length = each_array_3.length; i < $$length; i++) {\n\t\t\t\t\t\tlet override = each_array_3[i];\n\t\t\t\t\t\t$$renderer.push(`<li class=\"flex flex-wrap items-center gap-1.5\">`);\n\t\t\t\t\t\tParameterNameSelect($$renderer, {\n\t\t\t\t\t\t\tvalue: override.parameterName,\n\t\t\t\t\t\t\tavailableNames: parameterNames(),\n\t\t\t\t\t\t\tonCommit: (name) => updateParameterOverride(scenario, i, name, override.value)\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> <input type=\"text\" class=\"mono w-32 rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", String(override.value ?? \"\"))}/> <button type=\"button\" class=\"text-neutral-400 hover:text-red-600\">x</button></li>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></ul></section> <section><header class=\"mb-1 flex items-center justify-between\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Expected assertions (${escape_html(scenario.expectedAssertions?.length ?? 0)})</span> <button type=\"button\" class=\"rounded-md border border-neutral-300 px-2 py-0.5 text-[11px] hover:bg-neutral-50\">+ Assertion</button></header> <ul class=\"space-y-1\"><!--[-->`);\n\t\t\t\t\tconst each_array_4 = ensure_array_like(scenario.expectedAssertions ?? []);\n\t\t\t\t\tfor (let i = 0, $$length = each_array_4.length; i < $$length; i++) {\n\t\t\t\t\t\tlet assertion = each_array_4[i];\n\t\t\t\t\t\t$$renderer.push(`<li class=\"flex flex-wrap items-start gap-1.5 rounded-md bg-neutral-50 p-2\">`);\n\t\t\t\t\t\tStatePathSelect($$renderer, {\n\t\t\t\t\t\t\tvalue: assertion.path,\n\t\t\t\t\t\t\tavailablePaths: availablePaths(),\n\t\t\t\t\t\t\tonCommit: (raw) => {\n\t\t\t\t\t\t\t\tif (isStatePath(raw)) updateAssertion(scenario, i, { path: asStatePath(raw) });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\t$$renderer.select({\n\t\t\t\t\t\t\tclass: \"mt-0.5 rounded-md border border-neutral-300 px-2 py-1 text-xs\",\n\t\t\t\t\t\t\tvalue: assertion.operator,\n\t\t\t\t\t\t\tonchange: (e) => {\n\t\t\t\t\t\t\t\tconst op = e.target.value;\n\t\t\t\t\t\t\t\tupdateAssertion(scenario, i, {\n\t\t\t\t\t\t\t\t\toperator: op,\n\t\t\t\t\t\t\t\t\t...operatorRequiresRightOperand(op) ? { value: assertion.value ?? \"\" } : { value: void 0 }\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\t\t\tconst each_array_5 = ensure_array_like(ALL_OPERATORS);\n\t\t\t\t\t\t\tfor (let $$index_3 = 0, $$length = each_array_5.length; $$index_3 < $$length; $$index_3++) {\n\t\t\t\t\t\t\t\tlet operator = each_array_5[$$index_3];\n\t\t\t\t\t\t\t\t$$renderer.option({ value: operator }, ($$renderer) => {\n\t\t\t\t\t\t\t\t\t$$renderer.push(`${escape_html(operatorLabel(operator))}`);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(` `);\n\t\t\t\t\t\tif (operatorRequiresRightOperand(assertion.operator)) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\tConditionRightEditor($$renderer, {\n\t\t\t\t\t\t\t\tvalue: assertion.value,\n\t\t\t\t\t\t\t\tavailablePaths: availablePaths(),\n\t\t\t\t\t\t\t\tonChange: (value) => updateAssertion(scenario, i, { value })\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--> <input type=\"text\" class=\"min-w-40 flex-1 rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", assertion.description ?? \"\")} placeholder=\"Description\"/> <button type=\"button\" class=\"mt-1 text-neutral-400 hover:text-red-600\">x</button></li>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></ul></section></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></section>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/ActionEditor.svelte\nfunction ActionEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { surface, action, resources, expanded, onToggle, onRemove, onMoveUp, onMoveDown, availableSurfaces = [], availableEvents = [] } = $$props;\n\t\tconst availablePaths = derived(() => surface.stateDefinitions.map((d) => d.path));\n\t\tconst blockedEffects = derived(() => action.onBlockedEffects ?? []);\n\t\tlet requiredStateDraft = \"\";\n\t\tlet emittedEventDraft = \"\";\n\t\tasync function patchMeta(patch) {\n\t\t\tawait featureStore.mutate((current) => updateAction(current, surface.id, action.id, patch));\n\t\t}\n\t\tasync function updateRule(rule) {\n\t\t\tawait featureStore.mutate((current) => updateRuleOnCapability(current, surface.id, action.id, rule));\n\t\t}\n\t\tasync function removeRule(id) {\n\t\t\tawait featureStore.mutate((current) => removeRuleFromCapability(current, surface.id, action.id, id));\n\t\t}\n\t\tasync function updateEffect(next) {\n\t\t\tawait featureStore.mutate((current) => updateAction(current, surface.id, action.id, { effects: action.effects.map((e) => e.id === next.id ? next : e) }));\n\t\t}\n\t\tasync function updateOnBlockedEffect(next) {\n\t\t\tconst current = action.onBlockedEffects ?? [];\n\t\t\tawait featureStore.mutate((feature) => updateAction(feature, surface.id, action.id, { onBlockedEffects: current.map((e) => e.id === next.id ? next : e) }));\n\t\t}\n\t\tasync function updateInvariant(next) {\n\t\t\tawait featureStore.mutate((current) => updateAction(current, surface.id, action.id, { invariants: action.invariants.map((i) => i.id === next.id ? next : i) }));\n\t\t}\n\t\tasync function removeInvariant(id) {\n\t\t\tawait featureStore.mutate((current) => removeInvariantFromCapability(current, surface.id, action.id, id));\n\t\t}\n\t\tconst featureId = derived(() => featureStore.feature?.id);\n\t\tconst isQueued = derived(() => featureId() ? projectContextStore.isActionQueued(featureId(), action.id) : false);\n\t\tconst proposal = derived(() => action.evolution);\n\t\tconst articleClass = derived(() => [\n\t\t\t\"group rounded-md border bg-white\",\n\t\t\tproposal() ? \"border-dashed\" : \"\",\n\t\t\texpanded ? \"border-brand-300 ring-1 ring-brand-200\" : proposal() ? \"border-violet-300 bg-violet-50/40\" : \"border-slate-200\"\n\t\t].filter(Boolean).join(\" \"));\n\t\t$$renderer.push(`<article${attr_class(clsx(articleClass()))}${attr(\"data-focus-target\", `action:${action.id}`)}><header class=\"flex items-center justify-between gap-2 px-3 py-2\"><button type=\"button\" class=\"flex flex-1 items-center gap-2 text-left\"><span class=\"text-xs text-slate-400\" aria-hidden=\"true\">${escape_html(expanded ? \"▾\" : \"▸\")}</span> <span${attr_class(`font-medium ${proposal() ? \"text-violet-900\" : \"text-slate-900\"}`)}>${escape_html(action.name)}</span> `);\n\t\tif (proposal()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"rounded-full border border-violet-300 bg-violet-100 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-violet-700\" title=\"Proposed improvement — not committed behavior yet\">Evolution${escape_html(proposal().category ? ` · ${proposal().category}` : \"\")}</span>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<span class=\"text-xs text-slate-500\">${escape_html(action.rules.length)} rule(s) · ${escape_html(action.effects.length)} effect(s)</span>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></button> <div class=\"flex items-center gap-0.5\">`);\n\t\tif (proposal()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"rounded px-1.5 text-xs font-medium text-violet-700 opacity-0 transition hover:bg-violet-100 group-hover:opacity-100\" aria-label=\"Accept this proposal as a committed action\" title=\"Accept: clear the proposal marker and make this a committed action\">✓ accept</button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (projectContextStore.isInProject && featureId()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(`rounded px-1.5 text-xs transition-opacity ${isQueued() ? \"text-brand-700 opacity-100\" : \"text-slate-400 opacity-0 hover:bg-slate-100 hover:text-slate-700 group-hover:opacity-100\"}`)}${attr(\"aria-label\", isQueued() ? \"Remove action from queue\" : \"Add action to implementation queue\")}${attr(\"title\", isQueued() ? \"In queue (click to remove)\" : \"Add to implementation queue\")}>${escape_html(isQueued() ? \"✓ queued\" : \"+ queue\")}</button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (onMoveUp !== void 0 || onMoveDown !== void 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"rounded px-1 text-xs text-slate-400 opacity-0 transition-opacity hover:bg-slate-100 hover:text-slate-700 group-hover:opacity-100 disabled:cursor-not-allowed disabled:opacity-0 group-hover:disabled:opacity-30\"${attr(\"disabled\", onMoveUp === void 0, true)} aria-label=\"Move action up\" title=\"Move up\">↑</button> <button type=\"button\" class=\"rounded px-1 text-xs text-slate-400 opacity-0 transition-opacity hover:bg-slate-100 hover:text-slate-700 group-hover:opacity-100 disabled:cursor-not-allowed disabled:opacity-0 group-hover:disabled:opacity-30\"${attr(\"disabled\", onMoveDown === void 0, true)} aria-label=\"Move action down\" title=\"Move down\">↓</button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <button type=\"button\" class=\"rounded px-1 text-xs text-slate-400 hover:text-red-600\" aria-label=\"Remove action\" title=\"Remove\">x</button></div></header> `);\n\t\tif (proposal()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"-mt-1 px-3 pb-2 text-xs leading-snug text-violet-700/90\"><span aria-hidden=\"true\">💡</span> ${escape_html(proposal().rationale)}${escape_html(proposal().source ? ` — ${proposal().source}` : \"\")}</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (expanded) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"space-y-4 border-t border-slate-200 p-3\"><div class=\"grid grid-cols-1 gap-2 sm:grid-cols-2\"><label class=\"block text-xs font-medium text-slate-600\">Name <input type=\"text\"${attr(\"value\", action.name)} class=\"mt-1 w-full rounded-md border border-slate-300 px-2 py-1 text-sm\"/></label> <label class=\"block text-xs font-medium text-slate-600\">Intent <input type=\"text\"${attr(\"value\", action.intent)} placeholder=\"What does this action do?\" class=\"mt-1 w-full rounded-md border border-slate-300 px-2 py-1 text-sm\"/></label></div> <section class=\"space-y-3 rounded-md border border-slate-200 bg-slate-50 p-3\"><div class=\"grid grid-cols-1 gap-3 sm:grid-cols-2\"><label class=\"flex items-start gap-2 rounded-md border border-slate-200 bg-white p-2 text-xs\"><input type=\"checkbox\" class=\"mt-0.5\"${attr(\"checked\", action.bypassInvariants === true, true)}/> <span><span class=\"font-semibold text-slate-800\">Bypass invariants</span> <span class=\"block text-[11px] text-slate-500\">Skip every invariant check when this action runs. Use ONLY for repair / admin\n actions that exist to fix a broken invariant (a regular action staying inside the\n invariants is safer).</span> `);\n\t\t\tif (action.bypassInvariants === true) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"mt-1 inline-block rounded bg-amber-100 px-1.5 py-0.5 text-[10px] font-semibold text-amber-800\">! Repair action, invariants OFF</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></span></label> <label class=\"block rounded-md border border-slate-200 bg-white p-2 text-xs\"><span class=\"font-semibold text-slate-800\">Triggered by event</span> <span class=\"block text-[11px] text-slate-500\">When another action emits this event anywhere in the project, this action runs\n automatically as a cascade. Leave empty for a normal user-triggered action.</span> `);\n\t\t\tif (availableEvents.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.select({\n\t\t\t\t\tclass: \"mt-1 w-full rounded-md border border-slate-300 px-2 py-1 text-xs\",\n\t\t\t\t\tvalue: action.triggeredByEvent ?? \"\",\n\t\t\t\t\tonchange: (e) => {\n\t\t\t\t\t\tconst v = e.target.value;\n\t\t\t\t\t\tpatchMeta({ triggeredByEvent: v.length > 0 ? asEventName(v) : void 0 });\n\t\t\t\t\t}\n\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t$$renderer.option({ value: \"\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`, Not a handler ,`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\tconst each_array = ensure_array_like(availableEvents);\n\t\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\tlet event = each_array[$$index];\n\t\t\t\t\t\t$$renderer.option({ value: event.name }, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`${escape_html(event.name)}`);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<input type=\"text\" class=\"mono mt-1 w-full rounded-md border border-slate-300 px-2 py-1 text-xs\"${attr(\"value\", action.triggeredByEvent ?? \"\")} placeholder=\"domain.event_name\"/>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (action.triggeredByEvent) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"mt-1 inline-block rounded bg-violet-100 px-1.5 py-0.5 text-[10px] font-semibold text-violet-800\">? Handler, fires on \"${escape_html(action.triggeredByEvent)}\"</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></label></div> <div class=\"grid grid-cols-1 gap-3 sm:grid-cols-2\"><div><h3 class=\"mb-1 text-[10px] font-semibold uppercase tracking-wide text-slate-500\">Required states (${escape_html(action.requiredStates.length)})</h3> <div class=\"flex items-start gap-2\">`);\n\t\t\tStatePathSelect($$renderer, {\n\t\t\t\tvalue: requiredStateDraft,\n\t\t\t\tavailablePaths: availablePaths(),\n\t\t\t\tonCommit: (raw) => requiredStateDraft = raw,\n\t\t\t\twidth: \"min-w-0 flex-1\"\n\t\t\t});\n\t\t\t$$renderer.push(`<!----> <button type=\"button\" class=\"rounded-md border border-slate-300 px-2 py-1 text-xs hover:bg-white disabled:opacity-50\"${attr(\"disabled\", !isStatePath(requiredStateDraft), true)}>Add</button></div> `);\n\t\t\tif (action.requiredStates.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"mt-2 flex flex-wrap gap-1\"><!--[-->`);\n\t\t\t\tconst each_array_1 = ensure_array_like(action.requiredStates);\n\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\tlet path = each_array_1[$$index_1];\n\t\t\t\t\t$$renderer.push(`<span class=\"inline-flex max-w-full items-center gap-1 rounded-md bg-white px-2 py-1 text-[11px] text-slate-700\"><span class=\"mono truncate\">${escape_html(path)}</span> <button type=\"button\" class=\"text-slate-400 hover:text-red-600\"${attr(\"aria-label\", `Remove required state ${path}`)}>x</button></span>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> <div><h3 class=\"mb-1 text-[10px] font-semibold uppercase tracking-wide text-slate-500\">Emitted events (${escape_html(action.emittedEvents.length)})</h3> <div class=\"flex items-center gap-2\">`);\n\t\t\tif (availableEvents.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.select({\n\t\t\t\t\tclass: \"min-w-0 flex-1 rounded-md border border-slate-300 px-2 py-1 text-xs\",\n\t\t\t\t\tvalue: emittedEventDraft\n\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t$$renderer.option({ value: \"\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`Pick an event`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\tconst each_array_2 = ensure_array_like(availableEvents);\n\t\t\t\t\tfor (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\t\t\tlet event = each_array_2[$$index_2];\n\t\t\t\t\t\t$$renderer.option({ value: event.name }, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`${escape_html(event.name)}`);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<input type=\"text\" class=\"mono min-w-0 flex-1 rounded-md border border-slate-300 px-2 py-1 text-xs\"${attr(\"value\", emittedEventDraft)} placeholder=\"audit.started\"/>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> <button type=\"button\" class=\"rounded-md border border-slate-300 px-2 py-1 text-xs hover:bg-white disabled:opacity-50\"${attr(\"disabled\", !isEventName(emittedEventDraft), true)}>Add</button></div> `);\n\t\t\tif (action.emittedEvents.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"mt-2 flex flex-wrap gap-1\"><!--[-->`);\n\t\t\t\tconst each_array_3 = ensure_array_like(action.emittedEvents);\n\t\t\t\tfor (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n\t\t\t\t\tlet event = each_array_3[$$index_3];\n\t\t\t\t\t$$renderer.push(`<span class=\"inline-flex max-w-full items-center gap-1 rounded-md bg-white px-2 py-1 text-[11px] text-slate-700\"><span class=\"mono truncate\">${escape_html(event)}</span> <button type=\"button\" class=\"text-slate-400 hover:text-red-600\"${attr(\"aria-label\", `Remove emitted event ${event}`)}>x</button></span>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div></div></section> <section data-tour=\"action-parameters-section\"><h3 class=\"mb-2 text-xs font-semibold uppercase tracking-wide text-slate-500\">Parameters</h3> `);\n\t\t\tParametersEditor($$renderer, {\n\t\t\t\tsurface,\n\t\t\t\taction,\n\t\t\t\tresources\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></section> <section><h3 class=\"mb-2 text-xs font-semibold uppercase tracking-wide text-slate-500\">Scenarios (${escape_html(action.scenarios?.length ?? 0)})</h3> `);\n\t\t\tScenariosEditor($$renderer, {\n\t\t\t\tsurface,\n\t\t\t\taction\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></section> <section data-tour=\"action-rules-section\"><h3 class=\"mb-2 flex items-center justify-between text-xs font-semibold uppercase tracking-wide text-slate-500\"><span>Rules (${escape_html(action.rules.length)})</span> <button type=\"button\" class=\"rounded-md border border-slate-300 px-2 py-0.5 text-xs hover:bg-slate-50\">+ Rule</button></h3> `);\n\t\t\tif (action.rules.length === 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-slate-300 p-3 text-center text-xs text-slate-500\">No rules yet.</p>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<div class=\"space-y-2\"><!--[-->`);\n\t\t\t\tconst each_array_4 = ensure_array_like(action.rules);\n\t\t\t\tfor (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {\n\t\t\t\t\tlet rule = each_array_4[$$index_4];\n\t\t\t\t\tRuleEditor($$renderer, {\n\t\t\t\t\t\trule,\n\t\t\t\t\t\tavailablePaths: availablePaths(),\n\t\t\t\t\t\tavailableParameters: action.parameters,\n\t\t\t\t\t\tonChange: (next) => updateRule(next),\n\t\t\t\t\t\tonRemove: () => removeRule(rule.id)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></section> <section data-tour=\"action-effects-section\"><h3 class=\"mb-2 flex items-center justify-between text-xs font-semibold uppercase tracking-wide text-slate-500\"><span>On success effects (${escape_html(action.effects.length)})</span> <button type=\"button\" class=\"rounded-md border border-slate-300 px-2 py-0.5 text-xs hover:bg-slate-50\">+ Effect</button></h3> <p class=\"mb-2 text-xs text-slate-500\">Applied when no rule blocks the action.</p> `);\n\t\t\tif (action.effects.length === 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-slate-300 p-3 text-center text-xs text-slate-500\">No on-success effects yet.</p>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<ul class=\"space-y-2\"><!--[-->`);\n\t\t\t\tconst each_array_5 = ensure_array_like(action.effects);\n\t\t\t\tfor (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {\n\t\t\t\t\tlet effect = each_array_5[$$index_5];\n\t\t\t\t\t$$renderer.push(`<li class=\"flex items-start gap-2 rounded-md border border-slate-200 bg-white p-3\"><div class=\"flex-1\">`);\n\t\t\t\t\tEffectEditor($$renderer, {\n\t\t\t\t\t\teffect,\n\t\t\t\t\t\tavailablePaths: availablePaths(),\n\t\t\t\t\t\tavailableSurfaces,\n\t\t\t\t\t\tonChange: (next) => updateEffect(next)\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----></div> <button type=\"button\" class=\"text-xs text-slate-400 hover:text-red-600\" aria-label=\"Remove effect\">?</button></li>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></section> <section><h3 class=\"mb-2 flex items-center justify-between text-xs font-semibold uppercase tracking-wide text-slate-500\"><span>On block effects (${escape_html(blockedEffects().length)})</span> <button type=\"button\" class=\"rounded-md border border-slate-300 px-2 py-0.5 text-xs hover:bg-slate-50\">+ Effect</button></h3> <p class=\"mb-2 text-xs text-slate-500\">Applied when at least one rule blocks the action. Useful for graceful redirects (e.g.\n \"? Sign in\") or audit events on every reject. State mutations stay suppressed; events,\n messages, and transitions still fire.</p> `);\n\t\t\tif (blockedEffects().length === 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-slate-300 p-3 text-center text-xs text-slate-500\">No on-block effects yet.</p>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<ul class=\"space-y-2\"><!--[-->`);\n\t\t\t\tconst each_array_6 = ensure_array_like(blockedEffects());\n\t\t\t\tfor (let $$index_6 = 0, $$length = each_array_6.length; $$index_6 < $$length; $$index_6++) {\n\t\t\t\t\tlet effect = each_array_6[$$index_6];\n\t\t\t\t\t$$renderer.push(`<li class=\"flex items-start gap-2 rounded-md border border-amber-200 bg-amber-50/50 p-3\"><div class=\"flex-1\">`);\n\t\t\t\t\tEffectEditor($$renderer, {\n\t\t\t\t\t\teffect,\n\t\t\t\t\t\tavailablePaths: availablePaths(),\n\t\t\t\t\t\tavailableSurfaces,\n\t\t\t\t\t\tonChange: (next) => updateOnBlockedEffect(next)\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----></div> <button type=\"button\" class=\"text-xs text-slate-400 hover:text-red-600\" aria-label=\"Remove on-block effect\">?</button></li>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></section> <section><h3 class=\"mb-2 flex items-center justify-between text-xs font-semibold uppercase tracking-wide text-slate-500\"><span>Invariants (${escape_html(action.invariants.length)})</span> <button type=\"button\" class=\"rounded-md border border-slate-300 px-2 py-0.5 text-xs hover:bg-slate-50\">+ Invariant</button></h3> `);\n\t\t\tif (action.invariants.length === 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-slate-300 p-3 text-center text-xs text-slate-500\">No invariants yet.</p>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<div class=\"space-y-2\"><!--[-->`);\n\t\t\t\tconst each_array_7 = ensure_array_like(action.invariants);\n\t\t\t\tfor (let $$index_7 = 0, $$length = each_array_7.length; $$index_7 < $$length; $$index_7++) {\n\t\t\t\t\tlet invariant = each_array_7[$$index_7];\n\t\t\t\t\tInvariantEditor($$renderer, {\n\t\t\t\t\t\tinvariant,\n\t\t\t\t\t\tavailablePaths: availablePaths(),\n\t\t\t\t\t\tonChange: (next) => updateInvariant(next),\n\t\t\t\t\t\tonRemove: () => removeInvariant(invariant.id)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></section></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></article>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/ActionsEditor.svelte\nfunction ActionsEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { surface, resources, availableSurfaces = [], availableEvents = [] } = $$props;\n\t\tlet nameDraft = \"\";\n\t\tconst tourGuard = derived(() => evaluateTourSubmitGuard(tourStore.currentStep, \"add-action\", nameDraft));\n\t\tasync function remove(action) {\n\t\t\tif (!confirm(\"Delete this action?\")) return;\n\t\t\tawait featureStore.mutate((current) => removeAction(current, surface.id, action.id));\n\t\t}\n\t\tasync function move(action, delta) {\n\t\t\tawait featureStore.mutate((current) => moveActionBy(current, surface.id, action.id, delta));\n\t\t}\n\t\tderived(() => {\n\t\t\treturn [];\n\t\t});\n\t\t$$renderer.push(`<div class=\"space-y-3\"><form class=\"flex items-center gap-2 rounded-lg border border-slate-200 bg-slate-50/60 p-2\" data-tour=\"add-action-form\"><input type=\"text\"${attr(\"value\", nameDraft)} placeholder=\"Name a new action (e.g. Delete selection)\" class=\"h-9 flex-1 rounded-md border border-slate-300 bg-white px-2.5 text-sm outline-none focus:border-slate-900 focus:ring-1 focus:ring-slate-900\"/> <button type=\"submit\" class=\"h-9 inline-flex items-center gap-1 rounded-md bg-slate-900 px-3 text-xs font-medium text-white transition hover:bg-slate-800 disabled:opacity-50\"${attr(\"disabled\", nameDraft.trim().length === 0 || tourGuard().blocked, true)}${attr(\"title\", tourGuard().blocked ? `Tutorial: name must be exactly \"${tourGuard().requiredValue}\"` : void 0)}><span class=\"text-base leading-none\">+</span> Add action</button></form> `);\n\t\tif (surface.actions.length > 1) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"flex items-center gap-2 text-xs text-slate-600\"><span class=\"text-slate-500\">Group by:</span> <div class=\"inline-flex rounded-md border border-slate-200 bg-white p-0.5\"><button type=\"button\"${attr_class(`rounded px-2 py-0.5 transition bg-slate-900 text-white`)}>None</button> <button type=\"button\"${attr_class(`rounded px-2 py-0.5 transition text-slate-600 hover:text-slate-900`)}>Rule category</button></div></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (surface.actions.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"rounded-lg border border-dashed border-slate-300 bg-slate-50/30 p-6 text-center\"><p class=\"text-sm font-medium text-slate-700\">No actions yet</p> <p class=\"mx-auto mt-1 max-w-sm text-xs text-slate-500\">An action is something the user or system can do on this surface. Add one above to get\n started, parameters, rules, and effects come next.</p></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"space-y-2\"><!--[-->`);\n\t\t\tconst each_array_2 = ensure_array_like(surface.actions);\n\t\t\tfor (let index = 0, $$length = each_array_2.length; index < $$length; index++) {\n\t\t\t\tlet action = each_array_2[index];\n\t\t\t\t$$renderer.push(`<li>`);\n\t\t\t\tActionEditor($$renderer, {\n\t\t\t\t\tsurface,\n\t\t\t\t\taction,\n\t\t\t\t\tresources,\n\t\t\t\t\tavailableSurfaces,\n\t\t\t\t\tavailableEvents,\n\t\t\t\t\texpanded: editorStore.selectedCapabilityId === action.id,\n\t\t\t\t\tonToggle: () => editorStore.selectCapability(editorStore.selectedCapabilityId === action.id ? null : action.id),\n\t\t\t\t\tonRemove: () => remove(action),\n\t\t\t\t\tonMoveUp: index > 0 ? () => move(action, -1) : void 0,\n\t\t\t\t\tonMoveDown: index < surface.actions.length - 1 ? () => move(action, 1) : void 0\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!----></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/SurfaceRulesEditor.svelte\nfunction SurfaceRulesEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { surface } = $$props;\n\t\tconst availablePaths = derived(() => surface.stateDefinitions.map((d) => d.path));\n\t\tasync function update(rule) {\n\t\t\tawait featureStore.mutate((current) => updateRuleOnSurface(current, surface.id, rule));\n\t\t}\n\t\tasync function remove(rule) {\n\t\t\tawait featureStore.mutate((current) => removeRuleFromSurface(current, surface.id, rule.id));\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-3\"><div class=\"flex justify-end\"><button type=\"button\" class=\"inline-flex items-center gap-1 rounded-md border border-slate-300 bg-white px-3 py-1.5 text-xs font-medium text-slate-700 transition hover:bg-slate-50\"><span class=\"text-base leading-none\">+</span> Add surface rule</button></div> `);\n\t\tif (surface.rules.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"rounded-lg border border-dashed border-slate-300 bg-slate-50/30 p-6 text-center\"><p class=\"text-sm font-medium text-slate-700\">No surface-level rules</p> <p class=\"mx-auto mt-1 max-w-sm text-xs text-slate-500\">Surface rules fire before every action on this surface. Use them for cross-cutting\n gates: signed-in check, role gate, kill-switch.</p></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"space-y-2\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(surface.rules);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet rule = each_array[$$index];\n\t\t\t\tRuleEditor($$renderer, {\n\t\t\t\t\trule,\n\t\t\t\t\tavailablePaths: availablePaths(),\n\t\t\t\t\tonChange: (next) => update(next),\n\t\t\t\t\tonRemove: () => remove(rule)\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/SurfaceInvariantsEditor.svelte\nfunction SurfaceInvariantsEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { surface } = $$props;\n\t\tconst availablePaths = derived(() => surface.stateDefinitions.map((d) => d.path));\n\t\tasync function update(invariant) {\n\t\t\tawait featureStore.mutate((current) => ({\n\t\t\t\t...current,\n\t\t\t\tsurfaces: current.surfaces.map((s) => s.id === surface.id ? {\n\t\t\t\t\t...s,\n\t\t\t\t\tinvariants: s.invariants.map((i) => i.id === invariant.id ? invariant : i)\n\t\t\t\t} : s)\n\t\t\t}));\n\t\t}\n\t\tasync function remove(invariant) {\n\t\t\tawait featureStore.mutate((current) => removeInvariantFromSurface(current, surface.id, invariant.id));\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-3\"><div class=\"flex justify-end\"><button type=\"button\" class=\"inline-flex items-center gap-1 rounded-md border border-slate-300 bg-white px-3 py-1.5 text-xs font-medium text-slate-700 transition hover:bg-slate-50\"><span class=\"text-base leading-none\">+</span> Add invariant</button></div> `);\n\t\tif (surface.invariants.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"rounded-lg border border-dashed border-slate-300 bg-slate-50/30 p-6 text-center\"><p class=\"text-sm font-medium text-slate-700\">No invariants on this surface</p> <p class=\"mx-auto mt-1 max-w-sm text-xs text-slate-500\">Invariants are properties that must hold after every action runs on this surface, like\n \"count is never negative\". Violations block the simulation.</p></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"space-y-2\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(surface.invariants);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet invariant = each_array[$$index];\n\t\t\t\tInvariantEditor($$renderer, {\n\t\t\t\t\tinvariant,\n\t\t\t\t\tavailablePaths: availablePaths(),\n\t\t\t\t\tonChange: (next) => update(next),\n\t\t\t\t\tonRemove: () => remove(invariant)\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/SurfaceMetaEditor.svelte\nfunction SurfaceMetaEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { surface } = $$props;\n\t\tconst featureId = derived(() => featureStore.feature?.id);\n\t\tconst isQueued = derived(() => featureId() ? projectContextStore.isSurfaceQueued(featureId(), surface.id) : false);\n\t\t$$renderer.push(`<div class=\"group border-b border-hairline px-4 pt-3 pb-4\">`);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<div class=\"space-y-2\"><div class=\"flex items-start justify-between gap-3\"><div class=\"flex flex-wrap items-center gap-2\"><h2 class=\"text-lg font-semibold leading-tight text-slate-950\">${escape_html(surface.name)}</h2> <span class=\"rounded-md bg-slate-100 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-slate-600\">${escape_html(surfaceTypeLabel(surface.type))}</span></div> <div class=\"flex shrink-0 items-center gap-1\">`);\n\t\tif (projectContextStore.isInProject && featureId()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(`rounded-md border border-transparent px-2 py-1 text-xs font-medium transition ${isQueued() ? \"text-brand-700 opacity-100 hover:bg-cyan-50 hover:text-brand-900\" : \"text-slate-500 opacity-0 hover:border-hairline hover:bg-cyan-50 hover:text-brand-800 group-hover:opacity-100 group-focus-within:opacity-100\"}`)}${attr(\"aria-label\", isQueued() ? \"Remove surface from queue\" : \"Add surface to implementation queue\")}${attr(\"title\", isQueued() ? \"In queue (click to remove)\" : \"Add surface to implementation queue\")}>${escape_html(isQueued() ? \"✓ queued\" : \"+ queue\")}</button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <button type=\"button\" aria-label=\"Edit surface metadata\" class=\"rounded-md border border-transparent px-2 py-1 text-xs font-medium text-slate-500 hover:border-hairline hover:bg-slate-50 hover:text-slate-950\">Edit</button></div></div> `);\n\t\tif (surface.description && surface.description.trim().length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"whitespace-pre-wrap text-sm leading-6 text-slate-600\">${escape_html(surface.description)}</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<p class=\"text-sm italic text-slate-400\">No description yet.</p>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/SurfaceResourcesView.svelte\nfunction SurfaceResourcesView($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { surface, resources } = $$props;\n\t\tconst usage = derived(() => {\n\t\t\tconst byResource = /* @__PURE__ */ new Map();\n\t\t\tfor (const cap of surface.actions) for (const param of cap.parameters) {\n\t\t\t\tif (!param.resourceId) continue;\n\t\t\t\tif (!byResource.has(param.resourceId)) byResource.set(param.resourceId, []);\n\t\t\t\tbyResource.get(param.resourceId).push({\n\t\t\t\t\tactionName: cap.name,\n\t\t\t\t\tparameterName: param.name\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst out = [];\n\t\t\tfor (const [resId, usedBy] of byResource) {\n\t\t\t\tconst resource = resources.find((r) => r.id === resId);\n\t\t\t\tif (resource) out.push({\n\t\t\t\t\tresource,\n\t\t\t\t\tusedBy\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn out;\n\t\t});\n\t\tfunction sensitivityColor(s) {\n\t\t\tswitch (s) {\n\t\t\t\tcase \"public\": return \"bg-emerald-50 text-emerald-700\";\n\t\t\t\tcase \"internal\": return \"bg-sky-50 text-sky-700\";\n\t\t\t\tcase \"confidential\": return \"bg-amber-50 text-amber-800\";\n\t\t\t\tcase \"restricted\": return \"bg-red-50 text-red-700\";\n\t\t\t}\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-3 text-sm\">`);\n\t\tif (usage().length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"rounded-lg border border-dashed border-slate-300 bg-slate-50/30 p-6 text-center\"><p class=\"text-sm font-medium text-slate-700\">No linked resources here</p> <p class=\"mx-auto mt-1 max-w-md text-xs text-slate-500\">No parameter on this surface points at a resource yet. Open an action, expand a\n parameter, and pick one in the <em>Linked resource</em> section. Manage the global\n catalogue under <strong>Resources</strong> in the top-level tabs.</p></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"space-y-2\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(usage());\n\t\t\tfor (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet entry = each_array[$$index_2];\n\t\t\t\t$$renderer.push(`<li class=\"rounded-md border border-slate-200 bg-white p-3 text-xs\"><header class=\"flex flex-wrap items-center gap-2\"><span class=\"font-medium text-slate-900\">${escape_html(entry.resource.name)}</span> <span${attr_class(`rounded-md px-1.5 py-0.5 text-[10px] font-medium ${stringify(sensitivityColor(entry.resource.sensitivity))}`)}>${escape_html(sensitivityLabel(entry.resource.sensitivity))}</span> `);\n\t\t\t\tif (entry.resource.containsPii) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-red-50 px-1.5 py-0.5 text-[10px] text-red-700\">PII</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></header> <div class=\"mt-0.5 flex flex-wrap gap-x-2 gap-y-0.5 text-[11px] text-slate-500\"><span>${escape_html(resourceKindLabel(entry.resource.kind))}</span> `);\n\t\t\t\tif (entry.resource.provider) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span>· ${escape_html(entry.resource.provider)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <span>· ${escape_html(resourceScopeLabel(entry.resource.scope))}</span> `);\n\t\t\t\tif (entry.resource.location) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span>· ${escape_html(entry.resource.location)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\t\tif (entry.resource.complianceTags.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"mt-1 flex flex-wrap gap-1\"><!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(entry.resource.complianceTags);\n\t\t\t\t\tfor (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\tlet tag = each_array_1[$$index];\n\t\t\t\t\t\t$$renderer.push(`<span class=\"mono rounded-md bg-slate-100 px-1.5 py-0.5 text-[10px] uppercase text-slate-600\">${escape_html(tag)}</span>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <div class=\"mt-2\"><p class=\"text-[10px] font-semibold uppercase tracking-wide text-slate-500\">Used on this surface by</p> <ul class=\"ml-3 list-disc text-[11px] text-slate-700\"><!--[-->`);\n\t\t\t\tconst each_array_2 = ensure_array_like(entry.usedBy);\n\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\tlet ref = each_array_2[$$index_1];\n\t\t\t\t\t$$renderer.push(`<li><span class=\"font-medium\">${escape_html(ref.actionName)}</span> · <span class=\"mono\">${escape_html(ref.parameterName)}</span></li>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></ul></div></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/SurfaceEntitiesView.svelte\nfunction SurfaceEntitiesView($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature, surface, resources } = $$props;\n\t\tconst effective = derived(() => getEffectiveEntities(feature));\n\t\tconst inUse = derived(() => {\n\t\t\tconst surfacePaths = new Set(surface.stateDefinitions.map((d) => String(d.path)));\n\t\t\treturn effective().map((e) => ({\n\t\t\t\tentry: e,\n\t\t\t\tfieldsUsed: e.fields.filter((f) => surfacePaths.has(String(f.path)))\n\t\t\t})).filter((x) => x.fieldsUsed.length > 0);\n\t\t});\n\t\tfunction findResource(resourceId) {\n\t\t\tif (!resourceId) return void 0;\n\t\t\treturn resources.find((r) => r.id === resourceId);\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-3 text-sm\">`);\n\t\tif (inUse().length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"rounded-lg border border-dashed border-slate-300 bg-slate-50/30 p-6 text-center\"><p class=\"text-sm font-medium text-slate-700\">No entities touched here</p> <p class=\"mx-auto mt-1 max-w-md text-xs text-slate-500\">Entities appear here when a state slot on this surface lives under their namespace.\n Define entities under the <strong>Entities</strong> tab at the top of the feature editor.</p></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"space-y-2\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(inUse());\n\t\t\tfor (let $$index_1 = 0, $$length = each_array.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\tlet item = each_array[$$index_1];\n\t\t\t\tconst resource = findResource(item.entry.resourceId);\n\t\t\t\t$$renderer.push(`<li class=\"rounded-md border border-slate-200 bg-white p-3 text-xs\"><header class=\"flex flex-wrap items-center gap-2\"><span class=\"font-medium text-slate-900\">${escape_html(item.entry.name)}</span> <span class=\"mono rounded-md bg-slate-100 px-1.5 py-0.5 text-[10px] text-slate-600\">${escape_html(item.entry.namespace)}</span> `);\n\t\t\t\tif (!item.entry.isMaterialized) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-slate-100 px-1.5 py-0.5 text-[10px] uppercase tracking-wide text-slate-500\" title=\"Auto-derived from state-path namespace\">Auto</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (resource) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-violet-50 px-1.5 py-0.5 text-[10px] text-violet-800\">${escape_html(resource.name)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></header> `);\n\t\t\t\tif (item.entry.description) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"mt-0.5 text-[11px] text-slate-500\">${escape_html(item.entry.description)}</p>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <div class=\"mt-2\"><p class=\"text-[10px] font-semibold uppercase tracking-wide text-slate-500\">Fields used on this surface</p> <ul class=\"ml-3 list-disc text-[11px] text-slate-700\"><!--[-->`);\n\t\t\t\tconst each_array_1 = ensure_array_like(item.fieldsUsed);\n\t\t\t\tfor (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {\n\t\t\t\t\tlet field = each_array_1[$$index];\n\t\t\t\t\t$$renderer.push(`<li>${escape_html(humanizeStatePath(field.path))} <span class=\"rounded-md bg-slate-100 px-1 text-[10px] text-slate-600\">${escape_html(field.type)}</span></li>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></ul></div></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/SurfacePersonasView.svelte\nfunction SurfacePersonasView($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { surface, personas } = $$props;\n\t\tconst relevant = derived(() => {\n\t\t\tconst surfacePaths = new Set(surface.stateDefinitions.map((d) => String(d.path)));\n\t\t\tconst surfaceParams = /* @__PURE__ */ new Map();\n\t\t\tfor (const cap of surface.actions) for (const param of cap.parameters) {\n\t\t\t\tconst list = surfaceParams.get(param.name) ?? [];\n\t\t\t\tlist.push(cap.name);\n\t\t\t\tsurfaceParams.set(param.name, list);\n\t\t\t}\n\t\t\tconst out = [];\n\t\t\tfor (const persona of personas) {\n\t\t\t\tconst stateMatches = persona.stateOverrides.filter((o) => surfacePaths.has(String(o.path))).map((o) => ({\n\t\t\t\t\tpath: String(o.path),\n\t\t\t\t\tvalue: o.value\n\t\t\t\t}));\n\t\t\t\tconst parameterMatches = persona.parameterOverrides.filter((o) => surfaceParams.has(o.parameterName)).flatMap((o) => (surfaceParams.get(o.parameterName) ?? []).map((capName) => ({\n\t\t\t\t\tparameterName: o.parameterName,\n\t\t\t\t\tvalue: o.value,\n\t\t\t\t\tactionName: capName\n\t\t\t\t})));\n\t\t\t\tif (stateMatches.length === 0 && parameterMatches.length === 0) continue;\n\t\t\t\tout.push({\n\t\t\t\t\tpersona,\n\t\t\t\t\tstateMatches,\n\t\t\t\t\tparameterMatches\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn out;\n\t\t});\n\t\tfunction formatValue(v) {\n\t\t\tif (v === null || v === void 0) return \"-\";\n\t\t\tif (typeof v === \"string\") return v.length === 0 ? \"\\\"\\\"\" : v;\n\t\t\treturn JSON.stringify(v);\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-3 text-sm\">`);\n\t\tif (personas.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"rounded-lg border border-dashed border-slate-300 bg-slate-50/30 p-6 text-center\"><p class=\"text-sm font-medium text-slate-700\">No personas defined yet</p> <p class=\"mx-auto mt-1 max-w-md text-xs text-slate-500\">Personas are simulator presets that override state and parameters for a specific user\n shape. Define them under the <strong>Personas</strong> rail on the right.</p></div>`);\n\t\t} else if (relevant().length === 0) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<div class=\"rounded-lg border border-dashed border-slate-300 bg-slate-50/30 p-6 text-center\"><p class=\"text-sm font-medium text-slate-700\">No relevant personas here</p> <p class=\"mx-auto mt-1 max-w-md text-xs text-slate-500\">None of the ${escape_html(personas.length)} defined persona${escape_html(personas.length === 1 ? \"\" : \"s\")} target\n state or parameters used on this surface. Personas appear here when their overrides\n touch a path or parameter declared above.</p></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"space-y-2\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(relevant());\n\t\t\tfor (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet entry = each_array[$$index_2];\n\t\t\t\t$$renderer.push(`<li class=\"rounded-md border border-slate-200 bg-white p-3 text-xs\"><header class=\"font-medium text-slate-900\">${escape_html(entry.persona.name)}</header> `);\n\t\t\t\tif (entry.persona.description) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"mt-0.5 text-[11px] text-slate-500\">${escape_html(entry.persona.description)}</p>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (entry.stateMatches.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"mt-2\"><p class=\"text-[10px] font-semibold uppercase tracking-wide text-slate-500\">Sets state on this surface</p> <ul class=\"ml-3 list-disc text-[11px] text-slate-700\"><!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(entry.stateMatches);\n\t\t\t\t\tfor (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\tlet match = each_array_1[$$index];\n\t\t\t\t\t\t$$renderer.push(`<li class=\"leading-snug\">${escape_html(humanizeStatePath(match.path))} <span class=\"text-slate-400\">→</span> <span class=\"mono text-slate-900\">${escape_html(formatValue(match.value))}</span></li>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (entry.parameterMatches.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"mt-2\"><p class=\"text-[10px] font-semibold uppercase tracking-wide text-slate-500\">Pre-fills parameters</p> <ul class=\"ml-3 list-disc text-[11px] text-slate-700\"><!--[-->`);\n\t\t\t\t\tconst each_array_2 = ensure_array_like(entry.parameterMatches);\n\t\t\t\t\tfor (let i = 0, $$length = each_array_2.length; i < $$length; i++) {\n\t\t\t\t\t\tlet match = each_array_2[i];\n\t\t\t\t\t\t$$renderer.push(`<li class=\"leading-snug\"><span class=\"mono\">${escape_html(match.parameterName)}</span> <span class=\"text-slate-400\">→</span> <span class=\"mono text-slate-900\">${escape_html(formatValue(match.value))}</span> <span class=\"text-slate-500\">on ${escape_html(match.actionName)}</span></li>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/SurfacePanel.svelte\nfunction SurfacePanel($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature, surface, resources, personas } = $$props;\n\t\tconst activeTab = derived(() => editorStore.surfacePanelTab);\n\t\tconst stateAwareSurface = derived(() => withSharedStateDefinitions(feature, surface));\n\t\tconst usedResourceCount = derived(() => {\n\t\t\tconst ids = /* @__PURE__ */ new Set();\n\t\t\tfor (const cap of surface.actions) for (const param of cap.parameters) if (param.resourceId) ids.add(param.resourceId);\n\t\t\treturn ids.size;\n\t\t});\n\t\tconst usedDataCount = derived(() => {\n\t\t\tconst surfacePaths = new Set(stateAwareSurface().stateDefinitions.map((d) => String(d.path)));\n\t\t\tif (surfacePaths.size === 0) return 0;\n\t\t\tconst effective = getEffectiveEntities(feature);\n\t\t\tlet count = 0;\n\t\t\tfor (const entry of effective) if (entry.fields.some((f) => surfacePaths.has(String(f.path)))) count += 1;\n\t\t\treturn count;\n\t\t});\n\t\tconst usedPersonaCount = derived(() => {\n\t\t\tconst surfacePaths = new Set(stateAwareSurface().stateDefinitions.map((d) => String(d.path)));\n\t\t\tconst surfaceParamNames = /* @__PURE__ */ new Set();\n\t\t\tfor (const cap of surface.actions) for (const p of cap.parameters) surfaceParamNames.add(p.name);\n\t\t\tlet count = 0;\n\t\t\tfor (const persona of personas) if (persona.stateOverrides.some((o) => surfacePaths.has(String(o.path))) || persona.parameterOverrides.some((o) => surfaceParamNames.has(o.parameterName))) count += 1;\n\t\t\treturn count;\n\t\t});\n\t\tconst tabs = derived(() => [\n\t\t\t{\n\t\t\t\tkey: \"actions\",\n\t\t\t\tlabel: \"Actions\",\n\t\t\t\tcount: surface.actions.length,\n\t\t\t\thint: \"User- or AI-triggerable actions on this surface, with parameters, rules, and effects.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"state\",\n\t\t\t\tlabel: \"State\",\n\t\t\t\tcount: surface.stateDefinitions.length,\n\t\t\t\thint: \"Typed state slots this surface reads or writes. Share with sibling surfaces below each row.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"rules\",\n\t\t\t\tlabel: \"Surface rules\",\n\t\t\t\tcount: surface.rules.length,\n\t\t\t\thint: \"Cross-cutting gates that fire before every action on this surface (auth, role, kill-switch).\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"invariants\",\n\t\t\t\tlabel: \"Invariants\",\n\t\t\t\tcount: surface.invariants.length,\n\t\t\t\thint: \"Conditions that must hold after every action on this surface. A violation blocks the run.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"data\",\n\t\t\t\tlabel: \"Entities\",\n\t\t\t\tcount: usedDataCount(),\n\t\t\t\thint: \"Entity namespaces touched on this surface (read or written by any state slot).\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"resources\",\n\t\t\t\tlabel: \"Resources\",\n\t\t\t\tcount: usedResourceCount(),\n\t\t\t\thint: \"External resources (DB, API, queue) referenced by parameters on this surface.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"personas\",\n\t\t\t\tlabel: \"Personas\",\n\t\t\t\tcount: usedPersonaCount(),\n\t\t\t\thint: \"Simulator presets whose state or parameter overrides target paths on this surface.\"\n\t\t\t}\n\t\t]);\n\t\tconst activeTabInfo = derived(() => tabs().find((t) => t.key === activeTab()));\n\t\t$$renderer.push(`<section class=\"rounded-lg border border-hairline bg-white\">`);\n\t\tSurfaceMetaEditor($$renderer, { surface });\n\t\t$$renderer.push(`<!----> <div class=\"border-b border-hairline bg-slate-50/60 px-3 pt-3 pb-2\"><div role=\"tablist\" class=\"flex flex-wrap gap-1 text-sm\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(tabs());\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet tab = each_array[$$index];\n\t\t\t$$renderer.push(`<button type=\"button\" role=\"tab\"${attr(\"aria-selected\", activeTab() === tab.key)}${attr_class(`group inline-flex items-center gap-1.5 rounded-md px-2.5 py-1 text-xs ${activeTab() === tab.key ? \"bg-white text-slate-950 font-medium shadow-sm ring-1 ring-slate-200\" : \"text-slate-600 hover:bg-slate-200/60 hover:text-slate-900\"}`)}><span>${escape_html(tab.label)}</span> <span${attr_class(`rounded-full px-1.5 py-0.5 text-[10px] font-semibold tabular-nums ${activeTab() === tab.key ? \"bg-slate-100 text-slate-700\" : tab.count > 0 ? \"bg-slate-200/80 text-slate-700 group-hover:bg-slate-300/80\" : \"bg-slate-100 text-slate-400\"}`)}>${escape_html(tab.count)}</span></button>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div> `);\n\t\tif (activeTabInfo()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"mt-2 text-[11px] leading-relaxed text-slate-500\">${escape_html(activeTabInfo().hint)}</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div> <div class=\"p-4\"${attr(\"data-focus-target\", `tab:${surface.id}:${activeTab()}`)}>`);\n\t\tif (activeTab() === \"actions\") {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tActionsEditor($$renderer, {\n\t\t\t\tsurface: stateAwareSurface(),\n\t\t\t\tresources,\n\t\t\t\tavailableSurfaces: feature.surfaces.map((s) => ({\n\t\t\t\t\tid: s.id,\n\t\t\t\t\tname: s.name\n\t\t\t\t})),\n\t\t\t\tavailableEvents: feature.events ?? []\n\t\t\t});\n\t\t} else if (activeTab() === \"state\") {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\tStateDefinitionsEditor($$renderer, {\n\t\t\t\tsurface,\n\t\t\t\tsurfaces: feature.surfaces\n\t\t\t});\n\t\t} else if (activeTab() === \"rules\") {\n\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\tSurfaceRulesEditor($$renderer, { surface: stateAwareSurface() });\n\t\t} else if (activeTab() === \"invariants\") {\n\t\t\t$$renderer.push(\"<!--[3-->\");\n\t\t\tSurfaceInvariantsEditor($$renderer, { surface: stateAwareSurface() });\n\t\t} else if (activeTab() === \"data\") {\n\t\t\t$$renderer.push(\"<!--[4-->\");\n\t\t\tSurfaceEntitiesView($$renderer, {\n\t\t\t\tfeature,\n\t\t\t\tsurface,\n\t\t\t\tresources\n\t\t\t});\n\t\t} else if (activeTab() === \"resources\") {\n\t\t\t$$renderer.push(\"<!--[5-->\");\n\t\t\tSurfaceResourcesView($$renderer, {\n\t\t\t\tsurface,\n\t\t\t\tresources\n\t\t\t});\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tSurfacePersonasView($$renderer, {\n\t\t\t\tsurface,\n\t\t\t\tpersonas\n\t\t\t});\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></section>`);\n\t});\n}\n//#endregion\n//#region src/features/simulator/presentation/stores/simulatorStore.svelte.ts\nvar SimulatorStore = class {\n\tsurfaceId = null;\n\tactionId = null;\n\tpersonaId = null;\n\tscenarioId = null;\n\tsnapshot = {};\n\tparameters = {};\n\tlastResult = null;\n\thistory = [];\n\t/** True while a synchronous simulation is mid-flight. Flips on/off inside run(). */\n\tisRunning = false;\n\t/** ISO timestamp of the last completed simulation run. */\n\tlastRunAt = null;\n\t/**\n\t* When true, switching surfaces preserves the current snapshot. Values\n\t* already in state survive the transition; only state paths the new surface\n\t* declares but the snapshot doesn't already hold get filled from defaults.\n\t* Lets the modeler test the feature as a real navigation flow rather\n\t* than each surface in isolation. Default off.\n\t*/\n\tpersistAcrossNavigation = false;\n\t/**\n\t* Reset every simulator state to the surface's defaults. By default this\n\t* also clears the active persona. Pass `{ keepPersona: true }` when the\n\t* caller will re-apply a persistent persona on top.\n\t*/\n\tresetTo(surface, options = {}) {\n\t\tthis.surfaceId = surface.id;\n\t\tthis.snapshot = buildInitialSnapshot(surface.stateDefinitions);\n\t\tthis.parameters = {};\n\t\tif (!options.keepPersona) this.personaId = null;\n\t\tthis.lastResult = null;\n\t\tthis.history = [];\n\t}\n\t/**\n\t* Called every time the simulator is shown for a surface.\n\t*\n\t* Two modes:\n\t*\n\t* • Default (\"isolated\"): the snapshot resets to the new surface's defaults\n\t* and any sticky persona is re-applied. Each surface is tested fresh.\n\t*\n\t* • `persistAcrossNavigation` toggle on (\"real-flow\"): the existing snapshot\n\t* carries over. Only state paths the new surface declares which the\n\t* snapshot does not already hold get filled from defaults. Lets the\n\t* modeler walk the feature as a real navigation flow. Auth state,\n\t* cart contents, consent choices etc. survive transitions.\n\t*/\n\tensureSnapshotForSurface(surface, feature) {\n\t\tif (this.surfaceId === surface.id) return;\n\t\tif (this.persistAcrossNavigation) {\n\t\t\tthis.surfaceId = surface.id;\n\t\t\tlet next = this.snapshot;\n\t\t\tfor (const def of surface.stateDefinitions) if (readPath(next, def.path) === void 0) next = writePath(next, def.path, def.defaultValue);\n\t\t\tthis.snapshot = next;\n\t\t\treturn;\n\t\t}\n\t\tconst persistent = this.personaId !== null ? feature.personas.find((p) => p.id === this.personaId && p.persistAcrossSurfaces === true) : void 0;\n\t\tif (persistent) {\n\t\t\tthis.resetTo(surface, { keepPersona: true });\n\t\t\tthis.snapshot = applyPersonaToSnapshot(persistent, this.snapshot);\n\t\t} else this.resetTo(surface);\n\t}\n\tsetPersistAcrossNavigation(value) {\n\t\tthis.persistAcrossNavigation = value;\n\t}\n\tsetStatePath(path, value) {\n\t\tthis.snapshot = writePath(this.snapshot, path, value);\n\t}\n\t/**\n\t* Update a parameter's runtime value. When the parameter is bound to a\n\t* state path, also write the value into the snapshot in real time so the\n\t* Current state inspector mirrors what would happen if the action ran\n\t* right now. The user sees the binding flow live as they type.\n\t*/\n\tsetParameter(name, value, bindToStatePath) {\n\t\tthis.parameters = {\n\t\t\t...this.parameters,\n\t\t\t[name]: value\n\t\t};\n\t\tif (bindToStatePath) this.snapshot = writePath(this.snapshot, bindToStatePath, value);\n\t}\n\t/**\n\t* Switch to a different action while keeping the active \"Test as\"\n\t* persona alive. The persona's parameter overrides are re-fanned out to the\n\t* new action (matched by parameter name) and bound parameters are\n\t* propagated into the snapshot so the state inspector reflects the change\n\t* the same way live typing would.\n\t*\n\t* Pass the new action + feature for the persona re-fill to work; if\n\t* omitted, the call still updates `actionId` but leaves parameters\n\t* empty (legacy behavior, used internally by tests).\n\t*/\n\tselectCapability(id, context) {\n\t\tthis.actionId = id;\n\t\tthis.scenarioId = null;\n\t\tthis.parameters = {};\n\t\tif (id) emit(\"sim.action.selected\", { actionId: String(id) });\n\t\tif (!context || this.personaId === null) return;\n\t\tconst persona = context.feature.personas.find((p) => p.id === this.personaId);\n\t\tif (!persona) return;\n\t\tthis.parameters = applyPersonaToParameters(persona, context.action, {});\n\t\tfor (const param of context.action.parameters) {\n\t\t\tif (!param.bindToStatePath) continue;\n\t\t\tconst value = this.parameters[param.name];\n\t\t\tif (value === void 0) continue;\n\t\t\tthis.snapshot = writePath(this.snapshot, param.bindToStatePath, value);\n\t\t}\n\t}\n\t/**\n\t* Layer an action scenario over the current persona's snapshot. Persona\n\t* applies first (the user identity baseline), then the scenario adds the\n\t* action-specific state. Pass `null` to clear back to bare persona.\n\t*\n\t* Mirrors the same layering the simulator engine would see at run time, so\n\t* the live state inspector matches what `simulate()` will receive.\n\t*/\n\tapplyScenario(scenario, feature, action, surface) {\n\t\tthis.snapshot = buildInitialSnapshot(surface.stateDefinitions);\n\t\tthis.parameters = {};\n\t\tthis.scenarioId = scenario ? scenario.id : null;\n\t\tif (scenario) emit(\"sim.scenario.selected\", { scenarioId: String(scenario.id) });\n\t\tconst persona = this.personaId !== null ? feature.personas.find((p) => p.id === this.personaId) ?? null : null;\n\t\tif (persona) {\n\t\t\tthis.snapshot = applyPersonaToSnapshot(persona, this.snapshot);\n\t\t\tthis.parameters = applyPersonaToParameters(persona, action, {});\n\t\t}\n\t\tif (scenario) {\n\t\t\tthis.snapshot = applyScenarioToSnapshot(scenario, this.snapshot);\n\t\t\tthis.parameters = applyScenarioToParameters(scenario, action, this.parameters);\n\t\t}\n\t\tfor (const param of action.parameters) {\n\t\t\tif (!param.bindToStatePath) continue;\n\t\t\tconst value = this.parameters[param.name];\n\t\t\tif (value === void 0) continue;\n\t\t\tthis.snapshot = writePath(this.snapshot, param.bindToStatePath, value);\n\t\t}\n\t}\n\t/**\n\t* Apply a persona. Or clear back to a fresh manual setup. Either way the\n\t* snapshot starts from the surface's defaults so a previous persona's\n\t* overrides never linger. Bound parameters also propagate into the snapshot\n\t* so the Current state inspector reflects them immediately, matching the\n\t* live-typing behavior.\n\t*/\n\tapplyPersona(persona, action, surface) {\n\t\tthis.snapshot = buildInitialSnapshot(surface.stateDefinitions);\n\t\tthis.parameters = {};\n\t\tthis.personaId = persona ? persona.id : null;\n\t\tthis.scenarioId = null;\n\t\tif (persona) emit(\"sim.persona.selected\", { personaId: String(persona.id) });\n\t\tif (!persona) return;\n\t\tthis.snapshot = applyPersonaToSnapshot(persona, this.snapshot);\n\t\tif (action) {\n\t\t\tthis.parameters = applyPersonaToParameters(persona, action, {});\n\t\t\tfor (const param of action.parameters) {\n\t\t\t\tif (!param.bindToStatePath) continue;\n\t\t\t\tconst value = this.parameters[param.name];\n\t\t\t\tif (value === void 0) continue;\n\t\t\t\tthis.snapshot = writePath(this.snapshot, param.bindToStatePath, value);\n\t\t\t}\n\t\t}\n\t}\n\tclearHistory() {\n\t\tthis.history = [];\n\t}\n\trun(surface, action) {\n\t\tthis.isRunning = true;\n\t\ttry {\n\t\t\tconst result = simulate({\n\t\t\t\tsurface,\n\t\t\t\taction,\n\t\t\t\tsnapshot: this.snapshot,\n\t\t\t\tparameters: this.parameters\n\t\t\t});\n\t\t\tthis.lastResult = result;\n\t\t\tif (result.status === \"success\") this.snapshot = result.nextState;\n\t\t\tthis.history = [result, ...this.history].slice(0, 10);\n\t\t\tthis.lastRunAt = (/* @__PURE__ */ new Date()).toISOString();\n\t\t\temit(\"action.simulated\", {\n\t\t\t\tactionId: String(action.id),\n\t\t\t\tstatus: result.status\n\t\t\t});\n\t\t\treturn result;\n\t\t} finally {\n\t\t\tthis.isRunning = false;\n\t\t}\n\t}\n};\nvar simulatorStore = new SimulatorStore();\n//#endregion\n//#region src/features/simulator/presentation/components/StateInspector.svelte\nfunction StateInspector($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { surface } = $$props;\n\t\tfunction coerce(raw, type) {\n\t\t\tif (type === \"boolean\") return raw === \"true\";\n\t\t\tif (type === \"number\") {\n\t\t\t\tconst n = Number(raw);\n\t\t\t\treturn Number.isFinite(n) ? n : 0;\n\t\t\t}\n\t\t\treturn raw;\n\t\t}\n\t\tfunction update(path, raw, type) {\n\t\t\tsimulatorStore.setStatePath(path, coerce(raw, type));\n\t\t}\n\t\tif (surface.stateDefinitions.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-neutral-200 bg-neutral-50/50 p-2 text-center text-[11px] italic text-neutral-500\">No state on this surface.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"divide-y divide-neutral-100 rounded-md border border-neutral-200\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(surface.stateDefinitions);\n\t\t\tfor (let index = 0, $$length = each_array.length; index < $$length; index++) {\n\t\t\t\tlet def = each_array[index];\n\t\t\t\tconst value = readPath(simulatorStore.snapshot, def.path);\n\t\t\t\tconst canMoveUp = index > 0;\n\t\t\t\tconst canMoveDown = index < surface.stateDefinitions.length - 1;\n\t\t\t\t$$renderer.push(`<li class=\"group flex items-center gap-1.5 px-2 py-1\"${attr(\"title\", def.path)}><div class=\"min-w-0 flex-1 truncate text-[11px] text-neutral-800\">${escape_html(humanizeStatePath(def.path))}</div> `);\n\t\t\t\tif (def.type === \"boolean\") {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.select({\n\t\t\t\t\t\tclass: \"w-20 shrink-0 rounded border border-neutral-300 bg-white px-1.5 py-0.5 text-[11px] focus:border-brand-500 focus:outline-none\",\n\t\t\t\t\t\tvalue: String(value ?? false),\n\t\t\t\t\t\tonchange: (e) => update(def.path, e.target.value, def.type)\n\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.option({ value: \"false\" }, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`No`);\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.option({ value: \"true\" }, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`Yes`);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t} else if (def.type === \"enum\" && def.enumValues) {\n\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t$$renderer.select({\n\t\t\t\t\t\tclass: \"w-28 shrink-0 rounded border border-neutral-300 bg-white px-1.5 py-0.5 text-[11px] focus:border-brand-500 focus:outline-none\",\n\t\t\t\t\t\tvalue: String(value ?? \"\"),\n\t\t\t\t\t\tonchange: (e) => update(def.path, e.target.value, def.type)\n\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\t\tconst each_array_1 = ensure_array_like(def.enumValues);\n\t\t\t\t\t\tfor (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\t\tlet v = each_array_1[$$index];\n\t\t\t\t\t\t\t$$renderer.option({ value: v }, ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`${escape_html(v)}`);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<input${attr(\"type\", def.type === \"number\" ? \"number\" : \"text\")} class=\"w-28 shrink-0 rounded border border-neutral-300 bg-white px-1.5 py-0.5 text-[11px] focus:border-brand-500 focus:outline-none\"${attr(\"value\", value === void 0 || value === null ? \"\" : String(value))}/>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--> <div class=\"flex shrink-0 items-center opacity-0 transition-opacity group-hover:opacity-100\"><button type=\"button\" class=\"rounded px-0.5 text-[10px] text-neutral-400 hover:bg-neutral-200 hover:text-neutral-700 disabled:cursor-not-allowed disabled:opacity-30\"${attr(\"disabled\", !canMoveUp, true)} aria-label=\"Move up\" title=\"Move up\">▲</button> <button type=\"button\" class=\"rounded px-0.5 text-[10px] text-neutral-400 hover:bg-neutral-200 hover:text-neutral-700 disabled:cursor-not-allowed disabled:opacity-30\"${attr(\"disabled\", !canMoveDown, true)} aria-label=\"Move down\" title=\"Move down\">▼</button></div></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/features/simulator/presentation/components/ParameterInputs.svelte\nfunction ParameterInputs($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { surfaceId, action } = $$props;\n\t\tfunction readGeo(value) {\n\t\t\tif (value && typeof value === \"object\" && !Array.isArray(value)) {\n\t\t\t\tconst v = value;\n\t\t\t\treturn {\n\t\t\t\t\tlat: typeof v.lat === \"number\" ? String(v.lat) : \"\",\n\t\t\t\t\tlng: typeof v.lng === \"number\" ? String(v.lng) : \"\"\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tlat: \"\",\n\t\t\t\tlng: \"\"\n\t\t\t};\n\t\t}\n\t\tfunction htmlInputType(type) {\n\t\t\tswitch (type) {\n\t\t\t\tcase \"number\": return \"number\";\n\t\t\t\tcase \"date\": return \"date\";\n\t\t\t\tcase \"time\": return \"time\";\n\t\t\t\tcase \"timestamp\": return \"datetime-local\";\n\t\t\t\tcase \"url\": return \"url\";\n\t\t\t\tcase \"email\": return \"email\";\n\t\t\t\tdefault: return \"text\";\n\t\t\t}\n\t\t}\n\t\tfunction jsonString(value) {\n\t\t\tif (value === void 0 || value === null) return \"\";\n\t\t\ttry {\n\t\t\t\treturn JSON.stringify(value, null, 2);\n\t\t\t} catch {\n\t\t\t\treturn \"\";\n\t\t\t}\n\t\t}\n\t\t$$renderer.push(`<ul class=\"space-y-1.5\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(action.parameters);\n\t\tfor (let index = 0, $$length = each_array.length; index < $$length; index++) {\n\t\t\tlet parameter = each_array[index];\n\t\t\tconst canMoveUp = index > 0;\n\t\t\tconst canMoveDown = index < action.parameters.length - 1;\n\t\t\t$$renderer.push(`<li class=\"group\"${attr(\"data-tour-sim-param\", parameter.name)}><div class=\"mb-0.5 flex items-baseline justify-between gap-2\"><label class=\"flex items-baseline gap-1.5 text-[11px] font-medium text-neutral-700\"${attr(\"for\", `param-${stringify(parameter.id)}`)}><span>${escape_html(parameter.name)}</span> `);\n\t\t\tif (parameter.required) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"text-red-500\" title=\"Required\">*</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <span class=\"rounded-full bg-neutral-100 px-1 py-0 text-[9px] font-medium uppercase tracking-wide text-neutral-600\">${escape_html(parameter.type)}</span> `);\n\t\t\tif (parameter.bindToStatePath) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"rounded-full bg-emerald-50 px-1 py-0 text-[9px] font-medium uppercase tracking-wide text-emerald-700\"${attr(\"title\", `Bound to ${stringify(parameter.bindToStatePath)}`)}>bound</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></label> <div class=\"flex shrink-0 items-center opacity-0 transition-opacity group-hover:opacity-100\"><button type=\"button\" class=\"rounded px-1 text-[10px] text-neutral-400 hover:bg-neutral-200 hover:text-neutral-700 disabled:cursor-not-allowed disabled:opacity-30\"${attr(\"disabled\", !canMoveUp, true)}${attr(\"aria-label\", `Move ${parameter.name} up`)} title=\"Move up\">▲</button> <button type=\"button\" class=\"rounded px-1 text-[10px] text-neutral-400 hover:bg-neutral-200 hover:text-neutral-700 disabled:cursor-not-allowed disabled:opacity-30\"${attr(\"disabled\", !canMoveDown, true)}${attr(\"aria-label\", `Move ${parameter.name} down`)} title=\"Move down\">▼</button></div></div> `);\n\t\t\tif (parameter.type === \"boolean\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<select${attr(\"id\", `param-${stringify(parameter.id)}`)} class=\"w-full rounded-md border border-neutral-300 bg-white px-2 py-1 text-xs focus:border-brand-500 focus:outline-none focus:ring-1 focus:ring-brand-100\">`);\n\t\t\t\t$$renderer.option({\n\t\t\t\t\tvalue: \"false\",\n\t\t\t\t\tselected: String(simulatorStore.parameters[parameter.name] ?? false) !== \"true\"\n\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`No`);\n\t\t\t\t});\n\t\t\t\t$$renderer.option({\n\t\t\t\t\tvalue: \"true\",\n\t\t\t\t\tselected: String(simulatorStore.parameters[parameter.name] ?? false) === \"true\"\n\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`Yes`);\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`</select>`);\n\t\t\t} else if (parameter.type === \"enum\" && parameter.enumValues) {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t$$renderer.push(`<select${attr(\"id\", `param-${stringify(parameter.id)}`)} class=\"w-full rounded-md border border-neutral-300 bg-white px-2 py-1 text-xs focus:border-brand-500 focus:outline-none focus:ring-1 focus:ring-brand-100\">`);\n\t\t\t\t$$renderer.option({\n\t\t\t\t\tvalue: \"\",\n\t\t\t\t\tselected: !simulatorStore.parameters[parameter.name]\n\t\t\t\t}, ($$renderer) => {});\n\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\tconst each_array_1 = ensure_array_like(parameter.enumValues);\n\t\t\t\tfor (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {\n\t\t\t\t\tlet v = each_array_1[$$index];\n\t\t\t\t\t$$renderer.option({\n\t\t\t\t\t\tvalue: v,\n\t\t\t\t\t\tselected: v === String(simulatorStore.parameters[parameter.name] ?? \"\")\n\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`${escape_html(v)}`);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></select>`);\n\t\t\t} else if (parameter.type === \"object\" || parameter.type === \"array\") {\n\t\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t\t$$renderer.push(`<textarea${attr(\"id\", `param-${stringify(parameter.id)}`)} rows=\"3\"${attr(\"placeholder\", parameter.description ?? (parameter.type === \"array\" ? \"[ ... ]\" : \"{ ... }\"))} class=\"w-full rounded-md border border-neutral-300 bg-white px-2 py-1 font-mono text-[11px] focus:border-brand-500 focus:outline-none focus:ring-1 focus:ring-brand-100\">`);\n\t\t\t\tconst $$body = escape_html(jsonString(simulatorStore.parameters[parameter.name]));\n\t\t\t\tif ($$body) $$renderer.push(`${$$body}`);\n\t\t\t\t$$renderer.push(`</textarea>`);\n\t\t\t} else if (parameter.type === \"geolocation\") {\n\t\t\t\t$$renderer.push(\"<!--[3-->\");\n\t\t\t\tconst geo = readGeo(simulatorStore.parameters[parameter.name]);\n\t\t\t\t$$renderer.push(`<div class=\"flex gap-1\"><input${attr(\"id\", `param-${stringify(parameter.id)}-lat`)} type=\"number\" step=\"any\" placeholder=\"lat\" class=\"w-1/2 rounded-md border border-neutral-300 bg-white px-2 py-1 text-xs focus:border-brand-500 focus:outline-none focus:ring-1 focus:ring-brand-100\"${attr(\"value\", geo.lat)}/> <input${attr(\"id\", `param-${stringify(parameter.id)}-lng`)} type=\"number\" step=\"any\" placeholder=\"lng\" class=\"w-1/2 rounded-md border border-neutral-300 bg-white px-2 py-1 text-xs focus:border-brand-500 focus:outline-none focus:ring-1 focus:ring-brand-100\"${attr(\"value\", geo.lng)}/></div>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<input${attr(\"id\", `param-${stringify(parameter.id)}`)}${attr(\"type\", htmlInputType(parameter.type))}${attr(\"placeholder\", parameter.description ?? `Enter ${parameter.name}`)} class=\"w-full rounded-md border border-neutral-300 bg-white px-2 py-1 text-xs focus:border-brand-500 focus:outline-none focus:ring-1 focus:ring-brand-100\"${attr(\"value\", String(simulatorStore.parameters[parameter.name] ?? \"\"))}/>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></ul>`);\n\t});\n}\n//#endregion\n//#region src/features/simulator/presentation/components/PersonaPicker.svelte\nfunction PersonaPicker($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature, surface, action } = $$props;\n\t\tconst activePersona = derived(() => feature.personas.find((p) => p.id === simulatorStore.personaId) ?? null);\n\t\t$$renderer.push(`<div class=\"space-y-0.5\"><label class=\"text-[11px] font-medium text-neutral-700\" for=\"persona-select\">Test as</label> <select id=\"persona-select\" class=\"w-full rounded-md border border-neutral-300 bg-white px-2 py-1 text-xs focus:border-brand-500 focus:outline-none focus:ring-1 focus:ring-brand-100\"${attr(\"disabled\", feature.personas.length === 0, true)}>`);\n\t\tif (feature.personas.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.option({\n\t\t\t\tvalue: \"\",\n\t\t\t\tselected: true\n\t\t\t}, ($$renderer) => {\n\t\t\t\t$$renderer.push(`No personas defined`);\n\t\t\t});\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.option({\n\t\t\t\tvalue: \"\",\n\t\t\t\tselected: !simulatorStore.personaId\n\t\t\t}, ($$renderer) => {\n\t\t\t\t$$renderer.push(`- Manual setup -`);\n\t\t\t});\n\t\t\t$$renderer.push(` <!--[-->`);\n\t\t\tconst each_array = ensure_array_like(feature.personas);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet persona = each_array[$$index];\n\t\t\t\t$$renderer.option({\n\t\t\t\t\tvalue: persona.id,\n\t\t\t\t\tselected: persona.id === simulatorStore.personaId\n\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(persona.name)}${escape_html(persona.persistAcrossSurfaces ? \" · sticky\" : \"\")}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></select> `);\n\t\tif (activePersona()?.persistAcrossSurfaces) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"text-[10px] font-medium text-emerald-700\">Sticky across surfaces.</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/simulator/presentation/components/ScenarioPicker.svelte\nfunction ScenarioPicker($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature, surface, action } = $$props;\n\t\tconst scenarios = derived(() => action.scenarios ?? []);\n\t\tderived(() => scenarios().find((s) => s.id === simulatorStore.scenarioId) ?? null);\n\t\tif (scenarios().length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"space-y-0.5\"><label class=\"text-[11px] font-medium text-neutral-700\" for=\"scenario-select\">Scenario</label> <select id=\"scenario-select\" class=\"w-full rounded-md border border-neutral-300 bg-white px-2 py-1 text-xs focus:border-brand-500 focus:outline-none focus:ring-1 focus:ring-brand-100\">`);\n\t\t\t$$renderer.option({\n\t\t\t\tvalue: \"\",\n\t\t\t\tselected: !simulatorStore.scenarioId\n\t\t\t}, ($$renderer) => {\n\t\t\t\t$$renderer.push(`- No scenario -`);\n\t\t\t});\n\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\tconst each_array = ensure_array_like(scenarios());\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet scenario = each_array[$$index];\n\t\t\t\t$$renderer.option({\n\t\t\t\t\tvalue: scenario.id,\n\t\t\t\t\tselected: scenario.id === simulatorStore.scenarioId\n\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(scenario.name)}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></select></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/features/simulator/presentation/components/SimulationResultView.svelte\nfunction SimulationResultView($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature, result, surface } = $$props;\n\t\tconst transitionTarget = derived(() => result.transition ? feature.surfaces.find((s) => s.id === result.transition) ?? null : null);\n\t\tconst stateDiff = derived(() => {\n\t\t\tconst rows = [];\n\t\t\tfor (const def of surface.stateDefinitions) {\n\t\t\t\tconst before = readPath(result.previousState, def.path);\n\t\t\t\tconst after = readPath(result.nextState, def.path);\n\t\t\t\tif (JSON.stringify(before) === JSON.stringify(after)) continue;\n\t\t\t\trows.push({\n\t\t\t\t\tlabel: humanizeStatePath(def.path),\n\t\t\t\t\tpath: def.path,\n\t\t\t\t\tbefore,\n\t\t\t\t\tafter\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn rows;\n\t\t});\n\t\tconst formatDisplay = (v) => {\n\t\t\tif (v === void 0) return \"-\";\n\t\t\tif (typeof v === \"string\") return v.length === 0 ? \"\\\"\\\"\" : v;\n\t\t\treturn JSON.stringify(v);\n\t\t};\n\t\tconst ruleDescriptors = derived(() => {\n\t\t\tconst map = /* @__PURE__ */ new Map();\n\t\t\tconst formatValue = (v) => v === void 0 ? \"\" : typeof v === \"string\" ? `\"${v}\"` : JSON.stringify(v);\n\t\t\tconst describe = (origin, owner, rule) => {\n\t\t\t\tlet condition = \"(unconditional)\";\n\t\t\t\tconst c = rule.condition;\n\t\t\t\tif (c && typeof c === \"object\") {\n\t\t\t\t\tif (\"kind\" in c && (c.kind === \"all\" || c.kind === \"any\" || c.kind === \"not\")) condition = `(${c.kind} condition)`;\n\t\t\t\t\telse if (\"left\" in c) {\n\t\t\t\t\t\tconst right = formatValue(c.right);\n\t\t\t\t\t\tcondition = `${humanizeStatePath(c.left)} ${operatorLabel(c.operator)}${right ? ` ${right}` : \"\"}`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttitle: rule.description ?? `${owner} · ${rule.category}`,\n\t\t\t\t\tcondition: `[${origin}] ${condition}`\n\t\t\t\t};\n\t\t\t};\n\t\t\tfor (const r of surface.rules) map.set(r.id, describe(\"surface\", surface.name, r));\n\t\t\tfor (const c of surface.actions) for (const r of c.rules) map.set(r.id, describe(\"action\", c.name, r));\n\t\t\treturn map;\n\t\t});\n\t\tconst statusChipClasses = derived(() => result.status === \"success\" ? \"bg-emerald-100 text-emerald-800\" : \"bg-amber-100 text-amber-800\");\n\t\tconst severityRank = {\n\t\t\tok: 0,\n\t\t\tsuccess: 1,\n\t\t\tinfo: 2,\n\t\t\twarning: 3,\n\t\t\terror: 4\n\t\t};\n\t\tconst outcomeSeverity = derived(() => {\n\t\t\tlet worst = \"ok\";\n\t\t\tfor (const m of result.messages) {\n\t\t\t\tconst t = m.tone ?? \"info\";\n\t\t\t\tif (severityRank[t] > severityRank[worst]) worst = t;\n\t\t\t}\n\t\t\tif (result.invariantViolations.length > 0 && severityRank.error > severityRank[worst]) worst = \"error\";\n\t\t\treturn worst;\n\t\t});\n\t\tconst outcomeChipClasses = derived(() => outcomeSeverity() === \"error\" ? \"bg-red-100 text-red-800\" : outcomeSeverity() === \"warning\" ? \"bg-amber-100 text-amber-800\" : outcomeSeverity() === \"info\" ? \"bg-sky-100 text-sky-800\" : outcomeSeverity() === \"success\" ? \"bg-emerald-100 text-emerald-800\" : \"bg-neutral-100 text-neutral-700\");\n\t\tconst zone = derived(() => {\n\t\t\tconst s = result.status;\n\t\t\tconst o = outcomeSeverity();\n\t\t\tif (s === \"success\" && (o === \"ok\" || o === \"success\" || o === \"info\")) return \"good\";\n\t\t\tif (s === \"blocked\" && (o === \"ok\" || o === \"warning\" || o === \"error\")) return \"warn\";\n\t\t\treturn \"mixed\";\n\t\t});\n\t\tconst blockClasses = derived(() => zone() === \"good\" ? \"border-emerald-200 bg-emerald-50\" : zone() === \"warn\" ? \"border-amber-200 bg-amber-50\" : \"border-neutral-200 bg-white\");\n\t\tconst messageClasses = (tone) => {\n\t\t\tswitch (tone) {\n\t\t\t\tcase \"error\": return \"bg-red-50 border-red-200 text-red-900\";\n\t\t\t\tcase \"warning\": return \"bg-amber-50 border-amber-200 text-amber-900\";\n\t\t\t\tcase \"success\": return \"bg-emerald-50 border-emerald-200 text-emerald-900\";\n\t\t\t\tcase \"info\": return \"bg-sky-50 border-sky-200 text-sky-900\";\n\t\t\t\tdefault: return \"bg-neutral-50 border-neutral-200 text-neutral-800\";\n\t\t\t}\n\t\t};\n\t\t$$renderer.push(`<div${attr_class(`space-y-2 rounded-md border p-3 text-xs text-neutral-800 ${blockClasses()}`)}><div class=\"flex flex-wrap items-center gap-1.5\"><span class=\"text-[10px] uppercase tracking-wide text-neutral-500\">Call</span> <span${attr_class(`rounded-md px-1.5 py-0.5 text-[10px] font-semibold uppercase ${statusChipClasses()}`)}>${escape_html(result.status)}</span> <span class=\"ml-2 text-[10px] uppercase tracking-wide text-neutral-500\">Outcome</span> <span${attr_class(`rounded-md px-1.5 py-0.5 text-[10px] font-semibold uppercase ${outcomeChipClasses()}`)}>${escape_html(outcomeSeverity())}</span> `);\n\t\tif (transitionTarget()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"ml-auto rounded-md border border-brand-300 bg-white px-2 py-0.5 text-[11px] font-medium text-brand-700 hover:bg-brand-50\"${attr(\"title\", `Open ${transitionTarget().name}`)}>Go to ${escape_html(transitionTarget().name)} ?</button>`);\n\t\t} else if (result.transition) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<span class=\"ml-auto text-[10px] text-neutral-500\">? ${escape_html(result.transition)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div> `);\n\t\tif (result.parameterErrors.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div><p class=\"mb-1 font-medium text-red-700\">Parameter errors</p> <ul class=\"ml-3 list-disc\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(result.parameterErrors);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet error = each_array[$$index];\n\t\t\t\t$$renderer.push(`<li><span class=\"mono\">${escape_html(error.parameterName)}</span> ${escape_html(error.reason)}</li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (result.messages.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div><p class=\"mb-1 font-medium text-neutral-700\">Messages</p> <ul class=\"space-y-1\"><!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(result.messages);\n\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\tlet message = each_array_1[$$index_1];\n\t\t\t\t$$renderer.push(`<li${attr_class(`rounded-md border px-2 py-1 ${stringify(messageClasses(message.tone))}`)}><span class=\"text-[10px] font-semibold uppercase tracking-wide opacity-70\">[${escape_html(message.tone)}]</span> <span class=\"ml-1\">${escape_html(message.text)}</span></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (result.invariantViolations.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div><p class=\"mb-1 font-medium text-red-700\">Invariant violations</p> <ul class=\"space-y-1\"><!--[-->`);\n\t\t\tconst each_array_2 = ensure_array_like(result.invariantViolations);\n\t\t\tfor (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet violation = each_array_2[$$index_2];\n\t\t\t\t$$renderer.push(`<li class=\"rounded-md border border-red-200 bg-red-50 px-2 py-1 text-red-900\"><span class=\"font-medium\">${escape_html(violation.invariantName)}:</span> ${escape_html(violation.message)}</li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (result.evaluatedRules.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<details><summary class=\"cursor-pointer font-medium text-neutral-700\">Rules evaluated (${escape_html(result.evaluatedRules.length)})</summary> <ul class=\"ml-3 mt-1 space-y-1.5\"><!--[-->`);\n\t\t\tconst each_array_3 = ensure_array_like(result.evaluatedRules);\n\t\t\tfor (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n\t\t\t\tlet rule = each_array_3[$$index_3];\n\t\t\t\tconst desc = ruleDescriptors().get(rule.ruleId);\n\t\t\t\t$$renderer.push(`<li class=\"leading-snug\"><div class=\"flex items-center gap-2\"><span class=\"font-medium text-neutral-900\">${escape_html(desc?.title ?? rule.category)}</span> <span${attr_class(`rounded-md px-1.5 py-0.5 text-[10px] font-semibold uppercase ${rule.conditionHeld ? \"bg-amber-100 text-amber-800\" : \"bg-neutral-100 text-neutral-500\"}`)}>${escape_html(rule.conditionHeld ? \"matched\" : \"no match\")}</span></div> `);\n\t\t\t\tif (desc) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"text-[11px] text-neutral-500\">${escape_html(desc.condition)}</div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></details>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (result.appliedEffects.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<details><summary class=\"cursor-pointer font-medium text-neutral-700\">Effects applied (${escape_html(result.appliedEffects.length)})</summary> <ul class=\"ml-3 mt-1 list-disc\"><!--[-->`);\n\t\t\tconst each_array_4 = ensure_array_like(result.appliedEffects);\n\t\t\tfor (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {\n\t\t\t\tlet effect = each_array_4[$$index_4];\n\t\t\t\t$$renderer.push(`<li><span class=\"mono\">[${escape_html(effect.type)}]</span> ${escape_html(effect.summary)}</li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></details>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (result.emittedEvents.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div><p class=\"mb-1 font-medium text-neutral-700\">Events emitted</p> <ul class=\"flex flex-wrap gap-1\"><!--[-->`);\n\t\t\tconst each_array_5 = ensure_array_like(result.emittedEvents);\n\t\t\tfor (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {\n\t\t\t\tlet event = each_array_5[$$index_5];\n\t\t\t\t$$renderer.push(`<li class=\"mono rounded-md bg-neutral-100 px-1.5 py-0.5 text-[10px] text-neutral-800\">${escape_html(event)}</li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <details><summary class=\"cursor-pointer font-medium text-neutral-700\">State changes (${escape_html(stateDiff().length)})</summary> `);\n\t\tif (stateDiff().length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"mt-1 text-[11px] text-neutral-500\">No state was changed.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"mt-1 space-y-1\"><!--[-->`);\n\t\t\tconst each_array_6 = ensure_array_like(stateDiff());\n\t\t\tfor (let $$index_6 = 0, $$length = each_array_6.length; $$index_6 < $$length; $$index_6++) {\n\t\t\t\tlet row = each_array_6[$$index_6];\n\t\t\t\t$$renderer.push(`<li class=\"rounded-md border border-neutral-200 bg-neutral-50 px-2 py-1 text-[11px]\"><div class=\"font-medium text-neutral-900\"${attr(\"title\", row.path)}>${escape_html(row.label)}</div> <div class=\"flex items-center gap-2 text-neutral-700\"><span class=\"mono text-neutral-500\">${escape_html(formatDisplay(row.before))}</span> <span class=\"text-neutral-400\" aria-hidden=\"true\">→</span> <span class=\"mono font-medium text-neutral-900\">${escape_html(formatDisplay(row.after))}</span></div></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></details> `);\n\t\tif (result.cascadedHandlers && result.cascadedHandlers.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<details open=\"\"><summary class=\"cursor-pointer font-medium text-violet-800\">Cascaded handlers (${escape_html(result.cascadedHandlers.length)})</summary> <p class=\"mt-1 text-[11px] text-neutral-500\">Other actions that fired automatically when this action emitted events. Indentation =\n cascade depth; a child's events trigger its own handlers next.</p> <ul class=\"mt-2 space-y-2\"><!--[-->`);\n\t\t\tconst each_array_7 = ensure_array_like(result.cascadedHandlers);\n\t\t\tfor (let $$index_9 = 0, $$length = each_array_7.length; $$index_9 < $$length; $$index_9++) {\n\t\t\t\tlet cascade = each_array_7[$$index_9];\n\t\t\t\tconst status = cascade.result.status;\n\t\t\t\t$$renderer.push(`<li${attr_class(`rounded-md border bg-white p-2 ${status === \"success\" ? \"border-emerald-200\" : \"border-amber-200 bg-amber-50/40\"}`)}${attr_style(`margin-left: ${stringify((cascade.depth - 1) * 12)}px`)}><div class=\"flex items-center gap-2 text-[11px]\"><span${attr_class(`rounded px-1 py-0.5 text-[10px] font-semibold ${status === \"success\" ? \"bg-emerald-100 text-emerald-800\" : \"bg-amber-100 text-amber-800\"}`)}>${escape_html(status)}</span> <span class=\"mono text-violet-700\">↳ triggered by \"${escape_html(cascade.triggeredBy)}\"</span> <span class=\"text-neutral-500\">· depth ${escape_html(cascade.depth)}</span></div> `);\n\t\t\t\tif (cascade.result.invariantViolations.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<ul class=\"mt-1 space-y-0.5\"><!--[-->`);\n\t\t\t\t\tconst each_array_8 = ensure_array_like(cascade.result.invariantViolations);\n\t\t\t\t\tfor (let $$index_7 = 0, $$length = each_array_8.length; $$index_7 < $$length; $$index_7++) {\n\t\t\t\t\t\tlet v = each_array_8[$$index_7];\n\t\t\t\t\t\t$$renderer.push(`<li class=\"text-[10px] text-amber-800\">! invariant <span class=\"mono\">${escape_html(v.invariantName)}</span>, ${escape_html(v.message)}</li>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (cascade.result.emittedEvents.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"mt-1 text-[10px] text-neutral-600\">Emitted: ${escape_html(cascade.result.emittedEvents.join(\", \"))}</p>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (cascade.result.cascadedHandlers && cascade.result.cascadedHandlers.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"mt-1 text-[10px] text-violet-700\">↳ chained into ${escape_html(cascade.result.cascadedHandlers.length)} more handler(s) (see below)</p>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></li> `);\n\t\t\t\tif (cascade.result.cascadedHandlers) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\tconst each_array_9 = ensure_array_like(cascade.result.cascadedHandlers);\n\t\t\t\t\tfor (let $$index_8 = 0, $$length = each_array_9.length; $$index_8 < $$length; $$index_8++) {\n\t\t\t\t\t\tlet nested = each_array_9[$$index_8];\n\t\t\t\t\t\t$$renderer.push(`<li${attr_class(`rounded-md border bg-white p-2 ${nested.result.status === \"success\" ? \"border-emerald-200\" : \"border-amber-200 bg-amber-50/40\"}`)}${attr_style(`margin-left: ${stringify((nested.depth - 1) * 12)}px`)}><div class=\"flex items-center gap-2 text-[11px]\"><span${attr_class(`rounded px-1 py-0.5 text-[10px] font-semibold ${nested.result.status === \"success\" ? \"bg-emerald-100 text-emerald-800\" : \"bg-amber-100 text-amber-800\"}`)}>${escape_html(nested.result.status)}</span> <span class=\"mono text-violet-700\">↳ \"${escape_html(nested.triggeredBy)}\"</span> <span class=\"text-neutral-500\">· depth ${escape_html(nested.depth)}</span></div></li>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></details>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/simulator/presentation/components/SimulatorPanel.svelte\nfunction SimulatorPanel($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature, surface } = $$props;\n\t\tconst selectedCapability = derived(() => surface.actions.find((c) => c.id === simulatorStore.actionId) ?? surface.actions[0] ?? null);\n\t\tconst ruleCountsByCategory = derived(() => {\n\t\t\tconst counts = {};\n\t\t\tfor (const rule of surface.rules) counts[rule.category] = (counts[rule.category] ?? 0) + 1;\n\t\t\tif (selectedCapability()) for (const rule of selectedCapability().rules) counts[rule.category] = (counts[rule.category] ?? 0) + 1;\n\t\t\treturn counts;\n\t\t});\n\t\t$$renderer.push(`<div class=\"space-y-2 text-sm\" data-tour=\"simulator-panel\"><div class=\"flex rounded-md border border-hairline bg-slate-50 p-0.5 text-[11px] font-medium\" role=\"tablist\" aria-label=\"View mode\"><button type=\"button\" role=\"tab\"${attr(\"aria-selected\", true)}${attr_class(`flex-1 rounded px-2 py-1 transition bg-white text-brand-800`)} title=\"Run the deterministic simulator on the modeled spec\">Simulated</button> <button type=\"button\" role=\"tab\"${attr(\"aria-selected\", false)}${attr_class(`flex-1 rounded px-2 py-1 transition text-slate-600 hover:text-slate-950`)} title=\"Show the real implementation captured from the repo (file paths + code snippets)\">Real</button></div> <section class=\"space-y-2 rounded-lg border border-hairline bg-white p-2.5\"><h3 class=\"text-[10px] font-semibold uppercase tracking-wider text-slate-500\">${escape_html(\"Test setup\")}</h3> `);\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\tPersonaPicker($$renderer, {\n\t\t\tfeature,\n\t\t\tsurface,\n\t\t\taction: selectedCapability()\n\t\t});\n\t\t$$renderer.push(`<!--]--> <div class=\"space-y-1\"><span class=\"text-[11px] font-medium text-slate-700\">${escape_html(\"Action to test\")}</span> `);\n\t\tif (surface.actions.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"text-[11px] text-slate-500\">(no action on this surface)</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"flex flex-wrap gap-1\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(surface.actions);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet cap = each_array[$$index];\n\t\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(`rounded-md border px-2 py-1 text-[11px] font-medium transition ${selectedCapability()?.id === cap.id ? \"border-brand-500 bg-brand-50 text-brand-800\" : \"border-slate-300 bg-white text-slate-700 hover:bg-slate-50\"}`)}${attr(\"aria-pressed\", selectedCapability()?.id === cap.id)}${attr(\"title\", cap.intent)}>${escape_html(cap.name)}</button>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></section> `);\n\t\t{\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tif (selectedCapability() && (selectedCapability().scenarios?.length ?? 0) > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<section class=\"space-y-2 rounded-lg border border-hairline bg-white p-2.5\"><h3 class=\"text-[10px] font-semibold uppercase tracking-wider text-slate-500\">Scenario</h3> `);\n\t\t\t\tScenarioPicker($$renderer, {\n\t\t\t\t\tfeature,\n\t\t\t\t\tsurface,\n\t\t\t\t\taction: selectedCapability()\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!----></section>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (selectedCapability() && selectedCapability().parameters.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<section class=\"space-y-2 rounded-lg border border-hairline bg-white p-2.5\"><div class=\"flex items-baseline justify-between\"><h3 class=\"text-[10px] font-semibold uppercase tracking-wider text-slate-500\">Inputs</h3> <span class=\"text-[10px] text-slate-400\">${escape_html(selectedCapability().parameters.length)} parameter${escape_html(selectedCapability().parameters.length === 1 ? \"\" : \"s\")}</span></div> `);\n\t\t\t\tParameterInputs($$renderer, {\n\t\t\t\t\tsurfaceId: surface.id,\n\t\t\t\t\taction: selectedCapability()\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!----></section>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <section class=\"space-y-2 rounded-lg border border-hairline bg-white p-2.5\"><div class=\"flex items-baseline justify-between\"><h3 class=\"text-[10px] font-semibold uppercase tracking-wider text-slate-500\">Current state</h3> <span class=\"text-[10px] text-slate-400\">${escape_html(surface.stateDefinitions.length)} value${escape_html(surface.stateDefinitions.length === 1 ? \"\" : \"s\")}</span></div> `);\n\t\t\tStateInspector($$renderer, { surface });\n\t\t\t$$renderer.push(`<!----></section> <div class=\"flex items-center gap-1.5\"><button type=\"button\" data-tour=\"simulator-run\" class=\"flex-1 rounded-md bg-slate-900 px-3 py-1.5 text-xs font-semibold text-white transition disabled:cursor-not-allowed disabled:bg-slate-300\"${attr(\"disabled\", !selectedCapability(), true)}>Run ${escape_html(selectedCapability()?.name ?? \"action\")}</button> <button type=\"button\" class=\"rounded-md border border-slate-300 bg-white px-2 py-1.5 text-[11px] font-medium text-slate-700 transition hover:bg-slate-50\" title=\"Reset state to surface defaults and clear inputs\">Reset</button></div> <label class=\"flex items-start gap-2 rounded-md border border-hairline bg-white px-2.5 py-2 text-[11px] cursor-pointer hover:bg-slate-50\" title=\"When on, switching surfaces keeps existing state values. Testing the feature as a real navigation flow.\"><input type=\"checkbox\" class=\"mt-0.5\"${attr(\"checked\", simulatorStore.persistAcrossNavigation, true)}/> <span class=\"flex-1\"><span class=\"font-medium text-slate-800\">Real-flow mode</span> <span class=\"block text-slate-500\">Keep state when navigating between surfaces. Off = test each surface in isolation.</span></span></label> `);\n\t\t\tif (simulatorStore.lastResult) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div data-tour=\"simulator-result\">`);\n\t\t\t\tSimulationResultView($$renderer, {\n\t\t\t\t\tfeature,\n\t\t\t\t\tresult: simulatorStore.lastResult,\n\t\t\t\t\tsurface\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!----></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (simulatorStore.history.length > 1) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<details class=\"rounded-lg border border-neutral-200 bg-white px-2.5 py-2 text-xs\"><summary class=\"flex cursor-pointer items-center justify-between gap-2 font-medium text-neutral-700\"><span>Recent runs (${escape_html(simulatorStore.history.length)})</span> <button type=\"button\" class=\"rounded-md px-1.5 py-0 text-[10px] font-medium text-neutral-500 hover:bg-neutral-100 hover:text-red-600\" aria-label=\"Clear simulation history\">Clear</button></summary> <ul class=\"mt-2 space-y-1\"><!--[-->`);\n\t\t\t\tconst each_array_1 = ensure_array_like(simulatorStore.history);\n\t\t\t\tfor (let i = 0, $$length = each_array_1.length; i < $$length; i++) {\n\t\t\t\t\tlet result = each_array_1[i];\n\t\t\t\t\tconst cap = surface.actions.find((c) => c.id === result.actionId);\n\t\t\t\t\t$$renderer.push(`<li class=\"flex items-center justify-between gap-2 text-neutral-600\"><span class=\"truncate\">${escape_html(cap?.name ?? \"unknown\")}</span> <span${attr_class(`rounded-full px-1.5 py-0 text-[10px] font-semibold uppercase tracking-wide ${result.status === \"success\" ? \"bg-emerald-100 text-emerald-800\" : \"bg-amber-100 text-amber-800\"}`)}>${escape_html(result.status)}</span></li>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></ul></details>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <details class=\"rounded-lg border border-neutral-200 bg-white px-2.5 py-2 text-xs\"><summary class=\"cursor-pointer font-medium text-neutral-700\">Rule categories reference</summary> <ul class=\"mt-2 grid grid-cols-2 gap-x-2 gap-y-1\"><!--[-->`);\n\t\t\tconst each_array_2 = ensure_array_like(ALL_RULE_CATEGORIES);\n\t\t\tfor (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet c = each_array_2[$$index_2];\n\t\t\t\tconst count = ruleCountsByCategory()[c] ?? 0;\n\t\t\t\t$$renderer.push(`<li class=\"flex items-center gap-1\"><span${attr_class(clsx(count > 0 ? \"text-neutral-700\" : \"text-neutral-400\"))}>${escape_html(ruleCategoryLabel(c))}</span> `);\n\t\t\t\tif (count > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"ml-auto rounded-full bg-brand-50 px-1.5 py-0 text-[10px] font-semibold text-brand-700\" title=\"Rules in this category that will evaluate when you run the action\">${escape_html(count)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></details>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/maturity/presentation/components/MaturityPanel.svelte\nfunction MaturityPanel($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature } = $$props;\n\t\tconst breakdown = derived(() => scoreFeatureBreakdown(feature));\n\t\tfunction sectionPanel(report) {\n\t\t\tif (report.percentage >= 80) return \"bg-emerald-50 border-emerald-200 text-emerald-900\";\n\t\t\tif (report.percentage >= 50) return \"bg-amber-50 border-amber-200 text-amber-900\";\n\t\t\treturn \"bg-red-50 border-red-200 text-red-900\";\n\t\t}\n\t\tfunction adaptiveColor(report) {\n\t\t\tconst critical = report.criticalIssues.length;\n\t\t\tif (critical === 0) {\n\t\t\t\tconst hue = report.percentage / 100 * 120;\n\t\t\t\treturn `hsl(${Math.round(hue)}, 70%, 45%)`;\n\t\t\t}\n\t\t\tconst hue = Math.max(0, 35 - (critical - 1) * 18);\n\t\t\treturn `hsl(${Math.round(hue)}, 75%, 50%)`;\n\t\t}\n\t\tlet expandedSurfaces = {};\n\t\tlet expandedCapabilities = {};\n\t\tlet showPassedFor = {};\n\t\tfunction issueRowsFor(report) {\n\t\t\treturn [...report.criticalIssues.map((i) => ({\n\t\t\t\t...i,\n\t\t\t\tkind: \"critical\"\n\t\t\t})), ...report.recommendedIssues.map((i) => ({\n\t\t\t\t...i,\n\t\t\t\tkind: \"recommended\"\n\t\t\t}))];\n\t\t}\n\t\tfunction passedRowsFor(report) {\n\t\t\treturn report.passedChecks.map((p) => ({\n\t\t\t\t...p,\n\t\t\t\tkind: \"passed\"\n\t\t\t}));\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-4 text-sm\"><section${attr_class(`rounded-md border p-3 ${stringify(sectionPanel(breakdown().global))}`)}><div class=\"flex items-center justify-between gap-3\"><span class=\"text-xs font-semibold uppercase tracking-wide opacity-80\">Global</span> <span class=\"text-xs font-bold tabular-nums\">${escape_html(breakdown().global.percentage)}%</span></div> <div class=\"mt-1\">`);\n\t\tProgressBar($$renderer, {\n\t\t\tpercentage: breakdown().global.percentage,\n\t\t\tcolor: adaptiveColor(breakdown().global),\n\t\t\tsize: \"md\",\n\t\t\tariaLabel: `Global maturity ${stringify(breakdown().global.percentage)}%`\n\t\t});\n\t\t$$renderer.push(`<!----></div> <div class=\"mt-2 flex flex-wrap gap-x-3 gap-y-0.5 text-[11px]\"><span class=\"font-bold\">${escape_html(breakdown().global.score)} / ${escape_html(breakdown().global.maxScore)} checks</span> <span class=\"font-bold\">${escape_html(breakdown().global.criticalIssues.length)} critical</span> <span class=\"font-bold\">${escape_html(breakdown().global.recommendedIssues.length)} recommended</span> <span class=\"font-bold\">${escape_html(breakdown().global.passedChecks.length)} passed</span></div></section> `);\n\t\tif (breakdown().featureLevel.criticalIssues.length > 0 || breakdown().featureLevel.recommendedIssues.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<section><h3 class=\"mb-1 text-[10px] font-semibold uppercase tracking-wide text-neutral-500\">Feature checks</h3> <ul class=\"space-y-1\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(breakdown().featureLevel.criticalIssues);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet issue = each_array[$$index];\n\t\t\t\t$$renderer.push(`<li class=\"rounded-md border border-red-200 bg-red-50 px-2 py-1 text-xs text-red-900\"><span class=\"text-[10px] font-medium uppercase tracking-wide\">[critical]</span> ${escape_html(issue.message)}</li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> <!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(breakdown().featureLevel.recommendedIssues);\n\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\tlet issue = each_array_1[$$index_1];\n\t\t\t\t$$renderer.push(`<li class=\"rounded-md border border-sky-200 bg-sky-50 px-2 py-1 text-xs text-sky-900\"><span class=\"text-[10px] font-medium uppercase tracking-wide\">[suggestion]</span> ${escape_html(issue.message)}</li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></section>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <section class=\"space-y-2\"><h3 class=\"text-[10px] font-semibold uppercase tracking-wide text-neutral-500\">Per surface</h3> `);\n\t\tif (breakdown().perSurface.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-neutral-300 p-3 text-center text-xs text-neutral-500\">No surfaces yet.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"space-y-1\"><!--[-->`);\n\t\t\tconst each_array_2 = ensure_array_like(breakdown().perSurface);\n\t\t\tfor (let $$index_6 = 0, $$length = each_array_2.length; $$index_6 < $$length; $$index_6++) {\n\t\t\t\tlet entry = each_array_2[$$index_6];\n\t\t\t\tconst surfaceExpanded = expandedSurfaces[String(entry.surface.id)] ?? false;\n\t\t\t\tconst surfaceLevelIssues = issueRowsFor(entry.surfaceLevel);\n\t\t\t\t$$renderer.push(`<li class=\"rounded-md border border-neutral-200 bg-white\"><button type=\"button\" class=\"flex w-full flex-wrap items-center gap-2 px-3 py-2 text-left text-xs\"><span class=\"text-neutral-400\">${escape_html(surfaceExpanded ? \"▾\" : \"▸\")}</span> <span class=\"flex-1 truncate font-medium text-neutral-900\">${escape_html(entry.surface.name)}</span> `);\n\t\t\t\tif (entry.report.criticalIssues.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-red-100 px-1.5 py-0.5 text-[10px] text-red-800\">${escape_html(entry.report.criticalIssues.length)} critical</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (entry.report.recommendedIssues.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-sky-100 px-1.5 py-0.5 text-[10px] text-sky-800\">${escape_html(entry.report.recommendedIssues.length)} suggestion${escape_html(entry.report.recommendedIssues.length === 1 ? \"\" : \"s\")}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></button> <div class=\"px-3 pb-2\">`);\n\t\t\t\tProgressBar($$renderer, {\n\t\t\t\t\tpercentage: entry.report.percentage,\n\t\t\t\t\tcolor: adaptiveColor(entry.report),\n\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\tticks: [],\n\t\t\t\t\tariaLabel: `Surface ${stringify(entry.surface.name)} ${stringify(entry.report.percentage)}%`\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!----></div> `);\n\t\t\t\tif (surfaceExpanded) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tif (surfaceLevelIssues.length > 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<div class=\"border-t border-neutral-100 px-3 py-2\"><h4 class=\"mb-1 text-[10px] font-semibold uppercase tracking-wide text-neutral-500\">Surface checks</h4> <ul class=\"space-y-1\"><!--[-->`);\n\t\t\t\t\t\tconst each_array_3 = ensure_array_like(surfaceLevelIssues);\n\t\t\t\t\t\tfor (let idx = 0, $$length = each_array_3.length; idx < $$length; idx++) {\n\t\t\t\t\t\t\tlet row = each_array_3[idx];\n\t\t\t\t\t\t\t$$renderer.push(`<li${attr_class(`flex items-start gap-2 text-[11px] ${row.kind === \"critical\" ? \"text-red-900\" : \"text-sky-900\"}`)}><span${attr_class(clsx(row.kind === \"critical\" ? \"text-red-600\" : \"text-sky-600\"))}>${escape_html(row.kind === \"critical\" ? \"●\" : \"ℹ\")}</span> <span class=\"min-w-0 flex-1\">${escape_html(row.message)}</span> <button type=\"button\"${attr_class(`shrink-0 rounded-md border px-1.5 py-0 text-[10px] font-medium ${row.kind === \"critical\" ? \"border-red-300 bg-white text-red-700 hover:bg-red-50\" : \"border-sky-300 bg-white text-sky-700 hover:bg-sky-50\"}`)}>Fix →</button></li>`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\tif (entry.perAction.length === 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<p class=\"border-t border-neutral-100 px-3 py-2 text-[11px] italic text-neutral-500\">No actions on this surface yet.</p>`);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<div class=\"border-t border-neutral-100 px-3 py-2\"><h4 class=\"mb-1.5 text-[10px] font-semibold uppercase tracking-wide text-neutral-500\">Actions</h4> <ul class=\"space-y-1\"><!--[-->`);\n\t\t\t\t\t\tconst each_array_4 = ensure_array_like(entry.perAction);\n\t\t\t\t\t\tfor (let $$index_5 = 0, $$length = each_array_4.length; $$index_5 < $$length; $$index_5++) {\n\t\t\t\t\t\t\tlet capEntry = each_array_4[$$index_5];\n\t\t\t\t\t\t\tconst cid = String(capEntry.action.id);\n\t\t\t\t\t\t\tconst capExpanded = expandedCapabilities[cid] ?? false;\n\t\t\t\t\t\t\tconst capIssues = issueRowsFor(capEntry.report);\n\t\t\t\t\t\t\tconst capPassed = passedRowsFor(capEntry.report);\n\t\t\t\t\t\t\tconst passedVisible = showPassedFor[`cap:${cid}`] ?? false;\n\t\t\t\t\t\t\t$$renderer.push(`<li class=\"rounded-md border border-neutral-200 bg-neutral-50/40\"><button type=\"button\" class=\"flex w-full flex-wrap items-center gap-2 px-2 py-1.5 text-left text-[11px]\"><span class=\"text-neutral-400\">${escape_html(capExpanded ? \"▾\" : \"▸\")}</span> <span class=\"flex-1 truncate text-neutral-800\">${escape_html(capEntry.action.name)}</span> `);\n\t\t\t\t\t\t\tif (capEntry.report.criticalIssues.length > 0) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-red-100 px-1.5 py-0.5 text-[10px] text-red-800\">${escape_html(capEntry.report.criticalIssues.length)}</span>`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\tif (capEntry.report.recommendedIssues.length > 0) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-sky-100 px-1.5 py-0.5 text-[10px] text-sky-800\">${escape_html(capEntry.report.recommendedIssues.length)}</span>`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></button> <div class=\"px-2 pb-1.5\">`);\n\t\t\t\t\t\t\tProgressBar($$renderer, {\n\t\t\t\t\t\t\t\tpercentage: capEntry.report.percentage,\n\t\t\t\t\t\t\t\tcolor: adaptiveColor(capEntry.report),\n\t\t\t\t\t\t\t\tsize: \"xs\",\n\t\t\t\t\t\t\t\tticks: [],\n\t\t\t\t\t\t\t\tariaLabel: `Action ${stringify(capEntry.action.name)} ${stringify(capEntry.report.percentage)}%`\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t$$renderer.push(`<!----></div> `);\n\t\t\t\t\t\t\tif (capExpanded) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\tif (capIssues.length > 0) {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<ul class=\"divide-y divide-neutral-100 border-t border-neutral-100 bg-white\"><!--[-->`);\n\t\t\t\t\t\t\t\t\tconst each_array_5 = ensure_array_like(capIssues);\n\t\t\t\t\t\t\t\t\tfor (let idx = 0, $$length = each_array_5.length; idx < $$length; idx++) {\n\t\t\t\t\t\t\t\t\t\tlet row = each_array_5[idx];\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<li${attr_class(`flex items-start gap-2 px-2 py-1.5 text-[11px] ${row.kind === \"critical\" ? \"text-red-900\" : \"text-sky-900\"}`)}><span${attr_class(clsx(row.kind === \"critical\" ? \"text-red-600\" : \"text-sky-600\"))}>${escape_html(row.kind === \"critical\" ? \"●\" : \"ℹ\")}</span> <span class=\"min-w-0 flex-1\">${escape_html(row.message)}</span> <button type=\"button\"${attr_class(`shrink-0 rounded-md border px-1.5 py-0 text-[10px] font-medium ${row.kind === \"critical\" ? \"border-red-300 bg-white text-red-700 hover:bg-red-50\" : \"border-sky-300 bg-white text-sky-700 hover:bg-sky-50\"}`)}>Fix →</button></li>`);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<p class=\"border-t border-neutral-100 px-2 py-1.5 text-[11px] text-emerald-700\">✓ All checks pass.</p>`);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\t\tif (capPassed.length > 0) {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<div class=\"border-t border-neutral-100 px-2 py-1\"><button type=\"button\" class=\"text-[11px] text-brand-700 hover:underline\">${escape_html(passedVisible ? \"Hide\" : \"Show\")}\n ${escape_html(capPassed.length)} passed check${escape_html(capPassed.length === 1 ? \"\" : \"s\")}</button></div> `);\n\t\t\t\t\t\t\t\t\tif (passedVisible) {\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<ul class=\"divide-y divide-emerald-100 border-t border-emerald-100 bg-emerald-50/30\"><!--[-->`);\n\t\t\t\t\t\t\t\t\t\tconst each_array_6 = ensure_array_like(capPassed);\n\t\t\t\t\t\t\t\t\t\tfor (let idx = 0, $$length = each_array_6.length; idx < $$length; idx++) {\n\t\t\t\t\t\t\t\t\t\t\tlet row = each_array_6[idx];\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<li class=\"flex items-start gap-2 px-2 py-1.5 text-[11px] text-emerald-900\"><span class=\"text-emerald-600\">✓</span> <span class=\"min-w-0 flex-1\">${escape_html(row.message)}</span></li>`);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></section></div>`);\n\t});\n}\n//#endregion\n//#region src/features/implementation-status/presentation/components/ImplementationStatusPanel.svelte\nfunction ImplementationStatusPanel($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature } = $$props;\n\t\tconst breakdown = derived(() => computeImplementationBreakdown(feature, implementationStatusStore.status));\n\t\tlet expandedSurfaces = {};\n\t\tlet expandedCapabilities = {};\n\t\tlet expandedSurfaceLevel = {};\n\t\tlet diffMode = false;\n\t\tfunction pctColor(percentage, hasExpected) {\n\t\t\tif (!hasExpected) return \"hsl(220, 10%, 70%)\";\n\t\t\tconst hue = percentage / 100 * 120;\n\t\t\treturn `hsl(${Math.round(hue)}, 70%, 45%)`;\n\t\t}\n\t\tfunction panelTone(entry) {\n\t\t\tif (entry.expectedCount === 0) return \"bg-neutral-50 border-neutral-200 text-neutral-700\";\n\t\t\tif (entry.percentage >= 80) return \"bg-emerald-50 border-emerald-200 text-emerald-900\";\n\t\t\tif (entry.percentage >= 50) return \"bg-amber-50 border-amber-200 text-amber-900\";\n\t\t\treturn \"bg-red-50 border-red-200 text-red-900\";\n\t\t}\n\t\tfunction relTime(iso) {\n\t\t\tif (!iso) return \"never\";\n\t\t\tconst ts = Date.parse(iso);\n\t\t\tif (Number.isNaN(ts)) return iso;\n\t\t\tconst diff = Date.now() - ts;\n\t\t\tif (diff < 6e4) return \"just now\";\n\t\t\tif (diff < 36e5) return `${Math.round(diff / 6e4)} min ago`;\n\t\t\tif (diff < 864e5) return `${Math.round(diff / 36e5)} h ago`;\n\t\t\tconst days = Math.round(diff / 864e5);\n\t\t\treturn `${days} day${days === 1 ? \"\" : \"s\"} ago`;\n\t\t}\n\t\t/** Human-readable absolute timestamp. Locale month + day + hh:mm. */\n\t\tfunction absTime(iso) {\n\t\t\tif (!iso) return \"never\";\n\t\t\tconst d = new Date(iso);\n\t\t\tif (Number.isNaN(d.getTime())) return iso;\n\t\t\treturn d.toLocaleString(void 0, {\n\t\t\t\tmonth: \"short\",\n\t\t\t\tday: \"numeric\",\n\t\t\t\tyear: \"numeric\",\n\t\t\t\thour: \"2-digit\",\n\t\t\t\tminute: \"2-digit\"\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t* True when SSE has signaled a change but the local fetch hasn't caught up\n\t\t* yet. In normal operation this flips true for ~ms before the auto-fetch\n\t\t* lands; if the fetch fails or the watcher is flaky (Windows fs.watch) it\n\t\t* stays true so the manual Refresh button stays visible until clicked.\n\t\t*/\n\t\tconst hasPendingUpdate = derived(() => () => {\n\t\t\tconst sig = implementationStatusStore.lastUpdateSignalAt;\n\t\t\tconst fetched = implementationStatusStore.lastFetchedAt;\n\t\t\tif (!sig) return false;\n\t\t\tif (!fetched) return true;\n\t\t\treturn Date.parse(sig) > Date.parse(fetched);\n\t\t});\n\t\tfunction capStateLabel(entry) {\n\t\t\tif (entry.expectedCount === 0) return \"nothing to tag yet\";\n\t\t\tif (!entry.reported) return \"not yet audited\";\n\t\t\tif (entry.foundCount === entry.expectedCount) return \"fully tagged\";\n\t\t\treturn `${entry.foundCount}/${entry.expectedCount} tagged`;\n\t\t}\n\t\tfunction entityTypeLabel(t) {\n\t\t\tswitch (t) {\n\t\t\t\tcase \"action\": return \"Action\";\n\t\t\t\tcase \"event\": return \"Events\";\n\t\t\t\tcase \"rule\": return \"Rules\";\n\t\t\t\tcase \"invariant\": return \"Invariants\";\n\t\t\t\tcase \"transition\": return \"Transitions\";\n\t\t\t\tcase \"state\": return \"States\";\n\t\t\t\tcase \"data\": return \"Entity\";\n\t\t\t\tcase \"surface_rule\": return \"Surface rules\";\n\t\t\t\tcase \"surface_invariant\": return \"Surface invariants\";\n\t\t\t}\n\t\t}\n\t\tfunction groupByType(items) {\n\t\t\tconst m = /* @__PURE__ */ new Map();\n\t\t\tfor (const t of ALL_ENTITY_TYPES) m.set(t, []);\n\t\t\tfor (const item of items) {\n\t\t\t\tconst arr = m.get(item.entityType);\n\t\t\t\tif (arr) arr.push(item);\n\t\t\t}\n\t\t\treturn m;\n\t\t}\n\t\tfunction buildRows(expectedList, foundList) {\n\t\t\tconst foundByKey = /* @__PURE__ */ new Map();\n\t\t\tfor (const f of foundList) foundByKey.set(`${f.entityType}:${f.entityId}`, f);\n\t\t\tconst grouped = groupByType(expectedList);\n\t\t\treturn ALL_ENTITY_TYPES.map((type) => {\n\t\t\t\treturn {\n\t\t\t\t\ttype,\n\t\t\t\t\trows: (grouped.get(type) ?? []).map((e) => ({\n\t\t\t\t\t\texpected: e,\n\t\t\t\t\t\tfound: foundByKey.get(`${e.entityType}:${e.entityId}`) ?? null\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t}).filter((g) => g.rows.length > 0);\n\t\t}\n\t\tfunction shortSha(sha) {\n\t\t\treturn sha ? sha.slice(0, 7) : \"\";\n\t\t}\n\t\tconst KIND_COLORS = {\n\t\t\t\"svelte-route\": \"bg-orange-100 text-orange-800\",\n\t\t\t\"svelte-store\": \"bg-violet-100 text-violet-800\",\n\t\t\t\"svelte-component\": \"bg-sky-100 text-sky-800\",\n\t\t\t\"mcp-tool\": \"bg-teal-100 text-teal-800\",\n\t\t\t\"mcp-entrypoint\": \"bg-teal-200 text-teal-900\",\n\t\t\t\"domain-service\": \"bg-indigo-100 text-indigo-800\"\n\t\t};\n\t\tfunction kindClass(kind) {\n\t\t\treturn KIND_COLORS[kind] ?? \"bg-neutral-100 text-neutral-700\";\n\t\t}\n\t\tfunction hasAuditMeta(meta) {\n\t\t\tif (!meta) return false;\n\t\t\treturn !!(meta.kind || meta.auditedAt || meta.gitCommit || meta.testFile || meta.relatedFiles?.length || meta.knownGaps?.length);\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-4 text-sm\"><section${attr_class(`rounded-md border p-3 ${breakdown().expectedCount === 0 ? \"bg-neutral-50 border-neutral-200 text-neutral-700\" : breakdown().percentage >= 80 ? \"bg-emerald-50 border-emerald-200 text-emerald-900\" : breakdown().percentage >= 50 ? \"bg-amber-50 border-amber-200 text-amber-900\" : \"bg-red-50 border-red-200 text-red-900\"}`)}><div class=\"flex items-baseline justify-between gap-2\"><span class=\"text-xs font-semibold uppercase tracking-wide opacity-80\">Implementation</span> <div class=\"flex items-center gap-1.5\">`);\n\t\tif (hasPendingUpdate()() || implementationStatusStore.refreshing) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"group inline-flex items-center gap-1 rounded-full border border-amber-300 bg-amber-50 px-2.5 py-0.5 text-[10px] font-semibold text-amber-800 shadow-sm transition hover:bg-amber-100 focus:outline-none focus:ring-2 focus:ring-amber-300 disabled:cursor-wait\"${attr(\"disabled\", implementationStatusStore.refreshing || implementationStatusStore.loading, true)}${attr(\"title\", implementationStatusStore.refreshing ? \"Fetching the latest report…\" : \"A new report was detected. Click to load it\")}><span${attr_class(`inline-block ${implementationStatusStore.refreshing ? \"animate-spin\" : \"animate-pulse\"}`)}>↻</span> <span>${escape_html(implementationStatusStore.refreshing ? \"Refreshing\" : \"New report\")}</span></button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <button type=\"button\"${attr_class(`inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-[10px] font-semibold transition focus:outline-none focus:ring-2 focus:ring-brand-300 border border-neutral-300 bg-white text-neutral-700 hover:bg-neutral-50`)}${attr(\"aria-pressed\", diffMode)} title=\"Toggle field-level diff between spec and captured code values\"><span aria-hidden=\"true\">${escape_html(\"○\")}</span> <span>Diff</span></button> <span class=\"text-[10px] tracking-wide opacity-70\"${attr(\"title\", implementationStatusStore.lastFetchedAt ? `Last fetched ${absTime(implementationStatusStore.lastFetchedAt)}` : \"Never fetched\")}>`);\n\t\tif (breakdown().hasReport) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`v${escape_html(breakdown().revision)} · ${escape_html(relTime(breakdown().updatedAt))}`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`no report yet`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></span></div></div> <div class=\"mt-1.5 h-1.5 w-full rounded-full\"${attr_style(`background-color: ${stringify(pctColor(breakdown().percentage, breakdown().expectedCount > 0))}`)}></div> <div class=\"mt-2 flex flex-wrap gap-x-3 gap-y-0.5 text-[11px]\"><span class=\"font-bold\">${escape_html(breakdown().foundCount)} / ${escape_html(breakdown().expectedCount)} tags</span> <span class=\"font-bold\">${escape_html(breakdown().percentage)}%</span> `);\n\t\tif (breakdown().missingCount > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"font-bold\">${escape_html(breakdown().missingCount)} missing</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (breakdown().extraCount > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"font-bold text-amber-700\">${escape_html(breakdown().extraCount)} extra</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (breakdown().capabilitiesWithExpected > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"opacity-70\">${escape_html(breakdown().reportedCount)}/${escape_html(breakdown().capabilitiesWithExpected)} actions audited</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div> `);\n\t\tif (breakdown().updatedAt) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"mt-1 text-[10px] opacity-60\"${attr(\"title\", breakdown().updatedAt)}>last report ${escape_html(absTime(breakdown().updatedAt))}</div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></section> `);\n\t\tif (!breakdown().hasReport) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-neutral-300 p-3 text-xs text-neutral-600\">No <code>report_implementation_status</code> received yet. Write the behavioral index\n to <code>.unspa.json</code> in your repo, then call <code>report_implementation_status_batch</code>. The result lands here.</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <section class=\"space-y-2\"><h3 class=\"text-[10px] font-semibold uppercase tracking-wide text-neutral-500\">Per surface</h3> `);\n\t\tif (breakdown().perSurface.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-neutral-300 p-3 text-center text-xs text-neutral-500\">No surfaces yet.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"space-y-1\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(breakdown().perSurface);\n\t\t\tfor (let $$index_14 = 0, $$length = each_array.length; $$index_14 < $$length; $$index_14++) {\n\t\t\t\tlet entry = each_array[$$index_14];\n\t\t\t\tconst sid = String(entry.surface.id);\n\t\t\t\tconst surfaceExpanded = expandedSurfaces[sid] ?? diffMode;\n\t\t\t\tconst surfaceLevelExpanded = expandedSurfaceLevel[sid] ?? diffMode;\n\t\t\t\t$$renderer.push(`<li${attr_class(`rounded-md border ${stringify(panelTone(entry).split(\" \").slice(1).join(\" \"))}`)}><button type=\"button\" class=\"flex w-full flex-wrap items-center gap-2 px-3 py-2 text-left text-xs\"><span class=\"text-neutral-400\">${escape_html(surfaceExpanded ? \"▾\" : \"▸\")}</span> <span class=\"flex-1 truncate font-medium text-neutral-900\">${escape_html(entry.surface.name)}</span> `);\n\t\t\t\tif (entry.expectedCount === 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-neutral-100 px-1.5 py-0.5 text-[10px] text-neutral-600\">no tags expected</span>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-white/70 px-1.5 py-0.5 text-[10px] font-mono\">${escape_html(entry.foundCount)}/${escape_html(entry.expectedCount)}</span> <span class=\"rounded-md bg-white/70 px-1.5 py-0.5 text-[10px] font-mono\">${escape_html(entry.percentage)}%</span>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></button> <div class=\"px-3 pb-2\"><div class=\"h-1 w-full rounded-full\"${attr_style(`background-color: ${stringify(pctColor(entry.percentage, entry.expectedCount > 0))}`)}></div></div> `);\n\t\t\t\tif (surfaceExpanded) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tif (entry.surfaceLevel.expectedCount > 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\tconst sl = entry.surfaceLevel;\n\t\t\t\t\t\t$$renderer.push(`<div class=\"border-t border-neutral-100 bg-white\"><button type=\"button\" class=\"flex w-full flex-wrap items-center gap-2 px-3 py-1.5 text-left text-[11px]\"><span class=\"text-neutral-400\">${escape_html(surfaceLevelExpanded ? \"▾\" : \"▸\")}</span> <span class=\"flex-1 truncate font-medium text-neutral-700\">Surface-level (states, data, rules, invariants)</span> `);\n\t\t\t\t\t\tif (!sl.reported) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-neutral-100 px-1.5 py-0.5 text-[10px] text-neutral-600\">not audited</span>`);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-neutral-100 px-1.5 py-0.5 text-[10px] font-mono\">${escape_html(sl.foundCount)}/${escape_html(sl.expectedCount)}</span> <span class=\"rounded-md bg-neutral-100 px-1.5 py-0.5 text-[10px] font-mono\">${escape_html(sl.percentage)}%</span>`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]--></button> `);\n\t\t\t\t\t\tif (surfaceLevelExpanded) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<div class=\"border-t border-neutral-100 bg-neutral-50/40 px-3 py-2 text-[11px]\">`);\n\t\t\t\t\t\t\tif (!sl.reported) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<p class=\"text-neutral-500\">Run <code>report_implementation_status</code> with <code>surfaceId</code> to populate this section.</p>`);\n\t\t\t\t\t\t\t} else if (hasAuditMeta(sl.status?.auditMeta)) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t\t\t\tconst m = sl.status.auditMeta;\n\t\t\t\t\t\t\t\t$$renderer.push(`<div class=\"mb-2 flex flex-wrap items-start gap-1.5 rounded border border-neutral-200 bg-white px-2 py-1.5\">`);\n\t\t\t\t\t\t\t\tif (m.kind) {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<span${attr_class(`rounded px-1.5 py-0.5 font-mono text-[10px] font-medium ${stringify(kindClass(m.kind))}`)}>${escape_html(m.kind)}</span>`);\n\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\t\tif (m.auditedAt) {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded bg-neutral-100 px-1.5 py-0.5 text-[10px] text-neutral-600\"${attr(\"title\", m.auditedAt)}>audited ${escape_html(relTime(m.auditedAt))}</span>`);\n\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\t\tif (m.gitCommit) {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded bg-neutral-100 px-1.5 py-0.5 font-mono text-[10px] text-neutral-600\"${attr(\"title\", m.gitCommit)}>${escape_html(shortSha(m.gitCommit))}</span>`);\n\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\t\tif (m.testFile) {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded bg-emerald-50 px-1.5 py-0.5 font-mono text-[10px] text-emerald-700\">test: ${escape_html(m.testFile)}</span>`);\n\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\t\tif (m.knownGaps && m.knownGaps.length > 0) {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<div class=\"w-full\"><p class=\"text-[10px] font-semibold text-amber-700\">Known gaps</p> <ul class=\"mt-0.5 list-disc space-y-0.5 pl-3\"><!--[-->`);\n\t\t\t\t\t\t\t\t\tconst each_array_1 = ensure_array_like(m.knownGaps);\n\t\t\t\t\t\t\t\t\tfor (let i = 0, $$length = each_array_1.length; i < $$length; i++) {\n\t\t\t\t\t\t\t\t\t\tlet gap = each_array_1[i];\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<li class=\"text-[10px] text-amber-800\">${escape_html(gap)}</li>`);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--> <!--[-->`);\n\t\t\t\t\t\t\tconst each_array_2 = ensure_array_like(buildRows(sl.expected, sl.found));\n\t\t\t\t\t\t\tfor (let $$index_4 = 0, $$length = each_array_2.length; $$index_4 < $$length; $$index_4++) {\n\t\t\t\t\t\t\t\tlet group = each_array_2[$$index_4];\n\t\t\t\t\t\t\t\t$$renderer.push(`<div class=\"mb-2 last:mb-0\"><p class=\"mb-1 text-[10px] font-semibold uppercase tracking-wide text-neutral-500\">${escape_html(entityTypeLabel(group.type))}</p> <ul class=\"space-y-1\"><!--[-->`);\n\t\t\t\t\t\t\t\tconst each_array_3 = ensure_array_like(group.rows);\n\t\t\t\t\t\t\t\tfor (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n\t\t\t\t\t\t\t\t\tlet row = each_array_3[$$index_3];\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<li class=\"rounded border border-neutral-200 bg-white px-2 py-1\"><div class=\"flex items-baseline justify-between gap-2\"><span${attr_class(`font-mono text-[11px] ${row.found ? \"text-emerald-700\" : \"text-red-700\"}`)}>${escape_html(row.found ? \"✓\" : \"✗\")} ${escape_html(row.expected.entityName ?? row.expected.entityId)}</span> <span class=\"font-mono text-[10px] text-neutral-400\">${escape_html(row.expected.tag)}</span></div> `);\n\t\t\t\t\t\t\t\t\tif (row.found && row.found.locations.length > 0 && true) {\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<ul class=\"mt-0.5 space-y-1\"><!--[-->`);\n\t\t\t\t\t\t\t\t\t\tconst each_array_4 = ensure_array_like(row.found.locations);\n\t\t\t\t\t\t\t\t\t\tfor (let i = 0, $$length = each_array_4.length; i < $$length; i++) {\n\t\t\t\t\t\t\t\t\t\t\tlet loc = each_array_4[i];\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<li><div class=\"flex flex-wrap items-center gap-1 font-mono text-[10px] text-neutral-600\"><span>${escape_html(loc.file)}${escape_html(loc.line !== void 0 ? `:${loc.line}` : \"\")}</span> `);\n\t\t\t\t\t\t\t\t\t\t\tif (loc.stale) {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded bg-amber-100 px-1 py-0 text-[9px] font-semibold text-amber-800\" title=\"The audited signature no longer matches this line. Re-author this entry in .unspa.json\">index stale</span> `);\n\t\t\t\t\t\t\t\t\t\t\t\tif (loc.suggestedLine) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"text-amber-700\">→ now at :${escape_html(loc.suggestedLine)}</span>`);\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"text-amber-700\">- signature not found in file</span>`);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\t\t\t\t\t\t\t\t\tif (loc.snippet) {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<pre${attr_class(`mt-0.5 overflow-x-auto rounded ${loc.stale ? \"border-l-2 border-amber-400\" : \"\"} bg-neutral-900 px-2 py-1 text-[10px] leading-snug text-neutral-100`)}>${escape_html(loc.snippet)}</pre>`);\n\t\t\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\tif (entry.perAction.length === 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<p class=\"border-t border-neutral-100 bg-white px-3 py-2 text-[11px] italic text-neutral-500\">No actions on this surface yet.</p>`);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<ul class=\"border-t border-neutral-100 bg-white\"><!--[-->`);\n\t\t\t\t\t\tconst each_array_6 = ensure_array_like(entry.perAction);\n\t\t\t\t\t\tfor (let $$index_13 = 0, $$length = each_array_6.length; $$index_13 < $$length; $$index_13++) {\n\t\t\t\t\t\t\tlet capEntry = each_array_6[$$index_13];\n\t\t\t\t\t\t\tconst capExpanded = expandedCapabilities[String(capEntry.action.id)] ?? diffMode;\n\t\t\t\t\t\t\t$$renderer.push(`<li class=\"border-b border-neutral-100 last:border-b-0\"><button type=\"button\" class=\"flex w-full flex-wrap items-center gap-2 px-3 py-1.5 text-left text-[11px]\"><span class=\"text-neutral-400\">${escape_html(capExpanded ? \"▾\" : \"▸\")}</span> <span class=\"flex-1 truncate text-neutral-800\">${escape_html(capEntry.action.name)}</span> `);\n\t\t\t\t\t\t\tif (capEntry.expectedCount === 0) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"text-[10px] italic text-neutral-500\">no tags</span>`);\n\t\t\t\t\t\t\t} else if (!capEntry.reported) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-neutral-100 px-1.5 py-0.5 text-[10px] text-neutral-600\">not audited</span>`);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-neutral-100 px-1.5 py-0.5 text-[10px] font-mono\">${escape_html(capEntry.foundCount)}/${escape_html(capEntry.expectedCount)}</span> <span class=\"rounded-md bg-neutral-100 px-1.5 py-0.5 text-[10px] font-mono\">${escape_html(capEntry.percentage)}%</span>`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></button> <div class=\"px-3 pb-1\"><div class=\"h-0.5 w-full rounded-full\"${attr_style(`background-color: ${stringify(pctColor(capEntry.percentage, capEntry.expectedCount > 0))}`)}></div></div> `);\n\t\t\t\t\t\t\tif (capExpanded) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<div class=\"border-t border-neutral-100 bg-neutral-50/40 px-3 py-2 text-[11px]\"><div class=\"mb-2 flex items-center justify-between\"><span class=\"font-medium text-neutral-700\">${escape_html(capStateLabel(capEntry))}</span> <button type=\"button\" class=\"rounded-md border border-neutral-300 bg-white px-1.5 py-0 text-[10px] font-medium text-neutral-700 hover:bg-neutral-50\">Open →</button></div> `);\n\t\t\t\t\t\t\t\tif (capEntry.expectedCount === 0) {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<p class=\"text-neutral-500\">No taggable entities on this action yet (no events, rules,\n invariants, or transitions).</p>`);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\tif (!capEntry.reported) {\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<p class=\"mb-2 rounded border border-dashed border-neutral-300 bg-white px-2 py-1 text-[10px] text-neutral-500\">Not audited yet. Write <code>.unspa.json</code> then call <code>report_implementation_status_batch</code>. ${escape_html(\"\")}</p>`);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\tconst status = capEntry.status;\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<p class=\"mb-2 text-[10px] uppercase tracking-wide text-neutral-500\">Reported ${escape_html(relTime(status.reportedAt))} <span class=\"opacity-60\"${attr(\"title\", status.reportedAt)}>(${escape_html(status.reportedAt)})</span></p> `);\n\t\t\t\t\t\t\t\t\t\tif (hasAuditMeta(status.auditMeta)) {\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\tconst m = status.auditMeta;\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<div class=\"mb-2 flex flex-wrap items-start gap-1.5 rounded border border-neutral-200 bg-white px-2 py-1.5\">`);\n\t\t\t\t\t\t\t\t\t\t\tif (m.kind) {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<span${attr_class(`rounded px-1.5 py-0.5 font-mono text-[10px] font-medium ${stringify(kindClass(m.kind))}`)}>${escape_html(m.kind)}</span>`);\n\t\t\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\t\t\t\t\tif (m.auditedAt) {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded bg-neutral-100 px-1.5 py-0.5 text-[10px] text-neutral-600\"${attr(\"title\", m.auditedAt)}>audited ${escape_html(relTime(m.auditedAt))}</span>`);\n\t\t\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\t\t\t\t\tif (m.gitCommit) {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded bg-neutral-100 px-1.5 py-0.5 font-mono text-[10px] text-neutral-600\"${attr(\"title\", m.gitCommit)}>${escape_html(shortSha(m.gitCommit))}</span>`);\n\t\t\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\t\t\t\t\tif (m.testFile) {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded bg-emerald-50 px-1.5 py-0.5 font-mono text-[10px] text-emerald-700\" title=\"Test file\">test: ${escape_html(m.testFile)}</span>`);\n\t\t\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\t\t\t\t\tif (m.relatedFiles && m.relatedFiles.length > 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<div class=\"w-full\"><p class=\"text-[10px] font-semibold text-neutral-500\">Related files</p> <ul class=\"mt-0.5 space-y-0.5\"><!--[-->`);\n\t\t\t\t\t\t\t\t\t\t\t\tconst each_array_7 = ensure_array_like(m.relatedFiles);\n\t\t\t\t\t\t\t\t\t\t\t\tfor (let i = 0, $$length = each_array_7.length; i < $$length; i++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet rf = each_array_7[i];\n\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<li class=\"font-mono text-[10px] text-neutral-600\">${escape_html(rf.file)}${escape_html(rf.line ? `:${rf.line}` : \"\")} <span class=\"text-neutral-400\">. ${escape_html(rf.role)}</span></li>`);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\t\t\t\t\tif (m.knownGaps && m.knownGaps.length > 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<div class=\"w-full\"><p class=\"text-[10px] font-semibold text-amber-700\">Known gaps</p> <ul class=\"mt-0.5 list-disc space-y-0.5 pl-3\"><!--[-->`);\n\t\t\t\t\t\t\t\t\t\t\t\tconst each_array_8 = ensure_array_like(m.knownGaps);\n\t\t\t\t\t\t\t\t\t\t\t\tfor (let i = 0, $$length = each_array_8.length; i < $$length; i++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet gap = each_array_8[i];\n\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<li class=\"text-[10px] text-amber-800\">${escape_html(gap)}</li>`);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> <!--[-->`);\n\t\t\t\t\t\t\t\t\tconst each_array_9 = ensure_array_like(buildRows(capEntry.expected, capEntry.found));\n\t\t\t\t\t\t\t\t\tfor (let $$index_10 = 0, $$length = each_array_9.length; $$index_10 < $$length; $$index_10++) {\n\t\t\t\t\t\t\t\t\t\tlet group = each_array_9[$$index_10];\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<div class=\"mb-2 last:mb-0\"><p class=\"mb-1 text-[10px] font-semibold uppercase tracking-wide text-neutral-500\">${escape_html(entityTypeLabel(group.type))}</p> <ul class=\"space-y-1\"><!--[-->`);\n\t\t\t\t\t\t\t\t\t\tconst each_array_10 = ensure_array_like(group.rows);\n\t\t\t\t\t\t\t\t\t\tfor (let $$index_9 = 0, $$length = each_array_10.length; $$index_9 < $$length; $$index_9++) {\n\t\t\t\t\t\t\t\t\t\t\tlet row = each_array_10[$$index_9];\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<li class=\"rounded border border-neutral-200 bg-white px-2 py-1\"><div class=\"flex items-baseline justify-between gap-2\"><span${attr_class(`font-mono text-[11px] ${row.found ? \"text-emerald-700\" : \"text-red-700\"}`)}>${escape_html(row.found ? \"✓\" : \"✗\")} ${escape_html(row.expected.entityName ?? row.expected.entityId)}</span> <span class=\"font-mono text-[10px] text-neutral-400\">${escape_html(row.expected.tag)}</span></div> `);\n\t\t\t\t\t\t\t\t\t\t\tif (row.found && true) {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\t\tif (row.found.locations.length > 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<ul class=\"mt-0.5 space-y-1\"><!--[-->`);\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst each_array_11 = ensure_array_like(row.found.locations);\n\t\t\t\t\t\t\t\t\t\t\t\t\tfor (let i = 0, $$length = each_array_11.length; i < $$length; i++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet loc = each_array_11[i];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<li><div class=\"flex flex-wrap items-center gap-1 font-mono text-[10px] text-neutral-600\"><span>${escape_html(loc.file)}${escape_html(loc.line !== void 0 ? `:${loc.line}` : \"\")}</span> `);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (loc.stale) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded bg-amber-100 px-1 py-0 text-[9px] font-semibold text-amber-800\" title=\"The audited signature no longer matches this line. Re-author this entry in .unspa.json\">index stale</span> `);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (loc.suggestedLine) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"text-amber-700\">→ now at :${escape_html(loc.suggestedLine)}</span>`);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"text-amber-700\">- signature not found in file</span>`);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (loc.snippet) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<pre${attr_class(`mt-0.5 overflow-x-auto rounded ${loc.stale ? \"border-l-2 border-amber-400\" : \"\"} bg-neutral-900 px-2 py-1 text-[10px] leading-snug text-neutral-100`)}>${escape_html(loc.snippet)}</pre>`);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t\t\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> <p class=\"mt-0.5 text-[10px] text-neutral-400\"${attr(\"title\", row.found.capturedAt)}>captured ${escape_html(relTime(row.found.capturedAt))}</p>`);\n\t\t\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\t\t\tif (capEntry.status && capEntry.status.extraTags.length > 0) {\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<div class=\"mt-2\"><p class=\"text-[10px] uppercase tracking-wide text-amber-700\">Drift. Tags found that aren't declared</p> <ul class=\"mt-1 space-y-0.5\"><!--[-->`);\n\t\t\t\t\t\t\t\t\t\tconst each_array_13 = ensure_array_like(capEntry.status.extraTags);\n\t\t\t\t\t\t\t\t\t\tfor (let i = 0, $$length = each_array_13.length; i < $$length; i++) {\n\t\t\t\t\t\t\t\t\t\t\tlet extra = each_array_13[i];\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<li class=\"font-mono text-[10px] text-amber-800\">${escape_html(extra.tag)} <!--[-->`);\n\t\t\t\t\t\t\t\t\t\t\tconst each_array_14 = ensure_array_like(extra.locations);\n\t\t\t\t\t\t\t\t\t\t\tfor (let j = 0, $$length = each_array_14.length; j < $$length; j++) {\n\t\t\t\t\t\t\t\t\t\t\t\tlet loc = each_array_14[j];\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"ml-1 text-neutral-500\">${escape_html(loc.file)}${escape_html(loc.line !== void 0 ? `:${loc.line}` : \"\")}</span>`);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></section></div>`);\n\t});\n}\n//#endregion\n//#region src/features/simulator/presentation/components/SidePanel.svelte\nfunction SidePanel($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature, surface } = $$props;\n\t\tconst activeTab = derived(() => editorStore.railTab);\n\t\tconst collapsed = derived(() => editorStore.railCollapsed);\n\t\tconst maturity = derived(() => scoreFeatureBreakdown(feature).global);\n\t\tconst impl = derived(() => computeImplementationBreakdown(feature, implementationStatusStore.status));\n\t\tfunction pctColor(percentage) {\n\t\t\tconst hue = percentage / 100 * 120;\n\t\t\treturn `hsl(${Math.round(hue)}, 70%, 45%)`;\n\t\t}\n\t\tconst maturityDot = derived(() => maturity().criticalIssues.length > 0 ? `hsl(${Math.max(0, 35 - (maturity().criticalIssues.length - 1) * 18)}, 75%, 50%)` : pctColor(maturity().percentage));\n\t\tconst implDot = derived(() => impl().expectedCount === 0 ? \"hsl(220, 10%, 70%)\" : pctColor(impl().percentage));\n\t\tconst tabs = derived(() => [\n\t\t\t{\n\t\t\t\tkey: \"simulator\",\n\t\t\t\tlabel: \"Simulator\",\n\t\t\t\tshort: \"Sim\",\n\t\t\t\tbadge: \"▶\",\n\t\t\t\tbadgeTone: \"slate\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"maturity\",\n\t\t\t\tlabel: \"Maturity\",\n\t\t\t\tshort: \"Mat\",\n\t\t\t\tbadge: `${maturity().percentage}%`,\n\t\t\t\tbadgeTone: maturity().criticalIssues.length > 0 ? \"red\" : maturity().percentage >= 80 ? \"emerald\" : maturity().percentage >= 50 ? \"amber\" : \"red\",\n\t\t\t\tdot: maturityDot()\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"implementation\",\n\t\t\t\tlabel: \"Implementation\",\n\t\t\t\tshort: \"Impl\",\n\t\t\t\tbadge: impl().expectedCount === 0 ? \"-\" : `${impl().percentage}%`,\n\t\t\t\tbadgeTone: impl().expectedCount === 0 ? \"slate\" : impl().percentage >= 80 ? \"emerald\" : impl().percentage >= 50 ? \"amber\" : \"red\",\n\t\t\t\tdot: implDot()\n\t\t\t}\n\t\t]);\n\t\tconst toneClass = {\n\t\t\tred: \"bg-red-100 text-red-800\",\n\t\t\tamber: \"bg-amber-100 text-amber-800\",\n\t\t\temerald: \"bg-emerald-100 text-emerald-800\",\n\t\t\tslate: \"bg-slate-100 text-slate-700\"\n\t\t};\n\t\tif (collapsed()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<aside class=\"flex flex-col items-center gap-1 rounded-lg border border-hairline bg-white p-1\" aria-label=\"Insights rail (collapsed)\"><button type=\"button\" class=\"grid h-9 w-9 place-items-center rounded-md text-slate-500 hover:bg-slate-100 hover:text-slate-900\" title=\"Expand insights rail\" aria-label=\"Expand insights rail\"><span aria-hidden=\"true\">◀</span></button> <span class=\"my-1 h-px w-6 bg-slate-200\"></span> <!--[-->`);\n\t\t\tconst each_array = ensure_array_like(tabs());\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet tab = each_array[$$index];\n\t\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(`relative grid h-9 w-9 place-items-center rounded-md text-[10px] font-semibold text-slate-700 hover:bg-slate-100 ${activeTab() === tab.key ? \"bg-brand-50 text-brand-800 ring-1 ring-brand-200\" : \"\"}`)}${attr(\"title\", tab.label)}${attr(\"aria-label\", tab.label)}><span>${escape_html(tab.short)}</span> `);\n\t\t\t\tif (tab.dot) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"absolute -right-0.5 -top-0.5 h-2 w-2 rounded-full border border-white\"${attr_style(`background-color: ${stringify(tab.dot)}`)}></span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></button>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></aside>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<section class=\"rounded-lg border border-hairline bg-white\"><div class=\"sticky top-0 z-10 flex items-stretch rounded-t-lg border-b border-hairline bg-white text-xs\"><!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(tabs());\n\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\tlet tab = each_array_1[$$index_1];\n\t\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(`flex flex-1 items-center justify-center gap-1.5 px-2 py-2 transition ${activeTab() === tab.key ? \"border-b-2 border-brand-700 font-semibold text-brand-800\" : \"text-slate-600 hover:text-slate-950\"}`)}><span>${escape_html(tab.label)}</span> `);\n\t\t\t\tif (tab.badge && tab.badgeTone) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span${attr_class(`rounded-md px-1.5 py-0.5 font-mono text-[10px] ${stringify(toneClass[tab.badgeTone])}`)}>${escape_html(tab.badge)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></button>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> <button type=\"button\" class=\"grid w-8 place-items-center border-l border-hairline text-slate-500 hover:bg-slate-50 hover:text-slate-900\" title=\"Collapse insights rail\" aria-label=\"Collapse insights rail\"><span aria-hidden=\"true\">▶</span></button></div> <div class=\"p-3\"><!---->`);\n\t\t\t$$renderer.push(`<div class=\"motion-reduce:animate-none! motion-reduce:opacity-100!\">`);\n\t\t\tif (activeTab() === \"simulator\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tif (surface) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tSimulatorPanel($$renderer, {\n\t\t\t\t\t\tfeature,\n\t\t\t\t\t\tsurface\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"text-xs text-slate-500\">Select a surface to simulate.</p>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t} else if (activeTab() === \"maturity\") {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\tMaturityPanel($$renderer, { feature });\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\tImplementationStatusPanel($$renderer, { feature });\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t$$renderer.push(`<!----></div></section>`);\n\t\t}\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/domain/services/ResourceUsage.ts\nvar buildResourceUsage = (feature, resourceId) => {\n\tconst target = String(resourceId);\n\tconst dataNamespaces = [];\n\tfor (const data of feature.entities) if (data.resourceId && String(data.resourceId) === target) dataNamespaces.push(data.namespace);\n\tconst parameters = [];\n\tfor (const surface of feature.surfaces) for (const cap of surface.actions) for (const param of cap.parameters) if (param.resourceId && String(param.resourceId) === target) parameters.push({\n\t\tsurfaceId: surface.id,\n\t\tsurfaceName: surface.name,\n\t\tactionId: cap.id,\n\t\tactionName: cap.name,\n\t\tparameterId: param.id,\n\t\tparameterName: param.name,\n\t\tparameterType: param.type\n\t});\n\tparameters.sort((a, b) => {\n\t\tif (a.surfaceName !== b.surfaceName) return a.surfaceName.localeCompare(b.surfaceName);\n\t\tif (a.actionName !== b.actionName) return a.actionName.localeCompare(b.actionName);\n\t\treturn a.parameterName.localeCompare(b.parameterName);\n\t});\n\tdataNamespaces.sort();\n\treturn {\n\t\tresourceId: target,\n\t\tdataNamespaces,\n\t\tparameters\n\t};\n};\nvar totalUsage = (usage) => usage.dataNamespaces.length + usage.parameters.length;\n//#endregion\n//#region src/features/behavior-model/presentation/components/ResourceEditor.svelte\nfunction ResourceEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { resource, onChange } = $$props;\n\t\tconst terms = derived(() => resourceTerminology(resource.kind));\n\t\tfunction patch(p) {\n\t\t\tonChange({\n\t\t\t\t...resource,\n\t\t\t\t...p\n\t\t\t});\n\t\t}\n\t\tlet customTagDraft = \"\";\n\t\t$$renderer.push(`<div class=\"space-y-4 text-xs\"><section class=\"grid grid-cols-1 gap-2\"><label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Name</span> <input type=\"text\" class=\"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1\"${attr(\"value\", resource.name)}/></label> <label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Description</span> <textarea rows=\"2\" class=\"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1\">`);\n\t\tconst $$body = escape_html(resource.description ?? \"\");\n\t\tif ($$body) $$renderer.push(`${$$body}`);\n\t\t$$renderer.push(`</textarea></label></section> <section class=\"grid grid-cols-2 gap-2\"><label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Kind</span> `);\n\t\t$$renderer.select({\n\t\t\tclass: \"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1\",\n\t\t\tvalue: resource.kind,\n\t\t\tonchange: (e) => patch({ kind: e.target.value })\n\t\t}, ($$renderer) => {\n\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\tconst each_array = ensure_array_like(ALL_RESOURCE_KINDS);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet k = each_array[$$index];\n\t\t\t\t$$renderer.option({ value: k }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(resourceKindLabel(k))}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t});\n\t\t$$renderer.push(`</label> <label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Provider</span> <input type=\"text\" class=\"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1\"${attr(\"value\", resource.provider)} placeholder=\"PostgreSQL, AWS S3, Stripe…\"/></label> <label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Scope</span> `);\n\t\t$$renderer.select({\n\t\t\tclass: \"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1\",\n\t\t\tvalue: resource.scope,\n\t\t\tonchange: (e) => patch({ scope: e.target.value })\n\t\t}, ($$renderer) => {\n\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(ALL_RESOURCE_SCOPES);\n\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\tlet s = each_array_1[$$index_1];\n\t\t\t\t$$renderer.option({ value: s }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(resourceScopeLabel(s))}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t});\n\t\t$$renderer.push(`</label> <label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Location / region</span> <input type=\"text\" class=\"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1\"${attr(\"value\", resource.location ?? \"\")} placeholder=\"eu-west-3 (Paris, FR)\"/></label></section> <section><p class=\"mb-1 text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Structure</p> <div class=\"grid grid-cols-3 gap-2\"><label class=\"block\"><span class=\"text-[11px] text-neutral-600\">${escape_html(terms().database)}</span> <input type=\"text\" class=\"mono mt-1 w-full rounded-md border border-neutral-300 px-2 py-1\"${attr(\"value\", resource.database ?? \"\")}/></label> <label class=\"block\"><span class=\"text-[11px] text-neutral-600\">${escape_html(terms().container)}</span> <input type=\"text\" class=\"mono mt-1 w-full rounded-md border border-neutral-300 px-2 py-1\"${attr(\"value\", resource.container ?? \"\")}/></label> <label class=\"block\"><span class=\"text-[11px] text-neutral-600\">${escape_html(terms().field)}</span> <input type=\"text\" class=\"mono mt-1 w-full rounded-md border border-neutral-300 px-2 py-1\"${attr(\"value\", resource.field ?? \"\")}/></label></div></section> <section class=\"grid grid-cols-2 gap-2\"><label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Sensitivity</span> `);\n\t\t$$renderer.select({\n\t\t\tclass: \"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1\",\n\t\t\tvalue: resource.sensitivity,\n\t\t\tonchange: (e) => patch({ sensitivity: e.target.value })\n\t\t}, ($$renderer) => {\n\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\tconst each_array_2 = ensure_array_like(ALL_SENSITIVITIES);\n\t\t\tfor (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet s = each_array_2[$$index_2];\n\t\t\t\t$$renderer.option({ value: s }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(sensitivityLabel(s))}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t});\n\t\t$$renderer.push(`</label> <label class=\"flex items-center gap-2 pt-5 text-neutral-700\"><input type=\"checkbox\"${attr(\"checked\", resource.containsPii, true)}/> Contains PII</label></section> <section><p class=\"mb-1 text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Compliance tags</p> <div class=\"flex flex-wrap gap-1\"><!--[-->`);\n\t\tconst each_array_3 = ensure_array_like(COMMON_COMPLIANCE_TAGS);\n\t\tfor (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n\t\t\tlet tag = each_array_3[$$index_3];\n\t\t\tconst on = resource.complianceTags.includes(tag);\n\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(`mono rounded-md border px-1.5 py-0.5 text-[10px] uppercase ${on ? \"border-brand-400 bg-brand-50 text-brand-800\" : \"border-neutral-300 text-neutral-500 hover:bg-neutral-50\"}`)}>${escape_html(tag)}</button>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> <!--[-->`);\n\t\tconst each_array_4 = ensure_array_like(resource.complianceTags.filter((t) => !COMMON_COMPLIANCE_TAGS.includes(t)));\n\t\tfor (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {\n\t\t\tlet tag = each_array_4[$$index_4];\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"mono rounded-md border border-brand-400 bg-brand-50 px-1.5 py-0.5 text-[10px] uppercase text-brand-800\">${escape_html(tag)} ✕</button>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div> <div class=\"mt-1 flex items-center gap-1\"><input type=\"text\" class=\"mono flex-1 rounded-md border border-neutral-300 px-1.5 py-0.5 text-[11px]\"${attr(\"value\", customTagDraft)} placeholder=\"Custom tag (e.g. ferpa)\"/> <button type=\"button\" class=\"rounded-md border border-neutral-300 px-1.5 py-0.5 text-[11px] hover:bg-neutral-50\">Add</button></div></section> <section class=\"grid grid-cols-2 gap-2\"><label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Access mode</span> `);\n\t\t$$renderer.select({\n\t\t\tclass: \"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1\",\n\t\t\tvalue: resource.accessMode,\n\t\t\tonchange: (e) => patch({ accessMode: e.target.value })\n\t\t}, ($$renderer) => {\n\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\tconst each_array_5 = ensure_array_like(ALL_ACCESS_MODES);\n\t\t\tfor (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {\n\t\t\t\tlet m = each_array_5[$$index_5];\n\t\t\t\t$$renderer.option({ value: m }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(accessModeLabel(m))}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t});\n\t\t$$renderer.push(`</label> <label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Authentication</span> `);\n\t\t$$renderer.select({\n\t\t\tclass: \"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1\",\n\t\t\tvalue: resource.authentication ?? \"none\",\n\t\t\tonchange: (e) => patch({ authentication: e.target.value })\n\t\t}, ($$renderer) => {\n\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\tconst each_array_6 = ensure_array_like(ALL_AUTH_METHODS);\n\t\t\tfor (let $$index_6 = 0, $$length = each_array_6.length; $$index_6 < $$length; $$index_6++) {\n\t\t\t\tlet m = each_array_6[$$index_6];\n\t\t\t\t$$renderer.option({ value: m }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(authMethodLabel(m))}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t});\n\t\t$$renderer.push(`</label> <label class=\"flex items-center gap-2 text-neutral-700\"><input type=\"checkbox\"${attr(\"checked\", resource.encryptionAtRest ?? false, true)}/> Encryption at rest</label> <label class=\"flex items-center gap-2 text-neutral-700\"><input type=\"checkbox\"${attr(\"checked\", resource.encryptionInTransit ?? false, true)}/> Encryption in transit</label> <label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Retention</span> <input type=\"text\" class=\"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1\"${attr(\"value\", resource.retention ?? \"\")} placeholder=\"30 days, 7 years, indefinite\"/></label> <label class=\"block\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Owner</span> <input type=\"text\" class=\"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1\"${attr(\"value\", resource.owner ?? \"\")} placeholder=\"team or person\"/></label></section></div>`);\n\t});\n}\n//#endregion\n//#region src/features/projects/domain/services/InheritedFromProject.ts\n/**\n* Flat union of every resource/data/event/transition contributed by sibling\n* features in the same project. Dedup keys are entity-stable (resource.id,\n* data.id, event.name) so multiple siblings with the same shared entity show\n* up once, tagged with the first sibling that defines it.\n*/\nvar inheritedResources = (siblings) => {\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst out = [];\n\tfor (const sibling of siblings) for (const r of sibling.resources) {\n\t\tconst key = String(r.id);\n\t\tif (seen.has(key)) continue;\n\t\tseen.add(key);\n\t\tout.push({\n\t\t\tvalue: r,\n\t\t\tsourceFeatureId: sibling.id,\n\t\t\tsourceFeatureName: sibling.name\n\t\t});\n\t}\n\treturn out;\n};\nvar inheritedData = (siblings) => {\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst out = [];\n\tfor (const sibling of siblings) for (const d of sibling.entities) {\n\t\tconst key = String(d.id);\n\t\tif (seen.has(key)) continue;\n\t\tseen.add(key);\n\t\tout.push({\n\t\t\tvalue: d,\n\t\t\tsourceFeatureId: sibling.id,\n\t\t\tsourceFeatureName: sibling.name\n\t\t});\n\t}\n\treturn out;\n};\nvar inheritedEvents = (siblings) => {\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst out = [];\n\tfor (const sibling of siblings) for (const e of sibling.events ?? []) {\n\t\tconst key = String(e.name);\n\t\tif (seen.has(key)) continue;\n\t\tseen.add(key);\n\t\tout.push({\n\t\t\tvalue: e,\n\t\t\tsourceFeatureId: sibling.id,\n\t\t\tsourceFeatureName: sibling.name\n\t\t});\n\t}\n\treturn out;\n};\nvar inheritedTransitions = (siblings) => {\n\tconst out = [];\n\tfor (const sibling of siblings) {\n\t\tconst surfaceNameById = /* @__PURE__ */ new Map();\n\t\tfor (const surface of sibling.surfaces) surfaceNameById.set(String(surface.id), surface.name);\n\t\tfor (const surface of sibling.surfaces) for (const t of surface.transitions) {\n\t\t\tconst targetId = String(t.target);\n\t\t\tconst targetName = surfaceNameById.get(targetId);\n\t\t\tconst transition = {\n\t\t\t\tid: String(t.id),\n\t\t\t\tsurfaceId: String(surface.id),\n\t\t\t\tsurfaceName: surface.name,\n\t\t\t\ttarget: targetId,\n\t\t\t\ttargetName: targetName ?? targetId,\n\t\t\t\ttargetMissing: targetName === void 0,\n\t\t\t\t...t.label !== void 0 ? { label: t.label } : {}\n\t\t\t};\n\t\t\tout.push({\n\t\t\t\tvalue: transition,\n\t\t\t\tsourceFeatureId: sibling.id,\n\t\t\t\tsourceFeatureName: sibling.name\n\t\t\t});\n\t\t}\n\t}\n\treturn out;\n};\n//#endregion\n//#region src/features/behavior-model/presentation/components/ResourcesManager.svelte\nfunction ResourcesManager($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature } = $$props;\n\t\tlet expandedId = null;\n\t\tasync function update(resource) {\n\t\t\tawait featureStore.mutate((current) => updateResource(current, resource));\n\t\t}\n\t\tfunction sensitivityColor(s) {\n\t\t\tswitch (s) {\n\t\t\t\tcase \"public\": return \"bg-emerald-50 text-emerald-700\";\n\t\t\t\tcase \"internal\": return \"bg-sky-50 text-sky-700\";\n\t\t\t\tcase \"confidential\": return \"bg-amber-50 text-amber-800\";\n\t\t\t\tcase \"restricted\": return \"bg-red-50 text-red-700\";\n\t\t\t}\n\t\t}\n\t\tconst inherited = derived(() => inheritedResources(projectContextStore.siblings));\n\t\t$$renderer.push(`<div class=\"space-y-3 text-sm\"><p class=\"text-xs text-neutral-500\">Resources describe the data your feature reads from and writes to. They capture provider,\n location, sensitivity, retention, and compliance. So humans and AI builders share a single\n source of truth for every data touchpoint.</p> <button type=\"button\" class=\"w-full rounded-md border border-neutral-300 px-3 py-1.5 text-xs hover:bg-neutral-50\">+ New resource</button> `);\n\t\tif (feature.resources.length === 0 && inherited().length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-neutral-300 p-3 text-center text-xs text-neutral-500\">No resources yet.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"space-y-2\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(feature.resources);\n\t\t\tfor (let $$index_3 = 0, $$length = each_array.length; $$index_3 < $$length; $$index_3++) {\n\t\t\t\tlet resource = each_array[$$index_3];\n\t\t\t\tconst isExpanded = expandedId === resource.id;\n\t\t\t\tconst usage = buildResourceUsage(feature, resource.id);\n\t\t\t\tconst usageTotal = totalUsage(usage);\n\t\t\t\t$$renderer.push(`<li${attr_class(`rounded-md border bg-white ${isExpanded ? \"border-brand-300 ring-1 ring-brand-200\" : \"border-neutral-200\"}`)}><header class=\"flex items-start gap-2 px-3 py-2 text-xs\"><button type=\"button\" class=\"flex-1 text-left\"><div class=\"flex items-center gap-2\"><span class=\"text-neutral-400\">${escape_html(isExpanded ? \"▾\" : \"▸\")}</span> <span class=\"font-medium text-neutral-900\">${escape_html(resource.name)}</span> <span${attr_class(`rounded-md px-1.5 py-0.5 text-[10px] font-medium ${stringify(sensitivityColor(resource.sensitivity))}`)}>${escape_html(sensitivityLabel(resource.sensitivity))}</span> `);\n\t\t\t\tif (resource.containsPii) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-red-50 px-1.5 py-0.5 text-[10px] text-red-700\">PII</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div> <div class=\"ml-5 flex flex-wrap gap-x-2 gap-y-0.5 text-[11px] text-neutral-500\"><span>${escape_html(resourceKindLabel(resource.kind))}</span> `);\n\t\t\t\tif (resource.provider) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span>· ${escape_html(resource.provider)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <span>· ${escape_html(resourceScopeLabel(resource.scope))}</span> `);\n\t\t\t\tif (resource.location) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span>· ${escape_html(resource.location)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\t\tif (resource.complianceTags.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"ml-5 mt-1 flex flex-wrap gap-1\"><!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(resource.complianceTags);\n\t\t\t\t\tfor (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\tlet tag = each_array_1[$$index];\n\t\t\t\t\t\t$$renderer.push(`<span class=\"mono rounded-md bg-neutral-100 px-1.5 py-0.5 text-[10px] uppercase text-neutral-600\">${escape_html(tag)}</span>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <div class=\"ml-5 mt-1 text-[10px] text-neutral-500\">`);\n\t\t\t\tif (usageTotal === 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`Not yet referenced anywhere.`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`Used by `);\n\t\t\t\t\tif (usage.dataNamespaces.length > 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<span class=\"text-violet-700\">${escape_html(usage.dataNamespaces.length)} data\n entit${escape_html(usage.dataNamespaces.length === 1 ? \"y\" : \"ies\")}</span>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\tif (usage.dataNamespaces.length > 0 && usage.parameters.length > 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`·`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\tif (usage.parameters.length > 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<span class=\"text-emerald-700\">${escape_html(usage.parameters.length)} parameter${escape_html(usage.parameters.length === 1 ? \"\" : \"s\")}</span>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></div></button> <button type=\"button\" class=\"text-xs text-neutral-400 hover:text-red-600\" aria-label=\"Remove resource\">✕</button></header> `);\n\t\t\t\tif (isExpanded) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tif (usageTotal > 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<section class=\"border-t border-neutral-200 bg-neutral-50/40 p-3 text-xs\"><header class=\"mb-1 text-[10px] font-semibold uppercase tracking-wide text-neutral-500\">Used by</header> `);\n\t\t\t\t\t\tif (usage.dataNamespaces.length > 0) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<div class=\"mb-2\"><p class=\"text-[10px] font-medium text-violet-700\">Entity entit${escape_html(usage.dataNamespaces.length === 1 ? \"y\" : \"ies\")}</p> <ul class=\"ml-3 list-disc\"><!--[-->`);\n\t\t\t\t\t\t\tconst each_array_2 = ensure_array_like(usage.dataNamespaces);\n\t\t\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\t\t\tlet ns = each_array_2[$$index_1];\n\t\t\t\t\t\t\t\t$$renderer.push(`<li><button type=\"button\" class=\"text-violet-800 hover:underline\" title=\"Open the Entity tab\">${escape_html(humanizeStatePath(ns))}</button> <span class=\"mono text-[10px] text-neutral-500\">(${escape_html(ns)})</span></li>`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\tif (usage.parameters.length > 0) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<div><p class=\"text-[10px] font-medium text-emerald-700\">Parameter${escape_html(usage.parameters.length === 1 ? \"\" : \"s\")}</p> <ul class=\"ml-3 list-disc\"><!--[-->`);\n\t\t\t\t\t\t\tconst each_array_3 = ensure_array_like(usage.parameters);\n\t\t\t\t\t\t\tfor (let $$index_2 = 0, $$length = each_array_3.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\t\t\t\t\tlet p = each_array_3[$$index_2];\n\t\t\t\t\t\t\t\t$$renderer.push(`<li><button type=\"button\" class=\"text-emerald-800 hover:underline\" title=\"Open the action\">${escape_html(p.surfaceName)} · ${escape_html(p.actionName)} · <span class=\"mono\">${escape_html(p.parameterName)}</span></button> <span class=\"text-[10px] text-neutral-500\">(${escape_html(p.parameterType)})</span></li>`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></ul></div>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--></section>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> <div class=\"border-t border-neutral-200 p-3\">`);\n\t\t\t\t\tResourceEditor($$renderer, {\n\t\t\t\t\t\tresource,\n\t\t\t\t\t\tonChange: (next) => update(next)\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (inherited().length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<section class=\"space-y-2 border-t border-dashed border-neutral-200 pt-3\"><header class=\"flex items-baseline justify-between\"><h3 class=\"text-[11px] font-semibold uppercase tracking-wide text-slate-500\">Inherited from project</h3> <p class=\"text-[10px] text-slate-400\">Read-only. Edit on the source feature.</p></header> <ul class=\"space-y-2\"><!--[-->`);\n\t\t\tconst each_array_4 = ensure_array_like(inherited());\n\t\t\tfor (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {\n\t\t\t\tlet row = each_array_4[$$index_4];\n\t\t\t\tconst resource = row.value;\n\t\t\t\t$$renderer.push(`<li class=\"rounded-md border border-slate-200 bg-slate-50/50 px-3 py-2 text-xs\"><div class=\"flex items-center gap-2\"><span class=\"font-medium text-slate-800\">${escape_html(resource.name)}</span> <span${attr_class(`rounded-md px-1.5 py-0.5 text-[10px] font-medium ${stringify(sensitivityColor(resource.sensitivity))}`)}>${escape_html(sensitivityLabel(resource.sensitivity))}</span> `);\n\t\t\t\tif (resource.containsPii) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-red-50 px-1.5 py-0.5 text-[10px] text-red-700\">PII</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <span class=\"ml-auto rounded-md bg-violet-50 px-1.5 py-0.5 text-[10px] font-medium text-violet-700\" title=\"Source feature\">${escape_html(row.sourceFeatureName)}</span></div> <div class=\"ml-0 mt-1 flex flex-wrap gap-x-2 gap-y-0.5 text-[11px] text-neutral-500\"><span>${escape_html(resourceKindLabel(resource.kind))}</span> `);\n\t\t\t\tif (resource.provider) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span>· ${escape_html(resource.provider)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <span>· ${escape_html(resourceScopeLabel(resource.scope))}</span> `);\n\t\t\t\tif (resource.location) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span>· ${escape_html(resource.location)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></section>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/domain/value-objects/EntityFieldType.ts\nvar ALL_DATA_FIELD_TYPES = [\n\t\"string\",\n\t\"number\",\n\t\"boolean\",\n\t\"enum\",\n\t\"object\",\n\t\"array\",\n\t\"date\",\n\t\"timestamp\",\n\t\"null\",\n\t\"json\"\n];\nvar dataFieldTypeLabel = (t) => {\n\tswitch (t) {\n\t\tcase \"string\": return \"string\";\n\t\tcase \"number\": return \"number\";\n\t\tcase \"boolean\": return \"boolean\";\n\t\tcase \"enum\": return \"enum\";\n\t\tcase \"object\": return \"object\";\n\t\tcase \"array\": return \"array\";\n\t\tcase \"date\": return \"date\";\n\t\tcase \"timestamp\": return \"timestamp\";\n\t\tcase \"null\": return \"null\";\n\t\tcase \"json\": return \"json\";\n\t}\n};\n//#endregion\n//#region src/features/behavior-model/presentation/components/EntityFieldRow.svelte\nfunction EntityFieldRow($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Visual indent depth (0 = root). */\n\t\t/**\n\t\t* Hides the path / required column. Useful for nested fields that don't\n\t\t* have their own state path or `array → items` placeholders.\n\t\t*/\n\t\tlet { field, depth = 0, hidePath = false, onChange, onRemove } = $$props;\n\t\tconst indentPx = derived(() => depth * 16);\n\t\tfunction patch(p) {\n\t\t\tonChange({\n\t\t\t\t...field,\n\t\t\t\t...p\n\t\t\t});\n\t\t}\n\t\tfunction changeType(type) {\n\t\t\tonChange({\n\t\t\t\t...field,\n\t\t\t\ttype,\n\t\t\t\tfields: type === \"object\" ? field.fields ?? [] : void 0,\n\t\t\t\titems: type === \"array\" ? field.items ?? {\n\t\t\t\t\tid: asEntityFieldId(cryptoIdGenerator()),\n\t\t\t\t\tname: \"item\",\n\t\t\t\t\ttype: \"string\"\n\t\t\t\t} : void 0,\n\t\t\t\tenumValues: type === \"enum\" ? field.enumValues ?? [] : void 0\n\t\t\t});\n\t\t}\n\t\tfunction updateChild(id, next) {\n\t\t\tpatch({ fields: (field.fields ?? []).map((c) => c.id === id ? next : c) });\n\t\t}\n\t\tfunction removeChild(id) {\n\t\t\tpatch({ fields: (field.fields ?? []).filter((c) => c.id !== id) });\n\t\t}\n\t\tfunction updateItems(next) {\n\t\t\tpatch({ items: next });\n\t\t}\n\t\tlet enumDraft = \"\";\n\t\t$$renderer.push(`<div class=\"space-y-1\"${attr_style(\"\", { \"padding-left\": `${stringify(indentPx())}px` })}><div class=\"flex flex-wrap items-center gap-1.5 rounded-md border border-neutral-200 bg-white p-2 text-xs\"><input type=\"text\" class=\"rounded-md border border-neutral-300 px-1.5 py-0.5 text-[11px]\"${attr(\"value\", field.name)} placeholder=\"name\"/> `);\n\t\t$$renderer.select({\n\t\t\tclass: \"rounded-md border border-neutral-300 px-1.5 py-0.5 text-[11px]\",\n\t\t\tvalue: field.type,\n\t\t\tonchange: (e) => changeType(e.target.value)\n\t\t}, ($$renderer) => {\n\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\tconst each_array = ensure_array_like(ALL_DATA_FIELD_TYPES);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet t = each_array[$$index];\n\t\t\t\t$$renderer.option({ value: t }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(dataFieldTypeLabel(t))}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t});\n\t\t$$renderer.push(` `);\n\t\tif (!hidePath) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<label class=\"flex items-center gap-1 text-neutral-600\"><input type=\"checkbox\"${attr(\"checked\", field.required ?? false, true)}/> required</label>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (field.type === \"enum\") {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<input type=\"text\" class=\"mono w-44 rounded-md border border-neutral-300 px-1.5 py-0.5 text-[11px]\"${attr(\"value\", enumDraft)} placeholder=\"comma,separated,values\"/>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <input type=\"text\" class=\"flex-1 rounded-md border border-neutral-200 px-1.5 py-0.5 text-[11px] text-neutral-600\"${attr(\"value\", field.description ?? \"\")} placeholder=\"Description (optional)\"/> `);\n\t\tif (onRemove) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"text-neutral-400 hover:text-red-600\" aria-label=\"Remove field\">✕</button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div> `);\n\t\tif (field.type === \"object\") {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"space-y-1 border-l-2 border-neutral-200 pl-3\"${attr_style(\"\", { \"margin-left\": `${stringify(indentPx() + 4)}px` })}><!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(field.fields ?? []);\n\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\tlet child = each_array_1[$$index_1];\n\t\t\t\tEntityFieldRow($$renderer, {\n\t\t\t\t\tfield: child,\n\t\t\t\t\tdepth: 0,\n\t\t\t\t\thidePath: true,\n\t\t\t\t\tonChange: (next) => updateChild(child.id, next),\n\t\t\t\t\tonRemove: () => removeChild(child.id)\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> <button type=\"button\" class=\"rounded-md border border-neutral-300 px-2 py-0.5 text-[11px] hover:bg-neutral-50\">+ Field</button></div>`);\n\t\t} else if (field.type === \"array\" && field.items) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\tconst itemSchema = field.items;\n\t\t\t$$renderer.push(`<div class=\"space-y-1 border-l-2 border-neutral-200 pl-3\"${attr_style(\"\", { \"margin-left\": `${stringify(indentPx() + 4)}px` })}><p class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Items schema</p> `);\n\t\t\tEntityFieldRow($$renderer, {\n\t\t\t\tfield: itemSchema,\n\t\t\t\tdepth: 0,\n\t\t\t\thidePath: true,\n\t\t\t\tonChange: (next) => updateItems(next)\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/EntityEditor.svelte\nfunction EntityEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data, feature, resources, onChange } = $$props;\n\t\tfunction patch(p) {\n\t\t\tonChange({\n\t\t\t\t...data,\n\t\t\t\t...p\n\t\t\t});\n\t\t}\n\t\tfunction updateField(id, p) {\n\t\t\tpatch({ fields: data.fields.map((f) => f.id === id ? {\n\t\t\t\t...f,\n\t\t\t\t...p\n\t\t\t} : f) });\n\t\t}\n\t\tfunction removeField(id) {\n\t\t\tconst field = data.fields.find((f) => f.id === id);\n\t\t\tif (!field) return;\n\t\t\tif (field.path) {\n\t\t\t\tconst refs = countStatePathReferences(feature, field.path);\n\t\t\t\tconst otherFields = Math.max(0, refs.otherDataFields - 1);\n\t\t\t\tconst adjusted = {\n\t\t\t\t\t...refs,\n\t\t\t\t\totherDataFields: otherFields\n\t\t\t\t};\n\t\t\t\tconst total = totalReferences(adjusted) - refs.stateDefinitions;\n\t\t\t\tconst stateDefHint = refs.stateDefinitions > 0 ? `\\n\\nThe underlying state path \"${field.path}\" still exists as a state definition. Removing this field only removes its catalogue entry, not the state itself.` : \"\";\n\t\t\t\tif (total > 0) {\n\t\t\t\t\tconst breakdown = formatReferenceBreakdown({\n\t\t\t\t\t\t...adjusted,\n\t\t\t\t\t\tstateDefinitions: 0\n\t\t\t\t\t});\n\t\t\t\t\tif (!confirm(`Remove field \"${field.name}\" (${field.path})?\\n\\n${total} link${total === 1 ? \"\" : \"s\"} elsewhere reference this path:\\n ${breakdown}\\n\\nThese references won't be deleted, but they may now be undocumented.${stateDefHint}`)) return;\n\t\t\t\t} else if (!confirm(`Remove field \"${field.name}\"?`)) return;\n\t\t\t} else if (!confirm(`Remove field \"${field.name}\"?`)) return;\n\t\t\tpatch({ fields: data.fields.filter((f) => f.id !== id) });\n\t\t}\n\t\tfunction setResource(raw) {\n\t\t\tif (raw.length === 0) {\n\t\t\t\tpatch({ resourceId: void 0 });\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tpatch({ resourceId: asResourceId(raw) });\n\t\t}\n\t\tfunction findResource(id) {\n\t\t\tif (!id) return void 0;\n\t\t\treturn resources.find((r) => r.id === id);\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-4 text-sm\"><section class=\"space-y-2\"><label class=\"block text-xs font-medium text-neutral-600\">Namespace <input type=\"text\" class=\"mono mt-1 w-full rounded-md border border-neutral-300 px-2 py-1 text-sm\"${attr(\"value\", data.namespace)}/> <span class=\"mt-0.5 block text-[10px] text-neutral-500\">Canonical identifier and first segment of every field's state path. The display name is\n derived automatically. Renaming re-bases existing fields.</span></label> <label class=\"block text-xs font-medium text-neutral-600\">Description <textarea rows=\"2\" class=\"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\">`);\n\t\tconst $$body = escape_html(data.description ?? \"\");\n\t\tif ($$body) $$renderer.push(`${$$body}`);\n\t\t$$renderer.push(`</textarea></label></section> <section><header class=\"mb-1 flex items-center gap-2\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Backed by resource</span> `);\n\t\tif (data.resourceId) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"text-[10px] text-neutral-400 hover:text-red-600\">clear</button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></header> `);\n\t\tif (resources.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"text-[11px] text-neutral-400\">No resources defined yet. Open the Resources tab to catalogue where this entity lives.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tconst linked = findResource(data.resourceId);\n\t\t\t$$renderer.select({\n\t\t\t\tclass: \"w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\",\n\t\t\t\tvalue: data.resourceId ?? \"\",\n\t\t\t\tonchange: (e) => setResource(e.target.value)\n\t\t\t}, ($$renderer) => {\n\t\t\t\t$$renderer.option({ value: \"\" }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`- No resource -`);\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\tconst each_array = ensure_array_like(resources);\n\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\tlet r = each_array[$$index];\n\t\t\t\t\t$$renderer.option({ value: r.id }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`${escape_html(r.name)} (${escape_html(resourceKindLabel(r.kind))} · ${escape_html(sensitivityLabel(r.sensitivity))})`);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t});\n\t\t\t$$renderer.push(` `);\n\t\t\tif (linked) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<p class=\"mt-1 text-[11px] text-neutral-500\">${escape_html(linked.provider)}${escape_html(linked.location ? ` · ${linked.location}` : \"\")} `);\n\t\t\t\tif (linked.containsPii) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"ml-1 text-red-700\">· PII</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></p>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></section> <section><header class=\"mb-1 flex items-center justify-between\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Fields (${escape_html(data.fields.length)})</span> <button type=\"button\" class=\"rounded-md border border-neutral-300 px-2 py-0.5 text-xs hover:bg-neutral-50\">+ Field</button></header> `);\n\t\tif (data.fields.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"text-[11px] text-neutral-500\">No fields yet.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"space-y-2\"><!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(data.fields);\n\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\tlet field = each_array_1[$$index_1];\n\t\t\t\t$$renderer.push(`<li class=\"space-y-1\"><div class=\"flex flex-wrap items-center gap-1.5 text-xs\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Path</span> <input type=\"text\" class=\"mono flex-1 rounded-md border border-neutral-300 px-1.5 py-0.5 text-[11px]\"${attr(\"value\", field.path ?? \"\")} placeholder=\"namespace.field\"/></div> `);\n\t\t\t\tEntityFieldRow($$renderer, {\n\t\t\t\t\tfield,\n\t\t\t\t\tonChange: (next) => updateField(field.id, next),\n\t\t\t\t\tonRemove: () => removeField(field.id)\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!----></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></section></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/EntityManager.svelte\nfunction EntityManager($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature } = $$props;\n\t\tlet expandedNamespace = null;\n\t\tconst effective = derived(() => getEffectiveEntities(feature));\n\t\tconst inherited = derived(() => inheritedData(projectContextStore.siblings));\n\t\tasync function update(data) {\n\t\t\tawait featureStore.mutate((current) => updateEntity(current, data));\n\t\t}\n\t\tfunction findResource(resourceId) {\n\t\t\tif (!resourceId) return null;\n\t\t\treturn feature.resources.find((r) => r.id === resourceId) ?? null;\n\t\t}\n\t\tfunction findStored(namespace) {\n\t\t\treturn feature.entities.find((d) => d.namespace === namespace);\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-6\"><header class=\"space-y-1\"><h2 class=\"text-lg font-semibold text-neutral-900\">Entity</h2> <p class=\"text-sm text-neutral-600\">Logical entities your feature handles. User, Order, Cart, Product. Every state-path\n namespace appears here as a fact derived from your model. Expand an entry to attach a\n description or link a resource.</p></header> `);\n\t\tif (effective().length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-neutral-300 p-4 text-center text-sm text-neutral-500\">No data yet. Define some state on a surface. Entries will appear here automatically.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"divide-y divide-neutral-200 rounded-md border border-neutral-200 bg-white\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(effective());\n\t\t\tfor (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet entry = each_array[$$index_2];\n\t\t\t\tconst isExpanded = expandedNamespace === entry.namespace;\n\t\t\t\tconst stored = findStored(entry.namespace);\n\t\t\t\tconst linkedResource = findResource(entry.resourceId);\n\t\t\t\t$$renderer.push(`<li><header class=\"flex flex-wrap items-baseline gap-2 px-4 py-3\"><button type=\"button\" class=\"flex flex-1 items-baseline gap-2 text-left\"><span class=\"text-neutral-400\">${escape_html(isExpanded ? \"▾\" : \"▸\")}</span> <h3 class=\"text-base font-semibold text-neutral-900\">${escape_html(entry.name)}</h3> <span class=\"mono text-[11px] text-neutral-500\">${escape_html(entry.namespace)}</span> <span class=\"text-[11px] text-neutral-500\">· ${escape_html(entry.fields.length)} field${escape_html(entry.fields.length === 1 ? \"\" : \"s\")}</span> `);\n\t\t\t\tif (entry.usedBySurfaces.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"text-[11px] text-neutral-500\">· on: ${escape_html(entry.usedBySurfaces.join(\", \"))}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (!entry.isMaterialized) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-neutral-100 px-1.5 py-0.5 text-[10px] uppercase tracking-wide text-neutral-500\" title=\"No metadata attached yet. Expand to add a description or link a resource.\">Auto</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (linkedResource) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-violet-50 px-1.5 py-0.5 text-[10px] text-violet-800\">${escape_html(linkedResource.name)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></button> `);\n\t\t\t\tif (entry.isMaterialized) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"text-[11px] text-neutral-400 hover:text-red-600\" title=\"Drop the stored record and revert to the auto-deduced view\">Reset</button>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></header> `);\n\t\t\t\tif (linkedResource) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"flex w-full flex-wrap items-center gap-x-2 gap-y-0.5 px-4 pb-1 text-left text-[11px] text-violet-900 hover:underline\" title=\"Open the Resources tab\"><span class=\"font-medium\">Stored in:</span> <span>${escape_html(linkedResource.name)}</span> <span class=\"text-violet-600\">·</span> <span>${escape_html(resourceKindLabel(linkedResource.kind))}</span> `);\n\t\t\t\t\tif (linkedResource.provider) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<span class=\"text-violet-600\">·</span> <span>${escape_html(linkedResource.provider)}</span>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\tif (linkedResource.location) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<span class=\"text-violet-600\">·</span> <span>${escape_html(linkedResource.location)}</span>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> <span class=\"text-violet-600\">·</span> <span>${escape_html(sensitivityLabel(linkedResource.sensitivity))}</span> `);\n\t\t\t\t\tif (linkedResource.containsPii) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<span class=\"rounded-md bg-red-50 px-1.5 py-0.5 text-[10px] text-red-700\">PII</span>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> <!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(linkedResource.complianceTags);\n\t\t\t\t\tfor (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\tlet tag = each_array_1[$$index];\n\t\t\t\t\t\t$$renderer.push(`<span class=\"mono rounded-md bg-violet-100/70 px-1 py-0.5 text-[10px] uppercase text-violet-800\">${escape_html(tag)}</span>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></button>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (!isExpanded) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<ul class=\"flex flex-wrap gap-1.5 px-4 pb-3 pt-1\"><!--[-->`);\n\t\t\t\t\tconst each_array_2 = ensure_array_like(entry.fields);\n\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\tlet f = each_array_2[$$index_1];\n\t\t\t\t\t\t$$renderer.push(`<li class=\"inline-flex items-center gap-1 rounded-md border border-neutral-200 bg-neutral-50 px-2 py-0.5 text-[11px] text-neutral-700\"${attr(\"title\", f.path)}><span>${escape_html(humanizeStatePath(f.path))}</span> <span class=\"rounded bg-neutral-200 px-1 text-[10px] text-neutral-600\">${escape_html(f.type)}</span></li>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t\t\t} else if (stored) {\n\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"border-t border-neutral-200 bg-neutral-50/40 px-4 py-3\">`);\n\t\t\t\t\tEntityEditor($$renderer, {\n\t\t\t\t\t\tdata: stored,\n\t\t\t\t\t\tfeature,\n\t\t\t\t\t\tresources: feature.resources,\n\t\t\t\t\t\tonChange: (next) => update(next)\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (inherited().length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<section class=\"space-y-2 border-t border-dashed border-neutral-200 pt-3\"><header class=\"flex items-baseline justify-between\"><h3 class=\"text-[11px] font-semibold uppercase tracking-wide text-slate-500\">Inherited from project</h3> <p class=\"text-[10px] text-slate-400\">Read-only. Edit on the source feature.</p></header> <ul class=\"divide-y divide-slate-100 rounded-md border border-slate-200 bg-slate-50/40\"><!--[-->`);\n\t\t\tconst each_array_3 = ensure_array_like(inherited());\n\t\t\tfor (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n\t\t\t\tlet row = each_array_3[$$index_3];\n\t\t\t\tconst data = row.value;\n\t\t\t\t$$renderer.push(`<li class=\"flex flex-wrap items-baseline gap-2 px-4 py-2 text-xs\"><span class=\"font-medium text-slate-800\">${escape_html(data.namespace)}</span> <span class=\"text-[11px] text-neutral-500\">· ${escape_html(data.fields.length)} field${escape_html(data.fields.length === 1 ? \"\" : \"s\")}</span> <span class=\"ml-auto rounded-md bg-violet-50 px-1.5 py-0.5 text-[10px] font-medium text-violet-700\" title=\"Source feature\">${escape_html(row.sourceFeatureName)}</span></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></section>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/EventsManager.svelte\nfunction EventsManager($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature } = $$props;\n\t\tconst groups = derived(() => groupEventCatalog(buildEventCatalog(feature)));\n\t\tconst total = derived(() => groups().reduce((acc, g) => acc + g.events.length, 0));\n\t\tconst registered = derived(() => feature.events ?? []);\n\t\tconst inherited = derived(() => inheritedEvents(projectContextStore.siblings));\n\t\tconst payloadTypes = [\n\t\t\t\"string\",\n\t\t\t\"number\",\n\t\t\t\"boolean\",\n\t\t\t\"enum\",\n\t\t\t\"object\",\n\t\t\t\"array\"\n\t\t];\n\t\tlet newEventName = \"\";\n\t\tasync function updateRegisteredEvent(event, patch) {\n\t\t\tawait featureStore.mutate((current) => updateEvent(current, {\n\t\t\t\t...event,\n\t\t\t\t...patch\n\t\t\t}));\n\t\t}\n\t\tfunction updatePayloadField(event, index, patch) {\n\t\t\tupdateRegisteredEvent(event, { payloadSchema: (event.payloadSchema ?? []).map((field, i) => i === index ? {\n\t\t\t\t...field,\n\t\t\t\t...patch\n\t\t\t} : field) });\n\t\t}\n\t\tfunction originLabel(o) {\n\t\t\tswitch (o) {\n\t\t\t\tcase \"action_default\": return \"declared\";\n\t\t\t\tcase \"action_effect\": return \"action effect\";\n\t\t\t\tcase \"action_rule_effect\": return \"action rule\";\n\t\t\t\tcase \"surface_rule_effect\": return \"surface rule\";\n\t\t\t}\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-6\"><header class=\"space-y-1\"><h2 class=\"text-lg font-semibold text-neutral-900\">Events</h2> <p class=\"text-sm text-neutral-600\">Every event the feature emits. Across action declarations, default effects, and\n rule effects. Grouped by namespace so the product's signal vocabulary is discoverable in\n one place. ${escape_html(total())} unique event${escape_html(total() === 1 ? \"\" : \"s\")} in ${escape_html(groups().length)} group${escape_html(groups().length === 1 ? \"\" : \"s\")}.</p></header> <section class=\"space-y-3 rounded-md border border-neutral-200 bg-white p-3\"><header class=\"flex flex-wrap items-center justify-between gap-2\"><div><h3 class=\"text-sm font-semibold text-neutral-900\">Registry</h3> <p class=\"text-xs text-neutral-500\">First-class events and payload schemas. Emissions below can reference these names.</p></div> <div class=\"flex items-start gap-2\"><label class=\"block\"><span class=\"sr-only\">New event name</span> <input type=\"text\" class=\"mono w-52 rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", newEventName)} placeholder=\"audit.started\"/> `);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></label> <button type=\"button\" class=\"rounded-md bg-brand-600 px-3 py-1.5 text-xs font-medium text-white hover:bg-brand-700\">Add event</button></div></header> `);\n\t\tif (registered().length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-neutral-300 p-3 text-center text-xs text-neutral-500\">No registered events yet.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"space-y-2\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(registered());\n\t\t\tfor (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet event = each_array[$$index_2];\n\t\t\t\t$$renderer.push(`<li class=\"space-y-2 rounded-md border border-neutral-200 bg-neutral-50/40 p-3\"><div class=\"flex flex-wrap items-start gap-2\"><label class=\"block flex-1 text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Name <input type=\"text\" class=\"mono mt-1 w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", event.name)}/></label> <label class=\"block flex-[2] text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Description <input type=\"text\" class=\"mt-1 w-full rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", event.description ?? \"\")}/></label> <button type=\"button\" class=\"mt-5 text-xs text-neutral-400 hover:text-red-600\">Remove</button></div> <section><header class=\"mb-1 flex items-center justify-between\"><span class=\"text-[10px] font-medium uppercase tracking-wide text-neutral-500\">Payload (${escape_html(event.payloadSchema?.length ?? 0)})</span> <button type=\"button\" class=\"rounded-md border border-neutral-300 px-2 py-0.5 text-[11px] hover:bg-white\">+ Field</button></header> `);\n\t\t\t\tif ((event.payloadSchema?.length ?? 0) === 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"text-[11px] text-neutral-500\">No payload fields.</p>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<ul class=\"space-y-1\"><!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(event.payloadSchema ?? []);\n\t\t\t\t\tfor (let i = 0, $$length = each_array_1.length; i < $$length; i++) {\n\t\t\t\t\t\tlet field = each_array_1[i];\n\t\t\t\t\t\t$$renderer.push(`<li class=\"flex flex-wrap items-center gap-1.5\"><input type=\"text\" class=\"mono rounded-md border border-neutral-300 px-1.5 py-0.5 text-[11px]\"${attr(\"value\", field.name)}/> `);\n\t\t\t\t\t\t$$renderer.select({\n\t\t\t\t\t\t\tclass: \"rounded-md border border-neutral-300 px-1.5 py-0.5 text-[11px]\",\n\t\t\t\t\t\t\tvalue: field.type,\n\t\t\t\t\t\t\tonchange: (e) => updatePayloadField(event, i, { type: e.target.value })\n\t\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\t\t\tconst each_array_2 = ensure_array_like(payloadTypes);\n\t\t\t\t\t\t\tfor (let $$index = 0, $$length = each_array_2.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\t\t\tlet type = each_array_2[$$index];\n\t\t\t\t\t\t\t\t$$renderer.option({ value: type }, ($$renderer) => {\n\t\t\t\t\t\t\t\t\t$$renderer.push(`${escape_html(type)}`);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(` <label class=\"inline-flex items-center gap-1 text-[11px] text-neutral-600\"><input type=\"checkbox\"${attr(\"checked\", field.required, true)}/> required</label> <input type=\"text\" class=\"min-w-40 flex-1 rounded-md border border-neutral-300 px-1.5 py-0.5 text-[11px]\"${attr(\"value\", field.description ?? \"\")} placeholder=\"Description\"/> <button type=\"button\" class=\"text-xs text-neutral-400 hover:text-red-600\" aria-label=\"Remove payload field\">x</button></li>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></section></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></section> `);\n\t\tif (total() === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-neutral-300 p-4 text-center text-sm text-neutral-500\">No events emitted yet. Add an <span class=\"mono\">emit_event</span> effect to an action or rule.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"space-y-5\"><!--[-->`);\n\t\t\tconst each_array_3 = ensure_array_like(groups());\n\t\t\tfor (let $$index_5 = 0, $$length = each_array_3.length; $$index_5 < $$length; $$index_5++) {\n\t\t\t\tlet group = each_array_3[$$index_5];\n\t\t\t\t$$renderer.push(`<section><header class=\"mb-1 flex items-baseline gap-2\"><h3 class=\"text-sm font-semibold text-neutral-900\">${escape_html(group.group)}</h3> <span class=\"text-[11px] text-neutral-500\">${escape_html(group.events.length)} event${escape_html(group.events.length === 1 ? \"\" : \"s\")}</span></header> <ul class=\"divide-y divide-neutral-200 rounded-md border border-neutral-200 bg-white\"><!--[-->`);\n\t\t\t\tconst each_array_4 = ensure_array_like(group.events);\n\t\t\t\tfor (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {\n\t\t\t\t\tlet event = each_array_4[$$index_4];\n\t\t\t\t\t$$renderer.push(`<li class=\"px-3 py-2\"><header class=\"flex flex-wrap items-baseline gap-2\"><code class=\"mono text-sm font-medium text-neutral-900\">${escape_html(event.name)}</code> <span class=\"text-[11px] text-neutral-500\">${escape_html(event.emissions.length)} emission${escape_html(event.emissions.length === 1 ? \"\" : \"s\")}</span></header> <ul class=\"mt-1.5 space-y-0.5\"><!--[-->`);\n\t\t\t\t\tconst each_array_5 = ensure_array_like(event.emissions);\n\t\t\t\t\tfor (let i = 0, $$length = each_array_5.length; i < $$length; i++) {\n\t\t\t\t\t\tlet emission = each_array_5[i];\n\t\t\t\t\t\t$$renderer.push(`<li class=\"flex flex-wrap items-center gap-1.5 text-[11px] text-neutral-600\"><button type=\"button\" class=\"rounded-md border border-neutral-200 bg-neutral-50 px-1.5 py-0.5 hover:border-brand-300 hover:bg-brand-50 hover:text-brand-800\" title=\"Open in feature editor\">${escape_html(emission.surfaceName)}${escape_html(emission.actionName ? ` · ${emission.actionName}` : \"\")}</button> <span class=\"rounded bg-neutral-100 px-1 text-[10px] uppercase tracking-wide text-neutral-500\">${escape_html(originLabel(emission.origin))}</span> `);\n\t\t\t\t\t\tif (emission.description) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<span class=\"text-neutral-500\">- ${escape_html(emission.description)}</span>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></ul></li>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></ul></section>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (inherited().length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<section class=\"space-y-2 border-t border-dashed border-neutral-200 pt-3\"><header class=\"flex items-baseline justify-between\"><h3 class=\"text-[11px] font-semibold uppercase tracking-wide text-slate-500\">Inherited from project</h3> <p class=\"text-[10px] text-slate-400\">Read-only. Edit on the source feature.</p></header> <ul class=\"divide-y divide-slate-100 rounded-md border border-slate-200 bg-slate-50/40\"><!--[-->`);\n\t\t\tconst each_array_6 = ensure_array_like(inherited());\n\t\t\tfor (let $$index_6 = 0, $$length = each_array_6.length; $$index_6 < $$length; $$index_6++) {\n\t\t\t\tlet row = each_array_6[$$index_6];\n\t\t\t\tconst event = row.value;\n\t\t\t\t$$renderer.push(`<li class=\"flex flex-wrap items-baseline gap-2 px-4 py-2 text-xs\"><span class=\"mono font-medium text-slate-800\">${escape_html(event.name)}</span> `);\n\t\t\t\tif (event.payloadSchema && event.payloadSchema.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"text-[11px] text-neutral-500\">· ${escape_html(event.payloadSchema.length)} payload field${escape_html(event.payloadSchema.length === 1 ? \"\" : \"s\")}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <span class=\"ml-auto rounded-md bg-violet-50 px-1.5 py-0.5 text-[10px] font-medium text-violet-700\" title=\"Source feature\">${escape_html(row.sourceFeatureName)}</span></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></section>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/FeatureInvariantsEditor.svelte\nfunction FeatureInvariantsEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature } = $$props;\n\t\tconst availablePaths = derived(() => feature.surfaces.flatMap((s) => s.stateDefinitions.map((d) => d.path)));\n\t\tconst invariants = derived(() => feature.featureInvariants ?? []);\n\t\tasync function update(next) {\n\t\t\tawait featureStore.mutate((current) => updateFeatureInvariant(current, next.id, next));\n\t\t}\n\t\tasync function remove(id) {\n\t\t\tawait featureStore.mutate((current) => removeFeatureInvariant(current, id));\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-3\"><div class=\"rounded-md border border-violet-200 bg-violet-50/50 p-3 text-xs text-violet-900\"><p class=\"font-semibold\">Feature-level invariants</p> <p class=\"mt-0.5 text-[11px] leading-relaxed\">Checked after EVERY action runs in this feature, no matter which surface it lives on. Use\n these for global properties: accounting equations (Σ balances = 0), referential\n integrity across surfaces, anything that must hold project-wide. Surface-local\n invariants stay on the surface; declare here only when the property is global.</p></div> <div class=\"flex justify-end\"><button type=\"button\" class=\"inline-flex items-center gap-1 rounded-md border border-slate-300 bg-white px-3 py-1.5 text-xs font-medium text-slate-700 transition hover:bg-slate-50\"><span class=\"text-base leading-none\">+</span> Add feature invariant</button></div> `);\n\t\tif (invariants().length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"rounded-lg border border-dashed border-slate-300 bg-slate-50/30 p-6 text-center\"><p class=\"text-sm font-medium text-slate-700\">No feature-level invariants yet</p> <p class=\"mx-auto mt-1 max-w-md text-xs text-slate-500\">Most features don't need any, only add them when a property must hold across multiple\n surfaces (e.g. accounting equations, cross-surface referential integrity).</p></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"space-y-2\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(invariants());\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet invariant = each_array[$$index];\n\t\t\t\tInvariantEditor($$renderer, {\n\t\t\t\t\tinvariant,\n\t\t\t\t\tavailablePaths: availablePaths(),\n\t\t\t\t\tonChange: (next) => update(next),\n\t\t\t\t\tonRemove: () => remove(invariant.id)\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/TransitionsManager.svelte\nfunction TransitionsManager($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { feature } = $$props;\n\t\tconst entries = derived(() => buildTransitionCatalog(feature));\n\t\tconst groups = derived(() => groupTransitionCatalog(entries()));\n\t\tconst total = derived(() => entries().length);\n\t\tconst inherited = derived(() => inheritedTransitions(projectContextStore.siblings));\n\t\tlet sourceDraft = \"\";\n\t\tlet targetDraft = \"\";\n\t\tasync function updateDeclaredTransition(sourceId, transition, patch) {\n\t\t\tawait featureStore.mutate((current) => updateTransitionOnSurface(current, sourceId, transition.id, patch));\n\t\t}\n\t\tfunction originLabel(o) {\n\t\t\tswitch (o) {\n\t\t\t\tcase \"declared\": return \"declared\";\n\t\t\t\tcase \"action_effect\": return \"action effect\";\n\t\t\t\tcase \"action_rule_effect\": return \"action rule\";\n\t\t\t\tcase \"surface_rule_effect\": return \"surface rule\";\n\t\t\t}\n\t\t}\n\t\t$$renderer.push(`<div class=\"space-y-6\"><header class=\"space-y-1\"><h2 class=\"text-lg font-semibold text-neutral-900\">Transitions</h2> <p class=\"text-sm text-neutral-600\">Every authored navigation between surfaces. Declared transitions, default <span class=\"mono\">transition_surface</span> effects, and rule-driven transitions.\n ${escape_html(total())} edge${escape_html(total() === 1 ? \"\" : \"s\")} across ${escape_html(groups().length)} source surface${escape_html(groups().length === 1 ? \"\" : \"s\")}.</p></header> <section class=\"space-y-3 rounded-md border border-neutral-200 bg-white p-3\"><header class=\"flex flex-wrap items-center justify-between gap-2\"><div><h3 class=\"text-sm font-semibold text-neutral-900\">Declared transitions</h3> <p class=\"text-xs text-neutral-500\">Surface-level navigation edges, separate from transition effects on rules and actions.</p></div> `);\n\t\tif (feature.surfaces.length >= 2) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"flex flex-wrap items-center gap-2\">`);\n\t\t\t$$renderer.select({\n\t\t\t\tclass: \"rounded-md border border-neutral-300 px-2 py-1 text-xs\",\n\t\t\t\tvalue: sourceDraft,\n\t\t\t\t\"aria-label\": \"Source surface\"\n\t\t\t}, ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\tconst each_array = ensure_array_like(feature.surfaces);\n\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\tlet surface = each_array[$$index];\n\t\t\t\t\t$$renderer.option({ value: surface.id }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`${escape_html(surface.name)}`);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t});\n\t\t\t$$renderer.push(` <span class=\"text-xs text-neutral-400\">to</span> `);\n\t\t\t$$renderer.select({\n\t\t\t\tclass: \"rounded-md border border-neutral-300 px-2 py-1 text-xs\",\n\t\t\t\tvalue: targetDraft,\n\t\t\t\t\"aria-label\": \"Target surface\"\n\t\t\t}, ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\tconst each_array_1 = ensure_array_like(feature.surfaces);\n\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\tlet surface = each_array_1[$$index_1];\n\t\t\t\t\t$$renderer.option({ value: surface.id }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`${escape_html(surface.name)}`);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t});\n\t\t\t$$renderer.push(` <button type=\"button\" class=\"rounded-md bg-brand-600 px-3 py-1.5 text-xs font-medium text-white hover:bg-brand-700 disabled:opacity-50\"${attr(\"disabled\", true, true)}>Add transition</button></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></header> `);\n\t\tif (feature.surfaces.length < 2) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-neutral-300 p-3 text-center text-xs text-neutral-500\">Add at least two surfaces to declare navigation.</p>`);\n\t\t} else if (feature.surfaces.every((surface) => surface.transitions.length === 0)) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-neutral-300 p-3 text-center text-xs text-neutral-500\">No declared transitions yet.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"space-y-2\"><!--[-->`);\n\t\t\tconst each_array_2 = ensure_array_like(feature.surfaces);\n\t\t\tfor (let $$index_4 = 0, $$length = each_array_2.length; $$index_4 < $$length; $$index_4++) {\n\t\t\t\tlet source = each_array_2[$$index_4];\n\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\tconst each_array_3 = ensure_array_like(source.transitions);\n\t\t\t\tfor (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n\t\t\t\t\tlet transition = each_array_3[$$index_3];\n\t\t\t\t\t$$renderer.push(`<li class=\"flex flex-wrap items-start gap-2 rounded-md border border-neutral-200 bg-neutral-50/40 p-2 text-xs\"><span class=\"mt-1 font-medium text-neutral-800\">${escape_html(source.name)}</span> <span class=\"mt-1 text-neutral-400\">to</span> `);\n\t\t\t\t\t$$renderer.select({\n\t\t\t\t\t\tclass: \"rounded-md border border-neutral-300 px-2 py-1 text-xs\",\n\t\t\t\t\t\tvalue: transition.target,\n\t\t\t\t\t\tonchange: (e) => updateDeclaredTransition(source.id, transition, { target: asSurfaceId(e.target.value) })\n\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\t\tconst each_array_4 = ensure_array_like(feature.surfaces);\n\t\t\t\t\t\tfor (let $$index_2 = 0, $$length = each_array_4.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\t\t\t\tlet target = each_array_4[$$index_2];\n\t\t\t\t\t\t\t$$renderer.option({ value: target.id }, ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`${escape_html(target.name)}`);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(` <input type=\"text\" class=\"min-w-32 rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", transition.label ?? \"\")} placeholder=\"Label\"/> <input type=\"text\" class=\"min-w-48 flex-1 rounded-md border border-neutral-300 px-2 py-1 text-xs\"${attr(\"value\", transition.description ?? \"\")} placeholder=\"Description\"/> <button type=\"button\" class=\"mt-1 text-xs text-neutral-400 hover:text-red-600\">Remove</button></li>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></section> `);\n\t\tif (total() === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"rounded-md border border-dashed border-neutral-300 p-4 text-center text-sm text-neutral-500\">No transitions yet. Add a <span class=\"mono\">transition_surface</span> effect to a\n action, or declare one in a surface's <em>transitions</em>.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"space-y-5\"><!--[-->`);\n\t\t\tconst each_array_5 = ensure_array_like(groups());\n\t\t\tfor (let $$index_7 = 0, $$length = each_array_5.length; $$index_7 < $$length; $$index_7++) {\n\t\t\t\tlet group = each_array_5[$$index_7];\n\t\t\t\t$$renderer.push(`<section><header class=\"mb-1 flex items-baseline gap-2\"><button type=\"button\" class=\"text-sm font-semibold text-neutral-900 hover:text-brand-700 hover:underline\" title=\"Open this surface\">${escape_html(group.fromSurfaceName)}</button> <span class=\"text-[11px] text-neutral-500\">${escape_html(group.transitions.length)} outgoing edge${escape_html(group.transitions.length === 1 ? \"\" : \"s\")}</span></header> <ul class=\"divide-y divide-neutral-200 rounded-md border border-neutral-200 bg-white\"><!--[-->`);\n\t\t\t\tconst each_array_6 = ensure_array_like(group.transitions);\n\t\t\t\tfor (let $$index_6 = 0, $$length = each_array_6.length; $$index_6 < $$length; $$index_6++) {\n\t\t\t\t\tlet edge = each_array_6[$$index_6];\n\t\t\t\t\t$$renderer.push(`<li class=\"px-3 py-2\"><header class=\"flex flex-wrap items-baseline gap-2 text-sm\"><span class=\"text-neutral-700\">${escape_html(edge.fromSurfaceName)}</span> <span class=\"text-neutral-400\" aria-hidden=\"true\">→</span> <button type=\"button\" class=\"font-medium text-neutral-900 hover:text-brand-700 hover:underline\" title=\"Open target surface\">${escape_html(edge.toSurfaceName)}</button> <span class=\"text-[11px] text-neutral-500\">${escape_html(edge.sources.length)} source${escape_html(edge.sources.length === 1 ? \"\" : \"s\")}</span></header> <ul class=\"mt-1.5 space-y-0.5\"><!--[-->`);\n\t\t\t\t\tconst each_array_7 = ensure_array_like(edge.sources);\n\t\t\t\t\tfor (let i = 0, $$length = each_array_7.length; i < $$length; i++) {\n\t\t\t\t\t\tlet source = each_array_7[i];\n\t\t\t\t\t\t$$renderer.push(`<li class=\"flex flex-wrap items-center gap-1.5 text-[11px] text-neutral-600\"><button type=\"button\" class=\"rounded-md border border-neutral-200 bg-neutral-50 px-1.5 py-0.5 hover:border-brand-300 hover:bg-brand-50 hover:text-brand-800\" title=\"Open in feature editor\">`);\n\t\t\t\t\t\tif (source.actionName) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`${escape_html(source.actionName)}`);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`${escape_html(source.surfaceName)} (surface)`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]--></button> <span class=\"rounded bg-neutral-100 px-1 text-[10px] uppercase tracking-wide text-neutral-500\">${escape_html(originLabel(source.origin))}</span> `);\n\t\t\t\t\t\tif (source.description) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<span class=\"text-neutral-500\">- ${escape_html(source.description)}</span>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></ul></li>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></ul></section>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (inherited().length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<section class=\"space-y-2 border-t border-dashed border-neutral-200 pt-3\"><header class=\"flex items-baseline justify-between\"><h3 class=\"text-[11px] font-semibold uppercase tracking-wide text-slate-500\">Inherited from project</h3> <p class=\"text-[10px] text-slate-400\">Read-only. Edit on the source feature.</p></header> <ul class=\"divide-y divide-slate-100 rounded-md border border-slate-200 bg-slate-50/40\"><!--[-->`);\n\t\t\tconst each_array_8 = ensure_array_like(inherited());\n\t\t\tfor (let $$index_8 = 0, $$length = each_array_8.length; $$index_8 < $$length; $$index_8++) {\n\t\t\t\tlet row = each_array_8[$$index_8];\n\t\t\t\tconst t = row.value;\n\t\t\t\t$$renderer.push(`<li class=\"flex flex-wrap items-baseline gap-2 px-4 py-2 text-xs\"><span class=\"flex flex-wrap items-baseline gap-1.5 font-medium text-slate-800\"><span>${escape_html(t.surfaceName)}</span> <span class=\"text-slate-400\" aria-hidden=\"true\">→</span> `);\n\t\t\t\tif (t.targetMissing) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"rounded bg-amber-50 px-1.5 py-0.5 text-[10px] font-medium text-amber-800\" title=\"No surface with this id in the source feature, broken reference\">! unresolved</span> <span class=\"mono text-[10px] text-slate-400\" title=\"Target surface id\">${escape_html(t.target)}</span>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<span>${escape_html(t.targetName)}</span>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></span> `);\n\t\t\t\tif (t.label) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"text-[11px] text-slate-500\">· ${escape_html(t.label)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <span class=\"ml-auto rounded-md bg-violet-50 px-1.5 py-0.5 text-[10px] font-medium text-violet-700\" title=\"Source feature\">${escape_html(row.sourceFeatureName)}</span></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></section>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/features/behavior-model/presentation/components/FeatureEditor.svelte\nfunction FeatureEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tnew Set([\n\t\t\t\"build\",\n\t\t\t\"resources\",\n\t\t\t\"data\",\n\t\t\t\"events\",\n\t\t\t\"transitions\",\n\t\t\t\"invariants\"\n\t\t]);\n\t\tnew Set([\n\t\t\t\"actions\",\n\t\t\t\"state\",\n\t\t\t\"rules\",\n\t\t\t\"invariants\",\n\t\t\t\"data\",\n\t\t\t\"resources\",\n\t\t\t\"personas\"\n\t\t]);\n\t\tlet { feature } = $$props;\n\t\tconst activeTab = derived(() => editorStore.topLevelTab);\n\t\tconst selectedSurface = derived(() => feature.surfaces.find((s) => s.id === editorStore.selectedSurfaceId) ?? null);\n\t\tconst selectedSurfaceForUse = derived(() => selectedSurface() ? withSharedStateDefinitions(feature, selectedSurface()) : null);\n\t\tconst effectiveDataCount = derived(() => getEffectiveEntities(feature).length);\n\t\tconst eventsCount = derived(() => buildEventCatalog(feature).length);\n\t\tconst transitionsCount = derived(() => buildTransitionCatalog(feature).length);\n\t\tconst tabs = derived(() => [\n\t\t\t{\n\t\t\t\tkey: \"build\",\n\t\t\t\tlabel: \"Build\",\n\t\t\t\tcount: feature.surfaces.length\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"resources\",\n\t\t\t\tlabel: \"Resources\",\n\t\t\t\tcount: feature.resources.length\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"data\",\n\t\t\t\tlabel: \"Entity\",\n\t\t\t\tcount: effectiveDataCount()\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"events\",\n\t\t\t\tlabel: \"Events\",\n\t\t\t\tcount: eventsCount()\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"transitions\",\n\t\t\t\tlabel: \"Transitions\",\n\t\t\t\tcount: transitionsCount()\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"invariants\",\n\t\t\t\tlabel: \"Invariants\",\n\t\t\t\tcount: feature.featureInvariants?.length ?? 0\n\t\t\t}\n\t\t]);\n\t\tlet historyOpen = false;\n\t\tlet $$settled = true;\n\t\tlet $$inner_renderer;\n\t\tfunction $$render_inner($$renderer) {\n\t\t\t$$renderer.push(`<div class=\"relative flex\"><div class=\"mx-auto flex max-w-400 flex-1 flex-col gap-4 px-4 py-6 sm:px-6\">`);\n\t\t\tFeatureHeader($$renderer, {\n\t\t\t\tfeature,\n\t\t\t\tsaving: featureStore.saving,\n\t\t\t\thistoryOpen,\n\t\t\t\tonToggleHistory: () => historyOpen = !historyOpen\n\t\t\t});\n\t\t\t$$renderer.push(`<!----> `);\n\t\t\tFeatureHealthStrip($$renderer, { feature });\n\t\t\t$$renderer.push(`<!----> <div aria-hidden=\"true\" class=\"h-px\"></div> <nav${attr_class(`sticky top-16 z-20 -mx-4 flex flex-wrap gap-1 border-b border-hairline bg-canvas/95 px-4 backdrop-blur transition-shadow `)}><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(tabs());\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet tab = each_array[$$index];\n\t\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(`-mb-px border-b-2 px-4 py-2 text-sm font-medium transition ${activeTab() === tab.key ? \"border-brand-700 text-brand-800\" : \"border-transparent text-slate-600 hover:text-slate-900\"}`)}>${escape_html(tab.label)}${escape_html(tab.count !== void 0 ? ` (${tab.count})` : \"\")}</button>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></nav> <!---->`);\n\t\t\t$$renderer.push(`<div class=\"motion-reduce:animate-none! motion-reduce:opacity-100!\">`);\n\t\t\tif (activeTab() === \"build\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"flex flex-col gap-4 lg:flex-row lg:items-start\"><aside class=\"w-full shrink-0 lg:sticky lg:top-32 lg:max-h-[calc(100vh-8rem)] lg:w-[16rem] lg:overflow-y-auto xl:w-[18rem]\">`);\n\t\t\t\tSurfaceList($$renderer, {\n\t\t\t\t\tfeature,\n\t\t\t\t\tselectedId: editorStore.selectedSurfaceId,\n\t\t\t\t\tonSelect: (id) => editorStore.selectSurface(id)\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!----></aside> <section class=\"min-w-0 flex-1\">`);\n\t\t\t\tif (selectedSurface()) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tSurfacePanel($$renderer, {\n\t\t\t\t\t\tfeature,\n\t\t\t\t\t\tsurface: selectedSurface(),\n\t\t\t\t\t\tresources: feature.resources,\n\t\t\t\t\t\tpersonas: feature.personas\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"rounded-lg border border-dashed border-hairline bg-white p-8 text-center text-sm text-slate-500\">Add a surface to get started.</div>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></section> <aside${attr_class(`w-full shrink-0 lg:sticky lg:top-32 lg:max-h-[calc(100vh-8rem)] lg:overflow-y-auto ${editorStore.railCollapsed ? \"lg:w-12\" : \"lg:w-88 xl:w-104\"}`)}>`);\n\t\t\t\tSidePanel($$renderer, {\n\t\t\t\t\tfeature,\n\t\t\t\t\tsurface: selectedSurfaceForUse()\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!----></aside></div>`);\n\t\t\t} else if (activeTab() === \"resources\") {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t$$renderer.push(`<section class=\"rounded-lg border border-hairline bg-white p-4\">`);\n\t\t\t\tResourcesManager($$renderer, { feature });\n\t\t\t\t$$renderer.push(`<!----></section>`);\n\t\t\t} else if (activeTab() === \"data\") {\n\t\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t\t$$renderer.push(`<section class=\"rounded-lg border border-hairline bg-white p-4\">`);\n\t\t\t\tEntityManager($$renderer, { feature });\n\t\t\t\t$$renderer.push(`<!----></section>`);\n\t\t\t} else if (activeTab() === \"events\") {\n\t\t\t\t$$renderer.push(\"<!--[3-->\");\n\t\t\t\t$$renderer.push(`<section class=\"rounded-lg border border-hairline bg-white p-4\">`);\n\t\t\t\tEventsManager($$renderer, { feature });\n\t\t\t\t$$renderer.push(`<!----></section>`);\n\t\t\t} else if (activeTab() === \"invariants\") {\n\t\t\t\t$$renderer.push(\"<!--[4-->\");\n\t\t\t\t$$renderer.push(`<section class=\"rounded-lg border border-hairline bg-white p-4\">`);\n\t\t\t\tFeatureInvariantsEditor($$renderer, { feature });\n\t\t\t\t$$renderer.push(`<!----></section>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<section class=\"rounded-lg border border-hairline bg-white p-4\">`);\n\t\t\t\tTransitionsManager($$renderer, { feature });\n\t\t\t\t$$renderer.push(`<!----></section>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t$$renderer.push(`<!----></div> `);\n\t\t\tif (historyOpen) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"sticky top-0 z-30 h-screen self-start\">`);\n\t\t\t\tHistoryPanel($$renderer, {\n\t\t\t\t\tget open() {\n\t\t\t\t\t\treturn historyOpen;\n\t\t\t\t\t},\n\t\t\t\t\tset open($$value) {\n\t\t\t\t\t\thistoryOpen = $$value;\n\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!----></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\tdo {\n\t\t\t$$settled = true;\n\t\t\t$$inner_renderer = $$renderer.copy();\n\t\t\t$$render_inner($$inner_renderer);\n\t\t} while (!$$settled);\n\t\t$$renderer.subsume($$inner_renderer);\n\t});\n}\n//#endregion\n//#region src/routes/features/[id]/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tvar $$store_subs;\n\t\tif (featureStore.loading) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"mx-auto max-w-7xl px-4 py-10 text-sm text-neutral-500\">Loading…</div>`);\n\t\t} else if (featureStore.error) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<div class=\"mx-auto max-w-7xl px-4 py-10 text-sm text-red-600\">${escape_html(featureStore.error)}</div>`);\n\t\t} else if (!featureStore.feature) {\n\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t$$renderer.push(`<div class=\"mx-auto max-w-7xl px-4 py-10 text-sm text-neutral-500\">Feature not found. <a href=\"/features\" class=\"text-brand-700 underline\">Back to list</a>.</div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tif (featureStore.saveError) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"mx-auto flex max-w-400 items-center justify-between gap-2 px-4 pt-4\"><p class=\"text-sm text-red-600\">${escape_html(featureStore.saveError)}</p> <button type=\"button\" class=\"text-xs text-neutral-400 hover:text-neutral-700\" aria-label=\"Dismiss\">✕</button></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tFeatureEditor($$renderer, { feature: featureStore.feature });\n\t\t\t$$renderer.push(`<!---->`);\n\t\t}\n\t\t$$renderer.push(`<!--]-->`);\n\t\tif ($$store_subs) unsubscribe_stores($$store_subs);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":["clsx"],"mappings":"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"}
|