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
|
@@ -0,0 +1,9 @@
|
|
|
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 Or,a as n,t as E,s as v,e as Ye,b as F,c as Ne,n as Ds}from"../chunks/CfkUW1vA.js";import{i as Nr}from"../chunks/C00jnSU2.js";import{p as Dr,m as c,o as Br,s as l,g as e,l as $t,b as Ur,f as he,c as Fr,$ as Kr,d as a,j as t,k as s,t as d,v as Is,n as K,x,y as P}from"../chunks/CeH-RgMb.js";import{i as O,s as Mr,a as ha}from"../chunks/CegSvdD-.js";import{e as Ot,i as ws,t as ct,a as ze,f as Je,s as Gr}from"../chunks/Beula-TH.js";import{A as Nt,h as Ct,i as Al,b as Hr,r as M,s as C,M as Vr,B as qa,C as Qa,G as jr,w as ma,H as Wr,E as Za}from"../chunks/DuAVKaL3.js";import{b as X}from"../chunks/BAvTKHxT.js";import{T as Xr,B as q,b as $s}from"../chunks/CZWchtW8.js";import{b as Yr}from"../chunks/CboYYxrf.js";import{g as zr}from"../chunks/DiVmSEJa.js";import{b as Sa,f as Jr,a as qr,c as Qr,d as el,p as tl,e as Zr,s as en,g as sl,u as tn,r as sn,h as an,i as ln,j as rn,k as nn,l as on,m as cn,n as dn,o as al,t as vn,q as pn,v as un}from"../chunks/CoTEzvLa.js";import{o as _n,p as bn,q as fn}from"../chunks/Dl-F6VCo.js";import{u as En,a as gn}from"../chunks/GDjpV3r7.js";import{a as Ns}from"../chunks/Ck6C3Fl0.js";import{e as Ra}from"../chunks/BJ_ypKl3.js";import{t as ll}from"../chunks/C7uEQ-LH.js";import{C as rl}from"../chunks/DAmOMhaf.js";import{B as hn}from"../chunks/C8S7qQjQ.js";function ka(){return{"Content-Type":"application/json",Authorization:`Bearer ${Ns.getToken()}`}}async function mn(){const o=await fetch(`${Nt}/users`,{headers:ka()});if(!o.ok)throw new Error("Failed to fetch users");return(await o.json()).users}async function Sn({name:o,email:Me,password:Lt,role:Bs="user"}){const Re=await fetch(`${Nt}/users`,{method:"POST",headers:ka(),body:JSON.stringify({name:o,email:Me,password:Lt,role:Bs})}),jt=await Re.json();if(!Re.ok)throw new Error(jt.error??"Failed to create user");return jt.user}async function Rn(o){const Me=await fetch(`${Nt}/users/${o}`,{method:"DELETE",headers:ka()});if(!Me.ok){const Lt=await Me.json();throw new Error(Lt.error??"Failed to delete user")}}const Cn="Settings — Plum",Ln="Settings",Os="Name",nl="Network error",yl="Checking…",Pl="Copied!",ol="Project",il="Runners",kn="Repository",xn="Test Repository",cl="Integrations",An="MCP",yn="MCP Integration",Ca="Account",dl="Users",La="Backup",Pn="Identity information shown across the UI",Tn="Register self-hosted runner nodes to distribute tests across machines.",In="Configure ID prefixes for test suites and cases.",wn="Connect Discord and Slack to receive run notifications with pass/fail results and report links.",$n="Generate an API key for any MCP-compatible AI client — Claude, Cursor, Windsurf, and others.",On="Manage your profile, credentials and session.",Nn="Add and manage who can access Plum.",Dn="Export your test cases, schedules, users, and project settings. Automate uploads to any S3-compatible storage — Cloudflare R2, Backblaze B2, AWS S3, or MinIO.",vl="Name, URL and token are required.",Bn="Failed to add runner.",Un="Failed to remove runner.",Fn="Failed to update runner.",pl=o=>`Cannot reach this runner — ${o??"check the URL and token"}.`,Kn=o=>`Runner "${o}" added.`,Mn=o=>`Runner "${o}" removed.`,Gn=o=>`Runner "${o}" stopped.`,Hn=(o,Me)=>`Could not stop "${o}": ${Me??"unknown error"}`,Vn=o=>`Could not stop "${o}".`,jn=o=>`Runner "${o}" restarting…`,Wn=(o,Me)=>`Could not restart "${o}": ${Me??"unknown error"}`,Xn=o=>`Could not restart "${o}".`,Yn=o=>`Runner "${o}" updated.`,zn="Project Name",Jn="My Test Suite",qn="Logo URL",Qn="Direct link to an image (PNG, SVG, JPG)",Zn="https://example.com/logo.png",eo="Preview",to="Project logo preview",so="Timezone",ao="Used to schedule cron jobs and backups",lo="Retry failed tests",ro="Automatically re-run failed scenarios up to this many times before finalizing the report. 0 disables retries.",no="Dark mode",oo="Switch between light and dark appearance",io="Project settings saved.",co="Failed to save project settings.",vo=o=>o?Ct:"Save Project",po="Built-in runner",uo="Use this server to run tests locally. Disable to route all runs to external nodes.",ul="URL",_l="Use",bl="for local nodes",fl="http://host.docker.internal:3002",El="Token",_o="secret-token",bo="Leave blank to keep current token",gl="Browser",hl="staging-node",fo="unreachable",Eo="pinging…",go="Remove",ho="Add runner",mo="+ Add Runner",So="Restart",Ro="Restarting…",Co="Stop",Lo="Stopping…",ko="Add Runner",xo=o=>o?yl:Al,Ao=o=>o?yl:ko,yo=o=>o?Ro:So,Po=o=>o?Lo:Co,To="Test Case prefix",ml="TC",Io="Test Suite prefix",Sl="TS",wo="Examples:",$o="Prefixes saved.",Oo="Failed to save prefixes.",No="Migrate IDs",Do="Rename all existing test IDs to use a new prefix. Cucumber tags in code are",Bo="not",Uo="affected — you manage those separately.",Fo="New case prefix",Ko="New suite prefix",Mo="Prefix migration complete. All IDs updated.",Go="Migration failed.",Ho=o=>o?Ct:"Save Prefixes",Vo=o=>o?"Migrating…":"Run Migration",jo="Webhooks",Wo="Discord Webhook URL",Xo="Leave blank to disable Discord notifications",Yo="https://discord.com/api/webhooks/…",zo="Slack Webhook URL",Jo="Leave blank to disable Slack notifications",qo="https://hooks.slack.com/services/…",Qo="Public URL",Zo="Base URL of this Plum instance — used to link reports in notifications, and by remote runner nodes to stream live test output back here",ei="https://plum.yourcompany.com",ti="Integration settings saved.",si="Failed to save integration settings.",ai="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",ni="header. Generate a key on the",oi="MCP tab",ii="and store it as a repo secret — never commit it directly. Runs triggered this way show up in Reports tagged",ci="External",di="Copy Workflow Step",vi=o=>o?Ct:"Save Integrations",pi=o=>o?Pl:di,ui="API Key",_i="No key generated yet.",bi="Hide key",fi="Show key",Ei="Copy key",gi="Regenerating invalidates the existing key immediately.",hi="Config Snippet",mi="Add this to your MCP client's config file (e.g.",Si=", Cursor MCP settings, etc.).",Ri="MCP key generated.",Ci="Failed to generate MCP key.",Li="Copy Config",ki=o=>o?"Generating…":"Generate Key",xi=o=>o?"Generating…":"Regenerate Key",Ai=o=>o?Pl:Li,yi="Profile",Pi="Change password",Ti="Current password",Ii="New password",wi="Confirm new password",$i="Sign out",Oi="Profile updated.",Ni="Passwords do not match.",Di="Password must be at least 8 characters.",Bi="Password changed.",Ui=o=>o?Ct:"Save Profile",Fi=o=>o?Ct:"Change Password",Ki="Remove User",Mi="Remove",Gi="Remove",Hi="? They will lose access immediately.",Vi="Add User",ji="Jane Smith",Wi="jane@example.com",Xi="Password",Yi="Role",zi="User",Ji="Admin",qi="Remove user",Qi="you",Zi="Name, email and password are required.",ec=o=>o?"Adding…":"Add User",tc=o=>`User "${o}" added.`,sc=o=>`User "${o}" removed.`,ac="Manual Backup",lc="Export",rc="Downloads a",nc="file with all cron jobs, test cases, test runs, users, runners, and project settings.",oc="Import",ic="Restores all data from a previously exported backup. Existing records are overwritten. Cron jobs are re-scheduled after import.",cc="Choose file…",dc="Include reports & recordings",vc="Applies to both manual export and scheduled S3 backups. Can make backups significantly larger — recordings are session replays, not just screenshots.",pc=o=>o?"Reports and recordings are included in backups.":'Reports are not included in backups — enable "Include reports & recordings" above, or run pg_dump directly on the PostgreSQL volume, to back up report history.',uc=o=>o?Ct:Al,_c="S3 Storage",bc="Works with any S3-compatible provider — Cloudflare R2, Backblaze B2, AWS S3, or MinIO. Leave",Rl="Endpoint URL",fc="empty for AWS S3.",Ec="Leave blank for AWS S3",gc="https://account.r2.cloudflarestorage.com",hc="Region",mc="Use",Sc="for Cloudflare R2",Rc="us-east-1",Cc="Bucket",Lc="my-plum-backups",kc="Path Prefix",xc="Optional folder inside the bucket",Ac="plum/",yc="Access Key ID",Pc="AKIAIOSFODNN7EXAMPLE",Tc="Secret Access Key",Ic="Test Connection",wc="Save S3 Config",$c="Connection successful.",Oc="Connection failed.",Cl="Backup configuration saved.",Ll="Failed to save backup configuration.",Nc="Required",Dc="A key is already saved — leave blank to keep it",Bc="••••••••",Uc="Enter secret key",Fc="Testing…",Kc="Restore from S3",Mc="Restores directly from a backup already uploaded to S3 — no need to download it yourself first. Existing records are overwritten. Cron jobs are re-scheduled after restore.",Gc="Configure S3 storage above to restore from it.",Hc="No backups found at this bucket/prefix.",Vc="Refresh",jc="Restore this backup?",Wc=o=>`This will overwrite current cron jobs, test cases, test runs, users, runners, and project settings with the contents of "${o}". This cannot be undone.`,Xc="Restored from S3 successfully.",Yc="Restore failed.",zc="Failed to list S3 backups.",Jc="Scheduled Backup",qc="Configure S3 storage above to enable scheduled backups.",Qc="Enable scheduled backup",Zc="Cron Expression",ed="5-field cron — e.g.",td="= daily at 2 AM.",sd="Test at crontab.guru ↗",ad="0 2 * * *",ld="Last backup:",rd="Backup downloaded.",nd="Export failed.",od="Import successful. Cron jobs have been re-scheduled.",id="Import failed. Check the file format.",cd="Backup uploaded to S3 successfully.",dd="Backup failed. Check your S3 configuration.",vd="Upload to S3 Now",pd="Uploading…",ud="Save Schedule",_d=o=>`plum-backup-${o}.json`,bd=o=>o?"Exporting…":"Export JSON",fd=o=>o?"Importing…":"Import",Ed=o=>o?Dc:Nc,gd=o=>o?Bc:Uc,hd=o=>o?Fc:Ic,md=o=>o?Ct:wc,Sd=o=>`uploaded to ${o}`,Rd=o=>o?pd:vd,Cd=o=>o?Ct:ud,kl=o=>o?"Restoring…":"Restore",xl=o=>o?"Loading…":Vc,Ld=o=>`${(o/1024).toFixed(1)} KB`;var kd=E('<button class="sidebar-item svelte-1b139ls"> </button>'),xd=E('<div class="logo-preview svelte-1b139ls"><span class="preview-label svelte-1b139ls"></span> <img class="logo-img svelte-1b139ls"></div>'),Ad=E("<option> </option>"),yd=E('<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls"></h2> <p class="content-desc svelte-1b139ls"></p></div> <div class="card settings-card svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" for="project-name"></label> <input id="project-name" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-1b139ls" for="project-logo"><span></span> <span class="field-hint svelte-1b139ls"></span></label> <input id="project-logo" type="url" class="field-input"></div> <!> <div class="field"><label class="field-label svelte-1b139ls" for="project-timezone"><span></span> <span class="field-hint svelte-1b139ls"></span></label> <select id="project-timezone" class="field-input"></select></div> <div class="field"><label class="field-label svelte-1b139ls" for="project-max-retries"><span></span> <span class="field-hint svelte-1b139ls"></span></label> <input id="project-max-retries" type="number" class="field-input" min="0"></div> <div class="toggle-row svelte-1b139ls"><div class="toggle-info svelte-1b139ls"><span class="toggle-label svelte-1b139ls"></span> <span class="toggle-desc svelte-1b139ls"></span></div> <button class="toggle-switch svelte-1b139ls" role="switch"><span class="toggle-thumb svelte-1b139ls"></span></button></div> <div class="card-footer svelte-1b139ls"><!></div></div></div>'),Pd=E("<option> </option>"),Td=E('<p class="form-error svelte-1b139ls"> </p>'),Id=E('<div class="runner-card editing svelte-1b139ls"><div class="runner-form-fields svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls"></label> <input type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-1b139ls"> <span class="field-hint svelte-1b139ls"> <code>host.docker.internal</code> </span></label> <input type="url" class="field-input"></div> <div class="field"><label class="field-label svelte-1b139ls"></label> <input type="text" class="field-input" spellcheck="false" autocomplete="off"></div> <div class="field"><label class="field-label svelte-1b139ls"></label> <select class="field-input"></select></div></div> <!> <div class="runner-form-actions svelte-1b139ls"><!> <!></div></div>'),wd=E('<span class="ping-badge ok svelte-1b139ls"> </span>'),$d=E('<span class="ping-badge fail svelte-1b139ls"></span>'),Od=E('<span class="ping-badge pinging svelte-1b139ls"></span>'),Nd=E('<div class="runner-card svelte-1b139ls"><div class="runner-card-header svelte-1b139ls"><svg class="runner-card-icon svelte-1b139ls" 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-1b139ls"> </span> <span class="runner-browser-pill svelte-1b139ls"> </span> <!></div> <p class="runner-card-url svelte-1b139ls"> </p> <div class="runner-card-actions svelte-1b139ls"><!> <!> <!> <!></div></div>'),Dd=E('<div class="runner-cards svelte-1b139ls"></div>'),Bd=E("<option> </option>"),Ud=E('<p class="form-error svelte-1b139ls"> </p>'),Fd=E('<div class="runner-form svelte-1b139ls"><p class="runner-form-title svelte-1b139ls"></p> <div class="runner-form-fields svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" for="rn-name"></label> <input id="rn-name" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-1b139ls" for="rn-url"> <span class="field-hint svelte-1b139ls"> <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-1b139ls" 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-1b139ls" for="rn-browser"></label> <select id="rn-browser" class="field-input"></select></div></div> <!> <div class="runner-form-actions svelte-1b139ls"><!> <!></div></div>'),Kd=E('<div class="card-footer svelte-1b139ls"><!></div>'),Md=E('<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls"></h2> <p class="content-desc svelte-1b139ls"></p></div> <div class="card settings-card svelte-1b139ls"><div class="toggle-row svelte-1b139ls"><div class="toggle-info svelte-1b139ls"><span class="toggle-label svelte-1b139ls"></span> <span class="toggle-desc svelte-1b139ls"></span></div> <button class="toggle-switch svelte-1b139ls" role="switch"><span class="toggle-thumb svelte-1b139ls"></span></button></div> <!> <!></div></div>'),Gd=E('<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls"></h2> <p class="content-desc svelte-1b139ls"></p></div> <div class="card settings-card svelte-1b139ls"><div class="field-row svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" for="tc-prefix"></label> <input id="tc-prefix" type="text" class="field-input mono svelte-1b139ls" maxlength="10"></div> <div class="field"><label class="field-label svelte-1b139ls" for="ts-prefix"></label> <input id="ts-prefix" type="text" class="field-input mono svelte-1b139ls" maxlength="10"></div></div> <p class="content-desc svelte-1b139ls"> <code class="code-sample svelte-1b139ls"> </code>, <code class="code-sample svelte-1b139ls"> </code></p> <div class="card-footer svelte-1b139ls"><!></div></div> <div class="content-header svelte-1b139ls" style="margin-top: 1rem"><h2 class="svelte-1b139ls"></h2> <p class="content-desc svelte-1b139ls"> <strong></strong> </p></div> <div class="card settings-card svelte-1b139ls"><div class="field-row svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" for="mig-tc"></label> <input id="mig-tc" type="text" class="field-input mono svelte-1b139ls" maxlength="10"></div> <div class="field"><label class="field-label svelte-1b139ls" for="mig-ts"></label> <input id="mig-ts" type="text" class="field-input mono svelte-1b139ls" maxlength="10"></div></div> <div class="card-footer svelte-1b139ls"><!></div></div></div>'),Hd=E('<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls"></h2> <p class="content-desc svelte-1b139ls"></p></div> <div class="card settings-card svelte-1b139ls"><p class="card-title"></p> <div class="field"><label class="field-label svelte-1b139ls" for="discord-url"><span></span> <span class="field-hint svelte-1b139ls"></span></label> <input id="discord-url" type="url" class="field-input"></div> <div class="field"><label class="field-label svelte-1b139ls" for="slack-url"><span></span> <span class="field-hint svelte-1b139ls"></span></label> <input id="slack-url" type="url" class="field-input"></div> <div class="field"><label class="field-label svelte-1b139ls" for="public-url"><span></span> <span class="field-hint svelte-1b139ls"></span></label> <input id="public-url" type="url" class="field-input"></div> <!></div> <div class="card settings-card svelte-1b139ls"><p class="card-title"></p> <p class="content-desc svelte-1b139ls"> <code class="code-sample svelte-1b139ls"></code> <code class="code-sample svelte-1b139ls">Authorization: ApiKey …</code> <button class="link-btn svelte-1b139ls"></button> <!>.</p> <pre class="mcp-snippet svelte-1b139ls"> </pre> <div class="card-footer svelte-1b139ls"><!></div></div></div>'),Vd=E('<p class="content-desc svelte-1b139ls"></p> <div class="card-footer svelte-1b139ls"><!></div>',1),jd=Ds('<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>'),Wd=Ds('<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>'),Xd=Ds('<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>'),Yd=Ds('<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>'),zd=E('<div class="mcp-key-row svelte-1b139ls"><input class="field-input mcp-key-input svelte-1b139ls" readonly="" spellcheck="false" autocomplete="off"> <button class="icon-btn svelte-1b139ls"><!></button> <button class="icon-btn svelte-1b139ls"><!></button></div> <p class="mcp-regen-note svelte-1b139ls"></p> <div class="card-footer svelte-1b139ls"><!></div>',1),Jd=E('<div class="card settings-card svelte-1b139ls"><p class="card-title"></p> <p class="content-desc svelte-1b139ls"> <code class="code-sample svelte-1b139ls">claude_desktop_config.json</code> </p> <pre class="mcp-snippet svelte-1b139ls"> </pre> <div class="card-footer svelte-1b139ls"><!></div></div>'),qd=E('<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls"></h2> <p class="content-desc svelte-1b139ls"></p></div> <div class="card settings-card svelte-1b139ls"><p class="card-title"></p> <!></div> <!></div>'),Qd=E('<p class="form-error svelte-1b139ls"> </p>'),Zd=E('<p class="form-error svelte-1b139ls"> </p>'),ev=E('<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls"></h2> <p class="content-desc svelte-1b139ls"></p></div> <div class="card settings-card svelte-1b139ls"><p class="card-title"></p> <div class="field"><label class="field-label svelte-1b139ls" for="profile-name"></label> <input id="profile-name" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-1b139ls" for="profile-email"></label> <input id="profile-email" type="email" class="field-input"></div> <!> <div class="card-footer svelte-1b139ls"><!></div></div> <div class="card settings-card svelte-1b139ls"><p class="card-title"></p> <div class="field"><label class="field-label svelte-1b139ls" 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-1b139ls" 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-1b139ls" for="pw-confirm"></label> <input id="pw-confirm" type="password" class="field-input" autocomplete="new-password"></div> <!> <div class="card-footer svelte-1b139ls"><!></div></div> <div class="card settings-card svelte-1b139ls"><div class="card-footer svelte-1b139ls"><!></div></div></div>'),tv=E(" <strong> </strong> ",1),sv=E('<p class="form-error svelte-1b139ls"> </p>'),av=E('<button class="icon-btn danger svelte-1b139ls"><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>'),lv=E('<span class="you-chip svelte-1b139ls"></span>'),rv=E('<div class="user-row svelte-1b139ls"><div class="user-info svelte-1b139ls"><span class="user-name svelte-1b139ls"> </span> <span class="user-email svelte-1b139ls"> </span></div> <span> </span> <!></div>'),nv=E('<div class="users-table svelte-1b139ls"></div>'),ov=E('<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls"></h2> <p class="content-desc svelte-1b139ls"></p></div> <!> <div class="card settings-card svelte-1b139ls"><p class="card-title"></p> <div class="field-row svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" for="u-name"></label> <input id="u-name" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-1b139ls" for="u-email"></label> <input id="u-email" type="email" class="field-input"></div></div> <div class="field-row svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" 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-1b139ls" for="u-role"></label> <select id="u-role" class="field-input"><option></option><option></option></select></div></div> <!> <div class="card-footer svelte-1b139ls"><!></div></div> <!></div>'),iv=E('<p class="s3-test-result svelte-1b139ls"> </p>'),cv=E('<p class="backup-block-desc svelte-1b139ls"></p>'),dv=E('<p class="backup-block-desc svelte-1b139ls"> </p>'),vv=E('<li class="s3-backup-row svelte-1b139ls"><div class="s3-backup-info svelte-1b139ls"><span class="s3-backup-key svelte-1b139ls"> </span> <span class="s3-backup-meta svelte-1b139ls"> </span></div> <!></li>'),pv=E('<ul class="s3-backup-list svelte-1b139ls"></ul>'),uv=E('<p class="backup-block-desc svelte-1b139ls" style="margin-bottom: 1rem;"></p> <!>',1),_v=E('<p class="backup-block-desc svelte-1b139ls"></p>'),bv=E('<span class="status-success svelte-1b139ls"> </span>'),fv=E('<span class="status-error svelte-1b139ls"> </span>'),Ev=E("<span> </span>"),gv=E('<p class="backup-last-run svelte-1b139ls"> <!></p>'),hv=E('<div class="field"><label class="field-label backup-toggle-label svelte-1b139ls" for="backup-enabled"><span></span> <button id="backup-enabled" class="toggle-btn svelte-1b139ls" role="switch"><span class="toggle-thumb svelte-1b139ls"></span></button></label></div> <div class="field"><label class="field-label svelte-1b139ls" for="backup-cron"><span></span> <span class="field-hint svelte-1b139ls"> <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-1b139ls"></div> <!> <div class="backup-actions svelte-1b139ls"><!> <!></div>',1),mv=E('<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls"></h2> <p class="content-desc svelte-1b139ls"></p></div> <div class="card settings-card svelte-1b139ls"><p class="card-title"></p> <div class="backup-row svelte-1b139ls"><div class="backup-block svelte-1b139ls"><p class="backup-block-title svelte-1b139ls"></p> <p class="backup-block-desc svelte-1b139ls"> <code class="svelte-1b139ls">.json</code> </p> <!></div> <div class="backup-divider svelte-1b139ls"></div> <div class="backup-block svelte-1b139ls"><p class="backup-block-title svelte-1b139ls"></p> <p class="backup-block-desc svelte-1b139ls"></p> <div class="import-row svelte-1b139ls"><label class="file-label svelte-1b139ls"><input type="file" accept=".json" class="file-input-hidden svelte-1b139ls"> <span class="file-btn svelte-1b139ls"> </span></label> <!></div></div></div> <div class="include-reports-row svelte-1b139ls"><label class="field-label backup-toggle-label svelte-1b139ls" for="include-reports"><span class="svelte-1b139ls"> <span class="field-hint svelte-1b139ls"></span></span> <button id="include-reports" class="toggle-btn svelte-1b139ls" role="switch"><span class="toggle-thumb svelte-1b139ls"></span></button></label> <!></div> <p class="backup-disclaimer svelte-1b139ls"> </p></div> <div class="card settings-card svelte-1b139ls"><p class="card-title"></p> <p class="backup-block-desc svelte-1b139ls" style="margin-bottom: 1.25rem;"> <strong></strong> </p> <div class="field-row svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" for="s3-endpoint"><span></span> <span class="field-hint svelte-1b139ls"></span></label> <input id="s3-endpoint" type="url" class="field-input"></div> <div class="field"><label class="field-label svelte-1b139ls" for="s3-region"><span></span> <span class="field-hint svelte-1b139ls"> <code>auto</code> </span></label> <input id="s3-region" type="text" class="field-input"></div></div> <div class="field-row svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" for="s3-bucket"><span></span></label> <input id="s3-bucket" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-1b139ls" for="s3-prefix"><span></span> <span class="field-hint svelte-1b139ls"></span></label> <input id="s3-prefix" type="text" class="field-input"></div></div> <div class="field-row svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" 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-1b139ls" for="s3-secret-key"><span></span> <span class="field-hint svelte-1b139ls"> </span></label> <input id="s3-secret-key" type="password" class="field-input" autocomplete="new-password"></div></div> <div class="backup-actions svelte-1b139ls"><!> <!></div> <!></div> <!> <div class="card settings-card svelte-1b139ls"><div class="card-title-row svelte-1b139ls"><p class="card-title svelte-1b139ls"></p> <!></div> <!></div> <div class="card settings-card svelte-1b139ls"><p class="card-title"></p> <!></div></div>'),Sv=E('<!> <div class="page-header svelte-1b139ls"><h1 class="svelte-1b139ls"></h1></div> <div class="settings-layout svelte-1b139ls"><aside class="settings-sidebar svelte-1b139ls"><nav class="svelte-1b139ls"></nav></aside> <div class="settings-content svelte-1b139ls"><!></div></div>',1);function Kv(o,Me){Dr(Me,!1);const[Lt,Bs]=Mr(),Re=()=>ha(Ns,"$auth",Lt),jt=()=>ha(ll,"$theme",Lt),xa=()=>ha(Ra,"$builtInEnabled",Lt),dt=c(),Us=c(),Fs=c(),Aa=c();let ye=c(typeof sessionStorage<"u"&&sessionStorage.getItem("plum:settings:section")||"project");function ya(r){l(ye,r);try{sessionStorage.setItem("plum:settings:section",r)}catch{}}let be=c({name:"",logoUrl:"",timezone:"UTC",maxRetries:0}),ns=c(!1),Ks=c(null);const Tl=(()=>{try{return Intl.supportedValuesOf("timeZone")}catch{return["UTC"]}})();let Ce=c({testCasePrefix:"TC",testSuitePrefix:"TS"}),os=c(!1),st=c({testCasePrefix:"",testSuitePrefix:""}),is=c(!1),Ge=c({name:"",email:""}),cs=c(!1),ds=c(""),kt=c([]),me=c({name:"",email:"",password:"",role:"user"}),vs=c(!1),Wt=c(""),Dt=c(null),ps=c(!1),Le=c({currentPassword:"",newPassword:"",confirmPassword:""}),us=c(!1),Bt=c(""),xt=c(null),_s=c(!1),bs=c(!1),Xt=c(),De=c({discordWebhookUrl:"",slackWebhookUrl:"",notifyPublicUrl:""}),fs=c(!1),Ut=c(""),Es=c(!1),Ft=c(!1),Kt=c(!1),Ms=c(!1),Gs=c(!1),Hs=c(!1),g=c({backupEnabled:!1,backupCron:"0 2 * * *",backupS3Endpoint:"",backupS3Region:"",backupS3Bucket:"",backupS3AccessKey:"",backupS3SecretKey:"",backupS3Prefix:"",backupIncludeReports:!1}),Mt=c(!1),gs=c(!1),At=c(!1),hs=c(!1),ms=c(!1),yt=c(null),Ss=c(""),Yt=c(null),vt=c(""),Vs=c([]),js=c(!1),zt=c(!1),Jt=c(null),Rs=c(!1),Pt=c(null),Be=c([]),pe=c({name:"",url:"",token:"",browser:"chromium"}),Tt=c(""),qt=c(!1),Cs=c(!1),xe=c({}),Ls=c(null),ks=c(null),xs=c(null),ue=c({name:"",url:"",token:"",browser:"chromium"}),pt=c(""),Qt=c(!1);function y(r,i){l(Ks,{type:r,message:i}),setTimeout(()=>l(Ks,null),Hr)}let Ws=c(!1);Br(async()=>{var r;try{const i=localStorage.getItem("plum:builtInEnabled");i!==null&&Ra.set(i!=="false")}catch{}try{l(be,await Sa())}catch{}try{l(Be,await Jr()),l(Ws,!0)}catch{}try{l(Ce,await _n()),l(st,{testCasePrefix:e(Ce).testCasePrefix,testSuitePrefix:e(Ce).testSuitePrefix})}catch{}try{l(De,await qr())}catch{}try{const i=await Qr();l(Es,i.mcpKeySet),l(Ut,i.mcpKey)}catch{}try{const i=await el();l(At,i.backupS3SecretKeySet),l(Yt,i.backupLastRunAt),l(vt,i.backupLastStatus),l(g,{backupEnabled:i.backupEnabled,backupCron:i.backupCron,backupS3Endpoint:i.backupS3Endpoint,backupS3Region:i.backupS3Region,backupS3Bucket:i.backupS3Bucket,backupS3AccessKey:i.backupS3AccessKey,backupS3SecretKey:"",backupS3Prefix:i.backupS3Prefix,backupIncludeReports:i.backupIncludeReports})}catch{}if(Re().user&&l(Ge,{name:Re().user.name,email:Re().user.email}),((r=Re().user)==null?void 0:r.role)==="admin")try{l(kt,await mn())}catch{}});async function Il(){e(Be).length!==0&&(l(xe,Object.fromEntries(e(Be).map(r=>[r.id,{loading:!0}]))),await Promise.all(e(Be).map(async r=>{try{const i=await tl(r.id);l(xe,{...e(xe),[r.id]:{...i,loading:!1}})}catch{l(xe,{...e(xe),[r.id]:{ok:!1,error:nl,loading:!1}})}})))}function wl(){Ra.update(r=>{const i=!r;try{localStorage.setItem("plum:builtInEnabled",String(i))}catch{}return i})}function $l(){ll.update(r=>r==="light"?"dark":"light")}async function Ol(){if(!e(pe).name||!e(pe).url||!e(pe).token){l(Tt,vl);return}l(Tt,""),l(qt,!0);try{const r=await sl(e(pe).url,e(pe).token);if(!r.ok){l(Tt,pl(r.error));return}const{runner:i}=await rn(e(pe));l(Be,[...e(Be),i]),l(xe,{...e(xe),[i.id]:{ok:!0,latency:r.latency,loading:!1}}),l(pe,{name:"",url:"",token:"",browser:"chromium"}),l(Cs,!1),y("success",Kn(i.name))}catch{l(Tt,Bn)}finally{l(qt,!1)}}async function Nl(r,i){try{await ln(r),l(Be,e(Be).filter(I=>I.id!==r)),y("success",Mn(i))}catch{y("error",Un)}}async function Pa(r){l(xe,{...e(xe),[r]:{loading:!0}});try{const i=await tl(r);l(xe,{...e(xe),[r]:{...i,loading:!1}})}catch{l(xe,{...e(xe),[r]:{ok:!1,error:nl,loading:!1}})}}async function Dl(r,i){l(Ls,r);try{const I=await an(r);I.ok?y("success",Gn(i)):y("error",Hn(i,I.error))}catch{y("error",Vn(i))}finally{l(Ls,null),Pa(r)}}async function Bl(r,i){l(ks,r);try{const I=await sn(r);I.ok?y("success",jn(i)):y("error",Wn(i,I.error))}catch{y("error",Xn(i))}finally{l(ks,null),setTimeout(()=>Pa(r),2e3)}}function Ul(r){l(xs,r.id),l(ue,{name:r.name,url:r.url,token:"",browser:r.browser}),l(pt,"")}async function Fl(r){if(!e(ue).name||!e(ue).url){l(pt,vl);return}l(pt,""),l(Qt,!0);try{if(e(ue).token){const I=await sl(e(ue).url,e(ue).token);if(!I.ok){l(pt,pl(I.error));return}l(xe,{...e(xe),[r]:{ok:!0,latency:I.latency,loading:!1}})}const{runner:i}=await tn(r,e(ue));l(Be,e(Be).map(I=>I.id===r?i:I)),l(xs,null),y("success",Yn(i.name))}catch{l(pt,Fn)}finally{l(Qt,!1)}}async function Kl(){l(ns,!0);try{await en(e(be)),y("success",io)}catch{y("error",co)}finally{l(ns,!1)}}async function Ml(){l(bs,!0);try{const r=await cn(),i=new Blob([JSON.stringify(r,null,2)],{type:"application/json"}),I=URL.createObjectURL(i),qe=document.createElement("a");qe.href=I,qe.download=_d(new Date().toISOString().slice(0,10)),qe.click(),URL.revokeObjectURL(I),y("success",rd)}catch{y("error",nd)}finally{l(bs,!1)}}async function Gl(){if(e(xt)){l(_s,!0);try{const r=await e(xt).text(),i=JSON.parse(r),I=await dn(i);if(I.error)throw new Error(I.error);y("success",od),l(be,await Sa()),l(xt,null),e(Xt)&&P(Xt,e(Xt).value="")}catch(r){y("error",r.message||id)}finally{l(_s,!1)}}}function Hl(r){l(xt,r.target.files[0]??null)}async function Vl(){l(os,!0);try{l(Ce,await bn(e(Ce))),y("success",$o)}catch{y("error",Oo)}finally{l(os,!1)}}async function jl(){l(is,!0);try{await fn(e(st)),l(Ce,{...e(Ce),...e(st)}),y("success",Mo)}catch{y("error",Go)}finally{l(is,!1)}}async function Wl(){l(ds,""),l(cs,!0);try{const{user:r}=await En({token:Re().token,name:e(Ge).name,email:e(Ge).email});Ns.login(Re().token,{...Re().user,...r}),y("success",Oi)}catch(r){l(ds,r.message)}finally{l(cs,!1)}}async function Xl(){if(l(Wt,""),!e(me).name||!e(me).email||!e(me).password){l(Wt,Zi);return}l(vs,!0);try{const r=await Sn(e(me));l(kt,[...e(kt),r]),l(me,{name:"",email:"",password:"",role:"user"}),y("success",tc(r.name))}catch(r){l(Wt,r.message)}finally{l(vs,!1)}}async function Yl(r,i){try{await Rn(r),l(kt,e(kt).filter(I=>I.id!==r)),y("success",sc(i))}catch(I){y("error",I.message)}l(Dt,null),l(ps,!1)}async function zl(){if(l(Bt,""),e(Le).newPassword!==e(Le).confirmPassword){l(Bt,Ni);return}if(e(Le).newPassword.length<8){l(Bt,Di);return}l(us,!0);try{await gn({token:Re().token,currentPassword:e(Le).currentPassword,newPassword:e(Le).newPassword}),l(Le,{currentPassword:"",newPassword:"",confirmPassword:""}),y("success",Bi)}catch(r){l(Bt,r.message)}finally{l(us,!1)}}function Jl(){Ns.logout(),zr("/login")}async function Ta(){l(Kt,!0);try{const r=await on();l(Ut,r.mcpKey),l(Es,!0),l(Ft,!0),y("success",Ri)}catch{y("error",Ci)}finally{l(Kt,!1)}}function ql(){navigator.clipboard.writeText(e(Ut)).then(()=>{l(Ms,!0),setTimeout(()=>l(Ms,!1),ma)})}function Ql(){navigator.clipboard.writeText(e(Us)).then(()=>{l(Gs,!0),setTimeout(()=>l(Gs,!1),ma)})}function Zl(){navigator.clipboard.writeText(e(Fs)).then(()=>{l(Hs,!0),setTimeout(()=>l(Hs,!1),ma)})}async function er(){l(fs,!0);try{l(De,await nn(e(De))),y("success",ti)}catch{y("error",si)}finally{l(fs,!1)}}async function Ia(){l(Mt,!0);try{const r={...e(g)};r.backupS3SecretKey||delete r.backupS3SecretKey;const i=await al(r);if(i.error)throw new Error(i.error);e(g).backupS3SecretKey&&l(At,!0),l(g,{...e(g),backupS3SecretKey:""}),y("success",Cl)}catch(r){y("error",r.message||Ll)}finally{l(Mt,!1)}}async function tr(){l(gs,!0);try{const r={...e(g)};r.backupS3SecretKey||delete r.backupS3SecretKey;const i=await al(r);if(i.error)throw new Error(i.error);e(g).backupS3SecretKey&&l(At,!0),l(g,{...e(g),backupS3SecretKey:""}),y("success",Cl)}catch(r){y("error",r.message||Ll)}finally{l(gs,!1)}}async function sr(){l(hs,!0),l(yt,null),l(Ss,"");try{const r=await vn(e(g));if(r.error)throw new Error(r.error);l(yt,"success"),l(Ss,$c)}catch(r){l(yt,"error"),l(Ss,r.message||Oc)}finally{l(hs,!1)}}async function ar(){l(ms,!0);try{const r=await un();if(r.error)throw new Error(r.error);l(Yt,r.lastRunAt),l(vt,r.lastStatus??""),y("success",cd)}catch(r){y("error",r.message||dd);const i=await el().catch(()=>null);i&&(l(Yt,i.backupLastRunAt),l(vt,i.backupLastStatus))}finally{l(ms,!1)}}async function wa(){l(zt,!0);try{const r=await Zr();if(r.error)throw new Error(r.error);l(Vs,r.backups??[])}catch(r){y("error",r.message||zc)}finally{l(zt,!1)}}function lr(r){l(Pt,r),l(Rs,!0)}async function rr(){if(e(Pt)){l(Jt,e(Pt).key);try{const r=await pn(e(Pt).key);if(r.error)throw new Error(r.error);y("success",Xc),l(be,await Sa()),l(Rs,!1),l(Pt,null)}catch(r){y("error",r.message||Yc)}finally{l(Jt,null)}}}const nr=new Set(["project","runners","repository","integrations","mcp","users","backup"]);$t(()=>(Re(),e(ye)),()=>{Re().user&&Re().user.role!=="admin"&&nr.has(e(ye))&&l(ye,"account")}),$t(()=>(e(ye),e(Ws)),()=>{e(ye)==="runners"&&e(Ws)&&Il()}),$t(()=>(e(g),e(At)),()=>{l(dt,!!(e(g).backupS3Bucket&&e(g).backupS3AccessKey&&e(At)))}),$t(()=>(e(dt),e(js)),()=>{e(dt)&&!e(js)&&(l(js,!0),wa())}),$t(()=>e(Ut),()=>{l(Us,JSON.stringify({mcpServers:{plum:{type:"http",url:`${Nt}/mcp`,headers:{Authorization:`ApiKey ${e(Ut)}`}}}},null,2))}),$t(()=>Nt,()=>{l(Fs,["- name: Run Plum tests"," run: |",` curl -X POST ${Nt}/trigger \\`,' -H "Authorization: ApiKey ${{ secrets.PLUM_API_KEY }}" \\',' -H "Content-Type: application/json" \\',` -d '{"tag": "@smoke", "baseUrl": "https://your-pr-preview-url"}'`].join(`
|
|
7
|
+
`))}),$t(()=>(Re(),La),()=>{var r;l(Aa,((r=Re().user)==null?void 0:r.role)==="admin"?[{id:"project",label:ol},{id:"runners",label:il},{id:"repository",label:kn},{id:"integrations",label:cl},{id:"mcp",label:An},{id:"account",label:Ca},{id:"users",label:dl},{id:"backup",label:La}]:[{id:"account",label:Ca}])}),Ur(),Nr();var $a=Sv();Or(r=>{Kr.title=Cn});var Oa=he($a);Xr(Oa,{get toast(){return e(Ks)}});var Xs=t(Oa,2),or=a(Xs);or.textContent=Ln,s(Xs);var Na=t(Xs,2),Ys=a(Na),Da=a(Ys);Ot(Da,5,()=>e(Aa),ws,(r,i)=>{var I=kd(),qe=a(I,!0);s(I),d(()=>{ct(I,"active",e(ye)===e(i).id),v(qe,e(i).label)}),Ye("click",I,()=>ya(e(i).id)),n(r,I)}),s(Da),s(Ys);var Ba=t(Ys,2),ir=a(Ba);{var cr=r=>{var i=yd(),I=a(i),qe=a(I);qe.textContent=ol;var zs=t(qe,2);zs.textContent=Pn,s(I);var at=t(I,2),He=a(at),ut=a(He);ut.textContent=zn;var _t=t(ut,2);M(_t),C(_t,"placeholder",Jn),s(He);var It=t(He,2),we=a(It),Te=a(we);Te.textContent=qn;var Ve=t(Te,2);Ve.textContent=Qn,s(we);var je=t(we,2);M(je),C(je,"placeholder",Zn),s(It);var bt=t(It,2);{var Ae=b=>{var R=xd(),u=a(R);u.textContent=eo;var h=t(u,2);C(h,"alt",to),s(R),d(()=>C(h,"src",e(be).logoUrl)),Ye("error",h,N=>N.target.style.display="none"),n(b,R)};O(bt,b=>{e(be).logoUrl&&b(Ae)})}var Se=t(bt,2),Pe=a(Se),Ue=a(Pe);Ue.textContent=so;var We=t(Ue,2);We.textContent=ao,s(Pe);var fe=t(Pe,2);d(()=>{e(be),Is(()=>{})}),Ot(fe,5,()=>Tl,ws,(b,R)=>{var u=Ad(),h={},N=a(u,!0);s(u),d(()=>{h!==(h=e(R))&&(u.value=(u.__value=e(R))==null?"":e(R)),v(N,e(R))}),n(b,u)}),s(fe),s(Se);var Z=t(Se,2),Y=a(Z),oe=a(Y);oe.textContent=lo;var S=t(oe,2);S.textContent=ro,s(Y);var ee=t(Y,2);M(ee),C(ee,"max",Vr),s(Z);var B=t(Z,2),ie=a(B),de=a(ie);de.textContent=no;var Ee=t(de,2);Ee.textContent=oo,s(ie);var z=t(ie,2);s(B);var w=t(B,2),k=a(w);q(k,{get disabled(){return e(ns)},$$events:{click:Kl},children:(b,R)=>{K();var u=F();d(h=>v(u,h),[()=>vo(e(ns))],x),n(b,u)},$$slots:{default:!0}}),s(w),s(at),s(i),d(()=>{C(z,"aria-checked",jt()==="dark"),ct(z,"on",jt()==="dark")}),X(_t,()=>e(be).name,b=>P(be,e(be).name=b)),X(je,()=>e(be).logoUrl,b=>P(be,e(be).logoUrl=b)),$s(fe,()=>e(be).timezone,b=>P(be,e(be).timezone=b)),X(ee,()=>e(be).maxRetries,b=>P(be,e(be).maxRetries=b)),Ye("click",z,$l),ze(3,i,()=>Je,()=>({y:6,duration:180})),n(r,i)},dr=r=>{var i=Ne(),I=he(i);{var qe=at=>{var He=Md(),ut=a(He),_t=a(ut);_t.textContent=il;var It=t(_t,2);It.textContent=Tn,s(ut);var we=t(ut,2),Te=a(we),Ve=a(Te),je=a(Ve);je.textContent=po;var bt=t(je,2);bt.textContent=uo,s(Ve);var Ae=t(Ve,2);s(Te);var Se=t(Te,2);{var Pe=Z=>{var Y=Dd();Ot(Y,5,()=>e(Be),oe=>oe.id,(oe,S)=>{var ee=Ne();const B=x(()=>e(xe)[e(S).id]);var ie=he(ee);{var de=z=>{var w=Id(),k=a(w),b=a(k),R=a(b);R.textContent=Os;var u=t(R,2);M(u),C(u,"placeholder",hl),s(b);var h=t(b,2),N=a(h),J=a(N);J.nodeValue=`${ul} `;var G=t(J),$=a(G);$.nodeValue=`${_l} `;var le=t($,2);le.nodeValue=` ${bl}`,s(G),s(N);var te=t(N,2);M(te),C(te,"placeholder",fl),s(h);var se=t(h,2),U=a(se);U.textContent=El;var H=t(U,2);M(H),C(H,"placeholder",bo),s(se);var A=t(se,2),p=a(A);p.textContent=gl;var m=t(p,2);d(()=>{e(ue),Is(()=>{e(S)})}),Ot(m,5,()=>qa,ws,(f,ae)=>{var ce=Pd(),Qe={},lt=a(ce,!0);s(ce),d(()=>{Qe!==(Qe=e(ae).id)&&(ce.value=(ce.__value=e(ae).id)==null?"":e(ae).id),v(lt,e(ae).label)}),n(f,ce)}),s(m),s(A),s(k);var L=t(k,2);{var V=f=>{var ae=Td(),ce=a(ae,!0);s(ae),d(()=>v(ce,e(pt))),n(f,ae)};O(L,f=>{e(pt)&&f(V)})}var j=t(L,2),D=a(j);q(D,{get disabled(){return e(Qt)},$$events:{click:()=>Fl(e(S).id)},children:(f,ae)=>{K();var ce=F();d(Qe=>v(ce,Qe),[()=>xo(e(Qt))],x),n(f,ce)},$$slots:{default:!0}});var ve=t(D,2);q(ve,{variant:"ghost",get disabled(){return e(Qt)},$$events:{click:()=>{l(xs,null),l(pt,"")}},children:(f,ae)=>{K();var ce=F();ce.nodeValue=Qa,n(f,ce)},$$slots:{default:!0}}),s(j),s(w),d(()=>{C(R,"for",`edit-name-${e(S).id??""}`),C(u,"id",`edit-name-${e(S).id??""}`),C(N,"for",`edit-url-${e(S).id??""}`),C(te,"id",`edit-url-${e(S).id??""}`),C(U,"for",`edit-token-${e(S).id??""}`),C(H,"id",`edit-token-${e(S).id??""}`),C(p,"for",`edit-browser-${e(S).id??""}`),C(m,"id",`edit-browser-${e(S).id??""}`)}),X(u,()=>e(ue).name,f=>P(ue,e(ue).name=f)),X(te,()=>e(ue).url,f=>P(ue,e(ue).url=f)),X(H,()=>e(ue).token,f=>P(ue,e(ue).token=f)),$s(m,()=>e(ue).browser,f=>P(ue,e(ue).browser=f)),ze(3,w,()=>Je,()=>({y:-4,duration:180})),n(z,w)},Ee=z=>{var w=Nd(),k=a(w),b=t(a(k),2),R=a(b,!0);s(b);var u=t(b,2),h=a(u,!0);s(u);var N=t(u,2);{var J=L=>{var V=Ne(),j=he(V);{var D=f=>{var ae=wd(),ce=a(ae);s(ae),d(()=>v(ce,`${e(B).latency??""}ms`)),n(f,ae)},ve=f=>{var ae=$d();ae.textContent=fo,d(()=>C(ae,"title",e(B).error)),n(f,ae)};O(j,f=>{e(B).ok?f(D):f(ve,!1)})}n(L,V)},G=L=>{var V=Ne(),j=he(V);{var D=ve=>{var f=Od();f.textContent=Eo,n(ve,f)};O(j,ve=>{var f;(f=e(B))!=null&&f.loading&&ve(D)},!0)}n(L,V)};O(N,L=>{e(B)&&!e(B).loading?L(J):L(G,!1)})}s(k);var $=t(k,2),le=a($,!0);s($);var te=t($,2),se=a(te);q(se,{variant:"ghost",size:"sm",$$events:{click:()=>Ul(e(S))},children:(L,V)=>{K();var j=F();j.nodeValue=jr,n(L,j)},$$slots:{default:!0}});var U=t(se,2);const H=x(()=>e(ks)===e(S).id);q(U,{variant:"ghost",size:"sm",get disabled(){return e(H)},$$events:{click:()=>Bl(e(S).id,e(S).name)},children:(L,V)=>{K();var j=F();d(D=>v(j,D),[()=>yo(e(ks)===e(S).id)],x),n(L,j)},$$slots:{default:!0}});var A=t(U,2);const p=x(()=>e(Ls)===e(S).id);q(A,{variant:"ghost",size:"sm",get disabled(){return e(p)},$$events:{click:()=>Dl(e(S).id,e(S).name)},children:(L,V)=>{K();var j=F();d(D=>v(j,D),[()=>Po(e(Ls)===e(S).id)],x),n(L,j)},$$slots:{default:!0}});var m=t(A,2);q(m,{variant:"danger",size:"sm",$$events:{click:()=>Nl(e(S).id,e(S).name)},children:(L,V)=>{K();var j=F();j.nodeValue=go,n(L,j)},$$slots:{default:!0}}),s(te),s(w),d(()=>{v(R,e(S).name),v(h,e(S).browser),v(le,e(S).url)}),ze(3,w,()=>Je,()=>({y:-4,duration:180})),n(z,w)};O(ie,z=>{e(xs)===e(S).id?z(de):z(Ee,!1)})}n(oe,ee)}),s(Y),n(Z,Y)};O(Se,Z=>{e(Be).length>0&&Z(Pe)})}var Ue=t(Se,2);{var We=Z=>{var Y=Fd(),oe=a(Y);oe.textContent=ho;var S=t(oe,2),ee=a(S),B=a(ee);B.textContent=Os;var ie=t(B,2);M(ie),C(ie,"placeholder",hl),s(ee);var de=t(ee,2),Ee=a(de),z=a(Ee);z.nodeValue=`${ul} `;var w=t(z),k=a(w);k.nodeValue=`${_l} `;var b=t(k,2);b.nodeValue=` ${bl}`,s(w),s(Ee);var R=t(Ee,2);M(R),C(R,"placeholder",fl),s(de);var u=t(de,2),h=a(u);h.textContent=El;var N=t(h,2);M(N),C(N,"placeholder",_o),s(u);var J=t(u,2),G=a(J);G.textContent=gl;var $=t(G,2);d(()=>{e(pe),Is(()=>{})}),Ot($,5,()=>qa,ws,(A,p)=>{var m=Bd(),L={},V=a(m,!0);s(m),d(()=>{L!==(L=e(p).id)&&(m.value=(m.__value=e(p).id)==null?"":e(p).id),v(V,e(p).label)}),n(A,m)}),s($),s(J),s(S);var le=t(S,2);{var te=A=>{var p=Ud(),m=a(p,!0);s(p),d(()=>v(m,e(Tt))),n(A,p)};O(le,A=>{e(Tt)&&A(te)})}var se=t(le,2),U=a(se);q(U,{get disabled(){return e(qt)},$$events:{click:Ol},children:(A,p)=>{K();var m=F();d(L=>v(m,L),[()=>Ao(e(qt))],x),n(A,m)},$$slots:{default:!0}});var H=t(U,2);q(H,{variant:"ghost",get disabled(){return e(qt)},$$events:{click:()=>{l(Cs,!1),l(Tt,"")}},children:(A,p)=>{K();var m=F();m.nodeValue=Qa,n(A,m)},$$slots:{default:!0}}),s(se),s(Y),X(ie,()=>e(pe).name,A=>P(pe,e(pe).name=A)),X(R,()=>e(pe).url,A=>P(pe,e(pe).url=A)),X(N,()=>e(pe).token,A=>P(pe,e(pe).token=A)),$s($,()=>e(pe).browser,A=>P(pe,e(pe).browser=A)),ze(3,Y,()=>Je,()=>({y:-6,duration:200})),n(Z,Y)},fe=Z=>{var Y=Kd(),oe=a(Y);q(oe,{variant:"ghost",$$events:{click:()=>l(Cs,!0)},children:(S,ee)=>{K();var B=F();B.nodeValue=mo,n(S,B)},$$slots:{default:!0}}),s(Y),n(Z,Y)};O(Ue,Z=>{e(Cs)?Z(We):Z(fe,!1)})}s(we),s(He),d(()=>{C(Ae,"aria-checked",xa()),ct(Ae,"on",xa())}),Ye("click",Ae,wl),ze(3,He,()=>Je,()=>({y:6,duration:180})),n(at,He)},zs=at=>{var He=Ne(),ut=he(He);{var _t=we=>{var Te=Gd(),Ve=a(Te),je=a(Ve);je.textContent=xn;var bt=t(je,2);bt.textContent=In,s(Ve);var Ae=t(Ve,2),Se=a(Ae),Pe=a(Se),Ue=a(Pe);Ue.textContent=To;var We=t(Ue,2);M(We),C(We,"placeholder",ml),s(Pe);var fe=t(Pe,2),Z=a(fe);Z.textContent=Io;var Y=t(Z,2);M(Y),C(Y,"placeholder",Sl),s(fe),s(Se);var oe=t(Se,2),S=a(oe);S.nodeValue=`${wo} `;var ee=t(S),B=a(ee);s(ee);var ie=t(ee,2),de=a(ie);s(ie),s(oe);var Ee=t(oe,2),z=a(Ee);q(z,{get disabled(){return e(os)},$$events:{click:Vl},children:(p,m)=>{K();var L=F();d(V=>v(L,V),[()=>Ho(e(os))],x),n(p,L)},$$slots:{default:!0}}),s(Ee),s(Ae);var w=t(Ae,2),k=a(w);k.textContent=No;var b=t(k,2),R=a(b);R.nodeValue=`${Do} `;var u=t(R);u.textContent=Bo;var h=t(u);h.nodeValue=` ${Uo}`,s(b),s(w);var N=t(w,2),J=a(N),G=a(J),$=a(G);$.textContent=Fo;var le=t($,2);M(le),s(G);var te=t(G,2),se=a(te);se.textContent=Ko;var U=t(se,2);M(U),s(te),s(J);var H=t(J,2),A=a(H);q(A,{variant:"ghost",get disabled(){return e(is)},$$events:{click:jl},children:(p,m)=>{K();var L=F();d(V=>v(L,V),[()=>Vo(e(is))],x),n(p,L)},$$slots:{default:!0}}),s(H),s(N),s(Te),d(()=>{v(B,`${(e(Ce).testCasePrefix||ml)??""}-001`),v(de,`${(e(Ce).testSuitePrefix||Sl)??""}-001`),C(le,"placeholder",e(Ce).testCasePrefix),C(U,"placeholder",e(Ce).testSuitePrefix)}),X(We,()=>e(Ce).testCasePrefix,p=>P(Ce,e(Ce).testCasePrefix=p)),X(Y,()=>e(Ce).testSuitePrefix,p=>P(Ce,e(Ce).testSuitePrefix=p)),X(le,()=>e(st).testCasePrefix,p=>P(st,e(st).testCasePrefix=p)),X(U,()=>e(st).testSuitePrefix,p=>P(st,e(st).testSuitePrefix=p)),ze(3,Te,()=>Je,()=>({y:6,duration:180})),n(we,Te)},It=we=>{var Te=Ne(),Ve=he(Te);{var je=Ae=>{var Se=Hd(),Pe=a(Se),Ue=a(Pe);Ue.textContent=cl;var We=t(Ue,2);We.textContent=wn,s(Pe);var fe=t(Pe,2),Z=a(fe);Z.textContent=jo;var Y=t(Z,2),oe=a(Y),S=a(oe);S.textContent=Wo;var ee=t(S,2);ee.textContent=Xo,s(oe);var B=t(oe,2);M(B),C(B,"placeholder",Yo),s(Y);var ie=t(Y,2),de=a(ie),Ee=a(de);Ee.textContent=zo;var z=t(Ee,2);z.textContent=Jo,s(de);var w=t(de,2);M(w),C(w,"placeholder",qo),s(ie);var k=t(ie,2),b=a(k),R=a(b);R.textContent=Qo;var u=t(R,2);u.textContent=Zo,s(b);var h=t(b,2);M(h),C(h,"placeholder",ei),s(k);var N=t(k,2);q(N,{get disabled(){return e(fs)},$$events:{click:er},children:(D,ve)=>{K();var f=F();d(ae=>v(f,ae),[()=>vi(e(fs))],x),n(D,f)},$$slots:{default:!0}}),s(fe);var J=t(fe,2),G=a(J);G.textContent=ai;var $=t(G,2),le=a($);le.nodeValue=`${li} `;var te=t(le);te.textContent=`POST ${Nt}/trigger`;var se=t(te);se.nodeValue=` ${ri} `;var U=t(se,2);U.nodeValue=` ${ni} `;var H=t(U);H.textContent=oi;var A=t(H);A.nodeValue=` ${ii} `;var p=t(A);hn(p,{variant:"external",children:(D,ve)=>{K();var f=F();f.nodeValue=ci,n(D,f)},$$slots:{default:!0}}),K(),s($);var m=t($,2),L=a(m,!0);s(m);var V=t(m,2),j=a(V);q(j,{variant:"ghost",$$events:{click:Zl},children:(D,ve)=>{K();var f=F();d(ae=>v(f,ae),[()=>pi(e(Hs))],x),n(D,f)},$$slots:{default:!0}}),s(V),s(J),s(Se),d(()=>v(L,e(Fs))),X(B,()=>e(De).discordWebhookUrl,D=>P(De,e(De).discordWebhookUrl=D)),X(w,()=>e(De).slackWebhookUrl,D=>P(De,e(De).slackWebhookUrl=D)),X(h,()=>e(De).notifyPublicUrl,D=>P(De,e(De).notifyPublicUrl=D)),Ye("click",H,()=>ya("mcp")),ze(3,Se,()=>Je,()=>({y:6,duration:180})),n(Ae,Se)},bt=Ae=>{var Se=Ne(),Pe=he(Se);{var Ue=fe=>{var Z=qd(),Y=a(Z),oe=a(Y);oe.textContent=yn;var S=t(oe,2);S.textContent=$n,s(Y);var ee=t(Y,2),B=a(ee);B.textContent=ui;var ie=t(B,2);{var de=k=>{var b=Vd(),R=he(b);R.textContent=_i;var u=t(R,2),h=a(u);q(h,{get disabled(){return e(Kt)},$$events:{click:Ta},children:(N,J)=>{K();var G=F();d($=>v(G,$),[()=>ki(e(Kt))],x),n(N,G)},$$slots:{default:!0}}),s(u),n(k,b)},Ee=k=>{var b=zd(),R=he(b),u=a(R);M(u);var h=t(u,2),N=a(h);{var J=p=>{var m=jd();n(p,m)},G=p=>{var m=Wd();n(p,m)};O(N,p=>{e(Ft)?p(J):p(G,!1)})}s(h);var $=t(h,2);C($,"title",Ei);var le=a($);{var te=p=>{var m=Xd();n(p,m)},se=p=>{var m=Yd();n(p,m)};O(le,p=>{e(Ms)?p(te):p(se,!1)})}s($),s(R);var U=t(R,2);U.textContent=gi;var H=t(U,2),A=a(H);q(A,{variant:"ghost",get disabled(){return e(Kt)},$$events:{click:Ta},children:(p,m)=>{K();var L=F();d(V=>v(L,V),[()=>xi(e(Kt))],x),n(p,L)},$$slots:{default:!0}}),s(H),d(()=>{C(u,"type",e(Ft)?"text":"password"),Wr(u,e(Ut)),C(h,"title",e(Ft)?bi:fi)}),Ye("click",h,()=>l(Ft,!e(Ft))),Ye("click",$,ql),n(k,b)};O(ie,k=>{e(Es)?k(Ee,!1):k(de)})}s(ee);var z=t(ee,2);{var w=k=>{var b=Jd(),R=a(b);R.textContent=hi;var u=t(R,2),h=a(u);h.nodeValue=`${mi} `;var N=t(h,2,!0);N.nodeValue=Si,s(u);var J=t(u,2),G=a(J,!0);s(J);var $=t(J,2),le=a($);q(le,{variant:"ghost",$$events:{click:Ql},children:(te,se)=>{K();var U=F();d(H=>v(U,H),[()=>Ai(e(Gs))],x),n(te,U)},$$slots:{default:!0}}),s($),s(b),d(()=>v(G,e(Us))),n(k,b)};O(z,k=>{e(Es)&&k(w)})}s(Z),ze(3,Z,()=>Je,()=>({y:6,duration:180})),n(fe,Z)},We=fe=>{var Z=Ne(),Y=he(Z);{var oe=ee=>{var B=ev(),ie=a(B),de=a(ie);de.textContent=Ca;var Ee=t(de,2);Ee.textContent=On,s(ie);var z=t(ie,2),w=a(z);w.textContent=yi;var k=t(w,2),b=a(k);b.textContent=Os;var R=t(b,2);M(R),s(k);var u=t(k,2),h=a(u);h.textContent=Za;var N=t(h,2);M(N),s(u);var J=t(u,2);{var G=T=>{var ne=Qd(),_e=a(ne,!0);s(ne),d(()=>v(_e,e(ds))),n(T,ne)};O(J,T=>{e(ds)&&T(G)})}var $=t(J,2),le=a($);const te=x(()=>e(cs)||!e(Ge).name||!e(Ge).email);q(le,{get disabled(){return e(te)},$$events:{click:Wl},children:(T,ne)=>{K();var _e=F();d(Ie=>v(_e,Ie),[()=>Ui(e(cs))],x),n(T,_e)},$$slots:{default:!0}}),s($),s(z);var se=t(z,2),U=a(se);U.textContent=Pi;var H=t(U,2),A=a(H);A.textContent=Ti;var p=t(A,2);M(p),s(H);var m=t(H,2),L=a(m);L.textContent=Ii;var V=t(L,2);M(V),s(m);var j=t(m,2),D=a(j);D.textContent=wi;var ve=t(D,2);M(ve),s(j);var f=t(j,2);{var ae=T=>{var ne=Zd(),_e=a(ne,!0);s(ne),d(()=>v(_e,e(Bt))),n(T,ne)};O(f,T=>{e(Bt)&&T(ae)})}var ce=t(f,2),Qe=a(ce);const lt=x(()=>e(us)||!e(Le).currentPassword||!e(Le).newPassword);q(Qe,{get disabled(){return e(lt)},$$events:{click:zl},children:(T,ne)=>{K();var _e=F();d(Ie=>v(_e,Ie),[()=>Fi(e(us))],x),n(T,_e)},$$slots:{default:!0}}),s(ce),s(se);var ft=t(se,2),W=a(ft),ke=a(W);q(ke,{variant:"danger",size:"sm",$$events:{click:Jl},children:(T,ne)=>{K();var _e=F();_e.nodeValue=$i,n(T,_e)},$$slots:{default:!0}}),s(W),s(ft),s(B),X(R,()=>e(Ge).name,T=>P(Ge,e(Ge).name=T)),X(N,()=>e(Ge).email,T=>P(Ge,e(Ge).email=T)),X(p,()=>e(Le).currentPassword,T=>P(Le,e(Le).currentPassword=T)),X(V,()=>e(Le).newPassword,T=>P(Le,e(Le).newPassword=T)),X(ve,()=>e(Le).confirmPassword,T=>P(Le,e(Le).confirmPassword=T)),ze(3,B,()=>Je,()=>({y:6,duration:180})),n(ee,B)},S=ee=>{var B=Ne(),ie=he(B);{var de=z=>{var w=ov(),k=a(w),b=a(k);b.textContent=dl;var R=t(b,2);R.textContent=Nn,s(k);var u=t(k,2);rl(u,{title:Ki,confirmLabel:Mi,get open(){return e(ps)},set open(W){l(ps,W)},$$events:{confirm:()=>{var W,ke;return Yl((W=e(Dt))==null?void 0:W.id,(ke=e(Dt))==null?void 0:ke.name)}},children:(W,ke)=>{var T=Ne(),ne=he(T);{var _e=Ie=>{var Et=tv(),gt=he(Et);gt.nodeValue=`${Gi} `;var rt=t(gt),wt=a(rt,!0);s(rt);var nt=t(rt,1,!0);nt.nodeValue=Hi,d(()=>v(wt,e(Dt).name)),n(Ie,Et)};O(ne,Ie=>{e(Dt)&&Ie(_e)})}n(W,T)},$$slots:{default:!0},$$legacy:!0});var h=t(u,2),N=a(h);N.textContent=Vi;var J=t(N,2),G=a(J),$=a(G);$.textContent=Os;var le=t($,2);M(le),C(le,"placeholder",ji),s(G);var te=t(G,2),se=a(te);se.textContent=Za;var U=t(se,2);M(U),C(U,"placeholder",Wi),s(te),s(J);var H=t(J,2),A=a(H),p=a(A);p.textContent=Xi;var m=t(p,2);M(m),s(A);var L=t(A,2),V=a(L);V.textContent=Yi;var j=t(V,2);d(()=>{e(me),Is(()=>{})});var D=a(j);D.value=(D.__value="user")==null?"":"user",D.textContent=zi;var ve=t(D);ve.value=(ve.__value="admin")==null?"":"admin",ve.textContent=Ji,s(j),s(L),s(H);var f=t(H,2);{var ae=W=>{var ke=sv(),T=a(ke,!0);s(ke),d(()=>v(T,e(Wt))),n(W,ke)};O(f,W=>{e(Wt)&&W(ae)})}var ce=t(f,2),Qe=a(ce);q(Qe,{get disabled(){return e(vs)},$$events:{click:Xl},children:(W,ke)=>{K();var T=F();d(ne=>v(T,ne),[()=>ec(e(vs))],x),n(W,T)},$$slots:{default:!0}}),s(ce),s(h);var lt=t(h,2);{var ft=W=>{var ke=nv();Ot(ke,5,()=>e(kt),T=>T.id,(T,ne)=>{var _e=rv(),Ie=a(_e),Et=a(Ie),gt=a(Et,!0);s(Et);var rt=t(Et,2),wt=a(rt,!0);s(rt),s(Ie);var nt=t(Ie,2),As=a(nt,!0);s(nt);var Js=t(nt,2);{var Zt=Ze=>{var Fe=av();C(Fe,"title",qi),Ye("click",Fe,()=>{l(Dt,{id:e(ne).id,name:e(ne).name}),l(ps,!0)}),n(Ze,Fe)},es=Ze=>{var Fe=lv();Fe.textContent=Qi,n(Ze,Fe)};O(Js,Ze=>{var Fe;e(ne).id!==((Fe=Re().user)==null?void 0:Fe.id)?Ze(Zt):Ze(es,!1)})}s(_e),d(()=>{v(gt,e(ne).name),v(wt,e(ne).email),Gr(nt,`role-chip ${e(ne).role??""} svelte-1b139ls`),v(As,e(ne).role)}),n(T,_e)}),s(ke),n(W,ke)};O(lt,W=>{e(kt).length>0&&W(ft)})}s(w),X(le,()=>e(me).name,W=>P(me,e(me).name=W)),X(U,()=>e(me).email,W=>P(me,e(me).email=W)),X(m,()=>e(me).password,W=>P(me,e(me).password=W)),$s(j,()=>e(me).role,W=>P(me,e(me).role=W)),ze(3,w,()=>Je,()=>({y:6,duration:180})),n(z,w)},Ee=z=>{var w=Ne(),k=he(w);{var b=R=>{var u=mv(),h=a(u),N=a(h);N.textContent=La;var J=t(N,2);J.textContent=Dn,s(h);var G=t(h,2),$=a(G);$.textContent=ac;var le=t($,2),te=a(le),se=a(te);se.textContent=lc;var U=t(se,2),H=a(U);H.nodeValue=`${rc} `;var A=t(H,2);A.nodeValue=` ${nc}`,s(U);var p=t(U,2);q(p,{get disabled(){return e(bs)},$$events:{click:Ml},children:(_,re)=>{K();var Q=F();d(ge=>v(Q,ge),[()=>bd(e(bs))],x),n(_,Q)},$$slots:{default:!0}}),s(te);var m=t(te,4),L=a(m);L.textContent=oc;var V=t(L,2);V.textContent=ic;var j=t(V,2),D=a(j),ve=a(D);Yr(ve,_=>l(Xt,_),()=>e(Xt));var f=t(ve,2),ae=a(f,!0);s(f),s(D);var ce=t(D,2);const Qe=x(()=>!e(xt)||e(_s));q(ce,{get disabled(){return e(Qe)},$$events:{click:Gl},children:(_,re)=>{K();var Q=F();d(ge=>v(Q,ge),[()=>fd(e(_s))],x),n(_,Q)},$$slots:{default:!0}}),s(j),s(m),s(le);var lt=t(le,2),ft=a(lt),W=a(ft),ke=a(W);ke.nodeValue=`${dc} `;var T=t(ke);T.textContent=vc,s(W);var ne=t(W,2);s(ft);var _e=t(ft,2);q(_e,{variant:"ghost",get disabled(){return e(gs)},$$events:{click:tr},children:(_,re)=>{K();var Q=F();d(ge=>v(Q,ge),[()=>uc(e(gs))],x),n(_,Q)},$$slots:{default:!0}}),s(lt);var Ie=t(lt,2),Et=a(Ie,!0);s(Ie),s(G);var gt=t(G,2),rt=a(gt);rt.textContent=_c;var wt=t(rt,2),nt=a(wt);nt.nodeValue=`${bc} `;var As=t(nt);As.textContent=Rl;var Js=t(As);Js.nodeValue=` ${fc}`,s(wt);var Zt=t(wt,2),es=a(Zt),Ze=a(es),Fe=a(Ze);Fe.textContent=Rl;var vr=t(Fe,2);vr.textContent=Ec,s(Ze);var qs=t(Ze,2);M(qs),C(qs,"placeholder",gc),s(es);var Ua=t(es,2),Qs=a(Ua),Fa=a(Qs);Fa.textContent=hc;var Ka=t(Fa,2),Ma=a(Ka);Ma.nodeValue=`${mc} `;var pr=t(Ma,2);pr.nodeValue=` ${Sc}`,s(Ka),s(Qs);var Zs=t(Qs,2);M(Zs),C(Zs,"placeholder",Rc),s(Ua),s(Zt);var ea=t(Zt,2),ta=a(ea),sa=a(ta),ur=a(sa);ur.textContent=Cc,s(sa);var aa=t(sa,2);M(aa),C(aa,"placeholder",Lc),s(ta);var Ga=t(ta,2),la=a(Ga),Ha=a(la);Ha.textContent=kc;var _r=t(Ha,2);_r.textContent=xc,s(la);var ra=t(la,2);M(ra),C(ra,"placeholder",Ac),s(Ga),s(ea);var na=t(ea,2),oa=a(na),ia=a(oa),br=a(ia);br.textContent=yc,s(ia);var ca=t(ia,2);M(ca),C(ca,"placeholder",Pc),s(oa);var Va=t(oa,2),da=a(Va),ja=a(da);ja.textContent=Tc;var Wa=t(ja,2),fr=a(Wa,!0);s(Wa),s(da);var va=t(da,2);M(va),s(Va),s(na);var pa=t(na,2),Xa=a(pa);q(Xa,{variant:"ghost",get disabled(){return e(hs)},$$events:{click:sr},children:(_,re)=>{K();var Q=F();d(ge=>v(Q,ge),[()=>hd(e(hs))],x),n(_,Q)},$$slots:{default:!0}});var Er=t(Xa,2);q(Er,{get disabled(){return e(Mt)},$$events:{click:Ia},children:(_,re)=>{K();var Q=F();d(ge=>v(Q,ge),[()=>md(e(Mt))],x),n(_,Q)},$$slots:{default:!0}}),s(pa);var gr=t(pa,2);{var hr=_=>{var re=iv(),Q=a(re);s(re),d(()=>{ct(re,"s3-test-success",e(yt)==="success"),ct(re,"s3-test-error",e(yt)==="error"),v(Q,`${(e(yt)==="success"?"✓":"✗")??""}
|
|
8
|
+
${e(Ss)??""}`)}),n(_,re)};O(gr,_=>{e(yt)&&_(hr)})}s(gt);var Ya=t(gt,2);const mr=x(()=>kl(!1)),Sr=x(()=>!!e(Jt));rl(Ya,{title:jc,get confirmLabel(){return e(mr)},get loading(){return e(Sr)},get open(){return e(Rs)},set open(_){l(Rs,_)},$$events:{confirm:rr},children:(_,re)=>{var Q=Ne(),ge=he(Q);{var ht=ot=>{var $e=F();d(Oe=>v($e,Oe),[()=>Wc(e(Pt).key)],x),n(ot,$e)};O(ge,ot=>{e(Pt)&&ot(ht)})}n(_,Q)},$$slots:{default:!0},$$legacy:!0});var ys=t(Ya,2),ua=a(ys),za=a(ua);za.textContent=Kc;var Rr=t(za,2);{var Cr=_=>{q(_,{variant:"ghost",get disabled(){return e(zt)},$$events:{click:wa},children:(re,Q)=>{K();var ge=F();d(ht=>v(ge,ht),[()=>xl(e(zt))],x),n(re,ge)},$$slots:{default:!0}})};O(Rr,_=>{e(dt)&&_(Cr)})}s(ua);var Lr=t(ua,2);{var kr=_=>{var re=cv();re.textContent=Gc,n(_,re)},xr=_=>{var re=uv(),Q=he(re);Q.textContent=Mc;var ge=t(Q,2);{var ht=$e=>{var Oe=dv(),mt=a(Oe,!0);s(Oe),d(Xe=>v(mt,Xe),[()=>e(zt)?xl(!0):Hc],x),n($e,Oe)},ot=$e=>{var Oe=pv();Ot(Oe,5,()=>e(Vs),mt=>mt.key,(mt,Xe)=>{var Gt=vv(),Ht=a(Gt),ts=a(Ht),ss=a(ts,!0);s(ts);var as=t(ts,2),ba=a(as);s(as),s(Ht);var Ps=t(Ht,2);const Ts=x(()=>e(Jt)===e(Xe).key);q(Ps,{variant:"ghost",get disabled(){return e(Ts)},$$events:{click:()=>lr(e(Xe))},children:(ls,Ke)=>{K();var St=F();d(et=>v(St,et),[()=>kl(e(Jt)===e(Xe).key)],x),n(ls,St)},$$slots:{default:!0}}),s(Gt),d((ls,Ke)=>{v(ss,e(Xe).key),v(ba,`${ls??""} · ${Ke??""}`)},[()=>new Date(e(Xe).lastModified).toLocaleString(),()=>Ld(e(Xe).size)],x),n(mt,Gt)}),s(Oe),n($e,Oe)};O(ge,$e=>{e(Vs).length===0?$e(ht):$e(ot,!1)})}n(_,re)};O(Lr,_=>{e(dt)?_(xr,!1):_(kr)})}s(ys);var _a=t(ys,2),Ja=a(_a);Ja.textContent=Jc;var Ar=t(Ja,2);{var yr=_=>{var re=_v();re.textContent=qc,n(_,re)},Pr=_=>{var re=hv(),Q=he(re),ge=a(Q),ht=a(ge);ht.textContent=Qc;var ot=t(ht,2);s(ge),s(Q);var $e=t(Q,2),Oe=a($e),mt=a(Oe);mt.textContent=Zc;var Xe=t(mt,2),Gt=a(Xe);Gt.nodeValue=`${ed} `;var Ht=t(Gt,2);Ht.nodeValue=` ${td} `;var ts=t(Ht);ts.textContent=sd,s(Xe),s(Oe);var ss=t(Oe,2);M(ss),C(ss,"placeholder",ad),s($e);var as=t($e,2);{var ba=Ke=>{var St=gv(),et=a(St),rs=t(et);{var Tr=Rt=>{var it=bv(),fa=a(it,!0);s(it),d(Ea=>v(fa,Ea),[()=>Sd(e(vt).replace("success:",""))],x),n(Rt,it)},Ir=Rt=>{var it=Ne(),fa=he(it);{var Ea=Vt=>{var tt=fv(),ga=a(tt,!0);s(tt),d($r=>v(ga,$r),[()=>e(vt).replace("error:","")],x),n(Vt,tt)},wr=Vt=>{var tt=Ev(),ga=a(tt,!0);s(tt),d(()=>v(ga,e(vt))),n(Vt,tt)};O(fa,Vt=>{var tt;(tt=e(vt))!=null&&tt.startsWith("error:")?Vt(Ea):Vt(wr,!1)},!0)}n(Rt,it)};O(rs,Rt=>{var it;(it=e(vt))!=null&&it.startsWith("success:")?Rt(Tr):Rt(Ir,!1)})}s(St),d(Rt=>v(et,`${ld}
|
|
9
|
+
${Rt??""} — `),[()=>new Date(e(Yt)).toLocaleString()],x),n(Ke,St)};O(as,Ke=>{e(Yt)&&Ke(ba)})}var Ps=t(as,2),Ts=a(Ps);q(Ts,{variant:"ghost",get disabled(){return e(ms)},$$events:{click:ar},children:(Ke,St)=>{K();var et=F();d(rs=>v(et,rs),[()=>Rd(e(ms))],x),n(Ke,et)},$$slots:{default:!0}});var ls=t(Ts,2);q(ls,{get disabled(){return e(Mt)},$$events:{click:Ia},children:(Ke,St)=>{K();var et=F();d(rs=>v(et,rs),[()=>Cd(e(Mt))],x),n(Ke,et)},$$slots:{default:!0}}),s(Ps),d(()=>{C(ot,"aria-checked",e(g).backupEnabled),ct(ot,"active",e(g).backupEnabled)}),Ye("click",ot,()=>P(g,e(g).backupEnabled=!e(g).backupEnabled)),X(ss,()=>e(g).backupCron,Ke=>P(g,e(g).backupCron=Ke)),n(_,re)};O(Ar,_=>{e(dt)?_(Pr,!1):_(yr)})}s(_a),s(u),d((_,re,Q)=>{v(ae,e(xt)?e(xt).name:cc),C(ne,"aria-checked",e(g).backupIncludeReports),ct(ne,"active",e(g).backupIncludeReports),v(Et,_),v(fr,re),C(va,"placeholder",Q),ct(ys,"card-disabled",!e(dt)),ct(_a,"card-disabled",!e(dt))},[()=>pc(e(g).backupIncludeReports),()=>Ed(e(At)),()=>gd(e(At))],x),Ye("change",ve,Hl),Ye("click",ne,()=>P(g,e(g).backupIncludeReports=!e(g).backupIncludeReports)),X(qs,()=>e(g).backupS3Endpoint,_=>P(g,e(g).backupS3Endpoint=_)),X(Zs,()=>e(g).backupS3Region,_=>P(g,e(g).backupS3Region=_)),X(aa,()=>e(g).backupS3Bucket,_=>P(g,e(g).backupS3Bucket=_)),X(ra,()=>e(g).backupS3Prefix,_=>P(g,e(g).backupS3Prefix=_)),X(ca,()=>e(g).backupS3AccessKey,_=>P(g,e(g).backupS3AccessKey=_)),X(va,()=>e(g).backupS3SecretKey,_=>P(g,e(g).backupS3SecretKey=_)),ze(3,u,()=>Je,()=>({y:6,duration:180})),n(R,u)};O(k,R=>{e(ye)==="backup"&&R(b)},!0)}n(z,w)};O(ie,z=>{e(ye)==="users"?z(de):z(Ee,!1)},!0)}n(ee,B)};O(Y,ee=>{e(ye)==="account"?ee(oe):ee(S,!1)},!0)}n(fe,Z)};O(Pe,fe=>{e(ye)==="mcp"?fe(Ue):fe(We,!1)},!0)}n(Ae,Se)};O(Ve,Ae=>{e(ye)==="integrations"?Ae(je):Ae(bt,!1)},!0)}n(we,Te)};O(ut,we=>{e(ye)==="repository"?we(_t):we(It,!1)},!0)}n(at,He)};O(I,at=>{e(ye)==="runners"?at(qe):at(zs,!1)},!0)}n(r,i)};O(ir,r=>{e(ye)==="project"?r(cr):r(dr,!1)})}s(Ba),s(Na),n(o,$a),Fr(),Bs()}export{Kv as component};
|
package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{9.CvfGx3Hu.js → 9.BOK0GNF_.js}
RENAMED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import{h as X,a as _,t as E,s as k,e as Z}from"../chunks/
|
|
6
|
+
import{h as X,a as _,t as E,s as k,e as Z}from"../chunks/CfkUW1vA.js";import{i as ee}from"../chunks/C00jnSU2.js";import{p as se,o as ae,s as t,t as x,c as te,$ as le,m as d,d as r,g as e,k as i,j as l,x as re}from"../chunks/CeH-RgMb.js";import{i as W,s as ie,a as oe}from"../chunks/CegSvdD-.js";import{s as u,r as I,E as ne,P as ve}from"../chunks/DuAVKaL3.js";import{b as P}from"../chunks/BAvTKHxT.js";import{g as pe}from"../chunks/DiVmSEJa.js";import{c as de,s as ce,l as fe}from"../chunks/GDjpV3r7.js";import{a as me}from"../chunks/Ck6C3Fl0.js";import{t as be}from"../chunks/C7uEQ-LH.js";import{c as _e,C as ue,W as Ee,d as Le,Y as he,N as Ae,E as ge,e as Ce,f as Re,A as we,g as Se,h as xe}from"../chunks/Dlnxgs49.js";var Ie=E('<p class="checking svelte-1fbs494"></p>'),Pe=E('<p class="error svelte-1fbs494"> </p>'),Oe=E('<div class="card svelte-1fbs494"><div class="brand svelte-1fbs494"><span class="brand-serif svelte-1fbs494">Pl</span><span class="brand-sans svelte-1fbs494">um</span></div> <div class="heading svelte-1fbs494"><h1 class="title svelte-1fbs494"></h1> <p class="subtitle svelte-1fbs494"></p></div> <div class="fields svelte-1fbs494"><div class="field svelte-1fbs494"><label class="label svelte-1fbs494" for="name"></label> <input id="name" type="text" class="input svelte-1fbs494" autocomplete="name"></div> <div class="field svelte-1fbs494"><label class="label svelte-1fbs494" for="email"></label> <input id="email" type="email" class="input svelte-1fbs494" autocomplete="email"></div> <div class="field svelte-1fbs494"><label class="label svelte-1fbs494" for="password"></label> <input id="password" type="password" class="input svelte-1fbs494" autocomplete="new-password"></div></div> <!> <button class="submit-btn svelte-1fbs494"> </button></div>'),De=E('<div class="page svelte-1fbs494"><!></div>');function Ge(B,H){se(H,!1);const[U,F]=ie(),G=()=>oe(be,"$theme",U);let c=d(""),v=d(""),n=d(""),p=d(""),f=d(!1),O=d(!0);ae(async()=>{try{await de()||pe("/login")}catch{}t(O,!1)});async function K(){if(!e(c)||!e(v)||!e(n)){t(p,we);return}if(e(n).length<8){t(p,Se);return}t(p,""),t(f,!0);try{await ce({name:e(c),email:e(v),password:e(n)});const{token:s,user:o}=await fe({email:e(v),password:e(n)});me.login(s,o),window.location.href="/"}catch(s){t(p,s.message||xe)}finally{t(f,!1)}}ee();var m=De();X(s=>{le.title=_e});var Y=r(m);{var j=s=>{var o=Ie();o.textContent=ue,_(s,o)},q=s=>{var o=Oe(),L=l(r(o),2),D=r(L);D.textContent=Ee;var Q=l(D,2);Q.textContent=Le,i(L);var h=l(L,2),A=r(h),M=r(A);M.textContent=he;var g=l(M,2);I(g),u(g,"placeholder",Ae),i(A);var C=l(A,2),T=r(C);T.textContent=ne;var R=l(T,2);I(R),u(R,"placeholder",ge),i(C);var y=l(C,2),N=r(y);N.textContent=ve;var w=l(N,2);I(w),u(w,"placeholder",Ce),i(y),i(h);var $=l(h,2);{var V=a=>{var S=Pe(),J=r(S,!0);i(S),x(()=>k(J,e(p))),_(a,S)};W($,a=>{e(p)&&a(V)})}var b=l($,2),z=r(b,!0);i(b),i(o),x(a=>{b.disabled=e(f)||!e(c)||!e(v)||!e(n),k(z,a)},[()=>Re(e(f))],re),P(g,()=>e(c),a=>t(c,a)),P(R,()=>e(v),a=>t(v,a)),P(w,()=>e(n),a=>t(n,a)),Z("click",b,K),_(s,o)};W(Y,s=>{e(O)?s(j):s(q,!1)})}i(m),x(()=>u(m,"data-theme",G())),_(B,m),te(),F()}export{Ge as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"1787938896439"}
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
"_internal.js"
|
|
9
9
|
]
|
|
10
10
|
},
|
|
11
|
-
"_BackLink.
|
|
12
|
-
"file": "_app/immutable/assets/BackLink.
|
|
13
|
-
"src": "_BackLink.
|
|
11
|
+
"_BackLink.DRrgBGDC.css": {
|
|
12
|
+
"file": "_app/immutable/assets/BackLink.DRrgBGDC.css",
|
|
13
|
+
"src": "_BackLink.DRrgBGDC.css"
|
|
14
14
|
},
|
|
15
15
|
"_BackLink.js": {
|
|
16
16
|
"file": "chunks/BackLink.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"_escaping.js"
|
|
22
22
|
],
|
|
23
23
|
"css": [
|
|
24
|
-
"_app/immutable/assets/BackLink.
|
|
24
|
+
"_app/immutable/assets/BackLink.DRrgBGDC.css"
|
|
25
25
|
]
|
|
26
26
|
},
|
|
27
27
|
"_Badge.D1SV0Gv7.css": {
|
|
@@ -212,6 +212,7 @@
|
|
|
212
212
|
"imports": [
|
|
213
213
|
"_index2.js",
|
|
214
214
|
"_constants.js",
|
|
215
|
+
"_format.js",
|
|
215
216
|
"_auth.js"
|
|
216
217
|
]
|
|
217
218
|
},
|
|
@@ -272,7 +273,7 @@
|
|
|
272
273
|
"_format.js"
|
|
273
274
|
],
|
|
274
275
|
"css": [
|
|
275
|
-
"_app/immutable/assets/_layout.
|
|
276
|
+
"_app/immutable/assets/_layout.HkPnpRl9.css",
|
|
276
277
|
"_app/immutable/assets/Modal.BuaCfdLj.css",
|
|
277
278
|
"_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css",
|
|
278
279
|
"_app/immutable/assets/Badge.D1SV0Gv7.css"
|
|
@@ -297,6 +298,31 @@
|
|
|
297
298
|
"_app/immutable/assets/_page.C1TbMUws.css"
|
|
298
299
|
]
|
|
299
300
|
},
|
|
301
|
+
"src/routes/live/[id]/+page.svelte": {
|
|
302
|
+
"file": "entries/pages/live/_id_/_page.svelte.js",
|
|
303
|
+
"name": "entries/pages/live/_id_/_page.svelte",
|
|
304
|
+
"src": "src/routes/live/[id]/+page.svelte",
|
|
305
|
+
"isEntry": true,
|
|
306
|
+
"imports": [
|
|
307
|
+
"_index.js",
|
|
308
|
+
"_index-server.js",
|
|
309
|
+
"_client.js",
|
|
310
|
+
"_stores.js",
|
|
311
|
+
"_runner.js",
|
|
312
|
+
"_constants.js",
|
|
313
|
+
"_auth.js",
|
|
314
|
+
"_reports.js",
|
|
315
|
+
"_BackLink.js",
|
|
316
|
+
"_common.js",
|
|
317
|
+
"_reports2.js",
|
|
318
|
+
"_Badge.js",
|
|
319
|
+
"_escaping.js",
|
|
320
|
+
"_attributes.js"
|
|
321
|
+
],
|
|
322
|
+
"css": [
|
|
323
|
+
"_app/immutable/assets/_page.Be5c3USL.css"
|
|
324
|
+
]
|
|
325
|
+
},
|
|
300
326
|
"src/routes/login/+page.svelte": {
|
|
301
327
|
"file": "entries/pages/login/_page.svelte.js",
|
|
302
328
|
"name": "entries/pages/login/_page.svelte",
|
|
@@ -335,7 +361,7 @@
|
|
|
335
361
|
"_reports2.js"
|
|
336
362
|
],
|
|
337
363
|
"css": [
|
|
338
|
-
"_app/immutable/assets/_page.
|
|
364
|
+
"_app/immutable/assets/_page.ClS4XkkN.css",
|
|
339
365
|
"_app/immutable/assets/Pagination.DZmi2Po-.css"
|
|
340
366
|
]
|
|
341
367
|
},
|
|
@@ -347,42 +373,16 @@
|
|
|
347
373
|
"imports": [
|
|
348
374
|
"_index.js",
|
|
349
375
|
"_stores.js",
|
|
350
|
-
"_index-server.js",
|
|
351
376
|
"_format.js",
|
|
352
377
|
"_reports2.js",
|
|
353
378
|
"_BackLink.js",
|
|
354
379
|
"_escaping.js"
|
|
355
380
|
],
|
|
356
381
|
"css": [
|
|
357
|
-
"_app/immutable/assets/_page.
|
|
382
|
+
"_app/immutable/assets/_page.Dp6vaGRc.css",
|
|
358
383
|
"_app/immutable/assets/Badge.D1SV0Gv7.css"
|
|
359
384
|
]
|
|
360
385
|
},
|
|
361
|
-
"src/routes/reports/live/+page.svelte": {
|
|
362
|
-
"file": "entries/pages/reports/live/_page.svelte.js",
|
|
363
|
-
"name": "entries/pages/reports/live/_page.svelte",
|
|
364
|
-
"src": "src/routes/reports/live/+page.svelte",
|
|
365
|
-
"isEntry": true,
|
|
366
|
-
"imports": [
|
|
367
|
-
"_index.js",
|
|
368
|
-
"_index-server.js",
|
|
369
|
-
"_client.js",
|
|
370
|
-
"_stores.js",
|
|
371
|
-
"_runner.js",
|
|
372
|
-
"_reports.js",
|
|
373
|
-
"_constants.js",
|
|
374
|
-
"_common.js",
|
|
375
|
-
"_reports2.js",
|
|
376
|
-
"_format.js",
|
|
377
|
-
"_BackLink.js",
|
|
378
|
-
"_Badge.js",
|
|
379
|
-
"_escaping.js",
|
|
380
|
-
"_attributes.js"
|
|
381
|
-
],
|
|
382
|
-
"css": [
|
|
383
|
-
"_app/immutable/assets/_page.CFnbmY-D.css"
|
|
384
|
-
]
|
|
385
|
-
},
|
|
386
386
|
"src/routes/scheduled-tests/+page.svelte": {
|
|
387
387
|
"file": "entries/pages/scheduled-tests/_page.svelte.js",
|
|
388
388
|
"name": "entries/pages/scheduled-tests/_page.svelte",
|
|
@@ -427,7 +427,7 @@
|
|
|
427
427
|
"_attributes.js"
|
|
428
428
|
],
|
|
429
429
|
"css": [
|
|
430
|
-
"_app/immutable/assets/_page.
|
|
430
|
+
"_app/immutable/assets/_page.COwSGmmy.css"
|
|
431
431
|
]
|
|
432
432
|
},
|
|
433
433
|
"src/routes/setup/+page.svelte": {
|
|
@@ -513,7 +513,7 @@
|
|
|
513
513
|
"_attributes.js"
|
|
514
514
|
],
|
|
515
515
|
"css": [
|
|
516
|
-
"_app/immutable/assets/_page.
|
|
516
|
+
"_app/immutable/assets/_page.B9H_IpSU.css",
|
|
517
517
|
"_app/immutable/assets/EmptyState.DUDM4P19.css",
|
|
518
518
|
"_app/immutable/assets/Pagination.DZmi2Po-.css"
|
|
519
519
|
]
|
|
@@ -0,0 +1,6 @@
|
|
|
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
|
+
.switch.svelte-a6h7w7.svelte-a6h7w7.svelte-a6h7w7{height:1em;display:flex;align-items:center}.switch.disabled.svelte-a6h7w7.svelte-a6h7w7.svelte-a6h7w7{opacity:.5}.label.svelte-a6h7w7.svelte-a6h7w7.svelte-a6h7w7{margin:0 8px}.switch.svelte-a6h7w7 input[type=checkbox].svelte-a6h7w7.svelte-a6h7w7{position:absolute;opacity:0}.switch.svelte-a6h7w7 label.svelte-a6h7w7.svelte-a6h7w7{width:2em;height:1em;position:relative;cursor:pointer;display:block}.switch.disabled.svelte-a6h7w7 label.svelte-a6h7w7.svelte-a6h7w7{cursor:not-allowed}.switch.svelte-a6h7w7 label.svelte-a6h7w7.svelte-a6h7w7:before{content:"";position:absolute;width:2em;height:1em;left:.1em;transition:background .1s ease;background:#4950f680;border-radius:50px}.switch.svelte-a6h7w7 label.svelte-a6h7w7.svelte-a6h7w7:after{content:"";position:absolute;width:1em;height:1em;border-radius:50px;left:0;transition:all .2s ease;box-shadow:0 2px 5px #0000004d;background:#fcfff4;animation:switch-off .2s ease-out;z-index:2}.switch.svelte-a6h7w7 input[type=checkbox].svelte-a6h7w7:checked+label.svelte-a6h7w7:before{background:#4950f6}.switch.svelte-a6h7w7 input[type=checkbox].svelte-a6h7w7:checked+label.svelte-a6h7w7:after{animation:switch-on .2s ease-out;left:1.1em}.rr-controller.svelte-189zk2r.svelte-189zk2r{width:100%;height:80px;background:#fff;display:flex;flex-direction:column;justify-content:space-around;align-items:center;border-radius:0 0 5px 5px}.rr-timeline.svelte-189zk2r.svelte-189zk2r{width:80%;display:flex;align-items:center}.rr-timeline__time.svelte-189zk2r.svelte-189zk2r{display:inline-block;width:100px;text-align:center;color:#11103e}.rr-progress.svelte-189zk2r.svelte-189zk2r{flex:1;height:12px;background:#eee;position:relative;border-radius:3px;cursor:pointer;box-sizing:border-box;border-top:solid 4px #fff;border-bottom:solid 4px #fff}.rr-progress.disabled.svelte-189zk2r.svelte-189zk2r{cursor:not-allowed}.rr-progress__step.svelte-189zk2r.svelte-189zk2r{height:100%;position:absolute;left:0;top:0;background:#e0e1fe}.rr-progress__handler.svelte-189zk2r.svelte-189zk2r{width:20px;height:20px;border-radius:10px;position:absolute;top:2px;transform:translate(-50%,-50%);background:#4950f6}.rr-controller__btns.svelte-189zk2r.svelte-189zk2r{display:flex;align-items:center;justify-content:center;font-size:13px}.rr-controller__btns.svelte-189zk2r button.svelte-189zk2r{width:32px;height:32px;display:flex;padding:0;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;cursor:pointer}.rr-controller__btns.svelte-189zk2r button.svelte-189zk2r:active{background:#e0e1fe}.rr-controller__btns.svelte-189zk2r button.active.svelte-189zk2r{color:#fff;background:#4950f6}.rr-controller__btns.svelte-189zk2r button.svelte-189zk2r:disabled{cursor:not-allowed}.replayer-wrapper{position:relative}.replayer-mouse{position:absolute;width:20px;height:20px;transition:left .05s linear,top .05s linear;background-size:contain;background-position:center center;background-repeat:no-repeat;background-image:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzMwMHB4JyB3aWR0aD0nMzAwcHgnICBmaWxsPSIjMDAwMDAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGRhdGEtbmFtZT0iTGF5ZXIgMSIgdmlld0JveD0iMCAwIDUwIDUwIiB4PSIwcHgiIHk9IjBweCI+PHRpdGxlPkRlc2lnbl90bnA8L3RpdGxlPjxwYXRoIGQ9Ik00OC43MSw0Mi45MUwzNC4wOCwyOC4yOSw0NC4zMywxOEExLDEsMCwwLDAsNDQsMTYuMzlMMi4zNSwxLjA2QTEsMSwwLDAsMCwxLjA2LDIuMzVMMTYuMzksNDRhMSwxLDAsMCwwLDEuNjUuMzZMMjguMjksMzQuMDgsNDIuOTEsNDguNzFhMSwxLDAsMCwwLDEuNDEsMGw0LjM4LTQuMzhBMSwxLDAsMCwwLDQ4LjcxLDQyLjkxWm0tNS4wOSwzLjY3TDI5LDMyYTEsMSwwLDAsMC0xLjQxLDBsLTkuODUsOS44NUwzLjY5LDMuNjlsMzguMTIsMTRMMzIsMjcuNThBMSwxLDAsMCwwLDMyLDI5TDQ2LjU5LDQzLjYyWiI+PC9wYXRoPjwvc3ZnPg==);border-color:transparent}.replayer-mouse:after{content:"";display:inline-block;width:20px;height:20px;background:#4950f6;border-radius:100%;transform:translate(-50%,-50%);opacity:.3}.replayer-mouse.active:after{animation:click .2s ease-in-out 1}.replayer-mouse.touch-device{background-image:none;width:70px;height:70px;border-width:4px;border-style:solid;border-radius:100%;margin-left:-37px;margin-top:-37px;border-color:#4950f600;transition:left 0s linear,top 0s linear,border-color .2s ease-in-out}.replayer-mouse.touch-device.touch-active{border-color:#4950f6;transition:left .25s linear,top .25s linear,border-color .2s ease-in-out}.replayer-mouse.touch-device:after{opacity:0}.replayer-mouse.touch-device.active:after{animation:touch-click .2s ease-in-out 1}.replayer-mouse-tail{position:absolute;pointer-events:none}@keyframes click{0%{opacity:.3;width:20px;height:20px}50%{opacity:.5;width:10px;height:10px}}@keyframes touch-click{0%{opacity:0;width:20px;height:20px}50%{opacity:.5;width:10px;height:10px}}.rr-player{position:relative;background:#fff;float:left;border-radius:5px;box-shadow:0 24px 48px #11103e1f}.rr-player__frame{overflow:hidden}.replayer-wrapper{float:left;clear:both;transform-origin:top left;left:50%;top:50%}.replayer-wrapper>iframe{border:none}.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)}
|
|
@@ -0,0 +1,6 @@
|
|
|
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;--code-tag: #7dd3fc;--code-attr: #fbbf24;--code-string: #86efac;--code-comment: #9ca3af;--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-1pcdei1{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-1pcdei1{height:2px;background:var(--border);transition:background .5s ease;overflow:hidden;position:relative}.scan-line.scanning.svelte-1pcdei1{background:color-mix(in srgb,var(--accent) 30%,var(--border))}.scan-line.scanning.svelte-1pcdei1:after{content:"";position:absolute;inset:0;width:35%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:svelte-1pcdei1-scan 1.8s ease-in-out infinite}.scan-line.line-pass.svelte-1pcdei1{background:var(--pass)}.scan-line.line-fail.svelte-1pcdei1{background:var(--fail)}@keyframes svelte-1pcdei1-scan{0%{transform:translate(-100%)}to{transform:translate(400%)}}.bar.svelte-1pcdei1{display:flex;align-items:center;height:52px;padding:0 1rem 0 1.25rem;gap:.75rem}.flex-gap.svelte-1pcdei1{flex:1}.flex-gap-sm.svelte-1pcdei1{width:.5rem}.bar-left.svelte-1pcdei1{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.bar-status.svelte-1pcdei1{display:flex;align-items:center;gap:.5rem}.status-dot.svelte-1pcdei1{width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:background .4s ease}.status-dot.pulse.svelte-1pcdei1{animation:dotPulse 1.6s ease-in-out infinite}.status-word.svelte-1pcdei1{font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:color .4s ease;white-space:nowrap}.view-report-btn.svelte-1pcdei1{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-1pcdei1:hover{background:var(--accent);color:var(--white)}.bar-center.svelte-1pcdei1{display:flex;align-items:center;gap:.625rem}.input-wrap.svelte-1pcdei1{position:relative;display:flex;align-items:center}.input-icon.svelte-1pcdei1{position:absolute;left:.6rem;color:var(--text-muted);pointer-events:none;opacity:.6}.tag-input.svelte-1pcdei1{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-1pcdei1:focus{border-color:var(--accent)}.tag-input.svelte-1pcdei1::placeholder{color:var(--text-muted);opacity:.45}.tag-input.svelte-1pcdei1:disabled{opacity:.45}.ctrl-divider.svelte-1pcdei1{width:1px;height:24px;background:var(--border);flex-shrink:0}.ctrl-group.svelte-1pcdei1{display:flex;flex-direction:column;gap:2px}.ctrl-label.svelte-1pcdei1{font-size:.555rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);opacity:.65;line-height:1}.stepper.svelte-1pcdei1{display:flex;align-items:center;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.step-btn.svelte-1pcdei1{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-1pcdei1:hover:not(:disabled){color:var(--text);background:var(--bg-elevated)}.step-btn.svelte-1pcdei1:disabled{opacity:.3;cursor:default}.step-val.svelte-1pcdei1{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-1pcdei1{position:relative}.dropdown-trigger.svelte-1pcdei1{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-1pcdei1:hover:not(:disabled){border-color:color-mix(in srgb,var(--text-muted) 50%,var(--border))}.dropdown-trigger.open.svelte-1pcdei1{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.dropdown-trigger.has-remote.svelte-1pcdei1{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.dropdown-trigger.svelte-1pcdei1:disabled{opacity:.45;cursor:default}.trigger-chevron.svelte-1pcdei1{transition:transform .18s var(--ease-out);flex-shrink:0}.trigger-chevron.open.svelte-1pcdei1{transform:rotate(180deg)}.dropdown-menu.svelte-1pcdei1{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-1pcdei1{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-1pcdei1:hover{background:var(--bg-subtle)}.dropdown-item.active.svelte-1pcdei1{color:var(--accent)}.runners-menu.svelte-1pcdei1{min-width:160px}.runner-option.svelte-1pcdei1{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-1pcdei1:hover{background:var(--bg-subtle)}.runner-option.svelte-1pcdei1 input[type=checkbox]:where(.svelte-1pcdei1){accent-color:var(--accent);width:13px;height:13px;cursor:pointer;flex-shrink:0}.runner-dot.svelte-1pcdei1{width:6px;height:6px;border-radius:50%;flex-shrink:0}.runner-dot.built-in.svelte-1pcdei1{background:var(--accent)}.runner-dot.remote.svelte-1pcdei1{background:var(--pass)}.run-btn.svelte-1pcdei1{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-1pcdei1:hover:not(:disabled){opacity:.88}.run-btn.svelte-1pcdei1:disabled{opacity:.6;cursor:default}@keyframes svelte-1pcdei1-spin{to{transform:rotate(360deg)}}.notify-toggles.svelte-1pcdei1{display:flex;gap:.25rem}.notify-btn.svelte-1pcdei1{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-1pcdei1:hover:not(:disabled){color:var(--text);border-color:var(--text-muted)}.notify-btn.active.svelte-1pcdei1{background:var(--accent);border-color:var(--accent);color:var(--white)}.notify-btn.svelte-1pcdei1:disabled{opacity:.4;cursor:default}.expand-btn.svelte-1pcdei1{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-1pcdei1:hover{background:var(--bg-subtle);color:var(--text);border-color:var(--text-muted)}.expand-btn.svelte-1pcdei1 svg:where(.svelte-1pcdei1){transition:transform .2s var(--ease-out)}.expand-btn.svelte-1pcdei1 svg.flipped:where(.svelte-1pcdei1){transform:rotate(180deg)}.body.svelte-1pcdei1{border-top:1px solid var(--border);padding:.625rem 1.25rem;display:flex;flex-direction:column;gap:.375rem;min-height:72px}.run-card.svelte-1pcdei1{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:inherit;transition:background var(--duration-fast),border-color var(--duration-fast)}.run-card.svelte-1pcdei1:hover{background:var(--bg-elevated);border-color:var(--accent)}.run-card.active-run.svelte-1pcdei1{border-left:3px solid var(--accent)}.run-card.queued-run.svelte-1pcdei1{border-left:3px solid var(--warn)}.run-card-main.svelte-1pcdei1{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;text-decoration:none;color:inherit}.run-card-cancel.svelte-1pcdei1{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast)}.run-card-cancel.svelte-1pcdei1:hover{color:var(--fail);border-color:var(--fail)}.run-card-dot.svelte-1pcdei1{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--border)}.pulse-accent.svelte-1pcdei1{background:var(--accent);animation:dotPulse 1.6s ease-in-out infinite}.queued-dot.svelte-1pcdei1{background:var(--warn)}.run-card-info.svelte-1pcdei1{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.run-card-label.svelte-1pcdei1{font-size:.8125rem;font-weight:500;color:var(--text)}.run-card-meta.svelte-1pcdei1{font-size:.72rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta-dot.svelte-1pcdei1{opacity:.4;margin:0 .15rem}.run-card-arrow.svelte-1pcdei1{color:var(--text-muted);flex-shrink:0;transition:transform var(--duration-fast) var(--ease-out),color var(--duration-fast)}.run-card.svelte-1pcdei1:hover .run-card-arrow:where(.svelte-1pcdei1){transform:translate(3px);color:var(--accent)}.empty-runs.svelte-1pcdei1{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 0;color:var(--text-muted);font-size:.8125rem}.empty-icon.svelte-1pcdei1{opacity:.4}.run-chip.svelte-1pcdei1{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-1pcdei1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.run-chip-count.svelte-1pcdei1{font-size:.65rem;font-weight:600;letter-spacing:.04em;opacity:.75;white-space:nowrap;flex-shrink:0}.run-chip-count.none.svelte-1pcdei1{color:var(--fail);opacity:1}.run-chip-spinner.svelte-1pcdei1{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-1pcdei1-spin .65s linear infinite;flex-shrink:0}.run-chip-clear.svelte-1pcdei1{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-1pcdei1:hover{opacity:1}.run-pick-menu.svelte-1pcdei1{min-width:180px;max-height:240px;overflow-y:auto}.dropdown-divider.svelte-1pcdei1{height:1px;background:var(--border);margin:.25rem 0}.dropdown-empty.svelte-1pcdei1{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}
|
|
@@ -0,0 +1,6 @@
|
|
|
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-1x8emxr{font-size:.875rem;color:var(--text-muted);padding:3rem 0}.breadcrumb.svelte-1x8emxr{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted);margin-bottom:1.5rem}.bc-link.svelte-1x8emxr{color:var(--accent);text-decoration:none}.bc-link.svelte-1x8emxr:hover{text-decoration:underline}.bc-sep.svelte-1x8emxr{color:var(--border)}.bc-current.svelte-1x8emxr{color:var(--text-muted)}.suite-header.svelte-1x8emxr{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.suite-title-row.svelte-1x8emxr{display:flex;align-items:center;gap:.625rem;margin-bottom:.5rem;flex-wrap:wrap}.suite-title.svelte-1x8emxr{font-size:1.75rem;font-weight:600;color:var(--text)}.suite-desc.svelte-1x8emxr{font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem;line-height:1.5}.suite-meta.svelte-1x8emxr{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted)}.meta-sep.svelte-1x8emxr{color:var(--border)}.workspace.svelte-1x8emxr{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}.workspace.split.svelte-1x8emxr{grid-template-columns:320px 1fr}.panel-toolbar.svelte-1x8emxr{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.panel-title.svelte-1x8emxr{font-size:.9375rem;font-weight:500;color:var(--text)}.case-search.svelte-1x8emxr{position:relative;display:flex;align-items:center;margin-bottom:.625rem}.case-search-icon.svelte-1x8emxr{position:absolute;left:.6rem;color:var(--text-muted);pointer-events:none}.case-search-input.svelte-1x8emxr{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-1x8emxr::placeholder{color:var(--text-muted)}.case-search-input.svelte-1x8emxr:focus{border-color:var(--accent)}.case-search-input.svelte-1x8emxr::-webkit-search-cancel-button{display:none}.case-search-clear.svelte-1x8emxr{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-1x8emxr:hover{color:var(--text)}.case-no-results.svelte-1x8emxr{font-size:.8125rem;color:var(--text-muted);padding:1rem .25rem}.case-list.svelte-1x8emxr{display:flex;flex-direction:column;gap:.375rem}.cases-pagination.svelte-1x8emxr{margin-top:.875rem}.case-sort-bar.svelte-1x8emxr{display:flex;align-items:center;gap:.3rem;margin-bottom:.625rem;flex-wrap:wrap}.case-sort-chip.svelte-1x8emxr{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-1x8emxr:hover{color:var(--text);border-color:var(--accent)}.case-sort-chip.active.svelte-1x8emxr{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.case-sort-dir.svelte-1x8emxr{font-size:.65rem}.case-row.svelte-1x8emxr{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-1x8emxr:hover{border-color:var(--accent)}.case-row.selected.svelte-1x8emxr{border-color:var(--accent);background:var(--accent-soft)}.case-row-top.svelte-1x8emxr{display:flex;align-items:center;gap:.375rem}.case-row-actions.svelte-1x8emxr{margin-left:auto;opacity:0;transition:opacity var(--duration-fast)}.case-row.svelte-1x8emxr:hover .case-row-actions:where(.svelte-1x8emxr){opacity:1}.case-title.svelte-1x8emxr{font-size:.875rem;color:var(--text);line-height:1.4}.case-steps.svelte-1x8emxr{font-size:.7rem;color:var(--text-muted)}.detail-panel.svelte-1x8emxr{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-1x8emxr{padding:2rem;font-size:.875rem;color:var(--text-muted)}.detail-header.svelte-1x8emxr{padding:1.25rem;border-bottom:1px solid var(--border)}.detail-title-row.svelte-1x8emxr{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.detail-header-actions.svelte-1x8emxr{margin-left:auto;display:flex;align-items:center;gap:.25rem}.detail-case-title.svelte-1x8emxr{font-size:1rem;font-weight:500;color:var(--text);margin-bottom:.375rem}.detail-case-desc.svelte-1x8emxr{font-size:.8125rem;color:var(--text-muted);line-height:1.5;margin-bottom:.375rem}.detail-meta.svelte-1x8emxr{font-size:.75rem;color:var(--text-muted)}.case-history-bars.svelte-1x8emxr{display:flex;align-items:flex-end;gap:2px;height:16px;margin-top:.5rem}.history-bar.svelte-1x8emxr{width:4px;height:100%;border-radius:1px;background:var(--border)}.history-bar.pass.svelte-1x8emxr{background:var(--pass)}.history-bar.fail.svelte-1x8emxr{background:var(--fail)}.history-bar.warn.svelte-1x8emxr{background:var(--warn)}.history-bar.muted.svelte-1x8emxr{background:var(--text-muted)}.detail-tabs.svelte-1x8emxr{display:flex;border-bottom:1px solid var(--border)}.detail-tab.svelte-1x8emxr{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-1x8emxr:hover{color:var(--text)}.detail-tab.active.svelte-1x8emxr{color:var(--accent);border-bottom-color:var(--accent)}.steps-section.svelte-1x8emxr,.history-section.svelte-1x8emxr{padding:1rem 1.25rem}.steps-toolbar.svelte-1x8emxr{display:flex;align-items:center;gap:.5rem;margin-bottom:.875rem}.add-step-btn.svelte-1x8emxr{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-1x8emxr:hover{background:var(--accent-soft)}.no-steps.svelte-1x8emxr{font-size:.8125rem;color:var(--text-muted);padding:1rem 0}.steps-table.svelte-1x8emxr{font-size:.8125rem;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.steps-table-head.svelte-1x8emxr,.steps-table-row.svelte-1x8emxr{display:grid;grid-template-columns:28px 1fr 1fr 1fr;gap:.5rem;padding:.5rem .75rem;align-items:start}.steps-table-head.svelte-1x8emxr{background:var(--bg-subtle);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.steps-table-row.svelte-1x8emxr{border-top:1px solid var(--border);color:var(--text);line-height:1.5}.col-num.svelte-1x8emxr{color:var(--text-muted)}.steps-editor.svelte-1x8emxr{display:flex;flex-direction:column;gap:.5rem}.step-editor-row.svelte-1x8emxr{display:flex;align-items:flex-end;gap:.5rem}.step-num.svelte-1x8emxr{font-size:.75rem;color:var(--text-muted);min-width:20px;padding-bottom:.5rem}.step-editor-fields.svelte-1x8emxr{flex:1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.step-field.svelte-1x8emxr{display:flex;flex-direction:column;gap:.25rem}.step-field-label.svelte-1x8emxr{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.edit-case-form.svelte-1x8emxr{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.history-list.svelte-1x8emxr{display:flex;flex-direction:column;gap:.5rem}.history-row.svelte-1x8emxr{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-1x8emxr{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.history-source.svelte-1x8emxr{font-size:.8125rem;font-weight:500;color:var(--text)}.history-link.svelte-1x8emxr{color:var(--accent);text-decoration:none}.history-link.svelte-1x8emxr:hover{text-decoration:underline}.history-missing.svelte-1x8emxr{font-style:italic;color:var(--text-muted)}.history-by.svelte-1x8emxr,.history-date.svelte-1x8emxr{font-size:.75rem;color:var(--text-muted)}.history-notes.svelte-1x8emxr{font-size:.75rem;color:var(--text-muted);font-style:italic}.result-badge.svelte-1x8emxr{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-1x8emxr{background:var(--pass-soft);color:var(--pass)}.result-badge.fail.svelte-1x8emxr{background:var(--fail-soft);color:var(--fail)}.result-badge.warn.svelte-1x8emxr{background:var(--warn-soft);color:var(--warn)}.result-badge.muted.svelte-1x8emxr{background:var(--bg-subtle);color:var(--text-muted)}.id-chip.svelte-1x8emxr{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-1x8emxr{font-size:.75rem;padding:.1rem .45rem}.id-chip.small.svelte-1x8emxr{font-size:.65rem;padding:.08rem .35rem}.priority-badge.svelte-1x8emxr{font-size:.68rem;font-weight:500;border-radius:var(--radius-pill);padding:.15rem .5rem}.priority-badge.small.svelte-1x8emxr{font-size:.62rem}.priority-badge.critical.svelte-1x8emxr{background:var(--fail-soft);color:var(--fail)}.priority-badge.high.svelte-1x8emxr{background:var(--warn-soft);color:var(--warn)}.priority-badge.medium.svelte-1x8emxr{background:var(--node-soft);color:var(--node)}.priority-badge.low.svelte-1x8emxr{background:var(--bg-subtle);color:var(--text-muted)}.auto-badge.svelte-1x8emxr{font-size:.62rem;font-weight:500;background:var(--pass-soft);color:var(--pass);border-radius:var(--radius-pill);padding:.15rem .5rem}.tag-chip.svelte-1x8emxr{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-1x8emxr{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-1x8emxr{width:24px;height:24px}.icon-btn.svelte-1x8emxr:hover{background:var(--bg-subtle);color:var(--text)}.icon-btn.danger.svelte-1x8emxr:hover{background:var(--fail-soft);color:var(--fail)}.form-fields.svelte-1x8emxr{display:flex;flex-direction:column;gap:.875rem}.field.svelte-1x8emxr{display:flex;flex-direction:column;gap:.375rem}.field-row.svelte-1x8emxr{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.field-label.svelte-1x8emxr{font-size:.8125rem;font-weight:500;color:var(--text);display:flex;align-items:baseline;gap:.5rem}.field-hint.svelte-1x8emxr{font-size:.75rem;font-weight:400;color:var(--text-muted)}.field-textarea.svelte-1x8emxr{height:auto;resize:vertical}.mono.svelte-1x8emxr{font-family:JetBrains Mono,monospace;font-size:.8125rem!important}.form-error.svelte-1x8emxr{font-size:.8125rem;color:var(--fail)}.move-case-subtitle.svelte-1x8emxr{font-size:.8125rem;color:var(--text-muted)}.modal-actions.svelte-1x8emxr{display:flex;gap:.5rem;padding-top:.25rem}@media (max-width: 768px){.workspace.split.svelte-1x8emxr{grid-template-columns:1fr}}
|
|
@@ -0,0 +1,6 @@
|
|
|
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
|
+
.live-viewport.svelte-1wgcx8r{flex:1;width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:flex-start;justify-content:center;overflow:hidden}.live-stage.svelte-1wgcx8r{position:relative;overflow:hidden}.live-mount.svelte-1wgcx8r{position:absolute;top:0;left:0}.live-mount.svelte-1wgcx8r .rr-player{border-radius:0!important;box-shadow:none!important}.live-mount.svelte-1wgcx8r iframe{pointer-events:auto!important}.notice-state.svelte-13l3gen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 1rem;text-align:center;gap:.75rem}.notice-state.svelte-13l3gen h2:where(.svelte-13l3gen){font-size:1.5rem;font-weight:400}.notice-state.svelte-13l3gen p:where(.svelte-13l3gen){font-size:.9375rem;color:var(--text-muted);max-width:360px}.queue-pos.svelte-13l3gen{font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--text)}.notice-link.svelte-13l3gen{font-size:.875rem;color:var(--accent);text-decoration:none;margin-top:.5rem}.notice-link.svelte-13l3gen:hover{text-decoration:underline}.pulse-dot.svelte-13l3gen{width:18px;height:18px;border-radius:50%;background:var(--accent);animation:svelte-13l3gen-pulse-dot 1.4s ease-in-out infinite}.pulse-dot.warn.svelte-13l3gen{background:var(--warn)}@keyframes svelte-13l3gen-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.live-fullscreen.svelte-13l3gen{width:100vw;position:relative;left:50%;margin-left:-50vw;margin-top:-2.5rem;margin-bottom:-5rem;padding-bottom:5rem;height:calc(100vh - 56px);box-sizing:border-box;display:flex;flex-direction:column}.run-header.svelte-13l3gen{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem clamp(1rem,3vw,2rem);background:var(--bg-elevated);border-bottom:1px solid var(--border);animation:fadeUp .3s var(--ease-out) both;flex-shrink:0}.run-header.header-pass.svelte-13l3gen{border-top:3px solid var(--pass)}.run-header.header-fail.svelte-13l3gen{border-top:3px solid var(--fail)}.header-left.svelte-13l3gen{display:flex;align-items:center;gap:.875rem;flex-wrap:wrap}.header-back.svelte-13l3gen{display:flex;align-items:center;padding-right:.875rem;border-right:1px solid var(--border)}.header-back.svelte-13l3gen .back-row{margin-bottom:0}.live-badge.svelte-13l3gen{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-13l3gen{width:6px;height:6px;border-radius:50%;background:#fffc;animation:dotPulse 1.2s ease-in-out infinite}.run-info.svelte-13l3gen{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.run-title-label.svelte-13l3gen{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-13l3gen{font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:500;color:var(--text)}.run-sep.svelte-13l3gen{color:var(--text-muted);opacity:.4;font-size:.75rem}.run-detail.svelte-13l3gen{font-size:.8rem;color:var(--text-muted);font-family:JetBrains Mono,monospace}.cancel-btn.svelte-13l3gen{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-13l3gen:hover{background:var(--fail);color:var(--white)}.completion-bar.svelte-13l3gen{display:flex;align-items:center;justify-content:space-between;padding:.75rem clamp(1rem,3vw,2rem);gap:1rem;border-bottom:1px solid var(--border);flex-shrink:0}.completion-bar.pass-bar.svelte-13l3gen{background:var(--pass-soft);border-bottom-color:color-mix(in srgb,var(--pass) 30%,var(--border));color:var(--pass)}.completion-bar.fail-bar.svelte-13l3gen{background:var(--fail-soft);border-bottom-color:color-mix(in srgb,var(--fail) 30%,var(--border));color:var(--fail)}.completion-left.svelte-13l3gen{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500}.completion-right.svelte-13l3gen{display:flex;align-items:center;gap:.875rem}.redirect-hint.svelte-13l3gen{font-size:.8rem;opacity:.7;font-family:JetBrains Mono,monospace;color:inherit}.view-now-btn.svelte-13l3gen{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-13l3gen:hover{background:#0000000f}.lane-tabs.svelte-13l3gen{display:flex;gap:2px;padding:.5rem clamp(1rem,3vw,2rem) 0;background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-shrink:0}.lane-tab.svelte-13l3gen{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-13l3gen:hover{color:var(--text);background:var(--bg-subtle)}.lane-tab.active.svelte-13l3gen{color:var(--text);background:var(--bg-elevated);border-color:var(--border);border-bottom-color:var(--bg-elevated)}.tab-dot.svelte-13l3gen{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--accent)}.tab-dot-running.svelte-13l3gen{background:var(--accent);animation:dotPulse 1.6s ease-in-out infinite}.tab-dot-done.svelte-13l3gen{background:var(--pass)}.tab-dot-error.svelte-13l3gen{background:var(--fail)}.tab-count.svelte-13l3gen{font-size:.65rem;font-weight:600;font-family:JetBrains Mono,monospace;opacity:.55}.run-view.svelte-13l3gen{display:grid;grid-template-columns:1fr 340px;flex:1;min-height:0;overflow:hidden;animation:fadeUp .35s var(--ease-out) .05s both}.stream-panel.svelte-13l3gen{position:relative;background:var(--terminal-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;border-right:1px solid var(--border)}.awaiting-state.svelte-13l3gen{display:flex;flex-direction:column;align-items:center;gap:.625rem;color:#fff3;font-size:.8rem;font-family:JetBrains Mono,monospace}.terminal-panel.svelte-13l3gen{display:flex;flex-direction:column;overflow:hidden}.terminal-bar.svelte-13l3gen{display:flex;align-items:center;gap:6px;padding:.6rem .875rem;background:#00000059;flex-shrink:0}.dot.svelte-13l3gen{display:block;width:10px;height:10px;border-radius:50%}.dot.red.svelte-13l3gen{background:#ff5f57}.dot.yellow.svelte-13l3gen{background:#febc2e}.dot.green.svelte-13l3gen{background:#28c840}.terminal-label.svelte-13l3gen{margin-left:auto;font-size:.68rem;font-family:JetBrains Mono,monospace;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#ffffff4d}.terminal.svelte-13l3gen{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-13l3gen::-webkit-scrollbar{width:4px}.terminal.svelte-13l3gen::-webkit-scrollbar-track{background:transparent}.terminal.svelte-13l3gen::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}
|
|
@@ -0,0 +1,6 @@
|
|
|
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-1b139ls{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.page-header.svelte-1b139ls h1:where(.svelte-1b139ls){font-size:2.5rem}.settings-layout.svelte-1b139ls{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start}.settings-sidebar.svelte-1b139ls{position:sticky;top:72px}.settings-sidebar.svelte-1b139ls nav:where(.svelte-1b139ls){display:flex;flex-direction:column;gap:.125rem}.sidebar-item.svelte-1b139ls{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-1b139ls:hover{background:var(--bg-subtle);color:var(--text)}.sidebar-item.active.svelte-1b139ls{background:var(--accent-soft);color:var(--accent);font-weight:500}.settings-content.svelte-1b139ls{min-width:0}.content-section.svelte-1b139ls{display:flex;flex-direction:column;gap:1.25rem}.content-header.svelte-1b139ls{margin-bottom:.25rem}.content-header.svelte-1b139ls h2:where(.svelte-1b139ls){font-size:1.1rem;font-weight:500;font-family:var(--font-body);color:var(--text);margin-bottom:.25rem}.content-desc.svelte-1b139ls{font-size:.875rem;color:var(--text-muted);line-height:1.5}.settings-card.svelte-1b139ls{display:flex;flex-direction:column;gap:1.25rem}.field-label.svelte-1b139ls{display:flex;align-items:baseline;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--text)}.field-hint.svelte-1b139ls{font-size:.75rem;font-weight:400;color:var(--text-muted)}.logo-preview.svelte-1b139ls{display:flex;flex-direction:column;gap:.5rem}.preview-label.svelte-1b139ls{font-size:.75rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.logo-img.svelte-1b139ls{max-height:56px;max-width:200px;object-fit:contain;border-radius:var(--radius-sm)}.card-footer.svelte-1b139ls{padding-top:.125rem}.toggle-row.svelte-1b139ls{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-1b139ls{display:flex;flex-direction:column;gap:.2rem}.toggle-label.svelte-1b139ls{font-size:.875rem;font-weight:500;color:var(--text)}.toggle-desc.svelte-1b139ls{font-size:.78rem;color:var(--text-muted);line-height:1.4}.toggle-switch.svelte-1b139ls{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-1b139ls{background:var(--accent)}.toggle-thumb.svelte-1b139ls{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-1b139ls .toggle-thumb:where(.svelte-1b139ls){transform:translate(18px)}.runner-cards.svelte-1b139ls{display:flex;flex-direction:column;gap:.625rem}.runner-card.svelte-1b139ls{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-1b139ls:hover{border-color:color-mix(in srgb,var(--text-muted) 40%,var(--border))}.runner-card.editing.svelte-1b139ls{border-color:var(--accent);background:var(--accent-soft);gap:.875rem;padding:1rem}.runner-card-header.svelte-1b139ls{display:flex;align-items:center;gap:.5rem}.runner-card-icon.svelte-1b139ls{color:var(--node);flex-shrink:0}.runner-card-name.svelte-1b139ls{font-size:.875rem;font-weight:500;color:var(--text);flex:1}.runner-browser-pill.svelte-1b139ls{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-1b139ls{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-1b139ls{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;padding-left:calc(13px + .5rem);margin-top:.125rem}.ping-badge.svelte-1b139ls{font-size:.7rem;font-weight:500;padding:.15rem .5rem;border-radius:var(--radius-pill);flex-shrink:0}.ping-badge.ok.svelte-1b139ls{background:var(--pass-soft);color:var(--pass)}.ping-badge.fail.svelte-1b139ls{background:var(--fail-soft);color:var(--fail)}.ping-badge.pinging.svelte-1b139ls{color:var(--text-muted)}.runner-form.svelte-1b139ls{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-1b139ls{font-size:.8125rem;font-weight:500;color:var(--text)}.runner-form-fields.svelte-1b139ls{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.runner-form-actions.svelte-1b139ls{display:flex;gap:.5rem}.card-disabled.svelte-1b139ls{opacity:.5;pointer-events:none}.backup-row.svelte-1b139ls{display:flex;gap:2rem}.backup-block.svelte-1b139ls{flex:1;display:flex;flex-direction:column;gap:.875rem}.backup-divider.svelte-1b139ls{width:1px;background:var(--border);flex-shrink:0}.backup-block-title.svelte-1b139ls{font-size:.875rem;font-weight:500;color:var(--text)}.backup-block-desc.svelte-1b139ls{font-size:.8125rem;color:var(--text-muted);line-height:1.6}.backup-block-desc.svelte-1b139ls code:where(.svelte-1b139ls){font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}.include-reports-row.svelte-1b139ls{display:flex;align-items:center;gap:1.25rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.include-reports-row.svelte-1b139ls .backup-toggle-label:where(.svelte-1b139ls){flex:1}.include-reports-row.svelte-1b139ls .field-label:where(.svelte-1b139ls)>span:where(.svelte-1b139ls){display:flex;flex-direction:column;gap:.15rem}.backup-disclaimer.svelte-1b139ls{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-1b139ls{display:flex;gap:.625rem;margin-top:.25rem;flex-wrap:wrap}.s3-test-result.svelte-1b139ls{margin-top:.625rem;font-size:.8125rem;font-weight:500}.s3-test-success.svelte-1b139ls{color:var(--pass)}.s3-test-error.svelte-1b139ls{color:var(--fail)}.card-title-row.svelte-1b139ls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.card-title-row.svelte-1b139ls .card-title:where(.svelte-1b139ls){margin-bottom:0}.s3-backup-list.svelte-1b139ls{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.s3-backup-row.svelte-1b139ls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem .875rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm)}.s3-backup-info.svelte-1b139ls{display:flex;flex-direction:column;gap:.2rem;min-width:0}.s3-backup-key.svelte-1b139ls{font-family:JetBrains Mono,monospace;font-size:.8125rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s3-backup-meta.svelte-1b139ls{font-size:.75rem;color:var(--text-muted)}.backup-last-run.svelte-1b139ls{font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.status-success.svelte-1b139ls{color:var(--pass)}.status-error.svelte-1b139ls{color:var(--fail)}.backup-toggle-label.svelte-1b139ls{display:flex;align-items:center;justify-content:space-between;cursor:default}.toggle-btn.svelte-1b139ls{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-1b139ls{background:var(--accent)}.toggle-btn.svelte-1b139ls .toggle-thumb:where(.svelte-1b139ls){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-1b139ls .toggle-thumb:where(.svelte-1b139ls){transform:translate(18px)}.field-input-mono.svelte-1b139ls{font-family:JetBrains Mono,monospace;font-size:.8125rem}.import-row.svelte-1b139ls{display:flex;align-items:center;gap:.625rem}.file-label.svelte-1b139ls{cursor:pointer}.file-input-hidden.svelte-1b139ls{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-btn.svelte-1b139ls{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-1b139ls:hover .file-btn:where(.svelte-1b139ls){border-color:var(--text-muted);background:var(--bg-subtle)}.field-row.svelte-1b139ls{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mono.svelte-1b139ls{font-family:JetBrains Mono,monospace!important;font-size:.8125rem!important}.code-sample.svelte-1b139ls{font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}.link-btn.svelte-1b139ls{font:inherit;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.account-info.svelte-1b139ls{display:flex;flex-direction:column;gap:.2rem}.account-name.svelte-1b139ls{font-size:.9375rem;font-weight:500;color:var(--text)}.account-email.svelte-1b139ls{font-size:.8125rem;color:var(--text-muted)}.form-error.svelte-1b139ls{font-size:.8125rem;color:var(--fail)}@media (max-width: 640px){.settings-layout.svelte-1b139ls{grid-template-columns:1fr;gap:1.5rem}.settings-sidebar.svelte-1b139ls{position:static}.settings-sidebar.svelte-1b139ls nav:where(.svelte-1b139ls){flex-direction:row;flex-wrap:wrap}.backup-row.svelte-1b139ls{flex-direction:column}.backup-divider.svelte-1b139ls{width:100%;height:1px}.runner-form-fields.svelte-1b139ls,.field-row.svelte-1b139ls{grid-template-columns:1fr}}.users-table.svelte-1b139ls{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.user-row.svelte-1b139ls{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-1b139ls{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.user-name.svelte-1b139ls{font-size:.9rem;font-weight:500;color:var(--text)}.user-email.svelte-1b139ls{font-size:.8rem;color:var(--text-muted)}.role-chip.svelte-1b139ls{font-size:.7rem;font-weight:500;border-radius:var(--radius-pill);padding:.15rem .55rem;flex-shrink:0}.role-chip.admin.svelte-1b139ls{background:var(--accent-soft);color:var(--accent)}.role-chip.user.svelte-1b139ls{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border)}.you-chip.svelte-1b139ls{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-1b139ls{display:flex;align-items:center;gap:.375rem}.mcp-key-input.svelte-1b139ls{flex:1;font-family:JetBrains Mono,monospace;font-size:.8125rem;min-width:0}.mcp-regen-note.svelte-1b139ls{font-size:.78rem;color:var(--text-muted)}.mcp-snippet.svelte-1b139ls{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-1b139ls{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-1b139ls:hover{background:var(--fail-soft);color:var(--fail)}
|
|
@@ -0,0 +1,6 @@
|
|
|
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
|
+
.legacy-notice.svelte-1xtj9lg{display:flex;align-items:flex-start;gap:.75rem;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--radius-sm);padding:.75rem .875rem;margin-bottom:1.5rem}.legacy-notice.svelte-1xtj9lg p:where(.svelte-1xtj9lg){flex:1;margin:0;font-size:.85rem;line-height:1.5;color:var(--text)}.legacy-notice-dismiss.svelte-1xtj9lg{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.125rem;border-radius:var(--radius-sm);transition:color var(--duration-fast)}.legacy-notice-dismiss.svelte-1xtj9lg:hover{color:var(--text)}.page-header.svelte-1xtj9lg{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.header-top.svelte-1xtj9lg{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}h1.svelte-1xtj9lg{font-size:2.5rem;margin-bottom:.25rem}.subtitle.svelte-1xtj9lg{color:var(--text-muted);font-size:.875rem}.rate-display.svelte-1xtj9lg{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.rate-number.svelte-1xtj9lg{font-family:var(--font-display);font-size:2.75rem;line-height:1;font-weight:400}.rate-number.pass.svelte-1xtj9lg{color:var(--pass)}.rate-number.warn.svelte-1xtj9lg{color:var(--warn)}.rate-number.fail.svelte-1xtj9lg{color:var(--fail)}.rate-label.svelte-1xtj9lg{font-size:.75rem;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.stats-bar.svelte-1xtj9lg{margin-bottom:1rem}.pass-bar-track.svelte-1xtj9lg{height:3px;background:var(--fail-soft);border-radius:var(--radius-pill);overflow:hidden;margin-bottom:.5rem}.pass-bar-fill.svelte-1xtj9lg{height:100%;background:var(--pass);border-radius:var(--radius-pill);transition:width .9s var(--ease-out) .1s}.bar-legend.svelte-1xtj9lg{display:flex;gap:1rem}.legend-pass.svelte-1xtj9lg{font-size:.75rem;color:var(--pass);font-weight:500}.legend-fail.svelte-1xtj9lg{font-size:.75rem;color:var(--fail);font-weight:500}.trend-row.svelte-1xtj9lg{display:flex;align-items:center;gap:.75rem}.trend-label.svelte-1xtj9lg{font-size:.7rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}.trend-dots.svelte-1xtj9lg{display:flex;align-items:center;gap:5px}.trend-dot.svelte-1xtj9lg{width:9px;height:9px;border-radius:50%;transition:transform var(--duration-fast);animation:fadeUp .3s var(--ease-out) both}.trend-dot.svelte-1xtj9lg:hover{transform:scale(1.4)}.trend-dot.pass.svelte-1xtj9lg{background:var(--pass)}.trend-dot.fail.svelte-1xtj9lg{background:var(--fail)}.trend-hint.svelte-1xtj9lg{font-size:.68rem;color:var(--text-muted);opacity:.6}.list-header.svelte-1xtj9lg{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem .375rem}.select-all-wrap.svelte-1xtj9lg{display:flex;align-items:center;cursor:pointer;padding:.25rem}.btn-delete-selected.svelte-1xtj9lg{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-1xtj9lg:hover{background:var(--fail);color:var(--white)}.report-list.svelte-1xtj9lg{display:flex;flex-direction:column;gap:.5rem}.report-row.svelte-1xtj9lg{display:flex;align-items:center;gap:.5rem;animation:fadeUp .32s var(--ease-out) both}.row-check-wrap.svelte-1xtj9lg{flex-shrink:0;display:flex;align-items:center;cursor:pointer;padding:.25rem}.checkbox.svelte-1xtj9lg{width:15px;height:15px;accent-color:var(--accent, #7c3aed);cursor:pointer}.report-item.svelte-1xtj9lg{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-1xtj9lg:hover{background:var(--bg-subtle);transform:translate(2px);box-shadow:0 2px 12px #0000000a}.report-item.is-pass.svelte-1xtj9lg{border-left-color:var(--pass)}.report-item.is-fail.svelte-1xtj9lg{border-left-color:var(--fail)}.report-row.is-selected.svelte-1xtj9lg .report-item:where(.svelte-1xtj9lg){background:var(--bg-subtle);border-color:var(--accent, #7c3aed)}.item-left.svelte-1xtj9lg{display:flex;align-items:center;gap:.875rem;min-width:0}.status-mark.svelte-1xtj9lg{font-size:.875rem;font-weight:600;flex-shrink:0;width:20px;text-align:center}.status-mark.pass.svelte-1xtj9lg{color:var(--pass)}.status-mark.fail.svelte-1xtj9lg{color:var(--fail)}.item-meta.svelte-1xtj9lg{display:flex;align-items:center;gap:.625rem;min-width:0}.item-tags.svelte-1xtj9lg{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-1xtj9lg{flex-shrink:0}.item-right.svelte-1xtj9lg{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.item-date.svelte-1xtj9lg{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.item-arrow.svelte-1xtj9lg{color:var(--text-muted);transition:transform var(--duration-fast) var(--ease-out),color var(--duration-fast)}.report-item.svelte-1xtj9lg:hover .item-arrow:where(.svelte-1xtj9lg){transform:translate(3px);color:var(--text)}.row-delete-btn.svelte-1xtj9lg{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-1xtj9lg:hover .row-delete-btn:where(.svelte-1xtj9lg){opacity:1}.row-delete-btn.svelte-1xtj9lg:hover{color:var(--fail);background:var(--fail-soft, rgba(239, 68, 68, .08))}.pagination-wrap.svelte-1xtj9lg{margin-top:1.25rem}
|
|
@@ -0,0 +1,6 @@
|
|
|
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)}.steps-rail.svelte-q7af2t{flex-shrink:0;width:240px;display:flex;flex-direction:column;background:var(--bg-elevated);overflow-y:auto}.steps-rail-header.svelte-q7af2t{flex-shrink:0;padding:.7rem .9rem .5rem;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.steps-list.svelte-q7af2t{list-style:none;margin:0;padding:0 .5rem .5rem;display:flex;flex-direction:column;gap:.1rem}.rail-step.svelte-q7af2t{width:100%;display:flex;align-items:flex-start;gap:.5rem;padding:.4rem .5rem;background:none;border:none;border-radius:var(--radius-sm);font:inherit;font-size:.78rem;line-height:1.35;text-align:left;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.rail-step.svelte-q7af2t:hover:not(:disabled){background:var(--bg-subtle)}.rail-step.svelte-q7af2t:disabled{cursor:default}.rail-step-text.svelte-q7af2t{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;min-width:0;word-break:break-word}.rail-step-active.svelte-q7af2t{background:var(--accent-soft);color:var(--text);font-weight:500}.combined-timeline.svelte-5daecg{position:absolute;left:0;right:0;bottom:38px;width:80%;margin:0 auto;display:flex;align-items:center}.combined-timeline-time.svelte-5daecg{flex-shrink:0;display:inline-block;width:100px;text-align:center;color:#11103e}.combined-timeline-track.svelte-5daecg{position:relative;flex:1;height:12px;background:#eee;border-radius:3px;cursor:pointer;box-sizing:border-box;border-top:solid 4px #fff;border-bottom:solid 4px #fff}.combined-timeline-fill.svelte-5daecg{position:absolute;left:0;top:0;height:100%;background:#e0e1fe}.combined-timeline-tick.svelte-5daecg{position:absolute;top:2px;width:10px;height:5px;transform:translate(-50%,-50%);background:#4950f6;pointer-events:none}.combined-timeline-handle.svelte-5daecg{position:absolute;top:2px;width:20px;height:20px;border-radius:10px;transform:translate(-50%,-50%);background:#4950f6;pointer-events:none}.code-viewer.svelte-mer6ic{margin:0;padding:.75rem 1rem;background:var(--terminal-bg);color:var(--terminal-text);font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.5;border-radius:var(--radius-md);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.code-viewer .tok-tag{color:var(--code-tag)}.code-viewer .tok-attr{color:var(--code-attr)}.code-viewer .tok-value{color:var(--code-string)}.code-viewer .tok-comment{color:var(--code-comment);font-style:italic}.inspector-panel.svelte-mmh4st{flex-shrink:0;width:280px;display:flex;flex-direction:column;gap:.65rem;padding:.75rem .9rem .9rem;background:var(--bg-elevated);overflow-y:auto}.inspector-panel.svelte-mmh4st>:where(.svelte-mmh4st){flex-shrink:0}.inspector-panel.svelte-mmh4st .code-viewer{flex-shrink:0}.inspector-header.svelte-mmh4st{display:flex;align-items:center;gap:.4rem;padding-bottom:.5rem;margin-bottom:.1rem;border-bottom:1px solid var(--border);font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.inspector-empty.svelte-mmh4st{color:var(--text-muted);font-size:.8rem;padding:1rem .1rem;line-height:1.5}.inspector-section.svelte-mmh4st{display:flex;align-items:baseline;gap:.5rem}.inspector-section-label.svelte-mmh4st{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.inspector-size.svelte-mmh4st{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text)}.inspector-attrs.svelte-mmh4st{margin:0;display:flex;flex-direction:column}.inspector-attr-row.svelte-mmh4st{display:flex;flex-direction:column;gap:.1rem;padding:.35rem 0;border-top:1px solid var(--border)}.inspector-attr-row.svelte-mmh4st dt:where(.svelte-mmh4st){font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--accent)}.inspector-attr-row.svelte-mmh4st dd:where(.svelte-mmh4st){margin:0;font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--text-muted);word-break:break-all}.recording-player.svelte-jcqbbs{flex:1;min-height:0;display:flex;gap:1px;background:var(--border);overflow:hidden}.player-stage.svelte-jcqbbs{position:relative;flex:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated)}.player-column.svelte-jcqbbs{position:relative;display:inline-flex}.player-mount.svelte-jcqbbs{display:flex}.player-mount.svelte-jcqbbs .rr-player{border-radius:0!important;box-shadow:none!important}.player-mount.svelte-jcqbbs .rr-controller{border-radius:0!important}.player-mount.svelte-jcqbbs iframe{pointer-events:auto!important}.player-mount.svelte-jcqbbs .switch{display:none!important}.player-mount.svelte-jcqbbs .rr-controller__btns{gap:.5rem}.player-mount-multi.svelte-jcqbbs .rr-timeline{visibility:hidden!important;pointer-events:none!important}.player-status.svelte-jcqbbs{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem}.loading-dots.svelte-jcqbbs{display:flex;gap:.3rem}.loading-dots.svelte-jcqbbs span:where(.svelte-jcqbbs){width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:dotPulse 1.1s ease-in-out infinite}.loading-dots.svelte-jcqbbs span:where(.svelte-jcqbbs):nth-child(2){animation-delay:.15s}.loading-dots.svelte-jcqbbs span:where(.svelte-jcqbbs):nth-child(3){animation-delay:.3s}.active-tab-badge.svelte-jcqbbs{position:absolute;top:.75rem;left:.75rem;padding:.3rem .6rem;background:#0000008c;backdrop-filter:blur(6px);border-radius:var(--radius-pill);color:#fff;font-family:JetBrains Mono,monospace;font-size:.7rem}.inspect-highlight.svelte-jcqbbs{position:absolute;pointer-events:none;background:color-mix(in srgb,var(--accent) 18%,transparent);border:1.5px solid var(--accent);border-radius:2px;z-index:10000}.restart-overlay-btn.svelte-jcqbbs{position:absolute;display:flex;align-items:center;justify-content:center;background:#fff;border:none;border-radius:50%;color:#11103e;cursor:pointer;z-index:10001}.restart-overlay-btn.svelte-jcqbbs:hover{background:#f0f0f5}.inspect-fab.svelte-jcqbbs{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#0000008c;backdrop-filter:blur(6px);border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:.7;transition:opacity var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.inspect-fab.svelte-jcqbbs:hover:not(:disabled){opacity:1}.inspect-fab.svelte-jcqbbs:disabled{opacity:.3;cursor:default}.inspect-fab-active.svelte-jcqbbs{background:var(--accent);opacity:1}.report-header.svelte-ggy6pw{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-ggy6pw{border-top-color:var(--pass)}.report-header.fail.svelte-ggy6pw{border-top-color:var(--fail)}.header-main.svelte-ggy6pw{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.header-status.svelte-ggy6pw{display:flex;align-items:center;gap:1rem}.status-icon-wrap.svelte-ggy6pw{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-icon-wrap.pass-bg.svelte-ggy6pw{background:var(--pass-soft);color:var(--pass)}.status-icon-wrap.fail-bg.svelte-ggy6pw{background:var(--fail-soft);color:var(--fail)}.h1-row.svelte-ggy6pw{display:flex;align-items:center;gap:.75rem;margin-bottom:.2rem}.run-name-badge.svelte-ggy6pw{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-ggy6pw{font-size:2rem;margin-bottom:0}.header-meta.svelte-ggy6pw{font-size:.8125rem;color:var(--text-muted);display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.meta-sep.svelte-ggy6pw{opacity:.4}.mono.svelte-ggy6pw{font-family:JetBrains Mono,monospace;font-size:.78rem}.browser-pill.svelte-ggy6pw{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-ggy6pw{display:flex;gap:1.5rem;align-items:flex-start;flex-shrink:0}.stat.svelte-ggy6pw{display:flex;flex-direction:column;align-items:center;gap:.15rem}.stat-num.svelte-ggy6pw{font-family:var(--font-display);font-size:1.75rem;line-height:1;font-weight:400;color:var(--text)}.stat-label.svelte-ggy6pw{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.pass-color.svelte-ggy6pw{color:var(--pass)}.fail-color.svelte-ggy6pw{color:var(--fail)}.muted-color.svelte-ggy6pw{color:var(--text-muted)}.group-header.svelte-ggy6pw{display:flex;align-items:center;gap:.4rem;padding-bottom:.4rem;margin-top:1.75rem;margin-bottom:.75rem;font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.group-header.svelte-ggy6pw:first-child{margin-top:0}.group-icon.svelte-ggy6pw{flex-shrink:0;opacity:.7}.runner-group-header.svelte-ggy6pw{font-size:.78rem;font-weight:600;color:var(--text)}.worker-group-header.svelte-ggy6pw{font-size:.7rem;font-weight:500;color:var(--text-muted)}.feature.svelte-ggy6pw{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-ggy6pw{border-top-color:var(--pass)}.feature-fail.svelte-ggy6pw{border-top-color:var(--fail)}.feature-header.svelte-ggy6pw{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.feature-icon.svelte-ggy6pw{flex-shrink:0;color:var(--text-muted);opacity:.7}.feature-name.svelte-ggy6pw{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-ggy6pw{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.feature-file.svelte-ggy6pw{font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--text-muted)}.suite-tag.svelte-ggy6pw{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-ggy6pw{display:flex;flex-direction:column;padding:.5rem;gap:.25rem}.scenario.svelte-ggy6pw{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-ggy6pw{border-left-width:3px;border-left-color:var(--fail)}.scenario-row.svelte-ggy6pw{display:flex;align-items:stretch}.scenario-header.svelte-ggy6pw{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-ggy6pw:hover{background:var(--bg-subtle)}.replay-btn.svelte-ggy6pw{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-ggy6pw:hover{background:var(--accent-soft)}.replay-btn-sm.svelte-ggy6pw{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-ggy6pw{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-ggy6pw{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-ggy6pw{display:flex;gap:.25rem;flex-shrink:0}.scenario-duration.svelte-ggy6pw{font-size:.75rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;flex-shrink:0}.chevron.svelte-ggy6pw{color:var(--text-muted);flex-shrink:0;transition:transform var(--duration-fast) var(--ease-out)}.chevron.rotated.svelte-ggy6pw{transform:rotate(90deg)}.steps.svelte-ggy6pw{border-top:1px solid var(--border);background:var(--bg-subtle);padding:.5rem 0}.example-header.svelte-ggy6pw{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-ggy6pw:not(:first-child){margin-top:.375rem;border-top:1px dashed var(--border)}.example-header.svelte-ggy6pw .scenario-duration:where(.svelte-ggy6pw){margin-left:auto}.step.svelte-ggy6pw{padding:.375rem 1rem .375rem 1.25rem}.step-fail.svelte-ggy6pw{background:color-mix(in srgb,var(--fail-soft) 40%,transparent)}.step-skip.svelte-ggy6pw{opacity:.5}.step-row.svelte-ggy6pw{display:flex;align-items:baseline;gap:.5rem}.step-name.svelte-ggy6pw{flex:1;font-size:.8125rem;color:var(--text);font-family:JetBrains Mono,monospace}.step-duration.svelte-ggy6pw{font-size:.7rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;flex-shrink:0}.step-error.svelte-ggy6pw{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)}.step-datatable.svelte-ggy6pw{margin:.375rem 0 .25rem 1.75rem;border-collapse:collapse;font-family:JetBrains Mono,monospace;font-size:.75rem}.step-datatable.svelte-ggy6pw td:where(.svelte-ggy6pw){padding:.35rem .7rem;border:1px solid var(--border);color:var(--text)}.step-datatable-header.svelte-ggy6pw td:where(.svelte-ggy6pw){background:var(--bg-subtle);color:var(--text-muted);font-weight:600}.loading-state.svelte-ggy6pw{display:flex;justify-content:center;padding:4rem 0}.loading-dots.svelte-ggy6pw{display:flex;gap:6px;align-items:center}.loading-dots.svelte-ggy6pw span:where(.svelte-ggy6pw){width:8px;height:8px;border-radius:50%;background:var(--accent);animation:svelte-ggy6pw-dotBeat 1.2s ease-in-out infinite}.loading-dots.svelte-ggy6pw span:where(.svelte-ggy6pw):nth-child(2){animation-delay:.2s}.loading-dots.svelte-ggy6pw span:where(.svelte-ggy6pw):nth-child(3){animation-delay:.4s}@keyframes svelte-ggy6pw-dotBeat{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}.error-state.svelte-ggy6pw{padding:3rem 0;color:var(--fail);text-align:center;font-size:.9375rem}.logs-section.svelte-ggy6pw{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-ggy6pw{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-ggy6pw::-webkit-details-marker{display:none}.logs-summary.svelte-ggy6pw:hover{background:var(--bg-subtle)}.log-runner-count.svelte-ggy6pw{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-ggy6pw{display:flex;gap:0;border-bottom:1px solid var(--border);background:var(--bg-subtle);overflow-x:auto}.log-tab.svelte-ggy6pw{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-ggy6pw:hover{color:var(--text)}.log-tab-active.svelte-ggy6pw{color:var(--text);border-bottom-color:var(--accent)}.logs-body.svelte-ggy6pw{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-ggy6pw::-webkit-scrollbar{width:4px}.logs-body.svelte-ggy6pw::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.replay-overlay.svelte-ggy6pw{position:fixed;inset:0;background:var(--bg-elevated);display:flex;z-index:500}.replay-modal.svelte-ggy6pw{background:var(--bg-elevated);width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden auto;box-shadow:0 24px 64px #00000080}.replay-modal-header.svelte-ggy6pw{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-ggy6pw{font-size:.875rem;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-close.svelte-ggy6pw{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-ggy6pw:hover{color:var(--text)}.replay-body.svelte-ggy6pw{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { _ as fallback, $ as bind_props } from "./index.js";
|
|
7
7
|
import { a as attr } from "./attributes.js";
|
|
8
8
|
import { e as escape_html } from "./escaping.js";
|
|
9
9
|
function BackLink($$payload, $$props) {
|