@acutis/cli 0.1.2-dev.17 → 0.1.2-dev.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) 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/{D5HF1Z0f2.js → Bd538XcA2.js} +1 -1
  6. package/.output/public/_nuxt/CDI0GNVb2.js +1 -0
  7. package/.output/public/_nuxt/CqZ7dV6a2.js +64 -0
  8. package/.output/public/_nuxt/{CC0OsuIz.js → DQk6DVe-.js} +3 -3
  9. package/.output/public/_nuxt/builds/latest.json +1 -1
  10. package/.output/public/_nuxt/builds/meta/efaaa78a-5dcb-48ec-a876-1eaf98ae6c55.json +1 -0
  11. package/.output/public/_nuxt/{BEFJRHhA2.js → dCqlxK8U2.js} +1 -1
  12. package/.output/public/_nuxt/entry.Ci6Ki0cW.css +2 -0
  13. package/.output/public/_nuxt/error-404.CkhL7nxg.css +1 -0
  14. package/.output/public/_nuxt/error-500.DNftkU4A.css +1 -0
  15. package/.output/public/_nuxt/tags.B5A43CvD.css +1 -0
  16. package/.output/server/chunks/_/auth2.mjs +3 -3
  17. package/.output/server/chunks/_/environment.mjs +3 -3
  18. package/.output/server/chunks/_/error-500.mjs.map +1 -1
  19. package/.output/server/chunks/_/generation.mjs +3 -3
  20. package/.output/server/chunks/_/project.mjs +2 -2
  21. package/.output/server/chunks/_/project.service.mjs +3 -31
  22. package/.output/server/chunks/_/project.service.mjs.map +1 -1
  23. package/.output/server/chunks/_/recording.mjs +5 -2
  24. package/.output/server/chunks/_/recording.mjs.map +1 -1
  25. package/.output/server/chunks/_/scenario.mjs +4 -2
  26. package/.output/server/chunks/_/scenario.mjs.map +1 -1
  27. package/.output/server/chunks/_/scenario2.mjs +22 -5
  28. package/.output/server/chunks/_/scenario2.mjs.map +1 -1
  29. package/.output/server/chunks/_/spec-rules.mjs +29 -232
  30. package/.output/server/chunks/_/spec-rules.mjs.map +1 -1
  31. package/.output/server/chunks/build/{Alert-Q5hBYuxt.mjs → Alert-DX-UEOEY.mjs} +3 -3
  32. package/.output/server/chunks/build/Alert-DX-UEOEY.mjs.map +1 -0
  33. package/.output/server/chunks/build/{Badge-BgyIJKeU.mjs → Badge-DCotJtd8.mjs} +3 -3
  34. package/.output/server/chunks/build/Badge-DCotJtd8.mjs.map +1 -0
  35. package/.output/server/chunks/build/{Card-DLzZ816u.mjs → Card-D7QwltkF.mjs} +3 -3
  36. package/.output/server/chunks/build/Card-D7QwltkF.mjs.map +1 -0
  37. package/.output/server/chunks/build/{Container-HW0bT_Wn.mjs → Container-Biz72Lxy.mjs} +3 -3
  38. package/.output/server/chunks/build/Container-Biz72Lxy.mjs.map +1 -0
  39. package/.output/server/chunks/build/{Pagination-FFamqWKD.mjs → Pagination-D2AcUggP.mjs} +3 -3
  40. package/.output/server/chunks/build/{Pagination-FFamqWKD.mjs.map → Pagination-D2AcUggP.mjs.map} +1 -1
  41. package/.output/server/chunks/build/{_...scenario_-DNqQ06NM.mjs → _...scenario_-D8fF8UCa.mjs} +186 -45
  42. package/.output/server/chunks/build/_...scenario_-D8fF8UCa.mjs.map +1 -0
  43. package/.output/server/chunks/build/{_slug_-BlLRYU9d.mjs → _slug_-0Xu9aQ3b.mjs} +75 -51
  44. package/.output/server/chunks/build/{_slug_-BlLRYU9d.mjs.map → _slug_-0Xu9aQ3b.mjs.map} +1 -1
  45. package/.output/server/chunks/build/{auth-status-Bo2gxZ-H.mjs → auth-status-kUEDoxDI.mjs} +2 -2
  46. package/.output/server/chunks/build/{auth-status-Bo2gxZ-H.mjs.map → auth-status-kUEDoxDI.mjs.map} +1 -1
  47. package/.output/server/chunks/build/{auth-status-5sNoLTPk.mjs → auth-status-kswM9iTW.mjs} +4 -4
  48. package/.output/server/chunks/build/{auth-status-5sNoLTPk.mjs.map → auth-status-kswM9iTW.mjs.map} +1 -1
  49. package/.output/server/chunks/build/{empty-xO5aD2Ip.mjs → empty-D8gbt7LG.mjs} +1 -1
  50. package/.output/server/chunks/build/{empty-xO5aD2Ip.mjs.map → empty-D8gbt7LG.mjs.map} +1 -1
  51. package/.output/server/chunks/build/{error-404-Dzfp7Wik.mjs → error-404-B5fzVPdQ.mjs} +5 -5
  52. package/.output/server/chunks/build/error-404-B5fzVPdQ.mjs.map +1 -0
  53. package/.output/server/chunks/build/error-404-styles.C6Lq0aSH.mjs +9 -0
  54. package/.output/server/chunks/build/error-404-styles.C6Lq0aSH.mjs.map +1 -0
  55. package/.output/server/chunks/build/{error-500-Df60mzLr.mjs → error-500-Be62wrWs.mjs} +5 -5
  56. package/.output/server/chunks/build/error-500-Be62wrWs.mjs.map +1 -0
  57. package/.output/server/chunks/build/error-500-styles.D3b6pwL1.mjs +9 -0
  58. package/.output/server/chunks/build/error-500-styles.D3b6pwL1.mjs.map +1 -0
  59. package/.output/server/chunks/build/{generation-warnings-RCB9uLi8.mjs → generation-warnings-D4Br9kVN.mjs} +4 -4
  60. package/.output/server/chunks/build/{generation-warnings-RCB9uLi8.mjs.map → generation-warnings-D4Br9kVN.mjs.map} +1 -1
  61. package/.output/server/chunks/build/{history-D-mei_D6.mjs → history-eVF-ijkS.mjs} +5 -5
  62. package/.output/server/chunks/build/{history-D-mei_D6.mjs.map → history-eVF-ijkS.mjs.map} +1 -1
  63. package/.output/server/chunks/build/{modal-Cpj-bQgu.mjs → modal-CELo8GdZ.mjs} +5 -5
  64. package/.output/server/chunks/build/{modal-Cpj-bQgu.mjs.map → modal-CELo8GdZ.mjs.map} +1 -1
  65. package/.output/server/chunks/build/{modal-DV_DQ0hO.mjs → modal-CUNv4bFw.mjs} +7 -7
  66. package/.output/server/chunks/build/{modal-DV_DQ0hO.mjs.map → modal-CUNv4bFw.mjs.map} +1 -1
  67. package/.output/server/chunks/build/{modal-81h_kbj9.mjs → modal-Cl4zRASg.mjs} +5 -5
  68. package/.output/server/chunks/build/{modal-81h_kbj9.mjs.map → modal-Cl4zRASg.mjs.map} +1 -1
  69. package/.output/server/chunks/build/{origin-_Ab6zkKk.mjs → origin-_7Gia2Vr.mjs} +4 -4
  70. package/.output/server/chunks/build/{origin-_Ab6zkKk.mjs.map → origin-_7Gia2Vr.mjs.map} +1 -1
  71. package/.output/server/chunks/build/{pages-BuW8VoW3.mjs → pages-C0ubizZ3.mjs} +14 -14
  72. package/.output/server/chunks/build/pages-C0ubizZ3.mjs.map +1 -0
  73. package/.output/server/chunks/build/{phrases-CSDEYSbZ.mjs → phrases-rvaRKDG_.mjs} +1 -1
  74. package/.output/server/chunks/build/{phrases-CSDEYSbZ.mjs.map → phrases-rvaRKDG_.mjs.map} +1 -1
  75. package/.output/server/chunks/build/{project-run-filtered-CplHFc5x.mjs → project-run-filtered-DFIlti8u.mjs} +7 -7
  76. package/.output/server/chunks/build/{project-run-filtered-CplHFc5x.mjs.map → project-run-filtered-DFIlti8u.mjs.map} +1 -1
  77. package/.output/server/chunks/build/{scenario-runs-C7TDC5iA.mjs → scenario-runs-bilf1StX.mjs} +7 -7
  78. package/.output/server/chunks/build/{scenario-runs-C7TDC5iA.mjs.map → scenario-runs-bilf1StX.mjs.map} +1 -1
  79. package/.output/server/chunks/build/{scenario-suggestions-CsQg875h.mjs → scenario-suggestions-CMPsmNXz.mjs} +7 -7
  80. package/.output/server/chunks/build/{scenario-suggestions-CsQg875h.mjs.map → scenario-suggestions-CMPsmNXz.mjs.map} +1 -1
  81. package/.output/server/chunks/build/{scenario-test-run-Deg4Qlme.mjs → scenario-test-run-DIjyHDe-.mjs} +7 -7
  82. package/.output/server/chunks/build/{scenario-test-run-Deg4Qlme.mjs.map → scenario-test-run-DIjyHDe-.mjs.map} +1 -1
  83. package/.output/server/chunks/build/{steps-CcAjZqHX.mjs → steps-DBViokqd.mjs} +1 -1
  84. package/.output/server/chunks/build/{steps-CcAjZqHX.mjs.map → steps-DBViokqd.mjs.map} +1 -1
  85. package/.output/server/chunks/build/{tags-DrKY6Ah4.mjs → tags-BiGRnEfK.mjs} +62 -17
  86. package/.output/server/chunks/build/{tags-DrKY6Ah4.mjs.map → tags-BiGRnEfK.mjs.map} +1 -1
  87. package/.output/server/chunks/build/timeline-styles.CzOXKr8R.mjs +9 -0
  88. package/.output/server/chunks/build/timeline-styles.CzOXKr8R.mjs.map +1 -0
  89. package/.output/server/chunks/build/{warnings-D8SWbHw0.mjs → warnings-BjFCNgyv.mjs} +2 -2
  90. package/.output/server/chunks/build/{warnings-D8SWbHw0.mjs.map → warnings-BjFCNgyv.mjs.map} +1 -1
  91. package/.output/server/chunks/nitro/nitro.mjs +683 -273
  92. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  93. package/.output/server/chunks/raw/driver-entry.mjs +1 -1
  94. package/.output/server/chunks/routes/api/projects/_slug/auth/record.post.mjs +1 -1
  95. package/.output/server/chunks/routes/api/projects/_slug/auth/skip.post.mjs +1 -1
  96. package/.output/server/chunks/routes/api/projects/_slug/auth.get.mjs +1 -1
  97. package/.output/server/chunks/routes/api/projects/_slug/auth.put.mjs +1 -1
  98. package/.output/server/chunks/routes/debug/close-page.post.mjs +40 -0
  99. package/.output/server/chunks/routes/debug/close-page.post.mjs.map +1 -0
  100. package/.output/server/chunks/routes/debug/replay-decision.post.mjs +43 -0
  101. package/.output/server/chunks/routes/debug/replay-decision.post.mjs.map +1 -0
  102. package/.output/server/chunks/routes/renderer.mjs +2 -2
  103. package/.output/server/chunks/routes/renderer.mjs.map +1 -1
  104. package/.output/server/chunks/routes/runner/video.get.mjs +1 -1
  105. package/.output/server/chunks/routes/ws.mjs +19 -2
  106. package/.output/server/chunks/routes/ws.mjs.map +1 -1
  107. package/.output/server/chunks/virtual/entry.mjs +128 -128
  108. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  109. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  110. package/.output/server/chunks/virtual/styles.mjs +4 -3
  111. package/.output/server/index.mjs +1 -1
  112. package/.output/server/package.json +1 -1
  113. package/bin/splash.mjs +2 -2
  114. package/dist-ui/driver-entry.js +3 -3
  115. package/package.json +5 -1
  116. package/reporters/stream-reporter.cjs +3 -3
  117. package/.output/public/_nuxt/5GgR1mbX.js +0 -1
  118. package/.output/public/_nuxt/CTLrtTtn2.js +0 -64
  119. package/.output/public/_nuxt/D4ykC_lY2.js +0 -1
  120. package/.output/public/_nuxt/DDHUGtv32.js +0 -4
  121. package/.output/public/_nuxt/Dpnaldxf2.js +0 -1
  122. package/.output/public/_nuxt/builds/meta/f764322c-bb05-455d-81f9-a546df72cf7d.json +0 -1
  123. package/.output/public/_nuxt/entry.m-nAFUcz.css +0 -2
  124. package/.output/public/_nuxt/error-404.DopINOT1.css +0 -1
  125. package/.output/public/_nuxt/error-500.D7goJC9g.css +0 -1
  126. package/.output/server/chunks/build/Alert-Q5hBYuxt.mjs.map +0 -1
  127. package/.output/server/chunks/build/Badge-BgyIJKeU.mjs.map +0 -1
  128. package/.output/server/chunks/build/Card-DLzZ816u.mjs.map +0 -1
  129. package/.output/server/chunks/build/Container-HW0bT_Wn.mjs.map +0 -1
  130. package/.output/server/chunks/build/_...scenario_-DNqQ06NM.mjs.map +0 -1
  131. package/.output/server/chunks/build/error-404-Dzfp7Wik.mjs.map +0 -1
  132. package/.output/server/chunks/build/error-404-styles.ByPbpRGS.mjs +0 -9
  133. package/.output/server/chunks/build/error-404-styles.ByPbpRGS.mjs.map +0 -1
  134. package/.output/server/chunks/build/error-500-Df60mzLr.mjs.map +0 -1
  135. package/.output/server/chunks/build/error-500-styles.Dz8enkTW.mjs +0 -9
  136. package/.output/server/chunks/build/error-500-styles.Dz8enkTW.mjs.map +0 -1
  137. package/.output/server/chunks/build/pages-BuW8VoW3.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "date": "2026-08-21T21:28:48.490Z",
2
+ "date": "2026-08-22T22:06:19.745Z",
3
3
  "preset": "node-server",
4
4
  "framework": {
5
5
  "name": "nuxt",
@@ -0,0 +1 @@
1
+ import{At as e,G as t,P as n,U as r,gt as i,ln as a}from"./DMHcp4U1.js";import{l as o}from"./k5q7GKnv.js";import{r as s}from"./Gcazu-lR.js";import{t as c}from"./Ch1EeKHP.js";var l=2e3,u=null,d,f=!1;function p(){let e=o(`webdriver`,()=>({connected:!1,extensionReady:!1,recording:!1,replaying:!1,replayFailedStep:null,error:null,events:[],videoSessionId:null,recordingStartedAt:null,storageState:null}));function t(e,t={}){u?.readyState===WebSocket.OPEN&&u.send(JSON.stringify({type:e,...t}))}function n(t){let n;try{n=JSON.parse(t)}catch{return}if(n.event)switch(n.event){case`recorder:hello`:{e.value.extensionReady=!0;let t=n;typeof t.recording==`boolean`&&(e.value.recording=t.recording);break}case`recorder:started`:e.value.recording=!0,e.value.recordingStartedAt=n.recordingStartedAt??null;break;case`recorder:replayed`:{let t=n.kept;typeof t==`number`&&(e.value.events=e.value.events.slice(0,t)),e.value.replaying=!1,e.value.replayFailedStep=null;break}case`recorder:replay-failed`:e.value.replayFailedStep=n.step??`um dos passos`,e.value.replaying=!1;break;case`recorder:error`:e.value.error=n.error??`Erro na extensão.`,e.value.recording=!1,e.value.replaying=!1,e.value.replayFailedStep=null;break;case`recorder:stop`:e.value.recording=!1,e.value.replaying=!1,e.value.replayFailedStep=null,e.value.videoSessionId=n.sessionId??null,e.value.storageState=n.storageState??null;break;default:n.event.startsWith(`recorder:`)&&e.value.events.push(n)}}function r(){clearTimeout(d);let i=new URL(`/ws`,window.location.href);i.protocol=i.protocol===`https:`?`wss:`:`ws:`,u=new WebSocket(i.toString()),u.onopen=()=>{e.value.connected=!0,t(`WHO`)},u.onclose=()=>{e.value.connected=!1,e.value.extensionReady=!1,d=setTimeout(r,l)},u.onmessage=e=>n(e.data)}function i(){f||(f=!0,r())}function a(n=`scenario`,r={}){e.value.error=null,e.value.events=r.replay??[],e.value.videoSessionId=null,e.value.storageState=null,e.value.recording=!0,e.value.replaying=(r.replay?.length??0)>0,e.value.replayFailedStep=null,t(`START_RECORDING`,{mode:n,...r})}function s(){t(`STOP_RECORDING`),e.value.recording=!1}return{state:e,url:``,ensureConnected:i,startRecording:a,stopRecording:s}}function m(e){let t=e.find(e=>e.url);if(!t?.url)return null;try{return new URL(t.url).origin}catch{return null}}var h=Object.assign(t({inheritAttrs:!1,__name:`icon`,props:{icon:{},label:{},side:{default:`top`}},setup(t){return(o,l)=>{let u=s,d=c;return e(),n(d,{text:t.label,"delay-duration":0,arrow:``,content:{side:t.side}},{default:a(()=>[r(u,i({icon:t.icon,"aria-label":t.label},o.$attrs),null,16,[`icon`,`aria-label`])]),_:1},8,[`text`,`content`])}}}),{__name:`BaseButtonIcon`});export{m as n,p as r,h as t};
@@ -0,0 +1 @@
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"./9eLkUDDj.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,s as Be,t as Ve}from"./BKydt2Wp2.js";var He={key:0,class:`flex items-center gap-2`},Ue=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`,He,[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`}),We={base:`relative`,variants:{size:{xs:``,sm:``,md:``,lg:``,xl:``},orientation:{horizontal:`inline-flex -space-x-px`,vertical:`flex flex-col -space-y-px`}}},Ge={__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:We,...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`]))}},Ke=[`data-testid`],qe=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=Ge;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,Ke)]),_: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`}),Je={__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(Je,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))}},Ye={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`}},Xe={__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:Ye,...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(Je,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))}},Ze=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`}),Qe=Object.assign(s({__name:`modal`,props:E({slug:{},isPublic:{type:Boolean,default:!1}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:E([`generated`,`rerecord`,`resume`],[`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(()=>ze(S.value));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`)}function j(e){r.value=!1,i(`resume`,S.value.slice(0,e))}return(n,i)=>{let u=Ze,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,resumable:``,onResume:j},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`}),$e={"data-testid":`cenario-vazio`,class:`py-10 text-center`},et={class:`flex flex-col items-center gap-2`},tt={class:`flex size-15 items-center justify-center rounded-lg bg-primary/10`},nt=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`,$e,[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`,et,[m(`div`,tt,[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`}),rt={class:`flex flex-col gap-2`},it=[`id`],at=[`value`],ot={key:0,class:`text-sm text-muted italic`},st=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`,rt,[m(`datalist`,{id:y(i)},[(t(!0),l(_,null,u(e.knownKeys,e=>(t(),l(`option`,{key:e,value:e},null,8,at))),128))],8,it),(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`,ot,` 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`}),ct={class:`flex flex-col gap-4 sm:flex-row`},lt={class:`flex flex-col gap-3 sm:w-56 shrink-0`},ut={key:0,class:`flex-1 flex flex-col gap-4 min-w-0`},dt={class:`flex flex-wrap gap-2`},ft={key:0,class:`mr-auto self-center text-sm text-warning`,"data-testid":`ambientes-fechar-aviso`},pt=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=st,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`,ct,[m(`div`,lt,[(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`,ut,[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`,dt,[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`,ft,` 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`}),mt=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`}),ht={class:`flex items-start justify-between gap-4`},gt={class:`flex flex-col gap-1 min-w-0`},_t={class:`flex items-center gap-2`},vt=[`title`],yt={key:0,class:`text-sm`,"data-testid":`projeto-branch`},bt={class:`font-medium`},xt={class:`text-xs text-dimmed`},St={class:`flex gap-2 shrink-0`},Ct={class:`flex flex-wrap items-center gap-4 mt-8 mb-8`},wt=[`data-testid`],Tt={key:2,class:`mb-8 flex flex-col gap-3`},Et={key:3,class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4`},Dt={class:`flex flex-col gap-2`},Ot={class:`font-semibold truncate`},kt={class:`text-sm text-muted italic truncate`},At={class:`flex flex-wrap gap-1`},jt=`tests/auth.setup.ts`,Mt=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(e){J.value=`plain`,q(`scenario`,{url:X.value,replay:e})}function fe(e){J.value=`public`,q(`scenario`,{url:X.value,replay:e})}function Z(e){J.value=`authenticated`,W.value=!0,U.start({spec:jt},()=>{x(),U.passed.value&&(W.value=!1,q(`scenario`,{storageState:p.value.storage_state,url:X.value,replay:e}))})}function pe(){return le.value?Z():de()}function me(e){if(J.value===`authenticated`)return Z(e);if(J.value===`public`)return fe(e);de(e)}D(()=>K.value.videoSessionId,e=>{e&&(ce.value=!0)});let he=f(()=>K.value.replayFailedStep?`Aguardando você na janela`:K.value.replaying?`Refazendo os passos`:`Parar gravação`);function ge(){se()}function _e(e){I(`/projects/${e}`)}async function ve(){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=Ue,g=qe,b=Q,C=Oe,D=$,j=Xe,N=Be,ee=Qe,R=Pe,ne=nt,ie=pt,q=mt,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`,ht,[m(`div`,gt,[m(`div`,_t,[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:_e},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,vt),y(p).branch?(t(),l(`p`,yt,[n[14]||=c(` Branch: `,-1),m(`span`,bt,S(y(p).branch),1)])):o(``,!0),m(`p`,xt,` Última modificação: `+S(y(T)),1)]),m(`div`,St,[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`,Ct,[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,wt)]),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:y(he),"trailing-icon":`i-ic-round-stop`,color:`error`,class:`animate-pulse`,disabled:y(K).replaying,onClick:ge},null,8,[`label`,`disabled`])):(t(),h(b,{key:1,"data-testid":`cenario-novo`,label:`Novo cenário`,"trailing-icon":`i-ic-round-add`,disabled:!y(K).connected,onClick:n[4]||=e=>de()},null,8,[`disabled`]))]),y(K).error?(t(),l(`div`,Tt,[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[5]||=e=>a(ce)?ce.value=e:null,slug:y(s),"is-public":y(Y),onGenerated:n[6]||=e=>y(x)(),onRerecord:me,onResume:me},null,8,[`open`,`slug`,`is-public`]),y(k).length?(t(),l(`div`,Et,[(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`,Dt,[m(`p`,Ot,S(e.title),1),m(`p`,kt,S(e.spec),1),m(`div`,At,[(t(!0),l(_,null,u(e.tags,e=>(t(),h(i,{key:e,color:y(Ve)(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[7]||=e=>a(L)?L.value=e:null,slug:y(s),onSaved:te},null,8,[`open`,`slug`]),v(q,{open:y(F),"onUpdate:open":n[8]||=e=>a(F)?F.value=e:null,slug:y(s),"base-url":y(p).base_url,onSaved:n[9]||=e=>y(x)()},null,8,[`open`,`slug`,`base-url`]),v(ae,{open:y(M),"onUpdate:open":n[10]||=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[11]||=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":jt,branch:y(p).branch,"tested-at":y(U).testedAt.value,output:y(U).output.value,onFix:n[12]||=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[13]||=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:ve},null,8,[`open`,`description`,`loading`])]),_:1},8,[`data-hydrated`])}}});export{Mt as default};
@@ -0,0 +1,4 @@
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,Ot as u,P as d,Pn as f,S as p,U as m,Wn as h,Zt as g,_r as _,_t as v,ht as y,in as b,ln as x,pr as S,wt as C}from"./DMHcp4U1.js";import{Kt as w,qt as T,rt as E}from"./cRY3ZoRz.js";import"./CRH0iqnQ.js";import{n as D}from"./k5q7GKnv.js";import{t as O}from"./9eLkUDDj.js";import{r as ee}from"./C5uJN_MU.js";import{r as k}from"./Gcazu-lR.js";import{t as A}from"./BWJpSLJL.js";import{t as j}from"./BMLYuU_e.js";import{n as te}from"./DXLPf3t6.js";import{n as M}from"./CKps1Vc12.js";import{t as N}from"./BDNMzG2s2.js";function P(e){return new URL(globalThis.location.href)}var F={class:`flex flex-col gap-3 rounded-lg bg-elevated p-4`},I={class:`flex items-center gap-2`},L={"data-testid":`webdriver-comando`,class:`grow overflow-x-auto whitespace-nowrap rounded-md bg-default p-3 text-xs`},R=Object.assign(r({__name:`setup`,setup(n){let r=f(`macos`);C(()=>{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=E(),u=P().origin,d=c(()=>`${u}${s.fullPath}`),p=c(()=>({macos:`open -na "Google Chrome" --args --remote-debugging-port=9222 --user-data-dir="$HOME/.acutis/chrome" "${d.value}"`,linux:`google-chrome --remote-debugging-port=9222 --user-data-dir="$HOME/.acutis/chrome" "${d.value}" &`,windows:`Start-Process "chrome" -ArgumentList "--remote-debugging-port=9222","--user-data-dir=$env:USERPROFILE\\.acutis\\chrome","${d.value}"`})),g=f(!1),v;async function y(){await navigator.clipboard.writeText(p.value[r.value]),g.value=!0,clearTimeout(v),v=setTimeout(()=>{g.value=!1},2e3)}return(n,s)=>{let c=te,u=O;return e(),a(`div`,F,[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),m(c,{modelValue:h(r),"onUpdate:modelValue":s[0]||=e=>t(r)?r.value=e:null,items:o,content:!1,class:`w-full`},null,8,[`modelValue`]),l(`div`,I,[l(`code`,L,_(h(p)[h(r)]),1),m(u,{icon:h(g)?`i-ic-round-check`:`i-ic-round-content-copy`,label:h(g)?`Copiado!`:`Copiar comando`,color:`neutral`,variant:`soft`,"data-testid":`webdriver-copiar`,onClick:y},null,8,[`icon`,`label`])])])}}}),{__name:`WebdriverSetup`});function z(e){return e.map(e=>({type:e.type,timestamp:e.timestamp,url:e.url??null,selectors:e.selectors??null,label:e.label??null,innerText:e.innerText??null,tagName:e.tagName??null,inputType:e.inputType??null,value:e.value??null,sensitive:e.sensitive??!1,checked:e.checked??null,html:e.html??null,assert:e.assert}))}function B(e){let t=e.selectors,n=(e.label||e.innerText||t?.placeholder||t?.text||``).replace(/\s+/g,` `).trim();return n===``?null:n}function V(e){return`"${e}"`}function H(e){let t=e.url??``;try{let e=new URL(t,`http://base.test`).pathname;return e===`/`?`a página inicial`:V(e)}catch{return t?V(t):`a página inicial`}}function U(e){let t=B(e);switch(e.type){case`navigate`:return`Navega para ${H(e)}`;case`click`:return t?`Clica em ${V(t)}`:`Clica no elemento`;case`hover`:return t?`Passa o mouse em ${V(t)}`:`Passa o mouse no elemento`;case`fill`:{let n=t?V(t):`o campo`;return e.value?`Preenche ${n} com ${e.sensitive?`••••`:V(e.value)}`:`Preenche ${n}`}case`submit`:return`Envia o formulário`;case`assert`:return e.assert?.assertType===`url`?`Confere que a tela é ${H(e)}`:`Confere ${t?V(t):`o elemento`}`;default:return t??e.url??e.type??``}}var W=[`src`],G={class:`flex w-max max-w-full flex-col`},K=[`data-current`,`data-dropped`,`onClick`],q=[`data-armed`,`aria-label`,`onClick`],ne={class:`relative h-px flex-1 overflow-visible rounded-full bg-accented`},J={key:0,class:`arming absolute inset-y-0 left-0 rounded-full bg-error`},Y={class:`flex flex-col items-center`},X={class:`pb-6 min-w-0 flex-1`},Z={key:0,class:`text-xs text-dimmed`},re=600,ie=5e3,ae=Object.assign(N(r({__name:`timeline`,props:{events:{},videoSrc:{default:null},recordingStartedAt:{default:null},resumable:{type:Boolean,default:!1}},emits:[`resume`],setup(t,{emit:r}){let s=r,d=f(null),g=f(0),v=f(null),y=f(!1),b,x,C={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 E(e){return!t.recordingStartedAt||!e.timestamp?0:Math.max(0,(e.timestamp-t.recordingStartedAt)/1e3)}let D=c(()=>{let e=-1;return t.events.forEach((t,n)=>{E(t)<=g.value&&(e=n)}),e});function O(e){if(!d.value)return;let t=E(e);d.value.currentTime=t,g.value=t}function k(){clearTimeout(b),clearTimeout(x),v.value=null,y.value=!1}function A(e){if(v.value===e){if(!y.value)return;k(),s(`resume`,e);return}k(),v.value=e,b=setTimeout(()=>{y.value=!0},re),x=setTimeout(k,ie)}let j=c(()=>v.value===null?0:t.events.length-v.value);return u(k),(r,s)=>{let c=ee;return e(),a(`div`,{class:`grid grid-cols-1 gap-6 lg:grid-cols-5`,onKeydown:w(k,[`esc`])},[t.videoSrc?(e(),a(`video`,{key:0,ref_key:`videoEl`,ref:d,"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:s[0]||=e=>g.value=e.target.currentTime},null,40,W)):n(``,!0),l(`div`,{class:S(t.videoSrc?`lg:col-span-2`:`lg:col-span-5`)},[s[1]||=l(`p`,{class:`mb-3 font-semibold`},` Timeline dos eventos `,-1),l(`ol`,G,[(e(!0),a(p,null,o(t.events,(r,o)=>(e(),a(`li`,{key:o,"data-testid":`revisao-evento`,"data-current":o===h(D)?`true`:`false`,"data-dropped":h(v)!==null&&o>=h(v)?`true`:`false`,class:S([`group relative flex cursor-pointer items-stretch gap-3 transition-opacity`,h(v)!==null&&o>=h(v)?`opacity-50`:``]),onClick:e=>O(r)},[t.resumable&&o>0?(e(),a(`button`,{key:0,type:`button`,"data-testid":`revisao-retomar`,"data-armed":h(v)===o?`true`:`false`,class:S([`absolute -top-5 -right-1.5 -left-1.5 z-10 flex h-4 items-center gap-2 opacity-0 transition-opacity focus-visible:opacity-100 group-hover:opacity-100`,h(v)===o?`opacity-100!`:``]),"aria-label":h(v)===o?`Confirmar a retomada deste passo, descartando ${h(j)}`:`Retomar a gravação deste passo`,onClick:T(e=>A(o),[`stop`])},[l(`span`,{class:S([`h-px flex-1 rounded-full`,h(v)===o?`bg-error`:`bg-primary`])},null,2),l(`span`,{class:S([`rounded-full px-2 py-0.5 text-[10px] leading-none font-medium tracking-wide uppercase`,h(v)===o?`bg-error text-inverted`:`bg-default text-primary`])},[h(v)===o?h(y)?(e(),a(p,{key:1},[i(`clique de novo · descarta `+_(h(j)),1)],64)):(e(),a(p,{key:2},[i(`aguarde…`)],64)):(e(),a(p,{key:0},[i(`retomar daqui`)],64))],2),l(`span`,ne,[h(v)===o?(e(),a(`span`,J)):n(``,!0)])],10,q)):n(``,!0),l(`div`,Y,[m(c,{name:C[r.type]??`i-ic-round-help-outline`,class:S([`size-5 shrink-0 transition-colors`,o<=h(D)?`text-primary`:`text-muted`])},null,8,[`name`,`class`]),o<t.events.length-1?(e(),a(`span`,{key:0,class:S([`w-px grow transition-colors`,o<h(D)?`bg-primary`:`bg-accented`])},null,2)):n(``,!0)]),l(`div`,X,[l(`p`,{class:S([`truncate text-sm transition-colors group-hover:text-highlighted`,[o===h(D)?`font-semibold text-primary`:`text-default`,h(v)!==null&&o>=h(v)?`line-through decoration-dimmed`:``]])},_(h(U)(r)),3),t.recordingStartedAt?(e(),a(`p`,Z,_(E(r).toFixed(1))+`s `,1)):n(``,!0)])],10,K))),128))])],2)],32)}}}),[[`__scopeId`,`data-v-46efcf33`]]),{__name:`ScenarioReviewTimeline`}),oe={class:`flex min-h-24 items-center justify-center text-center`},se={class:`w-full text-lg text-muted break-words`},Q=Object.assign(r({__name:`confirm`,props:y({title:{},description:{default:``},confirmLabel:{default:`Confirmar`},confirmColor:{default:`primary`},confirmTestid:{default:`confirmar`},loading:{type:Boolean,default:!1}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:y([`confirm`],[`update:open`]),setup(t,{emit:n}){let r=g(t,`open`),a=n;return(n,o)=>{let c=k,u=j;return e(),d(u,{open:r.value,"onUpdate:open":o[2]||=e=>r.value=e,title:t.title},{body:x(()=>[l(`div`,oe,[l(`p`,se,[s(n.$slots,`description`,{},()=>[i(_(t.description),1)])])])]),footer:x(()=>[m(c,{label:`Cancelar`,color:`neutral`,variant:`ghost`,"data-testid":`confirmar-cancelar`,onClick:o[0]||=e=>r.value=!1}),m(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 $(e){return e.normalize(`NFD`).replace(/\p{Diacritic}/gu,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).slice(0,80).replace(/^-+|-+$/g,``)}function ce(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 le={class:`flex flex-col gap-5`},ue={class:`grid grid-cols-1 gap-4 sm:grid-cols-2`},de=Object.assign(r({__name:`contexts`,props:y({isAuth:{type:Boolean,default:!1},novo:{type:Boolean,default:!1}},{draft:{required:!0},draftModifiers:{}}),emits:[`update:draft`],setup(r){let i=g(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 u(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 p(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 _=!1;function y(e){_=!0,i.value={...i.value,tags:e,gherkin:f(i.value.gherkin,e),playwright:p(i.value.playwright,e)},v(()=>{_=!1})}let S=c({get:()=>i.value.tags.join(` `),set:e=>y(o(e))});return b(()=>i.value.gherkin,e=>{if(_)return;let t=s(e);t.length&&t.join(` `)!==i.value.tags.join(` `)&&y(t)}),b(()=>i.value.playwright,e=>{if(_)return;let t=u(e);t.length&&t.join(` `)!==i.value.tags.join(` `)&&y(t)}),b(()=>i.value.title,(e,t)=>{!r.novo||i.value.path!==$(t)||(i.value={...i.value,path:$(e)})}),(o,s)=>{let c=A,u=D,f=M;return e(),a(`div`,le,[l(`div`,ue,[m(u,{label:`Título do cenário`},{default:x(()=>[m(c,{modelValue:i.value.title,"onUpdate:modelValue":s[0]||=e=>i.value.title=e,maxlength:h(120),"data-testid":`contexto-titulo`,class:`w-full`},null,8,[`modelValue`,`maxlength`])]),_:1}),r.isAuth?n(``,!0):(e(),d(u,{key:0,label:`Arquivo`,help:`Nome do .spec.ts / .feature`},{default:x(()=>[m(c,{modelValue:i.value.path,"onUpdate:modelValue":s[1]||=e=>i.value.path=e,maxlength:h(80),"data-testid":`contexto-path`,class:`w-full`},null,8,[`modelValue`,`maxlength`])]),_:1}))]),r.isAuth?n(``,!0):(e(),d(u,{key:0,label:`Domínio`,help:`Pasta onde o cenário será salvo (ex.: login, checkout)`},{default:x(()=>[m(c,{modelValue:i.value.domain,"onUpdate:modelValue":s[2]||=e=>i.value.domain=e,maxlength:h(80),"data-testid":`contexto-dominio`,class:`w-full`},null,8,[`modelValue`,`maxlength`])]),_:1})),r.isAuth?n(``,!0):(e(),d(u,{key:1,label:`Tags`,help:`Separadas por espaço (ex.: @read @criando)`},{default:x(()=>[m(c,{modelValue:h(S),"onUpdate:modelValue":s[3]||=e=>t(S)?S.value=e:null,"data-testid":`contexto-tags`,class:`w-full`},null,8,[`modelValue`])]),_:1})),m(u,{label:`Cenário (Gherkin)`},{default:x(()=>[m(f,{modelValue:i.value.gherkin,"onUpdate:modelValue":s[4]||=e=>i.value.gherkin=e,language:`gherkin`,testid:`contexto-cenario`},null,8,[`modelValue`])]),_:1}),m(u,{label:`Teste (Playwright)`},{default:x(()=>[m(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 fe(e){return e===`@read`?`success`:e===`@write`?`warning`:`primary`}export{ae as a,Q as i,de as n,z as o,ce as r,R as s,fe as t};
@@ -1 +1 @@
1
- import{At as e,H as t,I as n,N as r,U as i,_r as a,ln as o}from"./DMHcp4U1.js";import{n as s}from"./CO3cjsl1.js";import{t as c}from"./DJxuKf9Z.js";import{t as l}from"./BDNMzG2s2.js";var u={class:`antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide`},d={class:`max-w-520px text-center`},f=[`textContent`],p=[`textContent`],m=[`textContent`],h={class:`flex items-center justify-center w-full`},g=l({__name:`error-404`,props:{appName:{type:String,default:`Nuxt`},status:{type:Number,default:404},statusText:{type:String,default:`Page not found`},description:{type:String,default:`Sorry, the page you are looking for could not be found.`},backHome:{type:String,default:`Go back home`}},setup(l){let g=l;return s({title:`${g.status} - ${g.statusText} | ${g.appName}`,script:[{innerHTML:`!function(){let e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(let e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(let t of e)if("childList"===t.type)for(let e of t.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;let r=function(e){let r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),r.credentials="use-credentials"===e.crossOrigin?"include":"anonymous"===e.crossOrigin?"omit":"same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:`*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }`}]}),(s,g)=>{let _=c;return e(),n(`div`,u,[r(`div`,d,[r(`h1`,{class:`font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]`,textContent:a(l.status)},null,8,f),r(`h2`,{class:`font-semibold mb-2 sm:text-3xl text-2xl`,textContent:a(l.statusText)},null,8,p),r(`p`,{class:`mb-4 px-2 text-[#64748B] text-md`,textContent:a(l.description)},null,8,m),r(`div`,h,[i(_,{to:`/`,class:`font-medium hover:text-[#00DC82] text-sm underline underline-offset-3`},{default:o(()=>[t(a(l.backHome),1)]),_:1})])])])}}},[[`__scopeId`,`data-v-6be9a57d`]]);export{g as default};
1
+ import{At as e,H as t,I as n,N as r,U as i,_r as a,ln as o}from"./DMHcp4U1.js";import{n as s}from"./CO3cjsl1.js";import{t as c}from"./DJxuKf9Z.js";import{t as l}from"./BDNMzG2s2.js";var u={class:`antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide`},d={class:`max-w-520px text-center`},f=[`textContent`],p=[`textContent`],m=[`textContent`],h={class:`flex items-center justify-center w-full`},g=l({__name:`error-404`,props:{appName:{type:String,default:`Nuxt`},status:{type:Number,default:404},statusText:{type:String,default:`Page not found`},description:{type:String,default:`Sorry, the page you are looking for could not be found.`},backHome:{type:String,default:`Go back home`}},setup(l){let g=l;return s({title:`${g.status} - ${g.statusText} | ${g.appName}`,script:[{innerHTML:`!function(){let e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(let e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(let t of e)if("childList"===t.type)for(let e of t.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;let r=function(e){let r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),r.credentials="use-credentials"===e.crossOrigin?"include":"anonymous"===e.crossOrigin?"omit":"same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:`*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }`}]}),(s,g)=>{let _=c;return e(),n(`div`,u,[r(`div`,d,[r(`h1`,{class:`font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]`,textContent:a(l.status)},null,8,f),r(`h2`,{class:`font-semibold mb-2 sm:text-3xl text-2xl`,textContent:a(l.statusText)},null,8,p),r(`p`,{class:`mb-4 px-2 text-[#64748B] text-md`,textContent:a(l.description)},null,8,m),r(`div`,h,[i(_,{to:`/`,class:`font-medium hover:text-[#00DC82] text-sm underline underline-offset-3`},{default:o(()=>[t(a(l.backHome),1)]),_:1})])])])}}},[[`__scopeId`,`data-v-1c03fb96`]]);export{g as default};
@@ -0,0 +1 @@
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 b,rt as ne,tt as re}from"./cRY3ZoRz.js";import{r as x,t as S}from"./CRH0iqnQ.js";import{n as C,t as w}from"./k5q7GKnv.js";import{n as ie,r as ae,t as oe}from"./9eLkUDDj.js";import{r as se}from"./C5uJN_MU.js";import{r as T}from"./Gcazu-lR.js";import{t as E}from"./BWJpSLJL.js";import{t as ce}from"./Ch1EeKHP.js";import{t as D}from"./BMLYuU_e.js";import{n as le,t as ue}from"./DXLPf3t6.js";import{r as de,t as fe}from"./XDsaI4JL.js";import{t as pe}from"./ANcp5QFz.js";import{t as me}from"./BXpPYfMx.js";import{t as he}from"./CTqLwyQP.js";import{t as O}from"./BuOb9NX0.js";import{t as ge}from"./tLr-SJaf.js";import{t as _e}from"./DtuQPKVG.js";import{i as ve,r as ye,t as be}from"./f0o80Gcm.js";import{t as xe}from"./C2KIeuhG.js";import{t as Se}from"./DEJ3sRrh2.js";import{t as Ce}from"./DPM_BYFz2.js";import{n as we,t as Te}from"./CKps1Vc12.js";import{a as Ee,i as De,n as k,o as Oe,r as A,s as ke,t as Ae}from"./BKydt2Wp2.js";var je=Object.assign(r({__name:`modal`,props:_({slug:{},scenario:{},resumed:{default:null}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:_([`updated`],[`update:open`]),setup(r,{emit:i}){let a=m(r,`open`),o=i,c=u(r.resumed?.draft??A(r.scenario)),d=u(!1),h=u(null);v(a,e=>{e&&(c.value=r.resumed?.draft??A(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 x(`/api/projects/${r.slug}/scenarios/${g.value}`,{method:`PATCH`,body:{...c.value,events:r.resumed?.events}});a.value=!1,o(`updated`,e)}catch(e){h.value=w(e,`Não foi possível salvar o cenário.`)}finally{d.value=!1}}return(i,o)=>{let s=k,u=O,m=T,g=D;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`}),j={class:`flex flex-col gap-4`,"data-testid":`auth-credenciais`},Me=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 x(`/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=O,u=E,m=C,v=T,ee=D;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`,j,[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`}),M={key:2,"data-testid":`correcao-proposta`},Ne={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=_e,d=O,p=we,m=T,g=D;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`,M,[c(`p`,Ne,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`}),N=[`configured`,`failing`];function Fe(e,t=!1){if(!(t||!N.includes(e.auth_status)))return e.storage_state}var Ie={class:`flex items-start justify-between gap-4`},Le={class:`flex flex-col gap-1 min-w-0`},Re={class:`flex items-center gap-2`},ze={class:`text-2xl font-bold truncate`,"data-testid":`cenario-titulo`},Be={class:`text-sm text-muted italic truncate`,"data-testid":`cenario-caminho`},Ve={class:`flex gap-2 shrink-0`},He={key:0,class:`flex flex-wrap gap-1 mt-4`,"data-testid":`cenario-tags`},Ue={key:1,class:`text-xs text-dimmed mt-2`},We={key:2,class:`mt-6 flex flex-col gap-3`},Ge={key:3,class:`mt-8 flex flex-col items-center gap-3 py-10 text-center`,"data-testid":`auth-intro`},Ke={class:`flex size-12 items-center justify-center rounded-lg bg-elevated`},qe=[`data-testid`],Je={key:5,class:`mt-4`},P=r({__name:`[...scenario]`,async setup(r){let m,_,C=ne(),E=s(()=>C.params.projectSlug),k=s(()=>C.params.scenario.join(`/`)),j=u(!1);te(()=>{j.value=!0});let{data:M,refresh:Ne}=([m,_]=g(()=>S(`/api/projects/${E.value}`,`$3yUoA-eM18`)),m=await m,_(),m),{data:N,refresh:P}=([m,_]=g(()=>S(`/api/projects/${E.value}/scenarios/${k.value}`,`$lM5rtpaVlj`)),m=await m,_(),m);if(!M.value||!N.value)throw b({statusCode:404,message:`Cenário não encontrado.`});let Ye=s(()=>ue(M.value)),F=u(!1),Xe=u(!1);async function Ze(){Xe.value=!0;try{await x(`/api/projects/${E.value}/scenarios/${k.value}`,{method:`DELETE`}),await re(`/projects/${E.value}`)}finally{Xe.value=!1}}let Qe=s(()=>new Date(N.value.updated_at).toLocaleString(`pt-BR`,{dateStyle:`short`,timeStyle:`short`})),{configured:$e}=de(),I=u(!1),L=u(!1),R=u(!1),et=u([]),tt=u(null);v(L,async e=>{if(e){R.value=!0,tt.value=null,et.value=[];try{et.value=await x(`/api/projects/${E.value}/scenario-suggestions`,{method:`POST`,body:{scenarioId:k.value}})}catch(e){tt.value=w(e,`Não foi possível gerar sugestões agora. Tente novamente.`)}finally{R.value=!1}}});function nt(e){return e.replace(/^tests\//,``).replace(/\.(spec|setup)\.ts$/,``)}async function rt(e){if(nt(e.spec)!==k.value){await re(`/projects/${E.value}/scenarios/${nt(e.spec)}`);return}await P()}let{steps:it,running:at,passed:ot,videoUrl:st,testedAt:ct,output:lt,failedStep:ut,start:dt}=ye(()=>E.value),z=u(!1),ft=u(null);function pt(e){it.value=e.steps.map(e=>({title:e.title,status:e.status,error:e.error})),st.value=e.video_path?ve(e.video_path):null,ct.value=be(new Date(e.started_at)),ft.value=e.playwright,ot.value=e.passed,V.value=null,H.value=null,at.value=!1,z.value=!0}let B=u(!1),mt=u(!1),V=u(null),H=u(null),ht=u(!1);async function gt(){let e=ut.value;if(e){z.value=!1,B.value=!0,mt.value=!0,V.value=null,H.value=null;try{V.value=await x(`/api/projects/${E.value}/scenario-fix`,{method:`POST`,body:{scenarioId:k.value,step:e.title,error:e.error??``}})}catch(e){H.value=w(e,`Não foi possível gerar uma correção agora. Tente novamente.`)}finally{mt.value=!1}}}async function _t(){if(V.value){ht.value=!0;try{await x(`/api/projects/${E.value}/scenarios/${k.value}`,{method:`PATCH`,body:{...A(N.value),playwright:V.value.playwright}}),V.value=null,B.value=!1,await P()}catch(e){H.value=w(e,`Não foi possível salvar a correção.`)}finally{ht.value=!1}}}function vt(){B.value=!1,V.value=null,H.value=null}function yt(){z.value=!0,ft.value=null,V.value=null,H.value=null,dt({spec:N.value.spec},async()=>{await P(),W.value&&await Ne()})}let U=u(`eventos`),bt=s(()=>[{label:`Eventos`,value:`eventos`},...N.value.gherkin?[{label:`Cenário`,value:`gherkin`}]:[],{label:`Script`,value:`playwright`},{label:`Execuções`,value:`execucoes`}]);v(()=>N.value.gherkin,e=>{!e&&U.value===`gherkin`&&(U.value=`eventos`)});let W=s(()=>N.value.is_auth),G=s(()=>!W.value||N.value.playwright.trim().length>0),{state:K,startRecording:xt,stopRecording:St}=ae(),q=u(!1),J=u(!1),Y=u(null),Ct=u([]),wt=u(!1);async function Tt(){wt.value=!0;try{await x(`/api/projects/${E.value}/auth/skip`,{method:`POST`}),await Ne()}finally{wt.value=!1}}let Et=[`Analisando os eventos gravados`,`Identificando os campos de usuário e senha`,`Escrevendo o fluxo de autenticação`];function Dt(){Y.value=null,Ct.value=[],xt(`auth`,{url:M.value.base_url??void 0})}let Ot=[`Lendo os eventos da gravação retomada`,`Reescrevendo os passos do cenário`,`Montando o teste Playwright`],X=u(!1),Z=u(!1),Q=u(null),$=u(null),kt=s(()=>N.value.tags.includes(`@publico`));function At(e){$.value=null,Q.value=null,X.value=!1,Z.value=!0,xt(W.value?`auth`:`scenario`,{url:M.value.base_url??void 0,storageState:W.value?void 0:Fe(M.value,kt.value),replay:N.value.events.slice(0,e)})}let jt=s(()=>K.value.replayFailedStep?`Aguardando você na janela`:K.value.replaying?`Refazendo os passos`:`Parar gravação`);function Mt(){Q.value=null,I.value=!0}function Nt(){return Oe(K.value.events)}async function Pt(){let e=Nt(),t=ie(K.value.events);if(!t){$.value=`A gravação retomada não registrou nenhuma página. Tente de novo.`;return}X.value=!0;try{let n=await x(`/api/projects/${E.value}/tests/draft`,{method:`POST`,body:{baseUrl:t,events:e,isPublic:kt.value}}),r=A(N.value);Q.value={draft:{...n,title:r.title,path:r.path,domain:r.domain},events:e},I.value=!0}catch(e){$.value=w(e,`Não foi possível reescrever o cenário a partir da gravação.`)}finally{X.value=!1,Z.value=!1}}return v(()=>K.value.videoSessionId,async e=>{if(!e)return;if(!W.value)return Z.value?Pt():void 0;let t=ie(K.value.events);if(!t){Y.value=`A gravação não registrou nenhuma página. Tente gravar novamente.`;return}J.value=!0;try{let e=await x(`/api/projects/${E.value}/auth/record`,{method:`POST`,body:{baseUrl:t,events:Nt()}});if(Ct.value=e.warnings??[],await P(),e.credentialsNeeded){q.value=!0;return}yt()}catch(e){console.error(`Falha ao gravar a autenticação:`,e),Y.value=`Não foi possível gerar a autenticação a partir da gravação. Tente novamente.`}finally{J.value=!1}}),(r,s)=>{let u=oe,m=pe,g=me,_=T,v=ce,te=ge,b=O,ne=ke,re=se,x=le,S=xe,C=Ee,w=we,ie=Se,ae=De,ue=je,de=Ce,ve=Te,ye=_e,be=D,k=Me,Oe=Pe,A=he;return e(),l(A,{"data-hydrated":p(j),class:`py-6 lg:py-10`},{default:y(()=>[c(`div`,Ie,[c(`div`,Le,[c(`div`,Re,[f(u,{icon:`i-ic-round-arrow-back`,label:`Voltar`,variant:`ghost`,color:`neutral`,to:`/projects/${p(E)}`,"data-testid":`cenario-voltar`},null,8,[`to`]),f(m,{icon:p(Ye).icon,label:p(Ye).label,"data-testid":`cenario-origem`},null,8,[`icon`,`label`]),p(W)?(e(),l(g,{key:0,status:p(M).auth_status},null,8,[`status`])):n(``,!0)]),c(`h1`,ze,h(p(N).title),1),c(`p`,Be,h(p(N).spec),1)]),c(`div`,Ve,[p(W)?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=>F.value=!0})),p(G)?(e(),l(u,{key:1,icon:`i-ic-round-edit`,label:`Editar`,color:`neutral`,variant:`soft`,"data-testid":`cenario-editar`,onClick:Mt})):n(``,!0),p(W)?n(``,!0):(e(),l(v,{key:2,text:p(fe),disabled:p($e),"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($e),class:ee(p($e)?``:`pointer-events-none`),"data-testid":`cenario-sugestoes`,onClick:s[1]||=e=>L.value=!0},null,8,[`disabled`,`class`])])]),_:1},8,[`text`,`disabled`])),p(K).recording?(e(),l(_,{key:3,label:p(jt),"trailing-icon":`i-ic-round-stop`,color:`error`,disabled:p(K).replaying,class:ee(p(K).replayFailedStep?``:`animate-pulse`),"data-testid":`cenario-parar`,onClick:p(St)},null,8,[`label`,`disabled`,`class`,`onClick`])):p(W)&&p(G)?(e(),l(_,{key:4,label:`Gravar novamente`,"trailing-icon":`i-ic-round-fiber-manual-record`,color:`neutral`,variant:`soft`,disabled:!p(K).connected,loading:p(J),"data-testid":`auth-gravar`,onClick:Dt},null,8,[`disabled`,`loading`])):n(``,!0),p(G)?(e(),l(_,{key:5,label:`Testar`,"trailing-icon":`i-ic-round-play-arrow`,loading:p(at),"data-testid":`cenario-testar`,onClick:yt},null,8,[`loading`])):n(``,!0)])]),p(N).tags.length?(e(),a(`div`,He,[(e(!0),a(d,null,o(p(N).tags,t=>(e(),l(m,{key:t,color:p(Ae)(t),label:t},null,8,[`color`,`label`]))),128))])):n(``,!0),p(G)?(e(),a(`p`,Ue,` Última modificação: `+h(p(Qe)),1)):n(``,!0),f(te,{warnings:p(Ct),slug:p(E),class:`mt-6`},null,8,[`warnings`,`slug`]),p(Y)||p(K).error?(e(),a(`div`,We,[f(b,{color:`error`,variant:`soft`,"data-testid":`webdriver-erro`,description:p(Y)??p(K).error},null,8,[`description`]),p(K).error?.includes(`Chrome`)?(e(),l(ne,{key:0})):n(``,!0)])):n(``,!0),p(G)?n(``,!0):(e(),a(`div`,Ge,[c(`div`,Ke,[f(re,{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(K).connected,"data-testid":`auth-gravar-vazio`,onClick:Dt},null,8,[`disabled`]),p(M).auth_status===`unset`?(e(),l(_,{key:0,label:`Não precisa de login`,color:`neutral`,variant:`link`,loading:p(wt),"data-testid":`auth-dispensar`,onClick:Tt},null,8,[`loading`])):n(``,!0)])),p(G)?(e(),l(x,{key:4,modelValue:p(U),"onUpdate:modelValue":s[2]||=e=>t(U)?U.value=e:null,items:p(bt),content:!1,class:`w-full mt-8`},{default:y(({item:e})=>[c(`span`,{"data-testid":`cenario-tab-${e.value}`},h(e.label),9,qe)]),_:1},8,[`modelValue`,`items`])):n(``,!0),p(G)?(e(),a(`div`,Je,[p(U)===`eventos`?(e(),a(d,{key:0},[p(N).events.length===0?(e(),l(S,{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(C,{key:1,events:p(N).events,resumable:p(K).connected&&!p(K).recording,"data-testid":`cenario-eventos`,onResume:At},null,8,[`events`,`resumable`])),p($)??p(K).error?(e(),l(b,{key:2,color:`error`,variant:`soft`,description:p($)??p(K).error,class:`mt-4`,"data-testid":`cenario-retomar-erro`},null,8,[`description`])):n(``,!0)],64)):p(U)===`gherkin`?(e(),l(w,{key:1,"model-value":p(N).gherkin,language:`gherkin`,readonly:``,testid:`cenario-gherkin`},null,8,[`model-value`])):p(U)===`playwright`?(e(),a(d,{key:2},[p(N).playwright.trim()?(e(),l(w,{key:1,"model-value":p(N).playwright,language:`typescript`,readonly:``,testid:`cenario-playwright`},null,8,[`model-value`])):(e(),l(S,{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(ie,{key:3,runs:p(N).runs,onOpen:pt},null,8,[`runs`]))])):n(``,!0),f(ae,{open:p(F),"onUpdate:open":s[3]||=e=>t(F)?F.value=e:null,title:`Excluir cenário`,"confirm-label":`Excluir`,"confirm-color":`error`,"confirm-testid":`cenario-excluir-confirmar`,loading:p(Xe),onConfirm:Ze},{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(N).title)+`". `,1)]),_:1},8,[`open`,`loading`]),f(ue,{open:p(I),"onUpdate:open":s[4]||=e=>t(I)?I.value=e:null,slug:p(E),scenario:p(N),resumed:p(Q),onUpdated:rt},null,8,[`open`,`slug`,`scenario`,`resumed`]),f(de,{open:p(L),"onUpdate:open":s[5]||=e=>t(L)?L.value=e:null,loading:p(R),suggestions:p(et),error:p(tt)},null,8,[`open`,`loading`,`suggestions`,`error`]),f(ve,{open:p(z),"onUpdate:open":s[6]||=e=>t(z)?z.value=e:null,running:p(at),passed:p(ot),steps:p(it),"video-url":p(st),"project-name":p(M).name,kind:p(W)?`autenticacao`:`cenario`,"scenario-name":p(W)?p(N).spec:p(N).title,branch:p(M).branch,"tested-at":p(ct),playwright:p(ft),output:p(lt),onFix:gt},null,8,[`open`,`running`,`passed`,`steps`,`video-url`,`project-name`,`kind`,`scenario-name`,`branch`,`tested-at`,`playwright`,`output`]),f(be,{open:p(J),"onUpdate:open":s[7]||=e=>t(J)?J.value=e:null,dismissable:!1,loading:``},{body:y(()=>[f(ye,{phrases:Et,"data-testid":`auth-carregando`})]),_:1},8,[`open`]),f(be,{open:p(X),"onUpdate:open":s[8]||=e=>t(X)?X.value=e:null,dismissable:!1,loading:``},{body:y(()=>[f(ye,{phrases:Ot,"data-testid":`cenario-retomar-carregando`})]),_:1},8,[`open`]),f(k,{open:p(q),"onUpdate:open":s[9]||=e=>t(q)?q.value=e:null,slug:p(E),onSaved:yt},null,8,[`open`,`slug`]),f(Oe,{open:p(B),"onUpdate:open":s[10]||=e=>t(B)?B.value=e:null,loading:p(mt),fix:p(V),error:p(H),applying:p(ht),onApply:_t,onDiscard:vt},null,8,[`open`,`loading`,`fix`,`error`,`applying`])]),_:1},8,[`data-hydrated`])}}});export{P as default};
@@ -0,0 +1,64 @@
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 oe,R as A}from"./BbjTtCyI.js";import{r as j,t as se}from"./CRH0iqnQ.js";import{l as ce,n as M,t as N}from"./k5q7GKnv.js";import{t as P}from"./DJxuKf9Z.js";import{u as F}from"./b5tj-z25.js";import{t as I}from"./CIFC2HNk.js";import{_ as le,a as ue,i as de,l as fe,m as pe,r as me,t as he}from"./C5uJN_MU.js";import{c as ge,d as _e,f as ve,h as ye,p as be,r as xe,s as Se,u as Ce}from"./Gcazu-lR.js";import{t as we}from"./BWJpSLJL.js";import{t as Te}from"./BMLYuU_e.js";import{n as Ee,t as De}from"./DXLPf3t6.js";import{t as Oe}from"./CBVnImq2.js";import{t as ke}from"./ANcp5QFz.js";import{t as Ae}from"./CTqLwyQP.js";import{t as je}from"./FvWrDx_z.js";function Me(e){return`schema`in e&&typeof e.coercer==`function`&&typeof e.validator==`function`&&typeof e.refiner==`function`}function Ne(e){return`~standard`in e}async function Pe(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 Fe(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 Ie(e,t){if(Ne(t))return Pe(e,t);if(Me(t))return Fe(e,t);throw Error(`Form validation failed: Unsupported form schema`)}function Le(e,t){return t?t.split(`.`).reduce((e,t)=>e?.[t],e):e}function Re(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 ze=class e extends Error{formId;errors;constructor(t,n){super(`Form validation exception`),this.formId=t,this.errors=n,Object.setPrototypeOf(this,e.prototype)}},Be={base:``},Ve={__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=fe(`form`,a),c=F(),p=u(()=>ue({extend:Be,...c.ui?.form||{}})),v=s.id??x(),y=te(`formRef`),S=oe(`form-${v}`),C=s.nested===!0&&ne(Se,void 0),ee=s.nested===!0?ne(be,void 0):void 0,T=u(()=>ee?.value?s.name?Le(ee.value,s.name):ee.value:s.state);f(Se,S),f(be,T);let E=_(new Map);re(async()=>{C&&(await w(),C.emit({type:`attach`,validate:P,formId:v,name:s.name,api:ke}))}),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)&&!I.value&&(e.type===`input`?(e.eager||se.has(e.name))&&await P({name:e.name,silent:!0,nested:!1}):await P({name:e.name,silent:!0,nested:!1})),e.type===`blur`&&se.add(e.name),(e.type===`change`||e.type===`input`||e.type===`blur`||e.type===`focus`)&&j.add(e.name),(e.type===`change`||e.type===`input`)&&A.add(e.name)})});let D=_([]);f(ge,D);let ae=_({});f(Ce,ae);let A=d(new Set),j=d(new Set),se=d(new Set);function ce(e){return e.map(e=>({...e,id:e?.name?ae.value[e.name]?.id:void 0}))}let M=_(null);async function N(){let e=s.validate?await s.validate(T.value)??[]:[];if(s.schema){let{errors:t,result:n}=await Ie(T.value,s.schema);t?e=e.concat(t):M.value=n}return ce(e)}async function P(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=>pe(t,e)),i=await Promise.all(t);r=i.filter(e=>e.error).flatMap(e=>e.error.errors.map(t=>me(t,e.name))),n=i.filter(e=>e.output!==void 0)}let i=[...await N(),...r];if(t?D.value=Ee(i,t):D.value=i,D.value?.length){if(e.silent)return!1;throw new ze(v,D.value)}return e.transform?(n.forEach(e=>{e.name?Re(M.value,e.name,e.output):Object.assign(M.value,e.output)}),M.value??T.value):T.value}let I=_(!1);f(_e,m(I));async function le(e){I.value=!!s.loadingAuto;let t=e;try{t.data=await P({nested:!0,transform:s.transform}),await s.onSubmit?.(t),A.clear()}catch(e){if(!(e instanceof ze))throw e;let n={...t,errors:e.errors};o(`error`,n)}finally{I.value=!1}}let de=u(()=>s.disabled||I.value);f(ve,u(()=>({disabled:de.value,validateOnInputDelay:s.validateOnInputDelay})));async function pe(e,t){try{let n=await e.validate({...t,silent:!1});return{name:e.name,output:n}}catch(t){if(!(t instanceof ze))throw t;return{name:e.name,error:t}}}function me(e,t){return!t||!e.name?e:{...e,name:t+`.`+e.name}}function he(e,t){let n=t+`.`,r=e?.name?.startsWith(n)?e.name.substring(n.length):e.name;return{...e,name:r}}function ye(e,t){return t?e.filter(e=>e?.name?.startsWith(t+`.`)).map(e=>he(e,t)):e}function xe(e){return e.api.getErrors().map(t=>e.name?{...t,name:e.name+`.`+t.name}:t)}function we(e,t){return!e||!t?!0:e instanceof RegExp?e.test(t):t===e||typeof e==`string`&&e.startsWith(t+`.`)}function Te(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 Ee(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 De(e,t){return e.filter(e=>t instanceof RegExp?!(e.name&&t.test(e.name)):!e.name||e.name!==t)}function Oe(e){return!e.name||!!ae.value[e.name]}let ke={validate:P,errors:D,setErrors(e,t){let n=ce(e.filter(Oe)),r=[];for(let n of E.value.values())if(we(t,n.name)){let i=ye(e,n.name);n.api.setErrors(i,Te(t,n.name||``)),r.push(...xe(n))}if(t){let e=De(D.value,t);D.value=[...e,...n,...r]}else D.value=[...n,...r]},async submit(){y.value instanceof HTMLFormElement&&y.value.reportValidity()===!1||await le(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=>Oe(t)&&(e instanceof RegExp?!(t.name&&e.test(t.name)):t.name!==e)):[],n=[];for(let t of E.value.values())we(e,t.name)&&t.api.clear(),n.push(...xe(t));D.value=[...t,...n]},disabled:de,loading:I,dirty:u(()=>!!A.size),dirtyFields:m(A),blurredFields:m(se),touchedFields:m(j)};return r(ke),(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(le,[`prevent`])},{default:O(()=>[l(e.$slots,`default`,{errors:D.value,loading:I.value})]),_:3},40,[`id`,`name`,`class`]))}},He={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`}},Ue=[`id`,`value`,`name`,`rows`,`placeholder`,`disabled`,`required`],We=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=fe(`textarea`,o),m=A(f,`modelValue`,c,{defaultValue:f.defaultValue}),h=F(),{emitFormFocus:_,emitFormBlur:v,emitFormInput:y,emitFormChange:x,size:S,color:C,id:ee,name:T,highlight:ne,disabled:ie,ariaAttrs:ae}=ye(o,{deferInputValidation:!0}),{isLeading:oe,isTrailing:j,leadingIconName:se,trailingIconName:ce}=de(f),M=u(()=>ue({extend:He,...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:oe.value||!!f.avatar||!!d.leading,trailing:j.value||!!d.trailing})),N=te(`textareaRef`);function P(e){f.modelModifiers?.trim&&(typeof e==`string`||e==null)&&(e=e?.trim()??null),f.modelModifiers?.number&&(e=pe(e)),f.modelModifiers?.nullable&&(e||=null),f.modelModifiers?.optional&&!f.modelModifiers?.nullable&&e!==null&&(e||=void 0),m.value=e,y()}function I(e){be(),f.modelModifiers?.lazy||P(e.target.value)}function ge(e){let t=e.target.value;f.modelModifiers?.lazy&&P(t),f.modelModifiers?.trim&&(e.target.value=t.trim()),x(),c(`change`,e)}function _e(e){v(),c(`blur`,e)}function ve(){f.autofocus&&N.value?.focus()}function be(){if(f.autoresize&&N.value){N.value.rows=f.rows;let e=N.value.style.overflow;N.value.style.overflow=`hidden`;let t=window.getComputedStyle(N.value),n=Number.parseInt(t.paddingTop)+Number.parseInt(t.paddingBottom),r=Number.parseInt(t.lineHeight),{scrollHeight:i}=N.value,a=(i-n)/r;a>f.rows&&(N.value.rows=f.maxrows?Math.min(a,f.maxrows):a),N.value.style.overflow=e}}return D(m,()=>{w(be)}),re(()=>{setTimeout(()=>{ve()},f.autofocusDelay),setTimeout(async()=>{await w(),be()},f.autoresizeDelay)}),r({textareaRef:N,autoResize:be}),(e,n)=>(t(),g(b(le),{as:b(f).as,"data-slot":e.$attrs[`data-slot`]??`root`,class:k(M.value.root({class:[b(f).ui?.root,b(f).class]}))},{default:O(()=>[p(`textarea`,E({id:b(ee),ref_key:`textareaRef`,ref:N,value:b(m),name:b(T),rows:b(f).rows,placeholder:b(f).placeholder,class:M.value.base({class:b(f).ui?.base}),disabled:b(ie),required:b(f).required},{...e.$attrs,...b(ae)},{"data-slot":`base`,onInput:I,onBlur:_e,onChange:ge,onFocus:n[0]||=(...e)=>b(_)&&b(_)(...e)}),null,16,Ue),l(e.$slots,`default`,{ui:M.value}),b(oe)||b(f).avatar||d.leading?(t(),s(`span`,{key:0,"data-slot":`leading`,class:k(M.value.leading({class:b(f).ui?.leading}))},[l(e.$slots,`leading`,{ui:M.value},()=>[b(oe)&&b(se)?(t(),g(me,{key:0,name:b(se),"data-slot":`leadingIcon`,class:k(M.value.leadingIcon({class:b(f).ui?.leadingIcon}))},null,8,[`name`,`class`])):b(f).avatar?(t(),g(he,E({key:1,size:b(f).ui?.leadingAvatarSize||M.value.leadingAvatarSize()},b(f).avatar,{"data-slot":`leadingAvatar`,class:M.value.leadingAvatar({class:b(f).ui?.leadingAvatar})}),null,16,[`size`,`class`])):i(``,!0)])],2)):i(``,!0),b(j)||d.trailing?(t(),s(`span`,{key:1,"data-slot":`trailing`,class:k(M.value.trailing({class:b(f).ui?.trailing}))},[l(e.$slots,`trailing`,{ui:M.value},()=>[b(ce)?(t(),g(me,{key:0,name:b(ce),"data-slot":`trailingIcon`,class:k(M.value.trailingIcon({class:b(f).ui?.trailingIcon}))},null,8,[`name`,`class`])):i(``,!0)])],2)):i(``,!0)]),_:3},8,[`as`,`data-slot`,`class`]))}}),Ge;function L(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 Ke=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},qe=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Ge=globalThis).__zod_globalConfig??(Ge.__zod_globalConfig={});var Je=globalThis.__zod_globalConfig;function Ye(e){return e&&Object.assign(Je,e),Je}function Xe(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 Ze(e,t){return typeof t==`bigint`?t.toString():t}function Qe(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function $e(e){return e==null}function et(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function tt(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 nt=Symbol(`evaluating`);function R(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==nt)return r===void 0&&(r=nt,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function rt(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function z(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function it(e){return JSON.stringify(e)}function at(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var ot=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function st(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ct=Qe(()=>{if(Je.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function lt(e){if(st(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return st(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function ut(e){return lt(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var dt=new Set([`string`,`number`,`symbol`]);function ft(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function B(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 B(e,z(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 rt(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 B(e,z(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 rt(this,`shape`,r),r},checks:[]}))}function _t(e,t){if(!lt(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 B(e,z(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return rt(this,`shape`,n),n}}))}function vt(e,t){if(!lt(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return B(e,z(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return rt(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 B(e,z(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return rt(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 B(t,z(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 rt(this,`shape`,i),i},checks:[]}))}function xt(e,t,n){return B(t,z(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 rt(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,Ze,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},At=L(`$ZodError`,kt),jt=L(`$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 Ke;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>Et(e,a,Ye())));throw ot(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,Ye())));throw ot(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 Ke;return a.issues.length?{success:!1,error:new(e??At)(a.issues.map(e=>Et(e,i,Ye())))}:{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,Ye())))}:{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=L(`$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=L(`$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=L(`$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=L(`$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):tt(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=L(`$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=L(`$ZodCheckMaxLength`,(e,t)=>{var n;H.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!$e(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=L(`$ZodCheckMinLength`,(e,t)=>{var n;H.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!$e(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=L(`$ZodCheckLengthEquals`,(e,t)=>{var n;H.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!$e(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=L(`$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=L(`$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=L(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=wn,Pn.init(e,t)}),Ln=L(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Tn,Pn.init(e,t)}),Rn=L(`$ZodCheckIncludes`,(e,t)=>{H.init(e,t);let n=ft(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=L(`$ZodCheckStartsWith`,(e,t)=>{H.init(e,t);let n=RegExp(`^${ft(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=L(`$ZodCheckEndsWith`,(e,t)=>{H.init(e,t);let n=RegExp(`.*${ft(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=L(`$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=L(`$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 Ke;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 Ke;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 Ke;return o.then(e=>t(e,r,a))}return t(o,r,a)}}R(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=L(`$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=L(`$ZodStringFormat`,(e,t)=>{Pn.init(e,t),Wn.init(e,t)}),Gn=L(`$ZodGUID`,(e,t)=>{t.pattern??=tn,W.init(e,t)}),Kn=L(`$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=L(`$ZodEmail`,(e,t)=>{t.pattern??=rn,W.init(e,t)}),Jn=L(`$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=L(`$ZodEmoji`,(e,t)=>{t.pattern??=on(),W.init(e,t)}),Xn=L(`$ZodNanoID`,(e,t)=>{t.pattern??=$t,W.init(e,t)}),Zn=L(`$ZodCUID`,(e,t)=>{t.pattern??=Jt,W.init(e,t)}),Qn=L(`$ZodCUID2`,(e,t)=>{t.pattern??=Yt,W.init(e,t)}),$n=L(`$ZodULID`,(e,t)=>{t.pattern??=Xt,W.init(e,t)}),er=L(`$ZodXID`,(e,t)=>{t.pattern??=Zt,W.init(e,t)}),tr=L(`$ZodKSUID`,(e,t)=>{t.pattern??=Qt,W.init(e,t)}),nr=L(`$ZodISODateTime`,(e,t)=>{t.pattern??=yn(t),W.init(e,t)}),rr=L(`$ZodISODate`,(e,t)=>{t.pattern??=gn,W.init(e,t)}),ir=L(`$ZodISOTime`,(e,t)=>{t.pattern??=vn(t),W.init(e,t)}),ar=L(`$ZodISODuration`,(e,t)=>{t.pattern??=en,W.init(e,t)}),or=L(`$ZodIPv4`,(e,t)=>{t.pattern??=sn,W.init(e,t),e._zod.bag.format=`ipv4`}),sr=L(`$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=L(`$ZodCIDRv4`,(e,t)=>{t.pattern??=ln,W.init(e,t)}),lr=L(`$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=L(`$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=L(`$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=L(`$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=L(`$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=L(`$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=L(`$ZodNumberFormat`,(e,t)=>{An.init(e,t),_r.init(e,t)}),yr=L(`$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=L(`$ZodUnknown`,(e,t)=>{U.init(e,t),e._zod.parse=e=>e}),xr=L(`$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=L(`$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=L(`$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=Qe(()=>Tr(t));R(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=st,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=L(`$ZodObjectJIT`,(e,t)=>{Dr.init(e,t);let n=e._zod.parse,r=Qe(()=>Tr(t)),i=e=>{let t=new Hn([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=it(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=it(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=st,s=!Je.jitless,c=s&&ct.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,Ye())))}),t)}var Ar=L(`$ZodUnion`,(e,t)=>{U.init(e,t),R(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),R(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),R(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),R(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=>et(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=L(`$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(lt(e)&&lt(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=L(`$ZodEnum`,(e,t)=>{U.init(e,t);let n=Xe(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>dt.has(typeof e)).map(e=>typeof e==`string`?ft(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=L(`$ZodTransform`,(e,t)=>{U.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new qe(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 Ke;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=L(`$ZodOptional`,(e,t)=>{U.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,R(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),R(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${et(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=L(`$ZodExactOptional`,(e,t)=>{Lr.init(e,t),R(e._zod,`values`,()=>t.innerType._zod.values),R(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),zr=L(`$ZodNullable`,(e,t)=>{U.init(e,t),R(e._zod,`optin`,()=>t.innerType._zod.optin),R(e._zod,`optout`,()=>t.innerType._zod.optout),R(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${et(e.source)}|null)$`):void 0}),R(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=L(`$ZodDefault`,(e,t)=>{U.init(e,t),e._zod.optin=`optional`,R(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=L(`$ZodPrefault`,(e,t)=>{U.init(e,t),e._zod.optin=`optional`,R(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=L(`$ZodNonOptional`,(e,t)=>{U.init(e,t),R(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=L(`$ZodCatch`,(e,t)=>{U.init(e,t),e._zod.optin=`optional`,R(e._zod,`optout`,()=>t.innerType._zod.optout),R(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,Ye()))},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,Ye()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),Kr=L(`$ZodPipe`,(e,t)=>{U.init(e,t),R(e._zod,`values`,()=>t.in._zod.values),R(e._zod,`optin`,()=>t.in._zod.optin),R(e._zod,`optout`,()=>t.out._zod.optout),R(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=L(`$ZodReadonly`,(e,t)=>{U.init(e,t),R(e._zod,`propValues`,()=>t.innerType._zod.propValues),R(e._zod,`values`,()=>t.innerType._zod.values),R(e._zod,`optin`,()=>t.innerType?._zod?.optin),R(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=L(`$ZodLazy`,(e,t)=>{U.init(e,t),R(e._zod,`innerType`,()=>{let e=t;return e._cachedInner||=t.getter(),e._cachedInner}),R(e._zod,`pattern`,()=>e._zod.innerType?._zod?.pattern),R(e._zod,`propValues`,()=>e._zod.innerType?._zod?.propValues),R(e._zod,`optin`,()=>e._zod.innerType?._zod?.optin??void 0),R(e._zod,`optout`,()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n)}),Zr=L(`$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=>at(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=Xe(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=L(`ZodISODateTime`,(e,t)=>{nr.init(e,t),X.init(e,t)});function Ma(e){return Ei(ja,e)}var Na=L(`ZodISODate`,(e,t)=>{rr.init(e,t),X.init(e,t)});function Pa(e){return Di(Na,e)}var Fa=L(`ZodISOTime`,(e,t)=>{ir.init(e,t),X.init(e,t)});function Ia(e){return Oi(Fa,e)}var La=L(`ZodISODuration`,(e,t)=>{ar.init(e,t),X.init(e,t)});function Ra(e){return ki(La,e)}var q=L(`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,Ze,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Ze,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=L(`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(z(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 B(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=L(`_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=L(`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=L(`ZodStringFormat`,(e,t)=>{W.init(e,t),$a.init(e,t)}),to=L(`ZodEmail`,(e,t)=>{qn.init(e,t),X.init(e,t)}),no=L(`ZodGUID`,(e,t)=>{Gn.init(e,t),X.init(e,t)}),ro=L(`ZodUUID`,(e,t)=>{Kn.init(e,t),X.init(e,t)}),io=L(`ZodURL`,(e,t)=>{Jn.init(e,t),X.init(e,t)});function ao(e){return ui(io,e)}var oo=L(`ZodEmoji`,(e,t)=>{Yn.init(e,t),X.init(e,t)}),so=L(`ZodNanoID`,(e,t)=>{Xn.init(e,t),X.init(e,t)}),co=L(`ZodCUID`,(e,t)=>{Zn.init(e,t),X.init(e,t)}),lo=L(`ZodCUID2`,(e,t)=>{Qn.init(e,t),X.init(e,t)}),uo=L(`ZodULID`,(e,t)=>{$n.init(e,t),X.init(e,t)}),fo=L(`ZodXID`,(e,t)=>{er.init(e,t),X.init(e,t)}),po=L(`ZodKSUID`,(e,t)=>{tr.init(e,t),X.init(e,t)}),mo=L(`ZodIPv4`,(e,t)=>{or.init(e,t),X.init(e,t)}),ho=L(`ZodIPv6`,(e,t)=>{sr.init(e,t),X.init(e,t)}),go=L(`ZodCIDRv4`,(e,t)=>{cr.init(e,t),X.init(e,t)}),_o=L(`ZodCIDRv6`,(e,t)=>{lr.init(e,t),X.init(e,t)}),vo=L(`ZodBase64`,(e,t)=>{dr.init(e,t),X.init(e,t)}),yo=L(`ZodBase64URL`,(e,t)=>{pr.init(e,t),X.init(e,t)}),bo=L(`ZodE164`,(e,t)=>{mr.init(e,t),X.init(e,t)}),xo=L(`ZodJWT`,(e,t)=>{gr.init(e,t),X.init(e,t)}),So=L(`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(To(e))},safe(e){return this.check(To(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 Co(e){return Ai(So,e)}var wo=L(`ZodNumberFormat`,(e,t)=>{vr.init(e,t),So.init(e,t)});function To(e){return ji(wo,e)}var Eo=L(`ZodBoolean`,(e,t)=>{yr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pa(e,t,n,r)});function Z(e){return Mi(Eo,e)}var Do=L(`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=L(`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=L(`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=L(`ZodObject`,(e,t)=>{Or.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ya(e,t,n,r),R(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=L(`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=L(`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=L(`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=L(`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 qe(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=L(`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=L(`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=L(`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=L(`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():ut(t)}})}var Yo=L(`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():ut(t)}})}var Zo=L(`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=L(`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=L(`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=L(`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=L(`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=L(`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()}),fs=$({type:Y(),url:Y(),timestamp:Co().optional(),selectors:us.nullable().optional(),label:Y().nullable().optional(),value:Y().nullable().optional(),sensitive:Z().optional(),tagName:Y().nullable().optional(),innerText:Y().nullable().optional(),inputType:Y().nullable().optional(),html:Y().nullable().optional(),checked:Z().nullable().optional(),assert:ds.optional()}),ps=$({cookies:Q(Oo()),origins:Q(Oo())}),ms=$({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:Z().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:Co().optional(),recordingStartedAt:Co().optional(),storageState:os(()=>ps).nullable().optional(),inputType:Y().nullable().optional(),tagName:Y().nullable().optional(),checked:Z().nullable().optional(),assert:ds.optional()}).passthrough(),hs=$({title:Y(),spec:Y(),feature:Y().nullable(),tags:Q(Y()),domain:Y().nullable()}),gs=$({title:Y(),status:Ro([`waiting`,`running`,`success`,`failed`]),duration_ms:Co(),error:Y().nullable()}),_s=$({started_at:Y(),duration_ms:Co(),passed:Z(),branch:Y().nullable(),author:Y().nullable(),steps:Q(gs),playwright:Y(),video_path:Y().nullable()});hs.extend({playwright:Y(),gherkin:Y().nullable(),events:Q(ms),updated_at:Y(),is_auth:Z(),runs:Q(_s)}),$({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(),events:Q(fs).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:Z(),output:Y()});var vs=$({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.`)}),ys=$({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.`})}),bs=$({name:Y(),slug:Y(),path:Y(),repository:Y().nullable(),provider:Ro([`github`,`gitlab`]).nullable(),created_at:Y()});bs.extend({branch:Y().nullable(),updated_at:Y(),scenarios:Q(hs),auth_status:Ro([`unset`,`skipped`,`configured`,`failing`]),base_url:Y().nullable(),storage_state:Y(),requires_url:Z(),vscode_url:Y(),has_report:Z()});var xs=$({current_page:Co().int().nonnegative(),per_page:Co().int().nonnegative(),total:Co().int().nonnegative()});$({data:Q(bs),meta:xs}),$({name:Y()}),$({baseUrl:ao(`A URL base deve ser uma URL válida.`)}),$({base_url:Y().nullable()});var Ss=[`data-testid`],Cs=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 j(`/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=N(e,`Não foi possível criar o projeto.`)}finally{u.value=!1}}function ee(e){return w(j(`/api/projects`,{method:`POST`,body:{name:e.data.name}}))}function T(e){return w(j(`/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=Ee,_=we,v=M,x=Ve,S=ke,w=I,te=We,E=xe,D=Te;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,Ss)]),_:1},8,[`modelValue`]),r.value===`template`?(t(),g(x,{key:0,id:`projeto-form`,schema:b(vs),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(ys),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`}),ws={base:`animate-pulse rounded-md bg-elevated`},Ts={__name:`USkeleton`,props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(e){let n=fe(`skeleton`,e),r=F(),i=u(()=>ue({extend:ws,...r.ui?.skeleton||{}}));return(e,r)=>(t(),g(b(le),{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`]))}},Es={"data-testid":`projeto-vazio`,class:`py-10 text-center`},Ds={class:`grid grid-cols-1 sm:grid-cols-2 gap-4 max-w-xl mx-auto text-left`},Os={class:`flex flex-col gap-2`},ks={class:`flex size-15 items-center justify-center rounded-lg bg-primary/10 mx-auto`},As={class:`flex flex-col gap-2`},js={class:`flex size-15 items-center justify-center rounded-lg bg-primary/10 mx-auto`},Ms=Object.assign(a({__name:`empty`,emits:[`select`],setup(e,{emit:n}){let r=n;return(e,n)=>{let i=me,a=je;return t(),s(`div`,Es,[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`,Ds,[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`,Os,[p(`div`,ks,[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`,As,[p(`div`,js,[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`}),Ns={class:`flex flex-col gap-2`},Ps={class:`font-semibold truncate`},Fs=[`title`],Is=Object.assign(a({__name:`card`,props:{project:{}},setup(e){let n=u(()=>De(e.project));return(r,i)=>{let a=ke,o=je,s=P;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`,Ns,[p(`p`,Ps,C(e.project.name),1),p(`p`,{class:`text-sm text-muted truncate`,title:e.project.repository??void 0},C(e.project.path),9,Fs),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`}),Ls={class:`text-3xl lg:text-4xl font-bold text-center mb-10`,"data-testid":`projeto-frase`},Rs={class:`flex flex-wrap items-center gap-4 mb-8`},zs={key:0,class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4`},Bs={key:3,class:`flex justify-center mt-8`},Vs=9,Hs=a({__name:`index`,async setup(e){let n,a,l=_(Vs),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(()=>se(`/api/projects`,{query:E},`$yhDhzWqC9C`)),n=await n,a(),n),ie=u(()=>k.value?.data??[]),ae=u(()=>k.value?.meta.total??0);function oe(){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(oe));let A=_(!1),j=_(`template`);function M(e){j.value=e,A.value=!0}let N=[`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`],P=ce(`home-tagline`,()=>N[Math.floor(Math.random()*N.length)]),F=_(P.value??``),I=!0,le=e=>new Promise(t=>setTimeout(t,e));async function ue(){let e=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;for(;I;){if(await le(6e3),!I)return;let t=N.filter(e=>e!==F.value),n=t[Math.floor(Math.random()*t.length)]??``;if(e){F.value=n;continue}for(;I&&F.value.length>0;)F.value=F.value.slice(0,-1),await le(25);for(let e=1;I&&e<=n.length;e++)F.value=n.slice(0,e),await le(55)}}return re(()=>{m.value=!0,oe(),window.addEventListener(`resize`,oe),ue()}),ee(()=>{I=!1,window.removeEventListener(`resize`,oe)}),(e,n)=>{let a=we,u=xe,_=Cs,x=Ts,w=Ms,ee=Is,T=Oe,te=Ae;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`,Ls,[o(C(b(F)),1),n[5]||=p(`span`,{class:`animate-pulse font-light text-muted`,"aria-hidden":`true`},`|`,-1)]),p(`div`,Rs,[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=>A.value=!0})]),y(_,{open:b(A),"onUpdate:open":n[2]||=e=>r(A)?A.value=e:null,tab:b(j),"onUpdate:tab":n[3]||=e=>r(j)?j.value=e:null},null,8,[`open`,`tab`]),b(ne)===`pending`?(t(),s(`div`,zs,[(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:M})):(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`,Bs,[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{Hs as default};