wizards 0.2.27 → 0.2.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/runtime/dist/authoring/guide.js +8 -2
- package/apps/runtime/dist/credits/estimate.js +4 -0
- package/apps/runtime/dist/engine/requirements.js +4 -0
- package/apps/runtime/dist/engine/steps.js +42 -1
- package/apps/runtime/dist/mcp/tools.js +2 -0
- package/apps/runtime/dist/routes/marketplace.js +2 -1
- package/apps/runtime/dist/services/marketplace.js +35 -4
- package/apps/runtime/dist/tools/plugin.js +49 -25
- package/apps/web/dist/assets/Account-BaOouMw9.js +1 -0
- package/apps/web/dist/assets/{ChangelogDialog-BdZ1SmEd.js → ChangelogDialog-3t_EKUPH.js} +1 -1
- package/apps/web/dist/assets/{CreditsDialog-fOYdoev3.js → CreditsDialog-BW-RETl-.js} +1 -1
- package/apps/web/dist/assets/EditorPage-DrJhgEHO.js +3 -0
- package/apps/web/dist/assets/{FlowPreview-U2AEnKlX.js → FlowPreview-Wu5ovKrU.js} +1 -1
- package/apps/web/dist/assets/{Harness-CtDlm_2b.js → Harness-Oh4MEjiK.js} +1 -1
- package/apps/web/dist/assets/HomePage-eYqUUwzG.js +1 -0
- package/apps/web/dist/assets/{ImportWizard-BMPGjd_t.js → ImportWizard-BSjp83g0.js} +1 -1
- package/apps/web/dist/assets/LocalRuntime-CqBfKp8q.js +1 -0
- package/apps/web/dist/assets/NewWizardPage-Bpqk-BwW.js +2 -0
- package/apps/web/dist/assets/{ProjectPage-_LAtG3tn.js → ProjectPage-SK7e8kxV.js} +2 -2
- package/apps/web/dist/assets/PublicRunner-Cu056QMy.js +1 -0
- package/apps/web/dist/assets/{RunDrawer-CtQoY3Ha.js → RunDrawer-BdcgNjPZ.js} +3 -3
- package/apps/web/dist/assets/RunnerView-JOMD-e27.js +2 -0
- package/apps/web/dist/assets/SettingsPage-BSu-2gL5.js +1 -0
- package/apps/web/dist/assets/SetupPage-DdWIlUCF.js +1 -0
- package/apps/web/dist/assets/SharePage-C5JlCg9u.js +1 -0
- package/apps/web/dist/assets/arrow-right-hy38IBRU.js +1 -0
- package/apps/web/dist/assets/changelog-C2q3P5lJ.js +1 -0
- package/apps/web/dist/assets/{circle-alert-BC6xmJ9r.js → circle-alert-BG9P3ewL.js} +1 -1
- package/apps/web/dist/assets/definition-CwX2olVF.js +1 -0
- package/apps/web/dist/assets/{esm-FEWi61F_.js → esm-MDvpTvd_.js} +1 -1
- package/apps/web/dist/assets/{external-link-wKL1HE6G.js → external-link-BwCtn1nW.js} +1 -1
- package/apps/web/dist/assets/{image-BMdSChOR.js → image-DG4q2P1H.js} +1 -1
- package/apps/web/dist/assets/index-knnf98Fv.js +78 -0
- package/apps/web/dist/assets/{lock-BpqzLMuv.js → lock-DH_BntP_.js} +1 -1
- package/apps/web/dist/assets/{meta-BqZ7SlZz.js → meta-cFJejpIa.js} +1 -1
- package/apps/web/dist/assets/{pen-line-DM-u0dES.js → pen-line-B1dsy3Sr.js} +1 -1
- package/apps/web/dist/assets/{refresh-cw-Bk7HkOIM.js → refresh-cw-B9M1g3SH.js} +1 -1
- package/apps/web/dist/assets/{settings-menu-BM_NfZfn.js → settings-menu-DC825gd1.js} +1 -1
- package/apps/web/dist/assets/{star-JHzYYl5R.js → star-axQV_3EC.js} +1 -1
- package/apps/web/dist/assets/surface-D7bnQtqR.js +56 -0
- package/apps/web/dist/assets/{trash-CdLg-Ela.js → trash-3S1_XpVa.js} +1 -1
- package/apps/web/dist/assets/{ui-8QmvuC9u.js → ui-BZ01zr3i.js} +1 -1
- package/apps/web/dist/assets/{upload-CL1R6shM.js → upload-U0i8fAW3.js} +1 -1
- package/apps/web/dist/assets/{video-BioLmXNO.js → video-Db4o719f.js} +1 -1
- package/apps/web/dist/assets/{volume-2-_IOfPNCv.js → volume-2-6f7qN_LM.js} +1 -1
- package/apps/web/dist/assets/{wand-sparkles-DYtDQSJZ.js → wand-sparkles-MelvBtiK.js} +1 -1
- package/apps/web/dist/index.html +3 -3
- package/apps/web/dist/mcp/flow.html +49 -49
- package/node_modules/@engenty-wizards/shared/dist/definition.d.ts +15 -3
- package/node_modules/@engenty-wizards/shared/dist/definition.js +38 -9
- package/node_modules/@engenty-wizards/shared/dist/marketplace-search.js +4 -1
- package/node_modules/@engenty-wizards/shared/dist/marketplace.d.ts +38 -1
- package/node_modules/@engenty-wizards/shared/dist/marketplace.js +34 -0
- package/package.json +1 -1
- package/apps/web/dist/assets/Account-DW396ig5.js +0 -1
- package/apps/web/dist/assets/EditorPage-CAARFsaI.js +0 -3
- package/apps/web/dist/assets/HomePage-Bd-mkLxW.js +0 -1
- package/apps/web/dist/assets/LocalRuntime-DjSNCRnV.js +0 -1
- package/apps/web/dist/assets/NewWizardPage-DZPcDR9i.js +0 -2
- package/apps/web/dist/assets/PublicRunner-6Iqp0DmU.js +0 -1
- package/apps/web/dist/assets/RunnerView-BLOCNZaZ.js +0 -2
- package/apps/web/dist/assets/SettingsPage-Z6skBf6I.js +0 -1
- package/apps/web/dist/assets/SetupPage-4-Lic4pT.js +0 -1
- package/apps/web/dist/assets/SharePage-DfdhXxZm.js +0 -1
- package/apps/web/dist/assets/arrow-right-BOtqnsA1.js +0 -1
- package/apps/web/dist/assets/brand-CCAI9p0f.js +0 -2
- package/apps/web/dist/assets/changelog-DQM0oz9S.js +0 -1
- package/apps/web/dist/assets/definition-D5V79jHA.js +0 -1
- package/apps/web/dist/assets/index-YJMooz0J.js +0 -132
|
@@ -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{a as e,n as t,t as n}from"./jsx-runtime-D3jfb0Ew.js";import{r}from"./brand-CCAI9p0f.js";import{t as i}from"./preload-helper-CNEI7N0N.js";import{D as a,F as o,G as s,H as c,I as l,L as u,N as d,O as f,P as p,U as m,W as h,b as g,c as _,d as v,f as y,g as b,h as x,i as S,j as C,k as w,l as T,m as E,n as D,o as O,p as k,s as A,t as j,u as M,x as N}from"./ui-8QmvuC9u.js";import{t as P}from"./arrow-right-BOtqnsA1.js";import{t as F}from"./external-link-wKL1HE6G.js";import{n as I,t as L}from"./trash-CdLg-Ela.js";import{t as R}from"./pen-line-DM-u0dES.js";import{t as z}from"./refresh-cw-Bk7HkOIM.js";import{t as ee}from"./video-BioLmXNO.js";import{A as te,B,Ct as ne,F as V,I as re,L as ie,M as ae,N as oe,P as se,St as ce,bt as le,f as ue,h as de,j as fe,k as pe,mt as me,z as he}from"./index-YJMooz0J.js";import{C as ge,S as _e,_ as ve,h as ye,m as be,x as xe,y as Se}from"./definition-D5V79jHA.js";var Ce={name:`arrow-down`,size:24,node:[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]};Ce.node;var we=s(Ce),Te={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`}]]};Te.node;var Ee=s(Te),De={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`}]]};De.node;var Oe=s(De),ke={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`}]]};ke.node;var Ae=s(ke),je={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`}]]};je.node;var Me=s(je),Ne={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`}]]};Ne.node;var Pe=s(Ne),Fe={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`]};Fe.node;var Ie=s(Fe),Le={name:`film`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M7 3v18`,key:`bbkbws`}],[`path`,{d:`M3 7.5h4`,key:`zfgn84`}],[`path`,{d:`M3 12h18`,key:`1i2n21`}],[`path`,{d:`M3 16.5h4`,key:`1230mu`}],[`path`,{d:`M17 3v18`,key:`in4fa5`}],[`path`,{d:`M17 7.5h4`,key:`myr1c1`}],[`path`,{d:`M17 16.5h4`,key:`go4c1d`}]]};Le.node;var Re=s(Le),ze={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`}]]};ze.node;var Be=s(ze),Ve={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`}]]};Ve.node;var He=s(Ve),Ue={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`}]]};Ue.node;var We=s(Ue),Ge={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`}]]};Ge.node;var Ke=s(Ge),qe={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`}]]};qe.node;var Je=s(qe),Ye={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`}]]};Ye.node;var Xe=s(Ye),Ze={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`}]]};Ze.node;var Qe=s(Ze),$e={name:`mail`,size:24,node:[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`,key:`132q7q`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}]]};$e.node;var et=s($e),tt={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`}]]};tt.node;var nt=s(tt),rt={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`}]]};rt.node;var it=s(rt),at={name:`pencil`,size:24,node:[[`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`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]};at.node;var ot=s(at),st={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`}]]};st.node;var H=s(st),ct={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`}]]};ct.node;var lt=s(ct),ut={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`}]]};ut.node;var U=s(ut),dt={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`}]]};dt.node;var ft=s(dt),pt={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`}]]};pt.node;var mt=s(pt),ht={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`]};ht.node;var gt=s(ht),_t={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`}]]};_t.node;var vt=s(_t),W=36e5,G=6e4,yt=1e3;function bt(e){return e.fractionDigits===void 0?e.style===`integer`?0:2:e.fractionDigits}function xt(e,t,n=`en`){if(typeof e!=`number`||!Number.isFinite(e))return``;let r=bt(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 St(e,t,n=`en`){if(typeof e!=`string`||e.length===0)return``;if(t.kind===`time`)return Ct(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 Ct(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 wt(e,t){if(typeof e!=`number`||!Number.isFinite(e))return``;let n=Math.max(0,Math.round(e));if(t.display===`iso`)return Tt(n);if(t.display===`minutes`)return`${Math.round(n/G)} min`;if(t.display===`hours`)return`${(n/W).toFixed(2)} h`;if(t.display===`decimal-hours`)return(n/W).toFixed(2);let r=Math.floor(n/W),i=Math.floor(n%W/G),a=Math.floor(n%G/yt);return`${r}:${String(i).padStart(2,`0`)}:${String(a).padStart(2,`0`)}`}function Tt(e){let t=Math.floor(e/W),n=Math.floor(e%W/G),r=Math.floor(e%G/yt);return`${t>=24?`P${Math.floor(t/24)}D`:`P`}T${t%24}H${n}M${r}S`}function K(e,t,n=`en`){if(t==null)return``;switch(e.type){case`number`:return xt(t,e.format,n);case`date`:return St(t,e.format,n);case`duration`:return wt(t,e.format);case`boolean`:return t===!0?`true`:t===!1?`false`:``;case`select`:return Et(e,t);default:return String(t)}}function Et(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(`, `)}var q=e(t(),1),J=e(n(),1);function Dt(e,t){let n=encodeURIComponent(e),r=encodeURIComponent(t);return[{id:`mail`,label:C(`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 Ot={x:`𝕏`,linkedin:`in`,whatsapp:`WA`,facebook:`f`};function kt({runId:e,title:t,initial:n}){let[r,i]=(0,q.useState)(!1),[a,o]=(0,q.useState)(n),[s,l]=(0,q.useState)(!1),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(null),m=async()=>{if(i(!0),!a){l(!0),p(null);try{o(await N.post(`/api/runs/${e}/share`))}catch(e){p(e.message)}finally{l(!1)}}},h=async()=>{await N.del(`/api/runs/${e}/share`),o(null),i(!1)},g=()=>{a&&(navigator.clipboard.writeText(a.url),d(!0),setTimeout(()=>d(!1),1500))},_=B(`share`)||typeof navigator<`u`&&`share`in navigator,v=a?.expiresAt?new Intl.DateTimeFormat(w,{dateStyle:`long`}).format(new Date(a.expiresAt)):null;return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(j,{variant:`secondary`,onClick:()=>void m(),children:[(0,J.jsx)(U,{className:`size-4`}),` `,C(`shareRun.button`)]}),(0,J.jsx)(S,{open:r,onClose:()=>i(!1),title:C(`shareRun.title`),children:s?(0,J.jsx)(`div`,{className:`flex justify-center py-8 text-ink-4`,children:(0,J.jsx)(y,{})}):f?(0,J.jsx)(`p`,{className:`rounded-lg bg-rose-tint px-3 py-2 text-[0.875rem] text-rose`,children:f}):a?(0,J.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl bg-paper-2 p-1.5 pl-3`,children:[(0,J.jsx)(I,{className:`size-4 shrink-0 text-ink-3`}),(0,J.jsx)(`input`,{readOnly:!0,value:a.url,onFocus:e=>e.target.select(),"aria-label":C(`share.link`),className:`min-w-0 flex-1 bg-transparent text-[0.875rem] outline-none coarse:h-11`}),(0,J.jsxs)(j,{size:`sm`,onClick:g,children:[u?(0,J.jsx)(c,{className:`size-3.5`}):(0,J.jsx)(ne,{className:`size-3.5`}),C(u?`share.copied`:`share.copy`)]})]}),(0,J.jsxs)(`div`,{className:`grid grid-cols-3 gap-3 sm:grid-cols-6`,children:[Dt(a.url,t).map(e=>(0,J.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noreferrer`,className:`flex flex-col items-center gap-1.5 text-[0.75rem] text-ink-2 hover:text-ink`,children:[(0,J.jsx)(`span`,{className:`inline-flex size-12 items-center justify-center rounded-full bg-paper-2 font-semibold text-[0.9375rem] transition hover:bg-paper-3`,children:e.id===`mail`?(0,J.jsx)(et,{className:`size-5`}):Ot[e.id]}),e.label]},e.id)),_?(0,J.jsxs)(`button`,{type:`button`,onClick:()=>void(B(`share`)?he(`share`,{link:a.url,title:t}):navigator.share({title:t,url:a.url})).catch(()=>void 0),className:`flex flex-col items-center gap-1.5 text-[0.75rem] text-ink-2 hover:text-ink`,children:[(0,J.jsx)(`span`,{className:`inline-flex size-12 items-center justify-center rounded-full bg-paper-2 transition hover:bg-paper-3`,children:(0,J.jsx)(U,{className:`size-5`})}),C(`shareRun.more`)]}):null]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3 text-[0.8125rem] text-ink-3`,children:[(0,J.jsx)(`span`,{children:v?C(`shareRun.until`,{date:v}):C(`shareRun.kept`)}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>void h(),className:`shrink-0 hover:text-rose coarse:min-h-11`,children:C(`shareRun.withdraw`)})]})]}):null})]})}function At({runId:e,ask:t}){return t.kind===`confirm`?(0,J.jsx)(jt,{runId:e,ask:t}):(0,J.jsx)(Mt,{runId:e,ask:t})}function jt({runId:e,ask:t}){let[n,r]=(0,q.useState)(!1),[i,a]=(0,q.useState)(!1),[o,s]=(0,q.useState)(null),c=async n=>{a(!0),s(null);try{await N.post(`/api/runs/${e}/ask/${t.id}`,n)}catch(e){s(e.message),a(!1)}},l=t.action.destructive?gt:it;return(0,J.jsxs)(`div`,{className:`animate-rise`,children:[(0,J.jsxs)(`div`,{className:`mb-5 flex items-start gap-3`,children:[(0,J.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,J.jsx)(l,{className:`size-5`})}),(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:C(`ask.wants`,{service:t.service})}),(0,J.jsx)(`h2`,{className:`font-display font-semibold text-[1.25rem] leading-snug tracking-tight`,children:t.reason})]})]}),(0,J.jsx)(`pre`,{className:`max-h-72 overflow-auto whitespace-pre-wrap break-words rounded-xl bg-paper-2 p-4 text-[0.8125rem] leading-relaxed ring-1 ring-border-soft`,children:t.input}),(0,J.jsxs)(`div`,{className:`mt-5 flex items-center gap-4`,children:[(0,J.jsx)(E,{checked:n,onChange:r,label:C(`ask.allowRest`)}),(0,J.jsx)(`span`,{className:`flex-1 text-[0.8125rem] text-ink-2`,children:C(`ask.allowRest`)})]}),o?(0,J.jsx)(`div`,{className:`mt-3 rounded-lg bg-rose-tint px-4 py-3 text-[0.875rem] text-rose`,children:o}):null,(0,J.jsxs)(`div`,{className:`action-bar mt-6 flex items-center justify-between gap-3`,children:[(0,J.jsx)(j,{variant:`ghost`,disabled:i,onClick:()=>void c({type:`skip`}),children:C(`ask.deny`)}),(0,J.jsx)(j,{busy:i,onClick:()=>void c({type:`done`,remember:n}),children:C(`ask.allow`)})]})]})}function Mt({runId:e,ask:t}){let[n,r]=(0,q.useState)({}),[i,o]=(0,q.useState)(!1),[s,c]=(0,q.useState)(!1),[l,u]=(0,q.useState)(null),[d,f]=(0,q.useState)(0),[p,h]=(0,q.useState)(``),[g,v]=(0,q.useState)(!1),y=(0,q.useRef)(null),x=(0,q.useCallback)(()=>f(e=>e+1),[]);(0,q.useEffect)(()=>{let e=setInterval(x,2500);return()=>clearInterval(e)},[x]);let S=async n=>{c(!0),u(null);try{await N.post(`/api/runs/${e}/ask/${t.id}`,n)}catch(e){u(e.message),c(!1)}},w=async t=>{u(null);try{await N.post(`/api/runs/${e}/browser/act`,t)}catch(e){u(e.message)}x()},T=e=>{let t=y.current;if(!t?.naturalWidth)return;let n=t.getBoundingClientRect();w({type:`click`,x:Math.round((e.clientX-n.left)/n.width*t.naturalWidth),y:Math.round((e.clientY-n.top)/n.height*t.naturalHeight)})},D=t.fields.some(e=>n[e.id]);return(0,J.jsxs)(`div`,{className:`animate-rise`,children:[(0,J.jsxs)(`div`,{className:`mb-5 flex items-start gap-3`,children:[(0,J.jsx)(`div`,{className:`flex size-10 shrink-0 items-center justify-center rounded-full bg-ember-tint text-ember-strong`,children:(0,J.jsx)(Qe,{className:`size-5`})}),(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`h2`,{className:`font-display font-semibold text-[1.25rem] leading-snug tracking-tight`,children:t.reason}),(0,J.jsxs)(`p`,{className:`mt-0.5 truncate text-[0.8125rem] text-ink-3`,children:[t.site.host,t.site.title?` · ${t.site.title}`:``]})]})]}),(0,J.jsxs)(`div`,{className:`overflow-hidden rounded-xl bg-paper-2 ring-1 ring-border-soft`,children:[(0,J.jsx)(`img`,{ref:y,src:a(`/api/runs/${e}/browser/screen?t=${d}`),alt:t.site.host,onClick:T,className:`block w-full cursor-pointer`}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 border-border-soft border-t bg-card p-2`,children:[(0,J.jsx)(A,{type:g?`password`:`text`,autoComplete:`off`,value:p,placeholder:C(`ask.typeInto`),onChange:e=>h(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),w({type:`type`,text:p}).then(()=>h(``)))},autoCapitalize:`off`,autoCorrect:`off`,spellCheck:!1,enterKeyHint:`send`,className:`h-9 min-w-[9rem] flex-1 basis-full text-[0.8125rem] sm:basis-0 coarse:h-11`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>v(e=>!e),className:b(`h-9 shrink-0 rounded-md px-2.5 text-[0.75rem] coarse:h-11 coarse:px-3.5`,g?`bg-ember-veil text-ink`:`text-ink-3 hover:bg-paper-2`),children:C(`ask.hide`)}),(0,J.jsx)(Nt,{label:`Enter`,onClick:()=>void w({type:`key`,key:`Enter`}),children:(0,J.jsx)(Me,{className:`size-4`})}),(0,J.jsx)(Nt,{label:C(`ask.up`),onClick:()=>void w({type:`scroll`,dy:-500}),children:(0,J.jsx)(m,{className:`size-4`})}),(0,J.jsx)(Nt,{label:C(`ask.down`),onClick:()=>void w({type:`scroll`,dy:500}),children:(0,J.jsx)(we,{className:`size-4`})})]})]}),(0,J.jsx)(`p`,{className:`mt-2 text-[0.75rem] text-ink-4`,children:C(`ask.pictureHint`)}),t.fields.length?(0,J.jsxs)(`form`,{className:`mt-5 flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),S({type:`fill`,values:n,remember:i})},children:[t.fields.map((e,i)=>(0,J.jsxs)(`div`,{children:[(0,J.jsx)(_,{children:e.label}),(0,J.jsx)(A,{autoFocus:i===0,type:e.secret?`password`:`text`,autoComplete:`off`,autoCapitalize:`off`,autoCorrect:`off`,spellCheck:!1,enterKeyHint:i===t.fields.length-1?`go`:`next`,value:n[e.id]??``,onChange:t=>r(n=>({...n,[e.id]:t.target.value}))})]},e.id)),(0,J.jsx)(`button`,{type:`submit`,hidden:!0})]}):null,(0,J.jsxs)(`div`,{className:`mt-5 flex items-center justify-between gap-4`,children:[(0,J.jsx)(E,{checked:i,onChange:o,label:C(`ask.remember`)}),(0,J.jsx)(`span`,{className:`flex-1 text-[0.8125rem] text-ink-2`,children:C(`ask.remember`)})]}),(0,J.jsxs)(`p`,{className:`mt-3 flex items-start gap-2 text-[0.8125rem] text-ink-3`,children:[(0,J.jsx)(ft,{className:`mt-0.5 size-4 shrink-0 text-moss`}),` `,C(`ask.private`)]}),l?(0,J.jsx)(`div`,{className:`mt-3 rounded-lg bg-rose-tint px-4 py-3 text-[0.875rem] text-rose`,children:l}):null,(0,J.jsxs)(`div`,{className:`action-bar mt-6 flex flex-wrap items-center justify-between gap-3`,children:[(0,J.jsx)(j,{variant:`ghost`,disabled:s,onClick:()=>void S({type:`skip`}),children:C(`ask.skip`)}),(0,J.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[t.fields.length?(0,J.jsx)(j,{variant:`secondary`,disabled:s,onClick:()=>void S({type:`done`,remember:i}),children:C(`ask.done`)}):null,t.fields.length?(0,J.jsx)(j,{busy:s,disabled:!D,onClick:()=>void S({type:`fill`,values:n,remember:i}),children:C(`ask.signIn`)}):(0,J.jsx)(j,{busy:s,onClick:()=>void S({type:`done`,remember:i}),children:C(`ask.done`)})]})]})]})}function Nt({label:e,onClick:t,children:n}){return(0,J.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})}async function Pt(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 Ft(){return new Date().toISOString().slice(0,19).replace(/[:T]/g,`-`)}function It(e){let t=e?.name;return t===`NotFoundError`||t===`OverconstrainedError`?`missing`:t===`NotReadableError`||t===`AbortError`?`busy`:`denied`}function Lt(e){return!!e?.getCapabilities?.()?.torch}function Rt(e,t,n=!1){let r=(0,q.useRef)(null),[i,a]=(0,q.useState)(null),[o,s]=(0,q.useState)(null),[c,l]=(0,q.useState)(1),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(!1);return(0,q.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(Lt(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(It(e))),()=>{i=!0;for(let e of r?.getTracks()??[])e.stop()}},[e,t,n]),(0,q.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 zt({open:e,onClose:t,label:n,children:r}){let i=(0,q.useRef)(null);return(0,q.useEffect)(()=>{let t=i.current;t&&(e&&!t.open?t.showModal():!e&&t.open&&t.close())},[e]),(0,J.jsx)(`dialog`,{ref:i,onClose:t,"aria-label":n,className:`media-sheet`,children:e?(0,J.jsx)(`div`,{className:`flex h-full flex-col`,children:r}):null})}function Bt({label:e,onClick:t,active:n,children:r}){return(0,J.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 Vt({title:e,onClose:t,camera:n,onFlip:r}){return(0,J.jsx)(`div`,{className:`safe-top`,children:(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,children:[(0,J.jsx)(Bt,{label:C(`common.close`),onClick:t,children:(0,J.jsx)(d,{className:`size-5`})}),(0,J.jsx)(`div`,{className:`min-w-0 flex-1 truncate text-center font-medium text-[0.9375rem]`,children:e}),n.torchable?(0,J.jsx)(Bt,{label:C(`camera.torch`),active:n.torch,onClick:()=>void n.setTorch(!n.torch),children:n.torch?(0,J.jsx)(He,{className:`size-5`}):(0,J.jsx)(Be,{className:`size-5`})}):null,n.stream&&(n.cameras>1||ae)?(0,J.jsx)(Bt,{label:C(`camera.flip`),onClick:r,children:(0,J.jsx)(mt,{className:`size-5`})}):(0,J.jsx)(`span`,{className:`size-11`})]})})}function Ht({camera:e,asking:t,children:n,actions:r}){return(0,J.jsxs)(`div`,{className:`relative min-h-0 flex-1 overflow-hidden`,children:[(0,J.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,J.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-5 bg-black px-8 text-center`,children:[(0,J.jsx)(`p`,{className:`max-w-sm text-[0.9375rem] text-white/85 leading-relaxed`,children:C(`camera.${e.error}`)}),r]}):e.stream?n:(0,J.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-4 px-8 text-center text-white/75`,children:[(0,J.jsx)(y,{}),(0,J.jsx)(`p`,{className:`max-w-xs text-[0.875rem] leading-relaxed`,children:t})]})]})}var Ut=30;function Wt(){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 Gt=!!Wt();function Kt({open:e,multiple:t,video:n,onClose:r,onCapture:i,onNative:a}){let[o,s]=(0,q.useState)(`environment`),[l,u]=(0,q.useState)(`photo`),[d,f]=(0,q.useState)(0),[p,m]=(0,q.useState)(!1),[h,g]=(0,q.useState)(null),_=(0,q.useRef)(null),v=Rt(e,o,l===`video`);(0,q.useEffect)(()=>{e&&(f(0),u(`photo`),g(null))},[e]);let x=async e=>{m(!0);try{await i(e),f(e=>e+1),t||r()}finally{m(!1)}},S=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 x(new File([n],`foto-${Ft()}.jpg`,{type:`image/jpeg`}))},w=()=>{_.current?.state===`recording`&&_.current.stop()},T=()=>{let e=Wt();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`;x(new File(t,`video-${Ft()}.${e}`,{type:n}))}},_.current=n,n.start(1e3),g(0)};(0,q.useEffect)(()=>{if(h===null)return;if(h>=Ut){_.current?.state===`recording`&&_.current.stop();return}let e=setTimeout(()=>g(e=>e===null?null:e+1),1e3);return()=>clearTimeout(e)},[h]),(0,q.useEffect)(()=>{!e&&_.current&&(_.current.onstop=null,_.current.stop(),_.current=null)},[e]);let E=e=>`0:${String(e).padStart(2,`0`)}`;return(0,J.jsxs)(zt,{open:e,onClose:r,label:C(`camera.title`),children:[(0,J.jsx)(Vt,{title:h===null?d?C(`camera.taken`,{n:d}):C(`camera.title`):`${E(h)} / ${E(Ut)}`,onClose:r,camera:v,onFlip:()=>s(e=>e===`environment`?`user`:`environment`)}),(0,J.jsx)(Ht,{camera:v,asking:C(`camera.asking`),actions:(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[a?(0,J.jsxs)(Y,{onClick:()=>{r(),a()},children:[(0,J.jsx)(Ae,{className:`size-4`}),` `,C(ae?`camera.native`:`camera.pick`)]}):null,(0,J.jsx)(Y,{quiet:!0,onClick:r,children:C(`common.close`)})]})}),(0,J.jsxs)(`div`,{className:b(`safe-bottom px-4 pt-3`,v.error&&`invisible`),children:[n&&Gt&&h===null?(0,J.jsx)(`div`,{className:`mb-3 flex justify-center gap-1 text-[0.8125rem]`,children:[`photo`,`video`].map(e=>(0,J.jsx)(`button`,{type:`button`,"aria-pressed":l===e,onClick:()=>u(e),className:b(`h-9 rounded-full px-4 font-medium transition`,l===e?`bg-white text-black`:`text-white/70 hover:text-white`),children:C(e===`photo`?`camera.photo`:`camera.video`)},e))}):null,(0,J.jsxs)(`div`,{className:`grid grid-cols-[1fr_auto_1fr] items-center gap-3`,children:[(0,J.jsx)(`span`,{className:`text-[0.8125rem] text-white/70 leading-snug`,children:h===null?l===`video`?C(`camera.clipHint`,{s:Ut}):C(t?`camera.hintMany`:`camera.hint`):C(`camera.recording`)}),(0,J.jsx)(`button`,{type:`button`,"aria-label":C(l===`photo`?`camera.shoot`:h===null?`camera.record`:`camera.stop`),disabled:!v.stream||p,onClick:()=>l===`photo`?void S():h===null?T():w(),className:`flex size-[72px] items-center justify-center rounded-full border-4 border-white transition active:scale-95 disabled:opacity-40`,children:p?(0,J.jsx)(y,{className:`text-white`}):l===`photo`?(0,J.jsx)(`span`,{className:`size-[54px] rounded-full bg-white`}):h===null?(0,J.jsx)(`span`,{className:`flex size-[54px] items-center justify-center rounded-full bg-[#e5484d]`,children:(0,J.jsx)(ee,{className:`size-6 text-white`})}):(0,J.jsx)(`span`,{className:`size-7 rounded-md bg-[#e5484d]`})}),(0,J.jsx)(`div`,{className:`flex justify-end`,children:t&&d&&h===null?(0,J.jsxs)(Y,{onClick:r,children:[(0,J.jsx)(c,{className:`size-4`}),` `,C(`camera.done`)]}):null})]})]})]})}function Y({onClick:e,quiet:t,children:n}){return(0,J.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-[0.875rem] transition`,t?`text-white/75 hover:text-white`:`bg-white text-black hover:bg-white/90`),children:n})}var qt=25,Jt=9e3;function Yt(e){return e.code===e.PERMISSION_DENIED?`denied`:e.code===e.TIMEOUT?`timeout`:`unavailable`}function Xt({value:e,runId:t,placeholder:n,onChange:r,onBusy:i}){let a=ve(e)?e:null,[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(null),u=(0,q.useRef)(null),f=(0,q.useRef)(!!a?.label),p=(0,q.useRef)(a);p.current=a;let m=a?.lat!==void 0&&a.lng!==void 0,h=typeof navigator<`u`&&`geolocation`in navigator,g=()=>{u.current!==null&&(navigator.geolocation.clearWatch(u.current),u.current=null),s(!1),i?.(!1)};(0,q.useEffect)(()=>()=>{u.current!==null&&navigator.geolocation.clearWatch(u.current)},[]);let _=async(e,n)=>{try{let{label:i}=await N.post(`/api/runs/${t}/geocode`,{lat:e,lng:n,language:w}),a=p.current;i&&!f.current&&a?.lat===e&&a.lng===n&&r({...a,label:i})}catch{}},v=()=>{l(null),s(!0),i?.(!0);let e=Date.now(),t=1/0;u.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<=qt||Date.now()-e>Jt){g();let e=p.current;e?.lat!==void 0&&e.lng!==void 0&&_(e.lat,e.lng)}},e=>{g(),t===1/0&&l(Yt(e))},{enableHighAccuracy:!0,timeout:15e3,maximumAge:1e4})},y=e=>{f.current=e.trim().length>0;let t={...m?a:{},label:e};r(m||e.trim()?t:void 0)};return(0,J.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[m?(0,J.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl bg-card p-3 ring-1 ring-input`,children:[(0,J.jsx)(`div`,{className:`flex size-10 shrink-0 items-center justify-center rounded-full bg-moss-tint text-moss`,children:(0,J.jsx)(nt,{className:`size-5`})}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsxs)(`div`,{className:`truncate font-medium text-[0.9375rem] tabular-nums`,children:[a.lat?.toFixed(5),`, `,a.lng?.toFixed(5)]}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 text-[0.8125rem] text-ink-3`,children:[(0,J.jsx)(`span`,{children:o?C(`location.refining`):a.accuracy?C(`location.accuracy`,{m:a.accuracy}):null}),(0,J.jsxs)(`a`,{href:`https://www.openstreetmap.org/?mlat=${a.lat}&mlon=${a.lng}#map=17/${a.lat}/${a.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:[C(`location.map`),` `,(0,J.jsx)(F,{className:`size-3`})]})]})]}),(0,J.jsx)(O,{label:C(`location.remove`),onClick:()=>{g(),f.current=!1,r(void 0)},children:(0,J.jsx)(d,{className:`size-4`})})]}):h?(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(j,{variant:`secondary`,size:`lg`,busy:o,onClick:v,className:`w-full sm:w-auto`,children:[o?null:(0,J.jsx)(Xe,{className:`size-4`}),C(o?`location.locating`:`location.use`)]}),c?(0,J.jsx)(`p`,{className:`mt-2 rounded-lg bg-amber-tint px-3 py-2 text-[0.8125rem] text-ink-2 leading-relaxed`,children:C(`location.${c}`)}):(0,J.jsx)(`p`,{className:`mt-2 text-[0.8125rem] text-ink-3 leading-relaxed`,children:C(`location.why`)})]}):null,(0,J.jsx)(A,{value:a?.label??``,placeholder:n??C(m?`location.label`:`location.manual`),autoComplete:`street-address`,enterKeyHint:`done`,"aria-label":C(`location.manual`),onChange:e=>y(e.target.value)})]})}var Zt=null;function Qt(){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 i(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 $t({open:e,onClose:t,onResult:n}){let r=(0,q.useRef)(n);r.current=n;let i=(0,q.useRef)(t);return i.current=t,(0,q.useEffect)(()=>{e&&he(`scan`).then(e=>{e&&r.current(e)}).catch(()=>void 0).finally(()=>i.current())},[e]),null}function en(e){return B(`scan`)?(0,J.jsx)($t,{...e}):(0,J.jsx)(tn,{...e})}function tn({open:e,onClose:t,onResult:n}){let[r,i]=(0,q.useState)(`environment`),[a,o]=(0,q.useState)(!1),[s,c]=(0,q.useState)(!1),l=(0,q.useRef)(null),u=Rt(e,r),d=(0,q.useRef)(n);d.current=n;let f=(0,q.useRef)(t);f.current=t,(0,q.useEffect)(()=>{e&&(c(!1),Qt().then(e=>o(e.qrOnly)))},[e]),(0,q.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 Qt()).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 Qt()).detect(r).catch(()=>null):null;i?(n(i),t()):c(!0)};return(0,J.jsxs)(zt,{open:e,onClose:t,label:C(`scan.title`),children:[(0,J.jsx)(Vt,{title:C(`scan.title`),onClose:t,camera:u,onFlip:()=>i(e=>e===`environment`?`user`:`environment`)}),(0,J.jsx)(Ht,{camera:u,asking:C(`scan.asking`),actions:(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsxs)(Y,{onClick:()=>l.current?.click(),children:[(0,J.jsx)(Je,{className:`size-4`}),` `,C(`scan.fromPhoto`)]}),(0,J.jsx)(Y,{quiet:!0,onClick:t,children:C(`scan.typeInstead`)})]}),children:(0,J.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:(0,J.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,J.jsxs)(`div`,{className:`safe-bottom flex flex-col items-center gap-3 px-5 pt-3 text-center`,children:[(0,J.jsx)(`p`,{className:`text-[0.8125rem] text-white/75 leading-snug`,children:C(s?`scan.miss`:a?`scan.hintQr`:`scan.hint`)}),u.stream?(0,J.jsxs)(Y,{quiet:!0,onClick:()=>l.current?.click(),children:[(0,J.jsx)(Je,{className:`size-4`}),` `,C(`scan.fromPhoto`)]}):null]}),(0,J.jsx)(`input`,{ref:l,type:`file`,hidden:!0,accept:`image/*`,onChange:e=>{p(e.target.files?.[0]),e.target.value=``}})]})}var nn=`#1d1a17`,X={width:1200,height:480};function rn(e,t,n,r,i){e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=nn,e.fillStyle=nn,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 an({strokes:e,onStrokes:t}){let n=(0,q.useRef)(null),r=(0,q.useRef)(null),i=(0,q.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),rn(t,r.current?[...i.current,r.current]:i.current,o,s,2.4*a)};(0,q.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,J.jsxs)(`div`,{className:`relative overflow-hidden rounded-xl bg-white ring-1 ring-input`,children:[(0,J.jsx)(`canvas`,{ref:n,"aria-label":C(`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,J.jsx)(`div`,{className:`pointer-events-none absolute inset-x-6 bottom-[22%] border-[#1d1a17]/25 border-b`}),e.length?null:(0,J.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center text-[#1d1a17]/40 text-[0.875rem]`,children:C(`sign.hint`)})]})}async function on(e){let t=document.createElement(`canvas`);t.width=X.width,t.height=X.height;let n=t.getContext(`2d`);if(!n)return null;rn(n,e,X.width,X.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 sn({label:e,value:t,runId:n,onChange:r}){let[i,o]=(0,q.useState)(!1),[s,c]=(0,q.useState)([]),[l,u]=(0,q.useState)(!1),[f,p]=(0,q.useState)(null),m=typeof t==`string`&&t?t:null,h=async()=>{u(!0),p(null);try{let e=await on(s);if(!e)return;r((await N.upload(`/api/runs/${n}/uploads`,e)).id),o(!1)}catch(e){p(e.message)}finally{u(!1)}};return(0,J.jsxs)(`div`,{children:[m?(0,J.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl bg-card p-2 ring-1 ring-input`,children:[(0,J.jsx)(`button`,{type:`button`,onClick:()=>{c([]),o(!0)},className:`min-w-0 flex-1 rounded-lg bg-white px-3`,"aria-label":C(`sign.again`),children:(0,J.jsx)(`img`,{src:a(`/api/runs/${n}/assets/${m}`),alt:e,className:`mx-auto h-20 object-contain`})}),(0,J.jsx)(O,{label:C(`sign.remove`),onClick:()=>r(void 0),children:(0,J.jsx)(d,{className:`size-4`})})]}):(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{c([]),o(!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-[0.875rem] text-ink-3 transition hover:border-ember hover:text-ink`,children:[(0,J.jsx)(R,{className:`size-6`}),C(`sign.open`)]}),(0,J.jsxs)(S,{open:i,onClose:()=>o(!1),title:e,wide:!0,children:[(0,J.jsx)(an,{strokes:s,onStrokes:c}),f?(0,J.jsx)(`p`,{className:`mt-2 text-[0.8125rem] text-rose`,children:f}):null,(0,J.jsxs)(`div`,{className:`mt-5 flex items-center justify-between gap-3`,children:[(0,J.jsxs)(j,{variant:`ghost`,disabled:!s.length||l,onClick:()=>c([]),children:[(0,J.jsx)(Pe,{className:`size-4`}),` `,C(`sign.clear`)]}),(0,J.jsx)(j,{busy:l,disabled:!s.length,onClick:()=>void h(),children:C(`sign.accept`)})]})]})]})}function cn({runId:e,connectionId:t,connector:n,onCancel:r}){let[i,a]=(0,q.useState)({}),[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(null),u=async()=>{s(!0),l(null);try{await N.post(`/api/runs/${e}/connections/${t}/credentials/${n.id}`,{values:i})}catch(e){l(e.message)}finally{s(!1)}};return(0,J.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl bg-card p-4 ring-1 ring-input`,children:[(n.fields??[]).map(e=>(0,J.jsxs)(`div`,{children:[(0,J.jsx)(_,{children:e.label}),(0,J.jsx)(A,{type:e.secret?`password`:`text`,autoComplete:`off`,value:i[e.key]??``,placeholder:e.placeholder,onChange:t=>a(n=>({...n,[e.key]:t.target.value})),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),u())}})]},e.key)),n.hint?(0,J.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:n.hint}):null,c?(0,J.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:c}):null,(0,J.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,J.jsx)(j,{variant:`ghost`,size:`sm`,onClick:r,children:C(`common.cancel`)}),(0,J.jsx)(j,{size:`sm`,busy:o,onClick:()=>void u(),children:C(`connect.go`)})]})]})}function ln({runId:e,connection:t}){let[n,r]=(0,q.useState)(null),[i,a]=(0,q.useState)(null),[o,s]=(0,q.useState)(null);if(!t)return null;if(t.account){let n=t.connectors.find(e=>e.id===t.account?.connector)?.name??``;return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl bg-card p-3 ring-1 ring-input`,children:[(0,J.jsx)(`div`,{className:`flex size-10 items-center justify-center rounded-full bg-moss-tint text-moss`,children:(0,J.jsx)(c,{className:`size-5`})}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`div`,{className:`truncate font-medium text-[0.9375rem]`,children:t.account.label}),(0,J.jsx)(`div`,{className:`text-[0.8125rem] text-ink-3`,children:C(`connect.connected`,{name:n})})]}),(0,J.jsx)(O,{label:C(`connect.disconnect`),onClick:()=>void N.del(`/api/runs/${e}/connections/${t.id}`),children:(0,J.jsx)(vt,{className:`size-4`})})]})}let l=async n=>{if(s(null),a(null),B(`signIn`)){try{let{url:r}=await N.post(`/api/runs/${e}/connections/${t.id}/oauth/${n.id}`);await he(`signIn`,{url:r})}catch(e){s(e.message)}return}let r=window.open(`about:blank`,`wizard-connect`,`width=540,height=700`);try{let{url:i}=await N.post(`/api/runs/${e}/connections/${t.id}/oauth/${n.id}`);r?r.location.replace(i):a(i)}catch(e){r?.close(),s(e.message)}},u=t.connectors.find(e=>e.id===n);return t.connectors.length?(0,J.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,J.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:t.connectors.map(e=>(0,J.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-[0.875rem] 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,J.jsx)(I,{className:`size-4`}),` `,e.name]},e.id))}),u?(0,J.jsx)(cn,{runId:e,connectionId:t.id,connector:u,onCancel:()=>r(null)}):null,i?(0,J.jsx)(`a`,{href:i,target:`_blank`,rel:`noreferrer`,className:`text-[0.875rem] text-ember underline`,children:C(`connect.openLink`)}):null,o?(0,J.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:o}):null]}):(0,J.jsx)(`p`,{className:`text-[0.875rem] text-ink-3`,children:C(`connect.none`)})}function Z(e){return e==null?``:Array.isArray(e)?e.join(`, `):String(e)}function un(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 Q({column:e,value:t,boxed:n,onCommit:r}){let[i,a]=(0,q.useState)(Z(t));(0,q.useEffect)(()=>a(Z(t)),[t]);let o=b(`w-full min-w-0 rounded-md border border-transparent px-2 text-[0.8125rem] 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,J.jsx)(`label`,{className:`flex size-9 cursor-pointer items-center justify-center coarse:size-11`,children:(0,J.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,J.jsxs)(`select`,{value:i,onChange:e=>r(e.target.value||null),className:o,children:[(0,J.jsx)(`option`,{value:``}),e.format.options.map(e=>(0,J.jsx)(`option`,{value:e.id,children:e.label},e.id))]}):(0,J.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!==Z(t)&&r(un(e,i))},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.target.blur())},className:b(o,e.type===`number`&&`text-right tabular-nums`)})}function dn({runId:e,list:t,editable:n}){let{def:r,rows:i}=t,[a,s]=(0,q.useState)(null),[c,l]=(0,q.useState)({}),u=`/api/runs/${e}/lists/${r.id}/rows`,d=async e=>{s(null);try{await e()}catch(e){s(e instanceof g?e.message:String(e))}},f=()=>d(async()=>{await N.post(u,{cells:c}),l({})}),p=Object.values(c).some(e=>e!=null&&e!==``);if(!i.length&&!n)return(0,J.jsx)(`p`,{className:`text-[0.875rem] text-ink-3`,children:C(`list.empty`)});let m=(e,t)=>t===0||e.type===`text`&&e.format?.style===`multiline`,h=(e,t,n)=>void d(()=>N.patch(`${u}/${e}`,{cells:{[t]:n}}));return(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`div`,{className:`flex flex-col gap-2 sm:hidden`,children:[i.map(e=>(0,J.jsxs)(`div`,{className:`rounded-lg bg-paper p-2 ring-1 ring-border-soft`,children:[(0,J.jsx)(`div`,{className:`grid grid-cols-2 gap-x-2 gap-y-1.5`,children:r.columns.map((t,r)=>(0,J.jsxs)(`div`,{className:b(`min-w-0`,m(t,r)&&`col-span-2`),children:[(0,J.jsx)(`div`,{className:`px-1 pb-0.5 text-[0.6875rem] text-ink-3`,children:t.name}),n?(0,J.jsx)(Q,{boxed:!0,column:t,value:e.cells[t.id],onCommit:n=>h(e.id,t.id,n)}):(0,J.jsx)(`div`,{className:b(`break-words px-1 text-[0.875rem]`,t.type===`number`&&`tabular-nums`),children:K(t,e.cells[t.id],w)||`—`})]},t.id))}),n?(0,J.jsx)(`div`,{className:`mt-1 flex justify-end`,children:(0,J.jsx)(O,{label:C(`list.delete`),onClick:()=>void d(()=>N.del(`${u}/${e.id}`)),children:(0,J.jsx)(L,{className:`size-4`})})}):null]},e.id)),n?(0,J.jsxs)(`div`,{className:`rounded-lg border border-input border-dashed p-2`,children:[(0,J.jsx)(`div`,{className:`grid grid-cols-2 gap-x-2 gap-y-1.5`,children:r.columns.map((e,t)=>(0,J.jsxs)(`div`,{className:b(`min-w-0`,m(e,t)&&`col-span-2`),children:[(0,J.jsx)(`div`,{className:`px-1 pb-0.5 text-[0.6875rem] text-ink-3`,children:e.name}),(0,J.jsx)(Q,{boxed:!0,column:e,value:c[e.id],onCommit:t=>l(n=>({...n,[e.id]:t}))})]},e.id))}),(0,J.jsx)(`div`,{className:`mt-2 flex justify-end`,children:(0,J.jsxs)(j,{variant:`secondary`,size:`sm`,onClick:()=>p?void f():void 0,children:[(0,J.jsx)(o,{className:`size-4`}),` `,C(`run.addRow`)]})})]}):null]}),(0,J.jsx)(`div`,{className:`hidden overflow-x-auto rounded-lg ring-1 ring-border-soft sm:block`,children:(0,J.jsxs)(`table`,{className:`w-full text-[0.8125rem]`,children:[(0,J.jsx)(`thead`,{className:`bg-paper-2 text-ink-2`,children:(0,J.jsxs)(`tr`,{children:[r.columns.map(e=>(0,J.jsx)(`th`,{className:`whitespace-nowrap px-3 py-2 text-left font-medium`,children:e.name},e.id)),n?(0,J.jsx)(`th`,{className:`w-10`}):null]})}),(0,J.jsxs)(`tbody`,{children:[i.map(e=>(0,J.jsxs)(`tr`,{className:`border-border-soft border-t align-top`,children:[r.columns.map(t=>(0,J.jsx)(`td`,{className:b(`min-w-[7.5rem]`,n?`px-1 py-0.5`:`px-3 py-2`),children:n?(0,J.jsx)(Q,{column:t,value:e.cells[t.id],onCommit:n=>h(e.id,t.id,n)}):(0,J.jsx)(`span`,{className:b(t.type===`number`&&`tabular-nums`),children:K(t,e.cells[t.id],w)})},t.id)),n?(0,J.jsx)(`td`,{className:`px-1 py-0.5`,children:(0,J.jsx)(O,{label:C(`list.delete`),className:`size-9`,onClick:()=>void d(()=>N.del(`${u}/${e.id}`)),children:(0,J.jsx)(L,{className:`size-3.5`})})}):null]},e.id)),n?(0,J.jsxs)(`tr`,{className:`border-border-soft border-t bg-paper`,children:[r.columns.map(e=>(0,J.jsx)(`td`,{className:`px-1 py-0.5`,children:(0,J.jsx)(Q,{column:e,value:c[e.id],onCommit:t=>l(n=>({...n,[e.id]:t}))})},e.id)),(0,J.jsx)(`td`,{className:`px-1 py-0.5`,children:(0,J.jsx)(O,{label:C(`run.addRow`),className:`size-9`,onClick:()=>p?void f():void 0,children:(0,J.jsx)(o,{className:`size-4`})})})]}):null]})]})}),a?(0,J.jsx)(`p`,{className:`mt-2 text-[0.8125rem] text-rose`,children:a}):null]})}function fn(e,t,n){let r=t.split(`/`).map(encodeURIComponent).join(`/`);return a(`/api/runs/${e}/store/files/${r}${n?`?inline=1`:``}`)}var pn=[`bg-paper-3 text-ink-3`,`bg-moss-tint text-moss`,`bg-rose-tint text-rose`,`bg-ember-tint text-ember-strong`];function mn({runId:e,list:t}){let{def:n,rows:r}=t,i=n.columns.find(e=>e.id===n.check?.file),a=n.columns.find(e=>e.id===n.check?.status),o=a?.type===`select`?a.format.options:[],s=o[0]?.id,l=e=>a?String(e.cells[a.id]??s??``):``,u=e=>!a||l(e)===s,[d,f]=(0,q.useState)(()=>(r.find(u)??r[0])?.id??null),[p,m]=(0,q.useState)(!1),[h,_]=(0,q.useState)(null),v=`/api/runs/${e}/lists/${n.id}/rows`,y=r.find(e=>e.id===d)??r[0],x=p?r.filter(e=>u(e)||e.id===y?.id):r,S=r.filter(e=>!u(e)).length,T=n.columns.filter(e=>e!==i&&e!==a),E=T.filter(e=>e.id!==n.key),D=E.find(e=>e.type===`text`)??E[0],O=E.filter(e=>e!==D),k=async(e,t)=>{_(null);try{await N.patch(`${v}/${e}`,{cells:t})}catch(e){_(e instanceof g?e.message:String(e))}},A=e=>{let t=x.findIndex(e=>e.id===y?.id),n=x[Math.min(x.length-1,Math.max(0,t+e))];n&&f(n.id)},M=async e=>{if(!y||!a)return;let t=r.findIndex(e=>e.id===y.id),n=[...r.slice(t+1),...r.slice(0,t)].find(u);await k(y.id,{[a.id]:e}),n&&e!==s&&f(n.id)},P=e=>{e.target.closest(`input, textarea, select`)||(e.key===`ArrowDown`||e.key===`ArrowUp`?(e.preventDefault(),A(e.key===`ArrowDown`?1:-1)):/^[1-9]$/.test(e.key)&&o[Number(e.key)]&&(e.preventDefault(),M(o[Number(e.key)].id)))};if(!r.length)return(0,J.jsx)(`p`,{className:`text-[0.875rem] text-ink-3`,children:C(`list.empty`)});let F=i&&y?String(y.cells[i.id]??``).trim():``,I=F.split(`.`).pop()?.toLowerCase()??``,L=e=>pn[Math.min(Math.max(0,o.findIndex(t=>t.id===l(e))),3)];return(0,J.jsxs)(`div`,{className:`grid gap-4 lg:grid-cols-[minmax(280px,360px)_minmax(0,1fr)]`,onKeyDown:P,children:[(0,J.jsxs)(`div`,{className:`flex min-h-0 flex-col`,children:[(0,J.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-2`,children:[(0,J.jsx)(`span`,{className:`text-[0.8125rem] text-ink-3 tabular-nums`,children:C(`check.progress`,{done:S,total:r.length})}),a?(0,J.jsx)(`button`,{type:`button`,"aria-pressed":p,onClick:()=>m(e=>!e),className:b(`inline-flex h-8 items-center rounded-full px-3 text-[0.8125rem] ring-1 transition coarse:h-11`,p?`bg-ember-tint text-ink ring-ember`:`bg-card text-ink-2 ring-input hover:text-ink`),children:C(`check.onlyOpen`)}):null]}),(0,J.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:x.map(e=>(0,J.jsx)(`li`,{children:(0,J.jsxs)(`button`,{type:`button`,onClick:()=>f(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,J.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`span`,{className:`block truncate font-medium text-[0.875rem]`,children:D&&K(D,e.cells[D.id],w)||`—`}),(0,J.jsx)(`span`,{className:`block truncate text-[0.75rem] text-ink-3 tabular-nums`,children:O.slice(0,2).map(t=>K(t,e.cells[t.id],w)).filter(Boolean).join(` · `)})]}),a?(0,J.jsx)(`span`,{className:b(`shrink-0 rounded-full px-2 py-0.5 font-medium text-[0.6875rem]`,L(e)),children:o.find(t=>t.id===l(e))?.label??l(e)}):null]})},e.id))})]}),y?(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[o.length>1?(0,J.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[o.slice(1).map((e,t)=>(0,J.jsxs)(j,{size:`md`,variant:l(y)===e.id?`primary`:`secondary`,onClick:()=>void M(e.id),children:[l(y)===e.id?(0,J.jsx)(c,{className:`size-4`}):null,e.label,(0,J.jsx)(`kbd`,{className:`ml-1 hidden rounded bg-black/10 px-1.5 text-[0.6875rem] lg:inline`,children:t+1})]},e.id)),l(y)===s?null:(0,J.jsx)(j,{size:`md`,variant:`ghost`,onClick:()=>void M(s??``),children:C(`check.reopen`)})]}):null,(0,J.jsx)(`div`,{className:`overflow-hidden rounded-lg bg-paper-2 ring-1 ring-border-soft`,children:F?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 border-border-soft border-b bg-card px-3 py-2 text-[0.8125rem]`,children:[(0,J.jsx)(le,{className:`size-3.5 shrink-0 text-ink-3`}),(0,J.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:F.split(`/`).pop()}),(0,J.jsx)(`a`,{href:fn(e,F,I===`pdf`),target:`_blank`,rel:`noreferrer`,className:`shrink-0 text-ink-2 underline-offset-2 hover:text-ink hover:underline`,children:C(`run.openFull`)})]}),I===`pdf`?(0,J.jsx)(`iframe`,{title:F,src:`${fn(e,F,!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]`},F):[`png`,`jpg`,`jpeg`,`webp`].includes(I)?(0,J.jsx)(`div`,{className:`flex max-h-[46vh] justify-center overflow-auto bg-white lg:max-h-[calc(100vh-27rem)]`,children:(0,J.jsx)(`img`,{src:fn(e,F,!0),alt:F,className:`max-w-full object-contain`},F)}):(0,J.jsx)(`p`,{className:`px-4 py-10 text-center text-[0.875rem] text-ink-3`,children:C(`check.noPreview`)})]}):(0,J.jsx)(`p`,{className:`px-4 py-14 text-center text-[0.875rem] text-ink-3`,children:C(`check.noFile`)})}),(0,J.jsx)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-2 sm:grid-cols-3`,children:T.map(e=>(0,J.jsxs)(`div`,{className:b(`min-w-0`,e.type===`text`&&e.format?.style===`multiline`&&`col-span-full`),children:[(0,J.jsx)(`div`,{className:`px-1 pb-0.5 text-[0.6875rem] text-ink-3`,children:e.name}),(0,J.jsx)(Q,{boxed:!0,column:e,value:y.cells[e.id],onCommit:t=>void k(y.id,{[e.id]:t})})]},e.id))}),h?(0,J.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:h}):null]}):null]})}var hn={xlsx:`Excel`,csv:`CSV`,json:`JSON`,md:`Markdown`,zip:`ZIP`};function gn({runId:e,list:t}){return(0,J.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:t.formats.map(n=>(0,J.jsx)(`a`,{href:a(`/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-[0.8125rem] text-ink-2 transition hover:bg-paper-3 hover:text-ink coarse:h-11 coarse:px-4`,children:hn[n]??n},n))})}function _n(e){return e>1e6?`${(e/1e6).toFixed(1)} MB`:`${Math.max(1,Math.round(e/1e3))} KB`}function vn({runId:e}){let[t,n]=(0,q.useState)(!1),[r,i]=(0,q.useState)(null),[o,s]=(0,q.useState)(!1);(0,q.useEffect)(()=>{t&&(s(!1),N.get(`/api/runs/${e}/store`).then(i))},[t,e]);let l=r&&!r.files.length&&!r.connections.length&&!r.keepsSignIns&&r.lists.every(e=>!e.rows);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>n(!0),className:`inline-flex items-center gap-1.5 text-[0.8125rem] text-ink-4 transition hover:text-ink-2 coarse:min-h-11`,children:[(0,J.jsx)(ce,{className:`size-3.5`}),` `,C(`store.open`)]}),(0,J.jsx)(S,{open:t,onClose:()=>n(!1),title:C(`store.title`),wide:!0,children:r?(0,J.jsxs)(`div`,{className:`flex flex-col gap-5 text-[0.875rem]`,children:[(0,J.jsx)(`p`,{className:`text-ink-3`,children:C(`store.explain`)}),l?(0,J.jsx)(`p`,{className:`text-ink-2`,children:C(`store.empty`)}):null,r.lists.some(e=>e.rows)?(0,J.jsx)(`ul`,{className:`flex flex-col gap-1`,children:r.lists.filter(e=>e.rows).map(e=>(0,J.jsxs)(`li`,{className:`flex justify-between gap-3`,children:[(0,J.jsx)(`span`,{children:e.title}),(0,J.jsx)(`span`,{className:`text-ink-3 tabular-nums`,children:C(`store.rows`,{n:e.rows})})]},e.id))}):null,r.connections.map(e=>(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(I,{className:`size-4 text-ink-3`}),` `,e.account?.label]},e.id)),r.keepsSignIns?(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(c,{className:`size-4 text-ink-3`}),` `,C(`store.signIns`)]}):null,r.files.length?(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`mb-1 text-ink-3`,children:C(`store.files`,{n:r.files.length,size:_n(r.files.reduce((e,t)=>e+t.size,0))})}),(0,J.jsx)(`ul`,{className:`max-h-56 overflow-y-auto rounded-lg ring-1 ring-border-soft`,children:r.files.map(t=>(0,J.jsx)(`li`,{className:`border-border-soft border-b last:border-0`,children:(0,J.jsxs)(`a`,{href:a(`/api/runs/${e}/store/files/${t.path}`),className:`flex items-center gap-2 px-3 py-2 text-[0.8125rem] hover:bg-paper-2 coarse:min-h-11`,title:t.source??void 0,children:[(0,J.jsx)(le,{className:`size-3.5 shrink-0 text-ink-3`}),(0,J.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t.path}),(0,J.jsx)(`span`,{className:`text-ink-4 tabular-nums`,children:_n(t.size)})]})},t.path))})]}):null,(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3 pt-1`,children:[l?(0,J.jsx)(`span`,{}):o?(0,J.jsxs)(j,{variant:`secondary`,onClick:async()=>{await N.del(`/api/runs/${e}/store`),i(await N.get(`/api/runs/${e}/store`)),s(!1)},children:[(0,J.jsx)(L,{className:`size-4`}),` `,C(`store.confirmDelete`)]}):(0,J.jsxs)(j,{variant:`ghost`,onClick:()=>s(!0),children:[(0,J.jsx)(L,{className:`size-4`}),` `,C(`store.delete`)]}),(0,J.jsx)(j,{onClick:()=>n(!1),children:C(`common.close`)})]})]}):(0,J.jsx)(`div`,{className:`flex justify-center py-8 text-ink-4`,children:(0,J.jsx)(y,{})})})]})}var yn=300;function bn(){if(typeof MediaRecorder<`u`)return[`audio/webm;codecs=opus`,`audio/mp4`,`audio/webm`,`audio/ogg;codecs=opus`].find(e=>MediaRecorder.isTypeSupported(e))}function xn(e){return`${Math.floor(e/60)}:${String(Math.floor(e%60)).padStart(2,`0`)}`}function Sn({value:e,runId:t,onChange:n,onBusy:r}){let i=be(e)?e:null,[a,o]=(0,q.useState)(null),[s,c]=(0,q.useState)(0),[l,d]=(0,q.useState)(!1),[f,m]=(0,q.useState)(null),[h,g]=(0,q.useState)(!1),[_,v]=(0,q.useState)(null),b=(0,q.useRef)(null),x=(0,q.useRef)(null),S=bn(),w=pe&&!!S;(0,q.useEffect)(()=>()=>{b.current&&(b.current.recorder.onstop=null,b.current.stop())},[]),(0,q.useEffect)(()=>()=>{_&&URL.revokeObjectURL(_.url)},[_]);let T=async(e,i)=>{d(!0),r?.(!0),m(null);try{let r=await N.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)}},E=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,s=a.createAnalyser();s.fftSize=256,a.createMediaStreamSource(e).connect(s);let l=new Uint8Array(s.fftSize),u=0,d=()=>{s.getByteTimeDomainData(l);let e=0;for(let t of l)e=Math.max(e,Math.abs(t-128));if(c(Math.min(1,e/64)),o((Date.now()-i)/1e3),(Date.now()-i)/1e3>=yn){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,o(null),c(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));T(new File(t,`sprachnotiz-${Ft()}.${r}`,{type:e}),a)},b.current={recorder:n,stop:f},r?.(!0),n.start(1e3),u=requestAnimationFrame(d)},D=a!==null,O=(0,J.jsxs)(j,{variant:`secondary`,onClick:()=>x.current?.click(),children:[(0,J.jsx)(Ie,{className:`size-4`}),` `,C(`voice.pick`)]});return(0,J.jsxs)(`div`,{children:[D?(0,J.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl bg-card p-3 ring-1 ring-ember`,children:[(0,J.jsxs)(`span`,{className:`relative flex size-11 shrink-0 items-center justify-center`,children:[(0,J.jsx)(`span`,{className:`absolute inset-0 rounded-full bg-rose-tint transition-transform duration-75`,style:{transform:`scale(${.7+s*.5})`}}),(0,J.jsx)(`span`,{className:`relative size-3.5 animate-pulse-dot rounded-full bg-rose`})]}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`div`,{className:`font-medium text-[0.9375rem] tabular-nums`,children:xn(a)}),(0,J.jsx)(`div`,{className:`text-[0.8125rem] text-ink-3`,children:a>270?C(`voice.left`,{s:Math.ceil(yn-a)}):C(`voice.recording`)})]}),(0,J.jsxs)(j,{onClick:()=>b.current?.stop(),children:[(0,J.jsx)(p,{className:`size-3.5 fill-current`}),` `,C(`voice.stop`)]})]}):l?(0,J.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl bg-card p-4 text-[0.875rem] text-ink-3 ring-1 ring-input`,children:[(0,J.jsx)(y,{className:`size-4`}),` `,C(`run.uploading`)]}):i?(0,J.jsxs)(`div`,{className:`rounded-xl bg-card p-3 ring-1 ring-input`,children:[(0,J.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,J.jsx)(`p`,{className:`mt-2 whitespace-pre-wrap px-1 text-[0.875rem] text-ink-2 leading-relaxed`,children:i.transcript}):null,(0,J.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center justify-between gap-2`,children:[(0,J.jsx)(`span`,{className:`px-1 text-[0.8125rem] text-ink-3`,children:i.seconds?xn(i.seconds):null}),(0,J.jsxs)(`div`,{className:`flex gap-1`,children:[w?(0,J.jsxs)(j,{variant:`ghost`,size:`sm`,onClick:()=>void E(),children:[(0,J.jsx)(H,{className:`size-3.5`}),` `,C(`voice.again`)]}):null,(0,J.jsx)(j,{variant:`ghost`,size:`sm`,onClick:()=>n(void 0),children:C(`voice.remove`)})]})]})]}):(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[w?(0,J.jsxs)(j,{variant:`secondary`,size:`lg`,onClick:()=>void E(),className:`w-full sm:w-auto`,children:[(0,J.jsx)(u,{className:`size-4`}),` `,C(`voice.start`)]}):O,w&&h?O:null]}),h?(0,J.jsx)(`p`,{className:`mt-2 rounded-lg bg-amber-tint px-3 py-2 text-[0.8125rem] text-ink-2 leading-relaxed`,children:C(`voice.denied`)}):(0,J.jsx)(`p`,{className:`mt-2 text-[0.8125rem] text-ink-3 leading-relaxed`,children:C(w?`voice.why`:`voice.noRecorder`)})]}),(0,J.jsx)(`input`,{ref:x,type:`file`,hidden:!0,accept:`audio/*`,capture:!0,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&T(t,void 0)}}),f?(0,J.jsx)(`div`,{className:`mt-2 text-[0.8125rem] text-rose`,children:f}):null]})}function Cn(e,t){try{return new Intl.NumberFormat(void 0,{style:`currency`,currency:t}).format(e)}catch{return`${e.toFixed(2)} ${t}`}}function wn({field:e,value:t,values:n,onChange:r}){let i=e.columns??[],a=Array.isArray(t)&&t.length?t:[{}],s=Se(e,a,n),c=(e,t,n)=>{r(a.map((r,i)=>i===e?{...r,[t]:n}:r))},l=i.map(e=>e.kind===`text`&&e===i[0]?`minmax(0,3fr)`:`minmax(0,1fr)`).join(` `);return(0,J.jsxs)(`div`,{className:`rounded-xl bg-card p-2 ring-1 ring-input`,children:[(0,J.jsx)(`div`,{className:`hidden gap-2 px-2 pt-1 pb-2 text-[0.75rem] text-ink-3 sm:grid`,style:{gridTemplateColumns:`${l} 36px`},children:i.map(e=>(0,J.jsx)(`div`,{className:e.kind===`text`?``:`text-right`,children:e.label},e.id))}),(0,J.jsx)(`div`,{className:`flex flex-col gap-2`,children:a.map((e,t)=>(0,J.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":`${l} 36px`},children:[i.map((n,r)=>(0,J.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,J.jsx)(`span`,{className:`px-0.5 text-[0.6875rem] text-ink-3 sm:hidden`,children:n.label}),(0,J.jsx)(`input`,{"aria-label":n.label,placeholder:n.label,inputMode:n.kind===`text`?`text`:`decimal`,autoComplete:`off`,value:String(e[n.id]??``),onChange:e=>c(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-[0.875rem] 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,J.jsx)(O,{label:C(`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,J.jsx)(L,{className:`size-4`})})]},t))}),(0,J.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-end justify-between gap-3 px-2 pb-1`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>r([...a,{}]),className:`inline-flex h-9 items-center gap-1.5 rounded-full px-3 text-[0.8125rem] text-ink-2 hover:bg-accent coarse:h-11`,children:[(0,J.jsx)(o,{className:`size-4`}),` `,C(`run.addRow`)]}),(0,J.jsxs)(`div`,{className:`text-right text-[0.8125rem] tabular-nums`,children:[(0,J.jsxs)(`div`,{className:`text-ink-3`,children:[C(`run.net`),` `,Cn(s.net,s.currency)]}),s.vatRate?(0,J.jsxs)(`div`,{className:`text-ink-3`,children:[C(`run.vat`,{r:s.vatRate}),` `,Cn(s.vat,s.currency)]}):null,(0,J.jsxs)(`div`,{className:`font-semibold text-[0.9375rem] text-ink`,children:[C(`run.total`),` `,Cn(s.gross,s.currency)]})]})]})]})}function Tn(e){return!!e?.closest(`input, textarea, [contenteditable='true']`)}function En({field:e,value:t,runId:n,onChange:r,onBusy:i}){let o=(0,q.useRef)(null),s=(0,q.useRef)(null),c=(0,q.useRef)(null),u=(0,q.useRef)(null),[f,p]=(0,q.useState)(!1),[m,h]=(0,q.useState)({}),[g,_]=(0,q.useState)(null),[v,y]=(0,q.useState)(!1),[x,S]=(0,q.useState)(!1),[w,T]=(0,q.useState)(null),E=(0,q.useRef)(null),D=e=>{E.current=e,T(e)},k=e.kind===`image`,A=!!e.multiple,j=A?e.max??30:1,M=k||!!e.camera||!!e.video,P=!k&&!!e.video,F=Array.isArray(t)?t:typeof t==`string`&&t?[t]:[],I=(0,q.useRef)(F);I.current=F;let L=F.length<j,R=async e=>{let t=(k?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 a=j-(A?I.current.length:0);p(!0),i?.(!0),_(t.length>a&&A?C(`run.maxFiles`,{n:j}):null);try{for(let e of t.slice(0,Math.max(0,a))){let t=await Pt(e),i=await N.upload(`/api/runs/${n}/uploads`,t);h(e=>({...e,[i.id]:{name:i.name,mime:i.mime}}));let a=A?[...I.current,i.id]:i.id;I.current=A?a:[i.id],r(a)}}catch(e){_(e.message)}finally{p(!1),i?.(!1)}},z=(0,q.useRef)(R);z.current=R;let te=e=>{let t=F.filter(t=>t!==e);r(A?t:void 0)},B=(e,t)=>{let n=I.current.indexOf(e),i=Math.min(I.current.length-1,Math.max(0,t));if(n<0||n===i)return;let a=I.current.filter(t=>t!==e);a.splice(i,0,e),I.current=a,r(a)},ne=A&&F.length>1;(0,q.useEffect)(()=>{if(!L)return;let e=e=>{let t=Array.from(e.clipboardData?.files??[]),n=o.current;if(!t.length||!n||Tn(document.activeElement))return;let r=document.querySelectorAll(`[data-upload-field]`);(n.matches(`:hover`)||n.contains(document.activeElement)||r.length===1)&&(e.preventDefault(),z.current(t))};return document.addEventListener(`paste`,e),()=>document.removeEventListener(`paste`,e)},[L]);let V=b(`flex flex-col items-center justify-center gap-2 rounded-xl border border-input border-dashed bg-card px-3 text-[0.875rem] text-ink-3 transition hover:border-ember hover:text-ink`,F.length?`py-4`:`py-8`);return(0,J.jsxs)(`div`,{ref:o,"data-upload-field":``,onDragOver:e=>{L&&(e.preventDefault(),S(!0))},onDragLeave:()=>S(!1),onDrop:e=>{S(!1),L&&(e.preventDefault(),R(Array.from(e.dataTransfer.files)))},children:[F.length?(0,J.jsx)(`div`,{className:`mb-2 flex flex-col gap-2`,children:F.map((e,t)=>{let r=m[e],i=r?.mime??(k?`image/`:``);return(0,J.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`,w===e&&`relative z-10 shadow-elevated ring-2 ring-ember`),children:[ne?(0,J.jsxs)(`button`,{type:`button`,"aria-label":C(`run.moveFile`,{n:t+1}),title:C(`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`,w===e?`cursor-grabbing`:`cursor-grab`),onPointerDown:t=>{try{t.currentTarget.setPointerCapture(t.pointerId)}catch{}D(e)},onPointerMove:t=>{if(E.current!==e)return;let n=document.elementFromPoint(t.clientX,t.clientY)?.closest(`[data-file-id]`),r=n?.getAttribute(`data-file-id`);r&&r!==e&&o.current?.contains(n??null)&&B(e,I.current.indexOf(r))},onPointerUp:()=>D(null),onPointerCancel:()=>D(null),onKeyDown:n=>{(n.key===`ArrowUp`||n.key===`ArrowDown`)&&(n.preventDefault(),B(e,t+(n.key===`ArrowUp`?-1:1)))},children:[(0,J.jsx)(`span`,{className:`font-medium text-[0.75rem] tabular-nums`,children:t+1}),(0,J.jsx)(We,{className:`size-4`})]}):null,i.startsWith(`image/`)?(0,J.jsx)(`img`,{src:a(`/api/runs/${n}/assets/${e}`),alt:``,className:`size-14 rounded-lg object-cover`}):(0,J.jsx)(`div`,{className:`flex size-12 shrink-0 items-center justify-center rounded-lg bg-paper-2`,children:i.startsWith(`video/`)?(0,J.jsx)(Re,{className:`size-5 text-ink-3`}):(0,J.jsx)(l,{className:`size-5 text-ink-3`})}),(0,J.jsx)(`div`,{className:`min-w-0 flex-1 truncate text-[0.875rem]`,children:r?.name??`✓`}),(0,J.jsx)(O,{label:C(`run.removeFile`),onClick:()=>te(e),children:(0,J.jsx)(d,{className:`size-4`})})]},e)})}):null,L?(0,J.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>s.current?.click(),className:b(V,`min-w-[9rem] flex-1 px-4`,x&&`border-ember text-ink`),children:[k?(0,J.jsx)(Ke,{className:`size-6`}):(0,J.jsx)(l,{className:`size-6`}),f?C(`run.uploading`):F.length?C(`run.uploadMore`):C(ae?`run.uploadTouch`:`run.upload`)]}),M?(0,J.jsxs)(`button`,{type:`button`,onClick:()=>pe?y(!0):c.current?.click(),className:b(V,`w-28`),children:[(0,J.jsx)(Ae,{className:`size-6`}),C(`run.camera`)]}):null,P&&!(pe&&Gt)?(0,J.jsxs)(`button`,{type:`button`,onClick:()=>u.current?.click(),className:b(V,`w-28`),children:[(0,J.jsx)(ee,{className:`size-6`}),C(`camera.video`)]}):null]}):null,(0,J.jsx)(`input`,{ref:s,type:`file`,hidden:!0,multiple:A,accept:k?`image/*`:void 0,onChange:e=>{R(Array.from(e.target.files??[])),e.target.value=``}}),(0,J.jsx)(`input`,{ref:c,type:`file`,hidden:!0,accept:`image/*`,capture:`environment`,onChange:e=>{R(Array.from(e.target.files??[])),e.target.value=``}}),P?(0,J.jsx)(`input`,{ref:u,type:`file`,hidden:!0,accept:`video/*`,capture:`environment`,onChange:e=>{R(Array.from(e.target.files??[])),e.target.value=``}}):null,(0,J.jsx)(Kt,{open:v,multiple:A,video:P,onClose:()=>y(!1),onCapture:e=>R([e]),onNative:()=>c.current?.click()}),A&&(e.min||e.max)?(0,J.jsx)(`div`,{className:`mt-2 text-[0.8125rem] text-ink-3 tabular-nums`,children:e.min&&F.length<e.min?C(`run.filesMin`,{n:F.length,min:e.min}):e.max?C(`run.filesOf`,{n:F.length,max:e.max}):null}):null,g?(0,J.jsx)(`div`,{className:`mt-2 text-[0.8125rem] text-rose`,children:g}):null]})}function Dn(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 On({field:e,value:t,onChange:n}){let[r,i]=(0,q.useState)(!1);return(0,J.jsxs)(`div`,{className:`flex gap-2`,children:[(0,J.jsx)(A,{value:t,placeholder:e.placeholder,autoCapitalize:`off`,autoCorrect:`off`,spellCheck:!1,onChange:e=>n(e.target.value)}),(0,J.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-[0.875rem] text-ink-2 transition hover:border-ember hover:text-ink`,children:[(0,J.jsx)(lt,{className:`size-4`}),` `,C(`scan.button`)]}),(0,J.jsx)(en,{open:r,onClose:()=>i(!1),onResult:n})]})}var kn=4;function An(e){let t=new Map,n=e.map(e=>({value:e,slot:ge(e)})).filter(e=>e.slot).sort((e,t)=>Date.parse(e.value)-Date.parse(t.value));for(let{value:e,slot:r}of n){if(!r)continue;let n=t.get(r.day)??{label:_e(e,w),times:[]};n.times.push({value:e,time:r.time}),t.set(r.day,n)}return[...t.values()]}function jn({name:e,label:t,options:n,value:r,onChange:i,disabled:a}){let o=An(n),s=o.findIndex(e=>e.times.some(e=>e.value===r)),[c,l]=(0,q.useState)(s>=kn);if(!o.length)return(0,J.jsx)(`p`,{className:`text-[0.875rem] text-ink-3`,children:C(`slot.none`)});let u=c?o:o.slice(0,kn);return(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsxs)(`fieldset`,{className:`flex min-w-0 flex-col gap-4`,children:[(0,J.jsx)(`legend`,{className:`sr-only`,children:t}),u.map(t=>(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`mb-2 font-medium text-[0.75rem] text-ink-3`,children:t.label}),(0,J.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:t.times.map(n=>(0,J.jsxs)(`label`,{className:`relative`,children:[(0,J.jsx)(`input`,{type:`radio`,name:`slot-${e}`,value:n.value,checked:n.value===r,disabled:a.has(n.value),"aria-label":`${t.label}, ${n.time}`,onChange:()=>i(n.value),className:`peer sr-only`}),(0,J.jsx)(`span`,{className:b(`inline-flex h-10 cursor-pointer items-center rounded-full border px-4 text-sm tabular-nums transition coarse:h-11`,`border-input bg-card text-ink-2 hover:border-ink-4 hover:text-ink`,`peer-checked:border-ember peer-checked:bg-ember-tint peer-checked:text-ink`,`peer-disabled:pointer-events-none peer-disabled:line-through peer-disabled:opacity-60`,`peer-focus-visible:outline-[1.5px] peer-focus-visible:outline-offset-2 peer-focus-visible:outline-(--focus-line) peer-focus-visible:outline-solid`),children:n.time})]},n.value))})]},t.label))]}),o.length>u.length?(0,J.jsx)(`button`,{type:`button`,onClick:()=>l(!0),className:`self-start text-[0.8125rem] text-ink-3 underline-offset-4 transition hover:text-ink hover:underline coarse:min-h-11`,children:C(`slot.later`)}):null]})}function Mn({field:e,value:t,values:n,runId:r,view:i,onChange:a,onBusy:o,error:s,closed:c}){let l=t==null?``:String(t),u=new Set(c?.values.map(String)),d;switch(e.kind){case`textarea`:d=(0,J.jsx)(x,{value:l,placeholder:e.placeholder,autoCapitalize:`sentences`,enterKeyHint:`enter`,onChange:e=>a(e.target.value)});break;case`number`:d=(0,J.jsx)(A,{inputMode:`decimal`,autoComplete:`off`,value:l,placeholder:e.placeholder,onChange:e=>a(e.target.value)});break;case`select`:{let t=e.options??[];d=t.length<=5&&t.every(e=>e.length<=28)?(0,J.jsx)(M,{value:l,options:t,onChange:a,disabled:[...u]}):(0,J.jsx)(v,{value:l,placeholder:`—`,onChange:a,options:t.map(e=>({value:e,label:e,disabled:u.has(e)}))});break}case`slot`:d=(0,J.jsx)(jn,{name:e.id,label:e.label,options:e.options??[],value:l,onChange:a,disabled:u});break;case`multiselect`:d=(0,J.jsx)(M,{multi:!0,value:Array.isArray(t)?t:[],options:e.options??[],onChange:a});break;case`date`:d=(0,J.jsx)(A,{type:`date`,value:l,onChange:e=>a(e.target.value),className:`w-full sm:w-56`});break;case`email`:d=(0,J.jsx)(A,{type:`email`,inputMode:`email`,autoComplete:`email`,autoCapitalize:`off`,autoCorrect:`off`,spellCheck:!1,value:l,placeholder:e.placeholder,onChange:e=>a(e.target.value)});break;case`url`:d=(0,J.jsx)(A,{type:`url`,inputMode:`url`,autoComplete:`url`,autoCapitalize:`off`,autoCorrect:`off`,spellCheck:!1,value:l,placeholder:e.placeholder??`https://`,onChange:e=>a(e.target.value)});break;case`toggle`:d=(0,J.jsx)(E,{checked:t===!0,onChange:a,label:e.label,disabled:u.has(String(t!==!0))});break;case`color`:d=(0,J.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,J.jsx)(k,{value:l||`#e0531b`,onChange:e=>a(e.target.value)}),(0,J.jsx)(A,{value:l,placeholder:`#e0531b`,autoCapitalize:`off`,autoCorrect:`off`,spellCheck:!1,onChange:e=>a(e.target.value),className:`w-36`})]});break;case`image`:case`file`:d=(0,J.jsx)(En,{field:e,value:t,runId:r,onChange:a,onBusy:o});break;case`items`:d=(0,J.jsx)(wn,{field:e,value:t,values:n,onChange:a});break;case`connection`:d=(0,J.jsx)(ln,{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);d=t?(0,J.jsx)(dn,{runId:r,list:t,editable:!0}):null;break}case`location`:d=(0,J.jsx)(Xt,{value:t,runId:r,placeholder:e.placeholder,onChange:a,onBusy:o});break;case`audio`:d=c?null:(0,J.jsx)(Sn,{value:t,runId:r,onChange:a,onBusy:o});break;case`signature`:d=(0,J.jsx)(sn,{label:e.label,value:t,runId:r,onChange:a});break;default:d=e.scan?(0,J.jsx)(On,{field:e,value:l,onChange:a}):(0,J.jsx)(A,{...Dn(e),value:l,placeholder:e.placeholder,onChange:e=>a(e.target.value)})}return(0,J.jsxs)(`div`,{children:[e.kind===`toggle`?(0,J.jsxs)(`div`,{className:`flex items-start justify-between gap-6`,children:[(0,J.jsx)(_,{hint:e.help,children:e.label}),d]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(_,{hint:e.help,required:e.required,children:e.label}),d]}),c?(0,J.jsx)(`div`,{className:`mt-1.5 text-[0.8125rem] text-ink-3`,children:C(`run.closed`,{list:c.classes.map(e=>C(`run.cls.${Nn[e]}`)).join(`, `)})}):null,s?(0,J.jsx)(`div`,{className:`mt-1.5 text-[0.8125rem] text-rose`,children:s}):null]})}var Nn={classifier:`text`,standard:`text`,high:`text`,highest:`text`,image:`image`,video:`video`,speech:`speech`,audio:`audio`},Pn=45e3;function Fn(e){let[t,n]=(0,q.useState)(null),[r,i]=(0,q.useState)(null),[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(!1),[u,d]=(0,q.useState)({});(0,q.useEffect)(()=>{if(n(null),s(!1),!e)return;let t=!1,r=0,i,o=null,c=Date.now(),l=()=>{t=!0,o?.close(),s(!0)},u=async()=>{try{let r=await N.get(`/api/runs/${e}`);t||n(r)}catch(e){e instanceof g&&e.status===404&&l()}},d=()=>{if(clearTimeout(i),o?.close(),t)return;let s=new EventSource(a(`/api/runs/${e}/stream`),{withCredentials:!0});o=s,c=Date.now(),s.addEventListener(`view`,e=>{r=0,c=Date.now(),n(JSON.parse(e.data))}),s.addEventListener(`ping`,()=>{c=Date.now()}),s.onerror=()=>{s.close(),!(t||o!==s)&&(o=null,u(),r=Math.min(r+1,6),i=setTimeout(d,500*2**r))}},f=()=>{t||document.visibilityState!==`visible`||(!o||o.readyState===EventSource.CLOSED||Date.now()-c>Pn?(r=0,d()):u())},p=setInterval(()=>{!t&&o&&Date.now()-c>Pn&&(r=0,d())},15e3);return d(),document.addEventListener(`visibilitychange`,f),window.addEventListener(`pageshow`,f),window.addEventListener(`online`,f),()=>{t=!0,clearTimeout(i),clearInterval(p),document.removeEventListener(`visibilitychange`,f),window.removeEventListener(`pageshow`,f),window.removeEventListener(`online`,f),o?.close()}},[e]);let f=(0,q.useCallback)(async(t,n)=>{if(!e)return!1;l(!0),i(null),d({});try{return await N.post(`/api/runs/${e}/${t}`,n),!0}catch(e){return e instanceof g&&e.status===422&&Array.isArray(e.body?.fields)&&d(Object.fromEntries(e.body.fields.map(e=>[e.field,e.message]))),i(e.message),!1}finally{l(!1)}},[e]);return{view:t,notFound:o,error:r,busy:c,fieldErrors:u,submitPage:(e,t)=>f(`pages/${e}`,{values:t}),accept:(e,t)=>f(`reviews/${e}`,{type:`accept`,edits:t}),regenerate:(e,t,n,r)=>f(`reviews/${e}`,{type:`regenerate`,target:t,note:n,items:r?.length?r:void 0}),back:()=>f(`back`),retry:()=>f(`retry`)}}function In({view:e}){let t=Math.round(Math.min(e.progress.done,e.progress.total)/Math.max(1,e.progress.total)*100);return(0,J.jsx)(`div`,{className:`h-[3px] w-full bg-paper-2`,children:(0,J.jsx)(`div`,{className:`h-full bg-ember transition-[width] duration-700 ease-out`,style:{width:`${t}%`}})})}function Ln({title:e,description:t,kicker:n}){return(0,J.jsxs)(`div`,{className:`mb-8`,children:[n?(0,J.jsx)(`p`,{className:`mb-4 text-[0.9375rem] text-ink-2 leading-relaxed`,children:n}):null,(0,J.jsx)(`h1`,{className:`font-display font-semibold text-[1.75rem] leading-[1.15] tracking-tight sm:text-[2rem]`,children:e}),t?(0,J.jsx)(`p`,{className:`mt-2 text-[0.9375rem] text-ink-3 leading-relaxed`,children:t}):null]})}function Rn(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 zn(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 Bn({view:e,run:t,step:n}){let[r,i]=(0,q.useState)(()=>Rn(n,e)),[a,o]=(0,q.useState)(new Set),s=(0,q.useRef)(null),c=e.progress.done===0,l=(0,q.useMemo)(()=>n.fields.filter(t=>!ye(t)||e.decidedFields?.includes(t.id)).map(t=>e.options?.[t.id]?.length?{...t,options:e.options[t.id]}:t),[n.fields,e.options,e.decidedFields]),u=xe(l,e.known??{},r),d=()=>void t.submitPage(n.id,r);return(0,q.useEffect)(()=>{if(!s.current)return;let e=zn(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,J.jsxs)(`form`,{ref:s,className:`animate-rise`,onSubmit:e=>{e.preventDefault(),a.size||d()},onKeyDown:e=>{let t=e.target;if(e.key!==`Enter`||e.defaultPrevented||e.nativeEvent.isComposing||!(t instanceof HTMLInputElement)||t.closest(`dialog`))return;let n=zn(e.currentTarget),r=n[n.indexOf(t)+1];r&&(e.preventDefault(),r.focus())},children:[(0,J.jsx)(Ln,{title:n.title,description:n.description,kicker:c?e.wizard.intro:null}),(0,J.jsx)(`div`,{className:`flex flex-col gap-7`,children:u.map(n=>(0,J.jsx)(Mn,{field:n,value:r[n.id],values:r,runId:e.id,view:e,error:t.fieldErrors[n.id],closed:e.closed?.[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,J.jsx)($,{view:e,run:t,sticky:!0,children:(0,J.jsxs)(j,{type:`submit`,size:`lg`,busy:t.busy,disabled:a.size>0,children:[n.cta||C(`run.next`),` `,(0,J.jsx)(P,{className:`size-4`})]})})]})}function $({view:e,run:t,sticky:n,children:r}){return(0,J.jsxs)(`div`,{className:b(`mt-10 flex items-center justify-between gap-3`,n&&`action-bar`),children:[e.canBack?(0,J.jsxs)(j,{variant:`ghost`,onClick:()=>void t.back(),disabled:t.busy,children:[(0,J.jsx)(h,{className:`size-4`}),` `,C(`run.back`)]}):(0,J.jsx)(`span`,{}),r]})}function Vn(){let e=re(),[t,n]=(0,q.useState)(!1),r=e!==`off`;return(0,J.jsxs)(`div`,{className:`mt-6 flex flex-col items-center gap-2`,children:[(0,J.jsxs)(`button`,{type:`button`,"aria-pressed":r,disabled:t,onClick:async()=>{if(r){te();return}n(!0),await fe(),n(!1)},className:b(`inline-flex h-11 items-center gap-2 rounded-full px-4 font-medium text-[0.875rem] 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,J.jsx)(Ee,{className:`size-4 text-ember-strong`}):(0,J.jsx)(Oe,{className:`size-4`}),C(r?`notify.on`:`notify.ask`)]}),(0,J.jsx)(`p`,{className:`max-w-xs text-[0.75rem] text-ink-4 leading-relaxed`,children:C(e===`off`?`notify.why`:e===`on`?`notify.onHint`:oe()?`notify.blocked`:`notify.quiet`)})]})}function Hn({view:e,compact:t,awake:n}){let i=(0,q.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,q.useState)(Date.now());(0,q.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??C(`run.working`),l=e.events.filter(e=>(e.type===`tool`||e.type===`info`)&&new Date(e.at).getTime()>=i-500),u=l.slice(-4),d=[...new Set(l.map(e=>e.asset).filter(e=>!!e))],p=[...l].reverse().find(e=>e.asset)?.asset;return(0,J.jsxs)(`div`,{className:`flex animate-rise flex-col items-center pt-6 text-center`,children:[(0,J.jsx)(r,{kind:e.wizard.avatar,size:t?130:170,fluffy:!0}),(0,J.jsx)(`h2`,{className:`mt-4 font-display font-semibold text-[1.375rem] tracking-tight`,children:c}),(0,J.jsx)(`div`,{className:`mt-1 text-[0.8125rem] text-ink-4 tabular-nums`,children:C(`run.elapsed`,{s:Math.max(0,Math.round((o-i)/1e3))})}),d.length?(0,J.jsx)(`div`,{className:`mt-5 flex max-w-full flex-wrap justify-center gap-2`,children:d.slice(-8).map(t=>(0,J.jsx)(`img`,{src:a(`/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===p?`ring-2 ring-ember`:`opacity-70`)},t))}):null,(0,J.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,J.jsxs)(`div`,{className:b(`flex items-center justify-center gap-2 text-[0.8125rem] transition-opacity`,t===u.length-1?`text-ink-2`:`text-ink-4`),children:[t===u.length-1?(0,J.jsx)(me,{className:`size-3.5 animate-breathe text-ember`}):null,(0,J.jsx)(`span`,{className:`truncate`,children:f(e)})]},e.id))}),t?null:(0,J.jsx)(Vn,{}),n?(0,J.jsx)(`p`,{className:`mt-3 text-[0.75rem] text-ink-4`,children:C(`run.awake`)}):null]})}function Un(e){let t=(0,q.useRef)({running:!1,since:0,ask:null});(0,q.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}`),se({title:e.wizard.title,body:t,tag:e.id})};r&&e.ask&&e.ask.id!==n.ask?a(C(`notify.needsYou`)):!r&&n.running&&Date.now()-n.since>8e3&&a(e.status===`failed`?C(`run.failed`):e.status===`done`?C(`notify.done`):C(`notify.next`)),t.current={running:r,since:i,ask:e.ask?.id??null}},[e]),(0,q.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 Wn({view:e,run:t,step:n}){let[r,i]=(0,q.useState)({}),[a,o]=(0,q.useState)({}),[s,c]=(0,q.useState)(``),l=e.shown.filter(e=>e.output),[u,d]=(0,q.useState)(l.length===1?l[0].step.id:null),[f,p]=(0,q.useState)({}),m=(0,q.useRef)(null),h=l.find(e=>e.step.id===u),g=h?.step.type===`generate`&&(h.output?.assets?.length??0)>1,_=()=>{h&&s.trim()&&t.regenerate(n.id,h.step.id,s.trim(),f[h.step.id])};return(0,J.jsxs)(`div`,{className:`animate-rise`,children:[(0,J.jsx)(Ln,{title:n.title,description:n.description}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[e.shown.filter(e=>e.output).map(({step:t,output:s})=>{let c=!!n.edit&&t.type===`agent`&&t.output.format!==`json`;return(0,J.jsxs)(`section`,{children:[(0,J.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-3`,children:[(0,J.jsx)(`h3`,{className:`font-medium text-[0.8125rem] text-ink-3 uppercase tracking-[0.06em]`,children:t.title}),(0,J.jsx)(`div`,{className:`flex items-center`,children:c&&!a[t.id]?(0,J.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-[0.8125rem] text-ink-2 hover:bg-accent hover:text-ink coarse:h-11`,children:[(0,J.jsx)(ot,{className:`size-3.5`}),` `,C(`run.edit`)]}):null})]}),(0,J.jsx)(de,{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:f[t.id],onPick:n.regenerate?e=>{d(t.id),p(n=>{let r=n[t.id]??[];return{...n,[t.id]:r.includes(e)?r.filter(t=>t!==e):[...r,e]}}),m.current?.focus()}:void 0,onSurfaceAction:n.regenerate?()=>{d(t.id),m.current?.focus()}:void 0})]},t.id)}),e.lists.map(t=>(0,J.jsxs)(`section`,{children:[(0,J.jsx)(`h3`,{className:`mb-2 font-medium text-[0.8125rem] text-ink-3 uppercase tracking-[0.06em]`,children:t.def.title}),t.def.check?(0,J.jsx)(mn,{runId:e.id,list:t}):(0,J.jsx)(dn,{runId:e.id,list:t,editable:!0})]},t.def.id)),n.regenerate&&l.length?(0,J.jsxs)(D,{className:`p-3`,children:[l.length>1?(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1 pb-2`,children:[(0,J.jsx)(`span`,{className:`mr-1 text-[0.8125rem] text-ink-3`,children:C(`run.feedbackTarget`)}),l.map(({step:e})=>(0,J.jsx)(`button`,{type:`button`,"aria-pressed":u===e.id,onClick:()=>{d(e.id),m.current?.focus()},className:b(`inline-flex h-8 items-center rounded-full px-3 text-[0.8125rem] ring-1 transition coarse:h-11`,u===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,J.jsx)(x,{ref:m,minRows:2,maxRows:8,value:s,placeholder:C(`run.feedbackPlaceholder`),onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),_())},className:`border-0 bg-transparent shadow-none focus:ring-0`}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-1 pt-1`,children:[(0,J.jsx)(`span`,{className:`min-w-0 text-[0.75rem] text-ink-3`,children:g?f[h.step.id]?.length?C(`run.regeneratePicked`,{n:[...f[h.step.id]].sort((e,t)=>e-t).map(e=>e+1).join(`, `)}):C(`run.regenerateAll`):!h&&s.trim()?C(`run.feedbackPick`):null}),(0,J.jsxs)(j,{size:`sm`,variant:`secondary`,busy:t.busy,disabled:!s.trim()||!h,onClick:_,children:[(0,J.jsx)(z,{className:`size-3.5`}),` `,C(`run.regenerateGo`)]})]})]}):null]}),(0,J.jsx)($,{view:e,run:t,sticky:!0,children:(0,J.jsxs)(j,{size:`lg`,busy:t.busy,onClick:()=>void t.accept(n.id,Object.keys(r).length?r:void 0),children:[C(`run.accept`),` `,(0,J.jsx)(P,{className:`size-4`})]})})]})}function Gn({view:e,run:t,step:n,onRestart:i}){let a=e.shown.filter(e=>e.output);return(0,J.jsxs)(`div`,{className:`animate-rise`,children:[(0,J.jsxs)(`div`,{className:`mb-8 flex flex-wrap items-center gap-x-4 gap-y-5`,children:[(0,J.jsx)(r,{kind:e.wizard.avatar,size:64}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1 basis-[12rem]`,children:[(0,J.jsx)(`h1`,{className:`text-balance font-display font-semibold text-[1.75rem] leading-tight tracking-tight sm:text-[2rem]`,children:n.title}),n.message?(0,J.jsx)(`p`,{className:`mt-1 text-[0.9375rem] text-ink-3`,children:n.message}):null]}),e.shown.some(e=>e.output)?(0,J.jsx)(`div`,{className:`max-sm:basis-full`,children:(0,J.jsx)(kt,{runId:e.id,title:`${n.title} · ${e.wizard.title}`,initial:e.shareUrl?{url:e.shareUrl,expiresAt:e.expiresAt}:null})}):null]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[a.map(({step:t,output:n,formats:r,label:i})=>(0,J.jsxs)(D,{className:`p-4 sm:p-5`,children:[(0,J.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-center justify-between gap-3`,children:[(0,J.jsx)(`h3`,{className:`font-display font-semibold text-[1.0625rem]`,children:i??t.title}),(0,J.jsx)(ue,{base:`/api/runs/${e.id}`,stepId:t.id,formats:r,title:i??t.title})]}),(0,J.jsx)(de,{base:`/api/runs/${e.id}`,step:t,output:n}),n?.assets?.some(e=>e.ai)?(0,J.jsx)(`p`,{className:`mt-3 text-[0.75rem] text-ink-3 leading-relaxed`,children:C(`ai.publish`)}):null]},t.id)),e.lists.map(t=>(0,J.jsxs)(D,{className:`p-4 sm:p-5`,children:[(0,J.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-center justify-between gap-3`,children:[(0,J.jsx)(`h3`,{className:`font-display font-semibold text-[1.0625rem]`,children:t.label??t.def.title}),(0,J.jsx)(gn,{runId:e.id,list:t})]}),(0,J.jsx)(dn,{runId:e.id,list:t,editable:!0})]},t.def.id))]}),(0,J.jsx)($,{view:e,run:t,children:i?(0,J.jsxs)(j,{variant:`secondary`,onClick:i,children:[(0,J.jsx)(H,{className:`size-4`}),` `,C(`run.again`)]}):(0,J.jsx)(`span`,{})})]})}function Kn({view:e,run:t}){return(0,J.jsxs)(`div`,{className:`flex animate-rise flex-col items-center pt-8 text-center`,children:[(0,J.jsx)(r,{kind:e.wizard.avatar,size:90}),(0,J.jsx)(`h2`,{className:`mt-4 font-display font-semibold text-[1.375rem]`,children:C(`run.failed`)}),(0,J.jsx)(`p`,{className:`mt-2 max-w-md text-[0.9375rem] text-ink-3`,children:(0,J.jsx)(T,{text:e.error??``})}),(0,J.jsxs)(`div`,{className:`mt-8 flex gap-3`,children:[e.canBack?(0,J.jsxs)(j,{variant:`ghost`,onClick:()=>void t.back(),children:[(0,J.jsx)(h,{className:`size-4`}),` `,C(`run.back`)]}):null,(0,J.jsxs)(j,{onClick:()=>void t.retry(),busy:t.busy,children:[(0,J.jsx)(H,{className:`size-4`}),` `,C(`run.retry`)]})]})]})}function qn({runId:e,compact:t,onRestart:n,onView:r,stickyProgress:i}){let a=Fn(e),{view:o}=a;(0,q.useEffect)(()=>{r?.(o)},[o,r]),V();let s=ie(o?.status===`running`&&!o.ask);if(Un(o),a.notFound)return(0,J.jsx)(`div`,{className:`py-24 text-center text-ink-3`,children:C(`run.notFound`)});if(!o)return(0,J.jsx)(`div`,{className:`flex justify-center py-24 text-ink-4`,children:(0,J.jsx)(y,{})});let c=o.step,l=null;if(o.status===`running`&&o.ask)l=(0,J.jsx)(At,{runId:o.id,ask:o.ask},o.ask.id);else if(o.status===`running`)l=(0,J.jsx)(Hn,{view:o,compact:t,awake:s});else if(o.status===`failed`)l=(0,J.jsx)(Kn,{view:o,run:a});else if(o.status===`cancelled`)l=(0,J.jsx)(`div`,{className:`py-24 text-center text-ink-3`,children:C(`run.cancelled`)});else if(c?.type===`page`)l=(0,J.jsx)(Bn,{view:o,run:a,step:c},c.id);else if(c?.type===`review`){let e=o.shown.map(e=>e.output?.at??``).join(`|`);l=(0,J.jsx)(Wn,{view:o,run:a,step:c},`${c.id}:${e}`)}else c?.type===`result`&&(l=(0,J.jsx)(Gn,{view:o,run:a,step:c,onRestart:n}));let u=c?.type===`review`&&o.status===`waiting_input`&&o.lists.some(e=>e.def.check);return(0,J.jsxs)(`div`,{className:`flex min-h-full flex-col`,children:[i?(0,J.jsx)(`div`,{className:`sticky top-0 z-10`,children:(0,J.jsx)(In,{view:o})}):(0,J.jsx)(In,{view:o}),(0,J.jsxs)(`div`,{className:b(`safe-x mx-auto w-full flex-1`,u?`max-w-[1240px] py-8`:t?`max-w-[620px] py-8`:`max-w-[640px] py-8 sm:py-16`),children:[l,a.error&&o.status!==`failed`?(0,J.jsx)(`div`,{className:`mt-4 rounded-lg bg-rose-tint px-4 py-3 text-[0.875rem] text-rose`,children:a.error}):null,o.keeps&&o.status!==`running`?(0,J.jsx)(`div`,{className:`mt-10 flex justify-center`,children:(0,J.jsx)(vn,{runId:o.id})}):null]})]})}export{Re as a,et as i,U as n,we as o,ot as r,qn as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-D3jfb0Ew.js";import{R as r,p as i}from"./brand-CCAI9p0f.js";import{$ as a,F as o,G as s,H as c,V as l,Y as u,a as d,d as f,et as p,f as m,g as h,j as g,k as _,l as v,m as y,n as b,o as x,q as S,r as C,s as w,t as T,tt as E,x as D}from"./ui-8QmvuC9u.js";import{t as O}from"./arrow-right-BOtqnsA1.js";import{n as ee}from"./HomePage-Bd-mkLxW.js";import{t as k}from"./circle-alert-BC6xmJ9r.js";import{n as A,t as te}from"./image-BMdSChOR.js";import{n as ne,r as j}from"./upload-CL1R6shM.js";import{t as M}from"./external-link-wKL1HE6G.js";import{n as re,t as ie}from"./volume-2-_IOfPNCv.js";import{c as ae,t as oe}from"./Account-DW396ig5.js";import{n as se,t as ce}from"./trash-CdLg-Ela.js";import{t as le}from"./pen-line-DM-u0dES.js";import{t as ue}from"./refresh-cw-Bk7HkOIM.js";import{$ as de,Ct as fe,Dt as pe,G as me,K as he,at as ge,ft as _e,ht as ve,kt as N,n as ye,nt as be,r as xe,st as Se,t as Ce,tt as we,ut as Te,yt as Ee}from"./index-YJMooz0J.js";import{s as De}from"./definition-D5V79jHA.js";import{n as Oe}from"./LocalRuntime-DjSNCRnV.js";import{a as P,c as ke,d as Ae,f as je,i as F,l as Me,m as Ne,n as Pe,o as Fe,p as Ie,r as Le,s as Re,t as ze,u as Be}from"./settings-menu-BM_NfZfn.js";import{t as Ve}from"./Harness-CtDlm_2b.js";var He={name:`ear`,size:24,node:[[`path`,{d:`M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0`,key:`1dfaln`}],[`path`,{d:`M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4`,key:`1qnva7`}]]};He.node;var Ue=s(He),We={name:`key-round`,size:24,node:[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]};We.node;var I=s(We),Ge={name:`mail-plus`,size:24,node:[[`path`,{d:`M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8`,key:`12jkf8`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`,key:`1ocrg3`}],[`path`,{d:`M19 16v6`,key:`tddt3s`}],[`path`,{d:`M16 19h6`,key:`xwg31i`}]]};Ge.node;var Ke=s(Ge),qe={name:`monitor`,size:24,node:[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]};qe.node;var Je=s(qe),Ye={name:`rotate-cw`,size:24,node:[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]};Ye.node;var Xe=s(Ye),Ze={name:`wrench`,size:24,node:[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]};Ze.node;var Qe=s(Ze),L=e(t(),1),R=e(n(),1);function $e(){let e=xe(),[t,n]=(0,L.useState)(null),[r,i]=(0,L.useState)(null),a=async e=>{n(e??`*`),i(null);try{await ye(e)}catch(e){i(e.message)}finally{n(null)}};return(0,R.jsxs)(ae,{title:g(`plugins.title`),hint:e.canReload?g(`plugins.hint`):g(`plugins.hintManaged`),action:e.canReload?(0,R.jsx)(T,{variant:`secondary`,busy:t===`*`,onClick:()=>void a(),children:g(`plugins.rescan`)}):null,children:[(0,R.jsxs)(`ul`,{className:`divide-y divide-border-soft`,children:[e.plugins.map(n=>{let r=e.failed[n.id];return(0,R.jsxs)(`li`,{className:`flex items-start gap-4 py-4 first:pt-0 last:pb-0`,children:[(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2.5 gap-y-1`,children:[(0,R.jsx)(`span`,{className:`font-medium text-[0.9375rem]`,children:n.name}),n.name===n.id?null:(0,R.jsxs)(`span`,{className:`font-mono text-[0.75rem] text-ink-4`,children:[n.id,` · `,n.version]})]}),n.description?(0,R.jsx)(`p`,{className:`mt-0.5 text-[0.875rem] text-ink-3`,children:n.description}):null,n.tools.length?(0,R.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5 text-[0.75rem] text-ink-3`,children:[g(`plugins.tools`),n.tools.map(e=>(0,R.jsx)(C,{children:e.id},e.id))]}):null,n.error?(0,R.jsx)(`p`,{className:`mt-2 text-[0.8125rem] text-rose`,children:g(`plugins.serverFailed`,{error:n.error})}):null,r?(0,R.jsx)(`p`,{className:`mt-2 text-[0.8125rem] text-rose`,children:g(`plugins.studioFailed`,{error:r})}):null]}),e.canReload?(0,R.jsx)(x,{label:g(`plugins.reload`),disabled:t!==null,onClick:()=>void a(n.id),children:(0,R.jsx)(Xe,{className:t===n.id?`size-4 animate-spin`:`size-4`})}):null]},n.id)}),e.problems.map(e=>(0,R.jsxs)(`li`,{className:`py-4 first:pt-0 last:pb-0`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2.5 gap-y-1`,children:[(0,R.jsx)(C,{tone:`warn`,children:g(`plugins.problems`)}),(0,R.jsx)(`span`,{className:`break-all font-mono text-[0.75rem] text-ink-3`,children:e.path})]}),(0,R.jsx)(`p`,{className:`mt-1.5 text-[0.8125rem] text-ink-3`,children:e.message})]},e.path))]}),r?(0,R.jsx)(`p`,{className:`mt-4 text-[0.8125rem] text-rose`,children:r}):null]})}function et({connector:e}){let[t,n]=(0,L.useState)(!1);return(0,R.jsxs)(`div`,{className:`rounded-lg bg-paper ring-1 ring-border-soft`,children:[(0,R.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`flex w-full items-center gap-3 px-3 py-2 text-left`,children:[(0,R.jsx)(`span`,{className:h(`size-2 shrink-0 rounded-full`,e.usable?`bg-moss`:`bg-ink-4`)}),(0,R.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-[0.8125rem]`,children:[e.name,` `,(0,R.jsx)(`span`,{className:`font-mono text-[0.6875rem] text-ink-4`,children:e.id})]}),(0,R.jsx)(`span`,{className:`shrink-0 text-[0.75rem] text-ink-3`,children:e.usable?g(`connectors.actions`,{n:e.actions.length,r:e.actions.filter(e=>e.group===`read`).length}):g(`connectors.notSetUp`)})]}),t?(0,R.jsxs)(`div`,{className:`border-border-soft border-t px-3 py-2 text-[0.75rem]`,children:[e.missingSetup?(0,R.jsxs)(`p`,{className:`mb-1 text-ink-3`,children:[g(`connectors.setup`),` `,(0,R.jsx)(`span`,{className:`font-mono text-ink-2`,children:e.missingSetup})]}):null,(0,R.jsx)(`p`,{className:`text-ink-4`,children:e.actions.map(e=>e.group===`read`?e.id:`${e.id} (${g(`connectors.group.${e.group}`)})`).join(` · `)})]}):null]})}var tt={none:`connectors.authNone`,oauth2:`connectors.authOauth`,api_key:`connectors.authKey`};function nt({projectId:e,connector:t,readOnly:n}){let i=r(),[a,o]=(0,L.useState)(!1),s=()=>i.invalidateQueries({queryKey:[`connectors`,e]}),c=`/api/studio/projects/${e}/connectors/${t.id}`,l=N({mutationFn:()=>D.post(`${c}/refresh`),onSuccess:s}),u=N({mutationFn:()=>D.del(c),onSuccess:s}),d=t.actions.filter(e=>e.group===`read`).length;return(0,R.jsxs)(`div`,{className:`rounded-lg bg-paper ring-1 ring-border-soft`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-3 p-3`,children:[(0,R.jsx)(`div`,{className:`flex size-9 shrink-0 items-center justify-center rounded-lg bg-paper-2 text-ink-2`,children:(0,R.jsx)(ve,{className:`size-4`})}),(0,R.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:`min-w-0 flex-1 text-left`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`truncate font-medium text-[0.875rem]`,children:t.name}),(0,R.jsx)(`span`,{className:`font-mono text-[0.6875rem] text-ink-4`,children:t.id})]}),(0,R.jsxs)(`div`,{className:`truncate text-[0.75rem] text-ink-3`,children:[t.domain,` · `,t.sourceKind===`mcp`?`MCP`:`OpenAPI`,` ·`,` `,g(tt[t.auth]),` ·`,` `,t.toolsPending?g(`connectors.pending`):g(`connectors.actions`,{n:t.actions.length,r:d})]})]}),n?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(x,{label:g(`connectors.refresh`),onClick:()=>l.mutate(),children:l.isPending?(0,R.jsx)(m,{className:`size-4`}):(0,R.jsx)(ue,{className:`size-4`})}),(0,R.jsx)(x,{label:g(`connectors.remove`),className:`hover:text-rose`,onClick:()=>confirm(`${t.name}: ${g(`connectors.remove`)}?`)&&u.mutate(),children:(0,R.jsx)(ce,{className:`size-4`})})]})]}),t.needsOAuthClient?(0,R.jsx)(`p`,{className:`border-border-soft border-t px-3 py-2 text-[0.75rem] text-rose`,children:g(`connectors.needsClient`)}):null,l.error??u.error?(0,R.jsx)(`p`,{className:`border-border-soft border-t px-3 py-2 text-[0.75rem] text-rose`,children:(l.error??u.error).message}):null,a&&t.actions.length?(0,R.jsx)(`ul`,{className:`max-h-64 overflow-y-auto border-border-soft border-t px-3 py-2`,children:t.actions.map(e=>(0,R.jsxs)(`li`,{className:`flex items-baseline gap-2 py-1 text-[0.75rem]`,children:[(0,R.jsx)(`span`,{className:h(`w-14 shrink-0 text-[0.6875rem] uppercase tracking-wide`,e.group===`read`?`text-moss`:e.group===`write`?`text-ink-3`:`text-rose`),children:g(`connectors.group.${e.group}`)}),(0,R.jsx)(`span`,{className:`shrink-0 font-mono text-ink-2`,children:e.id}),(0,R.jsx)(`span`,{className:`min-w-0 truncate text-ink-4`,children:e.summary})]},e.id))}):null]})}function rt({projectId:e,domain:t,source:n,taken:i,onDone:a}){let o=r(),[s,c]=(0,L.useState)({id:``,secret:``}),[l,u]=(0,L.useState)(!1),d=i.includes(n.suggestedId),f=N({mutationFn:()=>D.post(`/api/studio/projects/${e}/connectors`,{domain:t,sourceKind:n.sourceKind,sourceUrl:n.sourceUrl,id:n.suggestedId,toolPrefix:n.suggestedToolPrefix,...n.name?{name:n.name}:{},...s.id&&s.secret?{oauthClientId:s.id,oauthClientSecret:s.secret}:{}}),onSuccess:async t=>{await o.invalidateQueries({queryKey:[`connectors`,e]}),a(t.warnings)}});return(0,R.jsxs)(`div`,{className:`rounded-lg bg-card p-3 ring-1 ring-border-soft`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,R.jsx)(C,{tone:n.sourceKind===`mcp`?`ember`:`neutral`,children:n.sourceKind===`mcp`?`MCP`:`OpenAPI`}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`div`,{className:`truncate text-[0.8125rem]`,children:n.name??n.suggestedId}),(0,R.jsx)(`div`,{className:`truncate font-mono text-[0.6875rem] text-ink-4`,children:n.sourceUrl})]}),n.blocked||d?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,onClick:()=>u(e=>!e),className:`text-[0.75rem] text-ink-3 hover:text-ink`,children:g(`connectors.ownClient`)}),(0,R.jsx)(T,{size:`sm`,busy:f.isPending,onClick:()=>f.mutate(),children:g(`connectors.import`)})]})]}),n.blocked?(0,R.jsx)(`p`,{className:`mt-2 text-[0.75rem] text-ink-3`,children:n.blocked}):null,d?(0,R.jsx)(`p`,{className:`mt-2 text-[0.75rem] text-ink-3`,children:g(`connectors.exists`)}):null,l?(0,R.jsxs)(`div`,{className:`mt-3 grid gap-2 sm:grid-cols-2`,children:[(0,R.jsx)(w,{placeholder:`OAuth Client-ID`,value:s.id,onChange:e=>c(t=>({...t,id:e.target.value}))}),(0,R.jsx)(w,{type:`password`,autoComplete:`off`,placeholder:`OAuth Client-Secret`,value:s.secret,onChange:e=>c(t=>({...t,secret:e.target.value}))})]}):null,f.error?(0,R.jsx)(`p`,{className:`mt-2 text-[0.75rem] text-rose`,children:f.error.message}):null]})}function it({projectId:e,readOnly:t}){let[n,r]=(0,L.useState)(``),[a,o]=(0,L.useState)(null),[s,c]=(0,L.useState)(null),[u,d]=(0,L.useState)([]),f=i({queryKey:[`connectors`,e],queryFn:()=>D.get(`/api/studio/projects/${e}/connectors`)}),p=N({mutationFn:()=>D.post(`/api/studio/connectors/search`,{query:n}),onSuccess:e=>{o(e),c(null),d([])}}),h=N({mutationFn:e=>D.get(`/api/studio/connectors/registry/${encodeURIComponent(e)}`),onSuccess:c}),_=f.data??[],v=_.filter(e=>e.sourceKind===`builtin`&&(we.unsetConnectors||e.usable)),y=_.filter(e=>e.sourceKind!==`builtin`);return(0,R.jsxs)(b,{className:`p-4 sm:p-6`,children:[(0,R.jsx)(`h2`,{className:`font-display font-semibold text-lg`,children:g(`connectors.title`)}),(0,R.jsx)(`p`,{className:`mt-1 mb-5 text-[0.875rem] text-ink-3`,children:g(`connectors.hint`)}),v.length?(0,R.jsx)(`div`,{className:`mb-5 grid gap-1.5 sm:grid-cols-2`,children:v.map(e=>(0,R.jsx)(et,{connector:e},e.id))}):null,(0,R.jsx)(`h3`,{className:`mb-2 font-medium text-[0.75rem] text-ink-3 uppercase tracking-[0.07em]`,children:g(`connectors.imported`)}),y.length?(0,R.jsx)(`div`,{className:`mb-4 flex flex-col gap-2`,children:y.map(n=>(0,R.jsx)(nt,{projectId:e,connector:n,readOnly:t},n.id))}):null,t?y.length?null:(0,R.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:g(`connectors.noneImported`)}):(0,R.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),n.trim()&&p.mutate()},children:[(0,R.jsx)(w,{value:n,placeholder:g(`connectors.search`),onChange:e=>r(e.target.value)}),(0,R.jsxs)(T,{type:`submit`,variant:`secondary`,busy:p.isPending,children:[(0,R.jsx)(ne,{className:`size-4`}),` `,g(`connectors.find`)]})]}),p.error?(0,R.jsx)(`p`,{className:`mt-3 text-[0.8125rem] text-rose`,children:p.error.message}):null,a&&!s?(0,R.jsxs)(`div`,{className:`mt-3 flex flex-col gap-1`,children:[a.length?null:(0,R.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:g(`connectors.none`)}),a.map(e=>(0,R.jsxs)(`button`,{type:`button`,disabled:!e.kinds.length,onClick:()=>h.mutate(e.domain),className:`flex items-center gap-3 rounded-lg px-3 py-2 text-left transition hover:bg-paper-2 disabled:opacity-50`,children:[(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`div`,{className:`truncate text-[0.875rem]`,children:e.domain}),(0,R.jsx)(`div`,{className:`truncate text-[0.75rem] text-ink-3`,children:e.description})]}),(0,R.jsx)(`span`,{className:`text-[0.6875rem] text-ink-4 uppercase`,children:e.kinds.join(` · `)}),(0,R.jsx)(l,{className:`-rotate-90 size-4 text-ink-4`})]},e.domain)),h.isPending?(0,R.jsx)(m,{className:`mx-auto mt-2 size-4 text-ink-4`}):null,h.error?(0,R.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:h.error.message}):null]}):null,s?(0,R.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,R.jsx)(`div`,{className:`font-medium text-[0.875rem]`,children:s.domain}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>c(null),className:`text-[0.75rem] text-ink-3 hover:text-ink`,children:g(`run.back`)})]}),s.summary?(0,R.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:s.summary}):null,s.sources.map(t=>(0,R.jsx)(rt,{projectId:e,domain:s.domain,source:t,taken:_.map(e=>e.id),onDone:d},`${t.sourceKind}:${t.sourceUrl}`)),s.credentials.filter(e=>e.setup||e.url).map(e=>(0,R.jsxs)(`p`,{className:`text-[0.75rem] text-ink-3`,children:[(0,R.jsxs)(`span`,{className:`text-ink-2`,children:[e.label,`:`]}),` `,e.setup,` `,e.url?(0,R.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,className:`text-ember underline`,children:e.url}):null]},e.label)),u.map(e=>(0,R.jsx)(`p`,{className:`text-[0.75rem] text-ink-3`,children:e},e))]}):null]})}var z=`engenty-wizards`,at=`ENGENTY_WIZARDS_KEY`,ot=[{id:`claude-desktop`,name:`Claude Desktop`,widgets:!0},{id:`claude-code`,name:`Claude Code`,widgets:!1},{id:`codex`,name:`Codex · ChatGPT app`,widgets:!1},{id:`cursor`,name:`Cursor`,widgets:!0},{id:`vscode`,name:`VS Code (Copilot)`,widgets:!0},{id:`windsurf`,name:`Windsurf`,widgets:!1},{id:`gemini`,name:`Gemini CLI`,widgets:!1},{id:`goose`,name:`Goose`,widgets:!0},{id:`openclaw`,name:`OpenClaw`,widgets:!1},{id:`lm-studio`,name:`LM Studio`,widgets:!1},{id:`claude-ai`,name:`claude.ai`,widgets:!0,oauth:!0},{id:`chatgpt`,name:`ChatGPT`,widgets:!0,oauth:!0}];function B({text:e}){let[t,n]=(0,L.useState)(!1);return(0,R.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg bg-paper-2 p-3`,children:[(0,R.jsx)(`code`,{className:`min-w-0 flex-1 whitespace-pre-wrap break-all font-mono text-[0.75rem] leading-relaxed`,children:e}),(0,R.jsx)(x,{label:g(t?`settings.copied`:`settings.copy`),onClick:async()=>{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1500)},children:t?(0,R.jsx)(c,{className:`size-4`}):(0,R.jsx)(fe,{className:`size-4`})})]})}function st(e){try{let t=new URL(e);return t.protocol===`https:`&&!/(^|\.)localhost$/.test(t.hostname)&&!/^(127\.|10\.|192\.168\.|\[::1\])/.test(t.hostname)}catch{return!1}}function V({children:e}){return(0,R.jsx)(`p`,{className:`text-[0.875rem] text-ink-3`,children:e})}function H({title:e,children:t}){return(0,R.jsxs)(`section`,{className:`flex flex-col gap-2.5 border-border-soft border-t pt-5 first:border-t-0 first:pt-0`,children:[(0,R.jsx)(`h3`,{className:`font-medium text-[0.9375rem]`,children:e}),t]})}function U(e,t){return JSON.stringify({[e]:{[z]:t}},null,2)}function ct({id:e,url:t,apiKey:n}){let r=n?`Authorization: Bearer ${n}`:null,i=n?{headers:{Authorization:`Bearer ${n}`}}:{};switch(e){case`claude-code`:{let e=t.replace(/\/api\/mcp$/,`/api/claude-plugin`);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{children:g(`mcp.terminal`)}),(0,R.jsx)(B,{text:`claude mcp add --transport http --scope user ${z} ${t}${r?` --header "${r}"`:``}`}),!n&&st(t)?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{children:g(`mcp.ccPlugin`)}),(0,R.jsx)(B,{text:`claude plugin marketplace add ${e}/marketplace.json`}),(0,R.jsx)(B,{text:`claude plugin install ${z}@engenty`})]}):null]})}case`codex`:return n?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{children:g(`mcp.codexKey`)}),(0,R.jsx)(B,{text:`echo 'export ${at}=${n}' >> ~/.zshrc && source ~/.zshrc`}),(0,R.jsx)(B,{text:`codex mcp add ${z} --url ${t} --bearer-token-env-var ${at}`})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{children:g(`mcp.terminal`)}),(0,R.jsx)(B,{text:`codex mcp add ${z} --url ${t}`}),(0,R.jsx)(B,{text:`codex mcp login ${z}`})]});case`gemini`:return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{children:g(`mcp.terminal`)}),(0,R.jsx)(B,{text:`gemini mcp add --scope user --transport http ${z} ${t}${r?` -H "${r}"`:``}`})]});case`cursor`:return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{children:g(`integrate.file`,{file:`~/.cursor/mcp.json`})}),(0,R.jsx)(B,{text:U(`mcpServers`,{url:t,...i})})]});case`vscode`:return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{children:g(`integrate.vscode`)}),(0,R.jsx)(B,{text:U(`servers`,{type:`http`,url:t,...i})})]});case`windsurf`:return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{children:g(`integrate.file`,{file:`~/.codeium/windsurf/mcp_config.json`})}),(0,R.jsx)(B,{text:U(`mcpServers`,{serverUrl:t,...i})})]});case`lm-studio`:return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{children:g(`integrate.file`,{file:`~/.lmstudio/mcp.json`})}),(0,R.jsx)(B,{text:U(`mcpServers`,{url:t,...i})})]});case`claude-desktop`:case`claude-ai`:return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{children:g(`mcp.claudeAi`)}),(0,R.jsx)(B,{text:t})]});case`chatgpt`:return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{children:g(`integrate.chatgpt`)}),(0,R.jsx)(B,{text:t})]});default:return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{children:g(`integrate.generic`)}),(0,R.jsx)(B,{text:t}),r?(0,R.jsx)(B,{text:r}):null]})}}function lt(){let e=r(),t=i({queryKey:[`api-keys`],queryFn:()=>D.get(`/api/studio/api-keys`)}),n=N({mutationFn:e=>D.del(`/api/studio/api-keys/${e}`),onSuccess:()=>e.invalidateQueries({queryKey:[`api-keys`]})});return t.data?.length?(0,R.jsxs)(`section`,{children:[(0,R.jsx)(`h2`,{className:`font-display font-semibold text-lg`,children:g(`mcp.keys`)}),(0,R.jsx)(`p`,{className:`mt-1 mb-4 text-[0.875rem] text-ink-3`,children:g(`mcp.keysHint`)}),(0,R.jsx)(b,{className:`flex flex-col gap-2 p-3`,children:t.data.map(e=>(0,R.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg px-3 py-2`,children:[(0,R.jsx)(I,{className:`size-4 shrink-0 text-ink-4`}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`div`,{className:`truncate text-[0.875rem]`,children:e.name}),(0,R.jsxs)(`div`,{className:`font-mono text-[0.6875rem] text-ink-4`,children:[e.start,`… ·`,` `,e.lastRequest?g(`settings.lastUsed`,{when:new Date(e.lastRequest).toLocaleString()}):g(`settings.neverUsed`)]})]}),(0,R.jsx)(x,{label:g(`settings.revoke`),onClick:()=>n.mutate(e.id),className:`hover:text-rose`,children:(0,R.jsx)(ce,{className:`size-4`})})]},e.id))})]}):null}function ut({state:e,title:t,children:n}){return(0,R.jsxs)(`li`,{className:`grid grid-cols-[22px_minmax(0,1fr)] gap-x-3`,children:[(0,R.jsx)(`span`,{className:h(`mt-0.5 grid size-[22px] place-items-center rounded-full`,e===`done`&&`bg-moss text-white`,e===`now`&&`bg-amber-tint text-ink-2`,e===`later`&&`bg-paper-2 ring-1 ring-border-soft`),children:e===`done`?(0,R.jsx)(c,{className:`size-3.5`,strokeWidth:3}):e===`now`?(0,R.jsx)(m,{className:`size-3`}):null}),(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2 pb-4`,children:[(0,R.jsx)(`span`,{className:h(`text-[0.875rem]`,e===`later`?`text-ink-3`:`font-medium`),children:t}),e===`now`?n:null]})]})}function dt({widgets:e}){return(0,R.jsxs)(`p`,{className:`mt-1 flex flex-wrap items-center gap-x-4 gap-y-1 text-[0.8125rem] text-ink-3`,children:[(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,title:g(`integrate.kindMcp`),children:[(0,R.jsx)(Qe,{className:`size-3.5 text-ember-strong`}),(0,R.jsx)(`span`,{className:`font-medium text-ink-2`,children:`MCP`}),` `,g(`integrate.kindMcpShort`)]}),(0,R.jsxs)(`span`,{className:h(`inline-flex items-center gap-1.5`,e?null:`opacity-60`),title:g(e?`integrate.kindApp`:`integrate.kindAppNo`),children:[(0,R.jsx)(pe,{className:h(`size-3.5`,e?`text-ember-strong`:`text-ink-4`)}),(0,R.jsx)(`span`,{className:`font-medium text-ink-2`,children:`MCP App`}),` `,g(e?`integrate.kindAppShort`:`integrate.kindAppNoShort`)]})]})}function ft({at:e,done:t}){let n=[g(`setup.stage.connect`),g(`setup.stage.test`),g(`setup.stage.done`)];return(0,R.jsx)(`ol`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 font-medium text-[0.6875rem] uppercase tracking-[0.14em]`,children:n.map((n,r)=>{let i=t||r<e;return(0,R.jsxs)(`li`,{"aria-current":!i&&r===e?`step`:void 0,className:h(`flex items-center gap-1`,i?`text-moss`:r===e?`text-ember-strong`:`text-ink-4`),children:[i?(0,R.jsx)(c,{className:`size-3`,strokeWidth:3}):null,n]},n)})})}function pt({client:e,local:t,seen:n,managed:i,url:a}){let s=r(),l=st(a),u=!i&&!!t&&!e.oauth,[d,f]=(0,L.useState)(u&&t?.installed!==!1?`here`:`address`),[p,m]=(0,L.useState)(null),[_,v]=(0,L.useState)(),y=N({mutationFn:t=>D.post(`/api/studio/local/apps/${e.id}`,{connect:t}),onSuccess:e=>m(e),onError:e=>m({ok:!1,message:e.message}),onSettled:()=>s.invalidateQueries({queryKey:[`local-apps`]})}),x=N({mutationFn:()=>D.post(`/api/studio/api-keys`,{name:e.name.slice(0,32)}),onSuccess:async e=>{v(e.key),await s.invalidateQueries({queryKey:[`api-keys`]})}}),S=e.oauth===!0||e.id===`claude-desktop`,C=d===`address`&&S&&!(i&&l),w=d===`here`?!!t?.connected:i||!!_,E=!!n?.toolAt,O=E?2:w||n?1:0,ee=e=>(0,R.jsx)(B,{text:e});return(0,R.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-start gap-x-4 gap-y-2`,children:[(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`h2`,{className:`font-display font-semibold text-[1.375rem] leading-tight tracking-tight`,children:e.name}),(0,R.jsx)(dt,{widgets:e.widgets})]}),(0,R.jsx)(ft,{at:O,done:E})]}),(0,R.jsxs)(b,{className:`flex flex-col gap-6 p-3.5 sm:p-5 sm:p-6`,children:[u||!e.oauth?(0,R.jsx)(`fieldset`,{"aria-label":g(`integrate.where`),className:`min-w-0`,children:(0,R.jsx)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:[`here`,`address`].map(e=>{let t=e===`here`&&!u;return(0,R.jsxs)(`button`,{type:`button`,disabled:t,onClick:()=>f(e),"aria-pressed":d===e,className:h(`flex items-start gap-3 rounded-xl px-3.5 py-2.5 text-left ring-1 transition`,d===e?`bg-ember-tint/50 ring-ember-strong/40`:`ring-border-soft hover:bg-accent`,t&&`cursor-not-allowed opacity-50 hover:bg-transparent`),children:[e===`here`?(0,R.jsx)(Je,{className:`mt-0.5 size-4 shrink-0 text-ink-3`}):(0,R.jsx)(re,{className:`mt-0.5 size-4 shrink-0 text-ink-3`}),(0,R.jsxs)(`span`,{className:`min-w-0`,children:[(0,R.jsx)(`span`,{className:`block font-medium text-[0.875rem]`,children:g(e===`here`?`integrate.here`:`integrate.address`)}),(0,R.jsx)(`span`,{className:`block text-[0.75rem] text-ink-3`,children:g(e===`here`?i?`integrate.hereManaged`:`integrate.hereHint`:`integrate.addressHint`)})]})]},e)})})}):null,C?(0,R.jsx)(H,{title:g(`mcp.notHere`),children:(0,R.jsx)(V,{children:g(i?`mcp.needsPublic`:`integrate.oauthLocal`)})}):d===`here`?(0,R.jsxs)(H,{title:g(`integrate.connectTitle`),children:[t?.installed===!1&&!t.connected?(0,R.jsx)(V,{children:g(`integrate.notInstalled`,{app:e.name})}):null,t?.connected?(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,R.jsxs)(`span`,{className:`flex items-center gap-2 text-[0.875rem] text-ink-2`,children:[(0,R.jsx)(c,{className:`size-4 text-moss`}),g(`integrate.connected`,{app:e.name})]}),(0,R.jsx)(T,{size:`sm`,variant:`ghost`,busy:y.isPending&&y.variables===!1,onClick:()=>y.mutate(!1),children:g(`mcp.appsDisconnect`)})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{children:g(`integrate.connectHint`,{app:e.name})}),(0,R.jsx)(`div`,{children:(0,R.jsxs)(T,{busy:y.isPending,onClick:()=>y.mutate(!0),children:[(0,R.jsx)(o,{className:`size-4`}),` `,g(`integrate.connect`,{app:e.name})]})})]}),p&&!p.ok?(0,R.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:p.message}):null,p?.snippet?(0,R.jsx)(B,{text:p.snippet}):null,t?.where?(0,R.jsx)(`p`,{className:`font-mono text-[0.6875rem] text-ink-4`,children:t.where}):null]}):(0,R.jsxs)(R.Fragment,{children:[i||S?null:(0,R.jsx)(H,{title:g(`mcp.keyTitle`),children:_?(0,R.jsxs)(`p`,{className:`flex items-center gap-2 text-[0.875rem] text-ink-2`,children:[(0,R.jsx)(c,{className:`size-4 text-moss`}),` `,g(`mcp.keyReady`)]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{children:g(`mcp.keyHint`)}),(0,R.jsx)(`div`,{children:(0,R.jsxs)(T,{variant:`secondary`,busy:x.isPending,onClick:()=>x.mutate(),children:[(0,R.jsx)(o,{className:`size-4`}),` `,g(`mcp.keyCreate`,{client:e.name})]})})]})}),(0,R.jsxs)(H,{title:g(`mcp.add`),children:[i||_||S?(0,R.jsx)(ct,{id:e.id,url:a,apiKey:_}):(0,R.jsx)(V,{children:g(`mcp.keyFirst`)}),i?(0,R.jsx)(V,{children:g(`mcp.oauth`)}):null,(0,R.jsx)(`p`,{className:`text-[0.75rem] text-ink-4`,children:g(l?`mcp.addressPublic`:`mcp.addressLocal`)})]})]}),C?null:(0,R.jsxs)(H,{title:g(`integrate.test`),children:[(0,R.jsxs)(`ol`,{className:`flex flex-col`,children:[(0,R.jsx)(ut,{state:n?`done`:w?`now`:`later`,title:g(`integrate.seen`,{app:e.name}),children:(0,R.jsx)(V,{children:g(d===`here`?`integrate.restart`:`integrate.reload`,{app:e.name})})}),(0,R.jsxs)(ut,{state:n?.toolAt?`done`:n?`now`:`later`,title:g(`integrate.tool`),children:[(0,R.jsx)(V,{children:g(`integrate.askHint`,{app:e.name})}),ee(g(`integrate.askTool`))]}),e.widgets?(0,R.jsxs)(ut,{state:n?.widgetAt?`done`:n?.toolAt?`now`:`later`,title:g(`integrate.widget`),children:[(0,R.jsx)(V,{children:g(`integrate.widgetHint`)}),ee(g(`integrate.askWidget`))]}):null]}),E?(0,R.jsxs)(`p`,{className:`flex items-center gap-2 font-medium text-[0.875rem] text-moss`,children:[(0,R.jsx)(c,{className:`size-4`,strokeWidth:3}),g(`integrate.works`,{app:e.name})]}):null]})]})]})}function mt(){let e=Te(),t=e.data?.mode===`managed`,n=i({queryKey:[`local-apps`],queryFn:()=>D.get(`/api/studio/local/apps`),enabled:e.data?.mode===`local`}),r=i({queryKey:[`integrations-seen`],queryFn:()=>D.get(`/api/studio/integrations/seen`),refetchInterval:2500}),[a,o]=E(),{narrow:s}=Ae(),c=a.get(`show`),l=e=>n.data?.find(t=>t.id===e),u=e=>r.data?.[e],d=e=>{let t=l(e);return t?.installed||t?.connected?0:1},f=[...ot].sort((e,t)=>d(e.id)-d(t.id)),p=f.find(e=>e.id===c)??f[0];if(Me(c||!s?p.name:null),!e.data||!t&&!n.data)return null;let m=e.data.mcpUrl??``,h=e=>{let t=l(e);return u(e)?.toolAt?{tone:`done`,toneLabel:g(`integrate.stateWorks`)}:t?.connected?{tone:`on`,toneLabel:g(`integrate.stateConnected`)}:t?.installed?{tone:`off`,toneLabel:g(`integrate.stateInstalled`)}:{}},_=e=>!(!c&&s)&&e===p.id;return(0,R.jsxs)(`div`,{className:`flex flex-col gap-10`,children:[(0,R.jsxs)(Re,{children:[(0,R.jsx)(F,{label:g(`integrate.groupApps`),children:f.map(e=>(0,R.jsx)(P,{icon:e.widgets?pe:Qe,label:e.name,...h(e.id),selected:_(e.id),onPick:()=>o({show:e.id},{replace:!s})},e.id))}),(0,R.jsxs)(F,{label:g(`integrate.groupShare`),children:[(0,R.jsx)(P,{icon:se,label:g(`integrate.shareLink`),badge:(0,R.jsx)(`span`,{className:`text-[0.6875rem] text-ink-4`,children:g(`integrate.soon`)}),selected:!1,disabled:!0}),(0,R.jsx)(P,{icon:re,label:g(`integrate.shareSite`),badge:(0,R.jsx)(`span`,{className:`text-[0.6875rem] text-ink-4`,children:g(`integrate.soon`)}),selected:!1,disabled:!0})]})]}),(0,R.jsx)(pt,{client:p,local:l(p.id),seen:u(p.id),managed:t,url:m},p.id),t?null:(0,R.jsx)(lt,{}),(0,R.jsxs)(`p`,{className:`flex items-start gap-2 text-[0.8125rem] text-ink-3`,children:[(0,R.jsx)(se,{className:`mt-0.5 size-3.5 shrink-0`}),g(`mcp.notReverse`)]})]})}var ht=[`text`,`image`,`video`,`speech`,`listening`],gt={text:[`classifier`,`standard`,`high`,`highest`],image:[`image`],video:[`video`],speech:[`speech`],listening:[`audio`]},_t=`credits`,vt=`${_t}:`;function yt(e){return e===`credits`||!!e?.startsWith(vt)}function bt(e){return e?.startsWith(vt)&&e.slice(vt.length)||null}function xt(e){return e?`${vt}${e}`:_t}function St(e){return e===`transcription`?`listening`:e}var Ct=[`openai`,`anthropic`,`google`,`fal`,`elevenlabs`,`replicate`,`gateway`],W=(e,t)=>({de:e,en:t}),G=[{id:`openai`,name:`OpenAI`,about:W(`GPT-Modelle, GPT Image und Stimmen.`,`GPT models, GPT Image and voices.`),keyUrl:`https://platform.openai.com/api-keys`,keyPlaceholder:`sk-…`,text:{classifier:`openai:gpt-5.4-mini`,standard:`openai:gpt-5.4-mini`,high:`openai:gpt-5.5`,highest:`openai:gpt-5.5`},models:{text:[{ref:`openai:gpt-5.4-mini`,label:`GPT-5.4 mini`,note:W(`schnell`,`fast`)},{ref:`openai:gpt-5.5`,label:`GPT-5.5`,note:W(`gründlich`,`thorough`)}],image:[{ref:`openai:gpt-image-2`,label:`GPT Image 2`,note:W(`vielseitig`,`versatile`)},{ref:`openai:gpt-image-1-mini`,label:`GPT Image 1 mini`,note:W(`günstig`,`low cost`)}],speech:[{ref:`openai:gpt-4o-mini-tts`,label:`GPT-4o mini TTS`,note:W(`günstig`,`low cost`)}],listening:[{ref:`openai:gpt-4o-mini-transcribe`,label:`GPT-4o mini Transcribe`,note:W(`schnell, günstig`,`fast, low cost`)},{ref:`openai:whisper-1`,label:`Whisper`}]}},{id:`anthropic`,name:`Anthropic`,about:W(`Die Claude-Modelle.`,`The Claude models.`),keyUrl:`https://console.anthropic.com/settings/keys`,keyPlaceholder:`sk-ant-…`,text:{classifier:`anthropic:claude-haiku-4-5`,standard:`anthropic:claude-haiku-4-5`,high:`anthropic:claude-sonnet-5-5`,highest:`anthropic:claude-opus-5-5`},models:{text:[{ref:`anthropic:claude-haiku-4-5`,label:`Claude Haiku 4.5`,note:W(`schnell`,`fast`)},{ref:`anthropic:claude-sonnet-5-5`,label:`Claude Sonnet 5.5`},{ref:`anthropic:claude-opus-5-5`,label:`Claude Opus 5.5`,note:W(`am stärksten`,`strongest`)}]}},{id:`google`,name:`Google Gemini`,about:W(`Gemini, Veo für Videos und Stimmen – ein Key aus dem AI Studio.`,`Gemini, Veo for video and voices – one key from AI Studio.`),keyUrl:`https://aistudio.google.com/apikey`,keyPlaceholder:`AIza…`,text:{classifier:`google:gemini-flash-lite-latest`,standard:`google:gemini-flash-latest`,high:`google:gemini-pro-latest`,highest:`google:gemini-pro-latest`},models:{text:[{ref:`google:gemini-flash-lite-latest`,label:`Gemini Flash-Lite`,note:W(`günstig`,`low cost`)},{ref:`google:gemini-flash-latest`,label:`Gemini Flash`},{ref:`google:gemini-pro-latest`,label:`Gemini Pro`,note:W(`gründlich`,`thorough`)}],image:[{ref:`google:gemini-3.1-flash-image-preview`,label:`Gemini 3.1 Flash Image`,note:W(`schnell, bearbeitet Fotos`,`fast, edits photos`)},{ref:`google:gemini-3-pro-image-preview`,label:`Gemini 3 Pro Image`,note:W(`beste Qualität`,`best quality`)}],video:[{ref:`google:veo-3.1-fast-generate-preview`,label:`Veo 3.1 Fast`,note:W(`mit Ton`,`with sound`)},{ref:`google:veo-3.1-generate-preview`,label:`Veo 3.1`,note:W(`beste Qualität`,`best quality`)}],speech:[{ref:`google:gemini-3.8-flash-tts`,label:`Gemini Flash TTS`}],listening:[{ref:`google:gemini-flash-lite-latest`,label:`Gemini Flash-Lite`}]}},{id:`fal`,name:`fal.ai`,about:W(`Hunderte Bild-, Video- und Audio-Modelle mit einem Key: FLUX, Recraft, Veo, Luma, MiniMax.`,`Hundreds of image, video and audio models with one key: FLUX, Recraft, Veo, Luma, MiniMax.`),keyUrl:`https://fal.ai/dashboard/keys`,keyPlaceholder:`xxxxxxxx-…:…`,models:{image:[{ref:`fal:fal-ai/flux/schnell`,label:`FLUX.1 schnell`,note:W(`schnell, günstig`,`fast, low cost`)},{ref:`fal:fal-ai/flux-pro/v1.1`,label:`FLUX 1.1 pro`,note:W(`hohe Qualität`,`high quality`)},{ref:`fal:fal-ai/recraft/v3/text-to-image`,label:`Recraft V3`,note:W(`Grafiken, Logos, Text im Bild`,`graphics, logos, text in images`)},{ref:`fal:fal-ai/imagen4/preview`,label:`Imagen 4`,note:W(`fotorealistisch`,`photorealistic`)}],video:[{ref:`fal:veo3/fast`,label:`Veo 3 Fast`,note:W(`mit Ton`,`with sound`)},{ref:`fal:luma-ray-2-flash`,label:`Luma Ray 2 Flash`,note:W(`schnell`,`fast`)},{ref:`fal:minimax-video`,label:`MiniMax Hailuo`}],speech:[{ref:`fal:fal-ai/minimax/speech-02-turbo`,label:`MiniMax Speech-02 Turbo`,note:W(`schnell`,`fast`)},{ref:`fal:fal-ai/minimax/speech-02-hd`,label:`MiniMax Speech-02 HD`}],listening:[{ref:`fal:wizper`,label:`Wizper`,note:W(`schnell`,`fast`)},{ref:`fal:whisper`,label:`Whisper`}]}},{id:`elevenlabs`,name:`ElevenLabs`,about:W(`Natürliche Stimmen in vielen Sprachen und genaue Transkripte.`,`Natural voices in many languages and accurate transcripts.`),keyUrl:`https://elevenlabs.io/app/settings/api-keys`,keyPlaceholder:`sk_…`,models:{speech:[{ref:`elevenlabs:eleven_multilingual_v2`,label:`Multilingual v2`,note:W(`natürlich, viele Sprachen`,`natural, many languages`)},{ref:`elevenlabs:eleven_flash_v2_5`,label:`Flash v2.5`,note:W(`schnell, günstig`,`fast, low cost`)},{ref:`elevenlabs:eleven_v3`,label:`Eleven v3`,note:W(`ausdrucksstark`,`expressive`)}],listening:[{ref:`elevenlabs:scribe_v2`,label:`Scribe v2`,note:W(`sehr genau`,`very accurate`)}]}},{id:`replicate`,name:`Replicate`,about:W(`Offene Bild- und Video-Modelle, abgerechnet pro Lauf.`,`Open image and video models, billed per run.`),keyUrl:`https://replicate.com/account/api-tokens`,keyPlaceholder:`r8_…`,models:{image:[{ref:`replicate:black-forest-labs/flux-schnell`,label:`FLUX.1 schnell`,note:W(`schnell, günstig`,`fast, low cost`)},{ref:`replicate:black-forest-labs/flux-1.1-pro`,label:`FLUX 1.1 pro`},{ref:`replicate:recraft-ai/recraft-v3`,label:`Recraft V3`}],video:[{ref:`replicate:minimax/video-01`,label:`MiniMax Video-01`}]}},{id:`gateway`,name:`Vercel AI Gateway`,about:W(`Ein Key für die Modelle vieler Anbieter, abgerechnet bei Vercel.`,`One key for many providers' models, billed by Vercel.`),keyUrl:`https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai-gateway%2Fapi-keys`,keyPlaceholder:`vck_…`,text:{classifier:`anthropic/claude-haiku-4.5`,standard:`anthropic/claude-haiku-4.5`,high:`anthropic/claude-sonnet-5.5`,highest:`anthropic/claude-sonnet-5.5`},models:{text:[{ref:`anthropic/claude-haiku-4.5`,label:`Claude Haiku 4.5`,note:W(`schnell`,`fast`)},{ref:`anthropic/claude-sonnet-5.5`,label:`Claude Sonnet 5.5`},{ref:`openai/gpt-5.5`,label:`GPT-5.5`},{ref:`google/gemini-3.5-flash`,label:`Gemini 3.5 Flash`}],image:[{ref:`google/gemini-3.1-flash-image`,label:`Gemini 3.1 Flash Image`}],video:[{ref:`google/veo-3.1-fast-generate-001`,label:`Veo 3.1 Fast`,note:W(`mit Ton`,`with sound`)}],speech:[{ref:`google/gemini-3.8-flash-tts`,label:`Gemini Flash TTS`}],listening:[{ref:`google/gemini-3.5-flash-lite`,label:`Gemini 3.5 Flash-Lite`}]}}];function K(e){return G.find(t=>t.id===e)??null}function wt(e){if(yt(e))return null;let t=/^([a-z]+):/.exec(e)?.[1];return t?Ct.includes(t)?t:null:e?.includes(`/`)?`gateway`:null}function q(e){for(let t of G)for(let n of Object.values(t.models)){let t=n?.find(t=>t.ref===e);if(t)return t.label}return e.replace(/^[a-z]+:/,``)}function Tt(e,t){let n=t===`auto`?e.mode===`managed`:t===`cloud`,r=t===`auto`||t===`linked`?e.account??(t===`linked`?{name:e.user.name,email:e.user.email,credits:1250,expiring:[],url:``,cloudUrl:``,signedIn:!0}:null):null;return{cloud:n,account:n?null:r,credits:n||!!r?.signedIn,balance:n?e.credits??(t===`cloud`?1250:null):r?.credits??null,topUp:me(e),harnesses:n?[]:e.harnesses,canEdit:!n||e.tenant.role!==`member`,ownKeys:!n||e.features.ownKeys!==!1}}var J={text:le,image:te,video:A,speech:ie,listening:Ue},Y={text:`standard`,image:`image`,video:`video`,speech:`speech`,listening:`audio`},X=e=>e===`text`,Et=(e,t)=>e?.[t]??``;function Dt(e,t){return JSON.stringify(e)===JSON.stringify(t)}function Ot(e,t,n){let r=Y[t];if(X(t)&&!n.cloud){if(e.source===`account`)return{kind:`credits`};if(e.source!==`own`)return{kind:`client`,id:e.source}}let i=e.bindings[r];if(yt(i))return{kind:`credits`};if(i?.startsWith(`ollama:`))return{kind:`local`};let a=i?wt(i):null;if(a)return{kind:`key`,provider:a};if(i&&/^(claude|codex|gemini|cursor)\//.test(i))return{kind:`client`,id:i.split(`/`)[0]};let o=e.ways[r];switch(o.kind){case`client`:return{kind:`client`,id:o.by};case`key`:return K(o.by??``)?{kind:`key`,provider:o.by}:null;case`local`:return{kind:`local`};case`credits`:return{kind:`credits`};default:return null}}function kt(e,t,n){if(X(t)&&e.text)return e.text;let r=Y[t],i=n.bindings[r],a=i&&wt(i)===e.id?i:e.models[t]?.[0]?.ref;return a?{[r]:a}:{}}function At(e){return e.version===null?{note:g(`models.noteMissing`),noteTone:`warn`}:e.auth===`none`?{note:g(`models.noteSignedOut`),noteTone:`warn`}:e.auth===`api_key`?{note:g(`models.noteShellKey`)}:{note:g(`models.noteIncluded`),noteTone:`done`}}function jt(e,t){switch(e.kind){case`client`:return{text:t.harnesses.find(t=>t.id===e.by)?.name??e.by??``,tone:`done`};case`key`:return{text:K(e.by??``)?.name??e.by??``,tone:`done`};case`local`:return{text:g(`models.way.local`),tone:`done`};case`credits`:return{text:t.cloud?g(`models.way.creditsTeam`):g(`models.way.credits`),tone:`ok`};default:return{text:g(`models.way.none`),tone:`warn`}}}function Mt(){return i({queryKey:[`models`],queryFn:()=>D.get(`/api/studio/models`)})}function Z(){let e=r();return N({mutationFn:e=>D.put(`/api/studio/models`,e),onSuccess:async t=>{e.setQueryData([`models`],t),await e.invalidateQueries({queryKey:[`me`]})}})}function Q({title:e,aside:t,children:n}){return(0,R.jsxs)(`section`,{className:`flex flex-col gap-3 border-border-soft border-t pt-5 first:border-t-0 first:pt-0`,children:[(0,R.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,R.jsx)(`h3`,{className:`font-medium text-[0.875rem]`,children:e}),t]}),n]})}function $({children:e}){return(0,R.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:e})}function Nt({text:e,tone:t}){return(0,R.jsxs)(`span`,{className:h(`inline-flex h-7 shrink-0 items-center gap-1.5 rounded-full px-3 font-medium text-[0.75rem]`,t===`done`&&`bg-moss-tint text-moss`,t===`ok`&&`bg-amber-tint text-ink-2`,t===`warn`&&`bg-paper-2 text-ink-3`),children:[t===`done`?(0,R.jsx)(c,{className:`size-3.5`,strokeWidth:3}):null,t===`ok`?(0,R.jsx)(j,{className:`size-3.5`}):null,t===`warn`?(0,R.jsx)(k,{className:`size-3.5`}):null,e]})}function Pt({icon:e,title:t,lead:n,status:r}){return(0,R.jsxs)(`div`,{className:`flex items-start gap-3 sm:gap-4`,children:[(0,R.jsx)(`span`,{className:`grid size-10 shrink-0 place-items-center rounded-xl bg-ember-tint text-ember-strong`,children:(0,R.jsx)(e,{className:`size-5`})}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,R.jsx)(`h2`,{className:`font-display font-semibold text-[1.375rem] leading-tight tracking-tight`,children:t}),r]}),(0,R.jsx)(`p`,{className:`mt-0.5 text-[0.875rem] text-ink-3`,children:n})]})]})}function Ft({label:e,children:t}){return(0,R.jsxs)(`div`,{className:`grid items-start gap-x-4 gap-y-1.5 sm:grid-cols-[7.5rem_minmax(0,1fr)]`,children:[(0,R.jsx)(`span`,{className:`pt-2 text-[0.75rem] text-ink-3`,children:e}),(0,R.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:t})]})}function It({selected:e,title:t,note:n,noteTone:r,disabled:i,onPick:a}){return(0,R.jsxs)(`button`,{type:`button`,onClick:a,disabled:i,"aria-pressed":e,title:n,className:h(`inline-flex h-9 items-center gap-1.5 rounded-full border px-3.5 text-[0.8125rem] transition coarse:h-11`,e?`border-ember bg-ember-tint font-medium text-ink`:r===`done`?`border-input bg-card text-ink hover:border-ink-4`:`border-border-soft border-dashed text-ink-3 hover:border-ink-4 hover:text-ink`,i&&`cursor-not-allowed opacity-50`),children:[r===`done`?(0,R.jsx)(c,{className:`size-3.5 text-moss`,strokeWidth:3}):null,t,(0,R.jsxs)(`span`,{className:`sr-only`,children:[`: `,n]})]})}function Lt({provider:e,stored:t,place:n}){let r=Z(),[i,a]=(0,L.useState)(``),[o,s]=(0,L.useState)(!1),[l,u]=(0,L.useState)(null),d=N({mutationFn:t=>D.post(`/api/studio/models/keys/${e.id}/check`,t?{key:t}:{})}),f=async()=>{u(null);let t=await d.mutateAsync(i.trim());if(!t.ok){u({ok:!1,message:t.message??g(`models.keyBad`)});return}await r.mutateAsync({keys:{[e.id]:i.trim()}}),a(``),s(!1),u({ok:!0,message:g(`models.keyOk`)})},p=!t||o;return n.ownKeys?(0,R.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[p?(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsx)(w,{type:`password`,autoComplete:`off`,className:`min-w-0 flex-1 font-mono text-[0.8125rem]`,placeholder:e.keyPlaceholder,value:i,disabled:!n.canEdit,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`&&i.trim()&&f()}}),(0,R.jsx)(T,{busy:d.isPending||r.isPending,disabled:!i.trim()||!n.canEdit,onClick:()=>void f(),children:g(`models.keySave`)}),o?(0,R.jsx)(T,{variant:`ghost`,onClick:()=>s(!1),children:g(`common.cancel`)}):null]}):(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-2`,children:[(0,R.jsxs)(`span`,{className:`flex items-center gap-2 text-[0.875rem] text-ink-2`,children:[(0,R.jsx)(I,{className:`size-4 text-moss`}),` `,g(`models.keyStored`)]}),(0,R.jsx)(T,{size:`sm`,variant:`ghost`,busy:d.isPending,onClick:async()=>{let e=await d.mutateAsync(void 0);u(e.ok?{ok:!0,message:g(`models.keyOk`)}:{ok:!1,message:e.message??g(`models.keyBad`)})},children:g(`models.keyCheck`)}),n.canEdit?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(T,{size:`sm`,variant:`ghost`,onClick:()=>s(!0),children:g(`models.keyReplace`)}),(0,R.jsx)(T,{size:`sm`,variant:`danger`,busy:r.isPending,onClick:()=>{u(null),r.mutate({keys:{[e.id]:``}})},children:g(`models.keyRemove`)})]}):null]}),l?(0,R.jsxs)(`p`,{className:h(`flex items-center gap-1.5 text-[0.8125rem]`,l.ok?`text-moss`:`text-rose`),children:[l.ok?(0,R.jsx)(c,{className:`size-3.5`,strokeWidth:3}):null,l.message]}):null,(0,R.jsxs)(`p`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 text-[0.75rem] text-ink-4`,children:[(0,R.jsxs)(`button`,{type:`button`,onClick:()=>Oe(e.keyUrl),className:`inline-flex items-center gap-1 font-medium text-ember-strong hover:underline`,children:[g(`models.keyGet`,{name:e.name}),` `,(0,R.jsx)(M,{className:`size-3`})]}),(0,R.jsx)(`span`,{children:n.cloud?g(`models.keyWhereCloud`):g(`models.keyWhereLocal`)})]})]}):(0,R.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:g(`models.ownKeysPlan`)})}var Rt=`__custom__`;function zt({provider:e,cap:t,value:n,onPick:r,disabled:i}){let a=_,o=e.models[t]??[],s=o.some(e=>e.ref===n),[c,l]=(0,L.useState)(!s&&!!n),[u,d]=(0,L.useState)(s?``:n.replace(/^[a-z]+:/,``)),p=e.id===`gateway`?``:`${e.id}:`;return(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsx)(f,{value:c?Rt:n,onChange:e=>{if(e===Rt){l(!0);return}l(!1),r(e)},options:[...o.map(e=>({value:e.ref,label:e.note?`${e.label} – ${Et(e.note,a)}`:e.label})),{value:Rt,label:g(`models.modelCustom`)}]}),c?(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsx)(w,{className:`min-w-0 flex-1 font-mono text-[0.8125rem]`,value:u,disabled:i,placeholder:o[0]?.ref.replace(/^[a-z]+:/,``)??``,onChange:e=>d(e.target.value)}),(0,R.jsx)(T,{variant:`secondary`,disabled:!u.trim()||i,onClick:()=>r(`${p}${u.trim()}`),children:g(`settings.save`)})]}):null]})}function Bt({provider:e,state:t}){let n=n=>q(t.bindings[n]??e.text?.[n]??``);return(0,R.jsxs)(`dl`,{className:`grid grid-cols-[auto_minmax(0,1fr)] gap-x-4 gap-y-1 text-[0.875rem]`,children:[(0,R.jsx)(`dt`,{className:`text-ink-3`,children:g(`models.textSimple`)}),(0,R.jsx)(`dd`,{className:`truncate font-medium`,children:n(`standard`)}),(0,R.jsx)(`dt`,{className:`text-ink-3`,children:g(`models.textDemanding`)}),(0,R.jsx)(`dd`,{className:`truncate font-medium`,children:n(`high`)})]})}function Vt({provider:e,state:t,onPick:n,disabled:r}){return(0,R.jsxs)(`details`,{className:`group rounded-lg ring-1 ring-border-soft`,children:[(0,R.jsx)(`summary`,{className:`cursor-pointer list-none px-3 py-2.5 text-[0.8125rem] text-ink-2 hover:text-ink`,children:(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,R.jsx)(O,{className:`size-3.5 transition group-open:rotate-90`}),g(`models.perClass`)]})}),(0,R.jsx)(`div`,{className:`flex flex-col gap-3 px-3 pt-1 pb-3`,children:De.map(i=>(0,R.jsxs)(`div`,{className:`grid items-center gap-2 sm:grid-cols-[9rem_minmax(0,1fr)]`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`text-[0.8125rem] text-ink-2`,children:g(`class.${i}`)}),(0,R.jsx)(`div`,{className:`text-[0.6875rem] text-ink-4 leading-snug`,children:g(`class.${i}.hint`)})]}),(0,R.jsx)(zt,{provider:e,cap:`text`,value:t.bindings[i]??e.text?.[i]??``,disabled:r,onPick:e=>n(i,e)})]},i))})]})}function Ht({cap:e,disabled:t}){let n=Y[e],r=N({mutationFn:()=>D.post(`/api/studio/models/test`,{cls:n,lang:_})}),i=r.data;return(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,R.jsx)(T,{variant:`secondary`,busy:r.isPending,disabled:t,onClick:()=>r.mutate(),children:g(`models.try.${e}`)}),(0,R.jsx)(`span`,{className:`text-[0.75rem] text-ink-4`,children:e===`video`?g(`models.tryCostVideo`):X(e)?null:g(`models.tryCost`)})]}),r.isPending&&e!==`text`?(0,R.jsxs)(`p`,{className:`flex items-center gap-2 text-[0.8125rem] text-ink-3`,children:[(0,R.jsx)(m,{className:`size-3.5`}),` `,g(e===`video`?`models.tryWaitVideo`:`models.tryWait`)]}):null,i?.ok?(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[i.media&&e===`image`?(0,R.jsx)(`img`,{src:i.media,alt:``,className:`size-48 rounded-lg object-cover ring-1 ring-border-soft`}):null,i.media&&e===`speech`?(0,R.jsx)(`audio`,{src:i.media,controls:!0,autoPlay:!0,className:`w-full max-w-sm`}):null,i.media&&e===`video`?(0,R.jsx)(`video`,{src:i.media,controls:!0,autoPlay:!0,muted:!0,className:`w-full max-w-md rounded-lg`}):null,(0,R.jsxs)(`p`,{className:`flex items-start gap-2 text-[0.8125rem] text-ink-2`,children:[(0,R.jsx)(c,{className:`mt-0.5 size-3.5 shrink-0 text-moss`,strokeWidth:3}),(0,R.jsx)(`span`,{children:e===`listening`?i.reply?g(`models.tryHeard`,{text:i.reply}):g(`models.tryHeardNothing`):X(e)?g(`local.testOk`,{s:(i.ms/1e3).toFixed(1),ref:q(i.ref??``),reply:i.reply??``}):g(`models.tryOk`,{s:(i.ms/1e3).toFixed(1),model:q(i.ref??``)})})]})]}):null,i&&!i.ok?(0,R.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:g(`models.tryFailed`,{error:i.error??``})}):null,r.isError?(0,R.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:g(`models.tryFailed`,{error:r.error.message})}):null]})}function Ut(e){let t=e=>(e<10?Math.round(e*10)/10:Math.ceil(e)).toLocaleString();return e?.creditsPerImage?g(`models.notePerImage`,{n:t(e.creditsPerImage)}):e?.creditsPerSecond?g(`models.notePerSecond`,{n:t(e.creditsPerSecond)}):e?.creditsPer1kCharacters?g(`models.notePer1k`,{n:t(e.creditsPer1kCharacters)}):e?.creditsPerMinute?g(`models.notePerMinute`,{n:t(e.creditsPerMinute)}):g(`models.noteUsage`)}function Wt(e,t){let n=bt(t.bindings[Y[e]]);return Ut((n?t.creditModels.find(e=>e.id===n):null)??t.prices?.[Y[e]])}function Gt(e,t,n){return e.creditModels.filter(e=>St(e.kind)===t&&(!n||e.source===n||e.provider===n))}function Kt({cap:e,state:t,disabled:n}){let r=Z(),i=Y[e],a=bt(t.bindings[i]),o=Gt(t,e),s=t.prices?.[i]?.model,c=e=>e.source===`ai-gateway`?K(e.provider)?.name??e.provider:K(e.source)?.name??e.source;return(0,R.jsx)(f,{value:a??``,onChange:e=>r.mutate({bindings:{[i]:xt(e||null)}}),options:[{value:``,label:s?g(`models.creditsAuto`,{model:q(s)}):g(`models.creditsAutoNone`)},...o.map(e=>({value:e.id,label:`${e.name} · ${c(e)} – ${Ut(e)}`,disabled:n}))]})}function qt({models:e,state:t,place:n}){let r=Z();return(0,R.jsx)(`ul`,{className:`flex flex-col divide-y divide-border-soft`,children:e.map(e=>{let i=St(e.kind),a=Y[i],o=t.bindings[a]===xt(e.id);return(0,R.jsxs)(`li`,{className:`flex flex-wrap items-center gap-3 py-2.5`,children:[(0,R.jsx)(j,{className:`size-4 shrink-0 text-ink-3`}),(0,R.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`span`,{className:`block font-medium text-[0.875rem]`,children:e.name}),(0,R.jsxs)(`span`,{className:`block text-[0.75rem] text-ink-3`,children:[g(`models.cap.${i}`),` · `,Ut(e)]})]}),o?(0,R.jsxs)(`span`,{className:`flex items-center gap-1 font-medium text-[0.75rem] text-moss`,children:[(0,R.jsx)(c,{className:`size-3.5`,strokeWidth:3}),` `,g(`models.inUse`)]}):(0,R.jsx)(T,{size:`sm`,variant:`secondary`,disabled:!n.canEdit||!n.credits,busy:r.isPending&&r.variables?.bindings?.[a]===xt(e.id),onClick:()=>r.mutate({bindings:{[a]:xt(e.id)}}),children:g(`models.useFor`)})]},e.id)})})}function Jt({cap:e,state:t,place:n,me:r,onOpen:i}){let a=Z(),o=Y[e],s=t.ways[o],c=Ot(t,e,n),[l,u]=(0,L.useState)(!1),d=jt(s,n),f=n.harnesses.filter(t=>(X(e)||e===`image`&&t.images)&&(t.version!==null||c?.kind===`client`&&c.id===t.id)),p=G.filter(t=>t.models[e]?.length),m=r=>{if(u(!1),r.kind===`credits`&&!n.credits){u(!0);return}if(Dt(r,c))return;let i=gt[e],s=e=>Object.fromEntries(i.map(t=>[t,e]));switch(r.kind){case`client`:a.mutate(X(e)?{source:r.id}:{bindings:{[o]:`${r.id}/image`}});return;case`key`:{let i=K(r.provider);a.mutate({...X(e)&&!n.cloud?{source:`own`}:{},bindings:kt(i,e,t)});return}case`local`:a.mutate({source:`own`,bindings:s(`ollama:qwen3`)});return;case`credits`:a.mutate(X(e)&&!n.cloud?{source:`account`}:{bindings:s(_t)});return}},h=c?.kind===`key`?K(c.provider):null,_=h?!t.keys[h.id]:!1,y=c?.kind===`client`?n.harnesses.find(e=>e.id===c.id):null,x=s.kind!==`none`;return(0,R.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,R.jsx)(Pt,{icon:J[e],title:g(`models.cap.${e}`),lead:g(`models.cap.${e}.hint`),status:(0,R.jsx)(Nt,{...d})}),(0,R.jsxs)(b,{className:`flex flex-col gap-6 p-3.5 sm:p-5 sm:p-6`,children:[(0,R.jsxs)(Q,{title:g(`models.who`),children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[f.length?(0,R.jsx)(Ft,{label:g(`models.optSubscription`),children:f.map(e=>(0,R.jsx)(It,{title:e.name,...At(e),selected:c?.kind===`client`&&c.id===e.id,disabled:!n.canEdit,onPick:()=>m({kind:`client`,id:e.id})},e.id))}):null,(0,R.jsx)(Ft,{label:g(`models.optKey`),children:p.map(e=>(0,R.jsx)(It,{title:e.name,note:t.keys[e.id]?g(`models.noteKey`):g(`models.noteNoKey`),noteTone:t.keys[e.id]?`done`:void 0,selected:c?.kind===`key`&&c.provider===e.id,disabled:!n.canEdit,onPick:()=>m({kind:`key`,provider:e.id})},e.id))}),(0,R.jsxs)(Ft,{label:X(e)&&!n.cloud?g(`models.optOther`):g(`models.optCreditsGroup`),children:[X(e)&&!n.cloud?(0,R.jsx)(It,{title:g(`models.optLocal`),note:g(`models.optLocalNote`),selected:c?.kind===`local`,disabled:!n.canEdit,onPick:()=>m({kind:`local`})}):null,(0,R.jsx)(It,{title:n.cloud?g(`models.creditsTeam`):g(`models.creditsName`),note:n.credits?Wt(e,t):g(`models.noteNeedsAccount`),noteTone:n.credits?`done`:void 0,selected:c?.kind===`credits`,disabled:!n.canEdit,onPick:()=>m({kind:`credits`})})]})]}),l?(0,R.jsxs)(`p`,{className:`text-[0.8125rem] text-ink-2`,children:[g(`local.sourceNeedsAccount`),` `,(0,R.jsx)($t,{})]}):null,a.isError?(0,R.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:a.error.message}):null]}),h?(0,R.jsxs)(R.Fragment,{children:[_?(0,R.jsxs)(Q,{title:g(`models.keyFor`,{name:h.name}),children:[(0,R.jsx)(Lt,{provider:h,stored:!1,place:n}),n.credits?(0,R.jsxs)($,{children:[(0,R.jsx)(j,{className:`mr-1 inline size-3.5 align-[-2px]`}),g(`models.keyFallback`)]}):null]}):null,_&&n.credits&&Gt(t,e,h.id).length?(0,R.jsx)(Q,{title:g(`models.viaCredits`,{name:h.name}),children:(0,R.jsx)(qt,{models:Gt(t,e,h.id),state:t,place:n})}):null,(0,R.jsx)(Q,{title:g(`models.model`),aside:_?null:(0,R.jsx)(`button`,{type:`button`,onClick:()=>i({type:`provider`,id:h.id}),className:`text-[0.75rem] text-ink-3 hover:text-ink`,children:g(`models.manageKey`,{name:h.name})}),children:X(e)&&h.text?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Bt,{provider:h,state:t}),(0,R.jsx)(Vt,{provider:h,state:t,disabled:!n.canEdit,onPick:(e,t)=>a.mutate({bindings:{[e]:t}})})]}):(0,R.jsx)(zt,{provider:h,cap:e,value:t.bindings[o]??h.models[e]?.[0]?.ref??``,disabled:!n.canEdit,onPick:e=>a.mutate({bindings:{[o]:e}})},`${h.id}:${t.bindings[o]??``}`)})]}):null,c?.kind===`client`&&y?X(e)?(0,R.jsx)(Q,{title:y.name,children:(0,R.jsx)(Ve,{me:r,id:y.id})}):(0,R.jsx)(Q,{title:y.name,children:(0,R.jsx)($,{children:g(`models.clientImages`,{name:y.name,sub:g(`harness.sub.${y.id}`)})})}):null,c?.kind===`local`?(0,R.jsx)(Yt,{state:t,disabled:!n.canEdit}):null,c?.kind===`credits`&&n.credits?X(e)?(0,R.jsx)(Q,{title:g(`models.creditsName`),children:(0,R.jsxs)($,{children:[g(`models.creditsPicks`),s.kind===`credits`&&s.ref?` ${g(`models.creditsModel`,{model:q(s.ref)})}`:``]})}):(0,R.jsxs)(Q,{title:g(`models.model`),children:[(0,R.jsx)(Kt,{cap:e,state:t,disabled:!n.canEdit}),(0,R.jsx)($,{children:g(`models.creditsPickHint`)})]}):null,s.problem?(0,R.jsxs)(`p`,{className:`flex items-start gap-2 rounded-lg bg-paper-2 px-3 py-2.5 text-[0.8125rem] text-ink-2`,children:[(0,R.jsx)(k,{className:`mt-0.5 size-3.5 shrink-0 text-ink-3`}),(0,R.jsx)(`span`,{children:(0,R.jsx)(v,{text:s.problem})})]}):null,c?.kind===`client`&&X(e)?null:(0,R.jsx)(Q,{title:g(`models.try`),children:(0,R.jsx)(Ht,{cap:e,disabled:!x||!n.canEdit},`${e}:${s.ref}`)}),X(e)&&r.subscriptions.includes(`claude`)&&!n.cloud?(0,R.jsx)(Xt,{me:r}):null]})]})}function Yt({state:e,disabled:t}){let n=Z(),[r,i]=(0,L.useState)(e.ollamaUrl),[a,o]=(0,L.useState)((e.bindings.standard??`ollama:qwen3`).replace(/^ollama:/,``));return(0,R.jsxs)(Q,{title:g(`models.optLocal`),children:[(0,R.jsx)($,{children:g(`models.ollamaHint`)}),(0,R.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-[minmax(0,1fr)_12rem_auto]`,children:[(0,R.jsx)(w,{className:`font-mono text-[0.8125rem]`,value:r,disabled:t,onChange:e=>i(e.target.value)}),(0,R.jsx)(w,{className:`font-mono text-[0.8125rem]`,value:a,disabled:t,onChange:e=>o(e.target.value)}),(0,R.jsx)(T,{variant:`secondary`,busy:n.isPending,disabled:t||!a.trim(),onClick:()=>n.mutate({ollamaUrl:r,bindings:Object.fromEntries(De.map(e=>[e,`ollama:${a.trim()}`]))}),children:g(`settings.save`)})]})]})}function Xt({me:e}){let t=r(),n=N({mutationFn:e=>D.put(`/api/studio/local/chat`,{engine:e}),onSuccess:()=>t.invalidateQueries({queryKey:[`me`]})});return(0,R.jsxs)(Q,{title:g(`local.chat`),children:[(0,R.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:[`models`,`claude`].map(t=>(0,R.jsx)(`button`,{type:`button`,"aria-pressed":e.chatEngine===t,onClick:()=>n.mutate(t),className:h(`h-9 rounded-full border px-3.5 text-[0.8125rem] transition`,e.chatEngine===t?`border-ember bg-ember-tint text-ink`:`border-input bg-card text-ink-2 hover:text-ink`),children:g(t===`claude`?`local.chatClaude`:`local.chatModels`)},t))}),(0,R.jsx)($,{children:g(`local.subscription`)})]})}function Zt({provider:e,state:t,place:n,onOpen:r}){let i=Z(),a=ht.filter(t=>e.models[t]?.length),o=t.keys[e.id],s=e.id===`gateway`?[]:t.creditModels.filter(t=>t.source===e.id||t.provider===e.id);return(0,R.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,R.jsx)(Pt,{icon:I,title:e.name,lead:Et(e.about,_),status:(0,R.jsx)(Nt,{text:g(o?`models.keyStored`:`models.keyNone`),tone:o?`done`:`warn`})}),(0,R.jsxs)(b,{className:`flex flex-col gap-6 p-3.5 sm:p-5 sm:p-6`,children:[(0,R.jsx)(Q,{title:g(`models.key`),children:(0,R.jsx)(Lt,{provider:e,stored:o,place:n})}),(0,R.jsx)(Q,{title:g(`models.uses`),children:(0,R.jsx)(`ul`,{className:`flex flex-col divide-y divide-border-soft`,children:a.map(a=>{let o=J[a],s=Ot(t,a,n),l=s?.kind===`key`&&s.provider===e.id;return(0,R.jsxs)(`li`,{className:`flex flex-wrap items-center gap-3 py-2.5`,children:[(0,R.jsx)(o,{className:`size-4 shrink-0 text-ink-3`}),(0,R.jsxs)(`button`,{type:`button`,onClick:()=>r({type:`cap`,id:a}),className:`min-w-0 flex-1 text-left`,children:[(0,R.jsx)(`span`,{className:`block font-medium text-[0.875rem]`,children:g(`models.cap.${a}`)}),(0,R.jsx)(`span`,{className:`block truncate text-[0.75rem] text-ink-3`,children:(e.models[a]??[]).map(e=>e.label).join(` · `)})]}),l?(0,R.jsxs)(`span`,{className:`flex items-center gap-1 font-medium text-[0.75rem] text-moss`,children:[(0,R.jsx)(c,{className:`size-3.5`,strokeWidth:3}),` `,g(`models.inUse`)]}):(0,R.jsx)(T,{size:`sm`,variant:`secondary`,disabled:!n.canEdit,busy:i.isPending&&i.variables?.bindings!==void 0,onClick:()=>i.mutate({...X(a)&&!n.cloud?{source:`own`}:{},bindings:kt(e,a,t)}),children:g(`models.useFor`)})]},a)})})}),s.length?(0,R.jsxs)(Q,{title:g(`models.viaCredits`,{name:e.name}),children:[(0,R.jsx)($,{children:n.credits?g(`models.viaCreditsHint`):g(`models.viaCreditsNeedsAccount`)}),(0,R.jsx)(qt,{models:s,state:t,place:n})]}):null]})]})}function Qt({me:e,id:t,state:n,place:r}){let i=Z(),a=r.harnesses.find(e=>e.id===t);if(!a)return null;let o=n.source===t,s=a.version!==null&&a.auth!==`none`;return(0,R.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,R.jsx)(Pt,{icon:Ee,title:a.name,lead:g(`harness.desc.${t}`),status:(0,R.jsx)(Nt,{text:At(a).note,tone:s?`done`:`warn`})}),(0,R.jsxs)(b,{className:`flex flex-col gap-6 p-3.5 sm:p-5 sm:p-6`,children:[(0,R.jsx)(Q,{title:g(`models.clientSignIn`),children:(0,R.jsx)(Ve,{me:e,id:t})}),(0,R.jsxs)(Q,{title:g(`models.uses`),children:[(0,R.jsx)(`ul`,{className:`flex flex-col divide-y divide-border-soft`,children:[`text`,...a.images?[`image`]:[]].map(e=>{let a=J[e],o=Ot(n,e,r),s=o?.kind===`client`&&o.id===t;return(0,R.jsxs)(`li`,{className:`flex items-center gap-3 py-2.5`,children:[(0,R.jsx)(a,{className:`size-4 shrink-0 text-ink-3`}),(0,R.jsx)(`span`,{className:`min-w-0 flex-1 font-medium text-[0.875rem]`,children:g(`models.cap.${e}`)}),s?(0,R.jsxs)(`span`,{className:`flex items-center gap-1 font-medium text-[0.75rem] text-moss`,children:[(0,R.jsx)(c,{className:`size-3.5`,strokeWidth:3}),` `,g(`models.inUse`)]}):(0,R.jsx)(T,{size:`sm`,variant:`secondary`,busy:i.isPending,onClick:()=>i.mutate(e===`text`?{source:t}:{bindings:{image:`${t}/image`}}),children:g(`models.useFor`)})]},e)})}),o?null:(0,R.jsx)($,{children:g(`models.clientNotChosen`,{name:a.name})})]})]})]})}function $t(){return(0,R.jsx)(S,{to:`/settings/account`,className:`font-medium text-ember-strong underline-offset-2 hover:underline`,children:g(`local.toAccount`)})}function en({state:e,place:t,onOpen:n}){let r=Z(),i=ht.filter(t=>e.ways[Y[t]].kind===`credits`),a=t.cloud?g(`models.creditsTeam`):g(`models.creditsName`);return(0,R.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,R.jsx)(Pt,{icon:j,title:a,lead:t.cloud?g(`models.creditsCloudHint`):g(`models.creditsLocalLead`),status:t.balance===null?void 0:(0,R.jsx)(`span`,{className:`font-display font-semibold text-[1.25rem] tabular-nums`,children:g(`nav.credits`,{n:Math.floor(t.balance).toLocaleString()})})}),(0,R.jsxs)(b,{className:`flex flex-col gap-6 p-3.5 sm:p-5 sm:p-6`,children:[!t.cloud&&!t.account?(0,R.jsxs)(Q,{title:g(`models.creditsConnectTitle`),children:[(0,R.jsx)($,{children:g(`models.creditsLocalHint`)}),(0,R.jsx)(`div`,{children:(0,R.jsx)(S,{to:`/settings/account`,children:(0,R.jsx)(T,{children:g(`models.creditsConnect`)})})})]}):null,t.account&&!t.account.signedIn?(0,R.jsxs)(`p`,{className:`text-[0.8125rem] text-rose`,children:[g(`local.accountExpired`),` `,(0,R.jsx)($t,{})]}):null,t.account?(0,R.jsx)(Q,{title:g(`models.creditsFallback`),children:(0,R.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,R.jsx)(y,{checked:e.creditFallback,disabled:!t.canEdit,onChange:e=>r.mutate({creditFallback:e}),label:g(`models.creditsFallback`)}),(0,R.jsx)($,{children:e.creditFallback?g(`models.creditsFallbackOn`):g(`models.creditsFallbackOff`)})]})}):null,t.credits?(0,R.jsx)(Q,{title:g(`models.creditsOn`),aside:t.topUp?(0,R.jsxs)(`a`,{href:t.topUp,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 font-medium text-[0.8125rem] text-ember-strong hover:underline`,children:[g(`models.creditsTopUp`),` `,(0,R.jsx)(M,{className:`size-3`})]}):null,children:i.length?(0,R.jsx)(`ul`,{className:`flex flex-col divide-y divide-border-soft`,children:i.map(t=>{let r=J[t],i=e.ways[Y[t]];return(0,R.jsx)(`li`,{children:(0,R.jsxs)(`button`,{type:`button`,onClick:()=>n({type:`cap`,id:t}),className:`flex w-full items-center gap-3 py-2.5 text-left`,children:[(0,R.jsx)(r,{className:`size-4 shrink-0 text-ink-3`}),(0,R.jsx)(`span`,{className:`min-w-0 flex-1 font-medium text-[0.875rem]`,children:g(`models.cap.${t}`)}),(0,R.jsxs)(`span`,{className:`truncate text-[0.75rem] text-ink-3`,children:[i.ref?q(i.ref):``,` · `,Wt(t,e)]})]})},t)})}):(0,R.jsx)($,{children:g(`models.creditsNone`)})}):null]})]})}function tn(e){return e?e===`credits`?{type:`credits`}:ht.includes(e)?{type:`cap`,id:e}:K(e)?{type:`provider`,id:e}:{type:`client`,id:e}:{type:`cap`,id:`text`}}var nn=e=>e.type===`credits`?`credits`:e.id;function rn({view:e,onView:t}){return null}function an(e){return e.kind===`none`?`off`:e.kind===`credits`?`credits`:`done`}function on(e,t){switch(e.type){case`cap`:return g(`models.cap.${e.id}`);case`provider`:return K(e.id)?.name??e.id;case`client`:return t?.harnesses.find(t=>t.id===e.id)?.name??e.id;default:return t?.mode===`managed`?g(`models.creditsTeam`):g(`models.creditsName`)}}function sn(){let e=Te(),t=Mt(),[n,r]=E(),[i,a]=(0,L.useState)(`auto`),{narrow:o}=Ae(),s=n.get(`show`),c=tn(s);if(Me(s||!o?on(c,e.data):null),!e.data||!t.data)return t.isError?(0,R.jsx)(`p`,{className:`text-[0.875rem] text-rose`,children:t.error.message}):null;let l=t.data,u=Tt(e.data,i),d=e=>r({show:nn(e)},{replace:!o}),f=e=>!(!s&&o)&&nn(e)===nn(c),p=u.harnesses.filter(e=>e.version!==null||l.source===e.id),m=G.filter(e=>l.keys[e.id]),h=G.filter(e=>!l.keys[e.id]);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(Re,{children:[(0,R.jsx)(F,{label:g(`models.groupCaps`),children:ht.map(e=>{let t=l.ways[Y[e]];return(0,R.jsx)(P,{icon:J[e],label:g(`models.cap.${e}`),tone:an(t),toneLabel:jt(t,u).text,selected:f({type:`cap`,id:e}),onPick:()=>d({type:`cap`,id:e})},e)})}),(0,R.jsxs)(F,{label:g(`models.groupAccess`),children:[(0,R.jsx)(P,{icon:j,label:u.cloud?g(`models.creditsTeam`):g(`models.creditsName`),badge:u.balance===null?null:(0,R.jsx)(`span`,{className:`text-[0.75rem] text-ink-3 tabular-nums`,children:Math.floor(u.balance).toLocaleString()}),tone:u.credits?void 0:`off`,toneLabel:u.credits?void 0:g(`models.noteNeedsAccount`),selected:f({type:`credits`}),onPick:()=>d({type:`credits`})}),p.map(e=>(0,R.jsx)(P,{icon:Ee,label:e.name,tone:e.version!==null&&e.auth===`subscription`?`done`:e.auth===`api_key`?`on`:`off`,toneLabel:At(e).note,selected:f({type:`client`,id:e.id}),onPick:()=>d({type:`client`,id:e.id})},e.id)),m.map(e=>(0,R.jsx)(P,{icon:I,label:e.name,tone:`done`,toneLabel:g(`models.noteKey`),selected:f({type:`provider`,id:e.id}),onPick:()=>d({type:`provider`,id:e.id})},e.id))]}),h.length?(0,R.jsx)(F,{label:g(`models.groupMore`),collapsible:!0,open:h.some(e=>f({type:`provider`,id:e.id})),count:h.length,children:h.map(e=>(0,R.jsx)(P,{icon:I,label:e.name,selected:f({type:`provider`,id:e.id}),onPick:()=>d({type:`provider`,id:e.id})},e.id))}):null,(0,R.jsx)(rn,{view:i,onView:a})]}),u.canEdit?null:(0,R.jsx)(`p`,{className:`mb-4 rounded-lg bg-paper-2 px-3 py-2 text-[0.8125rem] text-ink-2`,children:g(`models.readOnly`)}),c.type===`cap`?(0,R.jsx)(Jt,{cap:c.id,state:l,place:u,me:e.data,onOpen:d},c.id):c.type===`provider`&&K(c.id)?(0,R.jsx)(Zt,{provider:K(c.id),state:l,place:u,onOpen:d},c.id):c.type===`client`?(0,R.jsx)(Qt,{me:e.data,id:c.id,state:l,place:u},c.id):(0,R.jsx)(en,{state:l,place:u,onOpen:d})]})}function cn({name:e,image:t}){return t?(0,R.jsx)(`img`,{src:t,alt:``,className:`size-9 shrink-0 rounded-full object-cover`}):(0,R.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-full bg-paper-2 font-medium text-[0.75rem] text-ink-2`,children:be(e)})}function ln({me:e}){let t=i({queryKey:[`team`,e.tenant.id],queryFn:()=>D.get(`/api/studio/team`)}),n=t.data,r=n?.plan??e.tenant.plan,a=n?.seats;return(0,R.jsxs)(`div`,{className:`flex flex-col gap-9`,children:[(0,R.jsxs)(ae,{title:g(`team.title`),hint:g(`team.hint`),children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-3`,children:[(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`div`,{className:`text-[0.8125rem] text-ink-3`,children:g(`team.plan`)}),(0,R.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`font-medium text-[0.9375rem]`,children:r?.name??g(`team.planFree`)}),a?(0,R.jsx)(C,{children:a.limit===null?g(`team.seatsUnlimited`):g(`team.seats`,{taken:a.taken,limit:a.limit})}):null]})]}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsxs)(T,{variant:`secondary`,onClick:()=>Oe(`${e.manageUrl}/billing`),children:[g(`team.changePlan`),` `,(0,R.jsx)(M,{className:`size-4`})]}),n?.canManage?(0,R.jsxs)(T,{onClick:()=>Oe(`${e.manageUrl}/`),children:[g(`team.manage`),` `,(0,R.jsx)(M,{className:`size-4`})]}):null]})]}),(0,R.jsx)(`p`,{className:`mt-4 text-[0.8125rem] text-ink-3 leading-relaxed`,children:e.tenant.role===`member`?g(`team.memberNote`):g(`team.roles`)})]}),(0,R.jsx)(ae,{title:g(`team.members`),children:t.isPending?(0,R.jsx)(m,{}):t.isError||!n?(0,R.jsx)(`p`,{className:`text-[0.875rem] text-rose`,children:g(`team.failed`)}):(0,R.jsxs)(`div`,{className:`flex flex-col divide-y divide-border-soft`,children:[n.members.map(t=>(0,R.jsxs)(`div`,{className:`flex items-center gap-3 py-3 first:pt-0 last:pb-0`,children:[(0,R.jsx)(cn,{name:t.name,image:t.image}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`div`,{className:`truncate text-[0.9375rem]`,children:[t.name,t.userId===e.user.id?(0,R.jsxs)(`span`,{className:`text-ink-4`,children:[` · `,g(`team.you`)]}):null]}),(0,R.jsx)(`div`,{className:`truncate text-[0.8125rem] text-ink-3`,children:t.email})]}),(0,R.jsx)(C,{tone:t.role===`member`?void 0:`live`,children:g(`team.role.${t.role}`)})]},t.userId)),n.invitations.map(e=>(0,R.jsxs)(`div`,{className:`flex items-center gap-3 py-3 first:pt-0 last:pb-0`,children:[(0,R.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-full bg-paper-2 text-ink-3`,children:(0,R.jsx)(Ke,{className:`size-4`})}),(0,R.jsx)(`div`,{className:`min-w-0 flex-1 truncate text-[0.9375rem]`,children:e.email}),(0,R.jsxs)(C,{tone:`warn`,children:[g(`team.invited`),` · `,g(`team.role.${e.role}`)]})]},e.id)),n.members.length===0&&n.invitations.length===0?(0,R.jsxs)(`div`,{className:`flex items-center gap-3 text-[0.875rem] text-ink-3`,children:[(0,R.jsx)(_e,{className:`size-4`}),` –`]}):null]})})]})}function un(e,t){let n=e.toLowerCase().replace(/[^a-z0-9]+/g,`_`).replace(/^_+|_+$/g,``).replace(/^[^a-z]+/,``).slice(0,24)||`system`,r=n,i=2;for(;t.includes(r);)r=`${n}_${i++}`;return r}function dn({project:e}){let t=r(),[n,i]=(0,L.useState)(e.mcpServers.map(e=>({...e,auth:e.headers?.Authorization??e.headers?.authorization??``}))),[a,s]=(0,L.useState)(!1),c=e.readOnly,l=N({mutationFn:()=>D.patch(`/api/studio/projects/${e.id}`,{mcpServers:n.filter(e=>e.name&&e.url).map(({auth:e,headers:t,...n})=>({...n,headers:e?{...t,Authorization:e}:void 0}))}),onSuccess:async()=>{await t.invalidateQueries({queryKey:[`projects`]}),s(!0),setTimeout(()=>s(!1),1800)}});return(0,R.jsxs)(b,{className:`p-4 sm:p-6`,children:[(0,R.jsx)(`h2`,{className:`font-display font-semibold text-lg`,children:g(`settings.mcp`)}),(0,R.jsx)(`p`,{className:`mt-1 mb-5 text-[0.875rem] text-ink-3`,children:g(`settings.mcpHint`)}),(0,R.jsxs)(`fieldset`,{disabled:c,className:`flex min-w-0 flex-col gap-3`,children:[n.map((e,t)=>(0,R.jsxs)(`div`,{className:`grid gap-2 rounded-lg bg-paper p-3 ring-1 ring-border-soft sm:grid-cols-[1fr_2fr_auto]`,children:[(0,R.jsx)(w,{placeholder:g(`settings.serverName`),value:e.name,onChange:e=>i(n=>n.map((r,i)=>i===t?{...r,name:e.target.value,id:r.id||un(e.target.value,n.map(e=>e.id))}:r))}),(0,R.jsx)(w,{placeholder:`${g(`settings.serverUrl`)} (https://…/mcp)`,value:e.url,onChange:e=>i(n=>n.map((n,r)=>r===t?{...n,url:e.target.value}:n))}),c?(0,R.jsx)(`span`,{}):(0,R.jsx)(x,{label:`Entfernen`,onClick:()=>i(e=>e.filter((e,n)=>n!==t)),className:`hover:text-rose`,children:(0,R.jsx)(ce,{className:`size-4`})}),(0,R.jsx)(w,{className:`sm:col-span-2`,placeholder:g(`settings.serverHeader`),value:e.auth??``,onChange:e=>i(n=>n.map((n,r)=>r===t?{...n,auth:e.target.value}:n))}),e.id?(0,R.jsx)(`span`,{className:`self-center font-mono text-[0.6875rem] text-ink-4`,children:e.id}):null]},t)),c?null:(0,R.jsxs)(T,{variant:`secondary`,className:`self-start`,onClick:()=>i(e=>[...e,{id:``,name:``,url:``,auth:``}]),children:[(0,R.jsx)(o,{className:`size-4`}),` `,g(`settings.addServer`)]})]}),c?null:(0,R.jsxs)(`div`,{className:`mt-5 flex items-center justify-end gap-3`,children:[l.error?(0,R.jsx)(`p`,{className:`text-[0.875rem] text-rose`,children:l.error.message}):null,(0,R.jsx)(T,{busy:l.isPending,onClick:()=>l.mutate(),children:g(a?`settings.saved`:`settings.save`)})]})]})}var fn=new Set([`models`,`integrate`]);function pn(){let{section:e}=p(),[t]=E(),n=a(),r=Te(),{project:i,loading:o}=ge(),s=Se(),[c,l]=(0,L.useState)(i?.id);(0,L.useEffect)(()=>l(i?.id),[i?.id]);let f=xe(),m=Be(),[_,v]=(0,L.useState)(null),[y,b]=(0,L.useState)(null),[x,S]=(0,L.useState)(null),C=de(r.data,f),w=C.find(t=>t.id===e),T=C.map(e=>({...e,to:`/settings/${e.id}`})),D=T.find(t=>t.id===e),O=w?fn.has(w.id):!1,k=w?O&&!t.get(`show`)?1:2:0,A=m?Math.min(k,1):O&&x!==e?1:0,te=je(A),ne=je(k),j=(0,L.useMemo)(()=>({slot:_,narrow:m,setDetail:b}),[_,m]);if(he([{label:g(`settings.title`),to:`/settings`},...w?[{label:w.label,to:`/settings/${w.id}`}]:[],...w&&y?[{label:y}]:[]]),!w){if(e===`build`)return(0,R.jsx)(u,{to:`/settings/integrate`,replace:!0});if(e===`project`)return(0,R.jsx)(u,{to:`/space`,replace:!0});if(e!==void 0||!m)return f.status===`ready`||e===void 0?(0,R.jsx)(u,{to:`/settings/account`,replace:!0}):null}let M=w?.id===`connectors`&&s;return(0,R.jsx)(Fe.Provider,{value:j,children:(0,R.jsx)(`div`,{className:`animate-rise`,children:(0,R.jsxs)(`div`,{className:`grid gap-6 md:grid-cols-[13.5rem_minmax(0,1fr)] md:gap-8 lg:grid-cols-[15rem_minmax(0,1fr)] lg:gap-10`,children:[(0,R.jsxs)(`aside`,{className:h(`min-w-0 md:sticky md:top-20 md:self-start`,m&&k===2&&`hidden`,m&&ne===`back`&&ke(`back`)),children:[(0,R.jsx)(Pe,{title:g(`settings.title`),open:A===1?D??null:null,onBack:()=>m?n(`/settings`):S(e??null)}),(0,R.jsx)(`div`,{className:h(ke(te)),children:A===0?(0,R.jsx)(Le,{entries:T,current:m?void 0:D,onPick:()=>S(null)}):(0,R.jsx)(`div`,{ref:v})},A)]}),w?(0,R.jsxs)(`div`,{className:h(`min-w-0`,![`integrate`,`models`].includes(w.id)&&`max-w-2xl`,m&&k<2&&`hidden`,m&&ne===`deeper`&&ke(`deeper`)),children:[m?(0,R.jsx)(`div`,{className:`mb-3`,children:(0,R.jsx)(ze,{label:O?w.label:g(`settings.title`),onBack:()=>n(O?`/settings/${w.id}`:`/settings`)})}):null,M?(0,R.jsx)(`div`,{className:`mb-6`,children:(0,R.jsx)(ee,{})}):null,w.id===`connectors`&&i?(0,R.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[i.readOnly?(0,R.jsx)(Ie,{children:Ne(i)}):null,(0,R.jsx)(it,{projectId:i.id,readOnly:i.readOnly},c),(0,R.jsx)(dn,{project:i},c)]}):null,w.id===`connectors`&&!i&&!o?(0,R.jsx)(d,{children:g(`settings.noProject`)}):null,w.id===`models`?(0,R.jsx)(sn,{}):null,w.id===`integrate`?(0,R.jsx)(mt,{}):null,w.id===`account`&&r.data?(0,R.jsx)(oe,{me:r.data}):null,w.id===`team`&&r.data?(0,R.jsx)(ln,{me:r.data}):null,w.id===`plugins`?(0,R.jsx)($e,{}):null,w.plugin?(0,R.jsx)(Ce,{of:w.plugin,children:(0,R.jsx)(w.plugin.component,{})}):null]}):null]})})})}export{pn as SettingsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-D3jfb0Ew.js";import{R as r,l as i,o as a,p as ee,r as o}from"./brand-CCAI9p0f.js";import{$ as s,H as c,W as te,g as l,j as u,t as ne,x as d}from"./ui-8QmvuC9u.js";import{t as f}from"./arrow-right-BOtqnsA1.js";import{t as re}from"./refresh-cw-Bk7HkOIM.js";import{et as p,kt as m,tt as ie,ut as h}from"./index-YJMooz0J.js";import{n as g,t as _}from"./LocalRuntime-DjSNCRnV.js";import{n as v,t as y}from"./Harness-CtDlm_2b.js";var b=e(t(),1),x=e(n(),1),ae=`oklch(50% 0.2 262)`,S=`oklch(32% 0.15 262)`,C=`oklch(90% 0.1 80)`,w=`oklch(88% 0.17 150)`,T=`oklch(88% 0.14 80)`,E=`rgb(255 255 255 / 0.38)`,D={"--ink-2":`oklch(96% 0.02 262)`,"--ink-3":`oklch(90% 0.035 262)`,"--ink-4":`oklch(82% 0.05 262)`,"--moss":`oklch(90% 0.14 150)`,"--rose":`oklch(89% 0.09 45)`},O=`ease-[cubic-bezier(0.3,0.7,0.2,1)]`,oe=220,se={codex:`dome`,claude:`oval`,gemini:`wedge`,cursor:`sprout`,own:`bean`,account:`drop`},k=`oklch(27% 0.09 150)`,A=`relative w-fit max-w-full transition-[left,translate] duration-700 ease-[cubic-bezier(0.3,0.7,0.2,1)] motion-reduce:transition-none`,j=`left-1/2 -translate-x-1/2 text-center`,M=`max-lg:left-1/2 max-lg:-translate-x-1/2 max-lg:text-center lg:left-0 lg:translate-x-0 lg:text-left`;function N(){window.matchMedia(`(max-width: 1023px)`).matches&&window.scrollTo({top:0})}var P=`wizards.setup.own`;function F(){try{return sessionStorage.getItem(P)===`1`}catch{return!1}}function I(e){try{e?sessionStorage.setItem(P,`1`):sessionStorage.removeItem(P)}catch{}}function L(){return(0,x.jsxs)(`span`,{className:`inline-flex items-center gap-2.5`,children:[(0,x.jsx)(i,{size:28}),(0,x.jsxs)(`span`,{className:`font-display font-semibold text-[1.0625rem] tracking-tight`,children:[`engenty`,(0,x.jsx)(`span`,{className:`mr-[0.09em] ml-[0.06em]`,style:{color:C},children:`.`}),(0,x.jsx)(`span`,{className:`font-normal text-white/70`,children:`wizards`})]})]})}function R({selected:e,title:t,description:n,badge:r,note:i,onPick:a}){return(0,x.jsxs)(`button`,{type:`button`,onClick:a,"aria-pressed":e,className:l(`group relative flex w-full items-center gap-3 rounded-2xl px-4 py-3 text-left transition-[background-color,color,box-shadow] duration-300`,e?`bg-white shadow-elevated`:`bg-white/10 ring-1 ring-white/15 hover:bg-white/15`),style:e?{color:S}:void 0,children:[r?(0,x.jsx)(`span`,{className:`absolute -top-2.5 right-4 rounded-full px-2.5 py-[3px] font-semibold text-[0.6875rem] leading-none tracking-wide shadow-[0_2px_8px_oklch(0%_0_0/0.22)]`,style:{background:C,color:S},children:r}):null,(0,x.jsx)(`span`,{className:l(`flex size-5 shrink-0 items-center justify-center rounded-full border transition-colors duration-300`,e?`border-transparent`:`border-white/40`),style:e?{background:S}:void 0,children:e?(0,x.jsx)(c,{className:`size-3.5 text-white`}):null}),(0,x.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,x.jsx)(`span`,{className:`block font-medium text-[0.9375rem]`,children:t}),(0,x.jsx)(`span`,{className:l(`mt-0.5 block truncate text-[0.8125rem]`,e?`opacity-70`:`text-white/65`),children:n})]}),i?(0,x.jsx)(`span`,{className:l(`shrink-0 text-[0.75rem]`,e?`opacity-70`:`text-white/65`),children:i}):null,(0,x.jsx)(f,{className:l(`size-4 shrink-0 transition`,e?`opacity-70`:`text-white/40 group-hover:translate-x-0.5 group-hover:text-white/80`)})]})}function z({name:e,at:t,done:n}){let r=[u(`setup.stage.connect`),u(`setup.stage.test`),u(`setup.stage.done`)],i=n?r.length:t+1;return(0,x.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-2 font-medium text-[0.75rem] uppercase tracking-[0.14em]`,children:[(0,x.jsx)(`span`,{className:`text-white/70`,children:e}),(0,x.jsx)(`ol`,{className:`flex flex-wrap items-center gap-x-3 gap-y-2`,children:r.map((e,r)=>{let i=n||r<t;return(0,x.jsxs)(`li`,{"aria-current":!i&&r===t?`step`:void 0,className:`flex items-center gap-1 transition-colors duration-500`,style:{color:i?w:r===t?T:E},children:[i?(0,x.jsx)(c,{className:`size-3.5`,strokeWidth:3}):null,e]},e)})}),(0,x.jsx)(`span`,{"aria-hidden":`true`,className:`flex gap-1.5`,children:r.map((e,t)=>(0,x.jsx)(`span`,{className:`h-[3px] w-5 rounded-full transition-colors duration-500`,style:{background:t<i?n?w:T:`rgb(255 255 255 / 0.22)`}},e))})]})}function B({href:e,children:t}){return(0,x.jsx)(`a`,{href:e,target:`_blank`,rel:`noreferrer`,className:`transition hover:text-white`,onClick:t=>{t.preventDefault(),g(e)},children:t})}function V(){a(ae);let e=h(),t=r(),n=s(),i=ee({queryKey:[`config`],queryFn:()=>d.get(`/api/config`)}),[f,g]=(0,b.useState)(F),[T,E]=(0,b.useState)(!1),P=m({mutationFn:e=>d.put(`/api/studio/local/models`,{source:e}),onSuccess:async(e,n)=>{await t.invalidateQueries({queryKey:[`me`]}),g(!0),E(!1),N(),I(n===`own`)}}),V=m({mutationFn:()=>Promise.all((e.data?.harnesses??[]).map(e=>d.post(`/api/studio/local/harness/${e.id}/detect`))),onSuccess:()=>t.invalidateQueries({queryKey:[`me`]})});if(!e.data?.models)return null;let H=e.data.models,U=e=>(e.version===null?2:0)+ +!e.app,W=[...e.data.harnesses].sort((e,t)=>U(e)-U(t)),G=W.filter(e=>e.version!==null),K=f||e.data.setupDone||H.source!==`own`?H.source:null,q=e.data.harnesses.find(e=>e.id===K),J=e.data.setupDone,Y=Object.values(H.keys).some(Boolean),ce=J?2:q?q.auth===`none`?0:1:+!!Y,X=J?u(`setup.h.done`):q?q.version===null?u(`setup.h.install`,{name:q.name}):q.auth===`none`?u(`setup.h.signIn`,{name:q.name}):u(`setup.h.test`):u(Y?`setup.h.test`:`setup.h.keys`),Z=ie.site?i.data?.site:null,Q=K!==null&&!T,$=P.isPending?P.variables??K:K;return(0,x.jsxs)(`div`,{className:`flex min-h-dvh flex-col px-6 text-white sm:px-10`,style:D,children:[(0,x.jsxs)(`header`,{className:`flex items-center justify-between pt-6 sm:pt-8`,children:[(0,x.jsx)(L,{}),(0,x.jsx)(p,{ink:S})]}),(0,x.jsxs)(`main`,{className:`relative mx-auto flex w-full max-w-6xl flex-1 flex-col pt-6 pb-10 lg:pt-[6vh]`,children:[(0,x.jsx)(`div`,{"aria-hidden":`true`,className:l(`absolute top-6 left-1/2 z-10 origin-top -translate-x-1/2 transition-[opacity,scale,left] duration-500 motion-reduce:transition-none lg:top-[calc(6vh+5.25rem)] lg:origin-center lg:translate-x-0`,O,K?`lg:pointer-events-none lg:left-[calc(50%-560px)] lg:scale-75 lg:opacity-0`:`lg:left-[calc(50%-508px)] lg:scale-100 lg:opacity-100`,Q?`max-lg:pointer-events-none max-lg:scale-[0.4] max-lg:opacity-0`:`max-lg:scale-[0.6] max-lg:opacity-100`),children:(0,x.jsx)(`div`,{className:`animate-rise`,children:(0,x.jsx)(o,{kind:`drop`,size:oe,fluffy:!0,coat:`fur`})})}),(0,x.jsx)(`div`,{"aria-hidden":`true`,className:l(`shrink-0 transition-[height] duration-500 motion-reduce:transition-none lg:h-0`,O,Q?`max-lg:h-0`:`max-lg:h-[148px]`)}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-10 lg:flex-row lg:items-start lg:gap-14`,children:[(0,x.jsxs)(`section`,{className:l(`flex w-full shrink-0 animate-rise flex-col lg:w-[32rem] lg:transition-[margin] lg:duration-700 motion-reduce:transition-none`,O,K?`lg:ml-0`:`lg:ml-[calc(50%-16rem)]`,Q?`max-lg:hidden`:``),children:[(0,x.jsxs)(`div`,{className:`flex flex-col lg:min-h-[6.5rem]`,children:[(0,x.jsx)(`p`,{className:l(A,`font-medium text-[0.75rem] text-white/70 uppercase tracking-[0.16em]`,K?M:j),children:u(`setup.title`)}),(0,x.jsx)(`h1`,{className:l(A,`mt-2 font-display font-semibold text-[1.625rem] leading-[1.08] tracking-[-0.02em] sm:text-[1.75rem]`,K?M:j),children:u(`setup.source`)}),(0,x.jsx)(`p`,{className:l(A,`mt-2.5 text-[0.9375rem] text-white/75 leading-relaxed`,K?M:j),children:u(`setup.sub`)})]}),(0,x.jsxs)(`div`,{className:`mt-5 flex flex-col gap-2.5`,children:[W.map((e,t)=>(0,x.jsx)(R,{selected:$===e.id,title:e.name,description:u(`harness.desc.${e.id}`),badge:t===0?u(`setup.recommended`):void 0,note:e.version===null?u(`harness.notInstalled`):e.auth===`subscription`?u(`harness.ready`):void 0,onPick:()=>P.mutate(e.id)},e.id)),(0,x.jsx)(R,{selected:$===`own`,title:u(`local.sourceOwn`),description:u(`setup.ownDesc`),onPick:()=>P.mutate(`own`)})]}),(0,x.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center justify-center gap-x-2 gap-y-1 text-[0.8125rem] text-white/60`,children:[(0,x.jsx)(`span`,{children:G.length?null:u(`setup.noHarness`)}),(0,x.jsxs)(ne,{variant:`ghost`,size:`sm`,busy:V.isPending,onClick:()=>V.mutate(),children:[(0,x.jsx)(re,{className:`size-3.5`}),` `,u(`local.recheck`)]})]})]}),K?(0,x.jsxs)(`section`,{className:l(`min-w-0 flex-1 animate-settle`,T?`max-lg:hidden`:``),children:[(0,x.jsxs)(`button`,{type:`button`,onClick:()=>{E(!0),N()},className:`-ml-1.5 mb-5 inline-flex items-center gap-1.5 rounded-full px-1.5 py-1 text-[0.875rem] text-white/80 transition hover:text-white lg:hidden`,children:[(0,x.jsx)(te,{className:`size-4`}),` `,u(`run.back`)]}),(0,x.jsxs)(`div`,{className:`relative`,children:[(0,x.jsx)(`div`,{"aria-hidden":`true`,className:`absolute top-6 right-2 z-10`,children:(0,x.jsx)(o,{kind:se[K],size:120,fluffy:!0,coat:`fur`})}),(0,x.jsxs)(`div`,{className:`min-h-[6.5rem]`,children:[(0,x.jsx)(z,{name:q?.name??u(`local.sourceOwn`),at:ce,done:J}),(0,x.jsx)(`h2`,{className:`mt-2 animate-rise pr-32 font-display font-semibold text-[clamp(28px,3vw,40px)] leading-[1.06] tracking-[-0.03em]`,children:X},X)]}),(0,x.jsx)(`div`,{className:`mt-5 rounded-2xl bg-white/[0.07] p-5 ring-1 ring-white/12 sm:p-6`,children:q?(0,x.jsx)(y,{me:e.data,id:q.id,autoTest:!J}):(0,x.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,x.jsx)(_,{models:H}),(0,x.jsx)(v,{})]})}),(0,x.jsxs)(`div`,{className:`mt-9`,children:[J?(0,x.jsxs)(`p`,{className:`mb-3 flex animate-rise items-center gap-2 font-medium text-[0.9375rem]`,style:{color:w},children:[(0,x.jsx)(c,{className:`size-4`,strokeWidth:3}),u(`setup.ready`)]}):null,(0,x.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4`,children:[(0,x.jsxs)(`button`,{type:`button`,disabled:!J,onClick:()=>n(`/`,{replace:!0}),className:l(`group inline-flex h-12 items-center gap-2.5 rounded-full px-6 font-semibold text-[1rem] transition-[background-color,color,box-shadow,filter] duration-300`,J?`shadow-[0_6px_24px_oklch(88%_0.17_150/0.35)] hover:brightness-105`:`cursor-not-allowed bg-white/20 text-white/65`),style:J?{background:w,color:k}:void 0,children:[u(`setup.done`),(0,x.jsx)(`span`,{"aria-hidden":`true`,className:`transition-transform group-enabled:group-hover:translate-x-0.5`,children:`→`})]}),J?null:(0,x.jsx)(`span`,{className:`text-[0.8125rem] text-white/65`,children:u(`setup.untilWorks`)})]})]})]})]},K):null]})]}),(0,x.jsxs)(`footer`,{className:`mx-auto flex w-full max-w-6xl items-center justify-between gap-4 pb-6 text-[0.75rem] text-white/55 sm:pb-8`,children:[(0,x.jsxs)(`span`,{children:[`© `,new Date().getFullYear(),` engenty · `,u(`setup.local`)]}),(0,x.jsxs)(`span`,{className:`flex items-center gap-5`,children:[Z?(0,x.jsx)(B,{href:Z,children:new URL(Z).host}):null,(0,x.jsx)(`span`,{"aria-hidden":`true`,className:`size-[3px]`,style:{background:C}})]})]})]})}export{V as SetupPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-D3jfb0Ew.js";import{p as r,r as i,s as a,t as o}from"./brand-CCAI9p0f.js";import{S as s,et as c,f as l,j as u,k as d,n as f,t as p,w as m,x as h}from"./ui-8QmvuC9u.js";import{t as g}from"./arrow-right-BOtqnsA1.js";import{f as _,h as v}from"./index-YJMooz0J.js";import{BrandHeader as y,useBrandAccent as b}from"./PublicRunner-6Iqp0DmU.js";var x=e(t(),1),S=e(n(),1);function C(){let{token:e}=c(),t=r({queryKey:[`share`,e],queryFn:()=>h.get(`/api/shares/${e}`),retry:(e,t)=>s(t)&&e<3});if(b(t.data?.brand.accent),a(t.data?.wizard.avatar),(0,x.useEffect)(()=>{t.data&&(document.title=`${t.data.title} · ${t.data.wizard.title}`)},[t.data]),t.isLoading)return(0,S.jsx)(`div`,{className:`flex min-h-dvh items-center justify-center text-ink-4`,children:(0,S.jsx)(l,{})});let n=t.data;if(!n)return(0,S.jsxs)(`div`,{className:`flex min-h-dvh flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,S.jsx)(i,{kind:`pebble`,size:80}),(0,S.jsx)(`p`,{className:`max-w-sm text-ink-3`,children:u(s(t.error)?`common.offline`:`sharePage.gone`)}),s(t.error)?(0,S.jsx)(p,{variant:`secondary`,onClick:()=>void t.refetch(),children:u(`common.retry`)}):null]});let C=`/api/shares/${n.token}`,w=e=>new Intl.DateTimeFormat(d,{dateStyle:`long`}).format(new Date(e));return(0,S.jsxs)(`div`,{className:`flex min-h-dvh flex-col`,children:[(0,S.jsx)(y,{brand:n.brand}),(0,S.jsxs)(`main`,{className:`mx-auto w-full max-w-3xl flex-1 animate-rise px-4 pt-6 pb-12 sm:px-6`,children:[(0,S.jsxs)(`div`,{className:`mb-8 flex flex-wrap items-center gap-4`,children:[(0,S.jsx)(i,{kind:n.wizard.avatar,size:64}),(0,S.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsx)(`p`,{className:`text-[0.8125rem] text-ink-4`,children:n.expiresAt?u(`sharePage.until`,{date:w(n.expiresAt)}):u(`sharePage.shared`,{date:w(n.createdAt)})}),(0,S.jsx)(`h1`,{className:`font-display font-semibold text-[1.75rem] leading-tight tracking-tight sm:text-[2rem]`,children:n.title}),n.message?(0,S.jsx)(`p`,{className:`mt-1 text-[0.9375rem] text-ink-3`,children:n.message}):null]})]}),(0,S.jsx)(`div`,{className:`flex flex-col gap-6`,children:n.shown.map(({step:e,output:t,formats:n,label:r})=>(0,S.jsxs)(f,{className:`p-4 sm:p-5`,children:[(0,S.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-center justify-between gap-3`,children:[(0,S.jsx)(`h2`,{className:`font-display font-semibold text-[1.0625rem]`,children:r??e.title}),(0,S.jsx)(_,{base:C,stepId:e.id,formats:n,title:r??e.title})]}),(0,S.jsx)(v,{base:C,step:e,output:t})]},e.id))}),n.wizardUrl?(0,S.jsxs)(`a`,{href:n.wizardUrl,className:`mt-10 flex items-center gap-4 rounded-2xl bg-card p-5 shadow-soft ring-1 ring-border-soft transition hover:shadow-elevated`,children:[(0,S.jsx)(i,{kind:n.wizard.avatar,size:44,interactive:!1}),(0,S.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsx)(`div`,{className:`font-display font-semibold text-[1rem]`,children:n.wizard.title}),n.wizard.description?(0,S.jsx)(`div`,{className:`truncate text-[0.875rem] text-ink-3`,children:n.wizard.description}):null]}),(0,S.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 font-medium text-[0.875rem] text-ember-strong`,children:[u(`sharePage.own`),` `,(0,S.jsx)(g,{className:`size-4`})]})]}):null]}),(0,S.jsx)(`footer`,{className:`safe-bottom pt-6 text-center text-[0.75rem] text-ink-4`,children:(0,S.jsx)(`a`,{href:`${m}/`,className:`inline-block py-3.5 hover:text-ink-2`,children:u(`run.madeWith`).replace(`engenty wizards`,o.name)})})]})}export{C as SharePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{G as e}from"./ui-8QmvuC9u.js";var t={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/fluffy-engenty-D7rFrNcJ.js","assets/jsx-runtime-D3jfb0Ew.js","assets/engenty-Cm8yZLON.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-D3jfb0Ew.js";import{t as r}from"./preload-helper-CNEI7N0N.js";import{G as i,j as a,o}from"./ui-8QmvuC9u.js";import{c as s,l as c,t as l,u}from"./engenty-Cm8yZLON.js";var d=e(t(),1),f=e(n(),1),p=d.createContext(void 0),m=e=>{let t=d.useContext(p);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},h=({client:e,children:t})=>(d.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,f.jsx)(p.Provider,{value:e,children:t})),g={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},_=new class{#e=g;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function v(e){setTimeout(e,0)}var y=typeof window>`u`||`Deno`in globalThis;function b(){}function ee(e,t){return typeof e==`function`?e(t):e}function x(e){return typeof e==`number`&&e>=0&&e!==1/0}function S(e,t){return Math.max(e+(t||0)-Date.now(),0)}function C(e,t){return typeof e==`function`?e(t):e}function te(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==re(o,t.options))return!1}else if(!T(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function ne(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(w(t.options.mutationKey)!==w(a))return!1}else if(!T(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function re(e,t){return(t?.queryKeyHashFn||w)(e)}function w(e){return JSON.stringify(e,(e,t)=>k(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function T(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(Array.isArray(e)&&Array.isArray(t)){if(t.length>e.length)return!1;for(let n=0;n<t.length;n++)if(!T(e[n],t[n]))return!1;return!0}let n=Object.keys(t);for(let r of n)if(!T(e[r],t[r]))return!1;return!0}return!1}var ie=Object.prototype.hasOwnProperty;function E(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=O(e)&&O(t);if(!r&&!(k(e)&&k(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:ie.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=E(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function D(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function O(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function k(e){if(!ae(e))return!1;let t=Object.getPrototypeOf(e),n=t?.constructor;if(n===void 0)return!0;if(typeof n!=`function`)return!1;let r=n.prototype;return!(!ae(r)||!r.hasOwnProperty(`isPrototypeOf`)||t!==Object.prototype)}function ae(e){return Object.prototype.toString.call(e)===`[object Object]`}function oe(e){return new Promise(t=>{_.setTimeout(t,e)})}function A(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:E(e,t)}function se(e){return e}function ce(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function le(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var j=Symbol();function ue(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===j?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function M(e,t){return typeof e==`function`?e(...t):!!e}function de(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var fe=()=>y,N=()=>fe(),P=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},F=new class extends P{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},pe=v;function me(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=pe,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var I=me(),L=new class extends P{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function he(e){return Math.min(1e3*2**e,3e4)}function ge(e){return(e??`online`)!==`online`||L.isOnline()}var R=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function _e(e){let t=!1,n=0,r,i=`pending`,a,o,s=new Promise((e,t)=>{a=e,o=t});s.catch(b);let c=()=>i!==`pending`,l=t=>{if(!c()){let n=new R(t);h(n),e.onCancel?.(n)}},u=()=>{t=!0},d=()=>{t=!1},f=()=>F.isFocused()&&(e.networkMode===`always`||L.isOnline())&&e.canRun(),p=()=>ge(e.networkMode)&&e.canRun(),m=e=>{c()||(r?.(),i=`resolved`,a(e))},h=e=>{c()||(r?.(),i=`rejected`,o(e))},g=()=>new Promise(t=>{r=e=>{(c()||f())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,c()||e.onContinue?.()}),_=()=>{if(c())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(m).catch(r=>{if(c())return;let i=e.retry??(N()?0:3),a=e.retryDelay??he,o=typeof a==`function`?a(n,r):a,s=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!s){h(r);return}n++,e.onFail?.(n,r),oe(o).then(()=>f()?void 0:g()).then(()=>{t?h(r):_()})})};return{promise:s,status:()=>i,cancel:l,continue:()=>(r?.(),s),cancelRetry:u,continueRetry:d,canStart:p,start:()=>(p()?_():g().then(_),s)}}var ve=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),x(this.gcTime)&&(this.#e=_.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(N()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(_.clearTimeout(this.#e),this.#e=void 0)}};function ye(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{de(e,()=>t.signal,()=>n=!0)},u=ue(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})(),o=await u(a),{maxPages:s}=t.options,c=i?le:ce;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?B:z,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:z(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.fetchFn=t.options.persister?()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):l}}}function z(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function B(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function be(e,t){return t?z(e,t)!=null:!1}function xe(e,t){return!t||!e.getPreviousPageParam?!1:B(e,t)!=null}var Se=class extends ve{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=U(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=U(this.options);e.data!==void 0&&(this.setState(H(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=A(this.state.data,e,this.options);return this.#c({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#c({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(b).catch(b):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>C(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===j||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>C(e.options.staleTime,this)===`static`)}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!S(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){let t=this.observers.indexOf(e);t!==-1&&(this.observers.splice(t,1),this.observers.length||(this.#a&&(this.#s||this.state.fetchStatus===`paused`&&this.state.status===`pending`?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#c({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=ue(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?ye(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:`fetch`,meta:a.fetchOptions?.meta});let o=this.#a=_e({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof R&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#c({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#c({type:`pause`})},onContinue:()=>{this.#c({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await o.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof R){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#c({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.#a===o&&(this.#a=void 0),this.scheduleGc()}}#c(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...V(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...H(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),I.batch(()=>{this.observers.slice().forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function V(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:ge(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function H(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function U(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var W=class extends P{#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p=new Set;constructor(e,t){super(),this.options=t,this.#e=e,this.#o=null,this.bindMethods(),this.setOptions(t)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),G(this.#t,this.options)?this.#m():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return K(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return K(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof C(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!D(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&q(this.#t,n,this.options,t)&&this.#m(),this.updateResult(),r&&(this.#t!==n||C(this.options.enabled,this.#t)!==C(t.enabled,this.#t)||C(this.options.staleTime,this.#t)!==C(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||C(this.options.enabled,this.#t)!==C(t.enabled,this.#t)||i!==this.#f)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return D(this.getCurrentResult(),n)||(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),Reflect.get(e,n))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t),r=()=>{},i,a=new Promise(e=>{i=e,r=this.#e.getQueryCache().subscribe(i=>{i.type===`updated`&&i.query.queryHash===n.queryHash&&n.state.data!==void 0&&(r(),e(this.createResult(n,t)))})});return Promise.race([n.fetch().then(()=>{let e=this.createResult(n,t);return i?.(e),e}).finally(()=>{r()}),a])}fetch(e){return this.#m({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#m(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(b)),t}#h(e){return!N()&&C(this.options.enabled,this.#t)!==!1&&x(e)}#g(){this.#b();let e=C(this.options.staleTime,this.#t);if(this.#r.isStale||!this.#h(e))return;let t=S(this.#r.dataUpdatedAt,e)+1;this.#u=_.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return C(this.options.refetchInterval,this.#t)??!1}#v(e){this.#x(),this.#f=e,this.#f!==0&&this.#h(this.#f)&&(this.#d=_.setInterval(()=>{(this.options.refetchIntervalInBackground||F.isFocused())&&this.#m()},this.#f))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#u!==void 0&&(_.clearTimeout(this.#u),this.#u=void 0)}#x(){this.#d!==void 0&&(_.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&G(e,t),o=i&&q(e,n,t,r);(a||o)&&(l={...l,...V(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:m}=l;d=l.data;let h=!1;if(t.placeholderData!==void 0&&d===void 0&&m===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,h=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#l?.state.data,this.#l):t.placeholderData,e!==void 0&&(m=`success`,d=A(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!h){if(i&&d===a?.data&&t.select===this.#s)d=this.#c;else try{this.#s=t.select,d=t.select(d),d=A(i?.data,d,t),this.#c=d,this.#o=null}catch(e){this.#o=e}}else d===void 0&&(this.#o=null);this.#o&&(f=this.#o,d=this.#c,p=Date.now(),m=`error`,u=!1);let g=l.fetchStatus===`fetching`,_=m===`pending`,v=m===`error`,y=_&&g,b=d!==void 0;return{status:m,fetchStatus:l.fetchStatus,isPending:_,isSuccess:m===`success`,isError:v,isInitialLoading:y,isLoading:y,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:g,isRefetching:g&&!_,isLoadingError:v&&!b,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:v&&b,isStale:J(e,t),refetch:this.refetch,isEnabled:C(t.enabled,e)!==!1}}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);if(this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#l=this.#t),D(t,e))return;this.#r=t;let n=(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#p.size)return!0;let r=new Set(n??this.#p);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})();I.batch(()=>{n&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}};function Ce(e,t){return C(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||C(t.retryOnMount,e)!==!1)}function G(e,t){return Ce(e,t)||e.state.data!==void 0&&K(e,t,t.refetchOnMount)}function K(e,t,n){if(C(t.enabled,e)!==!1&&C(t.staleTime,e)!==`static`){let r=C(n,e);return r===`always`||r!==!1&&J(e,t)}return!1}function q(e,t,n,r){return(e!==t||C(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&J(e,n)}function J(e,t){return C(t.enabled,e)!==!1&&e.isStaleByTime(C(t.staleTime,e))}var we=d.createContext(!1),Te=()=>d.useContext(we);we.Provider;function Ee(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var De=d.createContext(Ee()),Oe=()=>d.useContext(De),ke=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?M(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||r)&&(t.isReset()||(e.retryOnMount=!1))},Ae=e=>{d.useEffect(()=>{e.clearReset()},[e])},je=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||M(n,[e.error,r])),Me=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},Ne=(e,t)=>e?.suspense&&t.isPending,Pe=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Fe(e,t,n){let r=Te(),i=Oe(),a=m(n),o=a.defaultQueryOptions(e),s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,Me(o),ke(o,i,s),Ae(i);let[l]=d.useState(()=>new t(a,o)),u=l.getOptimisticResult(o),f=!r&&c;if(d.useSyncExternalStore(d.useCallback(e=>{let t=f?l.subscribe(I.batchCalls(e)):b;return l.updateResult(),t},[l,f]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),d.useEffect(()=>{l.setOptions(o)},[o,l]),Ne(o,u))throw Pe(o,l,i);if(je({result:u,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw u.error;return o.notifyOnChangeProps?u:l.trackResult(u)}function Ie(e,t){return Fe(e,W,t)}var Le={name:`moon`,size:24,node:[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]};Le.node;var Re=i(Le),ze={name:`sun`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]};ze.node;var Be=i(ze),Ve=2800;function He({size:e=72}){let[t,n]=(0,d.useState)(0);return(0,d.useEffect)(()=>{if(window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let e=window.setInterval(()=>n(e=>(e+1)%s.length),Ve);return()=>window.clearInterval(e)},[]),(0,f.jsx)(`span`,{"aria-hidden":`true`,className:`relative inline-block shrink-0`,style:{width:e,height:e},children:s.map((n,r)=>(0,f.jsx)(`span`,{className:`absolute inset-0`,style:{opacity:+(r===t),transition:`opacity 0.45s ease`},children:(0,f.jsx)(l,{kind:n,size:e})},n))})}function Ue({className:e,style:t,onDark:n=!1}){return(0,f.jsxs)(`span`,{className:e,style:t,children:[`engenty`,(0,f.jsx)(`span`,{style:{color:n?`oklch(88% 0.11 75)`:`var(--ember, oklch(64% 0.195 35))`},children:`.`})]})}var We=`wizards.theme`,Y=new Set,Ge=window.matchMedia(`(prefers-color-scheme: dark)`);function Ke(){try{let e=localStorage.getItem(We);return e===`light`||e===`dark`?e:null}catch{return null}}var X=0;function qe(){return X>0?`dark`:Ke()??(Ge.matches?`dark`:`light`)}function Z(){requestAnimationFrame(()=>{let e=document.querySelector(`meta[name="theme-color"]`),t=document.createElement(`canvas`).getContext(`2d`);if(!e||!t||!document.body)return;t.fillStyle=getComputedStyle(document.body).backgroundColor,t.fillRect(0,0,1,1);let[n,r,i]=t.getImageData(0,0,1,1).data;e.content=`#${[n,r,i].map(e=>e.toString(16).padStart(2,`0`)).join(``)}`})}function Q(){let e=qe()===`dark`;document.documentElement.classList.toggle(`dark`,e),Z();for(let e of Y)e()}Ge.addEventListener(`change`,Q),Q();function Je(e){try{localStorage.setItem(We,e)}catch{document.documentElement.classList.toggle(`dark`,e===`dark`);return}Q()}function $(){return(0,d.useSyncExternalStore)(e=>(Y.add(e),()=>Y.delete(e)),()=>document.documentElement.classList.contains(`dark`)?`dark`:`light`)}var Ye=e=>`oklch(from ${c[u[e]??`cobalt`]} 0.34 calc(c * 0.6) h)`;function Xe(e){(0,d.useEffect)(()=>{let t=document.documentElement;return X+=1,t.style.setProperty(`--stage`,e),Q(),()=>{--X,t.style.removeProperty(`--stage`),Q()}},[e])}function Ze(e){(0,d.useEffect)(()=>{if(!e)return;let t=document.documentElement;return t.style.setProperty(`--stage`,Ye(e)),Z(),()=>{t.style.removeProperty(`--stage`),Z()}},[e])}var Qe={name:`engenty wizards`,short:`wizards`},$e=(0,d.lazy)(()=>r(()=>import(`./fluffy-engenty-D7rFrNcJ.js`).then(e=>({default:e.FluffyEngenty})),__vite__mapDeps([0,1,2])));function et({kind:e,size:t=64,fluffy:n,coat:r,goggles:i=!1,interactive:a=!0}){let o=e||`round`,s=$(),c=r??(s===`dark`?`jelly`:`fur`);if(n&&t>=120&&(c===`fur`||s===`dark`))return(0,f.jsx)(d.Suspense,{fallback:(0,f.jsx)(l,{goggles:i,kind:o,size:Math.round(t*.62)}),children:(0,f.jsx)($e,{goggles:i,coat:c,kind:o,size:t,quality:`medium`,interactive:a})});if(n&&t>=120){let e=Math.round(t*1.08);return(0,f.jsxs)(`div`,{"aria-hidden":`true`,className:`relative flex items-center justify-center overflow-hidden`,style:{background:Ye(o),borderRadius:t*.28,height:t,width:t},children:[(0,f.jsx)(`span`,{className:`pointer-events-none absolute rounded-full bg-white`,style:{filter:`blur(${t*.18}px)`,height:t*.8,opacity:.16,right:-t*.3,top:-t*.3,width:t*.8}}),(0,f.jsx)(`div`,{className:`relative`,style:{marginTop:t*.04},children:(0,f.jsx)(d.Suspense,{fallback:(0,f.jsx)(l,{goggles:i,kind:o,size:Math.round(e*.62)}),children:(0,f.jsx)($e,{goggles:i,coat:`jelly`,kind:o,size:e,quality:`medium`,interactive:a})})})]})}return(0,f.jsx)(l,{goggles:i,kind:o,size:t,animated:a})}function tt({onClick:e,place:t}){return(0,f.jsxs)(`button`,{type:`button`,onClick:e,className:`flex min-w-0 items-center gap-2.5 whitespace-nowrap rounded-full pr-2 text-ink`,children:[(0,f.jsx)(He,{size:30}),(0,f.jsxs)(`span`,{className:`font-display font-semibold text-[1.0625rem] tracking-tight`,children:[`engenty`,(0,f.jsx)(`span`,{className:`text-ember`,children:`.`}),(0,f.jsx)(`span`,{className:t?`ml-1 font-normal text-ink-3 max-sm:hidden`:`ml-1 font-normal text-ink-3 max-[420px]:hidden`,children:Qe.short}),t?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`span`,{className:`mx-2 font-normal text-ink-4 max-sm:hidden`,children:`/`}),(0,f.jsx)(`span`,{className:`font-medium text-ink max-sm:ml-1.5`,children:t})]}):null]})]})}function nt(){let e=$(),t=e===`dark`?`light`:`dark`;return(0,f.jsx)(o,{label:a(t===`dark`?`theme.dark`:`theme.light`),onClick:()=>Je(t),children:e===`dark`?(0,f.jsx)(Be,{className:`size-4`}):(0,f.jsx)(Re,{className:`size-4`})})}export{te as A,F as C,re as D,w as E,M as F,j as I,h as L,T as M,C as N,se as O,D as P,m as R,I as S,ee as T,be as _,Je as a,_e as b,$ as c,Be as d,Re as f,Se as g,W as h,nt as i,b as j,ne as k,He as l,Fe as m,tt as n,Xe as o,Ie as p,et as r,Ze as s,Qe as t,Ue as u,xe as v,P as w,L as x,ve as y};
|