plum-e2e 2.6.8 → 2.7.1
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 +5 -0
- package/CLAUDE.md +17 -2
- package/LICENSE +21 -677
- package/README.md +1 -1
- package/backend/Dockerfile +1 -13
- package/backend/app.js +4 -14
- package/backend/config/scripts/create-step.mjs +1 -13
- package/backend/config/scripts/create-test.mjs +1 -13
- package/backend/config/scripts/generate-report.js +5 -15
- package/backend/config/scripts/run-tests.js +5 -16
- package/backend/constants/defaults.js +8 -0
- package/backend/constants/env.js +16 -0
- package/backend/constants/jobStatus.js +21 -0
- package/backend/constants/socketEvents.js +40 -0
- package/backend/constants/triggers.js +6 -14
- package/backend/entrypoint.sh +1 -13
- package/backend/lib/authHeader.js +16 -0
- package/backend/lib/globalRegistry.js +1 -13
- package/backend/lib/nodeRegister.js +1 -13
- package/backend/lib/reportFilename.js +1 -13
- package/backend/lib/retryRunner.js +1 -13
- package/backend/lib/runnerProcess.js +34 -31
- package/backend/lib/screenshotPoller.js +1 -13
- package/backend/lib/serverBootstrap.js +189 -0
- package/backend/lib/serverConfig.js +1 -13
- package/backend/lib/testChunker.js +1 -13
- package/backend/lib/testEnv.js +1 -13
- package/backend/logs/runner-cmqneqerz0000qq01i5ap2rvl.log +4 -0
- package/backend/logs/runner-cmqnfv7kr0000r101aeocm8eu.log +4 -0
- package/backend/logs/runner-cmqnfvb560001r101qoi0phau.log +4 -0
- package/backend/logs/runner-cmqnfvlm20002r101gsyqb837.log +4 -0
- package/backend/logs/runner-cmqnfvqfy0003r101fh41pzx3.log +4 -0
- package/backend/logs/runner-cmqnfvvwo0004r101q4dtqxd2.log +4 -0
- package/backend/logs/runner-cmr8o2x3n0000mg01410tpuck.log +4 -0
- package/backend/logs/runner-cmr90hvcx0000n2016edtmrtv.log +4 -0
- package/backend/logs/runner-cmr90i7h20001n201g2wg6v3n.log +4 -0
- package/backend/logs/runner-cmr90iilm0002n201mmisva95.log +4 -0
- package/backend/logs/runner-cmr90j70r0003n201xz8525dz.log +4 -0
- package/backend/logs/runner-cmr90yup70000qp017ianc2gp.log +4 -0
- package/backend/logs/runner-cmr90zbtm0001qp01u9tfdkh1.log +4 -0
- package/backend/logs/runner-cmr91a3mw0000tb01414rd1df.log +4 -0
- package/backend/logs/runner-cmr91dhla0001tb01jp7thjnl.log +4 -0
- package/backend/logs/runner-cmrkk6fcl0000qj012kve79f4.log +4 -0
- package/backend/logs/runner-cmrkl8sym0000qy01euz4270n.log +4 -0
- package/backend/logs/runner-cmrkl9oyx0001qy0137nzr94d.log +4 -0
- package/backend/mcp/server.js +5 -15
- package/backend/middleware/auth.js +4 -14
- package/backend/middleware/jwtAuth.js +5 -16
- package/backend/middleware/requireAdmin.js +1 -13
- package/backend/package.json +3 -3
- package/backend/playwright.config.js +1 -13
- package/backend/routes/active-runs.routes.js +18 -0
- package/backend/routes/auth.routes.js +1 -13
- package/backend/routes/backup.routes.js +10 -21
- package/backend/routes/cron.routes.js +1 -13
- package/backend/routes/node.routes.js +11 -148
- package/backend/routes/reports.routes.js +1 -13
- package/backend/routes/runners.routes.js +11 -21
- package/backend/routes/settings.routes.js +6 -17
- package/backend/routes/test-cases.routes.js +1 -13
- package/backend/routes/test-runs.routes.js +1 -13
- package/backend/routes/test-suites.routes.js +1 -13
- package/backend/routes/tests.routes.js +1 -13
- package/backend/routes/trigger.routes.js +23 -165
- package/backend/routes/users.routes.js +1 -13
- package/backend/scripts/manage-runners.mjs +1 -13
- package/backend/server.js +34 -151
- package/backend/services/activeRunsService.js +55 -0
- package/backend/services/backupCronService.js +1 -13
- package/backend/services/backupService.js +7 -17
- package/backend/services/cronService.js +57 -39
- package/backend/services/envService.js +1 -13
- package/backend/services/nodeExecutionService.js +140 -0
- package/backend/services/notificationService.js +7 -17
- package/backend/services/prisma.js +1 -13
- package/backend/services/reportService.js +21 -17
- package/backend/services/runnerService.js +46 -27
- package/backend/services/settingsService.js +19 -19
- package/backend/services/testCaseService.js +1 -13
- package/backend/services/testRunService.js +1 -13
- package/backend/services/testService.js +1 -13
- package/backend/services/testSuiteService.js +1 -13
- package/backend/services/triggerService.js +246 -0
- package/backend/services/userService.js +1 -13
- package/backend/websockets/socketHandler.js +99 -48
- package/bin/plum.js +14 -13
- package/bin/postinstall.js +34 -0
- package/bin/scaffold-tests.js +1 -13
- package/docker-compose.node.yml +1 -13
- package/docker-compose.yml +1 -13
- package/frontend/.svelte-kit/adapter-node/.vite/manifest.json +97 -41
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -17
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Badge.D1SV0Gv7.css +0 -17
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +1 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/EmptyState.DUDM4P19.css +1 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Modal.BuaCfdLj.css +1 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Pagination.DZmi2Po-.css +0 -17
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Toast.DENwYn3g.css +0 -17
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.BuhMvMUj.css +0 -17
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.0Eln51hV.css +0 -17
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.5IJAEAjc.css +0 -17
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BR3wgXcZ.css +0 -17
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BWAH0Beh.css +1 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BZfe6nWe.css +0 -17
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Bj_a_5lv.css +0 -17
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BwgOqeMo.css +1 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CBHi6pzT.css +0 -17
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CFnbmY-D.css +0 -17
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.DvMkmYA-.css +1 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page._h2o67kg.css +0 -17
- package/frontend/.svelte-kit/adapter-node/chunks/BackLink.js +0 -17
- package/frontend/.svelte-kit/adapter-node/chunks/Badge.js +1 -18
- package/frontend/.svelte-kit/adapter-node/chunks/ConfirmModal.js +7 -37
- package/frontend/.svelte-kit/adapter-node/chunks/EmptyState.js +25 -25
- package/frontend/.svelte-kit/adapter-node/chunks/Modal.js +21 -0
- package/frontend/.svelte-kit/adapter-node/chunks/Toast.js +12 -18
- package/frontend/.svelte-kit/adapter-node/chunks/attributes.js +0 -17
- package/frontend/.svelte-kit/adapter-node/chunks/auth.js +0 -17
- package/frontend/.svelte-kit/adapter-node/chunks/auth2.js +8 -0
- package/frontend/.svelte-kit/adapter-node/chunks/client.js +0 -17
- package/frontend/.svelte-kit/adapter-node/chunks/common.js +36 -0
- package/frontend/.svelte-kit/adapter-node/chunks/constants.js +8 -20
- package/frontend/.svelte-kit/adapter-node/chunks/escaping.js +0 -17
- package/frontend/.svelte-kit/adapter-node/chunks/exports.js +0 -17
- package/frontend/.svelte-kit/adapter-node/chunks/format.js +0 -17
- package/frontend/.svelte-kit/adapter-node/chunks/index-server.js +0 -17
- package/frontend/.svelte-kit/adapter-node/chunks/index.js +4 -21
- package/frontend/.svelte-kit/adapter-node/chunks/index2.js +0 -17
- package/frontend/.svelte-kit/adapter-node/chunks/internal.js +2 -19
- package/frontend/.svelte-kit/adapter-node/chunks/reports.js +0 -17
- package/frontend/.svelte-kit/adapter-node/chunks/reports2.js +87 -0
- package/frontend/.svelte-kit/adapter-node/chunks/repository.js +87 -0
- package/frontend/.svelte-kit/adapter-node/chunks/runner.js +9 -20
- package/frontend/.svelte-kit/adapter-node/chunks/stores.js +0 -17
- package/frontend/.svelte-kit/adapter-node/chunks/theme.js +0 -17
- package/frontend/.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js +0 -17
- package/frontend/.svelte-kit/adapter-node/entries/pages/_layout.js +0 -17
- package/frontend/.svelte-kit/adapter-node/entries/pages/_layout.svelte.js +2 -17
- package/frontend/.svelte-kit/adapter-node/entries/pages/_page.svelte.js +135 -101
- package/frontend/.svelte-kit/adapter-node/entries/pages/login/_page.svelte.js +5 -20
- package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_id_/_page.svelte.js +5 -20
- package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_page.svelte.js +17 -43
- package/frontend/.svelte-kit/adapter-node/entries/pages/reports/live/_page.svelte.js +27 -42
- package/frontend/.svelte-kit/adapter-node/entries/pages/scheduled-tests/_page.svelte.js +68 -50
- package/frontend/.svelte-kit/adapter-node/entries/pages/settings/_page.svelte.js +272 -113
- package/frontend/.svelte-kit/adapter-node/entries/pages/setup/_page.svelte.js +5 -20
- package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/_page.svelte.js +38 -53
- package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/runs/_id_/_page.svelte.js +61 -30
- package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/suites/_id_/_page.svelte.js +19 -35
- package/frontend/.svelte-kit/adapter-node/index.js +0 -17
- package/frontend/.svelte-kit/adapter-node/internal.js +0 -17
- package/frontend/.svelte-kit/adapter-node/manifest-full.js +1 -18
- package/frontend/.svelte-kit/adapter-node/manifest.js +1 -18
- package/frontend/.svelte-kit/adapter-node/nodes/0.js +2 -19
- package/frontend/.svelte-kit/adapter-node/nodes/1.js +1 -18
- package/frontend/.svelte-kit/adapter-node/nodes/10.js +2 -19
- package/frontend/.svelte-kit/adapter-node/nodes/11.js +2 -19
- package/frontend/.svelte-kit/adapter-node/nodes/12.js +2 -19
- package/frontend/.svelte-kit/adapter-node/nodes/2.js +2 -19
- package/frontend/.svelte-kit/adapter-node/nodes/3.js +1 -18
- package/frontend/.svelte-kit/adapter-node/nodes/4.js +2 -19
- package/frontend/.svelte-kit/adapter-node/nodes/5.js +1 -18
- package/frontend/.svelte-kit/adapter-node/nodes/6.js +1 -18
- package/frontend/.svelte-kit/adapter-node/nodes/7.js +2 -19
- package/frontend/.svelte-kit/adapter-node/nodes/8.js +2 -19
- package/frontend/.svelte-kit/adapter-node/nodes/9.js +1 -18
- package/frontend/.svelte-kit/ambient.d.ts +2 -21
- package/frontend/.svelte-kit/generated/client/app.js +0 -17
- package/frontend/.svelte-kit/generated/client/matchers.js +0 -17
- package/frontend/.svelte-kit/generated/client/nodes/0.js +0 -17
- package/frontend/.svelte-kit/generated/client/nodes/1.js +0 -17
- package/frontend/.svelte-kit/generated/client/nodes/10.js +0 -17
- package/frontend/.svelte-kit/generated/client/nodes/11.js +0 -17
- package/frontend/.svelte-kit/generated/client/nodes/12.js +0 -17
- package/frontend/.svelte-kit/generated/client/nodes/2.js +0 -17
- package/frontend/.svelte-kit/generated/client/nodes/3.js +0 -17
- package/frontend/.svelte-kit/generated/client/nodes/4.js +0 -17
- package/frontend/.svelte-kit/generated/client/nodes/5.js +0 -17
- package/frontend/.svelte-kit/generated/client/nodes/6.js +0 -17
- package/frontend/.svelte-kit/generated/client/nodes/7.js +0 -17
- package/frontend/.svelte-kit/generated/client/nodes/8.js +0 -17
- package/frontend/.svelte-kit/generated/client/nodes/9.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/app.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/matchers.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/nodes/0.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/nodes/1.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/nodes/10.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/nodes/11.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/nodes/12.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/nodes/2.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/nodes/3.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/nodes/4.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/nodes/5.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/nodes/6.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/nodes/7.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/nodes/8.js +0 -17
- package/frontend/.svelte-kit/generated/client-optimized/nodes/9.js +0 -17
- package/frontend/.svelte-kit/generated/root.js +0 -17
- package/frontend/.svelte-kit/generated/root.svelte +0 -17
- package/frontend/.svelte-kit/generated/server/internal.js +2 -19
- package/frontend/.svelte-kit/non-ambient.d.ts +0 -17
- package/frontend/.svelte-kit/output/client/.vite/manifest.json +406 -352
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.BhSG-jZH.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/10.CdaQUS6U.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/11.BWAH0Beh.css +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.Bj_a_5lv.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/2.DvMkmYA-.css +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/3.BR3wgXcZ.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/4.0Eln51hV.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.DFV9OgAu.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/6.CFnbmY-D.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/7.CBHi6pzT.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.BwgOqeMo.css +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/9._h2o67kg.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Badge.D1SV0Gv7.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Button.FOWXxvc7.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/EmptyState.DUDM4P19.css +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Modal.BZpm0HP8.css +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Modal.BuaCfdLj.css +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Pagination.DZmi2Po-.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Toast.DENwYn3g.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.BuhMvMUj.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.0Eln51hV.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.5IJAEAjc.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BR3wgXcZ.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BWAH0Beh.css +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BZfe6nWe.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Bj_a_5lv.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BwgOqeMo.css +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CBHi6pzT.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CFnbmY-D.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.DvMkmYA-.css +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page._h2o67kg.css +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/2zMvi6fR.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/3InFPLvE.js +1 -0
- package/frontend/{build/client/_app/immutable/chunks/C67QNx7Z.js → .svelte-kit/output/client/_app/immutable/chunks/BAACMRH5.js} +1 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BAMUGSh7.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BKuh57WU.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{BFEiffAL.js → BUwxRmHf.js} +1 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Bfc47y5P.js +0 -17
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{BVMec-1T.js → BmZ9upwL.js} +1 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C1Vid6wz.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C8OURRSs.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CGeZlCaI.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CKDtmZUQ.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CMBQQ9RZ.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CMEtqUfQ.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CNdcuGR0.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CUC98kMZ.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CgnwuKKO.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Co3xKhEp.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CuqnZUex.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{BkKmeUbA.js → CzlPaHY9.js} +1 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DCgHuuvs.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DHM6H-es.js +2 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DMZwI8Cj.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DMyTUV-Y.js +3 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{B0pefNHY.js → DSLBMEpr.js} +1 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CxTX_lpP.js → DbgD7JLa.js} +1 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Dlnxgs49.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/TOCyHP97.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/nURnIknV.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/t-La0hgu.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/w0D4Uzlq.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.BkBD0hgA.js +2 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/entry/start.BxeX1Uxs.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.ChjDHxSJ.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/1.DBSWa36f.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/10.DEbnxfND.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/11.O4cjXCg4.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.BWQdeRdX.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.BnHalSCi.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3._S1vrLVF.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/4.D-YT_JJe.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.BiFBiWcW.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.BNS-W0R_.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.C-pKvVZy.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.BEUdazrw.js +4 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/9.CrLHYPEJ.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/version.json +1 -1
- package/frontend/.svelte-kit/output/server/.vite/manifest.json +97 -41
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -17
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/Badge.D1SV0Gv7.css +0 -17
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +1 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/EmptyState.DUDM4P19.css +1 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/Modal.BuaCfdLj.css +1 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/Pagination.DZmi2Po-.css +0 -17
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/Toast.DENwYn3g.css +0 -17
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.BuhMvMUj.css +0 -17
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.0Eln51hV.css +0 -17
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.5IJAEAjc.css +0 -17
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BR3wgXcZ.css +0 -17
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BWAH0Beh.css +1 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BZfe6nWe.css +0 -17
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Bj_a_5lv.css +0 -17
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BwgOqeMo.css +1 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CBHi6pzT.css +0 -17
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CFnbmY-D.css +0 -17
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.DvMkmYA-.css +1 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page._h2o67kg.css +0 -17
- package/frontend/.svelte-kit/output/server/chunks/BackLink.js +0 -17
- package/frontend/.svelte-kit/output/server/chunks/Badge.js +1 -18
- package/frontend/.svelte-kit/output/server/chunks/ConfirmModal.js +7 -37
- package/frontend/.svelte-kit/output/server/chunks/EmptyState.js +25 -25
- package/frontend/.svelte-kit/output/server/chunks/Modal.js +21 -0
- package/frontend/.svelte-kit/output/server/chunks/Toast.js +12 -18
- package/frontend/.svelte-kit/output/server/chunks/attributes.js +0 -17
- package/frontend/.svelte-kit/output/server/chunks/auth.js +0 -17
- package/frontend/.svelte-kit/output/server/chunks/auth2.js +8 -0
- package/frontend/.svelte-kit/output/server/chunks/client.js +0 -17
- package/frontend/.svelte-kit/output/server/chunks/common.js +36 -0
- package/frontend/.svelte-kit/output/server/chunks/constants.js +8 -20
- package/frontend/.svelte-kit/output/server/chunks/escaping.js +0 -17
- package/frontend/.svelte-kit/output/server/chunks/exports.js +0 -17
- package/frontend/.svelte-kit/output/server/chunks/format.js +0 -17
- package/frontend/.svelte-kit/output/server/chunks/index-server.js +0 -17
- package/frontend/.svelte-kit/output/server/chunks/index.js +4 -21
- package/frontend/.svelte-kit/output/server/chunks/index2.js +0 -17
- package/frontend/.svelte-kit/output/server/chunks/internal.js +2 -19
- package/frontend/.svelte-kit/output/server/chunks/reports.js +0 -17
- package/frontend/.svelte-kit/output/server/chunks/reports2.js +87 -0
- package/frontend/.svelte-kit/output/server/chunks/repository.js +87 -0
- package/frontend/.svelte-kit/output/server/chunks/runner.js +9 -20
- package/frontend/.svelte-kit/output/server/chunks/stores.js +0 -17
- package/frontend/.svelte-kit/output/server/chunks/theme.js +0 -17
- package/frontend/.svelte-kit/output/server/entries/fallbacks/error.svelte.js +0 -17
- package/frontend/.svelte-kit/output/server/entries/pages/_layout.js +0 -17
- package/frontend/.svelte-kit/output/server/entries/pages/_layout.svelte.js +2 -17
- package/frontend/.svelte-kit/output/server/entries/pages/_page.svelte.js +135 -101
- package/frontend/.svelte-kit/output/server/entries/pages/login/_page.svelte.js +5 -20
- package/frontend/.svelte-kit/output/server/entries/pages/reports/_id_/_page.svelte.js +5 -20
- package/frontend/.svelte-kit/output/server/entries/pages/reports/_page.svelte.js +17 -43
- package/frontend/.svelte-kit/output/server/entries/pages/reports/live/_page.svelte.js +27 -42
- package/frontend/.svelte-kit/output/server/entries/pages/scheduled-tests/_page.svelte.js +68 -50
- package/frontend/.svelte-kit/output/server/entries/pages/settings/_page.svelte.js +272 -113
- package/frontend/.svelte-kit/output/server/entries/pages/setup/_page.svelte.js +5 -20
- package/frontend/.svelte-kit/output/server/entries/pages/test-repository/_page.svelte.js +38 -53
- package/frontend/.svelte-kit/output/server/entries/pages/test-repository/runs/_id_/_page.svelte.js +61 -30
- package/frontend/.svelte-kit/output/server/entries/pages/test-repository/suites/_id_/_page.svelte.js +19 -35
- package/frontend/.svelte-kit/output/server/index.js +0 -17
- package/frontend/.svelte-kit/output/server/internal.js +0 -17
- package/frontend/.svelte-kit/output/server/manifest-full.js +1 -18
- package/frontend/.svelte-kit/output/server/manifest.js +1 -18
- package/frontend/.svelte-kit/output/server/nodes/0.js +2 -19
- package/frontend/.svelte-kit/output/server/nodes/1.js +1 -18
- package/frontend/.svelte-kit/output/server/nodes/10.js +2 -19
- package/frontend/.svelte-kit/output/server/nodes/11.js +2 -19
- package/frontend/.svelte-kit/output/server/nodes/12.js +2 -19
- package/frontend/.svelte-kit/output/server/nodes/2.js +2 -19
- package/frontend/.svelte-kit/output/server/nodes/3.js +1 -18
- package/frontend/.svelte-kit/output/server/nodes/4.js +2 -19
- package/frontend/.svelte-kit/output/server/nodes/5.js +1 -18
- package/frontend/.svelte-kit/output/server/nodes/6.js +1 -18
- package/frontend/.svelte-kit/output/server/nodes/7.js +2 -19
- package/frontend/.svelte-kit/output/server/nodes/8.js +2 -19
- package/frontend/.svelte-kit/output/server/nodes/9.js +1 -18
- package/frontend/Dockerfile +1 -13
- package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css +0 -17
- 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 -17
- 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/11.BWAH0Beh.css +1 -0
- package/frontend/build/client/_app/immutable/assets/11.BWAH0Beh.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/11.BWAH0Beh.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css +0 -17
- 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/2.DvMkmYA-.css +1 -0
- package/frontend/build/client/_app/immutable/assets/2.DvMkmYA-.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/2.DvMkmYA-.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/3.BR3wgXcZ.css +0 -17
- package/frontend/build/client/_app/immutable/assets/3.BR3wgXcZ.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/3.BR3wgXcZ.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css +0 -17
- 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 -17
- 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 -17
- 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/7.CBHi6pzT.css +0 -17
- package/frontend/build/client/_app/immutable/assets/7.CBHi6pzT.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/7.CBHi6pzT.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css +1 -0
- 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/9._h2o67kg.css +0 -17
- package/frontend/build/client/_app/immutable/assets/9._h2o67kg.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/9._h2o67kg.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -17
- 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/Badge.D1SV0Gv7.css +0 -17
- package/frontend/build/client/_app/immutable/assets/Badge.D1SV0Gv7.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/Badge.D1SV0Gv7.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css +0 -17
- 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/ConfirmModal.Dd3uP-Sk.css +1 -0
- package/frontend/build/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/EmptyState.DUDM4P19.css +1 -0
- package/frontend/build/client/_app/immutable/assets/EmptyState.DUDM4P19.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/EmptyState.DUDM4P19.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/Modal.BZpm0HP8.css +1 -0
- package/frontend/build/client/_app/immutable/assets/Modal.BZpm0HP8.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/Modal.BZpm0HP8.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/Modal.BuaCfdLj.css +1 -0
- package/frontend/build/client/_app/immutable/assets/Modal.BuaCfdLj.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/Modal.BuaCfdLj.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/Pagination.DZmi2Po-.css +0 -17
- package/frontend/build/client/_app/immutable/assets/Pagination.DZmi2Po-.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/Pagination.DZmi2Po-.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css +0 -17
- 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 -17
- 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 -17
- 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 -17
- 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.BR3wgXcZ.css +0 -17
- package/frontend/build/client/_app/immutable/assets/_page.BR3wgXcZ.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BR3wgXcZ.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BWAH0Beh.css +1 -0
- package/frontend/build/client/_app/immutable/assets/_page.BWAH0Beh.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BWAH0Beh.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css +0 -17
- 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 -17
- 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 +1 -0
- 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.CBHi6pzT.css +0 -17
- package/frontend/build/client/_app/immutable/assets/_page.CBHi6pzT.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.CBHi6pzT.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css +0 -17
- 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/assets/_page.DvMkmYA-.css +1 -0
- package/frontend/build/client/_app/immutable/assets/_page.DvMkmYA-.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.DvMkmYA-.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page._h2o67kg.css +0 -17
- package/frontend/build/client/_app/immutable/assets/_page._h2o67kg.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page._h2o67kg.css.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/2zMvi6fR.js +1 -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 +1 -0
- 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/{.svelte-kit/output/client/_app/immutable/chunks/C67QNx7Z.js → build/client/_app/immutable/chunks/BAACMRH5.js} +1 -18
- 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 +1 -0
- 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 +1 -0
- 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/{BFEiffAL.js → BUwxRmHf.js} +1 -18
- 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/Bfc47y5P.js +0 -17
- package/frontend/build/client/_app/immutable/chunks/Bfc47y5P.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/Bfc47y5P.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{BVMec-1T.js → BmZ9upwL.js} +1 -18
- 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 +1 -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 +1 -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 +1 -0
- 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 +1 -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 +1 -0
- 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 +1 -0
- package/frontend/build/client/_app/immutable/chunks/CMEtqUfQ.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CMEtqUfQ.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CNdcuGR0.js +1 -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 +1 -0
- 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 +1 -0
- package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/Co3xKhEp.js +1 -0
- 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 +1 -0
- package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.br +1 -0
- package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{BkKmeUbA.js → CzlPaHY9.js} +1 -18
- 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 +1 -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/DHM6H-es.js +2 -0
- 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 +1 -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/DMyTUV-Y.js +3 -0
- package/frontend/build/client/_app/immutable/chunks/DMyTUV-Y.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DMyTUV-Y.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{B0pefNHY.js → DSLBMEpr.js} +1 -18
- 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/{CxTX_lpP.js → DbgD7JLa.js} +1 -18
- 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/Dlnxgs49.js +1 -0
- package/frontend/build/client/_app/immutable/chunks/Dlnxgs49.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/Dlnxgs49.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js +6 -0
- 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/nURnIknV.js +1 -0
- package/frontend/build/client/_app/immutable/chunks/nURnIknV.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/nURnIknV.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/t-La0hgu.js +1 -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 +1 -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.BkBD0hgA.js +2 -0
- package/frontend/build/client/_app/immutable/entry/app.BkBD0hgA.js.br +0 -0
- package/frontend/build/client/_app/immutable/entry/app.BkBD0hgA.js.gz +0 -0
- package/frontend/build/client/_app/immutable/entry/start.BxeX1Uxs.js +1 -0
- package/frontend/build/client/_app/immutable/entry/start.BxeX1Uxs.js.br +2 -0
- package/frontend/build/client/_app/immutable/entry/start.BxeX1Uxs.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.ChjDHxSJ.js +6 -0
- package/frontend/build/client/_app/immutable/nodes/0.ChjDHxSJ.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.ChjDHxSJ.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.DBSWa36f.js +1 -0
- package/frontend/build/client/_app/immutable/nodes/1.DBSWa36f.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.DBSWa36f.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.DEbnxfND.js +1 -0
- package/frontend/build/client/_app/immutable/nodes/10.DEbnxfND.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.DEbnxfND.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.O4cjXCg4.js +1 -0
- package/frontend/build/client/_app/immutable/nodes/11.O4cjXCg4.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.O4cjXCg4.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.BWQdeRdX.js +1 -0
- package/frontend/build/client/_app/immutable/nodes/12.BWQdeRdX.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.BWQdeRdX.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.BnHalSCi.js +1 -0
- package/frontend/build/client/_app/immutable/nodes/2.BnHalSCi.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.BnHalSCi.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/3._S1vrLVF.js +1 -0
- package/frontend/build/client/_app/immutable/nodes/3._S1vrLVF.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/3._S1vrLVF.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.D-YT_JJe.js +1 -0
- 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.BiFBiWcW.js +1 -0
- package/frontend/build/client/_app/immutable/nodes/5.BiFBiWcW.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.BiFBiWcW.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.BNS-W0R_.js +1 -0
- package/frontend/build/client/_app/immutable/nodes/6.BNS-W0R_.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.BNS-W0R_.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.C-pKvVZy.js +1 -0
- 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.BEUdazrw.js +4 -0
- package/frontend/build/client/_app/immutable/nodes/8.BEUdazrw.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.BEUdazrw.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.CrLHYPEJ.js +1 -0
- package/frontend/build/client/_app/immutable/nodes/9.CrLHYPEJ.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.CrLHYPEJ.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/env.js +0 -17
- package/frontend/build/handler.js +0 -17
- package/frontend/build/index.js +0 -17
- package/frontend/build/server/chunks/0-Cn_2hzqk.js +17 -0
- package/frontend/build/server/chunks/0-Cn_2hzqk.js.map +1 -0
- package/frontend/build/server/chunks/1-BrRGJFSB.js +9 -0
- package/frontend/build/server/chunks/1-BrRGJFSB.js.map +1 -0
- package/frontend/build/server/chunks/10-l6_ikL_D.js +9 -0
- package/frontend/build/server/chunks/10-l6_ikL_D.js.map +1 -0
- package/frontend/build/server/chunks/11-BLPbHJqB.js +9 -0
- package/frontend/build/server/chunks/11-BLPbHJqB.js.map +1 -0
- package/frontend/build/server/chunks/12-S1ujUrHy.js +9 -0
- package/frontend/build/server/chunks/12-S1ujUrHy.js.map +1 -0
- package/frontend/build/server/chunks/2-Cte30Dgy.js +9 -0
- package/frontend/build/server/chunks/2-Cte30Dgy.js.map +1 -0
- package/frontend/build/server/chunks/3-BHkXVoNI.js +9 -0
- package/frontend/build/server/chunks/3-BHkXVoNI.js.map +1 -0
- package/frontend/build/server/chunks/4-Bo04DC5Z.js +9 -0
- package/frontend/build/server/chunks/4-Bo04DC5Z.js.map +1 -0
- package/frontend/build/server/chunks/5-F1ZsXMt2.js +9 -0
- package/frontend/build/server/chunks/5-F1ZsXMt2.js.map +1 -0
- package/frontend/build/server/chunks/6-FlZLnYJ6.js +9 -0
- package/frontend/build/server/chunks/6-FlZLnYJ6.js.map +1 -0
- package/frontend/build/server/chunks/7-DiQJZEF_.js +9 -0
- package/frontend/build/server/chunks/7-DiQJZEF_.js.map +1 -0
- package/frontend/build/server/chunks/8-DXReUGxi.js +9 -0
- package/frontend/build/server/chunks/8-DXReUGxi.js.map +1 -0
- package/frontend/build/server/chunks/9-Cy_mGmt4.js +9 -0
- package/frontend/build/server/chunks/9-Cy_mGmt4.js.map +1 -0
- package/frontend/build/server/chunks/BackLink-BJ8NaemM.js +13 -0
- package/frontend/build/server/chunks/{BackLink-KxZNqsaq.js.map → BackLink-BJ8NaemM.js.map} +1 -17
- package/frontend/build/server/chunks/Badge-44ZTDx0V.js +13 -0
- package/frontend/build/server/chunks/{Badge-B5V-z6pI.js.map → Badge-44ZTDx0V.js.map} +1 -17
- package/frontend/build/server/chunks/ConfirmModal-C0EAXcq_.js +44 -0
- package/frontend/build/server/chunks/ConfirmModal-C0EAXcq_.js.map +1 -0
- package/frontend/build/server/chunks/EmptyState-BA_eXaeR.js +34 -0
- package/frontend/build/server/chunks/EmptyState-BA_eXaeR.js.map +1 -0
- package/frontend/build/server/chunks/Modal-DChG187n.js +21 -0
- package/frontend/build/server/chunks/Modal-DChG187n.js.map +1 -0
- package/frontend/build/server/chunks/Toast-v-q4ZnYq.js +30 -0
- package/frontend/build/server/chunks/Toast-v-q4ZnYq.js.map +1 -0
- package/frontend/build/server/chunks/_layout.svelte-CHVI3Prt.js +24 -0
- package/frontend/build/server/chunks/_layout.svelte-CHVI3Prt.js.map +1 -0
- package/frontend/build/server/chunks/{_page.svelte-LcJmR5du.js → _page.svelte-1as75nPc.js} +28 -51
- package/frontend/build/server/chunks/_page.svelte-1as75nPc.js.map +1 -0
- package/frontend/build/server/chunks/_page.svelte-1jo8MapI.js +96 -0
- package/frontend/build/server/chunks/_page.svelte-1jo8MapI.js.map +1 -0
- package/frontend/build/server/chunks/{_page.svelte-C0vstY93.js → _page.svelte-BuFusRK1.js} +74 -56
- package/frontend/build/server/chunks/_page.svelte-BuFusRK1.js.map +1 -0
- package/frontend/build/server/chunks/{_page.svelte-gnktnXKP.js → _page.svelte-CAVyp70V.js} +37 -51
- package/frontend/build/server/chunks/_page.svelte-CAVyp70V.js.map +1 -0
- package/frontend/build/server/chunks/{_page.svelte-CC27sZag.js → _page.svelte-CB8-QBNg.js} +42 -57
- package/frontend/build/server/chunks/_page.svelte-CB8-QBNg.js.map +1 -0
- package/frontend/build/server/chunks/{_page.svelte-DqWsUJRp.js → _page.svelte-CWWeZuid.js} +24 -40
- package/frontend/build/server/chunks/_page.svelte-CWWeZuid.js.map +1 -0
- package/frontend/build/server/chunks/_page.svelte-CpB-fgJl.js +219 -0
- package/frontend/build/server/chunks/_page.svelte-CpB-fgJl.js.map +1 -0
- package/frontend/build/server/chunks/_page.svelte-D3E6Eojd.js +27 -0
- package/frontend/build/server/chunks/_page.svelte-D3E6Eojd.js.map +1 -0
- package/frontend/build/server/chunks/_page.svelte-Kg69DDaM.js +27 -0
- package/frontend/build/server/chunks/_page.svelte-Kg69DDaM.js.map +1 -0
- package/frontend/build/server/chunks/{_page.svelte-BETENC2e.js → _page.svelte-L9fuiN_q.js} +13 -28
- package/frontend/build/server/chunks/_page.svelte-L9fuiN_q.js.map +1 -0
- package/frontend/build/server/chunks/_page.svelte-wKyUmA2e.js +724 -0
- package/frontend/build/server/chunks/_page.svelte-wKyUmA2e.js.map +1 -0
- package/frontend/build/server/chunks/attributes-BeaNKpgU.js +0 -17
- package/frontend/build/server/chunks/attributes-BeaNKpgU.js.map +0 -16
- package/frontend/build/server/chunks/{auth-rlH-cIzn.js → auth-Chw-wBpI.js} +2 -19
- package/frontend/build/server/chunks/{auth-rlH-cIzn.js.map → auth-Chw-wBpI.js.map} +1 -17
- package/frontend/build/server/chunks/auth2-C02yYDpz.js +6 -0
- package/frontend/build/server/chunks/auth2-C02yYDpz.js.map +1 -0
- package/frontend/build/server/chunks/{client-DyII78e0.js → client-DEmxR_a-.js} +2 -19
- package/frontend/build/server/chunks/{client-DyII78e0.js.map → client-DEmxR_a-.js.map} +1 -17
- package/frontend/build/server/chunks/common-DYYTVHPw.js +21 -0
- package/frontend/build/server/chunks/common-DYYTVHPw.js.map +1 -0
- package/frontend/build/server/chunks/constants-CXTaQaB6.js +22 -0
- package/frontend/build/server/chunks/constants-CXTaQaB6.js.map +1 -0
- package/frontend/build/server/chunks/error.svelte-BD3xNemk.js +28 -0
- package/frontend/build/server/chunks/{error.svelte-BDW3iP1O.js.map → error.svelte-BD3xNemk.js.map} +1 -17
- package/frontend/build/server/chunks/escaping-CqgfEcN3.js +0 -17
- package/frontend/build/server/chunks/escaping-CqgfEcN3.js.map +0 -16
- package/frontend/build/server/chunks/exports-D0QHgeSL.js +0 -17
- package/frontend/build/server/chunks/exports-D0QHgeSL.js.map +0 -16
- package/frontend/build/server/chunks/{format-D26ZQccb.js → format-CiNRMfHu.js} +2 -19
- package/frontend/build/server/chunks/{format-D26ZQccb.js.map → format-CiNRMfHu.js.map} +1 -17
- package/frontend/build/server/chunks/index-server-B3M9vyh2.js +14 -0
- package/frontend/build/server/chunks/index-server-B3M9vyh2.js.map +1 -0
- package/frontend/build/server/chunks/{index2-DG8XHU5D.js → index2-5R1tbrep.js} +2 -19
- package/frontend/build/server/chunks/{index2-DG8XHU5D.js.map → index2-5R1tbrep.js.map} +1 -17
- package/frontend/build/server/chunks/reports-D_ApeeNh.js +23 -0
- package/frontend/build/server/chunks/{reports-Bgi7V5N7.js.map → reports-D_ApeeNh.js.map} +1 -17
- package/frontend/build/server/chunks/reports2-BtElN_53.js +47 -0
- package/frontend/build/server/chunks/reports2-BtElN_53.js.map +1 -0
- package/frontend/build/server/chunks/repository-FYYV_vKE.js +47 -0
- package/frontend/build/server/chunks/repository-FYYV_vKE.js.map +1 -0
- package/frontend/build/server/chunks/runner-DC7hXbnY.js +32 -0
- package/frontend/build/server/chunks/runner-DC7hXbnY.js.map +1 -0
- package/frontend/build/server/chunks/stores-BLenR3c1.js +27 -0
- package/frontend/build/server/chunks/{stores-DlkXV308.js.map → stores-BLenR3c1.js.map} +1 -17
- package/frontend/build/server/chunks/theme-nAx-GvX_.js +10 -0
- package/frontend/build/server/chunks/theme-nAx-GvX_.js.map +1 -0
- package/frontend/build/server/index.js +3 -20
- package/frontend/build/server/index.js.map +1 -17
- package/frontend/build/server/manifest.js +14 -31
- package/frontend/build/server/manifest.js.map +1 -17
- package/frontend/build/shims.js +0 -17
- package/frontend/package.json +1 -0
- package/frontend/src/app.css +1 -13
- package/frontend/src/app.html +1 -13
- package/frontend/src/lib/api/activeRuns.js +18 -0
- package/frontend/src/lib/api/auth.js +1 -13
- package/frontend/src/lib/api/reports.js +1 -13
- package/frontend/src/lib/api/repository.js +1 -13
- package/frontend/src/lib/api/runners.js +26 -21
- package/frontend/src/lib/api/schedules.js +1 -13
- package/frontend/src/lib/api/settings.js +11 -23
- package/frontend/src/lib/api/tests.js +1 -13
- package/frontend/src/lib/api/users.js +1 -13
- package/frontend/src/lib/components/icons/BrowserIcon.svelte +1 -13
- package/frontend/src/lib/components/layout/Nav.svelte +1 -13
- package/frontend/src/lib/components/layout/PageShell.svelte +1 -13
- package/frontend/src/lib/components/layout/RunnerPanel.svelte +146 -105
- package/frontend/src/lib/components/ui/AutomatedBadge.svelte +2 -31
- package/frontend/src/lib/components/ui/BackLink.svelte +1 -30
- package/frontend/src/lib/components/ui/Badge.svelte +1 -13
- package/frontend/src/lib/components/ui/Button.svelte +1 -13
- package/frontend/src/lib/components/ui/CaseIdChip.svelte +1 -30
- package/frontend/src/lib/components/ui/ConfirmModal.svelte +8 -17
- package/frontend/src/lib/components/ui/EmptyState.svelte +26 -15
- package/frontend/src/lib/components/ui/Modal.svelte +1 -13
- package/frontend/src/lib/components/ui/Pagination.svelte +1 -13
- package/frontend/src/lib/components/ui/PriorityBadge.svelte +1 -30
- package/frontend/src/lib/components/ui/ResultChip.svelte +1 -30
- package/frontend/src/lib/components/ui/StatusDot.svelte +1 -30
- package/frontend/src/lib/components/ui/StepKeyword.svelte +1 -30
- package/frontend/src/lib/components/ui/StepStatusIcon.svelte +1 -30
- package/frontend/src/lib/components/ui/TagChip.svelte +1 -30
- package/frontend/src/lib/components/ui/Terminal.svelte +1 -13
- package/frontend/src/lib/components/ui/Toast.svelte +1 -13
- package/frontend/src/lib/constants.js +5 -17
- package/frontend/src/lib/copy/auth.js +29 -0
- package/frontend/src/lib/copy/common.js +39 -0
- package/frontend/src/lib/copy/dashboard.js +28 -0
- package/frontend/src/lib/copy/reports.js +83 -0
- package/frontend/src/lib/copy/repository.js +153 -0
- package/frontend/src/lib/copy/runners.js +59 -0
- package/frontend/src/lib/copy/schedules.js +96 -0
- package/frontend/src/lib/copy/settings.js +295 -0
- package/frontend/src/lib/index.js +1 -13
- package/frontend/src/lib/socketEvents.js +36 -0
- package/frontend/src/lib/stores/auth.js +1 -13
- package/frontend/src/lib/stores/runner.js +10 -18
- package/frontend/src/lib/stores/theme.js +1 -13
- package/frontend/src/lib/styles/global.css +1 -13
- package/frontend/src/lib/styles/reset.css +1 -13
- package/frontend/src/lib/styles/tokens.css +1 -13
- package/frontend/src/lib/utils/format.js +1 -13
- package/frontend/src/routes/+layout.js +1 -13
- package/frontend/src/routes/+layout.svelte +1 -13
- package/frontend/src/routes/+page.svelte +296 -115
- package/frontend/src/routes/login/+page.svelte +22 -23
- package/frontend/src/routes/reports/+page.svelte +37 -38
- package/frontend/src/routes/reports/[id]/+page.svelte +54 -43
- package/frontend/src/routes/reports/live/+page.svelte +57 -42
- package/frontend/src/routes/scheduled-tests/+page.svelte +134 -117
- package/frontend/src/routes/settings/+page.svelte +490 -267
- package/frontend/src/routes/setup/+page.svelte +30 -27
- package/frontend/src/routes/test-repository/+page.svelte +120 -91
- package/frontend/src/routes/test-repository/runs/[id]/+page.svelte +95 -60
- package/frontend/src/routes/test-repository/suites/[id]/+page.svelte +145 -91
- package/frontend/svelte.config.js +1 -13
- package/frontend/vite.config.js +1 -13
- package/package.json +3 -2
- package/resources/mit-license.txt +2 -0
- package/backend/scripts/create-test.js +0 -149
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/ConfirmModal.CdhOYVBb.css +0 -18
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/EmptyState.BdO1q9cJ.css +0 -18
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BJ-I1gHO.css +0 -18
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Bhof07Eg.css +0 -18
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CrXpMrqh.css +0 -18
- package/frontend/.svelte-kit/adapter-node/chunks/Button.js +0 -33
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/11.BJ-I1gHO.css +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/2.CrXpMrqh.css +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.Bhof07Eg.css +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/EmptyState.BdO1q9cJ.css +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BJ-I1gHO.css +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Bhof07Eg.css +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CrXpMrqh.css +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BFgtfHj2.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BIRVeCLU.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BKCNyxZ2.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BLAiBE__.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BeO8veBd.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BgNaeXAp.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C3SY6-sX.js +0 -19
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C4eeChIU.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CVV6HrFb.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CstKKb9b.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CyQ_oBw2.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DGryW1Vp.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DIx44H9N.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DP6QP4L6.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DmRbbcS3.js +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/IFIFk6zi.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/KJdjlibc.js +0 -20
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/ll-VsEGv.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/raHbXn_9.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/uFRI_bmR.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.Dz_CBZcR.js +0 -19
- package/frontend/.svelte-kit/output/client/_app/immutable/entry/start.MMlC62np.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.CKD9Qja6.js +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/1.Dbck5ct8.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/10.BfmGpmC1.js +0 -19
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/11.C7l9HPom.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.Iu9bcGdC.js +0 -19
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.BqQhRvYh.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.BZRTKadS.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/4.BfKoPKdM.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.B4a2uCWn.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.CI508CMS.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.3x_eiof1.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.BfUuob4H.js +0 -29
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/9.BZhCKRJe.js +0 -18
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/ConfirmModal.CdhOYVBb.css +0 -18
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/EmptyState.BdO1q9cJ.css +0 -18
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BJ-I1gHO.css +0 -18
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Bhof07Eg.css +0 -18
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CrXpMrqh.css +0 -18
- package/frontend/.svelte-kit/output/server/chunks/Button.js +0 -33
- package/frontend/build/client/_app/immutable/assets/11.BJ-I1gHO.css +0 -18
- package/frontend/build/client/_app/immutable/assets/11.BJ-I1gHO.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/11.BJ-I1gHO.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/2.CrXpMrqh.css +0 -18
- package/frontend/build/client/_app/immutable/assets/2.CrXpMrqh.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/2.CrXpMrqh.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/8.Bhof07Eg.css +0 -18
- package/frontend/build/client/_app/immutable/assets/8.Bhof07Eg.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/8.Bhof07Eg.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css +0 -18
- package/frontend/build/client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css +0 -18
- package/frontend/build/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/EmptyState.BdO1q9cJ.css +0 -18
- package/frontend/build/client/_app/immutable/assets/EmptyState.BdO1q9cJ.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/EmptyState.BdO1q9cJ.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BJ-I1gHO.css +0 -18
- package/frontend/build/client/_app/immutable/assets/_page.BJ-I1gHO.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BJ-I1gHO.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.Bhof07Eg.css +0 -18
- package/frontend/build/client/_app/immutable/assets/_page.Bhof07Eg.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.Bhof07Eg.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.CrXpMrqh.css +0 -18
- package/frontend/build/client/_app/immutable/assets/_page.CrXpMrqh.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.CrXpMrqh.css.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/B0pefNHY.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/B0pefNHY.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BFEiffAL.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BFEiffAL.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BFgtfHj2.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/BFgtfHj2.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BFgtfHj2.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BIRVeCLU.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/BIRVeCLU.js.br +0 -20
- package/frontend/build/client/_app/immutable/chunks/BIRVeCLU.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BKCNyxZ2.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/BKCNyxZ2.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BKCNyxZ2.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BLAiBE__.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/BLAiBE__.js.br +0 -18
- package/frontend/build/client/_app/immutable/chunks/BLAiBE__.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BVMec-1T.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BVMec-1T.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BeO8veBd.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/BeO8veBd.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BeO8veBd.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BgNaeXAp.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/BgNaeXAp.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BgNaeXAp.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BkKmeUbA.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BkKmeUbA.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/C3SY6-sX.js +0 -19
- package/frontend/build/client/_app/immutable/chunks/C3SY6-sX.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C3SY6-sX.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/C4eeChIU.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/C4eeChIU.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C4eeChIU.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/C67QNx7Z.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C67QNx7Z.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CVV6HrFb.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/CVV6HrFb.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CVV6HrFb.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CstKKb9b.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/CstKKb9b.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CstKKb9b.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CxTX_lpP.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CxTX_lpP.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CyQ_oBw2.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/CyQ_oBw2.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CyQ_oBw2.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DGryW1Vp.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/DGryW1Vp.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DGryW1Vp.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DIx44H9N.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/DIx44H9N.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DIx44H9N.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DP6QP4L6.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/DP6QP4L6.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DP6QP4L6.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DmRbbcS3.js +0 -23
- package/frontend/build/client/_app/immutable/chunks/DmRbbcS3.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DmRbbcS3.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/IFIFk6zi.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/IFIFk6zi.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/IFIFk6zi.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/KJdjlibc.js +0 -20
- package/frontend/build/client/_app/immutable/chunks/KJdjlibc.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/KJdjlibc.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/ll-VsEGv.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/ll-VsEGv.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/ll-VsEGv.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/raHbXn_9.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/raHbXn_9.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/raHbXn_9.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/uFRI_bmR.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/uFRI_bmR.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/uFRI_bmR.js.gz +0 -0
- package/frontend/build/client/_app/immutable/entry/app.Dz_CBZcR.js +0 -19
- package/frontend/build/client/_app/immutable/entry/app.Dz_CBZcR.js.br +0 -0
- package/frontend/build/client/_app/immutable/entry/app.Dz_CBZcR.js.gz +0 -0
- package/frontend/build/client/_app/immutable/entry/start.MMlC62np.js +0 -18
- package/frontend/build/client/_app/immutable/entry/start.MMlC62np.js.br +0 -18
- package/frontend/build/client/_app/immutable/entry/start.MMlC62np.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.CKD9Qja6.js +0 -23
- package/frontend/build/client/_app/immutable/nodes/0.CKD9Qja6.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.CKD9Qja6.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.Dbck5ct8.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/1.Dbck5ct8.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.Dbck5ct8.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.BfmGpmC1.js +0 -19
- package/frontend/build/client/_app/immutable/nodes/10.BfmGpmC1.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.BfmGpmC1.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.C7l9HPom.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/11.C7l9HPom.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.C7l9HPom.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.Iu9bcGdC.js +0 -19
- package/frontend/build/client/_app/immutable/nodes/12.Iu9bcGdC.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.Iu9bcGdC.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.BqQhRvYh.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/2.BqQhRvYh.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.BqQhRvYh.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.BZRTKadS.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/3.BZRTKadS.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.BZRTKadS.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.BfKoPKdM.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/4.BfKoPKdM.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.BfKoPKdM.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.B4a2uCWn.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/5.B4a2uCWn.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.B4a2uCWn.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.CI508CMS.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/6.CI508CMS.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.CI508CMS.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.3x_eiof1.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/7.3x_eiof1.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.3x_eiof1.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.BfUuob4H.js +0 -29
- package/frontend/build/client/_app/immutable/nodes/8.BfUuob4H.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.BfUuob4H.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.BZhCKRJe.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/9.BZhCKRJe.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.BZhCKRJe.js.gz +0 -0
- package/frontend/build/server/chunks/0-Dzas6zkl.js +0 -34
- package/frontend/build/server/chunks/0-Dzas6zkl.js.map +0 -17
- package/frontend/build/server/chunks/1-B4EsP8yr.js +0 -26
- package/frontend/build/server/chunks/1-B4EsP8yr.js.map +0 -17
- package/frontend/build/server/chunks/10-UhDQZ5BY.js +0 -26
- package/frontend/build/server/chunks/10-UhDQZ5BY.js.map +0 -17
- package/frontend/build/server/chunks/11-mTH3nQlX.js +0 -26
- package/frontend/build/server/chunks/11-mTH3nQlX.js.map +0 -17
- package/frontend/build/server/chunks/12-9mg6kp53.js +0 -26
- package/frontend/build/server/chunks/12-9mg6kp53.js.map +0 -17
- package/frontend/build/server/chunks/2-Bkz8H7CT.js +0 -26
- package/frontend/build/server/chunks/2-Bkz8H7CT.js.map +0 -17
- package/frontend/build/server/chunks/3-DDtaiqu7.js +0 -26
- package/frontend/build/server/chunks/3-DDtaiqu7.js.map +0 -17
- package/frontend/build/server/chunks/4-DbdkTAvS.js +0 -26
- package/frontend/build/server/chunks/4-DbdkTAvS.js.map +0 -17
- package/frontend/build/server/chunks/5-CK5hY2WF.js +0 -26
- package/frontend/build/server/chunks/5-CK5hY2WF.js.map +0 -17
- package/frontend/build/server/chunks/6-Cps9fL3Z.js +0 -26
- package/frontend/build/server/chunks/6-Cps9fL3Z.js.map +0 -17
- package/frontend/build/server/chunks/7-CgUpbaJD.js +0 -26
- package/frontend/build/server/chunks/7-CgUpbaJD.js.map +0 -17
- package/frontend/build/server/chunks/8-dilaVKYo.js +0 -26
- package/frontend/build/server/chunks/8-dilaVKYo.js.map +0 -17
- package/frontend/build/server/chunks/9-CUJxgoIN.js +0 -26
- package/frontend/build/server/chunks/9-CUJxgoIN.js.map +0 -17
- package/frontend/build/server/chunks/BackLink-KxZNqsaq.js +0 -30
- package/frontend/build/server/chunks/Badge-B5V-z6pI.js +0 -30
- package/frontend/build/server/chunks/Button-CuacyA7Y.js +0 -33
- package/frontend/build/server/chunks/Button-CuacyA7Y.js.map +0 -17
- package/frontend/build/server/chunks/ConfirmModal-DBtnLLsU.js +0 -73
- package/frontend/build/server/chunks/ConfirmModal-DBtnLLsU.js.map +0 -17
- package/frontend/build/server/chunks/EmptyState-B74-VZ15.js +0 -34
- package/frontend/build/server/chunks/EmptyState-B74-VZ15.js.map +0 -17
- package/frontend/build/server/chunks/Toast-DDF2wi_5.js +0 -37
- package/frontend/build/server/chunks/Toast-DDF2wi_5.js.map +0 -17
- package/frontend/build/server/chunks/_layout.svelte-DoJXDbP1.js +0 -39
- package/frontend/build/server/chunks/_layout.svelte-DoJXDbP1.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-BETENC2e.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-C0vstY93.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-CC27sZag.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-CYkOPxn2.js +0 -183
- package/frontend/build/server/chunks/_page.svelte-CYkOPxn2.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-CperUuP9.js +0 -564
- package/frontend/build/server/chunks/_page.svelte-CperUuP9.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-CwrCf0C8.js +0 -65
- package/frontend/build/server/chunks/_page.svelte-CwrCf0C8.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-DALHRFEX.js +0 -43
- package/frontend/build/server/chunks/_page.svelte-DALHRFEX.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-DNNyBx4y.js +0 -43
- package/frontend/build/server/chunks/_page.svelte-DNNyBx4y.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-DqWsUJRp.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-LcJmR5du.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-gnktnXKP.js.map +0 -17
- package/frontend/build/server/chunks/constants-Drz-Vo39.js +0 -35
- package/frontend/build/server/chunks/constants-Drz-Vo39.js.map +0 -17
- package/frontend/build/server/chunks/error.svelte-BDW3iP1O.js +0 -45
- package/frontend/build/server/chunks/index-server-Dr2Nvcmu.js +0 -31
- package/frontend/build/server/chunks/index-server-Dr2Nvcmu.js.map +0 -17
- package/frontend/build/server/chunks/reports-Bgi7V5N7.js +0 -40
- package/frontend/build/server/chunks/runner-D18Ml_vF.js +0 -42
- package/frontend/build/server/chunks/runner-D18Ml_vF.js.map +0 -17
- package/frontend/build/server/chunks/stores-DlkXV308.js +0 -44
- package/frontend/build/server/chunks/theme-D_NKm6iI.js +0 -27
- package/frontend/build/server/chunks/theme-D_NKm6iI.js.map +0 -17
- package/resources/gpl-3.0-license.txt +0 -14
|
@@ -1,38 +1,185 @@
|
|
|
1
|
-
|
|
2
|
-
* This file is part of Plum.
|
|
3
|
-
*
|
|
4
|
-
* Plum is free software: you can redistribute it and/or modify
|
|
5
|
-
* it under the terms of the GNU General Public License as published by
|
|
6
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
7
|
-
* (at your option) any later version.
|
|
8
|
-
*
|
|
9
|
-
* Plum is distributed in the hope that it will be useful,
|
|
10
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
-
* GNU General Public License for more details.
|
|
13
|
-
*
|
|
14
|
-
* You should have received a copy of the GNU General Public License
|
|
15
|
-
* along with Plum. If not, see https://www.gnu.org/licenses/.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
import { X as store_get, a2 as copy_payload, a3 as assign_payload, $ as unsubscribe_stores, p as pop, a as push, Z as ensure_array_like, Y as head, _ as stringify } from "../../../chunks/index.js";
|
|
1
|
+
import { _ as store_get, a2 as copy_payload, a3 as assign_payload, $ as unsubscribe_stores, p as pop, a as push, Y as ensure_array_like, X as head, Z as stringify } from "../../../chunks/index.js";
|
|
19
2
|
import "../../../chunks/client.js";
|
|
20
|
-
import {
|
|
3
|
+
import { A as API_BASE, M as MAX_TEST_RETRIES, B as BROWSERS } from "../../../chunks/constants.js";
|
|
21
4
|
import { a as auth } from "../../../chunks/auth.js";
|
|
22
5
|
import { c as builtInEnabled } from "../../../chunks/runner.js";
|
|
23
6
|
import { t as theme } from "../../../chunks/theme.js";
|
|
24
|
-
import { B as Button } from "../../../chunks/
|
|
25
|
-
import { T as Toast } from "../../../chunks/Toast.js";
|
|
7
|
+
import { T as Toast, B as Button } from "../../../chunks/Toast.js";
|
|
26
8
|
import { C as ConfirmModal } from "../../../chunks/ConfirmModal.js";
|
|
27
9
|
import { B as Badge } from "../../../chunks/Badge.js";
|
|
28
|
-
import { a as
|
|
10
|
+
import { a as SAVE_LABEL, b as CANCEL_LABEL, E as EDIT_LABEL, c as EMAIL_LABEL } from "../../../chunks/common.js";
|
|
29
11
|
import { e as escape_html } from "../../../chunks/escaping.js";
|
|
12
|
+
import { a as attr } from "../../../chunks/attributes.js";
|
|
13
|
+
const PAGE_TITLE = "Settings — Plum";
|
|
14
|
+
const HEADING = "Settings";
|
|
15
|
+
const NAME_LABEL = "Name";
|
|
16
|
+
const PROJECT_LABEL = "Project";
|
|
17
|
+
const RUNNERS_LABEL = "Runners";
|
|
18
|
+
const REPOSITORY_NAV_LABEL = "Repository";
|
|
19
|
+
const REPOSITORY_HEADING = "Test Repository";
|
|
20
|
+
const INTEGRATIONS_LABEL = "Integrations";
|
|
21
|
+
const MCP_NAV_LABEL = "MCP";
|
|
22
|
+
const MCP_HEADING = "MCP Integration";
|
|
23
|
+
const ACCOUNT_LABEL = "Account";
|
|
24
|
+
const USERS_LABEL = "Users";
|
|
25
|
+
const BACKUP_LABEL = "Backup";
|
|
26
|
+
const PROJECT_DESC = "Identity information shown across the UI";
|
|
27
|
+
const RUNNERS_DESC = "Register self-hosted runner nodes to distribute tests across machines.";
|
|
28
|
+
const REPOSITORY_DESC = "Configure ID prefixes for test suites and cases.";
|
|
29
|
+
const INTEGRATIONS_DESC = "Connect Discord and Slack to receive run notifications with pass/fail results and report links.";
|
|
30
|
+
const MCP_DESC = "Generate an API key for any MCP-compatible AI client — Claude, Cursor, Windsurf, and others.";
|
|
31
|
+
const ACCOUNT_DESC = "Manage your profile, credentials and session.";
|
|
32
|
+
const USERS_DESC = "Add and manage who can access Plum.";
|
|
33
|
+
const BACKUP_DESC = "Export your test cases, schedules, users, and project settings. Automate uploads to any S3-compatible storage — Cloudflare R2, Backblaze B2, AWS S3, or MinIO.";
|
|
34
|
+
const PROJECT_NAME_LABEL = "Project Name";
|
|
35
|
+
const PROJECT_NAME_PLACEHOLDER = "My Test Suite";
|
|
36
|
+
const LOGO_URL_LABEL = "Logo URL";
|
|
37
|
+
const LOGO_URL_HINT = "Direct link to an image (PNG, SVG, JPG)";
|
|
38
|
+
const LOGO_URL_PLACEHOLDER = "https://example.com/logo.png";
|
|
39
|
+
const TIMEZONE_LABEL = "Timezone";
|
|
40
|
+
const TIMEZONE_HINT = "Used to schedule cron jobs and backups";
|
|
41
|
+
const RETRY_FAILED_TESTS_LABEL = "Retry failed tests";
|
|
42
|
+
const RETRY_FAILED_TESTS_HINT = "Automatically re-run failed scenarios up to this many times before finalizing the report. 0 disables retries.";
|
|
43
|
+
const DARK_MODE_LABEL = "Dark mode";
|
|
44
|
+
const DARK_MODE_DESC = "Switch between light and dark appearance";
|
|
45
|
+
const saveProjectLabel = (saving) => "Save Project";
|
|
46
|
+
const BUILTIN_RUNNER_TOGGLE_LABEL = "Built-in runner";
|
|
47
|
+
const BUILTIN_RUNNER_TOGGLE_DESC = "Use this server to run tests locally. Disable to route all runs to external nodes.";
|
|
48
|
+
const RUNNER_URL_LABEL = "URL";
|
|
49
|
+
const RUNNER_URL_HINT_PREFIX = "Use";
|
|
50
|
+
const RUNNER_URL_HINT_SUFFIX = "for local nodes";
|
|
51
|
+
const RUNNER_URL_PLACEHOLDER = "http://host.docker.internal:3002";
|
|
52
|
+
const TOKEN_LABEL = "Token";
|
|
53
|
+
const KEEP_TOKEN_PLACEHOLDER = "Leave blank to keep current token";
|
|
54
|
+
const BROWSER_LABEL = "Browser";
|
|
55
|
+
const RUNNER_NAME_PLACEHOLDER = "staging-node";
|
|
56
|
+
const RUNNER_UNREACHABLE_LABEL = "unreachable";
|
|
57
|
+
const RUNNER_PINGING_LABEL = "pinging…";
|
|
58
|
+
const REMOVE_LABEL = "Remove";
|
|
59
|
+
const OPEN_ADD_RUNNER_LABEL = "+ Add Runner";
|
|
60
|
+
const RESTART_LABEL = "Restart";
|
|
61
|
+
const RESTARTING_LABEL = "Restarting…";
|
|
62
|
+
const STOP_LABEL = "Stop";
|
|
63
|
+
const STOPPING_LABEL = "Stopping…";
|
|
64
|
+
const editRunnerSubmitLabel = (saving) => SAVE_LABEL;
|
|
65
|
+
const restartRunnerLabel = (restarting) => restarting ? RESTARTING_LABEL : RESTART_LABEL;
|
|
66
|
+
const stopRunnerLabel = (stopping) => stopping ? STOPPING_LABEL : STOP_LABEL;
|
|
67
|
+
const CASE_PREFIX_LABEL = "Test Case prefix";
|
|
68
|
+
const CASE_PREFIX_PLACEHOLDER = "TC";
|
|
69
|
+
const SUITE_PREFIX_LABEL = "Test Suite prefix";
|
|
70
|
+
const SUITE_PREFIX_PLACEHOLDER = "TS";
|
|
71
|
+
const EXAMPLES_LABEL = "Examples:";
|
|
72
|
+
const MIGRATE_IDS_HEADING = "Migrate IDs";
|
|
73
|
+
const MIGRATE_DESC_PREFIX = "Rename all existing test IDs to use a new prefix. Cucumber tags in code are";
|
|
74
|
+
const MIGRATE_DESC_STRONG = "not";
|
|
75
|
+
const MIGRATE_DESC_SUFFIX = "affected — you manage those separately.";
|
|
76
|
+
const NEW_CASE_PREFIX_LABEL = "New case prefix";
|
|
77
|
+
const NEW_SUITE_PREFIX_LABEL = "New suite prefix";
|
|
78
|
+
const savePrefixesLabel = (saving) => "Save Prefixes";
|
|
79
|
+
const runMigrationLabel = (migrating) => "Run Migration";
|
|
80
|
+
const WEBHOOKS_CARD_TITLE = "Webhooks";
|
|
81
|
+
const DISCORD_WEBHOOK_LABEL = "Discord Webhook URL";
|
|
82
|
+
const DISCORD_WEBHOOK_HINT = "Leave blank to disable Discord notifications";
|
|
83
|
+
const DISCORD_WEBHOOK_PLACEHOLDER = "https://discord.com/api/webhooks/…";
|
|
84
|
+
const SLACK_WEBHOOK_LABEL = "Slack Webhook URL";
|
|
85
|
+
const SLACK_WEBHOOK_HINT = "Leave blank to disable Slack notifications";
|
|
86
|
+
const SLACK_WEBHOOK_PLACEHOLDER = "https://hooks.slack.com/services/…";
|
|
87
|
+
const PUBLIC_URL_LABEL = "Public URL";
|
|
88
|
+
const PUBLIC_URL_HINT = "Base URL of this Plum instance, used to link reports in notifications";
|
|
89
|
+
const PUBLIC_URL_PLACEHOLDER = "https://plum.yourcompany.com";
|
|
90
|
+
const CI_TRIGGERS_CARD_TITLE = "CI / External Triggers";
|
|
91
|
+
const CI_DESC_PART1 = "Trigger a Plum run from GitHub Actions (e.g. on a pull request, against its preview deployment) or any other external script by calling";
|
|
92
|
+
const CI_DESC_PART2 = "with an";
|
|
93
|
+
const CI_DESC_PART3 = "header. Generate a key on the";
|
|
94
|
+
const MCP_TAB_LINK_LABEL = "MCP tab";
|
|
95
|
+
const CI_DESC_PART4 = "and store it as a repo secret — never commit it directly. Runs triggered this way show up in Reports tagged";
|
|
96
|
+
const EXTERNAL_BADGE_LABEL = "External";
|
|
97
|
+
const COPY_WORKFLOW_STEP_LABEL = "Copy Workflow Step";
|
|
98
|
+
const saveIntegrationsLabel = (saving) => "Save Integrations";
|
|
99
|
+
const copyCiSnippetLabel = (copied) => COPY_WORKFLOW_STEP_LABEL;
|
|
100
|
+
const API_KEY_CARD_TITLE = "API Key";
|
|
101
|
+
const NO_KEY_GENERATED_MESSAGE = "No key generated yet.";
|
|
102
|
+
const generateKeyLabel = (generating) => "Generate Key";
|
|
103
|
+
const PROFILE_CARD_TITLE = "Profile";
|
|
104
|
+
const CHANGE_PASSWORD_CARD_TITLE = "Change password";
|
|
105
|
+
const CURRENT_PASSWORD_LABEL = "Current password";
|
|
106
|
+
const NEW_PASSWORD_LABEL = "New password";
|
|
107
|
+
const CONFIRM_NEW_PASSWORD_LABEL = "Confirm new password";
|
|
108
|
+
const SIGN_OUT_LABEL = "Sign out";
|
|
109
|
+
const saveProfileLabel = (saving) => "Save Profile";
|
|
110
|
+
const changePasswordLabel = (saving) => "Change Password";
|
|
111
|
+
const REMOVE_USER_MODAL_TITLE = "Remove User";
|
|
112
|
+
const REMOVE_USER_LABEL = "Remove";
|
|
113
|
+
const ADD_USER_CARD_TITLE = "Add User";
|
|
114
|
+
const USER_NAME_PLACEHOLDER = "Jane Smith";
|
|
115
|
+
const USER_EMAIL_PLACEHOLDER = "jane@example.com";
|
|
116
|
+
const PASSWORD_LABEL = "Password";
|
|
117
|
+
const ROLE_LABEL = "Role";
|
|
118
|
+
const USER_ROLE_OPTION = "User";
|
|
119
|
+
const ADMIN_ROLE_OPTION = "Admin";
|
|
120
|
+
const REMOVE_USER_ICON_TITLE = "Remove user";
|
|
121
|
+
const YOU_CHIP_LABEL = "you";
|
|
122
|
+
const addUserLabel = (saving) => "Add User";
|
|
123
|
+
const MANUAL_BACKUP_CARD_TITLE = "Manual Backup";
|
|
124
|
+
const EXPORT_BLOCK_TITLE = "Export";
|
|
125
|
+
const EXPORT_BLOCK_DESC_PREFIX = "Downloads a";
|
|
126
|
+
const EXPORT_BLOCK_DESC_SUFFIX = "file with all cron jobs, test cases, test runs, users, runners, and project settings.";
|
|
127
|
+
const IMPORT_BLOCK_TITLE = "Import";
|
|
128
|
+
const IMPORT_BLOCK_DESC = "Restores all data from a previously exported backup. Existing records are overwritten. Cron jobs are re-scheduled after import.";
|
|
129
|
+
const CHOOSE_FILE_LABEL = "Choose file…";
|
|
130
|
+
const BACKUP_DISCLAIMER_PREFIX = "Reports are not included in backups. To back up report history, run";
|
|
131
|
+
const BACKUP_DISCLAIMER_SUFFIX = "directly on the PostgreSQL volume.";
|
|
132
|
+
const S3_STORAGE_CARD_TITLE = "S3 Storage";
|
|
133
|
+
const S3_STORAGE_DESC_PREFIX = "Works with any S3-compatible provider — Cloudflare R2, Backblaze B2, AWS S3, or MinIO. Leave";
|
|
134
|
+
const ENDPOINT_URL_LABEL = "Endpoint URL";
|
|
135
|
+
const S3_STORAGE_DESC_SUFFIX = "empty for AWS S3.";
|
|
136
|
+
const ENDPOINT_URL_HINT = "Leave blank for AWS S3";
|
|
137
|
+
const ENDPOINT_URL_PLACEHOLDER = "https://account.r2.cloudflarestorage.com";
|
|
138
|
+
const REGION_LABEL = "Region";
|
|
139
|
+
const REGION_HINT_PREFIX = "Use";
|
|
140
|
+
const REGION_HINT_SUFFIX = "for Cloudflare R2";
|
|
141
|
+
const REGION_PLACEHOLDER = "us-east-1";
|
|
142
|
+
const BUCKET_LABEL = "Bucket";
|
|
143
|
+
const BUCKET_PLACEHOLDER = "my-plum-backups";
|
|
144
|
+
const PATH_PREFIX_LABEL = "Path Prefix";
|
|
145
|
+
const PATH_PREFIX_HINT = "Optional folder inside the bucket";
|
|
146
|
+
const PATH_PREFIX_PLACEHOLDER = "plum/";
|
|
147
|
+
const ACCESS_KEY_LABEL = "Access Key ID";
|
|
148
|
+
const ACCESS_KEY_PLACEHOLDER = "AKIAIOSFODNN7EXAMPLE";
|
|
149
|
+
const SECRET_KEY_LABEL = "Secret Access Key";
|
|
150
|
+
const TEST_CONNECTION_LABEL = "Test Connection";
|
|
151
|
+
const SAVE_S3_CONFIG_LABEL = "Save S3 Config";
|
|
152
|
+
const SECRET_KEY_REQUIRED_HINT = "Required";
|
|
153
|
+
const SECRET_KEY_SET_PLACEHOLDER = "••••••••";
|
|
154
|
+
const SECRET_KEY_UNSET_PLACEHOLDER = "Enter secret key";
|
|
155
|
+
const SCHEDULED_BACKUP_CARD_TITLE = "Scheduled Backup";
|
|
156
|
+
const CONFIGURE_S3_FIRST_MESSAGE = "Configure S3 storage above to enable scheduled backups.";
|
|
157
|
+
const ENABLE_SCHEDULED_BACKUP_LABEL = "Enable scheduled backup";
|
|
158
|
+
const CRON_EXPRESSION_LABEL = "Cron Expression";
|
|
159
|
+
const CRON_HINT_PREFIX = "5-field cron — e.g.";
|
|
160
|
+
const CRON_HINT_SUFFIX = "= daily at 2 AM.";
|
|
161
|
+
const CRONTAB_LINK_LABEL = "Test at crontab.guru ↗";
|
|
162
|
+
const CRON_PLACEHOLDER = "0 2 * * *";
|
|
163
|
+
const UPLOAD_TO_S3_NOW_LABEL = "Upload to S3 Now";
|
|
164
|
+
const SAVE_SCHEDULE_LABEL = "Save Schedule";
|
|
165
|
+
const exportLabel = (exporting) => "Export JSON";
|
|
166
|
+
const importLabel = (importing) => "Import";
|
|
167
|
+
const secretKeyHint = (isSet) => SECRET_KEY_REQUIRED_HINT;
|
|
168
|
+
const secretKeyPlaceholder = (isSet) => isSet ? SECRET_KEY_SET_PLACEHOLDER : SECRET_KEY_UNSET_PLACEHOLDER;
|
|
169
|
+
const testConnectionLabel = (testing) => TEST_CONNECTION_LABEL;
|
|
170
|
+
const saveS3ConfigLabel = (saving) => SAVE_S3_CONFIG_LABEL;
|
|
171
|
+
const uploadS3NowLabel = (running) => UPLOAD_TO_S3_NOW_LABEL;
|
|
172
|
+
const saveScheduleLabel = (saving) => SAVE_SCHEDULE_LABEL;
|
|
30
173
|
function _page($$payload, $$props) {
|
|
31
174
|
push();
|
|
32
175
|
var $$store_subs;
|
|
33
176
|
let s3Configured, ciWorkflowSnippet, navItems;
|
|
34
177
|
let section = typeof sessionStorage !== "undefined" && sessionStorage.getItem("plum:settings:section") || "project";
|
|
35
|
-
let project = {
|
|
178
|
+
let project = {
|
|
179
|
+
name: "",
|
|
180
|
+
logoUrl: "",
|
|
181
|
+
maxRetries: 0
|
|
182
|
+
};
|
|
36
183
|
let projectSaving = false;
|
|
37
184
|
let toast = null;
|
|
38
185
|
const TIMEZONES = (() => {
|
|
@@ -80,10 +227,13 @@ function _page($$payload, $$props) {
|
|
|
80
227
|
backupS3Prefix: ""
|
|
81
228
|
};
|
|
82
229
|
let backupConfigSaving = false;
|
|
230
|
+
let backupS3SecretKeySet = false;
|
|
83
231
|
let backupTestingS3 = false;
|
|
84
232
|
let backupRunningNow = false;
|
|
85
233
|
let runners = [];
|
|
86
234
|
let pingResults = {};
|
|
235
|
+
let stoppingId = null;
|
|
236
|
+
let restartingId = null;
|
|
87
237
|
let editingId = null;
|
|
88
238
|
let editForm = {
|
|
89
239
|
name: "",
|
|
@@ -110,10 +260,7 @@ function _page($$payload, $$props) {
|
|
|
110
260
|
plum: {
|
|
111
261
|
command: "plum",
|
|
112
262
|
args: ["mcp"],
|
|
113
|
-
env: {
|
|
114
|
-
PLUM_API_URL: "http://localhost:3001",
|
|
115
|
-
PLUM_API_KEY: mcpKey
|
|
116
|
-
}
|
|
263
|
+
env: { PLUM_API_URL: API_BASE, PLUM_API_KEY: mcpKey }
|
|
117
264
|
}
|
|
118
265
|
}
|
|
119
266
|
},
|
|
@@ -129,48 +276,48 @@ function _page($$payload, $$props) {
|
|
|
129
276
|
` -d '{"tag": "@smoke", "baseUrl": "https://your-pr-preview-url"}'`
|
|
130
277
|
].join("\n");
|
|
131
278
|
navItems = store_get($$store_subs ??= {}, "$auth", auth).user?.role === "admin" ? [
|
|
132
|
-
{ id: "project", label:
|
|
133
|
-
{ id: "runners", label:
|
|
134
|
-
{ id: "repository", label:
|
|
135
|
-
{ id: "integrations", label:
|
|
136
|
-
{ id: "mcp", label:
|
|
137
|
-
{ id: "account", label:
|
|
138
|
-
{ id: "users", label:
|
|
139
|
-
{ id: "backup", label:
|
|
140
|
-
] : [{ id: "account", label:
|
|
279
|
+
{ id: "project", label: PROJECT_LABEL },
|
|
280
|
+
{ id: "runners", label: RUNNERS_LABEL },
|
|
281
|
+
{ id: "repository", label: REPOSITORY_NAV_LABEL },
|
|
282
|
+
{ id: "integrations", label: INTEGRATIONS_LABEL },
|
|
283
|
+
{ id: "mcp", label: MCP_NAV_LABEL },
|
|
284
|
+
{ id: "account", label: ACCOUNT_LABEL },
|
|
285
|
+
{ id: "users", label: USERS_LABEL },
|
|
286
|
+
{ id: "backup", label: BACKUP_LABEL }
|
|
287
|
+
] : [{ id: "account", label: ACCOUNT_LABEL }];
|
|
141
288
|
let $$settled = true;
|
|
142
289
|
let $$inner_payload;
|
|
143
290
|
function $$render_inner($$payload2) {
|
|
144
291
|
const each_array = ensure_array_like(navItems);
|
|
145
292
|
head($$payload2, ($$payload3) => {
|
|
146
|
-
$$payload3.title = `<title
|
|
293
|
+
$$payload3.title = `<title>${escape_html(PAGE_TITLE)}</title>`;
|
|
147
294
|
});
|
|
148
295
|
Toast($$payload2, { toast });
|
|
149
|
-
$$payload2.out += `<!----> <div class="page-header svelte-
|
|
296
|
+
$$payload2.out += `<!----> <div class="page-header svelte-bpb2i4"><h1 class="svelte-bpb2i4">${escape_html(HEADING)}</h1></div> <div class="settings-layout svelte-bpb2i4"><aside class="settings-sidebar svelte-bpb2i4"><nav class="svelte-bpb2i4"><!--[-->`;
|
|
150
297
|
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
151
298
|
let item = each_array[$$index];
|
|
152
|
-
$$payload2.out += `<button${attr("class", `sidebar-item svelte-
|
|
299
|
+
$$payload2.out += `<button${attr("class", `sidebar-item svelte-bpb2i4 ${stringify([section === item.id ? "active" : ""].filter(Boolean).join(" "))}`)}>${escape_html(item.label)}</button>`;
|
|
153
300
|
}
|
|
154
|
-
$$payload2.out += `<!--]--></nav></aside> <div class="settings-content svelte-
|
|
301
|
+
$$payload2.out += `<!--]--></nav></aside> <div class="settings-content svelte-bpb2i4">`;
|
|
155
302
|
if (section === "project") {
|
|
156
303
|
$$payload2.out += "<!--[-->";
|
|
157
304
|
const each_array_1 = ensure_array_like(TIMEZONES);
|
|
158
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
305
|
+
$$payload2.out += `<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4">${escape_html(PROJECT_LABEL)}</h2> <p class="content-desc svelte-bpb2i4">${escape_html(PROJECT_DESC)}</p></div> <div class="card settings-card svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="project-name">${escape_html(PROJECT_NAME_LABEL)}</label> <input id="project-name" type="text" class="field-input"${attr("value", project.name)}${attr("placeholder", PROJECT_NAME_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-bpb2i4" for="project-logo"><span>${escape_html(LOGO_URL_LABEL)}</span> <span class="field-hint svelte-bpb2i4">${escape_html(LOGO_URL_HINT)}</span></label> <input id="project-logo" type="url" class="field-input"${attr("value", project.logoUrl)}${attr("placeholder", LOGO_URL_PLACEHOLDER)}></div> `;
|
|
159
306
|
{
|
|
160
307
|
$$payload2.out += "<!--[!-->";
|
|
161
308
|
}
|
|
162
|
-
$$payload2.out += `<!--]--> <div class="field"><label class="field-label svelte-
|
|
309
|
+
$$payload2.out += `<!--]--> <div class="field"><label class="field-label svelte-bpb2i4" for="project-timezone"><span>${escape_html(TIMEZONE_LABEL)}</span> <span class="field-hint svelte-bpb2i4">${escape_html(TIMEZONE_HINT)}</span></label> <select id="project-timezone" class="field-input"><!--[-->`;
|
|
163
310
|
for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
|
|
164
311
|
let tz = each_array_1[$$index_1];
|
|
165
312
|
$$payload2.out += `<option${attr("value", tz)}>${escape_html(tz)}</option>`;
|
|
166
313
|
}
|
|
167
|
-
$$payload2.out += `<!--]--></select></div> <div class="toggle-row svelte-
|
|
314
|
+
$$payload2.out += `<!--]--></select></div> <div class="field"><label class="field-label svelte-bpb2i4" for="project-max-retries"><span>${escape_html(RETRY_FAILED_TESTS_LABEL)}</span> <span class="field-hint svelte-bpb2i4">${escape_html(RETRY_FAILED_TESTS_HINT)}</span></label> <input id="project-max-retries" type="number" class="field-input" min="0"${attr("max", MAX_TEST_RETRIES)}${attr("value", project.maxRetries)}></div> <div class="toggle-row svelte-bpb2i4"><div class="toggle-info svelte-bpb2i4"><span class="toggle-label svelte-bpb2i4">${escape_html(DARK_MODE_LABEL)}</span> <span class="toggle-desc svelte-bpb2i4">${escape_html(DARK_MODE_DESC)}</span></div> <button${attr("class", `toggle-switch svelte-bpb2i4 ${stringify([
|
|
168
315
|
store_get($$store_subs ??= {}, "$theme", theme) === "dark" ? "on" : ""
|
|
169
|
-
].filter(Boolean).join(" "))}`)} role="switch"${attr("aria-checked", store_get($$store_subs ??= {}, "$theme", theme) === "dark")}><span class="toggle-thumb svelte-
|
|
316
|
+
].filter(Boolean).join(" "))}`)} role="switch"${attr("aria-checked", store_get($$store_subs ??= {}, "$theme", theme) === "dark")}><span class="toggle-thumb svelte-bpb2i4"></span></button></div> <div class="card-footer svelte-bpb2i4">`;
|
|
170
317
|
Button($$payload2, {
|
|
171
318
|
disabled: projectSaving,
|
|
172
319
|
children: ($$payload3) => {
|
|
173
|
-
$$payload3.out += `<!---->${escape_html(
|
|
320
|
+
$$payload3.out += `<!---->${escape_html(saveProjectLabel())}`;
|
|
174
321
|
},
|
|
175
322
|
$$slots: { default: true }
|
|
176
323
|
});
|
|
@@ -179,20 +326,20 @@ function _page($$payload, $$props) {
|
|
|
179
326
|
$$payload2.out += "<!--[!-->";
|
|
180
327
|
if (section === "runners") {
|
|
181
328
|
$$payload2.out += "<!--[-->";
|
|
182
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
329
|
+
$$payload2.out += `<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4">${escape_html(RUNNERS_LABEL)}</h2> <p class="content-desc svelte-bpb2i4">${escape_html(RUNNERS_DESC)}</p></div> <div class="card settings-card svelte-bpb2i4"><div class="toggle-row svelte-bpb2i4"><div class="toggle-info svelte-bpb2i4"><span class="toggle-label svelte-bpb2i4">${escape_html(BUILTIN_RUNNER_TOGGLE_LABEL)}</span> <span class="toggle-desc svelte-bpb2i4">${escape_html(BUILTIN_RUNNER_TOGGLE_DESC)}</span></div> <button${attr("class", `toggle-switch svelte-bpb2i4 ${stringify([
|
|
183
330
|
store_get($$store_subs ??= {}, "$builtInEnabled", builtInEnabled) ? "on" : ""
|
|
184
|
-
].filter(Boolean).join(" "))}`)} role="switch"${attr("aria-checked", store_get($$store_subs ??= {}, "$builtInEnabled", builtInEnabled))}><span class="toggle-thumb svelte-
|
|
331
|
+
].filter(Boolean).join(" "))}`)} role="switch"${attr("aria-checked", store_get($$store_subs ??= {}, "$builtInEnabled", builtInEnabled))}><span class="toggle-thumb svelte-bpb2i4"></span></button></div> `;
|
|
185
332
|
if (runners.length > 0) {
|
|
186
333
|
$$payload2.out += "<!--[-->";
|
|
187
334
|
const each_array_2 = ensure_array_like(runners);
|
|
188
|
-
$$payload2.out += `<div class="runner-cards svelte-
|
|
335
|
+
$$payload2.out += `<div class="runner-cards svelte-bpb2i4"><!--[-->`;
|
|
189
336
|
for (let $$index_3 = 0, $$length = each_array_2.length; $$index_3 < $$length; $$index_3++) {
|
|
190
337
|
let r = each_array_2[$$index_3];
|
|
191
338
|
const ping = pingResults[r.id];
|
|
192
339
|
if (editingId === r.id) {
|
|
193
340
|
$$payload2.out += "<!--[-->";
|
|
194
341
|
const each_array_3 = ensure_array_like(BROWSERS);
|
|
195
|
-
$$payload2.out += `<div class="runner-card editing svelte-
|
|
342
|
+
$$payload2.out += `<div class="runner-card editing svelte-bpb2i4"><div class="runner-form-fields svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4"${attr("for", `edit-name-${stringify(r.id)}`)}>${escape_html(NAME_LABEL)}</label> <input${attr("id", `edit-name-${stringify(r.id)}`)} type="text" class="field-input"${attr("value", editForm.name)}${attr("placeholder", RUNNER_NAME_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-bpb2i4"${attr("for", `edit-url-${stringify(r.id)}`)}>${escape_html(RUNNER_URL_LABEL)} <span class="field-hint svelte-bpb2i4">${escape_html(RUNNER_URL_HINT_PREFIX)} <code>host.docker.internal</code> ${escape_html(RUNNER_URL_HINT_SUFFIX)}</span></label> <input${attr("id", `edit-url-${stringify(r.id)}`)} type="url" class="field-input"${attr("value", editForm.url)}${attr("placeholder", RUNNER_URL_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-bpb2i4"${attr("for", `edit-token-${stringify(r.id)}`)}>${escape_html(TOKEN_LABEL)}</label> <input${attr("id", `edit-token-${stringify(r.id)}`)} type="text" class="field-input"${attr("value", editForm.token)}${attr("placeholder", KEEP_TOKEN_PLACEHOLDER)} spellcheck="false" autocomplete="off"></div> <div class="field"><label class="field-label svelte-bpb2i4"${attr("for", `edit-browser-${stringify(r.id)}`)}>${escape_html(BROWSER_LABEL)}</label> <select${attr("id", `edit-browser-${stringify(r.id)}`)} class="field-input"><!--[-->`;
|
|
196
343
|
for (let $$index_2 = 0, $$length2 = each_array_3.length; $$index_2 < $$length2; $$index_2++) {
|
|
197
344
|
let b = each_array_3[$$index_2];
|
|
198
345
|
$$payload2.out += `<option${attr("value", b.id)}>${escape_html(b.label)}</option>`;
|
|
@@ -201,11 +348,11 @@ function _page($$payload, $$props) {
|
|
|
201
348
|
{
|
|
202
349
|
$$payload2.out += "<!--[!-->";
|
|
203
350
|
}
|
|
204
|
-
$$payload2.out += `<!--]--> <div class="runner-form-actions svelte-
|
|
351
|
+
$$payload2.out += `<!--]--> <div class="runner-form-actions svelte-bpb2i4">`;
|
|
205
352
|
Button($$payload2, {
|
|
206
353
|
disabled: editFormSaving,
|
|
207
354
|
children: ($$payload3) => {
|
|
208
|
-
$$payload3.out += `<!---->${escape_html(
|
|
355
|
+
$$payload3.out += `<!---->${escape_html(editRunnerSubmitLabel())}`;
|
|
209
356
|
},
|
|
210
357
|
$$slots: { default: true }
|
|
211
358
|
});
|
|
@@ -214,40 +361,60 @@ function _page($$payload, $$props) {
|
|
|
214
361
|
variant: "ghost",
|
|
215
362
|
disabled: editFormSaving,
|
|
216
363
|
children: ($$payload3) => {
|
|
217
|
-
$$payload3.out +=
|
|
364
|
+
$$payload3.out += `<!---->${escape_html(CANCEL_LABEL)}`;
|
|
218
365
|
},
|
|
219
366
|
$$slots: { default: true }
|
|
220
367
|
});
|
|
221
368
|
$$payload2.out += `<!----></div></div>`;
|
|
222
369
|
} else {
|
|
223
370
|
$$payload2.out += "<!--[!-->";
|
|
224
|
-
$$payload2.out += `<div class="runner-card svelte-
|
|
371
|
+
$$payload2.out += `<div class="runner-card svelte-bpb2i4"><div class="runner-card-header svelte-bpb2i4"><svg class="runner-card-icon svelte-bpb2i4" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><rect x="2" y="3" width="20" height="14" rx="2"></rect><path d="M8 21h8M12 17v4"></path></svg> <span class="runner-card-name svelte-bpb2i4">${escape_html(r.name)}</span> <span class="runner-browser-pill svelte-bpb2i4">${escape_html(r.browser)}</span> `;
|
|
225
372
|
if (ping && !ping.loading) {
|
|
226
373
|
$$payload2.out += "<!--[-->";
|
|
227
374
|
if (ping.ok) {
|
|
228
375
|
$$payload2.out += "<!--[-->";
|
|
229
|
-
$$payload2.out += `<span class="ping-badge ok svelte-
|
|
376
|
+
$$payload2.out += `<span class="ping-badge ok svelte-bpb2i4">${escape_html(ping.latency)}ms</span>`;
|
|
230
377
|
} else {
|
|
231
378
|
$$payload2.out += "<!--[!-->";
|
|
232
|
-
$$payload2.out += `<span class="ping-badge fail svelte-
|
|
379
|
+
$$payload2.out += `<span class="ping-badge fail svelte-bpb2i4"${attr("title", ping.error)}>${escape_html(RUNNER_UNREACHABLE_LABEL)}</span>`;
|
|
233
380
|
}
|
|
234
381
|
$$payload2.out += `<!--]-->`;
|
|
235
382
|
} else {
|
|
236
383
|
$$payload2.out += "<!--[!-->";
|
|
237
384
|
if (ping?.loading) {
|
|
238
385
|
$$payload2.out += "<!--[-->";
|
|
239
|
-
$$payload2.out += `<span class="ping-badge pinging svelte-
|
|
386
|
+
$$payload2.out += `<span class="ping-badge pinging svelte-bpb2i4">${escape_html(RUNNER_PINGING_LABEL)}</span>`;
|
|
240
387
|
} else {
|
|
241
388
|
$$payload2.out += "<!--[!-->";
|
|
242
389
|
}
|
|
243
390
|
$$payload2.out += `<!--]-->`;
|
|
244
391
|
}
|
|
245
|
-
$$payload2.out += `<!--]--></div> <p class="runner-card-url svelte-
|
|
392
|
+
$$payload2.out += `<!--]--></div> <p class="runner-card-url svelte-bpb2i4">${escape_html(r.url)}</p> <div class="runner-card-actions svelte-bpb2i4">`;
|
|
393
|
+
Button($$payload2, {
|
|
394
|
+
variant: "ghost",
|
|
395
|
+
size: "sm",
|
|
396
|
+
children: ($$payload3) => {
|
|
397
|
+
$$payload3.out += `<!---->${escape_html(EDIT_LABEL)}`;
|
|
398
|
+
},
|
|
399
|
+
$$slots: { default: true }
|
|
400
|
+
});
|
|
401
|
+
$$payload2.out += `<!----> `;
|
|
402
|
+
Button($$payload2, {
|
|
403
|
+
variant: "ghost",
|
|
404
|
+
size: "sm",
|
|
405
|
+
disabled: restartingId === r.id,
|
|
406
|
+
children: ($$payload3) => {
|
|
407
|
+
$$payload3.out += `<!---->${escape_html(restartRunnerLabel(restartingId === r.id))}`;
|
|
408
|
+
},
|
|
409
|
+
$$slots: { default: true }
|
|
410
|
+
});
|
|
411
|
+
$$payload2.out += `<!----> `;
|
|
246
412
|
Button($$payload2, {
|
|
247
413
|
variant: "ghost",
|
|
248
414
|
size: "sm",
|
|
415
|
+
disabled: stoppingId === r.id,
|
|
249
416
|
children: ($$payload3) => {
|
|
250
|
-
$$payload3.out +=
|
|
417
|
+
$$payload3.out += `<!---->${escape_html(stopRunnerLabel(stoppingId === r.id))}`;
|
|
251
418
|
},
|
|
252
419
|
$$slots: { default: true }
|
|
253
420
|
});
|
|
@@ -256,7 +423,7 @@ function _page($$payload, $$props) {
|
|
|
256
423
|
variant: "danger",
|
|
257
424
|
size: "sm",
|
|
258
425
|
children: ($$payload3) => {
|
|
259
|
-
$$payload3.out +=
|
|
426
|
+
$$payload3.out += `<!---->${escape_html(REMOVE_LABEL)}`;
|
|
260
427
|
},
|
|
261
428
|
$$slots: { default: true }
|
|
262
429
|
});
|
|
@@ -271,11 +438,11 @@ function _page($$payload, $$props) {
|
|
|
271
438
|
$$payload2.out += `<!--]--> `;
|
|
272
439
|
{
|
|
273
440
|
$$payload2.out += "<!--[!-->";
|
|
274
|
-
$$payload2.out += `<div class="card-footer svelte-
|
|
441
|
+
$$payload2.out += `<div class="card-footer svelte-bpb2i4">`;
|
|
275
442
|
Button($$payload2, {
|
|
276
443
|
variant: "ghost",
|
|
277
444
|
children: ($$payload3) => {
|
|
278
|
-
$$payload3.out +=
|
|
445
|
+
$$payload3.out += `<!---->${escape_html(OPEN_ADD_RUNNER_LABEL)}`;
|
|
279
446
|
},
|
|
280
447
|
$$slots: { default: true }
|
|
281
448
|
});
|
|
@@ -286,20 +453,20 @@ function _page($$payload, $$props) {
|
|
|
286
453
|
$$payload2.out += "<!--[!-->";
|
|
287
454
|
if (section === "repository") {
|
|
288
455
|
$$payload2.out += "<!--[-->";
|
|
289
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
456
|
+
$$payload2.out += `<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4">${escape_html(REPOSITORY_HEADING)}</h2> <p class="content-desc svelte-bpb2i4">${escape_html(REPOSITORY_DESC)}</p></div> <div class="card settings-card svelte-bpb2i4"><div class="field-row svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="tc-prefix">${escape_html(CASE_PREFIX_LABEL)}</label> <input id="tc-prefix" type="text" class="field-input mono svelte-bpb2i4"${attr("value", prefixes.testCasePrefix)}${attr("placeholder", CASE_PREFIX_PLACEHOLDER)} maxlength="10"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="ts-prefix">${escape_html(SUITE_PREFIX_LABEL)}</label> <input id="ts-prefix" type="text" class="field-input mono svelte-bpb2i4"${attr("value", prefixes.testSuitePrefix)}${attr("placeholder", SUITE_PREFIX_PLACEHOLDER)} maxlength="10"></div></div> <p class="content-desc svelte-bpb2i4">${escape_html(EXAMPLES_LABEL)} <code class="code-sample svelte-bpb2i4">${escape_html(prefixes.testCasePrefix)}-001</code>, <code class="code-sample svelte-bpb2i4">${escape_html(prefixes.testSuitePrefix)}-001</code></p> <div class="card-footer svelte-bpb2i4">`;
|
|
290
457
|
Button($$payload2, {
|
|
291
458
|
disabled: prefixesSaving,
|
|
292
459
|
children: ($$payload3) => {
|
|
293
|
-
$$payload3.out += `<!---->${escape_html(
|
|
460
|
+
$$payload3.out += `<!---->${escape_html(savePrefixesLabel())}`;
|
|
294
461
|
},
|
|
295
462
|
$$slots: { default: true }
|
|
296
463
|
});
|
|
297
|
-
$$payload2.out += `<!----></div></div> <div class="content-header svelte-
|
|
464
|
+
$$payload2.out += `<!----></div></div> <div class="content-header svelte-bpb2i4" style="margin-top: 1rem"><h2 class="svelte-bpb2i4">${escape_html(MIGRATE_IDS_HEADING)}</h2> <p class="content-desc svelte-bpb2i4">${escape_html(MIGRATE_DESC_PREFIX)} <strong>${escape_html(MIGRATE_DESC_STRONG)}</strong> ${escape_html(MIGRATE_DESC_SUFFIX)}</p></div> <div class="card settings-card svelte-bpb2i4"><div class="field-row svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="mig-tc">${escape_html(NEW_CASE_PREFIX_LABEL)}</label> <input id="mig-tc" type="text" class="field-input mono svelte-bpb2i4"${attr("value", migrateForm.testCasePrefix)}${attr("placeholder", prefixes.testCasePrefix)} maxlength="10"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="mig-ts">${escape_html(NEW_SUITE_PREFIX_LABEL)}</label> <input id="mig-ts" type="text" class="field-input mono svelte-bpb2i4"${attr("value", migrateForm.testSuitePrefix)}${attr("placeholder", prefixes.testSuitePrefix)} maxlength="10"></div></div> <div class="card-footer svelte-bpb2i4">`;
|
|
298
465
|
Button($$payload2, {
|
|
299
466
|
variant: "ghost",
|
|
300
467
|
disabled: migrating,
|
|
301
468
|
children: ($$payload3) => {
|
|
302
|
-
$$payload3.out += `<!---->${escape_html(
|
|
469
|
+
$$payload3.out += `<!---->${escape_html(runMigrationLabel())}`;
|
|
303
470
|
},
|
|
304
471
|
$$slots: { default: true }
|
|
305
472
|
});
|
|
@@ -308,30 +475,27 @@ function _page($$payload, $$props) {
|
|
|
308
475
|
$$payload2.out += "<!--[!-->";
|
|
309
476
|
if (section === "integrations") {
|
|
310
477
|
$$payload2.out += "<!--[-->";
|
|
311
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
312
|
-
links.</p></div> <div class="card settings-card svelte-9l533f"><p class="card-title">Webhooks</p> <div class="field"><label class="field-label svelte-9l533f" for="discord-url"><span>Discord Webhook URL</span> <span class="field-hint svelte-9l533f">Leave blank to disable Discord notifications</span></label> <input id="discord-url" type="url" class="field-input"${attr("value", integrations.discordWebhookUrl)} placeholder="https://discord.com/api/webhooks/…"></div> <div class="field"><label class="field-label svelte-9l533f" for="slack-url"><span>Slack Webhook URL</span> <span class="field-hint svelte-9l533f">Leave blank to disable Slack notifications</span></label> <input id="slack-url" type="url" class="field-input"${attr("value", integrations.slackWebhookUrl)} placeholder="https://hooks.slack.com/services/…"></div> <div class="field"><label class="field-label svelte-9l533f" for="public-url"><span>Public URL</span> <span class="field-hint svelte-9l533f">Base URL of this Plum instance, used to link reports in notifications</span></label> <input id="public-url" type="url" class="field-input"${attr("value", integrations.notifyPublicUrl)} placeholder="https://plum.yourcompany.com"></div> `;
|
|
478
|
+
$$payload2.out += `<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4">${escape_html(INTEGRATIONS_LABEL)}</h2> <p class="content-desc svelte-bpb2i4">${escape_html(INTEGRATIONS_DESC)}</p></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title">${escape_html(WEBHOOKS_CARD_TITLE)}</p> <div class="field"><label class="field-label svelte-bpb2i4" for="discord-url"><span>${escape_html(DISCORD_WEBHOOK_LABEL)}</span> <span class="field-hint svelte-bpb2i4">${escape_html(DISCORD_WEBHOOK_HINT)}</span></label> <input id="discord-url" type="url" class="field-input"${attr("value", integrations.discordWebhookUrl)}${attr("placeholder", DISCORD_WEBHOOK_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-bpb2i4" for="slack-url"><span>${escape_html(SLACK_WEBHOOK_LABEL)}</span> <span class="field-hint svelte-bpb2i4">${escape_html(SLACK_WEBHOOK_HINT)}</span></label> <input id="slack-url" type="url" class="field-input"${attr("value", integrations.slackWebhookUrl)}${attr("placeholder", SLACK_WEBHOOK_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-bpb2i4" for="public-url"><span>${escape_html(PUBLIC_URL_LABEL)}</span> <span class="field-hint svelte-bpb2i4">${escape_html(PUBLIC_URL_HINT)}</span></label> <input id="public-url" type="url" class="field-input"${attr("value", integrations.notifyPublicUrl)}${attr("placeholder", PUBLIC_URL_PLACEHOLDER)}></div> `;
|
|
313
479
|
Button($$payload2, {
|
|
314
480
|
disabled: integrationsSaving,
|
|
315
481
|
children: ($$payload3) => {
|
|
316
|
-
$$payload3.out += `<!---->${escape_html(
|
|
482
|
+
$$payload3.out += `<!---->${escape_html(saveIntegrationsLabel())}`;
|
|
317
483
|
},
|
|
318
484
|
$$slots: { default: true }
|
|
319
485
|
});
|
|
320
|
-
$$payload2.out += `<!----></div> <div class="card settings-card svelte-
|
|
321
|
-
deployment) or any other external script by calling <code class="code-sample svelte-9l533f">POST ${escape_html(API_BASE)}/trigger</code> with an <code class="code-sample svelte-9l533f">Authorization: ApiKey …</code> header. Generate a key on the <button class="link-btn svelte-9l533f">MCP tab</button> and store it as a repo secret — never commit it directly. Runs triggered this way show up
|
|
322
|
-
in Reports tagged `;
|
|
486
|
+
$$payload2.out += `<!----></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title">${escape_html(CI_TRIGGERS_CARD_TITLE)}</p> <p class="content-desc svelte-bpb2i4">${escape_html(CI_DESC_PART1)} <code class="code-sample svelte-bpb2i4">POST ${escape_html(API_BASE)}/trigger</code> ${escape_html(CI_DESC_PART2)} <code class="code-sample svelte-bpb2i4">Authorization: ApiKey …</code> ${escape_html(CI_DESC_PART3)} <button class="link-btn svelte-bpb2i4">${escape_html(MCP_TAB_LINK_LABEL)}</button> ${escape_html(CI_DESC_PART4)} `;
|
|
323
487
|
Badge($$payload2, {
|
|
324
488
|
variant: "external",
|
|
325
489
|
children: ($$payload3) => {
|
|
326
|
-
$$payload3.out +=
|
|
490
|
+
$$payload3.out += `<!---->${escape_html(EXTERNAL_BADGE_LABEL)}`;
|
|
327
491
|
},
|
|
328
492
|
$$slots: { default: true }
|
|
329
493
|
});
|
|
330
|
-
$$payload2.out += `<!---->.</p> <pre class="mcp-snippet svelte-
|
|
494
|
+
$$payload2.out += `<!---->.</p> <pre class="mcp-snippet svelte-bpb2i4">${escape_html(ciWorkflowSnippet)}</pre> <div class="card-footer svelte-bpb2i4">`;
|
|
331
495
|
Button($$payload2, {
|
|
332
496
|
variant: "ghost",
|
|
333
497
|
children: ($$payload3) => {
|
|
334
|
-
$$payload3.out += `<!---->${escape_html(
|
|
498
|
+
$$payload3.out += `<!---->${escape_html(copyCiSnippetLabel())}`;
|
|
335
499
|
},
|
|
336
500
|
$$slots: { default: true }
|
|
337
501
|
});
|
|
@@ -340,15 +504,14 @@ function _page($$payload, $$props) {
|
|
|
340
504
|
$$payload2.out += "<!--[!-->";
|
|
341
505
|
if (section === "mcp") {
|
|
342
506
|
$$payload2.out += "<!--[-->";
|
|
343
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
344
|
-
others.</p></div> <div class="card settings-card svelte-9l533f"><p class="card-title">API Key</p> `;
|
|
507
|
+
$$payload2.out += `<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4">${escape_html(MCP_HEADING)}</h2> <p class="content-desc svelte-bpb2i4">${escape_html(MCP_DESC)}</p></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title">${escape_html(API_KEY_CARD_TITLE)}</p> `;
|
|
345
508
|
{
|
|
346
509
|
$$payload2.out += "<!--[-->";
|
|
347
|
-
$$payload2.out += `<p class="content-desc svelte-
|
|
510
|
+
$$payload2.out += `<p class="content-desc svelte-bpb2i4">${escape_html(NO_KEY_GENERATED_MESSAGE)}</p> <div class="card-footer svelte-bpb2i4">`;
|
|
348
511
|
Button($$payload2, {
|
|
349
512
|
disabled: mcpGenerating,
|
|
350
513
|
children: ($$payload3) => {
|
|
351
|
-
$$payload3.out += `<!---->${escape_html(
|
|
514
|
+
$$payload3.out += `<!---->${escape_html(generateKeyLabel())}`;
|
|
352
515
|
},
|
|
353
516
|
$$slots: { default: true }
|
|
354
517
|
});
|
|
@@ -363,36 +526,36 @@ function _page($$payload, $$props) {
|
|
|
363
526
|
$$payload2.out += "<!--[!-->";
|
|
364
527
|
if (section === "account") {
|
|
365
528
|
$$payload2.out += "<!--[-->";
|
|
366
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
529
|
+
$$payload2.out += `<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4">${escape_html(ACCOUNT_LABEL)}</h2> <p class="content-desc svelte-bpb2i4">${escape_html(ACCOUNT_DESC)}</p></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title">${escape_html(PROFILE_CARD_TITLE)}</p> <div class="field"><label class="field-label svelte-bpb2i4" for="profile-name">${escape_html(NAME_LABEL)}</label> <input id="profile-name" type="text" class="field-input"${attr("value", profileForm.name)}></div> <div class="field"><label class="field-label svelte-bpb2i4" for="profile-email">${escape_html(EMAIL_LABEL)}</label> <input id="profile-email" type="email" class="field-input"${attr("value", profileForm.email)}></div> `;
|
|
367
530
|
{
|
|
368
531
|
$$payload2.out += "<!--[!-->";
|
|
369
532
|
}
|
|
370
|
-
$$payload2.out += `<!--]--> <div class="card-footer svelte-
|
|
533
|
+
$$payload2.out += `<!--]--> <div class="card-footer svelte-bpb2i4">`;
|
|
371
534
|
Button($$payload2, {
|
|
372
535
|
disabled: true,
|
|
373
536
|
children: ($$payload3) => {
|
|
374
|
-
$$payload3.out += `<!---->${escape_html(
|
|
537
|
+
$$payload3.out += `<!---->${escape_html(saveProfileLabel())}`;
|
|
375
538
|
},
|
|
376
539
|
$$slots: { default: true }
|
|
377
540
|
});
|
|
378
|
-
$$payload2.out += `<!----></div></div> <div class="card settings-card svelte-
|
|
541
|
+
$$payload2.out += `<!----></div></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title">${escape_html(CHANGE_PASSWORD_CARD_TITLE)}</p> <div class="field"><label class="field-label svelte-bpb2i4" for="pw-current">${escape_html(CURRENT_PASSWORD_LABEL)}</label> <input id="pw-current" type="password" class="field-input"${attr("value", pwForm.currentPassword)} autocomplete="current-password"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="pw-new">${escape_html(NEW_PASSWORD_LABEL)}</label> <input id="pw-new" type="password" class="field-input"${attr("value", pwForm.newPassword)} autocomplete="new-password"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="pw-confirm">${escape_html(CONFIRM_NEW_PASSWORD_LABEL)}</label> <input id="pw-confirm" type="password" class="field-input"${attr("value", pwForm.confirmPassword)} autocomplete="new-password"></div> `;
|
|
379
542
|
{
|
|
380
543
|
$$payload2.out += "<!--[!-->";
|
|
381
544
|
}
|
|
382
|
-
$$payload2.out += `<!--]--> <div class="card-footer svelte-
|
|
545
|
+
$$payload2.out += `<!--]--> <div class="card-footer svelte-bpb2i4">`;
|
|
383
546
|
Button($$payload2, {
|
|
384
547
|
disabled: true,
|
|
385
548
|
children: ($$payload3) => {
|
|
386
|
-
$$payload3.out += `<!---->${escape_html(
|
|
549
|
+
$$payload3.out += `<!---->${escape_html(changePasswordLabel())}`;
|
|
387
550
|
},
|
|
388
551
|
$$slots: { default: true }
|
|
389
552
|
});
|
|
390
|
-
$$payload2.out += `<!----></div></div> <div class="card settings-card svelte-
|
|
553
|
+
$$payload2.out += `<!----></div></div> <div class="card settings-card svelte-bpb2i4"><div class="card-footer svelte-bpb2i4">`;
|
|
391
554
|
Button($$payload2, {
|
|
392
555
|
variant: "danger",
|
|
393
556
|
size: "sm",
|
|
394
557
|
children: ($$payload3) => {
|
|
395
|
-
$$payload3.out +=
|
|
558
|
+
$$payload3.out += `<!---->${escape_html(SIGN_OUT_LABEL)}`;
|
|
396
559
|
},
|
|
397
560
|
$$slots: { default: true }
|
|
398
561
|
});
|
|
@@ -401,10 +564,10 @@ function _page($$payload, $$props) {
|
|
|
401
564
|
$$payload2.out += "<!--[!-->";
|
|
402
565
|
if (section === "users") {
|
|
403
566
|
$$payload2.out += "<!--[-->";
|
|
404
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
567
|
+
$$payload2.out += `<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4">${escape_html(USERS_LABEL)}</h2> <p class="content-desc svelte-bpb2i4">${escape_html(USERS_DESC)}</p></div> `;
|
|
405
568
|
ConfirmModal($$payload2, {
|
|
406
|
-
title:
|
|
407
|
-
confirmLabel:
|
|
569
|
+
title: REMOVE_USER_MODAL_TITLE,
|
|
570
|
+
confirmLabel: REMOVE_USER_LABEL,
|
|
408
571
|
get open() {
|
|
409
572
|
return confirmDeleteUserOpen;
|
|
410
573
|
},
|
|
@@ -420,15 +583,15 @@ function _page($$payload, $$props) {
|
|
|
420
583
|
},
|
|
421
584
|
$$slots: { default: true }
|
|
422
585
|
});
|
|
423
|
-
$$payload2.out += `<!----> <div class="card settings-card svelte-
|
|
586
|
+
$$payload2.out += `<!----> <div class="card settings-card svelte-bpb2i4"><p class="card-title">${escape_html(ADD_USER_CARD_TITLE)}</p> <div class="field-row svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="u-name">${escape_html(NAME_LABEL)}</label> <input id="u-name" type="text" class="field-input"${attr("value", userForm.name)}${attr("placeholder", USER_NAME_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-bpb2i4" for="u-email">${escape_html(EMAIL_LABEL)}</label> <input id="u-email" type="email" class="field-input"${attr("value", userForm.email)}${attr("placeholder", USER_EMAIL_PLACEHOLDER)}></div></div> <div class="field-row svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="u-pw">${escape_html(PASSWORD_LABEL)}</label> <input id="u-pw" type="password" class="field-input"${attr("value", userForm.password)} autocomplete="new-password"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="u-role">${escape_html(ROLE_LABEL)}</label> <select id="u-role" class="field-input"><option value="user">${escape_html(USER_ROLE_OPTION)}</option><option value="admin">${escape_html(ADMIN_ROLE_OPTION)}</option></select></div></div> `;
|
|
424
587
|
{
|
|
425
588
|
$$payload2.out += "<!--[!-->";
|
|
426
589
|
}
|
|
427
|
-
$$payload2.out += `<!--]--> <div class="card-footer svelte-
|
|
590
|
+
$$payload2.out += `<!--]--> <div class="card-footer svelte-bpb2i4">`;
|
|
428
591
|
Button($$payload2, {
|
|
429
592
|
disabled: userFormSaving,
|
|
430
593
|
children: ($$payload3) => {
|
|
431
|
-
$$payload3.out += `<!---->${escape_html(
|
|
594
|
+
$$payload3.out += `<!---->${escape_html(addUserLabel())}`;
|
|
432
595
|
},
|
|
433
596
|
$$slots: { default: true }
|
|
434
597
|
});
|
|
@@ -436,16 +599,16 @@ function _page($$payload, $$props) {
|
|
|
436
599
|
if (allUsers.length > 0) {
|
|
437
600
|
$$payload2.out += "<!--[-->";
|
|
438
601
|
const each_array_5 = ensure_array_like(allUsers);
|
|
439
|
-
$$payload2.out += `<div class="users-table svelte-
|
|
602
|
+
$$payload2.out += `<div class="users-table svelte-bpb2i4"><!--[-->`;
|
|
440
603
|
for (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {
|
|
441
604
|
let u = each_array_5[$$index_5];
|
|
442
|
-
$$payload2.out += `<div class="user-row svelte-
|
|
605
|
+
$$payload2.out += `<div class="user-row svelte-bpb2i4"><div class="user-info svelte-bpb2i4"><span class="user-name svelte-bpb2i4">${escape_html(u.name)}</span> <span class="user-email svelte-bpb2i4">${escape_html(u.email)}</span></div> <span${attr("class", `role-chip ${stringify(u.role)} svelte-bpb2i4`)}>${escape_html(u.role)}</span> `;
|
|
443
606
|
if (u.id !== store_get($$store_subs ??= {}, "$auth", auth).user?.id) {
|
|
444
607
|
$$payload2.out += "<!--[-->";
|
|
445
|
-
$$payload2.out += `<button class="icon-btn danger svelte-
|
|
608
|
+
$$payload2.out += `<button class="icon-btn danger svelte-bpb2i4"${attr("title", REMOVE_USER_ICON_TITLE)}><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"></path><path d="M10 11v6M14 11v6"></path><path d="M9 6V4h6v2"></path></svg></button>`;
|
|
446
609
|
} else {
|
|
447
610
|
$$payload2.out += "<!--[!-->";
|
|
448
|
-
$$payload2.out += `<span class="you-chip svelte-
|
|
611
|
+
$$payload2.out += `<span class="you-chip svelte-bpb2i4">${escape_html(YOU_CHIP_LABEL)}</span>`;
|
|
449
612
|
}
|
|
450
613
|
$$payload2.out += `<!--]--></div>`;
|
|
451
614
|
}
|
|
@@ -458,32 +621,28 @@ function _page($$payload, $$props) {
|
|
|
458
621
|
$$payload2.out += "<!--[!-->";
|
|
459
622
|
if (section === "backup") {
|
|
460
623
|
$$payload2.out += "<!--[-->";
|
|
461
|
-
$$payload2.out += `<div class="content-section svelte-
|
|
462
|
-
S3-compatible storage — Cloudflare R2, Backblaze B2, AWS S3, or MinIO.</p></div> <div class="card settings-card svelte-9l533f"><p class="card-title">Manual Backup</p> <div class="backup-row svelte-9l533f"><div class="backup-block svelte-9l533f"><p class="backup-block-title svelte-9l533f">Export</p> <p class="backup-block-desc svelte-9l533f">Downloads a <code class="svelte-9l533f">.json</code> file with all cron jobs, test cases, test runs, users,
|
|
463
|
-
runners, and project settings.</p> `;
|
|
624
|
+
$$payload2.out += `<div class="content-section svelte-bpb2i4"><div class="content-header svelte-bpb2i4"><h2 class="svelte-bpb2i4">${escape_html(BACKUP_LABEL)}</h2> <p class="content-desc svelte-bpb2i4">${escape_html(BACKUP_DESC)}</p></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title">${escape_html(MANUAL_BACKUP_CARD_TITLE)}</p> <div class="backup-row svelte-bpb2i4"><div class="backup-block svelte-bpb2i4"><p class="backup-block-title svelte-bpb2i4">${escape_html(EXPORT_BLOCK_TITLE)}</p> <p class="backup-block-desc svelte-bpb2i4">${escape_html(EXPORT_BLOCK_DESC_PREFIX)} <code class="svelte-bpb2i4">.json</code> ${escape_html(EXPORT_BLOCK_DESC_SUFFIX)}</p> `;
|
|
464
625
|
Button($$payload2, {
|
|
465
626
|
disabled: exporting,
|
|
466
627
|
children: ($$payload3) => {
|
|
467
|
-
$$payload3.out += `<!---->${escape_html(
|
|
628
|
+
$$payload3.out += `<!---->${escape_html(exportLabel())}`;
|
|
468
629
|
},
|
|
469
630
|
$$slots: { default: true }
|
|
470
631
|
});
|
|
471
|
-
$$payload2.out += `<!----></div> <div class="backup-divider svelte-
|
|
472
|
-
overwritten. Cron jobs are re-scheduled after import.</p> <div class="import-row svelte-9l533f"><label class="file-label svelte-9l533f"><input type="file" accept=".json" class="file-input-hidden svelte-9l533f"> <span class="file-btn svelte-9l533f">${escape_html("Choose file…")}</span></label> `;
|
|
632
|
+
$$payload2.out += `<!----></div> <div class="backup-divider svelte-bpb2i4"></div> <div class="backup-block svelte-bpb2i4"><p class="backup-block-title svelte-bpb2i4">${escape_html(IMPORT_BLOCK_TITLE)}</p> <p class="backup-block-desc svelte-bpb2i4">${escape_html(IMPORT_BLOCK_DESC)}</p> <div class="import-row svelte-bpb2i4"><label class="file-label svelte-bpb2i4"><input type="file" accept=".json" class="file-input-hidden svelte-bpb2i4"> <span class="file-btn svelte-bpb2i4">${escape_html(CHOOSE_FILE_LABEL)}</span></label> `;
|
|
473
633
|
Button($$payload2, {
|
|
474
634
|
disabled: true,
|
|
475
635
|
children: ($$payload3) => {
|
|
476
|
-
$$payload3.out += `<!---->${escape_html(
|
|
636
|
+
$$payload3.out += `<!---->${escape_html(importLabel())}`;
|
|
477
637
|
},
|
|
478
638
|
$$slots: { default: true }
|
|
479
639
|
});
|
|
480
|
-
$$payload2.out += `<!----></div></div></div> <p class="backup-disclaimer svelte-
|
|
481
|
-
Leave <strong>Endpoint URL</strong> empty for AWS S3.</p> <div class="field-row svelte-9l533f"><div class="field"><label class="field-label svelte-9l533f" for="s3-endpoint"><span>Endpoint URL</span> <span class="field-hint svelte-9l533f">Leave blank for AWS S3</span></label> <input id="s3-endpoint" type="url" class="field-input"${attr("value", backupConfig.backupS3Endpoint)} placeholder="https://account.r2.cloudflarestorage.com"></div> <div class="field"><label class="field-label svelte-9l533f" for="s3-region"><span>Region</span> <span class="field-hint svelte-9l533f">Use <code>auto</code> for Cloudflare R2</span></label> <input id="s3-region" type="text" class="field-input"${attr("value", backupConfig.backupS3Region)} placeholder="us-east-1"></div></div> <div class="field-row svelte-9l533f"><div class="field"><label class="field-label svelte-9l533f" for="s3-bucket"><span>Bucket</span></label> <input id="s3-bucket" type="text" class="field-input"${attr("value", backupConfig.backupS3Bucket)} placeholder="my-plum-backups"></div> <div class="field"><label class="field-label svelte-9l533f" for="s3-prefix"><span>Path Prefix</span> <span class="field-hint svelte-9l533f">Optional folder inside the bucket</span></label> <input id="s3-prefix" type="text" class="field-input"${attr("value", backupConfig.backupS3Prefix)} placeholder="plum/"></div></div> <div class="field-row svelte-9l533f"><div class="field"><label class="field-label svelte-9l533f" for="s3-access-key"><span>Access Key ID</span></label> <input id="s3-access-key" type="text" class="field-input"${attr("value", backupConfig.backupS3AccessKey)} placeholder="AKIAIOSFODNN7EXAMPLE" autocomplete="off"></div> <div class="field"><label class="field-label svelte-9l533f" for="s3-secret-key"><span>Secret Access Key</span> <span class="field-hint svelte-9l533f">${escape_html("Required")}</span></label> <input id="s3-secret-key" type="password" class="field-input"${attr("value", backupConfig.backupS3SecretKey)}${attr("placeholder", "Enter secret key")} autocomplete="new-password"></div></div> <div class="backup-actions svelte-9l533f">`;
|
|
640
|
+
$$payload2.out += `<!----></div></div></div> <p class="backup-disclaimer svelte-bpb2i4">${escape_html(BACKUP_DISCLAIMER_PREFIX)} <code>pg_dump</code> ${escape_html(BACKUP_DISCLAIMER_SUFFIX)}</p></div> <div class="card settings-card svelte-bpb2i4"><p class="card-title">${escape_html(S3_STORAGE_CARD_TITLE)}</p> <p class="backup-block-desc svelte-bpb2i4" style="margin-bottom: 1.25rem;">${escape_html(S3_STORAGE_DESC_PREFIX)} <strong>${escape_html(ENDPOINT_URL_LABEL)}</strong> ${escape_html(S3_STORAGE_DESC_SUFFIX)}</p> <div class="field-row svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="s3-endpoint"><span>${escape_html(ENDPOINT_URL_LABEL)}</span> <span class="field-hint svelte-bpb2i4">${escape_html(ENDPOINT_URL_HINT)}</span></label> <input id="s3-endpoint" type="url" class="field-input"${attr("value", backupConfig.backupS3Endpoint)}${attr("placeholder", ENDPOINT_URL_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-bpb2i4" for="s3-region"><span>${escape_html(REGION_LABEL)}</span> <span class="field-hint svelte-bpb2i4">${escape_html(REGION_HINT_PREFIX)} <code>auto</code> ${escape_html(REGION_HINT_SUFFIX)}</span></label> <input id="s3-region" type="text" class="field-input"${attr("value", backupConfig.backupS3Region)}${attr("placeholder", REGION_PLACEHOLDER)}></div></div> <div class="field-row svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="s3-bucket"><span>${escape_html(BUCKET_LABEL)}</span></label> <input id="s3-bucket" type="text" class="field-input"${attr("value", backupConfig.backupS3Bucket)}${attr("placeholder", BUCKET_PLACEHOLDER)}></div> <div class="field"><label class="field-label svelte-bpb2i4" for="s3-prefix"><span>${escape_html(PATH_PREFIX_LABEL)}</span> <span class="field-hint svelte-bpb2i4">${escape_html(PATH_PREFIX_HINT)}</span></label> <input id="s3-prefix" type="text" class="field-input"${attr("value", backupConfig.backupS3Prefix)}${attr("placeholder", PATH_PREFIX_PLACEHOLDER)}></div></div> <div class="field-row svelte-bpb2i4"><div class="field"><label class="field-label svelte-bpb2i4" for="s3-access-key"><span>${escape_html(ACCESS_KEY_LABEL)}</span></label> <input id="s3-access-key" type="text" class="field-input"${attr("value", backupConfig.backupS3AccessKey)}${attr("placeholder", ACCESS_KEY_PLACEHOLDER)} autocomplete="off"></div> <div class="field"><label class="field-label svelte-bpb2i4" for="s3-secret-key"><span>${escape_html(SECRET_KEY_LABEL)}</span> <span class="field-hint svelte-bpb2i4">${escape_html(secretKeyHint())}</span></label> <input id="s3-secret-key" type="password" class="field-input"${attr("value", backupConfig.backupS3SecretKey)}${attr("placeholder", secretKeyPlaceholder(backupS3SecretKeySet))} autocomplete="new-password"></div></div> <div class="backup-actions svelte-bpb2i4">`;
|
|
482
641
|
Button($$payload2, {
|
|
483
642
|
variant: "ghost",
|
|
484
643
|
disabled: backupTestingS3,
|
|
485
644
|
children: ($$payload3) => {
|
|
486
|
-
$$payload3.out += `<!---->${escape_html(
|
|
645
|
+
$$payload3.out += `<!---->${escape_html(testConnectionLabel())}`;
|
|
487
646
|
},
|
|
488
647
|
$$slots: { default: true }
|
|
489
648
|
});
|
|
@@ -491,7 +650,7 @@ function _page($$payload, $$props) {
|
|
|
491
650
|
Button($$payload2, {
|
|
492
651
|
disabled: backupConfigSaving,
|
|
493
652
|
children: ($$payload3) => {
|
|
494
|
-
$$payload3.out += `<!---->${escape_html(
|
|
653
|
+
$$payload3.out += `<!---->${escape_html(saveS3ConfigLabel())}`;
|
|
495
654
|
},
|
|
496
655
|
$$slots: { default: true }
|
|
497
656
|
});
|
|
@@ -499,22 +658,22 @@ function _page($$payload, $$props) {
|
|
|
499
658
|
{
|
|
500
659
|
$$payload2.out += "<!--[!-->";
|
|
501
660
|
}
|
|
502
|
-
$$payload2.out += `<!--]--></div> <div${attr("class", `card settings-card svelte-
|
|
661
|
+
$$payload2.out += `<!--]--></div> <div${attr("class", `card settings-card svelte-bpb2i4 ${stringify([!s3Configured ? "card-disabled" : ""].filter(Boolean).join(" "))}`)}><p class="card-title">${escape_html(SCHEDULED_BACKUP_CARD_TITLE)}</p> `;
|
|
503
662
|
if (!s3Configured) {
|
|
504
663
|
$$payload2.out += "<!--[-->";
|
|
505
|
-
$$payload2.out += `<p class="backup-block-desc svelte-
|
|
664
|
+
$$payload2.out += `<p class="backup-block-desc svelte-bpb2i4">${escape_html(CONFIGURE_S3_FIRST_MESSAGE)}</p>`;
|
|
506
665
|
} else {
|
|
507
666
|
$$payload2.out += "<!--[!-->";
|
|
508
|
-
$$payload2.out += `<div class="field"><label class="field-label backup-toggle-label svelte-
|
|
667
|
+
$$payload2.out += `<div class="field"><label class="field-label backup-toggle-label svelte-bpb2i4" for="backup-enabled"><span>${escape_html(ENABLE_SCHEDULED_BACKUP_LABEL)}</span> <button id="backup-enabled"${attr("class", `toggle-btn svelte-bpb2i4 ${stringify([""].filter(Boolean).join(" "))}`)} role="switch"${attr("aria-checked", backupConfig.backupEnabled)}><span class="toggle-thumb svelte-bpb2i4"></span></button></label></div> <div class="field"><label class="field-label svelte-bpb2i4" for="backup-cron"><span>${escape_html(CRON_EXPRESSION_LABEL)}</span> <span class="field-hint svelte-bpb2i4">${escape_html(CRON_HINT_PREFIX)} <code>0 2 * * *</code> ${escape_html(CRON_HINT_SUFFIX)} <a href="https://crontab.guru" target="_blank" rel="noopener noreferrer">${escape_html(CRONTAB_LINK_LABEL)}</a></span></label> <input id="backup-cron" type="text" class="field-input field-input-mono svelte-bpb2i4"${attr("value", backupConfig.backupCron)}${attr("placeholder", CRON_PLACEHOLDER)}></div> `;
|
|
509
668
|
{
|
|
510
669
|
$$payload2.out += "<!--[!-->";
|
|
511
670
|
}
|
|
512
|
-
$$payload2.out += `<!--]--> <div class="backup-actions svelte-
|
|
671
|
+
$$payload2.out += `<!--]--> <div class="backup-actions svelte-bpb2i4">`;
|
|
513
672
|
Button($$payload2, {
|
|
514
673
|
variant: "ghost",
|
|
515
674
|
disabled: backupRunningNow,
|
|
516
675
|
children: ($$payload3) => {
|
|
517
|
-
$$payload3.out += `<!---->${escape_html(
|
|
676
|
+
$$payload3.out += `<!---->${escape_html(uploadS3NowLabel())}`;
|
|
518
677
|
},
|
|
519
678
|
$$slots: { default: true }
|
|
520
679
|
});
|
|
@@ -522,7 +681,7 @@ function _page($$payload, $$props) {
|
|
|
522
681
|
Button($$payload2, {
|
|
523
682
|
disabled: backupConfigSaving,
|
|
524
683
|
children: ($$payload3) => {
|
|
525
|
-
$$payload3.out += `<!---->${escape_html(
|
|
684
|
+
$$payload3.out += `<!---->${escape_html(saveScheduleLabel())}`;
|
|
526
685
|
},
|
|
527
686
|
$$slots: { default: true }
|
|
528
687
|
});
|