@piwitests/server 0.20.0 → 0.21.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/{CXEH9OPk.js → 9ti9eNH9.js} +1 -1
- package/.output/public/_nuxt/{oAClCn_h.js → B-zdP-D4.js} +1 -1
- package/.output/public/_nuxt/{DsesNydr.js → B1RmmOsM.js} +1 -1
- package/.output/public/_nuxt/{C0_yH0N7.js → B3Fsod9X.js} +1 -1
- package/.output/public/_nuxt/{Cnsmicv2.js → B3rirOqU.js} +34 -34
- package/.output/public/_nuxt/B3zmIJYb.js +1 -0
- package/.output/public/_nuxt/{DuwtTfO8.js → BAKUqW95.js} +2 -2
- package/.output/public/_nuxt/BG0KKQiT.js +7 -0
- package/.output/public/_nuxt/BGL_V7Y4.js +1 -0
- package/.output/public/_nuxt/{Dpd16JVI.js → BGusFAvZ.js} +1 -1
- package/.output/public/_nuxt/{l5WKbU4h.js → BNurUTla.js} +3 -3
- package/.output/public/_nuxt/BR5cR2Ot.js +1 -0
- package/.output/public/_nuxt/BTCh_0zN.js +1 -0
- package/.output/public/_nuxt/{C8e1EbJI.js → BTVqMsA3.js} +1 -1
- package/.output/public/_nuxt/{DabzhQB1.js → B_13C0GF.js} +1 -1
- package/.output/public/_nuxt/BeDIjhoR.js +44 -0
- package/.output/public/_nuxt/{D5tke0B5.js → BerCW7Ug.js} +1 -1
- package/.output/public/_nuxt/{BicAJ6U8.js → BfTNbVc_.js} +1 -1
- package/.output/public/_nuxt/BnbSEpXX.js +1 -0
- package/.output/public/_nuxt/Bo_dxehb.js +1 -0
- package/.output/public/_nuxt/{C2hkrSey.js → BpBHls4-.js} +1 -1
- package/.output/public/_nuxt/{Bm62iDV5.js → BpM6ZPIG.js} +1 -1
- package/.output/public/_nuxt/{GPNI1ffD.js → BqGumsDo.js} +2 -2
- package/.output/public/_nuxt/{A1pj0VnG.js → BrxtP_cN.js} +1 -1
- package/.output/public/_nuxt/{KyA_4Ks-.js → C2hNxjjz.js} +1 -1
- package/.output/public/_nuxt/C5PSqfKi.js +2 -0
- package/.output/public/_nuxt/C5vsaU4G.js +1 -0
- package/.output/public/_nuxt/C9sdHaXd.js +1 -0
- package/.output/public/_nuxt/{Und3xXFc.js → CAxgBYIt.js} +2 -2
- package/.output/public/_nuxt/{BmUfSNMV.js → CES2i5Pl.js} +1 -1
- package/.output/public/_nuxt/{CNyV9YpI.js → CFEdRqaj.js} +1 -1
- package/.output/public/_nuxt/{Dy-TJ0Mt.js → CFTZwazK.js} +1 -1
- package/.output/public/_nuxt/CIBS7ye6.js +1 -0
- package/.output/public/_nuxt/CIEceDOw.js +1 -0
- package/.output/public/_nuxt/{bLcjFslv.js → CJBhojV6.js} +1 -1
- package/.output/public/_nuxt/{b-GYfcrQ.js → CKYddHa6.js} +1 -1
- package/.output/public/_nuxt/{BKkF4pPD.js → CLVWiCds.js} +1 -1
- package/.output/public/_nuxt/{CwGWJbiy.js → CMYAryzi.js} +1 -1
- package/.output/public/_nuxt/{CjPfj7ya.js → COhdybDy.js} +1 -1
- package/.output/public/_nuxt/{B7FTvFWq.js → CRBXM2d6.js} +2 -2
- package/.output/public/_nuxt/CTD_pJ_v.js +1 -0
- package/.output/public/_nuxt/{Cus22Ud3.js → CTP8Pw0-.js} +2 -2
- package/.output/public/_nuxt/{CeW8v31b.js → CV8iF2kG.js} +1 -1
- package/.output/public/_nuxt/{H94BMf3L.js → CWKmbYlT.js} +1 -1
- package/.output/public/_nuxt/C_NfGMTd.js +9 -0
- package/.output/public/_nuxt/Cejoebel.js +6 -0
- package/.output/public/_nuxt/{FaFoMVKo.js → Chpah_7l.js} +1 -1
- package/.output/public/_nuxt/Ci9d8YVV.js +1 -0
- package/.output/public/_nuxt/{CIrFl3MW.js → CifRHVaR.js} +1 -1
- package/.output/public/_nuxt/{DrfE8IY0.js → Ckgsh9AT.js} +1 -1
- package/.output/public/_nuxt/{-f7BAm1H.js → Cpsq-kYE.js} +1 -1
- package/.output/public/_nuxt/Cqc-DSTF.js +1 -0
- package/.output/public/_nuxt/{CAAwCT7H.js → CsHulb12.js} +1 -1
- package/.output/public/_nuxt/Ctb2CqUf.js +5 -0
- package/.output/public/_nuxt/CtstIQSh.js +1 -0
- package/.output/public/_nuxt/{DJxlKFGb.js → CvMzDKvu.js} +1 -1
- package/.output/public/_nuxt/{CTU1mrhq.js → D2pBhsH8.js} +1 -1
- package/.output/public/_nuxt/{B3obW6cw.js → D8gX1Jde.js} +2 -2
- package/.output/public/_nuxt/D9knOn6D.js +1 -0
- package/.output/public/_nuxt/DAPTVdvA.js +1 -0
- package/.output/public/_nuxt/{Du2W7Jne.js → DCFbQvIN.js} +42 -42
- package/.output/public/_nuxt/DCoJlz_q.js +1 -0
- package/.output/public/_nuxt/DGnQ69wW.js +64 -0
- package/.output/public/_nuxt/{hNh4CIL0.js → DHzij16p.js} +1 -1
- package/.output/public/_nuxt/DJMCXRuW.js +5 -0
- package/.output/public/_nuxt/DJXcGkJP.js +2 -0
- package/.output/public/_nuxt/{DPCxhHri.js → DKFXZdWZ.js} +1 -1
- package/.output/public/_nuxt/{Bnxf8nbZ.js → DL24AjfW.js} +1 -1
- package/.output/public/_nuxt/DON74Yh6.js +1 -0
- package/.output/public/_nuxt/{5A6ITZXj.js → DQM62mxB.js} +1 -1
- package/.output/public/_nuxt/DSe8DxMl.js +1 -0
- package/.output/public/_nuxt/DWwiVTZX.js +24 -0
- package/.output/public/_nuxt/DX4tAP78.js +1 -0
- package/.output/public/_nuxt/{C1gTN4Q8.js → D_eDAIsT.js} +1 -1
- package/.output/public/_nuxt/Da8A92cF.js +1 -0
- package/.output/public/_nuxt/{CzAPFPpL.js → DdH3op4b.js} +1 -1
- package/.output/public/_nuxt/DepFDZO3.js +1 -0
- package/.output/public/_nuxt/{BzRRzmwm.js → DfSBKzrC.js} +1 -1
- package/.output/public/_nuxt/{BdfhYr-u.js → DfnKh3dZ.js} +1 -1
- package/.output/public/_nuxt/{Bow4tTR0.js → DhpTfeip.js} +1 -1
- package/.output/public/_nuxt/{CAvY22RE.js → Dk9nD32g.js} +1 -1
- package/.output/public/_nuxt/{BrQEE053.js → DkT2nCqn.js} +1 -1
- package/.output/public/_nuxt/DlW85lQq.js +4 -0
- package/.output/public/_nuxt/DnNio-ut.js +1 -0
- package/.output/public/_nuxt/{DdwHkKfV.js → DnQv_hst.js} +1 -1
- package/.output/public/_nuxt/{B99fbi73.js → DqEOMteW.js} +1 -1
- package/.output/public/_nuxt/{4gYNA-d4.js → Dsvu7YJT.js} +1 -1
- package/.output/public/_nuxt/DvhCDBrR.js +2 -0
- package/.output/public/_nuxt/DwQaVMZR.js +1 -0
- package/.output/public/_nuxt/E-_n_6vi.js +1 -0
- package/.output/public/_nuxt/{BT3wGCTI.js → Ebw5l7n8.js} +1 -1
- package/.output/public/_nuxt/{CA9B2HE5.js → IPePdbzl.js} +1 -1
- package/.output/public/_nuxt/{DJmoLeVt.js → LHoUGrfi.js} +1 -1
- package/.output/public/_nuxt/{L3kAWB2a.js → NERLHpOL.js} +1 -1
- package/.output/public/_nuxt/{CeG9pBAD.js → RAdNGxcF.js} +1 -1
- package/.output/public/_nuxt/Vxyo_mU9.js +1 -0
- package/.output/public/_nuxt/{pQqGiNch.js → YE1kAkU9.js} +1 -1
- package/.output/public/_nuxt/{CsLojMwR.js → YmT5WiN5.js} +1 -1
- package/.output/public/_nuxt/ZcAfCxWE.js +17 -0
- package/.output/public/_nuxt/{CxyAzHr3.js → _rglcvXN.js} +1 -1
- package/.output/public/_nuxt/bFU9Y1Vw.js +10 -0
- package/.output/public/_nuxt/bfecIH89.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/31ca2be4-a949-4df6-9818-773fc085557a.json +1 -0
- package/.output/public/_nuxt/entry.BAvBQY-h.css +1 -0
- package/.output/public/_nuxt/four-S1Y.js +1 -0
- package/.output/public/_nuxt/{CJFtzlQ4.js → gV2U_Gqd.js} +1 -1
- package/.output/public/_nuxt/{DeY2JkR2.js → lGC893pn.js} +1 -1
- package/.output/public/_nuxt/nOfj-ar8.js +1 -0
- package/.output/public/_nuxt/oKrbs1XK.js +1 -0
- package/.output/public/_nuxt/oSJFAC38.js +1 -0
- package/.output/public/_nuxt/rL4C0HV5.js +1 -0
- package/.output/public/_nuxt/{Dyeqn3aG.js → tQoyVPCE.js} +1 -1
- package/.output/public/_nuxt/{DfgOx_ou.js → uSPCvASp.js} +1 -1
- package/.output/public/_nuxt/{hC_z4G8p.js → wkz5-1SO.js} +1 -1
- package/.output/public/_nuxt/yYlVYKCz.js +34 -0
- package/.output/public/_nuxt/{AbmKWFQQ.js → zv8WdMx0.js} +1 -1
- package/.output/server/chunks/_/scope.mjs +43 -27
- package/.output/server/chunks/_/scope.mjs.map +1 -1
- package/.output/server/chunks/_/users.mjs +1 -1
- package/.output/server/chunks/build/{Breadcrumb-Ak2Lg3oM.mjs → Breadcrumb-3itRZ1uz.mjs} +2 -2
- package/.output/server/chunks/build/Breadcrumb-3itRZ1uz.mjs.map +1 -0
- package/.output/server/chunks/build/{BreadcrumbNav-DO7I_z-n.mjs → BreadcrumbNav-GnjBvXuT.mjs} +2 -2
- package/.output/server/chunks/build/BreadcrumbNav-GnjBvXuT.mjs.map +1 -0
- package/.output/server/chunks/build/{BrowserBadge-MFvBwxmD.mjs → BrowserBadge-DQqJS9CV.mjs} +2 -2
- package/.output/server/chunks/build/BrowserBadge-DQqJS9CV.mjs.map +1 -0
- package/.output/server/chunks/build/{ChartCard-Y1UKwMsf.mjs → ChartCard-D0rzMf-N.mjs} +2 -2
- package/.output/server/chunks/build/ChartCard-D0rzMf-N.mjs.map +1 -0
- package/.output/server/chunks/build/{Checkbox-4Q5d0fa0.mjs → Checkbox-DmRKG-0s.mjs} +3 -3
- package/.output/server/chunks/build/Checkbox-DmRKG-0s.mjs.map +1 -0
- package/.output/server/chunks/build/{CodeBlock-BgE-NSmE.mjs → CodeBlock-DGhKVFad.mjs} +4 -4
- package/.output/server/chunks/build/CodeBlock-DGhKVFad.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardNavbar-BHmMSPX7.mjs → DashboardNavbar-DCr10nxL.mjs} +2 -2
- package/.output/server/chunks/build/DashboardNavbar-DCr10nxL.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardSidebarToggle-DCTnHiIv.mjs → DashboardSidebarToggle-8EpBhX0R.mjs} +3 -3
- package/.output/server/chunks/build/DashboardSidebarToggle-8EpBhX0R.mjs.map +1 -0
- package/.output/server/chunks/build/{DataLocationCard-B_YHdzSz.mjs → DataLocationCard-rzS-pgCP.mjs} +5 -5
- package/.output/server/chunks/build/DataLocationCard-rzS-pgCP.mjs.map +1 -0
- package/.output/server/chunks/build/{DiagnosisPanel-CALyEmcJ.mjs → DiagnosisPanel-BWTpoCKy.mjs} +8 -7
- package/.output/server/chunks/build/DiagnosisPanel-BWTpoCKy.mjs.map +1 -0
- package/.output/server/chunks/build/{useAiStatus-CxjMmDDY.mjs → DiagnosisResult-Br3qBLXe.mjs} +10 -32
- package/.output/server/chunks/build/DiagnosisResult-Br3qBLXe.mjs.map +1 -0
- package/.output/server/chunks/build/{DurationValue-D20oGbnc.mjs → DurationValue-CWKfjIF2.mjs} +2 -2
- package/.output/server/chunks/build/DurationValue-CWKfjIF2.mjs.map +1 -0
- package/.output/server/chunks/build/{EntityLinks-BBHWssHH.mjs → EntityLinks-CF0xG3Y8.mjs} +6 -6
- package/.output/server/chunks/build/EntityLinks-CF0xG3Y8.mjs.map +1 -0
- package/.output/server/chunks/build/EnvManagedBadge-UwD2b9v2.mjs +1 -1
- package/.output/server/chunks/build/FeatureUnavailable-CwPms6X_.mjs +83 -0
- package/.output/server/chunks/build/FeatureUnavailable-CwPms6X_.mjs.map +1 -0
- package/.output/server/chunks/build/{FormField-B0HKsdMd.mjs → FormField-e7OnSKPM.mjs} +2 -2
- package/.output/server/chunks/build/FormField-e7OnSKPM.mjs.map +1 -0
- package/.output/server/chunks/build/GetStartedWizard-CB5v1Xzu.mjs +510 -0
- package/.output/server/chunks/build/GetStartedWizard-CB5v1Xzu.mjs.map +1 -0
- package/.output/server/chunks/build/{HelpHint-DrcIv-Oj.mjs → HelpHint-DjGrGFA7.mjs} +3 -3
- package/.output/server/chunks/build/HelpHint-DjGrGFA7.mjs.map +1 -0
- package/.output/server/chunks/build/{LoadingState-C3pBSuOO.mjs → LoadingState-B8v1nWJt.mjs} +3 -3
- package/.output/server/chunks/build/LoadingState-B8v1nWJt.mjs.map +1 -0
- package/.output/server/chunks/build/{CiEnvCard-DB5DvBh1.mjs → MetaStripGroup-dXXa_MzF.mjs} +242 -529
- package/.output/server/chunks/build/MetaStripGroup-dXXa_MzF.mjs.map +1 -0
- package/.output/server/chunks/build/{MiniRunBars-CZMugDrh.mjs → MiniRunBars-fgLMgRUp.mjs} +2 -2
- package/.output/server/chunks/build/MiniRunBars-fgLMgRUp.mjs.map +1 -0
- package/.output/server/chunks/build/{useSettingsNav-DnQKacz8.mjs → NavigationMenu-cqpt11Ce.mjs} +5 -28
- package/.output/server/chunks/build/NavigationMenu-cqpt11Ce.mjs.map +1 -0
- package/.output/server/chunks/build/{OpenInIdeLink-CQWKKChd.mjs → OpenInIdeLink-B9wvQkhy.mjs} +5 -5
- package/.output/server/chunks/build/{OpenInIdeLink-CQWKKChd.mjs.map → OpenInIdeLink-B9wvQkhy.mjs.map} +1 -1
- package/.output/server/chunks/build/{ProjectTestCasesTable-Bo61P5K1.mjs → ProjectTestCasesTable-BwHEtZTz.mjs} +15 -15
- package/.output/server/chunks/build/ProjectTestCasesTable-BwHEtZTz.mjs.map +1 -0
- package/.output/server/chunks/build/{RunReports-DFLv51TX.mjs → RunReports-BDRIWn3o.mjs} +2 -2
- package/.output/server/chunks/build/RunReports-BDRIWn3o.mjs.map +1 -0
- package/.output/server/chunks/build/{RunStatusBadge-FfGb6bkW.mjs → RunStatusBadge-CuTDknRJ.mjs} +2 -2
- package/.output/server/chunks/build/RunStatusBadge-CuTDknRJ.mjs.map +1 -0
- package/.output/server/chunks/build/{SectionCard-CN-v0FZ_.mjs → SectionCard-BW5Lynrr.mjs} +2 -2
- package/.output/server/chunks/build/SectionCard-BW5Lynrr.mjs.map +1 -0
- package/.output/server/chunks/build/{Select-5DK9frQ7.mjs → Select-CVctwpib.mjs} +3 -3
- package/.output/server/chunks/build/Select-CVctwpib.mjs.map +1 -0
- package/.output/server/chunks/build/{SelectMenu-D-2FSqBU.mjs → SelectMenu-XLVBEa11.mjs} +3 -3
- package/.output/server/chunks/build/{SelectMenu-D-2FSqBU.mjs.map → SelectMenu-XLVBEa11.mjs.map} +1 -1
- package/.output/server/chunks/build/{SettingsField-BZfx4ma1.mjs → SettingsField-DvtRvI6O.mjs} +3 -3
- package/.output/server/chunks/build/SettingsField-DvtRvI6O.mjs.map +1 -0
- package/.output/server/chunks/build/{StatTile-D61Vzo6e.mjs → StatTile-DpcVQFVI.mjs} +2 -26
- package/.output/server/chunks/build/StatTile-DpcVQFVI.mjs.map +1 -0
- package/.output/server/chunks/build/StatTileGrid-7zOFUQ6j.mjs +30 -0
- package/.output/server/chunks/build/StatTileGrid-7zOFUQ6j.mjs.map +1 -0
- package/.output/server/chunks/build/{Switch-B5Fp8ULt.mjs → Switch-8zWfwI5B.mjs} +2 -2
- package/.output/server/chunks/build/Switch-8zWfwI5B.mjs.map +1 -0
- package/.output/server/chunks/build/Table-BRk04Hd2.mjs +1 -1
- package/.output/server/chunks/build/{TestCaseHistoryChart-CSi64vVA.mjs → TestCaseHistoryChart-C6t5RrCG.mjs} +2 -2
- package/.output/server/chunks/build/TestCaseHistoryChart-C6t5RrCG.mjs.map +1 -0
- package/.output/server/chunks/build/{TestMetaBadges-D5_yUtIP.mjs → TestMetaBadges-BlyKmfeP.mjs} +1 -1
- package/.output/server/chunks/build/TestMetaBadges-BlyKmfeP.mjs.map +1 -0
- package/.output/server/chunks/build/{TestStatusBar-DX3EhlyP.mjs → TestStatusBar-DhbrM_rQ.mjs} +3 -3
- package/.output/server/chunks/build/TestStatusBar-DhbrM_rQ.mjs.map +1 -0
- package/.output/server/chunks/build/{Textarea-Dv2-lOvW.mjs → Textarea-vkMKVQTJ.mjs} +2 -2
- package/.output/server/chunks/build/Textarea-vkMKVQTJ.mjs.map +1 -0
- package/.output/server/chunks/build/Tooltip-Dv4htNP6.mjs +1 -1
- package/.output/server/chunks/build/{_id_-BdG37K7s.mjs → _id_-2PMH6rl8.mjs} +20 -19
- package/.output/server/chunks/build/_id_-2PMH6rl8.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-BdJs7BJZ.mjs → _id_-8cGIgeg6.mjs} +1903 -1113
- package/.output/server/chunks/build/_id_-8cGIgeg6.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-C_uSBiyU.mjs → _id_-CUZ5S6y5.mjs} +29 -29
- package/.output/server/chunks/build/_id_-CUZ5S6y5.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-BxA6IgWr.mjs → _id_-DMkgWSLZ.mjs} +885 -381
- package/.output/server/chunks/build/_id_-DMkgWSLZ.mjs.map +1 -0
- package/.output/server/chunks/build/{about-BE0UV-8-.mjs → about-D3WXTDro.mjs} +21 -453
- package/.output/server/chunks/build/about-D3WXTDro.mjs.map +1 -0
- package/.output/server/chunks/build/{account-DAfvaD-F.mjs → account-BslDNCoo.mjs} +6 -6
- package/.output/server/chunks/build/account-BslDNCoo.mjs.map +1 -0
- package/.output/server/chunks/build/{ai-Cn05ch0u.mjs → ai-C23R9l94.mjs} +14 -14
- package/.output/server/chunks/build/{ai-Cn05ch0u.mjs.map → ai-C23R9l94.mjs.map} +1 -1
- package/.output/server/chunks/build/{analytics-Bo_B_jko.mjs → analytics-DQHeToK0.mjs} +104 -77
- package/.output/server/chunks/build/analytics-DQHeToK0.mjs.map +1 -0
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/compare-RxHSOdsO.mjs +1 -0
- package/.output/server/chunks/build/{db.client-CQoVTYB9.mjs → db.client-D74DghqX.mjs} +38 -2
- package/.output/server/chunks/build/db.client-D74DghqX.mjs.map +1 -0
- package/.output/server/chunks/build/{default-CbNHaFsy.mjs → default-CeyePZ5I.mjs} +32 -19
- package/.output/server/chunks/build/{default-CbNHaFsy.mjs.map → default-CeyePZ5I.mjs.map} +1 -1
- package/.output/server/chunks/build/{docs-B_llWMxx.mjs → docs-f_bnC75q.mjs} +14 -14
- package/.output/server/chunks/build/{docs-B_llWMxx.mjs.map → docs-f_bnC75q.mjs.map} +1 -1
- package/.output/server/chunks/build/{edit-J0asTFg8.mjs → edit-BOC4zWuH.mjs} +11 -12
- package/.output/server/chunks/build/edit-BOC4zWuH.mjs.map +1 -0
- package/.output/server/chunks/build/{fetch-B4FwBOzu.mjs → fetch-BQg_fhX0.mjs} +32 -4
- package/.output/server/chunks/build/fetch-BQg_fhX0.mjs.map +1 -0
- package/.output/server/chunks/build/{forgot-password-CC__1OnV.mjs → forgot-password-CxuVbGWy.mjs} +4 -3
- package/.output/server/chunks/build/forgot-password-CxuVbGWy.mjs.map +1 -0
- package/.output/server/chunks/build/{import-CS9oylTN.mjs → import-CC27wEIu.mjs} +12 -12
- package/.output/server/chunks/build/import-CC27wEIu.mjs.map +1 -0
- package/.output/server/chunks/build/{index-e9skCi-V.mjs → index-B6PjfyTY.mjs} +39 -537
- package/.output/server/chunks/build/index-B6PjfyTY.mjs.map +1 -0
- package/.output/server/chunks/build/{index-CU2nZhAa.mjs → index-BOK1aJk9.mjs} +2 -1
- package/.output/server/chunks/build/index-BOK1aJk9.mjs.map +1 -0
- package/.output/server/chunks/build/{index-hGHlmyxj.mjs → index-BhS1DuCr.mjs} +117 -76
- package/.output/server/chunks/build/index-BhS1DuCr.mjs.map +1 -0
- package/.output/server/chunks/build/{index-DE45ycdZ.mjs → index-DUmjP3Gr.mjs} +12 -13
- package/.output/server/chunks/build/index-DUmjP3Gr.mjs.map +1 -0
- package/.output/server/chunks/build/index-jvF53f7_.mjs +91 -0
- package/.output/server/chunks/build/index-jvF53f7_.mjs.map +1 -0
- package/.output/server/chunks/build/isValueEqualOrExist-D2qw9YEr.mjs +1 -1
- package/.output/server/chunks/build/{login-Da4u1IlW.mjs → login-CdpOhiP8.mjs} +8 -7
- package/.output/server/chunks/build/login-CdpOhiP8.mjs.map +1 -0
- package/.output/server/chunks/build/{mcp-uhVCCwQM.mjs → mcp-WTeO5WRo.mjs} +193 -10
- package/.output/server/chunks/build/mcp-WTeO5WRo.mjs.map +1 -0
- package/.output/server/chunks/build/{notifications-fx_qnKGA.mjs → notifications-yY6ik-fi.mjs} +9 -9
- package/.output/server/chunks/build/notifications-yY6ik-fi.mjs.map +1 -0
- package/.output/server/chunks/build/{pr-feedback-X6-70iF0.mjs → pr-feedback-Hv2Ydh_6.mjs} +7 -7
- package/.output/server/chunks/build/pr-feedback-Hv2Ydh_6.mjs.map +1 -0
- package/.output/server/chunks/build/{reset-password-BmrUS4ZD.mjs → reset-password-CFtO8A6n.mjs} +4 -3
- package/.output/server/chunks/build/reset-password-CFtO8A6n.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +51 -34
- package/.output/server/chunks/build/{settings-CCYe7rsc.mjs → settings-DIpvnY8_.mjs} +10 -8
- package/.output/server/chunks/build/settings-DIpvnY8_.mjs.map +1 -0
- package/.output/server/chunks/build/{settings-metadata-DrEqWcW-.mjs → settings-metadata-DRv9VveS.mjs} +32 -2
- package/.output/server/chunks/build/settings-metadata-DRv9VveS.mjs.map +1 -0
- package/.output/server/chunks/build/setup-Di0UMyWx.mjs +1116 -0
- package/.output/server/chunks/build/setup-Di0UMyWx.mjs.map +1 -0
- package/.output/server/chunks/build/{storage-CJEmviCD.mjs → storage-gAbY1KbQ.mjs} +10 -10
- package/.output/server/chunks/build/storage-gAbY1KbQ.mjs.map +1 -0
- package/.output/server/chunks/build/{tags-DauTe_F-.mjs → tags-DJ80wCqt.mjs} +6 -7
- package/.output/server/chunks/build/tags-DJ80wCqt.mjs.map +1 -0
- package/.output/server/chunks/build/{test-cases-thBbAykw.mjs → test-cases-YP83YlnL.mjs} +18 -18
- package/.output/server/chunks/build/test-cases-YP83YlnL.mjs.map +1 -0
- package/.output/server/chunks/build/test-functions-BwLTxGmM.mjs +550 -0
- package/.output/server/chunks/build/test-functions-BwLTxGmM.mjs.map +1 -0
- package/.output/server/chunks/build/{timeout-hygiene-CbnSaVbK.mjs → timeout-hygiene-RpXDjXTX.mjs} +6 -6
- package/.output/server/chunks/build/timeout-hygiene-RpXDjXTX.mjs.map +1 -0
- package/.output/server/chunks/build/useAiStatus-UR8x-feE.mjs +9 -0
- package/.output/server/chunks/build/useAiStatus-UR8x-feE.mjs.map +1 -0
- package/.output/server/chunks/build/{useCopyRich-RJKhWoyj.mjs → useCopyRich-Cd5Yj_Wy.mjs} +694 -242
- package/.output/server/chunks/build/useCopyRich-Cd5Yj_Wy.mjs.map +1 -0
- package/.output/server/chunks/build/{useDesktopDownload-BepjqxOt.mjs → useDesktopDownload-BmR6ouz2.mjs} +2 -2
- package/.output/server/chunks/build/useDesktopDownload-BmR6ouz2.mjs.map +1 -0
- package/.output/server/chunks/build/{useOpenInIde-BbTnPhFA.mjs → useOpenInIde-DolN3bZ5.mjs} +1 -1
- package/.output/server/chunks/build/useOpenInIde-DolN3bZ5.mjs.map +1 -0
- package/.output/server/chunks/build/useSettingsNav-DfnOFlR_.mjs +19 -0
- package/.output/server/chunks/build/useSettingsNav-DfnOFlR_.mjs.map +1 -0
- package/.output/server/chunks/build/{users-CTUqXyGh.mjs → users-I2K7HXS2.mjs} +6 -7
- package/.output/server/chunks/build/users-I2K7HXS2.mjs.map +1 -0
- package/.output/server/chunks/build/{wasted-time-BNTPIyrC.mjs → wasted-time-DyIk0olc.mjs} +9 -9
- package/.output/server/chunks/build/wasted-time-DyIk0olc.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +1348 -675
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/__piwi/session.get.mjs +2 -1
- package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/admin/stats.get.mjs +1 -0
- package/.output/server/chunks/routes/api/admin/stats.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/ai/status.get.mjs +1 -0
- package/.output/server/chunks/routes/api/ai/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/logout.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/me.get.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/me.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/setup.get.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/setup.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/verify-email.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +1 -0
- package/.output/server/chunks/routes/api/channels/_id/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/channels/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +1 -0
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +1 -0
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/desktop/import-local.post.mjs +1 -0
- package/.output/server/chunks/routes/api/desktop/import-local.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +1 -0
- package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +1 -0
- package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/files/_...path_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/health.get.mjs +1 -0
- package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get2.mjs +1 -0
- package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get3.mjs +1 -0
- package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get4.mjs +2 -1
- package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get5.mjs +1 -0
- package/.output/server/chunks/routes/api/index.get5.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post3.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post4.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post5.mjs +1 -1
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +1 -0
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/notifications/stream.get.mjs +1 -0
- package/.output/server/chunks/routes/api/notifications/stream.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/members.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs +76 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs +66 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs +53 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs +67 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/menu.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/menu.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/overview.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/overview.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/search.get.mjs +2 -1
- package/.output/server/chunks/routes/api/search.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +2 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +2 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/models.post.mjs +1 -0
- package/.output/server/chunks/routes/api/settings/ai/models.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +2 -1
- package/.output/server/chunks/routes/api/settings/ai/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +1 -0
- package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai.get.mjs +2 -1
- package/.output/server/chunks/routes/api/settings/ai.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai.put.mjs +2 -1
- package/.output/server/chunks/routes/api/settings/ai.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs +2 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +2 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/smtp.get.mjs +2 -1
- package/.output/server/chunks/routes/api/settings/smtp.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +2 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +2 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +2 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +2 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/setup-status.get.mjs +99 -0
- package/.output/server/chunks/routes/api/setup-status.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/stream.get.mjs +1 -0
- package/.output/server/chunks/routes/api/stream.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/tags/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs +60 -0
- package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs +69 -0
- package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/import.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/import.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/recent.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/setup.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/start.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/start.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/traces/check.post.mjs +2 -1
- package/.output/server/chunks/routes/api/traces/check.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/users/_id/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +2 -1
- package/.output/server/chunks/routes/api/users/_id/invite.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +2 -1
- package/.output/server/chunks/routes/api/users/_id/projects.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/version.get.mjs +2 -1
- package/.output/server/chunks/routes/api/version.get.mjs.map +1 -1
- package/.output/server/chunks/routes/mcp.post.mjs +41 -11
- package/.output/server/chunks/routes/mcp.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/tasks/sweep.mjs +1 -0
- package/.output/server/chunks/tasks/sweep.mjs.map +1 -1
- package/.output/server/chunks/tasks/sweep2.mjs +1 -0
- package/.output/server/chunks/tasks/sweep2.mjs.map +1 -1
- package/.output/server/database/migrations/0043_watery_dragon_lord.sql +22 -0
- package/.output/server/database/migrations/meta/0043_snapshot.json +3764 -0
- package/.output/server/database/migrations/meta/_journal.json +7 -0
- package/.output/server/database/migrations-pg/0044_dark_triathlon.sql +22 -0
- package/.output/server/database/migrations-pg/meta/0044_snapshot.json +4473 -0
- package/.output/server/database/migrations-pg/meta/_journal.json +7 -0
- package/.output/server/index.mjs +2 -1
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/8PUUncmO.js +0 -44
- package/.output/public/_nuxt/B8zkOmwo.js +0 -1
- package/.output/public/_nuxt/B96M2gdj.js +0 -1
- package/.output/public/_nuxt/B9OLmp0f.js +0 -1
- package/.output/public/_nuxt/BUa0V0Ly.js +0 -1
- package/.output/public/_nuxt/BUkim3TM.js +0 -1
- package/.output/public/_nuxt/BVc14Ncz.js +0 -4
- package/.output/public/_nuxt/BY0HxR3t.js +0 -17
- package/.output/public/_nuxt/B_xAMWQS.js +0 -2
- package/.output/public/_nuxt/BdQoBaOv.js +0 -1
- package/.output/public/_nuxt/BgRu_3tT.js +0 -1
- package/.output/public/_nuxt/BiO7RBWb.js +0 -6
- package/.output/public/_nuxt/CEfS4-oS.js +0 -64
- package/.output/public/_nuxt/CIoSMkpp.js +0 -1
- package/.output/public/_nuxt/CSJ-eOQM.js +0 -1
- package/.output/public/_nuxt/CahpB9Z2.js +0 -5
- package/.output/public/_nuxt/Cbh--1MW.js +0 -1
- package/.output/public/_nuxt/Cx6gc2VW.js +0 -1
- package/.output/public/_nuxt/D--H4jLI.js +0 -1
- package/.output/public/_nuxt/D1POo6S4.js +0 -10
- package/.output/public/_nuxt/D8nkF-OO.js +0 -3
- package/.output/public/_nuxt/DA25RkyK.js +0 -1
- package/.output/public/_nuxt/DIB-5fUJ.js +0 -1
- package/.output/public/_nuxt/DMec-OLo.js +0 -1
- package/.output/public/_nuxt/DSqHUrvO.js +0 -1
- package/.output/public/_nuxt/DmkUdSS4.js +0 -1
- package/.output/public/_nuxt/DoIREDVb.js +0 -1
- package/.output/public/_nuxt/DpZ1r1HA.js +0 -1
- package/.output/public/_nuxt/DqcKngf3.js +0 -1
- package/.output/public/_nuxt/DtHJgCS8.js +0 -1
- package/.output/public/_nuxt/Dtd4rC58.js +0 -9
- package/.output/public/_nuxt/Dy86h-7P.js +0 -1
- package/.output/public/_nuxt/HPNQD6v3.js +0 -1
- package/.output/public/_nuxt/HXadJrHu.js +0 -2
- package/.output/public/_nuxt/McL25vkx.js +0 -34
- package/.output/public/_nuxt/Nn93e_Mz.js +0 -1
- package/.output/public/_nuxt/UdR3DBPS.js +0 -1
- package/.output/public/_nuxt/_mj6CfPa.js +0 -1
- package/.output/public/_nuxt/builds/meta/e659b3e1-0e61-4971-940e-10063f9f4763.json +0 -1
- package/.output/public/_nuxt/entry.DmptwB51.css +0 -1
- package/.output/public/_nuxt/ryMzSDUj.js +0 -2
- package/.output/server/chunks/build/Breadcrumb-Ak2Lg3oM.mjs.map +0 -1
- package/.output/server/chunks/build/BreadcrumbNav-DO7I_z-n.mjs.map +0 -1
- package/.output/server/chunks/build/BrowserBadge-MFvBwxmD.mjs.map +0 -1
- package/.output/server/chunks/build/ChartCard-Y1UKwMsf.mjs.map +0 -1
- package/.output/server/chunks/build/Checkbox-4Q5d0fa0.mjs.map +0 -1
- package/.output/server/chunks/build/CiEnvCard-DB5DvBh1.mjs.map +0 -1
- package/.output/server/chunks/build/CodeBlock-BgE-NSmE.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardNavbar-BHmMSPX7.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardSidebarToggle-DCTnHiIv.mjs.map +0 -1
- package/.output/server/chunks/build/DataLocationCard-B_YHdzSz.mjs.map +0 -1
- package/.output/server/chunks/build/DiagnosisPanel-CALyEmcJ.mjs.map +0 -1
- package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs.map +0 -1
- package/.output/server/chunks/build/EntityLinks-BBHWssHH.mjs.map +0 -1
- package/.output/server/chunks/build/FormField-B0HKsdMd.mjs.map +0 -1
- package/.output/server/chunks/build/HelpHint-DrcIv-Oj.mjs.map +0 -1
- package/.output/server/chunks/build/LoadingState-C3pBSuOO.mjs.map +0 -1
- package/.output/server/chunks/build/MiniRunBars-CZMugDrh.mjs.map +0 -1
- package/.output/server/chunks/build/ProjectTestCasesTable-Bo61P5K1.mjs.map +0 -1
- package/.output/server/chunks/build/RunReports-DFLv51TX.mjs.map +0 -1
- package/.output/server/chunks/build/RunStatusBadge-FfGb6bkW.mjs.map +0 -1
- package/.output/server/chunks/build/SectionCard-CN-v0FZ_.mjs.map +0 -1
- package/.output/server/chunks/build/Select-5DK9frQ7.mjs.map +0 -1
- package/.output/server/chunks/build/SettingsField-BZfx4ma1.mjs.map +0 -1
- package/.output/server/chunks/build/StatTile-D61Vzo6e.mjs.map +0 -1
- package/.output/server/chunks/build/Switch-B5Fp8ULt.mjs.map +0 -1
- package/.output/server/chunks/build/TestCaseHistoryChart-CSi64vVA.mjs.map +0 -1
- package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs.map +0 -1
- package/.output/server/chunks/build/TestStatusBar-DX3EhlyP.mjs.map +0 -1
- package/.output/server/chunks/build/Textarea-Dv2-lOvW.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-BdG37K7s.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-BdJs7BJZ.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-BxA6IgWr.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-C_uSBiyU.mjs.map +0 -1
- package/.output/server/chunks/build/about-BE0UV-8-.mjs.map +0 -1
- package/.output/server/chunks/build/account-DAfvaD-F.mjs.map +0 -1
- package/.output/server/chunks/build/analytics-Bo_B_jko.mjs.map +0 -1
- package/.output/server/chunks/build/db.client-CQoVTYB9.mjs.map +0 -1
- package/.output/server/chunks/build/edit-J0asTFg8.mjs.map +0 -1
- package/.output/server/chunks/build/fetch-B4FwBOzu.mjs.map +0 -1
- package/.output/server/chunks/build/forgot-password-CC__1OnV.mjs.map +0 -1
- package/.output/server/chunks/build/import-CS9oylTN.mjs.map +0 -1
- package/.output/server/chunks/build/index-CU2nZhAa.mjs.map +0 -1
- package/.output/server/chunks/build/index-DE45ycdZ.mjs.map +0 -1
- package/.output/server/chunks/build/index-e9skCi-V.mjs.map +0 -1
- package/.output/server/chunks/build/index-hGHlmyxj.mjs.map +0 -1
- package/.output/server/chunks/build/index-tR6owKzj.mjs +0 -167
- package/.output/server/chunks/build/index-tR6owKzj.mjs.map +0 -1
- package/.output/server/chunks/build/login-Da4u1IlW.mjs.map +0 -1
- package/.output/server/chunks/build/mcp-uhVCCwQM.mjs.map +0 -1
- package/.output/server/chunks/build/notifications-fx_qnKGA.mjs.map +0 -1
- package/.output/server/chunks/build/pr-feedback-X6-70iF0.mjs.map +0 -1
- package/.output/server/chunks/build/reset-password-BmrUS4ZD.mjs.map +0 -1
- package/.output/server/chunks/build/settings-CCYe7rsc.mjs.map +0 -1
- package/.output/server/chunks/build/settings-metadata-DrEqWcW-.mjs.map +0 -1
- package/.output/server/chunks/build/storage-CJEmviCD.mjs.map +0 -1
- package/.output/server/chunks/build/tags-DauTe_F-.mjs.map +0 -1
- package/.output/server/chunks/build/test-cases-thBbAykw.mjs.map +0 -1
- package/.output/server/chunks/build/timeout-hygiene-CbnSaVbK.mjs.map +0 -1
- package/.output/server/chunks/build/useAiStatus-CxjMmDDY.mjs.map +0 -1
- package/.output/server/chunks/build/useCopy-CeKWgHyT.mjs +0 -33
- package/.output/server/chunks/build/useCopy-CeKWgHyT.mjs.map +0 -1
- package/.output/server/chunks/build/useCopyRich-RJKhWoyj.mjs.map +0 -1
- package/.output/server/chunks/build/useDesktopDownload-BepjqxOt.mjs.map +0 -1
- package/.output/server/chunks/build/useOpenInIde-BbTnPhFA.mjs.map +0 -1
- package/.output/server/chunks/build/useSettingsNav-DnQKacz8.mjs.map +0 -1
- package/.output/server/chunks/build/users-CTUqXyGh.mjs.map +0 -1
- package/.output/server/chunks/build/wasted-time-BNTPIyrC.mjs.map +0 -1
|
@@ -16,6 +16,7 @@ import typescript from 'highlight.js/lib/languages/typescript';
|
|
|
16
16
|
import xml from 'highlight.js/lib/languages/xml';
|
|
17
17
|
import yaml from 'highlight.js/lib/languages/yaml';
|
|
18
18
|
import { strToU8, zipSync } from 'fflate';
|
|
19
|
+
import { z } from 'zod';
|
|
19
20
|
import pixelmatch from 'pixelmatch';
|
|
20
21
|
import sharp from 'sharp';
|
|
21
22
|
import Anthropic from '@anthropic-ai/sdk';
|
|
@@ -32,7 +33,7 @@ import { promises, existsSync } from 'node:fs';
|
|
|
32
33
|
import { resolve as resolve$1, dirname as dirname$1, join } from 'node:path';
|
|
33
34
|
import { drizzle } from 'drizzle-orm/libsql/sqlite3';
|
|
34
35
|
import { sqliteTable, integer, text, uniqueIndex, index, primaryKey, real } from 'drizzle-orm/sqlite-core';
|
|
35
|
-
import { pgTable, timestamp, text as text$1, integer as integer$1, serial, uniqueIndex as uniqueIndex$1, jsonb, index as index$1, bigint, primaryKey as primaryKey$1, doublePrecision } from 'drizzle-orm/pg-core';
|
|
36
|
+
import { pgTable, timestamp, text as text$1, integer as integer$1, serial, uniqueIndex as uniqueIndex$1, jsonb, index as index$1, bigint, primaryKey as primaryKey$1, doublePrecision, boolean } from 'drizzle-orm/pg-core';
|
|
36
37
|
import { fileURLToPath } from 'url';
|
|
37
38
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
38
39
|
import { gzipSync } from 'node:zlib';
|
|
@@ -5294,7 +5295,7 @@ function _expandFromEnv(value) {
|
|
|
5294
5295
|
const _inlineRuntimeConfig = {
|
|
5295
5296
|
"app": {
|
|
5296
5297
|
"baseURL": "/",
|
|
5297
|
-
"buildId": "
|
|
5298
|
+
"buildId": "31ca2be4-a949-4df6-9818-773fc085557a",
|
|
5298
5299
|
"buildAssetsDir": "/_nuxt/",
|
|
5299
5300
|
"cdnURL": ""
|
|
5300
5301
|
},
|
|
@@ -5304,7 +5305,7 @@ const _inlineRuntimeConfig = {
|
|
|
5304
5305
|
"meta": {
|
|
5305
5306
|
"title": "Piwi Dashboard API",
|
|
5306
5307
|
"description": "REST API for storing and querying Playwright test results, traces, failure diagnoses, and project statistics.",
|
|
5307
|
-
"version": "0.
|
|
5308
|
+
"version": "0.21.0",
|
|
5308
5309
|
"components": {
|
|
5309
5310
|
"securitySchemes": {
|
|
5310
5311
|
"bearerAuth": {
|
|
@@ -5390,9 +5391,9 @@ const _inlineRuntimeConfig = {
|
|
|
5390
5391
|
"authEnabled": false,
|
|
5391
5392
|
"demoMode": false,
|
|
5392
5393
|
"demoDataVersion": "",
|
|
5393
|
-
"appVersion": "0.
|
|
5394
|
+
"appVersion": "0.21.0",
|
|
5394
5395
|
"buildSha": "",
|
|
5395
|
-
"buildTime": "2026-07-
|
|
5396
|
+
"buildTime": "2026-07-30T10:26:36.689Z",
|
|
5396
5397
|
"nodeVersion": "v24.18.0",
|
|
5397
5398
|
"desktop": false,
|
|
5398
5399
|
"oauthProviders": []
|
|
@@ -6777,6 +6778,41 @@ const projectAssignments$2 = sqliteTable(
|
|
|
6777
6778
|
createdByIdx: index("idx_project_assignments_created_by").on(t.createdBy)
|
|
6778
6779
|
})
|
|
6779
6780
|
);
|
|
6781
|
+
const testFunctions$2 = sqliteTable(
|
|
6782
|
+
"test_functions",
|
|
6783
|
+
{
|
|
6784
|
+
id: integer("id").primaryKey({ autoIncrement: true }),
|
|
6785
|
+
projectId: integer("project_id").notNull().references(() => projects$2.id, { onDelete: "cascade" }),
|
|
6786
|
+
name: text("name").notNull(),
|
|
6787
|
+
kind: text("kind").notNull(),
|
|
6788
|
+
// 'page-object-method' | 'helper' | 'fixture'
|
|
6789
|
+
module: text("module").notNull(),
|
|
6790
|
+
// import specifier, e.g. './pages/CartPage'
|
|
6791
|
+
receiver: text("receiver"),
|
|
6792
|
+
// instance variable name for page-object-method, e.g. 'cartPage'; null otherwise
|
|
6793
|
+
importName: text("import_name"),
|
|
6794
|
+
// class name to import + instantiate for page-object-method; null otherwise
|
|
6795
|
+
params: text("params").notNull(),
|
|
6796
|
+
// JSON: FunctionParam[]
|
|
6797
|
+
returnsPage: integer("returns_page", { mode: "boolean" }).notNull().default(false),
|
|
6798
|
+
urlPattern: text("url_pattern"),
|
|
6799
|
+
// glob matched against a recorded step's page URL; null matches any page
|
|
6800
|
+
steps: text("steps").notNull(),
|
|
6801
|
+
// JSON: FunctionPatternStep[] — the DOM pattern this function drives
|
|
6802
|
+
paramSources: text("param_sources").notNull(),
|
|
6803
|
+
// JSON: FunctionParamSource[]
|
|
6804
|
+
source: text("source").notNull().default("manual"),
|
|
6805
|
+
// 'manual' | 'scanned' | 'recorded' | 'ai-extracted'
|
|
6806
|
+
confidence: real("confidence").notNull().default(1),
|
|
6807
|
+
// 0-1; 1 for manual/reviewed entries
|
|
6808
|
+
createdAt: integer("created_at", { mode: "timestamp" }).notNull().$defaultFn(() => /* @__PURE__ */ new Date()),
|
|
6809
|
+
updatedAt: integer("updated_at", { mode: "timestamp" }).notNull().$defaultFn(() => /* @__PURE__ */ new Date())
|
|
6810
|
+
},
|
|
6811
|
+
(table) => ({
|
|
6812
|
+
projectIdIdx: index("idx_test_functions_project_id").on(table.projectId),
|
|
6813
|
+
uniqueName: uniqueIndex("idx_test_functions_project_module_name").on(table.projectId, table.module, table.name)
|
|
6814
|
+
})
|
|
6815
|
+
);
|
|
6780
6816
|
const apiKeys$2 = sqliteTable(
|
|
6781
6817
|
"api_keys",
|
|
6782
6818
|
{
|
|
@@ -6822,6 +6858,7 @@ const sqliteSchema = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProper
|
|
|
6822
6858
|
subscriptions: subscriptions$2,
|
|
6823
6859
|
tags: tags$2,
|
|
6824
6860
|
testCases: testCases$2,
|
|
6861
|
+
testFunctions: testFunctions$2,
|
|
6825
6862
|
testRuns: testRuns$2,
|
|
6826
6863
|
testRunsCases: testRunsCases$2,
|
|
6827
6864
|
testSuites: testSuites$2,
|
|
@@ -7593,6 +7630,41 @@ const projectAssignments$1 = pgTable(
|
|
|
7593
7630
|
createdByIdx: index$1("idx_project_assignments_created_by").on(t.createdBy)
|
|
7594
7631
|
})
|
|
7595
7632
|
);
|
|
7633
|
+
const testFunctions$1 = pgTable(
|
|
7634
|
+
"test_functions",
|
|
7635
|
+
{
|
|
7636
|
+
id: serial("id").primaryKey(),
|
|
7637
|
+
projectId: integer$1("project_id").notNull().references(() => projects$1.id, { onDelete: "cascade" }),
|
|
7638
|
+
name: text$1("name").notNull(),
|
|
7639
|
+
kind: text$1("kind").notNull(),
|
|
7640
|
+
// 'page-object-method' | 'helper' | 'fixture'
|
|
7641
|
+
module: text$1("module").notNull(),
|
|
7642
|
+
// import specifier, e.g. './pages/CartPage'
|
|
7643
|
+
receiver: text$1("receiver"),
|
|
7644
|
+
// instance variable name for page-object-method, e.g. 'cartPage'; null otherwise
|
|
7645
|
+
importName: text$1("import_name"),
|
|
7646
|
+
// class name to import + instantiate for page-object-method; null otherwise
|
|
7647
|
+
params: text$1("params").notNull(),
|
|
7648
|
+
// JSON: FunctionParam[]
|
|
7649
|
+
returnsPage: boolean("returns_page").notNull().default(false),
|
|
7650
|
+
urlPattern: text$1("url_pattern"),
|
|
7651
|
+
// glob matched against a recorded step's page URL; null matches any page
|
|
7652
|
+
steps: text$1("steps").notNull(),
|
|
7653
|
+
// JSON: FunctionPatternStep[] — the DOM pattern this function drives
|
|
7654
|
+
paramSources: text$1("param_sources").notNull(),
|
|
7655
|
+
// JSON: FunctionParamSource[]
|
|
7656
|
+
source: text$1("source").notNull().default("manual"),
|
|
7657
|
+
// 'manual' | 'scanned' | 'recorded' | 'ai-extracted'
|
|
7658
|
+
confidence: doublePrecision("confidence").notNull().default(1),
|
|
7659
|
+
// 0-1; 1 for manual/reviewed entries
|
|
7660
|
+
createdAt: timestamp("created_at", { mode: "date" }).notNull().$defaultFn(() => /* @__PURE__ */ new Date()),
|
|
7661
|
+
updatedAt: timestamp("updated_at", { mode: "date" }).notNull().$defaultFn(() => /* @__PURE__ */ new Date())
|
|
7662
|
+
},
|
|
7663
|
+
(table) => ({
|
|
7664
|
+
projectIdIdx: index$1("idx_test_functions_project_id").on(table.projectId),
|
|
7665
|
+
uniqueName: uniqueIndex$1("idx_test_functions_project_module_name").on(table.projectId, table.module, table.name)
|
|
7666
|
+
})
|
|
7667
|
+
);
|
|
7596
7668
|
const apiKeys$1 = pgTable(
|
|
7597
7669
|
"api_keys",
|
|
7598
7670
|
{
|
|
@@ -7638,6 +7710,7 @@ const pgSchema = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
|
7638
7710
|
subscriptions: subscriptions$1,
|
|
7639
7711
|
tags: tags$1,
|
|
7640
7712
|
testCases: testCases$1,
|
|
7713
|
+
testFunctions: testFunctions$1,
|
|
7641
7714
|
testRuns: testRuns$1,
|
|
7642
7715
|
testRunsCases: testRunsCases$1,
|
|
7643
7716
|
testSuites: testSuites$1,
|
|
@@ -7676,7 +7749,8 @@ const {
|
|
|
7676
7749
|
notificationDeliveries,
|
|
7677
7750
|
projectAssignments,
|
|
7678
7751
|
locatorSnapshots,
|
|
7679
|
-
casePayloads
|
|
7752
|
+
casePayloads,
|
|
7753
|
+
testFunctions
|
|
7680
7754
|
} = schema;
|
|
7681
7755
|
|
|
7682
7756
|
var Role = /* @__PURE__ */ ((Role2) => {
|
|
@@ -8475,1171 +8549,1227 @@ const assets = {
|
|
|
8475
8549
|
"/favicon.ico": {
|
|
8476
8550
|
"type": "image/vnd.microsoft.icon",
|
|
8477
8551
|
"etag": "\"10be-n8egyE9tcb7sKGr/pYCaQ4uWqxI\"",
|
|
8478
|
-
"mtime": "2026-07-
|
|
8552
|
+
"mtime": "2026-07-30T10:27:26.370Z",
|
|
8479
8553
|
"size": 4286,
|
|
8480
8554
|
"path": "../public/favicon.ico"
|
|
8481
8555
|
},
|
|
8482
|
-
"/logo.svg": {
|
|
8483
|
-
"type": "image/svg+xml",
|
|
8484
|
-
"etag": "\"227-zf2iTCS774TQ8KzCfu7lZwo7+m4\"",
|
|
8485
|
-
"mtime": "2026-07-27T16:23:53.386Z",
|
|
8486
|
-
"size": 551,
|
|
8487
|
-
"path": "../public/logo.svg"
|
|
8488
|
-
},
|
|
8489
8556
|
"/logo-wide.svg": {
|
|
8490
8557
|
"type": "image/svg+xml",
|
|
8491
8558
|
"etag": "\"2be-KTnO7suQYXn/8/4nVAlxEu9SjHE\"",
|
|
8492
|
-
"mtime": "2026-07-
|
|
8559
|
+
"mtime": "2026-07-30T10:27:26.370Z",
|
|
8493
8560
|
"size": 702,
|
|
8494
8561
|
"path": "../public/logo-wide.svg"
|
|
8495
8562
|
},
|
|
8563
|
+
"/logo.svg": {
|
|
8564
|
+
"type": "image/svg+xml",
|
|
8565
|
+
"etag": "\"227-zf2iTCS774TQ8KzCfu7lZwo7+m4\"",
|
|
8566
|
+
"mtime": "2026-07-30T10:27:26.370Z",
|
|
8567
|
+
"size": 551,
|
|
8568
|
+
"path": "../public/logo.svg"
|
|
8569
|
+
},
|
|
8496
8570
|
"/_fonts/57NSSoFy1VLVs2gqly8Ls9awBnZMFyXGrefpmqvdqmc-zJfbBtpgM4cDmcXBsqZNW79_kFnlpPd62b48glgdydA.woff2": {
|
|
8497
8571
|
"type": "font/woff2",
|
|
8498
8572
|
"etag": "\"4b5c-TAo9mx7r3xQs52+HbHcHJ52z8Qo\"",
|
|
8499
|
-
"mtime": "2026-07-
|
|
8573
|
+
"mtime": "2026-07-30T10:27:26.315Z",
|
|
8500
8574
|
"size": 19292,
|
|
8501
8575
|
"path": "../public/_fonts/57NSSoFy1VLVs2gqly8Ls9awBnZMFyXGrefpmqvdqmc-zJfbBtpgM4cDmcXBsqZNW79_kFnlpPd62b48glgdydA.woff2"
|
|
8502
8576
|
},
|
|
8503
8577
|
"/_fonts/8VR2wSMN-3U4NbWAVYXlkRV6hA0jFBXP-0RtL3X7fko-x2gYI4qfmkRdxyQQUPaBZdZdgl1TeVrquF_TxHeM4lM.woff2": {
|
|
8504
8578
|
"type": "font/woff2",
|
|
8505
8579
|
"etag": "\"212c-FshXJibFzNhd2HEIMP8C3JR5PYg\"",
|
|
8506
|
-
"mtime": "2026-07-
|
|
8580
|
+
"mtime": "2026-07-30T10:27:26.315Z",
|
|
8507
8581
|
"size": 8492,
|
|
8508
8582
|
"path": "../public/_fonts/8VR2wSMN-3U4NbWAVYXlkRV6hA0jFBXP-0RtL3X7fko-x2gYI4qfmkRdxyQQUPaBZdZdgl1TeVrquF_TxHeM4lM.woff2"
|
|
8509
8583
|
},
|
|
8510
8584
|
"/_fonts/GsKUclqeNLJ96g5AU593ug6yanivOiwjW_7zESNPChw-jHA4tBeM1bjF7LATGUpfBuSTyomIFrWBTzjF7txVYfg.woff2": {
|
|
8511
8585
|
"type": "font/woff2",
|
|
8512
8586
|
"etag": "\"680c-mJtsV33lkTAKSmfq5k3lKHSllcU\"",
|
|
8513
|
-
"mtime": "2026-07-
|
|
8587
|
+
"mtime": "2026-07-30T10:27:26.315Z",
|
|
8514
8588
|
"size": 26636,
|
|
8515
8589
|
"path": "../public/_fonts/GsKUclqeNLJ96g5AU593ug6yanivOiwjW_7zESNPChw-jHA4tBeM1bjF7LATGUpfBuSTyomIFrWBTzjF7txVYfg.woff2"
|
|
8516
8590
|
},
|
|
8591
|
+
"/_fonts/Ld1FnTo3yTIwDyGfTQ5-Fws9AWsCbKfMvgxduXr7JcY-W25bL8NF1fjpLRSOgJb7RoZPHqGQNwMTM7S9tHVoxx8.woff2": {
|
|
8592
|
+
"type": "font/woff2",
|
|
8593
|
+
"etag": "\"6ec4-8OoFFPZKF1grqmfGVjh5JDE6DOU\"",
|
|
8594
|
+
"mtime": "2026-07-30T10:27:26.315Z",
|
|
8595
|
+
"size": 28356,
|
|
8596
|
+
"path": "../public/_fonts/Ld1FnTo3yTIwDyGfTQ5-Fws9AWsCbKfMvgxduXr7JcY-W25bL8NF1fjpLRSOgJb7RoZPHqGQNwMTM7S9tHVoxx8.woff2"
|
|
8597
|
+
},
|
|
8517
8598
|
"/_fonts/NdzqRASp2bovDUhQT1IRE_EMqKJ2KYQdTCfFcBvL8yw-KhwZiS86o3fErOe5GGMExHUemmI_dBfaEFxjISZrBd0.woff2": {
|
|
8518
8599
|
"type": "font/woff2",
|
|
8519
8600
|
"etag": "\"1d98-cDZfMibtk4T04FTTAmlfhWDpkN0\"",
|
|
8520
|
-
"mtime": "2026-07-
|
|
8601
|
+
"mtime": "2026-07-30T10:27:26.315Z",
|
|
8521
8602
|
"size": 7576,
|
|
8522
8603
|
"path": "../public/_fonts/NdzqRASp2bovDUhQT1IRE_EMqKJ2KYQdTCfFcBvL8yw-KhwZiS86o3fErOe5GGMExHUemmI_dBfaEFxjISZrBd0.woff2"
|
|
8523
8604
|
},
|
|
8524
8605
|
"/_fonts/iTkrULNFJJkTvihIg1Vqi5IODRH_9btXCioVF5l98I8-AndUyau2HR2felA_ra8V2mutQgschhasE5FD1dXGJX8.woff2": {
|
|
8525
8606
|
"type": "font/woff2",
|
|
8526
8607
|
"etag": "\"47c4-5xyngHnzzhetUee74tMx9OTgqNQ\"",
|
|
8527
|
-
"mtime": "2026-07-
|
|
8608
|
+
"mtime": "2026-07-30T10:27:26.315Z",
|
|
8528
8609
|
"size": 18372,
|
|
8529
8610
|
"path": "../public/_fonts/iTkrULNFJJkTvihIg1Vqi5IODRH_9btXCioVF5l98I8-AndUyau2HR2felA_ra8V2mutQgschhasE5FD1dXGJX8.woff2"
|
|
8530
8611
|
},
|
|
8531
|
-
"/_fonts/Ld1FnTo3yTIwDyGfTQ5-Fws9AWsCbKfMvgxduXr7JcY-W25bL8NF1fjpLRSOgJb7RoZPHqGQNwMTM7S9tHVoxx8.woff2": {
|
|
8532
|
-
"type": "font/woff2",
|
|
8533
|
-
"etag": "\"6ec4-8OoFFPZKF1grqmfGVjh5JDE6DOU\"",
|
|
8534
|
-
"mtime": "2026-07-27T16:23:53.333Z",
|
|
8535
|
-
"size": 28356,
|
|
8536
|
-
"path": "../public/_fonts/Ld1FnTo3yTIwDyGfTQ5-Fws9AWsCbKfMvgxduXr7JcY-W25bL8NF1fjpLRSOgJb7RoZPHqGQNwMTM7S9tHVoxx8.woff2"
|
|
8537
|
-
},
|
|
8538
8612
|
"/demo/seed.version.json": {
|
|
8539
8613
|
"type": "application/json",
|
|
8540
8614
|
"etag": "\"7e-E/kgwdj/F2Q1HtVGLihtQDkwgJw\"",
|
|
8541
|
-
"mtime": "2026-07-
|
|
8615
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
8542
8616
|
"size": 126,
|
|
8543
8617
|
"path": "../public/demo/seed.version.json"
|
|
8544
8618
|
},
|
|
8545
8619
|
"/trace-viewer/codeMirrorModule.DYBRYzYX.css": {
|
|
8546
8620
|
"type": "text/css; charset=utf-8",
|
|
8547
8621
|
"etag": "\"1915-JpgSazNhdn4V/MJ1ywYmFDwc5S0\"",
|
|
8548
|
-
"mtime": "2026-07-
|
|
8622
|
+
"mtime": "2026-07-30T10:27:26.310Z",
|
|
8549
8623
|
"size": 6421,
|
|
8550
8624
|
"path": "../public/trace-viewer/codeMirrorModule.DYBRYzYX.css"
|
|
8551
8625
|
},
|
|
8552
|
-
"/trace-viewer/codicon.DCmgc-ay.ttf": {
|
|
8553
|
-
"type": "font/ttf",
|
|
8554
|
-
"etag": "\"139d4-58fQ8Ohjcapek6AgDzlcXTeWfi4\"",
|
|
8555
|
-
"mtime": "2026-07-27T16:23:53.326Z",
|
|
8556
|
-
"size": 80340,
|
|
8557
|
-
"path": "../public/trace-viewer/codicon.DCmgc-ay.ttf"
|
|
8558
|
-
},
|
|
8559
8626
|
"/trace-viewer/index.CzXZzn5A.css": {
|
|
8560
8627
|
"type": "text/css; charset=utf-8",
|
|
8561
8628
|
"etag": "\"83f-TIEqGFSCI/y9wLlWQ9KI9rhgzhM\"",
|
|
8562
|
-
"mtime": "2026-07-
|
|
8629
|
+
"mtime": "2026-07-30T10:27:26.310Z",
|
|
8563
8630
|
"size": 2111,
|
|
8564
8631
|
"path": "../public/trace-viewer/index.CzXZzn5A.css"
|
|
8565
8632
|
},
|
|
8566
8633
|
"/trace-viewer/defaultSettingsView.CjdS-WJx.css": {
|
|
8567
8634
|
"type": "text/css; charset=utf-8",
|
|
8568
8635
|
"etag": "\"1b682-zyUKJhc3Kd7Eth4Nja/XwcNwaZE\"",
|
|
8569
|
-
"mtime": "2026-07-
|
|
8636
|
+
"mtime": "2026-07-30T10:27:26.310Z",
|
|
8570
8637
|
"size": 112258,
|
|
8571
8638
|
"path": "../public/trace-viewer/defaultSettingsView.CjdS-WJx.css"
|
|
8572
8639
|
},
|
|
8640
|
+
"/trace-viewer/codicon.DCmgc-ay.ttf": {
|
|
8641
|
+
"type": "font/ttf",
|
|
8642
|
+
"etag": "\"139d4-58fQ8Ohjcapek6AgDzlcXTeWfi4\"",
|
|
8643
|
+
"mtime": "2026-07-30T10:27:26.310Z",
|
|
8644
|
+
"size": 80340,
|
|
8645
|
+
"path": "../public/trace-viewer/codicon.DCmgc-ay.ttf"
|
|
8646
|
+
},
|
|
8573
8647
|
"/trace-viewer/index.DMMX1gXU.js": {
|
|
8574
8648
|
"type": "text/javascript; charset=utf-8",
|
|
8575
8649
|
"etag": "\"1993-TVjRxPdbBj8eZVBjEl2tQwn2+Qw\"",
|
|
8576
|
-
"mtime": "2026-07-
|
|
8650
|
+
"mtime": "2026-07-30T10:27:26.310Z",
|
|
8577
8651
|
"size": 6547,
|
|
8578
8652
|
"path": "../public/trace-viewer/index.DMMX1gXU.js"
|
|
8579
8653
|
},
|
|
8580
8654
|
"/trace-viewer/index.html": {
|
|
8581
8655
|
"type": "text/html; charset=utf-8",
|
|
8582
8656
|
"etag": "\"93b-Q9Kwvw0usHS0Gpqr0UX9oQYEdiE\"",
|
|
8583
|
-
"mtime": "2026-07-
|
|
8657
|
+
"mtime": "2026-07-30T10:27:26.310Z",
|
|
8584
8658
|
"size": 2363,
|
|
8585
8659
|
"path": "../public/trace-viewer/index.html"
|
|
8586
8660
|
},
|
|
8587
8661
|
"/trace-viewer/manifest.webmanifest": {
|
|
8588
8662
|
"type": "application/manifest+json",
|
|
8589
8663
|
"etag": "\"1ad-65iJMnlapJdso52CYCVqmQAQiig\"",
|
|
8590
|
-
"mtime": "2026-07-
|
|
8664
|
+
"mtime": "2026-07-30T10:27:26.310Z",
|
|
8591
8665
|
"size": 429,
|
|
8592
8666
|
"path": "../public/trace-viewer/manifest.webmanifest"
|
|
8593
8667
|
},
|
|
8594
8668
|
"/trace-viewer/playwright-logo.svg": {
|
|
8595
8669
|
"type": "image/svg+xml",
|
|
8596
8670
|
"etag": "\"13a9-ahY66UsN8jwB5B3d0GQXCkwKGOM\"",
|
|
8597
|
-
"mtime": "2026-07-
|
|
8671
|
+
"mtime": "2026-07-30T10:27:26.310Z",
|
|
8598
8672
|
"size": 5033,
|
|
8599
8673
|
"path": "../public/trace-viewer/playwright-logo.svg"
|
|
8600
8674
|
},
|
|
8601
|
-
"/trace-viewer/snapshot.v8KI4P3m.js": {
|
|
8602
|
-
"type": "text/javascript; charset=utf-8",
|
|
8603
|
-
"etag": "\"294-M6/AA4CNcP3qe4KtsgBVT9ULEr8\"",
|
|
8604
|
-
"mtime": "2026-07-27T16:23:53.327Z",
|
|
8605
|
-
"size": 660,
|
|
8606
|
-
"path": "../public/trace-viewer/snapshot.v8KI4P3m.js"
|
|
8607
|
-
},
|
|
8608
8675
|
"/trace-viewer/snapshot.html": {
|
|
8609
8676
|
"type": "text/html; charset=utf-8",
|
|
8610
8677
|
"etag": "\"185-MntsrIp+O191dZtafoNfenGydFQ\"",
|
|
8611
|
-
"mtime": "2026-07-
|
|
8678
|
+
"mtime": "2026-07-30T10:27:26.310Z",
|
|
8612
8679
|
"size": 389,
|
|
8613
8680
|
"path": "../public/trace-viewer/snapshot.html"
|
|
8614
8681
|
},
|
|
8682
|
+
"/trace-viewer/snapshot.v8KI4P3m.js": {
|
|
8683
|
+
"type": "text/javascript; charset=utf-8",
|
|
8684
|
+
"etag": "\"294-M6/AA4CNcP3qe4KtsgBVT9ULEr8\"",
|
|
8685
|
+
"mtime": "2026-07-30T10:27:26.310Z",
|
|
8686
|
+
"size": 660,
|
|
8687
|
+
"path": "../public/trace-viewer/snapshot.v8KI4P3m.js"
|
|
8688
|
+
},
|
|
8615
8689
|
"/trace-viewer/sw.bundle.js": {
|
|
8616
8690
|
"type": "text/javascript; charset=utf-8",
|
|
8617
8691
|
"etag": "\"1766f-LYVOPlllQ6HbWu8/sYA+ucNpwXA\"",
|
|
8618
|
-
"mtime": "2026-07-
|
|
8692
|
+
"mtime": "2026-07-30T10:27:26.310Z",
|
|
8619
8693
|
"size": 95855,
|
|
8620
8694
|
"path": "../public/trace-viewer/sw.bundle.js"
|
|
8621
8695
|
},
|
|
8622
8696
|
"/trace-viewer/uiMode.BZQ54Kgt.css": {
|
|
8623
8697
|
"type": "text/css; charset=utf-8",
|
|
8624
8698
|
"etag": "\"eb97-4dDnRPJVbG+rvNdHYx00H5WYGog\"",
|
|
8625
|
-
"mtime": "2026-07-
|
|
8699
|
+
"mtime": "2026-07-30T10:27:26.310Z",
|
|
8626
8700
|
"size": 60311,
|
|
8627
8701
|
"path": "../public/trace-viewer/uiMode.BZQ54Kgt.css"
|
|
8628
8702
|
},
|
|
8629
8703
|
"/trace-viewer/uiMode.Ut8wwJNp.js": {
|
|
8630
8704
|
"type": "text/javascript; charset=utf-8",
|
|
8631
8705
|
"etag": "\"9672-TS3PNm5O6a2xQC4AjO4bzA6v+fo\"",
|
|
8632
|
-
"mtime": "2026-07-
|
|
8706
|
+
"mtime": "2026-07-30T10:27:26.311Z",
|
|
8633
8707
|
"size": 38514,
|
|
8634
8708
|
"path": "../public/trace-viewer/uiMode.Ut8wwJNp.js"
|
|
8635
8709
|
},
|
|
8636
8710
|
"/demo/sql-wasm-browser.wasm": {
|
|
8637
8711
|
"type": "application/wasm",
|
|
8638
8712
|
"etag": "\"a1112-VgEjQHIPAH2iURZvQudNOn9Qkq8\"",
|
|
8639
|
-
"mtime": "2026-07-
|
|
8713
|
+
"mtime": "2026-07-30T10:27:26.369Z",
|
|
8640
8714
|
"size": 659730,
|
|
8641
8715
|
"path": "../public/demo/sql-wasm-browser.wasm"
|
|
8642
8716
|
},
|
|
8643
8717
|
"/demo/sql-wasm.wasm": {
|
|
8644
8718
|
"type": "application/wasm",
|
|
8645
8719
|
"etag": "\"a1112-VgEjQHIPAH2iURZvQudNOn9Qkq8\"",
|
|
8646
|
-
"mtime": "2026-07-
|
|
8720
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
8647
8721
|
"size": 659730,
|
|
8648
8722
|
"path": "../public/demo/sql-wasm.wasm"
|
|
8649
8723
|
},
|
|
8650
8724
|
"/trace-viewer/uiMode.html": {
|
|
8651
8725
|
"type": "text/html; charset=utf-8",
|
|
8652
8726
|
"etag": "\"2d7-1Qho/xV0zcgOFBmSyQY+lVCKvd0\"",
|
|
8653
|
-
"mtime": "2026-07-
|
|
8727
|
+
"mtime": "2026-07-30T10:27:26.310Z",
|
|
8654
8728
|
"size": 727,
|
|
8655
8729
|
"path": "../public/trace-viewer/uiMode.html"
|
|
8656
8730
|
},
|
|
8657
8731
|
"/trace-viewer/xtermModule.DYP7pi_n.css": {
|
|
8658
8732
|
"type": "text/css; charset=utf-8",
|
|
8659
8733
|
"etag": "\"1036-kB8yYI/542OISyd/8mW1esbgl4Y\"",
|
|
8660
|
-
"mtime": "2026-07-
|
|
8734
|
+
"mtime": "2026-07-30T10:27:26.311Z",
|
|
8661
8735
|
"size": 4150,
|
|
8662
8736
|
"path": "../public/trace-viewer/xtermModule.DYP7pi_n.css"
|
|
8663
8737
|
},
|
|
8664
|
-
"/_nuxt
|
|
8665
|
-
"type": "text/javascript; charset=utf-8",
|
|
8666
|
-
"etag": "\"7e5-HNogaxQgS6fM7+e5xBzxxbZBWCM\"",
|
|
8667
|
-
"mtime": "2026-07-27T16:23:53.376Z",
|
|
8668
|
-
"size": 2021,
|
|
8669
|
-
"path": "../public/_nuxt/-f7BAm1H.js"
|
|
8670
|
-
},
|
|
8671
|
-
"/_nuxt/4gYNA-d4.js": {
|
|
8672
|
-
"type": "text/javascript; charset=utf-8",
|
|
8673
|
-
"etag": "\"1f2-B/te5dm6SpGjvLo79reCS15ivM0\"",
|
|
8674
|
-
"mtime": "2026-07-27T16:23:53.371Z",
|
|
8675
|
-
"size": 498,
|
|
8676
|
-
"path": "../public/_nuxt/4gYNA-d4.js"
|
|
8677
|
-
},
|
|
8678
|
-
"/_nuxt/5A6ITZXj.js": {
|
|
8738
|
+
"/_nuxt/9ti9eNH9.js": {
|
|
8679
8739
|
"type": "text/javascript; charset=utf-8",
|
|
8680
|
-
"etag": "\"
|
|
8681
|
-
"mtime": "2026-07-
|
|
8682
|
-
"size":
|
|
8683
|
-
"path": "../public/_nuxt/
|
|
8740
|
+
"etag": "\"18d1-PzPF3OZaneWWBbdow2iUmRt0SXI\"",
|
|
8741
|
+
"mtime": "2026-07-30T10:27:26.354Z",
|
|
8742
|
+
"size": 6353,
|
|
8743
|
+
"path": "../public/_nuxt/9ti9eNH9.js"
|
|
8684
8744
|
},
|
|
8685
|
-
"/_nuxt/
|
|
8745
|
+
"/_nuxt/B3Fsod9X.js": {
|
|
8686
8746
|
"type": "text/javascript; charset=utf-8",
|
|
8687
|
-
"etag": "\"
|
|
8688
|
-
"mtime": "2026-07-
|
|
8689
|
-
"size":
|
|
8690
|
-
"path": "../public/_nuxt/
|
|
8747
|
+
"etag": "\"54d-Isb0kg8GYG9VSu+pT8BRmNWeEM8\"",
|
|
8748
|
+
"mtime": "2026-07-30T10:27:26.354Z",
|
|
8749
|
+
"size": 1357,
|
|
8750
|
+
"path": "../public/_nuxt/B3Fsod9X.js"
|
|
8691
8751
|
},
|
|
8692
|
-
"/_nuxt/
|
|
8752
|
+
"/_nuxt/B-zdP-D4.js": {
|
|
8693
8753
|
"type": "text/javascript; charset=utf-8",
|
|
8694
|
-
"etag": "\"
|
|
8695
|
-
"mtime": "2026-07-
|
|
8696
|
-
"size":
|
|
8697
|
-
"path": "../public/_nuxt/
|
|
8754
|
+
"etag": "\"1df-ELb+HLWT6GI6ZigL+0kBL7dcyKw\"",
|
|
8755
|
+
"mtime": "2026-07-30T10:27:26.354Z",
|
|
8756
|
+
"size": 479,
|
|
8757
|
+
"path": "../public/_nuxt/B-zdP-D4.js"
|
|
8698
8758
|
},
|
|
8699
|
-
"/_nuxt/
|
|
8759
|
+
"/_nuxt/B1RmmOsM.js": {
|
|
8700
8760
|
"type": "text/javascript; charset=utf-8",
|
|
8701
|
-
"etag": "\"
|
|
8702
|
-
"mtime": "2026-07-
|
|
8703
|
-
"size":
|
|
8704
|
-
"path": "../public/_nuxt/
|
|
8761
|
+
"etag": "\"2609-xufY4uK4I4sRiQdi1mHmIVKn2G8\"",
|
|
8762
|
+
"mtime": "2026-07-30T10:27:26.354Z",
|
|
8763
|
+
"size": 9737,
|
|
8764
|
+
"path": "../public/_nuxt/B1RmmOsM.js"
|
|
8705
8765
|
},
|
|
8706
|
-
"/_nuxt/
|
|
8766
|
+
"/_nuxt/B3rirOqU.js": {
|
|
8707
8767
|
"type": "text/javascript; charset=utf-8",
|
|
8708
|
-
"etag": "\"
|
|
8709
|
-
"mtime": "2026-07-
|
|
8710
|
-
"size":
|
|
8711
|
-
"path": "../public/_nuxt/
|
|
8768
|
+
"etag": "\"130a0-1m0nz/4vf+uCFNlGdz3gVFNIflI\"",
|
|
8769
|
+
"mtime": "2026-07-30T10:27:26.354Z",
|
|
8770
|
+
"size": 77984,
|
|
8771
|
+
"path": "../public/_nuxt/B3rirOqU.js"
|
|
8712
8772
|
},
|
|
8713
|
-
"/_nuxt/
|
|
8773
|
+
"/_nuxt/B3zmIJYb.js": {
|
|
8714
8774
|
"type": "text/javascript; charset=utf-8",
|
|
8715
|
-
"etag": "\"
|
|
8716
|
-
"mtime": "2026-07-
|
|
8717
|
-
"size":
|
|
8718
|
-
"path": "../public/_nuxt/
|
|
8775
|
+
"etag": "\"45fc-rVmY63YFC8MIfi9oQYvTLRZUoCM\"",
|
|
8776
|
+
"mtime": "2026-07-30T10:27:26.354Z",
|
|
8777
|
+
"size": 17916,
|
|
8778
|
+
"path": "../public/_nuxt/B3zmIJYb.js"
|
|
8719
8779
|
},
|
|
8720
|
-
"/_nuxt/
|
|
8780
|
+
"/_nuxt/BAKUqW95.js": {
|
|
8721
8781
|
"type": "text/javascript; charset=utf-8",
|
|
8722
|
-
"etag": "\"
|
|
8723
|
-
"mtime": "2026-07-
|
|
8724
|
-
"size":
|
|
8725
|
-
"path": "../public/_nuxt/
|
|
8782
|
+
"etag": "\"4651-YH7DUMLRUr5McL0p/5cQd4KLSto\"",
|
|
8783
|
+
"mtime": "2026-07-30T10:27:26.354Z",
|
|
8784
|
+
"size": 18001,
|
|
8785
|
+
"path": "../public/_nuxt/BAKUqW95.js"
|
|
8726
8786
|
},
|
|
8727
|
-
"/_nuxt/
|
|
8787
|
+
"/_nuxt/BG0KKQiT.js": {
|
|
8728
8788
|
"type": "text/javascript; charset=utf-8",
|
|
8729
|
-
"etag": "\"
|
|
8730
|
-
"mtime": "2026-07-
|
|
8731
|
-
"size":
|
|
8732
|
-
"path": "../public/_nuxt/
|
|
8789
|
+
"etag": "\"95ba-NFZ+XLE9XJqkkwrXGRxN9s43EcU\"",
|
|
8790
|
+
"mtime": "2026-07-30T10:27:26.354Z",
|
|
8791
|
+
"size": 38330,
|
|
8792
|
+
"path": "../public/_nuxt/BG0KKQiT.js"
|
|
8733
8793
|
},
|
|
8734
|
-
"/_nuxt/
|
|
8794
|
+
"/_nuxt/BGusFAvZ.js": {
|
|
8735
8795
|
"type": "text/javascript; charset=utf-8",
|
|
8736
|
-
"etag": "\"
|
|
8737
|
-
"mtime": "2026-07-
|
|
8738
|
-
"size":
|
|
8739
|
-
"path": "../public/_nuxt/
|
|
8796
|
+
"etag": "\"231c-Csuu8KTjp/+Pdai1jgTdHluSG2Q\"",
|
|
8797
|
+
"mtime": "2026-07-30T10:27:26.354Z",
|
|
8798
|
+
"size": 8988,
|
|
8799
|
+
"path": "../public/_nuxt/BGusFAvZ.js"
|
|
8740
8800
|
},
|
|
8741
|
-
"/_nuxt/
|
|
8801
|
+
"/_nuxt/BGL_V7Y4.js": {
|
|
8742
8802
|
"type": "text/javascript; charset=utf-8",
|
|
8743
|
-
"etag": "\"
|
|
8744
|
-
"mtime": "2026-07-
|
|
8745
|
-
"size":
|
|
8746
|
-
"path": "../public/_nuxt/
|
|
8803
|
+
"etag": "\"f5-OKQl+uy9AlRSDOCWn24gFpvgB6M\"",
|
|
8804
|
+
"mtime": "2026-07-30T10:27:26.354Z",
|
|
8805
|
+
"size": 245,
|
|
8806
|
+
"path": "../public/_nuxt/BGL_V7Y4.js"
|
|
8747
8807
|
},
|
|
8748
|
-
"/_nuxt/
|
|
8808
|
+
"/_nuxt/BR5cR2Ot.js": {
|
|
8749
8809
|
"type": "text/javascript; charset=utf-8",
|
|
8750
|
-
"etag": "\"
|
|
8751
|
-
"mtime": "2026-07-
|
|
8752
|
-
"size":
|
|
8753
|
-
"path": "../public/_nuxt/
|
|
8810
|
+
"etag": "\"30f-XoK02MJHyTeWAZ6g1NoNetm6tWI\"",
|
|
8811
|
+
"mtime": "2026-07-30T10:27:26.354Z",
|
|
8812
|
+
"size": 783,
|
|
8813
|
+
"path": "../public/_nuxt/BR5cR2Ot.js"
|
|
8754
8814
|
},
|
|
8755
|
-
"/_nuxt/
|
|
8815
|
+
"/_nuxt/BNurUTla.js": {
|
|
8756
8816
|
"type": "text/javascript; charset=utf-8",
|
|
8757
|
-
"etag": "\"
|
|
8758
|
-
"mtime": "2026-07-
|
|
8759
|
-
"size":
|
|
8760
|
-
"path": "../public/_nuxt/
|
|
8817
|
+
"etag": "\"1e4b-pumpjKYw6nwKmXMWuCgsoOB4Tvs\"",
|
|
8818
|
+
"mtime": "2026-07-30T10:27:26.354Z",
|
|
8819
|
+
"size": 7755,
|
|
8820
|
+
"path": "../public/_nuxt/BNurUTla.js"
|
|
8761
8821
|
},
|
|
8762
|
-
"/_nuxt/
|
|
8822
|
+
"/_nuxt/BTCh_0zN.js": {
|
|
8763
8823
|
"type": "text/javascript; charset=utf-8",
|
|
8764
|
-
"etag": "\"
|
|
8765
|
-
"mtime": "2026-07-
|
|
8766
|
-
"size":
|
|
8767
|
-
"path": "../public/_nuxt/
|
|
8824
|
+
"etag": "\"27d9-3XjXFBGkK/yYHqpVpapneevI+go\"",
|
|
8825
|
+
"mtime": "2026-07-30T10:27:26.354Z",
|
|
8826
|
+
"size": 10201,
|
|
8827
|
+
"path": "../public/_nuxt/BTCh_0zN.js"
|
|
8768
8828
|
},
|
|
8769
|
-
"/_nuxt/
|
|
8829
|
+
"/_nuxt/BTVqMsA3.js": {
|
|
8770
8830
|
"type": "text/javascript; charset=utf-8",
|
|
8771
|
-
"etag": "\"
|
|
8772
|
-
"mtime": "2026-07-
|
|
8773
|
-
"size":
|
|
8774
|
-
"path": "../public/_nuxt/
|
|
8831
|
+
"etag": "\"462-674YNdwr4knKkKbYCyszuk3WZPg\"",
|
|
8832
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8833
|
+
"size": 1122,
|
|
8834
|
+
"path": "../public/_nuxt/BTVqMsA3.js"
|
|
8775
8835
|
},
|
|
8776
|
-
"/_nuxt/
|
|
8836
|
+
"/_nuxt/B_13C0GF.js": {
|
|
8777
8837
|
"type": "text/javascript; charset=utf-8",
|
|
8778
|
-
"etag": "\"
|
|
8779
|
-
"mtime": "2026-07-
|
|
8780
|
-
"size":
|
|
8781
|
-
"path": "../public/_nuxt/
|
|
8838
|
+
"etag": "\"54b-1mtYY965LgbPQ+BOvHzokgwyL4k\"",
|
|
8839
|
+
"mtime": "2026-07-30T10:27:26.354Z",
|
|
8840
|
+
"size": 1355,
|
|
8841
|
+
"path": "../public/_nuxt/B_13C0GF.js"
|
|
8782
8842
|
},
|
|
8783
|
-
"/_nuxt/
|
|
8843
|
+
"/_nuxt/BeDIjhoR.js": {
|
|
8784
8844
|
"type": "text/javascript; charset=utf-8",
|
|
8785
|
-
"etag": "\"
|
|
8786
|
-
"mtime": "2026-07-
|
|
8787
|
-
"size":
|
|
8788
|
-
"path": "../public/_nuxt/
|
|
8845
|
+
"etag": "\"1fbb-4rdlWbZEMXeeaHksBvcLcRfiKaI\"",
|
|
8846
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8847
|
+
"size": 8123,
|
|
8848
|
+
"path": "../public/_nuxt/BeDIjhoR.js"
|
|
8789
8849
|
},
|
|
8790
|
-
"/_nuxt/
|
|
8850
|
+
"/_nuxt/BerCW7Ug.js": {
|
|
8791
8851
|
"type": "text/javascript; charset=utf-8",
|
|
8792
|
-
"etag": "\"
|
|
8793
|
-
"mtime": "2026-07-
|
|
8794
|
-
"size":
|
|
8795
|
-
"path": "../public/_nuxt/
|
|
8852
|
+
"etag": "\"1cda-lgMl8YGI/8rWaJAPlS6kCb+5/PQ\"",
|
|
8853
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8854
|
+
"size": 7386,
|
|
8855
|
+
"path": "../public/_nuxt/BerCW7Ug.js"
|
|
8796
8856
|
},
|
|
8797
|
-
"/_nuxt/
|
|
8857
|
+
"/_nuxt/BfTNbVc_.js": {
|
|
8798
8858
|
"type": "text/javascript; charset=utf-8",
|
|
8799
|
-
"etag": "\"
|
|
8800
|
-
"mtime": "2026-07-
|
|
8801
|
-
"size":
|
|
8802
|
-
"path": "../public/_nuxt/
|
|
8859
|
+
"etag": "\"1cb7-gSrIWC/nrAQrl/7xq4hJBcmA9KA\"",
|
|
8860
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8861
|
+
"size": 7351,
|
|
8862
|
+
"path": "../public/_nuxt/BfTNbVc_.js"
|
|
8803
8863
|
},
|
|
8804
|
-
"/_nuxt/
|
|
8864
|
+
"/_nuxt/BjaRappk.js": {
|
|
8805
8865
|
"type": "text/javascript; charset=utf-8",
|
|
8806
|
-
"etag": "\"
|
|
8807
|
-
"mtime": "2026-07-
|
|
8808
|
-
"size":
|
|
8809
|
-
"path": "../public/_nuxt/
|
|
8866
|
+
"etag": "\"7225-r/6SJyBbltq23MJz8DNWbHeexeY\"",
|
|
8867
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8868
|
+
"size": 29221,
|
|
8869
|
+
"path": "../public/_nuxt/BjaRappk.js"
|
|
8810
8870
|
},
|
|
8811
|
-
"/_nuxt/
|
|
8871
|
+
"/_nuxt/BnbSEpXX.js": {
|
|
8812
8872
|
"type": "text/javascript; charset=utf-8",
|
|
8813
|
-
"etag": "\"339-
|
|
8814
|
-
"mtime": "2026-07-
|
|
8873
|
+
"etag": "\"339-jotDFw6p77/SiIPSaxsUxI+snyw\"",
|
|
8874
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8815
8875
|
"size": 825,
|
|
8816
|
-
"path": "../public/_nuxt/
|
|
8876
|
+
"path": "../public/_nuxt/BnbSEpXX.js"
|
|
8817
8877
|
},
|
|
8818
|
-
"/_nuxt/
|
|
8878
|
+
"/_nuxt/Bo_dxehb.js": {
|
|
8819
8879
|
"type": "text/javascript; charset=utf-8",
|
|
8820
|
-
"etag": "\"
|
|
8821
|
-
"mtime": "2026-07-
|
|
8822
|
-
"size":
|
|
8823
|
-
"path": "../public/_nuxt/
|
|
8880
|
+
"etag": "\"164a-EoM5t3Sy7KNYZglscXe6Qv7o+eU\"",
|
|
8881
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8882
|
+
"size": 5706,
|
|
8883
|
+
"path": "../public/_nuxt/Bo_dxehb.js"
|
|
8824
8884
|
},
|
|
8825
|
-
"/_nuxt/
|
|
8885
|
+
"/_nuxt/BpBHls4-.js": {
|
|
8826
8886
|
"type": "text/javascript; charset=utf-8",
|
|
8827
|
-
"etag": "\"
|
|
8828
|
-
"mtime": "2026-07-
|
|
8829
|
-
"size":
|
|
8830
|
-
"path": "../public/_nuxt/
|
|
8887
|
+
"etag": "\"554-1Wutxum2CAnneaKOKoR9/XFSMfA\"",
|
|
8888
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8889
|
+
"size": 1364,
|
|
8890
|
+
"path": "../public/_nuxt/BpBHls4-.js"
|
|
8831
8891
|
},
|
|
8832
|
-
"/_nuxt/
|
|
8892
|
+
"/_nuxt/BpM6ZPIG.js": {
|
|
8833
8893
|
"type": "text/javascript; charset=utf-8",
|
|
8834
|
-
"etag": "\"
|
|
8835
|
-
"mtime": "2026-07-
|
|
8836
|
-
"size":
|
|
8837
|
-
"path": "../public/_nuxt/
|
|
8894
|
+
"etag": "\"5cfd-mnVQ4OsfC4X1xMZP05Mbgp3SV2s\"",
|
|
8895
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8896
|
+
"size": 23805,
|
|
8897
|
+
"path": "../public/_nuxt/BpM6ZPIG.js"
|
|
8838
8898
|
},
|
|
8839
|
-
"/_nuxt/
|
|
8899
|
+
"/_nuxt/BqGumsDo.js": {
|
|
8840
8900
|
"type": "text/javascript; charset=utf-8",
|
|
8841
|
-
"etag": "\"
|
|
8842
|
-
"mtime": "2026-07-
|
|
8843
|
-
"size":
|
|
8844
|
-
"path": "../public/_nuxt/
|
|
8901
|
+
"etag": "\"7cce-qvmb/pt9MUgk8EZ7EEVCe2VwGzQ\"",
|
|
8902
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8903
|
+
"size": 31950,
|
|
8904
|
+
"path": "../public/_nuxt/BqGumsDo.js"
|
|
8845
8905
|
},
|
|
8846
|
-
"/_nuxt/
|
|
8906
|
+
"/_nuxt/BrxtP_cN.js": {
|
|
8847
8907
|
"type": "text/javascript; charset=utf-8",
|
|
8848
|
-
"etag": "\"
|
|
8849
|
-
"mtime": "2026-07-
|
|
8850
|
-
"size":
|
|
8851
|
-
"path": "../public/_nuxt/
|
|
8908
|
+
"etag": "\"9e8c-AVe20vmGF3P+1tAcRN14BJKYyd8\"",
|
|
8909
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8910
|
+
"size": 40588,
|
|
8911
|
+
"path": "../public/_nuxt/BrxtP_cN.js"
|
|
8852
8912
|
},
|
|
8853
|
-
"/_nuxt/
|
|
8913
|
+
"/_nuxt/C2hNxjjz.js": {
|
|
8854
8914
|
"type": "text/javascript; charset=utf-8",
|
|
8855
|
-
"etag": "\"
|
|
8856
|
-
"mtime": "2026-07-
|
|
8857
|
-
"size":
|
|
8858
|
-
"path": "../public/_nuxt/
|
|
8915
|
+
"etag": "\"2e36-ls2esqU/qKNtiVvz+3gaiEMeYJU\"",
|
|
8916
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8917
|
+
"size": 11830,
|
|
8918
|
+
"path": "../public/_nuxt/C2hNxjjz.js"
|
|
8859
8919
|
},
|
|
8860
|
-
"/_nuxt/
|
|
8920
|
+
"/_nuxt/C5PSqfKi.js": {
|
|
8861
8921
|
"type": "text/javascript; charset=utf-8",
|
|
8862
|
-
"etag": "\"
|
|
8863
|
-
"mtime": "2026-07-
|
|
8864
|
-
"size":
|
|
8865
|
-
"path": "../public/_nuxt/
|
|
8922
|
+
"etag": "\"381b-MkYvQawUso/x8PpIcYC+fZqyb+Y\"",
|
|
8923
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8924
|
+
"size": 14363,
|
|
8925
|
+
"path": "../public/_nuxt/C5PSqfKi.js"
|
|
8866
8926
|
},
|
|
8867
|
-
"/_nuxt/
|
|
8927
|
+
"/_nuxt/C5vsaU4G.js": {
|
|
8868
8928
|
"type": "text/javascript; charset=utf-8",
|
|
8869
|
-
"etag": "\"
|
|
8870
|
-
"mtime": "2026-07-
|
|
8871
|
-
"size":
|
|
8872
|
-
"path": "../public/_nuxt/
|
|
8929
|
+
"etag": "\"159ff-SyzCjh7oiM5CpjmBNWWJoF0ZySY\"",
|
|
8930
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8931
|
+
"size": 88575,
|
|
8932
|
+
"path": "../public/_nuxt/C5vsaU4G.js"
|
|
8873
8933
|
},
|
|
8874
|
-
"/_nuxt/
|
|
8934
|
+
"/_nuxt/C9sdHaXd.js": {
|
|
8875
8935
|
"type": "text/javascript; charset=utf-8",
|
|
8876
|
-
"etag": "\"
|
|
8877
|
-
"mtime": "2026-07-
|
|
8878
|
-
"size":
|
|
8879
|
-
"path": "../public/_nuxt/
|
|
8936
|
+
"etag": "\"1848-RCYW/vkwcOb27F0hgbVonnTyYiM\"",
|
|
8937
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8938
|
+
"size": 6216,
|
|
8939
|
+
"path": "../public/_nuxt/C9sdHaXd.js"
|
|
8880
8940
|
},
|
|
8881
|
-
"/_nuxt/
|
|
8941
|
+
"/_nuxt/CAxgBYIt.js": {
|
|
8882
8942
|
"type": "text/javascript; charset=utf-8",
|
|
8883
|
-
"etag": "\"
|
|
8884
|
-
"mtime": "2026-07-
|
|
8885
|
-
"size":
|
|
8886
|
-
"path": "../public/_nuxt/
|
|
8943
|
+
"etag": "\"555a-7iu2ioaY5q75Sr3aau7B+IWBohw\"",
|
|
8944
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8945
|
+
"size": 21850,
|
|
8946
|
+
"path": "../public/_nuxt/CAxgBYIt.js"
|
|
8887
8947
|
},
|
|
8888
|
-
"/_nuxt/
|
|
8948
|
+
"/_nuxt/CES2i5Pl.js": {
|
|
8889
8949
|
"type": "text/javascript; charset=utf-8",
|
|
8890
|
-
"etag": "\"
|
|
8891
|
-
"mtime": "2026-07-
|
|
8892
|
-
"size":
|
|
8893
|
-
"path": "../public/_nuxt/
|
|
8950
|
+
"etag": "\"366-0Ro3Xn2r2yWUIQEF10zV0a4gyXM\"",
|
|
8951
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8952
|
+
"size": 870,
|
|
8953
|
+
"path": "../public/_nuxt/CES2i5Pl.js"
|
|
8894
8954
|
},
|
|
8895
|
-
"/_nuxt/
|
|
8955
|
+
"/_nuxt/CFEdRqaj.js": {
|
|
8896
8956
|
"type": "text/javascript; charset=utf-8",
|
|
8897
|
-
"etag": "\"
|
|
8898
|
-
"mtime": "2026-07-
|
|
8899
|
-
"size":
|
|
8900
|
-
"path": "../public/_nuxt/
|
|
8957
|
+
"etag": "\"2b8-99U66otclONiij+Sv5Pzspg3OlY\"",
|
|
8958
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8959
|
+
"size": 696,
|
|
8960
|
+
"path": "../public/_nuxt/CFEdRqaj.js"
|
|
8901
8961
|
},
|
|
8902
|
-
"/_nuxt/
|
|
8962
|
+
"/_nuxt/CFTZwazK.js": {
|
|
8903
8963
|
"type": "text/javascript; charset=utf-8",
|
|
8904
|
-
"etag": "\"
|
|
8905
|
-
"mtime": "2026-07-
|
|
8906
|
-
"size":
|
|
8907
|
-
"path": "../public/_nuxt/
|
|
8964
|
+
"etag": "\"13c5-bo696Cp/eGbEHRPjWpm3vRff4vo\"",
|
|
8965
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8966
|
+
"size": 5061,
|
|
8967
|
+
"path": "../public/_nuxt/CFTZwazK.js"
|
|
8908
8968
|
},
|
|
8909
|
-
"/_nuxt/
|
|
8969
|
+
"/_nuxt/CIBS7ye6.js": {
|
|
8910
8970
|
"type": "text/javascript; charset=utf-8",
|
|
8911
|
-
"etag": "\"
|
|
8912
|
-
"mtime": "2026-07-
|
|
8913
|
-
"size":
|
|
8914
|
-
"path": "../public/_nuxt/
|
|
8971
|
+
"etag": "\"109c-q5nAE2AsqR8PwXTU69nWqmcVxog\"",
|
|
8972
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8973
|
+
"size": 4252,
|
|
8974
|
+
"path": "../public/_nuxt/CIBS7ye6.js"
|
|
8915
8975
|
},
|
|
8916
|
-
"/_nuxt/
|
|
8976
|
+
"/_nuxt/CIEceDOw.js": {
|
|
8917
8977
|
"type": "text/javascript; charset=utf-8",
|
|
8918
|
-
"etag": "\"
|
|
8919
|
-
"mtime": "2026-07-
|
|
8920
|
-
"size":
|
|
8921
|
-
"path": "../public/_nuxt/
|
|
8978
|
+
"etag": "\"7e-KUHTYJNCp0UAWVj606xP/Pn4xXs\"",
|
|
8979
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8980
|
+
"size": 126,
|
|
8981
|
+
"path": "../public/_nuxt/CIEceDOw.js"
|
|
8922
8982
|
},
|
|
8923
|
-
"/_nuxt/
|
|
8983
|
+
"/_nuxt/CJBhojV6.js": {
|
|
8924
8984
|
"type": "text/javascript; charset=utf-8",
|
|
8925
|
-
"etag": "\"
|
|
8926
|
-
"mtime": "2026-07-
|
|
8927
|
-
"size":
|
|
8928
|
-
"path": "../public/_nuxt/
|
|
8985
|
+
"etag": "\"4e8-HblxedaFy3Km0qKE+lOmvkz8DiU\"",
|
|
8986
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8987
|
+
"size": 1256,
|
|
8988
|
+
"path": "../public/_nuxt/CJBhojV6.js"
|
|
8929
8989
|
},
|
|
8930
|
-
"/_nuxt/
|
|
8990
|
+
"/_nuxt/CKYddHa6.js": {
|
|
8931
8991
|
"type": "text/javascript; charset=utf-8",
|
|
8932
|
-
"etag": "\"
|
|
8933
|
-
"mtime": "2026-07-
|
|
8934
|
-
"size":
|
|
8935
|
-
"path": "../public/_nuxt/
|
|
8992
|
+
"etag": "\"7a7-ShA9E6qYfAq+YekOJbD2wayAGgU\"",
|
|
8993
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
8994
|
+
"size": 1959,
|
|
8995
|
+
"path": "../public/_nuxt/CKYddHa6.js"
|
|
8936
8996
|
},
|
|
8937
|
-
"/_nuxt/
|
|
8997
|
+
"/_nuxt/CLVWiCds.js": {
|
|
8938
8998
|
"type": "text/javascript; charset=utf-8",
|
|
8939
|
-
"etag": "\"
|
|
8940
|
-
"mtime": "2026-07-
|
|
8941
|
-
"size":
|
|
8942
|
-
"path": "../public/_nuxt/
|
|
8999
|
+
"etag": "\"2ee-SObB0oNYZ4nQ0YOzHiBsKVbE+T8\"",
|
|
9000
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
9001
|
+
"size": 750,
|
|
9002
|
+
"path": "../public/_nuxt/CLVWiCds.js"
|
|
8943
9003
|
},
|
|
8944
|
-
"/_nuxt/
|
|
9004
|
+
"/_nuxt/COhdybDy.js": {
|
|
8945
9005
|
"type": "text/javascript; charset=utf-8",
|
|
8946
|
-
"etag": "\"
|
|
8947
|
-
"mtime": "2026-07-
|
|
8948
|
-
"size":
|
|
8949
|
-
"path": "../public/_nuxt/
|
|
9006
|
+
"etag": "\"30a-fxkQ+ZOsEQsFjaglQFXpO2RDqhY\"",
|
|
9007
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
9008
|
+
"size": 778,
|
|
9009
|
+
"path": "../public/_nuxt/COhdybDy.js"
|
|
8950
9010
|
},
|
|
8951
|
-
"/_nuxt/
|
|
9011
|
+
"/_nuxt/CMYAryzi.js": {
|
|
8952
9012
|
"type": "text/javascript; charset=utf-8",
|
|
8953
|
-
"etag": "\"
|
|
8954
|
-
"mtime": "2026-07-
|
|
8955
|
-
"size":
|
|
8956
|
-
"path": "../public/_nuxt/
|
|
9013
|
+
"etag": "\"2c6bd-O3HnCr1DkaMtfVdsnl0Skwmyp4s\"",
|
|
9014
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
9015
|
+
"size": 181949,
|
|
9016
|
+
"path": "../public/_nuxt/CMYAryzi.js"
|
|
8957
9017
|
},
|
|
8958
|
-
"/_nuxt/
|
|
9018
|
+
"/_nuxt/CRBXM2d6.js": {
|
|
8959
9019
|
"type": "text/javascript; charset=utf-8",
|
|
8960
|
-
"etag": "\"
|
|
8961
|
-
"mtime": "2026-07-
|
|
8962
|
-
"size":
|
|
8963
|
-
"path": "../public/_nuxt/
|
|
9020
|
+
"etag": "\"d51-uX2RTZKJYDpNoL/6OcdqvHdnsqE\"",
|
|
9021
|
+
"mtime": "2026-07-30T10:27:26.355Z",
|
|
9022
|
+
"size": 3409,
|
|
9023
|
+
"path": "../public/_nuxt/CRBXM2d6.js"
|
|
8964
9024
|
},
|
|
8965
|
-
"/_nuxt/
|
|
9025
|
+
"/_nuxt/CTD_pJ_v.js": {
|
|
8966
9026
|
"type": "text/javascript; charset=utf-8",
|
|
8967
|
-
"etag": "\"
|
|
8968
|
-
"mtime": "2026-07-
|
|
8969
|
-
"size":
|
|
8970
|
-
"path": "../public/_nuxt/
|
|
9027
|
+
"etag": "\"86b-vzb/h0iDW/PxOT8AgMElCrhdbvQ\"",
|
|
9028
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9029
|
+
"size": 2155,
|
|
9030
|
+
"path": "../public/_nuxt/CTD_pJ_v.js"
|
|
8971
9031
|
},
|
|
8972
|
-
"/_nuxt/
|
|
9032
|
+
"/_nuxt/CTP8Pw0-.js": {
|
|
8973
9033
|
"type": "text/javascript; charset=utf-8",
|
|
8974
|
-
"etag": "\"
|
|
8975
|
-
"mtime": "2026-07-
|
|
8976
|
-
"size":
|
|
8977
|
-
"path": "../public/_nuxt/
|
|
9034
|
+
"etag": "\"10f83-4xb490ZH0JZYIAGXfBeSQyNSxrM\"",
|
|
9035
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9036
|
+
"size": 69507,
|
|
9037
|
+
"path": "../public/_nuxt/CTP8Pw0-.js"
|
|
8978
9038
|
},
|
|
8979
|
-
"/_nuxt/
|
|
9039
|
+
"/_nuxt/CWKmbYlT.js": {
|
|
8980
9040
|
"type": "text/javascript; charset=utf-8",
|
|
8981
|
-
"etag": "\"
|
|
8982
|
-
"mtime": "2026-07-
|
|
8983
|
-
"size":
|
|
8984
|
-
"path": "../public/_nuxt/
|
|
9041
|
+
"etag": "\"5bf-AcABNe790ghmvvAmRhhkboE4Vqk\"",
|
|
9042
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9043
|
+
"size": 1471,
|
|
9044
|
+
"path": "../public/_nuxt/CWKmbYlT.js"
|
|
8985
9045
|
},
|
|
8986
|
-
"/_nuxt/
|
|
9046
|
+
"/_nuxt/CV8iF2kG.js": {
|
|
8987
9047
|
"type": "text/javascript; charset=utf-8",
|
|
8988
|
-
"etag": "\"
|
|
8989
|
-
"mtime": "2026-07-
|
|
8990
|
-
"size":
|
|
8991
|
-
"path": "../public/_nuxt/
|
|
9048
|
+
"etag": "\"c3a-sW7csgDE9D8NKt4N45mXpN9wCvw\"",
|
|
9049
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9050
|
+
"size": 3130,
|
|
9051
|
+
"path": "../public/_nuxt/CV8iF2kG.js"
|
|
8992
9052
|
},
|
|
8993
|
-
"/_nuxt/
|
|
9053
|
+
"/_nuxt/C_NfGMTd.js": {
|
|
8994
9054
|
"type": "text/javascript; charset=utf-8",
|
|
8995
|
-
"etag": "\"
|
|
8996
|
-
"mtime": "2026-07-
|
|
8997
|
-
"size":
|
|
8998
|
-
"path": "../public/_nuxt/
|
|
9055
|
+
"etag": "\"14842-IETSBQTiGNLGD1aDsonAjvQkGwI\"",
|
|
9056
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9057
|
+
"size": 84034,
|
|
9058
|
+
"path": "../public/_nuxt/C_NfGMTd.js"
|
|
8999
9059
|
},
|
|
9000
|
-
"/_nuxt/
|
|
9060
|
+
"/_nuxt/Cejoebel.js": {
|
|
9001
9061
|
"type": "text/javascript; charset=utf-8",
|
|
9002
|
-
"etag": "\"
|
|
9003
|
-
"mtime": "2026-07-
|
|
9004
|
-
"size":
|
|
9005
|
-
"path": "../public/_nuxt/
|
|
9062
|
+
"etag": "\"2fb1-dE9gRX8EZeM9GEa8xUMFbTSPCno\"",
|
|
9063
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9064
|
+
"size": 12209,
|
|
9065
|
+
"path": "../public/_nuxt/Cejoebel.js"
|
|
9006
9066
|
},
|
|
9007
|
-
"/_nuxt/
|
|
9067
|
+
"/_nuxt/Chpah_7l.js": {
|
|
9008
9068
|
"type": "text/javascript; charset=utf-8",
|
|
9009
|
-
"etag": "\"
|
|
9010
|
-
"mtime": "2026-07-
|
|
9011
|
-
"size":
|
|
9012
|
-
"path": "../public/_nuxt/
|
|
9069
|
+
"etag": "\"331-b1bJgOEqA+IzHdzOPlmGoZUseY8\"",
|
|
9070
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9071
|
+
"size": 817,
|
|
9072
|
+
"path": "../public/_nuxt/Chpah_7l.js"
|
|
9013
9073
|
},
|
|
9014
|
-
"/_nuxt/
|
|
9074
|
+
"/_nuxt/Ci9d8YVV.js": {
|
|
9015
9075
|
"type": "text/javascript; charset=utf-8",
|
|
9016
|
-
"etag": "\"
|
|
9017
|
-
"mtime": "2026-07-
|
|
9018
|
-
"size":
|
|
9019
|
-
"path": "../public/_nuxt/
|
|
9076
|
+
"etag": "\"ee6-RTWQgbYi7Kch24EPhvLWQYaaIKQ\"",
|
|
9077
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9078
|
+
"size": 3814,
|
|
9079
|
+
"path": "../public/_nuxt/Ci9d8YVV.js"
|
|
9020
9080
|
},
|
|
9021
|
-
"/_nuxt/
|
|
9081
|
+
"/_nuxt/CifRHVaR.js": {
|
|
9022
9082
|
"type": "text/javascript; charset=utf-8",
|
|
9023
|
-
"etag": "\"
|
|
9024
|
-
"mtime": "2026-07-
|
|
9025
|
-
"size":
|
|
9026
|
-
"path": "../public/_nuxt/
|
|
9083
|
+
"etag": "\"45c-K4HonAX4bsijltZj6EGenZIRFG0\"",
|
|
9084
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9085
|
+
"size": 1116,
|
|
9086
|
+
"path": "../public/_nuxt/CifRHVaR.js"
|
|
9027
9087
|
},
|
|
9028
|
-
"/_nuxt/
|
|
9088
|
+
"/_nuxt/Ckgsh9AT.js": {
|
|
9029
9089
|
"type": "text/javascript; charset=utf-8",
|
|
9030
|
-
"etag": "\"
|
|
9031
|
-
"mtime": "2026-07-
|
|
9032
|
-
"size":
|
|
9033
|
-
"path": "../public/_nuxt/
|
|
9090
|
+
"etag": "\"2624-fLnKKQlI4dSUcqt9OVnP1EVG1ig\"",
|
|
9091
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9092
|
+
"size": 9764,
|
|
9093
|
+
"path": "../public/_nuxt/Ckgsh9AT.js"
|
|
9034
9094
|
},
|
|
9035
|
-
"/_nuxt/
|
|
9095
|
+
"/_nuxt/Cpsq-kYE.js": {
|
|
9036
9096
|
"type": "text/javascript; charset=utf-8",
|
|
9037
|
-
"etag": "\"
|
|
9038
|
-
"mtime": "2026-07-
|
|
9039
|
-
"size":
|
|
9040
|
-
"path": "../public/_nuxt/
|
|
9097
|
+
"etag": "\"7e5-iM6IRm9NbrCJ7hODKnRWNa03hcQ\"",
|
|
9098
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9099
|
+
"size": 2021,
|
|
9100
|
+
"path": "../public/_nuxt/Cpsq-kYE.js"
|
|
9041
9101
|
},
|
|
9042
|
-
"/_nuxt/
|
|
9102
|
+
"/_nuxt/Cqc-DSTF.js": {
|
|
9043
9103
|
"type": "text/javascript; charset=utf-8",
|
|
9044
|
-
"etag": "\"
|
|
9045
|
-
"mtime": "2026-07-
|
|
9046
|
-
"size":
|
|
9047
|
-
"path": "../public/_nuxt/
|
|
9104
|
+
"etag": "\"1c1-g7Wp7uX8pJe0EkBYiMPh1jd34E4\"",
|
|
9105
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9106
|
+
"size": 449,
|
|
9107
|
+
"path": "../public/_nuxt/Cqc-DSTF.js"
|
|
9048
9108
|
},
|
|
9049
|
-
"/_nuxt/
|
|
9109
|
+
"/_nuxt/CsHulb12.js": {
|
|
9050
9110
|
"type": "text/javascript; charset=utf-8",
|
|
9051
|
-
"etag": "\"
|
|
9052
|
-
"mtime": "2026-07-
|
|
9053
|
-
"size":
|
|
9054
|
-
"path": "../public/_nuxt/
|
|
9111
|
+
"etag": "\"597-2zmevBC86uEmS07Or70t1X5T8Ek\"",
|
|
9112
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9113
|
+
"size": 1431,
|
|
9114
|
+
"path": "../public/_nuxt/CsHulb12.js"
|
|
9055
9115
|
},
|
|
9056
|
-
"/_nuxt/
|
|
9116
|
+
"/_nuxt/Ctb2CqUf.js": {
|
|
9057
9117
|
"type": "text/javascript; charset=utf-8",
|
|
9058
|
-
"etag": "\"
|
|
9059
|
-
"mtime": "2026-07-
|
|
9060
|
-
"size":
|
|
9061
|
-
"path": "../public/_nuxt/
|
|
9118
|
+
"etag": "\"15efb-zA18LUCbo70y9l7gOviz729GgTc\"",
|
|
9119
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9120
|
+
"size": 89851,
|
|
9121
|
+
"path": "../public/_nuxt/Ctb2CqUf.js"
|
|
9062
9122
|
},
|
|
9063
|
-
"/_nuxt/
|
|
9123
|
+
"/_nuxt/CtstIQSh.js": {
|
|
9064
9124
|
"type": "text/javascript; charset=utf-8",
|
|
9065
|
-
"etag": "\"
|
|
9066
|
-
"mtime": "2026-07-
|
|
9067
|
-
"size":
|
|
9068
|
-
"path": "../public/_nuxt/
|
|
9125
|
+
"etag": "\"782-frW80TwlVAbOj23Kze953QUIpmo\"",
|
|
9126
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9127
|
+
"size": 1922,
|
|
9128
|
+
"path": "../public/_nuxt/CtstIQSh.js"
|
|
9069
9129
|
},
|
|
9070
|
-
"/_nuxt/
|
|
9130
|
+
"/_nuxt/CvMzDKvu.js": {
|
|
9071
9131
|
"type": "text/javascript; charset=utf-8",
|
|
9072
|
-
"etag": "\"
|
|
9073
|
-
"mtime": "2026-07-
|
|
9074
|
-
"size":
|
|
9075
|
-
"path": "../public/_nuxt/
|
|
9132
|
+
"etag": "\"19a7-AP4OBC4iL7lMJkwV9bjJtwC9aN8\"",
|
|
9133
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9134
|
+
"size": 6567,
|
|
9135
|
+
"path": "../public/_nuxt/CvMzDKvu.js"
|
|
9076
9136
|
},
|
|
9077
9137
|
"/_nuxt/D-c8ZSws.js": {
|
|
9078
9138
|
"type": "text/javascript; charset=utf-8",
|
|
9079
9139
|
"etag": "\"cb-iNKYQQLThj4CWYbde6HXgb+rQF8\"",
|
|
9080
|
-
"mtime": "2026-07-
|
|
9140
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9081
9141
|
"size": 203,
|
|
9082
9142
|
"path": "../public/_nuxt/D-c8ZSws.js"
|
|
9083
9143
|
},
|
|
9084
|
-
"/_nuxt/D1POo6S4.js": {
|
|
9085
|
-
"type": "text/javascript; charset=utf-8",
|
|
9086
|
-
"etag": "\"3218-xZxVaXkfAMrVlu3/yVkrTPqIwNE\"",
|
|
9087
|
-
"mtime": "2026-07-27T16:23:53.373Z",
|
|
9088
|
-
"size": 12824,
|
|
9089
|
-
"path": "../public/_nuxt/D1POo6S4.js"
|
|
9090
|
-
},
|
|
9091
|
-
"/_nuxt/D5tke0B5.js": {
|
|
9092
|
-
"type": "text/javascript; charset=utf-8",
|
|
9093
|
-
"etag": "\"1cda-2tVNNnWmB6Pl0JwUq5UwYDWQfLY\"",
|
|
9094
|
-
"mtime": "2026-07-27T16:23:53.374Z",
|
|
9095
|
-
"size": 7386,
|
|
9096
|
-
"path": "../public/_nuxt/D5tke0B5.js"
|
|
9097
|
-
},
|
|
9098
9144
|
"/_nuxt/D7W_4Sqc.js": {
|
|
9099
9145
|
"type": "text/javascript; charset=utf-8",
|
|
9100
9146
|
"etag": "\"296-MEW58xwcF9oONLZ10XXXEBy/ICo\"",
|
|
9101
|
-
"mtime": "2026-07-
|
|
9147
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9102
9148
|
"size": 662,
|
|
9103
9149
|
"path": "../public/_nuxt/D7W_4Sqc.js"
|
|
9104
9150
|
},
|
|
9105
|
-
"/_nuxt/
|
|
9151
|
+
"/_nuxt/D2pBhsH8.js": {
|
|
9106
9152
|
"type": "text/javascript; charset=utf-8",
|
|
9107
|
-
"etag": "\"
|
|
9108
|
-
"mtime": "2026-07-
|
|
9109
|
-
"size":
|
|
9110
|
-
"path": "../public/_nuxt/
|
|
9153
|
+
"etag": "\"72a0-SUfyQxUnTKsF+xViuYRHgq8d6uc\"",
|
|
9154
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9155
|
+
"size": 29344,
|
|
9156
|
+
"path": "../public/_nuxt/D2pBhsH8.js"
|
|
9111
9157
|
},
|
|
9112
|
-
"/_nuxt/
|
|
9158
|
+
"/_nuxt/D8gX1Jde.js": {
|
|
9113
9159
|
"type": "text/javascript; charset=utf-8",
|
|
9114
|
-
"etag": "\"
|
|
9115
|
-
"mtime": "2026-07-
|
|
9116
|
-
"size":
|
|
9117
|
-
"path": "../public/_nuxt/
|
|
9160
|
+
"etag": "\"f0b9-+A/gRkjazOcA3G+6noKs3iB4G9M\"",
|
|
9161
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9162
|
+
"size": 61625,
|
|
9163
|
+
"path": "../public/_nuxt/D8gX1Jde.js"
|
|
9118
9164
|
},
|
|
9119
|
-
"/_nuxt/
|
|
9165
|
+
"/_nuxt/D9knOn6D.js": {
|
|
9120
9166
|
"type": "text/javascript; charset=utf-8",
|
|
9121
|
-
"etag": "\"
|
|
9122
|
-
"mtime": "2026-07-
|
|
9123
|
-
"size":
|
|
9124
|
-
"path": "../public/_nuxt/
|
|
9167
|
+
"etag": "\"176-8Umhbhb8kMsLx1ok3J6fNt1reyk\"",
|
|
9168
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9169
|
+
"size": 374,
|
|
9170
|
+
"path": "../public/_nuxt/D9knOn6D.js"
|
|
9125
9171
|
},
|
|
9126
|
-
"/_nuxt/
|
|
9172
|
+
"/_nuxt/DAPTVdvA.js": {
|
|
9127
9173
|
"type": "text/javascript; charset=utf-8",
|
|
9128
|
-
"etag": "\"
|
|
9129
|
-
"mtime": "2026-07-
|
|
9130
|
-
"size":
|
|
9131
|
-
"path": "../public/_nuxt/
|
|
9174
|
+
"etag": "\"2593-fjHEnCOC0lJTMu91KGodRVDg8KI\"",
|
|
9175
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9176
|
+
"size": 9619,
|
|
9177
|
+
"path": "../public/_nuxt/DAPTVdvA.js"
|
|
9132
9178
|
},
|
|
9133
|
-
"/_nuxt/
|
|
9179
|
+
"/_nuxt/DCoJlz_q.js": {
|
|
9134
9180
|
"type": "text/javascript; charset=utf-8",
|
|
9135
|
-
"etag": "\"
|
|
9136
|
-
"mtime": "2026-07-
|
|
9137
|
-
"size":
|
|
9138
|
-
"path": "../public/_nuxt/
|
|
9181
|
+
"etag": "\"a13-qHUrAxowQtSYV/4hD80qSBtOvPw\"",
|
|
9182
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9183
|
+
"size": 2579,
|
|
9184
|
+
"path": "../public/_nuxt/DCoJlz_q.js"
|
|
9139
9185
|
},
|
|
9140
|
-
"/_nuxt/
|
|
9186
|
+
"/_nuxt/DGnQ69wW.js": {
|
|
9141
9187
|
"type": "text/javascript; charset=utf-8",
|
|
9142
|
-
"etag": "\"
|
|
9143
|
-
"mtime": "2026-07-
|
|
9144
|
-
"size":
|
|
9145
|
-
"path": "../public/_nuxt/
|
|
9188
|
+
"etag": "\"1095b-FS3BS0RyxVpADhlqiWgHsld2uEE\"",
|
|
9189
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9190
|
+
"size": 67931,
|
|
9191
|
+
"path": "../public/_nuxt/DGnQ69wW.js"
|
|
9146
9192
|
},
|
|
9147
|
-
"/_nuxt/
|
|
9193
|
+
"/_nuxt/DHzij16p.js": {
|
|
9148
9194
|
"type": "text/javascript; charset=utf-8",
|
|
9149
|
-
"etag": "\"
|
|
9150
|
-
"mtime": "2026-07-
|
|
9151
|
-
"size":
|
|
9152
|
-
"path": "../public/_nuxt/
|
|
9195
|
+
"etag": "\"a7b-Wr7O+36fysQoz/pXNa83/y2m6vQ\"",
|
|
9196
|
+
"mtime": "2026-07-30T10:27:26.356Z",
|
|
9197
|
+
"size": 2683,
|
|
9198
|
+
"path": "../public/_nuxt/DHzij16p.js"
|
|
9199
|
+
},
|
|
9200
|
+
"/_nuxt/DJMCXRuW.js": {
|
|
9201
|
+
"type": "text/javascript; charset=utf-8",
|
|
9202
|
+
"etag": "\"4a07-cRk0XfxuwIsNA8swukbrQkU7SPk\"",
|
|
9203
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9204
|
+
"size": 18951,
|
|
9205
|
+
"path": "../public/_nuxt/DJMCXRuW.js"
|
|
9153
9206
|
},
|
|
9154
|
-
"/_nuxt/
|
|
9207
|
+
"/_nuxt/DKFXZdWZ.js": {
|
|
9155
9208
|
"type": "text/javascript; charset=utf-8",
|
|
9156
|
-
"etag": "\"1447-
|
|
9157
|
-
"mtime": "2026-07-
|
|
9209
|
+
"etag": "\"1447-fOd9VzeukxJTtb8rGvTL4Yw3UCQ\"",
|
|
9210
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9158
9211
|
"size": 5191,
|
|
9159
|
-
"path": "../public/_nuxt/
|
|
9212
|
+
"path": "../public/_nuxt/DKFXZdWZ.js"
|
|
9160
9213
|
},
|
|
9161
|
-
"/_nuxt/
|
|
9214
|
+
"/_nuxt/DJXcGkJP.js": {
|
|
9162
9215
|
"type": "text/javascript; charset=utf-8",
|
|
9163
|
-
"etag": "\"
|
|
9164
|
-
"mtime": "2026-07-
|
|
9165
|
-
"size":
|
|
9166
|
-
"path": "../public/_nuxt/
|
|
9216
|
+
"etag": "\"1bcfc-RF6o3F5z7k595Z1IdXmauJ2P0H0\"",
|
|
9217
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9218
|
+
"size": 113916,
|
|
9219
|
+
"path": "../public/_nuxt/DJXcGkJP.js"
|
|
9167
9220
|
},
|
|
9168
|
-
"/_nuxt/
|
|
9221
|
+
"/_nuxt/DL24AjfW.js": {
|
|
9169
9222
|
"type": "text/javascript; charset=utf-8",
|
|
9170
|
-
"etag": "\"
|
|
9171
|
-
"mtime": "2026-07-
|
|
9172
|
-
"size":
|
|
9173
|
-
"path": "../public/_nuxt/
|
|
9223
|
+
"etag": "\"29a-ykk2v8fXDddkEbfxAgFfu/fXOLE\"",
|
|
9224
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9225
|
+
"size": 666,
|
|
9226
|
+
"path": "../public/_nuxt/DL24AjfW.js"
|
|
9174
9227
|
},
|
|
9175
|
-
"/_nuxt/
|
|
9228
|
+
"/_nuxt/DON74Yh6.js": {
|
|
9176
9229
|
"type": "text/javascript; charset=utf-8",
|
|
9177
|
-
"etag": "\"
|
|
9178
|
-
"mtime": "2026-07-
|
|
9179
|
-
"size":
|
|
9180
|
-
"path": "../public/_nuxt/
|
|
9230
|
+
"etag": "\"19c1-/j2isfvaEyjaG5sdnRKrXpTI6sA\"",
|
|
9231
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9232
|
+
"size": 6593,
|
|
9233
|
+
"path": "../public/_nuxt/DON74Yh6.js"
|
|
9181
9234
|
},
|
|
9182
|
-
"/_nuxt/
|
|
9235
|
+
"/_nuxt/DQM62mxB.js": {
|
|
9183
9236
|
"type": "text/javascript; charset=utf-8",
|
|
9184
|
-
"etag": "\"
|
|
9185
|
-
"mtime": "2026-07-
|
|
9186
|
-
"size":
|
|
9187
|
-
"path": "../public/_nuxt/
|
|
9237
|
+
"etag": "\"1062-wYYjWhnl2VorZb2SE3+tKOu/UCw\"",
|
|
9238
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9239
|
+
"size": 4194,
|
|
9240
|
+
"path": "../public/_nuxt/DQM62mxB.js"
|
|
9188
9241
|
},
|
|
9189
|
-
"/_nuxt/
|
|
9242
|
+
"/_nuxt/DCFbQvIN.js": {
|
|
9190
9243
|
"type": "text/javascript; charset=utf-8",
|
|
9191
|
-
"etag": "\"
|
|
9192
|
-
"mtime": "2026-07-
|
|
9193
|
-
"size":
|
|
9194
|
-
"path": "../public/_nuxt/
|
|
9244
|
+
"etag": "\"c8e3e-MAIkpFtlOol4x4FOtcCcE9y4x4Y\"",
|
|
9245
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9246
|
+
"size": 822846,
|
|
9247
|
+
"path": "../public/_nuxt/DCFbQvIN.js"
|
|
9195
9248
|
},
|
|
9196
|
-
"/_nuxt/
|
|
9249
|
+
"/_nuxt/DSe8DxMl.js": {
|
|
9197
9250
|
"type": "text/javascript; charset=utf-8",
|
|
9198
|
-
"etag": "\"
|
|
9199
|
-
"mtime": "2026-07-
|
|
9200
|
-
"size":
|
|
9201
|
-
"path": "../public/_nuxt/
|
|
9251
|
+
"etag": "\"2409-8EnUA2OAQzUwqlIB4D8OtPefgAs\"",
|
|
9252
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9253
|
+
"size": 9225,
|
|
9254
|
+
"path": "../public/_nuxt/DSe8DxMl.js"
|
|
9202
9255
|
},
|
|
9203
|
-
"/_nuxt/
|
|
9256
|
+
"/_nuxt/DWwiVTZX.js": {
|
|
9204
9257
|
"type": "text/javascript; charset=utf-8",
|
|
9205
|
-
"etag": "\"
|
|
9206
|
-
"mtime": "2026-07-
|
|
9207
|
-
"size":
|
|
9208
|
-
"path": "../public/_nuxt/
|
|
9258
|
+
"etag": "\"1f95-HADJ5GU1Wov3zBXcZBCghkwYb24\"",
|
|
9259
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9260
|
+
"size": 8085,
|
|
9261
|
+
"path": "../public/_nuxt/DWwiVTZX.js"
|
|
9209
9262
|
},
|
|
9210
|
-
"/_nuxt/
|
|
9263
|
+
"/_nuxt/DX4tAP78.js": {
|
|
9211
9264
|
"type": "text/javascript; charset=utf-8",
|
|
9212
|
-
"etag": "\"
|
|
9213
|
-
"mtime": "2026-07-
|
|
9214
|
-
"size":
|
|
9215
|
-
"path": "../public/_nuxt/
|
|
9265
|
+
"etag": "\"459-h0E89Fyzb3XNAhOlo26UwAjpf0I\"",
|
|
9266
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9267
|
+
"size": 1113,
|
|
9268
|
+
"path": "../public/_nuxt/DX4tAP78.js"
|
|
9216
9269
|
},
|
|
9217
|
-
"/_nuxt/
|
|
9270
|
+
"/_nuxt/D_eDAIsT.js": {
|
|
9218
9271
|
"type": "text/javascript; charset=utf-8",
|
|
9219
|
-
"etag": "\"
|
|
9220
|
-
"mtime": "2026-07-
|
|
9221
|
-
"size":
|
|
9222
|
-
"path": "../public/_nuxt/
|
|
9272
|
+
"etag": "\"22c-t3MYf0fKjnnvvTPswbnlC6Ie+Cs\"",
|
|
9273
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9274
|
+
"size": 556,
|
|
9275
|
+
"path": "../public/_nuxt/D_eDAIsT.js"
|
|
9223
9276
|
},
|
|
9224
|
-
"/_nuxt/
|
|
9277
|
+
"/_nuxt/Da8A92cF.js": {
|
|
9225
9278
|
"type": "text/javascript; charset=utf-8",
|
|
9226
|
-
"etag": "\"
|
|
9227
|
-
"mtime": "2026-07-
|
|
9228
|
-
"size":
|
|
9229
|
-
"path": "../public/_nuxt/
|
|
9279
|
+
"etag": "\"de4-W/eHxbEbdlZ/zKZij6PpDV2cx68\"",
|
|
9280
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9281
|
+
"size": 3556,
|
|
9282
|
+
"path": "../public/_nuxt/Da8A92cF.js"
|
|
9230
9283
|
},
|
|
9231
|
-
"/_nuxt/
|
|
9284
|
+
"/_nuxt/DdH3op4b.js": {
|
|
9232
9285
|
"type": "text/javascript; charset=utf-8",
|
|
9233
|
-
"etag": "\"
|
|
9234
|
-
"mtime": "2026-07-
|
|
9235
|
-
"size":
|
|
9236
|
-
"path": "../public/_nuxt/
|
|
9286
|
+
"etag": "\"21f-V6McidFTD6zpBhK96scAeR6w4oM\"",
|
|
9287
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9288
|
+
"size": 543,
|
|
9289
|
+
"path": "../public/_nuxt/DdH3op4b.js"
|
|
9237
9290
|
},
|
|
9238
|
-
"/_nuxt/
|
|
9291
|
+
"/_nuxt/DepFDZO3.js": {
|
|
9239
9292
|
"type": "text/javascript; charset=utf-8",
|
|
9240
|
-
"etag": "\"
|
|
9241
|
-
"mtime": "2026-07-
|
|
9242
|
-
"size":
|
|
9243
|
-
"path": "../public/_nuxt/
|
|
9293
|
+
"etag": "\"f9-edXAtvhEHtQ4V9pGLZJlgx0YXU8\"",
|
|
9294
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9295
|
+
"size": 249,
|
|
9296
|
+
"path": "../public/_nuxt/DepFDZO3.js"
|
|
9244
9297
|
},
|
|
9245
|
-
"/_nuxt/
|
|
9298
|
+
"/_nuxt/DfSBKzrC.js": {
|
|
9246
9299
|
"type": "text/javascript; charset=utf-8",
|
|
9247
|
-
"etag": "\"
|
|
9248
|
-
"mtime": "2026-07-
|
|
9249
|
-
"size":
|
|
9250
|
-
"path": "../public/_nuxt/
|
|
9300
|
+
"etag": "\"2c8-hpepwTHJAcksMZIV5VHlsTB19Xg\"",
|
|
9301
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9302
|
+
"size": 712,
|
|
9303
|
+
"path": "../public/_nuxt/DfSBKzrC.js"
|
|
9251
9304
|
},
|
|
9252
|
-
"/_nuxt/
|
|
9305
|
+
"/_nuxt/DfnKh3dZ.js": {
|
|
9253
9306
|
"type": "text/javascript; charset=utf-8",
|
|
9254
|
-
"etag": "\"
|
|
9255
|
-
"mtime": "2026-07-
|
|
9256
|
-
"size":
|
|
9257
|
-
"path": "../public/_nuxt/
|
|
9307
|
+
"etag": "\"52c-Sqn71mCPpME+4S0Ka6gGvSdfbbI\"",
|
|
9308
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9309
|
+
"size": 1324,
|
|
9310
|
+
"path": "../public/_nuxt/DfnKh3dZ.js"
|
|
9258
9311
|
},
|
|
9259
|
-
"/_nuxt/
|
|
9312
|
+
"/_nuxt/DhpTfeip.js": {
|
|
9260
9313
|
"type": "text/javascript; charset=utf-8",
|
|
9261
|
-
"etag": "\"
|
|
9262
|
-
"mtime": "2026-07-
|
|
9263
|
-
"size":
|
|
9264
|
-
"path": "../public/_nuxt/
|
|
9314
|
+
"etag": "\"1a7-6tNKBmdKeBfF9kNZD1IsQQGDylY\"",
|
|
9315
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9316
|
+
"size": 423,
|
|
9317
|
+
"path": "../public/_nuxt/DhpTfeip.js"
|
|
9265
9318
|
},
|
|
9266
|
-
"/_nuxt/
|
|
9319
|
+
"/_nuxt/Dk9nD32g.js": {
|
|
9267
9320
|
"type": "text/javascript; charset=utf-8",
|
|
9268
|
-
"etag": "\"
|
|
9269
|
-
"mtime": "2026-07-
|
|
9270
|
-
"size":
|
|
9271
|
-
"path": "../public/_nuxt/
|
|
9321
|
+
"etag": "\"239-ddhwWe7yXGjfQxLvMaAKm/4lusc\"",
|
|
9322
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9323
|
+
"size": 569,
|
|
9324
|
+
"path": "../public/_nuxt/Dk9nD32g.js"
|
|
9272
9325
|
},
|
|
9273
|
-
"/_nuxt/
|
|
9326
|
+
"/_nuxt/DkT2nCqn.js": {
|
|
9274
9327
|
"type": "text/javascript; charset=utf-8",
|
|
9275
|
-
"etag": "\"
|
|
9276
|
-
"mtime": "2026-07-
|
|
9277
|
-
"size":
|
|
9278
|
-
"path": "../public/_nuxt/
|
|
9328
|
+
"etag": "\"1836-wQ/aE16CuwcEXRmMxjLFbvZE/B0\"",
|
|
9329
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9330
|
+
"size": 6198,
|
|
9331
|
+
"path": "../public/_nuxt/DkT2nCqn.js"
|
|
9279
9332
|
},
|
|
9280
|
-
"/_nuxt/
|
|
9333
|
+
"/_nuxt/DlW85lQq.js": {
|
|
9281
9334
|
"type": "text/javascript; charset=utf-8",
|
|
9282
|
-
"etag": "\"
|
|
9283
|
-
"mtime": "2026-07-
|
|
9284
|
-
"size":
|
|
9285
|
-
"path": "../public/_nuxt/
|
|
9335
|
+
"etag": "\"d00c-CBmMeHN1YxEMWlVvh+w6ImnK40E\"",
|
|
9336
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9337
|
+
"size": 53260,
|
|
9338
|
+
"path": "../public/_nuxt/DlW85lQq.js"
|
|
9286
9339
|
},
|
|
9287
|
-
"/_nuxt/
|
|
9340
|
+
"/_nuxt/DnNio-ut.js": {
|
|
9288
9341
|
"type": "text/javascript; charset=utf-8",
|
|
9289
|
-
"etag": "\"
|
|
9290
|
-
"mtime": "2026-07-
|
|
9291
|
-
"size":
|
|
9292
|
-
"path": "../public/_nuxt/
|
|
9342
|
+
"etag": "\"4a57-jMTgZCcgqI22FEyMYRLHXRTgQhI\"",
|
|
9343
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9344
|
+
"size": 19031,
|
|
9345
|
+
"path": "../public/_nuxt/DnNio-ut.js"
|
|
9293
9346
|
},
|
|
9294
|
-
"/_nuxt/
|
|
9347
|
+
"/_nuxt/DnQv_hst.js": {
|
|
9295
9348
|
"type": "text/javascript; charset=utf-8",
|
|
9296
|
-
"etag": "\"
|
|
9297
|
-
"mtime": "2026-07-
|
|
9298
|
-
"size":
|
|
9299
|
-
"path": "../public/_nuxt/
|
|
9349
|
+
"etag": "\"8a2-nl/u6CbgmJ88+WcAOxTLztiJ6WI\"",
|
|
9350
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9351
|
+
"size": 2210,
|
|
9352
|
+
"path": "../public/_nuxt/DnQv_hst.js"
|
|
9300
9353
|
},
|
|
9301
|
-
"/_nuxt/
|
|
9354
|
+
"/_nuxt/DqEOMteW.js": {
|
|
9302
9355
|
"type": "text/javascript; charset=utf-8",
|
|
9303
|
-
"etag": "\"
|
|
9304
|
-
"mtime": "2026-07-
|
|
9305
|
-
"size":
|
|
9306
|
-
"path": "../public/_nuxt/
|
|
9356
|
+
"etag": "\"57c8-6AWoWp28Q36aWs1ADYrQYOo2sXI\"",
|
|
9357
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9358
|
+
"size": 22472,
|
|
9359
|
+
"path": "../public/_nuxt/DqEOMteW.js"
|
|
9307
9360
|
},
|
|
9308
|
-
"/_nuxt/
|
|
9361
|
+
"/_nuxt/Dsvu7YJT.js": {
|
|
9309
9362
|
"type": "text/javascript; charset=utf-8",
|
|
9310
|
-
"etag": "\"
|
|
9311
|
-
"mtime": "2026-07-
|
|
9312
|
-
"size":
|
|
9313
|
-
"path": "../public/_nuxt/
|
|
9363
|
+
"etag": "\"1f2-K+0eDAy9mhUaZrwQkcLkFn/14Xw\"",
|
|
9364
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9365
|
+
"size": 498,
|
|
9366
|
+
"path": "../public/_nuxt/Dsvu7YJT.js"
|
|
9314
9367
|
},
|
|
9315
|
-
"/_nuxt/
|
|
9368
|
+
"/_nuxt/DvhCDBrR.js": {
|
|
9316
9369
|
"type": "text/javascript; charset=utf-8",
|
|
9317
|
-
"etag": "\"
|
|
9318
|
-
"mtime": "2026-07-
|
|
9319
|
-
"size":
|
|
9320
|
-
"path": "../public/_nuxt/
|
|
9370
|
+
"etag": "\"1d655-jX4nX1bRGi8reDuWgUouN3I+8EQ\"",
|
|
9371
|
+
"mtime": "2026-07-30T10:27:26.357Z",
|
|
9372
|
+
"size": 120405,
|
|
9373
|
+
"path": "../public/_nuxt/DvhCDBrR.js"
|
|
9321
9374
|
},
|
|
9322
|
-
"/_nuxt/
|
|
9375
|
+
"/_nuxt/DwQaVMZR.js": {
|
|
9323
9376
|
"type": "text/javascript; charset=utf-8",
|
|
9324
|
-
"etag": "\"
|
|
9325
|
-
"mtime": "2026-07-
|
|
9326
|
-
"size":
|
|
9327
|
-
"path": "../public/_nuxt/
|
|
9377
|
+
"etag": "\"bca7-Ob57ci+gXV3DZ/tLxC7FnGM4yJQ\"",
|
|
9378
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9379
|
+
"size": 48295,
|
|
9380
|
+
"path": "../public/_nuxt/DwQaVMZR.js"
|
|
9328
9381
|
},
|
|
9329
|
-
"/_nuxt/
|
|
9382
|
+
"/_nuxt/E-_n_6vi.js": {
|
|
9330
9383
|
"type": "text/javascript; charset=utf-8",
|
|
9331
|
-
"etag": "\"
|
|
9332
|
-
"mtime": "2026-07-
|
|
9333
|
-
"size":
|
|
9334
|
-
"path": "../public/_nuxt/
|
|
9384
|
+
"etag": "\"832-BJIWTg171Uz6oDzYEQymdXahv0I\"",
|
|
9385
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9386
|
+
"size": 2098,
|
|
9387
|
+
"path": "../public/_nuxt/E-_n_6vi.js"
|
|
9335
9388
|
},
|
|
9336
|
-
"/_nuxt/
|
|
9389
|
+
"/_nuxt/Ebw5l7n8.js": {
|
|
9337
9390
|
"type": "text/javascript; charset=utf-8",
|
|
9338
|
-
"etag": "\"
|
|
9339
|
-
"mtime": "2026-07-
|
|
9340
|
-
"size":
|
|
9341
|
-
"path": "../public/_nuxt/
|
|
9391
|
+
"etag": "\"2a8a-8HGUCcxK2t9Ica59b/j5Q4/TK0U\"",
|
|
9392
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9393
|
+
"size": 10890,
|
|
9394
|
+
"path": "../public/_nuxt/Ebw5l7n8.js"
|
|
9395
|
+
},
|
|
9396
|
+
"/_nuxt/IPePdbzl.js": {
|
|
9397
|
+
"type": "text/javascript; charset=utf-8",
|
|
9398
|
+
"etag": "\"7f6-0bAoLWWglnTlyGR9pxbS/dZ9FIQ\"",
|
|
9399
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9400
|
+
"size": 2038,
|
|
9401
|
+
"path": "../public/_nuxt/IPePdbzl.js"
|
|
9402
|
+
},
|
|
9403
|
+
"/_nuxt/LHoUGrfi.js": {
|
|
9404
|
+
"type": "text/javascript; charset=utf-8",
|
|
9405
|
+
"etag": "\"13f4-3biYlosXg99jHwMmL+24Hg3OF80\"",
|
|
9406
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9407
|
+
"size": 5108,
|
|
9408
|
+
"path": "../public/_nuxt/LHoUGrfi.js"
|
|
9409
|
+
},
|
|
9410
|
+
"/_nuxt/NERLHpOL.js": {
|
|
9411
|
+
"type": "text/javascript; charset=utf-8",
|
|
9412
|
+
"etag": "\"1b9-56wgO4ifRXDyISZnHP4+t3UyZTo\"",
|
|
9413
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9414
|
+
"size": 441,
|
|
9415
|
+
"path": "../public/_nuxt/NERLHpOL.js"
|
|
9342
9416
|
},
|
|
9343
|
-
"/_nuxt/
|
|
9417
|
+
"/_nuxt/RAdNGxcF.js": {
|
|
9344
9418
|
"type": "text/javascript; charset=utf-8",
|
|
9345
|
-
"etag": "\"
|
|
9346
|
-
"mtime": "2026-07-
|
|
9347
|
-
"size":
|
|
9348
|
-
"path": "../public/_nuxt/
|
|
9419
|
+
"etag": "\"d30f-DmV7t11G51U09UvPDcnxlsyZRUg\"",
|
|
9420
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9421
|
+
"size": 54031,
|
|
9422
|
+
"path": "../public/_nuxt/RAdNGxcF.js"
|
|
9349
9423
|
},
|
|
9350
9424
|
"/_nuxt/TagBadge.By1E6r4y.css": {
|
|
9351
9425
|
"type": "text/css; charset=utf-8",
|
|
9352
9426
|
"etag": "\"157-IKy4vDg7Q0Q8CD7ULiGU08Nl8Lc\"",
|
|
9353
|
-
"mtime": "2026-07-
|
|
9427
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9354
9428
|
"size": 343,
|
|
9355
9429
|
"path": "../public/_nuxt/TagBadge.By1E6r4y.css"
|
|
9356
9430
|
},
|
|
9357
|
-
"/_nuxt/
|
|
9431
|
+
"/_nuxt/Vxyo_mU9.js": {
|
|
9358
9432
|
"type": "text/javascript; charset=utf-8",
|
|
9359
|
-
"etag": "\"
|
|
9360
|
-
"mtime": "2026-07-
|
|
9361
|
-
"size":
|
|
9362
|
-
"path": "../public/_nuxt/
|
|
9433
|
+
"etag": "\"71-ie/RkMceKclcfFIuxsL3EvPTT44\"",
|
|
9434
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9435
|
+
"size": 113,
|
|
9436
|
+
"path": "../public/_nuxt/Vxyo_mU9.js"
|
|
9363
9437
|
},
|
|
9364
|
-
"/_nuxt/
|
|
9438
|
+
"/_nuxt/YE1kAkU9.js": {
|
|
9365
9439
|
"type": "text/javascript; charset=utf-8",
|
|
9366
|
-
"etag": "\"
|
|
9367
|
-
"mtime": "2026-07-
|
|
9368
|
-
"size":
|
|
9369
|
-
"path": "../public/_nuxt/
|
|
9440
|
+
"etag": "\"6ed-UFYpCSLv+uSrAqxVV1TekntoRIM\"",
|
|
9441
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9442
|
+
"size": 1773,
|
|
9443
|
+
"path": "../public/_nuxt/YE1kAkU9.js"
|
|
9444
|
+
},
|
|
9445
|
+
"/_nuxt/YmT5WiN5.js": {
|
|
9446
|
+
"type": "text/javascript; charset=utf-8",
|
|
9447
|
+
"etag": "\"84d-Ju0vZCesVRlO4GC1YYoCfr3Fdns\"",
|
|
9448
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9449
|
+
"size": 2125,
|
|
9450
|
+
"path": "../public/_nuxt/YmT5WiN5.js"
|
|
9451
|
+
},
|
|
9452
|
+
"/_nuxt/ZcAfCxWE.js": {
|
|
9453
|
+
"type": "text/javascript; charset=utf-8",
|
|
9454
|
+
"etag": "\"6091-iFVV97KFbrJfTEiO23d9o3JDN90\"",
|
|
9455
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9456
|
+
"size": 24721,
|
|
9457
|
+
"path": "../public/_nuxt/ZcAfCxWE.js"
|
|
9370
9458
|
},
|
|
9371
9459
|
"/_nuxt/_id_.BJYGcue8.css": {
|
|
9372
9460
|
"type": "text/css; charset=utf-8",
|
|
9373
9461
|
"etag": "\"63-amyfCk360mo1yjc9FXgsZbTSXE4\"",
|
|
9374
|
-
"mtime": "2026-07-
|
|
9462
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9375
9463
|
"size": 99,
|
|
9376
9464
|
"path": "../public/_nuxt/_id_.BJYGcue8.css"
|
|
9377
9465
|
},
|
|
9378
|
-
"/_nuxt/
|
|
9466
|
+
"/_nuxt/bFU9Y1Vw.js": {
|
|
9379
9467
|
"type": "text/javascript; charset=utf-8",
|
|
9380
|
-
"etag": "\"
|
|
9381
|
-
"mtime": "2026-07-
|
|
9382
|
-
"size":
|
|
9383
|
-
"path": "../public/_nuxt/
|
|
9468
|
+
"etag": "\"35dd-oncADn853wDmX8b4+/XzU5C6JV8\"",
|
|
9469
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9470
|
+
"size": 13789,
|
|
9471
|
+
"path": "../public/_nuxt/bFU9Y1Vw.js"
|
|
9384
9472
|
},
|
|
9385
|
-
"/_nuxt/
|
|
9473
|
+
"/_nuxt/_rglcvXN.js": {
|
|
9386
9474
|
"type": "text/javascript; charset=utf-8",
|
|
9387
|
-
"etag": "\"
|
|
9388
|
-
"mtime": "2026-07-
|
|
9389
|
-
"size":
|
|
9390
|
-
"path": "../public/_nuxt/
|
|
9475
|
+
"etag": "\"3f70-UC8aUI4Q4d5JZfLcXOefbFn/fsw\"",
|
|
9476
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9477
|
+
"size": 16240,
|
|
9478
|
+
"path": "../public/_nuxt/_rglcvXN.js"
|
|
9391
9479
|
},
|
|
9392
|
-
"/_nuxt/
|
|
9480
|
+
"/_nuxt/bfecIH89.js": {
|
|
9393
9481
|
"type": "text/javascript; charset=utf-8",
|
|
9394
|
-
"etag": "\"
|
|
9395
|
-
"mtime": "2026-07-
|
|
9396
|
-
"size":
|
|
9397
|
-
"path": "../public/_nuxt/
|
|
9482
|
+
"etag": "\"769c-ypYv2iWqJypaVG6iJd4zLsIGspI\"",
|
|
9483
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9484
|
+
"size": 30364,
|
|
9485
|
+
"path": "../public/_nuxt/bfecIH89.js"
|
|
9398
9486
|
},
|
|
9399
|
-
"/_nuxt/entry.
|
|
9487
|
+
"/_nuxt/entry.BAvBQY-h.css": {
|
|
9400
9488
|
"type": "text/css; charset=utf-8",
|
|
9401
|
-
"etag": "\"
|
|
9402
|
-
"mtime": "2026-07-
|
|
9403
|
-
"size":
|
|
9404
|
-
"path": "../public/_nuxt/entry.
|
|
9489
|
+
"etag": "\"41535-pajwo7hkhjLmrbvND0Zj5rnV838\"",
|
|
9490
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9491
|
+
"size": 267573,
|
|
9492
|
+
"path": "../public/_nuxt/entry.BAvBQY-h.css"
|
|
9405
9493
|
},
|
|
9406
|
-
"/_nuxt/
|
|
9494
|
+
"/_nuxt/gV2U_Gqd.js": {
|
|
9407
9495
|
"type": "text/javascript; charset=utf-8",
|
|
9408
|
-
"etag": "\"
|
|
9409
|
-
"mtime": "2026-07-
|
|
9410
|
-
"size":
|
|
9411
|
-
"path": "../public/_nuxt/
|
|
9496
|
+
"etag": "\"1a2-mLChqjwvq09NU7ivrYWsilmwUyY\"",
|
|
9497
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9498
|
+
"size": 418,
|
|
9499
|
+
"path": "../public/_nuxt/gV2U_Gqd.js"
|
|
9412
9500
|
},
|
|
9413
|
-
"/_nuxt/
|
|
9501
|
+
"/_nuxt/four-S1Y.js": {
|
|
9414
9502
|
"type": "text/javascript; charset=utf-8",
|
|
9415
|
-
"etag": "\"
|
|
9416
|
-
"mtime": "2026-07-
|
|
9417
|
-
"size":
|
|
9418
|
-
"path": "../public/_nuxt/
|
|
9503
|
+
"etag": "\"6ec-J8+ugT/wNvfN47TEOwlzbG/X5Hk\"",
|
|
9504
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9505
|
+
"size": 1772,
|
|
9506
|
+
"path": "../public/_nuxt/four-S1Y.js"
|
|
9419
9507
|
},
|
|
9420
9508
|
"/_nuxt/index.BiXg7rd-.css": {
|
|
9421
9509
|
"type": "text/css; charset=utf-8",
|
|
9422
9510
|
"etag": "\"2a-YsoB3fpQHrPNafdrSIeNjMdN0Nk\"",
|
|
9423
|
-
"mtime": "2026-07-
|
|
9511
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9424
9512
|
"size": 42,
|
|
9425
9513
|
"path": "../public/_nuxt/index.BiXg7rd-.css"
|
|
9426
9514
|
},
|
|
9427
|
-
"/_nuxt/
|
|
9515
|
+
"/_nuxt/lGC893pn.js": {
|
|
9428
9516
|
"type": "text/javascript; charset=utf-8",
|
|
9429
|
-
"etag": "\"
|
|
9430
|
-
"mtime": "2026-07-
|
|
9431
|
-
"size":
|
|
9432
|
-
"path": "../public/_nuxt/
|
|
9517
|
+
"etag": "\"149-61YLNaKP7yBdUJrGIdgDznOtqT8\"",
|
|
9518
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9519
|
+
"size": 329,
|
|
9520
|
+
"path": "../public/_nuxt/lGC893pn.js"
|
|
9433
9521
|
},
|
|
9434
|
-
"/_nuxt/
|
|
9522
|
+
"/_nuxt/nOfj-ar8.js": {
|
|
9435
9523
|
"type": "text/javascript; charset=utf-8",
|
|
9436
|
-
"etag": "\"
|
|
9437
|
-
"mtime": "2026-07-
|
|
9438
|
-
"size":
|
|
9439
|
-
"path": "../public/_nuxt/
|
|
9524
|
+
"etag": "\"1db2-/7uIZRt2EcD67d9VHt1T44f1pR4\"",
|
|
9525
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9526
|
+
"size": 7602,
|
|
9527
|
+
"path": "../public/_nuxt/nOfj-ar8.js"
|
|
9440
9528
|
},
|
|
9441
|
-
"/_nuxt/
|
|
9529
|
+
"/_nuxt/oKrbs1XK.js": {
|
|
9442
9530
|
"type": "text/javascript; charset=utf-8",
|
|
9443
|
-
"etag": "\"
|
|
9444
|
-
"mtime": "2026-07-
|
|
9445
|
-
"size":
|
|
9446
|
-
"path": "../public/_nuxt/
|
|
9531
|
+
"etag": "\"39c9-8RzoVaGQpvIRYK7jckWVsBmhxv4\"",
|
|
9532
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9533
|
+
"size": 14793,
|
|
9534
|
+
"path": "../public/_nuxt/oKrbs1XK.js"
|
|
9535
|
+
},
|
|
9536
|
+
"/_nuxt/rL4C0HV5.js": {
|
|
9537
|
+
"type": "text/javascript; charset=utf-8",
|
|
9538
|
+
"etag": "\"74-k6mXK9M7NR9tTDv6mECj7xj1Abc\"",
|
|
9539
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9540
|
+
"size": 116,
|
|
9541
|
+
"path": "../public/_nuxt/rL4C0HV5.js"
|
|
9447
9542
|
},
|
|
9448
|
-
"/_nuxt/
|
|
9543
|
+
"/_nuxt/oSJFAC38.js": {
|
|
9449
9544
|
"type": "text/javascript; charset=utf-8",
|
|
9450
|
-
"etag": "\"
|
|
9451
|
-
"mtime": "2026-07-
|
|
9452
|
-
"size":
|
|
9453
|
-
"path": "../public/_nuxt/
|
|
9545
|
+
"etag": "\"105e-/ggq8KZGuXaOFBovwIxsCCHrlaU\"",
|
|
9546
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9547
|
+
"size": 4190,
|
|
9548
|
+
"path": "../public/_nuxt/oSJFAC38.js"
|
|
9549
|
+
},
|
|
9550
|
+
"/_nuxt/tQoyVPCE.js": {
|
|
9551
|
+
"type": "text/javascript; charset=utf-8",
|
|
9552
|
+
"etag": "\"262-QvNLBgr99ybAfHsq481diiB7ysM\"",
|
|
9553
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9554
|
+
"size": 610,
|
|
9555
|
+
"path": "../public/_nuxt/tQoyVPCE.js"
|
|
9454
9556
|
},
|
|
9455
9557
|
"/_nuxt/useCopyRich.BrM5HWjY.css": {
|
|
9456
9558
|
"type": "text/css; charset=utf-8",
|
|
9457
9559
|
"etag": "\"c1-U1JlPq8PmBEG9/xBeQjfV2c0srg\"",
|
|
9458
|
-
"mtime": "2026-07-
|
|
9560
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9459
9561
|
"size": 193,
|
|
9460
9562
|
"path": "../public/_nuxt/useCopyRich.BrM5HWjY.css"
|
|
9461
9563
|
},
|
|
9564
|
+
"/_nuxt/uSPCvASp.js": {
|
|
9565
|
+
"type": "text/javascript; charset=utf-8",
|
|
9566
|
+
"etag": "\"84-dURv3/IDqwrOkwUliIwaeNaTR7A\"",
|
|
9567
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9568
|
+
"size": 132,
|
|
9569
|
+
"path": "../public/_nuxt/uSPCvASp.js"
|
|
9570
|
+
},
|
|
9571
|
+
"/_nuxt/wkz5-1SO.js": {
|
|
9572
|
+
"type": "text/javascript; charset=utf-8",
|
|
9573
|
+
"etag": "\"15d7-28MrMokVl9/uHmxvy4j04tTxa6o\"",
|
|
9574
|
+
"mtime": "2026-07-30T10:27:26.358Z",
|
|
9575
|
+
"size": 5591,
|
|
9576
|
+
"path": "../public/_nuxt/wkz5-1SO.js"
|
|
9577
|
+
},
|
|
9578
|
+
"/_nuxt/yYlVYKCz.js": {
|
|
9579
|
+
"type": "text/javascript; charset=utf-8",
|
|
9580
|
+
"etag": "\"b86b-5e9YwJSn1rewRgr512tccEJnq0s\"",
|
|
9581
|
+
"mtime": "2026-07-30T10:27:26.359Z",
|
|
9582
|
+
"size": 47211,
|
|
9583
|
+
"path": "../public/_nuxt/yYlVYKCz.js"
|
|
9584
|
+
},
|
|
9585
|
+
"/_nuxt/zv8WdMx0.js": {
|
|
9586
|
+
"type": "text/javascript; charset=utf-8",
|
|
9587
|
+
"etag": "\"eea-IFehDOUu+ke7r/2Q9/Zx3FhxEC4\"",
|
|
9588
|
+
"mtime": "2026-07-30T10:27:26.359Z",
|
|
9589
|
+
"size": 3818,
|
|
9590
|
+
"path": "../public/_nuxt/zv8WdMx0.js"
|
|
9591
|
+
},
|
|
9462
9592
|
"/demo/screenshots/admin-dark-dashboard.png": {
|
|
9463
9593
|
"type": "image/png",
|
|
9464
9594
|
"etag": "\"13fa-LlxTvAXVWEO73a3agPvttg2XVgE\"",
|
|
9465
|
-
"mtime": "2026-07-
|
|
9595
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
9466
9596
|
"size": 5114,
|
|
9467
9597
|
"path": "../public/demo/screenshots/admin-dark-dashboard.png"
|
|
9468
9598
|
},
|
|
9599
|
+
"/demo/screenshots/admin-users-table.png": {
|
|
9600
|
+
"type": "image/png",
|
|
9601
|
+
"etag": "\"edbd-BNe6rlHCAAGrinCn5KlzbaXMhAw\"",
|
|
9602
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
9603
|
+
"size": 60861,
|
|
9604
|
+
"path": "../public/demo/screenshots/admin-users-table.png"
|
|
9605
|
+
},
|
|
9469
9606
|
"/demo/screenshots/button-gallery-strict.png": {
|
|
9470
9607
|
"type": "image/png",
|
|
9471
9608
|
"etag": "\"1edf-/0PFEjE2Nk8b8CZTYbjurlHCFlI\"",
|
|
9472
|
-
"mtime": "2026-07-
|
|
9609
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
9473
9610
|
"size": 7903,
|
|
9474
9611
|
"path": "../public/demo/screenshots/button-gallery-strict.png"
|
|
9475
9612
|
},
|
|
9476
9613
|
"/demo/screenshots/cart-summary.png": {
|
|
9477
9614
|
"type": "image/png",
|
|
9478
9615
|
"etag": "\"2f8b-DRb9tjPRp/LkprJH5eJGDqYohWI\"",
|
|
9479
|
-
"mtime": "2026-07-
|
|
9616
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
9480
9617
|
"size": 12171,
|
|
9481
9618
|
"path": "../public/demo/screenshots/cart-summary.png"
|
|
9482
9619
|
},
|
|
9483
9620
|
"/demo/screenshots/checkout-contact-restructured.png": {
|
|
9484
9621
|
"type": "image/png",
|
|
9485
9622
|
"etag": "\"4af4-jmrP3jYO2MONGY5Gys7LXicISpI\"",
|
|
9486
|
-
"mtime": "2026-07-
|
|
9623
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
9487
9624
|
"size": 19188,
|
|
9488
9625
|
"path": "../public/demo/screenshots/checkout-contact-restructured.png"
|
|
9489
9626
|
},
|
|
9490
|
-
"/demo/screenshots/admin-users-table.png": {
|
|
9491
|
-
"type": "image/png",
|
|
9492
|
-
"etag": "\"edbd-BNe6rlHCAAGrinCn5KlzbaXMhAw\"",
|
|
9493
|
-
"mtime": "2026-07-27T16:23:53.384Z",
|
|
9494
|
-
"size": 60861,
|
|
9495
|
-
"path": "../public/demo/screenshots/admin-users-table.png"
|
|
9496
|
-
},
|
|
9497
9627
|
"/demo/screenshots/checkout-error-banner.png": {
|
|
9498
9628
|
"type": "image/png",
|
|
9499
9629
|
"etag": "\"5197-5Hbv9Db+OwsWFcN3sIMVm4ROPhQ\"",
|
|
9500
|
-
"mtime": "2026-07-
|
|
9630
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
9501
9631
|
"size": 20887,
|
|
9502
9632
|
"path": "../public/demo/screenshots/checkout-error-banner.png"
|
|
9503
9633
|
},
|
|
9504
9634
|
"/demo/screenshots/checkout-form-filled.png": {
|
|
9505
9635
|
"type": "image/png",
|
|
9506
9636
|
"etag": "\"4484-kYLRdXcGeZ5Pvc3vpvRwDo2WKuA\"",
|
|
9507
|
-
"mtime": "2026-07-
|
|
9637
|
+
"mtime": "2026-07-30T10:27:26.369Z",
|
|
9508
9638
|
"size": 17540,
|
|
9509
9639
|
"path": "../public/demo/screenshots/checkout-form-filled.png"
|
|
9510
9640
|
},
|
|
9511
|
-
"/demo/screenshots/components-modal-stuck.png": {
|
|
9512
|
-
"type": "image/png",
|
|
9513
|
-
"etag": "\"1886-rUw/v/eNB+KmThyLT9awG406OSo\"",
|
|
9514
|
-
"mtime": "2026-07-27T16:23:53.385Z",
|
|
9515
|
-
"size": 6278,
|
|
9516
|
-
"path": "../public/demo/screenshots/components-modal-stuck.png"
|
|
9517
|
-
},
|
|
9518
9641
|
"/demo/screenshots/checkout-order-confirmed.png": {
|
|
9519
9642
|
"type": "image/png",
|
|
9520
9643
|
"etag": "\"2b3e-LQkDUObWuBY0t8/qqC+ygQ1O8MI\"",
|
|
9521
|
-
"mtime": "2026-07-
|
|
9644
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
9522
9645
|
"size": 11070,
|
|
9523
9646
|
"path": "../public/demo/screenshots/checkout-order-confirmed.png"
|
|
9524
9647
|
},
|
|
9648
|
+
"/demo/screenshots/components-modal-stuck.png": {
|
|
9649
|
+
"type": "image/png",
|
|
9650
|
+
"etag": "\"1886-rUw/v/eNB+KmThyLT9awG406OSo\"",
|
|
9651
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
9652
|
+
"size": 6278,
|
|
9653
|
+
"path": "../public/demo/screenshots/components-modal-stuck.png"
|
|
9654
|
+
},
|
|
9525
9655
|
"/demo/screenshots/login-form.png": {
|
|
9526
9656
|
"type": "image/png",
|
|
9527
9657
|
"etag": "\"1be4-M7S7DCbRBiIQZV8o+IOB648YtDI\"",
|
|
9528
|
-
"mtime": "2026-07-
|
|
9658
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
9529
9659
|
"size": 7140,
|
|
9530
9660
|
"path": "../public/demo/screenshots/login-form.png"
|
|
9531
9661
|
},
|
|
9532
|
-
"/demo/screenshots/mobile-form-keyboard.png": {
|
|
9533
|
-
"type": "image/png",
|
|
9534
|
-
"etag": "\"22f1-Gfb+ZhZ05qZaA44LUll0aFFxCoA\"",
|
|
9535
|
-
"mtime": "2026-07-27T16:23:53.385Z",
|
|
9536
|
-
"size": 8945,
|
|
9537
|
-
"path": "../public/demo/screenshots/mobile-form-keyboard.png"
|
|
9538
|
-
},
|
|
9539
9662
|
"/demo/screenshots/mobile-nav-loading.png": {
|
|
9540
9663
|
"type": "image/png",
|
|
9541
9664
|
"etag": "\"657a-TOY8F52S5ySqCxGVcH8D/8qtFw0\"",
|
|
9542
|
-
"mtime": "2026-07-
|
|
9665
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
9543
9666
|
"size": 25978,
|
|
9544
9667
|
"path": "../public/demo/screenshots/mobile-nav-loading.png"
|
|
9545
9668
|
},
|
|
9669
|
+
"/demo/screenshots/mobile-form-keyboard.png": {
|
|
9670
|
+
"type": "image/png",
|
|
9671
|
+
"etag": "\"22f1-Gfb+ZhZ05qZaA44LUll0aFFxCoA\"",
|
|
9672
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
9673
|
+
"size": 8945,
|
|
9674
|
+
"path": "../public/demo/screenshots/mobile-form-keyboard.png"
|
|
9675
|
+
},
|
|
9546
9676
|
"/demo/screenshots/visual-diff-checkout.png": {
|
|
9547
9677
|
"type": "image/png",
|
|
9548
9678
|
"etag": "\"2fa6-4cd0Tag/77M7msnxptz+mrRMnvs\"",
|
|
9549
|
-
"mtime": "2026-07-
|
|
9679
|
+
"mtime": "2026-07-30T10:27:26.369Z",
|
|
9550
9680
|
"size": 12198,
|
|
9551
9681
|
"path": "../public/demo/screenshots/visual-diff-checkout.png"
|
|
9552
9682
|
},
|
|
9553
9683
|
"/demo/traces/admin-dark-dashboard.zip": {
|
|
9554
9684
|
"type": "application/zip",
|
|
9555
9685
|
"etag": "\"3ad5-fdph4y8slB8EFVUU59jLCMHwAdw\"",
|
|
9556
|
-
"mtime": "2026-07-
|
|
9686
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
9557
9687
|
"size": 15061,
|
|
9558
9688
|
"path": "../public/demo/traces/admin-dark-dashboard.zip"
|
|
9559
9689
|
},
|
|
9560
9690
|
"/demo/traces/button-strict-mode.zip": {
|
|
9561
9691
|
"type": "application/zip",
|
|
9562
9692
|
"etag": "\"3c72-jr5ob2yiUi+RC5b6JBKTc5NhkY8\"",
|
|
9563
|
-
"mtime": "2026-07-
|
|
9693
|
+
"mtime": "2026-07-30T10:27:26.369Z",
|
|
9564
9694
|
"size": 15474,
|
|
9565
9695
|
"path": "../public/demo/traces/button-strict-mode.zip"
|
|
9566
9696
|
},
|
|
9567
9697
|
"/demo/traces/checkout-pay-timeout.zip": {
|
|
9568
9698
|
"type": "application/zip",
|
|
9569
9699
|
"etag": "\"230e8-Jj3Q+DnsWbSnNbEm6EicV7MWBWE\"",
|
|
9570
|
-
"mtime": "2026-07-
|
|
9700
|
+
"mtime": "2026-07-30T10:27:26.369Z",
|
|
9571
9701
|
"size": 143592,
|
|
9572
9702
|
"path": "../public/demo/traces/checkout-pay-timeout.zip"
|
|
9573
9703
|
},
|
|
9574
9704
|
"/demo/traces/email-label-renamed.zip": {
|
|
9575
9705
|
"type": "application/zip",
|
|
9576
9706
|
"etag": "\"97e8-/qseRrlAuiZ/AIdAgA2g9YpVCyk\"",
|
|
9577
|
-
"mtime": "2026-07-
|
|
9707
|
+
"mtime": "2026-07-30T10:27:26.369Z",
|
|
9578
9708
|
"size": 38888,
|
|
9579
9709
|
"path": "../public/demo/traces/email-label-renamed.zip"
|
|
9580
9710
|
},
|
|
9581
9711
|
"/demo/videos/button-strict-mode.webm": {
|
|
9582
9712
|
"type": "video/webm",
|
|
9583
9713
|
"etag": "\"312b-BVfDGZGsbYFSEHl16DTP2QikmA4\"",
|
|
9584
|
-
"mtime": "2026-07-
|
|
9714
|
+
"mtime": "2026-07-30T10:27:26.368Z",
|
|
9585
9715
|
"size": 12587,
|
|
9586
9716
|
"path": "../public/demo/videos/button-strict-mode.webm"
|
|
9587
9717
|
},
|
|
9588
|
-
"/demo/videos/mobile-nav-timeout.webm": {
|
|
9589
|
-
"type": "video/webm",
|
|
9590
|
-
"etag": "\"26e5-JTbNn9wtK0qUSS5FkW9utALUptI\"",
|
|
9591
|
-
"mtime": "2026-07-27T16:23:53.385Z",
|
|
9592
|
-
"size": 9957,
|
|
9593
|
-
"path": "../public/demo/videos/mobile-nav-timeout.webm"
|
|
9594
|
-
},
|
|
9595
9718
|
"/demo/videos/checkout-pay-timeout.webm": {
|
|
9596
9719
|
"type": "video/webm",
|
|
9597
9720
|
"etag": "\"c563-bTz/MA5vC7D8ysE7idPyY5QRrB8\"",
|
|
9598
|
-
"mtime": "2026-07-
|
|
9721
|
+
"mtime": "2026-07-30T10:27:26.369Z",
|
|
9599
9722
|
"size": 50531,
|
|
9600
9723
|
"path": "../public/demo/videos/checkout-pay-timeout.webm"
|
|
9601
9724
|
},
|
|
9602
|
-
"/
|
|
9603
|
-
"type": "
|
|
9604
|
-
"etag": "\"
|
|
9605
|
-
"mtime": "2026-07-
|
|
9606
|
-
"size":
|
|
9607
|
-
"path": "../public/
|
|
9725
|
+
"/demo/videos/mobile-nav-timeout.webm": {
|
|
9726
|
+
"type": "video/webm",
|
|
9727
|
+
"etag": "\"26e5-JTbNn9wtK0qUSS5FkW9utALUptI\"",
|
|
9728
|
+
"mtime": "2026-07-30T10:27:26.369Z",
|
|
9729
|
+
"size": 9957,
|
|
9730
|
+
"path": "../public/demo/videos/mobile-nav-timeout.webm"
|
|
9608
9731
|
},
|
|
9609
9732
|
"/trace-viewer/assets/codeMirrorModule-LEHpjmcn.js": {
|
|
9610
9733
|
"type": "text/javascript; charset=utf-8",
|
|
9611
9734
|
"etag": "\"4c6de-a6ay4zcBO/eHUwOhnnT5yaG3Kyw\"",
|
|
9612
|
-
"mtime": "2026-07-
|
|
9735
|
+
"mtime": "2026-07-30T10:27:26.310Z",
|
|
9613
9736
|
"size": 313054,
|
|
9614
9737
|
"path": "../public/trace-viewer/assets/codeMirrorModule-LEHpjmcn.js"
|
|
9615
9738
|
},
|
|
9616
|
-
"/
|
|
9617
|
-
"type": "
|
|
9618
|
-
"etag": "\"
|
|
9619
|
-
"mtime": "2026-07-
|
|
9620
|
-
"size":
|
|
9621
|
-
"path": "../public/
|
|
9739
|
+
"/trace-viewer/assets/urlMatch-BYQrIQwR.js": {
|
|
9740
|
+
"type": "text/javascript; charset=utf-8",
|
|
9741
|
+
"etag": "\"333-Dbnx7qnjoKtZmj/ddsF8HdiIdMc\"",
|
|
9742
|
+
"mtime": "2026-07-30T10:27:26.311Z",
|
|
9743
|
+
"size": 819,
|
|
9744
|
+
"path": "../public/trace-viewer/assets/urlMatch-BYQrIQwR.js"
|
|
9622
9745
|
},
|
|
9623
9746
|
"/trace-viewer/assets/xtermModule-CsJ4vdCR.js": {
|
|
9624
9747
|
"type": "text/javascript; charset=utf-8",
|
|
9625
9748
|
"etag": "\"47594-Raxj+Ri2E1/vI/4Ab8DhN976/qU\"",
|
|
9626
|
-
"mtime": "2026-07-
|
|
9749
|
+
"mtime": "2026-07-30T10:27:26.311Z",
|
|
9627
9750
|
"size": 292244,
|
|
9628
9751
|
"path": "../public/trace-viewer/assets/xtermModule-CsJ4vdCR.js"
|
|
9629
9752
|
},
|
|
9630
|
-
"/_nuxt/builds/
|
|
9753
|
+
"/_nuxt/builds/latest.json": {
|
|
9631
9754
|
"type": "application/json",
|
|
9632
|
-
"etag": "\"
|
|
9633
|
-
"mtime": "2026-07-
|
|
9634
|
-
"size":
|
|
9635
|
-
"path": "../public/_nuxt/builds/
|
|
9755
|
+
"etag": "\"47-JcZbwRuJHqmP/Kmse8etcnqoxZU\"",
|
|
9756
|
+
"mtime": "2026-07-30T10:27:26.304Z",
|
|
9757
|
+
"size": 71,
|
|
9758
|
+
"path": "../public/_nuxt/builds/latest.json"
|
|
9636
9759
|
},
|
|
9637
9760
|
"/trace-viewer/assets/defaultSettingsView-BNmKHKpQ.js": {
|
|
9638
9761
|
"type": "text/javascript; charset=utf-8",
|
|
9639
9762
|
"etag": "\"a0a90-D1grrkOnpDrfDCNopsr3kVuVNvw\"",
|
|
9640
|
-
"mtime": "2026-07-
|
|
9763
|
+
"mtime": "2026-07-30T10:27:26.311Z",
|
|
9641
9764
|
"size": 658064,
|
|
9642
9765
|
"path": "../public/trace-viewer/assets/defaultSettingsView-BNmKHKpQ.js"
|
|
9766
|
+
},
|
|
9767
|
+
"/_nuxt/builds/meta/31ca2be4-a949-4df6-9818-773fc085557a.json": {
|
|
9768
|
+
"type": "application/json",
|
|
9769
|
+
"etag": "\"58-WK9sj95lVX7tMbalicbbqIlNxd8\"",
|
|
9770
|
+
"mtime": "2026-07-30T10:27:26.300Z",
|
|
9771
|
+
"size": 88,
|
|
9772
|
+
"path": "../public/_nuxt/builds/meta/31ca2be4-a949-4df6-9818-773fc085557a.json"
|
|
9643
9773
|
}
|
|
9644
9774
|
};
|
|
9645
9775
|
|
|
@@ -18834,6 +18964,14 @@ const _64C54HMeta = {"openAPI":{"tags":["Projects"],"summary":"Spec health overv
|
|
|
18834
18964
|
|
|
18835
18965
|
const _KVMz3bMeta = {"openAPI":{"tags":["Test Cases"],"summary":"List test cases for a project with aggregated stats","description":"Paginated test-case catalog with per-case aggregates: total runs, pass/fail/skip/flaky counts, executed-only pass rate and average duration, derived status category, and last run. Returns `{ items, total, limit, offset }`. Timed-out runs are folded into the failed counts.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"minimum":1,"maximum":1000},"description":"Page size"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"minimum":0},"description":"Row offset for paging"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Case-insensitive substring filter on title or file path"},{"name":"status","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated status categories to include: passed, failed, flaky, skipped, didnotrun"},{"name":"tags","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated tags; a case must carry every one of them to match. A leading `@` is optional (`@smoke` and `smoke` are the same tag)."},{"name":"owner","in":"query","required":false,"schema":{"type":"string"},"description":"Exact owner declared via the `piwi:owner` annotation"},{"name":"priority","in":"query","required":false,"schema":{"type":"string","enum":["critical","high","medium","low"]},"description":"Priority declared via the `piwi:priority` annotation"},{"name":"maxAgeDays","in":"query","required":false,"schema":{"type":"integer","default":0,"minimum":0},"description":"Only include cases executed within the last N days (0 = all time)"},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["lastRun","title","totalRuns","passRate","avgDuration","status"],"default":"lastRun"},"description":"Sort column"},{"name":"dir","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Sort direction"}],"x-required-roles":["administrator","reporter","user"]}};
|
|
18836
18966
|
|
|
18967
|
+
const _h23RebMeta = {"openAPI":{"tags":["Test functions"],"summary":"List a project’s test function catalog","description":"Returns the page-object methods and helpers recorded or registered for a project, used to match against a recorded browser-extension session and substitute raw locator steps with calls to the project’s own code.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"x-required-roles":["administrator","reporter","user"]}};
|
|
18968
|
+
|
|
18969
|
+
const _0x54yRMeta = {"openAPI":{"tags":["Test functions"],"summary":"Add a test function to a project’s catalog","description":"Registers a page-object method or helper — its name, module, parameters, and the DOM pattern it drives — so recorded browser-extension sessions can match against it. Requires reporter or administrator role.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"x-required-roles":["administrator","reporter"]}};
|
|
18970
|
+
|
|
18971
|
+
const __FN6svMeta = {"openAPI":{"tags":["Test functions"],"summary":"Propose a catalog entry from pasted function source (AI)","description":"Analyzes pasted Playwright page-object-method/helper source with the configured AI provider and returns a proposed test-function catalog entry — a draft only, not saved. Requires reporter or administrator role, and a configured AI provider (see Settings → AI).","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"x-required-roles":["administrator","reporter"]}};
|
|
18972
|
+
|
|
18973
|
+
const _bYiorgMeta = {"openAPI":{"tags":["Test functions"],"summary":"Validate a pasted AI response into a proposed catalog entry (no AI call)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"x-required-roles":["administrator","reporter"]}};
|
|
18974
|
+
|
|
18837
18975
|
const _ISG3AaMeta = {"openAPI":{"tags":["Test Cases"],"summary":"Timeout-reduction opportunities","description":"Ranks a project’s tests whose configured per-test timeout far exceeds their real p95 duration (so failures waste time waiting), plus tests still carrying a stale test.slow() mark. Each row includes p50/p95/max duration, the effective timeout, a recommended new timeout, and an impact score. Thresholds are configurable in Settings.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"runs","in":"query","required":false,"schema":{"type":"integer","default":20,"maximum":100},"description":"How many recent runs to analyse"}],"x-required-roles":["administrator","reporter","user"]}};
|
|
18838
18976
|
|
|
18839
18977
|
const _bASoKnMeta = {"openAPI":{"tags":["Projects"],"summary":"Create a new project","description":"Creates a project with optional label, description, and tag associations. Requires administrator role.","x-required-roles":["administrator"]}};
|
|
@@ -18874,6 +19012,8 @@ const _Hoh9WKMeta = {"openAPI":{"tags":["Settings"],"summary":"Get wasted-time s
|
|
|
18874
19012
|
|
|
18875
19013
|
const _4Fwa00Meta = {"openAPI":{"tags":["Settings"],"summary":"Save wasted-time settings","description":"Updates the allowlist of glob patterns used to classify wait steps as wasted time. Send `patterns: null` to reset to the built-in defaults. Wasted time is recomputed at read time, so changes apply to historical runs immediately. Not available when managed via PIWI_WASTED_WAIT_PATTERNS. Requires administrator role.","x-required-roles":["administrator"]}};
|
|
18876
19014
|
|
|
19015
|
+
const _Jy7FlQMeta = {"openAPI":{"tags":["System"],"summary":"Setup and capability status","description":"Reports which of Piwi's optional capabilities show evidence of being active on this instance (results arriving, capture fixtures installed, locator healing, clustering, AI diagnosis, notifications, SCM, tags, markers, quarantine). Evidence-based rather than config-based: a configured-but-unused capability reads as inactive. Drives the Setup page's checklist. Requires administrator role.","x-required-roles":["administrator"]}};
|
|
19016
|
+
|
|
18877
19017
|
const _fTOoqmMeta = {"openAPI":{"tags":["Stream"],"summary":"Server-sent events stream","description":"Subscribes to global run events (status changes, case updates) over SSE","x-required-roles":["administrator","reporter","user"]}};
|
|
18878
19018
|
|
|
18879
19019
|
const _ow0ThiMeta = {"openAPI":{"tags":["Notifications"],"summary":"Delete a subscription","description":"Deletes a subscription.","x-required-roles":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}};
|
|
@@ -18898,6 +19038,10 @@ const _hNbk8WMeta = {"openAPI":{"tags":["Test Cases"],"summary":"Get execution h
|
|
|
18898
19038
|
|
|
18899
19039
|
const _cUfN8nMeta = {"openAPI":{"tags":["Test Cases"],"summary":"Stability trend for a test case","description":"Returns time-series of flaky rate, pass rate, avg duration grouped into N buckets for a single test case","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"buckets","in":"query","schema":{"type":"integer","default":20}}]}};
|
|
18900
19040
|
|
|
19041
|
+
const _IXZrbeMeta = {"openAPI":{"tags":["Test functions"],"summary":"Delete a test function","description":"Removes a catalog entry. Requires reporter or administrator role.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"x-required-roles":["administrator","reporter"]}};
|
|
19042
|
+
|
|
19043
|
+
const _gjBguoMeta = {"openAPI":{"tags":["Test functions"],"summary":"Update a test function","description":"Updates a project’s catalog entry. Requires reporter or administrator role.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"x-required-roles":["administrator","reporter"]}};
|
|
19044
|
+
|
|
18901
19045
|
const _xhgJ4NMeta = {"openAPI":{"tags":["Test Run Cases"],"summary":"Get test run case detail","description":"Returns detailed information about a test run case (one execution in a test run) including test run data, failure cluster context, reports, and attachments.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"x-required-roles":["administrator","reporter","user"]}};
|
|
18902
19046
|
|
|
18903
19047
|
const _lwPJ3TMeta = {"openAPI":{"tags":["Test Run Cases"],"summary":"Run AI diagnosis for a test run case","description":"Triggers an AI-powered diagnosis for the specified test run case (execution scope). Uses its failure cluster for context if available.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"x-required-roles":["administrator","reporter"]}};
|
|
@@ -19080,6 +19224,10 @@ const handlersMeta = [
|
|
|
19080
19224
|
{ route: "/api/projects/:id/slow-tests", method: "get", meta: _KKHWGjMeta },
|
|
19081
19225
|
{ route: "/api/projects/:id/spec-health", method: "get", meta: _64C54HMeta },
|
|
19082
19226
|
{ route: "/api/projects/:id/test-cases", method: "get", meta: _KVMz3bMeta },
|
|
19227
|
+
{ route: "/api/projects/:id/test-functions", method: "get", meta: _h23RebMeta },
|
|
19228
|
+
{ route: "/api/projects/:id/test-functions", method: "post", meta: _0x54yRMeta },
|
|
19229
|
+
{ route: "/api/projects/:id/test-functions/extract", method: "post", meta: __FN6svMeta },
|
|
19230
|
+
{ route: "/api/projects/:id/test-functions/validate-proposal", method: "post", meta: _bYiorgMeta },
|
|
19083
19231
|
{ route: "/api/projects/:id/timeout-opportunities", method: "get", meta: _ISG3AaMeta },
|
|
19084
19232
|
{ route: "/api/projects", method: "post", meta: _bASoKnMeta },
|
|
19085
19233
|
{ route: "/api/projects/menu", method: "get", meta: _9pyP9cMeta },
|
|
@@ -19100,6 +19248,7 @@ const handlersMeta = [
|
|
|
19100
19248
|
{ route: "/api/settings/timeout-hygiene", method: "put", meta: _eunZZkMeta },
|
|
19101
19249
|
{ route: "/api/settings/wasted-waits", method: "get", meta: _Hoh9WKMeta },
|
|
19102
19250
|
{ route: "/api/settings/wasted-waits", method: "put", meta: _4Fwa00Meta },
|
|
19251
|
+
{ route: "/api/setup-status", method: "get", meta: _Jy7FlQMeta },
|
|
19103
19252
|
{ route: "/api/stream", method: "get", meta: _fTOoqmMeta },
|
|
19104
19253
|
{ route: "/api/subscriptions/:id", method: "delete", meta: _ow0ThiMeta },
|
|
19105
19254
|
{ route: "/api/subscriptions/:id", method: "patch", meta: _Xc0ncqMeta },
|
|
@@ -19112,6 +19261,8 @@ const handlersMeta = [
|
|
|
19112
19261
|
{ route: "/api/test-cases/:id", method: "get", meta: _XZpwM1Meta },
|
|
19113
19262
|
{ route: "/api/test-cases/:id/history", method: "get", meta: _hNbk8WMeta },
|
|
19114
19263
|
{ route: "/api/test-cases/:id/stability-trend", method: "get", meta: _cUfN8nMeta },
|
|
19264
|
+
{ route: "/api/test-functions/:id", method: "delete", meta: _IXZrbeMeta },
|
|
19265
|
+
{ route: "/api/test-functions/:id", method: "put", meta: _gjBguoMeta },
|
|
19115
19266
|
{ route: "/api/test-run-cases/:id", method: "get", meta: _xhgJ4NMeta },
|
|
19116
19267
|
{ route: "/api/test-run-cases/:id/diagnose", method: "post", meta: _lwPJ3TMeta },
|
|
19117
19268
|
{ route: "/api/test-run-cases/:id/diagnosis-context", method: "get", meta: _yUvIVmMeta },
|
|
@@ -20261,6 +20412,226 @@ async function autoDiagnoseRun(db, projectId, runId) {
|
|
|
20261
20412
|
}
|
|
20262
20413
|
}
|
|
20263
20414
|
|
|
20415
|
+
const testFunctionNameSchema = z.string().min(1, "Name is required").max(120).regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/, "Must be a valid JS identifier");
|
|
20416
|
+
const optionalIdentifierSchema = z.string().max(120).regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/, "Must be a valid JS identifier").nullish();
|
|
20417
|
+
const moduleSchema = z.string().min(1, "Module is required").max(240).regex(/^[^'"`\r\n]+$/, "Must not contain quotes or line breaks");
|
|
20418
|
+
const stepActionSchema = z.enum([
|
|
20419
|
+
"goto",
|
|
20420
|
+
"click",
|
|
20421
|
+
"fill",
|
|
20422
|
+
"check",
|
|
20423
|
+
"uncheck",
|
|
20424
|
+
"selectOption",
|
|
20425
|
+
"press",
|
|
20426
|
+
"assertVisible"
|
|
20427
|
+
]);
|
|
20428
|
+
const patternTargetSchema = z.object({
|
|
20429
|
+
role: z.string().nullish(),
|
|
20430
|
+
name: z.string().nullish(),
|
|
20431
|
+
testId: z.string().nullish()
|
|
20432
|
+
});
|
|
20433
|
+
const paramSchema = z.object({
|
|
20434
|
+
name: z.string().min(1),
|
|
20435
|
+
type: z.enum(["string", "number", "boolean", "object"]),
|
|
20436
|
+
fields: z.array(z.string().min(1).max(80)).max(20).optional()
|
|
20437
|
+
});
|
|
20438
|
+
const patternStepSchema = z.object({
|
|
20439
|
+
action: stepActionSchema,
|
|
20440
|
+
target: patternTargetSchema
|
|
20441
|
+
});
|
|
20442
|
+
const paramSourceSchema = z.object({
|
|
20443
|
+
param: z.string().min(1),
|
|
20444
|
+
/** Which field of an `object` param this fills; omitted for a scalar param, which takes the value whole. */
|
|
20445
|
+
path: z.string().min(1).max(80).nullish(),
|
|
20446
|
+
stepIndex: z.number().int().min(0),
|
|
20447
|
+
from: z.enum(["text", "value", "testId"])
|
|
20448
|
+
});
|
|
20449
|
+
const testFunctionKindSchema = z.enum(["page-object-method", "helper", "fixture"]);
|
|
20450
|
+
const aiExtractedFunctionSchema = z.object({
|
|
20451
|
+
name: testFunctionNameSchema,
|
|
20452
|
+
kind: testFunctionKindSchema,
|
|
20453
|
+
receiver: optionalIdentifierSchema,
|
|
20454
|
+
importName: optionalIdentifierSchema,
|
|
20455
|
+
params: z.array(paramSchema).max(10),
|
|
20456
|
+
returnsPage: z.boolean().optional(),
|
|
20457
|
+
steps: z.array(patternStepSchema).min(1, "At least one pattern step is required").max(30),
|
|
20458
|
+
paramSources: z.array(paramSourceSchema).max(10).optional(),
|
|
20459
|
+
/** The model's own confidence, 0-1 — surfaced in the review form so a low-confidence extraction reads as one. */
|
|
20460
|
+
confidence: z.number().min(0).max(1).optional(),
|
|
20461
|
+
/** What the model couldn't represent (unseen helper calls, collapsed branches, skipped locators) — shown beside the confidence so a thin pattern explains itself instead of looking complete. */
|
|
20462
|
+
notes: z.string().max(500).nullish()
|
|
20463
|
+
});
|
|
20464
|
+
const createTestFunctionSchema = z.object({
|
|
20465
|
+
name: testFunctionNameSchema,
|
|
20466
|
+
kind: testFunctionKindSchema,
|
|
20467
|
+
module: moduleSchema,
|
|
20468
|
+
receiver: optionalIdentifierSchema,
|
|
20469
|
+
importName: optionalIdentifierSchema,
|
|
20470
|
+
params: z.array(paramSchema).max(10),
|
|
20471
|
+
returnsPage: z.boolean().optional(),
|
|
20472
|
+
urlPattern: z.string().max(240).nullish(),
|
|
20473
|
+
steps: z.array(patternStepSchema).min(1, "At least one pattern step is required").max(30),
|
|
20474
|
+
paramSources: z.array(paramSourceSchema).max(10).optional(),
|
|
20475
|
+
source: z.enum(["manual", "scanned", "recorded", "ai-extracted"]).optional(),
|
|
20476
|
+
confidence: z.number().min(0).max(1).optional()
|
|
20477
|
+
});
|
|
20478
|
+
const updateTestFunctionSchema = z.object({
|
|
20479
|
+
name: testFunctionNameSchema.optional(),
|
|
20480
|
+
kind: testFunctionKindSchema.optional(),
|
|
20481
|
+
module: moduleSchema.optional(),
|
|
20482
|
+
receiver: optionalIdentifierSchema,
|
|
20483
|
+
importName: optionalIdentifierSchema,
|
|
20484
|
+
params: z.array(paramSchema).max(10).optional(),
|
|
20485
|
+
returnsPage: z.boolean().optional(),
|
|
20486
|
+
urlPattern: z.string().max(240).nullish(),
|
|
20487
|
+
steps: z.array(patternStepSchema).min(1).max(30).optional(),
|
|
20488
|
+
paramSources: z.array(paramSourceSchema).max(10).optional(),
|
|
20489
|
+
source: z.enum(["manual", "scanned", "recorded", "ai-extracted"]).optional(),
|
|
20490
|
+
confidence: z.number().min(0).max(1).optional()
|
|
20491
|
+
});
|
|
20492
|
+
|
|
20493
|
+
const MAX_EXTRACT_CODE_CHARS = 2e4;
|
|
20494
|
+
const EXTRACT_SYSTEM_PROMPT = `You analyze a single Playwright page-object method or helper function's TypeScript/JavaScript source code and extract a structured, reusable pattern describing what it does. You never execute the code \u2014 this is text analysis only. Reply strictly as JSON matching the given schema, nothing else.
|
|
20495
|
+
|
|
20496
|
+
Rules:
|
|
20497
|
+
- "kind" is "page-object-method" when the code is a class method acting on "this.page" (or a "page" property) \u2014 set "receiver" to a sensible instance variable name (camelCase of the class name) and "importName" to the class name. "kind" is "helper" for a standalone exported function taking a Playwright "page" as its first parameter \u2014 "receiver" and "importName" must be null in that case. Use "fixture" only if the function is clearly Playwright fixture setup, not a page action.
|
|
20498
|
+
- "params" lists the function's own parameters, excluding the leading Playwright handle \u2014 that first parameter is often named "page", but may be named anything and typed "Page", "Locator", or a union like "Page | Locator"; if the first parameter is a Playwright handle of any kind, skip it. Infer "type" from the TypeScript annotation, or absent one, from how the value is used.
|
|
20499
|
+
- A parameter whose type is an object/interface (an options bag like "{ label?: string; testId?: string }", very common in helpers) MUST be typed "object", never "string". Set its "fields" to the object's own property names \u2014 from the interface declaration if you can see it, otherwise from the properties the function body actually reads off it. If the parameter is declared as an object OR an array of that object, still type it "object" and list the single object's fields. Never flatten an object parameter into a scalar.
|
|
20500
|
+
- "steps" is the ordered sequence of page interactions the function performs, one entry per Playwright locator-then-action call (".click()", ".fill(value)", ".check()", ".uncheck()", ".selectOption(value)", ".press(key)"; a "page.goto(...)" call becomes a "goto" step). For each step's "target": "getByTestId('x')" sets "testId" only; "getByRole('role', { name: 'X' })" sets both "role" and "name"; a bare "getByRole('role')" sets only "role"; "getByText"/"getByLabel"/"getByPlaceholder" set "name" to that text and leave "role" null. Skip a step whose locator can't be classified this way rather than guessing.
|
|
20501
|
+
- "paramSources" maps a step's argument back to a function parameter when that argument IS the parameter (e.g. ".fill(username)" where "username" is a parameter) \u2014 "from" is "value" for fill/selectOption/press arguments, "testId" when the parameter is interpolated into a getByTestId call, "text" when interpolated into a name/text match. Omit an entry when a step's value is a literal, not a parameter. When the value comes from a *field* of an object parameter (e.g. ".getByRole('option', { name: opt.value })"), set "param" to the parameter and "path" to that field name ("value") \u2014 one entry per field, and each field you reference this way must also appear in that parameter's "fields".
|
|
20502
|
+
- "steps" must see through wrappers that aren't themselves page interactions: "test.step(...)" / "await test.step(...)" callbacks are transparent \u2014 extract the Playwright calls inside them as if the wrapper weren't there. The same goes for try/finally and "await Promise.all([...])".
|
|
20503
|
+
- Branching and loops: when the body picks between alternative locators for the *same* logical interaction (an if/else chain over which option field was passed, a ".or(...)" locator), emit ONE step for that interaction using the most representative branch, and lower "confidence". Do not emit one step per branch \u2014 the pattern is matched against a real recording, which only ever took one path. For a loop that repeats an interaction an unknown number of times, emit the body once.
|
|
20504
|
+
- A call to another helper in the same project that you cannot see the source of (e.g. "focusVSelect(...)", "getVSelectLocator(...)") is a real interaction you cannot classify. Do not silently drop it and do not guess its target: leave it out of "steps", lower "confidence", and name it in "notes".
|
|
20505
|
+
- "confidence": your own 0-1 confidence that "steps" faithfully represents what the code does \u2014 lower it for loops, conditionals, or calls to other helper functions you can't see the inside of.
|
|
20506
|
+
- "notes": one short sentence, only when something material could not be represented \u2014 unseen helper calls, branches you collapsed, or locators you had to skip. Null when the extraction is clean. This is shown to the user next to the confidence, so be specific about what is missing rather than generic.
|
|
20507
|
+
- Never invent a step that isn't evidenced by an actual Playwright call in the code. A pattern of one or two well-grounded steps plus an honest "notes" is far more useful than a longer guessed one.`;
|
|
20508
|
+
const EXTRACT_JSON_SCHEMA = {
|
|
20509
|
+
type: "object",
|
|
20510
|
+
properties: {
|
|
20511
|
+
name: { type: "string" },
|
|
20512
|
+
kind: { type: "string", enum: ["page-object-method", "helper", "fixture"] },
|
|
20513
|
+
receiver: { type: ["string", "null"] },
|
|
20514
|
+
importName: { type: ["string", "null"] },
|
|
20515
|
+
params: {
|
|
20516
|
+
type: "array",
|
|
20517
|
+
items: {
|
|
20518
|
+
type: "object",
|
|
20519
|
+
properties: {
|
|
20520
|
+
name: { type: "string" },
|
|
20521
|
+
type: { type: "string", enum: ["string", "number", "boolean", "object"] },
|
|
20522
|
+
fields: { type: "array", items: { type: "string" } }
|
|
20523
|
+
},
|
|
20524
|
+
required: ["name", "type"],
|
|
20525
|
+
additionalProperties: false
|
|
20526
|
+
}
|
|
20527
|
+
},
|
|
20528
|
+
returnsPage: { type: "boolean" },
|
|
20529
|
+
steps: {
|
|
20530
|
+
type: "array",
|
|
20531
|
+
items: {
|
|
20532
|
+
type: "object",
|
|
20533
|
+
properties: {
|
|
20534
|
+
action: {
|
|
20535
|
+
type: "string",
|
|
20536
|
+
enum: ["goto", "click", "fill", "check", "uncheck", "selectOption", "press", "assertVisible"]
|
|
20537
|
+
},
|
|
20538
|
+
target: {
|
|
20539
|
+
type: "object",
|
|
20540
|
+
properties: {
|
|
20541
|
+
role: { type: ["string", "null"] },
|
|
20542
|
+
name: { type: ["string", "null"] },
|
|
20543
|
+
testId: { type: ["string", "null"] }
|
|
20544
|
+
},
|
|
20545
|
+
additionalProperties: false
|
|
20546
|
+
}
|
|
20547
|
+
},
|
|
20548
|
+
required: ["action", "target"],
|
|
20549
|
+
additionalProperties: false
|
|
20550
|
+
}
|
|
20551
|
+
},
|
|
20552
|
+
paramSources: {
|
|
20553
|
+
type: "array",
|
|
20554
|
+
items: {
|
|
20555
|
+
type: "object",
|
|
20556
|
+
properties: {
|
|
20557
|
+
param: { type: "string" },
|
|
20558
|
+
path: { type: ["string", "null"] },
|
|
20559
|
+
stepIndex: { type: "integer" },
|
|
20560
|
+
from: { type: "string", enum: ["text", "value", "testId"] }
|
|
20561
|
+
},
|
|
20562
|
+
required: ["param", "stepIndex", "from"],
|
|
20563
|
+
additionalProperties: false
|
|
20564
|
+
}
|
|
20565
|
+
},
|
|
20566
|
+
confidence: { type: "number" },
|
|
20567
|
+
notes: { type: ["string", "null"] }
|
|
20568
|
+
},
|
|
20569
|
+
required: ["name", "kind", "params", "steps"],
|
|
20570
|
+
additionalProperties: false
|
|
20571
|
+
};
|
|
20572
|
+
function parseExtractedJsonLoose(text) {
|
|
20573
|
+
try {
|
|
20574
|
+
return JSON.parse(text);
|
|
20575
|
+
} catch {
|
|
20576
|
+
const fenceStripped = text.replace(/^```(?:json)?\s*/i, "").replace(/\s*```\s*$/, "").trim();
|
|
20577
|
+
try {
|
|
20578
|
+
return JSON.parse(fenceStripped);
|
|
20579
|
+
} catch {
|
|
20580
|
+
const start = text.indexOf("{");
|
|
20581
|
+
const end = text.lastIndexOf("}");
|
|
20582
|
+
if (start === -1 || end === -1 || end <= start) throw new Error("Could not extract JSON from the AI response");
|
|
20583
|
+
return JSON.parse(text.slice(start, end + 1));
|
|
20584
|
+
}
|
|
20585
|
+
}
|
|
20586
|
+
}
|
|
20587
|
+
const LOW_CONFIDENCE_THRESHOLD = 0.6;
|
|
20588
|
+
function validateExtractedFunction(responseText) {
|
|
20589
|
+
var _a, _b, _c, _d, _e, _f;
|
|
20590
|
+
let parsed;
|
|
20591
|
+
try {
|
|
20592
|
+
parsed = parseExtractedJsonLoose(responseText);
|
|
20593
|
+
} catch {
|
|
20594
|
+
throw new Error("The AI response wasn't valid JSON \u2014 try again, or fill in the pattern by hand.");
|
|
20595
|
+
}
|
|
20596
|
+
const validation = aiExtractedFunctionSchema.safeParse(parsed);
|
|
20597
|
+
if (!validation.success) {
|
|
20598
|
+
throw new Error(
|
|
20599
|
+
"The AI couldn't produce a valid pattern from that code \u2014 try a smaller function, or fill in the pattern by hand."
|
|
20600
|
+
);
|
|
20601
|
+
}
|
|
20602
|
+
return {
|
|
20603
|
+
...validation.data,
|
|
20604
|
+
receiver: (_a = validation.data.receiver) != null ? _a : null,
|
|
20605
|
+
importName: (_b = validation.data.importName) != null ? _b : null,
|
|
20606
|
+
returnsPage: (_c = validation.data.returnsPage) != null ? _c : false,
|
|
20607
|
+
paramSources: (_d = validation.data.paramSources) != null ? _d : [],
|
|
20608
|
+
confidence: (_e = validation.data.confidence) != null ? _e : 0.7,
|
|
20609
|
+
notes: (_f = validation.data.notes) != null ? _f : null
|
|
20610
|
+
};
|
|
20611
|
+
}
|
|
20612
|
+
|
|
20613
|
+
async function extractTestFunctionFromCode(role, code) {
|
|
20614
|
+
const trimmed = code.trim();
|
|
20615
|
+
if (!trimmed) throw new Error("Paste some function source code first.");
|
|
20616
|
+
if (trimmed.length > MAX_EXTRACT_CODE_CHARS) {
|
|
20617
|
+
throw new Error(
|
|
20618
|
+
`That's too much code to analyze at once (max ${MAX_EXTRACT_CODE_CHARS.toLocaleString()} characters) \u2014 paste a single function.`
|
|
20619
|
+
);
|
|
20620
|
+
}
|
|
20621
|
+
const res = await callAiProvider(role, {
|
|
20622
|
+
system: EXTRACT_SYSTEM_PROMPT,
|
|
20623
|
+
user: `Extract the pattern from this function:
|
|
20624
|
+
|
|
20625
|
+
\`\`\`
|
|
20626
|
+
${trimmed}
|
|
20627
|
+
\`\`\``,
|
|
20628
|
+
jsonSchema: EXTRACT_JSON_SCHEMA,
|
|
20629
|
+
maxTokens: 2048,
|
|
20630
|
+
effort: "low"
|
|
20631
|
+
});
|
|
20632
|
+
return validateExtractedFunction(res.text);
|
|
20633
|
+
}
|
|
20634
|
+
|
|
20264
20635
|
const AI_ROLES = ["diagnosis", "research", "embedding"];
|
|
20265
20636
|
function rolesFromLegacy(flat) {
|
|
20266
20637
|
const roles = {};
|
|
@@ -23834,6 +24205,11 @@ async function resolveMarkerProjectId(db, markerId) {
|
|
|
23834
24205
|
const rows = await db.select({ projectId: markers.projectId }).from(markers).where(eq(markers.id, markerId));
|
|
23835
24206
|
return (_b = (_a = rows[0]) == null ? void 0 : _a.projectId) != null ? _b : null;
|
|
23836
24207
|
}
|
|
24208
|
+
async function resolveTestFunctionProjectId(db, testFunctionId) {
|
|
24209
|
+
var _a, _b;
|
|
24210
|
+
const rows = await db.select({ projectId: testFunctions.projectId }).from(testFunctions).where(eq(testFunctions.id, testFunctionId));
|
|
24211
|
+
return (_b = (_a = rows[0]) == null ? void 0 : _a.projectId) != null ? _b : null;
|
|
24212
|
+
}
|
|
23837
24213
|
async function resolveDiagnosisProjectId(db, diagnosisId) {
|
|
23838
24214
|
var _a, _b;
|
|
23839
24215
|
const rows = await db.select({ clusterProjectId: failureClusters.projectId, execProjectId: testRuns.projectId }).from(failureDiagnoses).leftJoin(failureClusters, eq(failureDiagnoses.clusterId, failureClusters.id)).leftJoin(testRunsCases, eq(failureDiagnoses.testRunsCaseId, testRunsCases.id)).leftJoin(testRuns, eq(testRunsCases.testRunId, testRuns.id)).where(eq(failureDiagnoses.id, diagnosisId)).limit(1);
|
|
@@ -25235,9 +25611,98 @@ function mapCompleteEventToRunCase(tc) {
|
|
|
25235
25611
|
};
|
|
25236
25612
|
}
|
|
25237
25613
|
|
|
25614
|
+
const MCP_PROMPT_DEFS = [
|
|
25615
|
+
{
|
|
25616
|
+
name: "setup_piwi",
|
|
25617
|
+
description: "Set up the current Playwright project to report to this Piwi Dashboard: install the reporter, wrap the config, add the capture fixtures, and verify a run lands. Server-aware \u2014 fills in this dashboard's URL, whether authentication is required, and the projects that already exist.",
|
|
25618
|
+
arguments: [
|
|
25619
|
+
{
|
|
25620
|
+
name: "projectName",
|
|
25621
|
+
description: "Name to report runs under. Omit to reuse an existing project or derive one from the repository.",
|
|
25622
|
+
required: false
|
|
25623
|
+
}
|
|
25624
|
+
]
|
|
25625
|
+
}
|
|
25626
|
+
];
|
|
25627
|
+
|
|
25628
|
+
const PROMPT_NAMES = new Set(MCP_PROMPT_DEFS.map((p) => p.name));
|
|
25629
|
+
function isKnownPrompt(name) {
|
|
25630
|
+
return PROMPT_NAMES.has(name);
|
|
25631
|
+
}
|
|
25632
|
+
function projectNameGuidance(projectName, existing) {
|
|
25633
|
+
if (projectName) return `Report under the project "${projectName}".`;
|
|
25634
|
+
if (existing.length) {
|
|
25635
|
+
const sample = existing.slice(0, 20).join(", ");
|
|
25636
|
+
return `Choose the project name: if this repository already reports to one of the existing projects (${sample}), reuse that exact name; otherwise derive one from the repository's package.json "name" or its folder. Replace <project-name> in the command with your choice.`;
|
|
25637
|
+
}
|
|
25638
|
+
return `Derive the project name from the repository's package.json "name" or its folder \u2014 this will be the first project on the dashboard. Replace <project-name> in the command with it.`;
|
|
25639
|
+
}
|
|
25640
|
+
function authGuidance(authEnabled) {
|
|
25641
|
+
if (authEnabled) {
|
|
25642
|
+
return "This dashboard **requires authentication**, so reporting needs an API key. Create one in the dashboard UI (Settings \u2192 Users \u2192 API keys; keys start with `pd_`), add it to `.env` as `PIWI_API_KEY=pd_...`, and keep `.env` out of git. In CI, pass it as the `PIWI_API_KEY` secret. Never hardcode the key in `playwright.config`.";
|
|
25643
|
+
}
|
|
25644
|
+
return "This dashboard does **not** require authentication, so runs need no API key.";
|
|
25645
|
+
}
|
|
25646
|
+
function buildSetupPiwiMessages(input) {
|
|
25647
|
+
const { baseUrl, authEnabled } = input;
|
|
25648
|
+
const projectArg = input.projectName ? input.projectName : "<project-name>";
|
|
25649
|
+
const existing = input.existingProjects.length ? input.existingProjects.slice(0, 20).join(", ") + (input.existingProjects.length > 20 ? `, \u2026 (${input.existingProjects.length} total)` : "") : "none yet";
|
|
25650
|
+
const text = [
|
|
25651
|
+
`Set up this Playwright project to report its test results to the Piwi Dashboard at ${baseUrl}.`,
|
|
25652
|
+
"",
|
|
25653
|
+
"Facts about this dashboard (already resolved \u2014 do not ask the user for them):",
|
|
25654
|
+
`- URL: ${baseUrl}`,
|
|
25655
|
+
`- Authentication: ${authEnabled ? "required" : "not required"}`,
|
|
25656
|
+
`- Projects that already exist: ${existing}`,
|
|
25657
|
+
"",
|
|
25658
|
+
"Steps:",
|
|
25659
|
+
"",
|
|
25660
|
+
"1. From the project root, run the setup command:",
|
|
25661
|
+
"",
|
|
25662
|
+
` npx @piwitests/reporter init --server-url ${baseUrl} --project ${projectArg}`,
|
|
25663
|
+
"",
|
|
25664
|
+
" It installs `@piwitests/reporter`, wraps `defineConfig(...)` with `wrapConfig(...)`, creates",
|
|
25665
|
+
" `tests/fixtures.ts`, and records PIWI_* settings in `.env.example`. Every step is idempotent, so it is",
|
|
25666
|
+
" safe to re-run. Add `--json` to get a machine-readable plan and finish any step it reports as `manual`",
|
|
25667
|
+
" using the exact change in that step's `detail`.",
|
|
25668
|
+
` ${projectNameGuidance(input.projectName, input.existingProjects)}`,
|
|
25669
|
+
"",
|
|
25670
|
+
`2. ${authGuidance(authEnabled)}`,
|
|
25671
|
+
"",
|
|
25672
|
+
"3. Rewire the specs: in each spec, import `test` (and `expect`) from your fixtures file instead of",
|
|
25673
|
+
" `@playwright/test`, so the capture fixtures (locator healing, slow endpoints, Web Vitals, console,",
|
|
25674
|
+
" failure-time ARIA) apply. A spec left on the direct import still runs and reports \u2014 it just is not captured.",
|
|
25675
|
+
"",
|
|
25676
|
+
"4. Verify a run lands: run `npx playwright test` (one spec is enough) and confirm the run appears at",
|
|
25677
|
+
` ${baseUrl}. For a deterministic check, set PIWI_OUTPUT_FILE=piwi-run.json when running and read \`runUrl\``,
|
|
25678
|
+
" from that file afterward \u2014 its presence proves the upload.",
|
|
25679
|
+
"",
|
|
25680
|
+
"Report what you changed, the run URL you verified, and anything still to do. Once results are flowing, the",
|
|
25681
|
+
"Piwi MCP tools (list_recent_activity, explain_failure, get_locator_healing, list_flaky_tests, \u2026) let you",
|
|
25682
|
+
"investigate failures and propose fixes from the same evidence the dashboard shows."
|
|
25683
|
+
].join("\n");
|
|
25684
|
+
return {
|
|
25685
|
+
description: `Set up Piwi reporting for a Playwright project, targeting ${baseUrl}`,
|
|
25686
|
+
messages: [{ role: "user", content: { type: "text", text } }]
|
|
25687
|
+
};
|
|
25688
|
+
}
|
|
25689
|
+
async function getPrompt(name, opts) {
|
|
25690
|
+
var _a;
|
|
25691
|
+
if (name === "setup_piwi") {
|
|
25692
|
+
const menu = await getProjectMenu(opts.db, opts.ctx.scope);
|
|
25693
|
+
return buildSetupPiwiMessages({
|
|
25694
|
+
baseUrl: opts.baseUrl,
|
|
25695
|
+
authEnabled: opts.authEnabled,
|
|
25696
|
+
projectName: (_a = opts.args.projectName) != null ? _a : null,
|
|
25697
|
+
existingProjects: menu.map((m) => m.name)
|
|
25698
|
+
});
|
|
25699
|
+
}
|
|
25700
|
+
return null;
|
|
25701
|
+
}
|
|
25702
|
+
|
|
25238
25703
|
const MCP_PROTOCOL_VERSION = "2025-06-18";
|
|
25239
25704
|
const SUPPORTED_PROTOCOL_VERSIONS = ["2025-06-18", "2025-03-26", "2024-11-05"];
|
|
25240
|
-
const MCP_SERVER_INFO = { name: "piwi-dashboard", version: "1.
|
|
25705
|
+
const MCP_SERVER_INFO = { name: "piwi-dashboard", version: "1.2.0" };
|
|
25241
25706
|
function negotiateProtocolVersion(requested) {
|
|
25242
25707
|
return typeof requested === "string" && SUPPORTED_PROTOCOL_VERSIONS.includes(requested) ? requested : MCP_PROTOCOL_VERSION;
|
|
25243
25708
|
}
|
|
@@ -26286,6 +26751,70 @@ async function getAdminStats(db) {
|
|
|
26286
26751
|
};
|
|
26287
26752
|
}
|
|
26288
26753
|
|
|
26754
|
+
function toTestFunctionEntry(row) {
|
|
26755
|
+
return {
|
|
26756
|
+
id: row.id,
|
|
26757
|
+
name: row.name,
|
|
26758
|
+
kind: row.kind,
|
|
26759
|
+
module: row.module,
|
|
26760
|
+
receiver: row.receiver,
|
|
26761
|
+
importName: row.importName,
|
|
26762
|
+
params: JSON.parse(row.params),
|
|
26763
|
+
urlPattern: row.urlPattern,
|
|
26764
|
+
steps: JSON.parse(row.steps),
|
|
26765
|
+
paramSources: JSON.parse(row.paramSources)
|
|
26766
|
+
};
|
|
26767
|
+
}
|
|
26768
|
+
async function listProjectTestFunctions(db, projectId) {
|
|
26769
|
+
const rows = await db.select().from(testFunctions).where(eq(testFunctions.projectId, projectId)).orderBy(asc(testFunctions.name));
|
|
26770
|
+
return { testFunctions: rows.map((row) => ({ ...row, entry: toTestFunctionEntry(row) })) };
|
|
26771
|
+
}
|
|
26772
|
+
async function createTestFunction(db, projectId, data) {
|
|
26773
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
26774
|
+
const result = await db.insert(testFunctions).values({
|
|
26775
|
+
projectId,
|
|
26776
|
+
name: data.name,
|
|
26777
|
+
kind: data.kind,
|
|
26778
|
+
module: data.module,
|
|
26779
|
+
receiver: (_a = data.receiver) != null ? _a : null,
|
|
26780
|
+
importName: (_b = data.importName) != null ? _b : null,
|
|
26781
|
+
params: JSON.stringify(data.params),
|
|
26782
|
+
returnsPage: (_c = data.returnsPage) != null ? _c : false,
|
|
26783
|
+
urlPattern: (_d = data.urlPattern) != null ? _d : null,
|
|
26784
|
+
steps: JSON.stringify(data.steps),
|
|
26785
|
+
paramSources: JSON.stringify((_e = data.paramSources) != null ? _e : []),
|
|
26786
|
+
source: (_f = data.source) != null ? _f : "manual",
|
|
26787
|
+
confidence: (_g = data.confidence) != null ? _g : 1
|
|
26788
|
+
}).returning();
|
|
26789
|
+
return { testFunction: result[0] };
|
|
26790
|
+
}
|
|
26791
|
+
async function updateTestFunction(db, id, data) {
|
|
26792
|
+
const existing = await db.select().from(testFunctions).where(eq(testFunctions.id, id));
|
|
26793
|
+
if (!existing[0]) throw new Error("Test function not found");
|
|
26794
|
+
const updates = { updatedAt: /* @__PURE__ */ new Date() };
|
|
26795
|
+
if (data.name !== void 0) updates.name = data.name;
|
|
26796
|
+
if (data.kind !== void 0) updates.kind = data.kind;
|
|
26797
|
+
if (data.module !== void 0) updates.module = data.module;
|
|
26798
|
+
if (data.receiver !== void 0) updates.receiver = data.receiver;
|
|
26799
|
+
if (data.importName !== void 0) updates.importName = data.importName;
|
|
26800
|
+
if (data.params !== void 0) updates.params = JSON.stringify(data.params);
|
|
26801
|
+
if (data.returnsPage !== void 0) updates.returnsPage = data.returnsPage;
|
|
26802
|
+
if (data.urlPattern !== void 0) updates.urlPattern = data.urlPattern;
|
|
26803
|
+
if (data.steps !== void 0) updates.steps = JSON.stringify(data.steps);
|
|
26804
|
+
if (data.paramSources !== void 0) updates.paramSources = JSON.stringify(data.paramSources);
|
|
26805
|
+
if (data.source !== void 0) updates.source = data.source;
|
|
26806
|
+
if (data.confidence !== void 0) updates.confidence = data.confidence;
|
|
26807
|
+
await db.update(testFunctions).set(updates).where(eq(testFunctions.id, id));
|
|
26808
|
+
const updated = await db.select().from(testFunctions).where(eq(testFunctions.id, id));
|
|
26809
|
+
return { testFunction: updated[0] };
|
|
26810
|
+
}
|
|
26811
|
+
async function deleteTestFunction(db, id) {
|
|
26812
|
+
const existing = await db.select().from(testFunctions).where(eq(testFunctions.id, id));
|
|
26813
|
+
if (!existing[0]) throw new Error("Test function not found");
|
|
26814
|
+
await db.delete(testFunctions).where(eq(testFunctions.id, id));
|
|
26815
|
+
return { success: true };
|
|
26816
|
+
}
|
|
26817
|
+
|
|
26289
26818
|
const MCP_TOOL_DEFS = [
|
|
26290
26819
|
{
|
|
26291
26820
|
name: "list_projects",
|
|
@@ -26775,6 +27304,106 @@ const MCP_TOOL_DEFS = [
|
|
|
26775
27304
|
},
|
|
26776
27305
|
required: ["id"]
|
|
26777
27306
|
}
|
|
27307
|
+
},
|
|
27308
|
+
{
|
|
27309
|
+
name: "create_test_function",
|
|
27310
|
+
description: `Register a page-object method or helper in a project's test-function catalog, so the Piwi Picker browser extension (and its recorder) can match a live page or a recorded session against it and substitute a call to your own code instead of raw locator lines. This tool does not call an AI itself \u2014 you (the calling agent) read the function's real source in your own context and fill in these fields directly; the tool only validates the shape and persists it. Follow these extraction rules when deciding the field values:
|
|
27311
|
+
|
|
27312
|
+
${EXTRACT_SYSTEM_PROMPT}
|
|
27313
|
+
|
|
27314
|
+
The fields below map onto that guidance one-for-one, plus "module" and "urlPattern", which no amount of code-reading can infer \u2014 supply them from where the function actually lives and, optionally, which page it applies to. Requires reporter or administrator access.`,
|
|
27315
|
+
inputSchema: {
|
|
27316
|
+
type: "object",
|
|
27317
|
+
properties: {
|
|
27318
|
+
projectId: { type: "number", description: "Project ID from list_projects" },
|
|
27319
|
+
name: {
|
|
27320
|
+
type: "string",
|
|
27321
|
+
description: "Becomes the called method/function name \u2014 must be a valid JS identifier"
|
|
27322
|
+
},
|
|
27323
|
+
kind: {
|
|
27324
|
+
type: "string",
|
|
27325
|
+
enum: ["page-object-method", "helper", "fixture"],
|
|
27326
|
+
description: '"page-object-method" for a class method acting on this.page; "helper" for a standalone function taking page as its first parameter; "fixture" only for Playwright fixture setup'
|
|
27327
|
+
},
|
|
27328
|
+
module: {
|
|
27329
|
+
type: "string",
|
|
27330
|
+
description: "Import specifier for where this function lives, e.g. './pages/CartPage'"
|
|
27331
|
+
},
|
|
27332
|
+
receiver: {
|
|
27333
|
+
type: ["string", "null"],
|
|
27334
|
+
description: "page-object-method only: instance variable name, e.g. cartPage (null for a helper/fixture)"
|
|
27335
|
+
},
|
|
27336
|
+
importName: {
|
|
27337
|
+
type: ["string", "null"],
|
|
27338
|
+
description: "page-object-method only: the class name to import, e.g. CartPage (null for a helper/fixture)"
|
|
27339
|
+
},
|
|
27340
|
+
params: {
|
|
27341
|
+
type: "array",
|
|
27342
|
+
description: "The function's own parameters, excluding the leading Playwright handle (page/locator/this). An options-bag parameter must be type 'object' with its property names in 'fields' \u2014 never flattened to a string.",
|
|
27343
|
+
items: {
|
|
27344
|
+
type: "object",
|
|
27345
|
+
properties: {
|
|
27346
|
+
name: { type: "string" },
|
|
27347
|
+
type: { type: "string", enum: ["string", "number", "boolean", "object"] },
|
|
27348
|
+
fields: {
|
|
27349
|
+
type: "array",
|
|
27350
|
+
items: { type: "string" },
|
|
27351
|
+
description: "For type 'object': the bag's property names, e.g. ['label', 'testId']"
|
|
27352
|
+
}
|
|
27353
|
+
},
|
|
27354
|
+
required: ["name", "type"]
|
|
27355
|
+
}
|
|
27356
|
+
},
|
|
27357
|
+
returnsPage: {
|
|
27358
|
+
type: "boolean",
|
|
27359
|
+
description: "True if the function returns/navigates to a new Page (default false)"
|
|
27360
|
+
},
|
|
27361
|
+
urlPattern: {
|
|
27362
|
+
type: ["string", "null"],
|
|
27363
|
+
description: 'Optional glob (** crosses path segments, * does not, e.g. "**/cart") gating which page this applies to'
|
|
27364
|
+
},
|
|
27365
|
+
steps: {
|
|
27366
|
+
type: "array",
|
|
27367
|
+
description: "The ordered sequence of page interactions the function performs \u2014 at least one required",
|
|
27368
|
+
items: {
|
|
27369
|
+
type: "object",
|
|
27370
|
+
properties: {
|
|
27371
|
+
action: {
|
|
27372
|
+
type: "string",
|
|
27373
|
+
enum: ["goto", "click", "fill", "check", "uncheck", "selectOption", "press", "assertVisible"]
|
|
27374
|
+
},
|
|
27375
|
+
target: {
|
|
27376
|
+
type: "object",
|
|
27377
|
+
properties: {
|
|
27378
|
+
role: { type: ["string", "null"] },
|
|
27379
|
+
name: { type: ["string", "null"] },
|
|
27380
|
+
testId: { type: ["string", "null"] }
|
|
27381
|
+
}
|
|
27382
|
+
}
|
|
27383
|
+
},
|
|
27384
|
+
required: ["action", "target"]
|
|
27385
|
+
}
|
|
27386
|
+
},
|
|
27387
|
+
paramSources: {
|
|
27388
|
+
type: "array",
|
|
27389
|
+
description: "Maps a step's argument back to a function parameter, when that argument IS the parameter",
|
|
27390
|
+
items: {
|
|
27391
|
+
type: "object",
|
|
27392
|
+
properties: {
|
|
27393
|
+
param: { type: "string" },
|
|
27394
|
+
path: {
|
|
27395
|
+
type: ["string", "null"],
|
|
27396
|
+
description: "For an 'object' param: which of its fields this fills (e.g. 'label'). Omit for a scalar param."
|
|
27397
|
+
},
|
|
27398
|
+
stepIndex: { type: "integer" },
|
|
27399
|
+
from: { type: "string", enum: ["text", "value", "testId"] }
|
|
27400
|
+
},
|
|
27401
|
+
required: ["param", "stepIndex", "from"]
|
|
27402
|
+
}
|
|
27403
|
+
}
|
|
27404
|
+
},
|
|
27405
|
+
required: ["projectId", "name", "kind", "module", "params", "steps"]
|
|
27406
|
+
}
|
|
26778
27407
|
}
|
|
26779
27408
|
];
|
|
26780
27409
|
|
|
@@ -28010,6 +28639,36 @@ const HANDLERS = {
|
|
|
28010
28639
|
rootCause: diag.rootCause || null,
|
|
28011
28640
|
suggestedFix: (det == null ? void 0 : det.suggestedFix) || null
|
|
28012
28641
|
});
|
|
28642
|
+
},
|
|
28643
|
+
// ── create_test_function ───────────────────────────────────────────────────
|
|
28644
|
+
async create_test_function(db, params, ctx) {
|
|
28645
|
+
var _a;
|
|
28646
|
+
assertWriteRole(ctx);
|
|
28647
|
+
const projectId = numericParam(params.projectId, "projectId");
|
|
28648
|
+
assertProject(ctx, projectId);
|
|
28649
|
+
const validation = createTestFunctionSchema.safeParse(params);
|
|
28650
|
+
if (!validation.success) {
|
|
28651
|
+
throw new Error(validation.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; "));
|
|
28652
|
+
}
|
|
28653
|
+
try {
|
|
28654
|
+
const { testFunction } = await createTestFunction(db, projectId, {
|
|
28655
|
+
...validation.data,
|
|
28656
|
+
source: (_a = validation.data.source) != null ? _a : "ai-extracted"
|
|
28657
|
+
});
|
|
28658
|
+
return dropNulls({
|
|
28659
|
+
id: testFunction.id,
|
|
28660
|
+
projectId,
|
|
28661
|
+
name: testFunction.name,
|
|
28662
|
+
kind: testFunction.kind,
|
|
28663
|
+
module: testFunction.module,
|
|
28664
|
+
source: testFunction.source
|
|
28665
|
+
});
|
|
28666
|
+
} catch (err) {
|
|
28667
|
+
const message = err instanceof Error ? err.message : "Failed to create test function";
|
|
28668
|
+
throw new Error(
|
|
28669
|
+
message.toLowerCase().includes("unique") ? "A function with this name already exists in this module" : message
|
|
28670
|
+
);
|
|
28671
|
+
}
|
|
28013
28672
|
}
|
|
28014
28673
|
};
|
|
28015
28674
|
async function resolveProjectRepoUrl(db, projectId) {
|
|
@@ -29741,6 +30400,10 @@ const _lazy_5ndtTE = () => import('../routes/api/projects/_id/quarantine/_testCa
|
|
|
29741
30400
|
const _lazy_KKHWGj = () => import('../routes/api/projects/_id/slow-tests.get.mjs');
|
|
29742
30401
|
const _lazy_64C54H = () => import('../routes/api/projects/_id/spec-health.get.mjs');
|
|
29743
30402
|
const _lazy_KVMz3b = () => import('../routes/api/projects/_id/test-cases.get.mjs');
|
|
30403
|
+
const _lazy_h23Reb = () => import('../routes/api/projects/_id/test-functions.get.mjs');
|
|
30404
|
+
const _lazy_0x54yR = () => import('../routes/api/projects/_id/test-functions.post.mjs');
|
|
30405
|
+
const _lazy__FN6sv = () => import('../routes/api/projects/_id/test-functions/extract.post.mjs');
|
|
30406
|
+
const _lazy_bYiorg = () => import('../routes/api/projects/_id/test-functions/validate-proposal.post.mjs');
|
|
29744
30407
|
const _lazy_ISG3Aa = () => import('../routes/api/projects/_id/timeout-opportunities.get.mjs');
|
|
29745
30408
|
const _lazy_bASoKn = () => import('../routes/api/index.post3.mjs');
|
|
29746
30409
|
const _lazy_9pyP9c = () => import('../routes/api/projects/menu.get.mjs');
|
|
@@ -29761,6 +30424,7 @@ const _lazy_CWQsGa = () => import('../routes/api/settings/timeout-hygiene.get.mj
|
|
|
29761
30424
|
const _lazy_eunZZk = () => import('../routes/api/settings/timeout-hygiene.put.mjs');
|
|
29762
30425
|
const _lazy_Hoh9WK = () => import('../routes/api/settings/wasted-waits.get.mjs');
|
|
29763
30426
|
const _lazy_4Fwa00 = () => import('../routes/api/settings/wasted-waits.put.mjs');
|
|
30427
|
+
const _lazy_Jy7FlQ = () => import('../routes/api/setup-status.get.mjs');
|
|
29764
30428
|
const _lazy_fTOoqm = () => import('../routes/api/stream.get.mjs');
|
|
29765
30429
|
const _lazy_ow0Thi = () => import('../routes/api/subscriptions/_id_.delete.mjs');
|
|
29766
30430
|
const _lazy_Xc0ncq = () => import('../routes/api/subscriptions/_id_.patch.mjs');
|
|
@@ -29773,6 +30437,8 @@ const _lazy_2yWnbm = () => import('../routes/api/index.post5.mjs');
|
|
|
29773
30437
|
const _lazy_XZpwM1 = () => import('../routes/api/test-cases/_id_.get.mjs');
|
|
29774
30438
|
const _lazy_hNbk8W = () => import('../routes/api/test-cases/_id/history.get.mjs');
|
|
29775
30439
|
const _lazy_cUfN8n = () => import('../routes/api/test-cases/_id/stability-trend.get.mjs');
|
|
30440
|
+
const _lazy_IXZrbe = () => import('../routes/api/test-functions/_id_.delete.mjs');
|
|
30441
|
+
const _lazy_gjBguo = () => import('../routes/api/test-functions/_id_.put.mjs');
|
|
29776
30442
|
const _lazy_xhgJ4N = () => import('../routes/api/test-run-cases/_id_.get.mjs');
|
|
29777
30443
|
const _lazy_lwPJ3T = () => import('../routes/api/test-run-cases/_id/diagnose.post.mjs');
|
|
29778
30444
|
const _lazy_yUvIVm = () => import('../routes/api/test-run-cases/_id/diagnosis-context.get.mjs');
|
|
@@ -29899,6 +30565,10 @@ const handlers = [
|
|
|
29899
30565
|
{ route: '/api/projects/:id/slow-tests', handler: _lazy_KKHWGj, lazy: true, middleware: false, method: "get" },
|
|
29900
30566
|
{ route: '/api/projects/:id/spec-health', handler: _lazy_64C54H, lazy: true, middleware: false, method: "get" },
|
|
29901
30567
|
{ route: '/api/projects/:id/test-cases', handler: _lazy_KVMz3b, lazy: true, middleware: false, method: "get" },
|
|
30568
|
+
{ route: '/api/projects/:id/test-functions', handler: _lazy_h23Reb, lazy: true, middleware: false, method: "get" },
|
|
30569
|
+
{ route: '/api/projects/:id/test-functions', handler: _lazy_0x54yR, lazy: true, middleware: false, method: "post" },
|
|
30570
|
+
{ route: '/api/projects/:id/test-functions/extract', handler: _lazy__FN6sv, lazy: true, middleware: false, method: "post" },
|
|
30571
|
+
{ route: '/api/projects/:id/test-functions/validate-proposal', handler: _lazy_bYiorg, lazy: true, middleware: false, method: "post" },
|
|
29902
30572
|
{ route: '/api/projects/:id/timeout-opportunities', handler: _lazy_ISG3Aa, lazy: true, middleware: false, method: "get" },
|
|
29903
30573
|
{ route: '/api/projects', handler: _lazy_bASoKn, lazy: true, middleware: false, method: "post" },
|
|
29904
30574
|
{ route: '/api/projects/menu', handler: _lazy_9pyP9c, lazy: true, middleware: false, method: "get" },
|
|
@@ -29919,6 +30589,7 @@ const handlers = [
|
|
|
29919
30589
|
{ route: '/api/settings/timeout-hygiene', handler: _lazy_eunZZk, lazy: true, middleware: false, method: "put" },
|
|
29920
30590
|
{ route: '/api/settings/wasted-waits', handler: _lazy_Hoh9WK, lazy: true, middleware: false, method: "get" },
|
|
29921
30591
|
{ route: '/api/settings/wasted-waits', handler: _lazy_4Fwa00, lazy: true, middleware: false, method: "put" },
|
|
30592
|
+
{ route: '/api/setup-status', handler: _lazy_Jy7FlQ, lazy: true, middleware: false, method: "get" },
|
|
29922
30593
|
{ route: '/api/stream', handler: _lazy_fTOoqm, lazy: true, middleware: false, method: "get" },
|
|
29923
30594
|
{ route: '/api/subscriptions/:id', handler: _lazy_ow0Thi, lazy: true, middleware: false, method: "delete" },
|
|
29924
30595
|
{ route: '/api/subscriptions/:id', handler: _lazy_Xc0ncq, lazy: true, middleware: false, method: "patch" },
|
|
@@ -29931,6 +30602,8 @@ const handlers = [
|
|
|
29931
30602
|
{ route: '/api/test-cases/:id', handler: _lazy_XZpwM1, lazy: true, middleware: false, method: "get" },
|
|
29932
30603
|
{ route: '/api/test-cases/:id/history', handler: _lazy_hNbk8W, lazy: true, middleware: false, method: "get" },
|
|
29933
30604
|
{ route: '/api/test-cases/:id/stability-trend', handler: _lazy_cUfN8n, lazy: true, middleware: false, method: "get" },
|
|
30605
|
+
{ route: '/api/test-functions/:id', handler: _lazy_IXZrbe, lazy: true, middleware: false, method: "delete" },
|
|
30606
|
+
{ route: '/api/test-functions/:id', handler: _lazy_gjBguo, lazy: true, middleware: false, method: "put" },
|
|
29934
30607
|
{ route: '/api/test-run-cases/:id', handler: _lazy_xhgJ4N, lazy: true, middleware: false, method: "get" },
|
|
29935
30608
|
{ route: '/api/test-run-cases/:id/diagnose', handler: _lazy_lwPJ3T, lazy: true, middleware: false, method: "post" },
|
|
29936
30609
|
{ route: '/api/test-run-cases/:id/diagnosis-context', handler: _lazy_yUvIVm, lazy: true, middleware: false, method: "get" },
|
|
@@ -30405,5 +31078,5 @@ setupGracefulShutdown(listener, nitroApp);
|
|
|
30405
31078
|
}
|
|
30406
31079
|
const nodeServer = {};
|
|
30407
31080
|
|
|
30408
|
-
export { notificationChannels as $, getRouterParam as A, getProjectScope as B, getQuery as C, users as D, verifyPassword as E, hashPassword as F, getRequestIP as G, checkRateLimit as H, isEmailConfigured as I, mintAccountToken as J, renderPasswordResetEmail as K, sendEmail as L, isAuthEnabled as M, verifyUser as N, setUserSession as O, clearUserSession as P, getCurrentUser as Q, sendRedirect as R, handleOAuthCallback as S, initiateOAuth as T, unlinkProvider as U, validateAccountToken as V, consumeAccountToken as W, renderVerifyEmail as X, needsInitialSetup as Y, createUser as Z, Role as _, deleteRunsOlderThan as a, deleteProject as a$, renderTestEmail as a0, decryptSecret as a1, getEncryptionKey as a2, encryptSecret as a3, requireRouteId as a4, requireResolvedProjectAccess as a5, approveMergeSuggestion as a6, getSuggestionProjectId as a7, rejectMergeSuggestion as a8, resolveMaxUploadBytes as a9, getTestRunCaseTraces as aA, getExecutionDiagnosis as aB, classifyEvidenceFile as aC, contentTypeForPath as aD, extractClusterCases as aE, requireProjectAccess as aF, buildFixPlan as aG, enrichFixPlanOwnership as aH, patchClusterStatus as aI, resolveDiagnosisProjectId as aJ, getRequestHeader as aK, setResponseStatus as aL, reconstructTraceZip as aM, appSettings as aN, deleteLink as aO, patchLink as aP, refreshLinkMeta as aQ, unfurlUrl as aR, entityLinks as aS, listLinks as aT, createLink as aU, resolveMarkerProjectId as aV, markers as aW, subscriptions as aX, createSSEEndpoint as aY, runEventBus as aZ, listProjects as a_, formatBytes as aa, importArchive as ab, sanitizeFilename as ac, getFailureCluster as ad, resolveClusterProjectId as ae, patchClusterBaseCommit as af, normalizeGitUrl as ag, createScmProvider as ah, buildDiagnosisContext as ai, setResponseHeader as aj, loadDiagnosisSystemPrompt as ak, DIAGNOSIS_JSON_SCHEMA as al, isDiagnosisRunning as am, failureDiagnoses as an, isDiagnosisStale as ao, runClusterDiagnosis as ap, setResponseHeaders as aq, streamClusterDiagnosis as ar, failureDiagnosisVersions as as, getClusterDiagnosis as at, requireExportFormat as au, resolveExportMaxCases as av, exportPiwiVersion as aw, exportSourceUrl as ax, sendExport as ay, getTestRunCase as az, sweepOrphans as b,
|
|
31081
|
+
export { notificationChannels as $, getRouterParam as A, getProjectScope as B, getQuery as C, users as D, verifyPassword as E, hashPassword as F, getRequestIP as G, checkRateLimit as H, isEmailConfigured as I, mintAccountToken as J, renderPasswordResetEmail as K, sendEmail as L, isAuthEnabled as M, verifyUser as N, setUserSession as O, clearUserSession as P, getCurrentUser as Q, sendRedirect as R, handleOAuthCallback as S, initiateOAuth as T, unlinkProvider as U, validateAccountToken as V, consumeAccountToken as W, renderVerifyEmail as X, needsInitialSetup as Y, createUser as Z, Role as _, deleteRunsOlderThan as a, deleteProject as a$, renderTestEmail as a0, decryptSecret as a1, getEncryptionKey as a2, encryptSecret as a3, requireRouteId as a4, requireResolvedProjectAccess as a5, approveMergeSuggestion as a6, getSuggestionProjectId as a7, rejectMergeSuggestion as a8, resolveMaxUploadBytes as a9, getTestRunCaseTraces as aA, getExecutionDiagnosis as aB, classifyEvidenceFile as aC, contentTypeForPath as aD, extractClusterCases as aE, requireProjectAccess as aF, buildFixPlan as aG, enrichFixPlanOwnership as aH, patchClusterStatus as aI, resolveDiagnosisProjectId as aJ, getRequestHeader as aK, setResponseStatus as aL, reconstructTraceZip as aM, appSettings as aN, deleteLink as aO, patchLink as aP, refreshLinkMeta as aQ, unfurlUrl as aR, entityLinks as aS, listLinks as aT, createLink as aU, resolveMarkerProjectId as aV, markers as aW, subscriptions as aX, createSSEEndpoint as aY, runEventBus as aZ, listProjects as a_, formatBytes as aa, importArchive as ab, sanitizeFilename as ac, getFailureCluster as ad, resolveClusterProjectId as ae, patchClusterBaseCommit as af, normalizeGitUrl as ag, createScmProvider as ah, buildDiagnosisContext as ai, setResponseHeader as aj, loadDiagnosisSystemPrompt as ak, DIAGNOSIS_JSON_SCHEMA as al, isDiagnosisRunning as am, failureDiagnoses as an, isDiagnosisStale as ao, runClusterDiagnosis as ap, setResponseHeaders as aq, streamClusterDiagnosis as ar, failureDiagnosisVersions as as, getClusterDiagnosis as at, requireExportFormat as au, resolveExportMaxCases as av, exportPiwiVersion as aw, exportSourceUrl as ax, sendExport as ay, getTestRunCase as az, sweepOrphans as b, resolveCaseProjectId as b$, getProject as b0, updateProject as b1, listMergeSuggestions as b2, getProjectFailureClusters as b3, testCases as b4, classifyFlakyRootCause as b5, parseTagFilter as b6, withResolvedOwners as b7, TEST_PRIORITIES as b8, getProjectLatestRun as b9, CONTEXT_LIMIT_FIELDS as bA, DEFAULT_CONTEXT_LIMITS as bB, envManagedLimitKeys as bC, resolveContextLimits as bD, mergeContextLimitsUpdate as bE, CONTEXT_LIMITS_SETTING_KEY as bF, embedTexts as bG, callAiProvider as bH, getPrFeedbackSettings as bI, DEFAULT_PR_FEEDBACK as bJ, resolvePrFeedbackSettings as bK, PR_FEEDBACK_KEY as bL, getSmtpConfig as bM, DEFAULT_TIMEOUT_THRESHOLDS as bN, resolveTimeoutThresholds as bO, TIMEOUT_THRESHOLDS_KEY as bP, resolveWastedSettings as bQ, DEFAULT_WASTED_WAIT_PATTERNS as bR, parseWastedWaitPatterns as bS, WASTED_WAIT_PATTERNS_KEY as bT, locatorSnapshots as bU, NOTIFICATION_EVENTS as bV, deleteTag as bW, updateTag as bX, listTags as bY, createTag as bZ, getTestCase as b_, getProjectMembers as ba, setProjectMembers as bb, getProjectPerformance as bc, proposeQuarantineCandidates as bd, quarantinedTests as be, getProjectSlowTests as bf, getProjectSpecHealth as bg, getProjectTestCases as bh, parseTestCasesQuery as bi, listProjectTestFunctions as bj, createTestFunctionSchema as bk, createTestFunction as bl, extractTestFunctionFromCode as bm, validateExtractedFunction as bn, getTimeoutThresholds as bo, createProject as bp, getProjectMenu as bq, getProjectsOverview as br, searchProjectsTestRunsCases as bs, readAiSettings as bt, useRuntimeConfig as bu, setAppSetting as bv, deleteAppSetting as bw, getAppSetting as bx, storedRoles as by, AI_ROLES as bz, capDiagnosisVersions as c, RPC as c$, getTestCaseHistory as c0, getTestCaseStabilityTrend as c1, resolveTestFunctionProjectId as c2, deleteTestFunction as c3, updateTestFunctionSchema as c4, updateTestFunction as c5, resolveTestRunCaseProjectId as c6, isDiagnosisRunningForExecution as c7, files as c8, deleteFileRow as c9, getFailureGroups as cA, readShardTokensFromMeta as cB, durationStats as cC, sumFailedAndTimedOut as cD, removeStoredShardToken as cE, computeRegressionSignals as cF, autoDiagnoseRun as cG, emitRunNotifications as cH, postRunPrFeedbackInBackground as cI, computeRunInsights as cJ, getNetworkRequests as cK, computeRegressionContextForRun as cL, getTestRunSummary as cM, scopeAllows as cN, findImportedHashes as cO, judgeImportFiles as cP, getRecentTestRuns as cQ, decompressDirectory as cR, uploadDirectory as cS, checkExistingBlobs as cT, apiKeys as cU, generateApiKey as cV, renderInviteEmail as cW, getUserAssignments as cX, setUserAssignments as cY, defineEventHandler as cZ, setCookie as c_, recomputeClusterOccurrences as ca, resolveRunProjectId as cb, getTestRun as cc, patchTestRun as cd, cancelInstanceRuns as ce, sanitizeMetadata as cf, persistShardToken as cg, readMultipartFormData as ch, validateAndReviveRun as ci, parseLocation as cj, joinSuitePath as ck, upsertTraceBlob as cl, findTraceBlob as cm, resolveCasePayloadContents as cn, resolveCaseDomSnapshot as co, getEnvironmentDiff as cp, getLocatorHealing as cq, saveLocatorPick as cr, getTraceNetworkBodyFromBlob as cs, getTraceNetworkFromBlob as ct, getTraceCallStackFromBlob as cu, getOrComputeVisualDiff as cv, authorizeStreamToken as cw, mapCompleteEventToRunCase as cx, persistRunCases as cy, countFailedFromTally as cz, defineTask as d, rpcErr as d0, ok as d1, isKnownPrompt as d2, getRequestURL as d3, resolvePublicBaseUrl as d4, getPrompt as d5, MCP_PROMPT_DEFS as d6, toContent as d7, MCP_TOOLS as d8, MCP_SERVER_INFO as d9, hash$1 as dA, withTrailingSlash as dB, withoutTrailingSlash as dC, $fetch$1 as dD, baseURL as dE, executeAsync as dF, getCookie as dG, deleteCookie as dH, sha256Blob as dI, Sha256 as dJ, highlightCode as dK, upperFirst as dL, LOW_CONFIDENCE_THRESHOLD as dM, recommendLocatorFix as dN, DIAGNOSIS_SECTION_SHORT as dO, DIAGNOSIS_SECTIONS as dP, isKnownSectionId as dQ, escapeHtml as dR, extractCitedSectionIds as dS, detectProvider as dT, getProviderIcon as dU, condenseErrorText as dV, hasSlowMark as dW, isWastedWait as dX, MCP_TOOL_DEFS as dY, nodeServer as dZ, negotiateProtocolVersion as da, buildAssetsURL as db, publicAssetsURL as dc, encodePath as dd, defineRenderHandler as de, destr as df, getRouteRules as dg, getResponseStatusText as dh, getResponseStatus as di, useNitroApp as dj, serialize$1 as dk, getRequestHeaders as dl, defu as dm, isEqual as dn, klona as dp, hasProtocol as dq, isScriptProtocol as dr, joinURL as ds, defuFn as dt, parseQuery as du, withQuery as dv, sanitizeStatusCode as dw, parseURL as dx, decodePath as dy, getContext as dz, eventHandler as e, requireAuth as f, getDatabase as g, readBody as h, createError$1 as i, getAdminStats as j, getStorage as k, getDirectorySize as l, resolveAiConfig as m, projects as n, tags as o, pruneNotificationDeliveries as p, projectTags as q, reclaimSpace as r, sweepOutbox as s, testRuns as t, failureClusters as u, getProjectTimeoutOpportunities as v, testRunsCases as w, getProjectFlakyTests as x, networkRequests as y, percentile as z };
|
|
30409
31082
|
//# sourceMappingURL=nitro.mjs.map
|