@engenty/wizards-runtime 0.7.11 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/apps/runtime/dist/authoring/guide.js +14 -2
- package/apps/runtime/dist/cli/exec.js +4 -1
- package/apps/runtime/dist/connectors/builtin.js +4 -2
- package/apps/runtime/dist/connectors/index.js +35 -4
- package/apps/runtime/dist/connectors/smtp.js +221 -0
- package/apps/runtime/dist/db/migrations/tenant/0018_share_job.sql +18 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0018_snapshot.json +3460 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/_journal.json +7 -0
- package/apps/runtime/dist/db/schema.js +19 -0
- package/apps/runtime/dist/docs/dev/index.md +25 -13
- package/apps/runtime/dist/docs/dev/meta.json +8 -2
- package/apps/runtime/dist/docs/dev/wizard-format/agent-steps.md +112 -0
- package/apps/runtime/dist/docs/dev/wizard-format/branches.md +63 -0
- package/apps/runtime/dist/docs/dev/wizard-format/film-steps.md +47 -0
- package/apps/runtime/dist/docs/dev/wizard-format/generate-steps.md +57 -0
- package/apps/runtime/dist/docs/dev/wizard-format/index.md +188 -0
- package/apps/runtime/dist/docs/dev/wizard-format/lists-and-connections.md +65 -0
- package/apps/runtime/dist/docs/dev/wizard-format/meta.json +19 -0
- package/apps/runtime/dist/docs/dev/wizard-format/pages-and-fields.md +102 -0
- package/apps/runtime/dist/docs/dev/wizard-format/review-and-result.md +64 -0
- package/apps/runtime/dist/docs/dev/wizard-format/templates.md +57 -0
- package/apps/runtime/dist/docs/dev/wizard-format/validate.md +63 -0
- package/apps/runtime/dist/docs/dev/wizard-format/views-and-widgets.md +103 -0
- package/apps/runtime/dist/docs/dev/wizard-format/wizard-file.md +147 -0
- package/apps/runtime/dist/docs/user/run.md +21 -4
- package/apps/runtime/dist/docs/user/steps.md +26 -1
- package/apps/runtime/dist/docs/user/test-and-share.md +3 -2
- package/apps/runtime/dist/engine/requirements.js +22 -7
- package/apps/runtime/dist/engine/runner.js +17 -8
- package/apps/runtime/dist/env.js +5 -0
- package/apps/runtime/dist/harness/antigravity.js +2 -10
- package/apps/runtime/dist/harness/claude.js +2 -10
- package/apps/runtime/dist/harness/codex.js +5 -11
- package/apps/runtime/dist/harness/cursor.js +2 -10
- package/apps/runtime/dist/harness/env.js +23 -0
- package/apps/runtime/dist/harness/index.js +6 -3
- package/apps/runtime/dist/routes/runs.js +106 -6
- package/apps/runtime/dist/routes/studio.js +12 -0
- package/apps/runtime/dist/sharing/agent.js +65 -0
- package/apps/runtime/dist/sharing/files.js +121 -0
- package/apps/runtime/dist/sharing/index.js +298 -0
- package/apps/runtime/dist/sharing/jobs.js +186 -0
- package/apps/runtime/dist/sharing/state.js +116 -0
- package/apps/runtime/dist/sharing/targets/browser.js +131 -0
- package/apps/runtime/dist/sharing/targets/connector.js +63 -0
- package/apps/runtime/dist/sharing/targets/email.js +98 -0
- package/apps/runtime/dist/sharing/targets/slack.js +54 -0
- package/apps/runtime/dist/sharing/targets/storage.js +164 -0
- package/apps/runtime/dist/sharing/types.js +13 -0
- package/apps/runtime/dist/texts.js +108 -0
- package/apps/runtime/dist/tools/browser.js +48 -0
- package/apps/runtime/dist/tools/connector.js +3 -2
- package/apps/runtime/dist/tools/store.js +18 -1
- package/apps/web/dist/assets/AboutDialog-CiiSwL4t.js +1 -0
- package/apps/web/dist/assets/{ChangelogDialog-CZrd-MgC.js → ChangelogDialog-BEyz7LNE.js} +1 -1
- package/apps/web/dist/assets/ChatView-9RkWts5F.js +10 -0
- package/apps/web/dist/assets/EditorPage-CCsKKcYo.js +4 -0
- package/apps/web/dist/assets/{FlowPreview-oX_Emm7u.js → FlowPreview-CLf8WHiG.js} +1 -1
- package/apps/web/dist/assets/{Harness-DiB8CBdY.js → Harness-jc3jpWvI.js} +2 -2
- package/apps/web/dist/assets/NewWizardChannels-BPGZ4pfP.js +1 -0
- package/apps/web/dist/assets/NewWizardPage-tidycL7Y.js +7 -0
- package/apps/web/dist/assets/OnboardingPage-DtVuaIuv.js +1 -0
- package/apps/web/dist/assets/ProjectPage-BsWgCP5z.js +1 -0
- package/apps/web/dist/assets/PublicRunner-CkA_etKX.js +1 -0
- package/apps/web/dist/assets/{ReadOnly-CD5YWvrW.js → ReadOnly-BVwbqvpi.js} +1 -1
- package/apps/web/dist/assets/RunDrawer-CkFpnWCC.js +4 -0
- package/apps/web/dist/assets/{RunnerView-BW1h4x63.js → RunnerView-CxTFM-lx.js} +1 -1
- package/apps/web/dist/assets/SettingsPage-DM1wNAE7.js +1 -0
- package/apps/web/dist/assets/SetupPage-BKnQqiab.js +1 -0
- package/apps/web/dist/assets/{SharePage-B6u9kS12.js → SharePage-CTTSudtp.js} +1 -1
- package/apps/web/dist/assets/changelog-DBEwyB1f.js +1 -0
- package/apps/web/dist/assets/{esm-C-ZWeuhU.js → esm-DtNAg8uF.js} +1 -1
- package/apps/web/dist/assets/index-V1M59Yez.css +1 -0
- package/apps/web/dist/assets/index-xIz8znhq.js +14 -0
- package/apps/web/dist/assets/{oss-credits-Bc05Qv5H.js → oss-credits-BWE03Xax.js} +1 -1
- package/apps/web/dist/assets/{phone-BjmhIKuT.js → phone-5SYD9OrJ.js} +1 -1
- package/apps/web/dist/assets/{settings-menu-Dpkp3f56.js → settings-menu-Bn5-7Lqk.js} +1 -1
- package/apps/web/dist/assets/ui-s39eGOtW.js +137 -0
- package/apps/web/dist/assets/{upload-JX9BcMTq.js → upload-Bevcvx5V.js} +1 -1
- package/apps/web/dist/assets/{wrench-BSxnPs2_.js → wrench-ZD5SCsz9.js} +1 -1
- package/apps/web/dist/index.html +3 -3
- package/apps/web/dist/mcp/flow.html +53 -53
- package/node_modules/@engenty-wizards/shared/dist/definition.d.ts +22 -0
- package/node_modules/@engenty-wizards/shared/dist/definition.js +26 -0
- package/node_modules/@engenty-wizards/shared/dist/run.d.ts +6 -0
- package/node_modules/@engenty-wizards/shared/dist/run.js +2 -0
- package/node_modules/@engenty-wizards/shared/dist/sharing.d.ts +135 -0
- package/node_modules/@engenty-wizards/shared/dist/sharing.js +11 -0
- package/node_modules/@engenty-wizards/shared/dist/store.d.ts +8 -0
- package/package.json +2 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/apps/runtime/dist/docs/dev/wizard-format.md +0 -125
- package/apps/web/dist/assets/AboutDialog-CPRAlD2H.js +0 -1
- package/apps/web/dist/assets/ChatView-DVeERQdi.js +0 -10
- package/apps/web/dist/assets/EditorPage-DhUoKcss.js +0 -4
- package/apps/web/dist/assets/NewWizardChannels-Ba3XGpro.js +0 -1
- package/apps/web/dist/assets/NewWizardPage-C2Oh2sMM.js +0 -7
- package/apps/web/dist/assets/OnboardingPage-D_4ShWrL.js +0 -1
- package/apps/web/dist/assets/ProjectPage-C58rq50b.js +0 -1
- package/apps/web/dist/assets/PublicRunner-CE0ohzyd.js +0 -1
- package/apps/web/dist/assets/RunDrawer-Cd8-qHV7.js +0 -4
- package/apps/web/dist/assets/SettingsPage-ChYLv-MG.js +0 -1
- package/apps/web/dist/assets/SetupPage-hX7deF0g.js +0 -1
- package/apps/web/dist/assets/changelog-Dn9LT4MS.js +0 -1
- package/apps/web/dist/assets/index-4jH2mkp7.js +0 -14
- package/apps/web/dist/assets/index-BwW652E-.css +0 -1
- package/apps/web/dist/assets/ui-DMmT-cSO.js +0 -137
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./jsx-runtime-BNakU3Ej.js";import{$ as r,$n as i,$t as a,Bt as o,Cn as s,Cr as c,Ct as l,Dn as u,Dr as d,En as f,Er as p,Fn as m,Fr as h,Ft as g,Gn as _,Gr as v,Gt as y,Hn as b,Hr as ee,Ht as x,In as S,It as C,Kn as w,Kt as T,Ln as E,Mr as te,Mt as D,Nn as O,Nr as k,Nt as ne,On as re,Pn as ie,Pt as ae,Qn as oe,Qt as A,Rn as se,Rt as j,Sn as ce,St as le,Tn as ue,Tr as de,Un as fe,Ur as pe,Ut as M,Vr as me,Vt as N,W as P,Wr as he,Wt as ge,Yn as F,Yt as I,Zt as L,an as R,ar as _e,dn as ve,dr as ye,dt as be,en as z,fn as xe,fr as Se,gi as B,gr as Ce,hn as V,ir as H,jn as we,jr as Te,jt as Ee,kn as De,kr as Oe,kt as ke,mn as Ae,mt as U,nr as je,pn as Me,qn as Ne,qt as Pe,rr as Fe,tr as Ie,ut as Le,wn as Re,wr as ze,xn as Be,xr as W,xt as Ve,yr as He,zn as G,zt as K}from"./ui-DMmT-cSO.js";import{a as Ue,b as We,c as Ge,i as Ke,l as qe,r as Je,t as Ye}from"./RunDrawer-Cd8-qHV7.js";import{n as Xe,r as Ze,t as Qe}from"./wrench-BSxnPs2_.js";import{t as $e}from"./ChatView-DVeERQdi.js";import{l as et,n as tt,o as nt,r as rt,s as it,t as at}from"./NewWizardChannels-Ba3XGpro.js";import{t as ot}from"./upload-JX9BcMTq.js";import{A as st,C as ct,Ct as lt,E as ut,F as dt,Ft as ft,It as pt,Jt as mt,Kt as ht,Lt as gt,M as _t,O as vt,Qt as yt,Rt as bt,S as xt,T as St,Wt as Ct,Yt as wt,Zt as Tt,a as Et,an as q,bt as Dt,ct as Ot,en as kt,g as At,in as jt,j as Mt,k as Nt,kt as Pt,mt as Ft,n as It,nn as Lt,nt as Rt,o as zt,pt as Bt,qt as Vt,rn as Ht,rt as Ut,tt as Wt,w as Gt,x as Kt,yt as qt}from"./index-4jH2mkp7.js";import{t as Jt}from"./RunnerView-BW1h4x63.js";import{a as Yt,c as Xt,i as Zt,l as Qt,o as $t,r as en,s as tn,t as nn}from"./esm-C-ZWeuhU.js";var rn={name:`calendar-clock`,size:24,node:[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v3`,key:`otl347`}],[`path`,{d:`M21 7.338V5a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2h2.338`,key:`7hb8p4`}],[`path`,{d:`M3 9h5.859`,key:`numkqi`}],[`path`,{d:`M8 2v3`,key:`1ioesn`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]};rn.node;var an=k(rn),on={name:`circle-check`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]],aliases:[`check-circle-2`]};on.node;var sn=k(on),cn={name:`circle-minus`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]],aliases:[`minus-circle`]};cn.node;var ln=k(cn),un={name:`code-xml`,size:24,node:[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]],aliases:[`code-2`]};un.node;var dn=k(un),fn={name:`code`,size:24,node:[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]};fn.node;var pn=k(fn),mn={name:`file-braces`,size:24,node:[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`1oajmo`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`mpwhp6`}]],aliases:[`file-json`]};mn.node;var hn=k(mn),gn={name:`file-code-corner`,size:24,node:[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]],aliases:[`file-code-2`]};gn.node;var _n=k(gn),vn={name:`git-merge`,size:24,node:[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]};vn.node;var yn=k(vn),bn={name:`info`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]};bn.node;var xn=k(bn),Sn={name:`minus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]};Sn.node;var Cn=k(Sn),wn={name:`play`,size:24,node:[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]};wn.node;var Tn=k(wn),En={name:`qr-code`,size:24,node:[[`rect`,{width:`5`,height:`5`,x:`3`,y:`3`,rx:`1`,key:`1tu5fj`}],[`rect`,{width:`5`,height:`5`,x:`16`,y:`3`,rx:`1`,key:`1v8r4q`}],[`rect`,{width:`5`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`1x03jg`}],[`path`,{d:`M21 16h-3a2 2 0 0 0-2 2v3`,key:`177gqh`}],[`path`,{d:`M21 21v.01`,key:`ents32`}],[`path`,{d:`M12 7v3a2 2 0 0 1-2 2H7`,key:`8crl2c`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M12 3h.01`,key:`n36tog`}],[`path`,{d:`M12 16v.01`,key:`133mhm`}],[`path`,{d:`M16 12h1`,key:`1slzba`}],[`path`,{d:`M21 12v.01`,key:`1lwtk9`}],[`path`,{d:`M12 21v-1`,key:`1880an`}]]};En.node;var Dn=k(En),On={name:`scan`,size:24,node:[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}]]};On.node;var kn=k(On),An={name:`workflow`,size:24,node:[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]};An.node;var jn=k(An),J=e(t(),1),Y=e(n(),1),Mn=[`auto`,`page`,`agent`,`generate`,`surface`,`widget`],Nn=[`page`,`agent`,`generate`,`widget`],Pn={auto:oe,page:ht,agent:Ht,generate:wt,surface:Vt,widget:jt},Fn=e=>R(e===`auto`?`addStep.auto`:`type.${e}`);function In(e,t){let n=e.steps[t-1],r=e.steps[t];return n&&r?R(`addStep.between`,{before:n.title,after:r.title}):n?R(`addStep.after`,{title:n.title}):R(`addStep.first`,{title:r?.title??``})}function Ln(e,{at:t,kind:n,prompt:r,when:i}){let a=In(e,t);return`${n===`auto`?R(`addStep.message`,{place:a}):R(`addStep.messageAs`,{place:a,kind:Fn(n)})}${i?`\n${R(i.mode===`if`?`addStep.messageIf`:`addStep.messageAsk`,{text:i.text.trim(),from:e.steps[t-1]?.title??``})}`:``}\n${r.trim()}`}function Rn({place:e,branchable:t,onAdd:n,onEmpty:r,onCancel:i}){let[a,o]=(0,J.useState)(`auto`),[s,c]=(0,J.useState)(``),[l,u]=(0,J.useState)(null),[d,f]=(0,J.useState)(!1),[p,m]=(0,J.useState)(`always`),[h,g]=(0,J.useState)(``),_=(0,J.useRef)(null);(0,J.useEffect)(()=>_.current?.focus(),[]);let v=()=>{if(!s.trim()){u(R(`addStep.empty`));return}if(p!==`always`&&!h.trim()){u(R(`addStep.whenEmpty`));return}n(a,s,p===`always`?void 0:{mode:p,text:h})||u(R(`addStep.busy`))};return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl bg-card p-4 ring-1 ring-border`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`p`,{className:`font-medium text-[0.875rem]`,children:R(`addStep.title`)}),(0,Y.jsx)(`p`,{className:`text-[0.75rem] text-ink-3`,children:e})]}),(0,Y.jsx)(L,{ref:_,minRows:3,maxRows:10,"aria-label":R(`addStep.title`),placeholder:R(`addStep.placeholder`),value:s,onChange:e=>{c(e.target.value),u(null)},onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)?(e.preventDefault(),v()):e.key===`Escape`&&i()}}),l?(0,Y.jsx)(`p`,{className:`-mt-1.5 text-[0.75rem] text-rose`,children:l}):null,(0,Y.jsx)(`fieldset`,{className:`flex flex-wrap gap-1.5`,"aria-label":R(`addStep.kind`),children:Mn.map(e=>{let t=Pn[e];return(0,Y.jsxs)(`button`,{type:`button`,"aria-pressed":a===e,onClick:()=>o(e),className:A(`inline-flex h-8 items-center gap-1.5 whitespace-nowrap rounded-full px-3 text-[0.75rem] ring-1 transition`,a===e?`bg-ember-tint text-ember-strong ring-ember/40`:`text-ink-2 ring-border hover:bg-accent`),children:[(0,Y.jsx)(t,{className:`size-3.5`}),` `,Fn(e)]},e)})}),t?(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsxs)(`fieldset`,{className:`flex flex-wrap items-center gap-1.5`,"aria-label":R(`addStep.when`),children:[(0,Y.jsx)(`span`,{className:`mr-1 text-[0.75rem] text-ink-3`,children:R(`addStep.when`)}),[`always`,`if`,`ask`].map(e=>(0,Y.jsx)(`button`,{type:`button`,"aria-pressed":p===e,onClick:()=>{m(e),u(null)},className:A(`inline-flex h-7 items-center whitespace-nowrap rounded-full px-3 text-[0.75rem] ring-1 transition`,p===e?`bg-ember-tint text-ember-strong ring-ember/40`:`text-ink-2 ring-border hover:bg-accent`),children:R(e===`always`?`addStep.always`:e===`if`?`addStep.onlyIf`:`addStep.aiDecides`)},e))]}),p===`always`?null:(0,Y.jsx)(x,{"aria-label":R(p===`if`?`addStep.onlyIf`:`addStep.aiDecides`),placeholder:R(p===`if`?`addStep.ifPlaceholder`:`addStep.askPlaceholder`),value:h,onChange:e=>{g(e.target.value),u(null)}})]}):null,(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[r?(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsxs)(`button`,{type:`button`,"aria-expanded":d,onClick:()=>f(e=>!e),className:`inline-flex h-8 items-center gap-1 rounded-full px-2 text-[0.75rem] text-ink-3 hover:bg-accent hover:text-ink`,children:[R(`addStep.emptyStep`),` `,(0,Y.jsx)(de,{className:`size-3.5`})]}),d?(0,Y.jsx)(`div`,{className:`absolute bottom-full left-0 z-20 mb-1 flex min-w-40 flex-col rounded-xl bg-card p-1 shadow-elevated ring-1 ring-border`,children:Nn.map(e=>{let t=Pn[e];return(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>r(e),className:`inline-flex h-8 items-center gap-2 rounded-lg px-2.5 text-left text-[0.8125rem] text-ink-2 hover:bg-accent`,children:[(0,Y.jsx)(t,{className:`size-3.5`}),` `,Fn(e)]},e)})}):null]}):null,(0,Y.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,Y.jsx)(C,{variant:`ghost`,size:`sm`,onClick:i,children:R(`addStep.cancel`)}),(0,Y.jsxs)(C,{size:`sm`,onClick:v,children:[(0,Y.jsx)(oe,{className:`size-3.5`}),` `,R(`addStep.create`)]})]})]})]})}function zn({adding:e,place:t,working:n,onShowChat:r}){let i=Pn[e.kind];return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-xl border border-border-strong border-dashed bg-card p-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`inline-flex size-6 items-center justify-center rounded-md bg-paper-2 text-ink-3`,children:(0,Y.jsx)(i,{className:`size-3.5`})}),(0,Y.jsx)(`span`,{className:`font-medium text-[0.8125rem]`,children:R(`addStep.building`)})]}),(0,Y.jsx)(`p`,{className:`text-[0.75rem] text-ink-3`,children:t}),e.when?(0,Y.jsxs)(`p`,{className:`text-[0.75rem] text-ember-strong`,children:[R(e.when.mode===`if`?`addStep.onlyIf`:`addStep.aiDecides`),` `,e.when.text]}):null,(0,Y.jsx)(`p`,{className:`line-clamp-3 whitespace-pre-wrap text-[0.8125rem] text-ink-2`,children:e.prompt}),(0,Y.jsx)(`div`,{className:`text-[0.75rem] text-ink-3`,children:n}),r?(0,Y.jsxs)(`button`,{type:`button`,onClick:r,className:`inline-flex h-8 items-center gap-1.5 self-start rounded-full px-2.5 text-[0.75rem] text-ink-2 hover:bg-accent`,children:[(0,Y.jsx)(Ct,{className:`size-3.5`}),` `,R(`addStep.showChat`)]}):null]})}function Bn(e,t){let n=new Set([...e.steps.map(e=>e.id),...e.steps.flatMap(e=>e.type===`page`?e.fields.map(e=>e.id):[])]),r=1,i=t;for(;n.has(i);)r+=1,i=`${t}${r}`;return i}var Vn={page:e=>({id:e,type:`page`,title:R(`step.new.page`),fields:[{id:`${e}Text`,label:R(`step.new.question`),kind:`text`}]}),agent:e=>({id:e,type:`agent`,title:R(`step.new.agent`),instructions:R(`step.new.agentTask`),tools:[],output:{format:`markdown`}}),generate:e=>({id:e,type:`generate`,title:R(`step.new.image`),asset:`image`,prompt:R(`step.new.imagePrompt`)}),widget:e=>({id:e,type:`widget`,title:`Widget`,entry:`${e}/index.html`,data:{},sample:`${e}/sample.json`})};function Hn(e,t,n){let r=Bn(e,n===`page`?`page`:n===`agent`?`ai`:n===`widget`?`widget`:`generate`),i=[...e.steps];return i.splice(t,0,Vn[n](r)),{def:{...e,steps:i},id:r}}function Un(e){return e.mime.startsWith(`image/`)?wt:e.mime.includes(`json`)?hn:e.mime===`text/html`||e.mime.includes(`javascript`)||e.mime===`text/css`?_n:Ce}function Wn({wizardId:e,files:t,readOnly:n}){let r=B(),i=(0,J.useRef)(null),[a,o]=(0,J.useState)(!1),s=(0,J.useRef)(0),[c,l]=(0,J.useState)(!1),[u,d]=(0,J.useState)(null),f=`/api/studio/wizards/${e}/files`,p=()=>r.invalidateQueries({queryKey:[`wizard`,e]}),m=async e=>{if(e?.length){o(!0),d(null);try{for(let t of Array.from(e)){let e=await fetch(`${f}/${encodeURIComponent(t.name).replace(/%2F/g,`/`)}`,{method:`PUT`,credentials:`include`,headers:{"content-type":t.type||`application/octet-stream`,"accept-language":z},body:t});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??e.statusText)}}}catch(e){d(e.message)}finally{o(!1),await p()}}},h=async e=>{if(window.confirm(R(`files.confirmDelete`,{path:e}))){d(null);try{await P.del(`${f}/${e}`)}catch(e){d(e.message)}await p()}},g=t.reduce((e,t)=>e+t.size,0);return(0,Y.jsxs)(`div`,{className:`relative flex min-h-full flex-col px-5 py-5`,onDragEnter:e=>{!n&&e.dataTransfer.types.includes(`Files`)&&(e.preventDefault(),s.current+=1,l(!0))},onDragOver:e=>{!n&&e.dataTransfer.types.includes(`Files`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},onDragLeave:()=>{s.current=Math.max(0,s.current-1),s.current===0&&l(!1)},onDrop:e=>{e.preventDefault(),s.current=0,l(!1),n||m(e.dataTransfer.files)},children:[c?(0,Y.jsxs)(`div`,{className:`pointer-events-none absolute inset-3 z-10 flex flex-col items-center justify-center gap-2 rounded-2xl border-2 border-ember border-dashed bg-ember-veil text-[0.875rem] text-ember-strong`,children:[(0,Y.jsx)(ot,{className:`size-6`}),R(`files.drop`)]}):null,(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n?null:(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>i.current?.click(),className:`inline-flex h-9 items-center gap-1.5 rounded-full bg-paper-2 px-3.5 font-medium text-[0.8125rem] text-ink-2 hover:bg-paper-3 hover:text-ink`,children:[a?(0,Y.jsx)(Pe,{className:`size-3.5`}):(0,Y.jsx)(ot,{className:`size-3.5`}),R(`files.upload`)]}),(0,Y.jsx)(`span`,{className:`ml-auto text-[0.75rem] text-ink-4`,children:R(`files.count`,{n:t.length,size:_(g)})}),(0,Y.jsx)(`input`,{ref:i,type:`file`,multiple:!0,hidden:!0,onChange:e=>void m(e.target.files)})]}),u?(0,Y.jsx)(`div`,{className:`mt-3 rounded-lg bg-rose-tint px-3 py-2 text-[0.8125rem] text-rose`,children:u}):null,(0,Y.jsx)(`ul`,{className:`mt-4 flex flex-col`,children:t.map(e=>{let t=Un(e);return(0,Y.jsxs)(`li`,{className:`group flex items-center gap-3 rounded-lg px-2 py-1.5 hover:bg-paper-2`,children:[(0,Y.jsx)(t,{className:`size-4 shrink-0 text-ink-3`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[0.75rem]`,children:e.path}),(0,Y.jsx)(`span`,{className:`text-[0.75rem] text-ink-4 tabular-nums`,children:_(e.size)}),(0,Y.jsx)(`a`,{href:`${f}/${e.path}`,className:`inline-flex size-8 items-center justify-center rounded-full text-ink-3 opacity-0 hover:text-ink group-hover:opacity-100`,"aria-label":R(`files.download`),children:(0,Y.jsx)(He,{className:`size-4`})}),n?null:(0,Y.jsx)(N,{label:R(`files.delete`),className:`opacity-0 hover:text-rose group-hover:opacity-100`,onClick:()=>void h(e.path),children:(0,Y.jsx)(F,{className:`size-4`})})]},e.path)})}),t.length===0?(0,Y.jsx)(`div`,{className:`mt-6 rounded-xl border border-border border-dashed px-4 py-8 text-center text-[0.8125rem] text-ink-4`,children:R(n?`files.none`:`files.empty`)}):null,n?null:(0,Y.jsx)(`p`,{className:`mt-auto pt-6 text-[0.6875rem] text-ink-4 leading-relaxed`,children:R(`files.explain`)})]})}var Gn=Object.defineProperty,Kn=(e,t,n)=>t in e?Gn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,qn=(e,t)=>{for(var n in t)Gn(e,n,{get:t[n],enumerable:!0})},Jn=(e,t,n)=>Kn(e,typeof t==`symbol`?t:t+``,n),Yn={};qn(Yn,{Graph:()=>X,alg:()=>cr});var Xn=Object.defineProperty,Zn=(e,t)=>{for(var n in t)Xn(e,n,{get:t[n],enumerable:!0})},Qn=class{constructor(e){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},e&&(this._isDirected=`directed`in e?e.directed:!0,this._isMultigraph=`multigraph`in e&&e.multigraph,this._isCompound=`compound`in e&&e.compound),this._isCompound&&(this._parent={},this._children={},this._children[`\0`]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return this._defaultNodeLabelFn=typeof e==`function`?e:()=>e,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(e=>Object.keys(this._in[e]).length===0)}sinks(){return this.nodes().filter(e=>Object.keys(this._out[e]).length===0)}setNodes(e,t){return e.forEach(e=>{t===void 0?this.setNode(e):this.setNode(e,t)}),this}setNode(e,t){return e in this._nodes?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=`\0`,this._children[e]={},this._children[`\0`][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return e in this._nodes}removeNode(e){if(e in this._nodes){let t=e=>this.removeEdge(this._edgeObjs[e]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(e=>{this.setParent(e)}),delete this._children[e]),Object.keys(this._in[e]).forEach(t),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw Error(`Cannot set parent in a non-compound graph`);if(t===void 0)t=`\0`;else{t+=``;for(let n=t;n!==void 0;n=this.parent(n))if(n===e)throw Error(`Setting `+t+` as parent of `+e+` would create a cycle`);this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}parent(e){if(this._isCompound){let t=this._parent[e];if(t!==`\0`)return t}}children(e=`\0`){if(this._isCompound){let t=this._children[e];if(t)return Object.keys(t)}else{if(e===`\0`)return this.nodes();if(this.hasNode(e))return[]}return[]}predecessors(e){let t=this._preds[e];if(t)return Object.keys(t)}successors(e){let t=this._sucs[e];if(t)return Object.keys(t)}neighbors(e){let t=this.predecessors(e);if(t){let n=new Set(t),r=this.successors(e);if(r)for(let e of r)n.add(e);return Array.from(n.values())}}isLeaf(e){let t;return t=this.isDirected()?this.successors(e):this.neighbors(e),(t?.length??0)===0}filterNodes(e){let t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph()),Object.entries(this._nodes).forEach(([n,r])=>{e(n)&&t.setNode(n,r)}),Object.values(this._edgeObjs).forEach(e=>{t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,this.edge(e))});let n={},r=e=>{let i=this.parent(e);return!i||t.hasNode(i)?(n[e]=i,i):i in n?n[i]:r(i)};return this._isCompound&&t.nodes().forEach(e=>t.setParent(e,r(e))),t}setDefaultEdgeLabel(e){return this._defaultEdgeLabelFn=typeof e==`function`?e:()=>e,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,t){return e.reduce((e,n)=>(t===void 0?this.setEdge(e,n):this.setEdge(e,n,t),n)),this}setEdge(e,t,n,r){let i,a,o,s,c=!1;typeof e==`object`&&e&&`v`in e?(i=e.v,a=e.w,o=e.name,arguments.length===2&&(s=t,c=!0)):(i=e,a=t,o=r,arguments.length>2&&(s=n,c=!0)),i=``+i,a=``+a,o!==void 0&&(o=``+o);let l=tr(this._isDirected,i,a,o);if(l in this._edgeLabels)return c&&(this._edgeLabels[l]=s),this;if(o!==void 0&&!this._isMultigraph)throw Error(`Cannot set a named edge when isMultigraph = false`);this.setNode(i),this.setNode(a),this._edgeLabels[l]=c?s:this._defaultEdgeLabelFn(i,a,o);let u=nr(this._isDirected,i,a,o);return i=u.v,a=u.w,Object.freeze(u),this._edgeObjs[l]=u,$n(this._preds[a],i),$n(this._sucs[i],a),this._in[a][l]=u,this._out[i][l]=u,this._edgeCount++,this}edge(e,t,n){let r=arguments.length===1?rr(this._isDirected,e):tr(this._isDirected,e,t,n);return this._edgeLabels[r]}edgeAsObj(e,t,n){let r=arguments.length===1?this.edge(e):this.edge(e,t,n);return typeof r!=`object`||!r?{label:r}:r}hasEdge(e,t,n){return(arguments.length===1?rr(this._isDirected,e):tr(this._isDirected,e,t,n))in this._edgeLabels}removeEdge(e,t,n){let r=arguments.length===1?rr(this._isDirected,e):tr(this._isDirected,e,t,n),i=this._edgeObjs[r];if(i){let e=i.v,t=i.w;delete this._edgeLabels[r],delete this._edgeObjs[r],er(this._preds[t],e),er(this._sucs[e],t),delete this._in[t][r],delete this._out[e][r],this._edgeCount--}return this}inEdges(e,t){return this.isDirected()?this.filterEdges(this._in[e],e,t):this.nodeEdges(e,t)}outEdges(e,t){return this.isDirected()?this.filterEdges(this._out[e],e,t):this.nodeEdges(e,t)}nodeEdges(e,t){if(e in this._nodes)return this.filterEdges({...this._in[e],...this._out[e]},e,t)}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}filterEdges(e,t,n){if(!e)return;let r=Object.values(e);return n?r.filter(e=>e.v===t&&e.w===n||e.v===n&&e.w===t):r}};function $n(e,t){e[t]?e[t]++:e[t]=1}function er(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function tr(e,t,n,r){let i=``+t,a=``+n;if(!e&&i>a){let e=i;i=a,a=e}return i+``+a+``+(r===void 0?`\0`:r)}function nr(e,t,n,r){let i=``+t,a=``+n;if(!e&&i>a){let e=i;i=a,a=e}let o={v:i,w:a};return r&&(o.name=r),o}function rr(e,t){return tr(e,t.v,t.w,t.name)}Zn({},{read:()=>sr,write:()=>ir});function ir(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:ar(e),edges:or(e)},n=e.graph();return n!==void 0&&(t.value=structuredClone(n)),t}function ar(e){return e.nodes().map(t=>{let n=e.node(t),r=e.parent(t),i={v:t};return n!==void 0&&(i.value=n),r!==void 0&&(i.parent=r),i})}function or(e){return e.edges().map(t=>{let n=e.edge(t),r={v:t.v,w:t.w};return t.name!==void 0&&(r.name=t.name),n!==void 0&&(r.value=n),r})}function sr(e){let t=new Qn(e.options);return e.value!==void 0&&t.setGraph(e.value),e.nodes.forEach(e=>{t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),e.edges.forEach(e=>{t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var cr={};Zn(cr,{CycleException:()=>Cr,bellmanFord:()=>ur,components:()=>fr,dijkstra:()=>hr,dijkstraAll:()=>_r,findCycles:()=>yr,floydWarshall:()=>xr,isAcyclic:()=>Tr,postorder:()=>kr,preorder:()=>Ar,prim:()=>jr,shortestPaths:()=>Mr,tarjan:()=>vr,topsort:()=>wr});var lr=()=>1;function ur(e,t,n,r){return dr(e,String(t),n||lr,r||function(t){return e.outEdges(t)??[]})}function dr(e,t,n,r){let i={},a,o=0,s=e.nodes(),c=function(e){let t=i[e.v],r=i[e.w];if(!t||!r)return;let o=n(e);t.distance+o<r.distance&&(i[e.w]={distance:t.distance+o,predecessor:e.v},a=!0)},l=function(){s.forEach(function(e){r(e).forEach(function(t){let n=t.v===e?t.v:t.w,r=n===t.v?t.w:t.v;c({v:n,w:r})})})};s.forEach(function(e){i[e]={distance:e===t?0:1/0,predecessor:``}});let u=s.length;for(let e=1;e<u&&(a=!1,o++,l(),a);e++);if(o===u-1&&(a=!1,l(),a))throw Error(`The graph contains a negative weight cycle`);return i}function fr(e){let t={},n=[],r;function i(n){var a,o;n in t||(t[n]=!0,r.push(n),(a=e.successors(n))==null||a.forEach(i),(o=e.predecessors(n))==null||o.forEach(i))}return e.nodes().forEach(function(e){r=[],i(e),r.length&&n.push(r)}),n}var pr=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(e=>e.key)}has(e){return e in this._keyIndices}priority(e){let t=this._keyIndices[e];if(t!==void 0)return this._arr[t].priority}min(){if(this.size()===0)throw Error(`Queue underflow`);return this._arr[0].key}add(e,t){let n=this._keyIndices,r=String(e);if(!(r in n)){let e=this._arr,i=e.length;return n[r]=i,e.push({key:r,priority:t}),this._decrease(i),!0}return!1}removeMin(){if(this.size()===0)throw Error(`Queue underflow`);this._swap(0,this._arr.length-1);let e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){let n=this._keyIndices[e];if(n===void 0)throw Error(`Key not found: ${e}`);let r=this._arr[n].priority;if(t>r)throw Error(`New priority is greater than current priority. Key: ${e} Old: ${r} New: ${t}`);this._arr[n].priority=t,this._decrease(n)}_heapify(e){let t=this._arr,n=2*e,r=n+1,i=e;n<t.length&&(i=t[n].priority<t[i].priority?n:i,r<t.length&&(i=t[r].priority<t[i].priority?r:i),i!==e&&(this._swap(e,i),this._heapify(i)))}_decrease(e){let t=this._arr,n=t[e].priority,r;for(;e!==0&&(r=e>>1,!(t[r].priority<n));)this._swap(e,r),e=r}_swap(e,t){let n=this._arr,r=this._keyIndices,i=n[e],a=n[t];n[e]=a,n[t]=i,r[a.key]=e,r[i.key]=t}},mr=()=>1;function hr(e,t,n,r){return gr(e,String(t),n||mr,r||function(t){return e.outEdges(t)??[]})}function gr(e,t,n,r){let i={},a=new pr,o,s,c=function(e){let t=e.v===o?e.w:e.v,r=i[t];if(!r)return;let c=n(e),l=s.distance+c;if(c<0)throw Error(`dijkstra does not allow negative edge weights. Bad edge: `+e+` Weight: `+c);l<r.distance&&(r.distance=l,r.predecessor=o,a.decrease(t,l))};for(e.nodes().forEach(function(e){let n=e===t?0:1/0;i[e]={distance:n,predecessor:``},a.add(e,n)});a.size()>0;){o=a.removeMin();let e=i[o];if(!e||e.distance===1/0)break;s=e,r(o).forEach(c)}return i}function _r(e,t,n){return e.nodes().reduce(function(r,i){return r[i]=hr(e,i,t,n),r},{})}function vr(e){let t=0,n=[],r={},i=[];function a(o){var s;let c=r[o]={onStack:!0,lowlink:t,index:t++};if(n.push(o),(s=e.successors(o))==null||s.forEach(function(e){if(e in r){let t=r[e];t!=null&&t.onStack&&(c.lowlink=Math.min(c.lowlink,t.index))}else{a(e);let t=r[e];t&&(c.lowlink=Math.min(c.lowlink,t.lowlink))}}),c.lowlink===c.index){let e=[],t;do{t=n.pop();let i=r[t];i&&(i.onStack=!1),e.push(t)}while(o!==t);i.push(e)}}return e.nodes().forEach(function(e){e in r||a(e)}),i}function yr(e){return vr(e).filter(function(t){let n=t[0];return n?t.length>1||t.length===1&&(e.outEdges(n,n)??[]).length>0:!1})}var br=()=>1;function xr(e,t,n){return Sr(e,t||br,n||function(t){return e.outEdges(t)??[]})}function Sr(e,t,n){let r={},i=e.nodes();return i.forEach(function(e){let a={};r[e]=a,a[e]={distance:0,predecessor:``},i.forEach(function(t){e!==t&&(a[t]={distance:1/0,predecessor:``})}),n(e).forEach(function(n){let r=n.v===e?n.w:n.v,i=t(n);a[r]={distance:i,predecessor:e}})}),i.forEach(function(e){let t=r[e];t&&i.forEach(function(n){let a=r[n];a&&i.forEach(function(n){let r=a[e],i=t[n],o=a[n];if(r&&i&&o){let e=r.distance+i.distance;e<o.distance&&(o.distance=e,o.predecessor=i.predecessor)}})})}),r}var Cr=class extends Error{constructor(e){super(e),this.name=`CycleException`}};function wr(e){let t={},n={},r=[];function i(a){var o;if(a in n)throw new Cr;a in t||(n[a]=!0,t[a]=!0,(o=e.predecessors(a))==null||o.forEach(i),delete n[a],r.push(a))}if(e.sinks().forEach(i),Object.keys(t).length!==e.nodeCount())throw new Cr;return r}function Tr(e){try{wr(e)}catch(e){if(e instanceof Cr)return!1;throw e}return!0}function Er(e,t,n,r,i){Array.isArray(t)||(t=[t]);let a=(t=>(e.isDirected()?e.successors(t):e.neighbors(t))??[]),o={};return t.forEach(function(t){if(!e.hasNode(t))throw Error(`Graph does not have node: `+t);i=Dr(e,t,n===`post`,o,a,r,i)}),i}function Dr(e,t,n,r,i,a,o){return t in r||(r[t]=!0,n||(o=a(o,t)),i(t).forEach(function(t){o=Dr(e,t,n,r,i,a,o)}),n&&(o=a(o,t))),o}function Or(e,t,n){return Er(e,t,n,function(e,t){return e.push(t),e},[])}function kr(e,t){return Or(e,t,`post`)}function Ar(e,t){return Or(e,t,`pre`)}function jr(e,t){var n;let r=new Qn,i={},a=new pr,o;function s(e){let n=e.v===o?e.w:e.v,r=a.priority(n);if(r!==void 0){let s=t(e);s<r&&(i[n]=o,a.decrease(n,s))}}if(e.nodeCount()===0)return r;e.nodes().forEach(function(e){a.add(e,1/0),r.setNode(e)});let c=e.nodes()[0];c!==void 0&&a.decrease(c,0);let l=!1;for(;a.size()>0;){if(o=a.removeMin(),o in i)r.setEdge(o,i[o]);else{if(l)throw Error(`Input graph is not connected: `+e);l=!0}(n=e.nodeEdges(o))==null||n.forEach(s)}return r}function Mr(e,t,n,r){return Nr(e,t,n,r??(t=>e.outEdges(t)??[]))}function Nr(e,t,n,r){if(n===void 0)return hr(e,t,n,r);let i=!1,a=e.nodes();for(let o=0;o<a.length;o++){let s=a[o];if(s===void 0)continue;let c=r(s);for(let e=0;e<c.length;e++){let t=c[e];if(!t)continue;let r=t.v===s?t.v:t.w;n({v:r,w:r===t.v?t.w:t.v})<0&&(i=!0)}if(i)return ur(e,t,n,r)}return hr(e,t,n,r)}var X=Qn;function Pr(e,t,n,r){let i=r;for(;e.hasNode(i);)i=Yr(r);return n.dummy=t,e.setNode(i,n),i}function Fr(e){let t=new X().setGraph(e.graph());return e.nodes().forEach(n=>t.setNode(n,e.node(n))),e.edges().forEach(n=>{let r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function Ir(e){let t=new X({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(n=>{e.children(n).length||t.setNode(n,e.node(n))}),e.edges().forEach(n=>{t.setEdge(n,e.edge(n))}),t}function Lr(e,t){let n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2;if(!i&&!a)throw Error(`Not possible to find intersection inside of the rectangle`);let c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,l=s):(i<0&&(o=-o),c=o,l=o*a/i),{x:n+c,y:r+l}}function Rr(e){let t=Xr(Wr(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let r=e.node(n),i=r.rank;i!==void 0&&(t[i]||(t[i]=[]),t[i][r.order]=n)}),t}function zr(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MAX_VALUE:n}),n=Z(Math.min,t);e.nodes().forEach(t=>{let r=e.node(t);Object.hasOwn(r,`rank`)&&(r.rank-=n)})}function Br(e){let t=e.nodes().map(t=>e.node(t).rank).filter(e=>e!==void 0),n=Z(Math.min,t),r=[];e.nodes().forEach(t=>{let i=e.node(t).rank-n;r[i]||(r[i]=[]),r[i].push(t)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((t,n)=>{t===void 0&&n%a!==0?--i:t!==void 0&&i&&t.forEach(t=>e.node(t).rank+=i)})}function Vr(e,t,n,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),Pr(e,`border`,i,t)}function Hr(e,t=Ur){let n=[];for(let r=0;r<e.length;r+=t){let i=e.slice(r,r+t);n.push(i)}return n}var Ur=65535;function Z(e,t){return t.length>Ur?e(...Hr(t).map(t=>e(...t))):e(...t)}function Wr(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MIN_VALUE:n});return Z(Math.max,t)}function Gr(e,t){let n={lhs:[],rhs:[]};return e.forEach(e=>{t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function Kr(e,t){let n=Date.now();try{return t()}finally{console.log(e+` time: `+(Date.now()-n)+`ms`)}}function qr(e,t){return t()}var Jr=0;function Yr(e){return e+(``+ ++Jr)}function Xr(e,t,n=1){t??(t=e,e=0);let r=e=>e<t;n<0&&(r=e=>t<e);let i=[];for(let t=e;r(t);t+=n)i.push(t);return i}function Zr(e,t){let n={};for(let r of t)e[r]!==void 0&&(n[r]=e[r]);return n}function Qr(e,t){let n;return n=typeof t==`string`?e=>e[t]:t,Object.entries(e).reduce((e,[t,r])=>(e[t]=n(r,t),e),{})}function $r(e,t){return e.reduce((e,n,r)=>(e[n]=t[r],e),{})}var ei=`\0`;function ti(e,t,n){if(!(e&&t&&n&&t.dummy===`edge`&&n.dummy===`edge`&&t.edgeObj&&n.edgeObj&&e[t.edgeObj.v]&&e[n.edgeObj.v]&&e[t.edgeObj.w]&&e[n.edgeObj.w]))return 0;let r=!0;t.edgeObj.w===n.edgeObj.w&&(r=!1);let i=r?e[t.edgeObj.v]?.rank??NaN:e[t.edgeObj.w]?.rank??NaN,a=Object.entries(e).find(e=>e[1].edgeObj?.v===t.edgeObj.v&&e[1].edgeObj?.w===t.edgeObj.w&&e[1].rank===i),o=Object.entries(e).find(e=>e[1].edgeObj?.v===n.edgeObj.v&&e[1].edgeObj?.w===n.edgeObj.w&&e[1].rank===i);if(!a||!o)return 0;let s=a[1].order??NaN,c=o[1].order??NaN;return isNaN(s-c)?0:s-c}var ni=`3.1.1`,ri=class{constructor(){Jn(this,`_sentinel`);let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return ii(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&ii(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,n=t._prev;for(;n!==t;)e.push(JSON.stringify(n,ai)),n=n._prev;return`[`+e.join(`, `)+`]`}};function ii(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function ai(e,t){if(e!==`_next`&&e!==`_prev`)return t}var oi=ri,si=()=>1;function ci(e,t){if(e.nodeCount()<=1)return[];let n=di(e,t||si);return li(n.graph,n.buckets,n.zeroIdx).flatMap(t=>e.outEdges(t.v,t.w)||[])}function li(e,t,n){let r=[],i=t[t.length-1],a=t[0],o;for(;e.nodeCount();){for(;o=a.dequeue();)ui(e,t,n,o);for(;o=i.dequeue();)ui(e,t,n,o);if(e.nodeCount()){for(let i=t.length-2;i>0;--i)if(o=t[i]?.dequeue(),o){r=r.concat(ui(e,t,n,o,!0)||[]);break}}}return r}function ui(e,t,n,r,i){let a=[],o=i?a:void 0;return(e.inEdges(r.v)||[]).forEach(r=>{let o=e.edge(r),s=e.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,fi(t,n,s)}),(e.outEdges(r.v)||[]).forEach(r=>{let i=e.edge(r),a=r.w,o=e.node(a);o.in-=i,fi(t,n,o)}),e.removeNode(r.v),o}function di(e,t){let n=new X,r=0,i=0;e.nodes().forEach(e=>{n.setNode(e,{v:e,in:0,out:0})}),e.edges().forEach(e=>{let a=n.edge(e.v,e.w)||0,o=t(e),s=a+o;n.setEdge(e.v,e.w,s);let c=n.node(e.v),l=n.node(e.w);i=Math.max(i,c.out+=o),r=Math.max(r,l.in+=o)});let a=pi(i+r+3).map(()=>new oi),o=r+1;return n.nodes().forEach(e=>{fi(a,o,n.node(e))}),{graph:n,buckets:a,zeroIdx:o}}function fi(e,t,n){var r,i,a;n.out?n.in?(a=e[n.out-n.in+t])==null||a.enqueue(n):(i=e[e.length-1])==null||i.enqueue(n):(r=e[0])==null||r.enqueue(n)}function pi(e){let t=[];for(let n=0;n<e;n++)t.push(n);return t}function mi(e,t){(e.graph().acyclicer===`greedy`?ci(e,n(e)):hi(e,t??null)).forEach(t=>{let n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,Yr(`rev`))});function n(e){return t=>e.edge(t).weight}}function hi(e,t){let n=[],r={},i={};function a(t){Object.hasOwn(i,t)||(i[t]=!0,r[t]=!0,e.outEdges(t).forEach(e=>{Object.hasOwn(r,e.w)?n.push(e):a(e.w)}),delete r[t])}function o(a){var s;Object.hasOwn(i,a)||(i[a]=!0,r[a]=!0,(s=e.outEdges(a))==null||s.forEach(i=>{Object.hasOwn(r,i.w)||t.node(a)?.rank>t.node(i.w)?.rank&&_i(e,i.w,i)?n.push(i):o(i.w)}),delete r[a])}let s=a;return t&&typeof t.node==`function`&&(s=o),e.sources().forEach(s),e.nodes().forEach(s),n}function gi(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}function _i(e,t,n){let r=new Set;function i(t){if(e.sources().includes(t))return!0;r.add(t);for(let a of e.inEdges(t)??[])if((a.v!==n.v||a.w!==n.w)&&!r.has(a.v)&&i(a.v))return!0;return!1}return i(t)}function vi(e){e.graph().dummyChains=[],e.edges().forEach(t=>yi(e,t))}function yi(e,t){let n=t.v,r=e.node(n).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a===r+1)return;e.removeEdge(t);let l,u,d=0;for(++r;r<a;++d,++r)s.points=[],u={width:0,height:0,edgeLabel:s,edgeObj:t,rank:r},l=Pr(e,`edge`,u,`_d`),r===c&&(u.width=s.width,u.height=s.height,u.dummy=`edge-label`,u.labelpos=s.labelpos),e.setEdge(n,l,{weight:s.weight},o),d===0&&e.graph().dummyChains.push(l),n=l;e.setEdge(n,i,{weight:s.weight},o)}function bi(e){e.graph().dummyChains.forEach(t=>{let n=e.node(t),r=n.edgeLabel,i;for(e.setEdge(n.edgeObj,r);n.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy===`edge-label`&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=i,n=e.node(t)})}function xi(e){let t={};function n(r){let i=e.node(r);if(Object.hasOwn(t,r))return i.rank;t[r]=!0;let a=e.outEdges(r),o=a?a.map(t=>t==null?1/0:n(t.w)-e.edge(t).minlen):[],s=Z(Math.min,o);return s===1/0&&(s=0),i.rank=s}e.sources().forEach(n)}function Si(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var Ci=wi;function wi(e){let t=new X({directed:!1}),n=e.nodes();if(n.length===0)throw Error(`Graph must have at least one node`);let r=n[0],i=e.nodeCount();t.setNode(r,{});let a,o;for(;Ti(t,e)<i&&(a=Ei(t,e),a);)o=t.hasNode(a.v)?Si(e,a):-Si(e,a),Di(t,e,o);return t}function Ti(e,t){function n(r){let i=t.nodeEdges(r);i&&i.forEach(i=>{let a=i.v,o=r===a?i.w:a;!e.hasNode(o)&&!Si(t,i)&&(e.setNode(o,{}),e.setEdge(r,o,{}),n(o))})}return e.nodes().forEach(n),e.nodeCount()}function Ei(e,t){return t.edges().reduce((n,r)=>{let i=1/0;return e.hasNode(r.v)!==e.hasNode(r.w)&&(i=Si(t,r)),i<n[0]?[i,r]:n},[1/0,null])[1]}function Di(e,t,n){e.nodes().forEach(e=>t.node(e).rank+=n)}var{preorder:Oi,postorder:ki}=cr,Ai=ji;ji.initLowLimValues=Fi,ji.initCutValues=Mi,ji.calcCutValue=Pi,ji.leaveEdge=Li,ji.enterEdge=Ri,ji.exchangeEdges=zi;function ji(e){e=Fr(e),xi(e);let t=Ci(e);Fi(t),Mi(t,e);let n,r;for(;n=Li(t);)r=Ri(t,e,n),zi(t,e,n,r)}function Mi(e,t){let n=ki(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(n=>Ni(e,t,n))}function Ni(e,t,n){let r=e.node(n).parent,i=e.edge(n,r);i.cutvalue=Pi(e,t,n)}function Pi(e,t,n){let r=e.node(n).parent,i=!0,a=t.edge(n,r),o=0;a||=(i=!1,t.edge(r,n)),o=a.weight;let s=t.nodeEdges(n);return s&&s.forEach(a=>{let s=a.v===n,c=s?a.w:a.v;if(c!==r){let r=s===i,l=t.edge(a).weight;if(o+=r?l:-l,Vi(e,n,c)){let t=e.edge(n,c).cutvalue;o+=r?-t:t}}}),o}function Fi(e,t){arguments.length<2&&(t=e.nodes()[0]),Ii(e,{},1,t)}function Ii(e,t,n,r,i){let a=n,o=e.node(r);t[r]=!0;let s=e.neighbors(r);return s&&s.forEach(i=>{Object.hasOwn(t,i)||(n=Ii(e,t,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function Li(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function Ri(e,t,n){let r=n.v,i=n.w;t.hasEdge(r,i)||(r=n.w,i=n.v);let a=e.node(r),o=e.node(i),s=a,c=!1;return a.lim>o.lim&&(s=o,c=!0),t.edges().filter(t=>c===Hi(e,e.node(t.v),s)&&c!==Hi(e,e.node(t.w),s)).reduce((e,n)=>Si(t,n)<Si(t,e)?n:e)}function zi(e,t,n,r){let i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),Fi(e),Mi(e,t),Bi(e,t)}function Bi(e,t){let n=e.nodes().find(t=>!e.node(t).parent);if(!n)return;let r=Oi(e,[n]);r=r.slice(1),r.forEach(n=>{let r=e.node(n).parent,i=t.edge(n,r),a=!1;i||(i=t.edge(r,n),a=!0),t.node(n).rank=t.node(r).rank+(a?i.minlen:-i.minlen)})}function Vi(e,t,n){return e.hasEdge(t,n)}function Hi(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var Ui=Wi;function Wi(e){let t=e.graph().ranker;if(typeof t==`function`)return t(e);switch(t){case`network-simplex`:qi(e);break;case`tight-tree`:Ki(e);break;case`longest-path`:Gi(e);break;case`none`:break;default:qi(e)}}var Gi=xi;function Ki(e){xi(e),Ci(e)}function qi(e){Ai(e)}var Ji=Yi;function Yi(e){let t=Zi(e),n=e.graph();Array.isArray(n.dummyChains)&&n.dummyChains.forEach(n=>{let r=e.node(n),i=r.edgeObj,a=Xi(e,t,i.v,i.w),o=a.path,s=a.lca,c=0,l=o[c],u=!0;for(;n!==i.w;){if(r=e.node(n),u){for(;(l=o[c])!==s&&e.node(l).maxRank<r.rank;)c++;l===s&&(u=!1)}if(!u){for(;c<o.length-1&&e.node(o[c+1]).minRank<=r.rank;)c++;l=o[c]}l!==void 0&&e.setParent(n,l),n=e.successors(n)[0]}})}function Xi(e,t,n,r){let i=[],a=[],o=Math.min(t[n].low,t[r].low),s=Math.max(t[n].lim,t[r].lim),c;c=n;do c=e.parent(c),i.push(c);while(c&&(t[c].low>o||s>t[c].lim));let l=c,u=r;for(;(u=e.parent(u))!==l;)a.push(u);return{path:i.concat(a.reverse()),lca:l}}function Zi(e){let t={},n=0;function r(i){let a=n;e.children(i).forEach(r),t[i]={low:a,lim:n++}}return e.children(ei).forEach(r),t}function Qi(e){let t=Pr(e,`root`,{},`_root`),n=ea(e),r=Object.values(n),i=Z(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=t,e.edges().forEach(t=>e.edge(t).minlen*=a);let o=ta(e)+1;e.children(ei).forEach(r=>{$i(e,t,a,o,i,n,r)}),e.graph().nodeRankFactor=a}function $i(e,t,n,r,i,a,o){let s=e.children(o);if(!s.length){o!==t&&e.setEdge(t,o,{weight:0,minlen:n});return}let c=Vr(e,`_bt`),l=Vr(e,`_bb`),u=e.node(o);e.setParent(c,o),u.borderTop=c,e.setParent(l,o),u.borderBottom=l,s.forEach(s=>{$i(e,t,n,r,i,a,s);let u=e.node(s),d=u.borderTop?u.borderTop:s,f=u.borderBottom?u.borderBottom:s,p=u.borderTop?r:2*r,m=d===f?i-(a[o]??0)+1:1;e.setEdge(c,d,{weight:p,minlen:m,nestingEdge:!0}),e.setEdge(f,l,{weight:p,minlen:m,nestingEdge:!0})}),e.parent(o)||e.setEdge(t,c,{weight:0,minlen:i+(a[o]??0)})}function ea(e){let t={};function n(r,i){let a=e.children(r);a&&a.length&&a.forEach(e=>n(e,i+1)),t[r]=i}return e.children(ei).forEach(e=>n(e,1)),t}function ta(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function na(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(t=>{e.edge(t).nestingEdge&&e.removeEdge(t)})}var ra=ia;function ia(e){function t(n){let r=e.children(n),i=e.node(n);if(r.length&&r.forEach(t),i&&Object.hasOwn(i,`minRank`)){i.borderLeft=[],i.borderRight=[];for(let t=i.minRank,r=i.maxRank+1;t<r;++t)aa(e,`borderLeft`,`_bl`,n,i,t),aa(e,`borderRight`,`_br`,n,i,t)}}e.children(ei).forEach(t)}function aa(e,t,n,r,i,a){let o={width:0,height:0,rank:a,borderType:t},s=i[t][a-1],c=Pr(e,`border`,o,n);i[t][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}function oa(e){let t=e.graph().rankdir?.toLowerCase();(t===`lr`||t===`rl`)&&ca(e)}function sa(e){let t=e.graph().rankdir?.toLowerCase();(t===`bt`||t===`rl`)&&ua(e),(t===`lr`||t===`rl`)&&(fa(e),ca(e))}function ca(e){e.nodes().forEach(t=>la(e.node(t))),e.edges().forEach(t=>la(e.edge(t)))}function la(e){let t=e.width;e.width=e.height,e.height=t}function ua(e){e.nodes().forEach(t=>da(e.node(t))),e.edges().forEach(t=>{var n;let r=e.edge(t);(n=r.points)==null||n.forEach(da),Object.hasOwn(r,`y`)&&da(r)})}function da(e){e.y=-e.y}function fa(e){e.nodes().forEach(t=>pa(e.node(t))),e.edges().forEach(t=>{var n;let r=e.edge(t);(n=r.points)==null||n.forEach(pa),Object.hasOwn(r,`x`)&&pa(r)})}function pa(e){let t=e.x;e.x=e.y,e.y=t}function ma(e,t=null){let n={},r=e.nodes().filter(t=>!e.children(t).length),i=r.map(t=>e.node(t).rank),a=Xr(Z(Math.max,i)+1).map(()=>[]);function o(t){if(n[t])return;n[t]=!0;let r=e.node(t);a[r.rank].push(t);let i=e.successors(t);i&&[...i].sort((e,t)=>s(e,t)).forEach(o)}r.sort((t,n)=>e.node(t).rank-e.node(n).rank).forEach(o);function s(n,r){return ti(t,e.node(n),e.node(r))}return a}function ha(e,t){let n=0;for(let r=1;r<t.length;++r)n+=ga(e,t[r-1],t[r]);return n}function ga(e,t,n){let r=$r(n,n.map((e,t)=>t)),i=t.flatMap(t=>{let n=e.outEdges(t);return n?n.map(t=>({pos:r[t.w],weight:e.edge(t).weight})).sort((e,t)=>e.pos-t.pos):[]}),a=1;for(;a<n.length;)a<<=1;let o=2*a-1;--a;let s=Array(o).fill(0),c=0;return i.forEach(e=>{let t=e.pos+a;s[t]+=e.weight;let n=0;for(;t>0;)t%2&&(n+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*n}),c}function _a(e,t=[]){return t.map(t=>{let n=e.inEdges(t);if(!n||!n.length)return{v:t};{let r=n.reduce((t,n)=>{let r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}},{sum:0,weight:0});return{v:t,barycenter:r.sum/r.weight,weight:r.weight}}})}function va(e,t){let n={};return e.forEach((e,t)=>{let r={indegree:0,in:[],out:[],vs:[e.v],i:t};e.barycenter!==void 0&&(r.barycenter=e.barycenter,r.weight=e.weight),n[e.v]=r}),t.edges().forEach(e=>{let t=n[e.v],r=n[e.w];t!==void 0&&r!==void 0&&(r.indegree++,t.out.push(r))}),ya(Object.values(n).filter(e=>!e.indegree))}function ya(e){let t=[];function n(e){return t=>{t.merged||(t.barycenter===void 0||e.barycenter===void 0||t.barycenter>=e.barycenter)&&ba(e,t)}}function r(t){return n=>{n.in.push(t),--n.indegree===0&&e.push(n)}}for(;e.length;){let i=e.pop();t.push(i),i.in.reverse().forEach(n(i)),i.out.forEach(r(i))}return t.filter(e=>!e.merged).map(e=>Zr(e,[`vs`,`i`,`barycenter`,`weight`]))}function ba(e,t){let n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}function xa(e,t,n,r,i){let a={},o=null,s=null,c=i;typeof t==`boolean`?(c=t,a={}):t&&(a=t,o=n??null,s=r??null);let l=Gr(e,e=>Object.hasOwn(e,`barycenter`)),u=l.lhs,d=l.rhs.sort((e,t)=>t.i-e.i),f=[],p=0,m=0,h=0;u.sort(Ca(s,o,!!c));for(let[e,t]of Object.entries(a)){let n=u.findIndex(t=>t.vs[0]===e);u.splice(n+1,0,t)}h=Sa(f,d,h),u.forEach(e=>{h+=e.vs.length,f.push(e.vs),p+=e.barycenter*e.weight,m+=e.weight,h=Sa(f,d,h)});let g={vs:f.flat(1)};return m&&(g.barycenter=p/m,g.weight=m),g}function Sa(e,t,n){let r;for(;t.length&&(r=t[t.length-1]).i<=n;)t.pop(),e.push(r.vs),n++;return n}function Ca(e,t,n){return(r,i)=>{if(r.barycenter<i.barycenter)return-1;if(r.barycenter>i.barycenter)return 1;if(e&&(typeof r.vs[0]==`string`||typeof i.vs[0]==`string`)){let n=ti(t,e.node(r.vs[0]),e.node(i.vs[0]));if(n!==0)return n}return n?i.i-r.i:r.i-i.i}}function wa(e,t,n,r,i){var a,o;let s=null,c=i;typeof r==`boolean`?(c=r,s=null):r!==void 0&&(s=r);let l=e.children(t),u=e.node(t),d=u?u.borderLeft:void 0,f=u?u.borderRight:void 0,p={};d&&(l=l.filter(e=>e!==d&&e!==f));let m=_a(e,l);m.forEach(t=>{if(e.children(t.v).length){let{result:r}=wa(e,t.v,n,s,c);p[t.v]=r,Object.hasOwn(r,`barycenter`)&&Ea(t,r)}});let h=va(m,n);Ta(h,p);let g={},_=!1;for(let t=0;t<h.length;t++)for(let n=t+1;n<h.length;n++)if(h[t]&&h[n]&&(a=h[t])!=null&&a.barycenter&&(o=h[n])!=null&&o.barycenter&&h[t]?.barycenter===h[n].barycenter){let r=h[t]?.vs[0]??``,i=h[n]?.vs[0]??``,a=e.node(r),o=e.node(i);if(a.dummy===`edge`&&o.dummy===`edge`&&a.edgeObj?.v===o.edgeObj?.v&&a.edgeObj?.w===o.edgeObj?.w){if(a.edgeLabel.reversed){g[i]=h[t],h.splice(t,1),t--;break}g[r]=h[n],h.splice(n,1),n--}else _=!0}let v=xa(h,g,s,e,c);if(d&&f){v.vs=[d,v.vs,f].flat(1);let t=e.predecessors(d);if(t&&t.length){let n=e.node(t[0]),r=e.predecessors(f),i=e.node(r[0]);Object.hasOwn(v,`barycenter`)||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+n.order+i.order)/(v.weight+2),v.weight+=2}}return Object.defineProperty(v,"result",{value:v,enumerable:!1,configurable:!0,writable:!0}),Object.defineProperty(v,"usedBias",{value:_,enumerable:!1,configurable:!0,writable:!0}),v}function Ta(e,t){e.forEach(e=>{e.vs=e.vs.flatMap(e=>t[e]?t[e].vs:e)})}function Ea(e,t){e.barycenter===void 0?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}function Da(e,t,n,r){r||=e.nodes();let i=Oa(e),a=new X({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(t=>e.node(t));return r.forEach(r=>{let o=e.node(r),s=e.parent(r);if(o.rank===t||o.minRank<=t&&t<=o.maxRank){a.setNode(r),a.setParent(r,s||i);let c=e[n](r);c&&c.forEach(t=>{let n=t.v===r?t.w:t.v,i=a.edge(n,r),o=i===void 0?0:i.weight;a.setEdge(n,r,{weight:e.edge(t).weight+o})}),Object.hasOwn(o,`minRank`)&&a.setNode(r,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]})}}),a}function Oa(e){let t;for(;e.hasNode(t=Yr(`_root`)););return t}function ka(e,t,n){let r={},i;n.forEach(n=>{let a=e.parent(n),o,s;for(;a;){if(o=e.parent(a),o?(s=r[o],r[o]=a):(s=i,i=a),s&&s!==a){t.setEdge(s,a);return}a=o}})}function Aa(e,t={},n=null){if(typeof t.customOrder==`function`){t.customOrder(e,Aa);return}let r=Wr(e),i=ja(e,Xr(1,r+1),`inEdges`),a=ja(e,Xr(r-1,-1,-1),`outEdges`),o=ma(e,n);if(Na(e,o),t.disableOptimalOrderHeuristic)return;let s=1/0,c,l=t.constraints||[];for(let t=0,r=0;r<4;++t,++r){Ma(t%2?i:a,t%4>=2,l,n),o=Rr(e);let u=ha(e,o);u<s?(r=0,c=Object.assign({},o),s=u):u===s&&(c=structuredClone(o))}Na(e,c)}function ja(e,t,n){let r=new Map,i=(e,t)=>{r.has(e)||r.set(e,[]),r.get(e).push(t)};for(let t of e.nodes()){let n=e.node(t);if(typeof n.rank==`number`&&i(n.rank,t),typeof n.minRank==`number`&&typeof n.maxRank==`number`)for(let e=n.minRank;e<=n.maxRank;e++)e!==n.rank&&i(e,t)}return t.map(function(t){return Da(e,t,n,r.get(t)||[])})}function Ma(e,t,n,r){let i=!0,a=new X;e.forEach(function(e){n.forEach(e=>a.setEdge(e.left,e.right));let o=e.graph().root,{result:s,usedBias:c}=wa(e,o,a,r,i);t&&c&&(i=!i),s.vs.forEach((t,n)=>e.node(t).order=n),ka(e,a,s.vs)})}function Na(e,t){Object.values(t).forEach(t=>t.forEach((t,n)=>e.node(t).order=n))}function Pa(e,t){let n={};function r(t,r){let i=0,a=0,o=t.length,s=r[r.length-1];return r.forEach((t,c)=>{let l=Ia(e,t),u=l?e.node(l).order:o;(l||t===s)&&(r.slice(a,c+1).forEach(t=>{let r=e.predecessors(t);r&&r.forEach(r=>{let a=e.node(r),o=a.order;(o<i||u<o)&&!(a.dummy&&e.node(t).dummy)&&La(n,r,t)})}),a=c+1,i=u)}),r}return t.length&&t.reduce(r),n}function Fa(e,t){let n={};function r(t,r,i,a,o){Xr(r,i).forEach(r=>{let i=t[r];if(i!==void 0&&e.node(i).dummy){let t=e.predecessors(i);t&&t.forEach(t=>{if(t===void 0)return;let r=e.node(t);r.dummy&&(r.order<a||r.order>o)&&La(n,t,i)})}})}function i(t,n){let i=-1,a=-1,o=0;return n.forEach((s,c)=>{if(e.node(s).dummy===`border`){let t=e.predecessors(s);if(t&&t.length){let s=t[0];if(s===void 0)return;a=e.node(s).order,r(n,o,c,i,a),o=c,i=a}}r(n,o,n.length,a,t.length)}),n}return t.length&&t.reduce(i),n}function Ia(e,t){if(e.node(t).dummy){let n=e.predecessors(t);if(n)return n.find(t=>e.node(t).dummy)}}function La(e,t,n){if(t>n){let e=t;t=n,n=e}let r=e[t];r||(e[t]=r={}),r[n]=!0}function Ra(e,t,n){if(t>n){let e=t;t=n,n=e}let r=e[t];return r!==void 0&&Object.hasOwn(r,n)}function za(e,t,n,r,i){let a={},o={},s={};return t.forEach(e=>{e.forEach((e,t)=>{a[e]=e,o[e]=e,s[e]=t})}),t.forEach(t=>{let c=-1,l=-1,u=!1,d=t,f=t.findIndex(t=>i?.includes(t)||Ja(t,e,i));f>0&&(d=[t[f],...t.slice(0,f),...t.slice(f+1)],u=!0),d.forEach(t=>{let d=r(t);if(d&&d.length){i!=null&&i.includes(t)&&(d=d.filter(t=>Ja(t,e,i)));let r=d.sort((e,t)=>{let n=s[e],r=s[t];return(n===void 0?0:n)-(r===void 0?0:r)}),f=(r.length-1)/2;for(let e=Math.floor(f),i=Math.ceil(f);e<=i;++e){let i=r[e];if(i===void 0)continue;let d=s[i];if(d!==void 0&&o[t]===t&&c<d&&s[i]!==l&&!Ra(n,t,i)){let e=a[i];e!==void 0&&(o[i]=t,o[t]=a[t]=e,c=d,u&&=(c=-1,l=s[i]??-1,!1))}}}})}),{root:a,align:o}}function Ba(e,t,n,r,i=!1){let a={},o=Va(e,t,n,i),s=i?`borderLeft`:`borderRight`;function c(e,t){let n=o.nodes().slice(),r={},i=n.pop();for(;i;){if(r[i])e(i);else{r[i]=!0,n.push(i);for(let e of t(i))n.push(e)}i=n.pop()}}function l(e){let t=o.inEdges(e);t?a[e]=t.reduce((e,t)=>{let n=a[t.v]??0,r=o.edge(t);return Math.max(e,n+(r===void 0?0:r))},0):a[e]=0}function u(t){let n=o.outEdges(t),r=1/0;n&&(r=n.reduce((e,t)=>{let n=a[t.w],r=o.edge(t);return Math.min(e,(n===void 0?0:n)-(r===void 0?0:r))},1/0));let i=e.node(t);r!==1/0&&i.borderType!==s&&(a[t]=Math.max(a[t]===void 0?0:a[t],r))}function d(e){return o.predecessors(e)||[]}function f(e){return o.successors(e)||[]}return c(l,d),c(u,f),Object.keys(r).forEach(e=>{let t=n[e];t!==void 0&&(a[e]=a[t]??0)}),a}function Va(e,t,n,r){let i=new X,a=e.graph(),o=Ka(a.nodesep,a.edgesep,r);return t.forEach(t=>{let r;t.forEach(t=>{let a=n[t];if(a!==void 0){if(i.setNode(a),r!==void 0){let s=n[r];if(s!==void 0){let n=i.edge(s,a);i.setEdge(s,a,Math.max(o(e,t,r),n||0))}}r=t}})}),i}function Ha(e,t){return Object.values(t).reduce((t,n)=>{let r=-1/0,i=1/0;Object.entries(n).forEach(([t,n])=>{let a=qa(e,t)/2;r=Math.max(n+a,r),i=Math.min(n-a,i)});let a=r-i;return a<t[0]&&(t=[a,n]),t},[1/0,null])[1]}function Ua(e,t){let n=Object.values(t),r=Z(Math.min,n),i=Z(Math.max,n);[`u`,`d`].forEach(n=>{[`l`,`r`].forEach(a=>{let o=n+a,s=e[o];if(!s||s===t)return;let c=Object.values(s),l=r-Z(Math.min,c);a!==`l`&&(l=i-Z(Math.max,c)),l&&(e[o]=Qr(s,e=>e+l))})})}function Wa(e,t=void 0){let n=e.ul;return n?Qr(n,(n,r)=>{if(t){let n=e[t.toLowerCase()];if(n&&n[r]!==void 0)return n[r]}let i=Object.values(e).map(e=>{let t=e[r];return t===void 0?0:t}).sort((e,t)=>e-t);return((i[1]??0)+(i[2]??0))/2}):{}}function Ga(e,t){let n=Rr(e),r=Object.assign(Pa(e,n),Fa(e,n)),i={},a;return[`u`,`d`].forEach(o=>{a=o===`u`?n:Object.values(n).reverse(),[`l`,`r`].forEach(n=>{n===`r`&&(a=a.map(e=>Object.values(e).reverse()));let s=za(e,a,r,t=>(o===`u`?e.predecessors(t):e.successors(t))||[],t),c=Ba(e,a,s.root,s.align,n===`r`);n===`r`&&(c=Qr(c,e=>-e)),i[o+n]=c})}),Ua(i,Ha(e,i)),Wa(i,e.graph().align)}function Ka(e,t,n){return(r,i,a)=>{let o=r.node(i),s=r.node(a),c=0,l;if(c+=o.width/2,Object.hasOwn(o,`labelpos`))switch(o.labelpos.toLowerCase()){case`l`:l=-o.width/2;break;case`r`:l=o.width/2}if(l&&(c+=n?l:-l),l=void 0,c+=(o.dummy?t:e)/2,c+=(s.dummy?t:e)/2,c+=s.width/2,Object.hasOwn(s,`labelpos`))switch(s.labelpos.toLowerCase()){case`l`:l=s.width/2;break;case`r`:l=-s.width/2}return l&&(c+=n?l:-l),c}}function qa(e,t){return e.node(t).width}function Ja(e,t,n){if(!n)return!1;let r=t.node(e)?.edgeObj;if(!r||t.node(e).edgeLabel.reversed)return!1;let i=n.indexOf(r?.v),a=n.indexOf(r?.w);return i!==-1&&a!==-1&&i===(a+1)%n.length||i===(a-1)%n.length}function Ya(e,t){e=Ir(e),Xa(e),Object.entries(Ga(e,t)).forEach(([t,n])=>e.node(t).x=n)}function Xa(e){let t=Rr(e),n=e.graph(),r=n.ranksep,i=n.rankalign,a=0;t.forEach(t=>{let n=t.reduce((t,n)=>{let r=e.node(n).height??0;return t>r?t:r},0);t.forEach(t=>{let r=e.node(t);r.y=i===`top`?a+r.height/2:i===`bottom`?a+n-r.height/2:a+n/2}),a+=n+r})}var Za=new WeakMap;function Qa(e,t={}){return eo(e,qr,t),e}function $a(e,t,n){let r=t;for(;r!==void 0;){let t=e.parent(r);if(t===n)return r;r=t}}function eo(e,t,n){let r=e.nodes().filter(t=>e.children(t).length),i={};r.forEach(r=>{let a=e.node(r);if(a&&a.rankdir){let o=new X({multigraph:!0,compound:!0});o.setGraph({rankdir:a.rankdir});let s=e.children(r);s.forEach(t=>{let n={...e.node(t)};o.setNode(t,n);let i=e.parent(t);i&&i!==r&&s.includes(i)&&o.setParent(t,i)});let c=new Set;e.edges().forEach(t=>{let n=$a(e,t.v,r),i=$a(e,t.w,r);if(n&&i&&n!==i){let r=`${n}\0${i}`;c.has(r)||(c.add(r),o.setEdge(n,i,{...e.edge(t)}))}}),eo(o,t,n);let l=fo(o);to(l,t,n,null),no(o,l);let u=1/0,d=1/0,f=-1/0,p=-1/0;o.nodes().forEach(e=>{if(e===r)return;let t=o.node(e);t&&typeof t.x==`number`&&typeof t.y==`number`&&typeof t.width==`number`&&typeof t.height==`number`&&(u=Math.min(u,t.x-t.width/2),f=Math.max(f,t.x+t.width/2),d=Math.min(d,t.y-t.height/2),p=Math.max(p,t.y+t.height/2))}),(!isFinite(u)||!isFinite(d)||!isFinite(f)||!isFinite(p))&&(u=d=0,f=p=0);let m=f-u,h=p-d;i[r]={minX:u,minY:d,maxX:f,maxY:p,width:m,height:h,offsetX:u,offsetY:d},a._dagreClusterSubgraph=o}});let a=[],o=t=>{let n=[],r=(e.children(t)||[]).filter(e=>e!==t);for(;r.length>0;){let t=r.shift();n.push(t),(e.children(t)||[]).filter(e=>e!==t).forEach(e=>r.push(e))}return n},s=new Map;r.forEach(t=>{let n=e.node(t);n&&n.rankdir&&i[t]&&s.set(t,(e.children(t)||[]).filter(e=>e!==t))});let c=new Set([...s.values()].flat()),l=new Map;s.forEach((e,t)=>{c.has(t)||l.set(t,o(t))});let u=new Set([...l.values()].flat()),d=e=>{for(let[t,n]of l)if(n.includes(e))return t;return e},f=[];e.edges().forEach(t=>{(u.has(t.v)||u.has(t.w))&&f.push({edge:t,label:e.edge(t)})});let p=new Map;u.forEach(t=>{let n=e.parent(t);p.set(t,typeof n==`string`?n:void 0)}),l.forEach((t,n)=>{let r=e.node(n),o=[];t.forEach(t=>{let n=e.node(t);n&&(o.push({id:t,node:n,parent:p.get(t)}),e.removeNode(t))});let s=f.filter(({edge:e})=>t.includes(e.v)||t.includes(e.w)),c=i[n];r&&(a.push({clusterId:n,subgraph:r._dagreClusterSubgraph,bounds:c,children:t,removedNodes:o,removedEdges:s}),r.width=c.width,r.height=c.height)});let m=new Set;f.forEach(({edge:t,label:n})=>{let r=d(t.v),i=d(t.w);if(r!==i&&e.hasNode(r)&&e.hasNode(i)){let t=`${r}\0${i}`;m.has(t)||(m.add(t),e.setEdge(r,i,{...n,width:0,height:0}))}});let h=fo(e),g=to(h,t,n,Za.get(e)??null);Za.set(e,g),no(e,h),m.forEach(t=>{let n=t.indexOf(`\0`),r=t.slice(0,n),i=t.slice(n+1);e.hasEdge(r,i)&&e.removeEdge(r,i)}),a.forEach(({clusterId:t,subgraph:n,bounds:r,removedNodes:i,removedEdges:a})=>{let o=e.node(t),s=o?.x??0,c=o?.y??0,l=(r.minX+r.maxX)/2,u=(r.minY+r.maxY)/2;i.forEach(({id:t,node:n,parent:r})=>{e.setNode(t,n),r!==void 0&&e.setParent(t,r)}),a.forEach(({edge:t,label:n})=>{e.setEdge(t,n)}),n.nodes().forEach(r=>{if(r===t)return;let i=n.node(r),a=e.node(r);a&&i&&typeof i.x==`number`&&typeof i.y==`number`&&(a.x=s+(i.x-l),a.y=c+(i.y-u))}),delete o._dagreClusterSubgraph}),r.forEach(t=>{let n=e.node(t),r=i[t];if(n&&n.rankdir&&n._dagreClusterSubgraph&&r){let i=n._dagreClusterSubgraph,a=n.x??0,o=n.y??0,s=(r.minX+r.maxX)/2,c=(r.minY+r.maxY)/2;i.nodes().forEach(n=>{if(n===t)return;let r=i.node(n),l=e.node(n);if(l&&r&&typeof r.x==`number`&&typeof r.y==`number`){let e=r.x-s,t=r.y-c;l.x=a+e,l.y=o+t}}),delete n._dagreClusterSubgraph}})}function to(e,t,n,r=null){var i,a;let o=n?.useDynamic!==!1,s=o&&(i=r?.graph)!=null?i:null,c=o&&(a=r?.rawNodes)!=null?a:null;t(` makeSpaceForEdgeLabels`,()=>po(e)),t(` removeSelfEdges`,()=>So(e)),t(` acyclic`,()=>mi(e,s)),t(` nestingGraph.run`,()=>Qi(e)),t(` rank`,()=>Ui(Ir(e))),t(` injectEdgeLabelProxies`,()=>mo(e)),t(` removeEmptyRanks`,()=>Br(e)),t(` nestingGraph.cleanup`,()=>na(e)),t(` normalizeRanks`,()=>zr(e)),t(` assignRankMinMax`,()=>ho(e)),t(` removeEdgeLabelProxies`,()=>go(e)),t(` normalize.run`,()=>vi(e)),t(` parentDummyChains`,()=>Ji(e)),t(` addBorderSegments`,()=>ra(e)),t(` order`,()=>Aa(e,n,c)),t(` insertSelfEdges`,()=>Co(e)),t(` adjustCoordinateSystem`,()=>oa(e)),t(` position`,()=>Ya(e,n.corePath)),t(` positionSelfEdges`,()=>wo(e));let l=JSON.parse(JSON.stringify(e._nodes));return t(` removeBorderNodes`,()=>xo(e)),t(` normalize.undo`,()=>bi(e)),t(` fixupEdgeLabelCoords`,()=>yo(e)),t(` undoCoordinateSystem`,()=>sa(e)),t(` translateGraph`,()=>_o(e)),t(` assignNodeIntersects`,()=>vo(e)),t(` reversePoints`,()=>bo(e)),t(` acyclic.undo`,()=>gi(e)),{graph:e,rawNodes:l}}function no(e,t){e.nodes().forEach(n=>{let r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,r.order=i.order,r.rank=i.rank,t.children(n).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(n=>{let r=e.edge(n),i=t.edge(n);r.points=i.points,Object.hasOwn(i,`x`)&&(r.x=i.x,r.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var ro=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],io={ranksep:50,edgesep:20,nodesep:50,rankdir:`TB`,rankalign:`center`},ao=[`acyclicer`,`ranker`,`rankdir`,`align`,`rankalign`],oo=[`width`,`height`,`rank`],so={width:0,height:0},co=[`minlen`,`weight`,`width`,`height`,`labeloffset`],lo={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},uo=[`labelpos`];function fo(e){let t=new X({multigraph:!0,compound:!0}),n=Eo(e.graph());return t.setGraph(Object.assign({},io,To(n,ro),Zr(n,ao))),e.nodes().forEach(n=>{let r=To(Eo(e.node(n)),oo);Object.keys(so).forEach(e=>{r[e]===void 0&&(r[e]=so[e])}),t.setNode(n,r);let i=e.parent(n);i!==void 0&&t.setParent(n,i)}),e.edges().forEach(n=>{let r=Eo(e.edge(n));t.setEdge(n,Object.assign({},lo,To(r,co),Zr(r,uo)))}),t}function po(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let r=e.edge(n);r.minlen*=2,(r.labelpos??`r`).toLowerCase()!==`c`&&(t.rankdir===`TB`||t.rankdir===`BT`?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function mo(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let n=e.node(t.v);Pr(e,`edge-proxy`,{rank:(e.node(t.w).rank-n.rank)/2+n.rank,e:t},`_ep`)}})}function ho(e){let t=0;e.nodes().forEach(n=>{let r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=Math.max(t,r.maxRank))}),e.graph().maxRank=t}function go(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy===`edge-proxy`){let r=n;e.edge(r.e).labelRank=n.rank,e.removeNode(t)}})}function _o(e){let t=1/0,n=0,r=1/0,i=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;function c(e){let a=e.x,o=e.y,s=e.width,c=e.height;t=Math.min(t,a-s/2),n=Math.max(n,a+s/2),r=Math.min(r,o-c/2),i=Math.max(i,o+c/2)}e.nodes().forEach(t=>c(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);Object.hasOwn(n,`x`)&&c(n)}),t-=o,r-=s,e.nodes().forEach(n=>{let i=e.node(n);i.x-=t,i.y-=r}),e.edges().forEach(n=>{let i=e.edge(n);i.points.forEach(e=>{e.x-=t,e.y-=r}),Object.hasOwn(i,`x`)&&(i.x-=t),Object.hasOwn(i,`y`)&&(i.y-=r)}),a.width=n-t+o,a.height=i-r+s}function vo(e){e.edges().forEach(t=>{if(t.v===t.w)return;let n=e.edge(t),r=e.node(t.v),i=e.node(t.w),a,o;n.points?(a=n.points[0],o=n.points[n.points.length-1]):(n.points=[],a=i,o=r),n.points.unshift(Lr(r,a)),n.points.push(Lr(i,o))})}function yo(e){e.edges().forEach(t=>{let n=e.edge(t);if(Object.hasOwn(n,`x`))switch((n.labelpos===`l`||n.labelpos===`r`)&&(n.width-=n.labeloffset),n.labelpos){case`l`:n.x-=n.width/2+n.labeloffset;break;case`r`:n.x+=n.width/2+n.labeloffset}})}function bo(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function xo(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),r=e.node(n.borderTop),i=e.node(n.borderBottom),a=e.node(n.borderLeft[n.borderLeft.length-1]),o=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(o.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy===`border`&&e.removeNode(t)})}function So(e){e.edges().forEach(t=>{if(t.v===t.w){let n=e.node(t.v);n.selfEdges||=[],n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function Co(e){Rr(e).forEach(t=>{let n=0;t.forEach((t,r)=>{let i=e.node(t);typeof i.rank!=`number`&&(i.rank=0),i.order=r+n,(i.selfEdges||[]).forEach(t=>{Pr(e,`selfedge`,{width:t.label.width,height:t.label.height,rank:i.rank,order:r+ ++n,e:t.e,edgeLabel:t.label},`_se`),(!Array.isArray(t.label.points)||t.label.points.length!==7)&&(t.label.points=[{x:0,y:-10},{x:0,y:-10},{x:0,y:0},{x:0,y:10},{x:0,y:10},{x:0,y:0},{x:0,y:0}])}),delete i.selfEdges})})}function wo(e){e.nodes().forEach(t=>{let n=e.node(t),r=e=>typeof e==`number`&&isFinite(e);if(n.dummy===`selfedge`){let i=n,a=e.node(i.e.v),o=r(a?.x)?a.x:0,s=r(a?.y)?a.y:0,c=r(a?.width)?a.width:0,l=r(a?.height)?a.height:0,u=r(n.x)?n.x:o,d=r(n.y)?n.y:s,f=c/2,p=l/2;i.edgeLabel.points=[{x:u+f,y:d-p},{x:u+f,y:d-p},{x:u,y:d},{x:u-f,y:d+p},{x:u-f,y:d+p},{x:u,y:d},{x:u,y:d}],i.edgeLabel.x=u,i.edgeLabel.y=d,e.setEdge(i.e,i.edgeLabel),e.removeNode(t)}else n&&Array.isArray(n.selfEdges)&&n.selfEdges.forEach(e=>{if(!Array.isArray(e.label.points)||e.label.points.length!==7){let t=r(n.x)?n.x:0,i=r(n.y)?n.y:0,a=r(n.width)?n.width:0,o=r(n.height)?n.height:0,s=a/2,c=o/2;e.label.points=[{x:t+s,y:i-c},{x:t+s,y:i-c},{x:t,y:i},{x:t-s,y:i+c},{x:t-s,y:i+c},{x:t,y:i},{x:t,y:i}]}})})}function To(e,t){return Qr(Zr(e,t),Number)}function Eo(e){let t={};return e&&Object.entries(e).forEach(([e,n])=>{typeof e==`string`&&(e=e.toLowerCase()),t[e]=n}),t}function Do(e){let t=Rr(e),n=new X({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(t=>{n.setNode(t,{label:t}),n.setParent(t,`layer`+e.node(t).rank)}),e.edges().forEach(e=>n.setEdge(e.v,e.w,{},e.name)),t.forEach((e,t)=>{let r=`layer`+t;n.setNode(r,{rank:`same`}),e.reduce((e,t)=>(n.setEdge(e,t,{style:`invis`}),t))}),n}var Oo={graphlib:Yn,version:ni,layout:Qa,debug:Do,util:{time:Kr,notime:qr}};function ko(e,t){let n=t.steps.map(e=>e.type===`agent`?`${e.id}:${e.model??``}:${e.tools.join(`+`)}:${e.output.format}`:e.type===`generate`?`${e.id}:${e.asset}:${e.model??``}:${e.options?.duration??``}`:e.id).join(`|`);return v({queryKey:[`estimate`,e,n],queryFn:()=>P.get(`/api/studio/wizards/${e}/estimate`),staleTime:3e4,refetchOnMount:`always`})}var Ao=e=>e<10?e.toLocaleString(z,{maximumFractionDigits:1}):Math.round(e).toLocaleString(z);function jo({estimate:e,stepId:t}){let n=e?.available?e.steps[t]:void 0;return n?(0,Y.jsxs)(`p`,{className:`text-[0.75rem] text-ink-3 tabular-nums`,children:[R(`estimate.step`,{n:Ao(n.credits),high:Ao(n.high)}),` · `,n.measured?R(`estimate.measured`):R(`estimate.formula`)]}):null}function Mo({model:e,effort:t,onChange:n}){let r=R(`class.effortAuto`);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(M,{children:R(`class.label`)}),(0,Y.jsx)(T,{value:e??`high`,onChange:e=>n({model:e,effort:t}),options:Be.map(e=>({value:e,label:R(`class.${e}`)}))}),(0,Y.jsx)(`p`,{className:`text-[0.75rem] text-ink-3`,children:R(`class.${e??`high`}.hint`)}),(0,Y.jsx)(M,{children:R(`class.effort`)}),(0,Y.jsx)(y,{value:t?R(`class.effort.${t}`):r,options:[r,...Me.map(e=>R(`class.effort.${e}`))],onChange:t=>n({model:e,effort:Me.find(e=>R(`class.effort.${e}`)===t)})})]})}var No=280,Po=92;function Fo({since:e}){let[t,n]=(0,J.useState)(Date.now());return(0,J.useEffect)(()=>{let e=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(e)},[]),(0,Y.jsxs)(`span`,{className:`shrink-0 tabular-nums`,children:[Math.max(0,Math.round((t-e)/1e3)),` s`]})}function Io({data:e}){let{step:t,selected:n,issue:r,active:i,pulse:a,cost:o,passed:s,onAddAfter:c,live:l}=e,u=xt(t);return(0,Y.jsxs)(`div`,{className:A(`group relative w-[280px] cursor-pointer rounded-xl bg-card px-4 py-3 text-left shadow-soft ring-1 transition`,n?`shadow-elevated ring-2 ring-ember`:l?.failed?`ring-2 ring-rose`:i?`ring-2 ring-moss`:a?`ring-2 ring-ember/60`:`ring-border-soft hover:shadow-elevated`),children:[l?.failed?(0,Y.jsx)(`span`,{className:`-top-1 -right-1 absolute size-3 rounded-full bg-rose`}):i?(0,Y.jsx)(`span`,{className:`-top-1 -right-1 absolute size-3 animate-breathe rounded-full bg-moss`}):a?(0,Y.jsx)(`span`,{className:`-top-1 -right-1 absolute size-3 animate-breathe rounded-full bg-ember`}):null,(0,Y.jsx)(en,{type:`target`,position:Xt.Top}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:A(`inline-flex size-6 items-center justify-center rounded-md`,Kt[t.type]),children:(0,Y.jsx)(u,{className:`size-3.5`})}),(0,Y.jsx)(`span`,{className:`font-medium text-[0.6875rem] text-ink-3 uppercase tracking-[0.07em]`,children:St(t)}),r?(0,Y.jsx)(Ze,{className:`ml-auto size-4 text-rose`}):s&&!i?(0,Y.jsx)(p,{className:`ml-auto size-4 text-moss`}):o===null?null:(0,Y.jsxs)(`span`,{className:`ml-auto text-[0.6875rem] text-ink-3 tabular-nums`,children:[`≈`,` `,R(`nav.credits`,{n:o<10?o.toLocaleString(z,{maximumFractionDigits:1}):Math.round(o)})]})]}),(0,Y.jsx)(`div`,{className:`mt-1.5 truncate font-display font-semibold text-[0.9375rem] text-ink`,children:t.title}),l?(0,Y.jsxs)(`div`,{className:A(`flex items-center gap-1.5 text-[0.75rem]`,l.failed?`text-rose`:`text-moss`),children:[l.failed?(0,Y.jsx)(Ze,{className:`size-3 shrink-0`}):l.since===null?null:(0,Y.jsx)(Pe,{className:`size-3 shrink-0`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:l.text,children:l.text}),l.since!==null&&!l.failed?(0,Y.jsx)(Fo,{since:l.since}):null]}):(0,Y.jsx)(`div`,{className:`truncate text-[0.75rem] text-ink-3`,children:ct(t)||`\xA0`}),(0,Y.jsx)(en,{type:`source`,position:Xt.Bottom}),c?(0,Y.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),c()},className:A(`nodrag nopan -translate-x-1/2 -translate-y-1/2 absolute top-full left-1/2 z-10 inline-flex h-7 items-center gap-1.5 whitespace-nowrap rounded-full bg-card px-3 text-[0.75rem] text-ember-strong shadow-soft ring-1 ring-ember/40 transition hover:bg-ember-tint focus-visible:opacity-100`,n?`opacity-100`:`pointer-events-none opacity-0 group-hover:pointer-events-auto group-hover:opacity-100`),children:[(0,Y.jsx)(oe,{className:`size-3.5`}),` `,R(`addStep.add`)]}):null]})}function Lo({data:e}){return(0,Y.jsxs)(`div`,{className:A(`flex w-[280px] cursor-pointer items-center gap-3 rounded-full bg-paper-2 py-1.5 pr-5 pl-2 transition`,e.selected?`ring-2 ring-ember`:`hover:bg-paper-3`),children:[(0,Y.jsx)(lt,{kind:e.avatar,size:40,interactive:!1}),(0,Y.jsx)(`span`,{className:`truncate font-display font-semibold text-[0.9375rem]`,children:e.title}),(0,Y.jsx)(en,{type:`source`,position:Xt.Bottom})]})}function Ro({data:e}){return(0,Y.jsxs)(`div`,{className:`w-[280px] rounded-xl border border-ember/50 border-dashed bg-card/70 px-4 py-3 text-left`,children:[(0,Y.jsx)(en,{type:`target`,position:Xt.Top}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-[0.75rem] text-ember-strong`,children:[(0,Y.jsx)(Pe,{className:`size-3.5`}),` `,R(`addStep.building`)]}),(0,Y.jsx)(`div`,{className:`mt-1.5 line-clamp-2 text-[0.8125rem] text-ink-2`,children:e.prompt}),(0,Y.jsx)(en,{type:`source`,position:Xt.Bottom})]})}function zo(e){let{data:t,sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o,targetPosition:s}=e,c={label:e.label,labelStyle:e.labelStyle,labelBgStyle:e.labelBgStyle,labelBgPadding:e.labelBgPadding,labelBgBorderRadius:e.labelBgBorderRadius,style:e.style,markerEnd:e.markerEnd};if(!t?.points.length){let[e,t,l]=Qt({sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o,targetPosition:s});return(0,Y.jsx)(nn,{path:e,labelX:t,labelY:l,...c})}let l=[{x:n,y:r},...t.points,{x:i,y:a}],u=l.map((e,t)=>{let n=l[t-1];if(!n)return`M ${e.x} ${e.y}`;let r=(n.y+e.y)/2;return`C ${n.x} ${r} ${e.x} ${r} ${e.x} ${e.y}`}).join(` `);return(0,Y.jsx)(nn,{path:u,labelX:t.labelX,labelY:t.labelY,...c})}var Bo={step:Io,start:Lo,adding:Ro},Vo={branch:zo},Q=`__adding`,Ho=34,Uo={},Wo={};function Go(e,t){if(t)return Object.fromEntries(Object.entries(t).filter(([t,n])=>JSON.stringify(e.steps.find(e=>e.id===t)?.next??[])===JSON.stringify(n.over)))}function Ko(e){return`${Math.round(e*100)} %`}function qo(e){let t=e.ask?R(`editor.whenAsk`,{text:e.ask}):O(e)?R(`editor.otherwise`):f(e.when).map(Jo).join(` · `);return e.max?`${t} (${R(`editor.atMost`,{count:e.max})})`:t}function Jo(e){let t=Array.isArray(e.value)?e.value.join(` / `):String(e.value??``);switch(e.op){case`equals`:return`${e.field} = ${t}`;case`notEquals`:return`${e.field} ≠ ${t}`;case`in`:return`${e.field} ∈ ${t}`;case`notEmpty`:return R(`editor.whenFilled`,{field:e.field});case`empty`:return R(`editor.whenEmpty`,{field:e.field});case`gt`:return`${e.field} > ${t}`;case`lt`:return`${e.field} < ${t}`;case`contains`:return R(`editor.whenContains`,{field:e.field,value:t})}}function Yo(e,t,n,r,i,a,o,s,c,l,u){let d=new Oo.graphlib.Graph;d.setGraph({rankdir:`TB`,nodesep:48,ranksep:46,marginx:20,marginy:20}),d.setDefaultEdgeLabel(()=>({})),d.setNode(`__start`,{width:No,height:52});for(let t of e.steps)d.setNode(t.id,{width:No,height:Po});let f=[],p={markerEnd:{type:tn.ArrowClosed,width:14,height:14,color:`var(--ink-4)`}};c&&d.setNode(Q,{width:No,height:Po});let m=(t,n,r,i={})=>{let a=e.steps[r]?.id;if(c?.at===r){d.setEdge(n,Q),f.push({id:t,source:n,target:Q,...i,...p}),a&&(d.setEdge(Q,a),f.push({id:`${t}-adding`,source:Q,target:a,...p}));return}a&&(d.hasEdge(n,a)||d.setEdge(n,a),f.push({id:t,source:n,target:a,...i,...p}))};(e.steps[0]||c)&&m(`e-start`,`__start`,0),e.steps.forEach((t,n)=>{let r=e.steps[n+1],i=s[t.id],a=i&&i.rule!==null?t.next?.[i.rule]?.goto:void 0,o=new Map;for(let n of t.next??[])n.goto!==`end`&&e.steps.some(e=>e.id===n.goto)&&o.set(n.goto,[...o.get(n.goto)??[],qo(n)]);for(let[e,n]of o){let r=n.join(` · `),o=r.length>Ho?`${r.slice(0,33)}…`:r,s=a===e?i?.probabilities?.[`r${i.rule}`]:void 0,c=a===e,l=c?`✓ ${o}${s===void 0?``:` · ${Ko(s)}`}`:o;d.setEdge(t.id,e,{width:l.length*6.2+16,height:22,labelpos:`c`}),f.push({id:`b-${t.id}-${e}`,type:`branch`,source:t.id,target:e,label:l,className:`cursor-pointer`,labelStyle:{fontSize:11,fill:c?`var(--moss)`:`var(--ink-2)`},labelBgStyle:{fill:`var(--paper-2)`},labelBgPadding:[6,3],labelBgBorderRadius:8,style:c?{strokeDasharray:`5 4`,stroke:`var(--moss)`,strokeWidth:2}:{strokeDasharray:`5 4`},...p})}if((r||c?.at===n+1)&&t.type!==`result`&&!t.next?.some(O)){let e=i?.rule===null,r=e?i?.probabilities?.none:void 0;m(`n-${t.id}`,t.id,n+1,{...t.next?.length?{label:e?`✓ ${R(`editor.otherwise`)}${r===void 0?``:` · ${Ko(r)}`}`:R(`editor.otherwise`),className:`cursor-pointer`,labelStyle:{fontSize:11,fill:e?`var(--moss)`:`var(--ink-3)`},labelBgStyle:{fill:`var(--background)`},...e?{style:{stroke:`var(--moss)`,strokeWidth:2}}:{}}:{}})}}),Oo.layout(d);for(let e of f){if(e.type!==`branch`)continue;let t=d.edge(e.source,e.target),n=(t.points??[]).slice(1,-1);n.length&&t.x!==void 0&&t.y!==void 0&&(e.data={points:n,labelX:t.x,labelY:t.y})}return{nodes:[{id:`__start`,type:`start`,position:{x:d.node(`__start`).x-No/2,y:d.node(`__start`).y-26},data:{title:e.title,avatar:e.avatar,selected:t===`__wizard`},draggable:!1},...e.steps.map((e,s)=>{let c=d.node(e.id);return{id:e.id,type:`step`,position:{x:c.x-No/2,y:c.y-Po/2},data:{step:e,selected:t===e.id,issue:n.has(e.id),index:s,active:r===e.id,pulse:i.includes(e.id),cost:a[e.id]?.credits??null,passed:o.has(e.id),onAddAfter:l&&e.type!==`result`?()=>l(s+1):void 0,live:u?.step===e.id?u:null},draggable:!1}}),...c?[{id:Q,type:`adding`,position:{x:d.node(Q).x-No/2,y:d.node(Q).y-Po/2},data:{prompt:c.prompt},draggable:!1,selectable:!1}]:[]],edges:f}}function Xo(){let e=$t(),t=`inline-flex size-8 items-center justify-center rounded-full text-ink-3 hover:bg-accent hover:text-ink`;return(0,Y.jsxs)(`div`,{className:`absolute bottom-4 left-4 z-10 flex items-center gap-0.5 rounded-full bg-card p-1 shadow-soft ring-1 ring-border-soft max-sm:hidden`,children:[(0,Y.jsx)(`button`,{type:`button`,className:t,onClick:()=>e.zoomOut(),"aria-label":R(`editor.zoomOut`),children:(0,Y.jsx)(Cn,{className:`size-4`})}),(0,Y.jsx)(`button`,{type:`button`,className:t,onClick:()=>e.fitView({padding:.2,duration:300}),"aria-label":R(`editor.zoomFit`),children:(0,Y.jsx)(kn,{className:`size-4`})}),(0,Y.jsx)(`button`,{type:`button`,className:t,onClick:()=>e.zoomIn(),"aria-label":R(`editor.zoomIn`),children:(0,Y.jsx)(H,{className:`size-4`})})]})}var Zo=.8,Qo=new Set;function $o({def:e,selected:t,onSelect:n,issueSteps:r,activeStep:i,pulse:a,costs:o=Uo,passed:s=Qo,minFitZoom:c=Zo,fitKey:l,decisions:u=Wo,onBranch:d,adding:f=null,onInsert:p,live:m=null}){let{nodes:h,edges:g}=(0,J.useMemo)(()=>Yo(e,t,r,i,a??[],o,s,u,f,p,m),[e,t,r,i,a,o,s,u,f,p,m]),_=$t(),v=(0,J.useRef)(null),y=e.steps.map(e=>e.id).join(`|`)+(f?`+${f.at}`:``);return(0,J.useEffect)(()=>{let e=requestAnimationFrame(()=>{let e=v.current;if(!e||!h.length)return;let t=h.map(e=>e.position.x),n=h.map(e=>e.position.y),r={x:Math.min(...t),y:Math.min(...n),width:Math.max(...t)+No-Math.min(...t),height:Math.max(...n)+Po-Math.min(...n)},i=Math.min(e.clientWidth/(r.width*1.2),e.clientHeight/(r.height*1.15),1),a=Math.max(i,c),o=(e.clientWidth-r.width*a)/2-r.x*a,s=i>=c?(e.clientHeight-r.height*a)/2-r.y*a:24-r.y*a;_.setViewport({x:o,y:s,zoom:a},{duration:400})});return()=>cancelAnimationFrame(e)},[y,l,_]),(0,J.useEffect)(()=>{let e=v.current,t=i?h.find(e=>e.id===i):null;if(!(e&&t))return;let{x:n,y:r,zoom:a}=_.getViewport(),o=t.position.x+No/2,s=t.position.y+Po/2,c=o*a+n,l=s*a+r;(c<40||c>e.clientWidth-40||l<40||l>e.clientHeight-40)&&_.setCenter(o,s,{zoom:a,duration:400})},[i,_]),(0,Y.jsx)(`div`,{ref:v,className:`h-full w-full`,children:(0,Y.jsx)(Yt,{nodes:h,edges:g,nodeTypes:Bo,edgeTypes:Vo,onNodeClick:(e,t)=>{t.id!==Q&&n(t.id===`__start`?`__wizard`:t.id)},onEdgeClick:(t,r)=>{let i=e.steps.find(e=>e.id===(r.source===Q?``:r.source));i?.next?.length&&d?d(i.id):i&&n(i.id)},onPaneClick:()=>n(null),nodesConnectable:!1,nodesDraggable:!1,elementsSelectable:!1,panOnScroll:!0,zoomOnScroll:!1,zoomOnPinch:!0,minZoom:.3,maxZoom:1.4,proOptions:{hideAttribution:!0},children:(0,Y.jsx)(Xo,{})})})}function es(e){return(0,Y.jsx)(Zt,{children:(0,Y.jsx)($o,{...e})})}function ts({wizardId:e,...t}){let n=ko(e,t.def);return(0,Y.jsx)(es,{...t,costs:n.data?.available?n.data.steps:Uo})}var ns=1200;function rs({label:e,onDelete:t}){let[n,r]=(0,J.useState)(!1),[i,a]=(0,J.useState)(!1),o=(0,J.useRef)(null),s=(0,J.useRef)(null),c=(0,J.useRef)(!1);(0,J.useEffect)(()=>()=>{for(let e of[o.current,s.current])e&&clearTimeout(e)},[]);let l=()=>{o.current||=(c.current=!1,a(!1),r(!0),setTimeout(()=>{o.current=null,c.current=!0,r(!1),t()},ns))},u=()=>{o.current&&(clearTimeout(o.current),o.current=null,r(!1),c.current||(a(!0),s.current&&clearTimeout(s.current),s.current=setTimeout(()=>a(!1),1800)))},d=n||i;return(0,Y.jsxs)(`button`,{type:`button`,"aria-label":`${e} – ${R(`editor.holdToDelete`)}`,title:R(`editor.holdToDelete`),onPointerDown:e=>{e.button===0&&l()},onPointerUp:u,onPointerLeave:u,onPointerCancel:u,onContextMenu:e=>e.preventDefault(),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&!e.repeat&&(e.preventDefault(),l())},onKeyUp:e=>{(e.key===` `||e.key===`Enter`)&&u()},onBlur:u,className:A(`relative inline-flex h-9 shrink-0 touch-none select-none items-center justify-center gap-1.5 overflow-hidden rounded-full text-[0.75rem] transition-[width,background,color] duration-150`,d?`w-auto px-3 text-rose ring-1 ring-rose/40`:`w-9 text-ink-3 hover:bg-accent hover:text-rose`),children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,className:A(`absolute inset-y-0 left-0 bg-rose/25`,n?`w-full transition-[width] ease-linear`:`w-0`),style:n?{transitionDuration:`${ns}ms`}:void 0}),(0,Y.jsx)(F,{className:`relative size-4`}),d?(0,Y.jsx)(`span`,{className:`relative whitespace-nowrap`,children:R(n?`editor.deleting`:`editor.holdToDelete`)}):null]})}var is=/preis|price|umsatz|revenue|betrag|amount|anzahl|count|summe|sum|total|wert|value|menge|score|punkte|kosten|cost/i;function as(e){return new Set(e.flatMap(e=>{let t=e.valueKey;return typeof t==`string`?[t]:[]}))}var os=[1240,860,420,310];function ss(e){return os.slice(0,3).map((t,n)=>Object.fromEntries(e.map(e=>[e.key,e.number?t:`${e.label} ${n+1}`])))}function cs(e,t,n){let r=as(n),i=e=>r.has(e)||is.test(e),a=e.steps.flatMap(e=>e.type===`page`?e.fields:[]),o=t=>{let n=u(t),r=S(n);if(r)return ss((e.lists?.find(e=>e.id===r)?.columns??[]).map(e=>({key:e.id,label:e.name,number:e.type===`number`||i(e.id)})));if(n===`today`)return new Date().toLocaleDateString(z);if(n.startsWith(`brand.`))return R(`surface.sampleBrand`);let[o,s,c]=n.split(`.`);if(o===`steps`){let t=e.steps.find(e=>e.id===s);if(t?.type!==`agent`)return null;let n=re(t),r=(e,t)=>{switch(e.kind){case`number`:return 42;case`list`:return[1,2,3].map(n=>e.of.kind===`object`?r(e.of,t):`${e.of.label??t} ${n}`);case`object`:return Object.fromEntries(Object.entries(e.fields).map(([e,t])=>[e,r(t,e)]));case`table`:return ss((e.columns??[`name`]).map(e=>({key:e,label:e,number:i(e)})));case`yesno`:return!0;case`choice`:case`score`:return e.options[0]??``;default:return i(t)?42:R(`surface.sampleText`)}};if(c){let e=n?.fields[c];return e?r(e,c):null}return n?r(n,s):R(`surface.sampleText`)}let l=a.find(e=>e.id===n);return l?l.kind===`number`?42:l.options?.[0]??l.label:null};return Object.fromEntries(Object.entries(t.data).map(([e,t])=>[e,o(t)]))}function ls(e){let t=[],n=/("(?:\\.|[^"\\])*")(\s*:)?|(-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)|(\btrue\b|\bfalse\b|\bnull\b)|([{}[\],])/g,r=0;for(let i of e.matchAll(n)){let n=i.index??0;n>r&&t.push(e.slice(r,n));let[a,o,s,c,l,u]=i;o===void 0?c===void 0?l===void 0?u===void 0?t.push(a):t.push((0,Y.jsx)(`span`,{className:`text-slate-400`,children:u},n)):t.push((0,Y.jsx)(`span`,{className:`text-violet-300`,children:l},n)):t.push((0,Y.jsx)(`span`,{className:`text-emerald-300`,children:c},n)):(t.push((0,Y.jsx)(`span`,{className:s?`text-sky-300`:`text-amber-200`,children:o},n)),s&&t.push((0,Y.jsx)(`span`,{className:`text-slate-400`,children:s},`${n}:`))),r=n+a.length}return t.push(e.slice(r)),t}function us({value:e,onChange:t,onBlur:n}){let r=(0,J.useRef)(null),i=(0,J.useRef)(null),a=()=>{r.current&&i.current&&(r.current.scrollTop=i.current.scrollTop,r.current.scrollLeft=i.current.scrollLeft)},o=`m-0 whitespace-pre break-normal px-3 py-2.5 font-mono text-[0.75rem] leading-[1.6] [tab-size:2]`;return(0,Y.jsxs)(`div`,{className:`relative h-[28rem] overflow-hidden rounded-lg bg-[oklch(20%_0.03_260)] ring-1 ring-border focus-within:ring-focus`,children:[(0,Y.jsxs)(`pre`,{ref:r,"aria-hidden":!0,className:A(o,`absolute inset-0 overflow-hidden text-slate-200`),children:[ls(e),`
|
|
2
|
-
`]}),(0,Y.jsx)(`textarea`,{ref:i,spellCheck:!1,"aria-label":R(`editor.surfaceJson`),value:e,onChange:e=>t(e.target.value),onBlur:n,onScroll:a,className:A(o,`absolute inset-0 h-full w-full resize-none overflow-auto bg-transparent text-transparent caret-white outline-none selection:bg-sky-400/30`)})]})}function ds({def:e,step:t,set:n,section:r}){let i={...t.components?{components:t.components}:{},...t.candidates?{candidates:t.candidates,groups:t.groups}:{},data:t.data},a=JSON.stringify(i,null,2),[o,s]=(0,J.useState)(a),[c,l]=(0,J.useState)(null),[u,d]=(0,J.useState)(`preview`);(0,J.useEffect)(()=>{document.activeElement?.getAttribute(`aria-label`)!==R(`editor.surfaceJson`)&&(s(a),l(null))},[a]);let f=(0,J.useMemo)(()=>t.components??ue(t.candidates??[],(t.candidates??[]).map(e=>e.id)),[t.components,t.candidates]),p=(0,J.useMemo)(()=>cs(e,t,f),[e,t,f]),m=()=>{if(o===a)return!0;try{let e=JSON.parse(o);return l(null),n({...t,...e}),!0}catch(e){return l(e.message),!1}},h=u===`preview`?(0,Y.jsx)(N,{label:R(`surface.code`),className:`absolute top-2 right-2 z-10 size-8`,onClick:()=>d(`code`),children:(0,Y.jsx)(dn,{className:`size-4`})}):(0,Y.jsx)(N,{label:R(`surface.preview`),className:`absolute top-2 right-4 z-10 size-8 text-slate-300 hover:bg-white/10 hover:text-white`,onClick:()=>{m()&&d(`preview`)},children:(0,Y.jsx)(yt,{className:`size-4`})});return r(R(`type.surface`),u===`preview`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`relative rounded-xl bg-paper p-4 ring-1 ring-border-soft`,children:[h,(0,Y.jsx)(U,{surface:{components:f,data:p},assetUrl:()=>``})]}),(0,Y.jsx)(`p`,{className:`text-[0.75rem] text-ink-4`,children:R(`surface.sampleNote`)})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`relative`,children:[h,(0,Y.jsx)(us,{value:o,onChange:s,onBlur:()=>void m()})]}),c?(0,Y.jsx)(`p`,{className:`text-[0.75rem] text-rose`,children:c}):null]}))}var fs=(0,J.createContext)(void 0),ps=e=>R(`inspector.kind.${e}`),ms={slot:an};function hs(e,t){let n=t===`image`||t===`file`;return{...e,kind:t,multiple:n?e.multiple:void 0,camera:t===`file`?e.camera:void 0,video:t===`file`?e.video:void 0,scan:t===`text`?e.scan:void 0}}var gs=(0,J.createContext)(!1);function _s({className:e,children:t}){return(0,J.useContext)(gs)?(0,Y.jsx)(`fieldset`,{disabled:!0,className:A(`min-w-0`,e),children:t}):(0,Y.jsx)(`div`,{className:e,children:t})}function $({title:e,children:t,loose:n}){let r=`flex flex-col gap-4`;return(0,Y.jsxs)(`div`,{className:`border-border-soft border-t px-5 py-5 first:border-t-0`,children:[e?(0,Y.jsx)(`h4`,{className:`mb-3 font-medium text-[0.75rem] text-ink-3 uppercase tracking-[0.07em]`,children:e}):null,n?(0,Y.jsx)(`div`,{className:r,children:t}):(0,Y.jsx)(_s,{className:r,children:t})]})}function vs(e,t,n){let r=e.steps.indexOf(t),i=[];for(let t of e.steps.slice(0,r))t.type===`page`?i.push(...t.fields.map(e=>e.id)):t.type===`agent`&&i.push(...E(t).map(e=>`steps.${t.id}.${e}`));return i.push(...t.fields.filter(e=>e.id!==n.id).map(e=>e.id)),i.push(...(e.lists??[]).map(e=>`lists.${e.id}.count`)),i}function ys(e,t){let n=e.steps.indexOf(t),r=[];for(let t of e.steps.slice(0,n))if(t.type===`agent`)for(let[e,n]of Object.entries(re(t)?.fields??{}))if(n.kind===`list`&&n.of.kind===`object`){let i=Object.entries(n.of.fields).filter(([,e])=>e.kind!==`list`);r.push(...i.map(([n])=>`steps.${t.id}.${e}.${n}`))}else n.kind===`list`?r.push(`steps.${t.id}.${e}`):n.kind===`table`&&r.push(...(n.columns??[]).map(n=>`steps.${t.id}.${e}.${n}`));for(let t of e.lists??[])t.shared||r.push(...t.columns.map(e=>`lists.${t.id}.${e.id}`));return r}function bs(e,t){let n=e.steps.flatMap(e=>e.type===`page`?e.fields:[]).find(e=>e.id===t);return n?n.label:t}function xs({def:e,when:t,sources:n,onChange:r,label:i=R(`editor.shownWhen`),noneLabel:a=R(`editor.shownAlways`)}){let[o,...s]=f(t),c=e=>r(e?s.length?[e,...s]:e:s.length?s:void 0),l=o&&o.op!==`empty`&&o.op!==`notEmpty`;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:i}),(0,Y.jsx)(T,{value:o?.field??``,placeholder:a,onChange:e=>c(e?{field:e,op:o?.op??`equals`,value:o?.value??``}:null),options:[{value:``,label:a},...n.map(t=>({value:t,label:bs(e,t)}))]}),o?(0,Y.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,Y.jsx)(T,{value:o.op,onChange:e=>{let t=e,n=t===`empty`||t===`notEmpty`?void 0:t===`in`?String(o.value??``).split(`,`).map(e=>e.trim()).filter(Boolean):t===`gt`||t===`lt`?Number(o.value)||0:Array.isArray(o.value)?o.value.join(`, `):o.value??``;c({field:o.field,op:t,...n===void 0?{}:{value:n}})},options:xe.map(e=>({value:e,label:R(`editor.op.${e}`)}))}),l?(0,Y.jsx)(x,{"aria-label":R(`editor.conditionValue`),placeholder:R(`editor.conditionValue`),value:Array.isArray(o.value)?o.value.join(`, `):String(o.value??``),onChange:e=>{let t=e.target.value,n=o.op===`in`?t.split(`,`).map(e=>e.trim()):o.op===`gt`||o.op===`lt`?w(t)??0:t===`true`||t===`false`?t===`true`:t;c({...o,value:n})}}):null]}):null,s.length?(0,Y.jsx)(`span`,{className:`text-[0.75rem] text-ink-4`,children:R(`editor.conditionsMore`,{count:s.length})}):null]})}function Ss({def:e,page:t,field:n,onChange:r,onRemove:i,onMove:a}){let[o,s]=(0,J.useState)(!1),c=ms[n.kind];return(0,Y.jsxs)(`div`,{className:`rounded-lg bg-paper ring-1 ring-border-soft`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>s(e=>!e),className:`flex w-full items-center gap-2 px-3 py-2.5 text-left`,children:[(0,Y.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-[0.875rem]`,children:[n.label,n.required?(0,Y.jsx)(`span`,{className:`ml-1 text-ember`,children:`*`}):null]}),(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[0.75rem] text-ink-4`,children:[c?(0,Y.jsx)(c,{className:`size-3.5`}):null,ps(n.kind)]}),(0,Y.jsx)(de,{className:A(`size-4 text-ink-4 transition`,o&&`rotate-180`)})]}),o?(0,Y.jsxs)(_s,{className:`flex flex-col gap-3 border-border-soft border-t px-3 py-3`,children:[(0,Y.jsx)(x,{value:n.label,onChange:e=>r({...n,label:e.target.value})}),(0,Y.jsx)(T,{value:n.kind,onChange:e=>r(hs(n,e)),options:V.filter(e=>e!==`items`||n.kind===`items`).map(e=>({value:e,label:ps(e)}))}),(n.kind===`select`||n.kind===`multiselect`||n.kind===`slot`)&&(n.optionsFrom||ys(e,t).length)?(0,Y.jsx)(T,{value:n.optionsFrom??``,onChange:e=>r({...n,optionsFrom:e||void 0}),options:[{value:``,label:R(`editor.optionsFixed`)},...ys(e,t).map(e=>({value:e,label:`${R(`editor.optionsFrom`)}: ${e}`}))]}):null,n.kind===`select`||n.kind===`multiselect`||n.kind===`slot`?(0,Y.jsx)(x,{placeholder:n.kind===`slot`?`2026-10-12T09:00:00+02:00, 2026-10-12T09:30:00+02:00`:`Option A, Option B, Option C`,value:(n.options??[]).join(`, `),onChange:e=>r({...n,options:e.target.value.split(`,`).map(e=>e.trim()).filter(Boolean)})}):null,n.kind===`connection`?(0,Y.jsx)(T,{value:n.connection??``,placeholder:R(`inspector.whichAccount`),onChange:e=>r({...n,connection:e}),options:(e.connections??[]).map(e=>({value:e.id,label:e.title??e.id}))}):null,n.kind===`list`?(0,Y.jsx)(T,{value:n.list??``,placeholder:R(`inspector.whichList`),onChange:e=>r({...n,list:e}),options:(e.lists??[]).map(e=>({value:e.id,label:e.title}))}):null,n.kind===`image`||n.kind===`file`?(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:R(`inspector.multipleFiles`)}),(0,Y.jsx)(I,{checked:!!n.multiple,onChange:e=>r({...n,multiple:e||void 0,...e?{}:{min:void 0,max:void 0}})})]}):null,(n.kind===`image`||n.kind===`file`)&&n.multiple?(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Y.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:R(`inspector.howMany`)}),(0,Y.jsx)(`div`,{className:`flex items-center gap-1.5`,children:[`min`,`max`].map(e=>(0,Y.jsx)(x,{type:`number`,min:1,max:30,"aria-label":R(e===`min`?`inspector.atLeast`:`inspector.atMost`),placeholder:e===`min`?`min.`:`max.`,value:n[e]??``,onChange:t=>{let i=Math.round(Number(t.target.value));r({...n,[e]:t.target.value&&i>=1?Math.min(i,30):void 0})},className:`h-8 w-16 text-right`},e))})]}):null,n.kind===`file`?(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:R(`inspector.camera`)}),(0,Y.jsx)(I,{checked:!!n.camera,onChange:e=>r({...n,camera:e||void 0})})]}):null,n.kind===`file`?(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:R(`inspector.cameraVideo`)}),(0,Y.jsx)(I,{checked:!!n.video,onChange:e=>r({...n,video:e||void 0})})]}):null,n.kind===`text`?(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:R(`inspector.scan`)}),(0,Y.jsx)(I,{checked:!!n.scan,onChange:e=>r({...n,scan:e||void 0})})]}):null,[`text`,`textarea`,`number`,`email`,`url`,`location`].includes(n.kind)?(0,Y.jsx)(x,{placeholder:R(`inspector.placeholder`),value:n.placeholder??``,onChange:e=>r({...n,placeholder:e.target.value||void 0})}):null,(0,Y.jsx)(x,{placeholder:R(`inspector.help`),value:n.help??``,onChange:e=>r({...n,help:e.target.value||void 0})}),(0,Y.jsx)(xs,{def:e,when:n.when,sources:vs(e,t,n),onChange:e=>r({...n,when:e})}),n.group?null:(0,Y.jsx)(x,{"aria-label":R(`editor.fieldAsk`),placeholder:R(`editor.fieldAsk`),value:n.ask??``,onChange:e=>r({...n,ask:e.target.value||void 0})}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:R(`run.required`)}),(0,Y.jsx)(I,{checked:!!n.required,onChange:e=>r({...n,required:e})})]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`font-mono text-[0.6875rem] text-ink-4`,children:`{{${n.id}}}`}),(0,Y.jsxs)(`div`,{className:`flex`,children:[(0,Y.jsx)(N,{label:R(`editor.moveUp`),onClick:()=>a(-1),className:`size-8`,children:(0,Y.jsx)(Oe,{className:`size-3.5`})}),(0,Y.jsx)(N,{label:R(`editor.moveDown`),onClick:()=>a(1),className:`size-8`,children:(0,Y.jsx)(te,{className:`size-3.5`})}),(0,Y.jsx)(N,{label:R(`common.remove`),onClick:i,className:`size-8 hover:text-rose`,children:(0,Y.jsx)(F,{className:`size-3.5`})})]})]})]}):null]})}var Cs=[{label:`16:9`,width:1280,height:720},{label:`1:1`,width:1080,height:1080},{label:`4:5`,width:1080,height:1350},{label:`9:16`,width:1080,height:1920}];function ws(e,t){let n=[];for(let r of e.steps.slice(0,t))r.type===`page`?n.push(...r.fields.map(e=>e.id)):r.type===`agent`?n.push(`steps.${r.id}`,...E(r).map(e=>`steps.${r.id}.${e}`)):(r.type===`generate`||r.type===`widget`||r.type===`surface`)&&n.push(`steps.${r.id}`);return[...n,`brand.name`,`today`]}function Ts({def:e,step:t,set:n,files:i,wizardId:a}){let o=i.filter(e=>e.mime===`text/html`),s=i.filter(e=>e.mime===`application/json`),c=t.size??Cs[0],l=ws(e,e.steps.indexOf(t)),u=Object.entries(t.data),d=e=>n({...t,data:Object.fromEntries(e)}),f=[i.find(e=>e.path===t.entry)?.hash.slice(0,8),i.find(e=>e.path===t.sample)?.hash.slice(0,8),c.width,c.height].join(`-`),p=i.some(e=>e.path===t.entry);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)($,{title:R(`inspector.widgetPreview`),children:p?(0,Y.jsx)(be,{src:r(`/api/studio/wizards/${a}/widgets/${t.id}/preview?v=${f}`),page:c.width,height:c.height,fit:!0}):(0,Y.jsx)(Es,{step:t,wizardId:a})}),(0,Y.jsxs)($,{title:R(`type.widget`),children:[(0,Y.jsx)(M,{children:R(`inspector.htmlFile`)}),(0,Y.jsx)(T,{value:t.entry,onChange:e=>n({...t,entry:e}),options:(o.some(e=>e.path===t.entry)?o:[{path:t.entry},...o]).map(e=>({value:e.path,label:e.path}))}),(0,Y.jsx)(M,{children:R(`inspector.sample`)}),(0,Y.jsx)(T,{value:t.sample??``,onChange:e=>n({...t,sample:e||void 0}),options:[{value:``,label:R(`inspector.none`)},...s.map(e=>({value:e.path,label:e.path}))]}),(0,Y.jsx)(M,{children:R(`inspector.size`)}),(0,Y.jsx)(y,{value:Cs.find(e=>e.width===c.width&&e.height===c.height)?.label??``,options:Cs.map(e=>e.label),onChange:e=>{let r=Cs.find(t=>t.label===e);r&&n({...t,size:{width:r.width,height:r.height}})}})]}),(0,Y.jsxs)($,{title:R(`inspector.widgetData`),children:[(0,Y.jsx)(`datalist`,{id:`sources-${t.id}`,children:l.map(e=>(0,Y.jsx)(`option`,{value:e},e))}),u.map(([e,n],r)=>(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(x,{value:e,className:`w-28 font-mono text-[0.75rem]`,onChange:e=>d(u.map((t,n)=>n===r?[e.target.value,t[1]]:t))}),(0,Y.jsx)(`span`,{className:`text-ink-4`,children:`←`}),(0,Y.jsx)(x,{value:n,list:`sources-${t.id}`,className:`flex-1 font-mono text-[0.75rem]`,onChange:e=>d(u.map((t,n)=>n===r?[t[0],e.target.value]:t))}),(0,Y.jsx)(N,{label:R(`editor.deleteStep`),onClick:()=>d(u.filter((e,t)=>t!==r)),children:(0,Y.jsx)(F,{className:`size-4`})})]},r)),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>d([...u,[`value${u.length+1}`,l[0]??`today`]]),className:`inline-flex h-8 items-center gap-1 self-start rounded-full px-2.5 text-[0.75rem] text-ink-2 hover:bg-accent`,children:[(0,Y.jsx)(H,{className:`size-3.5`}),` `,R(`inspector.value`)]})]})]})}function Es({step:e,wizardId:t}){let n=(0,J.useContext)(fs),i=(0,J.useContext)(gs),a=B(),o=(0,J.useRef)(null),[s,c]=(0,J.useState)(``),[l,u]=(0,J.useState)(!1),[d,f]=(0,J.useState)(null);if(i)return(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:R(`widget.missing`)});let p=()=>{if(!n)return;let t=R(`widget.buildMessage`,{title:e.title,what:s.trim()}).trim();n.ask(t)?(c(``),f(null)):f(R(`addStep.busy`))},m=async n=>{if(n){u(!0),f(null);try{let i=encodeURIComponent(e.entry).replace(/%2F/g,`/`),a=await fetch(r(`/api/studio/wizards/${t}/files/${i}`),{method:`PUT`,credentials:`include`,headers:{"content-type":`text/html`,"accept-language":z},body:n});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(e.error??a.statusText)}}catch(e){f(e.message)}finally{u(!1),await a.invalidateQueries({queryKey:[`wizard`,t]})}}};return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-xl border border-border-strong border-dashed p-4`,children:[(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-2`,children:R(`widget.missing`)}),n?(0,Y.jsx)(L,{minRows:2,"aria-label":R(`widget.what`),placeholder:R(`widget.what`),value:s,onChange:e=>c(e.target.value)}):null,d?(0,Y.jsx)(`p`,{className:`text-[0.75rem] text-rose`,children:d}):null,(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[n?(0,Y.jsxs)(C,{size:`sm`,onClick:p,children:[(0,Y.jsx)(oe,{className:`size-3.5`}),` `,R(`widget.build`)]}):null,(0,Y.jsxs)(C,{variant:`ghost`,size:`sm`,busy:l,onClick:()=>o.current?.click(),children:[(0,Y.jsx)(ot,{className:`size-3.5`}),` `,R(`widget.upload`)]}),(0,Y.jsx)(`input`,{ref:o,type:`file`,accept:`text/html,.html,.htm`,hidden:!0,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,m(t)}})]})]})}function Ds({def:e,step:t,set:n,mcpServers:r,files:i,wizardId:a}){let o=e.steps.indexOf(t),c=(0,J.useContext)(gs),l=Et().plugins.flatMap(e=>e.tools),u=e.steps.slice(0,o).filter(e=>e.type===`agent`||e.type===`generate`||e.type===`widget`||e.type===`surface`);switch(t.type){case`widget`:return(0,Y.jsx)(Ts,{def:e,step:t,set:n,files:i,wizardId:a});case`surface`:return(0,Y.jsx)(ds,{def:e,step:t,set:n,section:(e,t)=>(0,Y.jsx)($,{title:e,children:t})});case`page`:return(0,Y.jsxs)($,{title:R(`inspector.questions`),loose:!0,children:[(0,Y.jsx)(`div`,{className:`flex flex-col gap-2`,children:t.fields.map((r,i)=>(0,Y.jsx)(Ss,{def:e,page:t,field:r,onChange:e=>n({...t,fields:t.fields.map((t,n)=>n===i?e:t)}),onRemove:()=>t.fields.length>1&&n({...t,fields:t.fields.filter((e,t)=>t!==i)}),onMove:e=>{let r=i+e;if(r<0||r>=t.fields.length)return;let a=[...t.fields];[a[i],a[r]]=[a[r],a[i]],n({...t,fields:a})}},r.id))}),c?null:(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>n({...t,fields:[...t.fields,{id:Bn(e,`question`),label:R(`step.new.question`),kind:`text`}]}),className:`inline-flex h-9 items-center gap-1.5 self-start rounded-full px-3 text-[0.8125rem] text-ink-2 hover:bg-accent`,children:[(0,Y.jsx)(H,{className:`size-4`}),` `,R(`inspector.addQuestion`)]})]});case`agent`:return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)($,{title:R(`inspector.task`),children:[(0,Y.jsx)(L,{value:t.instructions,minRows:6,maxRows:20,onChange:e=>n({...t,instructions:e.target.value}),className:`text-[0.875rem]`}),(0,Y.jsxs)(`p`,{className:`text-[0.75rem] text-ink-4`,children:[R(`inspector.insertAnswers`),` `,(0,Y.jsx)(`code`,{className:`font-mono`,children:`{{${R(`inspector.insertField`)}}}`}),R(`inspector.insertResults`),` `,(0,Y.jsx)(`code`,{className:`font-mono`,children:`{{steps.id}}`}),`.`]})]}),(0,Y.jsxs)($,{title:R(`inspector.tools`),children:[(0,Y.jsx)(y,{multi:!0,value:t.tools,options:[...new Set([...ce,...l.map(e=>e.id),...t.tools])],onChange:e=>n({...t,tools:e})}),(0,Y.jsxs)(`div`,{className:`-mt-2 flex flex-wrap gap-x-3 text-[0.75rem] text-ink-4`,children:[ce.map(e=>(0,Y.jsxs)(`span`,{children:[e,` = `,Gt(e)]},e)),l.map(e=>(0,Y.jsxs)(`span`,{children:[e.id,` = `,e.title]},e.id))]}),e.connections?.length?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(M,{hint:R(`inspector.personAccountsHint`),children:R(`inspector.personAccounts`)}),(0,Y.jsx)(y,{multi:!0,value:t.connections??[],options:e.connections.map(e=>e.id),onChange:e=>n({...t,connections:e.length?e:void 0})})]}):null,r.length?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(M,{hint:R(`inspector.systemsHint`),children:R(`inspector.systems`)}),(0,Y.jsx)(y,{multi:!0,value:t.mcp??[],options:r.map(e=>e.id),onChange:e=>n({...t,mcp:e.length?e:void 0})})]}):null]}),(0,Y.jsxs)($,{title:R(`inspector.output`),children:[(0,Y.jsx)(y,{value:t.output.format,options:[`text`,`markdown`,`json`],onChange:e=>n({...t,output:{...t.output,format:e}})}),(0,Y.jsx)(Mo,{model:t.model,effort:t.effort,onChange:e=>n({...t,...e})}),(0,Y.jsx)(x,{placeholder:R(`inspector.working`),value:t.working??``,onChange:e=>n({...t,working:e.target.value||void 0})})]})]});case`generate`:return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)($,{title:R(`inspector.whatMade`),children:[(0,Y.jsx)(y,{value:t.asset,options:[`image`,`video`,`voice`,`document`,`dashboard`],onChange:e=>n({...t,asset:e})}),(0,Y.jsx)(L,{value:t.prompt,minRows:5,maxRows:18,onChange:e=>n({...t,prompt:e.target.value}),className:`text-[0.875rem]`})]}),(0,Y.jsxs)($,{title:R(`inspector.options`),children:[t.asset===`document`||t.asset===`dashboard`?(0,Y.jsx)(Mo,{model:t.model,effort:t.effort,onChange:e=>n({...t,...e})}):null,t.asset===`image`||t.asset===`video`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(M,{children:R(`inspector.aspectRatio`)}),(0,Y.jsx)(y,{value:t.options?.aspectRatio??``,options:[...ve],onChange:e=>n({...t,options:{...t.options,aspectRatio:e}})}),(0,Y.jsx)(x,{placeholder:R(`inspector.style`),value:t.options?.style??``,onChange:e=>n({...t,options:{...t.options,style:e.target.value||void 0}})})]}):null,t.asset===`video`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(M,{children:R(`inspector.duration`)}),(0,Y.jsx)(y,{value:String(t.options?.duration??8),options:[`4`,`6`,`8`,`10`],onChange:e=>n({...t,options:{...t.options,duration:Number(e)}})}),(0,Y.jsx)(M,{children:R(`inspector.resolution`)}),(0,Y.jsx)(y,{value:t.options?.resolution??`720p`,options:[...s],onChange:e=>n({...t,options:{...t.options,resolution:e}})})]}):null,t.asset===`document`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(M,{children:R(`inspector.template`)}),(0,Y.jsx)(T,{value:t.options?.template??`free`,onChange:e=>n({...t,options:{...t.options,template:e}}),options:[`free`,`invoice`,`offer`,`briefing`,`letter`,`report`].map(e=>({value:e,label:e}))})]}):null]})]});case`review`:return(0,Y.jsxs)($,{title:R(`inspector.whatShown`),children:[(0,Y.jsx)(y,{multi:!0,value:t.show,options:u.map(e=>e.id),onChange:e=>e.length&&n({...t,show:e})}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:R(`inspector.editable`)}),(0,Y.jsx)(I,{checked:!!t.edit,onChange:e=>n({...t,edit:e})})]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:R(`inspector.redo`)}),(0,Y.jsx)(I,{checked:!!t.regenerate,onChange:e=>n({...t,regenerate:e})})]})]});case`result`:return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)($,{title:R(`inspector.ending`),children:(0,Y.jsx)(L,{minRows:2,placeholder:R(`inspector.endMessage`),value:t.message??``,onChange:e=>n({...t,message:e.target.value||void 0})})}),(0,Y.jsx)($,{title:R(`inspector.downloads`),children:u.map(e=>{let r=t.deliverables.find(t=>t.from===e.id),i=De(e);return(0,Y.jsxs)(`div`,{className:`rounded-lg bg-paper p-3 ring-1 ring-border-soft`,children:[(0,Y.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`truncate text-[0.875rem]`,children:e.title}),(0,Y.jsx)(I,{checked:!!r,onChange:r=>n({...t,deliverables:r?[...t.deliverables,{from:e.id,label:e.title,formats:[i[0]]}]:t.deliverables.filter(t=>t.from!==e.id)})})]}),r?(0,Y.jsx)(y,{multi:!0,value:r.formats,options:i,onChange:r=>r.length&&n({...t,deliverables:t.deliverables.map(t=>t.from===e.id?{...t,formats:r}:t)})}):null]},e.id)})})]})}}function Os({def:e,update:t}){return(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)($,{children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(M,{children:R(`inspector.title`)}),(0,Y.jsx)(x,{value:e.title,onChange:n=>t({...e,title:n.target.value})})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(M,{children:R(`inspector.description`)}),(0,Y.jsx)(L,{minRows:2,value:e.description,onChange:n=>t({...e,description:n.target.value})})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(M,{hint:R(`inspector.introHint`),children:R(`inspector.intro`)}),(0,Y.jsx)(L,{minRows:2,value:e.intro??``,onChange:n=>t({...e,intro:n.target.value||void 0})})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(M,{hint:R(`inspector.langHint`),children:R(`inspector.lang`)}),(0,Y.jsx)(T,{value:e.lang??``,onChange:n=>t({...e,lang:ie(n)?n:void 0}),options:[{value:``,label:R(`inspector.langAuto`)},...[...new Set([...Re,...e.lang?[e.lang]:[]])].map(e=>({value:e,label:m(e)})).sort((e,t)=>e.label.localeCompare(t.label))]})]})]}),(0,Y.jsx)($,{title:R(`inspector.avatar`),children:(0,Y.jsx)(`div`,{className:`grid grid-cols-5 gap-2`,children:Ae.map(n=>(0,Y.jsx)(`button`,{type:`button`,onClick:()=>t({...e,avatar:n}),className:A(`flex aspect-square items-center justify-center rounded-xl transition`,e.avatar===n?`bg-ember-tint ring-2 ring-ember`:`bg-paper hover:bg-paper-2`),"aria-label":n,children:(0,Y.jsx)(lt,{kind:n,size:44,interactive:!1})},n))})}),e.lists?.length||e.connections?.length?(0,Y.jsxs)($,{title:R(`inspector.remembers`),children:[(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:R(`inspector.remembersHint`)}),(e.connections??[]).map(e=>(0,Y.jsxs)(`div`,{className:`rounded-lg bg-paper px-3 py-2.5 ring-1 ring-border-soft`,children:[(0,Y.jsx)(`div`,{className:`text-[0.875rem]`,children:e.title??e.id}),(0,Y.jsxs)(`div`,{className:`text-[0.75rem] text-ink-4`,children:[R(`inspector.account`),` · `,e.kind]})]},e.id)),(e.lists??[]).map(e=>(0,Y.jsxs)(`div`,{className:`rounded-lg bg-paper px-3 py-2.5 ring-1 ring-border-soft`,children:[(0,Y.jsx)(`div`,{className:`text-[0.875rem]`,children:e.title}),(0,Y.jsxs)(`div`,{className:`text-[0.75rem] text-ink-4`,children:[R(`inspector.list`),` · `,e.columns.map(e=>e.name).join(`, `)]}),(0,Y.jsx)(`div`,{className:`mt-1 font-mono text-[0.6875rem] text-ink-4`,children:`{{lists.${e.id}}}`})]},e.id))]}):null]})}var ks=`__wizard`;function As({def:e,selected:t,onSelect:n,issues:r}){let i=[ks,...e.steps.map(e=>e.id)],a=t?i.indexOf(t):-1,o=(0,J.useRef)(null);(0,J.useEffect)(()=>{o.current?.scrollIntoView({block:`nearest`,inline:`center`,behavior:`smooth`})},[t]);let s=e=>{let t=a===-1?e===1?1:i.length-1:a+e;t>=0&&t<i.length&&n(i[t])},l=(0,J.useRef)(s);l.current=s,(0,J.useEffect)(()=>{let e=e=>{(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&(e.defaultPrevented||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey||e.target?.closest(`input, textarea, select, [contenteditable=""], [contenteditable="true"], [role="separator"], [role="slider"], [role="dialog"], .react-flow`)||(e.preventDefault(),l.current(e.key===`ArrowLeft`?-1:1)))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let u=`inline-flex size-8 shrink-0 items-center justify-center rounded-full transition`;return(0,Y.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-center gap-1 border-border-soft border-b bg-card/95 px-2 py-2 backdrop-blur`,children:[(0,Y.jsx)(N,{label:R(`editor.prevStep`),className:`size-8 shrink-0`,disabled:a===0,onClick:()=>s(-1),children:(0,Y.jsx)(ze,{className:`size-4`})}),(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center overflow-x-auto p-1 [scrollbar-width:none]`,children:[(0,Y.jsx)(`button`,{ref:t===ks?o:void 0,type:`button`,title:e.title,"aria-label":e.title,"aria-current":t===ks?`step`:void 0,onClick:()=>n(ks),className:A(u,`bg-paper-2 text-ink-2`,t===ks?`ring-2 ring-ember`:`hover:ring-2 hover:ring-border-soft`),children:(0,Y.jsx)(Pt,{className:`size-4`})}),e.steps.map((e,i)=>{let a=xt(e),s=e.id===t,c=r.some(t=>t.stepId===e.id);return(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center`,children:[(0,Y.jsx)(`span`,{className:`h-px w-3 bg-border-soft`}),(0,Y.jsxs)(`button`,{ref:s?o:void 0,type:`button`,title:`${i+1}. ${e.title}`,"aria-label":`${i+1}. ${e.title}`,"aria-current":s?`step`:void 0,onClick:()=>n(e.id),className:A(u,`relative`,Kt[e.type],s?`ring-2 ring-ember`:`opacity-70 hover:opacity-100`),children:[(0,Y.jsx)(a,{className:`size-4`}),c?(0,Y.jsx)(`span`,{className:`-top-0.5 -right-0.5 absolute size-2.5 rounded-full bg-rose ring-2 ring-card`}):null]})]},e.id)})]}),(0,Y.jsx)(`span`,{className:`shrink-0 px-1 text-[0.75rem] text-ink-4 tabular-nums`,children:a>0?`${a} / ${e.steps.length}`:``}),(0,Y.jsx)(N,{label:R(`editor.nextStep`),className:`size-8 shrink-0`,disabled:a===i.length-1,onClick:()=>s(1),children:(0,Y.jsx)(c,{className:`size-4`})})]})}function js({def:e,onSelect:t,issues:n}){return(0,Y.jsx)(`div`,{className:`flex flex-col gap-1 p-3`,children:e.steps.map((e,r)=>{let i=xt(e),a=n.some(t=>t.stepId===e.id);return(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>t(e.id),className:`flex items-center gap-3 rounded-lg px-3 py-2.5 text-left transition hover:bg-paper-2`,children:[(0,Y.jsx)(`span`,{className:`w-4 text-right text-[0.75rem] text-ink-4 tabular-nums`,children:r+1}),(0,Y.jsx)(`span`,{className:A(`inline-flex size-7 shrink-0 items-center justify-center rounded-md`,Kt[e.type]),children:(0,Y.jsx)(i,{className:`size-4`})}),(0,Y.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`span`,{className:`block truncate text-[0.875rem]`,children:e.title}),(0,Y.jsx)(`span`,{className:`block text-[0.75rem] text-ink-4`,children:St(e)})]}),a?(0,Y.jsx)(`span`,{className:`size-2 shrink-0 rounded-full bg-rose`}):null]},e.id)})})}function Ms(e){let{def:t,selected:n,onSelect:r,issues:i,readOnly:a=!1}=e,o=a?()=>{}:e.update,s=t.steps.find(e=>e.id===n);return(0,Y.jsx)(gs,{value:a,children:(0,Y.jsx)(fs.Provider,{value:e.assistant,children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(As,{def:t,selected:n,onSelect:r,issues:i}),n===ks?(0,Y.jsx)(Os,{def:t,update:o}):s?(0,Y.jsx)(Ns,{...e,update:o,step:s}):(0,Y.jsx)(js,{def:t,onSelect:r,issues:i})]})})})}function Ns({def:e,step:t,update:n,onSelect:r,issues:i,mcpServers:a,files:o,wizardId:s,decisions:c,branchFocus:u,assistant:f}){let p=e.steps.indexOf(t),m=t.type===`result`?p:p+1,[h,g]=(0,J.useState)(!1),[_,v]=(0,J.useState)(!1);(0,J.useEffect)(()=>g(!1),[t.id]);let y=xt(t),ee=r=>n({...e,steps:e.steps.map(e=>e.id===t.id?r:e)}),S=r=>{let i=p+r;if(i<0||i>=e.steps.length-(t.type===`result`?0:1)||e.steps[i].type===`result`)return;let a=[...e.steps];[a[p],a[i]]=[a[i],a[p]],n({...e,steps:a})},w=t=>{let i=Hn(e,m,t);n(i.def),g(!1),r(i.id)},T=(e,t,n)=>f?.add({at:m,kind:e,prompt:t,when:n})?(g(!1),!0):!1,E=i.filter(e=>e.stepId===t.id),D=ko(s,e),O=(0,J.useContext)(gs);return(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-5 py-4`,children:[(0,Y.jsx)(`span`,{className:A(`inline-flex size-7 items-center justify-center rounded-md`,Kt[t.type]),children:(0,Y.jsx)(y,{className:`size-4`})}),(0,Y.jsx)(`span`,{className:`font-medium text-[0.75rem] text-ink-3 uppercase tracking-[0.07em]`,children:St(t)}),(0,Y.jsx)(`span`,{className:`ml-auto font-mono text-[0.6875rem] text-ink-4`,children:t.id}),l(t)?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Ve,{items:[{label:R(`data.schema`),icon:(0,Y.jsx)(d,{className:`size-4 shrink-0`}),onClick:()=>v(!0)}]}),(0,Y.jsx)(le,{shape:b(t),title:t.title,open:_,onClose:()=>v(!1)})]}):null]}),E.length?(0,Y.jsx)(`div`,{className:`mx-5 mb-4 rounded-lg bg-rose-tint px-3 py-2 text-[0.8125rem] text-rose`,children:E.map((e,t)=>(0,Y.jsx)(`div`,{children:e.message},t))}):null,(0,Y.jsxs)($,{children:[(0,Y.jsx)(x,{value:t.title,onChange:e=>ee({...t,title:e.target.value}),className:`font-display font-semibold text-[1rem]`}),t.type===`page`||t.type===`review`?(0,Y.jsx)(L,{minRows:1,placeholder:R(`inspector.stepDescription`),value:t.description??``,onChange:e=>ee({...t,description:e.target.value||void 0})}):null,(0,Y.jsx)(jo,{estimate:D.data,stepId:t.id})]}),(0,Y.jsx)(Ds,{def:e,step:t,set:ee,mcpServers:a,files:o,wizardId:s}),t.type===`result`?null:(0,Y.jsx)(Rs,{def:e,step:t,set:ee,onSelect:r,decision:c?.[t.id],focus:u,estimate:D.data}),O?null:(0,Y.jsxs)($,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[t.type===`result`?null:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(N,{label:R(`editor.moveUp`),onClick:()=>S(-1),children:(0,Y.jsx)(Oe,{className:`size-4`})}),(0,Y.jsx)(N,{label:R(`editor.moveDown`),onClick:()=>S(1),children:(0,Y.jsx)(te,{className:`size-4`})}),(0,Y.jsx)(rs,{label:R(`editor.deleteStep`),onDelete:()=>{n({...e,steps:e.steps.filter(e=>e.id!==t.id)}),r(null)}})]}),(0,Y.jsxs)(C,{variant:`secondary`,size:`sm`,className:`ml-auto`,"aria-expanded":h,onClick:()=>g(e=>!e),children:[(0,Y.jsx)(H,{className:`size-3.5`}),` `,R(`addStep.add`)]})]}),f?.adding&&f.adding.at===m?(0,Y.jsx)(zn,{adding:f.adding,place:In(e,m),working:f.working,onShowChat:f.showChat}):h?(0,Y.jsx)(Rn,{place:In(e,m),branchable:m>0,onAdd:T,onEmpty:w,onCancel:()=>g(!1)}):null]})]})}function Ps({value:e,onChange:t}){let[n,r]=(0,J.useState)(e);return(0,J.useEffect)(()=>r(e),[e]),(0,Y.jsx)(L,{minRows:1,"aria-label":R(`editor.branch.statement`),value:n,onChange:e=>{r(e.target.value),e.target.value.trim()&&t(e.target.value)},onBlur:()=>r(e)})}function Fs(e,t){let n=e.steps.indexOf(t),r=[];for(let t of e.steps.slice(0,n+1))if(t.type===`page`)r.push(...t.fields.map(e=>e.id));else if(t.type===`agent`)for(let e of E(t))r.push(`steps.${t.id}.${e}`),we(t)&&r.push(`steps.${t.id}.${e}.p`);return r.push(...(e.lists??[]).map(e=>`lists.${e.id}.count`)),r}function Is(e,t){return`${St(t)} · ${e.steps.indexOf(t)+1} / ${e.steps.length}`}function Ls({def:e,target:t,estimate:n,onSelect:r}){let[i,a]=(0,J.useState)(!1),o=xt(t),s=n?.available?n.steps[t.id]?.credits:void 0,c=e.steps.indexOf(t),l=e.steps[c+1];return(0,Y.jsxs)(`div`,{className:`rounded-lg bg-paper-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2.5 px-3 py-2.5`,children:[(0,Y.jsx)(`span`,{className:A(`inline-flex size-7 shrink-0 items-center justify-center rounded-md`,Kt[t.type]),children:(0,Y.jsx)(o,{className:`size-4`})}),(0,Y.jsxs)(`button`,{type:`button`,className:`min-w-0 flex-1 text-left`,onClick:()=>r(t.id),title:R(`editor.next.open`),children:[(0,Y.jsx)(`span`,{className:`block text-[0.6875rem] text-ink-4`,children:Is(e,t)}),(0,Y.jsx)(`span`,{className:`block truncate font-medium text-[0.875rem] text-ink hover:underline`,children:t.title})]}),(0,Y.jsx)(N,{label:R(i?`editor.next.fold`:`editor.next.unfold`),className:`size-8 shrink-0`,onClick:()=>a(!i),children:i?(0,Y.jsx)(Lt,{className:`size-4`}):(0,Y.jsx)(de,{className:`size-4`})})]}),i?(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1 border-border-soft border-t px-3 py-2.5 text-[0.75rem] text-ink-3`,children:[ct(t)?(0,Y.jsx)(`span`,{className:`text-ink-2`,children:ct(t)}):null,s===void 0?null:(0,Y.jsxs)(`span`,{className:`tabular-nums`,children:[`≈`,` `,R(`nav.credits`,{n:s<10?s.toLocaleString(z,{maximumFractionDigits:1}):Math.round(s)})]}),(0,Y.jsxs)(`span`,{children:[R(`editor.next.then`),` →`,` `,t.type===`result`?R(`editor.branch.end`):t.next?.length?R(`editor.next.ways`,{count:t.next.length+1}):l?l.title:R(`editor.branch.end`)]}),(0,Y.jsxs)(`button`,{type:`button`,className:`mt-1 self-start font-medium text-ember hover:underline`,onClick:()=>r(t.id),children:[R(`editor.next.open`),` →`]})]}):null]})}function Rs({def:e,step:t,set:n,onSelect:r,decision:i,focus:a,estimate:o}){let s=(0,J.useRef)(null);(0,J.useEffect)(()=>{a&&s.current?.scrollIntoView({block:`start`,behavior:`smooth`})},[a]);let[c,l]=(0,J.useState)(null);(0,J.useEffect)(()=>l(null),[t.id]);let u=t.next??[],d=e.steps.indexOf(t),p=e.steps[d+1],m=t=>e.steps.find(e=>e.id===t)?.title??R(`editor.branch.end`),h=[...e.steps.filter(e=>e.id!==t.id).map(t=>({value:t.id,label:`${e.steps.indexOf(t)+1}. ${t.title}`})),{value:`end`,label:R(`editor.branch.end`)}],g=Fs(e,t),_=(e,r)=>{n({...t,next:r?u.map((t,n)=>n===e?r:t):u.length>1?u.filter((t,n)=>n!==e):void 0}),r||l(null)},v=e=>{let r=e.ask?u.length:u.filter(e=>e.when!==void 0).length;n({...t,next:[...u.slice(0,r),e,...u.slice(r)]}),l(r)},y=t=>{let n=e.steps.findIndex(e=>e.id===t);return n>=0&&n<=d},b=e=>i?.probabilities?.[e],ee=u.some(e=>e.ask),S=[...u.map((e,t)=>({rule:e,i:t})).filter(({rule:e})=>e.when!==void 0),...u.map((e,t)=>({rule:e,i:t})).filter(({rule:e})=>e.ask)],C=u.findIndex(O),w=C>=0?u[C].goto:p?.id??`end`,E=e.steps.find(e=>e.id===w),te=e=>{let r=u.filter(e=>!O(e)),i=e===(p?.id??`end`)?r:[...r,{goto:e}];n({...t,next:i.length?i:void 0})},D=`${R(`editor.branch.how`)} ${i?R(`editor.branch.lastRun`,{source:i.source===`systemone`?R(`editor.branch.bySystemOne`):R(`editor.branch.byLlm`)}):R(`editor.branch.notYet`)}`,k=e=>e?(0,Y.jsxs)(`span`,{className:`inline-flex shrink-0 cursor-help items-center gap-1 rounded-full bg-paper-3 px-2 py-0.5 font-medium text-[0.6875rem] text-ink-2`,title:D,children:[(0,Y.jsx)(oe,{className:`size-3 text-ember`}),` `,R(`editor.branch.ai`),(0,Y.jsx)(xn,{className:`size-3 text-ink-4`})]}):null,ne=(e,t)=>e===void 0?null:(0,Y.jsx)(`span`,{className:A(`shrink-0 text-[0.75rem] tabular-nums`,t?`font-medium text-moss`:`text-ink-3`),children:Ko(e)}),re=(e,t,n,i,a,o)=>{let s=c===e||e===`otherwise`&&c===-1;return(0,Y.jsxs)(`div`,{className:A(`rounded-lg bg-paper-2 ring-1`,i?`ring-moss`:`ring-transparent`),children:[(0,Y.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 px-3 pt-2.5 text-left`,onClick:()=>l(s?null:e===`otherwise`?-1:e),children:[t,ne(a,i),s?(0,Y.jsx)(Lt,{className:`size-4 shrink-0 text-ink-4`}):(0,Y.jsx)(de,{className:`size-4 shrink-0 text-ink-4`})]}),(0,Y.jsxs)(`div`,{className:`px-3 pt-1 pb-2.5 text-[0.75rem] text-ink-3`,children:[`→`,` `,n===`end`?R(`editor.branch.end`):(0,Y.jsx)(`button`,{type:`button`,className:`text-ink-2 hover:text-ink hover:underline`,onClick:()=>r(n),children:m(n)}),i?(0,Y.jsx)(`span`,{className:`ml-1.5 text-moss`,children:`✓`}):null]}),s?(0,Y.jsx)(`div`,{className:`flex flex-col gap-2 border-border-soft border-t px-3 py-3`,children:o}):null]},e)},ie=(t,n)=>(0,Y.jsxs)(Y.Fragment,{children:[t.ask?(0,Y.jsx)(Ps,{value:t.ask,onChange:e=>_(n,{...t,ask:e})}):(0,Y.jsx)(xs,{def:e,when:t.when,sources:g,label:R(`editor.branch.when`),noneLabel:R(`editor.branch.pick`),onChange:e=>{e&&_(n,{...t,when:e})}}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`shrink-0 text-[0.8125rem] text-ink-3`,children:`→`}),(0,Y.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Y.jsx)(T,{value:t.goto,onChange:e=>_(n,{...t,goto:e}),options:h})}),y(t.goto)?(0,Y.jsx)(x,{type:`number`,min:1,max:50,className:`w-20 shrink-0`,"aria-label":R(`editor.branch.max`),title:R(`editor.branch.max`),placeholder:`10`,value:t.max??``,onChange:e=>{let r=Math.round(Number(e.target.value));_(n,{...t,max:r>=1?Math.min(r,50):void 0})}}):null,(0,Y.jsx)(N,{label:R(`editor.branch.remove`),className:`shrink-0 hover:text-rose`,onClick:()=>_(n,null),children:(0,Y.jsx)(F,{className:`size-4`})})]})]}),ae=(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[(0,Y.jsxs)(`button`,{type:`button`,disabled:!g.length,onClick:()=>v({when:{field:g[0]??``,op:`notEmpty`},goto:p?.id??`end`}),className:`inline-flex h-8 items-center gap-1 rounded-full px-2.5 text-[0.75rem] text-ink-2 hover:bg-accent disabled:opacity-50`,children:[(0,Y.jsx)(H,{className:`size-3.5`}),` `,R(`editor.branch.addWhen`)]}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>v({ask:R(`editor.branch.newAsk`),goto:p?.id??`end`}),className:`inline-flex h-8 items-center gap-1 rounded-full px-2.5 text-[0.75rem] text-ink-2 hover:bg-accent`,children:[(0,Y.jsx)(oe,{className:`size-3.5`}),` `,R(`editor.branch.addAsk`)]})]});return(0,Y.jsx)(`div`,{ref:s,className:`scroll-mt-14`,children:(0,Y.jsxs)($,{title:S.length?R(`editor.next.ways`,{count:S.length+1}):R(`editor.next.title`),loose:!0,children:[u.length?(0,Y.jsxs)(Y.Fragment,{children:[S.map(({rule:e,i:t})=>re(t,(0,Y.jsxs)(Y.Fragment,{children:[k(!!e.ask),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[0.8125rem] text-ink`,children:e.ask??f(e.when).map(Jo).join(` ${R(`editor.branch.and`)} `)})]}),e.goto,i?.rule===t,b(`r${t}`),ie(e,t))),re(`otherwise`,(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 text-[0.8125rem] text-ink-3`,children:R(ee?`editor.branch.none`:`editor.otherwise`)}),w,i?.rule===null,b(`none`),(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`shrink-0 text-[0.8125rem] text-ink-3`,children:`→`}),(0,Y.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Y.jsx)(T,{value:w,onChange:te,options:h})})]}),E?(0,Y.jsx)(Ls,{def:e,target:E,estimate:o,onSelect:r}):null]}))]}):p?(0,Y.jsx)(Ls,{def:e,target:p,estimate:o,onSelect:r}):(0,Y.jsx)(`span`,{className:`text-[0.8125rem] text-ink-3`,children:R(`editor.branch.end`)}),ae]})})}var zs={title:`live.part.title`,description:`live.part.description`,fields:`live.part.fields`,groups:`live.part.fields`,cta:`live.part.cta`,instructions:`live.part.instructions`,tools:`live.part.tools`,mcp:`live.part.connections`,connections:`live.part.connections`,call:`live.part.tools`,output:`live.part.output`,model:`live.part.model`,effort:`live.part.model`,next:`live.part.next`,each:`live.part.each`,intro:`live.part.intro`,avatar:`live.part.avatar`,lists:`live.part.lists`};function Bs(e=[]){let t=[...new Set(e.map(e=>R(zs[e]??`live.part.other`)))],n=` ${R(`live.and`)} `;return t.length<=1?t[0]??R(`live.part.other`):`${t.slice(0,-1).join(`, `)}${n}${t[t.length-1]}`}function Vs(e){let t=e.name??``;switch(e.kind){case`wizard`:return R(`live.wizardChanged`,{parts:Bs(e.parts)});case`order`:return R(`live.order`);case`file`:return R(e.change===`added`?`live.fileAdded`:e.change===`removed`?`live.fileRemoved`:`live.fileChanged`,{name:t});default:return e.change===`added`?R(`live.stepAdded`,{name:t}):e.change===`removed`?R(`live.stepRemoved`,{name:t}):R(`live.stepChanged`,{name:t,parts:Bs(e.parts)})}}function Hs({change:e}){let t=e.change===`added`?`bg-moss-tint text-moss`:e.change===`removed`?`bg-rose-tint text-rose`:`bg-paper-2 text-ink-2`,n=e.change===`added`?H:e.change===`removed`?Cn:_e;return e.kind===`file`?n=Ce:e.kind===`order`&&(n=pt),(0,Y.jsx)(`span`,{className:A(`flex size-7 shrink-0 items-center justify-center rounded-lg`,t),children:(0,Y.jsx)(n,{className:`size-3.5`})})}function Us(e){let t=new Intl.RelativeTimeFormat(z,{numeric:`auto`}),n=Math.round((new Date(e).getTime()-Date.now())/6e4);if(n===0)return R(`live.justNow`);if(Math.abs(n)<60)return t.format(n,`minute`);let r=Math.round(n/60);return Math.abs(r)<24?t.format(r,`hour`):t.format(Math.round(r/24),`day`)}function Ws({wizard:e,actions:t,cloud:n,onClose:r}){let i=v({queryKey:[`wizard-changes`,e.id,e.revision],queryFn:()=>P.get(`/api/studio/wizards/${e.id}/changes`)}),[a,o]=(0,J.useState)(null),[s,c]=(0,J.useState)(null),l=i.data?.version??e.publishedVersion??0,u=l+1;if(a)return(0,Y.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,Y.jsx)(`span`,{className:`flex size-16 items-center justify-center rounded-full bg-moss-tint text-moss`,children:(0,Y.jsx)(p,{className:`size-7`,strokeWidth:2.25})}),(0,Y.jsx)(`h3`,{className:`font-display font-semibold text-xl`,children:R(`live.done`,{v:a.version})}),(0,Y.jsx)(`p`,{className:`max-w-sm text-[0.9375rem] text-ink-2`,children:R(n?`live.doneCloud`:`live.doneHint`,{v:a.version,was:l})}),a.cloud?.error?(0,Y.jsx)(`p`,{className:`max-w-sm rounded-lg bg-amber-tint px-3 py-2 text-[0.8125rem]`,children:a.cloud.error.message}):null]}),(0,Y.jsxs)(`div`,{className:`mt-4 flex flex-wrap items-center gap-2 max-sm:flex-col-reverse max-sm:items-stretch`,children:[(0,Y.jsx)(C,{variant:`ghost`,onClick:r,children:R(`live.close`)}),(0,Y.jsx)(`span`,{className:`flex-1 max-sm:hidden`}),(0,Y.jsx)(C,{onClick:t.share,children:R(`editor.share`)})]})]});let d=e.issues,f=i.data?.tested??null,m=i.data?.cost,h=[R(`live.keepRunning`,{v:l}),m&&Math.round(m.after)!==Math.round(m.before)?R(`live.cost`,{before:Math.round(m.before).toLocaleString(z),after:Math.round(m.after).toLocaleString(z)}):null,n?R(`live.cloud`,{v:u}):null].filter(e=>!!e);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,Y.jsx)(`p`,{className:`text-[0.9375rem] text-ink-2`,children:R(`live.intro`,{v:l,next:u})}),(0,Y.jsxs)(`section`,{className:`flex flex-col gap-1.5`,children:[(0,Y.jsx)(`h3`,{className:`font-medium text-[0.8125rem] text-ink-3`,children:R(`live.changed`)}),i.data?i.data.changes.length?(0,Y.jsx)(`ul`,{className:`flex flex-col gap-0.5`,children:i.data.changes.map((e,t)=>(0,Y.jsxs)(`li`,{className:`flex min-h-10 items-center gap-3 text-[0.875rem]`,children:[(0,Y.jsx)(Hs,{change:e}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1`,children:Vs(e)})]},t))}):(0,Y.jsx)(`p`,{className:`text-[0.875rem] text-ink-3`,children:R(`live.nothing`)}):i.error?(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:i.error.message}):(0,Y.jsx)(Pe,{className:`size-4 text-ink-4`})]}),d.length?(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-xl bg-amber-tint px-3.5 py-3 text-[0.875rem]`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Y.jsx)(Ze,{className:`mt-0.5 size-4 shrink-0 text-amber`}),(0,Y.jsx)(`span`,{className:`font-medium`,children:R(`live.fixFirst`)})]}),(0,Y.jsx)(`ul`,{className:`list-disc pl-12 text-[0.8125rem] text-ink-2`,children:d.slice(0,4).map((e,t)=>(0,Y.jsx)(`li`,{children:e.message},t))}),t.fix?(0,Y.jsx)(`div`,{className:`pl-7`,children:(0,Y.jsx)(C,{size:`sm`,variant:`secondary`,onClick:t.fix,children:R(`editor.fixWithChat`)})}):null]}):f?(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 rounded-xl bg-moss-tint px-3.5 py-3 text-[0.875rem]`,children:[(0,Y.jsx)(sn,{className:`size-4 shrink-0 text-moss`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-[1_1_14rem]`,children:R(f.status===`failed`?`live.testedFailed`:`live.tested`,{when:Us(f.at)})}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>t.openRun(f.runId),className:`text-[0.8125rem] text-ink-2 underline underline-offset-2 hover:text-ink`,children:R(`live.seeRun`)})]}):i.data?(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-2 rounded-xl bg-paper-2 px-3.5 py-3 text-[0.875rem]`,children:[(0,Y.jsx)(Tn,{className:`size-4 shrink-0 text-ink-3`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-[1_1_14rem]`,children:R(`live.untested`)}),(0,Y.jsx)(C,{size:`sm`,variant:`secondary`,onClick:t.test,children:R(`live.test`)})]}):null,(0,Y.jsx)(`ul`,{className:`flex flex-col gap-1.5 text-[0.8125rem] text-ink-3`,children:h.map(e=>(0,Y.jsxs)(`li`,{className:`flex items-start gap-2.5`,children:[(0,Y.jsx)(xn,{className:`mt-0.5 size-3.5 shrink-0`}),(0,Y.jsx)(`span`,{children:e})]},e))}),s?(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:s}):null,(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-border-soft border-t pt-4 max-sm:flex-col-reverse max-sm:items-stretch`,children:[(0,Y.jsx)(C,{variant:`ghost`,onClick:r,children:R(`live.cancel`)}),(0,Y.jsx)(`span`,{className:`flex-1 max-sm:hidden`}),(0,Y.jsx)(C,{busy:t.busy,disabled:t.disabled,onClick:()=>{c(null),t.publish().then(o).catch(e=>c(e.message))},children:t.busy?R(`live.going`):R(`live.go`)})]})]})}function Gs({wizard:e,open:t,onClose:n,actions:r,cloud:i}){return(0,Y.jsx)(K,{open:t,onClose:n,title:R(`live.title`),children:(0,Y.jsx)(Ws,{wizard:e,actions:r,cloud:i,onClose:n})})}function Ks({wizardId:e,projectId:t,def:n,readOnly:r}){let i=B(),a=Ge(t),[o,s]=(0,J.useState)(null),[c,l]=(0,J.useState)(!1),[u,d]=(0,J.useState)(null),f=[...(a.data?.pages??[]).filter(t=>t.wizardId===e).map(e=>({key:`p:${e.id}`,kind:`page`,title:e.title,at:e.updatedAt})),...(a.data?.tables??[]).filter(t=>t.wizardId===e).map(e=>({key:`t:${e.id}`,kind:`table`,title:e.title,at:e.updatedAt,rows:e.rows}))],p=n.steps.some(e=>e.type===`agent`&&e.tools.includes(`pages`)),m=(n.lists??[]).some(e=>e.shared),h=new Intl.DateTimeFormat(z,{dateStyle:`medium`}),g=()=>i.invalidateQueries({queryKey:[`space-data`,t]});if(o){let e=o.slice(2);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 px-5 py-5`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>{s(null),g()},className:`inline-flex h-8 items-center gap-1.5 self-start rounded-full px-2.5 text-[0.8125rem] text-ink-2 hover:bg-accent`,children:[(0,Y.jsx)(Te,{className:`size-4`}),` `,R(`memory.back`)]}),o.startsWith(`p:`)?(0,Y.jsx)(qe,{pageId:e,onGone:()=>{s(null),g()}}):(0,Y.jsx)(Ke,{tableId:e,onGone:()=>{s(null),g()}})]})}let _=async()=>{l(!0),d(null);try{let{id:n}=await P.post(`/api/studio/projects/${t}/pages`,{title:R(`memory.newNote`),wizardId:e});await g(),s(`p:${n}`)}catch(e){d(e.message)}finally{l(!1)}};return(0,Y.jsxs)(`div`,{className:`flex min-h-full flex-col gap-4 px-5 py-5`,children:[p||m?null:(0,Y.jsx)(`p`,{className:`rounded-lg bg-paper-2 px-3 py-2 text-[0.8125rem] text-ink-2`,children:R(`memory.unused`)}),a.isLoading?(0,Y.jsx)(Pe,{className:`size-4 text-ink-4`}):f.length?(0,Y.jsx)(`ul`,{className:`flex flex-col gap-1`,children:f.map(e=>{let t=Ue[e.kind];return(0,Y.jsx)(`li`,{children:(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>s(e.key),className:`flex w-full items-center gap-3 rounded-lg px-2 py-2 text-left hover:bg-paper-2`,children:[(0,Y.jsx)(t,{className:`size-4 shrink-0 text-ink-3`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[0.875rem]`,children:e.title}),(0,Y.jsxs)(`span`,{className:`shrink-0 text-[0.75rem] text-ink-4 tabular-nums`,children:[e.kind===`table`?`${R(`data.rows`,{n:e.rows??0})} · `:``,h.format(new Date(e.at))]})]})},e.key)})}):(0,Y.jsx)(`div`,{className:`rounded-xl border border-border border-dashed px-4 py-8 text-center text-[0.8125rem] text-ink-4`,children:R(`memory.none`)}),u?(0,Y.jsx)(`p`,{className:`text-[0.75rem] text-rose`,children:u}):null,r?null:(0,Y.jsxs)(`button`,{type:`button`,disabled:c,onClick:()=>void _(),className:A(`inline-flex h-9 items-center gap-1.5 self-start rounded-full bg-paper-2 px-3.5 font-medium text-[0.8125rem] text-ink-2 hover:bg-paper-3 hover:text-ink`,c&&`opacity-60`),children:[c?(0,Y.jsx)(Pe,{className:`size-3.5`}):(0,Y.jsx)(H,{className:`size-3.5`}),R(`memory.add`)]}),(0,Y.jsxs)(`div`,{className:`mt-auto flex flex-col gap-1.5 pt-6 text-[0.6875rem] text-ink-4 leading-relaxed`,children:[(0,Y.jsx)(`p`,{children:R(`memory.explain`)}),(0,Y.jsx)(`p`,{children:R(`memory.testCopy`)})]})]})}var qs={step_started:{Icon:Tn,tone:`text-ink-3`},step_done:{Icon:p,tone:`text-moss`},tool:{Icon:Qe,tone:`text-ink-3`},info:{Icon:xn,tone:`text-ink-3`},error:{Icon:Ze,tone:`text-rose`}},Js=e=>new Date(e).toLocaleTimeString(z,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`});function Ys(e,t){return t?`+${((new Date(e.at).getTime()-new Date(t.at).getTime())/1e3).toLocaleString(z,{maximumFractionDigits:1})} s`:``}function Xs(e,t){return e.map((n,r)=>[Js(n.at),Ys(n,e[r-1]),`[${R(`log.kind.${n.type}`)}]`,n.stepId?`${t[n.stepId]??n.stepId}:`:``,a(n)].filter(Boolean).join(` `)).join(`
|
|
3
|
-
`)}var Zs=`wizards.runLog.height`,Qs=108,$s=72,ec=()=>Math.max($s,Math.round(window.innerHeight*.6));function tc(){let[e,t]=(0,J.useState)(()=>{try{let e=Number(localStorage.getItem(Zs));return e?Math.min(Math.max(e,$s),ec()):Qs}catch{return Qs}});return{height:e,set:e=>{let n=Math.round(Math.min(Math.max(e,$s),ec()));t(n);try{localStorage.setItem(Zs,String(n))}catch{}}}}function nc({view:e,steps:t,onSelect:n,className:i}){let o=e?.events??[],s=Object.fromEntries(t.map(e=>[e.id,e.title])),[c,l]=(0,J.useState)(()=>!window.matchMedia(`(max-width: 1023px)`).matches),[u,d]=(0,J.useState)(!1),f=tc(),[m,h]=(0,J.useState)(!1),g=(0,J.useRef)(null),_=(0,J.useRef)(null),v=(0,J.useRef)(!0);(0,J.useEffect)(()=>{let e=_.current;e&&v.current&&(e.scrollTop=e.scrollHeight)},[o.length,c]);let y=o.at(-1);return(0,Y.jsxs)(`div`,{className:A(`flex min-h-0 flex-col bg-card`,i),children:[(0,Y.jsx)(`div`,{role:`separator`,tabIndex:0,"aria-orientation":`horizontal`,"aria-valuenow":c?f.height:0,"aria-valuemin":$s,"aria-label":R(`log.grip`),title:R(`log.grip`),onPointerDown:e=>{e.button===0&&(e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),g.current={y:e.clientY,height:c?f.height:0,moved:!1})},onPointerMove:e=>{let t=g.current;!t||!t.moved&&Math.abs(e.clientY-t.y)<4||(t.moved||(t.moved=!0,h(!0),l(!0)),f.set(t.height+(t.y-e.clientY)))},onPointerUp:()=>{let e=g.current&&!g.current.moved;g.current=null,h(!1),e&&l(!c)},onPointerCancel:()=>{g.current=null,h(!1)},onKeyDown:e=>{if(e.key===`ArrowUp`||e.key===`ArrowDown`){if(e.preventDefault(),!c){l(e.key===`ArrowUp`);return}f.set(f.height+(e.key===`ArrowUp`?32:-32))}else(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),l(!c))},className:`group -mb-1.5 flex h-3 shrink-0 cursor-row-resize touch-none items-center justify-center outline-none`,children:(0,Y.jsx)(`span`,{className:`h-1 w-10 rounded-full bg-ink-4/40 transition group-hover:bg-ink-4 group-focus-visible:bg-ember`})}),(0,Y.jsxs)(`div`,{className:`flex h-10 shrink-0 items-center gap-2 pr-1.5 pl-3`,children:[(0,Y.jsxs)(`button`,{type:`button`,"aria-expanded":c,onClick:()=>l(!c),className:`flex min-w-0 flex-1 items-center gap-2 text-left`,children:[(0,Y.jsx)(`span`,{className:`font-medium text-[0.75rem] text-ink-3 uppercase tracking-[0.07em]`,children:R(`log.title`)}),(0,Y.jsx)(`span`,{className:`text-[0.75rem] text-ink-4 tabular-nums`,children:R(`log.count`,{count:o.length})}),!c&&y?(0,Y.jsx)(`span`,{className:A(`min-w-0 flex-1 truncate text-[0.75rem]`,y.type===`error`?`text-rose`:`text-ink-2`),children:a(y)}):null,c?(0,Y.jsx)(de,{className:`ml-auto size-4 shrink-0 text-ink-3`}):(0,Y.jsx)(Lt,{className:`ml-auto size-4 shrink-0 text-ink-3`})]}),c&&o.length?(0,Y.jsx)(N,{label:R(u?`log.copied`:`log.copy`),onClick:()=>{navigator.clipboard.writeText(Xs(o,s)).then(()=>d(!0)).catch(()=>{}),setTimeout(()=>d(!1),1500)},children:u?(0,Y.jsx)(p,{className:`size-4 text-moss`}):(0,Y.jsx)(W,{className:`size-4`})}):null]}),(0,Y.jsx)(`div`,{className:A(`overflow-hidden`,!m&&`motion-safe:transition-[height] motion-safe:duration-200 motion-safe:ease-out`),style:{height:c?f.height:0},inert:!c,children:(0,Y.jsxs)(`ol`,{ref:_,onScroll:e=>{let t=e.currentTarget;v.current=t.scrollHeight-t.scrollTop-t.clientHeight<24},className:`h-full overflow-y-auto px-3 pb-3 text-[0.75rem]`,children:[o.length?null:(0,Y.jsx)(`li`,{className:`py-2 text-ink-3`,children:R(`log.empty`)}),o.map((t,i)=>{let{Icon:c,tone:l}=qs[t.type],u=t.stepId;return(0,Y.jsxs)(`li`,{className:A(`grid grid-cols-[4.25rem_1rem_minmax(0,1fr)] items-start gap-x-2 border-border-soft/60 border-t py-1.5 first:border-t-0`,t.type===`step_started`&&`mt-1`),children:[(0,Y.jsx)(`span`,{className:`text-ink-4 tabular-nums leading-5`,title:Ys(t,o[i-1]),children:Js(t.at)}),(0,Y.jsx)(c,{className:A(`mt-1 size-3.5`,l),"aria-label":R(`log.kind.${t.type}`)}),(0,Y.jsxs)(`span`,{className:`min-w-0 leading-5`,children:[u?(0,Y.jsx)(`button`,{type:`button`,onClick:()=>n(u),className:`mr-1.5 font-medium text-ink hover:underline`,children:s[u]??u}):null,(0,Y.jsx)(`span`,{className:A(`break-words`,t.type===`error`?`text-rose`:`text-ink-2`,t.type===`tool`&&`font-mono text-[0.6875rem]`),children:a(t)}),t.asset&&e?(0,Y.jsx)(`img`,{src:r(`/api/runs/${e.id}/assets/${t.asset}`),alt:``,className:`mt-1 block size-12 rounded-md object-cover ring-1 ring-border-soft`}):null]})]},t.id)})]})})]})}var rc={waiting_input:`runs.status.waiting_input`,running:`runs.status.running`,done:`runs.status.done`,failed:`runs.status.failed`,cancelled:`runs.status.cancelled`};function ic({wizardId:e,onOpen:t}){let n=v({queryKey:[`runs`,e],queryFn:()=>P.get(`/api/studio/wizards/${e}/runs`),refetchInterval:1e4});if(n.data&&!n.data.length)return(0,Y.jsx)(o,{children:R(`editor.noRuns`)});let r=new Intl.DateTimeFormat(z,{dateStyle:`short`,timeStyle:`short`});return(0,Y.jsx)(`div`,{className:`flex flex-col p-2`,children:n.data?.map(e=>(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>t(e.id),className:`flex items-center gap-3 rounded-lg px-3 py-3 text-left hover:bg-accent`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-[0.875rem]`,children:[r.format(new Date(e.createdAt)),e.mode===`test`?(0,Y.jsx)(j,{children:R(`run.testChip`)}):(0,Y.jsxs)(j,{tone:`live`,children:[`Live v`,e.version]})]}),(0,Y.jsxs)(`div`,{className:`truncate text-[0.75rem] text-ink-3`,children:[rc[e.status]?R(rc[e.status]):e.status,e.stepTitle&&e.status!==`done`?` · ${e.stepTitle}`:``]})]}),(0,Y.jsx)(`span`,{className:`text-[0.75rem] text-ink-4 tabular-nums`,children:R(`nav.credits`,{n:e.credits})})]},e.id))})}var ac=he(),oc=new Set([`html`,`md`,`txt`,`csv`,`json`]),sc=new Set([`code`]),cc=new Set([`web_search`,`browser`,`sandbox`,`image`]),lc=new Set([`web_fetch`,`http`]),uc=/\{\{\s*memory\b/;function dc(e){switch(e.type){case`agent`:return[e.instructions,e.call?JSON.stringify(e.call.input):``];case`generate`:return[e.prompt,e.options?.style??``];case`film`:return[e.brief];case`widget`:case`surface`:return Object.values(e.data).map(e=>`{{${u(e)}}}`);default:return[]}}function fc(e,t){return e.steps.slice(t+1).some(e=>e.type===`agent`&&!e.call||e.type===`generate`||e.type===`film`)}function pc(e,t){let n=[],r=(t,r)=>{let i=n.find(e=>e.need===t);i?i.hard||=r:n.push({stepId:e.id,need:t,hard:r})},i=t.steps.indexOf(e);for(let t of dc(e))uc.test(t)&&r(`memory`,!0),fe(t).some(e=>e.startsWith(`lists.`))&&r(`lists`,!0);switch(e.type){case`page`:for(let n of e.fields){switch(n.kind){case`audio`:r(`field:audio`,!!n.required);break;case`connection`:r(`field:connection`,!0);break;case`slot`:r(`field:slot`,!0);break;case`list`:r(`lists`,!0);break;case`location`:r(`field:location`,!1);break;case`image`:r(`field:image`,!1);break;case`file`:fc(t,i)?r(`field:file-read`,!0):r(`field:file`,!1)}n.optionsFrom&&S(u(n.optionsFrom).split(`.`).slice(0,2).join(`.`))&&r(`lists`,!0)}break;case`agent`:{let t=e.call?[...e.tools,e.call.tool]:e.tools;for(let e of t){let t=se(e);t?r(`plugin:${t.plugin}`,!0):lc.has(e)||sc.has(e)||(cc.has(e)?r(`tool:${e}`,!0):r(`tool:${e}`,!1))}e.mcp?.length&&r(`mcp`,!0),e.connections?.length&&r(`connections`,!0),e.each&&(S(u(e.each))?r(`lists`,!0):r(`each`,!1));break}case`generate`:e.asset!==`document`&&e.asset!==`dashboard`&&r(`asset:${e.asset}`,!0);break;case`film`:r(`film`,!0);break;case`widget`:r(e.video?`widget:video`:`widget`,!0);break;case`surface`:Object.values(e.data).some(e=>S(u(e)))&&r(`lists`,!0);break;case`review`:e.show.some(e=>S(e))&&r(`lists`,!0);break;case`result`:for(let n of e.deliverables){if(S(n.from)){r(`lists`,!0);continue}let e=t.steps.find(e=>e.id===n.from);if(e?.type!==`agent`&&(e?.type!==`generate`||e.asset!==`document`&&e.asset!==`dashboard`))continue;let i=n.formats.some(e=>oc.has(e));for(let t of n.formats)oc.has(t)||(t!==`pdf`||e?.type!==`agent`)&&r(`format:${t}`,t!==`pdf`&&!i)}}return n}function mc(e){let t=e.steps.flatMap(t=>pc(t,e));e.lists?.length&&!t.some(e=>e.need===`lists`)&&t.push({stepId:e.steps[0]?.id??``,need:`lists`,hard:!0}),e.connections?.length&&!t.some(e=>e.need===`connections`)&&t.push({stepId:e.steps[0]?.id??``,need:`connections`,hard:!0});let n=_c(e);return{fit:t.some(e=>e.hard&&n.has(e.stepId))?`no`:t.length?`less`:`full`,notes:t}}function hc(e){switch(e){case`tool:web_search`:case`tool:web_fetch`:return`web`;case`tool:browser`:return`browser`;case`tool:sandbox`:return`code`;case`tool:image`:case`asset:image`:return`image`;case`asset:video`:case`film`:case`widget:video`:return`video`;case`asset:voice`:return`speech`;case`field:audio`:return`listening`;case`tool:http`:case`mcp`:case`connections`:case`field:connection`:return`connectors`;case`field:image`:case`field:file`:case`field:file-read`:return`documents`;default:return null}}function gc(e){let t=mc(e),n=_c(e),r=new Set,i=new Set,a=new Set,o=new Set;for(let e of t.notes){if(e.need.startsWith(`plugin:`)){a.add(e.need.slice(7));continue}if(e.need.startsWith(`format:`)){o.add(e.need.slice(7));continue}let t=hc(e.need);t&&(e.hard&&n.has(e.stepId)?r.add(t):i.add(t))}for(let e of r)i.delete(e);return{...t,missing:[...r],optional:[...i],needs:[...a].sort(),without:[...o]}}function _c(e){return e.steps.length?vc(e,e.steps[0].id,{}):new Set}function vc(e,t,n){let r=new Map(e.steps.map((e,t)=>[e.id,t])),i=r.get(t)??0,a=t=>{let i=[];for(let a of e.steps[t].next??[]){if(O(a))continue;let t=a.goto===`end`?e.steps.length:r.get(a.goto)??-1;if(a.ask||!f(a.when).every(e=>e.field in n)){t>=0&&i.push(t);continue}if(G(a,n))return t>=0?[...i,t]:i}return i.push(yc(e,t,r)),i},o=t=>{if(t===i)return!1;let n=new Set([i]),r=[i];for(;r.length;){let i=r.shift();if(i>=e.steps.length)return!0;for(let e of a(i))e!==t&&!n.has(e)&&(n.add(e),r.push(e))}return!1};return new Set(e.steps.filter((e,t)=>!o(t)).map(e=>e.id))}function yc(e,t,n){let r=e.steps[t].next?.find(O)?.goto;return r===void 0?t+1:r===`end`?e.steps.length:n.get(r)??t+1}function bc(e){return(0,J.useMemo)(()=>gc(e),[e])}function xc({fit:e}){return(0,Y.jsx)(j,{tone:e===`full`?`live`:e===`less`?`warn`:`neutral`,children:R(e===`full`?`share.wpFull`:e===`less`?`share.wpLess`:`share.wpNo`)})}var Sc={lists:`need.lists`,memory:`need.memory`,each:`need.each`,"field:slot":`need.field:slot`,"asset:document":`need.asset:document`,"asset:dashboard":`need.asset:dashboard`,"tool:pages":`need.tool:pages`};function Cc(e,t){let n=[],r=new Set,i=(e,t)=>{r.has(e)||(r.add(e),n.push(t))};e.steps.some(e=>e.type===`agent`&&!e.call)&&i(`text`,{text:ut(`capability`,`text`,z),tone:`ok`});for(let e of t.missing)i(e,{text:ut(`capability`,e,z),tone:`missing`});for(let e of t.optional)i(e,{text:ut(`capability`,e,z),tone:`optional`});for(let e of t.notes){let t=Sc[e.need];t&&!hc(e.need)&&i(e.need,{text:R(t),tone:e.hard?`missing`:`optional`})}for(let e of t.without)i(`format:${e}`,{text:R(`need.format`,{format:Le[e]}),tone:`optional`});return n}function wc({def:e,fit:t}){let n=Cc(e,t);return(0,Y.jsxs)(`ul`,{className:`flex flex-col gap-1.5 text-[0.8125rem]`,children:[n.map(e=>(0,Y.jsxs)(`li`,{className:`flex items-center gap-2`,children:[e.tone===`ok`?(0,Y.jsx)(p,{className:`size-4 shrink-0 text-cobalt`}):e.tone===`missing`?(0,Y.jsx)(ln,{className:`size-4 shrink-0 text-rose`}):(0,Y.jsx)(Ze,{className:`size-4 shrink-0 text-amber`}),(0,Y.jsx)(`span`,{className:A(e.tone===`missing`&&`text-ink-2`),children:e.text}),e.tone===`ok`?null:(0,Y.jsx)(`span`,{className:A(`text-[0.75rem]`,e.tone===`missing`?`text-rose`:`text-amber`),children:R(e.tone===`missing`?`need.missing`:`need.optional`)})]},e.text)),t.needs.length?(0,Y.jsxs)(`li`,{className:`flex items-center gap-2 text-ink-2`,children:[(0,Y.jsx)(ln,{className:`size-4 shrink-0 text-rose`}),R(`share.wpNeedsAccount`,{list:t.needs.join(`, `)})]}):null]})}function Tc({wizard:e,locked:t,onPatch:n}){let[r,i]=(0,J.useState)(null),a=v({queryKey:[`wizard-translations`,e.id],queryFn:()=>P.get(`/api/studio/wizards/${e.id}/translations`),enabled:e.published}),o=B(),s=q({mutationFn:t=>P.del(`/api/studio/wizards/${e.id}/translations/${t}`),onSuccess:()=>o.invalidateQueries({queryKey:[`wizard-translations`,e.id]})}),c=r?a.data?.translations.find(e=>e.lang===r):null;return c&&a.data?(0,Y.jsx)(Ec,{wizardId:e.id,code:c.lang,texts:a.data.texts,memory:c.texts,onClose:()=>i(null)}):(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 border-border-soft border-t pt-5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start gap-4`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`div`,{className:`font-medium text-[0.875rem]`,children:R(`translate.offer`)}),(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:R(`translate.offerHint`)})]}),(0,Y.jsx)(I,{checked:e.translate,disabled:t,onChange:e=>n({translate:e}),label:R(`translate.offer`)})]}),a.data?.translations.length?(0,Y.jsx)(`ul`,{className:`flex flex-col divide-y divide-border-soft rounded-xl ring-1 ring-border-soft`,children:a.data.translations.map(e=>(0,Y.jsxs)(`li`,{className:`flex items-center gap-3 py-1.5 pr-1.5 pl-3.5`,children:[(0,Y.jsxs)(`span`,{className:`min-w-0 flex-1 text-[0.875rem]`,children:[m(e.lang),(0,Y.jsxs)(`span`,{className:`ml-2 text-[0.75rem] text-ink-3`,children:[R(Object.values(e.texts).some(e=>e.by===`author`)?`translate.byYou`:`translate.byMachine`),` `,`· `,new Date(e.updatedAt).toLocaleDateString(z)]})]}),(0,Y.jsx)(N,{label:R(`translate.edit`),disabled:t,onClick:()=>i(e.lang),children:(0,Y.jsx)(_e,{className:`size-4`})}),(0,Y.jsx)(N,{label:R(`translate.delete`),disabled:t||s.isPending,onClick:()=>s.mutate(e.lang),children:(0,Y.jsx)(F,{className:`size-4`})})]},e.lang))}):e.translate&&e.published?(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:R(`translate.none`)}):null]})}function Ec({wizardId:e,code:t,texts:n,memory:r,onClose:i}){let a=B(),[o,s]=(0,J.useState)({}),c=q({mutationFn:()=>P.put(`/api/studio/wizards/${e}/translations/${t}`,{lines:o}),onSuccess:async()=>{await a.invalidateQueries({queryKey:[`wizard-translations`,e]}),i()}}),l=Object.keys(o).length>0;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4 border-border-soft border-t pt-5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(N,{label:R(`common.back`),onClick:i,children:(0,Y.jsx)(ze,{className:`size-4`})}),(0,Y.jsx)(`span`,{className:`flex-1 font-medium text-[0.875rem]`,children:m(t)}),(0,Y.jsx)(C,{size:`sm`,busy:c.isPending,disabled:!l,onClick:()=>c.mutate(),children:R(`translate.save`)})]}),(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:R(`translate.editHint`)}),(0,Y.jsx)(`div`,{className:`flex flex-col gap-3`,children:n.map(e=>(0,Y.jsxs)(`div`,{className:`grid gap-1.5 sm:grid-cols-2 sm:gap-3`,children:[(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3 leading-relaxed`,children:e}),(0,Y.jsx)(L,{minRows:1,maxRows:6,lang:t,value:o[e]??r[e]?.text??``,onChange:t=>s(n=>({...n,[e]:t.target.value}))})]},e))}),c.error?(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:c.error.message}):null]})}var Dc=`https://github.com/engenty/engenty-wizards-wp-plugin/releases/latest/download/engenty-wizards.zip`,Oc={qr:`share.qr`,website:`share.onWebsite`,package:`share.wpLocal`,settings:`share.settings`,channels:`new.where`};function kc(e,t){let{settings:n}=e,r=at.map(e=>e.id);return e.runners.filter(e=>n.enabled.includes(e.id)).map(e=>{let r=nt(e.id),i=r?.group??(e.kind===`page`?`web`:`message`),a=e.fit.outcome===`no`?R(`share.fit.no`,{steps:e.fit.steps.map(e=>e.title).join(`, `)}):null,o={id:e.id,group:i,name:r?R(r.label):e.label[z],icon:r?(0,Y.jsx)(tt,{channel:r}):(0,Y.jsx)(gt,{className:`size-4`}),problem:e.problem??null,problemKind:e.problemKind??`setup`,problemNote:e.problemNote?.[z]??null,problemPlan:e.problemPlan??null,plugin:e.plugin};if(e.kind===`page`){let r=t?e.id===n.default?t:`${t}/${e.id}`:null;return{...o,note:a,copy:r?{text:r,number:!1}:null,link:r}}let s=e.address,c=s?.keyword&&s.number?R(`share.keywordTo`,{keyword:s.keyword,number:s.number}):s?.number??null,l=null;return s?.link?l={text:s.link,number:!1}:s?.number&&(l={text:s.number,number:!0}),{...o,note:a??c,copy:l,link:s?.link??null}}).sort((e,t)=>r.indexOf(e.group)-r.indexOf(t.group))}function Ac(){let[e,t]=(0,J.useState)(null),n=(0,J.useRef)(void 0);return(0,J.useEffect)(()=>()=>clearTimeout(n.current),[]),{copied:e,copy:(e,r)=>{navigator.clipboard.writeText(r).then(()=>{t(e),clearTimeout(n.current),n.current=setTimeout(()=>t(null),1500)}).catch(()=>t(null))}}}function jc({children:e,className:t}){return(0,Y.jsx)(`div`,{className:A(`min-h-0 flex-1 overflow-y-auto px-4 pt-2 pb-5 sm:px-6`,t),children:e})}function Mc({children:e}){return(0,Y.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2 border-border-soft border-t px-4 py-3.5 sm:px-5`,children:e})}var Nc=`text-[0.8125rem] font-medium text-ink-3`;function Pc({warn:e,done:t,title:n,children:r,action:i}){return(0,Y.jsxs)(`div`,{className:A(`flex flex-wrap items-center gap-x-3 gap-y-2 rounded-xl px-3.5 py-3 text-[0.875rem]`,e?`bg-amber-tint`:t?`bg-moss-tint`:`bg-paper-2`),children:[e?(0,Y.jsx)(Ze,{className:`size-4 shrink-0 self-start text-amber sm:mt-0.5`}):null,t?(0,Y.jsx)(sn,{className:`size-4 shrink-0 self-start text-moss sm:mt-0.5`}):null,(0,Y.jsxs)(`div`,{className:`min-w-0 flex-[1_1_14rem]`,children:[n?(0,Y.jsx)(`div`,{className:`font-medium`,children:n}):null,r?(0,Y.jsx)(`div`,{className:A(n&&`text-[0.8125rem] text-ink-2`),children:r}):null]}),i]})}var Fc={sandbox:`cloud.problem.sandbox`,mcp:`cloud.problem.mcp`,model:`cloud.problem.model`,connector:`cloud.problem.connector`,invalid:`cloud.problem.invalid`};function Ic({problems:e}){return(0,Y.jsx)(`ul`,{className:`flex flex-col gap-2 text-[0.8125rem] text-ink-2`,children:e.map((e,t)=>(0,Y.jsxs)(`li`,{children:[e.steps.length?(0,Y.jsxs)(`span`,{className:`font-medium text-ink`,children:[e.steps.map(e=>R(`cloud.stepName`,{title:e.title})).join(`, `),`:`,` `]}):null,R(Fc[e.code]??`cloud.problem.invalid`,{detail:e.detail}),e.detail&&e.code!==`mcp`&&e.code!==`sandbox`?(0,Y.jsxs)(`details`,{className:`mt-0.5`,children:[(0,Y.jsx)(`summary`,{className:`cursor-pointer text-[0.75rem] text-ink-4 hover:text-ink-3`,children:R(`share.details`)}),(0,Y.jsx)(`span`,{className:`mt-0.5 block break-words font-mono text-[0.6875rem] text-ink-4`,children:e.detail})]}):null]},t))})}var Lc=()=>new Intl.DateTimeFormat(z,{timeStyle:`short`});function Rc({error:e}){let t=B(),n=e.reason===`space_limit`,r=v({queryKey:[`cloud-spaces`],queryFn:()=>P.get(`/api/studio/cloud/spaces`),enabled:n,retry:!1}),i=q({mutationFn:()=>P.post(`/api/studio/cloud/replace`),onSettled:()=>Promise.all([t.invalidateQueries({queryKey:[`cloud`]}),t.invalidateQueries({queryKey:[`cloud-spaces`]}),t.invalidateQueries({queryKey:[`wizards`]})])});if(!n)return(0,Y.jsxs)(`p`,{children:[e.message,` `,e.reason===`signed_out`?(0,Y.jsx)(h,{to:`/settings/account`,className:`font-medium underline underline-offset-2`,children:R(`local.toAccount`)}):null,e.again?(0,Y.jsx)(`span`,{className:`text-ink-3`,children:R(`cloud.again`,{when:Lc().format(new Date(e.again))})}):null]});let a=(r.data?.spaces??[]).map(e=>e.name);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(`p`,{children:e.message}),(0,Y.jsx)(`p`,{className:`text-ink-2`,children:R(`cloud.spaceLimit`)}),a.length?(0,Y.jsx)(`ul`,{className:`list-disc pl-5`,children:a.map((e,t)=>(0,Y.jsx)(`li`,{children:e},t))}):null,(0,Y.jsx)(`div`,{children:(0,Y.jsx)(C,{variant:`secondary`,size:`sm`,busy:i.isPending,onClick:()=>window.confirm(R(`cloud.replaceConfirm`))&&i.mutate(),children:R(`cloud.replace`)})}),i.error?(0,Y.jsx)(`p`,{className:`text-rose`,children:i.error.message}):null]})}function zc({wizard:e,where:t,cloud:n}){let r=B(),i=q({mutationFn:()=>P.post(`/api/studio/wizards/${e.id}/cloud`),onSuccess:t=>{r.setQueryData([`cloud`,e.id],t),r.invalidateQueries({queryKey:[`wizards`]})}});if(t.kind!==`missing`&&t.kind!==`sending`)return null;let a=n?.copy??null,o=n?.error??null,s=a&&!a.runnable?a.problems.filter(e=>e.blocking):[],c=(!a||a.version<(e.publishedVersion??0)||o)&&o?.reason!==`space_limit`&&o?.reason!==`signed_out`;return(0,Y.jsx)(Pc,{warn:!0,action:c?(0,Y.jsx)(C,{variant:`secondary`,size:`sm`,busy:i.isPending,onClick:()=>i.mutate(),children:R(a||o?`cloud.resend`:`cloud.send`)}):null,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[o?(0,Y.jsx)(Rc,{error:o}):t.kind===`missing`?(0,Y.jsx)(`p`,{children:t.why}):null,o&&t.runs!==null?(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:R(`cloud.keepsRunning`,{v:t.runs})}):null,s.length?(0,Y.jsx)(Ic,{problems:s}):null,i.error?(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:i.error.message}):null]})})}function Bc({account:e}){let t=me(),n=Nt(!1);return e?(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl bg-paper-2 px-3.5 py-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Y.jsx)(kt,{className:`mt-0.5 size-4 shrink-0 text-ink-3`}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`font-medium text-[0.875rem]`,children:R(`share.others`)}),(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-2`,children:R(`share.localHint`)})]})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2 pl-7`,children:[(0,Y.jsx)(C,{size:`sm`,busy:n.link.isPending,onClick:()=>n.link.mutate({}),children:R(`account.signIn`)}),(0,Y.jsx)(C,{size:`sm`,variant:`secondary`,onClick:()=>t(`/settings/account`),children:R(`account.create`)})]}),(0,Y.jsx)(vt,{...n})]}):(0,Y.jsx)(Pc,{children:R(`where.hereHint`)})}function Vc({wizard:e,here:t,onChange:n}){let[r,i]=(0,J.useState)(!1),a=(0,J.useRef)(null),o=(0,J.useId)();(0,J.useEffect)(()=>{if(!r)return;let e=e=>{a.current?.contains(e.target)||i(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[r]);let s=e.shareEnabled,c=[{on:!0,label:R(`share.anyone`),hint:R(`share.anyoneMenu`),Icon:Tt},{on:!1,label:R(`share.onlyYou`),hint:R(`share.onlyYouHint`),Icon:Xe}],l=s?Tt:Xe,u=R(s?`share.anyone`:`share.onlyYou`),d=s?R(`share.anyoneHint`,{n:e.dailyRunLimit.toLocaleString(z)}):R(`share.onlyYouHint`);return t&&(l=mt,u=R(`share.thisComputer`),d=R(`share.thisComputerHint`)),(0,Y.jsxs)(`section`,{"aria-labelledby":o,className:`flex flex-col gap-2`,children:[(0,Y.jsx)(`h3`,{id:o,className:Nc,children:R(`share.access`)}),(0,Y.jsxs)(`div`,{ref:a,className:`relative flex items-center gap-3`,children:[(0,Y.jsx)(`span`,{className:A(`flex size-10 shrink-0 items-center justify-center rounded-full`,s&&!t?`bg-moss-tint text-moss`:`bg-paper-2 text-ink-2`),children:(0,Y.jsx)(l,{className:`size-[1.125rem]`})}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[t||e.readOnly?(0,Y.jsx)(`div`,{className:`font-medium text-[0.9375rem]`,children:u}):(0,Y.jsxs)(`button`,{type:`button`,"aria-haspopup":`menu`,"aria-expanded":r,onClick:()=>i(e=>!e),className:`-ml-1 inline-flex min-h-7 items-center gap-1 rounded-md px-1 font-medium text-[0.9375rem] hover:bg-accent`,children:[u,(0,Y.jsx)(de,{className:`size-4 text-ink-3`})]}),(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:d})]}),r?(0,Y.jsx)(`div`,{role:`menu`,"aria-label":R(`share.access`),onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),i(!1))},className:`absolute top-full left-10 z-10 mt-1 flex w-[min(21rem,calc(100%-2.5rem))] origin-top-left animate-unfold flex-col gap-0.5 rounded-xl bg-card p-1.5 shadow-overlay ring-1 ring-border`,children:c.map(e=>(0,Y.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e.on===s,onClick:()=>{i(!1),e.on!==s&&n(e.on)},className:A(`flex min-h-14 items-center gap-3 rounded-lg px-2.5 py-2 text-left transition hover:bg-accent`,e.on===s&&`bg-paper-2`),children:[(0,Y.jsx)(e.Icon,{className:`size-4 shrink-0 text-ink-3`}),(0,Y.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`span`,{className:`block font-medium text-[0.875rem]`,children:e.label}),(0,Y.jsx)(`span`,{className:`block text-[0.8125rem] text-ink-3`,children:e.hint})]}),(0,Y.jsx)(`span`,{className:`flex w-4 shrink-0 justify-center`,children:e.on===s?(0,Y.jsx)(p,{className:`size-4`}):null})]},e.label))}):null]})]})}function Hc({ways:e,blocked:t,locked:n,note:r,copied:i,copy:a,onChange:o,onSetUp:s,plansUrl:c}){let l=(0,J.useId)(),u=at.filter(t=>e.some(e=>e.group===t.id));return(0,Y.jsxs)(`section`,{"aria-labelledby":l,className:`flex flex-col`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsx)(`h3`,{id:l,className:Nc,children:R(`share.ways`)}),n?null:(0,Y.jsx)(`button`,{type:`button`,onClick:o,className:`min-h-8 text-[0.8125rem] text-ink-2 underline underline-offset-[3px] hover:text-ink`,children:R(`share.change`)})]}),u.map(r=>(0,Y.jsxs)(`div`,{className:A(`flex flex-col`,t&&`opacity-50`),children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 pt-2 pb-0.5 text-[0.75rem] text-ink-3`,children:[(0,Y.jsx)(r.icon,{className:`size-3.5`}),` `,R(r.label)]}),(0,Y.jsx)(`ul`,{className:`flex flex-col`,children:e.filter(e=>e.group===r.id).map(e=>{let r=i===e.id,o=null;if(e.problem&&e.problemKind===`plan`)o=c?(0,Y.jsx)(C,{size:`sm`,variant:`secondary`,onClick:()=>dt(c),children:e.problemPlan?R(`share.seePlan`,{plan:e.problemPlan}):R(`share.seePlans`)}):null;else if(e.problem&&e.problemKind===`waiting`)o=null;else if(e.problem)o=n?null:(0,Y.jsx)(C,{size:`sm`,variant:`quiet`,onClick:()=>s(e),children:R(`share.setUp`)});else if(e.copy){let{text:n,number:i}=e.copy;o=(0,Y.jsxs)(C,{size:`sm`,variant:`secondary`,disabled:t,"aria-label":R(i?`share.copyNumberFor`:`share.copyLinkFor`,{name:e.name}),onClick:()=>a(e.id,n),children:[r?(0,Y.jsx)(p,{className:`size-3.5`}):(0,Y.jsx)(W,{className:`size-3.5`}),R(r?`share.copied`:i?`share.copyNumber`:`share.copyLink`)]})}return(0,Y.jsxs)(`li`,{className:`flex min-h-13 items-center gap-3 py-1`,children:[(0,Y.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-lg bg-paper-2 text-ink-2`,children:e.icon}),(0,Y.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`span`,{className:`block text-[0.9375rem]`,children:e.name}),e.problem?(0,Y.jsx)(`span`,{className:A(`block text-[0.8125rem]`,e.problemKind===`setup`?`text-amber`:`text-ink-3`),title:e.problem,children:e.problemNote??R(e.problemKind===`waiting`?`share.waiting`:e.problemKind===`plan`?`share.notInPlan`:`share.unset`)}):e.note?(0,Y.jsx)(`span`,{className:`block truncate text-[0.8125rem] text-ink-3`,title:e.note,children:e.note}):null]}),o]},e.id)})})]},r.id)),r?(0,Y.jsx)(`p`,{className:`mt-2.5 text-[0.8125rem] text-ink-3`,children:r}):null]})}function Uc({ways:e,title:t,code:n,base:r}){let i=e.filter(e=>e.link&&!e.problem),a=i.find(e=>e.link===r)??i[0],[o,s]=(0,J.useState)(a?.id),c=i.find(e=>e.id===o)??a,l=c?.link??r??``,u=(0,J.useMemo)(()=>ne(l),[l]);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(jc,{className:`flex flex-col items-center gap-3`,children:[i.length>1?(0,Y.jsxs)(`fieldset`,{className:`m-0 flex flex-wrap items-center gap-1.5 self-stretch border-0 p-0`,children:[(0,Y.jsx)(`legend`,{className:`sr-only`,children:R(`share.qrOpens`)}),(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`mr-1 text-[0.8125rem] text-ink-3`,children:R(`share.qrOpens`)}),i.map(e=>(0,Y.jsx)(`button`,{type:`button`,"aria-pressed":e.id===c?.id,onClick:()=>s(e.id),className:A(`h-8 rounded-full px-3 font-medium text-[0.8125rem] transition coarse:h-10`,e.id===c?.id?`bg-ink text-paper`:`text-ink ring-1 ring-border hover:bg-accent`),children:e.name},e.id))]}):null,(0,Y.jsx)(Ee,{svg:u,label:R(`share.qr`),className:`mt-2 size-56 p-1`}),(0,Y.jsx)(`div`,{className:`font-medium`,children:t}),(0,Y.jsx)(`p`,{className:`max-w-sm text-center text-[0.8125rem] text-ink-3`,children:c?.group===`web`||!c?R(`share.qrHint`):R(`share.qrMessage`,{name:c.name})}),n&&l===r?(0,Y.jsxs)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:[R(`share.code`),` `,(0,Y.jsx)(`span`,{className:`select-all font-mono text-[0.9375rem] text-ink tracking-wider`,children:g(n)})]}):null]}),(0,Y.jsxs)(Mc,{children:[(0,Y.jsxs)(C,{variant:`ghost`,className:`max-sm:flex-1`,onClick:()=>D(u,t),children:[(0,Y.jsx)(Fe,{className:`size-4`}),` `,R(`share.print`)]}),(0,Y.jsx)(`span`,{className:`flex-1 max-sm:hidden`}),(0,Y.jsxs)(C,{className:`max-sm:order-first max-sm:w-full`,onClick:()=>void ae(u,t),children:[(0,Y.jsx)(He,{className:`size-4`}),` `,R(`share.download`)]})]})]})}var Wc=e=>e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`),Gc={inline:{label:`share.place.inline`,hint:`share.place.inlineHint`},button:{label:`share.place.button`,hint:`share.place.buttonHint`},bubble:{label:`share.place.bubble`,hint:`share.place.bubbleHint`},popout:{label:`share.place.popout`,hint:`share.place.popoutHint`}};function Kc({place:e}){return(0,Y.jsxs)(`span`,{"aria-hidden":`true`,className:`relative block h-16 overflow-hidden rounded-lg bg-paper ring-1 ring-border-soft`,children:[(0,Y.jsx)(`span`,{className:`absolute inset-x-2 top-2 h-1.5 rounded-full bg-paper-3`}),(0,Y.jsx)(`span`,{className:`absolute top-5 left-2 h-1 w-1/2 rounded-full bg-paper-3`}),e===`inline`?(0,Y.jsx)(`span`,{className:`absolute inset-x-2 top-8 bottom-2 rounded-md bg-primary`}):null,e===`button`?(0,Y.jsx)(`span`,{className:`absolute top-9 left-2 h-3.5 w-12 rounded-full bg-primary`}):null,e===`bubble`||e===`popout`?(0,Y.jsx)(`span`,{className:`absolute right-2 bottom-2 size-[1.125rem] rounded-full bg-primary`}):null]})}function qc({url:e,title:t,enabled:n,wordpress:r,onPackage:i}){let{copied:a,copy:o}=Ac(),s=[`steps`,`chat`].filter(e=>n.includes(e)),c=s.length?s:[`steps`],[l,u]=(0,J.useState)(c[0]),[d,f]=(0,J.useState)(`inline`),m=l===`chat`,h=m?[`inline`,`popout`]:[`inline`,`button`,`bubble`],g=h.includes(d)?d:`inline`,[,_,v]=e?.match(/^(.*)\/w\/([^/]+)$/)??[],y=``;m?y=g===`popout`?` data-mode="popout"`:` data-runner="chat"`:g!==`inline`&&(y=` data-mode="${g===`button`?`modal`:`bubble`}" data-label="${Wc(t)}"`);let b=v?`<script async src="${_}/embed.js" data-wizard="${v}"${y}><\/script>`:null;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(jc,{className:`flex flex-col gap-5`,children:[b?(0,Y.jsxs)(Y.Fragment,{children:[c.length>1?(0,Y.jsxs)(`fieldset`,{className:`m-0 border-0 p-0`,children:[(0,Y.jsx)(`legend`,{className:A(Nc,`mb-2 p-0`),children:R(`share.webShows`)}),(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:c.map(e=>(0,Y.jsx)(`button`,{type:`button`,"aria-pressed":e===l,onClick:()=>u(e),className:A(`h-8 rounded-full px-3.5 font-medium text-[0.8125rem] transition coarse:h-10`,e===l?`bg-ink text-paper`:`text-ink ring-1 ring-border hover:bg-accent`),children:R(e===`chat`?`new.ch.chat`:`new.ch.steps`)},e))})]}):null,(0,Y.jsxs)(`fieldset`,{className:`m-0 border-0 p-0`,children:[(0,Y.jsx)(`legend`,{className:A(Nc,`mb-2 p-0`),children:R(`share.webWhere`)}),(0,Y.jsx)(`div`,{className:A(`grid gap-2.5`,h.length===3?`grid-cols-2 sm:grid-cols-3`:`grid-cols-2`),children:h.map(e=>(0,Y.jsxs)(`button`,{type:`button`,"aria-pressed":e===g,onClick:()=>f(e),className:A(`flex flex-col gap-2 rounded-xl p-2 pb-2.5 text-left font-medium text-[0.8125rem] transition`,e===g?`bg-paper-2 ring-2 ring-ink`:`ring-1 ring-border hover:bg-accent`),children:[(0,Y.jsx)(Kc,{place:e}),R(Gc[e].label)]},e))}),(0,Y.jsx)(`p`,{className:`mt-2 text-[0.8125rem] text-ink-3`,children:R(Gc[g].hint)})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(`h3`,{className:Nc,children:R(`share.webCode`)}),(0,Y.jsx)(`pre`,{className:`select-all whitespace-pre-wrap break-all rounded-lg bg-paper-2 px-3 py-2.5 font-mono text-[0.75rem] text-ink-2 leading-relaxed`,children:b})]})]}):(0,Y.jsx)(`p`,{className:`text-[0.875rem] text-ink-2`,children:R(`share.webNeedsLink`)}),r?(0,Y.jsxs)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:[R(`share.wpLine`),` `,(0,Y.jsx)(`a`,{href:Dc,target:`_blank`,rel:`noreferrer`,className:`font-medium text-ink-2 underline underline-offset-2 hover:text-ink`,children:R(`share.wpPlugin`)}),` · `,(0,Y.jsx)(`button`,{type:`button`,onClick:i,className:`font-medium text-ink-2 underline underline-offset-2 hover:text-ink`,children:R(`share.wpPackageLink`)})]}):null]}),b?(0,Y.jsxs)(Mc,{children:[(0,Y.jsx)(`span`,{className:`flex-1 max-sm:hidden`}),(0,Y.jsxs)(C,{className:`max-sm:w-full`,onClick:()=>o(`code`,b),children:[a===`code`?(0,Y.jsx)(p,{className:`size-4`}):(0,Y.jsx)(W,{className:`size-4`}),R(a===`code`?`share.copied`:`share.copyCode`)]})]}):null]})}function Jc({wizard:e}){let t=bc(e.draft),[n,i]=(0,J.useState)(!1),a=[e.published?`published=1`:``,n?`knowledge=1`:``].filter(Boolean).join(`&`),o=`/api/studio/wizards/${e.id}/export${a?`?${a}`:``}`;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(jc,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:(0,Y.jsx)(xc,{fit:t.fit})}),(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-2`,children:R(`share.wpLocalHint`)}),(0,Y.jsx)(wc,{def:e.draft,fit:t}),t.fit===`no`?null:(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-[0.875rem]`,children:R(`share.wpKnowledge`)}),(0,Y.jsx)(`p`,{className:`text-[0.75rem] text-ink-3`,children:R(`share.wpKnowledgeHint`)})]}),(0,Y.jsx)(I,{checked:n,onChange:i,label:R(`share.wpKnowledge`)})]}),(0,Y.jsx)(`p`,{className:`text-[0.75rem] text-ink-3`,children:R(`share.wpHelp`)})]}),t.fit===`no`?null:(0,Y.jsxs)(Mc,{children:[(0,Y.jsx)(`span`,{className:`flex-1 max-sm:hidden`}),(0,Y.jsxs)(C,{className:`max-sm:w-full`,onClick:()=>window.open(r(o),`_blank`),children:[(0,Y.jsx)(He,{className:`size-4`}),R(e.published?`share.wpPackage`:`share.wpPackageDraft`)]})]})]})}function Yc({wizard:e,ways:t,cloudCopy:n,onDone:r}){let i=B(),a=(0,J.useId)(),[o,s]=(0,J.useState)(String(e.dailyRunLimit)),{shareSections:c}=Et(),l=()=>Promise.all([i.invalidateQueries({queryKey:[`wizard`,e.id]}),i.invalidateQueries({queryKey:[`wizards`]}),i.invalidateQueries({queryKey:[`wizard-runners`,e.id]})]),u=q({mutationFn:t=>P.patch(`/api/studio/wizards/${e.id}`,t),onSuccess:l}),d=q({mutationFn:()=>P.post(`/api/studio/wizards/${e.id}/rotate-link`),onSuccess:({cloud:t})=>(t&&i.setQueryData([`cloud`,e.id],{linked:!0,...t}),l())}),f=e.readOnly,m=u.error??d.error,h=ko(e.id,e.draft),g=h.data?.available&&h.data.reserve>0?Math.round(h.data.reserve*(Number(o)||e.dailyRunLimit)):null,_=t.flatMap(e=>{let t=e.problem?null:c.find(t=>t.runner===e.id);return t?[{way:e,section:t}]:[]});return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(jc,{className:`flex flex-col gap-6`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(`label`,{htmlFor:a,className:`font-medium text-[0.875rem]`,children:R(`share.limit`)}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,Y.jsx)(x,{id:a,inputMode:`numeric`,className:`w-24 text-right`,disabled:f,value:o,onChange:e=>s(e.target.value.replace(/\D/g,``)),onBlur:()=>{let t=Number(o);t>=1&&t!==e.dailyRunLimit&&u.mutate({dailyRunLimit:t})}}),(0,Y.jsx)(`span`,{className:`text-[0.875rem] text-ink-2`,children:R(`share.runs`)})]}),g!==null&&h.data?(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3 tabular-nums`,children:R(`estimate.share`,{run:Math.round(h.data.credits).toLocaleString(z),day:g.toLocaleString(z)})}):null]}),(0,Y.jsx)(Tc,{wizard:e,locked:f,onPatch:e=>u.mutate(e)}),f?null:_.map(({way:t,section:n})=>(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsxs)(`span`,{className:`flex items-center gap-1.5 text-[0.75rem] text-ink-3`,children:[t.icon,` `,t.name]}),(0,Y.jsx)(It,{of:n,children:(0,Y.jsx)(n.component,{wizard:{id:e.id,title:e.draft.title}})})]},t.id)),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-3 border-border-soft border-t pt-5`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-[1_1_14rem]`,children:[(0,Y.jsx)(`div`,{className:`font-medium text-[0.875rem]`,children:R(`share.newLink`)}),(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:R(n?`share.rotateCloud`:`share.rotateHint`)})]}),(0,Y.jsxs)(C,{variant:`secondary`,size:`sm`,busy:d.isPending,disabled:f,onClick:()=>d.mutate(),children:[d.isSuccess?(0,Y.jsx)(p,{className:`size-3.5`}):(0,Y.jsx)(je,{className:`size-3.5`}),R(d.isSuccess?`share.rotated`:`share.rotate`)]})]}),f?(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:R(`share.readOnly`)}):null,m?(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:m.message}):null]}),(0,Y.jsxs)(Mc,{children:[(0,Y.jsx)(`span`,{className:`flex-1 max-sm:hidden`}),(0,Y.jsx)(C,{className:`max-sm:w-full`,onClick:r,children:R(`share.done`)})]})]})}var Xc=(0,J.createContext)(null);function Zc({children:e}){let t=(0,J.useContext)(Xc);return t?(0,ac.createPortal)(e,t):null}function Qc({wizard:e,setup:t,onDone:n}){let[r,i]=(0,J.useState)(null),a=t.component;return(0,Y.jsxs)(Xc.Provider,{value:r,children:[(0,Y.jsx)(jc,{children:(0,Y.jsx)(It,{of:t,children:(0,Y.jsx)(a,{wizard:{id:e.id,title:e.draft.title},Actions:Zc,done:n})})}),(0,Y.jsx)(`div`,{ref:i,className:`flex shrink-0 flex-wrap items-center gap-2 border-border-soft border-t px-4 py-3.5 empty:hidden sm:px-5`})]})}function $c({wizard:e,answer:t,onDone:n}){let r=B(),i=q({mutationFn:t=>P.patch(`/api/studio/wizards/${e.id}`,{runners:t}),onSuccess:()=>Promise.all([r.invalidateQueries({queryKey:[`wizard-runners`,e.id]}),r.invalidateQueries({queryKey:[`wizard`,e.id]}),r.invalidateQueries({queryKey:[`wizards`]})])}),a=it(i.variables?.enabled??t?.settings.enabled??[]);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(jc,{children:[(0,Y.jsx)(rt,{value:a,onChange:e=>i.mutate(et(e)),runners:t?.runners,without:[`wacall`],disabled:e.readOnly}),i.error?(0,Y.jsx)(`p`,{className:`mt-3 text-[0.8125rem] text-rose`,children:i.error.message}):null]}),(0,Y.jsxs)(Mc,{children:[(0,Y.jsx)(`span`,{className:`flex-1 max-sm:hidden`}),(0,Y.jsx)(C,{className:`max-sm:w-full`,onClick:n,children:R(`share.done`)})]})]})}function el({wizard:e,onClose:t,publish:n}){let r=B(),i=Ot(`account`),a=qt(),o=a.data?.mode===`local`&&!!a.data?.account,s=Ft(e.id,o),c=a.data?_t(e,a.data,o?s.data:null):{kind:`unknown`},l=Mt(c),u=c.kind===`here`,d=a.data?.mode===`managed`&&e.published,f=v({queryKey:[`wizard-code`,e.id,e.shareToken],queryFn:()=>P.get(`/api/studio/wizards/${e.id}/code`),enabled:d}),m=v({queryKey:[`wizard-runners`,e.id,e.revision],queryFn:()=>P.get(`/api/studio/wizards/${e.id}/runners`)}),h=q({mutationFn:t=>P.patch(`/api/studio/wizards/${e.id}`,{shareEnabled:t}),onSuccess:()=>Promise.all([r.invalidateQueries({queryKey:[`wizard`,e.id]}),r.invalidateQueries({queryKey:[`wizards`]})])}),[g,_]=(0,J.useState)(`main`),{copied:y,copy:b}=Ac(),ee=me(),{sections:x,shareSetups:S}=Et(),[w,T]=(0,J.useState)(null),[E,te]=(0,J.useState)(null),D=w?S.find(e=>e.runner===w):void 0,O=e=>{if(S.some(t=>t.runner===e.id)){T(e.id),te(null),_(`setup`);return}let t=x.find(t=>t.plugin===e.plugin);ee(t?`/settings/${t.id}`:`/settings/models`)},k=t=>{te(t??null),_(`main`),r.invalidateQueries({queryKey:[`wizard-runners`,e.id]})},ne=a.data?.mode===`managed`&&a.data.manageUrl?`${a.data.manageUrl}/billing`:null,[re,ie]=(0,J.useState)(null),[ae,oe]=(0,J.useState)(null),se=(0,J.useRef)(!1);(0,J.useEffect)(()=>{se.current||e.published||e.readOnly||!n||n.disabled||(se.current=!0,ie(`publishing`),n.run().then(()=>ie(`done`)).catch(e=>{ie(null),oe(e.message)}))},[e.published,e.readOnly,n]);let j=(0,J.useMemo)(()=>m.data?kc(m.data,l):[],[m.data,l]),ce=j.map(e=>S.find(t=>t.runner===e.id&&t.notice)).find(Boolean),le=!e.published||u||!e.shareEnabled||!l,ue=j.find(e=>e.copy?.text===l),de=new Set(j.map(e=>e.group)).size,fe=Math.min(720,Math.max(580,300+de*28+j.length*52+(e.published&&!e.dirty?0:96))),[pe,M]=(0,J.useState)(fe);(0,J.useEffect)(()=>M(e=>Math.max(e,fe)),[fe]);let he=null;if(e.published&&!u&&!e.shareEnabled)he=R(`share.offNote`);else if(ue&&j.length>1){let e=ue.id===`steps`?R(`share.opensSteps`):R(`share.opensAs`,{name:ue.name});he=R(`share.linkNote`,{how:e})}let ge=()=>_(g===`package`?`website`:`main`),F=e.draft.title,I=g===`main`?R(`share.titleOf`,{title:F}):g===`setup`?D?.title()??``:R(Oc[g]);return(0,Y.jsxs)(`div`,{style:{"--share-h":`${pe}px`},className:`mx-auto flex w-full flex-col overflow-hidden bg-card text-ink shadow-overlay max-sm:h-dvh max-sm:pt-[env(safe-area-inset-top)] max-sm:pb-[env(safe-area-inset-bottom)] sm:h-[min(var(--share-h),calc(100dvh-32px))] sm:max-w-[34rem] sm:rounded-2xl`,children:[(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 px-2 pt-3 pb-1 sm:px-3 sm:pt-4`,children:[g===`main`?null:(0,Y.jsx)(N,{label:R(`share.back`),onClick:ge,children:(0,Y.jsx)(ze,{className:`size-5`})}),(0,Y.jsx)(`h2`,{className:A(`min-w-0 flex-1 truncate font-display font-semibold text-xl`,g===`main`&&`pl-2 sm:pl-3`),children:I}),g===`main`?(0,Y.jsx)(N,{label:R(`share.settings`),onClick:()=>_(`settings`),children:(0,Y.jsx)(ft,{className:`size-[1.125rem]`})}):null,(0,Y.jsx)(N,{label:R(`share.close`),onClick:t,children:(0,Y.jsx)(Ne,{className:`size-5`})})]}),g===`main`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(jc,{className:`flex flex-col gap-6`,children:[re===`publishing`?(0,Y.jsx)(Pc,{children:(0,Y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(Pe,{className:`size-4 text-ink-3`}),` `,R(`share.publishing`)]})}):null,re===`done`&&e.published?(0,Y.jsx)(Pc,{done:!0,title:R(`share.firstTitle`),children:R(`share.firstText`,{v:e.publishedVersion??1})}):null,!e.published&&!re?(0,Y.jsx)(Pc,{warn:!0,title:R(e.issues.length?`share.notReady`:`share.notPublished`),action:e.issues.length&&n?.fix?(0,Y.jsx)(C,{size:`sm`,variant:`secondary`,onClick:n.fix,children:R(`editor.fixWithChat`)}):null,children:e.issues.length?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`p`,{children:R(`share.notReadyHint`)}),(0,Y.jsx)(`ul`,{className:`mt-1 list-disc pl-5`,children:e.issues.slice(0,4).map((e,t)=>(0,Y.jsx)(`li`,{children:e.message},t))})]}):ae??R(e.readOnly?`share.readOnly`:`share.stillBuilding`)}):null,e.published&&e.dirty&&!e.readOnly&&!re?(0,Y.jsx)(Pc,{action:n?(0,Y.jsx)(C,{size:`sm`,onClick:n.goLive,children:R(`live.open`)}):null,children:R(`share.changes`,{v:e.publishedVersion??0})}):null,E?(0,Y.jsx)(Pc,{done:E.tone!==`waiting`,title:E.title,children:E.text}):ce?.notice?(0,Y.jsx)(It,{of:ce,children:(0,Y.jsx)(ce.notice,{wizard:{id:e.id,title:F},open:()=>O({id:ce.runner,plugin:ce.plugin})})}):null,u&&e.published?(0,Y.jsx)(Bc,{account:i}):null,o&&e.published?(0,Y.jsx)(zc,{wizard:e,where:c,cloud:s.data}):null,s.isError?(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:s.error.message}):null,(0,Y.jsx)(Vc,{wizard:e,here:u,onChange:e=>h.mutate(e)}),h.error?(0,Y.jsx)(`p`,{className:`-mt-4 text-[0.8125rem] text-rose`,children:h.error.message}):null,m.data?(0,Y.jsx)(Hc,{ways:j,blocked:le,locked:e.readOnly,note:he,copied:y,copy:b,onChange:()=>_(`channels`),onSetUp:O,plansUrl:ne}):null]}),(0,Y.jsxs)(Mc,{children:[(0,Y.jsxs)(C,{variant:`ghost`,className:`max-sm:flex-1`,disabled:le,onClick:()=>_(`qr`),children:[(0,Y.jsx)(Dn,{className:`size-4`}),` `,R(`share.qr`)]}),(0,Y.jsxs)(C,{variant:`ghost`,className:`max-sm:flex-1`,onClick:()=>_(`website`),children:[(0,Y.jsx)(pn,{className:`size-4`}),` `,R(`share.website`)]}),(0,Y.jsx)(`span`,{className:`flex-1 max-sm:hidden`}),(0,Y.jsxs)(C,{className:`max-sm:order-first max-sm:w-full`,disabled:le,onClick:()=>l&&b(`main`,l),children:[y===`main`?(0,Y.jsx)(p,{className:`size-4`}):(0,Y.jsx)(Se,{className:`size-4`}),R(y===`main`?`share.copied`:`share.copyMain`)]})]})]}):null,g===`qr`?(0,Y.jsx)(Uc,{ways:j,title:F,base:l,code:d?f.data?.code:s.data?.copy?.code}):null,g===`website`?(0,Y.jsx)(qc,{url:le?null:l,title:F,enabled:m.data?.settings.enabled??[],wordpress:i,onPackage:()=>_(`package`)}):null,g===`package`?(0,Y.jsx)(Jc,{wizard:e}):null,g===`settings`?(0,Y.jsx)(Yc,{wizard:e,ways:j,cloudCopy:!!s.data?.copy,onDone:()=>_(`main`)}):null,g===`channels`?(0,Y.jsx)($c,{wizard:e,answer:m.data,onDone:()=>_(`main`)}):null,g===`setup`&&D?(0,Y.jsx)(Qc,{wizard:e,setup:D,onDone:k}):null]})}function tl({wizard:e,open:t,onClose:n,publish:r}){return(0,Y.jsx)(K,{open:t,onClose:n,bare:!0,wide:!0,children:(0,Y.jsx)(el,{wizard:e,onClose:n,publish:r})})}var nl=[`title`,`description`,`avatar`,`intro`,`lists`,`connections`],rl=(e,t)=>JSON.stringify(e)===JSON.stringify(t);function il(e,t,n){let r={...n};for(let n of nl)rl(t[n],e[n])||Object.assign(r,{[n]:t[n]});let i=new Map(e.steps.map(e=>[e.id,e])),a=new Set(t.steps.map(e=>e.id)),o=n.steps.filter(e=>{let t=i.get(e.id);return a.has(e.id)||!t||!rl(t,e)});return t.steps.forEach((e,n)=>{let r=i.get(e.id);if(r&&rl(r,e))return;let a=o.findIndex(t=>t.id===e.id);if(a!==-1){o[a]=e;return}let s=t.steps.slice(0,n).reverse().find(e=>o.some(t=>t.id===e.id));o.splice(s?o.findIndex(e=>e.id===s.id)+1:0,0,e)}),{...r,steps:o}}function al(e){let t=B(),n=(0,J.useMemo)(()=>[`wizard`,e],[e]),i=`/api/studio/wizards/${e}`,a=(0,J.useRef)(null),o=(0,J.useRef)(Promise.resolve()),s=(0,J.useRef)(null),c=(0,J.useRef)(null),l=(0,J.useRef)(!1),[u,d]=(0,J.useState)(!1),[f,p]=(0,J.useState)(0),[m,h]=(0,J.useState)(null),[g,_]=(0,J.useState)(null),v=(0,J.useCallback)(()=>!!(a.current||l.current||s.current),[]),y=(0,J.useCallback)(async()=>{let e=await P.get(i);t.setQueryData(n,t=>t&&v()?{...e,draft:t.draft,title:t.title,revision:t.revision,dirty:!0}:e)},[t,n,i,v]),b=(0,J.useCallback)(()=>{o.current=o.current.then(async()=>{let e=s.current,r=t.getQueryData(n);if(e&&r){s.current=null,l.current=!0,d(!0);try{let a=await P.put(`${i}/draft`,{definition:e,baseRevision:r.revision});c.current=s.current?e:null,t.setQueryData(n,e=>e&&{...e,revision:a.revision,issues:a.issues})}catch(r){let a=Bt(r);if(a){s.current=null,c.current=null,_(a);let e=await P.get(i).catch(()=>null);e&&t.setQueryData(n,e);return}if(!(r instanceof ke&&r.status===409)){s.current??=e,console.error(`[draft] save failed`,r);return}let o=await P.get(i),l=il(c.current??o.draft,s.current??e,o.draft);c.current=o.draft,s.current=l,t.setQueryData(n,{...o,draft:l,title:l.title,dirty:!0}),p(Date.now()),b()}finally{l.current=!1,d(!1)}}})},[t,n,i]),ee=(0,J.useCallback)(r=>{e&&(v()||(c.current=t.getQueryData(n)?.draft??null),s.current=r,t.setQueryData(n,e=>e&&{...e,draft:r,title:r.title,dirty:!0}),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{a.current=null,b()},600))},[t,n,e,v,b]);return(0,J.useEffect)(()=>{if(!e)return;let i=new EventSource(r(`/api/studio/wizards/${e}/stream`));return i.addEventListener(`change`,e=>{let r=JSON.parse(e.data),i=t.getQueryData(n);r.kind===`draft`&&i&&r.revision<=i.revision||(y(),r.kind===`draft`&&r.source===`mcp`&&h({client:r.client??`MCP`,steps:r.touched,at:Date.now()}))}),i.addEventListener(`hello`,e=>{let{revision:r}=JSON.parse(e.data),i=t.getQueryData(n);i&&r!==i.revision&&y()}),()=>i.close()},[t,n,e,y]),(0,J.useEffect)(()=>{if(!m)return;let e=setTimeout(()=>h(null),6e3);return()=>clearTimeout(e)},[m]),(0,J.useEffect)(()=>{if(!f)return;let e=setTimeout(()=>p(0),4e3);return()=>clearTimeout(e)},[f]),{save:ee,saving:u,remote:m,merged:f>0,refused:g}}function ol({remote:e,merged:t}){return e?(0,Y.jsxs)(j,{tone:`ember`,children:[(0,Y.jsx)(bt,{className:`size-3`}),` `,R(`editor.changedVia`,{client:e.client})]}):t?(0,Y.jsxs)(j,{children:[(0,Y.jsx)(yn,{className:`size-3`}),` `,R(`editor.merged`)]}):null}var sl=[...Be,`image`,`video`],cl={chat:`editor.chat`,step:`editor.step`,files:`editor.files`,memory:`editor.memory`,runs:`editor.runs`},ll=`wizards.editor.pane`,ul=420,dl=880,fl=340,pl=()=>Math.max(fl,window.innerWidth-480),ml=`wizards.editor.run`,hl=560,gl=420,_l=360;function vl({key:e,initial:t,min:n,max:r,dir:i}){let[a,o]=(0,J.useState)(()=>{try{let i=Number(localStorage.getItem(e));return i?Math.min(Math.max(i,n),r()):t}catch{return t}}),s=t=>{let i=Math.round(Math.min(Math.max(t,n),r()));o(i);try{localStorage.setItem(e,String(i))}catch{}};return{width:a,onPointerDown:e=>{e.preventDefault();let t=e.clientX,n=a,r=e=>s(n+i*(e.clientX-t)),o=()=>{window.removeEventListener(`pointermove`,r),window.removeEventListener(`pointerup`,o),document.body.style.removeProperty(`cursor`),document.body.style.removeProperty(`user-select`)};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,window.addEventListener(`pointermove`,r),window.addEventListener(`pointerup`,o)},onKeyDown:e=>{let t=e.shiftKey?64:16;(e.key===`ArrowRight`||e.key===`ArrowLeft`)&&(e.preventDefault(),s(a+(e.key===`ArrowRight`?i:-i)*t))},reset:()=>s(t)}}var yl=`wizards.editor.sheet`,bl=100,xl=76,Sl=50,Cl=6;function wl(){try{let e=localStorage.getItem(yl),t=e===null?NaN:Number(e);return Number.isFinite(t)&&t===0?0:bl}catch{return bl}}function Tl(){let[e,t]=(0,J.useState)(wl),[n,r]=(0,J.useState)(!1),i=(0,J.useRef)(null),a=(0,J.useCallback)(e=>{let n=Math.round(Math.min(Math.max(e,0),100)*10)/10;t(n);try{localStorage.setItem(yl,String(n))}catch{}},[]),o=e===0,s=()=>a(o?bl:0);return{ref:i,percent:e,height:`clamp(${xl}px, ${e}%, 100%)`,folded:o,dragging:n,unfold:()=>{o&&a(bl)},fold:()=>a(0),toggle:s,onPointerDown:t=>{let n=i.current,o=n?.parentElement;if(!(n&&o)||t.button!==0)return;t.preventDefault();let c=t.clientY,l=n.getBoundingClientRect().height,u=o.getBoundingClientRect().height,d=!1,f=e,p=e=>{if(!d&&Math.abs(e.clientY-c)<Cl)return;d||(d=!0,r(!0));let t=Math.min(l+c-e.clientY,u);a(t<92?0:t/u*100),f=t/u>Sl/100?100:0},m=e=>{window.removeEventListener(`pointermove`,p),window.removeEventListener(`pointerup`,m),window.removeEventListener(`pointercancel`,m),document.body.style.removeProperty(`cursor`),document.body.style.removeProperty(`user-select`),r(!1),d?a(f):e.type===`pointerup`&&s()};document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`,window.addEventListener(`pointermove`,p),window.addEventListener(`pointerup`,m),window.addEventListener(`pointercancel`,m)},onKeyDown:e=>{e.key===`ArrowUp`?(e.preventDefault(),a(100)):e.key===`ArrowDown`?(e.preventDefault(),a(0)):(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),s())}}}function El(){let e=Ot(`account`),{id:t}=ee(),n=me(),r=B(),o=qt(),[s,c]=pe(),l=v({queryKey:[`wizard`,t],queryFn:()=>P.get(`/api/studio/wizards/${t}`),refetchOnWindowFocus:!1}),[u,d]=(0,J.useState)(null),[f,p]=(0,J.useState)(`chat`),m=vl({key:ll,initial:ul,min:fl,max:pl,dir:1}),h=Tl(),g=(0,J.useRef)(null);(0,J.useEffect)(()=>{g.current?.querySelector(`[data-active]`)?.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:`smooth`})},[f,h.folded]);let _=(0,J.useRef)(null),[y,b]=(0,J.useState)(!1),[x,S]=(0,J.useState)(!1),[w,T]=(0,J.useState)(null),[E,te]=(0,J.useState)(`flow`),[D,O]=(0,J.useState)(!1),[k,ne]=(0,J.useState)(0),[re,ie]=Je(),[ae,oe]=(0,J.useState)(null),[se,ce]=(0,J.useState)(),[le,ue]=(0,J.useState)(0),[fe,M]=(0,J.useState)(null),[he,F]=(0,J.useState)(null),I=(0,J.useCallback)(e=>F(e),[]),[L,_e]=(0,J.useState)(null),ve=(0,J.useCallback)(e=>{_e(e),oe(e&&e.status!==`done`?e.step?.id??null:null),e&&ce(e.decisions)},[]),be=(0,J.useMemo)(()=>{let e=w?L?.step:null;if(!(L&&e)||L.status===`done`||L.status===`cancelled`)return null;let t=L.status===`failed`,n=L.status===`waiting_input`,r=L.events.filter(t=>t.stepId===e.id).reverse(),i=r.find(e=>e.type===`step_started`),o=r.find(e=>e.type!==`step_done`),s=o?a(o):e.title;return{step:e.id,text:t?L.error??s:n?R(`editor.waitsForInput`):s,since:t||n?null:i?new Date(i.at).getTime():Date.now(),failed:t}},[w,L]),[z,xe]=(0,J.useState)(null),[Se,Ce]=(0,J.useState)(0);(0,J.useEffect)(()=>{if(!z)return;let e=new ResizeObserver(()=>Ce(z.clientWidth));return e.observe(z),()=>e.disconnect()},[z]);let V=!!w&&Se>=dl,H=vl({key:ml,initial:hl,min:gl,max:()=>Math.max(gl,(z?.clientWidth??window.innerWidth)-_l),dir:-1}),{save:we,saving:Ee,remote:De,merged:Oe,refused:ke}=al(t),Ae=Dt(),U=Ut(l.data,(e,n)=>{r.setQueryData([`wizard`,t],t=>t&&{...t,draft:e,revision:n,title:e.title,blank:!1})}),je=(0,J.useRef)(!1);(0,J.useEffect)(()=>{let e=s.get(`prompt`);e&&l.data&&!je.current&&(je.current=!0,c({},{replace:!0}),U.send(e))},[s,l.data,U,c]);let Me=v({queryKey:[`wizard-models`,t,l.data?.revision],queryFn:()=>P.get(`/api/studio/wizards/${t}/models`),enabled:!!l.data}).data?.missing??[],Fe=o.data?.mode===`local`&&!!o.data.account,Le=Ft(t??``,!!t&&Fe),Re=Me.some(e=>e.blocking),ze=e=>{T(e),_e(null),te(`test`),O(!0),h.fold()},Be=()=>{T(null),_e(null),te(`flow`),O(!1)},W=q({mutationFn:()=>P.post(`/api/studio/wizards/${t}/test-runs`),onSuccess:({runId:e})=>ze(e)}),Ve=q({mutationFn:()=>P.post(`/api/studio/wizards/${t}/publish`),onSuccess:async({cloud:e})=>{e&&r.setQueryData([`cloud`,t],{linked:!0,...e}),await Promise.all([r.invalidateQueries({queryKey:[`wizard`,t]}),r.invalidateQueries({queryKey:[`cloud`,t]}),r.invalidateQueries({queryKey:[`wizards`]})])}}),He=(0,J.useMemo)(()=>new Set((l.data?.issues??[]).map(e=>e.stepId).filter(Boolean)),[l.data?.issues]);if(l.isLoading||!o.data)return(0,Y.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-ink-4`,children:(0,Y.jsx)(Pe,{})});if(!l.data)return(0,Y.jsx)(`div`,{className:`p-10 text-center text-ink-3`,children:R(`run.notFound`)});let G=l.data,K=G.draft,Ue=Go(K,se),Ge=U.phase!==`idle`&&G.blank&&!fe,Ke=G.issues.length>0,qe=()=>{b(!1),S(!1),p(`chat`),U.send(`${R(`editor.fixIssuesAsk`)}\n${G.issues.map(e=>`- ${e.message}`).join(`
|
|
4
|
-
`)}`)},Ze=Ae.data?.find(e=>e.id===G.projectId),Qe=Ze?Ze.origin===`local`:o.data.limits.build||Ae.isLoading,et=G.readOnly?R(Qe?`readonly.wizard`:`readonly.server`):null,tt=o.data.mode===`local`&&e&&Me.some(e=>sl.includes(e.cls))?o.data.account?o.data.models?.source===`account`?null:`use`:`connect`:null,nt=ke??(Ve.error?Ve.error.message:null),rt=e=>{d(e),e&&(p(`step`),h.unfold())},it={onTouchStart:e=>{let t=e.target.closest(`input, textarea, select, [contenteditable='true'], [role='slider']`),n=e.touches[0];_.current=t||e.touches.length>1||!n?null:{x:n.clientX,y:n.clientY}},onTouchEnd:e=>{let t=_.current;_.current=null;let n=e.changedTouches[0];if(!(t&&n))return;let r=n.clientX-t.x,i=n.clientY-t.y;if(Math.abs(r)<60||Math.abs(r)<Math.abs(i)*2)return;let a=[`__wizard`,...K.steps.map(e=>e.id)],o=(u?a.indexOf(u):-1)+(r<0?1:-1);o>=0&&o<a.length&&rt(a[o])}},at=e=>{if(U.phase!==`idle`)return!1;let n=new Set(K.steps.map(e=>e.id));return M(e),U.send(Ln(K,e)).then(()=>{M(null);let e=(r.getQueryData([`wizard`,t])?.draft)?.steps.find(e=>!n.has(e.id));e&&(d(e.id),p(e=>e===`chat`?e:`step`))}),!0},ot=G.readOnly?void 0:{adding:fe,add:at,ask:e=>U.phase===`idle`&&(U.send(e),!0),working:(0,Y.jsx)(Rt,{chat:U}),showChat:()=>{p(`chat`),h.unfold()}},ct=(0,Y.jsxs)(C,{variant:`secondary`,size:`sm`,className:`max-sm:aspect-square max-sm:px-0 max-sm:coarse:px-0`,title:R(`editor.test`),disabled:Ke||Ge||Re,busy:W.isPending,onClick:()=>W.mutate(),children:[(0,Y.jsx)(Tn,{className:`size-3.5 max-sm:size-4`}),(0,Y.jsx)(`span`,{className:`max-sm:sr-only`,children:R(`editor.test`)})]}),lt=(0,Y.jsxs)(C,{size:`sm`,className:`max-sm:aspect-square max-sm:px-0 max-sm:coarse:px-0`,title:R(`editor.share`),onClick:()=>b(!0),children:[(0,Y.jsx)(i,{className:`size-3.5 max-sm:size-4`}),(0,Y.jsx)(`span`,{className:`max-sm:sr-only`,children:R(`editor.share`)})]}),ut=w?(0,Y.jsxs)(`div`,{className:A(`kb-hide flex h-12 shrink-0 items-center gap-1 px-3`,!V&&E===`flow`&&`border-border-soft border-b`),children:[V?(0,Y.jsx)(j,{children:R(`run.testChip`)}):(0,Y.jsx)(`fieldset`,{"aria-label":R(`editor.view`),className:`m-0 flex min-w-0 rounded-full border-0 bg-paper-2 p-0.5`,children:[`flow`,`test`].map(e=>(0,Y.jsxs)(`button`,{type:`button`,"aria-pressed":E===e,onClick:()=>te(e),className:A(`inline-flex h-7 items-center gap-1.5 whitespace-nowrap rounded-full px-3 font-medium text-[0.8125rem] transition coarse:h-9`,E===e?`bg-card text-ink shadow-soft`:`text-ink-3 hover:text-ink`),children:[e===`flow`?(0,Y.jsx)(jn,{className:`size-3.5`}):(0,Y.jsx)(Tn,{className:`size-3.5`}),R(e===`flow`?`editor.flow`:`run.testChip`),e===`flow`&&ae&&E===`test`?(0,Y.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-ember`,"aria-hidden":`true`}):null]},e))}),(0,Y.jsx)(`span`,{className:`flex-1`}),E===`test`||V?(0,Y.jsx)(Ye,{look:re,onChange:ie}):null,(0,Y.jsxs)(C,{variant:`ghost`,size:`sm`,title:R(`editor.restart`),busy:W.isPending,disabled:Ke,onClick:()=>W.mutate(),children:[(0,Y.jsx)(Ie,{className:`size-3.5`}),(0,Y.jsx)(`span`,{className:`max-sm:sr-only`,children:R(`editor.restart`)})]}),(0,Y.jsx)(N,{label:R(D?`editor.runNarrow`:`editor.runWide`),onClick:()=>{O(!D),te(`test`)},className:`max-lg:hidden`,children:D?(0,Y.jsx)(We,{className:`size-4`}):(0,Y.jsx)(ye,{className:`size-4`})}),(0,Y.jsx)(N,{label:R(`editor.close`),onClick:Be,children:(0,Y.jsx)(Ne,{className:`size-5`})})]}):null;return(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[et?(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-border-soft border-b bg-paper-2 px-4 py-2 text-[0.8125rem] text-ink-2 max-sm:hidden sm:px-6`,children:[(0,Y.jsx)(Xe,{className:`size-4 shrink-0 text-ink-3`}),(0,Y.jsx)(`p`,{className:`min-w-0 flex-1`,children:et})]}):null,nt?(0,Y.jsx)(`div`,{className:`shrink-0 bg-rose-tint px-4 py-2 text-[0.8125rem] text-rose sm:px-6`,children:nt}):null,(0,Y.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-1 px-2 coarse:h-14 sm:gap-2 sm:px-4`,children:[(0,Y.jsx)(N,{label:R(`common.back`),onClick:()=>n(`/`),children:(0,Y.jsx)(Te,{className:`size-5`})}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>rt(`__wizard`),className:`min-w-0 truncate rounded-md px-1 py-1 text-left hover:bg-accent sm:px-2`,children:(0,Y.jsx)(`span`,{className:`font-display font-semibold text-[1.0625rem] tracking-tight`,children:K.title})}),(0,Y.jsx)(`span`,{className:`hidden sm:inline-flex`,children:G.published?(0,Y.jsx)(st,{where:_t(G,o.data,Fe?Le.data:null),me:o.data,version:G.publishedVersion}):(0,Y.jsx)(j,{children:R(`editor.notPublished`)})}),Ee?(0,Y.jsx)(Pe,{className:`size-4 text-ink-4`}):null,(0,Y.jsx)(`span`,{className:`hidden md:inline-flex`,children:(0,Y.jsx)(ol,{remote:De,merged:Oe})}),(0,Y.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[w?null:(0,Y.jsx)(`span`,{className:`contents max-sm:hidden`,children:ct}),G.published&&G.dirty&&!G.readOnly?(0,Y.jsxs)(C,{variant:`secondary`,size:`sm`,onClick:()=>S(!0),children:[(0,Y.jsx)(`span`,{className:`size-1.5 shrink-0 rounded-full bg-primary`,"aria-hidden":`true`}),(0,Y.jsx)(`span`,{className:`max-sm:hidden`,children:R(`live.open`)}),(0,Y.jsx)(`span`,{className:`sm:hidden`,children:R(`live.openShort`)})]}):null,(0,Y.jsx)(`span`,{className:`contents max-sm:hidden`,children:lt}),(0,Y.jsx)(`span`,{className:`ml-2 hidden md:inline-flex`,children:(0,Y.jsx)(zt,{me:o.data})}),(0,Y.jsx)(At,{wizard:{id:G.id,title:K.title,published:G.published},onDeleted:()=>n(`/`)})]})]}),(0,Y.jsxs)(`div`,{className:A(`flex shrink-0 items-center gap-2 px-3 pb-2 lg:hidden`,w&&`hidden`),children:[(0,Y.jsxs)(C,{variant:`secondary`,size:`sm`,"aria-expanded":h.folded,onClick:h.toggle,children:[(0,Y.jsx)(jn,{className:`size-4`}),` `,R(`editor.flow`),h.folded?(0,Y.jsx)(Lt,{className:`size-4`}):(0,Y.jsx)(de,{className:`size-4`})]}),(0,Y.jsx)(`span`,{className:`flex-1`}),(0,Y.jsxs)(`span`,{className:`contents sm:hidden`,children:[ct,lt]})]}),(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col lg:flex-row-reverse lg:overflow-hidden`,children:[(0,Y.jsxs)(`section`,{ref:xe,className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:[V?null:ut,(0,Y.jsxs)(`div`,{className:`relative flex min-h-0 flex-1`,children:[(0,Y.jsx)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:(0,Y.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[Ke&&!Ge?(0,Y.jsxs)(`div`,{className:`absolute top-3 right-3 left-3 z-10 mx-auto max-w-xl animate-rise rounded-xl bg-card p-4 shadow-elevated ring-1 ring-rose/30`,children:[(0,Y.jsx)(`p`,{className:`text-[0.875rem]`,children:R(`editor.issues`)}),(0,Y.jsx)(`ul`,{className:`mt-2 list-disc pl-5 text-[0.8125rem] text-ink-2`,children:G.issues.slice(0,4).map((e,t)=>(0,Y.jsx)(`li`,{children:e.message},t))}),G.readOnly?null:(0,Y.jsx)(C,{size:`sm`,variant:`quiet`,className:`mt-3`,disabled:U.phase!==`idle`,onClick:qe,children:R(`editor.fixWithChat`)})]}):null,!Ke&&!Ge&&Me.length?(0,Y.jsxs)(`div`,{className:A(`absolute top-3 right-3 left-3 z-10 mx-auto max-w-xl animate-rise rounded-xl bg-card p-4 shadow-elevated ring-1`,Re?`ring-rose/30`:`ring-amber/30`),children:[(0,Y.jsx)(`p`,{className:`text-[0.875rem]`,children:R(Re?`editor.models.blocking`:`editor.models.optional`)}),(0,Y.jsx)(`ul`,{className:`mt-2 list-disc pl-5 text-[0.8125rem] text-ink-2`,children:Me.map(e=>(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`span`,{className:`text-ink`,children:R(`class.${e.cls}`)}),` (`,e.steps.map(e=>`„${e.title}“`).join(`, `),`):`,` `,(0,Y.jsx)(ge,{text:e.problem})]},e.cls))}),(0,Y.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-x-3 gap-y-2`,children:[(0,Y.jsx)(C,{size:`sm`,variant:`quiet`,onClick:()=>n(`/settings/models`),children:R(`editor.models.settings`)}),tt===`connect`?(0,Y.jsxs)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:[R(`teaser.models`),` `,(0,Y.jsx)(`button`,{type:`button`,className:`font-medium text-ink underline underline-offset-2`,onClick:()=>n(`/settings/account`),children:R(`teaser.connect`)})]}):tt===`use`?(0,Y.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:R(`teaser.modelsLinked`)}):null]})]}):null,W.error&&!w?(0,Y.jsxs)(`div`,{role:`alert`,className:`absolute top-3 right-3 left-3 z-20 mx-auto max-w-xl animate-rise rounded-xl bg-card p-4 shadow-elevated ring-1 ring-rose/30`,children:[(0,Y.jsx)(`p`,{className:`font-medium text-[0.875rem]`,children:R(`editor.testFailed`)}),(0,Y.jsx)(`p`,{className:`mt-1 text-[0.8125rem] text-ink-2`,children:(0,Y.jsx)(ge,{text:W.error.message})}),(0,Y.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(C,{size:`sm`,variant:`quiet`,onClick:()=>n(`/settings/models`),children:R(`editor.models.settings`)}),(0,Y.jsx)(C,{size:`sm`,variant:`ghost`,onClick:()=>W.reset(),children:R(`editor.close`)})]})]}):null,he!==null&&ot&&!Ge?(0,Y.jsx)(`div`,{className:`absolute top-3 right-3 left-3 z-20 mx-auto max-w-xl animate-rise rounded-xl shadow-elevated`,children:(0,Y.jsx)(Rn,{place:In(K,he),branchable:he>0,onAdd:(e,t,n)=>at({at:he,kind:e,prompt:t,when:n})?(F(null),!0):!1,onEmpty:e=>{let t=Hn(K,he,e);we(t.def),F(null),rt(t.id)},onCancel:()=>F(null)})}):null,Ge?(0,Y.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 text-[0.875rem] text-ink-3`,children:(0,Y.jsx)(Rt,{chat:U,spinner:`size-4 text-ember`})}):(0,Y.jsx)(ts,{def:K,selected:u,onSelect:rt,issueSteps:He,activeStep:w?ae:null,live:be,fitKey:`${V}:${!!w}:${k}`,pulse:De?.steps,wizardId:G.id,decisions:Ue,onBranch:e=>{rt(e),ue(e=>e+1)},adding:fe,onInsert:G.readOnly||fe?void 0:I})]})}),w?(0,Y.jsxs)(`div`,{className:A(V?`relative shrink-0 animate-slide-in`:`absolute inset-0 z-30 animate-fade-in`,!V&&E===`flow`&&`hidden`),style:V?{width:`min(${H.width}px, calc(100% - ${_l}px))`}:void 0,children:[V?(0,Y.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":R(`editor.resize`),"aria-valuenow":H.width,tabIndex:0,title:R(`editor.resize`),onPointerDown:H.onPointerDown,onKeyDown:H.onKeyDown,onDoubleClick:H.reset,className:`group -left-5 absolute inset-y-0 z-10 w-5 cursor-col-resize outline-none`,children:(0,Y.jsx)(`span`,{className:`-translate-y-1/2 absolute top-1/2 left-[7px] h-12 w-1.5 rounded-full bg-ink-4/40 transition group-hover:bg-ember/70 group-focus-visible:bg-ember group-active:h-16 group-active:bg-ember`})}):null,(0,Y.jsxs)(`div`,{className:A(`flex h-full flex-col`,V?`overflow-hidden rounded-tl-3xl bg-card shadow-[0_0_0_1px_var(--border-soft)]`:`bg-background`),children:[V?ut:null,(0,Y.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:re===`chat`?(0,Y.jsx)($e,{runId:w,onRestart:()=>W.mutate(),onView:ve},w):(0,Y.jsx)(Jt,{runId:w,compact:!0,studio:!0,onRestart:()=>W.mutate(),onView:ve},w)})]})]}):null]}),w?(0,Y.jsx)(nc,{view:L,steps:K.steps,onSelect:rt,className:`border-border-soft border-t`}):null]}),(0,Y.jsxs)(`aside`,{ref:h.ref,onTransitionEnd:e=>{e.target===e.currentTarget&&e.propertyName===`margin-left`&&ne(e=>e+1)},className:A(`relative flex h-(--sheet) min-h-0 w-full shrink-0 flex-col rounded-t-3xl bg-card shadow-[0_0_0_1px_var(--border-soft)] lg:h-auto lg:w-(--pane) lg:rounded-tl-none`,!h.dragging&&`max-lg:motion-safe:transition-[height] max-lg:motion-safe:duration-200`,`lg:motion-safe:transition-[margin-left,visibility] lg:motion-safe:duration-300 lg:motion-safe:ease-out`,w&&D&&`lg:invisible lg:ml-[calc(var(--pane)*-1)]`,w&&E===`test`&&h.folded&&`kb-hide`),style:{"--pane":`${m.width}px`,"--sheet":h.height},children:[(0,Y.jsx)(`div`,{role:`separator`,"aria-orientation":`horizontal`,"aria-label":R(`editor.resizeSheet`),"aria-valuenow":h.percent,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0,title:R(`editor.resizeSheet`),onPointerDown:h.onPointerDown,onKeyDown:h.onKeyDown,className:`group before:-top-4 relative z-10 flex h-7 shrink-0 cursor-row-resize touch-none select-none items-center justify-center outline-none before:absolute before:inset-x-0 before:h-4 lg:hidden`,children:(0,Y.jsx)(`span`,{className:`h-1.5 w-10 rounded-full bg-ink-4/40 transition-all group-hover:bg-ember/70 group-focus-visible:bg-ember group-active:w-14 group-active:bg-ember`})}),(0,Y.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":R(`editor.resize`),"aria-valuenow":m.width,tabIndex:0,title:R(`editor.resize`),onPointerDown:m.onPointerDown,onKeyDown:m.onKeyDown,onDoubleClick:m.reset,className:`group -right-5 absolute inset-y-0 z-10 hidden w-5 cursor-col-resize outline-none lg:block`,children:(0,Y.jsx)(`span`,{className:`-translate-y-1/2 absolute top-1/2 right-[7px] h-12 w-1.5 rounded-full bg-ink-4/40 transition group-hover:bg-ember/70 group-focus-visible:bg-ember group-active:h-16 group-active:bg-ember`})}),(0,Y.jsx)(`nav`,{ref:g,className:`flex shrink-0 gap-1 overflow-x-auto px-3 [scrollbar-width:none] lg:pt-3`,children:[`chat`,`step`,`files`,`memory`,`runs`].map(e=>(0,Y.jsxs)(`button`,{type:`button`,"data-active":f===e||void 0,onClick:()=>{p(e),h.unfold()},className:A(`h-9 shrink-0 rounded-full px-4 font-medium text-[0.8125rem] transition`,f===e?`bg-paper-2 text-ink`:`text-ink-3 hover:text-ink`),children:[R(cl[e]),et&&e!==`runs`?(0,Y.jsx)(Xe,{className:`ml-1.5 inline size-3 align-[-1px] text-ink-3 sm:hidden`}):null]},e))}),(0,Y.jsx)(`div`,{className:A(`min-h-0 flex-1 overflow-y-auto`,h.folded&&`max-lg:hidden`),children:f===`chat`?(0,Y.jsx)(Wt,{chat:U,avatar:K.avatar,closed:et??void 0}):f===`step`?(0,Y.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,Y.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,...it,children:(0,Y.jsx)(Ms,{def:K,selected:u,update:we,onSelect:rt,issues:G.issues,mcpServers:G.mcpServers,files:G.files,wizardId:G.id,readOnly:G.readOnly,decisions:Ue,branchFocus:le,assistant:ot})}),et?null:(0,Y.jsx)(`div`,{className:`shrink-0 px-3 pt-2 pb-3`,children:(0,Y.jsx)(Wt,{compact:!0,chat:U,avatar:K.avatar,foldOn:w})})]}):f===`files`?(0,Y.jsx)(Wn,{wizardId:G.id,files:G.files,readOnly:G.readOnly}):f===`memory`?(0,Y.jsx)(Ks,{wizardId:G.id,projectId:G.projectId,def:K,readOnly:G.readOnly}):(0,Y.jsx)(ic,{wizardId:G.id,onOpen:ze})})]})]}),(0,Y.jsx)(tl,{wizard:G,open:y,onClose:()=>b(!1),publish:G.readOnly?void 0:{run:()=>Ve.mutateAsync(),busy:Ve.isPending,disabled:Ke||Ge,fix:qe,goLive:()=>{b(!1),S(!0)}}}),G.readOnly?null:(0,Y.jsx)(Gs,{wizard:G,open:x,onClose:()=>S(!1),cloud:Fe,actions:{publish:()=>Ve.mutateAsync(),busy:Ve.isPending,disabled:Ke||Ge,test:()=>{S(!1),W.mutate()},openRun:e=>{S(!1),ze(e)},fix:qe,share:()=>{S(!1),b(!0)}}})]})}export{El as EditorPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./jsx-runtime-BNakU3Ej.js";import{Er as r,Jn as i,Nr as a,Or as o,Qt as s,an as c,hn as l,ir as u}from"./ui-DMmT-cSO.js";import{t as d}from"./phone-BjmhIKuT.js";import{Kt as f,Ut as p,Wt as m,Zt as h}from"./index-4jH2mkp7.js";var g={name:`message-square`,size:24,node:[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]};g.node;var _=a(g),v=[`text`,`data`,`image`,`video`,`voice`,`document`,`dashboard`,`widget`,`film`,`surface`];[...l],[...v];var y={default:`steps`,enabled:[`steps`,`chat`]},b=e(t(),1),x=e(n(),1),S=[{id:`steps`,group:`web`,runner:`steps`,label:`new.ch.steps`,icon:f},{id:`chat`,group:`web`,runner:`chat`,label:`new.ch.chat`,icon:m},{id:`talk`,group:`web`,runner:`talk`,label:`new.ch.talk`,icon:o},{id:`video`,group:`web`,runner:`video`,label:`new.ch.video`,icon:i},{id:`call`,group:`phone`,runner:`call`,label:`new.ch.call`,icon:d},{id:`wacall`,group:`phone`,runner:`call`,label:`new.ch.whatsapp`,icon:null},{id:`sms`,group:`message`,runner:`sms`,label:`new.ch.sms`,icon:_},{id:`whatsapp`,group:`message`,runner:`whatsapp`,label:`new.ch.whatsapp`,icon:null}],C=[{id:`web`,label:`new.web`,icon:h},{id:`phone`,label:`new.phone`,icon:d},{id:`message`,label:`new.messages`,icon:p}],w=S.filter(e=>y.enabled.includes(e.id)).map(e=>e.id),T=e=>S.filter(t=>e.includes(t.id));function E(e){return e.length===w.length&&w.every(t=>e.includes(t))}function D(e){let t=T(e),n=[...new Set(t.map(e=>e.runner))];return{default:t.find(e=>e.group===`web`)?.runner??n[0]??y.default,enabled:n}}var O=e=>e.map(e=>c(e.label));function k(e){return S.find(t=>t.runner===e)}function A(e){return S.filter(t=>t.id!==`wacall`&&e.includes(t.runner)).map(e=>e.id)}function j(e){let t=T(e),n=C.flatMap(e=>{let n=O(t.filter(t=>t.group===e.id));return n.length?[e.id===`web`?n.join(`, `):`${c(e.label)}: ${n.join(`, `)}`]:[]});return`${c(`new.runsAs`)}: ${n.join(` · `)}`}function M(e){return e.length<=2?e.join(`, `):`${e.slice(0,2).join(`, `)} +${e.length-2}`}function N({channel:e,className:t}){let n=e.icon;return n?(0,x.jsx)(n,{className:t??`size-4`}):(0,x.jsx)(`span`,{"aria-hidden":`true`,className:`font-semibold text-[0.625rem] tracking-wide`,children:`WA`})}function P(e){let t=new Set(e?.map(e=>e.id)??[`steps`,`chat`,`talk`,`video`]);return S.filter(e=>t.has(e.runner))}function F({value:e,onChange:t,runners:n,without:i,disabled:a}){let o=P(n).filter(e=>!i?.includes(e.id)),l=t=>e.includes(t.id),u=n=>{a||l(n)&&e.length===1||t(l(n)?e.filter(e=>e!==n.id):[...e,n.id])},d=t=>{let n=C.find(e=>e.id===t),i=o.filter(e=>e.group===t);if(!(n&&i.length))return null;let d=n.icon;return(0,x.jsxs)(`fieldset`,{className:`m-0 flex min-w-0 flex-col gap-0.5 border-0 p-0`,children:[(0,x.jsxs)(`legend`,{className:`flex items-center gap-1.5 px-2 pt-2 pb-1 text-[0.75rem] text-ink-3`,children:[(0,x.jsx)(d,{className:`size-3.5`}),` `,c(n.label)]}),i.map(t=>(0,x.jsxs)(`div`,{children:[(0,x.jsxs)(`label`,{className:s(`flex h-10 w-full cursor-pointer items-center gap-2.5 rounded-lg px-2 text-[0.875rem] transition hover:bg-accent has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-focus coarse:h-11`,l(t)&&`bg-paper-2`),children:[(0,x.jsx)(`span`,{className:`flex w-5 justify-center text-ink-3`,children:(0,x.jsx)(N,{channel:t})}),(0,x.jsx)(`span`,{className:`flex-1`,children:c(t.label)}),(0,x.jsx)(`input`,{type:`checkbox`,className:`sr-only`,"aria-label":c(t.label),checked:l(t),disabled:a,"aria-disabled":l(t)&&e.length===1,onChange:()=>u(t)}),(0,x.jsx)(`span`,{"aria-hidden":`true`,className:s(`flex size-[1.125rem] items-center justify-center rounded-md ring-1`,l(t)?`bg-ink text-paper ring-ink`:`ring-border`),children:l(t)?(0,x.jsx)(r,{className:`size-3`,strokeWidth:3}):null})]}),t.id===`call`&&l(t)?(0,x.jsx)(`p`,{className:`px-2 pb-1.5 pl-9 text-[0.75rem] text-ink-3`,children:c(`new.callHandoff`)}):null]},t.id))]})};return(0,x.jsxs)(`div`,{className:`grid gap-x-4 sm:grid-cols-2`,children:[d(`web`),(0,x.jsxs)(`div`,{className:`flex flex-col`,children:[d(`phone`),d(`message`)]})]})}function I({value:e,onChange:t,runners:n,className:r}){let[i,a]=(0,b.useState)(!1),[o,l]=(0,b.useState)(0),d=(0,b.useRef)(null);(0,b.useEffect)(()=>{if(!i)return;let e=e=>{d.current?.contains(e.target)||a(!1)},t=e=>{e.key===`Escape`&&a(!1)};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[i]);let f=P(n),p=C.filter(e=>f.some(t=>t.group===e.id)),m=t=>e.includes(t.id);return(0,x.jsxs)(`div`,{ref:d,className:s(`relative flex flex-wrap items-center gap-1.5`,r),children:[(0,x.jsx)(`span`,{className:`mr-0.5 px-1 text-[0.8125rem] text-ink-3`,children:c(`new.runsAs`)}),p.map(e=>{let t=O(f.filter(t=>t.group===e.id&&m(t))),n=e.icon;return(0,x.jsxs)(`button`,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i,"aria-label":`${c(e.label)}: ${t.length?t.join(`, `):c(`new.off`)}`,onClick:e=>{let t=e.currentTarget;l(t.offsetLeft+t.offsetWidth/2),a(e=>!e)},className:s(`inline-flex h-9 items-center justify-center gap-1.5 rounded-full font-medium text-[0.8125rem] transition coarse:h-11`,t.length?`bg-ink px-3 text-paper`:`w-9 text-ink-3 ring-1 ring-border hover:text-ink coarse:w-11`),children:[(0,x.jsx)(n,{className:`size-4 shrink-0`}),t.length?(0,x.jsx)(`span`,{className:`truncate`,children:M(t)}):null]},e.id)}),(0,x.jsx)(`button`,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i,"aria-label":c(`new.where`),onClick:e=>{let t=e.currentTarget;l(t.offsetLeft+t.offsetWidth/2),a(e=>!e)},className:`inline-flex size-9 items-center justify-center rounded-full text-ink-3 ring-1 ring-border transition hover:text-ink coarse:size-11`,children:(0,x.jsx)(u,{className:`size-4`})}),i?(0,x.jsxs)(`div`,{role:`dialog`,"aria-label":c(`new.where`),style:{transformOrigin:`${o}px top`},className:`absolute top-full left-0 z-20 mt-2 w-[min(32rem,calc(100vw-2rem))] animate-unfold rounded-2xl bg-card p-3 text-left shadow-overlay ring-1 ring-border`,children:[(0,x.jsx)(`p`,{className:`px-2 pt-1 font-semibold text-[0.9375rem]`,children:c(`new.where`)}),(0,x.jsx)(F,{value:e,onChange:t,runners:n})]}):null]})}export{j as a,E as c,I as i,D as l,N as n,k as o,F as r,A as s,C as t};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./jsx-runtime-BNakU3Ej.js";import{$ as r,Ar as i,Gr as a,It as o,Lr as s,Qt as c,Rt as l,Ur as u,Vr as d,W as f,Zt as p,an as m,cr as h,d as g,en as _,f as v,gi as y,h as b,ir as x,kt as S,l as ee,m as te,oi as C,p as ne,qn as w,zt as T}from"./ui-DMmT-cSO.js";import{a as re,c as E,i as ie,l as ae}from"./NewWizardChannels-Ba3XGpro.js";import{t as D}from"./upload-JX9BcMTq.js";import{Ct as oe,_ as O,an as k,b as A,ft as j,ht as M,ut as se,v as ce,vt as N,y as P}from"./index-4jH2mkp7.js";var F=[[`id`,8],[`toolId`,10],[`moduleId`,7],[`pluginId`,6],[`title`,6],[`description`,4],[`tags`,3],[`path`,3],[`inputSchema`,2],[`outputSchema`,2],[`request`,1],[`response`,1]];function I(e){return e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).replace(/([a-z])([A-Z])/g,`$1 $2`).toLowerCase()}function L(e){return I(e).split(/[^a-z0-9]+/).map(e=>e.trim()).filter(e=>e.length>1)}function R(e){return e==null?``:Array.isArray(e)?e.map(R).filter(Boolean).join(` `):typeof e==`object`?Object.values(e).map(R).filter(Boolean).join(` `):String(e)}function z(e,t){let n=t.map(([t,n])=>({text:R(e[t]),weight:n})).filter(e=>e.text.length>0);return{fields:n,tokens:n.flatMap(e=>L(e.text))}}function B(e){let t=[e];if(e.length<5)return t;if(e.endsWith(`ing`)){let n=e.slice(0,-3);n.length>=3&&t.push(n,`${n}e`)}else if(e.endsWith(`ies`)&&e.length>=6)t.push(`${e.slice(0,-3)}y`);else if(e.endsWith(`es`))t.push(e.slice(0,-2),e.slice(0,-1));else if(e.endsWith(`ed`)){let n=e.slice(0,-2);t.push(n,`${n}e`)}else e.endsWith(`s`)&&!e.endsWith(`ss`)&&t.push(e.slice(0,-1));return[...new Set(t)]}function V(e,t){if(e===t)return 1;let n=0;for(let r of B(e))for(let i of B(t)){if(r===i){n=Math.max(n,r===e&&i===t?1:.75);continue}r.length>=2&&i.startsWith(r)&&(n=Math.max(n,.55*(r.length/i.length))),i.length>=4&&r.startsWith(i)&&(n=Math.max(n,.4*(i.length/r.length)))}return n}function H(e,t){return e.reduce((e,n)=>e+V(t,n),0)}function U(e,t,n=F){if(!t?.trim())return 0;let r=L(t);if(r.length===0)return 0;let i=z(e,n);return i.tokens.length===0?0:r.reduce((e,t)=>H(i.tokens,t)===0?e:e+i.fields.reduce((e,n)=>{let r=L(n.text),i=H(r,t);if(i===0)return e;let a=i*2.2/(i+1.2+r.length/16);return e+n.weight*a},0),0)}var W=new Set(L(`aber als also am an auch auf aus bei bin bitte brauche brauchen braucht das dass dem den der
|
|
2
|
-
des die dies diese dieser doch du ein eine einem einen einer eines er es etwas fuer für gerne
|
|
3
|
-
habe haben hat ich ihr im in ist kann können koennen mache machen mag mein meine meinem meinen
|
|
4
|
-
meiner mich mir mit möchte moechte nach nicht noch nur oder sich sie sind soll suche suchen
|
|
5
|
-
sucht um und uns unser unsere vom von vor was wie will wir wird wo wollen zu zum zur
|
|
6
|
-
a about an and are as at be can do for from have how i in is it like looking me my need of on
|
|
7
|
-
or our that the this to want we what which who with would you your`)),G=e=>e.replace(/ß/g,`ss`);function K(e){let t=L(G(e)),n=t.filter(e=>!W.has(e));return n.length?n:t}var q=e=>e.trim().split(/\s+/).filter(Boolean).length>=3,J=e(t(),1),Y=e(n(),1);function le({variant:e=`secondary`,label:t=m(`home.import`)}){let n=d(),r=y(),{project:i}=M(),a=N(),s=(0,J.useRef)(null),c=k({mutationFn:e=>f.upload(`/api/studio/projects/${i.id}/wizards/import`,e),onSuccess:async({id:e})=>{await r.invalidateQueries({queryKey:[`projects`]}),await r.invalidateQueries({queryKey:[`wizards`]}),n(`/edit/${e}`)}}),l=c.error instanceof S?c.error.body?.issues??[]:[];return!a||i?.readOnly?null:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(o,{variant:e,busy:c.isPending,disabled:!i,onClick:()=>s.current?.click(),children:[(0,Y.jsx)(D,{className:`size-4`}),` `,t]}),(0,Y.jsx)(`input`,{ref:s,hidden:!0,type:`file`,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&c.mutate(t)}}),(0,Y.jsxs)(T,{open:c.isError,onClose:c.reset,title:m(`import.failed`),children:[(0,Y.jsx)(`p`,{className:`text-[0.875rem] text-ink-2`,children:c.error?.message}),l.length?(0,Y.jsx)(`ul`,{className:`mt-3 flex list-disc flex-col gap-1 pl-5 text-[0.8125rem] text-ink-2`,children:l.slice(0,8).map(e=>(0,Y.jsx)(`li`,{children:e.message},e.message))}):null,(0,Y.jsx)(`div`,{className:`mt-5 flex justify-end`,children:(0,Y.jsx)(o,{variant:`secondary`,onClick:c.reset,children:m(`common.close`)})})]})]})}var X=10,Z=3;async function ue(e,t){let n=await fetch(r(`/api/studio/wizards/${e}/files/${encodeURIComponent(t.name)}`),{method:`PUT`,credentials:`include`,headers:{"content-type":t.type||`application/octet-stream`,"accept-language":_},body:t});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??n.statusText)}}function Q({over:e,onClick:t}){return(0,Y.jsx)(`button`,{type:`button`,"aria-label":m(`editor.detach`),onClick:t,className:c(`inline-flex shrink-0 items-center justify-center rounded-full`,e?`-top-1.5 -right-1.5 absolute size-5 bg-ink text-paper shadow-soft coarse:size-7`:`size-5 text-ink-3 hover:bg-paper-3 hover:text-ink coarse:size-7`),children:(0,Y.jsx)(w,{className:`size-3`})})}function $(e,t){let n=K(t);if(!n.length)return[];let r=e.map(e=>({w:e,score:U({title:e.title,summary:e.description},n.join(` `),[[`title`,10],[`summary`,6]])})).filter(e=>e.score>0).sort((e,t)=>t.score-e.score),i=q(t)?(r[0]?.score??0)*.4:0;return r.filter(e=>e.score>=i).slice(0,Z).map(e=>e.w)}function de({wish:e,projectId:t,busy:n,onTake:r,onMore:i}){let s=d(),[c,u]=(0,J.useState)(null),p=A(e.trim(),300),h=a({queryKey:[`wizards`,t,`similar`],queryFn:()=>f.get(`/api/studio/projects/${t}/wizards`)}),g=a({queryKey:[`marketplace`,_,p,`similar`],queryFn:()=>f.get(`/api/studio/marketplace?${new URLSearchParams({lang:_,limit:String(X),offset:`0`,q:p})}`),enabled:p.length>=3,placeholderData:C});if(p.length<3)return null;let v=$(h.data??[],p),y=(g.data?.entries??[]).slice(0,X-v.length),b=(g.data?.total??0)-y.length;if(!(v.length||y.length))return null;let x=`flex items-center gap-3 rounded-xl bg-card py-2 pr-2 pl-3.5 ring-1 ring-border-soft`;return(0,Y.jsxs)(`section`,{className:`mt-5`,children:[(0,Y.jsx)(`h2`,{className:`mb-2 px-1 text-[0.8125rem] text-ink-3`,children:m(`new.similar`)}),(0,Y.jsxs)(`ul`,{className:`flex flex-col gap-1.5`,children:[v.map(e=>(0,Y.jsxs)(`li`,{className:x,children:[(0,Y.jsx)(l,{children:m(`new.yours`)}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>s(`/edit/${e.id}`),className:`min-w-0 flex-1 text-left`,children:[(0,Y.jsx)(`span`,{className:`block truncate font-medium text-[0.9375rem]`,children:e.title}),(0,Y.jsx)(`span`,{className:`block truncate text-[0.8125rem] text-ink-3`,children:e.description})]}),(0,Y.jsx)(o,{variant:`secondary`,size:`sm`,onClick:()=>s(`/edit/${e.id}`),children:m(`new.open`)})]},e.id)),y.map(e=>(0,Y.jsxs)(`li`,{className:x,children:[(0,Y.jsx)(l,{children:m(`new.template`)}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>u(e.id),className:`min-w-0 flex-1 text-left`,children:[(0,Y.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`truncate font-medium text-[0.9375rem]`,children:e.title}),e.plan===`pro`?(0,Y.jsx)(P,{}):null]}),(0,Y.jsx)(`span`,{className:`block truncate text-[0.8125rem] text-ink-3`,children:e.pitch})]}),(0,Y.jsx)(o,{variant:`secondary`,size:`sm`,disabled:n,onClick:()=>r(e),children:m(`new.take`)})]},e.id))]}),b>0?(0,Y.jsx)(`button`,{type:`button`,onClick:()=>i(p),className:`mt-2 px-1 text-[0.875rem] text-ink-2 hover:text-ink coarse:min-h-11`,children:m(`new.more`,{n:b})}):null,(0,Y.jsx)(O,{id:c,fallback:y.find(e=>e.id===c)??null,onClose:()=>u(null),onUse:r,busy:n})]})}function fe(){let e=d(),t=y(),{project:n}=M(),r=N(),[l]=u(),[S,C]=(0,J.useState)(()=>l.get(`wish`)??j()??``),w=(0,J.useRef)(j()!==null),[T,D]=(0,J.useState)([`steps`]),[O,A]=(0,J.useState)([]),[P,F]=(0,J.useState)(!1),[I,L]=(0,J.useState)(null),R=(0,J.useRef)(null),z=(0,J.useRef)(null),B=(0,J.useRef)(null),[V]=b(),H=te(S,C,{deviceId:V.deviceId}),U=a({queryKey:[`runners`],queryFn:()=>f.get(`/api/studio/runners`)}),W=e=>{let t=e.map(ne);A(e=>[...e.filter(e=>!t.some(t=>t.name===e.name)),...t])},[G,K]=(0,J.useState)(new Map);(0,J.useEffect)(()=>{let e=new Map(O.filter(e=>e.type.startsWith(`image/`)).map(e=>[e,URL.createObjectURL(e)]));return K(e),()=>{for(let t of e.values())URL.revokeObjectURL(t)}},[O]);let q=k({mutationFn:e=>f.post(`/api/studio/wizards`,{projectId:n.id,starterId:e,lang:_}),onSuccess:async({id:n})=>{await t.invalidateQueries({queryKey:[`projects`]}),await t.invalidateQueries({queryKey:[`wizards`]}),e(`/edit/${n}`)}}),X=k({mutationFn:async()=>{let e=B.current??(await f.post(`/api/studio/wizards`,{projectId:n.id,lang:_})).id;B.current=e,E(T)||await f.patch(`/api/studio/wizards/${e}`,{runners:ae(T)});for(let t of O)await ue(e,t);return e},onSuccess:async n=>{se(),await t.invalidateQueries({queryKey:[`projects`]}),await t.invalidateQueries({queryKey:[`wizards`]});let r=S.trim();E(T)||(r+=`\n\n${re(T)}`),O.length&&(r+=`\n\n${m(`editor.attached`)}: ${O.map(e=>e.name).join(`, `)}`),e(`/edit/${n}?prompt=${encodeURIComponent(r)}`)}}),Z=()=>{S.trim()&&n&&!X.isPending&&(H.listening&&H.stop(),X.mutate())};if((0,J.useEffect)(()=>{w.current&&n&&r&&!n.readOnly&&S.trim()&&(w.current=!1,X.mutate())},[n,r,S,X]),!r||n?.readOnly)return(0,Y.jsx)(s,{to:`/`,replace:!0});let $=X.error??q.error;return(0,Y.jsxs)(`div`,{className:`animate-rise md:pt-4`,children:[(0,Y.jsxs)(`div`,{className:`mx-auto max-w-2xl`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,Y.jsx)(`div`,{className:`size-[84px] md:size-auto`,children:(0,Y.jsx)(`div`,{className:`origin-top-left scale-[0.56] md:scale-100`,children:(0,Y.jsx)(oe,{kind:`sprout`,size:150,fluffy:!0})})}),(0,Y.jsx)(`h1`,{className:`mt-1 font-display font-semibold text-[1.5rem] leading-tight tracking-tight md:mt-2 md:text-[2.375rem]`,children:m(`new.title`)})]}),(0,Y.jsx)(ie,{value:T,onChange:D,runners:U.data,className:`mt-4 px-1 md:mt-8`}),(0,Y.jsxs)(`div`,{className:c(`relative mt-3 rounded-2xl bg-card p-2 shadow-elevated ring-1 ring-border-soft focus-within:ring-focus`,P&&`ring-2 ring-focus`),onDragOver:e=>{e.dataTransfer.types.includes(`Files`)&&(e.preventDefault(),F(!0))},onDragLeave:()=>F(!1),onDrop:e=>{e.preventDefault(),F(!1),W(Array.from(e.dataTransfer.files).map(v))},children:[O.length?(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center gap-2 px-2 pt-2 pb-1`,children:O.map((e,t)=>{let n=G.get(e),r=()=>A(e=>e.filter((e,n)=>n!==t));return n?(0,Y.jsx)(g,{url:n,label:e.name,children:(0,Y.jsx)(Q,{over:!!n,onClick:r})},`${e.name}-${t}`):(0,Y.jsxs)(`span`,{className:`inline-flex max-w-full items-center gap-1.5 rounded-full bg-paper-2 py-1 pr-1 pl-2.5 text-[0.8125rem] text-ink-2`,children:[(0,Y.jsx)(h,{className:`size-3.5 shrink-0 text-ink-4`}),(0,Y.jsx)(`span`,{className:`truncate`,children:e.name}),(0,Y.jsx)(Q,{over:!!n,onClick:r})]},`${e.name}-${t}`)})}):null,(0,Y.jsx)(p,{autoFocus:!0,minRows:4,value:S,onChange:e=>C(e.target.value),onPaste:e=>{let t=Array.from(e.clipboardData.files);t.length&&(e.preventDefault(),W(t.map(v)))},onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&Z()},placeholder:H.listening?m(`editor.listening`):m(`new.placeholder`),className:`border-0 bg-transparent text-[1rem] shadow-none focus:ring-0`}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-1 pb-1`,children:[(0,Y.jsx)(`button`,{type:`button`,"aria-label":m(`editor.attach`),title:m(`editor.attach`),onClick:()=>z.current?.click(),className:`inline-flex size-10 shrink-0 items-center justify-center rounded-full border border-border text-ink transition hover:bg-paper-2 coarse:size-11`,children:(0,Y.jsx)(x,{className:`size-4`})}),(0,Y.jsx)(`input`,{ref:z,type:`file`,multiple:!0,hidden:!0,onChange:e=>{let t=Array.from(e.target.files??[]);e.target.value=``,W(t)}}),H.supported?(0,Y.jsx)(ee,{speech:H,labelled:!0}):null,(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[0.75rem] text-ink-4`,children:P?m(`new.dropHint`):null}),(0,Y.jsxs)(o,{size:`md`,onClick:Z,busy:X.isPending,disabled:!S.trim()||q.isPending,children:[m(`new.build`),` `,(0,Y.jsx)(i,{className:`size-4`})]})]})]}),(0,Y.jsx)(`p`,{className:`mt-3 text-center text-[0.875rem] text-ink-3`,children:m(`new.hint`)}),H.error?(0,Y.jsx)(`p`,{className:`mt-2 px-3 text-[0.75rem] text-rose`,children:H.error===`denied`?m(`editor.micDenied`):H.error}):null,$?(0,Y.jsx)(`p`,{className:`mt-3 text-center text-[0.875rem] text-rose`,children:$.message}):null,n?(0,Y.jsx)(de,{wish:S,projectId:n.id,busy:q.isPending||X.isPending,onTake:e=>!q.isPending&&q.mutate(e.id),onMore:e=>{L({text:e}),R.current?.scrollIntoView({behavior:`smooth`,block:`start`})}}):null]}),(0,Y.jsxs)(`section`,{ref:R,className:`mx-auto max-w-5xl scroll-mt-6`,children:[(0,Y.jsx)(`h2`,{className:`mt-16 mb-5 text-center font-medium text-[0.8125rem] text-ink-3 uppercase tracking-[0.08em]`,children:m(`new.orStarter`)}),(0,Y.jsx)(ce,{open:l.get(`starter`),search:I,busy:q.isPending,onUse:e=>n&&!q.isPending&&q.mutate(e.id)})]}),(0,Y.jsx)(`div`,{className:`mt-8 flex justify-center`,children:(0,Y.jsx)(le,{variant:`ghost`,label:m(`new.import`)})})]})}export{fe as NewWizardPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./jsx-runtime-BNakU3Ej.js";import{Ar as r,Er as i,Qt as a,Ur as ee,Vr as te,W as o,an as s,en as c,gi as ne,gr as re}from"./ui-DMmT-cSO.js";import{t as ie}from"./upload-JX9BcMTq.js";import{Ct as ae,Ot as l,Tt as oe,Y as se,an as u,ft as ce,ht as le,yt as ue}from"./index-4jH2mkp7.js";var d=e(t(),1),f=e(n(),1),p=`oklch(50% 0.2 262)`,m=`oklch(32% 0.15 262)`,de={"--on":`white`,"--dot":`oklch(90% 0.1 80)`,"--ink-2":`oklch(96% 0.02 262)`,"--ink-3":`oklch(90% 0.035 262)`,"--moss":`oklch(90% 0.14 150)`,"--rose":`oklch(89% 0.09 45)`},h={kind:1,details:1,team:1,site:2,know:3,space:4},fe=e=>e!==null&&Object.hasOwn(h,e),g=`w-full rounded-[18px] border border-white/30 bg-white/15 px-6 py-5 text-[1.375rem] text-white outline-none placeholder:text-white/55 focus:border-white/60`;function pe(){return(0,f.jsxs)(`span`,{className:`inline-flex items-center gap-2.5`,children:[(0,f.jsx)(l,{size:28}),(0,f.jsxs)(`span`,{className:`font-display font-semibold text-[1.0625rem] tracking-tight`,children:[`engenty`,(0,f.jsx)(`span`,{className:`mr-[0.09em] ml-[0.06em] text-(color:--dot)`,children:`.`}),(0,f.jsx)(`span`,{className:`font-normal text-white/70`,children:`wizards`})]})]})}function _({children:e,busy:t,onClick:n,type:i=`button`}){return(0,f.jsxs)(`button`,{type:i,disabled:t,onClick:n,className:`inline-flex h-13 cursor-pointer items-center gap-2.5 rounded-full bg-white px-7 font-semibold text-[1rem] transition hover:bg-white/90 disabled:cursor-default disabled:opacity-70`,style:{color:m},children:[e,(0,f.jsx)(r,{className:`size-[18px]`})]})}function v({children:e,onClick:t}){return(0,f.jsx)(`button`,{type:`button`,onClick:t,className:`cursor-pointer font-semibold text-[0.9375rem] text-white/85 transition hover:text-white`,children:e})}function y({step:e}){return(0,f.jsx)(`span`,{className:`ml-auto inline-flex gap-1.5`,role:`img`,"aria-label":s(`onboard.step`,{n:e}),children:[1,2,3,4].map(t=>(0,f.jsx)(`span`,{className:a(`size-2 rounded-full`,t===e?`bg-white`:`bg-white/40`)},t))})}var b=[{kind:`personal`,label:`onboard.kindPersonal`,sub:`onboard.kindPersonalSub`},{kind:`club`,label:`onboard.kindClub`,sub:`onboard.kindClubSub`},{kind:`small`,label:`onboard.kindSmall`,sub:`onboard.kindSmallSub`},{kind:`corp`,label:`onboard.kindCorp`,sub:`onboard.kindCorpSub`}],x=new Set([`gmail.com`,`googlemail.com`,`gmx.at`,`gmx.de`,`gmx.net`,`web.de`,`outlook.com`,`hotmail.com`,`live.com`,`icloud.com`,`me.com`,`yahoo.com`,`yahoo.de`,`aon.at`,`a1.net`,`chello.at`,`t-online.de`,`proton.me`,`protonmail.com`]);function me(e){let t=(e.split(`@`)[1]??``).trim().toLowerCase();return t?x.has(t)?{kind:`personal`,domain:t}:/(verein|club|klub|^sv-|^fc-|^ff-|feuerwehr|musik|chor)/.test(t)?{kind:`club`,domain:t}:{kind:`small`,domain:t}:{kind:null,domain:t}}var S={club:[`0-50`,`50-250`,`250-1000`,`1000+`],small:[`1`,`2-9`,`10-49`],corp:[`50-249`,`250-999`,`1000+`]},C=e=>Number(e).toLocaleString(c),w=e=>{if(e===`1`)return s(`onboard.justMe`);if(e.endsWith(`+`))return`${C(e.slice(0,-1))}+`;let[t,n]=e.split(`-`);return t===`0`?`≤ ${C(n)}`:`${C(t)}–${C(n)}`},he=[`sport`,`culture`,`social`,`education`,`environment`,`rescue`,`other`],ge=[`chair`,`board`,`treasurer`,`secretary`,`member`],_e=[`management`,`it`,`marketing`,`sales`,`operations`,`other`],T=`w-full rounded-[14px] border border-white/30 bg-white/15 px-4 py-3 text-[1.0625rem] text-white outline-none placeholder:text-white/55 focus:border-white/60`;function ve({picked:e,label:t,sub:n,onClick:r}){return(0,f.jsxs)(`button`,{type:`button`,"aria-pressed":e,onClick:r,className:a(`flex cursor-pointer flex-col gap-1 rounded-[18px] border px-5 py-4 text-left transition`,e?`border-white bg-white/25`:`border-white/30 bg-white/10 hover:bg-white/15`),children:[(0,f.jsx)(`span`,{className:`font-display font-semibold text-[1.125rem]`,children:t}),(0,f.jsx)(`span`,{className:`text-[0.875rem] text-white/80`,children:n})]})}function E({label:e,options:t,value:n,text:r,onChange:i}){return(0,f.jsxs)(`fieldset`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(`legend`,{className:`mb-2 text-[0.9375rem] text-white/85`,children:e}),(0,f.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:t.map(e=>(0,f.jsx)(`button`,{type:`button`,"aria-pressed":n===e,onClick:()=>i(e),className:a(`cursor-pointer rounded-full border px-4 py-2 text-[0.9375rem] transition`,n===e?`border-white bg-white`:`border-white/30 hover:bg-white/15`),style:n===e?{color:m}:void 0,children:r(e)},e))})]})}function D(e,t,n){let r=`${O}${e}:${t}`,[i,a]=(0,d.useState)(()=>{try{let e=sessionStorage.getItem(r);return e===null?n:JSON.parse(e)}catch{return n}});return(0,d.useEffect)(()=>{try{sessionStorage.setItem(r,JSON.stringify(i))}catch{}},[r,i]),[i,a]}var O=`wizards.onboarding:`;function ye(){try{for(let e of Object.keys(sessionStorage))e.startsWith(O)&&sessionStorage.removeItem(e)}catch{}}function k(){oe(p);let e=ue(),t=ne(),n=te(),{project:r}=le(),c=e.data?.user.id??``,[l,C]=D(c,`team`,``),[O,k]=D(c,`site`,``),[A,j]=D(c,`line`,null),[M,be]=(0,d.useState)(null),[N,P]=(0,d.useState)([]),F=(0,d.useRef)(null),[I]=(0,d.useState)(ce),[L]=(0,d.useState)(()=>me(e.data?.user.email??``)),[R,xe]=D(c,`profile`,{kind:L.kind,size:null,sector:``,role:null,need:``,legalName:``,phone:``}),[Se,Ce]=ee(),z=Se.get(`page`),B=fe(z)&&(z!==`details`||R.kind)?z:`kind`,V=h[B],H=e=>Ce(t=>{let n=new URLSearchParams(t);return n.set(`page`,e),n}),U=e=>xe(t=>({...t,...e})),W=u({mutationFn:e=>o.put(`/api/studio/team/profile`,{kind:R.kind,size:R.size,sector:R.sector.trim()||null,role:R.role,need:R.need.trim()||null,legalName:R.legalName.trim()||null,phone:R.phone.trim()||null,website:e?.trim()||null})}),G=R.kind===`personal`,K=()=>{!O&&L.domain&&R.kind!==`personal`&&!x.has(L.domain)&&k(L.domain),H(`site`)},q=u({mutationFn:e=>o.put(`/api/studio/team`,{name:e}),onSuccess:()=>t.invalidateQueries({queryKey:[`team`]})}),J=u({mutationFn:e=>o.post(`/api/studio/projects/${r?.id}/website`,{url:e}),onSuccess:async e=>{be(e),await t.invalidateQueries({queryKey:[`projects`]})}}),Y=u({mutationFn:e=>o.patch(`/api/studio/projects/${r?.id}`,{brand:{about:e}}),onSuccess:()=>t.invalidateQueries({queryKey:[`projects`]})}),X=u({mutationFn:()=>o.post(`/api/studio/onboarding/done`),onSuccess:async()=>{ye(),await t.invalidateQueries({queryKey:[`me`]}),n(`/new`,{replace:!0})}}),Z=e.data?.user.name??``,Q=Z.includes(`@`)?``:Z.split(` `)[0],$=async e=>{if(e&&r){for(let t of Array.from(e)){P(e=>[...e,{name:t.name,state:`uploading`}]);try{await o.upload(`/api/studio/projects/${r.id}/files?kind=document`,t),P(e=>e.map(e=>e.name===t.name?{...e,state:`done`}:e))}catch{P(e=>e.map(e=>e.name===t.name?{...e,state:`failed`}:e))}}await t.invalidateQueries({queryKey:[`projects`]})}},we=M?[M.about?s(`onboard.readAbout`):``,M.colors?s(`onboard.readColors`,{n:M.colors}):``,M.logo?s(`onboard.readLogo`):``].join(``):``;return(0,f.jsxs)(`div`,{className:`flex min-h-dvh flex-col px-6 text-white sm:px-10`,style:{...de,background:p},children:[(0,f.jsxs)(`header`,{className:`flex items-center justify-between pt-6 sm:pt-8`,children:[(0,f.jsx)(pe,{}),(0,f.jsx)(se,{tone:`ground`,ink:m})]}),(0,f.jsxs)(`main`,{className:`mx-auto grid w-full max-w-6xl flex-1 items-center gap-10 py-10 lg:grid-cols-[5fr_7fr] lg:gap-12`,children:[(0,f.jsxs)(`div`,{className:`flex flex-col items-center gap-8 max-lg:order-first`,children:[(0,f.jsx)(ae,{kind:`drop`,size:240,fluffy:!0,coat:`fur`}),I?(0,f.jsxs)(`figure`,{className:`w-full max-w-sm rounded-[18px] bg-white/15 px-5 py-4`,children:[(0,f.jsx)(`figcaption`,{className:`font-medium text-[0.75rem] text-white/85 uppercase tracking-[0.14em]`,children:s(`onboard.wish`)}),(0,f.jsx)(`blockquote`,{className:`mt-1.5 line-clamp-6 whitespace-pre-line break-words text-[1rem] leading-relaxed`,children:I}),(0,f.jsx)(`p`,{className:`mt-2 text-[0.8125rem] text-white/75`,children:s(`onboard.wishNext`)})]}):null]}),(0,f.jsxs)(`div`,{className:`flex min-w-0 max-w-2xl animate-rise flex-col gap-5`,children:[B===`kind`?(0,f.jsxs)(`form`,{className:`contents`,onSubmit:e=>{e.preventDefault(),R.kind&&H(`details`)},children:[(0,f.jsx)(`p`,{className:`font-medium text-[0.75rem] text-white/85 uppercase tracking-[0.14em]`,children:Q?s(`onboard.kicker1`,{name:Q}):s(`onboard.kicker1Anon`)}),(0,f.jsx)(`h1`,{className:`font-display font-bold text-[2.5rem] leading-[1.05] tracking-[-0.02em] sm:text-[3.25rem]`,children:s(`onboard.kind`)}),(0,f.jsx)(`p`,{className:`text-[1.0625rem] text-white/90 leading-relaxed`,children:s(`onboard.kindSub`)}),L.kind?(0,f.jsx)(`p`,{className:`text-[0.9375rem] text-white/80`,children:s(`onboard.guess`,{domain:L.domain,kind:s(b.find(e=>e.kind===L.kind)?.label??`onboard.kindSmall`)})}):null,(0,f.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:b.map(e=>(0,f.jsx)(ve,{picked:R.kind===e.kind,label:s(e.label),sub:s(e.sub),onClick:()=>U({kind:e.kind,size:e.kind===R.kind?R.size:null})},e.kind))}),(0,f.jsxs)(`div`,{className:`flex flex-wrap items-center gap-5`,children:[(0,f.jsx)(_,{type:`submit`,children:s(`onboard.continue`)}),(0,f.jsx)(y,{step:1})]})]}):null,B===`details`&&R.kind?(0,f.jsxs)(`form`,{className:`contents`,onSubmit:e=>{e.preventDefault(),W.mutate(void 0),R.kind===`corp`&&R.legalName.trim()&&!l&&C(R.legalName.trim()),R.kind===`personal`?K():H(`team`)},children:[(0,f.jsx)(`p`,{className:`font-medium text-[0.75rem] text-white/85 uppercase tracking-[0.14em]`,children:Q?s(`onboard.kicker1`,{name:Q}):s(`onboard.kicker1Anon`)}),(0,f.jsx)(`h1`,{className:`font-display font-bold text-[2.25rem] leading-[1.05] tracking-[-0.02em] sm:text-[2.75rem]`,children:s(R.kind===`personal`?`onboard.personalTitle`:R.kind===`club`?`onboard.clubTitle`:`onboard.businessTitle`)}),R.kind===`personal`?(0,f.jsx)(`textarea`,{value:R.need,onChange:e=>U({need:e.target.value}),placeholder:s(`onboard.personalPlaceholder`),rows:3,maxLength:2e3,"aria-label":s(`onboard.personalTitle`),className:a(g,`resize-none text-[1.125rem] leading-relaxed`)}):null,R.kind===`club`?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(E,{label:s(`onboard.clubKind`),options:he,value:R.sector,text:e=>s(`onboard.club.${e}`),onChange:e=>U({sector:e})}),(0,f.jsx)(E,{label:s(`onboard.members`),options:S.club,value:R.size,text:w,onChange:e=>U({size:e})}),(0,f.jsx)(E,{label:s(`onboard.yourRole`),options:ge,value:R.role,text:e=>s(`onboard.role.${e}`),onChange:e=>U({role:e})})]}):null,R.kind===`small`?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(E,{label:s(`onboard.people`),options:S.small,value:R.size,text:w,onChange:e=>U({size:e})}),(0,f.jsxs)(`label`,{className:`flex flex-col gap-2 text-[0.9375rem] text-white/85`,children:[s(`onboard.sector`),(0,f.jsx)(`input`,{value:R.sector,onChange:e=>U({sector:e.target.value}),placeholder:s(`onboard.sectorPlaceholder`),maxLength:120,className:T})]}),(0,f.jsxs)(`label`,{className:`flex flex-col gap-2 text-[0.9375rem] text-white/85`,children:[(0,f.jsxs)(`span`,{children:[s(`onboard.need`),` `,(0,f.jsx)(`span`,{className:`text-white/60`,children:s(`onboard.optional`)})]}),(0,f.jsx)(`textarea`,{value:R.need,onChange:e=>U({need:e.target.value}),placeholder:s(`onboard.needPlaceholder`),rows:2,maxLength:2e3,className:a(T,`resize-none`)})]})]}):null,R.kind===`corp`?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(E,{label:s(`onboard.people`),options:S.corp,value:R.size,text:w,onChange:e=>U({size:e})}),(0,f.jsx)(E,{label:s(`onboard.yourRole`),options:_e,value:R.role,text:e=>s(`onboard.role.${e}`),onChange:e=>U({role:e})}),(0,f.jsxs)(`label`,{className:`flex flex-col gap-2 text-[0.9375rem] text-white/85`,children:[s(`onboard.legalName`),(0,f.jsx)(`input`,{value:R.legalName,onChange:e=>U({legalName:e.target.value}),placeholder:s(`onboard.legalNamePlaceholder`),maxLength:200,autoComplete:`organization`,className:T})]}),(0,f.jsxs)(`label`,{className:`flex flex-col gap-2 text-[0.9375rem] text-white/85`,children:[(0,f.jsxs)(`span`,{children:[s(`onboard.phone`),` `,(0,f.jsx)(`span`,{className:`text-white/60`,children:s(`onboard.phoneWhy`)})]}),(0,f.jsx)(`input`,{type:`tel`,value:R.phone,onChange:e=>U({phone:e.target.value.replace(/[^+0-9 ()/.-]/g,``)}),placeholder:`+43 …`,maxLength:40,autoComplete:`tel`,className:T})]})]}):null,(0,f.jsxs)(`div`,{className:`flex flex-wrap items-center gap-5`,children:[(0,f.jsx)(_,{type:`submit`,busy:W.isPending,children:s(`onboard.continue`)}),(0,f.jsx)(v,{onClick:()=>window.history.state?.idx>0?n(-1):H(`kind`),children:s(`onboard.back`)}),(0,f.jsx)(y,{step:1})]})]}):null,B===`team`?(0,f.jsxs)(`form`,{className:`contents`,onSubmit:e=>{e.preventDefault();let t=l.trim();t?q.mutate(t,{onSuccess:K}):K()},children:[(0,f.jsx)(`p`,{className:`font-medium text-[0.75rem] text-white/85 uppercase tracking-[0.14em]`,children:Q?s(`onboard.kicker1`,{name:Q}):s(`onboard.kicker1Anon`)}),(0,f.jsx)(`h1`,{className:`font-display font-bold text-[2.5rem] leading-[1.05] tracking-[-0.02em] sm:text-[3.25rem]`,children:s(`onboard.team`)}),(0,f.jsx)(`p`,{className:`text-[1.0625rem] text-white/90 leading-relaxed`,children:s(`onboard.teamSub`)}),(0,f.jsx)(`input`,{value:l,onChange:e=>C(e.target.value),placeholder:s(`onboard.teamPlaceholder`),maxLength:80,"aria-label":s(`onboard.team`),className:g}),(0,f.jsxs)(`div`,{className:`flex flex-wrap items-center gap-5`,children:[(0,f.jsx)(_,{type:`submit`,busy:q.isPending,children:s(`onboard.continue`)}),(0,f.jsx)(y,{step:1})]})]}):null,V===2?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`p`,{className:`font-medium text-[0.75rem] text-white/85 uppercase tracking-[0.14em]`,children:s(G?`onboard.kicker2Personal`:`onboard.kicker2`)}),(0,f.jsx)(`h1`,{className:`font-display font-bold text-[2.5rem] leading-[1.05] tracking-[-0.02em] sm:text-[3.25rem]`,children:s(`onboard.site`)}),(0,f.jsx)(`p`,{className:`text-[1.0625rem] text-white/90 leading-relaxed`,children:s(G?`onboard.siteSubPersonal`:`onboard.siteSub`)}),A===null?(0,f.jsxs)(`form`,{className:`contents`,onSubmit:e=>{e.preventDefault();let t=O.trim();if(t&&!J.isPending){if(R.kind&&W.mutate(t),!t.includes(`.`)){H(`know`);return}J.mutate(t)}},children:[(0,f.jsx)(`input`,{value:O,onChange:e=>k(e.target.value),placeholder:s(G?`onboard.sitePlaceholderPersonal`:`onboard.sitePlaceholder`),autoCapitalize:`none`,"aria-label":s(`onboard.site`),className:g}),G?null:(0,f.jsx)(`p`,{className:`-mt-2 text-[0.875rem] text-white/75`,children:s(`onboard.siteNameHint`)}),M?(0,f.jsxs)(`p`,{className:`flex items-center gap-2 text-[0.9375rem] text-(color:--moss)`,children:[(0,f.jsx)(i,{className:`size-4`}),s(`onboard.readDone`,{name:M.name,details:we})]}):J.isError?(0,f.jsx)(`p`,{className:`text-[0.9375rem] text-(color:--rose)`,children:s(`onboard.readFailed`)}):null,(0,f.jsxs)(`div`,{className:`flex flex-wrap items-center gap-5`,children:[M?(0,f.jsx)(_,{onClick:()=>H(`know`),children:s(`onboard.continue`)}):(0,f.jsx)(_,{type:`submit`,busy:J.isPending,children:J.isPending?s(`onboard.reading`):s(`onboard.read`)}),(0,f.jsx)(v,{onClick:()=>j(``),children:s(`onboard.line`)}),(0,f.jsx)(v,{onClick:()=>H(`know`),children:s(`onboard.skip`)}),(0,f.jsx)(y,{step:2})]})]}):(0,f.jsxs)(`form`,{className:`contents`,onSubmit:e=>{e.preventDefault();let t=A.trim();t?Y.mutate(t,{onSuccess:()=>H(`know`)}):H(`know`)},children:[(0,f.jsx)(`textarea`,{value:A,onChange:e=>j(e.target.value),placeholder:s(G?`onboard.linePlaceholderPersonal`:`onboard.linePlaceholder`),rows:3,maxLength:8e3,"aria-label":s(`onboard.line`),className:a(g,`resize-none text-[1.125rem] leading-relaxed`)}),(0,f.jsxs)(`div`,{className:`flex flex-wrap items-center gap-5`,children:[(0,f.jsx)(_,{type:`submit`,busy:Y.isPending,children:s(`onboard.continue`)}),(0,f.jsx)(v,{onClick:()=>j(null),children:s(`onboard.site`)}),(0,f.jsx)(v,{onClick:()=>H(`know`),children:s(`onboard.skip`)}),(0,f.jsx)(y,{step:2})]})]})]}):null,V===3?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`p`,{className:`font-medium text-[0.75rem] text-white/85 uppercase tracking-[0.14em]`,children:s(`onboard.kicker3`)}),(0,f.jsx)(`h1`,{className:`font-display font-bold text-[2.5rem] leading-[1.05] tracking-[-0.02em] sm:text-[3.25rem]`,children:s(`onboard.know`)}),(0,f.jsx)(`p`,{className:`text-[1.0625rem] text-white/90 leading-relaxed`,children:s(`onboard.knowSub`)}),(0,f.jsxs)(`button`,{type:`button`,onClick:()=>F.current?.click(),onDragOver:e=>e.preventDefault(),onDrop:e=>{e.preventDefault(),$(e.dataTransfer.files)},className:`flex cursor-pointer flex-col items-center gap-2 rounded-[18px] border-2 border-white/45 border-dashed bg-white/10 px-6 py-7 text-center transition hover:bg-white/15`,children:[(0,f.jsx)(ie,{className:`size-7`}),(0,f.jsx)(`span`,{className:`font-semibold text-[1.0625rem]`,children:s(`onboard.drop`)}),(0,f.jsx)(`span`,{className:`text-[0.875rem] text-white/80`,children:`PDF · Word · Excel · Markdown`}),(0,f.jsx)(`input`,{ref:F,type:`file`,multiple:!0,className:`sr-only`,onChange:e=>{$(e.target.files),e.target.value=``}})]}),N.length?(0,f.jsx)(`ul`,{className:`flex flex-col gap-2`,children:N.map(e=>(0,f.jsxs)(`li`,{className:`flex items-center gap-2.5 rounded-xl bg-white/15 px-3.5 py-2.5 text-[0.875rem]`,children:[(0,f.jsx)(re,{className:`size-4 shrink-0`}),(0,f.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),(0,f.jsx)(`span`,{className:a(`text-white/80`,e.state===`failed`?`text-(color:--rose)`:``),children:e.state===`uploading`?s(`onboard.uploading`):e.state===`done`?s(`onboard.uploaded`):s(`onboard.uploadFailed`)})]},e.name))}):null,(0,f.jsxs)(`div`,{className:`flex flex-wrap items-center gap-5`,children:[(0,f.jsx)(_,{busy:N.some(e=>e.state===`uploading`),onClick:()=>H(`space`),children:s(`onboard.continue`)}),N.length?null:(0,f.jsx)(v,{onClick:()=>H(`space`),children:s(`onboard.skip`)}),(0,f.jsx)(y,{step:3})]})]}):null,V===4?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`p`,{className:`font-medium text-[0.75rem] text-white/85 uppercase tracking-[0.14em]`,children:s(`onboard.kicker4`)}),(0,f.jsx)(`h1`,{className:`font-display font-bold text-[2.5rem] leading-[1.05] tracking-[-0.02em] sm:text-[3.25rem]`,children:s(`onboard.space`)}),(0,f.jsx)(`p`,{className:`text-[1.0625rem] text-white/90 leading-relaxed`,children:s(`onboard.spaceSub`,{space:r?.name??``})}),(0,f.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[[`partInfo`,`partInfoText`,!!(M||A)],[`partKnow`,`partKnowText`,N.some(e=>e.state===`done`)],[`partData`,`partDataText`,!1],[`partResults`,`partResultsText`,!1]].map(([e,t,n])=>(0,f.jsxs)(`div`,{className:`flex flex-col gap-1.5 rounded-2xl border border-white/20 bg-white/10 px-4.5 py-4`,children:[(0,f.jsxs)(`span`,{className:`flex items-center gap-2 font-semibold text-[1rem]`,children:[n?(0,f.jsx)(i,{className:`size-4 text-(color:--moss)`}):null,s(`onboard.${e}`)]}),(0,f.jsx)(`span`,{className:`text-[0.84375rem] text-white/85 leading-snug`,children:s(`onboard.${t}`)})]},e))}),(0,f.jsxs)(`div`,{className:`flex flex-wrap items-center gap-5`,children:[(0,f.jsx)(_,{busy:X.isPending,onClick:()=>X.mutate(),children:s(`onboard.build`)}),(0,f.jsx)(y,{step:4})]})]}):null]},B)]}),(0,f.jsxs)(`footer`,{className:`mx-auto flex w-full max-w-6xl items-center justify-between pb-6 text-[0.75rem] text-white/55 sm:pb-8`,children:[(0,f.jsx)(`span`,{children:`engenty.wizards`}),(0,f.jsx)(`span`,{"aria-hidden":`true`,className:`size-[3px] bg-(color:--dot)`})]})]})}export{k as OnboardingPage};
|