wizards 0.1.11 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +3 -0
  2. package/apps/runtime/dist/agents/architect.js +6 -4
  3. package/apps/runtime/dist/app.js +38 -4
  4. package/apps/runtime/dist/auth/local-ticket.js +8 -5
  5. package/apps/runtime/dist/authoring/guide.js +10 -2
  6. package/apps/runtime/dist/cli/connect.js +531 -0
  7. package/apps/runtime/dist/cli/environment.js +8 -1
  8. package/apps/runtime/dist/cli/home.js +1 -0
  9. package/apps/runtime/dist/cli/main.js +17 -0
  10. package/apps/runtime/dist/cli/mcp.js +175 -0
  11. package/apps/runtime/dist/cli/setup.js +49 -0
  12. package/apps/runtime/dist/db/client.js +13 -0
  13. package/apps/runtime/dist/engine/runner.js +3 -0
  14. package/apps/runtime/dist/env.js +18 -4
  15. package/apps/runtime/dist/index.js +3 -0
  16. package/apps/runtime/dist/mcp/auth.js +26 -0
  17. package/apps/runtime/dist/mcp/flow-app.js +94 -0
  18. package/apps/runtime/dist/mcp/handler.js +15 -5
  19. package/apps/runtime/dist/mcp/seen.js +65 -0
  20. package/apps/runtime/dist/mcp/tools.js +158 -5
  21. package/apps/runtime/dist/plugins/discovery.js +144 -0
  22. package/apps/runtime/dist/plugins/events.js +40 -0
  23. package/apps/runtime/dist/plugins/loader.js +277 -0
  24. package/apps/runtime/dist/plugins/migrations.js +69 -0
  25. package/apps/runtime/dist/plugins/registry.js +105 -0
  26. package/apps/runtime/dist/routes/plugins.js +160 -0
  27. package/apps/runtime/dist/routes/runs.js +7 -3
  28. package/apps/runtime/dist/routes/studio.js +20 -0
  29. package/apps/runtime/dist/secrets/signing.js +21 -3
  30. package/apps/runtime/dist/services/runs.js +190 -28
  31. package/apps/runtime/dist/services/wizards.js +30 -4
  32. package/apps/runtime/dist/tools/index.js +2 -0
  33. package/apps/runtime/dist/tools/plugin.js +43 -0
  34. package/apps/web/dist/assets/ChangelogDialog-Co_9fs61.js +1 -0
  35. package/apps/web/dist/assets/ChatPanel-Br3nYkUc.js +1 -0
  36. package/apps/web/dist/assets/CreditsDialog-D3fZRqXH.js +1 -0
  37. package/apps/web/dist/assets/EditorPage-BSjQC6FE.js +2 -0
  38. package/apps/web/dist/assets/FlowPreview-CjUK5046.js +1 -0
  39. package/apps/web/dist/assets/HomePage-8v4HqIbP.js +1 -0
  40. package/apps/web/dist/assets/ImportWizard-DiV62Uno.js +1 -0
  41. package/apps/web/dist/assets/{LocalRuntime-DKqEzptp.js → LocalRuntime-CTyLGC98.js} +2 -2
  42. package/apps/web/dist/assets/NewWizardPage-BBL2yenw.js +2 -0
  43. package/apps/web/dist/assets/PublicRunner-BwtoEVlE.js +1 -0
  44. package/apps/web/dist/assets/RunnerView-DOizlTad.js +2 -0
  45. package/apps/web/dist/assets/SettingsPage-CBDv04YS.js +2 -0
  46. package/apps/web/dist/assets/SetupPage-CfXTOaIm.js +1 -0
  47. package/apps/web/dist/assets/SharePage-CgByqrAF.js +1 -0
  48. package/apps/web/dist/assets/api-KMi35npD.js +10 -0
  49. package/apps/web/dist/assets/{arrow-left-UpjOBfQp.js → arrow-left-hTN1VoH1.js} +1 -1
  50. package/apps/web/dist/assets/{arrow-right-CucQycEy.js → arrow-right-6FyN3e7D.js} +1 -1
  51. package/apps/web/dist/assets/changelog-03JgixQA.js +1 -0
  52. package/apps/web/dist/assets/check-CUpby_J9.js +1 -0
  53. package/apps/web/dist/assets/{createLucideIcon-DBu2Ovxj.js → createLucideIcon-q3MZMmnf.js} +1 -1
  54. package/apps/web/dist/assets/definition-DndaH5Ow.js +55 -0
  55. package/apps/web/dist/assets/engenty-Cm8yZLON.js +1 -0
  56. package/apps/web/dist/assets/esm-rJY59Ixx.js +7 -0
  57. package/apps/web/dist/assets/{external-link-CRg6DVdO.js → external-link-MAL7vJYj.js} +1 -1
  58. package/apps/web/dist/assets/{fluffy-engenty-CJ3wCQgT.js → fluffy-engenty-D7rFrNcJ.js} +2 -2
  59. package/apps/web/dist/assets/index-B9YVjvVY.css +1 -0
  60. package/apps/web/dist/assets/index-BmpnE7IO.js +10 -0
  61. package/apps/web/dist/assets/jsx-runtime-D3jfb0Ew.js +1 -0
  62. package/apps/web/dist/assets/meta-4R1Lnr25.js +1 -0
  63. package/apps/web/dist/assets/{mic-CeqQ89Dj.js → mic-Bvz4mA2j.js} +1 -1
  64. package/apps/web/dist/assets/oss-credits-roB62QJu.js +1 -0
  65. package/apps/web/dist/assets/{outputs-CHe6KRLc.js → outputs-COE_nvAw.js} +2 -2
  66. package/apps/web/dist/assets/plug-CLjyCoHB.js +1 -0
  67. package/apps/web/dist/assets/{plus-HA210wXA.js → plus-Du-Jx8aI.js} +1 -1
  68. package/apps/web/dist/assets/react-dom-DenslgJm.js +1 -0
  69. package/apps/web/dist/assets/session-B6-6VomQ.js +1 -0
  70. package/apps/web/dist/assets/type-Bj9H3eOK.js +1 -0
  71. package/apps/web/dist/assets/ui-Cs6lpsmj.js +1 -0
  72. package/apps/web/dist/assets/{upload-DsgLfQ3U.js → upload--J5bZhEM.js} +1 -1
  73. package/apps/web/dist/assets/{video-Dk1fuTDl.js → video-CjgmvRDk.js} +1 -1
  74. package/apps/web/dist/assets/{wand-sparkles-Bf97fs8T.js → wand-sparkles-CKxArWPY.js} +1 -1
  75. package/apps/web/dist/index.html +10 -7
  76. package/apps/web/dist/mcp/flow.html +748 -0
  77. package/modules/README.md +15 -0
  78. package/node_modules/@engenty-wizards/plugin-sdk/dist/index.d.ts +144 -0
  79. package/node_modules/@engenty-wizards/plugin-sdk/dist/index.js +4 -0
  80. package/node_modules/@engenty-wizards/plugin-sdk/dist/studio.d.ts +80 -0
  81. package/node_modules/@engenty-wizards/plugin-sdk/dist/studio.js +4 -0
  82. package/node_modules/@engenty-wizards/plugin-sdk/package.json +10 -0
  83. package/node_modules/@engenty-wizards/shared/dist/definition.d.ts +18 -6
  84. package/node_modules/@engenty-wizards/shared/dist/definition.js +22 -1
  85. package/package.json +6 -1
  86. package/plugin/.claude-plugin/plugin.json +1 -1
  87. package/plugin/skills/use-wizard/SKILL.md +18 -0
  88. package/apps/web/dist/assets/ChangelogDialog-DURK75KD.js +0 -1
  89. package/apps/web/dist/assets/ChatPanel-DZhZJZCP.js +0 -1
  90. package/apps/web/dist/assets/CreditsDialog-CLUOVBLG.js +0 -1
  91. package/apps/web/dist/assets/EditorPage-PGCEQdiC.js +0 -2
  92. package/apps/web/dist/assets/FlowPreview-CqJUNW13.js +0 -1
  93. package/apps/web/dist/assets/HomePage-CRkDMNM2.js +0 -1
  94. package/apps/web/dist/assets/ImportWizard-DX1YtFPv.js +0 -1
  95. package/apps/web/dist/assets/NewWizardPage-BPJrYi2m.js +0 -2
  96. package/apps/web/dist/assets/PublicRunner-B3T244Ry.js +0 -1
  97. package/apps/web/dist/assets/RunnerView-DgYaOHIH.js +0 -2
  98. package/apps/web/dist/assets/SettingsPage-LBVqEwXs.js +0 -2
  99. package/apps/web/dist/assets/SetupPage-DAyJs-hK.js +0 -1
  100. package/apps/web/dist/assets/SharePage-oKGavxJt.js +0 -1
  101. package/apps/web/dist/assets/api-DbPn6Dge.js +0 -10
  102. package/apps/web/dist/assets/changelog-BJkYErYt.js +0 -1
  103. package/apps/web/dist/assets/check-Bjx41xbB.js +0 -1
  104. package/apps/web/dist/assets/definition-cy7uvY5L.js +0 -55
  105. package/apps/web/dist/assets/engenty-CWIFpgKq.js +0 -1
  106. package/apps/web/dist/assets/esm-ZHEGGS6s.js +0 -7
  107. package/apps/web/dist/assets/index-BRy5sz4a.js +0 -10
  108. package/apps/web/dist/assets/index-CQ_q9iMO.css +0 -1
  109. package/apps/web/dist/assets/jsx-runtime-Dk72oS4N.js +0 -1
  110. package/apps/web/dist/assets/meta-2YMHa2hT.js +0 -1
  111. package/apps/web/dist/assets/oss-credits-cPuZUFHD.js +0 -1
  112. package/apps/web/dist/assets/type-BzYgVWKL.js +0 -1
  113. package/apps/web/dist/assets/ui-tO4ZXbfh.js +0 -1
@@ -1,2 +0,0 @@
1
- import{i as e,n as t,t as n}from"./jsx-runtime-Dk72oS4N.js";import{A as r,D as i,O as a,a as o,c as s,d as c,k as l,n as u,t as d,tt as f}from"./api-DbPn6Dge.js";import{t as p}from"./createLucideIcon-DBu2Ovxj.js";import{n as m,r as h,t as g}from"./RunnerView-DgYaOHIH.js";import{t as _}from"./arrow-left-UpjOBfQp.js";import{S as v,m as y,n as b}from"./outputs-CHe6KRLc.js";import{a as x,i as ee,n as S,r as C,s as w,t as T}from"./meta-2YMHa2hT.js";import{t as te}from"./check-Bjx41xbB.js";import{r as ne,t as re}from"./wand-sparkles-Bf97fs8T.js";import{i as ie,n as ae,t as oe}from"./ChatPanel-DZhZJZCP.js";import{n as se,t as E}from"./plus-HA210wXA.js";import{t as ce}from"./external-link-CRg6DVdO.js";import{n as D}from"./mic-CeqQ89Dj.js";import{c as le,i as ue,l as de,n as O,o as fe,p as pe,r as k,s as A,t as j}from"./definition-cy7uvY5L.js";import{t as M}from"./upload-DsgLfQ3U.js";import{a as me,c as N,d as he,g as ge,h as P,i as _e,l as F,m as I,o as L,p as R,r as z,s as B,t as V,u as H,v as U}from"./ui-tO4ZXbfh.js";import{d as ve,g as W,l as ye,n as be,p as xe,t as Se,u as Ce}from"./index-BRy5sz4a.js";import{a as we,c as Te,i as Ee,l as De,o as Oe,r as ke,s as Ae,t as je}from"./esm-ZHEGGS6s.js";import{r as Me}from"./LocalRuntime-DKqEzptp.js";var Ne={name:`chevron-left`,size:24,node:[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]};Ne.node;var Pe=p(Ne),Fe={name:`chevron-right`,size:24,node:[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]};Fe.node;var Ie=p(Fe),Le={name:`circle-alert`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]],aliases:[`alert-circle`]};Le.node;var Re=p(Le),ze={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`]};ze.node;var Be=p(ze),Ve={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`]};Ve.node;var He=p(Ve),Ue={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`]};Ue.node;var We=p(Ue),Ge={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`}]]};Ge.node;var Ke=p(Ge),qe={name:`minus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]};qe.node;var Je=p(qe),Ye={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`}]]};Ye.node;var Xe=p(Ye),Ze={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`}]]};Ze.node;var Qe=p(Ze),G=e(t(),1),K=n();function $e(e){return e.mime.startsWith(`image/`)?w:e.mime.includes(`json`)?He:e.mime===`text/html`||e.mime.includes(`javascript`)||e.mime===`text/css`?We:D}function et(e){return e<1024?`${e} B`:e<1048576?`${Math.round(e/1024)} KB`:`${(e/1048576).toFixed(1)} MB`}function tt({wizardId:e,files:t}){let n=f(),r=(0,G.useRef)(null),[i,a]=(0,G.useState)(!1),[o,s]=(0,G.useState)(!1),[c,l]=(0,G.useState)(null),d=`/api/studio/wizards/${e}/files`,p=()=>n.invalidateQueries({queryKey:[`wizard`,e]}),m=async e=>{if(e?.length){a(!0),l(null);try{for(let t of Array.from(e)){let e=await fetch(`${d}/${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){l(e.message)}finally{a(!1),await p()}}},h=async e=>{window.confirm(U(`files.confirmDelete`,{path:e}))&&(await u.del(`${d}/${e}`),await p())},g=t.reduce((e,t)=>e+t.size,0);return(0,K.jsxs)(`div`,{className:P(`flex min-h-full flex-col px-5 py-5`,o&&`bg-ember-veil`),onDragOver:e=>{e.preventDefault(),s(!0)},onDragLeave:()=>s(!1),onDrop:e=>{e.preventDefault(),s(!1),m(e.dataTransfer.files)},children:[(0,K.jsx)(`p`,{className:`text-[13px] text-ink-3 leading-relaxed`,children:U(`files.explain`)}),(0,K.jsxs)(`div`,{className:`mt-4 flex items-center gap-2`,children:[(0,K.jsxs)(`button`,{type:`button`,onClick:()=>r.current?.click(),className:`inline-flex h-9 items-center gap-1.5 rounded-full bg-paper-2 px-3.5 font-medium text-[13px] text-ink-2 hover:bg-paper-3 hover:text-ink`,children:[i?(0,K.jsx)(he,{className:`size-3.5`}):(0,K.jsx)(M,{className:`size-3.5`}),U(`files.upload`)]}),(0,K.jsx)(`span`,{className:`ml-auto text-[12px] text-ink-4`,children:U(`files.count`,{n:t.length,size:et(g)})}),(0,K.jsx)(`input`,{ref:r,type:`file`,multiple:!0,hidden:!0,onChange:e=>void m(e.target.files)})]}),c?(0,K.jsx)(`div`,{className:`mt-3 rounded-lg bg-rose-tint px-3 py-2 text-[13px] text-rose`,children:c}):null,(0,K.jsx)(`ul`,{className:`mt-4 flex flex-col`,children:t.map(e=>{let t=$e(e);return(0,K.jsxs)(`li`,{className:`group flex items-center gap-3 rounded-lg px-2 py-1.5 hover:bg-paper-2`,children:[(0,K.jsx)(t,{className:`size-4 shrink-0 text-ink-3`}),(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[12px]`,children:e.path}),(0,K.jsx)(`span`,{className:`text-[12px] text-ink-4 tabular-nums`,children:et(e.size)}),(0,K.jsx)(`a`,{href:`${d}/${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":U(`files.download`),children:(0,K.jsx)(xe,{className:`size-4`})}),(0,K.jsx)(L,{label:U(`files.delete`),className:`opacity-0 hover:text-rose group-hover:opacity-100`,onClick:()=>void h(e.path),children:(0,K.jsx)(y,{className:`size-4`})})]},e.path)})}),t.length===0?(0,K.jsx)(`div`,{className:`mt-6 rounded-xl border border-border border-dashed px-4 py-8 text-center text-[13px] text-ink-4`,children:U(`files.empty`)}):null]})}var nt=Object.defineProperty,rt=(e,t,n)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,it=(e,t)=>{for(var n in t)nt(e,n,{get:t[n],enumerable:!0})},at=(e,t,n)=>rt(e,typeof t==`symbol`?t:t+``,n),ot={};it(ot,{Graph:()=>q,alg:()=>yt});var st=Object.defineProperty,ct=(e,t)=>{for(var n in t)st(e,n,{get:t[n],enumerable:!0})},lt=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=ft(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=pt(this._isDirected,i,a,o);return i=u.v,a=u.w,Object.freeze(u),this._edgeObjs[l]=u,ut(this._preds[a],i),ut(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?mt(this._isDirected,e):ft(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?mt(this._isDirected,e):ft(this._isDirected,e,t,n))in this._edgeLabels}removeEdge(e,t,n){let r=arguments.length===1?mt(this._isDirected,e):ft(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],dt(this._preds[t],e),dt(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 ut(e,t){e[t]?e[t]++:e[t]=1}function dt(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function ft(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 pt(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 mt(e,t){return ft(e,t.v,t.w,t.name)}ct({},{read:()=>vt,write:()=>ht});function ht(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:gt(e),edges:_t(e)},n=e.graph();return n!==void 0&&(t.value=structuredClone(n)),t}function gt(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 _t(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 lt(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 yt={};ct(yt,{CycleException:()=>Pt,bellmanFord:()=>xt,components:()=>Ct,dijkstra:()=>Et,dijkstraAll:()=>Ot,findCycles:()=>At,floydWarshall:()=>Mt,isAcyclic:()=>It,postorder:()=>Bt,preorder:()=>Vt,prim:()=>Ht,shortestPaths:()=>Ut,tarjan:()=>kt,topsort:()=>Ft});var bt=()=>1;function xt(e,t,n,r){return St(e,String(t),n||bt,r||function(t){return e.outEdges(t)??[]})}function St(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 Ct(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 wt=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}},Tt=()=>1;function Et(e,t,n,r){return Dt(e,String(t),n||Tt,r||function(t){return e.outEdges(t)??[]})}function Dt(e,t,n,r){let i={},a=new wt,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 Ot(e,t,n){return e.nodes().reduce(function(r,i){return r[i]=Et(e,i,t,n),r},{})}function kt(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 At(e){return kt(e).filter(function(t){let n=t[0];return n?t.length>1||t.length===1&&(e.outEdges(n,n)??[]).length>0:!1})}var jt=()=>1;function Mt(e,t,n){return Nt(e,t||jt,n||function(t){return e.outEdges(t)??[]})}function Nt(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 Pt=class extends Error{constructor(e){super(e),this.name=`CycleException`}};function Ft(e){let t={},n={},r=[];function i(a){var o;if(a in n)throw new Pt;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 Pt;return r}function It(e){try{Ft(e)}catch(e){if(e instanceof Pt)return!1;throw e}return!0}function Lt(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=Rt(e,t,n===`post`,o,a,r,i)}),i}function Rt(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=Rt(e,t,n,r,i,a,o)}),n&&(o=a(o,t))),o}function zt(e,t,n){return Lt(e,t,n,function(e,t){return e.push(t),e},[])}function Bt(e,t){return zt(e,t,`post`)}function Vt(e,t){return zt(e,t,`pre`)}function Ht(e,t){var n;let r=new lt,i={},a=new wt,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 Ut(e,t,n,r){return Wt(e,t,n,r??(t=>e.outEdges(t)??[]))}function Wt(e,t,n,r){if(n===void 0)return Et(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 xt(e,t,n,r)}return Et(e,t,n,r)}var q=lt;function J(e,t,n,r){let i=r;for(;e.hasNode(i);)i=on(r);return n.dummy=t,e.setNode(i,n),i}function Gt(e){let t=new q().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 Kt(e){let t=new q({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 qt(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 Jt(e){let t=sn(en(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 Yt(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MAX_VALUE:n}),n=Y(Math.min,t);e.nodes().forEach(t=>{let r=e.node(t);Object.hasOwn(r,`rank`)&&(r.rank-=n)})}function Xt(e){let t=e.nodes().map(t=>e.node(t).rank).filter(e=>e!==void 0),n=Y(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 Zt(e,t,n,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),J(e,`border`,i,t)}function Qt(e,t=$t){let n=[];for(let r=0;r<e.length;r+=t){let i=e.slice(r,r+t);n.push(i)}return n}var $t=65535;function Y(e,t){return t.length>$t?e(...Qt(t).map(t=>e(...t))):e(...t)}function en(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MIN_VALUE:n});return Y(Math.max,t)}function tn(e,t){let n={lhs:[],rhs:[]};return e.forEach(e=>{t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function nn(e,t){let n=Date.now();try{return t()}finally{console.log(e+` time: `+(Date.now()-n)+`ms`)}}function rn(e,t){return t()}var an=0;function on(e){return e+(``+ ++an)}function sn(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 cn(e,t){let n={};for(let r of t)e[r]!==void 0&&(n[r]=e[r]);return n}function ln(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 un(e,t){return e.reduce((e,n,r)=>(e[n]=t[r],e),{})}var dn=`\0`;function fn(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`,mn=class{constructor(){at(this,`_sentinel`);let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return hn(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&hn(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,gn)),n=n._prev;return`[`+e.join(`, `)+`]`}};function hn(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function gn(e,t){if(e!==`_next`&&e!==`_prev`)return t}var _n=mn,vn=()=>1;function yn(e,t){if(e.nodeCount()<=1)return[];let n=Sn(e,t||vn);return bn(n.graph,n.buckets,n.zeroIdx).flatMap(t=>e.outEdges(t.v,t.w)||[])}function bn(e,t,n){let r=[],i=t[t.length-1],a=t[0],o;for(;e.nodeCount();){for(;o=a.dequeue();)xn(e,t,n,o);for(;o=i.dequeue();)xn(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(xn(e,t,n,o,!0)||[]);break}}}return r}function xn(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,Cn(t,n,s)}),(e.outEdges(r.v)||[]).forEach(r=>{let i=e.edge(r),a=r.w,o=e.node(a);o.in-=i,Cn(t,n,o)}),e.removeNode(r.v),o}function Sn(e,t){let n=new q,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=wn(i+r+3).map(()=>new _n),o=r+1;return n.nodes().forEach(e=>{Cn(a,o,n.node(e))}),{graph:n,buckets:a,zeroIdx:o}}function Cn(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 wn(e){let t=[];for(let n=0;n<e;n++)t.push(n);return t}function Tn(e,t){(e.graph().acyclicer===`greedy`?yn(e,n(e)):En(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 En(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&&On(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 Dn(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 On(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 kn(e){e.graph().dummyChains=[],e.edges().forEach(t=>An(e,t))}function An(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=J(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 jn(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 Mn(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=Y(Math.min,o);return s===1/0&&(s=0),i.rank=s}e.sources().forEach(n)}function X(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var Nn=Pn;function Pn(e){let t=new q({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(;Fn(t,e)<i&&(a=In(t,e),a);)o=t.hasNode(a.v)?X(e,a):-X(e,a),Ln(t,e,o);return t}function Fn(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)&&!X(t,i)&&(e.setNode(o,{}),e.setEdge(r,o,{}),n(o))})}return e.nodes().forEach(n),e.nodeCount()}function In(e,t){return t.edges().reduce((n,r)=>{let i=1/0;return e.hasNode(r.v)!==e.hasNode(r.w)&&(i=X(t,r)),i<n[0]?[i,r]:n},[1/0,null])[1]}function Ln(e,t,n){e.nodes().forEach(e=>t.node(e).rank+=n)}var{preorder:Rn,postorder:zn}=yt,Bn=Z;Z.initLowLimValues=Wn,Z.initCutValues=Vn,Z.calcCutValue=Un,Z.leaveEdge=Kn,Z.enterEdge=qn,Z.exchangeEdges=Jn;function Z(e){e=Gt(e),Mn(e);let t=Nn(e);Wn(t),Vn(t,e);let n,r;for(;n=Kn(t);)r=qn(t,e,n),Jn(t,e,n,r)}function Vn(e,t){let n=zn(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(n=>Hn(e,t,n))}function Hn(e,t,n){let r=e.node(n).parent,i=e.edge(n,r);i.cutvalue=Un(e,t,n)}function Un(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,Xn(e,n,c)){let t=e.edge(n,c).cutvalue;o+=r?-t:t}}}),o}function Wn(e,t){arguments.length<2&&(t=e.nodes()[0]),Gn(e,{},1,t)}function Gn(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=Gn(e,t,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function Kn(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function qn(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===Zn(e,e.node(t.v),s)&&c!==Zn(e,e.node(t.w),s)).reduce((e,n)=>X(t,n)<X(t,e)?n:e)}function Jn(e,t,n,r){let i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),Wn(e),Vn(e,t),Yn(e,t)}function Yn(e,t){let n=e.nodes().find(t=>!e.node(t).parent);if(!n)return;let r=Rn(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 Xn(e,t,n){return e.hasEdge(t,n)}function Zn(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var Qn=$n;function $n(e){let t=e.graph().ranker;if(typeof t==`function`)return t(e);switch(t){case`network-simplex`:nr(e);break;case`tight-tree`:tr(e);break;case`longest-path`:er(e);break;case`none`:break;default:nr(e)}}var er=Mn;function tr(e){Mn(e),Nn(e)}function nr(e){Bn(e)}var rr=ir;function ir(e){let t=or(e),n=e.graph();Array.isArray(n.dummyChains)&&n.dummyChains.forEach(n=>{let r=e.node(n),i=r.edgeObj,a=ar(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 ar(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 or(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(dn).forEach(r),t}function sr(e){let t=J(e,`root`,{},`_root`),n=lr(e),r=Object.values(n),i=Y(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=t,e.edges().forEach(t=>e.edge(t).minlen*=a);let o=ur(e)+1;e.children(dn).forEach(r=>{cr(e,t,a,o,i,n,r)}),e.graph().nodeRankFactor=a}function cr(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=Zt(e,`_bt`),l=Zt(e,`_bb`),u=e.node(o);e.setParent(c,o),u.borderTop=c,e.setParent(l,o),u.borderBottom=l,s.forEach(s=>{cr(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 lr(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(dn).forEach(e=>n(e,1)),t}function ur(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function dr(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(t=>{e.edge(t).nestingEdge&&e.removeEdge(t)})}var fr=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)mr(e,`borderLeft`,`_bl`,n,i,t),mr(e,`borderRight`,`_br`,n,i,t)}}e.children(dn).forEach(t)}function mr(e,t,n,r,i,a){let o={width:0,height:0,rank:a,borderType:t},s=i[t][a-1],c=J(e,`border`,o,n);i[t][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}function hr(e){let t=e.graph().rankdir?.toLowerCase();(t===`lr`||t===`rl`)&&_r(e)}function gr(e){let t=e.graph().rankdir?.toLowerCase();(t===`bt`||t===`rl`)&&yr(e),(t===`lr`||t===`rl`)&&(xr(e),_r(e))}function _r(e){e.nodes().forEach(t=>vr(e.node(t))),e.edges().forEach(t=>vr(e.edge(t)))}function vr(e){let t=e.width;e.width=e.height,e.height=t}function yr(e){e.nodes().forEach(t=>br(e.node(t))),e.edges().forEach(t=>{var n;let r=e.edge(t);(n=r.points)==null||n.forEach(br),Object.hasOwn(r,`y`)&&br(r)})}function br(e){e.y=-e.y}function xr(e){e.nodes().forEach(t=>Sr(e.node(t))),e.edges().forEach(t=>{var n;let r=e.edge(t);(n=r.points)==null||n.forEach(Sr),Object.hasOwn(r,`x`)&&Sr(r)})}function Sr(e){let t=e.x;e.x=e.y,e.y=t}function Cr(e,t=null){let n={},r=e.nodes().filter(t=>!e.children(t).length),i=r.map(t=>e.node(t).rank),a=sn(Y(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 fn(t,e.node(n),e.node(r))}return a}function wr(e,t){let n=0;for(let r=1;r<t.length;++r)n+=Tr(e,t[r-1],t[r]);return n}function Tr(e,t,n){let r=un(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 Er(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 Dr(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))}),Or(Object.values(n).filter(e=>!e.indegree))}function Or(e){let t=[];function n(e){return t=>{t.merged||(t.barycenter===void 0||e.barycenter===void 0||t.barycenter>=e.barycenter)&&kr(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=>cn(e,[`vs`,`i`,`barycenter`,`weight`]))}function kr(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 Ar(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=tn(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(Mr(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=jr(f,d,h),u.forEach(e=>{h+=e.vs.length,f.push(e.vs),p+=e.barycenter*e.weight,m+=e.weight,h=jr(f,d,h)});let g={vs:f.flat(1)};return m&&(g.barycenter=p/m,g.weight=m),g}function jr(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 Mr(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=fn(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 Nr(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=Er(e,l);m.forEach(t=>{if(e.children(t.v).length){let{result:r}=Nr(e,t.v,n,s,c);p[t.v]=r,Object.hasOwn(r,`barycenter`)&&Fr(t,r)}});let h=Dr(m,n);Pr(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=Ar(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 Pr(e,t){e.forEach(e=>{e.vs=e.vs.flatMap(e=>t[e]?t[e].vs:e)})}function Fr(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 Ir(e,t,n,r){r||=e.nodes();let i=Lr(e),a=new q({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 Lr(e){let t;for(;e.hasNode(t=on(`_root`)););return t}function Rr(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 zr(e,t={},n=null){if(typeof t.customOrder==`function`){t.customOrder(e,zr);return}let r=en(e),i=Br(e,sn(1,r+1),`inEdges`),a=Br(e,sn(r-1,-1,-1),`outEdges`),o=Cr(e,n);if(Hr(e,o),t.disableOptimalOrderHeuristic)return;let s=1/0,c,l=t.constraints||[];for(let t=0,r=0;r<4;++t,++r){Vr(t%2?i:a,t%4>=2,l,n),o=Jt(e);let u=wr(e,o);u<s?(r=0,c=Object.assign({},o),s=u):u===s&&(c=structuredClone(o))}Hr(e,c)}function Br(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 Ir(e,t,n,r.get(t)||[])})}function Vr(e,t,n,r){let i=!0,a=new q;e.forEach(function(e){n.forEach(e=>a.setEdge(e.left,e.right));let o=e.graph().root,{result:s,usedBias:c}=Nr(e,o,a,r,i);t&&c&&(i=!i),s.vs.forEach((t,n)=>e.node(t).order=n),Rr(e,a,s.vs)})}function Hr(e,t){Object.values(t).forEach(t=>t.forEach((t,n)=>e.node(t).order=n))}function Ur(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=Gr(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)&&Kr(n,r,t)})}),a=c+1,i=u)}),r}return t.length&&t.reduce(r),n}function Wr(e,t){let n={};function r(t,r,i,a,o){sn(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)&&Kr(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 Gr(e,t){if(e.node(t).dummy){let n=e.predecessors(t);if(n)return n.find(t=>e.node(t).dummy)}}function Kr(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 qr(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 Jr(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)||ri(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=>ri(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&&!qr(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 Yr(e,t,n,r,i=!1){let a={},o=Xr(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 Xr(e,t,n,r){let i=new q,a=e.graph(),o=ti(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 Zr(e,t){return Object.values(t).reduce((t,n)=>{let r=-1/0,i=1/0;Object.entries(n).forEach(([t,n])=>{let a=ni(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 Qr(e,t){let n=Object.values(t),r=Y(Math.min,n),i=Y(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-Y(Math.min,c);a!==`l`&&(l=i-Y(Math.max,c)),l&&(e[o]=ln(s,e=>e+l))})})}function $r(e,t=void 0){let n=e.ul;return n?ln(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 ei(e,t){let n=Jt(e),r=Object.assign(Ur(e,n),Wr(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=Jr(e,a,r,t=>(o===`u`?e.predecessors(t):e.successors(t))||[],t),c=Yr(e,a,s.root,s.align,n===`r`);n===`r`&&(c=ln(c,e=>-e)),i[o+n]=c})}),Qr(i,Zr(e,i)),$r(i,e.graph().align)}function ti(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 ni(e,t){return e.node(t).width}function ri(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 ii(e,t){e=Kt(e),ai(e),Object.entries(ei(e,t)).forEach(([t,n])=>e.node(t).x=n)}function ai(e){let t=Jt(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 oi=new WeakMap;function si(e,t={}){return li(e,rn,t),e}function ci(e,t,n){let r=t;for(;r!==void 0;){let t=e.parent(r);if(t===n)return r;r=t}}function li(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 q({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=ci(e,t.v,r),i=ci(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)}))}}),li(o,t,n);let l=bi(o);ui(l,t,n,null),di(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=bi(e),g=ui(h,t,n,oi.get(e)??null);oi.set(e,g),di(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 ui(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`,()=>xi(e)),t(` removeSelfEdges`,()=>Ai(e)),t(` acyclic`,()=>Tn(e,s)),t(` nestingGraph.run`,()=>sr(e)),t(` rank`,()=>Qn(Kt(e))),t(` injectEdgeLabelProxies`,()=>Si(e)),t(` removeEmptyRanks`,()=>Xt(e)),t(` nestingGraph.cleanup`,()=>dr(e)),t(` normalizeRanks`,()=>Yt(e)),t(` assignRankMinMax`,()=>Ci(e)),t(` removeEdgeLabelProxies`,()=>wi(e)),t(` normalize.run`,()=>kn(e)),t(` parentDummyChains`,()=>rr(e)),t(` addBorderSegments`,()=>fr(e)),t(` order`,()=>zr(e,n,c)),t(` insertSelfEdges`,()=>ji(e)),t(` adjustCoordinateSystem`,()=>hr(e)),t(` position`,()=>ii(e,n.corePath)),t(` positionSelfEdges`,()=>Mi(e));let l=JSON.parse(JSON.stringify(e._nodes));return t(` removeBorderNodes`,()=>ki(e)),t(` normalize.undo`,()=>jn(e)),t(` fixupEdgeLabelCoords`,()=>Di(e)),t(` undoCoordinateSystem`,()=>gr(e)),t(` translateGraph`,()=>Ti(e)),t(` assignNodeIntersects`,()=>Ei(e)),t(` reversePoints`,()=>Oi(e)),t(` acyclic.undo`,()=>Dn(e)),{graph:e,rawNodes:l}}function di(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 fi=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],pi={ranksep:50,edgesep:20,nodesep:50,rankdir:`TB`,rankalign:`center`},mi=[`acyclicer`,`ranker`,`rankdir`,`align`,`rankalign`],hi=[`width`,`height`,`rank`],gi={width:0,height:0},_i=[`minlen`,`weight`,`width`,`height`,`labeloffset`],vi={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},yi=[`labelpos`];function bi(e){let t=new q({multigraph:!0,compound:!0}),n=Pi(e.graph());return t.setGraph(Object.assign({},pi,Ni(n,fi),cn(n,mi))),e.nodes().forEach(n=>{let r=Ni(Pi(e.node(n)),hi);Object.keys(gi).forEach(e=>{r[e]===void 0&&(r[e]=gi[e])}),t.setNode(n,r);let i=e.parent(n);i!==void 0&&t.setParent(n,i)}),e.edges().forEach(n=>{let r=Pi(e.edge(n));t.setEdge(n,Object.assign({},vi,Ni(r,_i),cn(r,yi)))}),t}function xi(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 Si(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let n=e.node(t.v);J(e,`edge-proxy`,{rank:(e.node(t.w).rank-n.rank)/2+n.rank,e:t},`_ep`)}})}function Ci(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 wi(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 Ti(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 Ei(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(qt(r,a)),n.points.push(qt(i,o))})}function Di(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 Oi(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function ki(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 Ai(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 ji(e){Jt(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=>{J(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 Mi(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 Ni(e,t){return ln(cn(e,t),Number)}function Pi(e){let t={};return e&&Object.entries(e).forEach(([e,n])=>{typeof e==`string`&&(e=e.toLowerCase()),t[e]=n}),t}function Fi(e){let t=Jt(e),n=new q({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 Ii={graphlib:ot,version:pn,layout:si,debug:Fi,util:{time:nn,notime:rn}};function Li(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 r({queryKey:[`estimate`,e,n],queryFn:()=>u.get(`/api/studio/wizards/${e}/estimate`),staleTime:3e4,refetchOnMount:`always`})}var Ri=e=>e<10?e.toLocaleString(void 0,{maximumFractionDigits:1}):Math.round(e).toLocaleString();function zi({estimate:e,stepId:t}){let n=e?.available?e.steps[t]:void 0;return n?(0,K.jsxs)(`p`,{className:`text-[12px] text-ink-3 tabular-nums`,children:[U(`estimate.step`,{n:Ri(n.credits),high:Ri(n.high)}),` · `,n.measured?U(`estimate.measured`):U(`estimate.formula`)]}):null}function Bi({model:e,effort:t,onChange:n}){let r=U(`class.effortAuto`);return(0,K.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,K.jsx)(N,{children:U(`class.label`)}),(0,K.jsx)(H,{value:e??`high`,onChange:e=>n({model:e,effort:t}),options:fe.map(e=>({value:e,label:U(`class.${e}`)}))}),(0,K.jsx)(`p`,{className:`text-[12px] text-ink-3`,children:U(`class.${e??`high`}.hint`)}),(0,K.jsx)(N,{children:U(`class.effort`)}),(0,K.jsx)(F,{value:t?U(`class.effort.${t}`):r,options:[r,...O.map(e=>U(`class.effort.${e}`))],onChange:t=>n({model:e,effort:O.find(e=>U(`class.effort.${e}`)===t)})})]})}var Vi=280,Hi=92;function Ui({data:e}){let{step:t,selected:n,issue:r,active:i,pulse:a,cost:o}=e,s=S(t);return(0,K.jsxs)(`div`,{className:P(`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,K.jsx)(`span`,{className:`-top-1 -right-1 absolute size-3 animate-breathe rounded-full bg-moss`}):a?(0,K.jsx)(`span`,{className:`-top-1 -right-1 absolute size-3 animate-breathe rounded-full bg-ember`}):null,(0,K.jsx)(ke,{type:`target`,position:Te.Top}),(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`span`,{className:P(`inline-flex size-6 items-center justify-center rounded-md`,T[t.type]),children:(0,K.jsx)(s,{className:`size-3.5`})}),(0,K.jsx)(`span`,{className:`font-medium text-[11px] text-ink-3 uppercase tracking-[0.07em]`,children:x(t)}),r?(0,K.jsx)(Re,{className:`ml-auto size-4 text-rose`}):o===null?null:(0,K.jsxs)(`span`,{className:`ml-auto text-[11px] text-ink-3 tabular-nums`,children:[`≈`,` `,o<10?o.toLocaleString(void 0,{maximumFractionDigits:1}):Math.round(o),` `,`cr`]})]}),(0,K.jsx)(`div`,{className:`mt-1.5 truncate font-display font-semibold text-[15px] text-ink`,children:t.title}),(0,K.jsx)(`div`,{className:`truncate text-[12px] text-ink-3`,children:C(t)||`\xA0`}),(0,K.jsx)(ke,{type:`source`,position:Te.Bottom})]})}function Wi({data:e}){return(0,K.jsxs)(`div`,{className:P(`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,K.jsx)(c,{kind:e.avatar,size:40,interactive:!1}),(0,K.jsx)(`span`,{className:`truncate font-display font-semibold text-[15px]`,children:e.title}),(0,K.jsx)(ke,{type:`source`,position:Te.Bottom})]})}function Gi(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]=De({sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o,targetPosition:s});return(0,K.jsx)(je,{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,K.jsx)(je,{path:u,labelX:t.labelX,labelY:t.labelY,...c})}var Ki={step:Ui,start:Wi},qi={branch:Gi},Ji=34,Yi={};function Xi(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 U(`editor.whenFilled`,{field:e.when.field});case`empty`:return U(`editor.whenEmpty`,{field:e.when.field})}}function Zi(e,t,n,r,i,a){let o=new Ii.graphlib.Graph;o.setGraph({rankdir:`TB`,nodesep:48,ranksep:46,marginx:20,marginy:20}),o.setDefaultEdgeLabel(()=>({})),o.setNode(`__start`,{width:Vi,height:52});for(let t of e.steps)o.setNode(t.id,{width:Vi,height:Hi});let s=[],c={markerEnd:{type:Ae.ArrowClosed,width:14,height:14,color:`var(--ink-4)`}};e.steps[0]&&(o.setEdge(`__start`,e.steps[0].id),s.push({id:`e-start`,source:`__start`,target:e.steps[0].id,...c})),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)??[],Xi(n)]);for(let[e,n]of i){let r=n.join(` · `),i=r.length>Ji?`${r.slice(0,33)}…`:r;o.setEdge(t.id,e,{width:i.length*6.2+16,height:22,labelpos:`c`}),s.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`},...c})}r&&t.type!==`result`&&(o.hasEdge(t.id,r.id)||o.setEdge(t.id,r.id),s.push({id:`n-${t.id}`,source:t.id,target:r.id,...t.next?.length?{label:U(`editor.otherwise`),labelStyle:{fontSize:11,fill:`var(--ink-3)`},labelBgStyle:{fill:`var(--background)`}}:{},...c}))}),Ii.layout(o);for(let e of s){if(e.type!==`branch`)continue;let t=o.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:o.node(`__start`).x-Vi/2,y:o.node(`__start`).y-26},data:{title:e.title,avatar:e.avatar,selected:t===`__wizard`},draggable:!1},...e.steps.map((e,s)=>{let c=o.node(e.id);return{id:e.id,type:`step`,position:{x:c.x-Vi/2,y:c.y-Hi/2},data:{step:e,selected:t===e.id,issue:n.has(e.id),index:s,active:r===e.id,pulse:i.includes(e.id),cost:a[e.id]?.credits??null},draggable:!1}})],edges:s}}function Qi(){let e=Oe(),t=`inline-flex size-8 items-center justify-center rounded-full text-ink-3 hover:bg-accent hover:text-ink`;return(0,K.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,K.jsx)(`button`,{type:`button`,className:t,onClick:()=>e.zoomOut(),"aria-label":`Zoom out`,children:(0,K.jsx)(Je,{className:`size-4`})}),(0,K.jsx)(`button`,{type:`button`,className:t,onClick:()=>e.fitView({padding:.2,duration:300}),"aria-label":`Fit`,children:(0,K.jsx)(Qe,{className:`size-4`})}),(0,K.jsx)(`button`,{type:`button`,className:t,onClick:()=>e.zoomIn(),"aria-label":`Zoom in`,children:(0,K.jsx)(E,{className:`size-4`})})]})}var $i=.8;function ea({def:e,selected:t,onSelect:n,issueSteps:r,activeStep:i,pulse:a,wizardId:o}){let s=Li(o,e),c=s.data?.available?s.data.steps:Yi,{nodes:l,edges:u}=(0,G.useMemo)(()=>Zi(e,t,r,i,a??[],c),[e,t,r,i,a,c]),d=Oe(),f=(0,G.useRef)(null),p=e.steps.map(e=>e.id).join(`|`);return(0,G.useEffect)(()=>{let e=requestAnimationFrame(()=>{let e=f.current;if(!e||!l.length)return;let t=l.map(e=>e.position.x),n=l.map(e=>e.position.y),r={x:Math.min(...t),y:Math.min(...n),width:Math.max(...t)+Vi-Math.min(...t),height:Math.max(...n)+Hi-Math.min(...n)},i=Math.min(e.clientWidth/(r.width*1.2),e.clientHeight/(r.height*1.15),1),a=Math.max(i,$i),o=(e.clientWidth-r.width*a)/2-r.x*a,s=i>=$i?(e.clientHeight-r.height*a)/2-r.y*a:24-r.y*a;d.setViewport({x:o,y:s,zoom:a},{duration:400})});return()=>cancelAnimationFrame(e)},[p,d]),(0,K.jsx)(`div`,{ref:f,className:`h-full w-full`,children:(0,K.jsx)(we,{nodes:l,edges:u,nodeTypes:Ki,edgeTypes:qi,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,K.jsx)(Qi,{})})})}function ta(e){return(0,K.jsx)(Ee,{children:(0,K.jsx)(ea,{...e})})}var na={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 ra(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}}function Q({title:e,children:t}){return(0,K.jsxs)(`div`,{className:`border-border-soft border-t px-5 py-5 first:border-t-0`,children:[e?(0,K.jsx)(`h4`,{className:`mb-3 font-medium text-[12px] text-ink-3 uppercase tracking-[0.07em]`,children:e}):null,(0,K.jsx)(`div`,{className:`flex flex-col gap-4`,children:t})]})}function ia(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,G.useState)(!1);return(0,K.jsxs)(`div`,{className:`rounded-lg bg-paper ring-1 ring-border-soft`,children:[(0,K.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,K.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-[14px]`,children:[t.label,t.required?(0,K.jsx)(`span`,{className:`ml-1 text-ember`,children:`*`}):null]}),(0,K.jsx)(`span`,{className:`text-[12px] text-ink-4`,children:na[t.kind]}),(0,K.jsx)(ne,{className:P(`size-4 text-ink-4 transition`,a&&`rotate-180`)})]}),a?(0,K.jsxs)(`div`,{className:`flex flex-col gap-3 border-border-soft border-t px-3 py-3`,children:[(0,K.jsx)(B,{value:t.label,onChange:e=>n({...t,label:e.target.value})}),(0,K.jsx)(H,{value:t.kind,onChange:e=>n(ra(t,e)),options:ue.filter(e=>e!==`items`||t.kind===`items`).map(e=>({value:e,label:na[e]}))}),t.kind===`select`||t.kind===`multiselect`?(0,K.jsx)(B,{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,K.jsx)(H,{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,K.jsx)(H,{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,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`span`,{className:`text-[13px] text-ink-2`,children:`Mehrere Dateien`}),(0,K.jsx)(R,{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,K.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,K.jsx)(`span`,{className:`text-[13px] text-ink-2`,children:`Wie viele?`}),(0,K.jsx)(`div`,{className:`flex items-center gap-1.5`,children:[`min`,`max`].map(e=>(0,K.jsx)(B,{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,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`span`,{className:`text-[13px] text-ink-2`,children:`Auch mit der Kamera aufnehmen`}),(0,K.jsx)(R,{checked:!!t.camera,onChange:e=>n({...t,camera:e||void 0})})]}):null,t.kind===`file`?(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`span`,{className:`text-[13px] text-ink-2`,children:`Kamera nimmt auch kurze Videos auf`}),(0,K.jsx)(R,{checked:!!t.video,onChange:e=>n({...t,video:e||void 0})})]}):null,t.kind===`text`?(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`span`,{className:`text-[13px] text-ink-2`,children:`QR- oder Barcode scannen`}),(0,K.jsx)(R,{checked:!!t.scan,onChange:e=>n({...t,scan:e||void 0})})]}):null,[`text`,`textarea`,`number`,`email`,`url`,`location`].includes(t.kind)?(0,K.jsx)(B,{placeholder:`Platzhalter`,value:t.placeholder??``,onChange:e=>n({...t,placeholder:e.target.value||void 0})}):null,(0,K.jsx)(B,{placeholder:`Hilfetext`,value:t.help??``,onChange:e=>n({...t,help:e.target.value||void 0})}),(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`span`,{className:`text-[13px] text-ink-2`,children:U(`run.required`)}),(0,K.jsx)(R,{checked:!!t.required,onChange:e=>n({...t,required:e})})]}),(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`span`,{className:`font-mono text-[11px] text-ink-4`,children:`{{${t.id}}}`}),(0,K.jsxs)(`div`,{className:`flex`,children:[(0,K.jsx)(L,{label:U(`editor.moveUp`),onClick:()=>i(-1),className:`size-8`,children:(0,K.jsx)(v,{className:`size-3.5`})}),(0,K.jsx)(L,{label:U(`editor.moveDown`),onClick:()=>i(1),className:`size-8`,children:(0,K.jsx)(h,{className:`size-3.5`})}),(0,K.jsx)(L,{label:`Entfernen`,onClick:r,className:`size-8 hover:text-rose`,children:(0,K.jsx)(y,{className:`size-3.5`})})]})]})]}):null]})}var oa=[{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 sa(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 ca({def:e,step:t,set:n,files:r,wizardId:i}){let a=r.filter(e=>e.mime===`text/html`),o=r.filter(e=>e.mime===`application/json`),c=t.size??oa[0],l=sa(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,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(Q,{title:`Vorschau mit Beispieldaten`,children:p?(0,K.jsx)(b,{src:s(`/api/studio/wizards/${i}/widgets/${t.id}/preview?v=${f}`),page:c.width,height:c.height,fit:!0}):(0,K.jsx)(`p`,{className:`text-[13px] text-ink-3`,children:`Das Widget ist noch nicht gebaut. Bitte im Gespräch darum – oder lade eine HTML-Datei unter „Dateien“ hoch.`})}),(0,K.jsxs)(Q,{title:`Widget`,children:[(0,K.jsx)(N,{children:`HTML-Datei`}),(0,K.jsx)(H,{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,K.jsx)(N,{children:`Beispieldaten`}),(0,K.jsx)(H,{value:t.sample??``,onChange:e=>n({...t,sample:e||void 0}),options:[{value:``,label:`keine`},...o.map(e=>({value:e.path,label:e.path}))]}),(0,K.jsx)(N,{children:`Größe`}),(0,K.jsx)(F,{value:oa.find(e=>e.width===c.width&&e.height===c.height)?.label??``,options:oa.map(e=>e.label),onChange:e=>{let r=oa.find(t=>t.label===e);r&&n({...t,size:{width:r.width,height:r.height}})}})]}),(0,K.jsxs)(Q,{title:`Daten für das Widget`,children:[(0,K.jsx)(`datalist`,{id:`sources-${t.id}`,children:l.map(e=>(0,K.jsx)(`option`,{value:e},e))}),u.map(([e,n],r)=>(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(B,{value:e,className:`w-28 font-mono text-[12px]`,onChange:e=>d(u.map((t,n)=>n===r?[e.target.value,t[1]]:t))}),(0,K.jsx)(`span`,{className:`text-ink-4`,children:`←`}),(0,K.jsx)(B,{value:n,list:`sources-${t.id}`,className:`flex-1 font-mono text-[12px]`,onChange:e=>d(u.map((t,n)=>n===r?[t[0],e.target.value]:t))}),(0,K.jsx)(L,{label:U(`editor.deleteStep`),onClick:()=>d(u.filter((e,t)=>t!==r)),children:(0,K.jsx)(y,{className:`size-4`})})]},r)),(0,K.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-[12px] text-ink-2 hover:bg-accent`,children:[(0,K.jsx)(E,{className:`size-3.5`}),` Wert`]})]})]})}function la({def:e,step:t,set:n,mcpServers:r,files:i,wizardId:a}){let o=e.steps.indexOf(t),s=e.steps.slice(0,o).filter(e=>e.type===`agent`||e.type===`generate`||e.type===`widget`);switch(t.type){case`widget`:return(0,K.jsx)(ca,{def:e,step:t,set:n,files:i,wizardId:a});case`page`:return(0,K.jsxs)(Q,{title:`Fragen`,children:[(0,K.jsx)(`div`,{className:`flex flex-col gap-2`,children:t.fields.map((r,i)=>(0,K.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))}),(0,K.jsxs)(`button`,{type:`button`,onClick:()=>n({...t,fields:[...t.fields,{id:ia(e,`frage`),label:`Neue Frage`,kind:`text`}]}),className:`inline-flex h-9 items-center gap-1.5 self-start rounded-full px-3 text-[13px] text-ink-2 hover:bg-accent`,children:[(0,K.jsx)(E,{className:`size-4`}),` Frage hinzufügen`]})]});case`agent`:return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(Q,{title:`Auftrag`,children:[(0,K.jsx)(I,{value:t.instructions,minRows:6,maxRows:20,onChange:e=>n({...t,instructions:e.target.value}),className:`text-[14px]`}),(0,K.jsxs)(`p`,{className:`text-[12px] text-ink-4`,children:[`Antworten einsetzen mit `,(0,K.jsx)(`code`,{className:`font-mono`,children:`{{feld}}`}),`, frühere Ergebnisse mit `,(0,K.jsx)(`code`,{className:`font-mono`,children:`{{steps.id}}`}),`.`]})]}),(0,K.jsxs)(Q,{title:`Werkzeuge`,children:[(0,K.jsx)(F,{multi:!0,value:t.tools,options:[...A],onChange:e=>n({...t,tools:e})}),(0,K.jsx)(`div`,{className:`-mt-2 flex flex-wrap gap-x-3 text-[12px] text-ink-4`,children:A.map(e=>(0,K.jsxs)(`span`,{children:[e,` = `,ee(e)]},e))}),e.connections?.length?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(N,{hint:`Konten, die die Person im Durchlauf verbindet. Der Schritt liest darin, er schreibt nie.`,children:`Konten der Person`}),(0,K.jsx)(F,{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,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(N,{hint:`Nur freigegebene Systeme sind in diesem Schritt erreichbar.`,children:`Verbundene Systeme`}),(0,K.jsx)(F,{multi:!0,value:t.mcp??[],options:r.map(e=>e.id),onChange:e=>n({...t,mcp:e.length?e:void 0})})]}):null]}),(0,K.jsxs)(Q,{title:`Ergebnis`,children:[(0,K.jsx)(F,{value:t.output.format,options:[`text`,`markdown`,`json`],onChange:e=>n({...t,output:{...t.output,format:e}})}),(0,K.jsx)(Bi,{model:t.model,effort:t.effort,onChange:e=>n({...t,...e})}),(0,K.jsx)(B,{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,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(Q,{title:`Was wird erzeugt?`,children:[(0,K.jsx)(F,{value:t.asset,options:[`image`,`video`,`voice`,`document`,`dashboard`],onChange:e=>n({...t,asset:e})}),(0,K.jsx)(I,{value:t.prompt,minRows:5,maxRows:18,onChange:e=>n({...t,prompt:e.target.value}),className:`text-[14px]`})]}),(0,K.jsxs)(Q,{title:`Optionen`,children:[t.asset===`document`||t.asset===`dashboard`?(0,K.jsx)(Bi,{model:t.model,effort:t.effort,onChange:e=>n({...t,...e})}):null,t.asset===`image`||t.asset===`video`?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(N,{children:`Format`}),(0,K.jsx)(F,{value:t.options?.aspectRatio??``,options:[...j],onChange:e=>n({...t,options:{...t.options,aspectRatio:e}})}),(0,K.jsx)(B,{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,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(N,{children:`Länge (Sekunden)`}),(0,K.jsx)(F,{value:String(t.options?.duration??8),options:[`4`,`6`,`8`,`10`],onChange:e=>n({...t,options:{...t.options,duration:Number(e)}})}),(0,K.jsx)(N,{children:`Auflösung`}),(0,K.jsx)(F,{value:t.options?.resolution??`720p`,options:[...le],onChange:e=>n({...t,options:{...t.options,resolution:e}})})]}):null,t.asset===`document`?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(N,{children:`Vorlage`}),(0,K.jsx)(H,{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,K.jsxs)(Q,{title:`Was wird gezeigt?`,children:[(0,K.jsx)(F,{multi:!0,value:t.show,options:s.map(e=>e.id),onChange:e=>e.length&&n({...t,show:e})}),(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`span`,{className:`text-[13px] text-ink-2`,children:`Text direkt bearbeitbar`}),(0,K.jsx)(R,{checked:!!t.edit,onChange:e=>n({...t,edit:e})})]}),(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`span`,{className:`text-[13px] text-ink-2`,children:`Neue Variante anfordern`}),(0,K.jsx)(R,{checked:!!t.regenerate,onChange:e=>n({...t,regenerate:e})})]})]});case`result`:return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(Q,{title:`Abschluss`,children:(0,K.jsx)(I,{minRows:2,placeholder:`Nachricht am Ende`,value:t.message??``,onChange:e=>n({...t,message:e.target.value||void 0})})}),(0,K.jsx)(Q,{title:`Downloads`,children:s.map(e=>{let r=t.deliverables.find(t=>t.from===e.id),i=de(e);return(0,K.jsxs)(`div`,{className:`rounded-lg bg-paper p-3 ring-1 ring-border-soft`,children:[(0,K.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,K.jsx)(`span`,{className:`truncate text-[14px]`,children:e.title}),(0,K.jsx)(R,{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,K.jsx)(F,{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 ua({def:e,update:t}){return(0,K.jsxs)(`div`,{children:[(0,K.jsxs)(Q,{children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(N,{children:`Titel`}),(0,K.jsx)(B,{value:e.title,onChange:n=>t({...e,title:n.target.value})})]}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(N,{children:`Beschreibung`}),(0,K.jsx)(I,{minRows:2,value:e.description,onChange:n=>t({...e,description:n.target.value})})]}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(N,{hint:`Steht über der ersten Seite.`,children:`Begrüßung`}),(0,K.jsx)(I,{minRows:2,value:e.intro??``,onChange:n=>t({...e,intro:n.target.value||void 0})})]})]}),(0,K.jsx)(Q,{title:`Avatar`,children:(0,K.jsx)(`div`,{className:`grid grid-cols-5 gap-2`,children:k.map(n=>(0,K.jsx)(`button`,{type:`button`,onClick:()=>t({...e,avatar:n}),className:P(`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,K.jsx)(c,{kind:n,size:44,interactive:!1})},n))})}),e.lists?.length||e.connections?.length?(0,K.jsxs)(Q,{title:`Merkt sich für jede Person`,children:[(0,K.jsx)(`p`,{className:`text-[13px] 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,K.jsxs)(`div`,{className:`rounded-lg bg-paper px-3 py-2.5 ring-1 ring-border-soft`,children:[(0,K.jsx)(`div`,{className:`text-[14px]`,children:e.title??e.id}),(0,K.jsxs)(`div`,{className:`text-[12px] text-ink-4`,children:[`Konto · `,e.kind]})]},e.id)),(e.lists??[]).map(e=>(0,K.jsxs)(`div`,{className:`rounded-lg bg-paper px-3 py-2.5 ring-1 ring-border-soft`,children:[(0,K.jsx)(`div`,{className:`text-[14px]`,children:e.title}),(0,K.jsxs)(`div`,{className:`text-[12px] text-ink-4`,children:[`Liste · `,e.columns.map(e=>e.name).join(`, `)]}),(0,K.jsx)(`div`,{className:`mt-1 font-mono text-[11px] text-ink-4`,children:`{{lists.${e.id}}}`})]},e.id))]}):null]})}var da={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`})},$=`__wizard`;function fa({def:e,selected:t,onSelect:n,issues:r}){let i=[$,...e.steps.map(e=>e.id)],a=t?i.indexOf(t):-1,o=(0,G.useRef)(null);(0,G.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,G.useRef)(s);c.current=s,(0,G.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,K.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,K.jsx)(L,{label:U(`editor.prevStep`),className:`size-8 shrink-0`,disabled:a===0,onClick:()=>s(-1),children:(0,K.jsx)(Pe,{className:`size-4`})}),(0,K.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center overflow-x-auto p-1 [scrollbar-width:none]`,children:[(0,K.jsx)(`button`,{ref:t===$?o:void 0,type:`button`,title:e.title,"aria-label":e.title,"aria-current":t===$?`step`:void 0,onClick:()=>n($),className:P(l,`bg-paper-2 text-ink-2`,t===$?`ring-2 ring-ember`:`hover:ring-2 hover:ring-border-soft`),children:(0,K.jsx)(re,{className:`size-4`})}),e.steps.map((e,i)=>{let a=S(e),s=e.id===t,c=r.some(t=>t.stepId===e.id);return(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center`,children:[(0,K.jsx)(`span`,{className:`h-px w-3 bg-border-soft`}),(0,K.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:P(l,`relative`,T[e.type],s?`ring-2 ring-ember`:`opacity-70 hover:opacity-100`),children:[(0,K.jsx)(a,{className:`size-4`}),c?(0,K.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,K.jsx)(`span`,{className:`shrink-0 px-1 text-[12px] text-ink-4 tabular-nums`,children:a>0?`${a} / ${e.steps.length}`:``}),(0,K.jsx)(L,{label:U(`editor.nextStep`),className:`size-8 shrink-0`,disabled:a===i.length-1,onClick:()=>s(1),children:(0,K.jsx)(Ie,{className:`size-4`})})]})}function pa({def:e,onSelect:t,issues:n}){return(0,K.jsx)(`div`,{className:`flex flex-col gap-1 p-3`,children:e.steps.map((e,r)=>{let i=S(e),a=n.some(t=>t.stepId===e.id);return(0,K.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,K.jsx)(`span`,{className:`w-4 text-right text-[12px] text-ink-4 tabular-nums`,children:r+1}),(0,K.jsx)(`span`,{className:P(`inline-flex size-7 shrink-0 items-center justify-center rounded-md`,T[e.type]),children:(0,K.jsx)(i,{className:`size-4`})}),(0,K.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`span`,{className:`block truncate text-[14px]`,children:e.title}),(0,K.jsx)(`span`,{className:`block text-[12px] text-ink-4`,children:x(e)})]}),a?(0,K.jsx)(`span`,{className:`size-2 shrink-0 rounded-full bg-rose`}):null]},e.id)})})}function ma(e){let{def:t,selected:n,update:r,onSelect:i,issues:a}=e,o=t.steps.find(e=>e.id===n);return(0,K.jsxs)(`div`,{children:[(0,K.jsx)(fa,{def:t,selected:n,onSelect:i,issues:a}),n===$?(0,K.jsx)(ua,{def:t,update:r}):o?(0,K.jsx)(ha,{...e,step:o}):(0,K.jsx)(pa,{def:t,onSelect:i,issues:a})]})}function ha({def:e,step:t,update:n,onSelect:r,issues:i,mcpServers:a,files:o,wizardId:s}){let c=e.steps.indexOf(t),l=S(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=ia(e,i===`page`?`seite`:i===`agent`?`ki`:i===`widget`?`widget`:`erzeugen`),o=[...e.steps];o.splice(t.type===`result`?c:c+1,0,da[i](a)),n({...e,steps:o}),r(a)},p=i.filter(e=>e.stepId===t.id),m=Li(s,e);return(0,K.jsxs)(`div`,{children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2 px-5 py-4`,children:[(0,K.jsx)(`span`,{className:P(`inline-flex size-7 items-center justify-center rounded-md`,T[t.type]),children:(0,K.jsx)(l,{className:`size-4`})}),(0,K.jsx)(`span`,{className:`font-medium text-[12px] text-ink-3 uppercase tracking-[0.07em]`,children:x(t)}),(0,K.jsx)(`span`,{className:`ml-auto font-mono text-[11px] text-ink-4`,children:t.id})]}),p.length?(0,K.jsx)(`div`,{className:`mx-5 mb-4 rounded-lg bg-rose-tint px-3 py-2 text-[13px] text-rose`,children:p.map((e,t)=>(0,K.jsx)(`div`,{children:e.message},t))}):null,(0,K.jsxs)(Q,{children:[(0,K.jsx)(B,{value:t.title,onChange:e=>u({...t,title:e.target.value}),className:`font-display font-semibold text-[16px]`}),t.type===`page`||t.type===`review`?(0,K.jsx)(I,{minRows:1,placeholder:`Erklärung unter dem Titel (optional)`,value:t.description??``,onChange:e=>u({...t,description:e.target.value||void 0})}):null,(0,K.jsx)(zi,{estimate:m.data,stepId:t.id})]}),(0,K.jsx)(la,{def:e,step:t,set:u,mcpServers:a,files:o,wizardId:s}),(0,K.jsx)(Q,{children:(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[t.type===`result`?null:(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(L,{label:U(`editor.moveUp`),onClick:()=>d(-1),children:(0,K.jsx)(v,{className:`size-4`})}),(0,K.jsx)(L,{label:U(`editor.moveDown`),onClick:()=>d(1),children:(0,K.jsx)(h,{className:`size-4`})}),(0,K.jsx)(L,{label:U(`editor.deleteStep`),className:`hover:text-rose`,onClick:()=>{n({...e,steps:e.steps.filter(e=>e.id!==t.id)}),r(null)},children:(0,K.jsx)(y,{className:`size-4`})})]}),(0,K.jsx)(`span`,{className:`ml-auto text-[12px] text-ink-4`,children:`Danach einfügen:`}),[`page`,`agent`,`generate`,`widget`].map(e=>(0,K.jsxs)(`button`,{type:`button`,onClick:()=>f(e),className:`inline-flex h-8 items-center gap-1 rounded-full px-2.5 text-[12px] text-ink-2 hover:bg-accent`,children:[(0,K.jsx)(E,{className:`size-3.5`}),` `,U(`type.${e}`)]},e))]})})]})}var ga={waiting_input:`wartet`,running:`läuft`,done:`fertig`,failed:`Fehler`,cancelled:`abgebrochen`};function _a({wizardId:e,onOpen:t}){let n=r({queryKey:[`runs`,e],queryFn:()=>u.get(`/api/studio/wizards/${e}/runs`),refetchInterval:1e4});if(n.data&&!n.data.length)return(0,K.jsx)(me,{children:U(`editor.noRuns`)});let i=new Intl.DateTimeFormat(ge,{dateStyle:`short`,timeStyle:`short`});return(0,K.jsx)(`div`,{className:`flex flex-col p-2`,children:n.data?.map(e=>(0,K.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,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2 text-[14px]`,children:[i.format(new Date(e.createdAt)),e.mode===`test`?(0,K.jsx)(z,{children:`Test`}):(0,K.jsxs)(z,{tone:`live`,children:[`Live v`,e.version]})]}),(0,K.jsxs)(`div`,{className:`truncate text-[12px] text-ink-3`,children:[ga[e.status]??e.status,e.stepTitle&&e.status!==`done`?` · ${e.stepTitle}`:``]})]}),(0,K.jsxs)(`span`,{className:`text-[12px] text-ink-4 tabular-nums`,children:[e.credits,` cr`]})]},e.id))})}var va=e=>e.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/</g,`&lt;`);function ya({url:e,title:t}){let[n,r]=(0,G.useState)(!1),[i,a]=(0,G.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="${va(t)}"`:``}><\/script>`,l=[U(`embed.inline`),U(`embed.modal`)];return(0,K.jsxs)(`div`,{className:`mt-6 flex flex-col gap-3 border-border-soft border-t pt-5`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,K.jsx)(`span`,{className:`text-[14px]`,children:U(`embed.title`)}),(0,K.jsxs)(V,{variant:`secondary`,size:`sm`,onClick:()=>{navigator.clipboard.writeText(c),a(!0),setTimeout(()=>a(!1),1500)},children:[i?(0,K.jsx)(te,{className:`size-3.5`}):(0,K.jsx)(se,{className:`size-3.5`}),U(i?`share.copied`:`share.copy`)]})]}),(0,K.jsx)(`p`,{className:`text-[13px] text-ink-3`,children:U(n?`embed.modalHint`:`embed.inlineHint`)}),(0,K.jsx)(F,{value:l[+!!n],onChange:e=>r(e===l[1]),options:l}),(0,K.jsx)(`pre`,{className:`select-all whitespace-pre-wrap break-all rounded-lg bg-paper-2 px-3 py-2.5 font-mono text-[12px] text-ink-2 leading-relaxed`,children:c})]})}function ba({wizard:e}){let t=f(),n=r({queryKey:[`cloud`,e.id],queryFn:()=>u.get(`/api/studio/wizards/${e.id}/cloud`)}),i=W({mutationFn:()=>u.post(`/api/studio/wizards/${e.id}/cloud`),onSuccess:()=>t.invalidateQueries({queryKey:[`cloud`,e.id]})}),a=n.data?.copy?.shareUrl;return(0,K.jsxs)(`div`,{className:`mt-6 flex flex-col gap-3 border-border-soft border-t pt-5`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,K.jsx)(`span`,{className:`text-[14px]`,children:U(`cloud.title`)}),(0,K.jsxs)(V,{variant:`secondary`,size:`sm`,busy:i.isPending,onClick:()=>i.mutate(),children:[(0,K.jsx)(Be,{className:`size-3.5`}),U(a?`cloud.update`:`cloud.publish`)]})]}),(0,K.jsx)(`p`,{className:`text-[13px] text-ink-3`,children:U(`cloud.hint`)}),a?(0,K.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 self-start font-mono text-[13px] text-ink-2 hover:text-ink`,onClick:()=>Me(a),children:[(0,K.jsx)(ce,{className:`size-3.5`}),` `,a]}):null,a?(0,K.jsx)(ya,{url:a,title:e.draft.title}):null,i.isError?(0,K.jsx)(`p`,{className:`text-[13px] text-rose`,children:i.error instanceof d?i.error.message:U(`cloud.failed`)}):null]})}function xa({wizard:e,open:t,onClose:n}){let r=f(),[i,a]=(0,G.useState)(!1),[s,c]=(0,G.useState)(String(e.dailyRunLimit)),l=()=>r.invalidateQueries({queryKey:[`wizard`,e.id]}),d=W({mutationFn:t=>u.patch(`/api/studio/wizards/${e.id}`,t),onSuccess:l}),p=W({mutationFn:()=>u.post(`/api/studio/wizards/${e.id}/rotate-link`),onSuccess:l}),m=`${window.location.origin}${o}/w/${e.shareToken}`,h=ye(),g=Li(e.id,e.draft),_=g.data?.available&&g.data.reserve>0?Math.round(g.data.reserve*e.dailyRunLimit):null;return(0,K.jsxs)(_e,{open:t,onClose:n,title:U(`share.title`),children:[e.published?null:(0,K.jsx)(`p`,{className:`mb-4 rounded-lg bg-amber-tint px-3 py-2 text-[14px]`,children:U(`share.publishFirst`)}),(0,K.jsxs)(`div`,{className:`flex gap-2`,children:[(0,K.jsx)(B,{readOnly:!0,value:m,onFocus:e=>e.target.select(),className:`font-mono text-[13px]`}),(0,K.jsxs)(V,{variant:`secondary`,onClick:()=>{navigator.clipboard.writeText(m),a(!0),setTimeout(()=>a(!1),1500)},children:[i?(0,K.jsx)(te,{className:`size-4`}):(0,K.jsx)(se,{className:`size-4`}),U(i?`share.copied`:`share.copy`)]})]}),(0,K.jsxs)(`a`,{href:m,target:`_blank`,rel:`noreferrer`,className:`mt-2 inline-flex items-center gap-1.5 text-[13px] text-ink-3 hover:text-ink`,children:[(0,K.jsx)(ce,{className:`size-3.5`}),` `,U(`share.open`)]}),(0,K.jsx)(ya,{url:m,title:e.draft.title}),(0,K.jsxs)(`div`,{className:`mt-6 flex flex-col gap-5 border-border-soft border-t pt-5`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`span`,{className:`text-[14px]`,children:U(`share.enabled`)}),(0,K.jsx)(R,{checked:e.shareEnabled,onChange:e=>d.mutate({shareEnabled:e})})]}),(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,K.jsx)(`span`,{className:`whitespace-nowrap text-[14px]`,children:U(`share.limit`)}),(0,K.jsx)(`div`,{className:`w-24`,children:(0,K.jsx)(B,{inputMode:`numeric`,className:`text-right`,value:s,onChange:e=>c(e.target.value.replace(/\D/g,``)),onBlur:()=>{let t=Number(s);t>=1&&t!==e.dailyRunLimit&&d.mutate({dailyRunLimit:t})}})})]}),_!==null&&g.data?(0,K.jsx)(`p`,{className:`text-[13px] text-ink-3 tabular-nums`,children:U(`estimate.share`,{run:Math.round(g.data.credits).toLocaleString(),day:_.toLocaleString()})}):null,(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,K.jsx)(`span`,{className:`text-[13px] text-ink-3`,children:U(`share.rotateHint`)}),(0,K.jsxs)(V,{variant:`ghost`,size:`sm`,busy:p.isPending,onClick:()=>p.mutate(),children:[(0,K.jsx)(pe,{className:`size-3.5`}),` `,U(`share.rotate`)]})]})]}),h.data?.mode===`local`&&h.data.account?(0,K.jsx)(ba,{wizard:e}):null]})}var Sa=[`title`,`description`,`avatar`,`intro`,`lists`,`connections`],Ca=(e,t)=>JSON.stringify(e)===JSON.stringify(t);function wa(e,t,n){let r={...n};for(let n of Sa)Ca(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||!Ca(t,e)});return t.steps.forEach((e,n)=>{let r=i.get(e.id);if(r&&Ca(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 Ta(e){let t=f(),n=(0,G.useMemo)(()=>[`wizard`,e],[e]),r=`/api/studio/wizards/${e}`,i=(0,G.useRef)(null),a=(0,G.useRef)(Promise.resolve()),o=(0,G.useRef)(null),c=(0,G.useRef)(null),l=(0,G.useRef)(!1),[p,m]=(0,G.useState)(!1),[h,g]=(0,G.useState)(0),[_,v]=(0,G.useState)(null),y=(0,G.useCallback)(()=>!!(i.current||l.current||o.current),[]),b=(0,G.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]),x=(0,G.useCallback)(()=>{a.current=a.current.then(async()=>{let e=o.current,i=t.getQueryData(n);if(e&&i){o.current=null,l.current=!0,m(!0);try{let a=await u.put(`${r}/draft`,{definition:e,baseRevision:i.revision});c.current=o.current?e:null,t.setQueryData(n,e=>e&&{...e,revision:a.revision,issues:a.issues})}catch(i){if(!(i instanceof d&&i.status===409)){o.current??=e,console.error(`[draft] save failed`,i);return}let a=await u.get(r),s=wa(c.current??a.draft,o.current??e,a.draft);c.current=a.draft,o.current=s,t.setQueryData(n,{...a,draft:s,title:s.title,dirty:!0}),g(Date.now()),x()}finally{l.current=!1,m(!1)}}})},[t,n,r]),ee=(0,G.useCallback)(r=>{e&&(y()||(c.current=t.getQueryData(n)?.draft??null),o.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,x()},600))},[t,n,e,y,x]);return(0,G.useEffect)(()=>{if(!e)return;let r=new EventSource(s(`/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||(b(),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&&b()}),()=>r.close()},[t,n,e,b]),(0,G.useEffect)(()=>{if(!_)return;let e=setTimeout(()=>v(null),6e3);return()=>clearTimeout(e)},[_]),(0,G.useEffect)(()=>{if(!h)return;let e=setTimeout(()=>g(0),4e3);return()=>clearTimeout(e)},[h]),{save:ee,saving:p,remote:_,merged:h>0}}function Ea({remote:e,merged:t}){return e?(0,K.jsxs)(z,{tone:`ember`,children:[(0,K.jsx)(ve,{className:`size-3`}),` `,U(`editor.changedVia`,{client:e.client})]}):t?(0,K.jsxs)(z,{children:[(0,K.jsx)(Ke,{className:`size-3`}),` `,U(`editor.merged`)]}):null}var Da={chat:`editor.chat`,step:`editor.step`,files:`editor.files`,runs:`editor.runs`},Oa=`wizards.editor.pane`,ka=420,Aa=340,ja=()=>Math.max(Aa,window.innerWidth-480);function Ma(){try{let e=Number(localStorage.getItem(Oa));return e?Math.min(Math.max(e,Aa),ja()):ka}catch{return ka}}function Na(){let[e,t]=(0,G.useState)(Ma),n=(0,G.useCallback)(e=>{let n=Math.round(Math.min(Math.max(e,Aa),ja()));t(n);try{localStorage.setItem(Oa,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(ka)}}function Pa(){let{id:e}=a(),t=i(),n=f(),o=ye(),[c,d]=l(),p=r({queryKey:[`wizard`,e],queryFn:()=>u.get(`/api/studio/wizards/${e}`),refetchOnWindowFocus:!1}),[h,v]=(0,G.useState)(null),[y,b]=(0,G.useState)(`chat`),x=Na(),[ee,S]=(0,G.useState)(!1),[C,w]=(0,G.useState)(null),[T,te]=(0,G.useState)(null),ne=(0,G.useCallback)(e=>te(e&&e.status!==`done`?e.step?.id??null:null),[]),{save:re,saving:se,remote:E,merged:ce}=Ta(e),D=ie(p.data,(t,r)=>{n.setQueryData([`wizard`,e],e=>e&&{...e,draft:t,revision:r,title:t.title,blank:!1})}),le=(0,G.useRef)(!1);(0,G.useEffect)(()=>{let e=c.get(`prompt`);e&&p.data&&!le.current&&(le.current=!0,d({},{replace:!0}),D.send(e))},[c,p.data,D,d]);let ue=r({queryKey:[`wizard-models`,e,p.data?.revision],queryFn:()=>u.get(`/api/studio/wizards/${e}/models`),enabled:!!p.data}).data?.missing??[],de=ue.some(e=>e.blocking),O=W({mutationFn:()=>u.post(`/api/studio/wizards/${e}/test-runs`),onSuccess:({runId:e})=>w(e)}),fe=W({mutationFn:()=>u.post(`/api/studio/wizards/${e}/publish`),onSuccess:async()=>{await n.invalidateQueries({queryKey:[`wizard`,e]}),S(!0)}}),pe=(0,G.useMemo)(()=>new Set((p.data?.issues??[]).map(e=>e.stepId).filter(Boolean)),[p.data?.issues]);if(p.isLoading||!o.data)return(0,K.jsx)(`div`,{className:`flex min-h-dvh items-center justify-center text-ink-4`,children:(0,K.jsx)(he,{})});if(!p.data)return(0,K.jsx)(`div`,{className:`p-10 text-center text-ink-3`,children:U(`run.notFound`)});let k=p.data,A=k.draft,j=D.phase!==`idle`&&k.blank,M=k.issues.length>0,me=e=>{v(e),e&&b(`step`)};return(0,K.jsxs)(`div`,{className:`flex h-dvh flex-col`,children:[(0,K.jsxs)(`header`,{className:`flex h-16 shrink-0 items-center gap-2 px-3 sm:px-4`,children:[(0,K.jsx)(L,{label:`Zurück`,onClick:()=>t(`/`),children:(0,K.jsx)(_,{className:`size-5`})}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>me(`__wizard`),className:`min-w-0 truncate rounded-md px-2 py-1 text-left hover:bg-accent`,children:(0,K.jsx)(`span`,{className:`font-display font-semibold text-[17px] tracking-tight`,children:A.title})}),(0,K.jsx)(`span`,{className:`hidden sm:inline-flex`,children:k.published?k.dirty?(0,K.jsx)(z,{tone:`warn`,children:U(`editor.unpublishedChanges`)}):(0,K.jsx)(z,{tone:`live`,children:U(`editor.published`,{v:k.publishedVersion??0})}):(0,K.jsx)(z,{children:U(`editor.notPublished`)})}),se?(0,K.jsx)(he,{className:`size-4 text-ink-4`}):null,(0,K.jsx)(`span`,{className:`hidden md:inline-flex`,children:(0,K.jsx)(Ea,{remote:E,merged:ce})}),(0,K.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,K.jsx)(`a`,{href:s(`/api/studio/wizards/${k.id}/export`),download:!0,"aria-label":U(`editor.export`),title:U(`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,K.jsx)(xe,{className:`size-4`})}),(0,K.jsxs)(V,{variant:`secondary`,size:`sm`,disabled:M||j||de,busy:O.isPending,onClick:()=>O.mutate(),children:[(0,K.jsx)(Xe,{className:`size-3.5`}),` `,U(`editor.test`)]}),k.published&&!k.dirty?(0,K.jsxs)(V,{size:`sm`,onClick:()=>S(!0),children:[(0,K.jsx)(m,{className:`size-3.5`}),` `,U(`editor.share`)]}):(0,K.jsx)(V,{size:`sm`,disabled:M||j,busy:fe.isPending,onClick:()=>fe.mutate(),children:U(`editor.publish`)}),(0,K.jsx)(`span`,{className:`ml-2 hidden md:inline-flex`,children:(0,K.jsx)(Se,{me:o.data})}),(0,K.jsx)(`span`,{className:`hidden sm:inline-flex`,children:(0,K.jsx)(be,{me:o.data})})]})]}),(0,K.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col lg:flex-row`,children:[(0,K.jsxs)(`section`,{className:`relative min-h-[45vh] flex-1 overflow-hidden lg:min-h-0`,children:[M&&!j?(0,K.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,K.jsx)(`p`,{className:`text-[14px]`,children:U(`editor.issues`)}),(0,K.jsx)(`ul`,{className:`mt-2 list-disc pl-5 text-[13px] text-ink-2`,children:k.issues.slice(0,4).map((e,t)=>(0,K.jsx)(`li`,{children:e.message},t))}),(0,K.jsx)(V,{size:`sm`,variant:`quiet`,className:`mt-3`,disabled:D.phase!==`idle`,onClick:()=>{b(`chat`),D.send(`Bitte behebe diese Probleme im Wizard:\n${k.issues.map(e=>`- ${e.message}`).join(`
2
- `)}`)},children:U(`editor.fixWithChat`)})]}):null,!M&&!j&&ue.length?(0,K.jsxs)(`div`,{className:P(`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`,de?`ring-rose/30`:`ring-amber/30`),children:[(0,K.jsx)(`p`,{className:`text-[14px]`,children:U(de?`editor.models.blocking`:`editor.models.optional`)}),(0,K.jsx)(`ul`,{className:`mt-2 list-disc pl-5 text-[13px] text-ink-2`,children:ue.map(e=>(0,K.jsxs)(`li`,{children:[(0,K.jsx)(`span`,{className:`text-ink`,children:U(`class.${e.cls}`)}),` (`,e.steps.map(e=>`„${e.title}“`).join(`, `),`): `,e.problem]},e.cls))}),(0,K.jsx)(V,{size:`sm`,variant:`quiet`,className:`mt-3`,onClick:()=>t(`/settings/models`),children:U(`editor.models.settings`)})]}):null,j?(0,K.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 text-[14px] text-ink-3`,children:(0,K.jsx)(ae,{chat:D,spinner:`size-4 text-ember`})}):(0,K.jsx)(ta,{def:A,selected:h,onSelect:me,issueSteps:pe,activeStep:C?T:null,pulse:E?.steps,wizardId:k.id})]}),(0,K.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":`${x.width}px`},children:[(0,K.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":U(`editor.resize`),"aria-valuenow":x.width,tabIndex:0,title:U(`editor.resize`),onPointerDown:x.onPointerDown,onKeyDown:x.onKeyDown,onDoubleClick:x.reset,className:`group -left-1.5 absolute inset-y-0 z-10 hidden w-5 cursor-col-resize outline-none lg:block`,children:(0,K.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,K.jsx)(`nav`,{className:`flex shrink-0 gap-1 px-3 pt-3`,children:[`chat`,`step`,`files`,`runs`].map(e=>(0,K.jsx)(`button`,{type:`button`,onClick:()=>b(e),className:P(`h-9 rounded-full px-4 font-medium text-[13px] transition`,y===e?`bg-paper-2 text-ink`:`text-ink-3 hover:text-ink`),children:U(Da[e])},e))}),(0,K.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:y===`chat`?(0,K.jsx)(oe,{chat:D,avatar:A.avatar}):y===`step`?(0,K.jsx)(ma,{def:A,selected:h,update:re,onSelect:me,issues:k.issues,mcpServers:k.mcpServers,files:k.files,wizardId:k.id}):y===`files`?(0,K.jsx)(tt,{wizardId:k.id,files:k.files}):(0,K.jsx)(_a,{wizardId:k.id,onOpen:w})})]})]}),C?(0,K.jsx)(`div`,{className:`fixed inset-0 z-50 flex justify-end bg-[oklch(20%_0.01_60/0.22)] backdrop-blur-[1px]`,onClick:()=>w(null),children:(0,K.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,K.jsxs)(`div`,{className:`flex h-14 shrink-0 items-center justify-between px-4`,children:[(0,K.jsx)(z,{children:`Test`}),(0,K.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,K.jsx)(V,{variant:`ghost`,size:`sm`,busy:O.isPending,disabled:M,onClick:()=>O.mutate(),children:U(`editor.restart`)}),(0,K.jsx)(L,{label:U(`editor.close`),onClick:()=>w(null),children:(0,K.jsx)(Ce,{className:`size-5`})})]})]}),(0,K.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,K.jsx)(g,{runId:C,compact:!0,onRestart:()=>O.mutate(),onView:ne},C)})]})}):null,(0,K.jsx)(xa,{wizard:k,open:ee,onClose:()=>S(!1)})]})}export{Pa as EditorPage};
@@ -1 +0,0 @@
1
- import{i as e,n as t,t as n}from"./jsx-runtime-Dk72oS4N.js";import{h as r}from"./ui-tO4ZXbfh.js";import{a as i,c as a,i as o,n as s,r as c,s as l,t as u}from"./esm-ZHEGGS6s.js";var d=e(t(),1),f=n(),p=208,m=42,h=26,g=22,_=132;function v({data:e}){let t=e.icon;return(0,f.jsxs)(`div`,{style:{width:p,height:m},className:r(`flex cursor-default items-center gap-2.5 rounded-xl px-2.5`,e.optional?`border border-ink-4 border-dashed`:`bg-paper-2 ring-1 ring-border-soft`),children:[(0,f.jsx)(c,{type:`target`,position:a.Top}),(0,f.jsx)(c,{type:`target`,id:`in`,position:a.Right}),(0,f.jsx)(`span`,{className:r(`inline-flex size-6 shrink-0 items-center justify-center rounded-md`,e.tone),children:(0,f.jsx)(t,{className:`size-3.5`})}),(0,f.jsx)(`span`,{className:`truncate font-medium text-[13px] text-ink`,children:e.title}),(0,f.jsx)(c,{type:`source`,position:a.Bottom}),(0,f.jsx)(c,{type:`source`,id:`out`,position:a.Right})]})}function y({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,markerEnd:a}){let o=Math.max(e,n)+g,c=[`M ${e} ${t}`,`H ${o-8}`,`Q ${o} ${t} ${o} ${t+8}`,`V ${r-8}`,`Q ${o} ${r} ${o-8} ${r}`,`H ${n}`].join(` `);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(u,{path:c,markerEnd:a,style:{strokeDasharray:`5 4`}}),(0,f.jsx)(s,{children:(0,f.jsx)(`div`,{style:{width:_,transform:`translate(${o+8}px, ${(t+r)/2}px) translateY(-50%)`},className:`absolute text-[11px] text-ink-2 leading-snug`,children:i})})]})}var b={step:v},x={branch:y};function S(e){let t={markerEnd:{type:l.ArrowClosed,width:14,height:14,color:`var(--ink-4)`}},n=e.map((e,t)=>({id:e.id,type:`step`,position:{x:0,y:t*68},data:{title:e.title,icon:e.icon,tone:e.tone,optional:e.optional},draggable:!1})),r=[],i=!1;return e.forEach((n,a)=>{let o=e[a+1];for(let[a,o]of(n.branches??[]).entries())e.some(e=>e.id===o.to)&&(i=!0,r.push({id:`b-${n.id}-${a}`,type:`branch`,source:n.id,sourceHandle:`out`,target:o.to,targetHandle:`in`,label:o.when,...t}));o&&r.push({id:`n-${n.id}`,type:`straight`,source:n.id,target:o.id,...t})}),{nodes:n,edges:r,width:p+(i?162:0),height:e.length*68-h}}function C({steps:e}){let{nodes:t,edges:n,width:r,height:a}=(0,d.useMemo)(()=>S(e),[e]);return e.length?(0,f.jsx)(`div`,{className:`max-w-full`,style:{width:r,height:a+4},children:(0,f.jsx)(o,{children:(0,f.jsx)(i,{nodes:t,edges:n,nodeTypes:b,edgeTypes:x,defaultViewport:{x:1,y:2,zoom:1},minZoom:1,maxZoom:1,nodesConnectable:!1,nodesDraggable:!1,nodesFocusable:!1,edgesFocusable:!1,elementsSelectable:!1,panOnDrag:!1,panOnScroll:!1,zoomOnScroll:!1,zoomOnPinch:!1,zoomOnDoubleClick:!1,preventScrolling:!1,proOptions:{hideAttribution:!0}})})}):null}export{C as default};
@@ -1 +0,0 @@
1
- import{i as e,n as t,t as n}from"./jsx-runtime-Dk72oS4N.js";import{A as r,C as i,D as a,a as o,d as s,n as c,tt as l}from"./api-DbPn6Dge.js";import{t as u}from"./createLucideIcon-DBu2Ovxj.js";import{t as d}from"./check-Bjx41xbB.js";import{n as f,t as p}from"./plus-HA210wXA.js";import{a as m,i as h,n as g,o as _,r as v,s as y,t as b,u as x,v as S}from"./ui-tO4ZXbfh.js";import{g as C,l as w,s as T}from"./index-BRy5sz4a.js";import{r as E}from"./LocalRuntime-DKqEzptp.js";import{t as D}from"./ImportWizard-DX1YtFPv.js";var O={name:`arrow-up-right`,size:24,node:[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]};O.node;var k=u(O),A=e(t(),1),j=n();function M(){let{project:e,projects:t,select:n}=T(),r=w().data?.limits.projects??1,i=l(),[a,o]=(0,A.useState)(!1),[s,u]=(0,A.useState)(``),d=C({mutationFn:()=>c.post(`/api/studio/projects`,{name:s}),onSuccess:async({id:e})=>{await i.invalidateQueries({queryKey:[`projects`]}),n(e),o(!1),u(``)}});return!e||r<=1?null:(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsx)(x,{className:`w-56`,value:e.id,onChange:e=>e===`__new`?o(!0):n(e),options:[...t.map(e=>({value:e.id,label:e.name})),t.length<r?{value:`__new`,label:`+ ${S(`home.newProject`)}`}:{value:`__new`,label:S(`home.projectLimit`,{n:r}),disabled:!0}]}),(0,j.jsx)(h,{open:a,onClose:()=>o(!1),title:S(`home.newProject`),children:(0,j.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),s.trim()&&d.mutate()},children:[(0,j.jsx)(y,{autoFocus:!0,placeholder:S(`home.projectName`),value:s,onChange:e=>u(e.target.value)}),(0,j.jsxs)(`div`,{className:`mt-5 flex justify-end gap-2`,children:[(0,j.jsx)(b,{variant:`ghost`,onClick:()=>o(!1),children:S(`common.cancel`)}),(0,j.jsx)(b,{type:`submit`,busy:d.isPending,disabled:!s.trim(),children:S(`home.newProject`)})]})]})})]})}function N({token:e}){let[t,n]=(0,A.useState)(!1);return(0,j.jsxs)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),navigator.clipboard.writeText(`${window.location.origin}${o}/w/${e}`),n(!0),setTimeout(()=>n(!1),1500)},className:`inline-flex h-8 items-center gap-1.5 rounded-full px-3 text-[13px] text-ink-3 hover:bg-accent hover:text-ink`,children:[t?(0,j.jsx)(d,{className:`size-3.5`}):(0,j.jsx)(f,{className:`size-3.5`}),S(t?`share.copied`:`share.link`)]})}function P({w:e}){let t=a();return(0,j.jsxs)(g,{className:`flex cursor-pointer flex-col p-5 transition hover:shadow-elevated`,onClick:()=>t(`/edit/${e.id}`),children:[(0,j.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,j.jsx)(`div`,{className:`-ml-1 -mt-1`,children:(0,j.jsx)(s,{kind:e.avatar,size:52,interactive:!1})}),e.published?(0,j.jsx)(v,{tone:`live`,children:S(`home.live`)}):(0,j.jsx)(v,{children:S(`home.draft`)})]}),(0,j.jsx)(`h3`,{className:`mt-3 font-display font-semibold text-[17px] leading-snug`,children:e.title}),(0,j.jsx)(`p`,{className:`mt-1 line-clamp-2 min-h-[2.6em] text-[14px] text-ink-3`,children:e.description}),(0,j.jsxs)(`div`,{className:`mt-4 flex items-center justify-between`,children:[(0,j.jsx)(`span`,{className:`text-[12px] text-ink-4`,children:S(`home.steps`,{n:e.stepCount})}),(0,j.jsx)(`div`,{className:`flex items-center`,children:e.published?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(N,{token:e.shareToken}),(0,j.jsx)(_,{label:S(`share.open`),className:`ml-1 size-8`,onClick:t=>{t.stopPropagation(),E(`${window.location.origin}${o}/w/${e.shareToken}`)},children:(0,j.jsx)(k,{className:`size-4`})})]}):null})]})]})}function F(){let e=a(),{project:t,projects:n,loading:o}=T(),s=r({queryKey:[`wizards`,t?.id],queryFn:()=>c.get(`/api/studio/projects/${t.id}/wizards`),enabled:!!t}),l=n.reduce((e,t)=>e+t.wizardCount,0);return!o&&n.length&&l===0?(0,j.jsx)(i,{to:`/new`,replace:!0}):(0,j.jsxs)(`div`,{className:`animate-rise`,children:[(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-4`,children:[(0,j.jsx)(`div`,{children:(0,j.jsx)(M,{})}),(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsx)(D,{}),(0,j.jsxs)(b,{onClick:()=>e(`/new`),children:[(0,j.jsx)(p,{className:`size-4`}),` `,S(`home.new`)]})]})]}),(0,j.jsx)(`h1`,{className:`mt-10 font-display font-semibold text-[28px] tracking-tight`,children:S(`home.title`)}),s.data&&s.data.length===0?(0,j.jsx)(m,{children:S(`home.empty`)}):null,(0,j.jsx)(`div`,{className:`mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:s.data?.map(e=>(0,j.jsx)(P,{w:e},e.id))})]})}export{F as HomePage,M as ProjectSwitcher};
@@ -1 +0,0 @@
1
- import{i as e,n as t,t as n}from"./jsx-runtime-Dk72oS4N.js";import{D as r,n as i,t as a,tt as o}from"./api-DbPn6Dge.js";import{t as s}from"./upload-DsgLfQ3U.js";import{i as c,t as l,v as u}from"./ui-tO4ZXbfh.js";import{g as d,s as f}from"./index-BRy5sz4a.js";var p=e(t(),1),m=n();function h({variant:e=`secondary`,label:t=u(`home.import`)}){let n=r(),h=o(),{project:g}=f(),_=(0,p.useRef)(null),v=d({mutationFn:e=>i.upload(`/api/studio/projects/${g.id}/wizards/import`,e),onSuccess:async({id:e})=>{await h.invalidateQueries({queryKey:[`projects`]}),await h.invalidateQueries({queryKey:[`wizards`]}),n(`/edit/${e}`)}}),y=v.error instanceof a?v.error.body?.issues??[]:[];return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(l,{variant:e,busy:v.isPending,disabled:!g,onClick:()=>_.current?.click(),children:[(0,m.jsx)(s,{className:`size-4`}),` `,t]}),(0,m.jsx)(`input`,{ref:_,hidden:!0,type:`file`,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&v.mutate(t)}}),(0,m.jsxs)(c,{open:v.isError,onClose:v.reset,title:u(`import.failed`),children:[(0,m.jsx)(`p`,{className:`text-[14px] text-ink-2`,children:v.error?.message}),y.length?(0,m.jsx)(`ul`,{className:`mt-3 flex list-disc flex-col gap-1 pl-5 text-[13px] text-ink-2`,children:y.slice(0,8).map(e=>(0,m.jsx)(`li`,{children:e.message},e.message))}):null,(0,m.jsx)(`div`,{className:`mt-5 flex justify-end`,children:(0,m.jsx)(l,{variant:`secondary`,onClick:v.reset,children:u(`common.close`)})})]})]})}export{h as t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/FlowPreview-CqJUNW13.js","assets/jsx-runtime-Dk72oS4N.js","assets/ui-tO4ZXbfh.js","assets/esm-ZHEGGS6s.js","assets/index-BRy5sz4a.js","assets/api-DbPn6Dge.js","assets/preload-helper-CNEI7N0N.js","assets/createLucideIcon-DBu2Ovxj.js","assets/engenty-CWIFpgKq.js","assets/index-CQ_q9iMO.css"])))=>i.map(i=>d[i]);
2
- import{i as e,n as t,t as n}from"./jsx-runtime-Dk72oS4N.js";import{A as r,D as i,F as a,G as o,M as s,P as c,d as l,g as u,j as d,k as f,n as p,tt as m}from"./api-DbPn6Dge.js";import{t as h}from"./preload-helper-CNEI7N0N.js";import{t as g}from"./createLucideIcon-DBu2Ovxj.js";import{t as _}from"./arrow-right-CucQycEy.js";import{c as v,l as y,o as ee,s as b,t as te}from"./meta-2YMHa2hT.js";import{t as x}from"./check-Bjx41xbB.js";import{n as S,r as C,t as ne}from"./wand-sparkles-Bf97fs8T.js";import{n as w,t as re}from"./mic-CeqQ89Dj.js";import{n as ie,t as T}from"./video-Dk1fuTDl.js";import{n as E,r as ae,t as oe}from"./type-BzYgVWKL.js";import{l as se,u as ce}from"./engenty-CWIFpgKq.js";import{d as D,g as O,h as k,i as le,m as ue,n as de,r as fe,t as A,v as j}from"./ui-tO4ZXbfh.js";import{d as pe,g as M,m as me,s as he,u as N}from"./index-BRy5sz4a.js";import{t as ge}from"./ImportWizard-DX1YtFPv.js";var _e=class extends s{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:i,isRefetching:o,isError:s,isRefetchError:l}=r,u=n.fetchMeta?.fetchMore?.direction,d=s&&u===`forward`,f=i&&u===`forward`,p=s&&u===`backward`,m=i&&u===`backward`;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:c(t,n.data),hasPreviousPage:a(t,n.data),isFetchNextPageError:d,isFetchingNextPage:f,isFetchPreviousPageError:p,isFetchingPreviousPage:m,isRefetchError:l&&!d&&!p,isRefetching:o&&!f&&!m}}};function ve(e,t){return d(e,_e,t)}var P={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`}]]};P.node;var ye=g(P),F={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`]};F.node;var I=g(F),L={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`}]]};L.node;var be=g(L),R={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`}]]};R.node;var xe=g(R),z={name:`clapperboard`,size:24,node:[[`path`,{d:`m12.296 3.464 3.02 3.956`,key:`qash78`}],[`path`,{d:`M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z`,key:`1h7j8b`}],[`path`,{d:`M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`4lm6w1`}],[`path`,{d:`m6.18 5.276 3.1 3.899`,key:`zjj9t3`}]]};z.node;var Se=g(z),B={name:`clock`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]};B.node;var V=g(B),H={name:`cloud-off`,size:24,node:[[`path`,{d:`M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057`,key:`1uxyv8`}],[`path`,{d:`M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78`,key:`99tcn7`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]};H.node;var Ce=g(H),we={name:`coins`,size:24,node:[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`,key:`bq4yh3`}],[`path`,{d:`M15 6h1v4`,key:`11y1tn`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`,key:`17snzx`}],[`circle`,{cx:`16`,cy:`8`,r:`6`,key:`14bfc9`}]]};we.node;var Te=g(we),Ee={name:`globe`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]};Ee.node;var De=g(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=g(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=g(Ae),Me={name:`table-2`,size:24,node:[[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}]]};Me.node;var Ne=g(Me),Pe={name:`terminal`,size:24,node:[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]};Pe.node;var Fe=g(Pe),Ie={name:`volume-2`,size:24,node:[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`,key:`ijwkga`}]]};Ie.node;var Le=g(Ie),U=e(t(),1),W={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`}},Re={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`}},ze={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`}},G={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`}},Be={low:{de:`günstig`,en:`low cost`},medium:{de:`mittel`,en:`medium cost`},high:{de:`teuer`,en:`high cost`}},K=e=>Object.keys(e);K(W),K(Re),K(ze),K(G);var q=n(),Ve=(0,U.lazy)(()=>h(()=>import(`./FlowPreview-CqJUNW13.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]))),He={useCase:``,industry:``,format:``,capability:``},J=(e,t)=>e[t]?.[O]??t;function Ue(e){if(e<1)return 1;let t=10**Math.floor(Math.log10(e));return Math.round(e/t)*t}function We(e){return e.credits?j(`market.credits`,{n:Ue(e.credits.credits)}):Be[e.costTier][O]}var Ge={text:oe,document:w,table:Ne,image:b,video:T,audio:ye,dashboard:I};function Y({format:e,className:t}){let n=Ge[e],r=J(W,e);return(0,q.jsx)(`span`,{title:r,className:`inline-flex`,children:(0,q.jsx)(n,{className:t,"aria-label":r,role:`img`})})}var Ke=[`low`,`medium`,`high`];function X({entry:e}){let t=Ke.indexOf(e.costTier)+1,n=O===`de`?xe:be;return(0,q.jsxs)(`span`,{title:We(e),className:`inline-flex items-center gap-1`,children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex shrink-0`,children:Ke.slice(0,t).map((e,t)=>(0,q.jsx)(`span`,{className:k(`rounded-full bg-(--coin-bg,var(--color-card))`,t>0&&`-ml-1.5`),children:(0,q.jsx)(n,{className:`size-4`})},e))}),Be[e.costTier][O]]})}function qe({entry:e,onOpen:t}){return(0,q.jsxs)(de,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:k(`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,q.jsx)(`span`,{className:`-top-4 pointer-events-none absolute right-4`,children:(0,q.jsx)(l,{kind:e.avatar,size:68,interactive:!1})}),(0,q.jsxs)(`div`,{className:`min-w-0 pr-20`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 font-display font-semibold text-[15px]`,children:[e.title,e.starred?(0,q.jsx)(E,{className:`size-3.5 shrink-0 fill-amber text-amber`,"aria-label":j(`market.starred`)}):null]}),(0,q.jsx)(`div`,{className:`mt-0.5 text-[13px] text-ink-3 leading-snug`,children:e.pitch})]}),(0,q.jsx)(`div`,{className:`mt-auto flex flex-wrap items-center gap-x-3 gap-y-1.5 text-[12px] text-ink-3`,children:e.usable&&e.missing.length?(0,q.jsx)(fe,{tone:`warn`,children:j(`market.missing`,{list:Je(e.missing)})}):e.usable?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,q.jsx)(V,{className:`size-3.5`}),` `,j(`market.minutes`,{n:e.effort.minutes})]}),(0,q.jsx)(X,{entry:e}),(0,q.jsx)(`span`,{className:`ml-auto inline-flex items-center gap-1.5`,children:e.formats.map(e=>(0,q.jsx)(Y,{format:e,className:`size-4`},e))})]}):(0,q.jsx)(fe,{tone:`warn`,children:j(`market.needsUpdate`)})})]})}function Z({title:e,children:t}){return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1.5 font-medium text-[12px] text-ink-3 uppercase tracking-[0.06em]`,children:e}),t]})}var Je=e=>e.map(e=>J(G,e)).join(`, `),Ye={text:ie,web:De,browser:ke,documents:je,image:b,video:T,speech:Le,listening:re,code:Fe,connectors:pe};function Xe(e){switch(e.type){case`page`:return ee;case`agent`:return y;case`generate`:return e.asset===`image`?b:e.asset===`video`?T:e.asset===`voice`?Le:e.asset===`dashboard`?I:w;case`widget`:return e.video?Se:me;case`review`:return S;case`result`:return v}return ne}function Ze(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=Ze(e);return e.map(e=>({id:e.id,title:e.title,icon:Xe(e),tone:te[e.type]??`bg-paper-2 text-ink-2`,optional:t.has(e.id),branches:e.branches}))}function Q({title:e,children:t}){return(0,q.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,q.jsxs)(`div`,{className:`flex gap-2.5`,children:[(0,q.jsx)(`span`,{className:`mt-0.5 shrink-0`,children:e}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`div`,{className:`text-[14px] text-ink leading-snug`,children:t}),n?(0,q.jsx)(`div`,{className:`text-[12px] text-ink-3 leading-snug`,children:n}):null]})]})}function $e({className:e,children:t}){let n=(0,U.useRef)(null),[r,i]=(0,U.useState)({above:!1,below:!1});(0,U.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,q.jsx)(`div`,{ref:n,className:e,style:{maskImage:a,WebkitMaskImage:a},children:(0,q.jsx)(`div`,{children:t})})}function et({id:e,fallback:t,onClose:n,onUse:a,busy:o}){let s=m(),c=i(),d=r({queryKey:[`marketplace-entry`,e,O],queryFn:()=>p.get(`/api/studio/marketplace/${encodeURIComponent(e)}?lang=${O}`),enabled:!!e,retry:!1}),f=d.data??t,h=M({mutationFn:t=>{let n=`/api/studio/marketplace/${encodeURIComponent(e)}/star`;return t?p.put(n):p.del(n)},onSuccess:()=>Promise.all([s.invalidateQueries({queryKey:[`marketplace`]}),s.invalidateQueries({queryKey:[`marketplace-entry`,e]})])}),g=u()===`dark`,_=se[ce[f?.avatar||`round`]],v=g?`var(--card)`:`color-mix(in oklch, ${_??`var(--ink-4)`} 14%, var(--paper-2))`;return(0,q.jsx)(le,{open:!!e,onClose:n,wide:!0,bare:!0,children:f?(0,q.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,q.jsx)(`button`,{type:`button`,"aria-label":j(`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,q.jsx)(N,{className:`size-4`})}),(0,q.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,q.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0 overflow-hidden sm:rounded-t-2xl`,children:(0,q.jsx)(`span`,{className:k(`-top-28 -right-10 absolute size-80 rounded-full bg-white blur-3xl`,g?`opacity-[0.14]`:`opacity-80`)})}),(0,q.jsx)(`div`,{className:`-bottom-5 absolute right-9 z-10 max-sm:hidden`,children:(0,q.jsx)(l,{kind:f.avatar,size:104})}),(0,q.jsxs)(`div`,{className:`relative sm:pr-36`,children:[(0,q.jsx)(`h2`,{className:`font-display font-semibold text-[22px] leading-tight tracking-tight max-sm:pr-10`,children:f.title}),(0,q.jsx)(`p`,{className:`mt-1 text-[14px] text-ink-2 leading-snug`,children:d.data?.description||f.pitch})]}),f.usable?(0,q.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-[14px] sm:px-7 sm:pr-40`,children:[(0,q.jsxs)(Q,{title:j(`market.duration`),children:[(0,q.jsx)(V,{className:`size-4 text-ink-3`}),j(`market.minutes`,{n:f.effort.minutes})]}),(0,q.jsx)(Q,{title:j(`market.cost`),children:(0,q.jsx)(X,{entry:f})}),(0,q.jsx)(Q,{title:j(`market.result`),children:f.formats.map(e=>(0,q.jsx)(Y,{format:e,className:`size-4`},e))})]}):null]}),f.usable?(0,q.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,q.jsxs)(`div`,{className:`flex flex-col gap-5 sm:min-h-0 sm:overflow-y-auto`,children:[(0,q.jsx)(Z,{title:j(`market.duration`),children:(0,q.jsx)($,{icon:(0,q.jsx)(V,{className:`size-4 text-moss`}),more:j(`market.durationHint`,{n:f.effort.fields}),children:j(`market.minutes`,{n:f.effort.minutes})})}),(0,q.jsx)(Z,{title:j(`market.cost`),children:(0,q.jsx)($,{icon:(0,q.jsx)(Te,{className:`size-4 text-amber`}),more:f.credits?j(`market.creditsHint`):void 0,children:(0,q.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-2`,children:[(0,q.jsx)(X,{entry:f}),f.credits?(0,q.jsx)(`span`,{className:`text-ink-2`,children:j(`market.creditsRange`,{n:Ue(f.credits.credits)})}):null]})})}),(0,q.jsx)(Z,{title:j(`market.result`),children:(0,q.jsx)(`div`,{className:`flex flex-col gap-2`,children:(d.data?.results??[]).map(e=>(0,q.jsx)($,{icon:(0,q.jsx)(Y,{format:e.kind,className:`size-4 text-ember-strong`}),more:e.formats.map(e=>e.toUpperCase()).join(` · `),children:e.title},e.title))})}),(0,q.jsx)(Z,{title:j(`market.needs`),children:(0,q.jsx)(`ul`,{className:`flex flex-col gap-2`,children:f.capabilities.map(e=>{let t=Ye[e],n=f.missing.includes(e);return(0,q.jsxs)(`li`,{className:k(`flex items-center gap-2.5 text-[14px]`,n?`text-ink-3`:`text-ink-2`),children:[(0,q.jsx)(t,{className:k(`size-4 shrink-0`,n?`text-rose`:`text-cobalt`)}),J(G,e),n?(0,q.jsx)(`span`,{className:`text-[12px] text-rose`,children:j(`market.unavailable`)}):null]},e)})})})]}),(0,q.jsxs)(`div`,{className:`flex flex-col sm:min-h-0`,children:[(0,q.jsx)(`div`,{className:`mb-1.5 shrink-0 font-medium text-[12px] text-ink-3 uppercase tracking-[0.06em]`,children:j(`market.steps`)}),(0,q.jsx)($e,{className:`-mr-2 overscroll-contain pt-1 pr-2 pl-1 sm:min-h-0 sm:flex-1 sm:overflow-y-auto`,children:d.isLoading?(0,q.jsx)(D,{className:`size-5 text-ink-3`}):(0,q.jsx)(U.Suspense,{fallback:(0,q.jsx)(D,{className:`size-5 text-ink-3`}),children:(0,q.jsx)(Ve,{steps:Qe(d.data?.outline??[])})})})]})]}):(0,q.jsx)(`div`,{className:`flex-1 px-5 pt-6 sm:px-7`,children:(0,q.jsx)(`p`,{className:`rounded-lg bg-amber-tint p-3 text-[14px] text-ink-2`,children:j(`market.needsUpdateHint`)})}),(0,q.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,q.jsxs)(A,{variant:`ghost`,className:`mr-auto`,title:j(`market.starHint`),"aria-pressed":f.starred,busy:h.isPending,onClick:()=>h.mutate(!f.starred),children:[(0,q.jsx)(E,{className:k(`size-4`,f.starred&&`fill-amber text-amber`)}),(0,q.jsx)(`span`,{className:`max-sm:sr-only`,children:j(f.starred?`market.starred`:`market.star`)})]}),(0,q.jsx)(A,{variant:`secondary`,onClick:n,children:j(`common.close`)}),f.usable&&f.missing.length?(0,q.jsx)(A,{variant:`secondary`,onClick:()=>c(`/settings/models`),children:j(`editor.models.settings`)}):null,(0,q.jsx)(A,{disabled:!f.usable||f.missing.length>0,title:f.missing.length?j(`market.missingHint`,{list:Je(f.missing)}):void 0,busy:o,onClick:()=>a(f),children:j(`market.use`)})]})]}):(0,q.jsx)(`div`,{className:`flex min-h-48 flex-col items-center justify-center gap-3 rounded-2xl bg-card p-8 text-[14px] text-ink-2 shadow-overlay`,children:d.isLoading?(0,q.jsx)(D,{className:`size-6 text-ink-3`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{children:j(`market.notFound`)}),(0,q.jsx)(A,{variant:`secondary`,onClick:n,children:j(`common.close`)})]})})})}function tt({name:e,value:t,options:n,onChange:r}){let[i,a]=(0,U.useState)(!1),o=(0,U.useRef)(null);(0,U.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,q.jsxs)(`div`,{ref:o,className:`relative`,children:[(0,q.jsxs)(`div`,{className:k(`flex h-8 items-center rounded-full text-[13px] 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,q.jsx)(`button`,{type:`button`,"aria-haspopup":`listbox`,"aria-expanded":i,onClick:()=>a(!i),className:k(`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,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`text-ink-3`,children:e}),(0,q.jsx)(`span`,{className:`font-medium`,children:s.label})]}):(0,q.jsxs)(q.Fragment,{children:[e,(0,q.jsx)(C,{className:k(`size-3.5 transition`,i&&`rotate-180`)})]})}),s?(0,q.jsx)(`button`,{type:`button`,"aria-label":`${e}: ${j(`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,q.jsx)(N,{className:`size-3.5`})}):null]}),i?(0,q.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,q.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:k(`flex w-full items-center gap-2.5 rounded-lg px-2.5 py-2 text-left text-[14px] 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,q.jsx)(`span`,{className:`flex-1 whitespace-nowrap`,children:e.label}),e.value===t?(0,q.jsx)(x,{className:`size-4 text-ember`}):e.unavailable?(0,q.jsx)(`span`,{className:`whitespace-nowrap text-[12px] text-ink-4`,children:j(`market.unavailable`)}):(0,q.jsx)(`span`,{className:`text-[12px] text-ink-4 tabular-nums`,children:e.count})]},e.value))}):null]})}function nt(e,t){let[n,r]=(0,U.useState)(e);return(0,U.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n}var rt=60;function it({onUse:e,busy:t,open:n}){let[r,i]=(0,U.useState)(``),[a,s]=(0,U.useState)(He),[c,l]=(0,U.useState)(!1),[u,d]=(0,U.useState)(n??null),f=nt(r.trim(),250),m=ve({queryKey:[`marketplace`,O,f,a,c],queryFn:({pageParam:e})=>{let t=new URLSearchParams({lang:O,limit:String(rt),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:J(t,r),icon:n?.(r),count:(h?.facets[e])[r]??0,unavailable:e===`capability`&&ee.has(r)})),ee=new Set(h?.unavailable??[]),b=y(`useCase`,ze),te=[{key:`industry`,name:j(`market.industry`),options:y(`industry`,Re)},{key:`format`,name:j(`market.format`),options:y(`format`,W,e=>(0,q.jsx)(Y,{format:e,className:`size-4 text-ink-3`}))},{key:`capability`,name:j(`market.capability`),options:y(`capability`,G,e=>{let t=Ye[e];return(0,q.jsx)(t,{className:`size-4 text-ink-3`})})}],x=!!r.trim()||c||Object.values(a).some(Boolean),S=()=>{s(He),i(``),l(!1)};if(m.isLoading)return(0,q.jsx)(`div`,{className:`flex justify-center py-10`,children:(0,q.jsx)(D,{className:`size-6 text-ink-3`})});let C=h?.offline?(0,q.jsxs)(`p`,{className:`mt-4 flex items-center justify-center gap-2 text-[13px] text-ink-3`,children:[(0,q.jsx)(Ce,{className:`size-4 shrink-0`}),j(`market.offline`)]}):null;if(!_&&!x)return C;let ne=r?(0,q.jsx)(`button`,{type:`button`,"aria-label":j(`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,q.jsx)(N,{className:`size-4`})}):null,w=e=>k(`inline-flex h-7 shrink-0 items-center gap-1 whitespace-nowrap rounded-full px-2.5 text-[12.5px] 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,q.jsxs)(`div`,{children:[(0,q.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,q.jsx)(D,{className:`size-4 shrink-0 text-ink-3`}):(0,q.jsx)(ae,{className:`size-4 shrink-0 text-ink-3`}),(0,q.jsx)(`input`,{type:`search`,value:r,onChange:e=>i(e.target.value),placeholder:j(`market.search`),"aria-label":j(`market.search`),className:`min-w-0 flex-1 bg-transparent text-[15px] outline-none placeholder:text-ink-4 [&::-webkit-search-cancel-button]:hidden`}),ne]}),C,(0,q.jsxs)(`div`,{className:`max-sm:-mx-4 mt-4 flex gap-1 max-sm:overflow-x-auto max-sm:px-4 max-sm:[scrollbar-width:none] sm:flex-wrap sm:justify-center max-sm:[&::-webkit-scrollbar]:hidden`,children:[[{value:``,label:j(`market.all`)},...b].map(e=>(0,q.jsx)(`button`,{type:`button`,"aria-pressed":!c&&a.useCase===e.value,onClick:()=>{l(!1),s({...a,useCase:e.value})},className:w(!c&&a.useCase===e.value),children:e.label},e.value)),(0,q.jsxs)(`button`,{type:`button`,"aria-pressed":c,onClick:()=>l(!c),className:w(c),children:[(0,q.jsx)(E,{className:k(`size-3.5`,c&&`fill-amber text-amber`)}),j(`market.starred`)]})]}),(0,q.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-x-1 gap-y-2 sm:mt-6`,children:[c?null:te.map(e=>(0,q.jsx)(tt,{name:e.name,value:a[e.key],options:e.options,onChange:t=>s({...a,[e.key]:t})},e.key)),(0,q.jsxs)(`span`,{className:`ml-auto flex items-center gap-3 whitespace-nowrap pl-2 text-[13px] text-ink-3`,children:[x?(0,q.jsxs)(`button`,{type:`button`,onClick:S,className:`inline-flex items-center gap-1 text-ember-strong underline-offset-2 hover:underline`,children:[(0,q.jsx)(N,{className:`size-3.5 max-sm:size-4`}),(0,q.jsx)(`span`,{className:`max-sm:sr-only`,children:j(`market.resetShort`)})]}):null,x?(0,q.jsx)(`span`,{className:`tabular-nums sm:hidden`,children:j(`market.countOfShort`,{n:h?.total??0,all:_})}):null,(0,q.jsx)(`span`,{className:k(`tabular-nums`,x&&`max-sm:hidden`),children:x?j(`market.countOf`,{n:h?.total??0,all:_}):j(`market.count`,{n:_})})]})]}),g.length?(0,q.jsx)(`div`,{className:`mt-4 grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:g.map(e=>(0,q.jsx)(qe,{entry:e,onOpen:()=>d(e.id)},e.id))}):(0,q.jsxs)(`div`,{className:`py-10 text-center text-[14px] text-ink-3`,children:[(0,q.jsx)(`p`,{children:j(c?`market.noneStarred`:`market.none`)}),(0,q.jsx)(A,{variant:`ghost`,className:`mt-2`,onClick:S,children:j(`market.reset`)})]}),m.hasNextPage?(0,q.jsx)(`div`,{className:`mt-6 flex justify-center`,children:(0,q.jsx)(A,{variant:`secondary`,busy:m.isFetchingNextPage,onClick:()=>void m.fetchNextPage(),children:j(`market.more`)})}):null,(0,q.jsx)(et,{id:u,fallback:g.find(e=>e.id===u)??null,onClose:()=>d(null),onUse:e,busy:t})]})}var at={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 ot(){let e=i(),t=m(),{project:n}=he(),[r,a]=(0,U.useState)(``),[o]=f(),s=M({mutationFn:e=>p.post(`/api/studio/wizards`,{projectId:n.id,starterId:e,lang:O}),onSuccess:async({id:n},i)=>{await t.invalidateQueries({queryKey:[`projects`]}),await t.invalidateQueries({queryKey:[`wizards`]}),e(i?`/edit/${n}`:`/edit/${n}?prompt=${encodeURIComponent(r.trim())}`)}}),c=()=>{r.trim()&&n&&s.mutate(void 0)};return(0,q.jsxs)(`div`,{className:`animate-rise pt-4`,children:[(0,q.jsxs)(`div`,{className:`mx-auto max-w-2xl`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,q.jsx)(l,{kind:`sprout`,size:150,fluffy:!0}),(0,q.jsx)(`h1`,{className:`mt-2 font-display font-semibold text-[32px] leading-tight tracking-tight sm:text-[38px]`,children:j(`new.title`)})]}),(0,q.jsxs)(`div`,{className:`mt-8 rounded-2xl bg-card p-2 shadow-elevated ring-1 ring-border-soft focus-within:ring-focus`,children:[(0,q.jsx)(ue,{autoFocus:!0,minRows:4,value:r,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&c()},placeholder:j(`new.placeholder`),className:`border-0 bg-transparent text-[16px] shadow-none focus:ring-0`}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-2 pb-1`,children:[(0,q.jsx)(`span`,{className:`hidden text-[12px] text-ink-4 sm:block`,children:j(`new.hint`)}),(0,q.jsxs)(A,{size:`md`,onClick:c,busy:s.isPending&&!s.variables,disabled:!r.trim(),children:[j(`new.build`),` `,(0,q.jsx)(_,{className:`size-4`})]})]})]}),(0,q.jsx)(`div`,{className:`mt-4 flex flex-wrap justify-center gap-2`,children:at[O].map(e=>(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(e),className:`rounded-full bg-paper-2 px-3.5 py-1.5 text-[13px] text-ink-2 transition hover:bg-paper-3 hover:text-ink`,children:e},e))})]}),(0,q.jsxs)(`section`,{className:`mx-auto max-w-5xl`,children:[(0,q.jsx)(`h2`,{className:`mt-16 mb-5 text-center font-medium text-[13px] text-ink-3 uppercase tracking-[0.08em]`,children:j(`new.orStarter`)}),(0,q.jsx)(it,{open:o.get(`starter`),busy:s.isPending&&!!s.variables,onUse:e=>n&&!s.isPending&&s.mutate(e.id)}),s.error?(0,q.jsx)(`p`,{className:`mt-3 text-center text-[14px] text-rose`,children:s.error.message}):null]}),(0,q.jsx)(`div`,{className:`mt-8 flex justify-center`,children:(0,q.jsx)(ge,{variant:`ghost`,label:j(`new.import`)})})]})}export{ot as NewWizardPage};
@@ -1 +0,0 @@
1
- import{i as e,n as t,t as n}from"./jsx-runtime-Dk72oS4N.js";import{A as r,D as i,O as a,a as o,c as s,d as c,f as l,h as u,l as d,n as f,r as p}from"./api-DbPn6Dge.js";import{t as m}from"./createLucideIcon-DBu2Ovxj.js";import{t as h}from"./RunnerView-DgYaOHIH.js";import{t as g}from"./arrow-right-CucQycEy.js";import{d as _,h as v,t as y,v as b}from"./ui-tO4ZXbfh.js";var x={name:`square-plus`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]],aliases:[`plus-square`]};x.node;var S=m(x),C=e(t(),1);function w(){if(window.self===window.top)return null;let e=new URLSearchParams(window.location.search).get(`embed`);return e===`inline`||e===`modal`?e:null}var T=w(),E=(e,t={})=>window.parent.postMessage({type:`engenty-wizard:${e}`,...t},`*`);function D(){(0,C.useEffect)(()=>{if(T===`inline`){let e=document.documentElement;document.getElementById(`root`)?.style.setProperty(`min-height`,`0`),e.style.overflow=`hidden`;let t=new ResizeObserver(()=>E(`height`,{height:Math.ceil(e.getBoundingClientRect().height)}));return t.observe(e),()=>t.disconnect()}if(T===`modal`){let e=e=>{e.key===`Escape`&&!document.querySelector(`dialog[open]`)&&E(`close`)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)}},[])}var O=n();function k(e){(0,C.useEffect)(()=>{if(!e)return;let t=document.documentElement;return t.style.setProperty(`--raw-primary`,e),()=>{t.style.removeProperty(`--raw-primary`)}},[e])}function A(e,t){(0,C.useEffect)(()=>{let n=document.querySelector(`link[rel="manifest"]`);if(!e||!t||!n)return;let r=n.getAttribute(`href`)??`/manifest.webmanifest`;n.setAttribute(`href`,`/api/public/wizards/${e}/manifest.webmanifest`);let i=document.createElement(`meta`);return i.name=`apple-mobile-web-app-title`,i.content=t,document.head.appendChild(i),()=>{n.setAttribute(`href`,r),i.remove()}},[e,t])}function j(){let[e,t]=(0,C.useState)(()=>window.wizardInstall??null),[n,r]=(0,C.useState)(!1);(0,C.useEffect)(()=>{let e=()=>t(window.wizardInstall??null);return window.addEventListener(`wizard-install`,e),()=>window.removeEventListener(`wizard-install`,e)},[]);let i=window.matchMedia(`(display-mode: standalone)`).matches||navigator.standalone===!0,a=/iPhone|iPad|iPod/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>1;return i||!e&&!a?null:(0,O.jsxs)(`div`,{className:`mt-6 flex flex-col items-center gap-2 text-[13px] text-ink-3`,children:[(0,O.jsxs)(`button`,{type:`button`,onClick:()=>{e?(e.prompt(),window.wizardInstall=null,t(null)):r(e=>!e)},className:`inline-flex items-center gap-1.5 underline-offset-4 hover:text-ink hover:underline coarse:min-h-11`,children:[(0,O.jsx)(S,{className:`size-4`}),` `,b(`install.add`)]}),n?(0,O.jsx)(`p`,{className:`max-w-xs leading-relaxed`,children:b(`install.ios`)}):null]})}function M({brand:e,toggle:t=!0}){return(0,O.jsx)(`header`,{className:`safe-top`,children:(0,O.jsxs)(`div`,{className:`relative flex h-14 items-center justify-center px-5`,children:[e.logoUrl?(0,O.jsx)(`img`,{src:s(e.logoUrl),alt:e.name,className:`h-7 max-w-[160px] object-contain`}):e.name?(0,O.jsx)(`span`,{className:`max-w-[60%] truncate font-display font-semibold text-[15px] text-ink-2 tracking-tight`,children:e.name}):null,t?(0,O.jsx)(`div`,{className:`absolute right-3`,children:(0,O.jsx)(l,{})}):null]})})}function N({siteKey:e,onToken:t}){let n=(0,C.useRef)(null);return(0,C.useEffect)(()=>{let r=()=>{n.current&&window.turnstile&&!n.current.childElementCount&&window.turnstile.render(n.current,{sitekey:e,callback:t,appearance:`interaction-only`})};if(window.turnstile){r();return}let i=document.createElement(`script`);i.src=`https://challenges.cloudflare.com/turnstile/v0/api.js`,i.async=!0,i.onload=r,document.head.appendChild(i)},[e,t]),(0,O.jsx)(`div`,{ref:n,className:`mt-4 flex justify-center`})}var P=e=>`wz.run.${e}`,F=T===`inline`?`min-h-80`:`min-h-dvh`;function I({wizard:e}){let t=i(),[n,r]=(0,C.useState)(!1),[a,o]=(0,C.useState)(null),[s,l]=(0,C.useState)(null),u=(()=>{try{return localStorage.getItem(P(e.token))}catch{return null}})();return(0,O.jsxs)(`div`,{className:`mx-auto flex max-w-lg animate-rise flex-col items-center px-6 pt-6 pb-12 text-center sm:pt-16 sm:pb-16`,children:[(0,O.jsx)(c,{kind:e.avatar,size:190,fluffy:!0}),(0,O.jsx)(`h1`,{className:`mt-2 text-balance font-display font-semibold text-[30px] leading-[1.1] tracking-tight sm:text-[34px]`,children:e.title}),e.description?(0,O.jsx)(`p`,{className:`mt-3 text-[16px] text-ink-2 leading-relaxed`,children:e.description}):null,e.available?(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)(y,{size:`lg`,className:`mt-10 min-w-48`,busy:n,disabled:!!e.turnstileSiteKey&&!s,onClick:async()=>{r(!0),o(null);try{let{runId:n}=await f.post(`/api/public/wizards/${e.token}/runs`,{turnstileToken:s??void 0,embedded:T!==null});try{localStorage.setItem(P(e.token),n)}catch{}t(`/w/${e.token}/${n}`)}catch(e){o(e.message),r(!1)}},children:[b(`run.start`),` `,(0,O.jsx)(g,{className:`size-4`})]}),e.turnstileSiteKey?(0,O.jsx)(N,{siteKey:e.turnstileSiteKey,onToken:l}):null,u?(0,O.jsx)(`button`,{type:`button`,onClick:()=>t(`/w/${e.token}/${u}`),className:`mt-4 text-[14px] text-ink-3 underline-offset-4 hover:text-ink hover:underline coarse:min-h-11`,children:b(`run.resume`)}):null,T?null:(0,O.jsx)(j,{})]}):(0,O.jsx)(`p`,{className:`mt-10 rounded-xl bg-paper-2 px-5 py-4 text-[15px] text-ink-2`,children:e.unavailableReason??b(`run.unavailable`)}),a?(0,O.jsx)(`p`,{className:`mt-4 text-[14px] text-rose`,children:a}):null]})}function L(){let{token:e,runId:t}=a(),n=i(),s=r({queryKey:[`public`,e],queryFn:()=>f.get(`/api/public/wizards/${e}`),retry:(e,t)=>p(t)&&e<3});if(k(s.data?.brand.accent),u(s.data?.avatar),A(e,s.data?.title),D(),(0,C.useEffect)(()=>{s.data&&(document.title=s.data.title)},[s.data]),s.isLoading)return(0,O.jsx)(`div`,{className:v(`flex items-center justify-center text-ink-4`,F),children:(0,O.jsx)(_,{})});if(!s.data){let e=p(s.error);return(0,O.jsxs)(`div`,{className:v(`flex flex-col items-center justify-center gap-4 px-6 text-center`,F),children:[(0,O.jsx)(c,{kind:`pebble`,size:80}),(0,O.jsx)(`p`,{className:`max-w-xs text-ink-3`,children:b(e?`common.offline`:`run.notFound`)}),e?(0,O.jsx)(y,{variant:`secondary`,onClick:()=>void s.refetch(),children:b(`common.retry`)}):null]})}return(0,O.jsxs)(`div`,{className:v(`flex flex-col`,F),children:[T===`inline`?null:(0,O.jsx)(M,{brand:s.data.brand,toggle:!T}),(0,O.jsx)(`div`,{className:`flex-1`,children:t?(0,O.jsx)(h,{runId:t,onRestart:()=>n(`/w/${e}`)}):(0,O.jsx)(I,{wizard:s.data})}),(0,O.jsx)(`footer`,{className:`safe-bottom pt-6 text-center text-[12px] text-ink-4`,children:(0,O.jsx)(`a`,{href:`${o}/`,target:T?`_blank`:void 0,rel:`noreferrer`,className:`inline-block py-3.5 hover:text-ink-2`,children:b(`run.madeWith`).replace(`engenty wizards`,d.name)})})]})}export{M as BrandHeader,L as PublicRunner,k as useBrandAccent};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/qr-scanner.min-C_UI0gH-.js","assets/preload-helper-CNEI7N0N.js"])))=>i.map(i=>d[i]);
2
- import{i as e,n as t,t as n}from"./jsx-runtime-Dk72oS4N.js";import{c as r,d as i,n as a,t as o}from"./api-DbPn6Dge.js";import{t as s}from"./preload-helper-CNEI7N0N.js";import{t as c}from"./createLucideIcon-DBu2Ovxj.js";import{t as l}from"./arrow-left-UpjOBfQp.js";import{t as u}from"./arrow-right-CucQycEy.js";import{S as d,_ as f,a as p,b as m,c as h,d as g,f as _,g as v,h as y,i as b,l as x,m as S,o as C,p as w,s as T,t as E,u as D,v as O,x as ee,y as k}from"./outputs-CHe6KRLc.js";import{t as A}from"./check-Bjx41xbB.js";import{n as j,t as M}from"./plus-HA210wXA.js";import{t as N}from"./external-link-CRg6DVdO.js";import{n as P,t as F}from"./mic-CeqQ89Dj.js";import{n as I,t as te}from"./video-Dk1fuTDl.js";import{d as ne,f as re,p as ie,u as ae}from"./definition-cy7uvY5L.js";import{c as L,d as R,f as oe,g as z,h as B,i as se,l as ce,m as le,n as ue,o as V,p as de,s as H,t as U,u as fe,v as W}from"./ui-tO4ZXbfh.js";import{u as G}from"./index-BRy5sz4a.js";var pe={name:`arrow-down`,size:24,node:[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]};pe.node;var me=c(pe),he={name:`bell-ring`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M22 8c0-2.3-.8-4.3-2-6`,key:`5bb3ad`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}],[`path`,{d:`M4 2C2.8 3.7 2 5.7 2 8`,key:`tap9e0`}]]};he.node;var ge=c(he),_e={name:`bell`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]};_e.node;var ve=c(_e),ye={name:`camera`,size:24,node:[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]};ye.node;var be=c(ye),xe={name:`corner-down-left`,size:24,node:[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`,key:`6o5b7l`}],[`path`,{d:`m9 10-5 5 5 5`,key:`1kshq7`}]]};xe.node;var Se=c(xe),Ce={name:`database`,size:24,node:[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]};Ce.node;var we=c(Ce),Te={name:`eraser`,size:24,node:[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]};Te.node;var Ee=c(Te),De={name:`file-headphone`,size:24,node:[[`path`,{d:`M4 6.835V4a2 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-.343`,key:`1vfytu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`,key:`1etmh7`}]],aliases:[`file-audio`,`file-audio-2`]};De.node;var Oe=c(De),ke={name:`flashlight-off`,size:24,node:[[`path`,{d:`M11.652 6H18`,key:`voqkpr`}],[`path`,{d:`M12 13v1`,key:`176q98`}],[`path`,{d:`M16 16v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V6`,key:`dzyf92`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M7.649 2H17a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8a4 4 0 0 0-.55 1.007`,key:`1hvcfn`}]]};ke.node;var Ae=c(ke),je={name:`flashlight`,size:24,node:[[`path`,{d:`M12 13v1`,key:`176q98`}],[`path`,{d:`M17 2a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8A4 4 0 0 0 16 12v8a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V3a1 1 0 0 1 1-1z`,key:`17vh7j`}],[`path`,{d:`M6 6h12`,key:`n6hhss`}]]};je.node;var Me=c(je),Ne={name:`grip-vertical`,size:24,node:[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]};Ne.node;var Pe=c(Ne),Fe={name:`image-plus`,size:24,node:[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]};Fe.node;var Ie=c(Fe),Le={name:`image-up`,size:24,node:[[`path`,{d:`M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21`,key:`9csbqa`}],[`path`,{d:`m14 19.5 3-3 3 3`,key:`9vmjn0`}],[`path`,{d:`M17 22v-5.5`,key:`1aa6fl`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]};Le.node;var Re=c(Le),ze={name:`locate-fixed`,size:24,node:[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`,key:`bvdh0s`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`,key:`1tbv5k`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`,key:`11lu5j`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`,key:`x3vr5v`}],[`circle`,{cx:`12`,cy:`12`,r:`7`,key:`fim9np`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};ze.node;var Be=c(ze),Ve={name:`lock-keyhole`,size:24,node:[[`circle`,{cx:`12`,cy:`16`,r:`1`,key:`1au0dj`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`,key:`6s8ecr`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`,key:`1pqi11`}]]};Ve.node;var He=c(Ve),Ue={name:`map-pin`,size:24,node:[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`,key:`1r0f0z`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]};Ue.node;var We=c(Ue),Ge={name:`pencil-line`,size:24,node:[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]};Ge.node;var Ke=c(Ge),qe={name:`rotate-ccw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]};qe.node;var Je=c(qe),Ye={name:`scan-line`,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 12h10`,key:`b7w52i`}]]};Ye.node;var Xe=c(Ye),Ze={name:`share-2`,size:24,node:[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]};Ze.node;var Qe=c(Ze),$e={name:`shield-check`,size:24,node:[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]};$e.node;var et=c($e),tt={name:`switch-camera`,size:24,node:[[`path`,{d:`M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5`,key:`mtk2lu`}],[`path`,{d:`M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5`,key:`120jsl`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`path`,{d:`m18 22-3-3 3-3`,key:`kgdoj7`}],[`path`,{d:`m6 2 3 3-3 3`,key:`1fnbkv`}]]};tt.node;var nt=c(tt),rt={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};rt.node;var it=c(rt),at={name:`unplug`,size:24,node:[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]};at.node;var ot=c(at),K=e(t(),1),q=n();function st(e,t){let n=encodeURIComponent(e),r=encodeURIComponent(t);return[{id:`mail`,label:W(`shareRun.email`),href:`mailto:?subject=${r}&body=${r}%0A%0A${n}`},{id:`x`,label:`X`,href:`https://x.com/intent/post?text=${r}&url=${n}`},{id:`linkedin`,label:`LinkedIn`,href:`https://www.linkedin.com/sharing/share-offsite/?url=${n}`},{id:`whatsapp`,label:`WhatsApp`,href:`https://wa.me/?text=${r}%20${n}`},{id:`facebook`,label:`Facebook`,href:`https://www.facebook.com/sharer/sharer.php?u=${n}`}]}var ct={x:`𝕏`,linkedin:`in`,whatsapp:`WA`,facebook:`f`};function lt({runId:e,title:t,initial:n}){let[r,i]=(0,K.useState)(!1),[o,s]=(0,K.useState)(n),[c,l]=(0,K.useState)(!1),[u,d]=(0,K.useState)(!1),[f,p]=(0,K.useState)(null),h=async()=>{if(i(!0),!o){l(!0),p(null);try{s(await a.post(`/api/runs/${e}/share`))}catch(e){p(e.message)}finally{l(!1)}}},g=async()=>{await a.del(`/api/runs/${e}/share`),s(null),i(!1)},_=()=>{o&&(navigator.clipboard.writeText(o.url),d(!0),setTimeout(()=>d(!1),1500))},v=typeof navigator<`u`&&`share`in navigator,y=o?.expiresAt?new Intl.DateTimeFormat(z,{dateStyle:`long`}).format(new Date(o.expiresAt)):null;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(U,{variant:`secondary`,onClick:()=>void h(),children:[(0,q.jsx)(Qe,{className:`size-4`}),` `,W(`shareRun.button`)]}),(0,q.jsx)(se,{open:r,onClose:()=>i(!1),title:W(`shareRun.title`),children:c?(0,q.jsx)(`div`,{className:`flex justify-center py-8 text-ink-4`,children:(0,q.jsx)(R,{})}):f?(0,q.jsx)(`p`,{className:`rounded-lg bg-rose-tint px-3 py-2 text-[14px] text-rose`,children:f}):o?(0,q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl bg-paper-2 p-1.5 pl-3`,children:[(0,q.jsx)(m,{className:`size-4 shrink-0 text-ink-3`}),(0,q.jsx)(`input`,{readOnly:!0,value:o.url,onFocus:e=>e.target.select(),"aria-label":W(`share.link`),className:`min-w-0 flex-1 bg-transparent text-[14px] outline-none coarse:h-11`}),(0,q.jsxs)(U,{size:`sm`,onClick:_,children:[u?(0,q.jsx)(A,{className:`size-3.5`}):(0,q.jsx)(j,{className:`size-3.5`}),W(u?`share.copied`:`share.copy`)]})]}),(0,q.jsxs)(`div`,{className:`grid grid-cols-3 gap-3 sm:grid-cols-6`,children:[st(o.url,t).map(e=>(0,q.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noreferrer`,className:`flex flex-col items-center gap-1.5 text-[12px] text-ink-2 hover:text-ink`,children:[(0,q.jsx)(`span`,{className:`inline-flex size-12 items-center justify-center rounded-full bg-paper-2 font-semibold text-[15px] transition hover:bg-paper-3`,children:e.id===`mail`?(0,q.jsx)(k,{className:`size-5`}):ct[e.id]}),e.label]},e.id)),v?(0,q.jsxs)(`button`,{type:`button`,onClick:()=>void navigator.share({title:t,url:o.url}).catch(()=>void 0),className:`flex flex-col items-center gap-1.5 text-[12px] text-ink-2 hover:text-ink`,children:[(0,q.jsx)(`span`,{className:`inline-flex size-12 items-center justify-center rounded-full bg-paper-2 transition hover:bg-paper-3`,children:(0,q.jsx)(Qe,{className:`size-5`})}),W(`shareRun.more`)]}):null]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 text-[13px] text-ink-3`,children:[(0,q.jsx)(`span`,{children:y?W(`shareRun.until`,{date:y}):W(`shareRun.kept`)}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>void g(),className:`shrink-0 hover:text-rose coarse:min-h-11`,children:W(`shareRun.withdraw`)})]})]}):null})]})}function ut({runId:e,ask:t}){return t.kind===`confirm`?(0,q.jsx)(dt,{runId:e,ask:t}):(0,q.jsx)(ft,{runId:e,ask:t})}function dt({runId:e,ask:t}){let[n,r]=(0,K.useState)(!1),[i,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(null),l=async n=>{o(!0),c(null);try{await a.post(`/api/runs/${e}/ask/${t.id}`,n)}catch(e){c(e.message),o(!1)}},u=t.action.destructive?it:Ke;return(0,q.jsxs)(`div`,{className:`animate-rise`,children:[(0,q.jsxs)(`div`,{className:`mb-5 flex items-start gap-3`,children:[(0,q.jsx)(`div`,{className:B(`flex size-10 shrink-0 items-center justify-center rounded-full`,t.action.destructive?`bg-rose-tint text-rose`:`bg-ember-tint text-ember-strong`),children:(0,q.jsx)(u,{className:`size-5`})}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`p`,{className:`text-[13px] text-ink-3`,children:W(`ask.wants`,{service:t.service})}),(0,q.jsx)(`h2`,{className:`font-display font-semibold text-[20px] leading-snug tracking-tight`,children:t.reason})]})]}),(0,q.jsx)(`pre`,{className:`max-h-72 overflow-auto whitespace-pre-wrap break-words rounded-xl bg-paper-2 p-4 text-[13px] leading-relaxed ring-1 ring-border-soft`,children:t.input}),(0,q.jsxs)(`div`,{className:`mt-5 flex items-center gap-4`,children:[(0,q.jsx)(de,{checked:n,onChange:r,label:W(`ask.allowRest`)}),(0,q.jsx)(`span`,{className:`flex-1 text-[13px] text-ink-2`,children:W(`ask.allowRest`)})]}),s?(0,q.jsx)(`div`,{className:`mt-3 rounded-lg bg-rose-tint px-4 py-3 text-[14px] text-rose`,children:s}):null,(0,q.jsxs)(`div`,{className:`action-bar mt-6 flex items-center justify-between gap-3`,children:[(0,q.jsx)(U,{variant:`ghost`,disabled:i,onClick:()=>void l({type:`skip`}),children:W(`ask.deny`)}),(0,q.jsx)(U,{busy:i,onClick:()=>void l({type:`done`,remember:n}),children:W(`ask.allow`)})]})]})}function ft({runId:e,ask:t}){let[n,i]=(0,K.useState)({}),[o,s]=(0,K.useState)(!1),[c,l]=(0,K.useState)(!1),[u,f]=(0,K.useState)(null),[p,m]=(0,K.useState)(0),[h,g]=(0,K.useState)(``),[_,v]=(0,K.useState)(!1),y=(0,K.useRef)(null),b=(0,K.useCallback)(()=>m(e=>e+1),[]);(0,K.useEffect)(()=>{let e=setInterval(b,2500);return()=>clearInterval(e)},[b]);let x=async n=>{l(!0),f(null);try{await a.post(`/api/runs/${e}/ask/${t.id}`,n)}catch(e){f(e.message),l(!1)}},S=async t=>{f(null);try{await a.post(`/api/runs/${e}/browser/act`,t)}catch(e){f(e.message)}b()},C=e=>{let t=y.current;if(!t?.naturalWidth)return;let n=t.getBoundingClientRect();S({type:`click`,x:Math.round((e.clientX-n.left)/n.width*t.naturalWidth),y:Math.round((e.clientY-n.top)/n.height*t.naturalHeight)})},w=t.fields.some(e=>n[e.id]);return(0,q.jsxs)(`div`,{className:`animate-rise`,children:[(0,q.jsxs)(`div`,{className:`mb-5 flex items-start gap-3`,children:[(0,q.jsx)(`div`,{className:`flex size-10 shrink-0 items-center justify-center rounded-full bg-ember-tint text-ember-strong`,children:(0,q.jsx)(He,{className:`size-5`})}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`h2`,{className:`font-display font-semibold text-[20px] leading-snug tracking-tight`,children:t.reason}),(0,q.jsxs)(`p`,{className:`mt-0.5 truncate text-[13px] text-ink-3`,children:[t.site.host,t.site.title?` · ${t.site.title}`:``]})]})]}),(0,q.jsxs)(`div`,{className:`overflow-hidden rounded-xl bg-paper-2 ring-1 ring-border-soft`,children:[(0,q.jsx)(`img`,{ref:y,src:r(`/api/runs/${e}/browser/screen?t=${p}`),alt:t.site.host,onClick:C,className:`block w-full cursor-pointer`}),(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 border-border-soft border-t bg-card p-2`,children:[(0,q.jsx)(H,{type:_?`password`:`text`,autoComplete:`off`,value:h,placeholder:W(`ask.typeInto`),onChange:e=>g(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),S({type:`type`,text:h}).then(()=>g(``)))},autoCapitalize:`off`,autoCorrect:`off`,spellCheck:!1,enterKeyHint:`send`,className:`h-9 min-w-[9rem] flex-1 basis-full text-[13px] sm:basis-0 coarse:h-11`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>v(e=>!e),className:B(`h-9 shrink-0 rounded-md px-2.5 text-[12px] coarse:h-11 coarse:px-3.5`,_?`bg-ember-veil text-ink`:`text-ink-3 hover:bg-paper-2`),children:W(`ask.hide`)}),(0,q.jsx)(pt,{label:`Enter`,onClick:()=>void S({type:`key`,key:`Enter`}),children:(0,q.jsx)(Se,{className:`size-4`})}),(0,q.jsx)(pt,{label:W(`ask.up`),onClick:()=>void S({type:`scroll`,dy:-500}),children:(0,q.jsx)(d,{className:`size-4`})}),(0,q.jsx)(pt,{label:W(`ask.down`),onClick:()=>void S({type:`scroll`,dy:500}),children:(0,q.jsx)(me,{className:`size-4`})})]})]}),(0,q.jsx)(`p`,{className:`mt-2 text-[12px] text-ink-4`,children:W(`ask.pictureHint`)}),t.fields.length?(0,q.jsxs)(`form`,{className:`mt-5 flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),x({type:`fill`,values:n,remember:o})},children:[t.fields.map((e,r)=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(L,{children:e.label}),(0,q.jsx)(H,{autoFocus:r===0,type:e.secret?`password`:`text`,autoComplete:`off`,autoCapitalize:`off`,autoCorrect:`off`,spellCheck:!1,enterKeyHint:r===t.fields.length-1?`go`:`next`,value:n[e.id]??``,onChange:t=>i(n=>({...n,[e.id]:t.target.value}))})]},e.id)),(0,q.jsx)(`button`,{type:`submit`,hidden:!0})]}):null,(0,q.jsxs)(`div`,{className:`mt-5 flex items-center justify-between gap-4`,children:[(0,q.jsx)(de,{checked:o,onChange:s,label:W(`ask.remember`)}),(0,q.jsx)(`span`,{className:`flex-1 text-[13px] text-ink-2`,children:W(`ask.remember`)})]}),(0,q.jsxs)(`p`,{className:`mt-3 flex items-start gap-2 text-[13px] text-ink-3`,children:[(0,q.jsx)(et,{className:`mt-0.5 size-4 shrink-0 text-moss`}),` `,W(`ask.private`)]}),u?(0,q.jsx)(`div`,{className:`mt-3 rounded-lg bg-rose-tint px-4 py-3 text-[14px] text-rose`,children:u}):null,(0,q.jsxs)(`div`,{className:`action-bar mt-6 flex flex-wrap items-center justify-between gap-3`,children:[(0,q.jsx)(U,{variant:`ghost`,disabled:c,onClick:()=>void x({type:`skip`}),children:W(`ask.skip`)}),(0,q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[t.fields.length?(0,q.jsx)(U,{variant:`secondary`,disabled:c,onClick:()=>void x({type:`done`,remember:o}),children:W(`ask.done`)}):null,t.fields.length?(0,q.jsx)(U,{busy:c,disabled:!w,onClick:()=>void x({type:`fill`,values:n,remember:o}),children:W(`ask.signIn`)}):(0,q.jsx)(U,{busy:c,onClick:()=>void x({type:`done`,remember:o}),children:W(`ask.done`)})]})]})]})}function pt({label:e,onClick:t,children:n}){return(0,q.jsx)(`button`,{type:`button`,"aria-label":e,title:e,onClick:t,className:`flex size-9 shrink-0 items-center justify-center rounded-md text-ink-3 hover:bg-paper-2 hover:text-ink coarse:size-11`,children:n})}var J=36e5,Y=6e4,mt=1e3;function ht(e){return e.fractionDigits===void 0?e.style===`integer`?0:2:e.fractionDigits}function gt(e,t,n=`en`){if(typeof e!=`number`||!Number.isFinite(e))return``;let r=ht(t),i=t.grouping!==!1;return t.style===`percent`?new Intl.NumberFormat(n,{maximumFractionDigits:r,minimumFractionDigits:r,style:`percent`,useGrouping:i}).format(e):t.style===`currency`&&t.currency?new Intl.NumberFormat(n,{currency:t.currency,maximumFractionDigits:r,minimumFractionDigits:r,style:`currency`,useGrouping:i}).format(e):new Intl.NumberFormat(n,{maximumFractionDigits:r,minimumFractionDigits:r,useGrouping:i}).format(e)}function _t(e,t,n=`en`){if(typeof e!=`string`||e.length===0)return``;if(t.kind===`time`)return vt(e,t.timePrecision??`minutes`);if(t.dateStyle===`iso`)return t.kind===`date`?e.slice(0,10):e;let r=t.kind===`date`?new Date(`${e}T00:00:00`):new Date(e);if(Number.isNaN(r.getTime()))return e;let i=t.dateStyle??`medium`;if(t.kind===`date`)return new Intl.DateTimeFormat(n,{dateStyle:i}).format(r);let a=t.timePrecision??`minutes`;return new Intl.DateTimeFormat(n,{dateStyle:i,timeStyle:a===`hours`?`short`:`medium`}).format(r)}function vt(e,t){let[n=`0`,r=`00`,i=`00`]=e.split(`:`);return t===`hours`?`${n.padStart(2,`0`)}:00`:t===`minutes`?`${n.padStart(2,`0`)}:${r.padStart(2,`0`)}`:`${n.padStart(2,`0`)}:${r.padStart(2,`0`)}:${i.padStart(2,`0`)}`}function yt(e,t){if(typeof e!=`number`||!Number.isFinite(e))return``;let n=Math.max(0,Math.round(e));if(t.display===`iso`)return bt(n);if(t.display===`minutes`)return`${Math.round(n/Y)} min`;if(t.display===`hours`)return`${(n/J).toFixed(2)} h`;if(t.display===`decimal-hours`)return(n/J).toFixed(2);let r=Math.floor(n/J),i=Math.floor(n%J/Y),a=Math.floor(n%Y/mt);return`${r}:${String(i).padStart(2,`0`)}:${String(a).padStart(2,`0`)}`}function bt(e){let t=Math.floor(e/J),n=Math.floor(e%J/Y),r=Math.floor(e%Y/mt);return`${t>=24?`P${Math.floor(t/24)}D`:`P`}T${t%24}H${n}M${r}S`}function X(e,t,n=`en`){if(t==null)return``;switch(e.type){case`number`:return gt(t,e.format,n);case`date`:return _t(t,e.format,n);case`duration`:return yt(t,e.format);case`boolean`:return t===!0?`true`:t===!1?`false`:``;case`select`:return xt(e,t);default:return String(t)}}function xt(e,t){let n=Array.isArray(t)?t:[t],r=e.format.options.reduce((e,t)=>(e[t.id]=t.label,e),{});return n.filter(e=>typeof e==`string`&&e.length>0).map(e=>r[e]??e).join(`, `)}async function St(e,t=2400){if(!/^image\/(jpeg|png|webp)$/.test(e.type)||e.size<12e5)return e;try{let n=await createImageBitmap(e),r=Math.min(1,t/Math.max(n.width,n.height)),i=document.createElement(`canvas`);i.width=Math.round(n.width*r),i.height=Math.round(n.height*r),i.getContext(`2d`)?.drawImage(n,0,0,i.width,i.height);let a=await new Promise(e=>i.toBlob(e,`image/jpeg`,.86));return a&&a.size<e.size?new File([a],`${e.name.replace(/\.[^.]+$/,``)}.jpg`,{type:`image/jpeg`}):e}catch{return e}}function Ct(){return new Date().toISOString().slice(0,19).replace(/[:T]/g,`-`)}function wt(e){let t=e?.name;return t===`NotFoundError`||t===`OverconstrainedError`?`missing`:t===`NotReadableError`||t===`AbortError`?`busy`:`denied`}function Tt(e){return!!e?.getCapabilities?.()?.torch}function Et(e,t,n=!1){let r=(0,K.useRef)(null),[i,a]=(0,K.useState)(null),[o,s]=(0,K.useState)(null),[c,l]=(0,K.useState)(1),[u,d]=(0,K.useState)(!1),[f,p]=(0,K.useState)(!1);return(0,K.useEffect)(()=>{if(!e)return;let r=null,i=!1;s(null),a(null),d(!1),p(!1);let o={facingMode:{ideal:t},width:{ideal:2560},height:{ideal:1440}};return(async()=>{if(!navigator.mediaDevices?.getUserMedia)throw new DOMException(`no camera api`,`NotAllowedError`);try{r=await navigator.mediaDevices.getUserMedia({video:o,audio:n})}catch(e){if(!n)throw e;r=await navigator.mediaDevices.getUserMedia({video:o})}if(i){for(let e of r.getTracks())e.stop();return}a(r);let e=r.getVideoTracks()[0],t=()=>!i&&d(Tt(e));t(),setTimeout(t,600);let s=await navigator.mediaDevices.enumerateDevices().catch(()=>[]);i||l(s.filter(e=>e.kind===`videoinput`).length)})().catch(e=>!i&&s(wt(e))),()=>{i=!0;for(let e of r?.getTracks()??[])e.stop()}},[e,t,n]),(0,K.useEffect)(()=>{r.current&&i&&(r.current.srcObject=i)},[i]),{video:r,stream:i,error:o,cameras:c,torchable:u,torch:f,setTorch:async e=>{let t=i?.getVideoTracks()[0];try{await t?.applyConstraints({advanced:[{torch:e}]}),p(e)}catch{d(!1)}},mirrored:i?.getVideoTracks()[0]?.getSettings().facingMode===`user`}}function Dt({open:e,onClose:t,label:n,children:r}){let i=(0,K.useRef)(null);return(0,K.useEffect)(()=>{let t=i.current;t&&(e&&!t.open?t.showModal():!e&&t.open&&t.close())},[e]),(0,q.jsx)(`dialog`,{ref:i,onClose:t,"aria-label":n,className:`media-sheet`,children:e?(0,q.jsx)(`div`,{className:`flex h-full flex-col`,children:r}):null})}function Ot({label:e,onClick:t,active:n,children:r}){return(0,q.jsx)(`button`,{type:`button`,"aria-label":e,title:e,"aria-pressed":n,onClick:t,className:B(`flex size-11 shrink-0 items-center justify-center rounded-full transition`,n?`bg-white text-black`:`bg-white/12 text-white hover:bg-white/20`),children:r})}function kt({title:e,onClose:t,camera:n,onFlip:r}){return(0,q.jsx)(`div`,{className:`safe-top`,children:(0,q.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,children:[(0,q.jsx)(Ot,{label:W(`common.close`),onClick:t,children:(0,q.jsx)(G,{className:`size-5`})}),(0,q.jsx)(`div`,{className:`min-w-0 flex-1 truncate text-center font-medium text-[15px]`,children:e}),n.torchable?(0,q.jsx)(Ot,{label:W(`camera.torch`),active:n.torch,onClick:()=>void n.setTorch(!n.torch),children:n.torch?(0,q.jsx)(Me,{className:`size-5`}):(0,q.jsx)(Ae,{className:`size-5`})}):null,n.stream&&(n.cameras>1||h)?(0,q.jsx)(Ot,{label:W(`camera.flip`),onClick:r,children:(0,q.jsx)(nt,{className:`size-5`})}):(0,q.jsx)(`span`,{className:`size-11`})]})})}function At({camera:e,asking:t,children:n,actions:r}){return(0,q.jsxs)(`div`,{className:`relative min-h-0 flex-1 overflow-hidden`,children:[(0,q.jsx)(`video`,{ref:e.video,autoPlay:!0,playsInline:!0,muted:!0,className:B(`absolute inset-0 size-full object-contain`,e.mirrored&&`-scale-x-100`)}),e.error?(0,q.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-5 bg-black px-8 text-center`,children:[(0,q.jsx)(`p`,{className:`max-w-sm text-[15px] text-white/85 leading-relaxed`,children:W(`camera.${e.error}`)}),r]}):e.stream?n:(0,q.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-4 px-8 text-center text-white/75`,children:[(0,q.jsx)(R,{}),(0,q.jsx)(`p`,{className:`max-w-xs text-[14px] leading-relaxed`,children:t})]})]})}var jt=30;function Mt(){if(typeof MediaRecorder<`u`)return[`video/mp4;codecs=avc1.42E01E,mp4a.40.2`,`video/mp4`,`video/webm;codecs=vp9,opus`,`video/webm;codecs=vp8,opus`,`video/webm`].find(e=>MediaRecorder.isTypeSupported(e))}var Nt=!!Mt();function Pt({open:e,multiple:t,video:n,onClose:r,onCapture:i,onNative:a}){let[o,s]=(0,K.useState)(`environment`),[c,l]=(0,K.useState)(`photo`),[u,d]=(0,K.useState)(0),[f,p]=(0,K.useState)(!1),[m,g]=(0,K.useState)(null),_=(0,K.useRef)(null),v=Et(e,o,c===`video`);(0,K.useEffect)(()=>{e&&(d(0),l(`photo`),g(null))},[e]);let y=async e=>{p(!0);try{await i(e),d(e=>e+1),t||r()}finally{p(!1)}},b=async()=>{let e=v.video.current;if(!e?.videoWidth)return;let t=document.createElement(`canvas`);t.width=e.videoWidth,t.height=e.videoHeight,t.getContext(`2d`)?.drawImage(e,0,0);let n=await new Promise(e=>t.toBlob(e,`image/jpeg`,.9));n&&await y(new File([n],`foto-${Ct()}.jpg`,{type:`image/jpeg`}))},x=()=>{_.current?.state===`recording`&&_.current.stop()},S=()=>{let e=Mt();if(!v.stream||!e)return;let t=[],n=new MediaRecorder(v.stream,{mimeType:e,videoBitsPerSecond:25e5,audioBitsPerSecond:96e3});n.ondataavailable=e=>e.data.size&&t.push(e.data),n.onstop=()=>{g(null),_.current=null;let n=e.split(`;`)[0];if(t.length){let e=n===`video/mp4`?`mp4`:`webm`;y(new File(t,`video-${Ct()}.${e}`,{type:n}))}},_.current=n,n.start(1e3),g(0)};(0,K.useEffect)(()=>{if(m===null)return;if(m>=jt){_.current?.state===`recording`&&_.current.stop();return}let e=setTimeout(()=>g(e=>e===null?null:e+1),1e3);return()=>clearTimeout(e)},[m]),(0,K.useEffect)(()=>{!e&&_.current&&(_.current.onstop=null,_.current.stop(),_.current=null)},[e]);let C=e=>`0:${String(e).padStart(2,`0`)}`;return(0,q.jsxs)(Dt,{open:e,onClose:r,label:W(`camera.title`),children:[(0,q.jsx)(kt,{title:m===null?u?W(`camera.taken`,{n:u}):W(`camera.title`):`${C(m)} / ${C(jt)}`,onClose:r,camera:v,onFlip:()=>s(e=>e===`environment`?`user`:`environment`)}),(0,q.jsx)(At,{camera:v,asking:W(`camera.asking`),actions:(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[a?(0,q.jsxs)(Z,{onClick:()=>{r(),a()},children:[(0,q.jsx)(be,{className:`size-4`}),` `,W(h?`camera.native`:`camera.pick`)]}):null,(0,q.jsx)(Z,{quiet:!0,onClick:r,children:W(`common.close`)})]})}),(0,q.jsxs)(`div`,{className:B(`safe-bottom px-4 pt-3`,v.error&&`invisible`),children:[n&&Nt&&m===null?(0,q.jsx)(`div`,{className:`mb-3 flex justify-center gap-1 text-[13px]`,children:[`photo`,`video`].map(e=>(0,q.jsx)(`button`,{type:`button`,"aria-pressed":c===e,onClick:()=>l(e),className:B(`h-9 rounded-full px-4 font-medium transition`,c===e?`bg-white text-black`:`text-white/70 hover:text-white`),children:W(e===`photo`?`camera.photo`:`camera.video`)},e))}):null,(0,q.jsxs)(`div`,{className:`grid grid-cols-[1fr_auto_1fr] items-center gap-3`,children:[(0,q.jsx)(`span`,{className:`text-[13px] text-white/70 leading-snug`,children:m===null?c===`video`?W(`camera.clipHint`,{s:jt}):W(t?`camera.hintMany`:`camera.hint`):W(`camera.recording`)}),(0,q.jsx)(`button`,{type:`button`,"aria-label":W(c===`photo`?`camera.shoot`:m===null?`camera.record`:`camera.stop`),disabled:!v.stream||f,onClick:()=>c===`photo`?void b():m===null?S():x(),className:`flex size-[72px] items-center justify-center rounded-full border-4 border-white transition active:scale-95 disabled:opacity-40`,children:f?(0,q.jsx)(R,{className:`text-white`}):c===`photo`?(0,q.jsx)(`span`,{className:`size-[54px] rounded-full bg-white`}):m===null?(0,q.jsx)(`span`,{className:`flex size-[54px] items-center justify-center rounded-full bg-[#e5484d]`,children:(0,q.jsx)(te,{className:`size-6 text-white`})}):(0,q.jsx)(`span`,{className:`size-7 rounded-md bg-[#e5484d]`})}),(0,q.jsx)(`div`,{className:`flex justify-end`,children:t&&u&&m===null?(0,q.jsxs)(Z,{onClick:r,children:[(0,q.jsx)(A,{className:`size-4`}),` `,W(`camera.done`)]}):null})]})]})]})}function Z({onClick:e,quiet:t,children:n}){return(0,q.jsx)(`button`,{type:`button`,onClick:e,className:B(`inline-flex h-11 items-center justify-center gap-2 rounded-full px-5 font-medium text-[14px] transition`,t?`text-white/75 hover:text-white`:`bg-white text-black hover:bg-white/90`),children:n})}var Ft=25,It=9e3;function Lt(e){return e.code===e.PERMISSION_DENIED?`denied`:e.code===e.TIMEOUT?`timeout`:`unavailable`}function Rt({value:e,runId:t,placeholder:n,onChange:r,onBusy:i}){let o=ne(e)?e:null,[s,c]=(0,K.useState)(!1),[l,u]=(0,K.useState)(null),d=(0,K.useRef)(null),f=(0,K.useRef)(!!o?.label),p=(0,K.useRef)(o);p.current=o;let m=o?.lat!==void 0&&o.lng!==void 0,h=typeof navigator<`u`&&`geolocation`in navigator,g=()=>{d.current!==null&&(navigator.geolocation.clearWatch(d.current),d.current=null),c(!1),i?.(!1)};(0,K.useEffect)(()=>()=>{d.current!==null&&navigator.geolocation.clearWatch(d.current)},[]);let _=async(e,n)=>{try{let{label:i}=await a.post(`/api/runs/${t}/geocode`,{lat:e,lng:n,language:z}),o=p.current;i&&!f.current&&o?.lat===e&&o.lng===n&&r({...o,label:i})}catch{}},v=()=>{u(null),c(!0),i?.(!0);let e=Date.now(),t=1/0;d.current=navigator.geolocation.watchPosition(n=>{let{latitude:i,longitude:a,accuracy:o}=n.coords;if(o<t){t=o;let e=Math.round(i*1e6)/1e6,n=Math.round(a*1e6)/1e6,s=f.current?p.current?.label:void 0,c={lat:e,lng:n,accuracy:Math.round(o),...s?{label:s}:{}};p.current=c,r(c)}if(t<=Ft||Date.now()-e>It){g();let e=p.current;e?.lat!==void 0&&e.lng!==void 0&&_(e.lat,e.lng)}},e=>{g(),t===1/0&&u(Lt(e))},{enableHighAccuracy:!0,timeout:15e3,maximumAge:1e4})},y=e=>{f.current=e.trim().length>0;let t={...m?o:{},label:e};r(m||e.trim()?t:void 0)};return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[m?(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl bg-card p-3 ring-1 ring-input`,children:[(0,q.jsx)(`div`,{className:`flex size-10 shrink-0 items-center justify-center rounded-full bg-moss-tint text-moss`,children:(0,q.jsx)(We,{className:`size-5`})}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsxs)(`div`,{className:`truncate font-medium text-[15px] tabular-nums`,children:[o.lat?.toFixed(5),`, `,o.lng?.toFixed(5)]}),(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 text-[13px] text-ink-3`,children:[(0,q.jsx)(`span`,{children:s?W(`location.refining`):o.accuracy?W(`location.accuracy`,{m:o.accuracy}):null}),(0,q.jsxs)(`a`,{href:`https://www.openstreetmap.org/?mlat=${o.lat}&mlon=${o.lng}#map=17/${o.lat}/${o.lng}`,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 underline-offset-2 hover:text-ink hover:underline coarse:-my-3 coarse:min-h-11 coarse:min-w-11`,children:[W(`location.map`),` `,(0,q.jsx)(N,{className:`size-3`})]})]})]}),(0,q.jsx)(V,{label:W(`location.remove`),onClick:()=>{g(),f.current=!1,r(void 0)},children:(0,q.jsx)(G,{className:`size-4`})})]}):h?(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(U,{variant:`secondary`,size:`lg`,busy:s,onClick:v,className:`w-full sm:w-auto`,children:[s?null:(0,q.jsx)(Be,{className:`size-4`}),W(s?`location.locating`:`location.use`)]}),l?(0,q.jsx)(`p`,{className:`mt-2 rounded-lg bg-amber-tint px-3 py-2 text-[13px] text-ink-2 leading-relaxed`,children:W(`location.${l}`)}):(0,q.jsx)(`p`,{className:`mt-2 text-[13px] text-ink-3 leading-relaxed`,children:W(`location.why`)})]}):null,(0,q.jsx)(H,{value:o?.label??``,placeholder:n??W(m?`location.label`:`location.manual`),autoComplete:`street-address`,enterKeyHint:`done`,"aria-label":W(`location.manual`),onChange:e=>y(e.target.value)})]})}var zt=null;function Bt(){return zt??=(async()=>{let e=window.BarcodeDetector;if(e)try{let t=await e.getSupportedFormats();if(t.includes(`qr_code`)){let n=new e({formats:t});return{qrOnly:!1,detect:async e=>(await n.detect(e))[0]?.rawValue||null}}}catch{}let{default:t}=await s(async()=>{let{default:e}=await import(`./qr-scanner.min-C_UI0gH-.js`);return{default:e}},__vite__mapDeps([0,1])),n=t.createQrEngine();return{qrOnly:!0,detect:async e=>{try{return(await t.scanImage(e,{qrEngine:n,returnDetailedScanResult:!0})).data||null}catch{return null}}}})(),zt}function Vt({open:e,onClose:t,onResult:n}){let[r,i]=(0,K.useState)(`environment`),[a,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(!1),l=(0,K.useRef)(null),u=Et(e,r),d=(0,K.useRef)(n);d.current=n;let f=(0,K.useRef)(t);f.current=t,(0,K.useEffect)(()=>{e&&(c(!1),Bt().then(e=>o(e.qrOnly)))},[e]),(0,K.useEffect)(()=>{if(!e||!u.stream)return;let t=!1,n,r=async()=>{let e=u.video.current;if(!t&&e&&e.readyState>=2&&e.videoWidth){let n=await(await Bt()).detect(e).catch(()=>null);if(n&&!t){navigator.vibrate?.(60),d.current(n),f.current();return}}t||(n=setTimeout(r,200))};return r(),()=>{t=!0,clearTimeout(n)}},[e,u.stream,u.video]);let p=async e=>{if(!e)return;c(!1);let r=await createImageBitmap(e).catch(()=>null),i=r?await(await Bt()).detect(r).catch(()=>null):null;i?(n(i),t()):c(!0)};return(0,q.jsxs)(Dt,{open:e,onClose:t,label:W(`scan.title`),children:[(0,q.jsx)(kt,{title:W(`scan.title`),onClose:t,camera:u,onFlip:()=>i(e=>e===`environment`?`user`:`environment`)}),(0,q.jsx)(At,{camera:u,asking:W(`scan.asking`),actions:(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsxs)(Z,{onClick:()=>l.current?.click(),children:[(0,q.jsx)(Re,{className:`size-4`}),` `,W(`scan.fromPhoto`)]}),(0,q.jsx)(Z,{quiet:!0,onClick:t,children:W(`scan.typeInstead`)})]}),children:(0,q.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:(0,q.jsx)(`div`,{className:`aspect-square w-[min(68%,320px)] rounded-3xl border-2 border-white/90 shadow-[0_0_0_100vmax_rgb(0_0_0/0.35)]`})})}),(0,q.jsxs)(`div`,{className:`safe-bottom flex flex-col items-center gap-3 px-5 pt-3 text-center`,children:[(0,q.jsx)(`p`,{className:`text-[13px] text-white/75 leading-snug`,children:W(s?`scan.miss`:a?`scan.hintQr`:`scan.hint`)}),u.stream?(0,q.jsxs)(Z,{quiet:!0,onClick:()=>l.current?.click(),children:[(0,q.jsx)(Re,{className:`size-4`}),` `,W(`scan.fromPhoto`)]}):null]}),(0,q.jsx)(`input`,{ref:l,type:`file`,hidden:!0,accept:`image/*`,onChange:e=>{p(e.target.files?.[0]),e.target.value=``}})]})}var Ht=`#1d1a17`,Q={width:1200,height:480};function Ut(e,t,n,r,i){e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=Ht,e.fillStyle=Ht,e.lineWidth=i;for(let a of t){if(a.length===1){e.beginPath(),e.arc(a[0].x*n,a[0].y*r,i/2,0,Math.PI*2),e.fill();continue}e.beginPath(),e.moveTo(a[0].x*n,a[0].y*r);for(let t=1;t<a.length-1;t++){let i=a[t],o=a[t+1];e.quadraticCurveTo(i.x*n,i.y*r,(i.x+o.x)/2*n,(i.y+o.y)/2*r)}let t=a[a.length-1];e.lineTo(t.x*n,t.y*r),e.stroke()}}function Wt({strokes:e,onStrokes:t}){let n=(0,K.useRef)(null),r=(0,K.useRef)(null),i=(0,K.useRef)(e);i.current=e;let a=()=>{let e=n.current,t=e?.getContext(`2d`);if(!e||!t)return;let a=window.devicePixelRatio||1,o=Math.round(e.clientWidth*a),s=Math.round(e.clientHeight*a);(e.width!==o||e.height!==s)&&(e.width=o,e.height=s),t.clearRect(0,0,o,s),Ut(t,r.current?[...i.current,r.current]:i.current,o,s,2.4*a)};(0,K.useEffect)(()=>{a();let e=n.current;if(!e)return;let t=new ResizeObserver(a);return t.observe(e),()=>t.disconnect()},[e]);let o=e=>{let t=e.currentTarget.getBoundingClientRect();return{x:Math.min(1,Math.max(0,(e.clientX-t.left)/t.width)),y:Math.min(1,Math.max(0,(e.clientY-t.top)/t.height))}};return(0,q.jsxs)(`div`,{className:`relative overflow-hidden rounded-xl bg-white ring-1 ring-input`,children:[(0,q.jsx)(`canvas`,{ref:n,"aria-label":W(`sign.pad`),className:`block aspect-[5/2] w-full cursor-crosshair touch-none select-none`,onPointerDown:e=>{e.currentTarget.setPointerCapture(e.pointerId),r.current=[o(e)],a()},onPointerMove:e=>{r.current&&(r.current.push(o(e)),a())},onPointerUp:()=>{if(r.current){let e=r.current;r.current=null,t([...i.current,e])}},onPointerCancel:()=>{r.current=null,a()}}),(0,q.jsx)(`div`,{className:`pointer-events-none absolute inset-x-6 bottom-[22%] border-[#1d1a17]/25 border-b`}),e.length?null:(0,q.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center text-[#1d1a17]/40 text-[14px]`,children:W(`sign.hint`)})]})}async function Gt(e){let t=document.createElement(`canvas`);t.width=Q.width,t.height=Q.height;let n=t.getContext(`2d`);if(!n)return null;Ut(n,e,Q.width,Q.height,7);let r=await new Promise(e=>t.toBlob(e,`image/png`));return r?new File([r],`unterschrift.png`,{type:`image/png`}):null}function Kt({label:e,value:t,runId:n,onChange:i}){let[o,s]=(0,K.useState)(!1),[c,l]=(0,K.useState)([]),[u,d]=(0,K.useState)(!1),[f,p]=(0,K.useState)(null),m=typeof t==`string`&&t?t:null,h=async()=>{d(!0),p(null);try{let e=await Gt(c);if(!e)return;i((await a.upload(`/api/runs/${n}/uploads`,e)).id),s(!1)}catch(e){p(e.message)}finally{d(!1)}};return(0,q.jsxs)(`div`,{children:[m?(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl bg-card p-2 ring-1 ring-input`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>{l([]),s(!0)},className:`min-w-0 flex-1 rounded-lg bg-white px-3`,"aria-label":W(`sign.again`),children:(0,q.jsx)(`img`,{src:r(`/api/runs/${n}/assets/${m}`),alt:e,className:`mx-auto h-20 object-contain`})}),(0,q.jsx)(V,{label:W(`sign.remove`),onClick:()=>i(void 0),children:(0,q.jsx)(G,{className:`size-4`})})]}):(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{l([]),s(!0)},className:`flex w-full flex-col items-center justify-center gap-2 rounded-xl border border-input border-dashed bg-card px-4 py-7 text-[14px] text-ink-3 transition hover:border-ember hover:text-ink`,children:[(0,q.jsx)(I,{className:`size-6`}),W(`sign.open`)]}),(0,q.jsxs)(se,{open:o,onClose:()=>s(!1),title:e,wide:!0,children:[(0,q.jsx)(Wt,{strokes:c,onStrokes:l}),f?(0,q.jsx)(`p`,{className:`mt-2 text-[13px] text-rose`,children:f}):null,(0,q.jsxs)(`div`,{className:`mt-5 flex items-center justify-between gap-3`,children:[(0,q.jsxs)(U,{variant:`ghost`,disabled:!c.length||u,onClick:()=>l([]),children:[(0,q.jsx)(Ee,{className:`size-4`}),` `,W(`sign.clear`)]}),(0,q.jsx)(U,{busy:u,disabled:!c.length,onClick:()=>void h(),children:W(`sign.accept`)})]})]})]})}function qt({runId:e,connectionId:t,connector:n,onCancel:r}){let[i,o]=(0,K.useState)({}),[s,c]=(0,K.useState)(!1),[l,u]=(0,K.useState)(null),d=async()=>{c(!0),u(null);try{await a.post(`/api/runs/${e}/connections/${t}/credentials/${n.id}`,{values:i})}catch(e){u(e.message)}finally{c(!1)}};return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl bg-card p-4 ring-1 ring-input`,children:[(n.fields??[]).map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(L,{children:e.label}),(0,q.jsx)(H,{type:e.secret?`password`:`text`,autoComplete:`off`,value:i[e.key]??``,placeholder:e.placeholder,onChange:t=>o(n=>({...n,[e.key]:t.target.value})),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),d())}})]},e.key)),n.hint?(0,q.jsx)(`p`,{className:`text-[13px] text-ink-3`,children:n.hint}):null,l?(0,q.jsx)(`p`,{className:`text-[13px] text-rose`,children:l}):null,(0,q.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,q.jsx)(U,{variant:`ghost`,size:`sm`,onClick:r,children:W(`common.cancel`)}),(0,q.jsx)(U,{size:`sm`,busy:s,onClick:()=>void d(),children:W(`connect.go`)})]})]})}function Jt({runId:e,connection:t}){let[n,r]=(0,K.useState)(null),[i,o]=(0,K.useState)(null),[s,c]=(0,K.useState)(null);if(!t)return null;if(t.account){let n=t.connectors.find(e=>e.id===t.account?.connector)?.name??``;return(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl bg-card p-3 ring-1 ring-input`,children:[(0,q.jsx)(`div`,{className:`flex size-10 items-center justify-center rounded-full bg-moss-tint text-moss`,children:(0,q.jsx)(A,{className:`size-5`})}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`truncate font-medium text-[15px]`,children:t.account.label}),(0,q.jsx)(`div`,{className:`text-[13px] text-ink-3`,children:W(`connect.connected`,{name:n})})]}),(0,q.jsx)(V,{label:W(`connect.disconnect`),onClick:()=>void a.del(`/api/runs/${e}/connections/${t.id}`),children:(0,q.jsx)(ot,{className:`size-4`})})]})}let l=async n=>{c(null),o(null);let r=window.open(`about:blank`,`wizard-connect`,`width=540,height=700`);try{let{url:i}=await a.post(`/api/runs/${e}/connections/${t.id}/oauth/${n.id}`);r?r.location.replace(i):o(i)}catch(e){r?.close(),c(e.message)}},u=t.connectors.find(e=>e.id===n);return t.connectors.length?(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:t.connectors.map(e=>(0,q.jsxs)(`button`,{type:`button`,onClick:()=>e.auth===`oauth2`?void l(e):r(n===e.id?null:e.id),className:B(`inline-flex h-11 items-center gap-2 rounded-full px-4 font-medium text-[14px] ring-1 transition`,n===e.id?`bg-ember-veil text-ink ring-ember`:`bg-card text-ink-2 ring-input hover:text-ink hover:ring-ember`),children:[(0,q.jsx)(m,{className:`size-4`}),` `,e.name]},e.id))}),u?(0,q.jsx)(qt,{runId:e,connectionId:t.id,connector:u,onCancel:()=>r(null)}):null,i?(0,q.jsx)(`a`,{href:i,target:`_blank`,rel:`noreferrer`,className:`text-[14px] text-ember underline`,children:W(`connect.openLink`)}):null,s?(0,q.jsx)(`p`,{className:`text-[13px] text-rose`,children:s}):null]}):(0,q.jsx)(`p`,{className:`text-[14px] text-ink-3`,children:W(`connect.none`)})}function Yt(e){return e==null?``:Array.isArray(e)?e.join(`, `):String(e)}function Xt(e,t){if(t.trim()===``)return null;if(e.type===`number`){let e=Number(t.replace(/\s/g,``).replace(`,`,`.`));return Number.isFinite(e)?e:t}return e.type===`boolean`?t===`true`:t}function $({column:e,value:t,boxed:n,onCommit:r}){let[i,a]=(0,K.useState)(Yt(t));(0,K.useEffect)(()=>a(Yt(t)),[t]);let o=B(`w-full min-w-0 rounded-md border border-transparent px-2 text-[13px] outline-none focus:border-ember focus:bg-card`,n?`h-11 bg-paper-2`:`h-9 bg-transparent hover:bg-paper-2 coarse:h-11`);return e.type===`boolean`?(0,q.jsx)(`label`,{className:`flex size-9 cursor-pointer items-center justify-center coarse:size-11`,children:(0,q.jsx)(`input`,{type:`checkbox`,"aria-label":e.name,checked:t===!0,onChange:e=>r(e.target.checked),className:`size-4 accent-[var(--ember)] coarse:size-6`})}):e.type===`select`&&!e.format.multiple&&!e.format.allowCustom?(0,q.jsxs)(`select`,{value:i,onChange:e=>r(e.target.value||null),className:o,children:[(0,q.jsx)(`option`,{value:``}),e.format.options.map(e=>(0,q.jsx)(`option`,{value:e.id,children:e.label},e.id))]}):(0,q.jsx)(`input`,{"aria-label":e.name,type:e.type===`date`&&e.format.kind===`date`?`date`:`text`,inputMode:e.type===`number`?`decimal`:void 0,enterKeyHint:`done`,autoComplete:`off`,value:i,onChange:e=>a(e.target.value),onBlur:()=>{i!==Yt(t)&&r(Xt(e,i))},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.target.blur())},className:B(o,e.type===`number`&&`text-right tabular-nums`)})}function Zt({runId:e,list:t,editable:n}){let{def:r,rows:i}=t,[s,c]=(0,K.useState)(null),[l,u]=(0,K.useState)({}),d=`/api/runs/${e}/lists/${r.id}/rows`,f=async e=>{c(null);try{await e()}catch(e){c(e instanceof o?e.message:String(e))}},p=()=>f(async()=>{await a.post(d,{cells:l}),u({})}),m=Object.values(l).some(e=>e!=null&&e!==``);if(!i.length&&!n)return(0,q.jsx)(`p`,{className:`text-[14px] text-ink-3`,children:W(`list.empty`)});let h=(e,t)=>t===0||e.type===`text`&&e.format?.style===`multiline`,g=(e,t,n)=>void f(()=>a.patch(`${d}/${e}`,{cells:{[t]:n}}));return(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:hidden`,children:[i.map(e=>(0,q.jsxs)(`div`,{className:`rounded-lg bg-paper p-2 ring-1 ring-border-soft`,children:[(0,q.jsx)(`div`,{className:`grid grid-cols-2 gap-x-2 gap-y-1.5`,children:r.columns.map((t,r)=>(0,q.jsxs)(`div`,{className:B(`min-w-0`,h(t,r)&&`col-span-2`),children:[(0,q.jsx)(`div`,{className:`px-1 pb-0.5 text-[11px] text-ink-3`,children:t.name}),n?(0,q.jsx)($,{boxed:!0,column:t,value:e.cells[t.id],onCommit:n=>g(e.id,t.id,n)}):(0,q.jsx)(`div`,{className:B(`break-words px-1 text-[14px]`,t.type===`number`&&`tabular-nums`),children:X(t,e.cells[t.id],z)||`—`})]},t.id))}),n?(0,q.jsx)(`div`,{className:`mt-1 flex justify-end`,children:(0,q.jsx)(V,{label:W(`list.delete`),onClick:()=>void f(()=>a.del(`${d}/${e.id}`)),children:(0,q.jsx)(S,{className:`size-4`})})}):null]},e.id)),n?(0,q.jsxs)(`div`,{className:`rounded-lg border border-input border-dashed p-2`,children:[(0,q.jsx)(`div`,{className:`grid grid-cols-2 gap-x-2 gap-y-1.5`,children:r.columns.map((e,t)=>(0,q.jsxs)(`div`,{className:B(`min-w-0`,h(e,t)&&`col-span-2`),children:[(0,q.jsx)(`div`,{className:`px-1 pb-0.5 text-[11px] text-ink-3`,children:e.name}),(0,q.jsx)($,{boxed:!0,column:e,value:l[e.id],onCommit:t=>u(n=>({...n,[e.id]:t}))})]},e.id))}),(0,q.jsx)(`div`,{className:`mt-2 flex justify-end`,children:(0,q.jsxs)(U,{variant:`secondary`,size:`sm`,onClick:()=>m?void p():void 0,children:[(0,q.jsx)(M,{className:`size-4`}),` `,W(`run.addRow`)]})})]}):null]}),(0,q.jsx)(`div`,{className:`hidden overflow-x-auto rounded-lg ring-1 ring-border-soft sm:block`,children:(0,q.jsxs)(`table`,{className:`w-full text-[13px]`,children:[(0,q.jsx)(`thead`,{className:`bg-paper-2 text-ink-2`,children:(0,q.jsxs)(`tr`,{children:[r.columns.map(e=>(0,q.jsx)(`th`,{className:`whitespace-nowrap px-3 py-2 text-left font-medium`,children:e.name},e.id)),n?(0,q.jsx)(`th`,{className:`w-10`}):null]})}),(0,q.jsxs)(`tbody`,{children:[i.map(e=>(0,q.jsxs)(`tr`,{className:`border-border-soft border-t align-top`,children:[r.columns.map(t=>(0,q.jsx)(`td`,{className:B(`min-w-[7.5rem]`,n?`px-1 py-0.5`:`px-3 py-2`),children:n?(0,q.jsx)($,{column:t,value:e.cells[t.id],onCommit:n=>g(e.id,t.id,n)}):(0,q.jsx)(`span`,{className:B(t.type===`number`&&`tabular-nums`),children:X(t,e.cells[t.id],z)})},t.id)),n?(0,q.jsx)(`td`,{className:`px-1 py-0.5`,children:(0,q.jsx)(V,{label:W(`list.delete`),className:`size-9`,onClick:()=>void f(()=>a.del(`${d}/${e.id}`)),children:(0,q.jsx)(S,{className:`size-3.5`})})}):null]},e.id)),n?(0,q.jsxs)(`tr`,{className:`border-border-soft border-t bg-paper`,children:[r.columns.map(e=>(0,q.jsx)(`td`,{className:`px-1 py-0.5`,children:(0,q.jsx)($,{column:e,value:l[e.id],onCommit:t=>u(n=>({...n,[e.id]:t}))})},e.id)),(0,q.jsx)(`td`,{className:`px-1 py-0.5`,children:(0,q.jsx)(V,{label:W(`run.addRow`),className:`size-9`,onClick:()=>m?void p():void 0,children:(0,q.jsx)(M,{className:`size-4`})})})]}):null]})]})}),s?(0,q.jsx)(`p`,{className:`mt-2 text-[13px] text-rose`,children:s}):null]})}function Qt(e,t,n){let i=t.split(`/`).map(encodeURIComponent).join(`/`);return r(`/api/runs/${e}/store/files/${i}${n?`?inline=1`:``}`)}var $t=[`bg-paper-3 text-ink-3`,`bg-moss-tint text-moss`,`bg-rose-tint text-rose`,`bg-ember-tint text-ember-strong`];function en({runId:e,list:t}){let{def:n,rows:r}=t,i=n.columns.find(e=>e.id===n.check?.file),s=n.columns.find(e=>e.id===n.check?.status),c=s?.type===`select`?s.format.options:[],l=c[0]?.id,u=e=>s?String(e.cells[s.id]??l??``):``,d=e=>!s||u(e)===l,[f,p]=(0,K.useState)(()=>(r.find(d)??r[0])?.id??null),[m,h]=(0,K.useState)(!1),[g,_]=(0,K.useState)(null),v=`/api/runs/${e}/lists/${n.id}/rows`,y=r.find(e=>e.id===f)??r[0],b=m?r.filter(e=>d(e)||e.id===y?.id):r,x=r.filter(e=>!d(e)).length,S=n.columns.filter(e=>e!==i&&e!==s),C=S.filter(e=>e.id!==n.key),w=C.find(e=>e.type===`text`)??C[0],T=C.filter(e=>e!==w),E=async(e,t)=>{_(null);try{await a.patch(`${v}/${e}`,{cells:t})}catch(e){_(e instanceof o?e.message:String(e))}},D=e=>{let t=b.findIndex(e=>e.id===y?.id),n=b[Math.min(b.length-1,Math.max(0,t+e))];n&&p(n.id)},O=async e=>{if(!y||!s)return;let t=r.findIndex(e=>e.id===y.id),n=[...r.slice(t+1),...r.slice(0,t)].find(d);await E(y.id,{[s.id]:e}),n&&e!==l&&p(n.id)},ee=e=>{e.target.closest(`input, textarea, select`)||(e.key===`ArrowDown`||e.key===`ArrowUp`?(e.preventDefault(),D(e.key===`ArrowDown`?1:-1)):/^[1-9]$/.test(e.key)&&c[Number(e.key)]&&(e.preventDefault(),O(c[Number(e.key)].id)))};if(!r.length)return(0,q.jsx)(`p`,{className:`text-[14px] text-ink-3`,children:W(`list.empty`)});let k=i&&y?String(y.cells[i.id]??``).trim():``,j=k.split(`.`).pop()?.toLowerCase()??``,M=e=>$t[Math.min(Math.max(0,c.findIndex(t=>t.id===u(e))),3)];return(0,q.jsxs)(`div`,{className:`grid gap-4 lg:grid-cols-[minmax(280px,360px)_minmax(0,1fr)]`,onKeyDown:ee,children:[(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-col`,children:[(0,q.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-2`,children:[(0,q.jsx)(`span`,{className:`text-[13px] text-ink-3 tabular-nums`,children:W(`check.progress`,{done:x,total:r.length})}),s?(0,q.jsx)(`button`,{type:`button`,"aria-pressed":m,onClick:()=>h(e=>!e),className:B(`inline-flex h-8 items-center rounded-full px-3 text-[13px] ring-1 transition coarse:h-11`,m?`bg-ember-tint text-ink ring-ember`:`bg-card text-ink-2 ring-input hover:text-ink`),children:W(`check.onlyOpen`)}):null]}),(0,q.jsx)(`ul`,{className:`flex max-h-[38vh] flex-col gap-1.5 overflow-y-auto p-0.5 pr-1 lg:max-h-[calc(100vh-15rem)]`,children:b.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsxs)(`button`,{type:`button`,onClick:()=>p(e.id),"aria-current":e.id===y?.id,className:B(`flex w-full items-center gap-3 rounded-lg px-3 py-2.5 text-left ring-1 transition`,e.id===y?.id?`bg-card shadow-soft ring-ember`:`bg-paper ring-border-soft hover:bg-card`),children:[(0,q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`block truncate font-medium text-[14px]`,children:w&&X(w,e.cells[w.id],z)||`—`}),(0,q.jsx)(`span`,{className:`block truncate text-[12px] text-ink-3 tabular-nums`,children:T.slice(0,2).map(t=>X(t,e.cells[t.id],z)).filter(Boolean).join(` · `)})]}),s?(0,q.jsx)(`span`,{className:B(`shrink-0 rounded-full px-2 py-0.5 font-medium text-[11px]`,M(e)),children:c.find(t=>t.id===u(e))?.label??u(e)}):null]})},e.id))})]}),y?(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[c.length>1?(0,q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[c.slice(1).map((e,t)=>(0,q.jsxs)(U,{size:`md`,variant:u(y)===e.id?`primary`:`secondary`,onClick:()=>void O(e.id),children:[u(y)===e.id?(0,q.jsx)(A,{className:`size-4`}):null,e.label,(0,q.jsx)(`kbd`,{className:`ml-1 hidden rounded bg-black/10 px-1.5 text-[11px] lg:inline`,children:t+1})]},e.id)),u(y)===l?null:(0,q.jsx)(U,{size:`md`,variant:`ghost`,onClick:()=>void O(l??``),children:W(`check.reopen`)})]}):null,(0,q.jsx)(`div`,{className:`overflow-hidden rounded-lg bg-paper-2 ring-1 ring-border-soft`,children:k?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 border-border-soft border-b bg-card px-3 py-2 text-[13px]`,children:[(0,q.jsx)(P,{className:`size-3.5 shrink-0 text-ink-3`}),(0,q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:k.split(`/`).pop()}),(0,q.jsx)(`a`,{href:Qt(e,k,j===`pdf`),target:`_blank`,rel:`noreferrer`,className:`shrink-0 text-ink-2 underline-offset-2 hover:text-ink hover:underline`,children:W(`run.openFull`)})]}),j===`pdf`?(0,q.jsx)(`iframe`,{title:k,src:`${Qt(e,k,!0)}#toolbar=0&navpanes=0&view=FitH`,className:`h-[46vh] w-full border-0 bg-white lg:h-[calc(100vh-27rem)] lg:min-h-[360px]`},k):[`png`,`jpg`,`jpeg`,`webp`].includes(j)?(0,q.jsx)(`div`,{className:`flex max-h-[46vh] justify-center overflow-auto bg-white lg:max-h-[calc(100vh-27rem)]`,children:(0,q.jsx)(`img`,{src:Qt(e,k,!0),alt:k,className:`max-w-full object-contain`},k)}):(0,q.jsx)(`p`,{className:`px-4 py-10 text-center text-[14px] text-ink-3`,children:W(`check.noPreview`)})]}):(0,q.jsx)(`p`,{className:`px-4 py-14 text-center text-[14px] text-ink-3`,children:W(`check.noFile`)})}),(0,q.jsx)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-2 sm:grid-cols-3`,children:S.map(e=>(0,q.jsxs)(`div`,{className:B(`min-w-0`,e.type===`text`&&e.format?.style===`multiline`&&`col-span-full`),children:[(0,q.jsx)(`div`,{className:`px-1 pb-0.5 text-[11px] text-ink-3`,children:e.name}),(0,q.jsx)($,{boxed:!0,column:e,value:y.cells[e.id],onCommit:t=>void E(y.id,{[e.id]:t})})]},e.id))}),g?(0,q.jsx)(`p`,{className:`text-[13px] text-rose`,children:g}):null]}):null]})}var tn={xlsx:`Excel`,csv:`CSV`,json:`JSON`,md:`Markdown`,zip:`ZIP`};function nn({runId:e,list:t}){return(0,q.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:t.formats.map(n=>(0,q.jsx)(`a`,{href:r(`/api/runs/${e}/lists/${t.def.id}/download?format=${n}`),className:`inline-flex h-9 items-center rounded-full bg-paper-2 px-3.5 font-medium text-[13px] text-ink-2 transition hover:bg-paper-3 hover:text-ink coarse:h-11 coarse:px-4`,children:tn[n]??n},n))})}function rn(e){return e>1e6?`${(e/1e6).toFixed(1)} MB`:`${Math.max(1,Math.round(e/1e3))} KB`}function an({runId:e}){let[t,n]=(0,K.useState)(!1),[i,o]=(0,K.useState)(null),[s,c]=(0,K.useState)(!1);(0,K.useEffect)(()=>{t&&(c(!1),a.get(`/api/runs/${e}/store`).then(o))},[t,e]);let l=i&&!i.files.length&&!i.connections.length&&!i.keepsSignIns&&i.lists.every(e=>!e.rows);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>n(!0),className:`inline-flex items-center gap-1.5 text-[13px] text-ink-4 transition hover:text-ink-2 coarse:min-h-11`,children:[(0,q.jsx)(we,{className:`size-3.5`}),` `,W(`store.open`)]}),(0,q.jsx)(se,{open:t,onClose:()=>n(!1),title:W(`store.title`),wide:!0,children:i?(0,q.jsxs)(`div`,{className:`flex flex-col gap-5 text-[14px]`,children:[(0,q.jsx)(`p`,{className:`text-ink-3`,children:W(`store.explain`)}),l?(0,q.jsx)(`p`,{className:`text-ink-2`,children:W(`store.empty`)}):null,i.lists.some(e=>e.rows)?(0,q.jsx)(`ul`,{className:`flex flex-col gap-1`,children:i.lists.filter(e=>e.rows).map(e=>(0,q.jsxs)(`li`,{className:`flex justify-between gap-3`,children:[(0,q.jsx)(`span`,{children:e.title}),(0,q.jsx)(`span`,{className:`text-ink-3 tabular-nums`,children:W(`store.rows`,{n:e.rows})})]},e.id))}):null,i.connections.map(e=>(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(m,{className:`size-4 text-ink-3`}),` `,e.account?.label]},e.id)),i.keepsSignIns?(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(A,{className:`size-4 text-ink-3`}),` `,W(`store.signIns`)]}):null,i.files.length?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-ink-3`,children:W(`store.files`,{n:i.files.length,size:rn(i.files.reduce((e,t)=>e+t.size,0))})}),(0,q.jsx)(`ul`,{className:`max-h-56 overflow-y-auto rounded-lg ring-1 ring-border-soft`,children:i.files.map(t=>(0,q.jsx)(`li`,{className:`border-border-soft border-b last:border-0`,children:(0,q.jsxs)(`a`,{href:r(`/api/runs/${e}/store/files/${t.path}`),className:`flex items-center gap-2 px-3 py-2 text-[13px] hover:bg-paper-2 coarse:min-h-11`,title:t.source??void 0,children:[(0,q.jsx)(P,{className:`size-3.5 shrink-0 text-ink-3`}),(0,q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t.path}),(0,q.jsx)(`span`,{className:`text-ink-4 tabular-nums`,children:rn(t.size)})]})},t.path))})]}):null,(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 pt-1`,children:[l?(0,q.jsx)(`span`,{}):s?(0,q.jsxs)(U,{variant:`secondary`,onClick:async()=>{await a.del(`/api/runs/${e}/store`),o(await a.get(`/api/runs/${e}/store`)),c(!1)},children:[(0,q.jsx)(S,{className:`size-4`}),` `,W(`store.confirmDelete`)]}):(0,q.jsxs)(U,{variant:`ghost`,onClick:()=>c(!0),children:[(0,q.jsx)(S,{className:`size-4`}),` `,W(`store.delete`)]}),(0,q.jsx)(U,{onClick:()=>n(!1),children:W(`common.close`)})]})]}):(0,q.jsx)(`div`,{className:`flex justify-center py-8 text-ink-4`,children:(0,q.jsx)(R,{})})})]})}var on=300;function sn(){if(typeof MediaRecorder<`u`)return[`audio/webm;codecs=opus`,`audio/mp4`,`audio/webm`,`audio/ogg;codecs=opus`].find(e=>MediaRecorder.isTypeSupported(e))}function cn(e){return`${Math.floor(e/60)}:${String(Math.floor(e%60)).padStart(2,`0`)}`}function ln({value:e,runId:t,onChange:n,onBusy:r}){let i=ae(e)?e:null,[o,s]=(0,K.useState)(null),[c,l]=(0,K.useState)(0),[u,d]=(0,K.useState)(!1),[f,m]=(0,K.useState)(null),[h,g]=(0,K.useState)(!1),[_,v]=(0,K.useState)(null),b=(0,K.useRef)(null),x=(0,K.useRef)(null),S=sn(),C=p&&!!S;(0,K.useEffect)(()=>()=>{b.current&&(b.current.recorder.onstop=null,b.current.stop())},[]),(0,K.useEffect)(()=>()=>{_&&URL.revokeObjectURL(_.url)},[_]);let w=async(e,i)=>{d(!0),r?.(!0),m(null);try{let r=await a.upload(`/api/runs/${t}/uploads`,e);v({asset:r.id,url:URL.createObjectURL(e)}),n({asset:r.id,...i===void 0?{}:{seconds:i}})}catch(e){m(e.message)}finally{d(!1),r?.(!1)}},T=async()=>{m(null),g(!1);let e;try{e=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0}})}catch{g(!0);return}let t=[],n=new MediaRecorder(e,{mimeType:S,audioBitsPerSecond:48e3}),i=Date.now(),a=new AudioContext,o=a.createAnalyser();o.fftSize=256,a.createMediaStreamSource(e).connect(o);let c=new Uint8Array(o.fftSize),u=0,d=()=>{o.getByteTimeDomainData(c);let e=0;for(let t of c)e=Math.max(e,Math.abs(t-128));if(l(Math.min(1,e/64)),s((Date.now()-i)/1e3),(Date.now()-i)/1e3>=on){f();return}u=requestAnimationFrame(d)},f=()=>{cancelAnimationFrame(u),n.state!==`inactive`&&n.stop();for(let t of e.getTracks())t.stop();a.close().catch(()=>void 0),b.current=null,s(null),l(0)};n.ondataavailable=e=>e.data.size&&t.push(e.data),n.onstop=()=>{let e=(n.mimeType||S||`audio/webm`).split(`;`)[0],r=e===`audio/mp4`?`m4a`:e===`audio/ogg`?`ogg`:`webm`,a=Math.max(1,Math.round((Date.now()-i)/1e3));w(new File(t,`sprachnotiz-${Ct()}.${r}`,{type:e}),a)},b.current={recorder:n,stop:f},r?.(!0),n.start(1e3),u=requestAnimationFrame(d)},E=o!==null,D=(0,q.jsxs)(U,{variant:`secondary`,onClick:()=>x.current?.click(),children:[(0,q.jsx)(Oe,{className:`size-4`}),` `,W(`voice.pick`)]});return(0,q.jsxs)(`div`,{children:[E?(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl bg-card p-3 ring-1 ring-ember`,children:[(0,q.jsxs)(`span`,{className:`relative flex size-11 shrink-0 items-center justify-center`,children:[(0,q.jsx)(`span`,{className:`absolute inset-0 rounded-full bg-rose-tint transition-transform duration-75`,style:{transform:`scale(${.7+c*.5})`}}),(0,q.jsx)(`span`,{className:`relative size-3.5 animate-pulse-dot rounded-full bg-rose`})]}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`font-medium text-[15px] tabular-nums`,children:cn(o)}),(0,q.jsx)(`div`,{className:`text-[13px] text-ink-3`,children:o>270?W(`voice.left`,{s:Math.ceil(on-o)}):W(`voice.recording`)})]}),(0,q.jsxs)(U,{onClick:()=>b.current?.stop(),children:[(0,q.jsx)(y,{className:`size-3.5 fill-current`}),` `,W(`voice.stop`)]})]}):u?(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl bg-card p-4 text-[14px] text-ink-3 ring-1 ring-input`,children:[(0,q.jsx)(R,{className:`size-4`}),` `,W(`run.uploading`)]}):i?(0,q.jsxs)(`div`,{className:`rounded-xl bg-card p-3 ring-1 ring-input`,children:[(0,q.jsx)(`audio`,{controls:!0,preload:`metadata`,src:_?.asset===i.asset?_.url:`/api/runs/${t}/assets/${i.asset}`,className:`h-11 w-full`}),i.transcript?(0,q.jsx)(`p`,{className:`mt-2 whitespace-pre-wrap px-1 text-[14px] text-ink-2 leading-relaxed`,children:i.transcript}):null,(0,q.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center justify-between gap-2`,children:[(0,q.jsx)(`span`,{className:`px-1 text-[13px] text-ink-3`,children:i.seconds?cn(i.seconds):null}),(0,q.jsxs)(`div`,{className:`flex gap-1`,children:[C?(0,q.jsxs)(U,{variant:`ghost`,size:`sm`,onClick:()=>void T(),children:[(0,q.jsx)(Je,{className:`size-3.5`}),` `,W(`voice.again`)]}):null,(0,q.jsx)(U,{variant:`ghost`,size:`sm`,onClick:()=>n(void 0),children:W(`voice.remove`)})]})]})]}):(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[C?(0,q.jsxs)(U,{variant:`secondary`,size:`lg`,onClick:()=>void T(),className:`w-full sm:w-auto`,children:[(0,q.jsx)(F,{className:`size-4`}),` `,W(`voice.start`)]}):D,C&&h?D:null]}),h?(0,q.jsx)(`p`,{className:`mt-2 rounded-lg bg-amber-tint px-3 py-2 text-[13px] text-ink-2 leading-relaxed`,children:W(`voice.denied`)}):(0,q.jsx)(`p`,{className:`mt-2 text-[13px] text-ink-3 leading-relaxed`,children:W(C?`voice.why`:`voice.noRecorder`)})]}),(0,q.jsx)(`input`,{ref:x,type:`file`,hidden:!0,accept:`audio/*`,capture:!0,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&w(t,void 0)}}),f?(0,q.jsx)(`div`,{className:`mt-2 text-[13px] text-rose`,children:f}):null]})}function un(e,t){try{return new Intl.NumberFormat(void 0,{style:`currency`,currency:t}).format(e)}catch{return`${e.toFixed(2)} ${t}`}}function dn({field:e,value:t,values:n,onChange:r}){let i=e.columns??[],a=Array.isArray(t)&&t.length?t:[{}],o=re(e,a,n),s=(e,t,n)=>{r(a.map((r,i)=>i===e?{...r,[t]:n}:r))},c=i.map(e=>e.kind===`text`&&e===i[0]?`minmax(0,3fr)`:`minmax(0,1fr)`).join(` `);return(0,q.jsxs)(`div`,{className:`rounded-xl bg-card p-2 ring-1 ring-input`,children:[(0,q.jsx)(`div`,{className:`hidden gap-2 px-2 pt-1 pb-2 text-[12px] text-ink-3 sm:grid`,style:{gridTemplateColumns:`${c} 36px`},children:i.map(e=>(0,q.jsx)(`div`,{className:e.kind===`text`?``:`text-right`,children:e.label},e.id))}),(0,q.jsx)(`div`,{className:`flex flex-col gap-2`,children:a.map((e,t)=>(0,q.jsxs)(`div`,{className:`grid grid-cols-6 gap-2 rounded-lg bg-paper p-2 sm:bg-transparent sm:p-0 sm:[grid-template-columns:var(--cols)]`,style:{"--cols":`${c} 36px`},children:[i.map((n,r)=>(0,q.jsxs)(`label`,{className:B(`flex min-w-0 flex-col gap-1 sm:col-span-1`,r===0?`col-span-5`:i.length-1<=2?`col-span-3`:`col-span-2`),children:[(0,q.jsx)(`span`,{className:`px-0.5 text-[11px] text-ink-3 sm:hidden`,children:n.label}),(0,q.jsx)(`input`,{"aria-label":n.label,placeholder:n.label,inputMode:n.kind===`text`?`text`:`decimal`,autoComplete:`off`,value:String(e[n.id]??``),onChange:e=>s(t,n.id,e.target.value),className:B(`h-11 w-full min-w-0 rounded-md border border-transparent bg-paper-2 px-2.5 text-[14px] outline-none placeholder:text-transparent focus:border-focus focus:bg-card sm:placeholder:text-ink-4`,n.kind!==`text`&&`text-right tabular-nums`)})]},n.id)),(0,q.jsx)(V,{label:W(`list.delete`),onClick:()=>r(a.filter((e,n)=>n!==t)),className:`order-first col-start-6 row-start-1 size-11 justify-self-end self-end sm:order-none sm:col-start-auto sm:row-start-auto`,children:(0,q.jsx)(S,{className:`size-4`})})]},t))}),(0,q.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-end justify-between gap-3 px-2 pb-1`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>r([...a,{}]),className:`inline-flex h-9 items-center gap-1.5 rounded-full px-3 text-[13px] text-ink-2 hover:bg-accent coarse:h-11`,children:[(0,q.jsx)(M,{className:`size-4`}),` `,W(`run.addRow`)]}),(0,q.jsxs)(`div`,{className:`text-right text-[13px] tabular-nums`,children:[(0,q.jsxs)(`div`,{className:`text-ink-3`,children:[W(`run.net`),` `,un(o.net,o.currency)]}),o.vatRate?(0,q.jsxs)(`div`,{className:`text-ink-3`,children:[W(`run.vat`,{r:o.vatRate}),` `,un(o.vat,o.currency)]}):null,(0,q.jsxs)(`div`,{className:`font-semibold text-[15px] text-ink`,children:[W(`run.total`),` `,un(o.gross,o.currency)]})]})]})]})}function fn(e){return!!e?.closest(`input, textarea, [contenteditable='true']`)}function pn({field:e,value:t,runId:n,onChange:i,onBusy:o}){let s=(0,K.useRef)(null),c=(0,K.useRef)(null),l=(0,K.useRef)(null),u=(0,K.useRef)(null),[d,f]=(0,K.useState)(!1),[m,g]=(0,K.useState)({}),[_,v]=(0,K.useState)(null),[y,b]=(0,K.useState)(!1),[x,S]=(0,K.useState)(!1),[C,w]=(0,K.useState)(null),T=(0,K.useRef)(null),E=e=>{T.current=e,w(e)},D=e.kind===`image`,k=!!e.multiple,A=k?e.max??30:1,j=D||!!e.camera||!!e.video,M=!D&&!!e.video,N=Array.isArray(t)?t:typeof t==`string`&&t?[t]:[],P=(0,K.useRef)(N);P.current=N;let F=N.length<A,I=async e=>{let t=(D?e.filter(e=>e.type.startsWith(`image/`)):e).sort((e,t)=>e.name.localeCompare(t.name,void 0,{numeric:!0}));if(!t.length)return;let r=A-(k?P.current.length:0);f(!0),o?.(!0),v(t.length>r&&k?W(`run.maxFiles`,{n:A}):null);try{for(let e of t.slice(0,Math.max(0,r))){let t=await St(e),r=await a.upload(`/api/runs/${n}/uploads`,t);g(e=>({...e,[r.id]:{name:r.name,mime:r.mime}}));let o=k?[...P.current,r.id]:r.id;P.current=k?o:[r.id],i(o)}}catch(e){v(e.message)}finally{f(!1),o?.(!1)}},ne=(0,K.useRef)(I);ne.current=I;let re=e=>{let t=N.filter(t=>t!==e);i(k?t:void 0)},ie=(e,t)=>{let n=P.current.indexOf(e),r=Math.min(P.current.length-1,Math.max(0,t));if(n<0||n===r)return;let a=P.current.filter(t=>t!==e);a.splice(r,0,e),P.current=a,i(a)},ae=k&&N.length>1;(0,K.useEffect)(()=>{if(!F)return;let e=e=>{let t=Array.from(e.clipboardData?.files??[]),n=s.current;if(!t.length||!n||fn(document.activeElement))return;let r=document.querySelectorAll(`[data-upload-field]`);(n.matches(`:hover`)||n.contains(document.activeElement)||r.length===1)&&(e.preventDefault(),ne.current(t))};return document.addEventListener(`paste`,e),()=>document.removeEventListener(`paste`,e)},[F]);let L=B(`flex flex-col items-center justify-center gap-2 rounded-xl border border-input border-dashed bg-card px-3 text-[14px] text-ink-3 transition hover:border-ember hover:text-ink`,N.length?`py-4`:`py-8`);return(0,q.jsxs)(`div`,{ref:s,"data-upload-field":``,onDragOver:e=>{F&&(e.preventDefault(),S(!0))},onDragLeave:()=>S(!1),onDrop:e=>{S(!1),F&&(e.preventDefault(),I(Array.from(e.dataTransfer.files)))},children:[N.length?(0,q.jsx)(`div`,{className:`mb-2 flex flex-col gap-2`,children:N.map((e,t)=>{let i=m[e],a=i?.mime??(D?`image/`:``);return(0,q.jsxs)(`div`,{"data-file-id":e,className:B(`flex items-center gap-3 rounded-xl bg-card p-2 ring-1 ring-input transition-shadow`,C===e&&`relative z-10 shadow-elevated ring-2 ring-ember`),children:[ae?(0,q.jsxs)(`button`,{type:`button`,"aria-label":W(`run.moveFile`,{n:t+1}),title:W(`run.moveFileHint`),className:B(`-mr-1 flex h-14 w-9 shrink-0 touch-none flex-col items-center justify-center gap-0.5 rounded-lg text-ink-3 hover:bg-paper-2 hover:text-ink`,C===e?`cursor-grabbing`:`cursor-grab`),onPointerDown:t=>{try{t.currentTarget.setPointerCapture(t.pointerId)}catch{}E(e)},onPointerMove:t=>{if(T.current!==e)return;let n=document.elementFromPoint(t.clientX,t.clientY)?.closest(`[data-file-id]`),r=n?.getAttribute(`data-file-id`);r&&r!==e&&s.current?.contains(n??null)&&ie(e,P.current.indexOf(r))},onPointerUp:()=>E(null),onPointerCancel:()=>E(null),onKeyDown:n=>{(n.key===`ArrowUp`||n.key===`ArrowDown`)&&(n.preventDefault(),ie(e,t+(n.key===`ArrowUp`?-1:1)))},children:[(0,q.jsx)(`span`,{className:`font-medium text-[12px] tabular-nums`,children:t+1}),(0,q.jsx)(Pe,{className:`size-4`})]}):null,a.startsWith(`image/`)?(0,q.jsx)(`img`,{src:r(`/api/runs/${n}/assets/${e}`),alt:``,className:`size-14 rounded-lg object-cover`}):(0,q.jsx)(`div`,{className:`flex size-12 shrink-0 items-center justify-center rounded-lg bg-paper-2`,children:a.startsWith(`video/`)?(0,q.jsx)(ee,{className:`size-5 text-ink-3`}):(0,q.jsx)(O,{className:`size-5 text-ink-3`})}),(0,q.jsx)(`div`,{className:`min-w-0 flex-1 truncate text-[14px]`,children:i?.name??`✓`}),(0,q.jsx)(V,{label:W(`run.removeFile`),onClick:()=>re(e),children:(0,q.jsx)(G,{className:`size-4`})})]},e)})}):null,F?(0,q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>c.current?.click(),className:B(L,`min-w-[9rem] flex-1 px-4`,x&&`border-ember text-ink`),children:[D?(0,q.jsx)(Ie,{className:`size-6`}):(0,q.jsx)(O,{className:`size-6`}),d?W(`run.uploading`):N.length?W(`run.uploadMore`):W(h?`run.uploadTouch`:`run.upload`)]}),j?(0,q.jsxs)(`button`,{type:`button`,onClick:()=>p?b(!0):l.current?.click(),className:B(L,`w-28`),children:[(0,q.jsx)(be,{className:`size-6`}),W(`run.camera`)]}):null,M&&!(p&&Nt)?(0,q.jsxs)(`button`,{type:`button`,onClick:()=>u.current?.click(),className:B(L,`w-28`),children:[(0,q.jsx)(te,{className:`size-6`}),W(`camera.video`)]}):null]}):null,(0,q.jsx)(`input`,{ref:c,type:`file`,hidden:!0,multiple:k,accept:D?`image/*`:void 0,onChange:e=>{I(Array.from(e.target.files??[])),e.target.value=``}}),(0,q.jsx)(`input`,{ref:l,type:`file`,hidden:!0,accept:`image/*`,capture:`environment`,onChange:e=>{I(Array.from(e.target.files??[])),e.target.value=``}}),M?(0,q.jsx)(`input`,{ref:u,type:`file`,hidden:!0,accept:`video/*`,capture:`environment`,onChange:e=>{I(Array.from(e.target.files??[])),e.target.value=``}}):null,(0,q.jsx)(Pt,{open:y,multiple:k,video:M,onClose:()=>b(!1),onCapture:e=>I([e]),onNative:()=>l.current?.click()}),k&&(e.min||e.max)?(0,q.jsx)(`div`,{className:`mt-2 text-[13px] text-ink-3 tabular-nums`,children:e.min&&N.length<e.min?W(`run.filesMin`,{n:N.length,min:e.min}):e.max?W(`run.filesOf`,{n:N.length,max:e.max}):null}):null,_?(0,q.jsx)(`div`,{className:`mt-2 text-[13px] text-rose`,children:_}):null]})}function mn(e){let t=`${e.id} ${e.label}`.toLowerCase();return/telefon|phone|handy|mobil(?!it)|\btel\b|rückruf/.test(t)?{type:`tel`,inputMode:`tel`,autoComplete:`tel`}:/\bplz\b|postleitzahl|postal|zip/.test(t)?{inputMode:`numeric`,autoComplete:`postal-code`}:/iban/.test(t)?{autoCapitalize:`characters`,autoCorrect:`off`,spellCheck:!1}:/vorname|first.?name/.test(t)?{autoComplete:`given-name`,autoCapitalize:`words`}:/nachname|last.?name|surname/.test(t)?{autoComplete:`family-name`,autoCapitalize:`words`}:/firma|unternehmen|company|organi[sz]ation/.test(t)?{autoComplete:`organization`,autoCapitalize:`words`}:/straße|strasse|street|anschrift|adresse|address/.test(t)?{autoComplete:`street-address`,autoCapitalize:`words`}:/\b(ort|stadt|city|town)\b/.test(t)?{autoComplete:`address-level2`,autoCapitalize:`words`}:/\bname\b|ansprechp/.test(t)?{autoComplete:`name`,autoCapitalize:`words`}:{autoCapitalize:`sentences`}}function hn({field:e,value:t,onChange:n}){let[r,i]=(0,K.useState)(!1);return(0,q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,q.jsx)(H,{value:t,placeholder:e.placeholder,autoCapitalize:`off`,autoCorrect:`off`,spellCheck:!1,onChange:e=>n(e.target.value)}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>i(!0),className:`inline-flex h-11 shrink-0 items-center gap-2 rounded-lg border border-input bg-card px-3.5 font-medium text-[14px] text-ink-2 transition hover:border-ember hover:text-ink`,children:[(0,q.jsx)(Xe,{className:`size-4`}),` `,W(`scan.button`)]}),(0,q.jsx)(Vt,{open:r,onClose:()=>i(!1),onResult:n})]})}function gn({field:e,value:t,values:n,runId:r,view:i,onChange:a,onBusy:o,error:s}){let c=t==null?``:String(t),l;switch(e.kind){case`textarea`:l=(0,q.jsx)(le,{value:c,placeholder:e.placeholder,autoCapitalize:`sentences`,enterKeyHint:`enter`,onChange:e=>a(e.target.value)});break;case`number`:l=(0,q.jsx)(H,{inputMode:`decimal`,autoComplete:`off`,value:c,placeholder:e.placeholder,onChange:e=>a(e.target.value)});break;case`select`:{let t=e.options??[];l=t.length<=5&&t.every(e=>e.length<=28)?(0,q.jsx)(ce,{value:c,options:t,onChange:a}):(0,q.jsx)(fe,{value:c,placeholder:`—`,onChange:a,options:t.map(e=>({value:e,label:e}))});break}case`multiselect`:l=(0,q.jsx)(ce,{multi:!0,value:Array.isArray(t)?t:[],options:e.options??[],onChange:a});break;case`date`:l=(0,q.jsx)(H,{type:`date`,value:c,onChange:e=>a(e.target.value),className:`w-full sm:w-56`});break;case`email`:l=(0,q.jsx)(H,{type:`email`,inputMode:`email`,autoComplete:`email`,autoCapitalize:`off`,autoCorrect:`off`,spellCheck:!1,value:c,placeholder:e.placeholder,onChange:e=>a(e.target.value)});break;case`url`:l=(0,q.jsx)(H,{type:`url`,inputMode:`url`,autoComplete:`url`,autoCapitalize:`off`,autoCorrect:`off`,spellCheck:!1,value:c,placeholder:e.placeholder??`https://`,onChange:e=>a(e.target.value)});break;case`toggle`:l=(0,q.jsx)(de,{checked:t===!0,onChange:a,label:e.label});break;case`color`:l=(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,q.jsx)(oe,{value:c||`#e0531b`,onChange:e=>a(e.target.value)}),(0,q.jsx)(H,{value:c,placeholder:`#e0531b`,autoCapitalize:`off`,autoCorrect:`off`,spellCheck:!1,onChange:e=>a(e.target.value),className:`w-36`})]});break;case`image`:case`file`:l=(0,q.jsx)(pn,{field:e,value:t,runId:r,onChange:a,onBusy:o});break;case`items`:l=(0,q.jsx)(dn,{field:e,value:t,values:n,onChange:a});break;case`connection`:l=(0,q.jsx)(Jt,{runId:r,connection:i?.connections.find(t=>t.id===e.connection)});break;case`list`:{let t=i?.lists.find(t=>t.def.id===e.list);l=t?(0,q.jsx)(Zt,{runId:r,list:t,editable:!0}):null;break}case`location`:l=(0,q.jsx)(Rt,{value:t,runId:r,placeholder:e.placeholder,onChange:a,onBusy:o});break;case`audio`:l=(0,q.jsx)(ln,{value:t,runId:r,onChange:a,onBusy:o});break;case`signature`:l=(0,q.jsx)(Kt,{label:e.label,value:t,runId:r,onChange:a});break;default:l=e.scan?(0,q.jsx)(hn,{field:e,value:c,onChange:a}):(0,q.jsx)(H,{...mn(e),value:c,placeholder:e.placeholder,onChange:e=>a(e.target.value)})}return(0,q.jsxs)(`div`,{children:[e.kind===`toggle`?(0,q.jsxs)(`div`,{className:`flex items-start justify-between gap-6`,children:[(0,q.jsx)(L,{hint:e.help,children:e.label}),l]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(L,{hint:e.help,required:e.required,children:e.label}),l]}),s?(0,q.jsx)(`div`,{className:`mt-1.5 text-[13px] text-rose`,children:s}):null]})}var _n=45e3;function vn(e){let[t,n]=(0,K.useState)(null),[i,s]=(0,K.useState)(null),[c,l]=(0,K.useState)(!1),[u,d]=(0,K.useState)(!1),[f,p]=(0,K.useState)({});(0,K.useEffect)(()=>{if(n(null),l(!1),!e)return;let t=!1,i=0,s,c=null,u=Date.now(),d=()=>{t=!0,c?.close(),l(!0)},f=async()=>{try{let r=await a.get(`/api/runs/${e}`);t||n(r)}catch(e){e instanceof o&&e.status===404&&d()}},p=()=>{if(clearTimeout(s),c?.close(),t)return;let a=new EventSource(r(`/api/runs/${e}/stream`),{withCredentials:!0});c=a,u=Date.now(),a.addEventListener(`view`,e=>{i=0,u=Date.now(),n(JSON.parse(e.data))}),a.addEventListener(`ping`,()=>{u=Date.now()}),a.onerror=()=>{a.close(),!(t||c!==a)&&(c=null,f(),i=Math.min(i+1,6),s=setTimeout(p,500*2**i))}},m=()=>{t||document.visibilityState!==`visible`||(!c||c.readyState===EventSource.CLOSED||Date.now()-u>_n?(i=0,p()):f())},h=setInterval(()=>{!t&&c&&Date.now()-u>_n&&(i=0,p())},15e3);return p(),document.addEventListener(`visibilitychange`,m),window.addEventListener(`pageshow`,m),window.addEventListener(`online`,m),()=>{t=!0,clearTimeout(s),clearInterval(h),document.removeEventListener(`visibilitychange`,m),window.removeEventListener(`pageshow`,m),window.removeEventListener(`online`,m),c?.close()}},[e]);let m=(0,K.useCallback)(async(t,n)=>{if(!e)return!1;d(!0),s(null),p({});try{return await a.post(`/api/runs/${e}/${t}`,n),!0}catch(e){return e instanceof o&&e.status===422&&Array.isArray(e.body?.fields)&&p(Object.fromEntries(e.body.fields.map(e=>[e.field,e.message]))),s(e.message),!1}finally{d(!1)}},[e]);return{view:t,notFound:c,error:i,busy:u,fieldErrors:f,submitPage:(e,t)=>m(`pages/${e}`,{values:t}),accept:(e,t)=>m(`reviews/${e}`,{type:`accept`,edits:t}),regenerate:(e,t,n,r)=>m(`reviews/${e}`,{type:`regenerate`,target:t,note:n,items:r?.length?r:void 0}),back:()=>m(`back`),retry:()=>m(`retry`)}}function yn({view:e}){let t=Math.round(Math.min(e.progress.done,e.progress.total)/Math.max(1,e.progress.total)*100);return(0,q.jsx)(`div`,{className:`h-[3px] w-full bg-paper-2`,children:(0,q.jsx)(`div`,{className:`h-full bg-ember transition-[width] duration-700 ease-out`,style:{width:`${t}%`}})})}function bn({title:e,description:t,kicker:n}){return(0,q.jsxs)(`div`,{className:`mb-8`,children:[n?(0,q.jsx)(`p`,{className:`mb-4 text-[15px] text-ink-2 leading-relaxed`,children:n}):null,(0,q.jsx)(`h1`,{className:`font-display font-semibold text-[28px] leading-[1.15] tracking-tight sm:text-[32px]`,children:e}),t?(0,q.jsx)(`p`,{className:`mt-2 text-[15px] text-ink-3 leading-relaxed`,children:t}):null]})}function xn(e,t){let n={};for(let r of e.fields)n[r.id]=t.values[r.id]??t.prefill?.[r.id]??r.default??(r.kind===`multiselect`?[]:void 0);return n}function Sn(e){return Array.from(e.querySelectorAll(`input:not([type="hidden"], [type="file"], [type="checkbox"], [type="color"], [type="range"], [disabled]), textarea:not([disabled])`)).filter(e=>!e.closest(`dialog`)&&e.offsetParent!==null)}function Cn({view:e,run:t,step:n}){let[r,i]=(0,K.useState)(()=>xn(n,e)),[a,o]=(0,K.useState)(new Set),s=(0,K.useRef)(null),c=e.progress.done===0,l=()=>void t.submitPage(n.id,r);return(0,K.useEffect)(()=>{if(!s.current)return;let e=Sn(s.current).filter(e=>e instanceof HTMLInputElement);for(let[t,n]of e.entries())(n.dataset.hint||!n.hasAttribute(`enterkeyhint`))&&(n.dataset.hint=`1`,n.setAttribute(`enterkeyhint`,t===e.length-1?`go`:`next`))}),(0,q.jsxs)(`form`,{ref:s,className:`animate-rise`,onSubmit:e=>{e.preventDefault(),a.size||l()},onKeyDown:e=>{let t=e.target;if(e.key!==`Enter`||e.defaultPrevented||e.nativeEvent.isComposing||!(t instanceof HTMLInputElement)||t.closest(`dialog`))return;let n=Sn(e.currentTarget),r=n[n.indexOf(t)+1];r&&(e.preventDefault(),r.focus())},children:[(0,q.jsx)(bn,{title:n.title,description:n.description,kicker:c?e.wizard.intro:null}),(0,q.jsx)(`div`,{className:`flex flex-col gap-7`,children:n.fields.map(n=>(0,q.jsx)(gn,{field:n,value:r[n.id],values:r,runId:e.id,view:e,error:t.fieldErrors[n.id],onChange:e=>i(t=>({...t,[n.id]:e})),onBusy:e=>o(t=>{if(t.has(n.id)===e)return t;let r=new Set(t);return e?r.add(n.id):r.delete(n.id),r})},n.id))}),(0,q.jsx)(wn,{view:e,run:t,sticky:!0,children:(0,q.jsxs)(U,{type:`submit`,size:`lg`,busy:t.busy,disabled:a.size>0,children:[n.cta||W(`run.next`),` `,(0,q.jsx)(u,{className:`size-4`})]})})]})}function wn({view:e,run:t,sticky:n,children:r}){return(0,q.jsxs)(`div`,{className:B(`mt-10 flex items-center justify-between gap-3`,n&&`action-bar`),children:[e.canBack?(0,q.jsxs)(U,{variant:`ghost`,onClick:()=>void t.back(),disabled:t.busy,children:[(0,q.jsx)(l,{className:`size-4`}),` `,W(`run.back`)]}):(0,q.jsx)(`span`,{}),r]})}function Tn(){let e=_(),[t,n]=(0,K.useState)(!1),r=e!==`off`;return(0,q.jsxs)(`div`,{className:`mt-6 flex flex-col items-center gap-2`,children:[(0,q.jsxs)(`button`,{type:`button`,"aria-pressed":r,disabled:t,onClick:async()=>{if(r){C();return}n(!0),await T(),n(!1)},className:B(`inline-flex h-11 items-center gap-2 rounded-full px-4 font-medium text-[14px] ring-1 transition`,r?`bg-ember-tint text-ink ring-ember`:`bg-card text-ink-2 ring-input hover:text-ink hover:ring-ink-4`),children:[r?(0,q.jsx)(ge,{className:`size-4 text-ember-strong`}):(0,q.jsx)(ve,{className:`size-4`}),W(r?`notify.on`:`notify.ask`)]}),(0,q.jsx)(`p`,{className:`max-w-xs text-[12px] text-ink-4 leading-relaxed`,children:W(e===`off`?`notify.why`:e===`on`?`notify.onHint`:x()?`notify.blocked`:`notify.quiet`)})]})}function En({view:e,compact:t,awake:n}){let a=(0,K.useMemo)(()=>{let t=[...e.events].reverse().find(t=>t.type===`step_started`&&t.stepId===e.step?.id);return t?new Date(t.at).getTime():Date.now()},[e.events,e.step?.id]),[o,s]=(0,K.useState)(Date.now());(0,K.useEffect)(()=>{let e=setInterval(()=>s(Date.now()),1e3);return()=>clearInterval(e)},[]);let c=[...e.events].reverse().find(t=>t.type===`step_started`&&t.stepId===e.step?.id)?.message??e.step?.title??W(`run.working`),l=e.events.filter(e=>(e.type===`tool`||e.type===`info`)&&new Date(e.at).getTime()>=a-500),u=l.slice(-4),d=[...new Set(l.map(e=>e.asset).filter(e=>!!e))],f=[...l].reverse().find(e=>e.asset)?.asset;return(0,q.jsxs)(`div`,{className:`flex animate-rise flex-col items-center pt-6 text-center`,children:[(0,q.jsx)(i,{kind:e.wizard.avatar,size:t?130:170,fluffy:!0}),(0,q.jsx)(`h2`,{className:`mt-4 font-display font-semibold text-[22px] tracking-tight`,children:c}),(0,q.jsx)(`div`,{className:`mt-1 text-[13px] text-ink-4 tabular-nums`,children:W(`run.elapsed`,{s:Math.max(0,Math.round((o-a)/1e3))})}),d.length?(0,q.jsx)(`div`,{className:`mt-5 flex max-w-full flex-wrap justify-center gap-2`,children:d.slice(-8).map(t=>(0,q.jsx)(`img`,{src:r(`/api/runs/${e.id}/assets/${t}`),alt:``,className:B(`size-16 animate-rise rounded-lg bg-paper-2 object-cover ring-1 ring-border-soft transition sm:size-20`,t===f?`ring-2 ring-ember`:`opacity-70`)},t))}):null,(0,q.jsx)(`div`,{className:`mt-6 flex min-h-[7rem] w-full max-w-sm flex-col gap-1.5`,children:u.map((e,t)=>(0,q.jsxs)(`div`,{className:B(`flex items-center justify-center gap-2 text-[13px] transition-opacity`,t===u.length-1?`text-ink-2`:`text-ink-4`),children:[t===u.length-1?(0,q.jsx)(v,{className:`size-3.5 animate-breathe text-ember`}):null,(0,q.jsx)(`span`,{className:`truncate`,children:e.message})]},e.id))}),t?null:(0,q.jsx)(Tn,{}),n?(0,q.jsx)(`p`,{className:`mt-3 text-[12px] text-ink-4`,children:W(`run.awake`)}):null]})}function Dn(e){let t=(0,K.useRef)({running:!1,since:0,ask:null});(0,K.useEffect)(()=>{if(!e)return;let n=t.current,r=e.status===`running`,i=r?n.running?n.since:Date.now():0,a=t=>{document.visibilityState!==`visible`&&!document.title.startsWith(`● `)&&(document.title=`● ${document.title}`),D({title:e.wizard.title,body:t,tag:e.id})};r&&e.ask&&e.ask.id!==n.ask?a(W(`notify.needsYou`)):!r&&n.running&&Date.now()-n.since>8e3&&a(e.status===`failed`?W(`run.failed`):e.status===`done`?W(`notify.done`):W(`notify.next`)),t.current={running:r,since:i,ask:e.ask?.id??null}},[e]),(0,K.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&document.title.startsWith(`● `)&&(document.title=document.title.slice(2))};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[])}function On({view:e,run:t,step:n}){let[r,i]=(0,K.useState)({}),[a,o]=(0,K.useState)({}),[s,c]=(0,K.useState)(``),l=e.shown.filter(e=>e.output),[d,p]=(0,K.useState)(l.length===1?l[0].step.id:null),[m,h]=(0,K.useState)({}),g=(0,K.useRef)(null),_=l.find(e=>e.step.id===d),v=_?.step.type===`generate`&&(_.output?.assets?.length??0)>1,y=()=>{_&&s.trim()&&t.regenerate(n.id,_.step.id,s.trim(),m[_.step.id])};return(0,q.jsxs)(`div`,{className:`animate-rise`,children:[(0,q.jsx)(bn,{title:n.title,description:n.description}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[e.shown.map(({step:t,output:s})=>{let c=!!n.edit&&t.type===`agent`&&t.output.format!==`json`;return(0,q.jsxs)(`section`,{children:[(0,q.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-3`,children:[(0,q.jsx)(`h3`,{className:`font-medium text-[13px] text-ink-3 uppercase tracking-[0.06em]`,children:t.title}),(0,q.jsx)(`div`,{className:`flex items-center`,children:c&&!a[t.id]?(0,q.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>({...e,[t.id]:!0})),className:`inline-flex h-8 items-center gap-1.5 rounded-full px-3 text-[13px] text-ink-2 hover:bg-accent hover:text-ink coarse:h-11`,children:[(0,q.jsx)(f,{className:`size-3.5`}),` `,W(`run.edit`)]}):null})]}),(0,q.jsx)(b,{base:`/api/runs/${e.id}`,step:t,output:s,editable:c&&a[t.id],draft:r[t.id],onDraft:e=>i(n=>({...n,[t.id]:e})),picked:m[t.id],onPick:n.regenerate?e=>{p(t.id),h(n=>{let r=n[t.id]??[];return{...n,[t.id]:r.includes(e)?r.filter(t=>t!==e):[...r,e]}}),g.current?.focus()}:void 0})]},t.id)}),e.lists.map(t=>(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`h3`,{className:`mb-2 font-medium text-[13px] text-ink-3 uppercase tracking-[0.06em]`,children:t.def.title}),t.def.check?(0,q.jsx)(en,{runId:e.id,list:t}):(0,q.jsx)(Zt,{runId:e.id,list:t,editable:!0})]},t.def.id)),n.regenerate&&l.length?(0,q.jsxs)(ue,{className:`p-3`,children:[l.length>1?(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1 pb-2`,children:[(0,q.jsx)(`span`,{className:`mr-1 text-[13px] text-ink-3`,children:W(`run.feedbackTarget`)}),l.map(({step:e})=>(0,q.jsx)(`button`,{type:`button`,"aria-pressed":d===e.id,onClick:()=>{p(e.id),g.current?.focus()},className:B(`inline-flex h-8 items-center rounded-full px-3 text-[13px] ring-1 transition coarse:h-11`,d===e.id?`bg-ember-tint text-ink ring-ember`:`bg-card text-ink-2 ring-input hover:text-ink`),children:e.title},e.id))]}):null,(0,q.jsx)(le,{ref:g,minRows:2,maxRows:8,value:s,placeholder:W(`run.feedbackPlaceholder`),onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())},className:`border-0 bg-transparent shadow-none focus:ring-0`}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-1 pt-1`,children:[(0,q.jsx)(`span`,{className:`min-w-0 text-[12px] text-ink-3`,children:v?m[_.step.id]?.length?W(`run.regeneratePicked`,{n:[...m[_.step.id]].sort((e,t)=>e-t).map(e=>e+1).join(`, `)}):W(`run.regenerateAll`):!_&&s.trim()?W(`run.feedbackPick`):null}),(0,q.jsxs)(U,{size:`sm`,variant:`secondary`,busy:t.busy,disabled:!s.trim()||!_,onClick:y,children:[(0,q.jsx)(ie,{className:`size-3.5`}),` `,W(`run.regenerateGo`)]})]})]}):null]}),(0,q.jsx)(wn,{view:e,run:t,sticky:!0,children:(0,q.jsxs)(U,{size:`lg`,busy:t.busy,onClick:()=>void t.accept(n.id,Object.keys(r).length?r:void 0),children:[W(`run.accept`),` `,(0,q.jsx)(u,{className:`size-4`})]})})]})}function kn({view:e,run:t,step:n,onRestart:r}){let a=e.shown.filter(e=>e.output);return(0,q.jsxs)(`div`,{className:`animate-rise`,children:[(0,q.jsxs)(`div`,{className:`mb-8 flex flex-wrap items-center gap-x-4 gap-y-5`,children:[(0,q.jsx)(i,{kind:e.wizard.avatar,size:64}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1 basis-[12rem]`,children:[(0,q.jsx)(`h1`,{className:`text-balance font-display font-semibold text-[28px] leading-tight tracking-tight sm:text-[32px]`,children:n.title}),n.message?(0,q.jsx)(`p`,{className:`mt-1 text-[15px] text-ink-3`,children:n.message}):null]}),e.shown.some(e=>e.output)?(0,q.jsx)(`div`,{className:`max-sm:basis-full`,children:(0,q.jsx)(lt,{runId:e.id,title:`${n.title} · ${e.wizard.title}`,initial:e.shareUrl?{url:e.shareUrl,expiresAt:e.expiresAt}:null})}):null]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[a.map(({step:t,output:n,formats:r,label:i})=>(0,q.jsxs)(ue,{className:`p-4 sm:p-5`,children:[(0,q.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-center justify-between gap-3`,children:[(0,q.jsx)(`h3`,{className:`font-display font-semibold text-[17px]`,children:i??t.title}),(0,q.jsx)(E,{base:`/api/runs/${e.id}`,stepId:t.id,formats:r,title:i??t.title})]}),(0,q.jsx)(b,{base:`/api/runs/${e.id}`,step:t,output:n}),n?.assets?.some(e=>e.ai)?(0,q.jsx)(`p`,{className:`mt-3 text-[12px] text-ink-3 leading-relaxed`,children:W(`ai.publish`)}):null]},t.id)),e.lists.map(t=>(0,q.jsxs)(ue,{className:`p-4 sm:p-5`,children:[(0,q.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-center justify-between gap-3`,children:[(0,q.jsx)(`h3`,{className:`font-display font-semibold text-[17px]`,children:t.label??t.def.title}),(0,q.jsx)(nn,{runId:e.id,list:t})]}),(0,q.jsx)(Zt,{runId:e.id,list:t,editable:!0})]},t.def.id))]}),(0,q.jsx)(wn,{view:e,run:t,children:r?(0,q.jsxs)(U,{variant:`secondary`,onClick:r,children:[(0,q.jsx)(Je,{className:`size-4`}),` `,W(`run.again`)]}):(0,q.jsx)(`span`,{})})]})}function An({view:e,run:t}){return(0,q.jsxs)(`div`,{className:`flex animate-rise flex-col items-center pt-8 text-center`,children:[(0,q.jsx)(i,{kind:e.wizard.avatar,size:90}),(0,q.jsx)(`h2`,{className:`mt-4 font-display font-semibold text-[22px]`,children:W(`run.failed`)}),(0,q.jsx)(`p`,{className:`mt-2 max-w-md text-[15px] text-ink-3`,children:e.error}),(0,q.jsxs)(`div`,{className:`mt-8 flex gap-3`,children:[e.canBack?(0,q.jsxs)(U,{variant:`ghost`,onClick:()=>void t.back(),children:[(0,q.jsx)(l,{className:`size-4`}),` `,W(`run.back`)]}):null,(0,q.jsxs)(U,{onClick:()=>void t.retry(),busy:t.busy,children:[(0,q.jsx)(Je,{className:`size-4`}),` `,W(`run.retry`)]})]})]})}function jn({runId:e,compact:t,onRestart:n,onView:r}){let i=vn(e),{view:a}=i;(0,K.useEffect)(()=>{r?.(a)},[a,r]),g();let o=w(a?.status===`running`&&!a.ask);if(Dn(a),i.notFound)return(0,q.jsx)(`div`,{className:`py-24 text-center text-ink-3`,children:W(`run.notFound`)});if(!a)return(0,q.jsx)(`div`,{className:`flex justify-center py-24 text-ink-4`,children:(0,q.jsx)(R,{})});let s=a.step,c=null;if(a.status===`running`&&a.ask)c=(0,q.jsx)(ut,{runId:a.id,ask:a.ask},a.ask.id);else if(a.status===`running`)c=(0,q.jsx)(En,{view:a,compact:t,awake:o});else if(a.status===`failed`)c=(0,q.jsx)(An,{view:a,run:i});else if(a.status===`cancelled`)c=(0,q.jsx)(`div`,{className:`py-24 text-center text-ink-3`,children:W(`run.cancelled`)});else if(s?.type===`page`)c=(0,q.jsx)(Cn,{view:a,run:i,step:s},s.id);else if(s?.type===`review`){let e=a.shown.map(e=>e.output?.at??``).join(`|`);c=(0,q.jsx)(On,{view:a,run:i,step:s},`${s.id}:${e}`)}else s?.type===`result`&&(c=(0,q.jsx)(kn,{view:a,run:i,step:s,onRestart:n}));let l=s?.type===`review`&&a.status===`waiting_input`&&a.lists.some(e=>e.def.check);return(0,q.jsxs)(`div`,{className:`flex min-h-full flex-col`,children:[(0,q.jsx)(yn,{view:a}),(0,q.jsxs)(`div`,{className:B(`safe-x mx-auto w-full flex-1`,l?`max-w-[1240px] py-8`:t?`max-w-[620px] py-8`:`max-w-[640px] py-8 sm:py-16`),children:[c,i.error&&a.status!==`failed`?(0,q.jsx)(`div`,{className:`mt-4 rounded-lg bg-rose-tint px-4 py-3 text-[14px] text-rose`,children:i.error}):null,a.keeps&&a.status!==`running`?(0,q.jsx)(`div`,{className:`mt-10 flex justify-center`,children:(0,q.jsx)(an,{runId:a.id})}):null]})]})}export{Qe as n,me as r,jn as t};