plum-e2e 2.9.17 → 2.12.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/.env +1 -1
- package/CLAUDE.md +1 -1
- package/README.md +7 -7
- package/backend/app.js +1 -1
- package/backend/constants/socketEvents.js +8 -14
- package/backend/lib/csv.js +21 -0
- package/backend/lib/exportResponse.js +37 -0
- package/backend/lib/serverBootstrap.js +6 -6
- package/backend/lib/serverConfig.js +5 -3
- package/backend/mcp/server.js +47 -3
- package/backend/middleware/runnerOrAdmin.js +1 -1
- package/backend/package.json +1 -1
- 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/reports.routes.js +19 -0
- package/backend/routes/runners.routes.js +1 -1
- package/backend/routes/test-cases.routes.js +12 -0
- package/backend/routes/test-runs.routes.js +17 -0
- package/backend/routes/test-suites.routes.js +34 -0
- package/backend/routes/trigger.routes.js +8 -5
- package/backend/scripts/{manage-runners.mjs → manage-nodes.mjs} +67 -52
- package/backend/server.js +5 -1
- package/backend/services/cronService.js +15 -443
- package/backend/services/exportService.js +339 -0
- 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/testImportService.js +87 -0
- package/backend/services/triggerService.js +13 -231
- package/backend/websockets/socketHandler.js +32 -590
- package/bin/plum.js +174 -68
- package/docker-compose.yml +1 -1
- package/frontend/.svelte-kit/adapter-node/.vite/manifest.json +78 -70
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
- package/frontend/.svelte-kit/{output/server/_app/immutable/assets/Toast.DENwYn3g.css → adapter-node/_app/immutable/assets/Button.C1zsJAUG.css} +1 -1
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/ExportMenu.DsJQ1Qua.css +6 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.B4TT3qNx.css +6 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.4bPj83tb.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.BwgtEi_a.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.DOC8fPSI.css +6 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Dm1nSEgE.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/{Toast.js → Button.js} +2 -17
- package/frontend/.svelte-kit/adapter-node/chunks/ConfirmModal.js +2 -2
- package/frontend/.svelte-kit/adapter-node/chunks/EmptyState.js +2 -2
- package/frontend/.svelte-kit/adapter-node/chunks/Modal.js +1 -1
- package/frontend/.svelte-kit/adapter-node/chunks/common.js +11 -4
- 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 +26 -14
- package/frontend/.svelte-kit/adapter-node/chunks/runner.js +10 -20
- package/frontend/.svelte-kit/adapter-node/entries/pages/_layout.svelte.js +2 -0
- 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 +39 -25
- 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 +5 -8
- package/frontend/.svelte-kit/adapter-node/entries/pages/settings/_page.svelte.js +354 -185
- package/frontend/.svelte-kit/adapter-node/entries/pages/setup/_page.svelte.js +1 -1
- package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/_page.svelte.js +55 -36
- package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/runs/_id_/_page.svelte.js +4 -7
- package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/suites/_id_/_page.svelte.js +66 -16
- 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 +2 -2
- package/frontend/.svelte-kit/adapter-node/nodes/11.js +2 -2
- 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 +2 -2
- 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/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 +462 -403
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.BEqlRAtD.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/10.DC0wD6w_.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.Dm1nSEgE.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.DdQVxyZK.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.DOC8fPSI.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
- package/frontend/{build/client/_app/immutable/assets/Toast.DENwYn3g.css → .svelte-kit/output/client/_app/immutable/assets/Button.C1zsJAUG.css} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/ExportMenu.DsJQ1Qua.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.B4TT3qNx.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.4bPj83tb.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.BwgtEi_a.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.DOC8fPSI.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Dm1nSEgE.css +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/3MBVX4Yb.js +175 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/6VDMVB5U.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/B2lVGNml.js +6 -0
- package/frontend/{build/client/_app/immutable/chunks/2zMvi6fR.js → .svelte-kit/output/client/_app/immutable/chunks/BCh31ecr.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BDb8hZHu.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BIf7lHIm.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BIjh3jiU.js +8 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BTV7EXZb.js +11 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DMZwI8Cj.js → BWGoOYU0.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BdBJfKUi.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{t-La0hgu.js → BnXsGCy3.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BtTNggoY.js +8 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C4Z3p6jE.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CNpD-yNH.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CUPWZLIN.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{C1Vid6wz.js → CXQhSK1T.js} +1 -1
- package/frontend/{build/client/_app/immutable/chunks/CKDtmZUQ.js → .svelte-kit/output/client/_app/immutable/chunks/CtgCYzu5.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{C8OURRSs.js → D72giPTu.js} +1 -1
- package/frontend/{build/client/_app/immutable/chunks/BmZ9upwL.js → .svelte-kit/output/client/_app/immutable/chunks/DDx3no2z.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/D_thT6pZ.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DeiVAbyn.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DiexacSB.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DDZw0L0T.js → Dlymnwnf.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/gCgJ3Cwu.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/htkwR9b-.js +6 -0
- package/frontend/{build/client/_app/immutable/chunks/DCgHuuvs.js → .svelte-kit/output/client/_app/immutable/chunks/iL4SCrvY.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/kFFd6Oo5.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/pNZogwkM.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{w0D4Uzlq.js → prk8PJfA.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/qvxlSGpD.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/r_d1Iu0W.js +6 -0
- package/frontend/{build/client/_app/immutable/chunks/CNdcuGR0.js → .svelte-kit/output/client/_app/immutable/chunks/tsOANt55.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/zXSLr47H.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.DgdSwPuN.js +7 -0
- package/frontend/{build/client/_app/immutable/entry/start.4qxHHAcl.js → .svelte-kit/output/client/_app/immutable/entry/start.D_lhI48n.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.D2F-i1I5.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{1.Df9sLw8b.js → 1.JIF2GfHq.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/10.A0AHLfOt.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/11.CVSPxlqY.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.CnAR0AQb.js +6 -0
- package/frontend/{build/client/_app/immutable/nodes/2.BCPSg7H4.js → .svelte-kit/output/client/_app/immutable/nodes/2.Bno00fr8.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.B6KwaCsM.js +6 -0
- package/frontend/{build/client/_app/immutable/nodes/3.8BFAJoHT.js → .svelte-kit/output/client/_app/immutable/nodes/4.BX70m3v6.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.UIFh06yr.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.DZ1OV24V.js +10 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.B_XntBZ1.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.CVHgJw-E.js +9 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{9.CvfGx3Hu.js → 9.DDDQPmMj.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/version.json +1 -1
- package/frontend/.svelte-kit/output/server/.vite/manifest.json +78 -70
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
- package/frontend/.svelte-kit/output/{client/_app/immutable/assets/Toast.DENwYn3g.css → server/_app/immutable/assets/Button.C1zsJAUG.css} +1 -1
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/ExportMenu.DsJQ1Qua.css +6 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.B4TT3qNx.css +6 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.4bPj83tb.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.BwgtEi_a.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.DOC8fPSI.css +6 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Dm1nSEgE.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/{Toast.js → Button.js} +2 -17
- package/frontend/.svelte-kit/output/server/chunks/ConfirmModal.js +2 -2
- package/frontend/.svelte-kit/output/server/chunks/EmptyState.js +2 -2
- package/frontend/.svelte-kit/output/server/chunks/Modal.js +1 -1
- package/frontend/.svelte-kit/output/server/chunks/common.js +11 -4
- 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 +26 -14
- package/frontend/.svelte-kit/output/server/chunks/runner.js +10 -20
- package/frontend/.svelte-kit/output/server/entries/pages/_layout.svelte.js +2 -0
- 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 +39 -25
- 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 +5 -8
- package/frontend/.svelte-kit/output/server/entries/pages/settings/_page.svelte.js +354 -185
- package/frontend/.svelte-kit/output/server/entries/pages/setup/_page.svelte.js +1 -1
- package/frontend/.svelte-kit/output/server/entries/pages/test-repository/_page.svelte.js +55 -36
- package/frontend/.svelte-kit/output/server/entries/pages/test-repository/runs/_id_/_page.svelte.js +4 -7
- package/frontend/.svelte-kit/output/server/entries/pages/test-repository/suites/_id_/_page.svelte.js +66 -16
- 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 +2 -2
- package/frontend/.svelte-kit/output/server/nodes/11.js +2 -2
- 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 +2 -2
- 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.BEqlRAtD.css +6 -0
- package/frontend/build/client/_app/immutable/assets/0.BEqlRAtD.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/0.BEqlRAtD.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/10.DC0wD6w_.css +6 -0
- package/frontend/build/client/_app/immutable/assets/10.DC0wD6w_.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/10.DC0wD6w_.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/12.Dm1nSEgE.css +6 -0
- package/frontend/build/client/_app/immutable/assets/12.Dm1nSEgE.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/12.Dm1nSEgE.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.DdQVxyZK.css +6 -0
- package/frontend/build/client/_app/immutable/assets/6.DdQVxyZK.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/6.DdQVxyZK.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/8.DOC8fPSI.css +6 -0
- package/frontend/build/client/_app/immutable/assets/8.DOC8fPSI.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/8.DOC8fPSI.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/{.svelte-kit/adapter-node/_app/immutable/assets/Toast.DENwYn3g.css → build/client/_app/immutable/assets/Button.C1zsJAUG.css} +1 -1
- package/frontend/build/client/_app/immutable/assets/Button.C1zsJAUG.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/Button.C1zsJAUG.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/ExportMenu.DsJQ1Qua.css +6 -0
- package/frontend/build/client/_app/immutable/assets/ExportMenu.DsJQ1Qua.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/ExportMenu.DsJQ1Qua.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_layout.B4TT3qNx.css +6 -0
- package/frontend/build/client/_app/immutable/assets/_layout.B4TT3qNx.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_layout.B4TT3qNx.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.4bPj83tb.css +6 -0
- package/frontend/build/client/_app/immutable/assets/_page.4bPj83tb.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.4bPj83tb.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.BwgtEi_a.css +6 -0
- package/frontend/build/client/_app/immutable/assets/_page.BwgtEi_a.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BwgtEi_a.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.DOC8fPSI.css +6 -0
- package/frontend/build/client/_app/immutable/assets/_page.DOC8fPSI.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.DOC8fPSI.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.Dm1nSEgE.css +6 -0
- package/frontend/build/client/_app/immutable/assets/_page.Dm1nSEgE.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.Dm1nSEgE.css.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/3MBVX4Yb.js +175 -0
- package/frontend/build/client/_app/immutable/chunks/3MBVX4Yb.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/3MBVX4Yb.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/6VDMVB5U.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/6VDMVB5U.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/6VDMVB5U.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/B2lVGNml.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/B2lVGNml.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/B2lVGNml.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/2zMvi6fR.js → build/client/_app/immutable/chunks/BCh31ecr.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/BCh31ecr.js.br +6 -0
- package/frontend/build/client/_app/immutable/chunks/BCh31ecr.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BDb8hZHu.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/BDb8hZHu.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BDb8hZHu.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BIf7lHIm.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/BIf7lHIm.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BIf7lHIm.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BIjh3jiU.js +8 -0
- package/frontend/build/client/_app/immutable/chunks/BIjh3jiU.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BIjh3jiU.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BTV7EXZb.js +11 -0
- package/frontend/build/client/_app/immutable/chunks/BTV7EXZb.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BTV7EXZb.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{DMZwI8Cj.js → BWGoOYU0.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/BWGoOYU0.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BWGoOYU0.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BdBJfKUi.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/BdBJfKUi.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BdBJfKUi.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{t-La0hgu.js → BnXsGCy3.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/BnXsGCy3.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BnXsGCy3.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BtTNggoY.js +8 -0
- package/frontend/build/client/_app/immutable/chunks/BtTNggoY.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BtTNggoY.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/C4Z3p6jE.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/C4Z3p6jE.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C4Z3p6jE.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CNpD-yNH.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/CNpD-yNH.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CNpD-yNH.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CUPWZLIN.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/CUPWZLIN.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CUPWZLIN.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{C1Vid6wz.js → CXQhSK1T.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/CXQhSK1T.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CXQhSK1T.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/CKDtmZUQ.js → build/client/_app/immutable/chunks/CtgCYzu5.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/CtgCYzu5.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CtgCYzu5.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{C8OURRSs.js → D72giPTu.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/D72giPTu.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/D72giPTu.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/BmZ9upwL.js → build/client/_app/immutable/chunks/DDx3no2z.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/DDx3no2z.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DDx3no2z.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/D_thT6pZ.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/D_thT6pZ.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/D_thT6pZ.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DeiVAbyn.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/DeiVAbyn.js.br +6 -0
- package/frontend/build/client/_app/immutable/chunks/DeiVAbyn.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DiexacSB.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/DiexacSB.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DiexacSB.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{DDZw0L0T.js → Dlymnwnf.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/Dlymnwnf.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/Dlymnwnf.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/gCgJ3Cwu.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/gCgJ3Cwu.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/gCgJ3Cwu.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/htkwR9b-.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/htkwR9b-.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/htkwR9b-.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/DCgHuuvs.js → build/client/_app/immutable/chunks/iL4SCrvY.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/iL4SCrvY.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/iL4SCrvY.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/kFFd6Oo5.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/kFFd6Oo5.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/kFFd6Oo5.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/pNZogwkM.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/pNZogwkM.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/pNZogwkM.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{w0D4Uzlq.js → prk8PJfA.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/prk8PJfA.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/prk8PJfA.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/qvxlSGpD.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/qvxlSGpD.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/qvxlSGpD.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/r_d1Iu0W.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/r_d1Iu0W.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/r_d1Iu0W.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/CNdcuGR0.js → build/client/_app/immutable/chunks/tsOANt55.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/tsOANt55.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/tsOANt55.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/zXSLr47H.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/zXSLr47H.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/zXSLr47H.js.gz +0 -0
- package/frontend/build/client/_app/immutable/entry/app.DgdSwPuN.js +7 -0
- package/frontend/build/client/_app/immutable/entry/app.DgdSwPuN.js.br +0 -0
- package/frontend/build/client/_app/immutable/entry/app.DgdSwPuN.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/entry/start.4qxHHAcl.js → build/client/_app/immutable/entry/start.D_lhI48n.js} +1 -1
- package/frontend/build/client/_app/immutable/entry/{start.4qxHHAcl.js.br → start.D_lhI48n.js.br} +1 -1
- package/frontend/build/client/_app/immutable/entry/{start.4qxHHAcl.js.gz → start.D_lhI48n.js.gz} +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.D2F-i1I5.js +6 -0
- package/frontend/build/client/_app/immutable/nodes/0.D2F-i1I5.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.D2F-i1I5.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/{1.Df9sLw8b.js → 1.JIF2GfHq.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/1.JIF2GfHq.js.br +5 -0
- package/frontend/build/client/_app/immutable/nodes/1.JIF2GfHq.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.A0AHLfOt.js +6 -0
- package/frontend/build/client/_app/immutable/nodes/10.A0AHLfOt.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.A0AHLfOt.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.CVSPxlqY.js +6 -0
- package/frontend/build/client/_app/immutable/nodes/11.CVSPxlqY.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.CVSPxlqY.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.CnAR0AQb.js +6 -0
- package/frontend/build/client/_app/immutable/nodes/12.CnAR0AQb.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.CnAR0AQb.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/2.BCPSg7H4.js → build/client/_app/immutable/nodes/2.Bno00fr8.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/2.Bno00fr8.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.Bno00fr8.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.B6KwaCsM.js +6 -0
- package/frontend/build/client/_app/immutable/nodes/3.B6KwaCsM.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.B6KwaCsM.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/3.8BFAJoHT.js → build/client/_app/immutable/nodes/4.BX70m3v6.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/4.BX70m3v6.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.BX70m3v6.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.UIFh06yr.js +6 -0
- package/frontend/build/client/_app/immutable/nodes/5.UIFh06yr.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.UIFh06yr.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.DZ1OV24V.js +10 -0
- package/frontend/build/client/_app/immutable/nodes/6.DZ1OV24V.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.DZ1OV24V.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.B_XntBZ1.js +6 -0
- package/frontend/build/client/_app/immutable/nodes/7.B_XntBZ1.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.B_XntBZ1.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.CVHgJw-E.js +9 -0
- package/frontend/build/client/_app/immutable/nodes/8.CVHgJw-E.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.CVHgJw-E.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/{9.CvfGx3Hu.js → 9.DDDQPmMj.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/9.DDDQPmMj.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.DDDQPmMj.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-38cvTs44.js +22 -0
- package/frontend/build/server/chunks/0-38cvTs44.js.map +5 -0
- package/frontend/build/server/chunks/{1-Kxn9d30Z.js → 1-CcYsajvR.js} +3 -3
- package/frontend/build/server/chunks/{1-Kxn9d30Z.js.map → 1-CcYsajvR.js.map} +1 -1
- package/frontend/build/server/chunks/10-CFR2MUJt.js +14 -0
- package/frontend/build/server/chunks/10-CFR2MUJt.js.map +5 -0
- package/frontend/build/server/chunks/11-BmkiRQ9D.js +14 -0
- package/frontend/build/server/chunks/11-BmkiRQ9D.js.map +5 -0
- package/frontend/build/server/chunks/12-BphJAwnL.js +14 -0
- package/frontend/build/server/chunks/12-BphJAwnL.js.map +5 -0
- package/frontend/build/server/chunks/2-Dalgd2D4.js +14 -0
- package/frontend/build/server/chunks/{2-Dc_rKWoK.js.map → 2-Dalgd2D4.js.map} +1 -1
- package/frontend/build/server/chunks/3-BvsmdXCj.js +14 -0
- package/frontend/build/server/chunks/3-BvsmdXCj.js.map +5 -0
- package/frontend/build/server/chunks/4-CN18WCEn.js +14 -0
- package/frontend/build/server/chunks/4-CN18WCEn.js.map +5 -0
- package/frontend/build/server/chunks/5-BwLYF3xL.js +14 -0
- package/frontend/build/server/chunks/5-BwLYF3xL.js.map +5 -0
- package/frontend/build/server/chunks/6-DTM2N_k3.js +14 -0
- package/frontend/build/server/chunks/6-DTM2N_k3.js.map +5 -0
- package/frontend/build/server/chunks/7-DTNbErSe.js +14 -0
- package/frontend/build/server/chunks/7-DTNbErSe.js.map +5 -0
- package/frontend/build/server/chunks/8-BfCbb7pl.js +14 -0
- package/frontend/build/server/chunks/8-BfCbb7pl.js.map +5 -0
- package/frontend/build/server/chunks/9-CQKepnMw.js +14 -0
- package/frontend/build/server/chunks/{9-DirZG_Lu.js.map → 9-CQKepnMw.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/{Toast-v-q4ZnYq.js → Button-B9h9viZX.js} +3 -17
- package/frontend/build/server/chunks/Button-B9h9viZX.js.map +5 -0
- package/frontend/build/server/chunks/{ConfirmModal-C0EAXcq_.js → ConfirmModal-C6Cz898n.js} +4 -4
- package/frontend/build/server/chunks/ConfirmModal-C6Cz898n.js.map +5 -0
- package/frontend/build/server/chunks/{EmptyState-BA_eXaeR.js → EmptyState-CRtsJIv6.js} +3 -3
- package/frontend/build/server/chunks/EmptyState-CRtsJIv6.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/_layout.svelte-B8vZGefg.js +28 -0
- package/frontend/build/server/chunks/_layout.svelte-B8vZGefg.js.map +5 -0
- 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-BrnXHxJ4.js +69 -0
- package/frontend/build/server/chunks/_page.svelte-BrnXHxJ4.js.map +5 -0
- package/frontend/build/server/chunks/_page.svelte-C2WqvInJ.js +898 -0
- package/frontend/build/server/chunks/_page.svelte-C2WqvInJ.js.map +5 -0
- package/frontend/build/server/chunks/{_page.svelte-04WxjOuH.js → _page.svelte-CP6jA1ex.js} +9 -9
- package/frontend/build/server/chunks/{_page.svelte-04WxjOuH.js.map → _page.svelte-CP6jA1ex.js.map} +1 -1
- 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-1as75nPc.js → _page.svelte-D6b-klLK.js} +33 -29
- package/frontend/build/server/chunks/_page.svelte-D6b-klLK.js.map +5 -0
- package/frontend/build/server/chunks/{_page.svelte-CWWeZuid.js → _page.svelte-DBjTpquQ.js} +73 -24
- package/frontend/build/server/chunks/_page.svelte-DBjTpquQ.js.map +5 -0
- package/frontend/build/server/chunks/{_page.svelte-CB8-QBNg.js → _page.svelte-DM1_y4Oq.js} +61 -42
- package/frontend/build/server/chunks/_page.svelte-DM1_y4Oq.js.map +5 -0
- package/frontend/build/server/chunks/_page.svelte-Mo-O3HJ5.js +257 -0
- package/frontend/build/server/chunks/_page.svelte-Mo-O3HJ5.js.map +5 -0
- package/frontend/build/server/chunks/{_page.svelte-BuFusRK1.js → _page.svelte-mZF4NrfU.js} +14 -17
- package/frontend/build/server/chunks/_page.svelte-mZF4NrfU.js.map +5 -0
- package/frontend/build/server/chunks/{_page.svelte-1jo8MapI.js → _page.svelte-nrlgIFaU.js} +13 -15
- package/frontend/build/server/chunks/_page.svelte-nrlgIFaU.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/{common-DYYTVHPw.js → common-DS-Z0UFe.js} +7 -2
- package/frontend/build/server/chunks/common-DS-Z0UFe.js.map +5 -0
- package/frontend/build/server/chunks/{constants-CXTaQaB6.js → constants-OmHysD51.js} +3 -2
- package/frontend/build/server/chunks/constants-OmHysD51.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-Bqb0as15.js} +2 -2
- package/frontend/build/server/chunks/{format-CiNRMfHu.js.map → format-Bqb0as15.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-chCHCDzB.js} +2 -2
- package/frontend/build/server/chunks/{reports-D_ApeeNh.js.map → reports-chCHCDzB.js.map} +1 -1
- package/frontend/build/server/chunks/{reports2-BtElN_53.js → reports2-Dr3zu9CD.js} +8 -9
- package/frontend/build/server/chunks/reports2-Dr3zu9CD.js.map +5 -0
- package/frontend/build/server/chunks/{repository-FYYV_vKE.js → repository-DSsWVKEb.js} +9 -3
- package/frontend/build/server/chunks/repository-DSsWVKEb.js.map +5 -0
- package/frontend/build/server/chunks/runner-aaUtOqck.js +27 -0
- package/frontend/build/server/chunks/runner-aaUtOqck.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/package-lock.json +14 -0
- package/frontend/package.json +2 -0
- package/frontend/src/lib/api/reports.js +7 -0
- package/frontend/src/lib/api/repository.js +28 -0
- package/frontend/src/lib/components/layout/RunnerPanel.svelte +187 -266
- package/frontend/src/lib/components/reports/RecordingPlayer.svelte +172 -2
- package/frontend/src/lib/components/ui/ExportMenu.svelte +154 -0
- package/frontend/src/lib/components/ui/NotificationStack.svelte +177 -0
- package/frontend/src/lib/constants.js +1 -1
- package/frontend/src/lib/copy/common.js +9 -0
- package/frontend/src/lib/copy/reports.js +29 -0
- package/frontend/src/lib/copy/repository.js +4 -0
- package/frontend/src/lib/copy/runners.js +9 -6
- package/frontend/src/lib/copy/settings.js +15 -0
- package/frontend/src/lib/socketEvents.js +3 -15
- package/frontend/src/lib/stores/notifications.js +23 -0
- package/frontend/src/lib/stores/replayVideo.js +51 -0
- package/frontend/src/lib/stores/runner.js +62 -46
- package/frontend/src/lib/utils/download.js +28 -0
- package/frontend/src/lib/utils/replayCapture.js +91 -0
- package/frontend/src/lib/utils/replayVideo.js +111 -0
- package/frontend/src/routes/+layout.svelte +2 -0
- package/frontend/src/routes/{reports/live → live/[id]}/+page.svelte +112 -183
- package/frontend/src/routes/reports/[id]/+page.svelte +38 -3
- package/frontend/src/routes/scheduled-tests/+page.svelte +11 -19
- package/frontend/src/routes/settings/+page.svelte +140 -56
- package/frontend/src/routes/test-repository/+page.svelte +44 -16
- package/frontend/src/routes/test-repository/runs/[id]/+page.svelte +14 -23
- package/frontend/src/routes/test-repository/suites/[id]/+page.svelte +38 -22
- 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.5IJAEAjc.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/10.CdaQUS6U.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/Button.FOWXxvc7.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.5IJAEAjc.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/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/CMEtqUfQ.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/CgnwuKKO.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/CzlPaHY9.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/chunks/kkA1mrsH.js +0 -8
- 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/10.DEbnxfND.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/11.BViaDK2m.js +0 -6
- 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.5IJAEAjc.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/10.CdaQUS6U.css +0 -6
- package/frontend/build/client/_app/immutable/assets/10.CdaQUS6U.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/10.CdaQUS6U.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/Button.FOWXxvc7.css +0 -6
- package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.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.5IJAEAjc.css +0 -6
- package/frontend/build/client/_app/immutable/assets/_page.5IJAEAjc.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.5IJAEAjc.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.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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -8
- 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 +0 -6
- 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 +0 -6
- 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/12-De6Ol6pu.js.map +0 -5
- 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/7-DiQJZEF_.js.map +0 -5
- 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/_layout.svelte-CHVI3Prt.js +0 -29
- package/frontend/build/server/chunks/_layout.svelte-CHVI3Prt.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 +0 -729
- 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-CB8-QBNg.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/common-DYYTVHPw.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/src/lib/components/ui/Toast.svelte +0 -24
- /package/frontend/.svelte-kit/output/client/_app/immutable/assets/{3.BR3wgXcZ.css → 4.BR3wgXcZ.css} +0 -0
- /package/frontend/build/client/_app/immutable/assets/{3.BR3wgXcZ.css → 4.BR3wgXcZ.css} +0 -0
- /package/frontend/build/client/_app/immutable/assets/{3.BR3wgXcZ.css.br → 4.BR3wgXcZ.css.br} +0 -0
- /package/frontend/build/client/_app/immutable/assets/{3.BR3wgXcZ.css.gz → 4.BR3wgXcZ.css.gz} +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of Plum.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import{i as Ta,j as xs,a as v,t as c,s as m,b as Kt,c as _t,n as Ct,e as ae,h as ys}from"../chunks/6VDMVB5U.js";import{i as nt}from"../chunks/CtgCYzu5.js";import{Z as ks,h as La,_ as Ca,a6 as bs,a8 as Ia,aI as qs,aX as Es,aW as Rs,a3 as Ts,av as Ls,aG as Cs,t as q,d as s,k as a,p as it,l as te,s as o,aj as Zt,b as It,g as e,c as lt,m as x,f as xe,A as Fa,j as r,x as X,o as Va,ao as Is,B as _a,z as As,$ as Bs,n as Ss}from"../chunks/BIf7lHIm.js";import{i as b,s as za,a as Wa}from"../chunks/D_thT6pZ.js";import{t as P,e as we,i as me,a as $s,b as Ms}from"../chunks/BTV7EXZb.js";import{s as z,e as Os,c as Ps,p as Aa,B as Ba}from"../chunks/C4Z3p6jE.js";import{s as Sa}from"../chunks/Bfc47y5P.js";import{b as Ds}from"../chunks/tsOANt55.js";import{p as Ns}from"../chunks/Dlymnwnf.js";import{U as js,X as Hs,Y as Fs,Z as Vs,_ as zs,$ as Ws,a0 as $a,a1 as Ma,a2 as Gs,a3 as Us,a4 as Ys,a5 as Ks,a6 as Zs,a7 as Js,a8 as Xs,a9 as Qs,aa as er,ab as tr,ac as ar,ad as sr,ae as rr,af as nr,m as ir,ag as lr,ah as or,ai as vr,aj as cr,ak as dr,z as pr,al as ur,am as fr,an as hr,ao as _r,ap as Oa,I as gr,J as wr,aq as mr,ar as xr,as as yr,at as kr,K as br}from"../chunks/pNZogwkM.js";import{k as qr,c as Er,p as Rr,g as Pa,f as Da,s as Na,b as Yt,d as Tr,t as Lr,i as Cr}from"../chunks/B2lVGNml.js";import{n as Lt}from"../chunks/BDb8hZHu.js";import{B as Ir}from"../chunks/DeiVAbyn.js";import{P as Ar,B as Br}from"../chunks/3MBVX4Yb.js";import{E as Sr}from"../chunks/zXSLr47H.js";import{p as U}from"../chunks/D72giPTu.js";import{b as ja}from"../chunks/BCh31ecr.js";import{r as $r,c as Mr,s as Or,a as Pr}from"../chunks/BtTNggoY.js";import{a as Dr}from"../chunks/DiexacSB.js";function Nr(I,_,f,h,y){var L=I,R="",E;ks(()=>{if(R===(R=_()??"")){La&&Ca();return}E!==void 0&&(Cs(E),E=void 0),R!==""&&(E=bs(()=>{if(La){Ia.data;for(var T=Ca(),A=T;T!==null&&(T.nodeType!==8||T.data!=="");)A=T,T=qs(T);if(T===null)throw Es(),Rs;Ta(Ia,A),L=Ts(T);return}var B=R+"",F=xs(B);Ta(Ls(F),F.lastChild),L.before(F)}))})}var jr=c('<span class="status-dot svelte-eg9xrn"></span>');function Ha(I,_){let f=U(_,"status",8,"passed");var h=jr();q(()=>{P(h,"pass",f()==="passed"),P(h,"fail",f()==="failed"),P(h,"skip",f()!=="passed"&&f()!=="failed")}),v(I,h)}var Hr=c('<span class="tag-chip svelte-foe7v9"> </span>');function Fr(I,_){let f=U(_,"tag",8,"");var h=Hr(),y=s(h,!0);a(h),q(()=>m(y,f())),v(I,h)}var Vr=c('<span class="kw svelte-3mvi7i"> </span>');function Ga(I,_){it(_,!1);const f=x();let h=U(_,"keyword",8,"");te(()=>Zt(h()),()=>{o(f,qr(h()))}),It(),nt();var y=Vr(),L=s(y,!0);a(y),q(()=>{P(y,"kw-given",e(f)==="kw-given"),P(y,"kw-when",e(f)==="kw-when"),P(y,"kw-then",e(f)==="kw-then"),P(y,"kw-and",e(f)==="kw-and"),m(L,h())}),v(I,y),lt()}var zr=c('<span class="step-status-icon svelte-9zpq1y"><!></span>');function Ua(I,_){let f=U(_,"status",8,"passed");var h=zr(),y=s(h);{var L=E=>{var T=Kt("✓");v(E,T)},R=E=>{var T=_t(),A=xe(T);{var B=$=>{var k=Kt("✗");v($,k)},F=$=>{var k=Kt("−");v($,k)};b(A,$=>{f()==="failed"?$(B):$(F,!1)},!0)}v(E,T)};b(y,E=>{f()==="passed"?E(L):E(R,!1)})}a(h),q(()=>{P(h,"icon-pass",f()==="passed"),P(h,"icon-fail",f()==="failed"),P(h,"icon-skip",f()!=="passed"&&f()!=="failed")}),v(I,h)}var Wr=Ct('<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2c0 4.5-5 7-5 12a5 5 0 0 0 10 0c0-5-5-7.5-5-12z"></path><path d="M12 9c0 2.5-2.5 4-2.5 7a2.5 2.5 0 0 0 5 0c0-3-2.5-4.5-2.5-7z"></path></svg>'),Gr=Ct('<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polygon points="12,5.5 14.5,12 12,10.5 9.5,12" fill="currentColor" stroke="none"></polygon><polygon points="12,18.5 9.5,12 12,13.5 14.5,12" fill="currentColor" stroke="none" opacity="0.35"></polygon></svg>'),Ur=Ct('<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line></svg>');function Yr(I,_){let f=U(_,"browser",8,"chromium"),h=U(_,"size",8,11);var y=_t(),L=xe(y);{var R=T=>{var A=Wr();q(()=>{z(A,"width",h()),z(A,"height",h())}),v(T,A)},E=T=>{var A=_t(),B=xe(A);{var F=k=>{var g=Gr();q(()=>{z(g,"width",h()),z(g,"height",h())}),v(k,g)},$=k=>{var g=Ur();q(()=>{z(g,"width",h()),z(g,"height",h())}),v(k,g)};b(B,k=>{f()==="webkit"?k(F):k($,!1)},!0)}v(T,A)};b(L,T=>{f()==="firefox"?T(R):T(E,!1)})}v(I,y)}function Kr(I){return I.replace(/"/g,""")}function Zr(I){const _=I.tagName.toLowerCase(),f=Array.from(I.attributes??[]).map(R=>` ${R.name}="${Kr(R.value)}"`).join(""),h=I.children.length,y=h===0?(I.textContent??"").trim():"",L=h>0?`
|
|
7
|
+
<!-- ${h} child element${h===1?"":"s"} -->
|
|
8
|
+
`:y?`
|
|
9
|
+
${y.slice(0,200)}
|
|
10
|
+
`:"";return`<${_}${f}>${L}</${_}>`}function Jr(I){const _=I.getBoundingClientRect();return{markup:Zr(I),attributes:Array.from(I.attributes??[]).map(f=>({name:f.name,value:f.value})),box:{width:Math.round(_.width),height:Math.round(_.height)}}}var Xr=c('<li><button class="rail-step svelte-q7af2t"><!> <span class="rail-step-text svelte-q7af2t"><!> <span> </span></span></button></li>'),Qr=c('<aside class="steps-rail svelte-q7af2t"><div class="steps-rail-header svelte-q7af2t"></div> <ol class="steps-list svelte-q7af2t"></ol></aside>');function en(I,_){it(_,!1);let f=U(_,"steps",24,()=>[]),h=U(_,"stepTimestamps",24,()=>[]),y=U(_,"currentStepIndex",24,()=>-1);const L=Fa();nt();var R=Qr(),E=s(R);E.textContent=js;var T=r(E,2);we(T,5,f,me,(A,B,F)=>{var $=Xr(),k=s($),g=s(k);Ua(g,{get status(){return e(B).status}});var ie=r(g,2),se=s(ie);Ga(se,{get keyword(){return e(B).keyword}});var Q=r(se,2),ce=s(Q,!0);a(Q),a(ie),a(k),a($),q(()=>{k.disabled=h()[F]===void 0,P(k,"rail-step-active",F===y()),m(ce,e(B).name)}),ae("click",k,()=>L("jump",F)),v(A,$)}),a(T),a(R),v(I,R),lt()}var tn=c('<div class="combined-timeline-tick svelte-5daecg"></div>'),an=c('<div class="combined-timeline svelte-5daecg"><span class="combined-timeline-time svelte-5daecg"> </span> <div class="combined-timeline-track svelte-5daecg"><div class="combined-timeline-fill svelte-5daecg"></div> <!> <div class="combined-timeline-handle svelte-5daecg"></div></div> <span class="combined-timeline-time svelte-5daecg"> </span></div>');function sn(I,_){it(_,!1);const f=x(),h=x();let y=U(_,"from",8,0),L=U(_,"to",8,0),R=U(_,"position",8,0),E=U(_,"stepTimestamps",24,()=>[]);const T=Fa();function A(w){return L()>y()?Math.min(100,Math.max(0,(w-y())/(L()-y())*100)):0}function B(w){if(w<=0)return"00:00";const j=Math.floor(w/1e3),re=Math.floor(j/60),Re=j%60;return`${String(re).padStart(2,"0")}:${String(Re).padStart(2,"0")}`}function F(w){const j=w.currentTarget.getBoundingClientRect(),re=Math.min(1,Math.max(0,(w.clientX-j.left)/j.width));T("seek",y()+re*(L()-y()))}te(()=>Zt(R()),()=>{o(f,A(R()))}),te(()=>Zt(E()),()=>{o(h,E().map(A))}),It(),nt();var $=an(),k=s($),g=s(k,!0);a(k);var ie=r(k,2),se=s(ie),Q=r(se,2);we(Q,1,()=>e(h),me,(w,j)=>{var re=tn();q(()=>z(re,"style",`left: ${e(j)??""}%`)),v(w,re)});var ce=r(Q,2);a(ie);var Z=r(ie,2),J=s(Z,!0);a(Z),a($),q((w,j)=>{m(g,w),z(se,"style",`width: ${e(f)??""}%`),z(ce,"style",`left: ${e(f)??""}%`),m(J,j)},[()=>B(R()-y()),()=>B(L()-y())],X),ae("click",ie,F),v(I,$),lt()}var rn=c('<pre class="code-viewer svelte-mer6ic"><code><!></code></pre>');function nn(I,_){it(_,!1);const f=x();let h=U(_,"code",8,"");function y(A){return A.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function L(A){return y(A).replace(/(<!--[\s\S]*?-->)/g,'<span class="tok-comment">$1</span>').replace(/(<\/?)([a-zA-Z][a-zA-Z0-9-]*)/g,'$1<span class="tok-tag">$2</span>').replace(/([a-zA-Z_:][a-zA-Z0-9_:.-]*)(=)("[^&]*")/g,'<span class="tok-attr">$1</span>$2<span class="tok-value">$3</span>')}te(()=>Zt(h()),()=>{o(f,L(h()))}),It(),nt();var R=rn(),E=s(R),T=s(E);Nr(T,()=>e(f)),a(E),a(R),v(I,R),lt()}var ln=c('<div class="inspector-attr-row svelte-mmh4st"><dt class="svelte-mmh4st"> </dt> <dd class="svelte-mmh4st"> </dd></div>'),on=c('<div class="inspector-section svelte-mmh4st"><span class="inspector-section-label svelte-mmh4st"></span></div> <dl class="inspector-attrs svelte-mmh4st"></dl>',1),vn=c('<!> <div class="inspector-section svelte-mmh4st"><span class="inspector-section-label svelte-mmh4st"></span> <span class="inspector-size svelte-mmh4st"> </span></div> <!>',1),cn=c('<div class="inspector-empty svelte-mmh4st"></div>'),dn=c('<aside class="inspector-panel svelte-mmh4st"><div class="inspector-header svelte-mmh4st"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z"></path></svg> </div> <!></aside>');function pn(I,_){it(_,!1);let f=U(_,"selectedElement",8,null);nt();var h=dn(),y=s(h),L=r(s(y));L.nodeValue=` ${Hs}`,a(y);var R=r(y,2);{var E=A=>{var B=vn(),F=xe(B);nn(F,{get code(){return f().markup}});var $=r(F,2),k=s($);k.textContent=Fs;var g=r(k,2),ie=s(g);a(g),a($);var se=r($,2);{var Q=ce=>{var Z=on(),J=xe(Z),w=s(J);w.textContent=zs,a(J);var j=r(J,2);we(j,5,()=>f().attributes,me,(re,Re)=>{var ne=ln(),ye=s(ne),Ge=s(ye,!0);a(ye);var ke=r(ye,2),ee=s(ke,!0);a(ke),a(ne),q(()=>{m(Ge,e(Re).name),m(ee,e(Re).value)}),v(re,ne)}),a(j),v(ce,Z)};b(se,ce=>{f().attributes.length>0&&ce(Q)})}q(()=>m(ie,`${f().box.width??""} × ${f().box.height??""}`)),v(A,B)},T=A=>{var B=cn();B.textContent=Vs,v(A,B)};b(R,A=>{f()?A(E):A(T,!1)})}a(h),v(I,h),lt()}var un=c('<div class="active-tab-badge svelte-xitf7u"> </div>'),fn=c('<div class="player-status svelte-xitf7u"><div class="loading-dots svelte-xitf7u"><span class="svelte-xitf7u"></span><span class="svelte-xitf7u"></span><span class="svelte-xitf7u"></span></div></div>'),hn=c('<div class="player-status svelte-xitf7u"></div>'),_n=c('<div class="inspect-highlight svelte-xitf7u"></div>'),gn=c('<button class="restart-overlay-btn svelte-xitf7u"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="1 4 1 10 7 10"></polyline><path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"></path></svg></button>'),wn=c('<div class="download-menu svelte-xitf7u" role="menu"><button class="download-item svelte-xitf7u" role="menuitem"><span class="di-label svelte-xitf7u"></span> <span class="di-hint svelte-xitf7u"></span></button> <button class="download-item svelte-xitf7u" role="menuitem"><span class="di-label svelte-xitf7u"></span> <span class="di-hint svelte-xitf7u"></span></button></div>'),mn=c('<div class="recording-player svelte-xitf7u"><!> <div class="player-stage svelte-xitf7u"><div class="player-column svelte-xitf7u"><div class="player-mount svelte-xitf7u"></div> <!></div> <!> <!> <!> <!> <button class="inspect-fab svelte-xitf7u"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z"></path></svg></button> <div class="download-fab-wrap svelte-xitf7u"><button class="inspect-fab svelte-xitf7u" aria-haspopup="menu"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg></button> <!></div></div> <!></div>');function xn(I,_){it(_,!1);const[f,h]=za(),y=()=>Wa($r,"$replayVideoJob",f),L=x(),R=x(),E=x(),T=x();let A=U(_,"reportId",8),B=U(_,"recordings",24,()=>[]),F=U(_,"steps",24,()=>[]),$=U(_,"scenarioName",8,""),k=U(_,"inspecting",12,!1);const g=480,ie=320,se=80,Q=150,ce=24;let Z=x(),J=x(),w=null,j=x(!0),re=x(!1),Re=x(null),ne=x(null),ye=null,Ge=null,ke=null,ee=x(-1),Te=x([]),Ue=x(new Map),Ie=new Map,N=x([]),de=x(0),je=0,ot=x(0),vt=null;function At(){const t=be();t&&!e(Le)&&o(ot,je+t.getCurrentTime()),vt=requestAnimationFrame(At)}function be(){var t;return(t=w==null?void 0:w.getReplayer)==null?void 0:t.call(w)}function p(t){const n=Ie.get(t==null?void 0:t.recordingId)??[];if(n.length===0)return{first:0,span:0};const d=n[0].timestamp,i=(t==null?void 0:t.to)??1/0;let l=d;for(const u of n){if(u.timestamp>i)break;l=u.timestamp}return{first:d,span:Math.max(0,l-d)}}function D(t){let n=-1;for(let d=0;d<e(Te).length&&!(e(Te)[d]>t);d++)n=d;return n}function pe(t,n,d){var H;let i=e(N).findIndex(W=>t>=W.from&&t<=W.to);if(i===-1&&(i=e(N).length-1),i<0)return;const{first:l,span:u}=p(e(N)[i]),S=Math.min(Math.max(0,t-l),u),C=((H=be())==null?void 0:H.config.speed)??1;i===e(de)&&t>=je?(Ze=Date.now()+Q,w==null||w.goto(t-je,n),d!==void 0&&o(ee,d),k()&&(ue(),Ae(),Ke())):(o(de,i),$e({finished:!1,timeOffset:S,paused:!n,speed:C,stepIndexOverride:d}))}function Ye(t){if(e(Te)[t]===void 0||!w)return;o(ee,t);let n=e(Te)[t+1];if(n===void 0){const{first:d,span:i}=p(e(N)[e(N).length-1]);n=d+Math.max(0,i-1)}n!==void 0&&pe(n,!1,t)}function Ae(){const t=be(),n=t==null?void 0:t.iframe,d=n==null?void 0:n.contentDocument;if(!n||!d)return;Ge=d;const i=C=>{const H=C.target;if(!H||H===d.documentElement){o(ne,null);return}const W=H.getBoundingClientRect(),le=n.getBoundingClientRect(),oe=e(Z).getBoundingClientRect(),Ee=le.width/(n.clientWidth||1),Y=le.height/(n.clientHeight||1);o(ne,{top:le.top+W.top*Y-oe.top,left:le.left+W.left*Ee-oe.left,width:W.width*Ee,height:W.height*Y})},l=C=>{C.preventDefault(),C.stopPropagation(),o(Re,Jr(C.target))},u=()=>{o(ne,null)},S=C=>{C.key==="Escape"&&Se()};d.addEventListener("mousemove",i),d.addEventListener("click",l,!0),d.addEventListener("mouseleave",u),d.addEventListener("keydown",S);try{d.documentElement.dataset.plumInspectWired="1"}catch{}ye=()=>{d.removeEventListener("mousemove",i),d.removeEventListener("click",l,!0),d.removeEventListener("mouseleave",u),d.removeEventListener("keydown",S),o(ne,null)}}function ue(){Ge=null,ye&&(ye(),ye=null)}function Be(){ke!==null&&(cancelAnimationFrame(ke),ke=null)}function qe(){var d,i,l;if(!k()){ke=null;return}const t=(i=(d=be())==null?void 0:d.iframe)==null?void 0:i.contentDocument,n=((l=t==null?void 0:t.documentElement)==null?void 0:l.dataset.plumInspectWired)==="1";t&&(t!==Ge||!n)&&(ue(),Ae()),ke=requestAnimationFrame(qe)}function Ke(){ke===null&&(ke=requestAnimationFrame(qe))}async function Se(){k(!k());const t=Ot();t&&k()&&(t.paused=!0),t&&(t.stepIndexOverride=e(ee)),k()||(ue(),Be()),await As(),$e(t)}function fe(){const t=be();t&&(t.service.state.matches("paused")?w.play():w.pause())}let He=x(!1),he=x(!1);function Bt(){return`report-${A()}${$()?"-"+$():""}`.replace(/[^a-z0-9]+/gi,"-").replace(/^-+|-+$/g,"").toLowerCase()}async function St(){if(o(he,!1),!e(He)){o(He,!0);try{const t=await Mr(be()),n=e(ee)>=0?`-step-${e(ee)+1}`:"";Dr(t,`${Bt()}${n}.png`),Lt("success",Xs)}catch{Lt("error",Qs)}finally{o(He,!1)}}}async function gt(){var l,u;if(o(he,!1),((l=y())==null?void 0:l.status)==="rendering")return;if(e(N).length>1){Lt("error",er);return}const t=be();if(!t)return;const n=Ie.get((u=e(N)[0])==null?void 0:u.recordingId)??[],d=n.length>1?n[n.length-1].timestamp-n[0].timestamp:0,i=Ot();await Or({replayer:t,durationMs:d,filename:`${Bt()}-replay.webm`}),$e(i)}function wt(t){if(t.key==="Escape"&&e(he)){o(he,!1);return}if(t.key==="Escape"&&k()){Se();return}t.key===" "&&!k()&&(t.preventDefault(),fe())}function Jt(t){e(he)&&!t.target.closest(".download-fab-wrap")&&o(he,!1)}let Le=x(!1),$t=x(""),ct=!1,Ze=0,Je=0;function Mt(){var t;return(t=e(J))==null?void 0:t.querySelector(".rr-controller__btns button")}function dt(t){if(!t)return;const n=t.getBoundingClientRect(),d=e(Z).getBoundingClientRect();o($t,`top: ${n.top-d.top}px; left: ${n.left-d.left}px; width: ${n.width}px; height: ${n.height}px;`)}function Xt(){const t=be(),n=Mt();if(!t||!n)return;const d=Je;t.on("finish",()=>{if(Je===d&&!(Date.now()<Ze)&&ct){if(e(de)<e(N).length-1){const i=t.config.speed;o(de,e(de)+1);const l=e(N)[e(de)],{first:u}=p(l),S=Math.max(0,l.from-u);$e({finished:!1,timeOffset:S,paused:!1,speed:i});return}dt(n),o(Le,!0),o(ot,e(E))}}),t.on("start",()=>{o(Le,!1),ct=!0}),t.on("resume",()=>{o(Le,!1),ct=!0}),t.on("pause",()=>{ct=!1})}function mt(){var t;if(o(Le,!1),e(de)!==0){const n=((t=be())==null?void 0:t.config.speed)??1;o(de,0),$e({finished:!1,timeOffset:0,paused:!1,speed:n})}else w==null||w.goto(0,!0)}function Ot(){const t=be();if(!t)return null;if(e(Le))return{finished:!0,speed:t.config.speed};const{first:n}=p(e(N)[e(de)]);return{finished:!1,timeOffset:je+t.getCurrentTime()-n,paused:t.service.state.matches("paused"),speed:t.config.speed}}function Pt(){if(ue(),w){try{w.$destroy()}catch{}w=null}}function $e(t=null){var _e,Ve;Je+=1;const n=e(Z).getBoundingClientRect(),d=Math.max(g,Math.floor(n.width)),i=Math.max(ie,Math.floor(n.height)-se-ce);if(w){try{w.$destroy()}catch{}w=null}e(J).replaceChildren();const l=e(N)[e(de)],u=Ie.get(l==null?void 0:l.recordingId)??[],S=(l==null?void 0:l.to)??1/0,C=u.filter(M=>M.timestamp<=S),H=((_e=u[0])==null?void 0:_e.timestamp)??0,W=t!=null&&t.finished?S:H+((t==null?void 0:t.timeOffset)??0);let le=0;for(let M=0;M<C.length&&!(C[M].timestamp>W);M++)C[M].type===2&&(le=M>0&&C[M-1].type===4?M-1:M);const oe=C.slice(le).filter(M=>M.type!==5||M.timestamp>=l.from),Ee=((Ve=oe[0])==null?void 0:Ve.timestamp)??H;je=Ee;const Y=Math.max(0,W-Ee);w=new Ar({target:e(J),props:{events:oe,autoPlay:!1,showController:!0,speedOption:[.5,1,2],speed:1,width:d,height:i}}),(t==null?void 0:t.stepIndexOverride)!==void 0?o(ee,t.stepIndexOverride):o(ee,D(W)),w.addEventListener("custom-event",M=>{var ge;((ge=M==null?void 0:M.data)==null?void 0:ge.tag)==="step"&&o(ee,e(ee)+1)}),Xt(),t?t.finished?(w.setSpeed(t.speed),Ze=Date.now()+Q,w.goto(Y,!1),o(Le,!0),o(ot,e(E)),requestAnimationFrame(()=>dt(Mt()))):(w.setSpeed(t.speed),t.paused&&(Ze=Date.now()+Q),w.goto(Y,!t.paused)):(requestAnimationFrame(()=>{if(!e(J))return;const M=Array.from(e(J).querySelectorAll(".rr-controller__btns button")).find(ge=>ge.textContent.trim()==="1x");M==null||M.click()}),w.play()),k()&&(ue(),Ae(),Ke())}Va(async()=>{o(Ue,new Map(B().map(i=>[i.id,i])));try{const i=await Promise.all(B().map(l=>Ws(A(),l.id)));B().forEach((l,u)=>Ie.set(l.id,i[u]??[]))}catch{o(re,!0),o(j,!1);return}if([...Ie.values()].every(i=>i.length===0)){o(re,!0),o(j,!1);return}const t=Er(B());o(N,t.length>0?t:B()[0]?[{recordingId:B()[0].id,from:0,to:0}]:[]);const n=B().find(i=>i.tabIndex===0)??B()[0],d=Ie.get(n==null?void 0:n.id)??[];o(Te,d.filter(i=>{var l;return i.type===5&&((l=i.data)==null?void 0:l.tag)==="step"}).map(i=>i.timestamp)),$e(),o(j,!1),vt=requestAnimationFrame(At)}),Is(()=>{var t;vt!==null&&cancelAnimationFrame(vt),((t=y())==null?void 0:t.status)==="rendering"&&Pr(),Be(),Pt()}),te(()=>(e(Ue),e(N),e(de)),()=>{var t;o(L,e(Ue).get((t=e(N)[e(de)])==null?void 0:t.recordingId))}),te(()=>e(N),()=>{var t;o(R,((t=e(N)[0])==null?void 0:t.from)??0)}),te(()=>e(N),()=>{var t;o(E,((t=e(N)[e(N).length-1])==null?void 0:t.to)??0)}),te(()=>y(),()=>{var t;o(T,((t=y())==null?void 0:t.status)==="rendering")}),It(),nt();var xt=mn();ae("keydown",_a,wt),ae("click",_a,Jt);var Dt=s(xt);{var Nt=t=>{en(t,{get steps(){return F()},get stepTimestamps(){return e(Te)},get currentStepIndex(){return e(ee)},$$events:{jump:n=>Ye(n.detail)}})};b(Dt,t=>{F().length>0&&t(Nt)})}var Fe=r(Dt,2),Xe=s(Fe),yt=s(Xe);ja(yt,t=>o(J,t),()=>e(J));var jt=r(yt,2);{var Qt=t=>{sn(t,{get from(){return e(R)},get to(){return e(E)},get position(){return e(ot)},get stepTimestamps(){return e(Te)},$$events:{seek:n=>pe(n.detail,!1)}})};b(jt,t=>{e(N).length>1&&t(Qt)})}a(Xe);var kt=r(Xe,2);{var ea=t=>{var n=un(),d=s(n,!0);a(n),q(i=>m(d,i),[()=>Gs(e(L).tabIndex)],X),v(t,n)};b(kt,t=>{e(N).length>1&&e(L)&&t(ea)})}var bt=r(kt,2);{var ta=t=>{var n=fn();v(t,n)},qt=t=>{var n=_t(),d=xe(n);{var i=l=>{var u=hn();u.textContent=tr,v(l,u)};b(d,l=>{e(re)&&l(i)},!0)}v(t,n)};b(bt,t=>{e(j)?t(ta):t(qt,!1)})}var pt=r(bt,2);{var aa=t=>{var n=_n();q(()=>z(n,"style",`top: ${e(ne).top??""}px; left: ${e(ne).left??""}px; width: ${e(ne).width??""}px; height: ${e(ne).height??""}px;`)),v(t,n)};b(pt,t=>{e(ne)&&t(aa)})}var Et=r(pt,2);{var sa=t=>{var n=gn();z(n,"aria-label",Us),q(()=>z(n,"style",e($t))),ae("click",n,mt),v(t,n)};b(Et,t=>{e(Le)&&t(sa)})}var Ce=r(Et,2);z(Ce,"title",$a),z(Ce,"aria-label",$a);var ut=r(Ce,2),Me=s(ut);z(Me,"title",Ma),z(Me,"aria-label",Ma);var Ht=r(Me,2);{var ra=t=>{var n=wn(),d=s(n),i=s(d);i.textContent=Ys;var l=r(i,2);l.textContent=Ks,a(d);var u=r(d,2),S=s(u);S.textContent=Zs;var C=r(S,2);C.textContent=Js,a(u),a(n),q(()=>{d.disabled=e(He),u.disabled=e(T)}),ae("click",d,St),ae("click",u,gt),v(t,n)};b(Ht,t=>{e(he)&&t(ra)})}a(ut),a(Fe),ja(Fe,t=>o(Z,t),()=>e(Z));var na=r(Fe,2);{var ia=t=>{pn(t,{get selectedElement(){return e(Re)}})};b(na,t=>{k()&&t(ia)})}a(xt),q(()=>{P(yt,"player-mount-multi",e(N).length>1),Ce.disabled=e(j)||e(re),P(Ce,"inspect-fab-active",k()),Me.disabled=e(j)||e(re),z(Me,"aria-expanded",e(he)),P(Me,"inspect-fab-active",e(he))}),ae("click",Ce,Se),ae("click",Me,()=>o(he,!e(he))),v(I,xt),lt(),h()}var yn=c('<div class="error-state svelte-1wrqiav"> </div>'),kn=c('<div class="loading-state svelte-1wrqiav"><div class="loading-dots svelte-1wrqiav"><span class="svelte-1wrqiav"></span><span class="svelte-1wrqiav"></span><span class="svelte-1wrqiav"></span></div></div>'),bn=Ct('<svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wrqiav"><polyline points="20 6 9 17 4 12" class="svelte-1wrqiav"></polyline></svg>'),qn=Ct('<svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wrqiav"><line x1="18" y1="6" x2="6" y2="18" class="svelte-1wrqiav"></line><line x1="6" y1="6" x2="18" y2="18" class="svelte-1wrqiav"></line></svg>'),En=c('<span class="run-name-badge svelte-1wrqiav"> </span>'),Rn=c('<span class="run-name-badge svelte-1wrqiav"> </span>'),Tn=c('<div class="stat svelte-1wrqiav"><span class="stat-num fail-color svelte-1wrqiav"> </span> <span class="stat-label svelte-1wrqiav"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wrqiav"><line x1="18" y1="6" x2="6" y2="18" class="svelte-1wrqiav"></line><line x1="6" y1="6" x2="18" y2="18" class="svelte-1wrqiav"></line></svg> </span></div>'),Ln=c('<div class="stat svelte-1wrqiav"><span class="stat-num muted-color svelte-1wrqiav"> </span> <span class="stat-label svelte-1wrqiav"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" class="svelte-1wrqiav"><line x1="5" y1="12" x2="19" y2="12" class="svelte-1wrqiav"></line></svg> </span></div>'),Cn=c('<div class="stat svelte-1wrqiav"><span class="stat-num svelte-1wrqiav"> </span> <span class="stat-label svelte-1wrqiav"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wrqiav"><rect x="3" y="3" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect><rect x="14" y="3" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect><rect x="3" y="14" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect><rect x="14" y="14" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect></svg> </span></div>'),In=c('<span class="log-runner-count svelte-1wrqiav"> </span>'),An=c('<button class="log-tab svelte-1wrqiav"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-1wrqiav"><rect x="2" y="3" width="20" height="14" rx="2" class="svelte-1wrqiav"></rect><path d="M8 21h8M12 17v4" class="svelte-1wrqiav"></path></svg> </button>'),Bn=c('<div class="log-tabs svelte-1wrqiav"></div>'),Sn=c('<details class="logs-section svelte-1wrqiav"><summary class="logs-summary svelte-1wrqiav"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wrqiav"><polyline points="4 17 10 11 4 5" class="svelte-1wrqiav"></polyline><line x1="12" y1="19" x2="20" y2="19" class="svelte-1wrqiav"></line></svg> <!></summary> <!> <pre class="logs-body svelte-1wrqiav"> </pre></details>'),$n=c('<div class="group-header runner-group-header svelte-1wrqiav"><svg class="group-icon svelte-1wrqiav" width="12" height="12" 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" class="svelte-1wrqiav"></rect><path d="M8 21h8M12 17v4" class="svelte-1wrqiav"></path></svg> </div>'),Mn=c('<div class="group-header worker-group-header svelte-1wrqiav"><svg class="group-icon svelte-1wrqiav" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect><rect x="14" y="3" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect><rect x="3" y="14" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect><rect x="14" y="14" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect></svg> </div>'),On=c('<span class="suite-tag svelte-1wrqiav"> </span>'),Pn=c('<span class="scenario-count svelte-1wrqiav"> </span>'),Dn=c('<span class="scenario-count svelte-1wrqiav"> </span>'),Nn=c('<button class="replay-btn svelte-1wrqiav"><svg width="11" height="11" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="svelte-1wrqiav"><polygon points="5,3 19,12 5,21" class="svelte-1wrqiav"></polygon></svg> </button>'),jn=c('<button class="replay-btn replay-btn-sm svelte-1wrqiav"><svg width="9" height="9" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="svelte-1wrqiav"><polygon points="5,3 19,12 5,21" class="svelte-1wrqiav"></polygon></svg> </button>'),Hn=c('<div class="example-header svelte-1wrqiav"><!> <span class="svelte-1wrqiav"> </span> <span class="scenario-duration svelte-1wrqiav"> </span> <!></div>'),Fn=c('<pre class="step-error svelte-1wrqiav"> </pre>'),Vn=c('<td class="svelte-1wrqiav"> </td>'),zn=c('<tr class="svelte-1wrqiav"></tr>'),Wn=c('<table class="step-datatable svelte-1wrqiav"><tbody class="svelte-1wrqiav"></tbody></table>'),Gn=c('<div class="step svelte-1wrqiav"><div class="step-row svelte-1wrqiav"><!> <!> <span class="step-name svelte-1wrqiav"> </span> <span class="step-duration svelte-1wrqiav"> </span></div> <!> <!></div>'),Un=c("<!> <!>",1),Yn=c('<div class="steps svelte-1wrqiav"></div>'),Kn=c('<div class="scenario svelte-1wrqiav"><div class="scenario-row svelte-1wrqiav"><button class="scenario-header svelte-1wrqiav"><!> <span class="scenario-name svelte-1wrqiav"> <!> <!></span> <div class="scenario-tags svelte-1wrqiav"></div> <span class="scenario-duration svelte-1wrqiav"> </span> <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="chevron svelte-1wrqiav"><polyline points="9 18 15 12 9 6" class="svelte-1wrqiav"></polyline></svg></button> <!></div> <!></div>'),Zn=c('<div class="feature svelte-1wrqiav"><div class="feature-header svelte-1wrqiav"><h2 class="feature-name svelte-1wrqiav"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feature-icon svelte-1wrqiav"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z" class="svelte-1wrqiav"></path><polyline points="14 2 14 8 20 8" class="svelte-1wrqiav"></polyline></svg> <!></h2> <div class="feature-right svelte-1wrqiav"><span class="feature-file svelte-1wrqiav"> </span> <!></div></div> <div class="scenarios svelte-1wrqiav"></div></div>'),Jn=c("<!> <!>",1),Xn=c("<!> <!>",1),Qn=c('<div class="report-header svelte-1wrqiav"><div class="header-main svelte-1wrqiav"><div class="header-status svelte-1wrqiav"><div class="status-icon-wrap svelte-1wrqiav"><!></div> <div class="svelte-1wrqiav"><div class="h1-row svelte-1wrqiav"><h1 class="svelte-1wrqiav"> </h1> <!></div> <div class="header-meta svelte-1wrqiav"><span class="mono svelte-1wrqiav"> </span> <span class="meta-sep svelte-1wrqiav">·</span> <span class="svelte-1wrqiav"> </span> <span class="meta-sep svelte-1wrqiav">·</span> <span class="svelte-1wrqiav"> </span> <span class="meta-sep svelte-1wrqiav">·</span> <span class="browser-pill svelte-1wrqiav"><!> </span></div></div></div> <div class="header-stats svelte-1wrqiav"><div class="stat svelte-1wrqiav"><span class="stat-num pass-color svelte-1wrqiav"> </span> <span class="stat-label svelte-1wrqiav"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wrqiav"><polyline points="20 6 9 17 4 12" class="svelte-1wrqiav"></polyline></svg> </span></div> <!> <!> <div class="stat svelte-1wrqiav"><span class="stat-num svelte-1wrqiav"> </span> <span class="stat-label svelte-1wrqiav"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wrqiav"><circle cx="12" cy="12" r="10" class="svelte-1wrqiav"></circle><polyline points="12 6 12 12 16 14" class="svelte-1wrqiav"></polyline></svg> </span></div> <div class="stat svelte-1wrqiav"><span class="stat-num svelte-1wrqiav"> </span> <span class="stat-label svelte-1wrqiav"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-1wrqiav"><rect x="2" y="3" width="20" height="14" rx="2" class="svelte-1wrqiav"></rect><path d="M8 21h8M12 17v4" class="svelte-1wrqiav"></path></svg> </span></div> <!></div></div></div> <!> <!>',1),ei=c('<div class="replay-overlay svelte-1wrqiav"><div class="replay-modal svelte-1wrqiav"><div class="replay-modal-header svelte-1wrqiav"><span class="replay-modal-title svelte-1wrqiav"> </span> <button class="replay-close svelte-1wrqiav"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-1wrqiav"><line x1="18" y1="6" x2="6" y2="18" class="svelte-1wrqiav"></line><line x1="6" y1="6" x2="18" y2="18" class="svelte-1wrqiav"></line></svg></button></div> <div class="replay-body svelte-1wrqiav"><!></div></div></div>'),ti=c('<div class="detail-top svelte-1wrqiav"><!> <!></div> <!> <!>',1);function ki(I,_){it(_,!1);const[f,h]=za(),y=()=>Wa(Ns,"$page",f),L=x(),R=x(),E=x(),T=x(),A=x(),B=x(),F=x(),$=x(),k=parseInt(y().params.id,10);let g=x(null),ie=x(null),se=x(new Set),Q=x([]),ce=x(!1),Z=x(null),J=x([]),w=x(!1),j=x(!1);async function re(p){o(j,!0);try{await or(k,p),Lt("success",Os("Report"))}catch{Lt("error",Ps("this report"))}finally{o(j,!1)}}function Re(p){return e(Q).some(D=>D.scenarioId===p.id)}function ne(p){o(Z,p),o(J,e(Q).filter(D=>D.scenarioId===p.id).sort((D,pe)=>D.tabIndex-pe.tabIndex)),o(ce,!0)}function ye(){o(ce,!1),o(Z,null),o(J,[])}function Ge(p){e(ce)&&p.key==="Escape"&&!e(w)&&ye()}Va(async()=>{try{o(g,await ar(k)),o(Q,await sr(k))}catch{o(ie,nr)}});function ke(p){e(se).has(p)?e(se).delete(p):e(se).add(p),o(se,e(se))}let ee=x(0);te(()=>e(g),()=>{var p;o(L,Rr(((p=e(g))==null?void 0:p.logs)??null))}),te(()=>e(L),()=>{e(L)&&o(ee,0)}),te(()=>e(g),()=>{var p;o(R,((p=e(g))==null?void 0:p.status)==="PASS")}),te(()=>e(g),()=>{var p;o(E,((p=e(g))==null?void 0:p.features.flatMap(D=>D.scenarios))??[])}),te(()=>e(E),()=>{o(T,e(E).filter(p=>p.status==="passed").length)}),te(()=>e(E),()=>{o(A,e(E).filter(p=>p.status==="failed").length)}),te(()=>e(E),()=>{o(B,e(E).filter(p=>p.status==="skipped"||p.status==="pending").length)}),te(()=>(e(g),e(E)),()=>{var p;o(F,((p=e(g))==null?void 0:p.duration)??e(E).reduce((D,pe)=>D+pe.duration,0))}),te(()=>(e(g),e(Q),Pa),()=>{o($,e(g)&&e(Q)?Pa(e(g).features):[])}),It(),nt();var Te=ti();ae("keydown",_a,Ge),ys(p=>{Bs.title=rr});var Ue=xe(Te),Ie=s(Ue);Br(Ie,{href:"/reports",label:ir});var N=r(Ie,2);{var de=p=>{Sr(p,{items:lr,get busy(){return e(j)},$$events:{select:D=>re(D.detail)}})};b(N,p=>{e(g)&&p(de)})}a(Ue);var je=r(Ue,2);{var ot=p=>{var D=yn(),pe=s(D,!0);a(D),q(()=>m(pe,e(ie))),v(p,D)},vt=p=>{var D=_t(),pe=xe(D);{var Ye=ue=>{var Be=kn();v(ue,Be)},Ae=ue=>{var Be=Qn(),qe=xe(Be),Ke=s(qe),Se=s(Ke),fe=s(Se),He=s(fe);{var he=i=>{var l=bn();v(i,l)},Bt=i=>{var l=qn();v(i,l)};b(He,i=>{e(R)?i(he):i(Bt,!1)})}a(fe);var St=r(fe,2),gt=s(St),wt=s(gt),Jt=s(wt,!0);a(wt);var Le=r(wt,2);{var $t=i=>{var l=En(),u=s(l,!0);a(l),q(()=>m(u,e(g).testRun.title)),v(i,l)},ct=i=>{var l=_t(),u=xe(l);{var S=C=>{var H=Rn(),W=s(H,!0);a(H),q(()=>m(W,e(g).triggerType)),v(C,H)};b(u,C=>{Cr(e(g).triggerType)&&C(S)},!0)}v(i,l)};b(Le,i=>{var l;(l=e(g).testRun)!=null&&l.title?i($t):i(ct,!1)})}a(gt);var Ze=r(gt,2),Je=s(Ze),Mt=s(Je,!0);a(Je);var dt=r(Je,4),Xt=s(dt,!0);a(dt);var mt=r(dt,4),Ot=s(mt,!0);a(mt);var Pt=r(mt,4),$e=s(Pt);const xt=X(()=>e(g).browser??Ba[0].id);Yr($e,{get browser(){return e(xt)}});var Dt=r($e);a(Pt),a(Ze),a(St),a(Se);var Nt=r(Se,2),Fe=s(Nt),Xe=s(Fe),yt=s(Xe,!0);a(Xe);var jt=r(Xe,2),Qt=r(s(jt));Qt.nodeValue=` ${vr}`,a(jt),a(Fe);var kt=r(Fe,2);{var ea=i=>{var l=Tn(),u=s(l),S=s(u,!0);a(u);var C=r(u,2),H=r(s(C));H.nodeValue=` ${mr}`,a(C),a(l),q(()=>m(S,e(A))),v(i,l)};b(kt,i=>{e(A)>0&&i(ea)})}var bt=r(kt,2);{var ta=i=>{var l=Ln(),u=s(l),S=s(u,!0);a(u);var C=r(u,2),H=r(s(C));H.nodeValue=` ${xr}`,a(C),a(l),q(()=>m(S,e(B))),v(i,l)};b(bt,i=>{e(B)>0&&i(ta)})}var qt=r(bt,2),pt=s(qt),aa=s(pt,!0);a(pt);var Et=r(pt,2),sa=r(s(Et));sa.nodeValue=` ${cr}`,a(Et),a(qt);var Ce=r(qt,2),ut=s(Ce),Me=s(ut,!0);a(ut);var Ht=r(ut,2),ra=r(s(Ht));a(Ht),a(Ce);var na=r(Ce,2);{var ia=i=>{var l=Cn(),u=s(l),S=s(u,!0);a(u);var C=r(u,2),H=r(s(C));a(C),a(l),q(W=>{m(S,e(g).workerCount),m(H,` ${W??""}`)},[()=>Aa(e(g).workerCount,"worker")],X),v(i,l)};b(na,i=>{e(g).workerCount>1&&i(ia)})}a(Nt),a(Ke),a(qe);var t=r(qe,2);{var n=i=>{var l=Sn(),u=s(l),S=r(s(u));S.nodeValue=` ${yr} `;var C=r(S);{var H=Y=>{var _e=In(),Ve=s(_e,!0);a(_e),q(M=>m(Ve,M),[()=>br(e(L).length)],X),v(Y,_e)};b(C,Y=>{e(L).length>1&&Y(H)})}a(u);var W=r(u,2);{var le=Y=>{var _e=Bn();we(_e,5,()=>e(L),me,(Ve,M,ge)=>{var G=An(),Qe=r(s(G));a(G),q(()=>{P(G,"log-tab-active",e(ee)===ge),m(Qe,` ${e(M).name??""}`)}),ae("click",G,Sa(()=>o(ee,ge))),v(Ve,G)}),a(_e),v(Y,_e)};b(W,Y=>{e(L).length>1&&Y(le)})}var oe=r(W,2),Ee=s(oe,!0);a(oe),a(l),q(()=>{var Y;return m(Ee,((Y=e(L)[e(ee)])==null?void 0:Y.content)??"")}),v(i,l)};b(t,i=>{e(L).length>0&&i(n)})}var d=r(t,2);we(d,1,()=>e($),me,(i,l,u)=>{var S=Xn(),C=xe(S);{var H=le=>{var oe=$n(),Ee=r(s(oe));a(oe),q(()=>m(Ee,` ${e(l).runnerName??dr??""}`)),v(le,oe)};b(C,le=>{e($).length>1&&le(H)})}var W=r(C,2);we(W,1,()=>e(l).workers,me,(le,oe,Ee)=>{var Y=Jn(),_e=xe(Y);{var Ve=ge=>{var G=Mn(),Qe=r(s(G));a(G),q(ze=>m(Qe,` ${ze??""}`),[()=>pr(e(oe).workerId)],X),v(ge,G)};b(_e,ge=>{e(l).workers.length>1&&ge(Ve)})}var M=r(_e,2);we(M,1,()=>e(oe).features,me,(ge,G,Qe)=>{var ze=Zn(),la=s(ze),oa=s(la),ga=r(s(oa)),Ya=r(ga);{var Ka=Oe=>{var V=On(),ft=s(V,!0);a(V),q(et=>m(ft,et),[()=>Da(e(G))],X),v(Oe,V)};b(Ya,Oe=>{Da(e(G))&&Oe(Ka)})}a(oa);var wa=r(oa,2),Ft=s(wa),Za=s(Ft,!0);a(Ft);var Ja=r(Ft,2);const Xa=X(()=>e(G).status==="passed"?"pass":"fail");Ir(Ja,{get variant(){return e(Xa)},children:(Oe,V)=>{Ss();var ft=Kt();q(()=>m(ft,e(G).status)),v(Oe,ft)},$$slots:{default:!0}}),a(wa),a(la);var ma=r(la,2);we(ma,5,()=>e(G).scenarioGroups,me,(Oe,V,ft)=>{var et=Kn();const xa=X(()=>`${u}-${Ee}-${Qe}-${e(V).key}`),ya=X(()=>e(se).has(e(xa))),Qa=X(()=>e(V).scenarios.some(Re));var va=s(et),Vt=s(va),ka=s(Vt);Ha(ka,{get status(){return e(V).status}});var ca=r(ka,2),ba=s(ca),qa=r(ba);{var es=K=>{var O=Pn(),tt=s(O,!0);a(O),q(Pe=>m(tt,Pe),[()=>ur(e(V).scenarios.length)],X),v(K,O)};b(qa,K=>{e(V).scenarios.length>1&&K(es)})}var ts=r(qa,2);{var as=K=>{var O=Dn();z(O,"title",fr);var tt=s(O,!0);a(O),q(Pe=>m(tt,Pe),[()=>hr(e(V).scenarios[0].attempts)],X),v(K,O)};b(ts,K=>{var O;((O=e(V).scenarios[0])==null?void 0:O.attempts)>1&&K(as)})}a(ca);var da=r(ca,2);we(da,5,()=>e(V).tags,me,(K,O)=>{Fr(K,{get tag(){return e(O)}})}),a(da);var pa=r(da,2),ss=s(pa,!0);a(pa);var rs=r(pa,2);a(Vt);var ns=r(Vt,2);{var is=K=>{var O=Nn();z(O,"title",_r);var tt=r(s(O));tt.nodeValue=` ${Oa}`,a(O),ae("click",O,()=>ne(e(V).scenarios[0])),v(K,O)};b(ns,K=>{e(Qa)&&e(V).scenarios.length===1&&K(is)})}a(va);var ls=r(va,2);{var os=K=>{var O=Yn();we(O,5,()=>e(V).scenarios,me,(tt,Pe,vs)=>{var Ea=Un(),Ra=xe(Ea);{var cs=Rt=>{var ve=Hn(),We=s(ve);Ha(We,{get status(){return e(Pe).status}});var at=r(We,2),zt=s(at,!0);a(at);var ht=r(at,2),Tt=s(ht,!0);a(ht);var ua=r(ht,2);{var Wt=st=>{var De=jn(),fa=r(s(De));fa.nodeValue=` ${Oa}`,a(De),ae("click",De,()=>ne(e(Pe))),v(st,De)};b(ua,st=>{Re(e(Pe))&&st(Wt)})}a(ve),q((st,De)=>{m(zt,st),m(Tt,De)},[()=>kr(vs+1),()=>Yt(e(Pe).duration)],X),v(Rt,ve)};b(Ra,Rt=>{e(V).scenarios.length>1&&Rt(cs)})}var ds=r(Ra,2);we(ds,1,()=>e(Pe).steps,me,(Rt,ve)=>{var We=Gn(),at=s(We),zt=s(at);Ua(zt,{get status(){return e(ve).status}});var ht=r(zt,2);Ga(ht,{get keyword(){return e(ve).keyword}});var Tt=r(ht,2),ua=s(Tt,!0);a(Tt);var Wt=r(Tt,2),st=s(Wt,!0);a(Wt),a(at);var De=r(at,2);{var fa=Ne=>{var rt=Fn(),Gt=s(rt,!0);a(rt),q(()=>m(Gt,e(ve).error)),v(Ne,rt)};b(De,Ne=>{e(ve).error&&Ne(fa)})}var ps=r(De,2);{var us=Ne=>{var rt=Wn(),Gt=s(rt);we(Gt,5,()=>e(ve).dataTable,me,(fs,hs,_s,ai)=>{var Ut=zn();P(Ut,"step-datatable-header",_s===0),we(Ut,5,()=>e(hs),me,(gs,ws)=>{var ha=Vn(),ms=s(ha,!0);a(ha),q(()=>m(ms,e(ws))),v(gs,ha)}),a(Ut),v(fs,Ut)}),a(Gt),a(rt),v(Ne,rt)};b(ps,Ne=>{e(ve).dataTable&&Ne(us)})}a(We),q(Ne=>{P(We,"step-fail",e(ve).status==="failed"),P(We,"step-skip",e(ve).status==="skipped"||e(ve).status==="pending"),m(ua,e(ve).name),m(st,Ne)},[()=>Yt(e(ve).duration)],X),v(Rt,We)}),v(tt,Ea)}),a(O),$s(3,O,()=>Ms,()=>({duration:200})),v(K,O)};b(ls,K=>{e(ya)&&K(os)})}a(et),q((K,O)=>{z(et,"style",K),P(et,"scenario-fail",e(V).status==="failed"),m(ba,`${e(V).name??""} `),m(ss,O),P(rs,"rotated",e(ya))},[()=>Na(Qe*5+ft,40),()=>Yt(e(V).duration)],X),ae("click",Vt,()=>ke(e(xa))),v(Oe,et)}),a(ma),a(ze),q((Oe,V)=>{z(ze,"style",Oe),P(ze,"feature-pass",e(G).status==="passed"),P(ze,"feature-fail",e(G).status!=="passed"),m(ga,` ${e(G).name??""} `),z(Ft,"title",e(G).uri),m(Za,V)},[()=>Na(Qe,60),()=>Tr(e(G).uri)],X),v(ge,ze)}),v(le,Y)}),v(i,S)}),q((i,l,u,S)=>{P(qe,"pass",e(R)),P(qe,"fail",!e(R)),P(fe,"pass-bg",e(R)),P(fe,"fail-bg",!e(R)),m(Jt,e(R)?gr:wr),m(Mt,e(g).tags),m(Xt,i),m(Ot,l),m(Dt,` ${e(g).browser??Ba[0].id??""}`),m(yt,e(T)),m(aa,u),m(Me,e(g).runnerCount),m(ra,` ${S??""}`)},[()=>Lr(e(g).triggerType),()=>new Date(e(g).createdAt).toLocaleString(),()=>Yt(e(F)),()=>Aa(e(g).runnerCount,"runner")],X),v(ue,Be)};b(pe,ue=>{e(g)?ue(Ae,!1):ue(Ye)},!0)}v(p,D)};b(je,p=>{e(ie)?p(ot):p(vt,!1)})}var At=r(je,2);{var be=p=>{var D=ei(),pe=s(D),Ye=s(pe),Ae=s(Ye),ue=s(Ae,!0);a(Ae);var Be=r(Ae,2);a(Ye);var qe=r(Ye,2),Ke=s(qe);{var Se=fe=>{xn(fe,{reportId:k,get recordings(){return e(J)},get steps(){return e(Z).steps},get scenarioName(){return e(Z).name},get inspecting(){return e(w)},set inspecting(He){o(w,He)},$$legacy:!0})};b(Ke,fe=>{e(J).length>0&&fe(Se)})}a(qe),a(pe),a(D),q(()=>m(ue,e(Z).name)),ae("click",Be,ye),ae("click",pe,Sa(function(fe){Ds.call(this,_,fe)})),ae("click",D,ye),v(p,D)};b(At,p=>{e(ce)&&e(Z)&&p(be)})}v(I,Te),lt(),h()}export{ki as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of Plum.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import{h as wt,a as f,s as g,e as K,t as x,b as Z,c as Ot}from"../chunks/6VDMVB5U.js";import{i as Dt}from"../chunks/CtgCYzu5.js";import{p as Ut,o as Bt,s as v,f as Ke,c as Pt,m as U,$ as Ht,t as R,x as M,g as e,y as W,d as n,j as t,k as a,v as Mt,n as xe}from"../chunks/BIf7lHIm.js";import{i as J,s as Wt,a as Jt}from"../chunks/D_thT6pZ.js";import{e as qe,i as ze,t as Ce}from"../chunks/BTV7EXZb.js";import{A as Se,s as q,z as mt,y as z,q as pt,g as Gt,B as Pe,r as de,I as Ft,J as Vt,K as Kt,D as qt}from"../chunks/C4Z3p6jE.js";import{b as rt,a as bt}from"../chunks/BnXsGCy3.js";import{B as Xe,b as zt}from"../chunks/qvxlSGpD.js";import{p as Xt}from"../chunks/Bfc47y5P.js";import{f as Qt,a as Yt}from"../chunks/kFFd6Oo5.js";import{f as Zt,c as jt}from"../chunks/htkwR9b-.js";import{s as es}from"../chunks/B2lVGNml.js";import{B as ts}from"../chunks/DeiVAbyn.js";import{M as ss}from"../chunks/CUPWZLIN.js";import{C as as}from"../chunks/BWGoOYU0.js";import{n as fe}from"../chunks/BDb8hZHu.js";import{E as ns}from"../chunks/CNpD-yNH.js";async function lt(){const c=await fetch(`${Se}/cron-jobs`),{cronJobs:C}=await c.json();return C??[]}async function rs({taskName:c,cronExpression:C,tags:X,workers:Q,browser:w,runnerIds:I,notifyDiscord:S,notifySlack:B,isEditing:h,editTaskName:k}){const p=X.replace(/\sOR\s/gi,j=>j.toLowerCase()),P=h?`${Se}/cron-jobs/${encodeURIComponent(k)}`:`${Se}/cron-jobs`;return(await fetch(P,{method:h?"PUT":"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cronExpression:C,taskName:c,tags:p,workers:Q,browser:w,runnerIds:I,notifyDiscord:S??!1,notifySlack:B??!1})})).json()}async function ls(c,C){return(await fetch(`${Se}/cron-jobs/${encodeURIComponent(c)}/toggle`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:C})})).json()}async function os(c){return(await fetch(`${Se}/cron-jobs/${encodeURIComponent(c)}/run`,{method:"POST"})).json()}async function vs(c){return(await fetch(`${Se}/cron-jobs/${encodeURIComponent(c)}`,{method:"DELETE"})).json()}const cs="Scheduled Tests — Plum",is="Scheduled Tests",ds="Manage recurring test runs via cron jobs",fs="+ New Job",us="No scheduled tests yet. Create one to get started.",_s="Task Name",ms="Use a unique, meaningful name",ps="nightly-login-suite",bs="Schedule",hs="Select a schedule",Es="Custom…",gs="0 9 * * 1-5",ks="Invalid cron expression",ys="Tags",Ns="Multiple: @test-1 or @test-2. Leave blank to run all tests",xs="@suite-login (optional)",Cs="Workers",Ss="Parallel workers for this job",Ls="Browser",Ts="Runners",$s="Select one or more nodes",Rs="this server",Is="Notifications",As="All fields are required.",ws="Invalid cron expression.",Os="Failed to save. Please try again.",ht="Network error.",Ds="Could not update schedule.",Us="Could not trigger run.",Bs="Could not delete cron job.",Ps="Delete Cron Job",Hs="Are you sure you want to delete",Ms="Disable schedule",Ws="Enable schedule",Js="Running now",Gs="Name",Fs="Schedule",Vs="Tags",Ks="Workers",qs="Browser",zs="Runner",Xs="Actions",Qs=c=>c?"Edit Cron Job":"New Cron Job",Ys=c=>c?"Save Changes":"Add Cron Job",Zs=c=>c?Ms:Ws,js=c=>`Run ${c} now`,ea=c=>`${c} nodes`,ta=(c,C)=>`${c?"Updated":"Added"}: ${C}`,sa=c=>`Started: ${c}`,aa=c=>`Deleted: ${c}`,na=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function ra(c){if(!c)return"";const C=c.trim().split(/\s+/);if(C.length!==5)return"";const[X,Q,w,I,S]=C,B=(L,j)=>{const ee=L>=12?"PM":"AM";return`${L%12||12}:${String(j).padStart(2,"0")} ${ee}`},h=L=>/^\d+$/.test(L),k=h(Q)?+Q:null,p=h(X)?+X:null;if(c==="* * * * *")return"Every minute";const P=X.match(/^\*\/(\d+)$/);if(P&&Q==="*"&&w==="*"&&I==="*"&&S==="*")return`Every ${P[1]} minutes`;if(p!==null&&Q==="*"&&w==="*"&&I==="*"&&S==="*")return`Every hour at :${String(p).padStart(2,"0")}`;if(p!==null&&k!==null&&w==="*"&&I==="*"&&S==="1-5")return`Weekdays at ${B(k,p)}`;if(p!==null&&k!==null&&w==="*"&&I==="*"&&S==="*")return`Daily at ${B(k,p)}`;if(p!==null&&k!==null&&w==="*"&&I==="*"&&/^\d$/.test(S))return`Every ${na[+S]} at ${B(k,p)}`;const O=h(w)?+w:null;return p!==null&&k!==null&&O!==null&&I==="*"&&S==="*"?`Monthly on the ${O}${O===1?"st":O===2?"nd":O===3?"rd":"th"} at ${B(k,p)}`:""}var la=x('<option class="svelte-13v7bmf"> </option>'),oa=x('<p class="cron-desc svelte-13v7bmf"> </p>'),va=x('<input type="text" class="field-input cron-input svelte-13v7bmf" spellcheck="false"> <!>',1),ca=x('<button type="button" class="seg-btn svelte-13v7bmf"><span class="seg-num svelte-13v7bmf"> </span></button>'),ia=x('<label class="runner-check-option svelte-13v7bmf"><input type="checkbox" class="svelte-13v7bmf"> <span class="runner-check-dot remote svelte-13v7bmf"></span> <span class="svelte-13v7bmf"> </span> <span class="runner-check-hint svelte-13v7bmf"> </span></label>'),da=x('<label class="notify-check-option svelte-13v7bmf"><input type="checkbox" class="svelte-13v7bmf"> <span class="svelte-13v7bmf"></span></label>'),fa=x('<label class="notify-check-option svelte-13v7bmf"><input type="checkbox" class="svelte-13v7bmf"> <span class="svelte-13v7bmf"></span></label>'),ua=x('<div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf"></span></div> <div class="notify-checks svelte-13v7bmf"><!> <!></div></div>'),_a=x('<p class="form-error svelte-13v7bmf"> </p>'),ma=x('<form class="modal-form svelte-13v7bmf"><div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf"></span> <span class="field-hint svelte-13v7bmf"></span></div> <input type="text" class="field-input svelte-13v7bmf" required></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf"></span></div> <select class="field-input svelte-13v7bmf" required><option disabled class="svelte-13v7bmf"></option><!><option class="svelte-13v7bmf"></option></select> <!></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf"></span> <span class="field-hint svelte-13v7bmf"></span></div> <input type="text" class="field-input svelte-13v7bmf"></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf"></span> <span class="field-hint svelte-13v7bmf"></span></div> <div class="stepper svelte-13v7bmf"><button type="button" class="step-btn svelte-13v7bmf">−</button> <span class="step-val svelte-13v7bmf"> </span> <button type="button" class="step-btn svelte-13v7bmf">+</button></div></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf"></span></div> <div class="seg-control svelte-13v7bmf"></div></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf"></span> <span class="field-hint svelte-13v7bmf"></span></div> <div class="runner-checks svelte-13v7bmf"><label class="runner-check-option svelte-13v7bmf"><input type="checkbox" class="svelte-13v7bmf"> <span class="runner-check-dot built-in svelte-13v7bmf"></span> <span class="svelte-13v7bmf"></span> <span class="runner-check-hint svelte-13v7bmf"></span></label> <!></div></div> <!> <!> <!></form>'),pa=x(' <strong class="svelte-13v7bmf"> </strong> ',1),ba=x('<span class="running-dot svelte-13v7bmf"></span>'),ha=x('<tr class="job-row svelte-13v7bmf"><td class="td-toggle svelte-13v7bmf"><button class="toggle-btn svelte-13v7bmf"><span class="toggle-knob svelte-13v7bmf"></span></button></td><td class="td-run svelte-13v7bmf"><button class="run-icon-btn svelte-13v7bmf"><svg width="10" height="10" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="svelte-13v7bmf"><polygon points="5,3 19,12 5,21" class="svelte-13v7bmf"></polygon></svg></button></td><td class="job-name svelte-13v7bmf"><!> </td><td class="svelte-13v7bmf"><!></td><td class="svelte-13v7bmf"><span class="tag-text svelte-13v7bmf"> </span></td><td class="svelte-13v7bmf"><span class="workers-badge svelte-13v7bmf"> </span></td><td class="svelte-13v7bmf"><span class="browser-badge svelte-13v7bmf"> </span></td><td class="svelte-13v7bmf"><span class="runner-badge svelte-13v7bmf"><!></span></td><td class="actions-cell svelte-13v7bmf"><!> <!></td></tr>'),Ea=x('<div class="table-wrap svelte-13v7bmf"><table class="data-table svelte-13v7bmf"><thead class="svelte-13v7bmf"><tr class="svelte-13v7bmf"><th class="th-toggle svelte-13v7bmf"></th><th class="th-run svelte-13v7bmf"></th><th class="svelte-13v7bmf"></th><th class="svelte-13v7bmf"></th><th class="svelte-13v7bmf"></th><th class="svelte-13v7bmf"></th><th class="svelte-13v7bmf"></th><th class="svelte-13v7bmf"></th><th class="svelte-13v7bmf"></th></tr></thead><tbody class="svelte-13v7bmf"></tbody></table></div>'),ga=x('<!> <!> <div class="page-header svelte-13v7bmf"><div class="header-row svelte-13v7bmf"><div class="svelte-13v7bmf"><h1 class="svelte-13v7bmf"></h1> <p class="subtitle svelte-13v7bmf"></p></div> <!></div></div> <div class="card svelte-13v7bmf" style="padding: 0; overflow: hidden;"><!></div>',1);function Pa(c,C){Ut(C,!1);const[X,Q]=Wt(),w=()=>Jt(jt,"$backgroundRuns",X),I=/^(\*|([0-5]?[0-9])|\*\/[0-9]+) (\*|([01]?[0-9]|2[0-3])) (\*|([01]?[0-9]|3[01])) (\*|([1-9]|1[0-2])) (\*|[0-6](-[0-6])?)$/,S="__custom__",B=[{label:"Every minute",value:"* * * * *"},{label:"Every hour",value:"0 * * * *"},{label:"Every midnight",value:"0 0 * * *"},{label:"Every Sunday",value:"0 0 * * 0"}];let h=U([]),k=U([]),p=U({discordWebhookUrl:"",slackWebhookUrl:"",notifyPublicUrl:""}),P=U(!1),O=U(!1),L=U(!1),j="",ee=U(""),r=U({taskName:"",cronExpression:"",tags:"",workers:1,browser:Pe[0].id,runnerIds:[z],notifyDiscord:!1,notifySlack:!1}),Le=U(""),Te=U(!1),G=U("");function Et(s){s.target.value===S?(v(Te,!0),W(r,e(r).cronExpression="")):(v(Te,!1),W(r,e(r).cronExpression=s.target.value))}function ot(s){const m=e(r).runnerIds;m.includes(s)&&m.length===1||W(r,e(r).runnerIds=m.includes(s)?m.filter(d=>d!==s):[...m,s])}function vt(s){W(r,e(r).workers=Math.max(1,Math.min(10,(e(r).workers||1)+s)))}function gt(){v(L,!1),j="",v(r,{taskName:"",cronExpression:"",tags:"",workers:1,browser:Pe[0].id,runnerIds:[z],notifyDiscord:!1,notifySlack:!1}),v(Le,""),v(Te,!1),v(G,""),v(P,!0)}function kt(s){v(L,!0),j=s.taskName;const m=new Set([z,...e(k).map(y=>y.id)]),T=(s.runnerIds?s.runnerIds.split(",").map(y=>y.trim()):[z]).filter(y=>m.has(y));v(r,{taskName:s.taskName,cronExpression:s.cronExpression,tags:s.tags,workers:s.workers??1,browser:s.browser??Pe[0].id,runnerIds:T.length>0?T:[z],notifyDiscord:s.notifyDiscord??!1,notifySlack:s.notifySlack??!1});const $=B.some(y=>y.value===s.cronExpression);v(Te,!$),v(Le,$?s.cronExpression:S),v(G,""),v(P,!0)}async function yt(){if(!e(r).taskName||!e(r).cronExpression){v(G,As);return}if(!I.test(e(r).cronExpression)){v(G,ws);return}v(G,"");try{(await rs({...e(r),isEditing:e(L),editTaskName:j})).message?(fe("success",ta(e(L),e(r).taskName)),v(P,!1),v(h,await lt())):v(G,Os)}catch{v(G,ht)}}async function Nt(s){const m=!s.enabled;v(h,e(h).map(d=>d.taskName===s.taskName?{...d,enabled:m}:d));try{await ls(s.taskName,m)}catch{v(h,e(h).map(d=>d.taskName===s.taskName?{...d,enabled:!m}:d)),fe("error",Ds)}}async function xt(s){try{await os(s),fe("success",sa(s))}catch{fe("error",Us)}}async function Ct(){try{(await vs(e(ee))).message?(fe("success",aa(e(ee))),v(h,await lt())):fe("error",Bs)}catch{fe("error",ht)}v(O,!1),v(ee,"")}function St(s){var m;return((m=B.find(d=>d.value===s))==null?void 0:m.label)??s}Bt(async()=>{await(async s=>(v(h,s[0]),v(k,s[1]),v(p,s[2])))(await Promise.all([lt(),Qt().catch(()=>[]),Yt().catch(()=>({discordWebhookUrl:"",slackWebhookUrl:"",notifyPublicUrl:""}))]))}),Dt();var ct=ga();wt(s=>{Ht.title=cs});var it=Ke(ct);const Lt=M(()=>Qs(e(L)));ss(it,{get title(){return e(Lt)},get open(){return e(P)},set open(s){v(P,s)},children:(s,m)=>{var d=ma(),T=n(d),$=n(T),y=n($);y.textContent=_s;var ue=t(y,2);ue.textContent=ms,a($);var _e=t($,2);de(_e),q(_e,"placeholder",ps),a(T);var me=t(T,2),pe=n(me),He=n(pe);He.textContent=bs,a(pe);var te=t(pe,2);R(()=>{e(Le),Mt(()=>{})});var se=n(te);se.value=((se.__value="")==null,""),se.textContent=hs;var Me=t(se);qe(Me,1,()=>B,ze,(o,i)=>{var l=la(),b={},A=n(l,!0);a(l),R(()=>{b!==(b=e(i).value)&&(l.value=(l.__value=e(i).value)==null?"":e(i).value),g(A,e(i).label)}),f(o,l)});var _=t(Me);_.value=(_.__value=S)==null?"":S,_.textContent=Es,a(te);var Ze=t(te,2);{var ae=o=>{var i=va(),l=Ke(i);de(l),q(l,"placeholder",gs);var b=t(l,2);{var A=H=>{var F=oa(),Ue=n(F,!0);a(F),R((Be,V)=>{Ce(F,"cron-invalid",Be),g(Ue,V)},[()=>!I.test(e(r).cronExpression),()=>I.test(e(r).cronExpression)?ra(e(r).cronExpression)||e(r).cronExpression:ks],M),f(H,F)};J(b,H=>{e(r).cronExpression&&H(A)})}rt(l,()=>e(r).cronExpression,H=>W(r,e(r).cronExpression=H)),f(o,i)};J(Ze,o=>{e(Te)&&o(ae)})}a(me);var D=t(me,2),ne=n(D),Y=n(ne);Y.textContent=ys;var $e=t(Y,2);$e.textContent=Ns,a(ne);var be=t(ne,2);de(be),q(be,"placeholder",xs),a(D);var re=t(D,2),he=n(re),We=n(he);We.textContent=Cs;var je=t(We,2);je.textContent=Ss,a(he);var Ee=t(he,2),Re=n(Ee),le=t(Re,2),Je=n(le,!0);a(le);var Ge=t(le,2);a(Ee),a(re);var oe=t(re,2),ve=n(oe),et=n(ve);et.textContent=Ls,a(ve);var ge=t(ve,2);qe(ge,5,()=>Pe,ze,(o,i)=>{var l=ca(),b=n(l),A=n(b,!0);a(b),a(l),R(()=>{Ce(l,"active",e(r).browser===e(i).id),g(A,e(i).label)}),K("click",l,()=>W(r,e(r).browser=e(i).id)),f(o,l)}),a(ge),a(oe);var ke=t(oe,2),Ie=n(ke),ye=n(Ie);ye.textContent=Ts;var Ae=t(ye,2);Ae.textContent=$s,a(Ie);var Fe=t(Ie,2),we=n(Fe),Ne=n(we);de(Ne);var Oe=t(Ne,4);Oe.textContent=mt;var Ve=t(Oe,2);Ve.textContent=Rs,a(we);var tt=t(we,2);qe(tt,1,()=>e(k),ze,(o,i)=>{var l=ia(),b=n(l);de(b);var A=t(b,4),H=n(A,!0);a(A);var F=t(A,2),Ue=n(F,!0);a(F),a(l),R(Be=>{pt(b,Be),g(H,e(i).name),g(Ue,e(i).url)},[()=>e(r).runnerIds.includes(e(i).id)],M),K("change",b,()=>ot(e(i).id)),f(o,l)}),a(Fe),a(ke);var u=t(ke,2);{var E=o=>{var i=ua(),l=n(i),b=n(l);b.textContent=Is,a(l);var A=t(l,2),H=n(A);{var F=V=>{var ce=da(),ie=n(ce);de(ie);var at=t(ie,2);at.textContent=Ft,a(ce),bt(ie,()=>e(r).notifyDiscord,nt=>W(r,e(r).notifyDiscord=nt)),f(V,ce)};J(H,V=>{e(p).discordWebhookUrl&&V(F)})}var Ue=t(H,2);{var Be=V=>{var ce=fa(),ie=n(ce);de(ie);var at=t(ie,2);at.textContent=Vt,a(ce),bt(ie,()=>e(r).notifySlack,nt=>W(r,e(r).notifySlack=nt)),f(V,ce)};J(Ue,V=>{e(p).slackWebhookUrl&&V(Be)})}a(A),a(i),f(o,i)};J(u,o=>{(e(p).discordWebhookUrl||e(p).slackWebhookUrl)&&o(E)})}var N=t(u,2);{var De=o=>{var i=_a(),l=n(i,!0);a(i),R(()=>g(l,e(G))),f(o,i)};J(N,o=>{e(G)&&o(De)})}var st=t(N,2);Xe(st,{type:"submit",size:"md",children:(o,i)=>{xe();var l=Z();R(b=>g(l,b),[()=>Ys(e(L))],M),f(o,l)},$$slots:{default:!0}}),a(d),R(o=>{Re.disabled=e(r).workers<=1,g(Je,e(r).workers),Ge.disabled=e(r).workers>=10,pt(Ne,o)},[()=>e(r).runnerIds.includes(z)],M),rt(_e,()=>e(r).taskName,o=>W(r,e(r).taskName=o)),zt(te,()=>e(Le),o=>v(Le,o)),K("change",te,Et),rt(be,()=>e(r).tags,o=>W(r,e(r).tags=o)),K("click",Re,()=>vt(-1)),K("click",Ge,()=>vt(1)),K("change",Ne,()=>ot(z)),K("submit",d,Xt(yt)),f(s,d)},$$slots:{default:!0},$$legacy:!0});var dt=t(it,2);as(dt,{title:Ps,get open(){return e(O)},set open(s){v(O,s)},$$events:{confirm:Ct},children:(s,m)=>{xe();var d=pa(),T=Ke(d);T.nodeValue=`${Hs} `;var $=t(T),y=n($,!0);a($);var ue=t($,1,!0);ue.nodeValue=Gt,R(()=>g(y,e(ee))),f(s,d)},$$slots:{default:!0},$$legacy:!0});var Qe=t(dt,2),ft=n(Qe),Ye=n(ft),ut=n(Ye);ut.textContent=is;var Tt=t(ut,2);Tt.textContent=ds,a(Ye);var $t=t(Ye,2);Xe($t,{$$events:{click:gt},children:(s,m)=>{xe();var d=Z();d.nodeValue=fs,f(s,d)},$$slots:{default:!0}}),a(ft),a(Qe);var _t=t(Qe,2),Rt=n(_t);{var It=s=>{ns(s,{message:us,size:"sm"})},At=s=>{var m=Ea(),d=n(m),T=n(d),$=n(T),y=t(n($),2);y.textContent=Gs;var ue=t(y);ue.textContent=Fs;var _e=t(ue);_e.textContent=Vs;var me=t(_e);me.textContent=Ks;var pe=t(me);pe.textContent=qs;var He=t(pe);He.textContent=zs;var te=t(He);te.textContent=Xs,a($),a(T);var se=t(T);qe(se,5,()=>e(h),ze,(Me,_,Ze)=>{var ae=ha();const D=M(()=>e(_).runnerIds?e(_).runnerIds.split(",").map(u=>u.trim()):[z]);var ne=n(ae),Y=n(ne);a(ne);var $e=t(ne),be=n($e);a($e);var re=t($e),he=n(re);{var We=u=>{var E=ba();q(E,"title",Js),f(u,E)};J(he,u=>{Zt(w(),e(_).taskName)&&u(We)})}var je=t(he);a(re);var Ee=t(re),Re=n(Ee);ts(Re,{variant:"schedule",children:(u,E)=>{xe();var N=Z();R(De=>g(N,De),[()=>St(e(_).cronExpression)],M),f(u,N)},$$slots:{default:!0}}),a(Ee);var le=t(Ee),Je=n(le),Ge=n(Je,!0);a(Je),a(le);var oe=t(le),ve=n(oe),et=n(ve);a(ve),a(oe);var ge=t(oe),ke=n(ge),Ie=n(ke,!0);a(ke),a(ge);var ye=t(ge),Ae=n(ye),Fe=n(Ae);{var we=u=>{var E=Z();E.nodeValue=mt,f(u,E)},Ne=u=>{var E=Ot(),N=Ke(E);{var De=o=>{var i=Z();R(l=>g(i,l),[()=>{var l;return((l=e(k).find(b=>b.id===e(D)[0]))==null?void 0:l.name)??e(D)[0]}],M),f(o,i)},st=o=>{var i=Z();R(l=>g(i,l),[()=>ea(e(D).length)],M),f(o,i)};J(N,o=>{e(D).length===1?o(De):o(st,!1)},!0)}f(u,E)};J(Fe,u=>{e(D).length===1&&e(D)[0]===z?u(we):u(Ne,!1)})}a(Ae),a(ye);var Oe=t(ye),Ve=n(Oe);Xe(Ve,{variant:"ghost",size:"sm",$$events:{click:()=>kt(e(_))},children:(u,E)=>{xe();var N=Z();N.nodeValue=Kt,f(u,N)},$$slots:{default:!0}});var tt=t(Ve,2);Xe(tt,{variant:"danger",size:"sm",$$events:{click:()=>{v(ee,e(_).taskName),v(O,!0)}},children:(u,E)=>{xe();var N=Z();N.nodeValue=qt,f(u,N)},$$slots:{default:!0}}),a(Oe),a(ae),R((u,E,N)=>{q(ae,"style",u),Ce(ae,"disabled",!e(_).enabled),q(Y,"title",E),q(Y,"aria-label",E),q(Y,"aria-pressed",e(_).enabled),Ce(Y,"on",e(_).enabled),q(be,"title",N),g(je,` ${e(_).taskName??""}`),g(Ge,e(_).tags),Ce(ve,"multi",e(_).workers>1),g(et,`×${e(_).workers??""}`),g(Ie,e(_).browser??Pe[0].id),Ce(Ae,"multi-node",e(D).length>1)},[()=>es(Ze),()=>Zs(e(_).enabled),()=>js(e(_).taskName)],M),K("click",Y,()=>Nt(e(_))),K("click",be,()=>xt(e(_).taskName)),f(Me,ae)}),a(se),a(d),a(m),f(s,m)};J(Rt,s=>{e(h).length===0?s(It):s(At,!1)})}a(_t),f(c,ct),Pt(),Q()}export{Pa as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of Plum.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import{h as Jn,a as l,t as u,s as v,e as je,b as H,c as De,n as Xa}from"../chunks/6VDMVB5U.js";import{i as qn}from"../chunks/CtgCYzu5.js";import{p as Qn,m as i,o as Zn,s as r,g as e,l as Ft,b as el,f as me,c as tl,$ as al,d as s,k as a,j as t,t as d,v as Ma,n as V,x as S,y as T}from"../chunks/BIf7lHIm.js";import{i as I,s as sl,a as Ga}from"../chunks/D_thT6pZ.js";import{e as Kt,i as Ha,t as pt,a as We,f as Xe,s as rl}from"../chunks/BTV7EXZb.js";import{A as Mt,i as xt,j as Fr,r as X,s as h,M as nl,B as lr,C as or,K as ll,F as ys,N as ol,E as cr}from"../chunks/C4Z3p6jE.js";import{b as J}from"../chunks/BnXsGCy3.js";import{B as q,b as Va}from"../chunks/qvxlSGpD.js";import{b as ir}from"../chunks/BCh31ecr.js";import{g as cl}from"../chunks/BIjh3jiU.js";import{p as il}from"../chunks/Dlymnwnf.js";import{b as Ts,f as dl,a as vl,c as pl,d as dr,p as vr,e as ul,s as _l,g as pr,u as fl,r as ml,h as kl,i as El,j as bl,k as gl,l as hl,m as Sl,n as Cl,o as ur,t as Rl,q as Ll,v as xl}from"../chunks/kFFd6Oo5.js";import{p as Al,q as yl,r as Tl,t as Pl}from"../chunks/BdBJfKUi.js";import{u as Il,a as wl}from"../chunks/DDx3no2z.js";import{a as Wa}from"../chunks/CXQhSK1T.js";import{e as Ps}from"../chunks/htkwR9b-.js";import{t as _r}from"../chunks/iL4SCrvY.js";import{n as x}from"../chunks/BDb8hZHu.js";import{C as fr}from"../chunks/BWGoOYU0.js";import{B as $l}from"../chunks/DeiVAbyn.js";function $s(){return{"Content-Type":"application/json",Authorization:`Bearer ${Wa.getToken()}`}}async function Ol(){const o=await fetch(`${Mt}/users`,{headers:$s()});if(!o.ok)throw new Error("Failed to fetch users");return(await o.json()).users}async function Nl({name:o,email:$e,password:Ye,role:Qt="user"}){const At=await fetch(`${Mt}/users`,{method:"POST",headers:$s(),body:JSON.stringify({name:o,email:$e,password:Ye,role:Qt})}),ge=await At.json();if(!At.ok)throw new Error(ge.error??"Failed to create user");return ge.user}async function Dl(o){const $e=await fetch(`${Mt}/users/${o}`,{method:"DELETE",headers:$s()});if(!$e.ok){const Ye=await $e.json();throw new Error(Ye.error??"Failed to delete user")}}const Bl="Settings — Plum",Ul="Settings",ja="Name",mr="Network error",Kr="Checking…",Mr="Copied!",kr="Project",Er="Runners",Fl="Repository",Kl="Test Repository",Ml="Test Cases",Gl="Test Cases",Hl="Bring test cases in from a Plum export file.",Vl="Import",jl="Upload a JSON file exported from Test Repository. Suites and cases are added as new records.",Wl="A case is skipped when its ID already exists here. Cases with a different prefix or no ID are imported with a fresh ID.",Xl="Could not read that file.",Yl=o=>o?"Importing…":"Import",br=({importedCases:o,importedSuites:$e,skippedCases:Ye,skippedSuites:Qt})=>{const At=`Imported ${o} ${o===1?"case":"cases"} in ${$e} ${$e===1?"suite":"suites"}`;return Ye+Qt>0?`${At} · skipped ${Ye} already here`:At+"."},gr="Integrations",zl="MCP",Jl="MCP Integration",Is="Account",hr="Users",ws="Backup",ql="Identity information shown across the UI",Ql="Register self-hosted runner nodes to distribute tests across machines.",Zl="Configure ID prefixes for test suites and cases.",eo="Connect Discord and Slack to receive run notifications with pass/fail results and report links.",to="Generate an API key for any MCP-compatible AI client — Claude, Cursor, Windsurf, and others.",ao="Manage your profile, credentials and session.",so="Add and manage who can access Plum.",ro="Export your test cases, schedules, users, and project settings. Automate uploads to any S3-compatible storage — Cloudflare R2, Backblaze B2, AWS S3, or MinIO.",Sr="Name, URL and token are required.",no="Failed to add runner.",lo="Failed to remove runner.",oo="Failed to update runner.",Cr=o=>`Cannot reach this runner — ${o??"check the URL and token"}.`,co=o=>`Runner "${o}" added.`,io=o=>`Runner "${o}" removed.`,vo=o=>`Runner "${o}" stopped.`,po=(o,$e)=>`Could not stop "${o}": ${$e??"unknown error"}`,uo=o=>`Could not stop "${o}".`,_o=o=>`Runner "${o}" restarting…`,fo=(o,$e)=>`Could not restart "${o}": ${$e??"unknown error"}`,mo=o=>`Could not restart "${o}".`,ko=o=>`Runner "${o}" updated.`,Eo="Project Name",bo="My Test Suite",go="Logo URL",ho="Direct link to an image (PNG, SVG, JPG)",So="https://example.com/logo.png",Co="Preview",Ro="Project logo preview",Lo="Timezone",xo="Used to schedule cron jobs and backups",Ao="Retry failed tests",yo="Automatically re-run failed scenarios up to this many times before finalizing the report. 0 disables retries.",To="Dark mode",Po="Switch between light and dark appearance",Io="Project settings saved.",wo="Failed to save project settings.",$o=o=>o?xt:"Save Project",Oo="Built-in runner",No="Use this server to run tests locally. Disable to route all runs to external nodes.",Rr="URL",Lr="Use",xr="for local nodes",Ar="http://host.docker.internal:3002",yr="Token",Do="secret-token",Bo="Leave blank to keep current token",Tr="Browser",Pr="staging-node",Uo="unreachable",Fo="pinging…",Ko="Remove",Mo="Add runner",Go="+ Add Runner",Ho="Restart",Vo="Restarting…",jo="Stop",Wo="Stopping…",Xo="Add Runner",Yo=o=>o?Kr:Fr,zo=o=>o?Kr:Xo,Jo=o=>o?Vo:Ho,qo=o=>o?Wo:jo,Qo="Test Case prefix",Ir="TC",Zo="Test Suite prefix",wr="TS",ec="Examples:",tc="Prefixes saved.",ac="Failed to save prefixes.",sc="Migrate IDs",rc="Rename all existing test IDs to use a new prefix. Cucumber tags in code are",nc="not",lc="affected — you manage those separately.",oc="New case prefix",cc="New suite prefix",ic="Prefix migration complete. All IDs updated.",dc="Migration failed.",vc=o=>o?xt:"Save Prefixes",pc=o=>o?"Migrating…":"Run Migration",uc="Webhooks",_c="Discord Webhook URL",fc="Leave blank to disable Discord notifications",mc="https://discord.com/api/webhooks/…",kc="Slack Webhook URL",Ec="Leave blank to disable Slack notifications",bc="https://hooks.slack.com/services/…",gc="Public URL",hc="Base URL of this Plum instance — used to link reports in notifications, and by remote runner nodes to stream live test output back here",Sc="https://plum.yourcompany.com",Cc="Integration settings saved.",Rc="Failed to save integration settings.",Lc="CI / External Triggers",xc="Trigger a Plum run from GitHub Actions (e.g. on a pull request, against its preview deployment) or any other external script by calling",Ac="with an",yc="header. Generate a key on the",Tc="MCP tab",Pc="and store it as a repo secret — never commit it directly. Runs triggered this way show up in Reports tagged",Ic="External",wc="Copy Workflow Step",$c=o=>o?xt:"Save Integrations",Oc=o=>o?Mr:wc,Nc="API Key",Dc="No key generated yet.",Bc="Hide key",Uc="Show key",Fc="Copy key",Kc="Regenerating invalidates the existing key immediately.",Mc="Config Snippet",Gc="Add this to your MCP client's config file (e.g.",Hc=", Cursor MCP settings, etc.).",Vc="MCP key generated.",jc="Failed to generate MCP key.",Wc="Copy Config",Xc=o=>o?"Generating…":"Generate Key",Yc=o=>o?"Generating…":"Regenerate Key",zc=o=>o?Mr:Wc,Jc="Profile",qc="Change password",Qc="Current password",Zc="New password",ei="Confirm new password",ti="Sign out",ai="Profile updated.",si="Passwords do not match.",ri="Password must be at least 8 characters.",ni="Password changed.",li=o=>o?xt:"Save Profile",oi=o=>o?xt:"Change Password",ci="Remove User",ii="Remove",di="Remove",vi="? They will lose access immediately.",pi="Add User",ui="Jane Smith",_i="jane@example.com",fi="Password",mi="Role",ki="User",Ei="Admin",bi="Remove user",gi="you",hi="Name, email and password are required.",Si=o=>o?"Adding…":"Add User",Ci=o=>`User "${o}" added.`,Ri=o=>`User "${o}" removed.`,Li="Manual Backup",xi="Export",Ai="Downloads a",yi="file with all cron jobs, test cases, test runs, users, runners, and project settings.",Ti="Import",Pi="Restores all data from a previously exported backup. Existing records are overwritten. Cron jobs are re-scheduled after import.",$r="Choose file…",Ii="Include reports & recordings",wi="Applies to both manual export and scheduled S3 backups. Can make backups significantly larger — recordings are session replays, not just screenshots.",$i=o=>o?"Reports and recordings are included in backups.":'Reports are not included in backups — enable "Include reports & recordings" above, or run pg_dump directly on the PostgreSQL volume, to back up report history.',Oi=o=>o?xt:Fr,Ni="S3 Storage",Di="Works with any S3-compatible provider — Cloudflare R2, Backblaze B2, AWS S3, or MinIO. Leave",Or="Endpoint URL",Bi="empty for AWS S3.",Ui="Leave blank for AWS S3",Fi="https://account.r2.cloudflarestorage.com",Ki="Region",Mi="Use",Gi="for Cloudflare R2",Hi="us-east-1",Vi="Bucket",ji="my-plum-backups",Wi="Path Prefix",Xi="Optional folder inside the bucket",Yi="plum/",zi="Access Key ID",Ji="AKIAIOSFODNN7EXAMPLE",qi="Secret Access Key",Qi="Test Connection",Zi="Save S3 Config",ed="Connection successful.",td="Connection failed.",Nr="Backup configuration saved.",Dr="Failed to save backup configuration.",ad="Required",sd="A key is already saved — leave blank to keep it",rd="••••••••",nd="Enter secret key",ld="Testing…",od="Restore from S3",cd="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.",id="Configure S3 storage above to restore from it.",dd="No backups found at this bucket/prefix.",vd="Refresh",pd="Restore this backup?",ud=o=>`This will overwrite current cron jobs, test cases, test runs, users, runners, and project settings with the contents of "${o}". This cannot be undone.`,_d="Restored from S3 successfully.",fd="Restore failed.",md="Failed to list S3 backups.",kd="Scheduled Backup",Ed="Configure S3 storage above to enable scheduled backups.",bd="Enable scheduled backup",gd="Cron Expression",hd="5-field cron — e.g.",Sd="= daily at 2 AM.",Cd="Test at crontab.guru ↗",Rd="0 2 * * *",Ld="Last backup:",xd="Backup downloaded.",Ad="Export failed.",yd="Import successful. Cron jobs have been re-scheduled.",Td="Import failed. Check the file format.",Pd="Backup uploaded to S3 successfully.",Id="Backup failed. Check your S3 configuration.",wd="Upload to S3 Now",$d="Uploading…",Od="Save Schedule",Nd=o=>`plum-backup-${o}.json`,Dd=o=>o?"Exporting…":"Export JSON",Bd=o=>o?"Importing…":"Import",Ud=o=>o?sd:ad,Fd=o=>o?rd:nd,Kd=o=>o?ld:Qi,Md=o=>o?xt:Zi,Gd=o=>`uploaded to ${o}`,Hd=o=>o?$d:wd,Vd=o=>o?xt:Od,Br=o=>o?"Restoring…":"Restore",Ur=o=>o?"Loading…":vd,jd=o=>`${(o/1024).toFixed(1)} KB`;var Wd=u('<button class="sidebar-item svelte-m3ck68"> </button>'),Xd=u('<div class="logo-preview svelte-m3ck68"><span class="preview-label svelte-m3ck68"></span> <img class="logo-img svelte-m3ck68"></div>'),Yd=u("<option> </option>"),zd=u('<div class="content-section svelte-m3ck68"><div class="content-header svelte-m3ck68"><h2 class="svelte-m3ck68"></h2> <p class="content-desc svelte-m3ck68"></p></div> <div class="card settings-card svelte-m3ck68"><div class="field"><label class="field-label svelte-m3ck68" for="project-name"></label> <input id="project-name" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-m3ck68" for="project-logo"><span></span> <span class="field-hint svelte-m3ck68"></span></label> <input id="project-logo" type="url" class="field-input"></div> <!> <div class="field"><label class="field-label svelte-m3ck68" for="project-timezone"><span></span> <span class="field-hint svelte-m3ck68"></span></label> <select id="project-timezone" class="field-input"></select></div> <div class="field"><label class="field-label svelte-m3ck68" for="project-max-retries"><span></span> <span class="field-hint svelte-m3ck68"></span></label> <input id="project-max-retries" type="number" class="field-input" min="0"></div> <div class="toggle-row svelte-m3ck68"><div class="toggle-info svelte-m3ck68"><span class="toggle-label svelte-m3ck68"></span> <span class="toggle-desc svelte-m3ck68"></span></div> <button class="toggle-switch svelte-m3ck68" role="switch"><span class="toggle-thumb svelte-m3ck68"></span></button></div> <div class="card-footer svelte-m3ck68"><!></div></div></div>'),Jd=u("<option> </option>"),qd=u('<p class="form-error svelte-m3ck68"> </p>'),Qd=u('<div class="runner-card editing svelte-m3ck68"><div class="runner-form-fields svelte-m3ck68"><div class="field"><label class="field-label svelte-m3ck68"></label> <input type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-m3ck68"> <span class="field-hint svelte-m3ck68"> <code>host.docker.internal</code> </span></label> <input type="url" class="field-input"></div> <div class="field"><label class="field-label svelte-m3ck68"></label> <input type="text" class="field-input" spellcheck="false" autocomplete="off"></div> <div class="field"><label class="field-label svelte-m3ck68"></label> <select class="field-input"></select></div></div> <!> <div class="runner-form-actions svelte-m3ck68"><!> <!></div></div>'),Zd=u('<span class="ping-badge ok svelte-m3ck68"> </span>'),ev=u('<span class="ping-badge fail svelte-m3ck68"></span>'),tv=u('<span class="ping-badge pinging svelte-m3ck68"></span>'),av=u('<div class="runner-card svelte-m3ck68"><div class="runner-card-header svelte-m3ck68"><svg class="runner-card-icon svelte-m3ck68" 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-m3ck68"> </span> <span class="runner-browser-pill svelte-m3ck68"> </span> <!></div> <p class="runner-card-url svelte-m3ck68"> </p> <div class="runner-card-actions svelte-m3ck68"><!> <!> <!> <!></div></div>'),sv=u('<div class="runner-cards svelte-m3ck68"></div>'),rv=u("<option> </option>"),nv=u('<p class="form-error svelte-m3ck68"> </p>'),lv=u('<div class="runner-form svelte-m3ck68"><p class="runner-form-title svelte-m3ck68"></p> <div class="runner-form-fields svelte-m3ck68"><div class="field"><label class="field-label svelte-m3ck68" for="rn-name"></label> <input id="rn-name" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-m3ck68" for="rn-url"> <span class="field-hint svelte-m3ck68"> <code>host.docker.internal</code> </span></label> <input id="rn-url" type="url" class="field-input"></div> <div class="field"><label class="field-label svelte-m3ck68" for="rn-token"></label> <input id="rn-token" type="text" class="field-input" spellcheck="false" autocomplete="off"></div> <div class="field"><label class="field-label svelte-m3ck68" for="rn-browser"></label> <select id="rn-browser" class="field-input"></select></div></div> <!> <div class="runner-form-actions svelte-m3ck68"><!> <!></div></div>'),ov=u('<div class="card-footer svelte-m3ck68"><!></div>'),cv=u('<div class="content-section svelte-m3ck68"><div class="content-header svelte-m3ck68"><h2 class="svelte-m3ck68"></h2> <p class="content-desc svelte-m3ck68"></p></div> <div class="card settings-card svelte-m3ck68"><div class="toggle-row svelte-m3ck68"><div class="toggle-info svelte-m3ck68"><span class="toggle-label svelte-m3ck68"></span> <span class="toggle-desc svelte-m3ck68"></span></div> <button class="toggle-switch svelte-m3ck68" role="switch"><span class="toggle-thumb svelte-m3ck68"></span></button></div> <!> <!></div></div>'),iv=u('<div class="content-section svelte-m3ck68"><div class="content-header svelte-m3ck68"><h2 class="svelte-m3ck68"></h2> <p class="content-desc svelte-m3ck68"></p></div> <div class="card settings-card svelte-m3ck68"><div class="field-row svelte-m3ck68"><div class="field"><label class="field-label svelte-m3ck68" for="tc-prefix"></label> <input id="tc-prefix" type="text" class="field-input mono svelte-m3ck68" maxlength="10"></div> <div class="field"><label class="field-label svelte-m3ck68" for="ts-prefix"></label> <input id="ts-prefix" type="text" class="field-input mono svelte-m3ck68" maxlength="10"></div></div> <p class="content-desc svelte-m3ck68"> <code class="code-sample svelte-m3ck68"> </code>, <code class="code-sample svelte-m3ck68"> </code></p> <div class="card-footer svelte-m3ck68"><!></div></div> <div class="content-header svelte-m3ck68" style="margin-top: 1rem"><h2 class="svelte-m3ck68"></h2> <p class="content-desc svelte-m3ck68"> <strong></strong> </p></div> <div class="card settings-card svelte-m3ck68"><div class="field-row svelte-m3ck68"><div class="field"><label class="field-label svelte-m3ck68" for="mig-tc"></label> <input id="mig-tc" type="text" class="field-input mono svelte-m3ck68" maxlength="10"></div> <div class="field"><label class="field-label svelte-m3ck68" for="mig-ts"></label> <input id="mig-ts" type="text" class="field-input mono svelte-m3ck68" maxlength="10"></div></div> <div class="card-footer svelte-m3ck68"><!></div></div></div>'),dv=u('<p class="tc-import-result svelte-m3ck68"> </p>'),vv=u('<div class="content-section svelte-m3ck68"><div class="content-header svelte-m3ck68"><h2 class="svelte-m3ck68"></h2> <p class="content-desc svelte-m3ck68"></p></div> <div class="card settings-card svelte-m3ck68"><p class="card-title"></p> <div class="backup-block svelte-m3ck68"><p class="backup-block-desc svelte-m3ck68"></p> <div class="import-row svelte-m3ck68"><label class="file-label svelte-m3ck68"><input type="file" accept=".json,application/json" class="file-input-hidden svelte-m3ck68"> <span class="file-btn svelte-m3ck68"> </span></label> <!></div> <!> <p class="backup-block-desc svelte-m3ck68"></p></div></div></div>'),pv=u('<div class="content-section svelte-m3ck68"><div class="content-header svelte-m3ck68"><h2 class="svelte-m3ck68"></h2> <p class="content-desc svelte-m3ck68"></p></div> <div class="card settings-card svelte-m3ck68"><p class="card-title"></p> <div class="field"><label class="field-label svelte-m3ck68" for="discord-url"><span></span> <span class="field-hint svelte-m3ck68"></span></label> <input id="discord-url" type="url" class="field-input"></div> <div class="field"><label class="field-label svelte-m3ck68" for="slack-url"><span></span> <span class="field-hint svelte-m3ck68"></span></label> <input id="slack-url" type="url" class="field-input"></div> <div class="field"><label class="field-label svelte-m3ck68" for="public-url"><span></span> <span class="field-hint svelte-m3ck68"></span></label> <input id="public-url" type="url" class="field-input"></div> <!></div> <div class="card settings-card svelte-m3ck68"><p class="card-title"></p> <p class="content-desc svelte-m3ck68"> <code class="code-sample svelte-m3ck68"></code> <code class="code-sample svelte-m3ck68">Authorization: ApiKey …</code> <button class="link-btn svelte-m3ck68"></button> <!>.</p> <pre class="mcp-snippet svelte-m3ck68"> </pre> <div class="card-footer svelte-m3ck68"><!></div></div></div>'),uv=u('<p class="content-desc svelte-m3ck68"></p> <div class="card-footer svelte-m3ck68"><!></div>',1),_v=Xa('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94"></path><path d="M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19"></path><line x1="1" y1="1" x2="23" y2="23"></line></svg>'),fv=Xa('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg>'),mv=Xa('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>'),kv=Xa('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>'),Ev=u('<div class="mcp-key-row svelte-m3ck68"><input class="field-input mcp-key-input svelte-m3ck68" readonly="" spellcheck="false" autocomplete="off"> <button class="icon-btn svelte-m3ck68"><!></button> <button class="icon-btn svelte-m3ck68"><!></button></div> <p class="mcp-regen-note svelte-m3ck68"></p> <div class="card-footer svelte-m3ck68"><!></div>',1),bv=u('<div class="card settings-card svelte-m3ck68"><p class="card-title"></p> <p class="content-desc svelte-m3ck68"> <code class="code-sample svelte-m3ck68">claude_desktop_config.json</code> </p> <pre class="mcp-snippet svelte-m3ck68"> </pre> <div class="card-footer svelte-m3ck68"><!></div></div>'),gv=u('<div class="content-section svelte-m3ck68"><div class="content-header svelte-m3ck68"><h2 class="svelte-m3ck68"></h2> <p class="content-desc svelte-m3ck68"></p></div> <div class="card settings-card svelte-m3ck68"><p class="card-title"></p> <!></div> <!></div>'),hv=u('<p class="form-error svelte-m3ck68"> </p>'),Sv=u('<p class="form-error svelte-m3ck68"> </p>'),Cv=u('<div class="content-section svelte-m3ck68"><div class="content-header svelte-m3ck68"><h2 class="svelte-m3ck68"></h2> <p class="content-desc svelte-m3ck68"></p></div> <div class="card settings-card svelte-m3ck68"><p class="card-title"></p> <div class="field"><label class="field-label svelte-m3ck68" for="profile-name"></label> <input id="profile-name" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-m3ck68" for="profile-email"></label> <input id="profile-email" type="email" class="field-input"></div> <!> <div class="card-footer svelte-m3ck68"><!></div></div> <div class="card settings-card svelte-m3ck68"><p class="card-title"></p> <div class="field"><label class="field-label svelte-m3ck68" for="pw-current"></label> <input id="pw-current" type="password" class="field-input" autocomplete="current-password"></div> <div class="field"><label class="field-label svelte-m3ck68" for="pw-new"></label> <input id="pw-new" type="password" class="field-input" autocomplete="new-password"></div> <div class="field"><label class="field-label svelte-m3ck68" for="pw-confirm"></label> <input id="pw-confirm" type="password" class="field-input" autocomplete="new-password"></div> <!> <div class="card-footer svelte-m3ck68"><!></div></div> <div class="card settings-card svelte-m3ck68"><div class="card-footer svelte-m3ck68"><!></div></div></div>'),Rv=u(" <strong> </strong> ",1),Lv=u('<p class="form-error svelte-m3ck68"> </p>'),xv=u('<button class="icon-btn danger svelte-m3ck68"><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>'),Av=u('<span class="you-chip svelte-m3ck68"></span>'),yv=u('<div class="user-row svelte-m3ck68"><div class="user-info svelte-m3ck68"><span class="user-name svelte-m3ck68"> </span> <span class="user-email svelte-m3ck68"> </span></div> <span> </span> <!></div>'),Tv=u('<div class="users-table svelte-m3ck68"></div>'),Pv=u('<div class="content-section svelte-m3ck68"><div class="content-header svelte-m3ck68"><h2 class="svelte-m3ck68"></h2> <p class="content-desc svelte-m3ck68"></p></div> <!> <div class="card settings-card svelte-m3ck68"><p class="card-title"></p> <div class="field-row svelte-m3ck68"><div class="field"><label class="field-label svelte-m3ck68" for="u-name"></label> <input id="u-name" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-m3ck68" for="u-email"></label> <input id="u-email" type="email" class="field-input"></div></div> <div class="field-row svelte-m3ck68"><div class="field"><label class="field-label svelte-m3ck68" for="u-pw"></label> <input id="u-pw" type="password" class="field-input" autocomplete="new-password"></div> <div class="field"><label class="field-label svelte-m3ck68" for="u-role"></label> <select id="u-role" class="field-input"><option></option><option></option></select></div></div> <!> <div class="card-footer svelte-m3ck68"><!></div></div> <!></div>'),Iv=u('<p class="s3-test-result svelte-m3ck68"> </p>'),wv=u('<p class="backup-block-desc svelte-m3ck68"></p>'),$v=u('<p class="backup-block-desc svelte-m3ck68"> </p>'),Ov=u('<li class="s3-backup-row svelte-m3ck68"><div class="s3-backup-info svelte-m3ck68"><span class="s3-backup-key svelte-m3ck68"> </span> <span class="s3-backup-meta svelte-m3ck68"> </span></div> <!></li>'),Nv=u('<ul class="s3-backup-list svelte-m3ck68"></ul>'),Dv=u('<p class="backup-block-desc svelte-m3ck68" style="margin-bottom: 1rem;"></p> <!>',1),Bv=u('<p class="backup-block-desc svelte-m3ck68"></p>'),Uv=u('<span class="status-success svelte-m3ck68"> </span>'),Fv=u('<span class="status-error svelte-m3ck68"> </span>'),Kv=u("<span> </span>"),Mv=u('<p class="backup-last-run svelte-m3ck68"> <!></p>'),Gv=u('<div class="field"><label class="field-label backup-toggle-label svelte-m3ck68" for="backup-enabled"><span></span> <button id="backup-enabled" class="toggle-btn svelte-m3ck68" role="switch"><span class="toggle-thumb svelte-m3ck68"></span></button></label></div> <div class="field"><label class="field-label svelte-m3ck68" for="backup-cron"><span></span> <span class="field-hint svelte-m3ck68"> <code>0 2 * * *</code> <a href="https://crontab.guru" target="_blank" rel="noopener noreferrer"></a></span></label> <input id="backup-cron" type="text" class="field-input field-input-mono svelte-m3ck68"></div> <!> <div class="backup-actions svelte-m3ck68"><!> <!></div>',1),Hv=u('<div class="content-section svelte-m3ck68"><div class="content-header svelte-m3ck68"><h2 class="svelte-m3ck68"></h2> <p class="content-desc svelte-m3ck68"></p></div> <div class="card settings-card svelte-m3ck68"><p class="card-title"></p> <div class="backup-row svelte-m3ck68"><div class="backup-block svelte-m3ck68"><p class="backup-block-title svelte-m3ck68"></p> <p class="backup-block-desc svelte-m3ck68"> <code class="svelte-m3ck68">.json</code> </p> <!></div> <div class="backup-divider svelte-m3ck68"></div> <div class="backup-block svelte-m3ck68"><p class="backup-block-title svelte-m3ck68"></p> <p class="backup-block-desc svelte-m3ck68"></p> <div class="import-row svelte-m3ck68"><label class="file-label svelte-m3ck68"><input type="file" accept=".json" class="file-input-hidden svelte-m3ck68"> <span class="file-btn svelte-m3ck68"> </span></label> <!></div></div></div> <div class="include-reports-row svelte-m3ck68"><label class="field-label backup-toggle-label svelte-m3ck68" for="include-reports"><span class="svelte-m3ck68"> <span class="field-hint svelte-m3ck68"></span></span> <button id="include-reports" class="toggle-btn svelte-m3ck68" role="switch"><span class="toggle-thumb svelte-m3ck68"></span></button></label> <!></div> <p class="backup-disclaimer svelte-m3ck68"> </p></div> <div class="card settings-card svelte-m3ck68"><p class="card-title"></p> <p class="backup-block-desc svelte-m3ck68" style="margin-bottom: 1.25rem;"> <strong></strong> </p> <div class="field-row svelte-m3ck68"><div class="field"><label class="field-label svelte-m3ck68" for="s3-endpoint"><span></span> <span class="field-hint svelte-m3ck68"></span></label> <input id="s3-endpoint" type="url" class="field-input"></div> <div class="field"><label class="field-label svelte-m3ck68" for="s3-region"><span></span> <span class="field-hint svelte-m3ck68"> <code>auto</code> </span></label> <input id="s3-region" type="text" class="field-input"></div></div> <div class="field-row svelte-m3ck68"><div class="field"><label class="field-label svelte-m3ck68" for="s3-bucket"><span></span></label> <input id="s3-bucket" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-m3ck68" for="s3-prefix"><span></span> <span class="field-hint svelte-m3ck68"></span></label> <input id="s3-prefix" type="text" class="field-input"></div></div> <div class="field-row svelte-m3ck68"><div class="field"><label class="field-label svelte-m3ck68" for="s3-access-key"><span></span></label> <input id="s3-access-key" type="text" class="field-input" autocomplete="off"></div> <div class="field"><label class="field-label svelte-m3ck68" for="s3-secret-key"><span></span> <span class="field-hint svelte-m3ck68"> </span></label> <input id="s3-secret-key" type="password" class="field-input" autocomplete="new-password"></div></div> <div class="backup-actions svelte-m3ck68"><!> <!></div> <!></div> <!> <div class="card settings-card svelte-m3ck68"><div class="card-title-row svelte-m3ck68"><p class="card-title svelte-m3ck68"></p> <!></div> <!></div> <div class="card settings-card svelte-m3ck68"><p class="card-title"></p> <!></div></div>'),Vv=u('<div class="page-header svelte-m3ck68"><h1 class="svelte-m3ck68"></h1></div> <div class="settings-layout svelte-m3ck68"><aside class="settings-sidebar svelte-m3ck68"><nav class="svelte-m3ck68"></nav></aside> <div class="settings-content svelte-m3ck68"><!></div></div>',1);function vp(o,$e){Qn($e,!1);const[Ye,Qt]=sl(),At=()=>Ga(il,"$page",Ye),ge=()=>Ga(Wa,"$auth",Ye),Os=()=>Ga(_r,"$theme",Ye),Ns=()=>Ga(Ps,"$builtInEnabled",Ye),ut=i(),Ya=i(),za=i(),Ds=i(),Gr=new Set(["project","runners","repository","testcases","integrations","mcp","account","users","backup"]),Bs=At().url.searchParams.get("section");let ye=i(Gr.has(Bs)&&Bs||typeof sessionStorage<"u"&&sessionStorage.getItem("plum:settings:section")||"project");function Us(n){r(ye,n);try{sessionStorage.setItem("plum:settings:section",n)}catch{}}let ke=i({name:"",logoUrl:"",timezone:"UTC",maxRetries:0}),fa=i(!1);const Hr=(()=>{try{return Intl.supportedValuesOf("timeZone")}catch{return["UTC"]}})();let Re=i({testCasePrefix:"TC",testSuitePrefix:"TS"}),ma=i(!1),nt=i({testCasePrefix:"",testSuitePrefix:""}),ka=i(!1),ze=i({name:"",email:""}),Ea=i(!1),ba=i(""),yt=i([]),he=i({name:"",email:"",password:"",role:"user"}),ga=i(!1),Zt=i(""),Gt=i(null),ha=i(!1),Le=i({currentPassword:"",newPassword:"",confirmPassword:""}),Sa=i(!1),Ht=i(""),Tt=i(null),Ca=i(!1),Ra=i(!1),ea=i(),Pt=i(null),La=i(!1),ta=i(),Vt=i(null),Ke=i({discordWebhookUrl:"",slackWebhookUrl:"",notifyPublicUrl:""}),xa=i(!1),jt=i(""),Aa=i(!1),Wt=i(!1),Xt=i(!1),Ja=i(!1),qa=i(!1),Qa=i(!1),k=i({backupEnabled:!1,backupCron:"0 2 * * *",backupS3Endpoint:"",backupS3Region:"",backupS3Bucket:"",backupS3AccessKey:"",backupS3SecretKey:"",backupS3Prefix:"",backupIncludeReports:!1}),Yt=i(!1),ya=i(!1),It=i(!1),Ta=i(!1),Pa=i(!1),wt=i(null),Ia=i(""),aa=i(null),_t=i(""),Za=i([]),es=i(!1),sa=i(!1),ra=i(null),wa=i(!1),$t=i(null),Me=i([]),ue=i({name:"",url:"",token:"",browser:"chromium"}),Ot=i(""),na=i(!1),$a=i(!1),Te=i({}),Oa=i(null),Na=i(null),Da=i(null),_e=i({name:"",url:"",token:"",browser:"chromium"}),ft=i(""),la=i(!1),ts=i(!1);Zn(async()=>{var n;try{const c=localStorage.getItem("plum:builtInEnabled");c!==null&&Ps.set(c!=="false")}catch{}try{r(ke,await Ts())}catch{}try{r(Me,await dl()),r(ts,!0)}catch{}try{r(Re,await Al()),r(nt,{testCasePrefix:e(Re).testCasePrefix,testSuitePrefix:e(Re).testSuitePrefix})}catch{}try{r(Ke,await vl())}catch{}try{const c=await pl();r(Aa,c.mcpKeySet),r(jt,c.mcpKey)}catch{}try{const c=await dr();r(It,c.backupS3SecretKeySet),r(aa,c.backupLastRunAt),r(_t,c.backupLastStatus),r(k,{backupEnabled:c.backupEnabled,backupCron:c.backupCron,backupS3Endpoint:c.backupS3Endpoint,backupS3Region:c.backupS3Region,backupS3Bucket:c.backupS3Bucket,backupS3AccessKey:c.backupS3AccessKey,backupS3SecretKey:"",backupS3Prefix:c.backupS3Prefix,backupIncludeReports:c.backupIncludeReports})}catch{}if(ge().user&&r(ze,{name:ge().user.name,email:ge().user.email}),((n=ge().user)==null?void 0:n.role)==="admin")try{r(yt,await Ol())}catch{}});async function Vr(){e(Me).length!==0&&(r(Te,Object.fromEntries(e(Me).map(n=>[n.id,{loading:!0}]))),await Promise.all(e(Me).map(async n=>{try{const c=await vr(n.id);r(Te,{...e(Te),[n.id]:{...c,loading:!1}})}catch{r(Te,{...e(Te),[n.id]:{ok:!1,error:mr,loading:!1}})}})))}function jr(){Ps.update(n=>{const c=!n;try{localStorage.setItem("plum:builtInEnabled",String(c))}catch{}return c})}function Wr(){_r.update(n=>n==="light"?"dark":"light")}async function Xr(){if(!e(ue).name||!e(ue).url||!e(ue).token){r(Ot,Sr);return}r(Ot,""),r(na,!0);try{const n=await pr(e(ue).url,e(ue).token);if(!n.ok){r(Ot,Cr(n.error));return}const{runner:c}=await bl(e(ue));r(Me,[...e(Me),c]),r(Te,{...e(Te),[c.id]:{ok:!0,latency:n.latency,loading:!1}}),r(ue,{name:"",url:"",token:"",browser:"chromium"}),r($a,!1),x("success",co(c.name))}catch{r(Ot,no)}finally{r(na,!1)}}async function Yr(n,c){try{await El(n),r(Me,e(Me).filter(N=>N.id!==n)),x("success",io(c))}catch{x("error",lo)}}async function Fs(n){r(Te,{...e(Te),[n]:{loading:!0}});try{const c=await vr(n);r(Te,{...e(Te),[n]:{...c,loading:!1}})}catch{r(Te,{...e(Te),[n]:{ok:!1,error:mr,loading:!1}})}}async function zr(n,c){r(Oa,n);try{const N=await kl(n);N.ok?x("success",vo(c)):x("error",po(c,N.error))}catch{x("error",uo(c))}finally{r(Oa,null),Fs(n)}}async function Jr(n,c){r(Na,n);try{const N=await ml(n);N.ok?x("success",_o(c)):x("error",fo(c,N.error))}catch{x("error",mo(c))}finally{r(Na,null),setTimeout(()=>Fs(n),2e3)}}function qr(n){r(Da,n.id),r(_e,{name:n.name,url:n.url,token:"",browser:n.browser}),r(ft,"")}async function Qr(n){if(!e(_e).name||!e(_e).url){r(ft,Sr);return}r(ft,""),r(la,!0);try{if(e(_e).token){const N=await pr(e(_e).url,e(_e).token);if(!N.ok){r(ft,Cr(N.error));return}r(Te,{...e(Te),[n]:{ok:!0,latency:N.latency,loading:!1}})}const{runner:c}=await fl(n,e(_e));r(Me,e(Me).map(N=>N.id===n?c:N)),r(Da,null),x("success",ko(c.name))}catch{r(ft,oo)}finally{r(la,!1)}}async function Zr(){r(fa,!0);try{await _l(e(ke)),x("success",Io)}catch{x("error",wo)}finally{r(fa,!1)}}async function en(){r(Ra,!0);try{const n=await Sl(),c=new Blob([JSON.stringify(n,null,2)],{type:"application/json"}),N=URL.createObjectURL(c),tt=document.createElement("a");tt.href=N,tt.download=Nd(new Date().toISOString().slice(0,10)),tt.click(),URL.revokeObjectURL(N),x("success",xd)}catch{x("error",Ad)}finally{r(Ra,!1)}}async function tn(){if(e(Tt)){r(Ca,!0);try{const n=await e(Tt).text(),c=JSON.parse(n),N=await Cl(c);if(N.error)throw new Error(N.error);x("success",yd),r(ke,await Ts()),r(Tt,null),e(ea)&&T(ea,e(ea).value="")}catch(n){x("error",n.message||Td)}finally{r(Ca,!1)}}}function an(n){r(Tt,n.target.files[0]??null)}function sn(n){r(Pt,n.target.files[0]??null),r(Vt,null)}async function rn(){if(e(Pt)){r(La,!0),r(Vt,null);try{const n=JSON.parse(await e(Pt).text());r(Vt,await Pl(n)),x("success",br(e(Vt))),r(Pt,null),e(ta)&&T(ta,e(ta).value="")}catch(n){x("error",n.message||Xl)}finally{r(La,!1)}}}async function nn(){r(ma,!0);try{r(Re,await yl(e(Re))),x("success",tc)}catch{x("error",ac)}finally{r(ma,!1)}}async function ln(){r(ka,!0);try{await Tl(e(nt)),r(Re,{...e(Re),...e(nt)}),x("success",ic)}catch{x("error",dc)}finally{r(ka,!1)}}async function on(){r(ba,""),r(Ea,!0);try{const{user:n}=await Il({token:ge().token,name:e(ze).name,email:e(ze).email});Wa.login(ge().token,{...ge().user,...n}),x("success",ai)}catch(n){r(ba,n.message)}finally{r(Ea,!1)}}async function cn(){if(r(Zt,""),!e(he).name||!e(he).email||!e(he).password){r(Zt,hi);return}r(ga,!0);try{const n=await Nl(e(he));r(yt,[...e(yt),n]),r(he,{name:"",email:"",password:"",role:"user"}),x("success",Ci(n.name))}catch(n){r(Zt,n.message)}finally{r(ga,!1)}}async function dn(n,c){try{await Dl(n),r(yt,e(yt).filter(N=>N.id!==n)),x("success",Ri(c))}catch(N){x("error",N.message)}r(Gt,null),r(ha,!1)}async function vn(){if(r(Ht,""),e(Le).newPassword!==e(Le).confirmPassword){r(Ht,si);return}if(e(Le).newPassword.length<8){r(Ht,ri);return}r(Sa,!0);try{await wl({token:ge().token,currentPassword:e(Le).currentPassword,newPassword:e(Le).newPassword}),r(Le,{currentPassword:"",newPassword:"",confirmPassword:""}),x("success",ni)}catch(n){r(Ht,n.message)}finally{r(Sa,!1)}}function pn(){Wa.logout(),cl("/login")}async function Ks(){r(Xt,!0);try{const n=await hl();r(jt,n.mcpKey),r(Aa,!0),r(Wt,!0),x("success",Vc)}catch{x("error",jc)}finally{r(Xt,!1)}}function un(){navigator.clipboard.writeText(e(jt)).then(()=>{r(Ja,!0),setTimeout(()=>r(Ja,!1),ys)})}function _n(){navigator.clipboard.writeText(e(Ya)).then(()=>{r(qa,!0),setTimeout(()=>r(qa,!1),ys)})}function fn(){navigator.clipboard.writeText(e(za)).then(()=>{r(Qa,!0),setTimeout(()=>r(Qa,!1),ys)})}async function mn(){r(xa,!0);try{r(Ke,await gl(e(Ke))),x("success",Cc)}catch{x("error",Rc)}finally{r(xa,!1)}}async function Ms(){r(Yt,!0);try{const n={...e(k)};n.backupS3SecretKey||delete n.backupS3SecretKey;const c=await ur(n);if(c.error)throw new Error(c.error);e(k).backupS3SecretKey&&r(It,!0),r(k,{...e(k),backupS3SecretKey:""}),x("success",Nr)}catch(n){x("error",n.message||Dr)}finally{r(Yt,!1)}}async function kn(){r(ya,!0);try{const n={...e(k)};n.backupS3SecretKey||delete n.backupS3SecretKey;const c=await ur(n);if(c.error)throw new Error(c.error);e(k).backupS3SecretKey&&r(It,!0),r(k,{...e(k),backupS3SecretKey:""}),x("success",Nr)}catch(n){x("error",n.message||Dr)}finally{r(ya,!1)}}async function En(){r(Ta,!0),r(wt,null),r(Ia,"");try{const n=await Rl(e(k));if(n.error)throw new Error(n.error);r(wt,"success"),r(Ia,ed)}catch(n){r(wt,"error"),r(Ia,n.message||td)}finally{r(Ta,!1)}}async function bn(){r(Pa,!0);try{const n=await xl();if(n.error)throw new Error(n.error);r(aa,n.lastRunAt),r(_t,n.lastStatus??""),x("success",Pd)}catch(n){x("error",n.message||Id);const c=await dr().catch(()=>null);c&&(r(aa,c.backupLastRunAt),r(_t,c.backupLastStatus))}finally{r(Pa,!1)}}async function Gs(){r(sa,!0);try{const n=await ul();if(n.error)throw new Error(n.error);r(Za,n.backups??[])}catch(n){x("error",n.message||md)}finally{r(sa,!1)}}function gn(n){r($t,n),r(wa,!0)}async function hn(){if(e($t)){r(ra,e($t).key);try{const n=await Ll(e($t).key);if(n.error)throw new Error(n.error);x("success",_d),r(ke,await Ts()),r(wa,!1),r($t,null)}catch(n){x("error",n.message||fd)}finally{r(ra,null)}}}const Sn=new Set(["project","runners","repository","testcases","integrations","mcp","users","backup"]);Ft(()=>(ge(),e(ye)),()=>{ge().user&&ge().user.role!=="admin"&&Sn.has(e(ye))&&r(ye,"account")}),Ft(()=>(e(ye),e(ts)),()=>{e(ye)==="runners"&&e(ts)&&Vr()}),Ft(()=>(e(k),e(It)),()=>{r(ut,!!(e(k).backupS3Bucket&&e(k).backupS3AccessKey&&e(It)))}),Ft(()=>(e(ut),e(es)),()=>{e(ut)&&!e(es)&&(r(es,!0),Gs())}),Ft(()=>e(jt),()=>{r(Ya,JSON.stringify({mcpServers:{plum:{type:"http",url:`${Mt}/mcp`,headers:{Authorization:`ApiKey ${e(jt)}`}}}},null,2))}),Ft(()=>Mt,()=>{r(za,["- name: Run Plum tests"," run: |",` curl -X POST ${Mt}/trigger \\`,' -H "Authorization: ApiKey ${{ secrets.PLUM_API_KEY }}" \\',' -H "Content-Type: application/json" \\',` -d '{"tag": "@smoke", "baseUrl": "https://your-pr-preview-url"}'`].join(`
|
|
7
|
+
`))}),Ft(()=>(ge(),ws),()=>{var n;r(Ds,((n=ge().user)==null?void 0:n.role)==="admin"?[{id:"project",label:kr},{id:"runners",label:Er},{id:"repository",label:Fl},{id:"testcases",label:Ml},{id:"integrations",label:gr},{id:"mcp",label:zl},{id:"account",label:Is},{id:"users",label:hr},{id:"backup",label:ws}]:[{id:"account",label:Is}])}),el(),qn();var Hs=Vv();Jn(n=>{al.title=Bl});var as=me(Hs),Cn=s(as);Cn.textContent=Ul,a(as);var Vs=t(as,2),ss=s(Vs),js=s(ss);Kt(js,5,()=>e(Ds),Ha,(n,c)=>{var N=Wd(),tt=s(N,!0);a(N),d(()=>{pt(N,"active",e(ye)===e(c).id),v(tt,e(c).label)}),je("click",N,()=>Us(e(c).id)),l(n,N)}),a(js),a(ss);var Ws=t(ss,2),Rn=s(Ws);{var Ln=n=>{var c=zd(),N=s(c),tt=s(N);tt.textContent=kr;var rs=t(tt,2);rs.textContent=ql,a(N);var lt=t(N,2),Je=s(lt),mt=s(Je);mt.textContent=Eo;var kt=t(mt,2);X(kt),h(kt,"placeholder",bo),a(Je);var Nt=t(Je,2),Be=s(Nt),Oe=s(Be);Oe.textContent=go;var qe=t(Oe,2);qe.textContent=ho,a(Be);var Qe=t(Be,2);X(Qe),h(Qe,"placeholder",So),a(Nt);var Et=t(Nt,2);{var Pe=R=>{var A=Xd(),f=s(A);f.textContent=Co;var L=t(f,2);h(L,"alt",Ro),a(A),d(()=>h(L,"src",e(ke).logoUrl)),je("error",L,m=>m.target.style.display="none"),l(R,A)};I(Et,R=>{e(ke).logoUrl&&R(Pe)})}var Se=t(Et,2),Ie=s(Se),Ge=s(Ie);Ge.textContent=Lo;var Ze=t(Ge,2);Ze.textContent=xo,a(Ie);var Ce=t(Ie,2);d(()=>{e(ke),Ma(()=>{})}),Kt(Ce,5,()=>Hr,Ha,(R,A)=>{var f=Yd(),L={},m=s(f,!0);a(f),d(()=>{L!==(L=e(A))&&(f.value=(f.__value=e(A))==null?"":e(A)),v(m,e(A))}),l(R,f)}),a(Ce),a(Se);var ne=t(Se,2),te=s(ne),ve=s(te);ve.textContent=Ao;var E=t(ve,2);E.textContent=yo,a(te);var Q=t(te,2);X(Q),h(Q,"max",nl),a(ne);var F=t(ne,2),de=s(F),pe=s(de);pe.textContent=To;var Ee=t(pe,2);Ee.textContent=Po,a(de);var Z=t(de,2);a(F);var w=t(F,2),ae=s(w);q(ae,{get disabled(){return e(fa)},$$events:{click:Zr},children:(R,A)=>{V();var f=H();d(L=>v(f,L),[()=>$o(e(fa))],S),l(R,f)},$$slots:{default:!0}}),a(w),a(lt),a(c),d(()=>{h(Z,"aria-checked",Os()==="dark"),pt(Z,"on",Os()==="dark")}),J(kt,()=>e(ke).name,R=>T(ke,e(ke).name=R)),J(Qe,()=>e(ke).logoUrl,R=>T(ke,e(ke).logoUrl=R)),Va(Ce,()=>e(ke).timezone,R=>T(ke,e(ke).timezone=R)),J(Q,()=>e(ke).maxRetries,R=>T(ke,e(ke).maxRetries=R)),je("click",Z,Wr),We(3,c,()=>Xe,()=>({y:6,duration:180})),l(n,c)},xn=n=>{var c=De(),N=me(c);{var tt=lt=>{var Je=cv(),mt=s(Je),kt=s(mt);kt.textContent=Er;var Nt=t(kt,2);Nt.textContent=Ql,a(mt);var Be=t(mt,2),Oe=s(Be),qe=s(Oe),Qe=s(qe);Qe.textContent=Oo;var Et=t(Qe,2);Et.textContent=No,a(qe);var Pe=t(qe,2);a(Oe);var Se=t(Oe,2);{var Ie=ne=>{var te=sv();Kt(te,5,()=>e(Me),ve=>ve.id,(ve,E)=>{var Q=De();const F=S(()=>e(Te)[e(E).id]);var de=me(Q);{var pe=Z=>{var w=Qd(),ae=s(w),R=s(ae),A=s(R);A.textContent=ja;var f=t(A,2);X(f),h(f,"placeholder",Pr),a(R);var L=t(R,2),m=s(L),K=s(m);K.nodeValue=`${Rr} `;var M=t(K),y=s(M);y.nodeValue=`${Lr} `;var D=t(y,2);D.nodeValue=` ${xr}`,a(M),a(m);var se=t(m,2);X(se),h(se,"placeholder",Ar),a(L);var Y=t(L,2),G=s(Y);G.textContent=yr;var U=t(G,2);X(U),h(U,"placeholder",Bo),a(Y);var C=t(Y,2),b=s(C);b.textContent=Tr;var P=t(b,2);d(()=>{e(_e),Ma(()=>{e(E)})}),Kt(P,5,()=>lr,Ha,(g,W)=>{var le=Jd(),oe={},we=s(le,!0);a(le),d(()=>{oe!==(oe=e(W).id)&&(le.value=(le.__value=e(W).id)==null?"":e(W).id),v(we,e(W).label)}),l(g,le)}),a(P),a(C),a(ae);var _=t(ae,2);{var $=g=>{var W=qd(),le=s(W,!0);a(W),d(()=>v(le,e(ft))),l(g,W)};I(_,g=>{e(ft)&&g($)})}var j=t(_,2),B=s(j);q(B,{get disabled(){return e(la)},$$events:{click:()=>Qr(e(E).id)},children:(g,W)=>{V();var le=H();d(oe=>v(le,oe),[()=>Yo(e(la))],S),l(g,le)},$$slots:{default:!0}});var ee=t(B,2);q(ee,{variant:"ghost",get disabled(){return e(la)},$$events:{click:()=>{r(Da,null),r(ft,"")}},children:(g,W)=>{V();var le=H();le.nodeValue=or,l(g,le)},$$slots:{default:!0}}),a(j),a(w),d(()=>{h(A,"for",`edit-name-${e(E).id??""}`),h(f,"id",`edit-name-${e(E).id??""}`),h(m,"for",`edit-url-${e(E).id??""}`),h(se,"id",`edit-url-${e(E).id??""}`),h(G,"for",`edit-token-${e(E).id??""}`),h(U,"id",`edit-token-${e(E).id??""}`),h(b,"for",`edit-browser-${e(E).id??""}`),h(P,"id",`edit-browser-${e(E).id??""}`)}),J(f,()=>e(_e).name,g=>T(_e,e(_e).name=g)),J(se,()=>e(_e).url,g=>T(_e,e(_e).url=g)),J(U,()=>e(_e).token,g=>T(_e,e(_e).token=g)),Va(P,()=>e(_e).browser,g=>T(_e,e(_e).browser=g)),We(3,w,()=>Xe,()=>({y:-4,duration:180})),l(Z,w)},Ee=Z=>{var w=av(),ae=s(w),R=t(s(ae),2),A=s(R,!0);a(R);var f=t(R,2),L=s(f,!0);a(f);var m=t(f,2);{var K=_=>{var $=De(),j=me($);{var B=g=>{var W=Zd(),le=s(W);a(W),d(()=>v(le,`${e(F).latency??""}ms`)),l(g,W)},ee=g=>{var W=ev();W.textContent=Uo,d(()=>h(W,"title",e(F).error)),l(g,W)};I(j,g=>{e(F).ok?g(B):g(ee,!1)})}l(_,$)},M=_=>{var $=De(),j=me($);{var B=ee=>{var g=tv();g.textContent=Fo,l(ee,g)};I(j,ee=>{var g;(g=e(F))!=null&&g.loading&&ee(B)},!0)}l(_,$)};I(m,_=>{e(F)&&!e(F).loading?_(K):_(M,!1)})}a(ae);var y=t(ae,2),D=s(y,!0);a(y);var se=t(y,2),Y=s(se);q(Y,{variant:"ghost",size:"sm",$$events:{click:()=>qr(e(E))},children:(_,$)=>{V();var j=H();j.nodeValue=ll,l(_,j)},$$slots:{default:!0}});var G=t(Y,2);const U=S(()=>e(Na)===e(E).id);q(G,{variant:"ghost",size:"sm",get disabled(){return e(U)},$$events:{click:()=>Jr(e(E).id,e(E).name)},children:(_,$)=>{V();var j=H();d(B=>v(j,B),[()=>Jo(e(Na)===e(E).id)],S),l(_,j)},$$slots:{default:!0}});var C=t(G,2);const b=S(()=>e(Oa)===e(E).id);q(C,{variant:"ghost",size:"sm",get disabled(){return e(b)},$$events:{click:()=>zr(e(E).id,e(E).name)},children:(_,$)=>{V();var j=H();d(B=>v(j,B),[()=>qo(e(Oa)===e(E).id)],S),l(_,j)},$$slots:{default:!0}});var P=t(C,2);q(P,{variant:"danger",size:"sm",$$events:{click:()=>Yr(e(E).id,e(E).name)},children:(_,$)=>{V();var j=H();j.nodeValue=Ko,l(_,j)},$$slots:{default:!0}}),a(se),a(w),d(()=>{v(A,e(E).name),v(L,e(E).browser),v(D,e(E).url)}),We(3,w,()=>Xe,()=>({y:-4,duration:180})),l(Z,w)};I(de,Z=>{e(Da)===e(E).id?Z(pe):Z(Ee,!1)})}l(ve,Q)}),a(te),l(ne,te)};I(Se,ne=>{e(Me).length>0&&ne(Ie)})}var Ge=t(Se,2);{var Ze=ne=>{var te=lv(),ve=s(te);ve.textContent=Mo;var E=t(ve,2),Q=s(E),F=s(Q);F.textContent=ja;var de=t(F,2);X(de),h(de,"placeholder",Pr),a(Q);var pe=t(Q,2),Ee=s(pe),Z=s(Ee);Z.nodeValue=`${Rr} `;var w=t(Z),ae=s(w);ae.nodeValue=`${Lr} `;var R=t(ae,2);R.nodeValue=` ${xr}`,a(w),a(Ee);var A=t(Ee,2);X(A),h(A,"placeholder",Ar),a(pe);var f=t(pe,2),L=s(f);L.textContent=yr;var m=t(L,2);X(m),h(m,"placeholder",Do),a(f);var K=t(f,2),M=s(K);M.textContent=Tr;var y=t(M,2);d(()=>{e(ue),Ma(()=>{})}),Kt(y,5,()=>lr,Ha,(C,b)=>{var P=rv(),_={},$=s(P,!0);a(P),d(()=>{_!==(_=e(b).id)&&(P.value=(P.__value=e(b).id)==null?"":e(b).id),v($,e(b).label)}),l(C,P)}),a(y),a(K),a(E);var D=t(E,2);{var se=C=>{var b=nv(),P=s(b,!0);a(b),d(()=>v(P,e(Ot))),l(C,b)};I(D,C=>{e(Ot)&&C(se)})}var Y=t(D,2),G=s(Y);q(G,{get disabled(){return e(na)},$$events:{click:Xr},children:(C,b)=>{V();var P=H();d(_=>v(P,_),[()=>zo(e(na))],S),l(C,P)},$$slots:{default:!0}});var U=t(G,2);q(U,{variant:"ghost",get disabled(){return e(na)},$$events:{click:()=>{r($a,!1),r(Ot,"")}},children:(C,b)=>{V();var P=H();P.nodeValue=or,l(C,P)},$$slots:{default:!0}}),a(Y),a(te),J(de,()=>e(ue).name,C=>T(ue,e(ue).name=C)),J(A,()=>e(ue).url,C=>T(ue,e(ue).url=C)),J(m,()=>e(ue).token,C=>T(ue,e(ue).token=C)),Va(y,()=>e(ue).browser,C=>T(ue,e(ue).browser=C)),We(3,te,()=>Xe,()=>({y:-6,duration:200})),l(ne,te)},Ce=ne=>{var te=ov(),ve=s(te);q(ve,{variant:"ghost",$$events:{click:()=>r($a,!0)},children:(E,Q)=>{V();var F=H();F.nodeValue=Go,l(E,F)},$$slots:{default:!0}}),a(te),l(ne,te)};I(Ge,ne=>{e($a)?ne(Ze):ne(Ce,!1)})}a(Be),a(Je),d(()=>{h(Pe,"aria-checked",Ns()),pt(Pe,"on",Ns())}),je("click",Pe,jr),We(3,Je,()=>Xe,()=>({y:6,duration:180})),l(lt,Je)},rs=lt=>{var Je=De(),mt=me(Je);{var kt=Be=>{var Oe=iv(),qe=s(Oe),Qe=s(qe);Qe.textContent=Kl;var Et=t(Qe,2);Et.textContent=Zl,a(qe);var Pe=t(qe,2),Se=s(Pe),Ie=s(Se),Ge=s(Ie);Ge.textContent=Qo;var Ze=t(Ge,2);X(Ze),h(Ze,"placeholder",Ir),a(Ie);var Ce=t(Ie,2),ne=s(Ce);ne.textContent=Zo;var te=t(ne,2);X(te),h(te,"placeholder",wr),a(Ce),a(Se);var ve=t(Se,2),E=s(ve);E.nodeValue=`${ec} `;var Q=t(E),F=s(Q);a(Q);var de=t(Q,2),pe=s(de);a(de),a(ve);var Ee=t(ve,2),Z=s(Ee);q(Z,{get disabled(){return e(ma)},$$events:{click:nn},children:(b,P)=>{V();var _=H();d($=>v(_,$),[()=>vc(e(ma))],S),l(b,_)},$$slots:{default:!0}}),a(Ee),a(Pe);var w=t(Pe,2),ae=s(w);ae.textContent=sc;var R=t(ae,2),A=s(R);A.nodeValue=`${rc} `;var f=t(A);f.textContent=nc;var L=t(f);L.nodeValue=` ${lc}`,a(R),a(w);var m=t(w,2),K=s(m),M=s(K),y=s(M);y.textContent=oc;var D=t(y,2);X(D),a(M);var se=t(M,2),Y=s(se);Y.textContent=cc;var G=t(Y,2);X(G),a(se),a(K);var U=t(K,2),C=s(U);q(C,{variant:"ghost",get disabled(){return e(ka)},$$events:{click:ln},children:(b,P)=>{V();var _=H();d($=>v(_,$),[()=>pc(e(ka))],S),l(b,_)},$$slots:{default:!0}}),a(U),a(m),a(Oe),d(()=>{v(F,`${(e(Re).testCasePrefix||Ir)??""}-001`),v(pe,`${(e(Re).testSuitePrefix||wr)??""}-001`),h(D,"placeholder",e(Re).testCasePrefix),h(G,"placeholder",e(Re).testSuitePrefix)}),J(Ze,()=>e(Re).testCasePrefix,b=>T(Re,e(Re).testCasePrefix=b)),J(te,()=>e(Re).testSuitePrefix,b=>T(Re,e(Re).testSuitePrefix=b)),J(D,()=>e(nt).testCasePrefix,b=>T(nt,e(nt).testCasePrefix=b)),J(G,()=>e(nt).testSuitePrefix,b=>T(nt,e(nt).testSuitePrefix=b)),We(3,Oe,()=>Xe,()=>({y:6,duration:180})),l(Be,Oe)},Nt=Be=>{var Oe=De(),qe=me(Oe);{var Qe=Pe=>{var Se=vv(),Ie=s(Se),Ge=s(Ie);Ge.textContent=Gl;var Ze=t(Ge,2);Ze.textContent=Hl,a(Ie);var Ce=t(Ie,2),ne=s(Ce);ne.textContent=Vl;var te=t(ne,2),ve=s(te);ve.textContent=jl;var E=t(ve,2),Q=s(E),F=s(Q);ir(F,A=>r(ta,A),()=>e(ta));var de=t(F,2),pe=s(de,!0);a(de),a(Q);var Ee=t(Q,2);const Z=S(()=>!e(Pt)||e(La));q(Ee,{get disabled(){return e(Z)},$$events:{click:rn},children:(A,f)=>{V();var L=H();d(m=>v(L,m),[()=>Yl(e(La))],S),l(A,L)},$$slots:{default:!0}}),a(E);var w=t(E,2);{var ae=A=>{var f=dv(),L=s(f,!0);a(f),d(m=>v(L,m),[()=>br(e(Vt))],S),l(A,f)};I(w,A=>{e(Vt)&&A(ae)})}var R=t(w,2);R.textContent=Wl,a(te),a(Ce),a(Se),d(()=>v(pe,e(Pt)?e(Pt).name:$r)),je("change",F,sn),We(3,Se,()=>Xe,()=>({y:6,duration:180})),l(Pe,Se)},Et=Pe=>{var Se=De(),Ie=me(Se);{var Ge=Ce=>{var ne=pv(),te=s(ne),ve=s(te);ve.textContent=gr;var E=t(ve,2);E.textContent=eo,a(te);var Q=t(te,2),F=s(Q);F.textContent=uc;var de=t(F,2),pe=s(de),Ee=s(pe);Ee.textContent=_c;var Z=t(Ee,2);Z.textContent=fc,a(pe);var w=t(pe,2);X(w),h(w,"placeholder",mc),a(de);var ae=t(de,2),R=s(ae),A=s(R);A.textContent=kc;var f=t(A,2);f.textContent=Ec,a(R);var L=t(R,2);X(L),h(L,"placeholder",bc),a(ae);var m=t(ae,2),K=s(m),M=s(K);M.textContent=gc;var y=t(M,2);y.textContent=hc,a(K);var D=t(K,2);X(D),h(D,"placeholder",Sc),a(m);var se=t(m,2);q(se,{get disabled(){return e(xa)},$$events:{click:mn},children:(oe,we)=>{V();var xe=H();d(ot=>v(xe,ot),[()=>$c(e(xa))],S),l(oe,xe)},$$slots:{default:!0}}),a(Q);var Y=t(Q,2),G=s(Y);G.textContent=Lc;var U=t(G,2),C=s(U);C.nodeValue=`${xc} `;var b=t(C);b.textContent=`POST ${Mt}/trigger`;var P=t(b);P.nodeValue=` ${Ac} `;var _=t(P,2);_.nodeValue=` ${yc} `;var $=t(_);$.textContent=Tc;var j=t($);j.nodeValue=` ${Pc} `;var B=t(j);$l(B,{variant:"external",children:(oe,we)=>{V();var xe=H();xe.nodeValue=Ic,l(oe,xe)},$$slots:{default:!0}}),V(),a(U);var ee=t(U,2),g=s(ee,!0);a(ee);var W=t(ee,2),le=s(W);q(le,{variant:"ghost",$$events:{click:fn},children:(oe,we)=>{V();var xe=H();d(ot=>v(xe,ot),[()=>Oc(e(Qa))],S),l(oe,xe)},$$slots:{default:!0}}),a(W),a(Y),a(ne),d(()=>v(g,e(za))),J(w,()=>e(Ke).discordWebhookUrl,oe=>T(Ke,e(Ke).discordWebhookUrl=oe)),J(L,()=>e(Ke).slackWebhookUrl,oe=>T(Ke,e(Ke).slackWebhookUrl=oe)),J(D,()=>e(Ke).notifyPublicUrl,oe=>T(Ke,e(Ke).notifyPublicUrl=oe)),je("click",$,()=>Us("mcp")),We(3,ne,()=>Xe,()=>({y:6,duration:180})),l(Ce,ne)},Ze=Ce=>{var ne=De(),te=me(ne);{var ve=Q=>{var F=gv(),de=s(F),pe=s(de);pe.textContent=Jl;var Ee=t(pe,2);Ee.textContent=to,a(de);var Z=t(de,2),w=s(Z);w.textContent=Nc;var ae=t(w,2);{var R=m=>{var K=uv(),M=me(K);M.textContent=Dc;var y=t(M,2),D=s(y);q(D,{get disabled(){return e(Xt)},$$events:{click:Ks},children:(se,Y)=>{V();var G=H();d(U=>v(G,U),[()=>Xc(e(Xt))],S),l(se,G)},$$slots:{default:!0}}),a(y),l(m,K)},A=m=>{var K=Ev(),M=me(K),y=s(M);X(y);var D=t(y,2),se=s(D);{var Y=B=>{var ee=_v();l(B,ee)},G=B=>{var ee=fv();l(B,ee)};I(se,B=>{e(Wt)?B(Y):B(G,!1)})}a(D);var U=t(D,2);h(U,"title",Fc);var C=s(U);{var b=B=>{var ee=mv();l(B,ee)},P=B=>{var ee=kv();l(B,ee)};I(C,B=>{e(Ja)?B(b):B(P,!1)})}a(U),a(M);var _=t(M,2);_.textContent=Kc;var $=t(_,2),j=s($);q(j,{variant:"ghost",get disabled(){return e(Xt)},$$events:{click:Ks},children:(B,ee)=>{V();var g=H();d(W=>v(g,W),[()=>Yc(e(Xt))],S),l(B,g)},$$slots:{default:!0}}),a($),d(()=>{h(y,"type",e(Wt)?"text":"password"),ol(y,e(jt)),h(D,"title",e(Wt)?Bc:Uc)}),je("click",D,()=>r(Wt,!e(Wt))),je("click",U,un),l(m,K)};I(ae,m=>{e(Aa)?m(A,!1):m(R)})}a(Z);var f=t(Z,2);{var L=m=>{var K=bv(),M=s(K);M.textContent=Mc;var y=t(M,2),D=s(y);D.nodeValue=`${Gc} `;var se=t(D,2,!0);se.nodeValue=Hc,a(y);var Y=t(y,2),G=s(Y,!0);a(Y);var U=t(Y,2),C=s(U);q(C,{variant:"ghost",$$events:{click:_n},children:(b,P)=>{V();var _=H();d($=>v(_,$),[()=>zc(e(qa))],S),l(b,_)},$$slots:{default:!0}}),a(U),a(K),d(()=>v(G,e(Ya))),l(m,K)};I(f,m=>{e(Aa)&&m(L)})}a(F),We(3,F,()=>Xe,()=>({y:6,duration:180})),l(Q,F)},E=Q=>{var F=De(),de=me(F);{var pe=Z=>{var w=Cv(),ae=s(w),R=s(ae);R.textContent=Is;var A=t(R,2);A.textContent=ao,a(ae);var f=t(ae,2),L=s(f);L.textContent=Jc;var m=t(L,2),K=s(m);K.textContent=ja;var M=t(K,2);X(M),a(m);var y=t(m,2),D=s(y);D.textContent=cr;var se=t(D,2);X(se),a(y);var Y=t(y,2);{var G=O=>{var ie=hv(),fe=s(ie,!0);a(ie),d(()=>v(fe,e(ba))),l(O,ie)};I(Y,O=>{e(ba)&&O(G)})}var U=t(Y,2),C=s(U);const b=S(()=>e(Ea)||!e(ze).name||!e(ze).email);q(C,{get disabled(){return e(b)},$$events:{click:on},children:(O,ie)=>{V();var fe=H();d(Ne=>v(fe,Ne),[()=>li(e(Ea))],S),l(O,fe)},$$slots:{default:!0}}),a(U),a(f);var P=t(f,2),_=s(P);_.textContent=qc;var $=t(_,2),j=s($);j.textContent=Qc;var B=t(j,2);X(B),a($);var ee=t($,2),g=s(ee);g.textContent=Zc;var W=t(g,2);X(W),a(ee);var le=t(ee,2),oe=s(le);oe.textContent=ei;var we=t(oe,2);X(we),a(le);var xe=t(le,2);{var ot=O=>{var ie=Sv(),fe=s(ie,!0);a(ie),d(()=>v(fe,e(Ht))),l(O,ie)};I(xe,O=>{e(Ht)&&O(ot)})}var Dt=t(xe,2),oa=s(Dt);const Bt=S(()=>e(Sa)||!e(Le).currentPassword||!e(Le).newPassword);q(oa,{get disabled(){return e(Bt)},$$events:{click:vn},children:(O,ie)=>{V();var fe=H();d(Ne=>v(fe,Ne),[()=>oi(e(Sa))],S),l(O,fe)},$$slots:{default:!0}}),a(Dt),a(P);var bt=t(P,2),z=s(bt),Ae=s(z);q(Ae,{variant:"danger",size:"sm",$$events:{click:pn},children:(O,ie)=>{V();var fe=H();fe.nodeValue=ti,l(O,fe)},$$slots:{default:!0}}),a(z),a(bt),a(w),J(M,()=>e(ze).name,O=>T(ze,e(ze).name=O)),J(se,()=>e(ze).email,O=>T(ze,e(ze).email=O)),J(B,()=>e(Le).currentPassword,O=>T(Le,e(Le).currentPassword=O)),J(W,()=>e(Le).newPassword,O=>T(Le,e(Le).newPassword=O)),J(we,()=>e(Le).confirmPassword,O=>T(Le,e(Le).confirmPassword=O)),We(3,w,()=>Xe,()=>({y:6,duration:180})),l(Z,w)},Ee=Z=>{var w=De(),ae=me(w);{var R=f=>{var L=Pv(),m=s(L),K=s(m);K.textContent=hr;var M=t(K,2);M.textContent=so,a(m);var y=t(m,2);fr(y,{title:ci,confirmLabel:ii,get open(){return e(ha)},set open(z){r(ha,z)},$$events:{confirm:()=>{var z,Ae;return dn((z=e(Gt))==null?void 0:z.id,(Ae=e(Gt))==null?void 0:Ae.name)}},children:(z,Ae)=>{var O=De(),ie=me(O);{var fe=Ne=>{var gt=Rv(),ht=me(gt);ht.nodeValue=`${di} `;var ct=t(ht),Ut=s(ct,!0);a(ct);var it=t(ct,1,!0);it.nodeValue=vi,d(()=>v(Ut,e(Gt).name)),l(Ne,gt)};I(ie,Ne=>{e(Gt)&&Ne(fe)})}l(z,O)},$$slots:{default:!0},$$legacy:!0});var D=t(y,2),se=s(D);se.textContent=pi;var Y=t(se,2),G=s(Y),U=s(G);U.textContent=ja;var C=t(U,2);X(C),h(C,"placeholder",ui),a(G);var b=t(G,2),P=s(b);P.textContent=cr;var _=t(P,2);X(_),h(_,"placeholder",_i),a(b),a(Y);var $=t(Y,2),j=s($),B=s(j);B.textContent=fi;var ee=t(B,2);X(ee),a(j);var g=t(j,2),W=s(g);W.textContent=mi;var le=t(W,2);d(()=>{e(he),Ma(()=>{})});var oe=s(le);oe.value=(oe.__value="user")==null?"":"user",oe.textContent=ki;var we=t(oe);we.value=(we.__value="admin")==null?"":"admin",we.textContent=Ei,a(le),a(g),a($);var xe=t($,2);{var ot=z=>{var Ae=Lv(),O=s(Ae,!0);a(Ae),d(()=>v(O,e(Zt))),l(z,Ae)};I(xe,z=>{e(Zt)&&z(ot)})}var Dt=t(xe,2),oa=s(Dt);q(oa,{get disabled(){return e(ga)},$$events:{click:cn},children:(z,Ae)=>{V();var O=H();d(ie=>v(O,ie),[()=>Si(e(ga))],S),l(z,O)},$$slots:{default:!0}}),a(Dt),a(D);var Bt=t(D,2);{var bt=z=>{var Ae=Tv();Kt(Ae,5,()=>e(yt),O=>O.id,(O,ie)=>{var fe=yv(),Ne=s(fe),gt=s(Ne),ht=s(gt,!0);a(gt);var ct=t(gt,2),Ut=s(ct,!0);a(ct),a(Ne);var it=t(Ne,2),Ba=s(it,!0);a(it);var ns=t(it,2);{var ca=at=>{var He=xv();h(He,"title",bi),je("click",He,()=>{r(Gt,{id:e(ie).id,name:e(ie).name}),r(ha,!0)}),l(at,He)},ia=at=>{var He=Av();He.textContent=gi,l(at,He)};I(ns,at=>{var He;e(ie).id!==((He=ge().user)==null?void 0:He.id)?at(ca):at(ia,!1)})}a(fe),d(()=>{v(ht,e(ie).name),v(Ut,e(ie).email),rl(it,`role-chip ${e(ie).role??""} svelte-m3ck68`),v(Ba,e(ie).role)}),l(O,fe)}),a(Ae),l(z,Ae)};I(Bt,z=>{e(yt).length>0&&z(bt)})}a(L),J(C,()=>e(he).name,z=>T(he,e(he).name=z)),J(_,()=>e(he).email,z=>T(he,e(he).email=z)),J(ee,()=>e(he).password,z=>T(he,e(he).password=z)),Va(le,()=>e(he).role,z=>T(he,e(he).role=z)),We(3,L,()=>Xe,()=>({y:6,duration:180})),l(f,L)},A=f=>{var L=De(),m=me(L);{var K=M=>{var y=Hv(),D=s(y),se=s(D);se.textContent=ws;var Y=t(se,2);Y.textContent=ro,a(D);var G=t(D,2),U=s(G);U.textContent=Li;var C=t(U,2),b=s(C),P=s(b);P.textContent=xi;var _=t(P,2),$=s(_);$.nodeValue=`${Ai} `;var j=t($,2);j.nodeValue=` ${yi}`,a(_);var B=t(_,2);q(B,{get disabled(){return e(Ra)},$$events:{click:en},children:(p,ce)=>{V();var re=H();d(be=>v(re,be),[()=>Dd(e(Ra))],S),l(p,re)},$$slots:{default:!0}}),a(b);var ee=t(b,4),g=s(ee);g.textContent=Ti;var W=t(g,2);W.textContent=Pi;var le=t(W,2),oe=s(le),we=s(oe);ir(we,p=>r(ea,p),()=>e(ea));var xe=t(we,2),ot=s(xe,!0);a(xe),a(oe);var Dt=t(oe,2);const oa=S(()=>!e(Tt)||e(Ca));q(Dt,{get disabled(){return e(oa)},$$events:{click:tn},children:(p,ce)=>{V();var re=H();d(be=>v(re,be),[()=>Bd(e(Ca))],S),l(p,re)},$$slots:{default:!0}}),a(le),a(ee),a(C);var Bt=t(C,2),bt=s(Bt),z=s(bt),Ae=s(z);Ae.nodeValue=`${Ii} `;var O=t(Ae);O.textContent=wi,a(z);var ie=t(z,2);a(bt);var fe=t(bt,2);q(fe,{variant:"ghost",get disabled(){return e(ya)},$$events:{click:kn},children:(p,ce)=>{V();var re=H();d(be=>v(re,be),[()=>Oi(e(ya))],S),l(p,re)},$$slots:{default:!0}}),a(Bt);var Ne=t(Bt,2),gt=s(Ne,!0);a(Ne),a(G);var ht=t(G,2),ct=s(ht);ct.textContent=Ni;var Ut=t(ct,2),it=s(Ut);it.nodeValue=`${Di} `;var Ba=t(it);Ba.textContent=Or;var ns=t(Ba);ns.nodeValue=` ${Bi}`,a(Ut);var ca=t(Ut,2),ia=s(ca),at=s(ia),He=s(at);He.textContent=Or;var An=t(He,2);An.textContent=Ui,a(at);var ls=t(at,2);X(ls),h(ls,"placeholder",Fi),a(ia);var Xs=t(ia,2),os=s(Xs),Ys=s(os);Ys.textContent=Ki;var zs=t(Ys,2),Js=s(zs);Js.nodeValue=`${Mi} `;var yn=t(Js,2);yn.nodeValue=` ${Gi}`,a(zs),a(os);var cs=t(os,2);X(cs),h(cs,"placeholder",Hi),a(Xs),a(ca);var is=t(ca,2),ds=s(is),vs=s(ds),Tn=s(vs);Tn.textContent=Vi,a(vs);var ps=t(vs,2);X(ps),h(ps,"placeholder",ji),a(ds);var qs=t(ds,2),us=s(qs),Qs=s(us);Qs.textContent=Wi;var Pn=t(Qs,2);Pn.textContent=Xi,a(us);var _s=t(us,2);X(_s),h(_s,"placeholder",Yi),a(qs),a(is);var fs=t(is,2),ms=s(fs),ks=s(ms),In=s(ks);In.textContent=zi,a(ks);var Es=t(ks,2);X(Es),h(Es,"placeholder",Ji),a(ms);var Zs=t(ms,2),bs=s(Zs),er=s(bs);er.textContent=qi;var tr=t(er,2),wn=s(tr,!0);a(tr),a(bs);var gs=t(bs,2);X(gs),a(Zs),a(fs);var hs=t(fs,2),ar=s(hs);q(ar,{variant:"ghost",get disabled(){return e(Ta)},$$events:{click:En},children:(p,ce)=>{V();var re=H();d(be=>v(re,be),[()=>Kd(e(Ta))],S),l(p,re)},$$slots:{default:!0}});var $n=t(ar,2);q($n,{get disabled(){return e(Yt)},$$events:{click:Ms},children:(p,ce)=>{V();var re=H();d(be=>v(re,be),[()=>Md(e(Yt))],S),l(p,re)},$$slots:{default:!0}}),a(hs);var On=t(hs,2);{var Nn=p=>{var ce=Iv(),re=s(ce);a(ce),d(()=>{pt(ce,"s3-test-success",e(wt)==="success"),pt(ce,"s3-test-error",e(wt)==="error"),v(re,`${(e(wt)==="success"?"✓":"✗")??""}
|
|
8
|
+
${e(Ia)??""}`)}),l(p,ce)};I(On,p=>{e(wt)&&p(Nn)})}a(ht);var sr=t(ht,2);const Dn=S(()=>Br(!1)),Bn=S(()=>!!e(ra));fr(sr,{title:pd,get confirmLabel(){return e(Dn)},get loading(){return e(Bn)},get open(){return e(wa)},set open(p){r(wa,p)},$$events:{confirm:hn},children:(p,ce)=>{var re=De(),be=me(re);{var St=dt=>{var Ue=H();d(Fe=>v(Ue,Fe),[()=>ud(e($t).key)],S),l(dt,Ue)};I(be,dt=>{e($t)&&dt(St)})}l(p,re)},$$slots:{default:!0},$$legacy:!0});var Ua=t(sr,2),Ss=s(Ua),rr=s(Ss);rr.textContent=od;var Un=t(rr,2);{var Fn=p=>{q(p,{variant:"ghost",get disabled(){return e(sa)},$$events:{click:Gs},children:(ce,re)=>{V();var be=H();d(St=>v(be,St),[()=>Ur(e(sa))],S),l(ce,be)},$$slots:{default:!0}})};I(Un,p=>{e(ut)&&p(Fn)})}a(Ss);var Kn=t(Ss,2);{var Mn=p=>{var ce=wv();ce.textContent=id,l(p,ce)},Gn=p=>{var ce=Dv(),re=me(ce);re.textContent=cd;var be=t(re,2);{var St=Ue=>{var Fe=$v(),Ct=s(Fe,!0);a(Fe),d(et=>v(Ct,et),[()=>e(sa)?Ur(!0):dd],S),l(Ue,Fe)},dt=Ue=>{var Fe=Nv();Kt(Fe,5,()=>e(Za),Ct=>Ct.key,(Ct,et)=>{var zt=Ov(),Jt=s(zt),da=s(Jt),va=s(da,!0);a(da);var pa=t(da,2),Rs=s(pa);a(pa),a(Jt);var Fa=t(Jt,2);const Ka=S(()=>e(ra)===e(et).key);q(Fa,{variant:"ghost",get disabled(){return e(Ka)},$$events:{click:()=>gn(e(et))},children:(ua,Ve)=>{V();var Rt=H();d(st=>v(Rt,st),[()=>Br(e(ra)===e(et).key)],S),l(ua,Rt)},$$slots:{default:!0}}),a(zt),d((ua,Ve)=>{v(va,e(et).key),v(Rs,`${ua??""} · ${Ve??""}`)},[()=>new Date(e(et).lastModified).toLocaleString(),()=>jd(e(et).size)],S),l(Ct,zt)}),a(Fe),l(Ue,Fe)};I(be,Ue=>{e(Za).length===0?Ue(St):Ue(dt,!1)})}l(p,ce)};I(Kn,p=>{e(ut)?p(Gn,!1):p(Mn)})}a(Ua);var Cs=t(Ua,2),nr=s(Cs);nr.textContent=kd;var Hn=t(nr,2);{var Vn=p=>{var ce=Bv();ce.textContent=Ed,l(p,ce)},jn=p=>{var ce=Gv(),re=me(ce),be=s(re),St=s(be);St.textContent=bd;var dt=t(St,2);a(be),a(re);var Ue=t(re,2),Fe=s(Ue),Ct=s(Fe);Ct.textContent=gd;var et=t(Ct,2),zt=s(et);zt.nodeValue=`${hd} `;var Jt=t(zt,2);Jt.nodeValue=` ${Sd} `;var da=t(Jt);da.textContent=Cd,a(et),a(Fe);var va=t(Fe,2);X(va),h(va,"placeholder",Rd),a(Ue);var pa=t(Ue,2);{var Rs=Ve=>{var Rt=Mv(),st=s(Rt),_a=t(st);{var Wn=Lt=>{var vt=Uv(),Ls=s(vt,!0);a(vt),d(xs=>v(Ls,xs),[()=>Gd(e(_t).replace("success:",""))],S),l(Lt,vt)},Xn=Lt=>{var vt=De(),Ls=me(vt);{var xs=qt=>{var rt=Fv(),As=s(rt,!0);a(rt),d(zn=>v(As,zn),[()=>e(_t).replace("error:","")],S),l(qt,rt)},Yn=qt=>{var rt=Kv(),As=s(rt,!0);a(rt),d(()=>v(As,e(_t))),l(qt,rt)};I(Ls,qt=>{var rt;(rt=e(_t))!=null&&rt.startsWith("error:")?qt(xs):qt(Yn,!1)},!0)}l(Lt,vt)};I(_a,Lt=>{var vt;(vt=e(_t))!=null&&vt.startsWith("success:")?Lt(Wn):Lt(Xn,!1)})}a(Rt),d(Lt=>v(st,`${Ld}
|
|
9
|
+
${Lt??""} — `),[()=>new Date(e(aa)).toLocaleString()],S),l(Ve,Rt)};I(pa,Ve=>{e(aa)&&Ve(Rs)})}var Fa=t(pa,2),Ka=s(Fa);q(Ka,{variant:"ghost",get disabled(){return e(Pa)},$$events:{click:bn},children:(Ve,Rt)=>{V();var st=H();d(_a=>v(st,_a),[()=>Hd(e(Pa))],S),l(Ve,st)},$$slots:{default:!0}});var ua=t(Ka,2);q(ua,{get disabled(){return e(Yt)},$$events:{click:Ms},children:(Ve,Rt)=>{V();var st=H();d(_a=>v(st,_a),[()=>Vd(e(Yt))],S),l(Ve,st)},$$slots:{default:!0}}),a(Fa),d(()=>{h(dt,"aria-checked",e(k).backupEnabled),pt(dt,"active",e(k).backupEnabled)}),je("click",dt,()=>T(k,e(k).backupEnabled=!e(k).backupEnabled)),J(va,()=>e(k).backupCron,Ve=>T(k,e(k).backupCron=Ve)),l(p,ce)};I(Hn,p=>{e(ut)?p(jn,!1):p(Vn)})}a(Cs),a(y),d((p,ce,re)=>{v(ot,e(Tt)?e(Tt).name:$r),h(ie,"aria-checked",e(k).backupIncludeReports),pt(ie,"active",e(k).backupIncludeReports),v(gt,p),v(wn,ce),h(gs,"placeholder",re),pt(Ua,"card-disabled",!e(ut)),pt(Cs,"card-disabled",!e(ut))},[()=>$i(e(k).backupIncludeReports),()=>Ud(e(It)),()=>Fd(e(It))],S),je("change",we,an),je("click",ie,()=>T(k,e(k).backupIncludeReports=!e(k).backupIncludeReports)),J(ls,()=>e(k).backupS3Endpoint,p=>T(k,e(k).backupS3Endpoint=p)),J(cs,()=>e(k).backupS3Region,p=>T(k,e(k).backupS3Region=p)),J(ps,()=>e(k).backupS3Bucket,p=>T(k,e(k).backupS3Bucket=p)),J(_s,()=>e(k).backupS3Prefix,p=>T(k,e(k).backupS3Prefix=p)),J(Es,()=>e(k).backupS3AccessKey,p=>T(k,e(k).backupS3AccessKey=p)),J(gs,()=>e(k).backupS3SecretKey,p=>T(k,e(k).backupS3SecretKey=p)),We(3,y,()=>Xe,()=>({y:6,duration:180})),l(M,y)};I(m,M=>{e(ye)==="backup"&&M(K)},!0)}l(f,L)};I(ae,f=>{e(ye)==="users"?f(R):f(A,!1)},!0)}l(Z,w)};I(de,Z=>{e(ye)==="account"?Z(pe):Z(Ee,!1)},!0)}l(Q,F)};I(te,Q=>{e(ye)==="mcp"?Q(ve):Q(E,!1)},!0)}l(Ce,ne)};I(Ie,Ce=>{e(ye)==="integrations"?Ce(Ge):Ce(Ze,!1)},!0)}l(Pe,Se)};I(qe,Pe=>{e(ye)==="testcases"?Pe(Qe):Pe(Et,!1)},!0)}l(Be,Oe)};I(mt,Be=>{e(ye)==="repository"?Be(kt):Be(Nt,!1)},!0)}l(lt,Je)};I(N,lt=>{e(ye)==="runners"?lt(tt):lt(rs,!1)},!0)}l(n,c)};I(Rn,n=>{e(ye)==="project"?n(Ln):n(xn,!1)})}a(Ws),a(Vs),l(o,Hs),tl(),Qt()}export{vp as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import{h as X,a as _,t as E,s as k,e as Z}from"../chunks/
|
|
6
|
+
import{h as X,a as _,t as E,s as k,e as Z}from"../chunks/6VDMVB5U.js";import{i as ee}from"../chunks/CtgCYzu5.js";import{p as se,o as ae,s as t,t as x,c as te,$ as le,m as d,d as r,g as e,k as i,j as l,x as re}from"../chunks/BIf7lHIm.js";import{i as W,s as ie,a as oe}from"../chunks/D_thT6pZ.js";import{s as u,r as I,E as ne,P as ve}from"../chunks/C4Z3p6jE.js";import{b as P}from"../chunks/BnXsGCy3.js";import{g as pe}from"../chunks/BIjh3jiU.js";import{c as de,s as ce,l as fe}from"../chunks/DDx3no2z.js";import{a as me}from"../chunks/CXQhSK1T.js";import{t as be}from"../chunks/iL4SCrvY.js";import{c as _e,C as ue,W as Ee,d as Le,Y as he,N as Ae,E as ge,e as Ce,f as Re,A as we,g as Se,h as xe}from"../chunks/Dlnxgs49.js";var Ie=E('<p class="checking svelte-1fbs494"></p>'),Pe=E('<p class="error svelte-1fbs494"> </p>'),Oe=E('<div class="card svelte-1fbs494"><div class="brand svelte-1fbs494"><span class="brand-serif svelte-1fbs494">Pl</span><span class="brand-sans svelte-1fbs494">um</span></div> <div class="heading svelte-1fbs494"><h1 class="title svelte-1fbs494"></h1> <p class="subtitle svelte-1fbs494"></p></div> <div class="fields svelte-1fbs494"><div class="field svelte-1fbs494"><label class="label svelte-1fbs494" for="name"></label> <input id="name" type="text" class="input svelte-1fbs494" autocomplete="name"></div> <div class="field svelte-1fbs494"><label class="label svelte-1fbs494" for="email"></label> <input id="email" type="email" class="input svelte-1fbs494" autocomplete="email"></div> <div class="field svelte-1fbs494"><label class="label svelte-1fbs494" for="password"></label> <input id="password" type="password" class="input svelte-1fbs494" autocomplete="new-password"></div></div> <!> <button class="submit-btn svelte-1fbs494"> </button></div>'),De=E('<div class="page svelte-1fbs494"><!></div>');function Ge(B,H){se(H,!1);const[U,F]=ie(),G=()=>oe(be,"$theme",U);let c=d(""),v=d(""),n=d(""),p=d(""),f=d(!1),O=d(!0);ae(async()=>{try{await de()||pe("/login")}catch{}t(O,!1)});async function K(){if(!e(c)||!e(v)||!e(n)){t(p,we);return}if(e(n).length<8){t(p,Se);return}t(p,""),t(f,!0);try{await ce({name:e(c),email:e(v),password:e(n)});const{token:s,user:o}=await fe({email:e(v),password:e(n)});me.login(s,o),window.location.href="/"}catch(s){t(p,s.message||xe)}finally{t(f,!1)}}ee();var m=De();X(s=>{le.title=_e});var Y=r(m);{var j=s=>{var o=Ie();o.textContent=ue,_(s,o)},q=s=>{var o=Oe(),L=l(r(o),2),D=r(L);D.textContent=Ee;var Q=l(D,2);Q.textContent=Le,i(L);var h=l(L,2),A=r(h),M=r(A);M.textContent=he;var g=l(M,2);I(g),u(g,"placeholder",Ae),i(A);var C=l(A,2),T=r(C);T.textContent=ne;var R=l(T,2);I(R),u(R,"placeholder",ge),i(C);var y=l(C,2),N=r(y);N.textContent=ve;var w=l(N,2);I(w),u(w,"placeholder",Ce),i(y),i(h);var $=l(h,2);{var V=a=>{var S=Pe(),J=r(S,!0);i(S),x(()=>k(J,e(p))),_(a,S)};W($,a=>{e(p)&&a(V)})}var b=l($,2),z=r(b,!0);i(b),i(o),x(a=>{b.disabled=e(f)||!e(c)||!e(v)||!e(n),k(z,a)},[()=>Re(e(f))],re),P(g,()=>e(c),a=>t(c,a)),P(R,()=>e(v),a=>t(v,a)),P(w,()=>e(n),a=>t(n,a)),Z("click",b,K),_(s,o)};W(Y,s=>{e(O)?s(j):s(q,!1)})}i(m),x(()=>u(m,"data-theme",G())),_(B,m),te(),F()}export{Ge as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"1787982248631"}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of Plum.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const ssr = false;
|
|
7
|
+
|
|
8
|
+
var _layout = /*#__PURE__*/Object.freeze({
|
|
9
|
+
__proto__: null,
|
|
10
|
+
ssr: ssr
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
const index = 0;
|
|
14
|
+
let component_cache;
|
|
15
|
+
const component = async () => component_cache ??= (await import('./_layout.svelte-B8vZGefg.js')).default;
|
|
16
|
+
const universal_id = "src/routes/+layout.js";
|
|
17
|
+
const imports = ["_app/immutable/nodes/0.D2F-i1I5.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/BTV7EXZb.js","_app/immutable/chunks/BIjh3jiU.js","_app/immutable/chunks/Dlymnwnf.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/CXQhSK1T.js","_app/immutable/chunks/kFFd6Oo5.js","_app/immutable/chunks/htkwR9b-.js","_app/immutable/chunks/B2lVGNml.js","_app/immutable/chunks/pNZogwkM.js","_app/immutable/chunks/DiexacSB.js","_app/immutable/chunks/BdBJfKUi.js","_app/immutable/chunks/gCgJ3Cwu.js","_app/immutable/chunks/BWGoOYU0.js","_app/immutable/chunks/D72giPTu.js","_app/immutable/chunks/CUPWZLIN.js","_app/immutable/chunks/DeiVAbyn.js","_app/immutable/chunks/BDb8hZHu.js","_app/immutable/chunks/BtTNggoY.js","_app/immutable/chunks/DDx3no2z.js"];
|
|
18
|
+
const stylesheets = ["_app/immutable/assets/0.BEqlRAtD.css","_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css","_app/immutable/assets/Modal.BZpm0HP8.css","_app/immutable/assets/Badge.D1SV0Gv7.css"];
|
|
19
|
+
const fonts = [];
|
|
20
|
+
|
|
21
|
+
export { component, fonts, imports, index, stylesheets, _layout as universal, universal_id };
|
|
22
|
+
//# sourceMappingURL=0-38cvTs44.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This file is part of Plum.
|
|
3
|
+
Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
+
*/
|
|
5
|
+
{"version":3,"file":"0-38cvTs44.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.js","../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["const ssr = false;\nexport {\n ssr\n};\n","import * as universal from '../entries/pages/_layout.js';\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport { universal };\nexport const universal_id = \"src/routes/+layout.js\";\nexport const imports = [\"_app/immutable/nodes/0.D2F-i1I5.js\",\"_app/immutable/chunks/6VDMVB5U.js\",\"_app/immutable/chunks/BIf7lHIm.js\",\"_app/immutable/chunks/CtgCYzu5.js\",\"_app/immutable/chunks/D_thT6pZ.js\",\"_app/immutable/chunks/BTV7EXZb.js\",\"_app/immutable/chunks/BIjh3jiU.js\",\"_app/immutable/chunks/Dlymnwnf.js\",\"_app/immutable/chunks/C4Z3p6jE.js\",\"_app/immutable/chunks/CXQhSK1T.js\",\"_app/immutable/chunks/kFFd6Oo5.js\",\"_app/immutable/chunks/htkwR9b-.js\",\"_app/immutable/chunks/B2lVGNml.js\",\"_app/immutable/chunks/pNZogwkM.js\",\"_app/immutable/chunks/DiexacSB.js\",\"_app/immutable/chunks/BdBJfKUi.js\",\"_app/immutable/chunks/gCgJ3Cwu.js\",\"_app/immutable/chunks/BWGoOYU0.js\",\"_app/immutable/chunks/D72giPTu.js\",\"_app/immutable/chunks/CUPWZLIN.js\",\"_app/immutable/chunks/DeiVAbyn.js\",\"_app/immutable/chunks/BDb8hZHu.js\",\"_app/immutable/chunks/BtTNggoY.js\",\"_app/immutable/chunks/DDx3no2z.js\"];\nexport const stylesheets = [\"_app/immutable/assets/0.BEqlRAtD.css\",\"_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css\",\"_app/immutable/assets/Modal.BZpm0HP8.css\",\"_app/immutable/assets/Badge.D1SV0Gv7.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAAA,MAAM,GAAG,GAAG,KAAK;;;;;;;ACEL,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAoC,CAAC,EAAE;AAElG,MAAC,YAAY,GAAG;AAChB,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC52B,MAAC,WAAW,GAAG,CAAC,sCAAsC,CAAC,iDAAiD,CAAC,0CAA0C,CAAC,0CAA0C;AAC9L,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
const index = 1;
|
|
7
7
|
let component_cache;
|
|
8
|
-
const component = async () => component_cache ??= (await import('./error.svelte-
|
|
9
|
-
const imports = ["_app/immutable/nodes/1.
|
|
8
|
+
const component = async () => component_cache ??= (await import('./error.svelte-BXr4lXlB.js')).default;
|
|
9
|
+
const imports = ["_app/immutable/nodes/1.JIF2GfHq.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/BIjh3jiU.js"];
|
|
10
10
|
const stylesheets = [];
|
|
11
11
|
const fonts = [];
|
|
12
12
|
|
|
13
13
|
export { component, fonts, imports, index, stylesheets };
|
|
14
|
-
//# sourceMappingURL=1-
|
|
14
|
+
//# sourceMappingURL=1-CcYsajvR.js.map
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
This file is part of Plum.
|
|
3
3
|
Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
4
|
*/
|
|
5
|
-
{"version":3,"file":"1-
|
|
5
|
+
{"version":3,"file":"1-CcYsajvR.js","sources":["../../../.svelte-kit/adapter-node/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1.JIF2GfHq.js\",\"_app/immutable/chunks/6VDMVB5U.js\",\"_app/immutable/chunks/BIf7lHIm.js\",\"_app/immutable/chunks/CtgCYzu5.js\",\"_app/immutable/chunks/BIjh3jiU.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChM,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of Plum.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const index = 10;
|
|
7
|
+
let component_cache;
|
|
8
|
+
const component = async () => component_cache ??= (await import('./_page.svelte-DM1_y4Oq.js')).default;
|
|
9
|
+
const imports = ["_app/immutable/nodes/10.A0AHLfOt.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/BTV7EXZb.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/BnXsGCy3.js","_app/immutable/chunks/qvxlSGpD.js","_app/immutable/chunks/D72giPTu.js","_app/immutable/chunks/tsOANt55.js","_app/immutable/chunks/BdBJfKUi.js","_app/immutable/chunks/CXQhSK1T.js","_app/immutable/chunks/DiexacSB.js","_app/immutable/chunks/zXSLr47H.js","_app/immutable/chunks/BCh31ecr.js","_app/immutable/chunks/r_d1Iu0W.js","_app/immutable/chunks/htkwR9b-.js","_app/immutable/chunks/B2lVGNml.js","_app/immutable/chunks/prk8PJfA.js","_app/immutable/chunks/CNpD-yNH.js","_app/immutable/chunks/BWGoOYU0.js","_app/immutable/chunks/CUPWZLIN.js","_app/immutable/chunks/BDb8hZHu.js"];
|
|
10
|
+
const stylesheets = ["_app/immutable/assets/10.DC0wD6w_.css","_app/immutable/assets/Button.C1zsJAUG.css","_app/immutable/assets/ExportMenu.DsJQ1Qua.css","_app/immutable/assets/Pagination.DZmi2Po-.css","_app/immutable/assets/EmptyState.DUDM4P19.css","_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css","_app/immutable/assets/Modal.BZpm0HP8.css"];
|
|
11
|
+
const fonts = [];
|
|
12
|
+
|
|
13
|
+
export { component, fonts, imports, index, stylesheets };
|
|
14
|
+
//# sourceMappingURL=10-CFR2MUJt.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This file is part of Plum.
|
|
3
|
+
Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
+
*/
|
|
5
|
+
{"version":3,"file":"10-CFR2MUJt.js","sources":["../../../.svelte-kit/adapter-node/nodes/10.js"],"sourcesContent":["\n\nexport const index = 10;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/test-repository/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/10.A0AHLfOt.js\",\"_app/immutable/chunks/6VDMVB5U.js\",\"_app/immutable/chunks/BIf7lHIm.js\",\"_app/immutable/chunks/CtgCYzu5.js\",\"_app/immutable/chunks/D_thT6pZ.js\",\"_app/immutable/chunks/BTV7EXZb.js\",\"_app/immutable/chunks/C4Z3p6jE.js\",\"_app/immutable/chunks/BnXsGCy3.js\",\"_app/immutable/chunks/qvxlSGpD.js\",\"_app/immutable/chunks/D72giPTu.js\",\"_app/immutable/chunks/tsOANt55.js\",\"_app/immutable/chunks/BdBJfKUi.js\",\"_app/immutable/chunks/CXQhSK1T.js\",\"_app/immutable/chunks/DiexacSB.js\",\"_app/immutable/chunks/zXSLr47H.js\",\"_app/immutable/chunks/BCh31ecr.js\",\"_app/immutable/chunks/r_d1Iu0W.js\",\"_app/immutable/chunks/htkwR9b-.js\",\"_app/immutable/chunks/B2lVGNml.js\",\"_app/immutable/chunks/prk8PJfA.js\",\"_app/immutable/chunks/CNpD-yNH.js\",\"_app/immutable/chunks/BWGoOYU0.js\",\"_app/immutable/chunks/CUPWZLIN.js\",\"_app/immutable/chunks/BDb8hZHu.js\"];\nexport const stylesheets = [\"_app/immutable/assets/10.DC0wD6w_.css\",\"_app/immutable/assets/Button.C1zsJAUG.css\",\"_app/immutable/assets/ExportMenu.DsJQ1Qua.css\",\"_app/immutable/assets/Pagination.DZmi2Po-.css\",\"_app/immutable/assets/EmptyState.DUDM4P19.css\",\"_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css\",\"_app/immutable/assets/Modal.BZpm0HP8.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAkD,CAAC,EAAE;AAChH,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC72B,MAAC,WAAW,GAAG,CAAC,uCAAuC,CAAC,2CAA2C,CAAC,+CAA+C,CAAC,+CAA+C,CAAC,+CAA+C,CAAC,iDAAiD,CAAC,0CAA0C;AAChV,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of Plum.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const index = 11;
|
|
7
|
+
let component_cache;
|
|
8
|
+
const component = async () => component_cache ??= (await import('./_page.svelte-nrlgIFaU.js')).default;
|
|
9
|
+
const imports = ["_app/immutable/nodes/11.CVSPxlqY.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/BTV7EXZb.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/BnXsGCy3.js","_app/immutable/chunks/qvxlSGpD.js","_app/immutable/chunks/D72giPTu.js","_app/immutable/chunks/tsOANt55.js","_app/immutable/chunks/Dlymnwnf.js","_app/immutable/chunks/BIjh3jiU.js","_app/immutable/chunks/BdBJfKUi.js","_app/immutable/chunks/CXQhSK1T.js","_app/immutable/chunks/DiexacSB.js","_app/immutable/chunks/htkwR9b-.js","_app/immutable/chunks/B2lVGNml.js","_app/immutable/chunks/CUPWZLIN.js","_app/immutable/chunks/BDb8hZHu.js","_app/immutable/chunks/CNpD-yNH.js","_app/immutable/chunks/r_d1Iu0W.js"];
|
|
10
|
+
const stylesheets = ["_app/immutable/assets/11.BWAH0Beh.css","_app/immutable/assets/Button.C1zsJAUG.css","_app/immutable/assets/Modal.BZpm0HP8.css","_app/immutable/assets/EmptyState.DUDM4P19.css"];
|
|
11
|
+
const fonts = [];
|
|
12
|
+
|
|
13
|
+
export { component, fonts, imports, index, stylesheets };
|
|
14
|
+
//# sourceMappingURL=11-BmkiRQ9D.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This file is part of Plum.
|
|
3
|
+
Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
4
|
+
*/
|
|
5
|
+
{"version":3,"file":"11-BmkiRQ9D.js","sources":["../../../.svelte-kit/adapter-node/nodes/11.js"],"sourcesContent":["\n\nexport const index = 11;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/test-repository/runs/_id_/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/11.CVSPxlqY.js\",\"_app/immutable/chunks/6VDMVB5U.js\",\"_app/immutable/chunks/BIf7lHIm.js\",\"_app/immutable/chunks/CtgCYzu5.js\",\"_app/immutable/chunks/D_thT6pZ.js\",\"_app/immutable/chunks/BTV7EXZb.js\",\"_app/immutable/chunks/C4Z3p6jE.js\",\"_app/immutable/chunks/BnXsGCy3.js\",\"_app/immutable/chunks/qvxlSGpD.js\",\"_app/immutable/chunks/D72giPTu.js\",\"_app/immutable/chunks/tsOANt55.js\",\"_app/immutable/chunks/Dlymnwnf.js\",\"_app/immutable/chunks/BIjh3jiU.js\",\"_app/immutable/chunks/BdBJfKUi.js\",\"_app/immutable/chunks/CXQhSK1T.js\",\"_app/immutable/chunks/DiexacSB.js\",\"_app/immutable/chunks/htkwR9b-.js\",\"_app/immutable/chunks/B2lVGNml.js\",\"_app/immutable/chunks/CUPWZLIN.js\",\"_app/immutable/chunks/BDb8hZHu.js\",\"_app/immutable/chunks/CNpD-yNH.js\",\"_app/immutable/chunks/r_d1Iu0W.js\"];\nexport const stylesheets = [\"_app/immutable/assets/11.BWAH0Beh.css\",\"_app/immutable/assets/Button.C1zsJAUG.css\",\"_app/immutable/assets/Modal.BZpm0HP8.css\",\"_app/immutable/assets/EmptyState.DUDM4P19.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA4D,CAAC,EAAE;AAC1H,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACryB,MAAC,WAAW,GAAG,CAAC,uCAAuC,CAAC,2CAA2C,CAAC,0CAA0C,CAAC,+CAA+C;AAC9L,MAAC,KAAK,GAAG;;;;"}
|