@piwitests/server 0.16.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{Dz55UR7w.js → 36cXPVrY.js} +1 -1
- package/.output/public/_nuxt/{IFqRT_xJ.js → 87SGk1nu.js} +1 -1
- package/.output/public/_nuxt/{bAfTAihV.js → AjuKBlzz.js} +1 -1
- package/.output/public/_nuxt/{1AB111xL.js → B1CB30tg.js} +1 -1
- package/.output/public/_nuxt/{Br2K9yi_.js → B6IHiVa1.js} +1 -1
- package/.output/public/_nuxt/{iwD5atI2.js → B6rt3IcG.js} +1 -1
- package/.output/public/_nuxt/{Bvfmwzgw.js → BAaSmp8J.js} +1 -1
- package/.output/public/_nuxt/{DRtTLQri.js → BAkJhSAW.js} +1 -1
- package/.output/public/_nuxt/{DuBBqqbF.js → BCArQk0c.js} +1 -1
- package/.output/public/_nuxt/{BV83yObd.js → BEB2Mv6B.js} +1 -1
- package/.output/public/_nuxt/BFjmLXYo.js +8 -0
- package/.output/public/_nuxt/BJltXwHg.js +1 -0
- package/.output/public/_nuxt/{CuYYdFBL.js → BKaU95es.js} +1 -1
- package/.output/public/_nuxt/{2xvsvjLO.js → BReNbog6.js} +1 -1
- package/.output/public/_nuxt/{DJS3Bf50.js → BTYiG93l.js} +1 -1
- package/.output/public/_nuxt/{k-z_VVTK.js → BUMZHDRC.js} +1 -1
- package/.output/public/_nuxt/BVDBIVAQ.js +1 -0
- package/.output/public/_nuxt/{JCFZINev.js → B_aSGB8S.js} +1 -1
- package/.output/public/_nuxt/{e1zUTrBb.js → BaDv5D7A.js} +1 -1
- package/.output/public/_nuxt/{DjZKuUMz.js → BdHdHyop.js} +1 -1
- package/.output/public/_nuxt/{CJFqA_QW.js → BfoG8R5a.js} +1 -1
- package/.output/public/_nuxt/{CgoAUz76.js → Bi3i470l.js} +1 -1
- package/.output/public/_nuxt/Bi9DO8jm.js +1 -0
- package/.output/public/_nuxt/{BS0gKVuF.js → BiX7c2qU.js} +1 -1
- package/.output/public/_nuxt/{-KQO1A4C.js → BoC6qaRF.js} +4 -4
- package/.output/public/_nuxt/{CSYJwpXG.js → BsDB_eCd.js} +1 -1
- package/.output/public/_nuxt/{B43OGXzV.js → BuuvTH9e.js} +1 -1
- package/.output/public/_nuxt/{BRKa6EQR.js → C11lmBd4.js} +1 -1
- package/.output/public/_nuxt/C4AfzZER.js +47 -0
- package/.output/public/_nuxt/{BBdfPriC.js → C7ZVzS0K.js} +1 -1
- package/.output/public/_nuxt/{CQeMb57w.js → C8cz5feG.js} +1 -1
- package/.output/public/_nuxt/{Dzz9_Z0u.js → C9EpbPNU.js} +1 -1
- package/.output/public/_nuxt/{qzAP_nm7.js → C9ahP7km.js} +1 -1
- package/.output/public/_nuxt/{N3pCB6-m.js → CBEM3L1q.js} +1 -1
- package/.output/public/_nuxt/{C1K3r_fc.js → CCsl9MOZ.js} +1 -1
- package/.output/public/_nuxt/{BpceIssd.js → CCw3Tx4S.js} +1 -1
- package/.output/public/_nuxt/{B3NbDoBP.js → CGq9qR-0.js} +1 -1
- package/.output/public/_nuxt/{BoRFLTAO.js → CLdGRzLL.js} +1 -1
- package/.output/public/_nuxt/{BZekCf_x.js → CP0vUzbd.js} +1 -1
- package/.output/public/_nuxt/CPZ5wygb.js +1 -0
- package/.output/public/_nuxt/{CTdvGdc2.js → CRcjGmf7.js} +1 -1
- package/.output/public/_nuxt/{B2lYFco4.js → CRpbGS75.js} +1 -1
- package/.output/public/_nuxt/CTgM5Fke.js +2 -0
- package/.output/public/_nuxt/{DcCNnjKl.js → CU3W9YrI.js} +1 -1
- package/.output/public/_nuxt/{BIksQZfR.js → CUDeMcEK.js} +1 -1
- package/.output/public/_nuxt/{BpNqHxg2.js → CYIR2GbL.js} +1 -1
- package/.output/public/_nuxt/{ze9-Ill2.js → Ccit_CX1.js} +1 -1
- package/.output/public/_nuxt/CiPH-swI.js +1 -0
- package/.output/public/_nuxt/{BkDfdHFm.js → ClIKZ4qY.js} +1 -1
- package/.output/public/_nuxt/{BVW5qIDP.js → ClVRQpP_.js} +1 -1
- package/.output/public/_nuxt/CmbjAoQu.js +1 -0
- package/.output/public/_nuxt/Cx65B3c3.js +1 -0
- package/.output/public/_nuxt/{B3sNtVnf.js → D1ttGJfs.js} +1 -1
- package/.output/public/_nuxt/{DuMv-ugy.js → D3MWm6JP.js} +1 -1
- package/.output/public/_nuxt/{BPKwYP2Q.js → D3SYPlEB.js} +28 -28
- package/.output/public/_nuxt/{BGYbnqA7.js → D4SFgXAf.js} +1 -1
- package/.output/public/_nuxt/D51_cB9D.js +1 -0
- package/.output/public/_nuxt/{DbeHHTk-.js → D8YZvjas.js} +1 -1
- package/.output/public/_nuxt/{DgYM3eyi.js → DB3ljns7.js} +1 -1
- package/.output/public/_nuxt/{Bzl2H_vl.js → DC51KKt4.js} +1 -1
- package/.output/public/_nuxt/{BR9H8k-L.js → DCMFuzDI.js} +1 -1
- package/.output/public/_nuxt/{mfzslNx_.js → DIA_NAIv.js} +1 -1
- package/.output/public/_nuxt/{CKB_doYB.js → DM_YaJgJ.js} +1 -1
- package/.output/public/_nuxt/{BuZOa2M3.js → DOr_4nln.js} +2 -2
- package/.output/public/_nuxt/{oNq5pd3r.js → DRE6Aqqp.js} +1 -1
- package/.output/public/_nuxt/{CMYQpoOI.js → DVgMaBxD.js} +1 -1
- package/.output/public/_nuxt/{C3r_Sv1p.js → DaewB_zT.js} +1 -1
- package/.output/public/_nuxt/{DdbrJwT-.js → Db_-yjYg.js} +1 -1
- package/.output/public/_nuxt/{CpO-ABDW.js → Dbg8z684.js} +1 -1
- package/.output/public/_nuxt/{DOuoR2Pk.js → DcfRfTaA.js} +1 -1
- package/.output/public/_nuxt/{BpIsBP5g.js → Dm1_3W9g.js} +1 -1
- package/.output/public/_nuxt/{ABGJk0pu.js → DnThe2U0.js} +1 -1
- package/.output/public/_nuxt/{C38aZbFJ.js → Do6zIWQf.js} +1 -1
- package/.output/public/_nuxt/{B7yG1G_l.js → DoFSKAvY.js} +1 -1
- package/.output/public/_nuxt/{C8RBRg7I.js → DoYgYLOd.js} +1 -1
- package/.output/public/_nuxt/{BIf1R_fu.js → Doul3p1_.js} +1 -1
- package/.output/public/_nuxt/{BQrSEuzu.js → DraETso1.js} +1 -1
- package/.output/public/_nuxt/{DszOHBMG.js → Dwp3GkV-.js} +1 -1
- package/.output/public/_nuxt/{DqnyWaSQ.js → Dy4TloG3.js} +1 -1
- package/.output/public/_nuxt/{DfcAIbcX.js → EltzgiyS.js} +1 -1
- package/.output/public/_nuxt/{D2jhe9JK.js → HTQtMbWb.js} +1 -1
- package/.output/public/_nuxt/{xUrLy-Zn.js → KYucVFu7.js} +1 -1
- package/.output/public/_nuxt/TBDx0s9p.js +3 -0
- package/.output/public/_nuxt/{BdFEUAlx.js → Tt5LX5Y-.js} +1 -1
- package/.output/public/_nuxt/{d5ZB3uxF.js → Vnfkr1pJ.js} +1 -1
- package/.output/public/_nuxt/{DIkLLyR6.js → WAaPPk0g.js} +2 -2
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/ed1db2e5-9865-4231-9605-4edd5272e164.json +1 -0
- package/.output/public/_nuxt/{DhA17dqR.js → empGC_x-.js} +1 -1
- package/.output/public/_nuxt/entry.ChQMshd4.css +1 -0
- package/.output/public/_nuxt/{nCjfWTGm.js → l0QnzFNM.js} +1 -1
- package/.output/public/_nuxt/{l0gdGdar.js → lowCGL2S.js} +1 -1
- package/.output/public/_nuxt/{DL20rwkA.js → mlAADjK3.js} +1 -1
- package/.output/public/_nuxt/{D33On6AX.js → n-QWmQgc.js} +1 -1
- package/.output/public/_nuxt/{CoHGrO41.js → oFIS9u6t.js} +2 -2
- package/.output/public/_nuxt/{BY4oA2IH.js → oWY3I9uX.js} +1 -1
- package/.output/public/_nuxt/{D4VpoHDP.js → q0DPzLKN.js} +1 -1
- package/.output/public/_nuxt/{uKeO2H7F.js → quV6tp4n.js} +1 -1
- package/.output/public/_nuxt/{B33X4zrC.js → riEUDnED.js} +1 -1
- package/.output/public/_nuxt/{mGJLLqyN.js → rm7OkgDG.js} +1 -1
- package/.output/public/_nuxt/uaqMzXqE.js +5 -0
- package/.output/public/_nuxt/{DAWn6Z7h.js → va1mwSm9.js} +1 -1
- package/.output/public/_nuxt/{DCpmQ47_.js → wGpfdK6o.js} +1 -1
- package/.output/public/_nuxt/{Bb64FEFL.js → wQZj69OY.js} +1 -1
- package/.output/public/_nuxt/wgcgHmRR.js +1 -0
- package/.output/public/sw.js +1 -1
- package/.output/server/chunks/build/{Checkbox-7ZiMz60w.mjs → Checkbox-cVOSIY93.mjs} +2 -2
- package/.output/server/chunks/build/Checkbox-cVOSIY93.mjs.map +1 -0
- package/.output/server/chunks/build/{CiEnvCard-DNxBVvx4.mjs → CiEnvCard-DXPOhdSG.mjs} +2 -2
- package/.output/server/chunks/build/CiEnvCard-DXPOhdSG.mjs.map +1 -0
- package/.output/server/chunks/build/DataLocationCard-D6xSOrme.mjs +102 -0
- package/.output/server/chunks/build/DataLocationCard-D6xSOrme.mjs.map +1 -0
- package/.output/server/chunks/build/{ProjectTestCasesTable-9418EI8J.mjs → ProjectTestCasesTable-9Ia825h8.mjs} +2 -2
- package/.output/server/chunks/build/ProjectTestCasesTable-9Ia825h8.mjs.map +1 -0
- package/.output/server/chunks/build/{Select-COwTIQlV.mjs → Select-ppPz926C.mjs} +3 -2
- package/.output/server/chunks/build/Select-ppPz926C.mjs.map +1 -0
- package/.output/server/chunks/build/{SelectMenu-BkyAHFCM.mjs → SelectMenu-799c_Ils.mjs} +2 -2
- package/.output/server/chunks/build/{SelectMenu-BkyAHFCM.mjs.map → SelectMenu-799c_Ils.mjs.map} +1 -1
- package/.output/server/chunks/build/{Switch-htSKgC38.mjs → Switch-xQQ3_ME1.mjs} +2 -2
- package/.output/server/chunks/build/Switch-xQQ3_ME1.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-CnwAyvvS.mjs → _id_-B2yirIuA.mjs} +5 -4
- package/.output/server/chunks/build/{_id_-CnwAyvvS.mjs.map → _id_-B2yirIuA.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-BDqvTM9D.mjs → _id_-B4V5fop6.mjs} +5 -4
- package/.output/server/chunks/build/{_id_-BDqvTM9D.mjs.map → _id_-B4V5fop6.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-Dy67M9Dj.mjs → _id_-bWcP2xFl.mjs} +8 -7
- package/.output/server/chunks/build/{_id_-Dy67M9Dj.mjs.map → _id_-bWcP2xFl.mjs.map} +1 -1
- package/.output/server/chunks/build/about-CoJjvUwM.mjs +733 -0
- package/.output/server/chunks/build/about-CoJjvUwM.mjs.map +1 -0
- package/.output/server/chunks/build/{ai-V3YOh3yx.mjs → ai-7jdaPOmj.mjs} +6 -5
- package/.output/server/chunks/build/{ai-V3YOh3yx.mjs.map → ai-7jdaPOmj.mjs.map} +1 -1
- package/.output/server/chunks/build/{analytics-BBlAEmj5.mjs → analytics-B276WPeU.mjs} +7 -6
- package/.output/server/chunks/build/{analytics-BBlAEmj5.mjs.map → analytics-B276WPeU.mjs.map} +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/{default-BfMirIgG.mjs → default-BSzdkM_L.mjs} +9 -7
- package/.output/server/chunks/build/default-BSzdkM_L.mjs.map +1 -0
- package/.output/server/chunks/build/{docs-DtNcJCyb.mjs → docs-BN_x1OW3.mjs} +53 -8
- package/.output/server/chunks/build/{docs-DtNcJCyb.mjs.map → docs-BN_x1OW3.mjs.map} +1 -1
- package/.output/server/chunks/build/{edit-Dsf11mL5.mjs → edit-C9Z7oZeu.mjs} +5 -4
- package/.output/server/chunks/build/edit-C9Z7oZeu.mjs.map +1 -0
- package/.output/server/chunks/build/handleAndDispatchCustomEvent-Bk_AVSSo.mjs +13 -0
- package/.output/server/chunks/build/handleAndDispatchCustomEvent-Bk_AVSSo.mjs.map +1 -0
- package/.output/server/chunks/build/{index-DzEgjHlB.mjs → index-BK9PTRpd.mjs} +24 -8
- package/.output/server/chunks/build/{index-DzEgjHlB.mjs.map → index-BK9PTRpd.mjs.map} +1 -1
- package/.output/server/chunks/build/{index-BgpEKTSq.mjs → index-DVUtBexc.mjs} +9 -8
- package/.output/server/chunks/build/{index-BgpEKTSq.mjs.map → index-DVUtBexc.mjs.map} +1 -1
- package/.output/server/chunks/build/{mcp-CXwa3xU3.mjs → mcp-_o6cMS6m.mjs} +347 -158
- package/.output/server/chunks/build/mcp-_o6cMS6m.mjs.map +1 -0
- package/.output/server/chunks/build/{notifications-hJj8tbAT.mjs → notifications-Dzm9c0u_.mjs} +4 -3
- package/.output/server/chunks/build/notifications-Dzm9c0u_.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +17 -17
- package/.output/server/chunks/build/{settings-metadata-Cp0dx0vm.mjs → settings-metadata-B0wo5R-W.mjs} +3 -1
- package/.output/server/chunks/build/settings-metadata-B0wo5R-W.mjs.map +1 -0
- package/.output/server/chunks/build/{settings-Ci_7EXYQ.mjs → settings-pNyPBXVa.mjs} +4 -3
- package/.output/server/chunks/build/settings-pNyPBXVa.mjs.map +1 -0
- package/.output/server/chunks/build/{storage-CM-Pd-9E.mjs → storage-XelzuyPy.mjs} +16 -182
- package/.output/server/chunks/build/storage-XelzuyPy.mjs.map +1 -0
- package/.output/server/chunks/build/{test-cases-DkGQB027.mjs → test-cases-pmOxi-AN.mjs} +5 -4
- package/.output/server/chunks/build/test-cases-pmOxi-AN.mjs.map +1 -0
- package/.output/server/chunks/build/useFormControl-BLpq1s4O.mjs +9 -0
- package/.output/server/chunks/build/useFormControl-BLpq1s4O.mjs.map +1 -0
- package/.output/server/chunks/build/useIsDesktop-BS13spVj.mjs +9 -0
- package/.output/server/chunks/build/useIsDesktop-BS13spVj.mjs.map +1 -0
- package/.output/server/chunks/build/{useSettingsNav-D2knPCqF.mjs → useSettingsNav-NjI2seBy.mjs} +5 -3
- package/.output/server/chunks/build/useSettingsNav-NjI2seBy.mjs.map +1 -0
- package/.output/server/chunks/build/useTauri-lRT8zkLv.mjs +7 -0
- package/.output/server/chunks/build/useTauri-lRT8zkLv.mjs.map +1 -0
- package/.output/server/chunks/build/{virtualizer-0-UBy7xl.mjs → virtualizer-ZaqK4guJ.mjs} +3 -2
- package/.output/server/chunks/build/virtualizer-ZaqK4guJ.mjs.map +1 -0
- package/.output/server/chunks/build/{wasted-time-L4kBV5Nh.mjs → wasted-time-CguAF9zc.mjs} +2 -2
- package/.output/server/chunks/build/wasted-time-CguAF9zc.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +664 -649
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/B6Jp7fpa.js +0 -46
- package/.output/public/_nuxt/BP_SWi7S.js +0 -1
- package/.output/public/_nuxt/Bf62wdzp.js +0 -1
- package/.output/public/_nuxt/C219JuBV.js +0 -1
- package/.output/public/_nuxt/CCRRqXez.js +0 -1
- package/.output/public/_nuxt/CX1dcT4v.js +0 -1
- package/.output/public/_nuxt/CdME81ij.js +0 -2
- package/.output/public/_nuxt/Dsk4Ic18.js +0 -7
- package/.output/public/_nuxt/HoKG9cc2.js +0 -1
- package/.output/public/_nuxt/Kc7La4sL.js +0 -5
- package/.output/public/_nuxt/WctJXszi.js +0 -3
- package/.output/public/_nuxt/builds/meta/5182c9fb-56a6-4df2-9685-4020a08ce7a5.json +0 -1
- package/.output/public/_nuxt/entry.BsmKRJzR.css +0 -1
- package/.output/public/_nuxt/jIF87ALb.js +0 -1
- package/.output/server/chunks/build/Checkbox-7ZiMz60w.mjs.map +0 -1
- package/.output/server/chunks/build/CiEnvCard-DNxBVvx4.mjs.map +0 -1
- package/.output/server/chunks/build/ProjectTestCasesTable-9418EI8J.mjs.map +0 -1
- package/.output/server/chunks/build/Select-COwTIQlV.mjs.map +0 -1
- package/.output/server/chunks/build/Switch-htSKgC38.mjs.map +0 -1
- package/.output/server/chunks/build/about-FB9PYAHK.mjs +0 -313
- package/.output/server/chunks/build/about-FB9PYAHK.mjs.map +0 -1
- package/.output/server/chunks/build/default-BfMirIgG.mjs.map +0 -1
- package/.output/server/chunks/build/edit-Dsf11mL5.mjs.map +0 -1
- package/.output/server/chunks/build/mcp-CXwa3xU3.mjs.map +0 -1
- package/.output/server/chunks/build/notifications-hJj8tbAT.mjs.map +0 -1
- package/.output/server/chunks/build/settings-Ci_7EXYQ.mjs.map +0 -1
- package/.output/server/chunks/build/settings-metadata-Cp0dx0vm.mjs.map +0 -1
- package/.output/server/chunks/build/storage-CM-Pd-9E.mjs.map +0 -1
- package/.output/server/chunks/build/test-cases-DkGQB027.mjs.map +0 -1
- package/.output/server/chunks/build/useFormControl-DFTjniPG.mjs +0 -19
- package/.output/server/chunks/build/useFormControl-DFTjniPG.mjs.map +0 -1
- package/.output/server/chunks/build/useSettingsNav-D2knPCqF.mjs.map +0 -1
- package/.output/server/chunks/build/virtualizer-0-UBy7xl.mjs.map +0 -1
- package/.output/server/chunks/build/wasted-time-L4kBV5Nh.mjs.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a8 as S,v as N}from"./BPKwYP2Q.js";const y=43200,P=1440,k=Symbol.for("constructDateFrom");function D(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&k in e?e[k](t):e instanceof Date?new e.constructor(t):new Date(t)}function g(e,t){return D(e,e)}let $={};function F(){return $}function C(e){const t=g(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function x(e,...t){const n=D.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function w(e,t){const n=+g(e)-+g(t);return n<0?-1:n>0?1:n}function O(e){return D(e,Date.now())}function I(e,t,n){const[r,a]=x(n?.in,e,t),u=r.getFullYear()-a.getFullYear(),i=r.getMonth()-a.getMonth();return u*12+i}function L(e){return t=>{const r=(e?Math[e]:Math.trunc)(t);return r===0?0:r}}function j(e,t){return+g(e)-+g(t)}function _(e,t){const n=g(e);return n.setHours(23,59,59,999),n}function X(e,t){const n=g(e),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function z(e,t){const n=g(e);return+_(n)==+X(n)}function E(e,t,n){const[r,a,u]=x(n?.in,e,e,t),i=w(a,u),o=Math.abs(I(a,u));if(o<1)return 0;a.getMonth()===1&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-i*o);let c=w(a,u)===-i;z(r)&&o===1&&w(r,u)===1&&(c=!1);const l=i*(o-+c);return l===0?0:l}function B(e,t,n){const r=j(e,t)/1e3;return L(n?.roundingMethod)(r)}const R={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Y=(e,t,n)=>{let r;const a=R[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function v(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const H={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},U={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},V={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},q={date:v({formats:H,defaultWidth:"full"}),time:v({formats:U,defaultWidth:"full"}),dateTime:v({formats:V,defaultWidth:"full"})},J={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Q=(e,t,n,r)=>J[e];function p(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const i=e.defaultFormattingWidth||e.defaultWidth,o=n?.width?String(n.width):i;a=e.formattingValues[o]||e.formattingValues[i]}else{const i=e.defaultWidth,o=n?.width?String(n.width):e.defaultWidth;a=e.values[o]||e.values[i]}const u=e.argumentCallback?e.argumentCallback(t):t;return a[u]}}const G={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},K={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Z={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},ee={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},te={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},ne={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},re=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},ae={ordinalNumber:re,era:p({values:G,defaultWidth:"wide"}),quarter:p({values:K,defaultWidth:"wide",argumentCallback:e=>e-1}),month:p({values:Z,defaultWidth:"wide"}),day:p({values:ee,defaultWidth:"wide"}),dayPeriod:p({values:te,defaultWidth:"wide",formattingValues:ne,defaultFormattingWidth:"wide"})};function b(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],u=t.match(a);if(!u)return null;const i=u[0],o=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(o)?ie(o,m=>m.test(i)):oe(o,m=>m.test(i));let l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;const d=t.slice(i.length);return{value:l,rest:d}}}function oe(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function ie(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function se(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],u=t.match(e.parsePattern);if(!u)return null;let i=e.valueCallback?e.valueCallback(u[0]):u[0];i=n.valueCallback?n.valueCallback(i):i;const o=t.slice(a.length);return{value:i,rest:o}}}const ue=/^(\d+)(th|st|nd|rd)?/i,ce=/\d+/i,le={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},fe={any:[/^b/i,/^(a|c)/i]},de={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},me={any:[/1/i,/2/i,/3/i,/4/i]},he={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},ge={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},pe={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},be={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},ye={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},we={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Me={ordinalNumber:se({matchPattern:ue,parsePattern:ce,valueCallback:e=>parseInt(e,10)}),era:b({matchPatterns:le,defaultMatchWidth:"wide",parsePatterns:fe,defaultParseWidth:"any"}),quarter:b({matchPatterns:de,defaultMatchWidth:"wide",parsePatterns:me,defaultParseWidth:"any",valueCallback:e=>e+1}),month:b({matchPatterns:he,defaultMatchWidth:"wide",parsePatterns:ge,defaultParseWidth:"any"}),day:b({matchPatterns:pe,defaultMatchWidth:"wide",parsePatterns:be,defaultParseWidth:"any"}),dayPeriod:b({matchPatterns:ye,defaultMatchWidth:"any",parsePatterns:we,defaultParseWidth:"any"})},T={code:"en-US",formatDistance:Y,formatLong:q,formatRelative:Q,localize:ae,match:Me,options:{weekStartsOn:0,firstWeekContainsDate:1}};function ve(e,t,n){const r=F(),a=n?.locale??r.locale??T,u=2520,i=w(e,t);if(isNaN(i))throw new RangeError("Invalid time value");const o=Object.assign({},n,{addSuffix:n?.addSuffix,comparison:i}),[c,l]=x(n?.in,...i>0?[t,e]:[e,t]),d=B(l,c),m=(C(l)-C(c))/1e3,f=Math.round((d-m)/60);let s;if(f<2)return n?.includeSeconds?d<5?a.formatDistance("lessThanXSeconds",5,o):d<10?a.formatDistance("lessThanXSeconds",10,o):d<20?a.formatDistance("lessThanXSeconds",20,o):d<40?a.formatDistance("halfAMinute",0,o):d<60?a.formatDistance("lessThanXMinutes",1,o):a.formatDistance("xMinutes",1,o):f===0?a.formatDistance("lessThanXMinutes",1,o):a.formatDistance("xMinutes",f,o);if(f<45)return a.formatDistance("xMinutes",f,o);if(f<90)return a.formatDistance("aboutXHours",1,o);if(f<P){const h=Math.round(f/60);return a.formatDistance("aboutXHours",h,o)}else{if(f<u)return a.formatDistance("xDays",1,o);if(f<y){const h=Math.round(f/P);return a.formatDistance("xDays",h,o)}else if(f<y*2)return s=Math.round(f/y),a.formatDistance("aboutXMonths",s,o)}if(s=E(l,c),s<12){const h=Math.round(f/y);return a.formatDistance("xMonths",h,o)}else{const h=s%12,M=Math.trunc(s/12);return h<3?a.formatDistance("aboutXYears",M,o):h<9?a.formatDistance("overXYears",M,o):a.formatDistance("almostXYears",M+1,o)}}function De(e,t){return ve(e,O(e),t)}const xe=["years","months","weeks","days","hours","minutes","seconds"];function Se(e,t){const r=F().locale??T,a=xe,u=" ";return r.formatDistance?a.reduce((o,c)=>{const l=`x${c.replace(/(^.)/,m=>m.toUpperCase())}`,d=e[c];return d!==void 0&&e[c]?o.concat(r.formatDistance(l,d)):o},[]).join(u):""}function Ae(e){return({column:t})=>{const n=t.getIsSorted();return S("button",{class:"flex items-center gap-1 font-semibold select-none cursor-pointer hover:text-highlighted transition-colors",onClick:()=>t.toggleSorting()},[e,S(N,{name:n==="asc"?"i-lucide-chevron-up":n==="desc"?"i-lucide-chevron-down":"i-lucide-chevrons-up-down",class:["shrink-0 size-3.5",!n&&"opacity-40"]})])}}function Ne(e){if(!e||e===0)return"0 B";const t=1024,n=["B","KB","MB","GB","TB"],r=Math.floor(Math.log(e)/Math.log(t));return`${(e/Math.pow(t,r)).toFixed(2)} ${n[r]}`}function $e(e,t={}){if(e==null||e==="")return"N/A";let n;if(e instanceof Date)n=e;else{const r=typeof e=="number"?e:Number(e);!Number.isNaN(r)&&String(e).trim()!==""?n=new Date(r<1e12?r*1e3:r):n=new Date(e)}return Number.isNaN(n.getTime())?"N/A":t.dateOnly?n.toLocaleDateString():n.toLocaleString()}function Oe(e){return e?De(new Date(e),{addSuffix:!0}):"N/A"}function Ie(e){if(e==null)return"N/A";const t=Math.round(Math.abs(e));return t===0?"0 seconds":(e<0?"−":"")+Se({seconds:t/1e3})}function Le(e){if(e==null)return null;const t=Math.round(Math.abs(e)),n=e<0?"−":"";if(t<1e3)return{value:n+t,unit:"ms"};const r=t/1e3;return r<60?{value:n+Math.round(r*10)/10,unit:"s"}:{value:n+Math.round(r/60*10)/10,unit:"m"}}function je(e){switch(e){case"html":return"i-lucide-layout-dashboard";case"monocart":return"i-lucide-bar-chart-2";case"blob":return"i-lucide-download";default:return"i-lucide-file-text"}}function _e(e){if(!e)return"i-lucide-globe";const t=e.toLowerCase();return t.includes("chrome")||t.includes("chromium")?"i-simple-icons-googlechrome":t.includes("firefox")?"i-simple-icons-firefoxbrowser":t.includes("safari")||t.includes("webkit")?"i-simple-icons-safari":t.includes("edge")?"i-simple-icons-microsoftedge":"i-lucide-globe"}function Xe(e){if(!e)return"#6b7280";const t=e.toLowerCase();return t.includes("chrome")||t.includes("chromium")?"#4285F4":t.includes("firefox")?"#FF7139":t.includes("safari")||t.includes("webkit")?"#007AFF":t.includes("edge")?"#0078D7":"#6b7280"}function Pe(e){switch(e){case"passed":return"success";case"failed":return"error";case"timedout":return"warning";case"timedOut":return"warning";case"interrupted":return"warning";case"cancelled":return"neutral";case"initialising":return"info";case"running":return"info";case"finalizing":return"info";default:return"neutral"}}function ze(e){return e==="timedOut"||e==="timedout"?"failed":e==="didnotrun"?"didn't run":e==="never-run"?"never run":e}function Ee(e){return e&&{open:"warning",resolved:"success",ignored:"neutral"}[e]||"neutral"}function Be(e){return e&&{timeout:"warning",assertion:"error","strict-mode":"info",navigation:"secondary",crash:"error",unknown:"neutral"}[e]||"neutral"}function Re(){const e=Math.floor(Math.random()*360),t=65,n=50,r=(1-Math.abs(2*n/100-1))*t/100,a=r*(1-Math.abs(e/60%2-1)),u=n/100-r/2;let i=0,o=0,c=0;e<60?(i=r,o=a):e<120?(i=a,o=r):e<180?(o=r,c=a):e<240?(o=a,c=r):e<300?(i=a,c=r):(i=r,c=a);const l=d=>Math.round((d+u)*255).toString(16).padStart(2,"0");return`#${l(i)}${l(o)}${l(c)}`}function A(e){return!e.startsWith(".")&&!e.startsWith("/")?e:e.replace(".data/storage/","")}function Ye(e,t,n="/"){let a=`${(n||"/").replace(/\/$/,"")}/api/files/${A(e)}`;const u=/\.[a-z0-9]+$/i.test(e);return t&&!u&&(a+=`?contentType=${encodeURIComponent(t)}`),a}function He(e,t="/",n=!1){const r=(t||"/").replace(/\/$/,""),i=`${typeof location>"u"?"":location.origin}${r}/${n?"":"api/files/"}${A(e)}`;return`${r}/trace-viewer/?trace=${encodeURIComponent(i)}`}function Ue(e,t="Unknown error"){if(e&&typeof e=="object"){const n=e;return n.data?.message??n.message??t}return t}function Ve(e,t){const n=t.trim().toLowerCase();return n?e.filter(r=>r.message.toLowerCase().includes(n)||r.author.toLowerCase().includes(n)||r.sha.includes(n)||r.shortSha.includes(n)):e}function qe(e){switch(e){case"added":return{icon:"i-lucide-file-plus",color:"text-green-500",badgeColor:"success"};case"removed":return{icon:"i-lucide-file-minus",color:"text-red-500",badgeColor:"error"};case"renamed":return{icon:"i-lucide-file-symlink",color:"text-blue-500",badgeColor:"info"};default:return{icon:"i-lucide-file-pen-line",color:"text-gray-400",badgeColor:"neutral"}}}const Je={add:"bg-green-50 dark:bg-green-950/30 text-green-800 dark:text-green-300",remove:"bg-red-50 dark:bg-red-950/30 text-red-800 dark:text-red-300",hunk:"bg-blue-50 dark:bg-blue-950/20 text-blue-500 dark:text-blue-400",context:"text-gray-600 dark:text-gray-400"};function Qe(e){return e.split(`
|
|
1
|
+
import{a8 as S,v as N}from"./D3SYPlEB.js";const y=43200,P=1440,k=Symbol.for("constructDateFrom");function D(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&k in e?e[k](t):e instanceof Date?new e.constructor(t):new Date(t)}function g(e,t){return D(e,e)}let $={};function F(){return $}function C(e){const t=g(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function x(e,...t){const n=D.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function w(e,t){const n=+g(e)-+g(t);return n<0?-1:n>0?1:n}function O(e){return D(e,Date.now())}function I(e,t,n){const[r,a]=x(n?.in,e,t),u=r.getFullYear()-a.getFullYear(),i=r.getMonth()-a.getMonth();return u*12+i}function L(e){return t=>{const r=(e?Math[e]:Math.trunc)(t);return r===0?0:r}}function j(e,t){return+g(e)-+g(t)}function _(e,t){const n=g(e);return n.setHours(23,59,59,999),n}function X(e,t){const n=g(e),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function z(e,t){const n=g(e);return+_(n)==+X(n)}function E(e,t,n){const[r,a,u]=x(n?.in,e,e,t),i=w(a,u),o=Math.abs(I(a,u));if(o<1)return 0;a.getMonth()===1&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-i*o);let c=w(a,u)===-i;z(r)&&o===1&&w(r,u)===1&&(c=!1);const l=i*(o-+c);return l===0?0:l}function B(e,t,n){const r=j(e,t)/1e3;return L(n?.roundingMethod)(r)}const R={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Y=(e,t,n)=>{let r;const a=R[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function v(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const H={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},U={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},V={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},q={date:v({formats:H,defaultWidth:"full"}),time:v({formats:U,defaultWidth:"full"}),dateTime:v({formats:V,defaultWidth:"full"})},J={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Q=(e,t,n,r)=>J[e];function p(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const i=e.defaultFormattingWidth||e.defaultWidth,o=n?.width?String(n.width):i;a=e.formattingValues[o]||e.formattingValues[i]}else{const i=e.defaultWidth,o=n?.width?String(n.width):e.defaultWidth;a=e.values[o]||e.values[i]}const u=e.argumentCallback?e.argumentCallback(t):t;return a[u]}}const G={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},K={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Z={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},ee={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},te={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},ne={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},re=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},ae={ordinalNumber:re,era:p({values:G,defaultWidth:"wide"}),quarter:p({values:K,defaultWidth:"wide",argumentCallback:e=>e-1}),month:p({values:Z,defaultWidth:"wide"}),day:p({values:ee,defaultWidth:"wide"}),dayPeriod:p({values:te,defaultWidth:"wide",formattingValues:ne,defaultFormattingWidth:"wide"})};function b(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],u=t.match(a);if(!u)return null;const i=u[0],o=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(o)?ie(o,m=>m.test(i)):oe(o,m=>m.test(i));let l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;const d=t.slice(i.length);return{value:l,rest:d}}}function oe(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function ie(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function se(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],u=t.match(e.parsePattern);if(!u)return null;let i=e.valueCallback?e.valueCallback(u[0]):u[0];i=n.valueCallback?n.valueCallback(i):i;const o=t.slice(a.length);return{value:i,rest:o}}}const ue=/^(\d+)(th|st|nd|rd)?/i,ce=/\d+/i,le={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},fe={any:[/^b/i,/^(a|c)/i]},de={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},me={any:[/1/i,/2/i,/3/i,/4/i]},he={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},ge={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},pe={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},be={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},ye={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},we={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Me={ordinalNumber:se({matchPattern:ue,parsePattern:ce,valueCallback:e=>parseInt(e,10)}),era:b({matchPatterns:le,defaultMatchWidth:"wide",parsePatterns:fe,defaultParseWidth:"any"}),quarter:b({matchPatterns:de,defaultMatchWidth:"wide",parsePatterns:me,defaultParseWidth:"any",valueCallback:e=>e+1}),month:b({matchPatterns:he,defaultMatchWidth:"wide",parsePatterns:ge,defaultParseWidth:"any"}),day:b({matchPatterns:pe,defaultMatchWidth:"wide",parsePatterns:be,defaultParseWidth:"any"}),dayPeriod:b({matchPatterns:ye,defaultMatchWidth:"any",parsePatterns:we,defaultParseWidth:"any"})},T={code:"en-US",formatDistance:Y,formatLong:q,formatRelative:Q,localize:ae,match:Me,options:{weekStartsOn:0,firstWeekContainsDate:1}};function ve(e,t,n){const r=F(),a=n?.locale??r.locale??T,u=2520,i=w(e,t);if(isNaN(i))throw new RangeError("Invalid time value");const o=Object.assign({},n,{addSuffix:n?.addSuffix,comparison:i}),[c,l]=x(n?.in,...i>0?[t,e]:[e,t]),d=B(l,c),m=(C(l)-C(c))/1e3,f=Math.round((d-m)/60);let s;if(f<2)return n?.includeSeconds?d<5?a.formatDistance("lessThanXSeconds",5,o):d<10?a.formatDistance("lessThanXSeconds",10,o):d<20?a.formatDistance("lessThanXSeconds",20,o):d<40?a.formatDistance("halfAMinute",0,o):d<60?a.formatDistance("lessThanXMinutes",1,o):a.formatDistance("xMinutes",1,o):f===0?a.formatDistance("lessThanXMinutes",1,o):a.formatDistance("xMinutes",f,o);if(f<45)return a.formatDistance("xMinutes",f,o);if(f<90)return a.formatDistance("aboutXHours",1,o);if(f<P){const h=Math.round(f/60);return a.formatDistance("aboutXHours",h,o)}else{if(f<u)return a.formatDistance("xDays",1,o);if(f<y){const h=Math.round(f/P);return a.formatDistance("xDays",h,o)}else if(f<y*2)return s=Math.round(f/y),a.formatDistance("aboutXMonths",s,o)}if(s=E(l,c),s<12){const h=Math.round(f/y);return a.formatDistance("xMonths",h,o)}else{const h=s%12,M=Math.trunc(s/12);return h<3?a.formatDistance("aboutXYears",M,o):h<9?a.formatDistance("overXYears",M,o):a.formatDistance("almostXYears",M+1,o)}}function De(e,t){return ve(e,O(e),t)}const xe=["years","months","weeks","days","hours","minutes","seconds"];function Se(e,t){const r=F().locale??T,a=xe,u=" ";return r.formatDistance?a.reduce((o,c)=>{const l=`x${c.replace(/(^.)/,m=>m.toUpperCase())}`,d=e[c];return d!==void 0&&e[c]?o.concat(r.formatDistance(l,d)):o},[]).join(u):""}function Ae(e){return({column:t})=>{const n=t.getIsSorted();return S("button",{class:"flex items-center gap-1 font-semibold select-none cursor-pointer hover:text-highlighted transition-colors",onClick:()=>t.toggleSorting()},[e,S(N,{name:n==="asc"?"i-lucide-chevron-up":n==="desc"?"i-lucide-chevron-down":"i-lucide-chevrons-up-down",class:["shrink-0 size-3.5",!n&&"opacity-40"]})])}}function Ne(e){if(!e||e===0)return"0 B";const t=1024,n=["B","KB","MB","GB","TB"],r=Math.floor(Math.log(e)/Math.log(t));return`${(e/Math.pow(t,r)).toFixed(2)} ${n[r]}`}function $e(e,t={}){if(e==null||e==="")return"N/A";let n;if(e instanceof Date)n=e;else{const r=typeof e=="number"?e:Number(e);!Number.isNaN(r)&&String(e).trim()!==""?n=new Date(r<1e12?r*1e3:r):n=new Date(e)}return Number.isNaN(n.getTime())?"N/A":t.dateOnly?n.toLocaleDateString():n.toLocaleString()}function Oe(e){return e?De(new Date(e),{addSuffix:!0}):"N/A"}function Ie(e){if(e==null)return"N/A";const t=Math.round(Math.abs(e));return t===0?"0 seconds":(e<0?"−":"")+Se({seconds:t/1e3})}function Le(e){if(e==null)return null;const t=Math.round(Math.abs(e)),n=e<0?"−":"";if(t<1e3)return{value:n+t,unit:"ms"};const r=t/1e3;return r<60?{value:n+Math.round(r*10)/10,unit:"s"}:{value:n+Math.round(r/60*10)/10,unit:"m"}}function je(e){switch(e){case"html":return"i-lucide-layout-dashboard";case"monocart":return"i-lucide-bar-chart-2";case"blob":return"i-lucide-download";default:return"i-lucide-file-text"}}function _e(e){if(!e)return"i-lucide-globe";const t=e.toLowerCase();return t.includes("chrome")||t.includes("chromium")?"i-simple-icons-googlechrome":t.includes("firefox")?"i-simple-icons-firefoxbrowser":t.includes("safari")||t.includes("webkit")?"i-simple-icons-safari":t.includes("edge")?"i-simple-icons-microsoftedge":"i-lucide-globe"}function Xe(e){if(!e)return"#6b7280";const t=e.toLowerCase();return t.includes("chrome")||t.includes("chromium")?"#4285F4":t.includes("firefox")?"#FF7139":t.includes("safari")||t.includes("webkit")?"#007AFF":t.includes("edge")?"#0078D7":"#6b7280"}function Pe(e){switch(e){case"passed":return"success";case"failed":return"error";case"timedout":return"warning";case"timedOut":return"warning";case"interrupted":return"warning";case"cancelled":return"neutral";case"initialising":return"info";case"running":return"info";case"finalizing":return"info";default:return"neutral"}}function ze(e){return e==="timedOut"||e==="timedout"?"failed":e==="didnotrun"?"didn't run":e==="never-run"?"never run":e}function Ee(e){return e&&{open:"warning",resolved:"success",ignored:"neutral"}[e]||"neutral"}function Be(e){return e&&{timeout:"warning",assertion:"error","strict-mode":"info",navigation:"secondary",crash:"error",unknown:"neutral"}[e]||"neutral"}function Re(){const e=Math.floor(Math.random()*360),t=65,n=50,r=(1-Math.abs(2*n/100-1))*t/100,a=r*(1-Math.abs(e/60%2-1)),u=n/100-r/2;let i=0,o=0,c=0;e<60?(i=r,o=a):e<120?(i=a,o=r):e<180?(o=r,c=a):e<240?(o=a,c=r):e<300?(i=a,c=r):(i=r,c=a);const l=d=>Math.round((d+u)*255).toString(16).padStart(2,"0");return`#${l(i)}${l(o)}${l(c)}`}function A(e){return!e.startsWith(".")&&!e.startsWith("/")?e:e.replace(".data/storage/","")}function Ye(e,t,n="/"){let a=`${(n||"/").replace(/\/$/,"")}/api/files/${A(e)}`;const u=/\.[a-z0-9]+$/i.test(e);return t&&!u&&(a+=`?contentType=${encodeURIComponent(t)}`),a}function He(e,t="/",n=!1){const r=(t||"/").replace(/\/$/,""),i=`${typeof location>"u"?"":location.origin}${r}/${n?"":"api/files/"}${A(e)}`;return`${r}/trace-viewer/?trace=${encodeURIComponent(i)}`}function Ue(e,t="Unknown error"){if(e&&typeof e=="object"){const n=e;return n.data?.message??n.message??t}return t}function Ve(e,t){const n=t.trim().toLowerCase();return n?e.filter(r=>r.message.toLowerCase().includes(n)||r.author.toLowerCase().includes(n)||r.sha.includes(n)||r.shortSha.includes(n)):e}function qe(e){switch(e){case"added":return{icon:"i-lucide-file-plus",color:"text-green-500",badgeColor:"success"};case"removed":return{icon:"i-lucide-file-minus",color:"text-red-500",badgeColor:"error"};case"renamed":return{icon:"i-lucide-file-symlink",color:"text-blue-500",badgeColor:"info"};default:return{icon:"i-lucide-file-pen-line",color:"text-gray-400",badgeColor:"neutral"}}}const Je={add:"bg-green-50 dark:bg-green-950/30 text-green-800 dark:text-green-300",remove:"bg-red-50 dark:bg-red-950/30 text-red-800 dark:text-red-300",hunk:"bg-blue-50 dark:bg-blue-950/20 text-blue-500 dark:text-blue-400",context:"text-gray-600 dark:text-gray-400"};function Qe(e){return e.split(`
|
|
2
2
|
`).map(t=>t.startsWith("+")&&!t.startsWith("+++")?{type:"add",text:t}:t.startsWith("-")&&!t.startsWith("---")?{type:"remove",text:t}:t.startsWith("@@")?{type:"hunk",text:t}:{type:"context",text:t})}const ke="\x1B",Ce={30:"#000000",31:"#dc2626",32:"#16a34a",33:"#d97706",34:"#2563eb",35:"#9333ea",36:"#0891b2",37:"#9ca3af"},We={40:"#000000",41:"#dc2626",42:"#16a34a",43:"#d97706",44:"#2563eb",45:"#9333ea",46:"#0891b2",47:"#9ca3af"},W=new RegExp(`${ke}\\[([0-9;]*)m`,"g");function Fe(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Ge(e){const t=[];let n=0,r,a,u=!1,i=!1,o=!1,c=!1;const l=f=>{if(!f)return;const s=[];u&&s.push("font-weight:600"),i&&s.push("opacity:.7"),o&&s.push("font-style:italic"),c&&s.push("text-decoration:underline"),r&&s.push(`color:${r}`),a&&s.push(`background:${a}`);const h=Fe(f);t.push(s.length?`<span style="${s.join(";")}">${h}</span>`:h)},d=f=>{for(const s of f)s===0?(r=void 0,a=void 0,u=!1,i=!1,o=!1,c=!1):s===1?u=!0:s===2?i=!0:s===3?o=!0:s===4?c=!0:s===22?(u=!1,i=!1):s===23?o=!1:s===24?c=!1:s>=30&&s<=37?r=Ce[s]:s===39?r=void 0:s>=40&&s<=47?a=We[s]:s===49&&(a=void 0)};let m;for(;(m=W.exec(e))!==null;){l(e.slice(n,m.index)),n=W.lastIndex;const f=m[1]?m[1].split(";").map(Number):[0];d(f)}return l(e.slice(n)),t.join("")}function Ke(e,t=120){if(!e)return"";const n=e.replace(/\n/g," · ");return n.length<=t?n:n.slice(0,t)+"…"}function Ze(e){return e.totalTests>0?Math.round(e.passedTests/e.totalTests*100):0}function et(e){return e==="flaky"?"warning":e==="never-run"?"neutral":e==="didnotrun"?"warning":Pe(e)}function tt(e){switch(e.toUpperCase()){case"GET":return"info";case"POST":return"success";case"DELETE":return"error";case"PUT":case"PATCH":return"warning";default:return"neutral"}}function nt(e){return!e||e<=0?"neutral":e>=500?"error":e>=400?"warning":"success"}export{Re as A,Ze as B,Ee as a,Ve as b,Be as c,Ke as d,Ue as e,Oe as f,Ae as g,Ie as h,Pe as i,ze as j,Ne as k,Ye as l,tt as m,nt as n,Le as o,$e as p,Je as q,Ge as r,qe as s,et as t,Qe as u,He as v,A as w,je as x,_e as y,Xe as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as L}from"./D51_cB9D.js";import{d as M,b as z,w as I,c as u,i as t,k as s,f as O,q as w,j as a,g as r,F as x,P as j,o as c,v as A,m as p,y as N,t as i,_ as q,l as W,r as y}from"./D3SYPlEB.js";import{_ as G}from"./AjuKBlzz.js";import{_ as H}from"./empGC_x-.js";import{_ as J}from"./CCsl9MOZ.js";import{_ as K}from"./Db_-yjYg.js";import{_ as Q}from"./l0QnzFNM.js";import{k as B}from"./BUMZHDRC.js";import{e as X,g as Y}from"./C8cz5feG.js";import{u as Z}from"./Doul3p1_.js";import"./D3MWm6JP.js";import"./CCw3Tx4S.js";import"./DoFSKAvY.js";import"./Cx65B3c3.js";import"./BAkJhSAW.js";import"./r3SBLxtE.js";const ee={class:"space-y-6"},te={class:"space-y-3"},se={class:"flex items-center gap-2 text-sm text-muted"},oe={class:"grid grid-cols-1 sm:grid-cols-2 gap-2 text-sm"},ae={class:"text-muted"},ne={class:"flex items-center gap-2 font-mono"},le={class:"text-xs"},ie={key:0,class:"flex items-center gap-2 py-4 text-muted"},re={key:1,class:"grid grid-cols-2 sm:grid-cols-3 gap-4"},de={class:"space-y-1"},ce={class:"text-2xl font-semibold"},me={class:"space-y-1"},ue={class:"text-2xl font-semibold"},pe={class:"space-y-1"},_e={class:"text-2xl font-semibold"},fe={class:"space-y-1"},ge={class:"text-2xl font-semibold"},ve={class:"space-y-1"},xe={class:"text-2xl font-semibold"},ye={class:"space-y-1"},be={class:"text-2xl font-semibold"},he={class:"space-y-1"},Ce={class:"text-2xl font-semibold"},ke={class:"flex flex-col sm:flex-row items-start sm:items-center gap-4"},je=M({__name:"storage",async setup(Se){let _,b;const h=z(),{data:n,refresh:C,pending:k}=([_,b]=I(()=>Z("/api/admin/stats","$-MAlPFSlMr")),_=await _,b(),_),$=X("storage").map(o=>({name:o,...Y(o)})),T=[{label:"7 days",value:7},{label:"14 days",value:14},{label:"30 days",value:30},{label:"60 days",value:60},{label:"90 days",value:90},{label:"180 days",value:180},{label:"1 year",value:365}],d=y(30),m=y(!1),f=y(!1);async function V(){m.value=!1,f.value=!0;try{const o=await $fetch("/api/admin/cleanup",{method:"DELETE",body:{olderThanDays:d.value}});h.add({title:"Cleanup complete",description:`Deleted ${o.deletedRuns} test run(s) older than ${d.value} days.`,color:"success"}),await C()}catch(o){const e=o&&typeof o=="object"&&"data"in o?o.data?.message:void 0;h.add({title:"Cleanup failed",description:e||"An error occurred",color:"error"})}finally{f.value=!1}}return(o,e)=>{const D=L,S=A,E=G,v=H,g=q,F=J,P=K,R=Q,U=j;return c(),u(x,null,[t("div",ee,[s(n)?(c(),O(D,{key:0,database:s(n).databaseLocation,storage:s(n).storageLocation},null,8,["database","storage"])):w("",!0),a(v,{icon:"i-lucide-server",title:"Storage backend",help:"settings.storage-backend"},{subtitle:r(()=>[...e[5]||(e[5]=[p(" Configured through environment variables. The active backend is shown read-only. ",-1)])]),default:r(()=>[t("div",te,[t("div",se,[a(S,{name:"i-lucide-info",class:"size-4"}),e[6]||(e[6]=p(" Storage backend selection (local disk or S3) and its credentials are set via the environment. Each variable below is shown read-only — hover the lock to see what it controls. ",-1))]),t("div",oe,[(c(!0),u(x,null,N(s($),l=>(c(),u(x,{key:l.name},[t("div",ae,i(l.name.replace("PIWI_S3_","S3 ").replace("PIWI_STORAGE_","Storage ")),1),t("div",ne,[t("code",le,i(l.name),1),a(E,{"env-vars":[l.name]},null,8,["env-vars"])])],64))),128))])])]),_:1}),a(v,{icon:"i-lucide-database",title:"Storage statistics",help:"settings.storage-stats"},{footer:r(()=>[a(g,{icon:"i-lucide-refresh-cw",variant:"outline",size:"sm",loading:s(k),label:"Refresh",onClick:e[0]||(e[0]=l=>s(C)())},null,8,["loading"])]),default:r(()=>[s(k)?(c(),u("div",ie,[a(S,{name:"i-lucide-loader-2",class:"animate-spin"}),e[7]||(e[7]=p(" Loading… ",-1))])):s(n)?(c(),u("div",re,[t("div",de,[e[8]||(e[8]=t("p",{class:"text-sm text-muted"},"Projects",-1)),t("p",ce,i(s(n).totalProjects),1)]),t("div",me,[e[9]||(e[9]=t("p",{class:"text-sm text-muted"},"Test runs",-1)),t("p",ue,i(s(n).totalRuns),1)]),t("div",pe,[e[10]||(e[10]=t("p",{class:"text-sm text-muted"},"Test cases (unique)",-1)),t("p",_e,i(s(n).totalTestCases),1)]),t("div",fe,[e[11]||(e[11]=t("p",{class:"text-sm text-muted"},"Test results",-1)),t("p",ge,i(s(n).totalRunsCases),1)]),t("div",ve,[e[12]||(e[12]=t("p",{class:"text-sm text-muted"},"Stored files",-1)),t("p",xe,i(s(n).totalFiles),1)]),t("div",ye,[e[13]||(e[13]=t("p",{class:"text-sm text-muted"},"File size (DB)",-1)),t("p",be,i(("formatBytes"in o?o.formatBytes:s(B))(s(n).totalFileSize)),1)]),t("div",he,[e[14]||(e[14]=t("p",{class:"text-sm text-muted"},"Storage on disk",-1)),t("p",Ce,i(("formatBytes"in o?o.formatBytes:s(B))(s(n).storageSizeOnDisk)),1)])])):w("",!0)]),_:1}),a(v,{icon:"i-lucide-trash-2",title:"Cleanup old test runs",help:"settings.cleanup"},{default:r(()=>[t("div",ke,[a(P,{label:"Delete runs older than",name:"period"},{default:r(()=>[a(F,{modelValue:s(d),"onUpdate:modelValue":e[1]||(e[1]=l=>W(d)?d.value=l:null),items:T},null,8,["modelValue"])]),_:1}),a(g,{icon:"i-lucide-trash-2",color:"error",variant:"soft",loading:s(f),label:"Run cleanup",class:"mt-4 sm:mt-5",onClick:e[2]||(e[2]=l=>m.value=!0)},null,8,["loading"])])]),_:1})]),a(U,null,{default:r(()=>[a(R,{open:s(m),title:"Confirm cleanup","onUpdate:open":e[4]||(e[4]=l=>m.value=l)},{body:r(()=>[t("p",null,[e[15]||(e[15]=p(" This will permanently delete all test runs older than ",-1)),t("strong",null,i(s(d))+" days",1),e[16]||(e[16]=p(", along with their associated reports, traces, and test results. This action cannot be undone. ",-1))])]),footer:r(()=>[a(g,{color:"neutral",variant:"ghost",label:"Cancel",onClick:e[3]||(e[3]=l=>m.value=!1)}),a(g,{color:"error",label:"Delete",icon:"i-lucide-trash-2",loading:s(f),onClick:V},null,8,["loading"])]),_:1},8,["open"])]),_:1})],64)}}});export{je as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as oe}from"./
|
|
1
|
+
import{_ as oe}from"./C8cz5feG.js";import{_ as se}from"./B6IHiVa1.js";import{d as ne,b as le,u as ie,a as re,w as de,B as ce,C as ue,c,k as t,f as p,g as o,F as R,j as s,aa as me,q as w,o as l,i as d,m as r,D as pe,l as E,_ as fe,v as ye,t as H,y as ge,s as ve,h as $,r as u,K as we}from"./D3SYPlEB.js";import{_ as _e}from"./Db_-yjYg.js";import{_ as ke}from"./empGC_x-.js";import{u as he}from"./Doul3p1_.js";import"./r3SBLxtE.js";import"./D3MWm6JP.js";import"./BAkJhSAW.js";import"./DoFSKAvY.js";const xe={class:"space-y-6"},be={class:"inline-flex items-center gap-1.5"},Pe={class:"flex justify-end"},Ce={class:"space-y-3"},Ve={key:0,class:"flex items-center gap-2 text-sm text-success-600 dark:text-success-400"},Ee={key:1,class:"flex items-center gap-2 text-sm text-warning-600 dark:text-warning-400"},$e={key:2,class:"text-xs text-gray-400"},Se={class:"flex justify-end"},Ae={class:"space-y-3"},Ue={class:"flex items-center gap-2 text-sm"},Be={key:1,class:"text-xs text-gray-400",title:"Set a password first to keep a way to sign in"},Fe={key:2,class:"text-xs text-gray-400"},Ne={class:"space-y-4"},Te={class:"flex justify-end"},qe={class:"text-sm text-gray-500"},Ke=ne({__name:"account",async setup(ze){let S,I;const i=le(),y=ie(),L=re(),U=we(),{data:m,refresh:A}=([S,I]=de(()=>he("/api/auth/me","$lZCnZ7VEtB")),S=await S,I(),S),g=$(()=>m.value?.user?.oauthProvider??null),O=$(()=>!!m.value?.user?.hasPassword),_=$(()=>!!g.value&&!O.value),B={google:{label:"Google",icon:"i-lucide-chrome"},github:{label:"GitHub",icon:"i-lucide-github"}},j=$(()=>U.public.demoMode?[]:(U.public.oauthProviders||[]).filter(a=>B[a])),k=u(""),F=u(!1),h=u(""),N=u(!1),T=u(!1),x=u(""),f=u(""),b=u(""),q=u(!1),z=u("");ce(()=>m.value?.user,a=>{a&&(k.value=a.name||"",h.value=a.email||"")},{immediate:!0});const M={"already-linked":"That provider account is already linked to another user.","link-requires-login":"Please sign in before connecting a provider.","domain-not-allowed":"That account’s email domain is not allowed.","org-not-allowed":"You are not a member of an allowed organization.","invalid-state":"Connecting failed (invalid state). Please try again.","access-denied":"Authorization was cancelled.","oauth-failed":"Connecting the provider failed."};ue(()=>{y.query.verified&&i.add({title:"Email verified",color:"success"}),y.query.linked&&(i.add({title:"Account connected",color:"success"}),A());const a=y.query.error;a&&i.add({title:"Could not connect account",description:M[a]||"Please try again.",color:"error"}),(y.query.linked||y.query.error||y.query.verified)&&L.replace({query:{}})});async function Y(){F.value=!0;try{await $fetch(`/api/users/${m.value?.user?.id}`,{method:"PATCH",body:{name:k.value||null}}),await A(),i.add({title:"Display name updated",color:"success"})}catch(a){i.add({title:"Failed to update display name",description:String(a?.message??a),color:"error"})}finally{F.value=!1}}async function G(){N.value=!0;try{await $fetch(`/api/users/${m.value?.user?.id}`,{method:"PATCH",body:{email:h.value||null}}),await A(),i.add({title:"Email updated",color:"success"})}catch(a){i.add({title:"Failed to update email",description:String(a?.message??a),color:"error"})}finally{N.value=!1}}async function K(){T.value=!0;try{await $fetch("/api/auth/send-verify-email",{method:"POST"}),i.add({title:"Verification email sent",description:"Check your inbox.",color:"success"})}catch(a){i.add({title:"Failed to send verification",description:String(a?.message??a),color:"error"})}finally{T.value=!1}}async function W(){if(f.value.length<8){i.add({title:"Password too short",description:"At least 8 characters required",color:"error"});return}if(f.value!==b.value){i.add({title:"Passwords do not match",color:"error"});return}q.value=!0;try{await $fetch("/api/auth/change-password",{method:"POST",body:{currentPassword:x.value,newPassword:f.value}}),x.value="",f.value="",b.value="",i.add({title:"Password changed",color:"success"})}catch(a){i.add({title:"Failed to change password",description:String(a?.message??a),color:"error"})}finally{q.value=!1}}function Z(a){window.location.href=`/api/auth/oauth/${a}/login?link=1`}async function J(a){z.value=a;try{await $fetch(`/api/auth/oauth/${a}/unlink`,{method:"POST"}),await A(),i.add({title:"Account disconnected",color:"success"})}catch(e){i.add({title:"Failed to disconnect",description:String(e?.data?.message??e?.message??e),color:"error"})}finally{z.value=""}}const Q=$(()=>U.public.authEnabled);return(a,e)=>{const X=oe,ee=se,P=pe,C=_e,v=fe,V=ke,D=ye,te=ve;return l(),c("div",xe,[t(Q)?t(m)?.user?(l(),c(R,{key:1},[s(V,{icon:"i-lucide-user",title:"Display name",help:"account.display-name"},{footer:o(()=>[d("div",Pe,[s(v,{color:"primary",loading:t(F),icon:"i-lucide-save",onClick:Y},{default:o(()=>[...e[8]||(e[8]=[r(" Save name ",-1)])]),_:1},8,["loading"])])]),default:o(()=>[s(C,{label:"Display name",name:"name"},{default:o(()=>[s(P,{modelValue:t(k),"onUpdate:modelValue":e[0]||(e[0]=n=>E(k)?k.value=n:null),placeholder:"Your display name (optional)",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),s(V,{icon:"i-lucide-mail",title:"Email address",help:"account.email"},me({default:o(()=>[d("div",Ce,[t(m).user.emailVerified?(l(),c("div",Ve,[s(D,{name:"i-lucide-circle-check-big",class:"size-4"}),e[9]||(e[9]=r(" Verified ",-1))])):t(m).user.email?(l(),c("div",Ee,[s(D,{name:"i-lucide-circle-alert",class:"size-4"}),e[11]||(e[11]=r(" Not verified ",-1)),t(_)?w("",!0):(l(),p(v,{key:0,size:"xs",variant:"soft",color:"warning",loading:t(T),onClick:K},{default:o(()=>[...e[10]||(e[10]=[r(" Send verification email ",-1)])]),_:1},8,["loading"]))])):w("",!0),s(C,{label:"Email",name:"email"},{default:o(()=>[s(P,{modelValue:t(h),"onUpdate:modelValue":e[1]||(e[1]=n=>E(h)?h.value=n:null),type:"email",placeholder:"you@example.com",disabled:t(_),class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),t(_)?(l(),c("p",$e,[e[12]||(e[12]=r(" Email is managed by ",-1)),d("strong",null,H(t(g)),1),e[13]||(e[13]=r(". ",-1))])):w("",!0)])]),_:2},[t(_)?void 0:{name:"footer",fn:o(()=>[d("div",Se,[s(v,{color:"primary",loading:t(N),icon:"i-lucide-save",onClick:G},{default:o(()=>[...e[14]||(e[14]=[r(" Save email ",-1)])]),_:1},8,["loading"])])]),key:"0"}]),1024),t(j).length>0?(l(),p(V,{key:0,icon:"i-lucide-link",title:"Connected accounts",help:"account.connected-accounts"},{default:o(()=>[d("div",Ae,[(l(!0),c(R,null,ge(t(j),n=>(l(),c("div",{key:n,class:"flex items-center justify-between gap-3 rounded-md border border-default px-3 py-2"},[d("div",Ue,[s(D,{name:B[n].icon,class:"size-5"},null,8,["name"]),d("span",null,H(B[n].label),1),t(g)===n?(l(),p(te,{key:0,color:"success",variant:"subtle",size:"sm"},{default:o(()=>[...e[15]||(e[15]=[r("Connected",-1)])]),_:1})):w("",!0)]),t(g)===n?(l(),c(R,{key:0},[t(O)?(l(),p(v,{key:0,size:"xs",color:"error",variant:"soft",icon:"i-lucide-unlink",loading:t(z)===n,onClick:ae=>J(n)},{default:o(()=>[...e[16]||(e[16]=[r(" Disconnect ",-1)])]),_:1},8,["loading","onClick"])):(l(),c("span",Be," Set a password to disconnect "))],64)):t(g)?(l(),c("span",Fe,"Another provider is connected")):(l(),p(v,{key:1,size:"xs",variant:"outline",color:"neutral",icon:"i-lucide-plus",onClick:ae=>Z(n)},{default:o(()=>[...e[17]||(e[17]=[r(" Connect ",-1)])]),_:1},8,["onClick"]))]))),128)),e[18]||(e[18]=d("p",{class:"text-xs text-gray-400"},"One provider can be connected per account.",-1))])]),_:1})):w("",!0),t(_)?(l(),p(V,{key:2,icon:"i-lucide-lock",title:"Password"},{default:o(()=>[d("p",qe,[e[20]||(e[20]=r(" Your account is managed by ",-1)),d("strong",null,H(t(g)),1),e[21]||(e[21]=r(". Password management is handled by that provider. ",-1))])]),_:1})):(l(),p(V,{key:1,icon:"i-lucide-lock",title:"Change password",help:"account.password"},{footer:o(()=>[d("div",Te,[s(v,{color:"primary",loading:t(q),icon:"i-lucide-key-round",onClick:W},{default:o(()=>[...e[19]||(e[19]=[r(" Change password ",-1)])]),_:1},8,["loading"])])]),default:o(()=>[d("div",Ne,[s(C,{label:"Current password",name:"currentPassword"},{default:o(()=>[s(P,{modelValue:t(x),"onUpdate:modelValue":e[2]||(e[2]=n=>E(x)?x.value=n:null),type:"password",placeholder:"Current password",autocomplete:"current-password",class:"w-full"},null,8,["modelValue"])]),_:1}),s(C,{label:"New password",name:"newPassword",description:"Minimum 8 characters"},{default:o(()=>[s(P,{modelValue:t(f),"onUpdate:modelValue":e[3]||(e[3]=n=>E(f)?f.value=n:null),type:"password",placeholder:"New password",autocomplete:"new-password",class:"w-full"},null,8,["modelValue"])]),_:1}),s(C,{label:"Confirm new password",name:"confirmPassword"},{default:o(()=>[s(P,{modelValue:t(b),"onUpdate:modelValue":e[4]||(e[4]=n=>E(b)?b.value=n:null),type:"password",placeholder:"Repeat new password",autocomplete:"new-password",class:"w-full"},null,8,["modelValue"])]),_:1})])]),_:1}))],64)):w("",!0):(l(),p(ee,{key:0,color:"warning",icon:"i-lucide-lock-open",title:"Authentication disabled",description:"Enable PIWI_AUTH_ENABLED=true to manage your account."},{description:o(()=>[d("span",be,[e[5]||(e[5]=r(" Enable ",-1)),e[6]||(e[6]=d("code",{class:"font-mono text-xs"},"PIWI_AUTH_ENABLED=true",-1)),e[7]||(e[7]=r(" to manage your account. ",-1)),s(X,{topic:"settings.auth-toggle"})])]),_:1}))])}}});export{Ke as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as ee,w as te,b as oe,L as ae,c as A,i as n,k as t,f as u,g as s,j as a,F as le,P as se,o as d,_ as ne,q as m,t as j,O as re,v as ie,D as ce,M as q,ai as M,m as S,h as P,r as v,I as B,K as de}from"./
|
|
1
|
+
import{d as ee,w as te,b as oe,L as ae,c as A,i as n,k as t,f as u,g as s,j as a,F as le,P as se,o as d,_ as ne,q as m,t as j,O as re,v as ie,D as ce,M as q,ai as M,m as S,h as P,r as v,I as B,K as de}from"./D3SYPlEB.js";import{_ as ue}from"./ClVRQpP_.js";import{_ as me}from"./DOr_4nln.js";import{_ as pe}from"./empGC_x-.js";import{_ as ge}from"./Db_-yjYg.js";import{o as fe,s as N,_ as xe}from"./BoC6qaRF.js";import{_ as _e}from"./l0QnzFNM.js";import{p as ve}from"./BUMZHDRC.js";import{u as be}from"./Doul3p1_.js";import"./Vnfkr1pJ.js";import"./C8cz5feG.js";import"./r3SBLxtE.js";import"./D3MWm6JP.js";import"./DoFSKAvY.js";import"./BAkJhSAW.js";const ye={class:"space-y-6"},Te={class:"flex items-center gap-2"},Ce={class:"text-sm font-mono text-muted"},ke={class:"text-sm text-muted"},he={class:"flex gap-1 justify-end"},$e={class:"text-center py-12"},Ue={class:"flex justify-center mb-4"},Ve={class:"flex items-center gap-3"},we={key:0,class:"mt-2"},Ae={class:"flex items-center gap-3"},De={key:0,class:"mt-2"},b="#6366f1",Ge=ee({__name:"tags",async setup(Fe){let y,D;const{data:z,refresh:U}=([y,D]=te(()=>be("/api/tags","$WIWNTsOq96")),y=await y,D(),y),p=oe(),{authState:I}=ae(),K=de(),V=P(()=>z.value?.tags||[]),T=P(()=>K.public.authEnabled?I.value.user?.role==="administrator":!0),L=[{accessorKey:"text",header:"Tag"},{accessorKey:"color",header:"Color"},{accessorKey:"createdAt",header:"Created"},{accessorKey:"actions",header:""}],g=v(!1),F=fe({text:N().min(1,"Tag text is required").max(50,"Tag text must be at most 50 characters"),color:N().min(1,"Color is required")}),r=B({text:"",color:b}),x=v(!1),C=v(null),i=B({text:"",color:b});function R(l){C.value=l,i.text=l.text,i.color=l.color,x.value=!0}async function W(){try{await $fetch("/api/tags",{method:"POST",body:r}),p.add({title:"Tag created",description:`Tag "${r.text}" has been created successfully`,color:"success"}),g.value=!1,r.text="",r.color=b,await U()}catch(l){const e=l&&typeof l=="object"&&"data"in l?l.data?.message:void 0;p.add({title:"Failed to create tag",description:e||"An error occurred",color:"error"})}}async function G(){if(C.value)try{await $fetch(`/api/tags/${C.value.id}`,{method:"PUT",body:{text:i.text,color:i.color}}),p.add({title:"Tag updated",description:"Tag has been updated successfully",color:"success"}),x.value=!1,C.value=null,await U()}catch(l){const e=l&&typeof l=="object"&&"data"in l?l.data?.message:void 0;p.add({title:"Failed to update tag",description:e||"An error occurred",color:"error"})}}const _=v(!1),f=v(null);function H(l){f.value=l,_.value=!0}async function J(){const l=f.value;if(l){_.value=!1,f.value=null;try{await $fetch(`/api/tags/${l.id}`,{method:"DELETE"}),p.add({title:"Tag deleted",description:`Tag "${l.text}" has been deleted`,color:"success"}),await U()}catch(e){const c=e&&typeof e=="object"&&"data"in e?e.data?.message:void 0;p.add({title:"Failed to delete tag",description:c||"An error occurred",color:"error"})}}}return(l,e)=>{const c=ne,k=ue,Q=me,E=pe,X=ie,h=ce,$=ge,O=xe,w=_e,Y=se;return d(),A(le,null,[n("div",ye,[t(V).length>0?(d(),u(E,{key:0,title:"Tags",count:t(V).length,help:"settings.tags"},{actions:s(()=>[t(T)?(d(),u(c,{key:0,label:"Add tag",icon:"i-lucide-tag",size:"sm",onClick:e[0]||(e[0]=o=>g.value=!0)})):m("",!0)]),default:s(()=>[a(Q,{data:t(V),columns:L},{"text-cell":s(({row:o})=>[a(k,{text:o.original.text,color:o.original.color},null,8,["text","color"])]),"color-cell":s(({row:o})=>[n("div",Te,[n("span",{class:"inline-block w-4 h-4 rounded-full border border-black/10",style:re({backgroundColor:o.original.color})},null,4),n("span",Ce,j(o.original.color),1)])]),"createdAt-cell":s(({row:o})=>[n("span",ke,j(("prettyDateFormat"in l?l.prettyDateFormat:t(ve))(o.original.createdAt,{dateOnly:!0})),1)]),"actions-cell":s(({row:o})=>[n("div",he,[t(T)?(d(),u(c,{key:0,icon:"i-lucide-pencil",color:"neutral",variant:"ghost",size:"sm",onClick:Z=>R(o.original)},null,8,["onClick"])):m("",!0),t(T)?(d(),u(c,{key:1,icon:"i-lucide-trash-2",color:"error",variant:"ghost",size:"sm",onClick:Z=>H(o.original)},null,8,["onClick"])):m("",!0)])]),_:1},8,["data"])]),_:1},8,["count"])):(d(),u(E,{key:1,title:"Tags",count:0,help:"settings.tags"},{default:s(()=>[n("div",$e,[n("div",Ue,[a(X,{name:"i-lucide-tags",class:"text-4xl text-muted"})]),e[14]||(e[14]=n("h3",{class:"text-lg font-semibold mb-2"},"No tags yet",-1)),e[15]||(e[15]=n("p",{class:"text-muted mb-4"},"Create tags to categorize and filter your projects",-1)),t(T)?(d(),u(c,{key:0,label:"Add tag",icon:"i-lucide-tag",onClick:e[1]||(e[1]=o=>g.value=!0)})):m("",!0)])]),_:1}))]),a(Y,null,{default:s(()=>[a(w,{open:t(g),title:"Add new tag","onUpdate:open":e[6]||(e[6]=o=>g.value=o)},{body:s(()=>[a(O,{schema:t(F),state:t(r)},{default:s(()=>[a($,{label:"Tag text",name:"text",required:"",class:"mb-4"},{default:s(()=>[a(h,{modelValue:t(r).text,"onUpdate:modelValue":e[2]||(e[2]=o=>t(r).text=o),placeholder:"Enter tag name"},null,8,["modelValue"])]),_:1}),a($,{label:"Color",name:"color",required:"",class:"mb-4"},{default:s(()=>[n("div",Ve,[q(n("input",{"onUpdate:modelValue":e[3]||(e[3]=o=>t(r).color=o),type:"color",class:"w-10 h-10 rounded cursor-pointer border border-default","aria-label":"Pick tag color"},null,512),[[M,t(r).color]]),a(h,{modelValue:t(r).color,"onUpdate:modelValue":e[4]||(e[4]=o=>t(r).color=o),class:"flex-1 font-mono",placeholder:"#6366f1"},null,8,["modelValue"])])]),_:1}),t(r).text?(d(),A("div",we,[e[16]||(e[16]=n("span",{class:"text-sm text-muted mr-2"},"Preview:",-1)),a(k,{text:t(r).text,color:t(r).color||b},null,8,["text","color"])])):m("",!0)]),_:1},8,["schema","state"])]),footer:s(()=>[a(c,{type:"button",color:"neutral",variant:"ghost",label:"Cancel",onClick:e[5]||(e[5]=o=>g.value=!1)}),a(c,{type:"submit",label:"Create tag",icon:"i-lucide-tag",onClick:W})]),_:1},8,["open"]),a(w,{open:t(x),title:"Edit tag","onUpdate:open":e[11]||(e[11]=o=>x.value=o)},{body:s(()=>[a(O,{schema:t(F),state:t(i)},{default:s(()=>[a($,{label:"Tag text",name:"text",required:"",class:"mb-4"},{default:s(()=>[a(h,{modelValue:t(i).text,"onUpdate:modelValue":e[7]||(e[7]=o=>t(i).text=o),placeholder:"Enter tag name"},null,8,["modelValue"])]),_:1}),a($,{label:"Color",name:"color",required:"",class:"mb-4"},{default:s(()=>[n("div",Ae,[q(n("input",{"onUpdate:modelValue":e[8]||(e[8]=o=>t(i).color=o),type:"color",class:"w-10 h-10 rounded cursor-pointer border border-default","aria-label":"Pick tag color"},null,512),[[M,t(i).color]]),a(h,{modelValue:t(i).color,"onUpdate:modelValue":e[9]||(e[9]=o=>t(i).color=o),class:"flex-1 font-mono",placeholder:"#6366f1"},null,8,["modelValue"])])]),_:1}),t(i).text?(d(),A("div",De,[e[17]||(e[17]=n("span",{class:"text-sm text-muted mr-2"},"Preview:",-1)),a(k,{text:t(i).text,color:t(i).color||b},null,8,["text","color"])])):m("",!0)]),_:1},8,["schema","state"])]),footer:s(()=>[a(c,{type:"button",color:"neutral",variant:"ghost",label:"Cancel",onClick:e[10]||(e[10]=o=>x.value=!1)}),a(c,{type:"submit",label:"Save changes",icon:"i-lucide-check",onClick:G})]),_:1},8,["open"]),a(w,{open:t(_),title:"Delete tag","onUpdate:open":e[13]||(e[13]=o=>_.value=o)},{body:s(()=>[n("p",null,[e[18]||(e[18]=S(" Are you sure you want to delete tag ",-1)),t(f)?(d(),u(k,{key:0,text:t(f).text,color:t(f).color,class:"inline-flex"},null,8,["text","color"])):m("",!0),e[19]||(e[19]=S("? It will be removed from all projects. ",-1))])]),footer:s(()=>[a(c,{color:"neutral",variant:"ghost",label:"Cancel",onClick:e[12]||(e[12]=o=>_.value=!1)}),a(c,{color:"error",label:"Delete",icon:"i-lucide-trash-2",onClick:J})]),_:1},8,["open"])]),_:1})],64)}}});export{Ge as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as se,B as V,C as be,al as ke,r as h,h as Q,am as Ce,J as qe,d as re,o as p,f as H,g as D,j as g,_ as le,m as k,i as l,q as T,l as _e,k as e,E as We,c as $,v as we,t as j,F as K,y as ie,p as Z,x as Ve,G as Je}from"./
|
|
1
|
+
import{b as se,B as V,C as be,al as ke,r as h,h as Q,am as Ce,J as qe,d as re,o as p,f as H,g as D,j as g,_ as le,m as k,i as l,q as T,l as _e,k as e,E as We,c as $,v as we,t as j,F as K,y as ie,p as Z,x as Ve,G as Je}from"./D3SYPlEB.js";import{_ as Ye}from"./C8cz5feG.js";import{_ as Ge}from"./DB3ljns7.js";import{c as Xe,m as Ke,i as Qe,e as Ze,h as et,f as tt,g as st,j as nt}from"./36cXPVrY.js";import{u as ot}from"./D3MWm6JP.js";import{_ as at}from"./DnThe2U0.js";import{f as $e,w as it,k as rt}from"./BUMZHDRC.js";import{_ as lt}from"./B6IHiVa1.js";import{u as ct}from"./BuuvTH9e.js";const ut=globalThis.setInterval,ce=Symbol("cluster-diagnosis");function dt(v){const a=se(),u=h(""),d=h(""),x=h([]),y=h([]),I=Q(()=>!!d.value),O=h(null),R=h([]),U=h(0),P=h(0),M=h(null),f=h(null),r=h(!1),t=h(null),o=h(!1);let s=null,i=null,m=!0;function S(){const c={};return u.value.trim()&&(c.baseCommit=u.value.trim()),x.value.length&&(c.selectedCommitShas=x.value),c}async function C(){r.value=!0;try{const c=await $fetch(`/api/failure-clusters/${v}/context`,{query:{...S(),format:"json"}});O.value=c.text,R.value=c.sections,U.value=c.tokenEstimate,P.value=c.imageTokenEstimate??0,M.value=c.coverage,f.value=c.scmChanges??null}catch{O.value="(failed to load context)",R.value=[],U.value=0,P.value=0,M.value=null,f.value=null}finally{r.value=!1}}async function A(c){try{await $fetch(`/api/failure-clusters/${v}/base-commit`,{method:"PATCH",body:{commit:c||null}}),d.value=c}catch{}}function z(){s&&(clearInterval(s),s=null)}function w(){if(s)return;let c=0;s=ut(async()=>{c+=3e3,await W(),(!t.value||t.value.status!=="running"||c>=12e4)&&z()},3e3)}async function W(){try{const c=await $fetch(`/api/failure-clusters/${v}/diagnosis`);t.value=c.diagnosis}catch{}}async function J(c={}){o.value=!0;try{const E=c.force?`/api/failure-clusters/${v}/diagnose?force=true`:`/api/failure-clusters/${v}/diagnose`,F={};c.additionalContext&&(F.additionalContext=c.additionalContext),u.value.trim()&&(F.baseCommit=u.value.trim()),x.value.length&&(F.selectedCommitShas=x.value),c.images?.length&&(F.images=c.images),t.value=await $fetch(E,{method:"POST",body:Object.keys(F).length?F:void 0}),t.value?.status==="running"&&w()}catch(E){E?.statusCode===409?w():a.add({title:"Diagnosis failed",description:String(E?.message??E),color:"error"})}finally{o.value=!1}}return V(u,c=>{m||(i&&clearTimeout(i),i=setTimeout(()=>C(),900),c!==d.value&&A(c))}),V(x,()=>{m||C()},{deep:!0}),V(t,c=>{c?.status==="running"?w():z()}),be(async()=>{try{const c=await $fetch(`/api/failure-clusters/${v}/diagnosis`);t.value=c.diagnosis,c.manualBaseCommit&&(d.value=c.manualBaseCommit,u.value=c.manualBaseCommit);const E=c.diagnosis?.details;E?.selectedCommitShas&&Array.isArray(E.selectedCommitShas)&&(x.value=E.selectedCommitShas),E?.autoSelectedCommits&&Array.isArray(E.autoSelectedCommits)&&(y.value=E.autoSelectedCommits)}catch{}m=!1,C(),t.value?.status==="running"&&w()}),ke(()=>{z(),i&&clearTimeout(i)}),{clusterId:v,baseCommit:u,savedBaseCommit:d,selectedCommitShas:x,autoSelectedCommits:y,baseCommitIsPinned:I,contextText:O,contextSections:R,tokenEstimate:U,imageTokenEstimate:P,coverage:M,scmChanges:f,contextLoading:r,refreshContext:C,diagnosis:t,posting:o,runDiagnosis:J}}function ft(v){const a=dt(v);return qe(ce,a),a}function Os(){const v=Ce(ce);if(!v)throw new Error("useClusterDiagnosis() must be used under a page that called provideClusterDiagnosis()");return v}function pt(v){const a=Ce(ce,null);if(a)return a;if(v==null)throw new Error("useOrProvideClusterDiagnosis() requires a clusterId when used outside provideClusterDiagnosis()");return ft(v)}const mt={class:"w-56 p-1 space-y-0.5"},gt=re({__name:"DiagnosisExportMenu",props:{contextText:{},diagnosis:{},screenshots:{},clusterSignature:{},clusterUrl:{},clusterOccurrences:{},clusterErrorType:{},sampleError:{}},setup(v){const a=v,{copy:u}=ot(),{copyRich:d}=Xe(),x=h(!1);function y(){const t=[];return a.clusterErrorType&&t.push(a.clusterErrorType),a.clusterOccurrences&&t.push(`${a.clusterOccurrences} occurrence${a.clusterOccurrences===1?"":"s"}`),t.join(" · ")}function I(){const t=a.clusterSignature??"Failure cluster",o=y(),s=a.diagnosis?.status==="completed"&&a.diagnosis.summary?`AI diagnosis (${a.diagnosis.category??"unknown"}, ${a.diagnosis.confidence??"?"}): ${a.diagnosis.summary}`:null,i=[`🔍 Investigation: ${t}`,o||null,"",...a.sampleError?["Error:",Ke(a.sampleError),""]:[],...s?[s,""]:[],a.clusterUrl?`Cluster: ${a.clusterUrl}`:null].filter(C=>C!==null).join(`
|
|
2
2
|
`),m=C=>C.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),S=[`<p><strong>🔍 Investigation: <code>${m(t)}</code></strong></p>`,o?`<p><em>${m(o)}</em></p>`:"",a.sampleError?`<p><strong>Error:</strong></p><pre>${m(a.sampleError)}</pre>`:"",s?`<p><strong>AI diagnosis</strong> (${m(a.diagnosis?.category??"")}, ${m(a.diagnosis?.confidence??"")}):<br>${m(a.diagnosis.summary)}</p>`:"",a.clusterUrl?`<p>🔗 <a href="${a.clusterUrl}">View cluster</a></p>`:""].join("");d(i,S,{toast:"Investigation summary copied"}),x.value=!1}function O(){if(!a.contextText)return;const o=(a.screenshots?.length?`## Screenshots
|
|
3
3
|
|
|
4
4
|
${a.screenshots.map(s=>``).join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as C,u as I,a as F,b as S,c as g,j as t,g as n,o as i,k as e,f as h,F as T,q as j,i as d,H as A,D as M,l as k,_ as D,m as b,t as x,x as z,v as E,h as V,r as u}from"./
|
|
1
|
+
import{d as C,u as I,a as F,b as S,c as g,j as t,g as n,o as i,k as e,f as h,F as T,q as j,i as d,H as A,D as M,l as k,_ as D,m as b,t as x,x as z,v as E,h as V,r as u}from"./D3SYPlEB.js";import{_ as H}from"./B6IHiVa1.js";import{_ as L}from"./Db_-yjYg.js";import{_ as O}from"./DoFSKAvY.js";import"./BAkJhSAW.js";const G={class:"min-h-screen flex items-center justify-center bg-elevated/50"},J={class:"flex items-center gap-2"},K={class:"text-2xl font-bold"},Q={class:"mt-4 text-center"},te=C({__name:"reset-password",setup(W){const f=I(),U=F(),$=S(),m=V(()=>f.query.token),p=V(()=>f.query.mode==="invite"),o=u(""),c=u(""),r=u(!1),a=u("");async function B(){if(a.value="",!m.value){a.value="Missing reset token";return}if(o.value.length<8){a.value="Password must be at least 8 characters";return}if(o.value!==c.value){a.value="Passwords do not match";return}r.value=!0;try{await $fetch("/api/auth/reset-password",{method:"POST",body:{token:m.value,password:o.value}}),$.add({title:p.value?"Account activated!":"Password reset!",color:"success"}),U.push("/login")}catch(l){const s=l&&typeof l=="object"&&"data"in l?l.data?.message:void 0;a.value=s||"Invalid or expired link"}finally{r.value=!1}}return(l,s)=>{const N=E,v=H,w=M,y=L,P=D,R=z,q=O;return i(),g("div",G,[t(q,{class:"w-full max-w-md"},{header:n(()=>[d("div",J,[t(N,{name:"i-lucide-lock",class:"size-6"}),d("h1",K,x(e(p)?"Set your password":"Reset your password"),1)])]),default:n(()=>[e(m)?(i(),g(T,{key:1},[e(a)?(i(),h(v,{key:0,color:"error",title:e(a),variant:"subtle",class:"mb-4"},null,8,["title"])):j("",!0),d("form",{class:"space-y-4",onSubmit:A(B,["prevent"])},[t(y,{label:"New password",name:"password",required:""},{default:n(()=>[t(w,{modelValue:e(o),"onUpdate:modelValue":s[0]||(s[0]=_=>k(o)?o.value=_:null),type:"password",placeholder:"Min 8 characters",autocomplete:"new-password",disabled:e(r),class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),t(y,{label:"Confirm password",name:"confirmPassword",required:""},{default:n(()=>[t(w,{modelValue:e(c),"onUpdate:modelValue":s[1]||(s[1]=_=>k(c)?c.value=_:null),type:"password",placeholder:"Repeat password",autocomplete:"new-password",disabled:e(r),class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),t(P,{type:"submit",block:"",loading:e(r)},{default:n(()=>[b(x(e(p)?"Activate account":"Reset password"),1)]),_:1},8,["loading"])],32)],64)):(i(),h(v,{key:0,color:"error",title:"Invalid link",description:"This link is missing or malformed."})),d("div",Q,[t(R,{to:"/login",class:"text-sm text-gray-500 hover:text-gray-700 dark:hover:text-gray-300"},{default:n(()=>[...s[2]||(s[2]=[b(" Back to login ",-1)])]),_:1})])]),_:1})])}}});export{te as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as a,o as s,c as n,j as o,v as c,i,t as r,p as d}from"./
|
|
1
|
+
import{d as a,o as s,c as n,j as o,v as c,i,t as r,p as d}from"./D3SYPlEB.js";const l={class:"text-sm"},p=a({__name:"LoadingState",props:{text:{default:"Loading…"},padded:{type:Boolean,default:!0}},setup(e){return(_,m)=>{const t=c;return s(),n("div",{role:"status","aria-live":"polite","aria-busy":"true",class:d(["flex items-center justify-center gap-2 text-gray-400",e.padded&&"py-8"])},[o(t,{name:"i-lucide-loader-2",class:"size-4 animate-spin"}),i("span",l,r(e.text),1)],2)}}}),f=Object.assign(p,{__name:"LoadingState"});export{f as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as p,a_ as f,f as r,g as n,K as _,o as s,k as o,c as m,i as t,m as a,_ as g,q as h}from"./D3SYPlEB.js";import{_ as x}from"./empGC_x-.js";import"./C8cz5feG.js";import"./r3SBLxtE.js";import"./D3MWm6JP.js";import"./DoFSKAvY.js";const b={key:0,class:"flex max-sm:flex-col justify-between items-start gap-4"},k={key:1,class:"text-sm text-muted"},N=p({__name:"index",setup(v){const i=_().public.demoMode,{isResetting:d,resetDemo:c}=f();return(C,e)=>{const l=g,u=x;return s(),r(u,{icon:"i-lucide-settings",title:"General settings",help:"settings.general"},{actions:n(()=>[o(i)?(s(),r(l,{key:0,color:"error",variant:"soft",icon:"i-lucide-refresh-cw",loading:o(d),onClick:o(c)},{default:n(()=>[...e[0]||(e[0]=[a(" Reset demo ",-1)])]),_:1},8,["loading","onClick"])):h("",!0)]),default:n(()=>[o(i)?(s(),m("div",b,[...e[1]||(e[1]=[t("div",null,[t("p",{class:"font-medium text-sm"},"Reset demo data"),t("p",{class:"text-sm text-muted"}," Wipe the in-browser database and reload with fresh sample data dated to the current moment. All changes made during this demo session will be lost. ")],-1)])])):(s(),m("div",k,[...e[2]||(e[2]=[t("p",null," Appearance and theme are in the top bar. Use the sidebar to manage your account, users, AI diagnosis, notifications, storage, and tags. ",-1),t("p",{class:"mt-2"},[a(" Settings that can be overridden by "),t("code",{class:"font-mono text-xs"},"PIWI_*"),a(" environment variables show a lock badge with the variable name — hover the help icon on any card to see which env var backs a setting. ")],-1)])]))]),_:1})}}});export{N as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as k}from"./
|
|
1
|
+
import{_ as k}from"./B6IHiVa1.js";import{d as _,f as r,g as l,k as b,o as n,c as a,t as u,m as h,F as g,y as V,h as f,i as y,q as v,aa as x,T as p}from"./D3SYPlEB.js";import{_ as B}from"./C8cz5feG.js";import{_ as $}from"./AjuKBlzz.js";import{_ as E}from"./Db_-yjYg.js";import{h as M}from"./r3SBLxtE.js";const F={key:0},q={key:1},S={class:"font-mono text-xs"},T={key:0},A={key:2},C=_({__name:"EnvManagedAlert",props:{envVars:{},title:{},description:{}},setup(e){const t=e,c=f(()=>t.title??"Managed by environment variables");return(o,s)=>{const d=k;return n(),r(d,{icon:"i-lucide-lock",color:"neutral",variant:"subtle",title:b(c)},{description:l(()=>[e.description?(n(),a("span",F,u(e.description),1)):e.envVars?.length?(n(),a("span",q,[s[0]||(s[0]=h(" These settings are pinned by ",-1)),(n(!0),a(g,null,V(e.envVars,(i,m)=>(n(),a(g,{key:i},[y("code",S,u(i),1),m<e.envVars.length-1?(n(),a("span",T,", ")):v("",!0)],64))),128)),s[1]||(s[1]=h(" and cannot be changed here. Edit the environment and restart to change them. ",-1))])):(n(),a("span",A," These settings are pinned by environment variables and cannot be changed here. "))]),_:1},8,["title"])}}}),z=Object.assign(C,{__name:"EnvManagedAlert"}),N={class:"inline-flex items-center gap-1"},j=_({__name:"SettingsField",props:{label:{},help:{},envVars:{},envManaged:{type:Boolean},description:{},hint:{},required:{type:Boolean},name:{},disabled:{type:Boolean}},setup(e){const t=e,c=f(()=>{if(t.envVars)return t.envVars;if(t.help)return M(t.help)});return(o,s)=>{const d=B,i=$,m=E;return n(),r(m,{label:e.label,description:e.description,hint:e.hint,required:e.required,name:e.name,disabled:e.disabled||e.envManaged},x({label:l(()=>[y("span",N,[h(u(e.label)+" ",1),e.help?(n(),r(d,{key:0,topic:e.help},null,8,["topic"])):v("",!0),e.envManaged?(n(),r(i,{key:1,"env-vars":b(c)},null,8,["env-vars"])):v("",!0)])]),default:l(()=>[p(o.$slots,"default")]),_:2},[o.$slots.trailing?{name:"trailing",fn:l(()=>[p(o.$slots,"trailing")]),key:"0"}:void 0]),1032,["label","description","hint","required","name","disabled"])}}}),G=Object.assign(j,{__name:"SettingsField"});export{z as _,G as a};
|