tarsk 0.4.22 → 0.4.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +491 -200
- package/dist/public/assets/{account-view-pOQZWJfl.js → account-view-D5WVMsrD.js} +1 -1
- package/dist/public/assets/{alert-dialog-BeLER45U.js → alert-dialog-JOYww-on.js} +1 -1
- package/dist/public/assets/{api-Bagaj1rQ.js → api-XK7H2gI0.js} +1 -1
- package/dist/public/assets/{browser-tab-DmootUHa.js → browser-tab-xojjEFYj.js} +1 -1
- package/dist/public/assets/chat-input-container-fUw0AY1R.js +1 -0
- package/dist/public/assets/{context-menu-BlG_bTqN.js → context-menu-5lS4H_pS.js} +1 -1
- package/dist/public/assets/conversation-history-view-IVxKEbP_.js +1 -0
- package/dist/public/assets/{dialogs-config-Dwpv4SNp.js → dialogs-config-3Hr2GRdt.js} +2 -2
- package/dist/public/assets/{diff-view-B8Grak1p.js → diff-view-DWNDi8zT.js} +2 -2
- package/dist/public/assets/{explorer-tab-view-lFzzjVe8.js → explorer-tab-view-BtTXy75I.js} +2 -2
- package/dist/public/assets/explorer-tree-DdPiBm7Y.js +1 -0
- package/dist/public/assets/{explorer-view-DjN4dtgh.js → explorer-view-06kjYKL2.js} +1 -1
- package/dist/public/assets/history-view-Cyhu-ped.js +1 -0
- package/dist/public/assets/index-CoryOY5D.css +1 -0
- package/dist/public/assets/index-DJNTxm7E.js +50 -0
- package/dist/public/assets/onboarding-DzgFi5ix.js +1 -0
- package/dist/public/assets/onboarding-dialog-lFFrB1GZ.js +1 -0
- package/dist/public/assets/{page-toolbar-CBE5_3E3.js → page-toolbar-De9hbhUD.js} +1 -1
- package/dist/public/assets/{project-settings-view-B13GlkU6.js → project-settings-view-DF-F7P8K.js} +1 -1
- package/dist/public/assets/{provider-details-view-BQQKYvR8.js → provider-details-view-CbGbbmaI.js} +1 -1
- package/dist/public/assets/{providers-sidebar-C2RknYQn.js → providers-sidebar-Dc3Gk1we.js} +1 -1
- package/dist/public/assets/{react-vendor-CYvpNUsM.js → react-vendor-BX34Jw0L.js} +5 -5
- package/dist/public/assets/resizable-asBmgm9X.js +1 -0
- package/dist/public/assets/{run-stop-button-1ECLRujs.js → run-stop-button-MczHUMXL.js} +2 -2
- package/dist/public/assets/{settings-view-CxiVTevy.js → settings-view-CtiXQd-N.js} +2 -2
- package/dist/public/assets/{side-panel-container-B9Dn9qD2.js → side-panel-container-5txNmqNe.js} +2 -2
- package/dist/public/assets/{standard-list-item-BJWg4I9s.js → standard-list-item-DUKJ8HEG.js} +1 -1
- package/dist/public/assets/store-xK3nfJ3V.js +2 -0
- package/dist/public/assets/{tab-context-COCYkRNN.js → tab-context-D2auNMAI.js} +1 -1
- package/dist/public/assets/tabs-B7OXJglU.js +1 -0
- package/dist/public/assets/{terminal-panel-Cea0pLdX.js → terminal-panel-D3OZDoCd.js} +2 -2
- package/dist/public/assets/{textarea-C5IMo2ya.js → textarea-Dg4M60Yx.js} +1 -1
- package/dist/public/assets/todos-view-CzW8DtQ9.js +1 -0
- package/dist/public/assets/{use-toast-rlEtMnzM.js → use-toast-C3jyoS6i.js} +1 -1
- package/dist/public/assets/{utils-C3gmypZX.js → utils-4yrqj6yI.js} +1 -1
- package/dist/public/index.html +19 -19
- package/package.json +1 -1
- package/dist/public/assets/chat-input-container-CfXgimBQ.js +0 -1
- package/dist/public/assets/conversation-history-view-DjO711iz.js +0 -1
- package/dist/public/assets/explorer-tree-CyWyxQvY.js +0 -1
- package/dist/public/assets/history-view-BvAOaO8q.js +0 -1
- package/dist/public/assets/index-BPF49zet.css +0 -1
- package/dist/public/assets/index-C7dA1l3u.js +0 -50
- package/dist/public/assets/onboarding-dialog-DSmKEXk4.js +0 -1
- package/dist/public/assets/onboarding-vGz3IczM.js +0 -1
- package/dist/public/assets/resizable-C82J5y6K.js +0 -1
- package/dist/public/assets/store-Cn1lT5YJ.js +0 -2
- package/dist/public/assets/tabs-M7nUZf6O.js +0 -1
- package/dist/public/assets/todos-view-DDVfCfgF.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./onboarding-vGz3IczM.js";export{e as OnboardingDialog,e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{$ as t,Bn as n,C as r,Cr as i,Ct as a,Er as o,Fi as s,Gn as c,Gt as l,Hn as u,Ii as d,K as f,Li as p,Nn as m,Pn as h,Rn as g,Sr as _,T as v,Tr as y,Un as b,Vn as x,W as S,Wn as C,Yi as w,aa as T,ca as E,cr as D,ea as O,hi as k,hr as A,kn as ee,rn as te,sa as ne,ua as j,vi as M,yr as N,zi as P,zn as re}from"./dialogs-config-Dwpv4SNp.js";import{_ as ie,a as F,c as I,i as L,l as R,n as z,o as ae,r as B,s as V,u as H}from"./history-view-BvAOaO8q.js";var U=e(j(),1),W=E(),G=i();function K(e){if(!e)return`Unknown Model`;let t=(e.split(`/`).filter(Boolean).pop()??e).replace(/[-_]+/g,` `).trim();return t?t.split(/\s+/g).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `):e}var q=`Checkbox`,[oe,se]=_(q),[ce,J]=oe(q);function le(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=N({prop:n,defaultProp:i??!1,onChange:c,caller:q}),[m,h]=U.useState(null),[g,_]=U.useState(null),v=U.useRef(!1),y=m?!!o||!!m.closest(`form`):!0,b={checked:f,disabled:a,setChecked:p,control:m,setControl:h,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:v,required:l,defaultChecked:Q(i)?!1:i,isFormControl:y,bubbleInput:g,setBubbleInput:_};return(0,G.jsx)(ce,{scope:t,...b,children:me(d)?d(b):r})}var Y=`CheckboxTrigger`,X=U.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i)=>{let{control:a,value:s,disabled:c,checked:l,required:u,setControl:d,setChecked:f,hasConsumerStoppedPropagationRef:p,isFormControl:m,bubbleInput:h}=J(Y,e),g=y(i,d),_=U.useRef(l);return U.useEffect(()=>{let e=a?.form;if(e){let t=()=>f(_.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,f]),(0,G.jsx)(A.button,{type:`button`,role:`checkbox`,"aria-checked":Q(l)?`mixed`:l,"aria-required":u,"data-state":he(l),"data-disabled":c?``:void 0,disabled:c,value:s,...r,ref:g,onKeyDown:o(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:o(n,e=>{f(e=>Q(e)?!0:!e),h&&m&&(p.current=e.isPropagationStopped(),p.current||e.stopPropagation())})})});X.displayName=Y;var Z=U.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,G.jsx)(le,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(X,{...d,ref:t,__scopeCheckbox:n}),e&&(0,G.jsx)(pe,{__scopeCheckbox:n})]})})});Z.displayName=q;var ue=`CheckboxIndicator`,de=U.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=J(ue,n);return(0,G.jsx)(D,{present:r||Q(a.checked)||a.checked===!0,children:(0,G.jsx)(A.span,{"data-state":he(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});de.displayName=ue;var fe=`CheckboxBubbleInput`,pe=U.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:r,hasConsumerStoppedPropagationRef:i,checked:a,defaultChecked:o,required:s,disabled:c,name:l,value:u,form:d,bubbleInput:f,setBubbleInput:p}=J(fe,e),m=y(n,p),h=ae(a),g=ie(r);U.useEffect(()=>{let e=f;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!i.current;if(h!==a&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=Q(a),n.call(e,Q(a)?!1:a),e.dispatchEvent(t)}},[f,h,a,i]);let _=U.useRef(Q(a)?!1:a);return(0,G.jsx)(A.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:o??_.current,required:s,disabled:c,name:l,value:u,form:d,...t,tabIndex:-1,ref:m,style:{...t.style,...g,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});pe.displayName=fe;function me(e){return typeof e==`function`}function Q(e){return e===`indeterminate`}function he(e){return Q(e)?`indeterminate`:e?`checked`:`unchecked`}var $=U.forwardRef((e,t)=>{let n=(0,W.c)(10),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=C(`peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,r),n[3]=r,n[4]=a);let o;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,G.jsx)(de,{className:C(`flex items-center justify-center text-current`),children:(0,G.jsx)(O,{className:`h-4 w-4`})}),n[5]=o):o=n[5];let s;return n[6]!==i||n[7]!==t||n[8]!==a?(s=(0,G.jsx)(Z,{ref:t,className:a,...i,children:o}),n[6]=i,n[7]=t,n[8]=a,n[9]=s):s=n[9],s});$.displayName=Z.displayName;function ge({selectedProvider:e,onProviderChange:t,showApiKeyInput:n=!0,onApiKeyChange:r,isLoading:i,error:o,variant:s=`dropdown`}){let[c,u]=(0,U.useState)([]),[d,f]=(0,U.useState)(!1),m=async e=>{try{await l(e)}catch(e){console.error(`Failed to open provider website:`,e)}};return(0,U.useEffect)(()=>{(async()=>{f(!0);try{let n=await a();u(n),n.length>0&&!e&&t(n[0])}catch(e){console.error(`Failed to load providers:`,e)}finally{f(!1)}})()},[e,t]),d?(0,G.jsx)(`div`,{className:`flex items-center justify-center py-4`,children:(0,G.jsx)(k,{className:`h-4 w-4 animate-spin text-muted-foreground`})}):s===`dropdown`?(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[o&&(0,G.jsx)(`p`,{className:`text-sm text-destructive`,children:o}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(`label`,{className:`text-sm font-medium`,children:`AI Provider`}),(0,G.jsxs)(z,{value:e?.name??``,onValueChange:e=>{let n=c.find(t=>t.name===e);n&&t(n)},children:[(0,G.jsx)(F,{children:e?e.name:`Select a provider`}),(0,G.jsx)(B,{children:c.map(e=>(0,G.jsx)(L,{value:e.name,children:e.name},e.name))})]})]}),e?.url&&(0,G.jsx)(R,{children:(0,G.jsxs)(V,{children:[(0,G.jsx)(H,{asChild:!0,children:(0,G.jsxs)(h,{variant:`ghost`,size:`sm`,onClick:()=>m(e.url),className:`flex items-center gap-1 text-sm text-brand h-auto p-0`,children:[`Visit provider website `,(0,G.jsx)(p,{className:`h-3.5 w-3.5`})]})}),(0,G.jsx)(I,{children:(0,G.jsx)(`p`,{children:e.url})})]})}),n&&e&&(0,G.jsx)(_e,{provider:e,value:e.apiKey??``,onChange:r,isLoading:i})]}):null}function _e(e){let t=(0,W.c)(24),{provider:n,value:r,onChange:i,isLoading:a}=e,[o,c]=(0,U.useState)(!1);if(n.authType!==`APIKey`){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,G.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`This provider uses OAuth for authentication.`}),t[0]=e):e=t[0];let r;return t[1]===n.name?r=t[2]:(r=(0,G.jsxs)(`div`,{className:`rounded-md bg-muted/30 p-4 text-center`,children:[e,(0,G.jsxs)(h,{variant:`outline`,size:`sm`,className:`mt-2`,disabled:!0,children:[`Sign in with `,n.name]})]}),t[1]=n.name,t[2]=r),r}let l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,G.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,G.jsx)(R,{children:(0,G.jsxs)(V,{children:[(0,G.jsx)(H,{asChild:!0,children:(0,G.jsx)(`label`,{htmlFor:`api-key`,className:`text-sm font-medium cursor-help`,children:`API Key`})}),(0,G.jsx)(I,{children:`Your API key is stored locally and never shared.`})]})})}),t[3]=l):l=t[3];let u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,G.jsx)(M,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),t[4]=u):u=t[4];let f=o?`text`:`password`,p=n.keyName??`Enter API Key`,g;t[5]===i?g=t[6]:(g=e=>i?.(e.target.value),t[5]=i,t[6]=g);let _;t[7]!==a||t[8]!==f||t[9]!==p||t[10]!==g||t[11]!==r?(_=(0,G.jsx)(m,{id:`api-key`,type:f,placeholder:p,className:`pl-10 pr-10`,value:r,onChange:g,disabled:a}),t[7]=a,t[8]=f,t[9]=p,t[10]=g,t[11]=r,t[12]=_):_=t[12];let v;t[13]===o?v=t[14]:(v=()=>c(!o),t[13]=o,t[14]=v);let y=(a??!1)||!r,b;t[15]===o?b=t[16]:(b=o?(0,G.jsx)(d,{className:`h-4 w-4 text-muted-foreground`}):(0,G.jsx)(s,{className:`h-4 w-4 text-muted-foreground`}),t[15]=o,t[16]=b);let x;t[17]!==v||t[18]!==y||t[19]!==b?(x=(0,G.jsx)(h,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8 p-0`,onClick:v,disabled:y,children:b}),t[17]=v,t[18]=y,t[19]=b,t[20]=x):x=t[20];let S;return t[21]!==x||t[22]!==_?(S=(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[l,(0,G.jsxs)(`div`,{className:`relative`,children:[u,_,x]})]}),t[21]=x,t[22]=_,t[23]=S):S=t[23],S}function ve({provider:e,onModelsChange:n,isLoading:r,disabled:i,displayMode:a=`grid`}){let[o,s]=(0,U.useState)([]),[l,u]=(0,U.useState)(new Set),[d,p]=(0,U.useState)(new Map),[m,g]=(0,U.useState)(!1),[_,v]=(0,U.useState)(``),[y,b]=(0,U.useState)(`alphabetical`);(0,U.useEffect)(()=>{x()},[e]);let x=async()=>{g(!0),v(``),b(`alphabetical`);try{s(await f(e));let n=(await t())[e]||[];u(new Set(n.map(e=>e.id))),p(new Map)}catch(t){console.error(`Failed to load models for ${e}:`,t),s([]),u(new Set)}finally{g(!1)}},S=(e,t)=>{let r=new Set(e);o.forEach(e=>{t.has(e.id)&&(t.get(e.id)?r.add(e.id):r.delete(e.id))}),n?.(r)},w=e=>{p(t=>{let n=new Map(t),r=l.has(e),i=n.has(e),a=n.get(e),o=!(i?a:r);return o===r?n.delete(e):n.set(e,o),S(l,n),n})},T=e=>{p(t=>{let n=new Map(t);return o.forEach(t=>{let r=l.has(t.id);e?r?n.delete(t.id):n.set(t.id,!0):r?n.set(t.id,!1):n.delete(t.id)}),S(l,n),n})},E=e=>K(e.id),D=o.filter(e=>{let t=_.toLowerCase(),n=E(e);return e.name.toLowerCase().includes(t)||e.id.toLowerCase().includes(t)||n.toLowerCase().includes(t)}).sort((e,t)=>{let n=+!l.has(e.id),r=+!l.has(t.id);if(n!==r)return n-r;if(y===`price-low`){let n=!!e.pricing;return n===!!t.pricing?!e.pricing||!t.pricing?0:((e.pricing.prompt??0)+(e.pricing.completion??0))/2-((t.pricing.prompt??0)+(t.pricing.completion??0))/2:n?-1:1}if(y===`price-high`){let n=!!e.pricing;if(n!==!!t.pricing)return n?-1:1;if(!e.pricing||!t.pricing)return 0;let r=((e.pricing.prompt??0)+(e.pricing.completion??0))/2;return((t.pricing.prompt??0)+(t.pricing.completion??0))/2-r}return E(e).localeCompare(E(t))});return m||r?(0,G.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,G.jsx)(k,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):o.length===0?(0,G.jsx)(`div`,{className:`text-center py-8`,children:(0,G.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No models available for this provider.`})}):a===`compact`?(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsxs)(`div`,{className:C(`flex items-center justify-between`,i&&`opacity-25`),children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)($,{id:`select-all-models`,disabled:i,checked:o.every(e=>{let t=d.has(e.id),n=d.get(e.id);return t?n:l.has(e.id)}),onCheckedChange:e=>T(e===!0)}),(0,G.jsx)(`label`,{htmlFor:`select-all-models`,className:`text-sm cursor-pointer`,children:`Select all models`})]}),(0,G.jsx)(R,{children:(0,G.jsxs)(`div`,{className:`flex items-center rounded-md border border-border p-0.5`,children:[(0,G.jsxs)(V,{children:[(0,G.jsx)(H,{asChild:!0,children:(0,G.jsx)(h,{type:`button`,variant:y===`alphabetical`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>b(`alphabetical`),disabled:i,children:(0,G.jsx)(ne,{className:`h-4 w-4`})})}),(0,G.jsx)(I,{children:`Sort A–Z`})]}),(0,G.jsxs)(V,{children:[(0,G.jsx)(H,{asChild:!0,children:(0,G.jsx)(h,{type:`button`,variant:y===`price-low`||y===`price-high`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>{b(y===`price-low`?`price-high`:`price-low`)},disabled:i,children:(0,G.jsx)(P,{className:`h-4 w-4`})})}),(0,G.jsx)(I,{children:`Sort by price`})]})]})})]}),(0,G.jsx)(R,{children:(0,G.jsx)(`div`,{className:`grid grid-cols-1 gap-0 border border-border rounded-md overflow-hidden`,children:D.length===0?(0,G.jsx)(`div`,{className:`text-center py-4`,children:(0,G.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No models available.`})}):D.map(e=>{let t=l.has(e.id),n=d.has(e.id),r=d.get(e.id),a=n?r:t,o=e.pricing;return(0,G.jsxs)(V,{children:[(0,G.jsx)(H,{asChild:!0,children:(0,G.jsxs)(`div`,{className:C(`flex items-center space-x-3 p-3 hover:bg-muted/30 transition-colors cursor-default border-b border-border last:border-b-0`,i&&`opacity-25`),children:[(0,G.jsx)($,{id:e.id,disabled:i,checked:a??!1,onCheckedChange:()=>w(e.id),className:`mt-0`}),(0,G.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[(0,G.jsx)(`label`,{htmlFor:e.id,className:`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate flex-1 w-0`,children:E(e)}),o&&(0,G.jsx)(`span`,{className:`text-xs text-muted-foreground whitespace-nowrap flex-shrink-0`,children:(o.prompt??0)<=0&&(o.completion??0)<=0?`Free`:`${c(o.prompt??0)} in | ${c(o.completion??0)} out`})]})]})}),e.description&&(0,G.jsx)(I,{side:`top`,className:`max-w-xs`,children:(0,G.jsx)(`p`,{className:`text-sm`,children:e.description})})]},e.id)})})})]}):null}function ye({open:e,onOpenChange:t,onComplete:i}){let[o,s]=(0,U.useState)(`git-check`),[c,l]=(0,U.useState)(null),[d,m]=(0,U.useState)(!1),[_,y]=(0,U.useState)([]),[E,D]=(0,U.useState)(null),[A,ne]=(0,U.useState)(``),[j,M]=(0,U.useState)(!1),[N,P]=(0,U.useState)(``),[ie,F]=(0,U.useState)(new Set),[I,L]=(0,U.useState)(!1),[R,z]=(0,U.useState)(!1);(0,U.useEffect)(()=>{e&&o===`git-check`&&ae()},[e,o]),(0,U.useEffect)(()=>{e&&o===`provider-selection`&&_.length===0&&B()},[e,o,_.length]),(0,U.useEffect)(()=>{e&&o===`model-selection`&&E&&V()},[e,o,E]);let ae=async()=>{m(!0);try{l((await r()).gitInstalled)}catch(e){console.error(`Failed to check git installation:`,e),l(!1)}finally{m(!1)}},B=async()=>{try{let e=await a();y(e),e.length>0&&!E&&D(e[0])}catch(e){console.error(`Failed to load providers:`,e)}},V=async()=>{if(E){L(!0);try{await f(E.name),F(new Set)}catch(e){console.error(`Failed to load models:`,e)}finally{L(!1)}}},H=async()=>{if(!E||!A.trim()){P(`Please enter an API key`);return}M(!0),P(``);try{await te(E.slug,A),s(`model-selection`)}catch(e){P(e instanceof Error?e.message:`Failed to validate API key`)}finally{M(!1)}},W=async()=>{if(E){z(!0);try{for(let e of ie)await S(E.name,e);await v(),i?.(),t(!1)}catch(e){console.error(`Failed to complete onboarding:`,e)}finally{z(!1)}}},K=async()=>{z(!0);try{await v(),i?.(),t(!1)}catch(e){console.error(`Failed to skip onboarding:`,e)}finally{z(!1)}};return(0,G.jsx)(g,{open:e,onOpenChange:t,children:(0,G.jsxs)(re,{className:`max-w-2xl h-[min(42rem,90dvh)] flex flex-col p-0 overflow-hidden`,children:[(0,G.jsxs)(`div`,{className:`px-6 pt-6 pb-2`,children:[(0,G.jsxs)(`div`,{className:`w-1/2 mx-auto flex items-center gap-2 mb-6`,children:[(0,G.jsx)(`div`,{className:C(`flex items-center justify-center h-8 w-8 rounded-full text-sm font-medium`,o===`git-check`?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`),children:`1`}),(0,G.jsx)(`div`,{className:C(`h-0.5 flex-1`,o===`provider-selection`||o===`model-selection`?`bg-primary`:`bg-muted`)}),(0,G.jsx)(`div`,{className:C(`flex items-center justify-center h-8 w-8 rounded-full text-sm font-medium`,o===`provider-selection`?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`),children:`2`}),(0,G.jsx)(`div`,{className:C(`h-0.5 flex-1`,o===`model-selection`?`bg-primary`:`bg-muted`)}),(0,G.jsx)(`div`,{className:C(`flex items-center justify-center h-8 w-8 rounded-full text-sm font-medium`,o===`model-selection`?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`),children:`3`})]}),(0,G.jsxs)(u,{children:[o===`git-check`&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(b,{children:`Let's get started`}),(0,G.jsx)(n,{children:`First, we need to check that Git is installed on your system.`})]}),o===`provider-selection`&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(b,{children:`Select an AI Provider`}),(0,G.jsx)(n,{children:`Choose your preferred AI provider and enter your API key.`})]}),o===`model-selection`&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(b,{children:`Select Models`}),(0,G.jsx)(n,{children:`Choose which models you want to use with this provider.`})]})]})]}),(0,G.jsx)(ee,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,G.jsxs)(`div`,{className:`px-6 py-4`,children:[o===`git-check`&&(0,G.jsx)(`div`,{className:`space-y-4`,children:d?(0,G.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,G.jsx)(k,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):c?(0,G.jsxs)(`div`,{className:`rounded-lg border border-green-200 bg-green-50 p-4 flex items-start gap-3`,children:[(0,G.jsx)(O,{className:`h-5 w-5 text-green-600 flex-shrink-0 mt-0.5`}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h4`,{className:`font-medium text-green-900`,children:`Git is installed`}),(0,G.jsx)(`p`,{className:`text-sm text-green-800`,children:`You're all set to use Git features in Tarsk.`})]})]}):(0,G.jsxs)(`div`,{className:`rounded-lg border border-yellow-200 bg-yellow-50 p-4 flex items-start gap-3`,children:[(0,G.jsx)(w,{className:`h-5 w-5 text-yellow-600 flex-shrink-0 mt-0.5`}),(0,G.jsxs)(`div`,{className:`flex-1`,children:[(0,G.jsx)(`h4`,{className:`font-medium text-yellow-900`,children:`Git is not installed`}),(0,G.jsx)(`p`,{className:`text-sm text-yellow-800 mt-1`,children:`Git is required for some features in Tarsk. You can continue without it, but we recommend installing it.`}),(0,G.jsxs)(`a`,{href:`https://git-scm.com/downloads`,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 text-sm text-blue-600 hover:underline mt-2`,children:[`Download Git `,(0,G.jsx)(p,{className:`h-3 w-3`})]})]})]})}),o===`provider-selection`&&(0,G.jsx)(`div`,{className:`space-y-4`,children:E&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(ge,{selectedProvider:E,onProviderChange:e=>{D(e),ne(e.apiKey??``),P(``)},showApiKeyInput:!0,variant:`dropdown`,isLoading:j}),N&&(0,G.jsx)(`div`,{className:`rounded-md bg-destructive/10 p-3 text-sm text-destructive`,children:N})]})}),o===`model-selection`&&E&&(0,G.jsx)(`div`,{className:`space-y-4`,children:(0,G.jsx)(ve,{provider:E.slug,isLoading:I,displayMode:`compact`,disabled:!1,onModelsChange:F})})]})}),(0,G.jsx)(`div`,{className:`px-6 py-4 border-t border-border bg-muted/10`,children:(0,G.jsxs)(x,{className:`flex items-center justify-between`,children:[(0,G.jsx)(`div`,{children:o===`provider-selection`&&(0,G.jsx)(h,{variant:`ghost`,onClick:()=>K(),disabled:R,children:`Skip for now`})}),(0,G.jsxs)(`div`,{className:`flex gap-3`,children:[o!==`git-check`&&(0,G.jsx)(h,{variant:`outline`,onClick:()=>{o===`provider-selection`?s(`git-check`):o===`model-selection`&&s(`provider-selection`)},disabled:R,children:`Back`}),o===`git-check`&&(0,G.jsxs)(h,{onClick:()=>{s(`provider-selection`)},disabled:d,className:`gap-2`,children:[`Continue `,(0,G.jsx)(T,{className:`h-4 w-4`})]}),o===`provider-selection`&&(0,G.jsx)(h,{onClick:H,disabled:j||!A.trim()||!E,className:`gap-2`,children:j?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(k,{className:`h-4 w-4 animate-spin`}),`Validating...`]}):(0,G.jsxs)(G.Fragment,{children:[`Next `,(0,G.jsx)(T,{className:`h-4 w-4`})]})}),o===`model-selection`&&(0,G.jsx)(h,{onClick:W,disabled:R,className:`gap-2`,children:R?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(k,{className:`h-4 w-4 animate-spin`}),`Finishing...`]}):(0,G.jsxs)(G.Fragment,{children:[`Finish `,(0,G.jsx)(O,{className:`h-4 w-4`})]})})]})]})})]})})}export{$ as n,K as r,ye as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ci as e,Cr as t,Wn as n,ca as r}from"./dialogs-config-Dwpv4SNp.js";import{D as i,E as a,T as o}from"./react-vendor-CYvpNUsM.js";var s=r(),c=t(),l=e=>{let t=(0,s.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let o;t[3]===r?o=t[4]:(o=n(`flex h-full w-full data-[panel-group-direction=vertical]:flex-col`,r),t[3]=r,t[4]=o);let l;return t[5]!==i||t[6]!==o?(l=(0,c.jsx)(a,{className:o,...i}),t[5]=i,t[6]=o,t[7]=l):l=t[7],l},u=o,d=t=>{let r=(0,s.c)(12),a,o,l;r[0]===t?(a=r[1],o=r[2],l=r[3]):({withHandle:l,className:a,...o}=t,r[0]=t,r[1]=a,r[2]=o,r[3]=l);let u;r[4]===a?u=r[5]:(u=n(`relative flex w-px items-center justify-center bg-transparent after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90`,a),r[4]=a,r[5]=u);let d;r[6]===l?d=r[7]:(d=l&&(0,c.jsx)(`div`,{className:`hidden z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border`,children:(0,c.jsx)(e,{className:`h-2.5 w-2.5`})}),r[6]=l,r[7]=d);let f;return r[8]!==o||r[9]!==u||r[10]!==d?(f=(0,c.jsx)(i,{className:u,...o,children:d}),r[8]=o,r[9]=u,r[10]=d,r[11]=f):f=r[11],f};export{u as n,l as r,d as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{ca as t,ua as n}from"./dialogs-config-Dwpv4SNp.js";var r=e(n(),1),i=t();function a(e){return typeof e==`string`?e.replace(/\\n/g,`
|
|
2
|
-
`).replace(/✅/g,`✓`):``}function o(e){if(!e||typeof e!=`string`)return null;let t=e.trim();if(!t)return null;let n=/\[([A-Za-z]+)\]\s*/g,r,i=0;for(let e of t.matchAll(n))r=e[1],i=e.index+e[0].length;let a=r,o=a?t.slice(i):t;if(a&&o)return[{type:`reasoning`,text:o,label:a}];let s=[],c=0;for(;c<t.length;){let e=t.indexOf(`[`,c);if(e===-1){let e=t.slice(c).trim();e&&s.push({type:`reasoning`,text:e});break}let n=t.slice(c,e).trim();n&&s.push({type:`reasoning`,text:n});let r=0,i=-1;for(let n=e;n<t.length;n++)if(t[n]===`[`)r++;else if(t[n]===`]`&&(r--,r===0)){i=n;break}if(i===-1){let n=t.slice(e).trim();n&&s.push({type:`reasoning`,text:n});break}try{let n=JSON.parse(t.slice(e,i+1));if(Array.isArray(n)){for(let e of n)if(e&&typeof e==`object`&&`type`in e){let t=e.type;(t===`tool-result`||t===`tool_use`)&&s.push(e)}}}catch{let n=t.slice(e,i+1).trim();n&&s.push({type:`reasoning`,text:n})}c=i+1}return s.length>0?s:null}function s(e){return e.map(e=>{if(typeof e==`object`&&e&&!(`type`in e)){let t=e;if(t.reasoning)return{type:`reasoning`,text:typeof t.reasoning==`string`?t.reasoning:JSON.stringify(t.reasoning)};let n=t.text??t.content??t.answer;if(n)return{type:`text`,text:typeof n==`string`?n:JSON.stringify(n)}}return e})}function c(e){let t=[];e.reasoning&&typeof e.reasoning==`string`&&t.push({type:`reasoning`,text:e.reasoning});let n=(typeof e.text==`string`?e.text:null)??(typeof e.content==`string`?e.content:null)??(typeof e.answer==`string`?e.answer:null);return n&&t.push({type:`text`,text:n}),t.length===0&&Object.keys(e).length>0&&t.push({type:`text`,text:JSON.stringify(e,null,2)}),t}function l(e){if(!e)return null;let t=e.trim();if(t.startsWith(`{`)||t.startsWith(`[`))try{let e=JSON.parse(t);if(Array.isArray(e))return s(e);if(typeof e==`object`&&e)return c(e)}catch{}let n=[],r=e.indexOf(`{`),i=e.indexOf(`[`),a=r===-1?i:i===-1?r:Math.min(r,i);if(a!==-1){let t=e.slice(a),r=Math.max(t.lastIndexOf(`]`),t.lastIndexOf(`}`));if(r!==-1){let e=t.substring(0,r+1);try{let i=JSON.parse(e);Array.isArray(i)?n.push(...s(i)):n.push(...c(i));let a=t.substring(r+1).trim();return a&&n.push({type:`text`,text:a}),n}catch{}}}return null}function u(e,t,n){let r=e[e.length-1];return r?.type===t?[...e.slice(0,-1),{type:t,chunks:[...r.chunks,n]}]:[...e,{type:t,chunks:[n]}]}function d(e,t){return e[e.length-1]?.type===`content`?[...e.slice(0,-1),{type:`content`,chunks:[t]}]:[...e,{type:`content`,chunks:[t]}]}function f(e){let t=[];for(let n of e){let e=n.chunks.join(``);if(n.type===`thinking`){let n=o(e)??[];t.push(...n)}else{let n=l(e)??(e.trim()?[{type:`text`,text:e}]:[]);t.push(...n)}}return t}function p(e){let t=f(e);return t.length===0?`...`:t.length===1&&t[0]?.type===`text`&&`text`in t[0]?t[0].text:JSON.stringify(t)}var m=function(e){return e.SetProjects=`SET_PROJECTS`,e.SetProjectsLoading=`SET_PROJECTS_LOADING`,e.SelectThread=`SELECT_THREAD`,e.SetMessages=`SET_MESSAGES`,e.AddMessage=`ADD_MESSAGE`,e.EnqueueChatMessage=`ENQUEUE_CHAT_MESSAGE`,e.RemoveQueuedChatMessage=`REMOVE_QUEUED_CHAT_MESSAGE`,e.SetStreaming=`SET_STREAMING`,e.AppendStreamContent=`APPEND_STREAM_CONTENT`,e.SetStreamContent=`SET_STREAM_CONTENT`,e.AppendStreamThinking=`APPEND_STREAM_THINKING`,e.AppendStreamChunk=`APPEND_STREAM_CHUNK`,e.SetStreamModel=`SET_STREAM_MODEL`,e.SetProjectModel=`SET_PROJECT_MODEL`,e.ResetStream=`RESET_STREAM`,e.StopStream=`STOP_STREAM`,e.ToggleSidebar=`TOGGLE_SIDEBAR`,e.SetCreatingProject=`SET_CREATING_PROJECT`,e.ConfigUpdated=`CONFIG_UPDATED`,e.SetProcessingThreads=`SET_PROCESSING_THREADS`,e.AddProcessingThread=`ADD_PROCESSING_THREAD`,e.RemoveProcessingThread=`REMOVE_PROCESSING_THREAD`,e.AddCreatingProject=`ADD_CREATING_PROJECT`,e.AddCreatingThread=`ADD_CREATING_THREAD`,e.RemoveCreatingProject=`REMOVE_CREATING_PROJECT`,e.RemoveCreatingThread=`REMOVE_CREATING_THREAD`,e.MarkThreadCompleted=`MARK_THREAD_COMPLETED`,e.ClearThreadCompleted=`CLEAR_THREAD_COMPLETED`,e.AddDeletingThread=`ADD_DELETING_THREAD`,e.RemoveDeletingThread=`REMOVE_DELETING_THREAD`,e.AddDeletingProject=`ADD_DELETING_PROJECT`,e.RemoveDeletingProject=`REMOVE_DELETING_PROJECT`,e.AppendCommandOutput=`APPEND_COMMAND_OUTPUT`,e.SetRunningCommand=`SET_RUNNING_COMMAND`,e.ClearCommandOutput=`CLEAR_COMMAND_OUTPUT`,e.ToggleTerminal=`TOGGLE_TERMINAL`,e.SetTerminalOpen=`SET_TERMINAL_OPEN`,e.QueueTerminalCommand=`QUEUE_TERMINAL_COMMAND`,e.ClearQueuedTerminalCommand=`CLEAR_QUEUED_TERMINAL_COMMAND`,e.AppendTerminalLine=`APPEND_TERMINAL_LINE`,e.ClearTerminalOutput=`CLEAR_TERMINAL_OUTPUT`,e.SetTerminalHeight=`SET_TERMINAL_HEIGHT`,e.SetTerminalCwd=`SET_TERMINAL_CWD`,e.SetTerminalRunning=`SET_TERMINAL_RUNNING`,e.SetTerminalHistory=`SET_TERMINAL_HISTORY`,e.SetTerminalHistoryIndex=`SET_TERMINAL_HISTORY_INDEX`,e.UpdateThreadTitle=`UPDATE_THREAD_TITLE`,e.ClearFocusChatInput=`CLEAR_FOCUS_CHAT_INPUT`,e.ClearMessages=`CLEAR_MESSAGES`,e.UpdateToolCallProgress=`UPDATE_TOOL_CALL_PROGRESS`,e.SetPendingChatMessage=`SET_PENDING_CHAT_MESSAGE`,e.ClearPendingChatMessage=`CLEAR_PENDING_CHAT_MESSAGE`,e.SetDiffComments=`SET_DIFF_COMMENTS`,e.ClearSelection=`CLEAR_SELECTION`,e}({}),h={projects:[],projectsLoading:!0,selectedThreadId:null,selectedProjectId:null,messages:[],queuedChatMessages:[],isStreaming:!1,streamingContent:``,streamingThinking:``,streamingSegments:[],streamingModel:``,projectModelSelections:{},sidebarOpen:!0,isCreatingProject:!1,configUpdatedAt:0,processingThreadIds:[],completedThreadIds:[],deletingThreadIds:[],deletingProjectIds:[],commandOutput:``,isRunningCommand:!1,terminalStates:{},focusChatInput:!1,toolCallProgress:{},pendingChatMessage:null,diffComments:{}};function g(e,t){switch(t.type){case m.SetProjects:{let n={...e.projectModelSelections};for(let e of t.projects)for(let t of e.threads){if(!t.model)continue;let e=n[t.threadId];n[t.threadId]={id:t.model,provider:t.modelProvider,name:e?.name??t.model,description:e?.description??``,context_length:e?.context_length,features:e?.features,input_modalities:e?.input_modalities,max_output:e?.max_output,pricing:e?.pricing,tarsk_use:e?.tarsk_use,coding_index:e?.coding_index,supportsImages:e?.supportsImages}}return{...e,projects:t.projects,projectModelSelections:n}}case m.SetProjectsLoading:return{...e,projectsLoading:t.projectsLoading};case m.SelectThread:return{...e,selectedThreadId:t.threadId,selectedProjectId:t.projectId,messages:t.initialMessages??[],focusChatInput:t.focusInput??!1};case m.ClearSelection:return{...e,selectedThreadId:null,selectedProjectId:null,messages:[]};case m.SetMessages:return{...e,messages:t.messages};case m.AddMessage:return{...e,messages:[...e.messages,t.message]};case m.EnqueueChatMessage:return{...e,queuedChatMessages:[...e.queuedChatMessages,t.message]};case m.RemoveQueuedChatMessage:return{...e,queuedChatMessages:e.queuedChatMessages.filter(e=>e.id!==t.queuedMessageId)};case m.SetStreaming:return{...e,isStreaming:t.isStreaming};case m.AppendStreamContent:return{...e,streamingContent:e.streamingContent+t.content};case m.SetStreamContent:{let n=d(e.streamingSegments,t.content);return{...e,streamingContent:t.content,streamingSegments:n}}case m.AppendStreamThinking:return{...e,streamingThinking:e.streamingThinking+t.content};case m.AppendStreamChunk:return{...e,streamingSegments:t.segments,streamingContent:t.chunkType===`content`?e.streamingContent+t.content:e.streamingContent,streamingThinking:t.chunkType===`thinking`?e.streamingThinking+t.content:e.streamingThinking};case m.SetStreamModel:return{...e,streamingModel:t.model};case m.SetProjectModel:return console.log(`[Store] SetProjectModel action:`,{threadId:t.threadId,model:{id:t.model.id,provider:t.model.provider}}),{...e,projects:e.projects.map(e=>({...e,threads:e.threads.map(e=>e.threadId===t.threadId?{...e,model:t.model.id,modelProvider:t.model.provider}:e)})),projectModelSelections:{...e.projectModelSelections,[t.threadId]:t.model}};case m.ResetStream:return{...e,streamingContent:``,streamingThinking:``,streamingSegments:[],streamingModel:``,isStreaming:!1,toolCallProgress:{}};case m.StopStream:return{...e,isStreaming:!1};case m.ToggleSidebar:return{...e,sidebarOpen:!e.sidebarOpen};case m.SetCreatingProject:return{...e,isCreatingProject:t.isCreating};case m.ConfigUpdated:return{...e,configUpdatedAt:Date.now()};case m.SetProcessingThreads:return{...e,processingThreadIds:t.threadIds};case m.AddProcessingThread:return{...e,processingThreadIds:e.processingThreadIds.includes(t.threadId)?e.processingThreadIds:[...e.processingThreadIds,t.threadId]};case m.RemoveProcessingThread:return{...e,processingThreadIds:e.processingThreadIds.filter(e=>e!==t.threadId)};case m.AddCreatingProject:return{...e,projects:[...e.projects,{projectId:t.projectId,name:t.projectName,gitUrl:t.gitUrl,threads:[{threadId:t.threadId,title:`thread-1`,path:``,currentBranch:``}]}]};case m.AddCreatingThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:[...e.threads,{threadId:t.threadId,title:t.title,path:``,currentBranch:``}]}:e)};case m.RemoveCreatingProject:return{...e,projects:e.projects.filter(e=>e.projectId!==t.projectId)};case m.RemoveCreatingThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.filter(e=>e.threadId!==t.threadId)}:e)};case m.MarkThreadCompleted:return{...e,completedThreadIds:e.completedThreadIds.includes(t.threadId)?e.completedThreadIds:[...e.completedThreadIds,t.threadId]};case m.ClearThreadCompleted:return{...e,completedThreadIds:e.completedThreadIds.filter(e=>e!==t.threadId)};case m.AddDeletingThread:return{...e,deletingThreadIds:e.deletingThreadIds.includes(t.threadId)?e.deletingThreadIds:[...e.deletingThreadIds,t.threadId]};case m.RemoveDeletingThread:return{...e,deletingThreadIds:e.deletingThreadIds.filter(e=>e!==t.threadId)};case m.AddDeletingProject:return{...e,deletingProjectIds:e.deletingProjectIds.includes(t.projectId)?e.deletingProjectIds:[...e.deletingProjectIds,t.projectId]};case m.RemoveDeletingProject:return{...e,deletingProjectIds:e.deletingProjectIds.filter(e=>e!==t.projectId)};case m.AppendCommandOutput:return{...e,commandOutput:e.commandOutput+t.content};case m.SetRunningCommand:return{...e,isRunningCommand:t.isRunning};case m.ClearCommandOutput:return{...e,commandOutput:``};case m.ToggleTerminal:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,open:!r.open}}}}case m.SetTerminalOpen:{let n=t.threadId??`default`,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,open:t.open}}}}case m.QueueTerminalCommand:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,queuedRelativeFolder:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,queuedCommand:t.command,queuedRelativeFolder:t.relativeFolder??null,open:!0}}}}case m.ClearQueuedTerminalCommand:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,queuedCommand:null}}}}case m.AppendTerminalLine:{let n=t.threadId??`default`,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,outputLines:[...r.outputLines,t.line]}}}}case m.ClearTerminalOutput:{let n=t.threadId??`default`,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,outputLines:[]}}}}case m.SetTerminalHeight:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,height:t.height}}}}case m.SetTerminalCwd:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,cwd:t.cwd}}}}case m.SetTerminalRunning:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,isRunning:t.isRunning}}}}case m.SetTerminalHistory:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,history:t.history}}}}case m.SetTerminalHistoryIndex:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,historyIndex:t.index}}}}case m.UpdateThreadTitle:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.map(e=>e.threadId===t.threadId?{...e,title:t.title}:e)}:e)};case m.ClearFocusChatInput:return{...e,focusChatInput:!1};case m.ClearMessages:return{...e,messages:[]};case m.UpdateToolCallProgress:return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:t.progress}};case m.SetPendingChatMessage:return{...e,pendingChatMessage:t.message};case m.ClearPendingChatMessage:return{...e,pendingChatMessage:null};case m.SetDiffComments:return{...e,diffComments:{...e.diffComments,[t.threadId]:t.comments}};default:return e}}var _=(0,r.createContext)({state:h,dispatch:()=>{}});function v(){return(0,r.useContext)(_)}function y(e){let t=(0,i.c)(11),{state:n,dispatch:r}=v();if(!e){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[0]=e):e=t[0];let n;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(n={terminalState:{open:!1,queuedCommand:null,queuedRelativeFolder:null,outputLines:e,height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1},dispatch:b},t[1]=n):n=t[1],n}let a;t[2]!==n.terminalStates||t[3]!==e?(a=n.terminalStates[e]||{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1},t[2]=n.terminalStates,t[3]=e,t[4]=a):a=t[4];let o=a,s;t[5]!==r||t[6]!==e?(s=t=>{r({...t,threadId:e})},t[5]=r,t[6]=e,t[7]=s):s=t[7];let c=s,l;return t[8]!==c||t[9]!==o?(l={terminalState:o,dispatch:c},t[8]=c,t[9]=o,t[10]=l):l=t[10],l}function b(){}export{v as a,f as c,a as d,l as f,h as i,u as l,_ as n,y as o,o as p,g as r,p as s,m as t,d as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Cr as t,Wn as n,ca as r,ua as i}from"./dialogs-config-Dwpv4SNp.js";import{J as a,X as o,Y as s,Z as c}from"./react-vendor-CYvpNUsM.js";var l=r(),u=e(i(),1),d=t(),f=o,p=u.forwardRef((e,t)=>{let r=(0,l.c)(9),i,a;r[0]===e?(i=r[1],a=r[2]):({className:i,...a}=e,r[0]=e,r[1]=i,r[2]=a);let o;r[3]===i?o=r[4]:(o=n(`inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground`,i),r[3]=i,r[4]=o);let c;return r[5]!==a||r[6]!==t||r[7]!==o?(c=(0,d.jsx)(s,{ref:t,className:o,...a}),r[5]=a,r[6]=t,r[7]=o,r[8]=c):c=r[8],c});p.displayName=s.displayName;var m=u.forwardRef((e,t)=>{let r=(0,l.c)(9),i,a;r[0]===e?(i=r[1],a=r[2]):({className:i,...a}=e,r[0]=e,r[1]=i,r[2]=a);let o;r[3]===i?o=r[4]:(o=n(`inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all 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=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm`,i),r[3]=i,r[4]=o);let s;return r[5]!==a||r[6]!==t||r[7]!==o?(s=(0,d.jsx)(c,{ref:t,className:o,...a}),r[5]=a,r[6]=t,r[7]=o,r[8]=s):s=r[8],s});m.displayName=c.displayName;var h=u.forwardRef((e,t)=>{let r=(0,l.c)(9),i,o;r[0]===e?(i=r[1],o=r[2]):({className:i,...o}=e,r[0]=e,r[1]=i,r[2]=o);let s;r[3]===i?s=r[4]:(s=n(`mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,i),r[3]=i,r[4]=s);let c;return r[5]!==o||r[6]!==t||r[7]!==s?(c=(0,d.jsx)(a,{ref:t,className:s,...o}),r[5]=o,r[6]=t,r[7]=s,r[8]=c):c=r[8],c});h.displayName=a.displayName;export{m as i,h as n,p as r,f as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./index-C7dA1l3u.js";export{e as TodosView};
|