wizards 0.2.20 → 0.2.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/runtime/dist/authoring/guide.js +32 -4
- package/apps/runtime/dist/engine/prepare.js +37 -2
- package/apps/runtime/dist/engine/requirements.js +22 -1
- package/apps/runtime/dist/engine/runner.js +7 -1
- package/apps/runtime/dist/engine/steps.js +8 -1
- package/apps/runtime/dist/engine/template.js +8 -0
- package/apps/runtime/dist/files/storage.js +8 -1
- package/apps/runtime/dist/film/project.js +195 -0
- package/apps/runtime/dist/film/skills.js +91 -0
- package/apps/runtime/dist/film/sounds.js +122 -0
- package/apps/runtime/dist/film/step.js +286 -0
- package/apps/runtime/dist/film/tools.js +99 -0
- package/apps/runtime/dist/index.js +2 -1
- package/apps/runtime/dist/media/transcribe.js +150 -0
- package/apps/runtime/dist/models.js +109 -2
- package/apps/runtime/dist/render/downloads.js +1 -1
- package/apps/runtime/dist/widgets/render.js +20 -3
- package/apps/runtime/dist/widgets/runtime.js +2 -1
- package/apps/runtime/dist/widgets/step.js +16 -0
- package/apps/web/dist/assets/Account-DBtSpuEQ.js +1 -0
- package/apps/web/dist/assets/{ChangelogDialog-BBmJedTW.js → ChangelogDialog-BlFyzslp.js} +1 -1
- package/apps/web/dist/assets/{ChatPanel-Bi3tnxOD.js → ChatPanel-ofw0p02m.js} +1 -1
- package/apps/web/dist/assets/{CreditsDialog-C_lMgenE.js → CreditsDialog-CMa3Igqt.js} +1 -1
- package/apps/web/dist/assets/EditorPage-D2v_Levn.js +2 -0
- package/apps/web/dist/assets/{FlowPreview-DBroqouz.js → FlowPreview-DkdzInU8.js} +1 -1
- package/apps/web/dist/assets/{Harness-Dkw5Zldw.js → Harness-Dkn6KCJV.js} +2 -2
- package/apps/web/dist/assets/{HomePage-D9f7DKEw.js → HomePage-Dd-y_p7u.js} +1 -1
- package/apps/web/dist/assets/{ImportWizard-Br-Ys-Np.js → ImportWizard-C3OT94hv.js} +1 -1
- package/apps/web/dist/assets/LocalRuntime-BkRQm0GM.js +1 -0
- package/apps/web/dist/assets/NewWizardPage--DdPF3l9.js +2 -0
- package/apps/web/dist/assets/ProjectPage-CsoEkwhy.js +5 -0
- package/apps/web/dist/assets/PublicRunner-BVPl_WNQ.js +1 -0
- package/apps/web/dist/assets/RunnerView-C6mpXHeH.js +70 -0
- package/apps/web/dist/assets/SettingsPage-BhM74zXG.js +1 -0
- package/apps/web/dist/assets/{SetupPage-GWL_IhbR.js → SetupPage-yfG5gOaZ.js} +1 -1
- package/apps/web/dist/assets/SharePage-C5Vy5zJy.js +1 -0
- package/apps/web/dist/assets/{api-Byy4NRvQ.js → api-C-JIx8M5.js} +2 -2
- package/apps/web/dist/assets/changelog-CyoGUe5a.js +1 -0
- package/apps/web/dist/assets/definition-BznNdlhf.js +55 -0
- package/apps/web/dist/assets/{esm-WstF63Ly.js → esm-BpXlr_Mv.js} +1 -1
- package/apps/web/dist/assets/image-CC_2mJd6.js +1 -0
- package/apps/web/dist/assets/index-Bb5l3tTJ.js +10 -0
- package/apps/web/dist/assets/meta-C-2h0-O5.js +1 -0
- package/apps/web/dist/assets/{settings-menu-GUFlmH3n.js → settings-menu-DK8T02Tt.js} +1 -1
- package/apps/web/dist/assets/ui-Djd0WhVb.js +1 -0
- package/apps/web/dist/assets/volume-2-DE67_rue.js +1 -0
- package/apps/web/dist/index.html +3 -3
- package/apps/web/dist/mcp/flow.html +43 -43
- package/node_modules/@engenty-wizards/shared/dist/definition.d.ts +146 -0
- package/node_modules/@engenty-wizards/shared/dist/definition.js +101 -0
- package/node_modules/@engenty-wizards/shared/dist/marketplace-entry.js +3 -0
- package/node_modules/@engenty-wizards/shared/dist/marketplace.d.ts +6 -1
- package/node_modules/@engenty-wizards/shared/dist/marketplace.js +12 -0
- package/node_modules/@engenty-wizards/shared/dist/run.d.ts +30 -0
- package/node_modules/@engenty-wizards/shared/dist/run.js +18 -0
- package/package.json +1 -1
- package/apps/web/dist/assets/Account-0f8W571o.js +0 -1
- package/apps/web/dist/assets/EditorPage-2-DypFBB.js +0 -2
- package/apps/web/dist/assets/LocalRuntime-CbA3kdFH.js +0 -1
- package/apps/web/dist/assets/NewWizardPage-Cvt9fKwq.js +0 -2
- package/apps/web/dist/assets/ProjectPage-CWn7fwSr.js +0 -5
- package/apps/web/dist/assets/PublicRunner-DFUM0aP5.js +0 -1
- package/apps/web/dist/assets/RunnerView-BAmePlD3.js +0 -70
- package/apps/web/dist/assets/SettingsPage-CLLlnzeS.js +0 -1
- package/apps/web/dist/assets/SharePage-DZzIMn0m.js +0 -1
- package/apps/web/dist/assets/changelog-DMAoeotb.js +0 -1
- package/apps/web/dist/assets/definition-Dp0DR2D6.js +0 -55
- package/apps/web/dist/assets/image-BShbErBm.js +0 -1
- package/apps/web/dist/assets/index-udMtduDM.js +0 -10
- package/apps/web/dist/assets/meta-CUWuppZ0.js +0 -1
- package/apps/web/dist/assets/ui-CwU0VR_B.js +0 -1
- package/apps/web/dist/assets/volume-2-Bp2tyaKE.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-D3jfb0Ew.js";import{A as r,O as i,S as a,j as o,k as s,n as c,nt as l,w as u}from"./api-Byy4NRvQ.js";import{t as d}from"./createLucideIcon-q3MZMmnf.js";import{t as f}from"./refresh-cw-BNtHis1x.js";import{t as p}from"./arrow-right-6FyN3e7D.js";import{n as m}from"./HomePage-D9f7DKEw.js";import{t as h}from"./check-CUpby_J9.js";import{t as g}from"./chevron-down-DymW-2BP.js";import{t as _}from"./circle-alert-D2SCwFT-.js";import{n as v,r as y,t as ee}from"./volume-2-Bp2tyaKE.js";import{n as te,r as b}from"./upload-DNRENWzQ.js";import{n as x,t as S}from"./plus-Du-Jx8aI.js";import{t as C}from"./external-link-MAL7vJYj.js";import{c as w,t as ne}from"./Account-0f8W571o.js";import{t as re}from"./image-BShbErBm.js";import{n as T,t as ie}from"./trash-0IafyhZB.js";import{t as ae}from"./pen-line-NK46C_nG.js";import{a as oe,b as E,d as D,h as O,n as k,o as A,p as se,r as j,s as M,t as N,u as ce,v as le}from"./ui-CwU0VR_B.js";import{E as ue,K as P,L as de,M as fe,P as pe,W as me,d as he,g as ge,h as _e,i as ve,k as ye,m as be,p as xe,r as Se,w as Ce,x as we}from"./index-udMtduDM.js";import{o as Te}from"./definition-Dp0DR2D6.js";import{n as Ee}from"./LocalRuntime-CbA3kdFH.js";import{a as F,c as De,d as Oe,f as ke,i as I,l as Ae,m as je,n as Me,o as Ne,p as Pe,r as Fe,s as Ie,t as Le,u as Re}from"./settings-menu-GUFlmH3n.js";import{t as ze}from"./Harness-Dkw5Zldw.js";var Be={name:`ear`,size:24,node:[[`path`,{d:`M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0`,key:`1dfaln`}],[`path`,{d:`M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4`,key:`1qnva7`}]]};Be.node;var Ve=d(Be),He={name:`key-round`,size:24,node:[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]};He.node;var L=d(He),Ue={name:`mail-plus`,size:24,node:[[`path`,{d:`M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8`,key:`12jkf8`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`,key:`1ocrg3`}],[`path`,{d:`M19 16v6`,key:`tddt3s`}],[`path`,{d:`M16 19h6`,key:`xwg31i`}]]};Ue.node;var We=d(Ue),Ge={name:`monitor`,size:24,node:[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]};Ge.node;var Ke=d(Ge),qe={name:`rotate-cw`,size:24,node:[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]};qe.node;var Je=d(qe),Ye={name:`wrench`,size:24,node:[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]};Ye.node;var Xe=d(Ye),R=e(t(),1),z=e(n(),1);function Ze(){let e=ge(),[t,n]=(0,R.useState)(null),[r,i]=(0,R.useState)(null),a=async e=>{n(e??`*`),i(null);try{await _e(e)}catch(e){i(e.message)}finally{n(null)}};return(0,z.jsxs)(w,{title:E(`plugins.title`),hint:e.canReload?E(`plugins.hint`):E(`plugins.hintManaged`),action:e.canReload?(0,z.jsx)(N,{variant:`secondary`,busy:t===`*`,onClick:()=>void a(),children:E(`plugins.rescan`)}):null,children:[(0,z.jsxs)(`ul`,{className:`divide-y divide-border-soft`,children:[e.plugins.map(n=>{let r=e.failed[n.id];return(0,z.jsxs)(`li`,{className:`flex items-start gap-4 py-4 first:pt-0 last:pb-0`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2.5 gap-y-1`,children:[(0,z.jsx)(`span`,{className:`font-medium text-[0.9375rem]`,children:n.name}),n.name===n.id?null:(0,z.jsxs)(`span`,{className:`font-mono text-[0.75rem] text-ink-4`,children:[n.id,` · `,n.version]})]}),n.description?(0,z.jsx)(`p`,{className:`mt-0.5 text-[0.875rem] text-ink-3`,children:n.description}):null,n.tools.length?(0,z.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5 text-[0.75rem] text-ink-3`,children:[E(`plugins.tools`),n.tools.map(e=>(0,z.jsx)(j,{children:e.id},e.id))]}):null,n.error?(0,z.jsx)(`p`,{className:`mt-2 text-[0.8125rem] text-rose`,children:E(`plugins.serverFailed`,{error:n.error})}):null,r?(0,z.jsx)(`p`,{className:`mt-2 text-[0.8125rem] text-rose`,children:E(`plugins.studioFailed`,{error:r})}):null]}),e.canReload?(0,z.jsx)(A,{label:E(`plugins.reload`),disabled:t!==null,onClick:()=>void a(n.id),children:(0,z.jsx)(Je,{className:t===n.id?`size-4 animate-spin`:`size-4`})}):null]},n.id)}),e.problems.map(e=>(0,z.jsxs)(`li`,{className:`py-4 first:pt-0 last:pb-0`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2.5 gap-y-1`,children:[(0,z.jsx)(j,{tone:`warn`,children:E(`plugins.problems`)}),(0,z.jsx)(`span`,{className:`break-all font-mono text-[0.75rem] text-ink-3`,children:e.path})]}),(0,z.jsx)(`p`,{className:`mt-1.5 text-[0.8125rem] text-ink-3`,children:e.message})]},e.path))]}),r?(0,z.jsx)(`p`,{className:`mt-4 text-[0.8125rem] text-rose`,children:r}):null]})}function Qe({connector:e}){let[t,n]=(0,R.useState)(!1);return(0,z.jsxs)(`div`,{className:`rounded-lg bg-paper ring-1 ring-border-soft`,children:[(0,z.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`flex w-full items-center gap-3 px-3 py-2 text-left`,children:[(0,z.jsx)(`span`,{className:O(`size-2 shrink-0 rounded-full`,e.usable?`bg-moss`:`bg-ink-4`)}),(0,z.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-[0.8125rem]`,children:[e.name,` `,(0,z.jsx)(`span`,{className:`font-mono text-[0.6875rem] text-ink-4`,children:e.id})]}),(0,z.jsx)(`span`,{className:`shrink-0 text-[0.75rem] text-ink-3`,children:e.usable?E(`connectors.actions`,{n:e.actions.length,r:e.actions.filter(e=>e.group===`read`).length}):E(`connectors.notSetUp`)})]}),t?(0,z.jsxs)(`div`,{className:`border-border-soft border-t px-3 py-2 text-[0.75rem]`,children:[e.missingSetup?(0,z.jsxs)(`p`,{className:`mb-1 text-ink-3`,children:[E(`connectors.setup`),` `,(0,z.jsx)(`span`,{className:`font-mono text-ink-2`,children:e.missingSetup})]}):null,(0,z.jsx)(`p`,{className:`text-ink-4`,children:e.actions.map(e=>e.group===`read`?e.id:`${e.id} (${E(`connectors.group.${e.group}`)})`).join(` · `)})]}):null]})}var $e={none:`connectors.authNone`,oauth2:`connectors.authOauth`,api_key:`connectors.authKey`};function et({projectId:e,connector:t,readOnly:n}){let r=l(),[i,a]=(0,R.useState)(!1),o=()=>r.invalidateQueries({queryKey:[`connectors`,e]}),s=`/api/studio/projects/${e}/connectors/${t.id}`,u=P({mutationFn:()=>c.post(`${s}/refresh`),onSuccess:o}),d=P({mutationFn:()=>c.del(s),onSuccess:o}),p=t.actions.filter(e=>e.group===`read`).length;return(0,z.jsxs)(`div`,{className:`rounded-lg bg-paper ring-1 ring-border-soft`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-3 p-3`,children:[(0,z.jsx)(`div`,{className:`flex size-9 shrink-0 items-center justify-center rounded-lg bg-paper-2 text-ink-2`,children:(0,z.jsx)(pe,{className:`size-4`})}),(0,z.jsxs)(`button`,{type:`button`,onClick:()=>a(e=>!e),className:`min-w-0 flex-1 text-left`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`truncate font-medium text-[0.875rem]`,children:t.name}),(0,z.jsx)(`span`,{className:`font-mono text-[0.6875rem] text-ink-4`,children:t.id})]}),(0,z.jsxs)(`div`,{className:`truncate text-[0.75rem] text-ink-3`,children:[t.domain,` · `,t.sourceKind===`mcp`?`MCP`:`OpenAPI`,` ·`,` `,E($e[t.auth]),` ·`,` `,t.toolsPending?E(`connectors.pending`):E(`connectors.actions`,{n:t.actions.length,r:p})]})]}),n?null:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(A,{label:E(`connectors.refresh`),onClick:()=>u.mutate(),children:u.isPending?(0,z.jsx)(D,{className:`size-4`}):(0,z.jsx)(f,{className:`size-4`})}),(0,z.jsx)(A,{label:E(`connectors.remove`),className:`hover:text-rose`,onClick:()=>confirm(`${t.name}: ${E(`connectors.remove`)}?`)&&d.mutate(),children:(0,z.jsx)(ie,{className:`size-4`})})]})]}),t.needsOAuthClient?(0,z.jsx)(`p`,{className:`border-border-soft border-t px-3 py-2 text-[0.75rem] text-rose`,children:E(`connectors.needsClient`)}):null,u.error??d.error?(0,z.jsx)(`p`,{className:`border-border-soft border-t px-3 py-2 text-[0.75rem] text-rose`,children:(u.error??d.error).message}):null,i&&t.actions.length?(0,z.jsx)(`ul`,{className:`max-h-64 overflow-y-auto border-border-soft border-t px-3 py-2`,children:t.actions.map(e=>(0,z.jsxs)(`li`,{className:`flex items-baseline gap-2 py-1 text-[0.75rem]`,children:[(0,z.jsx)(`span`,{className:O(`w-14 shrink-0 text-[0.6875rem] uppercase tracking-wide`,e.group===`read`?`text-moss`:e.group===`write`?`text-ink-3`:`text-rose`),children:E(`connectors.group.${e.group}`)}),(0,z.jsx)(`span`,{className:`shrink-0 font-mono text-ink-2`,children:e.id}),(0,z.jsx)(`span`,{className:`min-w-0 truncate text-ink-4`,children:e.summary})]},e.id))}):null]})}function tt({projectId:e,domain:t,source:n,taken:r,onDone:i}){let a=l(),[o,s]=(0,R.useState)({id:``,secret:``}),[u,d]=(0,R.useState)(!1),f=r.includes(n.suggestedId),p=P({mutationFn:()=>c.post(`/api/studio/projects/${e}/connectors`,{domain:t,sourceKind:n.sourceKind,sourceUrl:n.sourceUrl,id:n.suggestedId,toolPrefix:n.suggestedToolPrefix,...n.name?{name:n.name}:{},...o.id&&o.secret?{oauthClientId:o.id,oauthClientSecret:o.secret}:{}}),onSuccess:async t=>{await a.invalidateQueries({queryKey:[`connectors`,e]}),i(t.warnings)}});return(0,z.jsxs)(`div`,{className:`rounded-lg bg-card p-3 ring-1 ring-border-soft`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,z.jsx)(j,{tone:n.sourceKind===`mcp`?`ember`:`neutral`,children:n.sourceKind===`mcp`?`MCP`:`OpenAPI`}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`div`,{className:`truncate text-[0.8125rem]`,children:n.name??n.suggestedId}),(0,z.jsx)(`div`,{className:`truncate font-mono text-[0.6875rem] text-ink-4`,children:n.sourceUrl})]}),n.blocked||f?null:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`button`,{type:`button`,onClick:()=>d(e=>!e),className:`text-[0.75rem] text-ink-3 hover:text-ink`,children:E(`connectors.ownClient`)}),(0,z.jsx)(N,{size:`sm`,busy:p.isPending,onClick:()=>p.mutate(),children:E(`connectors.import`)})]})]}),n.blocked?(0,z.jsx)(`p`,{className:`mt-2 text-[0.75rem] text-ink-3`,children:n.blocked}):null,f?(0,z.jsx)(`p`,{className:`mt-2 text-[0.75rem] text-ink-3`,children:E(`connectors.exists`)}):null,u?(0,z.jsxs)(`div`,{className:`mt-3 grid gap-2 sm:grid-cols-2`,children:[(0,z.jsx)(M,{placeholder:`OAuth Client-ID`,value:o.id,onChange:e=>s(t=>({...t,id:e.target.value}))}),(0,z.jsx)(M,{type:`password`,autoComplete:`off`,placeholder:`OAuth Client-Secret`,value:o.secret,onChange:e=>s(t=>({...t,secret:e.target.value}))})]}):null,p.error?(0,z.jsx)(`p`,{className:`mt-2 text-[0.75rem] text-rose`,children:p.error.message}):null]})}function nt({projectId:e,readOnly:t}){let[n,r]=(0,R.useState)(``),[i,a]=(0,R.useState)(null),[s,l]=(0,R.useState)(null),[u,d]=(0,R.useState)([]),f=o({queryKey:[`connectors`,e],queryFn:()=>c.get(`/api/studio/projects/${e}/connectors`)}),p=P({mutationFn:()=>c.post(`/api/studio/connectors/search`,{query:n}),onSuccess:e=>{a(e),l(null),d([])}}),m=P({mutationFn:e=>c.get(`/api/studio/connectors/registry/${encodeURIComponent(e)}`),onSuccess:l}),h=f.data??[],_=h.filter(e=>e.sourceKind===`builtin`&&(xe.unsetConnectors||e.usable)),v=h.filter(e=>e.sourceKind!==`builtin`);return(0,z.jsxs)(k,{className:`p-4 sm:p-6`,children:[(0,z.jsx)(`h2`,{className:`font-display font-semibold text-lg`,children:E(`connectors.title`)}),(0,z.jsx)(`p`,{className:`mt-1 mb-5 text-[0.875rem] text-ink-3`,children:E(`connectors.hint`)}),_.length?(0,z.jsx)(`div`,{className:`mb-5 grid gap-1.5 sm:grid-cols-2`,children:_.map(e=>(0,z.jsx)(Qe,{connector:e},e.id))}):null,(0,z.jsx)(`h3`,{className:`mb-2 font-medium text-[0.75rem] text-ink-3 uppercase tracking-[0.07em]`,children:E(`connectors.imported`)}),v.length?(0,z.jsx)(`div`,{className:`mb-4 flex flex-col gap-2`,children:v.map(n=>(0,z.jsx)(et,{projectId:e,connector:n,readOnly:t},n.id))}):null,t?v.length?null:(0,z.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:E(`connectors.noneImported`)}):(0,z.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),n.trim()&&p.mutate()},children:[(0,z.jsx)(M,{value:n,placeholder:E(`connectors.search`),onChange:e=>r(e.target.value)}),(0,z.jsxs)(N,{type:`submit`,variant:`secondary`,busy:p.isPending,children:[(0,z.jsx)(te,{className:`size-4`}),` `,E(`connectors.find`)]})]}),p.error?(0,z.jsx)(`p`,{className:`mt-3 text-[0.8125rem] text-rose`,children:p.error.message}):null,i&&!s?(0,z.jsxs)(`div`,{className:`mt-3 flex flex-col gap-1`,children:[i.length?null:(0,z.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:E(`connectors.none`)}),i.map(e=>(0,z.jsxs)(`button`,{type:`button`,disabled:!e.kinds.length,onClick:()=>m.mutate(e.domain),className:`flex items-center gap-3 rounded-lg px-3 py-2 text-left transition hover:bg-paper-2 disabled:opacity-50`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`div`,{className:`truncate text-[0.875rem]`,children:e.domain}),(0,z.jsx)(`div`,{className:`truncate text-[0.75rem] text-ink-3`,children:e.description})]}),(0,z.jsx)(`span`,{className:`text-[0.6875rem] text-ink-4 uppercase`,children:e.kinds.join(` · `)}),(0,z.jsx)(g,{className:`-rotate-90 size-4 text-ink-4`})]},e.domain)),m.isPending?(0,z.jsx)(D,{className:`mx-auto mt-2 size-4 text-ink-4`}):null,m.error?(0,z.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:m.error.message}):null]}):null,s?(0,z.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,z.jsx)(`div`,{className:`font-medium text-[0.875rem]`,children:s.domain}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>l(null),className:`text-[0.75rem] text-ink-3 hover:text-ink`,children:E(`run.back`)})]}),s.summary?(0,z.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:s.summary}):null,s.sources.map(t=>(0,z.jsx)(tt,{projectId:e,domain:s.domain,source:t,taken:h.map(e=>e.id),onDone:d},`${t.sourceKind}:${t.sourceUrl}`)),s.credentials.filter(e=>e.setup||e.url).map(e=>(0,z.jsxs)(`p`,{className:`text-[0.75rem] text-ink-3`,children:[(0,z.jsxs)(`span`,{className:`text-ink-2`,children:[e.label,`:`]}),` `,e.setup,` `,e.url?(0,z.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,className:`text-ember underline`,children:e.url}):null]},e.label)),u.map(e=>(0,z.jsx)(`p`,{className:`text-[0.75rem] text-ink-3`,children:e},e))]}):null]})}var B=`engenty-wizards`,rt=`ENGENTY_WIZARDS_KEY`,it=[{id:`claude-desktop`,name:`Claude Desktop`,widgets:!0},{id:`claude-code`,name:`Claude Code`,widgets:!1},{id:`codex`,name:`Codex · ChatGPT app`,widgets:!1},{id:`cursor`,name:`Cursor`,widgets:!0},{id:`vscode`,name:`VS Code (Copilot)`,widgets:!0},{id:`windsurf`,name:`Windsurf`,widgets:!1},{id:`gemini`,name:`Gemini CLI`,widgets:!1},{id:`goose`,name:`Goose`,widgets:!0},{id:`openclaw`,name:`OpenClaw`,widgets:!1},{id:`lm-studio`,name:`LM Studio`,widgets:!1},{id:`claude-ai`,name:`claude.ai`,widgets:!0,oauth:!0},{id:`chatgpt`,name:`ChatGPT`,widgets:!0,oauth:!0}];function V({text:e}){let[t,n]=(0,R.useState)(!1);return(0,z.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg bg-paper-2 p-3`,children:[(0,z.jsx)(`code`,{className:`min-w-0 flex-1 whitespace-pre-wrap break-all font-mono text-[0.75rem] leading-relaxed`,children:e}),(0,z.jsx)(A,{label:E(t?`settings.copied`:`settings.copy`),onClick:async()=>{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1500)},children:t?(0,z.jsx)(h,{className:`size-4`}):(0,z.jsx)(x,{className:`size-4`})})]})}function at(e){try{let t=new URL(e);return t.protocol===`https:`&&!/(^|\.)localhost$/.test(t.hostname)&&!/^(127\.|10\.|192\.168\.|\[::1\])/.test(t.hostname)}catch{return!1}}function H({children:e}){return(0,z.jsx)(`p`,{className:`text-[0.875rem] text-ink-3`,children:e})}function U({title:e,children:t}){return(0,z.jsxs)(`section`,{className:`flex flex-col gap-2.5 border-border-soft border-t pt-5 first:border-t-0 first:pt-0`,children:[(0,z.jsx)(`h3`,{className:`font-medium text-[0.9375rem]`,children:e}),t]})}function ot(e,t){return JSON.stringify({[e]:{[B]:t}},null,2)}function st({id:e,url:t,apiKey:n}){let r=n?`Authorization: Bearer ${n}`:null,i=n?{headers:{Authorization:`Bearer ${n}`}}:{};switch(e){case`claude-code`:{let e=t.replace(/\/api\/mcp$/,`/api/claude-plugin`);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(H,{children:E(`mcp.terminal`)}),(0,z.jsx)(V,{text:`claude mcp add --transport http --scope user ${B} ${t}${r?` --header "${r}"`:``}`}),!n&&at(t)?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(H,{children:E(`mcp.ccPlugin`)}),(0,z.jsx)(V,{text:`claude plugin marketplace add ${e}/marketplace.json`}),(0,z.jsx)(V,{text:`claude plugin install ${B}@engenty`})]}):null]})}case`codex`:return n?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(H,{children:E(`mcp.codexKey`)}),(0,z.jsx)(V,{text:`echo 'export ${rt}=${n}' >> ~/.zshrc && source ~/.zshrc`}),(0,z.jsx)(V,{text:`codex mcp add ${B} --url ${t} --bearer-token-env-var ${rt}`})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(H,{children:E(`mcp.terminal`)}),(0,z.jsx)(V,{text:`codex mcp add ${B} --url ${t}`}),(0,z.jsx)(V,{text:`codex mcp login ${B}`})]});case`gemini`:return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(H,{children:E(`mcp.terminal`)}),(0,z.jsx)(V,{text:`gemini mcp add --scope user --transport http ${B} ${t}${r?` -H "${r}"`:``}`})]});case`cursor`:return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(H,{children:E(`integrate.file`,{file:`~/.cursor/mcp.json`})}),(0,z.jsx)(V,{text:ot(`mcpServers`,{url:t,...i})})]});case`vscode`:return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(H,{children:E(`integrate.vscode`)}),(0,z.jsx)(V,{text:ot(`servers`,{type:`http`,url:t,...i})})]});case`windsurf`:return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(H,{children:E(`integrate.file`,{file:`~/.codeium/windsurf/mcp_config.json`})}),(0,z.jsx)(V,{text:ot(`mcpServers`,{serverUrl:t,...i})})]});case`lm-studio`:return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(H,{children:E(`integrate.file`,{file:`~/.lmstudio/mcp.json`})}),(0,z.jsx)(V,{text:ot(`mcpServers`,{url:t,...i})})]});case`claude-desktop`:case`claude-ai`:return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(H,{children:E(`mcp.claudeAi`)}),(0,z.jsx)(V,{text:t})]});case`chatgpt`:return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(H,{children:E(`integrate.chatgpt`)}),(0,z.jsx)(V,{text:t})]});default:return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(H,{children:E(`integrate.generic`)}),(0,z.jsx)(V,{text:t}),r?(0,z.jsx)(V,{text:r}):null]})}}function ct(){let e=l(),t=o({queryKey:[`api-keys`],queryFn:()=>c.get(`/api/studio/api-keys`)}),n=P({mutationFn:e=>c.del(`/api/studio/api-keys/${e}`),onSuccess:()=>e.invalidateQueries({queryKey:[`api-keys`]})});return t.data?.length?(0,z.jsxs)(`section`,{children:[(0,z.jsx)(`h2`,{className:`font-display font-semibold text-lg`,children:E(`mcp.keys`)}),(0,z.jsx)(`p`,{className:`mt-1 mb-4 text-[0.875rem] text-ink-3`,children:E(`mcp.keysHint`)}),(0,z.jsx)(k,{className:`flex flex-col gap-2 p-3`,children:t.data.map(e=>(0,z.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg px-3 py-2`,children:[(0,z.jsx)(L,{className:`size-4 shrink-0 text-ink-4`}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`div`,{className:`truncate text-[0.875rem]`,children:e.name}),(0,z.jsxs)(`div`,{className:`font-mono text-[0.6875rem] text-ink-4`,children:[e.start,`… ·`,` `,e.lastRequest?E(`settings.lastUsed`,{when:new Date(e.lastRequest).toLocaleString()}):E(`settings.neverUsed`)]})]}),(0,z.jsx)(A,{label:E(`settings.revoke`),onClick:()=>n.mutate(e.id),className:`hover:text-rose`,children:(0,z.jsx)(ie,{className:`size-4`})})]},e.id))})]}):null}function lt({state:e,title:t,children:n}){return(0,z.jsxs)(`li`,{className:`grid grid-cols-[22px_minmax(0,1fr)] gap-x-3`,children:[(0,z.jsx)(`span`,{className:O(`mt-0.5 grid size-[22px] place-items-center rounded-full`,e===`done`&&`bg-moss text-white`,e===`now`&&`bg-amber-tint text-ink-2`,e===`later`&&`bg-paper-2 ring-1 ring-border-soft`),children:e===`done`?(0,z.jsx)(h,{className:`size-3.5`,strokeWidth:3}):e===`now`?(0,z.jsx)(D,{className:`size-3`}):null}),(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2 pb-4`,children:[(0,z.jsx)(`span`,{className:O(`text-[0.875rem]`,e===`later`?`text-ink-3`:`font-medium`),children:t}),e===`now`?n:null]})]})}function ut({widgets:e}){return(0,z.jsxs)(`p`,{className:`mt-1 flex flex-wrap items-center gap-x-4 gap-y-1 text-[0.8125rem] text-ink-3`,children:[(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,title:E(`integrate.kindMcp`),children:[(0,z.jsx)(Xe,{className:`size-3.5 text-ember-strong`}),(0,z.jsx)(`span`,{className:`font-medium text-ink-2`,children:`MCP`}),` `,E(`integrate.kindMcpShort`)]}),(0,z.jsxs)(`span`,{className:O(`inline-flex items-center gap-1.5`,e?null:`opacity-60`),title:E(e?`integrate.kindApp`:`integrate.kindAppNo`),children:[(0,z.jsx)(me,{className:O(`size-3.5`,e?`text-ember-strong`:`text-ink-4`)}),(0,z.jsx)(`span`,{className:`font-medium text-ink-2`,children:`MCP App`}),` `,E(e?`integrate.kindAppShort`:`integrate.kindAppNoShort`)]})]})}function dt({at:e,done:t}){let n=[E(`setup.stage.connect`),E(`setup.stage.test`),E(`setup.stage.done`)];return(0,z.jsx)(`ol`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 font-medium text-[0.6875rem] uppercase tracking-[0.14em]`,children:n.map((n,r)=>{let i=t||r<e;return(0,z.jsxs)(`li`,{"aria-current":!i&&r===e?`step`:void 0,className:O(`flex items-center gap-1`,i?`text-moss`:r===e?`text-ember-strong`:`text-ink-4`),children:[i?(0,z.jsx)(h,{className:`size-3`,strokeWidth:3}):null,n]},n)})})}function ft({client:e,local:t,seen:n,managed:r,url:i}){let a=l(),o=at(i),s=!r&&!!t&&!e.oauth,[u,d]=(0,R.useState)(s&&t?.installed!==!1?`here`:`address`),[f,p]=(0,R.useState)(null),[m,g]=(0,R.useState)(),_=P({mutationFn:t=>c.post(`/api/studio/local/apps/${e.id}`,{connect:t}),onSuccess:e=>p(e),onError:e=>p({ok:!1,message:e.message}),onSettled:()=>a.invalidateQueries({queryKey:[`local-apps`]})}),y=P({mutationFn:()=>c.post(`/api/studio/api-keys`,{name:e.name.slice(0,32)}),onSuccess:async e=>{g(e.key),await a.invalidateQueries({queryKey:[`api-keys`]})}}),ee=e.oauth===!0||e.id===`claude-desktop`,te=u===`address`&&ee&&!(r&&o),b=u===`here`?!!t?.connected:r||!!m,x=!!n?.toolAt,C=x?2:b||n?1:0,w=e=>(0,z.jsx)(V,{text:e});return(0,z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start gap-x-4 gap-y-2`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`h2`,{className:`font-display font-semibold text-[1.375rem] leading-tight tracking-tight`,children:e.name}),(0,z.jsx)(ut,{widgets:e.widgets})]}),(0,z.jsx)(dt,{at:C,done:x})]}),(0,z.jsxs)(k,{className:`flex flex-col gap-6 p-3.5 sm:p-5 sm:p-6`,children:[s||!e.oauth?(0,z.jsx)(`fieldset`,{"aria-label":E(`integrate.where`),className:`min-w-0`,children:(0,z.jsx)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:[`here`,`address`].map(e=>{let t=e===`here`&&!s;return(0,z.jsxs)(`button`,{type:`button`,disabled:t,onClick:()=>d(e),"aria-pressed":u===e,className:O(`flex items-start gap-3 rounded-xl px-3.5 py-2.5 text-left ring-1 transition`,u===e?`bg-ember-tint/50 ring-ember-strong/40`:`ring-border-soft hover:bg-accent`,t&&`cursor-not-allowed opacity-50 hover:bg-transparent`),children:[e===`here`?(0,z.jsx)(Ke,{className:`mt-0.5 size-4 shrink-0 text-ink-3`}):(0,z.jsx)(v,{className:`mt-0.5 size-4 shrink-0 text-ink-3`}),(0,z.jsxs)(`span`,{className:`min-w-0`,children:[(0,z.jsx)(`span`,{className:`block font-medium text-[0.875rem]`,children:E(e===`here`?`integrate.here`:`integrate.address`)}),(0,z.jsx)(`span`,{className:`block text-[0.75rem] text-ink-3`,children:E(e===`here`?r?`integrate.hereManaged`:`integrate.hereHint`:`integrate.addressHint`)})]})]},e)})})}):null,te?(0,z.jsx)(U,{title:E(`mcp.notHere`),children:(0,z.jsx)(H,{children:E(r?`mcp.needsPublic`:`integrate.oauthLocal`)})}):u===`here`?(0,z.jsxs)(U,{title:E(`integrate.connectTitle`),children:[t?.installed===!1&&!t.connected?(0,z.jsx)(H,{children:E(`integrate.notInstalled`,{app:e.name})}):null,t?.connected?(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,z.jsxs)(`span`,{className:`flex items-center gap-2 text-[0.875rem] text-ink-2`,children:[(0,z.jsx)(h,{className:`size-4 text-moss`}),E(`integrate.connected`,{app:e.name})]}),(0,z.jsx)(N,{size:`sm`,variant:`ghost`,busy:_.isPending&&_.variables===!1,onClick:()=>_.mutate(!1),children:E(`mcp.appsDisconnect`)})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(H,{children:E(`integrate.connectHint`,{app:e.name})}),(0,z.jsx)(`div`,{children:(0,z.jsxs)(N,{busy:_.isPending,onClick:()=>_.mutate(!0),children:[(0,z.jsx)(S,{className:`size-4`}),` `,E(`integrate.connect`,{app:e.name})]})})]}),f&&!f.ok?(0,z.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:f.message}):null,f?.snippet?(0,z.jsx)(V,{text:f.snippet}):null,t?.where?(0,z.jsx)(`p`,{className:`font-mono text-[0.6875rem] text-ink-4`,children:t.where}):null]}):(0,z.jsxs)(z.Fragment,{children:[r||ee?null:(0,z.jsx)(U,{title:E(`mcp.keyTitle`),children:m?(0,z.jsxs)(`p`,{className:`flex items-center gap-2 text-[0.875rem] text-ink-2`,children:[(0,z.jsx)(h,{className:`size-4 text-moss`}),` `,E(`mcp.keyReady`)]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(H,{children:E(`mcp.keyHint`)}),(0,z.jsx)(`div`,{children:(0,z.jsxs)(N,{variant:`secondary`,busy:y.isPending,onClick:()=>y.mutate(),children:[(0,z.jsx)(S,{className:`size-4`}),` `,E(`mcp.keyCreate`,{client:e.name})]})})]})}),(0,z.jsxs)(U,{title:E(`mcp.add`),children:[r||m||ee?(0,z.jsx)(st,{id:e.id,url:i,apiKey:m}):(0,z.jsx)(H,{children:E(`mcp.keyFirst`)}),r?(0,z.jsx)(H,{children:E(`mcp.oauth`)}):null,(0,z.jsx)(`p`,{className:`text-[0.75rem] text-ink-4`,children:E(o?`mcp.addressPublic`:`mcp.addressLocal`)})]})]}),te?null:(0,z.jsxs)(U,{title:E(`integrate.test`),children:[(0,z.jsxs)(`ol`,{className:`flex flex-col`,children:[(0,z.jsx)(lt,{state:n?`done`:b?`now`:`later`,title:E(`integrate.seen`,{app:e.name}),children:(0,z.jsx)(H,{children:E(u===`here`?`integrate.restart`:`integrate.reload`,{app:e.name})})}),(0,z.jsxs)(lt,{state:n?.toolAt?`done`:n?`now`:`later`,title:E(`integrate.tool`),children:[(0,z.jsx)(H,{children:E(`integrate.askHint`,{app:e.name})}),w(E(`integrate.askTool`))]}),e.widgets?(0,z.jsxs)(lt,{state:n?.widgetAt?`done`:n?.toolAt?`now`:`later`,title:E(`integrate.widget`),children:[(0,z.jsx)(H,{children:E(`integrate.widgetHint`)}),w(E(`integrate.askWidget`))]}):null]}),x?(0,z.jsxs)(`p`,{className:`flex items-center gap-2 font-medium text-[0.875rem] text-moss`,children:[(0,z.jsx)(h,{className:`size-4`,strokeWidth:3}),E(`integrate.works`,{app:e.name})]}):null]})]})]})}function pt(){let e=ye(),t=e.data?.mode===`managed`,n=o({queryKey:[`local-apps`],queryFn:()=>c.get(`/api/studio/local/apps`),enabled:e.data?.mode===`local`}),i=o({queryKey:[`integrations-seen`],queryFn:()=>c.get(`/api/studio/integrations/seen`),refetchInterval:2500}),[a,s]=r(),{narrow:l}=Oe(),u=a.get(`show`),d=e=>n.data?.find(t=>t.id===e),f=e=>i.data?.[e],p=e=>{let t=d(e);return t?.installed||t?.connected?0:1},m=[...it].sort((e,t)=>p(e.id)-p(t.id)),h=m.find(e=>e.id===u)??m[0];if(Ae(u||!l?h.name:null),!e.data||!t&&!n.data)return null;let g=e.data.mcpUrl??``,_=e=>{let t=d(e);return f(e)?.toolAt?{tone:`done`,toneLabel:E(`integrate.stateWorks`)}:t?.connected?{tone:`on`,toneLabel:E(`integrate.stateConnected`)}:t?.installed?{tone:`off`,toneLabel:E(`integrate.stateInstalled`)}:{}},y=e=>!(!u&&l)&&e===h.id;return(0,z.jsxs)(`div`,{className:`flex flex-col gap-10`,children:[(0,z.jsxs)(Ie,{children:[(0,z.jsx)(I,{label:E(`integrate.groupApps`),children:m.map(e=>(0,z.jsx)(F,{icon:e.widgets?me:Xe,label:e.name,..._(e.id),selected:y(e.id),onPick:()=>s({show:e.id},{replace:!l})},e.id))}),(0,z.jsxs)(I,{label:E(`integrate.groupShare`),children:[(0,z.jsx)(F,{icon:T,label:E(`integrate.shareLink`),badge:(0,z.jsx)(`span`,{className:`text-[0.6875rem] text-ink-4`,children:E(`integrate.soon`)}),selected:!1,disabled:!0}),(0,z.jsx)(F,{icon:v,label:E(`integrate.shareSite`),badge:(0,z.jsx)(`span`,{className:`text-[0.6875rem] text-ink-4`,children:E(`integrate.soon`)}),selected:!1,disabled:!0})]})]}),(0,z.jsx)(ft,{client:h,local:d(h.id),seen:f(h.id),managed:t,url:g},h.id),t?null:(0,z.jsx)(ct,{}),(0,z.jsxs)(`p`,{className:`flex items-start gap-2 text-[0.8125rem] text-ink-3`,children:[(0,z.jsx)(T,{className:`mt-0.5 size-3.5 shrink-0`}),E(`mcp.notReverse`)]})]})}var mt=[`text`,`image`,`video`,`speech`,`listening`],ht={text:[`classifier`,`standard`,`high`,`highest`],image:[`image`],video:[`video`],speech:[`speech`],listening:[`audio`]},gt=`credits`,_t=`${gt}:`;function vt(e){return e===`credits`||!!e?.startsWith(_t)}function yt(e){return e?.startsWith(_t)&&e.slice(_t.length)||null}function bt(e){return e?`${_t}${e}`:gt}function xt(e){return e===`transcription`?`listening`:e}var St=[`openai`,`anthropic`,`google`,`fal`,`elevenlabs`,`replicate`,`gateway`],W=(e,t)=>({de:e,en:t}),G=[{id:`openai`,name:`OpenAI`,about:W(`GPT-Modelle, GPT Image und Stimmen.`,`GPT models, GPT Image and voices.`),keyUrl:`https://platform.openai.com/api-keys`,keyPlaceholder:`sk-…`,text:{classifier:`openai:gpt-5.4-mini`,standard:`openai:gpt-5.4-mini`,high:`openai:gpt-5.5`,highest:`openai:gpt-5.5`},models:{text:[{ref:`openai:gpt-5.4-mini`,label:`GPT-5.4 mini`,note:W(`schnell`,`fast`)},{ref:`openai:gpt-5.5`,label:`GPT-5.5`,note:W(`gründlich`,`thorough`)}],image:[{ref:`openai:gpt-image-2`,label:`GPT Image 2`,note:W(`vielseitig`,`versatile`)},{ref:`openai:gpt-image-1-mini`,label:`GPT Image 1 mini`,note:W(`günstig`,`low cost`)}],speech:[{ref:`openai:gpt-4o-mini-tts`,label:`GPT-4o mini TTS`,note:W(`günstig`,`low cost`)}],listening:[{ref:`openai:gpt-4o-mini-transcribe`,label:`GPT-4o mini Transcribe`,note:W(`schnell, günstig`,`fast, low cost`)},{ref:`openai:whisper-1`,label:`Whisper`}]}},{id:`anthropic`,name:`Anthropic`,about:W(`Die Claude-Modelle.`,`The Claude models.`),keyUrl:`https://console.anthropic.com/settings/keys`,keyPlaceholder:`sk-ant-…`,text:{classifier:`anthropic:claude-haiku-4-5`,standard:`anthropic:claude-haiku-4-5`,high:`anthropic:claude-sonnet-5-5`,highest:`anthropic:claude-opus-5-5`},models:{text:[{ref:`anthropic:claude-haiku-4-5`,label:`Claude Haiku 4.5`,note:W(`schnell`,`fast`)},{ref:`anthropic:claude-sonnet-5-5`,label:`Claude Sonnet 5.5`},{ref:`anthropic:claude-opus-5-5`,label:`Claude Opus 5.5`,note:W(`am stärksten`,`strongest`)}]}},{id:`google`,name:`Google Gemini`,about:W(`Gemini, Veo für Videos und Stimmen – ein Key aus dem AI Studio.`,`Gemini, Veo for video and voices – one key from AI Studio.`),keyUrl:`https://aistudio.google.com/apikey`,keyPlaceholder:`AIza…`,text:{classifier:`google:gemini-flash-lite-latest`,standard:`google:gemini-flash-latest`,high:`google:gemini-pro-latest`,highest:`google:gemini-pro-latest`},models:{text:[{ref:`google:gemini-flash-lite-latest`,label:`Gemini Flash-Lite`,note:W(`günstig`,`low cost`)},{ref:`google:gemini-flash-latest`,label:`Gemini Flash`},{ref:`google:gemini-pro-latest`,label:`Gemini Pro`,note:W(`gründlich`,`thorough`)}],image:[{ref:`google:gemini-3.1-flash-image-preview`,label:`Gemini 3.1 Flash Image`,note:W(`schnell, bearbeitet Fotos`,`fast, edits photos`)},{ref:`google:gemini-3-pro-image-preview`,label:`Gemini 3 Pro Image`,note:W(`beste Qualität`,`best quality`)}],video:[{ref:`google:veo-3.1-fast-generate-preview`,label:`Veo 3.1 Fast`,note:W(`mit Ton`,`with sound`)},{ref:`google:veo-3.1-generate-preview`,label:`Veo 3.1`,note:W(`beste Qualität`,`best quality`)}],speech:[{ref:`google:gemini-3.8-flash-tts`,label:`Gemini Flash TTS`}],listening:[{ref:`google:gemini-flash-lite-latest`,label:`Gemini Flash-Lite`}]}},{id:`fal`,name:`fal.ai`,about:W(`Hunderte Bild-, Video- und Audio-Modelle mit einem Key: FLUX, Recraft, Veo, Luma, MiniMax.`,`Hundreds of image, video and audio models with one key: FLUX, Recraft, Veo, Luma, MiniMax.`),keyUrl:`https://fal.ai/dashboard/keys`,keyPlaceholder:`xxxxxxxx-…:…`,models:{image:[{ref:`fal:fal-ai/flux/schnell`,label:`FLUX.1 schnell`,note:W(`schnell, günstig`,`fast, low cost`)},{ref:`fal:fal-ai/flux-pro/v1.1`,label:`FLUX 1.1 pro`,note:W(`hohe Qualität`,`high quality`)},{ref:`fal:fal-ai/recraft/v3/text-to-image`,label:`Recraft V3`,note:W(`Grafiken, Logos, Text im Bild`,`graphics, logos, text in images`)},{ref:`fal:fal-ai/imagen4/preview`,label:`Imagen 4`,note:W(`fotorealistisch`,`photorealistic`)}],video:[{ref:`fal:veo3/fast`,label:`Veo 3 Fast`,note:W(`mit Ton`,`with sound`)},{ref:`fal:luma-ray-2-flash`,label:`Luma Ray 2 Flash`,note:W(`schnell`,`fast`)},{ref:`fal:minimax-video`,label:`MiniMax Hailuo`}],speech:[{ref:`fal:fal-ai/minimax/speech-02-turbo`,label:`MiniMax Speech-02 Turbo`,note:W(`schnell`,`fast`)},{ref:`fal:fal-ai/minimax/speech-02-hd`,label:`MiniMax Speech-02 HD`}],listening:[{ref:`fal:wizper`,label:`Wizper`,note:W(`schnell`,`fast`)},{ref:`fal:whisper`,label:`Whisper`}]}},{id:`elevenlabs`,name:`ElevenLabs`,about:W(`Natürliche Stimmen in vielen Sprachen und genaue Transkripte.`,`Natural voices in many languages and accurate transcripts.`),keyUrl:`https://elevenlabs.io/app/settings/api-keys`,keyPlaceholder:`sk_…`,models:{speech:[{ref:`elevenlabs:eleven_multilingual_v2`,label:`Multilingual v2`,note:W(`natürlich, viele Sprachen`,`natural, many languages`)},{ref:`elevenlabs:eleven_flash_v2_5`,label:`Flash v2.5`,note:W(`schnell, günstig`,`fast, low cost`)},{ref:`elevenlabs:eleven_v3`,label:`Eleven v3`,note:W(`ausdrucksstark`,`expressive`)}],listening:[{ref:`elevenlabs:scribe_v2`,label:`Scribe v2`,note:W(`sehr genau`,`very accurate`)}]}},{id:`replicate`,name:`Replicate`,about:W(`Offene Bild- und Video-Modelle, abgerechnet pro Lauf.`,`Open image and video models, billed per run.`),keyUrl:`https://replicate.com/account/api-tokens`,keyPlaceholder:`r8_…`,models:{image:[{ref:`replicate:black-forest-labs/flux-schnell`,label:`FLUX.1 schnell`,note:W(`schnell, günstig`,`fast, low cost`)},{ref:`replicate:black-forest-labs/flux-1.1-pro`,label:`FLUX 1.1 pro`},{ref:`replicate:recraft-ai/recraft-v3`,label:`Recraft V3`}],video:[{ref:`replicate:minimax/video-01`,label:`MiniMax Video-01`}]}},{id:`gateway`,name:`Vercel AI Gateway`,about:W(`Ein Key für die Modelle vieler Anbieter, abgerechnet bei Vercel.`,`One key for many providers' models, billed by Vercel.`),keyUrl:`https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai-gateway%2Fapi-keys`,keyPlaceholder:`vck_…`,text:{classifier:`anthropic/claude-haiku-4.5`,standard:`anthropic/claude-haiku-4.5`,high:`anthropic/claude-sonnet-5.5`,highest:`anthropic/claude-sonnet-5.5`},models:{text:[{ref:`anthropic/claude-haiku-4.5`,label:`Claude Haiku 4.5`,note:W(`schnell`,`fast`)},{ref:`anthropic/claude-sonnet-5.5`,label:`Claude Sonnet 5.5`},{ref:`openai/gpt-5.5`,label:`GPT-5.5`},{ref:`google/gemini-3.5-flash`,label:`Gemini 3.5 Flash`}],image:[{ref:`google/gemini-3.1-flash-image`,label:`Gemini 3.1 Flash Image`}],video:[{ref:`google/veo-3.1-fast-generate-001`,label:`Veo 3.1 Fast`,note:W(`mit Ton`,`with sound`)}],speech:[{ref:`google/gemini-3.8-flash-tts`,label:`Gemini Flash TTS`}],listening:[{ref:`google/gemini-3.5-flash-lite`,label:`Gemini 3.5 Flash-Lite`}]}}];function K(e){return G.find(t=>t.id===e)??null}function Ct(e){if(vt(e))return null;let t=/^([a-z]+):/.exec(e)?.[1];return t?St.includes(t)?t:null:e?.includes(`/`)?`gateway`:null}function q(e){for(let t of G)for(let n of Object.values(t.models)){let t=n?.find(t=>t.ref===e);if(t)return t.label}return e.replace(/^[a-z]+:/,``)}function wt(e,t){let n=t===`auto`?e.mode===`managed`:t===`cloud`,r=t===`auto`||t===`linked`?e.account??(t===`linked`?{name:e.user.name,email:e.user.email,credits:1250,expiring:[],url:``,cloudUrl:``,signedIn:!0}:null):null;return{cloud:n,account:n?null:r,credits:n||!!r?.signedIn,balance:n?e.credits??(t===`cloud`?1250:null):r?.credits??null,topUp:Se(e),harnesses:n?[]:e.harnesses,canEdit:!n||e.tenant.role!==`member`,ownKeys:!n||e.features.ownKeys!==!1}}var J={text:ae,image:re,video:y,speech:ee,listening:Ve},Y={text:`standard`,image:`image`,video:`video`,speech:`speech`,listening:`audio`},X=e=>e===`text`,Tt=(e,t)=>e?.[t]??``;function Et(e,t){return JSON.stringify(e)===JSON.stringify(t)}function Dt(e,t,n){let r=Y[t];if(X(t)&&!n.cloud){if(e.source===`account`)return{kind:`credits`};if(e.source!==`own`)return{kind:`client`,id:e.source}}let i=e.bindings[r];if(vt(i))return{kind:`credits`};if(i?.startsWith(`ollama:`))return{kind:`local`};let a=i?Ct(i):null;if(a)return{kind:`key`,provider:a};if(i&&/^(claude|codex|gemini|cursor)\//.test(i))return{kind:`client`,id:i.split(`/`)[0]};let o=e.ways[r];switch(o.kind){case`client`:return{kind:`client`,id:o.by};case`key`:return K(o.by??``)?{kind:`key`,provider:o.by}:null;case`local`:return{kind:`local`};case`credits`:return{kind:`credits`};default:return null}}function Ot(e,t,n){if(X(t)&&e.text)return e.text;let r=Y[t],i=n.bindings[r],a=i&&Ct(i)===e.id?i:e.models[t]?.[0]?.ref;return a?{[r]:a}:{}}function kt(e){return e.version===null?{note:E(`models.noteMissing`),noteTone:`warn`}:e.auth===`none`?{note:E(`models.noteSignedOut`),noteTone:`warn`}:e.auth===`api_key`?{note:E(`models.noteShellKey`)}:{note:E(`models.noteIncluded`),noteTone:`done`}}function At(e,t){switch(e.kind){case`client`:return{text:t.harnesses.find(t=>t.id===e.by)?.name??e.by??``,tone:`done`};case`key`:return{text:K(e.by??``)?.name??e.by??``,tone:`done`};case`local`:return{text:E(`models.way.local`),tone:`done`};case`credits`:return{text:t.cloud?E(`models.way.creditsTeam`):E(`models.way.credits`),tone:`ok`};default:return{text:E(`models.way.none`),tone:`warn`}}}function jt(){return o({queryKey:[`models`],queryFn:()=>c.get(`/api/studio/models`)})}function Z(){let e=l();return P({mutationFn:e=>c.put(`/api/studio/models`,e),onSuccess:async t=>{e.setQueryData([`models`],t),await e.invalidateQueries({queryKey:[`me`]})}})}function Q({title:e,aside:t,children:n}){return(0,z.jsxs)(`section`,{className:`flex flex-col gap-3 border-border-soft border-t pt-5 first:border-t-0 first:pt-0`,children:[(0,z.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,z.jsx)(`h3`,{className:`font-medium text-[0.875rem]`,children:e}),t]}),n]})}function $({children:e}){return(0,z.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:e})}function Mt({text:e,tone:t}){return(0,z.jsxs)(`span`,{className:O(`inline-flex h-7 shrink-0 items-center gap-1.5 rounded-full px-3 font-medium text-[0.75rem]`,t===`done`&&`bg-moss-tint text-moss`,t===`ok`&&`bg-amber-tint text-ink-2`,t===`warn`&&`bg-paper-2 text-ink-3`),children:[t===`done`?(0,z.jsx)(h,{className:`size-3.5`,strokeWidth:3}):null,t===`ok`?(0,z.jsx)(b,{className:`size-3.5`}):null,t===`warn`?(0,z.jsx)(_,{className:`size-3.5`}):null,e]})}function Nt({icon:e,title:t,lead:n,status:r}){return(0,z.jsxs)(`div`,{className:`flex items-start gap-3 sm:gap-4`,children:[(0,z.jsx)(`span`,{className:`grid size-10 shrink-0 place-items-center rounded-xl bg-ember-tint text-ember-strong`,children:(0,z.jsx)(e,{className:`size-5`})}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,z.jsx)(`h2`,{className:`font-display font-semibold text-[1.375rem] leading-tight tracking-tight`,children:t}),r]}),(0,z.jsx)(`p`,{className:`mt-0.5 text-[0.875rem] text-ink-3`,children:n})]})]})}function Pt({label:e,children:t}){return(0,z.jsxs)(`div`,{className:`grid items-start gap-x-4 gap-y-1.5 sm:grid-cols-[7.5rem_minmax(0,1fr)]`,children:[(0,z.jsx)(`span`,{className:`pt-2 text-[0.75rem] text-ink-3`,children:e}),(0,z.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:t})]})}function Ft({selected:e,title:t,note:n,noteTone:r,disabled:i,onPick:a}){return(0,z.jsxs)(`button`,{type:`button`,onClick:a,disabled:i,"aria-pressed":e,title:n,className:O(`inline-flex h-9 items-center gap-1.5 rounded-full border px-3.5 text-[0.8125rem] transition coarse:h-11`,e?`border-ember bg-ember-tint font-medium text-ink`:r===`done`?`border-input bg-card text-ink hover:border-ink-4`:`border-border-soft border-dashed text-ink-3 hover:border-ink-4 hover:text-ink`,i&&`cursor-not-allowed opacity-50`),children:[r===`done`?(0,z.jsx)(h,{className:`size-3.5 text-moss`,strokeWidth:3}):null,t,(0,z.jsxs)(`span`,{className:`sr-only`,children:[`: `,n]})]})}function It({provider:e,stored:t,place:n}){let r=Z(),[i,a]=(0,R.useState)(``),[o,s]=(0,R.useState)(!1),[l,u]=(0,R.useState)(null),d=P({mutationFn:t=>c.post(`/api/studio/models/keys/${e.id}/check`,t?{key:t}:{})}),f=async()=>{u(null);let t=await d.mutateAsync(i.trim());if(!t.ok){u({ok:!1,message:t.message??E(`models.keyBad`)});return}await r.mutateAsync({keys:{[e.id]:i.trim()}}),a(``),s(!1),u({ok:!0,message:E(`models.keyOk`)})},p=!t||o;return n.ownKeys?(0,z.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[p?(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(M,{type:`password`,autoComplete:`off`,className:`min-w-0 flex-1 font-mono text-[0.8125rem]`,placeholder:e.keyPlaceholder,value:i,disabled:!n.canEdit,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`&&i.trim()&&f()}}),(0,z.jsx)(N,{busy:d.isPending||r.isPending,disabled:!i.trim()||!n.canEdit,onClick:()=>void f(),children:E(`models.keySave`)}),o?(0,z.jsx)(N,{variant:`ghost`,onClick:()=>s(!1),children:E(`common.cancel`)}):null]}):(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-2`,children:[(0,z.jsxs)(`span`,{className:`flex items-center gap-2 text-[0.875rem] text-ink-2`,children:[(0,z.jsx)(L,{className:`size-4 text-moss`}),` `,E(`models.keyStored`)]}),(0,z.jsx)(N,{size:`sm`,variant:`ghost`,busy:d.isPending,onClick:async()=>{let e=await d.mutateAsync(void 0);u(e.ok?{ok:!0,message:E(`models.keyOk`)}:{ok:!1,message:e.message??E(`models.keyBad`)})},children:E(`models.keyCheck`)}),n.canEdit?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(N,{size:`sm`,variant:`ghost`,onClick:()=>s(!0),children:E(`models.keyReplace`)}),(0,z.jsx)(N,{size:`sm`,variant:`danger`,busy:r.isPending,onClick:()=>{u(null),r.mutate({keys:{[e.id]:``}})},children:E(`models.keyRemove`)})]}):null]}),l?(0,z.jsxs)(`p`,{className:O(`flex items-center gap-1.5 text-[0.8125rem]`,l.ok?`text-moss`:`text-rose`),children:[l.ok?(0,z.jsx)(h,{className:`size-3.5`,strokeWidth:3}):null,l.message]}):null,(0,z.jsxs)(`p`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 text-[0.75rem] text-ink-4`,children:[(0,z.jsxs)(`button`,{type:`button`,onClick:()=>Ee(e.keyUrl),className:`inline-flex items-center gap-1 font-medium text-ember-strong hover:underline`,children:[E(`models.keyGet`,{name:e.name}),` `,(0,z.jsx)(C,{className:`size-3`})]}),(0,z.jsx)(`span`,{children:n.cloud?E(`models.keyWhereCloud`):E(`models.keyWhereLocal`)})]})]}):(0,z.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:E(`models.ownKeysPlan`)})}var Lt=`__custom__`;function Rt({provider:e,cap:t,value:n,onPick:r,disabled:i}){let a=le,o=e.models[t]??[],s=o.some(e=>e.ref===n),[c,l]=(0,R.useState)(!s&&!!n),[u,d]=(0,R.useState)(s?``:n.replace(/^[a-z]+:/,``)),f=e.id===`gateway`?``:`${e.id}:`;return(0,z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,z.jsx)(ce,{value:c?Lt:n,onChange:e=>{if(e===Lt){l(!0);return}l(!1),r(e)},options:[...o.map(e=>({value:e.ref,label:e.note?`${e.label} – ${Tt(e.note,a)}`:e.label})),{value:Lt,label:E(`models.modelCustom`)}]}),c?(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(M,{className:`min-w-0 flex-1 font-mono text-[0.8125rem]`,value:u,disabled:i,placeholder:o[0]?.ref.replace(/^[a-z]+:/,``)??``,onChange:e=>d(e.target.value)}),(0,z.jsx)(N,{variant:`secondary`,disabled:!u.trim()||i,onClick:()=>r(`${f}${u.trim()}`),children:E(`settings.save`)})]}):null]})}function zt({provider:e,state:t}){let n=n=>q(t.bindings[n]??e.text?.[n]??``);return(0,z.jsxs)(`dl`,{className:`grid grid-cols-[auto_minmax(0,1fr)] gap-x-4 gap-y-1 text-[0.875rem]`,children:[(0,z.jsx)(`dt`,{className:`text-ink-3`,children:E(`models.textSimple`)}),(0,z.jsx)(`dd`,{className:`truncate font-medium`,children:n(`standard`)}),(0,z.jsx)(`dt`,{className:`text-ink-3`,children:E(`models.textDemanding`)}),(0,z.jsx)(`dd`,{className:`truncate font-medium`,children:n(`high`)})]})}function Bt({provider:e,state:t,onPick:n,disabled:r}){return(0,z.jsxs)(`details`,{className:`group rounded-lg ring-1 ring-border-soft`,children:[(0,z.jsx)(`summary`,{className:`cursor-pointer list-none px-3 py-2.5 text-[0.8125rem] text-ink-2 hover:text-ink`,children:(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,z.jsx)(p,{className:`size-3.5 transition group-open:rotate-90`}),E(`models.perClass`)]})}),(0,z.jsx)(`div`,{className:`flex flex-col gap-3 px-3 pt-1 pb-3`,children:Te.map(i=>(0,z.jsxs)(`div`,{className:`grid items-center gap-2 sm:grid-cols-[9rem_minmax(0,1fr)]`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`text-[0.8125rem] text-ink-2`,children:E(`class.${i}`)}),(0,z.jsx)(`div`,{className:`text-[0.6875rem] text-ink-4 leading-snug`,children:E(`class.${i}.hint`)})]}),(0,z.jsx)(Rt,{provider:e,cap:`text`,value:t.bindings[i]??e.text?.[i]??``,disabled:r,onPick:e=>n(i,e)})]},i))})]})}function Vt({cap:e,disabled:t}){let n=Y[e],r=P({mutationFn:()=>c.post(`/api/studio/models/test`,{cls:n,lang:le})}),i=r.data;return(0,z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,z.jsx)(N,{variant:`secondary`,busy:r.isPending,disabled:t,onClick:()=>r.mutate(),children:E(`models.try.${e}`)}),(0,z.jsx)(`span`,{className:`text-[0.75rem] text-ink-4`,children:e===`video`?E(`models.tryCostVideo`):X(e)?null:E(`models.tryCost`)})]}),r.isPending&&e!==`text`?(0,z.jsxs)(`p`,{className:`flex items-center gap-2 text-[0.8125rem] text-ink-3`,children:[(0,z.jsx)(D,{className:`size-3.5`}),` `,E(e===`video`?`models.tryWaitVideo`:`models.tryWait`)]}):null,i?.ok?(0,z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[i.media&&e===`image`?(0,z.jsx)(`img`,{src:i.media,alt:``,className:`size-48 rounded-lg object-cover ring-1 ring-border-soft`}):null,i.media&&e===`speech`?(0,z.jsx)(`audio`,{src:i.media,controls:!0,autoPlay:!0,className:`w-full max-w-sm`}):null,i.media&&e===`video`?(0,z.jsx)(`video`,{src:i.media,controls:!0,autoPlay:!0,muted:!0,className:`w-full max-w-md rounded-lg`}):null,(0,z.jsxs)(`p`,{className:`flex items-start gap-2 text-[0.8125rem] text-ink-2`,children:[(0,z.jsx)(h,{className:`mt-0.5 size-3.5 shrink-0 text-moss`,strokeWidth:3}),(0,z.jsx)(`span`,{children:e===`listening`?i.reply?E(`models.tryHeard`,{text:i.reply}):E(`models.tryHeardNothing`):X(e)?E(`local.testOk`,{s:(i.ms/1e3).toFixed(1),ref:q(i.ref??``),reply:i.reply??``}):E(`models.tryOk`,{s:(i.ms/1e3).toFixed(1),model:q(i.ref??``)})})]})]}):null,i&&!i.ok?(0,z.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:E(`models.tryFailed`,{error:i.error??``})}):null,r.isError?(0,z.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:E(`models.tryFailed`,{error:r.error.message})}):null]})}function Ht(e){let t=e=>(e<10?Math.round(e*10)/10:Math.ceil(e)).toLocaleString();return e?.creditsPerImage?E(`models.notePerImage`,{n:t(e.creditsPerImage)}):e?.creditsPerSecond?E(`models.notePerSecond`,{n:t(e.creditsPerSecond)}):e?.creditsPer1kCharacters?E(`models.notePer1k`,{n:t(e.creditsPer1kCharacters)}):e?.creditsPerMinute?E(`models.notePerMinute`,{n:t(e.creditsPerMinute)}):E(`models.noteUsage`)}function Ut(e,t){let n=yt(t.bindings[Y[e]]);return Ht((n?t.creditModels.find(e=>e.id===n):null)??t.prices?.[Y[e]])}function Wt(e,t,n){return e.creditModels.filter(e=>xt(e.kind)===t&&(!n||e.source===n||e.provider===n))}function Gt({cap:e,state:t,disabled:n}){let r=Z(),i=Y[e],a=yt(t.bindings[i]),o=Wt(t,e),s=t.prices?.[i]?.model,c=e=>e.source===`ai-gateway`?K(e.provider)?.name??e.provider:K(e.source)?.name??e.source;return(0,z.jsx)(ce,{value:a??``,onChange:e=>r.mutate({bindings:{[i]:bt(e||null)}}),options:[{value:``,label:s?E(`models.creditsAuto`,{model:q(s)}):E(`models.creditsAutoNone`)},...o.map(e=>({value:e.id,label:`${e.name} · ${c(e)} – ${Ht(e)}`,disabled:n}))]})}function Kt({models:e,state:t,place:n}){let r=Z();return(0,z.jsx)(`ul`,{className:`flex flex-col divide-y divide-border-soft`,children:e.map(e=>{let i=xt(e.kind),a=Y[i],o=t.bindings[a]===bt(e.id);return(0,z.jsxs)(`li`,{className:`flex flex-wrap items-center gap-3 py-2.5`,children:[(0,z.jsx)(b,{className:`size-4 shrink-0 text-ink-3`}),(0,z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`span`,{className:`block font-medium text-[0.875rem]`,children:e.name}),(0,z.jsxs)(`span`,{className:`block text-[0.75rem] text-ink-3`,children:[E(`models.cap.${i}`),` · `,Ht(e)]})]}),o?(0,z.jsxs)(`span`,{className:`flex items-center gap-1 font-medium text-[0.75rem] text-moss`,children:[(0,z.jsx)(h,{className:`size-3.5`,strokeWidth:3}),` `,E(`models.inUse`)]}):(0,z.jsx)(N,{size:`sm`,variant:`secondary`,disabled:!n.canEdit||!n.credits,busy:r.isPending&&r.variables?.bindings?.[a]===bt(e.id),onClick:()=>r.mutate({bindings:{[a]:bt(e.id)}}),children:E(`models.useFor`)})]},e.id)})})}function qt({cap:e,state:t,place:n,me:r,onOpen:i}){let a=Z(),o=Y[e],s=t.ways[o],c=Dt(t,e,n),[l,u]=(0,R.useState)(!1),d=At(s,n),f=n.harnesses.filter(t=>(X(e)||e===`image`&&t.images)&&(t.version!==null||c?.kind===`client`&&c.id===t.id)),p=G.filter(t=>t.models[e]?.length),m=r=>{if(u(!1),r.kind===`credits`&&!n.credits){u(!0);return}if(Et(r,c))return;let i=ht[e],s=e=>Object.fromEntries(i.map(t=>[t,e]));switch(r.kind){case`client`:a.mutate(X(e)?{source:r.id}:{bindings:{[o]:`${r.id}/image`}});return;case`key`:{let i=K(r.provider);a.mutate({...X(e)&&!n.cloud?{source:`own`}:{},bindings:Ot(i,e,t)});return}case`local`:a.mutate({source:`own`,bindings:s(`ollama:qwen3`)});return;case`credits`:a.mutate(X(e)&&!n.cloud?{source:`account`}:{bindings:s(gt)});return}},h=c?.kind===`key`?K(c.provider):null,g=h?!t.keys[h.id]:!1,v=c?.kind===`client`?n.harnesses.find(e=>e.id===c.id):null,y=s.kind!==`none`;return(0,z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,z.jsx)(Nt,{icon:J[e],title:E(`models.cap.${e}`),lead:E(`models.cap.${e}.hint`),status:(0,z.jsx)(Mt,{...d})}),(0,z.jsxs)(k,{className:`flex flex-col gap-6 p-3.5 sm:p-5 sm:p-6`,children:[(0,z.jsxs)(Q,{title:E(`models.who`),children:[(0,z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[f.length?(0,z.jsx)(Pt,{label:E(`models.optSubscription`),children:f.map(e=>(0,z.jsx)(Ft,{title:e.name,...kt(e),selected:c?.kind===`client`&&c.id===e.id,disabled:!n.canEdit,onPick:()=>m({kind:`client`,id:e.id})},e.id))}):null,(0,z.jsx)(Pt,{label:E(`models.optKey`),children:p.map(e=>(0,z.jsx)(Ft,{title:e.name,note:t.keys[e.id]?E(`models.noteKey`):E(`models.noteNoKey`),noteTone:t.keys[e.id]?`done`:void 0,selected:c?.kind===`key`&&c.provider===e.id,disabled:!n.canEdit,onPick:()=>m({kind:`key`,provider:e.id})},e.id))}),(0,z.jsxs)(Pt,{label:X(e)&&!n.cloud?E(`models.optOther`):E(`models.optCreditsGroup`),children:[X(e)&&!n.cloud?(0,z.jsx)(Ft,{title:E(`models.optLocal`),note:E(`models.optLocalNote`),selected:c?.kind===`local`,disabled:!n.canEdit,onPick:()=>m({kind:`local`})}):null,(0,z.jsx)(Ft,{title:n.cloud?E(`models.creditsTeam`):E(`models.creditsName`),note:n.credits?Ut(e,t):E(`models.noteNeedsAccount`),noteTone:n.credits?`done`:void 0,selected:c?.kind===`credits`,disabled:!n.canEdit,onPick:()=>m({kind:`credits`})})]})]}),l?(0,z.jsxs)(`p`,{className:`text-[0.8125rem] text-ink-2`,children:[E(`local.sourceNeedsAccount`),` `,(0,z.jsx)(Qt,{})]}):null,a.isError?(0,z.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:a.error.message}):null]}),h?(0,z.jsxs)(z.Fragment,{children:[g?(0,z.jsxs)(Q,{title:E(`models.keyFor`,{name:h.name}),children:[(0,z.jsx)(It,{provider:h,stored:!1,place:n}),n.credits?(0,z.jsxs)($,{children:[(0,z.jsx)(b,{className:`mr-1 inline size-3.5 align-[-2px]`}),E(`models.keyFallback`)]}):null]}):null,g&&n.credits&&Wt(t,e,h.id).length?(0,z.jsx)(Q,{title:E(`models.viaCredits`,{name:h.name}),children:(0,z.jsx)(Kt,{models:Wt(t,e,h.id),state:t,place:n})}):null,(0,z.jsx)(Q,{title:E(`models.model`),aside:g?null:(0,z.jsx)(`button`,{type:`button`,onClick:()=>i({type:`provider`,id:h.id}),className:`text-[0.75rem] text-ink-3 hover:text-ink`,children:E(`models.manageKey`,{name:h.name})}),children:X(e)&&h.text?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(zt,{provider:h,state:t}),(0,z.jsx)(Bt,{provider:h,state:t,disabled:!n.canEdit,onPick:(e,t)=>a.mutate({bindings:{[e]:t}})})]}):(0,z.jsx)(Rt,{provider:h,cap:e,value:t.bindings[o]??h.models[e]?.[0]?.ref??``,disabled:!n.canEdit,onPick:e=>a.mutate({bindings:{[o]:e}})},`${h.id}:${t.bindings[o]??``}`)})]}):null,c?.kind===`client`&&v?X(e)?(0,z.jsx)(Q,{title:v.name,children:(0,z.jsx)(ze,{me:r,id:v.id})}):(0,z.jsx)(Q,{title:v.name,children:(0,z.jsx)($,{children:E(`models.clientImages`,{name:v.name,sub:E(`harness.sub.${v.id}`)})})}):null,c?.kind===`local`?(0,z.jsx)(Jt,{state:t,disabled:!n.canEdit}):null,c?.kind===`credits`&&n.credits?X(e)?(0,z.jsx)(Q,{title:E(`models.creditsName`),children:(0,z.jsxs)($,{children:[E(`models.creditsPicks`),s.kind===`credits`&&s.ref?` ${E(`models.creditsModel`,{model:q(s.ref)})}`:``]})}):(0,z.jsxs)(Q,{title:E(`models.model`),children:[(0,z.jsx)(Gt,{cap:e,state:t,disabled:!n.canEdit}),(0,z.jsx)($,{children:E(`models.creditsPickHint`)})]}):null,s.kind===`none`&&s.problem?(0,z.jsxs)(`p`,{className:`flex items-start gap-2 rounded-lg bg-paper-2 px-3 py-2.5 text-[0.8125rem] text-ink-2`,children:[(0,z.jsx)(_,{className:`mt-0.5 size-3.5 shrink-0 text-ink-3`}),s.problem]}):null,c?.kind===`client`&&X(e)?null:(0,z.jsx)(Q,{title:E(`models.try`),children:(0,z.jsx)(Vt,{cap:e,disabled:!y||!n.canEdit},`${e}:${s.ref}`)}),X(e)&&r.subscriptions.includes(`claude`)&&!n.cloud?(0,z.jsx)(Yt,{me:r}):null]})]})}function Jt({state:e,disabled:t}){let n=Z(),[r,i]=(0,R.useState)(e.ollamaUrl),[a,o]=(0,R.useState)((e.bindings.standard??`ollama:qwen3`).replace(/^ollama:/,``));return(0,z.jsxs)(Q,{title:E(`models.optLocal`),children:[(0,z.jsx)($,{children:E(`models.ollamaHint`)}),(0,z.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-[minmax(0,1fr)_12rem_auto]`,children:[(0,z.jsx)(M,{className:`font-mono text-[0.8125rem]`,value:r,disabled:t,onChange:e=>i(e.target.value)}),(0,z.jsx)(M,{className:`font-mono text-[0.8125rem]`,value:a,disabled:t,onChange:e=>o(e.target.value)}),(0,z.jsx)(N,{variant:`secondary`,busy:n.isPending,disabled:t||!a.trim(),onClick:()=>n.mutate({ollamaUrl:r,bindings:Object.fromEntries(Te.map(e=>[e,`ollama:${a.trim()}`]))}),children:E(`settings.save`)})]})]})}function Yt({me:e}){let t=l(),n=P({mutationFn:e=>c.put(`/api/studio/local/chat`,{engine:e}),onSuccess:()=>t.invalidateQueries({queryKey:[`me`]})});return(0,z.jsxs)(Q,{title:E(`local.chat`),children:[(0,z.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:[`models`,`claude`].map(t=>(0,z.jsx)(`button`,{type:`button`,"aria-pressed":e.chatEngine===t,onClick:()=>n.mutate(t),className:O(`h-9 rounded-full border px-3.5 text-[0.8125rem] transition`,e.chatEngine===t?`border-ember bg-ember-tint text-ink`:`border-input bg-card text-ink-2 hover:text-ink`),children:E(t===`claude`?`local.chatClaude`:`local.chatModels`)},t))}),(0,z.jsx)($,{children:E(`local.subscription`)})]})}function Xt({provider:e,state:t,place:n,onOpen:r}){let i=Z(),a=mt.filter(t=>e.models[t]?.length),o=t.keys[e.id],s=e.id===`gateway`?[]:t.creditModels.filter(t=>t.source===e.id||t.provider===e.id);return(0,z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,z.jsx)(Nt,{icon:L,title:e.name,lead:Tt(e.about,le),status:(0,z.jsx)(Mt,{text:E(o?`models.keyStored`:`models.keyNone`),tone:o?`done`:`warn`})}),(0,z.jsxs)(k,{className:`flex flex-col gap-6 p-3.5 sm:p-5 sm:p-6`,children:[(0,z.jsx)(Q,{title:E(`models.key`),children:(0,z.jsx)(It,{provider:e,stored:o,place:n})}),(0,z.jsx)(Q,{title:E(`models.uses`),children:(0,z.jsx)(`ul`,{className:`flex flex-col divide-y divide-border-soft`,children:a.map(a=>{let o=J[a],s=Dt(t,a,n),c=s?.kind===`key`&&s.provider===e.id;return(0,z.jsxs)(`li`,{className:`flex flex-wrap items-center gap-3 py-2.5`,children:[(0,z.jsx)(o,{className:`size-4 shrink-0 text-ink-3`}),(0,z.jsxs)(`button`,{type:`button`,onClick:()=>r({type:`cap`,id:a}),className:`min-w-0 flex-1 text-left`,children:[(0,z.jsx)(`span`,{className:`block font-medium text-[0.875rem]`,children:E(`models.cap.${a}`)}),(0,z.jsx)(`span`,{className:`block truncate text-[0.75rem] text-ink-3`,children:(e.models[a]??[]).map(e=>e.label).join(` · `)})]}),c?(0,z.jsxs)(`span`,{className:`flex items-center gap-1 font-medium text-[0.75rem] text-moss`,children:[(0,z.jsx)(h,{className:`size-3.5`,strokeWidth:3}),` `,E(`models.inUse`)]}):(0,z.jsx)(N,{size:`sm`,variant:`secondary`,disabled:!n.canEdit,busy:i.isPending&&i.variables?.bindings!==void 0,onClick:()=>i.mutate({...X(a)&&!n.cloud?{source:`own`}:{},bindings:Ot(e,a,t)}),children:E(`models.useFor`)})]},a)})})}),s.length?(0,z.jsxs)(Q,{title:E(`models.viaCredits`,{name:e.name}),children:[(0,z.jsx)($,{children:n.credits?E(`models.viaCreditsHint`):E(`models.viaCreditsNeedsAccount`)}),(0,z.jsx)(Kt,{models:s,state:t,place:n})]}):null]})]})}function Zt({me:e,id:t,state:n,place:r}){let i=Z(),a=r.harnesses.find(e=>e.id===t);if(!a)return null;let o=n.source===t,s=a.version!==null&&a.auth!==`none`;return(0,z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,z.jsx)(Nt,{icon:de,title:a.name,lead:E(`harness.desc.${t}`),status:(0,z.jsx)(Mt,{text:kt(a).note,tone:s?`done`:`warn`})}),(0,z.jsxs)(k,{className:`flex flex-col gap-6 p-3.5 sm:p-5 sm:p-6`,children:[(0,z.jsx)(Q,{title:E(`models.clientSignIn`),children:(0,z.jsx)(ze,{me:e,id:t})}),(0,z.jsxs)(Q,{title:E(`models.uses`),children:[(0,z.jsx)(`ul`,{className:`flex flex-col divide-y divide-border-soft`,children:[`text`,...a.images?[`image`]:[]].map(e=>{let a=J[e],o=Dt(n,e,r),s=o?.kind===`client`&&o.id===t;return(0,z.jsxs)(`li`,{className:`flex items-center gap-3 py-2.5`,children:[(0,z.jsx)(a,{className:`size-4 shrink-0 text-ink-3`}),(0,z.jsx)(`span`,{className:`min-w-0 flex-1 font-medium text-[0.875rem]`,children:E(`models.cap.${e}`)}),s?(0,z.jsxs)(`span`,{className:`flex items-center gap-1 font-medium text-[0.75rem] text-moss`,children:[(0,z.jsx)(h,{className:`size-3.5`,strokeWidth:3}),` `,E(`models.inUse`)]}):(0,z.jsx)(N,{size:`sm`,variant:`secondary`,busy:i.isPending,onClick:()=>i.mutate(e===`text`?{source:t}:{bindings:{image:`${t}/image`}}),children:E(`models.useFor`)})]},e)})}),o?null:(0,z.jsx)($,{children:E(`models.clientNotChosen`,{name:a.name})})]})]})]})}function Qt(){return(0,z.jsx)(a,{to:`/settings/account`,className:`font-medium text-ember-strong underline-offset-2 hover:underline`,children:E(`local.toAccount`)})}function $t({state:e,place:t,onOpen:n}){let r=Z(),i=mt.filter(t=>e.ways[Y[t]].kind===`credits`),o=t.cloud?E(`models.creditsTeam`):E(`models.creditsName`);return(0,z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,z.jsx)(Nt,{icon:b,title:o,lead:t.cloud?E(`models.creditsCloudHint`):E(`models.creditsLocalLead`),status:t.balance===null?void 0:(0,z.jsx)(`span`,{className:`font-display font-semibold text-[1.25rem] tabular-nums`,children:E(`nav.credits`,{n:Math.floor(t.balance).toLocaleString()})})}),(0,z.jsxs)(k,{className:`flex flex-col gap-6 p-3.5 sm:p-5 sm:p-6`,children:[!t.cloud&&!t.account?(0,z.jsxs)(Q,{title:E(`models.creditsConnectTitle`),children:[(0,z.jsx)($,{children:E(`models.creditsLocalHint`)}),(0,z.jsx)(`div`,{children:(0,z.jsx)(a,{to:`/settings/account`,children:(0,z.jsx)(N,{children:E(`models.creditsConnect`)})})})]}):null,t.account&&!t.account.signedIn?(0,z.jsxs)(`p`,{className:`text-[0.8125rem] text-rose`,children:[E(`local.accountExpired`),` `,(0,z.jsx)(Qt,{})]}):null,t.account?(0,z.jsx)(Q,{title:E(`models.creditsFallback`),children:(0,z.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,z.jsx)(se,{checked:e.creditFallback,disabled:!t.canEdit,onChange:e=>r.mutate({creditFallback:e}),label:E(`models.creditsFallback`)}),(0,z.jsx)($,{children:e.creditFallback?E(`models.creditsFallbackOn`):E(`models.creditsFallbackOff`)})]})}):null,t.credits?(0,z.jsx)(Q,{title:E(`models.creditsOn`),aside:t.topUp?(0,z.jsxs)(`a`,{href:t.topUp,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 font-medium text-[0.8125rem] text-ember-strong hover:underline`,children:[E(`models.creditsTopUp`),` `,(0,z.jsx)(C,{className:`size-3`})]}):null,children:i.length?(0,z.jsx)(`ul`,{className:`flex flex-col divide-y divide-border-soft`,children:i.map(t=>{let r=J[t],i=e.ways[Y[t]];return(0,z.jsx)(`li`,{children:(0,z.jsxs)(`button`,{type:`button`,onClick:()=>n({type:`cap`,id:t}),className:`flex w-full items-center gap-3 py-2.5 text-left`,children:[(0,z.jsx)(r,{className:`size-4 shrink-0 text-ink-3`}),(0,z.jsx)(`span`,{className:`min-w-0 flex-1 font-medium text-[0.875rem]`,children:E(`models.cap.${t}`)}),(0,z.jsxs)(`span`,{className:`truncate text-[0.75rem] text-ink-3`,children:[i.ref?q(i.ref):``,` · `,Ut(t,e)]})]})},t)})}):(0,z.jsx)($,{children:E(`models.creditsNone`)})}):null]})]})}function en(e){return e?e===`credits`?{type:`credits`}:mt.includes(e)?{type:`cap`,id:e}:K(e)?{type:`provider`,id:e}:{type:`client`,id:e}:{type:`cap`,id:`text`}}var tn=e=>e.type===`credits`?`credits`:e.id;function nn({view:e,onView:t}){return null}function rn(e){return e.kind===`none`?`off`:e.kind===`credits`?`credits`:`done`}function an(e,t){switch(e.type){case`cap`:return E(`models.cap.${e.id}`);case`provider`:return K(e.id)?.name??e.id;case`client`:return t?.harnesses.find(t=>t.id===e.id)?.name??e.id;default:return t?.mode===`managed`?E(`models.creditsTeam`):E(`models.creditsName`)}}function on(){let e=ye(),t=jt(),[n,i]=r(),[a,o]=(0,R.useState)(`auto`),{narrow:s}=Oe(),c=n.get(`show`),l=en(c);if(Ae(c||!s?an(l,e.data):null),!e.data||!t.data)return t.isError?(0,z.jsx)(`p`,{className:`text-[0.875rem] text-rose`,children:t.error.message}):null;let u=t.data,d=wt(e.data,a),f=e=>i({show:tn(e)},{replace:!s}),p=e=>!(!c&&s)&&tn(e)===tn(l),m=d.harnesses.filter(e=>e.version!==null||u.source===e.id),h=G.filter(e=>u.keys[e.id]),g=G.filter(e=>!u.keys[e.id]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(Ie,{children:[(0,z.jsx)(I,{label:E(`models.groupCaps`),children:mt.map(e=>{let t=u.ways[Y[e]];return(0,z.jsx)(F,{icon:J[e],label:E(`models.cap.${e}`),tone:rn(t),toneLabel:At(t,d).text,selected:p({type:`cap`,id:e}),onPick:()=>f({type:`cap`,id:e})},e)})}),(0,z.jsxs)(I,{label:E(`models.groupAccess`),children:[(0,z.jsx)(F,{icon:b,label:d.cloud?E(`models.creditsTeam`):E(`models.creditsName`),badge:d.balance===null?null:(0,z.jsx)(`span`,{className:`text-[0.75rem] text-ink-3 tabular-nums`,children:Math.floor(d.balance).toLocaleString()}),tone:d.credits?void 0:`off`,toneLabel:d.credits?void 0:E(`models.noteNeedsAccount`),selected:p({type:`credits`}),onPick:()=>f({type:`credits`})}),m.map(e=>(0,z.jsx)(F,{icon:de,label:e.name,tone:e.version!==null&&e.auth===`subscription`?`done`:e.auth===`api_key`?`on`:`off`,toneLabel:kt(e).note,selected:p({type:`client`,id:e.id}),onPick:()=>f({type:`client`,id:e.id})},e.id)),h.map(e=>(0,z.jsx)(F,{icon:L,label:e.name,tone:`done`,toneLabel:E(`models.noteKey`),selected:p({type:`provider`,id:e.id}),onPick:()=>f({type:`provider`,id:e.id})},e.id))]}),g.length?(0,z.jsx)(I,{label:E(`models.groupMore`),collapsible:!0,open:g.some(e=>p({type:`provider`,id:e.id})),count:g.length,children:g.map(e=>(0,z.jsx)(F,{icon:L,label:e.name,selected:p({type:`provider`,id:e.id}),onPick:()=>f({type:`provider`,id:e.id})},e.id))}):null,(0,z.jsx)(nn,{view:a,onView:o})]}),d.canEdit?null:(0,z.jsx)(`p`,{className:`mb-4 rounded-lg bg-paper-2 px-3 py-2 text-[0.8125rem] text-ink-2`,children:E(`models.readOnly`)}),l.type===`cap`?(0,z.jsx)(qt,{cap:l.id,state:u,place:d,me:e.data,onOpen:f},l.id):l.type===`provider`&&K(l.id)?(0,z.jsx)(Xt,{provider:K(l.id),state:u,place:d,onOpen:f},l.id):l.type===`client`?(0,z.jsx)(Zt,{me:e.data,id:l.id,state:u,place:d},l.id):(0,z.jsx)($t,{state:u,place:d,onOpen:f})]})}function sn({name:e,image:t}){return t?(0,z.jsx)(`img`,{src:t,alt:``,className:`size-9 shrink-0 rounded-full object-cover`}):(0,z.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-full bg-paper-2 font-medium text-[0.75rem] text-ink-2`,children:we(e)})}function cn({me:e}){let t=o({queryKey:[`team`,e.tenant.id],queryFn:()=>c.get(`/api/studio/team`)}),n=t.data,r=n?.plan??e.tenant.plan,i=n?.seats;return(0,z.jsxs)(`div`,{className:`flex flex-col gap-9`,children:[(0,z.jsxs)(w,{title:E(`team.title`),hint:E(`team.hint`),children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`div`,{className:`text-[0.8125rem] text-ink-3`,children:E(`team.plan`)}),(0,z.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`font-medium text-[0.9375rem]`,children:r?.name??E(`team.planFree`)}),i?(0,z.jsx)(j,{children:i.limit===null?E(`team.seatsUnlimited`):E(`team.seats`,{taken:i.taken,limit:i.limit})}):null]})]}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsxs)(N,{variant:`secondary`,onClick:()=>Ee(`${e.manageUrl}/billing`),children:[E(`team.changePlan`),` `,(0,z.jsx)(C,{className:`size-4`})]}),n?.canManage?(0,z.jsxs)(N,{onClick:()=>Ee(`${e.manageUrl}/`),children:[E(`team.manage`),` `,(0,z.jsx)(C,{className:`size-4`})]}):null]})]}),(0,z.jsx)(`p`,{className:`mt-4 text-[0.8125rem] text-ink-3 leading-relaxed`,children:e.tenant.role===`member`?E(`team.memberNote`):E(`team.roles`)})]}),(0,z.jsx)(w,{title:E(`team.members`),children:t.isPending?(0,z.jsx)(D,{}):t.isError||!n?(0,z.jsx)(`p`,{className:`text-[0.875rem] text-rose`,children:E(`team.failed`)}):(0,z.jsxs)(`div`,{className:`flex flex-col divide-y divide-border-soft`,children:[n.members.map(t=>(0,z.jsxs)(`div`,{className:`flex items-center gap-3 py-3 first:pt-0 last:pb-0`,children:[(0,z.jsx)(sn,{name:t.name,image:t.image}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`truncate text-[0.9375rem]`,children:[t.name,t.userId===e.user.id?(0,z.jsxs)(`span`,{className:`text-ink-4`,children:[` · `,E(`team.you`)]}):null]}),(0,z.jsx)(`div`,{className:`truncate text-[0.8125rem] text-ink-3`,children:t.email})]}),(0,z.jsx)(j,{tone:t.role===`member`?void 0:`live`,children:E(`team.role.${t.role}`)})]},t.userId)),n.invitations.map(e=>(0,z.jsxs)(`div`,{className:`flex items-center gap-3 py-3 first:pt-0 last:pb-0`,children:[(0,z.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-full bg-paper-2 text-ink-3`,children:(0,z.jsx)(We,{className:`size-4`})}),(0,z.jsx)(`div`,{className:`min-w-0 flex-1 truncate text-[0.9375rem]`,children:e.email}),(0,z.jsxs)(j,{tone:`warn`,children:[E(`team.invited`),` · `,E(`team.role.${e.role}`)]})]},e.id)),n.members.length===0&&n.invitations.length===0?(0,z.jsxs)(`div`,{className:`flex items-center gap-3 text-[0.875rem] text-ink-3`,children:[(0,z.jsx)(fe,{className:`size-4`}),` –`]}):null]})})]})}function ln(e,t){let n=e.toLowerCase().replace(/[^a-z0-9]+/g,`_`).replace(/^_+|_+$/g,``).replace(/^[^a-z]+/,``).slice(0,24)||`system`,r=n,i=2;for(;t.includes(r);)r=`${n}_${i++}`;return r}function un({project:e}){let t=l(),[n,r]=(0,R.useState)(e.mcpServers.map(e=>({...e,auth:e.headers?.Authorization??e.headers?.authorization??``}))),[i,a]=(0,R.useState)(!1),o=e.readOnly,s=P({mutationFn:()=>c.patch(`/api/studio/projects/${e.id}`,{mcpServers:n.filter(e=>e.name&&e.url).map(({auth:e,headers:t,...n})=>({...n,headers:e?{...t,Authorization:e}:void 0}))}),onSuccess:async()=>{await t.invalidateQueries({queryKey:[`projects`]}),a(!0),setTimeout(()=>a(!1),1800)}});return(0,z.jsxs)(k,{className:`p-4 sm:p-6`,children:[(0,z.jsx)(`h2`,{className:`font-display font-semibold text-lg`,children:E(`settings.mcp`)}),(0,z.jsx)(`p`,{className:`mt-1 mb-5 text-[0.875rem] text-ink-3`,children:E(`settings.mcpHint`)}),(0,z.jsxs)(`fieldset`,{disabled:o,className:`flex min-w-0 flex-col gap-3`,children:[n.map((e,t)=>(0,z.jsxs)(`div`,{className:`grid gap-2 rounded-lg bg-paper p-3 ring-1 ring-border-soft sm:grid-cols-[1fr_2fr_auto]`,children:[(0,z.jsx)(M,{placeholder:E(`settings.serverName`),value:e.name,onChange:e=>r(n=>n.map((r,i)=>i===t?{...r,name:e.target.value,id:r.id||ln(e.target.value,n.map(e=>e.id))}:r))}),(0,z.jsx)(M,{placeholder:`${E(`settings.serverUrl`)} (https://…/mcp)`,value:e.url,onChange:e=>r(n=>n.map((n,r)=>r===t?{...n,url:e.target.value}:n))}),o?(0,z.jsx)(`span`,{}):(0,z.jsx)(A,{label:`Entfernen`,onClick:()=>r(e=>e.filter((e,n)=>n!==t)),className:`hover:text-rose`,children:(0,z.jsx)(ie,{className:`size-4`})}),(0,z.jsx)(M,{className:`sm:col-span-2`,placeholder:E(`settings.serverHeader`),value:e.auth??``,onChange:e=>r(n=>n.map((n,r)=>r===t?{...n,auth:e.target.value}:n))}),e.id?(0,z.jsx)(`span`,{className:`self-center font-mono text-[0.6875rem] text-ink-4`,children:e.id}):null]},t)),o?null:(0,z.jsxs)(N,{variant:`secondary`,className:`self-start`,onClick:()=>r(e=>[...e,{id:``,name:``,url:``,auth:``}]),children:[(0,z.jsx)(S,{className:`size-4`}),` `,E(`settings.addServer`)]})]}),o?null:(0,z.jsxs)(`div`,{className:`mt-5 flex items-center justify-end gap-3`,children:[s.error?(0,z.jsx)(`p`,{className:`text-[0.875rem] text-rose`,children:s.error.message}):null,(0,z.jsx)(N,{busy:s.isPending,onClick:()=>s.mutate(),children:E(i?`settings.saved`:`settings.save`)})]})]})}var dn=new Set([`models`,`integrate`]);function fn(){let{section:e}=s(),[t]=r(),n=i(),a=ye(),{project:o,loading:c}=Ce(),l=ue(),[d,f]=(0,R.useState)(o?.id);(0,R.useEffect)(()=>f(o?.id),[o?.id]);let p=ge(),h=Re(),[g,_]=(0,R.useState)(null),[v,y]=(0,R.useState)(null),[ee,te]=(0,R.useState)(null),b=he(a.data,p),x=b.find(t=>t.id===e),S=b.map(e=>({...e,to:`/settings/${e.id}`})),C=S.find(t=>t.id===e),w=x?dn.has(x.id):!1,re=x?w&&!t.get(`show`)?1:2:0,T=h?Math.min(re,1):w&&ee!==e?1:0,ie=ke(T),ae=ke(re),D=(0,R.useMemo)(()=>({slot:g,narrow:h,setDetail:y}),[g,h]);if(ve([{label:E(`settings.title`),to:`/settings`},...x?[{label:x.label,to:`/settings/${x.id}`}]:[],...x&&v?[{label:v}]:[]]),!x){if(e===`build`)return(0,z.jsx)(u,{to:`/settings/integrate`,replace:!0});if(e===`project`)return(0,z.jsx)(u,{to:`/space`,replace:!0});if(e!==void 0||!h)return p.status===`ready`||e===void 0?(0,z.jsx)(u,{to:`/settings/account`,replace:!0}):null}let k=x?.id===`connectors`&&l;return(0,z.jsx)(Ne.Provider,{value:D,children:(0,z.jsx)(`div`,{className:`animate-rise`,children:(0,z.jsxs)(`div`,{className:`grid gap-6 md:grid-cols-[13.5rem_minmax(0,1fr)] md:gap-8 lg:grid-cols-[15rem_minmax(0,1fr)] lg:gap-10`,children:[(0,z.jsxs)(`aside`,{className:O(`min-w-0 md:sticky md:top-20 md:self-start`,h&&re===2&&`hidden`,h&&ae===`back`&&De(`back`)),children:[(0,z.jsx)(Me,{title:E(`settings.title`),open:T===1?C??null:null,onBack:()=>h?n(`/settings`):te(e??null)}),(0,z.jsx)(`div`,{className:O(De(ie)),children:T===0?(0,z.jsx)(Fe,{entries:S,current:h?void 0:C,onPick:()=>te(null)}):(0,z.jsx)(`div`,{ref:_})},T)]}),x?(0,z.jsxs)(`div`,{className:O(`min-w-0`,![`integrate`,`models`].includes(x.id)&&`max-w-2xl`,h&&re<2&&`hidden`,h&&ae===`deeper`&&De(`deeper`)),children:[h?(0,z.jsx)(`div`,{className:`mb-3`,children:(0,z.jsx)(Le,{label:w?x.label:E(`settings.title`),onBack:()=>n(w?`/settings/${x.id}`:`/settings`)})}):null,k?(0,z.jsx)(`div`,{className:`mb-6`,children:(0,z.jsx)(m,{})}):null,x.id===`connectors`&&o?(0,z.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[o.readOnly?(0,z.jsx)(Pe,{children:je(o)}):null,(0,z.jsx)(nt,{projectId:o.id,readOnly:o.readOnly},d),(0,z.jsx)(un,{project:o},d)]}):null,x.id===`connectors`&&!o&&!c?(0,z.jsx)(oe,{children:E(`settings.noProject`)}):null,x.id===`models`?(0,z.jsx)(on,{}):null,x.id===`integrate`?(0,z.jsx)(pt,{}):null,x.id===`account`&&a.data?(0,z.jsx)(ne,{me:a.data}):null,x.id===`team`&&a.data?(0,z.jsx)(cn,{me:a.data}):null,x.id===`plugins`?(0,z.jsx)(Ze,{}):null,x.plugin?(0,z.jsx)(be,{of:x.plugin,children:(0,z.jsx)(x.plugin.component,{})}):null]}):null]})})})}export{fn as SettingsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-D3jfb0Ew.js";import{a as r,d as i,h as a,j as o,k as s,l as c,n as l,r as u}from"./api-Byy4NRvQ.js";import{a as d,n as f}from"./RunnerView-BAmePlD3.js";import{t as p}from"./arrow-right-6FyN3e7D.js";import{b as m,d as h,n as g,t as _,v}from"./ui-CwU0VR_B.js";import{BrandHeader as y,useBrandAccent as b}from"./PublicRunner-DFUM0aP5.js";var x=e(t(),1),S=e(n(),1);function C(){let{token:e}=s(),t=o({queryKey:[`share`,e],queryFn:()=>l.get(`/api/shares/${e}`),retry:(e,t)=>u(t)&&e<3});if(b(t.data?.brand.accent),a(t.data?.wizard.avatar),(0,x.useEffect)(()=>{t.data&&(document.title=`${t.data.title} · ${t.data.wizard.title}`)},[t.data]),t.isLoading)return(0,S.jsx)(`div`,{className:`flex min-h-dvh items-center justify-center text-ink-4`,children:(0,S.jsx)(h,{})});let n=t.data;if(!n)return(0,S.jsxs)(`div`,{className:`flex min-h-dvh flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,S.jsx)(i,{kind:`pebble`,size:80}),(0,S.jsx)(`p`,{className:`max-w-sm text-ink-3`,children:m(u(t.error)?`common.offline`:`sharePage.gone`)}),u(t.error)?(0,S.jsx)(_,{variant:`secondary`,onClick:()=>void t.refetch(),children:m(`common.retry`)}):null]});let C=`/api/shares/${n.token}`,w=e=>new Intl.DateTimeFormat(v,{dateStyle:`long`}).format(new Date(e));return(0,S.jsxs)(`div`,{className:`flex min-h-dvh flex-col`,children:[(0,S.jsx)(y,{brand:n.brand}),(0,S.jsxs)(`main`,{className:`mx-auto w-full max-w-3xl flex-1 animate-rise px-4 pt-6 pb-12 sm:px-6`,children:[(0,S.jsxs)(`div`,{className:`mb-8 flex flex-wrap items-center gap-4`,children:[(0,S.jsx)(i,{kind:n.wizard.avatar,size:64}),(0,S.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsx)(`p`,{className:`text-[0.8125rem] text-ink-4`,children:n.expiresAt?m(`sharePage.until`,{date:w(n.expiresAt)}):m(`sharePage.shared`,{date:w(n.createdAt)})}),(0,S.jsx)(`h1`,{className:`font-display font-semibold text-[1.75rem] leading-tight tracking-tight sm:text-[2rem]`,children:n.title}),n.message?(0,S.jsx)(`p`,{className:`mt-1 text-[0.9375rem] text-ink-3`,children:n.message}):null]})]}),(0,S.jsx)(`div`,{className:`flex flex-col gap-6`,children:n.shown.map(({step:e,output:t,formats:n,label:r})=>(0,S.jsxs)(g,{className:`p-4 sm:p-5`,children:[(0,S.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-center justify-between gap-3`,children:[(0,S.jsx)(`h2`,{className:`font-display font-semibold text-[1.0625rem]`,children:r??e.title}),(0,S.jsx)(f,{base:C,stepId:e.id,formats:n,title:r??e.title})]}),(0,S.jsx)(d,{base:C,step:e,output:t})]},e.id))}),n.wizardUrl?(0,S.jsxs)(`a`,{href:n.wizardUrl,className:`mt-10 flex items-center gap-4 rounded-2xl bg-card p-5 shadow-soft ring-1 ring-border-soft transition hover:shadow-elevated`,children:[(0,S.jsx)(i,{kind:n.wizard.avatar,size:44,interactive:!1}),(0,S.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsx)(`div`,{className:`font-display font-semibold text-[1rem]`,children:n.wizard.title}),n.wizard.description?(0,S.jsx)(`div`,{className:`truncate text-[0.875rem] text-ink-3`,children:n.wizard.description}):null]}),(0,S.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 font-medium text-[0.875rem] text-ember-strong`,children:[m(`sharePage.own`),` `,(0,S.jsx)(p,{className:`size-4`})]})]}):null]}),(0,S.jsx)(`footer`,{className:`safe-bottom pt-6 text-center text-[0.75rem] text-ink-4`,children:(0,S.jsx)(`a`,{href:`${r}/`,className:`inline-block py-3.5 hover:text-ink-2`,children:m(`run.madeWith`).replace(`engenty wizards`,c.name)})})]})}export{C as SharePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=JSON.parse(`[{"version":"v0.2.20","timestamp":1791314483,"commits":[{"id":"d6a5fca","message":"a team's plan reaches the runtime: the Manage-App names the plan, its feature switches and the people it allows, and a count of spaces may be unbounded (null); in a team the owner and the admins make and delete wizards, spaces and connectors while a member edits, tests and publishes the wizards there are – enforced in the services for studio, API and MCP alike (403 forbidden); the settings get a Team page with the plan, the places and who is in the team, managed at the Manage-App; own API keys in the cloud studio are a feature of the plan; and the Manage-App learns which plugins a runtime carries (GET /api/internal/plugins)","group":"Added","scope":null,"breaking":false}]},{"version":"v0.2.19","timestamp":1791313075,"commits":[{"id":"3243a25","message":"the gallery has three more categories (Bilder & Video, Anfragen & Termine, Beratung & Preise) so the category row fills two even rows","group":"Added","scope":null,"breaking":false}]},{"version":"v0.2.18","timestamp":1791312078,"commits":[{"id":"661b2c9","message":"Wissen in the space: what the space's wizards look things up in, as pages with sub-pages, tables and files sorted by typed Kategorien (choice, date, number, text, yes/no), filtered by them and searched by words and meaning, with a classifier that keeps only what answers the question; an upload is converted on arrival (a long document becomes a page with sub-pages, a sheet a table, the original stays beside it) and a model fills its Kategorien; every value of a Kategorie has its Übersicht and its entries, numbers in ranges; steps get project_search with a filter, project_list, page_read and table_read by path; the assistant docks at the bottom of an opened item and knows Wissen; plugins write into Wissen through server.spaceData (pages, tables, files, documents with their Kategorien), and what a person edits stays theirs","group":"Added","scope":null,"breaking":false}]},{"version":"v0.2.17","timestamp":1791310689,"commits":[{"id":"6a0e1ba","message":"a run's price follows one way through the wizard instead of adding up branches that exclude each other, and leaves out the steps that have no model here (the video ad: about 111 credits with clips, 11 without a video model, was 207 either way); what a step reports while it works shows in the language the person reads, the run's log keeps it in German; English wizards write amounts and today's date the English way (€2,400.00) instead of the German one","group":"Fixed","scope":null,"breaking":false}]},{"version":"v0.2.16","timestamp":1791307427,"commits":[{"id":"883404e","message":"a wizard that needs a model not set up here says so before anything is paid for: in the gallery, video, speech output or voice notes that only some answers need no longer block a template (\\"Works without: …\\"); on its pages, the choices that would lead to such a step are locked with the reason and the default moves to one that works, an optional voice note nothing here can listen to gives way to the reason, and the server refuses those answers","group":"Added","scope":null,"breaking":false}]},{"version":"v0.2.15","timestamp":1791294678,"commits":[{"id":"2c5ae49","message":"on phones and small tablets the editor's pane is a bottom sheet whose height is dragged at its handle, touch included; a tap on the handle folds it to its tabs and unfolds it to the height it had, a step tapped in the diagram or a tab unfolds it too, and the height is remembered per browser; the sheet and the diagram now fit the screen, so the chat's input is no longer cut off at the bottom","group":"Added","scope":null,"breaking":false},{"id":"cfe23fa","message":"a saved wizard whose link is gone (a new link, or the wizard deleted) shows as unavailable instead of offering Start into the runner's not-found page","group":"Fixed","scope":"mobile","breaking":false}]},{"version":"v0.2.14","timestamp":1791291788,"commits":[{"id":"ff63c86","message":"\\"What's new\\" in the banner about a newer release opens the changelog of that release in the studio instead of its page on GitHub; offline it shows the changelog this version came with","group":"Fixed","scope":null,"breaking":false}]},{"version":"v0.2.13","timestamp":1791289689,"commits":[{"id":"94297b8","message":"the space opens behind the folder in the top bar and has four parts in the settings' sliding menu: Info & Marke (Basis, Logos, Farben, Assets, Fakten), Wissen (Dokumente), Daten and Ergebnisse; Daten holds tables with typed columns, edited cell by cell, and Markdown pages, of the space or of one of its wizards; a wizard's list can be shared, one table for every run that the person running it never sees, and a step with the new Pages tool writes the wizard's pages; the space's own tables and pages go to the cloud with each published wizard and are read-only there, while what runs write stays where they ran; Ergebnisse lists the finished runs of all wizards or of one, the wizard with the latest result first, with search, live or test and the last days; a plugin's section of the space chooses its part; the studio is a step smaller on laptops and nearer the edge on phones; the run-log example no longer adds an icon to the top bar","group":"Added","scope":null,"breaking":false}]},{"version":"v0.2.12","timestamp":1791289473,"commits":[{"id":"3aaf939","message":"the documentation deploys like the cloud runtime: its image is built on GitHub's runners beside the checks of a release tag and pushed to GHCR, and the server only pulls it (deploy/Dockerfile.docs, built with --pull); the docs Dockerfile keeps its install cached across releases; a change of the docs image no longer redeploys the runtime","group":"Fixed","scope":null,"breaking":false}]},{"version":"v0.2.11","timestamp":1791287681,"commits":[{"id":"50041f3","message":"the cloud runtime deploys in minutes: its two images are built on GitHub's runners beside the checks of a release tag, with their layers cached in the registry, and pushed to GHCR; once both are green they become latest and the server pulls them instead of building for up to an hour; the runtime's Dockerfile keeps both dependency installs cached across releases (the root version blanked out, the production install in its own stage) and puts what changes every release last; IMAGE_TAG on the server pins a release","group":"Fixed","scope":null,"breaking":false}]},{"version":"v0.2.10","timestamp":1791286327,"commits":[{"id":"c5c99b0","message":"signing in from the studio returns to the studio page that asked for it, not to the host's root, which is the landing page since the studio moved to /studio","group":"Fixed","scope":null,"breaking":false}]},{"version":"v0.2.9","timestamp":1791284806,"commits":[{"id":"fff4ab3","message":"plugins add to the space: sections of the space page under the plugin's name in its menu, tools of the space assistant whose results the plugin draws as cards in its chat, a block and tools for every AI step of the space, texts in the space's search index that project_search finds beside its documents, events when a space is made, changed or deleted and when a file is read or removed, jobs that run on a schedule, public routes under an address of their own, and the runtime's web reader and document parser; the run-log example shows a space's last runs on the space page; the plugin docs describe the space","group":"Added","scope":null,"breaking":false}]},{"version":"v0.2.8","timestamp":1791284267,"commits":[{"id":"040a292","message":"Settings → Models says what the wizards can do (text, images, videos, voice, voice notes) and who does each: an AI subscription on this computer, an own API key (OpenAI, Anthropic, Google, fal.ai, ElevenLabs, Replicate, AI Gateway), a local model, or the credits, which step in where nothing of one's own is set up (a switch, on with a linked account) and may name a model of the gateway (credits:<model>: fal, ElevenLabs, Veo …); each provider's key is checked with the provider before it is kept, and a try makes a text, an image, a voice or a short clip to look at; in the cloud the page is the team's, its keys sealed per tenant and changed by its admins; voice notes run on transcription models (Scribe, Whisper) where one is bound, also on the credits; the settings show their name in the top bar's trail instead of a heading, and one container on the left slides one level down to the menu of Models and Integrate and back; on a phone the sections, a section's menu and the page take turns with a way back; Integrate puts the app's name, what it gets and its steps on one line","group":"Added","scope":null,"breaking":false}]},{"version":"v0.2.7","timestamp":1791281338,"commits":[{"id":"cc15aad","message":"the space is a page of its own: the top bar opens it beside the gear, and a menu at its left jumps to Basis, Logos, Farben, Assets, Dokumente and Fakten and marks the one in view (a picker on a phone); the studio, its assistant and the docs call a project a space (German „Space“), the address is /space and /settings/project leads there; the settings keep Konto, Connectors, Modelle and Einbinden, and the gear opens Konto; the assistant's input is one line until the text needs more, in its card and docked at the bottom","group":"Added","scope":null,"breaking":false}]},{"version":"v0.2.6","timestamp":1791280942,"commits":[{"id":"198e23c","message":"a wizard's link installs and bookmarks with the wizard's own icon: its engenty in its own colour on a pale ground of that colour with its name in small capitals below, drawn by the runtime for the manifest, the iPhone's home screen and phones that cut icons to their own shape; the page's favicon is the engenty alone, so a bookmark or tab shows it too; the name keeps the whole words that fit and never ends on a short word like \\"aus\\"; the studio's icon stands in where the runtime cannot draw; on a computer the start page offers a bookmark (⌘ D or Strg + D) instead of an install, phones keep \\"Zum Startbildschirm hinzufügen\\"","group":"Added","scope":null,"breaking":false}]},{"version":"v0.2.5","timestamp":1791272370,"commits":[{"id":"fc58644","message":"a local install says where each wizard runs and which link others can open: the cards and the editor's top bar show Live with a cloud when engenty.ai runs the version, Lokal when it runs only on this computer, Wird gesendet or Nicht in der Cloud when it did not arrive; a card's Link copies the cloud's address; the share dialog leads with that one link, says on top where the wizard runs and what the cloud lacks, folds website, QR code and the settings away, and creates a new link in the cloud too; the avatar and its menu show whether an account is connected, with its credits; Settings → Konto puts engenty.ai first and takes name and e-mail from the account; without an account the share dialog, a card's Link and the note about missing models say what an account would add","group":"Added","scope":null,"breaking":false}]},{"version":"v0.2.4","timestamp":1791242529,"commits":[{"id":"fbcfbc3","message":"a wizard a local install sends arrives whole or not at all, and the install sends again by itself: the cloud runtime keeps the files' bytes first and writes the project, the wizard, its workspace, the version and the logo in one transaction, so an object store that fails in the middle leaves nothing half done; the install plans another try after a minute, then twice as long each time up to an hour, when the cloud was out of reach or answered with an error of its own, and the share dialog says when; refusals stay with the person; a first sync that stops at an unreachable cloud marks the remaining wizards for the retry too; the public link is set on every sync; the runtime asks GitHub for a newer release once an hour instead of every six","group":"Fixed","scope":null,"breaking":false}]},{"version":"v0.2.3","timestamp":1791238483,"commits":[{"id":"38d161b","message":"the mobile app's data folder (apps/mobile/src/data) is in the repository: the ignore rule for the runtime's data folder hid every folder of that name, so main neither typechecked nor passed the mobile app's tests; the rule now names the runtime's two data folders","group":"Fixed","scope":null,"breaking":false},{"id":"251d6f4","message":"with an account signed in, what a local install publishes also runs in the cloud: the published version and its files go to the account's cloud runtime under the ids they have here, which shows the project without editing and makes the link; Settings → Konto signs in or creates an account with an invitation code and shows the credits and when they end; the share dialog says what a wizard lacks in the cloud; a team without building rights changes nothing on the server, and what visitors send is capped in size","group":"Added","scope":null,"breaking":false},{"id":"d80eb4e","message":"inside the mobile app the runner reads in the system's font, like the app's own screens; headings keep the brand's","group":"Added","scope":null,"breaking":false},{"id":"4604875","message":"the mobile app looks native: the system font, Liquid Glass (a blur before iOS 26) on the floating tab bar and the nav buttons, inset grouped lists with hairlines, Add as a form sheet with eight ID boxes, swipe to share or delete a result, files listed as the Files app does, settings rows with icon tiles","group":"Added","scope":null,"breaking":false},{"id":"d9edbe4","message":"the mobile app runs on Android: no iOS-only WebView prop that crashed the Run screen, plain http only for a runtime on this computer, result rows in the wizard's colour","group":"Fixed","scope":null,"breaking":false},{"id":"34a4588","message":"the mobile app (apps/mobile, Expo): wizards added by QR code, ID or link, runs in the runtime's runner with the app's scanner, share sheet, downloads, notifications and sign-in sheet, results kept on the phone and shared from there; engenty.ai's /w/ and /s/ links and engenty-wizards:// open in it","group":"Added","scope":null,"breaking":false},{"id":"2c19636","message":"a run tells the mobile app's device when it is done, failed or waits for the person: the app gives the run its device (POST /api/runs/:id/notify), the runtime asks the Manage-App to push (POST /v1/push in the contract); the app's own requests name the visitor in an x-wizards-visitor header, since iOS merges a Cookie header with its cookie store","group":"Added","scope":null,"breaking":false},{"id":"767e170","message":"the runner works inside the mobile app: ?app=1 drops the web's header, footer and install hint, and window.engentyApp takes over the scanner, share sheet, downloads, wake lock, notifications and account sign-in; a wizard gets an 8-character ID (GET /api/public/codes/:code) and the studio's share dialog shows it with a QR code to download as PNG or SVG; the runtime serves apple-app-site-association and assetlinks.json for the app","group":"Added","scope":null,"breaking":false},{"id":"d8f3712","message":"plan for the mobile app that runs wizards on iOS and Android","group":"Docs","scope":null,"breaking":false}]},{"version":"v0.2.2","timestamp":1791237386,"commits":[{"id":"a6c55de","message":"server.generate asks a model of the current tenant (a class, a prompt, optionally a zod schema for an object), on the models its studio is set up with and paid like any other call; without a model it throws with status 503 and the code no_model, which a route passes on","group":"Added","scope":"plugins","breaking":false},{"id":"e895e50","message":"the documentation deploys to engenty.ai/docs: an image of its own (apps/docs/Dockerfile, a standalone Next.js server on port 8896), and a release tag moves the branch deploy/docs when the site or its pages changed","group":"Deploy","scope":null,"breaking":false},{"id":"4d8b773","message":"a documentation site with a user guide and the developer docs for plugins, built like the engenty repo's: Next.js and Fumadocs in apps/docs, the pages in docs/content, in the app's light and dark colours; docs/plugins.md became its pages, and the product's build, image, package and credits leave the site out","group":"Docs","scope":null,"breaking":false}]},{"version":"v0.2.1","timestamp":1791223500,"commits":[{"id":"9c16b47","message":"the AI apps start the MCP server as the wizards command, after the rename from engenty-wizards","group":"Fixed","scope":null,"breaking":false},{"id":"f118703","message":"the wizards run in the person's own AI apps — connect writes the MCP server into Claude Desktop, Cursor, Codex and others, a run shows the wizard itself as an MCP App widget, and Settings → Einbinden adds an app with one click and tests it until it works","group":"Added","scope":null,"breaking":false}]},{"version":"v0.2.0","timestamp":1791223087,"commits":[{"id":"4404371","message":"a runtime takes plugins: tools for agent steps, routes with tables of their own, listeners on runs that end, and pages, top bar icons and settings sections in the studio; they load from modules/ and PLUGINS_DIR at start and again while it runs","group":"Added","scope":null,"breaking":false}]},{"version":"v0.1.11","timestamp":1791208594,"commits":[{"id":"85facbd","message":"the package is on npm as wizards, and the README's studio picture shows the branches with their conditions","group":"Docs","scope":null,"breaking":false},{"id":"6ca5cfc","message":"a branch that skips steps runs beside them in the editor, with its condition readable on the line; it ran behind the step with the condition hidden","group":"Fixed","scope":null,"breaking":false}]},{"version":"v0.1.10","timestamp":1791206923,"commits":[{"id":"8f35bf0","message":"the README shows the studio with a branched flow and a wizard in use, from its first page to the result","group":"Docs","scope":null,"breaking":false},{"id":"7abf9df","message":"the editor's review notes, tool names and branch labels follow the language; they were German in the English studio","group":"Fixed","scope":null,"breaking":false}]},{"version":"v0.1.9","timestamp":1791203125,"commits":[{"id":"5182fec","message":"the installer is engenty.ai/install.sh (was wizards.sh), and the command and the npm package are wizards (were engenty-wizards); the installer renames an install made under the old names","group":"Changed","scope":null,"breaking":false},{"id":"c6500f9","message":"the proxy sends the runtime /w/ and /s/ with the slash","group":"Docs","scope":null,"breaking":false}]},{"version":"v0.1.8","timestamp":1791196160,"commits":[{"id":"a965d36","message":"the marketplace's pages are written by the site at engenty.ai, at /wizards/<slug> and /de/wizards/<slug>","group":"Docs","scope":null,"breaking":false}]},{"version":"v0.1.7","timestamp":1791194770,"commits":[{"id":"66e9109","message":"a banner in the studio says when a newer release is out; the update installs from there, the runtime restarts into the new version and the page reloads","group":"Added","scope":null,"breaking":false},{"id":"5e27bf6","message":"the studio chat counts the seconds of a turn and says what the architect is doing and thinking; pasted pictures show in the thread and the architect sees them","group":"Added","scope":null,"breaking":false}]},{"version":"v0.1.6","timestamp":1791167380,"commits":[{"id":"481807b","message":"video models render at 720p, or 480p when a step asks; a larger clip is scaled down, and the price follows the resolution","group":"Added","scope":null,"breaking":false},{"id":"bb20f2b","message":"the settings say Codex makes images on the sign-in too; only video and audio still need a key","group":"Fixed","scope":null,"breaking":false}]},{"version":"v0.1.5","timestamp":1791151312,"commits":[{"id":"f4b7e43","message":"plan for a setup by capability","group":"Docs","scope":null,"breaking":false},{"id":"8ddaab7","message":"a wizard says which models it lacks before it runs, and only refuses to start when every path needs one; templates can be filtered by capability, and those this install cannot run are greyed out","group":"Added","scope":null,"breaking":false},{"id":"2689c74","message":"Codex makes images on the ChatGPT plan, and runs each model class on its own model (Luna, Sol, Astra); image, video and voice stay empty without a gateway key instead of naming models nothing can reach","group":"Added","scope":null,"breaking":false}]},{"version":"v0.1.4","timestamp":1791144283,"commits":[{"id":"071e6ca","message":"the changelog's groups read NEW, FIXED, DOCS in every language, like the entries they stand before","group":"Fixed","scope":null,"breaking":false}]},{"version":"v0.1.3","timestamp":1791142528,"commits":[{"id":"32d1698","message":"the publish job fetches the package artifact by name; with one artifact left it no longer lands in its own folder","group":"Fixed","scope":"release","breaking":false}]},{"version":"v0.1.2","timestamp":1791140122,"commits":[{"id":"4bc37b9","message":"a marketplace entry opens in the local studio at localhost:24368 instead of the Mac app's engenty-wizards:// link","group":"Added","scope":null,"breaking":false},{"id":"e09e748","message":"the Mac app is no longer built or offered; the studio offers to install itself as a Chrome app in a banner, starting at login on a Mac is a LaunchAgent that runs the command, and the setup, README and docs point there","group":"Added","scope":null,"breaking":false},{"id":"ab10b49","message":"engenty wizards starts at login — the Mac app opens in the menu bar without its window (\\"Open at Login\\" in its menus), on Linux a systemd user service; the setup asks, \`engenty-wizards autostart on|off\` switches it, and the Mac app's server takes port 24368 too","group":"Added","scope":null,"breaking":false},{"id":"239e338","message":"the setup page installs a missing AI client in its own terminal, and both setups suggest the client whose app is on the Mac — its subscription is most likely already paid for","group":"Added","scope":null,"breaking":false},{"id":"b479df7","message":"an inline terminal's stream sends its last lines and its end before it closes; a page that opens it afterwards gets them all","group":"Fixed","scope":null,"breaking":false}]},{"version":"v0.1.1","timestamp":1791138130,"commits":[{"id":"21f70df","message":"the German tagline on the sign-in page follows the new one","group":"Docs","scope":null,"breaking":false},{"id":"765ae7c","message":"the studio says when a newer release is out and, on an install made by wizards.sh, updates it from the footer","group":"Added","scope":null,"breaking":false},{"id":"825da6c","message":"the tagline is \\"Make a wish. Get your wizard.\\" In the README, the npm package description and the banner of wizards.sh.","group":"Docs","scope":null,"breaking":false},{"id":"05e2e5c","message":"the local runtime listens on 24368, AGENT on a phone keypad; the Docker image stays on 8891","group":"Added","scope":null,"breaking":false},{"id":"71bb778","message":"Ctrl-C stops engenty-wizards again — the login shell that reads the person's variables runs in a session of its own and no longer keeps the terminal","group":"Fixed","scope":null,"breaking":false},{"id":"ee20646","message":"wizards.sh opens with the tall engenty — one eye; it wakes up, looks around, hops and blinks","group":"Added","scope":null,"breaking":false},{"id":"81d4f21","message":"the studio moves to /studio; the root of a host is free for a landing page","group":"Added","scope":null,"breaking":false},{"id":"f6058fd","message":"the marketplace is an app of its own; the runtime searches it live and keeps its starters and the starred entries for offline use","group":"Added","scope":null,"breaking":false},{"id":"e6fdeab","message":"engenty-wizards://new?starter=<id> opens a marketplace template in the desktop app","group":"Added","scope":null,"breaking":false}]},{"version":"v0.1.0","timestamp":1791100948,"commits":[{"id":"71cc075","message":"install with wizards.sh; the local install and how its pieces share it","group":"Docs","scope":null,"breaking":false},{"id":"6ae641d","message":"the desktop app is a window on the local install and brings no runtime along","group":"Added","scope":null,"breaking":false},{"id":"9c9dbb8","message":"an installer, wizards.sh, that every runtime serves","group":"Added","scope":null,"breaking":false},{"id":"34d0a1a","message":"an engenty-wizards command for a local install in ~/.engenty/wizards","group":"Added","scope":null,"breaking":false},{"id":"4ac6329","message":"the search skips filler words with umlauts too","group":"Fixed","scope":null,"breaking":false},{"id":"3bda9a6","message":"the gallery's footer stays without version, changelog and open-source links","group":"Fixed","scope":null,"breaking":false},{"id":"9e65725","message":"a changelog and open-source credits in the studio's footer; pnpm release cuts a release from the commits","group":"Added","scope":null,"breaking":false},{"id":"45d2906","message":"an entry's search terms are scored one by one, not as one long text","group":"Fixed","scope":null,"breaking":false},{"id":"648819c","message":"marketplace entries carry the words people ask for, so a search by words finds them","group":"Added","scope":null,"breaking":false},{"id":"0838373","message":"one project unless the limit says more; an account page; previews and layouts in the project settings","group":"Added","scope":null,"breaking":false},{"id":"8da2aaf","message":"a project holds base infos, logos, colours, assets, documents and facts for all its wizards","group":"Added","scope":null,"breaking":false},{"id":"8679ae2","message":"the gallery has the studio's footer line","group":"Fixed","scope":null,"breaking":false},{"id":"d5086f3","message":"the gallery's field is narrower","group":"Fixed","scope":null,"breaking":false},{"id":"4a82b26","message":"the gallery invites to start a wizard from a template","group":"Other","scope":null,"breaking":false},{"id":"07d2def","message":"a template's header is the dialog's own colour under a spotlight; in the light a tinted grey","group":"Fixed","scope":null,"breaking":false},{"id":"d10be9f","message":"a template opens with its flow as a diagram; the gallery's field is narrower, its chips centred","group":"Added","scope":null,"breaking":false},{"id":"fbee998","message":"the gallery says what it is, compact and from the left; its search is a two-line field to write into","group":"Added","scope":null,"breaking":false},{"id":"478f271","message":"the gallery opens with one question and the search field; quieter filter chips","group":"Added","scope":null,"breaking":false},{"id":"15d7f94","message":"the marketplace search asks the model for the signed-in tenant; a sentence without a model keeps only close finds","group":"Fixed","scope":null,"breaking":false},{"id":"c254357","message":"a marketplace of wizards to start from, with a gallery, admin, translation and search","group":"Added","scope":null,"breaking":false},{"id":"4d6e270","message":"AI media is marked in its file and labelled with the EU icons (AI Act, Art. 50)","group":"Added","scope":null,"breaking":false},{"id":"f86f070","message":"two writers of the same blob no longer share a temporary file","group":"Fixed","scope":null,"breaking":false},{"id":"c6a06cc","message":"plan for definition versions and importing older packages","group":"Docs","scope":null,"breaking":false},{"id":"a37e826","message":"wizard packages carry their own extension, .wizard","group":"Added","scope":null,"breaking":false},{"id":"e104574","message":"wizards export as a package (.wizard.zip) and import into a project","group":"Added","scope":null,"breaking":false},{"id":"b389539","message":"the editor pane's resize handle is a short, thick pill","group":"Added","scope":null,"breaking":false},{"id":"670c3ce","message":"chat composer takes files (+) and dictation","group":"Added","scope":null,"breaking":false},{"id":"766f6fd","message":"editor side pane resizable; Steps tab steps with ← / →, header and strip spacing fixed","group":"Added","scope":null,"breaking":false},{"id":"8205c88","message":"the arrow on a live wizard's card opens it in a new tab","group":"Added","scope":null,"breaking":false},{"id":"2696a50","message":"the AI clients page says it is an MCP server and sets a client up step by step","group":"Added","scope":null,"breaking":false},{"id":"6004a7d","message":"settings in sub-pages with a nav on the left (a dropdown on phones); MCP servers under Connectors","group":"Added","scope":null,"breaking":false},{"id":"49054fa","message":"settings button in the top bar; the user menu closes on Einstellungen","group":"Added","scope":null,"breaking":false},{"id":"65c9867","message":"at most 5 projects per tenant","group":"Added","scope":null,"breaking":false},{"id":"7ecca24","message":"the project switcher switches the wizard list","group":"Fixed","scope":null,"breaking":false},{"id":"c037604","message":"light / dark in the user menu, in place of the top bar's toggle","group":"Added","scope":null,"breaking":false},{"id":"ef464ab","message":"upload limits and sorting, pictures while a step works, faster photo steps, a feedback box on reviews","group":"Added","scope":null,"breaking":false},{"id":"1cbc02f","message":"starters for receipts, video ad, property film, window offer, menu plan and ten website helpers","group":"Added","scope":null,"breaking":false},{"id":"8069115","message":"photos reach an installed AI client, and a photo without text is described","group":"Fixed","scope":null,"breaking":false},{"id":"013f7df","message":"embed a wizard in a website, inline or behind a button that opens it in a window","group":"Added","scope":null,"breaking":false},{"id":"78c2a2a","message":"the editor at /edit/<id>, signed-out visitors of the start page go to SIGNED_OUT_URL","group":"Fixed","scope":null,"breaking":false},{"id":"deb4942","message":"wizards at /w/<token>, the app at the root of https://engenty.ai","group":"Added","scope":null,"breaking":false},{"id":"b811b4c","message":"serve the app under a path (https://engenty.ai/w)","group":"Added","scope":null,"breaking":false},{"id":"4821fb1","message":"the hosted addresses (engenty.ai) as defaults, no private repo names in the public sources","group":"Fixed","scope":null,"breaking":false},{"id":"ca2207e","message":"the drop engenty as app icon, tray icon and favicon","group":"Added","scope":null,"breaking":false},{"id":"90fcbce","message":"a README for people who install it, developer notes in docs/development.md","group":"Docs","scope":null,"breaking":false},{"id":"4b0c54a","message":"a built runtime links to its own port, the sandbox falls back to agentOS","group":"Fixed","scope":null,"breaking":false},{"id":"7071edf","message":"no links to the clients' pages, a placeholder dot in the footer","group":"Fixed","scope":"setup","breaking":false},{"id":"14171bf","message":"installed AI clients as the model of a local runtime, first-start setup as a wizard","group":"Added","scope":null,"breaking":false},{"id":"ca3f3a7","message":"align vertical head turn with pointer gaze","group":"Fixed","scope":"engenty","breaking":false},{"id":"e1f04ff","message":"add furry and jelly renderers with an interactive builder","group":"Added","scope":"engenty","breaking":false},{"id":"99207af","message":"whole credits in the top bar, a footer line with the account's places","group":"Added","scope":null,"breaking":false},{"id":"e498ab1","message":"decision steps — yes/no and choice output fields, branches on step outputs","group":"Added","scope":null,"breaking":false},{"id":"e83a433","message":"pnpm workspace with apps/ and packages/","group":"Changed","scope":null,"breaking":false},{"id":"281e3a3","message":"desktop app — Tauri shell with the runtime as a Node sidecar","group":"Added","scope":null,"breaking":false},{"id":"9296521","message":"a database per tenant, model classes, sign-in at the Manage-App, phone inputs","group":"Added","scope":null,"breaking":false},{"id":"63b1693","message":"engenty's built-in connectors — Gmail, Drive, Calendar, Contacts, Outlook, OneDrive, Slack, GitHub, HubSpot, S3","group":"Added","scope":null,"breaking":false},{"id":"cd431c9","message":"connectors from the integrations registry, asked-first changes in connected accounts","group":"Added","scope":null,"breaking":false},{"id":"8dbe30d","message":"harden browser and file downloads, step navigation in the inspector, store and mailbox docs","group":"Added","scope":null,"breaking":false},{"id":"54370e8","message":"light/dark mode with engenty-coloured dark pages, jelly and fur coats, quiet focus rings","group":"Added","scope":null,"breaking":false},{"id":"371b033","message":"lists and connections kept between runs, mail and browser tools, camera and ask panel","group":"Added","scope":null,"breaking":false},{"id":"07df228","message":"setup per AI client and a self-served plugin with /wizard","group":"Added","scope":null,"breaking":false},{"id":"de27ae8","message":"interactive widgets with a workspace per wizard, shareable results","group":"Added","scope":null,"breaking":false},{"id":"12854e1","message":"live studio — MCP and other edits show up without a reload","group":"Added","scope":null,"breaking":false},{"id":"7f72420","message":"OAuth sign-in for MCP clients, connected apps in settings","group":"Added","scope":null,"breaking":false},{"id":"3014699","message":"MCP endpoint for authoring wizards with personal API keys","group":"Added","scope":null,"breaking":false},{"id":"985e612","message":"engenty wizards — prompt-built AI wizards with shareable links","group":"Added","scope":null,"breaking":false}]}]`);export{e as default};
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
function e(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 t(e,t=`|`){return e.map(e=>ce(e)).join(t)}function n(e,t){return typeof t==`bigint`?t.toString():t}var r=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function i(e){return new r(e)}function a(e){return e==null}function o(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function s(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}function c(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function l(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function u(e){return l(e._zod.def)??e._zod.def.shape}function d(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return c(this,t,e),e},enumerable:!0,configurable:!0})}function f(e,t,n){t in e?c(e,t,n):e[t]=n}function p(e,t,n,r){let i=u(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?d(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):f(e,a,r?r(n.value,a):n.value))}}function m(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?d(e,n,()=>t[n]):f(e,n,r.value))}}function h(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function ee(e){return JSON.stringify(e)}function te(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var ne=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function re(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ie=i(()=>{if(k.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function g(e){if(re(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return re(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function ae(e){return g(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var oe=new Set([`string`,`number`,`symbol`]),se=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function _(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function v(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function y(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 ce(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function le(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}var ue={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},de={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function fe(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`);let i={};return p(i,e,pe(e,t)),v(e,h(n,{shape:i,checks:[]}))}function pe(e,t){let n=u(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function me(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`);let i=new Set(pe(e,t)),a={};return p(a,e,Reflect.ownKeys(u(e)).filter(e=>!i.has(e))),v(e,h(n,{shape:a,checks:[]}))}function he(e,t){if(!g(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=u(e);for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return v(e,h(e._zod.def,{shape:ge(e,t)}))}function ge(e,t){let n={};return p(n,e,Reflect.ownKeys(u(e))),m(n,t),n}function _e(e,t){if(!g(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return v(e,h(e._zod.def,{shape:ge(e,t)}))}function ve(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);let n={};return p(n,e,Reflect.ownKeys(u(e))),p(n,t,Reflect.ownKeys(u(t))),v(e,h(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function ye(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let a=n?new Set(pe(t,n)):void 0,o={};return p(o,t,Reflect.ownKeys(u(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),v(t,h(t._zod.def,{shape:o,checks:[]}))}function be(e,t,n){let r=n?new Set(pe(t,n)):void 0,i={};return p(i,t,Reflect.ownKeys(u(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),v(t,h(t._zod.def,{shape:i}))}function b(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 xe(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 x(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function S(e){return typeof e==`string`?e:e?.message}function Se(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function C(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:S(e.inst?._zod.def?.error?.(e))??S(a?.(e))??S(t?.error?.(e))??S(n.customError?.(e))??S(n.localeError?.(e))??`Invalid input`,s={};for(let t of Object.keys(e))t!==`inst`&&t!==`schema`&&t!==`continue`&&t!==`input`&&t!==`__proto__`&&(s[t]=e[t]);return s.path??=[],s.message=o,t?.reportInput&&(s.input=e.input),s}var Ce=/[\uD800-\uDBFF]/;function we(e){let t=e.length;if(!Ce.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function Te(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Ee(e){let t=typeof e;switch(t){case`number`:return Number.isNaN(e)?`nan`:`number`;case`object`:{if(e===null)return`null`;if(Array.isArray(e))return`array`;let t=e;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&`constructor`in t&&t.constructor)return t.constructor.name}}return t}function De(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function Oe(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):je(e,n,r.value)}}function w(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function ke(e,t,n){return w(e,t,n,!1)}function Ae(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return w(this,n,r(this))},set(e){w(this,n,e)}})}return t}function je(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:w(this,t,n.bind(this))},set(e){w(this,t,e)}})}function Me(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}var Ne,T=!1,Pe={configurable:!0,get(){T=!0}};function E(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&Ne!==e._zod){Ne=void 0;return}Ne=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,Pe);let e=T;T=!1;try{let r=n(this);return T?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),T||=e,r}catch(n){throw delete this[t],T||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function Fe(e,t,n,r){let i=Me(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}var Ie=`~constantCatch`;function Le(e){let t=()=>e;return t[Ie]=!0,t}var Re,ze={value:void 0,enumerable:!1},Be=`captureStackTrace`in Error?Error:null;function Ve(e){let t=Be;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return Be=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function D(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){ze.value=new a(r);try{Object.defineProperty(n,"_zod",ze)}finally{ze.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),Oe(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?Ve(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var O=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},He=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Re=globalThis).__zod_globalConfig??(Re.__zod_globalConfig={});var k=globalThis.__zod_globalConfig;function A(e){return e&&Object.assign(k,e),k}function Ue(){let e=this._zod;return e.message??=JSON.stringify(e.def,n,2),e.message}function We(e){this._zod.message=e}var Ge={get:Ue,set:We,enumerable:!0,configurable:!0},Ke={value:void 0,enumerable:!1},qe=new WeakSet([Object.prototype,Error.prototype]),Je=(e,t)=>{e.name=`$ZodError`,Ke.value=t,Object.defineProperty(e,"issues",Ke),Ke.value=void 0,Object.defineProperty(e,"message",Ge);let n=Object.getPrototypeOf(e);qe.has(n)||(qe.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))},Ye=D(`$ZodError`,Je);D(`$ZodError`,Je,void 0,{Parent:Error});function Xe(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function Ze(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?Xe(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Qe(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],o=i===e.length-1;if(n===`_errors`){o&&r._errors.push(t(a)),i++;continue}Object.prototype.hasOwnProperty.call(r,n)||Object.defineProperty(r,n,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let s=r[n];o&&s._errors.push(t(a)),r=s,i++}}}};return r(e),n}function $e(e,t){return{callee:t?.callee??e,Err:t?.Err}}var et=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new O;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>C(e,o,A())));throw ne(n,a?.callee??t),n}return s.value};return t},tt=e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>C(e,o,A())));throw ne(n,a?.callee??t),n}return s.value};return t},nt=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 O;return a.issues.length?rt(e,a.issues,i):{success:!0,data:a.value}};function rt(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>C(e,n,A()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}var it=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?rt(e,a.issues,i):{success:!0,data:a.value}},at=Symbol.for(`zod.compile.invalid`),ot=Symbol.for(`zod.compile.fallback`),st=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==at)return!0;if(r.definite===!0&&n===void 0)return!1}return ct(e,t,n)});function ct(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[ot]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new O;return a.issues.length===0}var lt=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},ut=e=>{let t=et(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,$e(n,a))};return n},dt=e=>{let t=et(e),n=(e,r,i,a)=>t(e,r,i,$e(n,a));return n},ft=e=>{let t=tt(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,$e(n,a))};return n},pt=e=>{let t=tt(e),n=async(e,r,i,a)=>await t(e,r,i,$e(n,a));return n},mt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return nt(e)(t,n,i)},ht=e=>(t,n,r)=>nt(e)(t,n,r),gt=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return it(e)(t,n,i)},_t=e=>async(t,n,r)=>it(e)(t,n,r),vt=/^[cC][0-9a-z]{6,}$/,yt=/^[0-9a-z]+$/,bt=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,xt=/^[0-9a-vA-V]{20}$/,St=/^[A-Za-z0-9]{27}$/,Ct=/^[a-zA-Z0-9_-]{21}$/;function wt(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var Tt=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Et=/^([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})$/,Dt=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)$/,Ot=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,kt=`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;function At(){return new RegExp(kt,`u`)}var jt=/^(?:(?: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])$/,Mt=/^(([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}|:))$/,Nt=/^((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])$/,Pt=/^(([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}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ft=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,It=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,Lt=/^https?$/,Rt=/^\+[1-9]\d{6,14}$/,zt=`(?:(?:\\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])))`;function Bt(e){return RegExp(`^${e}$`)}var Vt=Bt(zt);function Ht(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}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Ut(e){return RegExp(`^${Ht(e)}$`)}function Wt(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${Ht({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${Ht({precision:e.precision})}`:n;return RegExp(`^${zt}T(?:${r})$`)}var Gt=/^[\s\S]{0,}$/,Kt=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},qt=/^-?\d+$/,Jt=/^-?\d+(?:\.\d+)?$/,Yt=/^(?:true|false)$/i,Xt=/^[^A-Z]*$/,Zt=/^[^a-z]*$/,j=D(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Qt=e=>{let t=e.value;return!a(t)&&t.length!==void 0},$t={number:`number`,bigint:`bigint`,object:`date`},en=D(`$ZodCheckLessThan`,(e,t)=>{j.init(e,t);let n=$t[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:$t[typeof r.value]??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})}}),tn=D(`$ZodCheckGreaterThan`,(e,t)=>{j.init(e,t);let n=$t[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:$t[typeof r.value]??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})}}),nn=D(`$ZodCheckMultipleOf`,(e,t)=>{j.init(e,t),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`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):s(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})}}),rn=D(`$ZodCheckNumberFormat`,(e,t)=>{j.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=ue[t.format];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})}}),an=D(`$ZodCheckMaxLength`,(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=Qt),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?we(r):i)<=t.maximum)return;let a=Te(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),on=D(`$ZodCheckMinLength`,(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=Qt),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?we(r):i)>=t.minimum)return;let a=Te(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),sn=D(`$ZodCheckLengthEquals`,(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=Qt),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?we(r):i;if(a===t.length)return;let o=Te(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),cn=D(`$ZodCheckStringFormat`,(e,t)=>{var n,r;j.init(e,t),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=()=>{})}),ln=D(`$ZodCheckRegex`,(e,t)=>{cn.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})}}),un=D(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Xt,cn.init(e,t)}),dn=D(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Zt,cn.init(e,t)}),fn=D(`$ZodCheckIncludes`,(e,t)=>{j.init(e,t);let n=_(t.includes);t.pattern=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n),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})}}),pn=D(`$ZodCheckStartsWith`,(e,t)=>{j.init(e,t);let n=RegExp(`^${_(t.prefix)}.*`);t.pattern??=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})}}),mn=D(`$ZodCheckEndsWith`,(e,t)=>{j.init(e,t);let n=RegExp(`.*${_(t.suffix)}$`);t.pattern??=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})}}),hn=D(`$ZodCheckOverwrite`,(e,t)=>{j.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),gn=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{--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?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\n${t.join(`
|
|
3
|
-
`)}\n};`)(...Object.values(this.closed))}},_n={major:4,minor:6,patch:5},M=D(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=_n;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=b(t),a;for(let o of n){if(o._zod.def.when){if(xe(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new O;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(Se(t.issues,n,e),i||=b(t,n))});else{if(t.issues.length===n)continue;Se(t.issues,n,e),i||=b(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(b(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new O;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new O;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return ke(this,`~standard`,bn(this))},set"~standard"(e){w(this,`~standard`,e)}}),vn=(e,t)=>e.issues.length?{issues:e.issues.map(e=>C(e,t,A()))}:{value:e.value};async function yn(e,t){let n={async:!0};return vn(await e._zod.run({value:t,issues:[]},n),n)}function bn(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return vn(r,n)}catch{}return yn(e,t)},vendor:`zod`,version:1}}var xn=D(`$ZodString`,(e,t)=>{M.init(e,t),e._zod.pattern=t.pattern??Gt,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}}),N=D(`$ZodStringFormat`,(e,t)=>{cn.init(e,t),xn.init(e,t)}),Sn=D(`$ZodGUID`,(e,t)=>{t.pattern??=Et,N.init(e,t)}),Cn=D(`$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??=Dt(e)}else t.pattern??=Dt();N.init(e,t)}),wn=D(`$ZodEmail`,(e,t)=>{t.pattern??=Ot,N.init(e,t)});function Tn(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function En(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?Tn(e)||2:Dn(e,t)}function Dn(e,t){if(!t.normalize&&t.protocol?.source===Lt.source&&!/^https?:\/\//i.test(e))return 1;try{if(typeof URL<`u`){let t=URL;if(typeof t.parse==`function`)return t.parse(e)??2}return new URL(e)}catch{return 2}}var On=/[\t\n\r]/g;function kn(e){return e.replace(On,``)}function An(e,t){return t.lastIndex=0,t.test(e.hostname)}function jn(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}var Mn=D(`$ZodURL`,(e,t)=>{N.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=En(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}if(i===!0){n.value=kn(r);return}t.hostname&&!An(i,t.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&&!jn(i,t.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:kn(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),Nn=D(`$ZodEmoji`,(e,t)=>{t.pattern??=At(),N.init(e,t)}),Pn=D(`$ZodNanoID`,(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??=t.length===void 0?Ct:wt(t.length),N.init(e,t)}),Fn=D(`$ZodCUID`,(e,t)=>{t.pattern??=vt,N.init(e,t)}),In=D(`$ZodCUID2`,(e,t)=>{t.pattern??=yt,N.init(e,t)}),Ln=D(`$ZodULID`,(e,t)=>{t.pattern??=bt,N.init(e,t)}),Rn=D(`$ZodXID`,(e,t)=>{t.pattern??=xt,N.init(e,t)}),zn=D(`$ZodKSUID`,(e,t)=>{t.pattern??=St,N.init(e,t)}),Bn=D(`$ZodISODateTime`,(e,t)=>{t.pattern??=Wt(t),N.init(e,t)}),Vn=D(`$ZodISODate`,(e,t)=>{t.pattern??=Vt,N.init(e,t)}),Hn=D(`$ZodISOTime`,(e,t)=>{t.pattern??=Ut(t),N.init(e,t)}),Un=D(`$ZodISODuration`,(e,t)=>{t.pattern??=Tt,N.init(e,t)}),Wn=D(`$ZodIPv4`,(e,t)=>{t.pattern??=jt,N.init(e,t)}),Gn=/^[0-9a-fA-F:.]+$/;function Kn(e){return Gn.test(e)?Tn(`http://[${e}]`):!1}var qn=D(`$ZodIPv6`,(e,t)=>{t.pattern??=Mt,N.init(e,t),e._zod.check=n=>{Kn(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Jn=D(`$ZodCIDRv4`,(e,t)=>{t.pattern??=Nt,N.init(e,t)});function Yn(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:Kn(n)}var Xn=D(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Pt,N.init(e,t),e._zod.check=n=>{Yn(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function Zn(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Qn=/^[0-9a-zA-Z+/]*={0,2}$/,$n=D(`$ZodBase64`,(e,t)=>{t.pattern??=Qn,N.init(e,t),e._zod.check=n=>{Zn(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),er=/^[A-Za-z0-9_-]*$/;function tr(e){if(!er.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Zn(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var nr=D(`$ZodBase64URL`,(e,t)=>{t.pattern??=er,N.init(e,t),e._zod.check=n=>{tr(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),rr=D(`$ZodE164`,(e,t)=>{t.pattern??=Rt,N.init(e,t)});function ir(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 ar=D(`$ZodJWT`,(e,t)=>{N.init(e,t),e._zod.check=n=>{ir(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),or=D(`$ZodNumber`,(e,t)=>{M.init(e,t),e._zod.pattern=Jt,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:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),sr=D(`$ZodNumberFormat`,(e,t)=>{rn.init(e,t),or.init(e,t)}),cr=D(`$ZodBoolean`,(e,t)=>{M.init(e,t),e._zod.pattern=Yt,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}}),lr=D(`$ZodUnknown`,(e,t)=>{M.init(e,t),e._zod.parse=e=>e}),ur=D(`$ZodNever`,(e,t)=>{M.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function dr(e,t,n){e.issues.length&&t.issues.push(...x(n,e.issues)),t.value[n]=e.value}var fr=D(`$ZodArray`,(e,t)=>{M.init(e,t);let n=k.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[],s=i?.abortEarly;for(let e=0;e<a.length;e++){let n=a[e],c=t.element._zod.run({value:n,issues:[]},i);if(c instanceof Promise)o.push(c.then(t=>dr(t,r,e)));else if(dr(c,r,e),s&&c.issues.length!==0&&b(c))break}return o.length?Promise.all(o).then(()=>r):r}});function pr(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(o||!s||i!==`optional`){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...x(n,e.issues))}if(!o&&i===void 0){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}var mr=[];function hr(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:mr,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`);let a=le(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function gr(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(b(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>pr(e,n,i,t,d,f))):pr(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var _r=D(`$ZodObject`,(e,t)=>{M.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,"shape",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,"shape",{get:e})}let a=i(()=>hr(t));E(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||c(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let o=re,s=t.catchall,l,u=k.memoizer;u?.attach(e),e._zod.parse=(t,n)=>{l??=a.value;let r=t.value;if(!o(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=u?u.alloc(e,t,{},n):{};let i=[],c=l.shape,d=n?.abortEarly,f=t.issues.length;for(let e of l.allKeys){if(d&&t.issues.length!==f){if(b(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let a=c[e],o=a._zod.optin,s=a._zod.optout,l=a._zod.run({value:r[e],issues:[]},n);l instanceof Promise?i.push(l.then(n=>pr(n,t,e,r,o,s))):pr(l,t,e,r,o,s)}return s?gr(i,r,t,n,a.value,e,d===!0):i.length?Promise.all(i).then(()=>t):t}}),vr=D(`$ZodObjectJIT`,(e,t)=>{_r.init(e,t);let n=e._zod.parse,r=i(()=>hr(t)),a=k.memoizer,o=t=>{let n=r.value,i=n.symbolKeys,o=new gn([`payload`,`ctx`],{shape:t,inst:e,memo:a,syms:i}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,c=(e,t)=>`
|
|
4
|
-
let ${e}_ab = false;
|
|
5
|
-
for (let i = 0; i < ${e}.issues.length; i++) {
|
|
6
|
-
const iss = ${e}.issues[i];
|
|
7
|
-
iss.path = iss.path ? [${t}, ...iss.path] : [${t}];
|
|
8
|
-
payload.issues.push(iss);
|
|
9
|
-
if (iss.continue !== true) ${e}_ab = true;
|
|
10
|
-
}
|
|
11
|
-
if (${e}_ab && ctx && ctx.abortEarly) {
|
|
12
|
-
payload.value = newResult;
|
|
13
|
-
return payload;
|
|
14
|
-
}`;o.write(`const input = payload.value;`);let l=Object.create(null),u=0;for(let e of n.allKeys)l[e]=`key_${u++}`;o.write(a?`const newResult = memo.alloc(inst, payload, {}, ctx);`:`const newResult = {};`);for(let e of n.allKeys){if(e===`__proto__`)continue;let n=l[e],r=typeof e==`symbol`?`syms[${i.indexOf(e)}]`:ee(e),a=`${r} in input`,u=t[e],d=u?._zod?.optin,f=d!==void 0,p=u?._zod?.optout===`optional`;if(o.write(`const ${n} = ${s(r)};`),f&&p){let e=d===`optional`?`${n}_present`:`${n}.value !== undefined || ${n}_present`;o.write(`
|
|
15
|
-
const ${n}_present = ${a};
|
|
16
|
-
if (!${n}.issues.length || ${n}_present) {
|
|
17
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
if (${e}) {
|
|
21
|
-
newResult[${r}] = ${n}.value;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
`)}else f?(o.write(`
|
|
26
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
27
|
-
}
|
|
28
|
-
`),d===`defaulted`?o.write(`newResult[${r}] = ${n}.value;`):o.write(`
|
|
29
|
-
if (${n}.value !== undefined || ${a}) {
|
|
30
|
-
newResult[${r}] = ${n}.value;
|
|
31
|
-
}
|
|
32
|
-
`)):o.write(`
|
|
33
|
-
const ${n}_present = ${a};
|
|
34
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
35
|
-
}
|
|
36
|
-
if (!${n}_present && !${n}.issues.length) {
|
|
37
|
-
payload.issues.push({
|
|
38
|
-
code: "invalid_type",
|
|
39
|
-
expected: "nonoptional",
|
|
40
|
-
input: undefined,
|
|
41
|
-
path: [${r}]
|
|
42
|
-
});
|
|
43
|
-
if (ctx && ctx.abortEarly) {
|
|
44
|
-
payload.value = newResult;
|
|
45
|
-
return payload;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (${n}_present) {
|
|
50
|
-
newResult[${r}] = ${n}.value;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
`)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},s,c=re,l=!k.jitless,u=l&&ie.value,d=t.catchall,f;e._zod.parse=(i,a)=>{f??=r.value;let p=i.value;return c(p)?l&&u&&a?.async===!1&&a.jitless!==!0?(s||=o(t.shape),i=s(i,a),d?gr([],p,i,a,f,e,a?.abortEarly===!0):i):n(i,a):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function yr(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=>!b(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=>C(e,r,A())))}),t)}var br=D(`$ZodUnion`,(e,t)=>{M.init(e,t),E(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),E(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),E(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),E(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>o(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=>yr(t,r,e,i)):yr(o,r,e,i)}});function xr(e){let t=new Map;for(let n of e.options){let r=n._zod.propValues?.[e.discriminator];if(!r||r.size===0)throw Error(`Invalid discriminated union option at index "${e.options.indexOf(n)}"`);for(let e of r)if(t.has(e)){if(e!==void 0)throw Error(`Duplicate discriminator value "${String(e)}"`);t.set(e,null)}else t.set(e,n)}return t}var Sr=D(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,br.init(e,t);let n=e._zod.parse;E(e,`propValues`,e=>{let t={},n=0;for(let r of e.def.options){let i=r._zod.propValues;if(!i||Object.keys(i).length===0)throw Error(`Invalid discriminated union option at index "${e.def.options.indexOf(r)}"`);i[e.def.discriminator]?.has(void 0)&&n++;for(let[e,n]of Object.entries(i)){Object.prototype.hasOwnProperty.call(t,e)||c(t,e,new Set);for(let r of n)t[e].add(r)}}return!e.def.unionFallback&&n>1&&t[e.def.discriminator]?.delete(void 0),t}),t.options.forEach((e,n)=>{let r=l(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=i(()=>xr(t));e._zod.parse=(i,a)=>{let o=i.value;if(!re(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=o?.[t.discriminator],c=r.value.get(s);return c&&(s!==void 0||a.direction!==`backward`)?c._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()).filter(e=>r.value.get(e)!==null),input:o,path:[t.discriminator],inst:e}),i)}}),Cr=D(`$ZodIntersection`,(e,t)=>{M.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])=>Tr(e,t,n)):Tr(e,i,a)}});function wr(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(g(e)&&g(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=wr(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=wr(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 Tr(e,t,n){let r=new Map,i,a=new Map,o=(e,t)=>{let n;if(e.code===`unrecognized_keys`&&!e.path?.length)i??=e,n=e.keys;else if(e.code===`invalid_key`&&e.origin===`record`&&e.path?.length===1){let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}else return!1;for(let e of n)r.has(e)||r.set(e,{}),r.get(e)[t]=!0;return!0};for(let n of t.issues)o(n,`l`)||e.issues.push(n);for(let t of n.issues)o(t,`r`)||e.issues.push(t);let s=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=i?s.filter(e=>i.keys.includes(e)):[];t.length&&e.issues.push({...i,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let c=wr(t.value,n.value);if(!c.valid){if(b(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var Er=D(`$ZodRecord`,(e,t)=>{M.init(e,t);let n=k.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!g(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>C(e,i,A())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...x(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...x(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e)){if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e)}l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&Jt.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>C(e,i,A())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...x(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...x(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),Dr=D(`$ZodEnum`,(t,n)=>{M.init(t,n);let r=e(n.entries),i=new Set(r);t._zod.values=i,E(t,`pattern`,t=>{let n=e(t.def.entries).filter(e=>oe.has(typeof e));return RegExp(n.length?`^(${n.map(e=>_(e.toString())).join(`|`)})$`:`^[^\\s\\S]$`)}),t._zod.parse=(e,n)=>{let a=e.value;return i.has(a)||e.issues.push({code:`invalid_value`,values:r,input:a,inst:t}),e}}),Or=D(`$ZodLiteral`,(e,t)=>{M.init(e,t);let n=new Set(t.values);e._zod.values=n,E(e,`pattern`,e=>{let t=e.def.values;return RegExp(t.length?`^(${t.map(e=>typeof e==`string`?_(e):e?_(e.toString()):String(e)).join(`|`)})$`:`^[^\\s\\S]$`)}),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),kr=D(`$ZodTransform`,(e,t)=>{M.init(e,t),e._zod.optin=`optional`,k.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new He(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));if(i instanceof Promise)throw new O;return n.value=i,n}});function Ar(e,t){return e.value=t.issues.length?void 0:t.value,e}var jr=D(`$ZodOptional`,(e,t)=>{M.init(e,t),E(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,E(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),E(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${o(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>Ar(e,t)):Ar(e,r)}return t.innerType._zod.run(e,n)}}),Mr=D(`$ZodExactOptional`,(e,t)=>{jr.init(e,t),E(e,`values`,e=>e.def.innerType._zod.values),E(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Nr=D(`$ZodNullable`,(e,t)=>{M.init(e,t),E(e,`optin`,e=>e.def.innerType._zod.optin),E(e,`optout`,e=>e.def.innerType._zod.optout),E(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${o(t.source)}|null)$`):void 0}),E(e,`values`,e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),Pr=D(`$ZodDefault`,(e,t)=>{M.init(e,t),e._zod.optin=`defaulted`,E(e,`values`,e=>e.def.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=>Fr(e,t)):Fr(r,t)}});function Fr(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Ir=D(`$ZodPrefault`,(e,t)=>{M.init(e,t),e._zod.optin=`defaulted`,E(e,`values`,e=>e.def.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))}),Lr=D(`$ZodNonOptional`,(e,t)=>{M.init(e,t),E(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].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=>Rr(t,e)):Rr(i,e)}});function Rr(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function zr(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>C(e,r,A()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var Br=D(`$ZodCatch`,(e,t)=>{M.init(e,t),E(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),E(e,`optout`,e=>e.def.innerType._zod.optout),E(e,`values`,e=>e.def.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({value:e.value,issues:[]},n);return r instanceof Promise?r.then(r=>zr(e,r,t,n)):zr(e,r,t,n)}}),Vr=D(`$ZodPipe`,(e,t)=>{M.init(e,t),E(e,`values`,e=>e.def.in._zod.values),E(e,`optin`,e=>e.def.in._zod.optin),E(e,`optout`,e=>e.def.out._zod.optout),E(e,`propValues`,e=>e.def.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=>Hr(e,t.in,n)):Hr(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Hr(e,t.out,n)):Hr(r,t.out,n)}});function Hr(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var Ur=D(`$ZodReadonly`,(e,t)=>{M.init(e,t),E(e,`propValues`,e=>e.def.innerType._zod.propValues),E(e,`values`,e=>e.def.innerType._zod.values),E(e,`optin`,e=>e.def.innerType?._zod?.optin),E(e,`optout`,e=>e.def.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(Wr):Wr(r)}});function Wr(e){return e.memo||(e.value=Object.freeze(e.value)),e}function Gr(e){let t=e._zod.def,n=t.pattern,r=!!t.format?.includes(`int`),i,a;for(let e of t.checks??[]){let t=e._zod.def;t.pattern&&(n=t.pattern),r||=!!t.format?.includes(`int`);let o=t.minimum??t.length,s=t.maximum??t.length;o!==void 0&&(i===void 0||o>i)&&(i=o),s!==void 0&&(a===void 0||s<a)&&(a=s)}if(n)return n.source;if(i!==void 0&&a!==void 0&&i>a)return`(?!)`;if(i!==void 0||a!==void 0)return Kt({minimum:i,maximum:a}).source;let o=e._zod.pattern;return(r&&o===Jt?qt:o)?.source}function Kr(e){let t=e._zod.def,n=e._zod.pattern?.source,r=t.innerType??e._zod.innerType;if(r){let e=r._zod.pattern?.source,t=Kr(r);return n&&e&&t&&t!==e?n.replace(o(e),()=>o(t)):n}if(t.options){let e=t.options.map(Kr);if(e.every(Boolean))return`^(${e.map(e=>o(e)).join(`|`)})$`}return Gr(e)}var qr=D(`$ZodTemplateLiteral`,(e,t)=>{M.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){let t=Kr(e);if(!t)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);n.push(o(t))}else if(e===null||se.has(typeof e))n.push(_(`${e}`));else throw Error(`Invalid template literal part: ${e}`);e._zod.pattern=RegExp(`^${n.join(``)}$`),e._zod.parse=(n,r)=>typeof n.value==`string`?(e._zod.pattern.lastIndex=0,e._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:e,code:`invalid_format`,format:t.format??`template_literal`,pattern:e._zod.pattern.source}),n):(n.issues.push({input:n.value,inst:e,expected:`string`,code:`invalid_type`}),n)}),Jr=D(`$ZodCustom`,(e,t)=>{j.init(e,t),M.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=>Yr(t,n,r,e));Yr(i,n,r,e)}});function Yr(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(De(e))}}var Xr=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}},Zr=`~memo`,Qr=[];function $r(e){return typeof e==`object`&&!!e}function ei(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var ti=new WeakMap,ni=0,ri=1,ii=2;function ai(e,t,n){let r=ti.get(e);if(r!==void 0)return r?ii:ni;if(t.has(e))return ii;t.add(e);let i=ni,a=e=>{if(i!==ii&&e?._zod){let r=ai(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=ni;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?ri:o.value?._zod?ai(o.value,t,n):ni;s>i&&(i=s)}return i},s=e=>{e>i&&(i=e)},c=e._zod.def;switch(c.type){case`object`:{let e=l(c);s(e?o(e,!0):ri),a(c.catchall);break}case`array`:a(c.element);break;case`tuple`:for(let e of c.items)a(e);a(c.rest);break;case`record`:case`map`:a(c.keyType),a(c.valueType);break;case`set`:a(c.valueType);break;case`union`:for(let e of c.options)a(e);break;case`intersection`:a(c.left),a(c.right);break;case`optional`:case`nullable`:case`default`:case`prefault`:case`catch`:case`readonly`:case`nonoptional`:case`promise`:case`success`:a(c.innerType);break;case`pipe`:a(c.in),a(c.out);break;case`function`:a(c.input),a(c.output);break;case`lazy`:{let r=c._cachedInner??(n?e._zod.innerType:void 0);s(r?ai(r,t,!1):ri);break}case`template_literal`:case`string`:case`number`:case`int`:case`boolean`:case`bigint`:case`symbol`:case`undefined`:case`null`:case`void`:case`never`:case`any`:case`unknown`:case`date`:case`nan`:case`enum`:case`literal`:case`file`:case`transform`:case`custom`:break;default:for(let e in c){let t=Object.getOwnPropertyDescriptor(c,e);if(!t||t.get)continue;let n=t.value;if(n&&typeof n==`object`){if(n._zod)a(n);else if(Array.isArray(n))for(let e of n)a(e)}}}return t.delete(e),oi(e,i)}function oi(e,t){return t!==ri&&ti.set(e,t===ii),t}function si(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}var ci,li=[],ui={alloc(e,t,n){let r=ci;if(!r)return n;ci=void 0;let i={value:n,issues:null};return r.set(t.value,i),li.push(i),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,n=(e,n)=>{if(n.direction!==`backward`&&fi(n,e.value))throw new Xr;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r=!1,i,a;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,o=(s,c)=>{if(n===void 0){let i=ai(e,new Set,!1);if(i===ni)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===ii||r?n=!0:r=!0}let l=s.value;if(!$r(l))return t(s,c);let u=c[Zr];u||(u={buckets:new WeakMap,backEdges:void 0},c[Zr]=u);let d;i===c?d=a:(d=si(u,e),i=c,a=d);let f=d.get(l);if(f)return s.value=f.value,f.issues?f.issues.length&&s.issues.push(...ei(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=new WeakSet),u.backEdges.add(f.value)),s;ci=d;let p=li.length,m=t(s,c);ci=void 0;let h=li.length>p?li.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?ei(e.issues):Qr),e)):(h&&(h.issues=m.issues.length?ei(m.issues):Qr),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function di(){return ui}function fi(e,t){let n=e[Zr]?.backEdges;return n!==void 0&&$r(t)&&n.has(t)}var pi=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function n(t){return e[t]??null}let r={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,currency_code:`currency code`,credit_card:`credit card number`,iban:`IBAN`,jwt:`JWT`,template_literal:`input`},i={nan:`NaN`};function a(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):i[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${a(e.expected)}, received ${a(Ee(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${ce(e.values[0])}`:`Invalid option: expected one of ${t(e.values,`|`)}`;case`too_big`:{let t=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=n(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${t}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${t}${e.maximum.toString()}`}case`too_small`:{let t=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=n(e.origin);return r?`Too small: expected ${e.origin} to have ${t}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${t}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${r[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${t(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function mi(){return{localeError:pi()}}var hi,gi=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 _i(){return new gi}(hi=globalThis).__zod_globalRegistry??(hi.__zod_globalRegistry=_i());var vi=globalThis.__zod_globalRegistry;function yi(e){return e.checks&&=[...e.checks],e}function bi(e,t){return new e(yi({type:`string`,...y(t)}))}function xi(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...y(t)})}function Si(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...y(t)})}function Ci(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...y(t)})}function wi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...y(t)})}function Ti(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...y(t)})}function Ei(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...y(t)})}function Di(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...y(t)})}function Oi(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...y(t)})}function ki(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...y(t)})}function Ai(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...y(t)})}function ji(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...y(t)})}function Mi(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...y(t)})}function Ni(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...y(t)})}function Pi(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...y(t)})}function Fi(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...y(t)})}function Ii(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...y(t)})}function Li(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...y(t)})}function Ri(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...y(t)})}function zi(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...y(t)})}function Bi(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...y(t)})}function Vi(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...y(t)})}function Hi(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...y(t)})}function Ui(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...y(t)})}function Wi(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...y(t)})}function Gi(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...y(t)})}function Ki(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...y(t)})}function qi(e,t){return new e(yi({type:`number`,checks:[],...y(t)}))}function Ji(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...y(t)})}function Yi(e,t){return new e({type:`boolean`,...y(t)})}function Xi(e){return new e({type:`unknown`})}function Zi(e,t){return new e({type:`never`,...y(t)})}function Qi(e,t){return new en({check:`less_than`,...y(t),value:e,inclusive:!1})}function $i(e,t){return new en({check:`less_than`,...y(t),value:e,inclusive:!0})}function ea(e,t){return new tn({check:`greater_than`,...y(t),value:e,inclusive:!1})}function ta(e,t){return new tn({check:`greater_than`,...y(t),value:e,inclusive:!0})}function na(e,t){return new nn({check:`multiple_of`,...y(t),value:e})}function ra(e,t){return new an({check:`max_length`,...y(t),maximum:e})}function ia(e,t){return new on({check:`min_length`,...y(t),minimum:e})}function aa(e,t){return new sn({check:`length_equals`,...y(t),length:e})}function oa(e,t){return new ln({check:`string_format`,format:`regex`,...y(t),pattern:e})}function sa(e){return new un({check:`string_format`,format:`lowercase`,...y(e)})}function ca(e){return new dn({check:`string_format`,format:`uppercase`,...y(e)})}function la(e,t){return new fn({check:`string_format`,format:`includes`,...y(t),includes:e})}function ua(e,t){return new pn({check:`string_format`,format:`starts_with`,...y(t),prefix:e})}function da(e,t){return new mn({check:`string_format`,format:`ends_with`,...y(t),suffix:e})}function P(e){return new hn({check:`overwrite`,tx:e})}function fa(e){return P(t=>t.normalize(e))}function pa(){return P(e=>e.trim())}function ma(){return P(e=>e.toLowerCase())}function ha(){return P(e=>e.toUpperCase())}function ga(){return P(e=>te(e))}function _a(e,t,n){return new e({type:`array`,element:t,...y(n)})}function va(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...y(n)})}function ya(e,t){let n=ba(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(De(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,`input`in r||(r.input=t.value),r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(De(r))}},e(t.value,t)),t);return n}function ba(e,t){let n=new j({check:`custom`,...y(t)});return n._zod.check=e,n}function xa(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&c(e,t,n[t]);return e}function Sa(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??vi,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,intersections:[],deferred:[],external:e?.external??void 0}}function F(e,t,n,r,i){let a=typeof t.unrepresentable==`function`?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(a===`any`)return!1;if(a===void 0||a===`throw`)throw Error(i);return Object.assign(n,a),!0}function I(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),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;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,I(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&xa(o.schema,c),t.io===`input`&&L(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 Ca(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function wa(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);if(e.external&&e.sharedDefsExtractedFor===e.external)return;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}/${Ca(a)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:`#`};let a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+Ca(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>
|
|
54
|
-
|
|
55
|
-
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}r.count>1&&e.reused===`ref`&&a(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Ta(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;Ta(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}var Ea=new Set([`type`,`properties`,`required`,`additionalProperties`]),Da=[`oneOf`,`anyOf`];function Oa(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function ka(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Ea.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??Oa(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}c(n,r,e.length===1?e[0]:ka(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=Oa(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function Aa(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Ea)if(t in e)return;let n=t.filter(e=>Da.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=ka(t);else{let e=n[0],i=Da.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>ka([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,xa(e,r))}function ja(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)):xa(i,s),xa(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??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())Ta(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])Aa(e)}}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)}xa(i,n.defId?n.schema: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??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,c(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),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:Na(t,`input`,e.processors),output:Na(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function L(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 L(r.element,n);if(r.type===`set`)return L(r.valueType,n);if(r.type===`lazy`)return L(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`||r.type===`catch`)return L(r.innerType,n);if(r.type===`intersection`)return L(r.left,n)||L(r.right,n);if(r.type===`record`||r.type===`map`)return L(r.keyType,n)||L(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:L(r.in,n)||L(r.out,n);if(r.type===`object`){for(let e in r.shape)if(L(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(L(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(L(e,n))return!0;return!!(r.rest&&L(r.rest,n))}return!1}var Ma=(e,t={})=>n=>{let r=Sa({...n,processors:t});return I(e,r),wa(r,e),ja(r,e)},Na=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Sa({...i??{},target:a,io:t,processors:n});return I(e,o),wa(o,e),ja(o,e)},R=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},z=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},Pa=(e,t)=>{R(e,`minimum`,t),z(e,`maximum`,t)},Fa=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},Ia=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},La=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Ra=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},za=(e,t)=>R(e,`minimum`,t.minimum),Ba=(e,t)=>z(e,`maximum`,t.maximum),Va=e=>(t,n)=>{Ra(t,n.format);let[r,i]=e[n.format];R(t,`minimum`,r),z(t,`maximum`,i)},Ha={greater_than:(e,t)=>R(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>z(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>Fa(e,t.value),number_format:Va(ue),bigint_format:Va(de),min_length:za,max_length:Ba,length_equals:(e,t)=>Pa(e,t.length),min_size:za,max_size:Ba,size_equals:(e,t)=>Pa(e,t.size),string_format:(e,t)=>{Ra(e,t.format),t.pattern&&Ia(e,t.pattern),(t.format===`base64`||t.format===`base64url`)&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>La(e,t.mime)};function B(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)Ha[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&R(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&R(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&z(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&z(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&Fa(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&La(t,i.mime);for(let e of i.patterns??[])Ia(t,e);return t}var Ua={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Wa=new Map([[Qn,Ft],[er,It]]),Ga=e=>Wa.get(e)??e,Ka=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=B(e);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`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c].map(Ga);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}))])}},qa=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=B(e);i.type=u?`integer`:`number`;let d=typeof l==`number`&&l>=(a??-1/0),f=typeof c==`number`&&c<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;if(d?p?(i.minimum=l,i.exclusiveMinimum=!0):i.exclusiveMinimum=l:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=c,i.exclusiveMaximum=!0):i.exclusiveMaximum=c:typeof o==`number`&&(i.maximum=o),s){let n=new Set;for(let a of s)Number.isFinite(a)&&a!==0?n.add(Math.abs(a)):F(e,t,i,r,`A multipleOf divisor of ${a} cannot be represented in JSON Schema`);let[a,...o]=n;a!==void 0&&(i.multipleOf=a),o.length&&(i.allOf=[...i.allOf??[],...o.map(e=>({multipleOf:e}))])}},Ja=(e,t,n,r)=>{n.type=`boolean`},Ya=(e,t,n,r)=>{n.not={}},Xa=(t,n,r,i)=>{let a=t._zod.def,o=e(a.entries);if(o.length===0){r.not={};return}o.every(e=>typeof e==`number`)&&(r.type=`number`),o.every(e=>typeof e==`string`)&&(r.type=`string`),r.enum=o},Za=(e,t,n,r)=>{let i=e._zod.def;if(i.values.length===0){n.not={};return}let a=[];for(let o of i.values)if(o===void 0){if(F(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(F(e,t,n,r,`BigInt literals cannot be represented in JSON Schema`))return;a.push(Number(o))}else a.push(o);if(a.length!==0){if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a}},Qa=(e,t,n,r)=>{let i=n,a=e._zod.pattern;if(!a)throw Error(`Pattern not found in template literal`);i.type=`string`,i.pattern=a.source},$a=(e,t,n,r)=>{F(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},eo=(e,t,n,r)=>{F(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},to=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=B(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=I(a.element,t,{...r,path:[...r.path,`items`]})};function no(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?no(t.out):t.type===`catch`?no(t.innerType):e._zod.optin}var ro=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&F(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)c(i.properties,e,I(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];(t.io===`input`?no(n)===void 0:n._zod.optout===void 0)&&s.push(e)}s.length>0&&(i.required=s),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=I(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},io=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>I(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},ao=(e,t,n,r)=>{let i=e._zod.def,a=I(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=I(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)};function oo(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);let r=e.get(t)?.def;if(!r)return t;let i=oo(e,r,n);return i===r?t:i}for(let r of[`anyOf`,`oneOf`]){let i=t[r];if(!Array.isArray(i))continue;let a=i.map(t=>oo(e,t,n));a.some((e,t)=>e!==i[t])&&(t={...t,[r]:a})}let r=Array.isArray(t.type)?t.type:[t.type],i=!r.includes(`string`)&&r.some(e=>e===`number`||e===`integer`),a=t.enum??(t.const===void 0?void 0:[t.const]);if(!i&&!a?.some(e=>typeof e==`number`))return t;let{minimum:o,maximum:s,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:u,format:d,id:f,...p}=t;return p.enum?p.enum=p.enum.map(e=>typeof e==`number`?String(e):e):typeof p.const==`number`&&(p.const=String(p.const)),i?(p.type=`string`,a||(p.pattern=(r.includes(`number`)?Jt:qt).source),p):p}var so=new WeakMap;function co(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let n=new Map;for(let r of so.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=oo(t,a,new Set);o!==a&&n.set(a,o)}if(n.size)for(let t of e.seen.values())for(let e of[t.schema,t.def]){let t=e&&n.get(e.propertyNames);t&&(e.propertyNames=t)}}var lo=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=B(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=I(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)c(i.patternProperties,Ga(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=I(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=so.get(t);n||(n=[],so.set(t,n),t.deferred.push(()=>co(t))),n.push(e)}i.additionalProperties=I(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let l=o._zod.values,u=t.io===`input`&&no(a.valueType)!==void 0;if(l&&!a.partial&&!u){let e=[...l].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e.map(String))}},uo=(e,t,n,r)=>{let i=e._zod.def,a=I(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`}]},fo=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},po=Symbol();function mo(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(F(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),po):JSON.parse(o)}var ho=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=mo(i.defaultValue,e,t,n,r);o!==po&&(n.default=o)},go=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=mo(i.defaultValue,e,t,n,r);o!==po&&(n._prefault=o)},_o=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{F(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},vo=(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;I(o,t,r);let s=t.seen.get(e);s.ref=o},yo=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},bo=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},xo=new WeakSet([Object.prototype,Error.prototype]);function So(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}var V=D(`ZodError`,(e,t)=>{Ye.init(e,t),e.name=`ZodError`;let r=Object.getPrototypeOf(e);xo.has(r)||(xo.add(r),So(r,`format`,e=>t=>Qe(e,t)),So(r,`flatten`,e=>t=>Ze(e,t)),So(r,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,n,2)}),So(r,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,n,2)}),Object.defineProperty(r,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),Co=et(V),wo=tt(V),To=nt(V),Eo=it(V),Do=ut(V),Oo=dt(V),ko=ft(V),Ao=pt(V),jo=mt(V),Mo=ht(V),No=gt(V),Po=_t(V);function Fo(){k.localeError||A(mi())}function Io(){k.memoizer||A({memoizer:di()})}var H=D(`ZodType`,(e,t)=>(Fo(),M.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(h(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 v(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Zs(e,t))},superRefine(e,t){return this.check(Qs(e,t))},overwrite(e){return this.check(P(e))},optional(){return js(this)},exactOptional(){return Ns(this)},nullable(){return Fs(this)},nullish(){return js(Fs(this))},nonoptional(e){return Vs(this,e)},array(){return q(this)},or(e){return ys([this,e])},and(e){return Cs(this,e)},transform(e){return Gs(this,ks(e))},default(e){return Ls(this,e)},prefault(e){return zs(this,e)},catch(e){return Us(this,e)},pipe(e){return Gs(this,e)},readonly(){return qs(this)},describe(e){let t=this.clone();return vi.add(t,{description:e}),t},meta(...e){if(e.length===0)return vi.get(this);let t=this.clone();return vi.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return ke(this,`~standard`,{...bn(this),jsonSchema:{input:Na(this,`input`),output:Na(this,`output`)}})},set"~standard"(e){w(this,`~standard`,e)},parse:function e(t,n){return Co(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await wo(this,t,n,{callee:e})},safeParse(e,t){return To(this,e,t)},async safeParseAsync(e,t){return Eo(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){w(this,`spa`,e)},validate(e,t){return st(this,e,t)},validateAsync(e,t){return lt(this,e,t)},encode:function e(t,n){return Do(this,t,n,{callee:e})},decode:function e(t,n){return Oo(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await ko(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Ao(this,t,n,{callee:e})},safeEncode(e,t){return jo(this,e,t)},safeDecode(e,t){return Mo(this,e,t)},async safeEncodeAsync(e,t){return No(this,e,t)},async safeDecodeAsync(e,t){return Po(this,e,t)},toJSONSchema(e){return Ma(this,{})(e)},get description(){return vi.get(this)?.description},get _def(){return this._zod.def}}),Lo=D(`_ZodString`,(e,t)=>{xn.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ka(e,t,n,r)},Ae({format:e=>B(e).format??null,minLength:e=>B(e).minimum??null,maxLength:e=>B(e).maximum??null},{regex(...e){return this.check(oa(...e))},includes(...e){return this.check(la(...e))},startsWith(...e){return this.check(ua(...e))},endsWith(...e){return this.check(da(...e))},min(...e){return this.check(ia(...e))},max(...e){return this.check(ra(...e))},length(...e){return this.check(aa(...e))},nonempty(...e){return this.check(ia(1,...e))},lowercase(e){return this.check(sa(e))},uppercase(e){return this.check(ca(e))},trim(){return this.check(pa())},normalize(...e){return this.check(fa(...e))},toLowerCase(){return this.check(ma())},toUpperCase(){return this.check(ha())},slugify(){return this.check(ga())}})),Ro=D(`ZodString`,(e,t)=>{xn.init(e,t),Lo.init(e,t)},{email(e){return this.check(xi(Uo,e))},url(e){return this.check(Di(Ko,e))},jwt(e){return this.check(Hi(ss,e))},emoji(e){return this.check(Oi(qo,e))},guid(e){return this.check(Si(Wo,e))},uuid(e){return this.check(Ci(Go,e))},uuidv4(e){return this.check(wi(Go,e))},uuidv6(e){return this.check(Ti(Go,e))},uuidv7(e){return this.check(Ei(Go,e))},nanoid(e){return this.check(ki(Jo,e))},cuid(e){return this.check(Ai(Yo,e))},cuid2(e){return this.check(ji(Xo,e))},ulid(e){return this.check(Mi(Zo,e))},base64(e){return this.check(zi(is,e))},base64url(e){return this.check(Bi(as,e))},xid(e){return this.check(Ni(Qo,e))},ksuid(e){return this.check(Pi($o,e))},ipv4(e){return this.check(Fi(es,e))},ipv6(e){return this.check(Ii(ts,e))},cidrv4(e){return this.check(Li(ns,e))},cidrv6(e){return this.check(Ri(rs,e))},e164(e){return this.check(Vi(os,e))},datetime(e){return this.check(Ui(zo,e))},date(e){return this.check(Wi(Bo,e))},time(e){return this.check(Gi(Vo,e))},duration(e){return this.check(Ki(Ho,e))}});function U(e){return bi(Ro,e)}var W=D(`ZodStringFormat`,(e,t)=>{N.init(e,t),Lo.init(e,t)}),zo=D(`ZodISODateTime`,(e,t)=>{Bn.init(e,t),W.init(e,t)}),Bo=D(`ZodISODate`,(e,t)=>{Vn.init(e,t),W.init(e,t)}),Vo=D(`ZodISOTime`,(e,t)=>{Hn.init(e,t),W.init(e,t)}),Ho=D(`ZodISODuration`,(e,t)=>{Un.init(e,t),W.init(e,t)}),Uo=D(`ZodEmail`,(e,t)=>{wn.init(e,t),W.init(e,t)}),Wo=D(`ZodGUID`,(e,t)=>{Sn.init(e,t),W.init(e,t)}),Go=D(`ZodUUID`,(e,t)=>{Cn.init(e,t),W.init(e,t)}),Ko=D(`ZodURL`,(e,t)=>{Mn.init(e,t),W.init(e,t)}),qo=D(`ZodEmoji`,(e,t)=>{Nn.init(e,t),W.init(e,t)}),Jo=D(`ZodNanoID`,(e,t)=>{Pn.init(e,t),W.init(e,t)}),Yo=D(`ZodCUID`,(e,t)=>{Fn.init(e,t),W.init(e,t)}),Xo=D(`ZodCUID2`,(e,t)=>{In.init(e,t),W.init(e,t)}),Zo=D(`ZodULID`,(e,t)=>{Ln.init(e,t),W.init(e,t)}),Qo=D(`ZodXID`,(e,t)=>{Rn.init(e,t),W.init(e,t)}),$o=D(`ZodKSUID`,(e,t)=>{zn.init(e,t),W.init(e,t)}),es=D(`ZodIPv4`,(e,t)=>{Wn.init(e,t),W.init(e,t)}),ts=D(`ZodIPv6`,(e,t)=>{qn.init(e,t),W.init(e,t)}),ns=D(`ZodCIDRv4`,(e,t)=>{Jn.init(e,t),W.init(e,t)}),rs=D(`ZodCIDRv6`,(e,t)=>{Xn.init(e,t),W.init(e,t)}),is=D(`ZodBase64`,(e,t)=>{$n.init(e,t),W.init(e,t)}),as=D(`ZodBase64URL`,(e,t)=>{nr.init(e,t),W.init(e,t)}),os=D(`ZodE164`,(e,t)=>{rr.init(e,t),W.init(e,t)}),ss=D(`ZodJWT`,(e,t)=>{ar.init(e,t),W.init(e,t)}),cs=D(`ZodNumber`,(e,t)=>{or.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qa(e,t,n,r),e.isFinite=!0},Ae({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=B(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=B(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=B(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>B(e).format??null},{gt(e,t){return this.check(ea(e,t))},gte(e,t){return this.check(ta(e,t))},min(e,t){return this.check(ta(e,t))},lt(e,t){return this.check(Qi(e,t))},lte(e,t){return this.check($i(e,t))},max(e,t){return this.check($i(e,t))},int(e){return this.check(us(e))},safe(e){return this.check(us(e))},positive(e){return this.check(ea(0,e))},nonnegative(e){return this.check(ta(0,e))},negative(e){return this.check(Qi(0,e))},nonpositive(e){return this.check($i(0,e))},multipleOf(e,t){return this.check(na(e,t))},step(e,t){return this.check(na(e,t))},finite(){return this}}));function G(e){return qi(cs,e)}var ls=D(`ZodNumberFormat`,(e,t)=>{sr.init(e,t),cs.init(e,t)});function us(e){return Ji(ls,e)}var ds=D(`ZodBoolean`,(e,t)=>{cr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ja(e,t,n,r)});function K(e){return Yi(ds,e)}var fs=D(`ZodUnknown`,(e,t)=>{lr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function ps(){return Xi(fs)}var ms=D(`ZodNever`,(e,t)=>{ur.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ya(e,t,n,r)});function hs(e){return Zi(ms,e)}var gs=D(`ZodArray`,(e,t)=>{Io(),fr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>to(e,t,n,r),e.element=t.element},{min(e,t){return this.check(ia(e,t))},nonempty(e){return this.check(ia(1,e))},max(e,t){return this.check(ra(e,t))},length(e,t){return this.check(aa(e,t))},unwrap(){return this.element}});function q(e,t){return _a(gs,e,t)}var _s=D(`ZodObject`,(e,t)=>{Io(),vr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ro(e,t,n,r),Fe(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return Y(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(h(this._zod.def,{catchall:e}))},passthrough(){return this.clone(h(this._zod.def,{catchall:ps()}))},loose(){return this.clone(h(this._zod.def,{catchall:ps()}))},strict(){return this.clone(h(this._zod.def,{catchall:hs()}))},strip(){return this.clone(h(this._zod.def,{catchall:void 0}))},extend(e){return he(this,e)},safeExtend(e){return _e(this,e)},merge(e){return ve(this,e)},pick(e){return fe(this,e)},omit(e){return me(this,e)},partial(...e){return ye(As,this,e[0])},exactPartial(...e){return ye(Ms,this,e[0],`exactPartial`)},required(...e){return be(Bs,this,e[0])}});function J(e,t){return new _s({type:`object`,shape:e??{},...y(t)})}var vs=D(`ZodUnion`,(e,t)=>{br.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>io(e,t,n,r),e.options=t.options});function ys(e,t){return new vs({type:`union`,options:e,...y(t)})}var bs=D(`ZodDiscriminatedUnion`,(e,t)=>{vs.init(e,t),Sr.init(e,t)});function xs(e,t,n){return new bs({type:`union`,options:t,discriminator:e,...y(n)})}var Ss=D(`ZodIntersection`,(e,t)=>{Cr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ao(e,t,n,r)});function Cs(e,t){return new Ss({type:`intersection`,left:e,right:t})}var ws=D(`ZodRecord`,(e,t)=>{Io(),Er.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lo(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Ts(e,t,n){return!t||!t._zod?new ws({type:`record`,keyType:U(),valueType:e,...y(t)}):new ws({type:`record`,keyType:e,valueType:t,...y(n)})}var Es=D(`ZodEnum`,(e,t)=>{Dr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xa(e,t,n,r),e.enum=t.entries,e.options=[...e._zod.values];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 Es({...t,checks:[],...y(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 Es({...t,checks:[],...y(r),entries:i})}});function Y(e,t){return new Es({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...y(t)})}var Ds=D(`ZodLiteral`,(e,t)=>{Or.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Za(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function X(e,t){return new Ds({type:`literal`,values:Array.isArray(e)?e:[e],...y(t)})}var Os=D(`ZodTransform`,(e,t)=>{Io(),kr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>eo(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new He(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(De(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(De(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function ks(e){return new Os({type:`transform`,transform:e})}var As=D(`ZodOptional`,(e,t)=>{jr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function js(e){return new As({type:`optional`,innerType:e})}var Ms=D(`ZodExactOptional`,(e,t)=>{Mr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ns(e){return new Ms({type:`optional`,innerType:e})}var Ps=D(`ZodNullable`,(e,t)=>{Nr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Fs(e){return new Ps({type:`nullable`,innerType:e})}var Is=D(`ZodDefault`,(e,t)=>{Pr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ho(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Ls(e,t){return new Is({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():ae(t)}})}var Rs=D(`ZodPrefault`,(e,t)=>{Ir.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>go(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function zs(e,t){return new Rs({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():ae(t)}})}var Bs=D(`ZodNonOptional`,(e,t)=>{Lr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Vs(e,t){return new Bs({type:`nonoptional`,innerType:e,...y(t)})}var Hs=D(`ZodCatch`,(e,t)=>{Br.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_o(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Us(e,t){return new Hs({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:Le(t)})}var Ws=D(`ZodPipe`,(e,t)=>{Vr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vo(e,t,n,r),e.in=t.in,e.out=t.out});function Gs(e,t){return new Ws({type:`pipe`,in:e,out:t})}var Ks=D(`ZodReadonly`,(e,t)=>{Ur.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function qs(e){return new Ks({type:`readonly`,innerType:e})}var Js=D(`ZodTemplateLiteral`,(e,t)=>{qr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qa(e,t,n,r)});function Ys(e,t){return new Js({type:`template_literal`,parts:e,...y(t)})}var Xs=D(`ZodCustom`,(e,t)=>{Jr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$a(e,t,n,r)});function Zs(e,t={}){return va(Xs,e,t)}function Qs(e,t){return ya(e,t)}var Z=J({description:U().max(1024).optional(),edit:Y([`inline`,`popout`]).optional(),id:U().min(1).max(64).regex(/^[a-z][a-z0-9_]*$/,`column id must be a lowercase slug (a-z, 0-9, _)`),name:U().min(1).max(128),required:K().optional()}),$s=Y([`integer`,`decimal`,`percent`,`currency`]),ec=J({currency:U().regex(/^[A-Z]{3}$/,`currency must be an ISO 4217 code`).optional(),fractionDigits:G().int().min(0).max(8).optional(),grouping:K().optional(),style:$s}).superRefine((e,t)=>{e.style===`currency`&&!e.currency&&t.addIssue({code:`custom`,message:`currency style needs an ISO 4217 code`,path:[`currency`]}),e.style!==`currency`&&e.currency&&t.addIssue({code:`custom`,message:`currency is only valid on currency columns`,path:[`currency`]})}),tc=Y([`date`,`datetime`,`time`]),nc=Y([`short`,`medium`,`long`,`iso`]),rc=Y([`hours`,`minutes`,`seconds`]),ic=J({dateStyle:nc.optional(),kind:tc,timePrecision:rc.optional()}),ac=Y([`milliseconds`,`seconds`,`minutes`,`hours`,`days`]),oc=Y([`hms`,`hours`,`minutes`,`decimal-hours`,`iso`]),sc=J({display:oc,inputUnit:ac}),cc=J({id:U().min(1).max(64),label:U().min(1).max(128)}),lc=J({allowCustom:K(),multiple:K().optional(),options:q(cc).max(200)}),uc=J({style:Y([`single`,`multiline`,`markdown`]).default(`single`)}),dc=q(xs(`type`,[Z.extend({format:uc.optional(),type:X(`text`)}),Z.extend({format:ec,type:X(`number`)}),Z.extend({format:ic,type:X(`date`)}),Z.extend({format:sc,type:X(`duration`)}),Z.extend({format:lc,type:X(`select`)}),Z.extend({type:X(`boolean`)})])).min(1).max(64).superRefine((e,t)=>{let n=new Set;for(let r=0;r<e.length;r++){let i=e[r]?.id;i&&(n.has(i)&&t.addIssue({code:`custom`,message:`duplicate column id "${i}"`,path:[r,`id`]}),n.add(i))}});J({description:U().optional(),edit:Y([`inline`,`popout`]).optional(),format:J({allowCustom:K().optional(),currency:U().optional(),dateStyle:Y([`short`,`medium`,`long`,`iso`]).optional(),display:oc.optional(),fractionDigits:G().int().optional(),grouping:K().optional(),inputUnit:ac.optional(),kind:tc.optional(),multiple:K().optional(),options:q(cc).optional(),style:Y([`single`,`multiline`,`markdown`,`integer`,`decimal`,`percent`,`currency`]).optional(),timePrecision:rc.optional()}).optional(),id:U(),name:U(),required:K().optional(),type:Y([`text`,`number`,`date`,`duration`,`select`,`boolean`])}),J({table_id:U().uuid()});var fc=[`mail`],pc=[`round`,`drop`,`dome`,`flame`,`oval`,`bean`,`pebble`,`sprout`,`tower`,`wedge`],mc=[`text`,`textarea`,`number`,`select`,`multiselect`,`date`,`email`,`url`,`toggle`,`color`,`image`,`file`,`items`,`connection`,`list`,`location`,`audio`,`signature`];function hc(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let{lat:t,lng:n,label:r}=e;return typeof t==`number`&&typeof n==`number`||typeof r==`string`&&r.trim().length>0}function gc(e){return!!(e&&typeof e==`object`&&typeof e.asset==`string`&&e.asset)}var _c=[`web_search`,`web_fetch`,`browser`,`sandbox`,`image`,`http`,`pages`],vc=/^[a-z][a-z0-9-]{0,39}$/,yc=/^[a-z][a-z0-9_]{0,39}$/,bc=[`classifier`,`standard`,`high`,`highest`],xc=[...bc,`image`,`video`,`audio`,`speech`],Sc=[`low`,`medium`,`high`],Cc=[`image`,`video`,`voice`,`document`,`dashboard`],wc=[`png`,`mp4`,`mp3`,`pdf`,`docx`,`html`,`md`,`txt`,`csv`,`xlsx`,`json`,`zip`],Tc=[`1:1`,`16:9`,`9:16`,`4:5`,`3:2`,`2:3`],Ec=[`720p`,`480p`],Q=U().regex(/^[a-zA-Z][a-zA-Z0-9_]{0,40}$/,`ids are letters, digits and _ and start with a letter`),Dc=J({id:Q,label:U().min(1),kind:Y([`text`,`number`,`money`])}),Oc=J({id:Q,label:U().min(1),kind:Y(mc),required:K().optional(),placeholder:U().optional(),help:U().optional(),options:q(U()).optional(),default:ys([U(),G(),K(),q(U())]).optional(),columns:q(Dc).optional(),vat:J({rate:G().optional(),field:U().optional()}).optional(),currency:U().optional(),multiple:K().optional(),min:G().int().min(1).max(30).optional(),max:G().int().min(1).max(30).optional(),camera:K().optional(),video:K().optional(),scan:K().optional(),connection:U().optional(),list:U().optional(),prefill:U().optional()}),kc=J({when:J({field:U(),op:Y([`equals`,`notEquals`,`in`,`notEmpty`,`empty`]),value:ys([U(),G(),K(),q(U())]).optional()}),goto:U()}),$={id:Q,title:U().min(1),description:U().optional(),next:q(kc).optional()},Ac=J({id:Q,kind:Y([`text`,`number`,`list`,`table`,`yesno`,`choice`]),description:U().optional(),columns:q(U().min(1)).optional(),options:q(U().min(1)).min(2).max(40).optional()}).refine(e=>e.kind!==`choice`||!!e.options?.length,{message:`A choice field lists its options.`,path:[`options`]}),jc=J({...$,type:X(`page`),fields:q(Oc).min(1),cta:U().optional()}),Mc=J({...$,type:X(`agent`),instructions:U().min(1),tools:q(ys([Y(_c),Ys([U().regex(vc),`.`,U().regex(yc)])])).default([]),mcp:q(U()).optional(),connections:q(U()).optional(),output:J({format:Y([`text`,`markdown`,`json`]),fields:q(Ac).optional()}).default({format:`markdown`}),model:Y(bc).optional(),effort:Y(Sc).optional(),working:U().optional()}),Nc=J({...$,type:X(`generate`),asset:Y(Cc),prompt:U().min(1),options:J({aspectRatio:Y(Tc).optional(),duration:G().optional(),resolution:Y(Ec).optional(),style:U().optional(),template:Y([`invoice`,`offer`,`briefing`,`letter`,`report`,`free`]).optional()}).optional(),referenceImage:U().optional(),each:U().optional(),model:Y(bc).optional(),effort:Y(Sc).optional(),working:U().optional()}),Pc=J({...$,type:X(`widget`),entry:U().min(1),data:Ts(U(),U()).default({}),sample:U().optional(),size:J({width:G().int().min(200).max(3840),height:G().int().min(200).max(3840)}).optional(),video:K().optional(),working:U().optional()}),Fc=J({...$,type:X(`review`),show:q(U()).min(1),edit:K().optional(),regenerate:K().optional()}),Ic=J({from:U(),label:U().optional(),formats:q(Y(wc)).min(1)}),Lc=xs(`type`,[jc,Mc,Nc,Pc,Fc,J({...$,type:X(`result`),message:U().optional(),deliverables:q(Ic)})]),Rc=J({id:Q,title:U().min(1),description:U().optional(),columns:dc,key:U().optional(),check:J({file:U().optional(),status:U().optional()}).optional(),shared:K().optional()}),zc=J({id:Q,kind:Y(fc).optional(),connector:U().optional(),actions:q(U()).max(200).optional(),policy:Ts(U(),Y([`allow`,`ask`])).optional(),title:U().optional(),description:U().optional()});J({version:X(1).default(1),title:U().min(1),description:U().default(``),avatar:Y(pc).default(`round`),intro:U().optional(),lists:q(Rc).max(12).optional(),connections:q(zc).max(12).optional(),steps:q(Lc).min(1)});function Bc(e){if(e.type===`generate`)switch(e.asset){case`image`:return e.each?[`png`,`zip`]:[`png`];case`video`:return e.each?[`mp4`,`zip`]:[`mp4`];case`voice`:return[`mp3`];case`document`:return[`pdf`,`docx`,`html`,`md`,`png`];case`dashboard`:return[`html`,`pdf`,`png`]}return e.type===`widget`?e.video?[`mp4`,`png`]:[`html`,`png`,`pdf`,`mp4`,`json`]:e.type===`agent`?e.output.format===`json`?[`json`,`csv`,`xlsx`,`md`,`zip`]:[`md`,`txt`,`docx`,`pdf`,`html`,`zip`]:[]}function Vc(e,t,n){let r=Array.isArray(t)?t:[],i=(e.columns??[]).filter(e=>e.kind!==`text`),a=r.map(e=>{let t=i.length?i.reduce((t,n)=>t*Hc(e[n.id]),1):0;return{...e,amount:Uc(t)}}),o=Uc(a.reduce((e,t)=>e+t.amount,0)),s=e.vat?.rate??0;if(e.vat?.field){let t=n[e.vat.field],r=Number.parseFloat(String(t??``).replace(`,`,`.`));Number.isFinite(r)&&(s=r)}let c=Uc(o*s/100);return{rows:a,net:o,vatRate:s,vat:c,gross:Uc(o+c),currency:e.currency??`EUR`}}function Hc(e){let t=Number(typeof e==`string`?e.replace(/\s/g,``).replace(`,`,`.`):e);return Number.isFinite(t)?t:0}function Uc(e){return Math.round(e*100)/100}export{xc as a,Ec as c,hc as d,Vc as f,mc as i,Bc as l,Sc as n,bc as o,pc as r,_c as s,Tc as t,gc as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-q3MZMmnf.js";var t={name:`image`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]};t.node;var n=e(t);export{n as t};
|