plum-e2e 2.9.14 → 2.10.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/CLAUDE.md +1 -1
- package/README.md +23 -20
- package/backend/_scaffold/utils/browser.ts +1 -13
- package/backend/_scaffold/utils/hooks.ts +1 -13
- package/backend/constants/socketEvents.js +8 -14
- package/backend/lib/serverBootstrap.js +4 -4
- package/backend/mcp/server.js +3 -3
- package/backend/prisma/migrations/20260829000000_add_run_queue/migration.sql +29 -0
- package/backend/prisma/schema.prisma +33 -13
- package/backend/routes/active-runs.routes.js +10 -6
- package/backend/routes/node.routes.js +7 -0
- package/backend/routes/trigger.routes.js +8 -5
- package/backend/server.js +5 -1
- package/backend/services/cronService.js +15 -443
- package/backend/services/nodeExecutionService.js +13 -1
- package/backend/services/runExecutorService.js +423 -0
- package/backend/services/runQueueService.js +276 -0
- package/backend/services/runnerService.js +22 -4
- package/backend/services/triggerService.js +13 -231
- package/backend/websockets/socketHandler.js +32 -590
- package/frontend/.svelte-kit/adapter-node/.vite/manifest.json +35 -35
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.HkPnpRl9.css +6 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.B9H_IpSU.css +6 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Be5c3USL.css +6 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.COwSGmmy.css +6 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.ClS4XkkN.css +6 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Dp6vaGRc.css +6 -0
- package/frontend/.svelte-kit/adapter-node/chunks/BackLink.js +1 -1
- package/frontend/.svelte-kit/adapter-node/chunks/Badge.js +1 -1
- package/frontend/.svelte-kit/adapter-node/chunks/ConfirmModal.js +1 -1
- package/frontend/.svelte-kit/adapter-node/chunks/EmptyState.js +1 -1
- package/frontend/.svelte-kit/adapter-node/chunks/Modal.js +1 -1
- package/frontend/.svelte-kit/adapter-node/chunks/Toast.js +1 -1
- package/frontend/.svelte-kit/adapter-node/chunks/constants.js +6 -4
- package/frontend/.svelte-kit/adapter-node/chunks/format.js +3 -3
- package/frontend/.svelte-kit/adapter-node/chunks/index.js +4 -4
- package/frontend/.svelte-kit/adapter-node/chunks/internal.js +1 -1
- package/frontend/.svelte-kit/adapter-node/chunks/reports.js +1 -1
- package/frontend/.svelte-kit/adapter-node/chunks/reports2.js +38 -40
- package/frontend/.svelte-kit/adapter-node/chunks/repository.js +8 -0
- package/frontend/.svelte-kit/adapter-node/chunks/runner.js +10 -20
- package/frontend/.svelte-kit/adapter-node/entries/pages/live/_id_/_page.svelte.js +254 -0
- package/frontend/.svelte-kit/adapter-node/entries/pages/login/_page.svelte.js +1 -1
- package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_id_/_page.svelte.js +29 -24
- package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_page.svelte.js +23 -19
- package/frontend/.svelte-kit/adapter-node/entries/pages/scheduled-tests/_page.svelte.js +3 -3
- package/frontend/.svelte-kit/adapter-node/entries/pages/settings/_page.svelte.js +173 -51
- package/frontend/.svelte-kit/adapter-node/entries/pages/setup/_page.svelte.js +1 -1
- package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/runs/_id_/_page.svelte.js +1 -1
- package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/suites/_id_/_page.svelte.js +63 -11
- package/frontend/.svelte-kit/adapter-node/manifest-full.js +10 -10
- package/frontend/.svelte-kit/adapter-node/manifest.js +10 -10
- package/frontend/.svelte-kit/adapter-node/nodes/0.js +2 -2
- package/frontend/.svelte-kit/adapter-node/nodes/1.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/10.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/11.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/12.js +2 -2
- package/frontend/.svelte-kit/adapter-node/nodes/2.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/3.js +3 -3
- package/frontend/.svelte-kit/adapter-node/nodes/4.js +3 -3
- package/frontend/.svelte-kit/adapter-node/nodes/5.js +3 -3
- package/frontend/.svelte-kit/adapter-node/nodes/6.js +3 -3
- package/frontend/.svelte-kit/adapter-node/nodes/7.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/8.js +2 -2
- package/frontend/.svelte-kit/adapter-node/nodes/9.js +1 -1
- package/frontend/.svelte-kit/ambient.d.ts +28 -28
- package/frontend/.svelte-kit/generated/client/app.js +4 -4
- package/frontend/.svelte-kit/generated/client/nodes/13.js +6 -0
- package/frontend/.svelte-kit/generated/client/nodes/3.js +1 -1
- package/frontend/.svelte-kit/generated/client/nodes/4.js +1 -1
- package/frontend/.svelte-kit/generated/client/nodes/5.js +1 -1
- package/frontend/.svelte-kit/generated/client/nodes/6.js +1 -1
- package/frontend/.svelte-kit/generated/client-optimized/app.js +4 -4
- package/frontend/.svelte-kit/generated/client-optimized/nodes/3.js +1 -1
- package/frontend/.svelte-kit/generated/client-optimized/nodes/4.js +1 -1
- package/frontend/.svelte-kit/generated/client-optimized/nodes/5.js +1 -1
- package/frontend/.svelte-kit/generated/client-optimized/nodes/6.js +1 -1
- package/frontend/.svelte-kit/generated/server/internal.js +1 -1
- package/frontend/.svelte-kit/output/client/.vite/manifest.json +413 -401
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.CmJTG5mP.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.B9H_IpSU.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/3.Be5c3USL.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.ClS4XkkN.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/6.BN5XbLUX.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.COwSGmmy.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.HkPnpRl9.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.B9H_IpSU.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Be5c3USL.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.COwSGmmy.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.ClS4XkkN.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Dp6vaGRc.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/2-KCkWZO.js +6 -0
- package/frontend/{build/client/_app/immutable/chunks/CNdcuGR0.js → .svelte-kit/output/client/_app/immutable/chunks/B00vxw57.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/B0_HKFXV.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{t-La0hgu.js → BAvTKHxT.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BJ_ypKl3.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BbYY_TzB.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Beula-TH.js +11 -0
- package/frontend/{build/client/_app/immutable/chunks/CKDtmZUQ.js → .svelte-kit/output/client/_app/immutable/chunks/C00jnSU2.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C2_rQ4aY.js +175 -0
- package/frontend/{build/client/_app/immutable/chunks/DCgHuuvs.js → .svelte-kit/output/client/_app/immutable/chunks/C7uEQ-LH.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C8S7qQjQ.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CzlPaHY9.js → CZWchtW8.js} +1 -1
- package/frontend/{build/client/_app/immutable/chunks/2zMvi6fR.js → .svelte-kit/output/client/_app/immutable/chunks/CboYYxrf.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CeH-RgMb.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CgnwuKKO.js → CegSvdD-.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CfkUW1vA.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Cfmt4_tJ.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Cgw8TOOy.js +6 -0
- package/frontend/{build/client/_app/immutable/chunks/C1Vid6wz.js → .svelte-kit/output/client/_app/immutable/chunks/Ck6C3Fl0.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CoTEzvLa.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DMZwI8Cj.js → DAmOMhaf.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DB3YXVFP.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{w0D4Uzlq.js → DWzEJYIF.js} +1 -1
- package/frontend/{build/client/_app/immutable/chunks/CMEtqUfQ.js → .svelte-kit/output/client/_app/immutable/chunks/DgQy0SB2.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{kkA1mrsH.js → DiVmSEJa.js} +2 -2
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Dl-F6VCo.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DuAVKaL3.js +6 -0
- package/frontend/{build/client/_app/immutable/chunks/BmZ9upwL.js → .svelte-kit/output/client/_app/immutable/chunks/GDjpV3r7.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/K1h4wprj.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DDZw0L0T.js → d2K3c8Kx.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.DRjRA71t.js +7 -0
- package/frontend/{build/client/_app/immutable/entry/start.4qxHHAcl.js → .svelte-kit/output/client/_app/immutable/entry/start.BXOLyf9R.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.CRb8Nyce.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{1.Df9sLw8b.js → 1.BI97il3r.js} +1 -1
- package/frontend/{build/client/_app/immutable/nodes/10.DEbnxfND.js → .svelte-kit/output/client/_app/immutable/nodes/10.kyazROhw.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{11.BViaDK2m.js → 11.B3vMgT2v.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.DkPcIrgW.js +6 -0
- package/frontend/{build/client/_app/immutable/nodes/2.BCPSg7H4.js → .svelte-kit/output/client/_app/immutable/nodes/2.Dr6yugXz.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.DUiL7fb5.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{3.8BFAJoHT.js → 4.DDADylfF.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.N4CeDeoD.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.DWd93Bv5.js +10 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.c8d1cQQM.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.Cvd3MauU.js +9 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{9.CvfGx3Hu.js → 9.BOK0GNF_.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/version.json +1 -1
- package/frontend/.svelte-kit/output/server/.vite/manifest.json +35 -35
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.HkPnpRl9.css +6 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.B9H_IpSU.css +6 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Be5c3USL.css +6 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.COwSGmmy.css +6 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.ClS4XkkN.css +6 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Dp6vaGRc.css +6 -0
- package/frontend/.svelte-kit/output/server/chunks/BackLink.js +1 -1
- package/frontend/.svelte-kit/output/server/chunks/Badge.js +1 -1
- package/frontend/.svelte-kit/output/server/chunks/ConfirmModal.js +1 -1
- package/frontend/.svelte-kit/output/server/chunks/EmptyState.js +1 -1
- package/frontend/.svelte-kit/output/server/chunks/Modal.js +1 -1
- package/frontend/.svelte-kit/output/server/chunks/Toast.js +1 -1
- package/frontend/.svelte-kit/output/server/chunks/constants.js +6 -4
- package/frontend/.svelte-kit/output/server/chunks/format.js +3 -3
- package/frontend/.svelte-kit/output/server/chunks/index.js +4 -4
- package/frontend/.svelte-kit/output/server/chunks/internal.js +1 -1
- package/frontend/.svelte-kit/output/server/chunks/reports.js +1 -1
- package/frontend/.svelte-kit/output/server/chunks/reports2.js +38 -40
- package/frontend/.svelte-kit/output/server/chunks/repository.js +8 -0
- package/frontend/.svelte-kit/output/server/chunks/runner.js +10 -20
- package/frontend/.svelte-kit/output/server/entries/pages/live/_id_/_page.svelte.js +254 -0
- package/frontend/.svelte-kit/output/server/entries/pages/login/_page.svelte.js +1 -1
- package/frontend/.svelte-kit/output/server/entries/pages/reports/_id_/_page.svelte.js +29 -24
- package/frontend/.svelte-kit/output/server/entries/pages/reports/_page.svelte.js +23 -19
- package/frontend/.svelte-kit/output/server/entries/pages/scheduled-tests/_page.svelte.js +3 -3
- package/frontend/.svelte-kit/output/server/entries/pages/settings/_page.svelte.js +173 -51
- package/frontend/.svelte-kit/output/server/entries/pages/setup/_page.svelte.js +1 -1
- package/frontend/.svelte-kit/output/server/entries/pages/test-repository/runs/_id_/_page.svelte.js +1 -1
- package/frontend/.svelte-kit/output/server/entries/pages/test-repository/suites/_id_/_page.svelte.js +63 -11
- package/frontend/.svelte-kit/output/server/manifest-full.js +10 -10
- package/frontend/.svelte-kit/output/server/manifest.js +10 -10
- package/frontend/.svelte-kit/output/server/nodes/0.js +2 -2
- package/frontend/.svelte-kit/output/server/nodes/1.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/10.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/11.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/12.js +2 -2
- package/frontend/.svelte-kit/output/server/nodes/2.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/3.js +3 -3
- package/frontend/.svelte-kit/output/server/nodes/4.js +3 -3
- package/frontend/.svelte-kit/output/server/nodes/5.js +3 -3
- package/frontend/.svelte-kit/output/server/nodes/6.js +3 -3
- package/frontend/.svelte-kit/output/server/nodes/7.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/8.js +2 -2
- package/frontend/.svelte-kit/output/server/nodes/9.js +1 -1
- package/frontend/build/client/_app/immutable/assets/0.CmJTG5mP.css +6 -0
- package/frontend/build/client/_app/immutable/assets/0.CmJTG5mP.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/0.CmJTG5mP.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/12.B9H_IpSU.css +6 -0
- package/frontend/build/client/_app/immutable/assets/12.B9H_IpSU.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/12.B9H_IpSU.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/3.Be5c3USL.css +6 -0
- package/frontend/build/client/_app/immutable/assets/3.Be5c3USL.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/3.Be5c3USL.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/5.ClS4XkkN.css +6 -0
- package/frontend/build/client/_app/immutable/assets/5.ClS4XkkN.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/5.ClS4XkkN.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/6.BN5XbLUX.css +6 -0
- package/frontend/build/client/_app/immutable/assets/6.BN5XbLUX.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/6.BN5XbLUX.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/8.COwSGmmy.css +6 -0
- package/frontend/build/client/_app/immutable/assets/8.COwSGmmy.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/8.COwSGmmy.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
- package/frontend/build/client/_app/immutable/assets/BackLink.DRrgBGDC.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/BackLink.DRrgBGDC.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_layout.HkPnpRl9.css +6 -0
- package/frontend/build/client/_app/immutable/assets/_layout.HkPnpRl9.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_layout.HkPnpRl9.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.B9H_IpSU.css +6 -0
- package/frontend/build/client/_app/immutable/assets/_page.B9H_IpSU.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.B9H_IpSU.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.Be5c3USL.css +6 -0
- package/frontend/build/client/_app/immutable/assets/_page.Be5c3USL.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.Be5c3USL.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.COwSGmmy.css +6 -0
- package/frontend/build/client/_app/immutable/assets/_page.COwSGmmy.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.COwSGmmy.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.ClS4XkkN.css +6 -0
- package/frontend/build/client/_app/immutable/assets/_page.ClS4XkkN.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.ClS4XkkN.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.Dp6vaGRc.css +6 -0
- package/frontend/build/client/_app/immutable/assets/_page.Dp6vaGRc.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.Dp6vaGRc.css.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/2-KCkWZO.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/2-KCkWZO.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/2-KCkWZO.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/CNdcuGR0.js → build/client/_app/immutable/chunks/B00vxw57.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/B00vxw57.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/B00vxw57.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/B0_HKFXV.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/B0_HKFXV.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/B0_HKFXV.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{t-La0hgu.js → BAvTKHxT.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/BAvTKHxT.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BAvTKHxT.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BJ_ypKl3.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/BJ_ypKl3.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BJ_ypKl3.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BbYY_TzB.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/BbYY_TzB.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BbYY_TzB.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/Beula-TH.js +11 -0
- package/frontend/build/client/_app/immutable/chunks/Beula-TH.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/Beula-TH.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/CKDtmZUQ.js → build/client/_app/immutable/chunks/C00jnSU2.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/C00jnSU2.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C00jnSU2.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/C2_rQ4aY.js +175 -0
- package/frontend/build/client/_app/immutable/chunks/C2_rQ4aY.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C2_rQ4aY.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/DCgHuuvs.js → build/client/_app/immutable/chunks/C7uEQ-LH.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/C7uEQ-LH.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C7uEQ-LH.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/C8S7qQjQ.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/C8S7qQjQ.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C8S7qQjQ.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{CzlPaHY9.js → CZWchtW8.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/CZWchtW8.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CZWchtW8.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/2zMvi6fR.js → build/client/_app/immutable/chunks/CboYYxrf.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/CboYYxrf.js.br +6 -0
- package/frontend/build/client/_app/immutable/chunks/CboYYxrf.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CeH-RgMb.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/CeH-RgMb.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CeH-RgMb.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{CgnwuKKO.js → CegSvdD-.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/CegSvdD-.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CegSvdD-.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CfkUW1vA.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/CfkUW1vA.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CfkUW1vA.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/Cfmt4_tJ.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/Cfmt4_tJ.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/Cfmt4_tJ.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/Cgw8TOOy.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/Cgw8TOOy.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/Cgw8TOOy.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/C1Vid6wz.js → build/client/_app/immutable/chunks/Ck6C3Fl0.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/Ck6C3Fl0.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/Ck6C3Fl0.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CoTEzvLa.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/CoTEzvLa.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CoTEzvLa.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{DMZwI8Cj.js → DAmOMhaf.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/DAmOMhaf.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DAmOMhaf.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DB3YXVFP.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/DB3YXVFP.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DB3YXVFP.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{w0D4Uzlq.js → DWzEJYIF.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/DWzEJYIF.js.br +7 -0
- package/frontend/build/client/_app/immutable/chunks/DWzEJYIF.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/CMEtqUfQ.js → build/client/_app/immutable/chunks/DgQy0SB2.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/DgQy0SB2.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DgQy0SB2.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{kkA1mrsH.js → DiVmSEJa.js} +2 -2
- package/frontend/build/client/_app/immutable/chunks/DiVmSEJa.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DiVmSEJa.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/Dl-F6VCo.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/Dl-F6VCo.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/Dl-F6VCo.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DuAVKaL3.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/DuAVKaL3.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DuAVKaL3.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/BmZ9upwL.js → build/client/_app/immutable/chunks/GDjpV3r7.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/GDjpV3r7.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/GDjpV3r7.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/K1h4wprj.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/K1h4wprj.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/K1h4wprj.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{DDZw0L0T.js → d2K3c8Kx.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/d2K3c8Kx.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/d2K3c8Kx.js.gz +0 -0
- package/frontend/build/client/_app/immutable/entry/app.DRjRA71t.js +7 -0
- package/frontend/build/client/_app/immutable/entry/app.DRjRA71t.js.br +0 -0
- package/frontend/build/client/_app/immutable/entry/app.DRjRA71t.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/entry/start.4qxHHAcl.js → build/client/_app/immutable/entry/start.BXOLyf9R.js} +1 -1
- package/frontend/build/client/_app/immutable/entry/{start.4qxHHAcl.js.br → start.BXOLyf9R.js.br} +1 -1
- package/frontend/build/client/_app/immutable/entry/{start.4qxHHAcl.js.gz → start.BXOLyf9R.js.gz} +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.CRb8Nyce.js +6 -0
- package/frontend/build/client/_app/immutable/nodes/0.CRb8Nyce.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.CRb8Nyce.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/{1.Df9sLw8b.js → 1.BI97il3r.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/1.BI97il3r.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.BI97il3r.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/10.DEbnxfND.js → build/client/_app/immutable/nodes/10.kyazROhw.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/10.kyazROhw.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.kyazROhw.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/{11.BViaDK2m.js → 11.B3vMgT2v.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/11.B3vMgT2v.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.B3vMgT2v.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.DkPcIrgW.js +6 -0
- package/frontend/build/client/_app/immutable/nodes/12.DkPcIrgW.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.DkPcIrgW.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/2.BCPSg7H4.js → build/client/_app/immutable/nodes/2.Dr6yugXz.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/2.Dr6yugXz.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.Dr6yugXz.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.DUiL7fb5.js +6 -0
- package/frontend/build/client/_app/immutable/nodes/3.DUiL7fb5.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.DUiL7fb5.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/{3.8BFAJoHT.js → 4.DDADylfF.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/4.DDADylfF.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.DDADylfF.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.N4CeDeoD.js +6 -0
- package/frontend/build/client/_app/immutable/nodes/5.N4CeDeoD.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.N4CeDeoD.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.DWd93Bv5.js +10 -0
- package/frontend/build/client/_app/immutable/nodes/6.DWd93Bv5.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.DWd93Bv5.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.c8d1cQQM.js +6 -0
- package/frontend/build/client/_app/immutable/nodes/7.c8d1cQQM.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.c8d1cQQM.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.Cvd3MauU.js +9 -0
- package/frontend/build/client/_app/immutable/nodes/8.Cvd3MauU.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.Cvd3MauU.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/{9.CvfGx3Hu.js → 9.BOK0GNF_.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/9.BOK0GNF_.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.BOK0GNF_.js.gz +0 -0
- package/frontend/build/client/_app/version.json +1 -1
- package/frontend/build/client/_app/version.json.br +0 -0
- package/frontend/build/client/_app/version.json.gz +0 -0
- package/frontend/build/server/chunks/0-_rljpEay.js +22 -0
- package/frontend/build/server/chunks/0-_rljpEay.js.map +5 -0
- package/frontend/build/server/chunks/{1-Kxn9d30Z.js → 1-B3HpigzL.js} +3 -3
- package/frontend/build/server/chunks/{1-Kxn9d30Z.js.map → 1-B3HpigzL.js.map} +1 -1
- package/frontend/build/server/chunks/10-BQBBYpxV.js +14 -0
- package/frontend/build/server/chunks/10-BQBBYpxV.js.map +5 -0
- package/frontend/build/server/chunks/11-10xw0TIP.js +14 -0
- package/frontend/build/server/chunks/11-10xw0TIP.js.map +5 -0
- package/frontend/build/server/chunks/12-CZ3_Uw3c.js +14 -0
- package/frontend/build/server/chunks/{12-De6Ol6pu.js.map → 12-CZ3_Uw3c.js.map} +1 -1
- package/frontend/build/server/chunks/2-DioMbKbC.js +14 -0
- package/frontend/build/server/chunks/{2-Dc_rKWoK.js.map → 2-DioMbKbC.js.map} +1 -1
- package/frontend/build/server/chunks/3-CgiZg_9v.js +14 -0
- package/frontend/build/server/chunks/3-CgiZg_9v.js.map +5 -0
- package/frontend/build/server/chunks/4-BM-49dbE.js +14 -0
- package/frontend/build/server/chunks/4-BM-49dbE.js.map +5 -0
- package/frontend/build/server/chunks/5-Brx_KOzy.js +14 -0
- package/frontend/build/server/chunks/5-Brx_KOzy.js.map +5 -0
- package/frontend/build/server/chunks/6-C5swINND.js +14 -0
- package/frontend/build/server/chunks/6-C5swINND.js.map +5 -0
- package/frontend/build/server/chunks/7-B8e4y3CB.js +14 -0
- package/frontend/build/server/chunks/{7-DiQJZEF_.js.map → 7-B8e4y3CB.js.map} +1 -1
- package/frontend/build/server/chunks/8-BZtkZMIZ.js +14 -0
- package/frontend/build/server/chunks/8-BZtkZMIZ.js.map +5 -0
- package/frontend/build/server/chunks/9-BMAKiAem.js +14 -0
- package/frontend/build/server/chunks/{9-DirZG_Lu.js.map → 9-BMAKiAem.js.map} +1 -1
- package/frontend/build/server/chunks/{BackLink-BJ8NaemM.js → BackLink-CMpNTYqE.js} +2 -2
- package/frontend/build/server/chunks/BackLink-CMpNTYqE.js.map +5 -0
- package/frontend/build/server/chunks/{Badge-44ZTDx0V.js → Badge-BTWnF9pA.js} +2 -2
- package/frontend/build/server/chunks/Badge-BTWnF9pA.js.map +5 -0
- package/frontend/build/server/chunks/{ConfirmModal-C0EAXcq_.js → ConfirmModal-CtGWHl0v.js} +3 -3
- package/frontend/build/server/chunks/ConfirmModal-CtGWHl0v.js.map +5 -0
- package/frontend/build/server/chunks/{EmptyState-BA_eXaeR.js → EmptyState-Zpm9tJe1.js} +2 -2
- package/frontend/build/server/chunks/EmptyState-Zpm9tJe1.js.map +5 -0
- package/frontend/build/server/chunks/{Modal-DChG187n.js → Modal-BJJMnfIg.js} +2 -2
- package/frontend/build/server/chunks/Modal-BJJMnfIg.js.map +5 -0
- package/frontend/build/server/chunks/{Toast-v-q4ZnYq.js → Toast-CHB87F8k.js} +2 -2
- package/frontend/build/server/chunks/Toast-CHB87F8k.js.map +5 -0
- package/frontend/build/server/chunks/{_layout.svelte-CHVI3Prt.js → _layout.svelte-C_6nsIpT.js} +7 -7
- package/frontend/build/server/chunks/{_layout.svelte-CHVI3Prt.js.map → _layout.svelte-C_6nsIpT.js.map} +1 -1
- package/frontend/build/server/chunks/{_page.svelte-1jo8MapI.js → _page.svelte-BNwU9zza.js} +11 -10
- package/frontend/build/server/chunks/_page.svelte-BNwU9zza.js.map +5 -0
- package/frontend/build/server/chunks/{_page.svelte-04WxjOuH.js → _page.svelte-Bamoq11m.js} +8 -8
- package/frontend/build/server/chunks/{_page.svelte-04WxjOuH.js.map → _page.svelte-Bamoq11m.js.map} +1 -1
- package/frontend/build/server/chunks/{_page.svelte-Kg69DDaM.js → _page.svelte-BrYksycU.js} +5 -5
- package/frontend/build/server/chunks/_page.svelte-BrYksycU.js.map +5 -0
- package/frontend/build/server/chunks/{_page.svelte-BuFusRK1.js → _page.svelte-CAlhaCzS.js} +12 -12
- package/frontend/build/server/chunks/_page.svelte-CAlhaCzS.js.map +5 -0
- package/frontend/build/server/chunks/_page.svelte-CTebwzwy.js +62 -0
- package/frontend/build/server/chunks/_page.svelte-CTebwzwy.js.map +5 -0
- package/frontend/build/server/chunks/{_page.svelte-1as75nPc.js → _page.svelte-CbTrCeeX.js} +32 -28
- package/frontend/build/server/chunks/_page.svelte-CbTrCeeX.js.map +5 -0
- package/frontend/build/server/chunks/{_page.svelte-D3E6Eojd.js → _page.svelte-Cf6bI1Y2.js} +5 -5
- package/frontend/build/server/chunks/_page.svelte-Cf6bI1Y2.js.map +5 -0
- package/frontend/build/server/chunks/{_page.svelte-CWWeZuid.js → _page.svelte-CmJKt3-H.js} +71 -19
- package/frontend/build/server/chunks/_page.svelte-CmJKt3-H.js.map +5 -0
- package/frontend/build/server/chunks/{_page.svelte-CB8-QBNg.js → _page.svelte-DHZhNTPg.js} +11 -10
- package/frontend/build/server/chunks/{_page.svelte-CB8-QBNg.js.map → _page.svelte-DHZhNTPg.js.map} +1 -1
- package/frontend/build/server/chunks/_page.svelte-DObTHQe2.js +257 -0
- package/frontend/build/server/chunks/_page.svelte-DObTHQe2.js.map +5 -0
- package/frontend/build/server/chunks/{_page.svelte-8gELc_B1.js → _page.svelte-ywHy9KCh.js} +182 -59
- package/frontend/build/server/chunks/_page.svelte-ywHy9KCh.js.map +5 -0
- package/frontend/build/server/chunks/{auth-Chw-wBpI.js → auth-DDPlushv.js} +2 -2
- package/frontend/build/server/chunks/{auth-Chw-wBpI.js.map → auth-DDPlushv.js.map} +1 -1
- package/frontend/build/server/chunks/{client-DEmxR_a-.js → client-CsTiGNZy.js} +2 -2
- package/frontend/build/server/chunks/{client-DEmxR_a-.js.map → client-CsTiGNZy.js.map} +1 -1
- package/frontend/build/server/chunks/{constants-CXTaQaB6.js → constants-BYVkTZ-O.js} +3 -2
- package/frontend/build/server/chunks/constants-BYVkTZ-O.js.map +5 -0
- package/frontend/build/server/chunks/{error.svelte-BD3xNemk.js → error.svelte-BXr4lXlB.js} +3 -3
- package/frontend/build/server/chunks/{error.svelte-BD3xNemk.js.map → error.svelte-BXr4lXlB.js.map} +1 -1
- package/frontend/build/server/chunks/{format-CiNRMfHu.js → format-2pqy61MU.js} +2 -2
- package/frontend/build/server/chunks/{format-CiNRMfHu.js.map → format-2pqy61MU.js.map} +1 -1
- package/frontend/build/server/chunks/{index-server-B3M9vyh2.js → index-server-53nOZg5X.js} +2 -2
- package/frontend/build/server/chunks/{index-server-B3M9vyh2.js.map → index-server-53nOZg5X.js.map} +1 -1
- package/frontend/build/server/chunks/{index2-5R1tbrep.js → index2-DGcbugKe.js} +2 -2
- package/frontend/build/server/chunks/{index2-5R1tbrep.js.map → index2-DGcbugKe.js.map} +1 -1
- package/frontend/build/server/chunks/{reports-D_ApeeNh.js → reports-WuXG6tj3.js} +2 -2
- package/frontend/build/server/chunks/{reports-D_ApeeNh.js.map → reports-WuXG6tj3.js.map} +1 -1
- package/frontend/build/server/chunks/{reports2-BtElN_53.js → reports2-CCpI0xkQ.js} +7 -8
- package/frontend/build/server/chunks/reports2-CCpI0xkQ.js.map +5 -0
- package/frontend/build/server/chunks/{repository-FYYV_vKE.js → repository-TYWcFuWP.js} +6 -2
- package/frontend/build/server/chunks/repository-TYWcFuWP.js.map +5 -0
- package/frontend/build/server/chunks/runner-D5yCWOsy.js +27 -0
- package/frontend/build/server/chunks/runner-D5yCWOsy.js.map +5 -0
- package/frontend/build/server/chunks/{stores-BLenR3c1.js → stores-C4ZkywTG.js} +3 -3
- package/frontend/build/server/chunks/{stores-BLenR3c1.js.map → stores-C4ZkywTG.js.map} +1 -1
- package/frontend/build/server/chunks/{theme-nAx-GvX_.js → theme-C81wSe5T.js} +2 -2
- package/frontend/build/server/chunks/{theme-nAx-GvX_.js.map → theme-C81wSe5T.js.map} +1 -1
- package/frontend/build/server/index.js +2 -2
- package/frontend/build/server/index.js.map +1 -1
- package/frontend/build/server/manifest.js +23 -23
- package/frontend/build/server/manifest.js.map +1 -1
- package/frontend/src/lib/components/layout/RunnerPanel.svelte +186 -266
- package/frontend/src/lib/copy/reports.js +9 -0
- package/frontend/src/lib/copy/runners.js +9 -6
- package/frontend/src/lib/socketEvents.js +3 -15
- package/frontend/src/lib/stores/runner.js +62 -46
- package/frontend/src/routes/{reports/live → live/[id]}/+page.svelte +112 -183
- package/frontend/src/routes/scheduled-tests/+page.svelte +2 -2
- package/package.json +1 -1
- package/backend/services/activeRunsService.js +0 -55
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -6
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.BuhMvMUj.css +0 -6
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.0Eln51hV.css +0 -6
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BZfe6nWe.css +0 -6
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Bj_a_5lv.css +0 -6
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BwgOqeMo.css +0 -6
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CFnbmY-D.css +0 -6
- package/frontend/.svelte-kit/adapter-node/entries/pages/reports/live/_page.svelte.js +0 -247
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.BhSG-jZH.css +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.Bj_a_5lv.css +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/4.0Eln51hV.css +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.DFV9OgAu.css +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/6.CFnbmY-D.css +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.BwgOqeMo.css +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.BuhMvMUj.css +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.0Eln51hV.css +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BZfe6nWe.css +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Bj_a_5lv.css +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BwgOqeMo.css +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CFnbmY-D.css +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/3InFPLvE.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BAACMRH5.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BAMUGSh7.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BKuh57WU.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BUwxRmHf.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C8OURRSs.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CGeZlCaI.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CMBQQ9RZ.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CUC98kMZ.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Co3xKhEp.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CuqnZUex.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DHM6H-es.js +0 -7
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DSLBMEpr.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DbgD7JLa.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/TOCyHP97.js +0 -11
- package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.KrtMZ3my.js +0 -7
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.C8DodwXs.js +0 -11
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.BMSCSd88.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/4.D-YT_JJe.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.DVeH2eQP.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.DI7-IJhN.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.C-pKvVZy.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.93Mb3ofT.js +0 -9
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -6
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.BuhMvMUj.css +0 -6
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.0Eln51hV.css +0 -6
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BZfe6nWe.css +0 -6
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Bj_a_5lv.css +0 -6
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BwgOqeMo.css +0 -6
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CFnbmY-D.css +0 -6
- package/frontend/.svelte-kit/output/server/entries/pages/reports/live/_page.svelte.js +0 -247
- package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css +0 -6
- package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css +0 -6
- package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css +0 -6
- package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css +0 -6
- package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css +0 -6
- package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css +0 -6
- package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -6
- package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css +0 -6
- package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css +0 -6
- package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css +0 -6
- package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css +0 -6
- package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css +0 -6
- package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css +0 -6
- package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/2zMvi6fR.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/2zMvi6fR.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/3InFPLvE.js +0 -6
- package/frontend/build/client/_app/immutable/chunks/3InFPLvE.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/3InFPLvE.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js +0 -6
- package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BAMUGSh7.js +0 -6
- package/frontend/build/client/_app/immutable/chunks/BAMUGSh7.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BAMUGSh7.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BKuh57WU.js +0 -6
- package/frontend/build/client/_app/immutable/chunks/BKuh57WU.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BKuh57WU.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BUwxRmHf.js +0 -6
- package/frontend/build/client/_app/immutable/chunks/BUwxRmHf.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BUwxRmHf.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BmZ9upwL.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BmZ9upwL.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/C1Vid6wz.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C1Vid6wz.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js +0 -6
- package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CGeZlCaI.js +0 -6
- package/frontend/build/client/_app/immutable/chunks/CGeZlCaI.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CGeZlCaI.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CKDtmZUQ.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CKDtmZUQ.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js +0 -6
- package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CMEtqUfQ.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CMEtqUfQ.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CNdcuGR0.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CNdcuGR0.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CUC98kMZ.js +0 -6
- package/frontend/build/client/_app/immutable/chunks/CUC98kMZ.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CUC98kMZ.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/Co3xKhEp.js +0 -6
- package/frontend/build/client/_app/immutable/chunks/Co3xKhEp.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/Co3xKhEp.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js +0 -6
- package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.br +0 -5
- package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CzlPaHY9.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CzlPaHY9.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DCgHuuvs.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DCgHuuvs.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DDZw0L0T.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DDZw0L0T.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DHM6H-es.js +0 -7
- package/frontend/build/client/_app/immutable/chunks/DHM6H-es.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DHM6H-es.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DMZwI8Cj.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DMZwI8Cj.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DSLBMEpr.js +0 -6
- package/frontend/build/client/_app/immutable/chunks/DSLBMEpr.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DSLBMEpr.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DbgD7JLa.js +0 -6
- package/frontend/build/client/_app/immutable/chunks/DbgD7JLa.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DbgD7JLa.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js +0 -11
- package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/kkA1mrsH.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/kkA1mrsH.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/t-La0hgu.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/t-La0hgu.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/w0D4Uzlq.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/w0D4Uzlq.js.gz +0 -0
- package/frontend/build/client/_app/immutable/entry/app.KrtMZ3my.js +0 -7
- package/frontend/build/client/_app/immutable/entry/app.KrtMZ3my.js.br +0 -0
- package/frontend/build/client/_app/immutable/entry/app.KrtMZ3my.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.C8DodwXs.js +0 -11
- package/frontend/build/client/_app/immutable/nodes/0.C8DodwXs.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.C8DodwXs.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.Df9sLw8b.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.Df9sLw8b.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.DEbnxfND.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.DEbnxfND.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.BViaDK2m.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.BViaDK2m.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.BMSCSd88.js +0 -6
- package/frontend/build/client/_app/immutable/nodes/12.BMSCSd88.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.BMSCSd88.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.BCPSg7H4.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.BCPSg7H4.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.8BFAJoHT.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.8BFAJoHT.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.D-YT_JJe.js +0 -6
- package/frontend/build/client/_app/immutable/nodes/4.D-YT_JJe.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.D-YT_JJe.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.DVeH2eQP.js +0 -6
- package/frontend/build/client/_app/immutable/nodes/5.DVeH2eQP.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.DVeH2eQP.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.DI7-IJhN.js +0 -6
- package/frontend/build/client/_app/immutable/nodes/6.DI7-IJhN.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.DI7-IJhN.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.C-pKvVZy.js +0 -6
- package/frontend/build/client/_app/immutable/nodes/7.C-pKvVZy.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.C-pKvVZy.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.93Mb3ofT.js +0 -9
- package/frontend/build/client/_app/immutable/nodes/8.93Mb3ofT.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.93Mb3ofT.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.CvfGx3Hu.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.CvfGx3Hu.js.gz +0 -0
- package/frontend/build/server/chunks/0-D5YWFygh.js +0 -22
- package/frontend/build/server/chunks/0-D5YWFygh.js.map +0 -5
- package/frontend/build/server/chunks/10-l6_ikL_D.js +0 -14
- package/frontend/build/server/chunks/10-l6_ikL_D.js.map +0 -5
- package/frontend/build/server/chunks/11-CNLerze_.js +0 -14
- package/frontend/build/server/chunks/11-CNLerze_.js.map +0 -5
- package/frontend/build/server/chunks/12-De6Ol6pu.js +0 -14
- package/frontend/build/server/chunks/2-Dc_rKWoK.js +0 -14
- package/frontend/build/server/chunks/3-DrRqVrcX.js +0 -14
- package/frontend/build/server/chunks/3-DrRqVrcX.js.map +0 -5
- package/frontend/build/server/chunks/4-Bo04DC5Z.js +0 -14
- package/frontend/build/server/chunks/4-Bo04DC5Z.js.map +0 -5
- package/frontend/build/server/chunks/5-CFeE5dPZ.js +0 -14
- package/frontend/build/server/chunks/5-CFeE5dPZ.js.map +0 -5
- package/frontend/build/server/chunks/6-DZk37MZH.js +0 -14
- package/frontend/build/server/chunks/6-DZk37MZH.js.map +0 -5
- package/frontend/build/server/chunks/7-DiQJZEF_.js +0 -14
- package/frontend/build/server/chunks/8-CKPVFOqJ.js +0 -14
- package/frontend/build/server/chunks/8-CKPVFOqJ.js.map +0 -5
- package/frontend/build/server/chunks/9-DirZG_Lu.js +0 -14
- package/frontend/build/server/chunks/BackLink-BJ8NaemM.js.map +0 -5
- package/frontend/build/server/chunks/Badge-44ZTDx0V.js.map +0 -5
- package/frontend/build/server/chunks/ConfirmModal-C0EAXcq_.js.map +0 -5
- package/frontend/build/server/chunks/EmptyState-BA_eXaeR.js.map +0 -5
- package/frontend/build/server/chunks/Modal-DChG187n.js.map +0 -5
- package/frontend/build/server/chunks/Toast-v-q4ZnYq.js.map +0 -5
- package/frontend/build/server/chunks/_page.svelte-1as75nPc.js.map +0 -5
- package/frontend/build/server/chunks/_page.svelte-1jo8MapI.js.map +0 -5
- package/frontend/build/server/chunks/_page.svelte-8gELc_B1.js.map +0 -5
- package/frontend/build/server/chunks/_page.svelte-BuFusRK1.js.map +0 -5
- package/frontend/build/server/chunks/_page.svelte-CAVyp70V.js +0 -250
- package/frontend/build/server/chunks/_page.svelte-CAVyp70V.js.map +0 -5
- package/frontend/build/server/chunks/_page.svelte-CWWeZuid.js.map +0 -5
- package/frontend/build/server/chunks/_page.svelte-D3E6Eojd.js.map +0 -5
- package/frontend/build/server/chunks/_page.svelte-Kg69DDaM.js.map +0 -5
- package/frontend/build/server/chunks/_page.svelte-L9fuiN_q.js +0 -57
- package/frontend/build/server/chunks/_page.svelte-L9fuiN_q.js.map +0 -5
- package/frontend/build/server/chunks/constants-CXTaQaB6.js.map +0 -5
- package/frontend/build/server/chunks/reports2-BtElN_53.js.map +0 -5
- package/frontend/build/server/chunks/repository-FYYV_vKE.js.map +0 -5
- package/frontend/build/server/chunks/runner-DC7hXbnY.js +0 -37
- package/frontend/build/server/chunks/runner-DC7hXbnY.js.map +0 -5
- /package/frontend/.svelte-kit/output/client/_app/immutable/assets/{3.BR3wgXcZ.css → 4.BR3wgXcZ.css} +0 -0
- /package/frontend/build/client/_app/immutable/assets/{3.BR3wgXcZ.css → 4.BR3wgXcZ.css} +0 -0
- /package/frontend/build/client/_app/immutable/assets/{3.BR3wgXcZ.css.br → 4.BR3wgXcZ.css.br} +0 -0
- /package/frontend/build/client/_app/immutable/assets/{3.BR3wgXcZ.css.gz → 4.BR3wgXcZ.css.gz} +0 -0
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This file is part of Plum.
|
|
3
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import{h as Zr,a as l,t as C,s as _,e as Je,b as te,c as De,n as ba}from"../chunks/CMBQQ9RZ.js";import{i as en}from"../chunks/CKDtmZUQ.js";import{p as tn,m as c,o as an,s as r,g as e,l as wt,b as sn,f as Re,c as rn,$ as nn,d as s,j as t,k as a,t as v,v as da,n as z,x as H,y as k}from"../chunks/BAACMRH5.js";import{i as U,s as ln,a as qa}from"../chunks/CgnwuKKO.js";import{e as Ot,i as va,t as St,a as He,f as Ve,s as on}from"../chunks/TOCyHP97.js";import{A as Ct,h as Lt,i as cn,r as B,s as m,M as dn,b as vn,B as Ts,C as Is,G as pn,w as Qa,H as un,E as ws}from"../chunks/CUC98kMZ.js";import{b as V}from"../chunks/t-La0hgu.js";import{T as _n,B as se,b as pa}from"../chunks/CzlPaHY9.js";import{b as bn}from"../chunks/2zMvi6fR.js";import{g as fn}from"../chunks/kkA1mrsH.js";import{b as Os,f as En,a as hn,c as gn,d as $s,p as Ns,s as mn,e as Ds,u as Sn,r as Cn,g as Ln,h as Rn,i as An,j as kn,k as xn,l as Pn,m as yn,t as Tn,n as In,o as wn}from"../chunks/3InFPLvE.js";import{n as On,o as $n,p as Nn}from"../chunks/BUwxRmHf.js";import{u as Dn,a as Un}from"../chunks/BmZ9upwL.js";import{a as _a}from"../chunks/C1Vid6wz.js";import{f as Za}from"../chunks/DHM6H-es.js";import{t as Us}from"../chunks/DCgHuuvs.js";import{C as Bn}from"../chunks/DMZwI8Cj.js";import{B as Fn}from"../chunks/CuqnZUex.js";function as(){return{"Content-Type":"application/json",Authorization:`Bearer ${_a.getToken()}`}}async function Kn(){const i=await fetch(`${Ct}/users`,{headers:as()});if(!i.ok)throw new Error("Failed to fetch users");return(await i.json()).users}async function Mn({name:i,email:Ue,password:ut,role:fa="user"}){const ge=await fetch(`${Ct}/users`,{method:"POST",headers:as(),body:JSON.stringify({name:i,email:Ue,password:ut,role:fa})}),$t=await ge.json();if(!ge.ok)throw new Error($t.error??"Failed to create user");return $t.user}async function Gn(i){const Ue=await fetch(`${Ct}/users/${i}`,{method:"DELETE",headers:as()});if(!Ue.ok){const ut=await Ue.json();throw new Error(ut.error??"Failed to delete user")}}const Hn="Settings — Plum",Vn="Settings",ua="Name",Bs="Network error",tr="Checking…",ar="Copied!",Fs="Project",Ks="Runners",jn="Repository",Wn="Test Repository",Ms="Integrations",Xn="MCP",Yn="MCP Integration",es="Account",Gs="Users",ts="Backup",zn="Identity information shown across the UI",Jn="Register self-hosted runner nodes to distribute tests across machines.",qn="Configure ID prefixes for test suites and cases.",Qn="Connect Discord and Slack to receive run notifications with pass/fail results and report links.",Zn="Generate an API key for any MCP-compatible AI client — Claude, Cursor, Windsurf, and others.",el="Manage your profile, credentials and session.",tl="Add and manage who can access Plum.",al="Export your test cases, schedules, users, and project settings. Automate uploads to any S3-compatible storage — Cloudflare R2, Backblaze B2, AWS S3, or MinIO.",Hs="Name, URL and token are required.",sl="Failed to add runner.",rl="Failed to remove runner.",nl="Failed to update runner.",Vs=i=>`Cannot reach this runner — ${i??"check the URL and token"}.`,ll=i=>`Runner "${i}" added.`,il=i=>`Runner "${i}" removed.`,ol=i=>`Runner "${i}" stopped.`,cl=(i,Ue)=>`Could not stop "${i}": ${Ue??"unknown error"}`,dl=i=>`Could not stop "${i}".`,vl=i=>`Runner "${i}" restarting…`,pl=(i,Ue)=>`Could not restart "${i}": ${Ue??"unknown error"}`,ul=i=>`Could not restart "${i}".`,_l=i=>`Runner "${i}" updated.`,bl="Project Name",fl="My Test Suite",El="Logo URL",hl="Direct link to an image (PNG, SVG, JPG)",gl="https://example.com/logo.png",ml="Preview",Sl="Project logo preview",Cl="Timezone",Ll="Used to schedule cron jobs and backups",Rl="Retry failed tests",Al="Automatically re-run failed scenarios up to this many times before finalizing the report. 0 disables retries.",kl="Dark mode",xl="Switch between light and dark appearance",Pl="Project settings saved.",yl="Failed to save project settings.",Tl=i=>i?Lt:"Save Project",Il="Built-in runner",wl="Use this server to run tests locally. Disable to route all runs to external nodes.",js="URL",Ws="Use",Xs="for local nodes",Ys="http://host.docker.internal:3002",zs="Token",Ol="secret-token",$l="Leave blank to keep current token",Js="Browser",qs="staging-node",Nl="unreachable",Dl="pinging…",Ul="Remove",Bl="Add runner",Fl="+ Add Runner",Kl="Restart",Ml="Restarting…",Gl="Stop",Hl="Stopping…",Vl="Add Runner",jl=i=>i?tr:cn,Wl=i=>i?tr:Vl,Xl=i=>i?Ml:Kl,Yl=i=>i?Hl:Gl,zl="Test Case prefix",Qs="TC",Jl="Test Suite prefix",Zs="TS",ql="Examples:",Ql="Prefixes saved.",Zl="Failed to save prefixes.",ei="Migrate IDs",ti="Rename all existing test IDs to use a new prefix. Cucumber tags in code are",ai="not",si="affected — you manage those separately.",ri="New case prefix",ni="New suite prefix",li="Prefix migration complete. All IDs updated.",ii="Migration failed.",oi=i=>i?Lt:"Save Prefixes",ci=i=>i?"Migrating…":"Run Migration",di="Webhooks",vi="Discord Webhook URL",pi="Leave blank to disable Discord notifications",ui="https://discord.com/api/webhooks/…",_i="Slack Webhook URL",bi="Leave blank to disable Slack notifications",fi="https://hooks.slack.com/services/…",Ei="Public URL",hi="Base URL of this Plum instance, used to link reports in notifications",gi="https://plum.yourcompany.com",mi="Integration settings saved.",Si="Failed to save integration settings.",Ci="CI / External Triggers",Li="Trigger a Plum run from GitHub Actions (e.g. on a pull request, against its preview deployment) or any other external script by calling",Ri="with an",Ai="header. Generate a key on the",ki="MCP tab",xi="and store it as a repo secret — never commit it directly. Runs triggered this way show up in Reports tagged",Pi="External",yi="Copy Workflow Step",Ti=i=>i?Lt:"Save Integrations",Ii=i=>i?ar:yi,wi="API Key",Oi="No key generated yet.",$i="Hide key",Ni="Show key",Di="Copy key",Ui="Regenerating invalidates the existing key immediately.",Bi="Config Snippet",Fi="Add this to your MCP client's config file (e.g.",Ki=", Cursor MCP settings, etc.).",Mi="MCP key generated.",Gi="Failed to generate MCP key.",Hi="Copy Config",Vi=i=>i?"Generating…":"Generate Key",ji=i=>i?"Generating…":"Regenerate Key",Wi=i=>i?ar:Hi,Xi="Profile",Yi="Change password",zi="Current password",Ji="New password",qi="Confirm new password",Qi="Sign out",Zi="Profile updated.",eo="Passwords do not match.",to="Password must be at least 8 characters.",ao="Password changed.",so=i=>i?Lt:"Save Profile",ro=i=>i?Lt:"Change Password",no="Remove User",lo="Remove",io="Remove",oo="? They will lose access immediately.",co="Add User",vo="Jane Smith",po="jane@example.com",uo="Password",_o="Role",bo="User",fo="Admin",Eo="Remove user",ho="you",go="Name, email and password are required.",mo=i=>i?"Adding…":"Add User",So=i=>`User "${i}" added.`,Co=i=>`User "${i}" removed.`,Lo="Manual Backup",Ro="Export",Ao="Downloads a",ko="file with all cron jobs, test cases, test runs, users, runners, and project settings.",xo="Import",Po="Restores all data from a previously exported backup. Existing records are overwritten. Cron jobs are re-scheduled after import.",yo="Choose file…",To="Reports are not included in backups. To back up report history, run",Io="directly on the PostgreSQL volume.",wo="S3 Storage",Oo="Works with any S3-compatible provider — Cloudflare R2, Backblaze B2, AWS S3, or MinIO. Leave",er="Endpoint URL",$o="empty for AWS S3.",No="Leave blank for AWS S3",Do="https://account.r2.cloudflarestorage.com",Uo="Region",Bo="Use",Fo="for Cloudflare R2",Ko="us-east-1",Mo="Bucket",Go="my-plum-backups",Ho="Path Prefix",Vo="Optional folder inside the bucket",jo="plum/",Wo="Access Key ID",Xo="AKIAIOSFODNN7EXAMPLE",Yo="Secret Access Key",zo="Test Connection",Jo="Save S3 Config",qo="Connection successful.",Qo="Connection failed.",Zo="Backup configuration saved.",ec="Failed to save backup configuration.",tc="Required",ac="A key is already saved — leave blank to keep it",sc="••••••••",rc="Enter secret key",nc="Testing…",lc="Scheduled Backup",ic="Configure S3 storage above to enable scheduled backups.",oc="Enable scheduled backup",cc="Cron Expression",dc="5-field cron — e.g.",vc="= daily at 2 AM.",pc="Test at crontab.guru ↗",uc="0 2 * * *",_c="Last backup:",bc="Backup downloaded.",fc="Export failed.",Ec="Import successful. Cron jobs have been re-scheduled.",hc="Import failed. Check the file format.",gc="Backup uploaded to S3 successfully.",mc="Backup failed. Check your S3 configuration.",Sc="Upload to S3 Now",Cc="Uploading…",Lc="Save Schedule",Rc=i=>`plum-backup-${i}.json`,Ac=i=>i?"Exporting…":"Export JSON",kc=i=>i?"Importing…":"Import",xc=i=>i?ac:tc,Pc=i=>i?sc:rc,yc=i=>i?nc:zo,Tc=i=>i?Lt:Jo,Ic=i=>`uploaded to ${i}`,wc=i=>i?Cc:Sc,Oc=i=>i?Lt:Lc;var $c=C('<button class="sidebar-item svelte-bpb2i4"> </button>'),Nc=C('<div class="logo-preview svelte-bpb2i4"><span class="preview-label svelte-bpb2i4"></span> <img class="logo-img svelte-bpb2i4"></div>'),Dc=C("<option> </option>"),Uc=C('<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4"></h2> <p class="content-desc svelte-bpb2i4"></p></div> <div class="card settings-card svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="project-name"></label> <input id="project-name" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="project-logo"><span></span> <span class="field-hint svelte-bpb2i4"></span></label> <input id="project-logo" type="url" class="field-input"></div> <!> <div class="field"><label class="field-label svelte-bpb2i4" for="project-timezone"><span></span> <span class="field-hint svelte-bpb2i4"></span></label> <select id="project-timezone" class="field-input"></select></div> <div class="field"><label class="field-label svelte-bpb2i4" for="project-max-retries"><span></span> <span class="field-hint svelte-bpb2i4"></span></label> <input id="project-max-retries" type="number" class="field-input" min="0"></div> <div class="toggle-row svelte-bpb2i4"><div class="toggle-info svelte-bpb2i4"><span class="toggle-label svelte-bpb2i4"></span> <span class="toggle-desc svelte-bpb2i4"></span></div> <button class="toggle-switch svelte-bpb2i4" role="switch"><span class="toggle-thumb svelte-bpb2i4"></span></button></div> <div class="card-footer svelte-bpb2i4"><!></div></div></div>'),Bc=C("<option> </option>"),Fc=C('<p class="form-error svelte-bpb2i4"> </p>'),Kc=C('<div class="runner-card editing svelte-bpb2i4"><div class="runner-form-fields svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4"></label> <input type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-bpb2i4"> <span class="field-hint svelte-bpb2i4"> <code>host.docker.internal</code> </span></label> <input type="url" class="field-input"></div> <div class="field"><label class="field-label svelte-bpb2i4"></label> <input type="text" class="field-input" spellcheck="false" autocomplete="off"></div> <div class="field"><label class="field-label svelte-bpb2i4"></label> <select class="field-input"></select></div></div> <!> <div class="runner-form-actions svelte-bpb2i4"><!> <!></div></div>'),Mc=C('<span class="ping-badge ok svelte-bpb2i4"> </span>'),Gc=C('<span class="ping-badge fail svelte-bpb2i4"></span>'),Hc=C('<span class="ping-badge pinging svelte-bpb2i4"></span>'),Vc=C('<div class="runner-card svelte-bpb2i4"><div class="runner-card-header svelte-bpb2i4"><svg class="runner-card-icon svelte-bpb2i4" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><rect x="2" y="3" width="20" height="14" rx="2"></rect><path d="M8 21h8M12 17v4"></path></svg> <span class="runner-card-name svelte-bpb2i4"> </span> <span class="runner-browser-pill svelte-bpb2i4"> </span> <!></div> <p class="runner-card-url svelte-bpb2i4"> </p> <div class="runner-card-actions svelte-bpb2i4"><!> <!> <!> <!></div></div>'),jc=C('<div class="runner-cards svelte-bpb2i4"></div>'),Wc=C("<option> </option>"),Xc=C('<p class="form-error svelte-bpb2i4"> </p>'),Yc=C('<div class="runner-form svelte-bpb2i4"><p class="runner-form-title svelte-bpb2i4"></p> <div class="runner-form-fields svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="rn-name"></label> <input id="rn-name" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="rn-url"> <span class="field-hint svelte-bpb2i4"> <code>host.docker.internal</code> </span></label> <input id="rn-url" type="url" class="field-input"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="rn-token"></label> <input id="rn-token" type="text" class="field-input" spellcheck="false" autocomplete="off"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="rn-browser"></label> <select id="rn-browser" class="field-input"></select></div></div> <!> <div class="runner-form-actions svelte-bpb2i4"><!> <!></div></div>'),zc=C('<div class="card-footer svelte-bpb2i4"><!></div>'),Jc=C('<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4"></h2> <p class="content-desc svelte-bpb2i4"></p></div> <div class="card settings-card svelte-bpb2i4"><div class="toggle-row svelte-bpb2i4"><div class="toggle-info svelte-bpb2i4"><span class="toggle-label svelte-bpb2i4"></span> <span class="toggle-desc svelte-bpb2i4"></span></div> <button class="toggle-switch svelte-bpb2i4" role="switch"><span class="toggle-thumb svelte-bpb2i4"></span></button></div> <!> <!></div></div>'),qc=C('<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4"></h2> <p class="content-desc svelte-bpb2i4"></p></div> <div class="card settings-card svelte-bpb2i4"><div class="field-row svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="tc-prefix"></label> <input id="tc-prefix" type="text" class="field-input mono svelte-bpb2i4" maxlength="10"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="ts-prefix"></label> <input id="ts-prefix" type="text" class="field-input mono svelte-bpb2i4" maxlength="10"></div></div> <p class="content-desc svelte-bpb2i4"> <code class="code-sample svelte-bpb2i4"> </code>, <code class="code-sample svelte-bpb2i4"> </code></p> <div class="card-footer svelte-bpb2i4"><!></div></div> <div class="content-header svelte-bpb2i4" style="margin-top: 1rem"><h2 class="svelte-bpb2i4"></h2> <p class="content-desc svelte-bpb2i4"> <strong></strong> </p></div> <div class="card settings-card svelte-bpb2i4"><div class="field-row svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="mig-tc"></label> <input id="mig-tc" type="text" class="field-input mono svelte-bpb2i4" maxlength="10"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="mig-ts"></label> <input id="mig-ts" type="text" class="field-input mono svelte-bpb2i4" maxlength="10"></div></div> <div class="card-footer svelte-bpb2i4"><!></div></div></div>'),Qc=C('<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4"></h2> <p class="content-desc svelte-bpb2i4"></p></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title"></p> <div class="field"><label class="field-label svelte-bpb2i4" for="discord-url"><span></span> <span class="field-hint svelte-bpb2i4"></span></label> <input id="discord-url" type="url" class="field-input"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="slack-url"><span></span> <span class="field-hint svelte-bpb2i4"></span></label> <input id="slack-url" type="url" class="field-input"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="public-url"><span></span> <span class="field-hint svelte-bpb2i4"></span></label> <input id="public-url" type="url" class="field-input"></div> <!></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title"></p> <p class="content-desc svelte-bpb2i4"> <code class="code-sample svelte-bpb2i4"></code> <code class="code-sample svelte-bpb2i4">Authorization: ApiKey …</code> <button class="link-btn svelte-bpb2i4"></button> <!>.</p> <pre class="mcp-snippet svelte-bpb2i4"> </pre> <div class="card-footer svelte-bpb2i4"><!></div></div></div>'),Zc=C('<p class="content-desc svelte-bpb2i4"></p> <div class="card-footer svelte-bpb2i4"><!></div>',1),ed=ba('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94"></path><path d="M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19"></path><line x1="1" y1="1" x2="23" y2="23"></line></svg>'),td=ba('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg>'),ad=ba('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>'),sd=ba('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>'),rd=C('<div class="mcp-key-row svelte-bpb2i4"><input class="field-input mcp-key-input svelte-bpb2i4" readonly="" spellcheck="false" autocomplete="off"> <button class="icon-btn svelte-bpb2i4"><!></button> <button class="icon-btn svelte-bpb2i4"><!></button></div> <p class="mcp-regen-note svelte-bpb2i4"></p> <div class="card-footer svelte-bpb2i4"><!></div>',1),nd=C('<div class="card settings-card svelte-bpb2i4"><p class="card-title"></p> <p class="content-desc svelte-bpb2i4"> <code class="code-sample svelte-bpb2i4">claude_desktop_config.json</code> </p> <pre class="mcp-snippet svelte-bpb2i4"> </pre> <div class="card-footer svelte-bpb2i4"><!></div></div>'),ld=C('<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4"></h2> <p class="content-desc svelte-bpb2i4"></p></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title"></p> <!></div> <!></div>'),id=C('<p class="form-error svelte-bpb2i4"> </p>'),od=C('<p class="form-error svelte-bpb2i4"> </p>'),cd=C('<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4"></h2> <p class="content-desc svelte-bpb2i4"></p></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title"></p> <div class="field"><label class="field-label svelte-bpb2i4" for="profile-name"></label> <input id="profile-name" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="profile-email"></label> <input id="profile-email" type="email" class="field-input"></div> <!> <div class="card-footer svelte-bpb2i4"><!></div></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title"></p> <div class="field"><label class="field-label svelte-bpb2i4" for="pw-current"></label> <input id="pw-current" type="password" class="field-input" autocomplete="current-password"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="pw-new"></label> <input id="pw-new" type="password" class="field-input" autocomplete="new-password"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="pw-confirm"></label> <input id="pw-confirm" type="password" class="field-input" autocomplete="new-password"></div> <!> <div class="card-footer svelte-bpb2i4"><!></div></div> <div class="card settings-card svelte-bpb2i4"><div class="card-footer svelte-bpb2i4"><!></div></div></div>'),dd=C(" <strong> </strong> ",1),vd=C('<p class="form-error svelte-bpb2i4"> </p>'),pd=C('<button class="icon-btn danger svelte-bpb2i4"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"></path><path d="M10 11v6M14 11v6"></path><path d="M9 6V4h6v2"></path></svg></button>'),ud=C('<span class="you-chip svelte-bpb2i4"></span>'),_d=C('<div class="user-row svelte-bpb2i4"><div class="user-info svelte-bpb2i4"><span class="user-name svelte-bpb2i4"> </span> <span class="user-email svelte-bpb2i4"> </span></div> <span> </span> <!></div>'),bd=C('<div class="users-table svelte-bpb2i4"></div>'),fd=C('<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4"></h2> <p class="content-desc svelte-bpb2i4"></p></div> <!> <div class="card settings-card svelte-bpb2i4"><p class="card-title"></p> <div class="field-row svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="u-name"></label> <input id="u-name" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="u-email"></label> <input id="u-email" type="email" class="field-input"></div></div> <div class="field-row svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="u-pw"></label> <input id="u-pw" type="password" class="field-input" autocomplete="new-password"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="u-role"></label> <select id="u-role" class="field-input"><option></option><option></option></select></div></div> <!> <div class="card-footer svelte-bpb2i4"><!></div></div> <!></div>'),Ed=C('<p class="s3-test-result svelte-bpb2i4"> </p>'),hd=C('<p class="backup-block-desc svelte-bpb2i4"></p>'),gd=C('<span class="status-success svelte-bpb2i4"> </span>'),md=C('<span class="status-error svelte-bpb2i4"> </span>'),Sd=C("<span> </span>"),Cd=C('<p class="backup-last-run svelte-bpb2i4"> <!></p>'),Ld=C('<div class="field"><label class="field-label backup-toggle-label svelte-bpb2i4" for="backup-enabled"><span></span> <button id="backup-enabled" class="toggle-btn svelte-bpb2i4" role="switch"><span class="toggle-thumb svelte-bpb2i4"></span></button></label></div> <div class="field"><label class="field-label svelte-bpb2i4" for="backup-cron"><span></span> <span class="field-hint svelte-bpb2i4"> <code>0 2 * * *</code> <a href="https://crontab.guru" target="_blank" rel="noopener noreferrer"></a></span></label> <input id="backup-cron" type="text" class="field-input field-input-mono svelte-bpb2i4"></div> <!> <div class="backup-actions svelte-bpb2i4"><!> <!></div>',1),Rd=C('<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4"></h2> <p class="content-desc svelte-bpb2i4"></p></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title"></p> <div class="backup-row svelte-bpb2i4"><div class="backup-block svelte-bpb2i4"><p class="backup-block-title svelte-bpb2i4"></p> <p class="backup-block-desc svelte-bpb2i4"> <code class="svelte-bpb2i4">.json</code> </p> <!></div> <div class="backup-divider svelte-bpb2i4"></div> <div class="backup-block svelte-bpb2i4"><p class="backup-block-title svelte-bpb2i4"></p> <p class="backup-block-desc svelte-bpb2i4"></p> <div class="import-row svelte-bpb2i4"><label class="file-label svelte-bpb2i4"><input type="file" accept=".json" class="file-input-hidden svelte-bpb2i4"> <span class="file-btn svelte-bpb2i4"> </span></label> <!></div></div></div> <p class="backup-disclaimer svelte-bpb2i4"> <code>pg_dump</code> </p></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title"></p> <p class="backup-block-desc svelte-bpb2i4" style="margin-bottom: 1.25rem;"> <strong></strong> </p> <div class="field-row svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="s3-endpoint"><span></span> <span class="field-hint svelte-bpb2i4"></span></label> <input id="s3-endpoint" type="url" class="field-input"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="s3-region"><span></span> <span class="field-hint svelte-bpb2i4"> <code>auto</code> </span></label> <input id="s3-region" type="text" class="field-input"></div></div> <div class="field-row svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="s3-bucket"><span></span></label> <input id="s3-bucket" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="s3-prefix"><span></span> <span class="field-hint svelte-bpb2i4"></span></label> <input id="s3-prefix" type="text" class="field-input"></div></div> <div class="field-row svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="s3-access-key"><span></span></label> <input id="s3-access-key" type="text" class="field-input" autocomplete="off"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="s3-secret-key"><span></span> <span class="field-hint svelte-bpb2i4"> </span></label> <input id="s3-secret-key" type="password" class="field-input" autocomplete="new-password"></div></div> <div class="backup-actions svelte-bpb2i4"><!> <!></div> <!></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title"></p> <!></div></div>'),Ad=C('<!> <div class="page-header svelte-bpb2i4"><h1 class="svelte-bpb2i4"></h1></div> <div class="settings-layout svelte-bpb2i4"><aside class="settings-sidebar svelte-bpb2i4"><nav class="svelte-bpb2i4"></nav></aside> <div class="settings-content svelte-bpb2i4"><!></div></div>',1);function Vd(i,Ue){tn(Ue,!1);const[ut,fa]=ln(),ge=()=>qa(_a,"$auth",ut),$t=()=>qa(Us,"$theme",ut),ss=()=>qa(Za,"$builtInEnabled",ut),Ea=c(),ha=c(),ga=c(),rs=c();let xe=c(typeof sessionStorage<"u"&&sessionStorage.getItem("plum:settings:section")||"project");function ns(n){r(xe,n);try{sessionStorage.setItem("plum:settings:section",n)}catch{}}let be=c({name:"",logoUrl:"",timezone:"UTC",maxRetries:0}),Vt=c(!1),ma=c(null);const sr=(()=>{try{return Intl.supportedValuesOf("timeZone")}catch{return["UTC"]}})();let me=c({testCasePrefix:"TC",testSuitePrefix:"TS"}),jt=c(!1),qe=c({testCasePrefix:"",testSuitePrefix:""}),Wt=c(!1),Be=c({name:"",email:""}),Xt=c(!1),Yt=c(""),_t=c([]),fe=c({name:"",email:"",password:"",role:"user"}),zt=c(!1),Nt=c(""),Rt=c(null),Jt=c(!1),Se=c({currentPassword:"",newPassword:"",confirmPassword:""}),qt=c(!1),At=c(""),bt=c(null),Qt=c(!1),Zt=c(!1),Dt=c(),we=c({discordWebhookUrl:"",slackWebhookUrl:"",notifyPublicUrl:""}),ea=c(!1),kt=c(""),ta=c(!1),xt=c(!1),Pt=c(!1),Sa=c(!1),Ca=c(!1),La=c(!1),T=c({backupEnabled:!1,backupCron:"0 2 * * *",backupS3Endpoint:"",backupS3Region:"",backupS3Bucket:"",backupS3AccessKey:"",backupS3SecretKey:"",backupS3Prefix:""}),yt=c(!1),Tt=c(!1),aa=c(!1),sa=c(!1),ft=c(null),ra=c(""),Ut=c(null),st=c(""),Oe=c([]),ve=c({name:"",url:"",token:"",browser:"chromium"}),Et=c(""),Bt=c(!1),na=c(!1),Ae=c({}),la=c(null),ia=c(null),oa=c(null),pe=c({name:"",url:"",token:"",browser:"chromium"}),rt=c(""),Ft=c(!1);function $(n,o){r(ma,{type:n,message:o}),setTimeout(()=>r(ma,null),vn)}let Ra=c(!1);an(async()=>{var n;try{const o=localStorage.getItem("plum:builtInEnabled");o!==null&&Za.set(o!=="false")}catch{}try{r(be,await Os())}catch{}try{r(Oe,await En()),r(Ra,!0)}catch{}try{r(me,await On()),r(qe,{testCasePrefix:e(me).testCasePrefix,testSuitePrefix:e(me).testSuitePrefix})}catch{}try{r(we,await hn())}catch{}try{const o=await gn();r(ta,o.mcpKeySet),r(kt,o.mcpKey)}catch{}try{const o=await $s();r(Tt,o.backupS3SecretKeySet),r(Ut,o.backupLastRunAt),r(st,o.backupLastStatus),r(T,{backupEnabled:o.backupEnabled,backupCron:o.backupCron,backupS3Endpoint:o.backupS3Endpoint,backupS3Region:o.backupS3Region,backupS3Bucket:o.backupS3Bucket,backupS3AccessKey:o.backupS3AccessKey,backupS3SecretKey:"",backupS3Prefix:o.backupS3Prefix})}catch{}if(ge().user&&r(Be,{name:ge().user.name,email:ge().user.email}),((n=ge().user)==null?void 0:n.role)==="admin")try{r(_t,await Kn())}catch{}});async function rr(){e(Oe).length!==0&&(r(Ae,Object.fromEntries(e(Oe).map(n=>[n.id,{loading:!0}]))),await Promise.all(e(Oe).map(async n=>{try{const o=await Ns(n.id);r(Ae,{...e(Ae),[n.id]:{...o,loading:!1}})}catch{r(Ae,{...e(Ae),[n.id]:{ok:!1,error:Bs,loading:!1}})}})))}function nr(){Za.update(n=>{const o=!n;try{localStorage.setItem("plum:builtInEnabled",String(o))}catch{}return o})}function lr(){Us.update(n=>n==="light"?"dark":"light")}async function ir(){if(!e(ve).name||!e(ve).url||!e(ve).token){r(Et,Hs);return}r(Et,""),r(Bt,!0);try{const n=await Ds(e(ve).url,e(ve).token);if(!n.ok){r(Et,Vs(n.error));return}const{runner:o}=await An(e(ve));r(Oe,[...e(Oe),o]),r(Ae,{...e(Ae),[o.id]:{ok:!0,latency:n.latency,loading:!1}}),r(ve,{name:"",url:"",token:"",browser:"chromium"}),r(na,!1),$("success",ll(o.name))}catch{r(Et,sl)}finally{r(Bt,!1)}}async function or(n,o){try{await Rn(n),r(Oe,e(Oe).filter(x=>x.id!==n)),$("success",il(o))}catch{$("error",rl)}}async function ls(n){r(Ae,{...e(Ae),[n]:{loading:!0}});try{const o=await Ns(n);r(Ae,{...e(Ae),[n]:{...o,loading:!1}})}catch{r(Ae,{...e(Ae),[n]:{ok:!1,error:Bs,loading:!1}})}}async function cr(n,o){r(la,n);try{const x=await Ln(n);x.ok?$("success",ol(o)):$("error",cl(o,x.error))}catch{$("error",dl(o))}finally{r(la,null),ls(n)}}async function dr(n,o){r(ia,n);try{const x=await Cn(n);x.ok?$("success",vl(o)):$("error",pl(o,x.error))}catch{$("error",ul(o))}finally{r(ia,null),setTimeout(()=>ls(n),2e3)}}function vr(n){r(oa,n.id),r(pe,{name:n.name,url:n.url,token:"",browser:n.browser}),r(rt,"")}async function pr(n){if(!e(pe).name||!e(pe).url){r(rt,Hs);return}r(rt,""),r(Ft,!0);try{if(e(pe).token){const x=await Ds(e(pe).url,e(pe).token);if(!x.ok){r(rt,Vs(x.error));return}r(Ae,{...e(Ae),[n]:{ok:!0,latency:x.latency,loading:!1}})}const{runner:o}=await Sn(n,e(pe));r(Oe,e(Oe).map(x=>x.id===n?o:x)),r(oa,null),$("success",_l(o.name))}catch{r(rt,nl)}finally{r(Ft,!1)}}async function ur(){r(Vt,!0);try{await mn(e(be)),$("success",Pl)}catch{$("error",yl)}finally{r(Vt,!1)}}async function _r(){r(Zt,!0);try{const n=await Pn(),o=new Blob([JSON.stringify(n,null,2)],{type:"application/json"}),x=URL.createObjectURL(o),je=document.createElement("a");je.href=x,je.download=Rc(new Date().toISOString().slice(0,10)),je.click(),URL.revokeObjectURL(x),$("success",bc)}catch{$("error",fc)}finally{r(Zt,!1)}}async function br(){if(e(bt)){r(Qt,!0);try{const n=await e(bt).text(),o=JSON.parse(n),x=await yn(o);if(x.error)throw new Error(x.error);$("success",Ec),r(be,await Os()),r(bt,null),e(Dt)&&k(Dt,e(Dt).value="")}catch(n){$("error",n.message||hc)}finally{r(Qt,!1)}}}function fr(n){r(bt,n.target.files[0]??null)}async function Er(){r(jt,!0);try{r(me,await $n(e(me))),$("success",Ql)}catch{$("error",Zl)}finally{r(jt,!1)}}async function hr(){r(Wt,!0);try{await Nn(e(qe)),r(me,{...e(me),...e(qe)}),$("success",li)}catch{$("error",ii)}finally{r(Wt,!1)}}async function gr(){r(Yt,""),r(Xt,!0);try{const{user:n}=await Dn({token:ge().token,name:e(Be).name,email:e(Be).email});_a.login(ge().token,{...ge().user,...n}),$("success",Zi)}catch(n){r(Yt,n.message)}finally{r(Xt,!1)}}async function mr(){if(r(Nt,""),!e(fe).name||!e(fe).email||!e(fe).password){r(Nt,go);return}r(zt,!0);try{const n=await Mn(e(fe));r(_t,[...e(_t),n]),r(fe,{name:"",email:"",password:"",role:"user"}),$("success",So(n.name))}catch(n){r(Nt,n.message)}finally{r(zt,!1)}}async function Sr(n,o){try{await Gn(n),r(_t,e(_t).filter(x=>x.id!==n)),$("success",Co(o))}catch(x){$("error",x.message)}r(Rt,null),r(Jt,!1)}async function Cr(){if(r(At,""),e(Se).newPassword!==e(Se).confirmPassword){r(At,eo);return}if(e(Se).newPassword.length<8){r(At,to);return}r(qt,!0);try{await Un({token:ge().token,currentPassword:e(Se).currentPassword,newPassword:e(Se).newPassword}),r(Se,{currentPassword:"",newPassword:"",confirmPassword:""}),$("success",ao)}catch(n){r(At,n.message)}finally{r(qt,!1)}}function Lr(){_a.logout(),fn("/login")}async function is(){r(Pt,!0);try{const n=await xn();r(kt,n.mcpKey),r(ta,!0),r(xt,!0),$("success",Mi)}catch{$("error",Gi)}finally{r(Pt,!1)}}function Rr(){navigator.clipboard.writeText(e(kt)).then(()=>{r(Sa,!0),setTimeout(()=>r(Sa,!1),Qa)})}function Ar(){navigator.clipboard.writeText(e(ha)).then(()=>{r(Ca,!0),setTimeout(()=>r(Ca,!1),Qa)})}function kr(){navigator.clipboard.writeText(e(ga)).then(()=>{r(La,!0),setTimeout(()=>r(La,!1),Qa)})}async function xr(){r(ea,!0);try{r(we,await kn(e(we))),$("success",mi)}catch{$("error",Si)}finally{r(ea,!1)}}async function os(){r(yt,!0);try{const n={...e(T)};n.backupS3SecretKey||delete n.backupS3SecretKey;const o=await In(n);if(o.error)throw new Error(o.error);e(T).backupS3SecretKey&&r(Tt,!0),r(T,{...e(T),backupS3SecretKey:""}),$("success",Zo)}catch(n){$("error",n.message||ec)}finally{r(yt,!1)}}async function Pr(){r(aa,!0),r(ft,null),r(ra,"");try{const n=await Tn(e(T));if(n.error)throw new Error(n.error);r(ft,"success"),r(ra,qo)}catch(n){r(ft,"error"),r(ra,n.message||Qo)}finally{r(aa,!1)}}async function yr(){r(sa,!0);try{const n=await wn();if(n.error)throw new Error(n.error);r(Ut,n.lastRunAt),r(st,n.lastStatus??""),$("success",gc)}catch(n){$("error",n.message||mc);const o=await $s().catch(()=>null);o&&(r(Ut,o.backupLastRunAt),r(st,o.backupLastStatus))}finally{r(sa,!1)}}const Tr=new Set(["project","runners","repository","integrations","mcp","users","backup"]);wt(()=>(ge(),e(xe)),()=>{ge().user&&ge().user.role!=="admin"&&Tr.has(e(xe))&&r(xe,"account")}),wt(()=>(e(xe),e(Ra)),()=>{e(xe)==="runners"&&e(Ra)&&rr()}),wt(()=>(e(T),e(Tt)),()=>{r(Ea,!!(e(T).backupS3Bucket&&e(T).backupS3AccessKey&&e(Tt)))}),wt(()=>e(kt),()=>{r(ha,JSON.stringify({mcpServers:{plum:{type:"http",url:`${Ct}/mcp`,headers:{Authorization:`ApiKey ${e(kt)}`}}}},null,2))}),wt(()=>Ct,()=>{r(ga,["- name: Run Plum tests"," run: |",` curl -X POST ${Ct}/trigger \\`,' -H "Authorization: ApiKey ${{ secrets.PLUM_API_KEY }}" \\',' -H "Content-Type: application/json" \\',` -d '{"tag": "@smoke", "baseUrl": "https://your-pr-preview-url"}'`].join(`
|
|
7
|
-
`))}),wt(()=>(ge(),ts),()=>{var n;r(rs,((n=ge().user)==null?void 0:n.role)==="admin"?[{id:"project",label:Fs},{id:"runners",label:Ks},{id:"repository",label:jn},{id:"integrations",label:Ms},{id:"mcp",label:Xn},{id:"account",label:es},{id:"users",label:Gs},{id:"backup",label:ts}]:[{id:"account",label:es}])}),sn(),en();var cs=Ad();Zr(n=>{nn.title=Hn});var ds=Re(cs);_n(ds,{get toast(){return e(ma)}});var Aa=t(ds,2),Ir=s(Aa);Ir.textContent=Vn,a(Aa);var vs=t(Aa,2),ka=s(vs),ps=s(ka);Ot(ps,5,()=>e(rs),va,(n,o)=>{var x=$c(),je=s(x,!0);a(x),v(()=>{St(x,"active",e(xe)===e(o).id),_(je,e(o).label)}),Je("click",x,()=>ns(e(o).id)),l(n,x)}),a(ps),a(ka);var us=t(ka,2),wr=s(us);{var Or=n=>{var o=Uc(),x=s(o),je=s(x);je.textContent=Fs;var xa=t(je,2);xa.textContent=zn,a(x);var Qe=t(x,2),Fe=s(Qe),nt=s(Fe);nt.textContent=bl;var lt=t(nt,2);B(lt),m(lt,"placeholder",fl),a(Fe);var ht=t(Fe,2),Ie=s(ht),ye=s(Ie);ye.textContent=El;var Ke=t(ye,2);Ke.textContent=hl,a(Ie);var Me=t(Ie,2);B(Me),m(Me,"placeholder",gl),a(ht);var it=t(ht,2);{var ke=u=>{var g=Nc(),p=s(g);p.textContent=ml;var f=t(p,2);m(f,"alt",Sl),a(g),v(()=>m(f,"src",e(be).logoUrl)),Je("error",f,I=>I.target.style.display="none"),l(u,g)};U(it,u=>{e(be).logoUrl&&u(ke)})}var Ee=t(it,2),Pe=s(Ee),$e=s(Pe);$e.textContent=Cl;var Ge=t($e,2);Ge.textContent=Ll,a(Pe);var ue=t(Pe,2);v(()=>{e(be),da(()=>{})}),Ot(ue,5,()=>sr,va,(u,g)=>{var p=Dc(),f={},I=s(p,!0);a(p),v(()=>{f!==(f=e(g))&&(p.value=(p.__value=e(g))==null?"":e(g)),_(I,e(g))}),l(u,p)}),a(ue),a(Ee);var J=t(Ee,2),j=s(J),ne=s(j);ne.textContent=Rl;var h=t(ne,2);h.textContent=Al,a(j);var q=t(j,2);B(q),m(q,"max",dn),a(J);var N=t(J,2),le=s(N),oe=s(le);oe.textContent=kl;var _e=t(oe,2);_e.textContent=xl,a(le);var W=t(le,2);a(N);var P=t(N,2),L=s(P);se(L,{get disabled(){return e(Vt)},$$events:{click:ur},children:(u,g)=>{z();var p=te();v(f=>_(p,f),[()=>Tl(e(Vt))],H),l(u,p)},$$slots:{default:!0}}),a(P),a(Qe),a(o),v(()=>{m(W,"aria-checked",$t()==="dark"),St(W,"on",$t()==="dark")}),V(lt,()=>e(be).name,u=>k(be,e(be).name=u)),V(Me,()=>e(be).logoUrl,u=>k(be,e(be).logoUrl=u)),pa(ue,()=>e(be).timezone,u=>k(be,e(be).timezone=u)),V(q,()=>e(be).maxRetries,u=>k(be,e(be).maxRetries=u)),Je("click",W,lr),He(3,o,()=>Ve,()=>({y:6,duration:180})),l(n,o)},$r=n=>{var o=De(),x=Re(o);{var je=Qe=>{var Fe=Jc(),nt=s(Fe),lt=s(nt);lt.textContent=Ks;var ht=t(lt,2);ht.textContent=Jn,a(nt);var Ie=t(nt,2),ye=s(Ie),Ke=s(ye),Me=s(Ke);Me.textContent=Il;var it=t(Me,2);it.textContent=wl,a(Ke);var ke=t(Ke,2);a(ye);var Ee=t(ye,2);{var Pe=J=>{var j=jc();Ot(j,5,()=>e(Oe),ne=>ne.id,(ne,h)=>{var q=De();const N=H(()=>e(Ae)[e(h).id]);var le=Re(q);{var oe=W=>{var P=Kc(),L=s(P),u=s(L),g=s(u);g.textContent=ua;var p=t(g,2);B(p),m(p,"placeholder",qs),a(u);var f=t(u,2),I=s(f),X=s(I);X.nodeValue=`${js} `;var F=t(X),y=s(F);y.nodeValue=`${Ws} `;var ae=t(y,2);ae.nodeValue=` ${Xs}`,a(F),a(I);var Q=t(I,2);B(Q),m(Q,"placeholder",Ys),a(f);var Z=t(f,2),D=s(Z);D.textContent=zs;var K=t(D,2);B(K),m(K,"placeholder",$l),a(Z);var R=t(Z,2),d=s(R);d.textContent=Js;var E=t(d,2);v(()=>{e(pe),da(()=>{e(h)})}),Ot(E,5,()=>Ts,va,(b,ee)=>{var ie=Bc(),We={},ot=s(ie,!0);a(ie),v(()=>{We!==(We=e(ee).id)&&(ie.value=(ie.__value=e(ee).id)==null?"":e(ee).id),_(ot,e(ee).label)}),l(b,ie)}),a(E),a(R),a(L);var S=t(L,2);{var M=b=>{var ee=Fc(),ie=s(ee,!0);a(ee),v(()=>_(ie,e(rt))),l(b,ee)};U(S,b=>{e(rt)&&b(M)})}var G=t(S,2),w=s(G);se(w,{get disabled(){return e(Ft)},$$events:{click:()=>pr(e(h).id)},children:(b,ee)=>{z();var ie=te();v(We=>_(ie,We),[()=>jl(e(Ft))],H),l(b,ie)},$$slots:{default:!0}});var ce=t(w,2);se(ce,{variant:"ghost",get disabled(){return e(Ft)},$$events:{click:()=>{r(oa,null),r(rt,"")}},children:(b,ee)=>{z();var ie=te();ie.nodeValue=Is,l(b,ie)},$$slots:{default:!0}}),a(G),a(P),v(()=>{m(g,"for",`edit-name-${e(h).id??""}`),m(p,"id",`edit-name-${e(h).id??""}`),m(I,"for",`edit-url-${e(h).id??""}`),m(Q,"id",`edit-url-${e(h).id??""}`),m(D,"for",`edit-token-${e(h).id??""}`),m(K,"id",`edit-token-${e(h).id??""}`),m(d,"for",`edit-browser-${e(h).id??""}`),m(E,"id",`edit-browser-${e(h).id??""}`)}),V(p,()=>e(pe).name,b=>k(pe,e(pe).name=b)),V(Q,()=>e(pe).url,b=>k(pe,e(pe).url=b)),V(K,()=>e(pe).token,b=>k(pe,e(pe).token=b)),pa(E,()=>e(pe).browser,b=>k(pe,e(pe).browser=b)),He(3,P,()=>Ve,()=>({y:-4,duration:180})),l(W,P)},_e=W=>{var P=Vc(),L=s(P),u=t(s(L),2),g=s(u,!0);a(u);var p=t(u,2),f=s(p,!0);a(p);var I=t(p,2);{var X=S=>{var M=De(),G=Re(M);{var w=b=>{var ee=Mc(),ie=s(ee);a(ee),v(()=>_(ie,`${e(N).latency??""}ms`)),l(b,ee)},ce=b=>{var ee=Gc();ee.textContent=Nl,v(()=>m(ee,"title",e(N).error)),l(b,ee)};U(G,b=>{e(N).ok?b(w):b(ce,!1)})}l(S,M)},F=S=>{var M=De(),G=Re(M);{var w=ce=>{var b=Hc();b.textContent=Dl,l(ce,b)};U(G,ce=>{var b;(b=e(N))!=null&&b.loading&&ce(w)},!0)}l(S,M)};U(I,S=>{e(N)&&!e(N).loading?S(X):S(F,!1)})}a(L);var y=t(L,2),ae=s(y,!0);a(y);var Q=t(y,2),Z=s(Q);se(Z,{variant:"ghost",size:"sm",$$events:{click:()=>vr(e(h))},children:(S,M)=>{z();var G=te();G.nodeValue=pn,l(S,G)},$$slots:{default:!0}});var D=t(Z,2);const K=H(()=>e(ia)===e(h).id);se(D,{variant:"ghost",size:"sm",get disabled(){return e(K)},$$events:{click:()=>dr(e(h).id,e(h).name)},children:(S,M)=>{z();var G=te();v(w=>_(G,w),[()=>Xl(e(ia)===e(h).id)],H),l(S,G)},$$slots:{default:!0}});var R=t(D,2);const d=H(()=>e(la)===e(h).id);se(R,{variant:"ghost",size:"sm",get disabled(){return e(d)},$$events:{click:()=>cr(e(h).id,e(h).name)},children:(S,M)=>{z();var G=te();v(w=>_(G,w),[()=>Yl(e(la)===e(h).id)],H),l(S,G)},$$slots:{default:!0}});var E=t(R,2);se(E,{variant:"danger",size:"sm",$$events:{click:()=>or(e(h).id,e(h).name)},children:(S,M)=>{z();var G=te();G.nodeValue=Ul,l(S,G)},$$slots:{default:!0}}),a(Q),a(P),v(()=>{_(g,e(h).name),_(f,e(h).browser),_(ae,e(h).url)}),He(3,P,()=>Ve,()=>({y:-4,duration:180})),l(W,P)};U(le,W=>{e(oa)===e(h).id?W(oe):W(_e,!1)})}l(ne,q)}),a(j),l(J,j)};U(Ee,J=>{e(Oe).length>0&&J(Pe)})}var $e=t(Ee,2);{var Ge=J=>{var j=Yc(),ne=s(j);ne.textContent=Bl;var h=t(ne,2),q=s(h),N=s(q);N.textContent=ua;var le=t(N,2);B(le),m(le,"placeholder",qs),a(q);var oe=t(q,2),_e=s(oe),W=s(_e);W.nodeValue=`${js} `;var P=t(W),L=s(P);L.nodeValue=`${Ws} `;var u=t(L,2);u.nodeValue=` ${Xs}`,a(P),a(_e);var g=t(_e,2);B(g),m(g,"placeholder",Ys),a(oe);var p=t(oe,2),f=s(p);f.textContent=zs;var I=t(f,2);B(I),m(I,"placeholder",Ol),a(p);var X=t(p,2),F=s(X);F.textContent=Js;var y=t(F,2);v(()=>{e(ve),da(()=>{})}),Ot(y,5,()=>Ts,va,(R,d)=>{var E=Wc(),S={},M=s(E,!0);a(E),v(()=>{S!==(S=e(d).id)&&(E.value=(E.__value=e(d).id)==null?"":e(d).id),_(M,e(d).label)}),l(R,E)}),a(y),a(X),a(h);var ae=t(h,2);{var Q=R=>{var d=Xc(),E=s(d,!0);a(d),v(()=>_(E,e(Et))),l(R,d)};U(ae,R=>{e(Et)&&R(Q)})}var Z=t(ae,2),D=s(Z);se(D,{get disabled(){return e(Bt)},$$events:{click:ir},children:(R,d)=>{z();var E=te();v(S=>_(E,S),[()=>Wl(e(Bt))],H),l(R,E)},$$slots:{default:!0}});var K=t(D,2);se(K,{variant:"ghost",get disabled(){return e(Bt)},$$events:{click:()=>{r(na,!1),r(Et,"")}},children:(R,d)=>{z();var E=te();E.nodeValue=Is,l(R,E)},$$slots:{default:!0}}),a(Z),a(j),V(le,()=>e(ve).name,R=>k(ve,e(ve).name=R)),V(g,()=>e(ve).url,R=>k(ve,e(ve).url=R)),V(I,()=>e(ve).token,R=>k(ve,e(ve).token=R)),pa(y,()=>e(ve).browser,R=>k(ve,e(ve).browser=R)),He(3,j,()=>Ve,()=>({y:-6,duration:200})),l(J,j)},ue=J=>{var j=zc(),ne=s(j);se(ne,{variant:"ghost",$$events:{click:()=>r(na,!0)},children:(h,q)=>{z();var N=te();N.nodeValue=Fl,l(h,N)},$$slots:{default:!0}}),a(j),l(J,j)};U($e,J=>{e(na)?J(Ge):J(ue,!1)})}a(Ie),a(Fe),v(()=>{m(ke,"aria-checked",ss()),St(ke,"on",ss())}),Je("click",ke,nr),He(3,Fe,()=>Ve,()=>({y:6,duration:180})),l(Qe,Fe)},xa=Qe=>{var Fe=De(),nt=Re(Fe);{var lt=Ie=>{var ye=qc(),Ke=s(ye),Me=s(Ke);Me.textContent=Wn;var it=t(Me,2);it.textContent=qn,a(Ke);var ke=t(Ke,2),Ee=s(ke),Pe=s(Ee),$e=s(Pe);$e.textContent=zl;var Ge=t($e,2);B(Ge),m(Ge,"placeholder",Qs),a(Pe);var ue=t(Pe,2),J=s(ue);J.textContent=Jl;var j=t(J,2);B(j),m(j,"placeholder",Zs),a(ue),a(Ee);var ne=t(Ee,2),h=s(ne);h.nodeValue=`${ql} `;var q=t(h),N=s(q);a(q);var le=t(q,2),oe=s(le);a(le),a(ne);var _e=t(ne,2),W=s(_e);se(W,{get disabled(){return e(jt)},$$events:{click:Er},children:(d,E)=>{z();var S=te();v(M=>_(S,M),[()=>oi(e(jt))],H),l(d,S)},$$slots:{default:!0}}),a(_e),a(ke);var P=t(ke,2),L=s(P);L.textContent=ei;var u=t(L,2),g=s(u);g.nodeValue=`${ti} `;var p=t(g);p.textContent=ai;var f=t(p);f.nodeValue=` ${si}`,a(u),a(P);var I=t(P,2),X=s(I),F=s(X),y=s(F);y.textContent=ri;var ae=t(y,2);B(ae),a(F);var Q=t(F,2),Z=s(Q);Z.textContent=ni;var D=t(Z,2);B(D),a(Q),a(X);var K=t(X,2),R=s(K);se(R,{variant:"ghost",get disabled(){return e(Wt)},$$events:{click:hr},children:(d,E)=>{z();var S=te();v(M=>_(S,M),[()=>ci(e(Wt))],H),l(d,S)},$$slots:{default:!0}}),a(K),a(I),a(ye),v(()=>{_(N,`${(e(me).testCasePrefix||Qs)??""}-001`),_(oe,`${(e(me).testSuitePrefix||Zs)??""}-001`),m(ae,"placeholder",e(me).testCasePrefix),m(D,"placeholder",e(me).testSuitePrefix)}),V(Ge,()=>e(me).testCasePrefix,d=>k(me,e(me).testCasePrefix=d)),V(j,()=>e(me).testSuitePrefix,d=>k(me,e(me).testSuitePrefix=d)),V(ae,()=>e(qe).testCasePrefix,d=>k(qe,e(qe).testCasePrefix=d)),V(D,()=>e(qe).testSuitePrefix,d=>k(qe,e(qe).testSuitePrefix=d)),He(3,ye,()=>Ve,()=>({y:6,duration:180})),l(Ie,ye)},ht=Ie=>{var ye=De(),Ke=Re(ye);{var Me=ke=>{var Ee=Qc(),Pe=s(Ee),$e=s(Pe);$e.textContent=Ms;var Ge=t($e,2);Ge.textContent=Qn,a(Pe);var ue=t(Pe,2),J=s(ue);J.textContent=di;var j=t(J,2),ne=s(j),h=s(ne);h.textContent=vi;var q=t(h,2);q.textContent=pi,a(ne);var N=t(ne,2);B(N),m(N,"placeholder",ui),a(j);var le=t(j,2),oe=s(le),_e=s(oe);_e.textContent=_i;var W=t(_e,2);W.textContent=bi,a(oe);var P=t(oe,2);B(P),m(P,"placeholder",fi),a(le);var L=t(le,2),u=s(L),g=s(u);g.textContent=Ei;var p=t(g,2);p.textContent=hi,a(u);var f=t(u,2);B(f),m(f,"placeholder",gi),a(L);var I=t(L,2);se(I,{get disabled(){return e(ea)},$$events:{click:xr},children:(w,ce)=>{z();var b=te();v(ee=>_(b,ee),[()=>Ti(e(ea))],H),l(w,b)},$$slots:{default:!0}}),a(ue);var X=t(ue,2),F=s(X);F.textContent=Ci;var y=t(F,2),ae=s(y);ae.nodeValue=`${Li} `;var Q=t(ae);Q.textContent=`POST ${Ct}/trigger`;var Z=t(Q);Z.nodeValue=` ${Ri} `;var D=t(Z,2);D.nodeValue=` ${Ai} `;var K=t(D);K.textContent=ki;var R=t(K);R.nodeValue=` ${xi} `;var d=t(R);Fn(d,{variant:"external",children:(w,ce)=>{z();var b=te();b.nodeValue=Pi,l(w,b)},$$slots:{default:!0}}),z(),a(y);var E=t(y,2),S=s(E,!0);a(E);var M=t(E,2),G=s(M);se(G,{variant:"ghost",$$events:{click:kr},children:(w,ce)=>{z();var b=te();v(ee=>_(b,ee),[()=>Ii(e(La))],H),l(w,b)},$$slots:{default:!0}}),a(M),a(X),a(Ee),v(()=>_(S,e(ga))),V(N,()=>e(we).discordWebhookUrl,w=>k(we,e(we).discordWebhookUrl=w)),V(P,()=>e(we).slackWebhookUrl,w=>k(we,e(we).slackWebhookUrl=w)),V(f,()=>e(we).notifyPublicUrl,w=>k(we,e(we).notifyPublicUrl=w)),Je("click",K,()=>ns("mcp")),He(3,Ee,()=>Ve,()=>({y:6,duration:180})),l(ke,Ee)},it=ke=>{var Ee=De(),Pe=Re(Ee);{var $e=ue=>{var J=ld(),j=s(J),ne=s(j);ne.textContent=Yn;var h=t(ne,2);h.textContent=Zn,a(j);var q=t(j,2),N=s(q);N.textContent=wi;var le=t(N,2);{var oe=L=>{var u=Zc(),g=Re(u);g.textContent=Oi;var p=t(g,2),f=s(p);se(f,{get disabled(){return e(Pt)},$$events:{click:is},children:(I,X)=>{z();var F=te();v(y=>_(F,y),[()=>Vi(e(Pt))],H),l(I,F)},$$slots:{default:!0}}),a(p),l(L,u)},_e=L=>{var u=rd(),g=Re(u),p=s(g);B(p);var f=t(p,2),I=s(f);{var X=d=>{var E=ed();l(d,E)},F=d=>{var E=td();l(d,E)};U(I,d=>{e(xt)?d(X):d(F,!1)})}a(f);var y=t(f,2);m(y,"title",Di);var ae=s(y);{var Q=d=>{var E=ad();l(d,E)},Z=d=>{var E=sd();l(d,E)};U(ae,d=>{e(Sa)?d(Q):d(Z,!1)})}a(y),a(g);var D=t(g,2);D.textContent=Ui;var K=t(D,2),R=s(K);se(R,{variant:"ghost",get disabled(){return e(Pt)},$$events:{click:is},children:(d,E)=>{z();var S=te();v(M=>_(S,M),[()=>ji(e(Pt))],H),l(d,S)},$$slots:{default:!0}}),a(K),v(()=>{m(p,"type",e(xt)?"text":"password"),un(p,e(kt)),m(f,"title",e(xt)?$i:Ni)}),Je("click",f,()=>r(xt,!e(xt))),Je("click",y,Rr),l(L,u)};U(le,L=>{e(ta)?L(_e,!1):L(oe)})}a(q);var W=t(q,2);{var P=L=>{var u=nd(),g=s(u);g.textContent=Bi;var p=t(g,2),f=s(p);f.nodeValue=`${Fi} `;var I=t(f,2,!0);I.nodeValue=Ki,a(p);var X=t(p,2),F=s(X,!0);a(X);var y=t(X,2),ae=s(y);se(ae,{variant:"ghost",$$events:{click:Ar},children:(Q,Z)=>{z();var D=te();v(K=>_(D,K),[()=>Wi(e(Ca))],H),l(Q,D)},$$slots:{default:!0}}),a(y),a(u),v(()=>_(F,e(ha))),l(L,u)};U(W,L=>{e(ta)&&L(P)})}a(J),He(3,J,()=>Ve,()=>({y:6,duration:180})),l(ue,J)},Ge=ue=>{var J=De(),j=Re(J);{var ne=q=>{var N=cd(),le=s(N),oe=s(le);oe.textContent=es;var _e=t(oe,2);_e.textContent=el,a(le);var W=t(le,2),P=s(W);P.textContent=Xi;var L=t(P,2),u=s(L);u.textContent=ua;var g=t(u,2);B(g),a(L);var p=t(L,2),f=s(p);f.textContent=ws;var I=t(f,2);B(I),a(p);var X=t(p,2);{var F=A=>{var re=id(),de=s(re,!0);a(re),v(()=>_(de,e(Yt))),l(A,re)};U(X,A=>{e(Yt)&&A(F)})}var y=t(X,2),ae=s(y);const Q=H(()=>e(Xt)||!e(Be).name||!e(Be).email);se(ae,{get disabled(){return e(Q)},$$events:{click:gr},children:(A,re)=>{z();var de=te();v(Te=>_(de,Te),[()=>so(e(Xt))],H),l(A,de)},$$slots:{default:!0}}),a(y),a(W);var Z=t(W,2),D=s(Z);D.textContent=Yi;var K=t(D,2),R=s(K);R.textContent=zi;var d=t(R,2);B(d),a(K);var E=t(K,2),S=s(E);S.textContent=Ji;var M=t(S,2);B(M),a(E);var G=t(E,2),w=s(G);w.textContent=qi;var ce=t(w,2);B(ce),a(G);var b=t(G,2);{var ee=A=>{var re=od(),de=s(re,!0);a(re),v(()=>_(de,e(At))),l(A,re)};U(b,A=>{e(At)&&A(ee)})}var ie=t(b,2),We=s(ie);const ot=H(()=>e(qt)||!e(Se).currentPassword||!e(Se).newPassword);se(We,{get disabled(){return e(ot)},$$events:{click:Cr},children:(A,re)=>{z();var de=te();v(Te=>_(de,Te),[()=>ro(e(qt))],H),l(A,de)},$$slots:{default:!0}}),a(ie),a(Z);var gt=t(Z,2),Y=s(gt),he=s(Y);se(he,{variant:"danger",size:"sm",$$events:{click:Lr},children:(A,re)=>{z();var de=te();de.nodeValue=Qi,l(A,de)},$$slots:{default:!0}}),a(Y),a(gt),a(N),V(g,()=>e(Be).name,A=>k(Be,e(Be).name=A)),V(I,()=>e(Be).email,A=>k(Be,e(Be).email=A)),V(d,()=>e(Se).currentPassword,A=>k(Se,e(Se).currentPassword=A)),V(M,()=>e(Se).newPassword,A=>k(Se,e(Se).newPassword=A)),V(ce,()=>e(Se).confirmPassword,A=>k(Se,e(Se).confirmPassword=A)),He(3,N,()=>Ve,()=>({y:6,duration:180})),l(q,N)},h=q=>{var N=De(),le=Re(N);{var oe=W=>{var P=fd(),L=s(P),u=s(L);u.textContent=Gs;var g=t(u,2);g.textContent=tl,a(L);var p=t(L,2);Bn(p,{title:no,confirmLabel:lo,get open(){return e(Jt)},set open(Y){r(Jt,Y)},$$events:{confirm:()=>{var Y,he;return Sr((Y=e(Rt))==null?void 0:Y.id,(he=e(Rt))==null?void 0:he.name)}},children:(Y,he)=>{var A=De(),re=Re(A);{var de=Te=>{var ct=dd(),dt=Re(ct);dt.nodeValue=`${io} `;var Xe=t(dt),mt=s(Xe,!0);a(Xe);var Ze=t(Xe,1,!0);Ze.nodeValue=oo,v(()=>_(mt,e(Rt).name)),l(Te,ct)};U(re,Te=>{e(Rt)&&Te(de)})}l(Y,A)},$$slots:{default:!0},$$legacy:!0});var f=t(p,2),I=s(f);I.textContent=co;var X=t(I,2),F=s(X),y=s(F);y.textContent=ua;var ae=t(y,2);B(ae),m(ae,"placeholder",vo),a(F);var Q=t(F,2),Z=s(Q);Z.textContent=ws;var D=t(Z,2);B(D),m(D,"placeholder",po),a(Q),a(X);var K=t(X,2),R=s(K),d=s(R);d.textContent=uo;var E=t(d,2);B(E),a(R);var S=t(R,2),M=s(S);M.textContent=_o;var G=t(M,2);v(()=>{e(fe),da(()=>{})});var w=s(G);w.value=(w.__value="user")==null?"":"user",w.textContent=bo;var ce=t(w);ce.value=(ce.__value="admin")==null?"":"admin",ce.textContent=fo,a(G),a(S),a(K);var b=t(K,2);{var ee=Y=>{var he=vd(),A=s(he,!0);a(he),v(()=>_(A,e(Nt))),l(Y,he)};U(b,Y=>{e(Nt)&&Y(ee)})}var ie=t(b,2),We=s(ie);se(We,{get disabled(){return e(zt)},$$events:{click:mr},children:(Y,he)=>{z();var A=te();v(re=>_(A,re),[()=>mo(e(zt))],H),l(Y,A)},$$slots:{default:!0}}),a(ie),a(f);var ot=t(f,2);{var gt=Y=>{var he=bd();Ot(he,5,()=>e(_t),A=>A.id,(A,re)=>{var de=_d(),Te=s(de),ct=s(Te),dt=s(ct,!0);a(ct);var Xe=t(ct,2),mt=s(Xe,!0);a(Xe),a(Te);var Ze=t(Te,2),Pa=s(Ze,!0);a(Ze);var Kt=t(Ze,2);{var ca=et=>{var Ne=pd();m(Ne,"title",Eo),Je("click",Ne,()=>{r(Rt,{id:e(re).id,name:e(re).name}),r(Jt,!0)}),l(et,Ne)},Mt=et=>{var Ne=ud();Ne.textContent=ho,l(et,Ne)};U(Kt,et=>{var Ne;e(re).id!==((Ne=ge().user)==null?void 0:Ne.id)?et(ca):et(Mt,!1)})}a(de),v(()=>{_(dt,e(re).name),_(mt,e(re).email),on(Ze,`role-chip ${e(re).role??""} svelte-bpb2i4`),_(Pa,e(re).role)}),l(A,de)}),a(he),l(Y,he)};U(ot,Y=>{e(_t).length>0&&Y(gt)})}a(P),V(ae,()=>e(fe).name,Y=>k(fe,e(fe).name=Y)),V(D,()=>e(fe).email,Y=>k(fe,e(fe).email=Y)),V(E,()=>e(fe).password,Y=>k(fe,e(fe).password=Y)),pa(G,()=>e(fe).role,Y=>k(fe,e(fe).role=Y)),He(3,P,()=>Ve,()=>({y:6,duration:180})),l(W,P)},_e=W=>{var P=De(),L=Re(P);{var u=g=>{var p=Rd(),f=s(p),I=s(f);I.textContent=ts;var X=t(I,2);X.textContent=al,a(f);var F=t(f,2),y=s(F);y.textContent=Lo;var ae=t(y,2),Q=s(ae),Z=s(Q);Z.textContent=Ro;var D=t(Z,2),K=s(D);K.nodeValue=`${Ao} `;var R=t(K,2);R.nodeValue=` ${ko}`,a(D);var d=t(D,2);se(d,{get disabled(){return e(Zt)},$$events:{click:_r},children:(O,Ce)=>{z();var Le=te();v(Ye=>_(Le,Ye),[()=>Ac(e(Zt))],H),l(O,Le)},$$slots:{default:!0}}),a(Q);var E=t(Q,4),S=s(E);S.textContent=xo;var M=t(S,2);M.textContent=Po;var G=t(M,2),w=s(G),ce=s(w);bn(ce,O=>r(Dt,O),()=>e(Dt));var b=t(ce,2),ee=s(b,!0);a(b),a(w);var ie=t(w,2);const We=H(()=>!e(bt)||e(Qt));se(ie,{get disabled(){return e(We)},$$events:{click:br},children:(O,Ce)=>{z();var Le=te();v(Ye=>_(Le,Ye),[()=>kc(e(Qt))],H),l(O,Le)},$$slots:{default:!0}}),a(G),a(E),a(ae);var ot=t(ae,2),gt=s(ot);gt.nodeValue=`${To} `;var Y=t(gt,2);Y.nodeValue=` ${Io}`,a(ot),a(F);var he=t(F,2),A=s(he);A.textContent=wo;var re=t(A,2),de=s(re);de.nodeValue=`${Oo} `;var Te=t(de);Te.textContent=er;var ct=t(Te);ct.nodeValue=` ${$o}`,a(re);var dt=t(re,2),Xe=s(dt),mt=s(Xe),Ze=s(mt);Ze.textContent=er;var Pa=t(Ze,2);Pa.textContent=No,a(mt);var Kt=t(mt,2);B(Kt),m(Kt,"placeholder",Do),a(Xe);var ca=t(Xe,2),Mt=s(ca),et=s(Mt);et.textContent=Uo;var Ne=t(et,2),_s=s(Ne);_s.nodeValue=`${Bo} `;var Nr=t(_s,2);Nr.nodeValue=` ${Fo}`,a(Ne),a(Mt);var ya=t(Mt,2);B(ya),m(ya,"placeholder",Ko),a(ca),a(dt);var Ta=t(dt,2),Ia=s(Ta),wa=s(Ia),Dr=s(wa);Dr.textContent=Mo,a(wa);var Oa=t(wa,2);B(Oa),m(Oa,"placeholder",Go),a(Ia);var bs=t(Ia,2),$a=s(bs),fs=s($a);fs.textContent=Ho;var Ur=t(fs,2);Ur.textContent=Vo,a($a);var Na=t($a,2);B(Na),m(Na,"placeholder",jo),a(bs),a(Ta);var Da=t(Ta,2),Ua=s(Da),Ba=s(Ua),Br=s(Ba);Br.textContent=Wo,a(Ba);var Fa=t(Ba,2);B(Fa),m(Fa,"placeholder",Xo),a(Ua);var Es=t(Ua,2),Ka=s(Es),hs=s(Ka);hs.textContent=Yo;var gs=t(hs,2),Fr=s(gs,!0);a(gs),a(Ka);var Ma=t(Ka,2);B(Ma),a(Es),a(Da);var Ga=t(Da,2),ms=s(Ga);se(ms,{variant:"ghost",get disabled(){return e(aa)},$$events:{click:Pr},children:(O,Ce)=>{z();var Le=te();v(Ye=>_(Le,Ye),[()=>yc(e(aa))],H),l(O,Le)},$$slots:{default:!0}});var Kr=t(ms,2);se(Kr,{get disabled(){return e(yt)},$$events:{click:os},children:(O,Ce)=>{z();var Le=te();v(Ye=>_(Le,Ye),[()=>Tc(e(yt))],H),l(O,Le)},$$slots:{default:!0}}),a(Ga);var Mr=t(Ga,2);{var Gr=O=>{var Ce=Ed(),Le=s(Ce);a(Ce),v(()=>{St(Ce,"s3-test-success",e(ft)==="success"),St(Ce,"s3-test-error",e(ft)==="error"),_(Le,`${(e(ft)==="success"?"✓":"✗")??""}
|
|
8
|
-
${e(ra)??""}`)}),l(O,Ce)};U(Mr,O=>{e(ft)&&O(Gr)})}a(he);var Ha=t(he,2),Ss=s(Ha);Ss.textContent=lc;var Hr=t(Ss,2);{var Vr=O=>{var Ce=hd();Ce.textContent=ic,l(O,Ce)},jr=O=>{var Ce=Ld(),Le=Re(Ce),Ye=s(Le),Cs=s(Ye);Cs.textContent=oc;var Va=t(Cs,2);a(Ye),a(Le);var ja=t(Le,2),Wa=s(ja),Ls=s(Wa);Ls.textContent=cc;var Rs=t(Ls,2),As=s(Rs);As.nodeValue=`${dc} `;var ks=t(As,2);ks.nodeValue=` ${vc} `;var Wr=t(ks);Wr.textContent=pc,a(Rs),a(Wa);var Xa=t(Wa,2);B(Xa),m(Xa,"placeholder",uc),a(ja);var xs=t(ja,2);{var Xr=tt=>{var Gt=Cd(),vt=s(Gt),Ht=t(vt);{var zr=pt=>{var at=gd(),Ya=s(at,!0);a(at),v(za=>_(Ya,za),[()=>Ic(e(st).replace("success:",""))],H),l(pt,at)},Jr=pt=>{var at=De(),Ya=Re(at);{var za=It=>{var ze=md(),Ja=s(ze,!0);a(ze),v(Qr=>_(Ja,Qr),[()=>e(st).replace("error:","")],H),l(It,ze)},qr=It=>{var ze=Sd(),Ja=s(ze,!0);a(ze),v(()=>_(Ja,e(st))),l(It,ze)};U(Ya,It=>{var ze;(ze=e(st))!=null&&ze.startsWith("error:")?It(za):It(qr,!1)},!0)}l(pt,at)};U(Ht,pt=>{var at;(at=e(st))!=null&&at.startsWith("success:")?pt(zr):pt(Jr,!1)})}a(Gt),v(pt=>_(vt,`${_c}
|
|
9
|
-
${pt??""} — `),[()=>new Date(e(Ut)).toLocaleString()],H),l(tt,Gt)};U(xs,tt=>{e(Ut)&&tt(Xr)})}var Ps=t(xs,2),ys=s(Ps);se(ys,{variant:"ghost",get disabled(){return e(sa)},$$events:{click:yr},children:(tt,Gt)=>{z();var vt=te();v(Ht=>_(vt,Ht),[()=>wc(e(sa))],H),l(tt,vt)},$$slots:{default:!0}});var Yr=t(ys,2);se(Yr,{get disabled(){return e(yt)},$$events:{click:os},children:(tt,Gt)=>{z();var vt=te();v(Ht=>_(vt,Ht),[()=>Oc(e(yt))],H),l(tt,vt)},$$slots:{default:!0}}),a(Ps),v(()=>{m(Va,"aria-checked",e(T).backupEnabled),St(Va,"active",e(T).backupEnabled)}),Je("click",Va,()=>k(T,e(T).backupEnabled=!e(T).backupEnabled)),V(Xa,()=>e(T).backupCron,tt=>k(T,e(T).backupCron=tt)),l(O,Ce)};U(Hr,O=>{e(Ea)?O(jr,!1):O(Vr)})}a(Ha),a(p),v((O,Ce)=>{_(ee,e(bt)?e(bt).name:yo),_(Fr,O),m(Ma,"placeholder",Ce),St(Ha,"card-disabled",!e(Ea))},[()=>xc(e(Tt)),()=>Pc(e(Tt))],H),Je("change",ce,fr),V(Kt,()=>e(T).backupS3Endpoint,O=>k(T,e(T).backupS3Endpoint=O)),V(ya,()=>e(T).backupS3Region,O=>k(T,e(T).backupS3Region=O)),V(Oa,()=>e(T).backupS3Bucket,O=>k(T,e(T).backupS3Bucket=O)),V(Na,()=>e(T).backupS3Prefix,O=>k(T,e(T).backupS3Prefix=O)),V(Fa,()=>e(T).backupS3AccessKey,O=>k(T,e(T).backupS3AccessKey=O)),V(Ma,()=>e(T).backupS3SecretKey,O=>k(T,e(T).backupS3SecretKey=O)),He(3,p,()=>Ve,()=>({y:6,duration:180})),l(g,p)};U(L,g=>{e(xe)==="backup"&&g(u)},!0)}l(W,P)};U(le,W=>{e(xe)==="users"?W(oe):W(_e,!1)},!0)}l(q,N)};U(j,q=>{e(xe)==="account"?q(ne):q(h,!1)},!0)}l(ue,J)};U(Pe,ue=>{e(xe)==="mcp"?ue($e):ue(Ge,!1)},!0)}l(ke,Ee)};U(Ke,ke=>{e(xe)==="integrations"?ke(Me):ke(it,!1)},!0)}l(Ie,ye)};U(nt,Ie=>{e(xe)==="repository"?Ie(lt):Ie(ht,!1)},!0)}l(Qe,Fe)};U(x,Qe=>{e(xe)==="runners"?Qe(je):Qe(xa,!1)},!0)}l(n,o)};U(wr,n=>{e(xe)==="project"?n(Or):n($r,!1)})}a(us),a(vs),l(i,cs),rn(),fa()}export{Vd as component};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This file is part of Plum.
|
|
3
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
.back-row.svelte-1qfuc04{margin-bottom:1.5rem}.back-link.svelte-1qfuc04{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;color:var(--text-muted);text-decoration:none;transition:color var(--duration-fast)}.back-link.svelte-1qfuc04:hover{color:var(--text)}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This file is part of Plum.
|
|
3
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
:root{--bg: #fdfcfb;--bg-subtle: #f7f6f4;--bg-elevated: #ffffff;--border: #e9e5df;--text: #18160f;--text-muted: #9c9185;--accent: #5c1b87;--accent-soft: #f3eaff;--pass: #16a34a;--pass-soft: #dcfce7;--fail: #dc2626;--fail-soft: #fee2e2;--warn: #d97706;--warn-soft: #fef3c7;--node: #0284c7;--node-soft: #e0f2fe;--external: #0d9488;--external-soft: #ccfbf1;--terminal-bg: #0d0c08;--terminal-text: #d6d0c8;--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .14s;--duration-base: .24s;--duration-slow: .4s;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 100px;--white: #ffffff;--bottom-bar-height: 55px}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.65)}}[data-theme=dark]{--bg: #101009;--bg-subtle: #1a1910;--bg-elevated: #201f14;--border: #2e2c1e;--text: #f0ede6;--text-muted: #706a5e;--accent: #d0a5f5;--accent-soft: #1b0d30;--pass: #22c55e;--pass-soft: #0d2118;--fail: #f87171;--fail-soft: #2d1010;--warn: #fbbf24;--warn-soft: #2a1f06;--node: #38bdf8;--node-soft: #082032;--external: #2dd4bf;--external-soft: #0f2e2b;--terminal-bg: #080807;--terminal-text: #cbc5bd}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:300;font-size:1rem;line-height:1.65;background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");background-size:200px 200px;color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}h1{font-family:var(--font-display);font-weight:400;line-height:1.1;letter-spacing:-.015em;color:var(--text)}h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.2;color:var(--text)}a{color:inherit;text-decoration:none}button{font-family:var(--font-body)}.field{display:flex;flex-direction:column;gap:.375rem}.field-label{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:400;color:var(--text-muted)}.field-hint{font-size:.75rem;color:var(--text-muted)}.field-input{width:100%;padding:.6rem .875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--text);font-family:var(--font-body);font-size:.875rem;font-weight:300;outline:none;appearance:none;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-input:disabled{opacity:.5;cursor:not-allowed}.field-input::placeholder{color:var(--text-muted)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{text-align:left;padding:.5rem 1rem;font-family:var(--font-body);font-weight:500;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border)}.data-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.card-title{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--text);margin-bottom:.25rem}.card-subtitle{font-size:.8125rem;color:var(--text-muted);margin-bottom:1.25rem}.alert{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:400}.alert-success{background:var(--pass-soft);color:var(--pass)}.alert-error{background:var(--fail-soft);color:var(--fail)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.nav.svelte-10t98u4{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--border);transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.inner.svelte-10t98u4{max-width:1200px;margin:0 auto;padding:0 1.5rem;height:56px;display:flex;align-items:center;gap:2rem}.brand.svelte-10t98u4{font-size:1.2rem;letter-spacing:-.02em;flex-shrink:0;text-decoration:none}.brand-serif.svelte-10t98u4{font-family:var(--font-display);font-weight:400;color:var(--accent)}.brand-sans.svelte-10t98u4{font-family:var(--font-body);font-weight:400;color:var(--text)}.project-card.svelte-10t98u4{display:flex;align-items:center;gap:.4rem;padding:.25rem .6rem .25rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);flex-shrink:0}.project-logo.svelte-10t98u4{width:16px;height:16px;object-fit:contain;border-radius:2px;flex-shrink:0}.project-name.svelte-10t98u4{font-size:.78rem;font-weight:500;color:var(--text);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.links.svelte-10t98u4{display:flex;gap:.125rem;flex:1}.link.svelte-10t98u4{font-size:.875rem;font-weight:400;color:var(--text-muted);text-decoration:none;padding:.35rem .75rem;border-radius:var(--radius-sm);transition:color var(--duration-fast),background var(--duration-fast)}.link.svelte-10t98u4:hover{color:var(--text);background:var(--bg-subtle)}.link.active.svelte-10t98u4{color:var(--accent);background:var(--accent-soft)}.nav-sep.svelte-10t98u4{display:block;width:1px;height:18px;background:var(--border);margin:0 .375rem;flex-shrink:0;align-self:center}.link.repo.svelte-10t98u4{border:1px solid var(--border);padding:.3rem .75rem}.link.repo.svelte-10t98u4:hover{border-color:var(--text-muted)}.link.repo.active.svelte-10t98u4{border-color:var(--accent)}.actions.svelte-10t98u4{display:flex;align-items:center;gap:.5rem;margin-left:auto}.nav-user.svelte-10t98u4{font-size:.8125rem;color:var(--text-muted);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.nav-user.svelte-10t98u4{display:none}}.settings-btn.svelte-10t98u4{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-muted);text-decoration:none;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}.settings-btn.svelte-10t98u4:hover{background:var(--bg-subtle);color:var(--text);border-color:var(--text-muted)}.settings-btn.active.svelte-10t98u4{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.hamburger.svelte-10t98u4{display:none;flex-direction:column;justify-content:center;gap:4px;width:34px;height:34px;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:0 8px}.hamburger.svelte-10t98u4 span:where(.svelte-10t98u4){display:block;width:100%;height:1.5px;background:var(--text-muted);border-radius:2px;transform-origin:center;transition:transform var(--duration-base) var(--ease-out),opacity var(--duration-fast)}.hamburger.svelte-10t98u4 span.rotated:where(.svelte-10t98u4){transform:translateY(5.5px) rotate(45deg)}.hamburger.svelte-10t98u4 span.hidden:where(.svelte-10t98u4){opacity:0}.hamburger.svelte-10t98u4 span.rotated-reverse:where(.svelte-10t98u4){transform:translateY(-5.5px) rotate(-45deg)}.mobile-menu.svelte-10t98u4{border-top:1px solid var(--border);padding:.75rem 1.5rem 1rem;display:flex;flex-direction:column;gap:.125rem}.mobile-link.svelte-10t98u4{color:var(--text-muted);text-decoration:none;font-size:.9375rem;font-weight:400;padding:.5rem .75rem;border-radius:var(--radius-sm);transition:background var(--duration-fast),color var(--duration-fast)}.mobile-link.svelte-10t98u4:hover,.mobile-link.active.svelte-10t98u4{background:var(--bg-subtle);color:var(--text)}.mobile-link.active.svelte-10t98u4{color:var(--accent);background:var(--accent-soft)}.mobile-sep.svelte-10t98u4{border:none;border-top:1px solid var(--border);margin:.375rem .75rem}@media (max-width: 640px){.links.svelte-10t98u4{display:none}.hamburger.svelte-10t98u4{display:flex}}.shell.svelte-28zx1m{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem 5rem}.panel.svelte-h71cn6{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--bg-elevated);border-top:1px solid var(--border);box-shadow:0 -4px 32px #00000012}.scan-line.svelte-h71cn6{height:2px;background:var(--border);transition:background .5s ease;overflow:hidden;position:relative}.scan-line.scanning.svelte-h71cn6{background:color-mix(in srgb,var(--accent) 30%,var(--border))}.scan-line.scanning.svelte-h71cn6:after{content:"";position:absolute;inset:0;width:35%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:svelte-h71cn6-scan 1.8s ease-in-out infinite}.scan-line.line-pass.svelte-h71cn6{background:var(--pass)}.scan-line.line-fail.svelte-h71cn6{background:var(--fail)}@keyframes svelte-h71cn6-scan{0%{transform:translate(-100%)}to{transform:translate(400%)}}.bar.svelte-h71cn6{display:flex;align-items:center;height:52px;padding:0 1rem 0 1.25rem;gap:.75rem}.flex-gap.svelte-h71cn6{flex:1}.flex-gap-sm.svelte-h71cn6{width:.5rem}.bar-left.svelte-h71cn6{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.bar-status.svelte-h71cn6{display:flex;align-items:center;gap:.5rem}.status-dot.svelte-h71cn6{width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:background .4s ease}.status-dot.pulse.svelte-h71cn6{animation:dotPulse 1.6s ease-in-out infinite}.status-word.svelte-h71cn6{font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:color .4s ease;white-space:nowrap}.run-tag.svelte-h71cn6{font-size:.7rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .45rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.view-report-btn.svelte-h71cn6{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:500;color:var(--accent);text-decoration:none;white-space:nowrap;border:1px solid var(--accent);border-radius:var(--radius-sm);padding:.2rem .6rem;background:var(--accent-soft);transition:background var(--duration-fast),color var(--duration-fast)}.view-report-btn.svelte-h71cn6:hover{background:var(--accent);color:var(--white)}.bar-center.svelte-h71cn6{display:flex;align-items:center;gap:.625rem}.input-wrap.svelte-h71cn6{position:relative;display:flex;align-items:center}.input-icon.svelte-h71cn6{position:absolute;left:.6rem;color:var(--text-muted);pointer-events:none;opacity:.6}.tag-input.svelte-h71cn6{height:28px;padding:0 .75rem 0 2rem;font-size:.8rem;font-family:JetBrains Mono,monospace;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;transition:border-color var(--duration-fast);width:200px}.tag-input.svelte-h71cn6:focus{border-color:var(--accent)}.tag-input.svelte-h71cn6::placeholder{color:var(--text-muted);opacity:.45}.tag-input.svelte-h71cn6:disabled{opacity:.45}.ctrl-divider.svelte-h71cn6{width:1px;height:24px;background:var(--border);flex-shrink:0}.ctrl-group.svelte-h71cn6{display:flex;flex-direction:column;gap:2px}.ctrl-label.svelte-h71cn6{font-size:.555rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);opacity:.65;line-height:1}.stepper.svelte-h71cn6{display:flex;align-items:center;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.step-btn.svelte-h71cn6{width:20px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.875rem;font-weight:400;line-height:1;transition:color var(--duration-fast),background var(--duration-fast)}.step-btn.svelte-h71cn6:hover:not(:disabled){color:var(--text);background:var(--bg-elevated)}.step-btn.svelte-h71cn6:disabled{opacity:.3;cursor:default}.step-val.svelte-h71cn6{min-width:20px;text-align:center;font-size:.78rem;font-weight:500;color:var(--text);font-family:JetBrains Mono,monospace;line-height:24px;border-left:1px solid var(--border);border-right:1px solid var(--border)}.dropdown-wrap.svelte-h71cn6{position:relative}.dropdown-trigger.svelte-h71cn6{display:inline-flex;align-items:center;gap:.3rem;height:24px;padding:0 .5rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.78rem;color:var(--text);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast);white-space:nowrap}.dropdown-trigger.svelte-h71cn6:hover:not(:disabled){border-color:color-mix(in srgb,var(--text-muted) 50%,var(--border))}.dropdown-trigger.open.svelte-h71cn6{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.dropdown-trigger.has-remote.svelte-h71cn6{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.dropdown-trigger.svelte-h71cn6:disabled{opacity:.45;cursor:default}.trigger-chevron.svelte-h71cn6{transition:transform .18s var(--ease-out);flex-shrink:0}.trigger-chevron.open.svelte-h71cn6{transform:rotate(180deg)}.dropdown-menu.svelte-h71cn6{position:absolute;bottom:calc(100% + 8px);left:0;min-width:130px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 28px #00000021;padding:.3rem;z-index:300;display:flex;flex-direction:column;gap:1px}.dropdown-item.svelte-h71cn6{display:flex;align-items:center;gap:.5rem;width:100%;padding:.35rem .5rem;border:none;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.8125rem;color:var(--text);cursor:pointer;text-align:left;transition:background var(--duration-fast)}.dropdown-item.svelte-h71cn6:hover{background:var(--bg-subtle)}.dropdown-item.active.svelte-h71cn6{color:var(--accent)}.runners-menu.svelte-h71cn6{min-width:160px}.runner-option.svelte-h71cn6{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.8125rem;color:var(--text);transition:background var(--duration-fast)}.runner-option.svelte-h71cn6:hover{background:var(--bg-subtle)}.runner-option.svelte-h71cn6 input[type=checkbox]:where(.svelte-h71cn6){accent-color:var(--accent);width:13px;height:13px;cursor:pointer;flex-shrink:0}.runner-dot.svelte-h71cn6{width:6px;height:6px;border-radius:50%;flex-shrink:0}.runner-dot.built-in.svelte-h71cn6{background:var(--accent)}.runner-dot.remote.svelte-h71cn6{background:var(--pass)}.run-btn.svelte-h71cn6{display:inline-flex;align-items:center;gap:.4rem;height:30px;padding:0 .875rem;background:var(--accent);color:var(--white);border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8125rem;font-weight:500;cursor:pointer;transition:opacity var(--duration-fast);flex-shrink:0}.run-btn.svelte-h71cn6:hover:not(:disabled){opacity:.88}.run-btn.svelte-h71cn6:disabled,.run-btn.is-running.svelte-h71cn6{opacity:.6;cursor:default}.run-spinner.svelte-h71cn6{width:10px;height:10px;border:1.5px solid rgba(255,255,255,.35);border-top-color:var(--white);border-radius:50%;animation:svelte-h71cn6-spin .65s linear infinite;flex-shrink:0}@keyframes svelte-h71cn6-spin{to{transform:rotate(360deg)}}.notify-toggles.svelte-h71cn6{display:flex;gap:.25rem}.notify-btn.svelte-h71cn6{height:26px;padding:0 .5rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.75rem;font-family:inherit;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}.notify-btn.svelte-h71cn6:hover:not(:disabled){color:var(--text);border-color:var(--text-muted)}.notify-btn.active.svelte-h71cn6{background:var(--accent);border-color:var(--accent);color:var(--white)}.notify-btn.svelte-h71cn6:disabled{opacity:.4;cursor:default}.expand-btn.svelte-h71cn6{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast);flex-shrink:0}.expand-btn.svelte-h71cn6:hover{background:var(--bg-subtle);color:var(--text);border-color:var(--text-muted)}.expand-btn.svelte-h71cn6 svg:where(.svelte-h71cn6){transition:transform .2s var(--ease-out)}.expand-btn.svelte-h71cn6 svg.flipped:where(.svelte-h71cn6){transform:rotate(180deg)}.body.svelte-h71cn6{border-top:1px solid var(--border);padding:.625rem 1.25rem;display:flex;flex-direction:column;gap:.375rem;min-height:72px}.run-card.svelte-h71cn6{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);text-decoration:none;color:inherit;transition:background var(--duration-fast),border-color var(--duration-fast)}a.run-card.svelte-h71cn6:hover{background:var(--bg-elevated);border-color:var(--accent)}.run-card.active-run.svelte-h71cn6{border-left:3px solid var(--accent)}.run-card.cron-run.svelte-h71cn6{border-left:3px solid var(--warn)}.run-card-dot.svelte-h71cn6{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pulse-accent.svelte-h71cn6{background:var(--accent);animation:dotPulse 1.6s ease-in-out infinite}.pulse-pass.svelte-h71cn6{background:var(--pass);animation:dotPulse 1.6s ease-in-out infinite}.run-card-info.svelte-h71cn6{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.run-card-label.svelte-h71cn6{font-size:.8125rem;font-weight:500;color:var(--text)}.run-card-meta.svelte-h71cn6{font-size:.72rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta-dot.svelte-h71cn6{opacity:.4;margin:0 .15rem}.run-card-arrow.svelte-h71cn6{color:var(--text-muted);flex-shrink:0;transition:transform var(--duration-fast) var(--ease-out),color var(--duration-fast)}a.run-card.svelte-h71cn6:hover .run-card-arrow:where(.svelte-h71cn6){transform:translate(3px);color:var(--accent)}.empty-runs.svelte-h71cn6{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 0;color:var(--text-muted);font-size:.8125rem}.empty-icon.svelte-h71cn6{opacity:.4}.run-chip.svelte-h71cn6{display:inline-flex;align-items:center;gap:.4rem;height:28px;padding:0 .5rem 0 .625rem;background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);font-size:.78rem;white-space:nowrap;max-width:200px}.run-chip-title.svelte-h71cn6{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.run-chip-count.svelte-h71cn6{font-size:.65rem;font-weight:600;letter-spacing:.04em;opacity:.75;white-space:nowrap;flex-shrink:0}.run-chip-count.none.svelte-h71cn6{color:var(--fail);opacity:1}.run-chip-spinner.svelte-h71cn6{width:9px;height:9px;border:1.5px solid color-mix(in srgb,var(--accent) 35%,transparent);border-top-color:var(--accent);border-radius:50%;animation:svelte-h71cn6-spin .65s linear infinite;flex-shrink:0}.run-chip-clear.svelte-h71cn6{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;color:var(--accent);cursor:pointer;border-radius:2px;opacity:.7;padding:0;flex-shrink:0;transition:opacity var(--duration-fast)}.run-chip-clear.svelte-h71cn6:hover{opacity:1}.run-pick-menu.svelte-h71cn6{min-width:180px;max-height:240px;overflow-y:auto}.dropdown-divider.svelte-h71cn6{height:1px;background:var(--border);margin:.25rem 0}.dropdown-empty.svelte-h71cn6{font-size:.8125rem;color:var(--text-muted);padding:.35rem .5rem;text-align:center;opacity:.7}.boot-loading.svelte-3qbr79{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text-muted);font-size:.875rem}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This file is part of Plum.
|
|
3
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
.page-header.svelte-wkly2m{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.header-top.svelte-wkly2m{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}h1.svelte-wkly2m{font-size:2.5rem;margin-bottom:.25rem}.subtitle.svelte-wkly2m{color:var(--text-muted);font-size:.875rem}.rate-display.svelte-wkly2m{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.rate-number.svelte-wkly2m{font-family:var(--font-display);font-size:2.75rem;line-height:1;font-weight:400}.rate-number.pass.svelte-wkly2m{color:var(--pass)}.rate-number.warn.svelte-wkly2m{color:var(--warn)}.rate-number.fail.svelte-wkly2m{color:var(--fail)}.rate-label.svelte-wkly2m{font-size:.75rem;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.stats-bar.svelte-wkly2m{margin-bottom:1rem}.pass-bar-track.svelte-wkly2m{height:3px;background:var(--fail-soft);border-radius:var(--radius-pill);overflow:hidden;margin-bottom:.5rem}.pass-bar-fill.svelte-wkly2m{height:100%;background:var(--pass);border-radius:var(--radius-pill);transition:width .9s var(--ease-out) .1s}.bar-legend.svelte-wkly2m{display:flex;gap:1rem}.legend-pass.svelte-wkly2m{font-size:.75rem;color:var(--pass);font-weight:500}.legend-fail.svelte-wkly2m{font-size:.75rem;color:var(--fail);font-weight:500}.trend-row.svelte-wkly2m{display:flex;align-items:center;gap:.75rem}.trend-label.svelte-wkly2m{font-size:.7rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}.trend-dots.svelte-wkly2m{display:flex;align-items:center;gap:5px}.trend-dot.svelte-wkly2m{width:9px;height:9px;border-radius:50%;transition:transform var(--duration-fast);animation:fadeUp .3s var(--ease-out) both}.trend-dot.svelte-wkly2m:hover{transform:scale(1.4)}.trend-dot.pass.svelte-wkly2m{background:var(--pass)}.trend-dot.fail.svelte-wkly2m{background:var(--fail)}.trend-hint.svelte-wkly2m{font-size:.68rem;color:var(--text-muted);opacity:.6}.list-header.svelte-wkly2m{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem .375rem}.select-all-wrap.svelte-wkly2m{display:flex;align-items:center;cursor:pointer;padding:.25rem}.btn-delete-selected.svelte-wkly2m{height:30px;padding:0 .75rem;font-size:.78rem;font-family:inherit;font-weight:500;color:var(--fail);background:var(--fail-soft, rgba(239, 68, 68, .08));border:1px solid var(--fail);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast),opacity var(--duration-fast)}.btn-delete-selected.svelte-wkly2m:hover{background:var(--fail);color:var(--white)}.report-list.svelte-wkly2m{display:flex;flex-direction:column;gap:.5rem}.report-row.svelte-wkly2m{display:flex;align-items:center;gap:.5rem;animation:fadeUp .32s var(--ease-out) both}.row-check-wrap.svelte-wkly2m{flex-shrink:0;display:flex;align-items:center;cursor:pointer;padding:.25rem}.checkbox.svelte-wkly2m{width:15px;height:15px;accent-color:var(--accent, #7c3aed);cursor:pointer}.report-item.svelte-wkly2m{flex:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);text-decoration:none;color:inherit;border-left-width:3px;transition:background var(--duration-fast),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast);min-width:0}.report-item.svelte-wkly2m:hover{background:var(--bg-subtle);transform:translate(2px);box-shadow:0 2px 12px #0000000a}.report-item.is-pass.svelte-wkly2m{border-left-color:var(--pass)}.report-item.is-fail.svelte-wkly2m{border-left-color:var(--fail)}.report-row.is-selected.svelte-wkly2m .report-item:where(.svelte-wkly2m){background:var(--bg-subtle);border-color:var(--accent, #7c3aed)}.item-left.svelte-wkly2m{display:flex;align-items:center;gap:.875rem;min-width:0}.status-mark.svelte-wkly2m{font-size:.875rem;font-weight:600;flex-shrink:0;width:20px;text-align:center}.status-mark.pass.svelte-wkly2m{color:var(--pass)}.status-mark.fail.svelte-wkly2m{color:var(--fail)}.item-meta.svelte-wkly2m{display:flex;align-items:center;gap:.625rem;min-width:0}.item-tags.svelte-wkly2m{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.item-badges.svelte-wkly2m{flex-shrink:0}.item-right.svelte-wkly2m{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.item-date.svelte-wkly2m{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.item-arrow.svelte-wkly2m{color:var(--text-muted);transition:transform var(--duration-fast) var(--ease-out),color var(--duration-fast)}.report-item.svelte-wkly2m:hover .item-arrow:where(.svelte-wkly2m){transform:translate(3px);color:var(--text)}.row-delete-btn.svelte-wkly2m{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--duration-fast),color var(--duration-fast),background var(--duration-fast)}.report-row.svelte-wkly2m:hover .row-delete-btn:where(.svelte-wkly2m){opacity:1}.row-delete-btn.svelte-wkly2m:hover{color:var(--fail);background:var(--fail-soft, rgba(239, 68, 68, .08))}.pagination-wrap.svelte-wkly2m{margin-top:1.25rem}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This file is part of Plum.
|
|
3
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
.status-dot.svelte-eg9xrn{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.pass.svelte-eg9xrn{background:var(--pass)}.fail.svelte-eg9xrn{background:var(--fail)}.skip.svelte-eg9xrn{background:var(--text-muted)}.tag-chip.svelte-foe7v9{font-size:.65rem;font-family:JetBrains Mono,monospace;background:var(--accent-soft);color:var(--accent);padding:.1rem .4rem;border-radius:var(--radius-pill);white-space:nowrap}.kw.svelte-3mvi7i{font-size:.72rem;font-weight:500;letter-spacing:.04em;flex-shrink:0;padding:.05rem .4rem;border-radius:3px;font-family:JetBrains Mono,monospace}.kw-given.svelte-3mvi7i{background:var(--accent-soft);color:var(--accent)}.kw-when.svelte-3mvi7i{background:var(--warn-soft);color:var(--warn)}.kw-then.svelte-3mvi7i{background:var(--pass-soft);color:var(--pass)}.kw-and.svelte-3mvi7i{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}.step-status-icon.svelte-9zpq1y{font-size:.75rem;font-weight:600;width:14px;flex-shrink:0;text-align:center}.icon-pass.svelte-9zpq1y{color:var(--pass)}.icon-fail.svelte-9zpq1y{color:var(--fail)}.icon-skip.svelte-9zpq1y{color:var(--text-muted)}.report-header.svelte-1cdcqpr{border-radius:var(--radius-lg);border:1px solid var(--border);border-top-width:3px;padding:1.5rem;margin-bottom:2rem;background:var(--bg-elevated);animation:fadeUp .35s var(--ease-out) both}.report-header.pass.svelte-1cdcqpr{border-top-color:var(--pass)}.report-header.fail.svelte-1cdcqpr{border-top-color:var(--fail)}.header-main.svelte-1cdcqpr{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.header-status.svelte-1cdcqpr{display:flex;align-items:center;gap:1rem}.status-icon-wrap.svelte-1cdcqpr{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-icon-wrap.pass-bg.svelte-1cdcqpr{background:var(--pass-soft);color:var(--pass)}.status-icon-wrap.fail-bg.svelte-1cdcqpr{background:var(--fail-soft);color:var(--fail)}.h1-row.svelte-1cdcqpr{display:flex;align-items:center;gap:.75rem;margin-bottom:.2rem}.run-name-badge.svelte-1cdcqpr{display:inline-flex;align-items:center;font-size:.75rem;font-weight:500;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--radius-pill);padding:.25rem .7rem;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;margin-top:3px}h1.svelte-1cdcqpr{font-size:2rem;margin-bottom:0}.header-meta.svelte-1cdcqpr{font-size:.8125rem;color:var(--text-muted);display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.meta-sep.svelte-1cdcqpr{opacity:.4}.mono.svelte-1cdcqpr{font-family:JetBrains Mono,monospace;font-size:.78rem}.browser-pill.svelte-1cdcqpr{display:inline-flex;align-items:center;gap:.3rem;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:500;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .45rem}.header-stats.svelte-1cdcqpr{display:flex;gap:1.5rem;align-items:flex-start;flex-shrink:0}.stat.svelte-1cdcqpr{display:flex;flex-direction:column;align-items:center;gap:.15rem}.stat-num.svelte-1cdcqpr{font-family:var(--font-display);font-size:1.75rem;line-height:1;font-weight:400;color:var(--text)}.stat-label.svelte-1cdcqpr{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.pass-color.svelte-1cdcqpr{color:var(--pass)}.fail-color.svelte-1cdcqpr{color:var(--fail)}.muted-color.svelte-1cdcqpr{color:var(--text-muted)}.feature.svelte-1cdcqpr{margin-bottom:1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-top-width:3px;border-radius:var(--radius-lg);overflow:hidden;animation:fadeUp .35s var(--ease-out) both}.feature-pass.svelte-1cdcqpr{border-top-color:var(--pass)}.feature-fail.svelte-1cdcqpr{border-top-color:var(--fail)}.feature-header.svelte-1cdcqpr{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.feature-icon.svelte-1cdcqpr{flex-shrink:0;color:var(--text-muted);opacity:.7}.feature-name.svelte-1cdcqpr{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-family:var(--font-display);font-weight:400;flex:1;min-width:0}.feature-right.svelte-1cdcqpr{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.feature-file.svelte-1cdcqpr{font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--text-muted)}.suite-tag.svelte-1cdcqpr{font-size:.65rem;font-family:JetBrains Mono,monospace;background:var(--accent-soft);color:var(--accent);padding:.1rem .4rem;border-radius:var(--radius-pill);font-weight:500}.scenarios.svelte-1cdcqpr{display:flex;flex-direction:column;padding:.5rem;gap:.25rem}.scenario.svelte-1cdcqpr{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);overflow:hidden;animation:fadeUp .3s var(--ease-out) both}.scenario.scenario-fail.svelte-1cdcqpr{border-left-width:3px;border-left-color:var(--fail)}.scenario-row.svelte-1cdcqpr{display:flex;align-items:stretch}.scenario-header.svelte-1cdcqpr{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;flex:1;min-width:0;background:transparent;border:none;cursor:pointer;text-align:left;font-family:var(--font-body);transition:background var(--duration-fast)}.scenario-header.svelte-1cdcqpr:hover{background:var(--bg-subtle)}.replay-btn.svelte-1cdcqpr{display:inline-flex;align-items:center;gap:.3rem;padding:0 .875rem;font-family:var(--font-body);font-size:.72rem;font-weight:500;color:var(--accent);background:transparent;border:none;border-left:1px solid var(--border);cursor:pointer;flex-shrink:0;transition:background var(--duration-fast);white-space:nowrap}.replay-btn.svelte-1cdcqpr:hover{background:var(--accent-soft)}.replay-btn-sm.svelte-1cdcqpr{margin-left:auto;padding:.15rem .5rem;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--radius-sm);font-size:.68rem}.scenario-name.svelte-1cdcqpr{flex:1;font-size:.875rem;color:var(--text);font-weight:400;text-align:left;display:inline-flex;align-items:center;gap:.4rem;min-width:0}.scenario-count.svelte-1cdcqpr{font-size:.65rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.05rem .4rem;white-space:nowrap}.scenario-tags.svelte-1cdcqpr{display:flex;gap:.25rem;flex-shrink:0}.scenario-duration.svelte-1cdcqpr{font-size:.75rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;flex-shrink:0}.chevron.svelte-1cdcqpr{color:var(--text-muted);flex-shrink:0;transition:transform var(--duration-fast) var(--ease-out)}.chevron.rotated.svelte-1cdcqpr{transform:rotate(90deg)}.steps.svelte-1cdcqpr{border-top:1px solid var(--border);background:var(--bg-subtle);padding:.5rem 0}.example-header.svelte-1cdcqpr{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem .25rem 1.25rem;color:var(--text-muted);font-size:.72rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.example-header.svelte-1cdcqpr:not(:first-child){margin-top:.375rem;border-top:1px dashed var(--border)}.example-header.svelte-1cdcqpr .scenario-duration:where(.svelte-1cdcqpr){margin-left:auto}.step.svelte-1cdcqpr{padding:.375rem 1rem .375rem 1.25rem}.step-fail.svelte-1cdcqpr{background:color-mix(in srgb,var(--fail-soft) 40%,transparent)}.step-skip.svelte-1cdcqpr{opacity:.5}.step-row.svelte-1cdcqpr{display:flex;align-items:baseline;gap:.5rem}.step-name.svelte-1cdcqpr{flex:1;font-size:.8125rem;color:var(--text);font-family:JetBrains Mono,monospace}.step-duration.svelte-1cdcqpr{font-size:.7rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;flex-shrink:0}.step-error.svelte-1cdcqpr{margin:.375rem 0 .25rem 1.75rem;padding:.625rem .875rem;background:var(--fail-soft);color:var(--fail);border-radius:var(--radius-sm);font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;border-left:2px solid var(--fail)}.screenshot-wrap.svelte-1cdcqpr{margin:.5rem 0 .25rem 1.75rem}.screenshot-toggle.svelte-1cdcqpr{font-size:.75rem;color:var(--text-muted);cursor:pointer;user-select:none}.screenshot.svelte-1cdcqpr{margin-top:.5rem;max-width:100%;border-radius:var(--radius-sm);border:1px solid var(--border)}.loading-state.svelte-1cdcqpr{display:flex;justify-content:center;padding:4rem 0}.loading-dots.svelte-1cdcqpr{display:flex;gap:6px;align-items:center}.loading-dots.svelte-1cdcqpr span:where(.svelte-1cdcqpr){width:8px;height:8px;border-radius:50%;background:var(--accent);animation:svelte-1cdcqpr-dotBeat 1.2s ease-in-out infinite}.loading-dots.svelte-1cdcqpr span:where(.svelte-1cdcqpr):nth-child(2){animation-delay:.2s}.loading-dots.svelte-1cdcqpr span:where(.svelte-1cdcqpr):nth-child(3){animation-delay:.4s}@keyframes svelte-1cdcqpr-dotBeat{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}.error-state.svelte-1cdcqpr{padding:3rem 0;color:var(--fail);text-align:center;font-size:.9375rem}.logs-section.svelte-1cdcqpr{margin-bottom:1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;animation:fadeUp .35s var(--ease-out) both}.logs-summary.svelte-1cdcqpr{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--text);cursor:pointer;user-select:none;list-style:none}.logs-summary.svelte-1cdcqpr::-webkit-details-marker{display:none}.logs-summary.svelte-1cdcqpr:hover{background:var(--bg-subtle)}.log-runner-count.svelte-1cdcqpr{margin-left:auto;font-size:.7rem;font-weight:500;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .5rem}.log-tabs.svelte-1cdcqpr{display:flex;gap:0;border-bottom:1px solid var(--border);background:var(--bg-subtle);overflow-x:auto}.log-tab.svelte-1cdcqpr{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.78rem;font-weight:500;font-family:var(--font-body);color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color var(--duration-fast)}.log-tab.svelte-1cdcqpr:hover{color:var(--text)}.log-tab-active.svelte-1cdcqpr{color:var(--text);border-bottom-color:var(--accent)}.logs-body.svelte-1cdcqpr{font-family:JetBrains Mono,Fira Code,Cascadia Code,Courier New,monospace;font-size:.775rem;line-height:1.7;background:var(--terminal-bg);color:var(--terminal-text);padding:1rem 1.25rem;max-height:480px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;margin:0;border-top:1px solid var(--border)}.logs-body.svelte-1cdcqpr::-webkit-scrollbar{width:4px}.logs-body.svelte-1cdcqpr::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.replay-overlay.svelte-1cdcqpr{position:fixed;inset:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.replay-modal.svelte-1cdcqpr{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(920px,100%);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px #00000080}.replay-modal-header.svelte-1cdcqpr{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;border-bottom:1px solid var(--border);gap:1rem;flex-shrink:0}.replay-modal-title.svelte-1cdcqpr{font-size:.875rem;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-close.svelte-1cdcqpr{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;border-radius:var(--radius-sm);flex-shrink:0;transition:color var(--duration-fast)}.replay-close.svelte-1cdcqpr:hover{color:var(--text)}.replay-screenshot-area.svelte-1cdcqpr{flex:1;min-height:0;background:var(--bg-subtle);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.replay-screenshot.svelte-1cdcqpr{max-width:100%;max-height:100%;object-fit:contain;display:block}.replay-no-screenshot.svelte-1cdcqpr{color:var(--text-muted);font-size:.8125rem;font-family:JetBrains Mono,monospace}.replay-step-info.svelte-1cdcqpr{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--border);flex-shrink:0;min-width:0}.replay-step-name.svelte-1cdcqpr{font-family:JetBrains Mono,monospace;font-size:.8125rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-timeline.svelte-1cdcqpr{padding:.5rem 1.25rem;border-top:1px solid var(--border);flex-shrink:0}.replay-slider.svelte-1cdcqpr{display:block;width:100%;height:4px;-webkit-appearance:none;appearance:none;background:transparent;border-radius:2px;cursor:pointer;outline:none}.replay-slider.svelte-1cdcqpr::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent) var(--fill, 0%),var(--border) var(--fill, 0%))}.replay-slider.svelte-1cdcqpr::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--accent);cursor:pointer;transition:transform .1s}.replay-slider.svelte-1cdcqpr:hover::-webkit-slider-thumb{transform:scale(1.25)}.replay-slider.svelte-1cdcqpr::-moz-range-track{height:4px;border-radius:2px;background:var(--border)}.replay-slider.svelte-1cdcqpr::-moz-range-progress{height:4px;border-radius:2px;background:var(--accent)}.replay-slider.svelte-1cdcqpr::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:none;cursor:pointer}.replay-nav.svelte-1cdcqpr{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.5rem 1.25rem .625rem;border-top:1px solid var(--border);flex-shrink:0}.replay-nav-btn.svelte-1cdcqpr{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;transition:background var(--duration-fast)}.replay-nav-btn.svelte-1cdcqpr:hover:not(:disabled){background:var(--bg-elevated)}.replay-nav-btn.svelte-1cdcqpr:disabled{opacity:.35;cursor:default}.replay-play-btn.svelte-1cdcqpr{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--accent);border:none;border-radius:50%;color:var(--white);cursor:pointer;transition:opacity var(--duration-fast),transform var(--duration-fast)}.replay-play-btn.svelte-1cdcqpr:hover{opacity:.85;transform:scale(1.05)}.replay-counter.svelte-1cdcqpr{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--text-muted);min-width:5ch;text-align:center;margin-left:.25rem}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This file is part of Plum.
|
|
3
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
.loading-state.svelte-1a8ndj3{font-size:.875rem;color:var(--text-muted);padding:3rem 0}.breadcrumb.svelte-1a8ndj3{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted);margin-bottom:1.5rem}.bc-link.svelte-1a8ndj3{color:var(--accent);text-decoration:none}.bc-link.svelte-1a8ndj3:hover{text-decoration:underline}.bc-sep.svelte-1a8ndj3{color:var(--border)}.bc-current.svelte-1a8ndj3{color:var(--text-muted)}.suite-header.svelte-1a8ndj3{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.suite-title-row.svelte-1a8ndj3{display:flex;align-items:center;gap:.625rem;margin-bottom:.5rem;flex-wrap:wrap}.suite-title.svelte-1a8ndj3{font-size:1.75rem;font-weight:600;color:var(--text)}.suite-desc.svelte-1a8ndj3{font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem;line-height:1.5}.suite-meta.svelte-1a8ndj3{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted)}.meta-sep.svelte-1a8ndj3{color:var(--border)}.workspace.svelte-1a8ndj3{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}.workspace.split.svelte-1a8ndj3{grid-template-columns:320px 1fr}.panel-toolbar.svelte-1a8ndj3{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.panel-title.svelte-1a8ndj3{font-size:.9375rem;font-weight:500;color:var(--text)}.case-search.svelte-1a8ndj3{position:relative;display:flex;align-items:center;margin-bottom:.625rem}.case-search-icon.svelte-1a8ndj3{position:absolute;left:.6rem;color:var(--text-muted);pointer-events:none}.case-search-input.svelte-1a8ndj3{width:100%;height:30px;padding:0 1.75rem 0 2rem;font-family:var(--font-body);font-size:.8125rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--duration-fast)}.case-search-input.svelte-1a8ndj3::placeholder{color:var(--text-muted)}.case-search-input.svelte-1a8ndj3:focus{border-color:var(--accent)}.case-search-input.svelte-1a8ndj3::-webkit-search-cancel-button{display:none}.case-search-clear.svelte-1a8ndj3{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:0}.case-search-clear.svelte-1a8ndj3:hover{color:var(--text)}.case-no-results.svelte-1a8ndj3{font-size:.8125rem;color:var(--text-muted);padding:1rem .25rem}.case-list.svelte-1a8ndj3{display:flex;flex-direction:column;gap:.375rem}.cases-pagination.svelte-1a8ndj3{margin-top:.875rem}.case-sort-bar.svelte-1a8ndj3{display:flex;align-items:center;gap:.3rem;margin-bottom:.625rem;flex-wrap:wrap}.case-sort-chip.svelte-1a8ndj3{display:flex;align-items:center;gap:.2rem;height:24px;padding:0 .5rem;font-family:var(--font-body);font-size:.75rem;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast),background var(--duration-fast)}.case-sort-chip.svelte-1a8ndj3:hover{color:var(--text);border-color:var(--accent)}.case-sort-chip.active.svelte-1a8ndj3{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.case-sort-dir.svelte-1a8ndj3{font-size:.65rem}.case-row.svelte-1a8ndj3{display:flex;flex-direction:column;gap:.25rem;width:100%;text-align:left;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem;cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast)}.case-row.svelte-1a8ndj3:hover{border-color:var(--accent)}.case-row.selected.svelte-1a8ndj3{border-color:var(--accent);background:var(--accent-soft)}.case-row-top.svelte-1a8ndj3{display:flex;align-items:center;gap:.375rem}.case-row-actions.svelte-1a8ndj3{margin-left:auto;opacity:0;transition:opacity var(--duration-fast)}.case-row.svelte-1a8ndj3:hover .case-row-actions:where(.svelte-1a8ndj3){opacity:1}.case-title.svelte-1a8ndj3{font-size:.875rem;color:var(--text);line-height:1.4}.case-steps.svelte-1a8ndj3{font-size:.7rem;color:var(--text-muted)}.detail-panel.svelte-1a8ndj3{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow-y:auto;position:sticky;top:calc(56px + 1.5rem);max-height:calc(100vh - 56px - 3rem);padding-bottom:1.5rem}.detail-loading.svelte-1a8ndj3{padding:2rem;font-size:.875rem;color:var(--text-muted)}.detail-header.svelte-1a8ndj3{padding:1.25rem;border-bottom:1px solid var(--border)}.detail-title-row.svelte-1a8ndj3{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.detail-header-actions.svelte-1a8ndj3{margin-left:auto;display:flex;align-items:center;gap:.25rem}.detail-case-title.svelte-1a8ndj3{font-size:1rem;font-weight:500;color:var(--text);margin-bottom:.375rem}.detail-case-desc.svelte-1a8ndj3{font-size:.8125rem;color:var(--text-muted);line-height:1.5;margin-bottom:.375rem}.detail-meta.svelte-1a8ndj3{font-size:.75rem;color:var(--text-muted)}.case-history-bars.svelte-1a8ndj3{display:flex;align-items:flex-end;gap:2px;height:16px;margin-top:.5rem}.history-bar.svelte-1a8ndj3{width:4px;height:100%;border-radius:1px;background:var(--border)}.history-bar.pass.svelte-1a8ndj3{background:var(--pass)}.history-bar.fail.svelte-1a8ndj3{background:var(--fail)}.history-bar.warn.svelte-1a8ndj3{background:var(--warn)}.history-bar.muted.svelte-1a8ndj3{background:var(--text-muted)}.detail-tabs.svelte-1a8ndj3{display:flex;border-bottom:1px solid var(--border)}.detail-tab.svelte-1a8ndj3{padding:.625rem 1rem;font-family:var(--font-body);font-size:.8125rem;font-weight:400;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast);margin-bottom:-1px}.detail-tab.svelte-1a8ndj3:hover{color:var(--text)}.detail-tab.active.svelte-1a8ndj3{color:var(--accent);border-bottom-color:var(--accent)}.steps-section.svelte-1a8ndj3,.history-section.svelte-1a8ndj3{padding:1rem 1.25rem}.steps-toolbar.svelte-1a8ndj3{display:flex;align-items:center;gap:.5rem;margin-bottom:.875rem}.add-step-btn.svelte-1a8ndj3{margin-left:auto;font-size:.8125rem;color:var(--accent);background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:var(--radius-sm);transition:background var(--duration-fast)}.add-step-btn.svelte-1a8ndj3:hover{background:var(--accent-soft)}.no-steps.svelte-1a8ndj3{font-size:.8125rem;color:var(--text-muted);padding:1rem 0}.steps-table.svelte-1a8ndj3{font-size:.8125rem;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.steps-table-head.svelte-1a8ndj3,.steps-table-row.svelte-1a8ndj3{display:grid;grid-template-columns:28px 1fr 1fr 1fr;gap:.5rem;padding:.5rem .75rem;align-items:start}.steps-table-head.svelte-1a8ndj3{background:var(--bg-subtle);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.steps-table-row.svelte-1a8ndj3{border-top:1px solid var(--border);color:var(--text);line-height:1.5}.col-num.svelte-1a8ndj3{color:var(--text-muted)}.steps-editor.svelte-1a8ndj3{display:flex;flex-direction:column;gap:.5rem}.step-editor-row.svelte-1a8ndj3{display:flex;align-items:flex-end;gap:.5rem}.step-num.svelte-1a8ndj3{font-size:.75rem;color:var(--text-muted);min-width:20px;padding-bottom:.5rem}.step-editor-fields.svelte-1a8ndj3{flex:1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.step-field.svelte-1a8ndj3{display:flex;flex-direction:column;gap:.25rem}.step-field-label.svelte-1a8ndj3{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.edit-case-form.svelte-1a8ndj3{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.history-list.svelte-1a8ndj3{display:flex;flex-direction:column;gap:.5rem}.history-row.svelte-1a8ndj3{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--bg-subtle);border-radius:var(--radius-sm);border:1px solid var(--border)}.history-info.svelte-1a8ndj3{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.history-source.svelte-1a8ndj3{font-size:.8125rem;font-weight:500;color:var(--text)}.history-link.svelte-1a8ndj3{color:var(--accent);text-decoration:none}.history-link.svelte-1a8ndj3:hover{text-decoration:underline}.history-missing.svelte-1a8ndj3{font-style:italic;color:var(--text-muted)}.history-by.svelte-1a8ndj3,.history-date.svelte-1a8ndj3{font-size:.75rem;color:var(--text-muted)}.history-notes.svelte-1a8ndj3{font-size:.75rem;color:var(--text-muted);font-style:italic}.result-badge.svelte-1a8ndj3{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:var(--radius-pill);align-self:flex-start}.result-badge.pass.svelte-1a8ndj3{background:var(--pass-soft);color:var(--pass)}.result-badge.fail.svelte-1a8ndj3{background:var(--fail-soft);color:var(--fail)}.result-badge.warn.svelte-1a8ndj3{background:var(--warn-soft);color:var(--warn)}.result-badge.muted.svelte-1a8ndj3{background:var(--bg-subtle);color:var(--text-muted)}.id-chip.svelte-1a8ndj3{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:4px;letter-spacing:.02em}.id-chip.large.svelte-1a8ndj3{font-size:.75rem;padding:.1rem .45rem}.id-chip.small.svelte-1a8ndj3{font-size:.65rem;padding:.08rem .35rem}.priority-badge.svelte-1a8ndj3{font-size:.68rem;font-weight:500;border-radius:var(--radius-pill);padding:.15rem .5rem}.priority-badge.small.svelte-1a8ndj3{font-size:.62rem}.priority-badge.critical.svelte-1a8ndj3{background:var(--fail-soft);color:var(--fail)}.priority-badge.high.svelte-1a8ndj3{background:var(--warn-soft);color:var(--warn)}.priority-badge.medium.svelte-1a8ndj3{background:var(--node-soft);color:var(--node)}.priority-badge.low.svelte-1a8ndj3{background:var(--bg-subtle);color:var(--text-muted)}.auto-badge.svelte-1a8ndj3{font-size:.62rem;font-weight:500;background:var(--pass-soft);color:var(--pass);border-radius:var(--radius-pill);padding:.15rem .5rem}.tag-chip.svelte-1a8ndj3{font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:4px;padding:.08rem .4rem}.icon-btn.svelte-1a8ndj3{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-muted);transition:background var(--duration-fast),color var(--duration-fast)}.icon-btn.small.svelte-1a8ndj3{width:24px;height:24px}.icon-btn.svelte-1a8ndj3:hover{background:var(--bg-subtle);color:var(--text)}.icon-btn.danger.svelte-1a8ndj3:hover{background:var(--fail-soft);color:var(--fail)}.form-fields.svelte-1a8ndj3{display:flex;flex-direction:column;gap:.875rem}.field.svelte-1a8ndj3{display:flex;flex-direction:column;gap:.375rem}.field-row.svelte-1a8ndj3{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.field-label.svelte-1a8ndj3{font-size:.8125rem;font-weight:500;color:var(--text);display:flex;align-items:baseline;gap:.5rem}.field-hint.svelte-1a8ndj3{font-size:.75rem;font-weight:400;color:var(--text-muted)}.field-textarea.svelte-1a8ndj3{height:auto;resize:vertical}.mono.svelte-1a8ndj3{font-family:JetBrains Mono,monospace;font-size:.8125rem!important}.form-error.svelte-1a8ndj3{font-size:.8125rem;color:var(--fail)}.modal-actions.svelte-1a8ndj3{display:flex;gap:.5rem;padding-top:.25rem}@media (max-width: 768px){.workspace.split.svelte-1a8ndj3{grid-template-columns:1fr}}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This file is part of Plum.
|
|
3
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
.page-header.svelte-bpb2i4{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.page-header.svelte-bpb2i4 h1:where(.svelte-bpb2i4){font-size:2.5rem}.settings-layout.svelte-bpb2i4{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start}.settings-sidebar.svelte-bpb2i4{position:sticky;top:72px}.settings-sidebar.svelte-bpb2i4 nav:where(.svelte-bpb2i4){display:flex;flex-direction:column;gap:.125rem}.sidebar-item.svelte-bpb2i4{display:block;width:100%;text-align:left;padding:.45rem .75rem;font-family:var(--font-body);font-size:.875rem;font-weight:400;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.sidebar-item.svelte-bpb2i4:hover{background:var(--bg-subtle);color:var(--text)}.sidebar-item.active.svelte-bpb2i4{background:var(--accent-soft);color:var(--accent);font-weight:500}.settings-content.svelte-bpb2i4{min-width:0}.content-section.svelte-bpb2i4{display:flex;flex-direction:column;gap:1.25rem}.content-header.svelte-bpb2i4{margin-bottom:.25rem}.content-header.svelte-bpb2i4 h2:where(.svelte-bpb2i4){font-size:1.1rem;font-weight:500;font-family:var(--font-body);color:var(--text);margin-bottom:.25rem}.content-desc.svelte-bpb2i4{font-size:.875rem;color:var(--text-muted);line-height:1.5}.settings-card.svelte-bpb2i4{display:flex;flex-direction:column;gap:1.25rem}.field-label.svelte-bpb2i4{display:flex;align-items:baseline;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--text)}.field-hint.svelte-bpb2i4{font-size:.75rem;font-weight:400;color:var(--text-muted)}.logo-preview.svelte-bpb2i4{display:flex;flex-direction:column;gap:.5rem}.preview-label.svelte-bpb2i4{font-size:.75rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.logo-img.svelte-bpb2i4{max-height:56px;max-width:200px;object-fit:contain;border-radius:var(--radius-sm)}.card-footer.svelte-bpb2i4{padding-top:.125rem}.toggle-row.svelte-bpb2i4{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.875rem 1rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm)}.toggle-info.svelte-bpb2i4{display:flex;flex-direction:column;gap:.2rem}.toggle-label.svelte-bpb2i4{font-size:.875rem;font-weight:500;color:var(--text)}.toggle-desc.svelte-bpb2i4{font-size:.78rem;color:var(--text-muted);line-height:1.4}.toggle-switch.svelte-bpb2i4{flex-shrink:0;width:40px;height:22px;border-radius:var(--radius-pill);border:none;background:var(--border);cursor:pointer;position:relative;transition:background .2s var(--ease-out)}.toggle-switch.on.svelte-bpb2i4{background:var(--accent)}.toggle-thumb.svelte-bpb2i4{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out);box-shadow:0 1px 3px #0003}.toggle-switch.on.svelte-bpb2i4 .toggle-thumb:where(.svelte-bpb2i4){transform:translate(18px)}.runner-cards.svelte-bpb2i4{display:flex;flex-direction:column;gap:.625rem}.runner-card.svelte-bpb2i4{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.375rem;transition:border-color var(--duration-fast)}.runner-card.svelte-bpb2i4:hover{border-color:color-mix(in srgb,var(--text-muted) 40%,var(--border))}.runner-card.editing.svelte-bpb2i4{border-color:var(--accent);background:var(--accent-soft);gap:.875rem;padding:1rem}.runner-card-header.svelte-bpb2i4{display:flex;align-items:center;gap:.5rem}.runner-card-icon.svelte-bpb2i4{color:var(--node);flex-shrink:0}.runner-card-name.svelte-bpb2i4{font-size:.875rem;font-weight:500;color:var(--text);flex:1}.runner-browser-pill.svelte-bpb2i4{font-size:.65rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .45rem;flex-shrink:0}.runner-card-url.svelte-bpb2i4{font-size:.75rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:calc(13px + .5rem)}.runner-card-actions.svelte-bpb2i4{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;padding-left:calc(13px + .5rem);margin-top:.125rem}.ping-badge.svelte-bpb2i4{font-size:.7rem;font-weight:500;padding:.15rem .5rem;border-radius:var(--radius-pill);flex-shrink:0}.ping-badge.ok.svelte-bpb2i4{background:var(--pass-soft);color:var(--pass)}.ping-badge.fail.svelte-bpb2i4{background:var(--fail-soft);color:var(--fail)}.ping-badge.pinging.svelte-bpb2i4{color:var(--text-muted)}.runner-form.svelte-bpb2i4{border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;display:flex;flex-direction:column;gap:.875rem;background:var(--bg-subtle)}.runner-form-title.svelte-bpb2i4{font-size:.8125rem;font-weight:500;color:var(--text)}.runner-form-fields.svelte-bpb2i4{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.runner-form-actions.svelte-bpb2i4{display:flex;gap:.5rem}.card-disabled.svelte-bpb2i4{opacity:.5;pointer-events:none}.backup-row.svelte-bpb2i4{display:flex;gap:2rem}.backup-block.svelte-bpb2i4{flex:1;display:flex;flex-direction:column;gap:.875rem}.backup-divider.svelte-bpb2i4{width:1px;background:var(--border);flex-shrink:0}.backup-block-title.svelte-bpb2i4{font-size:.875rem;font-weight:500;color:var(--text)}.backup-block-desc.svelte-bpb2i4{font-size:.8125rem;color:var(--text-muted);line-height:1.6}.backup-block-desc.svelte-bpb2i4 code:where(.svelte-bpb2i4){font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}.backup-disclaimer.svelte-bpb2i4{margin-top:1rem;padding:.625rem .875rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-muted);line-height:1.5}.backup-actions.svelte-bpb2i4{display:flex;gap:.625rem;margin-top:.25rem;flex-wrap:wrap}.s3-test-result.svelte-bpb2i4{margin-top:.625rem;font-size:.8125rem;font-weight:500}.s3-test-success.svelte-bpb2i4{color:var(--pass)}.s3-test-error.svelte-bpb2i4{color:var(--fail)}.backup-last-run.svelte-bpb2i4{font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.status-success.svelte-bpb2i4{color:var(--pass)}.status-error.svelte-bpb2i4{color:var(--fail)}.backup-toggle-label.svelte-bpb2i4{display:flex;align-items:center;justify-content:space-between;cursor:default}.toggle-btn.svelte-bpb2i4{flex-shrink:0;width:40px;height:22px;border-radius:var(--radius-pill);border:none;background:var(--border);cursor:pointer;position:relative;transition:background .2s var(--ease-out)}.toggle-btn.active.svelte-bpb2i4{background:var(--accent)}.toggle-btn.svelte-bpb2i4 .toggle-thumb:where(.svelte-bpb2i4){position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out);box-shadow:0 1px 3px #0003}.toggle-btn.active.svelte-bpb2i4 .toggle-thumb:where(.svelte-bpb2i4){transform:translate(18px)}.field-input-mono.svelte-bpb2i4{font-family:JetBrains Mono,monospace;font-size:.8125rem}.import-row.svelte-bpb2i4{display:flex;align-items:center;gap:.625rem}.file-label.svelte-bpb2i4{cursor:pointer}.file-input-hidden.svelte-bpb2i4{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-btn.svelte-bpb2i4{display:inline-flex;align-items:center;height:34px;padding:0 .875rem;font-size:.8125rem;font-family:inherit;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;transition:background var(--duration-fast),border-color var(--duration-fast)}.file-label.svelte-bpb2i4:hover .file-btn:where(.svelte-bpb2i4){border-color:var(--text-muted);background:var(--bg-subtle)}.field-row.svelte-bpb2i4{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mono.svelte-bpb2i4{font-family:JetBrains Mono,monospace!important;font-size:.8125rem!important}.code-sample.svelte-bpb2i4{font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}.link-btn.svelte-bpb2i4{font:inherit;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.account-info.svelte-bpb2i4{display:flex;flex-direction:column;gap:.2rem}.account-name.svelte-bpb2i4{font-size:.9375rem;font-weight:500;color:var(--text)}.account-email.svelte-bpb2i4{font-size:.8125rem;color:var(--text-muted)}.form-error.svelte-bpb2i4{font-size:.8125rem;color:var(--fail)}@media (max-width: 640px){.settings-layout.svelte-bpb2i4{grid-template-columns:1fr;gap:1.5rem}.settings-sidebar.svelte-bpb2i4{position:static}.settings-sidebar.svelte-bpb2i4 nav:where(.svelte-bpb2i4){flex-direction:row;flex-wrap:wrap}.backup-row.svelte-bpb2i4{flex-direction:column}.backup-divider.svelte-bpb2i4{width:100%;height:1px}.runner-form-fields.svelte-bpb2i4,.field-row.svelte-bpb2i4{grid-template-columns:1fr}}.users-table.svelte-bpb2i4{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.user-row.svelte-bpb2i4{display:flex;align-items:center;gap:.75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem 1rem}.user-info.svelte-bpb2i4{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.user-name.svelte-bpb2i4{font-size:.9rem;font-weight:500;color:var(--text)}.user-email.svelte-bpb2i4{font-size:.8rem;color:var(--text-muted)}.role-chip.svelte-bpb2i4{font-size:.7rem;font-weight:500;border-radius:var(--radius-pill);padding:.15rem .55rem;flex-shrink:0}.role-chip.admin.svelte-bpb2i4{background:var(--accent-soft);color:var(--accent)}.role-chip.user.svelte-bpb2i4{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border)}.you-chip.svelte-bpb2i4{font-size:.7rem;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.15rem .55rem;flex-shrink:0}.mcp-key-row.svelte-bpb2i4{display:flex;align-items:center;gap:.375rem}.mcp-key-input.svelte-bpb2i4{flex:1;font-family:JetBrains Mono,monospace;font-size:.8125rem;min-width:0}.mcp-regen-note.svelte-bpb2i4{font-size:.78rem;color:var(--text-muted)}.mcp-snippet.svelte-bpb2i4{font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.875rem 1rem;white-space:pre;overflow-x:auto;color:var(--text);line-height:1.6;margin:0}.icon-btn.svelte-bpb2i4{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-muted);transition:background var(--duration-fast),color var(--duration-fast);flex-shrink:0}.icon-btn.danger.svelte-bpb2i4:hover{background:var(--fail-soft);color:var(--fail)}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This file is part of Plum.
|
|
3
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
.idle-state.svelte-4v9t4g{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 1rem;text-align:center;gap:.75rem}.idle-icon.svelte-4v9t4g{color:var(--text-muted);opacity:.4;margin-bottom:.5rem}.idle-state.svelte-4v9t4g h2:where(.svelte-4v9t4g){font-size:1.5rem;font-weight:400}.idle-state.svelte-4v9t4g p:where(.svelte-4v9t4g){font-size:.9375rem;color:var(--text-muted);max-width:360px}.idle-link.svelte-4v9t4g{font-size:.875rem;color:var(--accent);text-decoration:none;margin-top:.5rem}.idle-link.svelte-4v9t4g:hover{text-decoration:underline}.cron-running-state.svelte-4v9t4g{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 1rem;text-align:center;gap:.75rem}.cron-running-icon.svelte-4v9t4g{margin-bottom:.5rem}.cron-pulse-dot.svelte-4v9t4g{display:inline-block;width:18px;height:18px;border-radius:50%;background:var(--pass);animation:svelte-4v9t4g-pulse-pass 1.4s ease-in-out infinite}@keyframes svelte-4v9t4g-pulse-pass{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.cron-running-state.svelte-4v9t4g h2:where(.svelte-4v9t4g){font-size:1.5rem;font-weight:400}.cron-task-list.svelte-4v9t4g{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.cron-task-chip.svelte-4v9t4g{font-size:.8125rem;font-weight:500;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--radius-pill);padding:.2rem .65rem;text-decoration:none;cursor:pointer;transition:background var(--duration-fast)}.cron-task-chip.svelte-4v9t4g:hover{background:color-mix(in srgb,var(--accent) 15%,var(--accent-soft))}.cron-running-state.svelte-4v9t4g p:where(.svelte-4v9t4g){font-size:.9375rem;color:var(--text-muted);max-width:360px}.run-header.svelte-4v9t4g{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:fadeUp .3s var(--ease-out) both}.run-header.header-pass.svelte-4v9t4g{border-top:3px solid var(--pass)}.run-header.header-fail.svelte-4v9t4g{border-top:3px solid var(--fail)}.header-left.svelte-4v9t4g{display:flex;align-items:center;gap:.875rem;flex-wrap:wrap}.live-badge.svelte-4v9t4g{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--white);background:var(--accent);padding:.2rem .6rem;border-radius:var(--radius-pill)}.live-dot.svelte-4v9t4g{width:6px;height:6px;border-radius:50%;background:#fffc;animation:dotPulse 1.2s ease-in-out infinite}.run-info.svelte-4v9t4g{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.run-title-label.svelte-4v9t4g{font-size:.875rem;font-weight:500;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--radius-pill);padding:.15rem .6rem;white-space:nowrap}.run-tag-label.svelte-4v9t4g{font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:500;color:var(--text)}.run-sep.svelte-4v9t4g{color:var(--text-muted);opacity:.4;font-size:.75rem}.run-detail.svelte-4v9t4g{font-size:.8rem;color:var(--text-muted);font-family:JetBrains Mono,monospace}.cancel-btn.svelte-4v9t4g{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-body);font-size:.8rem;font-weight:500;color:var(--fail);background:var(--fail-soft);border:1px solid var(--fail);border-radius:var(--radius-sm);padding:.35rem .75rem;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast);flex-shrink:0}.cancel-btn.svelte-4v9t4g:hover{background:var(--fail);color:var(--white)}.completion-bar.svelte-4v9t4g{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;gap:1rem;border:1px solid var(--border);border-top:none;border-bottom:none}.completion-bar.pass-bar.svelte-4v9t4g{background:var(--pass-soft);border-color:color-mix(in srgb,var(--pass) 30%,var(--border));color:var(--pass)}.completion-bar.fail-bar.svelte-4v9t4g{background:var(--fail-soft);border-color:color-mix(in srgb,var(--fail) 30%,var(--border));color:var(--fail)}.completion-left.svelte-4v9t4g{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500}.completion-right.svelte-4v9t4g{display:flex;align-items:center;gap:.875rem}.redirect-hint.svelte-4v9t4g{font-size:.8rem;opacity:.7;font-family:JetBrains Mono,monospace;color:inherit}.view-now-btn.svelte-4v9t4g{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:inherit;background:transparent;border:1.5px solid currentColor;border-radius:var(--radius-sm);padding:.3rem .75rem;cursor:pointer;transition:background var(--duration-fast)}.view-now-btn.svelte-4v9t4g:hover{background:#0000000f}.lane-tabs.svelte-4v9t4g{display:flex;gap:2px;padding:.5rem 1rem 0;background:var(--bg-elevated);border:1px solid var(--border);border-top:none;border-bottom:none}.lane-tab.svelte-4v9t4g{display:inline-flex;align-items:center;gap:.4rem;padding:.375rem .875rem;border:1px solid transparent;border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;font-family:var(--font-body);font-size:.8rem;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast),border-color var(--duration-fast);white-space:nowrap}.lane-tab.svelte-4v9t4g:hover{color:var(--text);background:var(--bg-subtle)}.lane-tab.active.svelte-4v9t4g{color:var(--text);background:var(--bg-elevated);border-color:var(--border);border-bottom-color:var(--bg-elevated)}.tab-dot.svelte-4v9t4g{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--accent)}.tab-dot-running.svelte-4v9t4g{background:var(--accent);animation:dotPulse 1.6s ease-in-out infinite}.tab-dot-done.svelte-4v9t4g{background:var(--pass)}.tab-dot-error.svelte-4v9t4g{background:var(--fail)}.tab-count.svelte-4v9t4g{font-size:.65rem;font-weight:600;font-family:JetBrains Mono,monospace;opacity:.55}.run-view.svelte-4v9t4g{display:grid;grid-template-columns:1fr 420px;height:calc(100vh - 290px);min-height:380px;border:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:none;overflow:hidden;animation:fadeUp .35s var(--ease-out) .05s both}.run-view.no-top-radius.svelte-4v9t4g{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.screenshot-panel.svelte-4v9t4g{position:relative;background:var(--terminal-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;border-right:1px solid var(--border)}.live-shot.svelte-4v9t4g{max-width:100%;max-height:100%;object-fit:contain;display:block;border-radius:2px}.step-overlay.svelte-4v9t4g{position:absolute;bottom:0;left:0;right:0;padding:1.25rem 1rem .625rem;background:linear-gradient(transparent,#000000bf);display:flex;align-items:baseline;gap:.5rem;pointer-events:none}.step-keyword.svelte-4v9t4g{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);flex-shrink:0}.step-name.svelte-4v9t4g{font-size:.8125rem;color:#ffffffd9;font-family:JetBrains Mono,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.awaiting-state.svelte-4v9t4g{display:flex;flex-direction:column;align-items:center;gap:.625rem;color:#fff3;font-size:.8rem;font-family:JetBrains Mono,monospace}.terminal-panel.svelte-4v9t4g{display:flex;flex-direction:column;overflow:hidden}.terminal-bar.svelte-4v9t4g{display:flex;align-items:center;gap:6px;padding:.6rem .875rem;background:#00000059;flex-shrink:0}.dot.svelte-4v9t4g{display:block;width:10px;height:10px;border-radius:50%}.dot.red.svelte-4v9t4g{background:#ff5f57}.dot.yellow.svelte-4v9t4g{background:#febc2e}.dot.green.svelte-4v9t4g{background:#28c840}.terminal-label.svelte-4v9t4g{margin-left:auto;font-size:.68rem;font-family:JetBrains Mono,monospace;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#ffffff4d}.terminal.svelte-4v9t4g{font-family:JetBrains Mono,Fira Code,Cascadia Code,Courier New,monospace;font-size:.8rem;line-height:1.75;background:var(--terminal-bg);color:var(--terminal-text);padding:1rem 1.25rem;flex:1;overflow-y:auto;white-space:pre-wrap;word-break:break-word;margin:0}.terminal.svelte-4v9t4g::-webkit-scrollbar{width:4px}.terminal.svelte-4v9t4g::-webkit-scrollbar-track{background:transparent}.terminal.svelte-4v9t4g::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}
|