plum-e2e 2.6.9 → 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/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 +5 -16
- 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/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 +1 -13
- package/bin/postinstall.js +1 -13
- 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 +3 -3
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Badge.D1SV0Gv7.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/EmptyState.DUDM4P19.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Modal.BuaCfdLj.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Pagination.DZmi2Po-.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Toast.DENwYn3g.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.BuhMvMUj.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.0Eln51hV.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.5IJAEAjc.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BR3wgXcZ.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BWAH0Beh.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BZfe6nWe.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Bj_a_5lv.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BwgOqeMo.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CBHi6pzT.css +0 -22
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CFnbmY-D.css +0 -22
- 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 -22
- package/frontend/.svelte-kit/adapter-node/chunks/BackLink.js +0 -22
- package/frontend/.svelte-kit/adapter-node/chunks/Badge.js +1 -23
- package/frontend/.svelte-kit/adapter-node/chunks/ConfirmModal.js +1 -23
- package/frontend/.svelte-kit/adapter-node/chunks/EmptyState.js +2 -24
- package/frontend/.svelte-kit/adapter-node/chunks/Modal.js +0 -22
- package/frontend/.svelte-kit/adapter-node/chunks/Toast.js +1 -23
- package/frontend/.svelte-kit/adapter-node/chunks/attributes.js +0 -22
- package/frontend/.svelte-kit/adapter-node/chunks/auth.js +0 -22
- package/frontend/.svelte-kit/adapter-node/chunks/auth2.js +0 -22
- package/frontend/.svelte-kit/adapter-node/chunks/client.js +0 -22
- package/frontend/.svelte-kit/adapter-node/chunks/common.js +9 -29
- package/frontend/.svelte-kit/adapter-node/chunks/constants.js +4 -23
- package/frontend/.svelte-kit/adapter-node/chunks/escaping.js +0 -22
- package/frontend/.svelte-kit/adapter-node/chunks/exports.js +0 -22
- package/frontend/.svelte-kit/adapter-node/chunks/format.js +0 -22
- package/frontend/.svelte-kit/adapter-node/chunks/index-server.js +0 -22
- package/frontend/.svelte-kit/adapter-node/chunks/index.js +4 -26
- package/frontend/.svelte-kit/adapter-node/chunks/index2.js +0 -22
- package/frontend/.svelte-kit/adapter-node/chunks/internal.js +1 -23
- package/frontend/.svelte-kit/adapter-node/chunks/reports.js +0 -22
- package/frontend/.svelte-kit/adapter-node/chunks/reports2.js +0 -22
- package/frontend/.svelte-kit/adapter-node/chunks/repository.js +10 -34
- package/frontend/.svelte-kit/adapter-node/chunks/runner.js +2 -25
- package/frontend/.svelte-kit/adapter-node/chunks/stores.js +0 -22
- package/frontend/.svelte-kit/adapter-node/chunks/theme.js +0 -22
- package/frontend/.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js +0 -22
- package/frontend/.svelte-kit/adapter-node/entries/pages/_layout.js +0 -22
- package/frontend/.svelte-kit/adapter-node/entries/pages/_layout.svelte.js +0 -22
- package/frontend/.svelte-kit/adapter-node/entries/pages/_page.svelte.js +114 -103
- package/frontend/.svelte-kit/adapter-node/entries/pages/login/_page.svelte.js +1 -23
- package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_id_/_page.svelte.js +1 -23
- package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_page.svelte.js +1 -23
- package/frontend/.svelte-kit/adapter-node/entries/pages/reports/live/_page.svelte.js +1 -23
- package/frontend/.svelte-kit/adapter-node/entries/pages/scheduled-tests/_page.svelte.js +1 -23
- package/frontend/.svelte-kit/adapter-node/entries/pages/settings/_page.svelte.js +2 -24
- package/frontend/.svelte-kit/adapter-node/entries/pages/setup/_page.svelte.js +1 -23
- package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/_page.svelte.js +3 -25
- package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/runs/_id_/_page.svelte.js +3 -25
- package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/suites/_id_/_page.svelte.js +3 -25
- package/frontend/.svelte-kit/adapter-node/index.js +0 -22
- package/frontend/.svelte-kit/adapter-node/internal.js +0 -22
- package/frontend/.svelte-kit/adapter-node/manifest-full.js +1 -23
- package/frontend/.svelte-kit/adapter-node/manifest.js +1 -23
- package/frontend/.svelte-kit/adapter-node/nodes/0.js +1 -23
- package/frontend/.svelte-kit/adapter-node/nodes/1.js +1 -23
- package/frontend/.svelte-kit/adapter-node/nodes/10.js +1 -23
- package/frontend/.svelte-kit/adapter-node/nodes/11.js +1 -23
- package/frontend/.svelte-kit/adapter-node/nodes/12.js +1 -23
- package/frontend/.svelte-kit/adapter-node/nodes/2.js +2 -24
- package/frontend/.svelte-kit/adapter-node/nodes/3.js +1 -23
- package/frontend/.svelte-kit/adapter-node/nodes/4.js +1 -23
- package/frontend/.svelte-kit/adapter-node/nodes/5.js +1 -23
- package/frontend/.svelte-kit/adapter-node/nodes/6.js +1 -23
- package/frontend/.svelte-kit/adapter-node/nodes/7.js +1 -23
- package/frontend/.svelte-kit/adapter-node/nodes/8.js +1 -23
- package/frontend/.svelte-kit/adapter-node/nodes/9.js +1 -23
- package/frontend/.svelte-kit/ambient.d.ts +2 -22
- package/frontend/.svelte-kit/generated/client/app.js +0 -22
- package/frontend/.svelte-kit/generated/client/matchers.js +0 -22
- package/frontend/.svelte-kit/generated/client/nodes/0.js +0 -22
- package/frontend/.svelte-kit/generated/client/nodes/1.js +0 -22
- package/frontend/.svelte-kit/generated/client/nodes/10.js +0 -22
- package/frontend/.svelte-kit/generated/client/nodes/11.js +0 -22
- package/frontend/.svelte-kit/generated/client/nodes/12.js +0 -22
- package/frontend/.svelte-kit/generated/client/nodes/2.js +0 -22
- package/frontend/.svelte-kit/generated/client/nodes/3.js +0 -22
- package/frontend/.svelte-kit/generated/client/nodes/4.js +0 -22
- package/frontend/.svelte-kit/generated/client/nodes/5.js +0 -22
- package/frontend/.svelte-kit/generated/client/nodes/6.js +0 -22
- package/frontend/.svelte-kit/generated/client/nodes/7.js +0 -22
- package/frontend/.svelte-kit/generated/client/nodes/8.js +0 -22
- package/frontend/.svelte-kit/generated/client/nodes/9.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/app.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/matchers.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/nodes/0.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/nodes/1.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/nodes/10.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/nodes/11.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/nodes/12.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/nodes/2.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/nodes/3.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/nodes/4.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/nodes/5.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/nodes/6.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/nodes/7.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/nodes/8.js +0 -22
- package/frontend/.svelte-kit/generated/client-optimized/nodes/9.js +0 -22
- package/frontend/.svelte-kit/generated/root.js +0 -22
- package/frontend/.svelte-kit/generated/root.svelte +0 -22
- package/frontend/.svelte-kit/generated/server/internal.js +1 -23
- package/frontend/.svelte-kit/non-ambient.d.ts +0 -22
- package/frontend/.svelte-kit/output/client/.vite/manifest.json +225 -224
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.BhSG-jZH.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/10.CdaQUS6U.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/11.BWAH0Beh.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.Bj_a_5lv.css +0 -22
- 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 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/4.0Eln51hV.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.DFV9OgAu.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/6.CFnbmY-D.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/7.CBHi6pzT.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.BwgOqeMo.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/9._h2o67kg.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Badge.D1SV0Gv7.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Button.FOWXxvc7.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/EmptyState.DUDM4P19.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Modal.BZpm0HP8.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Modal.BuaCfdLj.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Pagination.DZmi2Po-.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Toast.DENwYn3g.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.BuhMvMUj.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.0Eln51hV.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.5IJAEAjc.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BR3wgXcZ.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BWAH0Beh.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BZfe6nWe.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Bj_a_5lv.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BwgOqeMo.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CBHi6pzT.css +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CFnbmY-D.css +0 -22
- 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 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/2zMvi6fR.js +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{D2cvzNT9.js → 3InFPLvE.js} +1 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BAACMRH5.js +0 -22
- 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/{DkNBSlo2.js → BUwxRmHf.js} +1 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Bfc47y5P.js +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DYlaQsvN.js → BmZ9upwL.js} +1 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C1Vid6wz.js +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C8OURRSs.js +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CGeZlCaI.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CKDtmZUQ.js +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CMBQQ9RZ.js +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{BjUpWNbl.js → CMEtqUfQ.js} +1 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CNdcuGR0.js +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CUC98kMZ.js +1 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CgnwuKKO.js +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{B98sHkeB.js → Co3xKhEp.js} +1 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CuqnZUex.js +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DlNYZJ7K.js → CzlPaHY9.js} +1 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DCgHuuvs.js +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DHM6H-es.js +2 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{3IV-uqHa.js → DMZwI8Cj.js} +1 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DMyTUV-Y.js +3 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{D2gYTmAA.js → DSLBMEpr.js} +1 -23
- package/frontend/{build/client/_app/immutable/chunks/DDblTLLE.js → .svelte-kit/output/client/_app/immutable/chunks/DbgD7JLa.js} +1 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Dlnxgs49.js +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/TOCyHP97.js +0 -22
- 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 +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/w0D4Uzlq.js +0 -22
- package/frontend/.svelte-kit/output/client/_app/immutable/entry/{app.BCWbw5zZ.js → app.BkBD0hgA.js} +2 -24
- 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/{build/client/_app/immutable/nodes/10.Bn4Ma-MU.js → .svelte-kit/output/client/_app/immutable/nodes/10.DEbnxfND.js} +1 -23
- package/frontend/{build/client/_app/immutable/nodes/11.BacEu7sW.js → .svelte-kit/output/client/_app/immutable/nodes/11.O4cjXCg4.js} +1 -23
- 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.DHx0kho3.js → 3._S1vrLVF.js} +1 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{4.CnaMiirx.js → 4.D-YT_JJe.js} +1 -23
- package/frontend/{build/client/_app/immutable/nodes/5.B6m-zTVe.js → .svelte-kit/output/client/_app/immutable/nodes/5.BiFBiWcW.js} +1 -23
- package/frontend/{build/client/_app/immutable/nodes/6.BPDag1zv.js → .svelte-kit/output/client/_app/immutable/nodes/6.BNS-W0R_.js} +1 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{7.D7LwxSvT.js → 7.C-pKvVZy.js} +1 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{8.CCkNX20G.js → 8.BEUdazrw.js} +1 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{9.HDerA6JV.js → 9.CrLHYPEJ.js} +1 -23
- package/frontend/.svelte-kit/output/client/_app/version.json +1 -1
- package/frontend/.svelte-kit/output/server/.vite/manifest.json +3 -3
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/Badge.D1SV0Gv7.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/EmptyState.DUDM4P19.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/Modal.BuaCfdLj.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/Pagination.DZmi2Po-.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/Toast.DENwYn3g.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.BuhMvMUj.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.0Eln51hV.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.5IJAEAjc.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BR3wgXcZ.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BWAH0Beh.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BZfe6nWe.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Bj_a_5lv.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BwgOqeMo.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CBHi6pzT.css +0 -22
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CFnbmY-D.css +0 -22
- 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 -22
- package/frontend/.svelte-kit/output/server/chunks/BackLink.js +0 -22
- package/frontend/.svelte-kit/output/server/chunks/Badge.js +1 -23
- package/frontend/.svelte-kit/output/server/chunks/ConfirmModal.js +1 -23
- package/frontend/.svelte-kit/output/server/chunks/EmptyState.js +2 -24
- package/frontend/.svelte-kit/output/server/chunks/Modal.js +0 -22
- package/frontend/.svelte-kit/output/server/chunks/Toast.js +1 -23
- package/frontend/.svelte-kit/output/server/chunks/attributes.js +0 -22
- package/frontend/.svelte-kit/output/server/chunks/auth.js +0 -22
- package/frontend/.svelte-kit/output/server/chunks/auth2.js +0 -22
- package/frontend/.svelte-kit/output/server/chunks/client.js +0 -22
- package/frontend/.svelte-kit/output/server/chunks/common.js +9 -29
- package/frontend/.svelte-kit/output/server/chunks/constants.js +4 -23
- package/frontend/.svelte-kit/output/server/chunks/escaping.js +0 -22
- package/frontend/.svelte-kit/output/server/chunks/exports.js +0 -22
- package/frontend/.svelte-kit/output/server/chunks/format.js +0 -22
- package/frontend/.svelte-kit/output/server/chunks/index-server.js +0 -22
- package/frontend/.svelte-kit/output/server/chunks/index.js +4 -26
- package/frontend/.svelte-kit/output/server/chunks/index2.js +0 -22
- package/frontend/.svelte-kit/output/server/chunks/internal.js +1 -23
- package/frontend/.svelte-kit/output/server/chunks/reports.js +0 -22
- package/frontend/.svelte-kit/output/server/chunks/reports2.js +0 -22
- package/frontend/.svelte-kit/output/server/chunks/repository.js +10 -34
- package/frontend/.svelte-kit/output/server/chunks/runner.js +2 -25
- package/frontend/.svelte-kit/output/server/chunks/stores.js +0 -22
- package/frontend/.svelte-kit/output/server/chunks/theme.js +0 -22
- package/frontend/.svelte-kit/output/server/entries/fallbacks/error.svelte.js +0 -22
- package/frontend/.svelte-kit/output/server/entries/pages/_layout.js +0 -22
- package/frontend/.svelte-kit/output/server/entries/pages/_layout.svelte.js +0 -22
- package/frontend/.svelte-kit/output/server/entries/pages/_page.svelte.js +114 -103
- package/frontend/.svelte-kit/output/server/entries/pages/login/_page.svelte.js +1 -23
- package/frontend/.svelte-kit/output/server/entries/pages/reports/_id_/_page.svelte.js +1 -23
- package/frontend/.svelte-kit/output/server/entries/pages/reports/_page.svelte.js +1 -23
- package/frontend/.svelte-kit/output/server/entries/pages/reports/live/_page.svelte.js +1 -23
- package/frontend/.svelte-kit/output/server/entries/pages/scheduled-tests/_page.svelte.js +1 -23
- package/frontend/.svelte-kit/output/server/entries/pages/settings/_page.svelte.js +2 -24
- package/frontend/.svelte-kit/output/server/entries/pages/setup/_page.svelte.js +1 -23
- package/frontend/.svelte-kit/output/server/entries/pages/test-repository/_page.svelte.js +3 -25
- package/frontend/.svelte-kit/output/server/entries/pages/test-repository/runs/_id_/_page.svelte.js +3 -25
- package/frontend/.svelte-kit/output/server/entries/pages/test-repository/suites/_id_/_page.svelte.js +3 -25
- package/frontend/.svelte-kit/output/server/index.js +0 -22
- package/frontend/.svelte-kit/output/server/internal.js +0 -22
- package/frontend/.svelte-kit/output/server/manifest-full.js +1 -23
- package/frontend/.svelte-kit/output/server/manifest.js +1 -23
- package/frontend/.svelte-kit/output/server/nodes/0.js +1 -23
- package/frontend/.svelte-kit/output/server/nodes/1.js +1 -23
- package/frontend/.svelte-kit/output/server/nodes/10.js +1 -23
- package/frontend/.svelte-kit/output/server/nodes/11.js +1 -23
- package/frontend/.svelte-kit/output/server/nodes/12.js +1 -23
- package/frontend/.svelte-kit/output/server/nodes/2.js +2 -24
- package/frontend/.svelte-kit/output/server/nodes/3.js +1 -23
- package/frontend/.svelte-kit/output/server/nodes/4.js +1 -23
- package/frontend/.svelte-kit/output/server/nodes/5.js +1 -23
- package/frontend/.svelte-kit/output/server/nodes/6.js +1 -23
- package/frontend/.svelte-kit/output/server/nodes/7.js +1 -23
- package/frontend/.svelte-kit/output/server/nodes/8.js +1 -23
- package/frontend/.svelte-kit/output/server/nodes/9.js +1 -23
- package/frontend/Dockerfile +1 -13
- package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css +0 -22
- 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 -22
- 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 +0 -22
- 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 -22
- 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 -22
- 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 -22
- 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 -22
- 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 -22
- 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 -22
- 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 +0 -22
- 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 -22
- 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 -22
- 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 -22
- 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 -22
- 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 +0 -22
- 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 +0 -22
- 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 +0 -22
- 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 +0 -22
- 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 -22
- 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 -22
- 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 -22
- 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 -22
- 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 -22
- 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 -22
- 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 +0 -22
- 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 -22
- 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 -22
- package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css +0 -22
- 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 -22
- 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 -22
- 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 -22
- 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 +0 -22
- 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/{D2cvzNT9.js → 3InFPLvE.js} +1 -23
- package/frontend/build/client/_app/immutable/chunks/3InFPLvE.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/3InFPLvE.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js +0 -22
- 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/{DkNBSlo2.js → BUwxRmHf.js} +1 -23
- 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 -22
- 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/{DYlaQsvN.js → BmZ9upwL.js} +1 -23
- 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 +0 -22
- package/frontend/build/client/_app/immutable/chunks/C1Vid6wz.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C1Vid6wz.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js +0 -22
- 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 +0 -22
- package/frontend/build/client/_app/immutable/chunks/CKDtmZUQ.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CKDtmZUQ.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js +0 -22
- 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/{BjUpWNbl.js → CMEtqUfQ.js} +1 -23
- 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 +0 -22
- 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 +0 -22
- 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/{B98sHkeB.js → Co3xKhEp.js} +1 -23
- package/frontend/build/client/_app/immutable/chunks/Co3xKhEp.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/Co3xKhEp.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js +0 -22
- package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.br +1 -21
- package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{DlNYZJ7K.js → CzlPaHY9.js} +1 -23
- 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 +0 -22
- 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/{3IV-uqHa.js → DMZwI8Cj.js} +1 -23
- 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/{D2gYTmAA.js → DSLBMEpr.js} +1 -23
- 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/{.svelte-kit/output/client/_app/immutable/chunks/DDblTLLE.js → build/client/_app/immutable/chunks/DbgD7JLa.js} +1 -23
- 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 +0 -22
- 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 +0 -22
- 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 +0 -22
- 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 +0 -22
- 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.BCWbw5zZ.js → app.BkBD0hgA.js} +2 -24
- 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/{.svelte-kit/output/client/_app/immutable/nodes/10.Bn4Ma-MU.js → build/client/_app/immutable/nodes/10.DEbnxfND.js} +1 -23
- 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/{.svelte-kit/output/client/_app/immutable/nodes/11.BacEu7sW.js → build/client/_app/immutable/nodes/11.O4cjXCg4.js} +1 -23
- 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.DHx0kho3.js → 3._S1vrLVF.js} +1 -23
- 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.CnaMiirx.js → 4.D-YT_JJe.js} +1 -23
- 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/{.svelte-kit/output/client/_app/immutable/nodes/5.B6m-zTVe.js → build/client/_app/immutable/nodes/5.BiFBiWcW.js} +1 -23
- 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/{.svelte-kit/output/client/_app/immutable/nodes/6.BPDag1zv.js → build/client/_app/immutable/nodes/6.BNS-W0R_.js} +1 -23
- 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.D7LwxSvT.js → 7.C-pKvVZy.js} +1 -23
- 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.CCkNX20G.js → 8.BEUdazrw.js} +1 -23
- 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.HDerA6JV.js → 9.CrLHYPEJ.js} +1 -23
- 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 -22
- package/frontend/build/handler.js +0 -22
- package/frontend/build/index.js +0 -22
- 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-DekQfQHu.js.map → 7-DiQJZEF_.js.map} +1 -21
- 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 -21
- 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 -21
- package/frontend/build/server/chunks/{ConfirmModal-Ckkt99Pn.js → ConfirmModal-C0EAXcq_.js} +4 -26
- package/frontend/build/server/chunks/{ConfirmModal-Ckkt99Pn.js.map → ConfirmModal-C0EAXcq_.js.map} +1 -21
- package/frontend/build/server/chunks/{EmptyState-BwwbShnX.js → EmptyState-BA_eXaeR.js} +3 -25
- package/frontend/build/server/chunks/{EmptyState-BwwbShnX.js.map → EmptyState-BA_eXaeR.js.map} +1 -21
- package/frontend/build/server/chunks/{Modal-DG-6c5si.js → Modal-DChG187n.js} +2 -24
- package/frontend/build/server/chunks/{Modal-DG-6c5si.js.map → Modal-DChG187n.js.map} +1 -21
- package/frontend/build/server/chunks/{Toast-CIG4edEp.js → Toast-v-q4ZnYq.js} +2 -24
- package/frontend/build/server/chunks/{Toast-CIG4edEp.js.map → Toast-v-q4ZnYq.js.map} +1 -21
- package/frontend/build/server/chunks/_layout.svelte-CHVI3Prt.js +24 -0
- package/frontend/build/server/chunks/{_layout.svelte-BjPrZpoG.js.map → _layout.svelte-CHVI3Prt.js.map} +1 -21
- package/frontend/build/server/chunks/{_page.svelte-BbZNxvCl.js → _page.svelte-1as75nPc.js} +14 -35
- package/frontend/build/server/chunks/{_page.svelte-BbZNxvCl.js.map → _page.svelte-1as75nPc.js.map} +1 -21
- package/frontend/build/server/chunks/{_page.svelte-CLFpft5D.js → _page.svelte-1jo8MapI.js} +11 -33
- package/frontend/build/server/chunks/{_page.svelte-CLFpft5D.js.map → _page.svelte-1jo8MapI.js.map} +1 -21
- package/frontend/build/server/chunks/{_page.svelte-BHw14GPR.js → _page.svelte-BuFusRK1.js} +12 -34
- package/frontend/build/server/chunks/{_page.svelte-BHw14GPR.js.map → _page.svelte-BuFusRK1.js.map} +1 -21
- package/frontend/build/server/chunks/{_page.svelte-D78qaBDN.js → _page.svelte-CAVyp70V.js} +14 -35
- package/frontend/build/server/chunks/{_page.svelte-D78qaBDN.js.map → _page.svelte-CAVyp70V.js.map} +1 -21
- package/frontend/build/server/chunks/{_page.svelte-D2oF79cT.js → _page.svelte-CB8-QBNg.js} +11 -33
- package/frontend/build/server/chunks/{_page.svelte-D2oF79cT.js.map → _page.svelte-CB8-QBNg.js.map} +1 -21
- package/frontend/build/server/chunks/{_page.svelte-DyyuZN_3.js → _page.svelte-CWWeZuid.js} +11 -33
- package/frontend/build/server/chunks/{_page.svelte-DyyuZN_3.js.map → _page.svelte-CWWeZuid.js.map} +1 -21
- 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-B9rjnZWE.js.map → _page.svelte-D3E6Eojd.js.map} +1 -21
- package/frontend/build/server/chunks/_page.svelte-Kg69DDaM.js +27 -0
- package/frontend/build/server/chunks/{_page.svelte-D1aYn1PL.js.map → _page.svelte-Kg69DDaM.js.map} +1 -21
- package/frontend/build/server/chunks/{_page.svelte-ubW5EUCf.js → _page.svelte-L9fuiN_q.js} +10 -32
- package/frontend/build/server/chunks/{_page.svelte-ubW5EUCf.js.map → _page.svelte-L9fuiN_q.js.map} +1 -21
- package/frontend/build/server/chunks/{_page.svelte-Cr16HubD.js → _page.svelte-wKyUmA2e.js} +12 -34
- package/frontend/build/server/chunks/{_page.svelte-Cr16HubD.js.map → _page.svelte-wKyUmA2e.js.map} +1 -21
- package/frontend/build/server/chunks/attributes-BeaNKpgU.js +0 -22
- package/frontend/build/server/chunks/attributes-BeaNKpgU.js.map +0 -20
- package/frontend/build/server/chunks/{auth-rlH-cIzn.js → auth-Chw-wBpI.js} +2 -24
- package/frontend/build/server/chunks/{auth-rlH-cIzn.js.map → auth-Chw-wBpI.js.map} +1 -21
- package/frontend/build/server/chunks/auth2-C02yYDpz.js +0 -22
- package/frontend/build/server/chunks/auth2-C02yYDpz.js.map +0 -20
- package/frontend/build/server/chunks/client-DEmxR_a-.js +40 -0
- package/frontend/build/server/chunks/{client-DyII78e0.js.map → client-DEmxR_a-.js.map} +1 -21
- 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 -21
- package/frontend/build/server/chunks/escaping-CqgfEcN3.js +0 -22
- package/frontend/build/server/chunks/escaping-CqgfEcN3.js.map +0 -20
- package/frontend/build/server/chunks/exports-D0QHgeSL.js +0 -22
- package/frontend/build/server/chunks/exports-D0QHgeSL.js.map +0 -20
- package/frontend/build/server/chunks/{format-0SSB1oGG.js → format-CiNRMfHu.js} +2 -24
- package/frontend/build/server/chunks/{format-0SSB1oGG.js.map → format-CiNRMfHu.js.map} +1 -21
- 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 -24
- package/frontend/build/server/chunks/{index2-DG8XHU5D.js.map → index2-5R1tbrep.js.map} +1 -21
- package/frontend/build/server/chunks/reports-D_ApeeNh.js +23 -0
- package/frontend/build/server/chunks/{reports-DnYbvluH.js.map → reports-D_ApeeNh.js.map} +1 -21
- package/frontend/build/server/chunks/{reports2-DR4XlcJg.js → reports2-BtElN_53.js} +2 -24
- package/frontend/build/server/chunks/{reports2-DR4XlcJg.js.map → reports2-BtElN_53.js.map} +1 -21
- package/frontend/build/server/chunks/{repository-D9Derhnk.js → repository-FYYV_vKE.js} +3 -26
- 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 -21
- 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 +2 -24
- package/frontend/build/server/index.js.map +1 -21
- package/frontend/build/server/manifest.js +14 -36
- package/frontend/build/server/manifest.js.map +1 -21
- package/frontend/build/shims.js +0 -22
- 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 +2 -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/_page.CrXpMrqh.css +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/2.CrXpMrqh.css +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CrXpMrqh.css +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/4N1zIH8t.js +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BhvHtTRh.js +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C1sukchk.js +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DW85KPAh.js +0 -24
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DW_iTTZe.js +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DtGXv8RA.js +0 -25
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/oN0Z3NSF.js +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/entry/start.2_AF42wj.js +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.BAqq2UTE.js +0 -28
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/1.D5VvLtGP.js +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.0YGtl1uj.js +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.C2jjMA-Z.js +0 -23
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CrXpMrqh.css +0 -23
- package/frontend/build/client/_app/immutable/assets/2.CrXpMrqh.css +0 -23
- 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/_page.CrXpMrqh.css +0 -23
- 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/3IV-uqHa.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/3IV-uqHa.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/4N1zIH8t.js +0 -23
- package/frontend/build/client/_app/immutable/chunks/4N1zIH8t.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/4N1zIH8t.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/B98sHkeB.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/B98sHkeB.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BhvHtTRh.js +0 -23
- package/frontend/build/client/_app/immutable/chunks/BhvHtTRh.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BhvHtTRh.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BjUpWNbl.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BjUpWNbl.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/C1sukchk.js +0 -23
- package/frontend/build/client/_app/immutable/chunks/C1sukchk.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C1sukchk.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/D2cvzNT9.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/D2cvzNT9.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/D2gYTmAA.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/D2gYTmAA.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DDblTLLE.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DDblTLLE.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DW85KPAh.js +0 -24
- package/frontend/build/client/_app/immutable/chunks/DW85KPAh.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DW85KPAh.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DW_iTTZe.js +0 -23
- package/frontend/build/client/_app/immutable/chunks/DW_iTTZe.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DW_iTTZe.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DYlaQsvN.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DYlaQsvN.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DkNBSlo2.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DkNBSlo2.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DlNYZJ7K.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DlNYZJ7K.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DtGXv8RA.js +0 -25
- package/frontend/build/client/_app/immutable/chunks/DtGXv8RA.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DtGXv8RA.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/oN0Z3NSF.js +0 -23
- package/frontend/build/client/_app/immutable/chunks/oN0Z3NSF.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/oN0Z3NSF.js.gz +0 -0
- package/frontend/build/client/_app/immutable/entry/app.BCWbw5zZ.js.br +0 -0
- package/frontend/build/client/_app/immutable/entry/app.BCWbw5zZ.js.gz +0 -0
- package/frontend/build/client/_app/immutable/entry/start.2_AF42wj.js +0 -23
- package/frontend/build/client/_app/immutable/entry/start.2_AF42wj.js.br +0 -22
- package/frontend/build/client/_app/immutable/entry/start.2_AF42wj.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.BAqq2UTE.js +0 -28
- package/frontend/build/client/_app/immutable/nodes/0.BAqq2UTE.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.BAqq2UTE.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.D5VvLtGP.js +0 -23
- package/frontend/build/client/_app/immutable/nodes/1.D5VvLtGP.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.D5VvLtGP.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.Bn4Ma-MU.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.Bn4Ma-MU.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.BacEu7sW.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.BacEu7sW.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.0YGtl1uj.js +0 -23
- package/frontend/build/client/_app/immutable/nodes/12.0YGtl1uj.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.0YGtl1uj.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.C2jjMA-Z.js +0 -23
- package/frontend/build/client/_app/immutable/nodes/2.C2jjMA-Z.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.C2jjMA-Z.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.DHx0kho3.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.DHx0kho3.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.CnaMiirx.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.CnaMiirx.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.B6m-zTVe.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.B6m-zTVe.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.BPDag1zv.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.BPDag1zv.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.D7LwxSvT.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.D7LwxSvT.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.CCkNX20G.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.CCkNX20G.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.HDerA6JV.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.HDerA6JV.js.gz +0 -0
- package/frontend/build/server/chunks/0-Di4jNU9J.js +0 -39
- package/frontend/build/server/chunks/0-Di4jNU9J.js.map +0 -21
- package/frontend/build/server/chunks/1-DR5YRUTa.js +0 -31
- package/frontend/build/server/chunks/1-DR5YRUTa.js.map +0 -21
- package/frontend/build/server/chunks/10-Bhe409bL.js +0 -31
- package/frontend/build/server/chunks/10-Bhe409bL.js.map +0 -21
- package/frontend/build/server/chunks/11-DqyXW7n1.js +0 -31
- package/frontend/build/server/chunks/11-DqyXW7n1.js.map +0 -21
- package/frontend/build/server/chunks/12-BCpjMUbs.js +0 -31
- package/frontend/build/server/chunks/12-BCpjMUbs.js.map +0 -21
- package/frontend/build/server/chunks/2-D-0buH5i.js +0 -31
- package/frontend/build/server/chunks/2-D-0buH5i.js.map +0 -21
- package/frontend/build/server/chunks/3-y2kzPO2X.js +0 -31
- package/frontend/build/server/chunks/3-y2kzPO2X.js.map +0 -21
- package/frontend/build/server/chunks/4-CFrK8HST.js +0 -31
- package/frontend/build/server/chunks/4-CFrK8HST.js.map +0 -21
- package/frontend/build/server/chunks/5-B0lJu5bT.js +0 -31
- package/frontend/build/server/chunks/5-B0lJu5bT.js.map +0 -21
- package/frontend/build/server/chunks/6-BD4CEJ3Z.js +0 -31
- package/frontend/build/server/chunks/6-BD4CEJ3Z.js.map +0 -21
- package/frontend/build/server/chunks/7-DekQfQHu.js +0 -31
- package/frontend/build/server/chunks/8-BMqmu7WF.js +0 -31
- package/frontend/build/server/chunks/8-BMqmu7WF.js.map +0 -21
- package/frontend/build/server/chunks/9-C5sKo9aY.js +0 -31
- package/frontend/build/server/chunks/9-C5sKo9aY.js.map +0 -21
- package/frontend/build/server/chunks/BackLink-KxZNqsaq.js +0 -35
- package/frontend/build/server/chunks/Badge-B5V-z6pI.js +0 -35
- package/frontend/build/server/chunks/_layout.svelte-BjPrZpoG.js +0 -46
- package/frontend/build/server/chunks/_page.svelte-B9rjnZWE.js +0 -49
- package/frontend/build/server/chunks/_page.svelte-D1aYn1PL.js +0 -49
- package/frontend/build/server/chunks/_page.svelte-sbqebZYx.js +0 -206
- package/frontend/build/server/chunks/_page.svelte-sbqebZYx.js.map +0 -21
- package/frontend/build/server/chunks/client-DyII78e0.js +0 -62
- package/frontend/build/server/chunks/common-Db-bgKYG.js +0 -42
- package/frontend/build/server/chunks/common-Db-bgKYG.js.map +0 -21
- package/frontend/build/server/chunks/constants-cZ2kUwWa.js +0 -41
- package/frontend/build/server/chunks/constants-cZ2kUwWa.js.map +0 -21
- package/frontend/build/server/chunks/error.svelte-BDW3iP1O.js +0 -50
- package/frontend/build/server/chunks/index-server-Dr2Nvcmu.js +0 -36
- package/frontend/build/server/chunks/index-server-Dr2Nvcmu.js.map +0 -21
- package/frontend/build/server/chunks/reports-DnYbvluH.js +0 -45
- package/frontend/build/server/chunks/repository-D9Derhnk.js.map +0 -21
- package/frontend/build/server/chunks/runner-DE5sufZH.js +0 -54
- package/frontend/build/server/chunks/runner-DE5sufZH.js.map +0 -21
- package/frontend/build/server/chunks/stores-DlkXV308.js +0 -49
- package/frontend/build/server/chunks/theme-D_NKm6iI.js +0 -32
- package/frontend/build/server/chunks/theme-D_NKm6iI.js.map +0 -21
- package/resources/gpl-3.0-license.txt +0 -14
|
@@ -1,23 +0,0 @@
|
|
|
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
|
-
/*
|
|
19
|
-
* This file is part of Plum.
|
|
20
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
import{p as t}from"./4N1zIH8t.js";const e="Test Repository",E="Name",o="Description",_="Priority",n="Title",T="Name is required.",c="Title is required.",L="Test Repository — Plum",A="Test Repository",S="Manage test suites, cases, and track manual test runs.",i="+ New Suite",D="+ New Run",d="Suites",I="Test Runs",R="Search by ID or name…",N="Sort by",u="No results",O="Cases",C="Suites",r="automated",l="Delete suite",U="Delete run",B="Duplicate run",p="No test suites yet",P="Create your first suite to start organising test cases.",b="No test runs yet",F="Create a test run to start executing and tracking manual tests.",M="New Test Suite",m="New Test Run",h="Login flows",$="What this suite covers…",g="Sprint 12 regression",y="Duplicate Run",H="Duplicate",G="? A copy will be added at the top of the list.",f="Failed to load data",Y="Failed to delete suite.",k="Failed to duplicate run.",v="Failed to delete run.",w=s=>`Nothing matches "${s}".`,x=s=>`by ${s}`,W=s=>`${s} ${t(s,"case")}`,K=s=>s?"Creating…":"Create Suite",X=s=>s?"Creating…":"Create Run",V=s=>`Delete ${s==="suite"?"Suite":"Run"}`,q=s=>`Suite "${s}" created.`,z=s=>`Suite "${s}" deleted.`,Q=s=>`Duplicated as "${s}".`,j=s=>`Run "${s}" deleted.`,J="Delete Test Case",Z="New Test Case",ss="User can log in with valid credentials",ts="What this case verifies…",as="Create Case",es="Edit Suite",Es="Edit suite",os="Edit case",_s="Test Cases",ns="+ Add Case",Ts="Filter by ID or name…",cs="No cases yet",Ls="Add your first test case to this suite.",As="No cases match",Ss="Date",is="Step",Ds="Action",ds="Test Data",Is="Expected Output",Rs="Describe the action…",Ns="Optional",us="What should happen…",Os='No steps. Click "+ Add step" to begin.',Cs="+ Add step",rs="Edit Steps",ls='No steps defined. Click "Edit Steps" to add them.',Us="Steps",Bs="History",ps="No history yet. Results appear after test runs or automated builds.",Ps="Automated run ↗",bs="Report not found",Fs="Run not found",Ms="Failed to load suite",ms="Failed to load case",hs="Failed to delete case.",$s="Test case updated.",gs="Steps saved.",ys="Suite updated.",Hs=s=>`${s?`${s.displayId} — ${s.name}`:"Suite"} — Plum`,Gs=s=>`Created by ${s}`,fs=s=>`${s} created.`,Ys=s=>`${s} deleted.`,ks=s=>`${s} ${t(s,"step")}`,vs=s=>s?"Saving…":"Save Steps",ws=s=>`${s} ↗`,xs="Edit Run",Ws="Edit run",Ks="Reopen",Xs="Start Execution",Vs="Stop Execution",qs="← Edit Run",zs="Mark Complete",Qs="Build",js="Execute",Js="In this run",Zs="locked",st="No cases in this run.",tt="Unassigned",at="Suite browser",et="Search cases…",Et="No matching cases",ot="No cases in this suite",_t="All cases added",nt="No suites available.",Tt="This run is not in progress — start execution to record results.",ct="Toggle steps",Lt="Assign to me",At="In Progress",St="Pass",it="Fail",Dt="Blocked",dt="Skip",It="Reset to pending",Rt="↩ Reset",Nt="Failed to add case.",ut="Run updated.",Ot="Run saved.",Ct="Run marked as complete.",rt="Run reopened.",lt=s=>`${(s==null?void 0:s.title)??"Test Run"} — Plum`,Ut=s=>`${s} passed`,Bt=s=>`${s} failed`,pt=s=>`${s} remaining`,Pt=s=>`Data: ${s}`,bt=s=>`Expected: ${s}`;export{es as $,u as A,P as B,p as C,H as D,l as E,f as F,W as G,A as H,x as I,F as J,b as K,B as L,U as M,M as N,w as O,L as P,O as Q,I as R,d as S,n as T,r as U,C as V,Hs as W,J as X,Z as Y,ss as Z,ts as _,S as a,dt as a$,Ys as a0,Ms as a1,hs as a2,as as a3,fs as a4,ys as a5,e as a6,Es as a7,_s as a8,ns as a9,ls as aA,bs as aB,ws as aC,Fs as aD,lt as aE,xs as aF,ut as aG,Ws as aH,Qs as aI,js as aJ,Ks as aK,Js as aL,ct as aM,rt as aN,Zs as aO,st as aP,tt as aQ,at as aR,et as aS,Tt as aT,Ut as aU,Bt as aV,pt as aW,At as aX,St as aY,it as aZ,Dt as a_,Gs as aa,Ts as ab,Ss as ac,Ls as ad,cs as ae,As as af,ks as ag,ms as ah,Us as ai,Bs as aj,os as ak,$s as al,rs as am,vs as an,Cs as ao,ps as ap,Ps as aq,gs as ar,Os as as,is as at,Rs as au,ds as av,Ns as aw,Is as ax,us as ay,Ds as az,y as b,It as b0,Rt as b1,Pt as b2,bt as b3,Lt as b4,Ot as b5,Nt as b6,Xs as b7,Vs as b8,qs as b9,zs as ba,Et as bb,ot as bc,_t as bd,nt as be,Ct as bf,G as c,E as d,h as e,o as f,$ as g,_ as h,K as i,m as j,g as k,X as l,R as m,Y as n,v as o,V as p,Q as q,j as r,z as s,k as t,T as u,q as v,c as w,i as x,D as y,N as z};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,23 +0,0 @@
|
|
|
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
|
-
/*
|
|
19
|
-
* This file is part of Plum.
|
|
20
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
import{c as M,a as r,s as n,t as d,b as j}from"./CMBQQ9RZ.js";import"./CKDtmZUQ.js";import{f as G,d as v,k as m,j as P,t as o}from"./BAACMRH5.js";import{i as b}from"./CgnwuKKO.js";import{s as g,b as Y}from"./TOCyHP97.js";import{p as l}from"./C8OURRSs.js";import{n as q}from"./4N1zIH8t.js";var w=d('<p class="empty-desc svelte-iaevnx"> </p>'),B=d('<div><p class="empty-title svelte-iaevnx"> </p> <!></div>'),C=d("<p><!></p>");function N(u,a){let c=l(a,"title",8,""),x=l(a,"description",8,""),S=l(a,"message",8,q),E=l(a,"size",8,"md");var y=M(),T=G(y);{var h=e=>{var t=B(),s=v(t),p=v(s,!0);m(s);var i=P(s,2);{var z=f=>{var _=w(),A=v(_,!0);m(_),o(()=>n(A,x())),r(f,_)};b(i,f=>{x()&&f(z)})}m(t),o(()=>{g(t,`empty ${E()??""} svelte-iaevnx`),n(p,c())}),r(e,t)},k=e=>{var t=C(),s=v(t);Y(s,a,"default",{},p=>{var i=j();o(()=>n(i,S())),r(p,i)}),m(t),o(()=>g(t,`empty ${E()??""} svelte-iaevnx`)),r(e,t)};b(T,e=>{c()?e(h):e(k,!1)})}r(u,y)}export{N as E};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,24 +0,0 @@
|
|
|
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
|
-
/*
|
|
19
|
-
* This file is part of Plum.
|
|
20
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
import{w as n,B as s}from"./BAACMRH5.js";import{B as S}from"./4N1zIH8t.js";const R=Object.freeze({RUN_TEST:"run-test",CANCEL_TEST:"cancel-test",LOG:"log",DONE:"done",STEP_SCREENSHOT:"step-screenshot",RUNNER_LANES_INIT:"runner-lanes-init",RUNNER_LANE_LOG:"runner-lane-log",RUNNER_LANE_STATUS:"runner-lane-status",RUNNER_LANE_SCREENSHOT:"runner-lane-screenshot",BG_RUN_START:"bg-run-start",BG_RUN_LOG:"bg-run-log",BG_RUN_DONE:"bg-run-done",BG_RUN_SCREENSHOT:"bg-run-screenshot",BG_RUN_LANES_INIT:"bg-run-lanes-init",BG_RUN_LANE_LOG:"bg-run-lane-log",BG_RUN_LANE_STATUS:"bg-run-lane-status",BG_RUN_LANE_SCREENSHOT:"bg-run-lane-screenshot",TESTS_CHANGED:"tests-changed",REPORT_READY:"report-ready"}),c=n(null),g=n({output:"",running:!1,testCompleted:!1,latestReportId:null,status:"idle",lastRunId:"",lanes:[],currentRun:null,latestScreenshot:null}),T=n({workers:1,testID:"",browser:S[0].id,selectedRunners:["built-in"]}),d=n(!1),p=n(!0),U=n(0),A=n(0),L=n(0),O=n({});function C(e,E,r={},N=null){const u=s(c);if(!u)return;const{workers:a,testID:_,browser:l,selectedRunners:o}=s(T),t=(e!==void 0?e:_).trim().replace(/\sOR\s/gi,i=>i.toLowerCase());g.set({output:`Running: ${t||"(all tests)"}
|
|
24
|
-
`,running:!0,testCompleted:!1,latestReportId:null,status:"running",lastRunId:t,lanes:[],currentRun:{tag:t,workers:a,browser:l,runners:o,runTitle:N},latestScreenshot:null}),d.set(!0),u.emit(R.RUN_TEST,{tag:t,workers:a,browser:l,runners:o,testRunId:E??null,notifyDiscord:r.notifyDiscord??!1,notifySlack:r.notifySlack??!1})}function G(){const e=s(c);e&&e.emit(R.CANCEL_TEST)}export{R as S,A as a,O as b,g as c,G as d,T as e,C as f,p as g,d as p,L as r,c as s,U as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,23 +0,0 @@
|
|
|
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
|
-
/*
|
|
19
|
-
* This file is part of Plum.
|
|
20
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
import{s as e}from"./DtGXv8RA.js";const r=()=>{const s=e;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},b={subscribe(s){return r().page.subscribe(s)}};export{b as p};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,25 +0,0 @@
|
|
|
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
|
-
/*
|
|
19
|
-
* This file is part of Plum.
|
|
20
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
var Wt=t=>{throw TypeError(t)};var Ce=(t,e,n)=>e.has(t)||Wt("Cannot "+n);var A=(t,e,n)=>(Ce(t,e,"read from private field"),n?n.call(t):e.get(t)),P=(t,e,n)=>e.has(t)?Wt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{w as Ct,o as Yt,au as C,g as O,s as N,z as Oe}from"./BAACMRH5.js";const Ne="1784254313551";new URL("sveltekit-internal://");function je(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function $e(t){return t.split("%25").map(decodeURI).join("%25")}function De(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function Rt({href:t}){return t.split("#")[0]}function Fe(t,e,n,r=!1){const a=new URL(t);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(i,o){if(o==="get"||o==="getAll"||o==="has")return f=>(n(f),i[o](f));e();const c=Reflect.get(i,o);return typeof c=="function"?c.bind(i):c}}),enumerable:!0,configurable:!0});const s=["href","pathname","search","toString","toJSON"];r&&s.push("hash");for(const i of s)Object.defineProperty(a,i,{get(){return e(),t[i]},enumerable:!0,configurable:!0});return a}function Ve(...t){let e=5381;for(const n of t)if(typeof n=="string"){let r=n.length;for(;r;)e=e*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)e=e*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}function Be(t){const e=atob(t),n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n.buffer}const Ge=window.fetch;window.fetch=(t,e)=>((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&z.delete(Ot(t)),Ge(t,e));const z=new Map;function Me(t,e){const n=Ot(t,e),r=document.querySelector(n);if(r!=null&&r.textContent){let{body:a,...s}=JSON.parse(r.textContent);const i=r.getAttribute("data-ttl");return i&&z.set(n,{body:a,init:s,ttl:1e3*Number(i)}),r.getAttribute("data-b64")!==null&&(a=Be(a)),Promise.resolve(new Response(a,s))}return window.fetch(t,e)}function qe(t,e,n){if(z.size>0){const r=Ot(t,n),a=z.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(a.body,a.init);z.delete(r)}}return window.fetch(e,n)}function Ot(t,e){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(e!=null&&e.headers||e!=null&&e.body){const a=[];e.headers&&a.push([...new Headers(e.headers)].join(",")),e.body&&(typeof e.body=="string"||ArrayBuffer.isView(e.body))&&a.push(e.body),r+=`[data-hash="${Ve(...a)}"]`}return r}const He=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Ke(t){const e=[];return{pattern:t==="/"?/^\/$/:new RegExp(`^${We(t).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return e.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(s)return e.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const i=r.split(/\[(.+?)\](?!\])/);return"/"+i.map((c,f)=>{if(f%2){if(c.startsWith("x+"))return It(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return It(String.fromCharCode(...c.slice(2).split("-").map(d=>parseInt(d,16))));const u=He.exec(c),[,p,w,l,m]=u;return e.push({name:l,matcher:m,optional:!!p,rest:!!w,chained:w?f===1&&i[0]==="":!1}),w?"(.*?)":p?"([^/]*)?":"([^/]+?)"}return It(c)}).join("")}).join("")}/?$`),params:e}}function ze(t){return!/^\([^)]+\)$/.test(t)}function We(t){return t.slice(1).split("/").filter(ze)}function Ye(t,e,n){const r={},a=t.slice(1),s=a.filter(o=>o!==void 0);let i=0;for(let o=0;o<e.length;o+=1){const c=e[o];let f=a[o-i];if(c.chained&&c.rest&&i&&(f=a.slice(o-i,o+1).filter(u=>u).join("/"),i=0),f===void 0){c.rest&&(r[c.name]="");continue}if(!c.matcher||n[c.matcher](f)){r[c.name]=f;const u=e[o+1],p=a[o+1];u&&!u.rest&&u.optional&&p&&c.chained&&(i=0),!u&&!p&&Object.keys(r).length===s.length&&(i=0);continue}if(c.optional&&c.chained){i++;continue}return}if(!i)return r}function It(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Je({nodes:t,server_loads:e,dictionary:n,matchers:r}){const a=new Set(e);return Object.entries(n).map(([o,[c,f,u]])=>{const{pattern:p,params:w}=Ke(o),l={id:o,exec:m=>{const d=p.exec(m);if(d)return Ye(d,w,r)},errors:[1,...u||[]].map(m=>t[m]),layouts:[0,...f||[]].map(i),leaf:s(c)};return l.errors.length=l.layouts.length=Math.max(l.errors.length,l.layouts.length),l});function s(o){const c=o<0;return c&&(o=~o),[c,t[o]]}function i(o){return o===void 0?o:[a.has(o),t[o]]}}function fe(t,e=JSON.parse){try{return e(sessionStorage[t])}catch{}}function Jt(t,e,n=JSON.stringify){const r=n(e);try{sessionStorage[t]=r}catch{}}var oe;const x=((oe=globalThis.__sveltekit_fzbwc)==null?void 0:oe.base)??"";var se;const Xe=((se=globalThis.__sveltekit_fzbwc)==null?void 0:se.assets)??x,ue="sveltekit:snapshot",he="sveltekit:scroll",de="sveltekit:states",Ze="sveltekit:pageurl",G="sveltekit:history",J="sveltekit:navigation",ut={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},ft=location.origin;function pe(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function Nt(){return{x:pageXOffset,y:pageYOffset}}function B(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const Xt={...ut,"":ut.hover};function ge(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function me(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=ge(t)}}function Tt(t,e,n){let r;try{if(r=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";r.hash=`#${o}${r.hash}`}}catch{}const a=t instanceof SVGAElement?t.target.baseVal:t.target,s=!r||!!a||vt(r,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),i=(r==null?void 0:r.origin)===ft&&t.hasAttribute("download");return{url:r,external:s,target:a,download:i}}function ht(t){let e=null,n=null,r=null,a=null,s=null,i=null,o=t;for(;o&&o!==document.documentElement;)r===null&&(r=B(o,"preload-code")),a===null&&(a=B(o,"preload-data")),e===null&&(e=B(o,"keepfocus")),n===null&&(n=B(o,"noscroll")),s===null&&(s=B(o,"reload")),i===null&&(i=B(o,"replacestate")),o=ge(o);function c(f){switch(f){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Xt[r??"off"],preload_data:Xt[a??"off"],keepfocus:c(e),noscroll:c(n),reload:c(s),replace_state:c(i)}}function Zt(t){const e=Ct(t);let n=!0;function r(){n=!0,e.update(i=>i)}function a(i){n=!1,e.set(i)}function s(i){let o;return e.subscribe(c=>{(o===void 0||n&&c!==o)&&i(o=c)})}return{notify:r,set:a,subscribe:s}}const we={v:()=>{}};function Qe(){const{set:t,subscribe:e}=Ct(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${Xe}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const i=(await a.json()).version!==Ne;return i&&(t(!0),we.v(),clearTimeout(n)),i}catch{return!1}}return{subscribe:e,check:r}}function vt(t,e,n){return t.origin!==ft||!t.pathname.startsWith(e)?!0:n?!(t.pathname===e+"/"||t.pathname===e+"/index.html"||t.protocol==="file:"&&t.pathname.replace(/\/[^/]+\.html?$/,"")===e):!1}function Qt(t){const e=en(t),n=new ArrayBuffer(e.length),r=new DataView(n);for(let a=0;a<n.byteLength;a++)r.setUint8(a,e.charCodeAt(a));return n}const tn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function en(t){t.length%4===0&&(t=t.replace(/==?$/,""));let e="",n=0,r=0;for(let a=0;a<t.length;a++)n<<=6,n|=tn.indexOf(t[a]),r+=6,r===24&&(e+=String.fromCharCode((n&16711680)>>16),e+=String.fromCharCode((n&65280)>>8),e+=String.fromCharCode(n&255),n=r=0);return r===12?(n>>=4,e+=String.fromCharCode(n)):r===18&&(n>>=2,e+=String.fromCharCode((n&65280)>>8),e+=String.fromCharCode(n&255)),e}const nn=-1,rn=-2,an=-3,on=-4,sn=-5,cn=-6;function ln(t,e){if(typeof t=="number")return a(t,!0);if(!Array.isArray(t)||t.length===0)throw new Error("Invalid input");const n=t,r=Array(n.length);function a(s,i=!1){if(s===nn)return;if(s===an)return NaN;if(s===on)return 1/0;if(s===sn)return-1/0;if(s===cn)return-0;if(i)throw new Error("Invalid input");if(s in r)return r[s];const o=n[s];if(!o||typeof o!="object")r[s]=o;else if(Array.isArray(o))if(typeof o[0]=="string"){const c=o[0],f=e==null?void 0:e[c];if(f)return r[s]=f(a(o[1]));switch(c){case"Date":r[s]=new Date(o[1]);break;case"Set":const u=new Set;r[s]=u;for(let l=1;l<o.length;l+=1)u.add(a(o[l]));break;case"Map":const p=new Map;r[s]=p;for(let l=1;l<o.length;l+=2)p.set(a(o[l]),a(o[l+1]));break;case"RegExp":r[s]=new RegExp(o[1],o[2]);break;case"Object":r[s]=Object(o[1]);break;case"BigInt":r[s]=BigInt(o[1]);break;case"null":const w=Object.create(null);r[s]=w;for(let l=1;l<o.length;l+=2)w[o[l]]=a(o[l+1]);break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":{const l=globalThis[c],m=o[1],d=Qt(m),h=new l(d);r[s]=h;break}case"ArrayBuffer":{const l=o[1],m=Qt(l);r[s]=m;break}default:throw new Error(`Unknown type ${c}`)}}else{const c=new Array(o.length);r[s]=c;for(let f=0;f<o.length;f+=1){const u=o[f];u!==rn&&(c[f]=a(u))}}else{const c={};r[s]=c;for(const f in o){const u=o[f];c[f]=a(u)}}return r[s]}return a(0)}const ye=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...ye];const fn=new Set([...ye]);[...fn];function un(t){return t.filter(e=>e!=null)}class bt{constructor(e,n){this.status=e,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}}class jt{constructor(e,n){this.status=e,this.location=n}}class $t extends Error{constructor(e,n,r){super(r),this.status=e,this.text=n}}const hn="x-sveltekit-invalidated",dn="x-sveltekit-trailing-slash";function dt(t){return t instanceof bt||t instanceof $t?t.status:500}function pn(t){return t instanceof $t?t.text:"Internal Error"}let U,X,Ut;const gn=Yt.toString().includes("$$")||/function \w+\(\) \{\}/.test(Yt.toString());var tt,et,nt,rt,at,ot,st,it,ie,ct,ce,lt,le;gn?(U={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},X={current:null},Ut={current:!1}):(U=new(ie=class{constructor(){P(this,tt,C({}));P(this,et,C(null));P(this,nt,C(null));P(this,rt,C({}));P(this,at,C({id:null}));P(this,ot,C({}));P(this,st,C(-1));P(this,it,C(new URL("https://example.com")))}get data(){return O(A(this,tt))}set data(e){N(A(this,tt),e)}get form(){return O(A(this,et))}set form(e){N(A(this,et),e)}get error(){return O(A(this,nt))}set error(e){N(A(this,nt),e)}get params(){return O(A(this,rt))}set params(e){N(A(this,rt),e)}get route(){return O(A(this,at))}set route(e){N(A(this,at),e)}get state(){return O(A(this,ot))}set state(e){N(A(this,ot),e)}get status(){return O(A(this,st))}set status(e){N(A(this,st),e)}get url(){return O(A(this,it))}set url(e){N(A(this,it),e)}},tt=new WeakMap,et=new WeakMap,nt=new WeakMap,rt=new WeakMap,at=new WeakMap,ot=new WeakMap,st=new WeakMap,it=new WeakMap,ie),X=new(ce=class{constructor(){P(this,ct,C(null))}get current(){return O(A(this,ct))}set current(e){N(A(this,ct),e)}},ct=new WeakMap,ce),Ut=new(le=class{constructor(){P(this,lt,C(!1))}get current(){return O(A(this,lt))}set current(e){N(A(this,lt),e)}},lt=new WeakMap,le),we.v=()=>Ut.current=!0);function mn(t){Object.assign(U,t)}const wn="/__data.json",yn=".html__data.json";function _n(t){return t.endsWith(".html")?t.replace(/\.html$/,yn):t.replace(/\/$/,"")+wn}const vn=new Set(["icon","shortcut icon","apple-touch-icon"]),V=fe(he)??{},Z=fe(ue)??{},$={url:Zt({}),page:Zt({}),navigating:Ct(null),updated:Qe()};function Dt(t){V[t]=Nt()}function bn(t,e){let n=t+1;for(;V[n];)delete V[n],n+=1;for(n=e+1;Z[n];)delete Z[n],n+=1}function q(t){return location.href=t.href,new Promise(()=>{})}async function _e(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(x||"/");t&&await t.update()}}function te(){}let Ft,xt,pt,j,Pt,k;const gt=[],mt=[];let L=null;const ve=new Set,An=new Set,W=new Set;let v={branch:[],error:null,url:null},Vt=!1,wt=!1,ee=!0,Q=!1,H=!1,be=!1,Bt=!1,Ae,R,T,F;const Y=new Set;async function Vn(t,e,n){var a,s,i,o;document.URL!==location.href&&(location.href=location.href),k=t,await((s=(a=t.hooks).init)==null?void 0:s.call(a)),Ft=Je(t),j=document.documentElement,Pt=e,xt=t.nodes[0],pt=t.nodes[1],xt(),pt(),R=(i=history.state)==null?void 0:i[G],T=(o=history.state)==null?void 0:o[J],R||(R=T=Date.now(),history.replaceState({...history.state,[G]:R,[J]:T},""));const r=V[R];r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y)),n?await Cn(Pt,n):await Tn(k.hash?Pe(new URL(location.href)):location.href,{replaceState:!0}),Pn()}function kn(){gt.length=0,Bt=!1}function ke(t){mt.some(e=>e==null?void 0:e.snapshot)&&(Z[t]=mt.map(e=>{var n;return(n=e==null?void 0:e.snapshot)==null?void 0:n.capture()}))}function Se(t){var e;(e=Z[t])==null||e.forEach((n,r)=>{var a,s;(s=(a=mt[r])==null?void 0:a.snapshot)==null||s.restore(n)})}function ne(){Dt(R),Jt(he,V),ke(T),Jt(ue,Z)}async function Gt(t,e,n,r){return K({type:"goto",url:pe(t),keepfocus:e.keepFocus,noscroll:e.noScroll,replace_state:e.replaceState,state:e.state,redirect_count:n,nav_token:r,accept:()=>{e.invalidateAll&&(Bt=!0),e.invalidate&&e.invalidate.forEach(xn)}})}async function Sn(t){if(t.id!==(L==null?void 0:L.id)){const e={};Y.add(e),L={id:t.id,token:e,promise:Re({...t,preload:e}).then(n=>(Y.delete(e),n.type==="loaded"&&n.state.error&&(L=null),n))}}return L.promise}async function Lt(t){var n;const e=(n=await kt(t,!1))==null?void 0:n.route;e&&await Promise.all([...e.layouts,e.leaf].map(r=>r==null?void 0:r[1]()))}function Ee(t,e,n){var s;v=t.state;const r=document.querySelector("style[data-sveltekit]");r&&r.remove(),Object.assign(U,t.props.page),Ae=new k.root({target:e,props:{...t.props,stores:$,components:mt},hydrate:n,sync:!1}),Se(T);const a={from:null,to:{params:v.params,route:{id:((s=v.route)==null?void 0:s.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};W.forEach(i=>i(a)),wt=!0}function yt({url:t,params:e,branch:n,status:r,error:a,route:s,form:i}){let o="never";if(x&&(t.pathname===x||t.pathname===x+"/"))o="always";else for(const l of n)(l==null?void 0:l.slash)!==void 0&&(o=l.slash);t.pathname=je(t.pathname,o),t.search=t.search;const c={type:"loaded",state:{url:t,params:e,branch:n,error:a,route:s},props:{constructors:un(n).map(l=>l.node.component),page:Ht(U)}};i!==void 0&&(c.props.form=i);let f={},u=!U,p=0;for(let l=0;l<Math.max(n.length,v.branch.length);l+=1){const m=n[l],d=v.branch[l];(m==null?void 0:m.data)!==(d==null?void 0:d.data)&&(u=!0),m&&(f={...f,...m.data},u&&(c.props[`data_${p}`]=f),p+=1)}return(!v.url||t.href!==v.url.href||v.error!==a||i!==void 0&&i!==U.form||u)&&(c.props.page={error:a,params:e,route:{id:(s==null?void 0:s.id)??null},state:{},status:r,url:new URL(t),form:i??null,data:u?f:U.data}),c}async function Mt({loader:t,parent:e,url:n,params:r,route:a,server_data_node:s}){var u,p,w;let i=null,o=!0;const c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},f=await t();if((u=f.universal)!=null&&u.load){let l=function(...d){for(const h of d){const{href:y}=new URL(h,n);c.dependencies.add(y)}};const m={route:new Proxy(a,{get:(d,h)=>(o&&(c.route=!0),d[h])}),params:new Proxy(r,{get:(d,h)=>(o&&c.params.add(h),d[h])}),data:(s==null?void 0:s.data)??null,url:Fe(n,()=>{o&&(c.url=!0)},d=>{o&&c.search_params.add(d)},k.hash),async fetch(d,h){let y;d instanceof Request?(y=d.url,h={body:d.method==="GET"||d.method==="HEAD"?void 0:await d.blob(),cache:d.cache,credentials:d.credentials,headers:[...d.headers].length?d.headers:void 0,integrity:d.integrity,keepalive:d.keepalive,method:d.method,mode:d.mode,redirect:d.redirect,referrer:d.referrer,referrerPolicy:d.referrerPolicy,signal:d.signal,...h}):y=d;const S=new URL(y,n);return o&&l(S.href),S.origin===n.origin&&(y=S.href.slice(n.origin.length)),wt?qe(y,S.href,h):Me(y,h)},setHeaders:()=>{},depends:l,parent(){return o&&(c.parent=!0),e()},untrack(d){o=!1;try{return d()}finally{o=!0}}};i=await f.universal.load.call(null,m)??null}return{node:f,loader:t,server:s,universal:(p=f.universal)!=null&&p.load?{type:"data",data:i,uses:c}:null,data:i??(s==null?void 0:s.data)??null,slash:((w=f.universal)==null?void 0:w.trailingSlash)??(s==null?void 0:s.slash)}}function re(t,e,n,r,a,s){if(Bt)return!0;if(!a)return!1;if(a.parent&&t||a.route&&e||a.url&&n)return!0;for(const i of a.search_params)if(r.has(i))return!0;for(const i of a.params)if(s[i]!==v.params[i])return!0;for(const i of a.dependencies)if(gt.some(o=>o(new URL(i))))return!0;return!1}function qt(t,e){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?e??null:null}function En(t,e){if(!t)return new Set(e.searchParams.keys());const n=new Set([...t.searchParams.keys(),...e.searchParams.keys()]);for(const r of n){const a=t.searchParams.getAll(r),s=e.searchParams.getAll(r);a.every(i=>s.includes(i))&&s.every(i=>a.includes(i))&&n.delete(r)}return n}function ae({error:t,url:e,route:n,params:r}){return{type:"loaded",state:{error:t,url:e,route:n,params:r,branch:[]},props:{page:Ht(U),constructors:[]}}}async function Re({id:t,invalidating:e,url:n,params:r,route:a,preload:s}){if((L==null?void 0:L.id)===t)return Y.delete(L.token),L.promise;const{errors:i,layouts:o,leaf:c}=a,f=[...o,c];i.forEach(g=>g==null?void 0:g().catch(()=>{})),f.forEach(g=>g==null?void 0:g[1]().catch(()=>{}));let u=null;const p=v.url?t!==_t(v.url):!1,w=v.route?a.id!==v.route.id:!1,l=En(v.url,n);let m=!1;const d=f.map((g,_)=>{var D;const b=v.branch[_],E=!!(g!=null&&g[0])&&((b==null?void 0:b.loader)!==g[1]||re(m,w,p,l,(D=b.server)==null?void 0:D.uses,r));return E&&(m=!0),E});if(d.some(Boolean)){try{u=await Le(n,d)}catch(g){const _=await M(g,{url:n,params:r,route:{id:t}});return Y.has(s)?ae({error:_,url:n,params:r,route:a}):At({status:dt(g),error:_,url:n,route:a})}if(u.type==="redirect")return u}const h=u==null?void 0:u.nodes;let y=!1;const S=f.map(async(g,_)=>{var St;if(!g)return;const b=v.branch[_],E=h==null?void 0:h[_];if((!E||E.type==="skip")&&g[1]===(b==null?void 0:b.loader)&&!re(y,w,p,l,(St=b.universal)==null?void 0:St.uses,r))return b;if(y=!0,(E==null?void 0:E.type)==="error")throw E;return Mt({loader:g[1],url:n,params:r,route:a,parent:async()=>{var zt;const Kt={};for(let Et=0;Et<_;Et+=1)Object.assign(Kt,(zt=await S[Et])==null?void 0:zt.data);return Kt},server_data_node:qt(E===void 0&&g[0]?{type:"skip"}:E??null,g[0]?b==null?void 0:b.server:void 0)})});for(const g of S)g.catch(()=>{});const I=[];for(let g=0;g<f.length;g+=1)if(f[g])try{I.push(await S[g])}catch(_){if(_ instanceof jt)return{type:"redirect",location:_.location};if(Y.has(s))return ae({error:await M(_,{params:r,url:n,route:{id:a.id}}),url:n,params:r,route:a});let b=dt(_),E;if(h!=null&&h.includes(_))b=_.status??b,E=_.error;else if(_ instanceof bt)E=_.body;else{if(await $.updated.check())return await _e(),await q(n);E=await M(_,{params:r,url:n,route:{id:a.id}})}const D=await Rn(g,I,i);return D?yt({url:n,params:r,branch:I.slice(0,D.idx).concat(D.node),status:b,error:E,route:a}):await Ue(n,{id:a.id},E,b)}else I.push(void 0);return yt({url:n,params:r,branch:I,status:200,error:null,route:a,form:e?void 0:null})}async function Rn(t,e,n){for(;t--;)if(n[t]){let r=t;for(;!e[r];)r-=1;try{return{idx:r+1,node:{node:await n[t](),loader:n[t],data:{},server:null,universal:null}}}catch{continue}}}async function At({status:t,error:e,url:n,route:r}){const a={};let s=null;if(k.server_loads[0]===0)try{const o=await Le(n,[!0]);if(o.type!=="data"||o.nodes[0]&&o.nodes[0].type!=="data")throw 0;s=o.nodes[0]??null}catch{(n.origin!==ft||n.pathname!==location.pathname||Vt)&&await q(n)}try{const o=await Mt({loader:xt,url:n,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:qt(s)}),c={node:await pt(),loader:pt,universal:null,server:null,data:null};return yt({url:n,params:a,branch:[o,c],status:t,error:e,route:null})}catch(o){if(o instanceof jt)return Gt(new URL(o.location,location.href),{},0);throw o}}function In(t){let e;try{if(e=k.hooks.reroute({url:new URL(t)})??t,typeof e=="string"){const n=new URL(t);k.hash?n.hash=e:n.pathname=e,e=n}}catch{return}return e}async function kt(t,e){if(t&&!vt(t,x,k.hash)){const n=In(t);if(!n)return;const r=Un(n);for(const a of Ft){const s=a.exec(r);if(s)return{id:_t(t),invalidating:e,route:a,params:De(s),url:t}}}}function Un(t){return $e(k.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(x.length))||"/"}function _t(t){return(k.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function Ie({url:t,type:e,intent:n,delta:r}){let a=!1;const s=xe(v,n,t,e);r!==void 0&&(s.navigation.delta=r);const i={...s.navigation,cancel:()=>{a=!0,s.reject(new Error("navigation cancelled"))}};return Q||ve.forEach(o=>o(i)),a?null:s}async function K({type:t,url:e,popped:n,keepfocus:r,noscroll:a,replace_state:s,state:i={},redirect_count:o=0,nav_token:c={},accept:f=te,block:u=te}){const p=F;F=c;const w=await kt(e,!1),l=Ie({url:e,type:t,delta:n==null?void 0:n.delta,intent:w});if(!l){u(),F===c&&(F=p);return}const m=R,d=T;f(),Q=!0,wt&&$.navigating.set(X.current=l.navigation);let h=w&&await Re(w);if(!h){if(vt(e,x,k.hash))return await q(e);h=await Ue(e,{id:null},await M(new $t(404,"Not Found",`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404)}if(e=(w==null?void 0:w.url)||e,F!==c)return l.reject(new Error("navigation aborted")),!1;if(h.type==="redirect")if(o>=20)h=await At({status:500,error:await M(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}});else return await Gt(new URL(h.location,e).href,{},o+1,c),!1;else h.props.page.status>=400&&await $.updated.check()&&(await _e(),await q(e));if(kn(),Dt(m),ke(d),h.props.page.url.pathname!==e.pathname&&(e.pathname=h.props.page.url.pathname),i=n?n.state:i,!n){const g=s?0:1,_={[G]:R+=g,[J]:T+=g,[de]:i};(s?history.replaceState:history.pushState).call(history,_,"",e),s||bn(R,T)}if(L=null,h.props.page.state=i,wt){v=h.state,h.props.page&&(h.props.page.url=e);const g=(await Promise.all(Array.from(An,_=>_(l.navigation)))).filter(_=>typeof _=="function");if(g.length>0){let _=function(){g.forEach(b=>{W.delete(b)})};g.push(_),g.forEach(b=>{W.add(b)})}Ae.$set(h.props),mn(h.props.page),be=!0}else Ee(h,Pt,!1);const{activeElement:y}=document;await Oe();const S=n?n.scroll:a?Nt():null;if(ee){const g=e.hash&&document.getElementById(decodeURIComponent(k.hash?e.hash.split("#")[2]??"":e.hash.slice(1)));S?scrollTo(S.x,S.y):g?g.scrollIntoView():scrollTo(0,0)}const I=document.activeElement!==y&&document.activeElement!==document.body;!r&&!I&&On(),ee=!0,h.props.page&&Object.assign(U,h.props.page),Q=!1,t==="popstate"&&Se(T),l.fulfil(void 0),W.forEach(g=>g(l.navigation)),$.navigating.set(X.current=null)}async function Ue(t,e,n,r){return t.origin===ft&&t.pathname===location.pathname&&!Vt?await At({status:r,error:n,url:t,route:e}):await q(t)}function Ln(){let t,e;j.addEventListener("mousemove",i=>{const o=i.target;clearTimeout(t),t=setTimeout(()=>{a(o,2)},20)});function n(i){i.defaultPrevented||a(i.composedPath()[0],1)}j.addEventListener("mousedown",n),j.addEventListener("touchstart",n,{passive:!0});const r=new IntersectionObserver(i=>{for(const o of i)o.isIntersecting&&(Lt(new URL(o.target.href)),r.unobserve(o.target))},{threshold:0});async function a(i,o){const c=me(i,j);if(!c||c===e)return;e=c;const{url:f,external:u,download:p}=Tt(c,x,k.hash);if(u||p)return;const w=ht(c),l=f&&_t(v.url)===_t(f);if(!w.reload&&!l)if(o<=w.preload_data){const m=await kt(f,!1);m&&Sn(m)}else o<=w.preload_code&&Lt(f)}function s(){r.disconnect();for(const i of j.querySelectorAll("a")){const{url:o,external:c,download:f}=Tt(i,x,k.hash);if(c||f)continue;const u=ht(i);u.reload||(u.preload_code===ut.viewport&&r.observe(i),u.preload_code===ut.eager&&Lt(o))}}W.add(s),s()}function M(t,e){if(t instanceof bt)return t.body;const n=dt(t),r=pn(t);return k.hooks.handleError({error:t,event:e,status:n,message:r})??{message:r}}function Tn(t,e={}){return t=new URL(pe(t)),t.origin!==ft?Promise.reject(new Error("goto: invalid URL")):Gt(t,e,0)}function xn(t){if(typeof t=="function")gt.push(t);else{const{href:e}=new URL(t,location.href);gt.push(n=>n.href===e)}}function Pn(){var e;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let r=!1;if(ne(),!Q){const a=xe(v,void 0,null,"leave"),s={...a.navigation,cancel:()=>{r=!0,a.reject(new Error("navigation cancelled"))}};ve.forEach(i=>i(s))}r?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ne()}),(e=navigator.connection)!=null&&e.saveData||Ln(),j.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const r=me(n.composedPath()[0],j);if(!r)return;const{url:a,external:s,target:i,download:o}=Tt(r,x,k.hash);if(!a)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const c=ht(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||o)return;const[u,p]=(k.hash?a.hash.replace(/^#/,""):a.href).split("#"),w=u===Rt(location);if(s||c.reload&&(!w||!p)){Ie({url:a,type:"link"})?Q=!0:n.preventDefault();return}if(p!==void 0&&w){const[,l]=v.url.href.split("#");if(l===p){if(n.preventDefault(),p===""||p==="top"&&r.ownerDocument.getElementById("top")===null)window.scrollTo({top:0});else{const m=r.ownerDocument.getElementById(decodeURIComponent(p));m&&(m.scrollIntoView(),m.focus())}return}if(H=!0,Dt(R),t(a),!c.replace_state)return;H=!1}n.preventDefault(),await new Promise(l=>{requestAnimationFrame(()=>{setTimeout(l,0)}),setTimeout(l,100)}),await K({type:"link",url:a,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??a.href===location.href})}),j.addEventListener("submit",n=>{if(n.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(n.target),a=n.submitter;if(((a==null?void 0:a.formTarget)||r.target)==="_blank"||((a==null?void 0:a.formMethod)||r.method)!=="get")return;const o=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(vt(o,x,!1))return;const c=n.target,f=ht(c);if(f.reload)return;n.preventDefault(),n.stopPropagation();const u=new FormData(c),p=a==null?void 0:a.getAttribute("name");p&&u.append(p,(a==null?void 0:a.getAttribute("value"))??""),o.search=new URLSearchParams(u).toString(),K({type:"form",url:o,keepfocus:f.keepfocus,noscroll:f.noscroll,replace_state:f.replace_state??o.href===location.href})}),addEventListener("popstate",async n=>{var r;if((r=n.state)!=null&&r[G]){const a=n.state[G];if(F={},a===R)return;const s=V[a],i=n.state[de]??{},o=new URL(n.state[Ze]??location.href),c=n.state[J],f=v.url?Rt(location)===Rt(v.url):!1;if(c===T&&(be||f)){i!==U.state&&(U.state=i),t(o),V[R]=Nt(),s&&scrollTo(s.x,s.y),R=a;return}const p=a-R;await K({type:"popstate",url:o,popped:{state:i,scroll:s,delta:p},accept:()=>{R=a,T=c},block:()=>{history.go(-p)},nav_token:F})}else if(!H){const a=new URL(location.href);t(a)}}),addEventListener("hashchange",()=>{H?(H=!1,history.replaceState({...history.state,[G]:++R,[J]:T},"",location.href)):k.hash&&v.url.hash===location.hash&&K({type:"goto",url:Pe(v.url)})});for(const n of document.querySelectorAll("link"))vn.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&$.navigating.set(X.current=null)});function t(n){v.url=U.url=n,$.page.set(Ht(U)),$.page.notify()}}async function Cn(t,{status:e=200,error:n,node_ids:r,params:a,route:s,server_route:i,data:o,form:c}){Vt=!0;const f=new URL(location.href);let u;({params:a={},route:s={id:null}}=await kt(f,!1)||{}),u=Ft.find(({id:l})=>l===s.id);let p,w=!0;try{const l=r.map(async(d,h)=>{const y=o[h];return y!=null&&y.uses&&(y.uses=Te(y.uses)),Mt({loader:k.nodes[d],url:f,params:a,route:s,parent:async()=>{const S={};for(let I=0;I<h;I+=1)Object.assign(S,(await l[I]).data);return S},server_data_node:qt(y)})}),m=await Promise.all(l);if(u){const d=u.layouts;for(let h=0;h<d.length;h++)d[h]||m.splice(h,0,void 0)}p=yt({url:f,params:a,branch:m,status:e,error:n,form:c,route:u??null})}catch(l){if(l instanceof jt){await q(new URL(l.location,location.href));return}p=await At({status:dt(l),error:await M(l,{url:f,params:a,route:s}),url:f,route:s}),t.textContent="",w=!1}p.props.page&&(p.props.page.state={}),Ee(p,t,w)}async function Le(t,e){var s;const n=new URL(t);n.pathname=_n(t.pathname),t.pathname.endsWith("/")&&n.searchParams.append(dn,"1"),n.searchParams.append(hn,e.map(i=>i?"1":"0").join(""));const r=window.fetch,a=await r(n.href,{});if(!a.ok){let i;throw(s=a.headers.get("content-type"))!=null&&s.includes("application/json")?i=await a.json():a.status===404?i="Not Found":a.status===500&&(i="Internal Error"),new bt(a.status,i)}return new Promise(async i=>{var w;const o=new Map,c=a.body.getReader(),f=new TextDecoder;function u(l){return ln(l,{...k.decoders,Promise:m=>new Promise((d,h)=>{o.set(m,{fulfil:d,reject:h})})})}let p="";for(;;){const{done:l,value:m}=await c.read();if(l&&!p)break;for(p+=!m&&p?`
|
|
24
|
-
`:f.decode(m,{stream:!0});;){const d=p.indexOf(`
|
|
25
|
-
`);if(d===-1)break;const h=JSON.parse(p.slice(0,d));if(p=p.slice(d+1),h.type==="redirect")return i(h);if(h.type==="data")(w=h.nodes)==null||w.forEach(y=>{(y==null?void 0:y.type)==="data"&&(y.uses=Te(y.uses),y.data=u(y.data))}),i(h);else if(h.type==="chunk"){const{id:y,data:S,error:I}=h,g=o.get(y);o.delete(y),I?g.reject(u(I)):g.fulfil(u(S))}}}})}function Te(t){return{dependencies:new Set((t==null?void 0:t.dependencies)??[]),params:new Set((t==null?void 0:t.params)??[]),parent:!!(t!=null&&t.parent),route:!!(t!=null&&t.route),url:!!(t!=null&&t.url),search_params:new Set((t==null?void 0:t.search_params)??[])}}function On(){const t=document.querySelector("[autofocus]");if(t)t.focus();else{const e=document.body,n=e.getAttribute("tabindex");e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),n!==null?e.setAttribute("tabindex",n):e.removeAttribute("tabindex");const r=getSelection();if(r&&r.type!=="None"){const a=[];for(let s=0;s<r.rangeCount;s+=1)a.push(r.getRangeAt(s));setTimeout(()=>{if(r.rangeCount===a.length){for(let s=0;s<r.rangeCount;s+=1){const i=a[s],o=r.getRangeAt(s);if(i.commonAncestorContainer!==o.commonAncestorContainer||i.startContainer!==o.startContainer||i.endContainer!==o.endContainer||i.startOffset!==o.startOffset||i.endOffset!==o.endOffset)return}r.removeAllRanges()}})}}}function xe(t,e,n,r){var c,f;let a,s;const i=new Promise((u,p)=>{a=u,s=p});return i.catch(()=>{}),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url},to:n&&{params:(e==null?void 0:e.params)??null,route:{id:((f=e==null?void 0:e.route)==null?void 0:f.id)??null},url:n},willUnload:!e,type:r,complete:i},fulfil:a,reject:s}}function Ht(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function Pe(t){const e=new URL(t);return e.hash=decodeURIComponent(t.hash),e}export{Vn as a,Tn as g,U as p,$ as s};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,23 +0,0 @@
|
|
|
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
|
-
/*
|
|
19
|
-
* This file is part of Plum.
|
|
20
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
import{a as f,t as c,s as v}from"./CMBQQ9RZ.js";import"./CKDtmZUQ.js";import{t as m,d as a,j as d,k as o}from"./BAACMRH5.js";import{s as k}from"./4N1zIH8t.js";import{p as s}from"./C8OURRSs.js";var h=c('<div class="back-row svelte-1qfuc04"><a class="back-link svelte-1qfuc04"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg> </a></div>');function y(i,r){let l=s(r,"href",8,"/reports"),n=s(r,"label",8,"Reports");var e=h(),t=a(e),p=d(a(t));o(t),o(e),m(()=>{k(t,"href",l()),v(p,` ${n()??""}`)}),f(i,e)}export{y as B};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,23 +0,0 @@
|
|
|
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
|
-
/*
|
|
19
|
-
* This file is part of Plum.
|
|
20
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
import{a as t}from"../chunks/DtGXv8RA.js";export{t as start};
|
|
@@ -1,22 +0,0 @@
|
|
|
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
|
-
This file is part of Plum.
|
|
19
|
-
Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
20
|
-
*/
|
|
21
|
-
��import{a as t}from"../chunks/DtGXv8RA.js";export{t as start};
|
|
22
|
-
|
|
Binary file
|
|
@@ -1,28 +0,0 @@
|
|
|
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
|
-
/*
|
|
19
|
-
* This file is part of Plum.
|
|
20
|
-
* Licensed under the MIT License. See LICENSE file in the project root for details.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
import{s as D,a as m,e as $,t as E,b as us,n as _n,c as Me}from"../chunks/CMBQQ9RZ.js";import{i as Ft}from"../chunks/CKDtmZUQ.js";import{e as ot,u as gn,p as Wt,o as Ht,s as k,d as g,j as d,f as j,g as r,k as _,t as P,x as te,c as Kt,m as U,an as mn,l as he,b as yn,n as Ie}from"../chunks/BAACMRH5.js";import{i as N,s as Yt,a as be}from"../chunks/CgnwuKKO.js";import{e as Fe,t as C,i as Ge,a as Ue,g as Rs,b as Ut,f as Ke}from"../chunks/TOCyHP97.js";import{g as ds}from"../chunks/DtGXv8RA.js";import{p as Ss}from"../chunks/DW_iTTZe.js";import{s as se,x as Re,w as xs,A as bn,t as wn,u as En,I as st,J as fs,B as At,K as ps,N as vs,r as Tt,G as kn,i as Rn,m as _s,y as Sn,z as xn}from"../chunks/4N1zIH8t.js";import{a as As}from"../chunks/C1Vid6wz.js";import{b as An,f as Tn,a as Nn}from"../chunks/D2cvzNT9.js";import{e as ke,p as Ye,g as Nt,s as Cn,S as Y,c as Te,t as Ln,a as gs,b as nt,f as Ct,r as Bn}from"../chunks/DW85KPAh.js";import{c as On,r as In}from"../chunks/DDblTLLE.js";import{a as Un,q as Pn}from"../chunks/DkNBSlo2.js";import{t as Ts,a as $n}from"../chunks/D2gYTmAA.js";import{C as Dn}from"../chunks/3IV-uqHa.js";import{B as ms}from"../chunks/CuqnZUex.js";import{c as qn}from"../chunks/DYlaQsvN.js";function Lt(n,e,t){ot(()=>{var s=gn(()=>e(n,t==null?void 0:t())||{});if(s!=null&&s.destroy)return()=>s.destroy()})}const Vn=!1,vo=Object.freeze(Object.defineProperty({__proto__:null,ssr:Vn},Symbol.toStringTag,{value:"Module"}));var Mn=E('<span class="nav-sep svelte-10t98u4" aria-hidden="true"></span>'),Fn=E('<!> <a class="link svelte-10t98u4"> </a>',1),Wn=E('<img alt="" class="project-logo svelte-10t98u4">'),Hn=E('<div class="project-card svelte-10t98u4"><!> <span class="project-name svelte-10t98u4"> </span></div>'),Kn=E('<span class="nav-user svelte-10t98u4"> </span>'),Yn=E('<hr class="mobile-sep svelte-10t98u4">'),jn=E('<!> <a class="mobile-link svelte-10t98u4"> </a>',1),zn=E('<div class="mobile-menu svelte-10t98u4"><!> <a href="/settings" class="mobile-link svelte-10t98u4">Settings</a></div>'),Gn=E('<nav class="nav svelte-10t98u4"><div class="inner svelte-10t98u4"><a href="/" class="brand svelte-10t98u4"><span class="brand-serif svelte-10t98u4">Pl</span><span class="brand-sans svelte-10t98u4">um</span></a> <div class="links svelte-10t98u4"></div> <div class="actions svelte-10t98u4"><!> <!> <a href="/settings" class="settings-btn svelte-10t98u4" aria-label="Settings" title="Settings"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg></a> <button class="hamburger svelte-10t98u4"><span class="svelte-10t98u4"></span> <span class="svelte-10t98u4"></span> <span class="svelte-10t98u4"></span></button></div></div> <!></nav>');function Jn(n,e){Wt(e,!1);const[t,s]=Yt(),i=()=>be(Ss,"$page",t),c=()=>be(As,"$auth",t);let v=U(!1),y=U({name:"",logoUrl:""});Ht(async()=>{try{k(y,await An())}catch{}});const w=[{href:"/",label:"Automated Tests"},{href:"/reports",label:"Reports"},{href:"/scheduled-tests",label:"Scheduled"},{href:"/test-repository",label:"Test Repository",sep:!0}];function K(){k(v,!1)}Ft();var f=Gn(),I=g(f),q=g(I),z=d(q,2);Fe(z,5,()=>w,Ge,(V,B)=>{var J=Fn(),re=j(J);{var ie=G=>{var Ae=Mn();m(G,Ae)};N(re,G=>{r(B).sep&&G(ie)})}var M=d(re,2),H=g(M,!0);_(M),P(G=>{se(M,"href",r(B).href),C(M,"repo",r(B).sep),C(M,"active",G),D(H,r(B).label)},[()=>r(B).href==="/"?i().url.pathname==="/":i().url.pathname.startsWith(r(B).href)],te),m(V,J)}),_(z);var ee=d(z,2),Se=g(ee);{var Pe=V=>{var B=Hn(),J=g(B);{var re=H=>{var G=Wn();P(()=>se(G,"src",r(y).logoUrl)),m(H,G)};N(J,H=>{r(y).logoUrl&&H(re)})}var ie=d(J,2),M=g(ie,!0);_(ie),_(B),P(()=>D(M,r(y).name)),m(V,B)};N(Se,V=>{r(y).name&&V(Pe)})}var ne=d(Se,2);{var _e=V=>{var B=Kn(),J=g(B,!0);_(B),P(()=>D(J,c().user.name)),m(V,B)};N(ne,V=>{c().user&&V(_e)})}var ge=d(ne,2),de=d(ge,2),ce=g(de),xe=d(ce,2),L=d(xe,2);_(de),_(ee),_(I);var fe=d(I,2);{var pe=V=>{var B=zn(),J=g(B);Fe(J,1,()=>w,Ge,(ie,M)=>{var H=jn(),G=j(H);{var Ae=Ce=>{var Je=Yn();m(Ce,Je)};N(G,Ce=>{r(M).sep&&Ce(Ae)})}var me=d(G,2),$e=g(me,!0);_(me),P(Ce=>{se(me,"href",r(M).href),C(me,"active",Ce),D($e,r(M).label)},[()=>r(M).href==="/"?i().url.pathname==="/":i().url.pathname.startsWith(r(M).href)],te),$("click",me,K),m(ie,H)});var re=d(J,2);_(B),P(()=>C(re,"active",i().url.pathname==="/settings")),$("click",re,K),Ue(3,B,()=>Rs,()=>({duration:200})),m(V,B)};N(fe,V=>{r(v)&&V(pe)})}_(f),P(()=>{C(ge,"active",i().url.pathname==="/settings"),se(de,"aria-label",r(v)?"Close menu":"Open menu"),se(de,"aria-expanded",r(v)),C(ce,"rotated",r(v)),C(xe,"hidden",r(v)),C(L,"rotated-reverse",r(v))}),$("click",q,K),$("click",de,()=>k(v,!r(v))),m(n,f),Kt(),s()}var Xn=E('<main class="shell svelte-28zx1m"><!></main>');function Qn(n,e){var t=Xn(),s=g(t);Ut(s,e,"default",{},null),_(t),m(n,t)}const Ee=Object.create(null);Ee.open="0";Ee.close="1";Ee.ping="2";Ee.pong="3";Ee.message="4";Ee.upgrade="5";Ee.noop="6";const at=Object.create(null);Object.keys(Ee).forEach(n=>{at[Ee[n]]=n});const Pt={type:"error",data:"parser error"},Ns=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Cs=typeof ArrayBuffer=="function",Ls=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n&&n.buffer instanceof ArrayBuffer,jt=({type:n,data:e},t,s)=>Ns&&e instanceof Blob?t?s(e):ys(e,s):Cs&&(e instanceof ArrayBuffer||Ls(e))?t?s(e):ys(new Blob([e]),s):s(Ee[n]+(e||"")),ys=(n,e)=>{const t=new FileReader;return t.onload=function(){const s=t.result.split(",")[1];e("b"+(s||""))},t.readAsDataURL(n)};function bs(n){return n instanceof Uint8Array?n:n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let Bt;function Zn(n,e){if(Ns&&n.data instanceof Blob)return n.data.arrayBuffer().then(bs).then(e);if(Cs&&(n.data instanceof ArrayBuffer||Ls(n.data)))return e(bs(n.data));jt(n,!1,t=>{Bt||(Bt=new TextEncoder),e(Bt.encode(t))})}const ws="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ze=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let n=0;n<ws.length;n++)ze[ws.charCodeAt(n)]=n;const er=n=>{let e=n.length*.75,t=n.length,s,i=0,c,v,y,w;n[n.length-1]==="="&&(e--,n[n.length-2]==="="&&e--);const K=new ArrayBuffer(e),f=new Uint8Array(K);for(s=0;s<t;s+=4)c=ze[n.charCodeAt(s)],v=ze[n.charCodeAt(s+1)],y=ze[n.charCodeAt(s+2)],w=ze[n.charCodeAt(s+3)],f[i++]=c<<2|v>>4,f[i++]=(v&15)<<4|y>>2,f[i++]=(y&3)<<6|w&63;return K},tr=typeof ArrayBuffer=="function",zt=(n,e)=>{if(typeof n!="string")return{type:"message",data:Bs(n,e)};const t=n.charAt(0);return t==="b"?{type:"message",data:sr(n.substring(1),e)}:at[t]?n.length>1?{type:at[t],data:n.substring(1)}:{type:at[t]}:Pt},sr=(n,e)=>{if(tr){const t=er(n);return Bs(t,e)}else return{base64:!0,data:n}},Bs=(n,e)=>{switch(e){case"blob":return n instanceof Blob?n:new Blob([n]);case"arraybuffer":default:return n instanceof ArrayBuffer?n:n.buffer}},Os="",nr=(n,e)=>{const t=n.length,s=new Array(t);let i=0;n.forEach((c,v)=>{jt(c,!1,y=>{s[v]=y,++i===t&&e(s.join(Os))})})},rr=(n,e)=>{const t=n.split(Os),s=[];for(let i=0;i<t.length;i++){const c=zt(t[i],e);if(s.push(c),c.type==="error")break}return s};function ir(){return new TransformStream({transform(n,e){Zn(n,t=>{const s=t.length;let i;if(s<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,s);else if(s<65536){i=new Uint8Array(3);const c=new DataView(i.buffer);c.setUint8(0,126),c.setUint16(1,s)}else{i=new Uint8Array(9);const c=new DataView(i.buffer);c.setUint8(0,127),c.setBigUint64(1,BigInt(s))}n.data&&typeof n.data!="string"&&(i[0]|=128),e.enqueue(i),e.enqueue(t)})}})}let Ot;function rt(n){return n.reduce((e,t)=>e+t.length,0)}function it(n,e){if(n[0].length===e)return n.shift();const t=new Uint8Array(e);let s=0;for(let i=0;i<e;i++)t[i]=n[0][s++],s===n[0].length&&(n.shift(),s=0);return n.length&&s<n[0].length&&(n[0]=n[0].slice(s)),t}function or(n,e){Ot||(Ot=new TextDecoder);const t=[];let s=0,i=-1,c=!1;return new TransformStream({transform(v,y){for(t.push(v);;){if(s===0){if(rt(t)<1)break;const w=it(t,1);c=(w[0]&128)===128,i=w[0]&127,i<126?s=3:i===126?s=1:s=2}else if(s===1){if(rt(t)<2)break;const w=it(t,2);i=new DataView(w.buffer,w.byteOffset,w.length).getUint16(0),s=3}else if(s===2){if(rt(t)<8)break;const w=it(t,8),K=new DataView(w.buffer,w.byteOffset,w.length),f=K.getUint32(0);if(f>Math.pow(2,21)-1){y.enqueue(Pt);break}i=f*Math.pow(2,32)+K.getUint32(4),s=3}else{if(rt(t)<i)break;const w=it(t,i);y.enqueue(zt(c?w:Ot.decode(w),e)),s=0}if(i===0||i>n){y.enqueue(Pt);break}}}})}const Is=4;function W(n){if(n)return ar(n)}function ar(n){for(var e in W.prototype)n[e]=W.prototype[e];return n}W.prototype.on=W.prototype.addEventListener=function(n,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(e),this};W.prototype.once=function(n,e){function t(){this.off(n,t),e.apply(this,arguments)}return t.fn=e,this.on(n,t),this};W.prototype.off=W.prototype.removeListener=W.prototype.removeAllListeners=W.prototype.removeEventListener=function(n,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+n];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;for(var s,i=0;i<t.length;i++)if(s=t[i],s===e||s.fn===e){t.splice(i,1);break}return t.length===0&&delete this._callbacks["$"+n],this};W.prototype.emit=function(n){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+n],s=1;s<arguments.length;s++)e[s-1]=arguments[s];if(t){t=t.slice(0);for(var s=0,i=t.length;s<i;++s)t[s].apply(this,e)}return this};W.prototype.emitReserved=W.prototype.emit;W.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};W.prototype.hasListeners=function(n){return!!this.listeners(n).length};const ut=typeof Promise=="function"&&typeof Promise.resolve=="function"?e=>Promise.resolve().then(e):(e,t)=>t(e,0),ue=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),cr="arraybuffer";function Us(n,...e){return e.reduce((t,s)=>(n.hasOwnProperty(s)&&(t[s]=n[s]),t),{})}const lr=ue.setTimeout,hr=ue.clearTimeout;function dt(n,e){e.useNativeTimers?(n.setTimeoutFn=lr.bind(ue),n.clearTimeoutFn=hr.bind(ue)):(n.setTimeoutFn=ue.setTimeout.bind(ue),n.clearTimeoutFn=ue.clearTimeout.bind(ue))}const ur=1.33;function dr(n){return typeof n=="string"?fr(n):Math.ceil((n.byteLength||n.size)*ur)}function fr(n){let e=0,t=0;for(let s=0,i=n.length;s<i;s++)e=n.charCodeAt(s),e<128?t+=1:e<2048?t+=2:e<55296||e>=57344?t+=3:(s++,t+=4);return t}function Ps(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function pr(n){let e="";for(let t in n)n.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(n[t]));return e}function vr(n){let e={},t=n.split("&");for(let s=0,i=t.length;s<i;s++){let c=t[s].split("=");e[decodeURIComponent(c[0])]=decodeURIComponent(c[1])}return e}class _r extends Error{constructor(e,t,s){super(e),this.description=t,this.context=s,this.type="TransportError"}}class Gt extends W{constructor(e){super(),this.writable=!1,dt(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,s){return super.emitReserved("error",new _r(e,t,s)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=zt(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){const e=this.opts.hostname;return e.indexOf(":")===-1?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){const t=pr(e);return t.length?"?"+t:""}}class gr extends Gt{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";const t=()=>{this.readyState="paused",e()};if(this._polling||!this.writable){let s=0;this._polling&&(s++,this.once("pollComplete",function(){--s||t()})),this.writable||(s++,this.once("drain",function(){--s||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const t=s=>{if(this.readyState==="opening"&&s.type==="open"&&this.onOpen(),s.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(s)};rr(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,nr(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=Ps()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}}let $s=!1;try{$s=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const mr=$s;function yr(){}class br extends gr{constructor(e){if(super(e),typeof location<"u"){const t=location.protocol==="https:";let s=location.port;s||(s=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||s!==e.port}}doWrite(e,t){const s=this.request({method:"POST",data:e});s.on("success",t),s.on("error",(i,c)=>{this.onError("xhr post error",i,c)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,s)=>{this.onError("xhr poll error",t,s)}),this.pollXhr=e}}class we extends W{constructor(e,t,s){super(),this.createRequest=e,dt(this,s),this._opts=s,this._method=s.method||"GET",this._uri=t,this._data=s.data!==void 0?s.data:null,this._create()}_create(){var e;const t=Us(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this._opts.xd;const s=this._xhr=this.createRequest(t);try{s.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let i in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(i)&&s.setRequestHeader(i,this._opts.extraHeaders[i])}}catch{}if(this._method==="POST")try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{s.setRequestHeader("Accept","*/*")}catch{}(e=this._opts.cookieJar)===null||e===void 0||e.addCookies(s),"withCredentials"in s&&(s.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(s.timeout=this._opts.requestTimeout),s.onreadystatechange=()=>{var i;s.readyState===3&&((i=this._opts.cookieJar)===null||i===void 0||i.parseCookies(s.getResponseHeader("set-cookie"))),s.readyState===4&&(s.status===200||s.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof s.status=="number"?s.status:0)},0))},s.send(this._data)}catch(i){this.setTimeoutFn(()=>{this._onError(i)},0);return}typeof document<"u"&&(this._index=we.requestsCount++,we.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=yr,e)try{this._xhr.abort()}catch{}typeof document<"u"&&delete we.requests[this._index],this._xhr=null}}_onLoad(){const e=this._xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}we.requestsCount=0;we.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Es);else if(typeof addEventListener=="function"){const n="onpagehide"in ue?"pagehide":"unload";addEventListener(n,Es,!1)}}function Es(){for(let n in we.requests)we.requests.hasOwnProperty(n)&&we.requests[n].abort()}const wr=function(){const n=Ds({xdomain:!1});return n&&n.responseType!==null}();class Er extends br{constructor(e){super(e);const t=e&&e.forceBase64;this.supportsBinary=wr&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new we(Ds,this.uri(),e)}}function Ds(n){const e=n.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||mr))return new XMLHttpRequest}catch{}if(!e)try{return new ue[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const qs=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class kr extends Gt{get name(){return"websocket"}doOpen(){const e=this.uri(),t=this.opts.protocols,s=qs?{}:Us(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,s)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],i=t===e.length-1;jt(s,this.supportsBinary,c=>{try{this.doWrite(s,c)}catch{}i&&ut(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=Ps()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}}const It=ue.WebSocket||ue.MozWebSocket;class Rr extends kr{createSocket(e,t,s){return qs?new It(e,t,s):t?new It(e,t):new It(e)}doWrite(e,t){this.ws.send(t)}}class Sr extends Gt{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{const t=or(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),i=ir();i.readable.pipeTo(e.writable),this._writer=i.writable.getWriter();const c=()=>{s.read().then(({done:y,value:w})=>{y||(this.onPacket(w),c())}).catch(y=>{})};c();const v={type:"open"};this.query.sid&&(v.data=`{"sid":"${this.query.sid}"}`),this._writer.write(v).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],i=t===e.length-1;this._writer.write(s).then(()=>{i&&ut(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}}const xr={websocket:Rr,webtransport:Sr,polling:Er},Ar=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Tr=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function $t(n){if(n.length>8e3)throw"URI too long";const e=n,t=n.indexOf("["),s=n.indexOf("]");t!=-1&&s!=-1&&(n=n.substring(0,t)+n.substring(t,s).replace(/:/g,";")+n.substring(s,n.length));let i=Ar.exec(n||""),c={},v=14;for(;v--;)c[Tr[v]]=i[v]||"";return t!=-1&&s!=-1&&(c.source=e,c.host=c.host.substring(1,c.host.length-1).replace(/;/g,":"),c.authority=c.authority.replace("[","").replace("]","").replace(/;/g,":"),c.ipv6uri=!0),c.pathNames=Nr(c,c.path),c.queryKey=Cr(c,c.query),c}function Nr(n,e){const t=/\/{2,9}/g,s=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&s.splice(0,1),e.slice(-1)=="/"&&s.splice(s.length-1,1),s}function Cr(n,e){const t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,i,c){i&&(t[i]=c)}),t}const Dt=typeof addEventListener=="function"&&typeof removeEventListener=="function",ct=[];Dt&&addEventListener("offline",()=>{ct.forEach(n=>n())},!1);class Ne extends W{constructor(e,t){if(super(),this.binaryType=cr,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e=="object"&&(t=e,e=null),e){const s=$t(e);t.hostname=s.host,t.secure=s.protocol==="https"||s.protocol==="wss",t.port=s.port,s.query&&(t.query=s.query)}else t.host&&(t.hostname=$t(t.host).host);dt(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},t.transports.forEach(s=>{const i=s.prototype.name;this.transports.push(i),this._transportsByName[i]=s}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=vr(this.opts.query)),Dt&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},ct.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=Is,t.transport=e,this.id&&(t.sid=this.id);const s=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](s)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const e=this.opts.rememberUpgrade&&Ne.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const t=this.createTransport(e);t.open(),this.setTransport(t)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",t=>this._onClose("transport close",t))}onOpen(){this.readyState="open",Ne.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(e){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const t=new Error("server error");t.code=e.data,this._onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data);break}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let s=0;s<this.writeBuffer.length;s++){const i=this.writeBuffer[s].data;if(i&&(t+=dr(i)),s>0&&t>this._maxPayload)return this.writeBuffer.slice(0,s);t+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,ut(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,t,s){return this._sendPacket("message",e,t,s),this}send(e,t,s){return this._sendPacket("message",e,t,s),this}_sendPacket(e,t,s,i){if(typeof t=="function"&&(i=t,t=void 0),typeof s=="function"&&(i=s,s=null),this.readyState==="closing"||this.readyState==="closed")return;s=s||{},s.compress=s.compress!==!1;const c={type:e,data:t,options:s};this.emitReserved("packetCreate",c),this.writeBuffer.push(c),i&&this.once("flush",i),this.flush()}close(){const e=()=>{this._onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},s=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?s():e()}):this.upgrading?s():e()),this}_onError(e){if(Ne.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),Dt&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const s=ct.indexOf(this._offlineEventListener);s!==-1&&ct.splice(s,1)}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}}Ne.protocol=Is;class Lr extends Ne{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}_probe(e){let t=this.createTransport(e),s=!1;Ne.priorWebsocketSuccess=!1;const i=()=>{s||(t.send([{type:"ping",data:"probe"}]),t.once("packet",I=>{if(!s)if(I.type==="pong"&&I.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;Ne.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{s||this.readyState!=="closed"&&(f(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{const q=new Error("probe error");q.transport=t.name,this.emitReserved("upgradeError",q)}}))};function c(){s||(s=!0,f(),t.close(),t=null)}const v=I=>{const q=new Error("probe error: "+I);q.transport=t.name,c(),this.emitReserved("upgradeError",q)};function y(){v("transport closed")}function w(){v("socket closed")}function K(I){t&&I.name!==t.name&&c()}const f=()=>{t.removeListener("open",i),t.removeListener("error",v),t.removeListener("close",y),this.off("close",w),this.off("upgrading",K)};t.once("open",i),t.once("error",v),t.once("close",y),this.once("close",w),this.once("upgrading",K),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{s||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){const t=[];for(let s=0;s<e.length;s++)~this.transports.indexOf(e[s])&&t.push(e[s]);return t}}let Br=class extends Lr{constructor(e,t={}){const s=typeof e=="object"?e:t;(!s.transports||s.transports&&typeof s.transports[0]=="string")&&(s.transports=(s.transports||["polling","websocket","webtransport"]).map(i=>xr[i]).filter(i=>!!i)),super(e,s)}};function Or(n,e="",t){let s=n;t=t||typeof location<"u"&&location,n==null&&(n=t.protocol+"//"+t.host),typeof n=="string"&&(n.charAt(0)==="/"&&(n.charAt(1)==="/"?n=t.protocol+n:n=t.host+n),/^(https?|wss?):\/\//.test(n)||(typeof t<"u"?n=t.protocol+"//"+n:n="https://"+n),s=$t(n)),s.port||(/^(http|ws)$/.test(s.protocol)?s.port="80":/^(http|ws)s$/.test(s.protocol)&&(s.port="443")),s.path=s.path||"/";const c=s.host.indexOf(":")!==-1?"["+s.host+"]":s.host;return s.id=s.protocol+"://"+c+":"+s.port+e,s.href=s.protocol+"://"+c+(t&&t.port===s.port?"":":"+s.port),s}const Ir=typeof ArrayBuffer=="function",Ur=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer,Vs=Object.prototype.toString,Pr=typeof Blob=="function"||typeof Blob<"u"&&Vs.call(Blob)==="[object BlobConstructor]",$r=typeof File=="function"||typeof File<"u"&&Vs.call(File)==="[object FileConstructor]";function Jt(n){return Ir&&(n instanceof ArrayBuffer||Ur(n))||Pr&&n instanceof Blob||$r&&n instanceof File}function lt(n,e){if(!n||typeof n!="object")return!1;if(Array.isArray(n)){for(let t=0,s=n.length;t<s;t++)if(lt(n[t]))return!0;return!1}if(Jt(n))return!0;if(n.toJSON&&typeof n.toJSON=="function"&&arguments.length===1)return lt(n.toJSON(),!0);for(const t in n)if(Object.prototype.hasOwnProperty.call(n,t)&<(n[t]))return!0;return!1}function Dr(n){const e=[],t=n.data,s=n;return s.data=qt(t,e),s.attachments=e.length,{packet:s,buffers:e}}function qt(n,e){if(!n)return n;if(Jt(n)){const t={_placeholder:!0,num:e.length};return e.push(n),t}else if(Array.isArray(n)){const t=new Array(n.length);for(let s=0;s<n.length;s++)t[s]=qt(n[s],e);return t}else if(typeof n=="object"&&!(n instanceof Date)){const t={};for(const s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=qt(n[s],e));return t}return n}function qr(n,e){return n.data=Vt(n.data,e),delete n.attachments,n}function Vt(n,e){if(!n)return n;if(n&&n._placeholder===!0){if(typeof n.num=="number"&&n.num>=0&&n.num<e.length)return e[n.num];throw new Error("illegal attachments")}else if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=Vt(n[t],e);else if(typeof n=="object")for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&(n[t]=Vt(n[t],e));return n}const Vr=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var x;(function(n){n[n.CONNECT=0]="CONNECT",n[n.DISCONNECT=1]="DISCONNECT",n[n.EVENT=2]="EVENT",n[n.ACK=3]="ACK",n[n.CONNECT_ERROR=4]="CONNECT_ERROR",n[n.BINARY_EVENT=5]="BINARY_EVENT",n[n.BINARY_ACK=6]="BINARY_ACK"})(x||(x={}));class Mr{constructor(e){this.replacer=e}encode(e){return(e.type===x.EVENT||e.type===x.ACK)&<(e)?this.encodeAsBinary({type:e.type===x.EVENT?x.BINARY_EVENT:x.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===x.BINARY_EVENT||e.type===x.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=Dr(e),s=this.encodeAsString(t.packet),i=t.buffers;return i.unshift(s),i}}function ks(n){return Object.prototype.toString.call(n)==="[object Object]"}class Xt extends W{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const s=t.type===x.BINARY_EVENT;s||t.type===x.BINARY_ACK?(t.type=s?x.EVENT:x.ACK,this.reconstructor=new Fr(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if(Jt(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0;const s={type:Number(e.charAt(0))};if(x[s.type]===void 0)throw new Error("unknown packet type "+s.type);if(s.type===x.BINARY_EVENT||s.type===x.BINARY_ACK){const c=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);const v=e.substring(c,t);if(v!=Number(v)||e.charAt(t)!=="-")throw new Error("Illegal attachments");s.attachments=Number(v)}if(e.charAt(t+1)==="/"){const c=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););s.nsp=e.substring(c,t)}else s.nsp="/";const i=e.charAt(t+1);if(i!==""&&Number(i)==i){const c=t+1;for(;++t;){const v=e.charAt(t);if(v==null||Number(v)!=v){--t;break}if(t===e.length)break}s.id=Number(e.substring(c,t+1))}if(e.charAt(++t)){const c=this.tryParse(e.substr(t));if(Xt.isPayloadValid(s.type,c))s.data=c;else throw new Error("invalid payload")}return s}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case x.CONNECT:return ks(t);case x.DISCONNECT:return t===void 0;case x.CONNECT_ERROR:return typeof t=="string"||ks(t);case x.EVENT:case x.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&Vr.indexOf(t[0])===-1);case x.ACK:case x.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class Fr{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const t=qr(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const Wr=Object.freeze(Object.defineProperty({__proto__:null,Decoder:Xt,Encoder:Mr,get PacketType(){return x}},Symbol.toStringTag,{value:"Module"}));function ve(n,e,t){return n.on(e,t),function(){n.off(e,t)}}const Hr=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Ms extends W{constructor(e,t,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[ve(e,"open",this.onopen.bind(this)),ve(e,"packet",this.onpacket.bind(this)),ve(e,"error",this.onerror.bind(this)),ve(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var s,i,c;if(Hr.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;const v={type:x.EVENT,data:t};if(v.options={},v.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){const f=this.ids++,I=t.pop();this._registerAckCallback(f,I),v.id=f}const y=(i=(s=this.io.engine)===null||s===void 0?void 0:s.transport)===null||i===void 0?void 0:i.writable,w=this.connected&&!(!((c=this.io.engine)===null||c===void 0)&&c._hasPingExpired());return this.flags.volatile&&!y||(w?(this.notifyOutgoingListeners(v),this.packet(v)):this.sendBuffer.push(v)),this.flags={},this}_registerAckCallback(e,t){var s;const i=(s=this.flags.timeout)!==null&&s!==void 0?s:this._opts.ackTimeout;if(i===void 0){this.acks[e]=t;return}const c=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let y=0;y<this.sendBuffer.length;y++)this.sendBuffer[y].id===e&&this.sendBuffer.splice(y,1);t.call(this,new Error("operation has timed out"))},i),v=(...y)=>{this.io.clearTimeoutFn(c),t.apply(this,y)};v.withError=!0,this.acks[e]=v}emitWithAck(e,...t){return new Promise((s,i)=>{const c=(v,y)=>v?i(v):s(y);c.withError=!0,t.push(c),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((i,...c)=>s!==this._queue[0]?void 0:(i!==null?s.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(i)):(this._queue.shift(),t&&t(null,...c)),s.pending=!1,this._drainQueue())),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:x.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(s=>String(s.id)===e)){const s=this.acks[e];delete this.acks[e],s.withError&&s.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case x.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case x.EVENT:case x.BINARY_EVENT:this.onevent(e);break;case x.ACK:case x.BINARY_ACK:this.onack(e);break;case x.DISCONNECT:this.ondisconnect();break;case x.CONNECT_ERROR:this.destroy();const s=new Error(e.data.message);s.data=e.data.data,this.emitReserved("connect_error",s);break}}onevent(e){const t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let s=!1;return function(...i){s||(s=!0,t.packet({type:x.ACK,id:e,data:i}))}}onack(e){const t=this.acks[e.id];typeof t=="function"&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:x.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const t=this._anyOutgoingListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const t=this._anyOutgoingListeners.slice();for(const s of t)s.apply(this,e.data)}}}function We(n){n=n||{},this.ms=n.min||100,this.max=n.max||1e4,this.factor=n.factor||2,this.jitter=n.jitter>0&&n.jitter<=1?n.jitter:0,this.attempts=0}We.prototype.duration=function(){var n=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*n);n=Math.floor(e*10)&1?n+t:n-t}return Math.min(n,this.max)|0};We.prototype.reset=function(){this.attempts=0};We.prototype.setMin=function(n){this.ms=n};We.prototype.setMax=function(n){this.max=n};We.prototype.setJitter=function(n){this.jitter=n};class Mt extends W{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,dt(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((s=t.randomizationFactor)!==null&&s!==void 0?s:.5),this.backoff=new We({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;const i=t.parser||Wr;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new Br(this.uri,this.opts);const t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const i=ve(t,"open",function(){s.onopen(),e&&e()}),c=y=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",y),e?e(y):this.maybeReconnectOnOpen()},v=ve(t,"error",c);if(this._timeout!==!1){const y=this._timeout,w=this.setTimeoutFn(()=>{i(),c(new Error("timeout")),t.close()},y);this.opts.autoUnref&&w.unref(),this.subs.push(()=>{this.clearTimeoutFn(w)})}return this.subs.push(i),this.subs.push(v),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(ve(e,"ping",this.onping.bind(this)),ve(e,"data",this.ondata.bind(this)),ve(e,"error",this.onerror.bind(this)),ve(e,"close",this.onclose.bind(this)),ve(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){ut(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new Ms(this,e,t),this.nsps[e]=s),s}_destroy(e){const t=Object.keys(this.nsps);for(const s of t)if(this.nsps[s].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let s=0;s<t.length;s++)this.engine.write(t[s],e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var s;this.cleanup(),(s=this.engine)===null||s===void 0||s.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(i=>{i?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",i)):e.onreconnect()}))},t);this.opts.autoUnref&&s.unref(),this.subs.push(()=>{this.clearTimeoutFn(s)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const je={};function ht(n,e){typeof n=="object"&&(e=n,n=void 0),e=e||{};const t=Or(n,e.path||"/socket.io"),s=t.source,i=t.id,c=t.path,v=je[i]&&c in je[i].nsps,y=e.forceNew||e["force new connection"]||e.multiplex===!1||v;let w;return y?w=new Mt(s,e):(je[i]||(je[i]=new Mt(s,e)),w=je[i]),t.query&&!e.query&&(e.query=t.queryKey),w.socket(t.path,e)}Object.assign(ht,{Manager:Mt,Socket:Ms,io:ht,connect:ht});const Kr="Run all tests?",Yr="Run all tests",jr="No tag or filter is set. This will run",zr="every test",Gr="in the suite, which may take a while.",Jr="View Report",Xr="Test Run",Qr="Clear test run",Zr="None",ei="No active test runs",ti="Workers",si="Browser",ni="Runners",ri="Notify",ii="No automated cases in this run",oi="Running",ai="Run",ci="Manual run",li="No tests currently running",hi="Live",ui=n=>`${n} automated`,di=n=>n?"Discord notification on":"Discord notification off",fi=n=>n?"Slack notification on":"Slack notification off",pi=n=>`${n} runners`,vi=n=>`${Ts(n)} run`,_i=n=>n?"Collapse panel":"Expand panel";function gi(n,e,t){return n.running?"Running":n.status==="pass"?"Passed":n.status==="fail"?"Failed":t?"Scheduled":e?"Running":"Ready"}function mi(n,e){var t;return n.selectedRunners.length===1&&n.selectedRunners[0]===Re?xs:n.selectedRunners.length===1?((t=e.find(s=>s.id===n.selectedRunners[0]))==null?void 0:t.name)??"1 node":`${n.selectedRunners.length} nodes`}var yi=E(' <strong class="svelte-h71cn6"></strong> ',1),bi=E('<span class="run-tag svelte-h71cn6"> </span>'),wi=E('<a class="view-report-btn svelte-h71cn6"> <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-h71cn6"><line x1="5" y1="12" x2="19" y2="12" class="svelte-h71cn6"></line><polyline points="12 5 19 12 12 19" class="svelte-h71cn6"></polyline></svg></a>'),Ei=E('<span class="run-chip-spinner svelte-h71cn6"></span>'),ki=E('<span class="run-chip-count svelte-h71cn6"> </span>'),Ri=E('<div class="run-chip svelte-h71cn6"><svg width="9" height="10" viewBox="0 0 10 12" fill="currentColor" stroke="none" style="opacity:0.6;flex-shrink:0" class="svelte-h71cn6"><polygon points="0,0 10,6 0,12" class="svelte-h71cn6"></polygon></svg> <span class="run-chip-title svelte-h71cn6"> </span> <!> <button class="run-chip-clear svelte-h71cn6"><svg width="9" height="9" viewBox="0 0 14 14" fill="none" class="svelte-h71cn6"><path d="M1 1l12 12M13 1L1 13" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-h71cn6"></path></svg></button></div>'),Si=E('<div class="input-wrap svelte-h71cn6"><svg class="input-icon svelte-h71cn6" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8" class="svelte-h71cn6"></circle><line x1="21" y1="21" x2="16.65" y2="16.65" class="svelte-h71cn6"></line></svg> <input type="text" class="tag-input svelte-h71cn6" placeholder="@tag or leave blank for all tests"></div>'),xi=E('<button class="dropdown-item svelte-h71cn6"><span style="color:var(--text-muted)" class="svelte-h71cn6">✕</span> </button> <div class="dropdown-divider svelte-h71cn6"></div>',1),Ai=E('<div class="dropdown-empty svelte-h71cn6"></div>'),Ti=E('<button class="dropdown-item svelte-h71cn6"> </button>'),Ni=E('<div class="dropdown-menu run-pick-menu svelte-h71cn6"><!> <!></div>'),Ci=E('<button class="dropdown-item svelte-h71cn6"> </button>'),Li=E('<div class="dropdown-menu svelte-h71cn6"></div>'),Bi=E('<label class="runner-option svelte-h71cn6"><input type="checkbox" class="svelte-h71cn6"> <span class="runner-dot built-in svelte-h71cn6"></span> <span class="svelte-h71cn6"></span></label>'),Oi=E('<label class="runner-option svelte-h71cn6"><input type="checkbox" class="svelte-h71cn6"> <span class="runner-dot remote svelte-h71cn6"></span> <span class="svelte-h71cn6"> </span></label>'),Ii=E('<div class="dropdown-menu runners-menu svelte-h71cn6"><!> <!></div>'),Ui=E('<div class="ctrl-divider svelte-h71cn6"></div> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="dropdown-wrap svelte-h71cn6"><button class="dropdown-trigger svelte-h71cn6"><span class="svelte-h71cn6"> </span> <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" class="trigger-chevron svelte-h71cn6"><polyline points="6 9 12 15 18 9" class="svelte-h71cn6"></polyline></svg></button> <!></div></div>',1),Pi=E('<button type="button" class="notify-btn svelte-h71cn6"></button>'),$i=E('<button type="button" class="notify-btn svelte-h71cn6"></button>'),Di=E('<div class="ctrl-divider svelte-h71cn6"></div> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="notify-toggles svelte-h71cn6"><!> <!></div></div>',1),qi=E('<span class="run-spinner svelte-h71cn6"></span> ',1),Vi=_n('<svg width="9" height="10" viewBox="0 0 10 12" fill="currentColor" stroke="none" class="svelte-h71cn6"><polygon points="0,0 10,6 0,12" class="svelte-h71cn6"></polygon></svg> ',1),Mi=E('<span class="meta-dot svelte-h71cn6">·</span> ',1),Fi=E('<span class="run-card-meta svelte-h71cn6"> <span class="meta-dot svelte-h71cn6">·</span> <span class="meta-dot svelte-h71cn6">·</span> <!></span>'),Wi=E('<a href="/reports/live" class="run-card active-run svelte-h71cn6"><span class="run-card-dot pulse-accent svelte-h71cn6"></span> <div class="run-card-info svelte-h71cn6"><span class="run-card-label svelte-h71cn6"> </span> <!></div> <!> <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="run-card-arrow svelte-h71cn6"><line x1="5" y1="12" x2="19" y2="12" class="svelte-h71cn6"></line><polyline points="12 5 19 12 12 19" class="svelte-h71cn6"></polyline></svg></a>'),Hi=E('<a class="run-card cron-run svelte-h71cn6"><span class="run-card-dot pulse-pass svelte-h71cn6"></span> <div class="run-card-info svelte-h71cn6"><span class="run-card-label svelte-h71cn6"> </span> <span class="run-card-meta svelte-h71cn6"> </span></div> <!> <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="run-card-arrow svelte-h71cn6"><line x1="5" y1="12" x2="19" y2="12" class="svelte-h71cn6"></line><polyline points="12 5 19 12 12 19" class="svelte-h71cn6"></polyline></svg></a>'),Ki=E('<div class="empty-runs svelte-h71cn6"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="empty-icon svelte-h71cn6"><circle cx="12" cy="12" r="10" class="svelte-h71cn6"></circle><line x1="10" y1="15" x2="10" y2="12" class="svelte-h71cn6"></line><line x1="10" y1="9" x2="10.01" y2="9" class="svelte-h71cn6"></line></svg> </div>'),Yi=E('<div class="body svelte-h71cn6"><!> <!> <!></div>'),ji=E('<!> <div class="panel svelte-h71cn6"><div class="scan-line svelte-h71cn6"></div> <div class="bar svelte-h71cn6"><div class="bar-left svelte-h71cn6"><div class="bar-status svelte-h71cn6"><span class="status-dot svelte-h71cn6"></span> <span class="status-word svelte-h71cn6"> </span> <!></div> <!></div> <span class="flex-gap svelte-h71cn6"></span> <div class="bar-center svelte-h71cn6"><!> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="dropdown-wrap svelte-h71cn6"><button class="dropdown-trigger svelte-h71cn6"><span class="svelte-h71cn6"> </span> <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" class="trigger-chevron svelte-h71cn6"><polyline points="6 9 12 15 18 9" class="svelte-h71cn6"></polyline></svg></button> <!></div></div> <div class="ctrl-divider svelte-h71cn6"></div> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="stepper svelte-h71cn6"><button class="step-btn svelte-h71cn6">−</button> <span class="step-val svelte-h71cn6"> </span> <button class="step-btn svelte-h71cn6">+</button></div></div> <div class="ctrl-divider svelte-h71cn6"></div> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="dropdown-wrap svelte-h71cn6"><button class="dropdown-trigger svelte-h71cn6"><span class="svelte-h71cn6"> </span> <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" class="trigger-chevron svelte-h71cn6"><polyline points="6 9 12 15 18 9" class="svelte-h71cn6"></polyline></svg></button> <!></div></div> <!> <!> <div class="ctrl-divider svelte-h71cn6"></div> <button class="run-btn svelte-h71cn6"><!></button></div> <span class="flex-gap-sm svelte-h71cn6"></span> <button class="expand-btn svelte-h71cn6"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-h71cn6"><polyline points="18 15 12 9 6 15" class="svelte-h71cn6"></polyline></svg></button></div> <!></div>',1);function zi(n,e){Wt(e,!1);const[t,s]=Yt(),i=()=>be(Te,"$runnerState",t),c=()=>be(ke,"$runnerConfig",t),v=()=>be(nt,"$backgroundRuns",t),y=()=>be(Bn,"$runsVersion",t),w=()=>be(Ye,"$panelExpanded",t),K=()=>be(Nt,"$builtInEnabled",t),f=U(),I=U(),q=U(),z=U(),ee=U(),Se=U(),Pe=U(),ne=U(),_e=U(),ge=U(),de=U();let ce=U([]),xe=U([]),L=U(null),fe=U(!1),pe=U(!1),V=U(!1),B=U(!1),J=U(!1),re=U({discordWebhookUrl:"",slackWebhookUrl:"",notifyPublicUrl:""}),ie=U(!1),M=U(!1);function H(a){function u(o){a.contains(o.target)||a.dispatchEvent(new CustomEvent("clickoutside"))}return document.addEventListener("click",u,!0),{destroy(){document.removeEventListener("click",u,!0)}}}let G,Ae,me,$e;Ht(()=>{try{const o=localStorage.getItem("plum:runnerConfig");o&&ke.update(h=>({...h,...JSON.parse(o)}))}catch{}try{const o=localStorage.getItem("plum:panelExpanded");o!==null&&Ye.set(o==="true")}catch{}try{const o=localStorage.getItem("plum:builtInEnabled");o!==null&&Nt.set(o!=="false")}catch{}Tn().then(o=>{k(ce,o);const h=new Set([Re,...o.map(l=>l.id)]);ke.update(l=>{const p=l.selectedRunners.filter(b=>h.has(b));return{...l,selectedRunners:p.length>0?p:[Re]}})}).catch(()=>{}),Nn().then(o=>k(re,o)).catch(()=>{}),G=ke.subscribe(o=>{try{localStorage.setItem("plum:runnerConfig",JSON.stringify(o))}catch{}}),Ae=Ye.subscribe(o=>{try{localStorage.setItem("plum:panelExpanded",String(o))}catch{}}),me=Nt.subscribe(o=>{try{localStorage.setItem("plum:builtInEnabled",String(o))}catch{}ke.update(h=>{if(!o&&h.selectedRunners.includes(Re)){const l=h.selectedRunners.filter(b=>b!==Re),p=l.length>0?l:r(ce)[0]?[r(ce)[0].id]:[];return{...h,selectedRunners:p}}return h})});const a=ht(bn,{transports:["websocket"]});$e=a,Cn.set(a),a.on(Y.LOG,o=>{Te.update(h=>({...h,output:h.output+o+`
|
|
24
|
-
`}))}),a.on(Y.DONE,o=>{const h=typeof o=="object"&&o!==null?o.code:o,l=typeof o=="object"&&o!==null?o.reportId:void 0,p=h===0||h===null,b=h===130;(l!=null?Promise.resolve(l):On().catch(()=>null)).then(S=>{Te.update(A=>({...A,output:A.output+(b?"":p?`
|
|
25
|
-
✓ All tests passed
|
|
26
|
-
`:`
|
|
27
|
-
✗ Some tests failed
|
|
28
|
-
`),running:!1,testCompleted:!b,latestReportId:b?null:S,status:b?"idle":p?"pass":"fail",currentRun:b?null:A.currentRun}))})}),a.on(Y.RUNNER_LANES_INIT,o=>{Te.update(h=>({...h,lanes:o.map(l=>({...l,status:"running",logs:"",latestScreenshot:null}))}))}),a.on(Y.RUNNER_LANE_LOG,({id:o,log:h})=>{Te.update(l=>({...l,lanes:l.lanes.map(p=>p.id===o?{...p,logs:p.logs+h}:p)}))}),a.on(Y.RUNNER_LANE_STATUS,({id:o,status:h})=>{Te.update(l=>({...l,lanes:l.lanes.map(p=>p.id===o?{...p,status:h}:p)}))}),a.on(Y.STEP_SCREENSHOT,({stepName:o,data:h})=>{Te.update(l=>({...l,latestScreenshot:{stepName:o,data:h}}))}),a.on(Y.RUNNER_LANE_SCREENSHOT,({id:o,stepName:h,data:l})=>{Te.update(p=>({...p,lanes:p.lanes.map(b=>b.id===o?{...b,latestScreenshot:{stepName:h,data:l}}:b)}))}),a.on(Y.TESTS_CHANGED,()=>Ln.update(o=>o+1)),a.on(Y.REPORT_READY,()=>gs.update(o=>o+1));function u(o,h){nt.update(l=>l[o]?{...l,[o]:h(l[o])}:l)}a.on(Y.BG_RUN_START,({runId:o,kind:h,label:l,meta:p})=>{nt.update(b=>({...b,[o]:{kind:h,label:l,output:"",running:!0,testCompleted:!1,latestReportId:null,status:"running",lanes:[],currentRun:{tag:p==null?void 0:p.tag,workers:p==null?void 0:p.workers,browser:p==null?void 0:p.browser,runTitle:l},latestScreenshot:null}})),Ye.set(!0)}),a.on(Y.BG_RUN_LOG,({runId:o,log:h})=>{u(o,l=>({...l,output:l.output+h}))}),a.on(Y.BG_RUN_LANES_INIT,({runId:o,lanes:h})=>{u(o,l=>({...l,lanes:h.map(p=>({...p,status:"running",logs:"",latestScreenshot:null}))}))}),a.on(Y.BG_RUN_LANE_LOG,({runId:o,laneId:h,log:l})=>{u(o,p=>({...p,lanes:p.lanes.map(b=>b.id===h?{...b,logs:b.logs+l}:b)}))}),a.on(Y.BG_RUN_LANE_STATUS,({runId:o,laneId:h,status:l})=>{u(o,p=>({...p,lanes:p.lanes.map(b=>b.id===h?{...b,status:l}:b)}))}),a.on(Y.BG_RUN_SCREENSHOT,({runId:o,stepName:h,data:l})=>{u(o,p=>({...p,latestScreenshot:{stepName:h,data:l}}))}),a.on(Y.BG_RUN_LANE_SCREENSHOT,({runId:o,laneId:h,stepName:l,data:p})=>{u(o,b=>({...b,lanes:b.lanes.map(R=>R.id===h?{...R,latestScreenshot:{stepName:l,data:p}}:R)}))}),a.on(Y.BG_RUN_DONE,({runId:o,code:h,reportId:l})=>{const p=h===0||h===null;u(o,b=>({...b,running:!1,testCompleted:!0,latestReportId:l,status:p?"pass":"fail"})),gs.update(b=>b+1),setTimeout(()=>{nt.update(b=>{const R={...b};return delete R[o],R})},wn+5e3)})}),mn(()=>{G==null||G(),Ae==null||Ae(),me==null||me(),$e==null||$e.disconnect()});async function Ce(a){k(B,!1),k(L,{id:a.id,title:a.title,tags:null}),k(fe,!0);try{const o=(await Pn(a.id)).entries.filter(h=>{var l;return(l=h.case)==null?void 0:l.isAutomated}).map(h=>`@${h.case.displayId}`);k(L,{id:a.id,title:a.title,tags:o})}catch{k(L,null)}finally{k(fe,!1)}}function Je(){k(L,null)}function Qt(){const a={notifyDiscord:r(ie),notifySlack:r(M)};if(r(L)){if(r(fe)||!r(L).tags||r(L).tags.length===0)return;Ct(r(L).tags.join(" or "),r(L).id,a,r(L).title)}else c().testID.trim()===""?k(J,!0):Ct(void 0,void 0,a)}function Fs(a){a.key==="Enter"&&!r(f).running&&!r(L)&&Qt()}function Zt(a){ke.update(u=>({...u,workers:Math.max(ps,Math.min(vs,u.workers+a))}))}function es(a){ke.update(u=>{const o=u.selectedRunners;if(o.includes(a)&&o.length===1)return u;const h=o.includes(a)?o.filter(l=>l!==a):[...o,a];return{...u,selectedRunners:h}})}function ft(a){return c().selectedRunners.includes(a)}he(()=>i(),()=>{k(f,i())}),he(()=>c(),()=>{k(I,c())}),he(()=>(r(f),st),()=>{k(q,(()=>{var u;if(!((u=r(f).currentRun)!=null&&u.tag))return En;const a=r(f).currentRun.tag.split(/ or /i);return a.length<=st?r(f).currentRun.tag:a.slice(0,st).join(" or ")+` +${a.length-st} more`})())}),he(()=>v(),()=>{k(z,Object.entries(v()).filter(([,a])=>a.running))}),he(()=>r(z),()=>{k(ee,r(z).length>0)}),he(()=>r(z),()=>{k(Se,r(z).some(([,a])=>a.kind==="cron"))}),he(()=>(r(f),r(ee)),()=>{k(Pe,r(f).running||r(ee))}),he(()=>(y(),fs),()=>{y()>=0&&Un({limit:fs}).then(a=>k(xe,a.runs)).catch(()=>{})}),he(()=>(r(f),r(ee)),()=>{k(ne,r(f).status==="pass"?"var(--pass)":r(f).status==="fail"?"var(--fail)":r(f).running?"var(--accent)":r(ee)?"var(--pass)":"var(--border)")}),he(()=>(r(f),r(ee),r(Se)),()=>{k(_e,gi(r(f),r(ee),r(Se)))}),he(()=>r(I),()=>{k(ge,At.find(a=>a.id===r(I).browser)??At[0])}),he(()=>(r(I),r(ce)),()=>{k(de,mi(r(I),r(ce)))}),yn(),Ft();var ts=ji(),ss=j(ts);Dn(ss,{title:Kr,confirmLabel:Yr,get open(){return r(J)},set open(a){k(J,a)},$$events:{confirm:()=>{k(J,!1),Ct(void 0,void 0,{notifyDiscord:r(ie),notifySlack:r(M)})}},children:(a,u)=>{Ie();var o=yi(),h=j(o);h.nodeValue=`${jr} `;var l=d(h);l.textContent=zr;var p=d(l);p.nodeValue=` ${Gr}`,m(a,o)},$$slots:{default:!0},$$legacy:!0});var pt=d(ss,2),Xe=g(pt),vt=d(Xe,2),_t=g(vt),gt=g(_t),mt=g(gt),Qe=d(mt,2),Ws=g(Qe,!0);_(Qe);var Hs=d(Qe,2);{var Ks=a=>{var u=bi(),o=g(u,!0);_(u),P(()=>{var h;return D(o,((h=r(f).currentRun)==null?void 0:h.runTitle)||r(f).lastRunId)}),m(a,u)};N(Hs,a=>{var u;(r(f).lastRunId||(u=r(f).currentRun)!=null&&u.runTitle)&&a(Ks)})}_(gt);var Ys=d(gt,2);{var js=a=>{var u=wi(),o=g(u);o.nodeValue=`${Jr} `,Ie(),_(u),P(h=>se(u,"href",h),[()=>In(r(f).latestReportId)],te),Ue(3,u,()=>Ke,()=>({x:-6,duration:200})),m(a,u)};N(Ys,a=>{r(f).testCompleted&&r(f).latestReportId&&a(js)})}_(_t);var yt=d(_t,4),ns=g(yt);{var zs=a=>{var u=Ri(),o=d(g(u),2),h=g(o,!0);_(o);var l=d(o,2);{var p=S=>{var A=Ei();m(S,A)},b=S=>{var A=Me(),T=j(A);{var O=F=>{var X=ki(),ye=g(X,!0);_(X),P(Q=>{C(X,"none",r(L).tags.length===0),D(ye,Q)},[()=>ui(r(L).tags.length)],te),m(F,X)};N(T,F=>{r(L).tags!==null&&F(O)},!0)}m(S,A)};N(l,S=>{r(fe)?S(p):S(b,!1)})}var R=d(l,2);se(R,"aria-label",Qr),_(u),P(()=>{C(u,"loading",r(fe)),D(h,r(L).title)}),$("click",R,Je),m(a,u)},Gs=a=>{var u=Si(),o=d(g(u),2);Tt(o),_(u),P(()=>{kn(o,c().testID),o.disabled=r(f).running}),$("input",o,h=>ke.update(l=>({...l,testID:h.currentTarget.value}))),$("keydown",o,Fs),m(a,u)};N(ns,a=>{r(L)?a(zs):a(Gs,!1)})}var bt=d(ns,2),rs=g(bt);rs.textContent=Xr;var Ze=d(rs,2),Le=g(Ze),wt=g(Le),Js=g(wt,!0);_(wt);var Xs=d(wt,2);_(Le);var Qs=d(Le,2);{var Zs=a=>{var u=Ni(),o=g(u);{var h=R=>{var S=xi(),A=j(S),T=d(g(A));T.nodeValue=` ${Rn}`,_(A),Ie(2),$("click",A,Je),m(R,S)};N(o,R=>{r(L)&&R(h)})}var l=d(o,2);{var p=R=>{var S=Ai();S.textContent=ei,m(R,S)},b=R=>{var S=Me(),A=j(S);Fe(A,1,()=>r(xe).filter(T=>T.status!=="complete"),Ge,(T,O)=>{var F=Ti(),X=g(F,!0);_(F),P(()=>{var ye;C(F,"active",((ye=r(L))==null?void 0:ye.id)===r(O).id),D(X,r(O).title)}),$("click",F,()=>Ce(r(O))),m(T,F)}),m(R,S)};N(l,R=>{r(xe).filter(S=>S.status!=="complete").length===0?R(p):R(b,!1)})}_(u),Ue(3,u,()=>Ke,()=>({y:6,duration:130})),m(a,u)};N(Qs,a=>{r(B)&&a(Zs)})}_(Ze),Lt(Ze,a=>H==null?void 0:H(a)),ot(()=>$("clickoutside",Ze,()=>k(B,!1))),_(bt);var Et=d(bt,4),is=g(Et);is.textContent=ti;var os=d(is,2),kt=g(os),Rt=d(kt,2),en=g(Rt,!0);_(Rt);var as=d(Rt,2);_(os),_(Et);var St=d(Et,4),cs=g(St);cs.textContent=si;var et=d(cs,2),De=g(et),xt=g(De),tn=g(xt,!0);_(xt);var sn=d(xt,2);_(De);var nn=d(De,2);{var rn=a=>{var u=Li();Fe(u,5,()=>At,Ge,(o,h)=>{var l=Ci(),p=g(l,!0);_(l),P(()=>{C(l,"active",r(I).browser===r(h).id),D(p,r(h).label)}),$("click",l,()=>{ke.update(b=>({...b,browser:r(h).id})),k(pe,!1)}),m(o,l)}),_(u),Ue(3,u,()=>Ke,()=>({y:6,duration:130})),m(a,u)};N(nn,a=>{r(pe)&&a(rn)})}_(et),Lt(et,a=>H==null?void 0:H(a)),ot(()=>$("clickoutside",et,()=>k(pe,!1))),_(St);var ls=d(St,2);{var on=a=>{var u=Ui(),o=d(j(u),2),h=g(o);h.textContent=ni;var l=d(h,2),p=g(l),b=g(p),R=g(b,!0);_(b);var S=d(b,2);_(p);var A=d(p,2);{var T=O=>{var F=Ii(),X=g(F);{var ye=le=>{var Z=Bi(),oe=g(Z);Tt(oe);var ae=d(oe,4);ae.textContent=xs,_(Z),P(Be=>_s(oe,Be),[()=>ft(Re)],te),$("change",oe,()=>es(Re)),m(le,Z)};N(X,le=>{(K()||ft(Re))&&le(ye)})}var Q=d(X,2);Fe(Q,1,()=>r(ce),Ge,(le,Z)=>{var oe=Oi(),ae=g(oe);Tt(ae);var Be=d(ae,4),Ve=g(Be,!0);_(Be),_(oe),P(Oe=>{_s(ae,Oe),D(Ve,r(Z).name)},[()=>ft(r(Z).id)],te),$("change",ae,()=>es(r(Z).id)),m(le,oe)}),_(F),Ue(3,F,()=>Ke,()=>({y:6,duration:130})),m(O,F)};N(A,O=>{r(V)&&O(T)})}_(l),Lt(l,O=>H==null?void 0:H(O)),ot(()=>$("clickoutside",l,()=>k(V,!1))),_(o),P(O=>{p.disabled=r(f).running,C(p,"open",r(V)),C(p,"has-remote",O),D(R,r(de)),C(S,"open",r(V))},[()=>r(I).selectedRunners.some(O=>O!==Re)],te),$("click",p,()=>{r(f).running||k(V,!r(V))}),m(a,u)};N(ls,a=>{r(ce).length>0&&a(on)})}var hs=d(ls,2);{var an=a=>{var u=Di(),o=d(j(u),2),h=g(o);h.textContent=ri;var l=d(h,2),p=g(l);{var b=A=>{var T=Pi();T.textContent=Sn,P(O=>{se(T,"title",O),T.disabled=r(f).running,C(T,"active",r(ie))},[()=>di(r(ie))],te),$("click",T,()=>k(ie,!r(ie))),m(A,T)};N(p,A=>{r(re).discordWebhookUrl&&A(b)})}var R=d(p,2);{var S=A=>{var T=$i();T.textContent=xn,P(O=>{se(T,"title",O),T.disabled=r(f).running,C(T,"active",r(M))},[()=>fi(r(M))],te),$("click",T,()=>k(M,!r(M))),m(A,T)};N(R,A=>{r(re).slackWebhookUrl&&A(S)})}_(l),_(o),m(a,u)};N(hs,a=>{(r(re).discordWebhookUrl||r(re).slackWebhookUrl)&&a(an)})}var qe=d(hs,4),cn=g(qe);{var ln=a=>{var u=qi(),o=d(j(u));o.nodeValue=` ${oi}`,m(a,u)},hn=a=>{var u=Vi(),o=d(j(u),1,!0);o.nodeValue=ai,m(a,u)};N(cn,a=>{r(f).running?a(ln):a(hn,!1)})}_(qe),_(yt);var tt=d(yt,4),un=g(tt);_(tt),_(vt);var dn=d(vt,2);{var fn=a=>{var u=Yi(),o=g(u);{var h=R=>{var S=Wi(),A=d(g(S),2),T=g(A),O=g(T,!0);_(T);var F=d(T,2);{var X=Q=>{var le=Fi(),Z=g(le),oe=d(Z,2),ae=d(oe,2),Be=d(ae);{var Ve=Oe=>{var He=Mi(),pn=d(j(He));P(vn=>D(pn,` ${vn??""}`),[()=>pi(r(f).currentRun.runners.length)],te),m(Oe,He)};N(Be,Oe=>{var He;((He=r(f).currentRun.runners)==null?void 0:He.length)>1&&Oe(Ve)})}_(le),P(()=>{D(Z,`${r(q)??""} `),D(oe,` ${r(f).currentRun.workers??""}w `),D(ae,` ${r(f).currentRun.browser??""} `)}),m(Q,le)};N(F,Q=>{r(f).currentRun&&Q(X)})}_(A);var ye=d(A,2);ms(ye,{variant:"tag",children:(Q,le)=>{Ie();var Z=us();Z.nodeValue=hi,m(Q,Z)},$$slots:{default:!0}}),Ie(2),_(S),P(()=>{var Q;return D(O,((Q=r(f).currentRun)==null?void 0:Q.runTitle)||ci)}),m(R,S)};N(o,R=>{r(f).running&&R(h)})}var l=d(o,2);Fe(l,1,()=>r(z),([R,S])=>R,(R,S)=>{let A=()=>r(S)[0],T=()=>r(S)[1];var O=Hi(),F=d(g(O),2),X=g(F),ye=g(X,!0);_(X);var Q=d(X,2),le=g(Q,!0);_(Q),_(F);var Z=d(F,2);const oe=te(()=>$n(T().kind));ms(Z,{get variant(){return r(oe)},children:(ae,Be)=>{Ie();var Ve=us();P(Oe=>D(Ve,Oe),[()=>Ts(T().kind)],te),m(ae,Ve)},$$slots:{default:!0}}),Ie(2),_(O),P(ae=>{se(O,"href",`/reports/live?run=${A()??""}`),D(ye,T().label),D(le,ae)},[()=>vi(T().kind)],te),Ue(3,O,()=>Ke,()=>({x:-4,duration:160})),m(R,O)});var p=d(l,2);{var b=R=>{var S=Ki(),A=d(g(S));A.nodeValue=` ${li}`,_(S),m(R,S)};N(p,R=>{r(Pe)||R(b)})}_(u),Ue(3,u,()=>Rs,()=>({duration:200})),m(a,u)};N(dn,a=>{w()&&a(fn)})}_(pt),P(a=>{var u,o;C(pt,"expanded",w()),C(Xe,"scanning",r(f).running),C(Xe,"line-pass",r(f).status==="pass"&&!r(f).running),C(Xe,"line-fail",r(f).status==="fail"&&!r(f).running),se(mt,"style",`background:${r(ne)??""}`),C(mt,"pulse",r(f).running),se(Qe,"style",`color:${r(ne)??""}`),D(Ws,r(_e)),Le.disabled=r(f).running,C(Le,"open",r(B)),C(Le,"has-remote",!!r(L)),D(Js,r(L)?r(L).title:Zr),C(Xs,"open",r(B)),kt.disabled=r(I).workers<=ps||r(f).running,D(en,r(I).workers),as.disabled=r(I).workers>=vs||r(f).running,De.disabled=r(f).running,C(De,"open",r(pe)),D(tn,r(ge).label),C(sn,"open",r(pe)),qe.disabled=r(f).running||r(fe)||r(L)&&((u=r(L).tags)==null?void 0:u.length)===0,se(qe,"title",r(L)&&((o=r(L).tags)==null?void 0:o.length)===0?ii:void 0),C(qe,"is-running",r(f).running),se(tt,"aria-label",a),C(un,"flipped",w())},[()=>_i(w())],te),$("click",Le,()=>{r(f).running||k(B,!r(B))}),$("click",kt,()=>Zt(-1)),$("click",as,()=>Zt(1)),$("click",De,()=>{r(f).running||k(pe,!r(pe))}),$("click",qe,Qt),$("click",tt,()=>Ye.update(a=>!a)),m(n,ts),Kt(),s()}var Gi=E("<!> <!> <!>",1),Ji=E('<div class="boot-loading svelte-3qbr79">Loading…</div>');function go(n,e){Wt(e,!1);const[t,s]=Yt(),i=()=>be(Ss,"$page",t),c=()=>be(As,"$auth",t),v=["/login","/setup"];let y=U(!1);Ht(async()=>{const q=i().url.pathname;if(v.includes(q)){k(y,!0);return}if(c().token){k(y,!0);return}try{const ee=await qn();await ds(ee?"/setup":"/login")}catch{await ds("/login")}finally{k(y,!0)}}),Ft();var w=Me(),K=j(w);{var f=q=>{var z=Me(),ee=j(z);{var Se=ne=>{var _e=Me(),ge=j(_e);Ut(ge,e,"default",{},null),m(ne,_e)},Pe=ne=>{var _e=Gi(),ge=j(_e);Jn(ge,{});var de=d(ge,2);Qn(de,{children:(xe,L)=>{var fe=Me(),pe=j(fe);Ut(pe,e,"default",{},null),m(xe,fe)},$$slots:{default:!0}});var ce=d(de,2);zi(ce,{}),m(ne,_e)};N(ee,ne=>{i().url.pathname==="/login"||i().url.pathname==="/setup"?ne(Se):ne(Pe,!1)})}m(q,z)},I=q=>{var z=Ji();m(q,z)};N(K,q=>{r(y)?q(f):q(I,!1)})}m(n,w),Kt(),s()}export{go as component,vo as universal};
|
|
Binary file
|
|
Binary file
|