plum-e2e 2.9.17 → 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/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 +30 -0
- 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
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { a0 as store_get, a2 as copy_payload, a3 as assign_payload, a1 as unsubscribe_stores, p as pop, a as push, Y as ensure_array_like, X as head, Z as stringify } from "../../../chunks/index.js";
|
|
7
7
|
import "../../../chunks/client.js";
|
|
8
|
-
import { A as API_BASE, M as MAX_TEST_RETRIES, B as BROWSERS } from "../../../chunks/constants.js";
|
|
8
|
+
import { A as API_BASE, M as MAX_TEST_RETRIES, B as BROWSERS, T as TOAST_TIMEOUT_MS } from "../../../chunks/constants.js";
|
|
9
9
|
import { a as auth } from "../../../chunks/auth.js";
|
|
10
|
-
import {
|
|
10
|
+
import { a as builtInEnabled } from "../../../chunks/runner.js";
|
|
11
11
|
import { t as theme } from "../../../chunks/theme.js";
|
|
12
12
|
import { T as Toast, B as Button } from "../../../chunks/Toast.js";
|
|
13
13
|
import { C as ConfirmModal } from "../../../chunks/ConfirmModal.js";
|
|
@@ -15,6 +15,13 @@ import { B as Badge } from "../../../chunks/Badge.js";
|
|
|
15
15
|
import { a as SAVE_LABEL, b as CANCEL_LABEL, E as EDIT_LABEL, c as EMAIL_LABEL } from "../../../chunks/common.js";
|
|
16
16
|
import { e as escape_html } from "../../../chunks/escaping.js";
|
|
17
17
|
import { a as attr } from "../../../chunks/attributes.js";
|
|
18
|
+
function authHeaders() {
|
|
19
|
+
return { Authorization: `Bearer ${auth.getToken()}` };
|
|
20
|
+
}
|
|
21
|
+
async function fetchS3Backups() {
|
|
22
|
+
const res = await fetch(`${API_BASE}/backup/s3-backups`, { headers: authHeaders() });
|
|
23
|
+
return res.json();
|
|
24
|
+
}
|
|
18
25
|
const PAGE_TITLE = "Settings — Plum";
|
|
19
26
|
const HEADING = "Settings";
|
|
20
27
|
const NAME_LABEL = "Name";
|
|
@@ -90,7 +97,7 @@ const SLACK_WEBHOOK_LABEL = "Slack Webhook URL";
|
|
|
90
97
|
const SLACK_WEBHOOK_HINT = "Leave blank to disable Slack notifications";
|
|
91
98
|
const SLACK_WEBHOOK_PLACEHOLDER = "https://hooks.slack.com/services/…";
|
|
92
99
|
const PUBLIC_URL_LABEL = "Public URL";
|
|
93
|
-
const PUBLIC_URL_HINT = "Base URL of this Plum instance
|
|
100
|
+
const PUBLIC_URL_HINT = "Base URL of this Plum instance — used to link reports in notifications, and by remote runner nodes to stream live test output back here";
|
|
94
101
|
const PUBLIC_URL_PLACEHOLDER = "https://plum.yourcompany.com";
|
|
95
102
|
const CI_TRIGGERS_CARD_TITLE = "CI / External Triggers";
|
|
96
103
|
const CI_DESC_PART1 = "Trigger a Plum run from GitHub Actions (e.g. on a pull request, against its preview deployment) or any other external script by calling";
|
|
@@ -132,8 +139,10 @@ const EXPORT_BLOCK_DESC_SUFFIX = "file with all cron jobs, test cases, test runs
|
|
|
132
139
|
const IMPORT_BLOCK_TITLE = "Import";
|
|
133
140
|
const IMPORT_BLOCK_DESC = "Restores all data from a previously exported backup. Existing records are overwritten. Cron jobs are re-scheduled after import.";
|
|
134
141
|
const CHOOSE_FILE_LABEL = "Choose file…";
|
|
135
|
-
const
|
|
136
|
-
const
|
|
142
|
+
const INCLUDE_REPORTS_LABEL = "Include reports & recordings";
|
|
143
|
+
const INCLUDE_REPORTS_HINT = "Applies to both manual export and scheduled S3 backups. Can make backups significantly larger — recordings are session replays, not just screenshots.";
|
|
144
|
+
const includeReportsDisclaimer = (included) => '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.';
|
|
145
|
+
const saveIncludeReportsLabel = (saving) => SAVE_LABEL;
|
|
137
146
|
const S3_STORAGE_CARD_TITLE = "S3 Storage";
|
|
138
147
|
const S3_STORAGE_DESC_PREFIX = "Works with any S3-compatible provider — Cloudflare R2, Backblaze B2, AWS S3, or MinIO. Leave";
|
|
139
148
|
const ENDPOINT_URL_LABEL = "Endpoint URL";
|
|
@@ -157,6 +166,13 @@ const SAVE_S3_CONFIG_LABEL = "Save S3 Config";
|
|
|
157
166
|
const SECRET_KEY_REQUIRED_HINT = "Required";
|
|
158
167
|
const SECRET_KEY_SET_PLACEHOLDER = "••••••••";
|
|
159
168
|
const SECRET_KEY_UNSET_PLACEHOLDER = "Enter secret key";
|
|
169
|
+
const RESTORE_FROM_S3_CARD_TITLE = "Restore from S3";
|
|
170
|
+
const RESTORE_FROM_S3_DESC = "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.";
|
|
171
|
+
const CONFIGURE_S3_FIRST_RESTORE_MESSAGE = "Configure S3 storage above to restore from it.";
|
|
172
|
+
const NO_S3_BACKUPS_MESSAGE = "No backups found at this bucket/prefix.";
|
|
173
|
+
const REFRESH_LABEL = "Refresh";
|
|
174
|
+
const RESTORE_CONFIRM_TITLE = "Restore this backup?";
|
|
175
|
+
const LIST_S3_BACKUPS_FAILED = "Failed to list S3 backups.";
|
|
160
176
|
const SCHEDULED_BACKUP_CARD_TITLE = "Scheduled Backup";
|
|
161
177
|
const CONFIGURE_S3_FIRST_MESSAGE = "Configure S3 storage above to enable scheduled backups.";
|
|
162
178
|
const ENABLE_SCHEDULED_BACKUP_LABEL = "Enable scheduled backup";
|
|
@@ -175,6 +191,9 @@ const testConnectionLabel = (testing) => TEST_CONNECTION_LABEL;
|
|
|
175
191
|
const saveS3ConfigLabel = (saving) => SAVE_S3_CONFIG_LABEL;
|
|
176
192
|
const uploadS3NowLabel = (running) => UPLOAD_TO_S3_NOW_LABEL;
|
|
177
193
|
const saveScheduleLabel = (saving) => SAVE_SCHEDULE_LABEL;
|
|
194
|
+
const restoreLabel = (restoring) => restoring ? "Restoring…" : "Restore";
|
|
195
|
+
const refreshingLabel = (loading) => loading ? "Loading…" : REFRESH_LABEL;
|
|
196
|
+
const backupSizeLabel = (bytes) => `${(bytes / 1024).toFixed(1)} KB`;
|
|
178
197
|
function _page($$payload, $$props) {
|
|
179
198
|
push();
|
|
180
199
|
var $$store_subs;
|
|
@@ -229,12 +248,19 @@ function _page($$payload, $$props) {
|
|
|
229
248
|
backupS3Bucket: "",
|
|
230
249
|
backupS3AccessKey: "",
|
|
231
250
|
backupS3SecretKey: "",
|
|
232
|
-
backupS3Prefix: ""
|
|
251
|
+
backupS3Prefix: "",
|
|
252
|
+
backupIncludeReports: false
|
|
233
253
|
};
|
|
234
254
|
let backupConfigSaving = false;
|
|
255
|
+
let includeReportsSaving = false;
|
|
235
256
|
let backupS3SecretKeySet = false;
|
|
236
257
|
let backupTestingS3 = false;
|
|
237
258
|
let backupRunningNow = false;
|
|
259
|
+
let s3Backups = [];
|
|
260
|
+
let s3BackupsLoaded = false;
|
|
261
|
+
let loadingS3Backups = false;
|
|
262
|
+
let restoringKey = null;
|
|
263
|
+
let restoreConfirmOpen = false;
|
|
238
264
|
let runners = [];
|
|
239
265
|
let pingResults = {};
|
|
240
266
|
let stoppingId = null;
|
|
@@ -246,6 +272,22 @@ function _page($$payload, $$props) {
|
|
|
246
272
|
token: ""
|
|
247
273
|
};
|
|
248
274
|
let editFormSaving = false;
|
|
275
|
+
function showToast(type, message) {
|
|
276
|
+
toast = { type, message };
|
|
277
|
+
setTimeout(() => toast = null, TOAST_TIMEOUT_MS);
|
|
278
|
+
}
|
|
279
|
+
async function loadS3Backups() {
|
|
280
|
+
loadingS3Backups = true;
|
|
281
|
+
try {
|
|
282
|
+
const result = await fetchS3Backups();
|
|
283
|
+
if (result.error) throw new Error(result.error);
|
|
284
|
+
s3Backups = result.backups ?? [];
|
|
285
|
+
} catch (e) {
|
|
286
|
+
showToast("error", e.message || LIST_S3_BACKUPS_FAILED);
|
|
287
|
+
} finally {
|
|
288
|
+
loadingS3Backups = false;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
249
291
|
const ADMIN_SECTIONS = /* @__PURE__ */ new Set([
|
|
250
292
|
"project",
|
|
251
293
|
"runners",
|
|
@@ -259,6 +301,10 @@ function _page($$payload, $$props) {
|
|
|
259
301
|
section = "account";
|
|
260
302
|
}
|
|
261
303
|
s3Configured = false;
|
|
304
|
+
if (s3Configured && !s3BackupsLoaded) {
|
|
305
|
+
s3BackupsLoaded = true;
|
|
306
|
+
loadS3Backups();
|
|
307
|
+
}
|
|
262
308
|
JSON.stringify(
|
|
263
309
|
{
|
|
264
310
|
mcpServers: {
|
|
@@ -298,27 +344,27 @@ function _page($$payload, $$props) {
|
|
|
298
344
|
$$payload3.title = `<title>${escape_html(PAGE_TITLE)}</title>`;
|
|
299
345
|
});
|
|
300
346
|
Toast($$payload2, { toast });
|
|
301
|
-
$$payload2.out += `<!----> <div class="page-header svelte-
|
|
347
|
+
$$payload2.out += `<!----> <div class="page-header svelte-1b139ls"><h1 class="svelte-1b139ls">${escape_html(HEADING)}</h1></div> <div class="settings-layout svelte-1b139ls"><aside class="settings-sidebar svelte-1b139ls"><nav class="svelte-1b139ls"><!--[-->`;
|
|
302
348
|
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
303
349
|
let item = each_array[$$index];
|
|
304
|
-
$$payload2.out += `<button${attr("class", `sidebar-item svelte-
|
|
350
|
+
$$payload2.out += `<button${attr("class", `sidebar-item svelte-1b139ls ${stringify([section === item.id ? "active" : ""].filter(Boolean).join(" "))}`)}>${escape_html(item.label)}</button>`;
|
|
305
351
|
}
|
|
306
|
-
$$payload2.out += `<!--]--></nav></aside> <div class="settings-content svelte-
|
|
352
|
+
$$payload2.out += `<!--]--></nav></aside> <div class="settings-content svelte-1b139ls">`;
|
|
307
353
|
if (section === "project") {
|
|
308
354
|
$$payload2.out += "<!--[-->";
|
|
309
355
|
const each_array_1 = ensure_array_like(TIMEZONES);
|
|
310
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
356
|
+
$$payload2.out += `<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls">${escape_html(PROJECT_LABEL)}</h2> <p class="content-desc svelte-1b139ls">${escape_html(PROJECT_DESC)}</p></div> <div class="card settings-card svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" for="project-name">${escape_html(PROJECT_NAME_LABEL)}</label> <input id="project-name" type="text" class="field-input"${attr("value", project.name)}${attr("placeholder", PROJECT_NAME_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-1b139ls" for="project-logo"><span>${escape_html(LOGO_URL_LABEL)}</span> <span class="field-hint svelte-1b139ls">${escape_html(LOGO_URL_HINT)}</span></label> <input id="project-logo" type="url" class="field-input"${attr("value", project.logoUrl)}${attr("placeholder", LOGO_URL_PLACEHOLDER)}></div> `;
|
|
311
357
|
{
|
|
312
358
|
$$payload2.out += "<!--[!-->";
|
|
313
359
|
}
|
|
314
|
-
$$payload2.out += `<!--]--> <div class="field"><label class="field-label svelte-
|
|
360
|
+
$$payload2.out += `<!--]--> <div class="field"><label class="field-label svelte-1b139ls" for="project-timezone"><span>${escape_html(TIMEZONE_LABEL)}</span> <span class="field-hint svelte-1b139ls">${escape_html(TIMEZONE_HINT)}</span></label> <select id="project-timezone" class="field-input"><!--[-->`;
|
|
315
361
|
for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
|
|
316
362
|
let tz = each_array_1[$$index_1];
|
|
317
363
|
$$payload2.out += `<option${attr("value", tz)}>${escape_html(tz)}</option>`;
|
|
318
364
|
}
|
|
319
|
-
$$payload2.out += `<!--]--></select></div> <div class="field"><label class="field-label svelte-
|
|
365
|
+
$$payload2.out += `<!--]--></select></div> <div class="field"><label class="field-label svelte-1b139ls" for="project-max-retries"><span>${escape_html(RETRY_FAILED_TESTS_LABEL)}</span> <span class="field-hint svelte-1b139ls">${escape_html(RETRY_FAILED_TESTS_HINT)}</span></label> <input id="project-max-retries" type="number" class="field-input" min="0"${attr("max", MAX_TEST_RETRIES)}${attr("value", project.maxRetries)}></div> <div class="toggle-row svelte-1b139ls"><div class="toggle-info svelte-1b139ls"><span class="toggle-label svelte-1b139ls">${escape_html(DARK_MODE_LABEL)}</span> <span class="toggle-desc svelte-1b139ls">${escape_html(DARK_MODE_DESC)}</span></div> <button${attr("class", `toggle-switch svelte-1b139ls ${stringify([
|
|
320
366
|
store_get($$store_subs ??= {}, "$theme", theme) === "dark" ? "on" : ""
|
|
321
|
-
].filter(Boolean).join(" "))}`)} role="switch"${attr("aria-checked", store_get($$store_subs ??= {}, "$theme", theme) === "dark")}><span class="toggle-thumb svelte-
|
|
367
|
+
].filter(Boolean).join(" "))}`)} role="switch"${attr("aria-checked", store_get($$store_subs ??= {}, "$theme", theme) === "dark")}><span class="toggle-thumb svelte-1b139ls"></span></button></div> <div class="card-footer svelte-1b139ls">`;
|
|
322
368
|
Button($$payload2, {
|
|
323
369
|
disabled: projectSaving,
|
|
324
370
|
children: ($$payload3) => {
|
|
@@ -331,20 +377,20 @@ function _page($$payload, $$props) {
|
|
|
331
377
|
$$payload2.out += "<!--[!-->";
|
|
332
378
|
if (section === "runners") {
|
|
333
379
|
$$payload2.out += "<!--[-->";
|
|
334
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
380
|
+
$$payload2.out += `<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls">${escape_html(RUNNERS_LABEL)}</h2> <p class="content-desc svelte-1b139ls">${escape_html(RUNNERS_DESC)}</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">${escape_html(BUILTIN_RUNNER_TOGGLE_LABEL)}</span> <span class="toggle-desc svelte-1b139ls">${escape_html(BUILTIN_RUNNER_TOGGLE_DESC)}</span></div> <button${attr("class", `toggle-switch svelte-1b139ls ${stringify([
|
|
335
381
|
store_get($$store_subs ??= {}, "$builtInEnabled", builtInEnabled) ? "on" : ""
|
|
336
|
-
].filter(Boolean).join(" "))}`)} role="switch"${attr("aria-checked", store_get($$store_subs ??= {}, "$builtInEnabled", builtInEnabled))}><span class="toggle-thumb svelte-
|
|
382
|
+
].filter(Boolean).join(" "))}`)} role="switch"${attr("aria-checked", store_get($$store_subs ??= {}, "$builtInEnabled", builtInEnabled))}><span class="toggle-thumb svelte-1b139ls"></span></button></div> `;
|
|
337
383
|
if (runners.length > 0) {
|
|
338
384
|
$$payload2.out += "<!--[-->";
|
|
339
385
|
const each_array_2 = ensure_array_like(runners);
|
|
340
|
-
$$payload2.out += `<div class="runner-cards svelte-
|
|
386
|
+
$$payload2.out += `<div class="runner-cards svelte-1b139ls"><!--[-->`;
|
|
341
387
|
for (let $$index_3 = 0, $$length = each_array_2.length; $$index_3 < $$length; $$index_3++) {
|
|
342
388
|
let r = each_array_2[$$index_3];
|
|
343
389
|
const ping = pingResults[r.id];
|
|
344
390
|
if (editingId === r.id) {
|
|
345
391
|
$$payload2.out += "<!--[-->";
|
|
346
392
|
const each_array_3 = ensure_array_like(BROWSERS);
|
|
347
|
-
$$payload2.out += `<div class="runner-card editing svelte-
|
|
393
|
+
$$payload2.out += `<div class="runner-card editing svelte-1b139ls"><div class="runner-form-fields svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls"${attr("for", `edit-name-${stringify(r.id)}`)}>${escape_html(NAME_LABEL)}</label> <input${attr("id", `edit-name-${stringify(r.id)}`)} type="text" class="field-input"${attr("value", editForm.name)}${attr("placeholder", RUNNER_NAME_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-1b139ls"${attr("for", `edit-url-${stringify(r.id)}`)}>${escape_html(RUNNER_URL_LABEL)} <span class="field-hint svelte-1b139ls">${escape_html(RUNNER_URL_HINT_PREFIX)} <code>host.docker.internal</code> ${escape_html(RUNNER_URL_HINT_SUFFIX)}</span></label> <input${attr("id", `edit-url-${stringify(r.id)}`)} type="url" class="field-input"${attr("value", editForm.url)}${attr("placeholder", RUNNER_URL_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-1b139ls"${attr("for", `edit-token-${stringify(r.id)}`)}>${escape_html(TOKEN_LABEL)}</label> <input${attr("id", `edit-token-${stringify(r.id)}`)} type="text" class="field-input"${attr("value", editForm.token)}${attr("placeholder", KEEP_TOKEN_PLACEHOLDER)} spellcheck="false" autocomplete="off"></div> <div class="field"><label class="field-label svelte-1b139ls"${attr("for", `edit-browser-${stringify(r.id)}`)}>${escape_html(BROWSER_LABEL)}</label> <select${attr("id", `edit-browser-${stringify(r.id)}`)} class="field-input"><!--[-->`;
|
|
348
394
|
for (let $$index_2 = 0, $$length2 = each_array_3.length; $$index_2 < $$length2; $$index_2++) {
|
|
349
395
|
let b = each_array_3[$$index_2];
|
|
350
396
|
$$payload2.out += `<option${attr("value", b.id)}>${escape_html(b.label)}</option>`;
|
|
@@ -353,7 +399,7 @@ function _page($$payload, $$props) {
|
|
|
353
399
|
{
|
|
354
400
|
$$payload2.out += "<!--[!-->";
|
|
355
401
|
}
|
|
356
|
-
$$payload2.out += `<!--]--> <div class="runner-form-actions svelte-
|
|
402
|
+
$$payload2.out += `<!--]--> <div class="runner-form-actions svelte-1b139ls">`;
|
|
357
403
|
Button($$payload2, {
|
|
358
404
|
disabled: editFormSaving,
|
|
359
405
|
children: ($$payload3) => {
|
|
@@ -373,28 +419,28 @@ function _page($$payload, $$props) {
|
|
|
373
419
|
$$payload2.out += `<!----></div></div>`;
|
|
374
420
|
} else {
|
|
375
421
|
$$payload2.out += "<!--[!-->";
|
|
376
|
-
$$payload2.out += `<div class="runner-card svelte-
|
|
422
|
+
$$payload2.out += `<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">${escape_html(r.name)}</span> <span class="runner-browser-pill svelte-1b139ls">${escape_html(r.browser)}</span> `;
|
|
377
423
|
if (ping && !ping.loading) {
|
|
378
424
|
$$payload2.out += "<!--[-->";
|
|
379
425
|
if (ping.ok) {
|
|
380
426
|
$$payload2.out += "<!--[-->";
|
|
381
|
-
$$payload2.out += `<span class="ping-badge ok svelte-
|
|
427
|
+
$$payload2.out += `<span class="ping-badge ok svelte-1b139ls">${escape_html(ping.latency)}ms</span>`;
|
|
382
428
|
} else {
|
|
383
429
|
$$payload2.out += "<!--[!-->";
|
|
384
|
-
$$payload2.out += `<span class="ping-badge fail svelte-
|
|
430
|
+
$$payload2.out += `<span class="ping-badge fail svelte-1b139ls"${attr("title", ping.error)}>${escape_html(RUNNER_UNREACHABLE_LABEL)}</span>`;
|
|
385
431
|
}
|
|
386
432
|
$$payload2.out += `<!--]-->`;
|
|
387
433
|
} else {
|
|
388
434
|
$$payload2.out += "<!--[!-->";
|
|
389
435
|
if (ping?.loading) {
|
|
390
436
|
$$payload2.out += "<!--[-->";
|
|
391
|
-
$$payload2.out += `<span class="ping-badge pinging svelte-
|
|
437
|
+
$$payload2.out += `<span class="ping-badge pinging svelte-1b139ls">${escape_html(RUNNER_PINGING_LABEL)}</span>`;
|
|
392
438
|
} else {
|
|
393
439
|
$$payload2.out += "<!--[!-->";
|
|
394
440
|
}
|
|
395
441
|
$$payload2.out += `<!--]-->`;
|
|
396
442
|
}
|
|
397
|
-
$$payload2.out += `<!--]--></div> <p class="runner-card-url svelte-
|
|
443
|
+
$$payload2.out += `<!--]--></div> <p class="runner-card-url svelte-1b139ls">${escape_html(r.url)}</p> <div class="runner-card-actions svelte-1b139ls">`;
|
|
398
444
|
Button($$payload2, {
|
|
399
445
|
variant: "ghost",
|
|
400
446
|
size: "sm",
|
|
@@ -443,7 +489,7 @@ function _page($$payload, $$props) {
|
|
|
443
489
|
$$payload2.out += `<!--]--> `;
|
|
444
490
|
{
|
|
445
491
|
$$payload2.out += "<!--[!-->";
|
|
446
|
-
$$payload2.out += `<div class="card-footer svelte-
|
|
492
|
+
$$payload2.out += `<div class="card-footer svelte-1b139ls">`;
|
|
447
493
|
Button($$payload2, {
|
|
448
494
|
variant: "ghost",
|
|
449
495
|
children: ($$payload3) => {
|
|
@@ -458,7 +504,7 @@ function _page($$payload, $$props) {
|
|
|
458
504
|
$$payload2.out += "<!--[!-->";
|
|
459
505
|
if (section === "repository") {
|
|
460
506
|
$$payload2.out += "<!--[-->";
|
|
461
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
507
|
+
$$payload2.out += `<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls">${escape_html(REPOSITORY_HEADING)}</h2> <p class="content-desc svelte-1b139ls">${escape_html(REPOSITORY_DESC)}</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">${escape_html(CASE_PREFIX_LABEL)}</label> <input id="tc-prefix" type="text" class="field-input mono svelte-1b139ls"${attr("value", prefixes.testCasePrefix)}${attr("placeholder", CASE_PREFIX_PLACEHOLDER)} maxlength="10"></div> <div class="field"><label class="field-label svelte-1b139ls" for="ts-prefix">${escape_html(SUITE_PREFIX_LABEL)}</label> <input id="ts-prefix" type="text" class="field-input mono svelte-1b139ls"${attr("value", prefixes.testSuitePrefix)}${attr("placeholder", SUITE_PREFIX_PLACEHOLDER)} maxlength="10"></div></div> <p class="content-desc svelte-1b139ls">${escape_html(EXAMPLES_LABEL)} <code class="code-sample svelte-1b139ls">${escape_html(prefixes.testCasePrefix)}-001</code>, <code class="code-sample svelte-1b139ls">${escape_html(prefixes.testSuitePrefix)}-001</code></p> <div class="card-footer svelte-1b139ls">`;
|
|
462
508
|
Button($$payload2, {
|
|
463
509
|
disabled: prefixesSaving,
|
|
464
510
|
children: ($$payload3) => {
|
|
@@ -466,7 +512,7 @@ function _page($$payload, $$props) {
|
|
|
466
512
|
},
|
|
467
513
|
$$slots: { default: true }
|
|
468
514
|
});
|
|
469
|
-
$$payload2.out += `<!----></div></div> <div class="content-header svelte-
|
|
515
|
+
$$payload2.out += `<!----></div></div> <div class="content-header svelte-1b139ls" style="margin-top: 1rem"><h2 class="svelte-1b139ls">${escape_html(MIGRATE_IDS_HEADING)}</h2> <p class="content-desc svelte-1b139ls">${escape_html(MIGRATE_DESC_PREFIX)} <strong>${escape_html(MIGRATE_DESC_STRONG)}</strong> ${escape_html(MIGRATE_DESC_SUFFIX)}</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">${escape_html(NEW_CASE_PREFIX_LABEL)}</label> <input id="mig-tc" type="text" class="field-input mono svelte-1b139ls"${attr("value", migrateForm.testCasePrefix)}${attr("placeholder", prefixes.testCasePrefix)} maxlength="10"></div> <div class="field"><label class="field-label svelte-1b139ls" for="mig-ts">${escape_html(NEW_SUITE_PREFIX_LABEL)}</label> <input id="mig-ts" type="text" class="field-input mono svelte-1b139ls"${attr("value", migrateForm.testSuitePrefix)}${attr("placeholder", prefixes.testSuitePrefix)} maxlength="10"></div></div> <div class="card-footer svelte-1b139ls">`;
|
|
470
516
|
Button($$payload2, {
|
|
471
517
|
variant: "ghost",
|
|
472
518
|
disabled: migrating,
|
|
@@ -480,7 +526,7 @@ function _page($$payload, $$props) {
|
|
|
480
526
|
$$payload2.out += "<!--[!-->";
|
|
481
527
|
if (section === "integrations") {
|
|
482
528
|
$$payload2.out += "<!--[-->";
|
|
483
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
529
|
+
$$payload2.out += `<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls">${escape_html(INTEGRATIONS_LABEL)}</h2> <p class="content-desc svelte-1b139ls">${escape_html(INTEGRATIONS_DESC)}</p></div> <div class="card settings-card svelte-1b139ls"><p class="card-title">${escape_html(WEBHOOKS_CARD_TITLE)}</p> <div class="field"><label class="field-label svelte-1b139ls" for="discord-url"><span>${escape_html(DISCORD_WEBHOOK_LABEL)}</span> <span class="field-hint svelte-1b139ls">${escape_html(DISCORD_WEBHOOK_HINT)}</span></label> <input id="discord-url" type="url" class="field-input"${attr("value", integrations.discordWebhookUrl)}${attr("placeholder", DISCORD_WEBHOOK_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-1b139ls" for="slack-url"><span>${escape_html(SLACK_WEBHOOK_LABEL)}</span> <span class="field-hint svelte-1b139ls">${escape_html(SLACK_WEBHOOK_HINT)}</span></label> <input id="slack-url" type="url" class="field-input"${attr("value", integrations.slackWebhookUrl)}${attr("placeholder", SLACK_WEBHOOK_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-1b139ls" for="public-url"><span>${escape_html(PUBLIC_URL_LABEL)}</span> <span class="field-hint svelte-1b139ls">${escape_html(PUBLIC_URL_HINT)}</span></label> <input id="public-url" type="url" class="field-input"${attr("value", integrations.notifyPublicUrl)}${attr("placeholder", PUBLIC_URL_PLACEHOLDER)}></div> `;
|
|
484
530
|
Button($$payload2, {
|
|
485
531
|
disabled: integrationsSaving,
|
|
486
532
|
children: ($$payload3) => {
|
|
@@ -488,7 +534,7 @@ function _page($$payload, $$props) {
|
|
|
488
534
|
},
|
|
489
535
|
$$slots: { default: true }
|
|
490
536
|
});
|
|
491
|
-
$$payload2.out += `<!----></div> <div class="card settings-card svelte-
|
|
537
|
+
$$payload2.out += `<!----></div> <div class="card settings-card svelte-1b139ls"><p class="card-title">${escape_html(CI_TRIGGERS_CARD_TITLE)}</p> <p class="content-desc svelte-1b139ls">${escape_html(CI_DESC_PART1)} <code class="code-sample svelte-1b139ls">POST ${escape_html(API_BASE)}/trigger</code> ${escape_html(CI_DESC_PART2)} <code class="code-sample svelte-1b139ls">Authorization: ApiKey …</code> ${escape_html(CI_DESC_PART3)} <button class="link-btn svelte-1b139ls">${escape_html(MCP_TAB_LINK_LABEL)}</button> ${escape_html(CI_DESC_PART4)} `;
|
|
492
538
|
Badge($$payload2, {
|
|
493
539
|
variant: "external",
|
|
494
540
|
children: ($$payload3) => {
|
|
@@ -496,7 +542,7 @@ function _page($$payload, $$props) {
|
|
|
496
542
|
},
|
|
497
543
|
$$slots: { default: true }
|
|
498
544
|
});
|
|
499
|
-
$$payload2.out += `<!---->.</p> <pre class="mcp-snippet svelte-
|
|
545
|
+
$$payload2.out += `<!---->.</p> <pre class="mcp-snippet svelte-1b139ls">${escape_html(ciWorkflowSnippet)}</pre> <div class="card-footer svelte-1b139ls">`;
|
|
500
546
|
Button($$payload2, {
|
|
501
547
|
variant: "ghost",
|
|
502
548
|
children: ($$payload3) => {
|
|
@@ -509,10 +555,10 @@ function _page($$payload, $$props) {
|
|
|
509
555
|
$$payload2.out += "<!--[!-->";
|
|
510
556
|
if (section === "mcp") {
|
|
511
557
|
$$payload2.out += "<!--[-->";
|
|
512
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
558
|
+
$$payload2.out += `<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls">${escape_html(MCP_HEADING)}</h2> <p class="content-desc svelte-1b139ls">${escape_html(MCP_DESC)}</p></div> <div class="card settings-card svelte-1b139ls"><p class="card-title">${escape_html(API_KEY_CARD_TITLE)}</p> `;
|
|
513
559
|
{
|
|
514
560
|
$$payload2.out += "<!--[-->";
|
|
515
|
-
$$payload2.out += `<p class="content-desc svelte-
|
|
561
|
+
$$payload2.out += `<p class="content-desc svelte-1b139ls">${escape_html(NO_KEY_GENERATED_MESSAGE)}</p> <div class="card-footer svelte-1b139ls">`;
|
|
516
562
|
Button($$payload2, {
|
|
517
563
|
disabled: mcpGenerating,
|
|
518
564
|
children: ($$payload3) => {
|
|
@@ -531,11 +577,11 @@ function _page($$payload, $$props) {
|
|
|
531
577
|
$$payload2.out += "<!--[!-->";
|
|
532
578
|
if (section === "account") {
|
|
533
579
|
$$payload2.out += "<!--[-->";
|
|
534
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
580
|
+
$$payload2.out += `<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls">${escape_html(ACCOUNT_LABEL)}</h2> <p class="content-desc svelte-1b139ls">${escape_html(ACCOUNT_DESC)}</p></div> <div class="card settings-card svelte-1b139ls"><p class="card-title">${escape_html(PROFILE_CARD_TITLE)}</p> <div class="field"><label class="field-label svelte-1b139ls" for="profile-name">${escape_html(NAME_LABEL)}</label> <input id="profile-name" type="text" class="field-input"${attr("value", profileForm.name)}></div> <div class="field"><label class="field-label svelte-1b139ls" for="profile-email">${escape_html(EMAIL_LABEL)}</label> <input id="profile-email" type="email" class="field-input"${attr("value", profileForm.email)}></div> `;
|
|
535
581
|
{
|
|
536
582
|
$$payload2.out += "<!--[!-->";
|
|
537
583
|
}
|
|
538
|
-
$$payload2.out += `<!--]--> <div class="card-footer svelte-
|
|
584
|
+
$$payload2.out += `<!--]--> <div class="card-footer svelte-1b139ls">`;
|
|
539
585
|
Button($$payload2, {
|
|
540
586
|
disabled: true,
|
|
541
587
|
children: ($$payload3) => {
|
|
@@ -543,11 +589,11 @@ function _page($$payload, $$props) {
|
|
|
543
589
|
},
|
|
544
590
|
$$slots: { default: true }
|
|
545
591
|
});
|
|
546
|
-
$$payload2.out += `<!----></div></div> <div class="card settings-card svelte-
|
|
592
|
+
$$payload2.out += `<!----></div></div> <div class="card settings-card svelte-1b139ls"><p class="card-title">${escape_html(CHANGE_PASSWORD_CARD_TITLE)}</p> <div class="field"><label class="field-label svelte-1b139ls" for="pw-current">${escape_html(CURRENT_PASSWORD_LABEL)}</label> <input id="pw-current" type="password" class="field-input"${attr("value", pwForm.currentPassword)} autocomplete="current-password"></div> <div class="field"><label class="field-label svelte-1b139ls" for="pw-new">${escape_html(NEW_PASSWORD_LABEL)}</label> <input id="pw-new" type="password" class="field-input"${attr("value", pwForm.newPassword)} autocomplete="new-password"></div> <div class="field"><label class="field-label svelte-1b139ls" for="pw-confirm">${escape_html(CONFIRM_NEW_PASSWORD_LABEL)}</label> <input id="pw-confirm" type="password" class="field-input"${attr("value", pwForm.confirmPassword)} autocomplete="new-password"></div> `;
|
|
547
593
|
{
|
|
548
594
|
$$payload2.out += "<!--[!-->";
|
|
549
595
|
}
|
|
550
|
-
$$payload2.out += `<!--]--> <div class="card-footer svelte-
|
|
596
|
+
$$payload2.out += `<!--]--> <div class="card-footer svelte-1b139ls">`;
|
|
551
597
|
Button($$payload2, {
|
|
552
598
|
disabled: true,
|
|
553
599
|
children: ($$payload3) => {
|
|
@@ -555,7 +601,7 @@ function _page($$payload, $$props) {
|
|
|
555
601
|
},
|
|
556
602
|
$$slots: { default: true }
|
|
557
603
|
});
|
|
558
|
-
$$payload2.out += `<!----></div></div> <div class="card settings-card svelte-
|
|
604
|
+
$$payload2.out += `<!----></div></div> <div class="card settings-card svelte-1b139ls"><div class="card-footer svelte-1b139ls">`;
|
|
559
605
|
Button($$payload2, {
|
|
560
606
|
variant: "danger",
|
|
561
607
|
size: "sm",
|
|
@@ -569,7 +615,7 @@ function _page($$payload, $$props) {
|
|
|
569
615
|
$$payload2.out += "<!--[!-->";
|
|
570
616
|
if (section === "users") {
|
|
571
617
|
$$payload2.out += "<!--[-->";
|
|
572
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
618
|
+
$$payload2.out += `<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls">${escape_html(USERS_LABEL)}</h2> <p class="content-desc svelte-1b139ls">${escape_html(USERS_DESC)}</p></div> `;
|
|
573
619
|
ConfirmModal($$payload2, {
|
|
574
620
|
title: REMOVE_USER_MODAL_TITLE,
|
|
575
621
|
confirmLabel: REMOVE_USER_LABEL,
|
|
@@ -588,11 +634,11 @@ function _page($$payload, $$props) {
|
|
|
588
634
|
},
|
|
589
635
|
$$slots: { default: true }
|
|
590
636
|
});
|
|
591
|
-
$$payload2.out += `<!----> <div class="card settings-card svelte-
|
|
637
|
+
$$payload2.out += `<!----> <div class="card settings-card svelte-1b139ls"><p class="card-title">${escape_html(ADD_USER_CARD_TITLE)}</p> <div class="field-row svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" for="u-name">${escape_html(NAME_LABEL)}</label> <input id="u-name" type="text" class="field-input"${attr("value", userForm.name)}${attr("placeholder", USER_NAME_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-1b139ls" for="u-email">${escape_html(EMAIL_LABEL)}</label> <input id="u-email" type="email" class="field-input"${attr("value", userForm.email)}${attr("placeholder", USER_EMAIL_PLACEHOLDER)}></div></div> <div class="field-row svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" for="u-pw">${escape_html(PASSWORD_LABEL)}</label> <input id="u-pw" type="password" class="field-input"${attr("value", userForm.password)} autocomplete="new-password"></div> <div class="field"><label class="field-label svelte-1b139ls" for="u-role">${escape_html(ROLE_LABEL)}</label> <select id="u-role" class="field-input"><option value="user">${escape_html(USER_ROLE_OPTION)}</option><option value="admin">${escape_html(ADMIN_ROLE_OPTION)}</option></select></div></div> `;
|
|
592
638
|
{
|
|
593
639
|
$$payload2.out += "<!--[!-->";
|
|
594
640
|
}
|
|
595
|
-
$$payload2.out += `<!--]--> <div class="card-footer svelte-
|
|
641
|
+
$$payload2.out += `<!--]--> <div class="card-footer svelte-1b139ls">`;
|
|
596
642
|
Button($$payload2, {
|
|
597
643
|
disabled: userFormSaving,
|
|
598
644
|
children: ($$payload3) => {
|
|
@@ -604,16 +650,16 @@ function _page($$payload, $$props) {
|
|
|
604
650
|
if (allUsers.length > 0) {
|
|
605
651
|
$$payload2.out += "<!--[-->";
|
|
606
652
|
const each_array_5 = ensure_array_like(allUsers);
|
|
607
|
-
$$payload2.out += `<div class="users-table svelte-
|
|
653
|
+
$$payload2.out += `<div class="users-table svelte-1b139ls"><!--[-->`;
|
|
608
654
|
for (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {
|
|
609
655
|
let u = each_array_5[$$index_5];
|
|
610
|
-
$$payload2.out += `<div class="user-row svelte-
|
|
656
|
+
$$payload2.out += `<div class="user-row svelte-1b139ls"><div class="user-info svelte-1b139ls"><span class="user-name svelte-1b139ls">${escape_html(u.name)}</span> <span class="user-email svelte-1b139ls">${escape_html(u.email)}</span></div> <span${attr("class", `role-chip ${stringify(u.role)} svelte-1b139ls`)}>${escape_html(u.role)}</span> `;
|
|
611
657
|
if (u.id !== store_get($$store_subs ??= {}, "$auth", auth).user?.id) {
|
|
612
658
|
$$payload2.out += "<!--[-->";
|
|
613
|
-
$$payload2.out += `<button class="icon-btn danger svelte-
|
|
659
|
+
$$payload2.out += `<button class="icon-btn danger svelte-1b139ls"${attr("title", REMOVE_USER_ICON_TITLE)}><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>`;
|
|
614
660
|
} else {
|
|
615
661
|
$$payload2.out += "<!--[!-->";
|
|
616
|
-
$$payload2.out += `<span class="you-chip svelte-
|
|
662
|
+
$$payload2.out += `<span class="you-chip svelte-1b139ls">${escape_html(YOU_CHIP_LABEL)}</span>`;
|
|
617
663
|
}
|
|
618
664
|
$$payload2.out += `<!--]--></div>`;
|
|
619
665
|
}
|
|
@@ -626,7 +672,7 @@ function _page($$payload, $$props) {
|
|
|
626
672
|
$$payload2.out += "<!--[!-->";
|
|
627
673
|
if (section === "backup") {
|
|
628
674
|
$$payload2.out += "<!--[-->";
|
|
629
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
675
|
+
$$payload2.out += `<div class="content-section svelte-1b139ls"><div class="content-header svelte-1b139ls"><h2 class="svelte-1b139ls">${escape_html(BACKUP_LABEL)}</h2> <p class="content-desc svelte-1b139ls">${escape_html(BACKUP_DESC)}</p></div> <div class="card settings-card svelte-1b139ls"><p class="card-title">${escape_html(MANUAL_BACKUP_CARD_TITLE)}</p> <div class="backup-row svelte-1b139ls"><div class="backup-block svelte-1b139ls"><p class="backup-block-title svelte-1b139ls">${escape_html(EXPORT_BLOCK_TITLE)}</p> <p class="backup-block-desc svelte-1b139ls">${escape_html(EXPORT_BLOCK_DESC_PREFIX)} <code class="svelte-1b139ls">.json</code> ${escape_html(EXPORT_BLOCK_DESC_SUFFIX)}</p> `;
|
|
630
676
|
Button($$payload2, {
|
|
631
677
|
disabled: exporting,
|
|
632
678
|
children: ($$payload3) => {
|
|
@@ -634,7 +680,7 @@ function _page($$payload, $$props) {
|
|
|
634
680
|
},
|
|
635
681
|
$$slots: { default: true }
|
|
636
682
|
});
|
|
637
|
-
$$payload2.out += `<!----></div> <div class="backup-divider svelte-
|
|
683
|
+
$$payload2.out += `<!----></div> <div class="backup-divider svelte-1b139ls"></div> <div class="backup-block svelte-1b139ls"><p class="backup-block-title svelte-1b139ls">${escape_html(IMPORT_BLOCK_TITLE)}</p> <p class="backup-block-desc svelte-1b139ls">${escape_html(IMPORT_BLOCK_DESC)}</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">${escape_html(CHOOSE_FILE_LABEL)}</span></label> `;
|
|
638
684
|
Button($$payload2, {
|
|
639
685
|
disabled: true,
|
|
640
686
|
children: ($$payload3) => {
|
|
@@ -642,7 +688,18 @@ function _page($$payload, $$props) {
|
|
|
642
688
|
},
|
|
643
689
|
$$slots: { default: true }
|
|
644
690
|
});
|
|
645
|
-
$$payload2.out += `<!----></div></div></div> <
|
|
691
|
+
$$payload2.out += `<!----></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">${escape_html(INCLUDE_REPORTS_LABEL)} <span class="field-hint svelte-1b139ls">${escape_html(INCLUDE_REPORTS_HINT)}</span></span> <button id="include-reports"${attr("class", `toggle-btn svelte-1b139ls ${stringify([
|
|
692
|
+
""
|
|
693
|
+
].filter(Boolean).join(" "))}`)} role="switch"${attr("aria-checked", backupConfig.backupIncludeReports)}><span class="toggle-thumb svelte-1b139ls"></span></button></label> `;
|
|
694
|
+
Button($$payload2, {
|
|
695
|
+
variant: "ghost",
|
|
696
|
+
disabled: includeReportsSaving,
|
|
697
|
+
children: ($$payload3) => {
|
|
698
|
+
$$payload3.out += `<!---->${escape_html(saveIncludeReportsLabel())}`;
|
|
699
|
+
},
|
|
700
|
+
$$slots: { default: true }
|
|
701
|
+
});
|
|
702
|
+
$$payload2.out += `<!----></div> <p class="backup-disclaimer svelte-1b139ls">${escape_html(includeReportsDisclaimer())}</p></div> <div class="card settings-card svelte-1b139ls"><p class="card-title">${escape_html(S3_STORAGE_CARD_TITLE)}</p> <p class="backup-block-desc svelte-1b139ls" style="margin-bottom: 1.25rem;">${escape_html(S3_STORAGE_DESC_PREFIX)} <strong>${escape_html(ENDPOINT_URL_LABEL)}</strong> ${escape_html(S3_STORAGE_DESC_SUFFIX)}</p> <div class="field-row svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" for="s3-endpoint"><span>${escape_html(ENDPOINT_URL_LABEL)}</span> <span class="field-hint svelte-1b139ls">${escape_html(ENDPOINT_URL_HINT)}</span></label> <input id="s3-endpoint" type="url" class="field-input"${attr("value", backupConfig.backupS3Endpoint)}${attr("placeholder", ENDPOINT_URL_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-1b139ls" for="s3-region"><span>${escape_html(REGION_LABEL)}</span> <span class="field-hint svelte-1b139ls">${escape_html(REGION_HINT_PREFIX)} <code>auto</code> ${escape_html(REGION_HINT_SUFFIX)}</span></label> <input id="s3-region" type="text" class="field-input"${attr("value", backupConfig.backupS3Region)}${attr("placeholder", REGION_PLACEHOLDER)}></div></div> <div class="field-row svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" for="s3-bucket"><span>${escape_html(BUCKET_LABEL)}</span></label> <input id="s3-bucket" type="text" class="field-input"${attr("value", backupConfig.backupS3Bucket)}${attr("placeholder", BUCKET_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-1b139ls" for="s3-prefix"><span>${escape_html(PATH_PREFIX_LABEL)}</span> <span class="field-hint svelte-1b139ls">${escape_html(PATH_PREFIX_HINT)}</span></label> <input id="s3-prefix" type="text" class="field-input"${attr("value", backupConfig.backupS3Prefix)}${attr("placeholder", PATH_PREFIX_PLACEHOLDER)}></div></div> <div class="field-row svelte-1b139ls"><div class="field"><label class="field-label svelte-1b139ls" for="s3-access-key"><span>${escape_html(ACCESS_KEY_LABEL)}</span></label> <input id="s3-access-key" type="text" class="field-input"${attr("value", backupConfig.backupS3AccessKey)}${attr("placeholder", ACCESS_KEY_PLACEHOLDER)} autocomplete="off"></div> <div class="field"><label class="field-label svelte-1b139ls" for="s3-secret-key"><span>${escape_html(SECRET_KEY_LABEL)}</span> <span class="field-hint svelte-1b139ls">${escape_html(secretKeyHint())}</span></label> <input id="s3-secret-key" type="password" class="field-input"${attr("value", backupConfig.backupS3SecretKey)}${attr("placeholder", secretKeyPlaceholder(backupS3SecretKeySet))} autocomplete="new-password"></div></div> <div class="backup-actions svelte-1b139ls">`;
|
|
646
703
|
Button($$payload2, {
|
|
647
704
|
variant: "ghost",
|
|
648
705
|
disabled: backupTestingS3,
|
|
@@ -663,17 +720,82 @@ function _page($$payload, $$props) {
|
|
|
663
720
|
{
|
|
664
721
|
$$payload2.out += "<!--[!-->";
|
|
665
722
|
}
|
|
666
|
-
$$payload2.out += `<!--]--></div>
|
|
723
|
+
$$payload2.out += `<!--]--></div> `;
|
|
724
|
+
ConfirmModal($$payload2, {
|
|
725
|
+
title: RESTORE_CONFIRM_TITLE,
|
|
726
|
+
confirmLabel: restoreLabel(false),
|
|
727
|
+
loading: false,
|
|
728
|
+
get open() {
|
|
729
|
+
return restoreConfirmOpen;
|
|
730
|
+
},
|
|
731
|
+
set open($$value) {
|
|
732
|
+
restoreConfirmOpen = $$value;
|
|
733
|
+
$$settled = false;
|
|
734
|
+
},
|
|
735
|
+
children: ($$payload3) => {
|
|
736
|
+
{
|
|
737
|
+
$$payload3.out += "<!--[!-->";
|
|
738
|
+
}
|
|
739
|
+
$$payload3.out += `<!--]-->`;
|
|
740
|
+
},
|
|
741
|
+
$$slots: { default: true }
|
|
742
|
+
});
|
|
743
|
+
$$payload2.out += `<!----> <div${attr("class", `card settings-card svelte-1b139ls ${stringify([!s3Configured ? "card-disabled" : ""].filter(Boolean).join(" "))}`)}><div class="card-title-row svelte-1b139ls"><p class="card-title svelte-1b139ls">${escape_html(RESTORE_FROM_S3_CARD_TITLE)}</p> `;
|
|
744
|
+
if (s3Configured) {
|
|
745
|
+
$$payload2.out += "<!--[-->";
|
|
746
|
+
Button($$payload2, {
|
|
747
|
+
variant: "ghost",
|
|
748
|
+
disabled: loadingS3Backups,
|
|
749
|
+
children: ($$payload3) => {
|
|
750
|
+
$$payload3.out += `<!---->${escape_html(refreshingLabel(loadingS3Backups))}`;
|
|
751
|
+
},
|
|
752
|
+
$$slots: { default: true }
|
|
753
|
+
});
|
|
754
|
+
} else {
|
|
755
|
+
$$payload2.out += "<!--[!-->";
|
|
756
|
+
}
|
|
757
|
+
$$payload2.out += `<!--]--></div> `;
|
|
758
|
+
if (!s3Configured) {
|
|
759
|
+
$$payload2.out += "<!--[-->";
|
|
760
|
+
$$payload2.out += `<p class="backup-block-desc svelte-1b139ls">${escape_html(CONFIGURE_S3_FIRST_RESTORE_MESSAGE)}</p>`;
|
|
761
|
+
} else {
|
|
762
|
+
$$payload2.out += "<!--[!-->";
|
|
763
|
+
$$payload2.out += `<p class="backup-block-desc svelte-1b139ls" style="margin-bottom: 1rem;">${escape_html(RESTORE_FROM_S3_DESC)}</p> `;
|
|
764
|
+
if (s3Backups.length === 0) {
|
|
765
|
+
$$payload2.out += "<!--[-->";
|
|
766
|
+
$$payload2.out += `<p class="backup-block-desc svelte-1b139ls">${escape_html(loadingS3Backups ? refreshingLabel(true) : NO_S3_BACKUPS_MESSAGE)}</p>`;
|
|
767
|
+
} else {
|
|
768
|
+
$$payload2.out += "<!--[!-->";
|
|
769
|
+
const each_array_6 = ensure_array_like(s3Backups);
|
|
770
|
+
$$payload2.out += `<ul class="s3-backup-list svelte-1b139ls"><!--[-->`;
|
|
771
|
+
for (let $$index_6 = 0, $$length = each_array_6.length; $$index_6 < $$length; $$index_6++) {
|
|
772
|
+
let backup = each_array_6[$$index_6];
|
|
773
|
+
$$payload2.out += `<li class="s3-backup-row svelte-1b139ls"><div class="s3-backup-info svelte-1b139ls"><span class="s3-backup-key svelte-1b139ls">${escape_html(backup.key)}</span> <span class="s3-backup-meta svelte-1b139ls">${escape_html(new Date(backup.lastModified).toLocaleString())} · ${escape_html(backupSizeLabel(backup.size))}</span></div> `;
|
|
774
|
+
Button($$payload2, {
|
|
775
|
+
variant: "ghost",
|
|
776
|
+
disabled: restoringKey === backup.key,
|
|
777
|
+
children: ($$payload3) => {
|
|
778
|
+
$$payload3.out += `<!---->${escape_html(restoreLabel(restoringKey === backup.key))}`;
|
|
779
|
+
},
|
|
780
|
+
$$slots: { default: true }
|
|
781
|
+
});
|
|
782
|
+
$$payload2.out += `<!----></li>`;
|
|
783
|
+
}
|
|
784
|
+
$$payload2.out += `<!--]--></ul>`;
|
|
785
|
+
}
|
|
786
|
+
$$payload2.out += `<!--]-->`;
|
|
787
|
+
}
|
|
788
|
+
$$payload2.out += `<!--]--></div> <div${attr("class", `card settings-card svelte-1b139ls ${stringify([!s3Configured ? "card-disabled" : ""].filter(Boolean).join(" "))}`)}><p class="card-title">${escape_html(SCHEDULED_BACKUP_CARD_TITLE)}</p> `;
|
|
667
789
|
if (!s3Configured) {
|
|
668
790
|
$$payload2.out += "<!--[-->";
|
|
669
|
-
$$payload2.out += `<p class="backup-block-desc svelte-
|
|
791
|
+
$$payload2.out += `<p class="backup-block-desc svelte-1b139ls">${escape_html(CONFIGURE_S3_FIRST_MESSAGE)}</p>`;
|
|
670
792
|
} else {
|
|
671
793
|
$$payload2.out += "<!--[!-->";
|
|
672
|
-
$$payload2.out += `<div class="field"><label class="field-label backup-toggle-label svelte-
|
|
794
|
+
$$payload2.out += `<div class="field"><label class="field-label backup-toggle-label svelte-1b139ls" for="backup-enabled"><span>${escape_html(ENABLE_SCHEDULED_BACKUP_LABEL)}</span> <button id="backup-enabled"${attr("class", `toggle-btn svelte-1b139ls ${stringify([""].filter(Boolean).join(" "))}`)} role="switch"${attr("aria-checked", backupConfig.backupEnabled)}><span class="toggle-thumb svelte-1b139ls"></span></button></label></div> <div class="field"><label class="field-label svelte-1b139ls" for="backup-cron"><span>${escape_html(CRON_EXPRESSION_LABEL)}</span> <span class="field-hint svelte-1b139ls">${escape_html(CRON_HINT_PREFIX)} <code>0 2 * * *</code> ${escape_html(CRON_HINT_SUFFIX)} <a href="https://crontab.guru" target="_blank" rel="noopener noreferrer">${escape_html(CRONTAB_LINK_LABEL)}</a></span></label> <input id="backup-cron" type="text" class="field-input field-input-mono svelte-1b139ls"${attr("value", backupConfig.backupCron)}${attr("placeholder", CRON_PLACEHOLDER)}></div> `;
|
|
673
795
|
{
|
|
674
796
|
$$payload2.out += "<!--[!-->";
|
|
675
797
|
}
|
|
676
|
-
$$payload2.out += `<!--]--> <div class="backup-actions svelte-
|
|
798
|
+
$$payload2.out += `<!--]--> <div class="backup-actions svelte-1b139ls">`;
|
|
677
799
|
Button($$payload2, {
|
|
678
800
|
variant: "ghost",
|
|
679
801
|
disabled: backupRunningNow,
|
|
@@ -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 { X as head,
|
|
6
|
+
import { X as head, a0 as store_get, a1 as unsubscribe_stores, p as pop, a as push } from "../../../chunks/index.js";
|
|
7
7
|
import "../../../chunks/client.js";
|
|
8
8
|
import "../../../chunks/auth.js";
|
|
9
9
|
import { t as theme } from "../../../chunks/theme.js";
|