tarsk 0.5.75 → 0.5.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/public/assets/{account-view-DvyhZGLB.js → account-view-CWtpznW2.js} +1 -1
  2. package/dist/public/assets/browser-tab-D_5MLhxE.js +12 -0
  3. package/dist/public/assets/chat-dock-context-8K8Ikjgy.js +1 -0
  4. package/dist/public/assets/{commit-dialog-BUfbvG6F.js → commit-dialog-CSXPoomw.js} +1 -1
  5. package/dist/public/assets/{commit-error-dialog-D1XRPBOc.js → commit-error-dialog-CdcGI69P.js} +1 -1
  6. package/dist/public/assets/{commit-method-fields-CVQjrJ_O.js → commit-method-fields-BtEHb0_G.js} +1 -1
  7. package/dist/public/assets/{conversation-history-view-CzRrC6cJ.js → conversation-history-view-CuzU9qF6.js} +1 -1
  8. package/dist/public/assets/{create-project-dialog-Bqm_qC2v.js → create-project-dialog-a6Wgq-Z8.js} +1 -1
  9. package/dist/public/assets/{create-repo-dialog-D2H1eZic.js → create-repo-dialog-BTIQ5Nw4.js} +1 -1
  10. package/dist/public/assets/{diff-view-zXlCXzER.js → diff-view-DA1uT9tc.js} +2 -2
  11. package/dist/public/assets/{explorer-tab-view-BOc5FPFg.js → explorer-tab-view-CewTYYOm.js} +2 -2
  12. package/dist/public/assets/explorer-tree-C0VDhihz.js +1 -0
  13. package/dist/public/assets/{explorer-view-DFjt0DXO.js → explorer-view-RCfDm3p5.js} +2 -2
  14. package/dist/public/assets/{git-history-dialog-CFoZcBB0.js → git-history-dialog-DL0Trxiz.js} +1 -1
  15. package/dist/public/assets/index-B3-5kIOf.js +3658 -0
  16. package/dist/public/assets/merged-pr-dialog-BzND8nzx.js +1 -0
  17. package/dist/public/assets/{model-list-controls-CNrps9Ys.js → model-list-controls-I67L2x3H.js} +1 -1
  18. package/dist/public/assets/onboarding-dialog-DY8v11hv.js +1 -0
  19. package/dist/public/assets/{project-coding-view-DG1D8-z4.js → project-coding-view-DxOwsjtt.js} +1 -1
  20. package/dist/public/assets/project-danger-zone-view-CkvKOQrl.js +1 -0
  21. package/dist/public/assets/{project-env-vars-view-TblkryyN.js → project-env-vars-view-DYLWA7s0.js} +1 -1
  22. package/dist/public/assets/{project-model-aliases-view-Ct0v4NQm.js → project-model-aliases-view-DWu9khLA.js} +1 -1
  23. package/dist/public/assets/{project-settings-view-Dd3QPujg.js → project-settings-view-DJfmaWn6.js} +1 -1
  24. package/dist/public/assets/{project-tools-view-DdsKSUDp.js → project-tools-view-BEjBkghz.js} +1 -1
  25. package/dist/public/assets/providers-list-view-jMEPJCci.js +1 -0
  26. package/dist/public/assets/{pull-request-dialog-BRiR5Qz8.js → pull-request-dialog-B_JCqT53.js} +1 -1
  27. package/dist/public/assets/{pull-with-changes-dialog-BCIWOzvE.js → pull-with-changes-dialog-V3_km2zQ.js} +1 -1
  28. package/dist/public/assets/{push-before-pr-dialog-BEr0QZlO.js → push-before-pr-dialog-CarrD3y2.js} +1 -1
  29. package/dist/public/assets/{settings-general-view-CKvkG8C5.js → settings-general-view-BhrfHGfQ.js} +1 -1
  30. package/dist/public/assets/{settings-list-B9a61wMg.js → settings-list-DiiYzOxn.js} +1 -1
  31. package/dist/public/assets/{settings-logs-view-4Uoa1-Dx.js → settings-logs-view-DbKM1SNk.js} +2 -2
  32. package/dist/public/assets/settings-mcp-servers-view-4FpPIeYV.js +5 -0
  33. package/dist/public/assets/{settings-models-view-Ef404r4H.js → settings-models-view-CJVeo9ad.js} +1 -1
  34. package/dist/public/assets/settings-skills-view-DoRPGbHG.js +3 -0
  35. package/dist/public/assets/{settings-slack-view-C32in2Wg.js → settings-slack-view-Cc1NgVkx.js} +1 -1
  36. package/dist/public/assets/settings-slash-commands-view-CmlWqqmi.js +1 -0
  37. package/dist/public/assets/{settings-statistics-view-CxW2KB56.js → settings-statistics-view-DRuyEbcN.js} +1 -1
  38. package/dist/public/assets/settings-storage-view-DihbtUYb.js +1 -0
  39. package/dist/public/assets/{settings-subagents-view-StdmEn-E.js → settings-subagents-view-B2RvxDZI.js} +2 -2
  40. package/dist/public/assets/{settings-system-prompt-view-DizAjXjo.js → settings-system-prompt-view-CvVbgjNN.js} +1 -1
  41. package/dist/public/assets/settings-view-CPUAjTMa.js +2 -0
  42. package/dist/public/assets/tasks-view-CvFFLPeD.js +1 -0
  43. package/dist/public/assets/{terminal-panel-DSfDZzBk.js → terminal-panel-DIh6it7K.js} +1 -1
  44. package/dist/public/assets/{use-active-dock-panel-instance-DNExGWVs.js → use-active-dock-panel-instance-DRfRj6MV.js} +1 -1
  45. package/dist/public/assets/{use-installed-ai-files-BuuVI3sM.js → use-installed-ai-files-C8nNWGC7.js} +1 -1
  46. package/dist/public/assets/{useBaseQuery-GJoj38pA.js → useBaseQuery-34f0-SVd.js} +1 -1
  47. package/dist/public/assets/{web-DyYrh5r4.js → web-Bn9n5e7r.js} +1 -1
  48. package/dist/public/assets/{web-CliOgvKf.js → web-C2KGFouM.js} +1 -1
  49. package/dist/public/assets/{web-Dzci4edU.js → web-Dk3GAfTy.js} +1 -1
  50. package/dist/public/assets/{web-BmpJHrzY.js → web-DycfRH4j.js} +1 -1
  51. package/dist/public/index.html +3 -3
  52. package/package.json +1 -1
  53. package/dist/public/assets/browser-tab-5rqpwS93.js +0 -12
  54. package/dist/public/assets/chat-dock-context-BJNNRoZC.js +0 -1
  55. package/dist/public/assets/explorer-tree-m1u3VhWL.js +0 -1
  56. package/dist/public/assets/index-u8UbWjXL.js +0 -3658
  57. package/dist/public/assets/merged-pr-dialog-BMqHRow2.js +0 -1
  58. package/dist/public/assets/onboarding-dialog-BFJftu2O.js +0 -1
  59. package/dist/public/assets/project-danger-zone-view-6HEDGyUj.js +0 -1
  60. package/dist/public/assets/providers-list-view-BUNk2E8O.js +0 -1
  61. package/dist/public/assets/settings-mcp-servers-view-CaAy6iV4.js +0 -5
  62. package/dist/public/assets/settings-skills-view-DLrG4E_U.js +0 -3
  63. package/dist/public/assets/settings-slash-commands-view-CpBMV_5D.js +0 -1
  64. package/dist/public/assets/settings-storage-view-BzT8k6yE.js +0 -1
  65. package/dist/public/assets/settings-view-CTQgFmjM.js +0 -2
  66. package/dist/public/assets/tasks-view-z93aMoQp.js +0 -1
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{s as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{Dt as a}from"./dist-CTLFS4dn.js";import{r as o}from"./store-BSzKIu5G.js";import{r as s,t as c}from"./button-kWtLAMpB.js";import{D as l,E as u,Pn as d,bt as f,vn as p}from"./dist-c_QADQ5u.js";import{D as m,Q as h,Qt as g,Wr as _,on as v}from"./api-DX1ny6q-.js";import{t as y}from"./use-toast-xpb5jNtN.js";import{Wn as b,_t as x,kt as S,vt as C}from"./index-u8UbWjXL.js";import{t as w}from"./delete-confirm-dialog-Dl76vaxb.js";var T=t(),E=e(n(),1),D=r();function O(e){let t=(0,T.c)(6),{title:n,description:r,children:i}=e,a;t[0]!==r||t[1]!==n?(a=(0,D.jsx)(C,{title:n,description:r,sticky:!1}),t[0]=r,t[1]=n,t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==a?(o=(0,D.jsxs)(S,{children:[a,i]}),t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function k(){let e=(0,T.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsxs)(`div`,{className:`flex-1 space-y-2 rounded-xl border bg-card p-5`,children:[(0,D.jsx)(b,{className:`h-4 w-20`}),(0,D.jsx)(b,{className:`h-9 w-28`})]}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,D.jsxs)(`div`,{className:`flex gap-4 px-6 pb-6 pt-6`,children:[t,(0,D.jsxs)(`div`,{className:`flex-1 space-y-3 rounded-xl border bg-card p-5`,children:[(0,D.jsx)(b,{className:`h-4 w-24`}),(0,D.jsx)(b,{className:`h-6 w-32`}),(0,D.jsx)(b,{className:`h-4 w-full`})]})]}),e[1]=n):n=e[1],n}function A(){let e=(0,T.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[(0,D.jsx)(b,{className:`h-5 w-28`}),(0,D.jsx)(b,{className:`h-4 w-64`})]}),(0,D.jsx)(b,{className:`h-9 w-28 shrink-0`})]}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,D.jsxs)(`div`,{className:`divide-y divide-table-border`,children:[t,(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[(0,D.jsx)(b,{className:`h-5 w-36`}),(0,D.jsx)(b,{className:`h-4 w-56`}),(0,D.jsx)(b,{className:`h-4 w-32`})]}),(0,D.jsx)(b,{className:`h-9 w-24 shrink-0`})]})]}),e[1]=n):n=e[1],n}function j(){let[e,t]=(0,E.useState)(null),[n,r]=(0,E.useState)(!0),[b,S]=(0,E.useState)(!1),[C,T]=(0,E.useState)(!1),j=i(),M=o(e=>e.projects),N=(0,E.useMemo)(()=>M.reduce((e,t)=>e+t.threads.length,0),[M]);(0,E.useEffect)(()=>{P();let e=()=>{document.visibilityState===`visible`&&P()};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[]);async function P(){r(!0);try{t(await h())}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to load account info`,variant:`destructive`})}finally{r(!1)}}function F(){g(`https://buy.stripe.com/14AcN6feK0Jjbheb2H3Nm03?client_reference_id=${e?.clientReferenceId??``}`)}function I(){g(`https://buy.stripe.com/9B67sMd6CgIh70Y0o33Nm04?client_reference_id=${e?.clientReferenceId??``}`)}async function L(){T(!0);try{if(await m(),_())try{await v()}catch{}window.close()}catch(e){T(!1),S(!1),y({title:`Error`,description:e instanceof Error?e.message:`Failed to delete account`,variant:`destructive`})}}let R=e?.plan===`unlimited-pro`,z=n&&e===null,B=e===null?n:!R;return(0,D.jsxs)(`div`,{className:`frosted-scrollbar flex h-full min-h-0 flex-col overflow-auto`,children:[(0,D.jsxs)(`div`,{className:`divide-y divide-table-border [&>*]:rounded-none`,children:[(0,D.jsx)(O,{title:`Account`,description:`Manage your Tarsk plan and prompt balance.`,children:z?(0,D.jsx)(k,{}):(0,D.jsxs)(`div`,{className:`flex gap-4 px-6 pb-6 pt-6`,children:[(0,D.jsxs)(`div`,{className:`flex-1 space-y-2 rounded-xl border bg-card p-5`,children:[(0,D.jsxs)(`div`,{className:s(a.label,`flex items-center gap-2 text-muted-foreground`),children:[(0,D.jsx)(f,{className:`h-4 w-4`}),`Balance`]}),(0,D.jsx)(`div`,{className:`flex items-end gap-2`,children:R?(0,D.jsx)(`span`,{className:a.stat,children:`Unlimited`}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{className:a.stat,children:e?.promptsRemaining.toLocaleString()??0}),(0,D.jsx)(`span`,{className:`${a.caption} mb-1`,children:`prompts remaining`})]})})]}),(0,D.jsxs)(`div`,{className:`flex-1 space-y-3 rounded-xl border bg-card p-5`,children:[(0,D.jsxs)(`div`,{className:s(a.label,`flex items-center gap-2 text-muted-foreground`),children:[(0,D.jsx)(p,{className:`h-4 w-4`}),`Current Plan`]}),(0,D.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,D.jsx)(`span`,{className:a.label,children:R?`Unlimited Pro`:`Pay as you go`}),R&&(0,D.jsx)(`span`,{className:s(a.compact,`rounded-full bg-primary/10 px-2 py-0.5 font-medium text-primary`),children:`Active`})]}),(0,D.jsx)(`p`,{className:a.bodyMuted,children:R?`You have unlimited prompts with no restrictions.`:`Purchase prompts as needed. Upgrade to Pro for unlimited access.`})]})]})}),B?(0,D.jsx)(O,{title:`Add Prompts`,description:`Top up your balance or upgrade to Pro for unlimited access.`,children:z?(0,D.jsx)(A,{}):(0,D.jsxs)(`div`,{className:`divide-y divide-table-border`,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`space-y-1`,children:[(0,D.jsx)(`span`,{className:a.label,children:`1,000 Prompts`}),(0,D.jsx)(`p`,{className:a.bodyMuted,children:`Top up your balance with 1,000 additional prompts for $5.`})]}),(0,D.jsx)(c,{onClick:F,className:`shrink-0`,children:`Top Up Balance`})]}),(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`space-y-1`,children:[(0,D.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,D.jsx)(p,{className:`h-4 w-4 text-primary`}),(0,D.jsx)(`span`,{className:a.label,children:`Unlimited Pro Plan`})]}),(0,D.jsx)(`p`,{className:a.bodyMuted,children:`Unlimited prompts for $100 and lifetime access to Tarsk.`}),(0,D.jsxs)(`ul`,{className:s(a.bodyMuted,`space-y-0.5`),children:[(0,D.jsxs)(`li`,{className:`flex items-center gap-1.5`,children:[(0,D.jsx)(d,{className:`h-3 w-3 text-primary`}),`Unlimited prompts`]}),(0,D.jsxs)(`li`,{className:`flex items-center gap-1.5`,children:[(0,D.jsx)(d,{className:`h-3 w-3 text-primary`}),`Priority access`]})]})]}),(0,D.jsx)(c,{onClick:I,className:`shrink-0`,children:`Purchase`})]})]})}):null,(0,D.jsx)(O,{title:`Delete Account`,description:`Permanently delete the Tarsk database and any logs on this device.`,children:(0,D.jsxs)(`div`,{className:`space-y-4 px-6 pb-6 pt-6`,children:[N>0?(0,D.jsxs)(x,{variant:`error`,children:[(0,D.jsxs)(`span`,{className:`flex items-start gap-2`,children:[(0,D.jsx)(u,{className:`mt-0.5 h-4 w-4 shrink-0`}),(0,D.jsxs)(`span`,{children:[`You have `,N,` workspace`,` `,N===1?`folder`:`folders`,` listed in Storage. Clear`,` `,N===1?`it`:`them`,` first under Storage — deleting your account does not remove those folders.`]})]}),(0,D.jsx)(`div`,{className:`mt-3`,children:(0,D.jsx)(c,{variant:`outline`,size:`sm`,onClick:()=>j(`/settings/storage`),children:`Go to Storage`})})]}):null,(0,D.jsx)(`p`,{className:a.bodyMuted,children:`This removes the Tarsk database and any logs on this machine and cannot be undone.`}),(0,D.jsxs)(c,{variant:`destructive`,onClick:()=>S(!0),children:[(0,D.jsx)(l,{className:`h-4 w-4`}),`Delete Account`]})]})})]}),(0,D.jsx)(w,{open:b,onOpenChange:e=>{!e&&!C&&S(!1)},title:`Delete account?`,description:`This permanently deletes the Tarsk database and any logs on this device. The app will close and you can relaunch it. This action cannot be undone.`,onConfirm:()=>void L(),confirming:C,confirmLabel:`Delete Account`,confirmingLabel:`Deleting...`})]})}export{j as default};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{s as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{Dt as a}from"./dist-CTLFS4dn.js";import{r as o}from"./store-BSzKIu5G.js";import{r as s,t as c}from"./button-kWtLAMpB.js";import{D as l,E as u,Pn as d,bt as f,vn as p}from"./dist-c_QADQ5u.js";import{D as m,Q as h,Qt as g,Wr as _,on as v}from"./api-DX1ny6q-.js";import{t as y}from"./use-toast-xpb5jNtN.js";import{At as b,Wn as x,vt as S,yt as C}from"./index-B3-5kIOf.js";import{t as w}from"./delete-confirm-dialog-Dl76vaxb.js";var T=t(),E=e(n(),1),D=r();function O(e){let t=(0,T.c)(6),{title:n,description:r,children:i}=e,a;t[0]!==r||t[1]!==n?(a=(0,D.jsx)(C,{title:n,description:r,sticky:!1}),t[0]=r,t[1]=n,t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==a?(o=(0,D.jsxs)(b,{children:[a,i]}),t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function k(){let e=(0,T.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsxs)(`div`,{className:`flex-1 space-y-2 rounded-xl border bg-card p-5`,children:[(0,D.jsx)(x,{className:`h-4 w-20`}),(0,D.jsx)(x,{className:`h-9 w-28`})]}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,D.jsxs)(`div`,{className:`flex gap-4 px-6 pb-6 pt-6`,children:[t,(0,D.jsxs)(`div`,{className:`flex-1 space-y-3 rounded-xl border bg-card p-5`,children:[(0,D.jsx)(x,{className:`h-4 w-24`}),(0,D.jsx)(x,{className:`h-6 w-32`}),(0,D.jsx)(x,{className:`h-4 w-full`})]})]}),e[1]=n):n=e[1],n}function A(){let e=(0,T.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[(0,D.jsx)(x,{className:`h-5 w-28`}),(0,D.jsx)(x,{className:`h-4 w-64`})]}),(0,D.jsx)(x,{className:`h-9 w-28 shrink-0`})]}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,D.jsxs)(`div`,{className:`divide-y divide-table-border`,children:[t,(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[(0,D.jsx)(x,{className:`h-5 w-36`}),(0,D.jsx)(x,{className:`h-4 w-56`}),(0,D.jsx)(x,{className:`h-4 w-32`})]}),(0,D.jsx)(x,{className:`h-9 w-24 shrink-0`})]})]}),e[1]=n):n=e[1],n}function j(){let[e,t]=(0,E.useState)(null),[n,r]=(0,E.useState)(!0),[b,x]=(0,E.useState)(!1),[C,T]=(0,E.useState)(!1),j=i(),M=o(e=>e.projects),N=(0,E.useMemo)(()=>M.reduce((e,t)=>e+t.threads.length,0),[M]);(0,E.useEffect)(()=>{P();let e=()=>{document.visibilityState===`visible`&&P()};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[]);async function P(){r(!0);try{t(await h())}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to load account info`,variant:`destructive`})}finally{r(!1)}}function F(){g(`https://buy.stripe.com/14AcN6feK0Jjbheb2H3Nm03?client_reference_id=${e?.clientReferenceId??``}`)}function I(){g(`https://buy.stripe.com/9B67sMd6CgIh70Y0o33Nm04?client_reference_id=${e?.clientReferenceId??``}`)}async function L(){T(!0);try{if(await m(),_())try{await v()}catch{}window.close()}catch(e){T(!1),x(!1),y({title:`Error`,description:e instanceof Error?e.message:`Failed to delete account`,variant:`destructive`})}}let R=e?.plan===`unlimited-pro`,z=n&&e===null,B=e===null?n:!R;return(0,D.jsxs)(`div`,{className:`frosted-scrollbar flex h-full min-h-0 flex-col overflow-auto`,children:[(0,D.jsxs)(`div`,{className:`divide-y divide-table-border [&>*]:rounded-none`,children:[(0,D.jsx)(O,{title:`Account`,description:`Manage your Tarsk plan and prompt balance.`,children:z?(0,D.jsx)(k,{}):(0,D.jsxs)(`div`,{className:`flex gap-4 px-6 pb-6 pt-6`,children:[(0,D.jsxs)(`div`,{className:`flex-1 space-y-2 rounded-xl border bg-card p-5`,children:[(0,D.jsxs)(`div`,{className:s(a.label,`flex items-center gap-2 text-muted-foreground`),children:[(0,D.jsx)(f,{className:`h-4 w-4`}),`Balance`]}),(0,D.jsx)(`div`,{className:`flex items-end gap-2`,children:R?(0,D.jsx)(`span`,{className:a.stat,children:`Unlimited`}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{className:a.stat,children:e?.promptsRemaining.toLocaleString()??0}),(0,D.jsx)(`span`,{className:`${a.caption} mb-1`,children:`prompts remaining`})]})})]}),(0,D.jsxs)(`div`,{className:`flex-1 space-y-3 rounded-xl border bg-card p-5`,children:[(0,D.jsxs)(`div`,{className:s(a.label,`flex items-center gap-2 text-muted-foreground`),children:[(0,D.jsx)(p,{className:`h-4 w-4`}),`Current Plan`]}),(0,D.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,D.jsx)(`span`,{className:a.label,children:R?`Unlimited Pro`:`Pay as you go`}),R&&(0,D.jsx)(`span`,{className:s(a.compact,`rounded-full bg-primary/10 px-2 py-0.5 font-medium text-primary`),children:`Active`})]}),(0,D.jsx)(`p`,{className:a.bodyMuted,children:R?`You have unlimited prompts with no restrictions.`:`Purchase prompts as needed. Upgrade to Pro for unlimited access.`})]})]})}),B?(0,D.jsx)(O,{title:`Add Prompts`,description:`Top up your balance or upgrade to Pro for unlimited access.`,children:z?(0,D.jsx)(A,{}):(0,D.jsxs)(`div`,{className:`divide-y divide-table-border`,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`space-y-1`,children:[(0,D.jsx)(`span`,{className:a.label,children:`1,000 Prompts`}),(0,D.jsx)(`p`,{className:a.bodyMuted,children:`Top up your balance with 1,000 additional prompts for $5.`})]}),(0,D.jsx)(c,{onClick:F,className:`shrink-0`,children:`Top Up Balance`})]}),(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`space-y-1`,children:[(0,D.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,D.jsx)(p,{className:`h-4 w-4 text-primary`}),(0,D.jsx)(`span`,{className:a.label,children:`Unlimited Pro Plan`})]}),(0,D.jsx)(`p`,{className:a.bodyMuted,children:`Unlimited prompts for $100 and lifetime access to Tarsk.`}),(0,D.jsxs)(`ul`,{className:s(a.bodyMuted,`space-y-0.5`),children:[(0,D.jsxs)(`li`,{className:`flex items-center gap-1.5`,children:[(0,D.jsx)(d,{className:`h-3 w-3 text-primary`}),`Unlimited prompts`]}),(0,D.jsxs)(`li`,{className:`flex items-center gap-1.5`,children:[(0,D.jsx)(d,{className:`h-3 w-3 text-primary`}),`Priority access`]})]})]}),(0,D.jsx)(c,{onClick:I,className:`shrink-0`,children:`Purchase`})]})]})}):null,(0,D.jsx)(O,{title:`Delete Account`,description:`Permanently delete the Tarsk database and any logs on this device.`,children:(0,D.jsxs)(`div`,{className:`space-y-4 px-6 pb-6 pt-6`,children:[N>0?(0,D.jsxs)(S,{variant:`error`,children:[(0,D.jsxs)(`span`,{className:`flex items-start gap-2`,children:[(0,D.jsx)(u,{className:`mt-0.5 h-4 w-4 shrink-0`}),(0,D.jsxs)(`span`,{children:[`You have `,N,` workspace`,` `,N===1?`folder`:`folders`,` listed in Storage. Clear`,` `,N===1?`it`:`them`,` first under Storage — deleting your account does not remove those folders.`]})]}),(0,D.jsx)(`div`,{className:`mt-3`,children:(0,D.jsx)(c,{variant:`outline`,size:`sm`,onClick:()=>j(`/settings/storage`),children:`Go to Storage`})})]}):null,(0,D.jsx)(`p`,{className:a.bodyMuted,children:`This removes the Tarsk database and any logs on this machine and cannot be undone.`}),(0,D.jsxs)(c,{variant:`destructive`,onClick:()=>x(!0),children:[(0,D.jsx)(l,{className:`h-4 w-4`}),`Delete Account`]})]})})]}),(0,D.jsx)(w,{open:b,onOpenChange:e=>{!e&&!C&&x(!1)},title:`Delete account?`,description:`This permanently deletes the Tarsk database and any logs on this device. The app will close and you can relaunch it. This action cannot be undone.`,onConfirm:()=>void L(),confirming:C,confirmLabel:`Delete Account`,confirmingLabel:`Deleting...`})]})}export{j as default};
@@ -0,0 +1,12 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{n as i}from"./chat-dock-context-8K8Ikjgy.js";import{Dt as a,N as o}from"./dist-CTLFS4dn.js";import{$ as s,n as c,r as l}from"./store-BSzKIu5G.js";import{r as u,t as d}from"./button-kWtLAMpB.js";import{Bn as f,L as p,T as m,Vn as h,X as g,fn as _,gt as v,j as y,mt as b}from"./dist-c_QADQ5u.js";import{i as x,n as S,r as C,t as w}from"./tooltip-Db8UeYxm.js";import{Qt as T,Wr as E,cn as D}from"./api-DX1ny6q-.js";import{i as O,r as k}from"./browser-overlay-block-CiDtkfup.js";import{t as A}from"./use-toast-xpb5jNtN.js";import{A as j,Ht as M,L as N,Sn as P,Ut as F,_ as I,b as L,c as R,fr as z,g as B,h as V,l as H,m as U,p as W,v as G,x as K,y as ee,z as te}from"./index-B3-5kIOf.js";import{t as ne}from"./use-active-dock-panel-instance-DRfRj6MV.js";var q=e(n(),1),J=t();async function Y(e){let{projectId:t,oldText:n,newText:r,selection:i,replaceUnique:a=D}=e;if(n===r)return{kind:`unchanged`};try{let e=await a(t,n,r);if(e.applied&&e.path)return{kind:`replaced`,path:e.path}}catch{}return{kind:`prompt`,prompt:B(i,n,r)}}var X=r();function re(e){let t=(0,J.c)(43),{onCommit:n,onCancelPreview:r}=e,i=c(),a=l(ae),o=l(ie),u=l(Z),f;t[0]===a?f=t[1]:(f=e=>a?e.projectModelSelections[a]:void 0,t[0]=a,t[1]=f);let p=l(f),{selectedBrowserElement:m,setSelectedBrowserElement:h,setIsEditModeEnabled:g,setBrowserAgentProcessingThreadId:_}=j(),{handleSend:v}=F(),{paneId:y,conversationId:b}=M(),[x,S]=(0,q.useState)(!1),C;if(t[2]!==u||t[3]!==o){let e;t[5]===o?e=t[6]:(e=e=>e.projectId===o,t[5]=o,t[6]=e),C=u.find(e),t[2]=u,t[3]=o,t[4]=C}else C=t[4];let w=C,T;t[7]===m?T=t[8]:(T=G(m),t[7]=m,t[8]=T);let E=T,D;t[9]!==g||t[10]!==h?(D=()=>{S(!1),g(!1),h(null)},t[9]=g,t[10]=h,t[11]=D):D=t[11];let O=D,k;t[12]!==b||t[13]!==i||t[14]!==O||t[15]!==v||t[16]!==y||t[17]!==w?.lastSelectedModel||t[18]!==w?.lastSelectedModelProvider||t[19]!==o||t[20]!==a||t[21]!==_||t[22]!==p?.id||t[23]!==p?.provider?(k=async e=>{if(!o){A({title:`No project selected`,description:`Open a project to apply text edits.`,variant:`destructive`}),O();return}S(!0);let t=await Y({projectId:o,oldText:e.originalText,newText:e.currentText,selection:e.selection});if(t.kind===`unchanged`){A({title:`No text changes detected`}),O();return}if(t.kind===`replaced`){A({title:`Text updated`,description:`Replaced in ${t.path}`}),O();return}let n=p?.id??w?.lastSelectedModel,r=p?.provider??w?.lastSelectedModelProvider;if(!a||!n){A({title:`Could not apply text change`,description:`Select a chat thread and model to send this change as a prompt.`,variant:`destructive`}),S(!1);return}v(y,b,t.prompt,n,[],r),i({type:s.SetChatInputDraft,threadId:y===`primary`?a:`${a}:${y}`,draft:``}),_(a),O()},t[12]=b,t[13]=i,t[14]=O,t[15]=v,t[16]=y,t[17]=w?.lastSelectedModel,t[18]=w?.lastSelectedModelProvider,t[19]=o,t[20]=a,t[21]=_,t[22]=p?.id,t[23]=p?.provider,t[24]=k):k=t[24],w?.lastSelectedModel,w?.lastSelectedModelProvider,p?.id,p?.provider;let N=k,P,L;t[25]===E?(P=t[26],L=t[27]):(P=()=>{E||S(!1)},L=[E],t[25]=E,t[26]=P,t[27]=L),(0,q.useEffect)(P,L);let R,z;t[28]===N?(R=t[29],z=t[30]):(R=()=>{let e=function(e){let t=e.detail;I(t)&&N(t)},t=function(e){let t=ee(e.data);t&&N(t)};return window.addEventListener(W,e),window.addEventListener(`message`,t),function(){window.removeEventListener(W,e),window.removeEventListener(`message`,t)}},z=[N],t[28]=N,t[29]=R,t[30]=z),(0,q.useEffect)(R,z);let B;t[31]!==O||t[32]!==r?(B=function(){r(),O()},t[31]=O,t[32]=r,t[33]=B):B=t[33];let V=B;if(!E)return null;let H;t[34]!==x||t[35]!==n?(H=(0,X.jsx)(d,{type:`button`,size:`sm`,onClick:n,disabled:x,children:`Apply Changes`}),t[34]=x,t[35]=n,t[36]=H):H=t[36];let U;t[37]!==V||t[38]!==x?(U=(0,X.jsx)(d,{type:`button`,size:`sm`,variant:`outline`,onClick:V,disabled:x,children:`Cancel`}),t[37]=V,t[38]=x,t[39]=U):U=t[39];let K;return t[40]!==H||t[41]!==U?(K=(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center justify-center gap-2 border-b border-border px-3 py-2`,children:[H,U]}),t[40]=H,t[41]=U,t[42]=K):K=t[42],K}function Z(e){return e.projects}function ie(e){return e.selectedProjectId}function ae(e){return e.selectedThreadId}function oe(e){let t=e.trim();return t?(!t.startsWith(`http://`)&&!t.startsWith(`https://`)&&(t=`http://${t}`),t):``}function Q(e){return typeof e==`string`?e:typeof e==`object`&&e&&`url`in e&&typeof e.url==`string`?e.url:``}var se=`tarsk-browser-page-title`;function ce(e){if(!e)return null;if(typeof e==`string`)try{let t=JSON.parse(e);return t&&typeof t==`object`?t:null}catch{return null}return typeof e==`object`?e:null}function le(e){let t=ce(e);if(!t||t.type!==se)return null;let n=t.payload;if(!n||typeof n!=`object`)return null;let r=n.title;return typeof r==`string`?r:null}function ue(e){return le(e)}function de(e){return!e?.trim()}function fe(e,t){return de(t)?e:t.trim()}function pe(e){return e?e.querySelector(`electrobun-webview`):null}function me(e){e.webviewId!=null&&(e.toggleHidden(!0),e.togglePassthrough(!0))}function he(e){e.webviewId!=null&&(e.toggleHidden(!1),e.togglePassthrough(!1),e.syncDimensions(!0))}function ge(e,t){if(t){he(e);return}me(e)}function _e(e){return e!=null&&e.getClientRects().length>0}function ve(e,t,n){let r=!1,i=0;function a(){if(!r){if(e.webviewId==null){i=requestAnimationFrame(a);return}t&&e.getAttribute(`src`)!==t&&e.loadURL(t),ge(e,n())}}return i=requestAnimationFrame(a),function(){r=!0,cancelAnimationFrame(i)}}function ye(e){let t=(0,J.c)(8),{useNativeWebview:n,shouldRenderNativeWebview:r,currentUrl:i,resolveWebview:a}=e,[o,s]=(0,q.useState)(r),c;t[0]!==a||t[1]!==r||t[2]!==n?(c=()=>{if(!n)return;if(r){s(!0);return}let e=a();e&&me(e);let t=requestAnimationFrame(()=>{s(!1)});return function(){cancelAnimationFrame(t)}},t[0]=a,t[1]=r,t[2]=n,t[3]=c):c=t[3];let l;return t[4]!==i||t[5]!==r||t[6]!==n?(l=[r,n,i],t[4]=i,t[5]=r,t[6]=n,t[7]=l):l=t[7],(0,q.useLayoutEffect)(c,l),o}var be=o(`browser.preview-scripting`);function xe(e,t=!1,n=`select`){return`(function () {
2
+ const api = window.__tarskBrowserPreview;
3
+ if (!api || typeof api.setSelectMode !== "function") {
4
+ log.error("[browser-preview] selection API is not available");
5
+ return;
6
+ }
7
+ api.setSelectMode(${e?`true`:`false`}, ${t?`true`:`false`}, ${JSON.stringify(n)});
8
+ })();`}function Se(e){let t=e===`commit`?`commitTextEdit`:`cancelTextEdit`;return`(function () {
9
+ const api = window.__tarskBrowserPreview;
10
+ if (!api || typeof api.${t} !== "function") return;
11
+ api.${t}();
12
+ })();`}function Ce(e,t,n=!1,r=`select`){if(typeof e.executeJavascript!=`function`)throw Error(`Browser preview webview JS execution is not available`);try{e.executeJavascript(xe(t,n,r))}catch(i){throw be.error(`[browser-preview] Failed to toggle native preview selection mode`,{enabled:t,preserveSelection:n,interaction:r,src:e.src,webview_id:e.webviewId,error:i instanceof Error?i.message:String(i),stack:i instanceof Error?i.stack:void 0}),i}}function we(e,t){if(typeof e.executeJavascript!=`function`)throw Error(`Browser preview webview JS execution is not available`);e.executeJavascript(t)}function Te(e,t,n=!1,r=`select`){let i=e.contentWindow;if(!i)throw Error(`Browser preview frame is not ready`);let a=i.__tarskBrowserPreview;if(!a?.setSelectMode)throw Error(`Browser preview selection API is not available in iframe preview`);a.setSelectMode(t,n,r)}function Ee(e,t){let n=e.contentWindow?.__tarskBrowserPreview;if(!n||typeof n[t===`commit`?`commitTextEdit`:`cancelTextEdit`]!=`function`){be.warn(`[browser-preview] Preview text-edit API unavailable; action ignored`,{action:t,src:e.src});return}if(t===`commit`){n.commitTextEdit?.();return}n.cancelTextEdit?.()}var De=o(`app.browser-tab.ui`),Oe=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`,`Home`,`End`]),ke=new Set([`INPUT`,`TEXTAREA`,`SELECT`]),Ae=new Set([`combobox`,`listbox`,`menu`,`menubar`,`menuitem`,`option`,`radiogroup`,`tablist`,`tab`,`grid`,`slider`,`spinbutton`]);function je(e){if(ke.has(e.tagName)||e.isContentEditable)return!0;let t=e.getAttribute(`role`);return t!==null&&Ae.has(t)}function Me(e){return e instanceof HTMLElement&&je(e)}function Ne(e,t,n){let[r,i]=(0,q.useState)(!0),a=(0,q.useSyncExternalStore)(H,R),o=(0,q.useSyncExternalStore)(O,k),s=t&&(r&&!o||a),c=(0,q.useRef)(s);c.current=s;let l=(0,q.useCallback)(function(){return c.current},[]),u=(0,q.useCallback)(function(){i(_e(e.current))},[]);return(0,q.useLayoutEffect)(u),(0,q.useEffect)(()=>{let t=e.current;if(!t)return;let n=new ResizeObserver(u);return n.observe(t),function(){n.disconnect()}},[u,n]),{shouldShowWebview:s,readWebviewVisibility:l}}function Pe({devServerUrl:e,devServerStopped:t,isBrowserActive:n,currentUrl:r,browserResetTrigger:i,webviewRef:a,iframeRef:o,setCurrentUrl:s,setPendingUrl:c,setInputUrl:l,setSelectionModeError:u,setIsSelectModeEnabled:d,setIsEditModeEnabled:f,setSelectedBrowserElement:p,setIsSelectionPromptOpen:m,setBrowserAgentProcessingThreadId:h,setBrowserPageTitle:g}){let _=(0,q.useRef)(r),v=(0,q.useRef)(null);_.current=r,(0,q.useEffect)(()=>{s(``),c(``),l(``),u(null),g(null),d(!1),f(!1),p(null),m(!1),h(null);let e=a.current;e&&(e.src=``),o.current&&(o.current.src=``)},[i,h,g,d,f,m,p]),(0,q.useEffect)(()=>{if(t&&!e){s(``),c(``),l(``),u(null),n&&(d(!1),f(!1),p(null),m(!1),h(null));let e=a.current;e&&(e.src=``),o.current&&(o.current.src=``);return}if(!e)return;let r=oe(e);l(r),(!_.current||_.current===v.current)&&(s(r),c(r),v.current=r),u(null),n&&(d(!1),f(!1),p(null),m(!1),h(null))},[e,t,n,h,d,f,m,p])}function Fe(e,t,n,r){let i=(0,J.c)(9),a;i[0]!==n||i[1]!==e||i[2]!==r||i[3]!==t?(a=()=>{if(!e||!t)return;let i=function(e){Oe.has(e.key)&&(Me(e.target)||r.current?.contains(e.target)||(e.preventDefault(),n()))};return document.addEventListener(`keydown`,i,!0),function(){document.removeEventListener(`keydown`,i,!0)}},i[0]=n,i[1]=e,i[2]=r,i[3]=t,i[4]=a):a=i[4];let o;i[5]!==n||i[6]!==e||i[7]!==t?(o=[e,t,n],i[5]=n,i[6]=e,i[7]=t,i[8]=o):o=i[8],(0,q.useEffect)(a,o)}function Ie(e){let t=(0,J.c)(15),{useNativeWebview:n,nativeWebviewMounted:r,currentUrl:i,resolveWebview:a,setCurrentUrl:o,setPendingUrl:s,setInputUrl:c,setSelectionModeError:l,setBrowserPageTitle:u}=e,d;t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==u||t[4]!==o||t[5]!==c||t[6]!==s||t[7]!==l||t[8]!==n?(d=()=>{let e=a();if(!n||!e||!r)return;let t=function(e){let t=typeof e.detail==`string`?e.detail:i;t&&(o(t),s(``),c(t))},d=function(e){let t=typeof e.detail==`string`?e.detail:i;t&&(o(t),c(t))},f=function(e){let t=Q(e.detail);t&&T(t)},p=function(e){let t=ue(e.detail);if(t!=null){u(e=>fe(e,t));return}let n=K(e.detail);if(n){V(n);return}let r=L(e.detail);r&&(l(null),U(r))};return e.on(`did-navigate`,t),e.on(`did-navigate-in-page`,d),e.on(`new-window-open`,f),e.on(`host-message`,p),function(){e.off(`did-navigate`,t),e.off(`did-navigate-in-page`,d),e.off(`new-window-open`,f),e.off(`host-message`,p)}},t[0]=i,t[1]=r,t[2]=a,t[3]=u,t[4]=o,t[5]=c,t[6]=s,t[7]=l,t[8]=n,t[9]=d):d=t[9];let f;t[10]!==i||t[11]!==r||t[12]!==u||t[13]!==n?(f=[i,n,r,u],t[10]=i,t[11]=r,t[12]=u,t[13]=n,t[14]=f):f=t[14],(0,q.useEffect)(d,f)}function Le(e){let t=(0,J.c)(23),{useNativeWebview:n,nativeWebviewMounted:r,currentUrl:i,deviceMode:a,shouldShowWebview:o,pendingUrl:s,readWebviewVisibility:c,resolveWebview:l}=e,u;t[0]!==r||t[1]!==l||t[2]!==o||t[3]!==n?(u=()=>{if(!n||!r)return;let e=l();!e||e.webviewId==null||ge(e,o)},t[0]=r,t[1]=l,t[2]=o,t[3]=n,t[4]=u):u=t[4];let d;t[5]!==i||t[6]!==a||t[7]!==r||t[8]!==o||t[9]!==n?(d=[r,n,i,a,o],t[5]=i,t[6]=a,t[7]=r,t[8]=o,t[9]=n,t[10]=d):d=t[10],(0,q.useLayoutEffect)(u,d);let f;t[11]!==r||t[12]!==s||t[13]!==c||t[14]!==l||t[15]!==n?(f=()=>{let e=l();if(!(!n||!e||!s||!r))return ve(e,s,c)},t[11]=r,t[12]=s,t[13]=c,t[14]=l,t[15]=n,t[16]=f):f=t[16];let p;t[17]!==i||t[18]!==r||t[19]!==s||t[20]!==c||t[21]!==n?(p=[s,n,i,r,c],t[17]=i,t[18]=r,t[19]=s,t[20]=c,t[21]=n,t[22]=p):p=t[22],(0,q.useEffect)(f,p)}function Re({isBrowserActive:e,currentUrl:t,isSelectModeEnabled:n,isEditModeEnabled:r,isSelectionPromptOpen:i,nativeWebviewMounted:a,useNativeWebview:o,resolveWebview:s,iframeRef:c,setIsSelectModeEnabled:l,setIsEditModeEnabled:u,setSelectionModeError:d}){(0,q.useEffect)(()=>{if(!e)return;if(!t){n&&l(!1),r&&u(!1);return}let f=!1,p=n||r,m=r?`edit`:`select`,h=!p&&i;function g(){try{if(o){let e=s();if(!e||e.webviewId==null||!a)return;Ce(e,p,h,m);return}let e=c.current;if(!e)return;Te(e,p,h,m)}catch(e){if(f||!p)return;let t=e instanceof Error?e.message:`Could not enable element selection.`;De.error(`Failed to toggle browser selection mode:`,e),d(t),l(!1),u(!1),A({title:`Selection mode unavailable`,description:t,variant:`destructive`})}}return g(),function(){f=!0}},[t,e,r,n,i,a,u,l,o])}function ze(e,t){let n=(0,J.c)(8),r,i;n[0]!==e||n[1]!==t?(r=()=>{if(!e)return;let n=function(e){let n=le(e.data);n!=null&&t(e=>fe(e,n))};return window.addEventListener(`message`,n),function(){window.removeEventListener(`message`,n)}},i=[e,t],n[0]=e,n[1]=t,n[2]=r,n[3]=i):(r=n[2],i=n[3]),(0,q.useEffect)(r,i);let a,o;n[4]!==e||n[5]!==t?(a=()=>{if(e)return function(){t(null)}},o=[e,t],n[4]=e,n[5]=t,n[6]=a,n[7]=o):(a=n[6],o=n[7]),(0,q.useEffect)(a,o)}function Be(e){let t=ne(e,`browser`),{devServerUrl:n,devServerStopped:r}=te(),{browserResetTrigger:i,setBrowserPageTitle:a,browserDeviceMode:o,setBrowserDeviceMode:s,isSelectModeEnabled:c,setIsSelectModeEnabled:u,isEditModeEnabled:d,setIsEditModeEnabled:f,selectedBrowserElement:p,setSelectedBrowserElement:m,setIsSelectionPromptOpen:h,isSelectionPromptOpen:g,setBrowserAgentProcessingThreadId:_}=j(),v=l(e=>e.selectedProjectId),y=l(e=>e.projects).find(e=>e.projectId===v),[b,x]=(0,q.useState)(``),[S,C]=(0,q.useState)(``),[w,D]=(0,q.useState)(``),[O,k]=(0,q.useState)(o),[A,M]=(0,q.useState)(null),N=(0,q.useRef)(null),F=(0,q.useRef)(w),I=(0,q.useRef)(null),L=(0,q.useRef)(null),R=E(),z=P(),B=R&&!!S;F.current=w;function V(){return N.current??pe(L.current)}let{shouldShowWebview:H,readWebviewVisibility:U}=Ne(L,t,S),W=ye({useNativeWebview:R,shouldRenderNativeWebview:B,currentUrl:S,resolveWebview:V});Pe({devServerUrl:n,devServerStopped:r,isBrowserActive:t,currentUrl:S,browserResetTrigger:i,webviewRef:N,iframeRef:I,setCurrentUrl:C,setPendingUrl:D,setInputUrl:x,setSelectionModeError:M,setIsSelectModeEnabled:u,setIsEditModeEnabled:f,setSelectedBrowserElement:m,setIsSelectionPromptOpen:h,setBrowserAgentProcessingThreadId:_,setBrowserPageTitle:a}),Fe(t,R,(0,q.useCallback)(function(){R?V()?.focus():I.current?.contentWindow?.focus()},[R]),L),Ie({useNativeWebview:R,nativeWebviewMounted:W,currentUrl:S,resolveWebview:V,setCurrentUrl:C,setPendingUrl:D,setInputUrl:x,setSelectionModeError:M,setBrowserPageTitle:a}),ze(t,a),Le({useNativeWebview:R,nativeWebviewMounted:W,currentUrl:S,deviceMode:O,shouldShowWebview:H,pendingUrl:w,readWebviewVisibility:U,resolveWebview:V}),Re({isBrowserActive:t,currentUrl:S,isSelectModeEnabled:c,isEditModeEnabled:d,isSelectionPromptOpen:g,nativeWebviewMounted:W,useNativeWebview:R,resolveWebview:V,iframeRef:I,setIsSelectModeEnabled:u,setIsEditModeEnabled:f,setSelectionModeError:M}),(0,q.useEffect)(()=>{k(o)},[o]);let K=(0,q.useCallback)(e=>{N.current=e,e&&ve(e,F.current,U)},[U]);function ee(e){k(e),s(e)}function J(){M(null),u(!1),f(!1),m(null),h(!1)}function Y(e){try{if(R){let t=V();if(!t)return;we(t,Se(e));return}let t=I.current;if(!t)return;Ee(t,e)}catch(e){De.error(`Failed to run preview text edit action:`,e)}}function X(e){let t=oe(e);t&&(x(t),C(t),D(t),J())}function re(e){e.key===`Enter`&&X(b)}function Z(){if(J(),R){let e=V();e&&e.reload();return}let e=I.current;if(!e)return;let t=e.src;e.src=``,requestAnimationFrame(()=>{e.src=t})}function ie(){if(J(),R){let e=V();e&&e.executeJavascript(`history.back()`);return}Q(-1)}function ae(){if(J(),R){let e=V();e&&e.executeJavascript(`history.forward()`);return}Q(1)}function Q(e){let t=I.current;if(!(!t||!t.contentWindow))try{e<0?t.contentWindow.history.back():t.contentWindow.history.forward()}catch{}}function se(){M(null),f(!1),G(p)&&(Y(`cancel`),m(null)),u(e=>!e)}function ce(){if(M(null),u(!1),h(!1),G(p)){Y(`cancel`),m(null),f(!1);return}f(e=>!e)}return{isBrowserActive:t,devServerStopped:r,selectedProjectId:v,runCommand:y?.runCommand,currentUrl:S,inputUrl:b,setInputUrl:x,handleKeyDown:re,deviceMode:O,updateDeviceMode:ee,selectionModeError:A,isSelectModeEnabled:c,isEditModeActive:d||G(p),isSurfaceSelectInteraction:c||d,toggleSelectMode:se,toggleEditMode:ce,refresh:Z,goBack:ie,goForward:ae,openExternal:()=>void T(S),runPreviewTextEdit:Y,previewContainerRef:L,iframeRef:I,handleWebviewRef:K,useNativeWebview:R,nativeWebviewMounted:W,previewRpcPreload:z}}var Ve={desktop:{width:`100%`,height:`100%`},tablet:{width:`768px`,height:`1024px`},mobile:{width:`375px`,height:`667px`}};function He(e){let t=(0,J.c)(7),{useNativeWebview:n,nativeWebviewMounted:r,currentUrl:i,previewRpcPreload:a,handleWebviewRef:o,iframeRef:s}=e;if(n){if(!r)return null;let e;return t[0]!==i||t[1]!==o||t[2]!==a?(e=(0,q.createElement)(`electrobun-webview`,{ref:o,src:i,preload:a,renderer:`native`,className:`block h-full w-full bg-background`}),t[0]=i,t[1]=o,t[2]=a,t[3]=e):e=t[3],e}let c;return t[4]!==i||t[5]!==s?(c=(0,X.jsx)(`iframe`,{ref:s,src:i,className:`h-full w-full border-none`,title:`Browser`,sandbox:`allow-same-origin allow-scripts allow-forms allow-popups allow-modals allow-downloads`}),t[4]=i,t[5]=s,t[6]=c):c=t[6],c}function Ue(e){let t=(0,J.c)(18),{selectionModeError:n,isSelectModeEnabled:r,deviceMode:i,currentDeviceConfig:a,previewContainerRef:o,children:s}=e,c;t[0]===n?c=t[1]:(c=n&&(0,X.jsxs)(`div`,{className:`border-b border-destructive/20 bg-destructive/5 px-3 py-2 text-sm text-destructive`,children:[`Element selection is unavailable: `,n]}),t[0]=n,t[1]=c);let l=r&&`cursor-crosshair`,d;t[2]===l?d=t[3]:(d=u(`flex min-h-0 flex-1 items-center justify-center bg-background`,l),t[2]=l,t[3]=d);let f=`overflow-hidden border border-border bg-background shadow-sm ${i===`desktop`?`h-full w-full rounded-none border-0 shadow-none`:`rounded-lg`}`,p;t[4]!==a.height||t[5]!==a.width?(p={width:a.width,height:a.height,maxWidth:`100%`,maxHeight:`100%`},t[4]=a.height,t[5]=a.width,t[6]=p):p=t[6];let m;t[7]!==s||t[8]!==f||t[9]!==p?(m=(0,X.jsx)(`div`,{className:f,style:p,children:s}),t[7]=s,t[8]=f,t[9]=p,t[10]=m):m=t[10];let h;t[11]!==o||t[12]!==d||t[13]!==m?(h=(0,X.jsx)(`div`,{ref:o,className:d,children:m}),t[11]=o,t[12]=d,t[13]=m,t[14]=h):h=t[14];let g;return t[15]!==c||t[16]!==h?(g=(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col bg-background`,children:[c,h]}),t[15]=c,t[16]=h,t[17]=g):g=t[17],g}function We(e){let t=(0,J.c)(3),{previewContainerRef:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,X.jsx)(`div`,{className:`hidden`,"aria-hidden":`true`,children:(0,X.jsx)(`div`,{ref:n,children:r})}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}function $(e){let t=(0,J.c)(16),{onClick:n,label:r,children:i,isActive:a,disabled:o,activeStyle:s}=e,c=a===void 0?!1:a,l=o===void 0?!1:o,d=s===void 0?`elevated`:s,f=l&&`cursor-not-allowed text-muted-foreground/50`,p=!l&&!c&&`text-muted-foreground hover:bg-background/50 hover:text-foreground`,m=!l&&c&&d===`depressed`&&`bg-muted text-primary shadow-[inset_0_2px_4px_rgba(0,0,0,0.14)] ring-1 ring-inset ring-border/80 dark:shadow-[inset_0_2px_4px_rgba(0,0,0,0.35)]`,h=!l&&c&&d===`elevated`&&`bg-background text-foreground shadow-sm`,g;t[0]!==f||t[1]!==p||t[2]!==m||t[3]!==h?(g=u(`rounded p-1.5 transition-all`,f,p,m,h),t[0]=f,t[1]=p,t[2]=m,t[3]=h,t[4]=g):g=t[4];let _;t[5]!==i||t[6]!==l||t[7]!==c||t[8]!==n||t[9]!==g?(_=(0,X.jsx)(x,{asChild:!0,children:(0,X.jsx)(`button`,{type:`button`,onClick:n,disabled:l,"aria-pressed":c,className:g,children:i})}),t[5]=i,t[6]=l,t[7]=c,t[8]=n,t[9]=g,t[10]=_):_=t[10];let v;t[11]===r?v=t[12]:(v=(0,X.jsx)(S,{children:r}),t[11]=r,t[12]=v);let y;return t[13]!==v||t[14]!==_?(y=(0,X.jsxs)(w,{children:[_,v]}),t[13]=v,t[14]=_,t[15]=y):y=t[15],y}function Ge(e){let t=(0,J.c)(43),{controller:n,urlInputRef:r}=e,{currentUrl:i,inputUrl:a,setInputUrl:o,handleKeyDown:s,goBack:c,goForward:l,refresh:d,toggleSelectMode:x,toggleEditMode:S,openExternal:C,updateDeviceMode:w,selectionModeError:T,isSelectModeEnabled:E,isEditModeActive:D,deviceMode:O}=n,k;t[0]!==i||t[1]!==c?(k=i&&(0,X.jsx)($,{onClick:c,label:`Back`,children:(0,X.jsx)(h,{size:15})}),t[0]=i,t[1]=c,t[2]=k):k=t[2];let A;t[3]!==i||t[4]!==l?(A=i&&(0,X.jsx)($,{onClick:l,label:`Forward`,children:(0,X.jsx)(f,{size:15})}),t[3]=i,t[4]=l,t[5]=A):A=t[5];let j;t[6]===o?j=t[7]:(j=e=>o(e.target.value),t[6]=o,t[7]=j);let M;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(M=u(`flex-1 rounded-full bg-muted font-mono`),t[8]=M):M=t[8];let N;t[9]!==s||t[10]!==a||t[11]!==j||t[12]!==r?(N=(0,X.jsx)(z,{ref:r,type:`text`,value:a,onChange:j,onKeyDown:s,placeholder:`Enter URL...`,className:M,spellCheck:!1}),t[9]=s,t[10]=a,t[11]=j,t[12]=r,t[13]=N):N=t[13];let P;t[14]!==i||t[15]!==d?(P=i&&(0,X.jsx)($,{onClick:d,label:`Refresh page`,children:(0,X.jsx)(g,{size:15})}),t[14]=i,t[15]=d,t[16]=P):P=t[16];let F;t[17]!==i||t[18]!==E||t[19]!==T||t[20]!==x?(F=i&&(0,X.jsx)($,{onClick:x,label:T?`Select element unavailable: ${T}`:E?`Exit element selection`:`Select element from preview`,isActive:E,activeStyle:`depressed`,children:(0,X.jsx)(b,{size:15})}),t[17]=i,t[18]=E,t[19]=T,t[20]=x,t[21]=F):F=t[21];let I;t[22]!==i||t[23]!==D||t[24]!==T||t[25]!==S?(I=i&&(0,X.jsx)($,{onClick:S,label:T?`Edit text unavailable: ${T}`:D?`Exit text editing`:`Edit text from preview`,isActive:D,activeStyle:`depressed`,children:(0,X.jsx)(m,{size:15})}),t[22]=i,t[23]=D,t[24]=T,t[25]=S,t[26]=I):I=t[26];let L;t[27]!==i||t[28]!==O||t[29]!==w?(L=i&&(0,X.jsxs)(`div`,{className:`flex items-center rounded-md bg-muted p-0.5`,children:[(0,X.jsx)($,{onClick:()=>w(`desktop`),label:`Desktop view`,isActive:O===`desktop`,children:(0,X.jsx)(v,{size:15})}),(0,X.jsx)($,{onClick:()=>w(`tablet`),label:`Tablet view`,isActive:O===`tablet`,children:(0,X.jsx)(y,{size:15})}),(0,X.jsx)($,{onClick:()=>w(`mobile`),label:`Mobile view`,isActive:O===`mobile`,children:(0,X.jsx)(p,{size:15})})]}),t[27]=i,t[28]=O,t[29]=w,t[30]=L):L=t[30];let R;t[31]!==i||t[32]!==C?(R=i&&(0,X.jsx)($,{onClick:C,label:`Open in external browser`,children:(0,X.jsx)(_,{size:15})}),t[31]=i,t[32]=C,t[33]=R):R=t[33];let B;return t[34]!==k||t[35]!==R||t[36]!==A||t[37]!==N||t[38]!==P||t[39]!==F||t[40]!==I||t[41]!==L?(B=(0,X.jsx)(`div`,{className:`relative shrink-0 border-b border-border`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,children:[k,A,N,P,F,I,L,R]})}),t[34]=k,t[35]=R,t[36]=A,t[37]=N,t[38]=P,t[39]=F,t[40]=I,t[41]=L,t[42]=B):B=t[42],B}function Ke(e){let t=(0,J.c)(4),{devServerStopped:n,selectedProjectId:r,runCommand:i}=e,o;return t[0]!==n||t[1]!==i||t[2]!==r?(o=(0,X.jsx)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-6 text-muted-foreground`,children:n?(0,X.jsx)(`p`,{className:a.body,children:`Dev server stopped`}):r&&i?(0,X.jsx)(N,{projectId:r,runCommand:i,large:!0}):(0,X.jsx)(`p`,{className:a.body,children:`Enter a URL to browse`})}),t[0]=n,t[1]=i,t[2]=r,t[3]=o):o=t[3],o}function qe(e){let t=(0,J.c)(23),{instanceId:n}=e,r=Be(n),a=Ve[r.deviceMode],{registerPanelFocus:o}=i(),s=(0,q.useRef)(null),c,l;t[0]!==n||t[1]!==o?(c=()=>o(n,()=>s.current?.focus()),l=[n,o],t[0]=n,t[1]=o,t[2]=c,t[3]=l):(c=t[2],l=t[3]),(0,q.useEffect)(c,l);let u;t[4]!==r.currentUrl||t[5]!==r.handleWebviewRef||t[6]!==r.iframeRef||t[7]!==r.nativeWebviewMounted||t[8]!==r.previewRpcPreload||t[9]!==r.useNativeWebview?(u=(0,X.jsx)(He,{useNativeWebview:r.useNativeWebview,nativeWebviewMounted:r.nativeWebviewMounted,currentUrl:r.currentUrl,previewRpcPreload:r.previewRpcPreload,handleWebviewRef:r.handleWebviewRef,iframeRef:r.iframeRef}),t[4]=r.currentUrl,t[5]=r.handleWebviewRef,t[6]=r.iframeRef,t[7]=r.nativeWebviewMounted,t[8]=r.previewRpcPreload,t[9]=r.useNativeWebview,t[10]=u):u=t[10];let d=u;if(!r.isBrowserActive){let e;return t[11]!==r.previewContainerRef||t[12]!==d?(e=(0,X.jsx)(We,{previewContainerRef:r.previewContainerRef,children:d}),t[11]=r.previewContainerRef,t[12]=d,t[13]=e):e=t[13],e}let f;t[14]===r?f=t[15]:(f=(0,X.jsx)(Ge,{controller:r,urlInputRef:s}),t[14]=r,t[15]=f);let p;t[16]!==r||t[17]!==a||t[18]!==d?(p=r.currentUrl?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(re,{onCommit:()=>r.runPreviewTextEdit(`commit`),onCancelPreview:()=>r.runPreviewTextEdit(`cancel`)}),(0,X.jsx)(Ue,{selectionModeError:r.selectionModeError,isSelectModeEnabled:r.isSurfaceSelectInteraction,deviceMode:r.deviceMode,currentDeviceConfig:a,previewContainerRef:r.previewContainerRef,children:d})]}):(0,X.jsx)(Ke,{devServerStopped:r.devServerStopped,selectedProjectId:r.selectedProjectId,runCommand:r.runCommand}),t[16]=r,t[17]=a,t[18]=d,t[19]=p):p=t[19];let m;return t[20]!==f||t[21]!==p?(m=(0,X.jsx)(C,{children:(0,X.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,children:[f,p]})}),t[20]=f,t[21]=p,t[22]=m):m=t[22],m}export{qe as BrowserTab};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{N as i,k as a,q as o}from"./dist-CTLFS4dn.js";import{$ as s,K as c,et as l,i as u,n as d,r as f}from"./store-BSzKIu5G.js";import{Et as p,Sn as m,Vt as h,Zt as g}from"./api-DX1ny6q-.js";var _=e(n(),1),v=r(),y=_.createContext(void 0),b=e=>{let t=_.useContext(y);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},x=({client:e,children:t})=>(_.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,v.jsx)(y.Provider,{value:e,children:t})),S=t(),C={onboarding:{status:()=>[`onboarding`,`status`]},app:{update:()=>[`app`,`update`]},models:{enabled:e=>[`models`,`enabled`,e],enabledImage:e=>[`models`,`enabled-image`,e]},userTasks:e=>[`user-tasks`,e],threads:{files:e=>[`threads`,`files`,e]},conversations:{recent:()=>[`conversations`,`recent`],unread:e=>[`conversations`,`unread`,e??null],unreadAll:()=>[`conversations`,`unread`]}};function w({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n,threadIds:r,threadMultiPaneStates:i}){let a={};for(let e of r){let t=i[e];!t||Object.keys(t.extraChatPanes).length===0||(a[e]={focusedPaneId:t.focusedPane,panes:Object.entries(t.extraChatPanes).map(([e,t])=>({paneId:e,conversationId:t.conversationId}))})}return{version:1,nonChatWindows:e,layout:t===null?`grid`:`expanded`,expandedWindowId:t,selectedWindowId:n,chatPanesByThread:a}}function T(e,t){let n=new Set(t?e.chatPanesByThread[t]?.panes.map(e=>e.paneId)??[]:[]),r=new Set(e.nonChatWindows.map(e=>e.id)),i=n.size>0||r.size>0;function a(e){return e===`primary`||e!==null&&(n.has(e)||r.has(e))}let s=a(e.selectedWindowId)?e.selectedWindowId:o,c=null;return e.layout===`expanded`&&i&&(c=a(e.expandedWindowId)?e.expandedWindowId:o),{nonChatWindows:e.nonChatWindows,expandedWindowId:c,selectedWindowId:s}}var E=i(`app.window-state`);function D(e,t,n){return JSON.stringify({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n})}function ee({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n,onReset:r,onHydrate:i}){let a=d(),o=f(e=>e.selectedProjectId),c=f(e=>e.projects),l=f(e=>e.threadMultiPaneStates),u=c.find(e=>e.projectId===o),h=(u?.threads.map(e=>e.threadId)??[]).join(`\0`),g=u!==void 0,[v,y]=(0,_.useState)(null),b=(0,_.useRef)(null),x=(0,_.useRef)(Promise.resolve()),S=(0,_.useRef)(null),C=(0,_.useRef)(0),T=(0,_.useRef)(D(e,t,n));T.current=D(e,t,n),(0,_.useEffect)(()=>{let e=S.current!==o;if(S.current=o,!o||!g){r(),y(null),b.current=null;return}e&&(r(),y(null),b.current=null);let t=o,n=h?h.split(`\0`):[],c=T.current,l=++C.current,u=!1;async function d(){try{let e=await p(t);if(u||l!==C.current)return;if(a({type:s.HydrateProjectChatPanes,threadIds:n,chatPanesByThread:e.chatPanesByThread}),T.current!==c){y(t);return}b.current=JSON.stringify(e),i(e),y(t)}catch(e){u||E.error(`Failed to restore project window state`,e)}}return d(),()=>{u=!0}},[a,g,i,r,h,o]),(0,_.useEffect)(()=>{if(!o||o!==v||!g)return;let r=w({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n,threadIds:h?h.split(`\0`):[],threadMultiPaneStates:l}),i=JSON.stringify(r);if(i===b.current)return;let a=o;b.current=i,x.current=x.current.catch(()=>void 0).then(()=>m(a,r)).catch(e=>{E.error(`Failed to save project window state`,e),b.current===i&&(b.current=null)})},[t,g,v,e,o,n,h,l])}var te=(0,_.createContext)(null);function ne(e){let t=(0,S.c)(19),{windows:n,extraChatPanes:r,primaryChatOpen:i,expandedWindowId:a,selectedWindowId:s,setExpandedWindowId:c,setSelectedWindowId:l}=e,u,d;t[0]!==a||t[1]!==r||t[2]!==i||t[3]!==c||t[4]!==n?(u=()=>{if(a){if(a===`primary`){if(i)return;c(n.length>0?n[0].id:null);return}!n.some(e=>e.id===a)&&!r[a]&&c(i?o:n[0]?.id??null)}},d=[a,r,i,n,c],t[0]=a,t[1]=r,t[2]=i,t[3]=c,t[4]=n,t[5]=u,t[6]=d):(u=t[5],d=t[6]),(0,_.useEffect)(u,d);let f,p;t[7]!==r||t[8]!==i||t[9]!==s||t[10]!==l||t[11]!==n?(f=()=>{if(s===`primary`){if(i||n.length===0)return;l(n[0].id);return}!n.some(e=>e.id===s)&&!r[s]&&l(i?o:n[0]?.id??`primary`)},p=[r,i,s,n,l],t[7]=r,t[8]=i,t[9]=s,t[10]=l,t[11]=n,t[12]=f,t[13]=p):(f=t[12],p=t[13]),(0,_.useEffect)(f,p);let m,h;t[14]!==a||t[15]!==c||t[16]!==n.length?(m=()=>{n.length===0&&a!==null&&c(null)},h=[a,n.length,c],t[14]=a,t[15]=c,t[16]=n.length,t[17]=m,t[18]=h):(m=t[17],h=t[18]),(0,_.useEffect)(m,h)}function re(e,t,n,r){t.panelId===`chat`?n({type:s.RemoveChatPane,paneId:e}):r(t=>t.filter(t=>t.id!==e))}var ie=i(`chat.dock`);function O(e,t,n,r){return e.processingRuns.some(e=>e.threadId===t&&e.conversationId===r)||c(e.threadStreamingStates,t,n).isStreaming||n===l&&e.pendingChatMessage?.threadId===t?!0:e.queuedChatMessages.some(e=>e.threadId===t&&e.paneId===n)}function k(e,t,n){g(e,t).catch(n=>{ie.error(`Failed to mark conversation read on chat window close`,{error:n,threadId:e,conversationId:t})}).finally(()=>{n.invalidateQueries({queryKey:C.conversations.unreadAll()})})}async function ae(e,t,n){let r=t.selectedThreadId;if(!r)return;let i=e===l?t.primaryConversationId:t.extraChatPanes[e]?.conversationId;if(!i&&e===l)try{i=(await h(r)).currentConversationId??void 0}catch(e){ie.error(`Failed to resolve current conversation on chat window close`,{error:e,threadId:r});return}!i||O(t,r,e,i)||k(r,i,n)}function oe(e,t,n,r){if(n.length===1)return null;if(e!==t)return e;let i=n.filter(e=>e.id!==t);return r?o:i[0]?.id??null}function se(e,t,n,r){if(e!==t)return e;let i=n.filter(e=>e.id!==t);return r?o:i[0]?.id??`primary`}function ce(e,t,n){return t.length===0?null:e===`primary`?n:e}function le(e,t){return e===`primary`&&t?t:e}function A(e){let t=(0,S.c)(72),{children:n}=e,r=d(),i=u(),c=b(),p=f(pe),m=f(fe),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],t[0]=h):h=t[0];let[g,y]=(0,_.useState)(h),[x,C]=(0,_.useState)(!0),[w,E]=(0,_.useState)(null),[D,ie]=(0,_.useState)(`half`),[O,k]=(0,_.useState)(o),[A,j]=(0,_.useState)(null),M;t[1]===m?M=t[2]:(M=Object.keys(m).map(de),t[1]=m,t[2]=M);let me=M,N;t[3]!==me||t[4]!==g?(N=[...me,...g],t[3]=me,t[4]=g,t[5]=N):N=t[5];let P=N,F;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(F=new Map,t[6]=F):F=t[6];let he=(0,_.useRef)(F),I=(0,_.useRef)(null),L;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(L=(e,t)=>(he.current.set(e,t),()=>{he.current.delete(e)}),t[7]=L):L=t[7];let ge=L,R;t[8]!==r||t[9]!==P?(R=e=>{if(e===`primary`){r({type:s.SetFocusedPane,paneId:`primary`}),r({type:s.FocusChatInput});return}if(P.find(t=>t.id===e)?.panelId===`chat`){r({type:s.SetFocusedPane,paneId:e}),r({type:s.FocusChatInput});return}he.current.get(e)?.()},t[8]=r,t[9]=P,t[10]=R):R=t[10];let z=R,B,V;t[11]!==w||t[12]!==z||t[13]!==O?(B=()=>{let e=w??O;if(e===null)return;let t=I.current;I.current=e,!(t===null||t===e)&&z(e)},V=[w,O,z],t[11]=w,t[12]=z,t[13]=O,t[14]=B,t[15]=V):(B=t[14],V=t[15]),(0,_.useEffect)(B,V);let H;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(H=()=>{I.current=o,y([]),C(!0),E(null),k(o),j(null)},t[16]=H):H=t[16];let _e=H,U;t[17]===i?U=t[18]:(U=e=>{let t=T(e,i.getState().selectedThreadId);I.current=t.expandedWindowId??t.selectedWindowId,y(t.nonChatWindows),E(t.expandedWindowId),k(t.selectedWindowId),j(null)},t[17]=i,t[18]=U);let ve=U,W;t[19]!==w||t[20]!==ve||t[21]!==g||t[22]!==O?(W={nonChatWindows:g,expandedWindowId:w,selectedWindowId:O,onReset:_e,onHydrate:ve},t[19]=w,t[20]=ve,t[21]=g,t[22]=O,t[23]=W):W=t[23],ee(W);let G;t[24]!==w||t[25]!==m||t[26]!==x||t[27]!==O||t[28]!==P?(G={windows:P,extraChatPanes:m,primaryChatOpen:x,expandedWindowId:w,selectedWindowId:O,setExpandedWindowId:E,setSelectedWindowId:k},t[24]=w,t[25]=m,t[26]=x,t[27]=O,t[28]=P,t[29]=G):G=t[29],ne(G);let K;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(K=e=>{k(e)},t[30]=K):K=t[30];let ye=K,q;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(q=e=>{e===`primary`&&C(!0),k(e),E(e)},t[31]=q):q=t[31];let be=q,J;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(J=()=>{E(null)},t[32]=J):J=t[32];let xe=J,Y;t[33]!==x||t[34]!==P.length?(Y=e=>{e===`primary`&&C(!0),E(t=>t===null&&P.length>0||t===null&&x&&e!==`primary`?null:e),j(e)},t[33]=x,t[34]=P.length,t[35]=Y):Y=t[35];let X=Y,Z;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(Z=()=>{j(null)},t[36]=Z):Z=t[36];let Se=Z,Ce;t[37]!==r||t[38]!==X||t[39]!==p?(Ce=e=>{let t=a();return e===`chat`?p?(r({type:s.AddChatPane,paneId:t,conversationId:a()}),X(t),t):t:(y(n=>[...n,{id:t,panelId:e}]),X(t),t)},t[37]=r,t[38]=X,t[39]=p,t[40]=Ce):Ce=t[40];let we=Ce,Q;t[41]!==r||t[42]!==x||t[43]!==c||t[44]!==i||t[45]!==P?(Q=e=>{if(e===`primary`){ae(l,i.getState(),c),C(!1);let e=P[0]?.id??null;E(t=>ce(t,P,e)),k(t=>le(t,e));return}let t=P.find(t=>t.id===e);t&&(t.panelId===`chat`&&ae(e,i.getState(),c),re(e,t,r,y),E(t=>oe(t,e,P,x)),k(t=>se(t,e,P,x)))},t[41]=r,t[42]=x,t[43]=c,t[44]=i,t[45]=P,t[46]=Q):Q=t[46];let Te=Q,Ee;t[47]!==r||t[48]!==c||t[49]!==i||t[50]!==P?(Ee=()=>{E(null),k(o),C(!0);let e=i.getState();for(let t of P)t.panelId===`chat`&&(ae(t.id,e,c),r({type:s.RemoveChatPane,paneId:t.id}));y([])},t[47]=r,t[48]=c,t[49]=i,t[50]=P,t[51]=Ee):Ee=t[51];let De=Ee,Oe;t[52]!==x||t[53]!==P?(Oe=e=>e===`chat`?x||P.some(ue):P.some(t=>t.panelId===e),t[52]=x,t[53]=P,t[54]=Oe):Oe=t[54];let ke=Oe,Ae=P.length>0,je=w!==null,Me;t[55]!==we||t[56]!==De||t[57]!==Te||t[58]!==D||t[59]!==w||t[60]!==Ae||t[61]!==je||t[62]!==ke||t[63]!==A||t[64]!==x||t[65]!==X||t[66]!==O||t[67]!==P?(Me={windows:P,addWindow:we,closeWindow:Te,closeAllWindows:De,isPrimaryChatOpen:x,isPanelOpen:ke,hasOpenWindows:Ae,isLayoutExpanded:je,expandedWindowId:w,expandWindow:be,collapseLayout:xe,columnWidth:D,setColumnWidth:ie,selectedWindowId:O,selectWindow:ye,revealWindow:X,pendingScrollWindowId:A,clearPendingScrollWindow:Se,registerPanelFocus:ge},t[55]=we,t[56]=De,t[57]=Te,t[58]=D,t[59]=w,t[60]=Ae,t[61]=je,t[62]=ke,t[63]=A,t[64]=x,t[65]=X,t[66]=O,t[67]=P,t[68]=Me):Me=t[68];let Ne=Me,$;return t[69]!==n||t[70]!==Ne?($=(0,v.jsx)(te.Provider,{value:Ne,children:n}),t[69]=n,t[70]=Ne,t[71]=$):$=t[71],$}function ue(e){return e.panelId===`chat`}function de(e){return{id:e,panelId:`chat`}}function fe(e){return e.extraChatPanes}function pe(e){return e.selectedThreadId}function j(){let e=(0,_.useContext)(te);if(!e)throw Error(`useChatDock must be used within a ChatDockProvider`);return e}export{b as a,x as i,j as n,C as r,A as t};
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{t as n}from"./button-kWtLAMpB.js";import{I as r}from"./dist-c_QADQ5u.js";import{i,n as a,r as o,t as s}from"./tooltip-Db8UeYxm.js";import{Jn as c,Vn as l,_r as u,dr as d,gr as f,hr as p,mr as m,pr as h,vr as g}from"./index-u8UbWjXL.js";var _=e(),v=t();function y(e){let t=(0,_.c)(41),{open:y,onOpenChange:b,commitMessage:x,onCommitMessageChange:S,isGeneratingMessage:C,isLoading:w,onGenerateMessage:T,onCommit:E,currentBranch:D}=e,O;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,v.jsx)(g,{children:`Commit Changes`}),t[0]=O):O=t[0];let k;t[1]===D?k=t[2]:(k=(0,v.jsxs)(u,{children:[O,(0,v.jsxs)(p,{children:[`Enter a commit message for your changes on branch `,D]})]}),t[1]=D,t[2]=k);let A;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,v.jsx)(d,{htmlFor:`commit-message`,children:`Commit Message`}),t[3]=A):A=t[3];let j;t[4]===S?j=t[5]:(j=e=>S(e.target.value),t[4]=S,t[5]=j);let M;t[6]!==x||t[7]!==C||t[8]!==j?(M=(0,v.jsx)(c,{id:`commit-message`,placeholder:`Enter commit message...`,value:x,onChange:j,disabled:C,className:`pr-10 h-full min-h-[14rem] resize-none`}),t[6]=x,t[7]=C,t[8]=j,t[9]=M):M=t[9];let N=C||w,P;t[10]===C?P=t[11]:(P=C?(0,v.jsx)(l,{}):(0,v.jsx)(r,{className:`h-3.5 w-3.5`}),t[10]=C,t[11]=P);let F;t[12]!==T||t[13]!==N||t[14]!==P?(F=(0,v.jsx)(i,{asChild:!0,children:(0,v.jsx)(n,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:T,disabled:N,children:P})}),t[12]=T,t[13]=N,t[14]=P,t[15]=F):F=t[15];let I=C?`Generating commit message...`:`Generate commit message with AI`,L;t[16]===I?L=t[17]:(L=(0,v.jsx)(a,{children:I}),t[16]=I,t[17]=L);let R;t[18]!==L||t[19]!==F?(R=(0,v.jsx)(o,{children:(0,v.jsxs)(s,{children:[F,L]})}),t[18]=L,t[19]=F,t[20]=R):R=t[20];let z;t[21]!==R||t[22]!==M?(z=(0,v.jsx)(`div`,{className:`grid gap-4 py-4 flex-1 min-h-0`,children:(0,v.jsxs)(`div`,{className:`grid gap-2 flex-1 min-h-0`,children:[A,(0,v.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[M,R]})]})}),t[21]=R,t[22]=M,t[23]=z):z=t[23];let B;t[24]!==x||t[25]!==w?(B=w||!x.trim(),t[24]=x,t[25]=w,t[26]=B):B=t[26];let V;t[27]===w?V=t[28]:(V=w?(0,v.jsxs)(v.Fragment,{children:[`Commit`,(0,v.jsx)(l,{size:`sm`})]}):`Commit`,t[27]=w,t[28]=V);let H;t[29]!==E||t[30]!==B||t[31]!==V?(H=(0,v.jsx)(f,{className:`w-full items-center`,children:(0,v.jsx)(n,{className:`ml-auto`,onClick:E,disabled:B,children:V})}),t[29]=E,t[30]=B,t[31]=V,t[32]=H):H=t[32];let U;t[33]!==z||t[34]!==H||t[35]!==k?(U=(0,v.jsxs)(m,{className:`flex max-w-2xl flex-col max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 max-md:overflow-y-auto max-md:data-[state=closed]:slide-out-to-top max-md:data-[state=open]:slide-in-from-top max-md:data-[state=closed]:slide-out-to-left-0 max-md:data-[state=open]:slide-in-from-left-0 max-md:data-[state=closed]:zoom-out-100 max-md:data-[state=open]:zoom-in-100 md:h-[min(36rem,85dvh)]`,children:[k,z,H]}),t[33]=z,t[34]=H,t[35]=k,t[36]=U):U=t[36];let W;return t[37]!==b||t[38]!==y||t[39]!==U?(W=(0,v.jsx)(h,{open:y,onOpenChange:b,children:U}),t[37]=b,t[38]=y,t[39]=U,t[40]=W):W=t[40],W}export{y as CommitDialog};
1
+ import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{t as n}from"./button-kWtLAMpB.js";import{I as r}from"./dist-c_QADQ5u.js";import{i,n as a,r as o,t as s}from"./tooltip-Db8UeYxm.js";import{Jn as c,Vn as l,_r as u,dr as d,gr as f,hr as p,mr as m,pr as h,vr as g}from"./index-B3-5kIOf.js";var _=e(),v=t();function y(e){let t=(0,_.c)(41),{open:y,onOpenChange:b,commitMessage:x,onCommitMessageChange:S,isGeneratingMessage:C,isLoading:w,onGenerateMessage:T,onCommit:E,currentBranch:D}=e,O;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,v.jsx)(g,{children:`Commit Changes`}),t[0]=O):O=t[0];let k;t[1]===D?k=t[2]:(k=(0,v.jsxs)(u,{children:[O,(0,v.jsxs)(p,{children:[`Enter a commit message for your changes on branch `,D]})]}),t[1]=D,t[2]=k);let A;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,v.jsx)(d,{htmlFor:`commit-message`,children:`Commit Message`}),t[3]=A):A=t[3];let j;t[4]===S?j=t[5]:(j=e=>S(e.target.value),t[4]=S,t[5]=j);let M;t[6]!==x||t[7]!==C||t[8]!==j?(M=(0,v.jsx)(c,{id:`commit-message`,placeholder:`Enter commit message...`,value:x,onChange:j,disabled:C,className:`pr-10 h-full min-h-[14rem] resize-none`}),t[6]=x,t[7]=C,t[8]=j,t[9]=M):M=t[9];let N=C||w,P;t[10]===C?P=t[11]:(P=C?(0,v.jsx)(l,{}):(0,v.jsx)(r,{className:`h-3.5 w-3.5`}),t[10]=C,t[11]=P);let F;t[12]!==T||t[13]!==N||t[14]!==P?(F=(0,v.jsx)(i,{asChild:!0,children:(0,v.jsx)(n,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:T,disabled:N,children:P})}),t[12]=T,t[13]=N,t[14]=P,t[15]=F):F=t[15];let I=C?`Generating commit message...`:`Generate commit message with AI`,L;t[16]===I?L=t[17]:(L=(0,v.jsx)(a,{children:I}),t[16]=I,t[17]=L);let R;t[18]!==L||t[19]!==F?(R=(0,v.jsx)(o,{children:(0,v.jsxs)(s,{children:[F,L]})}),t[18]=L,t[19]=F,t[20]=R):R=t[20];let z;t[21]!==R||t[22]!==M?(z=(0,v.jsx)(`div`,{className:`grid gap-4 py-4 flex-1 min-h-0`,children:(0,v.jsxs)(`div`,{className:`grid gap-2 flex-1 min-h-0`,children:[A,(0,v.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[M,R]})]})}),t[21]=R,t[22]=M,t[23]=z):z=t[23];let B;t[24]!==x||t[25]!==w?(B=w||!x.trim(),t[24]=x,t[25]=w,t[26]=B):B=t[26];let V;t[27]===w?V=t[28]:(V=w?(0,v.jsxs)(v.Fragment,{children:[`Commit`,(0,v.jsx)(l,{size:`sm`})]}):`Commit`,t[27]=w,t[28]=V);let H;t[29]!==E||t[30]!==B||t[31]!==V?(H=(0,v.jsx)(f,{className:`w-full items-center`,children:(0,v.jsx)(n,{className:`ml-auto`,onClick:E,disabled:B,children:V})}),t[29]=E,t[30]=B,t[31]=V,t[32]=H):H=t[32];let U;t[33]!==z||t[34]!==H||t[35]!==k?(U=(0,v.jsxs)(m,{className:`flex max-w-2xl flex-col max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 max-md:overflow-y-auto max-md:data-[state=closed]:slide-out-to-top max-md:data-[state=open]:slide-in-from-top max-md:data-[state=closed]:slide-out-to-left-0 max-md:data-[state=open]:slide-in-from-left-0 max-md:data-[state=closed]:zoom-out-100 max-md:data-[state=open]:zoom-in-100 md:h-[min(36rem,85dvh)]`,children:[k,z,H]}),t[33]=z,t[34]=H,t[35]=k,t[36]=U):U=t[36];let W;return t[37]!==b||t[38]!==y||t[39]!==U?(W=(0,v.jsx)(h,{open:y,onOpenChange:b,children:U}),t[37]=b,t[38]=y,t[39]=U,t[40]=W):W=t[40],W}export{y as CommitDialog};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{Dt as i}from"./dist-CTLFS4dn.js";import{r as a,t as o}from"./button-kWtLAMpB.js";import{Pn as s,bn as c,xt as l}from"./dist-c_QADQ5u.js";import{r as u}from"./scroll-area-lkVMElz5.js";import{_r as d,gr as f,hr as p,mr as m,pr as h,vr as g}from"./index-u8UbWjXL.js";var _=t(),v=e(n(),1),y=r(),b=1500;function x(e){let t=(0,_.c)(41),{error:n,onDismiss:r,onFixInChat:x}=e,[S,C]=(0,v.useState)(!1),w=(0,v.useRef)(null),T,E;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>()=>{w.current!==null&&(clearTimeout(w.current),w.current=null)},E=[],t[0]=T,t[1]=E):(T=t[0],E=t[1]),(0,v.useEffect)(T,E);let D;t[2]===r?D=t[3]:(D=function(e){e||r()},t[2]=r,t[3]=D);let O=D,k;t[4]===n.message?k=t[5]:(k=async function(){try{await navigator.clipboard.writeText(n.message)}catch{}C(!0),w.current!==null&&clearTimeout(w.current),w.current=setTimeout(()=>{C(!1),w.current=null},b)},t[4]=n.message,t[5]=k);let A=k,j;t[6]!==n||t[7]!==x?(j=function(){x(n)},t[6]=n,t[7]=x,t[8]=j):j=t[8];let M=j,N;t[9]===n.title?N=t[10]:(N=(0,y.jsx)(g,{children:n.title}),t[9]=n.title,t[10]=N);let P;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,y.jsx)(p,{children:`Git returned an error, so the commit was not created. Fix the issue below, then try again.`}),t[11]=P):P=t[11];let F;t[12]===N?F=t[13]:(F=(0,y.jsxs)(d,{children:[N,P]}),t[12]=N,t[13]=F);let I;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(I=a(i.compact,`whitespace-pre-wrap break-words p-3 font-mono text-foreground`),t[14]=I):I=t[14];let L;t[15]===n.message?L=t[16]:(L=(0,y.jsx)(u,{className:`max-h-56 rounded-md border bg-muted/40`,children:(0,y.jsx)(`pre`,{className:I,children:n.message})}),t[15]=n.message,t[16]=L);let R;t[17]===r?R=t[18]:(R=(0,y.jsx)(o,{variant:`outline`,onClick:r,children:`Close`}),t[17]=r,t[18]=R);let z;t[19]===A?z=t[20]:(z=()=>void A(),t[19]=A,t[20]=z);let B;t[21]===S?B=t[22]:(B=S?(0,y.jsx)(s,{className:`h-4 w-4`}):(0,y.jsx)(c,{className:`h-4 w-4`}),t[21]=S,t[22]=B);let V=S?`Copied`:`Copy`,H;t[23]!==z||t[24]!==B||t[25]!==V?(H=(0,y.jsxs)(o,{variant:`outline`,onClick:z,children:[B,V]}),t[23]=z,t[24]=B,t[25]=V,t[26]=H):H=t[26];let U;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,y.jsx)(l,{className:`h-4 w-4`}),t[27]=U):U=t[27];let W;t[28]===M?W=t[29]:(W=(0,y.jsxs)(o,{onClick:M,children:[U,`Fix in Chat`]}),t[28]=M,t[29]=W);let G;t[30]!==R||t[31]!==H||t[32]!==W?(G=(0,y.jsxs)(f,{className:`gap-2`,children:[R,H,W]}),t[30]=R,t[31]=H,t[32]=W,t[33]=G):G=t[33];let K;t[34]!==G||t[35]!==F||t[36]!==L?(K=(0,y.jsxs)(m,{className:`max-w-xl`,children:[F,L,G]}),t[34]=G,t[35]=F,t[36]=L,t[37]=K):K=t[37];let q;return t[38]!==O||t[39]!==K?(q=(0,y.jsx)(h,{open:!0,onOpenChange:O,children:K}),t[38]=O,t[39]=K,t[40]=q):q=t[40],q}export{x as CommitErrorDialog};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{Dt as i}from"./dist-CTLFS4dn.js";import{r as a,t as o}from"./button-kWtLAMpB.js";import{Pn as s,bn as c,xt as l}from"./dist-c_QADQ5u.js";import{r as u}from"./scroll-area-lkVMElz5.js";import{_r as d,gr as f,hr as p,mr as m,pr as h,vr as g}from"./index-B3-5kIOf.js";var _=t(),v=e(n(),1),y=r(),b=1500;function x(e){let t=(0,_.c)(41),{error:n,onDismiss:r,onFixInChat:x}=e,[S,C]=(0,v.useState)(!1),w=(0,v.useRef)(null),T,E;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>()=>{w.current!==null&&(clearTimeout(w.current),w.current=null)},E=[],t[0]=T,t[1]=E):(T=t[0],E=t[1]),(0,v.useEffect)(T,E);let D;t[2]===r?D=t[3]:(D=function(e){e||r()},t[2]=r,t[3]=D);let O=D,k;t[4]===n.message?k=t[5]:(k=async function(){try{await navigator.clipboard.writeText(n.message)}catch{}C(!0),w.current!==null&&clearTimeout(w.current),w.current=setTimeout(()=>{C(!1),w.current=null},b)},t[4]=n.message,t[5]=k);let A=k,j;t[6]!==n||t[7]!==x?(j=function(){x(n)},t[6]=n,t[7]=x,t[8]=j):j=t[8];let M=j,N;t[9]===n.title?N=t[10]:(N=(0,y.jsx)(g,{children:n.title}),t[9]=n.title,t[10]=N);let P;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,y.jsx)(p,{children:`Git returned an error, so the commit was not created. Fix the issue below, then try again.`}),t[11]=P):P=t[11];let F;t[12]===N?F=t[13]:(F=(0,y.jsxs)(d,{children:[N,P]}),t[12]=N,t[13]=F);let I;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(I=a(i.compact,`whitespace-pre-wrap break-words p-3 font-mono text-foreground`),t[14]=I):I=t[14];let L;t[15]===n.message?L=t[16]:(L=(0,y.jsx)(u,{className:`max-h-56 rounded-md border bg-muted/40`,children:(0,y.jsx)(`pre`,{className:I,children:n.message})}),t[15]=n.message,t[16]=L);let R;t[17]===r?R=t[18]:(R=(0,y.jsx)(o,{variant:`outline`,onClick:r,children:`Close`}),t[17]=r,t[18]=R);let z;t[19]===A?z=t[20]:(z=()=>void A(),t[19]=A,t[20]=z);let B;t[21]===S?B=t[22]:(B=S?(0,y.jsx)(s,{className:`h-4 w-4`}):(0,y.jsx)(c,{className:`h-4 w-4`}),t[21]=S,t[22]=B);let V=S?`Copied`:`Copy`,H;t[23]!==z||t[24]!==B||t[25]!==V?(H=(0,y.jsxs)(o,{variant:`outline`,onClick:z,children:[B,V]}),t[23]=z,t[24]=B,t[25]=V,t[26]=H):H=t[26];let U;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,y.jsx)(l,{className:`h-4 w-4`}),t[27]=U):U=t[27];let W;t[28]===M?W=t[29]:(W=(0,y.jsxs)(o,{onClick:M,children:[U,`Fix in Chat`]}),t[28]=M,t[29]=W);let G;t[30]!==R||t[31]!==H||t[32]!==W?(G=(0,y.jsxs)(f,{className:`gap-2`,children:[R,H,W]}),t[30]=R,t[31]=H,t[32]=W,t[33]=G):G=t[33];let K;t[34]!==G||t[35]!==F||t[36]!==L?(K=(0,y.jsxs)(m,{className:`max-w-xl`,children:[F,L,G]}),t[34]=G,t[35]=F,t[36]=L,t[37]=K):K=t[37];let q;return t[38]!==O||t[39]!==K?(q=(0,y.jsx)(h,{open:!0,onOpenChange:O,children:K}),t[38]=O,t[39]=K,t[40]=q):q=t[40],q}export{x as CommitErrorDialog};
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Dt as n,Jt as r}from"./dist-CTLFS4dn.js";import{r as i}from"./button-kWtLAMpB.js";import{dr as a}from"./index-u8UbWjXL.js";import{n as o,t as s}from"./toggle-group-Q36wRGKA.js";var c=e(),l=t(),u=`inline-flex h-auto w-fit justify-start rounded-full border-0 bg-background p-1 text-muted-foreground`,d=`h-auto min-h-0 min-w-0 rounded-full border-0 bg-background px-4 py-1.5 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm hover:bg-background hover:text-muted-foreground data-[state=on]:hover:bg-foreground data-[state=on]:hover:text-background`;function f(e){let t=(0,c.c)(11),{commitMethod:a,onCommitMethodChange:f,disabled:p,className:m}=e,h=p===void 0?!1:p,g;t[0]===f?g=t[1]:(g=e=>{(e===r.PullRequest||e===r.Direct)&&f(e)},t[0]=f,t[1]=g);let _;t[2]===m?_=t[3]:(_=i(u,m),t[2]=m,t[3]=_);let v;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,l.jsx)(o,{value:r.PullRequest,"aria-label":`Pull Requests`,className:i(n.body,d),children:`Pull Requests`}),t[4]=v):v=t[4];let y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,l.jsx)(o,{value:r.Direct,"aria-label":`Direct Commits`,className:i(n.body,d),children:`Direct Commits`}),t[5]=y):y=t[5];let b;return t[6]!==a||t[7]!==h||t[8]!==g||t[9]!==_?(b=(0,l.jsxs)(s,{type:`single`,value:a,disabled:h,onValueChange:g,"aria-label":`Commit method`,className:_,children:[v,y]}),t[6]=a,t[7]=h,t[8]=g,t[9]=_,t[10]=b):b=t[10],b}function p(e){let t=(0,c.c)(9),{commitMethod:i,onCommitMethodChange:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,l.jsx)(a,{children:`Commit method`}),t[0]=s):s=t[0];let u;t[1]!==i||t[2]!==o?(u=(0,l.jsx)(f,{commitMethod:i,onCommitMethodChange:o}),t[1]=i,t[2]=o,t[3]=u):u=t[3];let d=i===r.PullRequest?`Creates a feature branch and allows you to create pull requests.`:`Commits directly to the main branch without creating feature branches.`,p;t[4]===d?p=t[5]:(p=(0,l.jsx)(`p`,{className:n.bodyMuted,children:d}),t[4]=d,t[5]=p);let m;return t[6]!==u||t[7]!==p?(m=(0,l.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[s,u,p]}),t[6]=u,t[7]=p,t[8]=m):m=t[8],m}export{f as i,d as n,p as r,u as t};
1
+ import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Dt as n,Jt as r}from"./dist-CTLFS4dn.js";import{r as i}from"./button-kWtLAMpB.js";import{dr as a}from"./index-B3-5kIOf.js";import{n as o,t as s}from"./toggle-group-Q36wRGKA.js";var c=e(),l=t(),u=`inline-flex h-auto w-fit justify-start rounded-full border-0 bg-background p-1 text-muted-foreground`,d=`h-auto min-h-0 min-w-0 rounded-full border-0 bg-background px-4 py-1.5 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm hover:bg-background hover:text-muted-foreground data-[state=on]:hover:bg-foreground data-[state=on]:hover:text-background`;function f(e){let t=(0,c.c)(11),{commitMethod:a,onCommitMethodChange:f,disabled:p,className:m}=e,h=p===void 0?!1:p,g;t[0]===f?g=t[1]:(g=e=>{(e===r.PullRequest||e===r.Direct)&&f(e)},t[0]=f,t[1]=g);let _;t[2]===m?_=t[3]:(_=i(u,m),t[2]=m,t[3]=_);let v;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,l.jsx)(o,{value:r.PullRequest,"aria-label":`Pull Requests`,className:i(n.body,d),children:`Pull Requests`}),t[4]=v):v=t[4];let y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,l.jsx)(o,{value:r.Direct,"aria-label":`Direct Commits`,className:i(n.body,d),children:`Direct Commits`}),t[5]=y):y=t[5];let b;return t[6]!==a||t[7]!==h||t[8]!==g||t[9]!==_?(b=(0,l.jsxs)(s,{type:`single`,value:a,disabled:h,onValueChange:g,"aria-label":`Commit method`,className:_,children:[v,y]}),t[6]=a,t[7]=h,t[8]=g,t[9]=_,t[10]=b):b=t[10],b}function p(e){let t=(0,c.c)(9),{commitMethod:i,onCommitMethodChange:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,l.jsx)(a,{children:`Commit method`}),t[0]=s):s=t[0];let u;t[1]!==i||t[2]!==o?(u=(0,l.jsx)(f,{commitMethod:i,onCommitMethodChange:o}),t[1]=i,t[2]=o,t[3]=u):u=t[3];let d=i===r.PullRequest?`Creates a feature branch and allows you to create pull requests.`:`Commits directly to the main branch without creating feature branches.`,p;t[4]===d?p=t[5]:(p=(0,l.jsx)(`p`,{className:n.bodyMuted,children:d}),t[4]=d,t[5]=p);let m;return t[6]!==u||t[7]!==p?(m=(0,l.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[s,u,p]}),t[6]=u,t[7]=p,t[8]=m):m=t[8],m}export{f as i,d as n,p as r,u as t};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{l as i,s as a}from"./chat-dock-context-BJNNRoZC.js";import{Dt as o,N as s}from"./dist-CTLFS4dn.js";import{o as c,r as l,t as u}from"./button-kWtLAMpB.js";import{D as d,bt as ee,mn as te}from"./dist-c_QADQ5u.js";import{Mt as f,Wn as p,ei as m,fi as h,ji as g,l as ne}from"./api-DX1ny6q-.js";import{n as re}from"./use-toast-xpb5jNtN.js";import{n as _}from"./async-loading-fallback-V0EaQ_Kn.js";import{Et as ie,In as ae,ar as oe,ir as v,jn as y,nr as b,or as x,rr as S,tr as C,ur as w,vt as T,yr as E}from"./index-u8UbWjXL.js";import{t as se}from"./delete-confirm-dialog-Dl76vaxb.js";import{i as D,r as O}from"./table-A3cgauiZ.js";var k=t(),A=e(n(),1),j=s(`app.use-restore-chat-to-chats`);function M(){let e=i();return(0,A.useCallback)(async function(t,n){try{await p(t,n)}catch(e){j.error(`Failed to restore chat to the Chats group`,{error:e,threadId:t,conversationId:n})}finally{e.invalidateQueries({queryKey:a.conversations.unreadAll()})}},[e])}var N=25;function P(){let e=(0,k.c)(12),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:a.conversations.recent(),queryFn:F,initialPageParam:0,getNextPageParam(e){let t=e.offset+e.conversations.length;return t<e.total?t:void 0}},e[0]=t):t=e[0];let n=E(t),r;e[1]===n.data?.pages?r=e[2]:(r=n.data?.pages.flatMap(function(e){return e.conversations})??[],e[1]=n.data?.pages,e[2]=r);let i=r,o=n.data?.pages[0]?.total??0,s;return e[3]!==i||e[4]!==n.error||e[5]!==n.fetchNextPage||e[6]!==n.hasNextPage||e[7]!==n.isFetchingNextPage||e[8]!==n.isPending||e[9]!==n.refetch||e[10]!==o?(s={conversations:i,total:o,isInitialLoading:n.isPending,isLoadingMore:n.isFetchingNextPage,error:n.error,hasNextPage:n.hasNextPage,fetchNextPage:n.fetchNextPage,refetch:n.refetch},e[3]=i,e[4]=n.error,e[5]=n.fetchNextPage,e[6]=n.hasNextPage,e[7]=n.isFetchingNextPage,e[8]=n.isPending,e[9]=n.refetch,e[10]=o,e[11]=s):s=e[11],s}function F(e){let{pageParam:t}=e;return f(N,t)}var I=[{id:`turns`,label:`Turns`},{id:`inputTokens`,label:`Input Tokens`},{id:`outputTokens`,label:`Output Tokens`},{id:`model`,label:`Model`},{id:`branch`,label:`Branch`}],L=new Set(I.map(function(e){return e.id}));function R(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(function(e){return typeof e==`string`&&L.has(e)}):[]}catch{return[]}}function z(){return R(h(m.HISTORY_COLUMNS))}function B(){let e=(0,k.c)(6),[t,n]=(0,A.useState)(z),r;e[0]===t?r=e[1]:(r=function(e){return t.includes(e)},e[0]=t,e[1]=r);let i=r,a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=function(e,t){n(function(n){let r=t?n.includes(e)?n:[...n,e]:n.filter(function(t){return t!==e});return g(m.HISTORY_COLUMNS,JSON.stringify(r)),r})},e[2]=a):a=e[2];let o=a,s;return e[3]!==i||e[4]!==t?(s={visibleColumns:t,isColumnVisible:i,setColumnVisible:o},e[3]=i,e[4]=t,e[5]=s):s=e[5],s}var V=r(),H=36,U=3,W=`table-fixed`,G=`h-9 w-48 bg-transparent py-2`,K=`h-9 bg-transparent py-2`,q=`h-9 w-20 bg-transparent py-2 text-right`,J=`h-9 w-28 bg-transparent py-2 text-right`,Y=`h-9 w-28 bg-transparent py-2 text-right`,X=`h-9 w-40 bg-transparent py-2`,Z=`h-9 w-32 bg-transparent py-2`,ce=`h-9 w-24 bg-transparent py-2 text-right`,le=l(o.bodyMuted,`w-48 truncate py-1.5`),ue=`py-1.5`,Q=l(o.bodyMuted,`w-20 py-1.5 text-right tabular-nums`),de=l(o.bodyMuted,`w-28 py-1.5 text-right tabular-nums`),fe=l(o.bodyMuted,`w-28 py-1.5 text-right tabular-nums`),pe=l(o.bodyMuted,`w-40 truncate py-1.5`),me=l(o.bodyMuted,`w-32 truncate py-1.5`),$=l(o.bodyMuted,`w-24 py-1.5 text-right tabular-nums`);function he(e){let t=(0,k.c)(4),n;if(t[0]!==e){let{style:r,...i}=e,a;t[2]===r?a=t[3]:(a={...r,width:`100%`},t[2]=r,t[3]=a),n=(0,V.jsx)(`table`,{...i,style:a,className:l(`w-full caption-bottom select-text`,W,o.body,i.className)}),t[0]=e,t[1]=n}else n=t[1];return n}function ge(e){let t=(0,k.c)(5),n;t[0]===e.className?n=t[1]:(n=l(`hidden`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,V.jsx)(`thead`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function _e(e){let t=(0,k.c)(5),n;t[0]===e.className?n=t[1]:(n=l(`[&_tr:last-child]:border-0`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,V.jsx)(`tbody`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function ve(e){let t=(0,k.c)(5),n;t[0]===e.className?n=t[1]:(n=l(`frosted-scrollbar`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,V.jsx)(`div`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function ye(e){return function(){return(0,V.jsx)(`tr`,{children:(0,V.jsx)(`td`,{colSpan:e,className:`py-3 text-center`,children:(0,V.jsx)(_,{label:`Loading more…`,size:`sm`})})})}}function be(e){switch(e){case`turns`:return(0,V.jsx)(D,{className:q,children:`Turns`},e);case`inputTokens`:return(0,V.jsx)(D,{className:J,children:`Input Tokens`},e);case`outputTokens`:return(0,V.jsx)(D,{className:Y,children:`Output Tokens`},e);case`model`:return(0,V.jsx)(D,{className:X,children:`Model`},e);case`branch`:return(0,V.jsx)(D,{className:Z,children:`Branch`},e)}}function xe(e,t){switch(t){case`turns`:return(0,V.jsx)(O,{className:Q,children:e.turnCount.toLocaleString()},t);case`inputTokens`:return(0,V.jsx)(O,{className:de,children:e.inputTokens.toLocaleString()},t);case`outputTokens`:return(0,V.jsx)(O,{className:fe,children:e.outputTokens.toLocaleString()},t);case`model`:return(0,V.jsx)(O,{className:pe,children:e.model??`—`},t);case`branch`:return(0,V.jsx)(O,{className:me,children:e.branch},t)}}function Se(){let{openConversation:e}=ae(),t=M(),{toast:n}=re(),[r,i]=(0,A.useState)(!1),[a,s]=(0,A.useState)(!1),{visibleColumns:f,isColumnVisible:p,setColumnVisible:m}=B(),{conversations:h,isInitialLoading:g,isLoadingMore:E,error:k,hasNextPage:j,fetchNextPage:N,refetch:F}=P(),L=U+f.length,R=(0,A.useCallback)(async function(n){await e(n).catch(()=>!1)&&await t(n.threadId,n.conversationId)},[e,t]),z=(0,A.useCallback)(()=>{j&&!E&&N()},[N,j,E]);async function q(){s(!0);try{await ne(),await F(),i(!1),n({title:`Conversation history cleared`})}catch(e){n({title:`Failed to clear conversation history`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{s(!1)}}let J=(0,A.useMemo)(function(){return function({item:e,...t}){return(0,V.jsx)(`tr`,{...t,className:l(`cursor-pointer border-0 transition-colors hover:bg-muted/50`,t.className),onClick:()=>{e&&R(e)}})}},[R]),Y=(0,A.useMemo)(function(){return{Table:he,TableHead:ge,TableBody:_e,TableRow:J,Scroller:ve,Footer:E?ye(L):void 0}},[J,L,E]);function X(e,t){return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(O,{className:le,children:t.projectName}),(0,V.jsx)(O,{className:ue,children:(0,V.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,V.jsx)(ee,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,V.jsx)(`span`,{className:l(o.body,`truncate`),children:t.title})]})}),I.map(function(e){return p(e.id)?xe(t,e.id):null}),(0,V.jsx)(O,{className:$,"aria-label":`Last updated ${c(t.lastMessageAt)} ago`,children:c(t.lastMessageAt)})]})}function Z(){return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(D,{className:G,children:`Project`}),(0,V.jsx)(D,{className:K,children:`Chat`}),I.map(function(e){return p(e.id)?be(e.id):null}),(0,V.jsx)(D,{className:ce,children:`Updated`})]})}let Q=(0,V.jsx)(`table`,{className:l(`w-full caption-bottom`,W,o.body),children:(0,V.jsx)(`thead`,{className:`[&_tr]:border-b [&_tr]:border-table-border`,children:(0,V.jsx)(`tr`,{children:Z()})})});return(0,V.jsxs)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col`,children:[(0,V.jsxs)(ie,{className:`flex w-full max-w-none min-w-0 min-h-0 flex-1 flex-col pb-0 pt-0`,children:[(0,V.jsx)(T,{title:`History`,description:`Browse recent chats across all projects.`,tableHeader:h.length>0?Q:void 0,action:(0,V.jsxs)(C,{children:[(0,V.jsx)(w,{asChild:!0,children:(0,V.jsx)(u,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8`,"aria-label":`Choose columns`,children:(0,V.jsx)(te,{className:`h-4 w-4`})})}),(0,V.jsxs)(S,{align:`end`,className:`w-48`,children:[(0,V.jsx)(oe,{className:o.body,children:`Columns`}),I.map(function(e){return(0,V.jsx)(b,{checked:p(e.id),onCheckedChange:t=>{m(e.id,t===!0)},onSelect:e=>{e.preventDefault()},children:e.label},e.id)}),(0,V.jsx)(x,{}),(0,V.jsxs)(v,{className:l(o.body,`gap-2 text-destructive focus:text-destructive`),disabled:h.length===0,onSelect:()=>i(!0),children:[(0,V.jsx)(d,{className:`h-4 w-4`}),`Clear history`]})]})]})}),(0,V.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:g?(0,V.jsx)(_,{label:`Loading conversation history...`,size:`lg`}):k?(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,V.jsxs)(`div`,{className:`max-w-md space-y-4 text-center`,children:[(0,V.jsx)(`p`,{className:o.body,children:k instanceof Error?k.message:`Failed to load conversation history`}),(0,V.jsx)(u,{onClick:()=>void F(),children:`Try again`})]})}):h.length===0?(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,V.jsxs)(`div`,{className:`max-w-md space-y-2 text-center`,children:[(0,V.jsx)(`h3`,{className:o.emptyStateTitle,children:`No history`}),(0,V.jsx)(`p`,{className:o.bodyMuted,children:`No conversations found yet.`})]})}):(0,V.jsx)(y,{style:{height:`100%`},data:h,computeItemKey:(e,t)=>t.conversationId,itemContent:X,endReached:z,defaultItemHeight:H,increaseViewportBy:H*5,components:Y})})]}),(0,V.jsx)(se,{open:r,onOpenChange:i,title:`Clear conversation history?`,description:`This permanently clears conversation history across all projects. This action cannot be undone.`,onConfirm:()=>void q(),confirming:a,confirmLabel:`Clear`,confirmingLabel:`Clearing...`})]})}export{Se as default};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{a as i,r as a}from"./chat-dock-context-8K8Ikjgy.js";import{Dt as o,N as s}from"./dist-CTLFS4dn.js";import{o as c,r as l,t as u}from"./button-kWtLAMpB.js";import{D as d,bt as ee,mn as te}from"./dist-c_QADQ5u.js";import{Mt as f,Wn as p,ei as m,fi as h,ji as g,l as ne}from"./api-DX1ny6q-.js";import{n as re}from"./use-toast-xpb5jNtN.js";import{n as _}from"./async-loading-fallback-V0EaQ_Kn.js";import{Dt as ie,In as ae,Mn as oe,ar as v,ir as y,nr as b,or as x,rr as S,tr as C,ur as w,yr as T,yt as E}from"./index-B3-5kIOf.js";import{t as se}from"./delete-confirm-dialog-Dl76vaxb.js";import{i as D,r as O}from"./table-A3cgauiZ.js";var k=t(),A=e(n(),1),j=s(`app.use-restore-chat-to-chats`);function M(){let e=i();return(0,A.useCallback)(async function(t,n){try{await p(t,n)}catch(e){j.error(`Failed to restore chat to the Chats group`,{error:e,threadId:t,conversationId:n})}finally{e.invalidateQueries({queryKey:a.conversations.unreadAll()})}},[e])}var N=25;function P(){let e=(0,k.c)(12),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:a.conversations.recent(),queryFn:F,initialPageParam:0,getNextPageParam(e){let t=e.offset+e.conversations.length;return t<e.total?t:void 0}},e[0]=t):t=e[0];let n=T(t),r;e[1]===n.data?.pages?r=e[2]:(r=n.data?.pages.flatMap(function(e){return e.conversations})??[],e[1]=n.data?.pages,e[2]=r);let i=r,o=n.data?.pages[0]?.total??0,s;return e[3]!==i||e[4]!==n.error||e[5]!==n.fetchNextPage||e[6]!==n.hasNextPage||e[7]!==n.isFetchingNextPage||e[8]!==n.isPending||e[9]!==n.refetch||e[10]!==o?(s={conversations:i,total:o,isInitialLoading:n.isPending,isLoadingMore:n.isFetchingNextPage,error:n.error,hasNextPage:n.hasNextPage,fetchNextPage:n.fetchNextPage,refetch:n.refetch},e[3]=i,e[4]=n.error,e[5]=n.fetchNextPage,e[6]=n.hasNextPage,e[7]=n.isFetchingNextPage,e[8]=n.isPending,e[9]=n.refetch,e[10]=o,e[11]=s):s=e[11],s}function F(e){let{pageParam:t}=e;return f(N,t)}var I=[{id:`turns`,label:`Turns`},{id:`inputTokens`,label:`Input Tokens`},{id:`outputTokens`,label:`Output Tokens`},{id:`model`,label:`Model`},{id:`branch`,label:`Branch`}],L=new Set(I.map(function(e){return e.id}));function R(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(function(e){return typeof e==`string`&&L.has(e)}):[]}catch{return[]}}function z(){return R(h(m.HISTORY_COLUMNS))}function B(){let e=(0,k.c)(6),[t,n]=(0,A.useState)(z),r;e[0]===t?r=e[1]:(r=function(e){return t.includes(e)},e[0]=t,e[1]=r);let i=r,a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=function(e,t){n(function(n){let r=t?n.includes(e)?n:[...n,e]:n.filter(function(t){return t!==e});return g(m.HISTORY_COLUMNS,JSON.stringify(r)),r})},e[2]=a):a=e[2];let o=a,s;return e[3]!==i||e[4]!==t?(s={visibleColumns:t,isColumnVisible:i,setColumnVisible:o},e[3]=i,e[4]=t,e[5]=s):s=e[5],s}var V=r(),H=36,U=3,W=`table-fixed`,G=`h-9 w-48 bg-transparent py-2`,K=`h-9 bg-transparent py-2`,q=`h-9 w-20 bg-transparent py-2 text-right`,J=`h-9 w-28 bg-transparent py-2 text-right`,Y=`h-9 w-28 bg-transparent py-2 text-right`,X=`h-9 w-40 bg-transparent py-2`,Z=`h-9 w-32 bg-transparent py-2`,ce=`h-9 w-24 bg-transparent py-2 text-right`,le=l(o.bodyMuted,`w-48 truncate py-1.5`),ue=`py-1.5`,Q=l(o.bodyMuted,`w-20 py-1.5 text-right tabular-nums`),de=l(o.bodyMuted,`w-28 py-1.5 text-right tabular-nums`),fe=l(o.bodyMuted,`w-28 py-1.5 text-right tabular-nums`),pe=l(o.bodyMuted,`w-40 truncate py-1.5`),me=l(o.bodyMuted,`w-32 truncate py-1.5`),$=l(o.bodyMuted,`w-24 py-1.5 text-right tabular-nums`);function he(e){let t=(0,k.c)(4),n;if(t[0]!==e){let{style:r,...i}=e,a;t[2]===r?a=t[3]:(a={...r,width:`100%`},t[2]=r,t[3]=a),n=(0,V.jsx)(`table`,{...i,style:a,className:l(`w-full caption-bottom select-text`,W,o.body,i.className)}),t[0]=e,t[1]=n}else n=t[1];return n}function ge(e){let t=(0,k.c)(5),n;t[0]===e.className?n=t[1]:(n=l(`hidden`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,V.jsx)(`thead`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function _e(e){let t=(0,k.c)(5),n;t[0]===e.className?n=t[1]:(n=l(`[&_tr:last-child]:border-0`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,V.jsx)(`tbody`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function ve(e){let t=(0,k.c)(5),n;t[0]===e.className?n=t[1]:(n=l(`frosted-scrollbar`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,V.jsx)(`div`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function ye(e){return function(){return(0,V.jsx)(`tr`,{children:(0,V.jsx)(`td`,{colSpan:e,className:`py-3 text-center`,children:(0,V.jsx)(_,{label:`Loading more…`,size:`sm`})})})}}function be(e){switch(e){case`turns`:return(0,V.jsx)(D,{className:q,children:`Turns`},e);case`inputTokens`:return(0,V.jsx)(D,{className:J,children:`Input Tokens`},e);case`outputTokens`:return(0,V.jsx)(D,{className:Y,children:`Output Tokens`},e);case`model`:return(0,V.jsx)(D,{className:X,children:`Model`},e);case`branch`:return(0,V.jsx)(D,{className:Z,children:`Branch`},e)}}function xe(e,t){switch(t){case`turns`:return(0,V.jsx)(O,{className:Q,children:e.turnCount.toLocaleString()},t);case`inputTokens`:return(0,V.jsx)(O,{className:de,children:e.inputTokens.toLocaleString()},t);case`outputTokens`:return(0,V.jsx)(O,{className:fe,children:e.outputTokens.toLocaleString()},t);case`model`:return(0,V.jsx)(O,{className:pe,children:e.model??`—`},t);case`branch`:return(0,V.jsx)(O,{className:me,children:e.branch},t)}}function Se(){let{openConversation:e}=ae(),t=M(),{toast:n}=re(),[r,i]=(0,A.useState)(!1),[a,s]=(0,A.useState)(!1),{visibleColumns:f,isColumnVisible:p,setColumnVisible:m}=B(),{conversations:h,isInitialLoading:g,isLoadingMore:T,error:k,hasNextPage:j,fetchNextPage:N,refetch:F}=P(),L=U+f.length,R=(0,A.useCallback)(async function(n){await e(n).catch(()=>!1)&&await t(n.threadId,n.conversationId)},[e,t]),z=(0,A.useCallback)(()=>{j&&!T&&N()},[N,j,T]);async function q(){s(!0);try{await ne(),await F(),i(!1),n({title:`Conversation history cleared`})}catch(e){n({title:`Failed to clear conversation history`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{s(!1)}}let J=(0,A.useMemo)(function(){return function({item:e,...t}){return(0,V.jsx)(`tr`,{...t,className:l(`cursor-pointer border-0 transition-colors hover:bg-muted/50`,t.className),onClick:()=>{e&&R(e)}})}},[R]),Y=(0,A.useMemo)(function(){return{Table:he,TableHead:ge,TableBody:_e,TableRow:J,Scroller:ve,Footer:T?ye(L):void 0}},[J,L,T]);function X(e,t){return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(O,{className:le,children:t.projectName}),(0,V.jsx)(O,{className:ue,children:(0,V.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,V.jsx)(ee,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,V.jsx)(`span`,{className:l(o.body,`truncate`),children:t.title})]})}),I.map(function(e){return p(e.id)?xe(t,e.id):null}),(0,V.jsx)(O,{className:$,"aria-label":`Last updated ${c(t.lastMessageAt)} ago`,children:c(t.lastMessageAt)})]})}function Z(){return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(D,{className:G,children:`Project`}),(0,V.jsx)(D,{className:K,children:`Chat`}),I.map(function(e){return p(e.id)?be(e.id):null}),(0,V.jsx)(D,{className:ce,children:`Updated`})]})}let Q=(0,V.jsx)(`table`,{className:l(`w-full caption-bottom`,W,o.body),children:(0,V.jsx)(`thead`,{className:`[&_tr]:border-b [&_tr]:border-table-border`,children:(0,V.jsx)(`tr`,{children:Z()})})});return(0,V.jsxs)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col`,children:[(0,V.jsxs)(ie,{className:`flex w-full max-w-none min-w-0 min-h-0 flex-1 flex-col pb-0 pt-0`,children:[(0,V.jsx)(E,{title:`History`,description:`Browse recent chats across all projects.`,tableHeader:h.length>0?Q:void 0,action:(0,V.jsxs)(C,{children:[(0,V.jsx)(w,{asChild:!0,children:(0,V.jsx)(u,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8`,"aria-label":`Choose columns`,children:(0,V.jsx)(te,{className:`h-4 w-4`})})}),(0,V.jsxs)(S,{align:`end`,className:`w-48`,children:[(0,V.jsx)(v,{className:o.body,children:`Columns`}),I.map(function(e){return(0,V.jsx)(b,{checked:p(e.id),onCheckedChange:t=>{m(e.id,t===!0)},onSelect:e=>{e.preventDefault()},children:e.label},e.id)}),(0,V.jsx)(x,{}),(0,V.jsxs)(y,{className:l(o.body,`gap-2 text-destructive focus:text-destructive`),disabled:h.length===0,onSelect:()=>i(!0),children:[(0,V.jsx)(d,{className:`h-4 w-4`}),`Clear history`]})]})]})}),(0,V.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:g?(0,V.jsx)(_,{label:`Loading conversation history...`,size:`lg`}):k?(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,V.jsxs)(`div`,{className:`max-w-md space-y-4 text-center`,children:[(0,V.jsx)(`p`,{className:o.body,children:k instanceof Error?k.message:`Failed to load conversation history`}),(0,V.jsx)(u,{onClick:()=>void F(),children:`Try again`})]})}):h.length===0?(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,V.jsxs)(`div`,{className:`max-w-md space-y-2 text-center`,children:[(0,V.jsx)(`h3`,{className:o.emptyStateTitle,children:`No history`}),(0,V.jsx)(`p`,{className:o.bodyMuted,children:`No conversations found yet.`})]})}):(0,V.jsx)(oe,{style:{height:`100%`},data:h,computeItemKey:(e,t)=>t.conversationId,itemContent:X,endReached:z,defaultItemHeight:H,increaseViewportBy:H*5,components:Y})})]}),(0,V.jsx)(se,{open:r,onOpenChange:i,title:`Clear conversation history?`,description:`This permanently clears conversation history across all projects. This action cannot be undone.`,onConfirm:()=>void q(),confirming:a,confirmLabel:`Clear`,confirmingLabel:`Clearing...`})]})}export{Se as default};
@@ -1,2 +1,2 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{Dt as i,Jt as a,N as o,qt as s}from"./dist-CTLFS4dn.js";import{r as c,t as l}from"./button-kWtLAMpB.js";import{fn as u}from"./dist-c_QADQ5u.js";import{Bi as d,Ei as f,Ni as p,Pt as m,Si as h,hi as g,oi as _,qt as v,s as y}from"./api-DX1ny6q-.js";import{n as b}from"./scroll-area-lkVMElz5.js";import{D as x,_r as S,dr as C,fr as w,gr as T,hr as E,mr as D,pr as O,vr as k}from"./index-u8UbWjXL.js";import{n as A,t as ee}from"./toggle-group-Q36wRGKA.js";import{r as j}from"./commit-method-fields-CVQjrJ_O.js";var M=e(n(),1),N=t(),P={"angular-standalone":`logo-angular.svg`,"custom-angular":`logo-angular.svg`,react:`logo-react.svg`,"vite-react":`logo-react.svg`,vue:`logo-vue.svg`,"vite-vue":`logo-vue.svg`,"custom-svelte":`logo-svelte.svg`,"custom-ionic-svelte":`logo-svelte.svg`,"vite-svelte":`logo-svelte.svg`,"vite-solid":`logo-solid.svg`,astro:`logo-astro.svg`,nextjs:`logo-nextjs.svg`,nuxt:`logo-nuxt.svg`,"vite-qwik":`logo-qwik.svg`,"vite-preact":`logo-preact.svg`,"vite-lit":`logo-lit.svg`,"vite-web":`logo-web.svg`,"tanstack-start":`logo-vite.svg`,waku:`logo-waku.svg`,hydrogen:`logo-hydrogen.svg`,plugin:`logo-capacitor.svg`};function te(e){return e.trim().toLowerCase().replace(/[\\/]+/g,` `).replace(/[^a-z0-9._ -]+/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``)}function ne(e,t,n){return e===2&&t===`clone`?{title:`Clone Repository`,description:`Enter a git repository URL to clone.`}:e===2&&t===`webapp`?{title:`Create App`,description:`Choose a template type.`}:e===3&&t===`clone`?{title:`Clone Repository`,description:`Choose commit workflow.`}:e===3&&t===`folder`?{title:`Blank Starter`,description:`Enter a project name.`}:e===3&&t===`webapp`?{title:n===`Capacitor Plugin`?`Create Capacitor Plugin`:n?`Create ${n} App`:`Create App`,description:`Name your project and choose variation, package manager, and commit workflow.`}:{title:``,description:``}}var re=o(`app.create-project-dialog.ui`);async function ie(){try{if(await y())return!0;let e=`macOS / Linux: curl -fsSL https://vite.plus | bash
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{Dt as i,Jt as a,N as o,qt as s}from"./dist-CTLFS4dn.js";import{r as c,t as l}from"./button-kWtLAMpB.js";import{fn as u}from"./dist-c_QADQ5u.js";import{Bi as d,Ei as f,Ni as p,Pt as m,Si as h,hi as g,oi as _,qt as v,s as y}from"./api-DX1ny6q-.js";import{n as b}from"./scroll-area-lkVMElz5.js";import{O as x,_r as S,dr as C,fr as w,gr as T,hr as E,mr as D,pr as O,vr as k}from"./index-B3-5kIOf.js";import{n as A,t as ee}from"./toggle-group-Q36wRGKA.js";import{r as j}from"./commit-method-fields-BtEHb0_G.js";var M=e(n(),1),N=t(),P={"angular-standalone":`logo-angular.svg`,"custom-angular":`logo-angular.svg`,react:`logo-react.svg`,"vite-react":`logo-react.svg`,vue:`logo-vue.svg`,"vite-vue":`logo-vue.svg`,"custom-svelte":`logo-svelte.svg`,"custom-ionic-svelte":`logo-svelte.svg`,"vite-svelte":`logo-svelte.svg`,"vite-solid":`logo-solid.svg`,astro:`logo-astro.svg`,nextjs:`logo-nextjs.svg`,nuxt:`logo-nuxt.svg`,"vite-qwik":`logo-qwik.svg`,"vite-preact":`logo-preact.svg`,"vite-lit":`logo-lit.svg`,"vite-web":`logo-web.svg`,"tanstack-start":`logo-vite.svg`,waku:`logo-waku.svg`,hydrogen:`logo-hydrogen.svg`,plugin:`logo-capacitor.svg`};function te(e){return e.trim().toLowerCase().replace(/[\\/]+/g,` `).replace(/[^a-z0-9._ -]+/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``)}function ne(e,t,n){return e===2&&t===`clone`?{title:`Clone Repository`,description:`Enter a git repository URL to clone.`}:e===2&&t===`webapp`?{title:`Create App`,description:`Choose a template type.`}:e===3&&t===`clone`?{title:`Clone Repository`,description:`Choose commit workflow.`}:e===3&&t===`folder`?{title:`Blank Starter`,description:`Enter a project name.`}:e===3&&t===`webapp`?{title:n===`Capacitor Plugin`?`Create Capacitor Plugin`:n?`Create ${n} App`:`Create App`,description:`Name your project and choose variation, package manager, and commit workflow.`}:{title:``,description:``}}var re=o(`app.create-project-dialog.ui`);async function ie(){try{if(await y())return!0;let e=`macOS / Linux: curl -fsSL https://vite.plus | bash
2
2
  Windows: irm https://vite.plus/ps1 | iex`;if(!window.confirm(`Vite Plus is required for this template but is not installed.\n\nIs it ok to install Vite Plus using the following command?\n\n${e}`))return!1;let{success:t,error:n}=await v();return t?await y()?!0:(window.alert(`Vite Plus was installed but could not be verified.\n\nTry restarting the app — if it is still missing, install it manually with:\n\n${e}`),!1):(window.alert(`Failed to install Vite Plus:\n${n||`Unknown error`}`),!1)}catch(e){return re.error(`Vite Plus check/install failed:`,e),!0}}function ae(e){let t=(0,N.c)(38),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[],t[0]=n):n=t[0];let[r,i]=(0,M.useState)(n),[a,o]=(0,M.useState)(!1),s=Array.isArray(r)&&r.length>0,c;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{o(!0),m().then(e=>i(e?.templates||[])).catch(()=>i([])).finally(()=>o(!1))},t[1]=c):c=t[1];let l=c,u,f;if(t[2]!==r){if(u={},Array.isArray(r))for(let e of r){let t=e.typeName;u[t]||(u[t]=[]),u[t].push(e)}f=Object.keys(u).sort(),t[2]=r,t[3]=u,t[4]=f}else u=t[3],f=t[4];let p=f,h;t[5]!==u||t[6]!==p?(h={typeNames:p,templatesByTypeName:u},t[5]=u,t[6]=p,t[7]=h):h=t[7];let{typeNames:g,templatesByTypeName:_}=h,v;if(t[8]!==_){v={};for(let e of Object.keys(_)){let t=_[e]??[];if(t.length===0)continue;let n=t.find(le),r=t.filter(ce),i=n?[n,...r]:t;v[e]=i[0].id}t[8]=_,t[9]=v}else v=t[9];let y=v,b;bb0:{if(!Array.isArray(r)){b=e;break bb0}if(r.find(t=>t.id===e)){b=e;break bb0}if(r.length===0){b=e;break bb0}let n=g[0],i;t[10]!==n||t[11]!==_?(i=n?_[n]??[]:[],t[10]=n,t[11]=_,t[12]=i):i=t[12];let a=i,o;t[13]===a?o=t[14]:(o=a.find(se),t[13]=a,t[14]=o),b=(o??a[0])?.id??e}let x=b,S;bb1:{if(!x||!Array.isArray(r)||r.length===0){S=null;break bb1}let e;t[15]!==x||t[16]!==r?(e=r.find(e=>e.id===x)?.typeName??null,t[15]=x,t[16]=r,t[17]=e):e=t[17],S=e}let C=S,w;if(t[18]!==C||t[19]!==_){bb2:{let e=C?_[C]??[]:[];if(e.length<=1){w=e;break bb2}let t=e.find(oe),n=e.filter(F);w=t?[t,...n]:e}t[18]=C,t[19]=_,t[20]=w}else w=t[20];let T=w,E;t[21]!==x||t[22]!==r?(E=x&&Array.isArray(r)?r.find(e=>e.id===x):null,t[21]=x,t[22]=r,t[23]=E):E=t[23];let D=E,O,k;t[24]===x?(O=t[25],k=t[26]):(O=()=>{x&&d(x)},k=[x],t[24]=x,t[25]=O,t[26]=k),(0,M.useEffect)(O,k);let A;return t[27]!==x||t[28]!==y||t[29]!==s||t[30]!==D||t[31]!==C||t[32]!==r||t[33]!==_||t[34]!==a||t[35]!==g||t[36]!==T?(A={templates:r,templatesLoading:a,hasTemplates:s,loadTemplates:l,typeNames:g,templatesByTypeName:_,firstVariationIdByTypeName:y,effectiveTemplateId:x,selectedTypeNameFromEffective:C,variations:T,selectedTemplate:D},t[27]=x,t[28]=y,t[29]=s,t[30]=D,t[31]=C,t[32]=r,t[33]=_,t[34]=a,t[35]=g,t[36]=T,t[37]=A):A=t[37],A}function F(e){return e.variationName!==`Starter`}function oe(e){return e.variationName===`Starter`}function se(e){return e.variationName===`Starter`}function ce(e){return e.variationName!==`Starter`}function le(e){return e.variationName===`Starter`}var I=r();function L(e){let t=(0,N.c)(10),{gitUrl:n,onGitUrlChange:r,canProceed:i,onNext:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,I.jsx)(C,{htmlFor:`gitUrl`,children:`Repository URL`}),t[0]=o):o=t[0];let s;t[1]===r?s=t[2]:(s=e=>r(e.target.value),t[1]=r,t[2]=s);let c;t[3]!==i||t[4]!==a?(c=e=>e.key===`Enter`&&i&&a(),t[3]=i,t[4]=a,t[5]=c):c=t[5];let l;return t[6]!==n||t[7]!==s||t[8]!==c?(l=(0,I.jsx)(b,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,I.jsx)(`div`,{className:`px-6 py-4`,children:(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[o,(0,I.jsx)(w,{id:`gitUrl`,placeholder:`https://github.com/user/repo.git`,value:n,onChange:s,onKeyDown:c,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`,autoFocus:!0})]})})}),t[6]=n,t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function ue(e){let t=(0,N.c)(11),{templatesLoading:n,typeNames:r,templatesByTypeName:a,selectedTypeName:o,loadedImages:s,onImageLoad:l,onSelectType:u,onSelectTypeAndAdvance:d}=e,f;t[0]!==s||t[1]!==l||t[2]!==u||t[3]!==d||t[4]!==o||t[5]!==a||t[6]!==n||t[7]!==r?(f=n?(0,I.jsx)(`p`,{className:c(i.bodyMuted,`col-span-full p-4`),children:`Loading…`}):r.map(e=>{let t=a[e]?.[0]?.type,n=t?P[t]:null,r=o===e;return(0,I.jsxs)(`button`,{type:`button`,onClick:()=>u(e),onDoubleClick:()=>d(e),className:c(`group flex flex-col items-center gap-0 rounded-lg px-1 py-1 text-center transition-colors`,r?`text-accent-foreground`:`text-foreground`),children:[(0,I.jsx)(`div`,{className:c(`relative flex size-20 shrink-0 items-center justify-center overflow-hidden rounded-xl bg-[hsl(0_0%_35%)] bg-gradient-to-br from-[hsl(0_0%_35%)] to-[hsl(0_0%_25%)] text-white/70 transition-transform can-hover:group-hover:scale-[1.03]`,r&&`ring-[3px] ring-brand`),children:n?(0,I.jsx)(`img`,{src:`/template-types/${n}`,alt:``,className:c(`relative size-8 shrink-0 transition-opacity duration-300`,s.has(n)?`opacity-100`:`opacity-0`),onLoad:()=>l(n),"aria-hidden":!0}):null}),(0,I.jsx)(`span`,{className:c(i.compact,`w-full truncate pt-1 font-medium`),children:e})]},e)}),t[0]=s,t[1]=l,t[2]=u,t[3]=d,t[4]=o,t[5]=a,t[6]=n,t[7]=r,t[8]=f):f=t[8];let p;return t[9]===f?p=t[10]:(p=(0,I.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0 px-6 pb-4`,children:(0,I.jsx)(`div`,{className:`flex-1 min-h-0 flex flex-col py-2`,children:(0,I.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto -mx-1`,children:(0,I.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-1 p-1 mr-2`,children:f})})})}),t[9]=f,t[10]=p),p}function de(e){let t=(0,N.c)(17),{projectName:n,onProjectNameChange:r,canSubmit:a,onSubmit:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,I.jsx)(C,{htmlFor:`folderProjectName`,children:`Project Name`}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=e=>r(e.target.value),t[1]=r,t[2]=c);let l;t[3]!==a||t[4]!==o?(l=e=>e.key===`Enter`&&a&&o(),t[3]=a,t[4]=o,t[5]=l):l=t[5];let u;t[6]!==n||t[7]!==c||t[8]!==l?(u=(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[s,(0,I.jsx)(w,{id:`folderProjectName`,placeholder:`My Project`,value:n,onChange:c,onKeyDown:l,autoFocus:!0,className:`w-full`})]}),t[6]=n,t[7]=c,t[8]=l,t[9]=u):u=t[9];let d;t[10]===n?d=t[11]:(d=te(n)||`project-name`,t[10]=n,t[11]=d);let f;t[12]===d?f=t[13]:(f=(0,I.jsxs)(`p`,{className:i.bodyMuted,children:[`Folder name: `,d]}),t[12]=d,t[13]=f);let p;return t[14]!==u||t[15]!==f?(p=(0,I.jsx)(b,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,I.jsxs)(`div`,{className:`px-6 py-4 flex flex-col gap-3`,children:[u,f]})}),t[14]=u,t[15]=f,t[16]=p):p=t[16],p}function fe(e){let t=(0,N.c)(33),{projectNameDisplay:n,onProjectNameChange:r,variations:a,effectiveTemplateId:o,onTemplateIdChange:c,selectedTemplate:l,packageManager:d,onPackageManagerChange:f,commitMethod:p,onCommitMethodChange:m}=e,h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,I.jsx)(C,{htmlFor:`projectName`,children:`Project Name`}),t[0]=h):h=t[0];let g;t[1]===r?g=t[2]:(g=e=>r(e.target.value),t[1]=r,t[2]=g);let _;t[3]!==n||t[4]!==g?(_=(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[h,(0,I.jsx)(w,{id:`projectName`,placeholder:`My App`,value:n,onChange:g,className:`w-full`})]}),t[3]=n,t[4]=g,t[5]=_):_=t[5];let v;t[6]!==o||t[7]!==c||t[8]!==a?(v=a.length>1&&(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(C,{children:`Variation`}),(0,I.jsx)(ee,{type:`single`,value:o,onValueChange:e=>e&&c(e),variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:a.map(me)})]}),t[6]=o,t[7]=c,t[8]=a,t[9]=v):v=t[9];let y=l?.description??a[0]?.description??``,x;t[10]===l?x=t[11]:(x=l?.url&&(0,I.jsxs)(I.Fragment,{children:[` `,(0,I.jsxs)(`a`,{href:l.url,target:`_blank`,rel:`noreferrer`,className:`text-brand hover:underline hover:text-brand/80 inline-flex items-center gap-0.5`,children:[`Documentation `,(0,I.jsx)(u,{className:`h-3 w-3`})]})]}),t[10]=l,t[11]=x);let S;t[12]!==y||t[13]!==x?(S=(0,I.jsxs)(`p`,{className:i.bodyMuted,children:[y,x]}),t[12]=y,t[13]=x,t[14]=S):S=t[14];let T;t[15]!==v||t[16]!==S?(T=(0,I.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[v,S]}),t[15]=v,t[16]=S,t[17]=T):T=t[17];let E;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,I.jsx)(C,{children:`Package manager`}),t[18]=E):E=t[18];let D;t[19]===f?D=t[20]:(D=e=>{e&&f(e)},t[19]=f,t[20]=D);let O;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(O=Object.values(s).map(pe),t[21]=O):O=t[21];let k;t[22]!==d||t[23]!==D?(k=(0,I.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[E,(0,I.jsx)(ee,{type:`single`,value:d,onValueChange:D,variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:O})]}),t[22]=d,t[23]=D,t[24]=k):k=t[24];let A;t[25]!==p||t[26]!==m?(A=(0,I.jsx)(j,{commitMethod:p,onCommitMethodChange:m}),t[25]=p,t[26]=m,t[27]=A):A=t[27];let M;return t[28]!==k||t[29]!==A||t[30]!==_||t[31]!==T?(M=(0,I.jsx)(b,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,I.jsxs)(`div`,{className:`px-6 py-4 flex flex-col gap-6`,children:[_,T,k,A]})}),t[28]=k,t[29]=A,t[30]=_,t[31]=T,t[32]=M):M=t[32],M}function pe(e){return(0,I.jsx)(A,{value:e.id,className:i.body,children:e.label},e.id)}function me(e){return(0,I.jsx)(A,{value:e.id,className:i.body,children:e.variationName},e.id)}function he(e){return e===`folder`?3:2}function ge(e){return e===`folder`?{projectName:``,projectNameUserEdited:!1,loadedImages:new Set}:{projectName:`My App`,projectNameUserEdited:!1,loadedImages:new Set}}function _e(e){let t=(0,N.c)(5),{canGoToStep3:n,gitUrl:r,onGitUrlChange:i,onNext:a}=e,o;return t[0]!==n||t[1]!==r||t[2]!==i||t[3]!==a?(o=(0,I.jsx)(L,{gitUrl:r,onGitUrlChange:i,canProceed:n,onNext:a}),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o):o=t[4],o}function ve(e){let t=(0,N.c)(9),{templatesLoading:n,typeNames:r,templatesByTypeName:i,selectedTypeNameFromEffective:a,loadedImages:o,onImageLoad:s,onSelectType:c,onSelectTypeAndAdvance:l}=e,u;return t[0]!==o||t[1]!==s||t[2]!==c||t[3]!==l||t[4]!==a||t[5]!==i||t[6]!==n||t[7]!==r?(u=(0,I.jsx)(ue,{templatesLoading:n,typeNames:r,templatesByTypeName:i,selectedTypeName:a,loadedImages:o,onImageLoad:s,onSelectType:c,onSelectTypeAndAdvance:l}),t[0]=o,t[1]=s,t[2]=c,t[3]=l,t[4]=a,t[5]=i,t[6]=n,t[7]=r,t[8]=u):u=t[8],u}function ye(e){let t=(0,N.c)(5),{canGoToStep3:n,projectName:r,onProjectNameChange:i,onSubmitFolder:a}=e,o;return t[0]!==n||t[1]!==i||t[2]!==a||t[3]!==r?(o=(0,I.jsx)(de,{projectName:r,onProjectNameChange:i,canSubmit:n,onSubmit:a}),t[0]=n,t[1]=i,t[2]=a,t[3]=r,t[4]=o):o=t[4],o}function be(e){let t=(0,N.c)(11),{projectNameDisplay:n,onProjectNameChange:r,variations:i,effectiveTemplateId:a,onTemplateIdChange:o,selectedTemplate:s,packageManager:c,onPackageManagerChange:l,commitMethod:u,onCommitMethodChange:d}=e,f;return t[0]!==u||t[1]!==a||t[2]!==d||t[3]!==l||t[4]!==r||t[5]!==o||t[6]!==c||t[7]!==n||t[8]!==s||t[9]!==i?(f=(0,I.jsx)(fe,{projectNameDisplay:n,onProjectNameChange:r,variations:i,effectiveTemplateId:a,onTemplateIdChange:o,selectedTemplate:s,packageManager:c,onPackageManagerChange:l,commitMethod:u,onCommitMethodChange:d}),t[0]=u,t[1]=a,t[2]=d,t[3]=l,t[4]=r,t[5]=o,t[6]=c,t[7]=n,t[8]=s,t[9]=i,t[10]=f):f=t[10],f}function xe(e){let t=(0,N.c)(3),{commitMethod:n,onCommitMethodChange:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,I.jsx)(b,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,I.jsx)(`div`,{className:`flex flex-col gap-6 px-6 py-4`,children:(0,I.jsx)(j,{commitMethod:n,onCommitMethodChange:r})})}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function Se(e){let t=(0,N.c)(33),{step:n,mode:r,canGoToStep3:i,gitUrl:a,onGitUrlChange:o,onNext:s,templatesLoading:c,typeNames:l,templatesByTypeName:u,selectedTypeNameFromEffective:d,loadedImages:f,onImageLoad:p,onSelectType:m,onSelectTypeAndAdvance:h,projectName:g,onProjectNameChange:_,onSubmitFolder:v,projectNameDisplay:y,variations:b,effectiveTemplateId:x,onTemplateIdChange:S,selectedTemplate:C,packageManager:w,onPackageManagerChange:T,commitMethod:E,onCommitMethodChange:D}=e;switch(`${n}:${r}`){case`2:clone`:{let e;return t[0]!==i||t[1]!==a||t[2]!==o||t[3]!==s?(e=(0,I.jsx)(_e,{canGoToStep3:i,gitUrl:a,onGitUrlChange:o,onNext:s}),t[0]=i,t[1]=a,t[2]=o,t[3]=s,t[4]=e):e=t[4],e}case`2:webapp`:{let e;return t[5]!==f||t[6]!==p||t[7]!==m||t[8]!==h||t[9]!==d||t[10]!==u||t[11]!==c||t[12]!==l?(e=(0,I.jsx)(ve,{templatesLoading:c,typeNames:l,templatesByTypeName:u,selectedTypeNameFromEffective:d,loadedImages:f,onImageLoad:p,onSelectType:m,onSelectTypeAndAdvance:h}),t[5]=f,t[6]=p,t[7]=m,t[8]=h,t[9]=d,t[10]=u,t[11]=c,t[12]=l,t[13]=e):e=t[13],e}case`3:folder`:{let e;return t[14]!==i||t[15]!==_||t[16]!==v||t[17]!==g?(e=(0,I.jsx)(ye,{canGoToStep3:i,projectName:g,onProjectNameChange:_,onSubmitFolder:v}),t[14]=i,t[15]=_,t[16]=v,t[17]=g,t[18]=e):e=t[18],e}case`3:webapp`:{let e;return t[19]!==E||t[20]!==x||t[21]!==D||t[22]!==T||t[23]!==_||t[24]!==S||t[25]!==w||t[26]!==y||t[27]!==C||t[28]!==b?(e=(0,I.jsx)(be,{projectNameDisplay:y,onProjectNameChange:_,variations:b,effectiveTemplateId:x,onTemplateIdChange:S,selectedTemplate:C,packageManager:w,onPackageManagerChange:T,commitMethod:E,onCommitMethodChange:D}),t[19]=E,t[20]=x,t[21]=D,t[22]=T,t[23]=_,t[24]=S,t[25]=w,t[26]=y,t[27]=C,t[28]=b,t[29]=e):e=t[29],e}default:{let e;return t[30]!==E||t[31]!==D?(e=(0,I.jsx)(xe,{commitMethod:E,onCommitMethodChange:D}),t[30]=E,t[31]=D,t[32]=e):e=t[32],e}}}function Ce(e){let t=(0,N.c)(30),{step:n,mode:r,canGoToStep3:i,projectName:a,projectNameDisplay:o,isCheckingVp:s,onBack:c,onNext:u,onSubmitClone:d,onSubmitFolder:f,onSubmitWebApp:p}=e,m;t[0]!==r||t[1]!==c||t[2]!==n?(m=n===3&&r!==`folder`&&(0,I.jsx)(l,{variant:`ghost`,onClick:c,children:`Back`}),t[0]=r,t[1]=c,t[2]=n,t[3]=m):m=t[3];let h;t[4]!==i||t[5]!==r||t[6]!==u||t[7]!==n?(h=n===2&&r!==`folder`&&(0,I.jsx)(l,{onClick:u,disabled:!i,children:`Next`}),t[4]=i,t[5]=r,t[6]=u,t[7]=n,t[8]=h):h=t[8];let g;t[9]!==r||t[10]!==d||t[11]!==n?(g=n===3&&r===`clone`&&(0,I.jsx)(l,{onClick:d,children:`Create Project`}),t[9]=r,t[10]=d,t[11]=n,t[12]=g):g=t[12];let _;t[13]!==r||t[14]!==f||t[15]!==a||t[16]!==n?(_=n===3&&r===`folder`&&(0,I.jsx)(l,{onClick:f,disabled:!a.trim()||!te(a),children:`Create Project`}),t[13]=r,t[14]=f,t[15]=a,t[16]=n,t[17]=_):_=t[17];let v;t[18]!==s||t[19]!==r||t[20]!==p||t[21]!==o||t[22]!==n?(v=n===3&&r===`webapp`&&(0,I.jsx)(l,{onClick:p,disabled:!o.trim()||s,children:s?`Preparing...`:`Create Project`}),t[18]=s,t[19]=r,t[20]=p,t[21]=o,t[22]=n,t[23]=v):v=t[23];let y;return t[24]!==m||t[25]!==h||t[26]!==g||t[27]!==_||t[28]!==v?(y=(0,I.jsx)(`div`,{className:`flex min-h-[4.5rem] flex-col justify-end border-t border-border bg-muted/10 px-6 py-4`,children:(0,I.jsxs)(T,{children:[m,h,g,_,v]})}),t[24]=m,t[25]=h,t[26]=g,t[27]=_,t[28]=v,t[29]=y):y=t[29],y}function R(e){let t=(0,N.c)(117),{open:n,onOpenChange:r,onDialogDismissed:i,initialMode:o,onSubmitClone:s,onSubmitWebApp:c,onSubmitFolder:l}=e,[u,d]=(0,M.useState)(o??`clone`),m=o??`clone`,v;t[0]===m?v=t[1]:(v=he(m),t[0]=m,t[1]=v);let[y,b]=(0,M.useState)(v),[C,w]=(0,M.useState)(``),T;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(T=_(a.PullRequest),t[2]=T):T=t[2];let[A,ee]=(0,M.useState)(T),[j,P]=(0,M.useState)(`My App`),[re,F]=(0,M.useState)(!1),oe;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(oe=h(),t[3]=oe):oe=t[3];let[se,ce]=(0,M.useState)(oe),le;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(le=g(),t[4]=le):le=t[4];let[L,ue]=(0,M.useState)(le),[de,fe]=(0,M.useState)(!1),pe;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(pe=new Set,t[5]=pe):pe=t[5];let[me,_e]=(0,M.useState)(pe),ve;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(ve=e=>{_e(t=>new Set(t).add(e))},t[6]=ve):ve=t[6];let ye=ve,{templatesLoading:be,hasTemplates:xe,loadTemplates:R,typeNames:Te,templatesByTypeName:Ee,firstVariationIdByTypeName:z,effectiveTemplateId:B,selectedTypeNameFromEffective:V,variations:De,selectedTemplate:H}=ae(se),Oe,ke;t[7]!==xe||t[8]!==o||t[9]!==R||t[10]!==n?(Oe=()=>{if(!n||!o)return;let e=ge(o);d(o),b(he(o)),w(``),P(e.projectName),F(e.projectNameUserEdited),_e(e.loadedImages),o===`webapp`&&!xe&&R()},ke=[n,o,xe,R],t[7]=xe,t[8]=o,t[9]=R,t[10]=n,t[11]=Oe,t[12]=ke):(Oe=t[11],ke=t[12]),(0,M.useEffect)(Oe,ke);let U=re?j:V?`My ${V} App`:`My App`,Ae;t[13]!==i||t[14]!==r?(Ae=function(){i?.(),d(`clone`),b(2),w(``),P(`My App`),F(!1),_e(new Set),r(!1)},t[13]=i,t[14]=r,t[15]=Ae):Ae=t[15];let W=Ae,je;t[16]!==y||t[17]!==u||t[18]!==W?(je=function(){if(y===2||u===`folder`){W();return}b(2)},t[16]=y,t[17]=u,t[18]=W,t[19]=je):je=t[19];let Me=je,Ne;t[20]!==C||t[21]!==u||t[22]!==j||t[23]!==V?(Ne=u===`clone`?C.trim().length>0:u===`folder`?j.trim().length>0&&!!te(j):V!==null,t[20]=C,t[21]=u,t[22]=j,t[23]=V,t[24]=Ne):Ne=t[24];let G=Ne,Pe;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(Pe=function(e){ee(e),f(e)},t[25]=Pe):Pe=t[25];let Fe=Pe,Ie;t[26]!==A||t[27]!==C||t[28]!==r||t[29]!==s?(Ie=function(){if(!C.trim())return;let e=C.trim();w(``),b(2),r(!1),d(`clone`),s(e,A).catch(we)},t[26]=A,t[27]=C,t[28]=r,t[29]=s,t[30]=Ie):Ie=t[30];let Le=Ie,Re;t[31]!==B||t[32]!==r||t[33]!==c||t[34]!==L||t[35]!==U||t[36]!==H?.variation?(Re=async function(){if(!U.trim()||!B||!te(U))return;if(H?.variation===`vite-plus`){fe(!0);let e=await ie();if(fe(!1),!e)return}let e=U.trim();P(``),F(!1),b(2),r(!1),d(`clone`),c(e,B,L)},t[31]=B,t[32]=r,t[33]=c,t[34]=L,t[35]=U,t[36]=H?.variation,t[37]=Re):Re=t[37];let ze=Re,Be;t[38]!==r||t[39]!==l||t[40]!==j?(Be=function(){let e=j.trim();!e||!te(e)||(P(``),F(!1),b(2),r(!1),d(`clone`),l(e))},t[38]=r,t[39]=l,t[40]=j,t[41]=Be):Be=t[41];let K=Be,q=y,Ve=u===`folder`?1:y-1,He;t[42]!==G||t[43]!==y||t[44]!==u?(He=function(e){return u===`folder`?e===1:e===1?y>2:y>=3||y===2&&G},t[42]=G,t[43]=y,t[44]=u,t[45]=He):He=t[45];let Ue=He,We;t[46]===u?We=t[47]:(We=function(e){u!==`folder`&&b(e===1?2:3)},t[46]=u,t[47]=We);let Ge=We,Ke;t[48]!==u||t[49]!==V||t[50]!==q?(Ke=ne(q,u,V),t[48]=u,t[49]=V,t[50]=q,t[51]=Ke):Ke=t[51];let J=Ke,qe=u!==`folder`,Je;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(Je=function(e){P(e),F(!0)},t[52]=Je):Je=t[52];let Ye=Je,Xe;t[53]===z?Xe=t[54]:(Xe=function(e){ce(z[e]??``)},t[53]=z,t[54]=Xe);let Ze=Xe,Qe;t[55]===z?Qe=t[56]:(Qe=function(e){ce(z[e]??``),b(3)},t[55]=z,t[56]=Qe);let $e=Qe,et;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(et=function(e){ue(e),p(e)},t[57]=et):et=t[57];let tt=et,nt;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(nt=function(){b(3)},t[58]=nt):nt=t[58];let rt=nt,Y;t[59]===W?Y=t[60]:(Y=e=>!e&&W(),t[59]=W,t[60]=Y);let X;t[61]!==Ue||t[62]!==Ve||t[63]!==Ge||t[64]!==qe?(X=qe?(0,I.jsx)(x,{currentStep:Ve,canGoToStep:Ue,onGoToStep:Ge}):null,t[61]=Ue,t[62]=Ve,t[63]=Ge,t[64]=qe,t[65]=X):X=t[65];let Z;t[66]===J.title?Z=t[67]:(Z=(0,I.jsx)(k,{children:J.title}),t[66]=J.title,t[67]=Z);let it;t[68]===J.description?it=t[69]:(it=(0,I.jsx)(E,{children:J.description}),t[68]=J.description,t[69]=it);let Q;t[70]!==Z||t[71]!==it?(Q=(0,I.jsxs)(S,{children:[Z,it]}),t[70]=Z,t[71]=it,t[72]=Q):Q=t[72];let at;t[73]!==X||t[74]!==Q?(at=(0,I.jsxs)(`div`,{className:`px-6 pb-2 pt-6`,children:[X,Q]}),t[73]=X,t[74]=Q,t[75]=at):at=t[75];let ot;t[76]!==G||t[77]!==A||t[78]!==B||t[79]!==C||t[80]!==Ze||t[81]!==$e||t[82]!==K||t[83]!==me||t[84]!==u||t[85]!==L||t[86]!==j||t[87]!==U||t[88]!==H||t[89]!==V||t[90]!==q||t[91]!==Ee||t[92]!==be||t[93]!==Te||t[94]!==De?(ot=(0,I.jsx)(Se,{step:q,mode:u,canGoToStep3:G,gitUrl:C,onGitUrlChange:w,onNext:rt,templatesLoading:be,typeNames:Te,templatesByTypeName:Ee,selectedTypeNameFromEffective:V,loadedImages:me,onImageLoad:ye,onSelectType:Ze,onSelectTypeAndAdvance:$e,projectName:j,onProjectNameChange:Ye,onSubmitFolder:K,projectNameDisplay:U,variations:De,effectiveTemplateId:B,onTemplateIdChange:ce,selectedTemplate:H,packageManager:L,onPackageManagerChange:tt,commitMethod:A,onCommitMethodChange:Fe}),t[76]=G,t[77]=A,t[78]=B,t[79]=C,t[80]=Ze,t[81]=$e,t[82]=K,t[83]=me,t[84]=u,t[85]=L,t[86]=j,t[87]=U,t[88]=H,t[89]=V,t[90]=q,t[91]=Ee,t[92]=be,t[93]=Te,t[94]=De,t[95]=ot):ot=t[95];let st;t[96]===ze?st=t[97]:(st=()=>void ze(),t[96]=ze,t[97]=st);let ct;t[98]!==G||t[99]!==Me||t[100]!==Le||t[101]!==K||t[102]!==de||t[103]!==u||t[104]!==j||t[105]!==U||t[106]!==q||t[107]!==st?(ct=(0,I.jsx)(Ce,{step:q,mode:u,canGoToStep3:G,projectName:j,projectNameDisplay:U,isCheckingVp:de,onBack:Me,onNext:rt,onSubmitClone:Le,onSubmitFolder:K,onSubmitWebApp:st}),t[98]=G,t[99]=Me,t[100]=Le,t[101]=K,t[102]=de,t[103]=u,t[104]=j,t[105]=U,t[106]=q,t[107]=st,t[108]=ct):ct=t[108];let $;t[109]!==at||t[110]!==ot||t[111]!==ct?($=(0,I.jsxs)(D,{className:`flex h-[min(42rem,90dvh)] max-w-2xl flex-col overflow-hidden p-0`,children:[at,ot,ct]}),t[109]=at,t[110]=ot,t[111]=ct,t[112]=$):$=t[112];let lt;return t[113]!==n||t[114]!==Y||t[115]!==$?(lt=(0,I.jsx)(O,{open:n,onOpenChange:Y,children:$}),t[113]=n,t[114]=Y,t[115]=$,t[116]=lt):lt=t[116],lt}function we(){}export{R as CreateProjectDialog,R as default,Ce as ProjectDialogFooter};
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Dt as n}from"./dist-CTLFS4dn.js";import{t as r}from"./button-kWtLAMpB.js";import{Jn as i,_r as a,dr as o,fr as s,gr as c,hr as l,mr as u,pr as d,vr as f}from"./index-u8UbWjXL.js";import{n as p,t as m}from"./radio-group-Dn_pN-pn.js";var h=e(),g=t();function _(e){let t=(0,h.c)(50),{open:_,onOpenChange:v,repoName:y,onRepoNameChange:b,repoDescription:x,onRepoDescriptionChange:S,isPrivateRepo:C,onPrivateRepoChange:w,isLoading:T,onCreateRepo:E}=e,D;t[0]!==v||t[1]!==S||t[2]!==b?(D=e=>{e||(b(``),S(``)),v(e)},t[0]=v,t[1]=S,t[2]=b,t[3]=D):D=t[3];let O;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,g.jsxs)(a,{children:[(0,g.jsx)(f,{children:`Create GitHub Repository`}),(0,g.jsx)(l,{children:`Create a new GitHub repository and push your local repository`})]}),t[4]=O):O=t[4];let k;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,g.jsx)(o,{htmlFor:`repo-name`,children:`Repository Name (optional)`}),t[5]=k):k=t[5];let A;t[6]===b?A=t[7]:(A=e=>b(e.target.value),t[6]=b,t[7]=A);let j;t[8]!==y||t[9]!==A?(j=(0,g.jsxs)(`div`,{className:`grid gap-2`,children:[k,(0,g.jsx)(s,{id:`repo-name`,placeholder:`Leave empty to use current folder name`,value:y,onChange:A})]}),t[8]=y,t[9]=A,t[10]=j):j=t[10];let M;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,g.jsx)(o,{htmlFor:`repo-description`,children:`Description (optional)`}),t[11]=M):M=t[11];let N;t[12]===S?N=t[13]:(N=e=>S(e.target.value),t[12]=S,t[13]=N);let P;t[14]!==x||t[15]!==N?(P=(0,g.jsxs)(`div`,{className:`grid gap-2`,children:[M,(0,g.jsx)(i,{id:`repo-description`,placeholder:`Enter repository description...`,value:x,onChange:N,rows:3})]}),t[14]=x,t[15]=N,t[16]=P):P=t[16];let F;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,g.jsx)(o,{children:`Visibility`}),t[17]=F):F=t[17];let I=C?`private`:`public`,L;t[18]===w?L=t[19]:(L=e=>w(e===`private`),t[18]=w,t[19]=L);let R;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,g.jsx)(p,{value:`public`,id:`repo-public`,className:`mt-0.5`}),t[20]=R):R=t[20];let z;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,g.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-border p-3`,children:[R,(0,g.jsxs)(`div`,{className:`grid gap-1`,children:[(0,g.jsx)(o,{htmlFor:`repo-public`,className:n.labelNormal,children:`Public`}),(0,g.jsx)(`p`,{className:n.caption,children:`Anyone on GitHub can see this repository`})]})]}),t[21]=z):z=t[21];let B;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,g.jsx)(p,{value:`private`,id:`repo-private`,className:`mt-0.5`}),t[22]=B):B=t[22];let V;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,g.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-border p-3`,children:[B,(0,g.jsxs)(`div`,{className:`grid gap-1`,children:[(0,g.jsx)(o,{htmlFor:`repo-private`,className:n.labelNormal,children:`Private`}),(0,g.jsx)(`p`,{className:n.caption,children:`Only you and collaborators can see this repository`})]})]}),t[23]=V):V=t[23];let H;t[24]!==I||t[25]!==L?(H=(0,g.jsxs)(`div`,{className:`grid gap-2`,children:[F,(0,g.jsxs)(m,{value:I,onValueChange:L,className:`grid-cols-2`,children:[z,V]})]}),t[24]=I,t[25]=L,t[26]=H):H=t[26];let U;t[27]!==H||t[28]!==j||t[29]!==P?(U=(0,g.jsxs)(`div`,{className:`grid gap-4 py-4`,children:[j,P,H]}),t[27]=H,t[28]=j,t[29]=P,t[30]=U):U=t[30];let W;t[31]===v?W=t[32]:(W=()=>v(!1),t[31]=v,t[32]=W);let G;t[33]!==T||t[34]!==W?(G=(0,g.jsx)(r,{variant:`outline`,onClick:W,disabled:T,children:`Cancel`}),t[33]=T,t[34]=W,t[35]=G):G=t[35];let K=T?`Creating...`:`Create & Push`,q;t[36]!==T||t[37]!==E||t[38]!==K?(q=(0,g.jsx)(r,{onClick:E,disabled:T,children:K}),t[36]=T,t[37]=E,t[38]=K,t[39]=q):q=t[39];let J;t[40]!==G||t[41]!==q?(J=(0,g.jsxs)(c,{children:[G,q]}),t[40]=G,t[41]=q,t[42]=J):J=t[42];let Y;t[43]!==U||t[44]!==J?(Y=(0,g.jsxs)(u,{children:[O,U,J]}),t[43]=U,t[44]=J,t[45]=Y):Y=t[45];let X;return t[46]!==_||t[47]!==D||t[48]!==Y?(X=(0,g.jsx)(d,{open:_,onOpenChange:D,children:Y}),t[46]=_,t[47]=D,t[48]=Y,t[49]=X):X=t[49],X}export{_ as CreateRepoDialog};
1
+ import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Dt as n}from"./dist-CTLFS4dn.js";import{t as r}from"./button-kWtLAMpB.js";import{Jn as i,_r as a,dr as o,fr as s,gr as c,hr as l,mr as u,pr as d,vr as f}from"./index-B3-5kIOf.js";import{n as p,t as m}from"./radio-group-Dn_pN-pn.js";var h=e(),g=t();function _(e){let t=(0,h.c)(50),{open:_,onOpenChange:v,repoName:y,onRepoNameChange:b,repoDescription:x,onRepoDescriptionChange:S,isPrivateRepo:C,onPrivateRepoChange:w,isLoading:T,onCreateRepo:E}=e,D;t[0]!==v||t[1]!==S||t[2]!==b?(D=e=>{e||(b(``),S(``)),v(e)},t[0]=v,t[1]=S,t[2]=b,t[3]=D):D=t[3];let O;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,g.jsxs)(a,{children:[(0,g.jsx)(f,{children:`Create GitHub Repository`}),(0,g.jsx)(l,{children:`Create a new GitHub repository and push your local repository`})]}),t[4]=O):O=t[4];let k;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,g.jsx)(o,{htmlFor:`repo-name`,children:`Repository Name (optional)`}),t[5]=k):k=t[5];let A;t[6]===b?A=t[7]:(A=e=>b(e.target.value),t[6]=b,t[7]=A);let j;t[8]!==y||t[9]!==A?(j=(0,g.jsxs)(`div`,{className:`grid gap-2`,children:[k,(0,g.jsx)(s,{id:`repo-name`,placeholder:`Leave empty to use current folder name`,value:y,onChange:A})]}),t[8]=y,t[9]=A,t[10]=j):j=t[10];let M;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,g.jsx)(o,{htmlFor:`repo-description`,children:`Description (optional)`}),t[11]=M):M=t[11];let N;t[12]===S?N=t[13]:(N=e=>S(e.target.value),t[12]=S,t[13]=N);let P;t[14]!==x||t[15]!==N?(P=(0,g.jsxs)(`div`,{className:`grid gap-2`,children:[M,(0,g.jsx)(i,{id:`repo-description`,placeholder:`Enter repository description...`,value:x,onChange:N,rows:3})]}),t[14]=x,t[15]=N,t[16]=P):P=t[16];let F;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,g.jsx)(o,{children:`Visibility`}),t[17]=F):F=t[17];let I=C?`private`:`public`,L;t[18]===w?L=t[19]:(L=e=>w(e===`private`),t[18]=w,t[19]=L);let R;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,g.jsx)(p,{value:`public`,id:`repo-public`,className:`mt-0.5`}),t[20]=R):R=t[20];let z;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,g.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-border p-3`,children:[R,(0,g.jsxs)(`div`,{className:`grid gap-1`,children:[(0,g.jsx)(o,{htmlFor:`repo-public`,className:n.labelNormal,children:`Public`}),(0,g.jsx)(`p`,{className:n.caption,children:`Anyone on GitHub can see this repository`})]})]}),t[21]=z):z=t[21];let B;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,g.jsx)(p,{value:`private`,id:`repo-private`,className:`mt-0.5`}),t[22]=B):B=t[22];let V;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,g.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-border p-3`,children:[B,(0,g.jsxs)(`div`,{className:`grid gap-1`,children:[(0,g.jsx)(o,{htmlFor:`repo-private`,className:n.labelNormal,children:`Private`}),(0,g.jsx)(`p`,{className:n.caption,children:`Only you and collaborators can see this repository`})]})]}),t[23]=V):V=t[23];let H;t[24]!==I||t[25]!==L?(H=(0,g.jsxs)(`div`,{className:`grid gap-2`,children:[F,(0,g.jsxs)(m,{value:I,onValueChange:L,className:`grid-cols-2`,children:[z,V]})]}),t[24]=I,t[25]=L,t[26]=H):H=t[26];let U;t[27]!==H||t[28]!==j||t[29]!==P?(U=(0,g.jsxs)(`div`,{className:`grid gap-4 py-4`,children:[j,P,H]}),t[27]=H,t[28]=j,t[29]=P,t[30]=U):U=t[30];let W;t[31]===v?W=t[32]:(W=()=>v(!1),t[31]=v,t[32]=W);let G;t[33]!==T||t[34]!==W?(G=(0,g.jsx)(r,{variant:`outline`,onClick:W,disabled:T,children:`Cancel`}),t[33]=T,t[34]=W,t[35]=G):G=t[35];let K=T?`Creating...`:`Create & Push`,q;t[36]!==T||t[37]!==E||t[38]!==K?(q=(0,g.jsx)(r,{onClick:E,disabled:T,children:K}),t[36]=T,t[37]=E,t[38]=K,t[39]=q):q=t[39];let J;t[40]!==G||t[41]!==q?(J=(0,g.jsxs)(c,{children:[G,q]}),t[40]=G,t[41]=q,t[42]=J):J=t[42];let Y;t[43]!==U||t[44]!==J?(Y=(0,g.jsxs)(u,{children:[O,U,J]}),t[43]=U,t[44]=J,t[45]=Y):Y=t[45];let X;return t[46]!==_||t[47]!==D||t[48]!==Y?(X=(0,g.jsx)(d,{open:_,onOpenChange:D,children:Y}),t[46]=_,t[47]=D,t[48]=Y,t[49]=X):X=t[49],X}export{_ as CreateRepoDialog};
@@ -1,4 +1,4 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{Dt as i,N as a}from"./dist-CTLFS4dn.js";import{$ as o,B as s,V as c,n as l,r as u}from"./store-BSzKIu5G.js";import{r as d,t as f}from"./button-kWtLAMpB.js";import{Kt as p,Mn as m,Yt as h,Z as g,bt as _,dt as v,fn as y,ft as b,jn as x,qt as S,vt as C,wt as w,y as T}from"./dist-c_QADQ5u.js";import{i as E,n as D,t as O}from"./tooltip-Db8UeYxm.js";import{Dr as k,Vt as A,Xn as j,_r as M,hr as N,q as P,tt as F}from"./api-DX1ny6q-.js";import{n as I}from"./scroll-area-lkVMElz5.js";import{t as L}from"./suspense-resource-BFrb_XJX.js";import{t as R}from"./use-suspense-resource-Dakt9lfT.js";import{n as ee}from"./explorer-tab-context-BxUVwWQQ.js";import{n as z}from"./async-loading-fallback-V0EaQ_Kn.js";import{Bt as B,Dn as V,F as H,Jn as te,Kn as U,Ln as ne,Mn as re,Nn as W,O as ie,Pn as G,Un as ae,V as oe,_r as se,gr as ce,j as le,mr as K,pr as q,qn as ue,vr as de}from"./index-u8UbWjXL.js";import{a as fe,n as pe,r as J,t as me}from"./context-menu-BcM6I0Sx.js";import{t as he}from"./async-error-boundary-BX1G17o9.js";import{s as Y}from"./monaco-lJcjGRXq.js";import{n as ge}from"./monaco-setup-DU2h1v3K.js";var X=e(n(),1),Z=t(),Q=r();function _e(e){let t=(0,Z.c)(12),{children:n,title:r,subtitle:a,headerAction:o,footer:s}=e,c;t[0]!==o||t[1]!==a||t[2]!==r?(c=(r||a||o)&&(0,Q.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-1 border-b border-sidebar-border px-4 py-6`,children:[(r||o)&&(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsx)(`div`,{className:`flex items-center gap-2`,children:r&&(0,Q.jsx)(`span`,{className:i.sectionTitle,children:r})}),o&&(0,Q.jsx)(`div`,{className:`flex items-center gap-2 ml-auto`,children:o})]}),a]}),t[0]=o,t[1]=a,t[2]=r,t[3]=c):c=t[3];let l;t[4]===n?l=t[5]:(l=(0,Q.jsx)(I,{className:`min-h-0 flex-1`,children:n}),t[4]=n,t[5]=l);let u;t[6]===s?u=t[7]:(u=s&&(0,Q.jsx)(`div`,{className:`border-t border-sidebar-border`,children:s}),t[6]=s,t[7]=u);let d;return t[8]!==c||t[9]!==l||t[10]!==u?(d=(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 w-full flex-col`,children:[c,l,u]}),t[8]=c,t[9]=l,t[10]=u,t[11]=d):d=t[11],d}function ve(e){let t=(0,Z.c)(30),{node:n,level:r,renderNode:i,defaultOpen:a,indent:o,childContainerClassName:s,openState:c,onToggle:l,forceOpenIds:u}=e,d=!!(n.children&&n.children.length>0),f,p,m;if(t[0]!==a||t[1]!==u||t[2]!==d||t[3]!==r||t[4]!==n||t[5]!==l||t[6]!==c||t[7]!==i){f=u?.has(n.id)||(c[n.id]??a);let e;t[11]!==n.id||t[12]!==l?(e=()=>l(n.id),t[11]=n.id,t[12]=l,t[13]=e):e=t[13];let o=e;p=`min-w-0`,m=i(n,{isOpen:f,level:r,toggle:o,hasChildren:d}),t[0]=a,t[1]=u,t[2]=d,t[3]=r,t[4]=n,t[5]=l,t[6]=c,t[7]=i,t[8]=f,t[9]=p,t[10]=m}else f=t[8],p=t[9],m=t[10];let h;t[14]!==s||t[15]!==a||t[16]!==u||t[17]!==d||t[18]!==o||t[19]!==f||t[20]!==r||t[21]!==n.children||t[22]!==l||t[23]!==c||t[24]!==i?(h=d&&f&&(0,Q.jsx)(`div`,{style:{paddingLeft:o},className:s,children:n.children.map(e=>(0,Q.jsx)(ve,{node:e,level:r+1,renderNode:i,defaultOpen:a,indent:o,childContainerClassName:s,openState:c,onToggle:l,forceOpenIds:u},e.id))}),t[14]=s,t[15]=a,t[16]=u,t[17]=d,t[18]=o,t[19]=f,t[20]=r,t[21]=n.children,t[22]=l,t[23]=c,t[24]=i,t[25]=h):h=t[25];let g;return t[26]!==p||t[27]!==m||t[28]!==h?(g=(0,Q.jsxs)(`div`,{className:p,children:[m,h]}),t[26]=p,t[27]=m,t[28]=h,t[29]=g):g=t[29],g}function ye(e){let t=(0,Z.c)(31),{nodes:n,renderNode:r,resetKey:i,defaultOpen:a,forceOpenIds:o,initialOpenIds:s,indent:c,childContainerClassName:l,className:u}=e,f=a===void 0?!1:a,p=c===void 0?16:c,m;t[0]===s?m=t[1]:(m=()=>{let e={};if(s)for(let t of s)e[t]=!0;return e},t[0]=s,t[1]=m);let[h,g]=(0,X.useState)(m),[_,v]=(0,X.useState)(i);if(i!==_){v(i);let e={};if(s)for(let t of s)e[t]=!0;g(e)}let y;t[2]===o?y=t[3]:(y=o?new Set(o):void 0,t[2]=o,t[3]=y);let b=y,x,S;t[4]===o?(x=t[5],S=t[6]):(x=()=>{o?.length&&g(e=>{let t={...e},n=!1;for(let e of o)t[e]!==!0&&(t[e]=!0,n=!0);return n?t:e})},S=[o],t[4]=o,t[5]=x,t[6]=S),(0,X.useEffect)(x,S);let C;t[7]===f?C=t[8]:(C=e=>{g(t=>({...t,[e]:!(t[e]??f)}))},t[7]=f,t[8]=C);let w=C,T;t[9]===u?T=t[10]:(T=d(`min-w-0`,u),t[9]=u,t[10]=T);let E;if(t[11]!==l||t[12]!==f||t[13]!==b||t[14]!==w||t[15]!==p||t[16]!==n||t[17]!==h||t[18]!==r){let e;t[20]!==l||t[21]!==f||t[22]!==b||t[23]!==w||t[24]!==p||t[25]!==h||t[26]!==r?(e=e=>(0,Q.jsx)(ve,{node:e,level:0,renderNode:r,defaultOpen:f,indent:p,childContainerClassName:l,openState:h,onToggle:w,forceOpenIds:b},e.id),t[20]=l,t[21]=f,t[22]=b,t[23]=w,t[24]=p,t[25]=h,t[26]=r,t[27]=e):e=t[27],E=n.map(e),t[11]=l,t[12]=f,t[13]=b,t[14]=w,t[15]=p,t[16]=n,t[17]=h,t[18]=r,t[19]=E}else E=t[19];let D;return t[28]!==T||t[29]!==E?(D=(0,Q.jsx)(`div`,{className:T,children:E}),t[28]=T,t[29]=E,t[30]=D):D=t[30],D}function be(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 xe={added:`text-green-500`,deleted:`text-red-500`,untracked:`text-green-500`,renamed:`text-blue-500`,modified:`text-orange-500`},Se={added:`A`,deleted:`D`,untracked:`U`,renamed:`R`,modified:`M`};function Ce(e){return d(d(i.compact,`status-badge font-mono font-semibold`),xe[e]??`text-orange-500`)}function we(e){return Se[e]??`M`}function Te(e){let t=(0,Z.c)(22),{treeData:n,files:r,error:a,selectedFileIndex:o,onFileSelect:s,onRevertFile:c}=e,{setStats:l}=le(),u;t[0]===r?u=t[1]:(u=r.reduce(ke,0),t[0]=r,t[1]=u);let f=u,m;t[2]===r?m=t[3]:(m=r.reduce(Ee,0),t[2]=r,t[3]=m);let _=m,v,y;if(t[4]!==r.length||t[5]!==l||t[6]!==f||t[7]!==_?(v=()=>{l({fileCount:r.length,additions:f,deletions:_})},y=[r.length,f,_,l],t[4]=r.length,t[5]=l,t[6]=f,t[7]=_,t[8]=v,t[9]=y):(v=t[8],y=t[9]),(0,X.useEffect)(v,y),a){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=d(i.compact,`text-destructive text-center`),t[10]=e):e=t[10];let n;return t[11]===a?n=t[12]:(n=(0,Q.jsx)(_e,{children:(0,Q.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,Q.jsx)(`p`,{className:e,children:a})})}),t[11]=a,t[12]=n),n}if(r.length===0){let e;return t[13]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(_e,{children:(0,Q.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,Q.jsx)(`p`,{className:d(i.compact,i.bodyMuted,`text-center`),children:`No changes to review`})})}),t[13]=e):e=t[13],e}let b;t[14]!==r||t[15]!==s||t[16]!==c||t[17]!==o?(b=(e,t)=>{let{isOpen:n,toggle:a}=t,l=!!e.children,u=(0,Q.jsxs)(U,{onClick:()=>{l?a():e.fileIndex!==void 0&&s(e.fileIndex)},selected:!l&&e.fileIndex===o,className:d(i.conversationBody,`gap-1.5`),children:[l?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(x,{className:d(`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform`,n&&`rotate-90`)}),n?(0,Q.jsx)(S,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}):(0,Q.jsx)(p,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]}):(0,Q.jsx)(h,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,Q.jsx)(`span`,{className:`truncate flex-1 min-w-0`,children:e.name}),!l&&e.status&&(0,Q.jsx)(`span`,{className:Ce(e.status),children:we(e.status)})]});return l?u:(0,Q.jsxs)(me,{children:[(0,Q.jsx)(fe,{asChild:!0,children:(0,Q.jsx)(`div`,{children:u})}),(0,Q.jsx)(pe,{children:(0,Q.jsxs)(J,{onClick:()=>{e.fileIndex!==void 0&&c?.(r[e.fileIndex])},children:[(0,Q.jsx)(g,{className:`mr-2 h-3.5 w-3.5`}),`Revert Change`]})})]})},t[14]=r,t[15]=s,t[16]=c,t[17]=o,t[18]=b):b=t[18];let C;return t[19]!==b||t[20]!==n?(C=(0,Q.jsx)(_e,{children:(0,Q.jsx)(`div`,{className:`px-1 pt-3 pb-2`,children:(0,Q.jsx)(ye,{nodes:n,defaultOpen:!0,indent:16,childContainerClassName:`ml-4 border-l border-sidebar-border pl-2`,renderNode:b})})}),t[19]=b,t[20]=n,t[21]=C):C=t[21],C}function Ee(e,t){return e+t.hunks.reduce(De,0)}function De(e,t){return e+t.changes.filter(Oe).length}function Oe(e){return e.type===`delete`}function ke(e,t){return e+t.hunks.reduce(Ae,0)}function Ae(e,t){return e+t.changes.filter(je).length}function je(e){return e.type===`add`}function Me(e){let t=(0,Z.c)(36),{open:n,lineNumber:r,lineContent:a,initialComment:o,isEditing:s,onSave:c,onDelete:l,onClose:u}=e,[p,m]=(0,X.useState)((o===void 0?``:o)??``),h;t[0]!==c||t[1]!==p?(h=()=>{p.trim()&&c(p.trim())},t[0]=c,t[1]=p,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 b;t[7]===r?b=t[8]:(b=(0,Q.jsx)(se,{children:(0,Q.jsxs)(de,{children:[`Comment on line `,r]})}),t[7]=r,t[8]=b);let x;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(x=d(i.compact,`font-mono rounded bg-muted px-3 py-2 text-muted-foreground overflow-x-auto whitespace-pre`),t[9]=x):x=t[9];let S=a||` `,C;t[10]===S?C=t[11]:(C=(0,Q.jsx)(`div`,{className:x,children:S}),t[10]=S,t[11]=C);let w;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>m(e.target.value),t[12]=w):w=t[12];let T;t[13]!==v||t[14]!==p?(T=(0,Q.jsx)(te,{autoFocus:!0,placeholder:`Add a comment... (Cmd+Enter to save)`,value:p,onChange:w,onKeyDown:v,rows:12,className:`resize-none text-base`}),t[13]=v,t[14]=p,t[15]=T):T=t[15];let E;t[16]!==s||t[17]!==l?(E=s&&l&&(0,Q.jsx)(f,{variant:`destructive`,size:`sm`,onClick:l,className:`mr-auto`,children:`Delete`}),t[16]=s,t[17]=l,t[18]=E):E=t[18];let D;t[19]===p?D=t[20]:(D=p.trim(),t[19]=p,t[20]=D);let O=!D,k;t[21]!==g||t[22]!==O?(k=(0,Q.jsx)(f,{size:`sm`,onClick:g,disabled:O,children:`Save`}),t[21]=g,t[22]=O,t[23]=k):k=t[23];let A;t[24]!==E||t[25]!==k?(A=(0,Q.jsxs)(ce,{className:`gap-2 sm:gap-0`,children:[E,k]}),t[24]=E,t[25]=k,t[26]=A):A=t[26];let j;t[27]!==T||t[28]!==A||t[29]!==b||t[30]!==C?(j=(0,Q.jsxs)(K,{className:`max-w-2xl`,children:[b,C,T,A]}),t[27]=T,t[28]=A,t[29]=b,t[30]=C,t[31]=j):j=t[31];let M;return t[32]!==n||t[33]!==j||t[34]!==y?(M=(0,Q.jsx)(q,{open:n,onOpenChange:y,children:j}),t[32]=n,t[33]=j,t[34]=y,t[35]=M):M=t[35],M}function Ne(e){let t=l(),n=u(e=>e.diffComments),r=(0,X.useMemo)(()=>n[e]??[],[n,e]),i=(0,X.useCallback)(r=>{let i=n[e]??[],a=typeof r==`function`?r(i):r;t({type:o.SetDiffComments,threadId:e,comments:a})},[t,e,n]),a=(0,X.useRef)(!1);return(0,X.useEffect)(()=>{if((n[e]??[]).length>0){a.current=!0;return}A(e).then(n=>{n.diffComments&&n.diffComments.length>0&&t({type:o.SetDiffComments,threadId:e,comments:n.diffComments}),a.current=!0}).catch(()=>{a.current=!0})},[e]),(0,X.useEffect)(()=>{a.current&&j(e,{diffComments:r}).catch(()=>{})},[e,r]),{comments:r,setComments:i}}function Pe(e,t){return`git-diff:${e}:${t}`}function Fe(e){return e===`dark`?`vs-dark`:`vs-light`}function Ie(e){return d(`bg-transparent`,e&&`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`)}function Le(e){return d(`flex items-center gap-2`,e?`ml-0`:`ml-auto`,`md:ml-auto`)}function Re(){return Error(`Loading review changes timed out. Please try again.`)}async function ze(e,t=15e3){return Promise.race([N(e),new Promise((e,n)=>{window.setTimeout(()=>n(Re()),t)})])}var Be=2;function Ve(e,t){return t<=0?{min:e,max:e}:{min:e,max:e+t-1}}function He(e,t){return{startLine:Math.max(1,e-Be),endLine:t+Be}}function $(e){if(e.hunks.length===0)return null;let t=1/0,n=0,r=1/0,i=0;for(let a of e.hunks){let e=Ve(a.oldStart,a.oldLines),o=Ve(a.newStart,a.newLines);t=Math.min(t,e.min),n=Math.max(n,e.max),r=Math.min(r,o.min),i=Math.max(i,o.max)}return t===1/0||r===1/0?null:{original:He(t,n),modified:He(r,i)}}function Ue(e,t,n){if(e.length===0)return``;let r=e.endsWith(`
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{Dt as i,N as a}from"./dist-CTLFS4dn.js";import{$ as o,B as s,V as c,n as l,r as u}from"./store-BSzKIu5G.js";import{r as d,t as f}from"./button-kWtLAMpB.js";import{Kt as p,Mn as m,Yt as h,Z as g,bt as _,dt as v,fn as y,ft as b,jn as x,qt as S,vt as C,wt as w,y as T}from"./dist-c_QADQ5u.js";import{i as E,n as D,t as O}from"./tooltip-Db8UeYxm.js";import{Dr as k,Vt as A,Xn as j,_r as M,hr as N,q as P,tt as F}from"./api-DX1ny6q-.js";import{n as I}from"./scroll-area-lkVMElz5.js";import{t as L}from"./suspense-resource-BFrb_XJX.js";import{t as R}from"./use-suspense-resource-Dakt9lfT.js";import{n as ee}from"./explorer-tab-context-BxUVwWQQ.js";import{n as z}from"./async-loading-fallback-V0EaQ_Kn.js";import{Fn as B,H as V,I as H,Jn as te,Kn as U,Ln as ne,M as re,Nn as ie,On as W,Pn as G,Un as ae,Vt as oe,_r as se,gr as ce,k as le,mr as K,pr as q,qn as ue,vr as de}from"./index-B3-5kIOf.js";import{a as fe,n as pe,r as J,t as me}from"./context-menu-BcM6I0Sx.js";import{t as he}from"./async-error-boundary-BX1G17o9.js";import{s as Y}from"./monaco-lJcjGRXq.js";import{n as ge}from"./monaco-setup-DU2h1v3K.js";var X=e(n(),1),Z=t(),Q=r();function _e(e){let t=(0,Z.c)(12),{children:n,title:r,subtitle:a,headerAction:o,footer:s}=e,c;t[0]!==o||t[1]!==a||t[2]!==r?(c=(r||a||o)&&(0,Q.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-1 border-b border-sidebar-border px-4 py-6`,children:[(r||o)&&(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsx)(`div`,{className:`flex items-center gap-2`,children:r&&(0,Q.jsx)(`span`,{className:i.sectionTitle,children:r})}),o&&(0,Q.jsx)(`div`,{className:`flex items-center gap-2 ml-auto`,children:o})]}),a]}),t[0]=o,t[1]=a,t[2]=r,t[3]=c):c=t[3];let l;t[4]===n?l=t[5]:(l=(0,Q.jsx)(I,{className:`min-h-0 flex-1`,children:n}),t[4]=n,t[5]=l);let u;t[6]===s?u=t[7]:(u=s&&(0,Q.jsx)(`div`,{className:`border-t border-sidebar-border`,children:s}),t[6]=s,t[7]=u);let d;return t[8]!==c||t[9]!==l||t[10]!==u?(d=(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 w-full flex-col`,children:[c,l,u]}),t[8]=c,t[9]=l,t[10]=u,t[11]=d):d=t[11],d}function ve(e){let t=(0,Z.c)(30),{node:n,level:r,renderNode:i,defaultOpen:a,indent:o,childContainerClassName:s,openState:c,onToggle:l,forceOpenIds:u}=e,d=!!(n.children&&n.children.length>0),f,p,m;if(t[0]!==a||t[1]!==u||t[2]!==d||t[3]!==r||t[4]!==n||t[5]!==l||t[6]!==c||t[7]!==i){f=u?.has(n.id)||(c[n.id]??a);let e;t[11]!==n.id||t[12]!==l?(e=()=>l(n.id),t[11]=n.id,t[12]=l,t[13]=e):e=t[13];let o=e;p=`min-w-0`,m=i(n,{isOpen:f,level:r,toggle:o,hasChildren:d}),t[0]=a,t[1]=u,t[2]=d,t[3]=r,t[4]=n,t[5]=l,t[6]=c,t[7]=i,t[8]=f,t[9]=p,t[10]=m}else f=t[8],p=t[9],m=t[10];let h;t[14]!==s||t[15]!==a||t[16]!==u||t[17]!==d||t[18]!==o||t[19]!==f||t[20]!==r||t[21]!==n.children||t[22]!==l||t[23]!==c||t[24]!==i?(h=d&&f&&(0,Q.jsx)(`div`,{style:{paddingLeft:o},className:s,children:n.children.map(e=>(0,Q.jsx)(ve,{node:e,level:r+1,renderNode:i,defaultOpen:a,indent:o,childContainerClassName:s,openState:c,onToggle:l,forceOpenIds:u},e.id))}),t[14]=s,t[15]=a,t[16]=u,t[17]=d,t[18]=o,t[19]=f,t[20]=r,t[21]=n.children,t[22]=l,t[23]=c,t[24]=i,t[25]=h):h=t[25];let g;return t[26]!==p||t[27]!==m||t[28]!==h?(g=(0,Q.jsxs)(`div`,{className:p,children:[m,h]}),t[26]=p,t[27]=m,t[28]=h,t[29]=g):g=t[29],g}function ye(e){let t=(0,Z.c)(31),{nodes:n,renderNode:r,resetKey:i,defaultOpen:a,forceOpenIds:o,initialOpenIds:s,indent:c,childContainerClassName:l,className:u}=e,f=a===void 0?!1:a,p=c===void 0?16:c,m;t[0]===s?m=t[1]:(m=()=>{let e={};if(s)for(let t of s)e[t]=!0;return e},t[0]=s,t[1]=m);let[h,g]=(0,X.useState)(m),[_,v]=(0,X.useState)(i);if(i!==_){v(i);let e={};if(s)for(let t of s)e[t]=!0;g(e)}let y;t[2]===o?y=t[3]:(y=o?new Set(o):void 0,t[2]=o,t[3]=y);let b=y,x,S;t[4]===o?(x=t[5],S=t[6]):(x=()=>{o?.length&&g(e=>{let t={...e},n=!1;for(let e of o)t[e]!==!0&&(t[e]=!0,n=!0);return n?t:e})},S=[o],t[4]=o,t[5]=x,t[6]=S),(0,X.useEffect)(x,S);let C;t[7]===f?C=t[8]:(C=e=>{g(t=>({...t,[e]:!(t[e]??f)}))},t[7]=f,t[8]=C);let w=C,T;t[9]===u?T=t[10]:(T=d(`min-w-0`,u),t[9]=u,t[10]=T);let E;if(t[11]!==l||t[12]!==f||t[13]!==b||t[14]!==w||t[15]!==p||t[16]!==n||t[17]!==h||t[18]!==r){let e;t[20]!==l||t[21]!==f||t[22]!==b||t[23]!==w||t[24]!==p||t[25]!==h||t[26]!==r?(e=e=>(0,Q.jsx)(ve,{node:e,level:0,renderNode:r,defaultOpen:f,indent:p,childContainerClassName:l,openState:h,onToggle:w,forceOpenIds:b},e.id),t[20]=l,t[21]=f,t[22]=b,t[23]=w,t[24]=p,t[25]=h,t[26]=r,t[27]=e):e=t[27],E=n.map(e),t[11]=l,t[12]=f,t[13]=b,t[14]=w,t[15]=p,t[16]=n,t[17]=h,t[18]=r,t[19]=E}else E=t[19];let D;return t[28]!==T||t[29]!==E?(D=(0,Q.jsx)(`div`,{className:T,children:E}),t[28]=T,t[29]=E,t[30]=D):D=t[30],D}function be(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 xe={added:`text-green-500`,deleted:`text-red-500`,untracked:`text-green-500`,renamed:`text-blue-500`,modified:`text-orange-500`},Se={added:`A`,deleted:`D`,untracked:`U`,renamed:`R`,modified:`M`};function Ce(e){return d(d(i.compact,`status-badge font-mono font-semibold`),xe[e]??`text-orange-500`)}function we(e){return Se[e]??`M`}function Te(e){let t=(0,Z.c)(22),{treeData:n,files:r,error:a,selectedFileIndex:o,onFileSelect:s,onRevertFile:c}=e,{setStats:l}=re(),u;t[0]===r?u=t[1]:(u=r.reduce(ke,0),t[0]=r,t[1]=u);let f=u,m;t[2]===r?m=t[3]:(m=r.reduce(Ee,0),t[2]=r,t[3]=m);let _=m,v,y;if(t[4]!==r.length||t[5]!==l||t[6]!==f||t[7]!==_?(v=()=>{l({fileCount:r.length,additions:f,deletions:_})},y=[r.length,f,_,l],t[4]=r.length,t[5]=l,t[6]=f,t[7]=_,t[8]=v,t[9]=y):(v=t[8],y=t[9]),(0,X.useEffect)(v,y),a){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=d(i.compact,`text-destructive text-center`),t[10]=e):e=t[10];let n;return t[11]===a?n=t[12]:(n=(0,Q.jsx)(_e,{children:(0,Q.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,Q.jsx)(`p`,{className:e,children:a})})}),t[11]=a,t[12]=n),n}if(r.length===0){let e;return t[13]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(_e,{children:(0,Q.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,Q.jsx)(`p`,{className:d(i.compact,i.bodyMuted,`text-center`),children:`No changes to review`})})}),t[13]=e):e=t[13],e}let b;t[14]!==r||t[15]!==s||t[16]!==c||t[17]!==o?(b=(e,t)=>{let{isOpen:n,toggle:a}=t,l=!!e.children,u=(0,Q.jsxs)(U,{onClick:()=>{l?a():e.fileIndex!==void 0&&s(e.fileIndex)},selected:!l&&e.fileIndex===o,className:d(i.conversationBody,`gap-1.5`),children:[l?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(x,{className:d(`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform`,n&&`rotate-90`)}),n?(0,Q.jsx)(S,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}):(0,Q.jsx)(p,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]}):(0,Q.jsx)(h,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,Q.jsx)(`span`,{className:`truncate flex-1 min-w-0`,children:e.name}),!l&&e.status&&(0,Q.jsx)(`span`,{className:Ce(e.status),children:we(e.status)})]});return l?u:(0,Q.jsxs)(me,{children:[(0,Q.jsx)(fe,{asChild:!0,children:(0,Q.jsx)(`div`,{children:u})}),(0,Q.jsx)(pe,{children:(0,Q.jsxs)(J,{onClick:()=>{e.fileIndex!==void 0&&c?.(r[e.fileIndex])},children:[(0,Q.jsx)(g,{className:`mr-2 h-3.5 w-3.5`}),`Revert Change`]})})]})},t[14]=r,t[15]=s,t[16]=c,t[17]=o,t[18]=b):b=t[18];let C;return t[19]!==b||t[20]!==n?(C=(0,Q.jsx)(_e,{children:(0,Q.jsx)(`div`,{className:`px-1 pt-3 pb-2`,children:(0,Q.jsx)(ye,{nodes:n,defaultOpen:!0,indent:16,childContainerClassName:`ml-4 border-l border-sidebar-border pl-2`,renderNode:b})})}),t[19]=b,t[20]=n,t[21]=C):C=t[21],C}function Ee(e,t){return e+t.hunks.reduce(De,0)}function De(e,t){return e+t.changes.filter(Oe).length}function Oe(e){return e.type===`delete`}function ke(e,t){return e+t.hunks.reduce(Ae,0)}function Ae(e,t){return e+t.changes.filter(je).length}function je(e){return e.type===`add`}function Me(e){let t=(0,Z.c)(36),{open:n,lineNumber:r,lineContent:a,initialComment:o,isEditing:s,onSave:c,onDelete:l,onClose:u}=e,[p,m]=(0,X.useState)((o===void 0?``:o)??``),h;t[0]!==c||t[1]!==p?(h=()=>{p.trim()&&c(p.trim())},t[0]=c,t[1]=p,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 b;t[7]===r?b=t[8]:(b=(0,Q.jsx)(se,{children:(0,Q.jsxs)(de,{children:[`Comment on line `,r]})}),t[7]=r,t[8]=b);let x;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(x=d(i.compact,`font-mono rounded bg-muted px-3 py-2 text-muted-foreground overflow-x-auto whitespace-pre`),t[9]=x):x=t[9];let S=a||` `,C;t[10]===S?C=t[11]:(C=(0,Q.jsx)(`div`,{className:x,children:S}),t[10]=S,t[11]=C);let w;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>m(e.target.value),t[12]=w):w=t[12];let T;t[13]!==v||t[14]!==p?(T=(0,Q.jsx)(te,{autoFocus:!0,placeholder:`Add a comment... (Cmd+Enter to save)`,value:p,onChange:w,onKeyDown:v,rows:12,className:`resize-none text-base`}),t[13]=v,t[14]=p,t[15]=T):T=t[15];let E;t[16]!==s||t[17]!==l?(E=s&&l&&(0,Q.jsx)(f,{variant:`destructive`,size:`sm`,onClick:l,className:`mr-auto`,children:`Delete`}),t[16]=s,t[17]=l,t[18]=E):E=t[18];let D;t[19]===p?D=t[20]:(D=p.trim(),t[19]=p,t[20]=D);let O=!D,k;t[21]!==g||t[22]!==O?(k=(0,Q.jsx)(f,{size:`sm`,onClick:g,disabled:O,children:`Save`}),t[21]=g,t[22]=O,t[23]=k):k=t[23];let A;t[24]!==E||t[25]!==k?(A=(0,Q.jsxs)(ce,{className:`gap-2 sm:gap-0`,children:[E,k]}),t[24]=E,t[25]=k,t[26]=A):A=t[26];let j;t[27]!==T||t[28]!==A||t[29]!==b||t[30]!==C?(j=(0,Q.jsxs)(K,{className:`max-w-2xl`,children:[b,C,T,A]}),t[27]=T,t[28]=A,t[29]=b,t[30]=C,t[31]=j):j=t[31];let M;return t[32]!==n||t[33]!==j||t[34]!==y?(M=(0,Q.jsx)(q,{open:n,onOpenChange:y,children:j}),t[32]=n,t[33]=j,t[34]=y,t[35]=M):M=t[35],M}function Ne(e){let t=l(),n=u(e=>e.diffComments),r=(0,X.useMemo)(()=>n[e]??[],[n,e]),i=(0,X.useCallback)(r=>{let i=n[e]??[],a=typeof r==`function`?r(i):r;t({type:o.SetDiffComments,threadId:e,comments:a})},[t,e,n]),a=(0,X.useRef)(!1);return(0,X.useEffect)(()=>{if((n[e]??[]).length>0){a.current=!0;return}A(e).then(n=>{n.diffComments&&n.diffComments.length>0&&t({type:o.SetDiffComments,threadId:e,comments:n.diffComments}),a.current=!0}).catch(()=>{a.current=!0})},[e]),(0,X.useEffect)(()=>{a.current&&j(e,{diffComments:r}).catch(()=>{})},[e,r]),{comments:r,setComments:i}}function Pe(e,t){return`git-diff:${e}:${t}`}function Fe(e){return e===`dark`?`vs-dark`:`vs-light`}function Ie(e){return d(`bg-transparent`,e&&`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`)}function Le(e){return d(`flex items-center gap-2`,e?`ml-0`:`ml-auto`,`md:ml-auto`)}function Re(){return Error(`Loading review changes timed out. Please try again.`)}async function ze(e,t=15e3){return Promise.race([N(e),new Promise((e,n)=>{window.setTimeout(()=>n(Re()),t)})])}var Be=2;function Ve(e,t){return t<=0?{min:e,max:e}:{min:e,max:e+t-1}}function He(e,t){return{startLine:Math.max(1,e-Be),endLine:t+Be}}function $(e){if(e.hunks.length===0)return null;let t=1/0,n=0,r=1/0,i=0;for(let a of e.hunks){let e=Ve(a.oldStart,a.oldLines),o=Ve(a.newStart,a.newLines);t=Math.min(t,e.min),n=Math.max(n,e.max),r=Math.min(r,o.min),i=Math.max(i,o.max)}return t===1/0||r===1/0?null:{original:He(t,n),modified:He(r,i)}}function Ue(e,t,n){if(e.length===0)return``;let r=e.endsWith(`
2
2
  `),i=e.split(`
3
3
  `);return r&&i.length>0&&i[i.length-1]===``&&i.pop(),i.slice(Math.max(0,t-1),Math.max(t-1,n)).join(`
4
- `)}function We(e){let t=$(e);return t?t.original.startLine<=1||t.modified.startLine<=1:!0}function Ge(e,t){return t?e-t.startLine+1:e}function Ke(e,t){return t?t.startLine+e-1:e}function qe(e){return{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`}function Je(e){let t=(0,Z.c)(34),{comments:n,activeCommentIndex:r,isFullView:i,selectedFileIndex:a,files:o,selectedFile:s,onLineGutterClick:c}=e,l=(0,X.useRef)(null),u=(0,X.useRef)(n),d=(0,X.useRef)(r),f;t[0]!==o||t[1]!==i||t[2]!==a?(f={isFullView:i,selectedFileIndex:a,files:o},t[0]=o,t[1]=i,t[2]=a,t[3]=f):f=t[3];let p=(0,X.useRef)(f),m;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m={original:[],modified:[]},t[4]=m):m=t[4];let h=(0,X.useRef)(m),g=(0,X.useRef)(null),_=(0,X.useRef)(!0),v,y;t[5]===n?(v=t[6],y=t[7]):(v=()=>{u.current=n},y=[n],t[5]=n,t[6]=v,t[7]=y),(0,X.useEffect)(v,y);let b,x;t[8]===r?(b=t[9],x=t[10]):(b=()=>{d.current=r},x=[r],t[8]=r,t[9]=b,t[10]=x),(0,X.useEffect)(b,x);let S,C;t[11]!==o||t[12]!==i||t[13]!==a?(S=()=>{p.current={isFullView:i,selectedFileIndex:a,files:o}},C=[i,a,o],t[11]=o,t[12]=i,t[13]=a,t[14]=S,t[15]=C):(S=t[14],C=t[15]),(0,X.useEffect)(S,C);let w;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>{if(!_.current)return;let e=l.current;if(!e)return;let{isFullView:t,selectedFileIndex:n,files:r}=p.current,i=u.current,a=d.current,o=r[n];if(!o)return;let s=(e,r)=>{let s=t?null:$(o),c=s?r===`original`?s.original:s.modified:null,l=i.filter(e=>e.fileIndex===n&&e.side===r),u=new Set(l.map(e=>Ge(e.lineNumber,c))),d=e.getModel()?.getLineCount()??0,f=[];for(let e=1;e<=d;e++)u.has(e)||f.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:Y.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}});let p=l.map(e=>{let t=Ge(e.lineNumber,c);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:Y.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}}}).filter(Xe);f.push(...p);let m=r===`original`?h.current.original:h.current.modified,g=e.deltaDecorations(m,f);r===`original`?h.current.original=g:h.current.modified=g};s(e.getOriginalEditor(),`original`),s(e.getModifiedEditor(),`modified`)},t[16]=w):w=t[16];let T=w,E;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{let e=g.current;g.current=null,e?.original?.dispose(),e?.modified?.dispose()},t[17]=E):E=t[17];let D=E,O;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>{h.current={original:[],modified:[]};let e=setTimeout(()=>T(),150);return()=>clearTimeout(e)},t[18]=O):O=t[18];let k;t[19]===a?k=t[20]:(k=[a,T],t[19]=a,t[20]=k),(0,X.useEffect)(O,k);let A;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>{T()},t[21]=A):A=t[21];let j;t[22]!==r||t[23]!==n||t[24]!==i||t[25]!==s||t[26]!==a?(j=[T,n,r,a,i,s],t[22]=r,t[23]=n,t[24]=i,t[25]=s,t[26]=a,t[27]=j):j=t[27],(0,X.useEffect)(A,j);let M,N;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>()=>{_.current=!1,l.current=null,h.current={original:[],modified:[]},D()},N=[D],t[28]=M,t[29]=N):(M=t[28],N=t[29]),(0,X.useEffect)(M,N);let P;t[30]===c?P=t[31]:(P=e=>{l.current=e;let t=e.getModel();g.current=t?{original:t.original,modified:t.modified}:null;let n=Ye,r=(e,t)=>{e.onMouseDown(r=>{if(!r.target?.position||!n(r.target.type))return;let i=r.target.position.lineNumber,{isFullView:a,selectedFileIndex:o,files:s}=p.current,l=s[o];if(!l)return;let d=a?null:$(l),f=Ke(i,d?t===`original`?d.original:d.modified:null),m=e.getModel()?.getLineContent(i)??``;c({existing:u.current.find(e=>e.fileIndex===o&&e.lineNumber===f&&e.side===t),lineNumber:f,lineContent:m,side:t})})};r(e.getOriginalEditor(),`original`),r(e.getModifiedEditor(),`modified`),setTimeout(()=>{l.current===e&&T()},150)},t[30]=c,t[31]=P);let F=P,I;return t[32]===F?I=t[33]:(I={diffEditorRef:l,applyAllDecorations:T,handleEditorDidMount:F},t[32]=F,t[33]=I),I}function Ye(e){return e===Y.MouseTargetType.GUTTER_GLYPH_MARGIN||e===Y.MouseTargetType.GUTTER_LINE_NUMBERS||e===Y.MouseTargetType.GUTTER_LINE_DECORATIONS||e===Y.MouseTargetType.GUTTER_VIEW_ZONE}function Xe(e){return e!==null}function Ze(e){let t=(0,Z.c)(6),{onRetry:n}=e,[r,a]=(0,X.useState)(!1),o,s;if(t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{let e=window.setTimeout(()=>{a(!0)},15e3);return()=>{window.clearTimeout(e)}},s=[],t[0]=o,t[1]=s):(o=t[0],s=t[1]),(0,X.useEffect)(o,s),!r){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(z,{label:`Loading review changes...`}),t[2]=e):e=t[2],e}let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Q.jsx)(`p`,{className:i.bodyMuted,children:`Loading review changes is taking longer than expected.`}),t[3]=c):c=t[3];let l;return t[4]===n?l=t[5]:(l=(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,Q.jsxs)(`div`,{className:`space-y-4 text-center`,children:[c,(0,Q.jsx)(f,{variant:`outline`,onClick:n,children:`Retry`})]})}),t[4]=n,t[5]=l),l}function Qe(e,t,n){return`git-media:${e}:${t}:${n}`}function $e(e,t,n){let r=(0,Z.c)(13),i;r[0]!==t||r[1]!==e||r[2]!==n?(i=Qe(e,t,n),r[0]=t,r[1]=e,r[2]=n,r[3]=i):i=r[3];let a;r[4]!==t||r[5]!==e||r[6]!==n?(a=()=>M(e,t,n),r[4]=t,r[5]=e,r[6]=n,r[7]=a):a=r[7];let o=R(i,a),s;r[8]===o?s=r[9]:(s=URL.createObjectURL(o),r[8]=o,r[9]=s);let c=s,l,u;return r[10]===c?(l=r[11],u=r[12]):(l=()=>()=>{URL.revokeObjectURL(c)},u=[c],r[10]=c,r[11]=l,r[12]=u),(0,X.useEffect)(l,u),c}function et(e){let t=(0,Z.c)(9),{threadId:n,filePath:r,version:a,label:o}=e,s=$e(n,r,a),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=d(i.caption,`px-3 py-1.5 border-b text-muted-foreground bg-muted/30`),t[0]=c):c=t[0];let l;t[1]===o?l=t[2]:(l=(0,Q.jsx)(`div`,{className:c,children:o}),t[1]=o,t[2]=l);let u=`${o} - ${r}`,f;t[3]!==s||t[4]!==u?(f=(0,Q.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 overflow-auto bg-background`,children:(0,Q.jsx)(`img`,{src:s,alt:u,className:`max-w-full max-h-full object-contain`})}),t[3]=s,t[4]=u,t[5]=f):f=t[5];let p;return t[6]!==l||t[7]!==f?(p=(0,Q.jsxs)(`div`,{className:`flex flex-col h-full`,children:[l,f]}),t[6]=l,t[7]=f,t[8]=p):p=t[8],p}function tt(e){let t=(0,Z.c)(23),{threadId:n,file:r}=e,i=r.status===`modified`||r.status===`deleted`||r.status===`renamed`,a=r.status===`modified`||r.status===`added`||r.status===`untracked`||r.status===`renamed`;if(i&&a){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(z,{label:`Loading before...`}),t[0]=e):e=t[0];let i=r.status===`renamed`&&r.oldPath?r.oldPath:r.path,a;t[1]!==i||t[2]!==n?(a=(0,Q.jsx)(`div`,{className:`flex-1 border-r border-border`,children:(0,Q.jsx)(X.Suspense,{fallback:e,children:(0,Q.jsx)(et,{threadId:n,filePath:i,version:`old`,label:`Before`})})}),t[1]=i,t[2]=n,t[3]=a):a=t[3];let o;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(z,{label:`Loading after...`}),t[4]=o):o=t[4];let s;t[5]!==r.path||t[6]!==n?(s=(0,Q.jsx)(`div`,{className:`flex-1`,children:(0,Q.jsx)(X.Suspense,{fallback:o,children:(0,Q.jsx)(et,{threadId:n,filePath:r.path,version:`new`,label:`After`})})}),t[5]=r.path,t[6]=n,t[7]=s):s=t[7];let c;return t[8]!==a||t[9]!==s?(c=(0,Q.jsxs)(`div`,{className:`flex h-full`,children:[a,s]}),t[8]=a,t[9]=s,t[10]=c):c=t[10],c}let o=a?`new`:`old`,s=a?`Added`:`Deleted`,c;t[11]===s?c=t[12]:(c=s.toLowerCase(),t[11]=s,t[12]=c);let l=`Loading ${c} image...`,u;t[13]===l?u=t[14]:(u=(0,Q.jsx)(z,{label:l}),t[13]=l,t[14]=u);let d;t[15]!==r.path||t[16]!==s||t[17]!==n||t[18]!==o?(d=(0,Q.jsx)(et,{threadId:n,filePath:r.path,version:o,label:s}),t[15]=r.path,t[16]=s,t[17]=n,t[18]=o,t[19]=d):d=t[19];let f;return t[20]!==u||t[21]!==d?(f=(0,Q.jsx)(`div`,{className:`flex h-full flex-col`,children:(0,Q.jsx)(X.Suspense,{fallback:u,children:d})}),t[20]=u,t[21]=d,t[22]=f):f=t[22],f}function nt(e){let t=(0,Z.c)(21),{comments:n,activeCommentIndex:r,onPrevComment:a,onNextComment:o}=e,s=r??0,c=n.length===1?`1 Comment`:`Comment ${s+1} of ${n.length}`,l=s===0,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(m,{className:`h-3 w-3`}),t[0]=u):u=t[0];let p;t[1]!==a||t[2]!==l?(p=(0,Q.jsx)(E,{asChild:!0,children:(0,Q.jsx)(f,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:a,disabled:l,children:u})}),t[1]=a,t[2]=l,t[3]=p):p=t[3];let h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Q.jsx)(D,{children:`Previous comment`}),t[4]=h):h=t[4];let g;t[5]===p?g=t[6]:(g=(0,Q.jsxs)(O,{children:[p,h]}),t[5]=p,t[6]=g);let _;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=d(i.caption,`whitespace-nowrap`),t[7]=_):_=t[7];let v;t[8]===c?v=t[9]:(v=(0,Q.jsx)(`span`,{className:_,children:c}),t[8]=c,t[9]=v);let y=s===n.length-1,b;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Q.jsx)(x,{className:`h-3 w-3`}),t[10]=b):b=t[10];let S;t[11]!==o||t[12]!==y?(S=(0,Q.jsx)(E,{asChild:!0,children:(0,Q.jsx)(f,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:o,disabled:y,children:b})}),t[11]=o,t[12]=y,t[13]=S):S=t[13];let C;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,Q.jsx)(D,{children:`Next comment`}),t[14]=C):C=t[14];let w;t[15]===S?w=t[16]:(w=(0,Q.jsxs)(O,{children:[S,C]}),t[15]=S,t[16]=w);let T;return t[17]!==w||t[18]!==g||t[19]!==v?(T=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[g,v,w]}),t[17]=w,t[18]=g,t[19]=v,t[20]=T):T=t[20],T}function rt(e){let t=(0,Z.c)(12),{isChatOpen:n,onOpenChat:r,onCloseChat:i,focusedPane:a,conversationId:o,paneMessages:s}=e,c;t[0]!==o||t[1]!==a||t[2]!==n||t[3]!==i||t[4]!==s?(c=n&&(0,Q.jsxs)(`div`,{className:`pointer-events-auto w-[min(100%,48rem)] rounded-2xl bg-background/50 p-4 backdrop-blur-md`,children:[(0,Q.jsx)(`div`,{className:`mb-3 flex items-center justify-end`,children:(0,Q.jsxs)(f,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:i,children:[(0,Q.jsx)(T,{className:`h-4 w-4`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Close chat`})]})}),(0,Q.jsx)(B,{paneId:a,conversationId:o,children:(0,Q.jsx)(oe,{children:(0,Q.jsx)(H,{messages:s})})})]}),t[0]=o,t[1]=a,t[2]=n,t[3]=i,t[4]=s,t[5]=c):c=t[5];let l;t[6]!==n||t[7]!==r?(l=!n&&(0,Q.jsxs)(O,{children:[(0,Q.jsx)(E,{asChild:!0,children:(0,Q.jsxs)(f,{size:`icon`,className:`pointer-events-auto h-12 w-12 rounded-full shadow-lg`,onClick:r,children:[(0,Q.jsx)(_,{className:`h-5 w-5`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Open review chat`})]})}),(0,Q.jsx)(D,{children:`Chat about this diff`})]}),t[6]=n,t[7]=r,t[8]=l):l=t[8];let u;return t[9]!==c||t[10]!==l?(u=(0,Q.jsxs)(`div`,{className:`pointer-events-none absolute bottom-4 right-4 z-20 flex flex-col items-end gap-3`,children:[c,l]}),t[9]=c,t[10]=l,t[11]=u):u=t[11],u}function it(e){let t=(0,Z.c)(10),{showTreeBackButton:n,isPanelCollapsed:r,onShowTree:i,onTogglePanel:a}=e;if(n){let e,n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(v,{className:`h-4 w-4`}),n=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Show file tree`}),t[0]=e,t[1]=n):(e=t[0],n=t[1]);let r;return t[2]===i?r=t[3]:(r=(0,Q.jsxs)(f,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:i,children:[e,n]}),t[2]=i,t[3]=r),r}let o;t[4]===r?o=t[5]:(o=r?(0,Q.jsx)(v,{className:`h-4 w-4`}):(0,Q.jsx)(b,{className:`h-4 w-4`}),t[4]=r,t[5]=o);let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Toggle file tree`}),t[6]=s):s=t[6];let c;return t[7]!==a||t[8]!==o?(c=(0,Q.jsxs)(f,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:a,children:[o,s]}),t[7]=a,t[8]=o,t[9]=c):c=t[9],c}function at(e){let t=(0,Z.c)(7),{isImageFile:n,isFullView:r,onToggleFullView:a,selectedFile:o}=e;if(n)return null;let s=!o,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=d(i.compact,`h-8 gap-1 px-2`),t[0]=c):c=t[0];let l;t[1]===r?l=t[2]:(l=r?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(C,{className:`h-3 w-3`}),` Show changes only`]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(w,{className:`h-3 w-3`}),` Show full file`]}),t[1]=r,t[2]=l);let u;return t[3]!==a||t[4]!==s||t[5]!==l?(u=(0,Q.jsx)(f,{variant:`ghost`,size:`sm`,onClick:a,disabled:s,className:c,children:l}),t[3]=a,t[4]=s,t[5]=l,t[6]=u):u=t[6],u}function ot(e){let t=(0,Z.c)(7),{onOpen:n}=e,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(y,{className:`h-3.5 w-3.5`}),i=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Open in Files window`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;t[2]===n?a=t[3]:(a=(0,Q.jsx)(E,{asChild:!0,children:(0,Q.jsxs)(f,{variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0 text-muted-foreground`,onClick:n,children:[r,i]})}),t[2]=n,t[3]=a);let o;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(D,{children:`Open in Files window`}),t[4]=o):o=t[4];let s;return t[5]===a?s=t[6]:(s=(0,Q.jsxs)(O,{children:[a,o]}),t[5]=a,t[6]=s),s}function st(e){let t=(0,Z.c)(9),{selectedFile:n,onOpenInFiles:r}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=d(i.label,`text-foreground`),t[0]=a):a=t[0];let o=n?n.path:`Review Changes`,s;t[1]===o?s=t[2]:(s=(0,Q.jsx)(`span`,{className:a,children:o}),t[1]=o,t[2]=s);let c;t[3]!==r||t[4]!==n?(c=n&&(0,Q.jsx)(ot,{onOpen:r}),t[3]=r,t[4]=n,t[5]=c):c=t[5];let l;return t[6]!==s||t[7]!==c?(l=(0,Q.jsxs)(Q.Fragment,{children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8],l}function ct(e){let t=(0,Z.c)(15),{comments:n,activeCommentIndex:r,onPrevComment:a,onNextComment:o,onFixComments:s}=e;if(n.length===0)return null;let c;t[0]!==r||t[1]!==n||t[2]!==o||t[3]!==a?(c=(0,Q.jsx)(nt,{comments:n,activeCommentIndex:r,onPrevComment:a,onNextComment:o}),t[0]=r,t[1]=n,t[2]=o,t[3]=a,t[4]=c):c=t[4];let l,u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=d(i.compact,`h-8 gap-1 px-3 bg-foreground text-background hover:bg-foreground/90`),u=(0,Q.jsx)(_,{className:`h-3 w-3`}),t[5]=l,t[6]=u):(l=t[5],u=t[6]);let p;t[7]===s?p=t[8]:(p=(0,Q.jsx)(E,{asChild:!0,children:(0,Q.jsxs)(f,{size:`sm`,onClick:s,className:l,children:[u,`Fix all comments`]})}),t[7]=s,t[8]=p);let m;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Q.jsx)(D,{children:`Send all comments to Tarsk for resolution`}),t[9]=m):m=t[9];let h;t[10]===p?h=t[11]:(h=(0,Q.jsxs)(O,{children:[p,m]}),t[10]=p,t[11]=h);let g;return t[12]!==c||t[13]!==h?(g=(0,Q.jsxs)(Q.Fragment,{children:[c,h]}),t[12]=c,t[13]=h,t[14]=g):g=t[14],g}function lt(e){let t=(0,Z.c)(10),{isImageFile:n,selectedFile:r,threadId:i,language:a,theme:o,diffOriginal:s,diffModified:c,onEditorMount:l,diffEditorOptions:u}=e;if(n&&r){let e;return t[0]!==r||t[1]!==i?(e=(0,Q.jsx)(tt,{threadId:i,file:r}),t[0]=r,t[1]=i,t[2]=e):e=t[2],e}let d;return t[3]!==u||t[4]!==c||t[5]!==s||t[6]!==a||t[7]!==l||t[8]!==o?(d=(0,Q.jsx)(ge,{height:`100%`,language:a,original:s,modified:c,keepCurrentOriginalModel:!0,keepCurrentModifiedModel:!0,theme:o,onMount:l,options:u}),t[3]=u,t[4]=c,t[5]=s,t[6]=a,t[7]=l,t[8]=o,t[9]=d):d=t[9],d}function ut(){let e=(0,Z.c)(8),t=u(dt),n;e[0]===t?n=e[1]:(n=e=>s(e,t),e[0]=t,e[1]=n);let r=u(n),i;e[2]===t?i=e[3]:(i=e=>c(e,t),e[2]=t,e[3]=i);let a=u(i),o;return e[4]!==r||e[5]!==t||e[6]!==a?(o={focusedPane:t,conversationId:r,paneMessages:a},e[4]=r,e[5]=t,e[6]=a,e[7]=o):o=e[7],o}function dt(e){return e.focusedPane}function ft(e){let t=(0,Z.c)(61),{threadId:n,selectedFile:r,content:i,layout:a,commentControls:o,chatControls:s}=e,{isImageFile:c,diffOriginal:l,diffModified:u,resolvedTheme:d,onEditorMount:f,diffEditorOptions:p,isFullView:m,onToggleFullView:h}=i,{isPanelCollapsed:g,showTreeBackButton:_,onShowTree:v,onTogglePanel:y}=a,{focusedPane:b,conversationId:x,paneMessages:S}=ut(),{openChatDockPanel:C}=ne(),{setPendingExplorerPath:w}=ee(),T;t[0]!==C||t[1]!==r||t[2]!==w?(T=function(){r&&(w(r.path),C(`explorer`))},t[0]=C,t[1]=r,t[2]=w,t[3]=T):T=t[3];let E=T,D;t[4]===g?D=t[5]:(D=Ie(g),t[4]=g,t[5]=D);let O;t[6]!==g||t[7]!==v||t[8]!==y||t[9]!==_?(O=(0,Q.jsx)(it,{showTreeBackButton:_,isPanelCollapsed:g,onShowTree:v,onTogglePanel:y}),t[6]=g,t[7]=v,t[8]=y,t[9]=_,t[10]=O):O=t[10];let k;t[11]!==E||t[12]!==r?(k=(0,Q.jsx)(st,{selectedFile:r,onOpenInFiles:E}),t[11]=E,t[12]=r,t[13]=k):k=t[13];let A;t[14]!==O||t[15]!==k?(A=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[O,k]}),t[14]=O,t[15]=k,t[16]=A):A=t[16];let j;t[17]===g?j=t[18]:(j=Le(g),t[17]=g,t[18]=j);let M;t[19]!==m||t[20]!==c||t[21]!==h||t[22]!==r?(M=(0,Q.jsx)(at,{isImageFile:c,isFullView:m,onToggleFullView:h,selectedFile:r}),t[19]=m,t[20]=c,t[21]=h,t[22]=r,t[23]=M):M=t[23];let N;t[24]===o?N=t[25]:(N=(0,Q.jsx)(ct,{...o}),t[24]=o,t[25]=N);let P;t[26]!==j||t[27]!==M||t[28]!==N?(P=(0,Q.jsxs)(`div`,{className:j,children:[M,N]}),t[26]=j,t[27]=M,t[28]=N,t[29]=P):P=t[29];let F;t[30]!==D||t[31]!==A||t[32]!==P?(F=(0,Q.jsxs)(ue,{className:D,children:[A,P]}),t[30]=D,t[31]=A,t[32]=P,t[33]=F):F=t[33];let I=r?.path||``,L;t[34]===I?L=t[35]:(L=qe(I),t[34]=I,t[35]=L);let R;t[36]===d?R=t[37]:(R=Fe(d),t[36]=d,t[37]=R);let z;t[38]!==p||t[39]!==u||t[40]!==l||t[41]!==c||t[42]!==f||t[43]!==r||t[44]!==L||t[45]!==R||t[46]!==n?(z=(0,Q.jsx)(lt,{isImageFile:c,selectedFile:r,threadId:n,language:L,theme:R,diffOriginal:l,diffModified:u,onEditorMount:f,diffEditorOptions:p}),t[38]=p,t[39]=u,t[40]=l,t[41]=c,t[42]=f,t[43]=r,t[44]=L,t[45]=R,t[46]=n,t[47]=z):z=t[47];let B;t[48]!==s.isChatOpen||t[49]!==s.onCloseChat||t[50]!==s.onOpenChat||t[51]!==x||t[52]!==b||t[53]!==S?(B=(0,Q.jsx)(rt,{isChatOpen:s.isChatOpen,onOpenChat:s.onOpenChat,onCloseChat:s.onCloseChat,focusedPane:b,conversationId:x,paneMessages:S}),t[48]=s.isChatOpen,t[49]=s.onCloseChat,t[50]=s.onOpenChat,t[51]=x,t[52]=b,t[53]=S,t[54]=B):B=t[54];let V;t[55]!==z||t[56]!==B?(V=(0,Q.jsxs)(`div`,{className:`flex-1 bg-transparent relative`,children:[z,B]}),t[55]=z,t[56]=B,t[57]=V):V=t[57];let H;return t[58]!==F||t[59]!==V?(H=(0,Q.jsxs)(`div`,{className:`diff-editor-panel flex h-full min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden bg-transparent`,children:[F,V]}),t[58]=F,t[59]=V,t[60]=H):H=t[60],H}function pt(){let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(re,{withHandle:!0,className:`z-10 shrink-0`}),e[0]=t):t=e[0],t}function mt(e){let t=(0,Z.c)(8),{isMobile:n,mobileShowTree:r,panelRef:i,onPanelCollapse:a,onPanelExpand:o,fileTreePanel:s,diffEditorPanel:c}=e,l;return t[0]!==c||t[1]!==s||t[2]!==n||t[3]!==r||t[4]!==a||t[5]!==o||t[6]!==i?(l=(0,Q.jsx)(`div`,{className:`diff-body flex min-h-0 w-full flex-1 overflow-hidden`,children:n?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:d(`flex min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden`,!r&&`hidden`),children:s}),(0,Q.jsx)(`div`,{className:d(`flex min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden`,r&&`hidden`),children:c})]}):(0,Q.jsxs)(G,{direction:`horizontal`,children:[(0,Q.jsx)(W,{ref:i,defaultSize:25,minSize:12,maxSize:40,collapsible:!0,collapsedSize:0,onCollapse:a,onExpand:o,className:`overflow-hidden border-r border-transparent`,children:s}),(0,Q.jsx)(pt,{}),(0,Q.jsx)(W,{className:`overflow-hidden border-l border-border bg-transparent`,children:c})]})}),t[0]=c,t[1]=s,t[2]=n,t[3]=r,t[4]=a,t[5]=o,t[6]=i,t[7]=l):l=t[7],l}var ht=a(`app.diff-view.ui`);function gt(e,t){if(!e)return{diffOriginal:``,diffModified:``};if(t)return{diffOriginal:e.oldContent,diffModified:e.newContent};let n=$(e);return n?{diffOriginal:Ue(e.oldContent,n.original.startLine,n.original.endLine),diffModified:Ue(e.newContent,n.modified.startLine,n.modified.endLine)}:{diffOriginal:e.oldContent,diffModified:e.newContent}}function _t(e,t){return!!(e&&(t||We(e)))}function vt(e,t,n){let r=n?null:$(e),i=r?t.side===`original`?r.original:r.modified:null;return Ge(t.lineNumber,i)}async function yt(e,t){let n=t[e];if(n)return n;try{let e=await F(),t=Object.values(e).flat();return t.length>0?t[0]:null}catch(e){return ht.error(`Failed to load models:`,e),null}}function bt(e){let t=(0,Z.c)(7),{treeData:n,files:r,error:i,selectedFileIndex:a,onFileSelect:o,onRevertFile:s}=e,c;return t[0]!==i||t[1]!==r||t[2]!==o||t[3]!==s||t[4]!==a||t[5]!==n?(c=(0,Q.jsx)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden`,children:(0,Q.jsx)(Te,{treeData:n,files:r,error:i,selectedFileIndex:a,onFileSelect:o,onRevertFile:s})}),t[0]=i,t[1]=r,t[2]=o,t[3]=s,t[4]=a,t[5]=n,t[6]=c):c=t[6],c}function xt(e,t){return`${e?e.id:``}-${t?String(t.lineNumber):``}-${t?t.side:``}`}function St(e,t){return e?{lineNumber:e.lineNumber,lineContent:e.lineContent,comment:e.comment}:t?{lineNumber:t.lineNumber,lineContent:t.lineContent,comment:void 0}:{lineNumber:0,lineContent:``,comment:void 0}}function Ct(e,t){return t!==null||e!==null}function wt(e){let t=(0,Z.c)(19),{editingComment:n,pendingLine:r,onSave:i,onDelete:a,onClose:o}=e,s;t[0]!==n||t[1]!==r?(s=St(n,r),t[0]=n,t[1]=r,t[2]=s):s=t[2];let c=s,l;t[3]!==n||t[4]!==r?(l=xt(n,r),t[3]=n,t[4]=r,t[5]=l):l=t[5];let u;t[6]!==n||t[7]!==r?(u=Ct(n,r),t[6]=n,t[7]=r,t[8]=u):u=t[8];let d=n!==null,f;return t[9]!==c.comment||t[10]!==c.lineContent||t[11]!==c.lineNumber||t[12]!==o||t[13]!==a||t[14]!==i||t[15]!==l||t[16]!==u||t[17]!==d?(f=(0,Q.jsx)(Me,{open:u,lineNumber:c.lineNumber,lineContent:c.lineContent,initialComment:c.comment,isEditing:d,onSave:i,onDelete:a,onClose:o},l),t[9]=c.comment,t[10]=c.lineContent,t[11]=c.lineNumber,t[12]=o,t[13]=a,t[14]=i,t[15]=l,t[16]=u,t[17]=d,t[18]=f):f=t[18],f}function Tt(e,t){return Math.min(e,Math.max(t-1,0))}function Et(e,t,n,r){e(r??[]),t(e=>Tt(n??e,r?.length??1))}function Dt(e,t,n){let r=Tt(t,e.length);return n?.files===e&&n.selectedFileIndex===r?n:{files:e,selectedFileIndex:r}}function Ot(e,t,n,r){return{id:`comment-${Date.now()}`,filePath:t.path,fileIndex:n,lineNumber:e.lineNumber,lineContent:e.lineContent,comment:r,side:e.side}}function kt(e,t){return(t%e+e)%e}function At(e,t,n,r){if(!e)return;let i=t[n.fileIndex];if(!i)return;let a=vt(i,n,r);(n.side===`original`?e.getOriginalEditor():e.getModifiedEditor()).revealLineInCenter(Math.max(1,a))}function jt(e,t,n){return{readOnly:!0,renderSideBySide:!e,ignoreTrimWhitespace:!1,renderOverviewRuler:!0,scrollBeyondLastLine:!1,minimap:{enabled:!1},folding:!1,glyphMargin:!0,lineNumbers:_t(t,n)?`on`:`off`,diffWordWrap:`on`,originalEditable:!1,automaticLayout:!0}}function Mt(e,t){e.current&&(t?e.current.expand():e.current.collapse())}async function Nt(e){return(await N(e)).files||[]}async function Pt(e,t,n,r){try{return await k(e,t.path),await Promise.all([n(),r(!0)]),null}catch(e){return e instanceof Error?e.message:`Failed to revert file`}}async function Ft({threadId:e,comments:t,selectedModel:n,clearComments:r,dispatch:i,onExit:a}){try{let{prompt:s}=await P(e,t);r(),i({type:o.SetPendingChatMessage,message:{threadId:e,message:s,model:n.id,provider:n.provider}}),a()}catch(e){ht.error(`Failed to fix comments:`,e),typeof window<`u`&&window.alert(`Failed to process comments. Please try again.`)}}function It(e,t){return e?.files??t??[]}function Lt(e){return e?.selectedFileIndex??0}function Rt(e){return e?.isBinary??!1}function zt(e,t,n,r){Et(e,t,n?.selectedFileIndex,r)}function Bt(e,t,n){n&&n(n=>Dt(e,t,n))}function Vt(e,t,n,r){n(e),t&&r(!1)}async function Ht(e,t,n,r){if(e){r(null);try{let r=await Nt(e);t(r),n(e=>Tt(e,r.length))}catch(e){r(e instanceof Error?e.message:`Failed to load diff`)}}}async function Ut(e,t,n,r,i){let a=await Pt(t,e,n,r);a&&i(a)}function Wt(e,t,n,r,i,a){e?i(e):a({lineNumber:t,lineContent:n,side:r})}function Gt(e,t,n,r,i,a){return t&&r?[...e,Ot(t,r,i,a)]:n?e.map(e=>e.id===n.id?{...e,comment:a}:e):e}function Kt(e,t){return t?e.filter(e=>e.id!==t.id):e}function qt(e,t){if(e.length===0)return null;let n=kt(e.length,t);return{idx:n,comment:e[n]}}function Jt(e,t,n,r,i,a,o,s,c,l){let u=qt(e,t);u&&(n(u.idx),r(u.comment.fileIndex),i&&a(!1),setTimeout(()=>{At(o.current,s,u.comment,c),l()},100))}async function Yt(e,t,n,r,i,a){let o=await yt(e,t);if(!o){ht.error(`No models available to process comments`);return}await Ft({threadId:e,comments:n,selectedModel:o,clearComments:a,dispatch:r,onExit:i})}function Xt(e,t,n,r,i){let a=(0,Z.c)(38),{fetchUnifiedStatus:o}=V(),s;a[0]!==n||a[1]!==t?(s=()=>It(n,t),a[0]=n,a[1]=t,a[2]=s):s=a[2];let[c,l]=(0,X.useState)(s),[u,d]=(0,X.useState)(null),f;a[3]===n?f=a[4]:(f=()=>Lt(n),a[3]=n,a[4]=f);let[p,m]=(0,X.useState)(f),[h,g]=(0,X.useState)(!0),_;a[5]!==n||a[6]!==t?(_=()=>{zt(l,m,n,t)},a[5]=n,a[6]=t,a[7]=_):_=a[7];let v=n?.selectedFileIndex,y;a[8]!==t||a[9]!==v?(y=[v,t],a[8]=t,a[9]=v,a[10]=y):y=a[10],(0,X.useEffect)(_,y);let b;a[11]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>{g(!0)},a[11]=b):b=a[11];let x;a[12]===e?x=a[13]:(x=[e],a[12]=e,a[13]=x),(0,X.useEffect)(b,x);let S,C;a[14]!==c||a[15]!==r||a[16]!==p?(S=()=>{Bt(c,p,r)},C=[c,r,p],a[14]=c,a[15]=r,a[16]=p,a[17]=S,a[18]=C):(S=a[17],C=a[18]),(0,X.useEffect)(S,C);let w;a[19]===i?w=a[20]:(w=e=>{Vt(e,i,m,g)},a[19]=i,a[20]=w);let T=w,E;a[21]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{g(!0)},a[21]=E):E=a[21];let D=E,O;a[22]===e?O=a[23]:(O=async()=>{await Ht(e,l,m,d)},a[22]=e,a[23]=O);let k=O,A;a[24]!==o||a[25]!==k||a[26]!==e?(A=async t=>{await Ut(t,e,k,o,d)},a[24]=o,a[25]=k,a[26]=e,a[27]=A):A=a[27];let j=A,M;a[28]===c?M=a[29]:(M=be(c),a[28]=c,a[29]=M);let N=M,P;return a[30]!==u||a[31]!==c||a[32]!==T||a[33]!==j||a[34]!==h||a[35]!==p||a[36]!==N?(P={files:c,error:u,selectedFileIndex:p,mobileShowTree:h,treeData:N,setSelectedFileIndex:m,setMobileShowTree:g,handleFileSelect:T,handleShowTree:D,handleRevertFile:j},a[30]=u,a[31]=c,a[32]=T,a[33]=j,a[34]=h,a[35]=p,a[36]=N,a[37]=P):P=a[37],P}function Zt(e,t,n,r){let i=(0,Z.c)(17),[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(null),l;i[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=e=>{let{existing:t,lineNumber:n,lineContent:r,side:i}=e;Wt(t,n,r,i,c,o)},i[0]=l):l=i[0];let u=l,d;i[1]!==e||i[2]!==s||i[3]!==a||i[4]!==n||i[5]!==r||i[6]!==t?(d=i=>{t(Gt(e,a,s,n,r,i)),o(null),c(null)},i[1]=e,i[2]=s,i[3]=a,i[4]=n,i[5]=r,i[6]=t,i[7]=d):d=i[7];let f=d,p;i[8]!==s||i[9]!==t?(p=()=>{t(e=>Kt(e,s)),s&&c(null)},i[8]=s,i[9]=t,i[10]=p):p=i[10];let m=p,h;i[11]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{o(null),c(null)},i[11]=h):h=i[11];let g=h,_;return i[12]!==s||i[13]!==m||i[14]!==f||i[15]!==a?(_={pendingLine:a,editingComment:s,handleLineGutterClick:u,handleSaveComment:f,handleDeleteComment:m,handleCloseCommentPopup:g},i[12]=s,i[13]=m,i[14]=f,i[15]=a,i[16]=_):_=i[16],_}function Qt(e){let t=(0,Z.c)(19),{comments:n,files:r,isFullView:i,isMobile:a,activeCommentIndex:o,setActiveCommentIndex:s,setSelectedFileIndex:c,setMobileShowTree:l,diffEditorRef:u,applyAllDecorations:d}=e,f;t[0]!==d||t[1]!==n||t[2]!==u||t[3]!==r||t[4]!==i||t[5]!==a||t[6]!==s||t[7]!==l||t[8]!==c?(f=e=>{Jt(n,e,s,c,a,l,u,r,i,d)},t[0]=d,t[1]=n,t[2]=u,t[3]=r,t[4]=i,t[5]=a,t[6]=s,t[7]=l,t[8]=c,t[9]=f):f=t[9];let p=f,m;t[10]!==o||t[11]!==p?(m=()=>{p((o??0)-1)},t[10]=o,t[11]=p,t[12]=m):m=t[12];let h=m,g;t[13]!==o||t[14]!==p?(g=()=>{p((o??-1)+1)},t[13]=o,t[14]=p,t[15]=g):g=t[15];let _=g,v;return t[16]!==_||t[17]!==h?(v={handlePrevComment:h,handleNextComment:_},t[16]=_,t[17]=h,t[18]=v):v=t[18],v}function $t(e,t,n,r,i,a){let o=(0,Z.c)(9),s;o[0]!==n||o[1]!==r||o[2]!==i||o[3]!==t||o[4]!==a||o[5]!==e?(s=()=>Yt(e,t,n,r,i,()=>a([])),o[0]=n,o[1]=r,o[2]=i,o[3]=t,o[4]=a,o[5]=e,o[6]=s):s=o[6];let c=s,l;return o[7]===c?l=o[8]:(l={handleFixComments:c},o[7]=c,o[8]=l),l}function en({threadId:e,selectedFile:t,isImageFile:n,diffOriginal:r,diffModified:i,resolvedTheme:a,onEditorMount:o,diffEditorOptions:s,isPanelCollapsed:c,showTreeBackButton:l,onShowTree:u,onTogglePanel:d,isFullView:f,onToggleFullView:p,comments:m,activeCommentIndex:h,onPrevComment:g,onNextComment:_,onFixComments:v,isChatOpen:y,onOpenChat:b,onCloseChat:x}){return{threadId:e,selectedFile:t,content:{isImageFile:n,diffOriginal:r,diffModified:i,resolvedTheme:a,onEditorMount:o,diffEditorOptions:s,isFullView:f,onToggleFullView:p},layout:{isPanelCollapsed:c,showTreeBackButton:l,onShowTree:u,onTogglePanel:d},commentControls:{comments:m,activeCommentIndex:h,onPrevComment:g,onNextComment:_,onFixComments:v},chatControls:{isChatOpen:y,onOpenChat:b,onCloseChat:x}}}function tn({threadId:e,selectedFile:t,isImageFile:n,diffOriginal:r,diffModified:i,resolvedTheme:a,onEditorMount:o,isMobile:s,showTreeBackButton:c,onShowTree:l,isFullView:u,onToggleFullView:d,comments:f,activeCommentIndex:p,onPrevComment:m,onNextComment:h,onFixComments:g}){let[_,v]=(0,X.useState)(!1),[y,b]=(0,X.useState)(!1),x=(0,X.useRef)(null),S=(0,X.useCallback)(()=>{Mt(x,_)},[_]);return{panelRef:x,editorPanelProps:en({threadId:e,selectedFile:t,isImageFile:n,diffOriginal:r,diffModified:i,resolvedTheme:a,onEditorMount:o,diffEditorOptions:(0,X.useMemo)(()=>jt(s,t,u),[s,t,u]),isPanelCollapsed:_,showTreeBackButton:c,onShowTree:l,onTogglePanel:S,isFullView:u,onToggleFullView:d,comments:f,activeCommentIndex:p,onPrevComment:m,onNextComment:h,onFixComments:g,isChatOpen:y,onOpenChat:()=>b(!0),onCloseChat:()=>b(!1)}),onPanelCollapse:()=>v(!0),onPanelExpand:()=>v(!1)}}function nn(e){let t=(0,Z.c)(64),{threadId:n,onExit:r,loadVersion:i,cachedState:a,onCachedStateChange:o}=e,s;t[0]!==i||t[1]!==n?(s=Pe(n,i),t[0]=i,t[1]=n,t[2]=s):s=t[2];let c;t[3]===n?c=t[4]:(c=()=>ze(n),t[3]=n,t[4]=c);let d=R(s,c),f=l(),p=u(an),{resolvedTheme:m}=ie(),h=ae(),[g,_]=(0,X.useState)(!1),[v,y]=(0,X.useState)(null),{files:b,error:x,selectedFileIndex:S,mobileShowTree:C,treeData:w,setSelectedFileIndex:T,setMobileShowTree:E,handleFileSelect:D,handleShowTree:O,handleRevertFile:k}=Xt(n,d.files,a,o,h),{comments:A,setComments:j}=Ne(n),M=b[S],N;t[5]===M?N=t[6]:(N=Rt(M),t[5]=M,t[6]=N);let P=N,F;t[7]!==g||t[8]!==M?(F=gt(M,g),t[7]=g,t[8]=M,t[9]=F):F=t[9];let{diffOriginal:I,diffModified:L}=F,{pendingLine:ee,editingComment:z,handleLineGutterClick:B,handleSaveComment:V,handleDeleteComment:H,handleCloseCommentPopup:te}=Zt(A,j,M,S),U;t[10]!==v||t[11]!==A||t[12]!==b||t[13]!==B||t[14]!==g||t[15]!==M||t[16]!==S?(U={comments:A,activeCommentIndex:v,isFullView:g,selectedFileIndex:S,files:b,selectedFile:M,onLineGutterClick:B},t[10]=v,t[11]=A,t[12]=b,t[13]=B,t[14]=g,t[15]=M,t[16]=S,t[17]=U):U=t[17];let{diffEditorRef:ne,applyAllDecorations:re,handleEditorDidMount:W}=Je(U),G;t[18]!==v||t[19]!==re||t[20]!==A||t[21]!==ne||t[22]!==b||t[23]!==g||t[24]!==h||t[25]!==E||t[26]!==T?(G={comments:A,files:b,isFullView:g,isMobile:h,activeCommentIndex:v,setActiveCommentIndex:y,setSelectedFileIndex:T,setMobileShowTree:E,diffEditorRef:ne,applyAllDecorations:re},t[18]=v,t[19]=re,t[20]=A,t[21]=ne,t[22]=b,t[23]=g,t[24]=h,t[25]=E,t[26]=T,t[27]=G):G=t[27];let{handlePrevComment:oe,handleNextComment:se}=Qt(G),{handleFixComments:ce}=$t(n,p,A,f,r,j),le=h&&!C,K;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(K=()=>_(rn),t[28]=K):K=t[28];let q;t[29]!==v||t[30]!==A||t[31]!==L||t[32]!==I||t[33]!==W||t[34]!==ce||t[35]!==se||t[36]!==oe||t[37]!==O||t[38]!==g||t[39]!==P||t[40]!==h||t[41]!==m||t[42]!==M||t[43]!==le||t[44]!==n?(q={threadId:n,selectedFile:M,isImageFile:P,diffOriginal:I,diffModified:L,resolvedTheme:m,onEditorMount:W,isMobile:h,showTreeBackButton:le,onShowTree:O,isFullView:g,onToggleFullView:K,comments:A,activeCommentIndex:v,onPrevComment:oe,onNextComment:se,onFixComments:ce},t[29]=v,t[30]=A,t[31]=L,t[32]=I,t[33]=W,t[34]=ce,t[35]=se,t[36]=oe,t[37]=O,t[38]=g,t[39]=P,t[40]=h,t[41]=m,t[42]=M,t[43]=le,t[44]=n,t[45]=q):q=t[45];let{panelRef:ue,editorPanelProps:de,onPanelCollapse:fe,onPanelExpand:pe}=tn(q),J;return t[46]!==z||t[47]!==de||t[48]!==x||t[49]!==b||t[50]!==te||t[51]!==H||t[52]!==D||t[53]!==k||t[54]!==V||t[55]!==h||t[56]!==C||t[57]!==fe||t[58]!==pe||t[59]!==ue||t[60]!==ee||t[61]!==S||t[62]!==w?(J={isMobile:h,mobileShowTree:C,panelRef:ue,files:b,error:x,selectedFileIndex:S,treeData:w,handleFileSelect:D,handleRevertFile:k,editorPanelProps:de,editingComment:z,pendingLine:ee,handleSaveComment:V,handleDeleteComment:H,handleCloseCommentPopup:te,onPanelCollapse:fe,onPanelExpand:pe},t[46]=z,t[47]=de,t[48]=x,t[49]=b,t[50]=te,t[51]=H,t[52]=D,t[53]=k,t[54]=V,t[55]=h,t[56]=C,t[57]=fe,t[58]=pe,t[59]=ue,t[60]=ee,t[61]=S,t[62]=w,t[63]=J):J=t[63],J}function rn(e){return!e}function an(e){return e.projectModelSelections}function on(e){let t=(0,Z.c)(26),{isMobile:n,mobileShowTree:r,panelRef:i,files:a,error:o,selectedFileIndex:s,treeData:c,handleFileSelect:l,handleRevertFile:u,editorPanelProps:d,editingComment:f,pendingLine:p,handleSaveComment:m,handleDeleteComment:h,handleCloseCommentPopup:g,onPanelCollapse:_,onPanelExpand:v}=nn(e),y;t[0]!==o||t[1]!==a||t[2]!==l||t[3]!==u||t[4]!==s||t[5]!==c?(y=(0,Q.jsx)(bt,{treeData:c,files:a,error:o,selectedFileIndex:s,onFileSelect:l,onRevertFile:u}),t[0]=o,t[1]=a,t[2]=l,t[3]=u,t[4]=s,t[5]=c,t[6]=y):y=t[6];let b;t[7]===d?b=t[8]:(b=(0,Q.jsx)(ft,{...d}),t[7]=d,t[8]=b);let x;t[9]!==n||t[10]!==r||t[11]!==_||t[12]!==v||t[13]!==i||t[14]!==y||t[15]!==b?(x=(0,Q.jsx)(mt,{isMobile:n,mobileShowTree:r,panelRef:i,onPanelCollapse:_,onPanelExpand:v,fileTreePanel:y,diffEditorPanel:b}),t[9]=n,t[10]=r,t[11]=_,t[12]=v,t[13]=i,t[14]=y,t[15]=b,t[16]=x):x=t[16];let S;t[17]!==f||t[18]!==g||t[19]!==h||t[20]!==m||t[21]!==p?(S=(0,Q.jsx)(wt,{editingComment:f,pendingLine:p,onSave:m,onDelete:h,onClose:g}),t[17]=f,t[18]=g,t[19]=h,t[20]=m,t[21]=p,t[22]=S):S=t[22];let C;return t[23]!==x||t[24]!==S?(C=(0,Q.jsxs)(`div`,{className:`diff-view-root flex h-full min-h-0 w-full flex-col`,children:[x,S]}),t[23]=x,t[24]=S,t[25]=C):C=t[25],C}function sn(e){let t=(0,Z.c)(23),[n,r]=(0,X.useState)(0),[i,a]=(0,X.useState)(0),o=(0,X.useRef)(0),s=!!e.cachedState,c;t[0]===e.threadId?c=t[1]:(c=()=>{r(t=>(L(Pe(e.threadId,t)),t+1)),a(ln)},t[0]=e.threadId,t[1]=c);let l=c,u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{a(0),r(0),o.current=0},t[2]=u):u=t[2];let d;t[3]===e.threadId?d=t[4]:(d=[e.threadId],t[3]=e.threadId,t[4]=d),(0,X.useEffect)(u,d);let f,p;t[5]!==e.refreshTrigger||t[6]!==e.threadId?(f=()=>{!e.refreshTrigger||e.refreshTrigger<=o.current||(o.current=e.refreshTrigger,r(t=>(L(Pe(e.threadId,t)),t+1)),a(cn))},p=[e.refreshTrigger,e.threadId],t[5]=e.refreshTrigger,t[6]=e.threadId,t[7]=f,t[8]=p):(f=t[7],p=t[8]),(0,X.useEffect)(f,p);let m=`${e.threadId}:${i}`,h;t[9]!==l||t[10]!==s?(h=s?null:(0,Q.jsx)(Ze,{onRetry:l}),t[9]=l,t[10]=s,t[11]=h):h=t[11];let g=`${e.threadId}:${n}`,_;t[12]!==n||t[13]!==e||t[14]!==g?(_=(0,Q.jsx)(on,{...e,loadVersion:n},g),t[12]=n,t[13]=e,t[14]=g,t[15]=_):_=t[15];let v;t[16]!==h||t[17]!==_?(v=(0,Q.jsx)(X.Suspense,{fallback:h,children:_}),t[16]=h,t[17]=_,t[18]=v):v=t[18];let y;return t[19]!==l||t[20]!==m||t[21]!==v?(y=(0,Q.jsx)(he,{fallbackTitle:`Failed to load review changes`,onRetry:l,children:v},m),t[19]=l,t[20]=m,t[21]=v,t[22]=y):y=t[22],y}function cn(e){return e+1}function ln(e){return e+1}export{sn as DiffView,sn as default};
4
+ `)}function We(e){let t=$(e);return t?t.original.startLine<=1||t.modified.startLine<=1:!0}function Ge(e,t){return t?e-t.startLine+1:e}function Ke(e,t){return t?t.startLine+e-1:e}function qe(e){return{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`}function Je(e){let t=(0,Z.c)(34),{comments:n,activeCommentIndex:r,isFullView:i,selectedFileIndex:a,files:o,selectedFile:s,onLineGutterClick:c}=e,l=(0,X.useRef)(null),u=(0,X.useRef)(n),d=(0,X.useRef)(r),f;t[0]!==o||t[1]!==i||t[2]!==a?(f={isFullView:i,selectedFileIndex:a,files:o},t[0]=o,t[1]=i,t[2]=a,t[3]=f):f=t[3];let p=(0,X.useRef)(f),m;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m={original:[],modified:[]},t[4]=m):m=t[4];let h=(0,X.useRef)(m),g=(0,X.useRef)(null),_=(0,X.useRef)(!0),v,y;t[5]===n?(v=t[6],y=t[7]):(v=()=>{u.current=n},y=[n],t[5]=n,t[6]=v,t[7]=y),(0,X.useEffect)(v,y);let b,x;t[8]===r?(b=t[9],x=t[10]):(b=()=>{d.current=r},x=[r],t[8]=r,t[9]=b,t[10]=x),(0,X.useEffect)(b,x);let S,C;t[11]!==o||t[12]!==i||t[13]!==a?(S=()=>{p.current={isFullView:i,selectedFileIndex:a,files:o}},C=[i,a,o],t[11]=o,t[12]=i,t[13]=a,t[14]=S,t[15]=C):(S=t[14],C=t[15]),(0,X.useEffect)(S,C);let w;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>{if(!_.current)return;let e=l.current;if(!e)return;let{isFullView:t,selectedFileIndex:n,files:r}=p.current,i=u.current,a=d.current,o=r[n];if(!o)return;let s=(e,r)=>{let s=t?null:$(o),c=s?r===`original`?s.original:s.modified:null,l=i.filter(e=>e.fileIndex===n&&e.side===r),u=new Set(l.map(e=>Ge(e.lineNumber,c))),d=e.getModel()?.getLineCount()??0,f=[];for(let e=1;e<=d;e++)u.has(e)||f.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:Y.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}});let p=l.map(e=>{let t=Ge(e.lineNumber,c);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:Y.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}}}).filter(Xe);f.push(...p);let m=r===`original`?h.current.original:h.current.modified,g=e.deltaDecorations(m,f);r===`original`?h.current.original=g:h.current.modified=g};s(e.getOriginalEditor(),`original`),s(e.getModifiedEditor(),`modified`)},t[16]=w):w=t[16];let T=w,E;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{let e=g.current;g.current=null,e?.original?.dispose(),e?.modified?.dispose()},t[17]=E):E=t[17];let D=E,O;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>{h.current={original:[],modified:[]};let e=setTimeout(()=>T(),150);return()=>clearTimeout(e)},t[18]=O):O=t[18];let k;t[19]===a?k=t[20]:(k=[a,T],t[19]=a,t[20]=k),(0,X.useEffect)(O,k);let A;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>{T()},t[21]=A):A=t[21];let j;t[22]!==r||t[23]!==n||t[24]!==i||t[25]!==s||t[26]!==a?(j=[T,n,r,a,i,s],t[22]=r,t[23]=n,t[24]=i,t[25]=s,t[26]=a,t[27]=j):j=t[27],(0,X.useEffect)(A,j);let M,N;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>()=>{_.current=!1,l.current=null,h.current={original:[],modified:[]},D()},N=[D],t[28]=M,t[29]=N):(M=t[28],N=t[29]),(0,X.useEffect)(M,N);let P;t[30]===c?P=t[31]:(P=e=>{l.current=e;let t=e.getModel();g.current=t?{original:t.original,modified:t.modified}:null;let n=Ye,r=(e,t)=>{e.onMouseDown(r=>{if(!r.target?.position||!n(r.target.type))return;let i=r.target.position.lineNumber,{isFullView:a,selectedFileIndex:o,files:s}=p.current,l=s[o];if(!l)return;let d=a?null:$(l),f=Ke(i,d?t===`original`?d.original:d.modified:null),m=e.getModel()?.getLineContent(i)??``;c({existing:u.current.find(e=>e.fileIndex===o&&e.lineNumber===f&&e.side===t),lineNumber:f,lineContent:m,side:t})})};r(e.getOriginalEditor(),`original`),r(e.getModifiedEditor(),`modified`),setTimeout(()=>{l.current===e&&T()},150)},t[30]=c,t[31]=P);let F=P,I;return t[32]===F?I=t[33]:(I={diffEditorRef:l,applyAllDecorations:T,handleEditorDidMount:F},t[32]=F,t[33]=I),I}function Ye(e){return e===Y.MouseTargetType.GUTTER_GLYPH_MARGIN||e===Y.MouseTargetType.GUTTER_LINE_NUMBERS||e===Y.MouseTargetType.GUTTER_LINE_DECORATIONS||e===Y.MouseTargetType.GUTTER_VIEW_ZONE}function Xe(e){return e!==null}function Ze(e){let t=(0,Z.c)(6),{onRetry:n}=e,[r,a]=(0,X.useState)(!1),o,s;if(t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{let e=window.setTimeout(()=>{a(!0)},15e3);return()=>{window.clearTimeout(e)}},s=[],t[0]=o,t[1]=s):(o=t[0],s=t[1]),(0,X.useEffect)(o,s),!r){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(z,{label:`Loading review changes...`}),t[2]=e):e=t[2],e}let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Q.jsx)(`p`,{className:i.bodyMuted,children:`Loading review changes is taking longer than expected.`}),t[3]=c):c=t[3];let l;return t[4]===n?l=t[5]:(l=(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,Q.jsxs)(`div`,{className:`space-y-4 text-center`,children:[c,(0,Q.jsx)(f,{variant:`outline`,onClick:n,children:`Retry`})]})}),t[4]=n,t[5]=l),l}function Qe(e,t,n){return`git-media:${e}:${t}:${n}`}function $e(e,t,n){let r=(0,Z.c)(13),i;r[0]!==t||r[1]!==e||r[2]!==n?(i=Qe(e,t,n),r[0]=t,r[1]=e,r[2]=n,r[3]=i):i=r[3];let a;r[4]!==t||r[5]!==e||r[6]!==n?(a=()=>M(e,t,n),r[4]=t,r[5]=e,r[6]=n,r[7]=a):a=r[7];let o=R(i,a),s;r[8]===o?s=r[9]:(s=URL.createObjectURL(o),r[8]=o,r[9]=s);let c=s,l,u;return r[10]===c?(l=r[11],u=r[12]):(l=()=>()=>{URL.revokeObjectURL(c)},u=[c],r[10]=c,r[11]=l,r[12]=u),(0,X.useEffect)(l,u),c}function et(e){let t=(0,Z.c)(9),{threadId:n,filePath:r,version:a,label:o}=e,s=$e(n,r,a),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=d(i.caption,`px-3 py-1.5 border-b text-muted-foreground bg-muted/30`),t[0]=c):c=t[0];let l;t[1]===o?l=t[2]:(l=(0,Q.jsx)(`div`,{className:c,children:o}),t[1]=o,t[2]=l);let u=`${o} - ${r}`,f;t[3]!==s||t[4]!==u?(f=(0,Q.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 overflow-auto bg-background`,children:(0,Q.jsx)(`img`,{src:s,alt:u,className:`max-w-full max-h-full object-contain`})}),t[3]=s,t[4]=u,t[5]=f):f=t[5];let p;return t[6]!==l||t[7]!==f?(p=(0,Q.jsxs)(`div`,{className:`flex flex-col h-full`,children:[l,f]}),t[6]=l,t[7]=f,t[8]=p):p=t[8],p}function tt(e){let t=(0,Z.c)(23),{threadId:n,file:r}=e,i=r.status===`modified`||r.status===`deleted`||r.status===`renamed`,a=r.status===`modified`||r.status===`added`||r.status===`untracked`||r.status===`renamed`;if(i&&a){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(z,{label:`Loading before...`}),t[0]=e):e=t[0];let i=r.status===`renamed`&&r.oldPath?r.oldPath:r.path,a;t[1]!==i||t[2]!==n?(a=(0,Q.jsx)(`div`,{className:`flex-1 border-r border-border`,children:(0,Q.jsx)(X.Suspense,{fallback:e,children:(0,Q.jsx)(et,{threadId:n,filePath:i,version:`old`,label:`Before`})})}),t[1]=i,t[2]=n,t[3]=a):a=t[3];let o;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(z,{label:`Loading after...`}),t[4]=o):o=t[4];let s;t[5]!==r.path||t[6]!==n?(s=(0,Q.jsx)(`div`,{className:`flex-1`,children:(0,Q.jsx)(X.Suspense,{fallback:o,children:(0,Q.jsx)(et,{threadId:n,filePath:r.path,version:`new`,label:`After`})})}),t[5]=r.path,t[6]=n,t[7]=s):s=t[7];let c;return t[8]!==a||t[9]!==s?(c=(0,Q.jsxs)(`div`,{className:`flex h-full`,children:[a,s]}),t[8]=a,t[9]=s,t[10]=c):c=t[10],c}let o=a?`new`:`old`,s=a?`Added`:`Deleted`,c;t[11]===s?c=t[12]:(c=s.toLowerCase(),t[11]=s,t[12]=c);let l=`Loading ${c} image...`,u;t[13]===l?u=t[14]:(u=(0,Q.jsx)(z,{label:l}),t[13]=l,t[14]=u);let d;t[15]!==r.path||t[16]!==s||t[17]!==n||t[18]!==o?(d=(0,Q.jsx)(et,{threadId:n,filePath:r.path,version:o,label:s}),t[15]=r.path,t[16]=s,t[17]=n,t[18]=o,t[19]=d):d=t[19];let f;return t[20]!==u||t[21]!==d?(f=(0,Q.jsx)(`div`,{className:`flex h-full flex-col`,children:(0,Q.jsx)(X.Suspense,{fallback:u,children:d})}),t[20]=u,t[21]=d,t[22]=f):f=t[22],f}function nt(e){let t=(0,Z.c)(21),{comments:n,activeCommentIndex:r,onPrevComment:a,onNextComment:o}=e,s=r??0,c=n.length===1?`1 Comment`:`Comment ${s+1} of ${n.length}`,l=s===0,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(m,{className:`h-3 w-3`}),t[0]=u):u=t[0];let p;t[1]!==a||t[2]!==l?(p=(0,Q.jsx)(E,{asChild:!0,children:(0,Q.jsx)(f,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:a,disabled:l,children:u})}),t[1]=a,t[2]=l,t[3]=p):p=t[3];let h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Q.jsx)(D,{children:`Previous comment`}),t[4]=h):h=t[4];let g;t[5]===p?g=t[6]:(g=(0,Q.jsxs)(O,{children:[p,h]}),t[5]=p,t[6]=g);let _;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=d(i.caption,`whitespace-nowrap`),t[7]=_):_=t[7];let v;t[8]===c?v=t[9]:(v=(0,Q.jsx)(`span`,{className:_,children:c}),t[8]=c,t[9]=v);let y=s===n.length-1,b;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Q.jsx)(x,{className:`h-3 w-3`}),t[10]=b):b=t[10];let S;t[11]!==o||t[12]!==y?(S=(0,Q.jsx)(E,{asChild:!0,children:(0,Q.jsx)(f,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:o,disabled:y,children:b})}),t[11]=o,t[12]=y,t[13]=S):S=t[13];let C;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,Q.jsx)(D,{children:`Next comment`}),t[14]=C):C=t[14];let w;t[15]===S?w=t[16]:(w=(0,Q.jsxs)(O,{children:[S,C]}),t[15]=S,t[16]=w);let T;return t[17]!==w||t[18]!==g||t[19]!==v?(T=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[g,v,w]}),t[17]=w,t[18]=g,t[19]=v,t[20]=T):T=t[20],T}function rt(e){let t=(0,Z.c)(12),{isChatOpen:n,onOpenChat:r,onCloseChat:i,focusedPane:a,conversationId:o,paneMessages:s}=e,c;t[0]!==o||t[1]!==a||t[2]!==n||t[3]!==i||t[4]!==s?(c=n&&(0,Q.jsxs)(`div`,{className:`pointer-events-auto w-[min(100%,48rem)] rounded-2xl bg-background/50 p-4 backdrop-blur-md`,children:[(0,Q.jsx)(`div`,{className:`mb-3 flex items-center justify-end`,children:(0,Q.jsxs)(f,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:i,children:[(0,Q.jsx)(T,{className:`h-4 w-4`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Close chat`})]})}),(0,Q.jsx)(oe,{paneId:a,conversationId:o,children:(0,Q.jsx)(V,{children:(0,Q.jsx)(H,{messages:s})})})]}),t[0]=o,t[1]=a,t[2]=n,t[3]=i,t[4]=s,t[5]=c):c=t[5];let l;t[6]!==n||t[7]!==r?(l=!n&&(0,Q.jsxs)(O,{children:[(0,Q.jsx)(E,{asChild:!0,children:(0,Q.jsxs)(f,{size:`icon`,className:`pointer-events-auto h-12 w-12 rounded-full shadow-lg`,onClick:r,children:[(0,Q.jsx)(_,{className:`h-5 w-5`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Open review chat`})]})}),(0,Q.jsx)(D,{children:`Chat about this diff`})]}),t[6]=n,t[7]=r,t[8]=l):l=t[8];let u;return t[9]!==c||t[10]!==l?(u=(0,Q.jsxs)(`div`,{className:`pointer-events-none absolute bottom-4 right-4 z-20 flex flex-col items-end gap-3`,children:[c,l]}),t[9]=c,t[10]=l,t[11]=u):u=t[11],u}function it(e){let t=(0,Z.c)(10),{showTreeBackButton:n,isPanelCollapsed:r,onShowTree:i,onTogglePanel:a}=e;if(n){let e,n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(v,{className:`h-4 w-4`}),n=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Show file tree`}),t[0]=e,t[1]=n):(e=t[0],n=t[1]);let r;return t[2]===i?r=t[3]:(r=(0,Q.jsxs)(f,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:i,children:[e,n]}),t[2]=i,t[3]=r),r}let o;t[4]===r?o=t[5]:(o=r?(0,Q.jsx)(v,{className:`h-4 w-4`}):(0,Q.jsx)(b,{className:`h-4 w-4`}),t[4]=r,t[5]=o);let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Toggle file tree`}),t[6]=s):s=t[6];let c;return t[7]!==a||t[8]!==o?(c=(0,Q.jsxs)(f,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:a,children:[o,s]}),t[7]=a,t[8]=o,t[9]=c):c=t[9],c}function at(e){let t=(0,Z.c)(7),{isImageFile:n,isFullView:r,onToggleFullView:a,selectedFile:o}=e;if(n)return null;let s=!o,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=d(i.compact,`h-8 gap-1 px-2`),t[0]=c):c=t[0];let l;t[1]===r?l=t[2]:(l=r?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(C,{className:`h-3 w-3`}),` Show changes only`]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(w,{className:`h-3 w-3`}),` Show full file`]}),t[1]=r,t[2]=l);let u;return t[3]!==a||t[4]!==s||t[5]!==l?(u=(0,Q.jsx)(f,{variant:`ghost`,size:`sm`,onClick:a,disabled:s,className:c,children:l}),t[3]=a,t[4]=s,t[5]=l,t[6]=u):u=t[6],u}function ot(e){let t=(0,Z.c)(7),{onOpen:n}=e,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(y,{className:`h-3.5 w-3.5`}),i=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Open in Files window`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;t[2]===n?a=t[3]:(a=(0,Q.jsx)(E,{asChild:!0,children:(0,Q.jsxs)(f,{variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0 text-muted-foreground`,onClick:n,children:[r,i]})}),t[2]=n,t[3]=a);let o;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(D,{children:`Open in Files window`}),t[4]=o):o=t[4];let s;return t[5]===a?s=t[6]:(s=(0,Q.jsxs)(O,{children:[a,o]}),t[5]=a,t[6]=s),s}function st(e){let t=(0,Z.c)(9),{selectedFile:n,onOpenInFiles:r}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=d(i.label,`text-foreground`),t[0]=a):a=t[0];let o=n?n.path:`Review Changes`,s;t[1]===o?s=t[2]:(s=(0,Q.jsx)(`span`,{className:a,children:o}),t[1]=o,t[2]=s);let c;t[3]!==r||t[4]!==n?(c=n&&(0,Q.jsx)(ot,{onOpen:r}),t[3]=r,t[4]=n,t[5]=c):c=t[5];let l;return t[6]!==s||t[7]!==c?(l=(0,Q.jsxs)(Q.Fragment,{children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8],l}function ct(e){let t=(0,Z.c)(15),{comments:n,activeCommentIndex:r,onPrevComment:a,onNextComment:o,onFixComments:s}=e;if(n.length===0)return null;let c;t[0]!==r||t[1]!==n||t[2]!==o||t[3]!==a?(c=(0,Q.jsx)(nt,{comments:n,activeCommentIndex:r,onPrevComment:a,onNextComment:o}),t[0]=r,t[1]=n,t[2]=o,t[3]=a,t[4]=c):c=t[4];let l,u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=d(i.compact,`h-8 gap-1 px-3 bg-foreground text-background hover:bg-foreground/90`),u=(0,Q.jsx)(_,{className:`h-3 w-3`}),t[5]=l,t[6]=u):(l=t[5],u=t[6]);let p;t[7]===s?p=t[8]:(p=(0,Q.jsx)(E,{asChild:!0,children:(0,Q.jsxs)(f,{size:`sm`,onClick:s,className:l,children:[u,`Fix all comments`]})}),t[7]=s,t[8]=p);let m;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Q.jsx)(D,{children:`Send all comments to Tarsk for resolution`}),t[9]=m):m=t[9];let h;t[10]===p?h=t[11]:(h=(0,Q.jsxs)(O,{children:[p,m]}),t[10]=p,t[11]=h);let g;return t[12]!==c||t[13]!==h?(g=(0,Q.jsxs)(Q.Fragment,{children:[c,h]}),t[12]=c,t[13]=h,t[14]=g):g=t[14],g}function lt(e){let t=(0,Z.c)(10),{isImageFile:n,selectedFile:r,threadId:i,language:a,theme:o,diffOriginal:s,diffModified:c,onEditorMount:l,diffEditorOptions:u}=e;if(n&&r){let e;return t[0]!==r||t[1]!==i?(e=(0,Q.jsx)(tt,{threadId:i,file:r}),t[0]=r,t[1]=i,t[2]=e):e=t[2],e}let d;return t[3]!==u||t[4]!==c||t[5]!==s||t[6]!==a||t[7]!==l||t[8]!==o?(d=(0,Q.jsx)(ge,{height:`100%`,language:a,original:s,modified:c,keepCurrentOriginalModel:!0,keepCurrentModifiedModel:!0,theme:o,onMount:l,options:u}),t[3]=u,t[4]=c,t[5]=s,t[6]=a,t[7]=l,t[8]=o,t[9]=d):d=t[9],d}function ut(){let e=(0,Z.c)(8),t=u(dt),n;e[0]===t?n=e[1]:(n=e=>s(e,t),e[0]=t,e[1]=n);let r=u(n),i;e[2]===t?i=e[3]:(i=e=>c(e,t),e[2]=t,e[3]=i);let a=u(i),o;return e[4]!==r||e[5]!==t||e[6]!==a?(o={focusedPane:t,conversationId:r,paneMessages:a},e[4]=r,e[5]=t,e[6]=a,e[7]=o):o=e[7],o}function dt(e){return e.focusedPane}function ft(e){let t=(0,Z.c)(61),{threadId:n,selectedFile:r,content:i,layout:a,commentControls:o,chatControls:s}=e,{isImageFile:c,diffOriginal:l,diffModified:u,resolvedTheme:d,onEditorMount:f,diffEditorOptions:p,isFullView:m,onToggleFullView:h}=i,{isPanelCollapsed:g,showTreeBackButton:_,onShowTree:v,onTogglePanel:y}=a,{focusedPane:b,conversationId:x,paneMessages:S}=ut(),{openChatDockPanel:C}=ne(),{setPendingExplorerPath:w}=ee(),T;t[0]!==C||t[1]!==r||t[2]!==w?(T=function(){r&&(w(r.path),C(`explorer`))},t[0]=C,t[1]=r,t[2]=w,t[3]=T):T=t[3];let E=T,D;t[4]===g?D=t[5]:(D=Ie(g),t[4]=g,t[5]=D);let O;t[6]!==g||t[7]!==v||t[8]!==y||t[9]!==_?(O=(0,Q.jsx)(it,{showTreeBackButton:_,isPanelCollapsed:g,onShowTree:v,onTogglePanel:y}),t[6]=g,t[7]=v,t[8]=y,t[9]=_,t[10]=O):O=t[10];let k;t[11]!==E||t[12]!==r?(k=(0,Q.jsx)(st,{selectedFile:r,onOpenInFiles:E}),t[11]=E,t[12]=r,t[13]=k):k=t[13];let A;t[14]!==O||t[15]!==k?(A=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[O,k]}),t[14]=O,t[15]=k,t[16]=A):A=t[16];let j;t[17]===g?j=t[18]:(j=Le(g),t[17]=g,t[18]=j);let M;t[19]!==m||t[20]!==c||t[21]!==h||t[22]!==r?(M=(0,Q.jsx)(at,{isImageFile:c,isFullView:m,onToggleFullView:h,selectedFile:r}),t[19]=m,t[20]=c,t[21]=h,t[22]=r,t[23]=M):M=t[23];let N;t[24]===o?N=t[25]:(N=(0,Q.jsx)(ct,{...o}),t[24]=o,t[25]=N);let P;t[26]!==j||t[27]!==M||t[28]!==N?(P=(0,Q.jsxs)(`div`,{className:j,children:[M,N]}),t[26]=j,t[27]=M,t[28]=N,t[29]=P):P=t[29];let F;t[30]!==D||t[31]!==A||t[32]!==P?(F=(0,Q.jsxs)(ue,{className:D,children:[A,P]}),t[30]=D,t[31]=A,t[32]=P,t[33]=F):F=t[33];let I=r?.path||``,L;t[34]===I?L=t[35]:(L=qe(I),t[34]=I,t[35]=L);let R;t[36]===d?R=t[37]:(R=Fe(d),t[36]=d,t[37]=R);let z;t[38]!==p||t[39]!==u||t[40]!==l||t[41]!==c||t[42]!==f||t[43]!==r||t[44]!==L||t[45]!==R||t[46]!==n?(z=(0,Q.jsx)(lt,{isImageFile:c,selectedFile:r,threadId:n,language:L,theme:R,diffOriginal:l,diffModified:u,onEditorMount:f,diffEditorOptions:p}),t[38]=p,t[39]=u,t[40]=l,t[41]=c,t[42]=f,t[43]=r,t[44]=L,t[45]=R,t[46]=n,t[47]=z):z=t[47];let B;t[48]!==s.isChatOpen||t[49]!==s.onCloseChat||t[50]!==s.onOpenChat||t[51]!==x||t[52]!==b||t[53]!==S?(B=(0,Q.jsx)(rt,{isChatOpen:s.isChatOpen,onOpenChat:s.onOpenChat,onCloseChat:s.onCloseChat,focusedPane:b,conversationId:x,paneMessages:S}),t[48]=s.isChatOpen,t[49]=s.onCloseChat,t[50]=s.onOpenChat,t[51]=x,t[52]=b,t[53]=S,t[54]=B):B=t[54];let V;t[55]!==z||t[56]!==B?(V=(0,Q.jsxs)(`div`,{className:`flex-1 bg-transparent relative`,children:[z,B]}),t[55]=z,t[56]=B,t[57]=V):V=t[57];let H;return t[58]!==F||t[59]!==V?(H=(0,Q.jsxs)(`div`,{className:`diff-editor-panel flex h-full min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden bg-transparent`,children:[F,V]}),t[58]=F,t[59]=V,t[60]=H):H=t[60],H}function pt(){let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(ie,{withHandle:!0,className:`z-10 shrink-0`}),e[0]=t):t=e[0],t}function mt(e){let t=(0,Z.c)(8),{isMobile:n,mobileShowTree:r,panelRef:i,onPanelCollapse:a,onPanelExpand:o,fileTreePanel:s,diffEditorPanel:c}=e,l;return t[0]!==c||t[1]!==s||t[2]!==n||t[3]!==r||t[4]!==a||t[5]!==o||t[6]!==i?(l=(0,Q.jsx)(`div`,{className:`diff-body flex min-h-0 w-full flex-1 overflow-hidden`,children:n?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:d(`flex min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden`,!r&&`hidden`),children:s}),(0,Q.jsx)(`div`,{className:d(`flex min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden`,r&&`hidden`),children:c})]}):(0,Q.jsxs)(B,{direction:`horizontal`,children:[(0,Q.jsx)(G,{ref:i,defaultSize:25,minSize:12,maxSize:40,collapsible:!0,collapsedSize:0,onCollapse:a,onExpand:o,className:`overflow-hidden border-r border-transparent`,children:s}),(0,Q.jsx)(pt,{}),(0,Q.jsx)(G,{className:`overflow-hidden border-l border-border bg-transparent`,children:c})]})}),t[0]=c,t[1]=s,t[2]=n,t[3]=r,t[4]=a,t[5]=o,t[6]=i,t[7]=l):l=t[7],l}var ht=a(`app.diff-view.ui`);function gt(e,t){if(!e)return{diffOriginal:``,diffModified:``};if(t)return{diffOriginal:e.oldContent,diffModified:e.newContent};let n=$(e);return n?{diffOriginal:Ue(e.oldContent,n.original.startLine,n.original.endLine),diffModified:Ue(e.newContent,n.modified.startLine,n.modified.endLine)}:{diffOriginal:e.oldContent,diffModified:e.newContent}}function _t(e,t){return!!(e&&(t||We(e)))}function vt(e,t,n){let r=n?null:$(e),i=r?t.side===`original`?r.original:r.modified:null;return Ge(t.lineNumber,i)}async function yt(e,t){let n=t[e];if(n)return n;try{let e=await F(),t=Object.values(e).flat();return t.length>0?t[0]:null}catch(e){return ht.error(`Failed to load models:`,e),null}}function bt(e){let t=(0,Z.c)(7),{treeData:n,files:r,error:i,selectedFileIndex:a,onFileSelect:o,onRevertFile:s}=e,c;return t[0]!==i||t[1]!==r||t[2]!==o||t[3]!==s||t[4]!==a||t[5]!==n?(c=(0,Q.jsx)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden`,children:(0,Q.jsx)(Te,{treeData:n,files:r,error:i,selectedFileIndex:a,onFileSelect:o,onRevertFile:s})}),t[0]=i,t[1]=r,t[2]=o,t[3]=s,t[4]=a,t[5]=n,t[6]=c):c=t[6],c}function xt(e,t){return`${e?e.id:``}-${t?String(t.lineNumber):``}-${t?t.side:``}`}function St(e,t){return e?{lineNumber:e.lineNumber,lineContent:e.lineContent,comment:e.comment}:t?{lineNumber:t.lineNumber,lineContent:t.lineContent,comment:void 0}:{lineNumber:0,lineContent:``,comment:void 0}}function Ct(e,t){return t!==null||e!==null}function wt(e){let t=(0,Z.c)(19),{editingComment:n,pendingLine:r,onSave:i,onDelete:a,onClose:o}=e,s;t[0]!==n||t[1]!==r?(s=St(n,r),t[0]=n,t[1]=r,t[2]=s):s=t[2];let c=s,l;t[3]!==n||t[4]!==r?(l=xt(n,r),t[3]=n,t[4]=r,t[5]=l):l=t[5];let u;t[6]!==n||t[7]!==r?(u=Ct(n,r),t[6]=n,t[7]=r,t[8]=u):u=t[8];let d=n!==null,f;return t[9]!==c.comment||t[10]!==c.lineContent||t[11]!==c.lineNumber||t[12]!==o||t[13]!==a||t[14]!==i||t[15]!==l||t[16]!==u||t[17]!==d?(f=(0,Q.jsx)(Me,{open:u,lineNumber:c.lineNumber,lineContent:c.lineContent,initialComment:c.comment,isEditing:d,onSave:i,onDelete:a,onClose:o},l),t[9]=c.comment,t[10]=c.lineContent,t[11]=c.lineNumber,t[12]=o,t[13]=a,t[14]=i,t[15]=l,t[16]=u,t[17]=d,t[18]=f):f=t[18],f}function Tt(e,t){return Math.min(e,Math.max(t-1,0))}function Et(e,t,n,r){e(r??[]),t(e=>Tt(n??e,r?.length??1))}function Dt(e,t,n){let r=Tt(t,e.length);return n?.files===e&&n.selectedFileIndex===r?n:{files:e,selectedFileIndex:r}}function Ot(e,t,n,r){return{id:`comment-${Date.now()}`,filePath:t.path,fileIndex:n,lineNumber:e.lineNumber,lineContent:e.lineContent,comment:r,side:e.side}}function kt(e,t){return(t%e+e)%e}function At(e,t,n,r){if(!e)return;let i=t[n.fileIndex];if(!i)return;let a=vt(i,n,r);(n.side===`original`?e.getOriginalEditor():e.getModifiedEditor()).revealLineInCenter(Math.max(1,a))}function jt(e,t,n){return{readOnly:!0,renderSideBySide:!e,ignoreTrimWhitespace:!1,renderOverviewRuler:!0,scrollBeyondLastLine:!1,minimap:{enabled:!1},folding:!1,glyphMargin:!0,lineNumbers:_t(t,n)?`on`:`off`,diffWordWrap:`on`,originalEditable:!1,automaticLayout:!0}}function Mt(e,t){e.current&&(t?e.current.expand():e.current.collapse())}async function Nt(e){return(await N(e)).files||[]}async function Pt(e,t,n,r){try{return await k(e,t.path),await Promise.all([n(),r(!0)]),null}catch(e){return e instanceof Error?e.message:`Failed to revert file`}}async function Ft({threadId:e,comments:t,selectedModel:n,clearComments:r,dispatch:i,onExit:a}){try{let{prompt:s}=await P(e,t);r(),i({type:o.SetPendingChatMessage,message:{threadId:e,message:s,model:n.id,provider:n.provider}}),a()}catch(e){ht.error(`Failed to fix comments:`,e),typeof window<`u`&&window.alert(`Failed to process comments. Please try again.`)}}function It(e,t){return e?.files??t??[]}function Lt(e){return e?.selectedFileIndex??0}function Rt(e){return e?.isBinary??!1}function zt(e,t,n,r){Et(e,t,n?.selectedFileIndex,r)}function Bt(e,t,n){n&&n(n=>Dt(e,t,n))}function Vt(e,t,n,r){n(e),t&&r(!1)}async function Ht(e,t,n,r){if(e){r(null);try{let r=await Nt(e);t(r),n(e=>Tt(e,r.length))}catch(e){r(e instanceof Error?e.message:`Failed to load diff`)}}}async function Ut(e,t,n,r,i){let a=await Pt(t,e,n,r);a&&i(a)}function Wt(e,t,n,r,i,a){e?i(e):a({lineNumber:t,lineContent:n,side:r})}function Gt(e,t,n,r,i,a){return t&&r?[...e,Ot(t,r,i,a)]:n?e.map(e=>e.id===n.id?{...e,comment:a}:e):e}function Kt(e,t){return t?e.filter(e=>e.id!==t.id):e}function qt(e,t){if(e.length===0)return null;let n=kt(e.length,t);return{idx:n,comment:e[n]}}function Jt(e,t,n,r,i,a,o,s,c,l){let u=qt(e,t);u&&(n(u.idx),r(u.comment.fileIndex),i&&a(!1),setTimeout(()=>{At(o.current,s,u.comment,c),l()},100))}async function Yt(e,t,n,r,i,a){let o=await yt(e,t);if(!o){ht.error(`No models available to process comments`);return}await Ft({threadId:e,comments:n,selectedModel:o,clearComments:a,dispatch:r,onExit:i})}function Xt(e,t,n,r,i){let a=(0,Z.c)(38),{fetchUnifiedStatus:o}=W(),s;a[0]!==n||a[1]!==t?(s=()=>It(n,t),a[0]=n,a[1]=t,a[2]=s):s=a[2];let[c,l]=(0,X.useState)(s),[u,d]=(0,X.useState)(null),f;a[3]===n?f=a[4]:(f=()=>Lt(n),a[3]=n,a[4]=f);let[p,m]=(0,X.useState)(f),[h,g]=(0,X.useState)(!0),_;a[5]!==n||a[6]!==t?(_=()=>{zt(l,m,n,t)},a[5]=n,a[6]=t,a[7]=_):_=a[7];let v=n?.selectedFileIndex,y;a[8]!==t||a[9]!==v?(y=[v,t],a[8]=t,a[9]=v,a[10]=y):y=a[10],(0,X.useEffect)(_,y);let b;a[11]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>{g(!0)},a[11]=b):b=a[11];let x;a[12]===e?x=a[13]:(x=[e],a[12]=e,a[13]=x),(0,X.useEffect)(b,x);let S,C;a[14]!==c||a[15]!==r||a[16]!==p?(S=()=>{Bt(c,p,r)},C=[c,r,p],a[14]=c,a[15]=r,a[16]=p,a[17]=S,a[18]=C):(S=a[17],C=a[18]),(0,X.useEffect)(S,C);let w;a[19]===i?w=a[20]:(w=e=>{Vt(e,i,m,g)},a[19]=i,a[20]=w);let T=w,E;a[21]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{g(!0)},a[21]=E):E=a[21];let D=E,O;a[22]===e?O=a[23]:(O=async()=>{await Ht(e,l,m,d)},a[22]=e,a[23]=O);let k=O,A;a[24]!==o||a[25]!==k||a[26]!==e?(A=async t=>{await Ut(t,e,k,o,d)},a[24]=o,a[25]=k,a[26]=e,a[27]=A):A=a[27];let j=A,M;a[28]===c?M=a[29]:(M=be(c),a[28]=c,a[29]=M);let N=M,P;return a[30]!==u||a[31]!==c||a[32]!==T||a[33]!==j||a[34]!==h||a[35]!==p||a[36]!==N?(P={files:c,error:u,selectedFileIndex:p,mobileShowTree:h,treeData:N,setSelectedFileIndex:m,setMobileShowTree:g,handleFileSelect:T,handleShowTree:D,handleRevertFile:j},a[30]=u,a[31]=c,a[32]=T,a[33]=j,a[34]=h,a[35]=p,a[36]=N,a[37]=P):P=a[37],P}function Zt(e,t,n,r){let i=(0,Z.c)(17),[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(null),l;i[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=e=>{let{existing:t,lineNumber:n,lineContent:r,side:i}=e;Wt(t,n,r,i,c,o)},i[0]=l):l=i[0];let u=l,d;i[1]!==e||i[2]!==s||i[3]!==a||i[4]!==n||i[5]!==r||i[6]!==t?(d=i=>{t(Gt(e,a,s,n,r,i)),o(null),c(null)},i[1]=e,i[2]=s,i[3]=a,i[4]=n,i[5]=r,i[6]=t,i[7]=d):d=i[7];let f=d,p;i[8]!==s||i[9]!==t?(p=()=>{t(e=>Kt(e,s)),s&&c(null)},i[8]=s,i[9]=t,i[10]=p):p=i[10];let m=p,h;i[11]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{o(null),c(null)},i[11]=h):h=i[11];let g=h,_;return i[12]!==s||i[13]!==m||i[14]!==f||i[15]!==a?(_={pendingLine:a,editingComment:s,handleLineGutterClick:u,handleSaveComment:f,handleDeleteComment:m,handleCloseCommentPopup:g},i[12]=s,i[13]=m,i[14]=f,i[15]=a,i[16]=_):_=i[16],_}function Qt(e){let t=(0,Z.c)(19),{comments:n,files:r,isFullView:i,isMobile:a,activeCommentIndex:o,setActiveCommentIndex:s,setSelectedFileIndex:c,setMobileShowTree:l,diffEditorRef:u,applyAllDecorations:d}=e,f;t[0]!==d||t[1]!==n||t[2]!==u||t[3]!==r||t[4]!==i||t[5]!==a||t[6]!==s||t[7]!==l||t[8]!==c?(f=e=>{Jt(n,e,s,c,a,l,u,r,i,d)},t[0]=d,t[1]=n,t[2]=u,t[3]=r,t[4]=i,t[5]=a,t[6]=s,t[7]=l,t[8]=c,t[9]=f):f=t[9];let p=f,m;t[10]!==o||t[11]!==p?(m=()=>{p((o??0)-1)},t[10]=o,t[11]=p,t[12]=m):m=t[12];let h=m,g;t[13]!==o||t[14]!==p?(g=()=>{p((o??-1)+1)},t[13]=o,t[14]=p,t[15]=g):g=t[15];let _=g,v;return t[16]!==_||t[17]!==h?(v={handlePrevComment:h,handleNextComment:_},t[16]=_,t[17]=h,t[18]=v):v=t[18],v}function $t(e,t,n,r,i,a){let o=(0,Z.c)(9),s;o[0]!==n||o[1]!==r||o[2]!==i||o[3]!==t||o[4]!==a||o[5]!==e?(s=()=>Yt(e,t,n,r,i,()=>a([])),o[0]=n,o[1]=r,o[2]=i,o[3]=t,o[4]=a,o[5]=e,o[6]=s):s=o[6];let c=s,l;return o[7]===c?l=o[8]:(l={handleFixComments:c},o[7]=c,o[8]=l),l}function en({threadId:e,selectedFile:t,isImageFile:n,diffOriginal:r,diffModified:i,resolvedTheme:a,onEditorMount:o,diffEditorOptions:s,isPanelCollapsed:c,showTreeBackButton:l,onShowTree:u,onTogglePanel:d,isFullView:f,onToggleFullView:p,comments:m,activeCommentIndex:h,onPrevComment:g,onNextComment:_,onFixComments:v,isChatOpen:y,onOpenChat:b,onCloseChat:x}){return{threadId:e,selectedFile:t,content:{isImageFile:n,diffOriginal:r,diffModified:i,resolvedTheme:a,onEditorMount:o,diffEditorOptions:s,isFullView:f,onToggleFullView:p},layout:{isPanelCollapsed:c,showTreeBackButton:l,onShowTree:u,onTogglePanel:d},commentControls:{comments:m,activeCommentIndex:h,onPrevComment:g,onNextComment:_,onFixComments:v},chatControls:{isChatOpen:y,onOpenChat:b,onCloseChat:x}}}function tn({threadId:e,selectedFile:t,isImageFile:n,diffOriginal:r,diffModified:i,resolvedTheme:a,onEditorMount:o,isMobile:s,showTreeBackButton:c,onShowTree:l,isFullView:u,onToggleFullView:d,comments:f,activeCommentIndex:p,onPrevComment:m,onNextComment:h,onFixComments:g}){let[_,v]=(0,X.useState)(!1),[y,b]=(0,X.useState)(!1),x=(0,X.useRef)(null),S=(0,X.useCallback)(()=>{Mt(x,_)},[_]);return{panelRef:x,editorPanelProps:en({threadId:e,selectedFile:t,isImageFile:n,diffOriginal:r,diffModified:i,resolvedTheme:a,onEditorMount:o,diffEditorOptions:(0,X.useMemo)(()=>jt(s,t,u),[s,t,u]),isPanelCollapsed:_,showTreeBackButton:c,onShowTree:l,onTogglePanel:S,isFullView:u,onToggleFullView:d,comments:f,activeCommentIndex:p,onPrevComment:m,onNextComment:h,onFixComments:g,isChatOpen:y,onOpenChat:()=>b(!0),onCloseChat:()=>b(!1)}),onPanelCollapse:()=>v(!0),onPanelExpand:()=>v(!1)}}function nn(e){let t=(0,Z.c)(64),{threadId:n,onExit:r,loadVersion:i,cachedState:a,onCachedStateChange:o}=e,s;t[0]!==i||t[1]!==n?(s=Pe(n,i),t[0]=i,t[1]=n,t[2]=s):s=t[2];let c;t[3]===n?c=t[4]:(c=()=>ze(n),t[3]=n,t[4]=c);let d=R(s,c),f=l(),p=u(an),{resolvedTheme:m}=le(),h=ae(),[g,_]=(0,X.useState)(!1),[v,y]=(0,X.useState)(null),{files:b,error:x,selectedFileIndex:S,mobileShowTree:C,treeData:w,setSelectedFileIndex:T,setMobileShowTree:E,handleFileSelect:D,handleShowTree:O,handleRevertFile:k}=Xt(n,d.files,a,o,h),{comments:A,setComments:j}=Ne(n),M=b[S],N;t[5]===M?N=t[6]:(N=Rt(M),t[5]=M,t[6]=N);let P=N,F;t[7]!==g||t[8]!==M?(F=gt(M,g),t[7]=g,t[8]=M,t[9]=F):F=t[9];let{diffOriginal:I,diffModified:L}=F,{pendingLine:ee,editingComment:z,handleLineGutterClick:B,handleSaveComment:V,handleDeleteComment:H,handleCloseCommentPopup:te}=Zt(A,j,M,S),U;t[10]!==v||t[11]!==A||t[12]!==b||t[13]!==B||t[14]!==g||t[15]!==M||t[16]!==S?(U={comments:A,activeCommentIndex:v,isFullView:g,selectedFileIndex:S,files:b,selectedFile:M,onLineGutterClick:B},t[10]=v,t[11]=A,t[12]=b,t[13]=B,t[14]=g,t[15]=M,t[16]=S,t[17]=U):U=t[17];let{diffEditorRef:ne,applyAllDecorations:re,handleEditorDidMount:ie}=Je(U),W;t[18]!==v||t[19]!==re||t[20]!==A||t[21]!==ne||t[22]!==b||t[23]!==g||t[24]!==h||t[25]!==E||t[26]!==T?(W={comments:A,files:b,isFullView:g,isMobile:h,activeCommentIndex:v,setActiveCommentIndex:y,setSelectedFileIndex:T,setMobileShowTree:E,diffEditorRef:ne,applyAllDecorations:re},t[18]=v,t[19]=re,t[20]=A,t[21]=ne,t[22]=b,t[23]=g,t[24]=h,t[25]=E,t[26]=T,t[27]=W):W=t[27];let{handlePrevComment:G,handleNextComment:oe}=Qt(W),{handleFixComments:se}=$t(n,p,A,f,r,j),ce=h&&!C,K;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(K=()=>_(rn),t[28]=K):K=t[28];let q;t[29]!==v||t[30]!==A||t[31]!==L||t[32]!==I||t[33]!==ie||t[34]!==se||t[35]!==oe||t[36]!==G||t[37]!==O||t[38]!==g||t[39]!==P||t[40]!==h||t[41]!==m||t[42]!==M||t[43]!==ce||t[44]!==n?(q={threadId:n,selectedFile:M,isImageFile:P,diffOriginal:I,diffModified:L,resolvedTheme:m,onEditorMount:ie,isMobile:h,showTreeBackButton:ce,onShowTree:O,isFullView:g,onToggleFullView:K,comments:A,activeCommentIndex:v,onPrevComment:G,onNextComment:oe,onFixComments:se},t[29]=v,t[30]=A,t[31]=L,t[32]=I,t[33]=ie,t[34]=se,t[35]=oe,t[36]=G,t[37]=O,t[38]=g,t[39]=P,t[40]=h,t[41]=m,t[42]=M,t[43]=ce,t[44]=n,t[45]=q):q=t[45];let{panelRef:ue,editorPanelProps:de,onPanelCollapse:fe,onPanelExpand:pe}=tn(q),J;return t[46]!==z||t[47]!==de||t[48]!==x||t[49]!==b||t[50]!==te||t[51]!==H||t[52]!==D||t[53]!==k||t[54]!==V||t[55]!==h||t[56]!==C||t[57]!==fe||t[58]!==pe||t[59]!==ue||t[60]!==ee||t[61]!==S||t[62]!==w?(J={isMobile:h,mobileShowTree:C,panelRef:ue,files:b,error:x,selectedFileIndex:S,treeData:w,handleFileSelect:D,handleRevertFile:k,editorPanelProps:de,editingComment:z,pendingLine:ee,handleSaveComment:V,handleDeleteComment:H,handleCloseCommentPopup:te,onPanelCollapse:fe,onPanelExpand:pe},t[46]=z,t[47]=de,t[48]=x,t[49]=b,t[50]=te,t[51]=H,t[52]=D,t[53]=k,t[54]=V,t[55]=h,t[56]=C,t[57]=fe,t[58]=pe,t[59]=ue,t[60]=ee,t[61]=S,t[62]=w,t[63]=J):J=t[63],J}function rn(e){return!e}function an(e){return e.projectModelSelections}function on(e){let t=(0,Z.c)(26),{isMobile:n,mobileShowTree:r,panelRef:i,files:a,error:o,selectedFileIndex:s,treeData:c,handleFileSelect:l,handleRevertFile:u,editorPanelProps:d,editingComment:f,pendingLine:p,handleSaveComment:m,handleDeleteComment:h,handleCloseCommentPopup:g,onPanelCollapse:_,onPanelExpand:v}=nn(e),y;t[0]!==o||t[1]!==a||t[2]!==l||t[3]!==u||t[4]!==s||t[5]!==c?(y=(0,Q.jsx)(bt,{treeData:c,files:a,error:o,selectedFileIndex:s,onFileSelect:l,onRevertFile:u}),t[0]=o,t[1]=a,t[2]=l,t[3]=u,t[4]=s,t[5]=c,t[6]=y):y=t[6];let b;t[7]===d?b=t[8]:(b=(0,Q.jsx)(ft,{...d}),t[7]=d,t[8]=b);let x;t[9]!==n||t[10]!==r||t[11]!==_||t[12]!==v||t[13]!==i||t[14]!==y||t[15]!==b?(x=(0,Q.jsx)(mt,{isMobile:n,mobileShowTree:r,panelRef:i,onPanelCollapse:_,onPanelExpand:v,fileTreePanel:y,diffEditorPanel:b}),t[9]=n,t[10]=r,t[11]=_,t[12]=v,t[13]=i,t[14]=y,t[15]=b,t[16]=x):x=t[16];let S;t[17]!==f||t[18]!==g||t[19]!==h||t[20]!==m||t[21]!==p?(S=(0,Q.jsx)(wt,{editingComment:f,pendingLine:p,onSave:m,onDelete:h,onClose:g}),t[17]=f,t[18]=g,t[19]=h,t[20]=m,t[21]=p,t[22]=S):S=t[22];let C;return t[23]!==x||t[24]!==S?(C=(0,Q.jsxs)(`div`,{className:`diff-view-root flex h-full min-h-0 w-full flex-col`,children:[x,S]}),t[23]=x,t[24]=S,t[25]=C):C=t[25],C}function sn(e){let t=(0,Z.c)(23),[n,r]=(0,X.useState)(0),[i,a]=(0,X.useState)(0),o=(0,X.useRef)(0),s=!!e.cachedState,c;t[0]===e.threadId?c=t[1]:(c=()=>{r(t=>(L(Pe(e.threadId,t)),t+1)),a(ln)},t[0]=e.threadId,t[1]=c);let l=c,u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{a(0),r(0),o.current=0},t[2]=u):u=t[2];let d;t[3]===e.threadId?d=t[4]:(d=[e.threadId],t[3]=e.threadId,t[4]=d),(0,X.useEffect)(u,d);let f,p;t[5]!==e.refreshTrigger||t[6]!==e.threadId?(f=()=>{!e.refreshTrigger||e.refreshTrigger<=o.current||(o.current=e.refreshTrigger,r(t=>(L(Pe(e.threadId,t)),t+1)),a(cn))},p=[e.refreshTrigger,e.threadId],t[5]=e.refreshTrigger,t[6]=e.threadId,t[7]=f,t[8]=p):(f=t[7],p=t[8]),(0,X.useEffect)(f,p);let m=`${e.threadId}:${i}`,h;t[9]!==l||t[10]!==s?(h=s?null:(0,Q.jsx)(Ze,{onRetry:l}),t[9]=l,t[10]=s,t[11]=h):h=t[11];let g=`${e.threadId}:${n}`,_;t[12]!==n||t[13]!==e||t[14]!==g?(_=(0,Q.jsx)(on,{...e,loadVersion:n},g),t[12]=n,t[13]=e,t[14]=g,t[15]=_):_=t[15];let v;t[16]!==h||t[17]!==_?(v=(0,Q.jsx)(X.Suspense,{fallback:h,children:_}),t[16]=h,t[17]=_,t[18]=v):v=t[18];let y;return t[19]!==l||t[20]!==m||t[21]!==v?(y=(0,Q.jsx)(he,{fallbackTitle:`Failed to load review changes`,onRetry:l,children:v},m),t[19]=l,t[20]=m,t[21]=v,t[22]=y):y=t[22],y}function cn(e){return e+1}function ln(e){return e+1}export{sn as DiffView,sn as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/explorer-tree-m1u3VhWL.js","assets/rolldown-runtime-aKtaBQYM.js","assets/index-u8UbWjXL.js","assets/react-vendor-Ee0-5T4I.js","assets/alert-dialog-BxMfaLuO.js","assets/button-kWtLAMpB.js","assets/dist-CTLFS4dn.js","assets/use-browser-overlay-block-DyprQSIG.js","assets/browser-overlay-block-CiDtkfup.js","assets/dist-c_QADQ5u.js","assets/dist-D-2G8xGB.js","assets/es2015-BlPKkFZZ.js","assets/async-loading-fallback-V0EaQ_Kn.js","assets/scroll-area-lkVMElz5.js","assets/dist-OixawqbU.js","assets/tooltip-Db8UeYxm.js","assets/dist-C2G92uPn.js","assets/dist-DoxvnNEY.js","assets/use-toast-xpb5jNtN.js","assets/chat-dock-context-BJNNRoZC.js","assets/api-DX1ny6q-.js","assets/store-BSzKIu5G.js","assets/explorer-tab-context-BxUVwWQQ.js","assets/main-tab-context-Byl1LybL.js","assets/use-suspense-resource-Dakt9lfT.js","assets/suspense-resource-BFrb_XJX.js","assets/create-project-workspace-Dv_lEfZx.js","assets/dist-DD4GtbiM.js","assets/dist-yM5kyz9Q.js","assets/dist-CHhgoHp6.js","assets/dist-DsmF-KJ-.js","assets/dist-CSssbxDI.js","assets/useBaseQuery-GJoj38pA.js","assets/chunk-QFMPRPBF-COsSkB7x.js","assets/index-BLNUy5nZ.css","assets/async-error-boundary-BX1G17o9.js","assets/card-B_EASkic.js","assets/context-menu-BcM6I0Sx.js","assets/explorer-view-DFjt0DXO.js"])))=>i.map(i=>d[i]);
2
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{o as t,r as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{Dt as i}from"./dist-CTLFS4dn.js";import{r as a}from"./store-BSzKIu5G.js";import{r as o}from"./button-kWtLAMpB.js";import{w as ee}from"./dist-c_QADQ5u.js";import{n as s}from"./scroll-area-lkVMElz5.js";import{t as c}from"./use-toast-xpb5jNtN.js";import{n as l}from"./explorer-tab-context-BxUVwWQQ.js";import{n as u,r as te}from"./async-loading-fallback-V0EaQ_Kn.js";import{En as ne,G as d,H as f,K as p,Mn as m,Nn as h,Pn as g,U as _,Un as v,W as y}from"./index-u8UbWjXL.js";import{t as b}from"./async-error-boundary-BX1G17o9.js";var x=e(t(),1),S=r(),C=(0,x.lazy)(()=>n(()=>import(`./explorer-tree-m1u3VhWL.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]))),re=(0,x.lazy)(()=>n(()=>import(`./explorer-view-DFjt0DXO.js`),__vite__mapDeps([38,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36])));function w({instanceId:e}){let t=a(e=>e.selectedThreadId),n=v(),[r,w]=(0,x.useState)(null),[T,E]=(0,x.useState)(!0),[D,O]=(0,x.useState)(null),[k,A]=(0,x.useState)(!1),[j,M]=(0,x.useState)(!1),N=(0,x.useRef)(0),{pendingExplorerPath:P,setPendingExplorerPath:F,explorerClearPath:I,setExplorerClearPath:L,triggerExplorerRefresh:R}=l();(0,x.useEffect)(()=>{function e(e){p(e.dataTransfer)&&e.preventDefault()}return window.addEventListener(`dragover`,e),window.addEventListener(`drop`,e),()=>{window.removeEventListener(`dragover`,e),window.removeEventListener(`drop`,e)}},[]),(0,x.useEffect)(()=>{E(!0)},[t]);let z=(0,x.useCallback)(e=>{w(e),n&&E(!1)},[n]),B=(0,x.useCallback)(()=>{E(!0)},[]),V=(0,x.useCallback)(e=>{w(e),n&&E(!1)},[n]);(0,x.useEffect)(()=>{P&&(w({name:P.split(`/`).pop()??P,path:P,type:`file`}),n&&E(!1),F(null))},[n,P,F]),(0,x.useEffect)(()=>{I&&(r&&(r.path===I||r.path.startsWith(I+`/`))&&(w(null),n&&E(!0)),L(null))},[I,n,r,L]);function H(){N.current=0,M(!1)}function U(e){p(e.dataTransfer)&&(N.current+=1,M(!0))}function W(e){p(e.dataTransfer)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)}function G(e){p(e.dataTransfer)&&(N.current=Math.max(0,N.current-1),N.current===0&&M(!1))}function K(e){if(!p(e.dataTransfer))return;e.preventDefault(),H();let{files:t,skippedFolders:n}=d(e.dataTransfer);n>0&&c({title:`Folders skipped`,description:`Only files can be copied. Drop individual files instead of folders.`}),t.length!==0&&O({files:t,dirPath:``})}let q=(0,x.useCallback)((e,t)=>{N.current=0,M(!1),O({files:e,dirPath:t})},[]);async function J(){if(!(!D||!t||k)){A(!0);try{let{copied:e,failures:n}=await y(t,D.dirPath,D.files);e.length>0&&R(),c(_(D,e.length,n))}finally{A(!1),O(null)}}}let Y={onDragEnter:U,onDragOver:W,onDragLeave:G,onDrop:K},X=j?(0,S.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-50 flex items-center justify-center bg-background/70`,children:(0,S.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border-2 border-dashed border-primary bg-background px-6 py-4`,children:[(0,S.jsx)(ee,{className:`h-4 w-4 text-primary`}),(0,S.jsx)(`span`,{className:i.label,children:`Drop files to copy them into the repository`})]})}):null,Z=(0,S.jsx)(s,{className:`h-full`,children:t?(0,S.jsx)(ne,{threadId:t,children:(0,S.jsx)(b,{fallbackTitle:`Failed to load files`,children:(0,S.jsx)(x.Suspense,{fallback:(0,S.jsx)(te,{}),children:(0,S.jsx)(C,{instanceId:e,threadId:t,selectedPath:r?.path??null,onNodeSelect:z,onFilesDrop:q})})})}):(0,S.jsx)(`p`,{className:o(i.caption,`px-3 py-4 text-center`),children:`No thread selected.`})}),Q=(0,S.jsx)(x.Suspense,{fallback:(0,S.jsx)(u,{}),children:(0,S.jsx)(re,{selectedFile:r,showTreeBackButton:n&&!T,onShowTree:B,onFileCreated:V})}),$=(0,S.jsx)(f,{pendingDrop:D,dropCopying:k,onConfirm:()=>{J()},onDismiss:()=>{O(null)}});return n?(0,S.jsxs)(`div`,{className:`relative flex h-full flex-col overflow-hidden`,...Y,children:[X,$,(0,S.jsx)(`div`,{className:o(`flex-1 min-h-0 overflow-hidden`,!T&&`hidden`),children:Z}),(0,S.jsx)(`div`,{className:o(`flex-1 min-h-0 overflow-hidden`,T&&`hidden`),children:Q})]}):(0,S.jsxs)(`div`,{className:`relative flex h-full flex-col overflow-hidden`,...Y,children:[X,$,(0,S.jsxs)(g,{direction:`horizontal`,className:`flex-1 overflow-hidden`,children:[(0,S.jsx)(h,{defaultSize:25,minSize:15,maxSize:50,className:`overflow-hidden border-r border-border`,children:Z}),(0,S.jsx)(m,{withHandle:!0}),(0,S.jsx)(h,{className:`overflow-hidden`,children:Q})]})]})}export{w as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/explorer-tree-C0VDhihz.js","assets/rolldown-runtime-aKtaBQYM.js","assets/index-B3-5kIOf.js","assets/react-vendor-Ee0-5T4I.js","assets/alert-dialog-BxMfaLuO.js","assets/button-kWtLAMpB.js","assets/dist-CTLFS4dn.js","assets/use-browser-overlay-block-DyprQSIG.js","assets/browser-overlay-block-CiDtkfup.js","assets/dist-c_QADQ5u.js","assets/dist-D-2G8xGB.js","assets/es2015-BlPKkFZZ.js","assets/async-loading-fallback-V0EaQ_Kn.js","assets/scroll-area-lkVMElz5.js","assets/dist-OixawqbU.js","assets/tooltip-Db8UeYxm.js","assets/dist-C2G92uPn.js","assets/dist-DoxvnNEY.js","assets/use-toast-xpb5jNtN.js","assets/chat-dock-context-8K8Ikjgy.js","assets/api-DX1ny6q-.js","assets/store-BSzKIu5G.js","assets/explorer-tab-context-BxUVwWQQ.js","assets/main-tab-context-Byl1LybL.js","assets/use-suspense-resource-Dakt9lfT.js","assets/suspense-resource-BFrb_XJX.js","assets/create-project-workspace-Dv_lEfZx.js","assets/dist-DD4GtbiM.js","assets/dist-yM5kyz9Q.js","assets/dist-CHhgoHp6.js","assets/dist-DsmF-KJ-.js","assets/dist-CSssbxDI.js","assets/useBaseQuery-34f0-SVd.js","assets/chunk-QFMPRPBF-COsSkB7x.js","assets/index-BLNUy5nZ.css","assets/async-error-boundary-BX1G17o9.js","assets/card-B_EASkic.js","assets/context-menu-BcM6I0Sx.js","assets/explorer-view-RCfDm3p5.js"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{o as t,r as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{Dt as i}from"./dist-CTLFS4dn.js";import{r as a}from"./store-BSzKIu5G.js";import{r as o}from"./button-kWtLAMpB.js";import{w as ee}from"./dist-c_QADQ5u.js";import{n as s}from"./scroll-area-lkVMElz5.js";import{t as c}from"./use-toast-xpb5jNtN.js";import{n as l}from"./explorer-tab-context-BxUVwWQQ.js";import{n as u,r as te}from"./async-loading-fallback-V0EaQ_Kn.js";import{Dn as ne,Fn as d,G as f,K as p,Nn as m,Pn as h,U as g,Un as _,W as v,q as y}from"./index-B3-5kIOf.js";import{t as b}from"./async-error-boundary-BX1G17o9.js";var x=e(t(),1),S=r(),C=(0,x.lazy)(()=>n(()=>import(`./explorer-tree-C0VDhihz.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]))),re=(0,x.lazy)(()=>n(()=>import(`./explorer-view-RCfDm3p5.js`),__vite__mapDeps([38,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36])));function w({instanceId:e}){let t=a(e=>e.selectedThreadId),n=_(),[r,w]=(0,x.useState)(null),[T,E]=(0,x.useState)(!0),[D,O]=(0,x.useState)(null),[k,A]=(0,x.useState)(!1),[j,M]=(0,x.useState)(!1),N=(0,x.useRef)(0),{pendingExplorerPath:P,setPendingExplorerPath:F,explorerClearPath:I,setExplorerClearPath:L,triggerExplorerRefresh:R}=l();(0,x.useEffect)(()=>{function e(e){y(e.dataTransfer)&&e.preventDefault()}return window.addEventListener(`dragover`,e),window.addEventListener(`drop`,e),()=>{window.removeEventListener(`dragover`,e),window.removeEventListener(`drop`,e)}},[]),(0,x.useEffect)(()=>{E(!0)},[t]);let z=(0,x.useCallback)(e=>{w(e),n&&E(!1)},[n]),B=(0,x.useCallback)(()=>{E(!0)},[]),V=(0,x.useCallback)(e=>{w(e),n&&E(!1)},[n]);(0,x.useEffect)(()=>{P&&(w({name:P.split(`/`).pop()??P,path:P,type:`file`}),n&&E(!1),F(null))},[n,P,F]),(0,x.useEffect)(()=>{I&&(r&&(r.path===I||r.path.startsWith(I+`/`))&&(w(null),n&&E(!0)),L(null))},[I,n,r,L]);function H(){N.current=0,M(!1)}function U(e){y(e.dataTransfer)&&(N.current+=1,M(!0))}function W(e){y(e.dataTransfer)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)}function G(e){y(e.dataTransfer)&&(N.current=Math.max(0,N.current-1),N.current===0&&M(!1))}function K(e){if(!y(e.dataTransfer))return;e.preventDefault(),H();let{files:t,skippedFolders:n}=p(e.dataTransfer);n>0&&c({title:`Folders skipped`,description:`Only files can be copied. Drop individual files instead of folders.`}),t.length!==0&&O({files:t,dirPath:``})}let q=(0,x.useCallback)((e,t)=>{N.current=0,M(!1),O({files:e,dirPath:t})},[]);async function J(){if(!(!D||!t||k)){A(!0);try{let{copied:e,failures:n}=await f(t,D.dirPath,D.files);e.length>0&&R(),c(v(D,e.length,n))}finally{A(!1),O(null)}}}let Y={onDragEnter:U,onDragOver:W,onDragLeave:G,onDrop:K},X=j?(0,S.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-50 flex items-center justify-center bg-background/70`,children:(0,S.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border-2 border-dashed border-primary bg-background px-6 py-4`,children:[(0,S.jsx)(ee,{className:`h-4 w-4 text-primary`}),(0,S.jsx)(`span`,{className:i.label,children:`Drop files to copy them into the repository`})]})}):null,Z=(0,S.jsx)(s,{className:`h-full`,children:t?(0,S.jsx)(ne,{threadId:t,children:(0,S.jsx)(b,{fallbackTitle:`Failed to load files`,children:(0,S.jsx)(x.Suspense,{fallback:(0,S.jsx)(te,{}),children:(0,S.jsx)(C,{instanceId:e,threadId:t,selectedPath:r?.path??null,onNodeSelect:z,onFilesDrop:q})})})}):(0,S.jsx)(`p`,{className:o(i.caption,`px-3 py-4 text-center`),children:`No thread selected.`})}),Q=(0,S.jsx)(x.Suspense,{fallback:(0,S.jsx)(u,{}),children:(0,S.jsx)(re,{selectedFile:r,showTreeBackButton:n&&!T,onShowTree:B,onFileCreated:V})}),$=(0,S.jsx)(g,{pendingDrop:D,dropCopying:k,onConfirm:()=>{J()},onDismiss:()=>{O(null)}});return n?(0,S.jsxs)(`div`,{className:`relative flex h-full flex-col overflow-hidden`,...Y,children:[X,$,(0,S.jsx)(`div`,{className:o(`flex-1 min-h-0 overflow-hidden`,!T&&`hidden`),children:Z}),(0,S.jsx)(`div`,{className:o(`flex-1 min-h-0 overflow-hidden`,T&&`hidden`),children:Q})]}):(0,S.jsxs)(`div`,{className:`relative flex h-full flex-col overflow-hidden`,...Y,children:[X,$,(0,S.jsxs)(d,{direction:`horizontal`,className:`flex-1 overflow-hidden`,children:[(0,S.jsx)(h,{defaultSize:25,minSize:15,maxSize:50,className:`overflow-hidden border-r border-border`,children:Z}),(0,S.jsx)(m,{withHandle:!0}),(0,S.jsx)(h,{className:`overflow-hidden`,children:Q})]})]})}export{w as default};