plum-e2e 2.6.8 → 2.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env +5 -0
- package/backend/lib/runnerProcess.js +29 -15
- package/backend/logs/runner-cmqneqerz0000qq01i5ap2rvl.log +4 -0
- package/backend/logs/runner-cmqnfv7kr0000r101aeocm8eu.log +4 -0
- package/backend/logs/runner-cmqnfvb560001r101qoi0phau.log +4 -0
- package/backend/logs/runner-cmqnfvlm20002r101gsyqb837.log +4 -0
- package/backend/logs/runner-cmqnfvqfy0003r101fh41pzx3.log +4 -0
- package/backend/logs/runner-cmqnfvvwo0004r101q4dtqxd2.log +4 -0
- package/backend/logs/runner-cmr8o2x3n0000mg01410tpuck.log +4 -0
- package/backend/logs/runner-cmr90hvcx0000n2016edtmrtv.log +4 -0
- package/backend/logs/runner-cmr90i7h20001n201g2wg6v3n.log +4 -0
- package/backend/logs/runner-cmr90iilm0002n201mmisva95.log +4 -0
- package/backend/logs/runner-cmr90j70r0003n201xz8525dz.log +4 -0
- package/backend/logs/runner-cmr90yup70000qp017ianc2gp.log +4 -0
- package/backend/logs/runner-cmr90zbtm0001qp01u9tfdkh1.log +4 -0
- package/backend/logs/runner-cmr91a3mw0000tb01414rd1df.log +4 -0
- package/backend/logs/runner-cmr91dhla0001tb01jp7thjnl.log +4 -0
- package/backend/logs/runner-cmrkk6fcl0000qj012kve79f4.log +4 -0
- package/backend/logs/runner-cmrkl8sym0000qy01euz4270n.log +4 -0
- package/backend/logs/runner-cmrkl9oyx0001qy0137nzr94d.log +4 -0
- package/bin/plum.js +13 -0
- package/bin/postinstall.js +46 -0
- package/frontend/.svelte-kit/adapter-node/.vite/manifest.json +95 -39
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/BackLink.CvWWuO3h.css +5 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Badge.D1SV0Gv7.css +5 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +23 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/EmptyState.DUDM4P19.css +23 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/{ConfirmModal.CdhOYVBb.css → Modal.BuaCfdLj.css} +6 -1
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Pagination.DZmi2Po-.css +5 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Toast.DENwYn3g.css +5 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.BuhMvMUj.css +5 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.0Eln51hV.css +5 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.5IJAEAjc.css +5 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BR3wgXcZ.css +5 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BWAH0Beh.css +23 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BZfe6nWe.css +5 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Bj_a_5lv.css +5 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BwgOqeMo.css +23 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CBHi6pzT.css +5 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CFnbmY-D.css +5 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CrXpMrqh.css +5 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page._h2o67kg.css +5 -0
- package/frontend/.svelte-kit/adapter-node/chunks/BackLink.js +5 -0
- package/frontend/.svelte-kit/adapter-node/chunks/Badge.js +5 -0
- package/frontend/.svelte-kit/adapter-node/chunks/ConfirmModal.js +12 -20
- package/frontend/.svelte-kit/adapter-node/chunks/EmptyState.js +29 -7
- package/frontend/.svelte-kit/adapter-node/chunks/Modal.js +43 -0
- package/frontend/.svelte-kit/adapter-node/chunks/Toast.js +17 -1
- package/frontend/.svelte-kit/adapter-node/chunks/attributes.js +5 -0
- package/frontend/.svelte-kit/adapter-node/chunks/auth.js +5 -0
- package/frontend/.svelte-kit/adapter-node/{_app/immutable/assets/EmptyState.BdO1q9cJ.css → chunks/auth2.js} +13 -1
- package/frontend/.svelte-kit/adapter-node/chunks/client.js +5 -0
- package/frontend/.svelte-kit/adapter-node/chunks/common.js +56 -0
- package/frontend/.svelte-kit/adapter-node/chunks/constants.js +9 -2
- package/frontend/.svelte-kit/adapter-node/chunks/escaping.js +5 -0
- package/frontend/.svelte-kit/adapter-node/chunks/exports.js +5 -0
- package/frontend/.svelte-kit/adapter-node/chunks/format.js +5 -0
- package/frontend/.svelte-kit/adapter-node/chunks/index-server.js +5 -0
- package/frontend/.svelte-kit/adapter-node/chunks/index.js +5 -0
- package/frontend/.svelte-kit/adapter-node/chunks/index2.js +5 -0
- package/frontend/.svelte-kit/adapter-node/chunks/internal.js +7 -2
- package/frontend/.svelte-kit/adapter-node/chunks/reports.js +5 -0
- package/frontend/.svelte-kit/adapter-node/chunks/reports2.js +109 -0
- package/frontend/.svelte-kit/adapter-node/chunks/repository.js +111 -0
- package/frontend/.svelte-kit/adapter-node/chunks/runner.js +12 -0
- package/frontend/.svelte-kit/adapter-node/chunks/stores.js +5 -0
- package/frontend/.svelte-kit/adapter-node/chunks/theme.js +5 -0
- package/frontend/.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js +5 -0
- package/frontend/.svelte-kit/adapter-node/entries/pages/_layout.js +5 -0
- package/frontend/.svelte-kit/adapter-node/entries/pages/_layout.svelte.js +7 -0
- package/frontend/.svelte-kit/adapter-node/entries/pages/_page.svelte.js +35 -12
- package/frontend/.svelte-kit/adapter-node/entries/pages/login/_page.svelte.js +9 -2
- package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_id_/_page.svelte.js +9 -2
- package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_page.svelte.js +21 -25
- package/frontend/.svelte-kit/adapter-node/entries/pages/reports/live/_page.svelte.js +31 -24
- package/frontend/.svelte-kit/adapter-node/entries/pages/scheduled-tests/_page.svelte.js +72 -32
- package/frontend/.svelte-kit/adapter-node/entries/pages/settings/_page.svelte.js +276 -95
- package/frontend/.svelte-kit/adapter-node/entries/pages/setup/_page.svelte.js +9 -2
- package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/_page.svelte.js +43 -36
- package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/runs/_id_/_page.svelte.js +66 -13
- package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/suites/_id_/_page.svelte.js +23 -17
- package/frontend/.svelte-kit/adapter-node/index.js +5 -0
- package/frontend/.svelte-kit/adapter-node/internal.js +5 -0
- package/frontend/.svelte-kit/adapter-node/manifest-full.js +6 -1
- package/frontend/.svelte-kit/adapter-node/manifest.js +6 -1
- package/frontend/.svelte-kit/adapter-node/nodes/0.js +7 -2
- package/frontend/.svelte-kit/adapter-node/nodes/1.js +6 -1
- package/frontend/.svelte-kit/adapter-node/nodes/10.js +7 -2
- package/frontend/.svelte-kit/adapter-node/nodes/11.js +7 -2
- package/frontend/.svelte-kit/adapter-node/nodes/12.js +7 -2
- package/frontend/.svelte-kit/adapter-node/nodes/2.js +7 -2
- package/frontend/.svelte-kit/adapter-node/nodes/3.js +6 -1
- package/frontend/.svelte-kit/adapter-node/nodes/4.js +7 -2
- package/frontend/.svelte-kit/adapter-node/nodes/5.js +6 -1
- package/frontend/.svelte-kit/adapter-node/nodes/6.js +6 -1
- package/frontend/.svelte-kit/adapter-node/nodes/7.js +7 -2
- package/frontend/.svelte-kit/adapter-node/nodes/8.js +7 -2
- package/frontend/.svelte-kit/adapter-node/nodes/9.js +6 -1
- package/frontend/.svelte-kit/ambient.d.ts +5 -4
- package/frontend/.svelte-kit/generated/client/app.js +5 -0
- package/frontend/.svelte-kit/generated/client/matchers.js +5 -0
- package/frontend/.svelte-kit/generated/client/nodes/0.js +5 -0
- package/frontend/.svelte-kit/generated/client/nodes/1.js +5 -0
- package/frontend/.svelte-kit/generated/client/nodes/10.js +5 -0
- package/frontend/.svelte-kit/generated/client/nodes/11.js +5 -0
- package/frontend/.svelte-kit/generated/client/nodes/12.js +5 -0
- package/frontend/.svelte-kit/generated/client/nodes/2.js +5 -0
- package/frontend/.svelte-kit/generated/client/nodes/3.js +5 -0
- package/frontend/.svelte-kit/generated/client/nodes/4.js +5 -0
- package/frontend/.svelte-kit/generated/client/nodes/5.js +5 -0
- package/frontend/.svelte-kit/generated/client/nodes/6.js +5 -0
- package/frontend/.svelte-kit/generated/client/nodes/7.js +5 -0
- package/frontend/.svelte-kit/generated/client/nodes/8.js +5 -0
- package/frontend/.svelte-kit/generated/client/nodes/9.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/app.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/matchers.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/0.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/1.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/10.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/11.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/12.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/2.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/3.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/4.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/5.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/6.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/7.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/8.js +5 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/9.js +5 -0
- package/frontend/.svelte-kit/generated/root.js +5 -0
- package/frontend/.svelte-kit/generated/root.svelte +5 -0
- package/frontend/.svelte-kit/generated/server/internal.js +7 -2
- package/frontend/.svelte-kit/non-ambient.d.ts +5 -0
- package/frontend/.svelte-kit/output/client/.vite/manifest.json +404 -351
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.BhSG-jZH.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/10.CdaQUS6U.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/11.BWAH0Beh.css +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.Bj_a_5lv.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/2.CrXpMrqh.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/3.BR3wgXcZ.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/4.0Eln51hV.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.DFV9OgAu.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/6.CFnbmY-D.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/7.CBHi6pzT.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.BwgOqeMo.css +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/9._h2o67kg.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/BackLink.CvWWuO3h.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Badge.D1SV0Gv7.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Button.FOWXxvc7.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/EmptyState.DUDM4P19.css +23 -0
- package/frontend/{build/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css → .svelte-kit/output/client/_app/immutable/assets/Modal.BZpm0HP8.css} +6 -1
- package/frontend/{build/client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css → .svelte-kit/output/client/_app/immutable/assets/Modal.BuaCfdLj.css} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Pagination.DZmi2Po-.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Toast.DENwYn3g.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.BuhMvMUj.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.0Eln51hV.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.5IJAEAjc.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BR3wgXcZ.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BWAH0Beh.css +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BZfe6nWe.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Bj_a_5lv.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BwgOqeMo.css +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CBHi6pzT.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CFnbmY-D.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CrXpMrqh.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page._h2o67kg.css +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{BLAiBE__.js → 2zMvi6fR.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/3IV-uqHa.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/4N1zIH8t.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/B98sHkeB.js +23 -0
- package/frontend/{build/client/_app/immutable/chunks/C67QNx7Z.js → .svelte-kit/output/client/_app/immutable/chunks/BAACMRH5.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Bfc47y5P.js +5 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BhvHtTRh.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BjUpWNbl.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DIx44H9N.js → C1Vid6wz.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C1sukchk.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C8OURRSs.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DGryW1Vp.js → CKDtmZUQ.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CMBQQ9RZ.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{C4eeChIU.js → CNdcuGR0.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CgnwuKKO.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CuqnZUex.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/D2cvzNT9.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{B0pefNHY.js → D2gYTmAA.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{uFRI_bmR.js → DCgHuuvs.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CxTX_lpP.js → DDblTLLE.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DW85KPAh.js +24 -0
- package/frontend/{build/client/_app/immutable/chunks/BFgtfHj2.js → .svelte-kit/output/client/_app/immutable/chunks/DW_iTTZe.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{BVMec-1T.js → DYlaQsvN.js} +6 -1
- package/frontend/{build/client/_app/immutable/chunks/BFEiffAL.js → .svelte-kit/output/client/_app/immutable/chunks/DkNBSlo2.js} +6 -1
- package/frontend/{build/client/_app/immutable/chunks/BkKmeUbA.js → .svelte-kit/output/client/_app/immutable/chunks/DlNYZJ7K.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Dlnxgs49.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DtGXv8RA.js +25 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/TOCyHP97.js +28 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CyQ_oBw2.js → oN0Z3NSF.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{raHbXn_9.js → t-La0hgu.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DP6QP4L6.js → w0D4Uzlq.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.BCWbw5zZ.js +24 -0
- package/frontend/{build/client/_app/immutable/entry/start.MMlC62np.js → .svelte-kit/output/client/_app/immutable/entry/start.2_AF42wj.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.BAqq2UTE.js +28 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{1.Dbck5ct8.js → 1.D5VvLtGP.js} +6 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/10.Bn4Ma-MU.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/11.BacEu7sW.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.0YGtl1uj.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.C2jjMA-Z.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.DHx0kho3.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/4.CnaMiirx.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.B6m-zTVe.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.BPDag1zv.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.D7LwxSvT.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.CCkNX20G.js +26 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/9.HDerA6JV.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/version.json +1 -1
- package/frontend/.svelte-kit/output/server/.vite/manifest.json +95 -39
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/BackLink.CvWWuO3h.css +5 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/Badge.D1SV0Gv7.css +5 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +23 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/EmptyState.DUDM4P19.css +23 -0
- package/frontend/.svelte-kit/output/{client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css → server/_app/immutable/assets/Modal.BuaCfdLj.css} +6 -1
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/Pagination.DZmi2Po-.css +5 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/Toast.DENwYn3g.css +5 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.BuhMvMUj.css +5 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.0Eln51hV.css +5 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.5IJAEAjc.css +5 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BR3wgXcZ.css +5 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BWAH0Beh.css +23 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BZfe6nWe.css +5 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Bj_a_5lv.css +5 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BwgOqeMo.css +23 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CBHi6pzT.css +5 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CFnbmY-D.css +5 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CrXpMrqh.css +5 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page._h2o67kg.css +5 -0
- package/frontend/.svelte-kit/output/server/chunks/BackLink.js +5 -0
- package/frontend/.svelte-kit/output/server/chunks/Badge.js +5 -0
- package/frontend/.svelte-kit/output/server/chunks/ConfirmModal.js +12 -20
- package/frontend/.svelte-kit/output/server/chunks/EmptyState.js +29 -7
- package/frontend/.svelte-kit/output/server/chunks/Modal.js +43 -0
- package/frontend/.svelte-kit/output/server/chunks/Toast.js +17 -1
- package/frontend/.svelte-kit/output/server/chunks/attributes.js +5 -0
- package/frontend/.svelte-kit/output/server/chunks/auth.js +5 -0
- package/frontend/.svelte-kit/output/{client/_app/immutable/assets/EmptyState.BdO1q9cJ.css → server/chunks/auth2.js} +13 -1
- package/frontend/.svelte-kit/output/server/chunks/client.js +5 -0
- package/frontend/.svelte-kit/output/server/chunks/common.js +56 -0
- package/frontend/.svelte-kit/output/server/chunks/constants.js +9 -2
- package/frontend/.svelte-kit/output/server/chunks/escaping.js +5 -0
- package/frontend/.svelte-kit/output/server/chunks/exports.js +5 -0
- package/frontend/.svelte-kit/output/server/chunks/format.js +5 -0
- package/frontend/.svelte-kit/output/server/chunks/index-server.js +5 -0
- package/frontend/.svelte-kit/output/server/chunks/index.js +5 -0
- package/frontend/.svelte-kit/output/server/chunks/index2.js +5 -0
- package/frontend/.svelte-kit/output/server/chunks/internal.js +7 -2
- package/frontend/.svelte-kit/output/server/chunks/reports.js +5 -0
- package/frontend/.svelte-kit/output/server/chunks/reports2.js +109 -0
- package/frontend/.svelte-kit/output/server/chunks/repository.js +111 -0
- package/frontend/.svelte-kit/output/server/chunks/runner.js +12 -0
- package/frontend/.svelte-kit/output/server/chunks/stores.js +5 -0
- package/frontend/.svelte-kit/output/server/chunks/theme.js +5 -0
- package/frontend/.svelte-kit/output/server/entries/fallbacks/error.svelte.js +5 -0
- package/frontend/.svelte-kit/output/server/entries/pages/_layout.js +5 -0
- package/frontend/.svelte-kit/output/server/entries/pages/_layout.svelte.js +7 -0
- package/frontend/.svelte-kit/output/server/entries/pages/_page.svelte.js +35 -12
- package/frontend/.svelte-kit/output/server/entries/pages/login/_page.svelte.js +9 -2
- package/frontend/.svelte-kit/output/server/entries/pages/reports/_id_/_page.svelte.js +9 -2
- package/frontend/.svelte-kit/output/server/entries/pages/reports/_page.svelte.js +21 -25
- package/frontend/.svelte-kit/output/server/entries/pages/reports/live/_page.svelte.js +31 -24
- package/frontend/.svelte-kit/output/server/entries/pages/scheduled-tests/_page.svelte.js +72 -32
- package/frontend/.svelte-kit/output/server/entries/pages/settings/_page.svelte.js +276 -95
- package/frontend/.svelte-kit/output/server/entries/pages/setup/_page.svelte.js +9 -2
- package/frontend/.svelte-kit/output/server/entries/pages/test-repository/_page.svelte.js +43 -36
- package/frontend/.svelte-kit/output/server/entries/pages/test-repository/runs/_id_/_page.svelte.js +66 -13
- package/frontend/.svelte-kit/output/server/entries/pages/test-repository/suites/_id_/_page.svelte.js +23 -17
- package/frontend/.svelte-kit/output/server/index.js +5 -0
- package/frontend/.svelte-kit/output/server/internal.js +5 -0
- package/frontend/.svelte-kit/output/server/manifest-full.js +6 -1
- package/frontend/.svelte-kit/output/server/manifest.js +6 -1
- package/frontend/.svelte-kit/output/server/nodes/0.js +7 -2
- package/frontend/.svelte-kit/output/server/nodes/1.js +6 -1
- package/frontend/.svelte-kit/output/server/nodes/10.js +7 -2
- package/frontend/.svelte-kit/output/server/nodes/11.js +7 -2
- package/frontend/.svelte-kit/output/server/nodes/12.js +7 -2
- package/frontend/.svelte-kit/output/server/nodes/2.js +7 -2
- package/frontend/.svelte-kit/output/server/nodes/3.js +6 -1
- package/frontend/.svelte-kit/output/server/nodes/4.js +7 -2
- package/frontend/.svelte-kit/output/server/nodes/5.js +6 -1
- package/frontend/.svelte-kit/output/server/nodes/6.js +6 -1
- package/frontend/.svelte-kit/output/server/nodes/7.js +7 -2
- package/frontend/.svelte-kit/output/server/nodes/8.js +7 -2
- package/frontend/.svelte-kit/output/server/nodes/9.js +6 -1
- package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css +5 -0
- 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 +5 -0
- 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 +23 -0
- package/frontend/build/client/_app/immutable/assets/11.BWAH0Beh.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/11.BWAH0Beh.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css +5 -0
- 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.CrXpMrqh.css +5 -0
- 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/3.BR3wgXcZ.css +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +23 -0
- package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/9._h2o67kg.css +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +23 -0
- package/frontend/build/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/EmptyState.DUDM4P19.css +23 -0
- package/frontend/build/client/_app/immutable/assets/{EmptyState.BdO1q9cJ.css.gz → EmptyState.DUDM4P19.css.br} +0 -0
- package/frontend/build/client/_app/immutable/assets/EmptyState.DUDM4P19.css.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css → build/client/_app/immutable/assets/Modal.BZpm0HP8.css} +6 -1
- 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/{.svelte-kit/output/server/_app/immutable/assets/ConfirmModal.CdhOYVBb.css → build/client/_app/immutable/assets/Modal.BuaCfdLj.css} +6 -1
- 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 +5 -0
- 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 +5 -0
- package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +23 -0
- package/frontend/build/client/_app/immutable/assets/_page.BWAH0Beh.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BWAH0Beh.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css +5 -0
- 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 +5 -0
- 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 +23 -0
- package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.CBHi6pzT.css +5 -0
- 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 +5 -0
- 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.CrXpMrqh.css +5 -0
- 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/assets/_page._h2o67kg.css +5 -0
- 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/{BLAiBE__.js → 2zMvi6fR.js} +6 -1
- 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/3IV-uqHa.js +23 -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 +23 -0
- 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 +23 -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/{.svelte-kit/output/client/_app/immutable/chunks/C67QNx7Z.js → build/client/_app/immutable/chunks/BAACMRH5.js} +6 -1
- 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/Bfc47y5P.js +5 -0
- 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/BhvHtTRh.js +23 -0
- 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 +23 -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/{DIx44H9N.js → C1Vid6wz.js} +6 -1
- 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/C1sukchk.js +23 -0
- 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/C8OURRSs.js +23 -0
- package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{DGryW1Vp.js → CKDtmZUQ.js} +6 -1
- 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 +23 -0
- package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{C4eeChIU.js → CNdcuGR0.js} +6 -1
- package/frontend/build/client/_app/immutable/chunks/{BFgtfHj2.js.br → CNdcuGR0.js.br} +0 -0
- package/frontend/build/client/_app/immutable/chunks/CNdcuGR0.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js +23 -0
- package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js +23 -0
- package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.br +21 -0
- package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/D2cvzNT9.js +23 -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/{B0pefNHY.js → D2gYTmAA.js} +6 -1
- 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/{uFRI_bmR.js → DCgHuuvs.js} +6 -1
- package/frontend/build/client/_app/immutable/{assets/EmptyState.BdO1q9cJ.css.br → 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/{CxTX_lpP.js → DDblTLLE.js} +6 -1
- 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 +24 -0
- 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/{.svelte-kit/output/client/_app/immutable/chunks/BFgtfHj2.js → build/client/_app/immutable/chunks/DW_iTTZe.js} +6 -1
- package/frontend/build/client/_app/immutable/chunks/{BFgtfHj2.js.gz → 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/{BVMec-1T.js → DYlaQsvN.js} +6 -1
- 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/{.svelte-kit/output/client/_app/immutable/chunks/BFEiffAL.js → build/client/_app/immutable/chunks/DkNBSlo2.js} +6 -1
- 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/{.svelte-kit/output/client/_app/immutable/chunks/BkKmeUbA.js → build/client/_app/immutable/chunks/DlNYZJ7K.js} +6 -1
- 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/Dlnxgs49.js +23 -0
- package/frontend/build/client/_app/immutable/chunks/Dlnxgs49.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/Dlnxgs49.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DtGXv8RA.js +25 -0
- 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/TOCyHP97.js +28 -0
- package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{CyQ_oBw2.js → oN0Z3NSF.js} +6 -1
- 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/chunks/{raHbXn_9.js → t-La0hgu.js} +6 -1
- 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/{DP6QP4L6.js → w0D4Uzlq.js} +6 -1
- 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 +24 -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/{.svelte-kit/output/client/_app/immutable/entry/start.MMlC62np.js → build/client/_app/immutable/entry/start.2_AF42wj.js} +6 -1
- package/frontend/build/client/_app/immutable/entry/{start.MMlC62np.js.br → start.2_AF42wj.js.br} +5 -1
- package/frontend/build/client/_app/immutable/entry/{start.MMlC62np.js.gz → start.2_AF42wj.js.gz} +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.BAqq2UTE.js +28 -0
- 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.Dbck5ct8.js → 1.D5VvLtGP.js} +6 -1
- 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 +23 -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 +23 -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 +23 -0
- 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 +23 -0
- 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 +23 -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 +23 -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 +23 -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 +23 -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 +23 -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 +26 -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 +23 -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/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 +5 -0
- package/frontend/build/handler.js +5 -0
- package/frontend/build/index.js +5 -0
- package/frontend/build/server/chunks/{0-Dzas6zkl.js → 0-Di4jNU9J.js} +9 -4
- package/frontend/build/server/chunks/0-Di4jNU9J.js.map +21 -0
- package/frontend/build/server/chunks/{1-B4EsP8yr.js → 1-DR5YRUTa.js} +7 -2
- package/frontend/build/server/chunks/{1-B4EsP8yr.js.map → 1-DR5YRUTa.js.map} +5 -1
- package/frontend/build/server/chunks/10-Bhe409bL.js +31 -0
- package/frontend/build/server/chunks/10-Bhe409bL.js.map +21 -0
- package/frontend/build/server/chunks/11-DqyXW7n1.js +31 -0
- package/frontend/build/server/chunks/11-DqyXW7n1.js.map +21 -0
- package/frontend/build/server/chunks/12-BCpjMUbs.js +31 -0
- package/frontend/build/server/chunks/12-BCpjMUbs.js.map +21 -0
- package/frontend/build/server/chunks/{2-Bkz8H7CT.js → 2-D-0buH5i.js} +9 -4
- package/frontend/build/server/chunks/{2-Bkz8H7CT.js.map → 2-D-0buH5i.js.map} +5 -1
- package/frontend/build/server/chunks/{3-DDtaiqu7.js → 3-y2kzPO2X.js} +8 -3
- package/frontend/build/server/chunks/3-y2kzPO2X.js.map +21 -0
- package/frontend/build/server/chunks/4-CFrK8HST.js +31 -0
- package/frontend/build/server/chunks/4-CFrK8HST.js.map +21 -0
- package/frontend/build/server/chunks/{5-CK5hY2WF.js → 5-B0lJu5bT.js} +8 -3
- package/frontend/build/server/chunks/5-B0lJu5bT.js.map +21 -0
- package/frontend/build/server/chunks/{6-Cps9fL3Z.js → 6-BD4CEJ3Z.js} +8 -3
- package/frontend/build/server/chunks/6-BD4CEJ3Z.js.map +21 -0
- package/frontend/build/server/chunks/7-DekQfQHu.js +31 -0
- package/frontend/build/server/chunks/7-DekQfQHu.js.map +21 -0
- package/frontend/build/server/chunks/8-BMqmu7WF.js +31 -0
- package/frontend/build/server/chunks/8-BMqmu7WF.js.map +21 -0
- package/frontend/build/server/chunks/{9-CUJxgoIN.js → 9-C5sKo9aY.js} +8 -3
- package/frontend/build/server/chunks/9-C5sKo9aY.js.map +21 -0
- package/frontend/build/server/chunks/BackLink-KxZNqsaq.js +5 -0
- package/frontend/build/server/chunks/BackLink-KxZNqsaq.js.map +4 -0
- package/frontend/build/server/chunks/Badge-B5V-z6pI.js +5 -0
- package/frontend/build/server/chunks/Badge-B5V-z6pI.js.map +4 -0
- package/frontend/build/server/chunks/{ConfirmModal-DBtnLLsU.js → ConfirmModal-Ckkt99Pn.js} +12 -19
- package/frontend/build/server/chunks/ConfirmModal-Ckkt99Pn.js.map +21 -0
- package/frontend/build/server/chunks/EmptyState-BwwbShnX.js +56 -0
- package/frontend/build/server/chunks/EmptyState-BwwbShnX.js.map +21 -0
- package/frontend/build/server/chunks/Modal-DG-6c5si.js +43 -0
- package/frontend/build/server/chunks/Modal-DG-6c5si.js.map +21 -0
- package/frontend/build/server/chunks/{Button-CuacyA7Y.js → Toast-CIG4edEp.js} +22 -3
- package/frontend/build/server/chunks/Toast-CIG4edEp.js.map +21 -0
- package/frontend/build/server/chunks/{_layout.svelte-DoJXDbP1.js → _layout.svelte-BjPrZpoG.js} +10 -3
- package/frontend/build/server/chunks/_layout.svelte-BjPrZpoG.js.map +21 -0
- package/frontend/build/server/chunks/{_page.svelte-DNNyBx4y.js → _page.svelte-B9rjnZWE.js} +10 -4
- package/frontend/build/server/chunks/_page.svelte-B9rjnZWE.js.map +21 -0
- package/frontend/build/server/chunks/{_page.svelte-C0vstY93.js → _page.svelte-BHw14GPR.js} +76 -36
- package/frontend/build/server/chunks/_page.svelte-BHw14GPR.js.map +21 -0
- package/frontend/build/server/chunks/{_page.svelte-LcJmR5du.js → _page.svelte-BbZNxvCl.js} +29 -31
- package/frontend/build/server/chunks/_page.svelte-BbZNxvCl.js.map +21 -0
- package/frontend/build/server/chunks/_page.svelte-CLFpft5D.js +118 -0
- package/frontend/build/server/chunks/_page.svelte-CLFpft5D.js.map +21 -0
- package/frontend/build/server/chunks/_page.svelte-Cr16HubD.js +746 -0
- package/frontend/build/server/chunks/_page.svelte-Cr16HubD.js.map +21 -0
- package/frontend/build/server/chunks/{_page.svelte-DALHRFEX.js → _page.svelte-D1aYn1PL.js} +10 -4
- package/frontend/build/server/chunks/_page.svelte-D1aYn1PL.js.map +21 -0
- package/frontend/build/server/chunks/{_page.svelte-CC27sZag.js → _page.svelte-D2oF79cT.js} +45 -38
- package/frontend/build/server/chunks/_page.svelte-D2oF79cT.js.map +21 -0
- package/frontend/build/server/chunks/{_page.svelte-gnktnXKP.js → _page.svelte-D78qaBDN.js} +35 -28
- package/frontend/build/server/chunks/_page.svelte-D78qaBDN.js.map +21 -0
- package/frontend/build/server/chunks/{_page.svelte-DqWsUJRp.js → _page.svelte-DyyuZN_3.js} +25 -19
- package/frontend/build/server/chunks/_page.svelte-DyyuZN_3.js.map +21 -0
- package/frontend/build/server/chunks/{_page.svelte-CYkOPxn2.js → _page.svelte-sbqebZYx.js} +40 -17
- package/frontend/build/server/chunks/_page.svelte-sbqebZYx.js.map +21 -0
- package/frontend/build/server/chunks/{_page.svelte-BETENC2e.js → _page.svelte-ubW5EUCf.js} +13 -6
- package/frontend/build/server/chunks/_page.svelte-ubW5EUCf.js.map +21 -0
- package/frontend/build/server/chunks/attributes-BeaNKpgU.js +5 -0
- package/frontend/build/server/chunks/attributes-BeaNKpgU.js.map +4 -0
- package/frontend/build/server/chunks/auth-rlH-cIzn.js +5 -0
- package/frontend/build/server/chunks/auth-rlH-cIzn.js.map +4 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/BIRVeCLU.js → build/server/chunks/auth2-C02yYDpz.js} +11 -1
- package/frontend/build/server/chunks/auth2-C02yYDpz.js.map +21 -0
- package/frontend/build/server/chunks/client-DyII78e0.js +5 -0
- package/frontend/build/server/chunks/client-DyII78e0.js.map +4 -0
- package/frontend/build/server/chunks/common-Db-bgKYG.js +42 -0
- package/frontend/build/server/chunks/common-Db-bgKYG.js.map +21 -0
- package/frontend/build/server/chunks/{constants-Drz-Vo39.js → constants-cZ2kUwWa.js} +9 -3
- package/frontend/build/server/chunks/{constants-Drz-Vo39.js.map → constants-cZ2kUwWa.js.map} +5 -1
- package/frontend/build/server/chunks/error.svelte-BDW3iP1O.js +5 -0
- package/frontend/build/server/chunks/error.svelte-BDW3iP1O.js.map +4 -0
- package/frontend/build/server/chunks/escaping-CqgfEcN3.js +5 -0
- package/frontend/build/server/chunks/escaping-CqgfEcN3.js.map +4 -0
- package/frontend/build/server/chunks/exports-D0QHgeSL.js +5 -0
- package/frontend/build/server/chunks/exports-D0QHgeSL.js.map +4 -0
- package/frontend/build/server/chunks/{format-D26ZQccb.js → format-0SSB1oGG.js} +7 -2
- package/frontend/build/server/chunks/{format-D26ZQccb.js.map → format-0SSB1oGG.js.map} +5 -1
- package/frontend/build/server/chunks/index-server-Dr2Nvcmu.js +5 -0
- package/frontend/build/server/chunks/index-server-Dr2Nvcmu.js.map +4 -0
- package/frontend/build/server/chunks/index2-DG8XHU5D.js +5 -0
- package/frontend/build/server/chunks/index2-DG8XHU5D.js.map +4 -0
- package/frontend/build/server/chunks/{reports-Bgi7V5N7.js → reports-DnYbvluH.js} +7 -2
- package/frontend/build/server/chunks/{reports-Bgi7V5N7.js.map → reports-DnYbvluH.js.map} +5 -1
- package/frontend/build/server/chunks/reports2-DR4XlcJg.js +69 -0
- package/frontend/build/server/chunks/reports2-DR4XlcJg.js.map +21 -0
- package/frontend/build/server/chunks/repository-D9Derhnk.js +70 -0
- package/frontend/build/server/chunks/repository-D9Derhnk.js.map +21 -0
- package/frontend/build/server/chunks/{runner-D18Ml_vF.js → runner-DE5sufZH.js} +13 -1
- package/frontend/build/server/chunks/runner-DE5sufZH.js.map +21 -0
- package/frontend/build/server/chunks/stores-DlkXV308.js +5 -0
- package/frontend/build/server/chunks/stores-DlkXV308.js.map +4 -0
- package/frontend/build/server/chunks/theme-D_NKm6iI.js +5 -0
- package/frontend/build/server/chunks/theme-D_NKm6iI.js.map +4 -0
- package/frontend/build/server/index.js +7 -2
- package/frontend/build/server/index.js.map +5 -1
- package/frontend/build/server/manifest.js +19 -14
- package/frontend/build/server/manifest.js.map +5 -1
- package/frontend/build/shims.js +5 -0
- package/package.json +2 -1
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BJ-I1gHO.css +0 -18
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Bhof07Eg.css +0 -18
- package/frontend/.svelte-kit/adapter-node/chunks/Button.js +0 -33
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/11.BJ-I1gHO.css +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.Bhof07Eg.css +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BJ-I1gHO.css +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Bhof07Eg.css +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BKCNyxZ2.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BeO8veBd.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BgNaeXAp.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C3SY6-sX.js +0 -19
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CVV6HrFb.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CstKKb9b.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DmRbbcS3.js +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/IFIFk6zi.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/KJdjlibc.js +0 -20
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/ll-VsEGv.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.Dz_CBZcR.js +0 -19
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.CKD9Qja6.js +0 -23
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/10.BfmGpmC1.js +0 -19
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/11.C7l9HPom.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.Iu9bcGdC.js +0 -19
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.BqQhRvYh.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.BZRTKadS.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/4.BfKoPKdM.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.B4a2uCWn.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.CI508CMS.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.3x_eiof1.js +0 -18
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.BfUuob4H.js +0 -29
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/9.BZhCKRJe.js +0 -18
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/EmptyState.BdO1q9cJ.css +0 -18
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BJ-I1gHO.css +0 -18
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Bhof07Eg.css +0 -18
- package/frontend/.svelte-kit/output/server/chunks/Button.js +0 -33
- package/frontend/build/client/_app/immutable/assets/11.BJ-I1gHO.css +0 -18
- package/frontend/build/client/_app/immutable/assets/11.BJ-I1gHO.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/11.BJ-I1gHO.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/8.Bhof07Eg.css +0 -18
- package/frontend/build/client/_app/immutable/assets/8.Bhof07Eg.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/8.Bhof07Eg.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/EmptyState.BdO1q9cJ.css +0 -18
- package/frontend/build/client/_app/immutable/assets/_page.BJ-I1gHO.css +0 -18
- package/frontend/build/client/_app/immutable/assets/_page.BJ-I1gHO.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BJ-I1gHO.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.Bhof07Eg.css +0 -18
- package/frontend/build/client/_app/immutable/assets/_page.Bhof07Eg.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.Bhof07Eg.css.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/B0pefNHY.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/B0pefNHY.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BFEiffAL.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BFEiffAL.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BIRVeCLU.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/BIRVeCLU.js.br +0 -20
- package/frontend/build/client/_app/immutable/chunks/BIRVeCLU.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BKCNyxZ2.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/BKCNyxZ2.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BKCNyxZ2.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BLAiBE__.js.br +0 -18
- package/frontend/build/client/_app/immutable/chunks/BLAiBE__.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BVMec-1T.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BVMec-1T.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BeO8veBd.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/BeO8veBd.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BeO8veBd.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BgNaeXAp.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/BgNaeXAp.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BgNaeXAp.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BkKmeUbA.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BkKmeUbA.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/C3SY6-sX.js +0 -19
- package/frontend/build/client/_app/immutable/chunks/C3SY6-sX.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C3SY6-sX.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/C4eeChIU.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C4eeChIU.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/C67QNx7Z.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/C67QNx7Z.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CVV6HrFb.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/CVV6HrFb.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CVV6HrFb.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CstKKb9b.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/CstKKb9b.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CstKKb9b.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CxTX_lpP.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CxTX_lpP.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CyQ_oBw2.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CyQ_oBw2.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DGryW1Vp.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DGryW1Vp.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DIx44H9N.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DIx44H9N.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DP6QP4L6.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DP6QP4L6.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DmRbbcS3.js +0 -23
- package/frontend/build/client/_app/immutable/chunks/DmRbbcS3.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DmRbbcS3.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/IFIFk6zi.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/IFIFk6zi.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/IFIFk6zi.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/KJdjlibc.js +0 -20
- package/frontend/build/client/_app/immutable/chunks/KJdjlibc.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/KJdjlibc.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/ll-VsEGv.js +0 -18
- package/frontend/build/client/_app/immutable/chunks/ll-VsEGv.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/ll-VsEGv.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/raHbXn_9.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/raHbXn_9.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/uFRI_bmR.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/uFRI_bmR.js.gz +0 -0
- package/frontend/build/client/_app/immutable/entry/app.Dz_CBZcR.js +0 -19
- package/frontend/build/client/_app/immutable/entry/app.Dz_CBZcR.js.br +0 -0
- package/frontend/build/client/_app/immutable/entry/app.Dz_CBZcR.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.CKD9Qja6.js +0 -23
- package/frontend/build/client/_app/immutable/nodes/0.CKD9Qja6.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.CKD9Qja6.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.Dbck5ct8.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.Dbck5ct8.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.BfmGpmC1.js +0 -19
- package/frontend/build/client/_app/immutable/nodes/10.BfmGpmC1.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.BfmGpmC1.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.C7l9HPom.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/11.C7l9HPom.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.C7l9HPom.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.Iu9bcGdC.js +0 -19
- package/frontend/build/client/_app/immutable/nodes/12.Iu9bcGdC.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.Iu9bcGdC.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.BqQhRvYh.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/2.BqQhRvYh.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.BqQhRvYh.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.BZRTKadS.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/3.BZRTKadS.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.BZRTKadS.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.BfKoPKdM.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/4.BfKoPKdM.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.BfKoPKdM.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.B4a2uCWn.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/5.B4a2uCWn.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.B4a2uCWn.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.CI508CMS.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/6.CI508CMS.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.CI508CMS.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.3x_eiof1.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/7.3x_eiof1.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.3x_eiof1.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.BfUuob4H.js +0 -29
- package/frontend/build/client/_app/immutable/nodes/8.BfUuob4H.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.BfUuob4H.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.BZhCKRJe.js +0 -18
- package/frontend/build/client/_app/immutable/nodes/9.BZhCKRJe.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.BZhCKRJe.js.gz +0 -0
- package/frontend/build/server/chunks/0-Dzas6zkl.js.map +0 -17
- package/frontend/build/server/chunks/10-UhDQZ5BY.js +0 -26
- package/frontend/build/server/chunks/10-UhDQZ5BY.js.map +0 -17
- package/frontend/build/server/chunks/11-mTH3nQlX.js +0 -26
- package/frontend/build/server/chunks/11-mTH3nQlX.js.map +0 -17
- package/frontend/build/server/chunks/12-9mg6kp53.js +0 -26
- package/frontend/build/server/chunks/12-9mg6kp53.js.map +0 -17
- package/frontend/build/server/chunks/3-DDtaiqu7.js.map +0 -17
- package/frontend/build/server/chunks/4-DbdkTAvS.js +0 -26
- package/frontend/build/server/chunks/4-DbdkTAvS.js.map +0 -17
- package/frontend/build/server/chunks/5-CK5hY2WF.js.map +0 -17
- package/frontend/build/server/chunks/6-Cps9fL3Z.js.map +0 -17
- package/frontend/build/server/chunks/7-CgUpbaJD.js +0 -26
- package/frontend/build/server/chunks/7-CgUpbaJD.js.map +0 -17
- package/frontend/build/server/chunks/8-dilaVKYo.js +0 -26
- package/frontend/build/server/chunks/8-dilaVKYo.js.map +0 -17
- package/frontend/build/server/chunks/9-CUJxgoIN.js.map +0 -17
- package/frontend/build/server/chunks/Button-CuacyA7Y.js.map +0 -17
- package/frontend/build/server/chunks/ConfirmModal-DBtnLLsU.js.map +0 -17
- package/frontend/build/server/chunks/EmptyState-B74-VZ15.js +0 -34
- package/frontend/build/server/chunks/EmptyState-B74-VZ15.js.map +0 -17
- package/frontend/build/server/chunks/Toast-DDF2wi_5.js +0 -37
- package/frontend/build/server/chunks/Toast-DDF2wi_5.js.map +0 -17
- package/frontend/build/server/chunks/_layout.svelte-DoJXDbP1.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-BETENC2e.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-C0vstY93.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-CC27sZag.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-CYkOPxn2.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-CperUuP9.js +0 -564
- package/frontend/build/server/chunks/_page.svelte-CperUuP9.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-CwrCf0C8.js +0 -65
- package/frontend/build/server/chunks/_page.svelte-CwrCf0C8.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-DALHRFEX.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-DNNyBx4y.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-DqWsUJRp.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-LcJmR5du.js.map +0 -17
- package/frontend/build/server/chunks/_page.svelte-gnktnXKP.js.map +0 -17
- package/frontend/build/server/chunks/runner-D18Ml_vF.js.map +0 -17
|
@@ -1,29 +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
|
-
import{h as As,a as i,t as _,s as p,e as Me,b as O,c as we,n as tt}from"../chunks/ll-VsEGv.js";import{i as Is}from"../chunks/DGryW1Vp.js";import{p as Ts,m as o,o as js,s as l,c as e,l as ka,b as Bs,f as ve,d as Ms,$ as Ls,j as a,k as s,n as t,t as c,x as Za,v as j,y as k,z as ca}from"../chunks/C67QNx7Z.js";import{i as P,s as Ks,a as kt}from"../chunks/CVV6HrFb.js";import{e as ya,i as Qa,t as da,a as Se,f as Pe,s as Ns}from"../chunks/DmRbbcS3.js";import{A as wa,r as R,s as te,b as Fs,B as Kt,g as Os}from"../chunks/CstKKb9b.js";import{b as I}from"../chunks/raHbXn_9.js";import{T as Ds,B as z,b as et}from"../chunks/BkKmeUbA.js";import{b as Ws}from"../chunks/BLAiBE__.js";import{g as zs}from"../chunks/KJdjlibc.js";import{b as Nt,f as Gs,a as Hs,c as Js,d as Ft,p as qs,s as Vs,e as Ot,u as Xs,g as Ys,h as Zs,i as Qs,j as el,k as al,l as tl,t as sl,m as ll,r as rl}from"../chunks/BgNaeXAp.js";import{n as il,o as nl,p as ol}from"../chunks/BFEiffAL.js";import{u as cl,a as dl}from"../chunks/BVMec-1T.js";import{a as at}from"../chunks/DIx44H9N.js";import{g as yt}from"../chunks/C3SY6-sX.js";import{t as Dt}from"../chunks/uFRI_bmR.js";import{C as vl}from"../chunks/IFIFk6zi.js";import{B as pl}from"../chunks/BIRVeCLU.js";function wt(){return{"Content-Type":"application/json",Authorization:`Bearer ${at.getToken()}`}}async function ul(){const We=await fetch(`${wa}/users`,{headers:wt()});if(!We.ok)throw new Error("Failed to fetch users");return(await We.json()).users}async function fl({name:We,email:ea,password:aa,role:st="user"}){const se=await fetch(`${wa}/users`,{method:"POST",headers:wt(),body:JSON.stringify({name:We,email:ea,password:aa,role:st})}),xa=await se.json();if(!se.ok)throw new Error(xa.error??"Failed to create user");return xa.user}async function _l(We){const ea=await fetch(`${wa}/users/${We}`,{method:"DELETE",headers:wt()});if(!ea.ok){const aa=await ea.json();throw new Error(aa.error??"Failed to delete user")}}var bl=_('<button class="sidebar-item svelte-9l533f"> </button>'),gl=_('<div class="logo-preview svelte-9l533f"><span class="preview-label svelte-9l533f">Preview</span> <img alt="Project logo preview" class="logo-img svelte-9l533f"></div>'),ml=_("<option> </option>"),hl=_('<div class="content-section svelte-9l533f"><div class="content-header svelte-9l533f"><h2 class="svelte-9l533f">Project</h2> <p class="content-desc svelte-9l533f">Identity information shown across the UI</p></div> <div class="card settings-card svelte-9l533f"><div class="field"><label class="field-label svelte-9l533f" for="project-name">Project Name</label> <input id="project-name" type="text" class="field-input" placeholder="My Test Suite"></div> <div class="field"><label class="field-label svelte-9l533f" for="project-logo"><span>Logo URL</span> <span class="field-hint svelte-9l533f">Direct link to an image (PNG, SVG, JPG)</span></label> <input id="project-logo" type="url" class="field-input" placeholder="https://example.com/logo.png"></div> <!> <div class="field"><label class="field-label svelte-9l533f" for="project-timezone"><span>Timezone</span> <span class="field-hint svelte-9l533f">Used to schedule cron jobs and backups</span></label> <select id="project-timezone" class="field-input"></select></div> <div class="toggle-row svelte-9l533f"><div class="toggle-info svelte-9l533f"><span class="toggle-label svelte-9l533f">Dark mode</span> <span class="toggle-desc svelte-9l533f">Switch between light and dark appearance</span></div> <button class="toggle-switch svelte-9l533f" role="switch"><span class="toggle-thumb svelte-9l533f"></span></button></div> <div class="card-footer svelte-9l533f"><!></div></div></div>'),kl=_("<option> </option>"),yl=_('<p class="form-error svelte-9l533f"> </p>'),wl=_('<div class="runner-card editing svelte-9l533f"><div class="runner-form-fields svelte-9l533f"><div class="field"><label class="field-label svelte-9l533f">Name</label> <input type="text" class="field-input" placeholder="staging-node"></div> <div class="field"><label class="field-label svelte-9l533f">URL <span class="field-hint svelte-9l533f">Use <code>host.docker.internal</code> for local nodes</span></label> <input type="url" class="field-input" placeholder="http://host.docker.internal:3002"></div> <div class="field"><label class="field-label svelte-9l533f">Token</label> <input type="text" class="field-input" placeholder="secret-token" spellcheck="false" autocomplete="off"></div> <div class="field"><label class="field-label svelte-9l533f">Browser</label> <select class="field-input"></select></div></div> <!> <div class="runner-form-actions svelte-9l533f"><!> <!></div></div>'),xl=_('<span class="ping-badge ok svelte-9l533f"> </span>'),$l=_('<span class="ping-badge fail svelte-9l533f">unreachable</span>'),Sl=_('<span class="ping-badge pinging svelte-9l533f">pinging…</span>'),Pl=_('<div class="runner-card svelte-9l533f"><div class="runner-card-header svelte-9l533f"><svg class="runner-card-icon svelte-9l533f" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><rect x="2" y="3" width="20" height="14" rx="2"></rect><path d="M8 21h8M12 17v4"></path></svg> <span class="runner-card-name svelte-9l533f"> </span> <span class="runner-browser-pill svelte-9l533f"> </span> <!></div> <p class="runner-card-url svelte-9l533f"> </p> <div class="runner-card-actions svelte-9l533f"><!> <!></div></div>'),Cl=_('<div class="runner-cards svelte-9l533f"></div>'),Rl=_("<option> </option>"),Ul=_('<p class="form-error svelte-9l533f"> </p>'),El=_('<div class="runner-form svelte-9l533f"><p class="runner-form-title svelte-9l533f">Add runner</p> <div class="runner-form-fields svelte-9l533f"><div class="field"><label class="field-label svelte-9l533f" for="rn-name">Name</label> <input id="rn-name" type="text" class="field-input" placeholder="staging-node"></div> <div class="field"><label class="field-label svelte-9l533f" for="rn-url">URL <span class="field-hint svelte-9l533f">Use <code>host.docker.internal</code> for local nodes</span></label> <input id="rn-url" type="url" class="field-input" placeholder="http://host.docker.internal:3002"></div> <div class="field"><label class="field-label svelte-9l533f" for="rn-token">Token</label> <input id="rn-token" type="text" class="field-input" placeholder="secret-token" spellcheck="false" autocomplete="off"></div> <div class="field"><label class="field-label svelte-9l533f" for="rn-browser">Browser</label> <select id="rn-browser" class="field-input"></select></div></div> <!> <div class="runner-form-actions svelte-9l533f"><!> <!></div></div>'),Al=_('<div class="card-footer svelte-9l533f"><!></div>'),Il=_('<div class="content-section svelte-9l533f"><div class="content-header svelte-9l533f"><h2 class="svelte-9l533f">Runners</h2> <p class="content-desc svelte-9l533f">Register self-hosted runner nodes to distribute tests across machines.</p></div> <div class="card settings-card svelte-9l533f"><div class="toggle-row svelte-9l533f"><div class="toggle-info svelte-9l533f"><span class="toggle-label svelte-9l533f">Built-in runner</span> <span class="toggle-desc svelte-9l533f">Use this server to run tests locally. Disable to route all runs to external nodes.</span></div> <button class="toggle-switch svelte-9l533f" role="switch"><span class="toggle-thumb svelte-9l533f"></span></button></div> <!> <!></div></div>'),Tl=_('<div class="content-section svelte-9l533f"><div class="content-header svelte-9l533f"><h2 class="svelte-9l533f">Test Repository</h2> <p class="content-desc svelte-9l533f">Configure ID prefixes for test suites and cases.</p></div> <div class="card settings-card svelte-9l533f"><div class="field-row svelte-9l533f"><div class="field"><label class="field-label svelte-9l533f" for="tc-prefix">Test Case prefix</label> <input id="tc-prefix" type="text" class="field-input mono svelte-9l533f" placeholder="TC" maxlength="10"></div> <div class="field"><label class="field-label svelte-9l533f" for="ts-prefix">Test Suite prefix</label> <input id="ts-prefix" type="text" class="field-input mono svelte-9l533f" placeholder="TS" maxlength="10"></div></div> <p class="content-desc svelte-9l533f">Examples: <code class="code-sample svelte-9l533f"> </code>, <code class="code-sample svelte-9l533f"> </code></p> <div class="card-footer svelte-9l533f"><!></div></div> <div class="content-header svelte-9l533f" style="margin-top: 1rem"><h2 class="svelte-9l533f">Migrate IDs</h2> <p class="content-desc svelte-9l533f">Rename all existing test IDs to use a new prefix. Cucumber tags in code are <strong>not</strong> affected — you manage those separately.</p></div> <div class="card settings-card svelte-9l533f"><div class="field-row svelte-9l533f"><div class="field"><label class="field-label svelte-9l533f" for="mig-tc">New case prefix</label> <input id="mig-tc" type="text" class="field-input mono svelte-9l533f" maxlength="10"></div> <div class="field"><label class="field-label svelte-9l533f" for="mig-ts">New suite prefix</label> <input id="mig-ts" type="text" class="field-input mono svelte-9l533f" maxlength="10"></div></div> <div class="card-footer svelte-9l533f"><!></div></div></div>'),jl=_(`<div class="content-section svelte-9l533f"><div class="content-header svelte-9l533f"><h2 class="svelte-9l533f">Integrations</h2> <p class="content-desc svelte-9l533f">Connect Discord and Slack to receive run notifications with pass/fail results and report
|
|
19
|
-
links.</p></div> <div class="card settings-card svelte-9l533f"><p class="card-title">Webhooks</p> <div class="field"><label class="field-label svelte-9l533f" for="discord-url"><span>Discord Webhook URL</span> <span class="field-hint svelte-9l533f">Leave blank to disable Discord notifications</span></label> <input id="discord-url" type="url" class="field-input" placeholder="https://discord.com/api/webhooks/…"></div> <div class="field"><label class="field-label svelte-9l533f" for="slack-url"><span>Slack Webhook URL</span> <span class="field-hint svelte-9l533f">Leave blank to disable Slack notifications</span></label> <input id="slack-url" type="url" class="field-input" placeholder="https://hooks.slack.com/services/…"></div> <div class="field"><label class="field-label svelte-9l533f" for="public-url"><span>Public URL</span> <span class="field-hint svelte-9l533f">Base URL of this Plum instance, used to link reports in notifications</span></label> <input id="public-url" type="url" class="field-input" placeholder="https://plum.yourcompany.com"></div> <!></div> <div class="card settings-card svelte-9l533f"><p class="card-title">CI / External Triggers</p> <p class="content-desc svelte-9l533f">Trigger a Plum run from GitHub Actions (e.g. on a pull request, against its preview
|
|
20
|
-
deployment) or any other external script by calling <code class="code-sample svelte-9l533f"></code> with an <code class="code-sample svelte-9l533f">Authorization: ApiKey …</code> header. Generate a key on the <button class="link-btn svelte-9l533f">MCP tab</button> and store it as a repo secret — never commit it directly. Runs triggered this way show up
|
|
21
|
-
in Reports tagged <!>.</p> <pre class="mcp-snippet svelte-9l533f"> </pre> <div class="card-footer svelte-9l533f"><!></div></div></div>`),Bl=_('<p class="content-desc svelte-9l533f">No key generated yet.</p> <div class="card-footer svelte-9l533f"><!></div>',1),Ml=tt('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94"></path><path d="M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19"></path><line x1="1" y1="1" x2="23" y2="23"></line></svg>'),Ll=tt('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg>'),Kl=tt('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>'),Nl=tt('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>'),Fl=_('<div class="mcp-key-row svelte-9l533f"><input class="field-input mcp-key-input svelte-9l533f" readonly="" spellcheck="false" autocomplete="off"> <button class="icon-btn svelte-9l533f"><!></button> <button class="icon-btn svelte-9l533f" title="Copy key"><!></button></div> <p class="mcp-regen-note svelte-9l533f">Regenerating invalidates the existing key immediately.</p> <div class="card-footer svelte-9l533f"><!></div>',1),Ol=_(`<div class="card settings-card svelte-9l533f"><p class="card-title">Config Snippet</p> <p class="content-desc svelte-9l533f">Add this to your MCP client's config file (e.g. <code class="code-sample svelte-9l533f">claude_desktop_config.json</code>, Cursor MCP settings,
|
|
22
|
-
etc.).</p> <pre class="mcp-snippet svelte-9l533f"> </pre> <div class="card-footer svelte-9l533f"><!></div></div>`),Dl=_(`<div class="content-section svelte-9l533f"><div class="content-header svelte-9l533f"><h2 class="svelte-9l533f">MCP Integration</h2> <p class="content-desc svelte-9l533f">Generate an API key for any MCP-compatible AI client — Claude, Cursor, Windsurf, and
|
|
23
|
-
others.</p></div> <div class="card settings-card svelte-9l533f"><p class="card-title">API Key</p> <!></div> <!></div>`),Wl=_('<p class="form-error svelte-9l533f"> </p>'),zl=_('<p class="form-error svelte-9l533f"> </p>'),Gl=_('<div class="content-section svelte-9l533f"><div class="content-header svelte-9l533f"><h2 class="svelte-9l533f">Account</h2> <p class="content-desc svelte-9l533f">Manage your profile, credentials and session.</p></div> <div class="card settings-card svelte-9l533f"><p class="card-title">Profile</p> <div class="field"><label class="field-label svelte-9l533f" for="profile-name">Name</label> <input id="profile-name" type="text" class="field-input"></div> <div class="field"><label class="field-label svelte-9l533f" for="profile-email">Email</label> <input id="profile-email" type="email" class="field-input"></div> <!> <div class="card-footer svelte-9l533f"><!></div></div> <div class="card settings-card svelte-9l533f"><p class="card-title">Change password</p> <div class="field"><label class="field-label svelte-9l533f" for="pw-current">Current password</label> <input id="pw-current" type="password" class="field-input" autocomplete="current-password"></div> <div class="field"><label class="field-label svelte-9l533f" for="pw-new">New password</label> <input id="pw-new" type="password" class="field-input" autocomplete="new-password"></div> <div class="field"><label class="field-label svelte-9l533f" for="pw-confirm">Confirm new password</label> <input id="pw-confirm" type="password" class="field-input" autocomplete="new-password"></div> <!> <div class="card-footer svelte-9l533f"><!></div></div> <div class="card settings-card svelte-9l533f"><div class="card-footer svelte-9l533f"><!></div></div></div>'),Hl=_("Remove <strong> </strong>? They will lose access immediately.",1),Jl=_('<p class="form-error svelte-9l533f"> </p>'),ql=_('<button class="icon-btn danger svelte-9l533f" title="Remove user"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"></path><path d="M10 11v6M14 11v6"></path><path d="M9 6V4h6v2"></path></svg></button>'),Vl=_('<span class="you-chip svelte-9l533f">you</span>'),Xl=_('<div class="user-row svelte-9l533f"><div class="user-info svelte-9l533f"><span class="user-name svelte-9l533f"> </span> <span class="user-email svelte-9l533f"> </span></div> <span> </span> <!></div>'),Yl=_('<div class="users-table svelte-9l533f"></div>'),Zl=_('<div class="content-section svelte-9l533f"><div class="content-header svelte-9l533f"><h2 class="svelte-9l533f">Users</h2> <p class="content-desc svelte-9l533f">Add and manage who can access Plum.</p></div> <!> <div class="card settings-card svelte-9l533f"><p class="card-title">Add User</p> <div class="field-row svelte-9l533f"><div class="field"><label class="field-label svelte-9l533f" for="u-name">Name</label> <input id="u-name" type="text" class="field-input" placeholder="Jane Smith"></div> <div class="field"><label class="field-label svelte-9l533f" for="u-email">Email</label> <input id="u-email" type="email" class="field-input" placeholder="jane@example.com"></div></div> <div class="field-row svelte-9l533f"><div class="field"><label class="field-label svelte-9l533f" for="u-pw">Password</label> <input id="u-pw" type="password" class="field-input" autocomplete="new-password"></div> <div class="field"><label class="field-label svelte-9l533f" for="u-role">Role</label> <select id="u-role" class="field-input"><option>User</option><option>Admin</option></select></div></div> <!> <div class="card-footer svelte-9l533f"><!></div></div> <!></div>'),Ql=_('<p class="s3-test-result svelte-9l533f"> </p>'),er=_('<p class="backup-block-desc svelte-9l533f">Configure S3 storage above to enable scheduled backups.</p>'),ar=_('<span class="status-success svelte-9l533f"> </span>'),tr=_('<span class="status-error svelte-9l533f"> </span>'),sr=_("<span> </span>"),lr=_('<p class="backup-last-run svelte-9l533f"> <!></p>'),rr=_('<div class="field"><label class="field-label backup-toggle-label svelte-9l533f" for="backup-enabled"><span>Enable scheduled backup</span> <button id="backup-enabled" class="toggle-btn svelte-9l533f" role="switch"><span class="toggle-thumb svelte-9l533f"></span></button></label></div> <div class="field"><label class="field-label svelte-9l533f" for="backup-cron"><span>Cron Expression</span> <span class="field-hint svelte-9l533f">5-field cron — e.g. <code>0 2 * * *</code> = daily at 2 AM. <a href="https://crontab.guru" target="_blank" rel="noopener noreferrer">Test at crontab.guru ↗</a></span></label> <input id="backup-cron" type="text" class="field-input field-input-mono svelte-9l533f" placeholder="0 2 * * *"></div> <!> <div class="backup-actions svelte-9l533f"><!> <!></div>',1),ir=_(`<div class="content-section svelte-9l533f"><div class="content-header svelte-9l533f"><h2 class="svelte-9l533f">Backup</h2> <p class="content-desc svelte-9l533f">Export your test cases, schedules, users, and project settings. Automate uploads to any
|
|
24
|
-
S3-compatible storage — Cloudflare R2, Backblaze B2, AWS S3, or MinIO.</p></div> <div class="card settings-card svelte-9l533f"><p class="card-title">Manual Backup</p> <div class="backup-row svelte-9l533f"><div class="backup-block svelte-9l533f"><p class="backup-block-title svelte-9l533f">Export</p> <p class="backup-block-desc svelte-9l533f">Downloads a <code class="svelte-9l533f">.json</code> file with all cron jobs, test cases, test runs, users,
|
|
25
|
-
runners, and project settings.</p> <!></div> <div class="backup-divider svelte-9l533f"></div> <div class="backup-block svelte-9l533f"><p class="backup-block-title svelte-9l533f">Import</p> <p class="backup-block-desc svelte-9l533f">Restores all data from a previously exported backup. Existing records are
|
|
26
|
-
overwritten. Cron jobs are re-scheduled after import.</p> <div class="import-row svelte-9l533f"><label class="file-label svelte-9l533f"><input type="file" accept=".json" class="file-input-hidden svelte-9l533f"> <span class="file-btn svelte-9l533f"> </span></label> <!></div></div></div> <p class="backup-disclaimer svelte-9l533f">Reports are not included in backups. To back up report history, run <code>pg_dump</code> directly on the PostgreSQL volume.</p></div> <div class="card settings-card svelte-9l533f"><p class="card-title">S3 Storage</p> <p class="backup-block-desc svelte-9l533f" style="margin-bottom: 1.25rem;">Works with any S3-compatible provider — Cloudflare R2, Backblaze B2, AWS S3, or MinIO.
|
|
27
|
-
Leave <strong>Endpoint URL</strong> empty for AWS S3.</p> <div class="field-row svelte-9l533f"><div class="field"><label class="field-label svelte-9l533f" for="s3-endpoint"><span>Endpoint URL</span> <span class="field-hint svelte-9l533f">Leave blank for AWS S3</span></label> <input id="s3-endpoint" type="url" class="field-input" placeholder="https://account.r2.cloudflarestorage.com"></div> <div class="field"><label class="field-label svelte-9l533f" for="s3-region"><span>Region</span> <span class="field-hint svelte-9l533f">Use <code>auto</code> for Cloudflare R2</span></label> <input id="s3-region" type="text" class="field-input" placeholder="us-east-1"></div></div> <div class="field-row svelte-9l533f"><div class="field"><label class="field-label svelte-9l533f" for="s3-bucket"><span>Bucket</span></label> <input id="s3-bucket" type="text" class="field-input" placeholder="my-plum-backups"></div> <div class="field"><label class="field-label svelte-9l533f" for="s3-prefix"><span>Path Prefix</span> <span class="field-hint svelte-9l533f">Optional folder inside the bucket</span></label> <input id="s3-prefix" type="text" class="field-input" placeholder="plum/"></div></div> <div class="field-row svelte-9l533f"><div class="field"><label class="field-label svelte-9l533f" for="s3-access-key"><span>Access Key ID</span></label> <input id="s3-access-key" type="text" class="field-input" placeholder="AKIAIOSFODNN7EXAMPLE" autocomplete="off"></div> <div class="field"><label class="field-label svelte-9l533f" for="s3-secret-key"><span>Secret Access Key</span> <span class="field-hint svelte-9l533f"> </span></label> <input id="s3-secret-key" type="password" class="field-input" autocomplete="new-password"></div></div> <div class="backup-actions svelte-9l533f"><!> <!></div> <!></div> <div class="card settings-card svelte-9l533f"><p class="card-title">Scheduled Backup</p> <!></div></div>`),nr=_('<!> <div class="page-header svelte-9l533f"><h1 class="svelte-9l533f">Settings</h1></div> <div class="settings-layout svelte-9l533f"><aside class="settings-sidebar svelte-9l533f"><nav class="svelte-9l533f"></nav></aside> <div class="settings-content svelte-9l533f"><!></div></div>',1);function Pr(We,ea){Ts(ea,!1);const[aa,st]=Ks(),se=()=>kt(at,"$auth",aa),xa=()=>kt(Dt,"$theme",aa),xt=()=>kt(yt,"$builtInEnabled",aa),lt=o(),rt=o(),it=o(),$t=o();let pe=o(typeof sessionStorage<"u"&&sessionStorage.getItem("plum:settings:section")||"project");function St(r){l(pe,r);try{sessionStorage.setItem("plum:settings:section",r)}catch{}}let ue=o({name:"",logoUrl:"",timezone:"UTC"}),Ia=o(!1),nt=o(null);const Wt=(()=>{try{return Intl.supportedValuesOf("timeZone")}catch{return["UTC"]}})();let le=o({testCasePrefix:"TC",testSuitePrefix:"TS"}),Ta=o(!1),Le=o({testCasePrefix:"",testSuitePrefix:""}),ja=o(!1),xe=o({name:"",email:""}),Ba=o(!1),Ma=o(""),ta=o([]),ee=o({name:"",email:"",password:"",role:"user"}),La=o(!1),$a=o(""),va=o(null),Ka=o(!1),re=o({currentPassword:"",newPassword:"",confirmPassword:""}),Na=o(!1),pa=o(""),sa=o(null),Fa=o(!1),Oa=o(!1),Sa=o(),ke=o({discordWebhookUrl:"",slackWebhookUrl:"",notifyPublicUrl:""}),Da=o(!1),ua=o(""),Wa=o(!1),fa=o(!1),_a=o(!1),ot=o(!1),ct=o(!1),dt=o(!1),y=o({backupEnabled:!1,backupCron:"0 2 * * *",backupS3Endpoint:"",backupS3Region:"",backupS3Bucket:"",backupS3AccessKey:"",backupS3SecretKey:"",backupS3Prefix:""}),ba=o(!1),ga=o(!1),za=o(!1),Ga=o(!1),la=o(null),Ha=o(""),Pa=o(null),ze=o(""),ye=o([]),Y=o({name:"",url:"",token:"",browser:"chromium"}),ra=o(""),Ca=o(!1),Ja=o(!1),Ce=o({}),qa=o(null),Z=o({name:"",url:"",token:"",browser:"chromium"}),Ge=o(""),Ra=o(!1);function L(r,n){l(nt,{type:r,message:n}),setTimeout(()=>l(nt,null),Fs)}let vt=o(!1);js(async()=>{var r;try{const n=localStorage.getItem("plum:builtInEnabled");n!==null&&yt.set(n!=="false")}catch{}try{l(ue,await Nt())}catch{}try{l(ye,await Gs()),l(vt,!0)}catch{}try{l(le,await il()),l(Le,{testCasePrefix:e(le).testCasePrefix,testSuitePrefix:e(le).testSuitePrefix})}catch{}try{l(ke,await Hs())}catch{}try{const n=await Js();l(Wa,n.mcpKeySet),l(ua,n.mcpKey)}catch{}try{const n=await Ft();l(ga,n.backupS3SecretKeySet),l(Pa,n.backupLastRunAt),l(ze,n.backupLastStatus),l(y,{backupEnabled:n.backupEnabled,backupCron:n.backupCron,backupS3Endpoint:n.backupS3Endpoint,backupS3Region:n.backupS3Region,backupS3Bucket:n.backupS3Bucket,backupS3AccessKey:n.backupS3AccessKey,backupS3SecretKey:"",backupS3Prefix:n.backupS3Prefix})}catch{}if(se().user&&l(xe,{name:se().user.name,email:se().user.email}),((r=se().user)==null?void 0:r.role)==="admin")try{l(ta,await ul())}catch{}});async function zt(){e(ye).length!==0&&(l(Ce,Object.fromEntries(e(ye).map(r=>[r.id,{loading:!0}]))),await Promise.all(e(ye).map(async r=>{try{const n=await qs(r.id);l(Ce,{...e(Ce),[r.id]:{...n,loading:!1}})}catch{l(Ce,{...e(Ce),[r.id]:{ok:!1,error:"Network error",loading:!1}})}})))}function Gt(){yt.update(r=>{const n=!r;try{localStorage.setItem("plum:builtInEnabled",String(n))}catch{}return n})}function Ht(){Dt.update(r=>r==="light"?"dark":"light")}async function Jt(){if(!e(Y).name||!e(Y).url||!e(Y).token){l(ra,"Name, URL and token are required.");return}l(ra,""),l(Ca,!0);try{const r=await Ot(e(Y).url,e(Y).token);if(!r.ok){l(ra,`Cannot reach this runner — ${r.error??"check the URL and token"}.`);return}const{runner:n}=await Zs(e(Y));l(ye,[...e(ye),n]),l(Ce,{...e(Ce),[n.id]:{ok:!0,latency:r.latency,loading:!1}}),l(Y,{name:"",url:"",token:"",browser:"chromium"}),l(Ja,!1),L("success",`Runner "${n.name}" added.`)}catch{l(ra,"Failed to add runner.")}finally{l(Ca,!1)}}async function qt(r,n){try{await Ys(r),l(ye,e(ye).filter(D=>D.id!==r)),L("success",`Runner "${n}" removed.`)}catch{L("error","Failed to remove runner.")}}function Vt(r){l(qa,r.id),l(Z,{name:r.name,url:r.url,token:r.token,browser:r.browser}),l(Ge,"")}async function Xt(r){if(!e(Z).name||!e(Z).url||!e(Z).token){l(Ge,"Name, URL and token are required.");return}l(Ge,""),l(Ra,!0);try{const n=await Ot(e(Z).url,e(Z).token);if(!n.ok){l(Ge,`Cannot reach this runner — ${n.error??"check the URL and token"}.`);return}const{runner:D}=await Xs(r,e(Z));l(ye,e(ye).map(fe=>fe.id===r?D:fe)),l(Ce,{...e(Ce),[r]:{ok:!0,latency:n.latency,loading:!1}}),l(qa,null),L("success",`Runner "${D.name}" updated.`)}catch{l(Ge,"Failed to update runner.")}finally{l(Ra,!1)}}async function Yt(){l(Ia,!0);try{await Vs(e(ue)),L("success","Project settings saved.")}catch{L("error","Failed to save project settings.")}finally{l(Ia,!1)}}async function Zt(){l(Oa,!0);try{const r=await al(),n=new Blob([JSON.stringify(r,null,2)],{type:"application/json"}),D=URL.createObjectURL(n),fe=document.createElement("a");fe.href=D,fe.download=`plum-backup-${new Date().toISOString().slice(0,10)}.json`,fe.click(),URL.revokeObjectURL(D),L("success","Backup downloaded.")}catch{L("error","Export failed.")}finally{l(Oa,!1)}}async function Qt(){if(e(sa)){l(Fa,!0);try{const r=await e(sa).text(),n=JSON.parse(r),D=await tl(n);if(D.error)throw new Error(D.error);L("success","Import successful. Cron jobs have been re-scheduled."),l(ue,await Nt()),l(sa,null),e(Sa)&&k(Sa,e(Sa).value="")}catch(r){L("error",r.message||"Import failed. Check the file format.")}finally{l(Fa,!1)}}}function es(r){l(sa,r.target.files[0]??null)}async function as(){l(Ta,!0);try{l(le,await nl(e(le))),L("success","Prefixes saved.")}catch{L("error","Failed to save prefixes.")}finally{l(Ta,!1)}}async function ts(){l(ja,!0);try{await ol(e(Le)),l(le,{...e(le),...e(Le)}),L("success","Prefix migration complete. All IDs updated.")}catch{L("error","Migration failed.")}finally{l(ja,!1)}}async function ss(){l(Ma,""),l(Ba,!0);try{const{user:r}=await cl({token:se().token,name:e(xe).name,email:e(xe).email});at.login(se().token,{...se().user,...r}),L("success","Profile updated.")}catch(r){l(Ma,r.message)}finally{l(Ba,!1)}}async function ls(){if(l($a,""),!e(ee).name||!e(ee).email||!e(ee).password){l($a,"Name, email and password are required.");return}l(La,!0);try{const r=await fl(e(ee));l(ta,[...e(ta),r]),l(ee,{name:"",email:"",password:"",role:"user"}),L("success",`User "${r.name}" added.`)}catch(r){l($a,r.message)}finally{l(La,!1)}}async function rs(r,n){try{await _l(r),l(ta,e(ta).filter(D=>D.id!==r)),L("success",`User "${n}" removed.`)}catch(D){L("error",D.message)}l(va,null),l(Ka,!1)}async function is(){if(l(pa,""),e(re).newPassword!==e(re).confirmPassword){l(pa,"Passwords do not match.");return}if(e(re).newPassword.length<8){l(pa,"Password must be at least 8 characters.");return}l(Na,!0);try{await dl({token:se().token,currentPassword:e(re).currentPassword,newPassword:e(re).newPassword}),l(re,{currentPassword:"",newPassword:"",confirmPassword:""}),L("success","Password changed.")}catch(r){l(pa,r.message)}finally{l(Na,!1)}}function ns(){at.logout(),zs("/login")}async function Pt(){l(_a,!0);try{const r=await el();l(ua,r.mcpKey),l(Wa,!0),l(fa,!0),L("success","MCP key generated.")}catch{L("error","Failed to generate MCP key.")}finally{l(_a,!1)}}function os(){navigator.clipboard.writeText(e(ua)).then(()=>{l(ot,!0),setTimeout(()=>l(ot,!1),1500)})}function cs(){navigator.clipboard.writeText(e(rt)).then(()=>{l(ct,!0),setTimeout(()=>l(ct,!1),1500)})}function ds(){navigator.clipboard.writeText(e(it)).then(()=>{l(dt,!0),setTimeout(()=>l(dt,!1),1500)})}async function vs(){l(Da,!0);try{l(ke,await Qs(e(ke))),L("success","Integration settings saved.")}catch{L("error","Failed to save integration settings.")}finally{l(Da,!1)}}async function Ct(){l(ba,!0);try{const r={...e(y)};r.backupS3SecretKey||delete r.backupS3SecretKey;const n=await ll(r);if(n.error)throw new Error(n.error);e(y).backupS3SecretKey&&l(ga,!0),l(y,{...e(y),backupS3SecretKey:""}),L("success","Backup configuration saved.")}catch(r){L("error",r.message||"Failed to save backup configuration.")}finally{l(ba,!1)}}async function ps(){l(za,!0),l(la,null),l(Ha,"");try{const r=await sl(e(y));if(r.error)throw new Error(r.error);l(la,"success"),l(Ha,"Connection successful.")}catch(r){l(la,"error"),l(Ha,r.message||"Connection failed.")}finally{l(za,!1)}}async function us(){l(Ga,!0);try{const r=await rl();if(r.error)throw new Error(r.error);l(Pa,r.lastRunAt),l(ze,r.lastStatus??""),L("success","Backup uploaded to S3 successfully.")}catch(r){L("error",r.message||"Backup failed. Check your S3 configuration.");const n=await Ft().catch(()=>null);n&&(l(Pa,n.backupLastRunAt),l(ze,n.backupLastStatus))}finally{l(Ga,!1)}}const fs=new Set(["project","runners","repository","integrations","mcp","users","backup"]);ka(()=>(se(),e(pe)),()=>{se().user&&se().user.role!=="admin"&&fs.has(e(pe))&&l(pe,"account")}),ka(()=>(e(pe),e(vt)),()=>{e(pe)==="runners"&&e(vt)&&zt()}),ka(()=>(e(y),e(ga)),()=>{l(lt,!!(e(y).backupS3Bucket&&e(y).backupS3AccessKey&&e(ga)))}),ka(()=>e(ua),()=>{l(rt,JSON.stringify({mcpServers:{plum:{command:"plum",args:["mcp"],env:{PLUM_API_URL:"http://localhost:3001",PLUM_API_KEY:e(ua)}}}},null,2))}),ka(()=>wa,()=>{l(it,["- name: Run Plum tests"," run: |",` curl -X POST ${wa}/trigger \\`,' -H "Authorization: ApiKey ${{ secrets.PLUM_API_KEY }}" \\',' -H "Content-Type: application/json" \\',` -d '{"tag": "@smoke", "baseUrl": "https://your-pr-preview-url"}'`].join(`
|
|
28
|
-
`))}),ka(()=>se(),()=>{var r;l($t,((r=se().user)==null?void 0:r.role)==="admin"?[{id:"project",label:"Project"},{id:"runners",label:"Runners"},{id:"repository",label:"Repository"},{id:"integrations",label:"Integrations"},{id:"mcp",label:"MCP"},{id:"account",label:"Account"},{id:"users",label:"Users"},{id:"backup",label:"Backup"}]:[{id:"account",label:"Account"}])}),Bs(),Is();var Rt=nr();As(r=>{Ls.title="Settings — Plum"});var Ut=ve(Rt);Ds(Ut,{get toast(){return e(nt)}});var Et=a(Ut,4),pt=s(Et),At=s(pt);ya(At,5,()=>e($t),Qa,(r,n)=>{var D=bl(),fe=s(D,!0);t(D),c(()=>{da(D,"active",e(pe)===e(n).id),p(fe,e(n).label)}),Me("click",D,()=>St(e(n).id)),i(r,D)}),t(At),t(pt);var It=a(pt,2),_s=s(It);{var bs=r=>{var n=hl(),D=a(s(n),2),fe=s(D),Va=a(s(fe),2);R(Va),t(fe);var Re=a(fe,2),Ue=a(s(Re),2);R(Ue),t(Re);var ia=a(Re,2);{var na=w=>{var x=gl(),U=a(s(x),2);t(x),c(()=>te(U,"src",e(ue).logoUrl)),Me("error",U,m=>m.target.style.display="none"),i(w,x)};P(ia,w=>{e(ue).logoUrl&&w(na)})}var Ke=a(ia,2),ge=a(s(Ke),2);c(()=>{e(ue),Za(()=>{})}),ya(ge,5,()=>Wt,Qa,(w,x)=>{var U=ml(),m={},ie=s(U,!0);t(U),c(()=>{m!==(m=e(x))&&(U.value=(U.__value=e(x))==null?"":e(x)),p(ie,e(x))}),i(w,U)}),t(ge),t(Ke);var me=a(Ke,2),$e=a(s(me),2);t(me);var Ee=a(me,2),Ne=s(Ee);z(Ne,{get disabled(){return e(Ia)},$$events:{click:Yt},children:(w,x)=>{j();var U=O();c(()=>p(U,e(Ia)?"Saving…":"Save Project")),i(w,U)},$$slots:{default:!0}}),t(Ee),t(D),t(n),c(()=>{te($e,"aria-checked",xa()==="dark"),da($e,"on",xa()==="dark")}),I(Va,()=>e(ue).name,w=>k(ue,e(ue).name=w)),I(Ue,()=>e(ue).logoUrl,w=>k(ue,e(ue).logoUrl=w)),et(ge,()=>e(ue).timezone,w=>k(ue,e(ue).timezone=w)),Me("click",$e,Ht),Se(3,n,()=>Pe,()=>({y:6,duration:180})),i(r,n)},gs=r=>{var n=we(),D=ve(n);{var fe=Re=>{var Ue=Il(),ia=a(s(Ue),2),na=s(ia),Ke=a(s(na),2);t(na);var ge=a(na,2);{var me=w=>{var x=Cl();ya(x,5,()=>e(ye),U=>U.id,(U,m)=>{var ie=we();const W=ca(()=>e(Ce)[e(m).id]);var ae=ve(ie);{var ne=oe=>{var B=wl(),M=s(B),G=s(M),C=s(G),E=a(C,2);R(E),t(G);var h=a(G,2),v=s(h),g=a(v,2);R(g),t(h);var u=a(h,2),b=s(u),A=a(b,2);R(A),t(u);var T=a(u,2),ce=s(T),Q=a(ce,2);c(()=>{e(Z),Za(()=>{e(m)})}),ya(Q,5,()=>Kt,Qa,(f,J)=>{var V=kl(),He={},Ae=s(V,!0);t(V),c(()=>{He!==(He=e(J).id)&&(V.value=(V.__value=e(J).id)==null?"":e(J).id),p(Ae,e(J).label)}),i(f,V)}),t(Q),t(T),t(M);var H=a(M,2);{var q=f=>{var J=yl(),V=s(J,!0);t(J),c(()=>p(V,e(Ge))),i(f,J)};P(H,f=>{e(Ge)&&f(q)})}var X=a(H,2),$=s(X);z($,{get disabled(){return e(Ra)},$$events:{click:()=>Xt(e(m).id)},children:(f,J)=>{j();var V=O();c(()=>p(V,e(Ra)?"Checking…":"Save")),i(f,V)},$$slots:{default:!0}});var K=a($,2);z(K,{variant:"ghost",get disabled(){return e(Ra)},$$events:{click:()=>{l(qa,null),l(Ge,"")}},children:(f,J)=>{j();var V=O("Cancel");i(f,V)},$$slots:{default:!0}}),t(X),t(B),c(()=>{te(C,"for",`edit-name-${e(m).id??""}`),te(E,"id",`edit-name-${e(m).id??""}`),te(v,"for",`edit-url-${e(m).id??""}`),te(g,"id",`edit-url-${e(m).id??""}`),te(b,"for",`edit-token-${e(m).id??""}`),te(A,"id",`edit-token-${e(m).id??""}`),te(ce,"for",`edit-browser-${e(m).id??""}`),te(Q,"id",`edit-browser-${e(m).id??""}`)}),I(E,()=>e(Z).name,f=>k(Z,e(Z).name=f)),I(g,()=>e(Z).url,f=>k(Z,e(Z).url=f)),I(A,()=>e(Z).token,f=>k(Z,e(Z).token=f)),et(Q,()=>e(Z).browser,f=>k(Z,e(Z).browser=f)),Se(3,B,()=>Pe,()=>({y:-4,duration:180})),i(oe,B)},_e=oe=>{var B=Pl(),M=s(B),G=a(s(M),2),C=s(G,!0);t(G);var E=a(G,2),h=s(E,!0);t(E);var v=a(E,2);{var g=H=>{var q=we(),X=ve(q);{var $=f=>{var J=xl(),V=s(J);t(J),c(()=>p(V,`${e(W).latency??""}ms`)),i(f,J)},K=f=>{var J=$l();c(()=>te(J,"title",e(W).error)),i(f,J)};P(X,f=>{e(W).ok?f($):f(K,!1)})}i(H,q)},u=H=>{var q=we(),X=ve(q);{var $=K=>{var f=Sl();i(K,f)};P(X,K=>{var f;(f=e(W))!=null&&f.loading&&K($)},!0)}i(H,q)};P(v,H=>{e(W)&&!e(W).loading?H(g):H(u,!1)})}t(M);var b=a(M,2),A=s(b,!0);t(b);var T=a(b,2),ce=s(T);z(ce,{variant:"ghost",size:"sm",$$events:{click:()=>Vt(e(m))},children:(H,q)=>{j();var X=O("Edit");i(H,X)},$$slots:{default:!0}});var Q=a(ce,2);z(Q,{variant:"danger",size:"sm",$$events:{click:()=>qt(e(m).id,e(m).name)},children:(H,q)=>{j();var X=O("Remove");i(H,X)},$$slots:{default:!0}}),t(T),t(B),c(()=>{p(C,e(m).name),p(h,e(m).browser),p(A,e(m).url)}),Se(3,B,()=>Pe,()=>({y:-4,duration:180})),i(oe,B)};P(ae,oe=>{e(qa)===e(m).id?oe(ne):oe(_e,!1)})}i(U,ie)}),t(x),i(w,x)};P(ge,w=>{e(ye).length>0&&w(me)})}var $e=a(ge,2);{var Ee=w=>{var x=El(),U=a(s(x),2),m=s(U),ie=a(s(m),2);R(ie),t(m);var W=a(m,2),ae=a(s(W),2);R(ae),t(W);var ne=a(W,2),_e=a(s(ne),2);R(_e),t(ne);var oe=a(ne,2),B=a(s(oe),2);c(()=>{e(Y),Za(()=>{})}),ya(B,5,()=>Kt,Qa,(v,g)=>{var u=Rl(),b={},A=s(u,!0);t(u),c(()=>{b!==(b=e(g).id)&&(u.value=(u.__value=e(g).id)==null?"":e(g).id),p(A,e(g).label)}),i(v,u)}),t(B),t(oe),t(U);var M=a(U,2);{var G=v=>{var g=Ul(),u=s(g,!0);t(g),c(()=>p(u,e(ra))),i(v,g)};P(M,v=>{e(ra)&&v(G)})}var C=a(M,2),E=s(C);z(E,{get disabled(){return e(Ca)},$$events:{click:Jt},children:(v,g)=>{j();var u=O();c(()=>p(u,e(Ca)?"Checking…":"Add Runner")),i(v,u)},$$slots:{default:!0}});var h=a(E,2);z(h,{variant:"ghost",get disabled(){return e(Ca)},$$events:{click:()=>{l(Ja,!1),l(ra,"")}},children:(v,g)=>{j();var u=O("Cancel");i(v,u)},$$slots:{default:!0}}),t(C),t(x),I(ie,()=>e(Y).name,v=>k(Y,e(Y).name=v)),I(ae,()=>e(Y).url,v=>k(Y,e(Y).url=v)),I(_e,()=>e(Y).token,v=>k(Y,e(Y).token=v)),et(B,()=>e(Y).browser,v=>k(Y,e(Y).browser=v)),Se(3,x,()=>Pe,()=>({y:-6,duration:200})),i(w,x)},Ne=w=>{var x=Al(),U=s(x);z(U,{variant:"ghost",$$events:{click:()=>l(Ja,!0)},children:(m,ie)=>{j();var W=O("+ Add Runner");i(m,W)},$$slots:{default:!0}}),t(x),i(w,x)};P($e,w=>{e(Ja)?w(Ee):w(Ne,!1)})}t(ia),t(Ue),c(()=>{te(Ke,"aria-checked",xt()),da(Ke,"on",xt())}),Me("click",Ke,Gt),Se(3,Ue,()=>Pe,()=>({y:6,duration:180})),i(Re,Ue)},Va=Re=>{var Ue=we(),ia=ve(Ue);{var na=ge=>{var me=Tl(),$e=a(s(me),2),Ee=s($e),Ne=s(Ee),w=a(s(Ne),2);R(w),t(Ne);var x=a(Ne,2),U=a(s(x),2);R(U),t(x),t(Ee);var m=a(Ee,2),ie=a(s(m)),W=s(ie);t(ie);var ae=a(ie,2),ne=s(ae);t(ae),t(m);var _e=a(m,2),oe=s(_e);z(oe,{get disabled(){return e(Ta)},$$events:{click:as},children:(u,b)=>{j();var A=O();c(()=>p(A,e(Ta)?"Saving…":"Save Prefixes")),i(u,A)},$$slots:{default:!0}}),t(_e),t($e);var B=a($e,4),M=s(B),G=s(M),C=a(s(G),2);R(C),t(G);var E=a(G,2),h=a(s(E),2);R(h),t(E),t(M);var v=a(M,2),g=s(v);z(g,{variant:"ghost",get disabled(){return e(ja)},$$events:{click:ts},children:(u,b)=>{j();var A=O();c(()=>p(A,e(ja)?"Migrating…":"Run Migration")),i(u,A)},$$slots:{default:!0}}),t(v),t(B),t(me),c(()=>{p(W,`${e(le).testCasePrefix||"TC"}-001`),p(ne,`${e(le).testSuitePrefix||"TS"}-001`),te(C,"placeholder",e(le).testCasePrefix),te(h,"placeholder",e(le).testSuitePrefix)}),I(w,()=>e(le).testCasePrefix,u=>k(le,e(le).testCasePrefix=u)),I(U,()=>e(le).testSuitePrefix,u=>k(le,e(le).testSuitePrefix=u)),I(C,()=>e(Le).testCasePrefix,u=>k(Le,e(Le).testCasePrefix=u)),I(h,()=>e(Le).testSuitePrefix,u=>k(Le,e(Le).testSuitePrefix=u)),Se(3,me,()=>Pe,()=>({y:6,duration:180})),i(ge,me)},Ke=ge=>{var me=we(),$e=ve(me);{var Ee=w=>{var x=jl(),U=a(s(x),2),m=a(s(U),2),ie=a(s(m),2);R(ie),t(m);var W=a(m,2),ae=a(s(W),2);R(ae),t(W);var ne=a(W,2),_e=a(s(ne),2);R(_e),t(ne);var oe=a(ne,2);z(oe,{get disabled(){return e(Da)},$$events:{click:vs},children:(b,A)=>{j();var T=O();c(()=>p(T,e(Da)?"Saving…":"Save Integrations")),i(b,T)},$$slots:{default:!0}}),t(U);var B=a(U,2),M=a(s(B),2),G=a(s(M));G.textContent=`POST ${wa}/trigger`;var C=a(G,4),E=a(C,2);pl(E,{variant:"external",children:(b,A)=>{j();var T=O("External");i(b,T)},$$slots:{default:!0}}),j(),t(M);var h=a(M,2),v=s(h,!0);t(h);var g=a(h,2),u=s(g);z(u,{variant:"ghost",$$events:{click:ds},children:(b,A)=>{j();var T=O();c(()=>p(T,e(dt)?"Copied!":"Copy Workflow Step")),i(b,T)},$$slots:{default:!0}}),t(g),t(B),t(x),c(()=>p(v,e(it))),I(ie,()=>e(ke).discordWebhookUrl,b=>k(ke,e(ke).discordWebhookUrl=b)),I(ae,()=>e(ke).slackWebhookUrl,b=>k(ke,e(ke).slackWebhookUrl=b)),I(_e,()=>e(ke).notifyPublicUrl,b=>k(ke,e(ke).notifyPublicUrl=b)),Me("click",C,()=>St("mcp")),Se(3,x,()=>Pe,()=>({y:6,duration:180})),i(w,x)},Ne=w=>{var x=we(),U=ve(x);{var m=W=>{var ae=Dl(),ne=a(s(ae),2),_e=a(s(ne),2);{var oe=C=>{var E=Bl(),h=a(ve(E),2),v=s(h);z(v,{get disabled(){return e(_a)},$$events:{click:Pt},children:(g,u)=>{j();var b=O();c(()=>p(b,e(_a)?"Generating…":"Generate Key")),i(g,b)},$$slots:{default:!0}}),t(h),i(C,E)},B=C=>{var E=Fl(),h=ve(E),v=s(h);R(v);var g=a(v,2),u=s(g);{var b=$=>{var K=Ml();i($,K)},A=$=>{var K=Ll();i($,K)};P(u,$=>{e(fa)?$(b):$(A,!1)})}t(g);var T=a(g,2),ce=s(T);{var Q=$=>{var K=Kl();i($,K)},H=$=>{var K=Nl();i($,K)};P(ce,$=>{e(ot)?$(Q):$(H,!1)})}t(T),t(h);var q=a(h,4),X=s(q);z(X,{variant:"ghost",get disabled(){return e(_a)},$$events:{click:Pt},children:($,K)=>{j();var f=O();c(()=>p(f,e(_a)?"Generating…":"Regenerate Key")),i($,f)},$$slots:{default:!0}}),t(q),c(()=>{te(v,"type",e(fa)?"text":"password"),Os(v,e(ua)),te(g,"title",e(fa)?"Hide key":"Show key")}),Me("click",g,()=>l(fa,!e(fa))),Me("click",T,os),i(C,E)};P(_e,C=>{e(Wa)?C(B,!1):C(oe)})}t(ne);var M=a(ne,2);{var G=C=>{var E=Ol(),h=a(s(E),4),v=s(h,!0);t(h);var g=a(h,2),u=s(g);z(u,{variant:"ghost",$$events:{click:cs},children:(b,A)=>{j();var T=O();c(()=>p(T,e(ct)?"Copied!":"Copy Config")),i(b,T)},$$slots:{default:!0}}),t(g),t(E),c(()=>p(v,e(rt))),i(C,E)};P(M,C=>{e(Wa)&&C(G)})}t(ae),Se(3,ae,()=>Pe,()=>({y:6,duration:180})),i(W,ae)},ie=W=>{var ae=we(),ne=ve(ae);{var _e=B=>{var M=Gl(),G=a(s(M),2),C=a(s(G),2),E=a(s(C),2);R(E),t(C);var h=a(C,2),v=a(s(h),2);R(v),t(h);var g=a(h,2);{var u=d=>{var F=Wl(),N=s(F,!0);t(F),c(()=>p(N,e(Ma))),i(d,F)};P(g,d=>{e(Ma)&&d(u)})}var b=a(g,2),A=s(b);const T=ca(()=>e(Ba)||!e(xe).name||!e(xe).email);z(A,{get disabled(){return e(T)},$$events:{click:ss},children:(d,F)=>{j();var N=O();c(()=>p(N,e(Ba)?"Saving…":"Save Profile")),i(d,N)},$$slots:{default:!0}}),t(b),t(G);var ce=a(G,2),Q=a(s(ce),2),H=a(s(Q),2);R(H),t(Q);var q=a(Q,2),X=a(s(q),2);R(X),t(q);var $=a(q,2),K=a(s($),2);R(K),t($);var f=a($,2);{var J=d=>{var F=zl(),N=s(F,!0);t(F),c(()=>p(N,e(pa))),i(d,F)};P(f,d=>{e(pa)&&d(J)})}var V=a(f,2),He=s(V);const Ae=ca(()=>e(Na)||!e(re).currentPassword||!e(re).newPassword);z(He,{get disabled(){return e(Ae)},$$events:{click:is},children:(d,F)=>{j();var N=O();c(()=>p(N,e(Na)?"Saving…":"Change Password")),i(d,N)},$$slots:{default:!0}}),t(V),t(ce);var Je=a(ce,2),qe=s(Je),ma=s(qe);z(ma,{variant:"danger",size:"sm",$$events:{click:ns},children:(d,F)=>{j();var N=O("Sign out");i(d,N)},$$slots:{default:!0}}),t(qe),t(Je),t(M),I(E,()=>e(xe).name,d=>k(xe,e(xe).name=d)),I(v,()=>e(xe).email,d=>k(xe,e(xe).email=d)),I(H,()=>e(re).currentPassword,d=>k(re,e(re).currentPassword=d)),I(X,()=>e(re).newPassword,d=>k(re,e(re).newPassword=d)),I(K,()=>e(re).confirmPassword,d=>k(re,e(re).confirmPassword=d)),Se(3,M,()=>Pe,()=>({y:6,duration:180})),i(B,M)},oe=B=>{var M=we(),G=ve(M);{var C=h=>{var v=Zl(),g=a(s(v),2);vl(g,{title:"Remove User",confirmLabel:"Remove",get open(){return e(Ka)},set open(d){l(Ka,d)},$$events:{confirm:()=>{var d,F;return rs((d=e(va))==null?void 0:d.id,(F=e(va))==null?void 0:F.name)}},children:(d,F)=>{var N=we(),he=ve(N);{var Ve=Ie=>{var Fe=Hl(),Xe=a(ve(Fe)),Ye=s(Xe,!0);t(Xe),j(),c(()=>p(Ye,e(va).name)),i(Ie,Fe)};P(he,Ie=>{e(va)&&Ie(Ve)})}i(d,N)},$$slots:{default:!0},$$legacy:!0});var u=a(g,2),b=a(s(u),2),A=s(b),T=a(s(A),2);R(T),t(A);var ce=a(A,2),Q=a(s(ce),2);R(Q),t(ce),t(b);var H=a(b,2),q=s(H),X=a(s(q),2);R(X),t(q);var $=a(q,2),K=a(s($),2);c(()=>{e(ee),Za(()=>{})});var f=s(K);f.value=(f.__value="user")==null?"":"user";var J=a(f);J.value=(J.__value="admin")==null?"":"admin",t(K),t($),t(H);var V=a(H,2);{var He=d=>{var F=Jl(),N=s(F,!0);t(F),c(()=>p(N,e($a))),i(d,F)};P(V,d=>{e($a)&&d(He)})}var Ae=a(V,2),Je=s(Ae);z(Je,{get disabled(){return e(La)},$$events:{click:ls},children:(d,F)=>{j();var N=O();c(()=>p(N,e(La)?"Adding…":"Add User")),i(d,N)},$$slots:{default:!0}}),t(Ae),t(u);var qe=a(u,2);{var ma=d=>{var F=Yl();ya(F,5,()=>e(ta),N=>N.id,(N,he)=>{var Ve=Xl(),Ie=s(Ve),Fe=s(Ie),Xe=s(Fe,!0);t(Fe);var Ye=a(Fe,2),Xa=s(Ye,!0);t(Ye),t(Ie);var oa=a(Ie,2),Ua=s(oa,!0);t(oa);var Ya=a(oa,2);{var ut=Te=>{var je=ql();Me("click",je,()=>{l(va,{id:e(he).id,name:e(he).name}),l(Ka,!0)}),i(Te,je)},Ea=Te=>{var je=Vl();i(Te,je)};P(Ya,Te=>{var je;e(he).id!==((je=se().user)==null?void 0:je.id)?Te(ut):Te(Ea,!1)})}t(Ve),c(()=>{p(Xe,e(he).name),p(Xa,e(he).email),Ns(oa,`role-chip ${e(he).role??""} svelte-9l533f`),p(Ua,e(he).role)}),i(N,Ve)}),t(F),i(d,F)};P(qe,d=>{e(ta).length>0&&d(ma)})}t(v),I(T,()=>e(ee).name,d=>k(ee,e(ee).name=d)),I(Q,()=>e(ee).email,d=>k(ee,e(ee).email=d)),I(X,()=>e(ee).password,d=>k(ee,e(ee).password=d)),et(K,()=>e(ee).role,d=>k(ee,e(ee).role=d)),Se(3,v,()=>Pe,()=>({y:6,duration:180})),i(h,v)},E=h=>{var v=we(),g=ve(v);{var u=b=>{var A=ir(),T=a(s(A),2),ce=a(s(T),2),Q=s(ce),H=a(s(Q),4);z(H,{get disabled(){return e(Oa)},$$events:{click:Zt},children:(S,be)=>{j();var de=O();c(()=>p(de,e(Oa)?"Exporting…":"Export JSON")),i(S,de)},$$slots:{default:!0}}),t(Q);var q=a(Q,4),X=a(s(q),4),$=s(X),K=s($);Ws(K,S=>l(Sa,S),()=>e(Sa));var f=a(K,2),J=s(f,!0);t(f),t($);var V=a($,2);const He=ca(()=>!e(sa)||e(Fa));z(V,{get disabled(){return e(He)},$$events:{click:Qt},children:(S,be)=>{j();var de=O();c(()=>p(de,e(Fa)?"Importing…":"Import")),i(S,de)},$$slots:{default:!0}}),t(X),t(q),t(ce),j(2),t(T);var Ae=a(T,2),Je=a(s(Ae),4),qe=s(Je),ma=a(s(qe),2);R(ma),t(qe);var d=a(qe,2),F=a(s(d),2);R(F),t(d),t(Je);var N=a(Je,2),he=s(N),Ve=a(s(he),2);R(Ve),t(he);var Ie=a(he,2),Fe=a(s(Ie),2);R(Fe),t(Ie),t(N);var Xe=a(N,2),Ye=s(Xe),Xa=a(s(Ye),2);R(Xa),t(Ye);var oa=a(Ye,2),Ua=s(oa),Ya=a(s(Ua),2),ut=s(Ya,!0);t(Ya),t(Ua);var Ea=a(Ua,2);R(Ea),t(oa),t(Xe);var Te=a(Xe,2),je=s(Te);z(je,{variant:"ghost",get disabled(){return e(za)},$$events:{click:ps},children:(S,be)=>{j();var de=O();c(()=>p(de,e(za)?"Testing…":"Test Connection")),i(S,de)},$$slots:{default:!0}});var ms=a(je,2);z(ms,{get disabled(){return e(ba)},$$events:{click:Ct},children:(S,be)=>{j();var de=O();c(()=>p(de,e(ba)?"Saving…":"Save S3 Config")),i(S,de)},$$slots:{default:!0}}),t(Te);var hs=a(Te,2);{var ks=S=>{var be=Ql(),de=s(be);t(be),c(()=>{da(be,"s3-test-success",e(la)==="success"),da(be,"s3-test-error",e(la)==="error"),p(de,`${(e(la)==="success"?"✓":"✗")??""}
|
|
29
|
-
${e(Ha)??""}`)}),i(S,be)};P(hs,S=>{e(la)&&S(ks)})}t(Ae);var ft=a(Ae,2),ys=a(s(ft),2);{var ws=S=>{var be=er();i(S,be)},xs=S=>{var be=rr(),de=ve(be),Tt=s(de),_t=a(s(Tt),2);t(Tt),t(de);var bt=a(de,2),jt=a(s(bt),2);R(jt),t(bt);var Bt=a(bt,2);{var $s=Oe=>{var Aa=lr(),Ze=s(Aa),Ps=a(Ze);{var Cs=Qe=>{var De=ar(),gt=s(De);t(De),c(mt=>p(gt,`uploaded to ${mt??""}`),[()=>e(ze).replace("success:","")],ca),i(Qe,De)},Rs=Qe=>{var De=we(),gt=ve(De);{var mt=ha=>{var Be=tr(),ht=s(Be,!0);t(Be),c(Es=>p(ht,Es),[()=>e(ze).replace("error:","")],ca),i(ha,Be)},Us=ha=>{var Be=sr(),ht=s(Be,!0);t(Be),c(()=>p(ht,e(ze))),i(ha,Be)};P(gt,ha=>{var Be;(Be=e(ze))!=null&&Be.startsWith("error:")?ha(mt):ha(Us,!1)},!0)}i(Qe,De)};P(Ps,Qe=>{var De;(De=e(ze))!=null&&De.startsWith("success:")?Qe(Cs):Qe(Rs,!1)})}t(Aa),c(Qe=>p(Ze,`Last backup: ${Qe??""} — `),[()=>new Date(e(Pa)).toLocaleString()],ca),i(Oe,Aa)};P(Bt,Oe=>{e(Pa)&&Oe($s)})}var Mt=a(Bt,2),Lt=s(Mt);z(Lt,{variant:"ghost",get disabled(){return e(Ga)},$$events:{click:us},children:(Oe,Aa)=>{j();var Ze=O();c(()=>p(Ze,e(Ga)?"Uploading…":"Upload to S3 Now")),i(Oe,Ze)},$$slots:{default:!0}});var Ss=a(Lt,2);z(Ss,{get disabled(){return e(ba)},$$events:{click:Ct},children:(Oe,Aa)=>{j();var Ze=O();c(()=>p(Ze,e(ba)?"Saving…":"Save Schedule")),i(Oe,Ze)},$$slots:{default:!0}}),t(Mt),c(()=>{te(_t,"aria-checked",e(y).backupEnabled),da(_t,"active",e(y).backupEnabled)}),Me("click",_t,()=>k(y,e(y).backupEnabled=!e(y).backupEnabled)),I(jt,()=>e(y).backupCron,Oe=>k(y,e(y).backupCron=Oe)),i(S,be)};P(ys,S=>{e(lt)?S(xs,!1):S(ws)})}t(ft),t(A),c(()=>{p(J,e(sa)?e(sa).name:"Choose file…"),p(ut,e(ga)?"A key is already saved — leave blank to keep it":"Required"),te(Ea,"placeholder",e(ga)?"••••••••":"Enter secret key"),da(ft,"card-disabled",!e(lt))}),Me("change",K,es),I(ma,()=>e(y).backupS3Endpoint,S=>k(y,e(y).backupS3Endpoint=S)),I(F,()=>e(y).backupS3Region,S=>k(y,e(y).backupS3Region=S)),I(Ve,()=>e(y).backupS3Bucket,S=>k(y,e(y).backupS3Bucket=S)),I(Fe,()=>e(y).backupS3Prefix,S=>k(y,e(y).backupS3Prefix=S)),I(Xa,()=>e(y).backupS3AccessKey,S=>k(y,e(y).backupS3AccessKey=S)),I(Ea,()=>e(y).backupS3SecretKey,S=>k(y,e(y).backupS3SecretKey=S)),Se(3,A,()=>Pe,()=>({y:6,duration:180})),i(b,A)};P(g,b=>{e(pe)==="backup"&&b(u)},!0)}i(h,v)};P(G,h=>{e(pe)==="users"?h(C):h(E,!1)},!0)}i(B,M)};P(ne,B=>{e(pe)==="account"?B(_e):B(oe,!1)},!0)}i(W,ae)};P(U,W=>{e(pe)==="mcp"?W(m):W(ie,!1)},!0)}i(w,x)};P($e,w=>{e(pe)==="integrations"?w(Ee):w(Ne,!1)},!0)}i(ge,me)};P(ia,ge=>{e(pe)==="repository"?ge(na):ge(Ke,!1)},!0)}i(Re,Ue)};P(D,Re=>{e(pe)==="runners"?Re(fe):Re(Va,!1)},!0)}i(r,n)};P(_s,r=>{e(pe)==="project"?r(bs):r(gs,!1)})}t(It),t(Et),i(We,Rt),Ms(),st()}export{Pr as component};
|
|
@@ -1,18 +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
|
-
import{h as L,a as b,t as h,s as A,e as O}from"../chunks/ll-VsEGv.js";import{i as Q}from"../chunks/DGryW1Vp.js";import{p as R,o as T,s as a,t as k,d as U,$ as V,m as d,k as l,c as e,n as r,j as i}from"../chunks/C67QNx7Z.js";import{i as E,s as X,a as Z}from"../chunks/CVV6HrFb.js";import{s as ee,r as $}from"../chunks/CstKKb9b.js";import{b as x}from"../chunks/raHbXn_9.js";import{g as se}from"../chunks/KJdjlibc.js";import{c as ae,s as te,l as le}from"../chunks/BVMec-1T.js";import{a as re}from"../chunks/DIx44H9N.js";import{t as ie}from"../chunks/uFRI_bmR.js";var oe=h('<p class="checking svelte-1fbs494">Checking server…</p>'),ne=h('<p class="error svelte-1fbs494"> </p>'),ce=h('<div class="card svelte-1fbs494"><div class="brand svelte-1fbs494"><span class="brand-serif svelte-1fbs494">Pl</span><span class="brand-sans svelte-1fbs494">um</span></div> <div class="heading svelte-1fbs494"><h1 class="title svelte-1fbs494">Welcome to Plum</h1> <p class="subtitle svelte-1fbs494">Create your first account to get started.</p></div> <div class="fields svelte-1fbs494"><div class="field svelte-1fbs494"><label class="label svelte-1fbs494" for="name">Your name</label> <input id="name" type="text" class="input svelte-1fbs494" placeholder="Jane Smith" autocomplete="name"></div> <div class="field svelte-1fbs494"><label class="label svelte-1fbs494" for="email">Email</label> <input id="email" type="email" class="input svelte-1fbs494" placeholder="jane@example.com" autocomplete="email"></div> <div class="field svelte-1fbs494"><label class="label svelte-1fbs494" for="password">Password</label> <input id="password" type="password" class="input svelte-1fbs494" placeholder="Min. 8 characters" autocomplete="new-password"></div></div> <!> <button class="submit-btn svelte-1fbs494"> </button></div>'),ve=h('<div class="page svelte-1fbs494"><!></div>');function ye(J,N){R(N,!1);const[W,Y]=X(),z=()=>Z(ie,"$theme",W);let p=d(""),c=d(""),o=d(""),v=d(""),f=d(!1),P=d(!0);T(async()=>{try{await ae()||se("/login")}catch{}a(P,!1)});async function B(){if(!e(p)||!e(c)||!e(o)){a(v,"All fields are required.");return}if(e(o).length<8){a(v,"Password must be at least 8 characters.");return}a(v,""),a(f,!0);try{await te({name:e(p),email:e(c),password:e(o)});const{token:s,user:n}=await le({email:e(c),password:e(o)});re.login(s,n),window.location.href="/"}catch(s){a(v,s.message||"Setup failed")}finally{a(f,!1)}}Q();var m=ve();L(s=>{V.title="Setup — Plum"});var D=l(m);{var F=s=>{var n=oe();b(s,n)},G=s=>{var n=ce(),_=i(l(n),4),g=l(_),S=i(l(g),2);$(S),r(g);var w=i(g,2),C=i(l(w),2);$(C),r(w);var j=i(w,2),M=i(l(j),2);$(M),r(j),r(_);var q=i(_,2);{var H=t=>{var y=ne(),K=l(y,!0);r(y),k(()=>A(K,e(v))),b(t,y)};E(q,t=>{e(v)&&t(H)})}var u=i(q,2),I=l(u,!0);r(u),r(n),k(()=>{u.disabled=e(f)||!e(p)||!e(c)||!e(o),A(I,e(f)?"Creating account…":"Create account")}),x(S,()=>e(p),t=>a(p,t)),x(C,()=>e(c),t=>a(c,t)),x(M,()=>e(o),t=>a(o,t)),O("click",u,B),b(s,n)};E(D,s=>{e(P)?s(F):s(G,!1)})}r(m),k(()=>ee(m,"data-theme",z())),b(J,m),U(),Y()}export{ye as component};
|
|
@@ -1,18 +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
|
-
.empty.svelte-11h09pq{color:var(--text-muted);font-size:.9375rem;text-align:center}.sm.svelte-11h09pq{padding:1.5rem 0}.md.svelte-11h09pq{padding:3rem 0}.lg.svelte-11h09pq{padding:5rem 0}
|
|
@@ -1,18 +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
|
-
.auto-badge.svelte-1yr9844{display:inline-flex;align-items:center;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-pill);padding:.1rem .45rem;flex-shrink:0;white-space:nowrap}.priority-badge.svelte-1m066kw{font-size:.65rem;font-weight:500;border-radius:var(--radius-pill);padding:.12rem .45rem;flex-shrink:0;white-space:nowrap}.priority-badge.small.svelte-1m066kw{font-size:.6rem}.critical.svelte-1m066kw{background:var(--fail-soft);color:var(--fail)}.high.svelte-1m066kw{background:var(--warn-soft);color:var(--warn)}.medium.svelte-1m066kw{background:var(--node-soft);color:var(--node)}.low.svelte-1m066kw{background:var(--bg-subtle);color:var(--text-muted)}.id-chip.svelte-1gmo0py{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:4px;letter-spacing:.02em;font-size:.7rem;padding:.1rem .4rem;flex-shrink:0;white-space:nowrap}.id-chip.small.svelte-1gmo0py{font-size:.63rem}.result-chip.svelte-1rgb1a1{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .6rem;border-radius:var(--radius-pill);white-space:nowrap}.pass.svelte-1rgb1a1{background:var(--pass-soft);color:var(--pass)}.fail.svelte-1rgb1a1{background:var(--fail-soft);color:var(--fail)}.warn.svelte-1rgb1a1{background:var(--warn-soft);color:var(--warn)}.muted.svelte-1rgb1a1,.pending.svelte-1rgb1a1{background:var(--bg-subtle);color:var(--text-muted)}.loading-state.svelte-r8nmcc{font-size:.875rem;color:var(--text-muted);padding:3rem 0}.breadcrumb.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted);margin-bottom:1.5rem}.bc-link.svelte-r8nmcc{color:var(--accent);text-decoration:none}.bc-link.svelte-r8nmcc:hover{text-decoration:underline}.bc-sep.svelte-r8nmcc{color:var(--border)}.run-header.svelte-r8nmcc{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.run-header-left.svelte-r8nmcc{display:flex;align-items:center;gap:.75rem}.run-title.svelte-r8nmcc{font-size:1.75rem;font-weight:600;color:var(--text)}.run-status-badge.svelte-r8nmcc{font-size:.7rem;font-weight:500;text-transform:capitalize;border-radius:var(--radius-pill);padding:.2rem .6rem;border:1px solid var(--border);color:var(--text-muted);background:var(--bg-subtle)}.run-status-badge.complete.svelte-r8nmcc{background:var(--pass-soft);color:var(--pass);border-color:var(--pass)}.run-status-badge.in-progress.svelte-r8nmcc{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.run-status-badge.backlog.svelte-r8nmcc{background:var(--bg-subtle);color:var(--text-muted);border-color:var(--border)}.locked-badge.svelte-r8nmcc{font-size:.62rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .45rem;margin-left:auto}.locked-workspace.svelte-r8nmcc{grid-template-columns:1fr}.entry-row.entry-locked.svelte-r8nmcc{cursor:default}.entry-row.entry-locked.svelte-r8nmcc:hover{border-color:var(--border)}.run-status-badge.in-progress.svelte-r8nmcc{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.run-header-actions.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem}.mode-tabs.svelte-r8nmcc{display:flex;gap:.125rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.mode-tab.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem .625rem;font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;transition:color var(--duration-fast),border-color var(--duration-fast)}.mode-tab.svelte-r8nmcc:hover{color:var(--text)}.mode-tab.active.svelte-r8nmcc{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.exec-progress.svelte-r8nmcc{font-size:.7rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.05rem .4rem;color:var(--text-muted)}.builder-workspace.svelte-r8nmcc{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.builder-panel.svelte-r8nmcc{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.builder-panel-head.svelte-r8nmcc{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.builder-panel-title.svelte-r8nmcc{font-size:.875rem;font-weight:500;color:var(--text)}.count-chip.svelte-r8nmcc{font-size:.7rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.05rem .4rem;color:var(--text-muted)}.search-input.svelte-r8nmcc{flex:1;height:28px;padding:0 .625rem;font-family:var(--font-body);font-size:.8125rem;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none}.search-input.svelte-r8nmcc:focus{border-color:var(--accent)}.entry-sort-bar.svelte-r8nmcc{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.entry-sort-chip.svelte-r8nmcc{font-size:.75rem;padding:.2rem .55rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;font-family:var(--font-body);transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.entry-sort-chip.active.svelte-r8nmcc{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.entry-sort-dir.svelte-r8nmcc{opacity:.7}.entry-list.svelte-r8nmcc{padding:.625rem;display:flex;flex-direction:column;gap:.375rem;min-height:120px}.entry-row.svelte-r8nmcc{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:grab;transition:border-color var(--duration-fast),opacity var(--duration-fast)}.entry-row.svelte-r8nmcc:hover{border-color:var(--accent)}.entry-row.dragging.svelte-r8nmcc{opacity:.4}.entry-row.drag-over.svelte-r8nmcc{border-color:var(--accent);background:var(--accent-soft)}.drag-handle.svelte-r8nmcc{color:var(--border);flex-shrink:0;margin-top:.125rem}.entry-info.svelte-r8nmcc{flex:1;min-width:0}.entry-badges.svelte-r8nmcc{display:flex;align-items:center;gap:.375rem;margin-bottom:.25rem}.entry-title.svelte-r8nmcc{font-size:.8125rem;color:var(--text);line-height:1.4}.entry-suite.svelte-r8nmcc{font-size:.7rem;color:var(--text-muted)}.exec-locked-banner.svelte-r8nmcc{font-size:.8125rem;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.625rem 1rem;margin-bottom:1rem}.assignee-select.svelte-r8nmcc{font-size:.75rem;font-family:var(--font-body);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.2rem .4rem;cursor:pointer;flex-shrink:0}.assignee-select.svelte-r8nmcc:focus{outline:none;border-color:var(--accent)}.right-panel.svelte-r8nmcc{position:sticky;top:calc(56px + 1.5rem);height:calc(100vh - 56px - 3rem);display:flex;flex-direction:column;overflow:hidden}.suite-browser.svelte-r8nmcc{flex:1;min-height:0;padding:.625rem;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto}.browser-suite.svelte-r8nmcc{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.browser-suite-header.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem;width:100%;min-height:40px;padding:.5rem .75rem;background:var(--bg-subtle);border:none;cursor:pointer;text-align:left;font-family:var(--font-body);transition:background var(--duration-fast)}.browser-suite-header.svelte-r8nmcc:hover{background:var(--bg)}.chevron.svelte-r8nmcc{color:var(--text-muted);transition:transform var(--duration-fast);flex-shrink:0}.chevron.open.svelte-r8nmcc{transform:rotate(90deg)}.browser-suite-name.svelte-r8nmcc{font-size:.8125rem;font-weight:500;color:var(--text);flex:1}.browser-suite-count.svelte-r8nmcc{font-size:.7rem;color:var(--text-muted)}.browser-cases.svelte-r8nmcc{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border);max-height:380px;overflow-y:auto}.browser-case.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:var(--bg-elevated);border:none;border-top:1px solid var(--border);cursor:pointer;text-align:left;font-family:var(--font-body);transition:background var(--duration-fast)}.browser-case.svelte-r8nmcc:first-child{border-top:none}.browser-case.svelte-r8nmcc:hover{background:var(--accent-soft)}.browser-case-title.svelte-r8nmcc{font-size:.8125rem;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-empty.svelte-r8nmcc{padding:.625rem .75rem;font-size:.75rem;color:var(--text-muted)}.progress-bar-wrap.svelte-r8nmcc{margin-bottom:1.25rem}.progress-stats.svelte-r8nmcc{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.stat.svelte-r8nmcc{font-size:.8125rem;font-weight:500}.stat.pass.svelte-r8nmcc{color:var(--pass)}.stat.fail.svelte-r8nmcc{color:var(--fail)}.stat.muted.svelte-r8nmcc{color:var(--text-muted)}.progress-bar.svelte-r8nmcc{height:6px;background:var(--bg-subtle);border-radius:var(--radius-pill);overflow:hidden;display:flex}.progress-fill.svelte-r8nmcc{height:100%;border-radius:var(--radius-pill);transition:width .3s var(--ease-out)}.progress-fill.pass.svelte-r8nmcc{background:var(--pass)}.progress-fill.fail.svelte-r8nmcc{background:var(--fail)}.execute-list.svelte-r8nmcc{display:flex;flex-direction:column;gap:.5rem}.execute-row.svelte-r8nmcc{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-fast)}.execute-row.svelte-r8nmcc:hover{border-color:color-mix(in srgb,var(--text-muted) 40%,var(--border))}.execute-row-main.svelte-r8nmcc{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem}.exec-info.svelte-r8nmcc{display:flex;align-items:flex-start;gap:.625rem;flex:1;min-width:0}.exec-title.svelte-r8nmcc{font-size:.875rem;font-weight:500;color:var(--text);line-height:1.4}.exec-suite.svelte-r8nmcc{font-size:.75rem;color:var(--text-muted)}.exec-actions.svelte-r8nmcc{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.exec-btns.svelte-r8nmcc{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.exec-btn.svelte-r8nmcc{height:26px;padding:0 .6rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);cursor:pointer;font-size:.75rem;font-family:var(--font-body);font-weight:500;color:var(--text-muted);display:flex;align-items:center;white-space:nowrap;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.exec-btn.in-progress.svelte-r8nmcc:hover,.exec-btn.in-progress.active.svelte-r8nmcc{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.exec-btn.pass.svelte-r8nmcc:hover{background:var(--pass-soft);border-color:var(--pass);color:var(--pass)}.exec-btn.fail.svelte-r8nmcc:hover{background:var(--fail-soft);border-color:var(--fail);color:var(--fail)}.exec-btn.warn.svelte-r8nmcc:hover{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.exec-btn.muted.svelte-r8nmcc:hover{background:var(--bg-subtle);border-color:var(--text-muted);color:var(--text-muted)}.exec-reset.svelte-r8nmcc{height:26px;padding:0 .6rem;font-size:.75rem;font-family:var(--font-body);color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast)}.exec-reset.svelte-r8nmcc:hover{color:var(--text);border-color:var(--text-muted)}.exec-assignee-row.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem}.exec-assignee-divider.svelte-r8nmcc{height:1px;background:var(--border);margin:.375rem 0}.exec-assignee-name.svelte-r8nmcc{font-size:.75rem;line-height:26px;color:var(--text-muted)}.exec-assign-me.svelte-r8nmcc{font-size:.7rem;font-family:var(--font-body);color:var(--accent);background:none;border:1px solid var(--accent);border-radius:var(--radius-pill);padding:.1rem .5rem;cursor:pointer;transition:background var(--duration-fast)}.exec-assign-me.svelte-r8nmcc:hover{background:var(--accent-soft)}.exec-assign-me.svelte-r8nmcc:disabled{opacity:.5;cursor:not-allowed}.exec-chevron.svelte-r8nmcc{background:none;border:none;padding:.125rem;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;flex-shrink:0;transition:color var(--duration-fast)}.exec-chevron.svelte-r8nmcc:hover{color:var(--text)}.exec-steps.svelte-r8nmcc{border-top:1px solid var(--border);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem;background:var(--bg-subtle)}.exec-step.svelte-r8nmcc{display:flex;gap:.5rem;align-items:flex-start}.exec-step-num.svelte-r8nmcc{font-size:.7rem;font-weight:600;color:var(--text-muted);width:20px;flex-shrink:0;padding-top:.1rem}.exec-step-body.svelte-r8nmcc{flex:1}.exec-step-action.svelte-r8nmcc{font-size:.8125rem;color:var(--text);line-height:1.4}.exec-step-data.svelte-r8nmcc,.exec-step-expected.svelte-r8nmcc{font-size:.75rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;margin-top:.2rem}.icon-btn.svelte-r8nmcc{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-muted);transition:background var(--duration-fast),color var(--duration-fast);flex-shrink:0}.icon-btn.svelte-r8nmcc:hover{background:var(--bg-subtle);color:var(--text)}.icon-btn.danger.svelte-r8nmcc:hover{background:var(--fail-soft);color:var(--fail)}@media (max-width: 768px){.builder-workspace.svelte-r8nmcc{grid-template-columns:1fr}.right-panel.svelte-r8nmcc{display:none}}
|
|
@@ -1,18 +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
|
-
.page-header.svelte-9l533f{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.page-header.svelte-9l533f h1:where(.svelte-9l533f){font-size:2.5rem}.settings-layout.svelte-9l533f{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start}.settings-sidebar.svelte-9l533f{position:sticky;top:72px}.settings-sidebar.svelte-9l533f nav:where(.svelte-9l533f){display:flex;flex-direction:column;gap:.125rem}.sidebar-item.svelte-9l533f{display:block;width:100%;text-align:left;padding:.45rem .75rem;font-family:var(--font-body);font-size:.875rem;font-weight:400;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.sidebar-item.svelte-9l533f:hover{background:var(--bg-subtle);color:var(--text)}.sidebar-item.active.svelte-9l533f{background:var(--accent-soft);color:var(--accent);font-weight:500}.settings-content.svelte-9l533f{min-width:0}.content-section.svelte-9l533f{display:flex;flex-direction:column;gap:1.25rem}.content-header.svelte-9l533f{margin-bottom:.25rem}.content-header.svelte-9l533f h2:where(.svelte-9l533f){font-size:1.1rem;font-weight:500;font-family:var(--font-body);color:var(--text);margin-bottom:.25rem}.content-desc.svelte-9l533f{font-size:.875rem;color:var(--text-muted);line-height:1.5}.settings-card.svelte-9l533f{display:flex;flex-direction:column;gap:1.25rem}.field-label.svelte-9l533f{display:flex;align-items:baseline;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--text)}.field-hint.svelte-9l533f{font-size:.75rem;font-weight:400;color:var(--text-muted)}.logo-preview.svelte-9l533f{display:flex;flex-direction:column;gap:.5rem}.preview-label.svelte-9l533f{font-size:.75rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.logo-img.svelte-9l533f{max-height:56px;max-width:200px;object-fit:contain;border-radius:var(--radius-sm)}.card-footer.svelte-9l533f{padding-top:.125rem}.toggle-row.svelte-9l533f{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.875rem 1rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm)}.toggle-info.svelte-9l533f{display:flex;flex-direction:column;gap:.2rem}.toggle-label.svelte-9l533f{font-size:.875rem;font-weight:500;color:var(--text)}.toggle-desc.svelte-9l533f{font-size:.78rem;color:var(--text-muted);line-height:1.4}.toggle-switch.svelte-9l533f{flex-shrink:0;width:40px;height:22px;border-radius:var(--radius-pill);border:none;background:var(--border);cursor:pointer;position:relative;transition:background .2s var(--ease-out)}.toggle-switch.on.svelte-9l533f{background:var(--accent)}.toggle-thumb.svelte-9l533f{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out);box-shadow:0 1px 3px #0003}.toggle-switch.on.svelte-9l533f .toggle-thumb:where(.svelte-9l533f){transform:translate(18px)}.runner-cards.svelte-9l533f{display:flex;flex-direction:column;gap:.625rem}.runner-card.svelte-9l533f{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.375rem;transition:border-color var(--duration-fast)}.runner-card.svelte-9l533f:hover{border-color:color-mix(in srgb,var(--text-muted) 40%,var(--border))}.runner-card.editing.svelte-9l533f{border-color:var(--accent);background:var(--accent-soft);gap:.875rem;padding:1rem}.runner-card-header.svelte-9l533f{display:flex;align-items:center;gap:.5rem}.runner-card-icon.svelte-9l533f{color:var(--node);flex-shrink:0}.runner-card-name.svelte-9l533f{font-size:.875rem;font-weight:500;color:var(--text);flex:1}.runner-browser-pill.svelte-9l533f{font-size:.65rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .45rem;flex-shrink:0}.runner-card-url.svelte-9l533f{font-size:.75rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:calc(13px + .5rem)}.runner-card-actions.svelte-9l533f{display:flex;align-items:center;gap:.375rem;padding-left:calc(13px + .5rem);margin-top:.125rem}.ping-badge.svelte-9l533f{font-size:.7rem;font-weight:500;padding:.15rem .5rem;border-radius:var(--radius-pill);flex-shrink:0}.ping-badge.ok.svelte-9l533f{background:var(--pass-soft);color:var(--pass)}.ping-badge.fail.svelte-9l533f{background:var(--fail-soft);color:var(--fail)}.ping-badge.pinging.svelte-9l533f{color:var(--text-muted)}.runner-form.svelte-9l533f{border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;display:flex;flex-direction:column;gap:.875rem;background:var(--bg-subtle)}.runner-form-title.svelte-9l533f{font-size:.8125rem;font-weight:500;color:var(--text)}.runner-form-fields.svelte-9l533f{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.runner-form-actions.svelte-9l533f{display:flex;gap:.5rem}.card-disabled.svelte-9l533f{opacity:.5;pointer-events:none}.backup-row.svelte-9l533f{display:flex;gap:2rem}.backup-block.svelte-9l533f{flex:1;display:flex;flex-direction:column;gap:.875rem}.backup-divider.svelte-9l533f{width:1px;background:var(--border);flex-shrink:0}.backup-block-title.svelte-9l533f{font-size:.875rem;font-weight:500;color:var(--text)}.backup-block-desc.svelte-9l533f{font-size:.8125rem;color:var(--text-muted);line-height:1.6}.backup-block-desc.svelte-9l533f code:where(.svelte-9l533f){font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}.backup-disclaimer.svelte-9l533f{margin-top:1rem;padding:.625rem .875rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-muted);line-height:1.5}.backup-actions.svelte-9l533f{display:flex;gap:.625rem;margin-top:.25rem;flex-wrap:wrap}.s3-test-result.svelte-9l533f{margin-top:.625rem;font-size:.8125rem;font-weight:500}.s3-test-success.svelte-9l533f{color:var(--pass)}.s3-test-error.svelte-9l533f{color:var(--fail)}.backup-last-run.svelte-9l533f{font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.status-success.svelte-9l533f{color:var(--pass)}.status-error.svelte-9l533f{color:var(--fail)}.backup-toggle-label.svelte-9l533f{display:flex;align-items:center;justify-content:space-between;cursor:default}.toggle-btn.svelte-9l533f{flex-shrink:0;width:40px;height:22px;border-radius:var(--radius-pill);border:none;background:var(--border);cursor:pointer;position:relative;transition:background .2s var(--ease-out)}.toggle-btn.active.svelte-9l533f{background:var(--accent)}.toggle-btn.svelte-9l533f .toggle-thumb:where(.svelte-9l533f){position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out);box-shadow:0 1px 3px #0003}.toggle-btn.active.svelte-9l533f .toggle-thumb:where(.svelte-9l533f){transform:translate(18px)}.field-input-mono.svelte-9l533f{font-family:JetBrains Mono,monospace;font-size:.8125rem}.import-row.svelte-9l533f{display:flex;align-items:center;gap:.625rem}.file-label.svelte-9l533f{cursor:pointer}.file-input-hidden.svelte-9l533f{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-btn.svelte-9l533f{display:inline-flex;align-items:center;height:34px;padding:0 .875rem;font-size:.8125rem;font-family:inherit;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;transition:background var(--duration-fast),border-color var(--duration-fast)}.file-label.svelte-9l533f:hover .file-btn:where(.svelte-9l533f){border-color:var(--text-muted);background:var(--bg-subtle)}.field-row.svelte-9l533f{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mono.svelte-9l533f{font-family:JetBrains Mono,monospace!important;font-size:.8125rem!important}.code-sample.svelte-9l533f{font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}.link-btn.svelte-9l533f{font:inherit;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.account-info.svelte-9l533f{display:flex;flex-direction:column;gap:.2rem}.account-name.svelte-9l533f{font-size:.9375rem;font-weight:500;color:var(--text)}.account-email.svelte-9l533f{font-size:.8125rem;color:var(--text-muted)}.form-error.svelte-9l533f{font-size:.8125rem;color:var(--fail)}@media (max-width: 640px){.settings-layout.svelte-9l533f{grid-template-columns:1fr;gap:1.5rem}.settings-sidebar.svelte-9l533f{position:static}.settings-sidebar.svelte-9l533f nav:where(.svelte-9l533f){flex-direction:row;flex-wrap:wrap}.backup-row.svelte-9l533f{flex-direction:column}.backup-divider.svelte-9l533f{width:100%;height:1px}.runner-form-fields.svelte-9l533f,.field-row.svelte-9l533f{grid-template-columns:1fr}}.users-table.svelte-9l533f{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.user-row.svelte-9l533f{display:flex;align-items:center;gap:.75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem 1rem}.user-info.svelte-9l533f{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.user-name.svelte-9l533f{font-size:.9rem;font-weight:500;color:var(--text)}.user-email.svelte-9l533f{font-size:.8rem;color:var(--text-muted)}.role-chip.svelte-9l533f{font-size:.7rem;font-weight:500;border-radius:var(--radius-pill);padding:.15rem .55rem;flex-shrink:0}.role-chip.admin.svelte-9l533f{background:var(--accent-soft);color:var(--accent)}.role-chip.user.svelte-9l533f{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border)}.you-chip.svelte-9l533f{font-size:.7rem;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.15rem .55rem;flex-shrink:0}.mcp-key-row.svelte-9l533f{display:flex;align-items:center;gap:.375rem}.mcp-key-input.svelte-9l533f{flex:1;font-family:JetBrains Mono,monospace;font-size:.8125rem;min-width:0}.mcp-regen-note.svelte-9l533f{font-size:.78rem;color:var(--text-muted)}.mcp-snippet.svelte-9l533f{font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.875rem 1rem;white-space:pre;overflow-x:auto;color:var(--text);line-height:1.6;margin:0}.icon-btn.svelte-9l533f{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-muted);transition:background var(--duration-fast),color var(--duration-fast);flex-shrink:0}.icon-btn.danger.svelte-9l533f:hover{background:var(--fail-soft);color:var(--fail)}
|
|
@@ -1,33 +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
|
-
import { a0 as fallback, _ as stringify, a5 as slot, a1 as bind_props } from "./index.js";
|
|
19
|
-
import "./Toast.js";
|
|
20
|
-
import { a as attr } from "./attributes.js";
|
|
21
|
-
function Button($$payload, $$props) {
|
|
22
|
-
let variant = fallback($$props["variant"], "primary");
|
|
23
|
-
let size = fallback($$props["size"], "md");
|
|
24
|
-
let type = fallback($$props["type"], "button");
|
|
25
|
-
let disabled = fallback($$props["disabled"], false);
|
|
26
|
-
$$payload.out += `<button${attr("type", type)}${attr("disabled", disabled, true)}${attr("class", `btn ${stringify(variant)} ${stringify(size)} svelte-m1euen`)}><!---->`;
|
|
27
|
-
slot($$payload, $$props, "default", {}, null);
|
|
28
|
-
$$payload.out += `<!----></button>`;
|
|
29
|
-
bind_props($$props, { variant, size, type, disabled });
|
|
30
|
-
}
|
|
31
|
-
export {
|
|
32
|
-
Button as B
|
|
33
|
-
};
|
|
@@ -1,18 +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
|
-
.auto-badge.svelte-1yr9844{display:inline-flex;align-items:center;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-pill);padding:.1rem .45rem;flex-shrink:0;white-space:nowrap}.priority-badge.svelte-1m066kw{font-size:.65rem;font-weight:500;border-radius:var(--radius-pill);padding:.12rem .45rem;flex-shrink:0;white-space:nowrap}.priority-badge.small.svelte-1m066kw{font-size:.6rem}.critical.svelte-1m066kw{background:var(--fail-soft);color:var(--fail)}.high.svelte-1m066kw{background:var(--warn-soft);color:var(--warn)}.medium.svelte-1m066kw{background:var(--node-soft);color:var(--node)}.low.svelte-1m066kw{background:var(--bg-subtle);color:var(--text-muted)}.id-chip.svelte-1gmo0py{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:4px;letter-spacing:.02em;font-size:.7rem;padding:.1rem .4rem;flex-shrink:0;white-space:nowrap}.id-chip.small.svelte-1gmo0py{font-size:.63rem}.result-chip.svelte-1rgb1a1{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .6rem;border-radius:var(--radius-pill);white-space:nowrap}.pass.svelte-1rgb1a1{background:var(--pass-soft);color:var(--pass)}.fail.svelte-1rgb1a1{background:var(--fail-soft);color:var(--fail)}.warn.svelte-1rgb1a1{background:var(--warn-soft);color:var(--warn)}.muted.svelte-1rgb1a1,.pending.svelte-1rgb1a1{background:var(--bg-subtle);color:var(--text-muted)}.loading-state.svelte-r8nmcc{font-size:.875rem;color:var(--text-muted);padding:3rem 0}.breadcrumb.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted);margin-bottom:1.5rem}.bc-link.svelte-r8nmcc{color:var(--accent);text-decoration:none}.bc-link.svelte-r8nmcc:hover{text-decoration:underline}.bc-sep.svelte-r8nmcc{color:var(--border)}.run-header.svelte-r8nmcc{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.run-header-left.svelte-r8nmcc{display:flex;align-items:center;gap:.75rem}.run-title.svelte-r8nmcc{font-size:1.75rem;font-weight:600;color:var(--text)}.run-status-badge.svelte-r8nmcc{font-size:.7rem;font-weight:500;text-transform:capitalize;border-radius:var(--radius-pill);padding:.2rem .6rem;border:1px solid var(--border);color:var(--text-muted);background:var(--bg-subtle)}.run-status-badge.complete.svelte-r8nmcc{background:var(--pass-soft);color:var(--pass);border-color:var(--pass)}.run-status-badge.in-progress.svelte-r8nmcc{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.run-status-badge.backlog.svelte-r8nmcc{background:var(--bg-subtle);color:var(--text-muted);border-color:var(--border)}.locked-badge.svelte-r8nmcc{font-size:.62rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .45rem;margin-left:auto}.locked-workspace.svelte-r8nmcc{grid-template-columns:1fr}.entry-row.entry-locked.svelte-r8nmcc{cursor:default}.entry-row.entry-locked.svelte-r8nmcc:hover{border-color:var(--border)}.run-status-badge.in-progress.svelte-r8nmcc{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.run-header-actions.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem}.mode-tabs.svelte-r8nmcc{display:flex;gap:.125rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.mode-tab.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem .625rem;font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;transition:color var(--duration-fast),border-color var(--duration-fast)}.mode-tab.svelte-r8nmcc:hover{color:var(--text)}.mode-tab.active.svelte-r8nmcc{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.exec-progress.svelte-r8nmcc{font-size:.7rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.05rem .4rem;color:var(--text-muted)}.builder-workspace.svelte-r8nmcc{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.builder-panel.svelte-r8nmcc{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.builder-panel-head.svelte-r8nmcc{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.builder-panel-title.svelte-r8nmcc{font-size:.875rem;font-weight:500;color:var(--text)}.count-chip.svelte-r8nmcc{font-size:.7rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.05rem .4rem;color:var(--text-muted)}.search-input.svelte-r8nmcc{flex:1;height:28px;padding:0 .625rem;font-family:var(--font-body);font-size:.8125rem;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none}.search-input.svelte-r8nmcc:focus{border-color:var(--accent)}.entry-sort-bar.svelte-r8nmcc{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.entry-sort-chip.svelte-r8nmcc{font-size:.75rem;padding:.2rem .55rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;font-family:var(--font-body);transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.entry-sort-chip.active.svelte-r8nmcc{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.entry-sort-dir.svelte-r8nmcc{opacity:.7}.entry-list.svelte-r8nmcc{padding:.625rem;display:flex;flex-direction:column;gap:.375rem;min-height:120px}.entry-row.svelte-r8nmcc{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:grab;transition:border-color var(--duration-fast),opacity var(--duration-fast)}.entry-row.svelte-r8nmcc:hover{border-color:var(--accent)}.entry-row.dragging.svelte-r8nmcc{opacity:.4}.entry-row.drag-over.svelte-r8nmcc{border-color:var(--accent);background:var(--accent-soft)}.drag-handle.svelte-r8nmcc{color:var(--border);flex-shrink:0;margin-top:.125rem}.entry-info.svelte-r8nmcc{flex:1;min-width:0}.entry-badges.svelte-r8nmcc{display:flex;align-items:center;gap:.375rem;margin-bottom:.25rem}.entry-title.svelte-r8nmcc{font-size:.8125rem;color:var(--text);line-height:1.4}.entry-suite.svelte-r8nmcc{font-size:.7rem;color:var(--text-muted)}.exec-locked-banner.svelte-r8nmcc{font-size:.8125rem;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.625rem 1rem;margin-bottom:1rem}.assignee-select.svelte-r8nmcc{font-size:.75rem;font-family:var(--font-body);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.2rem .4rem;cursor:pointer;flex-shrink:0}.assignee-select.svelte-r8nmcc:focus{outline:none;border-color:var(--accent)}.right-panel.svelte-r8nmcc{position:sticky;top:calc(56px + 1.5rem);height:calc(100vh - 56px - 3rem);display:flex;flex-direction:column;overflow:hidden}.suite-browser.svelte-r8nmcc{flex:1;min-height:0;padding:.625rem;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto}.browser-suite.svelte-r8nmcc{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.browser-suite-header.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem;width:100%;min-height:40px;padding:.5rem .75rem;background:var(--bg-subtle);border:none;cursor:pointer;text-align:left;font-family:var(--font-body);transition:background var(--duration-fast)}.browser-suite-header.svelte-r8nmcc:hover{background:var(--bg)}.chevron.svelte-r8nmcc{color:var(--text-muted);transition:transform var(--duration-fast);flex-shrink:0}.chevron.open.svelte-r8nmcc{transform:rotate(90deg)}.browser-suite-name.svelte-r8nmcc{font-size:.8125rem;font-weight:500;color:var(--text);flex:1}.browser-suite-count.svelte-r8nmcc{font-size:.7rem;color:var(--text-muted)}.browser-cases.svelte-r8nmcc{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border);max-height:380px;overflow-y:auto}.browser-case.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:var(--bg-elevated);border:none;border-top:1px solid var(--border);cursor:pointer;text-align:left;font-family:var(--font-body);transition:background var(--duration-fast)}.browser-case.svelte-r8nmcc:first-child{border-top:none}.browser-case.svelte-r8nmcc:hover{background:var(--accent-soft)}.browser-case-title.svelte-r8nmcc{font-size:.8125rem;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-empty.svelte-r8nmcc{padding:.625rem .75rem;font-size:.75rem;color:var(--text-muted)}.progress-bar-wrap.svelte-r8nmcc{margin-bottom:1.25rem}.progress-stats.svelte-r8nmcc{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.stat.svelte-r8nmcc{font-size:.8125rem;font-weight:500}.stat.pass.svelte-r8nmcc{color:var(--pass)}.stat.fail.svelte-r8nmcc{color:var(--fail)}.stat.muted.svelte-r8nmcc{color:var(--text-muted)}.progress-bar.svelte-r8nmcc{height:6px;background:var(--bg-subtle);border-radius:var(--radius-pill);overflow:hidden;display:flex}.progress-fill.svelte-r8nmcc{height:100%;border-radius:var(--radius-pill);transition:width .3s var(--ease-out)}.progress-fill.pass.svelte-r8nmcc{background:var(--pass)}.progress-fill.fail.svelte-r8nmcc{background:var(--fail)}.execute-list.svelte-r8nmcc{display:flex;flex-direction:column;gap:.5rem}.execute-row.svelte-r8nmcc{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-fast)}.execute-row.svelte-r8nmcc:hover{border-color:color-mix(in srgb,var(--text-muted) 40%,var(--border))}.execute-row-main.svelte-r8nmcc{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem}.exec-info.svelte-r8nmcc{display:flex;align-items:flex-start;gap:.625rem;flex:1;min-width:0}.exec-title.svelte-r8nmcc{font-size:.875rem;font-weight:500;color:var(--text);line-height:1.4}.exec-suite.svelte-r8nmcc{font-size:.75rem;color:var(--text-muted)}.exec-actions.svelte-r8nmcc{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.exec-btns.svelte-r8nmcc{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.exec-btn.svelte-r8nmcc{height:26px;padding:0 .6rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);cursor:pointer;font-size:.75rem;font-family:var(--font-body);font-weight:500;color:var(--text-muted);display:flex;align-items:center;white-space:nowrap;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.exec-btn.in-progress.svelte-r8nmcc:hover,.exec-btn.in-progress.active.svelte-r8nmcc{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.exec-btn.pass.svelte-r8nmcc:hover{background:var(--pass-soft);border-color:var(--pass);color:var(--pass)}.exec-btn.fail.svelte-r8nmcc:hover{background:var(--fail-soft);border-color:var(--fail);color:var(--fail)}.exec-btn.warn.svelte-r8nmcc:hover{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.exec-btn.muted.svelte-r8nmcc:hover{background:var(--bg-subtle);border-color:var(--text-muted);color:var(--text-muted)}.exec-reset.svelte-r8nmcc{height:26px;padding:0 .6rem;font-size:.75rem;font-family:var(--font-body);color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast)}.exec-reset.svelte-r8nmcc:hover{color:var(--text);border-color:var(--text-muted)}.exec-assignee-row.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem}.exec-assignee-divider.svelte-r8nmcc{height:1px;background:var(--border);margin:.375rem 0}.exec-assignee-name.svelte-r8nmcc{font-size:.75rem;line-height:26px;color:var(--text-muted)}.exec-assign-me.svelte-r8nmcc{font-size:.7rem;font-family:var(--font-body);color:var(--accent);background:none;border:1px solid var(--accent);border-radius:var(--radius-pill);padding:.1rem .5rem;cursor:pointer;transition:background var(--duration-fast)}.exec-assign-me.svelte-r8nmcc:hover{background:var(--accent-soft)}.exec-assign-me.svelte-r8nmcc:disabled{opacity:.5;cursor:not-allowed}.exec-chevron.svelte-r8nmcc{background:none;border:none;padding:.125rem;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;flex-shrink:0;transition:color var(--duration-fast)}.exec-chevron.svelte-r8nmcc:hover{color:var(--text)}.exec-steps.svelte-r8nmcc{border-top:1px solid var(--border);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem;background:var(--bg-subtle)}.exec-step.svelte-r8nmcc{display:flex;gap:.5rem;align-items:flex-start}.exec-step-num.svelte-r8nmcc{font-size:.7rem;font-weight:600;color:var(--text-muted);width:20px;flex-shrink:0;padding-top:.1rem}.exec-step-body.svelte-r8nmcc{flex:1}.exec-step-action.svelte-r8nmcc{font-size:.8125rem;color:var(--text);line-height:1.4}.exec-step-data.svelte-r8nmcc,.exec-step-expected.svelte-r8nmcc{font-size:.75rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;margin-top:.2rem}.icon-btn.svelte-r8nmcc{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-muted);transition:background var(--duration-fast),color var(--duration-fast);flex-shrink:0}.icon-btn.svelte-r8nmcc:hover{background:var(--bg-subtle);color:var(--text)}.icon-btn.danger.svelte-r8nmcc:hover{background:var(--fail-soft);color:var(--fail)}@media (max-width: 768px){.builder-workspace.svelte-r8nmcc{grid-template-columns:1fr}.right-panel.svelte-r8nmcc{display:none}}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,18 +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
|
-
.page-header.svelte-9l533f{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.page-header.svelte-9l533f h1:where(.svelte-9l533f){font-size:2.5rem}.settings-layout.svelte-9l533f{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start}.settings-sidebar.svelte-9l533f{position:sticky;top:72px}.settings-sidebar.svelte-9l533f nav:where(.svelte-9l533f){display:flex;flex-direction:column;gap:.125rem}.sidebar-item.svelte-9l533f{display:block;width:100%;text-align:left;padding:.45rem .75rem;font-family:var(--font-body);font-size:.875rem;font-weight:400;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.sidebar-item.svelte-9l533f:hover{background:var(--bg-subtle);color:var(--text)}.sidebar-item.active.svelte-9l533f{background:var(--accent-soft);color:var(--accent);font-weight:500}.settings-content.svelte-9l533f{min-width:0}.content-section.svelte-9l533f{display:flex;flex-direction:column;gap:1.25rem}.content-header.svelte-9l533f{margin-bottom:.25rem}.content-header.svelte-9l533f h2:where(.svelte-9l533f){font-size:1.1rem;font-weight:500;font-family:var(--font-body);color:var(--text);margin-bottom:.25rem}.content-desc.svelte-9l533f{font-size:.875rem;color:var(--text-muted);line-height:1.5}.settings-card.svelte-9l533f{display:flex;flex-direction:column;gap:1.25rem}.field-label.svelte-9l533f{display:flex;align-items:baseline;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--text)}.field-hint.svelte-9l533f{font-size:.75rem;font-weight:400;color:var(--text-muted)}.logo-preview.svelte-9l533f{display:flex;flex-direction:column;gap:.5rem}.preview-label.svelte-9l533f{font-size:.75rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.logo-img.svelte-9l533f{max-height:56px;max-width:200px;object-fit:contain;border-radius:var(--radius-sm)}.card-footer.svelte-9l533f{padding-top:.125rem}.toggle-row.svelte-9l533f{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.875rem 1rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm)}.toggle-info.svelte-9l533f{display:flex;flex-direction:column;gap:.2rem}.toggle-label.svelte-9l533f{font-size:.875rem;font-weight:500;color:var(--text)}.toggle-desc.svelte-9l533f{font-size:.78rem;color:var(--text-muted);line-height:1.4}.toggle-switch.svelte-9l533f{flex-shrink:0;width:40px;height:22px;border-radius:var(--radius-pill);border:none;background:var(--border);cursor:pointer;position:relative;transition:background .2s var(--ease-out)}.toggle-switch.on.svelte-9l533f{background:var(--accent)}.toggle-thumb.svelte-9l533f{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out);box-shadow:0 1px 3px #0003}.toggle-switch.on.svelte-9l533f .toggle-thumb:where(.svelte-9l533f){transform:translate(18px)}.runner-cards.svelte-9l533f{display:flex;flex-direction:column;gap:.625rem}.runner-card.svelte-9l533f{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.375rem;transition:border-color var(--duration-fast)}.runner-card.svelte-9l533f:hover{border-color:color-mix(in srgb,var(--text-muted) 40%,var(--border))}.runner-card.editing.svelte-9l533f{border-color:var(--accent);background:var(--accent-soft);gap:.875rem;padding:1rem}.runner-card-header.svelte-9l533f{display:flex;align-items:center;gap:.5rem}.runner-card-icon.svelte-9l533f{color:var(--node);flex-shrink:0}.runner-card-name.svelte-9l533f{font-size:.875rem;font-weight:500;color:var(--text);flex:1}.runner-browser-pill.svelte-9l533f{font-size:.65rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .45rem;flex-shrink:0}.runner-card-url.svelte-9l533f{font-size:.75rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:calc(13px + .5rem)}.runner-card-actions.svelte-9l533f{display:flex;align-items:center;gap:.375rem;padding-left:calc(13px + .5rem);margin-top:.125rem}.ping-badge.svelte-9l533f{font-size:.7rem;font-weight:500;padding:.15rem .5rem;border-radius:var(--radius-pill);flex-shrink:0}.ping-badge.ok.svelte-9l533f{background:var(--pass-soft);color:var(--pass)}.ping-badge.fail.svelte-9l533f{background:var(--fail-soft);color:var(--fail)}.ping-badge.pinging.svelte-9l533f{color:var(--text-muted)}.runner-form.svelte-9l533f{border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;display:flex;flex-direction:column;gap:.875rem;background:var(--bg-subtle)}.runner-form-title.svelte-9l533f{font-size:.8125rem;font-weight:500;color:var(--text)}.runner-form-fields.svelte-9l533f{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.runner-form-actions.svelte-9l533f{display:flex;gap:.5rem}.card-disabled.svelte-9l533f{opacity:.5;pointer-events:none}.backup-row.svelte-9l533f{display:flex;gap:2rem}.backup-block.svelte-9l533f{flex:1;display:flex;flex-direction:column;gap:.875rem}.backup-divider.svelte-9l533f{width:1px;background:var(--border);flex-shrink:0}.backup-block-title.svelte-9l533f{font-size:.875rem;font-weight:500;color:var(--text)}.backup-block-desc.svelte-9l533f{font-size:.8125rem;color:var(--text-muted);line-height:1.6}.backup-block-desc.svelte-9l533f code:where(.svelte-9l533f){font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}.backup-disclaimer.svelte-9l533f{margin-top:1rem;padding:.625rem .875rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-muted);line-height:1.5}.backup-actions.svelte-9l533f{display:flex;gap:.625rem;margin-top:.25rem;flex-wrap:wrap}.s3-test-result.svelte-9l533f{margin-top:.625rem;font-size:.8125rem;font-weight:500}.s3-test-success.svelte-9l533f{color:var(--pass)}.s3-test-error.svelte-9l533f{color:var(--fail)}.backup-last-run.svelte-9l533f{font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.status-success.svelte-9l533f{color:var(--pass)}.status-error.svelte-9l533f{color:var(--fail)}.backup-toggle-label.svelte-9l533f{display:flex;align-items:center;justify-content:space-between;cursor:default}.toggle-btn.svelte-9l533f{flex-shrink:0;width:40px;height:22px;border-radius:var(--radius-pill);border:none;background:var(--border);cursor:pointer;position:relative;transition:background .2s var(--ease-out)}.toggle-btn.active.svelte-9l533f{background:var(--accent)}.toggle-btn.svelte-9l533f .toggle-thumb:where(.svelte-9l533f){position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out);box-shadow:0 1px 3px #0003}.toggle-btn.active.svelte-9l533f .toggle-thumb:where(.svelte-9l533f){transform:translate(18px)}.field-input-mono.svelte-9l533f{font-family:JetBrains Mono,monospace;font-size:.8125rem}.import-row.svelte-9l533f{display:flex;align-items:center;gap:.625rem}.file-label.svelte-9l533f{cursor:pointer}.file-input-hidden.svelte-9l533f{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-btn.svelte-9l533f{display:inline-flex;align-items:center;height:34px;padding:0 .875rem;font-size:.8125rem;font-family:inherit;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;transition:background var(--duration-fast),border-color var(--duration-fast)}.file-label.svelte-9l533f:hover .file-btn:where(.svelte-9l533f){border-color:var(--text-muted);background:var(--bg-subtle)}.field-row.svelte-9l533f{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mono.svelte-9l533f{font-family:JetBrains Mono,monospace!important;font-size:.8125rem!important}.code-sample.svelte-9l533f{font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}.link-btn.svelte-9l533f{font:inherit;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.account-info.svelte-9l533f{display:flex;flex-direction:column;gap:.2rem}.account-name.svelte-9l533f{font-size:.9375rem;font-weight:500;color:var(--text)}.account-email.svelte-9l533f{font-size:.8125rem;color:var(--text-muted)}.form-error.svelte-9l533f{font-size:.8125rem;color:var(--fail)}@media (max-width: 640px){.settings-layout.svelte-9l533f{grid-template-columns:1fr;gap:1.5rem}.settings-sidebar.svelte-9l533f{position:static}.settings-sidebar.svelte-9l533f nav:where(.svelte-9l533f){flex-direction:row;flex-wrap:wrap}.backup-row.svelte-9l533f{flex-direction:column}.backup-divider.svelte-9l533f{width:100%;height:1px}.runner-form-fields.svelte-9l533f,.field-row.svelte-9l533f{grid-template-columns:1fr}}.users-table.svelte-9l533f{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.user-row.svelte-9l533f{display:flex;align-items:center;gap:.75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem 1rem}.user-info.svelte-9l533f{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.user-name.svelte-9l533f{font-size:.9rem;font-weight:500;color:var(--text)}.user-email.svelte-9l533f{font-size:.8rem;color:var(--text-muted)}.role-chip.svelte-9l533f{font-size:.7rem;font-weight:500;border-radius:var(--radius-pill);padding:.15rem .55rem;flex-shrink:0}.role-chip.admin.svelte-9l533f{background:var(--accent-soft);color:var(--accent)}.role-chip.user.svelte-9l533f{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border)}.you-chip.svelte-9l533f{font-size:.7rem;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.15rem .55rem;flex-shrink:0}.mcp-key-row.svelte-9l533f{display:flex;align-items:center;gap:.375rem}.mcp-key-input.svelte-9l533f{flex:1;font-family:JetBrains Mono,monospace;font-size:.8125rem;min-width:0}.mcp-regen-note.svelte-9l533f{font-size:.78rem;color:var(--text-muted)}.mcp-snippet.svelte-9l533f{font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.875rem 1rem;white-space:pre;overflow-x:auto;color:var(--text);line-height:1.6;margin:0}.icon-btn.svelte-9l533f{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-muted);transition:background var(--duration-fast),color var(--duration-fast);flex-shrink:0}.icon-btn.danger.svelte-9l533f:hover{background:var(--fail-soft);color:var(--fail)}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,18 +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
|
-
.empty.svelte-11h09pq{color:var(--text-muted);font-size:.9375rem;text-align:center}.sm.svelte-11h09pq{padding:1.5rem 0}.md.svelte-11h09pq{padding:3rem 0}.lg.svelte-11h09pq{padding:5rem 0}
|
|
@@ -1,18 +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
|
-
.auto-badge.svelte-1yr9844{display:inline-flex;align-items:center;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-pill);padding:.1rem .45rem;flex-shrink:0;white-space:nowrap}.priority-badge.svelte-1m066kw{font-size:.65rem;font-weight:500;border-radius:var(--radius-pill);padding:.12rem .45rem;flex-shrink:0;white-space:nowrap}.priority-badge.small.svelte-1m066kw{font-size:.6rem}.critical.svelte-1m066kw{background:var(--fail-soft);color:var(--fail)}.high.svelte-1m066kw{background:var(--warn-soft);color:var(--warn)}.medium.svelte-1m066kw{background:var(--node-soft);color:var(--node)}.low.svelte-1m066kw{background:var(--bg-subtle);color:var(--text-muted)}.id-chip.svelte-1gmo0py{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:4px;letter-spacing:.02em;font-size:.7rem;padding:.1rem .4rem;flex-shrink:0;white-space:nowrap}.id-chip.small.svelte-1gmo0py{font-size:.63rem}.result-chip.svelte-1rgb1a1{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .6rem;border-radius:var(--radius-pill);white-space:nowrap}.pass.svelte-1rgb1a1{background:var(--pass-soft);color:var(--pass)}.fail.svelte-1rgb1a1{background:var(--fail-soft);color:var(--fail)}.warn.svelte-1rgb1a1{background:var(--warn-soft);color:var(--warn)}.muted.svelte-1rgb1a1,.pending.svelte-1rgb1a1{background:var(--bg-subtle);color:var(--text-muted)}.loading-state.svelte-r8nmcc{font-size:.875rem;color:var(--text-muted);padding:3rem 0}.breadcrumb.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted);margin-bottom:1.5rem}.bc-link.svelte-r8nmcc{color:var(--accent);text-decoration:none}.bc-link.svelte-r8nmcc:hover{text-decoration:underline}.bc-sep.svelte-r8nmcc{color:var(--border)}.run-header.svelte-r8nmcc{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.run-header-left.svelte-r8nmcc{display:flex;align-items:center;gap:.75rem}.run-title.svelte-r8nmcc{font-size:1.75rem;font-weight:600;color:var(--text)}.run-status-badge.svelte-r8nmcc{font-size:.7rem;font-weight:500;text-transform:capitalize;border-radius:var(--radius-pill);padding:.2rem .6rem;border:1px solid var(--border);color:var(--text-muted);background:var(--bg-subtle)}.run-status-badge.complete.svelte-r8nmcc{background:var(--pass-soft);color:var(--pass);border-color:var(--pass)}.run-status-badge.in-progress.svelte-r8nmcc{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.run-status-badge.backlog.svelte-r8nmcc{background:var(--bg-subtle);color:var(--text-muted);border-color:var(--border)}.locked-badge.svelte-r8nmcc{font-size:.62rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .45rem;margin-left:auto}.locked-workspace.svelte-r8nmcc{grid-template-columns:1fr}.entry-row.entry-locked.svelte-r8nmcc{cursor:default}.entry-row.entry-locked.svelte-r8nmcc:hover{border-color:var(--border)}.run-status-badge.in-progress.svelte-r8nmcc{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.run-header-actions.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem}.mode-tabs.svelte-r8nmcc{display:flex;gap:.125rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.mode-tab.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem .625rem;font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;transition:color var(--duration-fast),border-color var(--duration-fast)}.mode-tab.svelte-r8nmcc:hover{color:var(--text)}.mode-tab.active.svelte-r8nmcc{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.exec-progress.svelte-r8nmcc{font-size:.7rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.05rem .4rem;color:var(--text-muted)}.builder-workspace.svelte-r8nmcc{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.builder-panel.svelte-r8nmcc{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.builder-panel-head.svelte-r8nmcc{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.builder-panel-title.svelte-r8nmcc{font-size:.875rem;font-weight:500;color:var(--text)}.count-chip.svelte-r8nmcc{font-size:.7rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.05rem .4rem;color:var(--text-muted)}.search-input.svelte-r8nmcc{flex:1;height:28px;padding:0 .625rem;font-family:var(--font-body);font-size:.8125rem;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none}.search-input.svelte-r8nmcc:focus{border-color:var(--accent)}.entry-sort-bar.svelte-r8nmcc{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.entry-sort-chip.svelte-r8nmcc{font-size:.75rem;padding:.2rem .55rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;font-family:var(--font-body);transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.entry-sort-chip.active.svelte-r8nmcc{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.entry-sort-dir.svelte-r8nmcc{opacity:.7}.entry-list.svelte-r8nmcc{padding:.625rem;display:flex;flex-direction:column;gap:.375rem;min-height:120px}.entry-row.svelte-r8nmcc{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:grab;transition:border-color var(--duration-fast),opacity var(--duration-fast)}.entry-row.svelte-r8nmcc:hover{border-color:var(--accent)}.entry-row.dragging.svelte-r8nmcc{opacity:.4}.entry-row.drag-over.svelte-r8nmcc{border-color:var(--accent);background:var(--accent-soft)}.drag-handle.svelte-r8nmcc{color:var(--border);flex-shrink:0;margin-top:.125rem}.entry-info.svelte-r8nmcc{flex:1;min-width:0}.entry-badges.svelte-r8nmcc{display:flex;align-items:center;gap:.375rem;margin-bottom:.25rem}.entry-title.svelte-r8nmcc{font-size:.8125rem;color:var(--text);line-height:1.4}.entry-suite.svelte-r8nmcc{font-size:.7rem;color:var(--text-muted)}.exec-locked-banner.svelte-r8nmcc{font-size:.8125rem;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.625rem 1rem;margin-bottom:1rem}.assignee-select.svelte-r8nmcc{font-size:.75rem;font-family:var(--font-body);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.2rem .4rem;cursor:pointer;flex-shrink:0}.assignee-select.svelte-r8nmcc:focus{outline:none;border-color:var(--accent)}.right-panel.svelte-r8nmcc{position:sticky;top:calc(56px + 1.5rem);height:calc(100vh - 56px - 3rem);display:flex;flex-direction:column;overflow:hidden}.suite-browser.svelte-r8nmcc{flex:1;min-height:0;padding:.625rem;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto}.browser-suite.svelte-r8nmcc{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.browser-suite-header.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem;width:100%;min-height:40px;padding:.5rem .75rem;background:var(--bg-subtle);border:none;cursor:pointer;text-align:left;font-family:var(--font-body);transition:background var(--duration-fast)}.browser-suite-header.svelte-r8nmcc:hover{background:var(--bg)}.chevron.svelte-r8nmcc{color:var(--text-muted);transition:transform var(--duration-fast);flex-shrink:0}.chevron.open.svelte-r8nmcc{transform:rotate(90deg)}.browser-suite-name.svelte-r8nmcc{font-size:.8125rem;font-weight:500;color:var(--text);flex:1}.browser-suite-count.svelte-r8nmcc{font-size:.7rem;color:var(--text-muted)}.browser-cases.svelte-r8nmcc{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border);max-height:380px;overflow-y:auto}.browser-case.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:var(--bg-elevated);border:none;border-top:1px solid var(--border);cursor:pointer;text-align:left;font-family:var(--font-body);transition:background var(--duration-fast)}.browser-case.svelte-r8nmcc:first-child{border-top:none}.browser-case.svelte-r8nmcc:hover{background:var(--accent-soft)}.browser-case-title.svelte-r8nmcc{font-size:.8125rem;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-empty.svelte-r8nmcc{padding:.625rem .75rem;font-size:.75rem;color:var(--text-muted)}.progress-bar-wrap.svelte-r8nmcc{margin-bottom:1.25rem}.progress-stats.svelte-r8nmcc{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.stat.svelte-r8nmcc{font-size:.8125rem;font-weight:500}.stat.pass.svelte-r8nmcc{color:var(--pass)}.stat.fail.svelte-r8nmcc{color:var(--fail)}.stat.muted.svelte-r8nmcc{color:var(--text-muted)}.progress-bar.svelte-r8nmcc{height:6px;background:var(--bg-subtle);border-radius:var(--radius-pill);overflow:hidden;display:flex}.progress-fill.svelte-r8nmcc{height:100%;border-radius:var(--radius-pill);transition:width .3s var(--ease-out)}.progress-fill.pass.svelte-r8nmcc{background:var(--pass)}.progress-fill.fail.svelte-r8nmcc{background:var(--fail)}.execute-list.svelte-r8nmcc{display:flex;flex-direction:column;gap:.5rem}.execute-row.svelte-r8nmcc{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-fast)}.execute-row.svelte-r8nmcc:hover{border-color:color-mix(in srgb,var(--text-muted) 40%,var(--border))}.execute-row-main.svelte-r8nmcc{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem}.exec-info.svelte-r8nmcc{display:flex;align-items:flex-start;gap:.625rem;flex:1;min-width:0}.exec-title.svelte-r8nmcc{font-size:.875rem;font-weight:500;color:var(--text);line-height:1.4}.exec-suite.svelte-r8nmcc{font-size:.75rem;color:var(--text-muted)}.exec-actions.svelte-r8nmcc{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.exec-btns.svelte-r8nmcc{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.exec-btn.svelte-r8nmcc{height:26px;padding:0 .6rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);cursor:pointer;font-size:.75rem;font-family:var(--font-body);font-weight:500;color:var(--text-muted);display:flex;align-items:center;white-space:nowrap;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.exec-btn.in-progress.svelte-r8nmcc:hover,.exec-btn.in-progress.active.svelte-r8nmcc{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.exec-btn.pass.svelte-r8nmcc:hover{background:var(--pass-soft);border-color:var(--pass);color:var(--pass)}.exec-btn.fail.svelte-r8nmcc:hover{background:var(--fail-soft);border-color:var(--fail);color:var(--fail)}.exec-btn.warn.svelte-r8nmcc:hover{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.exec-btn.muted.svelte-r8nmcc:hover{background:var(--bg-subtle);border-color:var(--text-muted);color:var(--text-muted)}.exec-reset.svelte-r8nmcc{height:26px;padding:0 .6rem;font-size:.75rem;font-family:var(--font-body);color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast)}.exec-reset.svelte-r8nmcc:hover{color:var(--text);border-color:var(--text-muted)}.exec-assignee-row.svelte-r8nmcc{display:flex;align-items:center;gap:.5rem}.exec-assignee-divider.svelte-r8nmcc{height:1px;background:var(--border);margin:.375rem 0}.exec-assignee-name.svelte-r8nmcc{font-size:.75rem;line-height:26px;color:var(--text-muted)}.exec-assign-me.svelte-r8nmcc{font-size:.7rem;font-family:var(--font-body);color:var(--accent);background:none;border:1px solid var(--accent);border-radius:var(--radius-pill);padding:.1rem .5rem;cursor:pointer;transition:background var(--duration-fast)}.exec-assign-me.svelte-r8nmcc:hover{background:var(--accent-soft)}.exec-assign-me.svelte-r8nmcc:disabled{opacity:.5;cursor:not-allowed}.exec-chevron.svelte-r8nmcc{background:none;border:none;padding:.125rem;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;flex-shrink:0;transition:color var(--duration-fast)}.exec-chevron.svelte-r8nmcc:hover{color:var(--text)}.exec-steps.svelte-r8nmcc{border-top:1px solid var(--border);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem;background:var(--bg-subtle)}.exec-step.svelte-r8nmcc{display:flex;gap:.5rem;align-items:flex-start}.exec-step-num.svelte-r8nmcc{font-size:.7rem;font-weight:600;color:var(--text-muted);width:20px;flex-shrink:0;padding-top:.1rem}.exec-step-body.svelte-r8nmcc{flex:1}.exec-step-action.svelte-r8nmcc{font-size:.8125rem;color:var(--text);line-height:1.4}.exec-step-data.svelte-r8nmcc,.exec-step-expected.svelte-r8nmcc{font-size:.75rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;margin-top:.2rem}.icon-btn.svelte-r8nmcc{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-muted);transition:background var(--duration-fast),color var(--duration-fast);flex-shrink:0}.icon-btn.svelte-r8nmcc:hover{background:var(--bg-subtle);color:var(--text)}.icon-btn.danger.svelte-r8nmcc:hover{background:var(--fail-soft);color:var(--fail)}@media (max-width: 768px){.builder-workspace.svelte-r8nmcc{grid-template-columns:1fr}.right-panel.svelte-r8nmcc{display:none}}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,18 +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
|
-
.page-header.svelte-9l533f{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.page-header.svelte-9l533f h1:where(.svelte-9l533f){font-size:2.5rem}.settings-layout.svelte-9l533f{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start}.settings-sidebar.svelte-9l533f{position:sticky;top:72px}.settings-sidebar.svelte-9l533f nav:where(.svelte-9l533f){display:flex;flex-direction:column;gap:.125rem}.sidebar-item.svelte-9l533f{display:block;width:100%;text-align:left;padding:.45rem .75rem;font-family:var(--font-body);font-size:.875rem;font-weight:400;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.sidebar-item.svelte-9l533f:hover{background:var(--bg-subtle);color:var(--text)}.sidebar-item.active.svelte-9l533f{background:var(--accent-soft);color:var(--accent);font-weight:500}.settings-content.svelte-9l533f{min-width:0}.content-section.svelte-9l533f{display:flex;flex-direction:column;gap:1.25rem}.content-header.svelte-9l533f{margin-bottom:.25rem}.content-header.svelte-9l533f h2:where(.svelte-9l533f){font-size:1.1rem;font-weight:500;font-family:var(--font-body);color:var(--text);margin-bottom:.25rem}.content-desc.svelte-9l533f{font-size:.875rem;color:var(--text-muted);line-height:1.5}.settings-card.svelte-9l533f{display:flex;flex-direction:column;gap:1.25rem}.field-label.svelte-9l533f{display:flex;align-items:baseline;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--text)}.field-hint.svelte-9l533f{font-size:.75rem;font-weight:400;color:var(--text-muted)}.logo-preview.svelte-9l533f{display:flex;flex-direction:column;gap:.5rem}.preview-label.svelte-9l533f{font-size:.75rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.logo-img.svelte-9l533f{max-height:56px;max-width:200px;object-fit:contain;border-radius:var(--radius-sm)}.card-footer.svelte-9l533f{padding-top:.125rem}.toggle-row.svelte-9l533f{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.875rem 1rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm)}.toggle-info.svelte-9l533f{display:flex;flex-direction:column;gap:.2rem}.toggle-label.svelte-9l533f{font-size:.875rem;font-weight:500;color:var(--text)}.toggle-desc.svelte-9l533f{font-size:.78rem;color:var(--text-muted);line-height:1.4}.toggle-switch.svelte-9l533f{flex-shrink:0;width:40px;height:22px;border-radius:var(--radius-pill);border:none;background:var(--border);cursor:pointer;position:relative;transition:background .2s var(--ease-out)}.toggle-switch.on.svelte-9l533f{background:var(--accent)}.toggle-thumb.svelte-9l533f{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out);box-shadow:0 1px 3px #0003}.toggle-switch.on.svelte-9l533f .toggle-thumb:where(.svelte-9l533f){transform:translate(18px)}.runner-cards.svelte-9l533f{display:flex;flex-direction:column;gap:.625rem}.runner-card.svelte-9l533f{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.375rem;transition:border-color var(--duration-fast)}.runner-card.svelte-9l533f:hover{border-color:color-mix(in srgb,var(--text-muted) 40%,var(--border))}.runner-card.editing.svelte-9l533f{border-color:var(--accent);background:var(--accent-soft);gap:.875rem;padding:1rem}.runner-card-header.svelte-9l533f{display:flex;align-items:center;gap:.5rem}.runner-card-icon.svelte-9l533f{color:var(--node);flex-shrink:0}.runner-card-name.svelte-9l533f{font-size:.875rem;font-weight:500;color:var(--text);flex:1}.runner-browser-pill.svelte-9l533f{font-size:.65rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .45rem;flex-shrink:0}.runner-card-url.svelte-9l533f{font-size:.75rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:calc(13px + .5rem)}.runner-card-actions.svelte-9l533f{display:flex;align-items:center;gap:.375rem;padding-left:calc(13px + .5rem);margin-top:.125rem}.ping-badge.svelte-9l533f{font-size:.7rem;font-weight:500;padding:.15rem .5rem;border-radius:var(--radius-pill);flex-shrink:0}.ping-badge.ok.svelte-9l533f{background:var(--pass-soft);color:var(--pass)}.ping-badge.fail.svelte-9l533f{background:var(--fail-soft);color:var(--fail)}.ping-badge.pinging.svelte-9l533f{color:var(--text-muted)}.runner-form.svelte-9l533f{border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;display:flex;flex-direction:column;gap:.875rem;background:var(--bg-subtle)}.runner-form-title.svelte-9l533f{font-size:.8125rem;font-weight:500;color:var(--text)}.runner-form-fields.svelte-9l533f{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.runner-form-actions.svelte-9l533f{display:flex;gap:.5rem}.card-disabled.svelte-9l533f{opacity:.5;pointer-events:none}.backup-row.svelte-9l533f{display:flex;gap:2rem}.backup-block.svelte-9l533f{flex:1;display:flex;flex-direction:column;gap:.875rem}.backup-divider.svelte-9l533f{width:1px;background:var(--border);flex-shrink:0}.backup-block-title.svelte-9l533f{font-size:.875rem;font-weight:500;color:var(--text)}.backup-block-desc.svelte-9l533f{font-size:.8125rem;color:var(--text-muted);line-height:1.6}.backup-block-desc.svelte-9l533f code:where(.svelte-9l533f){font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}.backup-disclaimer.svelte-9l533f{margin-top:1rem;padding:.625rem .875rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-muted);line-height:1.5}.backup-actions.svelte-9l533f{display:flex;gap:.625rem;margin-top:.25rem;flex-wrap:wrap}.s3-test-result.svelte-9l533f{margin-top:.625rem;font-size:.8125rem;font-weight:500}.s3-test-success.svelte-9l533f{color:var(--pass)}.s3-test-error.svelte-9l533f{color:var(--fail)}.backup-last-run.svelte-9l533f{font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.status-success.svelte-9l533f{color:var(--pass)}.status-error.svelte-9l533f{color:var(--fail)}.backup-toggle-label.svelte-9l533f{display:flex;align-items:center;justify-content:space-between;cursor:default}.toggle-btn.svelte-9l533f{flex-shrink:0;width:40px;height:22px;border-radius:var(--radius-pill);border:none;background:var(--border);cursor:pointer;position:relative;transition:background .2s var(--ease-out)}.toggle-btn.active.svelte-9l533f{background:var(--accent)}.toggle-btn.svelte-9l533f .toggle-thumb:where(.svelte-9l533f){position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out);box-shadow:0 1px 3px #0003}.toggle-btn.active.svelte-9l533f .toggle-thumb:where(.svelte-9l533f){transform:translate(18px)}.field-input-mono.svelte-9l533f{font-family:JetBrains Mono,monospace;font-size:.8125rem}.import-row.svelte-9l533f{display:flex;align-items:center;gap:.625rem}.file-label.svelte-9l533f{cursor:pointer}.file-input-hidden.svelte-9l533f{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-btn.svelte-9l533f{display:inline-flex;align-items:center;height:34px;padding:0 .875rem;font-size:.8125rem;font-family:inherit;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;transition:background var(--duration-fast),border-color var(--duration-fast)}.file-label.svelte-9l533f:hover .file-btn:where(.svelte-9l533f){border-color:var(--text-muted);background:var(--bg-subtle)}.field-row.svelte-9l533f{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mono.svelte-9l533f{font-family:JetBrains Mono,monospace!important;font-size:.8125rem!important}.code-sample.svelte-9l533f{font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}.link-btn.svelte-9l533f{font:inherit;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.account-info.svelte-9l533f{display:flex;flex-direction:column;gap:.2rem}.account-name.svelte-9l533f{font-size:.9375rem;font-weight:500;color:var(--text)}.account-email.svelte-9l533f{font-size:.8125rem;color:var(--text-muted)}.form-error.svelte-9l533f{font-size:.8125rem;color:var(--fail)}@media (max-width: 640px){.settings-layout.svelte-9l533f{grid-template-columns:1fr;gap:1.5rem}.settings-sidebar.svelte-9l533f{position:static}.settings-sidebar.svelte-9l533f nav:where(.svelte-9l533f){flex-direction:row;flex-wrap:wrap}.backup-row.svelte-9l533f{flex-direction:column}.backup-divider.svelte-9l533f{width:100%;height:1px}.runner-form-fields.svelte-9l533f,.field-row.svelte-9l533f{grid-template-columns:1fr}}.users-table.svelte-9l533f{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.user-row.svelte-9l533f{display:flex;align-items:center;gap:.75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem 1rem}.user-info.svelte-9l533f{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.user-name.svelte-9l533f{font-size:.9rem;font-weight:500;color:var(--text)}.user-email.svelte-9l533f{font-size:.8rem;color:var(--text-muted)}.role-chip.svelte-9l533f{font-size:.7rem;font-weight:500;border-radius:var(--radius-pill);padding:.15rem .55rem;flex-shrink:0}.role-chip.admin.svelte-9l533f{background:var(--accent-soft);color:var(--accent)}.role-chip.user.svelte-9l533f{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border)}.you-chip.svelte-9l533f{font-size:.7rem;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.15rem .55rem;flex-shrink:0}.mcp-key-row.svelte-9l533f{display:flex;align-items:center;gap:.375rem}.mcp-key-input.svelte-9l533f{flex:1;font-family:JetBrains Mono,monospace;font-size:.8125rem;min-width:0}.mcp-regen-note.svelte-9l533f{font-size:.78rem;color:var(--text-muted)}.mcp-snippet.svelte-9l533f{font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.875rem 1rem;white-space:pre;overflow-x:auto;color:var(--text);line-height:1.6;margin:0}.icon-btn.svelte-9l533f{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-muted);transition:background var(--duration-fast),color var(--duration-fast);flex-shrink:0}.icon-btn.danger.svelte-9l533f:hover{background:var(--fail-soft);color:var(--fail)}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|