@acutis/cli 0.1.2-dev.17 → 0.1.2-dev.20
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/9eLkUDDj.js +1 -0
- package/.output/public/_nuxt/BGkBW2ni2.js +1 -0
- package/.output/public/_nuxt/BKydt2Wp2.js +4 -0
- package/.output/public/_nuxt/{D5HF1Z0f2.js → Bd538XcA2.js} +1 -1
- package/.output/public/_nuxt/CDI0GNVb2.js +1 -0
- package/.output/public/_nuxt/CqZ7dV6a2.js +64 -0
- package/.output/public/_nuxt/{CC0OsuIz.js → DQk6DVe-.js} +3 -3
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/efaaa78a-5dcb-48ec-a876-1eaf98ae6c55.json +1 -0
- package/.output/public/_nuxt/{BEFJRHhA2.js → dCqlxK8U2.js} +1 -1
- package/.output/public/_nuxt/entry.Ci6Ki0cW.css +2 -0
- package/.output/public/_nuxt/error-404.CkhL7nxg.css +1 -0
- package/.output/public/_nuxt/error-500.DNftkU4A.css +1 -0
- package/.output/public/_nuxt/tags.B5A43CvD.css +1 -0
- package/.output/server/chunks/_/auth2.mjs +3 -3
- package/.output/server/chunks/_/environment.mjs +3 -3
- package/.output/server/chunks/_/error-500.mjs.map +1 -1
- package/.output/server/chunks/_/generation.mjs +3 -3
- package/.output/server/chunks/_/project.mjs +2 -2
- package/.output/server/chunks/_/project.service.mjs +3 -31
- package/.output/server/chunks/_/project.service.mjs.map +1 -1
- package/.output/server/chunks/_/recording.mjs +5 -2
- package/.output/server/chunks/_/recording.mjs.map +1 -1
- package/.output/server/chunks/_/scenario.mjs +4 -2
- package/.output/server/chunks/_/scenario.mjs.map +1 -1
- package/.output/server/chunks/_/scenario2.mjs +22 -5
- package/.output/server/chunks/_/scenario2.mjs.map +1 -1
- package/.output/server/chunks/_/spec-rules.mjs +29 -232
- package/.output/server/chunks/_/spec-rules.mjs.map +1 -1
- package/.output/server/chunks/build/{Alert-Q5hBYuxt.mjs → Alert-DX-UEOEY.mjs} +3 -3
- package/.output/server/chunks/build/Alert-DX-UEOEY.mjs.map +1 -0
- package/.output/server/chunks/build/{Badge-BgyIJKeU.mjs → Badge-DCotJtd8.mjs} +3 -3
- package/.output/server/chunks/build/Badge-DCotJtd8.mjs.map +1 -0
- package/.output/server/chunks/build/{Card-DLzZ816u.mjs → Card-D7QwltkF.mjs} +3 -3
- package/.output/server/chunks/build/Card-D7QwltkF.mjs.map +1 -0
- package/.output/server/chunks/build/{Container-HW0bT_Wn.mjs → Container-Biz72Lxy.mjs} +3 -3
- package/.output/server/chunks/build/Container-Biz72Lxy.mjs.map +1 -0
- package/.output/server/chunks/build/{Pagination-FFamqWKD.mjs → Pagination-D2AcUggP.mjs} +3 -3
- package/.output/server/chunks/build/{Pagination-FFamqWKD.mjs.map → Pagination-D2AcUggP.mjs.map} +1 -1
- package/.output/server/chunks/build/{_...scenario_-DNqQ06NM.mjs → _...scenario_-D8fF8UCa.mjs} +186 -45
- package/.output/server/chunks/build/_...scenario_-D8fF8UCa.mjs.map +1 -0
- package/.output/server/chunks/build/{_slug_-BlLRYU9d.mjs → _slug_-0Xu9aQ3b.mjs} +75 -51
- package/.output/server/chunks/build/{_slug_-BlLRYU9d.mjs.map → _slug_-0Xu9aQ3b.mjs.map} +1 -1
- package/.output/server/chunks/build/{auth-status-Bo2gxZ-H.mjs → auth-status-kUEDoxDI.mjs} +2 -2
- package/.output/server/chunks/build/{auth-status-Bo2gxZ-H.mjs.map → auth-status-kUEDoxDI.mjs.map} +1 -1
- package/.output/server/chunks/build/{auth-status-5sNoLTPk.mjs → auth-status-kswM9iTW.mjs} +4 -4
- package/.output/server/chunks/build/{auth-status-5sNoLTPk.mjs.map → auth-status-kswM9iTW.mjs.map} +1 -1
- package/.output/server/chunks/build/{empty-xO5aD2Ip.mjs → empty-D8gbt7LG.mjs} +1 -1
- package/.output/server/chunks/build/{empty-xO5aD2Ip.mjs.map → empty-D8gbt7LG.mjs.map} +1 -1
- package/.output/server/chunks/build/{error-404-Dzfp7Wik.mjs → error-404-B5fzVPdQ.mjs} +5 -5
- package/.output/server/chunks/build/error-404-B5fzVPdQ.mjs.map +1 -0
- package/.output/server/chunks/build/error-404-styles.C6Lq0aSH.mjs +9 -0
- package/.output/server/chunks/build/error-404-styles.C6Lq0aSH.mjs.map +1 -0
- package/.output/server/chunks/build/{error-500-Df60mzLr.mjs → error-500-Be62wrWs.mjs} +5 -5
- package/.output/server/chunks/build/error-500-Be62wrWs.mjs.map +1 -0
- package/.output/server/chunks/build/error-500-styles.D3b6pwL1.mjs +9 -0
- package/.output/server/chunks/build/error-500-styles.D3b6pwL1.mjs.map +1 -0
- package/.output/server/chunks/build/{generation-warnings-RCB9uLi8.mjs → generation-warnings-D4Br9kVN.mjs} +4 -4
- package/.output/server/chunks/build/{generation-warnings-RCB9uLi8.mjs.map → generation-warnings-D4Br9kVN.mjs.map} +1 -1
- package/.output/server/chunks/build/{history-D-mei_D6.mjs → history-eVF-ijkS.mjs} +5 -5
- package/.output/server/chunks/build/{history-D-mei_D6.mjs.map → history-eVF-ijkS.mjs.map} +1 -1
- package/.output/server/chunks/build/{modal-Cpj-bQgu.mjs → modal-CELo8GdZ.mjs} +5 -5
- package/.output/server/chunks/build/{modal-Cpj-bQgu.mjs.map → modal-CELo8GdZ.mjs.map} +1 -1
- package/.output/server/chunks/build/{modal-DV_DQ0hO.mjs → modal-CUNv4bFw.mjs} +7 -7
- package/.output/server/chunks/build/{modal-DV_DQ0hO.mjs.map → modal-CUNv4bFw.mjs.map} +1 -1
- package/.output/server/chunks/build/{modal-81h_kbj9.mjs → modal-Cl4zRASg.mjs} +5 -5
- package/.output/server/chunks/build/{modal-81h_kbj9.mjs.map → modal-Cl4zRASg.mjs.map} +1 -1
- package/.output/server/chunks/build/{origin-_Ab6zkKk.mjs → origin-_7Gia2Vr.mjs} +4 -4
- package/.output/server/chunks/build/{origin-_Ab6zkKk.mjs.map → origin-_7Gia2Vr.mjs.map} +1 -1
- package/.output/server/chunks/build/{pages-BuW8VoW3.mjs → pages-C0ubizZ3.mjs} +14 -14
- package/.output/server/chunks/build/pages-C0ubizZ3.mjs.map +1 -0
- package/.output/server/chunks/build/{phrases-CSDEYSbZ.mjs → phrases-rvaRKDG_.mjs} +1 -1
- package/.output/server/chunks/build/{phrases-CSDEYSbZ.mjs.map → phrases-rvaRKDG_.mjs.map} +1 -1
- package/.output/server/chunks/build/{project-run-filtered-CplHFc5x.mjs → project-run-filtered-DFIlti8u.mjs} +7 -7
- package/.output/server/chunks/build/{project-run-filtered-CplHFc5x.mjs.map → project-run-filtered-DFIlti8u.mjs.map} +1 -1
- package/.output/server/chunks/build/{scenario-runs-C7TDC5iA.mjs → scenario-runs-bilf1StX.mjs} +7 -7
- package/.output/server/chunks/build/{scenario-runs-C7TDC5iA.mjs.map → scenario-runs-bilf1StX.mjs.map} +1 -1
- package/.output/server/chunks/build/{scenario-suggestions-CsQg875h.mjs → scenario-suggestions-CMPsmNXz.mjs} +7 -7
- package/.output/server/chunks/build/{scenario-suggestions-CsQg875h.mjs.map → scenario-suggestions-CMPsmNXz.mjs.map} +1 -1
- package/.output/server/chunks/build/{scenario-test-run-Deg4Qlme.mjs → scenario-test-run-DIjyHDe-.mjs} +7 -7
- package/.output/server/chunks/build/{scenario-test-run-Deg4Qlme.mjs.map → scenario-test-run-DIjyHDe-.mjs.map} +1 -1
- package/.output/server/chunks/build/{steps-CcAjZqHX.mjs → steps-DBViokqd.mjs} +1 -1
- package/.output/server/chunks/build/{steps-CcAjZqHX.mjs.map → steps-DBViokqd.mjs.map} +1 -1
- package/.output/server/chunks/build/{tags-DrKY6Ah4.mjs → tags-BiGRnEfK.mjs} +62 -17
- package/.output/server/chunks/build/{tags-DrKY6Ah4.mjs.map → tags-BiGRnEfK.mjs.map} +1 -1
- package/.output/server/chunks/build/timeline-styles.CzOXKr8R.mjs +9 -0
- package/.output/server/chunks/build/timeline-styles.CzOXKr8R.mjs.map +1 -0
- package/.output/server/chunks/build/{warnings-D8SWbHw0.mjs → warnings-BjFCNgyv.mjs} +2 -2
- package/.output/server/chunks/build/{warnings-D8SWbHw0.mjs.map → warnings-BjFCNgyv.mjs.map} +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +683 -273
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/raw/driver-entry.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_slug/auth/record.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_slug/auth/skip.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_slug/auth.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_slug/auth.put.mjs +1 -1
- package/.output/server/chunks/routes/debug/close-page.post.mjs +40 -0
- package/.output/server/chunks/routes/debug/close-page.post.mjs.map +1 -0
- package/.output/server/chunks/routes/debug/replay-decision.post.mjs +43 -0
- package/.output/server/chunks/routes/debug/replay-decision.post.mjs.map +1 -0
- package/.output/server/chunks/routes/renderer.mjs +2 -2
- package/.output/server/chunks/routes/renderer.mjs.map +1 -1
- package/.output/server/chunks/routes/runner/video.get.mjs +1 -1
- package/.output/server/chunks/routes/ws.mjs +19 -2
- package/.output/server/chunks/routes/ws.mjs.map +1 -1
- package/.output/server/chunks/virtual/entry.mjs +128 -128
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/chunks/virtual/styles.mjs +4 -3
- package/.output/server/index.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/bin/splash.mjs +2 -2
- package/dist-ui/driver-entry.js +3 -3
- package/package.json +5 -1
- package/reporters/stream-reporter.cjs +3 -3
- package/.output/public/_nuxt/5GgR1mbX.js +0 -1
- package/.output/public/_nuxt/CTLrtTtn2.js +0 -64
- package/.output/public/_nuxt/D4ykC_lY2.js +0 -1
- package/.output/public/_nuxt/DDHUGtv32.js +0 -4
- package/.output/public/_nuxt/Dpnaldxf2.js +0 -1
- package/.output/public/_nuxt/builds/meta/f764322c-bb05-455d-81f9-a546df72cf7d.json +0 -1
- package/.output/public/_nuxt/entry.m-nAFUcz.css +0 -2
- package/.output/public/_nuxt/error-404.DopINOT1.css +0 -1
- package/.output/public/_nuxt/error-500.D7goJC9g.css +0 -1
- package/.output/server/chunks/build/Alert-Q5hBYuxt.mjs.map +0 -1
- package/.output/server/chunks/build/Badge-BgyIJKeU.mjs.map +0 -1
- package/.output/server/chunks/build/Card-DLzZ816u.mjs.map +0 -1
- package/.output/server/chunks/build/Container-HW0bT_Wn.mjs.map +0 -1
- package/.output/server/chunks/build/_...scenario_-DNqQ06NM.mjs.map +0 -1
- package/.output/server/chunks/build/error-404-Dzfp7Wik.mjs.map +0 -1
- package/.output/server/chunks/build/error-404-styles.ByPbpRGS.mjs +0 -9
- package/.output/server/chunks/build/error-404-styles.ByPbpRGS.mjs.map +0 -1
- package/.output/server/chunks/build/error-500-Df60mzLr.mjs.map +0 -1
- package/.output/server/chunks/build/error-500-styles.Dz8enkTW.mjs +0 -9
- package/.output/server/chunks/build/error-500-styles.Dz8enkTW.mjs.map +0 -1
- package/.output/server/chunks/build/pages-BuW8VoW3.mjs.map +0 -1
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import{$t as e,At as t,Bt as n,En as r,F as i,G as a,H as o,I as s,It as c,Lt as l,M as u,Mn as d,Mt as f,N as p,Nn as m,Ot as h,P as g,Pn as _,S as v,U as y,Wn as b,Xt as x,Zt as S,_r as C,_t as w,bt as ee,cn as T,en as te,gt as E,in as D,ln as O,pr as k,ut as ne,wt as re}from"./DMHcp4U1.js";import{qt as ie,tt as ae}from"./cRY3ZoRz.js";import{M as A,R as j}from"./BbjTtCyI.js";import{r as M,t as oe}from"./CRH0iqnQ.js";import{l as se,n as N,t as P}from"./k5q7GKnv.js";import{t as F}from"./DJxuKf9Z.js";import{u as I}from"./b5tj-z25.js";import{t as L}from"./CIFC2HNk.js";import{_ as ce,a as le,i as ue,l as de,m as fe,r as pe,t as me}from"./C5uJN_MU.js";import{c as he,d as ge,f as _e,h as ve,p as ye,r as be,s as xe,u as Se}from"./Gcazu-lR.js";import{t as Ce}from"./BWJpSLJL.js";import{t as we}from"./BMLYuU_e.js";import{n as Te,t as Ee}from"./DXLPf3t6.js";import{t as De}from"./CBVnImq2.js";import{t as Oe}from"./ANcp5QFz.js";import{t as ke}from"./CTqLwyQP.js";import{t as Ae}from"./FvWrDx_z.js";function je(e){return`schema`in e&&typeof e.coercer==`function`&&typeof e.validator==`function`&&typeof e.refiner==`function`}function Me(e){return`~standard`in e}async function Ne(e,t){let n=await t[`~standard`].validate(e);return n.issues?{errors:n.issues?.map(e=>({name:e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`)||``,message:e.message}))||[],result:null}:{errors:null,result:n.value}}async function Pe(e,t){let[n,r]=t.validate(e);return n?{errors:n.failures().map(e=>({message:e.message,name:e.path.join(`.`)})),result:null}:{errors:null,result:r}}function Fe(e,t){if(Me(t))return Ne(e,t);if(je(t))return Pe(e,t);throw Error(`Form validation failed: Unsupported form schema`)}function Ie(e,t){return t?t.split(`.`).reduce((e,t)=>e?.[t],e):e}function Le(e,t,n){if(!t)return Object.assign(e,n);if(!e)return e;let r=t.split(`.`),i=e;for(let e=0;e<r.length-1;e++){let t=r[e];(i[t]===void 0||i[t]===null)&&(e+1<r.length&&!Number.isNaN(Number(r[e+1]))?i[t]=[]:i[t]={}),i=i[t]}let a=r[r.length-1];return i[a]=n,e}var Re=class e extends Error{formId;errors;constructor(t,n){super(`Form validation exception`),this.formId=t,this.errors=n,Object.setPrototypeOf(this,e.prototype)}},ze={base:``},Be={__name:`UForm`,props:{id:{type:[String,Number],required:!1},schema:{type:null,required:!1},state:{type:null,required:!1},validate:{type:Function,required:!1},validateOn:{type:Array,required:!1,default(){return[`input`,`blur`,`change`]}},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},validateOnInputDelay:{type:Number,required:!1,default:300},transform:{type:null,required:!1,default:()=>!0},nested:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},onSubmit:{type:Function,required:!1}},emits:[`submit`,`error`],setup(e,{expose:r,emit:i}){let a=e,o=i,s=de(`form`,a),c=I(),p=u(()=>le({extend:ze,...c.ui?.form||{}})),v=s.id??x(),y=te(`formRef`),S=A(`form-${v}`),C=s.nested===!0&&ne(xe,void 0),ee=s.nested===!0?ne(ye,void 0):void 0,T=u(()=>ee?.value?s.name?Ie(ee.value,s.name):ee.value:s.state);f(xe,S),f(ye,T);let E=_(new Map);re(async()=>{C&&(await w(),C.emit({type:`attach`,validate:F,formId:v,name:s.name,api:Oe}))}),h(()=>{S.reset(),C&&C.emit({type:`detach`,formId:v})}),re(async()=>{S.on(async e=>{e.type===`attach`?E.value.set(e.formId,{validate:e.validate,name:e.name,api:e.api}):e.type===`detach`?E.value.delete(e.formId):s.validateOn?.includes(e.type)&&!L.value&&(e.type===`input`?(e.eager||oe.has(e.name))&&await F({name:e.name,silent:!0,nested:!1}):await F({name:e.name,silent:!0,nested:!1})),e.type===`blur`&&oe.add(e.name),(e.type===`change`||e.type===`input`||e.type===`blur`||e.type===`focus`)&&M.add(e.name),(e.type===`change`||e.type===`input`)&&j.add(e.name)})});let D=_([]);f(he,D);let ae=_({});f(Se,ae);let j=d(new Set),M=d(new Set),oe=d(new Set);function se(e){return e.map(e=>({...e,id:e?.name?ae.value[e.name]?.id:void 0}))}let N=_(null);async function P(){let e=s.validate?await s.validate(T.value)??[]:[];if(s.schema){let{errors:t,result:n}=await Fe(T.value,s.schema);t?e=e.concat(t):N.value=n}return se(e)}async function F(e={silent:!1,nested:!1,transform:!1}){let t=e.name&&!Array.isArray(e.name)?[e.name]:e.name,n=[],r=[];if(!t&&e.nested){let t=Array.from(E.value.values()).map(t=>fe(t,e)),i=await Promise.all(t);r=i.filter(e=>e.error).flatMap(e=>e.error.errors.map(t=>pe(t,e.name))),n=i.filter(e=>e.output!==void 0)}let i=[...await P(),...r];if(t?D.value=Te(i,t):D.value=i,D.value?.length){if(e.silent)return!1;throw new Re(v,D.value)}return e.transform?(n.forEach(e=>{e.name?Le(N.value,e.name,e.output):Object.assign(N.value,e.output)}),N.value??T.value):T.value}let L=_(!1);f(ge,m(L));async function ce(e){L.value=!!s.loadingAuto;let t=e;try{t.data=await F({nested:!0,transform:s.transform}),await s.onSubmit?.(t),j.clear()}catch(e){if(!(e instanceof Re))throw e;let n={...t,errors:e.errors};o(`error`,n)}finally{L.value=!1}}let ue=u(()=>s.disabled||L.value);f(_e,u(()=>({disabled:ue.value,validateOnInputDelay:s.validateOnInputDelay})));async function fe(e,t){try{let n=await e.validate({...t,silent:!1});return{name:e.name,output:n}}catch(t){if(!(t instanceof Re))throw t;return{name:e.name,error:t}}}function pe(e,t){return!t||!e.name?e:{...e,name:t+`.`+e.name}}function me(e,t){let n=t+`.`,r=e?.name?.startsWith(n)?e.name.substring(n.length):e.name;return{...e,name:r}}function ve(e,t){return t?e.filter(e=>e?.name?.startsWith(t+`.`)).map(e=>me(e,t)):e}function be(e){return e.api.getErrors().map(t=>e.name?{...t,name:e.name+`.`+t.name}:t)}function Ce(e,t){return!e||!t?!0:e instanceof RegExp?e.test(t):t===e||typeof e==`string`&&e.startsWith(t+`.`)}function we(e,t){if(!e||e instanceof RegExp)return e;if(t!==e)return typeof e==`string`&&e.startsWith(t+`.`)?e.substring(t.length+1):e}function Te(e,t){let n=new Set(t),r=t.map(e=>ae.value?.[e]?.pattern).filter(Boolean),i=e=>e.name?n.has(e.name)?!0:r.some(t=>t.test(e.name)):!1,a=D.value.filter(e=>!i(e)),o=e.filter(i);return[...a,...o]}function Ee(e,t){return e.filter(e=>t instanceof RegExp?!(e.name&&t.test(e.name)):!e.name||e.name!==t)}function De(e){return!e.name||!!ae.value[e.name]}let Oe={validate:F,errors:D,setErrors(e,t){let n=se(e.filter(De)),r=[];for(let n of E.value.values())if(Ce(t,n.name)){let i=ve(e,n.name);n.api.setErrors(i,we(t,n.name||``)),r.push(...be(n))}if(t){let e=Ee(D.value,t);D.value=[...e,...n,...r]}else D.value=[...n,...r]},async submit(){y.value instanceof HTMLFormElement&&y.value.reportValidity()===!1||await ce(new Event(`submit`))},getErrors(e){return e?D.value.filter(t=>e instanceof RegExp?t.name&&e.test(t.name):t.name===e):D.value},clear(e){let t=e?D.value.filter(t=>De(t)&&(e instanceof RegExp?!(t.name&&e.test(t.name)):t.name!==e)):[],n=[];for(let t of E.value.values())Ce(e,t.name)&&t.api.clear(),n.push(...be(t));D.value=[...t,...n]},disabled:ue,loading:L,dirty:u(()=>!!j.size),dirtyFields:m(j),blurredFields:m(oe),touchedFields:m(M)};return r(Oe),(e,r)=>(t(),g(n(b(C)?`div`:`form`),{id:b(v),ref_key:`formRef`,ref:y,name:b(C)?void 0:b(s).name,method:`post`,class:k(p.value({class:[b(s).ui?.base,b(s).class]})),onSubmit:ie(ce,[`prevent`])},{default:O(()=>[l(e.$slots,`default`,{errors:D.value,loading:L.value})]),_:3},40,[`id`,`name`,`class`]))}},Ve={slots:{root:`relative inline-flex items-center`,base:[`w-full rounded-md border-0 appearance-none placeholder:text-dimmed disabled:cursor-not-allowed disabled:opacity-75`,`transition-colors`],leading:`absolute start-0 flex items-start`,leadingIcon:`shrink-0 text-dimmed`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,trailing:`absolute end-0 flex items-start`,trailingIcon:`shrink-0 text-dimmed`},variants:{fieldGroup:{horizontal:{root:`group has-focus-visible:z-[1]`,base:`group-not-only:group-first:rounded-e-none group-not-only:group-last:rounded-s-none group-not-last:group-not-first:rounded-none`},vertical:{root:`group has-focus-visible:z-[1]`,base:`group-not-only:group-first:rounded-b-none group-not-only:group-last:rounded-t-none group-not-last:group-not-first:rounded-none`}},size:{xs:{base:`px-2 py-1 text-sm/4 gap-1`,leading:`ps-2 inset-y-1`,trailing:`pe-2 inset-y-1`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`},sm:{base:`px-2.5 py-1.5 text-sm/4 gap-1.5`,leading:`ps-2.5 inset-y-1.5`,trailing:`pe-2.5 inset-y-1.5`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`},md:{base:`px-2.5 py-1.5 text-base/5 gap-1.5`,leading:`ps-2.5 inset-y-1.5`,trailing:`pe-2.5 inset-y-1.5`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`},lg:{base:`px-3 py-2 text-base/5 gap-2`,leading:`ps-3 inset-y-2`,trailing:`pe-3 inset-y-2`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`},xl:{base:`px-3 py-2 text-base gap-2`,leading:`ps-3 inset-y-2`,trailing:`pe-3 inset-y-2`,leadingIcon:`size-6`,leadingAvatarSize:`xs`,trailingIcon:`size-6`}},variant:{outline:`text-highlighted bg-default ring ring-inset ring-accented`,soft:`text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50`,subtle:`text-highlighted bg-elevated ring ring-inset ring-accented`,ghost:`text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent`,none:`text-highlighted bg-transparent focus:outline-none`},color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},leading:{true:``},trailing:{true:``},loading:{true:``},highlight:{true:``},fixed:{false:``},type:{file:`file:me-1.5 file:font-medium file:text-muted file:outline-none`},autoresize:{true:{base:`resize-none`}}},compoundVariants:[{color:`primary`,variant:[`outline`,`subtle`],class:`outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary`},{color:`secondary`,variant:[`outline`,`subtle`],class:`outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary`},{color:`success`,variant:[`outline`,`subtle`],class:`outline-success/25 focus-visible:outline-3 focus-visible:ring-success`},{color:`info`,variant:[`outline`,`subtle`],class:`outline-info/25 focus-visible:outline-3 focus-visible:ring-info`},{color:`warning`,variant:[`outline`,`subtle`],class:`outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning`},{color:`error`,variant:[`outline`,`subtle`],class:`outline-error/25 focus-visible:outline-3 focus-visible:ring-error`},{color:`primary`,variant:[`soft`,`ghost`],class:`outline-primary/25 focus-visible:outline-3`},{color:`secondary`,variant:[`soft`,`ghost`],class:`outline-secondary/25 focus-visible:outline-3`},{color:`success`,variant:[`soft`,`ghost`],class:`outline-success/25 focus-visible:outline-3`},{color:`info`,variant:[`soft`,`ghost`],class:`outline-info/25 focus-visible:outline-3`},{color:`warning`,variant:[`soft`,`ghost`],class:`outline-warning/25 focus-visible:outline-3`},{color:`error`,variant:[`soft`,`ghost`],class:`outline-error/25 focus-visible:outline-3`},{color:`primary`,highlight:!0,class:`ring ring-inset ring-primary`},{color:`secondary`,highlight:!0,class:`ring ring-inset ring-secondary`},{color:`success`,highlight:!0,class:`ring ring-inset ring-success`},{color:`info`,highlight:!0,class:`ring ring-inset ring-info`},{color:`warning`,highlight:!0,class:`ring ring-inset ring-warning`},{color:`error`,highlight:!0,class:`ring ring-inset ring-error`},{color:`neutral`,variant:[`outline`,`subtle`],class:`outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted`},{color:`neutral`,variant:[`soft`,`ghost`],class:`outline-inverted/25 focus-visible:outline-3`},{color:`neutral`,highlight:!0,class:`ring ring-inset ring-inverted`},{leading:!0,size:`xs`,class:`ps-7`},{leading:!0,size:`sm`,class:`ps-8`},{leading:!0,size:`md`,class:`ps-9`},{leading:!0,size:`lg`,class:`ps-10`},{leading:!0,size:`xl`,class:`ps-11`},{trailing:!0,size:`xs`,class:`pe-7`},{trailing:!0,size:`sm`,class:`pe-8`},{trailing:!0,size:`md`,class:`pe-9`},{trailing:!0,size:`lg`,class:`pe-10`},{trailing:!0,size:`xl`,class:`pe-11`},{loading:!0,leading:!0,class:{leadingIcon:`animate-spin`}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:`animate-spin`}},{fixed:!1,size:`xs`,class:`md:text-xs`},{fixed:!1,size:`sm`,class:`md:text-xs`},{fixed:!1,size:`md`,class:`md:text-sm`},{fixed:!1,size:`lg`,class:`md:text-sm`}],defaultVariants:{size:`md`,color:`primary`,variant:`outline`}},He=[`id`,`value`,`name`,`rows`,`placeholder`,`disabled`,`required`],Ue=Object.assign({inheritAttrs:!1},{__name:`UTextarea`,props:{as:{type:null,required:!1},id:{type:String,required:!1},name:{type:String,required:!1},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},autoresize:{type:Boolean,required:!1},autoresizeDelay:{type:Number,required:!1,default:0},disabled:{type:Boolean,required:!1},rows:{type:Number,required:!1,default:3},maxrows:{type:Number,required:!1,default:0},highlight:{type:Boolean,required:!1},fixed:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:[`update:modelValue`,`blur`,`change`],setup(n,{expose:r,emit:a}){let o=n,c=a,d=e(),f=de(`textarea`,o),m=j(f,`modelValue`,c,{defaultValue:f.defaultValue}),h=I(),{emitFormFocus:_,emitFormBlur:v,emitFormInput:y,emitFormChange:x,size:S,color:C,id:ee,name:T,highlight:ne,disabled:ie,ariaAttrs:ae}=ve(o,{deferInputValidation:!0}),{isLeading:A,isTrailing:M,leadingIconName:oe,trailingIconName:se}=ue(f),N=u(()=>le({extend:Ve,...h.ui?.textarea||{}})({color:C.value??f.color,variant:f.variant,size:S?.value??f.size,loading:f.loading,highlight:ne.value??f.highlight,fixed:f.fixed,autoresize:f.autoresize,leading:A.value||!!f.avatar||!!d.leading,trailing:M.value||!!d.trailing})),P=te(`textareaRef`);function F(e){f.modelModifiers?.trim&&(typeof e==`string`||e==null)&&(e=e?.trim()??null),f.modelModifiers?.number&&(e=fe(e)),f.modelModifiers?.nullable&&(e||=null),f.modelModifiers?.optional&&!f.modelModifiers?.nullable&&e!==null&&(e||=void 0),m.value=e,y()}function L(e){ye(),f.modelModifiers?.lazy||F(e.target.value)}function he(e){let t=e.target.value;f.modelModifiers?.lazy&&F(t),f.modelModifiers?.trim&&(e.target.value=t.trim()),x(),c(`change`,e)}function ge(e){v(),c(`blur`,e)}function _e(){f.autofocus&&P.value?.focus()}function ye(){if(f.autoresize&&P.value){P.value.rows=f.rows;let e=P.value.style.overflow;P.value.style.overflow=`hidden`;let t=window.getComputedStyle(P.value),n=Number.parseInt(t.paddingTop)+Number.parseInt(t.paddingBottom),r=Number.parseInt(t.lineHeight),{scrollHeight:i}=P.value,a=(i-n)/r;a>f.rows&&(P.value.rows=f.maxrows?Math.min(a,f.maxrows):a),P.value.style.overflow=e}}return D(m,()=>{w(ye)}),re(()=>{setTimeout(()=>{_e()},f.autofocusDelay),setTimeout(async()=>{await w(),ye()},f.autoresizeDelay)}),r({textareaRef:P,autoResize:ye}),(e,n)=>(t(),g(b(ce),{as:b(f).as,"data-slot":e.$attrs[`data-slot`]??`root`,class:k(N.value.root({class:[b(f).ui?.root,b(f).class]}))},{default:O(()=>[p(`textarea`,E({id:b(ee),ref_key:`textareaRef`,ref:P,value:b(m),name:b(T),rows:b(f).rows,placeholder:b(f).placeholder,class:N.value.base({class:b(f).ui?.base}),disabled:b(ie),required:b(f).required},{...e.$attrs,...b(ae)},{"data-slot":`base`,onInput:L,onBlur:ge,onChange:he,onFocus:n[0]||=(...e)=>b(_)&&b(_)(...e)}),null,16,He),l(e.$slots,`default`,{ui:N.value}),b(A)||b(f).avatar||d.leading?(t(),s(`span`,{key:0,"data-slot":`leading`,class:k(N.value.leading({class:b(f).ui?.leading}))},[l(e.$slots,`leading`,{ui:N.value},()=>[b(A)&&b(oe)?(t(),g(pe,{key:0,name:b(oe),"data-slot":`leadingIcon`,class:k(N.value.leadingIcon({class:b(f).ui?.leadingIcon}))},null,8,[`name`,`class`])):b(f).avatar?(t(),g(me,E({key:1,size:b(f).ui?.leadingAvatarSize||N.value.leadingAvatarSize()},b(f).avatar,{"data-slot":`leadingAvatar`,class:N.value.leadingAvatar({class:b(f).ui?.leadingAvatar})}),null,16,[`size`,`class`])):i(``,!0)])],2)):i(``,!0),b(M)||d.trailing?(t(),s(`span`,{key:1,"data-slot":`trailing`,class:k(N.value.trailing({class:b(f).ui?.trailing}))},[l(e.$slots,`trailing`,{ui:N.value},()=>[b(se)?(t(),g(pe,{key:0,name:b(se),"data-slot":`trailingIcon`,class:k(N.value.trailingIcon({class:b(f).ui?.trailingIcon}))},null,8,[`name`,`class`])):i(``,!0)])],2)):i(``,!0)]),_:3},8,[`as`,`data-slot`,`class`]))}}),We;function R(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,"init",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}var Ge=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Ke=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(We=globalThis).__zod_globalConfig??(We.__zod_globalConfig={});var qe=globalThis.__zod_globalConfig;function Je(e){return e&&Object.assign(qe,e),qe}function Ye(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function Xe(e,t){return typeof t==`bigint`?t.toString():t}function Ze(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Qe(e){return e==null}function $e(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function et(e,t){let n=e/t,r=Math.round(n),i=2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}var tt=Symbol(`evaluating`);function z(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==tt)return r===void 0&&(r=tt,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function nt(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function B(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function rt(e){return JSON.stringify(e)}function it(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var at=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function ot(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var st=Ze(()=>{if(qe.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function ct(e){if(ot(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return ot(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function lt(e){return ct(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var ut=new Set([`string`,`number`,`symbol`]);function dt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function ft(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function V(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function pt(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var mt={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function ht(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return ft(e,B(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return nt(this,`shape`,e),e},checks:[]}))}function gt(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return ft(e,B(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return nt(this,`shape`,r),r},checks:[]}))}function _t(e,t){if(!ct(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return ft(e,B(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return nt(this,`shape`,n),n}}))}function vt(e,t){if(!ct(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return ft(e,B(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return nt(this,`shape`,n),n}}))}function yt(e,t){if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return ft(e,B(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return nt(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function bt(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return ft(t,B(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return nt(this,`shape`,i),i},checks:[]}))}function xt(e,t,n){return ft(t,B(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return nt(this,`shape`,i),i}}))}function St(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Ct(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function wt(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Tt(e){return typeof e==`string`?e:e?.message}function Et(e,t,n){let r=e.message?e.message:Tt(e.inst?._zod.def?.error?.(e))??Tt(t?.error?.(e))??Tt(n.customError?.(e))??Tt(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function Dt(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Ot(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var kt=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Xe,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},At=R(`$ZodError`,kt),jt=R(`$ZodError`,kt,{Parent:Error});function Mt(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Nt(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i];i===e.length-1?(r[n]=r[n]||{_errors:[]},r[n]._errors.push(t(a))):r[n]=r[n]||{_errors:[]},r=r[n],i++}}}};return r(e),n}var Pt=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new Ge;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>Et(e,a,Je())));throw at(t,i?.callee),t}return o.value},Ft=e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>Et(e,a,Je())));throw at(t,i?.callee),t}return o.value},It=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Ge;return a.issues.length?{success:!1,error:new(e??At)(a.issues.map(e=>Et(e,i,Je())))}:{success:!0,data:a.value}},Lt=It(jt),Rt=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>Et(e,i,Je())))}:{success:!0,data:a.value}},zt=Rt(jt),Bt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Pt(e)(t,n,i)},Vt=e=>(t,n,r)=>Pt(e)(t,n,r),Ht=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Ft(e)(t,n,i)},Ut=e=>async(t,n,r)=>Ft(e)(t,n,r),Wt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return It(e)(t,n,i)},Gt=e=>(t,n,r)=>It(e)(t,n,r),Kt=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Rt(e)(t,n,i)},qt=e=>async(t,n,r)=>Rt(e)(t,n,r),Jt=/^[cC][0-9a-z]{6,}$/,Yt=/^[0-9a-z]+$/,Xt=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Zt=/^[0-9a-vA-V]{20}$/,Qt=/^[A-Za-z0-9]{27}$/,$t=/^[a-zA-Z0-9_-]{21}$/,en=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,tn=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,nn=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,rn=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,an=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function on(){return new RegExp(an,`u`)}var sn=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,cn=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,ln=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,un=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,dn=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,fn=/^[A-Za-z0-9_-]*$/,pn=/^https?$/,mn=/^\+[1-9]\d{6,14}$/,hn=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,gn=RegExp(`^${hn}$`);function _n(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function vn(e){return RegExp(`^${_n(e)}$`)}function yn(e){let t=_n({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${hn}T(?:${r})$`)}var bn=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},xn=/^-?\d+$/,Sn=/^-?\d+(?:\.\d+)?$/,Cn=/^(?:true|false)$/i,wn=/^[^A-Z]*$/,Tn=/^[^a-z]*$/,H=R(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),En={number:`number`,bigint:`bigint`,object:`date`},Dn=R(`$ZodCheckLessThan`,(e,t)=>{H.init(e,t);let n=En[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),On=R(`$ZodCheckGreaterThan`,(e,t)=>{H.init(e,t);let n=En[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),kn=R(`$ZodCheckMultipleOf`,(e,t)=>{H.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):et(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),An=R(`$ZodCheckNumberFormat`,(e,t)=>{H.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=mt[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=xn)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),jn=R(`$ZodCheckMaxLength`,(e,t)=>{var n;H.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Qe(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=Dt(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Mn=R(`$ZodCheckMinLength`,(e,t)=>{var n;H.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Qe(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=Dt(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Nn=R(`$ZodCheckLengthEquals`,(e,t)=>{var n;H.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Qe(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=Dt(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Pn=R(`$ZodCheckStringFormat`,(e,t)=>{var n,r;H.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Fn=R(`$ZodCheckRegex`,(e,t)=>{Pn.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),In=R(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=wn,Pn.init(e,t)}),Ln=R(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Tn,Pn.init(e,t)}),Rn=R(`$ZodCheckIncludes`,(e,t)=>{H.init(e,t);let n=dt(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),zn=R(`$ZodCheckStartsWith`,(e,t)=>{H.init(e,t);let n=RegExp(`^${dt(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Bn=R(`$ZodCheckEndsWith`,(e,t)=>{H.init(e,t);let n=RegExp(`.*${dt(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Vn=R(`$ZodCheckOverwrite`,(e,t)=>{H.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),Hn=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
2
|
-
`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
|
|
3
|
-
`))}},Un={major:4,minor:4,patch:3},U=R(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Un;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=St(e),i;for(let a of t){if(a._zod.def.when){if(Ct(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new Ge;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=St(e,t))});else{if(e.issues.length===t)continue;r||=St(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(St(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new Ge;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new Ge;return o.then(e=>t(e,r,a))}return t(o,r,a)}}z(e,`~standard`,()=>({validate:t=>{try{let n=Lt(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return zt(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),Wn=R(`$ZodString`,(e,t)=>{U.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??bn(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),W=R(`$ZodStringFormat`,(e,t)=>{Pn.init(e,t),Wn.init(e,t)}),Gn=R(`$ZodGUID`,(e,t)=>{t.pattern??=tn,W.init(e,t)}),Kn=R(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=nn(e)}else t.pattern??=nn();W.init(e,t)}),qn=R(`$ZodEmail`,(e,t)=>{t.pattern??=rn,W.init(e,t)}),Jn=R(`$ZodURL`,(e,t)=>{W.init(e,t),e._zod.check=n=>{try{let r=n.value.trim();if(!t.normalize&&t.protocol?.source===pn.source&&!/^https?:\/\//i.test(r)){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}let i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),n.value=t.normalize?i.href:r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),Yn=R(`$ZodEmoji`,(e,t)=>{t.pattern??=on(),W.init(e,t)}),Xn=R(`$ZodNanoID`,(e,t)=>{t.pattern??=$t,W.init(e,t)}),Zn=R(`$ZodCUID`,(e,t)=>{t.pattern??=Jt,W.init(e,t)}),Qn=R(`$ZodCUID2`,(e,t)=>{t.pattern??=Yt,W.init(e,t)}),$n=R(`$ZodULID`,(e,t)=>{t.pattern??=Xt,W.init(e,t)}),er=R(`$ZodXID`,(e,t)=>{t.pattern??=Zt,W.init(e,t)}),tr=R(`$ZodKSUID`,(e,t)=>{t.pattern??=Qt,W.init(e,t)}),nr=R(`$ZodISODateTime`,(e,t)=>{t.pattern??=yn(t),W.init(e,t)}),rr=R(`$ZodISODate`,(e,t)=>{t.pattern??=gn,W.init(e,t)}),ir=R(`$ZodISOTime`,(e,t)=>{t.pattern??=vn(t),W.init(e,t)}),ar=R(`$ZodISODuration`,(e,t)=>{t.pattern??=en,W.init(e,t)}),or=R(`$ZodIPv4`,(e,t)=>{t.pattern??=sn,W.init(e,t),e._zod.bag.format=`ipv4`}),sr=R(`$ZodIPv6`,(e,t)=>{t.pattern??=cn,W.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),cr=R(`$ZodCIDRv4`,(e,t)=>{t.pattern??=ln,W.init(e,t)}),lr=R(`$ZodCIDRv6`,(e,t)=>{t.pattern??=un,W.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function ur(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var dr=R(`$ZodBase64`,(e,t)=>{t.pattern??=dn,W.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{ur(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function fr(e){if(!fn.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return ur(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var pr=R(`$ZodBase64URL`,(e,t)=>{t.pattern??=fn,W.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{fr(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),mr=R(`$ZodE164`,(e,t)=>{t.pattern??=mn,W.init(e,t)});function hr(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var gr=R(`$ZodJWT`,(e,t)=>{W.init(e,t),e._zod.check=n=>{hr(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),_r=R(`$ZodNumber`,(e,t)=>{U.init(e,t),e._zod.pattern=e._zod.bag.pattern??Sn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),vr=R(`$ZodNumberFormat`,(e,t)=>{An.init(e,t),_r.init(e,t)}),yr=R(`$ZodBoolean`,(e,t)=>{U.init(e,t),e._zod.pattern=Cn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),br=R(`$ZodUnknown`,(e,t)=>{U.init(e,t),e._zod.parse=e=>e}),xr=R(`$ZodNever`,(e,t)=>{U.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Sr(e,t,n){e.issues.length&&t.issues.push(...wt(n,e.issues)),t.value[n]=e.value}var Cr=R(`$ZodArray`,(e,t)=>{U.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>Sr(t,n,e))):Sr(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function wr(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...wt(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function Tr(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=pt(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Er(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>wr(e,n,i,t,u,d))):wr(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var Dr=R(`$ZodObject`,(e,t)=>{if(U.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}let n=Ze(()=>Tr(t));z(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=ot,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>wr(n,t,e,s,r,i))):wr(a,t,e,s,r,i)}return i?Er(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),Or=R(`$ZodObjectJIT`,(e,t)=>{Dr.init(e,t);let n=e._zod.parse,r=Ze(()=>Tr(t)),i=e=>{let t=new Hn([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=rt(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=rt(r),s=e[r],c=s?._zod?.optin===`optional`,l=s?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),c&&l?t.write(`
|
|
4
|
-
if (${n}.issues.length) {
|
|
5
|
-
if (${o} in input) {
|
|
6
|
-
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
7
|
-
...iss,
|
|
8
|
-
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
9
|
-
})));
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
if (${n}.value === undefined) {
|
|
14
|
-
if (${o} in input) {
|
|
15
|
-
newResult[${o}] = undefined;
|
|
16
|
-
}
|
|
17
|
-
} else {
|
|
18
|
-
newResult[${o}] = ${n}.value;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
`):c?t.write(`
|
|
22
|
-
if (${n}.issues.length) {
|
|
23
|
-
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
24
|
-
...iss,
|
|
25
|
-
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
26
|
-
})));
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if (${n}.value === undefined) {
|
|
30
|
-
if (${o} in input) {
|
|
31
|
-
newResult[${o}] = undefined;
|
|
32
|
-
}
|
|
33
|
-
} else {
|
|
34
|
-
newResult[${o}] = ${n}.value;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
`):t.write(`
|
|
38
|
-
const ${n}_present = ${o} in input;
|
|
39
|
-
if (${n}.issues.length) {
|
|
40
|
-
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
41
|
-
...iss,
|
|
42
|
-
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
43
|
-
})));
|
|
44
|
-
}
|
|
45
|
-
if (!${n}_present && !${n}.issues.length) {
|
|
46
|
-
payload.issues.push({
|
|
47
|
-
code: "invalid_type",
|
|
48
|
-
expected: "nonoptional",
|
|
49
|
-
input: undefined,
|
|
50
|
-
path: [${o}]
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
if (${n}_present) {
|
|
55
|
-
if (${n}.value === undefined) {
|
|
56
|
-
newResult[${o}] = undefined;
|
|
57
|
-
} else {
|
|
58
|
-
newResult[${o}] = ${n}.value;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
`)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=ot,s=!qe.jitless,c=s&&st.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?Er([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function kr(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!St(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Et(e,r,Je())))}),t)}var Ar=R(`$ZodUnion`,(e,t)=>{U.init(e,t),z(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),z(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),z(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),z(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>$e(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>kr(t,r,e,i)):kr(o,r,e,i)}}),jr=R(`$ZodIntersection`,(e,t)=>{U.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Nr(e,t,n)):Nr(e,i,a)}});function Mr(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(ct(e)&&ct(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Mr(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Mr(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Nr(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),St(e))return e;let o=Mr(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var Pr=R(`$ZodEnum`,(e,t)=>{U.init(e,t);let n=Ye(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>ut.has(typeof e)).map(e=>typeof e==`string`?dt(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),Fr=R(`$ZodTransform`,(e,t)=>{U.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Ke(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new Ge;return n.value=i,n.fallback=!0,n}});function Ir(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var Lr=R(`$ZodOptional`,(e,t)=>{U.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,z(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),z(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${$e(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>Ir(e,r)):Ir(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),Rr=R(`$ZodExactOptional`,(e,t)=>{Lr.init(e,t),z(e._zod,`values`,()=>t.innerType._zod.values),z(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),zr=R(`$ZodNullable`,(e,t)=>{U.init(e,t),z(e._zod,`optin`,()=>t.innerType._zod.optin),z(e._zod,`optout`,()=>t.innerType._zod.optout),z(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${$e(e.source)}|null)$`):void 0}),z(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),Br=R(`$ZodDefault`,(e,t)=>{U.init(e,t),e._zod.optin=`optional`,z(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>Vr(e,t)):Vr(r,t)}});function Vr(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Hr=R(`$ZodPrefault`,(e,t)=>{U.init(e,t),e._zod.optin=`optional`,z(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),Ur=R(`$ZodNonOptional`,(e,t)=>{U.init(e,t),z(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>Wr(t,e)):Wr(i,e)}});function Wr(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var Gr=R(`$ZodCatch`,(e,t)=>{U.init(e,t),e._zod.optin=`optional`,z(e._zod,`optout`,()=>t.innerType._zod.optout),z(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Et(e,n,Je()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Et(e,n,Je()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),Kr=R(`$ZodPipe`,(e,t)=>{U.init(e,t),z(e._zod,`values`,()=>t.in._zod.values),z(e._zod,`optin`,()=>t.in._zod.optin),z(e._zod,`optout`,()=>t.out._zod.optout),z(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>qr(e,t.in,n)):qr(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>qr(e,t.out,n)):qr(r,t.out,n)}});function qr(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var Jr=R(`$ZodReadonly`,(e,t)=>{U.init(e,t),z(e._zod,`propValues`,()=>t.innerType._zod.propValues),z(e._zod,`values`,()=>t.innerType._zod.values),z(e._zod,`optin`,()=>t.innerType?._zod?.optin),z(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Yr):Yr(r)}});function Yr(e){return e.value=Object.freeze(e.value),e}var Xr=R(`$ZodLazy`,(e,t)=>{U.init(e,t),z(e._zod,`innerType`,()=>{let e=t;return e._cachedInner||=t.getter(),e._cachedInner}),z(e._zod,`pattern`,()=>e._zod.innerType?._zod?.pattern),z(e._zod,`propValues`,()=>e._zod.innerType?._zod?.propValues),z(e._zod,`optin`,()=>e._zod.innerType?._zod?.optin??void 0),z(e._zod,`optout`,()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n)}),Zr=R(`$ZodCustom`,(e,t)=>{H.init(e,t),U.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Qr(t,n,r,e));Qr(i,n,r,e)}});function Qr(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(Ot(e))}}var $r,ei=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function ti(){return new ei}($r=globalThis).__zod_globalRegistry??($r.__zod_globalRegistry=ti());var ni=globalThis.__zod_globalRegistry;function ri(e,t){return new e({type:`string`,...V(t)})}function ii(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...V(t)})}function ai(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...V(t)})}function oi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...V(t)})}function si(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...V(t)})}function ci(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...V(t)})}function li(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...V(t)})}function ui(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...V(t)})}function di(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...V(t)})}function fi(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...V(t)})}function pi(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...V(t)})}function mi(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...V(t)})}function hi(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...V(t)})}function gi(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...V(t)})}function _i(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...V(t)})}function vi(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...V(t)})}function yi(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...V(t)})}function bi(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...V(t)})}function xi(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...V(t)})}function Si(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...V(t)})}function Ci(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...V(t)})}function wi(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...V(t)})}function Ti(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...V(t)})}function Ei(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...V(t)})}function Di(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...V(t)})}function Oi(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...V(t)})}function ki(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...V(t)})}function Ai(e,t){return new e({type:`number`,checks:[],...V(t)})}function ji(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...V(t)})}function Mi(e,t){return new e({type:`boolean`,...V(t)})}function Ni(e){return new e({type:`unknown`})}function Pi(e,t){return new e({type:`never`,...V(t)})}function Fi(e,t){return new Dn({check:`less_than`,...V(t),value:e,inclusive:!1})}function Ii(e,t){return new Dn({check:`less_than`,...V(t),value:e,inclusive:!0})}function Li(e,t){return new On({check:`greater_than`,...V(t),value:e,inclusive:!1})}function Ri(e,t){return new On({check:`greater_than`,...V(t),value:e,inclusive:!0})}function zi(e,t){return new kn({check:`multiple_of`,...V(t),value:e})}function Bi(e,t){return new jn({check:`max_length`,...V(t),maximum:e})}function Vi(e,t){return new Mn({check:`min_length`,...V(t),minimum:e})}function Hi(e,t){return new Nn({check:`length_equals`,...V(t),length:e})}function Ui(e,t){return new Fn({check:`string_format`,format:`regex`,...V(t),pattern:e})}function Wi(e){return new In({check:`string_format`,format:`lowercase`,...V(e)})}function Gi(e){return new Ln({check:`string_format`,format:`uppercase`,...V(e)})}function Ki(e,t){return new Rn({check:`string_format`,format:`includes`,...V(t),includes:e})}function qi(e,t){return new zn({check:`string_format`,format:`starts_with`,...V(t),prefix:e})}function Ji(e,t){return new Bn({check:`string_format`,format:`ends_with`,...V(t),suffix:e})}function Yi(e){return new Vn({check:`overwrite`,tx:e})}function Xi(e){return Yi(t=>t.normalize(e))}function Zi(){return Yi(e=>e.trim())}function Qi(){return Yi(e=>e.toLowerCase())}function $i(){return Yi(e=>e.toUpperCase())}function ea(){return Yi(e=>it(e))}function ta(e,t,n){return new e({type:`array`,element:t,...V(n)})}function na(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...V(n)})}function ra(e,t){let n=ia(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(Ot(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=t.value,r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(Ot(r))}},e(t.value,t)),t);return n}function ia(e,t){let n=new H({check:`custom`,...V(t)});return n._zod.check=e,n}function aa(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??ni,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function G(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,G(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&K(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function oa(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
|
|
63
|
-
|
|
64
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function sa(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,o[e.defId]=e.def)}e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:la(t,`input`,e.processors),output:la(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function K(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return K(r.element,n);if(r.type===`set`)return K(r.valueType,n);if(r.type===`lazy`)return K(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`)return K(r.innerType,n);if(r.type===`intersection`)return K(r.left,n)||K(r.right,n);if(r.type===`record`||r.type===`map`)return K(r.keyType,n)||K(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:K(r.in,n)||K(r.out,n);if(r.type===`object`){for(let e in r.shape)if(K(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(K(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(K(e,n))return!0;return!!(r.rest&&K(r.rest,n))}return!1}var ca=(e,t={})=>n=>{let r=aa({...n,processors:t});return G(e,r),oa(r,e),sa(r,e)},la=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=aa({...i??{},target:a,io:t,processors:n});return G(e,o),oa(o,e),sa(o,e)},ua={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},da=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=ua[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},fa=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;i.type=typeof s==`string`&&s.includes(`int`)?`integer`:`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(i.multipleOf=c)},pa=(e,t,n,r)=>{n.type=`boolean`},ma=(e,t,n,r)=>{n.not={}},ha=(e,t,n,r)=>{let i=e._zod.def,a=Ye(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},ga=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},_a=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},va=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=G(a.element,t,{...r,path:[...r.path,`items`]})},ya=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=G(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=G(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},ba=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>G(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},xa=(e,t,n,r)=>{let i=e._zod.def,a=G(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=G(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},Sa=(e,t,n,r)=>{let i=e._zod.def,a=G(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Ca=(e,t,n,r)=>{let i=e._zod.def;G(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},wa=(e,t,n,r)=>{let i=e._zod.def;G(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Ta=(e,t,n,r)=>{let i=e._zod.def;G(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Ea=(e,t,n,r)=>{let i=e._zod.def;G(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Da=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;G(o,t,r);let s=t.seen.get(e);s.ref=o},Oa=(e,t,n,r)=>{let i=e._zod.def;G(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},ka=(e,t,n,r)=>{let i=e._zod.def;G(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Aa=(e,t,n,r)=>{let i=e._zod.innerType;G(i,t,r);let a=t.seen.get(e);a.ref=i},ja=R(`ZodISODateTime`,(e,t)=>{nr.init(e,t),X.init(e,t)});function Ma(e){return Ei(ja,e)}var Na=R(`ZodISODate`,(e,t)=>{rr.init(e,t),X.init(e,t)});function Pa(e){return Di(Na,e)}var Fa=R(`ZodISOTime`,(e,t)=>{ir.init(e,t),X.init(e,t)});function Ia(e){return Oi(Fa,e)}var La=R(`ZodISODuration`,(e,t)=>{ar.init(e,t),X.init(e,t)});function Ra(e){return ki(La,e)}var q=R(`ZodError`,(e,t)=>{At.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Nt(e,t)},flatten:{value:t=>Mt(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Xe,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Xe,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),za=Pt(q),Ba=Ft(q),Va=It(q),Ha=Rt(q),Ua=Bt(q),Wa=Vt(q),Ga=Ht(q),Ka=Ut(q),qa=Wt(q),Ja=Gt(q),Ya=Kt(q),Xa=qt(q),Za=new WeakMap;function Qa(e,t,n){let r=Object.getPrototypeOf(e),i=Za.get(r);if(i||(i=new Set,Za.set(r,i)),!i.has(t)){i.add(t);for(let e in n){let t=n[e];Object.defineProperty(r,e,{configurable:!0,enumerable:!1,get(){let n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var J=R(`ZodType`,(e,t)=>(U.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:la(e,`input`),output:la(e,`output`)}}),e.toJSONSchema=ca(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>za(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Va(e,t,n),e.parseAsync=async(t,n)=>Ba(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Ha(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Ua(e,t,n),e.decode=(t,n)=>Wa(e,t,n),e.encodeAsync=async(t,n)=>Ga(e,t,n),e.decodeAsync=async(t,n)=>Ka(e,t,n),e.safeEncode=(t,n)=>qa(e,t,n),e.safeDecode=(t,n)=>Ja(e,t,n),e.safeEncodeAsync=async(t,n)=>Ya(e,t,n),e.safeDecodeAsync=async(t,n)=>Xa(e,t,n),Qa(e,`ZodType`,{check(...e){let t=this.def;return this.clone(B(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return ft(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(cs(e,t))},superRefine(e,t){return this.check(ls(e,t))},overwrite(e){return this.check(Yi(e))},optional(){return Ho(this)},exactOptional(){return Wo(this)},nullable(){return Ko(this)},nullish(){return Ho(Ko(this))},nonoptional(e){return Qo(this,e)},array(){return Q(this)},or(e){return Po([this,e])},and(e){return Io(this,e)},transform(e){return ns(this,Bo(e))},default(e){return Jo(this,e)},prefault(e){return Xo(this,e)},catch(e){return es(this,e)},pipe(e){return ns(this,e)},readonly(){return is(this)},describe(e){let t=this.clone();return ni.add(t,{description:e}),t},meta(...e){if(e.length===0)return ni.get(this);let t=this.clone();return ni.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get(){return ni.get(e)?.description},configurable:!0}),e)),$a=R(`_ZodString`,(e,t)=>{Wn.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>da(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,Qa(e,`_ZodString`,{regex(...e){return this.check(Ui(...e))},includes(...e){return this.check(Ki(...e))},startsWith(...e){return this.check(qi(...e))},endsWith(...e){return this.check(Ji(...e))},min(...e){return this.check(Vi(...e))},max(...e){return this.check(Bi(...e))},length(...e){return this.check(Hi(...e))},nonempty(...e){return this.check(Vi(1,...e))},lowercase(e){return this.check(Wi(e))},uppercase(e){return this.check(Gi(e))},trim(){return this.check(Zi())},normalize(...e){return this.check(Xi(...e))},toLowerCase(){return this.check(Qi())},toUpperCase(){return this.check($i())},slugify(){return this.check(ea())}})}),eo=R(`ZodString`,(e,t)=>{Wn.init(e,t),$a.init(e,t),e.email=t=>e.check(ii(to,t)),e.url=t=>e.check(ui(io,t)),e.jwt=t=>e.check(Ti(xo,t)),e.emoji=t=>e.check(di(oo,t)),e.guid=t=>e.check(ai(no,t)),e.uuid=t=>e.check(oi(ro,t)),e.uuidv4=t=>e.check(si(ro,t)),e.uuidv6=t=>e.check(ci(ro,t)),e.uuidv7=t=>e.check(li(ro,t)),e.nanoid=t=>e.check(fi(so,t)),e.guid=t=>e.check(ai(no,t)),e.cuid=t=>e.check(pi(co,t)),e.cuid2=t=>e.check(mi(lo,t)),e.ulid=t=>e.check(hi(uo,t)),e.base64=t=>e.check(Si(vo,t)),e.base64url=t=>e.check(Ci(yo,t)),e.xid=t=>e.check(gi(fo,t)),e.ksuid=t=>e.check(_i(po,t)),e.ipv4=t=>e.check(vi(mo,t)),e.ipv6=t=>e.check(yi(ho,t)),e.cidrv4=t=>e.check(bi(go,t)),e.cidrv6=t=>e.check(xi(_o,t)),e.e164=t=>e.check(wi(bo,t)),e.datetime=t=>e.check(Ma(t)),e.date=t=>e.check(Pa(t)),e.time=t=>e.check(Ia(t)),e.duration=t=>e.check(Ra(t))});function Y(e){return ri(eo,e)}var X=R(`ZodStringFormat`,(e,t)=>{W.init(e,t),$a.init(e,t)}),to=R(`ZodEmail`,(e,t)=>{qn.init(e,t),X.init(e,t)}),no=R(`ZodGUID`,(e,t)=>{Gn.init(e,t),X.init(e,t)}),ro=R(`ZodUUID`,(e,t)=>{Kn.init(e,t),X.init(e,t)}),io=R(`ZodURL`,(e,t)=>{Jn.init(e,t),X.init(e,t)});function ao(e){return ui(io,e)}var oo=R(`ZodEmoji`,(e,t)=>{Yn.init(e,t),X.init(e,t)}),so=R(`ZodNanoID`,(e,t)=>{Xn.init(e,t),X.init(e,t)}),co=R(`ZodCUID`,(e,t)=>{Zn.init(e,t),X.init(e,t)}),lo=R(`ZodCUID2`,(e,t)=>{Qn.init(e,t),X.init(e,t)}),uo=R(`ZodULID`,(e,t)=>{$n.init(e,t),X.init(e,t)}),fo=R(`ZodXID`,(e,t)=>{er.init(e,t),X.init(e,t)}),po=R(`ZodKSUID`,(e,t)=>{tr.init(e,t),X.init(e,t)}),mo=R(`ZodIPv4`,(e,t)=>{or.init(e,t),X.init(e,t)}),ho=R(`ZodIPv6`,(e,t)=>{sr.init(e,t),X.init(e,t)}),go=R(`ZodCIDRv4`,(e,t)=>{cr.init(e,t),X.init(e,t)}),_o=R(`ZodCIDRv6`,(e,t)=>{lr.init(e,t),X.init(e,t)}),vo=R(`ZodBase64`,(e,t)=>{dr.init(e,t),X.init(e,t)}),yo=R(`ZodBase64URL`,(e,t)=>{pr.init(e,t),X.init(e,t)}),bo=R(`ZodE164`,(e,t)=>{mr.init(e,t),X.init(e,t)}),xo=R(`ZodJWT`,(e,t)=>{gr.init(e,t),X.init(e,t)}),So=R(`ZodNumber`,(e,t)=>{_r.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fa(e,t,n,r),Qa(e,`ZodNumber`,{gt(e,t){return this.check(Li(e,t))},gte(e,t){return this.check(Ri(e,t))},min(e,t){return this.check(Ri(e,t))},lt(e,t){return this.check(Fi(e,t))},lte(e,t){return this.check(Ii(e,t))},max(e,t){return this.check(Ii(e,t))},int(e){return this.check(wo(e))},safe(e){return this.check(wo(e))},positive(e){return this.check(Li(0,e))},nonnegative(e){return this.check(Ri(0,e))},negative(e){return this.check(Fi(0,e))},nonpositive(e){return this.check(Ii(0,e))},multipleOf(e,t){return this.check(zi(e,t))},step(e,t){return this.check(zi(e,t))},finite(){return this}});let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Z(e){return Ai(So,e)}var Co=R(`ZodNumberFormat`,(e,t)=>{vr.init(e,t),So.init(e,t)});function wo(e){return ji(Co,e)}var To=R(`ZodBoolean`,(e,t)=>{yr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pa(e,t,n,r)});function Eo(e){return Mi(To,e)}var Do=R(`ZodUnknown`,(e,t)=>{br.init(e,t),J.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Oo(){return Ni(Do)}var ko=R(`ZodNever`,(e,t)=>{xr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ma(e,t,n,r)});function Ao(e){return Pi(ko,e)}var jo=R(`ZodArray`,(e,t)=>{Cr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>va(e,t,n,r),e.element=t.element,Qa(e,`ZodArray`,{min(e,t){return this.check(Vi(e,t))},nonempty(e){return this.check(Vi(1,e))},max(e,t){return this.check(Bi(e,t))},length(e,t){return this.check(Hi(e,t))},unwrap(){return this.element}})});function Q(e,t){return ta(jo,e,t)}var Mo=R(`ZodObject`,(e,t)=>{Or.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ya(e,t,n,r),z(e,`shape`,()=>t.shape),Qa(e,`ZodObject`,{keyof(){return Ro(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:Oo()})},loose(){return this.clone({...this._zod.def,catchall:Oo()})},strict(){return this.clone({...this._zod.def,catchall:Ao()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return _t(this,e)},safeExtend(e){return vt(this,e)},merge(e){return yt(this,e)},pick(e){return ht(this,e)},omit(e){return gt(this,e)},partial(...e){return bt(Vo,this,e[0])},required(...e){return xt(Zo,this,e[0])}})});function $(e,t){return new Mo({type:`object`,shape:e??{},...V(t)})}var No=R(`ZodUnion`,(e,t)=>{Ar.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ba(e,t,n,r),e.options=t.options});function Po(e,t){return new No({type:`union`,options:e,...V(t)})}var Fo=R(`ZodIntersection`,(e,t)=>{jr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xa(e,t,n,r)});function Io(e,t){return new Fo({type:`intersection`,left:e,right:t})}var Lo=R(`ZodEnum`,(e,t)=>{Pr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ha(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Lo({...t,checks:[],...V(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Lo({...t,checks:[],...V(r),entries:i})}});function Ro(e,t){return new Lo({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...V(t)})}var zo=R(`ZodTransform`,(e,t)=>{Fr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_a(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Ke(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Ot(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(Ot(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=i,n.fallback=!0,n)}});function Bo(e){return new zo({type:`transform`,transform:e})}var Vo=R(`ZodOptional`,(e,t)=>{Lr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ka(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ho(e){return new Vo({type:`optional`,innerType:e})}var Uo=R(`ZodExactOptional`,(e,t)=>{Rr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ka(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Wo(e){return new Uo({type:`optional`,innerType:e})}var Go=R(`ZodNullable`,(e,t)=>{zr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Sa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ko(e){return new Go({type:`nullable`,innerType:e})}var qo=R(`ZodDefault`,(e,t)=>{Br.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Jo(e,t){return new qo({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():lt(t)}})}var Yo=R(`ZodPrefault`,(e,t)=>{Hr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ta(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Xo(e,t){return new Yo({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():lt(t)}})}var Zo=R(`ZodNonOptional`,(e,t)=>{Ur.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ca(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Qo(e,t){return new Zo({type:`nonoptional`,innerType:e,...V(t)})}var $o=R(`ZodCatch`,(e,t)=>{Gr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ea(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function es(e,t){return new $o({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var ts=R(`ZodPipe`,(e,t)=>{Kr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Da(e,t,n,r),e.in=t.in,e.out=t.out});function ns(e,t){return new ts({type:`pipe`,in:e,out:t})}var rs=R(`ZodReadonly`,(e,t)=>{Jr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function is(e){return new rs({type:`readonly`,innerType:e})}var as=R(`ZodLazy`,(e,t)=>{Xr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Aa(e,t,n,r),e.unwrap=()=>e._zod.def.getter()});function os(e){return new as({type:`lazy`,getter:e})}var ss=R(`ZodCustom`,(e,t)=>{Zr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ga(e,t,n,r)});function cs(e,t={}){return na(ss,e,t)}function ls(e,t){return ra(e,t)}var us=$({dataTestId:Y().nullish(),dataCy:Y().nullish(),ariaLabel:Y().nullish(),ariaRole:Y().nullish(),id:Y().nullish(),name:Y().nullish(),placeholder:Y().nullish(),cssStable:Y().nullish(),xpath:Y().nullish(),text:Y().nullish(),finder:Y().nullish()}),ds=$({assertType:Y().optional(),expectedValue:Y().nullable().optional()});$({type:Y(),url:Y(),timestamp:Z().optional(),selectors:us.nullable().optional(),label:Y().nullable().optional(),value:Y().nullable().optional(),sensitive:Eo().optional(),tagName:Y().nullable().optional(),innerText:Y().nullable().optional(),inputType:Y().nullable().optional(),html:Y().nullable().optional(),checked:Eo().optional(),assert:ds.optional()});var fs=$({cookies:Q(Oo()),origins:Q(Oo())}),ps=$({event:Y().optional(),type:Y().optional(),url:Y().optional(),html:Y().nullable().optional(),label:Y().nullable().optional(),innerText:Y().nullable().optional(),value:Y().nullable().optional(),sensitive:Eo().optional(),selectors:$({dataTestId:Y().nullable().optional(),text:Y().nullable().optional(),placeholder:Y().nullable().optional(),cssStable:Y().nullable().optional()}).passthrough().nullable().optional(),sessionId:Y().nullable().optional(),timestamp:Z().optional(),recordingStartedAt:Z().optional(),storageState:os(()=>fs).nullable().optional(),inputType:Y().nullable().optional()}).passthrough(),ms=$({title:Y(),spec:Y(),feature:Y().nullable(),tags:Q(Y()),domain:Y().nullable()}),hs=$({title:Y(),status:Ro([`waiting`,`running`,`success`,`failed`]),duration_ms:Z(),error:Y().nullable()}),gs=$({started_at:Y(),duration_ms:Z(),passed:Eo(),branch:Y().nullable(),author:Y().nullable(),steps:Q(hs),playwright:Y(),video_path:Y().nullable()});ms.extend({playwright:Y(),gherkin:Y().nullable(),events:Q(ps),updated_at:Y(),is_auth:Eo(),runs:Q(gs)}),$({title:Y().min(1,`O título do cenário é obrigatório.`).max(120),path:Y().min(1,`O caminho do arquivo é obrigatório.`).max(80),domain:Y().max(80).nullable().optional(),gherkin:Y().nullable().optional(),playwright:Y().min(1,`O teste Playwright é obrigatório.`),tags:Q(Y()).optional()}),$({step:Y().min(1,`O passo que falhou é obrigatório.`),error:Y().min(1,`O erro da execução é obrigatório.`)}).extend({scenarioId:Y().min(1)}),$({scenarioId:Y().min(1)}),$({playwright:Y(),summary:Y()}),$({event:Y(),currentSelector:Y(),suggestedTestId:Y(),reason:Y()}),$({spec:Y().optional(),grep:Y().optional()}).passthrough(),$({passed:Eo(),output:Y()});var _s=$({name:Y().trim().min(1,`O nome é obrigatório.`).max(255,`O nome não pode ter mais de 255 caracteres.`).refine(e=>/[\p{L}\p{N}]/u.test(e),`O nome deve conter ao menos um caractere alfanumérico.`)}),vs=$({url:Y().trim().min(1,`A URL do repositório é obrigatória.`),name:Y().trim().max(255,`O nome não pode ter mais de 255 caracteres.`).optional(),branch:Y().trim().max(255,`A branch não pode ter mais de 255 caracteres.`).optional(),auth:Ro([`public`,`token`,`ssh_key`]).default(`public`),token:Y().trim().optional(),ssh_key:Y().trim().optional()}).superRefine((e,t)=>{e.auth===`token`&&!e.token&&t.addIssue({code:`custom`,path:[`token`],message:`O token é obrigatório para autenticação por token.`}),e.auth===`ssh_key`&&!e.ssh_key&&t.addIssue({code:`custom`,path:[`ssh_key`],message:`A chave SSH é obrigatória para autenticação por chave.`})}),ys=$({name:Y(),slug:Y(),path:Y(),repository:Y().nullable(),provider:Ro([`github`,`gitlab`]).nullable(),created_at:Y()});ys.extend({branch:Y().nullable(),updated_at:Y(),scenarios:Q(ms),auth_status:Ro([`unset`,`skipped`,`configured`,`failing`]),base_url:Y().nullable(),storage_state:Y(),requires_url:Eo(),vscode_url:Y(),has_report:Eo()});var bs=$({current_page:Z().int().nonnegative(),per_page:Z().int().nonnegative(),total:Z().int().nonnegative()});$({data:Q(ys),meta:bs}),$({name:Y()}),$({baseUrl:ao(`A URL base deve ser uma URL válida.`)}),$({base_url:Y().nullable()});var xs=[`data-testid`],Ss=Object.assign(a({__name:`modal`,props:{open:{type:Boolean,default:!1},openModifiers:{},tab:{default:`template`},tabModifiers:{}},emits:[`update:open`,`update:tab`],setup(e){let n=S(e,`open`),r=S(e,`tab`),a=[{label:`Template`,value:`template`},{label:`Git`,value:`git`}],s=d({name:``}),c=d({url:``,name:``,branch:``,auth:`public`,token:``,ssh_key:``}),l=[{label:`Público`,value:`public`},{label:`Token`,value:`token`},{label:`Chave SSH`,value:`ssh_key`}],u=_(!1),f=_(),m=_(`idle`),h;D(()=>c.url,e=>{m.value=`idle`,clearTimeout(h),e.trim()&&(h=setTimeout(x,500))});function v(e){return e.startsWith(`https://`)||e.startsWith(`http://`)?`token`:e.startsWith(`git@`)||e.startsWith(`ssh://`)?`ssh_key`:c.auth}async function x(){let e=c.url.trim();m.value=`checking`;try{let t=await M(`/api/projects/probe`,{method:`POST`,body:{url:e}});if(e!==c.url.trim())return;m.value=t.public?`public`:`private`,c.auth=t.public?`public`:v(e)}catch{e===c.url.trim()&&(m.value=`idle`)}}D([()=>s.name,()=>c.url,()=>c.name,r],()=>{f.value=void 0});async function w(e){u.value=!0;try{let t=await e;n.value=!1,s.name=``,c.url=``,c.name=``,c.branch=``,c.auth=`public`,c.token=``,c.ssh_key=``,await ae(`/projects/${t.slug}`)}catch(e){f.value=P(e,`Não foi possível criar o projeto.`)}finally{u.value=!1}}function ee(e){return w(M(`/api/projects`,{method:`POST`,body:{name:e.data.name}}))}function T(e){return w(M(`/api/projects/clone`,{method:`POST`,body:{url:e.data.url,name:e.data.name||void 0,branch:e.data.branch||void 0,auth:e.data.auth,token:e.data.token||void 0,ssh_key:e.data.ssh_key||void 0}}))}return(e,d)=>{let h=Te,_=Ce,v=N,x=Be,S=Oe,w=L,te=Ue,E=be,D=we;return t(),g(D,{open:n.value,"onUpdate:open":d[9]||=e=>n.value=e,title:`Criar projeto`},{body:O(()=>[y(h,{modelValue:r.value,"onUpdate:modelValue":d[0]||=e=>r.value=e,items:a,content:!1,class:`mb-4 w-full`},{default:O(({item:e})=>[p(`span`,{"data-testid":`projeto-form-tab-${e.value}`},C(e.label),9,xs)]),_:1},8,[`modelValue`]),r.value===`template`?(t(),g(x,{key:0,id:`projeto-form`,schema:b(_s),state:b(s),"data-testid":`projeto-form`,class:`flex flex-col gap-4`,onSubmit:ee},{default:O(()=>[y(v,{label:`Nome`,name:`name`,error:b(f)},{default:O(()=>[y(_,{modelValue:b(s).name,"onUpdate:modelValue":d[1]||=e=>b(s).name=e,"data-testid":`projeto-form-nome`,placeholder:`Nome do projeto`,class:`w-full`},null,8,[`modelValue`])]),_:1},8,[`error`])]),_:1},8,[`schema`,`state`])):(t(),g(x,{key:1,id:`projeto-form`,schema:b(vs),state:b(c),"data-testid":`projeto-form`,class:`flex flex-col gap-4`,onSubmit:T},{default:O(()=>[y(v,{label:`URL do repositório`,name:`url`,error:b(f)},{default:O(()=>[y(_,{modelValue:b(c).url,"onUpdate:modelValue":d[2]||=e=>b(c).url=e,loading:b(m)===`checking`,"data-testid":`projeto-form-url`,placeholder:`https://github.com/usuario/repositorio.git`,class:`w-full`},null,8,[`modelValue`,`loading`])]),_:1},8,[`error`]),y(v,{label:`Nome`,name:`name`,hint:`Opcional`},{default:O(()=>[y(_,{modelValue:b(c).name,"onUpdate:modelValue":d[3]||=e=>b(c).name=e,"data-testid":`projeto-form-git-nome`,placeholder:`Derivado da URL`,class:`w-full`},null,8,[`modelValue`])]),_:1}),y(v,{label:`Branch`,name:`branch`,hint:`Opcional`},{default:O(()=>[y(_,{modelValue:b(c).branch,"onUpdate:modelValue":d[4]||=e=>b(c).branch=e,"data-testid":`projeto-form-branch`,placeholder:`Branch padrão do repositório`,class:`w-full`},null,8,[`modelValue`])]),_:1}),b(m)===`public`?(t(),g(S,{key:0,color:`success`,variant:`soft`,icon:`i-ic-round-public`,"data-testid":`projeto-form-publico`},{default:O(()=>[...d[10]||=[o(` Repositório público, sem autenticação `,-1)]]),_:1})):(t(),g(v,{key:1,label:`Autenticação`,name:`auth`},{default:O(()=>[y(w,{modelValue:b(c).auth,"onUpdate:modelValue":d[5]||=e=>b(c).auth=e,items:l,"data-testid":`projeto-form-auth`,class:`w-full`},null,8,[`modelValue`])]),_:1})),b(c).auth===`token`?(t(),g(v,{key:2,label:`Token`,name:`token`},{default:O(()=>[y(_,{modelValue:b(c).token,"onUpdate:modelValue":d[6]||=e=>b(c).token=e,type:`password`,"data-testid":`projeto-form-token`,placeholder:`Token de acesso ao repositório`,class:`w-full`},null,8,[`modelValue`])]),_:1})):i(``,!0),b(c).auth===`ssh_key`?(t(),g(v,{key:3,label:`Chave SSH`,name:`ssh_key`},{default:O(()=>[y(te,{modelValue:b(c).ssh_key,"onUpdate:modelValue":d[7]||=e=>b(c).ssh_key=e,rows:3,maxrows:10,autoresize:``,"data-testid":`projeto-form-ssh`,placeholder:`Chave privada com acesso ao repositório`,class:`w-full`},null,8,[`modelValue`])]),_:1})):i(``,!0)]),_:1},8,[`schema`,`state`]))]),footer:O(()=>[y(E,{label:`Cancelar`,color:`neutral`,variant:`ghost`,"data-testid":`projeto-form-cancelar`,onClick:d[8]||=e=>n.value=!1}),y(E,{label:`Salvar`,type:`submit`,form:`projeto-form`,loading:b(u),"data-testid":`projeto-form-salvar`},null,8,[`loading`])]),_:1},8,[`open`])}}}),{__name:`ProjectFormModal`}),Cs={base:`animate-pulse rounded-md bg-elevated`},ws={__name:`USkeleton`,props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(e){let n=de(`skeleton`,e),r=I(),i=u(()=>le({extend:Cs,...r.ui?.skeleton||{}}));return(e,r)=>(t(),g(b(ce),{as:b(n).as,"aria-busy":`true`,"aria-label":`loading`,"aria-live":`polite`,role:`alert`,class:k(i.value({class:[b(n).ui?.base,b(n).class]}))},{default:O(()=>[l(e.$slots,`default`)]),_:3},8,[`as`,`class`]))}},Ts={"data-testid":`projeto-vazio`,class:`py-10 text-center`},Es={class:`grid grid-cols-1 sm:grid-cols-2 gap-4 max-w-xl mx-auto text-left`},Ds={class:`flex flex-col gap-2`},Os={class:`flex size-15 items-center justify-center rounded-lg bg-primary/10 mx-auto`},ks={class:`flex flex-col gap-2`},As={class:`flex size-15 items-center justify-center rounded-lg bg-primary/10 mx-auto`},js=Object.assign(a({__name:`empty`,emits:[`select`],setup(e,{emit:n}){let r=n;return(e,n)=>{let i=pe,a=Ae;return t(),s(`div`,Ts,[n[6]||=p(`p`,{class:`text-xl font-semibold`},` Nenhum projeto por aqui ainda `,-1),n[7]||=p(`p`,{class:`text-muted mb-6`},` Escolha como começar: `,-1),p(`div`,Es,[y(a,{"data-testid":`projeto-vazio-template`,class:`cursor-pointer transition-colors hover:bg-accented/75`,onClick:n[0]||=e=>r(`select`,`template`)},{default:O(()=>[p(`div`,Ds,[p(`div`,Os,[y(i,{name:`i-ic-round-add`,class:`size-10 text-primary`})]),n[2]||=p(`p`,{class:`text-lg font-semibold text-center`},` Começar do zero `,-1),n[3]||=p(`p`,{class:`text-sm text-muted`},` Cria um projeto vazio, só com um nome. Você grava os cenários depois. `,-1)])]),_:1}),y(a,{"data-testid":`projeto-vazio-git`,class:`cursor-pointer transition-colors hover:bg-accented/75`,onClick:n[1]||=e=>r(`select`,`git`)},{default:O(()=>[p(`div`,ks,[p(`div`,As,[y(i,{name:`i-ic-round-cloud-download`,class:`size-10 text-primary`})]),n[4]||=p(`p`,{class:`text-lg font-semibold text-center`},` Importar de um Git `,-1),n[5]||=p(`p`,{class:`text-sm text-muted`},` Clona um repositório existente (público, com token ou SSH) e já traz o histórico. `,-1)])]),_:1})])])}}}),{__name:`ProjectEmpty`}),Ms={class:`flex flex-col gap-2`},Ns={class:`font-semibold truncate`},Ps=[`title`],Fs=Object.assign(a({__name:`card`,props:{project:{}},setup(e){let n=u(()=>Ee(e.project));return(r,i)=>{let a=Oe,o=Ae,s=F;return t(),g(s,{to:`/projects/${e.project.slug}`},{default:O(()=>[y(o,{"data-testid":`projeto-card`,class:`transition-colors hover:bg-accented/75`},{default:O(()=>[p(`div`,Ms,[p(`p`,Ns,C(e.project.name),1),p(`p`,{class:`text-sm text-muted truncate`,title:e.project.repository??void 0},C(e.project.path),9,Ps),y(a,{icon:b(n).icon,label:b(n).label,class:`self-start`,"data-testid":`projeto-origem`},null,8,[`icon`,`label`])])]),_:1})]),_:1},8,[`to`])}}}),{__name:`ProjectCard`}),Is={class:`text-3xl lg:text-4xl font-bold text-center mb-10`,"data-testid":`projeto-frase`},Ls={class:`flex flex-wrap items-center gap-4 mb-8`},Rs={key:0,class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4`},zs={key:3,class:`flex justify-center mt-8`},Bs=9,Vs=a({__name:`index`,async setup(e){let n,a,l=_(Bs),d=_(),f=_(),m=_(!1),h=_(``),x=_(``),S=_(1),te;D(h,e=>{clearTimeout(te),te=setTimeout(()=>{x.value=e,S.value=1},300)});let E=u(()=>({...x.value?{search:x.value}:{},"page[number]":S.value,"page[size]":l.value})),{data:k,status:ne}=([n,a]=T(()=>oe(`/api/projects`,{query:E},`$yhDhzWqC9C`)),n=await n,a(),n),ie=u(()=>k.value?.data??[]),ae=u(()=>k.value?.meta.total??0);function A(){let e=f.value,t=d.value?.firstElementChild,n=e?.firstElementChild;if(!e||!t||!n)return;let r=getComputedStyle(e),i=Number.parseFloat(r.rowGap)||0,a=r.gridTemplateColumns.split(` `).length,o=n.getBoundingClientRect().height;if(o<=0)return;let s=t.getBoundingClientRect().height-e.getBoundingClientRect().height,c=window.innerHeight-s,u=Math.max(1,Math.floor((c+i)/(o+i)))*a;u!==l.value&&(S.value=1,l.value=u)}D(ie,()=>w(A));let j=_(!1),M=_(`template`);function N(e){M.value=e,j.value=!0}let P=[`Testar na mão é coisa do passado`,`Seu último deploy foi um ato de fé?`,`Ou você acha os bugs, ou seus usuários acham`,`"Funciona na minha máquina" não é teste`,`Deploy sem teste é roleta-russa`,`Sexta-feira, 17h. Confia no deploy?`,`Quem não testa, testa em produção`,`Seus usuários não são seu QA`,`Coragem é dar deploy sem isso aqui`,`Bugs não se escondem de quem grava tudo`],F=se(`home-tagline`,()=>P[Math.floor(Math.random()*P.length)]),I=_(F.value??``),L=!0,ce=e=>new Promise(t=>setTimeout(t,e));async function le(){let e=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;for(;L;){if(await ce(6e3),!L)return;let t=P.filter(e=>e!==I.value),n=t[Math.floor(Math.random()*t.length)]??``;if(e){I.value=n;continue}for(;L&&I.value.length>0;)I.value=I.value.slice(0,-1),await ce(25);for(let e=1;L&&e<=n.length;e++)I.value=n.slice(0,e),await ce(55)}}return re(()=>{m.value=!0,A(),window.addEventListener(`resize`,A),le()}),ee(()=>{L=!1,window.removeEventListener(`resize`,A)}),(e,n)=>{let a=Ce,u=be,_=Ss,x=ws,w=js,ee=Fs,T=De,te=ke;return t(),s(`div`,{ref_key:`viewport`,ref:d,class:`flex flex-col min-h-screen`},[y(te,{"data-hydrated":b(m),class:`my-auto py-6 lg:py-10`},{default:O(()=>[p(`h1`,Is,[o(C(b(I)),1),n[5]||=p(`span`,{class:`animate-pulse font-light text-muted`,"aria-hidden":`true`},`|`,-1)]),p(`div`,Ls,[y(a,{modelValue:b(h),"onUpdate:modelValue":n[0]||=e=>r(h)?h.value=e:null,"data-testid":`projeto-busca`,icon:`i-ic-round-search`,placeholder:`Buscar projeto...`,class:`flex-1 min-w-48`},null,8,[`modelValue`]),y(u,{"data-testid":`projeto-adicionar`,label:`Adicionar`,"trailing-icon":`i-ic-round-add`,onClick:n[1]||=e=>j.value=!0})]),y(_,{open:b(j),"onUpdate:open":n[2]||=e=>r(j)?j.value=e:null,tab:b(M),"onUpdate:tab":n[3]||=e=>r(M)?M.value=e:null},null,8,[`open`,`tab`]),b(ne)===`pending`?(t(),s(`div`,Rs,[(t(!0),s(v,null,c(b(l),e=>(t(),g(x,{key:e,class:`h-32`}))),128))])):b(ie).length===0?(t(),g(w,{key:1,onSelect:N})):(t(),s(`div`,{key:2,ref_key:`grid`,ref:f,class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4`},[(t(!0),s(v,null,c(b(ie),e=>(t(),g(ee,{key:e.slug,project:e},null,8,[`project`]))),128))],512)),b(ie).length>0?(t(),s(`div`,zs,[y(T,{page:b(S),"onUpdate:page":n[4]||=e=>r(S)?S.value=e:null,"data-testid":`projeto-paginacao`,variant:`soft`,total:b(ae),"items-per-page":b(l)},null,8,[`page`,`total`,`items-per-page`])])):i(``,!0)]),_:1},8,[`data-hydrated`])],512)}}});export{Vs as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{At as e,En as t,F as n,G as r,H as i,I as a,It as o,M as s,N as c,P as l,Pn as u,S as d,U as f,Wn as p,Zt as m,_r as h,cn as g,ht as _,in as v,ln as y,pr as ee,wt as te}from"./DMHcp4U1.js";import{Y as ne,rt as re,tt as ie}from"./cRY3ZoRz.js";import{r as b,t as x}from"./CRH0iqnQ.js";import{n as S,t as C}from"./k5q7GKnv.js";import{n as ae,r as oe,t as se}from"./5GgR1mbX.js";import{r as ce}from"./C5uJN_MU.js";import{r as w}from"./Gcazu-lR.js";import{t as T}from"./BWJpSLJL.js";import{t as le}from"./Ch1EeKHP.js";import{t as E}from"./BMLYuU_e.js";import{n as ue,t as de}from"./DXLPf3t6.js";import{r as fe,t as pe}from"./XDsaI4JL.js";import{t as me}from"./ANcp5QFz.js";import{t as he}from"./BXpPYfMx.js";import{t as ge}from"./CTqLwyQP.js";import{t as D}from"./BuOb9NX0.js";import{t as _e}from"./tLr-SJaf.js";import{t as ve}from"./DtuQPKVG.js";import{i as ye,r as be,t as xe}from"./f0o80Gcm.js";import{t as Se}from"./C2KIeuhG.js";import{t as Ce}from"./DEJ3sRrh2.js";import{t as we}from"./DPM_BYFz2.js";import{n as Te,t as Ee}from"./CKps1Vc12.js";import{a as De,i as Oe,n as O,o as ke,r as k,t as Ae}from"./DDHUGtv32.js";var je=Object.assign(r({__name:`modal`,props:_({slug:{},scenario:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:_([`updated`],[`update:open`]),setup(r,{emit:i}){let a=m(r,`open`),o=i,c=u(k(r.scenario)),d=u(!1),h=u(null);v(a,e=>{e&&(c.value=k(r.scenario),h.value=null)});let g=s(()=>r.scenario.spec.replace(/^tests\//,``).replace(/\.(spec|setup)\.ts$/,``));async function _(){d.value=!0,h.value=null;try{let e=await b(`/api/projects/${r.slug}/scenarios/${g.value}`,{method:`PATCH`,body:c.value});a.value=!1,o(`updated`,e)}catch(e){h.value=C(e,`Não foi possível salvar o cenário.`)}finally{d.value=!1}}return(i,o)=>{let s=O,u=D,m=w,g=E;return e(),l(g,{open:a.value,"onUpdate:open":o[2]||=e=>a.value=e,title:r.scenario.is_auth?`Editar autenticação`:`Editar cenário`,wide:``},{body:y(()=>[f(s,{draft:p(c),"onUpdate:draft":o[0]||=e=>t(c)?c.value=e:null,"is-auth":r.scenario.is_auth},null,8,[`draft`,`is-auth`]),p(h)?(e(),l(u,{key:0,color:`error`,variant:`soft`,description:p(h),class:`mt-4`},null,8,[`description`])):n(``,!0)]),footer:y(()=>[f(m,{label:`Cancelar`,color:`neutral`,variant:`ghost`,"data-testid":`cenario-editar-cancelar`,onClick:o[1]||=e=>a.value=!1}),f(m,{label:`Salvar`,loading:p(d),"data-testid":`cenario-editar-salvar`,onClick:_},null,8,[`loading`])]),_:1},8,[`open`,`title`])}}}),{__name:`ScenarioEditModal`}),Me={class:`flex flex-col gap-4`,"data-testid":`auth-credenciais`},Ne=Object.assign(r({__name:`credentials`,props:_({slug:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:_([`saved`],[`update:open`]),setup(r,{emit:i}){let a=m(r,`open`),o=i,s=u(``),d=u(``),h=u(!1),g=u(null);v(a,e=>{e&&(s.value=``,d.value=``,g.value=null)});async function _(){h.value=!0,g.value=null;try{await b(`/api/projects/${r.slug}/auth/credentials`,{method:`POST`,body:{username:s.value,password:d.value}}),a.value=!1,o(`saved`)}catch{g.value=`Não foi possível salvar as credenciais. Tente novamente.`}finally{h.value=!1}}return(r,i)=>{let o=D,u=T,m=S,v=w,ee=E;return e(),l(ee,{open:a.value,"onUpdate:open":i[3]||=e=>a.value=e,dismissable:!1,title:`Credenciais do login`},{body:y(()=>[c(`div`,Me,[f(o,{color:`warning`,variant:`soft`,icon:`i-ic-round-key`,title:`Não identifiquei usuário e senha nesta gravação`,description:`O login é executado de novo a cada rodada de testes, então ele precisa das credenciais reais. Elas ficam só no .env local do projeto, que não é versionado.`}),f(m,{label:`Usuário`},{default:y(()=>[f(u,{modelValue:p(s),"onUpdate:modelValue":i[0]||=e=>t(s)?s.value=e:null,class:`w-full`,autocomplete:`off`,"data-testid":`auth-credenciais-usuario`},null,8,[`modelValue`])]),_:1}),f(m,{label:`Senha`},{default:y(()=>[f(u,{modelValue:p(d),"onUpdate:modelValue":i[1]||=e=>t(d)?d.value=e:null,class:`w-full`,type:`password`,autocomplete:`off`,"data-testid":`auth-credenciais-senha`},null,8,[`modelValue`])]),_:1}),p(g)?(e(),l(o,{key:0,color:`error`,variant:`soft`,description:p(g),"data-testid":`auth-credenciais-erro`},null,8,[`description`])):n(``,!0)])]),footer:y(()=>[f(v,{label:`Cancelar`,color:`neutral`,variant:`ghost`,"data-testid":`auth-credenciais-cancelar`,onClick:i[2]||=e=>a.value=!1}),f(v,{label:`Salvar e executar`,loading:p(h),disabled:!p(s)||!p(d),"data-testid":`auth-credenciais-salvar`,onClick:_},null,8,[`loading`,`disabled`])]),_:1},8,[`open`])}}}),{__name:`ProjectAuthCredentials`}),A={key:2,"data-testid":`correcao-proposta`},j={class:`mb-3 text-sm text-muted`,"data-testid":`correcao-resumo`},Pe=Object.assign(r({__name:`modal`,props:_({loading:{type:Boolean,default:!1},fix:{default:null},error:{default:null},applying:{type:Boolean,default:!1}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:_([`apply`,`discard`],[`update:open`]),setup(t,{emit:r}){let i=r,o=m(t,`open`);return(r,s)=>{let u=ve,d=D,p=Te,m=w,g=E;return e(),l(g,{open:o.value,"onUpdate:open":s[2]||=e=>o.value=e,title:`Correção proposta`,loading:t.loading,dismissable:!t.loading&&!t.applying,wide:``},{body:y(()=>[t.loading?(e(),l(u,{key:0,phrases:[`Analisando a falha`,`Procurando um seletor melhor`,`Reescrevendo o teste`],"data-testid":`correcao-carregando`})):t.error?(e(),l(d,{key:1,color:`error`,variant:`subtle`,icon:`i-ic-round-error`,title:`Não foi possível gerar a correção`,description:t.error,"data-testid":`correcao-erro`},null,8,[`description`])):t.fix?(e(),a(`div`,A,[c(`p`,j,h(t.fix.summary),1),f(p,{"model-value":t.fix.playwright,language:`typescript`,readonly:``,testid:`correcao-spec`},null,8,[`model-value`])])):n(``,!0)]),footer:y(()=>[f(m,{label:`Descartar`,color:`neutral`,variant:`ghost`,disabled:t.applying,"data-testid":`correcao-descartar`,onClick:s[0]||=e=>i(`discard`)},null,8,[`disabled`]),t.fix?(e(),l(m,{key:0,label:`Aplicar`,icon:`i-ic-round-check`,loading:t.applying,disabled:t.applying,"data-testid":`correcao-aplicar`,onClick:s[1]||=e=>i(`apply`)},null,8,[`loading`,`disabled`])):n(``,!0)]),_:1},8,[`open`,`loading`,`dismissable`])}}}),{__name:`ScenarioFixModal`}),Fe={class:`flex items-start justify-between gap-4`},Ie={class:`flex flex-col gap-1 min-w-0`},Le={class:`flex items-center gap-2`},Re={class:`text-2xl font-bold truncate`,"data-testid":`cenario-titulo`},ze={class:`text-sm text-muted italic truncate`,"data-testid":`cenario-caminho`},Be={class:`flex gap-2 shrink-0`},Ve={key:0,class:`flex flex-wrap gap-1 mt-4`,"data-testid":`cenario-tags`},He={key:1,class:`text-xs text-dimmed mt-2`},Ue={key:2,class:`mt-6 flex flex-col gap-3`},We={key:3,class:`mt-8 flex flex-col items-center gap-3 py-10 text-center`,"data-testid":`auth-intro`},Ge={class:`flex size-12 items-center justify-center rounded-lg bg-elevated`},Ke=[`data-testid`],qe={key:5,class:`mt-4`},M=r({__name:`[...scenario]`,async setup(r){let m,_,S=re(),T=s(()=>S.params.projectSlug),O=s(()=>S.params.scenario.join(`/`)),Me=u(!1);te(()=>{Me.value=!0});let{data:A,refresh:j}=([m,_]=g(()=>x(`/api/projects/${T.value}`,`$3yUoA-eM18`)),m=await m,_(),m),{data:M,refresh:N}=([m,_]=g(()=>x(`/api/projects/${T.value}/scenarios/${O.value}`,`$lM5rtpaVlj`)),m=await m,_(),m);if(!A.value||!M.value)throw ne({statusCode:404,message:`Cenário não encontrado.`});let Je=s(()=>de(A.value)),P=u(!1),F=u(!1);async function Ye(){F.value=!0;try{await b(`/api/projects/${T.value}/scenarios/${O.value}`,{method:`DELETE`}),await ie(`/projects/${T.value}`)}finally{F.value=!1}}let Xe=s(()=>new Date(M.value.updated_at).toLocaleString(`pt-BR`,{dateStyle:`short`,timeStyle:`short`})),{configured:I}=fe(),L=u(!1),R=u(!1),z=u(!1),B=u([]),V=u(null);v(R,async e=>{if(e){z.value=!0,V.value=null,B.value=[];try{B.value=await b(`/api/projects/${T.value}/scenario-suggestions`,{method:`POST`,body:{scenarioId:O.value}})}catch(e){V.value=C(e,`Não foi possível gerar sugestões agora. Tente novamente.`)}finally{z.value=!1}}});function Ze(e){return e.replace(/^tests\//,``).replace(/\.(spec|setup)\.ts$/,``)}async function Qe(e){if(Ze(e.spec)!==O.value){await ie(`/projects/${T.value}/scenarios/${Ze(e.spec)}`);return}await N()}let{steps:$e,running:H,passed:et,videoUrl:tt,testedAt:nt,output:rt,failedStep:it,start:at}=be(()=>T.value),U=u(!1),ot=u(null);function st(e){$e.value=e.steps.map(e=>({title:e.title,status:e.status,error:e.error})),tt.value=e.video_path?ye(e.video_path):null,nt.value=xe(new Date(e.started_at)),ot.value=e.playwright,et.value=e.passed,G.value=null,K.value=null,H.value=!1,U.value=!0}let W=u(!1),ct=u(!1),G=u(null),K=u(null),lt=u(!1);async function ut(){let e=it.value;if(e){U.value=!1,W.value=!0,ct.value=!0,G.value=null,K.value=null;try{G.value=await b(`/api/projects/${T.value}/scenario-fix`,{method:`POST`,body:{scenarioId:O.value,step:e.title,error:e.error??``}})}catch(e){K.value=C(e,`Não foi possível gerar uma correção agora. Tente novamente.`)}finally{ct.value=!1}}}async function dt(){if(G.value){lt.value=!0;try{await b(`/api/projects/${T.value}/scenarios/${O.value}`,{method:`PATCH`,body:{...k(M.value),playwright:G.value.playwright}}),G.value=null,W.value=!1,await N()}catch(e){K.value=C(e,`Não foi possível salvar a correção.`)}finally{lt.value=!1}}}function ft(){W.value=!1,G.value=null,K.value=null}function pt(){U.value=!0,ot.value=null,G.value=null,K.value=null,at({spec:M.value.spec},async()=>{await N(),J.value&&await j()})}let q=u(`eventos`),mt=s(()=>[{label:`Eventos`,value:`eventos`},...M.value.gherkin?[{label:`Cenário`,value:`gherkin`}]:[],{label:`Script`,value:`playwright`},{label:`Execuções`,value:`execucoes`}]);v(()=>M.value.gherkin,e=>{!e&&q.value===`gherkin`&&(q.value=`eventos`)});let J=s(()=>M.value.is_auth),Y=s(()=>!J.value||M.value.playwright.trim().length>0),{state:X,startRecording:ht,stopRecording:gt}=oe(),Z=u(!1),Q=u(!1),$=u(null),_t=u([]),vt=u(!1);async function yt(){vt.value=!0;try{await b(`/api/projects/${T.value}/auth/skip`,{method:`POST`}),await j()}finally{vt.value=!1}}let bt=[`Analisando os eventos gravados`,`Identificando os campos de usuário e senha`,`Escrevendo o fluxo de autenticação`];function xt(){$.value=null,_t.value=[],ht(`auth`,{url:A.value.base_url??void 0})}return v(()=>X.value.videoSessionId,async e=>{if(!e||!J.value)return;let t=ae(X.value.events);if(!t){$.value=`A gravação não registrou nenhuma página. Tente gravar novamente.`;return}Q.value=!0;try{let e=await b(`/api/projects/${T.value}/auth/record`,{method:`POST`,body:{baseUrl:t,events:X.value.events.map(e=>({type:e.type,timestamp:e.timestamp,url:e.url??null,selectors:e.selectors??null,label:e.label??null,value:e.value??null,inputType:e.inputType??null,html:e.html??null}))}});if(_t.value=e.warnings??[],await N(),e.credentialsNeeded){Z.value=!0;return}pt()}catch(e){console.error(`Falha ao gravar a autenticação:`,e),$.value=`Não foi possível gerar a autenticação a partir da gravação. Tente novamente.`}finally{Q.value=!1}}),(r,s)=>{let u=se,m=me,g=he,_=w,v=le,te=_e,ne=D,re=ke,ie=ce,b=ue,x=Se,S=De,C=Te,ae=Ce,oe=Oe,de=je,fe=we,ye=Ee,be=ve,xe=E,O=Ne,k=Pe,j=ge;return e(),l(j,{"data-hydrated":p(Me),class:`py-6 lg:py-10`},{default:y(()=>[c(`div`,Fe,[c(`div`,Ie,[c(`div`,Le,[f(u,{icon:`i-ic-round-arrow-back`,label:`Voltar`,variant:`ghost`,color:`neutral`,to:`/projects/${p(T)}`,"data-testid":`cenario-voltar`},null,8,[`to`]),f(m,{icon:p(Je).icon,label:p(Je).label,"data-testid":`cenario-origem`},null,8,[`icon`,`label`]),p(J)?(e(),l(g,{key:0,status:p(A).auth_status},null,8,[`status`])):n(``,!0)]),c(`h1`,Re,h(p(M).title),1),c(`p`,ze,h(p(M).spec),1)]),c(`div`,Be,[p(J)?n(``,!0):(e(),l(u,{key:0,icon:`i-ic-round-delete`,label:`Excluir`,color:`error`,variant:`soft`,"data-testid":`cenario-excluir`,onClick:s[0]||=e=>P.value=!0})),p(Y)?(e(),l(u,{key:1,icon:`i-ic-round-edit`,label:`Editar`,color:`neutral`,variant:`soft`,"data-testid":`cenario-editar`,onClick:s[1]||=e=>L.value=!0})):n(``,!0),p(J)?n(``,!0):(e(),l(v,{key:2,text:p(pe),disabled:p(I),"delay-duration":0,arrow:``},{default:y(()=>[c(`span`,null,[f(_,{label:`Ver sugestões`,"trailing-icon":`i-ic-round-auto-awesome`,color:`neutral`,variant:`soft`,disabled:!p(I),class:ee(p(I)?``:`pointer-events-none`),"data-testid":`cenario-sugestoes`,onClick:s[2]||=e=>R.value=!0},null,8,[`disabled`,`class`])])]),_:1},8,[`text`,`disabled`])),p(J)&&p(X).recording?(e(),l(_,{key:3,label:`Parar gravação`,"trailing-icon":`i-ic-round-stop`,color:`error`,class:`animate-pulse`,"data-testid":`cenario-parar`,onClick:p(gt)},null,8,[`onClick`])):p(J)&&p(Y)?(e(),l(_,{key:4,label:`Gravar novamente`,"trailing-icon":`i-ic-round-fiber-manual-record`,color:`neutral`,variant:`soft`,disabled:!p(X).connected,loading:p(Q),"data-testid":`auth-gravar`,onClick:xt},null,8,[`disabled`,`loading`])):n(``,!0),p(Y)?(e(),l(_,{key:5,label:`Testar`,"trailing-icon":`i-ic-round-play-arrow`,loading:p(H),"data-testid":`cenario-testar`,onClick:pt},null,8,[`loading`])):n(``,!0)])]),p(M).tags.length?(e(),a(`div`,Ve,[(e(!0),a(d,null,o(p(M).tags,t=>(e(),l(m,{key:t,color:p(Ae)(t),label:t},null,8,[`color`,`label`]))),128))])):n(``,!0),p(Y)?(e(),a(`p`,He,` Última modificação: `+h(p(Xe)),1)):n(``,!0),f(te,{warnings:p(_t),slug:p(T),class:`mt-6`},null,8,[`warnings`,`slug`]),p($)||p(X).error?(e(),a(`div`,Ue,[f(ne,{color:`error`,variant:`soft`,"data-testid":`webdriver-erro`,description:p($)??p(X).error},null,8,[`description`]),p(X).error?.includes(`Chrome`)?(e(),l(re,{key:0})):n(``,!0)])):n(``,!0),p(Y)?n(``,!0):(e(),a(`div`,We,[c(`div`,Ge,[f(ie,{name:`i-ic-round-lock`,class:`size-7 text-dimmed`})]),s[11]||=c(`p`,{class:`font-semibold`},` Autenticação ainda não gravada `,-1),s[12]||=c(`p`,{class:`max-w-md text-sm text-muted`},` Vamos gravar o login de verdade: clique em "Gravar login" e entre normalmente na aba que abrir. A IA transforma essa gravação num teste de autenticação, sem adivinhar seletor e sem você digitar sua senha em formulário nenhum. `,-1),s[13]||=c(`p`,{class:`max-w-md text-xs text-dimmed`},[i(` A senha digitada na gravação fica salva localmente no `),c(`code`,null,`.env`),i(` do projeto, nunca no script gerado nem versionada. Assim que o teste estiver escrito, ele é executado para confirmar que o login funciona. `)],-1),f(_,{label:`Gravar login`,"trailing-icon":`i-ic-round-fiber-manual-record`,class:`mt-2`,disabled:!p(X).connected,"data-testid":`auth-gravar-vazio`,onClick:xt},null,8,[`disabled`]),p(A).auth_status===`unset`?(e(),l(_,{key:0,label:`Não precisa de login`,color:`neutral`,variant:`link`,loading:p(vt),"data-testid":`auth-dispensar`,onClick:yt},null,8,[`loading`])):n(``,!0)])),p(Y)?(e(),l(b,{key:4,modelValue:p(q),"onUpdate:modelValue":s[3]||=e=>t(q)?q.value=e:null,items:p(mt),content:!1,class:`w-full mt-8`},{default:y(({item:e})=>[c(`span`,{"data-testid":`cenario-tab-${e.value}`},h(e.label),9,Ke)]),_:1},8,[`modelValue`,`items`])):n(``,!0),p(Y)?(e(),a(`div`,qe,[p(q)===`eventos`?(e(),a(d,{key:0},[p(M).events.length===0?(e(),l(x,{key:0,icon:`i-ic-round-timeline`,title:`Nenhum evento gravado`,description:`Este cenário foi escrito direto em código, sem passar por uma gravação de navegador.`,testid:`cenario-eventos-vazio`})):(e(),l(S,{key:1,events:p(M).events,"data-testid":`cenario-eventos`},null,8,[`events`]))],64)):p(q)===`gherkin`?(e(),l(C,{key:1,"model-value":p(M).gherkin,language:`gherkin`,readonly:``,testid:`cenario-gherkin`},null,8,[`model-value`])):p(q)===`playwright`?(e(),a(d,{key:2},[p(M).playwright.trim()?(e(),l(C,{key:1,"model-value":p(M).playwright,language:`typescript`,readonly:``,testid:`cenario-playwright`},null,8,[`model-value`])):(e(),l(x,{key:0,icon:`i-ic-round-code-off`,title:`Sem código Playwright`,description:`O arquivo .spec.ts deste cenário está vazio. Edite o cenário pra escrever o teste.`,testid:`cenario-playwright-vazio`}))],64)):(e(),l(ae,{key:3,runs:p(M).runs,onOpen:st},null,8,[`runs`]))])):n(``,!0),f(oe,{open:p(P),"onUpdate:open":s[4]||=e=>t(P)?P.value=e:null,title:`Excluir cenário`,"confirm-label":`Excluir`,"confirm-color":`error`,"confirm-testid":`cenario-excluir-confirmar`,loading:p(F),onConfirm:Ye},{description:y(()=>[s[14]||=i(` Isso `,-1),s[15]||=c(`b`,null,`apaga`,-1),i(` os arquivos de teste, feature e eventos de "`+h(p(M).title)+`". `,1)]),_:1},8,[`open`,`loading`]),f(de,{open:p(L),"onUpdate:open":s[5]||=e=>t(L)?L.value=e:null,slug:p(T),scenario:p(M),onUpdated:Qe},null,8,[`open`,`slug`,`scenario`]),f(fe,{open:p(R),"onUpdate:open":s[6]||=e=>t(R)?R.value=e:null,loading:p(z),suggestions:p(B),error:p(V)},null,8,[`open`,`loading`,`suggestions`,`error`]),f(ye,{open:p(U),"onUpdate:open":s[7]||=e=>t(U)?U.value=e:null,running:p(H),passed:p(et),steps:p($e),"video-url":p(tt),"project-name":p(A).name,kind:p(J)?`autenticacao`:`cenario`,"scenario-name":p(J)?p(M).spec:p(M).title,branch:p(A).branch,"tested-at":p(nt),playwright:p(ot),output:p(rt),onFix:ut},null,8,[`open`,`running`,`passed`,`steps`,`video-url`,`project-name`,`kind`,`scenario-name`,`branch`,`tested-at`,`playwright`,`output`]),f(xe,{open:p(Q),"onUpdate:open":s[8]||=e=>t(Q)?Q.value=e:null,dismissable:!1,loading:``},{body:y(()=>[f(be,{phrases:bt,"data-testid":`auth-carregando`})]),_:1},8,[`open`]),f(O,{open:p(Z),"onUpdate:open":s[9]||=e=>t(Z)?Z.value=e:null,slug:p(T),onSaved:pt},null,8,[`open`,`slug`]),f(k,{open:p(W),"onUpdate:open":s[10]||=e=>t(W)?W.value=e:null,loading:p(ct),fix:p(G),error:p(K),applying:p(lt),onApply:dt,onDiscard:ft},null,8,[`open`,`loading`,`fix`,`error`,`applying`])]),_:1},8,[`data-hydrated`])}}});export{M as default};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{At as e,En as t,F as n,G as r,H as i,I as a,It as o,Lt as s,M as c,N as l,P as u,Pn as d,S as f,U as p,Wn as m,Zt as h,_r as g,_t as _,ht as v,in as y,ln as b,pr as x,wt as S}from"./DMHcp4U1.js";import{rt as C}from"./cRY3ZoRz.js";import"./CRH0iqnQ.js";import{n as w}from"./k5q7GKnv.js";import{t as T}from"./5GgR1mbX.js";import{r as E}from"./C5uJN_MU.js";import{r as D}from"./Gcazu-lR.js";import{t as O}from"./BWJpSLJL.js";import{t as k}from"./BMLYuU_e.js";import{n as A}from"./DXLPf3t6.js";import{n as j}from"./CKps1Vc12.js";function M(e){return new URL(globalThis.location.href)}var N={class:`flex flex-col gap-3 rounded-lg bg-elevated p-4`},P={class:`flex items-center gap-2`},F={"data-testid":`webdriver-comando`,class:`grow overflow-x-auto whitespace-nowrap rounded-md bg-default p-3 text-xs`},I=Object.assign(r({__name:`setup`,setup(n){let r=d(`macos`);S(()=>{let e=navigator.userAgent;/Windows/i.test(e)?r.value=`windows`:/Mac/i.test(e)||(r.value=`linux`)});let o=[{label:`macOS`,value:`macos`},{label:`Linux`,value:`linux`},{label:`Windows`,value:`windows`}],s=C(),u=M().origin,f=c(()=>`${u}${s.fullPath}`),h=c(()=>({macos:`open -na "Google Chrome" --args --remote-debugging-port=9222 --user-data-dir="$HOME/.acutis/chrome" "${f.value}"`,linux:`google-chrome --remote-debugging-port=9222 --user-data-dir="$HOME/.acutis/chrome" "${f.value}" &`,windows:`Start-Process "chrome" -ArgumentList "--remote-debugging-port=9222","--user-data-dir=$env:USERPROFILE\\.acutis\\chrome","${f.value}"`})),_=d(!1),v;async function y(){await navigator.clipboard.writeText(h.value[r.value]),_.value=!0,clearTimeout(v),v=setTimeout(()=>{_.value=!1},2e3)}return(n,s)=>{let c=A,u=T;return e(),a(`div`,N,[s[1]||=l(`p`,{class:`text-sm text-muted`},[i(` Abra o Chrome com a porta de depuração. Ele já abre nesta página, é só clicar em `),l(`span`,{class:`font-medium text-default`},`Novo cenário`),i(` de novo: `)],-1),p(c,{modelValue:m(r),"onUpdate:modelValue":s[0]||=e=>t(r)?r.value=e:null,items:o,content:!1,class:`w-full`},null,8,[`modelValue`]),l(`div`,P,[l(`code`,F,g(m(h)[m(r)]),1),p(u,{icon:m(_)?`i-ic-round-check`:`i-ic-round-content-copy`,label:m(_)?`Copiado!`:`Copiar comando`,color:`neutral`,variant:`soft`,"data-testid":`webdriver-copiar`,onClick:y},null,8,[`icon`,`label`])])])}}}),{__name:`WebdriverSetup`});function L(e){let t=e.selectors,n=(e.label||e.innerText||t?.placeholder||t?.text||``).replace(/\s+/g,` `).trim();return n===``?null:n}function R(e){return`"${e}"`}function z(e){let t=e.url??``;try{let e=new URL(t,`http://base.test`).pathname;return e===`/`?`a página inicial`:R(e)}catch{return t?R(t):`a página inicial`}}function B(e){let t=L(e);switch(e.type){case`navigate`:return`Navega para ${z(e)}`;case`click`:return t?`Clica em ${R(t)}`:`Clica no elemento`;case`hover`:return t?`Passa o mouse em ${R(t)}`:`Passa o mouse no elemento`;case`fill`:{let n=t?R(t):`o campo`;return e.value?`Preenche ${n} com ${e.sensitive?`••••`:R(e.value)}`:`Preenche ${n}`}case`submit`:return`Envia o formulário`;case`assert`:return`Confere ${t?R(t):`o elemento`}`;default:return t??e.url??e.type??``}}var V={class:`grid grid-cols-1 gap-6 lg:grid-cols-5`},H=[`src`],U={class:`flex flex-col`},W=[`data-current`,`onClick`],G={class:`flex flex-col items-center`},K={class:`pb-4 min-w-0`},q={key:0,class:`text-xs text-dimmed`},J=Object.assign(r({__name:`timeline`,props:{events:{},videoSrc:{default:null},recordingStartedAt:{default:null}},setup(t){let r=d(null),i=d(0),s={navigate:`i-ic-round-public`,click:`i-ic-round-ads-click`,fill:`i-ic-round-edit`,submit:`i-ic-round-send`,hover:`i-ic-round-mouse`,assert:`i-ic-round-check-circle`};function u(e){return!t.recordingStartedAt||!e.timestamp?0:Math.max(0,(e.timestamp-t.recordingStartedAt)/1e3)}let h=c(()=>{let e=-1;return t.events.forEach((t,n)=>{u(t)<=i.value&&(e=n)}),e});function _(e){if(!r.value)return;let t=u(e);r.value.currentTime=t,i.value=t}return(c,d)=>{let v=E;return e(),a(`div`,V,[t.videoSrc?(e(),a(`video`,{key:0,ref_key:`videoEl`,ref:r,"data-testid":`revisao-video`,src:t.videoSrc,controls:``,class:`w-full self-start rounded-lg lg:sticky lg:top-0 lg:col-span-3`,onTimeupdate:d[0]||=e=>i.value=e.target.currentTime},null,40,H)):n(``,!0),l(`div`,{class:x(t.videoSrc?`lg:col-span-2`:`lg:col-span-5`)},[d[1]||=l(`p`,{class:`mb-3 font-semibold`},` Timeline dos eventos `,-1),l(`ol`,U,[(e(!0),a(f,null,o(t.events,(r,i)=>(e(),a(`li`,{key:i,"data-testid":`revisao-evento`,"data-current":i===m(h)?`true`:`false`,class:`group flex cursor-pointer items-stretch gap-3`,onClick:e=>_(r)},[l(`div`,G,[p(v,{name:s[r.type]??`i-ic-round-help-outline`,class:x([`size-5 shrink-0 transition-colors`,i<=m(h)?`text-primary`:`text-muted`])},null,8,[`name`,`class`]),i<t.events.length-1?(e(),a(`span`,{key:0,class:x([`w-px grow transition-colors`,i<m(h)?`bg-primary`:`bg-accented`])},null,2)):n(``,!0)]),l(`div`,K,[l(`p`,{class:x([`truncate text-sm transition-colors group-hover:text-highlighted`,i===m(h)?`font-semibold text-primary`:`text-default`])},g(m(B)(r)),3),t.recordingStartedAt?(e(),a(`p`,q,g(u(r).toFixed(1))+`s `,1)):n(``,!0)])],8,W))),128))])],2)])}}}),{__name:`ScenarioReviewTimeline`}),Y={class:`flex min-h-24 items-center justify-center text-center`},X={class:`w-full text-lg text-muted break-words`},Z=Object.assign(r({__name:`confirm`,props:v({title:{},description:{default:``},confirmLabel:{default:`Confirmar`},confirmColor:{default:`primary`},confirmTestid:{default:`confirmar`},loading:{type:Boolean,default:!1}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:v([`confirm`],[`update:open`]),setup(t,{emit:n}){let r=h(t,`open`),a=n;return(n,o)=>{let c=D,d=k;return e(),u(d,{open:r.value,"onUpdate:open":o[2]||=e=>r.value=e,title:t.title},{body:b(()=>[l(`div`,Y,[l(`p`,X,[s(n.$slots,`description`,{},()=>[i(g(t.description),1)])])])]),footer:b(()=>[p(c,{label:`Cancelar`,color:`neutral`,variant:`ghost`,"data-testid":`confirmar-cancelar`,onClick:o[0]||=e=>r.value=!1}),p(c,{label:t.confirmLabel,color:t.confirmColor,loading:t.loading,"data-testid":t.confirmTestid,onClick:o[1]||=e=>a(`confirm`)},null,8,[`label`,`color`,`loading`,`data-testid`])]),_:3},8,[`open`,`title`])}}}),{__name:`BaseConfirm`});function Q(e){return e.normalize(`NFD`).replace(/\p{Diacritic}/gu,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).slice(0,80).replace(/^-+|-+$/g,``)}function $(e){let t=e.spec.replace(/^tests\//,``).replace(/\.spec\.ts$/,``).split(`/`);return{title:e.title,path:t.at(-1),domain:t.length>1?t.slice(0,-1).join(`/`):``,tags:e.tags,gherkin:e.gherkin??``,playwright:e.playwright}}var ee={class:`flex flex-col gap-5`},te={class:`grid grid-cols-1 gap-4 sm:grid-cols-2`},ne=Object.assign(r({__name:`contexts`,props:v({isAuth:{type:Boolean,default:!1},novo:{type:Boolean,default:!1}},{draft:{required:!0},draftModifiers:{}}),emits:[`update:draft`],setup(r){let i=h(r,`draft`);function o(e){return e.match(/@[\w-]+/g)??[]}function s(e){let t=e.split(`
|
|
2
|
-
`)[0]??``;return t.trim().startsWith(`@`)?o(t):[]}function d(e){let t=e.match(/tag:\s*\[([^\]]*)\]/);return t?o(t[1]):[]}function f(e,t){if(!e.trim())return e;let n=e.split(`
|
|
3
|
-
`);n[0]?.trim().startsWith(`@`)&&n.shift();let r=n.join(`
|
|
4
|
-
`);return t.length?`${t.join(` `)}\n${r}`:r}function g(e,t){if(!t.length)return e;let n=`tag: [${t.map(e=>`'${e}'`).join(`, `)}]`;return/tag:\s*\[[^\]]*\]/.test(e)?e.replace(/tag:\s*\[[^\]]*\]/,n):e.replace(/test\.describe\(\s*((["']).+?\2)\s*,\s*(?=\(|async)/,`test.describe($1, { ${n} }, `)}let v=!1;function x(e){v=!0,i.value={...i.value,tags:e,gherkin:f(i.value.gherkin,e),playwright:g(i.value.playwright,e)},_(()=>{v=!1})}let S=c({get:()=>i.value.tags.join(` `),set:e=>x(o(e))});return y(()=>i.value.gherkin,e=>{if(v)return;let t=s(e);t.length&&t.join(` `)!==i.value.tags.join(` `)&&x(t)}),y(()=>i.value.playwright,e=>{if(v)return;let t=d(e);t.length&&t.join(` `)!==i.value.tags.join(` `)&&x(t)}),y(()=>i.value.title,(e,t)=>{!r.novo||i.value.path!==Q(t)||(i.value={...i.value,path:Q(e)})}),(o,s)=>{let c=O,d=w,f=j;return e(),a(`div`,ee,[l(`div`,te,[p(d,{label:`Título do cenário`},{default:b(()=>[p(c,{modelValue:i.value.title,"onUpdate:modelValue":s[0]||=e=>i.value.title=e,maxlength:m(120),"data-testid":`contexto-titulo`,class:`w-full`},null,8,[`modelValue`,`maxlength`])]),_:1}),r.isAuth?n(``,!0):(e(),u(d,{key:0,label:`Arquivo`,help:`Nome do .spec.ts / .feature`},{default:b(()=>[p(c,{modelValue:i.value.path,"onUpdate:modelValue":s[1]||=e=>i.value.path=e,maxlength:m(80),"data-testid":`contexto-path`,class:`w-full`},null,8,[`modelValue`,`maxlength`])]),_:1}))]),r.isAuth?n(``,!0):(e(),u(d,{key:0,label:`Domínio`,help:`Pasta onde o cenário será salvo (ex.: login, checkout)`},{default:b(()=>[p(c,{modelValue:i.value.domain,"onUpdate:modelValue":s[2]||=e=>i.value.domain=e,maxlength:m(80),"data-testid":`contexto-dominio`,class:`w-full`},null,8,[`modelValue`,`maxlength`])]),_:1})),r.isAuth?n(``,!0):(e(),u(d,{key:1,label:`Tags`,help:`Separadas por espaço (ex.: @read @criando)`},{default:b(()=>[p(c,{modelValue:m(S),"onUpdate:modelValue":s[3]||=e=>t(S)?S.value=e:null,"data-testid":`contexto-tags`,class:`w-full`},null,8,[`modelValue`])]),_:1})),p(d,{label:`Cenário (Gherkin)`},{default:b(()=>[p(f,{modelValue:i.value.gherkin,"onUpdate:modelValue":s[4]||=e=>i.value.gherkin=e,language:`gherkin`,testid:`contexto-cenario`},null,8,[`modelValue`])]),_:1}),p(d,{label:`Teste (Playwright)`},{default:b(()=>[p(f,{modelValue:i.value.playwright,"onUpdate:modelValue":s[5]||=e=>i.value.playwright=e,language:`typescript`,testid:`contexto-teste`},null,8,[`modelValue`])]),_:1})])}}}),{__name:`ScenarioReviewContexts`});function re(e){return e===`@read`?`success`:e===`@write`?`warning`:`primary`}export{J as a,Z as i,ne as n,I as o,$ as r,re as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$t as e,At as t,B as n,Bn as r,Bt as i,En as a,F as o,G as s,H as c,I as l,It as u,Lt as d,M as f,Mt as p,N as m,P as h,Pn as g,S as _,U as v,Wn as y,Xt as b,Zt as x,_r as S,cn as C,gt as w,hr as T,ht as E,in as D,ln as O,pr as k,tt as A,wt as j}from"./DMHcp4U1.js";import{Kt as M,Y as N,at as P,qt as F,rt as ee,tt as I}from"./cRY3ZoRz.js";import{k as L,n as te}from"./BbjTtCyI.js";import{r as R,t as ne}from"./CRH0iqnQ.js";import{n as z,t as B}from"./k5q7GKnv.js";import{c as V,d as H,i as U,l as W,s as re,t as G,u as K}from"./BEQgcp5R.js";import"./DJxuKf9Z.js";import{r as ie,u as q}from"./b5tj-z25.js";import{r as ae,t as oe}from"./5GgR1mbX.js";import{M as se,_ as ce,a as J,d as Y,g as le,j as ue,l as X,o as de,p as fe,r as Z,s as pe,t as me}from"./C5uJN_MU.js";import{o as he}from"./QcKfgokC.js";import{a as ge,g as _e,i as ve,n as ye,o as be,r as Q}from"./Gcazu-lR.js";import{t as $}from"./BWJpSLJL.js";import{n as xe,t as Se}from"./Ch1EeKHP.js";import{t as Ce}from"./BEk00u4_.js";import{t as we}from"./BMLYuU_e.js";import{t as Te}from"./DXLPf3t6.js";import{t as Ee}from"./ANcp5QFz.js";import{t as De}from"./CTqLwyQP.js";import{t as Oe}from"./BuOb9NX0.js";import{t as ke}from"./tLr-SJaf.js";import{t as Ae}from"./DtuQPKVG.js";import{n as je,r as Me}from"./f0o80Gcm.js";import{t as Ne}from"./C2KIeuhG.js";import{t as Pe}from"./FvWrDx_z.js";import{t as Fe}from"./CKps1Vc12.js";import{a as Ie,i as Le,n as Re,o as ze,t as Be}from"./DDHUGtv32.js";var Ve={key:0,class:`flex items-center gap-2`},He=Object.assign(s({__name:`inline`,props:{slug:{},name:{}},emits:[`renamed`],setup(e,{emit:n}){let r=n,i=U(),o=g(!1),s=g(e.name),c=g(!1);function u(){s.value=e.name,o.value=!0}function d(){o.value=!1}async function f(){let t=s.value.trim();if(t===``||t===e.name)return d();c.value=!0;try{let n=await R(`/api/projects/${e.slug}`,{method:`PUT`,body:{name:t}});o.value=!1,r(`renamed`,n.slug)}catch(e){i.failure(e,`Não foi possível renomear o projeto.`)}finally{c.value=!1}}return(n,r)=>{let i=$,p=oe,g=Se;return y(o)?(t(),l(`div`,Ve,[v(i,{modelValue:y(s),"onUpdate:modelValue":r[0]||=e=>a(s)?s.value=e:null,autofocus:``,class:`grow`,"data-testid":`projeto-nome-campo`,onKeydown:[M(f,[`enter`]),M(d,[`esc`])]},null,8,[`modelValue`]),v(p,{icon:`i-ic-round-check`,label:`Confirmar`,color:`success`,variant:`soft`,loading:y(c),"data-testid":`projeto-nome-confirmar`,onClick:f},null,8,[`loading`]),v(p,{icon:`i-ic-round-close`,label:`Cancelar`,color:`neutral`,variant:`soft`,disabled:y(c),"data-testid":`projeto-nome-cancelar`,onClick:d},null,8,[`disabled`])])):(t(),h(g,{key:1,text:`Clique para renomear`,"delay-duration":0,arrow:``},{default:O(()=>[m(`h1`,{class:`text-3xl font-bold truncate cursor-pointer`,"data-testid":`projeto-nome`,onClick:u},S(e.name),1)]),_:1}))}}}),{__name:`ProjectRenameInline`}),Ue={base:`relative`,variants:{size:{xs:``,sm:``,md:``,lg:``,xl:``},orientation:{horizontal:`inline-flex -space-x-px`,vertical:`flex flex-col -space-y-px`}}},We={__name:`UFieldGroup`,props:{as:{type:null,required:!1},size:{type:null,required:!1},orientation:{type:null,required:!1,default:`horizontal`},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(e){let n=X(`fieldGroup`,e),r=q(),i=f(()=>J({extend:Ue,...r.ui?.fieldGroup||{}}));return p(pe,f(()=>({orientation:n.orientation,size:n.size}))),(e,r)=>(t(),h(y(ce),{as:y(n).as,"data-orientation":y(n).orientation,class:k(i.value({orientation:y(n).orientation,class:[y(n).ui?.base,y(n).class]}))},{default:O(()=>[d(e.$slots,`default`)]),_:3},8,[`as`,`data-orientation`,`class`]))}},Ge=[`data-testid`],Ke=Object.assign(s({__name:`select`,props:{slug:{}},emits:[`edit`,`activated`],async setup(e,{emit:n}){let r,i,o=n,{data:s,refresh:c}=([r,i]=C(()=>ne(`/api/projects/${e.slug}/environments`,{key:`environments-${e.slug}`},`$K6QY299bPm`)),r=await r,i(),r),l=g(!1),u=f(()=>(s.value?.environments??[]).map(e=>({label:e.name,value:e.slug}))),d=f({get:()=>s.value?.active??void 0,set:p});async function p(t){if(!(!t||t===s.value?.active)){l.value=!0;try{await R(`/api/projects/${e.slug}/environments/${t}/activate`,{method:`POST`}),await c(),o(`activated`)}finally{l.value=!1}}}return(e,n)=>{let r=Q,i=Se,s=re,c=oe,f=We;return y(u).length<2?(t(),h(i,{key:0,text:`Editar as variáveis deste ambiente`},{default:O(()=>[v(r,{icon:`i-ic-round-layers`,label:y(u)[0]?.label??`Ambientes`,color:`neutral`,variant:`soft`,"data-testid":`projeto-ambientes`,onClick:n[0]||=e=>o(`edit`)},null,8,[`label`])]),_:1})):(t(),h(f,{key:1},{default:O(()=>[v(s,{modelValue:y(d),"onUpdate:modelValue":n[1]||=e=>a(d)?d.value=e:null,items:y(u),"value-key":`value`,"search-input":!1,loading:y(l),icon:`i-ic-round-layers`,class:`w-44`,"data-testid":`projeto-ambiente-ativo`},{"item-label":O(({item:e})=>[m(`span`,{"data-testid":`projeto-ambiente-${e.value}`},S(e.label),9,Ge)]),_:1},8,[`modelValue`,`items`,`loading`]),v(c,{icon:`i-ic-round-tune`,label:`Editar ambientes`,color:`neutral`,variant:`soft`,"data-testid":`projeto-ambientes`,onClick:n[2]||=e=>o(`edit`)})]),_:1}))}}}),{__name:`ProjectEnvironmentsSelect`}),qe={__name:`UDropdownMenuContent`,props:{items:{type:null,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0},sub:{type:Boolean,required:!1},labelKey:{type:null,required:!0},descriptionKey:{type:null,required:!0},checkedIcon:{type:null,required:!1},loadingIcon:{type:null,required:!1},externalIcon:{type:[Boolean,String],required:!1,skipCheck:!0},size:{type:null,required:!1},filter:{type:[Boolean,Object],required:!1},filterFields:{type:Array,required:!1},ignoreFilter:{type:Boolean,required:!1},searchTerm:{type:String,required:!1},class:{type:null,required:!1},ui:{type:null,required:!0},uiOverride:{type:null,required:!1},loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1}},emits:[`update:searchTerm`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`closeAutoFocus`],setup(a,{emit:s}){let p=a,b=s,x=e(),{t:C,dir:E}=ye(),D=q(),{filterGroups:j}=V(),M=g(``),N=f({get:()=>p.searchTerm??M.value,set:e=>{M.value=e,b(`update:searchTerm`,e)}}),ee=r(()=>P(p.filter,{placeholder:C(`dropdownMenu.search`),variant:`none`})),I=te(r(()=>p.portal)),R=he(ue(p,`sub`,`items`,`portal`,`labelKey`,`descriptionKey`,`checkedIcon`,`loadingIcon`,`externalIcon`,`size`,`filter`,`filterFields`,`ignoreFilter`,`searchTerm`,`class`,`ui`,`uiOverride`),b),ne=()=>le(x,[`default`]),[z,B]=L(),H=f(()=>E.value===`rtl`?D.ui.icons.chevronLeft:D.ui.icons.chevronRight),U=f(()=>p.items?.length?fe(p.items)?p.items:[p.items]:[]),W=e=>!!e.type&&[`label`,`separator`].includes(e.type),re=f(()=>{if(!p.filter||p.ignoreFilter||!N.value)return U.value;let e=Array.isArray(p.filterFields)&&p.filterFields.length?p.filterFields:[p.labelKey];return j(U.value,N.value,{fields:e,isStructural:W})}),K=f(()=>re.value.some(e=>e.some(e=>!W(e))));return(e,r)=>(t(),l(_,null,[v(y(z),null,{default:O(({item:n,active:r,index:i})=>[d(e.$slots,n.slot||`item`,{item:n,index:i,ui:a.ui},()=>[d(e.$slots,n.slot?`${n.slot}-leading`:`item-leading`,{item:n,active:r,index:i,ui:a.ui},()=>[n.loading?(t(),h(Z,{key:0,name:a.loadingIcon||y(D).ui.icons.loading,"data-slot":`itemLeadingIcon`,class:k(a.ui.itemLeadingIcon({class:[a.uiOverride?.itemLeadingIcon,n.ui?.itemLeadingIcon],color:n?.color,loading:!0}))},null,8,[`name`,`class`])):n.icon?(t(),h(Z,{key:1,name:n.icon,"data-slot":`itemLeadingIcon`,class:k(a.ui.itemLeadingIcon({class:[a.uiOverride?.itemLeadingIcon,n.ui?.itemLeadingIcon],color:n?.color,active:r}))},null,8,[`name`,`class`])):n.avatar?(t(),h(me,w({key:2,size:n.ui?.itemLeadingAvatarSize||a.uiOverride?.itemLeadingAvatarSize||a.ui.itemLeadingAvatarSize()},n.avatar,{"data-slot":`itemLeadingAvatar`,class:a.ui.itemLeadingAvatar({class:[a.uiOverride?.itemLeadingAvatar,n.ui?.itemLeadingAvatar],active:r})}),null,16,[`size`,`class`])):o(``,!0)]),y(Y)(n,p.labelKey)||x[n.slot?`${n.slot}-label`:`item-label`]||y(Y)(n,p.descriptionKey)||x[n.slot?`${n.slot}-description`:`item-description`]?(t(),l(`span`,{key:0,"data-slot":`itemWrapper`,class:k(a.ui.itemWrapper({class:[a.uiOverride?.itemWrapper,n.ui?.itemWrapper]}))},[m(`span`,{"data-slot":`itemLabel`,class:k(a.ui.itemLabel({class:[a.uiOverride?.itemLabel,n.ui?.itemLabel],active:r}))},[d(e.$slots,n.slot?`${n.slot}-label`:`item-label`,{item:n,active:r,index:i},()=>[c(S(y(Y)(n,p.labelKey)),1)]),n.target===`_blank`&&a.externalIcon!==!1?(t(),h(Z,{key:0,name:typeof a.externalIcon==`string`?a.externalIcon:y(D).ui.icons.external,"data-slot":`itemLabelExternalIcon`,class:k(a.ui.itemLabelExternalIcon({class:[a.uiOverride?.itemLabelExternalIcon,n.ui?.itemLabelExternalIcon],color:n?.color,active:r}))},null,8,[`name`,`class`])):o(``,!0)],2),y(Y)(n,p.descriptionKey)||x[n.slot?`${n.slot}-description`:`item-description`]?(t(),l(`span`,{key:0,"data-slot":`itemDescription`,class:k(a.ui.itemDescription({class:[a.uiOverride?.itemDescription,n.ui?.itemDescription]}))},[d(e.$slots,n.slot?`${n.slot}-description`:`item-description`,{item:n,active:r,index:i},()=>[c(S(y(Y)(n,p.descriptionKey)),1)])],2)):o(``,!0)],2)):o(``,!0),m(`span`,{"data-slot":`itemTrailing`,class:k(a.ui.itemTrailing({class:[a.uiOverride?.itemTrailing,n.ui?.itemTrailing]}))},[d(e.$slots,n.slot?`${n.slot}-trailing`:`item-trailing`,{item:n,active:r,index:i,ui:a.ui},()=>[n.children?.length?(t(),h(Z,{key:0,name:H.value,"data-slot":`itemTrailingIcon`,class:k(a.ui.itemTrailingIcon({class:[a.uiOverride?.itemTrailingIcon,n.ui?.itemTrailingIcon],color:n?.color,active:r}))},null,8,[`name`,`class`])):n.kbds?.length?(t(),l(`span`,{key:1,"data-slot":`itemTrailingKbds`,class:k(a.ui.itemTrailingKbds({class:[a.uiOverride?.itemTrailingKbds,n.ui?.itemTrailingKbds]}))},[(t(!0),l(_,null,u(n.kbds,(e,r)=>(t(),h(xe,w({key:r,size:n.ui?.itemTrailingKbdsSize||a.uiOverride?.itemTrailingKbdsSize||a.ui.itemTrailingKbdsSize()},{ref_for:!0},typeof e==`string`?{value:e}:e),null,16,[`size`]))),128))],2)):o(``,!0)]),v(y(G).ItemIndicator,{"as-child":``},{default:O(()=>[v(Z,{name:a.checkedIcon||y(D).ui.icons.check,"data-slot":`itemTrailingIcon`,class:k(a.ui.itemTrailingIcon({class:[a.uiOverride?.itemTrailingIcon,n.ui?.itemTrailingIcon],color:n?.color}))},null,8,[`name`,`class`])]),_:2},1024)],2)])]),_:3}),v(y(G).Portal,T(A(y(I))),{default:O(()=>[v(y(de),null,{default:O(()=>[(t(),h(i(a.sub?y(G).SubContent:y(G).Content),w({"data-slot":`content`,class:a.ui.content({class:[a.uiOverride?.content,p.class]})},y(R)),{default:O(()=>[a.filter?(t(),h(y(G).Filter,{key:0,modelValue:N.value,"onUpdate:modelValue":r[1]||=e=>N.value=e,"as-child":``},{default:O(()=>[v($,w({autofocus:``,autocomplete:`off`,size:a.size},ee.value,{"data-slot":`input`,class:a.ui.input({class:a.uiOverride?.input}),onChange:r[0]||=F(()=>{},[`stop`])}),null,16,[`size`,`class`])]),_:1},8,[`modelValue`])):o(``,!0),d(e.$slots,`content-top`,{sub:a.sub??!1}),!N.value||K.value?(t(),l(`div`,{key:1,role:`presentation`,"data-slot":`viewport`,class:k(a.ui.viewport({class:a.uiOverride?.viewport}))},[(t(!0),l(_,null,u(re.value,(r,i)=>(t(),h(y(G).Group,{key:`group-${i}`,"data-slot":`group`,class:k(a.ui.group({class:a.uiOverride?.group}))},{default:O(()=>[(t(!0),l(_,null,u(r,(r,o)=>(t(),l(_,{key:`group-${i}-${o}`},[r.type===`label`?(t(),h(y(G).Label,{key:0,"data-slot":`label`,class:k(a.ui.label({class:[a.uiOverride?.label,r.ui?.label,r.class]}))},{default:O(()=>[v(y(B),{item:r,index:o},null,8,[`item`,`index`])]),_:2},1032,[`class`])):r.type===`separator`?(t(),h(y(G).Separator,{key:1,"data-slot":`separator`,class:k(a.ui.separator({class:[a.uiOverride?.separator,r.ui?.separator,r.class]}))},null,8,[`class`])):r?.children?.length?(t(),h(y(G).Sub,{key:2,open:r.open,"default-open":r.defaultOpen},{default:O(()=>[v(y(G).SubTrigger,{as:`button`,type:`button`,disabled:r.disabled,"text-value":y(Y)(r,p.labelKey),"data-slot":`item`,class:k(a.ui.item({class:[a.uiOverride?.item,r.ui?.item,r.class],color:r?.color}))},{default:O(()=>[v(y(B),{item:r,index:o},null,8,[`item`,`index`])]),_:2},1032,[`disabled`,`text-value`,`class`]),v(qe,w({sub:``,class:r.ui?.content,ui:a.ui,"ui-override":a.uiOverride,portal:a.portal,items:r.children,align:`start`,"align-offset":-4,"side-offset":3,"label-key":a.labelKey,"description-key":a.descriptionKey,"checked-icon":a.checkedIcon,"loading-icon":a.loadingIcon,"external-icon":a.externalIcon,size:a.size,filter:r.filter,"filter-fields":r.filterFields||a.filterFields,"ignore-filter":r.ignoreFilter??a.ignoreFilter},{ref_for:!0},r.content),n({_:2},[u(ne(),(t,n)=>({name:n,fn:O(t=>[d(e.$slots,n,w({ref_for:!0},t))])}))]),1040,[`class`,`ui`,`ui-override`,`portal`,`items`,`label-key`,`description-key`,`checked-icon`,`loading-icon`,`external-icon`,`size`,`filter`,`filter-fields`,`ignore-filter`])]),_:2},1032,[`open`,`default-open`])):r.type===`checkbox`?(t(),h(y(G).CheckboxItem,{key:3,"model-value":r.checked,disabled:r.disabled,"text-value":y(Y)(r,p.labelKey),"data-slot":`item`,class:k(a.ui.item({class:[a.uiOverride?.item,r.ui?.item,r.class],color:r?.color})),"onUpdate:modelValue":r.onUpdateChecked,onSelect:r.onSelect},{default:O(()=>[v(y(B),{item:r,index:o},null,8,[`item`,`index`])]),_:2},1032,[`model-value`,`disabled`,`text-value`,`class`,`onUpdate:modelValue`,`onSelect`])):(t(),h(ve,w({key:4,ref_for:!0},y(be)(r),{custom:``}),{default:O(({active:e,...t})=>[v(y(G).Item,{"as-child":``,disabled:r.disabled,"text-value":y(Y)(r,p.labelKey),onSelect:r.onSelect},{default:O(()=>[v(ge,w({ref_for:!0},t,{"data-slot":`item`,class:a.ui.item({class:[a.uiOverride?.item,r.ui?.item,r.class],color:r?.color,active:e})}),{default:O(()=>[v(y(B),{item:r,active:e,index:o},null,8,[`item`,`active`,`index`])]),_:2},1040,[`class`])]),_:2},1032,[`disabled`,`text-value`,`onSelect`])]),_:2},1040))],64))),128))]),_:2},1032,[`class`]))),128))],2)):o(``,!0),N.value&&!K.value?(t(),l(`div`,{key:2,"data-slot":`empty`,class:k(a.ui.empty({class:a.uiOverride?.empty}))},[d(e.$slots,`empty`,{searchTerm:N.value},()=>[c(S(y(C)(`dropdownMenu.noMatch`,{searchTerm:N.value})),1)])],2)):o(``,!0),d(e.$slots,`default`),d(e.$slots,`content-bottom`,{sub:a.sub??!1})]),_:3},16,[`class`]))]),_:3})]),_:3},16)],64))}},Je={slots:{content:`min-w-32 max-h-(--reka-dropdown-menu-content-available-height) bg-default shadow-lg rounded-md ring ring-default overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-dropdown-menu-content-transform-origin) flex flex-col`,input:`border-b border-default`,empty:`text-center text-muted`,viewport:`relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1`,arrow:`fill-bg stroke-default`,group:`p-1 isolate`,label:`w-full flex items-center font-semibold text-highlighted`,separator:`-mx-1 my-1 h-px bg-border`,item:`group relative w-full flex items-start select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75`,itemLeadingIcon:`shrink-0`,itemLeadingAvatar:`shrink-0`,itemLeadingAvatarSize:``,itemTrailing:`ms-auto inline-flex gap-1.5 items-center`,itemTrailingIcon:`shrink-0`,itemTrailingKbds:`hidden lg:inline-flex items-center shrink-0`,itemTrailingKbdsSize:``,itemWrapper:`flex-1 flex flex-col text-start min-w-0`,itemLabel:`truncate`,itemDescription:`truncate text-muted`,itemLabelExternalIcon:`inline-block size-3 align-top text-dimmed`},variants:{color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},active:{true:{item:`text-highlighted before:bg-elevated`,itemLeadingIcon:`text-default`},false:{item:[`text-default data-highlighted:text-highlighted data-[state=open]:text-highlighted data-highlighted:before:bg-elevated/50 data-[state=open]:before:bg-elevated/50`,`transition-colors before:transition-colors`],itemLeadingIcon:[`text-dimmed group-data-highlighted:text-default group-data-[state=open]:text-default`,`transition-colors`]}},loading:{true:{itemLeadingIcon:`animate-spin`}},size:{xs:{label:`p-1 text-xs gap-1`,item:`p-1 text-xs gap-1`,empty:`p-2 text-xs`,itemLeadingIcon:`size-4`,itemLeadingAvatarSize:`3xs`,itemTrailingIcon:`size-4`,itemTrailingKbds:`gap-0.5`,itemTrailingKbdsSize:`sm`},sm:{label:`p-1.5 text-xs gap-1.5`,item:`p-1.5 text-xs gap-1.5`,empty:`p-2.5 text-xs`,itemLeadingIcon:`size-4`,itemLeadingAvatarSize:`3xs`,itemTrailingIcon:`size-4`,itemTrailingKbds:`gap-0.5`,itemTrailingKbdsSize:`sm`},md:{label:`p-1.5 text-sm gap-1.5`,item:`p-1.5 text-sm gap-1.5`,empty:`p-2.5 text-sm`,itemLeadingIcon:`size-5`,itemLeadingAvatarSize:`2xs`,itemTrailingIcon:`size-5`,itemTrailingKbds:`gap-0.5`,itemTrailingKbdsSize:`md`},lg:{label:`p-2 text-sm gap-2`,item:`p-2 text-sm gap-2`,empty:`p-3 text-sm`,itemLeadingIcon:`size-5`,itemLeadingAvatarSize:`2xs`,itemTrailingIcon:`size-5`,itemTrailingKbds:`gap-1`,itemTrailingKbdsSize:`md`},xl:{label:`p-2 text-base gap-2`,item:`p-2 text-base gap-2`,empty:`p-3 text-base`,itemLeadingIcon:`size-6`,itemLeadingAvatarSize:`xs`,itemTrailingIcon:`size-6`,itemTrailingKbds:`gap-1`,itemTrailingKbdsSize:`lg`}}},compoundVariants:[{color:`primary`,active:!1,class:{item:`text-primary data-highlighted:text-primary data-highlighted:before:bg-primary/10 data-[state=open]:before:bg-primary/10`,itemLeadingIcon:`text-primary/75 group-data-highlighted:text-primary group-data-[state=open]:text-primary`}},{color:`secondary`,active:!1,class:{item:`text-secondary data-highlighted:text-secondary data-highlighted:before:bg-secondary/10 data-[state=open]:before:bg-secondary/10`,itemLeadingIcon:`text-secondary/75 group-data-highlighted:text-secondary group-data-[state=open]:text-secondary`}},{color:`success`,active:!1,class:{item:`text-success data-highlighted:text-success data-highlighted:before:bg-success/10 data-[state=open]:before:bg-success/10`,itemLeadingIcon:`text-success/75 group-data-highlighted:text-success group-data-[state=open]:text-success`}},{color:`info`,active:!1,class:{item:`text-info data-highlighted:text-info data-highlighted:before:bg-info/10 data-[state=open]:before:bg-info/10`,itemLeadingIcon:`text-info/75 group-data-highlighted:text-info group-data-[state=open]:text-info`}},{color:`warning`,active:!1,class:{item:`text-warning data-highlighted:text-warning data-highlighted:before:bg-warning/10 data-[state=open]:before:bg-warning/10`,itemLeadingIcon:`text-warning/75 group-data-highlighted:text-warning group-data-[state=open]:text-warning`}},{color:`error`,active:!1,class:{item:`text-error data-highlighted:text-error data-highlighted:before:bg-error/10 data-[state=open]:before:bg-error/10`,itemLeadingIcon:`text-error/75 group-data-highlighted:text-error group-data-[state=open]:text-error`}},{color:`primary`,active:!0,class:{item:`text-primary before:bg-primary/10`,itemLeadingIcon:`text-primary`}},{color:`secondary`,active:!0,class:{item:`text-secondary before:bg-secondary/10`,itemLeadingIcon:`text-secondary`}},{color:`success`,active:!0,class:{item:`text-success before:bg-success/10`,itemLeadingIcon:`text-success`}},{color:`info`,active:!0,class:{item:`text-info before:bg-info/10`,itemLeadingIcon:`text-info`}},{color:`warning`,active:!0,class:{item:`text-warning before:bg-warning/10`,itemLeadingIcon:`text-warning`}},{color:`error`,active:!0,class:{item:`text-error before:bg-error/10`,itemLeadingIcon:`text-error`}}],defaultVariants:{size:`md`}},Ye={__name:`UDropdownMenu`,props:E({size:{type:null,required:!1},items:{type:null,required:!1},checkedIcon:{type:null,required:!1},loadingIcon:{type:null,required:!1},externalIcon:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},labelKey:{type:null,required:!1,default:`label`},descriptionKey:{type:null,required:!1,default:`description`},filter:{type:[Boolean,Object],required:!1,default:!1},filterFields:{type:Array,required:!1},ignoreFilter:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},modal:{type:Boolean,required:!1,default:!0}},{searchTerm:{type:String,default:``},searchTermModifiers:{}}),emits:E([`update:open`],[`update:searchTerm`]),setup(i,{emit:a}){let s=i,c=a,l=e(),p=x(i,`searchTerm`,{type:String,default:``}),m=X(`dropdownMenu`,s),g=q(),_=_e(se(m,`defaultOpen`,`open`,`modal`),c),b=r(()=>P(m.content,{side:`bottom`,sideOffset:8,collisionPadding:8})),S=r(()=>P(m.arrow,{rounded:!0})),C=()=>le(l,[`default`]),E=f(()=>J({extend:Je,...g.ui?.dropdownMenu||{}})({size:m.size}));return(e,r)=>(t(),h(y(K),T(A(y(_))),{default:O(({open:i})=>[l.default?(t(),h(y(W),{key:0,"as-child":``,class:k(y(m).class),disabled:y(m).disabled},{default:O(()=>[d(e.$slots,`default`,{open:i})]),_:2},1032,[`class`,`disabled`])):o(``,!0),v(qe,w({"search-term":p.value,"onUpdate:searchTerm":r[0]||=e=>p.value=e,class:E.value.content({class:[!l.default&&y(m).class,y(m).ui?.content]}),ui:E.value,"ui-override":y(m).ui},b.value,{items:y(m).items,portal:y(m).portal,"label-key":y(m).labelKey,"description-key":y(m).descriptionKey,"checked-icon":y(m).checkedIcon,"loading-icon":y(m).loadingIcon,"external-icon":y(m).externalIcon,size:y(m).size,filter:y(m).filter,"filter-fields":y(m).filterFields,"ignore-filter":y(m).ignoreFilter}),n({default:O(()=>[y(m).arrow?(t(),h(y(H),w({key:0},S.value,{"data-slot":`arrow`,class:E.value.arrow({class:y(m).ui?.arrow})}),null,16,[`class`])):o(``,!0)]),_:2},[u(C(),(t,n)=>({name:n,fn:O(t=>[d(e.$slots,n,T(A(t)))])}))]),1040,[`search-term`,`class`,`ui`,`ui-override`,`items`,`portal`,`label-key`,`description-key`,`checked-icon`,`loading-icon`,`external-icon`,`size`,`filter`,`filter-fields`,`ignore-filter`])]),_:3},16))}},Xe=Object.assign(s({__name:`loading`,setup(e){let n=[`Analisando os elementos da tela`,`Identificando os fluxos de navegação`,`Interpretando suas interações`,`Gerando os contextos do cenário`,`Escrevendo os passos em Gherkin`,`Traduzindo para o teste Playwright`,`Dando os retoques finais`];return(e,r)=>{let i=Ae;return t(),h(i,{phrases:n,"data-testid":`contexto-carregando`})}}}),{__name:`ScenarioReviewLoading`}),Ze=Object.assign(s({__name:`modal`,props:E({slug:{},isPublic:{type:Boolean,default:!1}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:E([`generated`,`rerecord`],[`update:open`]),setup(e,{emit:n}){let r=x(e,`open`),i=n,{state:s,url:c}=ae();function u(){return{title:``,tags:[],domain:``,path:``,gherkin:``,playwright:``}}let d=g(`review`),p=g(u()),m=g(null);D(r,e=>{e&&(d.value=`review`,p.value=u(),m.value=null)});let b=f(()=>d.value===`edit`?`Revise os contextos`:`Revise seus eventos`),S=f(()=>s.value.events.filter(e=>e.type&&e.timestamp).sort((e,t)=>e.timestamp-t.timestamp)),C=g(!1),w=f(()=>{let e=S.value.find(e=>e.url);if(!e?.url)return null;try{return new URL(e.url).origin}catch{return null}}),T=f(()=>S.value.map(e=>({type:e.type,timestamp:e.timestamp,url:e.url??null,selectors:e.selectors??null,label:e.label??null,value:e.value??null,sensitive:e.sensitive??!1,html:e.html??null})));async function E(){if(!w.value){m.value=`Nenhuma navegação registrada na gravação.`;return}m.value=null,d.value=`loading`;try{p.value=await R(`/api/projects/${e.slug}/tests/draft`,{method:`POST`,body:{baseUrl:w.value,events:T.value,isPublic:e.isPublic}}),d.value=`edit`}catch(e){m.value=B(e,`Não foi possível gerar o cenário. Tente novamente.`),d.value=`review`}}async function k(){if(p.value){C.value=!0,m.value=null;try{await R(`/api/projects/${e.slug}/tests`,{method:`POST`,body:{...p.value,events:T.value}}),r.value=!1,i(`generated`)}catch(e){m.value=B(e,`Não foi possível salvar o cenário. Tente novamente.`)}finally{C.value=!1}}}function A(){r.value=!1,i(`rerecord`)}return(n,i)=>{let u=Xe,f=ke,g=Re,x=Ie,w=Oe,T=Q,D=we;return t(),h(D,{open:r.value,"onUpdate:open":i[3]||=e=>r.value=e,title:y(b),dismissable:!1,loading:y(d)===`loading`,wide:``},{body:O(()=>[y(d)===`loading`?(t(),h(u,{key:0})):y(d)===`edit`?(t(),l(_,{key:1},[v(f,{warnings:y(p).warnings,slug:e.slug,class:`mb-4`},null,8,[`warnings`,`slug`]),v(g,{draft:y(p),"onUpdate:draft":i[0]||=e=>a(p)?p.value=e:null,novo:``},null,8,[`draft`])],64)):(t(),h(x,{key:2,events:y(S),"video-src":y(s).videoSessionId?`${y(c)}/recording/${y(s).videoSessionId}`:null,"recording-started-at":y(s).recordingStartedAt},null,8,[`events`,`video-src`,`recording-started-at`])),y(m)?(t(),h(w,{key:3,color:`error`,variant:`soft`,description:y(m),class:`mt-4`,"data-testid":`revisao-erro`},null,8,[`description`])):o(``,!0)]),footer:O(()=>[y(d)===`edit`?(t(),l(_,{key:0},[v(T,{label:`Cancelar`,color:`neutral`,variant:`ghost`,"data-testid":`contexto-cancelar`,onClick:i[1]||=e=>r.value=!1}),v(T,{label:`Enviar`,loading:y(C),"data-testid":`contexto-enviar`,onClick:k},null,8,[`loading`])],64)):(t(),l(_,{key:1},[v(T,{label:`Gravar novamente`,color:`neutral`,variant:`soft`,class:`mr-auto`,"data-testid":`revisao-regravar`,onClick:A}),v(T,{label:`Cancelar`,color:`neutral`,variant:`ghost`,"data-testid":`revisao-cancelar`,onClick:i[2]||=e=>r.value=!1}),v(T,{label:`Gerar cenário`,"data-testid":`revisao-gerar`,onClick:E})],64))]),_:1},8,[`open`,`title`,`loading`])}}}),{__name:`ScenarioReviewModal`}),Qe={"data-testid":`cenario-vazio`,class:`py-10 text-center`},$e={class:`flex flex-col items-center gap-2`},et={class:`flex size-15 items-center justify-center rounded-lg bg-primary/10`},tt=Object.assign(s({__name:`empty`,props:{disabled:{type:Boolean,default:!1}},emits:[`record`],setup(e,{emit:n}){let r=n;return(n,i)=>{let a=Z,o=Pe;return t(),l(`div`,Qe,[i[3]||=m(`p`,{class:`text-xl font-semibold`},` Nenhum cenário ainda `,-1),i[4]||=m(`p`,{class:`text-muted mb-6`},` Grave uma interação para gerar o primeiro teste. `,-1),v(o,{"data-testid":`cenario-vazio-gravar`,class:k([`max-w-sm mx-auto transition-colors`,e.disabled?`opacity-50`:`cursor-pointer hover:bg-accented/75`]),onClick:i[0]||=t=>!e.disabled&&r(`record`)},{default:O(()=>[m(`div`,$e,[m(`div`,et,[v(a,{name:`i-ic-round-fiber-manual-record`,class:`size-10 text-primary`})]),i[1]||=m(`p`,{class:`text-lg font-semibold`},` Gravar cenário `,-1),i[2]||=m(`p`,{class:`text-sm text-muted`},` Abre o navegador e grava sua interação pra virar um teste automático. `,-1)])]),_:1},8,[`class`])])}}}),{__name:`ScenarioEmpty`}),nt={class:`flex flex-col gap-2`},rt=[`id`],it=[`value`],at={key:0,class:`text-sm text-muted italic`},ot=Object.assign(s({__name:`vars`,props:E({knownKeys:{default:()=>[]},testid:{default:`variaveis`}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let r=x(e,`modelValue`),i=b();function a(){r.value=[...r.value,{key:``,value:``,secret:!1,pending:!1}]}function s(e){r.value=r.value.filter((t,n)=>n!==e)}let c=g([]);function d(e){c.value=c.value.includes(e)?c.value.filter(t=>t!==e):[...c.value,e]}function f(e,t){return e.secret&&!c.value.includes(t)?`password`:`text`}return(p,h)=>{let g=$,b=Q,x=Se;return t(),l(`div`,nt,[m(`datalist`,{id:y(i)},[(t(!0),l(_,null,u(e.knownKeys,e=>(t(),l(`option`,{key:e,value:e},null,8,it))),128))],8,rt),(t(!0),l(_,null,u(r.value,(r,a)=>(t(),l(`div`,{key:a,class:`flex items-center gap-2`},[v(g,{modelValue:r.key,"onUpdate:modelValue":e=>r.key=e,class:`w-1/3`,placeholder:`CHAVE`,list:y(i),"data-testid":`${e.testid}-chave-${a}`},null,8,[`modelValue`,`onUpdate:modelValue`,`list`,`data-testid`]),v(g,{modelValue:r.value,"onUpdate:modelValue":e=>r.value=e,class:`flex-1`,type:f(r,a),placeholder:`valor`,color:r.pending?`warning`:void 0,"data-testid":`${e.testid}-valor-${a}`},n({_:2},[r.secret?{name:`trailing`,fn:O(()=>[v(b,{icon:y(c).includes(a)?`i-ic-round-visibility-off`:`i-ic-round-visibility`,color:`neutral`,variant:`link`,"aria-label":y(c).includes(a)?`Esconder o valor`:`Revelar o valor`,"data-testid":`${e.testid}-revelar-${a}`,onClick:e=>d(a)},null,8,[`icon`,`aria-label`,`data-testid`,`onClick`])]),key:`0`}:void 0]),1032,[`modelValue`,`onUpdate:modelValue`,`type`,`color`,`data-testid`]),v(x,{text:`Segredo: o valor fica mascarado na tela`},{default:O(()=>[v(b,{icon:`i-ic-round-lock`,color:r.secret?`primary`:`neutral`,variant:r.secret?`solid`:`ghost`,"aria-label":r.secret?`Deixar de ser segredo`:`Marcar como segredo`,"data-testid":`${e.testid}-segredo-${a}`,onClick:e=>r.secret=!r.secret},null,8,[`color`,`variant`,`aria-label`,`data-testid`,`onClick`])]),_:2},1024),v(b,{icon:`i-ic-round-close`,color:`error`,variant:`ghost`,"aria-label":`Remover variável`,"data-testid":`${e.testid}-remover-${a}`,onClick:e=>s(a)},null,8,[`data-testid`,`onClick`])]))),128)),r.value.length?o(``,!0):(t(),l(`p`,at,` Nenhuma variável ainda. `)),v(b,{icon:`i-ic-round-add`,label:`Adicionar variável`,color:`neutral`,variant:`soft`,class:`self-start`,"data-testid":`${e.testid}-adicionar`,onClick:a},null,8,[`data-testid`])])}}}),{__name:`ProjectEnvironmentsVars`}),st={class:`flex flex-col gap-4 sm:flex-row`},ct={class:`flex flex-col gap-3 sm:w-56 shrink-0`},lt={key:0,class:`flex-1 flex flex-col gap-4 min-w-0`},ut={class:`flex flex-wrap gap-2`},dt={key:0,class:`mr-auto self-center text-sm text-warning`,"data-testid":`ambientes-fechar-aviso`},ft=Object.assign(s({__name:`modal`,props:E({slug:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:E([`saved`],[`update:open`]),setup(e,{emit:n}){let r=x(e,`open`),i=n,s=g(null),c=g(null),d=g(``),p=g([]),b=g(!1),S=g(``),C=g(!1),w=g(!1),T=g(!1),E=g(!1),k=U(),A=f(()=>s.value?.environments??[]),j=f(()=>A.value.find(e=>e.slug===c.value)??null),N=g(``),P=f(()=>!!j.value&&F()!==N.value);function F(){return JSON.stringify({name:d.value,vars:p.value})}function ee(e){return{key:e.key,value:e.value??``,secret:e.secret,pending:e.pending}}function I(e){c.value=e.slug,d.value=e.name,p.value=e.vars.map(ee),C.value=!1,w.value=!1,N.value=F()}function L(){j.value&&I(j.value)}function te(e){let t=e.target;t.closest(`[data-testid="ambientes-remover"]`)||(C.value=!1),t.closest(`[data-testid="ambientes-fechar"]`)||(w.value=!1),t.closest(`[data-testid="ambientes-criar"], [data-testid="ambientes-novo-nome"]`)||(b.value=!1,S.value=``)}function ne(){if(P.value&&!w.value){w.value=!0;return}r.value=!1}async function B(){T.value=!0;try{let t=await R(`/api/projects/${e.slug}/environments`);s.value=t;let n=t.environments.find(e=>e.slug===t.active)??t.environments[0];n?I(n):c.value=null}catch(e){k.failure(e,`Não foi possível carregar os ambientes.`)}finally{T.value=!1}}D(r,e=>{e&&B()});async function V(e,t,n){E.value=!0;try{await e(),await B(),i(`saved`),k.success(t)}catch(e){k.failure(e,n)}finally{E.value=!1}}async function H(){let t=S.value.trim();t&&(await V(async()=>{let n=await R(`/api/projects/${e.slug}/environments`,{method:`POST`,body:{name:t}});c.value=n.slug},`Ambiente criado`,`Não foi possível criar o ambiente.`),S.value=``,b.value=!1)}function W(){if(c.value)return V(()=>R(`/api/projects/${e.slug}/environments/${c.value}`,{method:`PUT`,body:{name:d.value.trim(),vars:p.value.map(e=>({key:e.key.trim(),value:e.value===``?null:e.value,secret:e.secret}))}}),`Ambiente salvo`,`Não foi possível salvar o ambiente.`)}async function re(){if(!j.value)return;if(!C.value){C.value=!0;return}let t=j.value.slug;await V(async()=>{await R(`/api/projects/${e.slug}/environments/${t}`,{method:`DELETE`}),c.value=null},`Ambiente removido`,`Não foi possível remover o ambiente.`),C.value=!1}return(e,n)=>{let i=Q,f=$,g=z,x=ot,D=Ne,k=we;return t(),h(k,{open:r.value,"onUpdate:open":n[5]||=e=>r.value=e,wide:``,dismissable:!y(P),title:`Ambientes`,description:`Cada ambiente diz contra o que os cenários rodam. Os arquivos ficam fora do git, então cada máquina tem os seus.`},{body:O(()=>[m(`div`,{onClickCapture:te},[m(`div`,st,[m(`div`,ct,[(t(!0),l(_,null,u(y(A),e=>(t(),h(i,{key:e.slug,label:e.name,color:e.slug===y(c)?`primary`:`neutral`,variant:e.slug===y(c)?`soft`:`ghost`,"trailing-icon":e.slug===y(s)?.active?`i-ic-round-check-circle`:void 0,class:`justify-between`,"data-testid":`ambientes-selecionar-${e.slug}`,onClick:t=>I(e)},null,8,[`label`,`color`,`variant`,`trailing-icon`,`data-testid`,`onClick`]))),128)),y(b)?(t(),h(f,{key:0,modelValue:y(S),"onUpdate:modelValue":n[0]||=e=>a(S)?S.value=e:null,autofocus:``,placeholder:`Nome do ambiente`,"data-testid":`ambientes-novo-nome`,onKeyup:[M(H,[`enter`]),n[1]||=M(e=>b.value=!1,[`esc`])]},null,8,[`modelValue`])):o(``,!0),v(i,{icon:y(b)?`i-ic-round-check`:`i-ic-round-add`,label:y(b)?`Criar`:`Novo ambiente`,color:`neutral`,variant:`soft`,loading:y(E),disabled:y(b)&&!y(S).trim(),"data-testid":`ambientes-criar`,onClick:n[2]||=e=>y(b)?H():b.value=!0},null,8,[`icon`,`label`,`loading`,`disabled`])]),y(j)?(t(),l(`div`,lt,[v(g,{label:`Nome`},{default:O(()=>[v(f,{modelValue:y(d),"onUpdate:modelValue":n[3]||=e=>a(d)?d.value=e:null,class:`w-full`,"data-testid":`ambientes-nome`},null,8,[`modelValue`])]),_:1}),v(x,{modelValue:y(p),"onUpdate:modelValue":n[4]||=e=>a(p)?p.value=e:null,"known-keys":y(s)?.known_keys,testid:`ambientes-variaveis`},null,8,[`modelValue`,`known-keys`]),m(`div`,ut,[v(i,{label:`Salvar`,loading:y(E),disabled:!y(P),"data-testid":`ambientes-salvar`,onClick:W},null,8,[`loading`,`disabled`]),y(P)?(t(),h(i,{key:0,label:`Reverter`,color:`neutral`,variant:`soft`,"data-testid":`ambientes-reverter`,onClick:L})):o(``,!0),v(i,{label:y(C)?`Confirmar remoção`:`Remover`,color:`error`,variant:y(C)?`solid`:`ghost`,loading:y(E),"data-testid":`ambientes-remover`,onClick:re},null,8,[`label`,`variant`,`loading`])])])):y(T)?o(``,!0):(t(),h(D,{key:1,icon:`i-ic-round-layers`,testid:`ambientes-vazio`,title:`Nenhum ambiente ainda`,description:`Crie o primeiro ambiente para separar desenvolvimento, homologação e produção. Ele já nasce com o que o projeto tem configurado hoje.`}))])],32)]),footer:O(()=>[y(w)?(t(),l(`p`,dt,` Há alterações não salvas neste ambiente. `)):o(``,!0),v(i,{label:y(w)?`Descartar alterações`:`Fechar`,color:y(w)?`warning`:`neutral`,variant:y(w)?`soft`:`ghost`,"data-testid":`ambientes-fechar`,onClick:ne},null,8,[`label`,`color`,`variant`])]),_:1},8,[`open`,`dismissable`])}}}),{__name:`ProjectEnvironmentsModal`}),pt=Object.assign(s({__name:`modal`,props:E({slug:{},baseUrl:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:E([`saved`],[`update:open`]),setup(e,{emit:n}){let r=x(e,`open`),i=n,o=g(``),s=g(!1),c=g(!1),l=U();D(r,t=>{t&&(o.value=e.baseUrl??``)});async function u(){c.value=!0;try{await R(`/api/projects/${e.slug}/settings/skip`,{method:`POST`}),r.value=!1,i(`saved`)}catch(e){l.failure(e,`Não foi possível deixar a URL em branco.`)}finally{c.value=!1}}async function d(){s.value=!0;try{await R(`/api/projects/${e.slug}/settings`,{method:`PUT`,body:{baseUrl:o.value.trim()}}),r.value=!1,i(`saved`),l.success(`Configurações salvas`)}catch(e){l.failure(e,`Não foi possível salvar as configurações.`)}finally{s.value=!1}}return(e,n)=>{let i=Oe,l=$,f=z,p=Q,m=we;return t(),h(m,{open:r.value,"onUpdate:open":n[1]||=e=>r.value=e,dismissable:!1,title:`Configurações do projeto`},{body:O(()=>[v(i,{color:`neutral`,variant:`soft`,icon:`i-ic-round-info`,description:`A URL é um facilitador: com ela o navegador já abre no sistema ao gravar. Sem ela, a gravação sempre começa numa página em branco e você digita o endereço na mão.`,class:`mb-4`,"data-testid":`projeto-configuracoes-obrigatorio`}),v(f,{label:`URL base`,description:`Endereço do sistema que este projeto testa. É onde o navegador abre ao gravar, e a base que os testes usam ao rodar.`},{default:O(()=>[v(l,{modelValue:y(o),"onUpdate:modelValue":n[0]||=e=>a(o)?o.value=e:null,class:`w-full`,placeholder:`https://sistema.exemplo.com/app`,"data-testid":`projeto-configuracoes-base-url`,onKeyup:M(d,[`enter`])},null,8,[`modelValue`])]),_:1})]),footer:O(()=>[v(p,{label:`Deixar em branco`,color:`neutral`,variant:`ghost`,loading:y(c),"data-testid":`projeto-configuracoes-pular`,onClick:u},null,8,[`loading`]),v(p,{label:`Salvar`,loading:y(s),disabled:!y(o).trim(),"data-testid":`projeto-configuracoes-salvar`,onClick:d},null,8,[`loading`,`disabled`])]),_:1},8,[`open`])}}}),{__name:`ProjectSettingsModal`}),mt={class:`flex items-start justify-between gap-4`},ht={class:`flex flex-col gap-1 min-w-0`},gt={class:`flex items-center gap-2`},_t=[`title`],vt={key:0,class:`text-sm`,"data-testid":`projeto-branch`},yt={class:`font-medium`},bt={class:`text-xs text-dimmed`},xt={class:`flex gap-2 shrink-0`},St={class:`flex flex-wrap items-center gap-4 mt-8 mb-8`},Ct=[`data-testid`],wt={key:2,class:`mb-8 flex flex-col gap-3`},Tt={key:3,class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4`},Et={class:`flex flex-col gap-2`},Dt={class:`font-semibold truncate`},Ot={class:`text-sm text-muted italic truncate`},kt={class:`flex flex-wrap gap-1`},At=`tests/auth.setup.ts`,jt=s({__name:`[slug]`,async setup(e){let n,r,i=ee(),s=f(()=>i.params.slug),d=g(!1);j(()=>{d.value=!0});let{data:p,error:b,refresh:x}=([n,r]=C(()=>ne(`/api/projects/${s.value}`,`$pWmjyfGnvu`)),n=await n,r(),n);if(b.value||!p.value)throw N({statusCode:404,message:`Projeto não encontrado.`});let w=f(()=>Te(p.value)),T=f(()=>new Date(p.value.updated_at).toLocaleString(`pt-BR`,{dateStyle:`short`,timeStyle:`short`})),E=g(``),k=f(()=>{let e=E.value.trim().toLowerCase(),t=p.value?.scenarios??[];return e?t.filter(t=>t.title.toLowerCase().includes(e)||t.tags.some(t=>t.toLowerCase().includes(e))):t}),A=Me(()=>s.value),M=g(!1);function P(){M.value=!0,A.start({grep:k.value.map(e=>e.title.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`|`)})}let F=g(!1);j(()=>{p.value?.requires_url&&(F.value=!0)});let L=g(!1);j(()=>{ee().query.environment!==void 0&&(L.value=!0)});async function te(){await ie(`environments-${s.value}`),await x()}let z=g(!1),B=g(!1),V=g(!1),H=f(()=>`/projects/${s.value}/scenarios/auth`),U=Me(()=>s.value),W=g(!1),re=f(()=>({configured:`success`,failing:`error`,unset:`neutral`,skipped:`neutral`})[p.value.auth_status]);async function G(){V.value=!0;try{await R(`/api/projects/${s.value}/auth/skip`,{method:`POST`}),await x()}finally{V.value=!1}}let{state:K,startRecording:q,stopRecording:se}=ae(),ce=g(!1),J=g(`plain`),Y=f(()=>J.value===`public`),le=f(()=>p.value.auth_status===`configured`||p.value.auth_status===`failing`),ue=f(()=>[[{label:`Cenário autenticado`,description:`Entra no sistema antes de gravar`,icon:`i-ic-round-lock`,testid:`cenario-novo-autenticado`,onSelect:()=>Z()},{label:`Cenário público`,description:`Grava sem sessão (login, cadastro, landing)`,icon:`i-ic-round-public`,testid:`cenario-novo-publico`,onSelect:()=>fe()}]]),X=f(()=>p.value.base_url??void 0);function de(){J.value=`plain`,q(`scenario`,{url:X.value})}function fe(){J.value=`public`,q(`scenario`,{url:X.value})}function Z(){J.value=`authenticated`,W.value=!0,U.start({spec:At},()=>{x(),U.passed.value&&(W.value=!1,q(`scenario`,{storageState:p.value.storage_state,url:X.value}))})}function pe(){return le.value?Z():de()}function me(){if(J.value===`authenticated`)return Z();if(J.value===`public`)return fe();de()}D(()=>K.value.videoSessionId,e=>{e&&(ce.value=!0)});function he(){se()}function ge(e){I(`/projects/${e}`)}async function _e(){B.value=!0;try{await R(`/api/projects/${s.value}`,{method:`DELETE`}),await I(`/`)}finally{B.value=!1}}return(e,n)=>{let r=oe,i=Ee,f=He,g=Ke,b=Q,C=Oe,D=$,j=Ye,N=ze,ee=Ze,R=Pe,ne=tt,ie=ft,q=pt,ae=Ce,se=Fe,J=Le,X=De;return t(),h(X,{"data-hydrated":y(d),class:`py-6 lg:py-10`},{default:O(()=>[m(`div`,mt,[m(`div`,ht,[m(`div`,gt,[v(r,{icon:`i-ic-round-arrow-back`,label:`Voltar`,variant:`ghost`,color:`neutral`,to:`/`,"data-testid":`projeto-voltar`}),v(i,{icon:y(w).icon,label:y(w).label,"data-testid":`projeto-origem`},null,8,[`icon`,`label`])]),v(f,{slug:y(s),name:y(p).name,onRenamed:ge},null,8,[`slug`,`name`]),m(`p`,{class:`text-sm text-muted italic truncate`,title:y(p).repository??void 0,"data-testid":`projeto-caminho`},S(y(p).path),9,_t),y(p).branch?(t(),l(`p`,vt,[n[13]||=c(` Branch: `,-1),m(`span`,yt,S(y(p).branch),1)])):o(``,!0),m(`p`,bt,` Última modificação: `+S(y(T)),1)]),m(`div`,xt,[v(g,{slug:y(s),onEdit:n[0]||=e=>L.value=!0,onActivated:n[1]||=e=>y(x)()},null,8,[`slug`]),v(r,{icon:`i-ic-round-key`,label:`Autenticação`,color:y(re),variant:`soft`,to:y(H),"data-testid":`projeto-auth`},null,8,[`color`,`to`]),y(p).has_report?(t(),h(r,{key:0,icon:`i-ic-round-assessment`,label:`Relatório da última execução`,color:`neutral`,variant:`soft`,to:y(je)(y(s)),target:`_blank`,external:``,"data-testid":`projeto-relatorio`},null,8,[`to`])):o(``,!0),v(r,{icon:`i-ic-round-code`,label:`Abrir no VS Code`,color:`neutral`,variant:`soft`,to:y(p).vscode_url,target:`_blank`,"data-testid":`projeto-vscode`},null,8,[`to`]),v(r,{icon:`i-ic-round-delete`,label:`Remover projeto`,color:`error`,variant:`soft`,"data-testid":`projeto-remover`,onClick:n[2]||=e=>z.value=!0})])]),y(p).auth_status===`unset`?(t(),h(C,{key:0,color:`warning`,variant:`soft`,icon:`i-ic-round-warning`,class:`mt-6`,title:`Sem autenticação configurada`,description:`Cenários gravados após um login vão falhar na verificação até a autenticação ser configurada.`,"data-testid":`projeto-auth-aviso`,ui:{actions:`justify-end`}},{actions:O(()=>[v(b,{label:`Não precisa de login`,size:`md`,color:`neutral`,variant:`link`,loading:y(V),"data-testid":`projeto-auth-dispensar`,onClick:G},null,8,[`loading`]),v(b,{label:`Configurar`,size:`md`,color:`warning`,to:y(H),"data-testid":`projeto-auth-configurar`},null,8,[`to`])]),_:1})):y(p).auth_status===`failing`?(t(),h(C,{key:1,color:`error`,variant:`soft`,icon:`i-ic-round-error`,class:`mt-6`,title:`A autenticação não está funcionando`,description:`A última execução do login falhou. Todo cenário deste projeto roda o login antes, então eles vão falhar junto até isso ser resolvido.`,"data-testid":`projeto-auth-falhando`,ui:{actions:`justify-end`}},{actions:O(()=>[v(b,{label:`Ver autenticação`,size:`md`,color:`error`,to:y(H),"data-testid":`projeto-auth-revisar`},null,8,[`to`])]),_:1})):o(``,!0),m(`div`,St,[v(D,{modelValue:y(E),"onUpdate:modelValue":n[3]||=e=>a(E)?E.value=e:null,"data-testid":`cenario-busca`,icon:`i-ic-round-search`,placeholder:`Buscar cenário...`,class:`flex-1 min-w-48`},null,8,[`modelValue`]),v(b,{label:`Rodar ${y(k).length} filtrados`,"trailing-icon":`i-ic-round-play-arrow`,color:`neutral`,variant:`soft`,disabled:!y(k).length,loading:y(A).running.value,"data-testid":`projeto-rodar-filtrados`,onClick:P},null,8,[`label`,`disabled`,`loading`]),!y(K).recording&&y(le)?(t(),h(j,{key:0,items:y(ue)},{"item-label":O(({item:e})=>[m(`span`,{"data-testid":e.testid},S(e.label),9,Ct)]),default:O(()=>[v(b,{"data-testid":`cenario-novo`,label:`Novo cenário`,"trailing-icon":`i-ic-round-expand-more`,disabled:!y(K).connected},null,8,[`disabled`])]),_:1},8,[`items`])):y(K).recording?(t(),h(b,{key:2,"data-testid":`cenario-parar`,label:`Parar gravação`,"trailing-icon":`i-ic-round-stop`,color:`error`,class:`animate-pulse`,onClick:he})):(t(),h(b,{key:1,"data-testid":`cenario-novo`,label:`Novo cenário`,"trailing-icon":`i-ic-round-add`,disabled:!y(K).connected,onClick:de},null,8,[`disabled`]))]),y(K).error?(t(),l(`div`,wt,[v(C,{color:`error`,variant:`soft`,"data-testid":`webdriver-erro`,description:y(K).error},null,8,[`description`]),y(K).error.includes(`Chrome`)?(t(),h(N,{key:0})):o(``,!0)])):o(``,!0),v(ee,{open:y(ce),"onUpdate:open":n[4]||=e=>a(ce)?ce.value=e:null,slug:y(s),"is-public":y(Y),onGenerated:n[5]||=e=>y(x)(),onRerecord:me},null,8,[`open`,`slug`,`is-public`]),y(k).length?(t(),l(`div`,Tt,[(t(!0),l(_,null,u(y(k),e=>(t(),h(R,{key:e.spec,"data-testid":`cenario-card`,class:`cursor-pointer`,onClick:t=>y(I)(`/projects/${y(s)}/scenarios/${e.spec.replace(/^tests\//,``).replace(/\.spec\.ts$/,``)}`)},{default:O(()=>[m(`div`,Et,[m(`p`,Dt,S(e.title),1),m(`p`,Ot,S(e.spec),1),m(`div`,kt,[(t(!0),l(_,null,u(e.tags,e=>(t(),h(i,{key:e,color:y(Be)(e),size:`md`,label:e},null,8,[`color`,`label`]))),128))])])]),_:2},1032,[`onClick`]))),128))])):(t(),h(ne,{key:4,disabled:!y(K).connected,onRecord:pe},null,8,[`disabled`])),v(ie,{open:y(L),"onUpdate:open":n[6]||=e=>a(L)?L.value=e:null,slug:y(s),onSaved:te},null,8,[`open`,`slug`]),v(q,{open:y(F),"onUpdate:open":n[7]||=e=>a(F)?F.value=e:null,slug:y(s),"base-url":y(p).base_url,onSaved:n[8]||=e=>y(x)()},null,8,[`open`,`slug`,`base-url`]),v(ae,{open:y(M),"onUpdate:open":n[9]||=e=>a(M)?M.value=e:null,running:y(A).running.value,passed:y(A).passed.value,tests:y(A).tests.value,"project-name":y(p).name,slug:y(s),filter:y(E),"tested-at":y(A).testedAt.value,output:y(A).output.value},null,8,[`open`,`running`,`passed`,`tests`,`project-name`,`slug`,`filter`,`tested-at`,`output`]),v(se,{open:y(W),"onUpdate:open":n[10]||=e=>a(W)?W.value=e:null,running:y(U).running.value,passed:y(U).passed.value,steps:y(U).steps.value,"video-url":y(U).videoUrl.value,"project-name":y(p).name,kind:`autenticacao`,"scenario-name":At,branch:y(p).branch,"tested-at":y(U).testedAt.value,output:y(U).output.value,onFix:n[11]||=e=>y(I)(y(H))},null,8,[`open`,`running`,`passed`,`steps`,`video-url`,`project-name`,`branch`,`tested-at`,`output`]),v(J,{open:y(z),"onUpdate:open":n[12]||=e=>a(z)?z.value=e:null,title:`Remover projeto`,description:`Isso apaga a pasta ${y(p).path} e todos os testes dentro dela.`,"confirm-label":`Remover`,"confirm-color":`error`,"confirm-testid":`projeto-remover-confirmar`,loading:y(B),onConfirm:_e},null,8,[`open`,`description`,`loading`])]),_:1},8,[`data-hydrated`])}}});export{jt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"id":"f764322c-bb05-455d-81f9-a546df72cf7d","timestamp":1787347691636,"prerendered":[]}
|