tarsk 0.5.32 → 0.5.34
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 +17709 -13937
- package/dist/public/assets/account-view-Ds03urJE.js +1 -0
- package/dist/public/assets/api-BHfaVqlR.js +1 -0
- package/dist/public/assets/browser-tab-Qs8cnQkf.js +1 -0
- package/dist/public/assets/commit-dialog-D4suPxEe.js +1 -0
- package/dist/public/assets/context-menu-S8y0c1Fx.js +1 -0
- package/dist/public/assets/create-repo-dialog-DPKIg1mY.js +1 -0
- package/dist/public/assets/{css.worker-DyDu5ynT.js → css.worker-CvXBzhp8.js} +2 -2
- package/dist/public/assets/dialogs-config-Ct6i8Iij.js +51 -0
- package/dist/public/assets/diff-view-rKDEnBLg.js +3 -0
- package/dist/public/assets/{dist-2eORHB3M.js → dist-oojFghRi.js} +5 -5
- package/dist/public/assets/explorer-tab-view-JbLbPVAn.js +2 -0
- package/dist/public/assets/explorer-tree-Dq44yA1j.js +1 -0
- package/dist/public/assets/explorer-view-BMrlX2hb.js +1 -0
- package/dist/public/assets/git-history-dialog-CDwIqSZQ.js +1 -0
- package/dist/public/assets/git-ops-button-B6rEla5u.js +2 -0
- package/dist/public/assets/history-view-CFot099O.js +7 -0
- package/dist/public/assets/{html.worker-IWNXhnIC.js → html.worker-BO6WuOEO.js} +3 -3
- package/dist/public/assets/index-6DhhjIBL.js +65 -0
- package/dist/public/assets/index-sEZ3wJXu.css +1 -0
- package/dist/public/assets/{json.worker-c4h5s80L.js → json.worker-BkJRGcCJ.js} +2 -2
- package/dist/public/assets/mcp-server-card-DQY1RUPX.js +1 -0
- package/dist/public/assets/merged-pr-dialog-H_fuSmiF.js +1 -0
- package/dist/public/assets/{monaco-BGyhgQtx.js → monaco-CZnIWXyV.js} +198 -198
- package/dist/public/assets/onboarding-DHCR18iU.js +1 -0
- package/dist/public/assets/project-settings-view-CiefnK73.js +1 -0
- package/dist/public/assets/providers-list-view-DVopskGo.js +1 -0
- package/dist/public/assets/pull-request-dialog-Csql6eob.js +1 -0
- package/dist/public/assets/pull-with-changes-dialog-DN0kE6os.js +1 -0
- package/dist/public/assets/push-before-pr-dialog-IhdlLvWt.js +1 -0
- package/dist/public/assets/radio-group-BaKkAEZR.js +1 -0
- package/dist/public/assets/react-vendor-CjZZeCRj.js +16 -0
- package/dist/public/assets/rolldown-runtime-aKtaBQYM.js +1 -0
- package/dist/public/assets/settings-general-view-BMTxN35t.js +1 -0
- package/dist/public/assets/settings-instructions-view-DULFg6dU.js +1 -0
- package/dist/public/assets/settings-list-Bdeuh4bJ.js +1 -0
- package/dist/public/assets/settings-mcp-servers-view-CRCtWjP2.js +5 -0
- package/dist/public/assets/settings-models-skeleton-CN2JkqZh.js +1 -0
- package/dist/public/assets/settings-models-view-DosllhVB.js +1 -0
- package/dist/public/assets/settings-rules-view-BVWuGrnB.js +8 -0
- package/dist/public/assets/settings-skills-view-DYtcAu9-.js +2 -0
- package/dist/public/assets/settings-slash-commands-view-DFyL1W2n.js +1 -0
- package/dist/public/assets/settings-subagents-view-aCbK95Sk.js +2 -0
- package/dist/public/assets/settings-system-prompt-view-BNM_15ry.js +1 -0
- package/dist/public/assets/settings-view-D5GE_CYR.js +2 -0
- package/dist/public/assets/skeleton-pSKdmWyJ.js +1 -0
- package/dist/public/assets/terminal-panel-Ds1tCgQA.js +2 -0
- package/dist/public/assets/{ts.worker-BwM5Ha3L.js → ts.worker-B0J26iPs.js} +33 -18
- package/dist/public/assets/ui-components-Di-9yNr4.js +1 -0
- package/dist/public/assets/{utils-Dt4Hs5eF.js → utils-DDDR42pW.js} +1 -1
- package/dist/public/assets/{whisper-wasm-BCJQtWoU.js → whisper-wasm-Cq5Ofwpd.js} +1 -1
- package/dist/public/index.html +10 -24
- package/dist/recommended-models.txt +13 -0
- package/package.json +8 -7
- package/dist/public/assets/account-view-DjLjq8T6.js +0 -1
- package/dist/public/assets/alert-dialog-BWqb8ENe.js +0 -1
- package/dist/public/assets/api-BbUzw5rb.js +0 -1
- package/dist/public/assets/browser-tab-BVsBMyo3.js +0 -1
- package/dist/public/assets/chat-input-container-Dh5eJPNP.js +0 -22
- package/dist/public/assets/commit-dialog-CfjW1f6P.js +0 -1
- package/dist/public/assets/context-menu-D_gX85jr.js +0 -1
- package/dist/public/assets/conversation-history-view-CKiv8CxD.js +0 -1
- package/dist/public/assets/create-repo-dialog-ByvOv7em.js +0 -1
- package/dist/public/assets/dialogs-config-CV8HzCCA.js +0 -51
- package/dist/public/assets/diff-view-CuEdnFtI.js +0 -3
- package/dist/public/assets/explorer-tab-view-CiDUcvE2.js +0 -2
- package/dist/public/assets/explorer-tree-cxPx2HiW.js +0 -1
- package/dist/public/assets/explorer-view-BCQNEBOZ.js +0 -1
- package/dist/public/assets/git-history-dialog-DKey5IQa.js +0 -1
- package/dist/public/assets/history-view-DDpROJvQ.js +0 -1
- package/dist/public/assets/index-BZwvl9X4.js +0 -29
- package/dist/public/assets/index-CihB-pLh.css +0 -1
- package/dist/public/assets/markdown-renderer-B1teF28W.js +0 -10
- package/dist/public/assets/mcp-server-card-CY-VLPhS.js +0 -1
- package/dist/public/assets/merged-pr-dialog-BfwdsytN.js +0 -1
- package/dist/public/assets/onboarding-BEy4bi0g.js +0 -1
- package/dist/public/assets/onboarding-dialog-GjczsXqi.js +0 -1
- package/dist/public/assets/page-toolbar-rWocuukR.js +0 -1
- package/dist/public/assets/project-settings-view-wlaXVds9.js +0 -1
- package/dist/public/assets/providers-list-view-BJsp9sta.js +0 -1
- package/dist/public/assets/pull-request-dialog-DDxX2W8n.js +0 -1
- package/dist/public/assets/pull-with-changes-dialog-BtXHWQ3k.js +0 -1
- package/dist/public/assets/push-before-pr-dialog-Cs54Vb76.js +0 -1
- package/dist/public/assets/radio-group-D2kNbZM6.js +0 -1
- package/dist/public/assets/react-vendor-DV_DP0Qd.js +0 -22
- package/dist/public/assets/resizable-jxPFsLog.js +0 -1
- package/dist/public/assets/rolldown-runtime-B1FJdls4.js +0 -1
- package/dist/public/assets/run-stop-button-N1JNjOlD.js +0 -2
- package/dist/public/assets/settings-general-view-BKcgxF5z.js +0 -1
- package/dist/public/assets/settings-instructions-view-DbQ3c3f1.js +0 -1
- package/dist/public/assets/settings-mcp-servers-view-D2_Brac1.js +0 -5
- package/dist/public/assets/settings-models-skeleton-BSV1GmZQ.js +0 -1
- package/dist/public/assets/settings-models-view-BhFuBHAE.js +0 -1
- package/dist/public/assets/settings-rules-view-qL__Zcav.js +0 -8
- package/dist/public/assets/settings-skills-view-Ccj8tTR9.js +0 -2
- package/dist/public/assets/settings-slash-commands-view-DyXAbQIp.js +0 -1
- package/dist/public/assets/settings-subagents-view-LcaON0Dq.js +0 -2
- package/dist/public/assets/settings-view-cLrxaSw4.js +0 -2
- package/dist/public/assets/side-panel-container-CCaF3ZtX.js +0 -2
- package/dist/public/assets/skeleton-DNfHG6mv.js +0 -1
- package/dist/public/assets/standard-list-item-PWOXi212.js +0 -1
- package/dist/public/assets/store-9Wm6Zyve.js +0 -4
- package/dist/public/assets/tab-context-BdML89mQ.js +0 -1
- package/dist/public/assets/tabs-BVcV8raO.js +0 -1
- package/dist/public/assets/terminal-panel-BG8UFUSX.js +0 -2
- package/dist/public/assets/textarea-CU-XhvgE.js +0 -1
- package/dist/public/assets/todos-view-DLC_0wx_.js +0 -1
- package/dist/public/assets/use-font-size-Bqn2rvp_.js +0 -1
- package/dist/public/assets/use-toast-CGSBJJb0.js +0 -1
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{$i as t,Ca as n,Ea as r,Ga as i,Hn as a,Ki as o,Qn as s,Qr as c,Wa as l,Wt as u,Xr as d,Zn as f,aa as p,br as m,bt as h,ca as g,ea as _,er as v,gi as y,gr as b,hr as x,in as S,io as C,li as w,lr as T,mt as E,no as D,sa as O,st as k,vr as A,wa as j,xi as ee,yr as te}from"./dialogs-config-Ct6i8Iij.js";import{C as M}from"./react-vendor-CjZZeCRj.js";import{t as N}from"./monaco-CZnIWXyV.js";import{u as P}from"./onboarding-DHCR18iU.js";import{a as F,l as ne,n as I,o as re}from"./history-view-CFot099O.js";import{n as ie}from"./utils-DDDR42pW.js";import{A as ae,D as oe,E as se,O as ce,d as le,i as ue,k as de,n as L,o as fe,r as pe}from"./index-6DhhjIBL.js";import{a as R,n as z,r as B,t as me}from"./context-menu-S8y0c1Fx.js";var V=e(C(),1),H=D(),U=y();function W(e){let t=(0,H.c)(17),{children:n,title:r,headerAction:i,footer:a}=e,o;t[0]===r?o=t[1]:(o=r&&(0,U.jsx)(`span`,{className:w.sectionTitle,children:r}),t[0]=r,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,U.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,U.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,U.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,U.jsx)(T,{className:`flex-1`,children:n}),t[9]=n,t[10]=u);let d;t[11]===a?d=t[12]:(d=a&&(0,U.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,U.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 he(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 G={added:`text-green-500`,deleted:`text-red-500`,untracked:`text-green-500`,renamed:`text-blue-500`,modified:`text-orange-500`},K={added:`A`,deleted:`D`,untracked:`U`,renamed:`R`,modified:`M`};function q(e){return c(c(w.compact,`status-badge font-mono font-semibold`),G[e]??`text-orange-500`)}function J(e){return K[e]??`M`}function ge(e){let t=(0,H.c)(38),{treeData:i,files:a,error:s,selectedFileIndex:u,onFileSelect:d,onRevertFile:f}=e,p;t[0]===a?p=t[1]:(p=a.reduce(ye,0),t[0]=a,t[1]=p);let m=p,h;t[2]===a?h=t[3]:(h=a.reduce(_e,0),t[2]=a,t[3]=h);let g=h,_;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(_=c(w.compact,`text-muted-foreground`),t[4]=_):_=t[4];let v=a.length===1?``:`s`,y;t[5]!==a.length||t[6]!==v?(y=(0,U.jsxs)(`span`,{className:_,children:[a.length,` file`,v]}),t[5]=a.length,t[6]=v,t[7]=y):y=t[7];let b;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(b=c(w.compact,`text-green-500`),t[8]=b):b=t[8];let x;t[9]===m?x=t[10]:(x=(0,U.jsxs)(`span`,{className:b,children:[`+`,m]}),t[9]=m,t[10]=x);let S;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(S=c(w.compact,`text-red-500`),t[11]=S):S=t[11];let C;t[12]===g?C=t[13]:(C=(0,U.jsxs)(`span`,{className:S,children:[`-`,g]}),t[12]=g,t[13]=C);let T;t[14]!==y||t[15]!==x||t[16]!==C?(T=(0,U.jsxs)(`div`,{className:`flex items-center gap-1`,children:[y,x,C]}),t[14]=y,t[15]=x,t[16]=C,t[17]=T):T=t[17];let E=T;if(s){let e;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(e=c(w.compact,`text-destructive text-center`),t[18]=e):e=t[18];let n;t[19]===s?n=t[20]:(n=(0,U.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,U.jsx)(`p`,{className:e,children:s})}),t[19]=s,t[20]=n);let r;return t[21]!==E||t[22]!==n?(r=(0,U.jsx)(W,{title:`Review Changes`,headerAction:E,children:n}),t[21]=E,t[22]=n,t[23]=r):r=t[23],r}if(a.length===0){let e;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,U.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,U.jsx)(`p`,{className:c(w.compact,w.bodyMuted,`text-center`),children:`No changes to review`})}),t[24]=e):e=t[24];let n;return t[25]===E?n=t[26]:(n=(0,U.jsx)(W,{title:`Review Changes`,headerAction:E,children:e}),t[25]=E,t[26]=n),n}let D;t[27]!==a||t[28]!==d||t[29]!==f||t[30]!==u?(D=(e,t)=>{let{isOpen:i,toggle:s}=t,p=!!e.children,m=(0,U.jsxs)(P,{onClick:()=>{p?s():e.fileIndex!==void 0&&d(e.fileIndex)},selected:!p&&e.fileIndex===u,className:`gap-1.5`,children:[p?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(l,{className:c(`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform`,i&&`rotate-90`)}),i?(0,U.jsx)(j,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}):(0,U.jsx)(n,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]}):(0,U.jsx)(r,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,U.jsx)(`span`,{className:`truncate flex-1 min-w-0`,children:e.name}),!p&&e.status&&(0,U.jsx)(`span`,{className:q(e.status),children:J(e.status)})]});return p?m:(0,U.jsxs)(me,{children:[(0,U.jsx)(R,{asChild:!0,children:m}),(0,U.jsx)(z,{children:(0,U.jsxs)(B,{onClick:()=>{e.fileIndex!==void 0&&f?.(a[e.fileIndex])},children:[(0,U.jsx)(o,{className:`mr-2 h-3.5 w-3.5`}),`Revert Change`]})})]})},t[27]=a,t[28]=d,t[29]=f,t[30]=u,t[31]=D):D=t[31];let O;t[32]!==D||t[33]!==i?(O=(0,U.jsx)(`div`,{className:`flex-1 overflow-y-auto pt-3 pb-2 px-1`,children:(0,U.jsx)(se,{nodes:i,defaultOpen:!0,resetKey:i,indent:16,childContainerClassName:`ml-4 border-l border-sidebar-border pl-2`,renderNode:D})}),t[32]=D,t[33]=i,t[34]=O):O=t[34];let k;return t[35]!==E||t[36]!==O?(k=(0,U.jsx)(W,{title:`Review Changes`,headerAction:E,children:O}),t[35]=E,t[36]=O,t[37]=k):k=t[37],k}function _e(e,t){return e+t.hunks.reduce(ve,0)}function ve(e,t){return e+t.changes.filter(Y).length}function Y(e){return e.type===`delete`}function ye(e,t){return e+t.hunks.reduce(be,0)}function be(e,t){return e+t.changes.filter(xe).length}function xe(e){return e.type===`add`}function Se(e){let t=(0,H.c)(2),{isOpen:n}=e,r=n===void 0||n?`ml-[-40px]`:``,i;return t[0]===r?i=t[1]:(i=(0,U.jsx)(L,{withHandle:!0,className:r}),t[0]=r,t[1]=i),i}function Ce(e){let t=(0,H.c)(36),{open:n,lineNumber:r,lineContent:i,initialComment:a,isEditing:o,onSave:s,onDelete:l,onClose:u}=e,[f,p]=(0,V.useState)((a===void 0?``:a)??``),h;t[0]!==s||t[1]!==f?(h=()=>{f.trim()&&s(f.trim())},t[0]=s,t[1]=f,t[2]=h):h=t[2];let g=h,_;t[3]===g?_=t[4]:(_=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),g())},t[3]=g,t[4]=_);let v=_,y;t[5]===u?y=t[6]:(y=e=>{e||u()},t[5]=u,t[6]=y);let S;t[7]===r?S=t[8]:(S=(0,U.jsx)(te,{children:(0,U.jsxs)(m,{children:[`Comment on line `,r]})}),t[7]=r,t[8]=S);let C;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(C=c(w.compact,`font-mono rounded bg-muted px-3 py-2 text-muted-foreground overflow-x-auto whitespace-pre`),t[9]=C):C=t[9];let T=i||` `,E;t[10]===T?E=t[11]:(E=(0,U.jsx)(`div`,{className:C,children:T}),t[10]=T,t[11]=E);let D;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(D=e=>p(e.target.value),t[12]=D):D=t[12];let O;t[13]!==v||t[14]!==f?(O=(0,U.jsx)(oe,{autoFocus:!0,placeholder:`Add a comment... (Cmd+Enter to save)`,value:f,onChange:D,onKeyDown:v,rows:12,className:`resize-none text-base`}),t[13]=v,t[14]=f,t[15]=O):O=t[15];let k;t[16]!==o||t[17]!==l?(k=o&&l&&(0,U.jsx)(d,{variant:`destructive`,size:`sm`,onClick:l,className:`mr-auto`,children:`Delete`}),t[16]=o,t[17]=l,t[18]=k):k=t[18];let j;t[19]===f?j=t[20]:(j=f.trim(),t[19]=f,t[20]=j);let ee=!j,M;t[21]!==g||t[22]!==ee?(M=(0,U.jsx)(d,{size:`sm`,onClick:g,disabled:ee,children:`Save`}),t[21]=g,t[22]=ee,t[23]=M):M=t[23];let N;t[24]!==k||t[25]!==M?(N=(0,U.jsxs)(A,{className:`gap-2 sm:gap-0`,children:[k,M]}),t[24]=k,t[25]=M,t[26]=N):N=t[26];let P;t[27]!==O||t[28]!==N||t[29]!==S||t[30]!==E?(P=(0,U.jsxs)(b,{className:`max-w-2xl`,children:[S,E,O,N]}),t[27]=O,t[28]=N,t[29]=S,t[30]=E,t[31]=P):P=t[31];let F;return t[32]!==n||t[33]!==P||t[34]!==y?(F=(0,U.jsx)(x,{open:n,onOpenChange:y,children:P}),t[32]=n,t[33]=P,t[34]=y,t[35]=F):F=t[35],F}function we(e,t){return`git-diff:${e}:${t}`}function Te({threadId:e,onExit:n,loadVersion:r}){let o=F(we(e,r),()=>h(e)),m=de(),y=ae(e=>e.diffComments),b=ae(e=>e.projectModelSelections),{resolvedTheme:x}=ie(),[C,T]=(0,V.useState)(o.files||[]),[D,A]=(0,V.useState)(null),[j,te]=(0,V.useState)(0),[P,ne]=(0,V.useState)(!1),[I,re]=(0,V.useState)(!1),[oe,se]=(0,V.useState)(!1),L=(0,V.useRef)(null),R=(0,V.useMemo)(()=>y[e]??[],[y,e]),z=(0,V.useCallback)(t=>{let n=y[e]??[],r=typeof t==`function`?t(n):t;m({type:ce.SetDiffComments,threadId:e,comments:r})},[m,e,y]),[B,me]=(0,V.useState)(null),[H,W]=(0,V.useState)(null),[G,K]=(0,V.useState)(null),q=(0,V.useRef)(null),J=(0,V.useRef)(R),_e=(0,V.useRef)(B),ve=(0,V.useRef)({isFullView:P,selectedFileIndex:j,files:C}),Y=(0,V.useRef)({original:[],modified:[]}),ye=(0,V.useRef)(!0);(0,V.useEffect)(()=>{J.current=R},[R]),(0,V.useEffect)(()=>{_e.current=B},[B]),(0,V.useEffect)(()=>{ve.current={isFullView:P,selectedFileIndex:j,files:C}},[P,j,C]);let be=(0,V.useCallback)(()=>{L.current&&(I?L.current.expand():L.current.collapse())},[I]),xe=(0,V.useCallback)(async()=>{if(e){A(null);try{T((await h(e)).files||[]),te(0)}catch(e){A(e instanceof Error?e.message:`Failed to load diff`)}}},[e]),Te=(0,V.useCallback)(async t=>{try{await S(e,t.path),await xe()}catch(e){A(e instanceof Error?e.message:`Failed to revert file`)}},[e,xe]),X=(0,V.useRef)(!1);(0,V.useEffect)(()=>{if((y[e]??[]).length>0){X.current=!0;return}u(e).then(t=>{t.diffComments&&t.diffComments.length>0&&m({type:ce.SetDiffComments,threadId:e,comments:t.diffComments}),X.current=!0}).catch(()=>{X.current=!0})},[e]),(0,V.useEffect)(()=>{X.current&&a(e,{diffComments:R}).catch(()=>{})},[e,R]);let Ee=(0,V.useMemo)(()=>he(C),[C]),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}},De=(e,t,n)=>e.split(`
|
|
2
|
+
`).slice(t-1,n).join(`
|
|
3
|
+
`),Oe=e=>{let t=Z(e);return t?t.startLine<=1:!0},ke=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=C[j],Ae=Q?P?Q.oldContent:(()=>{let e=Z(Q);return e?De(Q.oldContent,e.startLine,e.endLine):Q.oldContent})():``,je=Q?P?Q.newContent:(()=>{let e=Z(Q);return e?De(Q.newContent,e.startLine,e.endLine):Q.newContent})():``,$=(0,V.useCallback)(()=>{if(!ye.current)return;let e=q.current;if(!e)return;let{isFullView:t,selectedFileIndex:n,files:r}=ve.current,i=J.current,a=_e.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),l=new Set(c.map(e=>s?e.lineNumber-s.startLine+1:e.lineNumber)),u=e.getModel()?.getLineCount()??0,d=[];for(let e=1;e<=u;e++)l.has(e)||d.push({range:{startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1},options:{isWholeLine:!0,glyphMarginClassName:`diff-gutter-add-comment`,glyphMarginHoverMessage:{value:`$(add) Click to add a comment`},stickiness:N.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}});let f=c.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`,glyphMarginClassName:n?`diff-comment-glyph-active`:`diff-comment-glyph`,glyphMarginHoverMessage:{value:e.comment},stickiness:N.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}}}).filter(e=>e!==null);d.push(...f);let p=r===`original`?Y.current.original:Y.current.modified,m=e.deltaDecorations(p,d);r===`original`?Y.current.original=m:Y.current.modified=m};s(e.getOriginalEditor(),`original`),s(e.getModifiedEditor(),`modified`)},[]);(0,V.useEffect)(()=>{$()},[$,R,B,j,P,Q]),(0,V.useEffect)(()=>()=>{q.current=null,Y.current={original:[],modified:[]}},[j]),(0,V.useEffect)(()=>()=>{ye.current=!1,q.current&&=(q.current.getOriginalEditor().getModel()?.dispose(),q.current.getModifiedEditor().getModel()?.dispose(),q.current.dispose(),null),Y.current={original:[],modified:[]}},[]);let Me=(0,V.useCallback)(e=>{q.current=e;let t=e=>e===N.MouseTargetType.GUTTER_GLYPH_MARGIN||e===N.MouseTargetType.GUTTER_LINE_NUMBERS||e===N.MouseTargetType.GUTTER_LINE_DECORATIONS||e===N.MouseTargetType.GUTTER_VIEW_ZONE,n=(e,n)=>{e.onMouseDown(r=>{if(!r.target?.position||!t(r.target.type))return;let i=r.target.position.lineNumber,{isFullView:a,selectedFileIndex:o,files:s}=ve.current,c=s[o];if(!c)return;let l=a?null:Z(c),u=l?l.startLine+i-1:i,d=e.getModel()?.getLineContent(i)??``,f=J.current.find(e=>e.fileIndex===o&&e.lineNumber===u&&e.side===n);f?K(f):W({lineNumber:u,lineContent:d,side:n})})};n(e.getOriginalEditor(),`original`),n(e.getModifiedEditor(),`modified`),setTimeout(()=>{q.current===e&&$()},150)},[$]),Ne=(0,V.useCallback)(e=>{if(H&&Q){let t={id:`comment-${Date.now()}`,filePath:Q.path,fileIndex:j,lineNumber:H.lineNumber,lineContent:H.lineContent,comment:e,side:H.side};z(e=>[...e,t]),W(null)}else G&&(z(t=>t.map(t=>t.id===G.id?{...t,comment:e}:t)),K(null))},[H,G,Q,j,z]),Pe=(0,V.useCallback)(()=>{G&&(z(e=>e.filter(e=>e.id!==G.id)),K(null))},[G,z]),Fe=(0,V.useCallback)(e=>{if(R.length===0)return;let t=(e%R.length+R.length)%R.length,n=R[t];me(t),te(n.fileIndex),setTimeout(()=>{let e=q.current;if(!e)return;let t=C[n.fileIndex];if(!t)return;let r=P?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)},[R,C,P,$]),Ie=(0,V.useCallback)(()=>{Fe((B??0)-1)},[Fe,B]),Le=(0,V.useCallback)(()=>{Fe((B??-1)+1)},[Fe,B]),Re=(0,V.useCallback)(async()=>{let t=b[e];if(!t)try{let e=await E(),n=Object.values(e).flat();if(n.length>0)t=n[0];else{console.error(`No models available to process comments`);return}}catch(e){console.error(`Failed to load models:`,e);return}let r=t.id,i=t.provider;try{let{prompt:t}=await k(e,R);z([]),m({type:ce.SetPendingChatMessage,message:{threadId:e,message:t,model:r,provider:i}}),n()}catch(e){console.error(`Failed to fix comments:`,e),typeof window<`u`&&window.alert(`Failed to process comments. Please try again.`)}},[R,b,m,e,n,z]),ze={readOnly:!0,renderSideBySide:!0,ignoreTrimWhitespace:!1,renderOverviewRuler:!0,scrollBeyondLastLine:!1,minimap:{enabled:!1},folding:!1,glyphMargin:!0,lineNumbers:Q&&(P||Oe(Q))?`on`:`off`,diffWordWrap:`on`,originalEditable:!1,automaticLayout:!0};return(0,U.jsxs)(`div`,{className:`diff-view-root flex h-full flex-col`,children:[(0,U.jsx)(`div`,{className:`diff-body flex flex-1 overflow-hidden`,children:(0,U.jsxs)(ue,{direction:`horizontal`,children:[(0,U.jsx)(pe,{ref:L,defaultSize:25,minSize:12,maxSize:40,collapsible:!0,collapsedSize:0,onCollapse:()=>re(!0),onExpand:()=>re(!1),className:`border-r border-transparent`,children:(0,U.jsx)(`div`,{className:`h-full overflow-hidden`,children:(0,U.jsx)(ge,{treeData:Ee,files:C,error:D,selectedFileIndex:j,onFileSelect:te,onRevertFile:Te})})}),(0,U.jsx)(Se,{isOpen:!I}),(0,U.jsx)(pe,{className:`overflow-hidden bg-transparent`,children:(0,U.jsxs)(`div`,{className:`diff-editor-panel flex h-full bg-transparent flex-col overflow-hidden`,children:[(0,U.jsxs)(fe,{className:c(`bg-transparent`,I&&`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,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsxs)(d,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:be,children:[I?(0,U.jsx)(t,{className:`h-4 w-4`}):(0,U.jsx)(_,{className:`h-4 w-4`}),(0,U.jsx)(`span`,{className:`sr-only`,children:`Toggle file tree`})]}),(0,U.jsx)(`span`,{className:c(w.label,`text-foreground`),children:Q?Q.path:`Review Changes`})]}),(0,U.jsxs)(`div`,{className:c(`flex items-center gap-2`,I&&`ml-0`,!I&&`ml-auto`,`md:ml-auto`),children:[(0,U.jsx)(d,{variant:`ghost`,size:`sm`,onClick:()=>ne(e=>!e),disabled:!Q,className:c(w.compact,`h-8 gap-1 px-2`),children:P?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(p,{className:`h-3 w-3`}),` Show changes only`]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(g,{className:`h-3 w-3`}),` Show full file`]})}),R.length>0&&(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsxs)(f,{children:[(0,U.jsx)(v,{asChild:!0,children:(0,U.jsx)(d,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:Ie,disabled:(B??0)===0,children:(0,U.jsx)(i,{className:`h-3 w-3`})})}),(0,U.jsx)(s,{children:`Previous comment`})]}),(0,U.jsx)(`span`,{className:c(w.caption,`whitespace-nowrap`),children:R.length===1?`1 Comment`:`Comment ${(B??0)+1} of ${R.length}`}),(0,U.jsxs)(f,{children:[(0,U.jsx)(v,{asChild:!0,children:(0,U.jsx)(d,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:Le,disabled:(B??0)===R.length-1,children:(0,U.jsx)(l,{className:`h-3 w-3`})})}),(0,U.jsx)(s,{children:`Next comment`})]})]}),R.length>0&&(0,U.jsxs)(f,{children:[(0,U.jsx)(v,{asChild:!0,children:(0,U.jsxs)(d,{size:`sm`,onClick:Re,className:c(w.compact,`h-8 gap-1 px-3 bg-foreground text-background hover:bg-foreground/90`),children:[(0,U.jsx)(O,{className:`h-3 w-3`}),`Fix all comments`]})}),(0,U.jsx)(s,{children:`Send all comments to Tarsk for resolution`})]})]})]}),(0,U.jsxs)(`div`,{className:`flex-1 bg-transparent relative`,children:[(0,U.jsx)(M,{height:`100%`,language:ke(Q?.path||``),original:Ae,modified:je,theme:x===`dark`?`vs-dark`:`vs-light`,onMount:Me,options:ze},`diff-${j}`),(0,U.jsxs)(`div`,{className:`pointer-events-none absolute bottom-4 right-4 z-20 flex flex-col items-end gap-3`,children:[oe&&(0,U.jsxs)(`div`,{className:`pointer-events-auto w-[min(100%,48rem)] rounded-2xl bg-background/50 p-4 backdrop-blur-md`,children:[(0,U.jsx)(`div`,{className:`mb-3 flex items-center justify-end`,children:(0,U.jsxs)(d,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>se(!1),children:[(0,U.jsx)(ee,{className:`h-4 w-4`}),(0,U.jsx)(`span`,{className:`sr-only`,children:`Close chat`})]})}),(0,U.jsx)(le,{})]}),!oe&&(0,U.jsxs)(f,{children:[(0,U.jsx)(v,{asChild:!0,children:(0,U.jsxs)(d,{size:`icon`,className:`pointer-events-auto h-12 w-12 rounded-full shadow-lg`,onClick:()=>se(!0),children:[(0,U.jsx)(O,{className:`h-5 w-5`}),(0,U.jsx)(`span`,{className:`sr-only`,children:`Open review chat`})]})}),(0,U.jsx)(s,{children:`Chat about this diff`})]})]})]})]})})]})}),(0,U.jsx)(Ce,{open:H!==null||G!==null,lineNumber:G?.lineNumber??H?.lineNumber??0,lineContent:G?.lineContent??H?.lineContent??``,initialComment:G?.comment,isEditing:G!==null,onSave:Ne,onDelete:Pe,onClose:()=>{W(null),K(null)}},`${G?.id??``}-${H?.lineNumber??``}-${H?.side??``}`)]})}function X(e){let t=(0,H.c)(11),[n,r]=(0,V.useState)(0),i;t[0]!==n||t[1]!==e.threadId?(i=function(){re(we(e.threadId,n)),r(Ee)},t[0]=n,t[1]=e.threadId,t[2]=i):i=t[2];let a=i,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,U.jsx)(ne,{}),t[3]=o):o=t[3];let s=`${e.threadId}:${n}`,c;t[4]!==n||t[5]!==e||t[6]!==s?(c=(0,U.jsx)(V.Suspense,{fallback:o,children:(0,U.jsx)(Te,{...e,loadVersion:n},s)}),t[4]=n,t[5]=e,t[6]=s,t[7]=c):c=t[7];let l;return t[8]!==a||t[9]!==c?(l=(0,U.jsx)(I,{fallbackTitle:`Failed to load review changes`,onRetry:a,children:c}),t[8]=a,t[9]=c,t[10]=l):l=t[10],l}function Ee(e){return e+1}export{X as DiffView,X as default};
|