tarsk 0.4.21 → 0.4.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/index.js +543 -352
  2. package/dist/public/assets/{account-view-D1kGyryt.js → account-view-D5WVMsrD.js} +1 -1
  3. package/dist/public/assets/{alert-dialog-Bk7neo_n.js → alert-dialog-2Kcr7vcf.js} +1 -1
  4. package/dist/public/assets/{api-DL5XaoTS.js → api-XK7H2gI0.js} +1 -1
  5. package/dist/public/assets/{browser-tab-BUOT-D_w.js → browser-tab-CgLMsYM8.js} +1 -1
  6. package/dist/public/assets/chat-input-container-VXGAcgnU.js +1 -0
  7. package/dist/public/assets/context-menu-sx0fb5uQ.js +1 -0
  8. package/dist/public/assets/conversation-history-view-IVxKEbP_.js +1 -0
  9. package/dist/public/assets/{dialogs-config-DmDjliuA.js → dialogs-config-3Hr2GRdt.js} +2 -2
  10. package/dist/public/assets/{diff-view-DXIv51Tn.js → diff-view-v-bVp3Zf.js} +2 -2
  11. package/dist/public/assets/{explorer-tab-view-tyn_6pBh.js → explorer-tab-view-CsPSJADk.js} +2 -2
  12. package/dist/public/assets/explorer-tree-DXXm8_b9.js +1 -0
  13. package/dist/public/assets/{explorer-view-Bw3-gTSX.js → explorer-view-8g0_dmv4.js} +1 -1
  14. package/dist/public/assets/history-view-Cyhu-ped.js +1 -0
  15. package/dist/public/assets/index-DsX2aOD3.js +50 -0
  16. package/dist/public/assets/onboarding-DzgFi5ix.js +1 -0
  17. package/dist/public/assets/onboarding-dialog-lFFrB1GZ.js +1 -0
  18. package/dist/public/assets/{page-toolbar-CvreDTwj.js → page-toolbar-De9hbhUD.js} +1 -1
  19. package/dist/public/assets/{project-settings-view-BJYR_l3u.js → project-settings-view-CVYvsVWo.js} +1 -1
  20. package/dist/public/assets/{provider-details-view-B1eTEo0M.js → provider-details-view-Cp_INkPg.js} +1 -1
  21. package/dist/public/assets/providers-sidebar-Dc3Gk1we.js +1 -0
  22. package/dist/public/assets/react-vendor-4OUTOTE0.js +17 -0
  23. package/dist/public/assets/resizable-D62plzWh.js +1 -0
  24. package/dist/public/assets/{run-stop-button-iZHomql0.js → run-stop-button-ClYpPnNG.js} +2 -2
  25. package/dist/public/assets/{settings-view-C38jeeqJ.js → settings-view-BWQrM94z.js} +2 -2
  26. package/dist/public/assets/{side-panel-container-BqWSTCOr.js → side-panel-container-Bkpb7_cb.js} +2 -2
  27. package/dist/public/assets/{standard-list-item-CpBjveM0.js → standard-list-item-DUKJ8HEG.js} +1 -1
  28. package/dist/public/assets/{store-CAPnOXso.js → store-CJdxpohI.js} +1 -1
  29. package/dist/public/assets/{tab-context-Bmd79Rk0.js → tab-context-D2auNMAI.js} +1 -1
  30. package/dist/public/assets/{tabs-DEmnnGvq.js → tabs-DI_KCGYt.js} +1 -1
  31. package/dist/public/assets/{terminal-panel-r8cb3-tk.js → terminal-panel-4EVJwsCQ.js} +2 -2
  32. package/dist/public/assets/{textarea-BjfyGfGR.js → textarea-Dg4M60Yx.js} +1 -1
  33. package/dist/public/assets/todos-view-D3JYa8fa.js +1 -0
  34. package/dist/public/assets/{use-toast-C9B1H3P9.js → use-toast-C3jyoS6i.js} +1 -1
  35. package/dist/public/assets/{utils-BG_JNnOl.js → utils-4yrqj6yI.js} +1 -1
  36. package/dist/public/index.html +18 -18
  37. package/package.json +1 -1
  38. package/dist/public/assets/chat-input-container-2a99CMGs.js +0 -1
  39. package/dist/public/assets/context-menu-DHHElhQ1.js +0 -1
  40. package/dist/public/assets/conversation-history-view-HVFzgO9e.js +0 -1
  41. package/dist/public/assets/explorer-tree-DOg67ane.js +0 -1
  42. package/dist/public/assets/history-view-BOjZoBCb.js +0 -1
  43. package/dist/public/assets/index-DAw9BEzt.js +0 -50
  44. package/dist/public/assets/onboarding-BgEjTEKs.js +0 -1
  45. package/dist/public/assets/onboarding-dialog-EiVl-ynw.js +0 -1
  46. package/dist/public/assets/providers-sidebar-Df50eL_5.js +0 -1
  47. package/dist/public/assets/react-vendor-CaS5zjF7.js +0 -17
  48. package/dist/public/assets/resizable-DJ5w1ZWX.js +0 -1
  49. package/dist/public/assets/todos-view-MAb840dD.js +0 -1
@@ -42,10 +42,10 @@ import{i as e,n as t,t as n}from"./rolldown-runtime-B1FJdls4.js";var r=n((e=>{va
42
42
 
43
43
  If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
44
44
 
45
- For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return l.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},VN=`DialogDescriptionWarning`,HN=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${zN(VN).contentName}}.`;return l.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},UN=mN,WN=gN,GN=bN,KN=SN,qN=EN,JN=jN,YN=NN,XN=FN;function ZN(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=ZN(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function QN(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=ZN(e))&&(r&&(r+=` `),r+=t);return r}var $N=`-`,eP=e=>{let t=iP(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{let n=e.split($N);return n[0]===``&&n.length!==1&&n.shift(),tP(n,t)||rP(e)},getConflictingClassGroupIds:(e,t)=>{let i=n[e]||[];return t&&r[e]?[...i,...r[e]]:i}}},tP=(e,t)=>{if(e.length===0)return t.classGroupId;let n=e[0],r=t.nextPart.get(n),i=r?tP(e.slice(1),r):void 0;if(i)return i;if(t.validators.length===0)return;let a=e.join($N);return t.validators.find(({validator:e})=>e(a))?.classGroupId},nP=/^\[(.+)\]$/,rP=e=>{if(nP.test(e)){let t=nP.exec(e)[1],n=t?.substring(0,t.indexOf(`:`));if(n)return`arbitrary..`+n}},iP=e=>{let{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return cP(Object.entries(e.classGroups),n).forEach(([e,n])=>{aP(n,r,e,t)}),r},aP=(e,t,n,r)=>{e.forEach(e=>{if(typeof e==`string`){let r=e===``?t:oP(t,e);r.classGroupId=n;return}if(typeof e==`function`){if(sP(e)){aP(e(r),t,n,r);return}t.validators.push({validator:e,classGroupId:n});return}Object.entries(e).forEach(([e,i])=>{aP(i,oP(t,e),n,r)})})},oP=(e,t)=>{let n=e;return t.split($N).forEach(e=>{n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)}),n},sP=e=>e.isThemeGetter,cP=(e,t)=>t?e.map(([e,n])=>[e,n.map(e=>typeof e==`string`?t+e:typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,n])=>[t+e,n])):e)]):e,lP=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=new Map,r=new Map,i=(i,a)=>{n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(e){let t=n.get(e);if(t!==void 0)return t;if((t=r.get(e))!==void 0)return i(e,t),t},set(e,t){n.has(e)?n.set(e,t):i(e,t)}}},uP=`!`,dP=e=>{let{separator:t,experimentalParseClassName:n}=e,r=t.length===1,i=t[0],a=t.length,o=e=>{let n=[],o=0,s=0,c;for(let l=0;l<e.length;l++){let u=e[l];if(o===0){if(u===i&&(r||e.slice(l,l+a)===t)){n.push(e.slice(s,l)),s=l+a;continue}if(u===`/`){c=l;continue}}u===`[`?o++:u===`]`&&o--}let l=n.length===0?e:e.substring(s),u=l.startsWith(uP);return{modifiers:n,hasImportantModifier:u,baseClassName:u?l.substring(1):l,maybePostfixModifierPosition:c&&c>s?c-s:void 0}};return n?e=>n({className:e,parseClassName:o}):o},fP=e=>{if(e.length<=1)return e;let t=[],n=[];return e.forEach(e=>{e[0]===`[`?(t.push(...n.sort(),e),n=[]):n.push(e)}),t.push(...n.sort()),t},pP=e=>({cache:lP(e.cacheSize),parseClassName:dP(e),...eP(e)}),mP=/\s+/,hP=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i}=t,a=[],o=e.trim().split(mP),s=``;for(let e=o.length-1;e>=0;--e){let t=o[e],{modifiers:c,hasImportantModifier:l,baseClassName:u,maybePostfixModifierPosition:d}=n(t),f=!!d,p=r(f?u.substring(0,d):u);if(!p){if(!f){s=t+(s.length>0?` `+s:s);continue}if(p=r(u),!p){s=t+(s.length>0?` `+s:s);continue}f=!1}let m=fP(c).join(`:`),h=l?m+uP:m,g=h+p;if(a.includes(g))continue;a.push(g);let _=i(p,f);for(let e=0;e<_.length;++e){let t=_[e];a.push(h+t)}s=t+(s.length>0?` `+s:s)}return s};function gP(){let e=0,t,n,r=``;for(;e<arguments.length;)(t=arguments[e++])&&(n=_P(t))&&(r&&(r+=` `),r+=n);return r}var _P=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=_P(e[r]))&&(n&&(n+=` `),n+=t);return n};function vP(e,...t){let n,r,i,a=o;function o(o){return n=pP(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)}function s(e){let t=r(e);if(t)return t;let a=hP(e,n);return i(e,a),a}return function(){return a(gP.apply(null,arguments))}}var W=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},yP=/^\[(?:([a-z-]+):)?(.+)\]$/i,bP=/^\d+\/\d+$/,xP=new Set([`px`,`full`,`screen`]),SP=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,CP=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,wP=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,TP=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,EP=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,DP=e=>kP(e)||xP.has(e)||bP.test(e),OP=e=>VP(e,`length`,HP),kP=e=>!!e&&!Number.isNaN(Number(e)),AP=e=>VP(e,`number`,kP),jP=e=>!!e&&Number.isInteger(Number(e)),MP=e=>e.endsWith(`%`)&&kP(e.slice(0,-1)),G=e=>yP.test(e),NP=e=>SP.test(e),PP=new Set([`length`,`size`,`percentage`]),FP=e=>VP(e,PP,UP),IP=e=>VP(e,`position`,UP),LP=new Set([`image`,`url`]),RP=e=>VP(e,LP,GP),zP=e=>VP(e,``,WP),BP=()=>!0,VP=(e,t,n)=>{let r=yP.exec(e);return r?r[1]?typeof t==`string`?r[1]===t:t.has(r[1]):n(r[2]):!1},HP=e=>CP.test(e)&&!wP.test(e),UP=()=>!1,WP=e=>TP.test(e),GP=e=>EP.test(e),KP=vP(()=>{let e=W(`colors`),t=W(`spacing`),n=W(`blur`),r=W(`brightness`),i=W(`borderColor`),a=W(`borderRadius`),o=W(`borderSpacing`),s=W(`borderWidth`),c=W(`contrast`),l=W(`grayscale`),u=W(`hueRotate`),d=W(`invert`),f=W(`gap`),p=W(`gradientColorStops`),m=W(`gradientColorStopPositions`),h=W(`inset`),g=W(`margin`),_=W(`opacity`),v=W(`padding`),y=W(`saturate`),b=W(`scale`),x=W(`sepia`),S=W(`skew`),C=W(`space`),w=W(`translate`),T=()=>[`auto`,`contain`,`none`],E=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],D=()=>[`auto`,G,t],O=()=>[G,t],ee=()=>[``,DP,OP],k=()=>[`auto`,kP,G],te=()=>[`bottom`,`center`,`left`,`left-bottom`,`left-top`,`right`,`right-bottom`,`right-top`,`top`],A=()=>[`solid`,`dashed`,`dotted`,`double`,`none`],j=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],M=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`],N=()=>[``,`0`,G],P=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],F=()=>[kP,G];return{cacheSize:500,separator:`:`,theme:{colors:[BP],spacing:[DP,OP],blur:[`none`,``,NP,G],brightness:F(),borderColor:[e],borderRadius:[`none`,``,`full`,NP,G],borderSpacing:O(),borderWidth:ee(),contrast:F(),grayscale:N(),hueRotate:F(),invert:N(),gap:O(),gradientColorStops:[e],gradientColorStopPositions:[MP,OP],inset:D(),margin:D(),opacity:F(),padding:O(),saturate:F(),scale:F(),sepia:N(),skew:F(),space:O(),translate:O()},classGroups:{aspect:[{aspect:[`auto`,`square`,`video`,G]}],container:[`container`],columns:[{columns:[NP]}],"break-after":[{"break-after":P()}],"break-before":[{"break-before":P()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:[...te(),G]}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:[h]}],"inset-x":[{"inset-x":[h]}],"inset-y":[{"inset-y":[h]}],start:[{start:[h]}],end:[{end:[h]}],top:[{top:[h]}],right:[{right:[h]}],bottom:[{bottom:[h]}],left:[{left:[h]}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[`auto`,jP,G]}],basis:[{basis:D()}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`wrap`,`wrap-reverse`,`nowrap`]}],flex:[{flex:[`1`,`auto`,`initial`,`none`,G]}],grow:[{grow:N()}],shrink:[{shrink:N()}],order:[{order:[`first`,`last`,`none`,jP,G]}],"grid-cols":[{"grid-cols":[BP]}],"col-start-end":[{col:[`auto`,{span:[`full`,jP,G]},G]}],"col-start":[{"col-start":k()}],"col-end":[{"col-end":k()}],"grid-rows":[{"grid-rows":[BP]}],"row-start-end":[{row:[`auto`,{span:[jP,G]},G]}],"row-start":[{"row-start":k()}],"row-end":[{"row-end":k()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":[`auto`,`min`,`max`,`fr`,G]}],"auto-rows":[{"auto-rows":[`auto`,`min`,`max`,`fr`,G]}],gap:[{gap:[f]}],"gap-x":[{"gap-x":[f]}],"gap-y":[{"gap-y":[f]}],"justify-content":[{justify:[`normal`,...M()]}],"justify-items":[{"justify-items":[`start`,`end`,`center`,`stretch`]}],"justify-self":[{"justify-self":[`auto`,`start`,`end`,`center`,`stretch`]}],"align-content":[{content:[`normal`,...M(),`baseline`]}],"align-items":[{items:[`start`,`end`,`center`,`baseline`,`stretch`]}],"align-self":[{self:[`auto`,`start`,`end`,`center`,`stretch`,`baseline`]}],"place-content":[{"place-content":[...M(),`baseline`]}],"place-items":[{"place-items":[`start`,`end`,`center`,`baseline`,`stretch`]}],"place-self":[{"place-self":[`auto`,`start`,`end`,`center`,`stretch`]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[C]}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":[C]}],"space-y-reverse":[`space-y-reverse`],w:[{w:[`auto`,`min`,`max`,`fit`,`svw`,`lvw`,`dvw`,G,t]}],"min-w":[{"min-w":[G,t,`min`,`max`,`fit`]}],"max-w":[{"max-w":[G,t,`none`,`full`,`min`,`max`,`fit`,`prose`,{screen:[NP]},NP]}],h:[{h:[G,t,`auto`,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"min-h":[{"min-h":[G,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"max-h":[{"max-h":[G,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],size:[{size:[G,t,`auto`,`min`,`max`,`fit`]}],"font-size":[{text:[`base`,NP,OP]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`,AP]}],"font-family":[{font:[BP]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`,G]}],"line-clamp":[{"line-clamp":[`none`,kP,AP]}],leading:[{leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`,DP,G]}],"list-image":[{"list-image":[`none`,G]}],"list-style-type":[{list:[`none`,`disc`,`decimal`,G]}],"list-style-position":[{list:[`inside`,`outside`]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[_]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[_]}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...A(),`wavy`]}],"text-decoration-thickness":[{decoration:[`auto`,`from-font`,DP,OP]}],"underline-offset":[{"underline-offset":[`auto`,DP,G]}],"text-decoration-color":[{decoration:[e]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:O()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,G]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,G]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-opacity":[{"bg-opacity":[_]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:[...te(),IP]}],"bg-repeat":[{bg:[`no-repeat`,{repeat:[``,`x`,`y`,`round`,`space`]}]}],"bg-size":[{bg:[`auto`,`cover`,`contain`,FP]}],"bg-image":[{bg:[`none`,{"gradient-to":[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},RP]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[m]}],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[_]}],"border-style":[{border:[...A(),`hidden`]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":[`divide-y-reverse`],"divide-opacity":[{"divide-opacity":[_]}],"divide-style":[{divide:A()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:[``,...A()]}],"outline-offset":[{"outline-offset":[DP,G]}],"outline-w":[{outline:[DP,OP]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:ee()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[_]}],"ring-offset-w":[{"ring-offset":[DP,OP]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:[``,`inner`,`none`,NP,zP]}],"shadow-color":[{shadow:[BP]}],opacity:[{opacity:[_]}],"mix-blend":[{"mix-blend":[...j(),`plus-lighter`,`plus-darker`]}],"bg-blend":[{"bg-blend":j()}],filter:[{filter:[``,`none`]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":[``,`none`,NP,G]}],grayscale:[{grayscale:[l]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[y]}],sepia:[{sepia:[x]}],"backdrop-filter":[{"backdrop-filter":[``,`none`]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[_]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[x]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[`none`,`all`,``,`colors`,`opacity`,`shadow`,`transform`,G]}],duration:[{duration:F()}],ease:[{ease:[`linear`,`in`,`out`,`in-out`,G]}],delay:[{delay:F()}],animate:[{animate:[`none`,`spin`,`ping`,`pulse`,`bounce`,G]}],transform:[{transform:[``,`gpu`,`none`]}],scale:[{scale:[b]}],"scale-x":[{"scale-x":[b]}],"scale-y":[{"scale-y":[b]}],rotate:[{rotate:[jP,G]}],"translate-x":[{"translate-x":[w]}],"translate-y":[{"translate-y":[w]}],"skew-x":[{"skew-x":[S]}],"skew-y":[{"skew-y":[S]}],"transform-origin":[{origin:[`center`,`top`,`top-right`,`right`,`bottom-right`,`bottom`,`bottom-left`,`left`,`top-left`,G]}],accent:[{accent:[`auto`,e]}],appearance:[{appearance:[`none`,`auto`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,G]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":[`none`,`auto`]}],resize:[{resize:[`none`,`y`,`x`,``]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,G]}],fill:[{fill:[e,`none`]}],"stroke-w":[{stroke:[DP,OP,AP]}],stroke:[{stroke:[e,`none`]}],sr:[`sr-only`,`not-sr-only`],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-s`,`border-w-e`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-s`,`border-color-e`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]}}});function K(...e){return KP(QN(e))}function qP(e){return e.name?e.name:e.gitUrl?.split(`/`).pop()?.replace(`.git`,``)??e.projectId}function JP(e,t){if(!t)return``;for(let n of e){let e=n.threads.find(e=>e.threadId===t);if(e)return e.title.length>50?e.title.substring(0,50)+`...`:e.title}return``}function YP(e,t){if(!t)return``;let n=e.find(e=>e.projectId===t);return n?qP(n):``}function XP(e){return e.toFixed(2).replace(/\.00$/,``)}var ZP=UN,QP=GN,$P=l.forwardRef((e,t)=>{let n=(0,R.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=K(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(KN,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});$P.displayName=KN.displayName;var eF=l.forwardRef((e,t)=>{let n=(0,R.c)(13),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,V.jsx)($P,{}),n[4]=o):o=n[4];let s;n[5]===i?s=n[6]:(s=K(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,i),n[5]=i,n[6]=s);let c;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,V.jsxs)(XN,{className:`absolute right-4 top-4 h-7 w-7 rounded-full flex items-center justify-center transition-colors hover:bg-foreground hover:text-background disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,children:[(0,V.jsx)(TA,{className:`h-4 w-4`}),(0,V.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),n[7]=c):c=n[7];let l;return n[8]!==r||n[9]!==a||n[10]!==t||n[11]!==s?(l=(0,V.jsxs)(QP,{children:[o,(0,V.jsxs)(qN,{ref:t,className:s,...a,children:[r,c]})]}),n[8]=r,n[9]=a,n[10]=t,n[11]=s,n[12]=l):l=n[12],l});eF.displayName=qN.displayName;var tF=e=>{let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=K(`flex flex-col space-y-1.5 text-center sm:text-left`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,V.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};tF.displayName=`DialogHeader`;var nF=e=>{let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=K(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,V.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};nF.displayName=`DialogFooter`;var rF=l.forwardRef((e,t)=>{let n=(0,R.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=K(`text-lg font-semibold leading-none tracking-tight`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(JN,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});rF.displayName=JN.displayName;var iF=l.forwardRef((e,t)=>{let n=(0,R.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=K(`text-sm text-muted-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(YN,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});iF.displayName=YN.displayName;var aF=Symbol.for(`react.lazy`),oF=l.use;function sF(e){return typeof e==`object`&&!!e&&`then`in e}function cF(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===aF&&`_payload`in e&&sF(e._payload)}function lF(e){let t=dF(e),n=l.forwardRef((e,n)=>{let{children:r,...i}=e;cF(r)&&typeof oF==`function`&&(r=oF(r._payload));let a=l.Children.toArray(r),o=a.find(pF);if(o){let e=o.props.children,r=a.map(t=>t===o?l.Children.count(e)>1?l.Children.only(null):l.isValidElement(e)?e.props.children:null:t);return(0,V.jsx)(t,{...i,ref:n,children:l.isValidElement(e)?l.cloneElement(e,void 0,r):null})}return(0,V.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var uF=lF(`Slot`);function dF(e){let t=l.forwardRef((e,t)=>{let{children:n,...r}=e;if(cF(n)&&typeof oF==`function`&&(n=oF(n._payload)),l.isValidElement(n)){let e=hF(n),i=mF(r,n.props);return n.type!==l.Fragment&&(i.ref=t?PA(t,e):e),l.cloneElement(n,i)}return l.Children.count(n)>1?l.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var fF=Symbol(`radix.slottable`);function pF(e){return l.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===fF}function mF(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function hF(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var gF=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,_F=QN,vF=(e,t)=>n=>{if(t?.variants==null)return _F(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=gF(t)||gF(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return _F(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},yF=vF(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,outline:`border border-input bg-background hover:bg-accent hover:text-accent-foreground`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-foreground hover:text-background transition-colors`,action:`text-muted-foreground hover:bg-foreground hover:text-background transition-colors`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-10 px-6 py-3`,sm:`h-9 rounded-full px-4`,lg:`h-11 rounded-full px-10`,icon:`h-10 w-10 [&_svg]:size-5`,"icon-md":`h-8 w-8 [&_svg]:size-4`,"icon-sm":`h-7 w-7 [&_svg]:size-4`,"icon-xs":`h-5 w-5 [&_svg]:size-3`}},defaultVariants:{variant:`default`,size:`default`}}),bF=l.forwardRef((e,t)=>{let n=(0,R.c)(15),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({className:r,variant:s,size:a,asChild:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let c=o!==void 0&&o?uF:`button`,l;n[6]!==r||n[7]!==a||n[8]!==s?(l=K(yF({variant:s,size:a,className:r})),n[6]=r,n[7]=a,n[8]=s,n[9]=l):l=n[9];let u;return n[10]!==c||n[11]!==i||n[12]!==t||n[13]!==l?(u=(0,V.jsx)(c,{className:l,ref:t,...i}),n[10]=c,n[11]=i,n[12]=t,n[13]=l,n[14]=u):u=n[14],u});bF.displayName=`Button`;var xF=l.forwardRef((e,t)=>{let n=(0,R.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,type:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===r?o=n[5]:(o=K(`flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,r),n[4]=r,n[5]=o);let s;return n[6]!==i||n[7]!==t||n[8]!==o||n[9]!==a?(s=(0,V.jsx)(`input`,{type:a,className:o,ref:t,...i}),n[6]=i,n[7]=t,n[8]=o,n[9]=a,n[10]=s):s=n[10],s});xF.displayName=`Input`;var SF=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=lF(`Primitive.${t}`),r=l.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,V.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),CF=`Label`,wF=l.forwardRef((e,t)=>(0,V.jsx)(SF.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));wF.displayName=CF;var TF=wF,EF=vF(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),DF=l.forwardRef((e,t)=>{let n=(0,R.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=K(EF(),r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(TF,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});DF.displayName=TF.displayName;var OF=l.createContext(void 0);function kF(e){let t=l.useContext(OF);return e||t||`ltr`}function AF(e,[t,n]){return Math.min(n,Math.max(t,e))}function jF(e,t){return l.useReducer((e,n)=>t[e][n]??e,e)}var MF=`ScrollArea`,[NF,PF]=RA(MF),[FF,q]=NF(MF),IF=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=l.useState(null),[u,d]=l.useState(null),[f,p]=l.useState(null),[m,h]=l.useState(null),[g,_]=l.useState(null),[v,y]=l.useState(0),[b,x]=l.useState(0),[S,C]=l.useState(!1),[w,T]=l.useState(!1),E=B(t,e=>c(e)),D=kF(i);return(0,V.jsx)(FF,{scope:n,type:r,dir:D,scrollHideDelay:a,scrollArea:s,viewport:u,onViewportChange:d,content:f,onContentChange:p,scrollbarX:m,onScrollbarXChange:h,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:g,onScrollbarYChange:_,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:y,onCornerHeightChange:x,children:(0,V.jsx)(H.div,{dir:D,...o,ref:E,style:{position:`relative`,"--radix-scroll-area-corner-width":v+`px`,"--radix-scroll-area-corner-height":b+`px`,...e.style}})})});IF.displayName=MF;var LF=`ScrollAreaViewport`,RF=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=q(LF,n),s=B(t,l.useRef(null),o.onViewportChange);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,V.jsx)(H.div,{"data-radix-scroll-area-viewport":``,...a,ref:s,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,V.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});RF.displayName=LF;var zF=`ScrollAreaScrollbar`,BF=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=q(zF,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return l.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,V.jsx)(VF,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,V.jsx)(HF,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,V.jsx)(UF,{...r,ref:t,forceMount:n}):i.type===`always`?(0,V.jsx)(WF,{...r,ref:t}):null});BF.displayName=zF;var VF=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=q(zF,e.__scopeScrollArea),[a,o]=l.useState(!1);return l.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,V.jsx)(Rj,{present:n||a,children:(0,V.jsx)(UF,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),HF=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=q(zF,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=uI(()=>c(`SCROLL_END`),100),[s,c]=jF(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return l.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),l.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,V.jsx)(Rj,{present:n||s!==`hidden`,children:(0,V.jsx)(WF,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:z(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:z(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),UF=l.forwardRef((e,t)=>{let n=q(zF,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=l.useState(!1),s=e.orientation===`horizontal`,c=uI(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return dI(n.viewport,c),dI(n.content,c),(0,V.jsx)(Rj,{present:r||a,children:(0,V.jsx)(WF,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),WF=l.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=q(zF,e.__scopeScrollArea),a=l.useRef(null),o=l.useRef(0),[s,c]=l.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=rI(s.viewport,s.content),d={...r,sizes:s,onSizesChange:c,hasThumb:u>0&&u<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function f(e,t){return aI(e,o.current,s,t)}return n===`horizontal`?(0,V.jsx)(GF,{...d,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=oI(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=f(e,i.dir))}}):n===`vertical`?(0,V.jsx)(KF,{...d,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=oI(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=f(e))}}):null}),GF=l.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=q(zF,e.__scopeScrollArea),[o,s]=l.useState(),c=l.useRef(null),u=B(t,c,a.onScrollbarXChange);return l.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,V.jsx)(YF,{"data-orientation":`horizontal`,...i,ref:u,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":iI(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),cI(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:nI(o.paddingLeft),paddingEnd:nI(o.paddingRight)}})}})}),KF=l.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=q(zF,e.__scopeScrollArea),[o,s]=l.useState(),c=l.useRef(null),u=B(t,c,a.onScrollbarYChange);return l.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,V.jsx)(YF,{"data-orientation":`vertical`,...i,ref:u,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":iI(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),cI(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:nI(o.paddingTop),paddingEnd:nI(o.paddingBottom)}})}})}),[qF,JF]=NF(zF),YF=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:d,onResize:f,...p}=e,m=q(zF,n),[h,g]=l.useState(null),_=B(t,e=>g(e)),v=l.useRef(null),y=l.useRef(``),b=m.viewport,x=r.content-r.viewport,S=U(d),C=U(c),w=uI(f,10);function T(e){v.current&&u({x:e.clientX-v.current.left,y:e.clientY-v.current.top})}return l.useEffect(()=>{let e=e=>{let t=e.target;h?.contains(t)&&S(e,x)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[b,h,x,S]),l.useEffect(C,[r,C]),dI(h,w),dI(m.content,w),(0,V.jsx)(qF,{scope:n,scrollbar:h,hasThumb:i,onThumbChange:U(a),onThumbPointerUp:U(o),onThumbPositionChange:C,onThumbPointerDown:U(s),children:(0,V.jsx)(H.div,{...p,ref:_,style:{position:`absolute`,...p.style},onPointerDown:z(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),v.current=h.getBoundingClientRect(),y.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,m.viewport&&(m.viewport.style.scrollBehavior=`auto`),T(e))}),onPointerMove:z(e.onPointerMove,T),onPointerUp:z(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=y.current,m.viewport&&(m.viewport.style.scrollBehavior=``),v.current=null})})})}),XF=`ScrollAreaThumb`,ZF=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=JF(XF,e.__scopeScrollArea);return(0,V.jsx)(Rj,{present:n||i.hasThumb,children:(0,V.jsx)(QF,{ref:t,...r})})}),QF=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=q(XF,n),o=JF(XF,n),{onThumbPositionChange:s}=o,c=B(t,e=>o.onThumbChange(e)),u=l.useRef(void 0),d=uI(()=>{u.current&&=(u.current(),void 0)},100);return l.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{d(),u.current||(u.current=lI(e,s),s())};return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,d,s]),(0,V.jsx)(H.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:z(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:z(e.onPointerUp,o.onThumbPointerUp)})});ZF.displayName=XF;var $F=`ScrollAreaCorner`,eI=l.forwardRef((e,t)=>{let n=q($F,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,V.jsx)(tI,{...e,ref:t}):null});eI.displayName=$F;var tI=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=q($F,n),[a,o]=l.useState(0),[s,c]=l.useState(0),u=!!(a&&s);return dI(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),dI(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),u?(0,V.jsx)(H.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function nI(e){return e?parseInt(e,10):0}function rI(e,t){let n=e/t;return isNaN(n)?0:n}function iI(e){let t=rI(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function aI(e,t,n,r=`ltr`){let i=iI(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return sI([c,l],d)(e)}function oI(e,t,n=`ltr`){let r=iI(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=AF(e,n===`ltr`?[0,o]:[o*-1,0]);return sI([0,o],[0,s])(c)}function sI(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function cI(e,t){return e>0&&e<t}var lI=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function uI(e,t){let n=U(e),r=l.useRef(0);return l.useEffect(()=>()=>window.clearTimeout(r.current),[]),l.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function dI(e,t){let n=U(t);BA(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var fI=IF,pI=RF,mI=eI,hI=l.forwardRef((e,t)=>{let n=(0,R.c)(15),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=K(`relative overflow-hidden`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,V.jsx)(pI,{className:`h-full w-full rounded-[inherit]`,children:r}),n[6]=r,n[7]=s);let c,l;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,V.jsx)(gI,{}),l=(0,V.jsx)(mI,{}),n[8]=c,n[9]=l):(c=n[8],l=n[9]);let u;return n[10]!==a||n[11]!==t||n[12]!==o||n[13]!==s?(u=(0,V.jsxs)(fI,{ref:t,className:o,...a,children:[s,c,l]}),n[10]=a,n[11]=t,n[12]=o,n[13]=s,n[14]=u):u=n[14],u});hI.displayName=fI.displayName;var gI=l.forwardRef((e,t)=>{let n=(0,R.c)(14),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,orientation:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?`vertical`:a,s=o===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-[1px]`,c=o===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-[1px]`,l;n[4]!==r||n[5]!==s||n[6]!==c?(l=K(`flex touch-none select-none transition-colors`,s,c,r),n[4]=r,n[5]=s,n[6]=c,n[7]=l):l=n[7];let u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,V.jsx)(ZF,{className:`relative flex-1 rounded-full bg-border`}),n[8]=u):u=n[8];let d;return n[9]!==o||n[10]!==i||n[11]!==t||n[12]!==l?(d=(0,V.jsx)(BF,{ref:t,orientation:o,className:l,...i,children:u}),n[9]=o,n[10]=i,n[11]=t,n[12]=l,n[13]=d):d=n[13],d});gI.displayName=BF.displayName;var _I=[`462`,`8100`].includes(document.location.port)?`http://${document.location.hostname}:462`:`http://${document.location.hostname}:641`;function vI(){return _I}function yI(e){return`${_I}${e.startsWith(`/`)?e:`/${e}`}`}async function bI(e){try{let t=await e.json();if(typeof t.error==`string`)return t.error;if(t.error&&typeof t.error==`object`)return t.error.details??t.error.message??`Unknown error`}catch{}return e.statusText||`Unknown error`}function xI(e,t,n){let r=Error(e);return n?.error&&typeof n.error==`object`&&(r.details=n.error.details,r.code=n.error.code),r}async function J(e,t){let n=await fetch(yI(e),{...t,method:`GET`});if(!n.ok){let e=await bI(n);throw Error(e)}return n.json()}async function Y(e,t,n){let r=await fetch(yI(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await bI(r);throw Error(e)}return r.json()}async function SI(e,t,n){let r=await fetch(yI(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await bI(r);throw Error(e)}return r.json()}async function CI(e,t,n){let r=await fetch(yI(e),{...n,method:`PATCH`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await bI(r);throw Error(e)}return r.json()}async function wI(e,t,n){let r=await fetch(yI(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await bI(r);throw Error(e)}return r.body}async function TI(e,t){let n=await fetch(yI(e),{...t,method:`DELETE`});if(!n.ok){let e=await bI(n);throw Error(e)}if(n.status!==204)return n.json()}async function EI(e,t,n){let r=await fetch(yI(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0,signal:n?.signal});if(!r.ok){let e=await bI(r);throw Error(e)}return r.body}async function DI(e,t){let n=await fetch(yI(e),{...t,method:`GET`});if(!n.ok){let e=await bI(n);throw Error(e)}return n.body}async function OI(e,t,n){let r=await fetch(yI(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e;try{e=await r.json()}catch{}throw xI(await bI(r),r,e)}return r.json()}async function kI(e,t,n){let r=await fetch(yI(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e;try{e=await r.json()}catch{}throw xI(await bI(r),r,e)}return r.json()}function X(...e){return e.map(e=>encodeURIComponent(String(e))).join(`/`)}var Z=new class{cache=new Map;inFlightRequests=new Map;async get(e,t,n){let r=this.inFlightRequests.get(e);if(r)return r;let i=this.cache.get(e);if(i&&Date.now()<i.expires)return i.data;let a=t().then(t=>(this.cache.set(e,{data:t,expires:Date.now()+n}),t)).finally(()=>{this.inFlightRequests.delete(e)});return this.inFlightRequests.set(e,a),a}getSync(e){let t=this.cache.get(e);if(t&&Date.now()<t.expires)return t.data}invalidate(e){this.cache.delete(e)}invalidatePattern(e){let t=[];for(let n of this.cache.keys())e.test(n)&&t.push(n);t.forEach(e=>this.cache.delete(e))}clear(){this.cache.clear(),this.inFlightRequests.clear()}},AI=t({EmptyBalanceError:()=>jI,LOW_BALANCE_THRESHOLD:()=>50,applyAppUpdate:()=>vR,checkBalance:()=>MI,checkForAppUpdate:()=>_R,checkGitInstalled:()=>sR,checkVpInstalled:()=>PI,clearChatHistory:()=>sL,completeOnboarding:()=>cR,copyImageToClipboard:()=>TL,createGitCheckpoint:()=>HL,createGitHubRepo:()=>VL,createProject:()=>qI,createScaffoldedProject:()=>II,createSlashCommand:()=>fR,createThread:()=>QI,createThreadAgent:()=>PR,createThreadSkill:()=>NR,deleteCommand:()=>GL,deleteMCPServer:()=>OR,deleteProject:()=>XI,deleteSlashCommand:()=>pR,deleteThread:()=>$I,deleteThreadAIFile:()=>FR,disableImageModel:()=>CL,disableModel:()=>vL,enableImageModel:()=>SL,enableModel:()=>_L,fetchAvailableImageModels:()=>bL,fetchAvailableModels:()=>gL,fixComments:()=>tL,generateCommitMessage:()=>OL,generateImage:()=>wL,generatePRInfo:()=>NL,getAccountInfo:()=>VI,getAllEnabledImageModels:()=>xL,getAllEnabledModels:()=>yL,getAvailablePrograms:()=>HI,getChatHistory:()=>rL,getConversationFolderPath:()=>iL,getConversationHistory:()=>mR,getConversationUsage:()=>gR,getGitDiff:()=>aR,getGitLog:()=>BL,getGitUser:()=>WI,getGitUserName:()=>GI,getMCPConfig:()=>ER,getModelInfo:()=>$L,getOnboardingStatus:()=>oR,getPackageScripts:()=>KL,getPopularAgents:()=>SR,getPopularMCPServers:()=>kR,getPopularRules:()=>CR,getPopularSkills:()=>xR,getPopularSlashCommands:()=>wR,getProcessingThreads:()=>UI,getProject:()=>YI,getProjectScripts:()=>YL,getProjects:()=>KI,getProviderCredits:()=>RI,getProviders:()=>LI,getScaffoldTemplates:()=>NI,getSlashCommands:()=>uR,getSlashCommandsAndSkills:()=>dR,getThread:()=>QL,getThreadAIFile:()=>jR,getThreadAIFiles:()=>AR,getThreadFiles:()=>JL,getThreadUsageSummary:()=>hR,getUnifiedGitStatus:()=>DL,gitCheckoutBranch:()=>RL,gitCommit:()=>kL,gitCreateBranch:()=>IL,gitCreatePR:()=>PL,gitFetch:()=>FL,gitListBranches:()=>LL,gitPull:()=>jL,gitPush:()=>AL,gitRevertFile:()=>zL,gitSyncBranch:()=>ML,installGithubFolderToThread:()=>TR,installVp:()=>FI,invalidateProjectsCache:()=>ZI,isDevServerRunning:()=>rR,openExternalUrl:()=>BI,openFolderProject:()=>JI,openProjectWith:()=>dL,openThreadWith:()=>fL,parseSSEStream:()=>lL,resetOnboarding:()=>lR,restoreGitCheckpoint:()=>UL,runCommand:()=>qL,runProjectScript:()=>XL,saveCommand:()=>WL,saveImageToDownloads:()=>EL,saveMCPServer:()=>DR,saveProviderKey:()=>zI,saveThreadAIFile:()=>MR,selectThread:()=>nL,sendChatMessage:()=>aL,startDevServer:()=>tR,stopChatGeneration:()=>cL,stopDevServer:()=>nR,stopProjectScript:()=>ZL,submitAskUserAnswer:()=>yR,submitBrowserJsResult:()=>bR,subscribeToChatStream:()=>oL,suggestRunCommand:()=>eR,ttlCache:()=>Z,updateProject:()=>uL,updateProjectName:()=>hL,updateProjectOpenWith:()=>pL,updateProjectSetupScript:()=>mL,updateRunCommand:()=>iR,updateThread:()=>eL}),jI=class extends Error{constructor(){super(`No prompts remaining`),this.name=`EmptyBalanceError`}};async function MI(){let{plan:e,promptsRemaining:t}=await VI();return e===`unlimited-pro`?{isEmpty:!1,isLow:!1}:{isEmpty:t<=0,isLow:t>0&&t<=50}}async function NI(){return J(`api/scaffold/templates`)}async function PI(){return(await J(`api/scaffold/check-vp`)).installed}async function FI(){return Y(`api/scaffold/install-vp`,{})}async function II(e,t,n){return EI(`api/scaffold`,{projectName:e,templateId:t,packageManager:n})}async function LI(){return J(`api/providers`)}async function RI(e){return J(`api/providers/${X(e)}/credits`)}async function zI(e,t){await Y(`api/providers/keys`,{providerName:e,apiKey:t})}async function BI(e){try{await Y(`api/providers/open-external`,{url:e})}catch(t){if(t instanceof Error&&t.message===`External URL opening not available in server mode`){window.open(e,`_blank`,`noopener,noreferrer`);return}throw t}}async function VI(){return J(`api/account/info`)}async function HI(){return Z.get(`available-programs`,async()=>(await J(`api/programs`)).programs??[],3e5)}async function UI(){return(await J(`api/threads/processing`)).processingThreadIds??[]}async function WI(){return Z.get(`git-user`,async()=>{try{let e=await J(`api/git/user`);return{name:e.name??``,email:e.email??``}}catch{return{name:``,email:``}}},6e5)}async function GI(){return(await WI()).name}async function KI(){return Z.get(`projects`,async()=>({projects:(await J(`api/projects`)||[]).map(e=>{let t=e;return{projectId:t.projectId??t.id,name:t.name,gitUrl:t.gitUrl,projectPath:t.projectPath??t.path,threads:t.threads??[],commands:t.commands??[],setupScript:t.setupScript,runCommand:t.runCommand,planPrompt:t.planPrompt,testPrompt:t.testPrompt,reviewPrompt:t.reviewPrompt}}).map(e=>{let t=(e.threads||[]).map(e=>{let t=e,n=t.threadId??t.id;return{threadId:n,title:t.title??n,path:t.path??``,currentBranch:t.currentBranch??``,isSelected:!!t.isSelected,model:t.model??void 0,modelProvider:t.modelProvider??void 0,gitStatusDot:!!t.gitStatusDot}});return{...e,threads:t}})}),3e4)}async function qI(e,t){return EI(`api/projects`,{gitUrl:e,commitMethod:t})}async function JI(){return EI(`api/projects/open-folder`,{})}async function YI(e){return J(`api/projects/${X(e)}`)}async function XI(e){await TI(`api/projects/${X(e)}`),Z.invalidate(`projects`)}function ZI(){Z.invalidate(`projects`)}async function QI(e,t){return EI(`api/threads`,{projectId:e,title:t})}async function $I(e,t){await TI(`api/threads/${X(t)}`)}async function eL(e,t){await CI(`api/threads/${X(e)}`,t),(`model`in t||`modelProvider`in t)&&Z.invalidate(`projects`)}async function tL(e,t){return Y(`api/threads/${X(e)}/fix-comments`,{comments:t})}async function nL(e,t){await Y(`api/threads/${X(t)}/select`)}async function rL(e){return{threadId:e,messages:await J(`api/threads/${X(e)}/messages`)}}async function iL(e){return(await J(`api/threads/${X(e)}/conversation-folder-path`)).path}async function aL(e,t,n,r=[],i,a,o){let{isEmpty:s}=await MI();if(s)throw new jI;return EI(`api/chat`,{threadId:e,content:t,model:n,provider:a,planMode:o,attachments:r.map(e=>({name:e.fileName,content:e.content.split(`,`)[1]||e.content,size:0,mimeType:e.mimeType||`application/octet-stream`}))},{signal:i})}async function oL(e,t){return DI(`api/chat/subscribe/${X(e)}`,{signal:t})}async function sL(e){return(await TI(`api/chat/${X(e)}`))?.conversationId||``}async function cL(e){try{await Y(`api/chat/stop/${X(e)}`)}catch{}}function lL(e,t,n,r,i){let a=e.getReader(),o=!1,s=()=>{o=!0,a.cancel().catch(()=>{})},c=new TextDecoder,l=``,u=e=>e?[/^Cannot read properties/i,/^Error:/i,/^TypeError:/i,/^ReferenceError:/i,/^SyntaxError:/i,/^failed to/i,/^error:/i,/forbidden/i,/unauthorized/i].some(t=>t.test(e.trim())):!1;async function d(){try{for(;!o;){let{done:e,value:s}=await a.read();if(e||o){if(!o&&e){if(l.trim())try{let e=JSON.parse(l);e.type===`error`?r(e.content??`Unknown error`):e.type===`message`?i?.({role:e.role??`assistant`,content:e.content??``,isThinking:e.isThinking}):e.type===`complete`||(e.type===`result`&&u(e.content)?r(e.content??`Unknown error`):t(e))}catch{l.trim()&&t({type:`result`,content:l})}n()}break}l+=c.decode(s,{stream:!0});let d=l.split(`
45
+ For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return l.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},VN=`DialogDescriptionWarning`,HN=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${zN(VN).contentName}}.`;return l.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},UN=mN,WN=gN,GN=bN,KN=SN,qN=EN,JN=jN,YN=NN,XN=FN;function ZN(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=ZN(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function QN(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=ZN(e))&&(r&&(r+=` `),r+=t);return r}var $N=`-`,eP=e=>{let t=iP(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{let n=e.split($N);return n[0]===``&&n.length!==1&&n.shift(),tP(n,t)||rP(e)},getConflictingClassGroupIds:(e,t)=>{let i=n[e]||[];return t&&r[e]?[...i,...r[e]]:i}}},tP=(e,t)=>{if(e.length===0)return t.classGroupId;let n=e[0],r=t.nextPart.get(n),i=r?tP(e.slice(1),r):void 0;if(i)return i;if(t.validators.length===0)return;let a=e.join($N);return t.validators.find(({validator:e})=>e(a))?.classGroupId},nP=/^\[(.+)\]$/,rP=e=>{if(nP.test(e)){let t=nP.exec(e)[1],n=t?.substring(0,t.indexOf(`:`));if(n)return`arbitrary..`+n}},iP=e=>{let{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return cP(Object.entries(e.classGroups),n).forEach(([e,n])=>{aP(n,r,e,t)}),r},aP=(e,t,n,r)=>{e.forEach(e=>{if(typeof e==`string`){let r=e===``?t:oP(t,e);r.classGroupId=n;return}if(typeof e==`function`){if(sP(e)){aP(e(r),t,n,r);return}t.validators.push({validator:e,classGroupId:n});return}Object.entries(e).forEach(([e,i])=>{aP(i,oP(t,e),n,r)})})},oP=(e,t)=>{let n=e;return t.split($N).forEach(e=>{n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)}),n},sP=e=>e.isThemeGetter,cP=(e,t)=>t?e.map(([e,n])=>[e,n.map(e=>typeof e==`string`?t+e:typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,n])=>[t+e,n])):e)]):e,lP=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=new Map,r=new Map,i=(i,a)=>{n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(e){let t=n.get(e);if(t!==void 0)return t;if((t=r.get(e))!==void 0)return i(e,t),t},set(e,t){n.has(e)?n.set(e,t):i(e,t)}}},uP=`!`,dP=e=>{let{separator:t,experimentalParseClassName:n}=e,r=t.length===1,i=t[0],a=t.length,o=e=>{let n=[],o=0,s=0,c;for(let l=0;l<e.length;l++){let u=e[l];if(o===0){if(u===i&&(r||e.slice(l,l+a)===t)){n.push(e.slice(s,l)),s=l+a;continue}if(u===`/`){c=l;continue}}u===`[`?o++:u===`]`&&o--}let l=n.length===0?e:e.substring(s),u=l.startsWith(uP);return{modifiers:n,hasImportantModifier:u,baseClassName:u?l.substring(1):l,maybePostfixModifierPosition:c&&c>s?c-s:void 0}};return n?e=>n({className:e,parseClassName:o}):o},fP=e=>{if(e.length<=1)return e;let t=[],n=[];return e.forEach(e=>{e[0]===`[`?(t.push(...n.sort(),e),n=[]):n.push(e)}),t.push(...n.sort()),t},pP=e=>({cache:lP(e.cacheSize),parseClassName:dP(e),...eP(e)}),mP=/\s+/,hP=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i}=t,a=[],o=e.trim().split(mP),s=``;for(let e=o.length-1;e>=0;--e){let t=o[e],{modifiers:c,hasImportantModifier:l,baseClassName:u,maybePostfixModifierPosition:d}=n(t),f=!!d,p=r(f?u.substring(0,d):u);if(!p){if(!f){s=t+(s.length>0?` `+s:s);continue}if(p=r(u),!p){s=t+(s.length>0?` `+s:s);continue}f=!1}let m=fP(c).join(`:`),h=l?m+uP:m,g=h+p;if(a.includes(g))continue;a.push(g);let _=i(p,f);for(let e=0;e<_.length;++e){let t=_[e];a.push(h+t)}s=t+(s.length>0?` `+s:s)}return s};function gP(){let e=0,t,n,r=``;for(;e<arguments.length;)(t=arguments[e++])&&(n=_P(t))&&(r&&(r+=` `),r+=n);return r}var _P=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=_P(e[r]))&&(n&&(n+=` `),n+=t);return n};function vP(e,...t){let n,r,i,a=o;function o(o){return n=pP(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)}function s(e){let t=r(e);if(t)return t;let a=hP(e,n);return i(e,a),a}return function(){return a(gP.apply(null,arguments))}}var W=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},yP=/^\[(?:([a-z-]+):)?(.+)\]$/i,bP=/^\d+\/\d+$/,xP=new Set([`px`,`full`,`screen`]),SP=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,CP=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,wP=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,TP=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,EP=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,DP=e=>kP(e)||xP.has(e)||bP.test(e),OP=e=>VP(e,`length`,HP),kP=e=>!!e&&!Number.isNaN(Number(e)),AP=e=>VP(e,`number`,kP),jP=e=>!!e&&Number.isInteger(Number(e)),MP=e=>e.endsWith(`%`)&&kP(e.slice(0,-1)),G=e=>yP.test(e),NP=e=>SP.test(e),PP=new Set([`length`,`size`,`percentage`]),FP=e=>VP(e,PP,UP),IP=e=>VP(e,`position`,UP),LP=new Set([`image`,`url`]),RP=e=>VP(e,LP,GP),zP=e=>VP(e,``,WP),BP=()=>!0,VP=(e,t,n)=>{let r=yP.exec(e);return r?r[1]?typeof t==`string`?r[1]===t:t.has(r[1]):n(r[2]):!1},HP=e=>CP.test(e)&&!wP.test(e),UP=()=>!1,WP=e=>TP.test(e),GP=e=>EP.test(e),KP=vP(()=>{let e=W(`colors`),t=W(`spacing`),n=W(`blur`),r=W(`brightness`),i=W(`borderColor`),a=W(`borderRadius`),o=W(`borderSpacing`),s=W(`borderWidth`),c=W(`contrast`),l=W(`grayscale`),u=W(`hueRotate`),d=W(`invert`),f=W(`gap`),p=W(`gradientColorStops`),m=W(`gradientColorStopPositions`),h=W(`inset`),g=W(`margin`),_=W(`opacity`),v=W(`padding`),y=W(`saturate`),b=W(`scale`),x=W(`sepia`),S=W(`skew`),C=W(`space`),w=W(`translate`),T=()=>[`auto`,`contain`,`none`],E=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],D=()=>[`auto`,G,t],O=()=>[G,t],ee=()=>[``,DP,OP],k=()=>[`auto`,kP,G],te=()=>[`bottom`,`center`,`left`,`left-bottom`,`left-top`,`right`,`right-bottom`,`right-top`,`top`],A=()=>[`solid`,`dashed`,`dotted`,`double`,`none`],j=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],M=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`],N=()=>[``,`0`,G],P=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],F=()=>[kP,G];return{cacheSize:500,separator:`:`,theme:{colors:[BP],spacing:[DP,OP],blur:[`none`,``,NP,G],brightness:F(),borderColor:[e],borderRadius:[`none`,``,`full`,NP,G],borderSpacing:O(),borderWidth:ee(),contrast:F(),grayscale:N(),hueRotate:F(),invert:N(),gap:O(),gradientColorStops:[e],gradientColorStopPositions:[MP,OP],inset:D(),margin:D(),opacity:F(),padding:O(),saturate:F(),scale:F(),sepia:N(),skew:F(),space:O(),translate:O()},classGroups:{aspect:[{aspect:[`auto`,`square`,`video`,G]}],container:[`container`],columns:[{columns:[NP]}],"break-after":[{"break-after":P()}],"break-before":[{"break-before":P()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:[...te(),G]}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:[h]}],"inset-x":[{"inset-x":[h]}],"inset-y":[{"inset-y":[h]}],start:[{start:[h]}],end:[{end:[h]}],top:[{top:[h]}],right:[{right:[h]}],bottom:[{bottom:[h]}],left:[{left:[h]}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[`auto`,jP,G]}],basis:[{basis:D()}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`wrap`,`wrap-reverse`,`nowrap`]}],flex:[{flex:[`1`,`auto`,`initial`,`none`,G]}],grow:[{grow:N()}],shrink:[{shrink:N()}],order:[{order:[`first`,`last`,`none`,jP,G]}],"grid-cols":[{"grid-cols":[BP]}],"col-start-end":[{col:[`auto`,{span:[`full`,jP,G]},G]}],"col-start":[{"col-start":k()}],"col-end":[{"col-end":k()}],"grid-rows":[{"grid-rows":[BP]}],"row-start-end":[{row:[`auto`,{span:[jP,G]},G]}],"row-start":[{"row-start":k()}],"row-end":[{"row-end":k()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":[`auto`,`min`,`max`,`fr`,G]}],"auto-rows":[{"auto-rows":[`auto`,`min`,`max`,`fr`,G]}],gap:[{gap:[f]}],"gap-x":[{"gap-x":[f]}],"gap-y":[{"gap-y":[f]}],"justify-content":[{justify:[`normal`,...M()]}],"justify-items":[{"justify-items":[`start`,`end`,`center`,`stretch`]}],"justify-self":[{"justify-self":[`auto`,`start`,`end`,`center`,`stretch`]}],"align-content":[{content:[`normal`,...M(),`baseline`]}],"align-items":[{items:[`start`,`end`,`center`,`baseline`,`stretch`]}],"align-self":[{self:[`auto`,`start`,`end`,`center`,`stretch`,`baseline`]}],"place-content":[{"place-content":[...M(),`baseline`]}],"place-items":[{"place-items":[`start`,`end`,`center`,`baseline`,`stretch`]}],"place-self":[{"place-self":[`auto`,`start`,`end`,`center`,`stretch`]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[C]}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":[C]}],"space-y-reverse":[`space-y-reverse`],w:[{w:[`auto`,`min`,`max`,`fit`,`svw`,`lvw`,`dvw`,G,t]}],"min-w":[{"min-w":[G,t,`min`,`max`,`fit`]}],"max-w":[{"max-w":[G,t,`none`,`full`,`min`,`max`,`fit`,`prose`,{screen:[NP]},NP]}],h:[{h:[G,t,`auto`,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"min-h":[{"min-h":[G,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"max-h":[{"max-h":[G,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],size:[{size:[G,t,`auto`,`min`,`max`,`fit`]}],"font-size":[{text:[`base`,NP,OP]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`,AP]}],"font-family":[{font:[BP]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`,G]}],"line-clamp":[{"line-clamp":[`none`,kP,AP]}],leading:[{leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`,DP,G]}],"list-image":[{"list-image":[`none`,G]}],"list-style-type":[{list:[`none`,`disc`,`decimal`,G]}],"list-style-position":[{list:[`inside`,`outside`]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[_]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[_]}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...A(),`wavy`]}],"text-decoration-thickness":[{decoration:[`auto`,`from-font`,DP,OP]}],"underline-offset":[{"underline-offset":[`auto`,DP,G]}],"text-decoration-color":[{decoration:[e]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:O()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,G]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,G]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-opacity":[{"bg-opacity":[_]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:[...te(),IP]}],"bg-repeat":[{bg:[`no-repeat`,{repeat:[``,`x`,`y`,`round`,`space`]}]}],"bg-size":[{bg:[`auto`,`cover`,`contain`,FP]}],"bg-image":[{bg:[`none`,{"gradient-to":[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},RP]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[m]}],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[_]}],"border-style":[{border:[...A(),`hidden`]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":[`divide-y-reverse`],"divide-opacity":[{"divide-opacity":[_]}],"divide-style":[{divide:A()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:[``,...A()]}],"outline-offset":[{"outline-offset":[DP,G]}],"outline-w":[{outline:[DP,OP]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:ee()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[_]}],"ring-offset-w":[{"ring-offset":[DP,OP]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:[``,`inner`,`none`,NP,zP]}],"shadow-color":[{shadow:[BP]}],opacity:[{opacity:[_]}],"mix-blend":[{"mix-blend":[...j(),`plus-lighter`,`plus-darker`]}],"bg-blend":[{"bg-blend":j()}],filter:[{filter:[``,`none`]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":[``,`none`,NP,G]}],grayscale:[{grayscale:[l]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[y]}],sepia:[{sepia:[x]}],"backdrop-filter":[{"backdrop-filter":[``,`none`]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[_]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[x]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[`none`,`all`,``,`colors`,`opacity`,`shadow`,`transform`,G]}],duration:[{duration:F()}],ease:[{ease:[`linear`,`in`,`out`,`in-out`,G]}],delay:[{delay:F()}],animate:[{animate:[`none`,`spin`,`ping`,`pulse`,`bounce`,G]}],transform:[{transform:[``,`gpu`,`none`]}],scale:[{scale:[b]}],"scale-x":[{"scale-x":[b]}],"scale-y":[{"scale-y":[b]}],rotate:[{rotate:[jP,G]}],"translate-x":[{"translate-x":[w]}],"translate-y":[{"translate-y":[w]}],"skew-x":[{"skew-x":[S]}],"skew-y":[{"skew-y":[S]}],"transform-origin":[{origin:[`center`,`top`,`top-right`,`right`,`bottom-right`,`bottom`,`bottom-left`,`left`,`top-left`,G]}],accent:[{accent:[`auto`,e]}],appearance:[{appearance:[`none`,`auto`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,G]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":[`none`,`auto`]}],resize:[{resize:[`none`,`y`,`x`,``]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,G]}],fill:[{fill:[e,`none`]}],"stroke-w":[{stroke:[DP,OP,AP]}],stroke:[{stroke:[e,`none`]}],sr:[`sr-only`,`not-sr-only`],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-s`,`border-w-e`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-s`,`border-color-e`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]}}});function K(...e){return KP(QN(e))}function qP(e){return e.name?e.name:e.gitUrl?.split(`/`).pop()?.replace(`.git`,``)??e.projectId}function JP(e,t){if(!t)return``;for(let n of e){let e=n.threads.find(e=>e.threadId===t);if(e)return e.title.length>50?e.title.substring(0,50)+`...`:e.title}return``}function YP(e,t){if(!t)return``;let n=e.find(e=>e.projectId===t);return n?qP(n):``}function XP(e){return e.toFixed(2).replace(/\.00$/,``)}var ZP=UN,QP=GN,$P=l.forwardRef((e,t)=>{let n=(0,R.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=K(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(KN,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});$P.displayName=KN.displayName;var eF=l.forwardRef((e,t)=>{let n=(0,R.c)(13),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,V.jsx)($P,{}),n[4]=o):o=n[4];let s;n[5]===i?s=n[6]:(s=K(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,i),n[5]=i,n[6]=s);let c;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,V.jsxs)(XN,{className:`absolute right-4 top-4 h-7 w-7 rounded-full flex items-center justify-center transition-colors hover:bg-foreground hover:text-background disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,children:[(0,V.jsx)(TA,{className:`h-4 w-4`}),(0,V.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),n[7]=c):c=n[7];let l;return n[8]!==r||n[9]!==a||n[10]!==t||n[11]!==s?(l=(0,V.jsxs)(QP,{children:[o,(0,V.jsxs)(qN,{ref:t,className:s,...a,children:[r,c]})]}),n[8]=r,n[9]=a,n[10]=t,n[11]=s,n[12]=l):l=n[12],l});eF.displayName=qN.displayName;var tF=e=>{let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=K(`flex flex-col space-y-1.5 text-center sm:text-left`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,V.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};tF.displayName=`DialogHeader`;var nF=e=>{let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=K(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,V.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};nF.displayName=`DialogFooter`;var rF=l.forwardRef((e,t)=>{let n=(0,R.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=K(`text-lg font-semibold leading-none tracking-tight`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(JN,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});rF.displayName=JN.displayName;var iF=l.forwardRef((e,t)=>{let n=(0,R.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=K(`text-sm text-muted-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(YN,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});iF.displayName=YN.displayName;var aF=Symbol.for(`react.lazy`),oF=l.use;function sF(e){return typeof e==`object`&&!!e&&`then`in e}function cF(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===aF&&`_payload`in e&&sF(e._payload)}function lF(e){let t=dF(e),n=l.forwardRef((e,n)=>{let{children:r,...i}=e;cF(r)&&typeof oF==`function`&&(r=oF(r._payload));let a=l.Children.toArray(r),o=a.find(pF);if(o){let e=o.props.children,r=a.map(t=>t===o?l.Children.count(e)>1?l.Children.only(null):l.isValidElement(e)?e.props.children:null:t);return(0,V.jsx)(t,{...i,ref:n,children:l.isValidElement(e)?l.cloneElement(e,void 0,r):null})}return(0,V.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var uF=lF(`Slot`);function dF(e){let t=l.forwardRef((e,t)=>{let{children:n,...r}=e;if(cF(n)&&typeof oF==`function`&&(n=oF(n._payload)),l.isValidElement(n)){let e=hF(n),i=mF(r,n.props);return n.type!==l.Fragment&&(i.ref=t?PA(t,e):e),l.cloneElement(n,i)}return l.Children.count(n)>1?l.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var fF=Symbol(`radix.slottable`);function pF(e){return l.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===fF}function mF(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function hF(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var gF=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,_F=QN,vF=(e,t)=>n=>{if(t?.variants==null)return _F(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=gF(t)||gF(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return _F(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},yF=vF(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,outline:`border border-input bg-background hover:bg-accent hover:text-accent-foreground`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-foreground hover:text-background transition-colors`,action:`text-muted-foreground hover:bg-foreground hover:text-background transition-colors`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-10 px-6 py-3`,sm:`h-9 rounded-full px-4`,lg:`h-11 rounded-full px-10`,icon:`h-10 w-10 [&_svg]:size-5`,"icon-md":`h-8 w-8 [&_svg]:size-4`,"icon-sm":`h-7 w-7 [&_svg]:size-4`,"icon-xs":`h-5 w-5 [&_svg]:size-3`}},defaultVariants:{variant:`default`,size:`default`}}),bF=l.forwardRef((e,t)=>{let n=(0,R.c)(15),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({className:r,variant:s,size:a,asChild:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let c=o!==void 0&&o?uF:`button`,l;n[6]!==r||n[7]!==a||n[8]!==s?(l=K(yF({variant:s,size:a,className:r})),n[6]=r,n[7]=a,n[8]=s,n[9]=l):l=n[9];let u;return n[10]!==c||n[11]!==i||n[12]!==t||n[13]!==l?(u=(0,V.jsx)(c,{className:l,ref:t,...i}),n[10]=c,n[11]=i,n[12]=t,n[13]=l,n[14]=u):u=n[14],u});bF.displayName=`Button`;var xF=l.forwardRef((e,t)=>{let n=(0,R.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,type:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===r?o=n[5]:(o=K(`flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,r),n[4]=r,n[5]=o);let s;return n[6]!==i||n[7]!==t||n[8]!==o||n[9]!==a?(s=(0,V.jsx)(`input`,{type:a,className:o,ref:t,...i}),n[6]=i,n[7]=t,n[8]=o,n[9]=a,n[10]=s):s=n[10],s});xF.displayName=`Input`;var SF=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=lF(`Primitive.${t}`),r=l.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,V.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),CF=`Label`,wF=l.forwardRef((e,t)=>(0,V.jsx)(SF.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));wF.displayName=CF;var TF=wF,EF=vF(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),DF=l.forwardRef((e,t)=>{let n=(0,R.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=K(EF(),r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(TF,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});DF.displayName=TF.displayName;var OF=l.createContext(void 0);function kF(e){let t=l.useContext(OF);return e||t||`ltr`}function AF(e,[t,n]){return Math.min(n,Math.max(t,e))}function jF(e,t){return l.useReducer((e,n)=>t[e][n]??e,e)}var MF=`ScrollArea`,[NF,PF]=RA(MF),[FF,q]=NF(MF),IF=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=l.useState(null),[u,d]=l.useState(null),[f,p]=l.useState(null),[m,h]=l.useState(null),[g,_]=l.useState(null),[v,y]=l.useState(0),[b,x]=l.useState(0),[S,C]=l.useState(!1),[w,T]=l.useState(!1),E=B(t,e=>c(e)),D=kF(i);return(0,V.jsx)(FF,{scope:n,type:r,dir:D,scrollHideDelay:a,scrollArea:s,viewport:u,onViewportChange:d,content:f,onContentChange:p,scrollbarX:m,onScrollbarXChange:h,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:g,onScrollbarYChange:_,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:y,onCornerHeightChange:x,children:(0,V.jsx)(H.div,{dir:D,...o,ref:E,style:{position:`relative`,"--radix-scroll-area-corner-width":v+`px`,"--radix-scroll-area-corner-height":b+`px`,...e.style}})})});IF.displayName=MF;var LF=`ScrollAreaViewport`,RF=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=q(LF,n),s=B(t,l.useRef(null),o.onViewportChange);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,V.jsx)(H.div,{"data-radix-scroll-area-viewport":``,...a,ref:s,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,V.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});RF.displayName=LF;var zF=`ScrollAreaScrollbar`,BF=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=q(zF,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return l.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,V.jsx)(VF,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,V.jsx)(HF,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,V.jsx)(UF,{...r,ref:t,forceMount:n}):i.type===`always`?(0,V.jsx)(WF,{...r,ref:t}):null});BF.displayName=zF;var VF=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=q(zF,e.__scopeScrollArea),[a,o]=l.useState(!1);return l.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,V.jsx)(Rj,{present:n||a,children:(0,V.jsx)(UF,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),HF=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=q(zF,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=uI(()=>c(`SCROLL_END`),100),[s,c]=jF(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return l.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),l.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,V.jsx)(Rj,{present:n||s!==`hidden`,children:(0,V.jsx)(WF,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:z(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:z(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),UF=l.forwardRef((e,t)=>{let n=q(zF,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=l.useState(!1),s=e.orientation===`horizontal`,c=uI(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return dI(n.viewport,c),dI(n.content,c),(0,V.jsx)(Rj,{present:r||a,children:(0,V.jsx)(WF,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),WF=l.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=q(zF,e.__scopeScrollArea),a=l.useRef(null),o=l.useRef(0),[s,c]=l.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=rI(s.viewport,s.content),d={...r,sizes:s,onSizesChange:c,hasThumb:u>0&&u<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function f(e,t){return aI(e,o.current,s,t)}return n===`horizontal`?(0,V.jsx)(GF,{...d,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=oI(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=f(e,i.dir))}}):n===`vertical`?(0,V.jsx)(KF,{...d,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=oI(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=f(e))}}):null}),GF=l.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=q(zF,e.__scopeScrollArea),[o,s]=l.useState(),c=l.useRef(null),u=B(t,c,a.onScrollbarXChange);return l.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,V.jsx)(YF,{"data-orientation":`horizontal`,...i,ref:u,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":iI(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),cI(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:nI(o.paddingLeft),paddingEnd:nI(o.paddingRight)}})}})}),KF=l.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=q(zF,e.__scopeScrollArea),[o,s]=l.useState(),c=l.useRef(null),u=B(t,c,a.onScrollbarYChange);return l.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,V.jsx)(YF,{"data-orientation":`vertical`,...i,ref:u,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":iI(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),cI(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:nI(o.paddingTop),paddingEnd:nI(o.paddingBottom)}})}})}),[qF,JF]=NF(zF),YF=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:d,onResize:f,...p}=e,m=q(zF,n),[h,g]=l.useState(null),_=B(t,e=>g(e)),v=l.useRef(null),y=l.useRef(``),b=m.viewport,x=r.content-r.viewport,S=U(d),C=U(c),w=uI(f,10);function T(e){v.current&&u({x:e.clientX-v.current.left,y:e.clientY-v.current.top})}return l.useEffect(()=>{let e=e=>{let t=e.target;h?.contains(t)&&S(e,x)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[b,h,x,S]),l.useEffect(C,[r,C]),dI(h,w),dI(m.content,w),(0,V.jsx)(qF,{scope:n,scrollbar:h,hasThumb:i,onThumbChange:U(a),onThumbPointerUp:U(o),onThumbPositionChange:C,onThumbPointerDown:U(s),children:(0,V.jsx)(H.div,{...p,ref:_,style:{position:`absolute`,...p.style},onPointerDown:z(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),v.current=h.getBoundingClientRect(),y.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,m.viewport&&(m.viewport.style.scrollBehavior=`auto`),T(e))}),onPointerMove:z(e.onPointerMove,T),onPointerUp:z(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=y.current,m.viewport&&(m.viewport.style.scrollBehavior=``),v.current=null})})})}),XF=`ScrollAreaThumb`,ZF=l.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=JF(XF,e.__scopeScrollArea);return(0,V.jsx)(Rj,{present:n||i.hasThumb,children:(0,V.jsx)(QF,{ref:t,...r})})}),QF=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=q(XF,n),o=JF(XF,n),{onThumbPositionChange:s}=o,c=B(t,e=>o.onThumbChange(e)),u=l.useRef(void 0),d=uI(()=>{u.current&&=(u.current(),void 0)},100);return l.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{d(),u.current||(u.current=lI(e,s),s())};return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,d,s]),(0,V.jsx)(H.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:z(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:z(e.onPointerUp,o.onThumbPointerUp)})});ZF.displayName=XF;var $F=`ScrollAreaCorner`,eI=l.forwardRef((e,t)=>{let n=q($F,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,V.jsx)(tI,{...e,ref:t}):null});eI.displayName=$F;var tI=l.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=q($F,n),[a,o]=l.useState(0),[s,c]=l.useState(0),u=!!(a&&s);return dI(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),dI(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),u?(0,V.jsx)(H.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function nI(e){return e?parseInt(e,10):0}function rI(e,t){let n=e/t;return isNaN(n)?0:n}function iI(e){let t=rI(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function aI(e,t,n,r=`ltr`){let i=iI(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return sI([c,l],d)(e)}function oI(e,t,n=`ltr`){let r=iI(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=AF(e,n===`ltr`?[0,o]:[o*-1,0]);return sI([0,o],[0,s])(c)}function sI(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function cI(e,t){return e>0&&e<t}var lI=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function uI(e,t){let n=U(e),r=l.useRef(0);return l.useEffect(()=>()=>window.clearTimeout(r.current),[]),l.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function dI(e,t){let n=U(t);BA(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var fI=IF,pI=RF,mI=eI,hI=l.forwardRef((e,t)=>{let n=(0,R.c)(15),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=K(`relative overflow-hidden`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,V.jsx)(pI,{className:`h-full w-full rounded-[inherit]`,children:r}),n[6]=r,n[7]=s);let c,l;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,V.jsx)(gI,{}),l=(0,V.jsx)(mI,{}),n[8]=c,n[9]=l):(c=n[8],l=n[9]);let u;return n[10]!==a||n[11]!==t||n[12]!==o||n[13]!==s?(u=(0,V.jsxs)(fI,{ref:t,className:o,...a,children:[s,c,l]}),n[10]=a,n[11]=t,n[12]=o,n[13]=s,n[14]=u):u=n[14],u});hI.displayName=fI.displayName;var gI=l.forwardRef((e,t)=>{let n=(0,R.c)(14),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,orientation:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?`vertical`:a,s=o===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-[1px]`,c=o===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-[1px]`,l;n[4]!==r||n[5]!==s||n[6]!==c?(l=K(`flex touch-none select-none transition-colors`,s,c,r),n[4]=r,n[5]=s,n[6]=c,n[7]=l):l=n[7];let u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,V.jsx)(ZF,{className:`relative flex-1 rounded-full bg-border`}),n[8]=u):u=n[8];let d;return n[9]!==o||n[10]!==i||n[11]!==t||n[12]!==l?(d=(0,V.jsx)(BF,{ref:t,orientation:o,className:l,...i,children:u}),n[9]=o,n[10]=i,n[11]=t,n[12]=l,n[13]=d):d=n[13],d});gI.displayName=BF.displayName;var _I=[`462`,`8100`].includes(document.location.port)?`http://${document.location.hostname}:462`:`http://${document.location.hostname}:641`;function vI(){return _I}function yI(e){return`${_I}${e.startsWith(`/`)?e:`/${e}`}`}async function bI(e){try{let t=await e.json();if(typeof t.error==`string`)return t.error;if(t.error&&typeof t.error==`object`)return t.error.details??t.error.message??`Unknown error`}catch{}return e.statusText||`Unknown error`}function xI(e,t,n){let r=Error(e);return n?.error&&typeof n.error==`object`&&(r.details=n.error.details,r.code=n.error.code),r}async function J(e,t){let n=await fetch(yI(e),{...t,method:`GET`});if(!n.ok){let e=await bI(n);throw Error(e)}return n.json()}async function Y(e,t,n){let r=await fetch(yI(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await bI(r);throw Error(e)}return r.json()}async function SI(e,t,n){let r=await fetch(yI(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await bI(r);throw Error(e)}return r.json()}async function CI(e,t,n){let r=await fetch(yI(e),{...n,method:`PATCH`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await bI(r);throw Error(e)}return r.json()}async function wI(e,t,n){let r=await fetch(yI(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await bI(r);throw Error(e)}return r.body}async function TI(e,t){let n=await fetch(yI(e),{...t,method:`DELETE`});if(!n.ok){let e=await bI(n);throw Error(e)}if(n.status!==204)return n.json()}async function EI(e,t,n){let r=await fetch(yI(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0,signal:n?.signal});if(!r.ok){let e=await bI(r);throw Error(e)}return r.body}async function DI(e,t){let n=await fetch(yI(e),{...t,method:`GET`});if(!n.ok){let e=await bI(n);throw Error(e)}return n.body}async function OI(e,t,n){let r=await fetch(yI(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e;try{e=await r.json()}catch{}throw xI(await bI(r),r,e)}return r.json()}async function kI(e,t,n){let r=await fetch(yI(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e;try{e=await r.json()}catch{}throw xI(await bI(r),r,e)}return r.json()}function X(...e){return e.map(e=>encodeURIComponent(String(e))).join(`/`)}var Z=new class{cache=new Map;inFlightRequests=new Map;async get(e,t,n){let r=this.inFlightRequests.get(e);if(r)return r;let i=this.cache.get(e);if(i&&Date.now()<i.expires)return i.data;let a=t().then(t=>(this.cache.set(e,{data:t,expires:Date.now()+n}),t)).finally(()=>{this.inFlightRequests.delete(e)});return this.inFlightRequests.set(e,a),a}getSync(e){let t=this.cache.get(e);if(t&&Date.now()<t.expires)return t.data}invalidate(e){this.cache.delete(e)}invalidatePattern(e){let t=[];for(let n of this.cache.keys())e.test(n)&&t.push(n);t.forEach(e=>this.cache.delete(e))}clear(){this.cache.clear(),this.inFlightRequests.clear()}},AI=t({EmptyBalanceError:()=>jI,LOW_BALANCE_THRESHOLD:()=>50,applyAppUpdate:()=>vR,checkBalance:()=>MI,checkForAppUpdate:()=>_R,checkGitInstalled:()=>sR,checkVpInstalled:()=>PI,clearChatHistory:()=>sL,completeOnboarding:()=>cR,copyImageToClipboard:()=>TL,createGitCheckpoint:()=>HL,createGitHubRepo:()=>VL,createProject:()=>qI,createScaffoldedProject:()=>II,createSlashCommand:()=>fR,createThread:()=>QI,createThreadAgent:()=>PR,createThreadSkill:()=>NR,deleteCommand:()=>GL,deleteMCPServer:()=>OR,deleteProject:()=>XI,deleteSlashCommand:()=>pR,deleteThread:()=>$I,deleteThreadAIFile:()=>FR,disableImageModel:()=>CL,disableModel:()=>vL,enableImageModel:()=>SL,enableModel:()=>_L,fetchAvailableImageModels:()=>bL,fetchAvailableModels:()=>gL,fixComments:()=>tL,generateCommitMessage:()=>OL,generateImage:()=>wL,generatePRInfo:()=>NL,getAccountInfo:()=>VI,getAllEnabledImageModels:()=>xL,getAllEnabledModels:()=>yL,getAvailablePrograms:()=>HI,getChatHistory:()=>rL,getConversationFolderPath:()=>iL,getConversationHistory:()=>mR,getConversationUsage:()=>gR,getGitDiff:()=>aR,getGitLog:()=>BL,getGitUser:()=>WI,getGitUserName:()=>GI,getMCPConfig:()=>ER,getModelInfo:()=>$L,getOnboardingStatus:()=>oR,getPackageScripts:()=>KL,getPopularAgents:()=>SR,getPopularMCPServers:()=>kR,getPopularRules:()=>CR,getPopularSkills:()=>xR,getPopularSlashCommands:()=>wR,getProcessingThreads:()=>UI,getProject:()=>YI,getProjectScripts:()=>YL,getProjects:()=>KI,getProviderCredits:()=>RI,getProviders:()=>LI,getScaffoldTemplates:()=>NI,getSlashCommands:()=>uR,getSlashCommandsAndSkills:()=>dR,getThread:()=>QL,getThreadAIFile:()=>jR,getThreadAIFiles:()=>AR,getThreadFiles:()=>JL,getThreadUsageSummary:()=>hR,getUnifiedGitStatus:()=>DL,gitCheckoutBranch:()=>RL,gitCommit:()=>kL,gitCreateBranch:()=>IL,gitCreatePR:()=>PL,gitFetch:()=>FL,gitListBranches:()=>LL,gitPull:()=>jL,gitPush:()=>AL,gitRevertFile:()=>zL,gitSyncBranch:()=>ML,installGithubFolderToThread:()=>TR,installVp:()=>FI,invalidateProjectsCache:()=>ZI,isDevServerRunning:()=>rR,openExternalUrl:()=>BI,openFolderProject:()=>JI,openProjectWith:()=>dL,openThreadWith:()=>fL,parseSSEStream:()=>lL,resetOnboarding:()=>lR,restoreGitCheckpoint:()=>UL,runCommand:()=>qL,runProjectScript:()=>XL,saveCommand:()=>WL,saveImageToDownloads:()=>EL,saveMCPServer:()=>DR,saveProviderKey:()=>zI,saveThreadAIFile:()=>MR,selectThread:()=>nL,sendChatMessage:()=>aL,startDevServer:()=>tR,stopChatGeneration:()=>cL,stopDevServer:()=>nR,stopProjectScript:()=>ZL,submitAskUserAnswer:()=>yR,submitBrowserJsResult:()=>bR,subscribeToChatStream:()=>oL,suggestRunCommand:()=>eR,ttlCache:()=>Z,updateProject:()=>uL,updateProjectName:()=>hL,updateProjectOpenWith:()=>pL,updateProjectSetupScript:()=>mL,updateRunCommand:()=>iR,updateThread:()=>eL}),jI=class extends Error{constructor(){super(`No prompts remaining`),this.name=`EmptyBalanceError`}};async function MI(){let{plan:e,promptsRemaining:t}=await VI();return e===`unlimited-pro`?{isEmpty:!1,isLow:!1}:{isEmpty:t<=0,isLow:t>0&&t<=50}}async function NI(){return J(`api/scaffold/templates`)}async function PI(){return(await J(`api/scaffold/check-vp`)).installed}async function FI(){return Y(`api/scaffold/install-vp`,{})}async function II(e,t,n){return EI(`api/scaffold`,{projectName:e,templateId:t,packageManager:n})}async function LI(){return J(`api/providers`)}async function RI(e){return J(`api/providers/${X(e)}/credits`)}async function zI(e,t){await Y(`api/providers/keys`,{providerName:e,apiKey:t})}async function BI(e){try{await Y(`api/providers/open-external`,{url:e})}catch(t){if(t instanceof Error&&t.message===`External URL opening not available in server mode`){window.open(e,`_blank`,`noopener,noreferrer`);return}throw t}}async function VI(){return J(`api/account/info`)}async function HI(){return Z.get(`available-programs`,async()=>(await J(`api/programs`)).programs??[],3e5)}async function UI(){return(await J(`api/threads/processing`)).processingThreadIds??[]}async function WI(){return Z.get(`git-user`,async()=>{try{let e=await J(`api/git/user`);return{name:e.name??``,email:e.email??``}}catch{return{name:``,email:``}}},6e5)}async function GI(){return(await WI()).name}async function KI(){return Z.get(`projects`,async()=>({projects:(await J(`api/projects`)||[]).map(e=>{let t=e;return{projectId:t.projectId??t.id,name:t.name,gitUrl:t.gitUrl,projectPath:t.projectPath??t.path,threads:t.threads??[],commands:t.commands??[],setupScript:t.setupScript,runCommand:t.runCommand,planPrompt:t.planPrompt,testPrompt:t.testPrompt,reviewPrompt:t.reviewPrompt}}).map(e=>{let t=(e.threads||[]).map(e=>{let t=e,n=t.threadId??t.id;return{threadId:n,title:t.title??n,path:t.path??``,currentBranch:t.currentBranch??``,isSelected:!!t.isSelected,model:t.model??void 0,modelProvider:t.modelProvider??void 0,gitStatusDot:!!t.gitStatusDot}});return{...e,threads:t}})}),3e4)}async function qI(e,t){return EI(`api/projects`,{gitUrl:e,commitMethod:t})}async function JI(){return EI(`api/projects/open-folder`,{})}async function YI(e){return J(`api/projects/${X(e)}`)}async function XI(e){await TI(`api/projects/${X(e)}`),Z.invalidate(`projects`)}function ZI(){Z.invalidate(`projects`)}async function QI(e,t){return EI(`api/threads`,{projectId:e,title:t})}async function $I(e,t){await TI(`api/threads/${X(t)}`)}async function eL(e,t){await CI(`api/threads/${X(e)}`,t),(`model`in t||`modelProvider`in t)&&Z.invalidate(`projects`)}async function tL(e,t){return Y(`api/threads/${X(e)}/fix-comments`,{comments:t})}async function nL(e,t){await Y(`api/threads/${X(t)}/select`)}async function rL(e){return{threadId:e,messages:await J(`api/threads/${X(e)}/messages`)}}async function iL(e){return(await J(`api/threads/${X(e)}/conversation-folder-path`)).path}async function aL(e,t,n,r=[],i,a,o,s){let{isEmpty:c}=await MI();if(c)throw new jI;return EI(`api/chat`,{threadId:e,content:t,model:n,provider:a,planMode:o,ralphMode:s,attachments:r.map(e=>({name:e.fileName,content:e.content.split(`,`)[1]||e.content,size:0,mimeType:e.mimeType||`application/octet-stream`}))},{signal:i})}async function oL(e,t){return DI(`api/chat/subscribe/${X(e)}`,{signal:t})}async function sL(e){return(await TI(`api/chat/${X(e)}`))?.conversationId||``}async function cL(e){try{await Y(`api/chat/stop/${X(e)}`)}catch{}}function lL(e,t,n,r,i){let a=e.getReader(),o=!1,s=()=>{o=!0,a.cancel().catch(()=>{})},c=new TextDecoder,l=``,u=e=>e?[/^Cannot read properties/i,/^Error:/i,/^TypeError:/i,/^ReferenceError:/i,/^SyntaxError:/i,/^failed to/i,/^error:/i,/forbidden/i,/unauthorized/i].some(t=>t.test(e.trim())):!1;async function d(){try{for(;!o;){let{done:e,value:s}=await a.read();if(e||o){if(!o&&e){if(l.trim())try{let e=JSON.parse(l);e.type===`error`?r(e.content??`Unknown error`):e.type===`message`?i?.({role:e.role??`assistant`,content:e.content??``,isThinking:e.isThinking}):e.type===`complete`||(e.type===`result`&&u(e.content)?r(e.content??`Unknown error`):t(e))}catch{l.trim()&&t({type:`result`,content:l})}n()}break}l+=c.decode(s,{stream:!0});let d=l.split(`
46
46
  `);l=d.pop()??``;for(let e of d){let a=e.trim();if(a)try{let e=JSON.parse(a);if(e.type===`error`){r(e.content??`Unknown error`),n();return}else if(e.type===`message`)i?.({role:e.role??`assistant`,content:e.content??``,isThinking:e.isThinking});else if(e.type===`complete`){n();return}else if(e.type===`result`&&u(e.content)){r(e.content??`Unknown error`),n();return}else t(e)}catch{}}}}catch(e){o||(r(e instanceof Error?e.message:`Stream error`),n())}}return d(),s}async function uL(e,t){return t.runNow&&t.setupScript?wI(`api/projects/${X(e)}`,t):(await kI(`api/projects/${X(e)}`,t),t.runNow||ZI(),null)}async function dL(e,t){await OI(`api/projects/${X(e)}/open`,{program:t})}async function fL(e,t){await OI(`api/threads/${X(e)}/open`,{program:t})}async function pL(e,t){await uL(e,{program:t})}async function mL(e,t,n){return uL(e,{setupScript:t,runNow:n})}async function hL(e,t){await uL(e,{name:t})}async function gL(e,t){let n=new URLSearchParams({provider:e});return t!==void 0&&n.set(`supportedTools`,t?`true`:`false`),n.set(`useCase`,`coding`),(await J(`api/models?${n.toString()}`)).models??[]}async function _L(e,t){await Y(`api/models/${X(e,t)}/enable`),Z.invalidate(`enabled-models`)}async function vL(e,t){await Y(`api/models/${X(e,t)}/disable`),Z.invalidate(`enabled-models`)}async function yL(){return Z.get(`enabled-models`,async()=>(await J(`api/models/enabled?useCase=coding`)).enabledModels??{},12e4)}async function bL(e){return(await J(`api/models?${new URLSearchParams({provider:e,useCase:`image`}).toString()}`)).models??[]}async function xL(){return Z.get(`enabled-image-models`,async()=>(await J(`api/models/enabled?useCase=image`)).enabledModels??{},12e4)}async function SL(e,t){await Y(`api/models/${X(e,t)}/enable?useCase=image`),Z.invalidate(`enabled-image-models`)}async function CL(e,t){await Y(`api/models/${X(e,t)}/disable?useCase=image`),Z.invalidate(`enabled-image-models`)}async function wL(e,t,n,r){return Y(`api/image/generate`,{prompt:e,model:t,provider:n,threadId:r})}async function TL(e){await Y(`api/image/clipboard`,e)}async function EL(e){return Y(`api/image/save`,e)}async function DL(e,t=!1){return J(t?`api/git/unified-status/${X(e)}?fresh=true`:`api/git/unified-status/${X(e)}`)}async function OL(e,t,n){return(await Y(`api/git/generate-commit-message/${X(e)}`,{model:t,provider:n})).message}async function kL(e,t){await Y(`api/git/commit/${X(e)}`,{message:t})}async function AL(e){await Y(`api/git/push/${X(e)}`)}async function jL(e){await Y(`api/git/pull/${X(e)}`)}async function ML(e){return Y(`api/git/sync-branch/${X(e)}`,{})}async function NL(e,t,n){return Y(`api/git/generate-pr-info/${X(e)}`,{model:t,provider:n})}async function PL(e,t,n){return Y(`api/git/create-pr/${X(e)}`,{title:t,description:n})}async function FL(e){await Y(`api/git/fetch/${X(e)}`)}async function IL(e,t,n){return Y(`api/git/create-branch/${X(e)}`,{baseBranch:t,branchName:n})}async function LL(e){return J(`api/git/branches/${X(e)}`)}async function RL(e,t){return Y(`api/git/checkout-branch/${X(e)}`,{branchName:t})}async function zL(e,t){return Y(`api/git/revert-file/${X(e)}`,{filePath:t})}async function BL(e,t=50){return(await J(`api/git/log/${X(e)}?limit=${t}`)).commits}async function VL(e,t,n,r){return Y(`api/git/create-repo/${X(e)}`,{repoName:t,description:n,isPrivate:r})}async function HL(e,t){return Y(`api/git/checkpoint/${X(e)}`,{messageId:t})}async function UL(e,t){return Y(`api/git/checkpoint-restore/${X(e)}`,{checkpointRef:t})}async function WL(e,t){await Y(`api/projects/${X(e)}/commands`,t)}async function GL(e,t){await TI(`api/projects/${X(e)}/commands/${X(t)}`)}async function KL(e){return J(`api/projects/${X(e)}/package-scripts`)}async function qL(e,t,n,r){return EI(`api/projects/${X(e)}/threads/${X(t)}/commands/run`,{commandLine:n,cwd:r})}async function JL(e){return J(`api/threads/${X(e)}/files`)}async function YL(e){return(await J(`api/threads/${X(e)}/project-scripts`)).scripts}async function XL(e,t,n,r){return EI(`api/threads/${X(e)}/project-scripts/run`,{scriptName:t,command:n},r)}async function ZL(e,t){return Y(`api/threads/${X(e)}/project-scripts/stop`,{scriptName:t})}async function QL(e){return J(`api/threads/${e}`)}async function $L(e){return J(`api/models/info?modelId=${encodeURIComponent(e)}`)}async function eR(e){return Y(`api/projects/${X(e)}/run-suggest`,{})}async function tR(e,t){return console.log(`API: startDevServer called for project:`,e,`thread:`,t),EI(`api/projects/${X(e)}/run`,{threadId:t})}async function nR(e){return Y(`api/projects/${X(e)}/stop`,{})}async function rR(e){return J(`api/projects/${X(e)}/running`)}async function iR(e,t){await uL(e,{runCommand:t})}async function aR(e){return J(`api/git/diff/${X(e)}`)}async function oR(){return J(`api/onboarding/status`)}async function sR(){return J(`api/onboarding/git-check`)}async function cR(){return Y(`api/onboarding/complete`,{})}async function lR(){return Y(`api/onboarding/reset`,{})}async function uR(e){return(await J(`api/slash-commands?threadId=${X(e)}`)).commands??[]}async function dR(e){let t=await J(`api/slash-commands?threadId=${X(e)}`);return{commands:t.commands??[],skills:t.skills??[]}}async function fR(e,t,n,r,i){return Y(`api/slash-commands`,{name:e,content:t,metadata:n,scope:r,threadId:i})}async function pR(e){let t=await fetch(`http://localhost:641/api/slash-commands`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e})});if(!t.ok)throw Error(`Failed to delete slash command: ${t.statusText}`);return t.json()}async function mR(e){return J(`api/conversations/${X(e)}`)}async function hR(e){return J(`api/conversations/${X(e)}/usage-summary`)}async function gR(e,t){return J(`api/conversations/${X(e)}/${X(t)}/usage`)}async function _R(){try{return await J(`api/update/check`)}catch{return{updateAvailable:!1,supported:!1}}}async function vR(){return Y(`api/update/apply`)}async function yR(e,t){await Y(`api/ask-user/respond`,{toolCallId:e,answer:t})}async function bR(e,t){await Y(`api/browser-js/respond`,{toolCallId:e,result:t})}async function xR(){return(await J(`api/skills/popular`)).skills??[]}async function SR(){return(await J(`api/agents/popular`)).agents??[]}async function CR(){return(await J(`api/rules/popular`)).rules??[]}async function wR(){return(await J(`api/slash-commands/popular`)).commands??[]}async function TR(e,t,n,r){return Y(`api/threads/${X(e)}/ai-files/github-folder`,{gitHubRepo:t,gitHubFolder:n,destPath:r})}async function ER(e){return J(`api/mcp/config?projectPath=${encodeURIComponent(e)}`)}async function DR(e,t,n){return SI(`api/mcp/config`,{projectPath:e,serverName:t,serverConfig:n})}async function OR(e,t){return TI(`api/mcp/config/${X(t)}?projectPath=${encodeURIComponent(e)}`)}async function kR(){return(await J(`api/mcp/popular`)).servers??[]}async function AR(e){return(await J(`api/threads/${X(e)}/ai-files`)).nodes??[]}async function jR(e,t){return J(`api/threads/${X(e)}/ai-file?path=${encodeURIComponent(t)}`)}async function MR(e,t,n){return SI(`api/threads/${X(e)}/ai-file`,{path:t,content:n})}async function NR(e,t,n){return Y(`api/threads/${X(e)}/ai-files/skill`,{name:t,description:n})}async function PR(e,t,n,r){return Y(`api/threads/${X(e)}/ai-files/agent`,{name:t,description:n,tools:r})}async function FR(e,t){return TI(`api/threads/${X(e)}/ai-file?path=${encodeURIComponent(t)}`)}var Q=function(e){return e.PACKAGE_MANAGER=`tarsk.create-project.packageManager`,e.COMMIT_METHOD=`tarsk.create-project.commitMethod`,e.TEMPLATE_ID=`tarsk.create-project.templateId`,e.AUTO_GENERATE_COMMIT_MESSAGE=`autoGenerateCommitMessage`,e.AUTO_GENERATE_PR_INFO=`autoGeneratePRInfo`,e.PRIVATE_REPOSITORY_DEFAULT=`privateRepositoryDefault`,e.SELECTED_MODEL_PREFIX=`selected-model-`,e}({}),IR=function(e){return e.MESSAGE_HISTORY=`chat_message_history`,e}({});function LR(e){return typeof localStorage>`u`?null:localStorage.getItem(e)}function RR(e,t){typeof localStorage>`u`||localStorage.setItem(e,t)}function zR(e){return typeof sessionStorage>`u`?null:sessionStorage.getItem(e)}function BR(e,t){typeof sessionStorage>`u`||sessionStorage.setItem(e,t)}function VR(e=`npm`){return LR(Q.PACKAGE_MANAGER)??e}function HR(e){RR(Q.PACKAGE_MANAGER,e)}function UR(e=`pull-request`){return LR(Q.COMMIT_METHOD)??e}function WR(e){RR(Q.COMMIT_METHOD,e)}function GR(e=``){return LR(Q.TEMPLATE_ID)??e}function KR(e){RR(Q.TEMPLATE_ID,e)}function qR(e=!1){let t=LR(Q.AUTO_GENERATE_COMMIT_MESSAGE);return t===null?e:t===`true`}function JR(e){RR(Q.AUTO_GENERATE_COMMIT_MESSAGE,e.toString())}function YR(e=!1){let t=LR(Q.AUTO_GENERATE_PR_INFO);return t===null?e:t===`true`}function XR(e){RR(Q.AUTO_GENERATE_PR_INFO,e.toString())}function ZR(e=!1){let t=LR(Q.PRIVATE_REPOSITORY_DEFAULT);return t===null?e:t===`true`}function QR(e){RR(Q.PRIVATE_REPOSITORY_DEFAULT,e.toString())}function $R(){let e=zR(IR.MESSAGE_HISTORY);return e?JSON.parse(e):[]}function ez(e){let t=$R();e.trim()&&t[t.length-1]!==e&&(t.push(e),BR(IR.MESSAGE_HISTORY,JSON.stringify(t)))}function tz(e){let t=e+`CollectionProvider`,[n,r]=RA(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=l.useRef(null),a=l.useRef(new Map).current;return(0,V.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=YA(s),u=l.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,V.jsx)(c,{ref:B(t,a(s,n).collectionRef),children:r})});u.displayName=s;let d=e+`CollectionItemSlot`,f=`data-radix-collection-item`,p=YA(d),m=l.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=l.useRef(null),s=B(t,o),c=a(d,n);return l.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,V.jsx)(p,{[f]:``,ref:s,children:r})});m.displayName=d;function h(t){let n=a(e+`CollectionConsumer`,t);return l.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${f}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:u,ItemSlot:m},h,r]}var nz=`rovingFocusGroup.onEntryFocus`,rz={bubbles:!1,cancelable:!0},iz=`RovingFocusGroup`,[az,oz,sz]=tz(iz),[cz,lz]=RA(iz,[sz]),[uz,dz]=cz(iz),fz=l.forwardRef((e,t)=>(0,V.jsx)(az.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(az.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(pz,{...e,ref:t})})}));fz.displayName=iz;var pz=l.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:u,preventScrollOnEntryFocus:d=!1,...f}=e,p=l.useRef(null),m=B(t,p),h=kF(a),[g,_]=GA({prop:o,defaultProp:s??null,onChange:c,caller:iz}),[v,y]=l.useState(!1),b=U(u),x=oz(n),S=l.useRef(!1),[C,w]=l.useState(0);return l.useEffect(()=>{let e=p.current;if(e)return e.addEventListener(nz,b),()=>e.removeEventListener(nz,b)},[b]),(0,V.jsx)(uz,{scope:n,orientation:r,dir:h,loop:i,currentTabStopId:g,onItemFocus:l.useCallback(e=>_(e),[_]),onItemShiftTab:l.useCallback(()=>y(!0),[]),onFocusableItemAdd:l.useCallback(()=>w(e=>e+1),[]),onFocusableItemRemove:l.useCallback(()=>w(e=>e-1),[]),children:(0,V.jsx)(H.div,{tabIndex:v||C===0?-1:0,"data-orientation":r,...f,ref:m,style:{outline:`none`,...e.style},onMouseDown:z(e.onMouseDown,()=>{S.current=!0}),onFocus:z(e.onFocus,e=>{let t=!S.current;if(e.target===e.currentTarget&&t&&!v){let t=new CustomEvent(nz,rz);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);yz([e.find(e=>e.active),e.find(e=>e.id===g),...e].filter(Boolean).map(e=>e.ref.current),d)}}S.current=!1}),onBlur:z(e.onBlur,()=>y(!1))})})}),mz=`RovingFocusGroupItem`,hz=l.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=UA(),u=a||c,d=dz(mz,n),f=d.currentTabStopId===u,p=oz(n),{onFocusableItemAdd:m,onFocusableItemRemove:h,currentTabStopId:g}=d;return l.useEffect(()=>{if(r)return m(),()=>h()},[r,m,h]),(0,V.jsx)(az.ItemSlot,{scope:n,id:u,focusable:r,active:i,children:(0,V.jsx)(H.span,{tabIndex:f?0:-1,"data-orientation":d.orientation,...s,ref:t,onMouseDown:z(e.onMouseDown,e=>{r?d.onItemFocus(u):e.preventDefault()}),onFocus:z(e.onFocus,()=>d.onItemFocus(u)),onKeyDown:z(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){d.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=vz(e,d.orientation,d.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=p().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=d.loop?bz(n,r+1):n.slice(r+1)}setTimeout(()=>yz(n))}}),children:typeof o==`function`?o({isCurrentTabStop:f,hasTabStop:g!=null}):o})})});hz.displayName=mz;var gz={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function _z(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function vz(e,t,n){let r=_z(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return gz[r]}function yz(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function bz(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var xz=fz,Sz=hz;Object.entries({"VS Code":{name:`VS Code`,appName:[`Visual Studio Code`,`code`]},Cursor:{name:`Cursor`,appName:[`Cursor`,`cursor`]},Windsurf:{name:`Windsurf`,appName:[`Windsurf`,`windsurf`]},Xcode:{name:`Xcode`,appName:`Xcode`},"Android Studio":{name:`Android Studio`,appName:[`Android Studio`,`studio`]},Kiro:{name:`Kiro`,appName:[`Kiro`,`kiro`]},Terminal:{name:`Terminal`,appName:`Terminal`}}).reduce((e,[t,n])=>(e[t]=n.appName,e),{});var $;(function(e){e.PullRequest=`pull-request`,e.Direct=`direct`})($||={}),$.PullRequest,$.PullRequest,$.Direct,$.Direct;var Cz={bun:{id:`bun`,label:`bun`},npm:{id:`npm`,label:`npm`},yarn:{id:`yarn`,label:`yarn`},pnpm:{id:`pnpm`,label:`pnpm`}},wz=l.forwardRef((e,t)=>{let n=(0,R.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=K(`rounded-lg border bg-card text-card-foreground shadow-sm`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(`div`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});wz.displayName=`Card`;var Tz=l.forwardRef((e,t)=>{let n=(0,R.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=K(`flex flex-col space-y-1.5 p-6`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(`div`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Tz.displayName=`CardHeader`;var Ez=l.forwardRef((e,t)=>{let n=(0,R.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=K(`text-2xl font-semibold leading-none tracking-tight`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(`div`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Ez.displayName=`CardTitle`;var Dz=l.forwardRef((e,t)=>{let n=(0,R.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=K(`text-sm text-muted-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(`div`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Dz.displayName=`CardDescription`;var Oz=l.forwardRef((e,t)=>{let n=(0,R.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=K(`p-6 pt-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(`div`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Oz.displayName=`CardContent`;var kz=l.forwardRef((e,t)=>{let n=(0,R.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=K(`flex items-center p-6 pt-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,V.jsx)(`div`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});kz.displayName=`CardFooter`;var Az=`Toggle`,jz=l.forwardRef((e,t)=>{let{pressed:n,defaultPressed:r,onPressedChange:i,...a}=e,[o,s]=GA({prop:n,onChange:i,defaultProp:r??!1,caller:Az});return(0,V.jsx)(H.button,{type:`button`,"aria-pressed":o,"data-state":o?`on`:`off`,"data-disabled":e.disabled?``:void 0,...a,ref:t,onClick:z(e.onClick,()=>{e.disabled||s(!o)})})});jz.displayName=Az;var Mz=jz,Nz=`ToggleGroup`,[Pz,Fz]=RA(Nz,[lz]),Iz=lz(),Lz=l.forwardRef((e,t)=>{let{type:n,...r}=e;if(n===`single`)return(0,V.jsx)(Bz,{...r,ref:t});if(n===`multiple`)return(0,V.jsx)(Vz,{...r,ref:t});throw Error(`Missing prop \`type\` expected on \`${Nz}\``)});Lz.displayName=Nz;var[Rz,zz]=Pz(Nz),Bz=l.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=GA({prop:n,defaultProp:r??``,onChange:i,caller:Nz});return(0,V.jsx)(Rz,{scope:e.__scopeToggleGroup,type:`single`,value:l.useMemo(()=>o?[o]:[],[o]),onItemActivate:s,onItemDeactivate:l.useCallback(()=>s(``),[s]),children:(0,V.jsx)(Wz,{...a,ref:t})})}),Vz=l.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=GA({prop:n,defaultProp:r??[],onChange:i,caller:Nz}),c=l.useCallback(e=>s((t=[])=>[...t,e]),[s]),u=l.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,V.jsx)(Rz,{scope:e.__scopeToggleGroup,type:`multiple`,value:o,onItemActivate:c,onItemDeactivate:u,children:(0,V.jsx)(Wz,{...a,ref:t})})});Lz.displayName=Nz;var[Hz,Uz]=Pz(Nz),Wz=l.forwardRef((e,t)=>{let{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:i=!0,orientation:a,dir:o,loop:s=!0,...c}=e,l=Iz(n),u=kF(o),d={role:`group`,dir:u,...c};return(0,V.jsx)(Hz,{scope:n,rovingFocus:i,disabled:r,children:i?(0,V.jsx)(xz,{asChild:!0,...l,orientation:a,dir:u,loop:s,children:(0,V.jsx)(H.div,{...d,ref:t})}):(0,V.jsx)(H.div,{...d,ref:t})})}),Gz=`ToggleGroupItem`,Kz=l.forwardRef((e,t)=>{let n=zz(Gz,e.__scopeToggleGroup),r=Uz(Gz,e.__scopeToggleGroup),i=Iz(e.__scopeToggleGroup),a=n.value.includes(e.value),o=r.disabled||e.disabled,s={...e,pressed:a,disabled:o},c=l.useRef(null);return r.rovingFocus?(0,V.jsx)(Sz,{asChild:!0,...i,focusable:!o,active:a,ref:c,children:(0,V.jsx)(qz,{...s,ref:t})}):(0,V.jsx)(qz,{...s,ref:t})});Kz.displayName=Gz;var qz=l.forwardRef((e,t)=>{let{__scopeToggleGroup:n,value:r,...i}=e,a=zz(Gz,n),o={role:`radio`,"aria-checked":e.pressed,"aria-pressed":void 0};return(0,V.jsx)(jz,{...a.type===`single`?o:void 0,...i,ref:t,onPressedChange:e=>{e?a.onItemActivate(r):a.onItemDeactivate(r)}})}),Jz=Lz,Yz=Kz,Xz=vF(`inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent hover:bg-accent hover:text-accent-foreground`},size:{default:`h-10 px-3 min-w-10`,sm:`h-9 px-2.5 min-w-9`,lg:`h-11 px-5 min-w-11`}},defaultVariants:{variant:`default`,size:`default`}}),Zz=l.forwardRef((e,t)=>{let n=(0,R.c)(13),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:r,variant:o,size:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s;n[5]!==r||n[6]!==a||n[7]!==o?(s=K(Xz({variant:o,size:a,className:r})),n[5]=r,n[6]=a,n[7]=o,n[8]=s):s=n[8];let c;return n[9]!==i||n[10]!==t||n[11]!==s?(c=(0,V.jsx)(Mz,{ref:t,className:s,...i}),n[9]=i,n[10]=t,n[11]=s,n[12]=c):c=n[12],c});Zz.displayName=Mz.displayName;var Qz=l.createContext({size:`default`,variant:`default`}),$z=l.forwardRef((e,t)=>{let n=(0,R.c)(19),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({className:i,variant:s,size:o,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let c;n[6]===i?c=n[7]:(c=K(`flex items-center justify-center gap-1`,i),n[6]=i,n[7]=c);let l;n[8]!==o||n[9]!==s?(l={variant:s,size:o},n[8]=o,n[9]=s,n[10]=l):l=n[10];let u;n[11]!==r||n[12]!==l?(u=(0,V.jsx)(Qz.Provider,{value:l,children:r}),n[11]=r,n[12]=l,n[13]=u):u=n[13];let d;return n[14]!==a||n[15]!==t||n[16]!==c||n[17]!==u?(d=(0,V.jsx)(Jz,{ref:t,className:c,...a,children:u}),n[14]=a,n[15]=t,n[16]=c,n[17]=u,n[18]=d):d=n[18],d});$z.displayName=Jz.displayName;var eB=l.forwardRef((e,t)=>{let n=(0,R.c)(17),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({className:i,children:r,variant:s,size:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let c=l.useContext(Qz),u;n[6]!==i||n[7]!==c.size||n[8]!==c.variant||n[9]!==o||n[10]!==s?(u=K(Xz({variant:c.variant||s,size:c.size||o}),i),n[6]=i,n[7]=c.size,n[8]=c.variant,n[9]=o,n[10]=s,n[11]=u):u=n[11];let d;return n[12]!==r||n[13]!==a||n[14]!==t||n[15]!==u?(d=(0,V.jsx)(Yz,{ref:t,className:u,...a,children:r}),n[12]=r,n[13]=a,n[14]=t,n[15]=u,n[16]=d):d=n[16],d});eB.displayName=Yz.displayName;var tB=t({CreateProjectDialog:()=>rB,default:()=>rB}),nB={"angular-standalone":`logo-angular.svg`,"custom-angular":`logo-angular.svg`,react:`logo-react.svg`,"vite-react":`logo-react.svg`,vue:`logo-vue.svg`,"vite-vue":`logo-vue.svg`,"custom-svelte":`logo-svelte.svg`,"custom-ionic-svelte":`logo-svelte.svg`,"vite-svelte":`logo-svelte.svg`,"vite-solid":`logo-solid.svg`,astro:`logo-astro.svg`,nextjs:`logo-nextjs.svg`,nuxt:`logo-nuxt.svg`,"vite-qwik":`logo-qwik.svg`,"vite-preact":`logo-preact.svg`,"vite-lit":`logo-lit.svg`,"vite-web":`logo-web.svg`,"tanstack-start":`logo-vite.svg`,waku:`logo-waku.svg`,hydrogen:`logo-hydrogen.svg`,plugin:`logo-capacitor.svg`};function rB({open:e,onOpenChange:t,initialMode:n,onSubmitClone:r,onSubmitWebApp:i,onOpenFolder:a}){let[o,s]=(0,l.useState)(n??`choice`),[c,u]=(0,l.useState)(1),[d,f]=(0,l.useState)(``),[p,m]=(0,l.useState)(UR($.PullRequest)),[h,g]=(0,l.useState)(`My App`),[_,v]=(0,l.useState)(!1),[y,b]=(0,l.useState)(GR()),[x,S]=(0,l.useState)(VR()),[C,w]=(0,l.useState)([]),[T,E]=(0,l.useState)(!1),[D,O]=(0,l.useState)(!1),[ee,k]=(0,l.useState)(new Set),te=(0,l.useCallback)(e=>{k(t=>new Set(t).add(e))},[]),{typeNames:A,templatesByTypeName:j}=(0,l.useMemo)(()=>{let e={};if(Array.isArray(C))for(let t of C){let n=t.typeName;e[n]||(e[n]=[]),e[n].push(t)}return{typeNames:Object.keys(e).sort(),templatesByTypeName:e}},[C]),M=(0,l.useMemo)(()=>{let e={};for(let t of Object.keys(j)){let n=j[t]??[];if(n.length===0)continue;let r=n.find(e=>e.variationName===`Starter`),i=n.filter(e=>e.variationName!==`Starter`);e[t]=(r?[r,...i]:n)[0].id}return e},[j]),N=(0,l.useMemo)(()=>{if(!Array.isArray(C)||C.find(e=>e.id===y)||C.length===0)return y;let e=A[0],t=e?j[e]??[]:[];return(t.find(e=>e.variationName===`Starter`)??t[0])?.id??y},[y,C,A,j]),P=(0,l.useMemo)(()=>!N||!Array.isArray(C)||C.length===0?null:C.find(e=>e.id===N)?.typeName??null,[N,C]),F=(0,l.useMemo)(()=>{let e=P?j[P]??[]:[];if(e.length<=1)return e;let t=e.find(e=>e.variationName===`Starter`),n=e.filter(e=>e.variationName!==`Starter`);return t?[t,...n]:e},[P,j]);(0,l.useEffect)(()=>{N&&KR(N)},[N]),(0,l.useEffect)(()=>{e&&n&&setTimeout(()=>{s(n),u(2),n===`webapp`&&(g(`My App`),v(!1),k(new Set))},0)},[e,n]),(0,l.useEffect)(()=>{o===`webapp`&&e&&(!Array.isArray(C)||C.length===0)&&setTimeout(()=>{E(!0),NI().then(e=>w(e?.templates||[])).catch(()=>w([])).finally(()=>E(!1))},0)},[o,e,C]);let ne=(0,l.useMemo)(()=>_?h:P?`My ${P} App`:`My App`,[_,h,P]),re=N&&Array.isArray(C)?C.find(e=>e.id===N):null,ie=()=>{s(`webapp`),u(2),g(`My App`),v(!1),k(new Set),(!Array.isArray(C)||C.length===0)&&(E(!0),NI().then(e=>w(e?.templates||[])).catch(()=>w([])).finally(()=>E(!1)))},ae=()=>{s(`clone`),u(2)},oe=()=>{s(`choice`),u(1),f(``),g(`My App`),v(!1),k(new Set),t(!1)},se=()=>{c===2?(s(`choice`),u(1),f(``),g(`My App`),v(!1)):u(e=>e-1)},ce=o===`clone`?d.trim().length>0:P!==null,le=()=>{if(!d.trim())return;let e=d.trim();f(``),u(1),t(!1),s(`choice`),r(e,p).catch(()=>{})},ue=async()=>{if(!ne.trim()||!N||!de(ne))return;if(re?.variation===`vite-plus`){O(!0);try{if(!await PI()){if(!window.confirm(`Vite Plus is required for this template but is not installed.
47
47
 
48
48
  Is it ok to install Vite Plus using the following command?
49
49
 
50
50
  macOS / Linux: curl -fsSL https://vite.plus | bash
51
- Windows: irm https://vite.plus/ps1 | iex`)){O(!1);return}let{success:e,error:t}=await FI();if(!e){window.alert(`Failed to install Vite Plus:\n${t||`Unknown error`}`),O(!1);return}}}catch(e){console.error(`Vite Plus check/install failed:`,e)}finally{O(!1)}}let e=ne.trim();g(``),v(!1),u(1),t(!1),s(`choice`),i(e,N,x).catch(()=>{})},de=e=>e.trim().toLowerCase().replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``),I=o===`choice`?1:c,fe=e=>e===1?I>1:e===2?I>=2:e===3?I>=2&&(o===`clone`?d.trim().length>0:ce):!1,pe=e=>{e===1?(s(`choice`),u(1),f(``),g(``)):u(e)};return(0,V.jsx)(ZP,{open:e,onOpenChange:e=>!e&&oe(),children:(0,V.jsxs)(eF,{className:`max-w-2xl h-[min(42rem,90dvh)] flex flex-col p-0 overflow-hidden`,children:[(0,V.jsxs)(`div`,{className:`px-6 pt-6 pb-2`,children:[(0,V.jsxs)(`div`,{className:`mx-auto flex items-center gap-1 mb-6 w-2/3`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:()=>fe(1)&&pe(1),className:K(`flex items-center justify-center h-8 w-8 rounded-full text-sm font-medium shrink-0 transition-colors transition-transform duration-300 ease-out`,I===1?`bg-primary text-primary-foreground scale-110`:I>1?`bg-brand text-brand-foreground`:`bg-muted text-muted-foreground`,fe(1)&&`cursor-pointer hover:opacity-90`),"aria-label":`Go to step 1`,children:`1`}),(0,V.jsx)(`div`,{className:`h-0.5 flex-1 min-w-0 relative rounded-full overflow-hidden bg-muted`,children:(0,V.jsx)(`div`,{className:`absolute inset-y-0 left-0 bg-brand transition-[width] duration-300 ease-out rounded-full`,style:{width:I>=2?`100%`:`0%`}})}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>fe(2)&&pe(2),className:K(`flex items-center justify-center h-8 w-8 rounded-full text-sm font-medium shrink-0 transition-colors transition-transform duration-300 ease-out`,I===2?`bg-primary text-primary-foreground scale-110`:I>2?`bg-brand text-brand-foreground`:`bg-muted text-muted-foreground`,fe(2)&&`cursor-pointer hover:opacity-90`),"aria-label":`Go to step 2`,children:`2`}),(0,V.jsx)(`div`,{className:`h-0.5 flex-1 min-w-0 relative rounded-full overflow-hidden bg-muted`,children:(0,V.jsx)(`div`,{className:`absolute inset-y-0 left-0 bg-brand transition-[width] duration-300 ease-out rounded-full`,style:{width:I>=3?`100%`:`0%`}})}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>fe(3)&&pe(3),className:K(`flex items-center justify-center h-8 w-8 rounded-full text-sm font-medium shrink-0 transition-colors transition-transform duration-300 ease-out`,I===3?`bg-primary text-primary-foreground scale-110`:`bg-muted text-muted-foreground`,fe(3)&&`cursor-pointer hover:opacity-90`),"aria-label":`Go to step 3`,children:`3`})]}),(0,V.jsxs)(tF,{children:[(0,V.jsxs)(rF,{children:[I===1&&`New Project`,I===2&&o===`clone`&&`Clone Repository`,I===2&&o===`webapp`&&`Create App`,I===3&&o===`clone`&&`Clone Repository`,I===3&&o===`webapp`&&(P===`Capacitor Plugin`?`Create Capacitor Plugin`:P?`Create ${P} App`:`Create App`)]}),(0,V.jsxs)(iF,{children:[I===1&&`Choose how to add a new project.`,I===2&&o===`clone`&&`Enter a git repository URL to clone.`,I===2&&o===`webapp`&&`Choose a template type.`,I===3&&o===`clone`&&`Choose commit workflow.`,I===3&&o===`webapp`&&`Name your project and choose variation, package manager, and commit workflow.`]})]})]}),I===1&&(0,V.jsx)(hI,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsx)(`div`,{className:`px-6 py-4`,children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(wz,{role:`button`,tabIndex:0,className:`cursor-pointer transition-colors hover:border-primary/50 hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:ae,onKeyDown:e=>e.key===`Enter`&&ae(),children:(0,V.jsxs)(Oz,{className:`flex items-start gap-4 p-4`,children:[(0,V.jsx)(`div`,{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-brand text-brand-foreground`,children:(0,V.jsx)(sp,{className:`h-6 w-6`})}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,V.jsx)(`p`,{className:`font-semibold`,children:`Clone repo`}),(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Connect an existing repository by URL`})]})]})}),(0,V.jsx)(wz,{role:`button`,tabIndex:0,className:`cursor-pointer transition-colors hover:border-primary/50 hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:ie,onKeyDown:e=>e.key===`Enter`&&ie(),children:(0,V.jsxs)(Oz,{className:`flex items-start gap-4 p-4`,children:[(0,V.jsx)(`div`,{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-brand text-brand-foreground`,children:(0,V.jsx)(ub,{className:`h-6 w-6`})}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,V.jsx)(`p`,{className:`font-semibold`,children:`Create App`}),(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Scaffold a new React, Vue, Next.js, or other template`})]})]})}),(0,V.jsx)(wz,{role:`button`,tabIndex:0,className:`cursor-pointer transition-colors hover:border-primary/50 hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>{oe(),a()},onKeyDown:e=>{e.key===`Enter`&&(oe(),a())},children:(0,V.jsxs)(Oz,{className:`flex items-start gap-4 p-4`,children:[(0,V.jsx)(`div`,{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-brand text-brand-foreground`,children:(0,V.jsx)(yf,{className:`h-6 w-6`})}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,V.jsx)(`p`,{className:`font-semibold`,children:`Open Folder`}),(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Create a project from an existing local folder`})]})]})})]})})}),I===2&&o===`clone`&&(0,V.jsx)(hI,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsx)(`div`,{className:`px-6 py-4`,children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(DF,{htmlFor:`gitUrl`,children:`Repository URL`}),(0,V.jsx)(xF,{id:`gitUrl`,placeholder:`https://github.com/user/repo.git`,value:d,onChange:e=>f(e.target.value),onKeyDown:e=>e.key===`Enter`&&ce&&u(3)})]})})}),I===2&&o===`webapp`&&(0,V.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0 px-6 pb-4`,children:(0,V.jsx)(`div`,{className:`flex-1 min-h-0 flex flex-col py-2`,children:(0,V.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto -mx-1`,children:(0,V.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-2 p-1 mr-2`,children:T?(0,V.jsx)(`p`,{className:`col-span-full p-4 text-sm text-muted-foreground`,children:`Loading…`}):A.map(e=>{let t=j[e]?.[0]?.type,n=t?nB[t]:null;return(0,V.jsxs)(`button`,{type:`button`,onClick:()=>b(M[e]??``),onDoubleClick:()=>{b(M[e]??``),u(3)},className:K(`flex flex-col items-center gap-2 rounded-lg border px-3 py-3 text-center transition-colors`,P===e?`border-primary bg-accent text-accent-foreground`:`border-border bg-card hover:bg-muted/50 hover:border-muted-foreground/30 shadow-sm`),children:[n?(0,V.jsx)(`img`,{src:`/template-types/${n}`,alt:``,className:K(`size-8 shrink-0 transition-opacity duration-300`,ee.has(n)?`opacity-100`:`opacity-0`),onLoad:()=>te(n),"aria-hidden":!0}):null,(0,V.jsx)(`span`,{className:`font-medium text-sm truncate w-full`,children:e})]},e)})})})})}),I===3&&o===`webapp`&&(0,V.jsx)(hI,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsxs)(`div`,{className:`px-6 py-4 flex flex-col gap-6`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(DF,{htmlFor:`projectName`,children:`Project name`}),(0,V.jsx)(xF,{id:`projectName`,placeholder:`My App`,value:ne,onChange:e=>{g(e.target.value),v(!0)},className:`max-w-xs`})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[F.length>1&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(DF,{className:`text-sm font-medium`,children:`Variation`}),(0,V.jsx)($z,{type:`single`,value:N,onValueChange:e=>e&&b(e),variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:F.map(e=>(0,V.jsx)(eB,{value:e.id,className:`text-sm`,children:e.variationName},e.id))})]}),(0,V.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[re?.description??F[0]?.description??``,re?.url&&(0,V.jsxs)(V.Fragment,{children:[` `,(0,V.jsxs)(`a`,{href:re.url,target:`_blank`,rel:`noreferrer`,className:`text-brand hover:underline hover:text-brand/80 inline-flex items-center gap-0.5`,children:[`Documentation `,(0,V.jsx)(mu,{className:`h-3 w-3`})]})]})]})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(DF,{className:`text-sm font-medium`,children:`Package manager`}),(0,V.jsx)($z,{type:`single`,value:x,onValueChange:e=>{e&&(S(e),HR(e))},variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:Object.values(Cz).map(e=>(0,V.jsx)(eB,{value:e.id,className:`text-sm`,children:e.label},e.id))})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(DF,{className:`text-sm font-medium`,children:`Commit method`}),(0,V.jsxs)($z,{type:`single`,value:p,onValueChange:e=>{(e===$.PullRequest||e===$.Direct)&&(m(e),WR(e))},variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:[(0,V.jsx)(eB,{value:$.PullRequest,className:`text-sm`,children:`Pull Requests`}),(0,V.jsx)(eB,{value:$.Direct,className:`text-sm`,children:`Direct Commits`})]}),(0,V.jsx)(`p`,{className:`text-xs text-slate-600 dark:text-slate-400`,children:p===$.PullRequest?`Creates a feature branch and allows you to create pull requests.`:`Commits directly to the main branch without creating feature branches.`})]})]})}),I===3&&o===`clone`&&(0,V.jsx)(hI,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsx)(`div`,{className:`px-6 py-4 flex flex-col gap-6`,children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(DF,{className:`text-sm font-medium`,children:`Commit method`}),(0,V.jsxs)($z,{type:`single`,value:p,onValueChange:e=>{(e===$.PullRequest||e===$.Direct)&&(m(e),WR(e))},variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:[(0,V.jsx)(eB,{value:$.PullRequest,className:`text-sm`,children:`Pull Requests`}),(0,V.jsx)(eB,{value:$.Direct,className:`text-sm`,children:`Direct Commits`})]}),(0,V.jsx)(`p`,{className:`text-xs text-slate-600 dark:text-slate-400`,children:p===$.PullRequest?`Creates a feature branch and allows you to create pull requests.`:`Commits directly to the main branch without creating feature branches.`})]})})}),(0,V.jsx)(`div`,{className:`px-6 py-4 border-t border-border bg-muted/10 min-h-[4.5rem] flex flex-col justify-end`,children:(0,V.jsxs)(nF,{children:[I>1&&(0,V.jsx)(bF,{variant:`ghost`,onClick:se,children:`Back`}),I===2&&(0,V.jsx)(bF,{onClick:()=>u(3),disabled:!ce,children:`Next`}),I===3&&o===`clone`&&(0,V.jsx)(bF,{onClick:le,children:`Clone Repository`}),I===3&&o===`webapp`&&(0,V.jsx)(bF,{onClick:ue,disabled:!ne.trim()||D,children:D?`Preparing...`:`Create App`})]})})]})})}export{yL as $,Ma as $i,GN as $n,ex as $r,XL as $t,II as A,uf as Ai,AF as An,wA as Ar,hR as At,FR as B,Wc as Bi,iF as Bn,_E as Br,zL as Bt,sR as C,zp as Ci,X as Cn,IA as Cr,LI as Ct,HL as D,sp as Di,Y as Dn,MA as Dr,jR as Dt,TL as E,cp as Ei,CI as En,z as Er,QL as Et,GL as F,gu as Fi,yF as Fn,lO as Fr,PL as Ft,bL as G,Qo as Gi,XP as Gn,AC as Gr,BI as Gt,vL as H,Pc as Hi,tF as Hn,L as Hr,TR as Ht,OR as I,mu as Ii,vF as In,UD as Ir,FL as It,OL as J,oo as Ji,JP as Jn,vC as Jr,fL as Jt,gL as K,Uo as Ki,qP as Kn,kC as Kr,JI as Kt,XI as L,Rl as Li,uF as Ln,fD as Lr,LL as Lt,QI as M,_d as Mi,DF as Mn,YO as Mr,RL as Mt,PR as N,Bu as Ni,xF as Nn,yO as Nr,kL as Nt,VL as O,Af as Oi,SI as On,OA as Or,AR as Ot,NR as P,_u as Pi,bF as Pn,vO as Pr,IL as Pt,xL as Q,Va as Qi,KN as Qn,ix as Qr,qL as Qt,pR as R,Ml as Ri,ZP as Rn,QE as Rr,jL as Rt,_R as S,Gp as Si,TI as Sn,RA as Sr,RI as St,cR as T,bp as Ti,vI as Tn,B as Tr,dR as Tt,SL as U,ic as Ui,rF as Un,Rw as Ur,ZI as Ut,CL as V,Ic as Vi,nF as Vn,oE as Vr,ML as Vt,_L as W,Ms as Wi,K as Wn,Ow as Wr,rR as Wt,NL as X,Ga as Xi,qN as Xn,DS as Xr,lR as Xt,wL as Y,Ka as Yi,XN as Yn,pC as Yr,lL as Yt,VI as Z,Wa as Zi,YN as Zn,TS as Zr,UL as Zt,XR as _,sg as _i,pL as _n,YA as _r,wR as _t,Ez as a,et as aa,cy as ai,nL as an,cN as ar,aR as at,AI as b,Xm as bi,eL as bn,UA as br,YL as bt,xz as c,o as ca,mv as ci,cL as cn,Rj as cr,GI as ct,ez as d,nv as di,yR as dn,vj as dr,oR as dt,Kr as ea,ub as ei,WL as en,UN as er,HI as et,qR as f,ev as fi,bR as fn,uj as fr,KL as ft,JR as g,Sg as gi,hL as gn,nj as gr,xR as gt,ZR as h,Og as hi,uL as hn,H as hr,CR as ht,Tz as i,st as ia,Iy as ii,MR as in,dN as ir,gR as it,fR as j,Ed as ji,kF as jn,mk as jr,DL as jt,qI as k,yf as ki,hI as kn,TA as kr,JL as kt,lz as l,i as la,dv as li,nR as ln,Ij as lr,ER as lt,$R as m,f_ as mi,eR as mn,U as mr,kR as mt,wz as n,vr as na,Zy as ni,DR as nn,WN as nr,iL as nt,$ as o,We as oa,kv as oi,aL as on,$M as or,BL as ot,YR as p,y_ as pi,oL as pn,_j as pr,SR as pt,tL as q,_o as qi,YP as qn,OC as qr,dL as qt,Oz as r,xt as ra,qy as ri,zI as rn,RN as rr,mR as rt,Sz as s,c as sa,Ov as si,tR as sn,Uj as sr,WI as st,tB as t,Lr as ta,lb as ti,EL as tn,JN as tr,rL as tt,tz as u,rv as ui,ZL as un,Cj as ur,$L as ut,QR as v,vh as vi,mL as vn,QA as vr,UI as vt,sL as w,xp as wi,J as wn,PA as wr,uR as wt,vR as x,Mm as xi,Z as xn,BA as xr,KI as xt,jI as y,eh as yi,iR as yn,GA as yr,YI as yt,$I as z,Xc as zi,eF as zn,NE as zr,AL as zt};
51
+ Windows: irm https://vite.plus/ps1 | iex`)){O(!1);return}let{success:e,error:t}=await FI();if(!e){window.alert(`Failed to install Vite Plus:\n${t||`Unknown error`}`),O(!1);return}}}catch(e){console.error(`Vite Plus check/install failed:`,e)}finally{O(!1)}}let e=ne.trim();g(``),v(!1),u(1),t(!1),s(`choice`),i(e,N,x).catch(()=>{})},de=e=>e.trim().toLowerCase().replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``),I=o===`choice`?1:c,fe=e=>e===1?I>1:e===2?I>=2:e===3?I>=2&&(o===`clone`?d.trim().length>0:ce):!1,pe=e=>{e===1?(s(`choice`),u(1),f(``),g(``)):u(e)};return(0,V.jsx)(ZP,{open:e,onOpenChange:e=>!e&&oe(),children:(0,V.jsxs)(eF,{className:`max-w-2xl h-[min(42rem,90dvh)] flex flex-col p-0 overflow-hidden`,children:[(0,V.jsxs)(`div`,{className:`px-6 pt-6 pb-2`,children:[(0,V.jsxs)(`div`,{className:`mx-auto flex items-center gap-1 mb-6 w-2/3`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:()=>fe(1)&&pe(1),className:K(`flex items-center justify-center h-8 w-8 rounded-full text-sm font-medium shrink-0 transition-colors transition-transform duration-300 ease-out`,I===1?`bg-primary text-primary-foreground scale-110`:I>1?`bg-brand text-brand-foreground`:`bg-muted text-muted-foreground`,fe(1)&&`cursor-pointer hover:opacity-90`),"aria-label":`Go to step 1`,children:`1`}),(0,V.jsx)(`div`,{className:`h-0.5 flex-1 min-w-0 relative rounded-full overflow-hidden bg-muted`,children:(0,V.jsx)(`div`,{className:`absolute inset-y-0 left-0 bg-brand transition-[width] duration-300 ease-out rounded-full`,style:{width:I>=2?`100%`:`0%`}})}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>fe(2)&&pe(2),className:K(`flex items-center justify-center h-8 w-8 rounded-full text-sm font-medium shrink-0 transition-colors transition-transform duration-300 ease-out`,I===2?`bg-primary text-primary-foreground scale-110`:I>2?`bg-brand text-brand-foreground`:`bg-muted text-muted-foreground`,fe(2)&&`cursor-pointer hover:opacity-90`),"aria-label":`Go to step 2`,children:`2`}),(0,V.jsx)(`div`,{className:`h-0.5 flex-1 min-w-0 relative rounded-full overflow-hidden bg-muted`,children:(0,V.jsx)(`div`,{className:`absolute inset-y-0 left-0 bg-brand transition-[width] duration-300 ease-out rounded-full`,style:{width:I>=3?`100%`:`0%`}})}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>fe(3)&&pe(3),className:K(`flex items-center justify-center h-8 w-8 rounded-full text-sm font-medium shrink-0 transition-colors transition-transform duration-300 ease-out`,I===3?`bg-primary text-primary-foreground scale-110`:`bg-muted text-muted-foreground`,fe(3)&&`cursor-pointer hover:opacity-90`),"aria-label":`Go to step 3`,children:`3`})]}),(0,V.jsxs)(tF,{children:[(0,V.jsxs)(rF,{children:[I===1&&`New Project`,I===2&&o===`clone`&&`Clone Repository`,I===2&&o===`webapp`&&`Create App`,I===3&&o===`clone`&&`Clone Repository`,I===3&&o===`webapp`&&(P===`Capacitor Plugin`?`Create Capacitor Plugin`:P?`Create ${P} App`:`Create App`)]}),(0,V.jsxs)(iF,{children:[I===1&&`Choose how to add a new project.`,I===2&&o===`clone`&&`Enter a git repository URL to clone.`,I===2&&o===`webapp`&&`Choose a template type.`,I===3&&o===`clone`&&`Choose commit workflow.`,I===3&&o===`webapp`&&`Name your project and choose variation, package manager, and commit workflow.`]})]})]}),I===1&&(0,V.jsx)(hI,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsx)(`div`,{className:`px-6 py-4`,children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(wz,{role:`button`,tabIndex:0,className:`cursor-pointer transition-colors hover:border-primary/50 hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:ae,onKeyDown:e=>e.key===`Enter`&&ae(),children:(0,V.jsxs)(Oz,{className:`flex items-start gap-4 p-4`,children:[(0,V.jsx)(`div`,{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-brand text-brand-foreground`,children:(0,V.jsx)(sp,{className:`h-6 w-6`})}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,V.jsx)(`p`,{className:`font-semibold`,children:`Clone repo`}),(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Connect an existing repository by URL`})]})]})}),(0,V.jsx)(wz,{role:`button`,tabIndex:0,className:`cursor-pointer transition-colors hover:border-primary/50 hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:ie,onKeyDown:e=>e.key===`Enter`&&ie(),children:(0,V.jsxs)(Oz,{className:`flex items-start gap-4 p-4`,children:[(0,V.jsx)(`div`,{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-brand text-brand-foreground`,children:(0,V.jsx)(ub,{className:`h-6 w-6`})}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,V.jsx)(`p`,{className:`font-semibold`,children:`Create App`}),(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Scaffold a new React, Vue, Next.js, or other template`})]})]})}),(0,V.jsx)(wz,{role:`button`,tabIndex:0,className:`cursor-pointer transition-colors hover:border-primary/50 hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>{oe(),a()},onKeyDown:e=>{e.key===`Enter`&&(oe(),a())},children:(0,V.jsxs)(Oz,{className:`flex items-start gap-4 p-4`,children:[(0,V.jsx)(`div`,{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-brand text-brand-foreground`,children:(0,V.jsx)(yf,{className:`h-6 w-6`})}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,V.jsx)(`p`,{className:`font-semibold`,children:`Open Folder`}),(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Create a project from an existing local folder`})]})]})})]})})}),I===2&&o===`clone`&&(0,V.jsx)(hI,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsx)(`div`,{className:`px-6 py-4`,children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(DF,{htmlFor:`gitUrl`,children:`Repository URL`}),(0,V.jsx)(xF,{id:`gitUrl`,placeholder:`https://github.com/user/repo.git`,value:d,onChange:e=>f(e.target.value),onKeyDown:e=>e.key===`Enter`&&ce&&u(3)})]})})}),I===2&&o===`webapp`&&(0,V.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0 px-6 pb-4`,children:(0,V.jsx)(`div`,{className:`flex-1 min-h-0 flex flex-col py-2`,children:(0,V.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto -mx-1`,children:(0,V.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-2 p-1 mr-2`,children:T?(0,V.jsx)(`p`,{className:`col-span-full p-4 text-sm text-muted-foreground`,children:`Loading…`}):A.map(e=>{let t=j[e]?.[0]?.type,n=t?nB[t]:null;return(0,V.jsxs)(`button`,{type:`button`,onClick:()=>b(M[e]??``),onDoubleClick:()=>{b(M[e]??``),u(3)},className:K(`flex flex-col items-center gap-2 rounded-lg border px-3 py-3 text-center transition-colors`,P===e?`border-primary bg-accent text-accent-foreground`:`border-border bg-card hover:bg-muted/50 hover:border-muted-foreground/30 shadow-sm`),children:[n?(0,V.jsx)(`img`,{src:`/template-types/${n}`,alt:``,className:K(`size-8 shrink-0 transition-opacity duration-300`,ee.has(n)?`opacity-100`:`opacity-0`),onLoad:()=>te(n),"aria-hidden":!0}):null,(0,V.jsx)(`span`,{className:`font-medium text-sm truncate w-full`,children:e})]},e)})})})})}),I===3&&o===`webapp`&&(0,V.jsx)(hI,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsxs)(`div`,{className:`px-6 py-4 flex flex-col gap-6`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(DF,{htmlFor:`projectName`,children:`Project name`}),(0,V.jsx)(xF,{id:`projectName`,placeholder:`My App`,value:ne,onChange:e=>{g(e.target.value),v(!0)},className:`max-w-xs`})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[F.length>1&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(DF,{className:`text-sm font-medium`,children:`Variation`}),(0,V.jsx)($z,{type:`single`,value:N,onValueChange:e=>e&&b(e),variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:F.map(e=>(0,V.jsx)(eB,{value:e.id,className:`text-sm`,children:e.variationName},e.id))})]}),(0,V.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[re?.description??F[0]?.description??``,re?.url&&(0,V.jsxs)(V.Fragment,{children:[` `,(0,V.jsxs)(`a`,{href:re.url,target:`_blank`,rel:`noreferrer`,className:`text-brand hover:underline hover:text-brand/80 inline-flex items-center gap-0.5`,children:[`Documentation `,(0,V.jsx)(mu,{className:`h-3 w-3`})]})]})]})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(DF,{className:`text-sm font-medium`,children:`Package manager`}),(0,V.jsx)($z,{type:`single`,value:x,onValueChange:e=>{e&&(S(e),HR(e))},variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:Object.values(Cz).map(e=>(0,V.jsx)(eB,{value:e.id,className:`text-sm`,children:e.label},e.id))})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(DF,{className:`text-sm font-medium`,children:`Commit method`}),(0,V.jsxs)($z,{type:`single`,value:p,onValueChange:e=>{(e===$.PullRequest||e===$.Direct)&&(m(e),WR(e))},variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:[(0,V.jsx)(eB,{value:$.PullRequest,className:`text-sm`,children:`Pull Requests`}),(0,V.jsx)(eB,{value:$.Direct,className:`text-sm`,children:`Direct Commits`})]}),(0,V.jsx)(`p`,{className:`text-xs text-slate-600 dark:text-slate-400`,children:p===$.PullRequest?`Creates a feature branch and allows you to create pull requests.`:`Commits directly to the main branch without creating feature branches.`})]})]})}),I===3&&o===`clone`&&(0,V.jsx)(hI,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,V.jsx)(`div`,{className:`px-6 py-4 flex flex-col gap-6`,children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(DF,{className:`text-sm font-medium`,children:`Commit method`}),(0,V.jsxs)($z,{type:`single`,value:p,onValueChange:e=>{(e===$.PullRequest||e===$.Direct)&&(m(e),WR(e))},variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:[(0,V.jsx)(eB,{value:$.PullRequest,className:`text-sm`,children:`Pull Requests`}),(0,V.jsx)(eB,{value:$.Direct,className:`text-sm`,children:`Direct Commits`})]}),(0,V.jsx)(`p`,{className:`text-xs text-slate-600 dark:text-slate-400`,children:p===$.PullRequest?`Creates a feature branch and allows you to create pull requests.`:`Commits directly to the main branch without creating feature branches.`})]})})}),(0,V.jsx)(`div`,{className:`px-6 py-4 border-t border-border bg-muted/10 min-h-[4.5rem] flex flex-col justify-end`,children:(0,V.jsxs)(nF,{children:[I>1&&(0,V.jsx)(bF,{variant:`ghost`,onClick:se,children:`Back`}),I===2&&(0,V.jsx)(bF,{onClick:()=>u(3),disabled:!ce,children:`Next`}),I===3&&o===`clone`&&(0,V.jsx)(bF,{onClick:le,children:`Clone Repository`}),I===3&&o===`webapp`&&(0,V.jsx)(bF,{onClick:ue,disabled:!ne.trim()||D,children:D?`Preparing...`:`Create App`})]})})]})})}export{yL as $,Wa as $i,GN as $n,ix as $r,XL as $t,II as A,Af as Ai,AF as An,wA as Ar,hR as At,FR as B,Ml as Bi,iF as Bn,_E as Br,zL as Bt,sR as C,Gp as Ci,X as Cn,IA as Cr,LI as Ct,HL as D,dp as Di,Y as Dn,MA as Dr,jR as Dt,TL as E,bp as Ei,CI as En,z as Er,QL as Et,GL as F,Bu as Fi,yF as Fn,lO as Fr,PL as Ft,bL as G,ic as Gi,XP as Gn,AC as Gr,BI as Gt,vL as H,Wc as Hi,tF as Hn,L as Hr,TR as Ht,OR as I,_u as Ii,vF as In,UD as Ir,FL as It,OL as J,Uo as Ji,JP as Jn,vC as Jr,fL as Jt,gL as K,Ms as Ki,qP as Kn,kC as Kr,JI as Kt,XI as L,gu as Li,uF as Ln,fD as Lr,LL as Lt,QI as M,uf as Mi,DF as Mn,YO as Mr,RL as Mt,PR as N,Ed as Ni,xF as Nn,yO as Nr,kL as Nt,VL as O,cp as Oi,SI as On,OA as Or,AR as Ot,NR as P,_d as Pi,bF as Pn,vO as Pr,IL as Pt,xL as Q,Ga as Qi,KN as Qn,dS as Qr,qL as Qt,pR as R,mu as Ri,ZP as Rn,QE as Rr,jL as Rt,_R as S,Mm as Si,TI as Sn,RA as Sr,RI as St,cR as T,xp as Ti,vI as Tn,B as Tr,dR as Tt,SL as U,Ic as Ui,rF as Un,Rw as Ur,ZI as Ut,CL as V,Xc as Vi,nF as Vn,oE as Vr,ML as Vt,_L as W,Pc as Wi,K as Wn,Ow as Wr,rR as Wt,NL as X,oo as Xi,qN as Xn,DS as Xr,lR as Xt,wL as Y,_o as Yi,XN as Yn,pC as Yr,lL as Yt,VI as Z,Ka as Zi,YN as Zn,TS as Zr,UL as Zt,XR as _,Sg as _i,pL as _n,YA as _r,wR as _t,Ez as a,xt as aa,Iy as ai,nL as an,cN as ar,aR as at,AI as b,eh as bi,eL as bn,UA as br,YL as bt,xz as c,We as ca,Ov as ci,cL as cn,Rj as cr,GI as ct,ez as d,i as da,rv as di,yR as dn,vj as dr,oR as dt,Va as ea,ex as ei,WL as en,UN as er,HI as et,qR as f,nv as fi,bR as fn,uj as fr,KL as ft,JR as g,Og as gi,hL as gn,nj as gr,xR as gt,ZR as h,f_ as hi,uL as hn,H as hr,CR as ht,Tz as i,vr as ia,qy as ii,MR as in,dN as ir,gR as it,fR as j,yf as ji,kF as jn,mk as jr,DL as jt,qI as k,sp as ki,hI as kn,TA as kr,JL as kt,lz as l,c as la,mv as li,nR as ln,Ij as lr,ER as lt,$R as m,y_ as mi,eR as mn,U as mr,kR as mt,wz as n,Kr as na,lb as ni,DR as nn,WN as nr,iL as nt,$ as o,st as oa,cy as oi,aL as on,$M as or,BL as ot,YR as p,ev as pi,oL as pn,_j as pr,SR as pt,tL as q,Qo as qi,YP as qn,OC as qr,dL as qt,Oz as r,Lr as ra,Zy as ri,zI as rn,RN as rr,mR as rt,Sz as s,et as sa,kv as si,tR as sn,Uj as sr,WI as st,tB as t,Ma as ta,ub as ti,EL as tn,JN as tr,rL as tt,tz as u,o as ua,dv as ui,ZL as un,Cj as ur,$L as ut,QR as v,sg as vi,mL as vn,QA as vr,UI as vt,sL as w,zp as wi,J as wn,PA as wr,uR as wt,vR as x,Xm as xi,Z as xn,BA as xr,KI as xt,jI as y,vh as yi,iR as yn,GA as yr,YI as yt,$I as z,Rl as zi,eF as zn,NE as zr,AL as zt};
@@ -1,3 +1,3 @@
1
- import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{$ as t,Bt as n,Cr as r,Et as i,Hn as a,Oi as o,Pn as s,Rn as c,Un as l,Vn as u,Wn as d,Xi as f,Zi as p,Zr as m,at as h,bn as g,fi as _,hi as v,ji as y,ki as b,kn as x,la as S,li as C,ni as w,pi as T,q as E,ri as D,sa as O,zn as ee}from"./dialogs-config-DmDjliuA.js";import{_ as k}from"./react-vendor-CaS5zjF7.js";import{a as A,t as j}from"./store-CAPnOXso.js";import{t as M}from"./textarea-BjfyGfGR.js";import{c as N,s as P,u as te}from"./history-view-BOjZoBCb.js";import{a as ne,t as re}from"./chat-input-container-2a99CMGs.js";import{t as F}from"./standard-list-item-CpBjveM0.js";import{n as ie}from"./utils-BG_JNnOl.js";import{t as ae}from"./page-toolbar-CvreDTwj.js";import{n as oe,r as se,t as I}from"./resizable-DJ5w1ZWX.js";import{a as L,n as R,r as ce,t as z}from"./context-menu-DHHElhQ1.js";var B=e(S(),1),V=O(),H=r();function U(e){let t=(0,V.c)(17),{children:n,title:r,headerAction:i,footer:a}=e,o;t[0]===r?o=t[1]:(o=r&&(0,H.jsx)(`span`,{className:`text-sm font-semibold tracking-tight`,children:r}),t[0]=r,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,H.jsx)(`div`,{className:`flex items-center gap-2`,children:o}),t[2]=o,t[3]=s);let c;t[4]===i?c=t[5]:(c=i&&(0,H.jsx)(`div`,{className:`flex items-center gap-2 ml-auto`,children:i}),t[4]=i,t[5]=c);let l;t[6]!==s||t[7]!==c?(l=(0,H.jsxs)(`div`,{className:`flex items-center justify-between border-b border-sidebar-border px-4 py-6`,children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8];let u;t[9]===n?u=t[10]:(u=(0,H.jsx)(x,{className:`flex-1`,children:n}),t[9]=n,t[10]=u);let d;t[11]===a?d=t[12]:(d=a&&(0,H.jsx)(`div`,{className:`border-t border-sidebar-border`,children:a}),t[11]=a,t[12]=d);let f;return t[13]!==l||t[14]!==u||t[15]!==d?(f=(0,H.jsxs)(`div`,{className:`flex flex-col h-full`,children:[l,u,d]}),t[13]=l,t[14]=u,t[15]=d,t[16]=f):f=t[16],f}function le(e){let t=[],n={};return e.forEach((e,r)=>{let i=e.path.split(`/`),a=t,o=``;for(let e=0;e<i.length-1;e++){if(o=o?`${o}/${i[e]}`:i[e],!n[o]){let t={id:`dir:${o}`,name:i[e],children:[]};n[o]=t,a.push(t)}a=n[o].children}a.push({id:`file:${e.path}`,name:i[i.length-1],fileIndex:r,status:e.status})}),t}var W={added:`text-green-500`,deleted:`text-red-500`,untracked:`text-green-500`,renamed:`text-blue-500`,modified:`text-orange-500`},G={added:`A`,deleted:`D`,untracked:`U`,renamed:`R`,modified:`M`};function K(e){return d(`status-badge font-mono text-xs font-semibold`,W[e]??`text-orange-500`)}function ue(e){return G[e]??`M`}function de(e){let t=(0,V.c)(37),{treeData:n,files:r,isLoading:i,error:a,selectedFileIndex:s,onFileSelect:c,onRevertFile:l}=e,u;t[0]===r?u=t[1]:(u=r.reduce(pe,0),t[0]=r,t[1]=u);let p=u,h;t[2]===r?h=t[3]:(h=r.reduce(q,0),t[2]=r,t[3]=h);let g=h,_=r.length===1?``:`s`,x;t[4]!==r.length||t[5]!==_?(x=(0,H.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[r.length,` file`,_]}),t[4]=r.length,t[5]=_,t[6]=x):x=t[6];let S;t[7]===p?S=t[8]:(S=(0,H.jsxs)(`span`,{className:`text-xs text-green-500`,children:[`+`,p]}),t[7]=p,t[8]=S);let C;t[9]===g?C=t[10]:(C=(0,H.jsxs)(`span`,{className:`text-xs text-red-500`,children:[`-`,g]}),t[9]=g,t[10]=C);let w;t[11]!==x||t[12]!==S||t[13]!==C?(w=(0,H.jsxs)(`div`,{className:`flex items-center gap-1`,children:[x,S,C]}),t[11]=x,t[12]=S,t[13]=C,t[14]=w):w=t[14];let T=w;if(i){let e;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(`div`,{className:`flex-1 flex items-center justify-center pt-3 pb-2`,children:(0,H.jsx)(v,{className:`h-6 w-6 animate-spin text-muted-foreground`})}),t[15]=e):e=t[15];let n;return t[16]===T?n=t[17]:(n=(0,H.jsx)(U,{title:`Review Changes`,headerAction:T,children:e}),t[16]=T,t[17]=n),n}if(a){let e;t[18]===a?e=t[19]:(e=(0,H.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,H.jsx)(`p`,{className:`text-destructive text-xs text-center`,children:a})}),t[18]=a,t[19]=e);let n;return t[20]!==T||t[21]!==e?(n=(0,H.jsx)(U,{title:`Review Changes`,headerAction:T,children:e}),t[20]=T,t[21]=e,t[22]=n):n=t[22],n}if(r.length===0){let e;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,H.jsx)(`p`,{className:`text-muted-foreground text-xs text-center`,children:`No changes to review`})}),t[23]=e):e=t[23];let n;return t[24]===T?n=t[25]:(n=(0,H.jsx)(U,{title:`Review Changes`,headerAction:T,children:e}),t[24]=T,t[25]=n),n}let E;t[26]!==r||t[27]!==c||t[28]!==l||t[29]!==s?(E=(e,t)=>{let{isOpen:n,toggle:i}=t,a=!!e.children,u=(0,H.jsxs)(F,{onClick:()=>{a?i():e.fileIndex!==void 0&&c(e.fileIndex)},selected:!a&&e.fileIndex===s,className:`gap-1.5`,children:[a?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(f,{className:d(`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform`,n&&`rotate-90`)}),n?(0,H.jsx)(b,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}):(0,H.jsx)(o,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]}):(0,H.jsx)(y,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,H.jsx)(`span`,{className:`truncate flex-1 min-w-0`,children:e.name}),!a&&e.status&&(0,H.jsx)(`span`,{className:K(e.status),children:ue(e.status)})]});return a?u:(0,H.jsxs)(z,{children:[(0,H.jsx)(L,{asChild:!0,children:u}),(0,H.jsx)(R,{children:(0,H.jsxs)(ce,{onClick:()=>{e.fileIndex!==void 0&&l?.(r[e.fileIndex])},children:[(0,H.jsx)(m,{className:`mr-2 h-3.5 w-3.5`}),`Revert Change`]})})]})},t[26]=r,t[27]=c,t[28]=l,t[29]=s,t[30]=E):E=t[30];let D;t[31]!==E||t[32]!==n?(D=(0,H.jsx)(`div`,{className:`flex-1 overflow-y-auto pt-3 pb-2 px-1`,children:(0,H.jsx)(ne,{nodes:n,defaultOpen:!0,resetKey:n,indent:16,childContainerClassName:`ml-4 border-l border-sidebar-border pl-2`,renderNode:E})}),t[31]=E,t[32]=n,t[33]=D):D=t[33];let O;return t[34]!==T||t[35]!==D?(O=(0,H.jsx)(U,{title:`Review Changes`,headerAction:T,children:D}),t[34]=T,t[35]=D,t[36]=O):O=t[36],O}function q(e,t){return e+t.hunks.reduce(J,0)}function J(e,t){return e+t.changes.filter(fe).length}function fe(e){return e.type===`delete`}function pe(e,t){return e+t.hunks.reduce(Y,0)}function Y(e,t){return e+t.changes.filter(me).length}function me(e){return e.type===`add`}function he(e){let t=(0,V.c)(2),{isOpen:n}=e,r=n===void 0||n?`ml-[-40px]`:``,i;return t[0]===r?i=t[1]:(i=(0,H.jsx)(I,{withHandle:!0,className:r}),t[0]=r,t[1]=i),i}function ge(e){let t=(0,V.c)(35),{open:n,lineNumber:r,lineContent:i,initialComment:o,isEditing:d,onSave:f,onDelete:p,onClose:m}=e,[h,g]=(0,B.useState)((o===void 0?``:o)??``),_;t[0]!==f||t[1]!==h?(_=()=>{h.trim()&&f(h.trim())},t[0]=f,t[1]=h,t[2]=_):_=t[2];let v=_,y;t[3]===v?y=t[4]:(y=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),v())},t[3]=v,t[4]=y);let b=y,x;t[5]===m?x=t[6]:(x=e=>{e||m()},t[5]=m,t[6]=x);let S;t[7]===r?S=t[8]:(S=(0,H.jsx)(a,{children:(0,H.jsxs)(l,{className:`text-sm font-medium`,children:[`Comment on line `,r]})}),t[7]=r,t[8]=S);let C=i||` `,w;t[9]===C?w=t[10]:(w=(0,H.jsx)(`div`,{className:`rounded bg-muted px-3 py-2 font-mono text-xs text-muted-foreground overflow-x-auto whitespace-pre`,children:C}),t[9]=C,t[10]=w);let T;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(T=e=>g(e.target.value),t[11]=T):T=t[11];let E;t[12]!==b||t[13]!==h?(E=(0,H.jsx)(M,{autoFocus:!0,placeholder:`Add a comment... (Cmd+Enter to save)`,value:h,onChange:T,onKeyDown:b,rows:12,className:`resize-none text-sm`}),t[12]=b,t[13]=h,t[14]=E):E=t[14];let D;t[15]!==d||t[16]!==p?(D=d&&p&&(0,H.jsx)(s,{variant:`destructive`,size:`sm`,onClick:p,className:`mr-auto`,children:`Delete`}),t[15]=d,t[16]=p,t[17]=D):D=t[17];let O;t[18]===h?O=t[19]:(O=h.trim(),t[18]=h,t[19]=O);let k=!O,A;t[20]!==v||t[21]!==k?(A=(0,H.jsx)(s,{size:`sm`,onClick:v,disabled:k,children:`Save`}),t[20]=v,t[21]=k,t[22]=A):A=t[22];let j;t[23]!==D||t[24]!==A?(j=(0,H.jsxs)(u,{className:`gap-2 sm:gap-0`,children:[D,A]}),t[23]=D,t[24]=A,t[25]=j):j=t[25];let N;t[26]!==j||t[27]!==S||t[28]!==w||t[29]!==E?(N=(0,H.jsxs)(ee,{className:`max-w-2xl`,children:[S,w,E,j]}),t[26]=j,t[27]=S,t[28]=w,t[29]=E,t[30]=N):N=t[30];let P;return t[31]!==n||t[32]!==N||t[33]!==x?(P=(0,H.jsx)(c,{open:n,onOpenChange:x,children:N}),t[31]=n,t[32]=N,t[33]=x,t[34]=P):P=t[34],P}function X({threadId:e,onExit:r}){let{state:a,dispatch:o}=A(),{resolvedTheme:c}=ie(),[l,u]=(0,B.useState)([]),[m,v]=(0,B.useState)(!0),[y,b]=(0,B.useState)(null),[x,S]=(0,B.useState)(0),[O,ee]=(0,B.useState)(!1),[M,ne]=(0,B.useState)(!1),F=(0,B.useRef)(null),I=(0,B.useMemo)(()=>a.diffComments[e]??[],[a.diffComments,e]),L=(0,B.useCallback)(t=>{let n=a.diffComments[e]??[],r=typeof t==`function`?t(n):t;o({type:j.SetDiffComments,threadId:e,comments:r})},[o,e,a.diffComments]),[R,ce]=(0,B.useState)(null),[z,V]=(0,B.useState)(null),[U,W]=(0,B.useState)(null),G=(0,B.useRef)(null),K=(0,B.useRef)(I),ue=(0,B.useRef)(R),q=(0,B.useRef)({isFullView:O,selectedFileIndex:x,files:l}),J=(0,B.useRef)({original:[],modified:[]}),fe=(0,B.useRef)(!0);(0,B.useEffect)(()=>{K.current=I},[I]),(0,B.useEffect)(()=>{ue.current=R},[R]),(0,B.useEffect)(()=>{q.current={isFullView:O,selectedFileIndex:x,files:l}},[O,x,l]);let pe=(0,B.useCallback)(()=>{F.current&&(M?F.current.expand():F.current.collapse())},[M]),Y=(0,B.useCallback)(async()=>{if(e){v(!0),b(null);try{u((await h(e)).files||[]),S(0)}catch(e){b(e instanceof Error?e.message:`Failed to load diff`)}finally{v(!1)}}},[e]);(0,B.useEffect)(()=>{Y()},[Y]);let me=(0,B.useCallback)(async t=>{try{await n(e,t.path),await Y()}catch(e){b(e instanceof Error?e.message:`Failed to revert file`)}},[e,Y]),X=(0,B.useRef)(!1);(0,B.useEffect)(()=>{if((a.diffComments[e]??[]).length>0){X.current=!0;return}i(e).then(t=>{t.diffComments&&t.diffComments.length>0&&o({type:j.SetDiffComments,threadId:e,comments:t.diffComments}),X.current=!0}).catch(()=>{X.current=!0})},[e]),(0,B.useEffect)(()=>{X.current&&g(e,{diffComments:I}).catch(()=>{})},[e,I]);let _e=(0,B.useMemo)(()=>le(l),[l]),Z=e=>{if(e.hunks.length===0)return null;let t=1/0,n=0;return e.hunks.forEach(e=>{let r=Math.min(e.oldStart,e.newStart),i=e.oldStart+e.oldLines,a=e.newStart+e.newLines,o=Math.max(i,a);t=Math.min(t,r),n=Math.max(n,o)}),t===1/0?null:{startLine:Math.max(1,t-2),endLine:n+2}},ve=(e,t,n)=>e.split(`
1
+ import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{$ as t,$i as n,Ai as r,Bt as i,Cr as a,Et as o,Hn as s,Ni as c,Pn as l,Qi as u,Rn as d,Un as f,Vn as p,Wn as m,Zr as h,at as g,bn as _,da as v,gi as y,ii as b,ji as x,kn as S,la as C,mi as w,pi as T,q as E,ri as D,ui as O,zn as ee}from"./dialogs-config-3Hr2GRdt.js";import{_ as k}from"./react-vendor-4OUTOTE0.js";import{a as A,t as j}from"./store-CJdxpohI.js";import{t as M}from"./textarea-Dg4M60Yx.js";import{c as N,s as P,u as te}from"./history-view-Cyhu-ped.js";import{l as ne,t as re}from"./chat-input-container-VXGAcgnU.js";import{t as F}from"./standard-list-item-DUKJ8HEG.js";import{n as ie}from"./utils-4yrqj6yI.js";import{t as ae}from"./page-toolbar-De9hbhUD.js";import{n as oe,r as se,t as I}from"./resizable-D62plzWh.js";import{a as L,n as R,r as ce,t as z}from"./context-menu-sx0fb5uQ.js";var B=e(v(),1),V=C(),H=a();function U(e){let t=(0,V.c)(17),{children:n,title:r,headerAction:i,footer:a}=e,o;t[0]===r?o=t[1]:(o=r&&(0,H.jsx)(`span`,{className:`text-sm font-semibold tracking-tight`,children:r}),t[0]=r,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,H.jsx)(`div`,{className:`flex items-center gap-2`,children:o}),t[2]=o,t[3]=s);let c;t[4]===i?c=t[5]:(c=i&&(0,H.jsx)(`div`,{className:`flex items-center gap-2 ml-auto`,children:i}),t[4]=i,t[5]=c);let l;t[6]!==s||t[7]!==c?(l=(0,H.jsxs)(`div`,{className:`flex items-center justify-between border-b border-sidebar-border px-4 py-6`,children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8];let u;t[9]===n?u=t[10]:(u=(0,H.jsx)(S,{className:`flex-1`,children:n}),t[9]=n,t[10]=u);let d;t[11]===a?d=t[12]:(d=a&&(0,H.jsx)(`div`,{className:`border-t border-sidebar-border`,children:a}),t[11]=a,t[12]=d);let f;return t[13]!==l||t[14]!==u||t[15]!==d?(f=(0,H.jsxs)(`div`,{className:`flex flex-col h-full`,children:[l,u,d]}),t[13]=l,t[14]=u,t[15]=d,t[16]=f):f=t[16],f}function le(e){let t=[],n={};return e.forEach((e,r)=>{let i=e.path.split(`/`),a=t,o=``;for(let e=0;e<i.length-1;e++){if(o=o?`${o}/${i[e]}`:i[e],!n[o]){let t={id:`dir:${o}`,name:i[e],children:[]};n[o]=t,a.push(t)}a=n[o].children}a.push({id:`file:${e.path}`,name:i[i.length-1],fileIndex:r,status:e.status})}),t}var W={added:`text-green-500`,deleted:`text-red-500`,untracked:`text-green-500`,renamed:`text-blue-500`,modified:`text-orange-500`},G={added:`A`,deleted:`D`,untracked:`U`,renamed:`R`,modified:`M`};function K(e){return m(`status-badge font-mono text-xs font-semibold`,W[e]??`text-orange-500`)}function ue(e){return G[e]??`M`}function de(e){let t=(0,V.c)(37),{treeData:n,files:i,isLoading:a,error:o,selectedFileIndex:s,onFileSelect:l,onRevertFile:d}=e,f;t[0]===i?f=t[1]:(f=i.reduce(pe,0),t[0]=i,t[1]=f);let p=f,g;t[2]===i?g=t[3]:(g=i.reduce(q,0),t[2]=i,t[3]=g);let _=g,v=i.length===1?``:`s`,b;t[4]!==i.length||t[5]!==v?(b=(0,H.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[i.length,` file`,v]}),t[4]=i.length,t[5]=v,t[6]=b):b=t[6];let S;t[7]===p?S=t[8]:(S=(0,H.jsxs)(`span`,{className:`text-xs text-green-500`,children:[`+`,p]}),t[7]=p,t[8]=S);let C;t[9]===_?C=t[10]:(C=(0,H.jsxs)(`span`,{className:`text-xs text-red-500`,children:[`-`,_]}),t[9]=_,t[10]=C);let w;t[11]!==b||t[12]!==S||t[13]!==C?(w=(0,H.jsxs)(`div`,{className:`flex items-center gap-1`,children:[b,S,C]}),t[11]=b,t[12]=S,t[13]=C,t[14]=w):w=t[14];let T=w;if(a){let e;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(`div`,{className:`flex-1 flex items-center justify-center pt-3 pb-2`,children:(0,H.jsx)(y,{className:`h-6 w-6 animate-spin text-muted-foreground`})}),t[15]=e):e=t[15];let n;return t[16]===T?n=t[17]:(n=(0,H.jsx)(U,{title:`Review Changes`,headerAction:T,children:e}),t[16]=T,t[17]=n),n}if(o){let e;t[18]===o?e=t[19]:(e=(0,H.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,H.jsx)(`p`,{className:`text-destructive text-xs text-center`,children:o})}),t[18]=o,t[19]=e);let n;return t[20]!==T||t[21]!==e?(n=(0,H.jsx)(U,{title:`Review Changes`,headerAction:T,children:e}),t[20]=T,t[21]=e,t[22]=n):n=t[22],n}if(i.length===0){let e;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,H.jsx)(`p`,{className:`text-muted-foreground text-xs text-center`,children:`No changes to review`})}),t[23]=e):e=t[23];let n;return t[24]===T?n=t[25]:(n=(0,H.jsx)(U,{title:`Review Changes`,headerAction:T,children:e}),t[24]=T,t[25]=n),n}let E;t[26]!==i||t[27]!==l||t[28]!==d||t[29]!==s?(E=(e,t)=>{let{isOpen:n,toggle:a}=t,o=!!e.children,f=(0,H.jsxs)(F,{onClick:()=>{o?a():e.fileIndex!==void 0&&l(e.fileIndex)},selected:!o&&e.fileIndex===s,className:`gap-1.5`,children:[o?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(u,{className:m(`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform`,n&&`rotate-90`)}),n?(0,H.jsx)(x,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}):(0,H.jsx)(r,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]}):(0,H.jsx)(c,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,H.jsx)(`span`,{className:`truncate flex-1 min-w-0`,children:e.name}),!o&&e.status&&(0,H.jsx)(`span`,{className:K(e.status),children:ue(e.status)})]});return o?f:(0,H.jsxs)(z,{children:[(0,H.jsx)(L,{asChild:!0,children:f}),(0,H.jsx)(R,{children:(0,H.jsxs)(ce,{onClick:()=>{e.fileIndex!==void 0&&d?.(i[e.fileIndex])},children:[(0,H.jsx)(h,{className:`mr-2 h-3.5 w-3.5`}),`Revert Change`]})})]})},t[26]=i,t[27]=l,t[28]=d,t[29]=s,t[30]=E):E=t[30];let D;t[31]!==E||t[32]!==n?(D=(0,H.jsx)(`div`,{className:`flex-1 overflow-y-auto pt-3 pb-2 px-1`,children:(0,H.jsx)(ne,{nodes:n,defaultOpen:!0,resetKey:n,indent:16,childContainerClassName:`ml-4 border-l border-sidebar-border pl-2`,renderNode:E})}),t[31]=E,t[32]=n,t[33]=D):D=t[33];let O;return t[34]!==T||t[35]!==D?(O=(0,H.jsx)(U,{title:`Review Changes`,headerAction:T,children:D}),t[34]=T,t[35]=D,t[36]=O):O=t[36],O}function q(e,t){return e+t.hunks.reduce(J,0)}function J(e,t){return e+t.changes.filter(fe).length}function fe(e){return e.type===`delete`}function pe(e,t){return e+t.hunks.reduce(Y,0)}function Y(e,t){return e+t.changes.filter(me).length}function me(e){return e.type===`add`}function he(e){let t=(0,V.c)(2),{isOpen:n}=e,r=n===void 0||n?`ml-[-40px]`:``,i;return t[0]===r?i=t[1]:(i=(0,H.jsx)(I,{withHandle:!0,className:r}),t[0]=r,t[1]=i),i}function ge(e){let t=(0,V.c)(35),{open:n,lineNumber:r,lineContent:i,initialComment:a,isEditing:o,onSave:c,onDelete:u,onClose:m}=e,[h,g]=(0,B.useState)((a===void 0?``:a)??``),_;t[0]!==c||t[1]!==h?(_=()=>{h.trim()&&c(h.trim())},t[0]=c,t[1]=h,t[2]=_):_=t[2];let v=_,y;t[3]===v?y=t[4]:(y=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),v())},t[3]=v,t[4]=y);let b=y,x;t[5]===m?x=t[6]:(x=e=>{e||m()},t[5]=m,t[6]=x);let S;t[7]===r?S=t[8]:(S=(0,H.jsx)(s,{children:(0,H.jsxs)(f,{className:`text-sm font-medium`,children:[`Comment on line `,r]})}),t[7]=r,t[8]=S);let C=i||` `,w;t[9]===C?w=t[10]:(w=(0,H.jsx)(`div`,{className:`rounded bg-muted px-3 py-2 font-mono text-xs text-muted-foreground overflow-x-auto whitespace-pre`,children:C}),t[9]=C,t[10]=w);let T;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(T=e=>g(e.target.value),t[11]=T):T=t[11];let E;t[12]!==b||t[13]!==h?(E=(0,H.jsx)(M,{autoFocus:!0,placeholder:`Add a comment... (Cmd+Enter to save)`,value:h,onChange:T,onKeyDown:b,rows:12,className:`resize-none text-sm`}),t[12]=b,t[13]=h,t[14]=E):E=t[14];let D;t[15]!==o||t[16]!==u?(D=o&&u&&(0,H.jsx)(l,{variant:`destructive`,size:`sm`,onClick:u,className:`mr-auto`,children:`Delete`}),t[15]=o,t[16]=u,t[17]=D):D=t[17];let O;t[18]===h?O=t[19]:(O=h.trim(),t[18]=h,t[19]=O);let k=!O,A;t[20]!==v||t[21]!==k?(A=(0,H.jsx)(l,{size:`sm`,onClick:v,disabled:k,children:`Save`}),t[20]=v,t[21]=k,t[22]=A):A=t[22];let j;t[23]!==D||t[24]!==A?(j=(0,H.jsxs)(p,{className:`gap-2 sm:gap-0`,children:[D,A]}),t[23]=D,t[24]=A,t[25]=j):j=t[25];let N;t[26]!==j||t[27]!==S||t[28]!==w||t[29]!==E?(N=(0,H.jsxs)(ee,{className:`max-w-2xl`,children:[S,w,E,j]}),t[26]=j,t[27]=S,t[28]=w,t[29]=E,t[30]=N):N=t[30];let P;return t[31]!==n||t[32]!==N||t[33]!==x?(P=(0,H.jsx)(d,{open:n,onOpenChange:x,children:N}),t[31]=n,t[32]=N,t[33]=x,t[34]=P):P=t[34],P}function X({threadId:e,onExit:r}){let{state:a,dispatch:s}=A(),{resolvedTheme:c}=ie(),[d,f]=(0,B.useState)([]),[p,h]=(0,B.useState)(!0),[v,y]=(0,B.useState)(null),[x,S]=(0,B.useState)(0),[C,ee]=(0,B.useState)(!1),[M,ne]=(0,B.useState)(!1),F=(0,B.useRef)(null),I=(0,B.useMemo)(()=>a.diffComments[e]??[],[a.diffComments,e]),L=(0,B.useCallback)(t=>{let n=a.diffComments[e]??[],r=typeof t==`function`?t(n):t;s({type:j.SetDiffComments,threadId:e,comments:r})},[s,e,a.diffComments]),[R,ce]=(0,B.useState)(null),[z,V]=(0,B.useState)(null),[U,W]=(0,B.useState)(null),G=(0,B.useRef)(null),K=(0,B.useRef)(I),ue=(0,B.useRef)(R),q=(0,B.useRef)({isFullView:C,selectedFileIndex:x,files:d}),J=(0,B.useRef)({original:[],modified:[]}),fe=(0,B.useRef)(!0);(0,B.useEffect)(()=>{K.current=I},[I]),(0,B.useEffect)(()=>{ue.current=R},[R]),(0,B.useEffect)(()=>{q.current={isFullView:C,selectedFileIndex:x,files:d}},[C,x,d]);let pe=(0,B.useCallback)(()=>{F.current&&(M?F.current.expand():F.current.collapse())},[M]),Y=(0,B.useCallback)(async()=>{if(e){h(!0),y(null);try{f((await g(e)).files||[]),S(0)}catch(e){y(e instanceof Error?e.message:`Failed to load diff`)}finally{h(!1)}}},[e]);(0,B.useEffect)(()=>{Y()},[Y]);let me=(0,B.useCallback)(async t=>{try{await i(e,t.path),await Y()}catch(e){y(e instanceof Error?e.message:`Failed to revert file`)}},[e,Y]),X=(0,B.useRef)(!1);(0,B.useEffect)(()=>{if((a.diffComments[e]??[]).length>0){X.current=!0;return}o(e).then(t=>{t.diffComments&&t.diffComments.length>0&&s({type:j.SetDiffComments,threadId:e,comments:t.diffComments}),X.current=!0}).catch(()=>{X.current=!0})},[e]),(0,B.useEffect)(()=>{X.current&&_(e,{diffComments:I}).catch(()=>{})},[e,I]);let _e=(0,B.useMemo)(()=>le(d),[d]),Z=e=>{if(e.hunks.length===0)return null;let t=1/0,n=0;return e.hunks.forEach(e=>{let r=Math.min(e.oldStart,e.newStart),i=e.oldStart+e.oldLines,a=e.newStart+e.newLines,o=Math.max(i,a);t=Math.min(t,r),n=Math.max(n,o)}),t===1/0?null:{startLine:Math.max(1,t-2),endLine:n+2}},ve=(e,t,n)=>e.split(`
2
2
  `).slice(t-1,n).join(`
3
- `),ye=e=>{let t=Z(e);return t?t.startLine<=1:!0},be=e=>({ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,json:`json`,md:`markdown`,css:`css`,scss:`scss`,html:`html`,py:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,kt:`kotlin`,swift:`swift`,c:`c`,cpp:`cpp`,h:`c`,hpp:`cpp`,sh:`shell`,yaml:`yaml`,yml:`yaml`,xml:`xml`,sql:`sql`})[e.split(`.`).pop()??``]||`plaintext`,Q=l[x],xe=Q?O?Q.oldContent:(()=>{let e=Z(Q);return e?ve(Q.oldContent,e.startLine,e.endLine):Q.oldContent})():``,Se=Q?O?Q.newContent:(()=>{let e=Z(Q);return e?ve(Q.newContent,e.startLine,e.endLine):Q.newContent})():``,$=(0,B.useCallback)(()=>{if(!fe.current)return;let e=G.current;if(!e)return;let{isFullView:t,selectedFileIndex:n,files:r}=q.current,i=K.current,a=ue.current,o=r[n];if(!o)return;let s=(e,r)=>{let s=t?null:Z(o),c=i.filter(e=>e.fileIndex===n&&e.side===r).map(e=>{let t=s?e.lineNumber-s.startLine+1:e.lineNumber;if(t<1)return null;let n=i.indexOf(e)===a;return{range:{startLineNumber:t,startColumn:1,endLineNumber:t,endColumn:1},options:{isWholeLine:!0,className:n?`diff-comment-active-line`:`diff-comment-marked-line`,glyphMarginHoverMessage:{value:e.comment}}}}).filter(e=>e!==null),l=r===`original`?J.current.original:J.current.modified,u=e.deltaDecorations(l,c);r===`original`?J.current.original=u:J.current.modified=u};s(e.getOriginalEditor(),`original`),s(e.getModifiedEditor(),`modified`)},[]);(0,B.useEffect)(()=>{$()},[$,I,R,x,O,Q]),(0,B.useEffect)(()=>()=>{G.current=null,J.current={original:[],modified:[]}},[x]),(0,B.useEffect)(()=>()=>{fe.current=!1,G.current&&=(G.current.getOriginalEditor().getModel()?.dispose(),G.current.getModifiedEditor().getModel()?.dispose(),G.current.dispose(),null),J.current={original:[],modified:[]}},[]);let Ce=(0,B.useCallback)(e=>{G.current=e;let t=(e,t)=>{e.onMouseDown(n=>{if(!n.target?.position)return;let r=n.target.position.lineNumber,{isFullView:i,selectedFileIndex:a,files:o}=q.current,s=o[a];if(!s)return;let c=i?null:Z(s),l=c?c.startLine+r-1:r,u=e.getModel()?.getLineContent(r)??``,d=K.current.find(e=>e.fileIndex===a&&e.lineNumber===l&&e.side===t);d?W(d):V({lineNumber:l,lineContent:u,side:t})})};t(e.getOriginalEditor(),`original`),t(e.getModifiedEditor(),`modified`),setTimeout(()=>{G.current===e&&$()},150)},[$]),we=(0,B.useCallback)(e=>{if(z&&Q){let t={id:`comment-${Date.now()}`,filePath:Q.path,fileIndex:x,lineNumber:z.lineNumber,lineContent:z.lineContent,comment:e,side:z.side};L(e=>[...e,t]),V(null)}else U&&(L(t=>t.map(t=>t.id===U.id?{...t,comment:e}:t)),W(null))},[z,U,Q,x,L]),Te=(0,B.useCallback)(()=>{U&&(L(e=>e.filter(e=>e.id!==U.id)),W(null))},[U,L]),Ee=(0,B.useCallback)(e=>{if(I.length===0)return;let t=(e%I.length+I.length)%I.length,n=I[t];ce(t),S(n.fileIndex),setTimeout(()=>{let e=G.current;if(!e)return;let t=l[n.fileIndex];if(!t)return;let r=O?null:Z(t),i=r?n.lineNumber-r.startLine+1:n.lineNumber;(n.side===`original`?e.getOriginalEditor():e.getModifiedEditor()).revealLineInCenter(Math.max(1,i)),$()},100)},[I,l,O,$]),De=(0,B.useCallback)(()=>{Ee((R??0)-1)},[Ee,R]),Oe=(0,B.useCallback)(()=>{Ee((R??-1)+1)},[Ee,R]),ke=(0,B.useCallback)(async()=>{let n=a.projectModelSelections[e];if(!n)try{let e=await t(),r=Object.values(e).flat();if(r.length>0)n=r[0];else{console.error(`No models available to process comments`);return}}catch(e){console.error(`Failed to load models:`,e);return}let i=n.id,s=n.provider;try{let{prompt:t}=await E(e,I);L([]),o({type:j.SetPendingChatMessage,message:{threadId:e,message:t,model:i,provider:s}}),r()}catch(e){console.error(`Failed to fix comments:`,e),typeof window<`u`&&window.alert(`Failed to process comments. Please try again.`)}},[I,a.projectModelSelections,o,e,r,L]),Ae={readOnly:!0,renderSideBySide:!0,ignoreTrimWhitespace:!1,renderOverviewRuler:!0,scrollBeyondLastLine:!1,minimap:{enabled:!1},folding:!1,lineNumbers:Q&&(O||ye(Q))?`on`:`off`,diffWordWrap:`on`,originalEditable:!1,automaticLayout:!0};return(0,H.jsxs)(`div`,{className:`diff-view-root flex h-full flex-col`,children:[(0,H.jsx)(`div`,{className:`diff-body flex flex-1 overflow-hidden`,children:(0,H.jsxs)(se,{direction:`horizontal`,children:[(0,H.jsx)(oe,{ref:F,defaultSize:25,minSize:12,maxSize:40,collapsible:!0,collapsedSize:0,onCollapse:()=>ne(!0),onExpand:()=>ne(!1),className:`border-r border-transparent`,children:(0,H.jsx)(`div`,{className:`h-full overflow-hidden`,children:(0,H.jsx)(de,{treeData:_e,files:l,isLoading:m,error:y,selectedFileIndex:x,onFileSelect:S,onRevertFile:me})})}),(0,H.jsx)(he,{isOpen:!M}),(0,H.jsx)(oe,{className:`overflow-hidden bg-transparent`,children:(0,H.jsxs)(`div`,{className:`diff-editor-panel flex h-full bg-transparent flex-col overflow-hidden`,children:[(0,H.jsxs)(ae,{className:d(`bg-transparent`,M&&`h-auto py-3 flex-col items-start gap-3 md:flex-row md:items-center md:h-[71px] md:py-0 md:gap-2 justify-between`),children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsxs)(s,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:pe,children:[M?(0,H.jsx)(w,{className:`h-4 w-4`}):(0,H.jsx)(D,{className:`h-4 w-4`}),(0,H.jsx)(`span`,{className:`sr-only`,children:`Toggle file tree`})]}),(0,H.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:Q?Q.path:`Review Changes`})]}),(0,H.jsxs)(`div`,{className:d(`flex items-center gap-2`,M&&`ml-0`,!M&&`ml-auto`,`md:ml-auto`),children:[(0,H.jsx)(s,{variant:`ghost`,size:`sm`,onClick:()=>ee(e=>!e),disabled:!Q,className:`h-8 gap-1 px-2 text-xs`,children:O?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(C,{className:`h-3 w-3`}),` Show changes only`]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(T,{className:`h-3 w-3`}),` Show full file`]})}),I.length>0&&(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsxs)(P,{children:[(0,H.jsx)(te,{asChild:!0,children:(0,H.jsx)(s,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:De,disabled:(R??0)===0,children:(0,H.jsx)(p,{className:`h-3 w-3`})})}),(0,H.jsx)(N,{children:`Previous comment`})]}),(0,H.jsx)(`span`,{className:`text-xs text-muted-foreground whitespace-nowrap`,children:I.length===1?`1 Comment`:`Comment ${(R??0)+1} of ${I.length}`}),(0,H.jsxs)(P,{children:[(0,H.jsx)(te,{asChild:!0,children:(0,H.jsx)(s,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:Oe,disabled:(R??0)===I.length-1,children:(0,H.jsx)(f,{className:`h-3 w-3`})})}),(0,H.jsx)(N,{children:`Next comment`})]})]}),I.length>0&&(0,H.jsxs)(P,{children:[(0,H.jsx)(te,{asChild:!0,children:(0,H.jsxs)(s,{size:`sm`,onClick:ke,className:`h-8 gap-1 px-3 text-xs bg-foreground text-background hover:bg-foreground/90`,children:[(0,H.jsx)(_,{className:`h-3 w-3`}),`Fix all comments`]})}),(0,H.jsx)(N,{children:`Send all comments to Tarsk for resolution`})]})]})]}),(0,H.jsxs)(`div`,{className:`flex-1 bg-transparent relative`,children:[(0,H.jsx)(k,{height:`100%`,language:be(Q?.path||``),original:xe,modified:Se,theme:c===`dark`?`vs-dark`:`vs-light`,onMount:Ce,options:Ae},`diff-${x}`),(0,H.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0`,children:(0,H.jsx)(re,{})})]})]})})]})}),(0,H.jsx)(ge,{open:z!==null||U!==null,lineNumber:U?.lineNumber??z?.lineNumber??0,lineContent:U?.lineContent??z?.lineContent??``,initialComment:U?.comment,isEditing:U!==null,onSave:we,onDelete:Te,onClose:()=>{V(null),W(null)}},`${U?.id??``}-${z?.lineNumber??``}-${z?.side??``}`)]})}export{X as DiffView,X as default};
3
+ `),ye=e=>{let t=Z(e);return t?t.startLine<=1:!0},be=e=>({ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,json:`json`,md:`markdown`,css:`css`,scss:`scss`,html:`html`,py:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,kt:`kotlin`,swift:`swift`,c:`c`,cpp:`cpp`,h:`c`,hpp:`cpp`,sh:`shell`,yaml:`yaml`,yml:`yaml`,xml:`xml`,sql:`sql`})[e.split(`.`).pop()??``]||`plaintext`,Q=d[x],xe=Q?C?Q.oldContent:(()=>{let e=Z(Q);return e?ve(Q.oldContent,e.startLine,e.endLine):Q.oldContent})():``,Se=Q?C?Q.newContent:(()=>{let e=Z(Q);return e?ve(Q.newContent,e.startLine,e.endLine):Q.newContent})():``,$=(0,B.useCallback)(()=>{if(!fe.current)return;let e=G.current;if(!e)return;let{isFullView:t,selectedFileIndex:n,files:r}=q.current,i=K.current,a=ue.current,o=r[n];if(!o)return;let s=(e,r)=>{let s=t?null:Z(o),c=i.filter(e=>e.fileIndex===n&&e.side===r).map(e=>{let t=s?e.lineNumber-s.startLine+1:e.lineNumber;if(t<1)return null;let n=i.indexOf(e)===a;return{range:{startLineNumber:t,startColumn:1,endLineNumber:t,endColumn:1},options:{isWholeLine:!0,className:n?`diff-comment-active-line`:`diff-comment-marked-line`,glyphMarginHoverMessage:{value:e.comment}}}}).filter(e=>e!==null),l=r===`original`?J.current.original:J.current.modified,u=e.deltaDecorations(l,c);r===`original`?J.current.original=u:J.current.modified=u};s(e.getOriginalEditor(),`original`),s(e.getModifiedEditor(),`modified`)},[]);(0,B.useEffect)(()=>{$()},[$,I,R,x,C,Q]),(0,B.useEffect)(()=>()=>{G.current=null,J.current={original:[],modified:[]}},[x]),(0,B.useEffect)(()=>()=>{fe.current=!1,G.current&&=(G.current.getOriginalEditor().getModel()?.dispose(),G.current.getModifiedEditor().getModel()?.dispose(),G.current.dispose(),null),J.current={original:[],modified:[]}},[]);let Ce=(0,B.useCallback)(e=>{G.current=e;let t=(e,t)=>{e.onMouseDown(n=>{if(!n.target?.position)return;let r=n.target.position.lineNumber,{isFullView:i,selectedFileIndex:a,files:o}=q.current,s=o[a];if(!s)return;let c=i?null:Z(s),l=c?c.startLine+r-1:r,u=e.getModel()?.getLineContent(r)??``,d=K.current.find(e=>e.fileIndex===a&&e.lineNumber===l&&e.side===t);d?W(d):V({lineNumber:l,lineContent:u,side:t})})};t(e.getOriginalEditor(),`original`),t(e.getModifiedEditor(),`modified`),setTimeout(()=>{G.current===e&&$()},150)},[$]),we=(0,B.useCallback)(e=>{if(z&&Q){let t={id:`comment-${Date.now()}`,filePath:Q.path,fileIndex:x,lineNumber:z.lineNumber,lineContent:z.lineContent,comment:e,side:z.side};L(e=>[...e,t]),V(null)}else U&&(L(t=>t.map(t=>t.id===U.id?{...t,comment:e}:t)),W(null))},[z,U,Q,x,L]),Te=(0,B.useCallback)(()=>{U&&(L(e=>e.filter(e=>e.id!==U.id)),W(null))},[U,L]),Ee=(0,B.useCallback)(e=>{if(I.length===0)return;let t=(e%I.length+I.length)%I.length,n=I[t];ce(t),S(n.fileIndex),setTimeout(()=>{let e=G.current;if(!e)return;let t=d[n.fileIndex];if(!t)return;let r=C?null:Z(t),i=r?n.lineNumber-r.startLine+1:n.lineNumber;(n.side===`original`?e.getOriginalEditor():e.getModifiedEditor()).revealLineInCenter(Math.max(1,i)),$()},100)},[I,d,C,$]),De=(0,B.useCallback)(()=>{Ee((R??0)-1)},[Ee,R]),Oe=(0,B.useCallback)(()=>{Ee((R??-1)+1)},[Ee,R]),ke=(0,B.useCallback)(async()=>{let n=a.projectModelSelections[e];if(!n)try{let e=await t(),r=Object.values(e).flat();if(r.length>0)n=r[0];else{console.error(`No models available to process comments`);return}}catch(e){console.error(`Failed to load models:`,e);return}let i=n.id,o=n.provider;try{let{prompt:t}=await E(e,I);L([]),s({type:j.SetPendingChatMessage,message:{threadId:e,message:t,model:i,provider:o}}),r()}catch(e){console.error(`Failed to fix comments:`,e),typeof window<`u`&&window.alert(`Failed to process comments. Please try again.`)}},[I,a.projectModelSelections,s,e,r,L]),Ae={readOnly:!0,renderSideBySide:!0,ignoreTrimWhitespace:!1,renderOverviewRuler:!0,scrollBeyondLastLine:!1,minimap:{enabled:!1},folding:!1,lineNumbers:Q&&(C||ye(Q))?`on`:`off`,diffWordWrap:`on`,originalEditable:!1,automaticLayout:!0};return(0,H.jsxs)(`div`,{className:`diff-view-root flex h-full flex-col`,children:[(0,H.jsx)(`div`,{className:`diff-body flex flex-1 overflow-hidden`,children:(0,H.jsxs)(se,{direction:`horizontal`,children:[(0,H.jsx)(oe,{ref:F,defaultSize:25,minSize:12,maxSize:40,collapsible:!0,collapsedSize:0,onCollapse:()=>ne(!0),onExpand:()=>ne(!1),className:`border-r border-transparent`,children:(0,H.jsx)(`div`,{className:`h-full overflow-hidden`,children:(0,H.jsx)(de,{treeData:_e,files:d,isLoading:p,error:v,selectedFileIndex:x,onFileSelect:S,onRevertFile:me})})}),(0,H.jsx)(he,{isOpen:!M}),(0,H.jsx)(oe,{className:`overflow-hidden bg-transparent`,children:(0,H.jsxs)(`div`,{className:`diff-editor-panel flex h-full bg-transparent flex-col overflow-hidden`,children:[(0,H.jsxs)(ae,{className:m(`bg-transparent`,M&&`h-auto py-3 flex-col items-start gap-3 md:flex-row md:items-center md:h-[71px] md:py-0 md:gap-2 justify-between`),children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsxs)(l,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:pe,children:[M?(0,H.jsx)(D,{className:`h-4 w-4`}):(0,H.jsx)(b,{className:`h-4 w-4`}),(0,H.jsx)(`span`,{className:`sr-only`,children:`Toggle file tree`})]}),(0,H.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:Q?Q.path:`Review Changes`})]}),(0,H.jsxs)(`div`,{className:m(`flex items-center gap-2`,M&&`ml-0`,!M&&`ml-auto`,`md:ml-auto`),children:[(0,H.jsx)(l,{variant:`ghost`,size:`sm`,onClick:()=>ee(e=>!e),disabled:!Q,className:`h-8 gap-1 px-2 text-xs`,children:C?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(O,{className:`h-3 w-3`}),` Show changes only`]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(w,{className:`h-3 w-3`}),` Show full file`]})}),I.length>0&&(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsxs)(P,{children:[(0,H.jsx)(te,{asChild:!0,children:(0,H.jsx)(l,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:De,disabled:(R??0)===0,children:(0,H.jsx)(n,{className:`h-3 w-3`})})}),(0,H.jsx)(N,{children:`Previous comment`})]}),(0,H.jsx)(`span`,{className:`text-xs text-muted-foreground whitespace-nowrap`,children:I.length===1?`1 Comment`:`Comment ${(R??0)+1} of ${I.length}`}),(0,H.jsxs)(P,{children:[(0,H.jsx)(te,{asChild:!0,children:(0,H.jsx)(l,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:Oe,disabled:(R??0)===I.length-1,children:(0,H.jsx)(u,{className:`h-3 w-3`})})}),(0,H.jsx)(N,{children:`Next comment`})]})]}),I.length>0&&(0,H.jsxs)(P,{children:[(0,H.jsx)(te,{asChild:!0,children:(0,H.jsxs)(l,{size:`sm`,onClick:ke,className:`h-8 gap-1 px-3 text-xs bg-foreground text-background hover:bg-foreground/90`,children:[(0,H.jsx)(T,{className:`h-3 w-3`}),`Fix all comments`]})}),(0,H.jsx)(N,{children:`Send all comments to Tarsk for resolution`})]})]})]}),(0,H.jsxs)(`div`,{className:`flex-1 bg-transparent relative`,children:[(0,H.jsx)(k,{height:`100%`,language:be(Q?.path||``),original:xe,modified:Se,theme:c===`dark`?`vs-dark`:`vs-light`,onMount:Ce,options:Ae},`diff-${x}`),(0,H.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0`,children:(0,H.jsx)(re,{})})]})]})})]})}),(0,H.jsx)(ge,{open:z!==null||U!==null,lineNumber:U?.lineNumber??z?.lineNumber??0,lineContent:U?.lineContent??z?.lineContent??``,initialComment:U?.comment,isEditing:U!==null,onSave:we,onDelete:Te,onClose:()=>{V(null),W(null)}},`${U?.id??``}-${z?.lineNumber??``}-${z?.side??``}`)]})}export{X as DiffView,X as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/explorer-tree-DOg67ane.js","assets/rolldown-runtime-B1FJdls4.js","assets/dialogs-config-DmDjliuA.js","assets/api-DL5XaoTS.js","assets/alert-dialog-Bk7neo_n.js","assets/react-vendor-CaS5zjF7.js","assets/history-view-BOjZoBCb.js","assets/monaco-c-HyCuEi.js","assets/context-menu-DHHElhQ1.js","assets/standard-list-item-CpBjveM0.js","assets/use-toast-C9B1H3P9.js","assets/tab-context-Bmd79Rk0.js","assets/explorer-view-Bw3-gTSX.js","assets/page-toolbar-CvreDTwj.js","assets/store-CAPnOXso.js","assets/utils-BG_JNnOl.js"])))=>i.map(i=>d[i]);
2
- import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Cr as t,kn as n,la as r,sa as i}from"./dialogs-config-DmDjliuA.js";import{vt as a}from"./react-vendor-CaS5zjF7.js";import{a as o}from"./store-CAPnOXso.js";import{n as s}from"./tab-context-Bmd79Rk0.js";import{n as c,r as l,t as u}from"./resizable-DJ5w1ZWX.js";var d=i(),f=e(r(),1),p=t(),m=(0,f.lazy)(()=>a(()=>import(`./explorer-tree-DOg67ane.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]))),h=(0,f.lazy)(()=>a(()=>import(`./explorer-view-Bw3-gTSX.js`),__vite__mapDeps([12,1,5,6,2,7,3,13,10,14,15])));function g(){let e=(0,d.c)(17),{state:t}=o(),r=t.selectedThreadId,[i,a]=(0,f.useState)(null),{pendingExplorerPath:g,setPendingExplorerPath:v,explorerClearPath:y,setExplorerClearPath:b}=s(),x,S;e[0]!==g||e[1]!==v?(x=()=>{g&&(a({name:g.split(`/`).pop()??g,type:`file`,path:g}),v(null))},S=[g,v],e[0]=g,e[1]=v,e[2]=x,e[3]=S):(x=e[2],S=e[3]),(0,f.useEffect)(x,S);let C,w;e[4]!==y||e[5]!==b?(C=()=>{y&&(a(e=>e&&(e.path===y||e.path.startsWith(y+`/`)?null:e)),b(null))},w=[y,b],e[4]=y,e[5]=b,e[6]=C,e[7]=w):(C=e[6],w=e[7]),(0,f.useEffect)(C,w);let T;e[8]!==i?.path||e[9]!==r?(T=(0,p.jsx)(c,{defaultSize:25,minSize:15,maxSize:50,className:`overflow-hidden border-r border-border`,children:(0,p.jsx)(n,{className:`h-full`,children:r?(0,p.jsx)(f.Suspense,{fallback:(0,p.jsx)(`div`,{className:`space-y-1 px-2 py-2`,children:[1,2,3].map(_)}),children:(0,p.jsx)(m,{threadId:r,selectedPath:i?.path??null,onFileSelect:a})}):(0,p.jsx)(`p`,{className:`px-3 py-4 text-xs text-muted-foreground text-center`,children:`No thread selected.`})})}),e[8]=i?.path,e[9]=r,e[10]=T):T=e[10];let E;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,p.jsx)(u,{withHandle:!0}),e[11]=E):E=e[11];let D;e[12]===i?D=e[13]:(D=(0,p.jsx)(c,{className:`overflow-hidden`,children:(0,p.jsx)(f.Suspense,{fallback:null,children:(0,p.jsx)(h,{selectedFile:i})})}),e[12]=i,e[13]=D);let O;return e[14]!==T||e[15]!==D?(O=(0,p.jsx)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:(0,p.jsxs)(l,{direction:`horizontal`,className:`flex-1 overflow-hidden`,children:[T,E,D]})}),e[14]=T,e[15]=D,e[16]=O):O=e[16],O}function _(e){return(0,p.jsx)(`div`,{className:`animate-pulse h-7 bg-muted rounded-full`},e)}export{g as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/explorer-tree-DXXm8_b9.js","assets/rolldown-runtime-B1FJdls4.js","assets/dialogs-config-3Hr2GRdt.js","assets/api-XK7H2gI0.js","assets/alert-dialog-2Kcr7vcf.js","assets/react-vendor-4OUTOTE0.js","assets/history-view-Cyhu-ped.js","assets/monaco-c-HyCuEi.js","assets/context-menu-sx0fb5uQ.js","assets/standard-list-item-DUKJ8HEG.js","assets/use-toast-C3jyoS6i.js","assets/tab-context-D2auNMAI.js","assets/explorer-view-8g0_dmv4.js","assets/page-toolbar-De9hbhUD.js","assets/store-CJdxpohI.js","assets/utils-4yrqj6yI.js"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Cr as t,da as n,kn as r,la as i}from"./dialogs-config-3Hr2GRdt.js";import{vt as a}from"./react-vendor-4OUTOTE0.js";import{a as o}from"./store-CJdxpohI.js";import{n as s}from"./tab-context-D2auNMAI.js";import{n as c,r as l,t as u}from"./resizable-D62plzWh.js";var d=i(),f=e(n(),1),p=t(),m=(0,f.lazy)(()=>a(()=>import(`./explorer-tree-DXXm8_b9.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]))),h=(0,f.lazy)(()=>a(()=>import(`./explorer-view-8g0_dmv4.js`),__vite__mapDeps([12,1,5,6,2,7,3,13,10,14,15])));function g(){let e=(0,d.c)(17),{state:t}=o(),n=t.selectedThreadId,[i,a]=(0,f.useState)(null),{pendingExplorerPath:g,setPendingExplorerPath:v,explorerClearPath:y,setExplorerClearPath:b}=s(),x,S;e[0]!==g||e[1]!==v?(x=()=>{g&&(a({name:g.split(`/`).pop()??g,type:`file`,path:g}),v(null))},S=[g,v],e[0]=g,e[1]=v,e[2]=x,e[3]=S):(x=e[2],S=e[3]),(0,f.useEffect)(x,S);let C,w;e[4]!==y||e[5]!==b?(C=()=>{y&&(a(e=>e&&(e.path===y||e.path.startsWith(y+`/`)?null:e)),b(null))},w=[y,b],e[4]=y,e[5]=b,e[6]=C,e[7]=w):(C=e[6],w=e[7]),(0,f.useEffect)(C,w);let T;e[8]!==i?.path||e[9]!==n?(T=(0,p.jsx)(c,{defaultSize:25,minSize:15,maxSize:50,className:`overflow-hidden border-r border-border`,children:(0,p.jsx)(r,{className:`h-full`,children:n?(0,p.jsx)(f.Suspense,{fallback:(0,p.jsx)(`div`,{className:`space-y-1 px-2 py-2`,children:[1,2,3].map(_)}),children:(0,p.jsx)(m,{threadId:n,selectedPath:i?.path??null,onFileSelect:a})}):(0,p.jsx)(`p`,{className:`px-3 py-4 text-xs text-muted-foreground text-center`,children:`No thread selected.`})})}),e[8]=i?.path,e[9]=n,e[10]=T):T=e[10];let E;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,p.jsx)(u,{withHandle:!0}),e[11]=E):E=e[11];let D;e[12]===i?D=e[13]:(D=(0,p.jsx)(c,{className:`overflow-hidden`,children:(0,p.jsx)(f.Suspense,{fallback:null,children:(0,p.jsx)(h,{selectedFile:i})})}),e[12]=i,e[13]=D);let O;return e[14]!==T||e[15]!==D?(O=(0,p.jsx)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:(0,p.jsxs)(l,{direction:`horizontal`,className:`flex-1 overflow-hidden`,children:[T,E,D]})}),e[14]=T,e[15]=D,e[16]=O):O=e[16],O}function _(e){return(0,p.jsx)(`div`,{className:`animate-pulse h-7 bg-muted rounded-full`},e)}export{g as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Ai as t,Cr as n,Ni as r,Qi as i,da as a,ea as o,gi as s,ji as c,la as l}from"./dialogs-config-3Hr2GRdt.js";import{t as u}from"./use-toast-C3jyoS6i.js";import{t as d}from"./standard-list-item-DUKJ8HEG.js";import{a as f,c as p,i as m,n as h,r as g,t as _}from"./alert-dialog-2Kcr7vcf.js";import{n as v}from"./tab-context-D2auNMAI.js";import{a as y,i as ee,n as b,r as x,t as S}from"./context-menu-sx0fb5uQ.js";import{n as C,o as w,r as T,s as E,t as D}from"./api-XK7H2gI0.js";var O=l(),k=e(a(),1),A=n();function te(e){let t=(0,O.c)(17),{defaultValue:n,onCommit:r,onCancel:i,level:a,basePadding:o,icon:s}=e,c=(0,k.useRef)(null),l,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{c.current?.focus(),c.current?.select()},u=[],t[0]=l,t[1]=u):(l=t[0],u=t[1]),(0,k.useEffect)(l,u);let f;t[2]!==i||t[3]!==r?(f=function(e){if(e.key===`Enter`){let e=c.current?.value.trim()??``;e?r(e):i()}else e.key===`Escape`&&i()},t[2]=i,t[3]=r,t[4]=f):f=t[4];let p=f,m;t[5]!==i||t[6]!==r?(m=function(){let e=c.current?.value.trim()??``;e?r(e):i()},t[5]=i,t[6]=r,t[7]=m):m=t[7];let h=m,g;t[8]!==n||t[9]!==h||t[10]!==p?(g=(0,A.jsx)(`input`,{ref:c,defaultValue:n,onKeyDown:p,onBlur:h,className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-sm`,onClick:j}),t[8]=n,t[9]=h,t[10]=p,t[11]=g):g=t[11];let _;return t[12]!==o||t[13]!==s||t[14]!==a||t[15]!==g?(_=(0,A.jsxs)(d,{level:a,basePadding:o,children:[s,g]}),t[12]=o,t[13]=s,t[14]=a,t[15]=g,t[16]=_):_=t[16],_}function j(e){return e.stopPropagation()}function ne(e){let n=(0,O.c)(101),{node:a,level:l,selectedPath:u,expandedPaths:f,loadedDirs:p,loadingPaths:m,renamingPath:h,newItemIn:g,onToggleFolder:_,onSelectFile:v,onStartRename:C,onCommitRename:w,onCancelRename:T,onDelete:E,onNewFile:D,onNewFolder:k,onCommitNewItem:j,onCancelNewItem:P}=e,F;n[0]!==f||n[1]!==a.path?(F=f.has(a.path),n[0]=f,n[1]=a.path,n[2]=F):F=n[2];let I=F,L;n[3]!==m||n[4]!==a.path?(L=m.has(a.path),n[3]=m,n[4]=a.path,n[5]=L):L=n[5];let R=L,z,B;if(n[6]!==f||n[7]!==I||n[8]!==R||n[9]!==l||n[10]!==p||n[11]!==m||n[12]!==g||n[13]!==a||n[14]!==P||n[15]!==T||n[16]!==j||n[17]!==w||n[18]!==E||n[19]!==D||n[20]!==k||n[21]!==v||n[22]!==C||n[23]!==_||n[24]!==h||n[25]!==u){B=Symbol.for(`react.early_return_sentinel`);bb0:{let e=p.get(a.path)??[];z=h===a.path;let O=g?.dirPath===a.path&&I;if(a.type===`folder`){let M=a.ignored?`opacity-50`:void 0,F;n[28]!==a||n[29]!==_?(F=e=>{e.stopPropagation(),_(a)},n[28]=a,n[29]=_,n[30]=F):F=n[30];let L;n[31]!==I||n[32]!==R?(L=(0,A.jsx)(`span`,{className:`text-muted-foreground w-3 flex-shrink-0`,children:R?(0,A.jsx)(s,{className:`h-3 w-3 animate-spin`}):I?(0,A.jsx)(o,{className:`h-3 w-3`}):(0,A.jsx)(i,{className:`h-3 w-3`})}),n[31]=I,n[32]=R,n[33]=L):L=n[33];let V;n[34]!==I||n[35]!==z||n[36]!==a||n[37]!==T||n[38]!==w?(V=z?(0,A.jsxs)(A.Fragment,{children:[I?(0,A.jsx)(c,{className:`h-4 w-4 flex-shrink-0`}):(0,A.jsx)(t,{className:`h-4 w-4 flex-shrink-0`}),(0,A.jsx)(`input`,{autoFocus:!0,defaultValue:a.name,onKeyDown:e=>{if(e.key===`Enter`){let t=e.target.value.trim();t?w(a,t):T()}else e.key===`Escape`&&T()},onBlur:e=>{let t=e.target.value.trim();t?w(a,t):T()},onClick:N,className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-sm`})]}):(0,A.jsxs)(A.Fragment,{children:[I?(0,A.jsx)(c,{className:`h-4 w-4 flex-shrink-0`}):(0,A.jsx)(t,{className:`h-4 w-4 flex-shrink-0`}),(0,A.jsx)(`span`,{className:`flex-1 truncate`,children:a.name})]}),n[34]=I,n[35]=z,n[36]=a,n[37]=T,n[38]=w,n[39]=V):V=n[39];let H;n[40]!==l||n[41]!==M||n[42]!==F||n[43]!==L||n[44]!==V?(H=(0,A.jsxs)(d,{level:l,basePadding:10,className:M,onClick:F,children:[L,V]}),n[40]=l,n[41]=M,n[42]=F,n[43]=L,n[44]=V,n[45]=H):H=n[45];let U=I&&(0,A.jsx)(`div`,{children:R&&!p.has(a.path)?(0,A.jsx)(`div`,{className:`animate-pulse h-4 bg-muted rounded mx-4 my-1`}):(0,A.jsxs)(A.Fragment,{children:[O&&(0,A.jsx)(te,{defaultValue:``,level:l+1,basePadding:g.type===`folder`?10:22,icon:g.type===`folder`?(0,A.jsx)(t,{className:`h-4 w-4 flex-shrink-0`}):(0,A.jsx)(r,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),onCommit:j,onCancel:P}),e.map(e=>(0,A.jsx)(ne,{node:e,level:l+1,selectedPath:u,expandedPaths:f,loadedDirs:p,loadingPaths:m,renamingPath:h,newItemIn:g,onToggleFolder:_,onSelectFile:v,onStartRename:C,onCommitRename:w,onCancelRename:T,onDelete:E,onNewFile:D,onNewFolder:k,onCommitNewItem:j,onCancelNewItem:P},e.path))]})}),W;n[46]!==H||n[47]!==U?(W=(0,A.jsxs)(`div`,{children:[H,U]}),n[46]=H,n[47]=U,n[48]=W):W=n[48];let G=W,K;n[49]===G?K=n[50]:(K=(0,A.jsx)(y,{asChild:!0,children:G}),n[49]=G,n[50]=K);let q;n[51]!==a.path||n[52]!==D?(q=(0,A.jsx)(x,{onSelect:()=>D(a.path),children:`New File...`}),n[51]=a.path,n[52]=D,n[53]=q):q=n[53];let J;n[54]!==a.path||n[55]!==k?(J=(0,A.jsx)(x,{onSelect:()=>k(a.path),children:`New Folder...`}),n[54]=a.path,n[55]=k,n[56]=J):J=n[56];let Y;n[57]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,A.jsx)(ee,{}),n[57]=Y):Y=n[57];let X;n[58]!==a||n[59]!==C?(X=(0,A.jsx)(x,{onSelect:()=>C(a),children:`Rename...`}),n[58]=a,n[59]=C,n[60]=X):X=n[60];let Z;n[61]!==a||n[62]!==E?(Z=(0,A.jsx)(x,{onSelect:()=>E(a),className:`text-destructive focus:text-destructive`,children:`Delete`}),n[61]=a,n[62]=E,n[63]=Z):Z=n[63];let Q;n[64]!==q||n[65]!==J||n[66]!==X||n[67]!==Z?(Q=(0,A.jsxs)(b,{children:[q,J,Y,X,Z]}),n[64]=q,n[65]=J,n[66]=X,n[67]=Z,n[68]=Q):Q=n[68];let $;n[69]!==K||n[70]!==Q?($=(0,A.jsxs)(S,{children:[K,Q]}),n[69]=K,n[70]=Q,n[71]=$):$=n[71],B=$;break bb0}}n[6]=f,n[7]=I,n[8]=R,n[9]=l,n[10]=p,n[11]=m,n[12]=g,n[13]=a,n[14]=P,n[15]=T,n[16]=j,n[17]=w,n[18]=E,n[19]=D,n[20]=k,n[21]=v,n[22]=C,n[23]=_,n[24]=h,n[25]=u,n[26]=z,n[27]=B}else z=n[26],B=n[27];if(B!==Symbol.for(`react.early_return_sentinel`))return B;let V=u===a.path,H=a.ignored?`opacity-50`:void 0,U;n[72]!==a||n[73]!==v?(U=()=>v(a),n[72]=a,n[73]=v,n[74]=U):U=n[74];let W;n[75]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,A.jsx)(r,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),n[75]=W):W=n[75];let G;n[76]!==z||n[77]!==a||n[78]!==T||n[79]!==w?(G=z?(0,A.jsx)(`input`,{autoFocus:!0,defaultValue:a.name,onKeyDown:e=>{if(e.key===`Enter`){let t=e.target.value.trim();t?w(a,t):T()}else e.key===`Escape`&&T()},onBlur:e=>{let t=e.target.value.trim();t?w(a,t):T()},onClick:M,className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-sm`}):(0,A.jsx)(`span`,{className:`flex-1 truncate`,children:a.name}),n[76]=z,n[77]=a,n[78]=T,n[79]=w,n[80]=G):G=n[80];let K;n[81]!==l||n[82]!==V||n[83]!==H||n[84]!==U||n[85]!==G?(K=(0,A.jsxs)(d,{level:l,basePadding:22,selected:V,className:H,onClick:U,children:[W,G]}),n[81]=l,n[82]=V,n[83]=H,n[84]=U,n[85]=G,n[86]=K):K=n[86];let q=K,J;n[87]===q?J=n[88]:(J=(0,A.jsx)(y,{asChild:!0,children:q}),n[87]=q,n[88]=J);let Y;n[89]!==a||n[90]!==C?(Y=(0,A.jsx)(x,{onSelect:()=>C(a),children:`Rename...`}),n[89]=a,n[90]=C,n[91]=Y):Y=n[91];let X;n[92]!==a||n[93]!==E?(X=(0,A.jsx)(x,{onSelect:()=>E(a),className:`text-destructive focus:text-destructive`,children:`Delete`}),n[92]=a,n[93]=E,n[94]=X):X=n[94];let Z;n[95]!==Y||n[96]!==X?(Z=(0,A.jsxs)(b,{children:[Y,X]}),n[95]=Y,n[96]=X,n[97]=Z):Z=n[97];let Q;return n[98]!==J||n[99]!==Z?(Q=(0,A.jsxs)(S,{children:[J,Z]}),n[98]=J,n[99]=Z,n[100]=Q):Q=n[100],Q}function M(e){return e.stopPropagation()}function N(e){return e.stopPropagation()}function P({threadId:e,selectedPath:n,onFileSelect:i}){let[a,o]=(0,k.useState)(new Map),[s,c]=(0,k.useState)(new Set),[l,d]=(0,k.useState)(new Set),[ee,O]=(0,k.useState)(null),[j,M]=(0,k.useState)(null),[N,P]=(0,k.useState)(null),{explorerRefreshTick:F,pendingExplorerPath:I}=v();async function L(t){if(!(!e||a.has(t))){d(e=>new Set(e).add(t));try{let n=await w(e,t);o(e=>new Map(e).set(t,n.entries))}catch{u({title:`Error`,description:`Failed to load directory`,variant:`destructive`})}finally{d(e=>{let n=new Set(e);return n.delete(t),n})}}}let R=(0,k.useCallback)(async t=>{if(e){d(e=>new Set(e).add(t));try{let n=await w(e,t);o(e=>new Map(e).set(t,n.entries))}catch{u({title:`Error`,description:`Failed to reload directory`,variant:`destructive`})}finally{d(e=>{let n=new Set(e);return n.delete(t),n})}}},[e]);(0,k.useEffect)(()=>{e&&(o(new Map),c(new Set),d(new Set),O(null),M(null),L(``))},[e]),(0,k.useEffect)(()=>{if(F>0&&e){R(``);for(let e of s)R(e)}},[F]),(0,k.useEffect)(()=>{if(!I||!e)return;let t=I.split(`/`);t.pop();let n=[],r=``;for(let e of t)r=r?`${r}/${e}`:e,n.push(r);if(n.length!==0){c(e=>{let t=new Set(e);for(let e of n)t.add(e);return t});for(let e of n)L(e)}},[I,e]);function z(e){s.has(e.path)?c(t=>{let n=new Set(t);return n.delete(e.path),n}):(c(t=>new Set(t).add(e.path)),L(e.path))}function B(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(0,t):``}function V(e){P(e)}async function H(){if(!N)return;let t=N;P(null);try{await T(e,t.path),await R(B(t.path)),c(e=>{let n=new Set(e);for(let e of n)(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}),o(e=>{let n=new Map(e);for(let e of n.keys())(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n})}catch{u({title:`Error`,description:`Failed to move "${t.name}" to trash`,variant:`destructive`})}}function U(e){M(null),O(e.path)}async function W(t,n){if(n===t.name){O(null);return}O(null);try{await E(e,t.path,n),await R(B(t.path)),t.type===`folder`&&(c(e=>{let n=new Set(e);for(let e of n)(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}),o(e=>{let n=new Map(e);for(let e of n.keys())(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}))}catch{u({title:`Error`,description:`Failed to rename "${t.name}"`,variant:`destructive`})}}function G(e){O(null),s.has(e)||(c(t=>new Set(t).add(e)),L(e)),M({dirPath:e,type:`file`})}function K(e){O(null),s.has(e)||(c(t=>new Set(t).add(e)),L(e)),M({dirPath:e,type:`folder`})}async function q(t){if(!j)return;let{dirPath:n,type:r}=j;M(null);try{r===`file`?await D(e,n,t):await C(e,n,t),await R(n)}catch{u({title:`Error`,description:`Failed to create ${r} "${t}"`,variant:`destructive`})}}function J(){M(null)}let Y=a.get(``)??[],X=l.has(``),Z=j?.dirPath===``?(0,A.jsx)(te,{defaultValue:``,level:0,basePadding:j.type===`folder`?10:22,icon:j.type===`folder`?(0,A.jsx)(t,{className:`h-4 w-4 flex-shrink-0`}):(0,A.jsx)(r,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),onCommit:q,onCancel:J}):null;return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(_,{open:N!==null,onOpenChange:e=>!e&&P(null),children:(0,A.jsxs)(m,{children:[(0,A.jsx)(p,{children:`Move to Trash`}),(0,A.jsxs)(f,{children:[`Move “`,N?.name,`” to trash?`]}),(0,A.jsxs)(`div`,{className:`flex gap-3 justify-end`,children:[(0,A.jsx)(g,{children:`Cancel`}),(0,A.jsx)(h,{onClick:()=>void H(),children:`Move to Trash`})]})]})}),(0,A.jsxs)(S,{children:[(0,A.jsx)(y,{asChild:!0,children:(0,A.jsx)(`div`,{className:`py-2 min-h-full`,children:X?(0,A.jsx)(`div`,{className:`space-y-1 px-2`,children:[1,2,3].map(e=>(0,A.jsx)(`div`,{className:`animate-pulse h-7 bg-muted rounded-full`},e))}):(0,A.jsxs)(A.Fragment,{children:[Z,Y.map(e=>(0,A.jsx)(ne,{node:e,level:0,selectedPath:n,expandedPaths:s,loadedDirs:a,loadingPaths:l,renamingPath:ee,newItemIn:j,onToggleFolder:z,onSelectFile:i,onStartRename:U,onCommitRename:W,onCancelRename:()=>O(null),onDelete:V,onNewFile:G,onNewFolder:K,onCommitNewItem:q,onCancelNewItem:J},e.path))]})})}),(0,A.jsxs)(b,{children:[(0,A.jsx)(x,{onSelect:()=>G(``),children:`New File...`}),(0,A.jsx)(x,{onSelect:()=>K(``),children:`New Folder...`})]})]})]})}export{P as default};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Cr as t,Mi as n,Pn as r,hi as i,la as a}from"./dialogs-config-DmDjliuA.js";import{g as o}from"./react-vendor-CaS5zjF7.js";import{a as s}from"./store-CAPnOXso.js";import{t as c}from"./use-toast-C9B1H3P9.js";import{n as l}from"./utils-BG_JNnOl.js";import{t as u}from"./page-toolbar-CvreDTwj.js";import{a as d,c as f,i as p}from"./api-DL5XaoTS.js";var m=e(a(),1),h=t(),g=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`,`ico`,`bmp`,`tiff`,`tif`]),_=new Set([`mp4`,`webm`,`mov`,`avi`]);function v(e){let t=e.split(`.`).pop()?.toLowerCase()??``;return g.has(t)?`image`:_.has(t)?`video`:null}function y(e){return{ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,json:`json`,md:`markdown`,mdc:`markdown`,css:`css`,scss:`scss`,html:`html`,py:`python`,sh:`shell`,yaml:`yaml`,yml:`yaml`,xml:`xml`,sql:`sql`}[e.split(`.`).pop()??``]??`plaintext`}function b({selectedFile:e}){let{state:t}=s(),{resolvedTheme:a}=l(),g=t.selectedThreadId,_=(0,m.useRef)(null),[b,x]=(0,m.useState)(``),[S,C]=(0,m.useState)(``),[w,T]=(0,m.useState)(!1),[E,D]=(0,m.useState)(!1);(0,m.useEffect)(()=>()=>{_.current&&=(_.current.getModel()?.dispose(),_.current.dispose(),null)},[]);async function O(){if(!(!g||!e)){D(!0);try{await f(g,e.path,b),C(b),c({title:`Saved`,description:`${e.name} saved successfully.`})}catch(e){c({title:`Error`,description:e instanceof Error?e.message:`Failed to save file`,variant:`destructive`})}finally{D(!1)}}}let k=(0,m.useCallback)(async e=>{if(g){T(!0);try{let t=await p(g,e.path);x(t.content),C(t.content)}catch(e){c({title:`Error`,description:e instanceof Error?e.message:`Failed to load file`,variant:`destructive`})}finally{T(!1)}}},[g]);return(0,m.useEffect)(()=>{e&&g?v(e.path)||k(e):(x(``),C(``))},[e,g,k]),g?(0,h.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,h.jsxs)(u,{className:`justify-between`,children:[(0,h.jsxs)(`div`,{className:`flex flex-col`,children:[(0,h.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:e?e.name:`Select a file to edit`}),(0,h.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e?e.path:`Browse and edit repository files`})]}),e&&!v(e.path)&&(0,h.jsx)(`div`,{className:`flex gap-1`,children:(0,h.jsxs)(r,{size:`sm`,onClick:()=>void O(),disabled:E||!b||b===S,children:[E?(0,h.jsx)(i,{className:`h-4 w-4 animate-spin`}):null,`Save`]})})]}),(0,h.jsx)(`div`,{className:`flex-1 overflow-hidden`,children:(0,h.jsx)(`div`,{className:`h-full relative overflow-hidden`,children:w?(0,h.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,h.jsx)(i,{className:`h-6 w-6 animate-spin text-muted-foreground`})}):e&&v(e.path)===`image`?(0,h.jsx)(`div`,{className:`flex items-center justify-center h-full p-4 overflow-auto`,children:(0,h.jsx)(`img`,{src:d(g,e.path),alt:e.name,className:`max-w-full max-h-full object-contain`})}):e&&v(e.path)===`video`?(0,h.jsx)(`div`,{className:`flex items-center justify-center h-full p-4`,children:(0,h.jsx)(`video`,{src:d(g,e.path),controls:!0,className:`max-w-full max-h-full`})}):e?(0,h.jsx)(o,{height:`100%`,language:y(e.path),value:b,onChange:e=>x(e??``),onMount:e=>{_.current=e},theme:a===`dark`?`vs-dark`:`vs-light`,options:{minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:`on`,automaticLayout:!0,fontSize:13,lineNumbers:`on`,renderLineHighlight:`line`,scrollbar:{vertical:`auto`,horizontal:`auto`}}}):(0,h.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center p-8`,children:[(0,h.jsx)(n,{className:`h-10 w-10 text-muted-foreground/50`}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`p`,{className:`text-sm font-medium text-muted-foreground`,children:`No file selected`}),(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Select a file from the tree to edit it`})]})]})})})]}):(0,h.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center`,children:[(0,h.jsx)(n,{className:`h-8 w-8 text-muted-foreground`}),(0,h.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Select a thread to browse its files`})]})}export{b as default};
1
+ import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Cr as t,Pi as n,Pn as r,da as i,gi as a}from"./dialogs-config-3Hr2GRdt.js";import{g as o}from"./react-vendor-4OUTOTE0.js";import{a as s}from"./store-CJdxpohI.js";import{t as c}from"./use-toast-C3jyoS6i.js";import{n as l}from"./utils-4yrqj6yI.js";import{t as u}from"./page-toolbar-De9hbhUD.js";import{a as d,c as f,i as p}from"./api-XK7H2gI0.js";var m=e(i(),1),h=t(),g=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`,`ico`,`bmp`,`tiff`,`tif`]),_=new Set([`mp4`,`webm`,`mov`,`avi`]);function v(e){let t=e.split(`.`).pop()?.toLowerCase()??``;return g.has(t)?`image`:_.has(t)?`video`:null}function y(e){return{ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,json:`json`,md:`markdown`,mdc:`markdown`,css:`css`,scss:`scss`,html:`html`,py:`python`,sh:`shell`,yaml:`yaml`,yml:`yaml`,xml:`xml`,sql:`sql`}[e.split(`.`).pop()??``]??`plaintext`}function b({selectedFile:e}){let{state:t}=s(),{resolvedTheme:i}=l(),g=t.selectedThreadId,_=(0,m.useRef)(null),[b,x]=(0,m.useState)(``),[S,C]=(0,m.useState)(``),[w,T]=(0,m.useState)(!1),[E,D]=(0,m.useState)(!1);(0,m.useEffect)(()=>()=>{_.current&&=(_.current.getModel()?.dispose(),_.current.dispose(),null)},[]);async function O(){if(!(!g||!e)){D(!0);try{await f(g,e.path,b),C(b),c({title:`Saved`,description:`${e.name} saved successfully.`})}catch(e){c({title:`Error`,description:e instanceof Error?e.message:`Failed to save file`,variant:`destructive`})}finally{D(!1)}}}let k=(0,m.useCallback)(async e=>{if(g){T(!0);try{let t=await p(g,e.path);x(t.content),C(t.content)}catch(e){c({title:`Error`,description:e instanceof Error?e.message:`Failed to load file`,variant:`destructive`})}finally{T(!1)}}},[g]);return(0,m.useEffect)(()=>{e&&g?v(e.path)||k(e):(x(``),C(``))},[e,g,k]),g?(0,h.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,h.jsxs)(u,{className:`justify-between`,children:[(0,h.jsxs)(`div`,{className:`flex flex-col`,children:[(0,h.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:e?e.name:`Select a file to edit`}),(0,h.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e?e.path:`Browse and edit repository files`})]}),e&&!v(e.path)&&(0,h.jsx)(`div`,{className:`flex gap-1`,children:(0,h.jsxs)(r,{size:`sm`,onClick:()=>void O(),disabled:E||!b||b===S,children:[E?(0,h.jsx)(a,{className:`h-4 w-4 animate-spin`}):null,`Save`]})})]}),(0,h.jsx)(`div`,{className:`flex-1 overflow-hidden`,children:(0,h.jsx)(`div`,{className:`h-full relative overflow-hidden`,children:w?(0,h.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,h.jsx)(a,{className:`h-6 w-6 animate-spin text-muted-foreground`})}):e&&v(e.path)===`image`?(0,h.jsx)(`div`,{className:`flex items-center justify-center h-full p-4 overflow-auto`,children:(0,h.jsx)(`img`,{src:d(g,e.path),alt:e.name,className:`max-w-full max-h-full object-contain`})}):e&&v(e.path)===`video`?(0,h.jsx)(`div`,{className:`flex items-center justify-center h-full p-4`,children:(0,h.jsx)(`video`,{src:d(g,e.path),controls:!0,className:`max-w-full max-h-full`})}):e?(0,h.jsx)(o,{height:`100%`,language:y(e.path),value:b,onChange:e=>x(e??``),onMount:e=>{_.current=e},theme:i===`dark`?`vs-dark`:`vs-light`,options:{minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:`on`,automaticLayout:!0,fontSize:13,lineNumbers:`on`,renderLineHighlight:`line`,scrollbar:{vertical:`auto`,horizontal:`auto`}}}):(0,h.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center p-8`,children:[(0,h.jsx)(n,{className:`h-10 w-10 text-muted-foreground/50`}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`p`,{className:`text-sm font-medium text-muted-foreground`,children:`No file selected`}),(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Select a file from the tree to edit it`})]})]})})})]}):(0,h.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center`,children:[(0,h.jsx)(n,{className:`h-8 w-8 text-muted-foreground`}),(0,h.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Select a thread to browse its files`})]})}export{b as default};