@acutis/cli 0.1.1 → 0.1.2-dev.19

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.
Files changed (64) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/9eLkUDDj.js +1 -0
  3. package/.output/public/_nuxt/BGkBW2ni2.js +1 -0
  4. package/.output/public/_nuxt/BKydt2Wp2.js +4 -0
  5. package/.output/public/_nuxt/CDI0GNVb2.js +1 -0
  6. package/.output/public/_nuxt/CqZ7dV6a2.js +64 -0
  7. package/.output/public/_nuxt/{CC0OsuIz.js → DtncvtMS.js} +3 -3
  8. package/.output/public/_nuxt/builds/latest.json +1 -1
  9. package/.output/public/_nuxt/builds/meta/a872bf7d-d21f-4cc5-b4d7-6ddb7b63d620.json +1 -0
  10. package/.output/public/_nuxt/entry.Ci6Ki0cW.css +2 -0
  11. package/.output/public/_nuxt/tags.B5A43CvD.css +1 -0
  12. package/.output/server/chunks/_/auth2.mjs +3 -3
  13. package/.output/server/chunks/_/environment.mjs +2 -2
  14. package/.output/server/chunks/_/generation.mjs +3 -3
  15. package/.output/server/chunks/_/project.mjs +2 -2
  16. package/.output/server/chunks/_/project.service.mjs +2 -30
  17. package/.output/server/chunks/_/project.service.mjs.map +1 -1
  18. package/.output/server/chunks/_/recording.mjs +5 -2
  19. package/.output/server/chunks/_/recording.mjs.map +1 -1
  20. package/.output/server/chunks/_/scenario.mjs +4 -2
  21. package/.output/server/chunks/_/scenario.mjs.map +1 -1
  22. package/.output/server/chunks/_/scenario2.mjs +22 -5
  23. package/.output/server/chunks/_/scenario2.mjs.map +1 -1
  24. package/.output/server/chunks/_/spec-rules.mjs +28 -231
  25. package/.output/server/chunks/_/spec-rules.mjs.map +1 -1
  26. package/.output/server/chunks/build/{_...scenario_-DNqQ06NM.mjs → _...scenario_-CTwC_evr.mjs} +172 -31
  27. package/.output/server/chunks/build/_...scenario_-CTwC_evr.mjs.map +1 -0
  28. package/.output/server/chunks/build/{_slug_-BlLRYU9d.mjs → _slug_-DEXTo_9N.mjs} +58 -34
  29. package/.output/server/chunks/build/{_slug_-BlLRYU9d.mjs.map → _slug_-DEXTo_9N.mjs.map} +1 -1
  30. package/.output/server/chunks/build/{tags-DrKY6Ah4.mjs → tags-DQ0X0wtQ.mjs} +59 -14
  31. package/.output/server/chunks/build/{tags-DrKY6Ah4.mjs.map → tags-DQ0X0wtQ.mjs.map} +1 -1
  32. package/.output/server/chunks/build/timeline-styles.CzOXKr8R.mjs +9 -0
  33. package/.output/server/chunks/build/timeline-styles.CzOXKr8R.mjs.map +1 -0
  34. package/.output/server/chunks/nitro/nitro.mjs +679 -266
  35. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  36. package/.output/server/chunks/raw/driver-entry.mjs +1 -1
  37. package/.output/server/chunks/routes/api/projects/_slug/auth/record.post.mjs +1 -1
  38. package/.output/server/chunks/routes/api/projects/_slug/auth/skip.post.mjs +1 -1
  39. package/.output/server/chunks/routes/api/projects/_slug/auth.get.mjs +1 -1
  40. package/.output/server/chunks/routes/api/projects/_slug/auth.put.mjs +1 -1
  41. package/.output/server/chunks/routes/debug/close-page.post.mjs +40 -0
  42. package/.output/server/chunks/routes/debug/close-page.post.mjs.map +1 -0
  43. package/.output/server/chunks/routes/debug/replay-decision.post.mjs +43 -0
  44. package/.output/server/chunks/routes/debug/replay-decision.post.mjs.map +1 -0
  45. package/.output/server/chunks/routes/renderer.mjs +2 -2
  46. package/.output/server/chunks/routes/runner/video.get.mjs +1 -1
  47. package/.output/server/chunks/routes/ws.mjs +19 -2
  48. package/.output/server/chunks/routes/ws.mjs.map +1 -1
  49. package/.output/server/chunks/virtual/entry.mjs +3 -3
  50. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  51. package/.output/server/chunks/virtual/styles.mjs +2 -1
  52. package/.output/server/index.mjs +1 -1
  53. package/.output/server/package.json +1 -1
  54. package/bin/acutis.js +2 -0
  55. package/dist-ui/driver-entry.js +3 -3
  56. package/package.json +1 -1
  57. package/.output/public/_nuxt/5GgR1mbX.js +0 -1
  58. package/.output/public/_nuxt/CTLrtTtn2.js +0 -64
  59. package/.output/public/_nuxt/D4ykC_lY2.js +0 -1
  60. package/.output/public/_nuxt/DDHUGtv32.js +0 -4
  61. package/.output/public/_nuxt/Dpnaldxf2.js +0 -1
  62. package/.output/public/_nuxt/builds/meta/f94c5b32-3977-4b64-aa04-5c5156832c09.json +0 -1
  63. package/.output/public/_nuxt/entry.m-nAFUcz.css +0 -2
  64. package/.output/server/chunks/build/_...scenario_-DNqQ06NM.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":"f94c5b32-3977-4b64-aa04-5c5156832c09","timestamp":1787265676157,"prerendered":[]}