tarsk 0.5.32 → 0.5.33
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 +13411 -10600
- package/dist/public/assets/account-view-DgURa9wO.js +1 -0
- package/dist/public/assets/api-D20-ChK5.js +1 -0
- package/dist/public/assets/browser-tab-BkZ-W0ZU.js +1 -0
- package/dist/public/assets/commit-dialog-Dn3lBJf0.js +1 -0
- package/dist/public/assets/context-menu-giUOZqlU.js +1 -0
- package/dist/public/assets/create-repo-dialog-BHhIaWtq.js +1 -0
- package/dist/public/assets/{css.worker-DyDu5ynT.js → css.worker-CvXBzhp8.js} +2 -2
- package/dist/public/assets/dialogs-config-BReFb9pA.js +51 -0
- package/dist/public/assets/diff-view-qJIWYnSg.js +3 -0
- package/dist/public/assets/{dist-2eORHB3M.js → dist-oojFghRi.js} +5 -5
- package/dist/public/assets/explorer-tab-view-CSpFjb8v.js +2 -0
- package/dist/public/assets/explorer-tree-S9YsaOi1.js +1 -0
- package/dist/public/assets/explorer-view-C32uZDo3.js +1 -0
- package/dist/public/assets/git-history-dialog-CnX8jrlL.js +1 -0
- package/dist/public/assets/git-ops-button-Dq1NZf8p.js +2 -0
- package/dist/public/assets/history-view-B1NGR99Z.js +7 -0
- package/dist/public/assets/{html.worker-IWNXhnIC.js → html.worker-BO6WuOEO.js} +3 -3
- package/dist/public/assets/index-DX9uRO2S.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-r8x3YTUE.js +1 -0
- package/dist/public/assets/merged-pr-dialog-BeaCU-cQ.js +1 -0
- package/dist/public/assets/{monaco-BGyhgQtx.js → monaco-CZnIWXyV.js} +198 -198
- package/dist/public/assets/onboarding-9wyCVSx6.js +1 -0
- package/dist/public/assets/project-settings-view-DwUXGwcb.js +1 -0
- package/dist/public/assets/providers-list-view-DdvOkSba.js +1 -0
- package/dist/public/assets/pull-request-dialog-BoA7LHwC.js +1 -0
- package/dist/public/assets/pull-with-changes-dialog-DfDvKsSR.js +1 -0
- package/dist/public/assets/push-before-pr-dialog-z1phrgYb.js +1 -0
- package/dist/public/assets/radio-group-e2jZNm68.js +1 -0
- package/dist/public/assets/react-vendor-cnJwz5mh.js +16 -0
- package/dist/public/assets/rolldown-runtime-aKtaBQYM.js +1 -0
- package/dist/public/assets/settings-general-view-CZoJOG1f.js +1 -0
- package/dist/public/assets/settings-instructions-view-D5odL4cH.js +1 -0
- package/dist/public/assets/settings-list-BhAfkmpG.js +1 -0
- package/dist/public/assets/settings-mcp-servers-view-DSMMy7pg.js +5 -0
- package/dist/public/assets/settings-models-skeleton-B0vP0b-h.js +1 -0
- package/dist/public/assets/settings-models-view-Djs9jnlA.js +1 -0
- package/dist/public/assets/settings-rules-view-3lAnmzYN.js +8 -0
- package/dist/public/assets/settings-skills-view-DFToylEA.js +2 -0
- package/dist/public/assets/settings-slash-commands-view-BONEHaAi.js +1 -0
- package/dist/public/assets/settings-subagents-view-CvaI24Ea.js +2 -0
- package/dist/public/assets/settings-system-prompt-view-B6uGSpHt.js +1 -0
- package/dist/public/assets/settings-view-DrU8V_JV.js +2 -0
- package/dist/public/assets/{skeleton-DNfHG6mv.js → skeleton-Bq1upmHV.js} +1 -1
- package/dist/public/assets/terminal-panel-BtGdCcZb.js +2 -0
- package/dist/public/assets/{ts.worker-BwM5Ha3L.js → ts.worker-B0J26iPs.js} +33 -18
- package/dist/public/assets/ui-components-D9PkwrkK.js +1 -0
- package/dist/public/assets/{utils-Dt4Hs5eF.js → utils-Bz2-ir6I.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/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{$n as t,Ba as n,Hi as r,Qa as i,Sa as a,Va as o,Vn as s,Wt as c,Xi as l,Xn as u,Yi as d,Yr as f,Zn as p,Zr as m,_i as h,_r as g,ai as _,ba as v,bt as y,cr as b,eo as x,fi as S,hr as C,ia as w,in as T,mr as E,mt as D,ra as O,st as k,ta as A,vr as ee,ya as j,yr as M}from"./dialogs-config-BReFb9pA.js";import{C as N}from"./react-vendor-cnJwz5mh.js";import{t as P}from"./monaco-CZnIWXyV.js";import{u as F}from"./onboarding-9wyCVSx6.js";import{a as I,l as te,n as L,o as ne}from"./history-view-B1NGR99Z.js";import{n as re}from"./utils-Bz2-ir6I.js";import{A as ie,D as ae,E as oe,O as se,d as ce,i as le,k as ue,n as R,o as de,r as fe}from"./index-DX9uRO2S.js";import{a as z,n as B,r as V,t as pe}from"./context-menu-giUOZqlU.js";var H=e(x(),1),U=i(),W=S();function G(e){let t=(0,U.c)(17),{children:n,title:r,headerAction:i,footer:a}=e,o;t[0]===r?o=t[1]:(o=r&&(0,W.jsx)(`span`,{className:_.sectionTitle,children:r}),t[0]=r,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,W.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,W.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,W.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,W.jsx)(b,{className:`flex-1`,children:n}),t[9]=n,t[10]=u);let d;t[11]===a?d=t[12]:(d=a&&(0,W.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,W.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 me(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 K={added:`text-green-500`,deleted:`text-red-500`,untracked:`text-green-500`,renamed:`text-blue-500`,modified:`text-orange-500`},q={added:`A`,deleted:`D`,untracked:`U`,renamed:`R`,modified:`M`};function J(e){return m(m(_.compact,`status-badge font-mono font-semibold`),K[e]??`text-orange-500`)}function he(e){return q[e]??`M`}function ge(e){let t=(0,U.c)(38),{treeData:i,files:o,error:s,selectedFileIndex:c,onFileSelect:l,onRevertFile:u}=e,d;t[0]===o?d=t[1]:(d=o.reduce(ye,0),t[0]=o,t[1]=d);let f=d,p;t[2]===o?p=t[3]:(p=o.reduce(_e,0),t[2]=o,t[3]=p);let h=p,g;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(g=m(_.compact,`text-muted-foreground`),t[4]=g):g=t[4];let y=o.length===1?``:`s`,b;t[5]!==o.length||t[6]!==y?(b=(0,W.jsxs)(`span`,{className:g,children:[o.length,` file`,y]}),t[5]=o.length,t[6]=y,t[7]=b):b=t[7];let x;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(x=m(_.compact,`text-green-500`),t[8]=x):x=t[8];let S;t[9]===f?S=t[10]:(S=(0,W.jsxs)(`span`,{className:x,children:[`+`,f]}),t[9]=f,t[10]=S);let C;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(C=m(_.compact,`text-red-500`),t[11]=C):C=t[11];let w;t[12]===h?w=t[13]:(w=(0,W.jsxs)(`span`,{className:C,children:[`-`,h]}),t[12]=h,t[13]=w);let T;t[14]!==b||t[15]!==S||t[16]!==w?(T=(0,W.jsxs)(`div`,{className:`flex items-center gap-1`,children:[b,S,w]}),t[14]=b,t[15]=S,t[16]=w,t[17]=T):T=t[17];let E=T;if(s){let e;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(e=m(_.compact,`text-destructive text-center`),t[18]=e):e=t[18];let n;t[19]===s?n=t[20]:(n=(0,W.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,W.jsx)(`p`,{className:e,children:s})}),t[19]=s,t[20]=n);let r;return t[21]!==E||t[22]!==n?(r=(0,W.jsx)(G,{title:`Review Changes`,headerAction:E,children:n}),t[21]=E,t[22]=n,t[23]=r):r=t[23],r}if(o.length===0){let e;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,W.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,W.jsx)(`p`,{className:m(_.compact,_.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,W.jsx)(G,{title:`Review Changes`,headerAction:E,children:e}),t[25]=E,t[26]=n),n}let D;t[27]!==o||t[28]!==l||t[29]!==u||t[30]!==c?(D=(e,t)=>{let{isOpen:i,toggle:s}=t,d=!!e.children,f=(0,W.jsxs)(F,{onClick:()=>{d?s():e.fileIndex!==void 0&&l(e.fileIndex)},selected:!d&&e.fileIndex===c,className:`gap-1.5`,children:[d?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(n,{className:m(`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform`,i&&`rotate-90`)}),i?(0,W.jsx)(v,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}):(0,W.jsx)(j,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]}):(0,W.jsx)(a,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,W.jsx)(`span`,{className:`truncate flex-1 min-w-0`,children:e.name}),!d&&e.status&&(0,W.jsx)(`span`,{className:J(e.status),children:he(e.status)})]});return d?f:(0,W.jsxs)(pe,{children:[(0,W.jsx)(z,{asChild:!0,children:f}),(0,W.jsx)(B,{children:(0,W.jsxs)(V,{onClick:()=>{e.fileIndex!==void 0&&u?.(o[e.fileIndex])},children:[(0,W.jsx)(r,{className:`mr-2 h-3.5 w-3.5`}),`Revert Change`]})})]})},t[27]=o,t[28]=l,t[29]=u,t[30]=c,t[31]=D):D=t[31];let O;t[32]!==D||t[33]!==i?(O=(0,W.jsx)(`div`,{className:`flex-1 overflow-y-auto pt-3 pb-2 px-1`,children:(0,W.jsx)(oe,{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,W.jsx)(G,{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,U.c)(2),{isOpen:n}=e,r=n===void 0||n?`ml-[-40px]`:``,i;return t[0]===r?i=t[1]:(i=(0,W.jsx)(R,{withHandle:!0,className:r}),t[0]=r,t[1]=i),i}function Ce(e){let t=(0,U.c)(36),{open:n,lineNumber:r,lineContent:i,initialComment:a,isEditing:o,onSave:s,onDelete:c,onClose:l}=e,[u,d]=(0,H.useState)((a===void 0?``:a)??``),p;t[0]!==s||t[1]!==u?(p=()=>{u.trim()&&s(u.trim())},t[0]=s,t[1]=u,t[2]=p):p=t[2];let h=p,v;t[3]===h?v=t[4]:(v=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),h())},t[3]=h,t[4]=v);let y=v,b;t[5]===l?b=t[6]:(b=e=>{e||l()},t[5]=l,t[6]=b);let x;t[7]===r?x=t[8]:(x=(0,W.jsx)(ee,{children:(0,W.jsxs)(M,{children:[`Comment on line `,r]})}),t[7]=r,t[8]=x);let S;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(S=m(_.compact,`font-mono rounded bg-muted px-3 py-2 text-muted-foreground overflow-x-auto whitespace-pre`),t[9]=S):S=t[9];let w=i||` `,T;t[10]===w?T=t[11]:(T=(0,W.jsx)(`div`,{className:S,children:w}),t[10]=w,t[11]=T);let D;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(D=e=>d(e.target.value),t[12]=D):D=t[12];let O;t[13]!==y||t[14]!==u?(O=(0,W.jsx)(ae,{autoFocus:!0,placeholder:`Add a comment... (Cmd+Enter to save)`,value:u,onChange:D,onKeyDown:y,rows:12,className:`resize-none text-base`}),t[13]=y,t[14]=u,t[15]=O):O=t[15];let k;t[16]!==o||t[17]!==c?(k=o&&c&&(0,W.jsx)(f,{variant:`destructive`,size:`sm`,onClick:c,className:`mr-auto`,children:`Delete`}),t[16]=o,t[17]=c,t[18]=k):k=t[18];let A;t[19]===u?A=t[20]:(A=u.trim(),t[19]=u,t[20]=A);let j=!A,N;t[21]!==h||t[22]!==j?(N=(0,W.jsx)(f,{size:`sm`,onClick:h,disabled:j,children:`Save`}),t[21]=h,t[22]=j,t[23]=N):N=t[23];let P;t[24]!==k||t[25]!==N?(P=(0,W.jsxs)(g,{className:`gap-2 sm:gap-0`,children:[k,N]}),t[24]=k,t[25]=N,t[26]=P):P=t[26];let F;t[27]!==O||t[28]!==P||t[29]!==x||t[30]!==T?(F=(0,W.jsxs)(C,{className:`max-w-2xl`,children:[x,T,O,P]}),t[27]=O,t[28]=P,t[29]=x,t[30]=T,t[31]=F):F=t[31];let I;return t[32]!==n||t[33]!==F||t[34]!==b?(I=(0,W.jsx)(E,{open:n,onOpenChange:b,children:F}),t[32]=n,t[33]=F,t[34]=b,t[35]=I):I=t[35],I}function we(e,t){return`git-diff:${e}:${t}`}function Te({threadId:e,onExit:r,loadVersion:i}){let a=I(we(e,i),()=>y(e)),g=ue(),v=ie(e=>e.diffComments),b=ie(e=>e.projectModelSelections),{resolvedTheme:x}=re(),[S,C]=(0,H.useState)(a.files||[]),[E,ee]=(0,H.useState)(null),[j,M]=(0,H.useState)(0),[F,te]=(0,H.useState)(!1),[L,ne]=(0,H.useState)(!1),[ae,oe]=(0,H.useState)(!1),R=(0,H.useRef)(null),z=(0,H.useMemo)(()=>v[e]??[],[v,e]),B=(0,H.useCallback)(t=>{let n=v[e]??[],r=typeof t==`function`?t(n):t;g({type:se.SetDiffComments,threadId:e,comments:r})},[g,e,v]),[V,pe]=(0,H.useState)(null),[U,G]=(0,H.useState)(null),[K,q]=(0,H.useState)(null),J=(0,H.useRef)(null),he=(0,H.useRef)(z),_e=(0,H.useRef)(V),ve=(0,H.useRef)({isFullView:F,selectedFileIndex:j,files:S}),Y=(0,H.useRef)({original:[],modified:[]}),ye=(0,H.useRef)(!0);(0,H.useEffect)(()=>{he.current=z},[z]),(0,H.useEffect)(()=>{_e.current=V},[V]),(0,H.useEffect)(()=>{ve.current={isFullView:F,selectedFileIndex:j,files:S}},[F,j,S]);let be=(0,H.useCallback)(()=>{R.current&&(L?R.current.expand():R.current.collapse())},[L]),xe=(0,H.useCallback)(async()=>{if(e){ee(null);try{C((await y(e)).files||[]),M(0)}catch(e){ee(e instanceof Error?e.message:`Failed to load diff`)}}},[e]),Te=(0,H.useCallback)(async t=>{try{await T(e,t.path),await xe()}catch(e){ee(e instanceof Error?e.message:`Failed to revert file`)}},[e,xe]),X=(0,H.useRef)(!1);(0,H.useEffect)(()=>{if((v[e]??[]).length>0){X.current=!0;return}c(e).then(t=>{t.diffComments&&t.diffComments.length>0&&g({type:se.SetDiffComments,threadId:e,comments:t.diffComments}),X.current=!0}).catch(()=>{X.current=!0})},[e]),(0,H.useEffect)(()=>{X.current&&s(e,{diffComments:z}).catch(()=>{})},[e,z]);let Ee=(0,H.useMemo)(()=>me(S),[S]),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=S[j],Ae=Q?F?Q.oldContent:(()=>{let e=Z(Q);return e?De(Q.oldContent,e.startLine,e.endLine):Q.oldContent})():``,je=Q?F?Q.newContent:(()=>{let e=Z(Q);return e?De(Q.newContent,e.startLine,e.endLine):Q.newContent})():``,$=(0,H.useCallback)(()=>{if(!ye.current)return;let e=J.current;if(!e)return;let{isFullView:t,selectedFileIndex:n,files:r}=ve.current,i=he.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:P.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:P.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,H.useEffect)(()=>{$()},[$,z,V,j,F,Q]),(0,H.useEffect)(()=>()=>{J.current=null,Y.current={original:[],modified:[]}},[j]),(0,H.useEffect)(()=>()=>{ye.current=!1,J.current&&=(J.current.getOriginalEditor().getModel()?.dispose(),J.current.getModifiedEditor().getModel()?.dispose(),J.current.dispose(),null),Y.current={original:[],modified:[]}},[]);let Me=(0,H.useCallback)(e=>{J.current=e;let t=e=>e===P.MouseTargetType.GUTTER_GLYPH_MARGIN||e===P.MouseTargetType.GUTTER_LINE_NUMBERS||e===P.MouseTargetType.GUTTER_LINE_DECORATIONS||e===P.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=he.current.find(e=>e.fileIndex===o&&e.lineNumber===u&&e.side===n);f?q(f):G({lineNumber:u,lineContent:d,side:n})})};n(e.getOriginalEditor(),`original`),n(e.getModifiedEditor(),`modified`),setTimeout(()=>{J.current===e&&$()},150)},[$]),Ne=(0,H.useCallback)(e=>{if(U&&Q){let t={id:`comment-${Date.now()}`,filePath:Q.path,fileIndex:j,lineNumber:U.lineNumber,lineContent:U.lineContent,comment:e,side:U.side};B(e=>[...e,t]),G(null)}else K&&(B(t=>t.map(t=>t.id===K.id?{...t,comment:e}:t)),q(null))},[U,K,Q,j,B]),Pe=(0,H.useCallback)(()=>{K&&(B(e=>e.filter(e=>e.id!==K.id)),q(null))},[K,B]),Fe=(0,H.useCallback)(e=>{if(z.length===0)return;let t=(e%z.length+z.length)%z.length,n=z[t];pe(t),M(n.fileIndex),setTimeout(()=>{let e=J.current;if(!e)return;let t=S[n.fileIndex];if(!t)return;let r=F?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)},[z,S,F,$]),Ie=(0,H.useCallback)(()=>{Fe((V??0)-1)},[Fe,V]),Le=(0,H.useCallback)(()=>{Fe((V??-1)+1)},[Fe,V]),Re=(0,H.useCallback)(async()=>{let t=b[e];if(!t)try{let e=await D(),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 n=t.id,i=t.provider;try{let{prompt:t}=await k(e,z);B([]),g({type:se.SetPendingChatMessage,message:{threadId:e,message:t,model:n,provider:i}}),r()}catch(e){console.error(`Failed to fix comments:`,e),typeof window<`u`&&window.alert(`Failed to process comments. Please try again.`)}},[z,b,g,e,r,B]),ze={readOnly:!0,renderSideBySide:!0,ignoreTrimWhitespace:!1,renderOverviewRuler:!0,scrollBeyondLastLine:!1,minimap:{enabled:!1},folding:!1,glyphMargin:!0,lineNumbers:Q&&(F||Oe(Q))?`on`:`off`,diffWordWrap:`on`,originalEditable:!1,automaticLayout:!0};return(0,W.jsxs)(`div`,{className:`diff-view-root flex h-full flex-col`,children:[(0,W.jsx)(`div`,{className:`diff-body flex flex-1 overflow-hidden`,children:(0,W.jsxs)(le,{direction:`horizontal`,children:[(0,W.jsx)(fe,{ref:R,defaultSize:25,minSize:12,maxSize:40,collapsible:!0,collapsedSize:0,onCollapse:()=>ne(!0),onExpand:()=>ne(!1),className:`border-r border-transparent`,children:(0,W.jsx)(`div`,{className:`h-full overflow-hidden`,children:(0,W.jsx)(ge,{treeData:Ee,files:S,error:E,selectedFileIndex:j,onFileSelect:M,onRevertFile:Te})})}),(0,W.jsx)(Se,{isOpen:!L}),(0,W.jsx)(fe,{className:`overflow-hidden bg-transparent`,children:(0,W.jsxs)(`div`,{className:`diff-editor-panel flex h-full bg-transparent flex-col overflow-hidden`,children:[(0,W.jsxs)(de,{className:m(`bg-transparent`,L&&`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,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsxs)(f,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:be,children:[L?(0,W.jsx)(d,{className:`h-4 w-4`}):(0,W.jsx)(l,{className:`h-4 w-4`}),(0,W.jsx)(`span`,{className:`sr-only`,children:`Toggle file tree`})]}),(0,W.jsx)(`span`,{className:m(_.label,`text-foreground`),children:Q?Q.path:`Review Changes`})]}),(0,W.jsxs)(`div`,{className:m(`flex items-center gap-2`,L&&`ml-0`,!L&&`ml-auto`,`md:ml-auto`),children:[(0,W.jsx)(f,{variant:`ghost`,size:`sm`,onClick:()=>te(e=>!e),disabled:!Q,className:m(_.compact,`h-8 gap-1 px-2`),children:F?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(A,{className:`h-3 w-3`}),` Show changes only`]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(w,{className:`h-3 w-3`}),` Show full file`]})}),z.length>0&&(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsxs)(u,{children:[(0,W.jsx)(t,{asChild:!0,children:(0,W.jsx)(f,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:Ie,disabled:(V??0)===0,children:(0,W.jsx)(o,{className:`h-3 w-3`})})}),(0,W.jsx)(p,{children:`Previous comment`})]}),(0,W.jsx)(`span`,{className:m(_.caption,`whitespace-nowrap`),children:z.length===1?`1 Comment`:`Comment ${(V??0)+1} of ${z.length}`}),(0,W.jsxs)(u,{children:[(0,W.jsx)(t,{asChild:!0,children:(0,W.jsx)(f,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:Le,disabled:(V??0)===z.length-1,children:(0,W.jsx)(n,{className:`h-3 w-3`})})}),(0,W.jsx)(p,{children:`Next comment`})]})]}),z.length>0&&(0,W.jsxs)(u,{children:[(0,W.jsx)(t,{asChild:!0,children:(0,W.jsxs)(f,{size:`sm`,onClick:Re,className:m(_.compact,`h-8 gap-1 px-3 bg-foreground text-background hover:bg-foreground/90`),children:[(0,W.jsx)(O,{className:`h-3 w-3`}),`Fix all comments`]})}),(0,W.jsx)(p,{children:`Send all comments to Tarsk for resolution`})]})]})]}),(0,W.jsxs)(`div`,{className:`flex-1 bg-transparent relative`,children:[(0,W.jsx)(N,{height:`100%`,language:ke(Q?.path||``),original:Ae,modified:je,theme:x===`dark`?`vs-dark`:`vs-light`,onMount:Me,options:ze},`diff-${j}`),(0,W.jsxs)(`div`,{className:`pointer-events-none absolute bottom-4 right-4 z-20 flex flex-col items-end gap-3`,children:[ae&&(0,W.jsxs)(`div`,{className:`pointer-events-auto w-[min(100%,48rem)] rounded-2xl bg-background/50 p-4 backdrop-blur-md`,children:[(0,W.jsx)(`div`,{className:`mb-3 flex items-center justify-end`,children:(0,W.jsxs)(f,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>oe(!1),children:[(0,W.jsx)(h,{className:`h-4 w-4`}),(0,W.jsx)(`span`,{className:`sr-only`,children:`Close chat`})]})}),(0,W.jsx)(ce,{})]}),!ae&&(0,W.jsxs)(u,{children:[(0,W.jsx)(t,{asChild:!0,children:(0,W.jsxs)(f,{size:`icon`,className:`pointer-events-auto h-12 w-12 rounded-full shadow-lg`,onClick:()=>oe(!0),children:[(0,W.jsx)(O,{className:`h-5 w-5`}),(0,W.jsx)(`span`,{className:`sr-only`,children:`Open review chat`})]})}),(0,W.jsx)(p,{children:`Chat about this diff`})]})]})]})]})})]})}),(0,W.jsx)(Ce,{open:U!==null||K!==null,lineNumber:K?.lineNumber??U?.lineNumber??0,lineContent:K?.lineContent??U?.lineContent??``,initialComment:K?.comment,isEditing:K!==null,onSave:Ne,onDelete:Pe,onClose:()=>{G(null),q(null)}},`${K?.id??``}-${U?.lineNumber??``}-${U?.side??``}`)]})}function X(e){let t=(0,U.c)(11),[n,r]=(0,H.useState)(0),i;t[0]!==n||t[1]!==e.threadId?(i=function(){ne(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,W.jsx)(te,{}),t[3]=o):o=t[3];let s=`${e.threadId}:${n}`,c;t[4]!==n||t[5]!==e||t[6]!==s?(c=(0,W.jsx)(H.Suspense,{fallback:o,children:(0,W.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,W.jsx)(L,{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};
|