wizards 0.2.14 → 0.2.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/runtime/dist/engine/requirements.js +140 -12
- package/apps/runtime/dist/engine/runner.js +27 -4
- package/apps/runtime/dist/services/marketplace.js +33 -6
- package/apps/web/dist/assets/{Account-CbcLDgwW.js → Account-BE_W101C.js} +1 -1
- package/apps/web/dist/assets/{ChangelogDialog-CPaoAyWM.js → ChangelogDialog-DjKQJAos.js} +1 -1
- package/apps/web/dist/assets/{ChatPanel-DzIGwA0b.js → ChatPanel-BWrcDs4s.js} +1 -1
- package/apps/web/dist/assets/{CreditsDialog-o9h0Nrui.js → CreditsDialog-DUjR5xkl.js} +1 -1
- package/apps/web/dist/assets/EditorPage-CrOqikP2.js +2 -0
- package/apps/web/dist/assets/{FlowPreview-DdZKsXNh.js → FlowPreview-DK4RZqTW.js} +1 -1
- package/apps/web/dist/assets/{Harness-CKcyJvtw.js → Harness-DcI94f1U.js} +1 -1
- package/apps/web/dist/assets/{HomePage-DVPGy7jW.js → HomePage-BBNFgryu.js} +1 -1
- package/apps/web/dist/assets/{ImportWizard-CK9fXKct.js → ImportWizard-BoYqovdl.js} +1 -1
- package/apps/web/dist/assets/{LocalRuntime-Cjftoi3j.js → LocalRuntime-BD8zGN8w.js} +1 -1
- package/apps/web/dist/assets/NewWizardPage-tKV2S4eK.js +2 -0
- package/apps/web/dist/assets/{ProjectPage-DURhRvUm.js → ProjectPage-voR0hvzy.js} +1 -1
- package/apps/web/dist/assets/{PublicRunner-BCHg6lbj.js → PublicRunner-CYZE_hSi.js} +1 -1
- package/apps/web/dist/assets/RunnerView-D_C7hn81.js +70 -0
- package/apps/web/dist/assets/{SettingsPage-DPHW6HRz.js → SettingsPage-DguoPF_3.js} +1 -1
- package/apps/web/dist/assets/{SetupPage-r6tj7oTr.js → SetupPage-qxHvlf87.js} +1 -1
- package/apps/web/dist/assets/{SharePage-2Q8SoJLs.js → SharePage-Cf3i7KB-.js} +1 -1
- package/apps/web/dist/assets/{api-DTLkC0ge.js → api-t9_w1XNe.js} +1 -1
- package/apps/web/dist/assets/changelog-kz0DmHY4.js +1 -0
- package/apps/web/dist/assets/{esm-Buv7Ma3z.js → esm-D0YVMTdo.js} +1 -1
- package/apps/web/dist/assets/index-BPpKz65x.css +1 -0
- package/apps/web/dist/assets/{index-C5pRB5Ah.js → index-D5w3fW1p.js} +3 -3
- package/apps/web/dist/assets/{meta-CDimdOlV.js → meta-BJHYbMh7.js} +1 -1
- package/apps/web/dist/assets/{settings-menu-D1tMZ82V.js → settings-menu-BqqUAvIY.js} +1 -1
- package/apps/web/dist/assets/ui-BHXO_e0e.js +1 -0
- package/apps/web/dist/index.html +4 -4
- package/apps/web/dist/mcp/flow.html +5 -5
- package/node_modules/@engenty-wizards/shared/dist/definition.d.ts +1 -0
- package/node_modules/@engenty-wizards/shared/dist/definition.js +2 -2
- package/node_modules/@engenty-wizards/shared/dist/marketplace.d.ts +2 -0
- package/node_modules/@engenty-wizards/shared/dist/run.d.ts +9 -0
- package/package.json +1 -1
- package/apps/web/dist/assets/EditorPage-BPL4_GlP.js +0 -2
- package/apps/web/dist/assets/NewWizardPage-0GHmokBt.js +0 -2
- package/apps/web/dist/assets/RunnerView-a_2EqHPo.js +0 -70
- package/apps/web/dist/assets/changelog-5ArxeGsu.js +0 -1
- package/apps/web/dist/assets/index-DMwk_afK.css +0 -1
- package/apps/web/dist/assets/ui-CHX2gEQl.js +0 -1
|
@@ -1418,6 +1418,7 @@ export declare function branchValues(values: Record<string, unknown>, outputs: R
|
|
|
1418
1418
|
}>): Record<string, unknown>;
|
|
1419
1419
|
/** The step after `step`, honouring its branch rules. `null` = the end. */
|
|
1420
1420
|
export declare function nextStepId(def: WizardDefinition, stepId: string, values: Record<string, unknown>): string | null;
|
|
1421
|
+
export declare function ruleMatches(rule: NextRule, values: Record<string, unknown>): boolean;
|
|
1421
1422
|
export interface ItemsTotals {
|
|
1422
1423
|
rows: Record<string, unknown>[];
|
|
1423
1424
|
net: number;
|
|
@@ -735,7 +735,7 @@ export function nextStepId(def, stepId, values) {
|
|
|
735
735
|
return null;
|
|
736
736
|
}
|
|
737
737
|
for (const rule of step.next ?? []) {
|
|
738
|
-
if (
|
|
738
|
+
if (ruleMatches(rule, values)) {
|
|
739
739
|
return rule.goto === "end" ? null : rule.goto;
|
|
740
740
|
}
|
|
741
741
|
}
|
|
@@ -744,7 +744,7 @@ export function nextStepId(def, stepId, values) {
|
|
|
744
744
|
function isEmptyValue(v) {
|
|
745
745
|
return v === undefined || v === null || v === "" || (Array.isArray(v) && v.length === 0);
|
|
746
746
|
}
|
|
747
|
-
function
|
|
747
|
+
export function ruleMatches(rule, values) {
|
|
748
748
|
const v = values[rule.when.field];
|
|
749
749
|
switch (rule.when.op) {
|
|
750
750
|
case "empty":
|
|
@@ -295,4 +295,6 @@ export interface MarketplaceEntry extends MarketplaceSummary {
|
|
|
295
295
|
starred: boolean;
|
|
296
296
|
/** What it needs that this runtime has no model for: a wizard made from it would not start. */
|
|
297
297
|
missing: Capability[];
|
|
298
|
+
/** What only some of its paths need and this runtime has no model for: it runs the other ways. */
|
|
299
|
+
optional: Capability[];
|
|
298
300
|
}
|
|
@@ -131,6 +131,8 @@ export interface RunView {
|
|
|
131
131
|
values: Record<string, unknown>;
|
|
132
132
|
/** What fields of the current page start with, from earlier steps (`prefill`). */
|
|
133
133
|
prefill: Record<string, unknown>;
|
|
134
|
+
/** Choices of the current page that lead to a step without a model here, by field id. */
|
|
135
|
+
closed: Record<string, ClosedChoice>;
|
|
134
136
|
outputs: Record<string, StepOutput>;
|
|
135
137
|
/** Steps whose outputs the current step shows, with their definitions. */
|
|
136
138
|
shown: {
|
|
@@ -209,6 +211,13 @@ export interface MissingModel {
|
|
|
209
211
|
/** A step that needs it lies on every path: the run cannot start. */
|
|
210
212
|
blocking: boolean;
|
|
211
213
|
}
|
|
214
|
+
/** A page's choice whose values lead to a step this runtime has no model for. */
|
|
215
|
+
export interface ClosedChoice {
|
|
216
|
+
/** The options (or a toggle's true / false) that lead there; empty = the field as a whole. */
|
|
217
|
+
values: (string | boolean)[];
|
|
218
|
+
/** What is missing on the way. */
|
|
219
|
+
classes: ModelClass[];
|
|
220
|
+
}
|
|
212
221
|
export interface RunEstimate {
|
|
213
222
|
available: boolean;
|
|
214
223
|
credits: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wizards",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.16",
|
|
4
4
|
"description": "Make a wish. Get your wizard. It guides you step by step. Let AI do the work. Runs on your machine, on the AI subscription you already have.",
|
|
5
5
|
"license": "FSL-1.1-MIT",
|
|
6
6
|
"homepage": "https://engenty.ai",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-D3jfb0Ew.js";import{A as r,O as i,S as a,c as o,d as s,j as c,k as l,n as u,nt as d,t as f}from"./api-DTLkC0ge.js";import{t as p}from"./createLucideIcon-q3MZMmnf.js";import{_ as m,d as h,g,r as _,t as v}from"./RunnerView-a_2EqHPo.js";import{n as ee,t as te}from"./refresh-cw-BNtHis1x.js";import{a as y,i as ne,n as b,r as x,t as S}from"./meta-CDimdOlV.js";import{t as re}from"./check-CUpby_J9.js";import{t as ie}from"./chevron-down-DymW-2BP.js";import{n as ae,r as oe,t as se}from"./lock-DZL2N67v.js";import{i as ce,n as le,t as ue}from"./ChatPanel-DzIGwA0b.js";import{t as de}from"./circle-alert-D2SCwFT-.js";import{t as fe}from"./upload-DNRENWzQ.js";import{n as pe,t as me}from"./plus-Du-Jx8aI.js";import{t as he}from"./external-link-MAL7vJYj.js";import{t as C}from"./wand-sparkles-Clj3VRB5.js";import{n as ge,r as _e}from"./Account-CbcLDgwW.js";import{t as ve}from"./image-BShbErBm.js";import{t as w}from"./trash-0IafyhZB.js";import{_ as T,a as E,c as D,d as ye,h as O,i as be,l as k,m as A,o as j,p as M,r as N,s as P,t as F,u as I,y as L}from"./ui-CHX2gEQl.js";import{C as xe,D as Se,F as Ce,I as we,O as Te,P as Ee,R as De,S as Oe,U as R,a as ke,c as Ae,g as je,j as Me,k as Ne,l as Pe,n as Fe,o as Ie,p as Le,s as Re,t as ze}from"./index-C5pRB5Ah.js";import{c as Be,i as Ve,l as He,n as Ue,o as We,r as Ge,s as Ke,t as qe}from"./definition-Dp0DR2D6.js";import{a as Je,c as Ye,i as Xe,l as Ze,o as Qe,r as $e,s as et,t as tt}from"./esm-Buv7Ma3z.js";import{n as nt}from"./LocalRuntime-Cjftoi3j.js";var rt={name:`cloud-check`,size:24,node:[[`path`,{d:`m17 15-5.5 5.5L9 18`,key:`15q87x`}],[`path`,{d:`M5.516 16.07A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 3.501 7.327`,key:`1xtj56`}]]};rt.node;var it=p(rt),at={name:`cloud-upload`,size:24,node:[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]],aliases:[`upload-cloud`]};at.node;var ot=p(at),st={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`}]]};st.node;var ct=p(st),lt={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`]};lt.node;var ut=p(lt),dt={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`]};dt.node;var ft=p(dt),pt={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`}]]};pt.node;var mt=p(pt),ht={name:`minus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]};ht.node;var gt=p(ht),_t={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`}]]};_t.node;var vt=p(_t),yt={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`}]]};yt.node;var bt=p(yt),xt={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`}]]};xt.node;var St=p(xt),z=e(t(),1),B=e(n(),1);function Ct(e){return e.mime.startsWith(`image/`)?ve:e.mime.includes(`json`)?ut:e.mime===`text/html`||e.mime.includes(`javascript`)||e.mime===`text/css`?ft:Ce}function wt(e){return e<1024?`${e} B`:e<1048576?`${Math.round(e/1024)} KB`:`${(e/1048576).toFixed(1)} MB`}function Tt({wizardId:e,files:t,readOnly:n}){let r=d(),i=(0,z.useRef)(null),[a,o]=(0,z.useState)(!1),[s,c]=(0,z.useState)(!1),[l,f]=(0,z.useState)(null),p=`/api/studio/wizards/${e}/files`,m=()=>r.invalidateQueries({queryKey:[`wizard`,e]}),h=async e=>{if(e?.length){o(!0),f(null);try{for(let t of Array.from(e)){let e=await fetch(`${p}/${encodeURIComponent(t.name).replace(/%2F/g,`/`)}`,{method:`PUT`,credentials:`include`,headers:{"content-type":t.type||`application/octet-stream`},body:t});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??e.statusText)}}}catch(e){f(e.message)}finally{o(!1),await m()}}},g=async e=>{if(window.confirm(L(`files.confirmDelete`,{path:e}))){f(null);try{await u.del(`${p}/${e}`)}catch(e){f(e.message)}await m()}},_=t.reduce((e,t)=>e+t.size,0);return(0,B.jsxs)(`div`,{className:O(`flex min-h-full flex-col px-5 py-5`,s&&`bg-ember-veil`),onDragOver:e=>{e.preventDefault(),c(!n)},onDragLeave:()=>c(!1),onDrop:e=>{e.preventDefault(),c(!1),n||h(e.dataTransfer.files)},children:[n?null:(0,B.jsx)(`p`,{className:`mb-4 text-[0.8125rem] text-ink-3 leading-relaxed`,children:L(`files.explain`)}),(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n?null:(0,B.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,B.jsx)(ye,{className:`size-3.5`}):(0,B.jsx)(fe,{className:`size-3.5`}),L(`files.upload`)]}),(0,B.jsx)(`span`,{className:`ml-auto text-[0.75rem] text-ink-4`,children:L(`files.count`,{n:t.length,size:wt(_)})}),(0,B.jsx)(`input`,{ref:i,type:`file`,multiple:!0,hidden:!0,onChange:e=>void h(e.target.files)})]}),l?(0,B.jsx)(`div`,{className:`mt-3 rounded-lg bg-rose-tint px-3 py-2 text-[0.8125rem] text-rose`,children:l}):null,(0,B.jsx)(`ul`,{className:`mt-4 flex flex-col`,children:t.map(e=>{let t=Ct(e);return(0,B.jsxs)(`li`,{className:`group flex items-center gap-3 rounded-lg px-2 py-1.5 hover:bg-paper-2`,children:[(0,B.jsx)(t,{className:`size-4 shrink-0 text-ink-3`}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[0.75rem]`,children:e.path}),(0,B.jsx)(`span`,{className:`text-[0.75rem] text-ink-4 tabular-nums`,children:wt(e.size)}),(0,B.jsx)(`a`,{href:`${p}/${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":L(`files.download`),children:(0,B.jsx)(we,{className:`size-4`})}),n?null:(0,B.jsx)(j,{label:L(`files.delete`),className:`opacity-0 hover:text-rose group-hover:opacity-100`,onClick:()=>void g(e.path),children:(0,B.jsx)(w,{className:`size-4`})})]},e.path)})}),t.length===0?(0,B.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:L(n?`files.none`:`files.empty`)}):null]})}var Et=Object.defineProperty,Dt=(e,t,n)=>t in e?Et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ot=(e,t)=>{for(var n in t)Et(e,n,{get:t[n],enumerable:!0})},kt=(e,t,n)=>Dt(e,typeof t==`symbol`?t:t+``,n),At={};Ot(At,{Graph:()=>H,alg:()=>Ht});var jt=Object.defineProperty,Mt=(e,t)=>{for(var n in t)jt(e,n,{get:t[n],enumerable:!0})},Nt=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=V(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=It(this._isDirected,i,a,o);return i=u.v,a=u.w,Object.freeze(u),this._edgeObjs[l]=u,Pt(this._preds[a],i),Pt(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?Lt(this._isDirected,e):V(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?Lt(this._isDirected,e):V(this._isDirected,e,t,n))in this._edgeLabels}removeEdge(e,t,n){let r=arguments.length===1?Lt(this._isDirected,e):V(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],Ft(this._preds[t],e),Ft(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 Pt(e,t){e[t]?e[t]++:e[t]=1}function Ft(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function V(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 It(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 Lt(e,t){return V(e,t.v,t.w,t.name)}Mt({},{read:()=>Vt,write:()=>Rt});function Rt(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:zt(e),edges:Bt(e)},n=e.graph();return n!==void 0&&(t.value=structuredClone(n)),t}function zt(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 Bt(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 Vt(e){let t=new Nt(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 Ht={};Mt(Ht,{CycleException:()=>rn,bellmanFord:()=>Wt,components:()=>Kt,dijkstra:()=>Yt,dijkstraAll:()=>Zt,findCycles:()=>$t,floydWarshall:()=>tn,isAcyclic:()=>on,postorder:()=>un,preorder:()=>dn,prim:()=>fn,shortestPaths:()=>pn,tarjan:()=>Qt,topsort:()=>an});var Ut=()=>1;function Wt(e,t,n,r){return Gt(e,String(t),n||Ut,r||function(t){return e.outEdges(t)??[]})}function Gt(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 Kt(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 qt=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}},Jt=()=>1;function Yt(e,t,n,r){return Xt(e,String(t),n||Jt,r||function(t){return e.outEdges(t)??[]})}function Xt(e,t,n,r){let i={},a=new qt,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 Zt(e,t,n){return e.nodes().reduce(function(r,i){return r[i]=Yt(e,i,t,n),r},{})}function Qt(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 $t(e){return Qt(e).filter(function(t){let n=t[0];return n?t.length>1||t.length===1&&(e.outEdges(n,n)??[]).length>0:!1})}var en=()=>1;function tn(e,t,n){return nn(e,t||en,n||function(t){return e.outEdges(t)??[]})}function nn(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 rn=class extends Error{constructor(e){super(e),this.name=`CycleException`}};function an(e){let t={},n={},r=[];function i(a){var o;if(a in n)throw new rn;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 rn;return r}function on(e){try{an(e)}catch(e){if(e instanceof rn)return!1;throw e}return!0}function sn(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=cn(e,t,n===`post`,o,a,r,i)}),i}function cn(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=cn(e,t,n,r,i,a,o)}),n&&(o=a(o,t))),o}function ln(e,t,n){return sn(e,t,n,function(e,t){return e.push(t),e},[])}function un(e,t){return ln(e,t,`post`)}function dn(e,t){return ln(e,t,`pre`)}function fn(e,t){var n;let r=new Nt,i={},a=new qt,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 pn(e,t,n,r){return mn(e,t,n,r??(t=>e.outEdges(t)??[]))}function mn(e,t,n,r){if(n===void 0)return Yt(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 Wt(e,t,n,r)}return Yt(e,t,n,r)}var H=Nt;function U(e,t,n,r){let i=r;for(;e.hasNode(i);)i=On(r);return n.dummy=t,e.setNode(i,n),i}function hn(e){let t=new H().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 gn(e){let t=new H({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 _n(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 W(e){let t=K(Cn(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 vn(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MAX_VALUE:n}),n=G(Math.min,t);e.nodes().forEach(t=>{let r=e.node(t);Object.hasOwn(r,`rank`)&&(r.rank-=n)})}function yn(e){let t=e.nodes().map(t=>e.node(t).rank).filter(e=>e!==void 0),n=G(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 bn(e,t,n,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),U(e,`border`,i,t)}function xn(e,t=Sn){let n=[];for(let r=0;r<e.length;r+=t){let i=e.slice(r,r+t);n.push(i)}return n}var Sn=65535;function G(e,t){return t.length>Sn?e(...xn(t).map(t=>e(...t))):e(...t)}function Cn(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MIN_VALUE:n});return G(Math.max,t)}function wn(e,t){let n={lhs:[],rhs:[]};return e.forEach(e=>{t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function Tn(e,t){let n=Date.now();try{return t()}finally{console.log(e+` time: `+(Date.now()-n)+`ms`)}}function En(e,t){return t()}var Dn=0;function On(e){return e+(``+ ++Dn)}function K(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 kn(e,t){let n={};for(let r of t)e[r]!==void 0&&(n[r]=e[r]);return n}function An(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 jn(e,t){return e.reduce((e,n,r)=>(e[n]=t[r],e),{})}var Mn=`\0`;function Nn(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 Pn=`3.1.1`,Fn=class{constructor(){kt(this,`_sentinel`);let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return In(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&In(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,Ln)),n=n._prev;return`[`+e.join(`, `)+`]`}};function In(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function Ln(e,t){if(e!==`_next`&&e!==`_prev`)return t}var Rn=Fn,zn=()=>1;function Bn(e,t){if(e.nodeCount()<=1)return[];let n=Un(e,t||zn);return Vn(n.graph,n.buckets,n.zeroIdx).flatMap(t=>e.outEdges(t.v,t.w)||[])}function Vn(e,t,n){let r=[],i=t[t.length-1],a=t[0],o;for(;e.nodeCount();){for(;o=a.dequeue();)Hn(e,t,n,o);for(;o=i.dequeue();)Hn(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(Hn(e,t,n,o,!0)||[]);break}}}return r}function Hn(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,Wn(t,n,s)}),(e.outEdges(r.v)||[]).forEach(r=>{let i=e.edge(r),a=r.w,o=e.node(a);o.in-=i,Wn(t,n,o)}),e.removeNode(r.v),o}function Un(e,t){let n=new H,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=Gn(i+r+3).map(()=>new Rn),o=r+1;return n.nodes().forEach(e=>{Wn(a,o,n.node(e))}),{graph:n,buckets:a,zeroIdx:o}}function Wn(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 Gn(e){let t=[];for(let n=0;n<e;n++)t.push(n);return t}function Kn(e,t){(e.graph().acyclicer===`greedy`?Bn(e,n(e)):qn(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,On(`rev`))});function n(e){return t=>e.edge(t).weight}}function qn(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&&Yn(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 Jn(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 Yn(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 Xn(e){e.graph().dummyChains=[],e.edges().forEach(t=>Zn(e,t))}function Zn(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=U(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 Qn(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 $n(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=G(Math.min,o);return s===1/0&&(s=0),i.rank=s}e.sources().forEach(n)}function q(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var er=tr;function tr(e){let t=new H({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(;nr(t,e)<i&&(a=rr(t,e),a);)o=t.hasNode(a.v)?q(e,a):-q(e,a),ir(t,e,o);return t}function nr(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)&&!q(t,i)&&(e.setNode(o,{}),e.setEdge(r,o,{}),n(o))})}return e.nodes().forEach(n),e.nodeCount()}function rr(e,t){return t.edges().reduce((n,r)=>{let i=1/0;return e.hasNode(r.v)!==e.hasNode(r.w)&&(i=q(t,r)),i<n[0]?[i,r]:n},[1/0,null])[1]}function ir(e,t,n){e.nodes().forEach(e=>t.node(e).rank+=n)}var{preorder:ar,postorder:or}=Ht,sr=J;J.initLowLimValues=dr,J.initCutValues=cr,J.calcCutValue=ur,J.leaveEdge=pr,J.enterEdge=mr,J.exchangeEdges=hr;function J(e){e=hn(e),$n(e);let t=er(e);dr(t),cr(t,e);let n,r;for(;n=pr(t);)r=mr(t,e,n),hr(t,e,n,r)}function cr(e,t){let n=or(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(n=>lr(e,t,n))}function lr(e,t,n){let r=e.node(n).parent,i=e.edge(n,r);i.cutvalue=ur(e,t,n)}function ur(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,_r(e,n,c)){let t=e.edge(n,c).cutvalue;o+=r?-t:t}}}),o}function dr(e,t){arguments.length<2&&(t=e.nodes()[0]),fr(e,{},1,t)}function fr(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=fr(e,t,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function pr(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function mr(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===vr(e,e.node(t.v),s)&&c!==vr(e,e.node(t.w),s)).reduce((e,n)=>q(t,n)<q(t,e)?n:e)}function hr(e,t,n,r){let i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),dr(e),cr(e,t),gr(e,t)}function gr(e,t){let n=e.nodes().find(t=>!e.node(t).parent);if(!n)return;let r=ar(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 _r(e,t,n){return e.hasEdge(t,n)}function vr(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var yr=br;function br(e){let t=e.graph().ranker;if(typeof t==`function`)return t(e);switch(t){case`network-simplex`:Cr(e);break;case`tight-tree`:Sr(e);break;case`longest-path`:xr(e);break;case`none`:break;default:Cr(e)}}var xr=$n;function Sr(e){$n(e),er(e)}function Cr(e){sr(e)}var wr=Tr;function Tr(e){let t=Dr(e),n=e.graph();Array.isArray(n.dummyChains)&&n.dummyChains.forEach(n=>{let r=e.node(n),i=r.edgeObj,a=Er(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 Er(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 Dr(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(Mn).forEach(r),t}function Or(e){let t=U(e,`root`,{},`_root`),n=Ar(e),r=Object.values(n),i=G(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=t,e.edges().forEach(t=>e.edge(t).minlen*=a);let o=jr(e)+1;e.children(Mn).forEach(r=>{kr(e,t,a,o,i,n,r)}),e.graph().nodeRankFactor=a}function kr(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=bn(e,`_bt`),l=bn(e,`_bb`),u=e.node(o);e.setParent(c,o),u.borderTop=c,e.setParent(l,o),u.borderBottom=l,s.forEach(s=>{kr(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 Ar(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(Mn).forEach(e=>n(e,1)),t}function jr(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function Mr(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(t=>{e.edge(t).nestingEdge&&e.removeEdge(t)})}var Nr=Pr;function Pr(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)Fr(e,`borderLeft`,`_bl`,n,i,t),Fr(e,`borderRight`,`_br`,n,i,t)}}e.children(Mn).forEach(t)}function Fr(e,t,n,r,i,a){let o={width:0,height:0,rank:a,borderType:t},s=i[t][a-1],c=U(e,`border`,o,n);i[t][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}function Ir(e){let t=e.graph().rankdir?.toLowerCase();(t===`lr`||t===`rl`)&&Rr(e)}function Lr(e){let t=e.graph().rankdir?.toLowerCase();(t===`bt`||t===`rl`)&&Br(e),(t===`lr`||t===`rl`)&&(Hr(e),Rr(e))}function Rr(e){e.nodes().forEach(t=>zr(e.node(t))),e.edges().forEach(t=>zr(e.edge(t)))}function zr(e){let t=e.width;e.width=e.height,e.height=t}function Br(e){e.nodes().forEach(t=>Vr(e.node(t))),e.edges().forEach(t=>{var n;let r=e.edge(t);(n=r.points)==null||n.forEach(Vr),Object.hasOwn(r,`y`)&&Vr(r)})}function Vr(e){e.y=-e.y}function Hr(e){e.nodes().forEach(t=>Ur(e.node(t))),e.edges().forEach(t=>{var n;let r=e.edge(t);(n=r.points)==null||n.forEach(Ur),Object.hasOwn(r,`x`)&&Ur(r)})}function Ur(e){let t=e.x;e.x=e.y,e.y=t}function Wr(e,t=null){let n={},r=e.nodes().filter(t=>!e.children(t).length),i=r.map(t=>e.node(t).rank),a=K(G(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 Nn(t,e.node(n),e.node(r))}return a}function Gr(e,t){let n=0;for(let r=1;r<t.length;++r)n+=Kr(e,t[r-1],t[r]);return n}function Kr(e,t,n){let r=jn(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 qr(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 Jr(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))}),Yr(Object.values(n).filter(e=>!e.indegree))}function Yr(e){let t=[];function n(e){return t=>{t.merged||(t.barycenter===void 0||e.barycenter===void 0||t.barycenter>=e.barycenter)&&Xr(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=>kn(e,[`vs`,`i`,`barycenter`,`weight`]))}function Xr(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 Zr(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=wn(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($r(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=Qr(f,d,h),u.forEach(e=>{h+=e.vs.length,f.push(e.vs),p+=e.barycenter*e.weight,m+=e.weight,h=Qr(f,d,h)});let g={vs:f.flat(1)};return m&&(g.barycenter=p/m,g.weight=m),g}function Qr(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 $r(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=Nn(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 ei(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=qr(e,l);m.forEach(t=>{if(e.children(t.v).length){let{result:r}=ei(e,t.v,n,s,c);p[t.v]=r,Object.hasOwn(r,`barycenter`)&&ni(t,r)}});let h=Jr(m,n);ti(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=Zr(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 ti(e,t){e.forEach(e=>{e.vs=e.vs.flatMap(e=>t[e]?t[e].vs:e)})}function ni(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 ri(e,t,n,r){r||=e.nodes();let i=ii(e),a=new H({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 ii(e){let t;for(;e.hasNode(t=On(`_root`)););return t}function ai(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 oi(e,t={},n=null){if(typeof t.customOrder==`function`){t.customOrder(e,oi);return}let r=Cn(e),i=si(e,K(1,r+1),`inEdges`),a=si(e,K(r-1,-1,-1),`outEdges`),o=Wr(e,n);if(li(e,o),t.disableOptimalOrderHeuristic)return;let s=1/0,c,l=t.constraints||[];for(let t=0,r=0;r<4;++t,++r){ci(t%2?i:a,t%4>=2,l,n),o=W(e);let u=Gr(e,o);u<s?(r=0,c=Object.assign({},o),s=u):u===s&&(c=structuredClone(o))}li(e,c)}function si(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 ri(e,t,n,r.get(t)||[])})}function ci(e,t,n,r){let i=!0,a=new H;e.forEach(function(e){n.forEach(e=>a.setEdge(e.left,e.right));let o=e.graph().root,{result:s,usedBias:c}=ei(e,o,a,r,i);t&&c&&(i=!i),s.vs.forEach((t,n)=>e.node(t).order=n),ai(e,a,s.vs)})}function li(e,t){Object.values(t).forEach(t=>t.forEach((t,n)=>e.node(t).order=n))}function ui(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=fi(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)&&pi(n,r,t)})}),a=c+1,i=u)}),r}return t.length&&t.reduce(r),n}function di(e,t){let n={};function r(t,r,i,a,o){K(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)&&pi(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 fi(e,t){if(e.node(t).dummy){let n=e.predecessors(t);if(n)return n.find(t=>e.node(t).dummy)}}function pi(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 mi(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 hi(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)||wi(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=>wi(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&&!mi(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 gi(e,t,n,r,i=!1){let a={},o=_i(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 _i(e,t,n,r){let i=new H,a=e.graph(),o=Si(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 vi(e,t){return Object.values(t).reduce((t,n)=>{let r=-1/0,i=1/0;Object.entries(n).forEach(([t,n])=>{let a=Ci(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 yi(e,t){let n=Object.values(t),r=G(Math.min,n),i=G(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-G(Math.min,c);a!==`l`&&(l=i-G(Math.max,c)),l&&(e[o]=An(s,e=>e+l))})})}function bi(e,t=void 0){let n=e.ul;return n?An(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 xi(e,t){let n=W(e),r=Object.assign(ui(e,n),di(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=hi(e,a,r,t=>(o===`u`?e.predecessors(t):e.successors(t))||[],t),c=gi(e,a,s.root,s.align,n===`r`);n===`r`&&(c=An(c,e=>-e)),i[o+n]=c})}),yi(i,vi(e,i)),bi(i,e.graph().align)}function Si(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 Ci(e,t){return e.node(t).width}function wi(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 Ti(e,t){e=gn(e),Ei(e),Object.entries(xi(e,t)).forEach(([t,n])=>e.node(t).x=n)}function Ei(e){let t=W(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 Di=new WeakMap;function Oi(e,t={}){return Ai(e,En,t),e}function ki(e,t,n){let r=t;for(;r!==void 0;){let t=e.parent(r);if(t===n)return r;r=t}}function Ai(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 H({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=ki(e,t.v,r),i=ki(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)}))}}),Ai(o,t,n);let l=Vi(o);ji(l,t,n,null),Mi(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=Vi(e),g=ji(h,t,n,Di.get(e)??null);Di.set(e,g),Mi(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 ji(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`,()=>Hi(e)),t(` removeSelfEdges`,()=>Zi(e)),t(` acyclic`,()=>Kn(e,s)),t(` nestingGraph.run`,()=>Or(e)),t(` rank`,()=>yr(gn(e))),t(` injectEdgeLabelProxies`,()=>Ui(e)),t(` removeEmptyRanks`,()=>yn(e)),t(` nestingGraph.cleanup`,()=>Mr(e)),t(` normalizeRanks`,()=>vn(e)),t(` assignRankMinMax`,()=>Wi(e)),t(` removeEdgeLabelProxies`,()=>Gi(e)),t(` normalize.run`,()=>Xn(e)),t(` parentDummyChains`,()=>wr(e)),t(` addBorderSegments`,()=>Nr(e)),t(` order`,()=>oi(e,n,c)),t(` insertSelfEdges`,()=>Qi(e)),t(` adjustCoordinateSystem`,()=>Ir(e)),t(` position`,()=>Ti(e,n.corePath)),t(` positionSelfEdges`,()=>$i(e));let l=JSON.parse(JSON.stringify(e._nodes));return t(` removeBorderNodes`,()=>Xi(e)),t(` normalize.undo`,()=>Qn(e)),t(` fixupEdgeLabelCoords`,()=>Ji(e)),t(` undoCoordinateSystem`,()=>Lr(e)),t(` translateGraph`,()=>Ki(e)),t(` assignNodeIntersects`,()=>qi(e)),t(` reversePoints`,()=>Yi(e)),t(` acyclic.undo`,()=>Jn(e)),{graph:e,rawNodes:l}}function Mi(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 Ni=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],Pi={ranksep:50,edgesep:20,nodesep:50,rankdir:`TB`,rankalign:`center`},Fi=[`acyclicer`,`ranker`,`rankdir`,`align`,`rankalign`],Ii=[`width`,`height`,`rank`],Li={width:0,height:0},Ri=[`minlen`,`weight`,`width`,`height`,`labeloffset`],zi={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},Bi=[`labelpos`];function Vi(e){let t=new H({multigraph:!0,compound:!0}),n=ta(e.graph());return t.setGraph(Object.assign({},Pi,ea(n,Ni),kn(n,Fi))),e.nodes().forEach(n=>{let r=ea(ta(e.node(n)),Ii);Object.keys(Li).forEach(e=>{r[e]===void 0&&(r[e]=Li[e])}),t.setNode(n,r);let i=e.parent(n);i!==void 0&&t.setParent(n,i)}),e.edges().forEach(n=>{let r=ta(e.edge(n));t.setEdge(n,Object.assign({},zi,ea(r,Ri),kn(r,Bi)))}),t}function Hi(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 Ui(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let n=e.node(t.v);U(e,`edge-proxy`,{rank:(e.node(t.w).rank-n.rank)/2+n.rank,e:t},`_ep`)}})}function Wi(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 Gi(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 Ki(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 qi(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(_n(r,a)),n.points.push(_n(i,o))})}function Ji(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 Yi(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function Xi(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 Zi(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 Qi(e){W(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=>{U(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 $i(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 ea(e,t){return An(kn(e,t),Number)}function ta(e){let t={};return e&&Object.entries(e).forEach(([e,n])=>{typeof e==`string`&&(e=e.toLowerCase()),t[e]=n}),t}function na(e){let t=W(e),n=new H({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 ra={graphlib:At,version:Pn,layout:Oi,debug:na,util:{time:Tn,notime:En}};function ia(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 c({queryKey:[`estimate`,e,n],queryFn:()=>u.get(`/api/studio/wizards/${e}/estimate`),staleTime:3e4,refetchOnMount:`always`})}var aa=e=>e<10?e.toLocaleString(void 0,{maximumFractionDigits:1}):Math.round(e).toLocaleString();function oa({estimate:e,stepId:t}){let n=e?.available?e.steps[t]:void 0;return n?(0,B.jsxs)(`p`,{className:`text-[0.75rem] text-ink-3 tabular-nums`,children:[L(`estimate.step`,{n:aa(n.credits),high:aa(n.high)}),` · `,n.measured?L(`estimate.measured`):L(`estimate.formula`)]}):null}function sa({model:e,effort:t,onChange:n}){let r=L(`class.effortAuto`);return(0,B.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,B.jsx)(D,{children:L(`class.label`)}),(0,B.jsx)(I,{value:e??`high`,onChange:e=>n({model:e,effort:t}),options:We.map(e=>({value:e,label:L(`class.${e}`)}))}),(0,B.jsx)(`p`,{className:`text-[0.75rem] text-ink-3`,children:L(`class.${e??`high`}.hint`)}),(0,B.jsx)(D,{children:L(`class.effort`)}),(0,B.jsx)(k,{value:t?L(`class.effort.${t}`):r,options:[r,...Ue.map(e=>L(`class.effort.${e}`))],onChange:t=>n({model:e,effort:Ue.find(e=>L(`class.effort.${e}`)===t)})})]})}var ca=280,la=92;function ua({data:e}){let{step:t,selected:n,issue:r,active:i,pulse:a,cost:o,passed:s}=e,c=b(t);return(0,B.jsxs)(`div`,{className:O(`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`:i?`ring-2 ring-moss`:a?`ring-2 ring-ember/60`:`ring-border-soft hover:shadow-elevated`),children:[i?(0,B.jsx)(`span`,{className:`-top-1 -right-1 absolute size-3 animate-breathe rounded-full bg-moss`}):a?(0,B.jsx)(`span`,{className:`-top-1 -right-1 absolute size-3 animate-breathe rounded-full bg-ember`}):null,(0,B.jsx)($e,{type:`target`,position:Ye.Top}),(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:O(`inline-flex size-6 items-center justify-center rounded-md`,S[t.type]),children:(0,B.jsx)(c,{className:`size-3.5`})}),(0,B.jsx)(`span`,{className:`font-medium text-[0.6875rem] text-ink-3 uppercase tracking-[0.07em]`,children:y(t)}),r?(0,B.jsx)(de,{className:`ml-auto size-4 text-rose`}):s&&!i?(0,B.jsx)(re,{className:`ml-auto size-4 text-moss`}):o===null?null:(0,B.jsxs)(`span`,{className:`ml-auto text-[0.6875rem] text-ink-3 tabular-nums`,children:[`≈`,` `,o<10?o.toLocaleString(void 0,{maximumFractionDigits:1}):Math.round(o),` `,`cr`]})]}),(0,B.jsx)(`div`,{className:`mt-1.5 truncate font-display font-semibold text-[0.9375rem] text-ink`,children:t.title}),(0,B.jsx)(`div`,{className:`truncate text-[0.75rem] text-ink-3`,children:x(t)||`\xA0`}),(0,B.jsx)($e,{type:`source`,position:Ye.Bottom})]})}function da({data:e}){return(0,B.jsxs)(`div`,{className:O(`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,B.jsx)(s,{kind:e.avatar,size:40,interactive:!1}),(0,B.jsx)(`span`,{className:`truncate font-display font-semibold text-[0.9375rem]`,children:e.title}),(0,B.jsx)($e,{type:`source`,position:Ye.Bottom})]})}function fa(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]=Ze({sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o,targetPosition:s});return(0,B.jsx)(tt,{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,B.jsx)(tt,{path:u,labelX:t.labelX,labelY:t.labelY,...c})}var pa={step:ua,start:da},ma={branch:fa},ha=34,ga={};function _a(e){let t=Array.isArray(e.when.value)?e.when.value.join(` / `):String(e.when.value??``);switch(e.when.op){case`equals`:return`${e.when.field} = ${t}`;case`notEquals`:return`${e.when.field} ≠ ${t}`;case`in`:return`${e.when.field} ∈ ${t}`;case`notEmpty`:return L(`editor.whenFilled`,{field:e.when.field});case`empty`:return L(`editor.whenEmpty`,{field:e.when.field})}}function va(e,t,n,r,i,a,o){let s=new ra.graphlib.Graph;s.setGraph({rankdir:`TB`,nodesep:48,ranksep:46,marginx:20,marginy:20}),s.setDefaultEdgeLabel(()=>({})),s.setNode(`__start`,{width:ca,height:52});for(let t of e.steps)s.setNode(t.id,{width:ca,height:la});let c=[],l={markerEnd:{type:et.ArrowClosed,width:14,height:14,color:`var(--ink-4)`}};e.steps[0]&&(s.setEdge(`__start`,e.steps[0].id),c.push({id:`e-start`,source:`__start`,target:e.steps[0].id,...l})),e.steps.forEach((t,n)=>{let r=e.steps[n+1],i=new Map;for(let n of t.next??[])n.goto!==`end`&&e.steps.some(e=>e.id===n.goto)&&i.set(n.goto,[...i.get(n.goto)??[],_a(n)]);for(let[e,n]of i){let r=n.join(` · `),i=r.length>ha?`${r.slice(0,33)}…`:r;s.setEdge(t.id,e,{width:i.length*6.2+16,height:22,labelpos:`c`}),c.push({id:`b-${t.id}-${e}`,type:`branch`,source:t.id,target:e,label:i,labelStyle:{fontSize:11,fill:`var(--ink-2)`},labelBgStyle:{fill:`var(--paper-2)`},labelBgPadding:[6,3],labelBgBorderRadius:8,style:{strokeDasharray:`5 4`},...l})}r&&t.type!==`result`&&(s.hasEdge(t.id,r.id)||s.setEdge(t.id,r.id),c.push({id:`n-${t.id}`,source:t.id,target:r.id,...t.next?.length?{label:L(`editor.otherwise`),labelStyle:{fontSize:11,fill:`var(--ink-3)`},labelBgStyle:{fill:`var(--background)`}}:{},...l}))}),ra.layout(s);for(let e of c){if(e.type!==`branch`)continue;let t=s.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:s.node(`__start`).x-ca/2,y:s.node(`__start`).y-26},data:{title:e.title,avatar:e.avatar,selected:t===`__wizard`},draggable:!1},...e.steps.map((e,c)=>{let l=s.node(e.id);return{id:e.id,type:`step`,position:{x:l.x-ca/2,y:l.y-la/2},data:{step:e,selected:t===e.id,issue:n.has(e.id),index:c,active:r===e.id,pulse:i.includes(e.id),cost:a[e.id]?.credits??null,passed:o.has(e.id)},draggable:!1}})],edges:c}}function ya(){let e=Qe(),t=`inline-flex size-8 items-center justify-center rounded-full text-ink-3 hover:bg-accent hover:text-ink`;return(0,B.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`,children:[(0,B.jsx)(`button`,{type:`button`,className:t,onClick:()=>e.zoomOut(),"aria-label":`Zoom out`,children:(0,B.jsx)(gt,{className:`size-4`})}),(0,B.jsx)(`button`,{type:`button`,className:t,onClick:()=>e.fitView({padding:.2,duration:300}),"aria-label":`Fit`,children:(0,B.jsx)(St,{className:`size-4`})}),(0,B.jsx)(`button`,{type:`button`,className:t,onClick:()=>e.zoomIn(),"aria-label":`Zoom in`,children:(0,B.jsx)(me,{className:`size-4`})})]})}var ba=.8,xa=new Set;function Sa({def:e,selected:t,onSelect:n,issueSteps:r,activeStep:i,pulse:a,costs:o=ga,passed:s=xa,minFitZoom:c=ba,fitKey:l}){let{nodes:u,edges:d}=(0,z.useMemo)(()=>va(e,t,r,i,a??[],o,s),[e,t,r,i,a,o,s]),f=Qe(),p=(0,z.useRef)(null),m=e.steps.map(e=>e.id).join(`|`);return(0,z.useEffect)(()=>{let e=requestAnimationFrame(()=>{let e=p.current;if(!e||!u.length)return;let t=u.map(e=>e.position.x),n=u.map(e=>e.position.y),r={x:Math.min(...t),y:Math.min(...n),width:Math.max(...t)+ca-Math.min(...t),height:Math.max(...n)+la-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;f.setViewport({x:o,y:s,zoom:a},{duration:400})});return()=>cancelAnimationFrame(e)},[m,l,f]),(0,B.jsx)(`div`,{ref:p,className:`h-full w-full`,children:(0,B.jsx)(Je,{nodes:u,edges:d,nodeTypes:pa,edgeTypes:ma,onNodeClick:(e,t)=>n(t.id===`__start`?`__wizard`:t.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,B.jsx)(ya,{})})})}function Ca(e){return(0,B.jsx)(Xe,{children:(0,B.jsx)(Sa,{...e})})}function wa({wizardId:e,...t}){let n=ia(e,t.def);return(0,B.jsx)(Ca,{...t,costs:n.data?.available?n.data.steps:ga})}var Ta={text:`Kurzer Text`,textarea:`Langer Text`,number:`Zahl`,select:`Auswahl`,multiselect:`Mehrfachauswahl`,date:`Datum`,email:`E-Mail`,url:`Link`,toggle:`Ja/Nein`,color:`Farbe`,image:`Bild-Upload`,file:`Datei-Upload`,items:`Positionen (Tabelle)`,connection:`Konto verbinden`,list:`Gespeicherte Liste`,location:`Standort`,audio:`Sprachnotiz`,signature:`Unterschrift`};function Ea(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 Da=(0,z.createContext)(!1);function Oa({className:e,children:t}){return(0,z.useContext)(Da)?(0,B.jsx)(`fieldset`,{disabled:!0,className:O(`min-w-0`,e),children:t}):(0,B.jsx)(`div`,{className:e,children:t})}function Y({title:e,children:t,loose:n}){let r=`flex flex-col gap-4`;return(0,B.jsxs)(`div`,{className:`border-border-soft border-t px-5 py-5 first:border-t-0`,children:[e?(0,B.jsx)(`h4`,{className:`mb-3 font-medium text-[0.75rem] text-ink-3 uppercase tracking-[0.07em]`,children:e}):null,n?(0,B.jsx)(`div`,{className:r,children:t}):(0,B.jsx)(Oa,{className:r,children:t})]})}function ka(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}function Aa({def:e,field:t,onChange:n,onRemove:r,onMove:i}){let[a,o]=(0,z.useState)(!1);return(0,B.jsxs)(`div`,{className:`rounded-lg bg-paper ring-1 ring-border-soft`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:`flex w-full items-center gap-2 px-3 py-2.5 text-left`,children:[(0,B.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-[0.875rem]`,children:[t.label,t.required?(0,B.jsx)(`span`,{className:`ml-1 text-ember`,children:`*`}):null]}),(0,B.jsx)(`span`,{className:`text-[0.75rem] text-ink-4`,children:Ta[t.kind]}),(0,B.jsx)(ie,{className:O(`size-4 text-ink-4 transition`,a&&`rotate-180`)})]}),a?(0,B.jsxs)(Oa,{className:`flex flex-col gap-3 border-border-soft border-t px-3 py-3`,children:[(0,B.jsx)(P,{value:t.label,onChange:e=>n({...t,label:e.target.value})}),(0,B.jsx)(I,{value:t.kind,onChange:e=>n(Ea(t,e)),options:Ve.filter(e=>e!==`items`||t.kind===`items`).map(e=>({value:e,label:Ta[e]}))}),t.kind===`select`||t.kind===`multiselect`?(0,B.jsx)(P,{placeholder:`Option A, Option B, Option C`,value:(t.options??[]).join(`, `),onChange:e=>n({...t,options:e.target.value.split(`,`).map(e=>e.trim()).filter(Boolean)})}):null,t.kind===`connection`?(0,B.jsx)(I,{value:t.connection??``,placeholder:`Welches Konto?`,onChange:e=>n({...t,connection:e}),options:(e.connections??[]).map(e=>({value:e.id,label:e.title??e.id}))}):null,t.kind===`list`?(0,B.jsx)(I,{value:t.list??``,placeholder:`Welche Liste?`,onChange:e=>n({...t,list:e}),options:(e.lists??[]).map(e=>({value:e.id,label:e.title}))}):null,t.kind===`image`||t.kind===`file`?(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:`Mehrere Dateien`}),(0,B.jsx)(M,{checked:!!t.multiple,onChange:e=>n({...t,multiple:e||void 0,...e?{}:{min:void 0,max:void 0}})})]}):null,(t.kind===`image`||t.kind===`file`)&&t.multiple?(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:`Wie viele?`}),(0,B.jsx)(`div`,{className:`flex items-center gap-1.5`,children:[`min`,`max`].map(e=>(0,B.jsx)(P,{type:`number`,min:1,max:30,"aria-label":e===`min`?`Mindestens`:`Höchstens`,placeholder:e===`min`?`min.`:`max.`,value:t[e]??``,onChange:r=>{let i=Math.round(Number(r.target.value));n({...t,[e]:r.target.value&&i>=1?Math.min(i,30):void 0})},className:`h-8 w-16 text-right`},e))})]}):null,t.kind===`file`?(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:`Auch mit der Kamera aufnehmen`}),(0,B.jsx)(M,{checked:!!t.camera,onChange:e=>n({...t,camera:e||void 0})})]}):null,t.kind===`file`?(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:`Kamera nimmt auch kurze Videos auf`}),(0,B.jsx)(M,{checked:!!t.video,onChange:e=>n({...t,video:e||void 0})})]}):null,t.kind===`text`?(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:`QR- oder Barcode scannen`}),(0,B.jsx)(M,{checked:!!t.scan,onChange:e=>n({...t,scan:e||void 0})})]}):null,[`text`,`textarea`,`number`,`email`,`url`,`location`].includes(t.kind)?(0,B.jsx)(P,{placeholder:`Platzhalter`,value:t.placeholder??``,onChange:e=>n({...t,placeholder:e.target.value||void 0})}):null,(0,B.jsx)(P,{placeholder:`Hilfetext`,value:t.help??``,onChange:e=>n({...t,help:e.target.value||void 0})}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:L(`run.required`)}),(0,B.jsx)(M,{checked:!!t.required,onChange:e=>n({...t,required:e})})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{className:`font-mono text-[0.6875rem] text-ink-4`,children:`{{${t.id}}}`}),(0,B.jsxs)(`div`,{className:`flex`,children:[(0,B.jsx)(j,{label:L(`editor.moveUp`),onClick:()=>i(-1),className:`size-8`,children:(0,B.jsx)(g,{className:`size-3.5`})}),(0,B.jsx)(j,{label:L(`editor.moveDown`),onClick:()=>i(1),className:`size-8`,children:(0,B.jsx)(m,{className:`size-3.5`})}),(0,B.jsx)(j,{label:`Entfernen`,onClick:r,className:`size-8 hover:text-rose`,children:(0,B.jsx)(w,{className:`size-3.5`})})]})]})]}):null]})}var ja=[{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 Ma(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}`,...(r.output.fields??[]).map(e=>`steps.${r.id}.${e.id}`)):(r.type===`generate`||r.type===`widget`)&&n.push(`steps.${r.id}`);return[...n,`brand.name`,`today`]}function Na({def:e,step:t,set:n,files:r,wizardId:i}){let a=r.filter(e=>e.mime===`text/html`),s=r.filter(e=>e.mime===`application/json`),c=t.size??ja[0],l=Ma(e,e.steps.indexOf(t)),u=Object.entries(t.data),d=e=>n({...t,data:Object.fromEntries(e)}),f=[r.find(e=>e.path===t.entry)?.hash.slice(0,8),r.find(e=>e.path===t.sample)?.hash.slice(0,8),c.width,c.height].join(`-`),p=r.some(e=>e.path===t.entry);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(Y,{title:`Vorschau mit Beispieldaten`,children:p?(0,B.jsx)(_,{src:o(`/api/studio/wizards/${i}/widgets/${t.id}/preview?v=${f}`),page:c.width,height:c.height,fit:!0}):(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:`Das Widget ist noch nicht gebaut. Bitte im Gespräch darum – oder lade eine HTML-Datei unter „Dateien“ hoch.`})}),(0,B.jsxs)(Y,{title:`Widget`,children:[(0,B.jsx)(D,{children:`HTML-Datei`}),(0,B.jsx)(I,{value:t.entry,onChange:e=>n({...t,entry:e}),options:(a.some(e=>e.path===t.entry)?a:[{path:t.entry},...a]).map(e=>({value:e.path,label:e.path}))}),(0,B.jsx)(D,{children:`Beispieldaten`}),(0,B.jsx)(I,{value:t.sample??``,onChange:e=>n({...t,sample:e||void 0}),options:[{value:``,label:`keine`},...s.map(e=>({value:e.path,label:e.path}))]}),(0,B.jsx)(D,{children:`Größe`}),(0,B.jsx)(k,{value:ja.find(e=>e.width===c.width&&e.height===c.height)?.label??``,options:ja.map(e=>e.label),onChange:e=>{let r=ja.find(t=>t.label===e);r&&n({...t,size:{width:r.width,height:r.height}})}})]}),(0,B.jsxs)(Y,{title:`Daten für das Widget`,children:[(0,B.jsx)(`datalist`,{id:`sources-${t.id}`,children:l.map(e=>(0,B.jsx)(`option`,{value:e},e))}),u.map(([e,n],r)=>(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(P,{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,B.jsx)(`span`,{className:`text-ink-4`,children:`←`}),(0,B.jsx)(P,{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,B.jsx)(j,{label:L(`editor.deleteStep`),onClick:()=>d(u.filter((e,t)=>t!==r)),children:(0,B.jsx)(w,{className:`size-4`})})]},r)),(0,B.jsxs)(`button`,{type:`button`,onClick:()=>d([...u,[`wert${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,B.jsx)(me,{className:`size-3.5`}),` Wert`]})]})]})}function Pa({def:e,step:t,set:n,mcpServers:r,files:i,wizardId:a}){let o=e.steps.indexOf(t),s=(0,z.useContext)(Da),c=je().plugins.flatMap(e=>e.tools),l=e.steps.slice(0,o).filter(e=>e.type===`agent`||e.type===`generate`||e.type===`widget`);switch(t.type){case`widget`:return(0,B.jsx)(Na,{def:e,step:t,set:n,files:i,wizardId:a});case`page`:return(0,B.jsxs)(Y,{title:`Fragen`,loose:!0,children:[(0,B.jsx)(`div`,{className:`flex flex-col gap-2`,children:t.fields.map((r,i)=>(0,B.jsx)(Aa,{def:e,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))}),s?null:(0,B.jsxs)(`button`,{type:`button`,onClick:()=>n({...t,fields:[...t.fields,{id:ka(e,`frage`),label:`Neue Frage`,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,B.jsx)(me,{className:`size-4`}),` Frage hinzufügen`]})]});case`agent`:return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(Y,{title:`Auftrag`,children:[(0,B.jsx)(A,{value:t.instructions,minRows:6,maxRows:20,onChange:e=>n({...t,instructions:e.target.value}),className:`text-[0.875rem]`}),(0,B.jsxs)(`p`,{className:`text-[0.75rem] text-ink-4`,children:[`Antworten einsetzen mit `,(0,B.jsx)(`code`,{className:`font-mono`,children:`{{feld}}`}),`, frühere Ergebnisse mit `,(0,B.jsx)(`code`,{className:`font-mono`,children:`{{steps.id}}`}),`.`]})]}),(0,B.jsxs)(Y,{title:`Werkzeuge`,children:[(0,B.jsx)(k,{multi:!0,value:t.tools,options:[...new Set([...Ke,...c.map(e=>e.id),...t.tools])],onChange:e=>n({...t,tools:e})}),(0,B.jsxs)(`div`,{className:`-mt-2 flex flex-wrap gap-x-3 text-[0.75rem] text-ink-4`,children:[Ke.map(e=>(0,B.jsxs)(`span`,{children:[e,` = `,ne(e)]},e)),c.map(e=>(0,B.jsxs)(`span`,{children:[e.id,` = `,e.title]},e.id))]}),e.connections?.length?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(D,{hint:`Konten, die die Person im Durchlauf verbindet. Der Schritt liest darin, er schreibt nie.`,children:`Konten der Person`}),(0,B.jsx)(k,{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,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(D,{hint:`Nur freigegebene Systeme sind in diesem Schritt erreichbar.`,children:`Verbundene Systeme`}),(0,B.jsx)(k,{multi:!0,value:t.mcp??[],options:r.map(e=>e.id),onChange:e=>n({...t,mcp:e.length?e:void 0})})]}):null]}),(0,B.jsxs)(Y,{title:`Ergebnis`,children:[(0,B.jsx)(k,{value:t.output.format,options:[`text`,`markdown`,`json`],onChange:e=>n({...t,output:{...t.output,format:e}})}),(0,B.jsx)(sa,{model:t.model,effort:t.effort,onChange:e=>n({...t,...e})}),(0,B.jsx)(P,{placeholder:`Text während der Arbeit, z. B. „Recherchiert …“`,value:t.working??``,onChange:e=>n({...t,working:e.target.value||void 0})})]})]});case`generate`:return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(Y,{title:`Was wird erzeugt?`,children:[(0,B.jsx)(k,{value:t.asset,options:[`image`,`video`,`voice`,`document`,`dashboard`],onChange:e=>n({...t,asset:e})}),(0,B.jsx)(A,{value:t.prompt,minRows:5,maxRows:18,onChange:e=>n({...t,prompt:e.target.value}),className:`text-[0.875rem]`})]}),(0,B.jsxs)(Y,{title:`Optionen`,children:[t.asset===`document`||t.asset===`dashboard`?(0,B.jsx)(sa,{model:t.model,effort:t.effort,onChange:e=>n({...t,...e})}):null,t.asset===`image`||t.asset===`video`?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(D,{children:`Format`}),(0,B.jsx)(k,{value:t.options?.aspectRatio??``,options:[...qe],onChange:e=>n({...t,options:{...t.options,aspectRatio:e}})}),(0,B.jsx)(P,{placeholder:`Stil, z. B. „helle Fotografie, minimalistisch“`,value:t.options?.style??``,onChange:e=>n({...t,options:{...t.options,style:e.target.value||void 0}})})]}):null,t.asset===`video`?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(D,{children:`Länge (Sekunden)`}),(0,B.jsx)(k,{value:String(t.options?.duration??8),options:[`4`,`6`,`8`,`10`],onChange:e=>n({...t,options:{...t.options,duration:Number(e)}})}),(0,B.jsx)(D,{children:`Auflösung`}),(0,B.jsx)(k,{value:t.options?.resolution??`720p`,options:[...Be],onChange:e=>n({...t,options:{...t.options,resolution:e}})})]}):null,t.asset===`document`?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(D,{children:`Vorlage`}),(0,B.jsx)(I,{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,B.jsxs)(Y,{title:`Was wird gezeigt?`,children:[(0,B.jsx)(k,{multi:!0,value:t.show,options:l.map(e=>e.id),onChange:e=>e.length&&n({...t,show:e})}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:`Text direkt bearbeitbar`}),(0,B.jsx)(M,{checked:!!t.edit,onChange:e=>n({...t,edit:e})})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{className:`text-[0.8125rem] text-ink-2`,children:`Neue Variante anfordern`}),(0,B.jsx)(M,{checked:!!t.regenerate,onChange:e=>n({...t,regenerate:e})})]})]});case`result`:return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(Y,{title:`Abschluss`,children:(0,B.jsx)(A,{minRows:2,placeholder:`Nachricht am Ende`,value:t.message??``,onChange:e=>n({...t,message:e.target.value||void 0})})}),(0,B.jsx)(Y,{title:`Downloads`,children:l.map(e=>{let r=t.deliverables.find(t=>t.from===e.id),i=He(e);return(0,B.jsxs)(`div`,{className:`rounded-lg bg-paper p-3 ring-1 ring-border-soft`,children:[(0,B.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,B.jsx)(`span`,{className:`truncate text-[0.875rem]`,children:e.title}),(0,B.jsx)(M,{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,B.jsx)(k,{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 Fa({def:e,update:t}){return(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(Y,{children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(D,{children:`Titel`}),(0,B.jsx)(P,{value:e.title,onChange:n=>t({...e,title:n.target.value})})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(D,{children:`Beschreibung`}),(0,B.jsx)(A,{minRows:2,value:e.description,onChange:n=>t({...e,description:n.target.value})})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(D,{hint:`Steht über der ersten Seite.`,children:`Begrüßung`}),(0,B.jsx)(A,{minRows:2,value:e.intro??``,onChange:n=>t({...e,intro:n.target.value||void 0})})]})]}),(0,B.jsx)(Y,{title:`Avatar`,children:(0,B.jsx)(`div`,{className:`grid grid-cols-5 gap-2`,children:Ge.map(n=>(0,B.jsx)(`button`,{type:`button`,onClick:()=>t({...e,avatar:n}),className:O(`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,B.jsx)(s,{kind:n,size:44,interactive:!1})},n))})}),e.lists?.length||e.connections?.length?(0,B.jsxs)(Y,{title:`Merkt sich für jede Person`,children:[(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:`Bleibt zwischen den Durchläufen erhalten – getrennt für jede Person, die den Wizard nutzt. Ändern kannst du das im Gespräch.`}),(e.connections??[]).map(e=>(0,B.jsxs)(`div`,{className:`rounded-lg bg-paper px-3 py-2.5 ring-1 ring-border-soft`,children:[(0,B.jsx)(`div`,{className:`text-[0.875rem]`,children:e.title??e.id}),(0,B.jsxs)(`div`,{className:`text-[0.75rem] text-ink-4`,children:[`Konto · `,e.kind]})]},e.id)),(e.lists??[]).map(e=>(0,B.jsxs)(`div`,{className:`rounded-lg bg-paper px-3 py-2.5 ring-1 ring-border-soft`,children:[(0,B.jsx)(`div`,{className:`text-[0.875rem]`,children:e.title}),(0,B.jsxs)(`div`,{className:`text-[0.75rem] text-ink-4`,children:[`Liste · `,e.columns.map(e=>e.name).join(`, `)]}),(0,B.jsx)(`div`,{className:`mt-1 font-mono text-[0.6875rem] text-ink-4`,children:`{{lists.${e.id}}}`})]},e.id))]}):null]})}var Ia={page:e=>({id:e,type:`page`,title:`Neue Seite`,fields:[{id:`${e}Text`,label:`Neue Frage`,kind:`text`}]}),agent:e=>({id:e,type:`agent`,title:`KI-Schritt`,instructions:`Beschreibe die Aufgabe …`,tools:[],output:{format:`markdown`}}),generate:e=>({id:e,type:`generate`,title:`Bild erzeugen`,asset:`image`,prompt:`Beschreibe das Bild …`}),widget:e=>({id:e,type:`widget`,title:`Widget`,entry:`${e}/index.html`,data:{},sample:`${e}/sample.json`})},X=`__wizard`;function La({def:e,selected:t,onSelect:n,issues:r}){let i=[X,...e.steps.map(e=>e.id)],a=t?i.indexOf(t):-1,o=(0,z.useRef)(null);(0,z.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])},c=(0,z.useRef)(s);c.current=s,(0,z.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(),c.current(e.key===`ArrowLeft`?-1:1)))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let l=`inline-flex size-8 shrink-0 items-center justify-center rounded-full transition`;return(0,B.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,B.jsx)(j,{label:L(`editor.prevStep`),className:`size-8 shrink-0`,disabled:a===0,onClick:()=>s(-1),children:(0,B.jsx)(oe,{className:`size-4`})}),(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center overflow-x-auto p-1 [scrollbar-width:none]`,children:[(0,B.jsx)(`button`,{ref:t===X?o:void 0,type:`button`,title:e.title,"aria-label":e.title,"aria-current":t===X?`step`:void 0,onClick:()=>n(X),className:O(l,`bg-paper-2 text-ink-2`,t===X?`ring-2 ring-ember`:`hover:ring-2 hover:ring-border-soft`),children:(0,B.jsx)(C,{className:`size-4`})}),e.steps.map((e,i)=>{let a=b(e),s=e.id===t,c=r.some(t=>t.stepId===e.id);return(0,B.jsxs)(`div`,{className:`flex shrink-0 items-center`,children:[(0,B.jsx)(`span`,{className:`h-px w-3 bg-border-soft`}),(0,B.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:O(l,`relative`,S[e.type],s?`ring-2 ring-ember`:`opacity-70 hover:opacity-100`),children:[(0,B.jsx)(a,{className:`size-4`}),c?(0,B.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,B.jsx)(`span`,{className:`shrink-0 px-1 text-[0.75rem] text-ink-4 tabular-nums`,children:a>0?`${a} / ${e.steps.length}`:``}),(0,B.jsx)(j,{label:L(`editor.nextStep`),className:`size-8 shrink-0`,disabled:a===i.length-1,onClick:()=>s(1),children:(0,B.jsx)(ae,{className:`size-4`})})]})}function Ra({def:e,onSelect:t,issues:n}){return(0,B.jsx)(`div`,{className:`flex flex-col gap-1 p-3`,children:e.steps.map((e,r)=>{let i=b(e),a=n.some(t=>t.stepId===e.id);return(0,B.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,B.jsx)(`span`,{className:`w-4 text-right text-[0.75rem] text-ink-4 tabular-nums`,children:r+1}),(0,B.jsx)(`span`,{className:O(`inline-flex size-7 shrink-0 items-center justify-center rounded-md`,S[e.type]),children:(0,B.jsx)(i,{className:`size-4`})}),(0,B.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`span`,{className:`block truncate text-[0.875rem]`,children:e.title}),(0,B.jsx)(`span`,{className:`block text-[0.75rem] text-ink-4`,children:y(e)})]}),a?(0,B.jsx)(`span`,{className:`size-2 shrink-0 rounded-full bg-rose`}):null]},e.id)})})}function za(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,B.jsx)(Da,{value:a,children:(0,B.jsxs)(`div`,{children:[(0,B.jsx)(La,{def:t,selected:n,onSelect:r,issues:i}),n===X?(0,B.jsx)(Fa,{def:t,update:o}):s?(0,B.jsx)(Ba,{...e,update:o,step:s}):(0,B.jsx)(Ra,{def:t,onSelect:r,issues:i})]})})}function Ba({def:e,step:t,update:n,onSelect:r,issues:i,mcpServers:a,files:o,wizardId:s}){let c=e.steps.indexOf(t),l=b(t),u=r=>n({...e,steps:e.steps.map(e=>e.id===t.id?r:e)}),d=r=>{let i=c+r;if(i<0||i>=e.steps.length-(t.type===`result`?0:1)||e.steps[i].type===`result`)return;let a=[...e.steps];[a[c],a[i]]=[a[i],a[c]],n({...e,steps:a})},f=i=>{let a=ka(e,i===`page`?`seite`:i===`agent`?`ki`:i===`widget`?`widget`:`erzeugen`),o=[...e.steps];o.splice(t.type===`result`?c:c+1,0,Ia[i](a)),n({...e,steps:o}),r(a)},p=i.filter(e=>e.stepId===t.id),h=ia(s,e),_=(0,z.useContext)(Da);return(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 px-5 py-4`,children:[(0,B.jsx)(`span`,{className:O(`inline-flex size-7 items-center justify-center rounded-md`,S[t.type]),children:(0,B.jsx)(l,{className:`size-4`})}),(0,B.jsx)(`span`,{className:`font-medium text-[0.75rem] text-ink-3 uppercase tracking-[0.07em]`,children:y(t)}),(0,B.jsx)(`span`,{className:`ml-auto font-mono text-[0.6875rem] text-ink-4`,children:t.id})]}),p.length?(0,B.jsx)(`div`,{className:`mx-5 mb-4 rounded-lg bg-rose-tint px-3 py-2 text-[0.8125rem] text-rose`,children:p.map((e,t)=>(0,B.jsx)(`div`,{children:e.message},t))}):null,(0,B.jsxs)(Y,{children:[(0,B.jsx)(P,{value:t.title,onChange:e=>u({...t,title:e.target.value}),className:`font-display font-semibold text-[1rem]`}),t.type===`page`||t.type===`review`?(0,B.jsx)(A,{minRows:1,placeholder:`Erklärung unter dem Titel (optional)`,value:t.description??``,onChange:e=>u({...t,description:e.target.value||void 0})}):null,(0,B.jsx)(oa,{estimate:h.data,stepId:t.id})]}),(0,B.jsx)(Pa,{def:e,step:t,set:u,mcpServers:a,files:o,wizardId:s}),_?null:(0,B.jsx)(Y,{children:(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[t.type===`result`?null:(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(j,{label:L(`editor.moveUp`),onClick:()=>d(-1),children:(0,B.jsx)(g,{className:`size-4`})}),(0,B.jsx)(j,{label:L(`editor.moveDown`),onClick:()=>d(1),children:(0,B.jsx)(m,{className:`size-4`})}),(0,B.jsx)(j,{label:L(`editor.deleteStep`),className:`hover:text-rose`,onClick:()=>{n({...e,steps:e.steps.filter(e=>e.id!==t.id)}),r(null)},children:(0,B.jsx)(w,{className:`size-4`})})]}),(0,B.jsx)(`span`,{className:`ml-auto text-[0.75rem] text-ink-4`,children:`Danach einfügen:`}),[`page`,`agent`,`generate`,`widget`].map(e=>(0,B.jsxs)(`button`,{type:`button`,onClick:()=>f(e),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,B.jsx)(me,{className:`size-3.5`}),` `,L(`type.${e}`)]},e))]})})]})}var Va={waiting_input:`wartet`,running:`läuft`,done:`fertig`,failed:`Fehler`,cancelled:`abgebrochen`};function Ha({wizardId:e,onOpen:t}){let n=c({queryKey:[`runs`,e],queryFn:()=>u.get(`/api/studio/wizards/${e}/runs`),refetchInterval:1e4});if(n.data&&!n.data.length)return(0,B.jsx)(E,{children:L(`editor.noRuns`)});let r=new Intl.DateTimeFormat(T,{dateStyle:`short`,timeStyle:`short`});return(0,B.jsx)(`div`,{className:`flex flex-col p-2`,children:n.data?.map(e=>(0,B.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,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 text-[0.875rem]`,children:[r.format(new Date(e.createdAt)),e.mode===`test`?(0,B.jsx)(N,{children:`Test`}):(0,B.jsxs)(N,{tone:`live`,children:[`Live v`,e.version]})]}),(0,B.jsxs)(`div`,{className:`truncate text-[0.75rem] text-ink-3`,children:[Va[e.status]??e.status,e.stepTitle&&e.status!==`done`?` · ${e.stepTitle}`:``]})]}),(0,B.jsxs)(`span`,{className:`text-[0.75rem] text-ink-4 tabular-nums`,children:[e.credits,` cr`]})]},e.id))})}var Z=(e=>(e[e.Border=-1]=`Border`,e[e.Data=0]=`Data`,e[e.Function=1]=`Function`,e[e.Position=2]=`Position`,e[e.Timing=3]=`Timing`,e[e.Alignment=4]=`Alignment`,e))(Z||{}),Ua=[0,1],Wa=[1,0],Ga=[2,3],Ka=[3,2],qa={L:Ua,M:Wa,Q:Ga,H:Ka},Ja=/^\d*$/,Ya=/^[A-Z0-9 $%*+./:-]*$/,Xa=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`,Za=1,Qa=40,$a=3,eo=3,to=40,no=10,ro=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],io=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],ao=class{constructor(e,t,n,r){if(this.version=e,this.ecc=t,e<Za||e>Qa)throw RangeError(`Version value out of range`);if(r<-1||r>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let i=Array.from({length:this.size}).fill(!1);for(let e=0;e<this.size;e++)this.modules.push(i.slice()),this.types.push(i.map(()=>0));this.drawFunctionPatterns();let a=this.addEccAndInterleave(n);if(this.drawCodewords(a),r===-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(r=t,e=n),this.applyMask(t)}}this.mask=r,this.applyMask(r),this.drawFormatBits(r)}size;mask;modules=[];types=[];getModule(e,t){return e>=0&&e<this.size&&t>=0&&t<this.size&&this.modules[t][e]}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0,Z.Timing),this.setFunctionModule(e,6,e%2==0,Z.Timing);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n===0&&r===0||n===0&&r===t-1||n===t-1&&r===0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.ecc[1]<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let r=(t<<10|n)^21522;for(let e=0;e<=5;e++)this.setFunctionModule(8,e,$(r,e));this.setFunctionModule(8,7,$(r,6)),this.setFunctionModule(8,8,$(r,7)),this.setFunctionModule(7,8,$(r,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,$(r,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,$(r,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,$(r,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;for(let e=0;e<18;e++){let n=$(t,e),r=this.size-11+e%3,i=Math.floor(e/3);this.setFunctionModule(r,i,n),this.setFunctionModule(i,r,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;a>=0&&a<this.size&&o>=0&&o<this.size&&this.setFunctionModule(a,o,i!==2&&i!==4,Z.Position)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!==1,Z.Alignment)}setFunctionModule(e,t,n,r=Z.Function){this.modules[t][e]=n,this.types[t][e]=r}addEccAndInterleave(e){let t=this.version,n=this.ecc;if(e.length!==xo(t,n))throw RangeError(`Invalid argument`);let r=io[n[0]][t],i=ro[n[0]][t],a=Math.floor(bo(t)/8),o=r-a%r,s=Math.floor(a/r),c=[],l=So(i);for(let t=0,n=0;t<r;t++){let r=e.slice(n,n+s-i+(t<o?0:1));n+=r.length;let a=Co(r,l);t<o&&r.push(0),c.push(r.concat(a))}let u=[];for(let e=0;e<c[0].length;e++)c.forEach((t,n)=>{(e!==s-i||n>=o)&&u.push(t[e])});return u}drawCodewords(e){if(e.length!==Math.floor(bo(this.version)/8))throw RangeError(`Invalid argument`);let t=0;for(let n=this.size-1;n>=1;n-=2){n===6&&(n=5);for(let r=0;r<this.size;r++)for(let i=0;i<2;i++){let a=n-i,o=n+1&2?r:this.size-1-r;!this.types[o][a]&&t<e.length*8&&(this.modules[o][a]=$(e[t>>>3],7-(t&7)),t++)}}}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.types[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let t=0;t<this.size;t++){let n=!1,r=0,i=[0,0,0,0,0,0,0];for(let a=0;a<this.size;a++)this.modules[t][a]===n?(r++,r===5?e+=$a:r>5&&e++):(this.finderPenaltyAddHistory(r,i),n||(e+=this.finderPenaltyCountPatterns(i)*to),n=this.modules[t][a],r=1);e+=this.finderPenaltyTerminateAndCount(n,r,i)*to}for(let t=0;t<this.size;t++){let n=!1,r=0,i=[0,0,0,0,0,0,0];for(let a=0;a<this.size;a++)this.modules[a][t]===n?(r++,r===5?e+=$a:r>5&&e++):(this.finderPenaltyAddHistory(r,i),n||(e+=this.finderPenaltyCountPatterns(i)*to),n=this.modules[a][t],r=1);e+=this.finderPenaltyTerminateAndCount(n,r,i)*to}for(let t=0;t<this.size-1;t++)for(let n=0;n<this.size-1;n++){let r=this.modules[t][n];r===this.modules[t][n+1]&&r===this.modules[t+1][n]&&r===this.modules[t+1][n+1]&&(e+=eo)}let t=0;for(let e of this.modules)t=e.reduce((e,t)=>e+ +!!t,t);let n=this.size*this.size,r=Math.ceil(Math.abs(t*20-n*10)/n)-1;return e+=r*no,e}getAlignmentPatternPositions(){if(this.version===1)return[];{let e=Math.floor(this.version/7)+2,t=this.version===32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}finderPenaltyCountPatterns(e){let t=e[1],n=t>0&&e[2]===t&&e[3]===t*3&&e[4]===t&&e[5]===t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]===0&&(e+=this.size),t.pop(),t.unshift(e)}};function Q(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function $(e,t){return!!(e>>>t&1)}var oo=class{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}getData(){return this.bitData.slice()}},so=[1,10,12,14],co=[2,9,11,13],lo=[4,8,16,16];function uo(e,t){return e[Math.floor((t+7)/17)+1]}function fo(e){let t=[];for(let n of e)Q(n,8,t);return new oo(lo,e.length,t)}function po(e){if(!go(e))throw RangeError(`String contains non-numeric characters`);let t=[];for(let n=0;n<e.length;){let r=Math.min(e.length-n,3);Q(Number.parseInt(e.substring(n,n+r),10),r*3+1,t),n+=r}return new oo(so,e.length,t)}function mo(e){if(!_o(e))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let t=[],n=0;for(;n+2<=e.length;n+=2){let r=Xa.indexOf(e.charAt(n))*45;r+=Xa.indexOf(e.charAt(n+1)),Q(r,11,t)}return n<e.length&&Q(Xa.indexOf(e.charAt(n)),6,t),new oo(co,e.length,t)}function ho(e){return e===``?[]:go(e)?[po(e)]:_o(e)?[mo(e)]:[fo(yo(e))]}function go(e){return Ja.test(e)}function _o(e){return Ya.test(e)}function vo(e,t){let n=0;for(let r of e){let e=uo(r.mode,t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}function yo(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)===`%`?(t.push(Number.parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}function bo(e){if(e<Za||e>Qa)throw RangeError(`Version number out of range`);let t=(16*e+128)*e+64;if(e>=2){let n=Math.floor(e/7)+2;t-=(25*n-10)*n-55,e>=7&&(t-=36)}return t}function xo(e,t){return Math.floor(bo(e)/8)-ro[t[0]][e]*io[t[0]][e]}function So(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let t=[];for(let n=0;n<e-1;n++)t.push(0);t.push(1);let n=1;for(let r=0;r<e;r++){for(let e=0;e<t.length;e++)t[e]=wo(t[e],n),e+1<t.length&&(t[e]^=t[e+1]);n=wo(n,2)}return t}function Co(e,t){let n=t.map(e=>0);for(let r of e){let e=r^n.shift();n.push(0),t.forEach((t,r)=>n[r]^=wo(t,e))}return n}function wo(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return n}function To(e,t,n=1,r=40,i=-1,a=!0){if(!(Za<=n&&n<=r&&r<=Qa)||i<-1||i>7)throw RangeError(`Invalid value`);let o,s;for(o=n;;o++){let n=xo(o,t)*8,i=vo(e,o);if(i<=n){s=i;break}if(o>=r)throw RangeError(`Data too long`)}for(let e of[Wa,Ga,Ka])a&&s<=xo(o,e)*8&&(t=e);let c=[];for(let t of e){Q(t.mode[0],4,c),Q(t.numChars,uo(t.mode,o),c);for(let e of t.getData())c.push(e)}let l=xo(o,t)*8;Q(0,Math.min(4,l-c.length),c),Q(0,(8-c.length%8)%8,c);for(let e=236;c.length<l;e^=253)Q(e,8,c);let u=Array.from({length:Math.ceil(c.length/8)},()=>0);return c.forEach((e,t)=>u[t>>>3]|=e<<7-(t&7)),new ao(o,t,u,i)}function Eo(e,t){let{ecc:n=`L`,boostEcc:r=!1,minVersion:i=1,maxVersion:a=40,maskPattern:o=-1,border:s=1}=t||{},c=typeof e==`string`?ho(e):Array.isArray(e)?[fo(e)]:void 0;if(!c)throw Error(`uqr only supports encoding string and binary data, but got: ${typeof e}`);let l=To(c,qa[n],i,a,o,r),u=Do({version:l.version,maskPattern:l.mask,size:l.size,data:l.modules,types:l.types},s);return t?.invert&&(u.data=u.data.map(e=>e.map(e=>!e))),t?.onEncoded?.(u),u}function Do(e,t=1){if(!t)return e;let{size:n}=e,r=n+t*2;e.size=r,e.data.forEach(e=>{for(let n=0;n<t;n++)e.unshift(!1),e.push(!1)});for(let n=0;n<t;n++)e.data.unshift(Array.from({length:r},e=>!1)),e.data.push(Array.from({length:r},e=>!1));let i=Z.Border;e.types.forEach(e=>{for(let n=0;n<t;n++)e.unshift(i),e.push(i)});for(let n=0;n<t;n++)e.types.unshift(Array.from({length:r},e=>i)),e.types.push(Array.from({length:r},e=>i));return e}function Oo(e){return e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`).replace(/>/g,`>`)}function ko(e,t={}){let n=Eo(e,t),{pixelSize:r=10,whiteColor:i=`white`,blackColor:a=`black`}=t,o=n.size*r,s=n.size*r,c=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${s} ${o}">`,l=[];for(let e=0;e<n.size;e++)for(let t=0;t<n.size;t++){let i=t*r,a=e*r;n.data[e][t]&&l.push(`M${i},${a}h${r}v${r}h-${r}z`)}return c+=`<rect fill="${Oo(i)}" width="${s}" height="${o}"/>`,c+=`<path fill="${Oo(a)}" d="${l.join(``)}"/>`,c+=`</svg>`,c}var Ao=e=>`${e.slice(0,4)} ${e.slice(4)}`;function jo(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.click(),setTimeout(()=>URL.revokeObjectURL(n),1e3)}async function Mo(e,t){let n=new Image,r=URL.createObjectURL(new Blob([e],{type:`image/svg+xml`}));try{n.src=r,await n.decode();let e=document.createElement(`canvas`);e.width=1024,e.height=1024;let i=e.getContext(`2d`);if(!i)return;i.imageSmoothingEnabled=!1,i.drawImage(n,0,0,1024,1024);let a=await new Promise(t=>e.toBlob(t,`image/png`));a&&jo(a,t)}finally{URL.revokeObjectURL(r)}}function No({url:e,code:t,title:n}){let r=(0,z.useMemo)(()=>ko(e,{ecc:`M`,border:2,pixelSize:8}),[e]),i=(n.trim()||`wizard`).replace(/[^\p{L}\p{N}]+/gu,`-`).toLowerCase();return(0,B.jsxs)(`div`,{className:`flex gap-4`,children:[(0,B.jsx)(`div`,{role:`img`,"aria-label":L(`share.qr`),className:`size-28 shrink-0 overflow-hidden rounded-lg bg-white [&>svg]:size-full`,dangerouslySetInnerHTML:{__html:r}}),(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:L(`share.qrHint`)}),t?(0,B.jsxs)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:[L(`share.code`),` `,(0,B.jsx)(`span`,{className:`select-all font-mono text-[0.9375rem] text-ink tracking-wider`,children:Ao(t)})]}):null,(0,B.jsxs)(`div`,{className:`mt-auto flex gap-2`,children:[(0,B.jsxs)(F,{variant:`secondary`,size:`sm`,onClick:()=>void Mo(r,`${i}-qr.png`),children:[(0,B.jsx)(we,{className:`size-3.5`}),` PNG`]}),(0,B.jsxs)(F,{variant:`secondary`,size:`sm`,onClick:()=>jo(new Blob([r],{type:`image/svg+xml`}),`${i}-qr.svg`),children:[(0,B.jsx)(we,{className:`size-3.5`}),` SVG`]})]})]})]})}var Po=e=>e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`),Fo=()=>new Intl.DateTimeFormat(T,{timeStyle:`short`});function Io({url:e,title:t}){let[n,r]=(0,z.useState)(!1),[i,a]=(0,z.useState)(!1),[,o,s]=e.match(/^(.*)\/w\/([^/]+)$/)??[];if(!s)return null;let c=`<script async src="${o}/embed.js" data-wizard="${s}"${n?` data-mode="modal" data-label="${Po(t)}"`:``}><\/script>`,l=[L(`embed.inline`),L(`embed.modal`)];return(0,B.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:L(n?`embed.modalHint`:`embed.inlineHint`)}),(0,B.jsxs)(F,{variant:`secondary`,size:`sm`,onClick:()=>{navigator.clipboard.writeText(c),a(!0),setTimeout(()=>a(!1),1500)},children:[i?(0,B.jsx)(re,{className:`size-3.5`}):(0,B.jsx)(pe,{className:`size-3.5`}),L(i?`share.copied`:`share.copy`)]})]}),(0,B.jsx)(k,{value:l[+!!n],onChange:e=>r(e===l[1]),options:l}),(0,B.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:c})]})}var Lo=e=>O(`inline-flex h-8 items-center gap-1.5 rounded-full px-3 font-medium text-[0.8125rem] transition`,e?`bg-paper-2 text-ink`:`text-ink-3 hover:text-ink`);function Ro({url:e,code:t,title:n}){let[r,i]=(0,z.useState)(!1),[a,o]=(0,z.useState)(null),s=e=>o(t=>t===e?null:e);return(0,B.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,B.jsxs)(`div`,{className:`flex gap-2`,children:[(0,B.jsx)(P,{readOnly:!0,value:e,onFocus:e=>e.target.select(),className:`font-mono text-[0.8125rem]`}),(0,B.jsxs)(F,{variant:`secondary`,onClick:()=>{navigator.clipboard.writeText(e),i(!0),setTimeout(()=>i(!1),1500)},children:[r?(0,B.jsx)(re,{className:`size-4`}):(0,B.jsx)(pe,{className:`size-4`}),L(r?`share.copied`:`share.copy`)]})]}),(0,B.jsxs)(`div`,{className:`-ml-3 flex flex-wrap gap-1`,children:[(0,B.jsxs)(`button`,{type:`button`,className:Lo(!1),onClick:()=>nt(e),children:[(0,B.jsx)(he,{className:`size-3.5`}),` `,L(`share.open`)]}),(0,B.jsxs)(`button`,{type:`button`,"aria-pressed":a===`website`,className:Lo(a===`website`),onClick:()=>s(`website`),children:[(0,B.jsx)(ct,{className:`size-3.5`}),` `,L(`share.website`)]}),(0,B.jsxs)(`button`,{type:`button`,"aria-pressed":a===`qr`,className:Lo(a===`qr`),onClick:()=>s(`qr`),children:[(0,B.jsx)(bt,{className:`size-3.5`}),` `,L(`share.qr`)]})]}),a===`website`?(0,B.jsx)(Io,{url:e,title:n}):null,a===`qr`?(0,B.jsx)(No,{url:e,code:t,title:n}):null]})}var zo={sandbox:`cloud.problem.sandbox`,mcp:`cloud.problem.mcp`,model:`cloud.problem.model`,connector:`cloud.problem.connector`,invalid:`cloud.problem.invalid`};function Bo({problems:e,quiet:t}){return(0,B.jsx)(`ul`,{className:O(`flex flex-col gap-2 text-[0.8125rem]`,t?`text-ink-3`:`text-ink-2`),children:e.map((e,n)=>(0,B.jsxs)(`li`,{children:[e.steps.length?(0,B.jsxs)(`span`,{className:O(`font-medium`,t?`text-ink-2`:`text-ink`),children:[e.steps.map(e=>L(`cloud.stepName`,{title:e.title})).join(`, `),`:`,` `]}):null,L(zo[e.code]??`cloud.problem.invalid`,{detail:e.detail}),e.detail&&e.code!==`mcp`&&e.code!==`sandbox`?(0,B.jsxs)(`details`,{className:`mt-0.5`,children:[(0,B.jsx)(`summary`,{className:`cursor-pointer text-[0.75rem] text-ink-4 hover:text-ink-3`,children:L(`share.details`)}),(0,B.jsx)(`span`,{className:`mt-0.5 block break-words font-mono text-[0.6875rem] text-ink-4`,children:e.detail})]}):null]},n))})}function Vo({error:e}){let t=d(),n=e.reason===`space_limit`,r=c({queryKey:[`cloud-spaces`],queryFn:()=>u.get(`/api/studio/cloud/spaces`),enabled:n,retry:!1}),i=R({mutationFn:()=>u.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,B.jsxs)(`p`,{children:[e.message,` `,e.reason===`signed_out`?(0,B.jsx)(a,{to:`/settings/account`,className:`font-medium underline underline-offset-2`,children:L(`local.toAccount`)}):null,e.again?(0,B.jsx)(`span`,{className:`text-ink-3`,children:L(`cloud.again`,{when:Fo().format(new Date(e.again))})}):null]});let o=(r.data?.spaces??[]).map(e=>e.name);return(0,B.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,B.jsx)(`p`,{children:e.message}),(0,B.jsx)(`p`,{className:`text-ink-2`,children:L(`cloud.spaceLimit`)}),o.length?(0,B.jsx)(`ul`,{className:`list-disc pl-5`,children:o.map((e,t)=>(0,B.jsx)(`li`,{children:e},t))}):null,(0,B.jsx)(`div`,{children:(0,B.jsx)(F,{variant:`secondary`,size:`sm`,busy:i.isPending,onClick:()=>window.confirm(L(`cloud.replaceConfirm`))&&i.mutate(),children:L(`cloud.replace`)})}),i.error?(0,B.jsx)(`p`,{className:`text-rose`,children:i.error.message}):null]})}function Ho({wizard:e,where:t,me:n,cloud:r}){let i=d(),a=R({mutationFn:()=>u.post(`/api/studio/wizards/${e.id}/cloud`),onSuccess:t=>{i.setQueryData([`cloud`,e.id],t),i.invalidateQueries({queryKey:[`wizards`]})}}),o=`flex items-start gap-2 text-[0.875rem] text-ink-2`;switch(t.kind){case`draft`:return null;case`unknown`:return(0,B.jsx)(ye,{className:`size-4 text-ink-4`});case`here`:return(0,B.jsxs)(`p`,{className:o,children:[(0,B.jsx)(Ee,{className:`mt-0.5 size-4 shrink-0 text-ink-3`}),` `,L(`where.hereHint`)]});case`live`:return(0,B.jsxs)(`p`,{className:o,title:r?.copy?L(`cloud.sent`,{v:r.copy.version,when:new Intl.DateTimeFormat(T,{dateStyle:`short`,timeStyle:`short`}).format(new Date(r.copy.syncedAt))}):void 0,children:[t.cloud?(0,B.jsx)(it,{className:`mt-0.5 size-4 shrink-0 text-moss`}):(0,B.jsx)(`span`,{className:`mt-[7px] size-1.5 shrink-0 rounded-full bg-moss`}),t.cloud?L(`where.liveAt`,{host:Ie(n.account?.cloudUrl??``),v:t.runs}):L(`editor.published`,{v:t.runs})]})}let s=r?.copy??null,c=r?.error??null,l=s&&!s.runnable?s.problems.filter(e=>e.blocking):[],f=e.published&&(!s||s.version<(e.publishedVersion??0)||c)&&c?.reason!==`space_limit`&&c?.reason!==`signed_out`;return(0,B.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg bg-amber-tint px-3 py-2.5 text-[0.875rem]`,children:[c?(0,B.jsx)(Vo,{error:c}):t.kind===`missing`?(0,B.jsx)(`p`,{children:t.why}):null,c&&t.runs!==null?(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:L(`cloud.keepsRunning`,{v:t.runs})}):null,l.length?(0,B.jsx)(Bo,{problems:l}):null,f?(0,B.jsx)(`div`,{children:(0,B.jsxs)(F,{variant:`secondary`,size:`sm`,busy:a.isPending,onClick:()=>a.mutate(),children:[(0,B.jsx)(ot,{className:`size-3.5`}),L(s||c?`cloud.resend`:`cloud.send`)]})}):null,a.error?(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:a.error.message}):null]})}function Uo({wizard:e,cloud:t}){let n=t?.copy??null,r=e.publishedVersion,i=n!==null&&r!==null&&n.version<r,a=!n||e.dirty||i,o=c({queryKey:[`cloud-check`,e.id,e.revision],queryFn:()=>u.get(`/api/studio/wizards/${e.id}/cloud/check`),enabled:t?.linked===!0&&a,retry:!1,staleTime:3e4}),s=!a&&n?n.problems.filter(e=>!e.blocking):[],l=a?o.data?.problems??[]:[];return s.length||l.length||a&&o.data?.documents?(0,B.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[s.length?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:L(`cloud.notes`)}),(0,B.jsx)(Bo,{problems:s,quiet:!0})]}):null,l.length?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-ink-2`,children:L(l.some(e=>e.blocking)?`cloud.checkBlocking`:`cloud.check`)}),(0,B.jsx)(Bo,{problems:l,quiet:!0})]}):null,a&&o.data?.documents?(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:L(`cloud.documents`)}):null]}):a&&o.error&&!t?.error?(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:o.error.message}):null}function Wo({way:e}){let t=i(),n=_e(!1);return(0,B.jsxs)(`div`,{className:O(`flex flex-col gap-3`,e?`rounded-lg bg-cobalt-tint px-3 py-3`:`border-border-soft border-t pt-5`),children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`div`,{className:`font-medium text-[0.875rem]`,children:L(`share.others`)}),(0,B.jsx)(`p`,{className:`mt-1 text-[0.8125rem] text-ink-2 leading-relaxed`,children:L(e===`website`?`teaser.website`:e===`qr`?`teaser.qr`:`share.othersHint`)})]}),(0,B.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,B.jsx)(F,{size:`sm`,busy:n.link.isPending,onClick:()=>n.link.mutate({}),children:L(`account.signIn`)}),(0,B.jsx)(F,{size:`sm`,variant:`secondary`,onClick:()=>t(`/settings/account`),children:L(`account.create`)})]}),(0,B.jsx)(ge,{...n})]})}function Go({wizard:e,cloud:t}){let n=d(),[r,i]=(0,z.useState)(!1),[a,o]=(0,z.useState)(String(e.dailyRunLimit)),s=()=>Promise.all([n.invalidateQueries({queryKey:[`wizard`,e.id]}),n.invalidateQueries({queryKey:[`wizards`]})]),c=R({mutationFn:t=>u.patch(`/api/studio/wizards/${e.id}`,t),onSuccess:s}),l=R({mutationFn:()=>u.post(`/api/studio/wizards/${e.id}/rotate-link`),onSuccess:({cloud:t})=>(t&&n.setQueryData([`cloud`,e.id],{linked:!0,...t}),s())}),f=e.readOnly,p=c.error??l.error,m=ia(e.id,e.draft),h=m.data?.available&&m.data.reserve>0?Math.round(m.data.reserve*e.dailyRunLimit):null,g=r||!!p;return(0,B.jsxs)(`div`,{className:`border-border-soft border-t pt-4`,children:[(0,B.jsxs)(`button`,{type:`button`,"aria-expanded":g,onClick:()=>i(e=>!e),className:`flex w-full items-center justify-between gap-4 text-left text-[0.875rem]`,children:[(0,B.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,B.jsx)(ae,{className:O(`size-4 text-ink-3 transition`,g&&`rotate-90`)}),L(`share.settings`)]}),(0,B.jsxs)(`span`,{className:`text-[0.8125rem] text-ink-3 tabular-nums`,children:[L(e.shareEnabled?`share.on`:`share.off`),` ·`,` `,L(`share.perDay`,{n:e.dailyRunLimit})]})]}),g?(0,B.jsxs)(`div`,{className:`mt-4 flex flex-col gap-5`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{className:`text-[0.875rem]`,children:L(`share.enabled`)}),(0,B.jsx)(M,{checked:e.shareEnabled,disabled:f,onChange:e=>c.mutate({shareEnabled:e})})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,B.jsx)(`span`,{className:`whitespace-nowrap text-[0.875rem]`,children:L(`share.limit`)}),(0,B.jsx)(`div`,{className:`w-24`,children:(0,B.jsx)(P,{inputMode:`numeric`,className:`text-right`,disabled:f,value:a,onChange:e=>o(e.target.value.replace(/\D/g,``)),onBlur:()=>{let t=Number(a);t>=1&&t!==e.dailyRunLimit&&c.mutate({dailyRunLimit:t})}})})]}),h!==null&&m.data?(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3 tabular-nums`,children:L(`estimate.share`,{run:Math.round(m.data.credits).toLocaleString(),day:h.toLocaleString()})}):null,(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,B.jsx)(`span`,{className:`text-[0.8125rem] text-ink-3`,children:L(t?.copy?`share.rotateCloud`:`share.rotateHint`)}),(0,B.jsxs)(F,{variant:`ghost`,size:`sm`,busy:l.isPending,disabled:f,onClick:()=>l.mutate(),children:[(0,B.jsx)(te,{className:`size-3.5`}),` `,L(`share.rotate`)]})]}),p?(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:p.message}):null]}):null,f?(0,B.jsx)(`p`,{className:`mt-3 text-[0.8125rem] text-ink-3`,children:L(`share.readOnly`)}):null]})}function Ko({wizard:e,open:t,onClose:n,publish:r}){let i=Se(),a=i.data?.mode===`local`,o=a&&!!i.data?.account,s=xe(e.id,t&&o),l=i.data?Pe(e,i.data,o?s.data:null):{kind:`unknown`},d=Ae(l),f=i.data?.mode===`managed`&&e.published,p=c({queryKey:[`wizard-code`,e.id,e.shareToken],queryFn:()=>u.get(`/api/studio/wizards/${e.id}/code`),enabled:t&&f}),m=!e.published||e.dirty&&!e.readOnly,[h,g]=(0,z.useState)(null);return(0,B.jsx)(be,{open:t,onClose:n,title:L(`share.title`),children:(0,B.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[m?(0,B.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg bg-amber-tint px-3 py-2.5`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,B.jsx)(`p`,{className:`text-[0.875rem]`,children:L(e.published?`share.unpublished`:`share.publishFirst`)}),r?(0,B.jsx)(F,{size:`sm`,busy:r.busy,disabled:r.disabled,onClick:r.run,children:L(`editor.publish`)}):null]}),o&&!e.published?(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:L(`cloud.onPublish`)}):null]}):null,i.data&&e.published?(0,B.jsx)(Ho,{wizard:e,where:l,me:i.data,cloud:s.data}):null,s.isError?(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:s.error.message}):null,d?(0,B.jsx)(Ro,{url:d,code:f?p.data?.code:s.data?.copy?.code,title:e.draft.title}):null,a&&!o&&e.published?(0,B.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,B.jsxs)(`div`,{className:`flex gap-2`,children:[(0,B.jsx)(P,{readOnly:!0,value:Re(e),onFocus:e=>e.target.select(),className:`font-mono text-[0.8125rem] text-ink-3`}),(0,B.jsxs)(F,{variant:`secondary`,onClick:()=>nt(Re(e)),children:[(0,B.jsx)(he,{className:`size-4`}),` `,L(`share.open`)]})]}),Le.account?(0,B.jsx)(`div`,{className:`-ml-3 flex flex-wrap gap-1`,children:[`website`,`qr`].map(e=>(0,B.jsxs)(`button`,{type:`button`,"aria-pressed":h===e,className:Lo(h===e),onClick:()=>g(t=>t===e?null:e),children:[e===`website`?(0,B.jsx)(ct,{className:`size-3.5`}):(0,B.jsx)(bt,{className:`size-3.5`}),L(e===`website`?`share.website`:`share.qr`),(0,B.jsx)(De,{className:`size-3 text-cobalt`})]},e))}):null]}):null,o?(0,B.jsx)(Uo,{wizard:e,cloud:s.data}):null,a&&!o&&Le.account?(0,B.jsx)(Wo,{way:h}):null,(0,B.jsx)(Go,{wizard:e,cloud:o?s.data:void 0}),o&&e.published?(0,B.jsxs)(`button`,{type:`button`,onClick:()=>nt(Re(e)),className:`inline-flex items-center gap-1.5 self-start text-[0.8125rem] text-ink-3 hover:text-ink`,children:[(0,B.jsx)(Ee,{className:`size-3.5`}),` `,L(`share.openHere`),(0,B.jsx)(he,{className:`size-3`})]}):null]})})}var qo=[`title`,`description`,`avatar`,`intro`,`lists`,`connections`],Jo=(e,t)=>JSON.stringify(e)===JSON.stringify(t);function Yo(e,t,n){let r={...n};for(let n of qo)Jo(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||!Jo(t,e)});return t.steps.forEach((e,n)=>{let r=i.get(e.id);if(r&&Jo(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 Xo(e){let t=d(),n=(0,z.useMemo)(()=>[`wizard`,e],[e]),r=`/api/studio/wizards/${e}`,i=(0,z.useRef)(null),a=(0,z.useRef)(Promise.resolve()),s=(0,z.useRef)(null),c=(0,z.useRef)(null),l=(0,z.useRef)(!1),[p,m]=(0,z.useState)(!1),[h,g]=(0,z.useState)(0),[_,v]=(0,z.useState)(null),[ee,te]=(0,z.useState)(null),y=(0,z.useCallback)(()=>!!(i.current||l.current||s.current),[]),ne=(0,z.useCallback)(async()=>{let e=await u.get(r);t.setQueryData(n,t=>t&&y()?{...e,draft:t.draft,title:t.title,revision:t.revision,dirty:!0}:e)},[t,n,r,y]),b=(0,z.useCallback)(()=>{a.current=a.current.then(async()=>{let e=s.current,i=t.getQueryData(n);if(e&&i){s.current=null,l.current=!0,m(!0);try{let a=await u.put(`${r}/draft`,{definition:e,baseRevision:i.revision});c.current=s.current?e:null,t.setQueryData(n,e=>e&&{...e,revision:a.revision,issues:a.issues})}catch(i){let a=Oe(i);if(a){s.current=null,c.current=null,te(a);let e=await u.get(r).catch(()=>null);e&&t.setQueryData(n,e);return}if(!(i instanceof f&&i.status===409)){s.current??=e,console.error(`[draft] save failed`,i);return}let o=await u.get(r),l=Yo(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}),g(Date.now()),b()}finally{l.current=!1,m(!1)}}})},[t,n,r]),x=(0,z.useCallback)(r=>{e&&(y()||(c.current=t.getQueryData(n)?.draft??null),s.current=r,t.setQueryData(n,e=>e&&{...e,draft:r,title:r.title,dirty:!0}),i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{i.current=null,b()},600))},[t,n,e,y,b]);return(0,z.useEffect)(()=>{if(!e)return;let r=new EventSource(o(`/api/studio/wizards/${e}/stream`));return r.addEventListener(`change`,e=>{let r=JSON.parse(e.data),i=t.getQueryData(n);r.kind===`draft`&&i&&r.revision<=i.revision||(ne(),r.kind===`draft`&&r.source===`mcp`&&v({client:r.client??`MCP`,steps:r.touched,at:Date.now()}))}),r.addEventListener(`hello`,e=>{let{revision:r}=JSON.parse(e.data),i=t.getQueryData(n);i&&r!==i.revision&&ne()}),()=>r.close()},[t,n,e,ne]),(0,z.useEffect)(()=>{if(!_)return;let e=setTimeout(()=>v(null),6e3);return()=>clearTimeout(e)},[_]),(0,z.useEffect)(()=>{if(!h)return;let e=setTimeout(()=>g(0),4e3);return()=>clearTimeout(e)},[h]),{save:x,saving:p,remote:_,merged:h>0,refused:ee}}function Zo({remote:e,merged:t}){return e?(0,B.jsxs)(N,{tone:`ember`,children:[(0,B.jsx)(Me,{className:`size-3`}),` `,L(`editor.changedVia`,{client:e.client})]}):t?(0,B.jsxs)(N,{children:[(0,B.jsx)(mt,{className:`size-3`}),` `,L(`editor.merged`)]}):null}var Qo=[...We,`image`,`video`],$o={chat:`editor.chat`,step:`editor.step`,files:`editor.files`,runs:`editor.runs`},es=`wizards.editor.pane`,ts=420,ns=340,rs=()=>Math.max(ns,window.innerWidth-480);function is(){try{let e=Number(localStorage.getItem(es));return e?Math.min(Math.max(e,ns),rs()):ts}catch{return ts}}function as(){let[e,t]=(0,z.useState)(is),n=(0,z.useCallback)(e=>{let n=Math.round(Math.min(Math.max(e,ns),rs()));t(n);try{localStorage.setItem(es,String(n))}catch{}},[]);return{width:e,onPointerDown:t=>{t.preventDefault();let r=t.clientX,i=e,a=e=>n(i+r-e.clientX),o=()=>{window.removeEventListener(`pointermove`,a),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`,a),window.addEventListener(`pointerup`,o)},onKeyDown:t=>{let r=t.shiftKey?64:16;t.key===`ArrowLeft`?(t.preventDefault(),n(e+r)):t.key===`ArrowRight`&&(t.preventDefault(),n(e-r))},reset:()=>n(ts)}}function os(){let{id:e}=l(),t=i(),n=d(),a=Se(),[s,f]=r(),p=c({queryKey:[`wizard`,e],queryFn:()=>u.get(`/api/studio/wizards/${e}`),refetchOnWindowFocus:!1}),[m,g]=(0,z.useState)(null),[_,te]=(0,z.useState)(`chat`),y=as(),[ne,b]=(0,z.useState)(!1),[x,S]=(0,z.useState)(null),[re,ie]=(0,z.useState)(null),ae=(0,z.useCallback)(e=>ie(e&&e.status!==`done`?e.step?.id??null:null),[]),{save:oe,saving:de,remote:fe,merged:pe,refused:me}=Xo(e),he=Te(),C=ce(p.data,(t,r)=>{n.setQueryData([`wizard`,e],e=>e&&{...e,draft:t,revision:r,title:t.title,blank:!1})}),ge=(0,z.useRef)(!1);(0,z.useEffect)(()=>{let e=s.get(`prompt`);e&&p.data&&!ge.current&&(ge.current=!0,f({},{replace:!0}),C.send(e))},[s,p.data,C,f]);let _e=c({queryKey:[`wizard-models`,e,p.data?.revision],queryFn:()=>u.get(`/api/studio/wizards/${e}/models`),enabled:!!p.data}).data?.missing??[],ve=a.data?.mode===`local`&&!!a.data.account,w=xe(e??``,!!e&&ve),T=_e.some(e=>e.blocking),E=R({mutationFn:()=>u.post(`/api/studio/wizards/${e}/test-runs`),onSuccess:({runId:e})=>S(e)}),D=R({mutationFn:()=>u.post(`/api/studio/wizards/${e}/publish`),onSuccess:async({cloud:t})=>{t&&n.setQueryData([`cloud`,e],{linked:!0,...t}),await Promise.all([n.invalidateQueries({queryKey:[`wizard`,e]}),n.invalidateQueries({queryKey:[`cloud`,e]}),n.invalidateQueries({queryKey:[`wizards`]})]),b(!0)}}),be=(0,z.useMemo)(()=>new Set((p.data?.issues??[]).map(e=>e.stepId).filter(Boolean)),[p.data?.issues]);if(p.isLoading||!a.data)return(0,B.jsx)(`div`,{className:`flex min-h-dvh items-center justify-center text-ink-4`,children:(0,B.jsx)(ye,{})});if(!p.data)return(0,B.jsx)(`div`,{className:`p-10 text-center text-ink-3`,children:L(`run.notFound`)});let k=p.data,A=k.draft,M=C.phase!==`idle`&&k.blank,P=k.issues.length>0,I=he.data?.find(e=>e.id===k.projectId),Ce=I?I.origin===`local`:a.data.limits.build||he.isLoading,Ee=k.readOnly?L(Ce?`readonly.wizard`:`readonly.server`):null,De=a.data.mode===`local`&&Le.account&&_e.some(e=>Qo.includes(e.cls))?a.data.account?a.data.models?.source===`account`?null:`use`:`connect`:null,Oe=me??(D.error?D.error.message:null),Ae=e=>{g(e),e&&te(`step`)};return(0,B.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[Ee?(0,B.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 sm:px-6`,children:[(0,B.jsx)(se,{className:`size-4 shrink-0 text-ink-3`}),(0,B.jsx)(`p`,{className:`min-w-0 flex-1`,children:Ee})]}):null,Oe?(0,B.jsx)(`div`,{className:`shrink-0 bg-rose-tint px-4 py-2 text-[0.8125rem] text-rose sm:px-6`,children:Oe}):null,(0,B.jsxs)(`header`,{className:`flex h-16 shrink-0 items-center gap-2 px-3 sm:px-4`,children:[(0,B.jsx)(j,{label:`Zurück`,onClick:()=>t(`/`),children:(0,B.jsx)(ee,{className:`size-5`})}),(0,B.jsx)(`button`,{type:`button`,onClick:()=>Ae(`__wizard`),className:`min-w-0 truncate rounded-md px-2 py-1 text-left hover:bg-accent`,children:(0,B.jsx)(`span`,{className:`font-display font-semibold text-[1.0625rem] tracking-tight`,children:A.title})}),(0,B.jsx)(`span`,{className:`hidden sm:inline-flex`,children:k.published?k.dirty?(0,B.jsx)(N,{tone:`warn`,children:L(`editor.unpublishedChanges`)}):(0,B.jsx)(ke,{where:Pe(k,a.data,ve?w.data:null),me:a.data,version:k.publishedVersion}):(0,B.jsx)(N,{children:L(`editor.notPublished`)})}),de?(0,B.jsx)(ye,{className:`size-4 text-ink-4`}):null,(0,B.jsx)(`span`,{className:`hidden md:inline-flex`,children:(0,B.jsx)(Zo,{remote:fe,merged:pe})}),(0,B.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,B.jsx)(`a`,{href:o(`/api/studio/wizards/${k.id}/export`),download:!0,"aria-label":L(`editor.export`),title:L(`editor.export`),className:`hidden size-9 shrink-0 items-center justify-center rounded-full text-ink-3 transition hover:bg-accent hover:text-ink sm:inline-flex`,children:(0,B.jsx)(we,{className:`size-4`})}),(0,B.jsxs)(F,{variant:`secondary`,size:`sm`,disabled:P||M||T,busy:E.isPending,onClick:()=>E.mutate(),children:[(0,B.jsx)(vt,{className:`size-3.5`}),` `,L(`editor.test`)]}),k.published&&(!k.dirty||k.readOnly)?(0,B.jsxs)(F,{size:`sm`,onClick:()=>b(!0),children:[(0,B.jsx)(h,{className:`size-3.5`}),` `,L(`editor.share`)]}):k.readOnly?null:(0,B.jsxs)(B.Fragment,{children:[ve?(0,B.jsx)(j,{label:L(`editor.share`),className:`max-sm:hidden`,onClick:()=>b(!0),children:(0,B.jsx)(h,{className:`size-4`})}):null,(0,B.jsx)(F,{size:`sm`,disabled:P||M,busy:D.isPending,onClick:()=>D.mutate(),children:L(`editor.publish`)})]}),(0,B.jsx)(`span`,{className:`ml-2 hidden md:inline-flex`,children:(0,B.jsx)(ze,{me:a.data})}),(0,B.jsx)(`span`,{className:`hidden sm:inline-flex`,children:(0,B.jsx)(Fe,{me:a.data})})]})]}),(0,B.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col lg:flex-row`,children:[(0,B.jsxs)(`section`,{className:`relative min-h-[45vh] flex-1 overflow-hidden lg:min-h-0`,children:[P&&!M?(0,B.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,B.jsx)(`p`,{className:`text-[0.875rem]`,children:L(`editor.issues`)}),(0,B.jsx)(`ul`,{className:`mt-2 list-disc pl-5 text-[0.8125rem] text-ink-2`,children:k.issues.slice(0,4).map((e,t)=>(0,B.jsx)(`li`,{children:e.message},t))}),k.readOnly?null:(0,B.jsx)(F,{size:`sm`,variant:`quiet`,className:`mt-3`,disabled:C.phase!==`idle`,onClick:()=>{te(`chat`),C.send(`Bitte behebe diese Probleme im Wizard:\n${k.issues.map(e=>`- ${e.message}`).join(`
|
|
2
|
-
`)}`)},children:L(`editor.fixWithChat`)})]}):null,!P&&!M&&_e.length?(0,B.jsxs)(`div`,{className:O(`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`,T?`ring-rose/30`:`ring-amber/30`),children:[(0,B.jsx)(`p`,{className:`text-[0.875rem]`,children:L(T?`editor.models.blocking`:`editor.models.optional`)}),(0,B.jsx)(`ul`,{className:`mt-2 list-disc pl-5 text-[0.8125rem] text-ink-2`,children:_e.map(e=>(0,B.jsxs)(`li`,{children:[(0,B.jsx)(`span`,{className:`text-ink`,children:L(`class.${e.cls}`)}),` (`,e.steps.map(e=>`„${e.title}“`).join(`, `),`): `,e.problem]},e.cls))}),(0,B.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-x-3 gap-y-2`,children:[(0,B.jsx)(F,{size:`sm`,variant:`quiet`,onClick:()=>t(`/settings/models`),children:L(`editor.models.settings`)}),De===`connect`?(0,B.jsxs)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:[L(`teaser.models`),` `,(0,B.jsx)(`button`,{type:`button`,className:`font-medium text-ink underline underline-offset-2`,onClick:()=>t(`/settings/account`),children:L(`teaser.connect`)})]}):De===`use`?(0,B.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:L(`teaser.modelsLinked`)}):null]})]}):null,M?(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 text-[0.875rem] text-ink-3`,children:(0,B.jsx)(le,{chat:C,spinner:`size-4 text-ember`})}):(0,B.jsx)(wa,{def:A,selected:m,onSelect:Ae,issueSteps:be,activeStep:x?re:null,pulse:fe?.steps,wizardId:k.id})]}),(0,B.jsxs)(`aside`,{className:`relative flex h-[55vh] min-h-0 w-full shrink-0 flex-col bg-card shadow-[0_0_0_1px_var(--border-soft)] lg:h-auto lg:w-(--pane) lg:rounded-tl-3xl`,style:{"--pane":`${y.width}px`},children:[(0,B.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":L(`editor.resize`),"aria-valuenow":y.width,tabIndex:0,title:L(`editor.resize`),onPointerDown:y.onPointerDown,onKeyDown:y.onKeyDown,onDoubleClick:y.reset,className:`group -left-1.5 absolute inset-y-0 z-10 hidden w-5 cursor-col-resize outline-none lg:block`,children:(0,B.jsx)(`span`,{className:`-translate-y-1/2 absolute top-1/2 left-[9px] 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,B.jsx)(`nav`,{className:`flex shrink-0 gap-1 px-3 pt-3`,children:[`chat`,`step`,`files`,`runs`].map(e=>(0,B.jsx)(`button`,{type:`button`,onClick:()=>te(e),className:O(`h-9 rounded-full px-4 font-medium text-[0.8125rem] transition`,_===e?`bg-paper-2 text-ink`:`text-ink-3 hover:text-ink`),children:L($o[e])},e))}),(0,B.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:_===`chat`?(0,B.jsx)(ue,{chat:C,avatar:A.avatar,closed:Ee??void 0}):_===`step`?(0,B.jsx)(za,{def:A,selected:m,update:oe,onSelect:Ae,issues:k.issues,mcpServers:k.mcpServers,files:k.files,wizardId:k.id,readOnly:k.readOnly}):_===`files`?(0,B.jsx)(Tt,{wizardId:k.id,files:k.files,readOnly:k.readOnly}):(0,B.jsx)(Ha,{wizardId:k.id,onOpen:S})})]})]}),x?(0,B.jsx)(`div`,{className:`fixed inset-0 z-50 flex justify-end bg-[oklch(20%_0.01_60/0.22)] backdrop-blur-[1px]`,onClick:()=>S(null),children:(0,B.jsxs)(`div`,{className:`flex h-full w-full max-w-[680px] animate-rise flex-col bg-background shadow-overlay`,onClick:e=>e.stopPropagation(),children:[(0,B.jsxs)(`div`,{className:`flex h-14 shrink-0 items-center justify-between px-4`,children:[(0,B.jsx)(N,{children:`Test`}),(0,B.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,B.jsx)(F,{variant:`ghost`,size:`sm`,busy:E.isPending,disabled:P,onClick:()=>E.mutate(),children:L(`editor.restart`)}),(0,B.jsx)(j,{label:L(`editor.close`),onClick:()=>S(null),children:(0,B.jsx)(Ne,{className:`size-5`})})]})]}),(0,B.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,B.jsx)(v,{runId:x,compact:!0,onRestart:()=>E.mutate(),onView:ae},x)})]})}):null,(0,B.jsx)(Ko,{wizard:k,open:ne,onClose:()=>b(!1),publish:k.readOnly?void 0:{run:()=>D.mutate(),busy:D.isPending,disabled:P||M}})]})}export{os as EditorPage};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/FlowPreview-DdZKsXNh.js","assets/jsx-runtime-D3jfb0Ew.js","assets/ui-CHX2gEQl.js","assets/esm-Buv7Ma3z.js","assets/index-C5pRB5Ah.js","assets/api-DTLkC0ge.js","assets/preload-helper-CNEI7N0N.js","assets/createLucideIcon-q3MZMmnf.js","assets/engenty-Cm8yZLON.js","assets/index-DMwk_afK.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-D3jfb0Ew.js";import{A as r,F as i,I as a,K as o,M as s,N as c,O as l,d as u,g as d,j as f,n as p,nt as m,w as h}from"./api-DTLkC0ge.js";import{t as g}from"./preload-helper-CNEI7N0N.js";import{t as _}from"./createLucideIcon-q3MZMmnf.js";import{t as v}from"./arrow-right-6FyN3e7D.js";import{o as y,s as b,t as ee}from"./meta-CDimdOlV.js";import{t as x}from"./check-CUpby_J9.js";import{t as S}from"./chevron-down-DymW-2BP.js";import{n as C,r as w,t as T}from"./volume-2-Bp2tyaKE.js";import{n as te,r as E}from"./upload-DNRENWzQ.js";import{n as ne,t as re}from"./wand-sparkles-Clj3VRB5.js";import{t as D}from"./image-BShbErBm.js";import{n as ie,t as O}from"./video-9fDPRPCv.js";import{t as ae}from"./pen-line-NK46C_nG.js";import{n as k,t as oe}from"./table-2-BdDuBcF2.js";import{l as se,u as ce}from"./engenty-Cm8yZLON.js";import{_ as A,d as j,h as M,i as le,m as ue,n as de,r as fe,t as N,y as P}from"./ui-CHX2gEQl.js";import{A as pe,B as F,E as me,F as I,N as he,U as L,V as ge,j as _e,k as R,w as ve,z as ye}from"./index-C5pRB5Ah.js";import{t as be}from"./ImportWizard-CK9fXKct.js";var xe=class extends c{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type=`infinite`,super.setOptions(e)}getOptimisticResult(e){return e._type=`infinite`,super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`forward`}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`backward`}}})}createResult(e,t){let{state:n}=e,r=super.createResult(e,t),{isFetching:o,isRefetching:s,isError:c,isRefetchError:l}=r,u=n.fetchMeta?.fetchMore?.direction,d=c&&u===`forward`,f=o&&u===`forward`,p=c&&u===`backward`,m=o&&u===`backward`;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:i(t,n.data),hasPreviousPage:a(t,n.data),isFetchNextPageError:d,isFetchingNextPage:f,isFetchPreviousPageError:p,isFetchingPreviousPage:m,isRefetchError:l&&!d&&!p,isRefetching:s&&!f&&!m}}};function Se(e,t){return s(e,xe,t)}var z={name:`audio-lines`,size:24,node:[[`path`,{d:`M2 10v3`,key:`1fnikh`}],[`path`,{d:`M6 6v11`,key:`11sgs0`}],[`path`,{d:`M10 3v18`,key:`yhl04a`}],[`path`,{d:`M14 8v7`,key:`3a1oy3`}],[`path`,{d:`M18 5v13`,key:`123xd1`}],[`path`,{d:`M22 10v3`,key:`154ddg`}]]};z.node;var Ce=_(z),B={name:`chart-column`,size:24,node:[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M18 17V9`,key:`2bz60n`}],[`path`,{d:`M13 17V5`,key:`1frdt8`}],[`path`,{d:`M8 17v-3`,key:`17ska0`}]],aliases:[`bar-chart-3`]};B.node;var V=_(B),we={name:`circle-dollar-sign`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8`,key:`1h4pet`}],[`path`,{d:`M12 18V6`,key:`zqpxq5`}]]};we.node;var Te=_(we),Ee={name:`circle-euro`,size:24,node:[[`path`,{d:`M15 9.4a4 4 0 1 0 0 5.2`,key:`1makmb`}],[`path`,{d:`M7 12h5`,key:`gblrwe`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]};Ee.node;var De=_(Ee),Oe={name:`mouse-pointer-click`,size:24,node:[[`path`,{d:`M14 4.1 12 6`,key:`ita8i4`}],[`path`,{d:`m5.1 8-2.9-.8`,key:`1go3kf`}],[`path`,{d:`m6 12-1.9 2`,key:`mnht97`}],[`path`,{d:`M7.2 2.2 8 5.1`,key:`1cfko1`}],[`path`,{d:`M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z`,key:`s0h3yz`}]]};Oe.node;var ke=_(Oe),Ae={name:`scan-text`,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`}],[`path`,{d:`M7 8h8`,key:`1jbsf9`}],[`path`,{d:`M7 12h10`,key:`b7w52i`}],[`path`,{d:`M7 16h6`,key:`1vyc9m`}]]};Ae.node;var je=_(Ae),Me={name:`terminal`,size:24,node:[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]};Me.node;var Ne=_(Me),H=e(t(),1),U={text:{de:`Text`,en:`Text`},document:{de:`Dokument (PDF, Word)`,en:`Document (PDF, Word)`},table:{de:`Tabelle`,en:`Table`},image:{de:`Bild`,en:`Image`},video:{de:`Video`,en:`Video`},audio:{de:`Audio`,en:`Audio`},dashboard:{de:`Dashboard`,en:`Dashboard`}},Pe={any:{de:`Jede Branche`,en:`Any industry`},trades:{de:`Handwerk`,en:`Trades`},gastronomy:{de:`Gastronomie`,en:`Food service`},hospitality:{de:`Hotel & Tourismus`,en:`Hotels & tourism`},realEstate:{de:`Immobilien`,en:`Real estate`},retail:{de:`Handel`,en:`Retail`},health:{de:`Gesundheit`,en:`Health`},professional:{de:`Kanzlei & Beratung`,en:`Professional services`},agency:{de:`Agentur & Marketing`,en:`Agency & marketing`},events:{de:`Veranstaltungen`,en:`Events`},publicSector:{de:`Vereine & Öffentliches`,en:`Associations & public sector`}},Fe={marketing:{de:`Marketing & Social Media`,en:`Marketing & social media`},sales:{de:`Angebote & Verkauf`,en:`Offers & sales`},accounting:{de:`Buchhaltung & Belege`,en:`Accounting & receipts`},service:{de:`Kundenservice`,en:`Customer service`},research:{de:`Recherche & Analyse`,en:`Research & analysis`},hr:{de:`Personal & Bewerbungen`,en:`HR & applications`},operations:{de:`Planung & Abläufe`,en:`Planning & operations`},website:{de:`Helfer für die Website`,en:`Website helpers`}},W={text:{de:`Text schreiben`,en:`Writes text`},web:{de:`Websuche`,en:`Web search`},browser:{de:`Browser bedienen`,en:`Drives a browser`},documents:{de:`Dokumente & Fotos lesen`,en:`Reads documents & photos`},image:{de:`Bilder erzeugen`,en:`Makes images`},video:{de:`Videos erzeugen`,en:`Makes video`},speech:{de:`Sprachausgabe`,en:`Speech output`},listening:{de:`Sprachnotizen verstehen`,en:`Understands voice notes`},code:{de:`Code ausführen`,en:`Runs code`},connectors:{de:`Verbundene Konten & Systeme`,en:`Connected accounts & systems`}},Ie={low:{de:`günstig`,en:`low cost`},medium:{de:`mittel`,en:`medium cost`},high:{de:`teuer`,en:`high cost`}},G=e=>Object.keys(e);G(U),G(Pe),G(Fe),G(W);var K=e(n(),1),Le=(0,H.lazy)(()=>g(()=>import(`./FlowPreview-DdZKsXNh.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]))),Re={useCase:``,industry:``,format:``,capability:``},q=(e,t)=>e[t]?.[A]??t;function ze(e){if(e<1)return 1;let t=10**Math.floor(Math.log10(e));return Math.round(e/t)*t}function Be(e){return e.credits?P(`market.credits`,{n:ze(e.credits.credits)}):Ie[e.costTier][A]}var Ve={text:pe,document:I,table:oe,image:D,video:O,audio:Ce,dashboard:V};function J({format:e,className:t}){let n=Ve[e],r=q(U,e);return(0,K.jsx)(`span`,{title:r,className:`inline-flex`,children:(0,K.jsx)(n,{className:t,"aria-label":r,role:`img`})})}var Y=[`low`,`medium`,`high`];function X({entry:e}){let t=Y.indexOf(e.costTier)+1,n=A===`de`?De:Te;return(0,K.jsxs)(`span`,{title:Be(e),className:`inline-flex items-center gap-1`,children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex shrink-0`,children:Y.slice(0,t).map((e,t)=>(0,K.jsx)(`span`,{className:M(`rounded-full bg-(--coin-bg,var(--color-card))`,t>0&&`-ml-1.5`),children:(0,K.jsx)(n,{className:`size-4`})},e))}),Ie[e.costTier][A]]})}function He({entry:e,onOpen:t}){return(0,K.jsxs)(de,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:M(`relative flex min-h-[124px] cursor-pointer flex-col gap-5 p-4 text-left transition sm:min-h-[136px] sm:p-5 hover:shadow-elevated focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus`,(!e.usable||e.missing.length>0)&&`opacity-60`),children:[(0,K.jsx)(`span`,{className:`-top-4 pointer-events-none absolute right-4`,children:(0,K.jsx)(u,{kind:e.avatar,size:68,interactive:!1})}),(0,K.jsxs)(`div`,{className:`min-w-0 pr-20`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-1.5 font-display font-semibold text-[0.9375rem]`,children:[e.title,e.starred?(0,K.jsx)(k,{className:`size-3.5 shrink-0 fill-amber text-amber`,"aria-label":P(`market.starred`)}):null]}),(0,K.jsx)(`div`,{className:`mt-0.5 text-[0.8125rem] text-ink-3 leading-snug`,children:e.pitch})]}),(0,K.jsx)(`div`,{className:`mt-auto flex flex-wrap items-center gap-x-3 gap-y-1.5 text-[0.75rem] text-ink-3`,children:e.usable&&e.missing.length?(0,K.jsx)(fe,{tone:`warn`,children:P(`market.missing`,{list:Ue(e.missing)})}):e.usable?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,K.jsx)(F,{className:`size-3.5`}),` `,P(`market.minutes`,{n:e.effort.minutes})]}),(0,K.jsx)(X,{entry:e}),(0,K.jsx)(`span`,{className:`ml-auto inline-flex items-center gap-1.5`,children:e.formats.map(e=>(0,K.jsx)(J,{format:e,className:`size-4`},e))})]}):(0,K.jsx)(fe,{tone:`warn`,children:P(`market.needsUpdate`)})})]})}function Z({title:e,children:t}){return(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1.5 font-medium text-[0.75rem] text-ink-3 uppercase tracking-[0.06em]`,children:e}),t]})}var Ue=e=>e.map(e=>q(W,e)).join(`, `),We={text:ae,web:C,browser:ke,documents:je,image:D,video:O,speech:T,listening:ie,code:Ne,connectors:_e};function Ge(e){switch(e.type){case`page`:return he;case`agent`:return b;case`generate`:return e.asset===`image`?D:e.asset===`video`?O:e.asset===`voice`?T:e.asset===`dashboard`?V:I;case`widget`:return e.video?w:ge;case`review`:return ne;case`result`:return y}return re}function Ke(e){let t=new Set;for(let[n,r]of e.entries())for(let i of r.branches??[]){let r=i.to===`end`?e.length:e.findIndex(e=>e.id===i.to);for(let i=n+1;i<r;i++)t.add(e[i].id)}return t}function qe(e){let t=Ke(e);return e.map(e=>({id:e.id,title:e.title,icon:Ge(e),tone:ee[e.type]??`bg-paper-2 text-ink-2`,optional:t.has(e.id),branches:e.branches}))}function Q({title:e,children:t}){return(0,K.jsx)(`span`,{title:e,className:`inline-flex items-center gap-2 border-border border-l px-4 first:border-l-0 first:pl-0`,children:t})}function $({icon:e,children:t,more:n}){return(0,K.jsxs)(`div`,{className:`flex gap-2.5`,children:[(0,K.jsx)(`span`,{className:`mt-0.5 shrink-0`,children:e}),(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsx)(`div`,{className:`text-[0.875rem] text-ink leading-snug`,children:t}),n?(0,K.jsx)(`div`,{className:`text-[0.75rem] text-ink-3 leading-snug`,children:n}):null]})]})}function Je({className:e,children:t}){let n=(0,H.useRef)(null),[r,i]=(0,H.useState)({above:!1,below:!1});(0,H.useEffect)(()=>{let e=n.current;if(!e)return;let t=()=>{let t=e.scrollTop>1,n=e.scrollTop+e.clientHeight<e.scrollHeight-1;i(e=>e.above===t&&e.below===n?e:{above:t,below:n})};t(),e.addEventListener(`scroll`,t,{passive:!0});let r=new ResizeObserver(t);return r.observe(e),e.firstElementChild&&r.observe(e.firstElementChild),()=>{e.removeEventListener(`scroll`,t),r.disconnect()}},[]);let a=`linear-gradient(to bottom, ${r.above?`transparent`:`black`} 0, black 28px, black calc(100% - 44px), ${r.below?`transparent`:`black`} 100%)`;return(0,K.jsx)(`div`,{ref:n,className:e,style:{maskImage:a,WebkitMaskImage:a},children:(0,K.jsx)(`div`,{children:t})})}function Ye({id:e,fallback:t,onClose:n,onUse:r,busy:i}){let a=m(),o=l(),s=f({queryKey:[`marketplace-entry`,e,A],queryFn:()=>p.get(`/api/studio/marketplace/${encodeURIComponent(e)}?lang=${A}`),enabled:!!e,retry:!1}),c=s.data??t,h=L({mutationFn:t=>{let n=`/api/studio/marketplace/${encodeURIComponent(e)}/star`;return t?p.put(n):p.del(n)},onSuccess:()=>Promise.all([a.invalidateQueries({queryKey:[`marketplace`]}),a.invalidateQueries({queryKey:[`marketplace-entry`,e]})])}),g=d()===`dark`,_=se[ce[c?.avatar||`round`]],v=g?`var(--card)`:`color-mix(in oklch, ${_??`var(--ink-4)`} 14%, var(--paper-2))`;return(0,K.jsx)(le,{open:!!e,onClose:n,wide:!0,bare:!0,children:c?(0,K.jsxs)(`div`,{className:`relative flex max-h-[calc(100dvh-48px)] flex-col rounded-2xl bg-card shadow-overlay max-sm:h-dvh max-sm:max-h-none max-sm:rounded-none`,children:[(0,K.jsx)(`button`,{type:`button`,"aria-label":P(`common.close`),onClick:n,className:`sm:-top-3.5 sm:-right-3.5 absolute top-3 right-3 z-20 flex size-9 items-center justify-center rounded-full bg-card text-ink-2 shadow-elevated ring-1 ring-border-soft transition hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus`,children:(0,K.jsx)(R,{className:`size-4`})}),(0,K.jsxs)(`header`,{className:`relative shrink-0 border-border-soft border-b px-5 pt-5 pb-4 text-ink sm:rounded-t-2xl sm:px-7`,style:{background:v,"--coin-bg":v},children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0 overflow-hidden sm:rounded-t-2xl`,children:(0,K.jsx)(`span`,{className:M(`-top-28 -right-10 absolute size-80 rounded-full bg-white blur-3xl`,g?`opacity-[0.14]`:`opacity-80`)})}),(0,K.jsx)(`div`,{className:`-bottom-5 absolute right-9 z-10 max-sm:hidden`,children:(0,K.jsx)(u,{kind:c.avatar,size:104})}),(0,K.jsxs)(`div`,{className:`relative sm:pr-36`,children:[(0,K.jsx)(`h2`,{className:`font-display font-semibold text-[1.375rem] leading-tight tracking-tight max-sm:pr-10`,children:c.title}),(0,K.jsx)(`p`,{className:`mt-1 text-[0.875rem] text-ink-2 leading-snug`,children:s.data?.description||c.pitch})]}),c.usable?(0,K.jsxs)(`div`,{className:`-mx-5 sm:-mx-7 relative mt-3.5 flex flex-wrap items-center gap-y-2 border-border-soft border-t px-5 pt-3 font-medium text-[0.875rem] sm:px-7 sm:pr-40`,children:[(0,K.jsxs)(Q,{title:P(`market.duration`),children:[(0,K.jsx)(F,{className:`size-4 text-ink-3`}),P(`market.minutes`,{n:c.effort.minutes})]}),(0,K.jsx)(Q,{title:P(`market.cost`),children:(0,K.jsx)(X,{entry:c})}),(0,K.jsx)(Q,{title:P(`market.result`),children:c.formats.map(e=>(0,K.jsx)(J,{format:e,className:`size-4`},e))})]}):null]}),c.usable?(0,K.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-x-7 gap-y-6 px-5 pt-6 max-sm:overflow-y-auto max-sm:pb-4 sm:grid-cols-[230px_minmax(0,1fr)] sm:grid-rows-[minmax(0,1fr)] sm:px-7`,children:[(0,K.jsxs)(`div`,{className:`flex flex-col gap-5 sm:min-h-0 sm:overflow-y-auto`,children:[(0,K.jsx)(Z,{title:P(`market.duration`),children:(0,K.jsx)($,{icon:(0,K.jsx)(F,{className:`size-4 text-moss`}),more:P(`market.durationHint`,{n:c.effort.fields}),children:P(`market.minutes`,{n:c.effort.minutes})})}),(0,K.jsx)(Z,{title:P(`market.cost`),children:(0,K.jsx)($,{icon:(0,K.jsx)(E,{className:`size-4 text-amber`}),more:c.credits?P(`market.creditsHint`):void 0,children:(0,K.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-2`,children:[(0,K.jsx)(X,{entry:c}),c.credits?(0,K.jsx)(`span`,{className:`text-ink-2`,children:P(`market.creditsRange`,{n:ze(c.credits.credits)})}):null]})})}),(0,K.jsx)(Z,{title:P(`market.result`),children:(0,K.jsx)(`div`,{className:`flex flex-col gap-2`,children:(s.data?.results??[]).map(e=>(0,K.jsx)($,{icon:(0,K.jsx)(J,{format:e.kind,className:`size-4 text-ember-strong`}),more:e.formats.map(e=>e.toUpperCase()).join(` · `),children:e.title},e.title))})}),(0,K.jsx)(Z,{title:P(`market.needs`),children:(0,K.jsx)(`ul`,{className:`flex flex-col gap-2`,children:c.capabilities.map(e=>{let t=We[e],n=c.missing.includes(e);return(0,K.jsxs)(`li`,{className:M(`flex items-center gap-2.5 text-[0.875rem]`,n?`text-ink-3`:`text-ink-2`),children:[(0,K.jsx)(t,{className:M(`size-4 shrink-0`,n?`text-rose`:`text-cobalt`)}),q(W,e),n?(0,K.jsx)(`span`,{className:`text-[0.75rem] text-rose`,children:P(`market.unavailable`)}):null]},e)})})})]}),(0,K.jsxs)(`div`,{className:`flex flex-col sm:min-h-0`,children:[(0,K.jsx)(`div`,{className:`mb-1.5 shrink-0 font-medium text-[0.75rem] text-ink-3 uppercase tracking-[0.06em]`,children:P(`market.steps`)}),(0,K.jsx)(Je,{className:`-mr-2 overscroll-contain pt-1 pr-2 pl-1 sm:min-h-0 sm:flex-1 sm:overflow-y-auto`,children:s.isLoading?(0,K.jsx)(j,{className:`size-5 text-ink-3`}):(0,K.jsx)(H.Suspense,{fallback:(0,K.jsx)(j,{className:`size-5 text-ink-3`}),children:(0,K.jsx)(Le,{steps:qe(s.data?.outline??[])})})})]})]}):(0,K.jsx)(`div`,{className:`flex-1 px-5 pt-6 sm:px-7`,children:(0,K.jsx)(`p`,{className:`rounded-lg bg-amber-tint p-3 text-[0.875rem] text-ink-2`,children:P(`market.needsUpdateHint`)})}),(0,K.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 px-5 pt-4 pb-5 max-sm:border-border-soft max-sm:border-t sm:px-7 sm:pb-6`,children:[(0,K.jsxs)(N,{variant:`ghost`,className:`mr-auto`,title:P(`market.starHint`),"aria-pressed":c.starred,busy:h.isPending,onClick:()=>h.mutate(!c.starred),children:[(0,K.jsx)(k,{className:M(`size-4`,c.starred&&`fill-amber text-amber`)}),(0,K.jsx)(`span`,{className:`max-sm:sr-only`,children:P(c.starred?`market.starred`:`market.star`)})]}),(0,K.jsx)(N,{variant:`secondary`,onClick:n,children:P(`common.close`)}),c.usable&&c.missing.length?(0,K.jsx)(N,{variant:`secondary`,onClick:()=>o(`/settings/models`),children:P(`editor.models.settings`)}):null,r?(0,K.jsx)(N,{disabled:!c.usable||c.missing.length>0,title:c.missing.length?P(`market.missingHint`,{list:Ue(c.missing)}):void 0,busy:i,onClick:()=>r(c),children:P(`market.use`)}):null]})]}):(0,K.jsx)(`div`,{className:`flex min-h-48 flex-col items-center justify-center gap-3 rounded-2xl bg-card p-8 text-[0.875rem] text-ink-2 shadow-overlay`,children:s.isLoading?(0,K.jsx)(j,{className:`size-6 text-ink-3`}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`p`,{children:P(`market.notFound`)}),(0,K.jsx)(N,{variant:`secondary`,onClick:n,children:P(`common.close`)})]})})})}function Xe({name:e,value:t,options:n,onChange:r}){let[i,a]=(0,H.useState)(!1),o=(0,H.useRef)(null);(0,H.useEffect)(()=>{if(!i)return;let e=e=>{o.current?.contains(e.target)||a(!1)},t=e=>{e.key===`Escape`&&a(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[i]);let s=n.find(e=>e.value===t);return(0,K.jsxs)(`div`,{ref:o,className:`relative`,children:[(0,K.jsxs)(`div`,{className:M(`flex h-8 items-center rounded-full text-[0.8125rem] transition`,s?`bg-ember-tint text-ink`:`text-ink-2 hover:bg-paper-2 hover:text-ink`,i&&!s&&`bg-paper-2 text-ink`),children:[(0,K.jsx)(`button`,{type:`button`,"aria-haspopup":`listbox`,"aria-expanded":i,onClick:()=>a(!i),className:M(`flex h-full items-center gap-1.5 rounded-full pl-3 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus`,s?`pr-1`:`pr-2.5`),children:s?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{className:`text-ink-3`,children:e}),(0,K.jsx)(`span`,{className:`font-medium`,children:s.label})]}):(0,K.jsxs)(K.Fragment,{children:[e,(0,K.jsx)(S,{className:M(`size-3.5 transition`,i&&`rotate-180`)})]})}),s?(0,K.jsx)(`button`,{type:`button`,"aria-label":`${e}: ${P(`market.reset`)}`,onClick:()=>r(``),className:`mr-1 flex size-6 items-center justify-center rounded-full text-ink-3 hover:bg-card hover:text-ink`,children:(0,K.jsx)(R,{className:`size-3.5`})}):null]}),i?(0,K.jsx)(`div`,{role:`listbox`,"aria-label":e,className:`absolute top-full left-0 z-30 mt-1.5 max-h-80 min-w-60 overflow-y-auto rounded-xl bg-card p-1.5 shadow-overlay ring-1 ring-border-soft`,children:n.map(e=>(0,K.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":e.value===t,disabled:!e.count||e.unavailable,onClick:()=>{r(e.value===t?``:e.value),a(!1)},className:M(`flex w-full items-center gap-2.5 rounded-lg px-2.5 py-2 text-left text-[0.875rem] transition coarse:py-2.5`,e.count&&!e.unavailable?`text-ink-2 hover:bg-paper-2 hover:text-ink`:`text-ink-4`,e.value===t&&`font-medium text-ink`),children:[e.icon,(0,K.jsx)(`span`,{className:`flex-1 whitespace-nowrap`,children:e.label}),e.value===t?(0,K.jsx)(x,{className:`size-4 text-ember`}):e.unavailable?(0,K.jsx)(`span`,{className:`whitespace-nowrap text-[0.75rem] text-ink-4`,children:P(`market.unavailable`)}):(0,K.jsx)(`span`,{className:`text-[0.75rem] text-ink-4 tabular-nums`,children:e.count})]},e.value))}):null]})}function Ze(e,t){let[n,r]=(0,H.useState)(e);return(0,H.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n}var Qe=60;function $e({onUse:e,busy:t,open:n}){let[r,i]=(0,H.useState)(``),[a,s]=(0,H.useState)(Re),[c,l]=(0,H.useState)(!1),[u,d]=(0,H.useState)(n??null),f=Ze(r.trim(),250),m=Se({queryKey:[`marketplace`,A,f,a,c],queryFn:({pageParam:e})=>{let t=new URLSearchParams({lang:A,limit:String(Qe),offset:String(e)});f&&t.set(`q`,f);for(let[e,n]of Object.entries(a))n&&t.set(e,n);return c&&t.set(`starred`,`1`),p.get(`/api/studio/marketplace?${t}`)},initialPageParam:0,getNextPageParam:(e,t)=>{let n=t.reduce((e,t)=>e+t.entries.length,0);return n<e.total?n:void 0},placeholderData:o}),h=m.data?.pages[0],g=m.data?.pages.flatMap(e=>e.entries)??[],_=h?.all??0,v=r.trim()!==f||m.isFetching&&!m.isFetchingNextPage,y=(e,t,n)=>Object.keys(t).filter(t=>h?.facets[e]?.[t]!==void 0).map(r=>({value:r,label:q(t,r),icon:n?.(r),count:(h?.facets[e])[r]??0,unavailable:e===`capability`&&b.has(r)})),b=new Set(h?.unavailable??[]),ee=y(`useCase`,Fe),x=[{key:`industry`,name:P(`market.industry`),options:y(`industry`,Pe)},{key:`format`,name:P(`market.format`),options:y(`format`,U,e=>(0,K.jsx)(J,{format:e,className:`size-4 text-ink-3`}))},{key:`capability`,name:P(`market.capability`),options:y(`capability`,W,e=>{let t=We[e];return(0,K.jsx)(t,{className:`size-4 text-ink-3`})})}],S=!!r.trim()||c||Object.values(a).some(Boolean),C=()=>{s(Re),i(``),l(!1)};if(m.isLoading)return(0,K.jsx)(`div`,{className:`flex justify-center py-10`,children:(0,K.jsx)(j,{className:`size-6 text-ink-3`})});let w=h?.offline?(0,K.jsxs)(`p`,{className:`mt-4 flex items-center justify-center gap-2 text-[0.8125rem] text-ink-3`,children:[(0,K.jsx)(ye,{className:`size-4 shrink-0`}),P(`market.offline`)]}):null;if(!_&&!S)return w;let T=r?(0,K.jsx)(`button`,{type:`button`,"aria-label":P(`market.reset`),onClick:()=>i(``),className:`-mr-1.5 flex size-7 shrink-0 items-center justify-center rounded-full text-ink-3 hover:bg-paper-2 hover:text-ink`,children:(0,K.jsx)(R,{className:`size-4`})}):null,E=e=>M(`inline-flex h-7 shrink-0 items-center gap-1 whitespace-nowrap rounded-full px-2.5 text-[0.78125rem] transition`,e?`bg-card font-medium text-ink shadow-soft ring-1 ring-border-soft`:`text-ink-3 hover:bg-card/60 hover:text-ink`);return(0,K.jsxs)(`div`,{children:[(0,K.jsxs)(`label`,{className:`relative mx-auto flex h-10 max-w-md items-center gap-2.5 rounded-full bg-card px-4 shadow-soft ring-1 ring-border-soft transition focus-within:ring-2 focus-within:ring-focus sm:h-11`,children:[v?(0,K.jsx)(j,{className:`size-4 shrink-0 text-ink-3`}):(0,K.jsx)(te,{className:`size-4 shrink-0 text-ink-3`}),(0,K.jsx)(`input`,{type:`search`,value:r,onChange:e=>i(e.target.value),placeholder:P(`market.search`),"aria-label":P(`market.search`),className:`min-w-0 flex-1 bg-transparent text-[0.9375rem] outline-none placeholder:text-ink-4 [&::-webkit-search-cancel-button]:hidden`}),T]}),w,(0,K.jsxs)(`div`,{className:`max-sm:-mx-3 mt-4 flex gap-1 max-sm:overflow-x-auto max-sm:px-3 max-sm:[scrollbar-width:none] sm:flex-wrap sm:justify-center max-sm:[&::-webkit-scrollbar]:hidden`,children:[[{value:``,label:P(`market.all`)},...ee].map(e=>(0,K.jsx)(`button`,{type:`button`,"aria-pressed":!c&&a.useCase===e.value,onClick:()=>{l(!1),s({...a,useCase:e.value})},className:E(!c&&a.useCase===e.value),children:e.label},e.value)),(0,K.jsxs)(`button`,{type:`button`,"aria-pressed":c,onClick:()=>l(!c),className:E(c),children:[(0,K.jsx)(k,{className:M(`size-3.5`,c&&`fill-amber text-amber`)}),P(`market.starred`)]})]}),(0,K.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-x-1 gap-y-2 sm:mt-6`,children:[c?null:x.map(e=>(0,K.jsx)(Xe,{name:e.name,value:a[e.key],options:e.options,onChange:t=>s({...a,[e.key]:t})},e.key)),(0,K.jsxs)(`span`,{className:`ml-auto flex items-center gap-3 whitespace-nowrap pl-2 text-[0.8125rem] text-ink-3`,children:[S?(0,K.jsxs)(`button`,{type:`button`,onClick:C,className:`inline-flex items-center gap-1 text-ember-strong underline-offset-2 hover:underline`,children:[(0,K.jsx)(R,{className:`size-3.5 max-sm:size-4`}),(0,K.jsx)(`span`,{className:`max-sm:sr-only`,children:P(`market.resetShort`)})]}):null,S?(0,K.jsx)(`span`,{className:`tabular-nums sm:hidden`,children:P(`market.countOfShort`,{n:h?.total??0,all:_})}):null,(0,K.jsx)(`span`,{className:M(`tabular-nums`,S&&`max-sm:hidden`),children:S?P(`market.countOf`,{n:h?.total??0,all:_}):P(`market.count`,{n:_})})]})]}),g.length?(0,K.jsx)(`div`,{className:`mt-4 grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:g.map(e=>(0,K.jsx)(He,{entry:e,onOpen:()=>d(e.id)},e.id))}):(0,K.jsxs)(`div`,{className:`py-10 text-center text-[0.875rem] text-ink-3`,children:[(0,K.jsx)(`p`,{children:P(c?`market.noneStarred`:`market.none`)}),(0,K.jsx)(N,{variant:`ghost`,className:`mt-2`,onClick:C,children:P(`market.reset`)})]}),m.hasNextPage?(0,K.jsx)(`div`,{className:`mt-6 flex justify-center`,children:(0,K.jsx)(N,{variant:`secondary`,busy:m.isFetchingNextPage,onClick:()=>void m.fetchNextPage(),children:P(`market.more`)})}):null,(0,K.jsx)(Ye,{id:u,fallback:g.find(e=>e.id===u)??null,onClose:()=>d(null),onUse:e,busy:t})]})}var et={de:[`Stellenanzeige aus ein paar Stichworten, als PDF und LinkedIn-Post`,`Produktbeschreibung für den Onlineshop mit drei Bildvarianten`,`Wettbewerbsanalyse zu einer Firma mit Quellen`,`Lead aus einem Formular in unser CRM eintragen`],en:[`A job ad from a few keywords, as PDF and LinkedIn post`,`A shop product description with three image variants`,`A competitor analysis for a company, with sources`,`Put a lead from a form into our CRM`]};function tt(){let e=l(),t=m(),{project:n}=ve(),i=me(),[a,o]=(0,H.useState)(``),[s]=r(),c=L({mutationFn:e=>p.post(`/api/studio/wizards`,{projectId:n.id,starterId:e,lang:A}),onSuccess:async({id:n},r)=>{await t.invalidateQueries({queryKey:[`projects`]}),await t.invalidateQueries({queryKey:[`wizards`]}),e(r?`/edit/${n}`:`/edit/${n}?prompt=${encodeURIComponent(a.trim())}`)}}),d=()=>{a.trim()&&n&&c.mutate(void 0)};return!i||n?.readOnly?(0,K.jsx)(h,{to:`/`,replace:!0}):(0,K.jsxs)(`div`,{className:`animate-rise pt-4`,children:[(0,K.jsxs)(`div`,{className:`mx-auto max-w-2xl`,children:[(0,K.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,K.jsx)(u,{kind:`sprout`,size:150,fluffy:!0}),(0,K.jsx)(`h1`,{className:`mt-2 font-display font-semibold text-[2rem] leading-tight tracking-tight sm:text-[2.375rem]`,children:P(`new.title`)})]}),(0,K.jsxs)(`div`,{className:`mt-8 rounded-2xl bg-card p-2 shadow-elevated ring-1 ring-border-soft focus-within:ring-focus`,children:[(0,K.jsx)(ue,{autoFocus:!0,minRows:4,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&d()},placeholder:P(`new.placeholder`),className:`border-0 bg-transparent text-[1rem] shadow-none focus:ring-0`}),(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-2 pb-1`,children:[(0,K.jsx)(`span`,{className:`hidden text-[0.75rem] text-ink-4 sm:block`,children:P(`new.hint`)}),(0,K.jsxs)(N,{size:`md`,onClick:d,busy:c.isPending&&!c.variables,disabled:!a.trim(),children:[P(`new.build`),` `,(0,K.jsx)(v,{className:`size-4`})]})]})]}),(0,K.jsx)(`div`,{className:`mt-4 flex flex-wrap justify-center gap-2`,children:et[A].map(e=>(0,K.jsx)(`button`,{type:`button`,onClick:()=>o(e),className:`rounded-full bg-paper-2 px-3.5 py-1.5 text-[0.8125rem] text-ink-2 transition hover:bg-paper-3 hover:text-ink`,children:e},e))})]}),(0,K.jsxs)(`section`,{className:`mx-auto max-w-5xl`,children:[(0,K.jsx)(`h2`,{className:`mt-16 mb-5 text-center font-medium text-[0.8125rem] text-ink-3 uppercase tracking-[0.08em]`,children:P(`new.orStarter`)}),(0,K.jsx)($e,{open:s.get(`starter`),busy:c.isPending&&!!c.variables,onUse:e=>n&&!c.isPending&&c.mutate(e.id)}),c.error?(0,K.jsx)(`p`,{className:`mt-3 text-center text-[0.875rem] text-rose`,children:c.error.message}):null]}),(0,K.jsx)(`div`,{className:`mt-8 flex justify-center`,children:(0,K.jsx)(be,{variant:`ghost`,label:P(`new.import`)})})]})}export{tt as NewWizardPage};
|