@bryanhu/codexly 0.8.0 → 0.9.0

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 (102) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/README.md +1 -1
  3. package/README.zh-CN.md +1 -1
  4. package/dist/{chunk-NAHIDASP.js → chunk-7XFCPPAG.js} +37 -2
  5. package/dist/{chunk-CGZ44LHJ.js → chunk-HEWCIXCQ.js} +45 -12
  6. package/dist/cli.js +5 -4
  7. package/dist/providers/codex/index.js +1 -1
  8. package/dist/server/index.js +2 -2
  9. package/dist/web/.vite/manifest.json +40 -40
  10. package/dist/web/.vite/manifest.json.br +0 -0
  11. package/dist/web/.vite/manifest.json.gz +0 -0
  12. package/dist/web/assets/{chunk-BO2N2NFS-Du4ZYlrF.js → chunk-BO2N2NFS-C9-C2tVf.js} +4 -4
  13. package/dist/web/assets/chunk-BO2N2NFS-C9-C2tVf.js.br +0 -0
  14. package/dist/web/assets/chunk-BO2N2NFS-C9-C2tVf.js.gz +0 -0
  15. package/dist/web/assets/{code-highlighter-CsBwNeVP.js → code-highlighter-Bc0RuXH6.js} +1 -1
  16. package/dist/web/assets/code-highlighter-Bc0RuXH6.js.br +0 -0
  17. package/dist/web/assets/code-highlighter-Bc0RuXH6.js.gz +0 -0
  18. package/dist/web/assets/{code-languages-CPYTSY-8.js → code-languages-Dyc6uij-.js} +1 -1
  19. package/dist/web/assets/code-languages-Dyc6uij-.js.br +0 -0
  20. package/dist/web/assets/code-languages-Dyc6uij-.js.gz +0 -0
  21. package/dist/web/assets/{file-review-dialog-CotyuYId.js → file-review-dialog-DO97in5h.js} +2 -2
  22. package/dist/web/assets/file-review-dialog-DO97in5h.js.br +0 -0
  23. package/dist/web/assets/file-review-dialog-DO97in5h.js.gz +0 -0
  24. package/dist/web/assets/{git-history-panel-CUvtjCk7.js → git-history-panel-CqKWTKwH.js} +2 -2
  25. package/dist/web/assets/git-history-panel-CqKWTKwH.js.br +0 -0
  26. package/dist/web/assets/git-history-panel-CqKWTKwH.js.gz +0 -0
  27. package/dist/web/assets/global-settings-dialog-CcncTTuP.js +1 -0
  28. package/dist/web/assets/global-settings-dialog-CcncTTuP.js.br +0 -0
  29. package/dist/web/assets/global-settings-dialog-CcncTTuP.js.gz +0 -0
  30. package/dist/web/assets/{highlighted-body-OFNGDK62-BoYHrzPS.js → highlighted-body-OFNGDK62-D6sPM03A.js} +1 -1
  31. package/dist/web/assets/highlighted-body-OFNGDK62-D6sPM03A.js.br +0 -0
  32. package/dist/web/assets/highlighted-body-OFNGDK62-D6sPM03A.js.gz +0 -0
  33. package/dist/web/assets/{index-zqp46jqN.js → index-D07js1WI.js} +3 -3
  34. package/dist/web/assets/index-D07js1WI.js.br +0 -0
  35. package/dist/web/assets/index-D07js1WI.js.gz +0 -0
  36. package/dist/web/assets/{lazy-message-response-CG0j4yJD.js → lazy-message-response-BCtctszr.js} +2 -2
  37. package/dist/web/assets/lazy-message-response-BCtctszr.js.br +0 -0
  38. package/dist/web/assets/lazy-message-response-BCtctszr.js.gz +0 -0
  39. package/dist/web/assets/mermaid-GHXKKRXX-DPTLsg8Y.js +1 -0
  40. package/dist/web/assets/mermaid-GHXKKRXX-DPTLsg8Y.js.br +1 -0
  41. package/dist/web/assets/mermaid-GHXKKRXX-DPTLsg8Y.js.gz +0 -0
  42. package/dist/web/assets/{message-response-HPRWZrlE.js → message-response-Bx5gf4FU.js} +1 -1
  43. package/dist/web/assets/message-response-Bx5gf4FU.js.br +0 -0
  44. package/dist/web/assets/message-response-Bx5gf4FU.js.gz +0 -0
  45. package/dist/web/assets/{patch-diff-viewer-CMgdM7ny.js → patch-diff-viewer-DGu83IBP.js} +2 -2
  46. package/dist/web/assets/patch-diff-viewer-DGu83IBP.js.br +0 -0
  47. package/dist/web/assets/patch-diff-viewer-DGu83IBP.js.gz +0 -0
  48. package/dist/web/assets/{project-file-popup-page-DLcWrRDd.js → project-file-popup-page-CVtCt_XU.js} +1 -1
  49. package/dist/web/assets/project-file-popup-page-CVtCt_XU.js.br +0 -0
  50. package/dist/web/assets/project-file-popup-page-CVtCt_XU.js.gz +0 -0
  51. package/dist/web/assets/{project-source-panel-BAOR4fTj.js → project-source-panel-BEBbL2Id.js} +3 -3
  52. package/dist/web/assets/project-source-panel-BEBbL2Id.js.br +0 -0
  53. package/dist/web/assets/project-source-panel-BEBbL2Id.js.gz +0 -0
  54. package/dist/web/assets/{shiki-bundle-BD1THhST.js → shiki-bundle-4bLwaf7_.js} +1 -1
  55. package/dist/web/assets/shiki-bundle-4bLwaf7_.js.br +0 -0
  56. package/dist/web/assets/shiki-bundle-4bLwaf7_.js.gz +0 -0
  57. package/dist/web/assets/{workbench-inspector-changes-NQ5C_cXN.js → workbench-inspector-changes-BLY-8Tfn.js} +1 -1
  58. package/dist/web/assets/workbench-inspector-changes-BLY-8Tfn.js.br +0 -0
  59. package/dist/web/assets/workbench-inspector-changes-BLY-8Tfn.js.gz +0 -0
  60. package/dist/web/assets/{workbench-shell-B5fsrpDH.js → workbench-shell-DSfvZh4Q.js} +4 -4
  61. package/dist/web/assets/workbench-shell-DSfvZh4Q.js.br +0 -0
  62. package/dist/web/assets/workbench-shell-DSfvZh4Q.js.gz +0 -0
  63. package/dist/web/index.html +1 -1
  64. package/dist/web/index.html.br +0 -0
  65. package/dist/web/index.html.gz +0 -0
  66. package/package.json +1 -1
  67. package/dist/web/assets/chunk-BO2N2NFS-Du4ZYlrF.js.br +0 -0
  68. package/dist/web/assets/chunk-BO2N2NFS-Du4ZYlrF.js.gz +0 -0
  69. package/dist/web/assets/code-highlighter-CsBwNeVP.js.br +0 -0
  70. package/dist/web/assets/code-highlighter-CsBwNeVP.js.gz +0 -0
  71. package/dist/web/assets/code-languages-CPYTSY-8.js.br +0 -0
  72. package/dist/web/assets/code-languages-CPYTSY-8.js.gz +0 -0
  73. package/dist/web/assets/file-review-dialog-CotyuYId.js.br +0 -0
  74. package/dist/web/assets/file-review-dialog-CotyuYId.js.gz +0 -0
  75. package/dist/web/assets/git-history-panel-CUvtjCk7.js.br +0 -0
  76. package/dist/web/assets/git-history-panel-CUvtjCk7.js.gz +0 -0
  77. package/dist/web/assets/global-settings-dialog-B8gBgus7.js +0 -1
  78. package/dist/web/assets/global-settings-dialog-B8gBgus7.js.br +0 -0
  79. package/dist/web/assets/global-settings-dialog-B8gBgus7.js.gz +0 -0
  80. package/dist/web/assets/highlighted-body-OFNGDK62-BoYHrzPS.js.br +0 -0
  81. package/dist/web/assets/highlighted-body-OFNGDK62-BoYHrzPS.js.gz +0 -0
  82. package/dist/web/assets/index-zqp46jqN.js.br +0 -0
  83. package/dist/web/assets/index-zqp46jqN.js.gz +0 -0
  84. package/dist/web/assets/lazy-message-response-CG0j4yJD.js.br +0 -0
  85. package/dist/web/assets/lazy-message-response-CG0j4yJD.js.gz +0 -0
  86. package/dist/web/assets/mermaid-GHXKKRXX-BRvawXSo.js +0 -1
  87. package/dist/web/assets/mermaid-GHXKKRXX-BRvawXSo.js.br +0 -0
  88. package/dist/web/assets/mermaid-GHXKKRXX-BRvawXSo.js.gz +0 -0
  89. package/dist/web/assets/message-response-HPRWZrlE.js.br +0 -0
  90. package/dist/web/assets/message-response-HPRWZrlE.js.gz +0 -0
  91. package/dist/web/assets/patch-diff-viewer-CMgdM7ny.js.br +0 -0
  92. package/dist/web/assets/patch-diff-viewer-CMgdM7ny.js.gz +0 -0
  93. package/dist/web/assets/project-file-popup-page-DLcWrRDd.js.br +0 -0
  94. package/dist/web/assets/project-file-popup-page-DLcWrRDd.js.gz +0 -0
  95. package/dist/web/assets/project-source-panel-BAOR4fTj.js.br +0 -0
  96. package/dist/web/assets/project-source-panel-BAOR4fTj.js.gz +0 -0
  97. package/dist/web/assets/shiki-bundle-BD1THhST.js.br +0 -0
  98. package/dist/web/assets/shiki-bundle-BD1THhST.js.gz +0 -0
  99. package/dist/web/assets/workbench-inspector-changes-NQ5C_cXN.js.br +0 -0
  100. package/dist/web/assets/workbench-inspector-changes-NQ5C_cXN.js.gz +0 -0
  101. package/dist/web/assets/workbench-shell-B5fsrpDH.js.br +0 -0
  102. package/dist/web/assets/workbench-shell-B5fsrpDH.js.gz +0 -0
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/message-response-HPRWZrlE.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-runtime-CVaUQXZF.js","assets/dist-Cib4eRMP.js","assets/bundle-mjs-rHxsej31.js","assets/dist-CaAkD3UC.js","assets/es2015-Ru0tXs3G.js","assets/prompt-reference-token-DvdGBAjJ.js","assets/context-menu-B-oGuenT.js","assets/index-zqp46jqN.js","assets/tooltip-D3tWiAWP.js","assets/useInfiniteQuery-Bu9BuQ4a.js","assets/checkbox-nYXSVVQi.js","assets/check-BOdEYGxk.js","assets/loader-circle-B1P6CG7G.js","assets/file-tree-CqppWhX1.js","assets/provider-connection-queries-CSumXgIL.js","assets/index-C4ygqQbj.css","assets/chunk-BO2N2NFS-Du4ZYlrF.js","assets/lib-DrPFkMXk.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{w as r}from"./dist-Cib4eRMP.js";import{dt as i}from"./index-zqp46jqN.js";var a=r(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),o=e(t(),1),s=n();function c(){return i(()=>import(`./message-response-HPRWZrlE.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]))}var l=(0,o.lazy)(c);function u({children:e=``,className:t=``,...n}){return(0,s.jsx)(o.Suspense,{fallback:(0,s.jsx)(`div`,{className:`size-full whitespace-pre-wrap break-words ${t}`,children:(0,s.jsx)(`p`,{children:e})}),children:(0,s.jsx)(l,{className:t,...n,children:e})})}export{a as n,u as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/message-response-Bx5gf4FU.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-runtime-CVaUQXZF.js","assets/dist-Cib4eRMP.js","assets/bundle-mjs-rHxsej31.js","assets/dist-CaAkD3UC.js","assets/es2015-Ru0tXs3G.js","assets/prompt-reference-token-DvdGBAjJ.js","assets/context-menu-B-oGuenT.js","assets/index-D07js1WI.js","assets/tooltip-D3tWiAWP.js","assets/useInfiniteQuery-Bu9BuQ4a.js","assets/checkbox-nYXSVVQi.js","assets/check-BOdEYGxk.js","assets/loader-circle-B1P6CG7G.js","assets/file-tree-CqppWhX1.js","assets/provider-connection-queries-CSumXgIL.js","assets/index-C4ygqQbj.css","assets/chunk-BO2N2NFS-C9-C2tVf.js","assets/lib-DrPFkMXk.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{w as r}from"./dist-Cib4eRMP.js";import{dt as i}from"./index-D07js1WI.js";var a=r(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),o=e(t(),1),s=n();function c(){return i(()=>import(`./message-response-Bx5gf4FU.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]))}var l=(0,o.lazy)(c);function u({children:e=``,className:t=``,...n}){return(0,s.jsx)(o.Suspense,{fallback:(0,s.jsx)(`div`,{className:`size-full whitespace-pre-wrap break-words ${t}`,children:(0,s.jsx)(`p`,{children:e})}),children:(0,s.jsx)(l,{className:t,...n,children:e})})}export{a as n,u as t};
@@ -0,0 +1 @@
1
+ import{c as e}from"./chunk-BO2N2NFS-C9-C2tVf.js";export{e as Mermaid};
@@ -0,0 +1 @@
1
+ �"�import{c as e}from"./chunk-BO2N2NFS-C9-C2tVf.js";export{e as Mermaid};
@@ -1,4 +1,4 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,r as n,t as r}from"./react-runtime-CVaUQXZF.js";import{D as i,v as a}from"./dist-Cib4eRMP.js";import{v as o}from"./dist-CaAkD3UC.js";import{n as s,t as c}from"./prompt-reference-token-DvdGBAjJ.js";import{c as l,n as u,r as d,t as f}from"./context-menu-B-oGuenT.js";import{rt as p}from"./index-zqp46jqN.js";import{a as m,i as h,n as g,o as _,s as ee}from"./chunk-BO2N2NFS-Du4ZYlrF.js";var v=e(t(),1),te=e(n(),1),y=r(),b=/^::code-comment\{(.*)\}\s*$/,x=/([a-z]+)=(?:"((?:\\.|[^"\\])*)"|(\d+))/g,S=[`/apps/`,`/packages/`,`/src/`,`/tests/`,`/.superwork/`],C=8,w=12;function ne(e){try{return JSON.parse(`"${e}"`)}catch{return e}}function T(e){let t=new Map;for(let n of e.matchAll(x)){let e=n[1],r=n[2],i=n[3];e!==void 0&&t.set(e,r===void 0?i??``:ne(r))}let n=t.get(`body`),r=t.get(`file`),i=t.get(`title`);if(n===void 0||r===void 0||i===void 0)return null;let a=e=>{let n=t.get(e);return n===void 0?null:Number.parseInt(n,10)};return{body:n,end:a(`end`),file:r,priority:a(`priority`),start:a(`start`),title:i}}function E(e){let t=b.exec(e)?.[1];return t===void 0?null:T(t)}function D(e){for(let t of S){let n=e.indexOf(t);if(n>=0)return e.slice(n+1)}return e.split(/[\\/]/).at(-1)??e}function O(e){let t=D(e.file);return e.start===null?t:`${t}:${e.end===null||e.end===e.start?String(e.start):`${String(e.start)}-${String(e.end)}`}`}function k(e){return e.replace(/^\[P\d+\]\s*/,``)}function A({comment:e,commentIndex:t}){let n=(0,v.useRef)(null),r=(0,v.useRef)(null),i=(0,v.useId)(),[a,o]=(0,v.useState)(!1),[s,c]=(0,v.useState)(),l=k(e.title),u=O(e),d=(0,v.useCallback)(()=>{let e=n.current,t=r.current;if(e===null||t===null)return;let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=Math.max(w,window.innerWidth-a.width-w),s=Math.min(Math.max(i.left,w),o),l=i.bottom+C+a.height<=window.innerHeight-w?i.bottom+C:i.top-a.height-C,u=Math.max(w,window.innerHeight-a.height-w);c({left:s,top:Math.min(Math.max(l,w),u)})},[]);return(0,v.useLayoutEffect)(()=>{if(!a){c(void 0);return}return d(),window.addEventListener(`resize`,d),window.addEventListener(`scroll`,d,!0),()=>{window.removeEventListener(`resize`,d),window.removeEventListener(`scroll`,d,!0)}},[a,d]),(0,y.jsxs)(`li`,{"aria-describedby":a?i:void 0,className:`flex min-w-0 cursor-pointer items-center gap-3 rounded-control px-1 py-2 text-body-small transition-colors hover:bg-control-hover focus-visible:bg-control-hover`,onBlur:()=>{o(!1)},onFocus:()=>{o(!0)},onMouseEnter:()=>{o(!0)},onMouseLeave:()=>{o(!1)},ref:n,tabIndex:0,children:[(0,y.jsx)(`span`,{className:`shrink-0 rounded-control border border-separator-strong px-1.5 py-0.5 text-label text-muted-foreground`,children:e.priority===null?`--`:`P${String(e.priority)}`}),(0,y.jsx)(`span`,{className:`min-w-0 shrink font-semibold text-foreground`,children:l}),(0,y.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground`,children:u}),a&&typeof document<`u`?(0,te.createPortal)((0,y.jsxs)(`div`,{className:`pointer-events-none fixed z-50 w-[min(28rem,calc(100vw-1.5rem))] rounded-surface border border-separator-strong bg-raised p-3 text-left shadow-floating`,"data-floating-surface":!0,id:i,ref:r,role:`tooltip`,style:s===void 0?{left:0,top:0,visibility:`hidden`}:{left:s.left,top:s.top},children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(`span`,{className:`rounded-control border border-separator-strong px-1.5 py-0.5 text-label text-muted-foreground`,children:e.priority===null?`--`:`P${String(e.priority)}`}),(0,y.jsx)(`p`,{className:`font-semibold text-foreground`,children:l})]}),(0,y.jsx)(`p`,{className:`mt-2 break-all font-mono text-meta text-muted-foreground`,children:u}),(0,y.jsx)(h,{className:`mt-2 text-body-small leading-5 text-foreground [&_a]:text-brand [&_a]:underline [&_a]:underline-offset-2 [&_code]:font-mono [&_code]:text-body-small [&>*:first-child]:mt-0 [&>*:last-child]:mb-0`,controls:!1,children:e.body})]}),document.body):null]},`${e.file}:${String(e.start)}:${String(t)}`)}function j({comments:e}){let{t}=i(`conversation`);return e.length===0?null:(0,y.jsxs)(`section`,{"aria-label":t(`agentComponents.codeComments`,{count:e.length}),className:`my-4 overflow-hidden rounded-surface border border-separator-strong bg-raised`,"data-code-comments":`true`,children:[(0,y.jsxs)(`header`,{className:`flex min-h-12 items-center gap-3 border-b border-separator px-4 text-body font-semibold`,children:[(0,y.jsx)(`span`,{className:`grid size-8 place-items-center rounded-control bg-control`,children:(0,y.jsx)(p,{className:`size-4 text-muted-foreground`,"aria-hidden":`true`})}),(0,y.jsx)(`span`,{children:t(`agentComponents.codeComments`,{count:e.length})})]}),(0,y.jsx)(`ol`,{className:`divide-y divide-separator px-4 py-1`,children:e.map((e,t)=>(0,y.jsx)(A,{comment:e,commentIndex:t},`${e.file}:${String(e.start)}:${String(t)}`))})]})}var M=/(?<=\]\()(?:[a-z]:[\\/]|\\\\)[^)\r\n]+?\.[a-z0-9]+(?::\d+(?::\d+)?)?(?=\))/gi,N=/(?<=\]\()(?![a-z][a-z0-9+.-]*:|\/|#)[^)\r\n]+?\.[a-z0-9]+(?::\d+(?::\d+)?)?(?=\))/gi,P=/(?<=\]\()\/(?!\/)[^)\r\n]+?\.[a-z0-9]+(?::\d+(?::\d+)?)?(?=\))/gi,F=/\s+|\S+/gu,I=/^\s+$/u,L=/\n{3,}/g,R=/\[\^[\w-]{1,200}\](?!:)/,z=/\[\^[\w-]{1,200}\]:/,B=`/__codexly_unc__/`,V=`/__codexly_relative__/`;function H(e){return e.replace(M,e=>{let t=e.replaceAll(`\\`,`/`);return/^[a-z]:/i.test(t)?`/${t}`:`${B}${t.slice(2)}`}).replace(N,e=>`${V}${e}`).replace(P,e=>e.replaceAll(` `,`%20`).replaceAll(` `,`%09`))}var U=class e{output;trailingWhitespace;constructor(e=``,t=``){this.output=e,this.trailingWhitespace=t}append(e){let t=[],n=this.output.length>0;for(let r of e.matchAll(F)){let e=r[0];if(I.test(e)){this.trailingWhitespace+=e;continue}n&&this.trailingWhitespace.length>0&&t.push(this.trailingWhitespace.replace(L,`
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,r as n,t as r}from"./react-runtime-CVaUQXZF.js";import{D as i,v as a}from"./dist-Cib4eRMP.js";import{v as o}from"./dist-CaAkD3UC.js";import{n as s,t as c}from"./prompt-reference-token-DvdGBAjJ.js";import{c as l,n as u,r as d,t as f}from"./context-menu-B-oGuenT.js";import{rt as p}from"./index-D07js1WI.js";import{a as m,i as h,n as g,o as _,s as ee}from"./chunk-BO2N2NFS-C9-C2tVf.js";var v=e(t(),1),te=e(n(),1),y=r(),b=/^::code-comment\{(.*)\}\s*$/,x=/([a-z]+)=(?:"((?:\\.|[^"\\])*)"|(\d+))/g,S=[`/apps/`,`/packages/`,`/src/`,`/tests/`,`/.superwork/`],C=8,w=12;function ne(e){try{return JSON.parse(`"${e}"`)}catch{return e}}function T(e){let t=new Map;for(let n of e.matchAll(x)){let e=n[1],r=n[2],i=n[3];e!==void 0&&t.set(e,r===void 0?i??``:ne(r))}let n=t.get(`body`),r=t.get(`file`),i=t.get(`title`);if(n===void 0||r===void 0||i===void 0)return null;let a=e=>{let n=t.get(e);return n===void 0?null:Number.parseInt(n,10)};return{body:n,end:a(`end`),file:r,priority:a(`priority`),start:a(`start`),title:i}}function E(e){let t=b.exec(e)?.[1];return t===void 0?null:T(t)}function D(e){for(let t of S){let n=e.indexOf(t);if(n>=0)return e.slice(n+1)}return e.split(/[\\/]/).at(-1)??e}function O(e){let t=D(e.file);return e.start===null?t:`${t}:${e.end===null||e.end===e.start?String(e.start):`${String(e.start)}-${String(e.end)}`}`}function k(e){return e.replace(/^\[P\d+\]\s*/,``)}function A({comment:e,commentIndex:t}){let n=(0,v.useRef)(null),r=(0,v.useRef)(null),i=(0,v.useId)(),[a,o]=(0,v.useState)(!1),[s,c]=(0,v.useState)(),l=k(e.title),u=O(e),d=(0,v.useCallback)(()=>{let e=n.current,t=r.current;if(e===null||t===null)return;let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=Math.max(w,window.innerWidth-a.width-w),s=Math.min(Math.max(i.left,w),o),l=i.bottom+C+a.height<=window.innerHeight-w?i.bottom+C:i.top-a.height-C,u=Math.max(w,window.innerHeight-a.height-w);c({left:s,top:Math.min(Math.max(l,w),u)})},[]);return(0,v.useLayoutEffect)(()=>{if(!a){c(void 0);return}return d(),window.addEventListener(`resize`,d),window.addEventListener(`scroll`,d,!0),()=>{window.removeEventListener(`resize`,d),window.removeEventListener(`scroll`,d,!0)}},[a,d]),(0,y.jsxs)(`li`,{"aria-describedby":a?i:void 0,className:`flex min-w-0 cursor-pointer items-center gap-3 rounded-control px-1 py-2 text-body-small transition-colors hover:bg-control-hover focus-visible:bg-control-hover`,onBlur:()=>{o(!1)},onFocus:()=>{o(!0)},onMouseEnter:()=>{o(!0)},onMouseLeave:()=>{o(!1)},ref:n,tabIndex:0,children:[(0,y.jsx)(`span`,{className:`shrink-0 rounded-control border border-separator-strong px-1.5 py-0.5 text-label text-muted-foreground`,children:e.priority===null?`--`:`P${String(e.priority)}`}),(0,y.jsx)(`span`,{className:`min-w-0 shrink font-semibold text-foreground`,children:l}),(0,y.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground`,children:u}),a&&typeof document<`u`?(0,te.createPortal)((0,y.jsxs)(`div`,{className:`pointer-events-none fixed z-50 w-[min(28rem,calc(100vw-1.5rem))] rounded-surface border border-separator-strong bg-raised p-3 text-left shadow-floating`,"data-floating-surface":!0,id:i,ref:r,role:`tooltip`,style:s===void 0?{left:0,top:0,visibility:`hidden`}:{left:s.left,top:s.top},children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(`span`,{className:`rounded-control border border-separator-strong px-1.5 py-0.5 text-label text-muted-foreground`,children:e.priority===null?`--`:`P${String(e.priority)}`}),(0,y.jsx)(`p`,{className:`font-semibold text-foreground`,children:l})]}),(0,y.jsx)(`p`,{className:`mt-2 break-all font-mono text-meta text-muted-foreground`,children:u}),(0,y.jsx)(h,{className:`mt-2 text-body-small leading-5 text-foreground [&_a]:text-brand [&_a]:underline [&_a]:underline-offset-2 [&_code]:font-mono [&_code]:text-body-small [&>*:first-child]:mt-0 [&>*:last-child]:mb-0`,controls:!1,children:e.body})]}),document.body):null]},`${e.file}:${String(e.start)}:${String(t)}`)}function j({comments:e}){let{t}=i(`conversation`);return e.length===0?null:(0,y.jsxs)(`section`,{"aria-label":t(`agentComponents.codeComments`,{count:e.length}),className:`my-4 overflow-hidden rounded-surface border border-separator-strong bg-raised`,"data-code-comments":`true`,children:[(0,y.jsxs)(`header`,{className:`flex min-h-12 items-center gap-3 border-b border-separator px-4 text-body font-semibold`,children:[(0,y.jsx)(`span`,{className:`grid size-8 place-items-center rounded-control bg-control`,children:(0,y.jsx)(p,{className:`size-4 text-muted-foreground`,"aria-hidden":`true`})}),(0,y.jsx)(`span`,{children:t(`agentComponents.codeComments`,{count:e.length})})]}),(0,y.jsx)(`ol`,{className:`divide-y divide-separator px-4 py-1`,children:e.map((e,t)=>(0,y.jsx)(A,{comment:e,commentIndex:t},`${e.file}:${String(e.start)}:${String(t)}`))})]})}var M=/(?<=\]\()(?:[a-z]:[\\/]|\\\\)[^)\r\n]+?\.[a-z0-9]+(?::\d+(?::\d+)?)?(?=\))/gi,N=/(?<=\]\()(?![a-z][a-z0-9+.-]*:|\/|#)[^)\r\n]+?\.[a-z0-9]+(?::\d+(?::\d+)?)?(?=\))/gi,P=/(?<=\]\()\/(?!\/)[^)\r\n]+?\.[a-z0-9]+(?::\d+(?::\d+)?)?(?=\))/gi,F=/\s+|\S+/gu,I=/^\s+$/u,L=/\n{3,}/g,R=/\[\^[\w-]{1,200}\](?!:)/,z=/\[\^[\w-]{1,200}\]:/,B=`/__codexly_unc__/`,V=`/__codexly_relative__/`;function H(e){return e.replace(M,e=>{let t=e.replaceAll(`\\`,`/`);return/^[a-z]:/i.test(t)?`/${t}`:`${B}${t.slice(2)}`}).replace(N,e=>`${V}${e}`).replace(P,e=>e.replaceAll(` `,`%20`).replaceAll(` `,`%09`))}var U=class e{output;trailingWhitespace;constructor(e=``,t=``){this.output=e,this.trailingWhitespace=t}append(e){let t=[],n=this.output.length>0;for(let r of e.matchAll(F)){let e=r[0];if(I.test(e)){this.trailingWhitespace+=e;continue}n&&this.trailingWhitespace.length>0&&t.push(this.trailingWhitespace.replace(L,`
2
2
 
3
3
  `)),this.trailingWhitespace=``,t.push(e),n=!0}t.length>0&&(this.output+=t.join(``))}clone(){return new e(this.output,this.trailingWhitespace)}materialize(){return this.output}};function W(e,t,n){let r=E(e);return r===null?n.discardBlankLines&&e.trim().length===0?!0:(n.whitespace.append(`${H(e)}${t?`
4
4
  `:``}`),!1):(n.comments.push(r),t&&n.whitespace.append(`
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/shiki-bundle-BD1THhST.js","assets/rolldown-runtime-QTnfLwEv.js","assets/engine-compile-Bqjaa_8Z.js","assets/lib-DrPFkMXk.js","assets/code-languages-CPYTSY-8.js","assets/index-zqp46jqN.js","assets/react-runtime-CVaUQXZF.js","assets/dist-Cib4eRMP.js","assets/bundle-mjs-rHxsej31.js","assets/tooltip-D3tWiAWP.js","assets/useInfiniteQuery-Bu9BuQ4a.js","assets/checkbox-nYXSVVQi.js","assets/check-BOdEYGxk.js","assets/loader-circle-B1P6CG7G.js","assets/dist-CaAkD3UC.js","assets/es2015-Ru0tXs3G.js","assets/file-tree-CqppWhX1.js","assets/provider-connection-queries-CSumXgIL.js","assets/index-C4ygqQbj.css"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{dt as r}from"./index-zqp46jqN.js";import{c as i,s as a,t as o}from"./engine-compile-Bqjaa_8Z.js";import{n as s,r as c}from"./code-languages-CPYTSY-8.js";import{n as l,r as u,t as d}from"./shiki-bundle-BD1THhST.js";import{r as f}from"./file-change-D7aZLgtG.js";var p=`diffs-container`,m=/(?=^From [a-f0-9]+ .+$)/m,h=/(?=^diff --git)/gm,g=/^(---|\+\+\+)\s+([^\t\r\n]+)/,_=/^(---|\+\+\+)\s+[ab]\/([^\t\r\n]+)/,v=/^diff --git (?:"a\/(.+?)"|a\/(.+?)) (?:"b\/(.+?)"|b\/(.+?))$/,y=/^index ([0-9a-f]+)\.\.([0-9a-f]+)(?: (\d+))?$/i,b=`header-prefix`,x=`header-metadata`,S=`header-custom`,C={dark:`pierre-dark`,light:`pierre-light`},w=`data-theme-css`,T=`data-unsafe-css`,E=`data-diffs-scrollbar-measure`,D=`--diffs-scrollbar-gutter-measured`,O=1e5,ee={hunkLineCount:50,lineHeight:20,diffHeaderHeight:44,spacing:8};({...ee});var te=Object.freeze({fromStart:0,fromEnd:0}),k={startingLine:0,totalLines:1/0,bufferBefore:0,bufferAfter:0},A={startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:0};function j(e,t,n){if(e===t||e==null||t==null)return e===t;let r=new Set(n),i=Object.keys(e),a=new Set(Object.keys(t));for(let n of i)if(a.delete(n),!r.has(n)&&(!(n in t)||e[n]!==t[n]))return!1;for(let e of Array.from(a))if(!r.has(e))return!1;return!0}function ne(e,t){return e==null||t==null||typeof e==`string`||typeof t==`string`?e===t:e.dark===t.dark&&e.light===t.light}function re(e,t){let n=e?.theme??C,r=t?.theme??C,i=ie(e),a=ie(t);return ne(n,r)&&j(e,t,[`theme`,`parseDiffOptions`])&&j(i,a)}function ie(e){if(e!=null&&`parseDiffOptions`in e)return e.parseDiffOptions}function ae(e,t){return e?.start===t?.start&&e?.end===t?.end&&e?.side===t?.side&&e?.endSide===t?.endSide}function M(e){return{type:`text`,value:e}}function N({tagName:e,children:t=[],properties:n={}}){return{type:`element`,tagName:e,properties:n,children:t}}function P({name:e,width:t=16,height:n=16,properties:r}){return N({tagName:`svg`,properties:{width:t,height:n,viewBox:`0 0 16 16`,...r},children:[N({tagName:`use`,properties:{href:`#${e.replace(/^#/,``)}`}})]})}function oe(e){let t=e.children[0];for(;t!=null;){if(t.type===`element`&&t.tagName===`code`)return t;t=`children`in t?t.children[0]:null}}function se(e){return N({tagName:`div`,properties:{"data-gutter":``},children:e})}function ce(e,t,n,r={}){return N({tagName:`div`,properties:{"data-line-type":e,"data-column-number":t,"data-line-index":n,...r},children:t==null?void 0:[N({tagName:`span`,properties:{"data-line-number-content":``},children:[M(`${t}`)]})]})}function F(e,t,n){return N({tagName:`div`,properties:{"data-gutter-buffer":t,"data-buffer-size":n,"data-line-type":t===`annotation`?void 0:e,style:t===`annotation`?`grid-row: span ${n};`:`grid-row: span ${n};min-height:calc(${n} * 1lh);`}})}function le(){return N({tagName:`button`,properties:{"data-utility-button":``,type:`button`},children:[P({name:`diffs-icon-plus`,properties:{"data-icon":``}})]})}function ue(e,t){return e.lineNumber===t.lineNumber&&e.side===t.side}var de=class{mode;options;hoveredLine;hoveredToken;pre;gutterUtilityLine;gutterUtilityContainer;gutterUtilityButton;gutterUtilitySlot;interactiveLinesAttr=!1;interactiveLineNumbersAttr=!1;hasPointerListeners=!1;hasDocumentPointerListeners=!1;selectedRange=null;proposedSelectedRange;renderedSelectionRange;selectionAnchor;queuedSelectionRender;pointerSession={mode:`idle`};constructor(e,t){this.mode=e,this.options=t}setOptions(e){this.options=e}cleanUp(){this.pre?.removeEventListener(`click`,this.handlePointerClick),this.pre?.removeEventListener(`pointerdown`,this.handlePointerDown),this.pre?.removeEventListener(`pointermove`,this.handlePointerMove),this.pre?.removeEventListener(`pointerleave`,this.handlePointerLeave),this.pre?.removeAttribute(`data-interactive-lines`),this.pre?.removeAttribute(`data-interactive-line-numbers`),this.pre=void 0,this.gutterUtilityContainer?.remove(),this.gutterUtilityLine=void 0,this.gutterUtilityContainer=void 0,this.gutterUtilityButton=void 0,this.gutterUtilitySlot=void 0,this.clearHoveredLine(),this.clearHoveredToken(),this.detachDocumentPointerListeners(),this.clearPointerSession(),this.queuedSelectionRender!=null&&(cancelAnimationFrame(this.queuedSelectionRender),this.queuedSelectionRender=void 0),this.interactiveLinesAttr=!1,this.interactiveLineNumbersAttr=!1,this.hasPointerListeners=!1}setup(e){this.setSelectionDirty();let{usesCustomGutterUtility:t=!1,enableGutterUtility:n=!1}=this.options;this.pre!==e&&(this.cleanUp(),this.pre=e),n?this.ensureGutterUtilityNode(t):this.gutterUtilityContainer!=null&&(this.gutterUtilityContainer.remove(),this.gutterUtilityLine=void 0,this.gutterUtilityContainer=void 0,this.gutterUtilityButton=void 0,this.gutterUtilitySlot=void 0,this.pointerSession.mode===`gutterSelecting`&&(this.clearPointerSession(),this.detachDocumentPointerListeners())),this.syncPointerListeners(e),this.updateInteractiveLineAttributes(),this.renderSelection(),this.placeUtility()}setSelectionDirty(){this.renderedSelectionRange=void 0}isSelectionDirty(){return this.renderedSelectionRange===null}setSelection(e,t){let n=!(e===this.selectedRange||ae(e??void 0,this.selectedRange??void 0));!this.isSelectionDirty()&&!n||(this.proposedSelectedRange=void 0,this.selectedRange=e,this.renderSelection(),this.placeUtility(),n&&t?.notify!==!1&&this.notifySelectionCommitted())}getSelection(){return this.selectedRange}getHoveredLine=()=>{let e=this.gutterUtilityLine??this.hoveredLine;if(e!=null){if(this.mode===`diff`&&e.type===`diff-line`)return{lineNumber:e.lineNumber,side:e.annotationSide};if(this.mode===`file`&&e.type===`line`)return{lineNumber:e.lineNumber}}};handlePointerClick=e=>{let{onHunkExpand:t,onLineClick:n,onLineNumberClick:r,onTokenClick:i,onMergeConflictActionClick:a}=this.options;t==null&&n==null&&r==null&&a==null&&i==null||this.options.onGutterUtilityClick!=null&&Oe(e.composedPath())||(I(this.options.__debugPointerEvents,`click`,`FileDiff.DEBUG.handlePointerClick:`,e),this.handlePointerEvent({eventType:`click`,event:e}))};handlePointerMove=e=>{if(e.pointerType!==`mouse`)return;let{lineHoverHighlight:t=`disabled`,onLineEnter:n,onLineLeave:r,onTokenEnter:i,onTokenLeave:a,enableGutterUtility:o=!1}=this.options;t===`disabled`&&!o&&n==null&&r==null&&i==null&&a==null||(I(this.options.__debugPointerEvents,`move`,`FileDiff.DEBUG.handlePointerMove:`,e),this.handlePointerEvent({eventType:`move`,event:e}))};handlePointerLeave=e=>{let{__debugPointerEvents:t}=this.options;if(I(t,`move`,`FileDiff.DEBUG.handlePointerLeave: no event`),this.hoveredLine==null&&this.hoveredToken==null){I(t,`move`,`FileDiff.DEBUG.handlePointerLeave: returned early, no hovered line or token`);return}this.hoveredToken!=null&&(this.options.onTokenLeave?.(this.hoveredToken,e),this.clearHoveredToken()),this.hoveredLine!=null&&(this.options.onLineLeave?.({...this.hoveredLine,event:e}),this.clearHoveredLine()),this.placeUtility()};handlePointerEvent({eventType:e,event:t}){let{__debugPointerEvents:n}=this.options,r=t.composedPath();I(n,e,`FileDiff.DEBUG.handlePointerEvent:`,{eventType:e,composedPath:r});let i=this.resolvePointerTarget(r);I(n,e,`FileDiff.DEBUG.handlePointerEvent: resolvePointerTarget result:`,i);let{onLineClick:a,onLineNumberClick:o,onLineEnter:s,onLineLeave:c,onTokenClick:l,onTokenEnter:u,onTokenLeave:d,onHunkExpand:f,onMergeConflictActionClick:p}=this.options;switch(e){case`move`:{let e=ge(i)&&this.hoveredLine?.lineElement===i.lineElement;he(i)&&this.hoveredToken?.tokenElement===i.tokenElement||(this.hoveredToken!=null&&(d?.(this.hoveredToken,t),this.clearHoveredToken()),he(i)&&(this.setHoveredToken(this.toTokenEventBaseProps(i)),u?.(this.hoveredToken,t))),e||(this.hoveredLine!=null&&(c?.({...this.hoveredLine,event:t}),this.clearHoveredLine()),ge(i)?(this.setHoveredLine(this.toEventBaseProps(i)),this.placeUtility(),s?.({...this.hoveredLine,event:t})):this.placeUtility());break}case`click`:{if(i==null)break;if(ve(i)&&p!=null){p(i);break}if(_e(i)&&f!=null){f(i.hunkIndex,i.all||t.shiftKey?`both`:i.direction,i.all||t.shiftKey?1/0:void 0);break}if(!ge(i))break;he(i)&&l!=null&&l(this.toTokenEventBaseProps(i),t);let e=this.toEventBaseProps(i);o!=null&&i.numberColumn?o({...e,event:t}):a?.({...e,event:t});break}}}syncPointerListeners(e){let{__debugPointerEvents:t,lineHoverHighlight:n=`disabled`,onLineClick:r,onLineNumberClick:i,onLineEnter:a,onLineLeave:o,onTokenClick:s,onTokenEnter:c,onTokenLeave:l,onHunkExpand:u,onMergeConflictActionClick:d,enableGutterUtility:f=!1,enableLineSelection:p=!1,onGutterUtilityClick:m}=this.options,h=m!=null,g=n!==`disabled`||r!=null||i!=null||a!=null||o!=null||s!=null||c!=null||l!=null||u!=null||d!=null||f||p||h;g&&!this.hasPointerListeners?(e.addEventListener(`click`,this.handlePointerClick),e.addEventListener(`pointerdown`,this.handlePointerDown),e.addEventListener(`pointermove`,this.handlePointerMove),e.addEventListener(`pointerleave`,this.handlePointerLeave),this.hasPointerListeners=!0,I(t,`click`,`FileDiff.DEBUG.attachEventListeners: Attaching click events for:`,(()=>{let e=[];return(t===`both`||t===`click`)&&(r!=null&&e.push(`onLineClick`),i!=null&&e.push(`onLineNumberClick`),u!=null&&e.push(`expandable hunk separators`),d!=null&&e.push(`merge conflict actions`)),e})()),I(t,`move`,`FileDiff.DEBUG.attachEventListeners: Attaching pointer move event`),I(t,`move`,`FileDiff.DEBUG.attachEventListeners: Attaching pointer leave event`)):!g&&this.hasPointerListeners&&(e.removeEventListener(`click`,this.handlePointerClick),e.removeEventListener(`pointerdown`,this.handlePointerDown),e.removeEventListener(`pointermove`,this.handlePointerMove),e.removeEventListener(`pointerleave`,this.handlePointerLeave),this.hasPointerListeners=!1);let _=this.pointerSession.mode===`selecting`||this.pointerSession.mode===`pendingSingleLineUnselect`,v=this.pointerSession.mode===`gutterSelecting`;(!p&&_||!h&&v)&&(this.clearPointerSession(),this.detachDocumentPointerListeners(),this.selectionAnchor=void 0,this.clearPendingSingleLineState())}updateInteractiveLineAttributes(){if(this.pre==null)return;let{onLineClick:e,onLineNumberClick:t,enableLineSelection:n=!1}=this.options,r=e!=null,i=t!=null||n;r&&!this.interactiveLinesAttr?(this.pre.setAttribute(`data-interactive-lines`,``),this.interactiveLinesAttr=!0):!r&&this.interactiveLinesAttr&&(this.pre.removeAttribute(`data-interactive-lines`),this.interactiveLinesAttr=!1),i&&!this.interactiveLineNumbersAttr?(this.pre.setAttribute(`data-interactive-line-numbers`,``),this.interactiveLineNumbersAttr=!0):!i&&this.interactiveLineNumbersAttr&&(this.pre.removeAttribute(`data-interactive-line-numbers`),this.interactiveLineNumbersAttr=!1)}handlePointerDown=e=>{if(e.pointerType===`mouse`&&e.button!==0||this.pre==null||this.pointerSession.mode!==`idle`)return;let t=e.composedPath();Oe(t)&&this.options.onGutterUtilityClick!=null?this.startGutterSelectionFromPointerDown(e):(e.pointerType!==`mouse`&&this.revealUtilityFromGutterPath(t),this.startLineSelectionFromPointerDown(e))};startLineSelectionFromPointerDown(e){let{enableLineSelection:t=!1}=this.options;if(!t)return;let n=this.resolveSelectionInfo(e,{source:`event-path`,requireNumberColumn:!0});if(n==null)return;let{pre:r}=this;if(r==null)return;let{lineNumber:i,eventSide:a,lineIndex:o}=n;if(e.shiftKey&&this.selectedRange!=null){let t=this.getIndexesFromSelection(this.selectedRange,r.getAttribute(`data-diff-type`)===`split`);if(t==null)return;let n=t.start<=t.end?o>=t.start:o<=t.end;this.selectionAnchor={lineNumber:n?this.selectedRange.start:this.selectedRange.end,side:n?this.selectedRange.side:this.selectedRange.endSide??this.selectedRange.side},this.updateSelection(i,a,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.pointerSession={mode:`selecting`,pointerId:e.pointerId},this.attachDocumentPointerListeners();return}if(this.selectedRange?.start===i&&this.selectedRange?.end===i){let t={lineNumber:i,side:a};this.selectionAnchor=t,this.pointerSession={mode:`pendingSingleLineUnselect`,pointerId:e.pointerId,anchor:t,pending:t},this.attachDocumentPointerListeners();return}this.options.controlledSelection===!0?this.proposedSelectedRange=null:this.selectedRange=null,this.placeUtility(),this.selectionAnchor={lineNumber:i,side:a},this.updateSelection(i,a,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.pointerSession={mode:`selecting`,pointerId:e.pointerId},this.attachDocumentPointerListeners()}startGutterSelectionFromPointerDown(e){let{enableLineSelection:t=!1,onGutterUtilityClick:n}=this.options;if(n==null)return;let r=this.currentSelectionEnds(),i=r?.bottom??this.resolveSelectionPoint(e,{source:`event-path`,excludeUtility:!1}),a=r?.top??i;i==null||a==null||(e.preventDefault(),e.stopPropagation(),this.pointerSession={mode:`gutterSelecting`,pointerId:e.pointerId,anchor:a,current:i},t&&(this.selectionAnchor={lineNumber:a.lineNumber,side:a.side},this.updateSelection(i.lineNumber,i.side,!1),this.notifySelectionStart(this.getCurrentSelectionRange())),this.attachDocumentPointerListeners())}handleDocumentPointerMove=e=>{let{enableLineSelection:t=!1}=this.options;switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let n=this.resolveSelectionPoint(e,{source:`coordinates-first`});if(n==null)return;this.pointerSession.current=n,t===!0&&this.updateSelection(n.lineNumber,n.side);return}case`selecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let t=this.resolveSelectionInfo(e,{source:`coordinates-first`,requireNumberColumn:!1});if(t==null||this.selectionAnchor==null)return;this.updateSelection(t.lineNumber,t.eventSide);return}case`pendingSingleLineUnselect`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let t=this.resolveSelectionInfo(e,{source:`coordinates-first`,requireNumberColumn:!1});if(t==null||this.selectionAnchor==null)return;let n={lineNumber:t.lineNumber,side:t.eventSide};if(ue(this.pointerSession.pending,n))return;this.updateSelection(t.lineNumber,t.eventSide,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.notifySelectionChangeDelta(),this.pointerSession={mode:`selecting`,pointerId:e.pointerId};return}}};handleDocumentPointerUp=e=>{let{enableLineSelection:t=!1,onGutterUtilityClick:n}=this.options;switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let r=this.resolveSelectionPoint(e,{source:`coordinates-first`});r!=null&&(this.pointerSession.current=r,t&&this.updateSelection(r.lineNumber,r.side)),n?.(this.buildSelectedLineRange(this.pointerSession.anchor,this.pointerSession.current)),this.selectionAnchor=void 0,t&&(this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection()),this.clearPointerSession(),this.detachDocumentPointerListeners();return}case`pendingSingleLineUnselect`:if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault(),this.updateSelection(null,void 0,!1),this.selectionAnchor=void 0,this.clearPendingSingleLineState(),this.detachDocumentPointerListeners(),this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection();return;case`selecting`:if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault(),this.selectionAnchor=void 0,this.detachDocumentPointerListeners(),this.clearPointerSession(),this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection()}};handleDocumentPointerCancel=e=>{switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:case`selecting`:case`pendingSingleLineUnselect`:if(`pointerId`in this.pointerSession&&e.pointerId!==this.pointerSession.pointerId)return;this.selectionAnchor=void 0,this.clearProposedSelection(),this.clearPendingSingleLineState(),this.clearPointerSession(),this.detachDocumentPointerListeners()}};clearHoveredLine(){this.hoveredLine!=null&&(this.hoveredLine.lineElement.removeAttribute(`data-hovered`),this.hoveredLine.numberElement.removeAttribute(`data-hovered`),this.hoveredLine=void 0)}setHoveredLine(e){let{lineHoverHighlight:t=`disabled`}=this.options;this.hoveredLine!=null&&this.clearHoveredLine(),this.hoveredLine=e,t!==`disabled`&&((t===`both`||t===`line`)&&this.hoveredLine.lineElement.setAttribute(`data-hovered`,``),(t===`both`||t===`number`)&&this.hoveredLine.numberElement.setAttribute(`data-hovered`,``))}clearHoveredToken(){this.hoveredToken!=null&&(this.hoveredToken=void 0)}setHoveredToken(e){this.hoveredToken!=null&&this.clearHoveredToken(),this.hoveredToken=e}ensureGutterUtilityNode(e){if(this.gutterUtilityContainer??(this.gutterUtilityContainer=document.createElement(`div`),this.gutterUtilityContainer.setAttribute(`data-gutter-utility-slot`,``)),e)this.gutterUtilityButton!=null&&(this.gutterUtilityButton.remove(),this.gutterUtilityButton=void 0),this.gutterUtilitySlot??(this.gutterUtilitySlot=document.createElement(`slot`),this.gutterUtilitySlot.name=`gutter-utility-slot`),this.gutterUtilitySlot.parentNode!==this.gutterUtilityContainer&&this.gutterUtilityContainer.replaceChildren(this.gutterUtilitySlot);else{if(this.gutterUtilitySlot?.remove(),this.gutterUtilitySlot=void 0,this.gutterUtilityButton==null){let e=document.createElement(`div`);e.innerHTML=i(le());let t=e.firstElementChild;if(!(t instanceof HTMLButtonElement))throw Error(`InteractionManager.ensureGutterUtilityNode: Node element should be a button`);t.remove(),this.gutterUtilityButton=t}this.gutterUtilityButton.parentNode!==this.gutterUtilityContainer&&this.gutterUtilityContainer.replaceChildren(this.gutterUtilityButton)}}revealUtilityFromGutterPath(e){if(this.placeUtilityFromSelection())return;let t=this.resolvePointerTarget(e);me(t)&&t.numberColumn&&this.showUtilityOnLine(this.toEventBaseProps(t))}placeUtility(){if(!this.placeUtilityFromSelection()){if(this.hoveredLine!=null){this.showUtilityOnLine(this.hoveredLine);return}this.hideUtility()}}placeUtilityFromSelection(){let e=this.currentSelectionEnds();if(e==null)return!1;let t=this.targetForSelectionPoint(e.bottom);return t==null?this.hideUtility():this.showUtilityOnLine(this.toEventBaseProps(t)),!0}showUtilityOnLine(e){this.gutterUtilityContainer!=null&&(this.gutterUtilityLine=e,e.numberElement.appendChild(this.gutterUtilityContainer))}hideUtility(){this.gutterUtilityContainer?.remove(),this.gutterUtilityLine=void 0}currentSelectionEnds(){let e=this.getCurrentSelectionRange();return e==null?void 0:this.selectionEnds(e)}selectionEnds(e){let t={lineNumber:e.start,side:e.side},n={lineNumber:e.end,side:e.endSide??e.side},r=this.selectionPointRowIndex(t),i=this.selectionPointRowIndex(n);if(!(r==null||i==null))return r>i?{top:n,bottom:t}:{top:t,bottom:n}}selectionPointRowIndex(e){let t=this.getLineIndex(e.lineNumber,e.side);if(t!=null)return this.isSplitDiff()?t[1]:t[0]}targetForSelectionPoint(e){if(this.pre==null)return;let t=this.getLineIndex(e.lineNumber,e.side);if(t==null)return;let n=this.mode===`diff`?`${t[0]},${t[1]}`:`${t[0]}`,r=this.pre.querySelectorAll(`[data-column-number="${e.lineNumber}"][data-line-index="${n}"]`);for(let t of r){if(!(t instanceof HTMLElement))continue;let n=this.resolvePointerTarget(xe(t));if(me(n)&&!(this.mode===`diff`&&e.side!=null&&n.side!==e.side))return n}}attachDocumentPointerListeners(){this.hasDocumentPointerListeners||=(document.addEventListener(`pointermove`,this.handleDocumentPointerMove),document.addEventListener(`pointerup`,this.handleDocumentPointerUp),document.addEventListener(`pointercancel`,this.handleDocumentPointerCancel),!0)}detachDocumentPointerListeners(){this.hasDocumentPointerListeners&&=(document.removeEventListener(`pointermove`,this.handleDocumentPointerMove),document.removeEventListener(`pointerup`,this.handleDocumentPointerUp),document.removeEventListener(`pointercancel`,this.handleDocumentPointerCancel),!1)}clearPointerSession(){this.pointerSession={mode:`idle`}}clearPendingSingleLineState(){this.pointerSession.mode===`pendingSingleLineUnselect`&&(this.pointerSession={mode:`idle`})}selectionInfoFromPath(e,t){let n=this.resolvePointerTarget(e);if(me(n)&&!(t&&!n.numberColumn)&&n.splitLineIndex!=null)return{lineIndex:n.splitLineIndex,lineNumber:n.lineNumber,eventSide:this.mode===`diff`?n.side:void 0}}resolveSelectionInfo(e,t){let n=this.resolveSelectionPath(e,t);return n==null?void 0:this.selectionInfoFromPath(n,t.requireNumberColumn)}selectionPointFromPath(e){let t=this.resolvePointerTarget(e);if(me(t))return{lineNumber:t.lineNumber,side:this.mode===`diff`?t.side:void 0}}resolveSelectionPoint(e,t){let n=this.resolveSelectionPath(e,t);return n==null?void 0:this.selectionPointFromPath(n)}resolveSelectionPath(e,t){let n=t.excludeUtility!==!1;switch(t.source){case`event-path`:return this.pathFromEventPath(e.composedPath(),n);case`coordinates-first`:{let t=this.pathFromCoordinates(e,n);return t===void 0?this.pathFromEventPath(e.composedPath(),n):t??void 0}}}pathFromCoordinates(e,t){let n=this.hitTest(e);if(n!==void 0)return n===null?null:this.pathFromElement(n,t)??null}pathFromEventPath(e,t){if(!(t&&Oe(e))){for(let n of e)if(n instanceof Element)return this.pathFromElement(n,t)}}pathFromElement(e,t){let n=xe(e);if(t&&Oe(n))return;let r=Se(e);return r==null?this.pathFromAnnotationSlot(e):xe(r)}pathFromAnnotationSlot(e){let t=we(Ce(e));if(t==null)return;let n=this.targetForSelectionPoint(t);return n==null?void 0:xe(n.lineElement)}hitTest(e){if(!Number.isFinite(e.clientX)||!Number.isFinite(e.clientY))return;let t=this.pre?.getRootNode(),n=Te(t)?t:Te(document)?document:void 0;if(n!=null)return n.elementFromPoint(e.clientX,e.clientY)}getLineIndex(e,t){let{getLineIndex:n}=this.options;return n==null?[e-1,e-1]:n(e,t)}getCurrentSelectionRange(){return this.proposedSelectedRange===void 0?this.selectedRange:this.proposedSelectedRange}clearProposedSelection(){this.proposedSelectedRange=void 0}updateSelection(e,t,n=!0){let r=this.getCurrentSelectionRange(),i;if(e==null)i=null;else{let n=this.selectionAnchor?.side??t,r=this.selectionAnchor?.lineNumber??e;i=this.buildSelectionRange(r,e,n,t)}ae(r??void 0,i??void 0)||(this.options.controlledSelection===!0?this.proposedSelectedRange=i:(this.selectedRange=i,this.queuedSelectionRender??=requestAnimationFrame(this.renderSelection)),this.placeUtility(),n&&this.notifySelectionChangeDelta())}getIndexesFromSelection(e,t){if(this.pre==null)return;let n=this.getLineIndex(e.start,e.side),r=this.getLineIndex(e.end,e.endSide??e.side);return n!=null&&r!=null?{start:t?n[1]:n[0],end:t?r[1]:r[0]}:void 0}renderSelection=()=>{if(this.queuedSelectionRender!=null&&(cancelAnimationFrame(this.queuedSelectionRender),this.queuedSelectionRender=void 0),this.pre==null||this.renderedSelectionRange===this.selectedRange)return;let e=this.pre.querySelectorAll(`[data-selected-line]`);for(let t of e)t.removeAttribute(`data-selected-line`);if(this.renderedSelectionRange=this.selectedRange,this.selectedRange==null)return;let{children:t}=this.pre;if(t.length===0)return;if(t.length>2)throw console.error(t),Error(`InteractionManager.renderSelection: Somehow there are more than 2 code elements...`);let n=this.pre.getAttribute(`data-diff-type`)===`split`,r=this.getIndexesFromSelection(this.selectedRange,n);if(r==null)throw console.error({rowRange:r,selectedRange:this.selectedRange}),Error(`InteractionManager.renderSelection: No valid rowRange`);let i=r.start===r.end,a=Math.min(r.start,r.end),o=Math.max(r.start,r.end);for(let e of t){let[t,r]=e.children,s=r.children.length;if(s!==t.children.length)throw Error(`InteractionManager.renderSelection: gutter and content children dont match, something is wrong`);for(let e=0;e<s;e++){let s=r.children[e],c=t.children[e];if(!(s instanceof HTMLElement)||!(c instanceof HTMLElement))continue;let l=this.parseLineIndex(s,n);if((l??0)>o)break;if(l==null||l<a)continue;let u=i?`single`:l===a?`first`:l===o?`last`:``;s.setAttribute(`data-selected-line`,u),c.setAttribute(`data-selected-line`,u),c.nextSibling instanceof HTMLElement&&s.nextSibling instanceof HTMLElement&&(s.nextSibling.hasAttribute(`data-line-annotation`)||s.nextSibling.hasAttribute(`data-merge-conflict-actions`))&&(i?(u=`last`,s.setAttribute(`data-selected-line`,`first`)):l===a?u=``:l===o&&s.setAttribute(`data-selected-line`,``),s.nextSibling.setAttribute(`data-selected-line`,u),c.nextSibling.setAttribute(`data-selected-line`,u))}}};notifySelectionCommitted(){this.options.onLineSelected?.(this.getCurrentSelectionRange()??null)}notifySelectionChangeDelta(){this.options.onLineSelectionChange?.(this.getCurrentSelectionRange()??null)}notifySelectionStart(e){this.options.onLineSelectionStart?.(e)}notifySelectionEnd(e){this.options.onLineSelectionEnd?.(e)}toEventBaseProps(e){return this.mode===`file`?{type:`line`,lineElement:e.lineElement,lineNumber:e.lineNumber,numberColumn:e.numberColumn,numberElement:e.numberElement}:{type:`diff-line`,annotationSide:e.side,lineType:e.lineType,lineElement:e.lineElement,numberElement:e.numberElement,lineNumber:e.lineNumber,numberColumn:e.numberColumn}}toTokenEventBaseProps({lineCharEnd:e,lineCharStart:t,lineNumber:n,side:r,tokenElement:i,tokenText:a}){return this.mode===`file`?{type:`token`,lineCharEnd:e,lineCharStart:t,lineNumber:n,tokenElement:i,tokenText:a}:{type:`token`,lineCharEnd:e,lineCharStart:t,lineNumber:n,side:r,tokenElement:i,tokenText:a}}buildSelectedLineRange(e,t){return this.buildSelectionRange(e.lineNumber,t.lineNumber,e.side,t.side)}buildSelectionRange(e,t,n,r){return{start:e,end:t,...n==null?{}:{side:n},...n!==r&&r!=null?{endSide:r}:{}}}resolvePointerTarget(e){let t=!1,n,r,i,a,o,s,c,l,u,d;for(let f of e){if(!(f instanceof HTMLElement))continue;if(d==null&&f.hasAttribute(`data-merge-conflict-action`)){let e=f.getAttribute(`data-merge-conflict-action`)??void 0,t=f.getAttribute(`data-merge-conflict-conflict-index`)??void 0,n=t==null?NaN:Number.parseInt(t,10);ye(e)&&Number.isFinite(n)&&(d={kind:`merge-conflict-action`,resolution:e,conflictIndex:n})}if(s==null&&f.hasAttribute(`data-char`)){s=f;let e=f.getAttribute(`data-char`);if(e!=null){let t=Number.parseInt(e,10);if(!Number.isNaN(t)){let e=f.textContent??``,n=t+e.length;(e.trim()!==``||this.options.enableTokenInteractionsOnWhitespace===!0)&&(c={tokenElement:s,lineCharStart:t,lineCharEnd:n,tokenText:e});continue}}}let e=o==null?f.getAttribute(`data-column-number`)??void 0:void 0;if(e!=null){o=f,u=Number.parseInt(e,10),t=!0,n=De(f),a=f.getAttribute(`data-line-index`)??void 0;continue}let p=i==null?f.getAttribute(`data-line`)??void 0:void 0;if(p!=null){i=f,u=Number.parseInt(p,10),n=De(f),a=f.getAttribute(`data-line-index`)??void 0;continue}if(l==null&&(f.hasAttribute(`data-expand-button`)||f.hasAttribute(`data-unmodified-lines`))){l={hunkIndex:void 0,direction:f.hasAttribute(`data-expand-up`)?`up`:f.hasAttribute(`data-expand-down`)?`down`:`both`,all:f.hasAttribute(`data-expand-all-button`)};continue}let m=l==null?void 0:f.getAttribute(`data-expand-index`)??void 0;if(l!=null&&m!=null){let e=Number.parseInt(m,10);Number.isNaN(e)||(l.hunkIndex=e);continue}if(r==null&&f.hasAttribute(`data-code`)){r=f;break}}if(d!=null)return d;if(l?.hunkIndex!=null)return{type:`line-info`,hunkIndex:l.hunkIndex,direction:l.direction,all:l.all};if(i??=a==null?void 0:be(r,`[data-line][data-line-index="${a}"]`),o??=a==null?void 0:be(r,`[data-column-number][data-line-index="${a}"]`),r==null||i==null||o==null||n==null||u==null||Number.isNaN(u))return;let f=this.parseLineIndex(i,this.isSplitDiff());return c==null?this.mode===`file`?{kind:`line`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:void 0,splitLineIndex:f}:{kind:`line`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:Ee(n,r),splitLineIndex:f}:this.mode===`file`?{kind:`token`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:void 0,splitLineIndex:f,...c}:{kind:`token`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:Ee(n,r),splitLineIndex:f,...c}}isSplitDiff(){return this.pre?.getAttribute(`data-diff-type`)===`split`}parseLineIndex(e,t){let n=(e.getAttribute(`data-line-index`)??``).split(`,`).map(e=>Number.parseInt(e,10)).filter(e=>!Number.isNaN(e));if(t&&n.length===2)return n[1];if(!t)return n[0]}};function fe({enableTokenInteractionsOnWhitespace:e,enableGutterUtility:t,lineHoverHighlight:n,onGutterUtilityClick:r,onLineClick:i,onLineEnter:a,onLineLeave:o,onLineNumberClick:s,onTokenClick:c,onTokenEnter:l,onTokenLeave:u,renderGutterUtility:d,__debugPointerEvents:f,enableLineSelection:p,controlledSelection:m,onLineSelected:h,onLineSelectionStart:g,onLineSelectionChange:_,onLineSelectionEnd:v},y,b,x){return{enableTokenInteractionsOnWhitespace:e,enableGutterUtility:pe({enableGutterUtility:t,renderGutterUtility:d,onGutterUtilityClick:r}),usesCustomGutterUtility:d!=null,lineHoverHighlight:n,onGutterUtilityClick:r,onHunkExpand:y,onMergeConflictActionClick:x,onLineClick:i,onLineEnter:a,onLineLeave:o,onLineNumberClick:s,onTokenClick:c,onTokenEnter:l,onTokenLeave:u,__debugPointerEvents:f,enableLineSelection:p,controlledSelection:m,onLineSelected:h,onLineSelectionStart:g,onLineSelectionChange:_,onLineSelectionEnd:v,getLineIndex:b}}function pe({enableGutterUtility:e,renderGutterUtility:t,onGutterUtilityClick:n}){if(n!=null&&t!=null)throw Error(`Cannot use both 'onGutterUtilityClick' and 'renderGutterUtility'. Use only one gutter utility API.`);return e??!1}function me(e){return e!=null&&`kind`in e&&e.kind===`line`}function he(e){return e!=null&&`kind`in e&&e.kind===`token`}function ge(e){return me(e)||he(e)}function _e(e){return`type`in e&&e.type===`line-info`}function ve(e){return`kind`in e&&e.kind===`merge-conflict-action`}function ye(e){return e===`current`||e===`incoming`||e===`both`}function be(e,t){let n=e?.querySelector(t);return n instanceof HTMLElement?n:void 0}function xe(e){let t=[],n=e;for(;n!=null;)t.push(n),n=n.parentNode;return t}function Se(e){let t=e.closest(`[data-line], [data-column-number]`);if(t instanceof HTMLElement)return t;let n=e.closest(`[data-line-annotation], [data-gutter-buffer="annotation"]`);if(!(n instanceof HTMLElement))return;let r=n.previousElementSibling;return r instanceof HTMLElement&&(r.hasAttribute(`data-line`)||r.hasAttribute(`data-column-number`))?r:void 0}function Ce(e){let t=e.closest(`[slot^="annotation-"]`);if(t instanceof HTMLElement)return t.getAttribute(`slot`)??void 0;if(e instanceof HTMLElement){let t=e.getAttribute(`name`)??void 0;return t!=null&&t.startsWith(`annotation-`)?t:void 0}}function we(e){if(e==null)return;let t=/^annotation-(?:(additions|deletions)-)?(\d+)$/.exec(e);if(t==null)return;let n=Number.parseInt(t[2],10);if(!(!Number.isFinite(n)||n<=0))return{lineNumber:n,side:t[1]}}function Te(e){return e!=null&&typeof e.elementFromPoint==`function`}function Ee(e,t){switch(e){case`change-deletion`:return`deletions`;case`change-addition`:return`additions`;default:return t.hasAttribute(`data-deletions`)?`deletions`:`additions`}}function De(e){let t=e.getAttribute(`data-line-type`);if(t!=null)switch(t){case`change-deletion`:case`change-addition`:case`context`:case`context-expanded`:return t;default:return}}function Oe(e){for(let t of e)if(t instanceof HTMLElement&&(t.hasAttribute(`data-utility-button`)||t.hasAttribute(`data-gutter-utility-slot`)||t.getAttribute(`slot`)===`gutter-utility-slot`||t.getAttribute(`name`)===`gutter-utility-slot`))return!0;return!1}function I(e=`none`,t,...n){switch(e){case`none`:return;case`both`:break;case`click`:if(t!==`click`)return;break;case`move`:if(t!==`move`)return;break}console.log(...n)}var ke=class e{static resizeObserver;static managersByElement=new Map;static getResizeObserver(){let t=e.resizeObserver??new ResizeObserver(e.handleSharedResizeEntries);return e.resizeObserver=t,t}static handleSharedResizeEntries(t){let n=new Map;for(let r of t){let t=e.managersByElement.get(r.target);if(t==null)continue;let i=n.get(t);i==null?n.set(t,[r]):i.push(r)}for(let[e,t]of n)e.handleResizeEntries(t)}observedNodes=new Map;setup(e,t){let n=new Set,r=0,i=new Map(this.observedNodes);this.observedNodes.clear();for(let t of e.children){if(r===2)break;let e=(()=>{if(t instanceof HTMLElement&&t.tagName===`CODE`)return t})();if(e==null)continue;r++;let n=i.get(e);if(n!=null&&n.type!==`code`)throw Error(`ResizeManager.setup: somehow a code node is being used for an annotation, should be impossible`);let a=e.firstElementChild;a instanceof HTMLElement||(a=null),n==null?(n={type:`code`,codeElement:e,numberElement:a,codeWidth:`auto`,numberWidth:0},this.observedNodes.set(e,n),this.observe(e),a!=null&&(this.observedNodes.set(a,n),this.observe(a))):(this.observedNodes.set(e,n),i.delete(e),n.numberElement===a?n.numberElement==null?n.numberWidth=0:(i.delete(n.numberElement),this.observedNodes.set(n.numberElement,n)):(n.numberElement!=null&&(this.unobserve(n.numberElement),i.delete(n.numberElement)),a!=null&&(this.observe(a),i.delete(a),this.observedNodes.set(a,n)),n.numberElement=a,n.numberWidth=0))}if(r>1&&!t){let t=e.querySelectorAll(`[data-line-annotation*=","]`),r=new Map;for(let e of t){if(!(e instanceof HTMLElement))continue;let t=e.getAttribute(`data-line-annotation`)??``;if(!/^-?\d+,-?\d+$/.test(t)){console.error(`DiffFileRenderer.setupResizeObserver: Invalid element or annotation`,{lineAnnotation:t,element:e});continue}let n=r.get(t);n??(n=[],r.set(t,n)),n.push(e)}for(let[e,t]of r){if(t.length!==2){console.error(`DiffFileRenderer.setupResizeObserver: Bad Pair`,e,t);continue}let[r,a]=t,o=r.firstElementChild,s=a.firstElementChild;if(!(r instanceof HTMLElement)||!(a instanceof HTMLElement)||!(o instanceof HTMLElement)||!(s instanceof HTMLElement))continue;let c=i.get(o);if(c!=null){this.observedNodes.set(o,c),this.observedNodes.set(s,c),i.delete(o),i.delete(s);continue}let l=o.getBoundingClientRect().height,u=s.getBoundingClientRect().height;c={type:`annotations`,column1:{container:r,child:o,childHeight:l},column2:{container:a,child:s,childHeight:u},currentHeight:`auto`},n.add({child1:o,child2:s,item:c,newHeight:Math.max(l,u)})}for(let e of n)this.applyNewHeight(e.item,e.newHeight),this.observedNodes.set(e.child1,e.item),this.observedNodes.set(e.child2,e.item),this.observe(e.child1),this.observe(e.child2);n.clear()}for(let[e,t]of i)this.unobserve(e),t.type===`code`?Me(t):Ne(t);i.clear()}cleanUp(){for(let e of this.observedNodes.keys())this.unobserve(e);this.observedNodes.clear()}observe(t){let{managersByElement:n}=e,r=n.get(t);if(r!==this){if(r!=null&&r!==this)throw Error(`ResizeManager.observe: element is already owned by another ResizeManager`);n.set(t,this),e.getResizeObserver().observe(t)}}unobserve(t){let{managersByElement:n,resizeObserver:r}=e,i=n.get(t);if(i!=null){if(i!==this)throw Error(`ResizeManager.unobserve: element is owned by another ResizeManager`);n.delete(t),r?.unobserve(t),r!=null&&n.size===0&&(r.disconnect(),e.resizeObserver=void 0)}}handleResizeEntries(e){let t=new Map,n=new Set;for(let r of e){let{target:e,borderBoxSize:i,contentBoxSize:a}=r;if(!(e instanceof HTMLElement)){console.error(`ResizeManager.handleResizeEntries: Invalid element for ResizeObserver`,r);continue}let o=this.observedNodes.get(e);if(o==null){console.error(`ResizeManager.handleResizeEntries: Not a valid observed node`,r);continue}if(o.type===`annotations`){let t=(()=>{if(e===o.column1.child)return o.column1;if(e===o.column2.child)return o.column2})();if(t==null){console.error(`ResizeManager.handleResizeEntries: Couldn't find a column for`,{item:o,target:e});continue}t.childHeight=i[0].blockSize,n.add(o)}else if(o.type===`code`){let n=t.get(o)??{},r=a[0].inlineSize;e===o.codeElement?n.codeInlineSize=r:e===o.numberElement&&(n.numberInlineSize=r),t.set(o,n)}}this.applyAnnotationUpdates(n),n.clear(),this.applyColumnUpdates(t),t.clear()}applyAnnotationUpdates(e){for(let t of e)this.applyNewHeight(t,Math.max(t.column1.childHeight,t.column2.childHeight))}applyColumnUpdates=e=>{for(let[t,n]of e){let e=n.codeInlineSize==null?t.codeWidth:Ae(n.codeInlineSize),r=n.numberInlineSize==null?t.numberWidth:je(n.numberInlineSize),i=e!==t.codeWidth,a=r!==t.numberWidth;if(!(!i&&!a)&&(t.codeWidth=e,t.numberWidth=r,i&&t.codeElement.style.setProperty(`--diffs-column-width`,`${typeof e==`number`?`${e}px`:`auto`}`),a&&t.codeElement.style.setProperty(`--diffs-column-number-width`,`${r===0?`auto`:`${r}px`}`),i||a&&e!==`auto`)){let n=typeof e==`number`?Math.max(e-r,0):0;t.codeElement.style.setProperty(`--diffs-column-content-width`,`${n>0?`${n}px`:`auto`}`)}}};applyNewHeight(e,t){t!==e.currentHeight&&(e.currentHeight=Math.max(t,0),e.column1.container.style.setProperty(`--diffs-annotation-min-height`,`${e.currentHeight}px`),e.column2.container.style.setProperty(`--diffs-annotation-min-height`,`${e.currentHeight}px`))}};function Ae(e){let t=Math.max(Math.floor(e),0);return t===0?`auto`:t}function je(e){return Math.max(Math.ceil(e),0)}function Me(e){e.codeElement.isConnected&&(e.codeElement.style.removeProperty(`--diffs-column-content-width`),e.codeElement.style.removeProperty(`--diffs-column-number-width`),e.codeElement.style.removeProperty(`--diffs-column-width`))}function Ne(e){e.column1.container.isConnected&&e.column1.container.style.removeProperty(`--diffs-annotation-min-height`),e.column2.container.isConnected&&e.column2.container.style.removeProperty(`--diffs-annotation-min-height`)}var Pe=new Map,Fe=new Map,Ie=new Map,Le=new Set;function Re(e){for(let t of Array.isArray(e)?e:[e])if(!(t===`text`||t===`ansi`)&&!Le.has(t))return!1;return!0}function ze(e,t){e=Array.isArray(e)?e:[e];for(let n of e){if(Le.has(n.name))continue;let e=Pe.get(n.name);e??(e=n,Pe.set(n.name,e)),Le.add(e.name),t.loadLanguageSync(e.data)}}function Be(){return typeof WorkerGlobalScope<`u`&&typeof self<`u`&&self instanceof WorkerGlobalScope}async function Ve(e){if(Be())throw Error(`resolveLanguage("${e}") cannot be called from a worker context. Languages must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);let t=Fe.get(e);if(t!=null)return t;try{let t=Ie.get(e);if(t==null&&Object.prototype.hasOwnProperty.call(d,e)&&(t=d[e]),t==null)throw Error(`resolveLanguage: "${e}" not found in bundled or custom languages`);let n=t().then(({default:t})=>{let n={name:e,data:t};return Pe.has(e)||Pe.set(e,n),n});return Fe.set(e,n),await n}finally{Fe.delete(e)}}function He(e){return Pe.get(e)??Ve(e)}var Ue=new Set;function We(e){return typeof e==`object`&&e&&`default`in e?e.default:e}var Ge=class extends Error{constructor(e){super(`Theme "${e}" is already registered`),this.name=`DuplicateThemeError`}},Ke=class extends Error{constructor(e){super(`No loader registered for theme "${e}"`),this.name=`UnregisteredThemeError`}},qe=class extends Error{constructor(e){super(`Theme "${e}" has not been resolved`),this.name=`UnresolvedThemeError`}};function Je(){let e=new Map,t=new Map,n=new Map,r=0;function i(t,n){if(e.has(t))throw new Ge(t);e.set(t,n)}function a(t,n){return e.has(t)?!1:(e.set(t,n),!0)}function o(t){return e.has(t)}function s(i){let a=t.get(i);if(a!==void 0)return Promise.resolve(a);let o=n.get(i);if(o!==void 0)return o;let s=e.get(i);if(s===void 0)return Promise.reject(new Ke(i));let c=r,l=s().then(e=>{let a=We(e);return c===r&&t.set(i,a),n.get(i)===l&&n.delete(i),a}).catch(e=>{throw n.get(i)===l&&n.delete(i),e});return n.set(i,l),l}function c(e){return Promise.all(e.map(e=>s(e)))}function l(e,n){t.set(e,n)}function u(e){for(let[t,n]of e)l(t,n)}function d(e){return t.get(e)}function f(e){let n=[];for(let r of e){let e=t.get(r);if(e===void 0)throw new qe(r);n.push(e)}return n}function p(e){return t.has(e)}function m(e){for(let n of e)if(!t.has(n))return!1;return!0}function h(e){let n=t.get(e);return n===void 0?s(e):n}function g(){r++,t.clear(),n.clear()}return{clearResolvedThemes:g,getResolvedOrResolveTheme:h,getResolvedTheme:d,getResolvedThemes:f,hasRegisteredTheme:o,hasResolvedTheme:p,hasResolvedThemes:m,registerTheme:i,registerThemeIfAbsent:a,resolveTheme:s,resolveThemes:c,seedResolvedTheme:l,seedResolvedThemes:u}}var L=Je();function Ye(e,t){e=Array.isArray(e)?e:[e];for(let n of e){let e;if(typeof n==`string`){if(e=L.getResolvedTheme(n),e==null)throw Error(`loadResolvedThemes: ${n} is not resolved, you must resolve it before calling loadResolvedThemes`)}else e=n,n=n.name,L.getResolvedTheme(n)??L.seedResolvedTheme(n,e);Ue.has(n)||(Ue.add(n),t.loadThemeSync(e))}}function Xe(e){return`default`in e?e.default:e}function Ze(e){return{...e,load:async()=>a(Xe(await e.load()))}}function Qe(e){let t=new Map(e.map(e=>[e.name,e]));return{getTheme:e=>t.get(e),getThemeNames:()=>e.map(e=>e.name),getThemes:()=>e,hasTheme:e=>t.has(e),orderBy:t=>Qe([...e].sort(t)),pick:e=>Qe(e.map(e=>{let n=t.get(e);if(n===void 0)throw Error(`Theme collection does not contain theme "${e}"`);return n})),registerInto:t=>{for(let n of e)t.registerThemeIfAbsent(n.name,n.load)}}}var $e=Qe([]),et=Qe([Ze({collection:`shiki`,colorScheme:`light`,load:()=>r(()=>import(`./github-light-EUqPIrTm.js`),[]),name:`github-light`}),Ze({collection:`shiki`,colorScheme:`dark`,load:()=>r(()=>import(`./github-dark-C-LZuMrd.js`),[]),name:`github-dark`})]);function tt(e){if(Be())throw Error(`Theme "${e}" cannot be resolved from a worker context. Themes must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);if(L.hasRegisteredTheme(e))return;let t=et.getTheme(e);if(t!=null){L.registerThemeIfAbsent(t.name,t.load);return}throw Error(`No valid theme loader registered for "${e}"`)}function nt(e,t){if(t.name!==e)throw Error(`resolvedTheme: themeName: ${e} does not match theme.name: ${t.name}`)}async function rt(e){tt(e);let t=await L.resolveTheme(e);return nt(e,t),t}function it(e){return L.getResolvedTheme(e)??rt(e)}var R;async function at({themes:e,langs:t,preferredHighlighter:n=`shiki-js`}){R??=l({themes:[],langs:[`text`],engine:n===`shiki-wasm`?u(r(()=>import(`./shiki-bundle-BD1THhST.js`).then(e=>e.i),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]))):o()});let i=st(R)?await R:R;R=i;let a=[];for(let e of t){if(e===`text`||e===`ansi`)continue;let t=He(e);`then`in t?a.push(t):ze(t,i)}let s=[];for(let t of e){let e=it(t);`then`in e?s.push(e):Ye(e,R)}return(a.length>0||s.length>0)&&await Promise.all([Promise.all(a).then(e=>{ze(e,i)}),Promise.all(s).then(e=>{Ye(e,i)})]),i}function ot(){if(R!=null&&!(`then`in R))return R}function st(e=R){return e!=null&&`then`in e}for(let e of $e.getThemes())L.registerThemeIfAbsent(e.name,e.load);function ct(e=C){let t=[];return typeof e==`string`?t.push(e):(t.push(e.dark),t.push(e.light)),t}function lt(e){for(let t of ct(e))if(!Ue.has(t))return!1;return!0}function ut(e,t){return e?.cacheKey===t?.cacheKey&&e?.contents===t?.contents&&e?.name===t?.name&&e?.lang===t?.lang}function dt(e,t){return e==null||t==null?e===t:e.startingLine===t.startingLine&&e.totalLines===t.totalLines&&e.bufferBefore===t.bufferBefore&&e.bufferAfter===t.bufferAfter}function ft(e){return N({tagName:`div`,children:[N({tagName:`div`,children:e.annotations?.map(e=>N({tagName:`slot`,properties:{name:e}})),properties:{"data-annotation-content":``}})],properties:{"data-line-annotation":`${e.hunkIndex},${e.lineIndex}`}})}function pt(e){switch(e){case`file`:return`diffs-icon-file-code`;case`change`:return`diffs-icon-symbol-modified`;case`new`:return`diffs-icon-symbol-added`;case`deleted`:return`diffs-icon-symbol-deleted`;case`rename-pure`:case`rename-changed`:return`diffs-icon-symbol-moved`}}function mt({fileOrDiff:e,mode:t,stickyHeader:n}){let r=`type`in e?e:void 0,i={"data-diffs-header":t,"data-change-type":r?.type,"data-sticky":n?``:void 0};return N({tagName:`div`,children:[t===`custom`?N({tagName:`slot`,properties:{name:S}}):ht({name:e.name,prevName:`prevName`in e?e.prevName:void 0,iconType:r?.type??`file`}),...t===`custom`?[]:[gt(r)]],properties:i})}function ht({name:e,prevName:t,iconType:n}){let r=[N({tagName:`slot`,properties:{name:b}}),P({name:pt(n),properties:{"data-change-icon":n}})];return t!=null&&(r.push(N({tagName:`div`,children:[N({tagName:`bdi`,children:[M(t)]})],properties:{"data-prev-name":``}})),r.push(P({name:`diffs-icon-arrow-right-short`,properties:{"data-rename-icon":``}}))),r.push(N({tagName:`div`,children:[N({tagName:`bdi`,children:[M(e)]})],properties:{"data-title":``}})),N({tagName:`div`,children:r,properties:{"data-header-content":``}})}function gt(e){let t=[];if(e!=null){let n=0,r=0;for(let t of e.hunks)n+=t.additionLines,r+=t.deletionLines;(r>0||n===0)&&t.push(N({tagName:`span`,children:[M(`-${r}`)],properties:{"data-deletions-count":``}})),(n>0||r===0)&&t.push(N({tagName:`span`,children:[M(`+${n}`)],properties:{"data-additions-count":``}}))}return t.push(N({tagName:`slot`,properties:{name:x}})),N({tagName:`div`,children:t,properties:{"data-metadata":``}})}function _t(e){return N({tagName:`pre`,properties:vt(e)})}function vt({diffIndicators:e,disableBackground:t,disableLineNumbers:n,overflow:r,split:i,totalLines:a,type:o,customProperties:s}){return{...s,"data-diff":o===`diff`?``:void 0,"data-file":o===`file`?``:void 0,"data-diff-type":o===`diff`?i?`split`:`single`:void 0,"data-overflow":r,"data-disable-line-numbers":n?``:void 0,"data-background":t?void 0:``,"data-indicators":e===`bars`||e===`classic`?e:void 0,style:`--diffs-min-number-column-width-default:${`${a}`.length}ch;`}}var z=new Map,yt=0,bt={"1c":`1c`,abap:`abap`,as:`actionscript-3`,ada:`ada`,adb:`ada`,ads:`ada`,adoc:`asciidoc`,asciidoc:`asciidoc`,"component.html":`angular-html`,"component.ts":`angular-ts`,conf:`nginx`,htaccess:`apache`,cls:`tex`,trigger:`apex`,apl:`apl`,applescript:`applescript`,scpt:`applescript`,ara:`ara`,asm:`asm`,s:`riscv`,astro:`astro`,awk:`awk`,bal:`ballerina`,sh:`zsh`,bash:`zsh`,bat:`cmd`,cmd:`cmd`,be:`berry`,beancount:`beancount`,bib:`bibtex`,bicep:`bicep`,"blade.php":`blade`,bsl:`bsl`,c:`c`,h:`objective-cpp`,cs:`csharp`,cpp:`cpp`,hpp:`cpp`,cc:`cpp`,cxx:`cpp`,hh:`cpp`,cdc:`cdc`,cairo:`cairo`,clar:`clarity`,clj:`clojure`,cljs:`clojure`,cljc:`clojure`,soy:`soy`,cmake:`cmake`,"CMakeLists.txt":`cmake`,cob:`cobol`,cbl:`cobol`,cobol:`cobol`,CODEOWNERS:`codeowners`,ql:`ql`,coffee:`coffeescript`,lisp:`lisp`,cl:`lisp`,lsp:`lisp`,log:`log`,v:`verilog`,cql:`cql`,cr:`crystal`,css:`css`,csv:`csv`,cue:`cue`,cypher:`cypher`,cyp:`cypher`,d:`d`,dart:`dart`,dax:`dax`,desktop:`desktop`,diff:`diff`,patch:`diff`,Dockerfile:`dockerfile`,dockerfile:`dockerfile`,env:`dotenv`,dm:`dream-maker`,edge:`edge`,el:`emacs-lisp`,ex:`elixir`,exs:`elixir`,elm:`elm`,erb:`erb`,erl:`erlang`,hrl:`erlang`,f:`fortran-fixed-form`,for:`fortran-fixed-form`,fs:`fsharp`,fsi:`fsharp`,fsx:`fsharp`,f03:`f03`,f08:`f08`,f18:`f18`,f77:`f77`,f90:`fortran-free-form`,f95:`fortran-free-form`,fnl:`fennel`,fish:`fish`,ftl:`ftl`,tres:`gdresource`,res:`gdresource`,gd:`gdscript`,gdshader:`gdshader`,gs:`genie`,feature:`gherkin`,COMMIT_EDITMSG:`git-commit`,"git-rebase-todo":`git-rebase`,gjs:`glimmer-js`,gleam:`gleam`,gts:`glimmer-ts`,glsl:`glsl`,vert:`glsl`,frag:`glsl`,shader:`shaderlab`,gp:`gnuplot`,plt:`gnuplot`,gnuplot:`gnuplot`,go:`go`,graphql:`graphql`,gql:`graphql`,groovy:`groovy`,gvy:`groovy`,hack:`hack`,haml:`haml`,hbs:`handlebars`,handlebars:`handlebars`,hs:`haskell`,lhs:`haskell`,hx:`haxe`,hcl:`hcl`,hjson:`hjson`,hlsl:`hlsl`,fx:`hlsl`,html:`html`,htm:`html`,http:`http`,rest:`http`,hxml:`hxml`,hy:`hy`,imba:`imba`,ini:`ini`,cfg:`ini`,jade:`pug`,pug:`pug`,java:`java`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jinja:`jinja`,jinja2:`jinja`,j2:`jinja`,jison:`jison`,jl:`julia`,json:`json`,json5:`json5`,jsonc:`jsonc`,jsonl:`jsonl`,jsonnet:`jsonnet`,libsonnet:`jsonnet`,jssm:`jssm`,jsx:`jsx`,kt:`kotlin`,kts:`kts`,kql:`kusto`,tex:`tex`,ltx:`tex`,lean:`lean4`,less:`less`,liquid:`liquid`,lit:`lit`,ll:`llvm`,logo:`logo`,lua:`lua`,luau:`luau`,Makefile:`makefile`,mk:`makefile`,makefile:`makefile`,md:`markdown`,markdown:`markdown`,marko:`marko`,m:`wolfram`,mat:`matlab`,mdc:`mdc`,mdx:`mdx`,wiki:`wikitext`,mediawiki:`wikitext`,mmd:`mermaid`,mermaid:`mermaid`,mips:`mipsasm`,mojo:`mojo`,"🔥":`mojo`,move:`move`,nar:`narrat`,nf:`nextflow`,nim:`nim`,nims:`nim`,nimble:`nim`,nix:`nix`,nu:`nushell`,mm:`objective-cpp`,ml:`ocaml`,mli:`ocaml`,mll:`ocaml`,mly:`ocaml`,pas:`pascal`,p:`pascal`,pl:`prolog`,pm:`perl`,t:`perl`,raku:`raku`,p6:`raku`,pl6:`raku`,php:`php`,phtml:`php`,pls:`plsql`,sql:`sql`,po:`po`,polar:`polar`,pcss:`postcss`,pot:`pot`,potx:`potx`,pq:`powerquery`,pqm:`powerquery`,ps1:`powershell`,psm1:`powershell`,psd1:`powershell`,prisma:`prisma`,pro:`prolog`,P:`prolog`,properties:`properties`,proto:`protobuf`,pp:`puppet`,purs:`purescript`,py:`python`,pyw:`python`,pyi:`python`,qml:`qml`,qmldir:`qmldir`,qss:`qss`,r:`r`,R:`r`,rkt:`racket`,rktl:`racket`,razor:`razor`,cshtml:`razor`,rb:`ruby`,rbw:`ruby`,reg:`reg`,regex:`regexp`,rel:`rel`,rs:`rust`,rst:`rst`,rake:`ruby`,gemspec:`ruby`,jbuilder:`ruby`,builder:`ruby`,rabl:`ruby`,arb:`ruby`,ru:`ruby`,podspec:`ruby`,Gemfile:`ruby`,Rakefile:`ruby`,Guardfile:`ruby`,Capfile:`ruby`,Berksfile:`ruby`,Brewfile:`ruby`,Vagrantfile:`ruby`,Thorfile:`ruby`,Appraisals:`ruby`,Dangerfile:`ruby`,sas:`sas`,sass:`sass`,scala:`scala`,sc:`scala`,scm:`scheme`,ss:`scheme`,sld:`scheme`,scss:`scss`,sdbl:`sdbl`,shadergraph:`shader`,st:`smalltalk`,sol:`solidity`,sparql:`sparql`,rq:`sparql`,spl:`splunk`,config:`ssh-config`,do:`stata`,ado:`stata`,dta:`stata`,styl:`stylus`,stylus:`stylus`,svelte:`svelte`,swift:`swift`,sv:`system-verilog`,svh:`system-verilog`,service:`systemd`,socket:`systemd`,device:`systemd`,timer:`systemd`,talon:`talonscript`,tasl:`tasl`,tcl:`tcl`,templ:`templ`,tf:`tf`,tfvars:`tfvars`,toml:`toml`,ts:`typescript`,tsp:`typespec`,tsv:`tsv`,tsx:`tsx`,ttl:`turtle`,twig:`twig`,typ:`typst`,vv:`v`,vala:`vala`,vapi:`vala`,vb:`vb`,vbs:`vb`,bas:`vb`,vh:`verilog`,vhd:`vhdl`,vhdl:`vhdl`,vim:`vimscript`,vue:`vue`,"vine.ts":`vue-vine`,vy:`vyper`,wasm:`wasm`,wat:`wasm`,wy:`文言`,wgsl:`wgsl`,wit:`wit`,wl:`wolfram`,nb:`wolfram`,xml:`xml`,xsl:`xsl`,xslt:`xsl`,yaml:`yaml`,yml:`yml`,zs:`zenscript`,zig:`zig`,zsh:`zsh`,sty:`tex`};function B(e){if(z.has(e))return z.get(e)??`text`;if(bt[e]!=null)return bt[e];let t=e.match(/\.([^/\\]+\.[^/\\]+)$/);if(t!=null){if(z.has(t[1]))return z.get(t[1])??`text`;if(bt[t[1]]!=null)return bt[t[1]]??`text`}let n=e.match(/\.([^.]+)$/)?.[1]??``;return z.has(n)?z.get(n)??`text`:bt[n]??`text`}function xt(e,t){let n=z.get(e);return n===t?!1:(n!=null&&console.warn(`setCustomExtension: overriding custom mapping for "${e}" from "${n}" to "${t}"`),z.set(e,t),yt++,!0)}function St(e,{theme:t,preferredHighlighter:n=`shiki-js`}){return{langs:[e??`text`],themes:ct(t),preferredHighlighter:n}}function V(e){return`annotation-${`side`in e?`${e.side}-`:``}${e.lineNumber}`}function H(e){return e.replace(/\n$|\r\n$/,``)}function Ct(e,t,n){let r=typeof n.lineInfo==`function`?n.lineInfo(t):n.lineInfo[t-1];if(r==null){let r=`processLine: line ${t}, contains no state.lineInfo`;throw console.error(r,{node:e,line:t,state:n}),Error(r)}return e.tagName=`div`,e.properties[`data-line`]=r.lineNumber,e.properties[`data-alt-line`]=r.altLineNumber,e.properties[`data-line-type`]=r.type,e.properties[`data-line-index`]=r.lineIndex,e.children.length===0&&e.children.push(M(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/shiki-bundle-4bLwaf7_.js","assets/rolldown-runtime-QTnfLwEv.js","assets/engine-compile-Bqjaa_8Z.js","assets/lib-DrPFkMXk.js","assets/code-languages-Dyc6uij-.js","assets/index-D07js1WI.js","assets/react-runtime-CVaUQXZF.js","assets/dist-Cib4eRMP.js","assets/bundle-mjs-rHxsej31.js","assets/tooltip-D3tWiAWP.js","assets/useInfiniteQuery-Bu9BuQ4a.js","assets/checkbox-nYXSVVQi.js","assets/check-BOdEYGxk.js","assets/loader-circle-B1P6CG7G.js","assets/dist-CaAkD3UC.js","assets/es2015-Ru0tXs3G.js","assets/file-tree-CqppWhX1.js","assets/provider-connection-queries-CSumXgIL.js","assets/index-C4ygqQbj.css"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{dt as r}from"./index-D07js1WI.js";import{c as i,s as a,t as o}from"./engine-compile-Bqjaa_8Z.js";import{n as s,r as c}from"./code-languages-Dyc6uij-.js";import{n as l,r as u,t as d}from"./shiki-bundle-4bLwaf7_.js";import{r as f}from"./file-change-D7aZLgtG.js";var p=`diffs-container`,m=/(?=^From [a-f0-9]+ .+$)/m,h=/(?=^diff --git)/gm,g=/^(---|\+\+\+)\s+([^\t\r\n]+)/,_=/^(---|\+\+\+)\s+[ab]\/([^\t\r\n]+)/,v=/^diff --git (?:"a\/(.+?)"|a\/(.+?)) (?:"b\/(.+?)"|b\/(.+?))$/,y=/^index ([0-9a-f]+)\.\.([0-9a-f]+)(?: (\d+))?$/i,b=`header-prefix`,x=`header-metadata`,S=`header-custom`,C={dark:`pierre-dark`,light:`pierre-light`},w=`data-theme-css`,T=`data-unsafe-css`,E=`data-diffs-scrollbar-measure`,D=`--diffs-scrollbar-gutter-measured`,O=1e5,ee={hunkLineCount:50,lineHeight:20,diffHeaderHeight:44,spacing:8};({...ee});var te=Object.freeze({fromStart:0,fromEnd:0}),k={startingLine:0,totalLines:1/0,bufferBefore:0,bufferAfter:0},A={startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:0};function j(e,t,n){if(e===t||e==null||t==null)return e===t;let r=new Set(n),i=Object.keys(e),a=new Set(Object.keys(t));for(let n of i)if(a.delete(n),!r.has(n)&&(!(n in t)||e[n]!==t[n]))return!1;for(let e of Array.from(a))if(!r.has(e))return!1;return!0}function ne(e,t){return e==null||t==null||typeof e==`string`||typeof t==`string`?e===t:e.dark===t.dark&&e.light===t.light}function re(e,t){let n=e?.theme??C,r=t?.theme??C,i=ie(e),a=ie(t);return ne(n,r)&&j(e,t,[`theme`,`parseDiffOptions`])&&j(i,a)}function ie(e){if(e!=null&&`parseDiffOptions`in e)return e.parseDiffOptions}function ae(e,t){return e?.start===t?.start&&e?.end===t?.end&&e?.side===t?.side&&e?.endSide===t?.endSide}function M(e){return{type:`text`,value:e}}function N({tagName:e,children:t=[],properties:n={}}){return{type:`element`,tagName:e,properties:n,children:t}}function P({name:e,width:t=16,height:n=16,properties:r}){return N({tagName:`svg`,properties:{width:t,height:n,viewBox:`0 0 16 16`,...r},children:[N({tagName:`use`,properties:{href:`#${e.replace(/^#/,``)}`}})]})}function oe(e){let t=e.children[0];for(;t!=null;){if(t.type===`element`&&t.tagName===`code`)return t;t=`children`in t?t.children[0]:null}}function se(e){return N({tagName:`div`,properties:{"data-gutter":``},children:e})}function ce(e,t,n,r={}){return N({tagName:`div`,properties:{"data-line-type":e,"data-column-number":t,"data-line-index":n,...r},children:t==null?void 0:[N({tagName:`span`,properties:{"data-line-number-content":``},children:[M(`${t}`)]})]})}function F(e,t,n){return N({tagName:`div`,properties:{"data-gutter-buffer":t,"data-buffer-size":n,"data-line-type":t===`annotation`?void 0:e,style:t===`annotation`?`grid-row: span ${n};`:`grid-row: span ${n};min-height:calc(${n} * 1lh);`}})}function le(){return N({tagName:`button`,properties:{"data-utility-button":``,type:`button`},children:[P({name:`diffs-icon-plus`,properties:{"data-icon":``}})]})}function ue(e,t){return e.lineNumber===t.lineNumber&&e.side===t.side}var de=class{mode;options;hoveredLine;hoveredToken;pre;gutterUtilityLine;gutterUtilityContainer;gutterUtilityButton;gutterUtilitySlot;interactiveLinesAttr=!1;interactiveLineNumbersAttr=!1;hasPointerListeners=!1;hasDocumentPointerListeners=!1;selectedRange=null;proposedSelectedRange;renderedSelectionRange;selectionAnchor;queuedSelectionRender;pointerSession={mode:`idle`};constructor(e,t){this.mode=e,this.options=t}setOptions(e){this.options=e}cleanUp(){this.pre?.removeEventListener(`click`,this.handlePointerClick),this.pre?.removeEventListener(`pointerdown`,this.handlePointerDown),this.pre?.removeEventListener(`pointermove`,this.handlePointerMove),this.pre?.removeEventListener(`pointerleave`,this.handlePointerLeave),this.pre?.removeAttribute(`data-interactive-lines`),this.pre?.removeAttribute(`data-interactive-line-numbers`),this.pre=void 0,this.gutterUtilityContainer?.remove(),this.gutterUtilityLine=void 0,this.gutterUtilityContainer=void 0,this.gutterUtilityButton=void 0,this.gutterUtilitySlot=void 0,this.clearHoveredLine(),this.clearHoveredToken(),this.detachDocumentPointerListeners(),this.clearPointerSession(),this.queuedSelectionRender!=null&&(cancelAnimationFrame(this.queuedSelectionRender),this.queuedSelectionRender=void 0),this.interactiveLinesAttr=!1,this.interactiveLineNumbersAttr=!1,this.hasPointerListeners=!1}setup(e){this.setSelectionDirty();let{usesCustomGutterUtility:t=!1,enableGutterUtility:n=!1}=this.options;this.pre!==e&&(this.cleanUp(),this.pre=e),n?this.ensureGutterUtilityNode(t):this.gutterUtilityContainer!=null&&(this.gutterUtilityContainer.remove(),this.gutterUtilityLine=void 0,this.gutterUtilityContainer=void 0,this.gutterUtilityButton=void 0,this.gutterUtilitySlot=void 0,this.pointerSession.mode===`gutterSelecting`&&(this.clearPointerSession(),this.detachDocumentPointerListeners())),this.syncPointerListeners(e),this.updateInteractiveLineAttributes(),this.renderSelection(),this.placeUtility()}setSelectionDirty(){this.renderedSelectionRange=void 0}isSelectionDirty(){return this.renderedSelectionRange===null}setSelection(e,t){let n=!(e===this.selectedRange||ae(e??void 0,this.selectedRange??void 0));!this.isSelectionDirty()&&!n||(this.proposedSelectedRange=void 0,this.selectedRange=e,this.renderSelection(),this.placeUtility(),n&&t?.notify!==!1&&this.notifySelectionCommitted())}getSelection(){return this.selectedRange}getHoveredLine=()=>{let e=this.gutterUtilityLine??this.hoveredLine;if(e!=null){if(this.mode===`diff`&&e.type===`diff-line`)return{lineNumber:e.lineNumber,side:e.annotationSide};if(this.mode===`file`&&e.type===`line`)return{lineNumber:e.lineNumber}}};handlePointerClick=e=>{let{onHunkExpand:t,onLineClick:n,onLineNumberClick:r,onTokenClick:i,onMergeConflictActionClick:a}=this.options;t==null&&n==null&&r==null&&a==null&&i==null||this.options.onGutterUtilityClick!=null&&Oe(e.composedPath())||(I(this.options.__debugPointerEvents,`click`,`FileDiff.DEBUG.handlePointerClick:`,e),this.handlePointerEvent({eventType:`click`,event:e}))};handlePointerMove=e=>{if(e.pointerType!==`mouse`)return;let{lineHoverHighlight:t=`disabled`,onLineEnter:n,onLineLeave:r,onTokenEnter:i,onTokenLeave:a,enableGutterUtility:o=!1}=this.options;t===`disabled`&&!o&&n==null&&r==null&&i==null&&a==null||(I(this.options.__debugPointerEvents,`move`,`FileDiff.DEBUG.handlePointerMove:`,e),this.handlePointerEvent({eventType:`move`,event:e}))};handlePointerLeave=e=>{let{__debugPointerEvents:t}=this.options;if(I(t,`move`,`FileDiff.DEBUG.handlePointerLeave: no event`),this.hoveredLine==null&&this.hoveredToken==null){I(t,`move`,`FileDiff.DEBUG.handlePointerLeave: returned early, no hovered line or token`);return}this.hoveredToken!=null&&(this.options.onTokenLeave?.(this.hoveredToken,e),this.clearHoveredToken()),this.hoveredLine!=null&&(this.options.onLineLeave?.({...this.hoveredLine,event:e}),this.clearHoveredLine()),this.placeUtility()};handlePointerEvent({eventType:e,event:t}){let{__debugPointerEvents:n}=this.options,r=t.composedPath();I(n,e,`FileDiff.DEBUG.handlePointerEvent:`,{eventType:e,composedPath:r});let i=this.resolvePointerTarget(r);I(n,e,`FileDiff.DEBUG.handlePointerEvent: resolvePointerTarget result:`,i);let{onLineClick:a,onLineNumberClick:o,onLineEnter:s,onLineLeave:c,onTokenClick:l,onTokenEnter:u,onTokenLeave:d,onHunkExpand:f,onMergeConflictActionClick:p}=this.options;switch(e){case`move`:{let e=ge(i)&&this.hoveredLine?.lineElement===i.lineElement;he(i)&&this.hoveredToken?.tokenElement===i.tokenElement||(this.hoveredToken!=null&&(d?.(this.hoveredToken,t),this.clearHoveredToken()),he(i)&&(this.setHoveredToken(this.toTokenEventBaseProps(i)),u?.(this.hoveredToken,t))),e||(this.hoveredLine!=null&&(c?.({...this.hoveredLine,event:t}),this.clearHoveredLine()),ge(i)?(this.setHoveredLine(this.toEventBaseProps(i)),this.placeUtility(),s?.({...this.hoveredLine,event:t})):this.placeUtility());break}case`click`:{if(i==null)break;if(ve(i)&&p!=null){p(i);break}if(_e(i)&&f!=null){f(i.hunkIndex,i.all||t.shiftKey?`both`:i.direction,i.all||t.shiftKey?1/0:void 0);break}if(!ge(i))break;he(i)&&l!=null&&l(this.toTokenEventBaseProps(i),t);let e=this.toEventBaseProps(i);o!=null&&i.numberColumn?o({...e,event:t}):a?.({...e,event:t});break}}}syncPointerListeners(e){let{__debugPointerEvents:t,lineHoverHighlight:n=`disabled`,onLineClick:r,onLineNumberClick:i,onLineEnter:a,onLineLeave:o,onTokenClick:s,onTokenEnter:c,onTokenLeave:l,onHunkExpand:u,onMergeConflictActionClick:d,enableGutterUtility:f=!1,enableLineSelection:p=!1,onGutterUtilityClick:m}=this.options,h=m!=null,g=n!==`disabled`||r!=null||i!=null||a!=null||o!=null||s!=null||c!=null||l!=null||u!=null||d!=null||f||p||h;g&&!this.hasPointerListeners?(e.addEventListener(`click`,this.handlePointerClick),e.addEventListener(`pointerdown`,this.handlePointerDown),e.addEventListener(`pointermove`,this.handlePointerMove),e.addEventListener(`pointerleave`,this.handlePointerLeave),this.hasPointerListeners=!0,I(t,`click`,`FileDiff.DEBUG.attachEventListeners: Attaching click events for:`,(()=>{let e=[];return(t===`both`||t===`click`)&&(r!=null&&e.push(`onLineClick`),i!=null&&e.push(`onLineNumberClick`),u!=null&&e.push(`expandable hunk separators`),d!=null&&e.push(`merge conflict actions`)),e})()),I(t,`move`,`FileDiff.DEBUG.attachEventListeners: Attaching pointer move event`),I(t,`move`,`FileDiff.DEBUG.attachEventListeners: Attaching pointer leave event`)):!g&&this.hasPointerListeners&&(e.removeEventListener(`click`,this.handlePointerClick),e.removeEventListener(`pointerdown`,this.handlePointerDown),e.removeEventListener(`pointermove`,this.handlePointerMove),e.removeEventListener(`pointerleave`,this.handlePointerLeave),this.hasPointerListeners=!1);let _=this.pointerSession.mode===`selecting`||this.pointerSession.mode===`pendingSingleLineUnselect`,v=this.pointerSession.mode===`gutterSelecting`;(!p&&_||!h&&v)&&(this.clearPointerSession(),this.detachDocumentPointerListeners(),this.selectionAnchor=void 0,this.clearPendingSingleLineState())}updateInteractiveLineAttributes(){if(this.pre==null)return;let{onLineClick:e,onLineNumberClick:t,enableLineSelection:n=!1}=this.options,r=e!=null,i=t!=null||n;r&&!this.interactiveLinesAttr?(this.pre.setAttribute(`data-interactive-lines`,``),this.interactiveLinesAttr=!0):!r&&this.interactiveLinesAttr&&(this.pre.removeAttribute(`data-interactive-lines`),this.interactiveLinesAttr=!1),i&&!this.interactiveLineNumbersAttr?(this.pre.setAttribute(`data-interactive-line-numbers`,``),this.interactiveLineNumbersAttr=!0):!i&&this.interactiveLineNumbersAttr&&(this.pre.removeAttribute(`data-interactive-line-numbers`),this.interactiveLineNumbersAttr=!1)}handlePointerDown=e=>{if(e.pointerType===`mouse`&&e.button!==0||this.pre==null||this.pointerSession.mode!==`idle`)return;let t=e.composedPath();Oe(t)&&this.options.onGutterUtilityClick!=null?this.startGutterSelectionFromPointerDown(e):(e.pointerType!==`mouse`&&this.revealUtilityFromGutterPath(t),this.startLineSelectionFromPointerDown(e))};startLineSelectionFromPointerDown(e){let{enableLineSelection:t=!1}=this.options;if(!t)return;let n=this.resolveSelectionInfo(e,{source:`event-path`,requireNumberColumn:!0});if(n==null)return;let{pre:r}=this;if(r==null)return;let{lineNumber:i,eventSide:a,lineIndex:o}=n;if(e.shiftKey&&this.selectedRange!=null){let t=this.getIndexesFromSelection(this.selectedRange,r.getAttribute(`data-diff-type`)===`split`);if(t==null)return;let n=t.start<=t.end?o>=t.start:o<=t.end;this.selectionAnchor={lineNumber:n?this.selectedRange.start:this.selectedRange.end,side:n?this.selectedRange.side:this.selectedRange.endSide??this.selectedRange.side},this.updateSelection(i,a,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.pointerSession={mode:`selecting`,pointerId:e.pointerId},this.attachDocumentPointerListeners();return}if(this.selectedRange?.start===i&&this.selectedRange?.end===i){let t={lineNumber:i,side:a};this.selectionAnchor=t,this.pointerSession={mode:`pendingSingleLineUnselect`,pointerId:e.pointerId,anchor:t,pending:t},this.attachDocumentPointerListeners();return}this.options.controlledSelection===!0?this.proposedSelectedRange=null:this.selectedRange=null,this.placeUtility(),this.selectionAnchor={lineNumber:i,side:a},this.updateSelection(i,a,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.pointerSession={mode:`selecting`,pointerId:e.pointerId},this.attachDocumentPointerListeners()}startGutterSelectionFromPointerDown(e){let{enableLineSelection:t=!1,onGutterUtilityClick:n}=this.options;if(n==null)return;let r=this.currentSelectionEnds(),i=r?.bottom??this.resolveSelectionPoint(e,{source:`event-path`,excludeUtility:!1}),a=r?.top??i;i==null||a==null||(e.preventDefault(),e.stopPropagation(),this.pointerSession={mode:`gutterSelecting`,pointerId:e.pointerId,anchor:a,current:i},t&&(this.selectionAnchor={lineNumber:a.lineNumber,side:a.side},this.updateSelection(i.lineNumber,i.side,!1),this.notifySelectionStart(this.getCurrentSelectionRange())),this.attachDocumentPointerListeners())}handleDocumentPointerMove=e=>{let{enableLineSelection:t=!1}=this.options;switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let n=this.resolveSelectionPoint(e,{source:`coordinates-first`});if(n==null)return;this.pointerSession.current=n,t===!0&&this.updateSelection(n.lineNumber,n.side);return}case`selecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let t=this.resolveSelectionInfo(e,{source:`coordinates-first`,requireNumberColumn:!1});if(t==null||this.selectionAnchor==null)return;this.updateSelection(t.lineNumber,t.eventSide);return}case`pendingSingleLineUnselect`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let t=this.resolveSelectionInfo(e,{source:`coordinates-first`,requireNumberColumn:!1});if(t==null||this.selectionAnchor==null)return;let n={lineNumber:t.lineNumber,side:t.eventSide};if(ue(this.pointerSession.pending,n))return;this.updateSelection(t.lineNumber,t.eventSide,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.notifySelectionChangeDelta(),this.pointerSession={mode:`selecting`,pointerId:e.pointerId};return}}};handleDocumentPointerUp=e=>{let{enableLineSelection:t=!1,onGutterUtilityClick:n}=this.options;switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let r=this.resolveSelectionPoint(e,{source:`coordinates-first`});r!=null&&(this.pointerSession.current=r,t&&this.updateSelection(r.lineNumber,r.side)),n?.(this.buildSelectedLineRange(this.pointerSession.anchor,this.pointerSession.current)),this.selectionAnchor=void 0,t&&(this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection()),this.clearPointerSession(),this.detachDocumentPointerListeners();return}case`pendingSingleLineUnselect`:if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault(),this.updateSelection(null,void 0,!1),this.selectionAnchor=void 0,this.clearPendingSingleLineState(),this.detachDocumentPointerListeners(),this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection();return;case`selecting`:if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault(),this.selectionAnchor=void 0,this.detachDocumentPointerListeners(),this.clearPointerSession(),this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection()}};handleDocumentPointerCancel=e=>{switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:case`selecting`:case`pendingSingleLineUnselect`:if(`pointerId`in this.pointerSession&&e.pointerId!==this.pointerSession.pointerId)return;this.selectionAnchor=void 0,this.clearProposedSelection(),this.clearPendingSingleLineState(),this.clearPointerSession(),this.detachDocumentPointerListeners()}};clearHoveredLine(){this.hoveredLine!=null&&(this.hoveredLine.lineElement.removeAttribute(`data-hovered`),this.hoveredLine.numberElement.removeAttribute(`data-hovered`),this.hoveredLine=void 0)}setHoveredLine(e){let{lineHoverHighlight:t=`disabled`}=this.options;this.hoveredLine!=null&&this.clearHoveredLine(),this.hoveredLine=e,t!==`disabled`&&((t===`both`||t===`line`)&&this.hoveredLine.lineElement.setAttribute(`data-hovered`,``),(t===`both`||t===`number`)&&this.hoveredLine.numberElement.setAttribute(`data-hovered`,``))}clearHoveredToken(){this.hoveredToken!=null&&(this.hoveredToken=void 0)}setHoveredToken(e){this.hoveredToken!=null&&this.clearHoveredToken(),this.hoveredToken=e}ensureGutterUtilityNode(e){if(this.gutterUtilityContainer??(this.gutterUtilityContainer=document.createElement(`div`),this.gutterUtilityContainer.setAttribute(`data-gutter-utility-slot`,``)),e)this.gutterUtilityButton!=null&&(this.gutterUtilityButton.remove(),this.gutterUtilityButton=void 0),this.gutterUtilitySlot??(this.gutterUtilitySlot=document.createElement(`slot`),this.gutterUtilitySlot.name=`gutter-utility-slot`),this.gutterUtilitySlot.parentNode!==this.gutterUtilityContainer&&this.gutterUtilityContainer.replaceChildren(this.gutterUtilitySlot);else{if(this.gutterUtilitySlot?.remove(),this.gutterUtilitySlot=void 0,this.gutterUtilityButton==null){let e=document.createElement(`div`);e.innerHTML=i(le());let t=e.firstElementChild;if(!(t instanceof HTMLButtonElement))throw Error(`InteractionManager.ensureGutterUtilityNode: Node element should be a button`);t.remove(),this.gutterUtilityButton=t}this.gutterUtilityButton.parentNode!==this.gutterUtilityContainer&&this.gutterUtilityContainer.replaceChildren(this.gutterUtilityButton)}}revealUtilityFromGutterPath(e){if(this.placeUtilityFromSelection())return;let t=this.resolvePointerTarget(e);me(t)&&t.numberColumn&&this.showUtilityOnLine(this.toEventBaseProps(t))}placeUtility(){if(!this.placeUtilityFromSelection()){if(this.hoveredLine!=null){this.showUtilityOnLine(this.hoveredLine);return}this.hideUtility()}}placeUtilityFromSelection(){let e=this.currentSelectionEnds();if(e==null)return!1;let t=this.targetForSelectionPoint(e.bottom);return t==null?this.hideUtility():this.showUtilityOnLine(this.toEventBaseProps(t)),!0}showUtilityOnLine(e){this.gutterUtilityContainer!=null&&(this.gutterUtilityLine=e,e.numberElement.appendChild(this.gutterUtilityContainer))}hideUtility(){this.gutterUtilityContainer?.remove(),this.gutterUtilityLine=void 0}currentSelectionEnds(){let e=this.getCurrentSelectionRange();return e==null?void 0:this.selectionEnds(e)}selectionEnds(e){let t={lineNumber:e.start,side:e.side},n={lineNumber:e.end,side:e.endSide??e.side},r=this.selectionPointRowIndex(t),i=this.selectionPointRowIndex(n);if(!(r==null||i==null))return r>i?{top:n,bottom:t}:{top:t,bottom:n}}selectionPointRowIndex(e){let t=this.getLineIndex(e.lineNumber,e.side);if(t!=null)return this.isSplitDiff()?t[1]:t[0]}targetForSelectionPoint(e){if(this.pre==null)return;let t=this.getLineIndex(e.lineNumber,e.side);if(t==null)return;let n=this.mode===`diff`?`${t[0]},${t[1]}`:`${t[0]}`,r=this.pre.querySelectorAll(`[data-column-number="${e.lineNumber}"][data-line-index="${n}"]`);for(let t of r){if(!(t instanceof HTMLElement))continue;let n=this.resolvePointerTarget(xe(t));if(me(n)&&!(this.mode===`diff`&&e.side!=null&&n.side!==e.side))return n}}attachDocumentPointerListeners(){this.hasDocumentPointerListeners||=(document.addEventListener(`pointermove`,this.handleDocumentPointerMove),document.addEventListener(`pointerup`,this.handleDocumentPointerUp),document.addEventListener(`pointercancel`,this.handleDocumentPointerCancel),!0)}detachDocumentPointerListeners(){this.hasDocumentPointerListeners&&=(document.removeEventListener(`pointermove`,this.handleDocumentPointerMove),document.removeEventListener(`pointerup`,this.handleDocumentPointerUp),document.removeEventListener(`pointercancel`,this.handleDocumentPointerCancel),!1)}clearPointerSession(){this.pointerSession={mode:`idle`}}clearPendingSingleLineState(){this.pointerSession.mode===`pendingSingleLineUnselect`&&(this.pointerSession={mode:`idle`})}selectionInfoFromPath(e,t){let n=this.resolvePointerTarget(e);if(me(n)&&!(t&&!n.numberColumn)&&n.splitLineIndex!=null)return{lineIndex:n.splitLineIndex,lineNumber:n.lineNumber,eventSide:this.mode===`diff`?n.side:void 0}}resolveSelectionInfo(e,t){let n=this.resolveSelectionPath(e,t);return n==null?void 0:this.selectionInfoFromPath(n,t.requireNumberColumn)}selectionPointFromPath(e){let t=this.resolvePointerTarget(e);if(me(t))return{lineNumber:t.lineNumber,side:this.mode===`diff`?t.side:void 0}}resolveSelectionPoint(e,t){let n=this.resolveSelectionPath(e,t);return n==null?void 0:this.selectionPointFromPath(n)}resolveSelectionPath(e,t){let n=t.excludeUtility!==!1;switch(t.source){case`event-path`:return this.pathFromEventPath(e.composedPath(),n);case`coordinates-first`:{let t=this.pathFromCoordinates(e,n);return t===void 0?this.pathFromEventPath(e.composedPath(),n):t??void 0}}}pathFromCoordinates(e,t){let n=this.hitTest(e);if(n!==void 0)return n===null?null:this.pathFromElement(n,t)??null}pathFromEventPath(e,t){if(!(t&&Oe(e))){for(let n of e)if(n instanceof Element)return this.pathFromElement(n,t)}}pathFromElement(e,t){let n=xe(e);if(t&&Oe(n))return;let r=Se(e);return r==null?this.pathFromAnnotationSlot(e):xe(r)}pathFromAnnotationSlot(e){let t=we(Ce(e));if(t==null)return;let n=this.targetForSelectionPoint(t);return n==null?void 0:xe(n.lineElement)}hitTest(e){if(!Number.isFinite(e.clientX)||!Number.isFinite(e.clientY))return;let t=this.pre?.getRootNode(),n=Te(t)?t:Te(document)?document:void 0;if(n!=null)return n.elementFromPoint(e.clientX,e.clientY)}getLineIndex(e,t){let{getLineIndex:n}=this.options;return n==null?[e-1,e-1]:n(e,t)}getCurrentSelectionRange(){return this.proposedSelectedRange===void 0?this.selectedRange:this.proposedSelectedRange}clearProposedSelection(){this.proposedSelectedRange=void 0}updateSelection(e,t,n=!0){let r=this.getCurrentSelectionRange(),i;if(e==null)i=null;else{let n=this.selectionAnchor?.side??t,r=this.selectionAnchor?.lineNumber??e;i=this.buildSelectionRange(r,e,n,t)}ae(r??void 0,i??void 0)||(this.options.controlledSelection===!0?this.proposedSelectedRange=i:(this.selectedRange=i,this.queuedSelectionRender??=requestAnimationFrame(this.renderSelection)),this.placeUtility(),n&&this.notifySelectionChangeDelta())}getIndexesFromSelection(e,t){if(this.pre==null)return;let n=this.getLineIndex(e.start,e.side),r=this.getLineIndex(e.end,e.endSide??e.side);return n!=null&&r!=null?{start:t?n[1]:n[0],end:t?r[1]:r[0]}:void 0}renderSelection=()=>{if(this.queuedSelectionRender!=null&&(cancelAnimationFrame(this.queuedSelectionRender),this.queuedSelectionRender=void 0),this.pre==null||this.renderedSelectionRange===this.selectedRange)return;let e=this.pre.querySelectorAll(`[data-selected-line]`);for(let t of e)t.removeAttribute(`data-selected-line`);if(this.renderedSelectionRange=this.selectedRange,this.selectedRange==null)return;let{children:t}=this.pre;if(t.length===0)return;if(t.length>2)throw console.error(t),Error(`InteractionManager.renderSelection: Somehow there are more than 2 code elements...`);let n=this.pre.getAttribute(`data-diff-type`)===`split`,r=this.getIndexesFromSelection(this.selectedRange,n);if(r==null)throw console.error({rowRange:r,selectedRange:this.selectedRange}),Error(`InteractionManager.renderSelection: No valid rowRange`);let i=r.start===r.end,a=Math.min(r.start,r.end),o=Math.max(r.start,r.end);for(let e of t){let[t,r]=e.children,s=r.children.length;if(s!==t.children.length)throw Error(`InteractionManager.renderSelection: gutter and content children dont match, something is wrong`);for(let e=0;e<s;e++){let s=r.children[e],c=t.children[e];if(!(s instanceof HTMLElement)||!(c instanceof HTMLElement))continue;let l=this.parseLineIndex(s,n);if((l??0)>o)break;if(l==null||l<a)continue;let u=i?`single`:l===a?`first`:l===o?`last`:``;s.setAttribute(`data-selected-line`,u),c.setAttribute(`data-selected-line`,u),c.nextSibling instanceof HTMLElement&&s.nextSibling instanceof HTMLElement&&(s.nextSibling.hasAttribute(`data-line-annotation`)||s.nextSibling.hasAttribute(`data-merge-conflict-actions`))&&(i?(u=`last`,s.setAttribute(`data-selected-line`,`first`)):l===a?u=``:l===o&&s.setAttribute(`data-selected-line`,``),s.nextSibling.setAttribute(`data-selected-line`,u),c.nextSibling.setAttribute(`data-selected-line`,u))}}};notifySelectionCommitted(){this.options.onLineSelected?.(this.getCurrentSelectionRange()??null)}notifySelectionChangeDelta(){this.options.onLineSelectionChange?.(this.getCurrentSelectionRange()??null)}notifySelectionStart(e){this.options.onLineSelectionStart?.(e)}notifySelectionEnd(e){this.options.onLineSelectionEnd?.(e)}toEventBaseProps(e){return this.mode===`file`?{type:`line`,lineElement:e.lineElement,lineNumber:e.lineNumber,numberColumn:e.numberColumn,numberElement:e.numberElement}:{type:`diff-line`,annotationSide:e.side,lineType:e.lineType,lineElement:e.lineElement,numberElement:e.numberElement,lineNumber:e.lineNumber,numberColumn:e.numberColumn}}toTokenEventBaseProps({lineCharEnd:e,lineCharStart:t,lineNumber:n,side:r,tokenElement:i,tokenText:a}){return this.mode===`file`?{type:`token`,lineCharEnd:e,lineCharStart:t,lineNumber:n,tokenElement:i,tokenText:a}:{type:`token`,lineCharEnd:e,lineCharStart:t,lineNumber:n,side:r,tokenElement:i,tokenText:a}}buildSelectedLineRange(e,t){return this.buildSelectionRange(e.lineNumber,t.lineNumber,e.side,t.side)}buildSelectionRange(e,t,n,r){return{start:e,end:t,...n==null?{}:{side:n},...n!==r&&r!=null?{endSide:r}:{}}}resolvePointerTarget(e){let t=!1,n,r,i,a,o,s,c,l,u,d;for(let f of e){if(!(f instanceof HTMLElement))continue;if(d==null&&f.hasAttribute(`data-merge-conflict-action`)){let e=f.getAttribute(`data-merge-conflict-action`)??void 0,t=f.getAttribute(`data-merge-conflict-conflict-index`)??void 0,n=t==null?NaN:Number.parseInt(t,10);ye(e)&&Number.isFinite(n)&&(d={kind:`merge-conflict-action`,resolution:e,conflictIndex:n})}if(s==null&&f.hasAttribute(`data-char`)){s=f;let e=f.getAttribute(`data-char`);if(e!=null){let t=Number.parseInt(e,10);if(!Number.isNaN(t)){let e=f.textContent??``,n=t+e.length;(e.trim()!==``||this.options.enableTokenInteractionsOnWhitespace===!0)&&(c={tokenElement:s,lineCharStart:t,lineCharEnd:n,tokenText:e});continue}}}let e=o==null?f.getAttribute(`data-column-number`)??void 0:void 0;if(e!=null){o=f,u=Number.parseInt(e,10),t=!0,n=De(f),a=f.getAttribute(`data-line-index`)??void 0;continue}let p=i==null?f.getAttribute(`data-line`)??void 0:void 0;if(p!=null){i=f,u=Number.parseInt(p,10),n=De(f),a=f.getAttribute(`data-line-index`)??void 0;continue}if(l==null&&(f.hasAttribute(`data-expand-button`)||f.hasAttribute(`data-unmodified-lines`))){l={hunkIndex:void 0,direction:f.hasAttribute(`data-expand-up`)?`up`:f.hasAttribute(`data-expand-down`)?`down`:`both`,all:f.hasAttribute(`data-expand-all-button`)};continue}let m=l==null?void 0:f.getAttribute(`data-expand-index`)??void 0;if(l!=null&&m!=null){let e=Number.parseInt(m,10);Number.isNaN(e)||(l.hunkIndex=e);continue}if(r==null&&f.hasAttribute(`data-code`)){r=f;break}}if(d!=null)return d;if(l?.hunkIndex!=null)return{type:`line-info`,hunkIndex:l.hunkIndex,direction:l.direction,all:l.all};if(i??=a==null?void 0:be(r,`[data-line][data-line-index="${a}"]`),o??=a==null?void 0:be(r,`[data-column-number][data-line-index="${a}"]`),r==null||i==null||o==null||n==null||u==null||Number.isNaN(u))return;let f=this.parseLineIndex(i,this.isSplitDiff());return c==null?this.mode===`file`?{kind:`line`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:void 0,splitLineIndex:f}:{kind:`line`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:Ee(n,r),splitLineIndex:f}:this.mode===`file`?{kind:`token`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:void 0,splitLineIndex:f,...c}:{kind:`token`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:Ee(n,r),splitLineIndex:f,...c}}isSplitDiff(){return this.pre?.getAttribute(`data-diff-type`)===`split`}parseLineIndex(e,t){let n=(e.getAttribute(`data-line-index`)??``).split(`,`).map(e=>Number.parseInt(e,10)).filter(e=>!Number.isNaN(e));if(t&&n.length===2)return n[1];if(!t)return n[0]}};function fe({enableTokenInteractionsOnWhitespace:e,enableGutterUtility:t,lineHoverHighlight:n,onGutterUtilityClick:r,onLineClick:i,onLineEnter:a,onLineLeave:o,onLineNumberClick:s,onTokenClick:c,onTokenEnter:l,onTokenLeave:u,renderGutterUtility:d,__debugPointerEvents:f,enableLineSelection:p,controlledSelection:m,onLineSelected:h,onLineSelectionStart:g,onLineSelectionChange:_,onLineSelectionEnd:v},y,b,x){return{enableTokenInteractionsOnWhitespace:e,enableGutterUtility:pe({enableGutterUtility:t,renderGutterUtility:d,onGutterUtilityClick:r}),usesCustomGutterUtility:d!=null,lineHoverHighlight:n,onGutterUtilityClick:r,onHunkExpand:y,onMergeConflictActionClick:x,onLineClick:i,onLineEnter:a,onLineLeave:o,onLineNumberClick:s,onTokenClick:c,onTokenEnter:l,onTokenLeave:u,__debugPointerEvents:f,enableLineSelection:p,controlledSelection:m,onLineSelected:h,onLineSelectionStart:g,onLineSelectionChange:_,onLineSelectionEnd:v,getLineIndex:b}}function pe({enableGutterUtility:e,renderGutterUtility:t,onGutterUtilityClick:n}){if(n!=null&&t!=null)throw Error(`Cannot use both 'onGutterUtilityClick' and 'renderGutterUtility'. Use only one gutter utility API.`);return e??!1}function me(e){return e!=null&&`kind`in e&&e.kind===`line`}function he(e){return e!=null&&`kind`in e&&e.kind===`token`}function ge(e){return me(e)||he(e)}function _e(e){return`type`in e&&e.type===`line-info`}function ve(e){return`kind`in e&&e.kind===`merge-conflict-action`}function ye(e){return e===`current`||e===`incoming`||e===`both`}function be(e,t){let n=e?.querySelector(t);return n instanceof HTMLElement?n:void 0}function xe(e){let t=[],n=e;for(;n!=null;)t.push(n),n=n.parentNode;return t}function Se(e){let t=e.closest(`[data-line], [data-column-number]`);if(t instanceof HTMLElement)return t;let n=e.closest(`[data-line-annotation], [data-gutter-buffer="annotation"]`);if(!(n instanceof HTMLElement))return;let r=n.previousElementSibling;return r instanceof HTMLElement&&(r.hasAttribute(`data-line`)||r.hasAttribute(`data-column-number`))?r:void 0}function Ce(e){let t=e.closest(`[slot^="annotation-"]`);if(t instanceof HTMLElement)return t.getAttribute(`slot`)??void 0;if(e instanceof HTMLElement){let t=e.getAttribute(`name`)??void 0;return t!=null&&t.startsWith(`annotation-`)?t:void 0}}function we(e){if(e==null)return;let t=/^annotation-(?:(additions|deletions)-)?(\d+)$/.exec(e);if(t==null)return;let n=Number.parseInt(t[2],10);if(!(!Number.isFinite(n)||n<=0))return{lineNumber:n,side:t[1]}}function Te(e){return e!=null&&typeof e.elementFromPoint==`function`}function Ee(e,t){switch(e){case`change-deletion`:return`deletions`;case`change-addition`:return`additions`;default:return t.hasAttribute(`data-deletions`)?`deletions`:`additions`}}function De(e){let t=e.getAttribute(`data-line-type`);if(t!=null)switch(t){case`change-deletion`:case`change-addition`:case`context`:case`context-expanded`:return t;default:return}}function Oe(e){for(let t of e)if(t instanceof HTMLElement&&(t.hasAttribute(`data-utility-button`)||t.hasAttribute(`data-gutter-utility-slot`)||t.getAttribute(`slot`)===`gutter-utility-slot`||t.getAttribute(`name`)===`gutter-utility-slot`))return!0;return!1}function I(e=`none`,t,...n){switch(e){case`none`:return;case`both`:break;case`click`:if(t!==`click`)return;break;case`move`:if(t!==`move`)return;break}console.log(...n)}var ke=class e{static resizeObserver;static managersByElement=new Map;static getResizeObserver(){let t=e.resizeObserver??new ResizeObserver(e.handleSharedResizeEntries);return e.resizeObserver=t,t}static handleSharedResizeEntries(t){let n=new Map;for(let r of t){let t=e.managersByElement.get(r.target);if(t==null)continue;let i=n.get(t);i==null?n.set(t,[r]):i.push(r)}for(let[e,t]of n)e.handleResizeEntries(t)}observedNodes=new Map;setup(e,t){let n=new Set,r=0,i=new Map(this.observedNodes);this.observedNodes.clear();for(let t of e.children){if(r===2)break;let e=(()=>{if(t instanceof HTMLElement&&t.tagName===`CODE`)return t})();if(e==null)continue;r++;let n=i.get(e);if(n!=null&&n.type!==`code`)throw Error(`ResizeManager.setup: somehow a code node is being used for an annotation, should be impossible`);let a=e.firstElementChild;a instanceof HTMLElement||(a=null),n==null?(n={type:`code`,codeElement:e,numberElement:a,codeWidth:`auto`,numberWidth:0},this.observedNodes.set(e,n),this.observe(e),a!=null&&(this.observedNodes.set(a,n),this.observe(a))):(this.observedNodes.set(e,n),i.delete(e),n.numberElement===a?n.numberElement==null?n.numberWidth=0:(i.delete(n.numberElement),this.observedNodes.set(n.numberElement,n)):(n.numberElement!=null&&(this.unobserve(n.numberElement),i.delete(n.numberElement)),a!=null&&(this.observe(a),i.delete(a),this.observedNodes.set(a,n)),n.numberElement=a,n.numberWidth=0))}if(r>1&&!t){let t=e.querySelectorAll(`[data-line-annotation*=","]`),r=new Map;for(let e of t){if(!(e instanceof HTMLElement))continue;let t=e.getAttribute(`data-line-annotation`)??``;if(!/^-?\d+,-?\d+$/.test(t)){console.error(`DiffFileRenderer.setupResizeObserver: Invalid element or annotation`,{lineAnnotation:t,element:e});continue}let n=r.get(t);n??(n=[],r.set(t,n)),n.push(e)}for(let[e,t]of r){if(t.length!==2){console.error(`DiffFileRenderer.setupResizeObserver: Bad Pair`,e,t);continue}let[r,a]=t,o=r.firstElementChild,s=a.firstElementChild;if(!(r instanceof HTMLElement)||!(a instanceof HTMLElement)||!(o instanceof HTMLElement)||!(s instanceof HTMLElement))continue;let c=i.get(o);if(c!=null){this.observedNodes.set(o,c),this.observedNodes.set(s,c),i.delete(o),i.delete(s);continue}let l=o.getBoundingClientRect().height,u=s.getBoundingClientRect().height;c={type:`annotations`,column1:{container:r,child:o,childHeight:l},column2:{container:a,child:s,childHeight:u},currentHeight:`auto`},n.add({child1:o,child2:s,item:c,newHeight:Math.max(l,u)})}for(let e of n)this.applyNewHeight(e.item,e.newHeight),this.observedNodes.set(e.child1,e.item),this.observedNodes.set(e.child2,e.item),this.observe(e.child1),this.observe(e.child2);n.clear()}for(let[e,t]of i)this.unobserve(e),t.type===`code`?Me(t):Ne(t);i.clear()}cleanUp(){for(let e of this.observedNodes.keys())this.unobserve(e);this.observedNodes.clear()}observe(t){let{managersByElement:n}=e,r=n.get(t);if(r!==this){if(r!=null&&r!==this)throw Error(`ResizeManager.observe: element is already owned by another ResizeManager`);n.set(t,this),e.getResizeObserver().observe(t)}}unobserve(t){let{managersByElement:n,resizeObserver:r}=e,i=n.get(t);if(i!=null){if(i!==this)throw Error(`ResizeManager.unobserve: element is owned by another ResizeManager`);n.delete(t),r?.unobserve(t),r!=null&&n.size===0&&(r.disconnect(),e.resizeObserver=void 0)}}handleResizeEntries(e){let t=new Map,n=new Set;for(let r of e){let{target:e,borderBoxSize:i,contentBoxSize:a}=r;if(!(e instanceof HTMLElement)){console.error(`ResizeManager.handleResizeEntries: Invalid element for ResizeObserver`,r);continue}let o=this.observedNodes.get(e);if(o==null){console.error(`ResizeManager.handleResizeEntries: Not a valid observed node`,r);continue}if(o.type===`annotations`){let t=(()=>{if(e===o.column1.child)return o.column1;if(e===o.column2.child)return o.column2})();if(t==null){console.error(`ResizeManager.handleResizeEntries: Couldn't find a column for`,{item:o,target:e});continue}t.childHeight=i[0].blockSize,n.add(o)}else if(o.type===`code`){let n=t.get(o)??{},r=a[0].inlineSize;e===o.codeElement?n.codeInlineSize=r:e===o.numberElement&&(n.numberInlineSize=r),t.set(o,n)}}this.applyAnnotationUpdates(n),n.clear(),this.applyColumnUpdates(t),t.clear()}applyAnnotationUpdates(e){for(let t of e)this.applyNewHeight(t,Math.max(t.column1.childHeight,t.column2.childHeight))}applyColumnUpdates=e=>{for(let[t,n]of e){let e=n.codeInlineSize==null?t.codeWidth:Ae(n.codeInlineSize),r=n.numberInlineSize==null?t.numberWidth:je(n.numberInlineSize),i=e!==t.codeWidth,a=r!==t.numberWidth;if(!(!i&&!a)&&(t.codeWidth=e,t.numberWidth=r,i&&t.codeElement.style.setProperty(`--diffs-column-width`,`${typeof e==`number`?`${e}px`:`auto`}`),a&&t.codeElement.style.setProperty(`--diffs-column-number-width`,`${r===0?`auto`:`${r}px`}`),i||a&&e!==`auto`)){let n=typeof e==`number`?Math.max(e-r,0):0;t.codeElement.style.setProperty(`--diffs-column-content-width`,`${n>0?`${n}px`:`auto`}`)}}};applyNewHeight(e,t){t!==e.currentHeight&&(e.currentHeight=Math.max(t,0),e.column1.container.style.setProperty(`--diffs-annotation-min-height`,`${e.currentHeight}px`),e.column2.container.style.setProperty(`--diffs-annotation-min-height`,`${e.currentHeight}px`))}};function Ae(e){let t=Math.max(Math.floor(e),0);return t===0?`auto`:t}function je(e){return Math.max(Math.ceil(e),0)}function Me(e){e.codeElement.isConnected&&(e.codeElement.style.removeProperty(`--diffs-column-content-width`),e.codeElement.style.removeProperty(`--diffs-column-number-width`),e.codeElement.style.removeProperty(`--diffs-column-width`))}function Ne(e){e.column1.container.isConnected&&e.column1.container.style.removeProperty(`--diffs-annotation-min-height`),e.column2.container.isConnected&&e.column2.container.style.removeProperty(`--diffs-annotation-min-height`)}var Pe=new Map,Fe=new Map,Ie=new Map,Le=new Set;function Re(e){for(let t of Array.isArray(e)?e:[e])if(!(t===`text`||t===`ansi`)&&!Le.has(t))return!1;return!0}function ze(e,t){e=Array.isArray(e)?e:[e];for(let n of e){if(Le.has(n.name))continue;let e=Pe.get(n.name);e??(e=n,Pe.set(n.name,e)),Le.add(e.name),t.loadLanguageSync(e.data)}}function Be(){return typeof WorkerGlobalScope<`u`&&typeof self<`u`&&self instanceof WorkerGlobalScope}async function Ve(e){if(Be())throw Error(`resolveLanguage("${e}") cannot be called from a worker context. Languages must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);let t=Fe.get(e);if(t!=null)return t;try{let t=Ie.get(e);if(t==null&&Object.prototype.hasOwnProperty.call(d,e)&&(t=d[e]),t==null)throw Error(`resolveLanguage: "${e}" not found in bundled or custom languages`);let n=t().then(({default:t})=>{let n={name:e,data:t};return Pe.has(e)||Pe.set(e,n),n});return Fe.set(e,n),await n}finally{Fe.delete(e)}}function He(e){return Pe.get(e)??Ve(e)}var Ue=new Set;function We(e){return typeof e==`object`&&e&&`default`in e?e.default:e}var Ge=class extends Error{constructor(e){super(`Theme "${e}" is already registered`),this.name=`DuplicateThemeError`}},Ke=class extends Error{constructor(e){super(`No loader registered for theme "${e}"`),this.name=`UnregisteredThemeError`}},qe=class extends Error{constructor(e){super(`Theme "${e}" has not been resolved`),this.name=`UnresolvedThemeError`}};function Je(){let e=new Map,t=new Map,n=new Map,r=0;function i(t,n){if(e.has(t))throw new Ge(t);e.set(t,n)}function a(t,n){return e.has(t)?!1:(e.set(t,n),!0)}function o(t){return e.has(t)}function s(i){let a=t.get(i);if(a!==void 0)return Promise.resolve(a);let o=n.get(i);if(o!==void 0)return o;let s=e.get(i);if(s===void 0)return Promise.reject(new Ke(i));let c=r,l=s().then(e=>{let a=We(e);return c===r&&t.set(i,a),n.get(i)===l&&n.delete(i),a}).catch(e=>{throw n.get(i)===l&&n.delete(i),e});return n.set(i,l),l}function c(e){return Promise.all(e.map(e=>s(e)))}function l(e,n){t.set(e,n)}function u(e){for(let[t,n]of e)l(t,n)}function d(e){return t.get(e)}function f(e){let n=[];for(let r of e){let e=t.get(r);if(e===void 0)throw new qe(r);n.push(e)}return n}function p(e){return t.has(e)}function m(e){for(let n of e)if(!t.has(n))return!1;return!0}function h(e){let n=t.get(e);return n===void 0?s(e):n}function g(){r++,t.clear(),n.clear()}return{clearResolvedThemes:g,getResolvedOrResolveTheme:h,getResolvedTheme:d,getResolvedThemes:f,hasRegisteredTheme:o,hasResolvedTheme:p,hasResolvedThemes:m,registerTheme:i,registerThemeIfAbsent:a,resolveTheme:s,resolveThemes:c,seedResolvedTheme:l,seedResolvedThemes:u}}var L=Je();function Ye(e,t){e=Array.isArray(e)?e:[e];for(let n of e){let e;if(typeof n==`string`){if(e=L.getResolvedTheme(n),e==null)throw Error(`loadResolvedThemes: ${n} is not resolved, you must resolve it before calling loadResolvedThemes`)}else e=n,n=n.name,L.getResolvedTheme(n)??L.seedResolvedTheme(n,e);Ue.has(n)||(Ue.add(n),t.loadThemeSync(e))}}function Xe(e){return`default`in e?e.default:e}function Ze(e){return{...e,load:async()=>a(Xe(await e.load()))}}function Qe(e){let t=new Map(e.map(e=>[e.name,e]));return{getTheme:e=>t.get(e),getThemeNames:()=>e.map(e=>e.name),getThemes:()=>e,hasTheme:e=>t.has(e),orderBy:t=>Qe([...e].sort(t)),pick:e=>Qe(e.map(e=>{let n=t.get(e);if(n===void 0)throw Error(`Theme collection does not contain theme "${e}"`);return n})),registerInto:t=>{for(let n of e)t.registerThemeIfAbsent(n.name,n.load)}}}var $e=Qe([]),et=Qe([Ze({collection:`shiki`,colorScheme:`light`,load:()=>r(()=>import(`./github-light-EUqPIrTm.js`),[]),name:`github-light`}),Ze({collection:`shiki`,colorScheme:`dark`,load:()=>r(()=>import(`./github-dark-C-LZuMrd.js`),[]),name:`github-dark`})]);function tt(e){if(Be())throw Error(`Theme "${e}" cannot be resolved from a worker context. Themes must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);if(L.hasRegisteredTheme(e))return;let t=et.getTheme(e);if(t!=null){L.registerThemeIfAbsent(t.name,t.load);return}throw Error(`No valid theme loader registered for "${e}"`)}function nt(e,t){if(t.name!==e)throw Error(`resolvedTheme: themeName: ${e} does not match theme.name: ${t.name}`)}async function rt(e){tt(e);let t=await L.resolveTheme(e);return nt(e,t),t}function it(e){return L.getResolvedTheme(e)??rt(e)}var R;async function at({themes:e,langs:t,preferredHighlighter:n=`shiki-js`}){R??=l({themes:[],langs:[`text`],engine:n===`shiki-wasm`?u(r(()=>import(`./shiki-bundle-4bLwaf7_.js`).then(e=>e.i),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]))):o()});let i=st(R)?await R:R;R=i;let a=[];for(let e of t){if(e===`text`||e===`ansi`)continue;let t=He(e);`then`in t?a.push(t):ze(t,i)}let s=[];for(let t of e){let e=it(t);`then`in e?s.push(e):Ye(e,R)}return(a.length>0||s.length>0)&&await Promise.all([Promise.all(a).then(e=>{ze(e,i)}),Promise.all(s).then(e=>{Ye(e,i)})]),i}function ot(){if(R!=null&&!(`then`in R))return R}function st(e=R){return e!=null&&`then`in e}for(let e of $e.getThemes())L.registerThemeIfAbsent(e.name,e.load);function ct(e=C){let t=[];return typeof e==`string`?t.push(e):(t.push(e.dark),t.push(e.light)),t}function lt(e){for(let t of ct(e))if(!Ue.has(t))return!1;return!0}function ut(e,t){return e?.cacheKey===t?.cacheKey&&e?.contents===t?.contents&&e?.name===t?.name&&e?.lang===t?.lang}function dt(e,t){return e==null||t==null?e===t:e.startingLine===t.startingLine&&e.totalLines===t.totalLines&&e.bufferBefore===t.bufferBefore&&e.bufferAfter===t.bufferAfter}function ft(e){return N({tagName:`div`,children:[N({tagName:`div`,children:e.annotations?.map(e=>N({tagName:`slot`,properties:{name:e}})),properties:{"data-annotation-content":``}})],properties:{"data-line-annotation":`${e.hunkIndex},${e.lineIndex}`}})}function pt(e){switch(e){case`file`:return`diffs-icon-file-code`;case`change`:return`diffs-icon-symbol-modified`;case`new`:return`diffs-icon-symbol-added`;case`deleted`:return`diffs-icon-symbol-deleted`;case`rename-pure`:case`rename-changed`:return`diffs-icon-symbol-moved`}}function mt({fileOrDiff:e,mode:t,stickyHeader:n}){let r=`type`in e?e:void 0,i={"data-diffs-header":t,"data-change-type":r?.type,"data-sticky":n?``:void 0};return N({tagName:`div`,children:[t===`custom`?N({tagName:`slot`,properties:{name:S}}):ht({name:e.name,prevName:`prevName`in e?e.prevName:void 0,iconType:r?.type??`file`}),...t===`custom`?[]:[gt(r)]],properties:i})}function ht({name:e,prevName:t,iconType:n}){let r=[N({tagName:`slot`,properties:{name:b}}),P({name:pt(n),properties:{"data-change-icon":n}})];return t!=null&&(r.push(N({tagName:`div`,children:[N({tagName:`bdi`,children:[M(t)]})],properties:{"data-prev-name":``}})),r.push(P({name:`diffs-icon-arrow-right-short`,properties:{"data-rename-icon":``}}))),r.push(N({tagName:`div`,children:[N({tagName:`bdi`,children:[M(e)]})],properties:{"data-title":``}})),N({tagName:`div`,children:r,properties:{"data-header-content":``}})}function gt(e){let t=[];if(e!=null){let n=0,r=0;for(let t of e.hunks)n+=t.additionLines,r+=t.deletionLines;(r>0||n===0)&&t.push(N({tagName:`span`,children:[M(`-${r}`)],properties:{"data-deletions-count":``}})),(n>0||r===0)&&t.push(N({tagName:`span`,children:[M(`+${n}`)],properties:{"data-additions-count":``}}))}return t.push(N({tagName:`slot`,properties:{name:x}})),N({tagName:`div`,children:t,properties:{"data-metadata":``}})}function _t(e){return N({tagName:`pre`,properties:vt(e)})}function vt({diffIndicators:e,disableBackground:t,disableLineNumbers:n,overflow:r,split:i,totalLines:a,type:o,customProperties:s}){return{...s,"data-diff":o===`diff`?``:void 0,"data-file":o===`file`?``:void 0,"data-diff-type":o===`diff`?i?`split`:`single`:void 0,"data-overflow":r,"data-disable-line-numbers":n?``:void 0,"data-background":t?void 0:``,"data-indicators":e===`bars`||e===`classic`?e:void 0,style:`--diffs-min-number-column-width-default:${`${a}`.length}ch;`}}var z=new Map,yt=0,bt={"1c":`1c`,abap:`abap`,as:`actionscript-3`,ada:`ada`,adb:`ada`,ads:`ada`,adoc:`asciidoc`,asciidoc:`asciidoc`,"component.html":`angular-html`,"component.ts":`angular-ts`,conf:`nginx`,htaccess:`apache`,cls:`tex`,trigger:`apex`,apl:`apl`,applescript:`applescript`,scpt:`applescript`,ara:`ara`,asm:`asm`,s:`riscv`,astro:`astro`,awk:`awk`,bal:`ballerina`,sh:`zsh`,bash:`zsh`,bat:`cmd`,cmd:`cmd`,be:`berry`,beancount:`beancount`,bib:`bibtex`,bicep:`bicep`,"blade.php":`blade`,bsl:`bsl`,c:`c`,h:`objective-cpp`,cs:`csharp`,cpp:`cpp`,hpp:`cpp`,cc:`cpp`,cxx:`cpp`,hh:`cpp`,cdc:`cdc`,cairo:`cairo`,clar:`clarity`,clj:`clojure`,cljs:`clojure`,cljc:`clojure`,soy:`soy`,cmake:`cmake`,"CMakeLists.txt":`cmake`,cob:`cobol`,cbl:`cobol`,cobol:`cobol`,CODEOWNERS:`codeowners`,ql:`ql`,coffee:`coffeescript`,lisp:`lisp`,cl:`lisp`,lsp:`lisp`,log:`log`,v:`verilog`,cql:`cql`,cr:`crystal`,css:`css`,csv:`csv`,cue:`cue`,cypher:`cypher`,cyp:`cypher`,d:`d`,dart:`dart`,dax:`dax`,desktop:`desktop`,diff:`diff`,patch:`diff`,Dockerfile:`dockerfile`,dockerfile:`dockerfile`,env:`dotenv`,dm:`dream-maker`,edge:`edge`,el:`emacs-lisp`,ex:`elixir`,exs:`elixir`,elm:`elm`,erb:`erb`,erl:`erlang`,hrl:`erlang`,f:`fortran-fixed-form`,for:`fortran-fixed-form`,fs:`fsharp`,fsi:`fsharp`,fsx:`fsharp`,f03:`f03`,f08:`f08`,f18:`f18`,f77:`f77`,f90:`fortran-free-form`,f95:`fortran-free-form`,fnl:`fennel`,fish:`fish`,ftl:`ftl`,tres:`gdresource`,res:`gdresource`,gd:`gdscript`,gdshader:`gdshader`,gs:`genie`,feature:`gherkin`,COMMIT_EDITMSG:`git-commit`,"git-rebase-todo":`git-rebase`,gjs:`glimmer-js`,gleam:`gleam`,gts:`glimmer-ts`,glsl:`glsl`,vert:`glsl`,frag:`glsl`,shader:`shaderlab`,gp:`gnuplot`,plt:`gnuplot`,gnuplot:`gnuplot`,go:`go`,graphql:`graphql`,gql:`graphql`,groovy:`groovy`,gvy:`groovy`,hack:`hack`,haml:`haml`,hbs:`handlebars`,handlebars:`handlebars`,hs:`haskell`,lhs:`haskell`,hx:`haxe`,hcl:`hcl`,hjson:`hjson`,hlsl:`hlsl`,fx:`hlsl`,html:`html`,htm:`html`,http:`http`,rest:`http`,hxml:`hxml`,hy:`hy`,imba:`imba`,ini:`ini`,cfg:`ini`,jade:`pug`,pug:`pug`,java:`java`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jinja:`jinja`,jinja2:`jinja`,j2:`jinja`,jison:`jison`,jl:`julia`,json:`json`,json5:`json5`,jsonc:`jsonc`,jsonl:`jsonl`,jsonnet:`jsonnet`,libsonnet:`jsonnet`,jssm:`jssm`,jsx:`jsx`,kt:`kotlin`,kts:`kts`,kql:`kusto`,tex:`tex`,ltx:`tex`,lean:`lean4`,less:`less`,liquid:`liquid`,lit:`lit`,ll:`llvm`,logo:`logo`,lua:`lua`,luau:`luau`,Makefile:`makefile`,mk:`makefile`,makefile:`makefile`,md:`markdown`,markdown:`markdown`,marko:`marko`,m:`wolfram`,mat:`matlab`,mdc:`mdc`,mdx:`mdx`,wiki:`wikitext`,mediawiki:`wikitext`,mmd:`mermaid`,mermaid:`mermaid`,mips:`mipsasm`,mojo:`mojo`,"🔥":`mojo`,move:`move`,nar:`narrat`,nf:`nextflow`,nim:`nim`,nims:`nim`,nimble:`nim`,nix:`nix`,nu:`nushell`,mm:`objective-cpp`,ml:`ocaml`,mli:`ocaml`,mll:`ocaml`,mly:`ocaml`,pas:`pascal`,p:`pascal`,pl:`prolog`,pm:`perl`,t:`perl`,raku:`raku`,p6:`raku`,pl6:`raku`,php:`php`,phtml:`php`,pls:`plsql`,sql:`sql`,po:`po`,polar:`polar`,pcss:`postcss`,pot:`pot`,potx:`potx`,pq:`powerquery`,pqm:`powerquery`,ps1:`powershell`,psm1:`powershell`,psd1:`powershell`,prisma:`prisma`,pro:`prolog`,P:`prolog`,properties:`properties`,proto:`protobuf`,pp:`puppet`,purs:`purescript`,py:`python`,pyw:`python`,pyi:`python`,qml:`qml`,qmldir:`qmldir`,qss:`qss`,r:`r`,R:`r`,rkt:`racket`,rktl:`racket`,razor:`razor`,cshtml:`razor`,rb:`ruby`,rbw:`ruby`,reg:`reg`,regex:`regexp`,rel:`rel`,rs:`rust`,rst:`rst`,rake:`ruby`,gemspec:`ruby`,jbuilder:`ruby`,builder:`ruby`,rabl:`ruby`,arb:`ruby`,ru:`ruby`,podspec:`ruby`,Gemfile:`ruby`,Rakefile:`ruby`,Guardfile:`ruby`,Capfile:`ruby`,Berksfile:`ruby`,Brewfile:`ruby`,Vagrantfile:`ruby`,Thorfile:`ruby`,Appraisals:`ruby`,Dangerfile:`ruby`,sas:`sas`,sass:`sass`,scala:`scala`,sc:`scala`,scm:`scheme`,ss:`scheme`,sld:`scheme`,scss:`scss`,sdbl:`sdbl`,shadergraph:`shader`,st:`smalltalk`,sol:`solidity`,sparql:`sparql`,rq:`sparql`,spl:`splunk`,config:`ssh-config`,do:`stata`,ado:`stata`,dta:`stata`,styl:`stylus`,stylus:`stylus`,svelte:`svelte`,swift:`swift`,sv:`system-verilog`,svh:`system-verilog`,service:`systemd`,socket:`systemd`,device:`systemd`,timer:`systemd`,talon:`talonscript`,tasl:`tasl`,tcl:`tcl`,templ:`templ`,tf:`tf`,tfvars:`tfvars`,toml:`toml`,ts:`typescript`,tsp:`typespec`,tsv:`tsv`,tsx:`tsx`,ttl:`turtle`,twig:`twig`,typ:`typst`,vv:`v`,vala:`vala`,vapi:`vala`,vb:`vb`,vbs:`vb`,bas:`vb`,vh:`verilog`,vhd:`vhdl`,vhdl:`vhdl`,vim:`vimscript`,vue:`vue`,"vine.ts":`vue-vine`,vy:`vyper`,wasm:`wasm`,wat:`wasm`,wy:`文言`,wgsl:`wgsl`,wit:`wit`,wl:`wolfram`,nb:`wolfram`,xml:`xml`,xsl:`xsl`,xslt:`xsl`,yaml:`yaml`,yml:`yml`,zs:`zenscript`,zig:`zig`,zsh:`zsh`,sty:`tex`};function B(e){if(z.has(e))return z.get(e)??`text`;if(bt[e]!=null)return bt[e];let t=e.match(/\.([^/\\]+\.[^/\\]+)$/);if(t!=null){if(z.has(t[1]))return z.get(t[1])??`text`;if(bt[t[1]]!=null)return bt[t[1]]??`text`}let n=e.match(/\.([^.]+)$/)?.[1]??``;return z.has(n)?z.get(n)??`text`:bt[n]??`text`}function xt(e,t){let n=z.get(e);return n===t?!1:(n!=null&&console.warn(`setCustomExtension: overriding custom mapping for "${e}" from "${n}" to "${t}"`),z.set(e,t),yt++,!0)}function St(e,{theme:t,preferredHighlighter:n=`shiki-js`}){return{langs:[e??`text`],themes:ct(t),preferredHighlighter:n}}function V(e){return`annotation-${`side`in e?`${e.side}-`:``}${e.lineNumber}`}function H(e){return e.replace(/\n$|\r\n$/,``)}function Ct(e,t,n){let r=typeof n.lineInfo==`function`?n.lineInfo(t):n.lineInfo[t-1];if(r==null){let r=`processLine: line ${t}, contains no state.lineInfo`;throw console.error(r,{node:e,line:t,state:n}),Error(r)}return e.tagName=`div`,e.properties[`data-line`]=r.lineNumber,e.properties[`data-alt-line`]=r.altLineNumber,e.properties[`data-line-type`]=r.type,e.properties[`data-line-index`]=r.lineIndex,e.children.length===0&&e.children.push(M(`
3
3
  `)),e}var wt=Symbol(`no-token`),Tt=Symbol(`multiple-tokens`);function Et(e){let t=Dt(e);if(t!=null)return t;let n=wt,r=[],i=[],a,o=()=>{if(i.length===0||a==null){i=[],a=void 0;return}if(i.length===1){let e=i[0];if(e?.type===`element`){kt(e,a);for(let t of e.children)Ot(t)}else Ot(e);r.push(e),i=[],a=void 0;return}for(let e of i)Ot(e);r.push(N({tagName:`span`,properties:{"data-char":a},children:i})),i=[],a=void 0},s=e=>{if(e!==wt){if(e===Tt){n=Tt;return}if(n===wt){n=e;return}n!==e&&(n=Tt)}};for(let t of e.children){let e=t.type===`element`?Et(t):wt;if(s(e),typeof e!=`number`){o(),r.push(t);continue}a!=null&&a!==e&&o(),a??=e,i.push(t)}return o(),e.children=r,n}function Dt(e){let t=e.properties[`data-char`];if(typeof t==`number`)return t}function Ot(e){if(e.type===`element`){e.properties[`data-char`]=void 0;for(let t of e.children)Ot(t)}}function kt(e,t){e.properties[`data-char`]=t}function At(e={}){let{classPrefix:t=`__shiki_`,classSuffix:n=``,classReplacer:r=e=>e}=e,i=new Map;function a(e){return Object.entries(e).map(([e,t])=>`${e}:${t}`).join(`;`)}function o(e){let o=t+jt(typeof e==`string`?e:a(e))+n;return o=r(o),i.has(o)||i.set(o,typeof e==`string`?e:{...e}),o}return{name:`@shikijs/transformers:style-to-class`,pre(e){if(!e.properties.style)return;let t=o(e.properties.style);delete e.properties.style,this.addClassToHast(e,t)},tokens(e){for(let t of e)for(let e of t){if(!e.htmlStyle)continue;let t=o(e.htmlStyle);e.htmlStyle={},e.htmlAttrs||={},e.htmlAttrs.class?e.htmlAttrs.class+=` ${t}`:e.htmlAttrs.class=t}},getClassRegistry(){return i},getCSS(){let e=``;for(let[t,n]of i.entries())e+=`.${t}{${typeof n==`string`?n:a(n)}}`;return e},clearRegistry(){i.clear()}}}function jt(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t=0,i;t<e.length;t++)i=e.charCodeAt(t),n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677);return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>13,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36).slice(0,6)}function Mt(e=!1,t=!1){let n={lineInfo:[]},r=[{line(e){return delete e.properties.class,e},pre(t){let r=oe(t),i=[];if(r!=null){let t=1;for(let a of r.children)a.type===`element`&&(e&&Et(a),i.push(Ct(a,t,n)),t++);r.children=i}return t},...e?{tokens(e){for(let t of e){let e=0;for(let n of t){let t=n;t.__lineChar??=e,e+=n.content.length}}},preprocess(e,t){t.mergeWhitespaces=`never`},span(e,t,n,r,i){if(i?.offset!=null&&i.content!=null){let t=i.__lineChar;return t!=null&&(e.properties[`data-char`]=t),e}return e}}:null}];return t&&r.push(Pt,Nt),{state:n,transformers:r,toClass:Nt}}var Nt=At({classPrefix:`hl-`}),Pt={name:`token-style-normalizer`,tokens(e){for(let t of e)for(let e of t){if(e.htmlStyle!=null)continue;let t={};e.color!=null&&(t.color=e.color),e.bgColor!=null&&(t[`background-color`]=e.bgColor),e.fontStyle!=null&&e.fontStyle!==0&&(e.fontStyle&1&&(t[`font-style`]=`italic`),e.fontStyle&2&&(t[`font-weight`]=`bold`),e.fontStyle&4&&(t[`text-decoration`]=`underline`)),Object.keys(t).length>0&&(e.htmlStyle=t)}}};function U(e){return`--${e===`token`?`diffs-token`:`diffs`}-`}var Ft=/^#(?:[0-9a-f]{3}0|[0-9a-f]{6}00)$/i,It=/^0(?:\.0+)?%?$/;function Lt(e){let t=e.indexOf(`(`);if(t<=0||!e.endsWith(`)`))return;let n=e.slice(0,t).trim();if(!/^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)$/i.test(n))return;let r=e.slice(t+1,-1).trim();if(r.length===0)return;let i=r.lastIndexOf(`/`);if(i!==-1)return r.slice(i+1).trim();if(/^(?:rgba|hsla)$/i.test(n)){let e=r.split(`,`);if(e.length===4)return e[3]?.trim()}}function Rt(e){let t=/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})\b/i.exec(e.trim());if(t==null)return null;let n=t[1],r,i=1;return n.length===3?r=n.split(``).map(e=>e+e).join(``):n.length===6?r=n:(r=n.slice(0,6),i=parseInt(n.slice(6,8),16)/255),[parseInt(r.slice(0,2),16),parseInt(r.slice(2,4),16),parseInt(r.slice(4,6),16),i]}function zt(e){if(e==null)return null;let t=Rt(e);if(t==null)return null;let n=t[0]/255,r=t[1]/255,i=t[2]/255,a=e=>e<=.03928?e/12.92:((e+.055)/1.055)**2.4;return .2126*a(n)+.7152*a(r)+.0722*a(i)}function Bt(e){if(e==null)return!1;let t=e.trim().toLowerCase();if(t===`transparent`||Ft.test(t))return!0;let n=Lt(t);return n!=null&&It.test(n)}function Vt(e,t,n){if(t==null||n==null)return!1;let r=zt(e),i=zt(t),a=zt(n);return r==null||i==null||a==null?!1:Math.abs(r-a)<Math.abs(r-i)}var Ht=new WeakMap;function Ut(e){let t=Ht.get(e);if(t!=null)return t;let n=e.colors??{},r={...n},i=n[`editor.background`]??e.bg,a=n[`editor.foreground`]??e.fg,o=n[`sideBar.background`]??i,s=n[`sideBar.foreground`]??a;W(r,`editor.background`,i),W(r,`editor.foreground`,a),W(r,`sideBar.background`,o),W(r,`sideBar.foreground`,s),W(r,`input.background`,n[`input.background`]??o),W(r,`sideBarSectionHeader.foreground`,n[`sideBarSectionHeader.foreground`]??s),W(r,`list.activeSelectionForeground`,n[`list.activeSelectionForeground`]??s),W(r,`gitDecoration.addedResourceForeground`,Wt(n[`gitDecoration.addedResourceForeground`],n[`terminal.ansiGreen`],n[`editorGutter.addedBackground`])),W(r,`gitDecoration.modifiedResourceForeground`,Wt(n[`gitDecoration.modifiedResourceForeground`],n[`terminal.ansiBlue`],n[`editorGutter.modifiedBackground`])),W(r,`gitDecoration.deletedResourceForeground`,Wt(n[`gitDecoration.deletedResourceForeground`],n[`terminal.ansiRed`],n[`editorGutter.deletedBackground`]));let c=(Bt(n[`list.focusOutline`])?void 0:n[`list.focusOutline`])??(Bt(n.focusBorder)?void 0:n.focusBorder);c==null?delete r[`list.focusOutline`]:r[`list.focusOutline`]=c;let l=n[`list.hoverBackground`];l!=null&&(Gt(l,o)||Vt(l,o,s))&&delete r[`list.hoverBackground`];let u=Object.freeze({...e,colors:Object.freeze(r)});return Ht.set(e,u),u}function W(e,t,n){n!=null&&n!==``&&(e[t]=n)}function Wt(...e){for(let t of e)if(t!=null&&t!==``)return t}function Gt(e,t){return t!=null&&e.toLowerCase()===t.toLowerCase()}function Kt({theme:e=C,highlighter:t,prefix:n}){let r=``;if(typeof e==`string`){let i=t.getTheme(e),a=Ut(i);r+=`color:${a.fg};`,r+=`background-color:${a.bg};`,r+=`${U(`global`)}fg:${a.fg};`,r+=`${U(`global`)}bg:${a.bg};`,r+=qt(i,n)}else{let n=t.getTheme(e.dark),i=Ut(n);r+=`${U(`global`)}dark:${i.fg};`,r+=`${U(`global`)}dark-bg:${i.bg};`,r+=qt(n,`dark`),n=t.getTheme(e.light),i=Ut(n),r+=`${U(`global`)}light:${i.fg};`,r+=`${U(`global`)}light-bg:${i.bg};`,r+=qt(n,`light`)}return r}function qt(e,t){t=t==null?``:`${t}-`;let n=``,r=e.colors?.[`gitDecoration.addedResourceForeground`]??e.colors?.[`terminal.ansiGreen`];r!=null&&(n+=`${U(`global`)}${t}addition-color:${r};`);let i=e.colors?.[`gitDecoration.deletedResourceForeground`]??e.colors?.[`terminal.ansiRed`];i!=null&&(n+=`${U(`global`)}${t}deletion-color:${i};`);let a=e.colors?.[`gitDecoration.modifiedResourceForeground`]??e.colors?.[`terminal.ansiBlue`];return a!=null&&(n+=`${U(`global`)}${t}modified-color:${a};`),n}function Jt(e){let t=e.children[0];for(;t!=null;){if(t.type===`element`&&t.tagName===`code`)return t.children;t=`children`in t?t.children[0]:null}throw console.error(e),Error(`getLineNodes: Unable to find children`)}var Yt=`-1,-1`;function Xt(e){return e?.some(e=>e.lineNumber===0)??!1}function Zt(e){let t=e[0];return t!=null&&t.length>0?t:void 0}function Qt(e){return e.startingLine===0&&e.totalLines>0}function $t(e,t){return N({tagName:`div`,children:e,properties:{"data-content":``,style:`grid-row: span ${t}`}})}function en(e){return e.useTokenTransformer===!0||e.onTokenClick!=null||e.onTokenEnter!=null||e.onTokenLeave!=null}var tn=`<svg data-icon-sprite aria-hidden="true" width="0" height="0">
4
4
  <symbol id="diffs-icon-arrow-right-short" viewBox="0 0 16 16">
5
5
  <path d="M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0"/>
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{t as r}from"./project-source-panel-BAOR4fTj.js";import{yt as i}from"./index-zqp46jqN.js";var a=e(t(),1),o=n();function s({projectId:e,search:t}){let{client:n}=i(),s=t.path.split(/[\\/]/u).at(-1)??t.path;return(0,a.useEffect)(()=>{document.title=s},[s]),(0,o.jsx)(`main`,{className:`h-full min-h-0 bg-raised`,children:(0,o.jsx)(r,{client:n,onClose:()=>{window.close()},previewKind:t.previewKind,projectId:e,reference:{lineNumber:t.lineNumber,path:t.path},...t.rootPath===void 0?{}:{rootPath:t.rootPath}})})}export{s as ProjectFilePopupPage};
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{t as r}from"./project-source-panel-BEBbL2Id.js";import{yt as i}from"./index-D07js1WI.js";var a=e(t(),1),o=n();function s({projectId:e,search:t}){let{client:n}=i(),s=t.path.split(/[\\/]/u).at(-1)??t.path;return(0,a.useEffect)(()=>{document.title=s},[s]),(0,o.jsx)(`main`,{className:`h-full min-h-0 bg-raised`,children:(0,o.jsx)(r,{client:n,onClose:()=>{window.close()},previewKind:t.previewKind,projectId:e,reference:{lineNumber:t.lineNumber,path:t.path},...t.rootPath===void 0?{}:{rootPath:t.rootPath}})})}export{s as ProjectFilePopupPage};
@@ -1,3 +1,3 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/code-highlighter-CsBwNeVP.js","assets/engine-compile-Bqjaa_8Z.js","assets/lib-DrPFkMXk.js","assets/rolldown-runtime-QTnfLwEv.js","assets/code-languages-CPYTSY-8.js","assets/index-zqp46jqN.js","assets/react-runtime-CVaUQXZF.js","assets/dist-Cib4eRMP.js","assets/bundle-mjs-rHxsej31.js","assets/tooltip-D3tWiAWP.js","assets/useInfiniteQuery-Bu9BuQ4a.js","assets/checkbox-nYXSVVQi.js","assets/check-BOdEYGxk.js","assets/loader-circle-B1P6CG7G.js","assets/dist-CaAkD3UC.js","assets/es2015-Ru0tXs3G.js","assets/file-tree-CqppWhX1.js","assets/provider-connection-queries-CSumXgIL.js","assets/index-C4ygqQbj.css","assets/github-dark-C-LZuMrd.js","assets/github-light-EUqPIrTm.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{D as r,v as i,w as a}from"./dist-Cib4eRMP.js";import{f as o,i as s,n as c,t as l}from"./tooltip-D3tWiAWP.js";import{t as u}from"./useInfiniteQuery-Bu9BuQ4a.js";import{t as d}from"./check-BOdEYGxk.js";import{n as f,t as p}from"./file-code-corner-Bs_lkoMS.js";import{n as m,t as h}from"./lazy-message-response-CG0j4yJD.js";import{at as g,dt as _,et as v,gt as y,ht as b,mt as x}from"./index-zqp46jqN.js";import{t as S}from"./code-languages-CPYTSY-8.js";var C=a(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),w=e(t(),1),T=`codexly:workbench:markdown-preview:v1`;function E(){try{return typeof window>`u`?void 0:window.localStorage}catch{return}}function D(e){if(e===void 0)return!1;try{let t=JSON.parse(e.getItem(T)??`null`);return k(t)?t.preview:!1}catch{return!1}}function O(e,t){if(t===void 0)return;let n={preview:e,version:1};try{t.setItem(T,JSON.stringify(n))}catch{}}function k(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.version===1&&typeof t.preview==`boolean`}var A=24*1024*1024,j=512*1024;function M(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(16)}function N(e,t){return`${e}:${String(t.length)}:${M(t)}`}var P=class{maxSourceBytes;#e;constructor(e=A,t=128,n=j){this.maxSourceBytes=n,this.#e=new x({getRetainedBytes:(e,t)=>y(e)+b(t),maxBytes:e,maxEntries:t})}get retainedBytes(){return this.#e.retainedBytes}get size(){return this.#e.size}get(e,t){let n=this.#e.get(N(e,t));return n?.source===t?n.tokenized:void 0}set(e,t,n){return y(t)>this.maxSourceBytes?!1:this.#e.set(N(e,t),{source:t,tokenized:n})}},F=n(),I=(0,w.createContext)(null),L=new P;function R(){let e=(0,w.useContext)(I);if(e===null)throw Error(`CodeBlock components must be rendered inside CodeBlock`);return e}function z(e){return{background:`transparent`,foreground:`inherit`,lines:e.split(`
3
- `).map(e=>e===``?[]:[{content:e,offset:0}])}}function B(e){let t=e.htmlStyle,n=e.color??t?.color,r=t?.[`--shiki-dark`],i=e.bgColor??t?.backgroundColor,a=t?.[`--shiki-dark-bg`];return{...t,backgroundColor:i===void 0||a===void 0?i:`light-dark(${i}, ${a})`,color:n===void 0||r===void 0?n:`light-dark(${n}, ${r})`}}async function V(e,t){if(t===`text`)return z(e);let n=L.get(t,e);if(n!==void 0)return n;let{highlightCode:r}=await _(async()=>{let{highlightCode:e}=await import(`./code-highlighter-CsBwNeVP.js`);return{highlightCode:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])),i=await r(e,t);return L.set(t,e,i),i}function H({className:e=``,code:t,highlightedLine:n=null,language:r,showLineNumbers:i=!1,...a}){let o=(0,w.useMemo)(()=>z(t),[t]),[s,c]=(0,w.useState)(o);return(0,w.useEffect)(()=>{let e=!0;return c(o),V(t,r).then(t=>{e&&c(t)}).catch(()=>{}),()=>{e=!1}},[t,r,o]),(0,F.jsx)(`div`,{className:`relative min-h-0 overflow-auto ${e}`,...a,children:(0,F.jsx)(`pre`,{className:`m-0 min-w-max bg-transparent py-3 font-mono text-body-small leading-6 text-foreground`,style:{backgroundColor:s.background,color:s.foreground},children:(0,F.jsx)(`code`,{children:s.lines.map((e,t)=>{let r=t+1,a=r===n;return(0,F.jsxs)(`span`,{className:`block min-h-6 px-3 ${i?`grid grid-cols-[4rem_minmax(0,1fr)]`:``} ${a?`bg-brand-soft text-brand-strong`:``}`,"data-code-line":r,"data-highlighted":a?`true`:void 0,children:[i?(0,F.jsx)(`span`,{"aria-hidden":`true`,className:`select-none pr-4 text-right ${a?`text-brand`:`text-muted-foreground`}`,children:r}):null,(0,F.jsx)(`span`,{className:`whitespace-pre`,children:e.length===0?` `:e.map((e,t)=>(0,F.jsx)(`span`,{style:B(e),children:e.content},`${String(r)}-${String(t)}`))})]},r)})})})})}function U({children:e,className:t=``,code:n,highlightedLine:r=null,language:i,showLineNumbers:a=!1,style:o,...s}){let c=(0,w.useMemo)(()=>({code:n}),[n]);return(0,F.jsx)(I.Provider,{value:c,children:(0,F.jsxs)(`div`,{className:`relative w-full overflow-hidden rounded-surface bg-raised text-foreground shadow-sm ${t}`,"data-language":i,style:{containIntrinsicSize:`auto 200px`,contentVisibility:`auto`,...o},...s,children:[e,(0,F.jsx)(H,{code:n,highlightedLine:r,language:i,showLineNumbers:a})]})})}function W({className:e=``,...t}){return(0,F.jsx)(`div`,{className:`flex min-h-8 items-center justify-between border-b border-separator bg-control px-3 text-label text-muted-foreground ${e}`,...t})}function G({className:e=``,...t}){return(0,F.jsx)(`div`,{className:`flex min-w-0 items-center gap-2 ${e}`,...t})}function K({className:e=``,...t}){return(0,F.jsx)(`span`,{className:`truncate font-mono ${e}`,...t})}function q({className:e=``,...t}){return(0,F.jsx)(`div`,{className:`ml-auto flex items-center gap-1 ${e}`,...t})}function J({children:e,className:t=``,onClick:n,onCopy:a,onError:o,timeout:s=2e3,...c}){let{code:l}=R(),[u,p]=(0,w.useState)(!1),{t:m}=r(`conversation`),h=(0,w.useRef)(null);(0,w.useEffect)(()=>()=>{h.current!==null&&clearTimeout(h.current)},[]);let g=async()=>{try{await navigator.clipboard.writeText(l),p(!0),a?.(),h.current!==null&&clearTimeout(h.current),h.current=setTimeout(()=>{p(!1)},s)}catch(e){o?.(e instanceof Error?e:Error(`Unable to copy code`))}};return(0,F.jsx)(i,{variant:`ghost`,"aria-label":m(u?`agentComponents.copiedCode`:`agentComponents.copyCode`),className:`grid size-7 shrink-0 place-items-center rounded-control text-muted-foreground transition-colors hover:bg-control-hover hover:text-foreground ${t}`,onClick:e=>{n?.(e),e.defaultPrevented||g()},type:`button`,...c,children:e??(u?(0,F.jsx)(d,{className:`size-3.5`,"aria-hidden":`true`}):(0,F.jsx)(f,{className:`size-3.5`,"aria-hidden":`true`}))})}function Y(e){return e.split(/[\\/]/u).at(-1)??e}function X({actions:e,lineNumber:t,onClose:n,previewKind:a,sourcePath:o,sourceStatus:u}){let{t:d}=r(`workbench`);return(0,F.jsxs)(W,{className:`min-h-toolbar gap-3 overflow-hidden bg-raised px-3 shadow-toolbar sm:px-4`,children:[(0,F.jsxs)(G,{className:`w-0 flex-1 overflow-hidden`,children:[a===`image`?(0,F.jsx)(m,{className:`size-4 shrink-0 text-muted-foreground`,"aria-hidden":`true`}):(0,F.jsx)(p,{className:`size-4 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,F.jsxs)(l,{children:[(0,F.jsx)(s,{asChild:!0,children:(0,F.jsxs)(`div`,{className:`w-0 flex-1 overflow-hidden`,children:[(0,F.jsx)(`h2`,{className:`truncate text-body-small font-semibold`,children:(0,F.jsxs)(K,{children:[Y(o),t===null?null:` (line ${String(t)})`]})}),(0,F.jsx)(`p`,{className:`truncate text-caption text-muted-foreground`,children:o})]})}),(0,F.jsx)(c,{className:`break-all`,children:o})]})]}),u===null?null:(0,F.jsx)(`span`,{className:`shrink-0 text-label ${u===`error`?`text-danger`:`text-warning`}`,role:u===`error`?`alert`:`status`,children:d(u===`loading`?`projectDialog.loadingMoreSource`:u===`error`?`projectDialog.loadMoreSourceError`:`projectDialog.sourcePartial`)}),(0,F.jsxs)(q,{children:[e,n===void 0?null:(0,F.jsxs)(l,{children:[(0,F.jsx)(s,{asChild:!0,children:(0,F.jsx)(i,{"aria-label":d(a===`image`?`projectDialog.closeImagePreview`:`projectDialog.closeSource`),onClick:n,size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,F.jsx)(v,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,F.jsx)(c,{children:d(a===`image`?`projectDialog.closeImagePreview`:`projectDialog.closeSource`)})]})]})]})}var Z=400;function Q(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=Z}function $(e,t){return e.nextCursor===null||e.nextCursor===t?void 0:e.nextCursor}function ee(e){let t=e[0],n=e.at(-1);if(!(t===void 0||n===void 0))return{content:e.map(e=>e.content).join(``),nextCursor:n.nextCursor,path:t.path}}function te({client:e,onClose:t,previewKind:n,projectId:a,reference:d,rootPath:f}){let{t:p}=r(`workbench`),m=(0,w.useRef)(null),[_,v]=(0,w.useState)(()=>D(E())),[y,b]=(0,w.useState)(!1),x=u({enabled:n===`source`,getNextPageParam:(e,t,n)=>$(e,n),initialPageParam:void 0,queryFn:async({pageParam:t,signal:n})=>e.readProjectSourceFile(a,f,d.path,t,{signal:n}),queryKey:[`projects`,a,f??null,`source-file`,d.path],staleTime:3e4}),T=x.data?.pages,k=x.fetchNextPage,A=x.hasNextPage,j=x.isFetchingNextPage,M=(0,w.useMemo)(()=>T===void 0?void 0:ee(T),[T]),N=M?.path??d.path,P=M?.content??``,I=Y(N),L=o(``,a,d.path,f),R=S(N),z=(R===`markdown`||R===`mdx`)&&M?.nextCursor===null,B=z&&_;(0,w.useEffect)(()=>{b(!1)},[n,d.path]),(0,w.useEffect)(()=>{let e=d.lineNumber;if(M===void 0||e===null||B)return;let t=m.current?.querySelector(`[data-code-line="${String(e)}"]`);if(t!=null){t.scrollIntoView({block:`center`});return}A&&!j&&k()},[k,A,j,d.lineNumber,M,B]);let V=M===void 0?null:j?`loading`:x.isFetchNextPageError?`error`:A?`partial`:null,H={lineNumber:d.lineNumber,...t===void 0?{}:{onClose:t},previewKind:n,sourcePath:N,sourceStatus:V},W=e=>{if(n!==`source`||!A||j)return;let t=e.target;!(t instanceof HTMLElement)||!Q(t)||k()},G=e=>{v(e),O(e,E())};return(0,F.jsx)(`section`,{"aria-label":N,className:`h-full min-h-0 bg-raised`,onScrollCapture:W,ref:m,children:n===`image`?(0,F.jsxs)(`div`,{className:`grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)] bg-content`,children:[(0,F.jsx)(X,{...H}),(0,F.jsx)(`div`,{className:`grid min-h-0 place-items-center overflow-hidden p-4 sm:p-6`,children:y?(0,F.jsx)(`div`,{className:`text-body-small text-danger`,role:`alert`,children:p(`projectDialog.loadImageError`)}):(0,F.jsx)(`img`,{alt:I,className:`block size-full object-contain`,decoding:`async`,onError:()=>{b(!0)},src:L})})]}):M===void 0&&x.isPending?(0,F.jsxs)(`div`,{className:`grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)]`,children:[(0,F.jsx)(X,{...H}),(0,F.jsx)(`div`,{className:`grid min-h-48 place-items-center text-body-small text-muted-foreground`,role:`status`,children:p(`projectDialog.loadingSource`)})]}):M===void 0&&x.error!==null?(0,F.jsxs)(`div`,{className:`grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)]`,children:[(0,F.jsx)(X,{...H}),(0,F.jsx)(`div`,{className:`grid min-h-48 place-items-center text-body-small text-danger`,role:`alert`,children:p(`projectDialog.loadSourceError`)})]}):B?(0,F.jsxs)(`div`,{className:`grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)] bg-content`,children:[(0,F.jsx)(X,{...H,actions:(0,F.jsxs)(l,{children:[(0,F.jsx)(s,{asChild:!0,children:(0,F.jsx)(i,{"aria-label":p(`projectDialog.showRawContent`),onClick:()=>{G(!1)},size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,F.jsx)(C,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,F.jsx)(c,{children:p(`projectDialog.showRawContent`)})]})}),(0,F.jsx)(`div`,{className:`min-h-0 overflow-auto px-5 py-4 sm:px-8 sm:py-6`,children:(0,F.jsx)(h,{className:`mx-auto max-w-4xl`,children:P})})]}):(0,F.jsx)(U,{className:`grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)] rounded-none bg-content shadow-none`,code:P,highlightedLine:d.lineNumber,language:R,showLineNumbers:!0,children:(0,F.jsx)(X,{...H,actions:(0,F.jsxs)(F.Fragment,{children:[z?(0,F.jsxs)(l,{children:[(0,F.jsx)(s,{asChild:!0,children:(0,F.jsx)(i,{"aria-label":p(`projectDialog.previewMarkdown`),onClick:()=>{G(!0)},size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,F.jsx)(g,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,F.jsx)(c,{children:p(`projectDialog.previewMarkdown`)})]}):null,(0,F.jsx)(J,{})]})})})})}export{K as a,C as c,J as i,U as n,W as o,q as r,G as s,te as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/code-highlighter-Bc0RuXH6.js","assets/engine-compile-Bqjaa_8Z.js","assets/lib-DrPFkMXk.js","assets/rolldown-runtime-QTnfLwEv.js","assets/code-languages-Dyc6uij-.js","assets/index-D07js1WI.js","assets/react-runtime-CVaUQXZF.js","assets/dist-Cib4eRMP.js","assets/bundle-mjs-rHxsej31.js","assets/tooltip-D3tWiAWP.js","assets/useInfiniteQuery-Bu9BuQ4a.js","assets/checkbox-nYXSVVQi.js","assets/check-BOdEYGxk.js","assets/loader-circle-B1P6CG7G.js","assets/dist-CaAkD3UC.js","assets/es2015-Ru0tXs3G.js","assets/file-tree-CqppWhX1.js","assets/provider-connection-queries-CSumXgIL.js","assets/index-C4ygqQbj.css","assets/github-dark-C-LZuMrd.js","assets/github-light-EUqPIrTm.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{D as r,v as i,w as a}from"./dist-Cib4eRMP.js";import{f as o,i as s,n as c,t as l}from"./tooltip-D3tWiAWP.js";import{t as u}from"./useInfiniteQuery-Bu9BuQ4a.js";import{t as d}from"./check-BOdEYGxk.js";import{n as f,t as p}from"./file-code-corner-Bs_lkoMS.js";import{n as m,t as h}from"./lazy-message-response-BCtctszr.js";import{at as g,dt as _,et as v,gt as y,ht as b,mt as x}from"./index-D07js1WI.js";import{t as S}from"./code-languages-Dyc6uij-.js";var C=a(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),w=e(t(),1),T=`codexly:workbench:markdown-preview:v1`;function E(){try{return typeof window>`u`?void 0:window.localStorage}catch{return}}function D(e){if(e===void 0)return!1;try{let t=JSON.parse(e.getItem(T)??`null`);return k(t)?t.preview:!1}catch{return!1}}function O(e,t){if(t===void 0)return;let n={preview:e,version:1};try{t.setItem(T,JSON.stringify(n))}catch{}}function k(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.version===1&&typeof t.preview==`boolean`}var A=24*1024*1024,j=512*1024;function M(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(16)}function N(e,t){return`${e}:${String(t.length)}:${M(t)}`}var P=class{maxSourceBytes;#e;constructor(e=A,t=128,n=j){this.maxSourceBytes=n,this.#e=new x({getRetainedBytes:(e,t)=>y(e)+b(t),maxBytes:e,maxEntries:t})}get retainedBytes(){return this.#e.retainedBytes}get size(){return this.#e.size}get(e,t){let n=this.#e.get(N(e,t));return n?.source===t?n.tokenized:void 0}set(e,t,n){return y(t)>this.maxSourceBytes?!1:this.#e.set(N(e,t),{source:t,tokenized:n})}},F=n(),I=(0,w.createContext)(null),L=new P;function R(){let e=(0,w.useContext)(I);if(e===null)throw Error(`CodeBlock components must be rendered inside CodeBlock`);return e}function z(e){return{background:`transparent`,foreground:`inherit`,lines:e.split(`
3
+ `).map(e=>e===``?[]:[{content:e,offset:0}])}}function B(e){let t=e.htmlStyle,n=e.color??t?.color,r=t?.[`--shiki-dark`],i=e.bgColor??t?.backgroundColor,a=t?.[`--shiki-dark-bg`];return{...t,backgroundColor:i===void 0||a===void 0?i:`light-dark(${i}, ${a})`,color:n===void 0||r===void 0?n:`light-dark(${n}, ${r})`}}async function V(e,t){if(t===`text`)return z(e);let n=L.get(t,e);if(n!==void 0)return n;let{highlightCode:r}=await _(async()=>{let{highlightCode:e}=await import(`./code-highlighter-Bc0RuXH6.js`);return{highlightCode:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])),i=await r(e,t);return L.set(t,e,i),i}function H({className:e=``,code:t,highlightedLine:n=null,language:r,showLineNumbers:i=!1,...a}){let o=(0,w.useMemo)(()=>z(t),[t]),[s,c]=(0,w.useState)(o);return(0,w.useEffect)(()=>{let e=!0;return c(o),V(t,r).then(t=>{e&&c(t)}).catch(()=>{}),()=>{e=!1}},[t,r,o]),(0,F.jsx)(`div`,{className:`relative min-h-0 overflow-auto ${e}`,...a,children:(0,F.jsx)(`pre`,{className:`m-0 min-w-max bg-transparent py-3 font-mono text-body-small leading-6 text-foreground`,style:{backgroundColor:s.background,color:s.foreground},children:(0,F.jsx)(`code`,{children:s.lines.map((e,t)=>{let r=t+1,a=r===n;return(0,F.jsxs)(`span`,{className:`block min-h-6 px-3 ${i?`grid grid-cols-[4rem_minmax(0,1fr)]`:``} ${a?`bg-brand-soft text-brand-strong`:``}`,"data-code-line":r,"data-highlighted":a?`true`:void 0,children:[i?(0,F.jsx)(`span`,{"aria-hidden":`true`,className:`select-none pr-4 text-right ${a?`text-brand`:`text-muted-foreground`}`,children:r}):null,(0,F.jsx)(`span`,{className:`whitespace-pre`,children:e.length===0?` `:e.map((e,t)=>(0,F.jsx)(`span`,{style:B(e),children:e.content},`${String(r)}-${String(t)}`))})]},r)})})})})}function U({children:e,className:t=``,code:n,highlightedLine:r=null,language:i,showLineNumbers:a=!1,style:o,...s}){let c=(0,w.useMemo)(()=>({code:n}),[n]);return(0,F.jsx)(I.Provider,{value:c,children:(0,F.jsxs)(`div`,{className:`relative w-full overflow-hidden rounded-surface bg-raised text-foreground shadow-sm ${t}`,"data-language":i,style:{containIntrinsicSize:`auto 200px`,contentVisibility:`auto`,...o},...s,children:[e,(0,F.jsx)(H,{code:n,highlightedLine:r,language:i,showLineNumbers:a})]})})}function W({className:e=``,...t}){return(0,F.jsx)(`div`,{className:`flex min-h-8 items-center justify-between border-b border-separator bg-control px-3 text-label text-muted-foreground ${e}`,...t})}function G({className:e=``,...t}){return(0,F.jsx)(`div`,{className:`flex min-w-0 items-center gap-2 ${e}`,...t})}function K({className:e=``,...t}){return(0,F.jsx)(`span`,{className:`truncate font-mono ${e}`,...t})}function q({className:e=``,...t}){return(0,F.jsx)(`div`,{className:`ml-auto flex items-center gap-1 ${e}`,...t})}function J({children:e,className:t=``,onClick:n,onCopy:a,onError:o,timeout:s=2e3,...c}){let{code:l}=R(),[u,p]=(0,w.useState)(!1),{t:m}=r(`conversation`),h=(0,w.useRef)(null);(0,w.useEffect)(()=>()=>{h.current!==null&&clearTimeout(h.current)},[]);let g=async()=>{try{await navigator.clipboard.writeText(l),p(!0),a?.(),h.current!==null&&clearTimeout(h.current),h.current=setTimeout(()=>{p(!1)},s)}catch(e){o?.(e instanceof Error?e:Error(`Unable to copy code`))}};return(0,F.jsx)(i,{variant:`ghost`,"aria-label":m(u?`agentComponents.copiedCode`:`agentComponents.copyCode`),className:`grid size-7 shrink-0 place-items-center rounded-control text-muted-foreground transition-colors hover:bg-control-hover hover:text-foreground ${t}`,onClick:e=>{n?.(e),e.defaultPrevented||g()},type:`button`,...c,children:e??(u?(0,F.jsx)(d,{className:`size-3.5`,"aria-hidden":`true`}):(0,F.jsx)(f,{className:`size-3.5`,"aria-hidden":`true`}))})}function Y(e){return e.split(/[\\/]/u).at(-1)??e}function X({actions:e,lineNumber:t,onClose:n,previewKind:a,sourcePath:o,sourceStatus:u}){let{t:d}=r(`workbench`);return(0,F.jsxs)(W,{className:`min-h-toolbar gap-3 overflow-hidden bg-raised px-3 shadow-toolbar sm:px-4`,children:[(0,F.jsxs)(G,{className:`w-0 flex-1 overflow-hidden`,children:[a===`image`?(0,F.jsx)(m,{className:`size-4 shrink-0 text-muted-foreground`,"aria-hidden":`true`}):(0,F.jsx)(p,{className:`size-4 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,F.jsxs)(l,{children:[(0,F.jsx)(s,{asChild:!0,children:(0,F.jsxs)(`div`,{className:`w-0 flex-1 overflow-hidden`,children:[(0,F.jsx)(`h2`,{className:`truncate text-body-small font-semibold`,children:(0,F.jsxs)(K,{children:[Y(o),t===null?null:` (line ${String(t)})`]})}),(0,F.jsx)(`p`,{className:`truncate text-caption text-muted-foreground`,children:o})]})}),(0,F.jsx)(c,{className:`break-all`,children:o})]})]}),u===null?null:(0,F.jsx)(`span`,{className:`shrink-0 text-label ${u===`error`?`text-danger`:`text-warning`}`,role:u===`error`?`alert`:`status`,children:d(u===`loading`?`projectDialog.loadingMoreSource`:u===`error`?`projectDialog.loadMoreSourceError`:`projectDialog.sourcePartial`)}),(0,F.jsxs)(q,{children:[e,n===void 0?null:(0,F.jsxs)(l,{children:[(0,F.jsx)(s,{asChild:!0,children:(0,F.jsx)(i,{"aria-label":d(a===`image`?`projectDialog.closeImagePreview`:`projectDialog.closeSource`),onClick:n,size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,F.jsx)(v,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,F.jsx)(c,{children:d(a===`image`?`projectDialog.closeImagePreview`:`projectDialog.closeSource`)})]})]})]})}var Z=400;function Q(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=Z}function $(e,t){return e.nextCursor===null||e.nextCursor===t?void 0:e.nextCursor}function ee(e){let t=e[0],n=e.at(-1);if(!(t===void 0||n===void 0))return{content:e.map(e=>e.content).join(``),nextCursor:n.nextCursor,path:t.path}}function te({client:e,onClose:t,previewKind:n,projectId:a,reference:d,rootPath:f}){let{t:p}=r(`workbench`),m=(0,w.useRef)(null),[_,v]=(0,w.useState)(()=>D(E())),[y,b]=(0,w.useState)(!1),x=u({enabled:n===`source`,getNextPageParam:(e,t,n)=>$(e,n),initialPageParam:void 0,queryFn:async({pageParam:t,signal:n})=>e.readProjectSourceFile(a,f,d.path,t,{signal:n}),queryKey:[`projects`,a,f??null,`source-file`,d.path],staleTime:3e4}),T=x.data?.pages,k=x.fetchNextPage,A=x.hasNextPage,j=x.isFetchingNextPage,M=(0,w.useMemo)(()=>T===void 0?void 0:ee(T),[T]),N=M?.path??d.path,P=M?.content??``,I=Y(N),L=o(``,a,d.path,f),R=S(N),z=(R===`markdown`||R===`mdx`)&&M?.nextCursor===null,B=z&&_;(0,w.useEffect)(()=>{b(!1)},[n,d.path]),(0,w.useEffect)(()=>{let e=d.lineNumber;if(M===void 0||e===null||B)return;let t=m.current?.querySelector(`[data-code-line="${String(e)}"]`);if(t!=null){t.scrollIntoView({block:`center`});return}A&&!j&&k()},[k,A,j,d.lineNumber,M,B]);let V=M===void 0?null:j?`loading`:x.isFetchNextPageError?`error`:A?`partial`:null,H={lineNumber:d.lineNumber,...t===void 0?{}:{onClose:t},previewKind:n,sourcePath:N,sourceStatus:V},W=e=>{if(n!==`source`||!A||j)return;let t=e.target;!(t instanceof HTMLElement)||!Q(t)||k()},G=e=>{v(e),O(e,E())};return(0,F.jsx)(`section`,{"aria-label":N,className:`h-full min-h-0 bg-raised`,onScrollCapture:W,ref:m,children:n===`image`?(0,F.jsxs)(`div`,{className:`grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)] bg-content`,children:[(0,F.jsx)(X,{...H}),(0,F.jsx)(`div`,{className:`grid min-h-0 place-items-center overflow-hidden p-4 sm:p-6`,children:y?(0,F.jsx)(`div`,{className:`text-body-small text-danger`,role:`alert`,children:p(`projectDialog.loadImageError`)}):(0,F.jsx)(`img`,{alt:I,className:`block size-full object-contain`,decoding:`async`,onError:()=>{b(!0)},src:L})})]}):M===void 0&&x.isPending?(0,F.jsxs)(`div`,{className:`grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)]`,children:[(0,F.jsx)(X,{...H}),(0,F.jsx)(`div`,{className:`grid min-h-48 place-items-center text-body-small text-muted-foreground`,role:`status`,children:p(`projectDialog.loadingSource`)})]}):M===void 0&&x.error!==null?(0,F.jsxs)(`div`,{className:`grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)]`,children:[(0,F.jsx)(X,{...H}),(0,F.jsx)(`div`,{className:`grid min-h-48 place-items-center text-body-small text-danger`,role:`alert`,children:p(`projectDialog.loadSourceError`)})]}):B?(0,F.jsxs)(`div`,{className:`grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)] bg-content`,children:[(0,F.jsx)(X,{...H,actions:(0,F.jsxs)(l,{children:[(0,F.jsx)(s,{asChild:!0,children:(0,F.jsx)(i,{"aria-label":p(`projectDialog.showRawContent`),onClick:()=>{G(!1)},size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,F.jsx)(C,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,F.jsx)(c,{children:p(`projectDialog.showRawContent`)})]})}),(0,F.jsx)(`div`,{className:`min-h-0 overflow-auto px-5 py-4 sm:px-8 sm:py-6`,children:(0,F.jsx)(h,{className:`mx-auto max-w-4xl`,children:P})})]}):(0,F.jsx)(U,{className:`grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)] rounded-none bg-content shadow-none`,code:P,highlightedLine:d.lineNumber,language:R,showLineNumbers:!0,children:(0,F.jsx)(X,{...H,actions:(0,F.jsxs)(F.Fragment,{children:[z?(0,F.jsxs)(l,{children:[(0,F.jsx)(s,{asChild:!0,children:(0,F.jsx)(i,{"aria-label":p(`projectDialog.previewMarkdown`),onClick:()=>{G(!0)},size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,F.jsx)(g,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,F.jsx)(c,{children:p(`projectDialog.previewMarkdown`)})]}):null,(0,F.jsx)(J,{})]})})})})}export{K as a,C as c,J as i,U as n,W as o,q as r,G as s,te as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,i as n,n as r,o as i,r as a,t as o}from"./engine-compile-Bqjaa_8Z.js";import{i as s}from"./code-languages-CPYTSY-8.js";var c=e({bundledLanguages:()=>l,codeToHtml:()=>r,createCssVariablesTheme:()=>a,createHighlighter:()=>u,createJavaScriptRegexEngine:()=>o,createOnigurumaEngine:()=>d,getTokenStyleObject:()=>t,stringifyTokenStyle:()=>i}),l=s;async function u(e){let t=[];for(let n of e.langs??[]){if(n===`ansi`||n===`text`)continue;if(typeof n!=`string`){t.push(n);continue}let e=l[n];t.push((await e()).default)}return n({...e,engine:e.engine??o({forgiving:!0}),langs:t})}function d(){return o({forgiving:!0})}export{c as i,u as n,d as r,l as t};
1
+ import{n as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,i as n,n as r,o as i,r as a,t as o}from"./engine-compile-Bqjaa_8Z.js";import{i as s}from"./code-languages-Dyc6uij-.js";var c=e({bundledLanguages:()=>l,codeToHtml:()=>r,createCssVariablesTheme:()=>a,createHighlighter:()=>u,createJavaScriptRegexEngine:()=>o,createOnigurumaEngine:()=>d,getTokenStyleObject:()=>t,stringifyTokenStyle:()=>i}),l=s;async function u(e){let t=[];for(let n of e.langs??[]){if(n===`ansi`||n===`text`)continue;if(typeof n!=`string`){t.push(n);continue}let e=l[n];t.push((await e()).default)}return n({...e,engine:e.engine??o({forgiving:!0}),langs:t})}function d(){return o({forgiving:!0})}export{c as i,u as n,d as r,l as t};
@@ -1,2 +1,2 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{C as r,D as i,I as a,v as o,w as s,y as c}from"./dist-Cib4eRMP.js";import{R as l,i as u,n as d,t as f}from"./tooltip-D3tWiAWP.js";import{a as p,c as m,l as h,o as g,t as _}from"./checkbox-nYXSVVQi.js";import{n as v,r as y,t as b}from"./loader-circle-B1P6CG7G.js";import{t as x}from"./check-BOdEYGxk.js";import{a as S,i as C,o as w,r as T,t as E}from"./file-tree-CqppWhX1.js";import{n as D,t as O}from"./button-group-CYhxptHg.js";import{S as k,r as ee,y as te}from"./prompt-input-controls-CJyoVdGf.js";import{n as ne,r as A,t as j}from"./file-navigation-view-preference-CMQ7btc9.js";import{t as M}from"./upload-C2JxJnmn.js";import{At as N,B as re,C as ie,F as ae,I as oe,L as se,M as ce,R as le,Rt as P,S as ue,kt as F,w as I,x as de,z as L}from"./index-zqp46jqN.js";var R=s(`file-minus-corner`,[[`path`,{d:`M20 14V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12`,key:`l9p8hp`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),z=e(t(),1),B=n(),V=r(`min-w-0 text-foreground outline-none transition-[border-color,box-shadow] placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`,{defaultVariants:{variant:`default`},variants:{variant:{default:`min-h-20 w-full resize-y rounded-control bg-control px-3 py-2 text-body focus-visible:shadow-focus`,embedded:`flex-1 resize-none bg-transparent`}}});function H({className:e,variant:t=`default`,...n}){return(0,B.jsx)(`textarea`,{className:c(V({className:e,variant:t})),"data-slot":`textarea`,"data-variant":t,...n})}function fe({className:e,...t}){return(0,B.jsx)(`div`,{className:c(`group/input-group flex w-full min-w-0 items-center`,e),"data-slot":`input-group`,role:`group`,...t})}function pe({align:e=`inline-start`,className:t,...n}){return(0,B.jsx)(`div`,{className:c(`flex shrink-0 items-center`,t),"data-align":e,"data-slot":`input-group-addon`,role:`group`,...n})}function me({className:e,...t}){return(0,B.jsx)(H,{className:c(`min-w-0 flex-1`,e),"data-slot":`input-group-control`,variant:`embedded`,...t})}function U(e){return[...e].sort((e,t)=>e.kind===t.kind?e.name.localeCompare(t.name,`en`):e.kind===`file`?-1:1)}function W(e){let t=[e.name],n=e;for(;n.children.size===1;){let e=n.children.values().next().value;if(e?.kind!==`folder`)break;t.push(e.name),n=e}return{children:U([...n.children.values()].map(e=>e.kind===`folder`?W(e):e)),kind:`folder`,name:t.join(`/`),path:n.path}}function G(e){let t={children:new Map,kind:`folder`,name:``,path:``};for(let n of e){let e=n.path.split(`/`),r=e.pop();if(r===void 0)continue;let i=t;for(let t of e){let e=i.path===``?t:`${i.path}/${t}`,n=i.children.get(t);if(n?.kind===`folder`){i=n;continue}let r={children:new Map,kind:`folder`,name:t,path:e};i.children.set(t,r),i=r}i.children.set(r,{kind:`file`,name:r,path:n.path,status:n.kind})}return U([...t.children.values()].map(e=>e.kind===`folder`?W(e):e))}function K(e,t){for(let n of e)n.kind===`folder`&&(t.add(n.path),K(n.children,t))}function q(e){return e===`create`?`text-diff-added`:e===`delete`?`text-danger`:`text-warning`}function J(e){let t=c(`size-3.5`,q(e));return e===`create`?(0,B.jsx)(k,{"aria-hidden":`true`,className:t}):e===`delete`?(0,B.jsx)(R,{"aria-hidden":`true`,className:t}):(0,B.jsx)(D,{"aria-hidden":`true`,className:t})}function Y(e){return e===`create`?`A`:e===`delete`?`D`:`M`}function X({changesByPath:e,disabled:t,label:n,nodes:r,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o}){return r.map(r=>{if(r.kind===`folder`)return(0,B.jsx)(C,{name:r.name,path:r.path,children:(0,B.jsx)(X,{changesByPath:e,disabled:t,label:n,nodes:r.children,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o})},r.path);let s=o.has(r.path),c=e.get(r.path);return(0,B.jsxs)(T,{"aria-label":r.path,className:q(r.status),icon:J(r.status),name:r.name,onClick:()=>{c!==void 0&&i(c)},path:r.path,trailing:(0,B.jsx)(`span`,{className:`ml-auto w-3 text-center text-meta font-semibold text-muted-foreground`,children:Y(r.status)}),children:[(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`size-5 shrink-0`}),(0,B.jsx)(_,{"aria-label":`${n}: ${r.path}`,checked:s,disabled:t,onCheckedChange:()=>{a(r.path)},onClick:e=>{e.stopPropagation()}}),(0,B.jsx)(S,{children:J(r.status)}),(0,B.jsx)(w,{title:r.path,children:r.name})]},r.path)})}function Z({changes:e,disabled:t=!1,label:n,onOpenFileDiff:r,onSelectedPathsChange:i,selectedPaths:a,viewMode:o=`tree`}){let s=(0,z.useMemo)(()=>G(e),[e]),l=(0,z.useMemo)(()=>new Map(e.map(e=>[e.path,e])),[e]),u=(0,z.useMemo)(()=>[...new Set(e.map(e=>e.path))],[e]),d=(0,z.useMemo)(()=>{let e=new Set;return K(s,e),e},[s]);if(u.length===0)return null;let f=u.filter(e=>a.has(e)).length,p=f===0?!1:f===u.length||`indeterminate`,m=e=>{let t=new Set(a);t.has(e)?t.delete(e):t.add(e),i(t)};return(0,B.jsxs)(`section`,{"aria-label":n,className:`py-0.5`,children:[(0,B.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 px-3`,children:[(0,B.jsx)(_,{"aria-label":n,checked:p,disabled:t||u.length===0,onCheckedChange:e=>{let t=new Set(a);for(let n of u)e===!0?t.add(n):t.delete(n);i(t)}}),(0,B.jsx)(`h3`,{className:`text-label font-semibold text-foreground`,children:n}),(0,B.jsx)(`span`,{className:`ml-auto text-caption text-muted-foreground`,children:u.length})]}),o===`list`?(0,B.jsx)(`div`,{className:`px-1 font-mono text-label`,"data-slot":`commit-changes-list`,role:`list`,children:e.toSorted((e,t)=>e.path.localeCompare(t.path,`en`)).map(e=>(0,B.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 rounded-control px-2 hover:bg-control-hover`,role:`listitem`,children:[(0,B.jsx)(_,{"aria-label":`${n}: ${e.path}`,checked:a.has(e.path),disabled:t,onCheckedChange:()=>{m(e.path)}}),(0,B.jsxs)(`button`,{"aria-label":e.path,className:c(`flex min-w-0 flex-1 items-center gap-1.5 text-left outline-none focus-visible:shadow-focus`,q(e.kind)),onClick:()=>{r(e)},type:`button`,children:[J(e.kind),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:e.path,children:e.path}),(0,B.jsx)(`span`,{className:`w-3 text-center text-meta font-semibold text-muted-foreground`,children:Y(e.kind)})]})]},e.path))}):s.length===0?null:(0,B.jsx)(E,{"aria-label":n,className:`px-1`,defaultExpanded:d,children:(0,B.jsx)(X,{changesByPath:l,disabled:t,label:n,nodes:s,onOpenFileDiff:r,onTogglePath:m,selectedPaths:a})})]})}function he(e){let t=new Map;for(let n of e.staged)t.set(n.path,{path:n.path,staged:!0,unstaged:!1});for(let n of e.unstaged){let e=t.get(n.path);t.set(n.path,{path:n.path,staged:e?.staged??!1,unstaged:!0})}return[...t.values()].sort((e,t)=>e.path.localeCompare(t.path,`en`))}function ge(e){if(e.repositoryMode!==`children`)return[];let t=new Set;for(let n of[...e.staged,...e.unstaged]){let e=n.path.indexOf(`/`);e>0&&t.add(n.path.slice(0,e))}return[...t].toSorted((e,t)=>e.localeCompare(t,`en`))}function Q(e,t){return{identity:e,message:``,selectedPaths:new Set(t.map(e=>e.path))}}function $({error:e=null,gitStatus:t,isCommitting:n=!1,isGenerating:r=!1,isRepositoryLoading:a=!1,onCommit:s,onGenerateMessage:l,onOpenFileDiff:p,onSelectRepository:h=()=>void 0,repositories:g=[],result:_=null,selectedRepository:y=null}){let{t:S}=i(`workbench`),[C,w]=j(`changes`),T=(0,z.useMemo)(()=>he(t),[t]),E=`${y??`root`}:${t.snapshot}`,[D,k]=(0,z.useState)(()=>Q(E,T)),N=(0,z.useRef)(m());D.identity!==E&&k(Q(E,T));let{message:P,selectedPaths:F}=D,R=P.includes(`
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{C as r,D as i,I as a,v as o,w as s,y as c}from"./dist-Cib4eRMP.js";import{R as l,i as u,n as d,t as f}from"./tooltip-D3tWiAWP.js";import{a as p,c as m,l as h,o as g,t as _}from"./checkbox-nYXSVVQi.js";import{n as v,r as y,t as b}from"./loader-circle-B1P6CG7G.js";import{t as x}from"./check-BOdEYGxk.js";import{a as S,i as C,o as w,r as T,t as E}from"./file-tree-CqppWhX1.js";import{n as D,t as O}from"./button-group-CYhxptHg.js";import{S as k,r as ee,y as te}from"./prompt-input-controls-CJyoVdGf.js";import{n as ne,r as A,t as j}from"./file-navigation-view-preference-CMQ7btc9.js";import{t as M}from"./upload-C2JxJnmn.js";import{At as N,B as re,C as ie,F as ae,I as oe,L as se,M as ce,R as le,Rt as P,S as ue,kt as F,w as I,x as de,z as L}from"./index-D07js1WI.js";var R=s(`file-minus-corner`,[[`path`,{d:`M20 14V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12`,key:`l9p8hp`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),z=e(t(),1),B=n(),V=r(`min-w-0 text-foreground outline-none transition-[border-color,box-shadow] placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`,{defaultVariants:{variant:`default`},variants:{variant:{default:`min-h-20 w-full resize-y rounded-control bg-control px-3 py-2 text-body focus-visible:shadow-focus`,embedded:`flex-1 resize-none bg-transparent`}}});function H({className:e,variant:t=`default`,...n}){return(0,B.jsx)(`textarea`,{className:c(V({className:e,variant:t})),"data-slot":`textarea`,"data-variant":t,...n})}function fe({className:e,...t}){return(0,B.jsx)(`div`,{className:c(`group/input-group flex w-full min-w-0 items-center`,e),"data-slot":`input-group`,role:`group`,...t})}function pe({align:e=`inline-start`,className:t,...n}){return(0,B.jsx)(`div`,{className:c(`flex shrink-0 items-center`,t),"data-align":e,"data-slot":`input-group-addon`,role:`group`,...n})}function me({className:e,...t}){return(0,B.jsx)(H,{className:c(`min-w-0 flex-1`,e),"data-slot":`input-group-control`,variant:`embedded`,...t})}function U(e){return[...e].sort((e,t)=>e.kind===t.kind?e.name.localeCompare(t.name,`en`):e.kind===`file`?-1:1)}function W(e){let t=[e.name],n=e;for(;n.children.size===1;){let e=n.children.values().next().value;if(e?.kind!==`folder`)break;t.push(e.name),n=e}return{children:U([...n.children.values()].map(e=>e.kind===`folder`?W(e):e)),kind:`folder`,name:t.join(`/`),path:n.path}}function G(e){let t={children:new Map,kind:`folder`,name:``,path:``};for(let n of e){let e=n.path.split(`/`),r=e.pop();if(r===void 0)continue;let i=t;for(let t of e){let e=i.path===``?t:`${i.path}/${t}`,n=i.children.get(t);if(n?.kind===`folder`){i=n;continue}let r={children:new Map,kind:`folder`,name:t,path:e};i.children.set(t,r),i=r}i.children.set(r,{kind:`file`,name:r,path:n.path,status:n.kind})}return U([...t.children.values()].map(e=>e.kind===`folder`?W(e):e))}function K(e,t){for(let n of e)n.kind===`folder`&&(t.add(n.path),K(n.children,t))}function q(e){return e===`create`?`text-diff-added`:e===`delete`?`text-danger`:`text-warning`}function J(e){let t=c(`size-3.5`,q(e));return e===`create`?(0,B.jsx)(k,{"aria-hidden":`true`,className:t}):e===`delete`?(0,B.jsx)(R,{"aria-hidden":`true`,className:t}):(0,B.jsx)(D,{"aria-hidden":`true`,className:t})}function Y(e){return e===`create`?`A`:e===`delete`?`D`:`M`}function X({changesByPath:e,disabled:t,label:n,nodes:r,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o}){return r.map(r=>{if(r.kind===`folder`)return(0,B.jsx)(C,{name:r.name,path:r.path,children:(0,B.jsx)(X,{changesByPath:e,disabled:t,label:n,nodes:r.children,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o})},r.path);let s=o.has(r.path),c=e.get(r.path);return(0,B.jsxs)(T,{"aria-label":r.path,className:q(r.status),icon:J(r.status),name:r.name,onClick:()=>{c!==void 0&&i(c)},path:r.path,trailing:(0,B.jsx)(`span`,{className:`ml-auto w-3 text-center text-meta font-semibold text-muted-foreground`,children:Y(r.status)}),children:[(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`size-5 shrink-0`}),(0,B.jsx)(_,{"aria-label":`${n}: ${r.path}`,checked:s,disabled:t,onCheckedChange:()=>{a(r.path)},onClick:e=>{e.stopPropagation()}}),(0,B.jsx)(S,{children:J(r.status)}),(0,B.jsx)(w,{title:r.path,children:r.name})]},r.path)})}function Z({changes:e,disabled:t=!1,label:n,onOpenFileDiff:r,onSelectedPathsChange:i,selectedPaths:a,viewMode:o=`tree`}){let s=(0,z.useMemo)(()=>G(e),[e]),l=(0,z.useMemo)(()=>new Map(e.map(e=>[e.path,e])),[e]),u=(0,z.useMemo)(()=>[...new Set(e.map(e=>e.path))],[e]),d=(0,z.useMemo)(()=>{let e=new Set;return K(s,e),e},[s]);if(u.length===0)return null;let f=u.filter(e=>a.has(e)).length,p=f===0?!1:f===u.length||`indeterminate`,m=e=>{let t=new Set(a);t.has(e)?t.delete(e):t.add(e),i(t)};return(0,B.jsxs)(`section`,{"aria-label":n,className:`py-0.5`,children:[(0,B.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 px-3`,children:[(0,B.jsx)(_,{"aria-label":n,checked:p,disabled:t||u.length===0,onCheckedChange:e=>{let t=new Set(a);for(let n of u)e===!0?t.add(n):t.delete(n);i(t)}}),(0,B.jsx)(`h3`,{className:`text-label font-semibold text-foreground`,children:n}),(0,B.jsx)(`span`,{className:`ml-auto text-caption text-muted-foreground`,children:u.length})]}),o===`list`?(0,B.jsx)(`div`,{className:`px-1 font-mono text-label`,"data-slot":`commit-changes-list`,role:`list`,children:e.toSorted((e,t)=>e.path.localeCompare(t.path,`en`)).map(e=>(0,B.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 rounded-control px-2 hover:bg-control-hover`,role:`listitem`,children:[(0,B.jsx)(_,{"aria-label":`${n}: ${e.path}`,checked:a.has(e.path),disabled:t,onCheckedChange:()=>{m(e.path)}}),(0,B.jsxs)(`button`,{"aria-label":e.path,className:c(`flex min-w-0 flex-1 items-center gap-1.5 text-left outline-none focus-visible:shadow-focus`,q(e.kind)),onClick:()=>{r(e)},type:`button`,children:[J(e.kind),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:e.path,children:e.path}),(0,B.jsx)(`span`,{className:`w-3 text-center text-meta font-semibold text-muted-foreground`,children:Y(e.kind)})]})]},e.path))}):s.length===0?null:(0,B.jsx)(E,{"aria-label":n,className:`px-1`,defaultExpanded:d,children:(0,B.jsx)(X,{changesByPath:l,disabled:t,label:n,nodes:s,onOpenFileDiff:r,onTogglePath:m,selectedPaths:a})})]})}function he(e){let t=new Map;for(let n of e.staged)t.set(n.path,{path:n.path,staged:!0,unstaged:!1});for(let n of e.unstaged){let e=t.get(n.path);t.set(n.path,{path:n.path,staged:e?.staged??!1,unstaged:!0})}return[...t.values()].sort((e,t)=>e.path.localeCompare(t.path,`en`))}function ge(e){if(e.repositoryMode!==`children`)return[];let t=new Set;for(let n of[...e.staged,...e.unstaged]){let e=n.path.indexOf(`/`);e>0&&t.add(n.path.slice(0,e))}return[...t].toSorted((e,t)=>e.localeCompare(t,`en`))}function Q(e,t){return{identity:e,message:``,selectedPaths:new Set(t.map(e=>e.path))}}function $({error:e=null,gitStatus:t,isCommitting:n=!1,isGenerating:r=!1,isRepositoryLoading:a=!1,onCommit:s,onGenerateMessage:l,onOpenFileDiff:p,onSelectRepository:h=()=>void 0,repositories:g=[],result:_=null,selectedRepository:y=null}){let{t:S}=i(`workbench`),[C,w]=j(`changes`),T=(0,z.useMemo)(()=>he(t),[t]),E=`${y??`root`}:${t.snapshot}`,[D,k]=(0,z.useState)(()=>Q(E,T)),N=(0,z.useRef)(m());D.identity!==E&&k(Q(E,T));let{message:P,selectedPaths:F}=D,R=P.includes(`
2
2
  `)?3:1,V=r||n,H=g.length>0||t.repositoryMode===`children`,U=!H||y!==null&&!a&&t.repositoryMode===`root`,W=U&&F.size>0&&!V&&_===null,G=W&&P.trim().length>0,K=()=>N.current.run(async()=>{let e=await l({expectedSnapshot:t.snapshot,paths:[...F],...y===null?{}:{repository:y}});k(t=>({...t,message:e}))}),q=e=>N.current.run(()=>s({action:e,expectedSnapshot:t.snapshot,message:P,paths:[...F],...y===null?{}:{repository:y}}));return(0,B.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,"data-slot":`commit-changes-panel`,children:[H?(0,B.jsxs)(`div`,{className:`shrink-0 border-b border-separator px-3 py-2`,children:[(0,B.jsx)(`label`,{className:`text-label font-medium`,id:`commit-repository-label`,children:S(`commit.repository`)}),(0,B.jsxs)(ae,{disabled:V||_!==null,onValueChange:h,...y===null?{}:{value:y},children:[(0,B.jsx)(L,{"aria-labelledby":`commit-repository-label`,className:`mt-1 w-full`,children:(0,B.jsx)(re,{placeholder:S(`commit.selectRepository`)})}),(0,B.jsx)(oe,{position:`popper`,children:(0,B.jsx)(se,{children:g.map(e=>(0,B.jsx)(le,{value:e,children:e},e))})})]}),a?(0,B.jsx)(`p`,{className:`mt-1 text-caption text-muted-foreground`,role:`status`,children:S(`commit.repositoryLoading`)}):null,g.length===0?(0,B.jsx)(`p`,{className:`mt-1 text-caption text-danger`,role:`alert`,children:S(`commit.repositoryUnavailable`)}):null]}):null,e===null?null:(0,B.jsx)(`p`,{className:`mx-3 mt-2 shrink-0 text-caption text-danger`,role:`alert`,children:e.message}),U?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`section`,{className:`shrink-0 px-3 py-2`,children:[(0,B.jsxs)(fe,{className:c(`gap-1 rounded-surface border border-separator-strong bg-panel shadow-sm focus-within:border-brand focus-within:shadow-focus`,R===1?`h-8 max-workbench:h-11`:`h-18 max-workbench:h-21`),children:[(0,B.jsx)(me,{"aria-label":S(`commit.commitMessage`),className:`h-full min-h-0 overflow-y-auto px-2 py-1.5 text-label leading-5 focus-visible:!outline-none max-workbench:py-3`,disabled:V||_!==null,id:`commit-message`,onChange:e=>{let t=e.currentTarget.value;k(e=>({...e,message:t}))},placeholder:S(`commit.messagePlaceholder`),rows:R,value:P}),(0,B.jsx)(pe,{align:`inline-end`,className:`ml-auto`,children:(0,B.jsxs)(f,{children:[(0,B.jsx)(u,{asChild:!0,children:(0,B.jsx)(ee,{"aria-label":S(`commit.generateMessage`),className:`size-7 shrink-0 justify-center p-0 [&_svg]:size-3.5 max-workbench:size-11`,disabled:!W,onClick:()=>{K().catch(()=>void 0)},type:`button`,children:r?(0,B.jsx)(b,{"aria-hidden":`true`,className:`animate-spin`}):(0,B.jsx)(te,{"aria-hidden":`true`})})}),(0,B.jsx)(d,{side:`top`,children:S(`commit.generateMessage`)})]})})]}),_===null?(0,B.jsxs)(O,{className:`mt-2 w-full`,children:[(0,B.jsxs)(o,{className:`flex-1 rounded-r-none`,disabled:!G,onClick:()=>{q(`commit`).catch(()=>void 0)},type:`button`,children:[n?(0,B.jsx)(b,{"aria-hidden":`true`,className:`animate-spin`}):(0,B.jsx)(x,{"aria-hidden":`true`}),S(`commit.commit`)]}),(0,B.jsxs)(de,{children:[(0,B.jsx)(ce,{asChild:!0,children:(0,B.jsx)(o,{"aria-label":S(`commit.commitActions`),className:`w-10 rounded-l-none border-l border-brand-contrast/30 px-0`,disabled:!G,type:`button`,children:(0,B.jsx)(v,{"aria-hidden":`true`})})}),(0,B.jsx)(ue,{align:`end`,children:(0,B.jsxs)(ie,{children:[(0,B.jsxs)(I,{onSelect:()=>{q(`commit`).catch(()=>void 0)},children:[(0,B.jsx)(x,{"aria-hidden":`true`,className:`size-3.5`}),S(`commit.commit`)]}),(0,B.jsxs)(I,{onSelect:()=>{q(`commit_and_push`).catch(()=>void 0)},children:[(0,B.jsx)(M,{"aria-hidden":`true`,className:`size-3.5`}),S(`commit.commitAndPush`)]})]})})]})]}):(0,B.jsx)(`p`,{className:`mt-2 font-mono text-caption text-muted-foreground`,role:`status`,children:_.commitSha.slice(0,7)})]}),(0,B.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col border-t border-separator`,children:[(0,B.jsxs)(`div`,{className:`flex h-8 shrink-0 items-center gap-1 px-3 text-label font-semibold`,children:[(0,B.jsx)(`span`,{children:S(`commit.changes`)}),(0,B.jsx)(`span`,{className:`ml-auto text-caption font-normal text-muted-foreground`,children:S(`commit.totalFiles`,{count:T.length})}),(0,B.jsxs)(f,{children:[(0,B.jsx)(u,{asChild:!0,children:(0,B.jsx)(o,{"aria-label":S(C===`tree`?`diff.showFileList`:`diff.showFileTree`),onClick:()=>{w(C===`tree`?`list`:`tree`)},size:`icon-sm`,type:`button`,variant:`ghost`,children:C===`tree`?(0,B.jsx)(ne,{"aria-hidden":`true`,className:`size-3.5`}):(0,B.jsx)(A,{"aria-hidden":`true`,className:`size-3.5`})})}),(0,B.jsx)(d,{children:S(C===`tree`?`diff.showFileList`:`diff.showFileTree`)})]})]}),(0,B.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain py-0.5`,"data-slot":`commit-changes-scroll`,children:[(0,B.jsx)(Z,{changes:t.staged,disabled:V||_!==null,label:S(`commit.staged`),onOpenFileDiff:p,onSelectedPathsChange:e=>{k(t=>({...t,selectedPaths:e}))},selectedPaths:F,viewMode:C}),(0,B.jsx)(Z,{changes:t.unstaged,disabled:V||_!==null,label:S(`commit.unstaged`),onOpenFileDiff:p,onSelectedPathsChange:e=>{k(t=>({...t,selectedPaths:e}))},selectedPaths:F,viewMode:C})]})]})]}):null]})}function _e(e){return e.pushStatus===`pushed`?`commit.commitAndPushSucceeded`:e.pushStatus===`not_requested`?`commit.commitSucceeded`:null}function ve({client:e,detailsError:t=null,detailsPending:n=!1,gitStatus:r,onOpenFileDiff:a,projectId:o,rootPath:s}){let{t:c}=i(`workbench`),u=l(),d=h(N(o,s,e)),f=h({...F(o,s,e),meta:{actionNotification:{successMessage:!1}}}),m=(0,z.useMemo)(()=>ge(r),[r]),[_,v]=(0,z.useState)(),[b,x]=(0,z.useState)(null),S=b!==null&&m.includes(b)?b:m[0]??null,C=y(P(o,s,S,r.repositoryMode===`children`,e)),w=r.repositoryMode===`root`?r:C.data??r,T=_?.snapshot===w.snapshot?_.result:null;return(0,B.jsx)($,{error:t??C.error,gitStatus:w,isCommitting:f.isPending,isGenerating:d.isPending,isRepositoryLoading:n||C.isFetching,onCommit:async e=>{let t=e.expectedSnapshot,n=await f.mutateAsync(e);v({result:n,snapshot:t}),u.invalidateQueries({queryKey:[`projects`,o,s,`git-status`]}),u.invalidateQueries({queryKey:[`projects`,o,s,`git-history`]});let r=_e(n);if(r!==null){g(c(r));return}p(Error(n.pushError??c(`commit.commitCompletePushFailed`)))},onGenerateMessage:async e=>(await d.mutateAsync(e)).message,onOpenFileDiff:a,onSelectRepository:e=>{v(void 0),d.reset(),f.reset(),x(e)},repositories:m,result:T,selectedRepository:S})}function ye({client:e,detailsError:t,detailsPending:n,detailsStatus:r,gitStatus:i,gitStatusError:o,onOpenFileDiff:s,projectId:c,rootPath:l}){return c!==void 0&&e!==void 0&&i!==void 0?(0,B.jsx)(ve,{client:e,detailsError:t,detailsPending:n,gitStatus:r??i,onOpenFileDiff:s,projectId:c,rootPath:l}):o===null?(0,B.jsx)(`p`,{className:`p-3 text-caption text-muted-foreground`,role:`status`,children:a.t(`inspector.gitLoading`,{ns:`conversation`})}):(0,B.jsx)(`p`,{className:`p-3 text-caption text-danger`,role:`alert`,children:o.message})}export{ye as WorkbenchInspectorChanges};