getborg 0.0.124 → 0.0.126

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 (75) hide show
  1. package/dist/bin.mjs +4900 -2407
  2. package/dist/client/.vite/manifest.json +359 -359
  3. package/dist/client/assets/{ArrowRight-D8u8fAtz.js → ArrowRight-sXL3WqRj.js} +2 -2
  4. package/dist/client/assets/{ArrowSquareOut-B_f6YUhV.js → ArrowSquareOut-BXw7kBJ2.js} +2 -2
  5. package/dist/client/assets/{ArrowsClockwise-DQYZ1Xbo.js → ArrowsClockwise-C2ZJkkb1.js} +2 -2
  6. package/dist/client/assets/{CaretLeft-CfrkuxuJ.js → CaretLeft-u94enBjz.js} +2 -2
  7. package/dist/client/assets/{ChatMarkdown-Ch9PipMk.js → ChatMarkdown-PlWZFDnz.js} +5 -5
  8. package/dist/client/assets/{CircleNotch-BcVOnWaH.js → CircleNotch-DqcpMoTY.js} +2 -2
  9. package/dist/client/assets/{DesignWorkspace-CrijZIpE.js → DesignWorkspace-DmKoQxKI.js} +3 -3
  10. package/dist/client/assets/DiffPanel-D77xCxTK.js +2 -0
  11. package/dist/client/assets/{DiffWorkerPoolProvider-B-AH2sbL.js → DiffWorkerPoolProvider-ClROlLBb.js} +2 -2
  12. package/dist/client/assets/{DocxPreview-HXde7oD1.js → DocxPreview-HJVaPJXL.js} +4 -4
  13. package/dist/client/assets/{FilePreviewPanel-DkspqFyX.js → FilePreviewPanel-CFCxGnPA.js} +9 -9
  14. package/dist/client/assets/{HtmlPreview-pfh_hRgS.js → HtmlPreview-CJQuCP2x.js} +2 -2
  15. package/dist/client/assets/{PdfPreview-VSGe6F9I.js → PdfPreview-BgV8uugr.js} +3 -3
  16. package/dist/client/assets/{PptxPreview-CZZ5e7rI.js → PptxPreview-BVdzk7UG.js} +3 -3
  17. package/dist/client/assets/PreviewPanel-C8wYTZ3K.js +2 -0
  18. package/dist/client/assets/PullRequestCodeTab-6b-pnSLs.js +6 -0
  19. package/dist/client/assets/{PullRequestReactions-BJ4eU_08.js → PullRequestReactions-kdg3iZ85.js} +4 -4
  20. package/dist/client/assets/{RightPanelResizeHandle-XlC9gY5e.js → RightPanelResizeHandle-kUStdA3L.js} +2 -2
  21. package/dist/client/assets/{VirtualizedFile-qiRlyNDc.js → VirtualizedFile-DuJYdYdq.js} +2 -2
  22. package/dist/client/assets/{XlsxPreview-BPtt3tW-.js → XlsxPreview-Bi4rmMAb.js} +3 -3
  23. package/dist/client/assets/accountData-B88fzgQo.js +16 -0
  24. package/dist/client/assets/assetUrls-CF9bvkMB.js +2 -0
  25. package/dist/client/assets/assets-CkgNlvqv.js +2 -0
  26. package/dist/client/assets/{browserHistoryStore-CEVJXGfr.js → browserHistoryStore-DIuEAuCl.js} +3 -3
  27. package/dist/client/assets/{browserRecording-BavNt16V.js → browserRecording-2dQePGOK.js} +2 -2
  28. package/dist/client/assets/clientAnalytics-BbUHu8ei.js +1 -0
  29. package/dist/client/assets/{clientPersistenceStorage-CeJLSpQl.js → clientPersistenceStorage-DsdIKJBh.js} +2 -2
  30. package/dist/client/assets/{combobox-CQHB5X6j.js → combobox-DVmHwJKi.js} +2 -2
  31. package/dist/client/assets/{composerMentionDrag-CdTT1rUK.js → composerMentionDrag-CB6wqaTe.js} +2 -2
  32. package/dist/client/assets/{designCanvas.logic-DduGt5E7.js → designCanvas.logic-Ce5c0YLY.js} +4 -4
  33. package/dist/client/assets/{designOpenFileContext-CMKir5dG.js → designOpenFileContext-B0d1oDHN.js} +2 -2
  34. package/dist/client/assets/{diffFileContents-CHRsIT6_.js → diffFileContents-DuZ8MpUA.js} +2 -2
  35. package/dist/client/assets/{empty-DUUjhkFh.js → empty-d8cb8Ewx.js} +2 -2
  36. package/dist/client/assets/entities-DI7lpu_V.js +2 -0
  37. package/dist/client/assets/{followUpQueuePersistence-C_pFQCnT.js → followUpQueuePersistence-BL42ySpK.js} +1 -1
  38. package/dist/client/assets/{index-DrITfTBh.js → index-e-hiL6eh.js} +3 -3
  39. package/dist/client/assets/{input-CyCAHFxI.js → input-DzNFHo2W.js} +2 -2
  40. package/dist/client/assets/{lib-BRpsbmNP.js → lib-IA-5-mGB.js} +2 -2
  41. package/dist/client/assets/{main-C0iNAqq8.css → main-BM6qmGP4.css} +1 -1
  42. package/dist/client/assets/main-U2I6YwT-.js +169 -0
  43. package/dist/client/assets/{pdf-C3xMIdpt.js → pdf-Bh3amywC.js} +2 -2
  44. package/dist/client/assets/{popover-BXSj56CI.js → popover-DZf7p2yc.js} +2 -2
  45. package/dist/client/assets/{pptxDocument-BnTLF4HV.js → pptxDocument-Bsm1SylK.js} +2 -2
  46. package/dist/client/assets/{projectFilesQueryState-Cs5skZOc.js → projectFilesQueryState-DWDFHsif.js} +2 -2
  47. package/dist/client/assets/queries-B-YwYiCl.js +2 -0
  48. package/dist/client/assets/{scroll-area-DAaT-DGF.js → scroll-area-C5ps_bkR.js} +46 -46
  49. package/dist/client/assets/session-BKSQ__kZ.js +68 -0
  50. package/dist/client/assets/{spinner-K3N_kbJr.js → spinner-BYvweYT_.js} +2 -2
  51. package/dist/client/assets/textarea-bjEgsW0n.js +2 -0
  52. package/dist/client/assets/{toggle-Sui8J_p3.js → toggle-D4wtRT7F.js} +2 -2
  53. package/dist/client/assets/{toggle-group-BDgfPfOF.js → toggle-group-iSglhZY5.js} +2 -2
  54. package/dist/client/assets/useSettings-BgyJJ6VZ.js +5 -0
  55. package/dist/client/assets/{useWorkspaceMutationRefresh-ApasU6PB.js → useWorkspaceMutationRefresh-C-GODI1R.js} +2 -2
  56. package/dist/client/assets/utils-dD8AT1Cf.js +30 -0
  57. package/dist/client/assets/{xlsxDocument-SRKfhPKH.js → xlsxDocument-C12kQUhH.js} +2 -2
  58. package/dist/client/index.html +1 -1
  59. package/dist/service-launcher.mjs +20 -2
  60. package/dist/sharedChatWorker.mjs +21887 -0
  61. package/package.json +2 -1
  62. package/dist/client/assets/DiffPanel-Bbs-arXF.js +0 -2
  63. package/dist/client/assets/PreviewPanel-C_WqPJu_.js +0 -2
  64. package/dist/client/assets/PullRequestCodeTab-DLajHhi9.js +0 -6
  65. package/dist/client/assets/accountData-BKyjOPQm.js +0 -16
  66. package/dist/client/assets/assetUrls-33nMWFnF.js +0 -2
  67. package/dist/client/assets/assets-1BW7ZJgz.js +0 -2
  68. package/dist/client/assets/clientAnalytics-ChPHl8_D.js +0 -1
  69. package/dist/client/assets/entities-BtD3_L53.js +0 -2
  70. package/dist/client/assets/main-Bi6AoLeM.js +0 -167
  71. package/dist/client/assets/queries-BevoHPqY.js +0 -2
  72. package/dist/client/assets/session-Dmu9Hk5C.js +0 -68
  73. package/dist/client/assets/textarea-BT0tVWKM.js +0 -2
  74. package/dist/client/assets/useSettings-GEQSU1F5.js +0 -5
  75. package/dist/client/assets/utils-ClZ5OxbV.js +0 -30
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "borg": "./dist/bin.mjs"
11
11
  },
12
12
  "type": "module",
13
- "version": "0.0.124",
13
+ "version": "0.0.126",
14
14
  "engines": {
15
15
  "node": "^22.16 || ^23.11 || >=24.10"
16
16
  },
@@ -40,6 +40,7 @@
40
40
  "@pierre/diffs>@shikijs/transformers": "^4.2.0",
41
41
  "@types/node": "24.12.4",
42
42
  "effect": "4.0.0-beta.103",
43
+ "happy-dom": "20.8.4",
43
44
  "expo-router": "57.0.17",
44
45
  "expo-sharing>@expo/config-plugins": "57.0.9",
45
46
  "expo-sharing>@expo/config-types": "57.0.2",
@@ -1,2 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{b as t,v as n,y as r}from"./accountData-BKyjOPQm.js";import{B as i,Eo as a,F as o,Fn as s,Hn as c,Ho as l,In as u,To as d,Un as f,Vn as ee,Wn as te,gn as ne,jn as p,pn as m,q as re,t as h,wo as ie}from"./utils-ClZ5OxbV.js";import{$t as g,Cn as ae,Kt as _,Wt as v,hn as y,i as b,on as oe,qt as se}from"./session-Dmu9Hk5C.js";import{l as x,t as S}from"./queries-BevoHPqY.js";import{Ft as C,Lt as ce,Nt as w,b as le,f as T,h as E,l as D,u as O}from"./textarea-BT0tVWKM.js";import{$ as ue,Gt as k,Kt as A,a as j,ct as M}from"./useSettings-GEQSU1F5.js";import{t as de}from"./ArrowRight-D8u8fAtz.js";import{$n as fe,Br as pe,Ir as me,Qn as he,Rt as ge,Vr as _e,Xn as ve,Yn as ye,Zn as be,er as xe,tr as Se,zr as Ce}from"./scroll-area-DAaT-DGF.js";import{t as we}from"./ArrowsClockwise-DQYZ1Xbo.js";import{a as Te,i as Ee,o as De,r as Oe,s as ke,t as Ae}from"./diffFileContents-CHRsIT6_.js";import{B as je,F as Me,H as Ne,I as Pe,L as Fe,P as N,R as Ie,V as P,a as Le,i as Re,n as ze,r as Be,s as Ve,t as He,u as Ue}from"./combobox-CQHB5X6j.js";import{h as We,v as Ge}from"./entities-BtD3_L53.js";import{n as Ke}from"./useWorkspaceMutationRefresh-ApasU6PB.js";import{l as qe}from"./env-71Gq9H0m.js";import{l as Je,t as Ye,u as Xe}from"./DiffWorkerPoolProvider-B-AH2sbL.js";import{n as F}from"./fileCommentAnnotations-BgdL_7u9.js";import{i as Ze}from"./VirtualizedFile-qiRlyNDc.js";import{n as Qe,t as $e}from"./toggle-group-BDgfPfOF.js";var I=e(r(),1),et=new Map([[`bold`,I.createElement(I.Fragment,null,I.createElement(`path`,{d:`M208,36H96a68,68,0,0,0,0,136h36v36a12,12,0,0,0,24,0V60h16V208a12,12,0,0,0,24,0V60h12a12,12,0,0,0,0-24ZM132,148H96a44,44,0,0,1,0-88h36Z`}))],[`duotone`,I.createElement(I.Fragment,null,I.createElement(`path`,{d:`M144,48V160H96A56,56,0,0,1,96,48Z`,opacity:`0.2`}),I.createElement(`path`,{d:`M208,40H96a64,64,0,0,0,0,128h40v40a8,8,0,0,0,16,0V56h24V208a8,8,0,0,0,16,0V56h16a8,8,0,0,0,0-16ZM136,152H96a48,48,0,0,1,0-96h40Z`}))],[`fill`,I.createElement(I.Fragment,null,I.createElement(`path`,{d:`M216,48a8,8,0,0,1-8,8H192V208a8,8,0,0,1-16,0V56H152V208a8,8,0,0,1-16,0V168H96A64,64,0,0,1,96,40H208A8,8,0,0,1,216,48Z`}))],[`light`,I.createElement(I.Fragment,null,I.createElement(`path`,{d:`M208,42H96a62,62,0,0,0,0,124h42v42a6,6,0,0,0,12,0V54h28V208a6,6,0,0,0,12,0V54h18a6,6,0,0,0,0-12ZM138,154H96A50,50,0,0,1,96,54h42Z`}))],[`regular`,I.createElement(I.Fragment,null,I.createElement(`path`,{d:`M208,40H96a64,64,0,0,0,0,128h40v40a8,8,0,0,0,16,0V56h24V208a8,8,0,0,0,16,0V56h16a8,8,0,0,0,0-16ZM136,152H96a48,48,0,0,1,0-96h40Z`}))],[`thin`,I.createElement(I.Fragment,null,I.createElement(`path`,{d:`M208,44H96a60,60,0,0,0,0,120h44v44a4,4,0,0,0,8,0V52h32V208a4,4,0,0,0,8,0V52h20a4,4,0,0,0,0-8ZM140,156H96A52,52,0,0,1,96,52h44Z`}))]]),L=Object.defineProperty,tt=Object.defineProperties,nt=Object.getOwnPropertyDescriptors,rt=Object.getOwnPropertySymbols,it=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable,R=(e,t,n)=>t in e?L(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ot=(e,t)=>{for(var n in t||={})it.call(t,n)&&R(e,n,t[n]);if(rt)for(var n of rt(t))at.call(t,n)&&R(e,n,t[n]);return e},st=(e,t)=>tt(e,nt(t)),ct=(0,I.forwardRef)((e,t)=>I.createElement(a,st(ot({ref:t},e),{weights:et})));ct.displayName=`Paragraph`;var z=n();function lt(e,t){let n=(0,z.c)(4),r=S(e,t),i;return n[0]!==r.data||n[1]!==r.error||n[2]!==r.isPending?(i={data:r.data,error:r.error,isPending:r.isPending},n[0]=r.data,n[1]=r.error,n[2]=r.isPending,n[3]=i):i=n[3],i}var B=l();function ut(e){let t=(0,z.c)(14),{filePath:n}=e,r=(0,I.useRef)(null),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={onCopy:()=>Pe(r),onError:e=>Me(r,e),timeout:N},t[0]=i):i=t[0];let{copyToClipboard:a,isCopied:o}=E(i),s;t[1]!==a||t[2]!==n?(s=(0,B.jsx)(m,{ref:r,size:`icon-micro`,variant:`ghost`,className:`text-muted-foreground [:hover,[data-pressed]]:bg-transparent`,"aria-label":`Copy file path`,onClick:()=>a(n,void 0)}),t[1]=a,t[2]=n,t[3]=s):s=t[3];let c;t[4]===o?c=t[5]:(c=o?(0,B.jsx)(C,{className:`size-3 text-success`}):(0,B.jsx)(w,{className:`size-3`}),t[4]=o,t[5]=c);let l;t[6]!==s||t[7]!==c?(l=(0,B.jsx)(T,{render:s,children:c}),t[6]=s,t[7]=c,t[8]=l):l=t[8];let u=o?`Copied`:`Copy path`,d;t[9]===u?d=t[10]:(d=(0,B.jsx)(O,{children:(0,B.jsx)(`p`,{children:u})}),t[9]=u,t[10]=d);let f;return t[11]!==l||t[12]!==d?(f=(0,B.jsxs)(D,{children:[l,d]}),t[11]=l,t[12]=d,t[13]=f):f=t[13],f}var V=[];function H(e){return(e.endSide??e.side)===`deletions`?`deletions`:`additions`}function U(e,t,n){let r=H(t),i=e.findIndex(e=>e.side===r&&e.lineNumber===t.end);return i<0?[...e,{side:r,lineNumber:t.end,metadata:{entries:[n]}}]:e.map((e,t)=>t===i?{...e,metadata:{entries:[...e.metadata.entries,n]}}:e)}function dt(e){let t=(0,z.c)(55),{codeViewKey:n,files:r,sectionId:a,sectionTitle:s,composerDraftTarget:c,options:l,viewerRef:u,className:d,renderHeaderFilenameSuffix:f,renderHeaderPrefix:ee}=e,te=o(mt),ne=o(K),p;t[0]===c?p=t[1]:(p=e=>e.getComposerDraft(c)?.reviewComments??V,t[0]=c,t[1]=p);let m=o(p),[h,ie]=(0,I.useState)(null),[g,ae]=(0,I.useState)(null),[_,v]=(0,I.useState)(``),y;t[2]===r?y=t[3]:(y=new Map(r.map(G)),t[2]=r,t[3]=y);let b=y,oe;if(t[4]!==g||t[5]!==r||t[6]!==m||t[7]!==a){let e;t[9]!==g||t[10]!==m||t[11]!==a?(e=e=>{let{fileDiff:t,filePath:n,fileKey:r,collapsed:i}=e,o=m.filter(e=>e.sectionId===a&&e.filePath===n&&(e.fenceLanguage??`diff`)===`diff`).reduce((e,n)=>{let r=re(t,n);return r?U(e,r,{id:n.id,kind:`comment`,range:r,rangeLabel:n.rangeLabel,text:n.text}):e},[]),s=g?.fileKey===r?[...o,g.annotation]:o;return{id:r,type:`diff`,fileDiff:t,annotations:s,collapsed:i,version:ve(`${i?`1`:`0`}:${s.flatMap(ft).join(`:`)}`)}},t[9]=g,t[10]=m,t[11]=a,t[12]=e):e=t[12],oe=r.map(e),t[4]=g,t[5]=r,t[6]=m,t[7]=a,t[8]=oe}else oe=t[8];let se=oe,x;t[13]!==c||t[14]!==g?.annotation||t[15]!==ne?(x=e=>{ie(null),g?.annotation.metadata.entries.some(t=>t.id===e)?(ae(null),v(``)):ne(c,e)},t[13]=c,t[14]=g?.annotation,t[15]=ne,t[16]=x):x=t[16];let S=x,C;t[17]!==te||t[18]!==c||t[19]!==g||t[20]!==b||t[21]!==a||t[22]!==s?(C=(e,t)=>{let n=g?.annotation.metadata.entries.find(t=>t.id===e),r=g?b.get(g.fileKey):void 0;if(!n||!r)return;let o=i({id:n.id,sectionId:a,sectionTitle:s,filePath:r.filePath,fileDiff:r.fileDiff,range:n.range,text:t});o&&te(c,o),ie(null),ae(null),v(``)},t[17]=te,t[18]=c,t[19]=g,t[20]=b,t[21]=a,t[22]=s,t[23]=C):C=t[23];let ce=C,w;t[24]!==b||t[25]!==a||t[26]!==s?(w=(e,t)=>{if(!e)return;let n=t.item;if(n.type!==`diff`)return;let r=b.get(n.id);if(!r)return;let o=F(),c=i({id:o,sectionId:a,sectionTitle:s,filePath:r.filePath,fileDiff:r.fileDiff,range:e,text:``});c&&(v(``),ae({fileKey:n.id,annotation:{side:H(e),lineNumber:e.end,metadata:{entries:[{id:o,kind:`draft`,range:e,rangeLabel:c.rangeLabel,text:``}]}}}))},t[24]=b,t[25]=a,t[26]=s,t[27]=w):w=t[27];let le=w,T=g!==null,E;t[28]===u?E=t[29]:(E=u?{viewerRef:u}:{},t[28]=u,t[29]=E);let D;t[30]===d?D=t[31]:(D=d?{className:d}:{},t[30]=d,t[31]=D);let O=!T,ue=!T,k;t[32]!==le||t[33]!==l||t[34]!==ue||t[35]!==O?(k={...l,enableGutterUtility:O,enableLineSelection:ue,onGutterUtilityClick:le},t[32]=le,t[33]=l,t[34]=ue,t[35]=O,t[36]=k):k=t[36];let A;t[37]===f?A=t[38]:(A=e=>e.type===`diff`?f(e.fileDiff):null,t[37]=f,t[38]=A);let j;t[39]===ee?j=t[40]:(j=e=>e.type===`diff`?ee(e.fileDiff,e.id,e.collapsed===!0):null,t[39]=ee,t[40]=j);let M;t[41]!==_||t[42]!==S||t[43]!==ce?(M=e=>(0,B.jsx)(`div`,{className:e.metadata.entries.some(W)?`py-1`:`divide-y divide-border/30 border-y border-border/30`,children:e.metadata.entries.map(e=>(0,B.jsx)(Ze,{kind:e.kind,rangeLabel:e.rangeLabel,text:e.kind===`draft`?_:e.text,onTextChange:v,onCancel:()=>S(e.id),onComment:t=>ce(e.id,t),onDelete:()=>S(e.id)},e.id))}),t[41]=_,t[42]=S,t[43]=ce,t[44]=M):M=t[44];let de;return t[45]!==n||t[46]!==se||t[47]!==h||t[48]!==k||t[49]!==A||t[50]!==j||t[51]!==M||t[52]!==E||t[53]!==D?(de=(0,B.jsx)(Oe,{...E,...D,items:se,selectedLines:h,onSelectedLinesChange:ie,options:k,renderHeaderFilenameSuffix:A,renderHeaderPrefix:j,renderAnnotation:M},n),t[45]=n,t[46]=se,t[47]=h,t[48]=k,t[49]=A,t[50]=j,t[51]=M,t[52]=E,t[53]=D,t[54]=de):de=t[54],de}function W(e){return e.kind===`draft`}function ft(e){return e.metadata.entries.map(pt)}function pt(e){return`${e.id}:${e.rangeLabel}:${e.text}`}function G(e){return[e.fileKey,e]}function K(e){return e.removeReviewComment}function mt(e){return e.addReviewComment}function ht(e){let n=v();return{diffPreview:se(e,{label:`environment-data:review:diff-preview`,tag:t.reviewGetDiffPreview,staleTimeMs:5e3}),diffFileContents:_(e,{label:`environment-data:review:diff-file-contents`,tag:t.reviewGetDiffFileContents,scheduler:n,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.cwd,t.sourceKind,t.baseRef,t.headRef,t.oldPath,t.newPath,t.changeType])}})}}var gt=ht(b);function q(e){return e.remoteName&&e.name.startsWith(`${e.remoteName}/`)?e.name.slice(e.remoteName.length+1):e.name}function _t(e,t){let n=new Set(t),r=e.map(e=>{let r=t.filter(t=>n.has(t)&&q(t)===e.name),i=r.find(e=>e.remoteName===`origin`)??r[0]??null;return i&&n.delete(i),{id:`local:${e.name}`,label:e.name,local:e,remote:i}}),i=t.filter(e=>n.has(e)).map(e=>({id:`remote:${e.name}`,label:e.name,local:null,remote:e}));return[...r,...i]}function vt(e,t){let n=t.trim().toLocaleLowerCase();return n.length===0?e:e.filter(e=>e.label.toLocaleLowerCase().includes(n)||e.local?.name.toLocaleLowerCase().includes(n)===!0||e.remote?.name.toLocaleLowerCase().includes(n)===!0)}var J=`__automatic_base_ref__`,yt=new Set;function Y({mode:e=`inline`,composerDraftTarget:t,initialGitScope:n,workspaceMutationId:r}){let{resolvedTheme:i}=M(),a=j(),[o]=(0,I.useState)(n),l=P(e=>e.diffRenderMode),re=P(e=>e.setDiffRenderMode),[_,v]=(0,I.useState)(a.wordWrap),[b,se]=(0,I.useState)(a.diffIgnoreWhitespace),[S,w]=(0,I.useState)(``),[E,ve]=(0,I.useState)(()=>({scopeKey:null,fileKeys:yt})),[Oe,Me]=(0,I.useState)(0),Pe=(0,I.useRef)(null),N=ce({strict:!1,select:e=>le(e)}),Ye=N?.threadId??null,F=Ge(N),Ze=F?.projectId??null,et=We(F&&Ze?{environmentId:F.environmentId,projectId:Ze}:null),L=F?.worktreePath??et?.workspaceRoot,tt=F?.worktreePath?void 0:et?.repositoryIdentity?.rootPath,nt=ae(ue.configValueAtom(F?.environmentId??null)),rt=me(F?.environmentId??null,nt?.availableEditors??[]),it=A(gt.diffFileContents),at=k(F!=null&&L!=null?x.status({environmentId:F.environmentId,input:{cwd:L}}):null),R=P(e=>je(e.byThreadKey,N,o===`unstaged`)),ot=at.data?.isRepo??!0,{turnDiffSummaries:st,inferredCheckpointTurnCountByTurnId:z}=Fe(F),V=(0,I.useMemo)(()=>[...st].toSorted((e,t)=>{let n=e.checkpointTurnCount??z[e.turnId]??0,r=t.checkpointTurnCount??z[t.turnId]??0;return n===r?t.completedAt.localeCompare(e.completedAt):r-n}),[z,st]);(0,I.useEffect)(()=>{!N||R.kind!==`turn`||P.getState().reconcileTurnSelection(N,V.map(e=>e.turnId))},[R,V,N]);let H=R.kind===`turn`?R.turnId:null,U=R.kind===`unstaged`?`unstaged`:`branch`,W=R.kind===`branch`?R.baseRef:null,ft=R.kind===`turn`?R.filePath:null,pt=R.kind===`turn`?R.revealRequestId:0,G=H===null?void 0:V.find(e=>e.turnId===H)??V[0],K=G&&(G.checkpointTurnCount??z[G.turnId]),mt=V[0],ht=H===null?U===`unstaged`?`Working tree`:`Branch changes`:G?.turnId===mt?.turnId?`Latest turn`:`Turn ${K??`?`}`,q=G?`turn:${G.turnId}`:U,Y=N?`${N.environmentId}:${N.threadId}:${q}`:null,bt=`${Y??q}:${Oe}`,xt=E.scopeKey===Y?E.fileKeys:yt,St=G?`Turn ${K??`?`}`:U===`unstaged`?`Working tree`:`Branch changes`,Ct=(0,I.useMemo)(()=>typeof K==`number`?{fromTurnCount:Math.max(0,K-1),toTurnCount:K}:null,[K]),wt=lt({environmentId:F?.environmentId??null,threadId:Ye,fromTurnCount:Ct?.fromTurnCount??null,toTurnCount:Ct?.toTurnCount??null,ignoreWhitespace:b,cacheScope:G?`turn:${G.turnId}`:null},{enabled:ot&&G!==void 0}),X=k(H===null&&F&&L?gt.diffPreview({environmentId:F.environmentId,input:{cwd:L,threadId:F.id,...W?{baseRef:W}:{},ignoreWhitespace:b}}):null),Tt=X.refresh,Et=ot&&H===null&&F!=null&&L!=null,Dt=N?`${N.environmentId}:${N.threadId}`:null;(0,I.useEffect)(()=>{if(!Et)return;let e=()=>Tt();return window.addEventListener(`focus`,e),()=>window.removeEventListener(`focus`,e)},[Et,Tt]),Ke({enabled:Et,mutationId:r,refresh:Tt,resourceKey:`diff:${Dt??``}`});let Z=X.data?.sources.find(e=>e.kind===(U===`unstaged`?`working-tree`:`branch-range`)),Ot=(0,I.useMemo)(()=>{let e=X.data;if(!(H!==null||!F||!e||!Z))return Ae(it,{environmentId:F.environmentId,cwd:e.cwd,threadId:F.id,sourceKind:Z.kind,baseRef:Z.baseRef,headRef:Z.headRef,cacheKey:Z.diffHash})},[F,X.data,it,Z,H]),kt=k(H===null&&U===`branch`&&F&&X.data?.cwd?x.listRefs({environmentId:F.environmentId,input:{cwd:X.data.cwd,includeMatchingRemoteRefs:!0,refKind:`local`,...S.trim().length>0?{query:S.trim()}:{},limit:100}}):null),At=k(H===null&&U===`branch`&&F&&X.data?.cwd?x.listRefs({environmentId:F.environmentId,input:{cwd:X.data.cwd,includeMatchingRemoteRefs:!0,refKind:`remote`,...S.trim().length>0?{query:S.trim()}:{},limit:100}}):null),jt=_t(kt.data?.refs.filter(e=>e.name!==Z?.headRef)??[],At.data?.refs??[]),Mt=vt(jt,S),Nt=e=>W&&W===e.remote?.name?W:e.local?.name??e.remote?.name??e.id,Pt=[J,...jt.map(Nt)],Ft=[...S.trim().length===0?[J]:[],...Mt.map(Nt)],It=Z?.diff,Lt=G?wt.data?.diff:It,Rt=!G&&Z?.truncated===!0,zt=G?wt.isPending:X.isPending,Bt=G?wt.error:X.error,Vt=typeof Lt==`string`&&Lt.trim().length===0,Q=(0,I.useMemo)(()=>fe(Lt,`diff-panel:${i}`,{compactPartialHunkOffsets:H===null}),[i,Lt,H]),Ht=(0,I.useMemo)(()=>!Q||Q.kind!==`files`?[]:Q.files.toSorted((e,t)=>Se(e).localeCompare(Se(t),void 0,{numeric:!0,sensitivity:`base`})),[Q]),Ut=(0,I.useMemo)(()=>Ht.map(e=>({fileDiff:e,fileKey:ye(e)})),[Ht]),$=(0,I.useMemo)(()=>Ut.map(({fileDiff:e,fileKey:t})=>({fileDiff:e,filePath:Se(e),fileKey:t,collapsed:xt.has(t)})),[xt,Ut]),Wt=(0,I.useMemo)(()=>$.map(e=>e.fileKey),[$]),Gt=Ee(Wt,xt),Kt=(0,I.useMemo)(()=>he(Ht),[Ht]),qt=ft?$.find(e=>e.filePath===ft)?.fileKey??null:null;(0,I.useEffect)(()=>{qt&&Pe.current?.scrollTo({type:`item`,id:qt,align:`start`})},[bt,qt,pt]);let Jt=(0,I.useCallback)(e=>{Ie({threadRef:N,filePath:e,activeCwd:L,repositoryRoot:tt,openInEditor:e=>{(async()=>{let t=await rt(e);t._tag===`Failure`&&!g(t)&&console.warn(`Failed to open diff file in editor.`,{operation:`open-diff-file`,...N?{environmentId:N.environmentId,threadId:N.threadId}:{},...y(oe(t))})})()}})},[L,tt,rt,N]),Yt=(0,I.useCallback)(e=>{ve(t=>{let n=new Set(t.scopeKey===Y?t.fileKeys:[]);return n.has(e)?n.delete(e):n.add(e),{scopeKey:Y,fileKeys:n}})},[Y]),Xt=(0,I.useCallback)(()=>{Me(e=>e+1),ve(e=>{let t=e.scopeKey===Y?e.fileKeys:yt;return{scopeKey:Y,fileKeys:Te(Wt,t)}})},[Y,Wt]),Zt=e=>{N&&P.getState().selectTurn(N,e)},Qt=e=>{N&&P.getState().selectGitScope(N,e)},$t=e=>{N&&P.getState().selectBranchBaseRef(N,e)};return(0,B.jsx)(Xe,{mode:e,header:(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3 [-webkit-app-region:no-drag]`,children:[(0,B.jsxs)(p,{children:[(0,B.jsxs)(te,{className:`inline-flex h-6 max-w-full items-center gap-1 rounded-full bg-hover px-2.5 text-xs font-medium text-foreground outline-none transition-colors hover:bg-strong-line/60 focus-visible:ring-2 focus-visible:ring-ring`,"aria-label":`Changes scope: ${ht}`,children:[(0,B.jsx)(`span`,{className:`truncate`,children:ht}),(0,B.jsx)(d,{className:`size-3.5 shrink-0 opacity-70`})]}),(0,B.jsxs)(u,{align:`start`,className:`w-60`,children:[(0,B.jsx)(s,{className:H===null&&U===`unstaged`?`bg-foreground/[0.08]`:void 0,onClick:()=>Qt(`unstaged`),children:(0,B.jsx)(`span`,{children:`Working tree`})}),(0,B.jsx)(s,{className:H===null&&U===`branch`?`bg-foreground/[0.08]`:void 0,onClick:()=>Qt(`branch`),children:(0,B.jsx)(`span`,{children:`Branch changes`})}),(0,B.jsx)(s,{className:H!==null&&G?.turnId===mt?.turnId?`bg-foreground/[0.08]`:void 0,onClick:()=>{mt&&Zt(mt.turnId)},children:(0,B.jsx)(`span`,{children:`Latest turn`})}),(0,B.jsxs)(ee,{children:[(0,B.jsx)(f,{children:`Turn`}),(0,B.jsx)(c,{className:`w-64`,children:V.map(e=>{let t=e.checkpointTurnCount??z[e.turnId]??`?`;return(0,B.jsxs)(s,{className:e.turnId===G?.turnId?`bg-foreground/[0.08]`:void 0,onClick:()=>Zt(e.turnId),children:[(0,B.jsxs)(`span`,{children:[`Turn `,t]}),(0,B.jsx)(`span`,{className:`ml-auto text-xs tabular-nums text-muted-foreground`,children:qe(e.completedAt,a.timestampFormat)})]},e.turnId)})})]})]})]}),H===null&&U===`branch`&&Z?.baseRef&&(0,B.jsxs)(`div`,{className:`flex min-w-0 max-w-full items-center gap-2 overflow-hidden text-xs text-muted-foreground`,"aria-label":`Comparing ${Z.headRef??`HEAD`} against ${Z.baseRef}`,children:[(0,B.jsxs)(D,{children:[(0,B.jsxs)(T,{render:(0,B.jsx)(`span`,{className:`flex min-w-0 items-center gap-2`}),children:[(0,B.jsx)(`span`,{className:`min-w-0 max-w-48 truncate`,children:Z.headRef??`HEAD`}),(0,B.jsx)(de,{className:`size-3.5 shrink-0 opacity-70`})]}),(0,B.jsx)(O,{side:`top`,children:`${Z.headRef??`HEAD`} → ${Z.baseRef}`})]}),(0,B.jsxs)(He,{items:Pt,filteredItems:Ft,value:W??J,onOpenChange:e=>{e||w(``)},onValueChange:e=>{e&&$t(e===J?null:e)},children:[(0,B.jsxs)(Ue,{className:`inline-flex min-w-0 max-w-48 items-center gap-1 overflow-hidden rounded-md px-1.5 py-1 outline-none transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring`,"aria-label":`Change comparison target. Currently ${Z.baseRef}`,children:[(0,B.jsx)(`span`,{className:`min-w-0 truncate`,children:Z.baseRef}),(0,B.jsx)(d,{className:`size-3.5 shrink-0 opacity-70`})]}),(0,B.jsxs)(Ve,{align:`start`,className:`w-72 min-w-0 max-w-[calc(100vw-1rem)] overflow-hidden`,children:[(0,B.jsx)(`div`,{className:`min-w-0 shrink-0 px-3 pt-2.5`,children:(0,B.jsxs)(`div`,{className:`relative -translate-y-px border-b border-border/70 pb-1.5 transition-colors focus-within:border-ring`,children:[(0,B.jsx)(Ne,{"aria-hidden":`true`,className:`pointer-events-none absolute top-1.5 left-0 size-4 shrink-0 text-muted-foreground/55`}),(0,B.jsx)(Be,{className:`[&_input]:h-6.5 [&_input]:ps-5 [&_input]:font-sans [&_input]:leading-6.5`,inputClassName:`rounded-none bg-transparent text-sm`,placeholder:`Search refs...`,showTrigger:!1,size:`sm`,unstyled:!0,value:S,onChange:e=>w(e.target.value)})]})}),(0,B.jsxs)(`div`,{className:`grid shrink-0 grid-cols-[1rem_minmax(0,1fr)] items-center gap-2 border-b border-line ps-3 pe-6.5 pt-2 pb-1.5 text-[11px] text-muted-foreground`,children:[(0,B.jsx)(`span`,{"aria-hidden":`true`}),(0,B.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[minmax(0,1fr)_2rem] items-center`,children:[(0,B.jsx)(`span`,{children:`Branch`}),(0,B.jsx)(`span`,{className:`text-right`,children:`Remote`})]})]}),(0,B.jsx)(ze,{children:`No matching refs.`}),(0,B.jsxs)(Le,{className:`max-h-64 min-w-0 overflow-x-hidden`,children:[(0,B.jsx)(Re,{className:`h-8 w-full min-w-0 grid-cols-[1rem_minmax(0,1fr)] py-0`,contentClassName:`w-full min-w-0 overflow-hidden`,value:J,children:(0,B.jsx)(`span`,{className:`block min-w-0 truncate`,children:`Automatic`})}),jt.map(e=>{let t=Nt(e),n=e.local!==null&&e.remote!==null,r=e.remote?.name===t;return(0,B.jsx)(Re,{className:`h-8 w-full min-w-0 grid-cols-[1rem_minmax(0,1fr)] py-0`,contentClassName:`w-full min-w-0 overflow-hidden`,value:t,children:(0,B.jsxs)(`div`,{className:`grid w-full min-w-0 grid-cols-[minmax(0,1fr)_2rem] items-center overflow-hidden`,children:[(0,B.jsx)(`span`,{className:`block min-w-0 truncate pe-2`,children:e.label}),n?(0,B.jsx)(`div`,{className:`flex justify-end`,onClick:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),children:(0,B.jsx)(ne,{"aria-label":`Use remote version of ${e.label}`,checked:r,className:`[--thumb-size:--spacing(3)]`,onCheckedChange:t=>{let n=t?e.remote?.name:e.local?.name;n&&$t(n)}})}):e.remote?(0,B.jsxs)(D,{children:[(0,B.jsx)(T,{render:(0,B.jsx)(`span`,{className:`flex justify-end text-muted-foreground`,children:(0,B.jsx)(C,{role:`img`,"aria-label":`Remote only`,className:`size-3`})})}),(0,B.jsx)(O,{side:`top`,children:`Remote only`})]}):null]})},e.id)})]})]})]})]})]}),(0,B.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 [-webkit-app-region:no-drag]`,children:[$.length>0&&(0,B.jsx)(ge,{additions:Kt.additions,deletions:Kt.deletions,className:`mr-1 text-[11px]`,layout:`inline`}),Et&&(0,B.jsxs)(D,{children:[(0,B.jsx)(T,{render:(0,B.jsx)(m,{type:`button`,size:`icon-sm`,variant:`ghost`,"aria-label":X.isPending?`Refreshing changes`:`Refresh changes`,onClick:Tt}),children:(0,B.jsx)(we,{className:h(`size-3.5`,X.isPending&&`animate-spin`)})}),(0,B.jsx)(O,{side:`top`,children:X.isPending?`Refreshing changes…`:`Refresh changes`})]}),$.length>0&&(0,B.jsxs)(D,{children:[(0,B.jsx)(T,{render:(0,B.jsx)(m,{type:`button`,size:`icon-sm`,variant:`ghost`,"aria-label":Gt?`Expand all files`:`Collapse all files`,onClick:Xt}),children:Gt?(0,B.jsx)(Ce,{className:`size-3.5`}):(0,B.jsx)(pe,{className:`size-3.5`})}),(0,B.jsx)(O,{side:`top`,children:Gt?`Expand all files`:`Collapse all files`})]}),(0,B.jsxs)(Qe,{className:`shrink-0 gap-1`,size:`sm`,value:[l],onValueChange:e=>{let t=e[0];(t===`stacked`||t===`split`)&&re(t)},children:[(0,B.jsx)($e,{"aria-label":`Stacked view`,value:`stacked`,variant:`ghost`,children:(0,B.jsx)(De,{className:`size-3.5`})}),(0,B.jsx)($e,{"aria-label":`Split view`,value:`split`,variant:`ghost`,children:(0,B.jsx)(ke,{className:`size-3.5`})})]}),(0,B.jsxs)(D,{children:[(0,B.jsx)(T,{render:(0,B.jsx)($e,{"aria-label":_?`Disable line wrapping`:`Enable line wrapping`,variant:`ghost`,size:`sm`,pressed:_,onPressedChange:e=>{v(!!e)}}),children:(0,B.jsx)(_e,{className:`size-3.5`})}),(0,B.jsx)(O,{side:`top`,children:_?`Disable line wrapping`:`Enable line wrapping`})]}),(0,B.jsxs)(D,{children:[(0,B.jsx)(T,{render:(0,B.jsx)($e,{"aria-label":b?`Show whitespace changes`:`Hide whitespace changes`,variant:`ghost`,size:`sm`,pressed:b,onPressedChange:e=>{se(!!e)}}),children:(0,B.jsx)(ct,{className:`size-3.5`})}),(0,B.jsx)(O,{side:`top`,children:b?`Show whitespace changes`:`Hide whitespace changes`})]})]})]}),children:F?ot?H!==null&&V.length===0?(0,B.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`No completed turns yet.`}):(0,B.jsx)(B.Fragment,{children:(0,B.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-background`,children:[Rt&&(0,B.jsx)(`p`,{className:`shrink-0 border-b border-line bg-canvas-quiet px-3 py-1.5 text-[11px] text-muted-foreground`,children:`This diff was truncated because it exceeded the preview limit. The changes shown are incomplete.`}),Bt&&(0,B.jsx)(`div`,{className:`px-3`,children:(0,B.jsx)(`p`,{className:`mb-2 text-[11px] text-error/80`,children:Bt})}),Q?Q.kind===`files`?(0,B.jsx)(`div`,{className:`min-h-0 flex-1`,onClickCapture:e=>{let t=e.nativeEvent.composedPath?.()??[];for(let e of t)if(e instanceof HTMLElement&&(e instanceof HTMLButtonElement||e instanceof HTMLAnchorElement))return;let n=t.find(e=>e instanceof HTMLElement&&e.hasAttribute(`data-title`))?.textContent?.trim();if(n){Jt(n);return}let r=t.find(e=>e instanceof HTMLElement&&e.hasAttribute(`data-diffs-header`))?.querySelector(`[data-title]`)?.textContent?.trim();if(!r)return;let i=$.find(e=>e.filePath===r);i&&Yt(i.fileKey)},children:(0,B.jsx)(dt,{viewerRef:Pe,codeViewKey:bt,className:`h-full min-h-0 overflow-auto`,files:$,sectionId:q,sectionTitle:St,composerDraftTarget:t,renderHeaderFilenameSuffix:e=>(0,B.jsx)(ut,{filePath:Se(e)}),renderHeaderPrefix:(e,t,n)=>{let r=Se(e);return(0,B.jsxs)(D,{children:[(0,B.jsx)(T,{render:(0,B.jsx)(m,{size:`icon-micro`,variant:`ghost`,className:h(`-ms-0.5 [--control-icon-color:currentColor] bg-transparent hover:bg-foreground/10`,be(e)),"aria-label":n?`Expand ${r}`:`Collapse ${r}`,"aria-expanded":!n,onClick:e=>{e.stopPropagation(),Yt(t)}}),children:n?(0,B.jsx)(ie,{className:`size-4`}):(0,B.jsx)(d,{className:`size-4`})}),(0,B.jsx)(O,{side:`top`,children:n?`Expand changes`:`Collapse changes`})]})},options:{diffStyle:l===`split`?`split`:`unified`,lineDiffType:`none`,overflow:_?`wrap`:`scroll`,theme:xe(i),themeType:i,stickyHeaders:!0,...Ot?{loadDiffFiles:Ot}:{}}},Y??q)}):(0,B.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto p-2`,children:(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsx)(`p`,{className:`text-[11px] text-muted-foreground/75`,children:Q.reason}),(0,B.jsx)(`pre`,{className:h(`max-h-[72vh] rounded-control bg-canvas-quiet p-3 font-mono text-[11px] leading-relaxed text-muted-foreground/90`,_?`overflow-auto whitespace-pre-wrap wrap-break-word`:`overflow-auto`),children:Q.text})]})}):zt?(0,B.jsx)(Je,{label:G?`Loading checkpoint changes...`:U===`unstaged`?`Loading working tree changes...`:`Loading branch changes...`}):(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center px-3 py-2 text-xs text-muted-foreground/70`,children:(0,B.jsx)(`p`,{children:Bt?`Unable to load changes for this selection.`:Vt?G?`No net changes in this turn.`:U===`unstaged`?`No uncommitted changes in the working tree.`:`No committed changes against this base. Uncommitted changes are in Working tree.`:`No patch available for this selection.`})})]})}):(0,B.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Turn diffs are unavailable because this project is not a git repository.`}):(0,B.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Select a thread to inspect turn diffs.`})})}export{Ye as DiffWorkerPoolProvider,Y as default};
2
- //# sourceMappingURL=DiffPanel-Bbs-arXF.js.map
@@ -1,2 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{Xn as t,do as n,ho as r,v as i,y as a}from"./accountData-BKyjOPQm.js";import{Eo as o,F as s,Fn as c,Hn as l,Ho as u,In as d,Ln as f,Rn as p,Un as m,Vn as h,Wn as g,ho as _,jn as v,pn as y,t as b,yo as x,zn as S}from"./utils-ClZ5OxbV.js";import{Cn as C,En as w,Ln as T,On as E,jn as D,kn as O,on as k}from"./session-Dmu9Hk5C.js";import{c as A,f as j,kt as M,l as N,o as P,u as ee}from"./textarea-BT0tVWKM.js";import{Gt as F,Kt as I,c as te,k as L,v as ne}from"./useSettings-GEQSU1F5.js";import{a as R,c as re,l as ie,o as z,r as B,s as ae,t as V,u as oe}from"./empty-DUUjhkFh.js";import{B as H,E as se,G as ce,H as U,J as W,K as le,U as G,V as K,W as q,X as J,Y,Z as ue,a as de,c as X,d as fe,g as pe,h as me,i as he,j as ge,k as _e,n as ve,o as ye,p as be,q as xe,s as Se,t as Ce,v as we,x as Te,y as Ee}from"./browserRecording-BavNt16V.js";import{t as De}from"./ArrowRight-D8u8fAtz.js";import{t as Oe}from"./ArrowSquareOut-B_f6YUhV.js";import{i as ke,r as Ae}from"./RightPanelResizeHandle-XlC9gY5e.js";import{A as je,C as Me,D as Ne,F as Pe,I as Fe,L as Ie,N as Le,O as Re,b as ze,d as Be,f as Ve,h as He,i as Ue,k as We,m as Ge,n as Ke,o as qe,r as Je,t as Ye,x as Xe}from"./browserHistoryStore-CEVJXGfr.js";import{j as Ze}from"./entities-BtD3_L53.js";import{c as Qe}from"./env-71Gq9H0m.js";var Z=e(a(),1),$e=new Map([[`bold`,Z.createElement(Z.Fragment,null,Z.createElement(`path`,{d:`M208,52H182.42L170,33.34A12,12,0,0,0,160,28H96a12,12,0,0,0-10,5.34L73.57,52H48A28,28,0,0,0,20,80V192a28,28,0,0,0,28,28H208a28,28,0,0,0,28-28V80A28,28,0,0,0,208,52Zm4,140a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4H80a12,12,0,0,0,10-5.34L102.42,52h51.15L166,70.66A12,12,0,0,0,176,76h32a4,4,0,0,1,4,4ZM128,84a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,84Zm0,72a24,24,0,1,1,24-24A24,24,0,0,1,128,156Z`}))],[`duotone`,Z.createElement(Z.Fragment,null,Z.createElement(`path`,{d:`M208,64H176L160,40H96L80,64H48A16,16,0,0,0,32,80V192a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V80A16,16,0,0,0,208,64ZM128,168a36,36,0,1,1,36-36A36,36,0,0,1,128,168Z`,opacity:`0.2`}),Z.createElement(`path`,{d:`M208,56H180.28L166.65,35.56A8,8,0,0,0,160,32H96a8,8,0,0,0-6.65,3.56L75.71,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V80A24,24,0,0,0,208,56Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H80a8,8,0,0,0,6.66-3.56L100.28,48h55.43l13.63,20.44A8,8,0,0,0,176,72h32a8,8,0,0,1,8,8ZM128,88a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,88Zm0,72a28,28,0,1,1,28-28A28,28,0,0,1,128,160Z`}))],[`fill`,Z.createElement(Z.Fragment,null,Z.createElement(`path`,{d:`M208,56H180.28L166.65,35.56A8,8,0,0,0,160,32H96a8,8,0,0,0-6.65,3.56L75.71,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V80A24,24,0,0,0,208,56Zm-44,76a36,36,0,1,1-36-36A36,36,0,0,1,164,132Z`}))],[`light`,Z.createElement(Z.Fragment,null,Z.createElement(`path`,{d:`M208,58H179.21L165,36.67A6,6,0,0,0,160,34H96a6,6,0,0,0-5,2.67L76.78,58H48A22,22,0,0,0,26,80V192a22,22,0,0,0,22,22H208a22,22,0,0,0,22-22V80A22,22,0,0,0,208,58Zm10,134a10,10,0,0,1-10,10H48a10,10,0,0,1-10-10V80A10,10,0,0,1,48,70H80a6,6,0,0,0,5-2.67L99.21,46h57.57L171,67.33A6,6,0,0,0,176,70h32a10,10,0,0,1,10,10ZM128,90a42,42,0,1,0,42,42A42,42,0,0,0,128,90Zm0,72a30,30,0,1,1,30-30A30,30,0,0,1,128,162Z`}))],[`regular`,Z.createElement(Z.Fragment,null,Z.createElement(`path`,{d:`M208,56H180.28L166.65,35.56A8,8,0,0,0,160,32H96a8,8,0,0,0-6.65,3.56L75.71,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V80A24,24,0,0,0,208,56Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H80a8,8,0,0,0,6.66-3.56L100.28,48h55.43l13.63,20.44A8,8,0,0,0,176,72h32a8,8,0,0,1,8,8ZM128,88a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,88Zm0,72a28,28,0,1,1,28-28A28,28,0,0,1,128,160Z`}))],[`thin`,Z.createElement(Z.Fragment,null,Z.createElement(`path`,{d:`M208,60H178.13L163.32,37.78A4,4,0,0,0,160,36H96a4,4,0,0,0-3.32,1.78L77.85,60H48A20,20,0,0,0,28,80V192a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V80A20,20,0,0,0,208,60Zm12,132a12,12,0,0,1-12,12H48a12,12,0,0,1-12-12V80A12,12,0,0,1,48,68H80a4,4,0,0,0,3.33-1.78L98.13,44h59.72l14.82,22.22A4,4,0,0,0,176,68h32a12,12,0,0,1,12,12ZM128,92a40,40,0,1,0,40,40A40,40,0,0,0,128,92Zm0,72a32,32,0,1,1,32-32A32,32,0,0,1,128,164Z`}))]]),et=new Map([[`bold`,Z.createElement(Z.Fragment,null,Z.createElement(`path`,{d:`M112,60a16,16,0,1,1,16,16A16,16,0,0,1,112,60Zm16,52a16,16,0,1,0,16,16A16,16,0,0,0,128,112Zm0,68a16,16,0,1,0,16,16A16,16,0,0,0,128,180Z`}))],[`duotone`,Z.createElement(Z.Fragment,null,Z.createElement(`path`,{d:`M176,32V224a16,16,0,0,1-16,16H96a16,16,0,0,1-16-16V32A16,16,0,0,1,96,16h64A16,16,0,0,1,176,32Z`,opacity:`0.2`}),Z.createElement(`path`,{d:`M140,128a12,12,0,1,1-12-12A12,12,0,0,1,140,128ZM128,72a12,12,0,1,0-12-12A12,12,0,0,0,128,72Zm0,112a12,12,0,1,0,12,12A12,12,0,0,0,128,184Z`}))],[`fill`,Z.createElement(Z.Fragment,null,Z.createElement(`path`,{d:`M160,16H96A16,16,0,0,0,80,32V224a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16V32A16,16,0,0,0,160,16ZM128,208a12,12,0,1,1,12-12A12,12,0,0,1,128,208Zm0-68a12,12,0,1,1,12-12A12,12,0,0,1,128,140Zm0-68a12,12,0,1,1,12-12A12,12,0,0,1,128,72Z`}))],[`light`,Z.createElement(Z.Fragment,null,Z.createElement(`path`,{d:`M118,60a10,10,0,1,1,10,10A10,10,0,0,1,118,60Zm10,58a10,10,0,1,0,10,10A10,10,0,0,0,128,118Zm0,68a10,10,0,1,0,10,10A10,10,0,0,0,128,186Z`}))],[`regular`,Z.createElement(Z.Fragment,null,Z.createElement(`path`,{d:`M140,128a12,12,0,1,1-12-12A12,12,0,0,1,140,128ZM128,72a12,12,0,1,0-12-12A12,12,0,0,0,128,72Zm0,112a12,12,0,1,0,12,12A12,12,0,0,0,128,184Z`}))],[`thin`,Z.createElement(Z.Fragment,null,Z.createElement(`path`,{d:`M120,60a8,8,0,1,1,8,8A8,8,0,0,1,120,60Zm8,60a8,8,0,1,0,8,8A8,8,0,0,0,128,120Zm0,68a8,8,0,1,0,8,8A8,8,0,0,0,128,188Z`}))]]),tt=Object.defineProperty,nt=Object.defineProperties,rt=Object.getOwnPropertyDescriptors,it=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,st=(e,t,n)=>t in e?tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ct=(e,t)=>{for(var n in t||={})at.call(t,n)&&st(e,n,t[n]);if(it)for(var n of it(t))ot.call(t,n)&&st(e,n,t[n]);return e},lt=(e,t)=>nt(e,rt(t)),ut=(0,Z.forwardRef)((e,t)=>Z.createElement(o,lt(ct({ref:t},e),{weights:$e})));ut.displayName=`Camera`;var dt=Object.defineProperty,ft=Object.defineProperties,pt=Object.getOwnPropertyDescriptors,mt=Object.getOwnPropertySymbols,ht=Object.prototype.hasOwnProperty,gt=Object.prototype.propertyIsEnumerable,_t=(e,t,n)=>t in e?dt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vt=(e,t)=>{for(var n in t||={})ht.call(t,n)&&_t(e,n,t[n]);if(mt)for(var n of mt(t))gt.call(t,n)&&_t(e,n,t[n]);return e},yt=(e,t)=>ft(e,pt(t)),bt=(0,Z.forwardRef)((e,t)=>Z.createElement(o,yt(vt({ref:t},e),{weights:et})));bt.displayName=`DotsThreeVertical`;var Q=i(),$=u(),xt=()=>{};function St(e){let t=(0,Q.c)(92),{url:n,loading:r,canGoBack:i,canGoForward:a,refreshDisabled:o,inputDisabled:s,focusUrlNonce:c,onBack:l,onForward:u,onRefresh:d,onSubmit:f,onOpenInBrowser:p,onCapture:m,captureDisabled:h,recording:g,onPictureInPicture:_,pictureInPicture:v,pictureInPictureDisabled:x,onPickElement:S,pickActive:C,pickDisabled:w,pickDisabledReason:T,trailingActions:E}=e,D=(0,Z.useRef)(null),[O,k]=(0,Z.useState)(n),[A,M]=(0,Z.useState)(!1),P,F;t[0]===c?(P=t[1],F=t[2]):(P=()=>{if(c==null)return;let e=D.current;e&&e.focus()},F=[c],t[0]=c,t[1]=P,t[2]=F),(0,Z.useEffect)(P,F);let I;t[3]!==O||t[4]!==f?(I=e=>{e?.preventDefault();let t=O.trim();t.length!==0&&(f(t),D.current?.blur())},t[3]=O,t[4]=f,t[5]=I):I=t[5];let te=I,L=i?l:xt,ne=!i,R;t[6]!==L||t[7]!==ne?(R=(0,$.jsx)(y,{variant:`ghost`,size:`icon-xs`,onClick:L,disabled:ne,"aria-label":`Back`,type:`button`}),t[6]=L,t[7]=ne,t[8]=R):R=t[8];let z;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(J,{}),t[9]=z):z=t[9];let B;t[10]===R?B=t[11]:(B=(0,$.jsx)(j,{render:R,children:z}),t[10]=R,t[11]=B);let V;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(ee,{children:`Back`}),t[12]=V):V=t[12];let H;t[13]===B?H=t[14]:(H=(0,$.jsxs)(N,{children:[B,V]}),t[13]=B,t[14]=H);let se=a?u:xt,ce=!a,U;t[15]!==se||t[16]!==ce?(U=(0,$.jsx)(y,{variant:`ghost`,size:`icon-xs`,onClick:se,disabled:ce,"aria-label":`Forward`,type:`button`}),t[15]=se,t[16]=ce,t[17]=U):U=t[17];let G;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,$.jsx)(De,{}),t[18]=G):G=t[18];let K;t[19]===U?K=t[20]:(K=(0,$.jsx)(j,{render:U,children:G}),t[19]=U,t[20]=K);let q;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(ee,{children:`Forward`}),t[21]=q):q=t[21];let Y;t[22]===K?Y=t[23]:(Y=(0,$.jsxs)(N,{children:[K,q]}),t[22]=K,t[23]=Y);let ue=o?xt:d,de=r?`Stop`:`Refresh`,X;t[24]!==o||t[25]!==ue||t[26]!==de?(X=(0,$.jsx)(y,{variant:`ghost`,size:`icon-xs`,onClick:ue,disabled:o,"aria-label":de,type:`button`}),t[24]=o,t[25]=ue,t[26]=de,t[27]=X):X=t[27];let fe=r&&`animate-spin`,pe;t[28]===fe?pe=t[29]:(pe=b(fe),t[28]=fe,t[29]=pe);let me;t[30]===pe?me=t[31]:(me=(0,$.jsx)(oe,{className:pe}),t[30]=pe,t[31]=me);let he;t[32]!==X||t[33]!==me?(he=(0,$.jsx)(j,{render:X,children:me}),t[32]=X,t[33]=me,t[34]=he):he=t[34];let ge=r?`Loading…`:`Refresh`,_e;t[35]===ge?_e=t[36]:(_e=(0,$.jsx)(ee,{children:ge}),t[35]=ge,t[36]=_e);let ve;t[37]!==he||t[38]!==_e?(ve=(0,$.jsxs)(N,{children:[he,_e]}),t[37]=he,t[38]=_e,t[39]=ve):ve=t[39];let ye;t[40]!==H||t[41]!==Y||t[42]!==ve?(ye=(0,$.jsxs)(`div`,{className:`flex items-center gap-0.5`,role:`group`,"aria-label":`Navigation`,children:[H,Y,ve]}),t[40]=H,t[41]=Y,t[42]=ve,t[43]=ye):ye=t[43];let be=A?O:n,xe=p&&!A&&`group-hover/address:pe-7 transition-[padding]`,Se;t[44]===xe?Se=t[45]:(Se=b(xe),t[44]=xe,t[45]=Se);let Ce;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=e=>k(e.target.value),t[46]=Ce):Ce=t[46];let we;t[47]===n?we=t[48]:(we=()=>{k(n),M(!0),queueMicrotask(()=>D.current?.select())},t[47]=n,t[48]=we);let Te;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(Te=()=>{M(!1)},t[49]=Te):Te=t[49];let Ee;t[50]!==te||t[51]!==n?(Ee=e=>{e.key===`Enter`&&te(e),e.key===`Escape`&&(e.preventDefault(),k(n),D.current?.blur())},t[50]=te,t[51]=n,t[52]=Ee):Ee=t[52];let ke;t[53]!==s||t[54]!==be||t[55]!==Se||t[56]!==we||t[57]!==Ee?(ke=(0,$.jsx)(N,{children:(0,$.jsx)(j,{render:(0,$.jsx)(ie,{ref:D,value:be,className:Se,onChange:Ce,onFocus:we,onBlur:Te,onKeyDown:Ee,placeholder:`Search or enter URL`,spellCheck:!1,disabled:s,"data-preview-url-input":!0,size:`sm`})})}),t[53]=s,t[54]=be,t[55]=Se,t[56]=we,t[57]=Ee,t[58]=ke):ke=t[58];let Ae;t[59]!==A||t[60]!==p?(Ae=p&&!A?(0,$.jsx)(re,{align:`inline-end`,className:`pointer-events-none absolute inset-y-0 right-0 opacity-0 transition-opacity group-hover/address:pointer-events-auto group-hover/address:opacity-100`,children:(0,$.jsxs)(N,{children:[(0,$.jsx)(j,{render:(0,$.jsx)(y,{variant:`ghost`,size:`icon-xs`,onClick:p,"aria-label":`Open in system browser`,type:`button`}),children:(0,$.jsx)(Oe,{})}),(0,$.jsx)(ee,{children:`Open in system browser`})]})}):null,t[59]=A,t[60]=p,t[61]=Ae):Ae=t[61];let je;t[62]!==ke||t[63]!==Ae?(je=(0,$.jsxs)(ae,{variant:`ghost`,className:`group/address h-7 flex-1`,children:[ke,Ae]}),t[62]=ke,t[63]=Ae,t[64]=je):je=t[64];let Me;t[65]!==S||t[66]!==C||t[67]!==w||t[68]!==T?(Me=S?(0,$.jsxs)(N,{children:[(0,$.jsx)(j,{render:(0,$.jsx)(y,{variant:C?`secondary`:`ghost`,size:`icon-xs`,onClick:S,disabled:w,"aria-label":C?`Cancel annotation`:`Annotate preview`,"aria-pressed":C?`true`:`false`,type:`button`}),children:(0,$.jsx)(W,{className:b(C&&`text-primary`)})}),(0,$.jsx)(ee,{children:w&&T?T:C?`Cancel annotation (Esc)`:`Annotate elements, regions, and drawings`})]}):null,t[65]=S,t[66]=C,t[67]=w,t[68]=T,t[69]=Me):Me=t[69];let Ne;t[70]!==h||t[71]!==m||t[72]!==g?(Ne=m?(0,$.jsxs)(N,{children:[(0,$.jsxs)(j,{render:(0,$.jsx)(y,{variant:g?`secondary`:`ghost`,size:`icon-xs`,onClick:e=>m(e.shiftKey),"aria-label":g?`Stop recording`:`Capture screenshot`,type:`button`,className:`relative`,disabled:h}),children:[(0,$.jsx)(ut,{className:b(g&&`text-destructive`)}),g?(0,$.jsx)(`span`,{className:`absolute right-0.5 top-0.5 size-1.5 animate-status-pulse rounded-full bg-destructive`}):null]}),(0,$.jsx)(ee,{children:g?`Stop recording`:`Screenshot · Shift-click to record`})]}):null,t[70]=h,t[71]=m,t[72]=g,t[73]=Ne):Ne=t[73];let Pe;t[74]!==_||t[75]!==v||t[76]!==x?(Pe=_?(0,$.jsxs)(N,{children:[(0,$.jsx)(j,{render:(0,$.jsx)(y,{variant:v?`secondary`:`ghost`,size:`icon-xs`,onClick:_,"aria-label":v?`Close floating preview`:`Float preview over chat`,"aria-pressed":v?`true`:`false`,type:`button`,disabled:x}),children:(0,$.jsx)(le,{className:b(v&&`text-primary`)})}),(0,$.jsx)(ee,{children:v?`Close floating preview`:`Float preview over chat`})]}):null,t[74]=_,t[75]=v,t[76]=x,t[77]=Pe):Pe=t[77];let Fe;t[78]!==te||t[79]!==ye||t[80]!==je||t[81]!==Me||t[82]!==Ne||t[83]!==Pe||t[84]!==E?(Fe=(0,$.jsxs)(`form`,{onSubmit:te,className:`flex h-10 min-h-10 shrink-0 items-center gap-1 border-b border-border/60 bg-background px-2 in-data-[preview-panel-mode=inline]:mb-3 in-data-[preview-panel-mode=inline]:h-7 in-data-[preview-panel-mode=inline]:min-h-7 in-data-[preview-panel-mode=inline]:border-b-transparent`,"data-surface-subheader":!0,children:[ye,je,Me,Ne,Pe,E]}),t[78]=te,t[79]=ye,t[80]=je,t[81]=Me,t[82]=Ne,t[83]=Pe,t[84]=E,t[85]=Fe):Fe=t[85];let Ie;t[86]===Symbol.for(`react.memo_cache_sentinel`)?(Ie={boxShadow:`0 0 6px 1px var(--color-ring)`},t[86]=Ie):Ie=t[86];let Le;t[87]===r?Le=t[88]:(Le=(0,$.jsx)(`div`,{"aria-hidden":!0,"data-loading":r,className:`preview-loading-progress pointer-events-none absolute bottom-0 left-0 z-10 h-0.5 w-full origin-left rounded-r-full bg-primary`,style:Ie}),t[87]=r,t[88]=Le);let Re;return t[89]!==Fe||t[90]!==Le?(Re=(0,$.jsxs)(`div`,{className:`relative`,children:[Fe,Le]}),t[89]=Fe,t[90]=Le,t[91]=Re):Re=t[91],Re}function Ct(e){let t=(0,Q.c)(17),{threadRef:n,server:r,onOpen:i}=e,a;t[0]===r?a=t[1]:(a=wt(r),t[0]=r,t[1]=a);let o=a,s;t[2]!==r.requestedUrl||t[3]!==n?(s=(0,$.jsx)(Te,{threadRef:n,url:r.requestedUrl}),t[2]=r.requestedUrl,t[3]=n,t[4]=s):s=t[4];let c;t[5]===o?c=t[6]:(c=(0,$.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:o}),t[5]=o,t[6]=c);let l;t[7]!==r.host||t[8]!==r.port?(l=(0,$.jsxs)(`span`,{className:`truncate text-xs text-muted-foreground`,children:[r.host,`:`,r.port]}),t[7]=r.host,t[8]=r.port,t[9]=l):l=t[9];let u;t[10]!==c||t[11]!==l?(u=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[c,l]}),t[10]=c,t[11]=l,t[12]=u):u=t[12];let d;return t[13]!==i||t[14]!==s||t[15]!==u?(d=(0,$.jsxs)(`button`,{type:`button`,onClick:i,className:`group flex w-full items-center gap-3 px-3 py-3 text-left hover:bg-accent/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring`,children:[s,u]}),t[13]=i,t[14]=s,t[15]=u,t[16]=d):d=t[16],d}function wt(e){return e.processName?e.processName:`Listening`}function Tt(e){let t=(0,Q.c)(26),{threadRef:n,entry:r,onOpen:i,onRemove:a}=e,o;t[0]===r.url?o=t[1]:(o=new URL(r.url),t[0]=r.url,t[1]=o);let s=o,c=s.pathname===`/`?``:s.pathname,l=`${s.host}${c}${s.search}${s.hash}`,u;t[2]===r.lastVisitedAt?u=t[3]:(u=Ye(r.lastVisitedAt)?Qe(new Date(r.lastVisitedAt).toISOString()):``,t[2]=r.lastVisitedAt,t[3]=u);let d=u;Ee();let f;t[4]!==r.url||t[5]!==n?(f=(0,$.jsx)(Te,{threadRef:n,url:r.url}),t[4]=r.url,t[5]=n,t[6]=f):f=t[6];let p=r.title??l,m;t[7]===p?m=t[8]:(m=(0,$.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:p}),t[7]=p,t[8]=m);let h=r.title?`${l} · `:``,g;t[9]!==h||t[10]!==d?(g=(0,$.jsxs)(`span`,{className:`truncate text-xs text-muted-foreground`,children:[h,d]}),t[9]=h,t[10]=d,t[11]=g):g=t[11];let _;t[12]!==m||t[13]!==g?(_=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[m,g]}),t[12]=m,t[13]=g,t[14]=_):_=t[14];let v;t[15]!==i||t[16]!==f||t[17]!==_?(v=(0,$.jsxs)(`button`,{type:`button`,onClick:i,className:`flex w-full items-center gap-3 px-3 py-3 pr-10 text-left hover:bg-accent/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring`,children:[f,_]}),t[15]=i,t[16]=f,t[17]=_,t[18]=v):v=t[18];let y=`Remove ${l} from history`,b;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(M,{className:`size-3.5`}),t[19]=b):b=t[19];let x;t[20]!==a||t[21]!==y?(x=(0,$.jsx)(`button`,{type:`button`,"aria-label":y,onClick:a,className:`absolute right-3 rounded p-1 text-muted-foreground opacity-0 hover:bg-accent hover:text-foreground focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring group-hover:opacity-100`,children:b}),t[20]=a,t[21]=y,t[22]=x):x=t[22];let S;return t[23]!==x||t[24]!==v?(S=(0,$.jsxs)(`div`,{className:`group relative flex w-full items-center`,children:[v,x]}),t[23]=x,t[24]=v,t[25]=S):S=t[25],S}var Et=Object.freeze([]);function Dt(e){let t=[],n=new Set;for(let r of e??[])if(!(r.length===0||r.length>2048||r.trim().length!==r.length))try{let e=new URL(r);if(e.protocol!==`http:`&&e.protocol!==`https:`||!Ve(e.hostname)||e.href.length>2048)continue;let i=new URL(e.href);if(i.hash=``,n.has(i.href))continue;if(n.add(i.href),t.push(e.href),t.length>=32)break}catch{}return t}function Ot(e,t){let n=(0,Q.c)(7),r,i;if(n[0]!==t||n[1]!==e){let a=Dt(t);r=F,i=e===null?null:Xe.discoveredServers({environmentId:e,input:a.length?{configuredUrls:a}:{}}),n[0]=t,n[1]=e,n[2]=r,n[3]=i}else r=n[2],i=n[3];let a=r(i);a.data?.configuredUrlProbing,a.data?.servers;let o=a.data?.servers??Et,s=a.data?.configuredUrlProbing===!0,c;return n[4]!==o||n[5]!==s?(c={servers:o,configuredUrlProbing:s},n[4]=o,n[5]=s,n[6]=c):c=n[6],c}function kt(e){let t=(0,Q.c)(7),n=Ot(e.environmentId,e.configuredUrls),r;if(t[0]!==e.configuredUrls||t[1]!==e.environmentId||t[2]!==n.configuredUrlProbing||t[3]!==n.servers){let i;t[5]===e.environmentId?i=t[6]:(i=t=>({...t,url:Be(e.environmentId,t.url),requestedUrl:t.url}),t[5]=e.environmentId,t[6]=i),r=At({scanner:n.servers.map(i),configuredUrls:e.configuredUrls??[],configuredUrlProbing:n.configuredUrlProbing}),t[0]=e.configuredUrls,t[1]=e.environmentId,t[2]=n.configuredUrlProbing,t[3]=n.servers,t[4]=r}else r=t[4];return r}function At(e){let t=new Map;for(let n of e.configuredUrls){let e=Mt(n);if(!e)continue;let r=jt(e.host,e.port);t.has(r)||t.set(r,e)}let n=[];for(let r of e.scanner){let i=jt(r.host,r.port),a=t.get(i);n.push({...r,requestedUrl:a&&e.configuredUrlProbing===!1?a.url:r.requestedUrl,source:a?`configured`:`scanner`})}return n.toSorted((e,t)=>{let n={configured:0,scanner:1};return n[e.source]===n[t.source]?e.port-t.port:n[e.source]-n[t.source]})}function jt(e,t){let n=e.toLowerCase();return`${Ve(n)?`loopback`:n}:${t}`}function Mt(e){try{let t=new URL(e);if(t.protocol!==`http:`&&t.protocol!==`https:`||!Ve(t.hostname))return null;let n=t.port?Number.parseInt(t.port,10):t.protocol===`http:`?80:443;return!Number.isFinite(n)||n<=0?null:{host:t.hostname,port:n,url:t.href}}catch{return null}}function Nt(e){let t=(0,Q.c)(24),{threadRef:n,environmentId:r,configuredUrls:i,recentEntries:a,onRemoveRecent:o,onOpenUrl:s}=e,c;t[0]!==i||t[1]!==r?(c={environmentId:r,configuredUrls:i},t[0]=i,t[1]=r,t[2]=c):c=t[2];let l=kt(c),u,d,f,p;if(t[3]!==s||t[4]!==o||t[5]!==a||t[6]!==l.length||t[7]!==n){p=Symbol.for(`react.early_return_sentinel`);bb0:{let e=a.filter(Pt).slice(0,8);if(l.length===0&&e.length===0){let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(V,{children:[(0,$.jsx)(R,{variant:`icon`,children:(0,$.jsx)(Ie,{className:`size-4.5 text-muted-foreground`})}),(0,$.jsx)(z,{children:`No preview yet`}),(0,$.jsx)(B,{children:`Type a URL above, or run a dev script. Browser-ready localhost servers will show up here automatically.`})]}),t[12]=e):e=t[12],p=e;break bb0}f=`flex h-full min-h-0 overflow-y-auto px-5 py-8`,u=`mx-auto flex w-full max-w-xl flex-col gap-6`,d=e.length>0?(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(ke,{className:`size-4 shrink-0`}),(0,$.jsx)(`h2`,{className:`font-medium`,children:`Recently used`})]}),(0,$.jsx)(`div`,{className:`flex flex-col divide-y divide-line overflow-hidden rounded-tile bg-canvas-quiet`,children:e.map(e=>(0,$.jsx)(Tt,{threadRef:n,entry:e,onOpen:()=>s(e.url),onRemove:()=>o(e.url)},e.url))})]}):null}t[3]=s,t[4]=o,t[5]=a,t[6]=l.length,t[7]=n,t[8]=u,t[9]=d,t[10]=f,t[11]=p}else u=t[8],d=t[9],f=t[10],p=t[11];if(p!==Symbol.for(`react.early_return_sentinel`))return p;let m;t[13]!==s||t[14]!==l||t[15]!==n?(m=l.length>0?(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(Y,{className:`size-4 shrink-0`}),(0,$.jsx)(`h2`,{className:`font-medium`,children:`Local servers`})]}),(0,$.jsx)(`div`,{className:`flex flex-col divide-y divide-line overflow-hidden rounded-tile bg-canvas-quiet`,children:l.map(e=>(0,$.jsx)(Ct,{threadRef:n,server:e,onOpen:()=>s(e.requestedUrl)},`${e.host}:${e.port}`))}),(0,$.jsx)(`p`,{className:`px-1 text-xs text-muted-foreground`,children:`Select a live local server to open it in this browser tab.`})]}):null,t[13]=s,t[14]=l,t[15]=n,t[16]=m):m=t[16];let h;t[17]!==u||t[18]!==d||t[19]!==m?(h=(0,$.jsxs)(`div`,{className:u,children:[d,m]}),t[17]=u,t[18]=d,t[19]=m,t[20]=h):h=t[20];let g;return t[21]!==f||t[22]!==h?(g=(0,$.jsx)(`div`,{className:f,children:h}),t[21]=f,t[22]=h,t[23]=g):g=t[23],g}function Pt(e){return URL.canParse(e.url)}var Ft=[{value:`system`,label:`System`},{value:`light`,label:`Light`},{value:`dark`,label:`Dark`}];function It(e){let t=(0,Q.c)(73),{tabId:n,hasWebContents:r,zoomFactor:i,colorScheme:a,deviceToolbarVisible:o,onToggleDeviceToolbar:s,nativePictureInPicture:u,onNativePictureInPicture:p}=e,_=te();if(!K)return null;let b=!n||!r,x;t[0]===n?x=t[1]:(x=e=>()=>{n&&e(n).catch(Wt)},t[0]=n,t[1]=x);let C=x,w;t[2]===i?w=t[3]:(w=Math.round(i*100),t[2]=i,t[3]=w);let T=`${w}%`,E;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsxs)(N,{children:[(0,$.jsx)(j,{render:(0,$.jsx)(g,{render:(0,$.jsx)(y,{variant:`ghost`,size:`icon-xs`,type:`button`,"aria-label":`Preview menu`})}),children:(0,$.jsx)(bt,{})}),(0,$.jsx)(ee,{children:`More`})]}),t[4]=E):E=t[4];let D;t[5]===C?D=t[6]:(D=C(K.hardReload),t[5]=C,t[6]=D);let O;t[7]!==D||t[8]!==b?(O=(0,$.jsx)(c,{onClick:D,disabled:b,children:`Hard reload`}),t[7]=D,t[8]=b,t[9]=O):O=t[9];let k;t[10]!==C||t[11]!==_||t[12]!==b?(k=_?(0,$.jsx)(c,{onClick:C(K.openDevTools),disabled:b,children:`Open DevTools`}):null,t[10]=C,t[11]=_,t[12]=b,t[13]=k):k=t[13];let A=u?`Close separate preview window`:`Open separate preview window`,M;t[14]!==p||t[15]!==A||t[16]!==b?(M=(0,$.jsx)(c,{onClick:p,disabled:b,children:A}),t[14]=p,t[15]=A,t[16]=b,t[17]=M):M=t[17];let P=o?`Hide device toolbar`:`Show device toolbar`,F;t[18]!==s||t[19]!==P||t[20]!==b?(F=(0,$.jsx)(c,{onClick:s,disabled:b,children:P}),t[18]=s,t[19]=P,t[20]=b,t[21]=F):F=t[21];let I;t[22]===b?I=t[23]:(I=(0,$.jsx)(m,{disabled:b,children:`Appearance`}),t[22]=b,t[23]=I);let L;t[24]===n?L=t[25]:(L=e=>{n&&K.setColorScheme(n,e).catch(Ut)},t[24]=n,t[25]=L);let ne;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(ne=Ft.map(Ht),t[26]=ne):ne=t[26];let R;t[27]!==a||t[28]!==L?(R=(0,$.jsx)(l,{className:`min-w-32`,children:(0,$.jsx)(f,{value:a,onValueChange:L,children:ne})}),t[27]=a,t[28]=L,t[29]=R):R=t[29];let re;t[30]!==I||t[31]!==R?(re=(0,$.jsxs)(h,{children:[I,R]}),t[30]=I,t[31]=R,t[32]=re):re=t[32];let ie;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,$.jsx)(S,{}),t[33]=ie):ie=t[33];let z;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(`span`,{children:`Zoom`}),t[34]=z):z=t[34];let B;t[35]===C?B=t[36]:(B=C(K.zoomOut),t[35]=C,t[36]=B);let ae;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(xe,{}),t[37]=ae):ae=t[37];let V;t[38]!==B||t[39]!==b?(V=(0,$.jsx)(y,{variant:`outline`,size:`icon-xs`,type:`button`,onClick:B,"aria-label":`Zoom out`,disabled:b,children:ae}),t[38]=B,t[39]=b,t[40]=V):V=t[40];let oe;t[41]===T?oe=t[42]:(oe=(0,$.jsx)(`span`,{className:`min-w-12 text-center text-xs tabular-nums text-muted-foreground`,children:T}),t[41]=T,t[42]=oe);let H;t[43]===C?H=t[44]:(H=C(K.zoomIn),t[43]=C,t[44]=H);let se;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsx)(ce,{}),t[45]=se):se=t[45];let U;t[46]!==H||t[47]!==b?(U=(0,$.jsx)(y,{variant:`outline`,size:`icon-xs`,type:`button`,onClick:H,"aria-label":`Zoom in`,disabled:b,children:se}),t[46]=H,t[47]=b,t[48]=U):U=t[48];let W;t[49]===C?W=t[50]:(W=C(K.resetZoom),t[49]=C,t[50]=W);let le;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(ue,{}),t[51]=le):le=t[51];let G;t[52]!==W||t[53]!==b?(G=(0,$.jsx)(y,{variant:`ghost`,size:`icon-xs`,type:`button`,onClick:W,"aria-label":`Reset zoom`,className:`[:hover,[data-pressed]]:bg-foreground/10`,disabled:b,children:le}),t[52]=W,t[53]=b,t[54]=G):G=t[54];let q;t[55]!==V||t[56]!==oe||t[57]!==U||t[58]!==G?(q=(0,$.jsxs)(`span`,{className:`flex items-center gap-1`,children:[V,oe,U,G]}),t[55]=V,t[56]=oe,t[57]=U,t[58]=G,t[59]=q):q=t[59];let J;t[60]!==q||t[61]!==b?(J=(0,$.jsxs)(c,{closeOnClick:!1,onClick:Vt,className:`justify-between`,disabled:b,children:[z,q]}),t[60]=q,t[61]=b,t[62]=J):J=t[62];let Y,de,X;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,$.jsx)(S,{}),de=(0,$.jsx)(c,{onClick:zt,children:`Clear cookies`}),X=(0,$.jsx)(c,{onClick:Lt,children:`Clear cache`}),t[63]=Y,t[64]=de,t[65]=X):(Y=t[63],de=t[64],X=t[65]);let fe;return t[66]!==F||t[67]!==re||t[68]!==J||t[69]!==O||t[70]!==k||t[71]!==M?(fe=(0,$.jsxs)(v,{children:[E,(0,$.jsxs)(d,{align:`end`,sideOffset:6,className:`min-w-56`,children:[O,k,M,F,re,ie,J,Y,de,X]})]}),t[66]=F,t[67]=re,t[68]=J,t[69]=O,t[70]=k,t[71]=M,t[72]=fe):fe=t[72],fe}function Lt(){K.clearCache().catch(Rt)}function Rt(){}function zt(){K.clearCookies().catch(Bt)}function Bt(){}function Vt(e){return e.preventDefault()}function Ht(e){return(0,$.jsx)(p,{value:e.value,children:e.label},e.value)}function Ut(){}function Wt(){}function Gt(e){return Fe[e]||(e.length>0?e:`Network error`)}function Kt(e){let t=(0,Q.c)(32),{url:n,code:r,description:i,onReload:a}=e,[o,s]=(0,Z.useState)(!1),c;t[0]===n?c=t[1]:(c=Yt(n)??n,t[0]=n,t[1]=c);let l=c,u;t[2]===i?u=t[3]:(u=Gt(i),t[2]=i,t[3]=u);let d=u,f;t[4]!==r||t[5]!==i?(f=i.length>0?i:`ERR_${Math.abs(r)||`FAILED`}`,t[4]=r,t[5]=i,t[6]=f):f=t[6];let p=f,m,h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(Jt,{className:`mb-6 size-12 text-muted-foreground/70`}),h=(0,$.jsx)(`h1`,{className:`mb-3 text-2xl font-semibold leading-tight text-foreground`,children:`This site can’t be reached`}),t[7]=m,t[8]=h):(m=t[7],h=t[8]);let g;t[9]===l?g=t[10]:(g=(0,$.jsx)(`span`,{className:`font-semibold text-foreground`,children:l}),t[9]=l,t[10]=g);let _;t[11]!==d||t[12]!==g?(_=(0,$.jsxs)(`p`,{className:`text-sm leading-relaxed text-muted-foreground`,children:[g,`: `,d,`.`]}),t[11]=d,t[12]=g,t[13]=_):_=t[13];let v;t[14]===o?v=t[15]:(v=o?(0,$.jsxs)(`div`,{className:`mt-6 rounded-lg border border-border bg-muted/40 p-4 text-sm`,children:[(0,$.jsx)(`p`,{className:`mb-2 font-medium text-foreground`,children:`Try:`}),(0,$.jsxs)(`ul`,{className:`list-disc space-y-1 pl-5 text-muted-foreground`,children:[(0,$.jsx)(`li`,{children:`Checking your connection`}),(0,$.jsx)(`li`,{children:`Confirming the dev server is running`}),(0,$.jsx)(`li`,{children:`Checking the proxy and the firewall`})]})]}):null,t[14]=o,t[15]=v);let b;t[16]===p?b=t[17]:(b=(0,$.jsx)(`div`,{className:`mt-8 text-xs uppercase tracking-wide text-muted-foreground/70`,children:p}),t[16]=p,t[17]=b);let x;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>s(qt),t[18]=x):x=t[18];let S=o?`Hide details`:`Details`,C;t[19]===S?C=t[20]:(C=(0,$.jsx)(y,{type:`button`,variant:`outline`,size:`sm`,onClick:x,children:S}),t[19]=S,t[20]=C);let w;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(`div`,{className:`flex-1`}),t[21]=w):w=t[21];let T;t[22]===a?T=t[23]:(T=(0,$.jsx)(y,{type:`button`,size:`sm`,onClick:a,children:`Reload`}),t[22]=a,t[23]=T);let E;t[24]!==C||t[25]!==T?(E=(0,$.jsxs)(`div`,{className:`mt-auto flex items-center gap-2 pt-8`,children:[C,w,T]}),t[24]=C,t[25]=T,t[26]=E):E=t[26];let D;return t[27]!==E||t[28]!==_||t[29]!==v||t[30]!==b?(D=(0,$.jsx)(`div`,{className:`relative flex h-full min-h-0 w-full overflow-y-auto bg-background`,children:(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-1 flex-col px-8 py-12 sm:py-16`,children:[m,h,_,v,b,E]})}),t[27]=E,t[28]=_,t[29]=v,t[30]=b,t[31]=D):D=t[31],D}function qt(e){return!e}function Jt(e){let t=(0,Q.c)(5),{className:n}=e,r,i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`path`,{d:`M16 12 L48 12 L48 52 L16 52 Z`}),i=(0,$.jsx)(`path`,{d:`M22 22 L42 22 M22 30 L36 30 M22 38 L40 38`,strokeLinecap:`round`}),a=(0,$.jsx)(`path`,{d:`M52 8 L12 56`,strokeLinecap:`round`}),t[0]=r,t[1]=i,t[2]=a):(r=t[0],i=t[1],a=t[2]);let o;return t[3]===n?o=t[4]:(o=(0,$.jsxs)(`svg`,{viewBox:`0 0 64 64`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,className:n,children:[r,i,a]}),t[3]=n,t[4]=o),o}function Yt(e){try{return new URL(e).host}catch{return null}}var Xt=class extends r()(`PreviewSessionThreadKeyParseError`,{threadKey:n}){get message(){return`Invalid scoped preview thread key: ${this.threadKey}`}},Zt=w(e=>{let t=_(e);if(t===null)throw new Xt({threadKey:e});let n=Xe.list({environmentId:t.environmentId,input:{threadId:t.threadId}}),r=Xe.events({environmentId:t.environmentId,input:{}});return E(e=>{let i=!1,a=0,o=e=>{T(e)&&We(t,e.value)},s=r=>{if(!T(r)||r.value.threadId!==t.threadId)return;let i=Re(t).serverEpoch;if(i!==null&&i!==r.value.serverEpoch){e.refresh(n);return}Me(t,r.value)};e.addFinalizer(()=>{i=!0});let c=e.once(r);e.subscribe(n,e=>{o(e)}),e.subscribe(r,e=>{a+=1,s(e)}),queueMicrotask(()=>{i||(e.refresh(n),a===0&&s(c))})}).pipe(O(1e3),D(`preview:session-sync:${e}`))});function Qt(e){let t=(0,Q.c)(2),n;t[0]===e?n=t[1]:(n=Zt(x(e)),t[0]=e,t[1]=n),C(n)}var $t=1500,en=.001;function tn(e){let t=(0,Q.c)(11),{zoomFactor:n}=e,[r,i]=(0,Z.useState)(!1),a=(0,Z.useRef)(n),o=(0,Z.useRef)(null),s,c;t[0]===n?(s=t[1],c=t[2]):(s=()=>{if(!(Math.abs(a.current-n)<en))return a.current=n,i(!0),o.current!==null&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>{i(!1),o.current=null},$t),()=>{o.current!==null&&(window.clearTimeout(o.current),o.current=null)}},c=[n],t[0]=n,t[1]=s,t[2]=c),(0,Z.useEffect)(s,c);let l;t[3]===n?l=t[4]:(l=Math.round(n*100),t[3]=n,t[4]=l);let u=`${l}%`,d=!r,f=r?`opacity-100 translate-y-0`:`opacity-0 -translate-y-1`,p;t[5]===f?p=t[6]:(p=b(`pointer-events-none absolute top-3 right-3 z-20 select-none rounded-full border border-border/70 bg-popover/95 px-2.5 py-1 text-xs font-medium text-foreground shadow-md/10 backdrop-blur transition-all duration-200 ease-out`,f),t[5]=f,t[6]=p);let m;return t[7]!==u||t[8]!==d||t[9]!==p?(m=(0,$.jsx)(`div`,{"aria-hidden":d,className:p,children:u}),t[7]=u,t[8]=d,t[9]=p,t[10]=m):m=t[10],m}function nn(e,t){return e?1:t===`human`?.18:.35}var rn=700;function an(e){let t=(0,Q.c)(9),{tabId:n,zoomFactor:r,controller:i}=e,a;t[0]===n?a=t[1]:(a=e=>e.byTabId[n]??null,t[0]=n,t[1]=a);let o=Se(a),s;t[2]===n?s=t[3]:(s=e=>e.byTabId[n]?.content??null,t[2]=n,t[3]=s);let c=fe(s);if(!o)return null;let l;return t[4]!==c||t[5]!==i||t[6]!==o||t[7]!==r?(l=(0,$.jsx)(on,{event:o,content:c,zoomFactor:r,controller:i},o.sequence),t[4]=c,t[5]=i,t[6]=o,t[7]=r,t[8]=l):l=t[8],l}function on(e){let t=(0,Q.c)(15),{event:n,content:r,zoomFactor:i,controller:a}=e,[o,s]=(0,Z.useState)(!0),c,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{let e=window.setTimeout(()=>s(!1),rn);return()=>window.clearTimeout(e)},l=[],t[0]=c,t[1]=l):(c=t[0],l=t[1]),(0,Z.useEffect)(c,l);let u;t[2]!==o||t[3]!==a?(u=nn(o,a),t[2]=o,t[3]=a,t[4]=u):u=t[4];let d=`translate3d(${n.x*i*(r?.scale??1)+(r?.x??0)-(r?.scrollLeft??0)}px, ${n.y*i*(r?.scale??1)+(r?.y??0)-(r?.scrollTop??0)}px, 0)`,f;t[5]!==u||t[6]!==d?(f={opacity:u,transform:d},t[5]=u,t[6]=d,t[7]=f):f=t[7];let p;t[8]!==n.phase||t[9]!==n.sequence?(p=n.phase===`click`?(0,$.jsx)(`span`,{className:`absolute left-0.5 top-0.5 size-4 animate-status-ping rounded-full bg-primary/25 motion-reduce:animate-none`},n.sequence):null,t[8]=n.phase,t[9]=n.sequence,t[10]=p):p=t[10];let m;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(Ae,{className:`relative size-5 -translate-x-0.5 -translate-y-0.5 text-primary drop-shadow-sm`,weight:`fill`}),t[11]=m):m=t[11];let h;return t[12]!==f||t[13]!==p?(h=(0,$.jsxs)(`div`,{className:`pointer-events-none absolute left-0 top-0 z-40 transition-[transform,opacity] duration-150 ease-out motion-reduce:transition-none`,style:f,"aria-hidden":`true`,"data-agent-browser-cursor":!0,children:[p,m]}),t[12]=f,t[13]=p,t[14]=h):h=t[14],h}var sn=typeof window>`u`?null:L();function cn({threadRef:e,tabId:n,configuredUrls:r,visible:i,onSendAnnotation:a}){let[o,c]=(0,Z.useState)(void 0),[l,u]=(0,Z.useState)(!1),d=ye(),f=(0,Z.useRef)(!1),p=(0,Z.useRef)(!0),m=(0,Z.useRef)(e);m.current=e;let h=Pe(e),g=qe(e,50),_=G(t=>U(t.byThreadKey,e)),v=s(e=>e.addPreviewAnnotation),y=s(e=>e.addImage),b=ne(e.environmentId),S=b?new URL(b).hostname:null,C=I(Xe.open),w=I(Xe.resize,`preview viewport resize`);Qt(e),(0,Z.useEffect)(()=>(p.current=!0,()=>{p.current=!1}),[]);let T=n??h.activeTabId,E=T?me(e,h.serverEpoch,T):null,D=T&&E?d.has(E)?E:Ce(e,T):null,O=T?h.sessions[T]??null:null,j=T?h.desktopByTabId[T]??null:null,M=O?.navStatus??{_tag:`Idle`},N=M._tag===`Idle`?``:M.url,ee=j?.loading??M._tag===`Loading`,F=j?.canGoBack??O?.canGoBack??!1,te=j?.canGoForward??O?.canGoForward??!1,L=M._tag===`Idle`,R=M._tag===`LoadFailed`,re=be(O),ie=j?.controller??`none`,z=O?.viewport??t,B=ge(),ae=fe(e=>E?e.byTabId[E]?.rect??null:null),V=M._tag===`Success`?M.url:null,oe=M._tag===`Success`?M.title:null,ce=g[0]?.url;(0,Z.useEffect)(()=>{!V||!oe||!ce||Ue(m.current,V,oe,S)},[S,ce,oe,V,x(e)]);let W=(0,Z.useCallback)(async t=>E&&K?(await K.navigate(E,t),je(e,t),!0):(await se({openPreview:C,threadRef:e,url:t}))._tag===`Success`,[C,E,e]),le=(0,Z.useCallback)(async t=>{try{let n=Ge(t);await W(n)&&Ke(e,n)}catch{}},[W,e]),q=(0,Z.useCallback)(async t=>{try{let n=Be(e.environmentId,t);await W(n)&&Ke(e,t)}catch{}},[W,e]),J=(0,Z.useCallback)(()=>{K&&E&&K.refresh(E)},[E]),Y=(0,Z.useCallback)(()=>{K&&E&&K.zoomIn(E)},[E]),ue=(0,Z.useCallback)(()=>{K&&E&&K.zoomOut(E)},[E]),xe=(0,Z.useCallback)(()=>{K&&E&&K.resetZoom(E)},[E]),Se=(0,Z.useCallback)(async t=>{if(!T)return;let n=await w({environmentId:e.environmentId,input:{threadId:e.threadId,tabId:T,viewport:t}});if(n._tag===`Failure`){let e=k(n);throw P.add({type:`error`,title:`Unable to resize browser viewport`,description:e instanceof Error?e.message:`An error occurred.`}),e}Le(e,n.value)},[w,T,e]),Te=()=>{if(E){if(z._tag!==`fill`){pe(E,t).catch(()=>void 0);return}pe(E,_e({defaults:B,panelRect:ae,zoomFactor:j?.zoomFactor})).catch(()=>void 0)}};(0,Z.useEffect)(()=>{if(E)return we(E,Se)},[Se,E]);let Ee=(0,Z.useCallback)(()=>{K&&E&&K.goBack(E)},[E]),De=(0,Z.useCallback)(()=>{K&&E&&K.goForward(E)},[E]),Oe=(0,Z.useCallback)(()=>{!sn||!N||sn.shell.openExternal(N).catch(()=>void 0)},[N]),ke=(0,Z.useCallback)(()=>{if(T){if(_?.tabId===T){G.getState().close(e);return}G.getState().open(e,T),Ze.getState().close(e)}},[_?.tabId,T,e]),Ae=(0,Z.useCallback)(()=>{!K||!E||(j?.pictureInPicture?K.pictureInPicture.close:K.pictureInPicture.open)(E).catch(e=>{P.add({type:`error`,title:`Unable to update popped-out preview`,description:e instanceof Error?e.message:`An error occurred.`})})},[j?.pictureInPicture,E]),Me=(0,Z.useCallback)(t=>{if(!K||!E||!T)return;let n=K;if(D){de(D).then(e=>{if(!e)return;let t=!1,r,i=()=>{if(!navigator.clipboard?.writeText){P.update(r,A({type:`error`,title:`Unable to copy recording path`,description:`Clipboard API unavailable.`,actionProps:a}));return}navigator.clipboard.writeText(e.path).then(()=>{t=!0,o(),window.setTimeout(()=>{t=!1,o()},2e3)},e=>{P.update(r,A({type:`error`,title:`Unable to copy recording path`,description:e instanceof Error?e.message:`An error occurred.`,actionProps:a}))})},a={children:He(navigator.platform),onClick:()=>void n.revealArtifact(e.path)},o=()=>{P.update(r,A({type:`success`,title:`Recording saved`,actionProps:a,data:{secondaryActionProps:{children:t?`Copied!`:`Copy path`,disabled:t,onClick:i},secondaryActionVariant:`outline`}}))};r=P.add(A({type:`success`,title:`Recording saved`,actionProps:a,data:{secondaryActionProps:{children:`Copy path`,onClick:i},secondaryActionVariant:`outline`}}))},e=>{P.add({type:`error`,title:`Unable to stop recording`,description:e instanceof Error?e.message:`An error occurred.`})});return}if(t){he(E,e,T).catch(e=>{let t=e instanceof Error?e.message:`An error occurred.`;ve(e)||P.add({type:`error`,title:`Unable to start recording`,description:t})});return}n.captureScreenshot(E).then(e=>{let t={children:He(navigator.platform),onClick:()=>void n.revealArtifact(e.path)},r=!1,i=!1,a,o=(e=`success`,n=`Screenshot saved`,o)=>{P.update(a,A({type:e,title:n,description:o,actionProps:{children:i?`Copied!`:`Copy image`,disabled:i,onClick:c},data:{additionalActions:[{id:`copy-path`,props:{children:r?`Copied!`:`Copy path`,disabled:r,onClick:s}}],secondaryActionProps:{...t},secondaryActionVariant:`outline`}}))},s=()=>{if(!navigator.clipboard?.writeText){o(`error`,`Unable to copy screenshot path`,`Clipboard API unavailable.`);return}navigator.clipboard.writeText(e.path).then(()=>{r=!0,o(),window.setTimeout(()=>{r=!1,o()},2e3)},e=>{o(`error`,`Unable to copy screenshot path`,e instanceof Error?e.message:`An error occurred.`)})},c=()=>{n.copyArtifactToClipboard(e.path).then(()=>{i=!0,o(),window.setTimeout(()=>{i=!1,o()},2e3)},e=>{o(`error`,`Unable to copy screenshot`,e instanceof Error?e.message:`An error occurred.`)})};a=P.add(A({type:`success`,title:`Screenshot saved`,actionProps:{children:`Copy image`,onClick:c},data:{additionalActions:[{id:`copy-path`,props:{children:`Copy path`,onClick:s}}],secondaryActionProps:{...t},secondaryActionVariant:`outline`}}))},e=>{P.add({type:`error`,title:`Unable to capture screenshot`,description:e instanceof Error?e.message:`An error occurred.`})})},[D,E,T,e]),Ne=(0,Z.useCallback)(()=>{if(!K||!E)return;if(f.current){K.cancelPickElement(E).catch(()=>void 0);return}let t=typeof document<`u`?document.activeElement:null;f.current=!0,u(!0),(async()=>{try{let t=await K.pickElement(E);if(!t)return;let{annotation:n,submission:r}=t;v(e,n);let i=null;try{i=await ze(n)}catch{}let o=i&&n.screenshot?{type:`image`,id:n.id,name:i.name,mimeType:i.type,sizeBytes:i.size,previewUrl:n.screenshot.dataUrl,file:i}:null;o&&y(e,o),r===`send`&&a?.(n,o)}catch{}finally{if(f.current=!1,p.current&&u(!1),t&&t.isConnected&&typeof t.focus==`function`)try{t.focus({preventScroll:!0})}catch{}}})()},[y,v,a,E,e]);return(0,Z.useEffect)(()=>()=>{f.current&&(f.current=!1,K&&E&&K.cancelPickElement(E).catch(()=>void 0),p.current&&u(!1))},[E]),(0,Z.useEffect)(()=>{if(i)return H(e=>{switch(e){case`refresh`:J();return;case`focus-url`:c(e=>(e??0)+1);return;case`zoom-in`:Y();return;case`zoom-out`:ue();return;case`reset-zoom`:xe();return;case`toggle-panel`:return}})},[J,xe,Y,ue,i]),(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col bg-background`,"data-thread-key":x(e),children:[(0,$.jsx)(St,{url:N,loading:ee,canGoBack:F,canGoForward:te,refreshDisabled:L,focusUrlNonce:o,onBack:Ee,onForward:De,onRefresh:J,onSubmit:e=>void le(e),onOpenInBrowser:T?Oe:void 0,onCapture:K&&T?Me:void 0,captureDisabled:!j||R,recording:D!==null,onPictureInPicture:K&&T?ke:void 0,pictureInPicture:_?.tabId===T,pictureInPictureDisabled:!j?.hasWebContents||R,onPickElement:K&&T?Ne:void 0,pickActive:l,pickDisabled:!T||R,pickDisabledReason:R?`Page didn't load — pick unavailable until the page renders`:void 0,trailingActions:K?(0,$.jsx)(It,{tabId:E,hasWebContents:j?.hasWebContents??!1,zoomFactor:j?.zoomFactor??1,colorScheme:j?.colorScheme??`system`,deviceToolbarVisible:z._tag!==`fill`,onToggleDeviceToolbar:Te,nativePictureInPicture:j?.pictureInPicture??!1,onNativePictureInPicture:Ae}):null}),(0,$.jsxs)(`div`,{className:`relative min-h-0 flex-1 overflow-hidden`,children:[E&&O&&!re?(0,$.jsx)(X,{tabId:E,visible:i&&!R,className:`absolute inset-0 h-full w-full`},E):null,re?(0,$.jsx)(Nt,{threadRef:e,environmentId:e.environmentId,configuredUrls:r,recentEntries:g,onRemoveRecent:t=>Je(e,t),onOpenUrl:e=>void q(e)}):null,O&&j?(0,$.jsx)(tn,{zoomFactor:j.zoomFactor}):null,E&&j&&!re&&!R?(0,$.jsx)(an,{tabId:E,zoomFactor:j.zoomFactor,controller:ie}):null,ie===`none`?null:(0,$.jsx)(`div`,{className:`surface-glass pointer-events-none absolute left-3 top-3 z-40 rounded-full px-2.5 py-1 text-[11px] font-medium shadow-glass`,children:ie===`agent`?`Agent controlling browser`:`Human control`}),M._tag===`LoadFailed`?(0,$.jsx)(`div`,{className:`absolute inset-0 z-10 bg-background`,children:(0,$.jsx)(Kt,{url:M.url,code:M.code,description:M.description,onReload:J})}):null]})]})}function ln(e){let t=(0,Q.c)(16),{mode:n,threadRef:r,tabId:i,configuredUrls:a,visible:o,onSendAnnotation:s}=e;if(!Ne()){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center justify-center gap-3 p-8 text-center`,children:(0,$.jsx)(`p`,{className:`max-w-sm text-sm text-muted-foreground`,children:`Preview is only available in the Borg desktop app.`})}),t[0]=e):e=t[0];let r;return t[1]===n?r=t[2]:(r=(0,$.jsx)(q,{mode:n,children:e}),t[1]=n,t[2]=r),r}let c;t[3]===i?c=t[4]:(c=i===void 0?{}:{tabId:i},t[3]=i,t[4]=c);let l;t[5]===s?l=t[6]:(l=s?{onSendAnnotation:s}:{},t[5]=s,t[6]=l);let u;t[7]!==a||t[8]!==c||t[9]!==l||t[10]!==r||t[11]!==o?(u=(0,$.jsx)(cn,{threadRef:r,...c,configuredUrls:a,visible:o,...l}),t[7]=a,t[8]=c,t[9]=l,t[10]=r,t[11]=o,t[12]=u):u=t[12];let d;return t[13]!==n||t[14]!==u?(d=(0,$.jsx)(q,{mode:n,children:u}),t[13]=n,t[14]=u,t[15]=d):d=t[15],d}export{ln as PreviewPanel};
2
- //# sourceMappingURL=PreviewPanel-C_WqPJu_.js.map
@@ -1,6 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{Lo as t,st as n,v as r,y as i}from"./accountData-BKyjOPQm.js";import{B as a,Eo as o,Fn as s,Ho as c,In as l,K as u,To as d,Wn as ee,gt as f,jn as p,pn as m,t as te,wo as h}from"./utils-ClZ5OxbV.js";import{on as g,xn as ne}from"./session-Dmu9Hk5C.js";import{Ft as _,Pt as v,f as y,jt as b,kt as re,l as x,o as S,t as C,u as w}from"./textarea-BT0tVWKM.js";import{Gt as T,Kt as E,a as D,ct as O}from"./useSettings-GEQSU1F5.js";import{$n as k,Br as ie,Rr as ae,Vr as oe,Xn as se,Yn as ce,er as le,nr as ue,tr as A,zr as de}from"./scroll-area-DAaT-DGF.js";import{Qt as fe,_ as pe,g as me,v as he}from"./ChatMarkdown-Ch9PipMk.js";import{$ as ge,C as j,Mt as _e,Ot as ve,Pt as ye,c as be,ht as xe,l as Se,n as Ce,o as we,r as Te,st as Ee,t as M,xt as De}from"./PullRequestReactions-BJ4eU_08.js";import{i as Oe,n as ke,o as Ae,r as je,s as Me}from"./diffFileContents-CHRsIT6_.js";import{c as Ne}from"./env-71Gq9H0m.js";import{l as Pe,t as Fe}from"./DiffWorkerPoolProvider-B-AH2sbL.js";import{a as Ie,i as Le}from"./VirtualizedFile-qiRlyNDc.js";import{n as Re,t as ze}from"./toggle-group-BDgfPfOF.js";var N=e(i(),1),P=new Map([[`bold`,N.createElement(N.Fragment,null,N.createElement(`path`,{d:`M56.88,31.93a12,12,0,0,0-20.29,4.38A20,20,0,0,0,20,56V184a20,20,0,0,0,20,20H98.11l12.52,21.92a20,20,0,0,0,34.73,0L157.89,204h23l18.25,20.07a12,12,0,0,0,17.76-16.14ZM150.93,180a12,12,0,0,0-10.42,6.05L128,207.94l-12.51-21.89A12,12,0,0,0,105.07,180H44V60h6l109.1,120ZM236,56V174.14a12,12,0,0,1-24,0V60H109.33a12,12,0,1,1,0-24H216A20,20,0,0,1,236,56Z`}))],[`duotone`,N.createElement(N.Fragment,null,N.createElement(`path`,{d:`M224,56V184a8,8,0,0,1-8,8H150.93l-16,28a8,8,0,0,1-13.9,0l-16-28H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H216A8,8,0,0,1,224,56Z`,opacity:`0.2`}),N.createElement(`path`,{d:`M53.92,34.62A8,8,0,0,0,40,40h0A16,16,0,0,0,24,56V184a16,16,0,0,0,16,16h60.43l13.68,23.94a16,16,0,0,0,27.78,0L155.57,200h27.07l19.44,21.38a8,8,0,1,0,11.84-10.76Zm97,149.38a8,8,0,0,0-7,4l-16,28-16-28a8,8,0,0,0-7-4H40V56H51.73L168.1,184ZM232,56V186a8,8,0,0,1-16,0V56H98.52a8,8,0,1,1,0-16H216A16,16,0,0,1,232,56Z`}))],[`fill`,N.createElement(N.Fragment,null,N.createElement(`path`,{d:`M232,56V184a15.93,15.93,0,0,1-4.82,11.42,4,4,0,0,1-5.68-.25L86.52,46.69a4,4,0,0,1,3-6.69H216A16,16,0,0,1,232,56ZM53.92,34.62A8,8,0,0,0,40,40h0A16,16,0,0,0,24,56V184a16,16,0,0,0,16,16h60.43l13.68,23.94a16,16,0,0,0,27.78,0L155.57,200h27.07l19.44,21.38a8,8,0,1,0,11.84-10.76Z`}))],[`light`,N.createElement(N.Fragment,null,N.createElement(`path`,{d:`M52.44,36a6,6,0,0,0-10.1,6H40A14,14,0,0,0,26,56V184a14,14,0,0,0,14,14h61.59L115.84,223a14,14,0,0,0,24.32,0L154.41,198h29.12l20,22a6,6,0,0,0,8.88-8.08Zm98.49,150a6,6,0,0,0-5.21,3l-16,28a2,2,0,0,1-3.48,0l-16-28a6,6,0,0,0-5.21-3H40a2,2,0,0,1-2-2V56a2,2,0,0,1,2-2H52.62l120,132ZM230,56V186a6,6,0,0,1-12,0V56a2,2,0,0,0-2-2H98.52a6,6,0,1,1,0-12H216A14,14,0,0,1,230,56Z`}))],[`regular`,N.createElement(N.Fragment,null,N.createElement(`path`,{d:`M53.92,34.62A8,8,0,0,0,40,40h0A16,16,0,0,0,24,56V184a16,16,0,0,0,16,16h60.43l13.68,23.94a16,16,0,0,0,27.78,0L155.57,200h27.07l19.44,21.38a8,8,0,1,0,11.84-10.76Zm97,149.38a8,8,0,0,0-7,4l-16,28-16-28a8,8,0,0,0-7-4H40V56H51.73L168.1,184ZM232,56V186a8,8,0,0,1-16,0V56H98.52a8,8,0,1,1,0-16H216A16,16,0,0,1,232,56Z`}))],[`thin`,N.createElement(N.Fragment,null,N.createElement(`path`,{d:`M51,37.31A4,4,0,0,0,45,42.69L46.23,44H40A12,12,0,0,0,28,56V184a12,12,0,0,0,12,12h62.75L117.58,222a12,12,0,0,0,20.84,0L153.25,196h31.16L205,218.69a4,4,0,1,0,5.92-5.38ZM150.93,188a4,4,0,0,0-3.47,2l-16,28a4,4,0,0,1-6.94,0l-16-28a4,4,0,0,0-3.47-2H40a4,4,0,0,1-4-4V56a4,4,0,0,1,4-4H53.5L177.14,188ZM228,56V186a4,4,0,0,1-8,0V56a4,4,0,0,0-4-4H98.52a4,4,0,1,1,0-8H216A12,12,0,0,1,228,56Z`}))]]),F=new Map([[`bold`,N.createElement(N.Fragment,null,N.createElement(`path`,{d:`M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Z`}))],[`duotone`,N.createElement(N.Fragment,null,N.createElement(`path`,{d:`M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z`,opacity:`0.2`}),N.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z`}))],[`fill`,N.createElement(N.Fragment,null,N.createElement(`path`,{d:`M232,128A104,104,0,1,1,128,24,104.13,104.13,0,0,1,232,128Z`}))],[`light`,N.createElement(N.Fragment,null,N.createElement(`path`,{d:`M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Z`}))],[`regular`,N.createElement(N.Fragment,null,N.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z`}))],[`thin`,N.createElement(N.Fragment,null,N.createElement(`path`,{d:`M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Z`}))]]),I=Object.defineProperty,Be=Object.defineProperties,Ve=Object.getOwnPropertyDescriptors,He=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,We=Object.prototype.propertyIsEnumerable,L=(e,t,n)=>t in e?I(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ge=(e,t)=>{for(var n in t||={})Ue.call(t,n)&&L(e,n,t[n]);if(He)for(var n of He(t))We.call(t,n)&&L(e,n,t[n]);return e},Ke=(e,t)=>Be(e,Ve(t)),qe=(0,N.forwardRef)((e,t)=>N.createElement(o,Ke(Ge({ref:t},e),{weights:P})));qe.displayName=`ChatCenteredSlash`;var Je=Object.defineProperty,R=Object.defineProperties,z=Object.getOwnPropertyDescriptors,B=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable,U=(e,t,n)=>t in e?Je(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ye=(e,t)=>{for(var n in t||={})V.call(t,n)&&U(e,n,t[n]);if(B)for(var n of B(t))H.call(t,n)&&U(e,n,t[n]);return e},Xe=(e,t)=>R(e,z(t)),Ze=(0,N.forwardRef)((e,t)=>N.createElement(o,Xe(Ye({ref:t},e),{weights:F})));Ze.displayName=`Circle`;var Qe=new Set([`pnpm-lock.yaml`,`yarn.lock`,`package-lock.json`,`bun.lockb`,`Cargo.lock`,`go.sum`,`composer.lock`,`Gemfile.lock`]),$e=new Set([`__snapshots__`,`__generated__`,`dist`,`build`,`vendor`]),et=new Set([`__tests__`,`tests`,`test`]),tt=[`.ts`,`.tsx`,`.js`,`.jsx`,`.mjs`,`.cjs`];function nt(e){let t=e.split(`/`),n=t.at(-1)??``;return Qe.has(n)||n.endsWith(`.snap`)||n.endsWith(`.min.js`)||n.endsWith(`.min.css`)||/\.generated\./.test(n)||t.slice(0,-1).some(e=>$e.has(e))?`generated`:/\.(?:test|spec)\./.test(n)||t.slice(0,-1).some(e=>et.has(e))?`test`:`source`}function rt(e){let t=e.lastIndexOf(`.`);return t>e.lastIndexOf(`/`)?e.slice(0,t):e}function it(e){return rt(e.split(`/`).at(-1)??``)}function at(e,t){let n=e.split(`/`).slice(0,-1);for(let e of t.split(`/`))e===`.`||e===``||(e===`..`?n.pop():n.push(e));return n.join(`/`)}var ot=/(?:\bfrom|\bimport|\brequire\s*\()\s*\(?\s*["']([^"']+)["']/g;function W(e,t,n,r){let i=new Set;for(let a of t){ot.lastIndex=0;let t=ot.exec(a);for(;t!==null;){let o=t[1]??``,s=o.startsWith(`.`)?at(e,o):o,c=tt.find(e=>s.endsWith(e)),l=c===void 0?s:s.slice(0,-c.length),u=n.get(l)??n.get(`${l}/index`)??r.get(it(l));u!==void 0&&u!==e&&i.add(u),t=ot.exec(a)}}return i}function G(e,t){let n=new Set(e),r=[],i=[...e].sort((e,t)=>e.localeCompare(t));for(;n.size>0;){let e=i.filter(e=>n.has(e)),a=e.find(e=>[...t.get(e)??[]].every(e=>!n.has(e)))??e[0];n.delete(a),r.push(a)}return r}function K(e){return(e.split(`/`).at(-1)??``).replace(/\.(?:test|spec)\..*$/,``).replace(/\.[^.]+$/,``)}function st(e){let t=new Map;for(let n of e)t.set(A(n),n);let n=new Map;for(let e of t.keys())n.set(e,nt(e));let r=[...t.keys()].filter(e=>n.get(e)===`source`),i=new Map,a=new Set,o=new Map;for(let e of r){i.set(rt(e),e);let t=it(e);o.has(t)&&a.add(t),o.set(t,e)}for(let e of a)o.delete(e);let s=new Map;for(let e of r){let n=t.get(e);s.set(e,W(e,[...n.additionLines,...n.deletionLines],i,o))}let c=G(r,s),l=new Map;c.forEach((e,t)=>{let n=it(e);l.has(n)||l.set(n,t)});let u=[...t.keys()].filter(e=>n.get(e)===`test`).sort((e,t)=>(l.get(K(e))??2**53-1)-(l.get(K(t))??2**53-1)||e.localeCompare(t)),d=[...t.keys()].filter(e=>n.get(e)===`generated`).sort((e,t)=>e.localeCompare(t));return[...c,...u,...d].map(e=>t.get(e))}var q=r(),J=c(),Y=`mx-3 my-2 rounded-xl border border-border/70 bg-background p-3 text-sm shadow-sm`;function ct(e){return t=>{t.key===`Escape`&&e.onCancel&&(t.preventDefault(),e.onCancel()),Ie(t,e.value,e.pending)&&(t.preventDefault(),e.onSubmit())}}function lt(e){let t=(0,q.c)(11),{comment:n,onRemove:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=te(Y,`border-dashed`),t[0]=i):i=t[0];let a,o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,J.jsx)(fe,{className:`size-3.5`}),o=(0,J.jsx)(`span`,{children:`Pending — sent when you submit the review`}),t[1]=a,t[2]=o):(a=t[1],o=t[2]);let s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,J.jsx)(ae,{className:`size-3.5`}),t[3]=s):s=t[3];let c;t[4]===r?c=t[5]:(c=(0,J.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[a,o,(0,J.jsx)(m,{size:`icon-xs`,variant:`ghost`,className:`ml-auto`,"aria-label":`Discard this comment`,onClick:r,children:s})]}),t[4]=r,t[5]=c);let l;t[6]===n.body?l=t[7]:(l=(0,J.jsx)(`p`,{className:`mt-2 whitespace-pre-wrap leading-relaxed`,children:n.body}),t[6]=n.body,t[7]=l);let u;return t[8]!==c||t[9]!==l?(u=(0,J.jsxs)(`div`,{className:i,contentEditable:!1,onPointerDown:ut,children:[c,l]}),t[8]=c,t[9]=l,t[10]=u):u=t[10],u}function ut(e){return e.stopPropagation()}function dt({thread:e,workspaceRoot:t,canReply:n,canResolve:r,canReact:i,environmentId:a,reference:o,pending:s,fixPending:c,fixLabel:l=`Fix in a thread`,onFix:u,onReply:d,onLoadMore:ee,canEditComment:f,onEditComment:p,onToggleResolved:te,onReacted:h}){let[g,ne]=(0,N.useState)(!e.isResolved),[_,y]=(0,N.useState)(!1),[b,re]=(0,N.useState)(``),[x,S]=(0,N.useState)(null),[w,T]=(0,N.useState)(!1),E=(0,N.useRef)(!1),[D,O]=(0,N.useState)(null),[k,ie]=(0,N.useState)(!1),ae=D?.threadId===e.id?D:null,oe=xe(e.comments,ae?.comments??[]),se=ae===null?e.nextCommentsCursor??null:ae.nextCursor,ce=e.commentCount??oe.length,le=async(t,n)=>{if(w)return;T(!0);let r=await p(t,n);T(!1),r&&(O(r=>r?.threadId===e.id?{...r,comments:Ee(r.comments,t,n)}:r),S(null))},ue=async()=>{let t=b.trim();if(!(t.length===0||s||E.current)){E.current=!0;try{await d(t)&&(O(t=>t?.threadId===e.id?{...t,nextCursor:t.nextCursor??e.nextCommentsCursor??null}:t),re(``),y(!1))}finally{E.current=!1}}},A=async()=>{if(!(se===null||k)){ie(!0);try{let t=await ee(se);if(t===null)return;O(n=>({threadId:e.id,comments:xe(n?.threadId===e.id?n.comments:[],t.comments),nextCursor:t.nextCursor}))}finally{ie(!1)}}};return(0,J.jsxs)(`div`,{className:Y,contentEditable:!1,onPointerDown:e=>e.stopPropagation(),children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[e.isResolved?(0,J.jsx)(v,{className:`size-3.5 text-emerald-600 dark:text-emerald-500`}):(0,J.jsx)(Ze,{className:`size-3.5`}),(0,J.jsxs)(`button`,{type:`button`,className:`hover:text-foreground`,"aria-expanded":g,onClick:()=>ne(e=>!e),children:[e.isResolved?`Resolved`:`Open`,` · `,ce,` `,ce===1?`comment`:`comments`]}),e.isOutdated?(0,J.jsx)(`span`,{children:`outdated`}):null,u?(0,J.jsxs)(m,{size:`xs`,variant:`ghost`,className:`ml-auto`,disabled:s||c,onClick:u,children:[(0,J.jsx)(ye,{className:`size-3`}),c?`Preparing...`:l]}):null,r?(0,J.jsx)(m,{size:`xs`,variant:`ghost`,className:u?void 0:`ml-auto`,disabled:s,onClick:te,children:e.isResolved?`Unresolve`:`Resolve`}):null]}),g?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`mt-2 space-y-3`,children:oe.map(e=>(0,J.jsxs)(`article`,{className:`group min-w-0`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,J.jsx)(we,{actor:e.author,className:`text-foreground`}),(0,J.jsx)(`span`,{children:Ne(e.createdAt)})]}),x===e.id?(0,J.jsx)(Ce,{className:`mt-1`,value:e.body,cwd:t,environmentId:a,label:`Edit comment`,saving:w,onSave:t=>void le(e.id,t),onCancel:()=>S(null)}):(0,J.jsxs)(`div`,{className:`mt-1 flex items-start gap-1`,children:[(0,J.jsx)(Te,{className:`min-w-0 flex-1 text-sm`,text:e.body,cwd:t,environmentId:a}),f(e)?(0,J.jsx)(m,{size:`icon-xs`,variant:`ghost`,className:`shrink-0 text-muted-foreground opacity-0 transition-opacity group-focus-within:opacity-100 group-hover:opacity-100 focus-visible:opacity-100`,"aria-label":`Edit comment`,onClick:()=>S(e.id),children:(0,J.jsx)(_e,{className:`size-3`})}):null]}),(0,J.jsx)(M,{className:`mt-1.5`,reactions:e.reactions??[],canReact:i,subjectId:e.id,environmentId:a,reference:o,onRefresh:h})]},e.id))}),se===null?null:(0,J.jsx)(`div`,{className:`mt-2`,children:(0,J.jsx)(m,{size:`xs`,variant:`ghost`,className:`px-1`,disabled:k,onClick:()=>void A(),children:k?`Loading...`:`Load more comments`})}),n?_?(0,J.jsxs)(`div`,{className:`mt-2`,children:[(0,J.jsx)(C,{autoFocus:!0,size:`sm`,value:b,placeholder:`Reply`,"aria-label":`Reply to this conversation`,onChange:e=>re(e.target.value),onKeyDown:ct({value:b,pending:s,onSubmit:()=>void ue(),onCancel:()=>y(!1)})}),(0,J.jsxs)(`div`,{className:`mt-2 flex justify-end gap-2`,children:[(0,J.jsx)(m,{size:`xs`,variant:`ghost`,onClick:()=>y(!1),children:`Cancel`}),(0,J.jsx)(m,{size:`xs`,disabled:s||b.trim().length===0,onClick:()=>void ue(),children:`Reply`})]})]}):(0,J.jsx)(m,{size:`xs`,variant:`ghost`,className:`mt-2 px-1`,onClick:()=>y(!0),children:`Reply`}):null]}):null]})}var X=0;function ft(){return X+=1,`pending-review-comment-${X}`}function pt(e){return`${e.projectId}/${e.repository}#${e.number}`}var Z=[],Q=f()(e=>({drafts:{},summaries:{},addComment:(t,n)=>e(e=>({drafts:{...e.drafts,[t]:[...e.drafts[t]??Z,n]}})),removeComment:(t,n)=>e(e=>{let r=(e.drafts[t]??Z).filter(e=>e.id!==n);if(r.length>0)return{drafts:{...e.drafts,[t]:r}};let{[t]:i,...a}=e.drafts;return{drafts:a}}),removeComments:(t,n)=>e(e=>{let r=new Set(n),i=(e.drafts[t]??Z).filter(e=>!r.has(e.id));if(i.length>0)return{drafts:{...e.drafts,[t]:i}};let{[t]:a,...o}=e.drafts;return{drafts:o}}),clear:t=>e(e=>{let{[t]:n,...r}=e.drafts;return{drafts:r}}),setSummary:(t,n)=>e(e=>({summaries:{...e.summaries,[t]:n}})),clearSummary:(t,n)=>e(e=>{if(e.summaries[t]!==n)return e;let{[t]:r,...i}=e.summaries;return{summaries:i}})}));function mt(e){let t=(0,q.c)(2),n;return t[0]===e?n=t[1]:(n=t=>t.drafts[pt(e)]??Z,t[0]=e,t[1]=n),Q(n)}var ht=[{value:`comment`,label:`Comment`,sent:`Review submitted`,icon:(0,J.jsx)(fe,{className:`size-3`})},{value:`approve`,label:`Approve`,sent:`Pull request approved`,icon:(0,J.jsx)(_,{className:`size-3`})},{value:`request-changes`,label:`Request changes`,sent:`Changes requested`,icon:(0,J.jsx)(ve,{className:`size-3`})}],gt=t(n);function _t(e){let t=(0,q.c)(13),{environmentId:n,reference:r,verdicts:i,headSha:a,onSubmitted:o}=e,[s,c]=(0,N.useState)(!1),l=mt(r),u=pt(r),d=Q(e=>e.summaries[u]??``),ee=Q($),f=Q(St),p=Q(xt),te=Q(bt),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h={reportFailure:!1},t[0]=h):h=t[0];let ne=E(j.submitReview,h),_;t[1]===i?_=t[2]:(_=e=>i.includes(e.value),t[1]=i,t[2]=_);let v=ht.filter(_);if(v.length===0)return null;let y=async e=>{if(s)return;let t=d,i=l,ee=i.find(yt)?.headSha??a;c(!0);let p=await ne({environmentId:n,input:{...r,verdict:e.value,body:t,comments:i,...ee===void 0?{}:{headSha:ee}}});if(c(!1),p._tag===`Failure`){let e=g(p);S.add({type:`error`,title:`The review could not be submitted`,...gt(e)?{description:e.detail}:{}});return}f(u,i.map(vt)),te(u,t),S.add({type:`success`,title:e.sent}),o()},b;t[3]!==d||t[4]!==l.length?(b=e=>e===`approve`||d.trim().length>0||l.length>0,t[3]=d,t[4]=l.length,t[5]=b):b=t[5];let re=b,x=l.length===0?`No line comments yet`:`${l.length} ${l.length===1?`comment`:`comments`} pending`,w;t[6]===x?w=t[7]:(w=(0,J.jsx)(`span`,{children:x}),t[6]=x,t[7]=w);let T=l.length>0?(0,J.jsx)(m,{size:`xs`,variant:`ghost`,disabled:s,onClick:()=>ee(u),children:`Discard`}):null,D;t[8]!==w||t[9]!==T?(D=(0,J.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[w,T]}),t[8]=w,t[9]=T,t[10]=D):D=t[10];let O=v.map(e=>(0,J.jsx)(m,{size:`xs`,variant:e.value===`comment`?`outline`:`default`,disabled:s||!re(e.value),onClick:()=>void y(e),children:(0,J.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[e.icon,e.label]})},e.value)),k;return t[11]===O?k=t[12]:(k=(0,J.jsx)(`div`,{className:`mt-2 flex flex-wrap justify-end gap-2`,children:O}),t[11]=O,t[12]=k),(0,J.jsxs)(`div`,{className:`px-4 py-3`,children:[D,(0,J.jsx)(C,{size:`sm`,className:`mt-2`,value:d,placeholder:`Summarize your review (optional)`,"aria-label":`Review summary`,onChange:e=>p(u,e.target.value)}),k]})}function vt(e){return e.id}function yt(e){return e.headSha}function bt(e){return e.clearSummary}function xt(e){return e.setSummary}function St(e){return e.removeComments}function $(e){return e.clear}function Ct(e,t,n){return e.hunks.some(e=>t===`left`?n>=e.deletionStart&&n<e.deletionStart+e.deletionCount:n>=e.additionStart&&n<e.additionStart+e.additionCount)}function wt(e,t,n){let r=t===`folded`;return n.has(e)?!r:r}var Tt=10,Et=`
2
- [data-diffs-header] [data-additions-count],
3
- [data-diffs-header] [data-deletions-count] {
4
- display: none !important;
5
- }`,Dt=[];function Ot(e){return e===`left`?`deletions`:`additions`}function kt(e){switch(e.kind){case`added`:return{line:e.newLine,side:`right`};case`deleted`:return{line:e.oldLine,side:`left`};case`context`:return{line:e.side===`left`?e.oldLine:e.newLine,side:e.side}}}function At({environmentId:e,reference:t,detail:n,selectedCommitOid:r,onSelectedCommitChange:i,pendingFinding:o,fixFindingLabel:c=`Fix in a thread`,onFixFinding:f,onAddToAgentSelection:g,onRefresh:_,refreshToken:v=0}){let{resolvedTheme:C}=O(),ae=D(),[_e,ve]=(0,N.useState)(()=>new Set),[ye,xe]=(0,N.useState)(Tt),[Ce,we]=(0,N.useState)(null),[Te,Ee]=(0,N.useState)(`stacked`),[M,Ne]=(0,N.useState)(ae.wordWrap),[Ie,P]=(0,N.useState)(null),[F,I]=(0,N.useState)(null),[Be,Ve]=(0,N.useState)(!1),[He,Ue]=(0,N.useState)(!1),[We,L]=(0,N.useState)(!1),[Ge,Ke]=(0,N.useState)({key:``,cursor:null,slices:Dt}),Je=(0,N.useRef)(new Map),R=pt(t),z=r,B=z===null?R:`${R}@${z}`;(0,N.useEffect)(()=>{I(null),P(null),ve(new Set),we(null),xe(Tt),Ue(!1),Ke({key:B,cursor:null,slices:Dt}),Je.current.clear()},[B]);let V=Ge.key===B?Ge.slices:Dt,H=Ge.key===B?Ge.cursor:null,U=T(j.diff({environmentId:e,input:{...t,...H===null?{}:{cursor:H},...z===null?{}:{commit:z}}}));(0,N.useEffect)(()=>{let e=U.data;e!==null&&Ke(t=>{let n=t.key===B?t.slices:Dt,r={cursor:H,patch:e.patch,truncated:e.truncated,nextCursor:e.nextCursor,omittedFileStats:e.omittedFileStats??[]},i=n.findIndex(e=>e.cursor===H);if(i===-1)return{key:B,cursor:H,slices:[...n,r]};let a=n[i];return a!==void 0&&a.patch===r.patch&&a.truncated===r.truncated&&a.nextCursor===r.nextCursor&&a.omittedFileStats.length===r.omittedFileStats.length&&a.omittedFileStats.every((e,t)=>{let n=r.omittedFileStats[t];return n!==void 0&&n.path===e.path&&n.additions===e.additions&&n.deletions===e.deletions})?t:{key:B,cursor:H,slices:[...n.slice(0,i),r]}})},[H,U.data,B]);let Ye=ne(j.diff({environmentId:e,input:{...t,...z===null?{}:{commit:z}}})),Xe=(0,N.useRef)(v);(0,N.useEffect)(()=>{Xe.current!==v&&(Xe.current=v,Ke({key:B,cursor:null,slices:Dt}),Ye())},[v,B,Ye]);let Ze=R,Qe=mt(t),$e=Q(e=>e.addComment),et=Q(e=>e.removeComment),tt=E(j.replyToThread,{reportFailure:!1}),nt=E(j.setThreadResolution,{reportFailure:!1}),rt=E(j.updateComment,{reportFailure:!1}),it=E(j.threadComments,{reportFailure:!1}),at=E(j.diffFileContents),ot=(0,N.useMemo)(()=>ke(at,{environmentId:e,reference:t,commit:z,cacheKey:`pull-request:${R}:${n.updatedAt}:${z??`all`}`}),[z,n.updatedAt,e,at,t,R]),W=(0,N.useMemo)(()=>{let e=n.capabilities.review,t=n.viewerPermissions;return{inlineComment:e.inlineComment&&t.comment,reply:e.reply&&t.comment,resolve:e.resolve&&t.resolve,verdicts:e.verdicts.filter(e=>t.verdicts.includes(e))}},[n.capabilities.review,n.viewerPermissions]),G=W.inlineComment&&z===null,K=(0,N.useMemo)(()=>V.map(e=>{let t=`pull-request:${B}:${C}:${e.cursor??`first`}:${se(e.patch)}`,n=Je.current.get(t);if(n)return n;let r=k(e.patch,t,{compactPartialHunkOffsets:!0});return r&&Je.current.set(t,r),r}),[V,C,B]),q=(0,N.useMemo)(()=>K.flatMap(e=>e?.kind===`files`?st(e.files):[]),[K]),Y=V.at(-1)?.nextCursor??null,ct=V.some(e=>e.truncated)||K.some(e=>e?.kind===`raw`),ut=(0,N.useMemo)(()=>{let e=new Set;if(z!==null)return e;for(let t of q){let r=A(t);for(let i of n.reviewThreads)i.path===r&&i.line!==null&&Ct(t,i.side,i.line)&&e.add(i.id)}return e},[z,n.reviewThreads,q]),X=(0,N.useMemo)(()=>q.map(e=>{let t=ce(e),r=A(e),i=new Map,a=(e,t)=>{let n=`${e}:${t}`,r=i.get(n);if(r)return r;let a={side:e,line:t,threads:[],pending:[],draft:!1};return i.set(n,a),a};for(let e of n.reviewThreads)e.path!==r||e.line===null||ut.has(e.id)&&a(e.side,e.line).threads.push(e);if(z===null)for(let e of Qe){if(e.path!==r)continue;let t=kt(e.position);a(t.side,t.line).pending.push(e)}if(F?.fileKey===t){let e=kt(F.position);a(e.side,e.line).draft=!0}let o=wt(t,Ce,_e),s=[...i.values()].map(e=>({side:Ot(e.side),lineNumber:e.line,metadata:{threads:e.threads,pending:e.pending,draft:e.draft}}));return{id:t,type:`diff`,fileDiff:e,annotations:s,collapsed:o,version:se(`${o?`1`:`0`}:${s.map(({side:e,lineNumber:t,metadata:n})=>`${e}:${t}:${n.draft?`d`:``}:${n.pending.map(e=>`${e.id}:${e.body}`).join(`,`)}:${n.threads.map(e=>`${e.id}:${e.isResolved?`r`:``}:${e.isOutdated?`o`:``}:${e.comments.map(e=>`${e.id}:${e.author?.login??``}:${e.createdAt}:${e.body}:${(e.reactions??[]).map(e=>`${e.content}:${e.count}:${e.viewerHasReacted?`v`:``}`).join(`,`)}`).join(`;`)}`).join(`,`)}`).join(`|`)}`)}}),[z,n.reviewThreads,F,q,Ce,Qe,ut,_e]),Z=(0,N.useMemo)(()=>new Map(V.flatMap(e=>e.omittedFileStats.map(e=>[e.path,e]))),[V]),ht=(0,N.useMemo)(()=>X.map(e=>e.id),[X]),gt=(0,N.useMemo)(()=>new Set(X.filter(e=>e.collapsed===!0).map(e=>e.id)),[X]),vt=Oe(ht,gt),[yt,bt]=(0,N.useState)(null);(0,N.useEffect)(()=>{if(yt===null||Y===null||Y===H||U.isPending||U.error!==null)return;let e=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&Ke(e=>({...e,cursor:Y}))},{rootMargin:`240px`});return e.observe(yt),()=>e.disconnect()},[H,U.error,U.isPending,Y,yt]);let xt=(0,N.useCallback)(e=>ve(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),[]),St=()=>{we(Oe(ht,gt)?`expanded`:`folded`),ve(new Set)},$=(0,N.useMemo)(()=>n.commits.toSorted((e,t)=>Date.parse(t.committedDate)-Date.parse(e.committedDate)),[n.commits]),At=(0,N.useCallback)((e,t)=>{if(!e||!G)return;let n=t.item;if(n.type!==`diff`)return;let r=q.find(e=>ce(e)===n.id);if(!r)return;let i=A(r),a=ue(r),o=u(r,e.end,e.endSide??e.side);o!==null&&I({fileKey:n.id,path:i,oldPath:a===i?null:a,position:o,range:e})},[G,q]),jt=(0,N.useCallback)((e,t,r)=>{let i=q.find(t=>ce(t)===e.fileKey),o=i===void 0?null:a({id:`pull-request-selection:${e.fileKey}:${e.range.start}:${e.range.end}`,sectionId:`pull-request:${n.number}`,sectionTitle:`PR #${n.number} review`,filePath:e.path,fileDiff:i,range:e.range,text:t});I(null),P(null),o!==null&&r(o)},[n.number,q]),Mt=(0,N.useCallback)(()=>Y===null?null:(0,J.jsx)(`div`,{ref:bt,className:`flex items-center justify-center gap-2 py-2 text-xs text-muted-foreground`,children:U.error===null?U.isPending?`Loading more files...`:null:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{children:`The rest of this diff could not be loaded.`}),(0,J.jsx)(m,{size:`xs`,variant:`outline`,onClick:()=>U.refresh(),children:`Retry`})]})}),[Y,U.error,U.isPending,U.refresh]),Nt=(0,N.useCallback)(e=>{let t=e.collapsed===!0;return(0,J.jsx)(m,{size:`icon-micro`,variant:`ghost-muted`,"aria-expanded":!t,"aria-label":t?`Expand diff`:`Collapse diff`,className:`mr-1 rounded hover:bg-transparent`,onClick:t=>{t.stopPropagation(),xt(e.id)},children:t?(0,J.jsx)(h,{className:`size-4`}):(0,J.jsx)(d,{className:`size-4`})})},[xt]),Pt=(0,N.useCallback)(e=>{if(e.type!==`diff`)return null;let t=0,n=0;for(let r of e.fileDiff.hunks)t+=r.additionLines,n+=r.deletionLines;if(t===0&&n===0){let r=Z.get(A(e.fileDiff));r&&({additions:t,deletions:n}=r)}return(0,J.jsx)(be,{additions:t,deletions:n,className:`font-mono text-[11px]`})},[Z]),Ft=(0,N.useMemo)(()=>({diffStyle:Te===`split`?`split`:`unified`,lineDiffType:`none`,overflow:M?`wrap`:`scroll`,theme:le(C),themeType:C,stickyHeaders:!0,loadDiffFiles:ot,enableGutterUtility:G&&F===null,enableLineSelection:G&&F===null,onGutterUtilityClick:At,onLineSelectionEnd:At}),[Te,M,C,ot,G,F,At]),It=(0,N.useCallback)(async(e,t)=>{if(Be)return!1;Ve(!0);let n=await t();return Ve(!1),n._tag===`Failure`?(S.add({type:`error`,title:e}),!1):(_(),!0)},[_,Be]),Lt=(0,N.useCallback)(r=>(0,J.jsx)(dt,{thread:r,workspaceRoot:n.workspaceRoot,canReply:W.reply,canResolve:W.resolve,canReact:n.capabilities.reactions===!0,environmentId:e,reference:t,pending:Be,fixPending:o===De({kind:`thread`,thread:r}),fixLabel:c,...f?{onFix:()=>f({kind:`thread`,thread:r})}:{},onLoadMore:async n=>{let i=await it({environmentId:e,input:{...t,threadId:r.id,cursor:n}});return i._tag===`Failure`?(S.add({type:`error`,title:`More comments could not be loaded`}),null):i.value},onReply:n=>It(`Reply could not be posted`,()=>tt({environmentId:e,input:{...t,threadId:r.id,body:n}})),canEditComment:e=>ge(n,{author:e.author,kind:`review-comment`}),onEditComment:(n,r)=>It(`The comment could not be saved`,()=>rt({environmentId:e,input:{...t,commentId:n,kind:`review-comment`,body:r}})),onToggleResolved:()=>void It(`The conversation could not be updated`,()=>nt({environmentId:e,input:{...t,threadId:r.id,resolved:!r.isResolved}})),onReacted:_},`${t.projectId}#${t.number}:${r.id}`),[n,e,c,it,_,f,o,t,tt,W.reply,W.resolve,It,nt,Be,rt]),Rt=(0,N.useCallback)(e=>(0,J.jsxs)(`div`,{className:`py-1 font-sans text-foreground`,children:[e.metadata.threads.map(Lt),e.metadata.pending.map(e=>(0,J.jsx)(lt,{comment:e,onRemove:()=>et(Ze,e.id)},e.id)),e.metadata.draft&&F?(0,J.jsx)(Le,{kind:`draft`,rangeLabel:`${F.path}:${kt(F.position).line}`,text:``,submitLabel:`Add to review`,...g?{secondaryAction:{label:`Add to agent`,onAction:e=>jt(F,e,t=>g({comment:t,request:e}))}}:{},onCancel:()=>{I(null),P(null)},onComment:e=>{$e(Ze,{id:ft(),path:F.path,...F.oldPath===null?{}:{oldPath:F.oldPath},position:F.position,body:e,...n.headSha===void 0?{}:{headSha:n.headSha}}),I(null),P(null)}}):null]}),[$e,n.headSha,F,jt,g,et,Lt,Ze]),zt=W.verdicts.length===0?null:(0,J.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-0 z-10`,children:We?(0,J.jsxs)(`div`,{className:`surface-glass pointer-events-auto absolute inset-x-3 bottom-3 rounded-xl border border-border/60 shadow-lg`,children:[(0,J.jsx)(m,{type:`button`,size:`icon-sm`,variant:`ghost`,"aria-label":`Close review`,className:`absolute right-2 top-2`,onClick:()=>L(!1),children:(0,J.jsx)(re,{className:`size-3.5`})}),(0,J.jsx)(_t,{environmentId:e,reference:t,verdicts:W.verdicts,headSha:n.headSha,onSubmitted:()=>{_(),L(!1)}})]}):(0,J.jsxs)(m,{className:`pointer-events-auto absolute right-4 bottom-3 rounded-full shadow-lg`,onClick:()=>L(!0),size:`compact`,variant:`glass`,children:[(0,J.jsx)(fe,{className:`size-3.5`}),`Review`,Qe.length>0?(0,J.jsx)(`span`,{className:`flex size-4 items-center justify-center rounded-full bg-accent text-[10px] tabular-nums text-accent-foreground`,children:Qe.length}):null]})}),Bt=$.find(e=>e.oid===z);(0,N.useEffect)(()=>{z!==null&&Bt===void 0&&i(null)},[z,i,Bt]);let Vt=Bt?Bt.messageHeadline:`All commits`,Ht=(0,J.jsxs)(`div`,{className:`flex h-10 min-h-10 shrink-0 items-center justify-between gap-2 border-b border-border/60 bg-background px-4 text-xs text-muted-foreground`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[$.length>0?(0,J.jsxs)(p,{children:[(0,J.jsxs)(ee,{className:`inline-flex h-6 min-w-0 max-w-64 items-center gap-1 rounded-md bg-accent px-2 text-xs font-medium text-accent-foreground outline-none transition-colors hover:bg-accent/80 focus-visible:ring-2 focus-visible:ring-ring`,"aria-label":`Diff scope: ${Vt}`,children:[(0,J.jsx)(`span`,{className:`truncate`,children:Vt}),(0,J.jsx)(d,{className:`size-3.5 shrink-0 opacity-70`})]}),(0,J.jsxs)(l,{align:`start`,className:`w-80`,children:[(0,J.jsx)(s,{className:z===null?`bg-foreground/[0.08]`:void 0,onClick:()=>i(null),children:(0,J.jsx)(`span`,{children:`All commits`})}),$.slice(0,ye).map(e=>(0,J.jsxs)(s,{className:e.oid===z?`bg-foreground/[0.08]`:void 0,onClick:()=>i(e.oid),children:[(0,J.jsxs)(x,{children:[(0,J.jsx)(y,{render:(0,J.jsx)(`span`,{className:`min-w-0 truncate`,children:e.messageHeadline})}),(0,J.jsx)(w,{side:`top`,children:e.messageHeadline})]}),(0,J.jsx)(`span`,{className:`ml-auto shrink-0 font-mono text-xs text-muted-foreground`,children:e.oid.slice(0,7)})]},e.oid)),$.length>ye?(0,J.jsx)(s,{closeOnClick:!1,onClick:()=>xe(e=>e+Tt),children:(0,J.jsxs)(`span`,{className:`text-muted-foreground`,children:[`Show more (`,$.length-ye,` left)`]})}):null]})]}):null,(0,J.jsxs)(Se,{className:`shrink-0`,children:[(0,J.jsxs)(`span`,{className:`shrink-0 tabular-nums`,children:[q.length,` `,q.length===1?`file`:`files`,Y===null?``:`+`]}),ct?(0,J.jsxs)(x,{children:[(0,J.jsx)(y,{render:(0,J.jsx)(`span`,{className:`flex shrink-0 items-center`}),children:(0,J.jsx)(b,{"aria-label":`Some of this diff was not shown`,className:`size-3.5 text-amber-600 dark:text-amber-500`})}),(0,J.jsx)(w,{side:`bottom`,children:`The host withheld part of this diff — a binary file, or a change too large to inline.`})]}):null,z!==null&&W.inlineComment?(0,J.jsxs)(x,{children:[(0,J.jsx)(y,{render:(0,J.jsx)(`span`,{className:`flex shrink-0 items-center`}),children:(0,J.jsx)(qe,{"aria-label":`Line comments are written from the whole change`,className:`size-3.5`})}),(0,J.jsx)(w,{side:`bottom`,children:`A comment is anchored to the whole change, so switch to All commits to write one.`})]}):null]})]}),(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[ht.length>0?(0,J.jsxs)(x,{children:[(0,J.jsx)(y,{render:(0,J.jsx)(m,{type:`button`,size:`icon-sm`,variant:`ghost`,"aria-label":vt?`Expand all files`:`Collapse all files`,onClick:St}),children:vt?(0,J.jsx)(de,{className:`size-3.5`}):(0,J.jsx)(ie,{className:`size-3.5`})}),(0,J.jsx)(w,{side:`top`,children:vt?`Expand all files`:`Collapse all files`})]}):null,(0,J.jsxs)(Re,{className:`shrink-0 gap-1`,size:`sm`,value:[Te],onValueChange:e=>{let t=e[0];(t===`stacked`||t===`split`)&&Ee(t)},children:[(0,J.jsx)(ze,{"aria-label":`Stacked diff view`,value:`stacked`,variant:`ghost`,children:(0,J.jsx)(Ae,{className:`size-3.5`})}),(0,J.jsx)(ze,{"aria-label":`Split diff view`,value:`split`,variant:`ghost`,children:(0,J.jsx)(Me,{className:`size-3.5`})})]}),(0,J.jsxs)(x,{children:[(0,J.jsx)(y,{render:(0,J.jsx)(ze,{"aria-label":M?`Disable diff line wrapping`:`Enable diff line wrapping`,variant:`ghost`,size:`sm`,pressed:M,onPressedChange:e=>{Ne(!!e)}}),children:(0,J.jsx)(oe,{className:`size-3.5`})}),(0,J.jsx)(w,{side:`top`,children:M?`Disable line wrapping`:`Enable line wrapping`})]})]})]}),Ut=e=>(0,J.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[Ht,(0,J.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[(0,J.jsx)(`div`,{className:`h-full overflow-auto`,children:e}),zt]})]});if(U.isPending&&V.length===0)return Ut((0,J.jsx)(Pe,{label:`Loading pull request diff...`}));if(U.error&&V.length===0)return Ut((0,J.jsx)(`p`,{className:`px-4 py-5 text-sm text-muted-foreground`,children:U.error}));let Wt=Y===null?K.flatMap(e=>e?.kind===`raw`?[e]:[]):[];if(q.length===0&&Wt.length>0)return Ut((0,J.jsx)(`div`,{className:`space-y-4 px-4 py-5`,children:Wt.map(e=>(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.reason}),(0,J.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-xs`,children:e.text})]},`${e.reason}:${e.text.slice(0,64)}`))}));if(X.length===0&&Y===null)return Ut((0,J.jsx)(`p`,{className:`px-4 py-5 text-sm text-muted-foreground`,children:z===null?`This pull request has no file changes.`:`This commit has no file changes.`}));let Gt=n.reviewThreads.filter(e=>!ut.has(e.id)),Kt=new Map;for(let e of Gt){let t=Kt.get(e.path);t?t.push(e):Kt.set(e.path,[e])}let qt=Wt.length===0?null:(0,J.jsx)(`div`,{className:`space-y-4 border-t border-border/60 px-4 py-5`,children:Wt.map(e=>(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.reason}),(0,J.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-xs`,children:e.text})]},`${e.reason}:${e.text.slice(0,64)}`))});return(0,J.jsx)(Fe,{children:(0,J.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[Ht,Kt.size>0?(0,J.jsxs)(me,{className:`shrink-0 border-b border-border/60`,open:He,onOpenChange:Ue,children:[(0,J.jsx)(`h2`,{children:(0,J.jsxs)(he,{className:`flex w-full items-center gap-1.5 px-4 py-2 text-left text-xs text-muted-foreground`,children:[(0,J.jsx)(`span`,{children:Y===null?`Conversations not on the current diff`:`Conversations not on the diff loaded so far`}),(0,J.jsx)(h,{"aria-hidden":!0,className:te(`size-3.5 transition-transform`,He&&`rotate-90`)}),(0,J.jsx)(`span`,{"aria-hidden":!0,className:`tabular-nums`,children:Gt.length}),(0,J.jsx)(`span`,{className:`sr-only`,children:Gt.length===1?`1 conversation`:`${Gt.length} conversations`})]})}),(0,J.jsx)(pe,{children:(0,J.jsx)(`div`,{className:`max-h-64 space-y-3 overflow-auto px-4 pb-3`,children:[...Kt].map(([e,t])=>(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(x,{children:[(0,J.jsx)(y,{render:(0,J.jsx)(`p`,{className:`truncate px-3 text-xs text-muted-foreground`,children:e})}),(0,J.jsx)(w,{side:`top`,children:e})]}),(0,J.jsx)(`div`,{className:`mt-1 space-y-2`,children:t.map(e=>(0,J.jsxs)(`div`,{children:[e.line===null?null:(0,J.jsxs)(`p`,{className:`px-3 text-xs text-muted-foreground`,children:[`Line `,e.line]}),Lt(e)]},e.id))})]},e))})})]}):null,(0,J.jsxs)(`div`,{className:`relative min-h-0 flex-1`,onClickCapture:e=>{let t=e.nativeEvent.composedPath?.()??[];for(let e of t)if(e instanceof HTMLElement){if(e instanceof HTMLButtonElement||e instanceof HTMLAnchorElement)return;if(e.hasAttribute(`data-diffs-header`)){let t=e.querySelector(`[data-title]`)?.textContent?.trim();if(t===void 0||t===``)return;let n=X.find(e=>A(e.fileDiff)===t);n!==void 0&&xt(n.id);return}}},children:[(0,J.jsx)(je,{className:`h-full overflow-auto [scrollbar-gutter:stable]`,items:X,selectedLines:Ie,onSelectedLinesChange:P,options:Ft,renderCodeViewFooter:Mt,renderHeaderPrefix:Nt,renderHeaderMetadata:Pt,renderAnnotation:Rt,unsafeCSSExtra:Et}),zt]}),qt]})})}export{At as PullRequestCodeTab,At as default};
6
- //# sourceMappingURL=PullRequestCodeTab-DLajHhi9.js.map