@rainmanhhh/pi-web 0.15.30 → 0.15.31

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 (91) hide show
  1. package/dist/server.mjs +1 -1
  2. package/dist/static/assets/{CodeMirrorEditor-DE-avoYu.js → CodeMirrorEditor-Dn6i5_cO.js} +1 -1
  3. package/dist/static/assets/{abnfDiagram-VCTEODGH-DvCj4vgd.js → abnfDiagram-VCTEODGH-DaUZfOgM.js} +1 -1
  4. package/dist/static/assets/architecture-7GRP2DOG-BWMz_bJT.js +1 -0
  5. package/dist/static/assets/{architectureDiagram-5GKGNRK7-C4Xeg0VB.js → architectureDiagram-5GKGNRK7-CNsJp_6o.js} +1 -1
  6. package/dist/static/assets/{blockDiagram-I7D4REHJ-unwAl-wG.js → blockDiagram-I7D4REHJ-COFUxdEG.js} +1 -1
  7. package/dist/static/assets/{c4Diagram-7LVT6UL2-BUPmMqqI.js → c4Diagram-7LVT6UL2-DyXMnxVp.js} +1 -1
  8. package/dist/static/assets/channel-BJiobz0V.js +1 -0
  9. package/dist/static/assets/{chunk-4HAMMTFA-CBpK6zIW.js → chunk-4HAMMTFA-DmZfEGCo.js} +1 -1
  10. package/dist/static/assets/{chunk-75Z2AOVW-9PCQ8PYn.js → chunk-75Z2AOVW-CLa2jYmQ.js} +1 -1
  11. package/dist/static/assets/{chunk-DU6HZSFF-CZQqr2Dk.js → chunk-DU6HZSFF-D0M9w9j3.js} +1 -1
  12. package/dist/static/assets/{chunk-F27PBJKO-D4VEB93d.js → chunk-F27PBJKO-D-tGuyBp.js} +1 -1
  13. package/dist/static/assets/{chunk-GMAD6QVW-CQ6vkChr.js → chunk-GMAD6QVW-HV_xrvTF.js} +1 -1
  14. package/dist/static/assets/{chunk-GVQU2GXP-CLrgKWLa.js → chunk-GVQU2GXP-CTT6lZ-h.js} +1 -1
  15. package/dist/static/assets/{chunk-IMKFNOWR-Cfy7bbne.js → chunk-IMKFNOWR-DvlhDsVi.js} +1 -1
  16. package/dist/static/assets/{chunk-L3NEJ4N5-D-1UC2Ny.js → chunk-L3NEJ4N5-CfjzeNl5.js} +1 -1
  17. package/dist/static/assets/{chunk-OSK3NFVY-B5uH2Wc4.js → chunk-OSK3NFVY-DsBf8_gj.js} +1 -1
  18. package/dist/static/assets/{chunk-P2QGCYS3-TzBrjX9T.js → chunk-P2QGCYS3-DpVZV6VV.js} +1 -1
  19. package/dist/static/assets/{chunk-POPQ4Y6H-Bw1Byo2W.js → chunk-POPQ4Y6H-CAmCwTDg.js} +1 -1
  20. package/dist/static/assets/{chunk-PWAF6VOD-5cKsfIis.js → chunk-PWAF6VOD-QeCTaJTE.js} +1 -1
  21. package/dist/static/assets/{chunk-SHT3W25Y-BmyJpct5.js → chunk-SHT3W25Y-C6M4VlD-.js} +1 -1
  22. package/dist/static/assets/{chunk-SVP7TREG-CNSyyuP-.js → chunk-SVP7TREG-BavhXK1-.js} +1 -1
  23. package/dist/static/assets/{chunk-TICWLB2K-CZ5lifFl.js → chunk-TICWLB2K-CHf2UFoN.js} +1 -1
  24. package/dist/static/assets/classDiagram-ZZMXUADV-DLgEchD0.js +1 -0
  25. package/dist/static/assets/classDiagram-v2-VYDZK3BY-DLgEchD0.js +1 -0
  26. package/dist/static/assets/{cynefin-OW5HDTMX-B0txYefI.js → cynefin-OW5HDTMX-Dt3Cv2vP.js} +1 -1
  27. package/dist/static/assets/{cynefinDiagram-5FMLGOSQ-BoehHC1v.js → cynefinDiagram-5FMLGOSQ-CKusyO7E.js} +1 -1
  28. package/dist/static/assets/{dagre-GXQ25YYZ-Cst5UnYJ.js → dagre-GXQ25YYZ-DJlL-pba.js} +1 -1
  29. package/dist/static/assets/{diagram-S7CK7UJ4-BuWI634Q.js → diagram-S7CK7UJ4-CGJ1py7j.js} +1 -1
  30. package/dist/static/assets/{diagram-UQ7AKVKN-BjE0xrKa.js → diagram-UQ7AKVKN-DiLLb5jJ.js} +1 -1
  31. package/dist/static/assets/{diagram-VSXAHHWV-LUs0Wkuf.js → diagram-VSXAHHWV-DmKMXELX.js} +1 -1
  32. package/dist/static/assets/{diagram-VX7I27RA-DjyOo4IS.js → diagram-VX7I27RA-Cs-PcjDF.js} +1 -1
  33. package/dist/static/assets/{diagram-Z3DM3KII-77X01rAq.js → diagram-Z3DM3KII-DZvqp8l0.js} +1 -1
  34. package/dist/static/assets/{ebnfDiagram-PWID7BFC-DjKv3KBg.js → ebnfDiagram-PWID7BFC-CDyrhFhZ.js} +1 -1
  35. package/dist/static/assets/{erDiagram-RLTQ6QDP-CORyetVV.js → erDiagram-RLTQ6QDP-CfKf6O_p.js} +1 -1
  36. package/dist/static/assets/eventmodeling-NTZA5JFV-DYr2LkkH.js +1 -0
  37. package/dist/static/assets/flowDiagram-HODETNUW-DNMY73ib.js +1 -0
  38. package/dist/static/assets/{ganttDiagram-EL5Y4UJY-O2sxQ84W.js → ganttDiagram-EL5Y4UJY-BOw-WPLa.js} +1 -1
  39. package/dist/static/assets/{gitGraph-4MIJSDKK-2RmJl_5M.js → gitGraph-4MIJSDKK-CqfdQEfc.js} +1 -1
  40. package/dist/static/assets/{gitGraphDiagram-WWUBYQGX-C2P5UxOI.js → gitGraphDiagram-WWUBYQGX-BEzVom1c.js} +1 -1
  41. package/dist/static/assets/{highlighted-body-KPVGNVTW-C6SUTwfg.js → highlighted-body-KPVGNVTW-NOKBQsaw.js} +1 -1
  42. package/dist/static/assets/{index-D3yC5vZq.js → index-L0VUZ-Zs.js} +75 -75
  43. package/dist/static/assets/{info-A6RAGUB7-BqA_-g5C.js → info-A6RAGUB7-DAyBFFu3.js} +1 -1
  44. package/dist/static/assets/{infoDiagram-27XIBGKW-CKygkFlT.js → infoDiagram-27XIBGKW-nQ5OmxFH.js} +1 -1
  45. package/dist/static/assets/{ishikawaDiagram-5VMMS53U-CgOQWfx2.js → ishikawaDiagram-5VMMS53U--UpOa-sA.js} +1 -1
  46. package/dist/static/assets/{journeyDiagram-3NMN7TZE-DxNc6jo3.js → journeyDiagram-3NMN7TZE-D75Ho_Dp.js} +1 -1
  47. package/dist/static/assets/{kanban-definition-UXKFOSKX-Diu3unWr.js → kanban-definition-UXKFOSKX-BTaaT_HN.js} +1 -1
  48. package/dist/static/assets/{line-DsV1ywdH.js → line-BWDq577B.js} +1 -1
  49. package/dist/static/assets/mermaid-HWGCJPDP-Dul2LN5F.js +1 -0
  50. package/dist/static/assets/{mermaid-parser.core-DVsN3Qkg.js → mermaid-parser.core-BaMxBAC8.js} +3 -3
  51. package/dist/static/assets/{mermaid.core-CEYg5CaO.js → mermaid.core-CCKsmqag.js} +4 -4
  52. package/dist/static/assets/{mindmap-definition-YA3MSWOX-CoItbnAH.js → mindmap-definition-YA3MSWOX-Scivyx2I.js} +1 -1
  53. package/dist/static/assets/{packet-AYTQ26CC-VMRlBMJP.js → packet-AYTQ26CC-D_vW6yzq.js} +1 -1
  54. package/dist/static/assets/{pegDiagram-XKGWAZYB-w_A1ZEbA.js → pegDiagram-XKGWAZYB-CiTwj5qZ.js} +1 -1
  55. package/dist/static/assets/{pie-WAS4IAKB-DZcmm6Tv.js → pie-WAS4IAKB-YgUTd30X.js} +1 -1
  56. package/dist/static/assets/{pieDiagram-E7YTZNPT-UKKsP6TB.js → pieDiagram-E7YTZNPT-ByeDSeis.js} +1 -1
  57. package/dist/static/assets/{quadrantDiagram-AXDQQJYC-CqCT2kTc.js → quadrantDiagram-AXDQQJYC-DmmMB08u.js} +1 -1
  58. package/dist/static/assets/{radar-RG4KPBEZ-Dv_0YHI4.js → radar-RG4KPBEZ-CvFGKDaf.js} +1 -1
  59. package/dist/static/assets/{railroad-74A4TZTK-DirtA_6N.js → railroad-74A4TZTK-BwWWDe0E.js} +1 -1
  60. package/dist/static/assets/railroad-abnf-HS5TGJTU-Cdulf9Hk.js +1 -0
  61. package/dist/static/assets/railroad-ebnf-LZEXJU2U-Cy-EOoAB.js +1 -0
  62. package/dist/static/assets/railroad-peg-WCYAUIDC-CBRUljfx.js +1 -0
  63. package/dist/static/assets/{railroadDiagram-O6MQD6OU--c6zLepp.js → railroadDiagram-O6MQD6OU-BJbBs7QV.js} +1 -1
  64. package/dist/static/assets/{requirementDiagram-BXWQKSXE-twRTufBG.js → requirementDiagram-BXWQKSXE-CXF6Lwb9.js} +1 -1
  65. package/dist/static/assets/{sankeyDiagram-P5KCCOFB-D4ze8aUW.js → sankeyDiagram-P5KCCOFB-9iAKA1hr.js} +1 -1
  66. package/dist/static/assets/{sequenceDiagram-WJ2MYXX4-Cy3m_t4v.js → sequenceDiagram-WJ2MYXX4-DKLtYg_J.js} +1 -1
  67. package/dist/static/assets/{stateDiagram-D77RDMKH-ReOgrDgT.js → stateDiagram-D77RDMKH-C-2OCAZn.js} +1 -1
  68. package/dist/static/assets/stateDiagram-v2-MP3YSRHH-CUNyjQJB.js +1 -0
  69. package/dist/static/assets/{swimlanes-42K2YHIH-D_3oMG_7.js → swimlanes-42K2YHIH-CQrqMEyy.js} +1 -1
  70. package/dist/static/assets/swimlanesDiagram-VR7AAH4N-nP9dr33A.js +8 -0
  71. package/dist/static/assets/{timeline-definition-24CTP7MA-D3M8VMak.js → timeline-definition-24CTP7MA-C8cVDwaM.js} +1 -1
  72. package/dist/static/assets/{treeView-Q6P3EWNA-D1CRsgm5.js → treeView-Q6P3EWNA-CX0_QIDS.js} +1 -1
  73. package/dist/static/assets/{treemap-WGGIJYW6-D-ySPP49.js → treemap-WGGIJYW6-ChrfwNqk.js} +1 -1
  74. package/dist/static/assets/{vennDiagram-4TSXK5OY-B1oZ9Vbe.js → vennDiagram-4TSXK5OY-B7Zc4wwv.js} +1 -1
  75. package/dist/static/assets/{wardley-WFR3VGLG-B2L1_8XW.js → wardley-WFR3VGLG-4fBbnIWC.js} +1 -1
  76. package/dist/static/assets/{wardleyDiagram-VM6X3IG4-CrDboGph.js → wardleyDiagram-VM6X3IG4-MziFIzfl.js} +1 -1
  77. package/dist/static/assets/{xychartDiagram-S5SC5T6Z-knCMj_pK.js → xychartDiagram-S5SC5T6Z-CzKjdTrX.js} +1 -1
  78. package/dist/static/index.html +1 -1
  79. package/package.json +1 -1
  80. package/dist/static/assets/architecture-7GRP2DOG-BNaYWNrv.js +0 -1
  81. package/dist/static/assets/channel-BZjdDL5C.js +0 -1
  82. package/dist/static/assets/classDiagram-ZZMXUADV-BJj-F-NL.js +0 -1
  83. package/dist/static/assets/classDiagram-v2-VYDZK3BY-BJj-F-NL.js +0 -1
  84. package/dist/static/assets/eventmodeling-NTZA5JFV-CDiHHV0e.js +0 -1
  85. package/dist/static/assets/flowDiagram-HODETNUW-e_N6KNAf.js +0 -1
  86. package/dist/static/assets/mermaid-HWGCJPDP-xCDkFi4-.js +0 -1
  87. package/dist/static/assets/railroad-abnf-HS5TGJTU-BiA9douK.js +0 -1
  88. package/dist/static/assets/railroad-ebnf-LZEXJU2U-DkNU7ot0.js +0 -1
  89. package/dist/static/assets/railroad-peg-WCYAUIDC-D-eIACfY.js +0 -1
  90. package/dist/static/assets/stateDiagram-v2-MP3YSRHH-CA_TiOpe.js +0 -1
  91. package/dist/static/assets/swimlanesDiagram-VR7AAH4N-BYJ_W0ya.js +0 -8
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/highlighted-body-KPVGNVTW-C6SUTwfg.js","assets/rolldown-runtime-hePW80VL.js","assets/mermaid.core-CEYg5CaO.js","assets/chunk-75Z2AOVW-9PCQ8PYn.js","assets/chunk-Y2CYZVJY-DsF7k-Jl.js","assets/src-B6xuSHsQ.js","assets/chunk-DU6HZSFF-CZQqr2Dk.js","assets/dist-v5Q1xZ2K.js","assets/chunk-PWAF6VOD-5cKsfIis.js","assets/chunk-GMAD6QVW-CQ6vkChr.js","assets/chunk-P2QGCYS3-TzBrjX9T.js","assets/chunk-4HAMMTFA-CBpK6zIW.js","assets/rough.esm-Dy-Kn_BL.js","assets/chunk-GVQU2GXP-CLrgKWLa.js","assets/chunk-OSK3NFVY-B5uH2Wc4.js","assets/line-DsV1ywdH.js","assets/path-fybaL0A-.js","assets/array-BifhSqXX.js","assets/graphlib-DS17s2tU.js","assets/chunk-L3NEJ4N5-D-1UC2Ny.js","assets/CodeMirrorEditor-DE-avoYu.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/highlighted-body-KPVGNVTW-NOKBQsaw.js","assets/rolldown-runtime-hePW80VL.js","assets/mermaid.core-CCKsmqag.js","assets/chunk-75Z2AOVW-CLa2jYmQ.js","assets/chunk-Y2CYZVJY-DsF7k-Jl.js","assets/src-B6xuSHsQ.js","assets/chunk-DU6HZSFF-D0M9w9j3.js","assets/dist-v5Q1xZ2K.js","assets/chunk-PWAF6VOD-QeCTaJTE.js","assets/chunk-GMAD6QVW-HV_xrvTF.js","assets/chunk-P2QGCYS3-DpVZV6VV.js","assets/chunk-4HAMMTFA-DmZfEGCo.js","assets/rough.esm-Dy-Kn_BL.js","assets/chunk-GVQU2GXP-CTT6lZ-h.js","assets/chunk-OSK3NFVY-DsBf8_gj.js","assets/line-BWDq577B.js","assets/path-fybaL0A-.js","assets/array-BifhSqXX.js","assets/graphlib-DS17s2tU.js","assets/chunk-L3NEJ4N5-CfjzeNl5.js","assets/CodeMirrorEditor-Dn6i5_cO.js"])))=>i.map(i=>d[i]);
2
2
  import{n as e,r as t,t as n}from"./rolldown-runtime-hePW80VL.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var r=n((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function ee(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function te(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var P=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ne={map:ee,forEach:function(e,t,n){ee(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ee(e,function(){t++}),t},toArray:function(e){return ee(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=ne,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:te}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,P)}catch(e){P(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.8`})),i=n(((e,t)=>{t.exports=r()})),a=n((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),o=n(((e,t)=>{t.exports=a()})),s=n((e=>{var t=i();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var a={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},o=Symbol.for(`react.portal`);function s(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var c=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return s(e,t,null,r)},e.flushSync=function(e){var t=c.T,n=a.p;try{if(c.T=null,a.p=2,e)return e()}finally{c.T=t,a.p=n,a.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,a.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&a.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin),i=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?a.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:i,fetchPriority:o}):n===`script`&&a.d.X(e,{crossOrigin:r,integrity:i,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`){if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=l(t.as,t.crossOrigin);a.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??a.d.M(e)}},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin);a.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`){if(t){var n=l(t.as,t.crossOrigin);a.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else a.d.m(e)}},e.requestFormReset=function(e){a.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return c.H.useFormState(e,t,n)},e.useFormStatus=function(){return c.H.useHostTransitionStatus()},e.version=`19.2.8`})),c=n(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=s()})),l=n((e=>{var t=o(),n=i(),r=c();function a(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function s(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function l(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function u(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function d(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function f(e){if(l(e)!==e)throw Error(a(188))}function p(e){var t=e.alternate;if(!t){if(t=l(e),t===null)throw Error(a(188));return t===e?e:null}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var o=i.alternate;if(o===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===o.child){for(o=i.child;o;){if(o===n)return f(i),e;if(o===r)return f(i),t;o=o.sibling}throw Error(a(188))}if(n.return!==r.return)n=i,r=o;else{for(var s=!1,c=i.child;c;){if(c===n){s=!0,n=i,r=o;break}if(c===r){s=!0,r=i,n=o;break}c=c.sibling}if(!s){for(c=o.child;c;){if(c===n){s=!0,n=o,r=i;break}if(c===r){s=!0,r=o,n=i;break}c=c.sibling}if(!s)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(n.tag!==3)throw Error(a(188));return n.stateNode.current===n?e:t}function m(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=m(e),t!==null)return t;e=e.sibling}return null}var h=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),E=Symbol.for(`react.suspense_list`),D=Symbol.for(`react.memo`),O=Symbol.for(`react.lazy`),k=Symbol.for(`react.activity`),A=Symbol.for(`react.memo_cache_sentinel`),j=Symbol.iterator;function M(e){return typeof e!=`object`||!e?null:(e=j&&e[j]||e[`@@iterator`],typeof e==`function`?e:null)}var N=Symbol.for(`react.client.reference`);function ee(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===N?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case E:return`SuspenseList`;case k:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?ee(e.type)||`Memo`:t;case O:t=e._payload,e=e._init;try{return ee(e(t))}catch{}}return null}var te=Array.isArray,P=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ne=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,re={pending:!1,data:null,method:null,action:null},ie=[],ae=-1;function oe(e){return{current:e}}function se(e){0>ae||(e.current=ie[ae],ie[ae]=null,ae--)}function ce(e,t){ae++,ie[ae]=e.current,e.current=t}var le=oe(null),ue=oe(null),de=oe(null),fe=oe(null);function pe(e,t){switch(ce(de,t),ce(ue,e),ce(le,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?af(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=af(t),e=of(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}se(le),ce(le,e)}function me(){se(le),se(ue),se(de)}function he(e){e.memoizedState!==null&&ce(fe,e);var t=le.current,n=of(t,e.type);t!==n&&(ce(ue,e),ce(le,n))}function ge(e){ue.current===e&&(se(le),se(ue)),fe.current===e&&(se(fe),hp._currentValue=re)}var _e,ve;function ye(e){if(_e===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);_e=t&&t[1]||``,ve=-1<e.stack.indexOf(`
3
3
  at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
4
4
  `+_e+e+ve}var be=!1;function xe(e,t){if(!e||be)return``;be=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
@@ -348,41 +348,41 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
348
348
  `)!==s){a.delete(o),i=!0;let n=e[o];n&&t(o,{...n,collapsed:!1})}}return i?a:r})},[e,t]),rightSidebarOpen:u,setRightSidebarOpen:f,closedWidgetCount:c.size}}function VK(e){let t=e.get(`cwd`)?.trim()||null;return{requestedCwd:t,sessionId:t?null:e.get(`session`)}}function HK({initialCwdStatus:e,requestedCwd:t,initialCwdError:n,showPlaceholder:r,activeCwd:i,translate:a}){return(0,T.jsxs)(T.Fragment,{children:[e===`validating`&&(0,T.jsxs)(`div`,{role:`status`,style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:8,padding:24,color:`var(--text-muted)`,textAlign:`center`},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-xl)`,color:`var(--text)`},children:a(`workspace.opening`)}),(0,T.jsx)(`div`,{style:{maxWidth:`min(720px, 100%)`,overflowWrap:`anywhere`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`},children:t})]}),e===`error`&&(0,T.jsxs)(`div`,{role:`alert`,style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:8,padding:24,color:`var(--text-muted)`,textAlign:`center`},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-xl)`,color:`var(--status-error)`},children:a(`workspace.unable`)}),(0,T.jsx)(`div`,{style:{maxWidth:`min(720px, 100%)`,overflowWrap:`anywhere`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`},children:t}),(0,T.jsx)(`div`,{style:{maxWidth:720,fontSize:`var(--text-base)`},children:n})]}),r&&(i?(0,T.jsx)(`div`,{style:{height:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`var(--text-muted)`,fontSize:`var(--text-2xl)`},children:a(`workspace.selectSession`)}):(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:12,userSelect:`none`},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-6xl)`,fontWeight:700,fontStyle:`italic`,color:`var(--accent)`},children:`Pi Web`}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,color:`var(--text-muted)`},children:a(`workspace.selectWorkspace`)})]}))]})}function UK({translate:e,closedWidgetCount:t,configTabOpen:n,fileTabs:r}){return[{id:vK,label:e(`tabs.chat`),closable:!1,icon:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`})})},{id:bK,label:e(`tabs.widgets`),badge:t,closable:!1,icon:(0,T.jsxs)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`rect`,{x:`3`,y:`3`,width:`7`,height:`7`,rx:`1`}),(0,T.jsx)(`rect`,{x:`14`,y:`3`,width:`7`,height:`7`,rx:`1`}),(0,T.jsx)(`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}),(0,T.jsx)(`rect`,{x:`14`,y:`14`,width:`7`,height:`7`,rx:`1`})]})},...n?[{id:yK,label:e(`config.title`),closable:!0,icon:(0,T.jsx)(Nn,{width:I.lg,height:I.lg,"aria-hidden":`true`})}]:[],...r]}function WK({configTabActive:e,widgetsTabActive:t,activeFileTab:n}){return e?yK:t?bK:n?xK(n.filePath):vK}function GK(e){return e===`widgets`?{widgetsTabActive:!0,activeSavedId:null}:{widgetsTabActive:!1,activeSavedId:e===`chat`?null:e}}var KK=[],qK=1,JK=new Set;function YK(){for(let e of JK)e()}function XK(e){return JK.add(e),()=>{JK.delete(e)}}function ZK(){return KK}function QK(e){let t={id:qK++,label:e??``};KK=[...KK,t],YK();let n=!1;return()=>{n||(n=!0,KK=KK.filter(e=>e.id!==t.id),YK())}}var $K=new WeakMap;function eq(e){if(!e.isConnected)return()=>{};let t=$K.get(e);if(!t){let n=document.createElement(`div`);n.style.cssText=`position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb, var(--bg) 50%, transparent);z-index:5;`,n.innerHTML=`<div style="width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--text-dim);border-radius:50%;animation:spin 0.8s linear infinite;"></div>`;let r=null;getComputedStyle(e).position===`static`&&(r=e.style.position,e.style.position=`relative`),e.appendChild(n),t={count:0,el:n,prevPosition:r},$K.set(e,t)}t.count++;let n=!1;return()=>{n||(n=!0,t.count--,t.count<=0&&(t.el.remove(),t.prevPosition!==null&&(t.prevPosition?e.style.position=t.prevPosition:e.style.removeProperty(`position`)),$K.delete(e)))}}async function tq(e){try{return await e.json()}catch{return null}}async function nq(e,t,n){let r=n?.loading??`fullscreen`,i=r===`fullscreen`?QK(n?.label):r instanceof HTMLElement?eq(r):null;try{let n;try{n=await fetch(e,t)}catch(e){throw new ht(e instanceof Error?e.message:`Network error`,0)}if(!n.ok){let e=await tq(n);throw new ht(e&&typeof e==`object`&&`error`in e&&typeof e.error==`string`?e.error:`HTTP ${n.status}`,n.status,e)}let r=await n.text();return r?JSON.parse(r):void 0}catch(e){throw e instanceof ht?e:new ht(e instanceof Error?e.message:String(e),0)}finally{i?.()}}var rq={},iq=6e4;function aq(e,t){return e===`Not found`?t(`files.notFound`):e===`Access denied`?t(`files.accessDenied`):e}async function oq(e,t){return((await nq(`/api/files/${TS(e)}?type=list`,void 0,t)).entries??[]).map(t=>({name:t.name,fullPath:kS(e,t.name),isDir:t.isDir,size:t.size,children:t.isDir?[]:void 0,loaded:!t.isDir}))}async function sq(e,t){return nq(`/api/git/status?${new URLSearchParams({cwd:e}).toString()}`,void 0,t)}var cq={modified:`files.modified`,added:`files.added`,deleted:`files.deleted`,renamed:`files.renamed`,untracked:`files.untracked`,conflict:`files.conflict`},lq={modified:`var(--status-warning)`,added:`var(--status-success)`,deleted:`var(--status-error)`,renamed:`var(--accent)`,untracked:`var(--status-success)`,conflict:`var(--status-error)`};function uq({status:e,t}){return(0,T.jsx)(`span`,{title:t(cq[e.status]),"aria-label":t(cq[e.status]),style:{width:14,height:14,flexShrink:0,display:`flex`,alignItems:`center`,justifyContent:`center`,color:lq[e.status],fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontWeight:600},children:e.code})}function dq({size:e=11}){return(0,T.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`}),(0,T.jsx)(`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`})]})}function fq({onClick:e,title:t}){return(0,T.jsx)(F,{label:t,children:(0,T.jsx)(`button`,{type:`button`,onClick:e,"aria-label":t,style:{width:24,height:24,padding:0,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0,border:`none`,borderRadius:4,background:`none`,color:`var(--text-dim)`,cursor:`pointer`,"--hover-color":`var(--text-muted)`,"--hover-bg":`var(--bg-hover)`},className:`hover-shift`,children:(0,T.jsxs)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`path`,{d:`m6 6 12 12`}),(0,T.jsx)(`path`,{d:`m18 6-12 12`})]})})})}function pq({status:e,cwd:t,onOpenFile:n,onStageToggle:r,unstage:i,t:a}){let o=ES(e.filePath),s=OS(e.filePath,t);return(0,T.jsxs)(`div`,{"data-testid":`git-change-row`,onClick:()=>n(e.filePath,o,{modeHint:`diff`}),className:`git-change-row row-hover-bg`,title:e.filePath,style:{display:`flex`,alignItems:`center`,gap:6,paddingLeft:10,paddingRight:8,height:24,cursor:`pointer`,borderRadius:4,userSelect:`none`},children:[r!==void 0&&(0,T.jsx)(`button`,{type:`button`,"data-testid":`git-stage-toggle`,onClick:t=>{t.stopPropagation(),r(e)},"aria-label":a(i?`files.unstageFile`:`files.stageFile`),style:{width:16,height:16,padding:0,marginLeft:-4,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0,border:`none`,borderRadius:4,background:`none`,color:`var(--text-dim)`,cursor:`pointer`,"--hover-color":`var(--text-muted)`,"--hover-bg":`var(--bg-hover)`},className:`hover-shift`,children:(0,T.jsx)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,strokeLinecap:`round`,"aria-hidden":`true`,children:i?(0,T.jsx)(`path`,{d:`M6 12h12`}):(0,T.jsx)(`path`,{d:`M12 5v14M5 12h14`})})}),(0,T.jsx)(uq,{status:e,t:a}),(0,T.jsx)(`span`,{style:{flexShrink:0,display:`flex`,alignItems:`center`,opacity:.85},children:ZG(o,13)}),(0,T.jsx)(`span`,{style:{fontSize:`var(--text-base)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flex:1},children:s}),e.lineStats&&(e.lineStats.additions>0||e.lineStats.deletions>0)&&(0,T.jsxs)(`span`,{style:{flexShrink:0,display:`flex`,alignItems:`center`,gap:5,fontFamily:`var(--font-mono)`,fontSize:`var(--text-xs)`,fontVariantNumeric:`tabular-nums`},children:[e.lineStats.additions>0&&(0,T.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,e.lineStats.additions]}),e.lineStats.deletions>0&&(0,T.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,e.lineStats.deletions]})]})]})}function mq({aiBusy:e,aiModelHint:t,canAiGenerate:n,onAiGenerate:r,commitBusy:i,commitDisabled:a,empty:o,canAutoCommitEmpty:s,canCommit:c,onCommit:l,pushBusy:u,canPush:d,onPush:f,pullBusy:p,canPull:m,onPull:h,buttonWidth:g,buttonHeight:_,t:v}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:4,padding:`2px 6px 4px`},children:[(0,T.jsx)(F,{label:(()=>{let n=v(e?`git.ai.generating`:`git.ai.generate`);return t?`${n}(${t})`:n})(),children:(0,T.jsx)(`button`,{onClick:r,disabled:e||!n||i||u||p,"aria-label":v(`git.ai.generate`),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:g,height:_,padding:0,flexShrink:0,background:`none`,border:`1px solid transparent`,borderRadius:6,color:e||!n||i||u||p?`var(--text-dim)`:`var(--accent)`,cursor:e||!n||i||u||p?`default`:`pointer`},children:e?(0,T.jsx)(vn,{size:I.lg,style:{animation:`spin 0.8s linear infinite`}}):(0,T.jsx)(Fn,{size:I.lg})})}),(0,T.jsx)(F,{label:i?v(`files.committing`):a&&o&&!s?v(`files.commitMessageRequired`):s?`${v(`git.ai.generateAndCommit`)} (Ctrl+Enter)`:`${v(`files.commit`)} (Ctrl+Enter)`,children:(0,T.jsx)(`button`,{"data-testid":`git-commit`,onClick:l,disabled:a||p,"aria-label":v(`files.commit`),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:g,height:_,padding:0,flexShrink:0,background:`none`,border:`1px solid transparent`,borderRadius:6,color:a||p?`var(--text-dim)`:`var(--accent)`,cursor:a||p?`default`:`pointer`},children:i?(0,T.jsx)(vn,{size:I[`2xl`],style:{animation:`spin 0.8s linear infinite`}}):(0,T.jsx)(un,{size:I[`2xl`]})})}),(0,T.jsx)(F,{label:v(u?`files.pushing`:d?`files.push`:`files.pushUpToDate`),children:(0,T.jsx)(`button`,{"data-testid":`git-push`,onClick:f,disabled:u||i||p||!d,"aria-label":v(`files.push`),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:g,height:_,padding:0,flexShrink:0,background:`none`,border:`1px solid transparent`,borderRadius:6,color:u||i||p||!d?`var(--text-dim)`:`var(--accent)`,cursor:u||i||p||!d?`default`:`pointer`},children:u?(0,T.jsx)(vn,{size:I.lg,style:{animation:`spin 0.8s linear infinite`}}):(0,T.jsx)($t,{size:I[`2xl`]})})}),(0,T.jsx)(F,{label:v(p?`files.pulling`:m?`files.pull`:`files.pullUpToDate`),children:(0,T.jsx)(`button`,{"data-testid":`git-pull`,onClick:h,disabled:p||i||u||!m,"aria-label":v(`files.pull`),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:g,height:_,padding:0,flexShrink:0,background:`none`,border:`1px solid transparent`,borderRadius:6,color:p||i||u||!m?`var(--text-dim)`:`var(--accent)`,cursor:p||i||u||!m?`default`:`pointer`},children:p?(0,T.jsx)(vn,{size:I.lg,style:{animation:`spin 0.8s linear infinite`}}):(0,T.jsx)(Qt,{size:I[`2xl`]})})})]})})}function hq({message:e,onMessageChange:t,commitBusy:n,canCommit:r,onCommit:i,pushBusy:a,canPush:o,onPush:s,pullBusy:c,canPull:l,onPull:u,aiBusy:f,canAiGenerate:p,onAiGenerate:m,autoGenerateOnEmpty:h,hasModelForAuto:g,aiModelHint:_,t:v}){let y=(0,d.useRef)(null),b=e.trim()===``,x=b&&h&&g&&p&&!f,S=n||!x&&b||!r;return(0,d.useLayoutEffect)(()=>{let e=y.current;e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,120)}px`)},[e]),(0,T.jsx)(`div`,{style:{display:`flex`,padding:`4px 2px 6px`},children:(0,T.jsxs)(`div`,{style:{position:`relative`,display:`flex`,flexDirection:`column`,flex:1,minWidth:0,backgroundColor:`var(--bg)`,backgroundImage:n||f||a||c?`linear-gradient(90deg, transparent 13%, color-mix(in srgb, var(--accent) 18%, transparent) 25%, transparent 37%, transparent 63%, color-mix(in srgb, var(--shine-highlight) 50%, transparent) 75%, transparent 87%)`:void 0,backgroundSize:n||f||a||c?`200% 100%`:void 0,animation:n||f||a||c?`pi-status-shine 1.5s linear infinite`:void 0,borderRadius:6,border:`1px solid var(--border)`},children:[(0,T.jsx)(`textarea`,{ref:y,"data-testid":`git-commit-message`,value:e,disabled:n||f||a||c,placeholder:f?_?`${v(`git.ai.generating`)}(${_})`:v(`git.ai.generating`):v(`files.commitMessagePlaceholder`),onChange:e=>t(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),S||i())},rows:1,style:{flex:`0 1 auto`,minWidth:0,resize:`none`,boxSizing:`content-box`,overflowY:`auto`,maxHeight:120,fontSize:`var(--text-base)`,lineHeight:1.4,padding:`4px 6px`,color:n||f||a||c?`var(--text-dim)`:`var(--text)`,background:`transparent`,border:`none`,borderRadius:6,outline:`none`}}),(0,T.jsx)(mq,{aiBusy:f,aiModelHint:_,canAiGenerate:p,onAiGenerate:m,commitBusy:n,commitDisabled:S,empty:b,canAutoCommitEmpty:x,canCommit:r,onCommit:i,pushBusy:a,canPush:o,onPush:s,pullBusy:c,canPull:l,onPull:u,buttonWidth:36,buttonHeight:30,t:v})]})})}function gq({prefix:e,count:t,additions:n,deletions:r,t:i}){return(0,T.jsxs)(`div`,{"aria-label":i(`files.changeStats`,{count:t,additions:n,deletions:r}),style:{display:`flex`,alignItems:`center`,gap:6,height:24,padding:`0 10px`,fontSize:`var(--text-base)`},children:[e&&(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:e}),(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:i(`files.changedCount`,{count:t})}),(0,T.jsxs)(`span`,{style:{color:lq.added,fontFamily:`var(--font-mono)`},children:[`+`,n]}),(0,T.jsxs)(`span`,{style:{color:lq.deleted,fontFamily:`var(--font-mono)`},children:[`-`,r]})]})}function _q({message:e,onDismiss:t}){let{t:n}=M();return(0,T.jsxs)(`div`,{role:`alert`,style:{display:`flex`,alignItems:`center`,gap:6,marginTop:4,padding:`6px 8px`,fontSize:`var(--text-sm)`,lineHeight:1.35,color:`var(--status-error)`,background:`var(--bg)`,border:`1px solid var(--status-error)`,borderRadius:6},children:[(0,T.jsx)(`span`,{style:{minWidth:0,flex:1,overflowWrap:`anywhere`,maxHeight:140,overflowY:`auto`,whiteSpace:`pre-wrap`},children:e}),(0,T.jsx)(fq,{onClick:t,title:n(`files.dismissError`)})]})}function vq({children:e}){return(0,T.jsx)(`div`,{style:{padding:`0 4px 2px`},children:e})}var yq=(0,d.forwardRef)(function({children:e},t){return(0,T.jsx)(`div`,{ref:t,style:{padding:`2px 4px`},children:e})});function bq({toast:e,successKey:t,failedKey:n,onDismiss:r}){let{t:i}=M();return e?(0,T.jsxs)(`div`,{role:`status`,"aria-live":`polite`,style:{marginTop:4,padding:`6px 8px`,borderRadius:6,border:`1px solid ${e.ok?`var(--status-success)`:`var(--status-error)`}`,background:`var(--bg)`,fontSize:`var(--text-sm)`,lineHeight:1.5},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,marginBottom:4},children:[(0,T.jsx)(`span`,{style:{width:7,height:7,borderRadius:`50%`,background:e.ok?`var(--status-success)`:`var(--status-error)`,flexShrink:0}}),(0,T.jsx)(`span`,{style:{color:`var(--text-muted)`,flex:1,minWidth:0},children:i(e.ok?t:n)}),(0,T.jsx)(`button`,{onClick:r,"aria-label":i(`files.dismissError`),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:16,height:16,padding:0,background:`none`,border:`none`,borderRadius:4,color:`var(--text-dim)`,cursor:`pointer`,flexShrink:0},children:(0,T.jsx)(qn,{size:I.base})})]}),e.output&&(0,T.jsx)(`pre`,{style:{margin:0,maxHeight:140,overflow:`auto`,whiteSpace:`pre-wrap`,wordBreak:`break-all`,color:e.ok?`var(--text-muted)`:`var(--status-error)`,fontFamily:`var(--font-mono)`},children:e.output})]}):null}function xq({commitMessage:e,setCommitMessage:t,commitBusy:n,autoCommitBusy:r,gitStagedFiles:i,gitFiles:a,handleCommitClick:o,pushBusy:s,gitPushInfo:c,handlePush:l,pullBusy:u,handlePull:d,aiBusy:f,handleAiGenerate:p,autoGenerateOnEmptyPref:m,hasModelForAutoPref:h,preferencesSnapshot:g,t:_,pushToast:v,setPushToast:y,pullToast:b,setPullToast:x,commitError:S,setCommitError:C,gitStageError:w,setGitStageError:E,aiError:D,setAiError:O,filteredGitStagedFiles:k,gitStagedLineStats:A,handleStageToggle:j,cwd:M,onOpenFile:N,filteredGitFiles:ee,gitLineStats:te}){return(0,T.jsxs)(vq,{children:[(0,T.jsx)(hq,{message:e,onMessageChange:t,commitBusy:n||r,canCommit:i.length+a.length>0,onCommit:o,pushBusy:s,canPush:c.hasUpstream?c.ahead>0:!!c.branch&&c.branch!==`HEAD`,onPush:l,pullBusy:u,canPull:c.hasUpstream&&c.behind>0,onPull:d,aiBusy:f,canAiGenerate:i.length+a.length>0,onAiGenerate:()=>{t(``),p()},autoGenerateOnEmpty:m,hasModelForAuto:h,aiModelHint:(()=>{if(g.commitMessageUseCurrentModel===!0)return _(`git.ai.usingCurrentModel`);let e=typeof g.commitMessageModel==`string`?g.commitMessageModel:``;return e?_(`git.ai.usingModel`,{model:e}):``})(),t:_}),(0,T.jsx)(bq,{toast:v,successKey:`files.pushSuccess`,failedKey:`files.pushFailed`,onDismiss:()=>y(null)}),(0,T.jsx)(bq,{toast:b,successKey:`files.pullSuccess`,failedKey:`files.pullFailed`,onDismiss:()=>x(null)}),S&&(0,T.jsx)(_q,{message:S,onDismiss:()=>C(null)}),w&&(0,T.jsx)(_q,{message:aq(w,_),onDismiss:()=>E(null)}),D&&(0,T.jsx)(_q,{message:D,onDismiss:()=>O(null)}),(0,T.jsx)(gq,{prefix:_(`files.stagedPrefix`),count:k.length,additions:A.additions,deletions:A.deletions,t:_}),k.length>0?k.map(e=>(0,T.jsx)(pq,{status:e,cwd:M,onOpenFile:N,onStageToggle:e=>void j(e,!0),unstage:!0,t:_},`staged-${e.filePath}`)):(0,T.jsx)(`div`,{style:{padding:`8px 10px`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,textAlign:`center`},children:_(`files.noStagedChanges`)}),(0,T.jsx)(`div`,{style:{height:6}}),(0,T.jsx)(gq,{prefix:_(`files.unstagedPrefix`),count:ee.length,additions:te.additions,deletions:te.deletions,t:_}),ee.length>0?ee.map(e=>(0,T.jsx)(pq,{status:e,cwd:M,onOpenFile:N,onStageToggle:e=>void j(e,!1),t:_},e.filePath)):(0,T.jsx)(`div`,{style:{padding:`8px 10px`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,textAlign:`center`},children:_(`files.noUnstagedChanges`)})]})}function Sq({t:e,aiConfigPromptOpen:t,setAiConfigPromptOpen:n,onOpenConfig:r,commitConfirmOpen:i,setCommitConfirmOpen:a,gitFileCount:o,commitMessage:s,doCommit:c}){return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(Bp,{open:t,title:e(`git.ai.notConfiguredTitle`),description:e(`git.ai.notConfiguredDesc`),confirmText:e(`git.ai.goToConfig`),cancelText:e(`sidebar.cancel`),onCancel:()=>n(!1),onConfirm:()=>{n(!1),r?.(`git`)},icon:(0,T.jsx)(Fn,{size:I[`5xl`],style:{color:`var(--accent)`}})}),(0,T.jsx)(Bp,{open:i,title:e(`files.commitTitle`),description:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{children:e(`files.confirmStageAllCommit`,{count:o})}),s.trim()!==``&&(0,T.jsx)(`div`,{style:{marginTop:8,padding:`6px 10px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:6,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,color:`var(--text-muted)`,whiteSpace:`pre-wrap`,wordBreak:`break-word`,maxHeight:120,overflowY:`auto`,textAlign:`left`},children:s.trim()})]}),confirmText:e(`files.stageAllAndCommit`),cancelText:e(`sidebar.cancel`),onCancel:()=>a(!1),onConfirm:()=>{a(!1),c(!0)},icon:(0,T.jsxs)(`svg`,{width:I[`5xl`],height:I[`5xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--status-warning)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{flexShrink:0,marginTop:1},children:[(0,T.jsx)(`path`,{d:`M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z`}),(0,T.jsx)(`path`,{d:`m9 12 2 2 4-4`})]})})]})}function Cq({node:e,depth:t,cwd:n,onOpenFile:r,onAtMention:i,expandedPaths:a,onToggleExpanded:o,refreshToken:s,highlightedPaths:c,gitStatusByPath:l,changedDirectoryPaths:u,t:f}){let p=a.has(e.fullPath),m=c.has(e.fullPath),h=wS(e.fullPath),g=l.get(h),_=e.isDir&&(g!==void 0||u.has(h)),[v,y]=(0,d.useState)(e.children??[]),[b,x]=(0,d.useState)(e.loaded??!1),[S,C]=(0,d.useState)(!1),w=(0,d.useCallback)(async(t=!1)=>{if(!(b&&!t))try{let t=await oq(e.fullPath,{loading:`silent`});y(t),x(!0)}catch{}},[b,e.fullPath]);(0,d.useEffect)(()=>{p&&b&&w(!0)},[s]);let E=(0,d.useCallback)(()=>{if(e.isDir){let t=!p;o(e.fullPath,t),t&&!b&&w()}else r(e.fullPath,e.name)},[e.isDir,e.fullPath,e.name,b,p,w,r,o]);return(0,T.jsxs)(`div`,{children:[(0,T.jsxs)(`div`,{onClick:E,onMouseEnter:()=>C(!0),onMouseLeave:()=>C(!1),style:{position:`relative`,display:`flex`,alignItems:`center`,gap:4,paddingLeft:8+t*14,paddingRight:8,height:24,cursor:`pointer`,background:S?`var(--bg-hover)`:`transparent`,borderRadius:4,userSelect:`none`},children:[e.isDir&&(0,T.jsx)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`var(--text-dim)`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0,transform:p?`rotate(90deg)`:`none`,transition:`transform 0.1s`},children:(0,T.jsx)(`polyline`,{points:`3 2 7 5 3 8`})}),!e.isDir&&(0,T.jsx)(`span`,{style:{width:10,flexShrink:0}}),(0,T.jsx)(`span`,{style:{flexShrink:0,display:`flex`,alignItems:`center`},children:e.isDir?(0,T.jsx)(CG,{size:I.xl,open:p}):ZG(e.name,14)}),(0,T.jsx)(`span`,{style:{fontSize:`var(--text-base)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flex:1},title:e.fullPath,children:e.name}),m&&(0,T.jsx)(`span`,{title:f(`files.newlyUploaded`),"aria-label":f(`files.newlyUploaded`),style:{width:14,height:14,flexShrink:0,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,T.jsx)(`span`,{style:{width:6,height:6,borderRadius:`50%`,background:`var(--accent)`}})}),!S&&!e.isDir&&g&&(0,T.jsx)(uq,{status:g,t:f}),!S&&_&&(0,T.jsx)(`span`,{title:f(`files.containsChangedFiles`),"aria-label":f(`files.containsChangedFiles`),style:{width:14,height:14,flexShrink:0,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,T.jsx)(`span`,{style:{width:6,height:6,borderRadius:`50%`,background:`var(--status-warning)`}})}),i&&S&&(0,T.jsxs)(`button`,{onClick:t=>{t.stopPropagation(),i(OS(e.fullPath,n),e.isDir)},title:f(`files.insertPath`),style:{position:`absolute`,right:e.isDir?4:28,top:`50%`,transform:`translateY(-50%)`,display:`flex`,alignItems:`center`,justifyContent:`center`,gap:4,padding:`0 8px`,height:20,background:`var(--bg-panel)`,border:`1px solid var(--border)`,borderRadius:4,color:`var(--accent)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:600,whiteSpace:`nowrap`},children:[(0,T.jsx)(dq,{}),f(`files.mention`)]}),S&&!e.isDir&&(0,T.jsx)(`a`,{href:`/api/files/${TS(e.fullPath)}?type=download`,download:!0,onClick:e=>e.stopPropagation(),title:f(`files.download`),style:{position:`absolute`,right:4,top:`50%`,transform:`translateY(-50%)`,display:`flex`,alignItems:`center`,justifyContent:`center`,gap:4,padding:`0 5px`,height:20,background:`var(--bg-panel)`,border:`1px solid var(--border)`,borderRadius:4,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:600,whiteSpace:`nowrap`,textDecoration:`none`},children:(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,T.jsx)(`polyline`,{points:`7 10 12 15 17 10`}),(0,T.jsx)(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})]})})]}),e.isDir&&p&&(0,T.jsxs)(`div`,{children:[v.map(e=>(0,T.jsx)(Cq,{node:e,depth:t+1,cwd:n,onOpenFile:r,onAtMention:i,expandedPaths:a,onToggleExpanded:o,refreshToken:s,highlightedPaths:c,gitStatusByPath:l,changedDirectoryPaths:u,t:f},e.fullPath)),v.length===0&&b&&(0,T.jsx)(`div`,{style:{paddingLeft:8+(t+1)*14,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,height:22,display:`flex`,alignItems:`center`},children:f(`files.empty`)})]})]})}function wq({pendingConflict:e,onResolveConflict:t,onDismissConflict:n}){let{t:r}=M();return(0,T.jsxs)(`div`,{role:`alert`,style:{padding:7,border:`1px solid color-mix(in srgb, #f59e0b 55%, var(--border))`,borderRadius:4,background:`color-mix(in srgb, #f59e0b 9%, var(--bg-panel))`},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text)`,lineHeight:1.35,overflowWrap:`anywhere`},children:r(`files.conflictSummary`,{count:e.conflicts.length,countSuffix:e.conflicts.length===1?``:`s`,files:e.conflicts.join(`, `)})}),e.nonReplaceable.length>0&&(0,T.jsx)(`div`,{style:{marginTop:3,fontSize:`var(--text-xs)`,color:`#f59e0b`,lineHeight:1.35,overflowWrap:`anywhere`},children:r(`files.cannotReplace`,{files:e.nonReplaceable.join(`, `)})}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:5,marginTop:7},children:[(0,T.jsx)(`button`,{type:`button`,onClick:()=>t(e.files,`overwrite`),style:{height:22,padding:`0 7px`,border:`1px solid var(--status-error)`,borderRadius:4,background:`transparent`,color:`var(--status-error)`,cursor:`pointer`,fontSize:`var(--text-xs)`},children:r(`files.replace`)}),(0,T.jsx)(`button`,{type:`button`,onClick:()=>t(e.files,`skip`),style:{height:22,padding:`0 7px`,border:`1px solid var(--border)`,borderRadius:4,background:`var(--bg-panel)`,color:`var(--text)`,cursor:`pointer`,fontSize:`var(--text-xs)`},children:r(`files.skipExisting`)}),(0,T.jsx)(`button`,{type:`button`,onClick:n,style:{height:22,padding:`0 7px`,border:`none`,borderRadius:4,background:`transparent`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-xs)`},children:r(`files.cancel`)})]})]})}function Tq({phase:e,progress:t}){let{t:n}=M();return(0,T.jsxs)(`div`,{role:`status`,"aria-live":`polite`,"aria-label":e===`checking`?n(`files.checking`):n(`files.uploading`,{progress:t}),children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:8,minHeight:14,color:`var(--text-muted)`},children:[e===`checking`?(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,style:{animation:`spin 0.8s linear infinite`},"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M21 12a9 9 0 1 1-5.7-8.4`})}):(0,T.jsxs)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`path`,{d:`M12 16V4`}),(0,T.jsx)(`path`,{d:`m7 9 5-5 5 5`}),(0,T.jsx)(`path`,{d:`M5 20h14`})]}),e===`uploading`&&(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-xs)`},children:[t,`%`]})]}),e===`uploading`&&(0,T.jsx)(`div`,{style:{height:3,marginTop:4,overflow:`hidden`,borderRadius:2,background:`var(--border)`},children:(0,T.jsx)(`div`,{style:{width:`${t}%`,height:`100%`,background:`var(--text-muted)`,transition:`width 120ms ease`}})})]})}function Eq({summary:e,onAddUploadedToChat:t,onDismissSummary:n}){let{t:r}=M();return(0,T.jsxs)(`div`,{"aria-live":`polite`,children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,minHeight:22,fontSize:`var(--text-sm)`},children:[(0,T.jsxs)(`div`,{style:{minWidth:0,flex:1,display:`flex`,alignItems:`center`,gap:8},children:[e.uploaded.length>0&&(0,T.jsxs)(`span`,{title:`${e.uploaded.length} uploaded`,"aria-label":`${e.uploaded.length} uploaded`,style:{display:`flex`,alignItems:`center`,gap:3,color:`var(--status-success)`},children:[(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`m5 12 4 4L19 6`})}),(0,T.jsx)(`span`,{children:e.uploaded.length})]}),e.skipped.length>0&&(0,T.jsxs)(`span`,{title:`${e.skipped.length} skipped`,"aria-label":`${e.skipped.length} skipped`,style:{display:`flex`,alignItems:`center`,gap:3,color:`var(--text-dim)`},children:[(0,T.jsxs)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,T.jsx)(`path`,{d:`M8 12h8`})]}),(0,T.jsx)(`span`,{children:e.skipped.length})]}),e.errors.length>0&&(0,T.jsxs)(`span`,{title:r(`files.uploadFailed`,{count:e.errors.length}),"aria-label":r(`files.uploadFailed`,{count:e.errors.length}),style:{display:`flex`,alignItems:`center`,gap:3,color:`var(--status-error)`},children:[(0,T.jsxs)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`path`,{d:`M12 3 2.5 20h19L12 3Z`}),(0,T.jsx)(`path`,{d:`M12 9v4`}),(0,T.jsx)(`path`,{d:`M12 17h.01`})]}),(0,T.jsx)(`span`,{children:e.errors.length})]})]}),e.uploaded.length>0&&t&&(0,T.jsxs)(`button`,{type:`button`,onClick:t,title:e.uploaded.length===1?r(`files.addUploadedFile`):r(`files.addAllUploadedFiles`),"aria-label":e.uploaded.length===1?r(`files.addUploadedFile`):r(`files.addAllUploadedFiles`),style:{height:22,padding:`0 7px`,display:`flex`,alignItems:`center`,justifyContent:`center`,gap:4,flexShrink:0,border:`1px solid var(--border)`,borderRadius:4,background:`var(--bg-panel)`,color:`var(--accent)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:600,whiteSpace:`nowrap`},children:[(0,T.jsx)(dq,{}),r(`files.mention`)]}),(0,T.jsx)(fq,{onClick:n,title:r(`files.dismissUploadResults`)})]}),e.errors.map(e=>(0,T.jsxs)(`div`,{title:e.error,style:{display:`flex`,alignItems:`center`,gap:4,marginTop:3,minWidth:0,fontSize:`var(--text-xs)`,color:`var(--status-error)`},children:[(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},"aria-hidden":`true`,children:[(0,T.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,T.jsx)(`path`,{d:`M12 8v5`}),(0,T.jsx)(`path`,{d:`M12 17h.01`})]}),(0,T.jsx)(`span`,{style:{minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.name})]},e.name))]})}function Dq({phase:e,progress:t,pendingConflict:n,onResolveConflict:r,onDismissConflict:i,error:a,onDismissError:o,summary:s,onDismissSummary:c,onAddUploadedToChat:l}){let{t:u}=M(),d=e!==`idle`;return!d&&n===null&&a===null&&s===null?null:(0,T.jsxs)(`div`,{style:{padding:`6px 8px`,borderBottom:`1px solid var(--border)`},children:[d&&(0,T.jsx)(Tq,{phase:e,progress:t}),n&&(0,T.jsx)(wq,{pendingConflict:n,onResolveConflict:r,onDismissConflict:i}),a&&(0,T.jsxs)(`div`,{role:`alert`,style:{display:`flex`,alignItems:`flex-start`,gap:6,fontSize:`var(--text-sm)`,lineHeight:1.35,color:`var(--status-error)`},children:[(0,T.jsx)(`span`,{style:{minWidth:0,flex:1,overflowWrap:`anywhere`},children:a}),(0,T.jsx)(fq,{onClick:o,title:u(`files.dismissError`)})]}),s&&(0,T.jsx)(Eq,{summary:s,onAddUploadedToChat:l,onDismissSummary:c})]})}async function Oq({sessionId:e,t,onError:n,onNeedsConfig:r}){let i=fe.get()?.preferences??{};if(Object.keys(i).length===0)try{await fe.refresh(),i=fe.get()?.preferences??{}}catch{}let a=i.commitMessageUseCurrentModel===!0,o=typeof i.commitMessageModel==`string`?i.commitMessageModel:``,s=``,c=``;if(a){if(e)try{let t=await nq(`/api/agent/${encodeURIComponent(e)}`),n=t.state?.model??t.model??null;if(n){let e=n;s=e.provider??``,c=e.id??e.modelId??``}if(!s||!c)try{let t=await nq(`/api/sessions/${encodeURIComponent(e)}/state`);t.model&&(s=t.model.provider,c=t.model.id)}catch{}}catch{}if(!s||!c)try{let e=ue.get();if(!e?.defaultModel)try{await ue.refresh(),e=ue.get()}catch{}if(e?.defaultModel?.provider){let t=e.defaultModel;s=t.provider??``,c=t.modelId??t.id??``}if((!s||!c)&&e?.modelList?.[0]){let t=e.modelList[0];s=t.provider??``,c=t.modelId??t.id??``}}catch{}if(!s||!c)return n(t(`git.ai.noSessionModel`)),null}else{if(!o)return r(),null;let e=o.indexOf(`/`);if(e===-1||(s=o.slice(0,e),c=o.slice(e+1),!s||!c))return n(t(`git.ai.invalidModel`)),null}let l=i.commitMessageMaxTokens;return{provider:s,modelId:c,maxTokens:typeof l==`number`&&Number.isFinite(l)?Math.min(4096,Math.max(64,Math.round(l))):512}}function kq(e,t){let n=e.isGitRepository;t.setGitFiles(n?e.files:[]),t.setGitLineStats(n?{additions:e.additions,deletions:e.deletions}:{additions:0,deletions:0}),t.setGitStagedFiles(n?e.stagedFiles:[]),t.setGitStagedLineStats(n?{additions:e.stagedAdditions,deletions:e.stagedDeletions}:{additions:0,deletions:0}),t.setGitPushInfo(n?{branch:e.branch??null,upstream:e.upstream??null,ahead:e.ahead??0,behind:e.behind??0,hasUpstream:e.hasUpstream??!1}:{branch:null,upstream:null,ahead:0,behind:0,hasUpstream:!1})}function Aq({cwd:e,sessionId:t,pushBusy:n,bumpTreeRefresh:r,setGitFiles:i,setGitLineStats:a,setGitStagedFiles:o,setGitStagedLineStats:s,setGitPushInfo:c,autoGenerateOnEmptyPref:l,hasModelForAutoPref:u,stageAllConfirmPref:f}){let{t:p}=M(),[m,h]=(0,d.useState)(``),[g,_]=(0,d.useState)(!1),[v,y]=(0,d.useState)(null),[b,x]=(0,d.useState)(!1),[S,C]=(0,d.useState)(!1),[w,T]=(0,d.useState)(null),E=Rm(),D=(0,d.useRef)(0),[O,k]=(0,d.useState)(!1),[A,j]=(0,d.useState)(!1),N=(0,d.useRef)(r);(0,d.useEffect)(()=>{N.current=r});let ee=(0,d.useCallback)(async(t,n)=>{let r=n??m;_(!0),y(null);try{let n=await fetch(`/api/git/commit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:e,message:r,stageAll:t})}),i=await n.json().catch(()=>({}));if(!n.ok)throw Error(i.error??`Commit failed (HTTP ${n.status})`);h(``),y(null),x(!1),N.current()}catch(e){y(e instanceof Error?e.message:String(e))}finally{_(!1)}},[e,m]),te=(0,d.useCallback)(async()=>{if(S||g||n||A)return null;let r=++D.current,i=await Oq({sessionId:t,t:p,onError:T,onNeedsConfig:()=>k(!0)});if(!i)return null;let{provider:a,modelId:o,maxTokens:s}=i;C(!0),T(null);try{let t=await E.start(t=>fetch(`/api/git/generate-commit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:e,provider:a,modelId:o,maxTokens:s}),signal:t}),iq,{joinKey:`generate`}).promise;if(r!==D.current)return null;let n=await t.json().catch(()=>({}));if(!t.ok)throw Error(n.error??`Generate failed (HTTP ${t.status})`);if(!n.message)throw Error(`Empty response`);return h(n.message),n.message}catch(e){return r!==D.current||e instanceof Lm&&e.message===`cancelled`||T(e instanceof Error?e.message:String(e)),null}finally{r===D.current&&C(!1)}},[S,g,n,A,e,t,p,E]);return{handleAiGenerate:te,doCommit:ee,commitMessage:m,setCommitMessage:h,commitBusy:g,commitError:v,setCommitError:y,commitConfirmOpen:b,setCommitConfirmOpen:x,aiBusy:S,aiError:w,setAiError:T,aiConfigPromptOpen:O,setAiConfigPromptOpen:k,autoCommitBusy:A,handleCommitClick:(0,d.useCallback)(async()=>{let t=await sq(e),r=t.isGitRepository;kq(t,{setGitFiles:i,setGitLineStats:a,setGitStagedFiles:o,setGitStagedLineStats:s,setGitPushInfo:c});let d=m.trim()===``,p=r?t.stagedFiles??[]:[],h=r?t.files??[]:[],_=p.length+h.length>0;if(d&&l&&u&&_&&!S&&!g&&!n&&!A){j(!0);try{let e=await te();if(!e)return;p.length>0?await ee(!1,e):f?x(!0):await ee(!0,e)}finally{j(!1)}return}p.length>0?ee(!1):f?x(!0):ee(!0)},[e,m,l,u,f,S,g,n,A,te,ee,i,a,o,s,c])}}function jq(e,t,n,r){return new Promise((i,a)=>{let o=new FormData;t.forEach(e=>o.append(`files`,e,e.name));let s=new XMLHttpRequest;s.open(`POST`,`/api/files/${TS(e)}?type=upload&conflict=${n}`),s.upload.onprogress=e=>{e.lengthComputable&&e.total>0&&r(Math.round(e.loaded/e.total*100))},s.onerror=()=>a(Error(`Network error while uploading files`)),s.onabort=()=>a(Error(`Upload cancelled`)),s.onload=()=>{let e={};try{e=JSON.parse(s.responseText)}catch{s.responseText&&(e.error=s.responseText)}i({status:s.status,data:e})},s.send(o)})}function Mq({cwd:e,setHighlightedPaths:t,setTreeRefreshKey:n}){let[r,i]=(0,d.useState)(`idle`),[a,o]=(0,d.useState)(0),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null),[f,p]=(0,d.useState)(null),m=(0,d.useRef)(null),h=r!==`idle`,g=(0,d.useCallback)(r=>{let i=r.uploaded??[],a=r.skipped??[],o=r.errors??[];u({uploaded:i,skipped:a,errors:o}),i.length>0&&(t(new Set(i.map(t=>kS(e,t)))),n(e=>e+1))},[e,t,n]),_=(0,d.useCallback)(async(t,n)=>{p(null),c(null),o(0),i(`uploading`);try{let{status:r,data:i}=await jq(e,t,n,o);if(r===409&&i.conflicts?.length){p({files:t,conflicts:i.conflicts,nonReplaceable:i.nonReplaceable??[]});return}if(r<200||r>=300)throw Error(i.error??`Upload failed (HTTP ${r})`);o(100),g(i)}catch(e){c(e instanceof Error?e.message:String(e))}finally{i(`idle`)}},[g,e]),v=(0,d.useCallback)(async n=>{if(!(n.length===0||h)){u(null),t(new Set),p(null),c(null),o(0),i(`checking`);try{let t=await nq(`/api/files/${TS(e)}?type=upload-check`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({fileNames:n.map(e=>e.name)})},{loading:`silent`});if(t.conflicts?.length){p({files:n,conflicts:t.conflicts,nonReplaceable:t.nonReplaceable??[]});return}await _(n,`error`)}catch(e){c(e instanceof Error?e.message:String(e))}finally{i(`idle`)}}},[e,_,t,h]);return{uploadPhase:r,uploadProgress:a,uploadError:s,uploadSummary:l,pendingConflict:f,setPendingConflict:p,setUploadError:c,setUploadSummary:u,uploadInputRef:m,uploadBusy:h,performUpload:_,handleUploadInput:(0,d.useCallback)(e=>{let t=Array.from(e.target.files??[]);e.target.value=``,v(t)},[v]),resetUploadState:(0,d.useCallback)(()=>{u(null),p(null),c(null)},[])}}function Nq({cwd:e,bumpTreeRefresh:t,autoFetchIntervalSec:n,setGitPushInfo:r}){let[i,a]=(0,d.useState)(!1),[o,s]=(0,d.useState)(null),c=(0,d.useRef)(null),[l,u]=(0,d.useState)(!1),[f,p]=(0,d.useState)(null),m=(0,d.useRef)(t);(0,d.useEffect)(()=>{m.current=t});let h=(0,d.useCallback)(async()=>{a(!0);try{let t=await nq(`/api/git/push`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:e})},{loading:`silent`});console.info(`[git-push] ok:`,t.output||`(empty output)`),s({ok:!0,output:t.output??``})}catch(e){let t=e instanceof Error?e.message:String(e);console.info(`[git-push] failed:`,t),s({ok:!1,output:t})}finally{a(!1),m.current()}},[e]),g=(0,d.useCallback)(async()=>{u(!0);try{let t=await nq(`/api/git/pull`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:e})},{loading:`silent`});console.info(`[git-pull] ok:`,t.output||`(empty output)`),p({ok:!0,output:t.output??``})}catch(e){let t=e instanceof Error?e.message:String(e);console.info(`[git-pull] failed:`,t),p({ok:!1,output:t})}finally{u(!1),m.current()}},[e]);(0,d.useEffect)(()=>{if(n<=0||!e)return;let t=()=>{document.hidden||nq(`/api/git/autofetch-status?cwd=${encodeURIComponent(e)}`,{},{loading:`silent`}).then(e=>{e.cached!==!1&&r(t=>({...t,ahead:e.ahead??t.ahead,behind:e.behind??t.behind}))}).catch(()=>{})};t();let i=setInterval(t,n*1e3),a=()=>{document.hidden||t()};return document.addEventListener(`visibilitychange`,a),()=>{clearInterval(i),document.removeEventListener(`visibilitychange`,a)}},[e,n,r]),(0,d.useEffect)(()=>{if(c.current&&clearTimeout(c.current),o)return c.current=setTimeout(()=>s(null),1e4),()=>{c.current&&clearTimeout(c.current)}},[o]);let _=(0,d.useRef)(null);return(0,d.useEffect)(()=>{if(_.current&&clearTimeout(_.current),f)return _.current=setTimeout(()=>p(null),1e4),()=>{_.current&&clearTimeout(_.current)}},[f]),{handlePush:h,handlePull:g,pushBusy:i,pushToast:o,setPushToast:s,pullBusy:l,pullToast:f,setPullToast:p}}var Pq=(0,d.forwardRef)(function({cwd:e,onOpenFile:t,refreshKey:n,searchQuery:r,onAtMention:i,onAtMentions:a,onUploadBusyChange:o,changesCollapsed:s,onChangesCountChange:c,sessionId:l,onOpenConfig:u},f){let{t:p}=M(),[m,h]=(0,d.useState)([]),[g,_]=(0,d.useState)(!0),[v,y]=(0,d.useState)(null),b=(0,d.useRef)(null),[x,S]=(0,d.useState)(new Set),[C,w]=(0,d.useState)(0),E=(r??``).trim().toLowerCase(),D=(0,d.useMemo)(()=>{if(!E)return m;function e(t){if(t.name.toLowerCase().includes(E))return t;if(t.isDir&&t.children){let n=t.children.map(e).filter(e=>e!==null);if(n.length>0)return{...t,children:n}}return null}return m.map(e).filter(e=>e!==null)},[m,E]),[O,k]=(0,d.useState)(new Set),[A,j]=(0,d.useState)([]),[N,ee]=(0,d.useState)({additions:0,deletions:0}),[te,P]=(0,d.useState)([]),[ne,re]=(0,d.useState)({additions:0,deletions:0}),ie=(0,d.useMemo)(()=>E?te.filter(t=>OS(t.filePath,e).toLowerCase().includes(E)):te,[te,E,e]),ae=(0,d.useMemo)(()=>E?A.filter(t=>OS(t.filePath,e).toLowerCase().includes(E)):A,[A,E,e]),[oe,se]=(0,d.useState)({branch:null,upstream:null,ahead:0,behind:0,hasUpstream:!1}),[ce,le]=(0,d.useState)(null),de=(0,d.useSyncExternalStore)(fe.subscribe,()=>fe.get()?.preferences??rq,()=>rq),pe=(0,d.useSyncExternalStore)(ue.subscribe,()=>ue.get()),me=de.commitMessageAutoGenerateOnEmpty!==!1,he=de.commitStageAllConfirm!==!1,ge=de.commitMessageUseCurrentModel===!0?!!(l||pe?.defaultModel||(pe?.modelList?.length??0)>0):!!(typeof de.commitMessageModel==`string`&&de.commitMessageModel),_e=(()=>{let e=de.gitAutoFetchIntervalSec;return typeof e==`number`&&Number.isFinite(e)&&e>0?e:0})(),ve=(0,d.useCallback)(()=>w(e=>e+1),[]),{handlePush:ye,handlePull:be,pushBusy:xe,pushToast:Se,setPushToast:Ce,pullBusy:we,pullToast:Te,setPullToast:Ee}=Nq({cwd:e,bumpTreeRefresh:ve,autoFetchIntervalSec:_e,setGitPushInfo:se}),{handleAiGenerate:De,doCommit:Oe,commitMessage:ke,setCommitMessage:Ae,commitBusy:je,commitError:Me,setCommitError:Ne,commitConfirmOpen:Pe,setCommitConfirmOpen:Fe,aiBusy:Ie,aiError:Le,setAiError:Re,aiConfigPromptOpen:ze,setAiConfigPromptOpen:Be,autoCommitBusy:Ve,handleCommitClick:He}=Aq({cwd:e,sessionId:l,pushBusy:xe,bumpTreeRefresh:ve,setGitFiles:j,setGitLineStats:ee,setGitStagedFiles:P,setGitStagedLineStats:re,setGitPushInfo:se,autoGenerateOnEmptyPref:me,hasModelForAutoPref:ge,stageAllConfirmPref:he}),Ue=(0,d.useRef)(null),We=`${n??0}:${C}`,Ge=(0,d.useMemo)(()=>new Map(A.map(e=>[wS(e.filePath),e])),[A]),Ke=(0,d.useMemo)(()=>{let t=new Set,n=wS(e).replace(/\/$/,``);for(let e of A){let r=DS(wS(e.filePath));for(;(r===n||r.startsWith(`${n}/`))&&(t.add(r),r!==n);){let e=DS(r);if(e===r)break;r=e}}return t},[e,A]),qe=(0,d.useCallback)((e,t)=>{S(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r})},[]),{uploadPhase:Je,uploadProgress:Ye,uploadError:Xe,uploadSummary:Ze,pendingConflict:Qe,setPendingConflict:$e,setUploadError:et,setUploadSummary:tt,uploadInputRef:nt,uploadBusy:rt,performUpload:it,handleUploadInput:at,resetUploadState:ot}=Mq({cwd:e,setHighlightedPaths:k,setTreeRefreshKey:w});(0,d.useImperativeHandle)(f,()=>({openUploadPicker(){rt||nt.current?.click()}}),[rt,nt]),(0,d.useEffect)(()=>{o?.(rt)},[o,rt]),(0,d.useEffect)(()=>()=>o?.(!1),[o]),(0,d.useEffect)(()=>{let t=Ue.current!==e;Ue.current=e,t&&(S(new Set),k(new Set),ot()),y(null),_(t);let n=!1;return oq(e,{loading:`silent`}).then(e=>{n||h(e)}).catch(e=>{n||(y(e instanceof Error?e.message:String(e)),xt(e,`file explorer`))}).finally(()=>{n||_(!1)}),()=>{n=!0}},[e,n,ot,C]),(0,d.useEffect)(()=>{let t=!1;return sq(e,{loading:`silent`}).then(e=>{if(!t){let t=e.isGitRepository;j(t?e.files:[]),ee(t?{additions:e.additions,deletions:e.deletions}:{additions:0,deletions:0}),P(t?e.stagedFiles:[]),re(t?{additions:e.stagedAdditions,deletions:e.stagedDeletions}:{additions:0,deletions:0}),se(t?{branch:e.branch??null,upstream:e.upstream??null,ahead:e.ahead??0,behind:e.behind??0,hasUpstream:e.hasUpstream??!1}:{branch:null,upstream:null,ahead:0,behind:0,hasUpstream:!1})}}).catch(()=>{t||(j([]),ee({additions:0,deletions:0}),P([]),re({additions:0,deletions:0}),se({branch:null,upstream:null,ahead:0,behind:0,hasUpstream:!1}))}),()=>{t=!0}},[e,n,ot,C]);let st=(0,d.useCallback)(async(t,n)=>{le(null);try{let r=await fetch(`/api/git/stage`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:e,filePath:t.filePath,action:n?`unstage`:`stage`})}),i=await r.json().catch(()=>({}));if(!r.ok)throw Error(i.error??`Git ${n?`unstage`:`stage`} failed (HTTP ${r.status})`);w(e=>e+1)}catch(e){le(e instanceof Error?e.message:String(e))}},[e]);(0,d.useEffect)(()=>{c?.(A.length+te.length)},[A,te,c]);let ct=(0,d.useCallback)(()=>{!Ze||Ze.uploaded.length===0||a?.(Ze.uploaded.map(t=>OS(kS(e,t),e)))},[e,a,Ze]);return(0,T.jsxs)(`div`,{style:{minHeight:`100%`},children:[(0,T.jsx)(`input`,{ref:nt,type:`file`,multiple:!0,hidden:!0,onChange:at}),(0,T.jsx)(Dq,{phase:Je,progress:Ye,pendingConflict:Qe,onResolveConflict:(e,t)=>void it(e,t),onDismissConflict:()=>$e(null),error:Xe,onDismissError:()=>et(null),summary:Ze,onDismissSummary:()=>tt(null),onAddUploadedToChat:a?ct:void 0}),!s&&(0,T.jsx)(xq,{commitMessage:ke,setCommitMessage:Ae,commitBusy:je,autoCommitBusy:Ve,gitStagedFiles:te,gitFiles:A,handleCommitClick:He,pushBusy:xe,gitPushInfo:oe,handlePush:ye,pullBusy:we,handlePull:be,aiBusy:Ie,handleAiGenerate:De,autoGenerateOnEmptyPref:me,hasModelForAutoPref:ge,preferencesSnapshot:de,t:p,pushToast:Se,setPushToast:Ce,pullToast:Te,setPullToast:Ee,commitError:Me,setCommitError:Ne,gitStageError:ce,setGitStageError:le,aiError:Le,setAiError:Re,filteredGitStagedFiles:ie,gitStagedLineStats:ne,handleStageToggle:st,cwd:e,onOpenFile:t,filteredGitFiles:ae,gitLineStats:N}),s&&(0,T.jsxs)(yq,{ref:b,children:[v?(0,T.jsx)(`div`,{style:{padding:`8px 12px`,fontSize:`var(--text-sm)`,color:`var(--status-error)`},children:aq(v,p)}):(E?D:m).map(n=>(0,T.jsx)(Cq,{node:n,depth:0,cwd:e,onOpenFile:t,onAtMention:i,expandedPaths:x,onToggleExpanded:qe,refreshToken:We,highlightedPaths:O,gitStatusByPath:Ge,changedDirectoryPaths:Ke,t:p},n.fullPath)),!g&&!v&&m.length===0&&(0,T.jsx)(`div`,{style:{padding:`8px 12px`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:p(`files.noFiles`)})]}),(0,T.jsx)(Sq,{t:p,aiConfigPromptOpen:ze,setAiConfigPromptOpen:Be,onOpenConfig:u,commitConfirmOpen:Pe,setCommitConfirmOpen:Fe,gitFileCount:A.length,commitMessage:ke,doCommit:Oe})]})});function Fq({visible:e=!0,gap:t=4,items:n}){return e?(0,T.jsx)(`div`,{style:{display:`flex`,gap:t,flexShrink:0},children:n.map(e=>(0,T.jsx)(F,{label:e.title,children:(0,T.jsx)(`button`,{type:`button`,onClick:e.onClick,disabled:e.disabled,"data-testid":e.testId,"aria-label":e.title,"aria-pressed":e.ariaPressed,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:32,height:32,padding:0,background:e.background??`transparent`,border:`1px solid ${e.borderColor??`var(--border)`}`,borderRadius:7,color:e.color??`var(--text-muted)`,cursor:e.disabled?`default`:`pointer`,flexShrink:0,opacity:e.disabled?.6:1,transition:`background 0.12s, color 0.12s, border-color 0.12s`,"--hover-bg":e.danger?`color-mix(in srgb, var(--status-error) 8%, transparent)`:`var(--bg-selected)`,"--hover-color":e.danger?`var(--status-error)`:`var(--accent)`,"--hover-border":e.danger?`color-mix(in srgb, var(--status-error) 35%, transparent)`:`color-mix(in srgb, var(--accent) 35%, transparent)`},className:e.skipHover?void 0:`hover-shift`,children:e.icon})},e.key))}):null}var Iq=2;function Lq({scrollStepPx:e=200,wrapperStyle:t,children:n,testId:r,hintTestId:i}){let a=(0,d.useRef)(null),[o,s]=(0,d.useState)({scrollHeight:0,clientHeight:0,scrollTop:0}),c=(0,d.useCallback)(()=>{if(document.hidden)return;let e=a.current;e&&s({scrollHeight:e.scrollHeight,clientHeight:e.clientHeight,scrollTop:e.scrollTop})},[]);(0,d.useLayoutEffect)(()=>{c();let e=a.current;if(!e)return;let t=new ResizeObserver(c);return t.observe(e),()=>t.disconnect()},[c]);let{scrollHeight:l,clientHeight:u,scrollTop:f}=o,p=l-u>20,m=f<=Iq,h=f+u>=l-Iq,g=t=>{let n=a.current;if(!n)return;let r=Math.max(0,n.scrollHeight-n.clientHeight);n.scrollTo({top:Math.max(0,Math.min(r,n.scrollTop+t*e)),behavior:`smooth`})},_=e=>{let t=a.current;t&&t.scrollTo({top:e===`top`?0:Math.max(0,t.scrollHeight-t.clientHeight),behavior:`smooth`})};return(0,T.jsxs)(`div`,{style:{position:`relative`,...t},children:[(0,T.jsx)(`div`,{ref:a,"data-testid":r,onScroll:c,style:{position:`absolute`,inset:0,overflowY:`auto`,overflowX:`hidden`,padding:0},children:n}),p&&!m&&(0,T.jsx)(nK,{direction:`up`,visible:!0,testId:i?`${i}-scroll-up`:void 0,onHover:()=>g(-1),onClick:()=>_(`top`)}),p&&!h&&(0,T.jsx)(nK,{direction:`down`,visible:!0,testId:i?`${i}-scroll-down`:void 0,onHover:()=>g(1),onClick:()=>_(`bottom`)})]})}function Rq({...e}){return(0,T.jsx)(Sa,{"data-slot":`collapsible`,...e})}function zq({...e}){return(0,T.jsx)(_a,{"data-slot":`collapsible-trigger`,...e})}function Bq({...e}){return(0,T.jsx)(ya,{"data-slot":`collapsible-content`,...e})}function Vq({title:e,titleTooltip:t,open:n,onToggle:r,collapsible:i=!0,actions:a,expandedFlex:o=`1 1 0`,style:s,children:c}){return(0,T.jsxs)(Rq,{open:n,onOpenChange:r,style:{borderTop:`1px solid var(--border)`,display:`flex`,flexDirection:`column`,flex:n?o:`0 0 auto`,minHeight:0,overflow:`hidden`,...s},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,flexShrink:0,background:`var(--bg-panel)`},children:[(0,T.jsx)(F,{label:t??e,children:(0,T.jsx)(zq,{asChild:!0,children:(0,T.jsxs)(`button`,{type:`button`,disabled:!i,style:{display:`flex`,alignItems:`center`,gap:6,flex:`0 0 auto`,height:36,padding:`0 12px`,background:`none`,border:`none`,color:`var(--text-muted)`,cursor:i?`pointer`:`default`,fontSize:`var(--text-base)`,fontWeight:600,letterSpacing:`0.05em`,textTransform:`none`,textAlign:`left`},children:[i&&(0,T.jsx)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{transform:n?`rotate(90deg)`:`none`,transition:`transform 0.15s`,flexShrink:0},children:(0,T.jsx)(`polyline`,{points:`3 2 7 5 3 8`})}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e})]})})}),a&&(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,marginLeft:`auto`,minWidth:0,gap:6,flexShrink:1,paddingRight:4},children:a})]}),(0,T.jsx)(Bq,{style:{display:`flex`,flexDirection:`column`,minHeight:0,flex:1},children:c})]})}function Hq({title:e,titleTooltip:t,open:n,onToggle:r,collapsible:i=!0,actions:a,headerExtra:o,expandedFlex:s=`1 1 0`,scrollStepPx:c=200,testId:l,hintTestId:u,rootTestId:d,scrollStyle:f,style:p,children:m}){return(0,T.jsx)(`div`,{"data-testid":d,style:{display:`flex`,flexDirection:`column`,border:`1px solid var(--border)`,borderRadius:0,background:`var(--bg-panel)`,overflow:`hidden`,...p},children:(0,T.jsxs)(Vq,{title:e,titleTooltip:t,open:n,onToggle:r,collapsible:i,actions:a,expandedFlex:s,style:{borderTop:`none`},children:[o,(0,T.jsx)(Lq,{scrollStepPx:c,wrapperStyle:{flex:1,minHeight:0,...f},testId:l,hintTestId:u,children:m})]})})}function Uq({cwd:e,onOpenFile:t,explorerRefreshKey:n,onExplorerRefresh:r,onAtMention:i,onAtMentions:a,sessionId:o,onOpenConfig:s}){let{t:c}=M(),[l,u]=(0,d.useState)(0),[f,p]=(0,d.useState)(!1),[m,h]=(0,d.useState)(0),[g,_]=(0,d.useState)(!0),[v,y]=(0,d.useState)(!1),b=(0,d.useRef)(null),x=(0,d.useRef)(null),[S,C]=(0,d.useState)(!1),[w,E]=(0,d.useState)(``),D=(0,d.useRef)(null);return(0,d.useEffect)(()=>{S&&D.current?.focus()},[S]),ir(()=>{n!==void 0&&u(e=>e+1)},[n]),e?(0,T.jsx)(Hq,{title:c(`files.explorer`),open:!0,onToggle:()=>{},collapsible:!1,testId:`explorer-scroll`,hintTestId:`explorer`,style:{flex:1,minHeight:0},scrollStyle:{background:`var(--bg)`},actions:(0,T.jsx)(Fq,{items:[{key:`git`,testId:`explorer-changes-toggle`,onClick:()=>_(e=>!e),title:c(`sidebar.changedFiles`,{count:m}),ariaPressed:!g,color:m>0?`var(--accent)`:`var(--text-muted)`,background:g?void 0:`var(--bg-selected)`,borderColor:g?void 0:`var(--accent)`,icon:(0,T.jsx)(ln,{size:I.lg})},{key:`search`,testId:`explorer-search-toggle`,onClick:()=>{S&&E(``),C(e=>!e)},title:c(`files.search`),ariaPressed:S,color:S?`var(--accent)`:`var(--text-muted)`,background:S?`var(--bg-selected)`:void 0,icon:(0,T.jsx)(jn,{size:I.lg})},{key:`upload`,onClick:()=>x.current?.openUploadPicker(),disabled:f,title:c(`sidebar.uploadFilesTitle`),color:`var(--text-muted)`,icon:(0,T.jsx)(Tn,{size:I.base})},{key:`refresh`,onClick:()=>{r?r():u(e=>e+1),y(!0),b.current&&clearTimeout(b.current),b.current=setTimeout(()=>y(!1),2e3)},title:c(`sidebar.refreshExplorer`),skipHover:v,color:v?`var(--status-success)`:`var(--text-muted)`,background:v?`color-mix(in srgb, var(--status-success) 18%, transparent)`:void 0,icon:v?(0,T.jsx)(qt,{size:I.lg,color:`var(--status-success)`,strokeWidth:2.5}):(0,T.jsx)(Dn,{size:I.lg})}]}),headerExtra:S?(0,T.jsxs)(`div`,{"data-testid":`explorer-search`,style:{display:`flex`,alignItems:`center`,gap:4,width:`100%`,minWidth:0,padding:`4px 8px`,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,boxSizing:`border-box`},children:[(0,T.jsx)(jn,{size:I.lg,color:`var(--text-muted)`,style:{flexShrink:0}}),(0,T.jsx)(`input`,{ref:D,"data-testid":`explorer-search-input`,value:w,onChange:e=>E(e.target.value),placeholder:c(`files.searchPlaceholder`),"aria-label":c(`files.search`),style:{flex:1,minWidth:0,background:`transparent`,border:`none`,outline:`none`,color:`var(--text)`,fontSize:`var(--text-sm)`}}),w&&(0,T.jsx)(`button`,{type:`button`,onClick:()=>{E(``),D.current?.focus()},"aria-label":c(`chat.clearSearch`),style:{border:`none`,background:`transparent`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,display:`flex`,alignItems:`center`,justifyContent:`center`,width:16,height:16,padding:0,flexShrink:0},children:(0,T.jsx)(qn,{size:I.base})})]}):void 0,children:(0,T.jsx)(Pq,{ref:x,cwd:e,onOpenFile:t??(()=>{}),refreshKey:l,searchQuery:w,onAtMention:i,onAtMentions:a,onUploadBusyChange:p,changesCollapsed:g,onChangesCountChange:h,sessionId:o,onOpenConfig:s})}):null}function Wq({isMobile:e,rightSidebarOpen:t,rightSidebarOpenEffective:n,widgetPanelResizer:r,translate:i,cwd:a,sessionId:o,handleOpenFile:s,explorerRefreshKey:c,handleExplorerRefresh:l,handleAtMention:u,handleAtMentions:d,openConfigTab:f}){return(0,T.jsxs)(T.Fragment,{children:[n&&(0,T.jsx)(F,{label:`${i(`layout.resizeWidgetPanel`)}: ${i(`layout.resizeHint`)}`,wrapperStyle:{display:`flex`,flex:`0 0 0`,width:0},children:(0,T.jsx)(`div`,{...r.separatorProps,"aria-controls":`widget-panel`,className:`panel-resize-handle widget-panel-resize-handle${r.isResizing?` is-resizing`:``}`,"data-resize-handle":`widget-panel`})}),!e&&!t?null:(0,T.jsx)(`div`,{ref:r.panelRef,"aria-controls":`widget-panel`,style:e?{position:`fixed`,inset:0,zIndex:250,display:`flex`,flexDirection:`column`}:{"--widget-panel-width":`${r.width}px`,width:`var(--widget-panel-width)`,display:`flex`,flexDirection:`column`,minWidth:0,overflow:`hidden`,borderLeft:`1px solid var(--border)`,background:`var(--bg)`},children:(0,T.jsx)(Uq,{cwd:a,onOpenFile:s,explorerRefreshKey:c,onExplorerRefresh:l,onAtMention:u,onAtMentions:d,sessionId:o,onOpenConfig:e=>f(e)})})]})}function Gq({sidebarResizer:e,sidebarOpen:t,mobileSidebarReady:n,setSidebarOpen:r,sidebarContent:i,translate:a}){return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{className:`sidebar-overlay-backdrop${n?``:` sidebar-mobile-pending`}`,onClick:()=>r(!1),style:{position:`fixed`,inset:0,zIndex:199,background:`var(--overlay)`,opacity:+!!t,pointerEvents:t?`auto`:`none`,transition:`opacity 0.25s ease`}}),(0,T.jsx)(`div`,{ref:e.panelRef,id:`session-sidebar`,className:`sidebar-container${t?` sidebar-open`:` sidebar-closed`}${n?``:` sidebar-mobile-pending`}${e.isResizing?` sidebar-resizing`:``}`,"data-testid":`sidebar`,style:{"--sidebar-width":`${e.width}px`,background:`var(--bg-panel)`,borderRight:`1px solid var(--border)`,display:`flex`,flexDirection:`column`,flexShrink:0,paddingTop:`env(safe-area-inset-top)`,paddingBottom:`env(safe-area-inset-bottom)`,zIndex:200},children:i}),t&&(0,T.jsx)(F,{label:`${a(`layout.resizeSidebar`)}: ${a(`layout.resizeHint`)}`,wrapperStyle:{display:`flex`,flex:`0 0 0`,width:0},children:(0,T.jsx)(`div`,{...e.separatorProps,"aria-controls":`session-sidebar`,className:`panel-resize-handle sidebar-resize-handle${e.isResizing?` is-resizing`:``}`,"data-resize-handle":`sidebar`})})]})}var Kq=36;function qq({sidebarOpen:e,onToggle:t}){let{t:n}=M(),r=n(e?`sidebar.hide`:`sidebar.show`);return(0,T.jsx)(F,{label:r,children:(0,T.jsx)(`button`,{onClick:t,"aria-label":r,"aria-pressed":e,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:Kq,height:Kq,padding:0,background:`none`,border:`none`,borderRight:`1px solid var(--border)`,color:e?`var(--text)`:`var(--text-muted)`,cursor:`pointer`,flexShrink:0,transition:`color 0.12s`,"--hover-color":`var(--text)`},className:`hover-shift`,children:(0,T.jsxs)(`svg`,{width:I[`4xl`],height:I[`4xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`rect`,{x:`3`,y:`3`,width:I[`4xl`],height:I[`4xl`],rx:`2`}),(0,T.jsx)(`line`,{x1:`9`,y1:`3`,x2:`9`,y2:`21`})]})})})}var Jq=new Map,Yq=5e3;function Xq({title:e,body:t,tag:n,notifyWhileActive:r=!1}){if(!(typeof Notification>`u`)&&!(document.hasFocus()&&document.visibilityState===`visible`&&!r)){if(Notification.permission!==`granted`){console.warn(`[notify] skip: permission=${Notification.permission}`);return}try{let r;if(n){let e=Date.now(),t=Jq.get(n);if(t!==void 0&&e-t<Yq)return;Jq.set(n,e),r=`${n}-${e}`}new Notification(e,t?{body:t,tag:r}:{tag:r}),console.info(`[notify] dispatched: ${e}`)}catch(e){console.warn(`[notify] construction failed:`,e)}}}function Zq(){typeof Notification>`u`||Notification.requestPermission()}function Qq(){if(typeof Notification>`u`||Notification.permission!=="default")return;let e=()=>{Zq(),window.removeEventListener(`pointerdown`,e),window.removeEventListener(`keydown`,e)};window.addEventListener(`pointerdown`,e),window.addEventListener(`keydown`,e)}function $q({topBarRef:e,notifyPermission:t,isDark:n,toggleTheme:r,updatesBadge:i,openConfigTab:a,isMobile:o,setSidebarOpen:s,activeTopPanel:c,setActiveTopPanel:l,cancelCloseTopPanel:u,scheduleCloseTopPanel:d,languageBtnRef:f,fontScaleBtnRef:p}){let{t:m}=M(),h=[{label:m(`config.title`),onClick:()=>{l(null),a()},disabled:!1,badge:i,icon:(0,T.jsx)(Nn,{width:I[`3xl`],height:I[`3xl`],"aria-hidden":`true`})},...t===`granted`||t==="default"||t===`denied`?[{label:m(t===`granted`?`notify.permission.grantedHint`:t===`denied`?`notify.permission.deniedHint`:`notify.permission.requestHint`),ariaLabel:m(t===`granted`?`notify.permission.granted`:t===`denied`?`notify.permission.denied`:`notify.permission.request`),onClick:t===`granted`?()=>{}:()=>Zq(),disabled:!1,testId:`notify-permission`,color:t===`granted`?`var(--status-success)`:t===`denied`?`var(--status-error)`:`var(--accent)`,icon:(0,T.jsx)(`svg`,{width:I[`3xl`],height:I[`3xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:t===`denied`?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`path`,{d:`M8.7 3A6 6 0 0 1 18 8a21.3 21.3 0 0 0 .6 5`}),(0,T.jsx)(`path`,{d:`M17 17H3s3-2 3-9a4.67 4.67 0 0 1 .3-1.7`}),(0,T.jsx)(`path`,{d:`M10.3 21a1.94 1.94 0 0 0 3.4 0`}),(0,T.jsx)(`path`,{d:`m2 2 20 20`})]}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`path`,{d:`M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9`}),(0,T.jsx)(`path`,{d:`M10.3 21a1.94 1.94 0 0 0 3.4 0`})]})})}]:[],{label:m(n?`theme.light`:`theme.dark`),onClick:()=>r(),disabled:!1,ariaPressed:n,icon:n?(0,T.jsxs)(`svg`,{width:I[`3xl`],height:I[`3xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`circle`,{cx:`12`,cy:`12`,r:`5`}),(0,T.jsx)(`line`,{x1:`12`,y1:`1`,x2:`12`,y2:`3`}),(0,T.jsx)(`line`,{x1:`12`,y1:`21`,x2:`12`,y2:`23`}),(0,T.jsx)(`line`,{x1:`4.22`,y1:`4.22`,x2:`5.64`,y2:`5.64`}),(0,T.jsx)(`line`,{x1:`18.36`,y1:`18.36`,x2:`19.78`,y2:`19.78`}),(0,T.jsx)(`line`,{x1:`1`,y1:`12`,x2:`3`,y2:`12`}),(0,T.jsx)(`line`,{x1:`21`,y1:`12`,x2:`23`,y2:`12`}),(0,T.jsx)(`line`,{x1:`4.22`,y1:`19.78`,x2:`5.64`,y2:`18.36`}),(0,T.jsx)(`line`,{x1:`18.36`,y1:`5.64`,x2:`19.78`,y2:`4.22`})]}):(0,T.jsx)(`svg`,{width:I[`3xl`],height:I[`3xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,T.jsx)(`path`,{d:`M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z`})})},{label:m(`common.language`),onClick:()=>{o&&s(!1),u(),l(`language`)},onMouseEnter:()=>{u(),c!==`language`&&l(`language`)},onMouseLeave:d,disabled:!1,ref:f,ariaExpanded:c===`language`,noTooltip:!0,icon:(0,T.jsxs)(`svg`,{width:I[`3xl`],height:I[`3xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,T.jsx)(`line`,{x1:`2`,y1:`12`,x2:`22`,y2:`12`}),(0,T.jsx)(`path`,{d:`M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z`})]})},{label:m(`theme.fontSize`),onClick:()=>{o&&s(!1),u(),l(`fontSize`)},onMouseEnter:()=>{u(),c!==`fontSize`&&l(`fontSize`)},onMouseLeave:d,disabled:!1,ref:p,ariaExpanded:c===`fontSize`,noTooltip:!0,icon:(0,T.jsxs)(`svg`,{width:I[`3xl`],height:I[`3xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`polyline`,{points:`4 7 4 4 20 4 20 7`}),(0,T.jsx)(`line`,{x1:`9`,y1:`20`,x2:`15`,y2:`20`}),(0,T.jsx)(`line`,{x1:`12`,y1:`4`,x2:`12`,y2:`20`})]})}];return(0,T.jsx)(`div`,{ref:e,style:{padding:`2px 8px`,flexShrink:0,display:`flex`,justifyContent:`space-between`,gap:4},children:h.map(({label:e,onClick:t,onMouseEnter:n,onMouseLeave:r,disabled:i,icon:a,ref:o,ariaPressed:s,ariaExpanded:c,noTooltip:l,badge:u,color:d,ariaLabel:f,testId:p})=>{let m=(0,T.jsxs)(`button`,{ref:o,onClick:t,disabled:i,"data-testid":p,"aria-label":f??e,"aria-pressed":s,"aria-haspopup":c===void 0?void 0:`menu`,"aria-expanded":c,style:{flex:1,display:`flex`,alignItems:`center`,justifyContent:`center`,position:`relative`,height:32,padding:0,background:`none`,border:`none`,borderRadius:9,...d?{color:d}:{color:`var(--text-muted)`},cursor:i?`default`:`pointer`,opacity:i?.35:1,transition:`background 0.12s, color 0.12s`,"--hover-color":`var(--text)`},onMouseEnter:n,onMouseLeave:r,className:`hover-shift`,children:[a,u!==void 0&&u>0?(0,T.jsx)(`span`,{"data-testid":`settings-update-badge`,style:{position:`absolute`,top:3,right:3,minWidth:15,height:15,padding:`0 4px`,borderRadius:8,background:`var(--status-error)`,color:`#fff`,fontSize:10,fontWeight:600,lineHeight:`15px`,textAlign:`center`},children:u}):null]});return l?(0,T.jsx)(`div`,{style:{flex:1,minWidth:0,display:`flex`},children:m},e):(0,T.jsx)(F,{label:e,wrapperStyle:{flex:1,minWidth:0,display:`flex`},children:m},e)})})}function eJ({activeTopPanel:e,setActiveTopPanel:t,topPanelPos:n,cancelCloseTopPanel:r,scheduleCloseTopPanel:i,translate:a,locale:o,setLocale:s,supportedLocales:c,fontScale:l,setFontScale:u}){return(0,T.jsx)(T.Fragment,{children:e&&n&&(0,T.jsxs)(`div`,{onMouseEnter:r,onMouseLeave:i,style:{position:`fixed`,top:n.top,left:n.left,width:n.width,maxHeight:`calc(100dvh - ${n.top}px)`,overflowY:`auto`,zIndex:1500},children:[e===`language`&&(0,T.jsx)(`div`,{role:`menu`,"aria-label":a(`common.language`),style:{background:`var(--bg-panel)`,border:`1px solid var(--border)`,overflow:`hidden`,padding:4},children:c.map(e=>(0,T.jsx)(`button`,{type:`button`,onClick:()=>{s(e.id),t(null)},role:`menuitemradio`,"aria-checked":o===e.id,style:{display:`flex`,alignItems:`center`,width:`100%`,height:34,padding:`0 10px`,border:`none`,borderRadius:4,background:o===e.id?`var(--bg-selected)`:`transparent`,color:`var(--text)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-base)`,transition:`background 0.1s`},className:o===e.id?void 0:`hover-shift`,children:(0,T.jsx)(`span`,{children:e.label})},e.id))}),e===`fontSize`&&(0,T.jsxs)(`div`,{role:`menu`,"aria-label":a(`theme.fontSize`),style:{background:`var(--bg-panel)`,border:`1px solid var(--border)`,padding:`10px 12px 12px`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,fontSize:`var(--text-base)`,color:`var(--text-muted)`,marginBottom:8},children:[(0,T.jsx)(`span`,{children:a(`theme.fontSize`)}),(0,T.jsxs)(`span`,{style:{fontFamily:`var(--font-mono)`,color:`var(--text)`,fontWeight:600},children:[Math.round(l*100),`%`]})]}),(0,T.jsx)(`input`,{type:`range`,min:.85,max:1.3,step:.05,value:l,onChange:e=>u(Number(e.target.value)),"aria-label":a(`theme.fontSize`),style:{width:`100%`,accentColor:`var(--accent)`,cursor:`pointer`}}),(0,T.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,fontSize:`var(--text-xs)`,color:`var(--text-dim)`,marginTop:4},children:[(0,T.jsx)(`span`,{children:`85%`}),(0,T.jsx)(`span`,{children:`130%`})]})]})]})})}function tJ({isMobile:e,onClick:t}){let{t:n}=M();return(0,T.jsx)(F,{label:n(`trust.resourcesNotLoaded`),wrapperStyle:{height:`100%`},children:(0,T.jsxs)(`button`,{type:`button`,onClick:t,"aria-label":n(`trust.resourcesNotLoaded`),style:{display:`flex`,alignItems:`center`,gap:6,height:`100%`,padding:e?`0 10px`:`0 12px`,background:`none`,border:`none`,borderLeft:`1px solid var(--border)`,color:`var(--status-warning)`,cursor:`pointer`,flexShrink:0,fontSize:`var(--text-sm)`,whiteSpace:`nowrap`},children:[(0,T.jsxs)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`path`,{d:`M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z`}),(0,T.jsx)(`path`,{d:`M12 8v4`}),(0,T.jsx)(`path`,{d:`M12 16h.01`})]}),!e&&(0,T.jsx)(`span`,{children:n(`trust.resourcesNotLoaded`)})]})})}var nJ=!1,rJ=performance.now();function iJ(e){nJ=e,rJ=performance.now(),nJ&&oJ(`boot`,`debug log enabled`)}function aJ(e){return(t,n)=>oJ(e,t,n)}function oJ(e,t,n){if(!nJ)return;performance.now()-rJ;let r=new Date,i=(e,t=2)=>String(e).padStart(t,`0`);`${i(r.getHours())}${i(r.getMinutes())}${i(r.getSeconds())}${i(r.getMilliseconds(),3)}`}function sJ(){if(!nJ)return;let e=window.fetch;window.fetch=async(t,n)=>{let r=typeof t==`string`?t:t instanceof URL?t.href:t.url,i=n?.method??`GET`,a=performance.now();try{let o=await e(t,n);return oJ(`fetch`,`${i} ${r}`,`${o.status} ${Math.round(performance.now()-a)}ms`),o}catch(e){throw oJ(`fetch`,`${i} ${r}`,`failed ${Math.round(performance.now()-a)}ms`),e}}}function cJ(e){return{steering:e?.steering??[],followUp:e?.followUp??[]}}function lJ(e){let t=e.content;return typeof t==`string`?t:Array.isArray(t)?t.map(e=>e&&typeof e==`object`&&e.type===`text`&&typeof e.text==`string`?e.text:``).filter(Boolean).join(`
349
349
  `):``}function uJ(e){if(!e||typeof e!=`object`||e.type!==`image`)return``;let t=e.source;if(t&&typeof t==`object`){let e=t;return[e.type===`url`?`url`:`base64`,typeof e.media_type==`string`?e.media_type:``,typeof e.data==`string`?e.data:``,typeof e.url==`string`?e.url:``].join(`:`)}let n=e;return[`base64`,typeof n.mimeType==`string`?n.mimeType:``,typeof n.data==`string`?n.data:``,``].join(`:`)}function dJ(e){function t(t,n){try{if(localStorage.getItem(`piWebDebug`)===`1`){let e=Error().stack;oJ(`messages`,t,e?.split(`
350
350
  `).slice(1).join(`
351
- `))}}catch{}e(n)}return{apply:(e,n)=>t(e,n),append:(e,n)=>t(`${e}:append`,e=>[...e,n]),replaceAll(e,n){t(`${e}:replaceAll`,n)},truncateFrom:(e,n)=>t(`${e}:truncateFrom`,e=>e.slice(0,Math.max(0,n))),dropLastIf:(e,n)=>t(`${e}:dropLastIf`,e=>n(e[e.length-1])?e.slice(0,-1):e)}}function fJ(e){let t=e.content;return JSON.stringify(typeof t==`string`?{text:t,images:[]}:Array.isArray(t)?{text:lJ(e),images:t.map(uJ).filter(Boolean)}:{text:``,images:[]})}function pJ(e,t){if(!e||typeof e!=`object`)return null;let n=e;return typeof n.tokensBefore!=`number`||typeof n.estimatedTokensAfter!=`number`?null:{reason:t,tokensBefore:n.tokensBefore,estimatedTokensAfter:n.estimatedTokensAfter}}function mJ(e,t,n,r){let i=new Set(t),a=new Set(e.filter(e=>e.role===`user`).map(fJ)),o=[...e];for(let e=0;e<n.length;e++){let t=r[e];if(t!==void 0)i.has(t)||o.push(n[e]);else{let t=n[e];(t.role!==`user`||!a.has(fJ(t)))&&o.push(t)}}return o}function hJ(e,t,n){let r=!1,i=e.map(e=>{if(!(`content`in e)||!Array.isArray(e.content))return e;let i=!1,a=e.content.map(e=>{if(e.type===`toolCall`&&e.toolCallId===t){let t=e.input;if(!t||Object.keys(t).length===0)return i=!0,{...e,input:n}}return e});return i?(r=!0,{...e,content:a}):e});return r?i:e}function gJ(e,t){let n=!1,r=e.map(e=>{if(!(`content`in e)||!Array.isArray(e.content))return e;let r=!1,i=e.content.map(e=>{if(e.type===`toolCall`){let n=t.get(e.toolCallId??``);if(n!==void 0)return r=!0,{...e,streamingOutput:n}}return e});return r?(n=!0,{...e,content:i}):e});return n?r:e}function _J(e,t){let{streamingMsgRef:n,pendingDeltasRef:r,streamResyncRef:i,streamFirstFlushRef:a,streamFlushTimerRef:o,pendingStreamRef:s,agentRunningRef:c,sdkAgentActiveRef:l,rpcPromptPendingRef:u,promptRunIdRef:d,hasPendingOptimisticUserRef:f,sessionIdRef:p,bashFlushTimerRef:m,pendingBashDeltasRef:h,toolFlushTimerRef:g,pendingToolUpdatesRef:_,cancelEventStreamGrace:v,scheduleEventStreamClose:y,settleUiStage:b,notifyPromptStage:x,applyAgentState:S,loadSession:C,onAgentEnd:w,onAgentSettled:T,onAgentError:E,addNotice:D,t:O,setMessages:k,dispatch:A,setAgentRunningSynced:j,setAgentPhase:M,setRetryInfo:N,setQueuedMessages:ee,setBashOutput:te,setIsCompacting:P}=e;switch(t.type){case`agent_start`:r.current.clear(),n.current=null,s.current=null,a.current=!0,i.current.reset(),v(),l.current=!0,j(!0),M({kind:`waiting_model`}),N(null),A({type:`start`});break;case`agent_end`:if(!c.current)break;if(M(null),N(null),A({type:`end`}),n.current=null,s.current=null,r.current.clear(),i.current.reset(),o.current&&=(clearTimeout(o.current),null),m.current&&=(clearTimeout(m.current),null),h.current.length){let e=h.current.join(``);h.current=[],e&&te(t=>t+e)}if(g.current&&=(clearTimeout(g.current),null),_.current.size){let e=new Map(_.current);_.current.clear(),k.apply(`tool_execution_update:batched:drain`,t=>gJ(t,e))}p.current&&(C(p.current),fetch(`/api/agent/${encodeURIComponent(p.current)}`).then(e=>e.json()).then(e=>{e.state&&S(e.state),ee(cJ(e.state?.queuedMessages))}).catch(e=>console.error(`[pi-web] load agent state:`,e)));break;case`agent_settled`:{let e=l.current;if(l.current=!1,!e||u.current)break;let t=p.current,i=b();P(!1),t&&(C(t),y(t)),n.current=null,s.current=null,r.current.clear(),o.current&&=(clearTimeout(o.current),null),i&&(w?.(),T?.());break}case`prompt_done`:{let e=d.current,t=u.current;u.current=!1,f.current=!1;let n=x(e);if(!t&&!n)break;let r=p.current;if(r&&C(r),!l.current){let e=b();r&&y(r),e&&(w?.(),T?.())}}break;case`prompt_error`:D({type:`error`,message:t.errorMessage??O(`i18n.commandFailed`)}),E?.(t.errorMessage??O(`i18n.commandFailed`))}}function vJ(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function yJ(e){return!vJ(e)||e.type!==`toolCall`?null:{type:`toolCall`,toolCallId:typeof e.toolCallId==`string`?e.toolCallId:typeof e.id==`string`?e.id:``,toolName:typeof e.toolName==`string`?e.toolName:typeof e.name==`string`?e.name:``,input:typeof e.input==`object`&&e.input!==null&&!Array.isArray(e.input)?e.input:typeof e.arguments==`object`&&e.arguments!==null&&!Array.isArray(e.arguments)?e.arguments:{}}}function bJ(e){if(e.role!==`assistant`)return e;let t=e.content;if(!Array.isArray(t))return e;let n=t.map(e=>yJ(e)??e);return{...e,content:n}}function xJ(e){if(e.role!==`assistant`)return e;let t=e.content;if(!Array.isArray(t))return e;for(let e=0;e<t.length;e++){let n=t[e],r=yJ(n);r!==null&&(t[e]=r)}return e}var SJ=new Map([[`thinking_start`,`thinking`],[`thinking_delta`,`thinking`],[`thinking_end`,`thinking`],[`text_start`,`text`],[`text_delta`,`text`],[`text_end`,`text`]]);function CJ(e){return e.some(e=>{let t=e;return t.type===`thinking`?(t.thinking?.trim()??``)!==``||typeof t.thinkingSignature==`string`&&t.thinkingSignature.length>0||t.redacted===!0:t.type!==`text`||(t.text?.trim()??``)!==``})}function wJ(e){let{streamingMsgRef:t,pendingDeltasRef:n,streamResyncRef:r,streamFirstFlushRef:i,streamFlushTimerRef:a,pendingStreamRef:o,agentRunningRef:s,dispatch:c,flushPendingDeltas:l,coalesceMs:u,coalesceFirstMs:f}=e,p=(e,t,n)=>{if(e[t]?.type===n)return;let r={type:n,[n]:``};t>=e.length?e.push(r):e.splice(t,0,r),i.current=!0},m=(e,t,r,i)=>{if(e[t]?.type!==r)return;let a=n.current,o=a.get(t)??[];o.push(i),a.set(t,o)},h=(e,t,i,a)=>{let o=n.current;if(o.has(t)){let n=o.get(t);o.delete(t);let a=r.current.take(t,n.join(``)),s=e[t];s?.type===i&&a&&(s[i]=(s[i]??``)+a)}let s=e[t];s?.type===i&&(typeof a.content==`string`&&(s[i]=a.content),i===`thinking`&&g(e,t,a))},g=(e,t,n)=>{let r=e[t];if(r?.type!==`thinking`)return;let i=n.thinkingSignature??n.signature;typeof i==`string`&&i.length>0?r.thinkingSignature=i:i&&typeof i==`object`&&(r.thinkingSignature=JSON.stringify(i)),n.redacted===!0&&(r.redacted=!0);let a=n.partial?.content?.[t];a&&typeof a.thinkingSignature==`string`&&!r.thinkingSignature&&(r.thinkingSignature=a.thinkingSignature),a&&a.redacted===!0&&(r.redacted=!0)},_=e=>{let r=e.assistantMessageEvent;if(!r||typeof r.type!=`string`)return;let a=t.current;if(!a)return;let o=r.contentIndex;if(typeof o!=`number`)return;let s=a.content;if(!Array.isArray(s))return;let c=SJ.get(r.type);if(c){r.type.endsWith(`_start`)?p(s,o,c):r.type.endsWith(`_end`)?h(s,o,c,r):typeof r.delta==`string`&&m(s,o,c,r.delta);return}switch(r.type){case`toolcall_start`:{if(s[o]?.type===`toolCall`)break;let e=r.toolCall;if(!e||typeof e.toolName!=`string`)break;let t=yJ({...e,type:`toolCall`});if(!t)break;o>=s.length?s.push(t):s.splice(o,0,t),i.current=!0;break}case`toolcall_delta`:break;case`toolcall_end`:{let e=n.current;e.has(o)&&e.delete(o),r.toolCall&&typeof r.toolCall==`object`&&(s[o]=yJ({...r.toolCall,type:`toolCall`}));break}}},v=()=>{if(a.current)return;let e=i.current?f:u;a.current=setTimeout(()=>{a.current=null,l();let e=t.current??o.current;if(o.current=null,!e||!s.current)return;let n=e.content;if(!Array.isArray(n)||!CJ(n))return;i.current=!1;let r={...e,content:[...n??[]]};(0,d.startTransition)(()=>c({type:`update`,message:r}))},e)};return{applyDelta:_,scheduleDispatch:v,applyStreamUpdate:e=>{if(!s.current)return;let a=e.message;if(a&&a.role!==`user`){n.current.clear();let e=xJ(a);r.current.snapshot(e.content),t.current=e,o.current=e,i.current=!0,v()}else t.current&&(_(e),v())}}}function TJ(e){if(!e||typeof e!=`object`)return;let t=e.content;if(!Array.isArray(t))return;let n=t.filter(e=>typeof e==`object`&&!!e&&e.type===`text`&&typeof e.text==`string`).map(e=>e.text);return n.length>0?n.join(``):void 0}function EJ(e,t){let{streamingMsgRef:n,pendingDeltasRef:r,streamResyncRef:i,streamFirstFlushRef:a,streamFlushTimerRef:o,pendingStreamRef:s,agentRunningRef:c,hasPendingOptimisticUserRef:l,bashFlushTimerRef:u,pendingBashDeltasRef:f,toolFlushTimerRef:p,pendingToolUpdatesRef:m,flushStreamUpdate:h,flushPendingDeltas:g,setMessages:_,dispatch:v,setAgentPhase:y,setBashOutput:b,coalesceMs:x,coalesceFirstMs:S}=e,{applyStreamUpdate:C}=wJ({streamingMsgRef:n,pendingDeltasRef:r,streamResyncRef:i,streamFirstFlushRef:a,streamFlushTimerRef:o,pendingStreamRef:s,agentRunningRef:c,dispatch:v,flushPendingDeltas:g,coalesceMs:x,coalesceFirstMs:S});switch(t.type){case`message_start`:C(t);break;case`message_update`:C(t),t.assistantMessageEvent?.type?.startsWith(`thinking`)?y({kind:`thinking`}):y(null);break;case`message_end`:{if(!c.current)break;h();let e=t.message;if(e&&e.role===`user`){let t=bJ(e),n=fJ(t),r=l.current;l.current=!1,_.apply(`message_end:userEcho`,e=>{let i=e[e.length-1];return i?.role===`user`&&fJ(i)===n?e:r&&i?.role===`user`?[...e.slice(0,-1),t]:[...e,t]})}else e&&_.append(`message_end:assistant`,bJ(e));v({type:`reset`}),n.current=null,s.current=null,r.current.clear(),o.current&&=(clearTimeout(o.current),null),y({kind:`waiting_model`});break}case`tool_execution_start`:{let e=t.toolCallId,n=t.toolName;y(t=>{let r=t?.kind===`running_tools`?[...t.tools]:[];return r.some(t=>t.id===e)||r.push({id:e,name:n}),{kind:`running_tools`,tools:r}});let r=t.args;r&&typeof r==`object`&&!Array.isArray(r)&&_.apply(`tool_execution_start:input`,t=>hJ(t,e,r));break}case`tool_execution_update`:{let e=t.toolCallId,n=TJ(t.partialResult);if(n===void 0)break;m.current.set(e,n),p.current||=setTimeout(()=>{p.current=null;let e=new Map(m.current);m.current.clear(),e.size!==0&&(0,d.startTransition)(()=>{_.apply(`tool_execution_update:batched`,t=>gJ(t,e))})},x);break}case`tool_execution_end`:{let e=t.toolCallId;y(t=>{if(t?.kind!==`running_tools`)return t;let n=t.tools.filter(t=>t.id!==e);return n.length===0?{kind:`waiting_model`}:{kind:`running_tools`,tools:n}});break}case`bash_execution_update`:{let e=t.delta;if(!e)break;f.current.push(e),u.current||=setTimeout(()=>{u.current=null;let e=f.current;if(f.current=[],e.length===0)return;let t=e.join(``);t&&(0,d.startTransition)(()=>b(e=>e+t))},x);break}}}function DJ(e){let{lastAgentEventAtRef:t,sessionIdRef:n,loadSession:r,handleExtensionUiRequest:i,onAgentError:a,addNotice:o,t:s,setRetryInfo:c,setQueuedMessages:l,setIsCompacting:u,setCompactError:d,setCompactResult:f}=e;return function(p){switch(t.current=Date.now(),p.type){case`agent_start`:case`agent_end`:case`agent_settled`:case`prompt_done`:case`prompt_error`:_J(e,p);break;case`extension_error`:o({type:`error`,message:p.error??s(`i18n.extensionCommandFailed`)}),a?.(p.error??s(`i18n.extensionCommandFailed`));break;case`message_start`:case`message_update`:case`message_end`:case`tool_execution_start`:case`tool_execution_update`:case`tool_execution_end`:case`bash_execution_update`:EJ(e,p);break;case`queue_update`:l({steering:[...p.steering??[]],followUp:[...p.followUp??[]]});break;case`auto_retry_start`:c({attempt:p.attempt,maxAttempts:p.maxAttempts,errorMessage:p.errorMessage});break;case`auto_retry_end`:c(null);break;case`auto_compaction_start`:case`compaction_start`:u(!0),d(null),f(null);break;case`auto_compaction_end`:case`compaction_end`:u(!1),p.errorMessage?(d(p.errorMessage),f(null)):p.aborted||(f(pJ(p.result,p.reason??`auto`)),n.current&&r(n.current));break;case`extension_ui_request`:i(p)}}}var OJ=15e3,kJ=1e3;function AJ(e){return new Promise(t=>setTimeout(t,e))}function jJ(e){let{agentRunning:t,bashRecoveryIdRef:n,bashRunningRef:r,sessionIdRef:i,agentRunningRef:a,promptRunIdRef:o,loadSession:s,setBashRunningSynced:c,setPendingBash:l,setIsCompacting:u,setQueuedMessages:f,applyAgentState:p,finishPromptWithoutStream:m}=e,h=(0,d.useCallback)(async e=>{let t=n.current+1;for(n.current=t;r.current&&n.current===t&&i.current===e;){await AJ(kJ);try{let r=await fetch(`/api/agent/${encodeURIComponent(e)}`);if(!r.ok||(await r.json()).state?.isBashRunning)continue;if(await s(e),n.current!==t||i.current!==e)return;c(!1),l(null);return}catch{}}},[n,r,i,s,c,l]),g=(0,d.useCallback)(async e=>{if(!a.current)return;let t=o.current;try{let n=await fetch(`/api/agent/${encodeURIComponent(e)}`);if(!n.ok)return;let r=await n.json();if(o.current!==t)return;let i=r.state;if(u(i?.isCompacting??!1),f({steering:i?.queuedMessages?.steering??[],followUp:i?.queuedMessages?.followUp??[]}),r.running&&i&&(i.isStreaming||i.isPromptRunning||i.isCompacting)||!a.current)return;i&&p(i),await m(e,t)}catch{}},[a,o,u,f,p,m]);return(0,d.useEffect)(()=>{if(!t)return;let e=()=>{let e=i.current;e&&g(e)},n=()=>{document.visibilityState===`visible`&&e()},r=setInterval(e,OJ);return document.addEventListener(`visibilitychange`,n),window.addEventListener(`online`,e),()=>{clearInterval(r),document.removeEventListener(`visibilitychange`,n),window.removeEventListener(`online`,e)}},[t,i,g]),{waitForBashSettlement:h,reconcileAgentState:g}}function MJ(e,t){let{sessionIdRef:n,ensureNewSession:r,addNotice:i,t:a,setCommandBusy:o,isCompacting:s,setIsCompacting:c,setCompactError:l,setCompactResult:u,loadSession:d,promoteNewSession:f,loadTools:p,loadSlashCommands:m,loadModels:h,setSessionStatsOverride:g}=e;if(!t.startsWith(`/`))return Promise.resolve({handled:!1});let _=t.match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);if(!_)return Promise.resolve({handled:!1});let[,v,y=``]=_,b=y.trim(),x=e=>(e.handled&&(e.error?i({type:`error`,message:e.error}):e.action!==`openSessionStats`&&i({type:`success`,message:e.message??a(`i18n.commandCompleted`)})),e);return(async()=>{let e=n.current??await r();try{switch(o(!0),v){case`compact`:{if(!e||s)return x({handled:!0,error:a(`i18n.noActiveSessionToCompact`)});c(!0),l(null),u(null);let t=await bW(e,{type:`compact`,...b?{customInstructions:b}:{}});return u(pJ(t,`manual`)),await d(e,!0)&&f(),x({handled:!0,message:a(`i18n.compactedContext`)})}case`reload`:return e?(await bW(e,{type:`reload`}),await ue.refresh(),await Promise.all([d(e,!1,!0),p(e),m(),h()]),x({handled:!0,message:a(`i18n.reloadedSessionResources`)})):x({handled:!0,error:a(`i18n.noActiveSessionToReload`)});case`name`:return e?b?(await bW(e,{type:`set_session_name`,name:b}),await d(e)&&f(),x({handled:!0,message:a(`i18n.sessionRenamedTo`,{name:b})})):x({handled:!0,error:a(`i18n.usageName`)}):x({handled:!0,error:a(`i18n.noActiveSessionToName`)});case`session`:{if(!e)return x({handled:!0,error:a(`i18n.noActiveSession`)});let t=await bW(e,{type:`get_session_stats`});return t&&g(t),x({handled:!0,action:`openSessionStats`})}case`copy`:{if(!e)return x({handled:!0,error:a(`i18n.noActiveSession`)});let t=(await bW(e,{type:`get_last_assistant_text`}))?.text??``;return t?(await navigator.clipboard.writeText(t),x({handled:!0,message:a(`i18n.copiedLastAssistantMessage`)})):x({handled:!0,error:a(`i18n.noAssistantMessageToCopy`)})}default:return{handled:!1}}}catch(e){return x({handled:!0,error:e instanceof Error?e.message:String(e)})}finally{o(!1),v===`compact`&&c(!1)}})()}var NJ=5,PJ=5e3,FJ=180;function IJ(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`}function LJ(e){let t=e.findIndex(e=>!e.exiting);return t===-1?e:e.map((e,n)=>n===t?{...e,exiting:!0}:e)}function RJ(e,t){let n=e,r=t;for(;r.length>0&&n.length<NJ;){let[e,...t]=r;n=[...n,e],r=t}return r.length>0&&!n.some(e=>e.exiting)&&(n=LJ(n)),{visible:n,pending:r}}function zJ(e,t){switch(t.type){case`add`:return e.visible.some(e=>e.exiting)||e.visible.length>=NJ?{visible:e.visible.some(e=>e.exiting)?e.visible:LJ(e.visible),pending:[...e.pending,t.notice],modals:e.modals}:{...e,visible:[...e.visible,t.notice]};case`mark_oldest_exiting`:return{...e,visible:LJ(e.visible)};case`add_modal`:return{...e,modals:[...e.modals,t.notice]};case`dismiss_modal`:return{...e,modals:e.modals.filter(e=>e.id!==t.id)};case`remove`:return{...RJ(e.visible.filter(e=>e.id!==t.id),e.pending),modals:e.modals};default:return e}}function BJ(){let[e,t]=(0,d.useReducer)(zJ,{visible:[],pending:[],modals:[]}),n=(0,d.useCallback)(e=>{let n=e.message.trim();if(!n)return;let r={id:e.id??IJ(),message:n,type:e.type??`info`};t(e.modal?{type:`add_modal`,notice:r}:{type:`add`,notice:r})},[]),r=(0,d.useCallback)(e=>{t({type:`dismiss_modal`,id:e})},[]);return(0,d.useEffect)(()=>{if(e.visible.length===0)return;let n=e.visible.find(e=>e.exiting);if(n){let e=setTimeout(()=>{t({type:`remove`,id:n.id})},FJ);return()=>clearTimeout(e)}if(!e.visible[0])return;let r=setTimeout(()=>{t({type:`mark_oldest_exiting`})},PJ);return()=>clearTimeout(r)},[e.visible]),{noticeState:e,addNotice:n,dismissModal:r}}function VJ(e){let{sessionIdRef:t,ensureNewSession:n,session:r,agentRunningRef:i,bashRunningRef:a,setBashRunningSynced:o,setPendingBash:s,setBashOutput:c,chatInputRef:l,addNotice:u,ensureEventsConnected:f,promoteNewSession:p,loadSession:m}=e;return{executeBash:(0,d.useCallback)(async(e,d)=>{if(i.current||a.current)return;let h=`${d?`!!`:`!`}${e}`;o(!0),s({command:e,excludeFromContext:d}),c(``);try{let i=t.current??r?.id??await n();if(!i)throw Error(`Unable to create a session for the shell command`);await f(i),p(1,h),await bW(i,{type:`bash`,command:e,excludeFromContext:d}),await m(i)}catch(e){console.error(`Failed to execute shell command:`,e),u({type:`error`,message:e instanceof Error?e.message:String(e)}),l?.current?.insertIfEmpty(h)}finally{o(!1),s(null)}},[t,u,f,n,m,l,p,r,o,i,a,s,c])}}function HJ(e){let{sessionIdRef:t,addNotice:n}=e,r=(0,d.useCallback)(async(e,r,i)=>{let a=t.current;if(!a)return;let o=r?.map(e=>({type:`image`,data:e.data,mimeType:e.mimeType}));try{await bW(a,{...e,...o?.length?{images:o}:{}})}catch(e){console.error(`Failed to ${i}:`,e),n({type:`error`,message:e instanceof Error?e.message:String(e)})}},[n,t]);return{sendAgentMessage:r,handleSteer:(0,d.useCallback)((e,t)=>r({type:`steer`,message:e},t,`steer`),[r]),handlePromptWithStreamingBehavior:(0,d.useCallback)((e,t,n)=>r({type:`prompt`,message:e,streamingBehavior:t},n,`queue prompt`),[r]),handleFollowUp:(0,d.useCallback)((e,t)=>r({type:`follow_up`,message:e},t,`follow up`),[r])}}var UJ=3e3,WJ=3e4,GJ=15e3,KJ=class extends Error{constructor(e){super(e===`timeout`?`Timed out connecting to the agent event stream. Please try again.`:`Failed to connect to the agent event stream. Please try again.`),this.status=e,this.name=`EventStreamConnectionError`}};function qJ(e){return new Promise(t=>setTimeout(t,e))}function JJ({sid:e,cancelEventStreamGrace:t,closeEvents:n,sessionIdRef:r,eventStreamGraceActiveRef:i,eventStreamGraceGenerationRef:a,eventStreamGraceTimerRef:o,sdkAgentActiveRef:s,rpcPromptPendingRef:c,setAgentRunningSynced:l,setAgentPhase:u,setIsCompacting:d}){t(),i.current=!0;let f=a.current,p=async()=>{if(!(f!==a.current||r.current!==e||!i.current))try{let t=await fetch(`/api/agent/${encodeURIComponent(e)}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let m=await t.json();if(f!==a.current||r.current!==e||!i.current)return;let h=m.state;if(m.running&&h&&(h.isStreaming||h.isPromptRunning)){i.current=!1,o.current=null,s.current=!!h?.isStreaming,c.current=!!h?.isPromptRunning,l(!0),u(h?.isStreaming?{kind:`waiting_model`}:{kind:`running_command`});return}if(m.running&&h?.isCompacting){d(!0),o.current=setTimeout(()=>void p(),600);return}i.current=!1,o.current=null,n()}catch{if(f!==a.current||r.current!==e||!i.current)return;o.current=setTimeout(()=>void p(),600)}};o.current=setTimeout(()=>void p(),WJ)}var YJ=new Map,XJ=new Map,ZJ=3e4,QJ=75e3,$J=1e3,eY=15e3,tY=1,nY=3,rY=null,iY=0,aY=0,oY=$J;function sY(e){return e.ch===`agent`?`agent:${e.sessionId??``}`:e.ch===`watch`?`watch:${e.filePath??``}`:e.ch}function cY(){return`${location.protocol===`https:`?`wss://`:`ws://`}${location.host}/api/ws`}function lY(e,t){e.send(JSON.stringify({type:`sub`,...t}))}function uY(){rY&&rY.close();let e=++aY,t;try{t=new WebSocket(cY())}catch{dY(e);return}rY=t,t.onopen=()=>{oY=$J,iY=Date.now();for(let e of XJ.values())try{lY(t,e)}catch{break}},t.onmessage=n=>{if(e!==aY||rY!==t||(iY=Date.now(),typeof n.data!=`string`))return;let r;try{r=JSON.parse(n.data)}catch{return}if(r.ch)for(let e of YJ.get(r.ch)??[])e(r.data)},t.onclose=()=>{e===aY&&rY===t&&(rY=null,dY(e))},t.onerror=()=>{}}function dY(e){setTimeout(()=>{e!==aY||rY||uY()},oY),oY=Math.min(oY*2,eY)}function fY(){if(!rY||rY.readyState!==tY||Date.now()-iY<=QJ)return;aY+=1;let e=rY;rY=null;try{e.close()}catch{}uY()}typeof window<`u`&&(setInterval(fY,ZJ),window.addEventListener(`online`,()=>{!rY||rY.readyState===nY?uY():fY()}),document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&(!rY||rY.readyState===nY?uY():fY())}));function pY(e){if(e&&rY?.readyState===tY)try{rY.send(JSON.stringify({type:`unseen`,sessionId:e}))}catch{}}function mY(e,t){let n=sY(e),r=YJ.get(n);r||(r=new Set,YJ.set(n,r)),r.add(t);let i=!XJ.has(n);if(XJ.set(n,e),rY?.readyState===tY&&i)try{lY(rY,e)}catch{}else rY||uY();return()=>{let e=YJ.get(n);if(e?.delete(t),e&&e.size===0&&(YJ.delete(n),XJ.delete(n),rY?.readyState===tY))try{rY.send(JSON.stringify({type:`unsub`,ch:n}))}catch{}}}function hY(e){e.eventUnsubRef.current?.(),e.eventUnsubRef.current=null,e.eventSourceSessionIdRef.current=null,e.eventConnectionAttemptRef.current=null}function gY({sid:e,eventUnsubRef:t,eventSourceSessionIdRef:n,eventConnectionAttemptRef:r}){hY({eventUnsubRef:t,eventSourceSessionIdRef:n,eventConnectionAttemptRef:r});let i=`agent:${e}`,a=!1,o=null,s,c={key:i,promise:null,pending:!0},l=e=>{a||(a=!0,o&&clearTimeout(o),r.current===c&&(c.pending=!1),s({status:e}))};o=setTimeout(()=>l(`timeout`),GJ);let u=new Promise(e=>{s=e});return c.promise=u,t.current=mY({ch:`agent`,sessionId:e},e=>{e.type===`connected`?l(`connected`):(e.type===`not_found`||e.type===`start_failed`)&&l(`closed`)}),n.current=e,r.current=c,u}async function _Y({sid:e,eventUnsubRef:t,eventSourceSessionIdRef:n,eventConnectionAttemptRef:r}){let i={eventUnsubRef:t,eventSourceSessionIdRef:n,eventConnectionAttemptRef:r};if(n.current===e&&t.current){let e=r.current;if(e?.pending){let t=await e.promise;if(t.status===`connected`)return;throw hY(i),new KJ(t.status)}return}let a=await gY({sid:e,...i});if(a.status!==`connected`)throw hY(i),new KJ(a.status)}function vY(e){let{sessionIdRef:t,eventUnsubRef:n,eventSourceSessionIdRef:r,eventConnectionAttemptRef:i,eventStreamGraceTimerRef:a,eventStreamGraceGenerationRef:o,eventStreamGraceActiveRef:s,agentRunningRef:c,sdkAgentActiveRef:l,rpcPromptPendingRef:u,notifiedPromptRunIdRef:f,promptRunIdRef:p,lastAgentEventAtRef:m,hasPendingOptimisticUserRef:h,loadSession:g,dispatch:_,setAgentRunning:v,setAgentRunningSynced:y,setAgentPhase:b,setRetryInfo:x,setIsCompacting:S,onAgentEnd:C,onAgentSettled:w}=e,T=(0,d.useCallback)(()=>{o.current+=1,s.current=!1,a.current&&=(clearTimeout(a.current),null)},[s,o,a]),E=(0,d.useCallback)(()=>hY({eventUnsubRef:n,eventSourceSessionIdRef:r,eventConnectionAttemptRef:i}),[i,r,n]),D=(0,d.useCallback)(e=>gY({sid:e,eventUnsubRef:n,eventSourceSessionIdRef:r,eventConnectionAttemptRef:i}),[i,r,n]),O=(0,d.useCallback)(e=>_Y({sid:e,eventUnsubRef:n,eventSourceSessionIdRef:r,eventConnectionAttemptRef:i}),[i,r,n]),k=(0,d.useCallback)(()=>{let e=c.current;return c.current=!1,v(!1),b(null),x(null),_({type:`end`}),e},[c,_,b,v,x]),A=(0,d.useCallback)(e=>f.current!==e&&(f.current=e,C?.(),!0),[f,C]),j=(0,d.useCallback)(e=>{T(),s.current=!0,o.current,JJ({sid:e,cancelEventStreamGrace:T,closeEvents:E,sessionIdRef:t,eventStreamGraceActiveRef:s,eventStreamGraceGenerationRef:o,eventStreamGraceTimerRef:a,sdkAgentActiveRef:l,rpcPromptPendingRef:u,setAgentRunningSynced:y,setAgentPhase:b,setIsCompacting:S})},[T,E,s,o,a,u,l,t,b,S,y]),M=(0,d.useCallback)(async(e=t.current,n=p.current)=>{if(p.current===n)try{e&&await g(e)}catch(e){if(p.current!==n)return;throw e}finally{if(p.current===n){let t=u.current,r=l.current;u.current=!1,l.current=!1,h.current=!1;let i=k();t?(A(n),i&&w?.()):r&&i&&(C?.(),w?.()),e&&j(e)}}},[h,g,A,C,w,p,u,j,t,k,l]);return{cancelEventStreamGrace:T,closeEvents:E,connectEvents:D,ensureEventsConnected:O,settleUiStage:k,notifyPromptStage:A,scheduleEventStreamClose:j,finishPromptWithoutStream:M,waitForPromptSettlement:(0,d.useCallback)(async(e,n)=>{await qJ(800);let r=Date.now(),i=!1;for(;c.current&&t.current===e;){if(n!==void 0&&p.current!==n)return;if(Date.now()-m.current>=600)try{let t=await fetch(`/api/agent/${encodeURIComponent(e)}`);if(t.ok){let r=await t.json(),i=r.state;if(!r.running||!i||!i.isStreaming&&!i.isPromptRunning){await M(e,n);return}}}catch{}!i&&Date.now()-r>=2e4&&(i=!0),await qJ(i?UJ:600)}},[c,M,m,p,t])}}function yY(e){let{sessionIdRef:t,ensuringNewSessionRef:n,ensureNewSession:r,isNew:i,newSessionCwd:a,newSessionModel:o,currentModelOverride:s,session:c,agentRunningRef:l,bashRunningRef:u,rpcPromptPendingRef:f,hasPendingOptimisticUserRef:p,promptRunIdRef:m,executeBashRef:h,setMessages:g,setPendingModel:_,setAgentRunningSynced:v,setAgentPhase:y,dispatch:b,pendingScrollToUserRef:x,completionScrollAllowedRef:S,chatInputRef:C,addNotice:w,ensureEventsConnected:T,waitForPromptSettlement:E,cancelEventStreamGrace:D,closeEvents:O,promoteNewSession:k}=e,A=(0,d.useCallback)(async(e,d)=>{let A=e.trim();if(!A&&!d?.length||l.current||u.current)return;let j=!d?.length&&A.startsWith(`/`);if(!d?.length&&A.startsWith(`!`)){let e=A.startsWith(`!!`),t=(e?A.slice(2):A.slice(1)).trim();if(!t)return;await h.current?.(t,e);return}oJ(`ui-chain`,`1 client send`,JSON.stringify(A.slice(0,80)));let M=m.current+1;D(),f.current=!0;let N=d?.map(e=>({type:`image`,source:{type:`base64`,media_type:e.mimeType,data:e.data}})),ee={role:`user`,content:N?.length?[...e.trim()?[{type:`text`,text:e}]:[],...N]:e,timestamp:Date.now()};g.append(`handleSend:optimistic`,ee),p.current=!0,m.current=M,v(!0),y(j?{kind:`running_command`}:{kind:`waiting_model`}),b({type:`start`}),x.current=!0,S.current=!0;let te=d?.map(e=>({type:`image`,data:e.data,mimeType:e.mimeType})),P=null,ne=!1;try{if(i&&a){let i=o,a=t.current??await n.current,s=a??await r();s&&(P=s,i&&(_(i),a&&await bW(s,{type:`set_model`,provider:i.provider,modelId:i.modelId})),await T(s),ne=!0,k(1,e),await bW(s,{type:`prompt`,message:e,...te?.length?{images:te}:{}}))}else if(c){P=c.id,await T(c.id),ne=!0;let t=s;await bW(c.id,{type:`prompt`,message:e,...te?.length?{images:te}:{},...t?{provider:t.provider,modelId:t.modelId}:{}})}P&&E(P,M)}catch(t){if(console.error(`Failed to send message:`,t),ne&&P){t instanceof KJ||w({type:`error`,message:t instanceof Error?t.message:String(t)}),E(P,M);return}f.current=!1,l.current=!1,O(),t instanceof KJ&&(p.current&&(p.current=!1,g.dropLastIf(`sendError:rollbackOptimistic`,e=>e?.role===`user`)),w({type:`error`,message:t.message}),e&&C?.current?.insertIfEmpty(e)),p.current=!1,v(!1),y(null),b({type:`end`})}},[n,p,m,f,t,i,a,o,c,r,T,k,s,E,w,D,O,C,_,g,v,x,S,l,u,h,b,y]),{executeBash:j}=VJ(e),M=HJ(e);return{handleSend:A,executeBash:j,sendAgentMessage:M.sendAgentMessage,handleSteer:M.handleSteer,handlePromptWithStreamingBehavior:M.handlePromptWithStreamingBehavior,handleFollowUp:M.handleFollowUp}}function bY(e){let{sessionIdRef:t,bashRunningRef:n,setForkingEntryId:r,onSessionForked:i,setActiveLeafId:a,loadContext:o,loadSession:s,isCompacting:c,setIsCompacting:l,setCompactError:u,setCompactResult:d}=e;return{handleFork:async e=>{if(n.current)return;let a=t.current;if(a){r(e);try{let{cancelled:t,newSessionId:n}=await bW(a,{type:`fork`,entryId:e})??{};!t&&n&&i?.(n)}catch(e){console.error(`Fork failed:`,e)}finally{r(null)}}},handleNavigate:async e=>{if(n.current)return;let r=t.current;r&&(bW(r,{type:`navigate_tree`,targetId:e}).catch(e=>console.error(`[pi-web] navigate_tree:`,e)),a(e),await o(r,e))},handleLeafChange:async e=>{if(n.current)return;a(e);let r=t.current;r&&(await o(r,e),e&&bW(r,{type:`navigate_tree`,targetId:e}).catch(e=>console.error(`[pi-web] navigate_tree:`,e)))},handleCompact:async()=>{let e=t.current;if(!(!e||c)){l(!0),u(null),d(null);try{let t=await bW(e,{type:`compact`});d(pJ(t,`manual`)),await s(e,!0)}catch(e){u(e instanceof Error?e.message:String(e)),d(null)}finally{l(!1)}}}}}function xY(e,t){switch(t.type){case`start`:return{isStreaming:!0,streamingMessage:null};case`update`:return{isStreaming:!0,streamingMessage:t.message};case`end`:case`reset`:return{isStreaming:!1,streamingMessage:null};default:return e}}function SY({session:e,isNew:t,newSessionCwd:n,modelsRefreshKey:r,messages:i,compactResult:a,contextUsage:o,sessionIdRef:s,bashRecoveryIdRef:c,sdkAgentActiveRef:l,rpcPromptPendingRef:u,loadSession:f,loadTools:p,connectEvents:m,closeEvents:h,cancelEventStreamGrace:g,waitForPromptSettlement:_,waitForBashSettlement:v,ensureNewSession:y,applyAgentState:b,loadModels:x,setAgentRunningSynced:S,setBashRunningSynced:C,setAgentPhase:w,setIsCompacting:T,setCompactResult:E,setModelError:D,setSessionStatsOverride:O,dispatch:k}){(0,d.useEffect)(()=>(e?(s.current=e.id,f(e.id,!0,!1).then(()=>m(e.id)).then(()=>f(e.id,!1,!0)).then(t=>{t?.running&&(p(e.id),(t.state?.isStreaming||t.state?.isPromptRunning)&&(l.current=!!t.state.isStreaming,u.current=!!t.state.isPromptRunning,S(!0),w(t.state.isStreaming?{kind:`waiting_model`}:{kind:`running_command`}),k({type:`start`}),!t.state.isStreaming&&t.state.isPromptRunning&&_(e.id)),t.state?.isBashRunning&&(C(!0),v(e.id))),t?.state&&(t.state.isCompacting!==void 0&&T(t.state.isCompacting),b(t.state))})):t&&n&&y().then(async e=>{if(e){s.current=e,await m(e);try{let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/state`);if(!t.ok)return;let n=await t.json();s.current===e&&b(n.state)}catch{}}}),()=>{c.current+=1,g(),h()}),[]),(0,d.useEffect)(()=>{let e=new AbortController,t=()=>x(e.signal).catch(e=>{e instanceof DOMException&&e.name===`AbortError`||D(e instanceof Error?e.message:String(e))});return r===0?t():ue.refresh().catch(e=>console.error(`[pi-web] refresh model catalog:`,e)).then(t),()=>e.abort()},[x,r,D]),(0,d.useEffect)(()=>{if(!a)return;let e=setTimeout(()=>E(null),6e3);return()=>clearTimeout(e)},[a,E]),(0,d.useEffect)(()=>{O(null)},[i.length,o?.tokens,o?.percent,o?.contextWindow,O])}var CY=[],wY=[`read`,`bash`,`edit`,`write`],TY=[`bash`,`read`,`edit`,`write`,`grep`,`find`,`ls`],EY=new Set(TY);function DY(e){let t=e.filter(e=>e.active);if(t.length===0)return`none`;let n=t.map(e=>e.name).filter(e=>EY.has(e)).sort().join(`,`);return n===[...wY].sort().join(`,`)?`default`:n===[...TY].sort().join(`,`)?`full`:`default`}function OY(e){return e===`none`?[...CY]:e===`full`?[...TY]:[...wY]}function kY({ensuringNewSessionRef:e,sessionIdRef:t,isNew:n,newSessionCwd:r,toolPreset:i,thinkingLevelOverrideRef:a,newSessionModelOverrideRef:o,setPendingModel:s,setThinkingLevel:c,setNewSessionDefaultModel:l}){return{ensureNewSession:(0,d.useCallback)(async()=>{if(t.current||!n||!r)return t.current;if(e.current)return e.current;let u=(async()=>{let e=o.current,n=a.current;e&&s(e);let u=OY(i),d=await fetch(`/api/agent/new`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:r,type:`ensure_session`,toolNames:u,...e?{provider:e.provider,modelId:e.modelId}:{},...n?{thinkingLevel:n}:{}})});if(!d.ok)throw Error(`HTTP ${d.status}`);let f=await d.json(),p=f.sessionId;return t.current=p,f.model&&o.current===e&&(s(f.model),e||l(f.model)),f.thinkingLevel&&a.current===n&&c(f.thinkingLevel),p})();e.current=u;try{return await u}finally{e.current=null}},[e,t,n,r,i,a,o,s,c,l])}}var AY=/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/g,jY=/^\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/,MY=/\x1B\[([0-9;]*)m/g,NY=/\x1B_pi:c\x07/g,PY=[`#1f2937`,`#dc2626`,`#16a34a`,`#d97706`,`#2563eb`,`#9333ea`,`#0891b2`,`#6b7280`],FY=[`#9ca3af`,`#ef4444`,`#22c55e`,`#f59e0b`,`#3b82f6`,`#a855f7`,`#06b6d4`,`#e5e7eb`];function IY(e){return e.replace(NY,``).replace(AY,``)}function LY(e){let t=[],n=0;for(;n<e.length;){if(e.charCodeAt(n)===27){let t=e.slice(n).match(jY);if(t){n+=t[0].length;continue}}let r=e.codePointAt(n);if(r===void 0)break;let i=String.fromCodePoint(r);t.push({start:n,end:n+i.length,char:i}),n+=i.length}return t}function RY(e,t){let n=LY(e)[t];return n?e.slice(0,n.start)+e.slice(n.end):e}function zY(e){return LY(e)[0]?.char}function BY(e){let t=LY(e);for(let e=t.length-1;e>=0;e--)if(t[e].char.trim()!==``)return e;return-1}function VY(e){let t=e;for(;;){let e=LY(t),n=e[e.length-1];if(n?.char.trim()!==``)return t;t=t.slice(0,n.start)+t.slice(n.end)}}function HY(e){let t=/^[┌├└╭╰][─┬┴┼]+[┐┤┘╮╯]$/,n=[];for(let r of e){let e=r.replace(NY,``),i=IY(e).trimEnd();if(t.test(i))continue;let a=e,o=zY(a);(o===`│`||o===`┃`)&&(a=RY(a,0),zY(a)===` `&&(a=RY(a,0)));let s=BY(a),c=s>=0?LY(a)[s]?.char:void 0;(c===`│`||c===`┃`)&&(a=RY(a,s)),n.push(VY(a))}for(;n.length>0&&IY(n[0]).trim()===``;)n.shift();for(;n.length>0&&IY(n[n.length-1]).trim()===``;)n.pop();return n.length?n:e}function UY(e){if(e>=0&&e<8)return PY[e];if(e>=8&&e<16)return FY[e-8];if(e>=16&&e<=231){let t=e-16,n=Math.floor(t/36),r=Math.floor(t%36/6),i=t%6,a=e=>e===0?0:55+e*40;return`rgb(${a(n)}, ${a(r)}, ${a(i)})`}if(e>=232&&e<=255){let t=8+(e-232)*10;return`rgb(${t}, ${t}, ${t})`}}function WY(e,t){let n={...e};for(let e=0;e<t.length;e++){let r=t[e];if(r===0)for(let e of Object.keys(n))delete n[e];else if(r===1)n.fontWeight=700;else if(r===2)n.opacity=.65;else if(r===3)n.fontStyle=`italic`;else if(r===4)n.textDecoration=`underline`;else if(r===22)delete n.fontWeight,delete n.opacity;else if(r===23)delete n.fontStyle;else if(r===24)delete n.textDecoration;else if(r===39)delete n.color;else if(r===49)delete n.backgroundColor;else if(r>=30&&r<=37)n.color=PY[r-30];else if(r>=90&&r<=97)n.color=FY[r-90];else if(r>=40&&r<=47)n.backgroundColor=PY[r-40];else if(r>=100&&r<=107)n.backgroundColor=FY[r-100];else if((r===38||r===48)&&t[e+1]===2){let[i,a,o]=[t[e+2],t[e+3],t[e+4]];[i,a,o].every(e=>typeof e==`number`&&Number.isFinite(e))&&(r===38?n.color=`rgb(${i}, ${a}, ${o})`:n.backgroundColor=`rgb(${i}, ${a}, ${o})`),e+=4}else if((r===38||r===48)&&t[e+1]===5){let i=UY(t[e+2]);i&&(r===38?n.color=i:n.backgroundColor=i),e+=2}}return n}function GY(e){let t=[],n={},r=0,i;for(MY.lastIndex=0;(i=MY.exec(e))!==null;){i.index>r&&t.push({text:e.slice(r,i.index),style:n});let a=i[1]?i[1].split(`;`).map(e=>Number(e||`0`)):[0];n=WY(n,a),r=i.index+i[0].length}return r<e.length&&t.push({text:e.slice(r),style:n}),t}function KY({addNotice:e,chatInputRef:t,sessionIdRef:n}){let[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)([]),[l,u]=(0,d.useState)([]);return(0,d.useEffect)(()=>{if(!r?.timeout)return;let e=r.id,t=setTimeout(()=>{oJ(`ui-chain`,`4c dialog auto-close by timeout`,`id=${e.slice(0,8)}`),i(t=>t?.id===e?null:t)},r.timeout);return()=>clearTimeout(t)},[r]),{extensionDialog:r,extensionCustomUi:a,extensionStatuses:s,extensionWidgets:l,setExtensionStatuses:c,setExtensionWidgets:u,respondToExtensionUi:(0,d.useCallback)(async(e,t)=>{let r=n.current;if(i(t=>t?.id===e.id?null:t),r)try{await bW(r,{type:`extension_ui_response`,id:e.id,...t})}catch(e){console.error(`Failed to send extension UI response:`,e)}},[n]),sendExtensionCustomInput:(0,d.useCallback)(async(e,t)=>{let r=n.current;if(r)try{await bW(r,{type:`extension_ui_input`,id:e.id,data:t})}catch(e){console.error(`Failed to send extension custom UI input:`,e)}},[n]),handleExtensionUiRequest:(0,d.useCallback)(n=>{switch(n.method){case`select`:case`confirm`:case`input`:case`editor`:i(n);break;case`notify`:{let t=n.notifyType??`info`,r=typeof n.message==`string`?IY(n.message):n.message;t===`warning`?console.warn(`[pi] notify (warning): ${n.message}`):t===`error`?console.error(`[pi] notify (error): ${n.message}`):console.info(`[pi] notify: ${n.message}`);let i=typeof r==`string`&&r.length>100;e({id:n.id,message:r,type:t,modal:t===`warning`||t===`error`||i});break}case`setStatus`:c(e=>{let t=e.filter(e=>e.key!==n.statusKey);return n.statusText===void 0?t:[...t,{key:n.statusKey,text:n.statusText}]});break;case`setWidget`:u(e=>{let t=e.filter(e=>e.key!==n.widgetKey);return n.widgetLines?[...t,{key:n.widgetKey,lines:n.widgetLines,placement:n.widgetPlacement??`aboveEditor`}]:t});break;case`setTitle`:n.title&&(document.title=n.title);break;case`set_editor_text`:t?.current?.insertText(n.text);break;case`custom`:o(e=>n.closed?e?.id===n.id?null:e:n)}},[e,t])}}var qY=new Set([`select`,`confirm`,`input`,`editor`]),JY=new Set,YY=new Set;function XY(){for(let e of YY)e()}function ZY(e){if(JY.has(e))return;let t=new Set(JY);t.add(e),JY=t,XY()}function QY(e){if(!JY.has(e))return;let t=new Set(JY);t.delete(e),JY=t,XY()}function $Y(e){return YY.add(e),()=>YY.delete(e)}function eX(){return JY}function tX(){return(0,d.useSyncExternalStore)($Y,eX,eX)}function nX({sessionIdRef:e,handleAgentEventRef:t,handleExtensionUiRequest:n}){let r=(0,d.useRef)(null),i=(0,d.useRef)(n);i.current=n,(0,d.useEffect)(()=>(r.current?.(),r.current=mY({ch:`global`},n=>{if(n.type===`extension_ui_request`&&(oJ(`ui-chain`,`4a ws recv ${n.method}`,`id=${String(n.id).slice(0,8)} evtSid=${String(n.sessionId).slice(0,8)} activeSid=${e.current?.slice(0,8)??`null`}`),n.sessionId&&n.sessionId!==e.current&&qY.has(n.method??``)&&ZY(n.sessionId)),n.sessionId===e.current){if(n.type===`extension_ui_request`){i.current?.(n);return}t.current?.(n)}}),()=>{r.current?.(),r.current=null}),[e,t])}function rX({isNew:e,sessionIdRef:t,ensuringNewSessionRef:n,setToolPresetOverride:r,addNotice:i,t:a}){let[o,s]=(0,d.useState)({}),[c,l]=(0,d.useState)([]),[u,f]=(0,d.useState)(null),[p,m]=(0,d.useState)([]),[h,g]=(0,d.useState)({}),[_,v]=(0,d.useState)({}),[y,b]=(0,d.useState)(null),[x,S]=(0,d.useState)(null),[C,w]=(0,d.useState)(`default`),[T,E]=(0,d.useState)(`auto`),[D,O]=(0,d.useState)(null),[k,A]=(0,d.useState)(null),j=(0,d.useRef)(null),M=(0,d.useRef)(null),N=(0,d.useRef)(null),ee=r??w,te=(0,d.useCallback)((t,n)=>{if(e){let e={provider:t,modelId:n};j.current=e,b(e),A(e);return}O({provider:t,modelId:n})},[e,b]);return{modelNames:o,modelList:c,modelError:u,modelScopeWarnings:p,modelThinkingLevels:h,modelThinkingLevelMaps:_,newSessionModel:y,newSessionDefaultModel:x,toolPreset:C,thinkingLevel:T,currentModelOverride:D,pendingModel:k,setThinkingLevel:E,setPendingModel:A,setNewSessionDefaultModel:S,setCurrentModelOverride:O,setModelError:f,setToolPresetState:ee,newSessionModelOverrideRef:j,thinkingLevelOverrideRef:M,loadModels:(0,d.useCallback)(async t=>{let n=await ue.load(t);s(n.models),f(n.modelError??null),m(n.modelScopeWarnings??[]),g(n.thinkingLevels??{}),v(n.thinkingLevelMaps??{});let r=n.modelList??[];if(l(r),e){let e,o=!1,s=null;if(n.defaultModel)e=r.find(e=>e.id===n.defaultModel?.modelId&&e.provider===n.defaultModel?.provider),e||(o=!0,s=`${n.defaultModel.provider}/${n.defaultModel.modelId}`);else try{let e=(await pe.load(t)).defaultModel;e&&(s=`${e.provider}/${e.modelId}`,o=!0)}catch{}if(o&&s){N.current!==s&&(N.current=s,i({type:`warning`,message:a(`models.defaultModelUnavailable`,{model:s})})),S(e=>e??null);return}let c=e??r[0]??null;c&&(N.current=null),S(e=>e??(c?{provider:c.provider,modelId:c.id}:null));let l=c&&n.thinkingLevelPins?.[`${c.provider}/${c.id}`];M.current===null&&E(e=>e===`auto`?l??`auto`:e)}},[e,i,a]),handleModelChange:te,handleThinkingLevelChange:(0,d.useCallback)(async r=>{if(E(r),e&&!t.current&&(M.current=r===`auto`?null:r),r===`auto`)return;let i=t.current??await n.current;if(i)try{await bW(i,{type:`set_thinking_level`,level:r})}catch(e){console.error(`Failed to set thinking level:`,e)}},[e,t,n]),handleToolPresetChange:(0,d.useCallback)(async e=>{let r=OY(e);ee(e);let i=t.current??await n.current;if(i)try{await bW(i,{type:`set_tools`,toolNames:r})}catch(e){console.error(`Failed to set tools:`,e)}},[ee,t,n])}}function iX(e,t,n){let r=`${t}/${n}`;if(e.models?.[r])return e.models[r];if(e.providers?.[t])return e.providers[t]}function aX(e,t){return e.providers?.[t]}function oX(e,t,n,r){let i=`${t}/${n}`;if(r===`auto`){if(!e.models?.[i])return e;let t={...e.models};delete t[i];let n={...e};return Object.keys(t).length===0?delete n.models:n.models=t,n}let a=aX(e,t);if(a!==void 0&&r===a){if(e.models?.[i]){let t={...e.models};delete t[i];let n={...e};return Object.keys(t).length===0?delete n.models:n.models=t,n}return e}return e.models?.[i]===r?e:{...e,models:{...e.models??{},[i]:r}}}function sX({displayModel:e,modelThinkingLevels:t,thinkingLevel:n,isNew:r,sessionIdRef:i,thinkingLevelOverrideRef:a,setThinkingLevel:o,handleThinkingLevelChange:s}){let c=(0,d.useSyncExternalStore)(be.subscribe,()=>be.get()??null,()=>null);(0,d.useEffect)(()=>{be.load().catch(e=>console.error(`[pi-web] load model thinking:`,e))},[]);let l=(0,d.useRef)(null),u=(0,d.useRef)(null);return(0,d.useEffect)(()=>{if(!e||!c||Object.keys(t).length===0)return;let s=iX(c,e.provider,e.modelId),d=`${e.provider}/${e.modelId}`,f=u.current!==null&&u.current!==d;if(u.current=d,l.current&&l.current.key!==d&&(l.current=null),!s){f&&!l.current&&n!==`auto`&&(o(`auto`),r&&!i.current&&(a.current=null));return}if(l.current)return;let p=t[d],m=!p||p.includes(s),h;if(m)h=s;else if(s===`auto`||!p||p.length===0)h=`auto`;else{h=Fm(s,p);let t=be.get()??{},n=oX(t,e.provider,e.modelId,h);JSON.stringify(n)!==JSON.stringify(t)&&be.load().catch(e=>console.error(`[pi-web] load model thinking for writeback:`,e)).then(async()=>{try{await fetch(`/api/model-thinking`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}),await be.refresh()}catch{}})}if(h!==n&&(o(h),r&&!i.current&&(a.current=h===`auto`?null:h),h!==`auto`&&i.current)){let e=i.current;bW(e,{type:`set_thinking_level`,level:h}).catch(e=>console.error(`[pi-web] set_thinking_level:`,e))}},[e?.provider,e?.modelId,c,t,n,r]),{handleThinkingLevelChangeWithMemory:(0,d.useCallback)(async t=>{if(e&&(l.current={key:`${e.provider}/${e.modelId}`,level:t}),await s(t),!e)return;try{await be.load()}catch{}let n=be.get()??{},r=oX(n,e.provider,e.modelId,t);if(JSON.stringify(r)!==JSON.stringify(n))try{await fetch(`/api/model-thinking`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(r)}),await be.refresh()}catch{}},[s,e])}}var cX=700,lX=1200,uX=80,dX=new Set([`ArrowUp`,`ArrowDown`,`PageUp`,`PageDown`,`Home`,`End`,` `,`Space`,`Spacebar`]);function fX({messagesLength:e,loading:t,agentRunning:n,isStreaming:r,streamingMessage:i,agentRunningRef:a}){let o=(0,d.useRef)(!1),s=(0,d.useRef)(null),c=(0,d.useRef)(!1),l=(0,d.useRef)(!0),u=(0,d.useRef)(0),f=(0,d.useRef)(0),p=(0,d.useRef)(null),m=(0,d.useRef)(null),h=(0,d.useCallback)((e=`smooth`)=>{f.current=Date.now()+cX,p.current?.scrollIntoView({behavior:e})},[]),g=(0,d.useCallback)(()=>{let e=m.current,t=s.current;if(!e||!t)return;let n=t.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop;f.current=Date.now()+cX,e.scrollTo({top:n-16,behavior:`smooth`})},[]),_=(0,d.useCallback)(e=>{e instanceof KeyboardEvent&&(!dX.has(e.key)||e.target instanceof Element&&e.target.closest(`input, textarea, [contenteditable='true']`))||(u.current=Date.now()+lX)},[]),v=(0,d.useCallback)(()=>{if(Date.now()<f.current)return;let e=m.current;if(e){if(e.scrollHeight-e.scrollTop-e.clientHeight<uX){l.current=!0;return}a.current&&(Date.now()>u.current||(l.current=!1))}},[a]);return(0,d.useEffect)(()=>(window.addEventListener(`keydown`,_),window.addEventListener(`pointerdown`,_,{passive:!0}),()=>{window.removeEventListener(`keydown`,_),window.removeEventListener(`pointerdown`,_)}),[_]),(0,d.useEffect)(()=>{let e=m.current;if(e)return e.addEventListener(`wheel`,_,{passive:!0}),e.addEventListener(`touchstart`,_,{passive:!0}),e.addEventListener(`scroll`,v,{passive:!0}),()=>{e.removeEventListener(`wheel`,_),e.removeEventListener(`touchstart`,_),e.removeEventListener(`scroll`,v)}},[e,t,v,_]),(0,d.useEffect)(()=>{if(e>0){if(c.current)c.current=!1,o.current=!0,g();else if(!o.current)o.current=!0,h(`instant`);else if(l.current){let e=m.current;e&&(e.scrollTop=e.scrollHeight)}}},[e,n,h,g]),(0,d.useLayoutEffect)(()=>{if(!l.current||!r)return;let e=m.current;e&&(e.scrollTop=e.scrollHeight)},[r,i]),{scrollContainerRef:m,messagesEndRef:p,lastUserMsgRef:s,pendingScrollToUserRef:c,initialScrollDoneRef:o,completionScrollAllowedRef:l}}function pX({sessionIdRef:e,bashRunningRef:t,setQueuedMessages:n,chatInputRef:r,addNotice:i}){let{t:a}=M();return{handleAbort:(0,d.useCallback)(async()=>{let n=e.current;if(n){if(t.current){try{await bW(n,{type:`abort_bash`})}catch(e){console.error(`Failed to abort bash:`,e)}return}try{await bW(n,{type:`abort`})}catch(e){console.error(`Failed to abort:`,e)}}},[t,e]),handleAbortCompaction:(0,d.useCallback)(async()=>{let t=e.current;if(t)try{await bW(t,{type:`abort_compaction`})}catch(e){console.error(`Failed to abort compaction:`,e)}},[e]),handleRecallQueue:(0,d.useCallback)(async()=>{let t=e.current;if(t)try{let e=await bW(t,{type:`clear_queue`});n({steering:[],followUp:[]});let i=[...e?.steering??[],...e?.followUp??[]];i.length>0&&r?.current?.prependText(i.join(`
351
+ `))}}catch{}e(n)}return{apply:(e,n)=>t(e,n),append:(e,n)=>t(`${e}:append`,e=>[...e,n]),replaceAll(e,n){t(`${e}:replaceAll`,n)},truncateFrom:(e,n)=>t(`${e}:truncateFrom`,e=>e.slice(0,Math.max(0,n))),dropLastIf:(e,n)=>t(`${e}:dropLastIf`,e=>n(e[e.length-1])?e.slice(0,-1):e)}}function fJ(e){let t=e.content;return JSON.stringify(typeof t==`string`?{text:t,images:[]}:Array.isArray(t)?{text:lJ(e),images:t.map(uJ).filter(Boolean)}:{text:``,images:[]})}function pJ(e,t){if(!e||typeof e!=`object`)return null;let n=e;return typeof n.tokensBefore!=`number`||typeof n.estimatedTokensAfter!=`number`?null:{reason:t,tokensBefore:n.tokensBefore,estimatedTokensAfter:n.estimatedTokensAfter}}function mJ(e,t,n,r){let i=new Set(t),a=new Set(e.filter(e=>e.role===`user`).map(fJ)),o=[...e];for(let e=0;e<n.length;e++){let t=r[e];if(t!==void 0)i.has(t)||o.push(n[e]);else{let t=n[e];(t.role!==`user`||!a.has(fJ(t)))&&o.push(t)}}return o}function hJ(e,t,n){let r=!1,i=e.map(e=>{if(!(`content`in e)||!Array.isArray(e.content))return e;let i=!1,a=e.content.map(e=>{if(e.type===`toolCall`&&e.toolCallId===t){let t=e.input;if(!t||Object.keys(t).length===0)return i=!0,{...e,input:n}}return e});return i?(r=!0,{...e,content:a}):e});return r?i:e}function gJ(e,t){let n=!1,r=e.map(e=>{if(!(`content`in e)||!Array.isArray(e.content))return e;let r=!1,i=e.content.map(e=>{if(e.type===`toolCall`){let n=t.get(e.toolCallId??``);if(n!==void 0)return r=!0,{...e,streamingOutput:n}}return e});return r?(n=!0,{...e,content:i}):e});return n?r:e}function _J(e,t){let{streamingMsgRef:n,pendingDeltasRef:r,streamResyncRef:i,streamFirstFlushRef:a,streamFlushTimerRef:o,pendingStreamRef:s,agentRunningRef:c,sdkAgentActiveRef:l,rpcPromptPendingRef:u,promptRunIdRef:d,hasPendingOptimisticUserRef:f,sessionIdRef:p,bashFlushTimerRef:m,pendingBashDeltasRef:h,toolFlushTimerRef:g,pendingToolUpdatesRef:_,cancelEventStreamGrace:v,scheduleEventStreamClose:y,settleUiStage:b,notifyPromptStage:x,applyAgentState:S,loadSession:C,onAgentEnd:w,onAgentSettled:T,onAgentError:E,addNotice:D,t:O,setMessages:k,dispatch:A,setAgentRunningSynced:j,setAgentPhase:M,setRetryInfo:N,setQueuedMessages:ee,setBashOutput:te,setIsCompacting:P}=e;switch(t.type){case`agent_start`:r.current.clear(),n.current=null,s.current=null,a.current=!0,i.current.reset(),v(),l.current=!0,j(!0),M({kind:`waiting_model`}),N(null),A({type:`start`});break;case`agent_end`:if(!c.current)break;if(M(null),N(null),A({type:`end`}),n.current=null,s.current=null,r.current.clear(),i.current.reset(),o.current&&=(clearTimeout(o.current),null),m.current&&=(clearTimeout(m.current),null),h.current.length){let e=h.current.join(``);h.current=[],e&&te(t=>t+e)}if(g.current&&=(clearTimeout(g.current),null),_.current.size){let e=new Map(_.current);_.current.clear(),k.apply(`tool_execution_update:batched:drain`,t=>gJ(t,e))}p.current&&(C(p.current),fetch(`/api/agent/${encodeURIComponent(p.current)}`).then(e=>e.json()).then(e=>{e.state&&S(e.state),ee(cJ(e.state?.queuedMessages))}).catch(e=>console.error(`[pi-web] load agent state:`,e)));break;case`agent_settled`:{let e=l.current;if(l.current=!1,!e||u.current)break;let t=p.current,i=b();P(!1),t&&(C(t),y(t)),n.current=null,s.current=null,r.current.clear(),o.current&&=(clearTimeout(o.current),null),i&&(w?.(),T?.());break}case`prompt_done`:{let e=d.current,t=u.current;u.current=!1,f.current=!1;let n=x(e);if(!t&&!n)break;let r=p.current;if(r&&C(r),!l.current){let e=b();r&&y(r),e&&(w?.(),T?.())}}break;case`prompt_error`:D({type:`error`,message:t.errorMessage??O(`i18n.commandFailed`)}),E?.(t.errorMessage??O(`i18n.commandFailed`))}}function vJ(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function yJ(e){return!vJ(e)||e.type!==`toolCall`?null:{type:`toolCall`,toolCallId:typeof e.toolCallId==`string`?e.toolCallId:typeof e.id==`string`?e.id:``,toolName:typeof e.toolName==`string`?e.toolName:typeof e.name==`string`?e.name:``,input:typeof e.input==`object`&&e.input!==null&&!Array.isArray(e.input)?e.input:typeof e.arguments==`object`&&e.arguments!==null&&!Array.isArray(e.arguments)?e.arguments:{}}}function bJ(e){if(e.role!==`assistant`)return e;let t=e.content;if(!Array.isArray(t))return e;let n=t.map(e=>yJ(e)??e);return{...e,content:n}}function xJ(e){if(e.role!==`assistant`)return e;let t=e.content;if(!Array.isArray(t))return e;for(let e=0;e<t.length;e++){let n=t[e],r=yJ(n);r!==null&&(t[e]=r)}return e}var SJ=new Map([[`thinking_start`,`thinking`],[`thinking_delta`,`thinking`],[`thinking_end`,`thinking`],[`text_start`,`text`],[`text_delta`,`text`],[`text_end`,`text`]]);function CJ(e){return e.some(e=>{let t=e;return t.type===`thinking`?(t.thinking?.trim()??``)!==``||typeof t.thinkingSignature==`string`&&t.thinkingSignature.length>0||t.redacted===!0:t.type!==`text`||(t.text?.trim()??``)!==``})}function wJ(e){let{streamingMsgRef:t,pendingDeltasRef:n,streamResyncRef:r,streamFirstFlushRef:i,streamFlushTimerRef:a,pendingStreamRef:o,agentRunningRef:s,dispatch:c,flushPendingDeltas:l,coalesceMs:u,coalesceFirstMs:f}=e,p=(e,t,n)=>{if(e[t]?.type===n)return;let r={type:n,[n]:``};t>=e.length?e.push(r):e.splice(t,0,r),i.current=!0},m=(e,t,r,i)=>{if(e[t]?.type!==r)return;let a=n.current,o=a.get(t)??[];o.push(i),a.set(t,o)},h=(e,t,i,a)=>{let o=n.current;if(o.has(t)){let n=o.get(t);o.delete(t);let a=r.current.take(t,n.join(``)),s=e[t];s?.type===i&&a&&(s[i]=(s[i]??``)+a)}let s=e[t];s?.type===i&&(typeof a.content==`string`&&(s[i]=a.content),i===`thinking`&&g(e,t,a))},g=(e,t,n)=>{let r=e[t];if(r?.type!==`thinking`)return;let i=n.thinkingSignature??n.signature;typeof i==`string`&&i.length>0?r.thinkingSignature=i:i&&typeof i==`object`&&(r.thinkingSignature=JSON.stringify(i)),n.redacted===!0&&(r.redacted=!0);let a=n.partial?.content?.[t];a&&typeof a.thinkingSignature==`string`&&!r.thinkingSignature&&(r.thinkingSignature=a.thinkingSignature),a&&a.redacted===!0&&(r.redacted=!0)},_=e=>{let r=e.assistantMessageEvent;if(!r||typeof r.type!=`string`)return;let a=t.current;if(!a)return;let o=r.contentIndex;if(typeof o!=`number`)return;let s=a.content;if(!Array.isArray(s))return;let c=SJ.get(r.type);if(c){r.type.endsWith(`_start`)?p(s,o,c):r.type.endsWith(`_end`)?h(s,o,c,r):typeof r.delta==`string`&&m(s,o,c,r.delta);return}switch(r.type){case`toolcall_start`:{if(s[o]?.type===`toolCall`)break;let e=r.toolCall;if(!e||typeof e.toolName!=`string`)break;let t=yJ({...e,type:`toolCall`});if(!t)break;o>=s.length?s.push(t):s.splice(o,0,t),i.current=!0;break}case`toolcall_delta`:break;case`toolcall_end`:{let e=n.current;e.has(o)&&e.delete(o),r.toolCall&&typeof r.toolCall==`object`&&(s[o]=yJ({...r.toolCall,type:`toolCall`}));break}}},v=()=>{if(a.current)return;let e=i.current?f:u;a.current=setTimeout(()=>{a.current=null,l();let e=t.current??o.current;if(o.current=null,!e||!s.current)return;let n=e.content;if(!Array.isArray(n)||!CJ(n))return;i.current=!1;let r={...e,content:[...n??[]]};(0,d.startTransition)(()=>c({type:`update`,message:r}))},e)};return{applyDelta:_,scheduleDispatch:v,applyStreamUpdate:e=>{if(!s.current)return;let a=e.message;if(a&&a.role!==`user`){n.current.clear();let e=xJ(a);r.current.snapshot(e.content),t.current=e,o.current=e,i.current=!0,v()}else t.current&&(_(e),v())}}}function TJ(e){if(!e||typeof e!=`object`)return;let t=e.content;if(!Array.isArray(t))return;let n=t.filter(e=>typeof e==`object`&&!!e&&e.type===`text`&&typeof e.text==`string`).map(e=>e.text);return n.length>0?n.join(``):void 0}function EJ(e,t){let{streamingMsgRef:n,pendingDeltasRef:r,streamResyncRef:i,streamFirstFlushRef:a,streamFlushTimerRef:o,pendingStreamRef:s,agentRunningRef:c,hasPendingOptimisticUserRef:l,bashFlushTimerRef:u,pendingBashDeltasRef:f,toolFlushTimerRef:p,pendingToolUpdatesRef:m,flushStreamUpdate:h,flushPendingDeltas:g,setMessages:_,dispatch:v,setAgentPhase:y,setBashOutput:b,coalesceMs:x,coalesceFirstMs:S}=e,{applyStreamUpdate:C}=wJ({streamingMsgRef:n,pendingDeltasRef:r,streamResyncRef:i,streamFirstFlushRef:a,streamFlushTimerRef:o,pendingStreamRef:s,agentRunningRef:c,dispatch:v,flushPendingDeltas:g,coalesceMs:x,coalesceFirstMs:S});switch(t.type){case`message_start`:C(t);break;case`message_update`:C(t),t.assistantMessageEvent?.type?.startsWith(`thinking`)?y({kind:`thinking`}):y(null);break;case`message_end`:{if(!c.current)break;h();let e=t.message;if(e&&e.role===`user`){let t=bJ(e),n=fJ(t),r=l.current;l.current=!1,_.apply(`message_end:userEcho`,e=>{let i=e[e.length-1];return i?.role===`user`&&fJ(i)===n?e:r&&i?.role===`user`?[...e.slice(0,-1),t]:[...e,t]})}else e&&_.append(`message_end:assistant`,bJ(e));v({type:`reset`}),n.current=null,s.current=null,r.current.clear(),o.current&&=(clearTimeout(o.current),null),y({kind:`waiting_model`});break}case`tool_execution_start`:{let e=t.toolCallId,n=t.toolName;y(t=>{let r=t?.kind===`running_tools`?[...t.tools]:[];return r.some(t=>t.id===e)||r.push({id:e,name:n}),{kind:`running_tools`,tools:r}});let r=t.args;r&&typeof r==`object`&&!Array.isArray(r)&&_.apply(`tool_execution_start:input`,t=>hJ(t,e,r));break}case`tool_execution_update`:{let e=t.toolCallId,n=TJ(t.partialResult);if(n===void 0)break;m.current.set(e,n),p.current||=setTimeout(()=>{p.current=null;let e=new Map(m.current);m.current.clear(),e.size!==0&&(0,d.startTransition)(()=>{_.apply(`tool_execution_update:batched`,t=>gJ(t,e))})},x);break}case`tool_execution_end`:{let e=t.toolCallId;y(t=>{if(t?.kind!==`running_tools`)return t;let n=t.tools.filter(t=>t.id!==e);return n.length===0?{kind:`waiting_model`}:{kind:`running_tools`,tools:n}});break}case`bash_execution_update`:{let e=t.delta;if(!e)break;f.current.push(e),u.current||=setTimeout(()=>{u.current=null;let e=f.current;if(f.current=[],e.length===0)return;let t=e.join(``);t&&(0,d.startTransition)(()=>b(e=>e+t))},x);break}}}function DJ(e){let{lastAgentEventAtRef:t,sessionIdRef:n,loadSession:r,handleExtensionUiRequest:i,onAgentError:a,addNotice:o,t:s,setRetryInfo:c,setQueuedMessages:l,setIsCompacting:u,setCompactError:d,setCompactResult:f}=e;return function(p){switch(t.current=Date.now(),p.type){case`agent_start`:case`agent_end`:case`agent_settled`:case`prompt_done`:case`prompt_error`:_J(e,p);break;case`extension_error`:o({type:`error`,message:p.error??s(`i18n.extensionCommandFailed`)}),a?.(p.error??s(`i18n.extensionCommandFailed`));break;case`message_start`:case`message_update`:case`message_end`:case`tool_execution_start`:case`tool_execution_update`:case`tool_execution_end`:case`bash_execution_update`:EJ(e,p);break;case`queue_update`:l({steering:[...p.steering??[]],followUp:[...p.followUp??[]]});break;case`auto_retry_start`:c({attempt:p.attempt,maxAttempts:p.maxAttempts,errorMessage:p.errorMessage});break;case`auto_retry_end`:c(null);break;case`auto_compaction_start`:case`compaction_start`:u(!0),d(null),f(null);break;case`auto_compaction_end`:case`compaction_end`:u(!1),p.errorMessage?(d(p.errorMessage),f(null)):p.aborted||(f(pJ(p.result,p.reason??`auto`)),n.current&&r(n.current));break;case`extension_ui_request`:i(p)}}}var OJ=15e3,kJ=1e3;function AJ(e){return new Promise(t=>setTimeout(t,e))}function jJ(e){let{agentRunning:t,bashRecoveryIdRef:n,bashRunningRef:r,sessionIdRef:i,agentRunningRef:a,promptRunIdRef:o,loadSession:s,setBashRunningSynced:c,setPendingBash:l,setIsCompacting:u,setQueuedMessages:f,applyAgentState:p,finishPromptWithoutStream:m}=e,h=(0,d.useCallback)(async e=>{let t=n.current+1;for(n.current=t;r.current&&n.current===t&&i.current===e;){await AJ(kJ);try{let r=await fetch(`/api/agent/${encodeURIComponent(e)}`);if(!r.ok||(await r.json()).state?.isBashRunning)continue;if(await s(e),n.current!==t||i.current!==e)return;c(!1),l(null);return}catch{}}},[n,r,i,s,c,l]),g=(0,d.useCallback)(async e=>{if(!a.current)return;let t=o.current;try{let n=await fetch(`/api/agent/${encodeURIComponent(e)}`);if(!n.ok)return;let r=await n.json();if(o.current!==t)return;let i=r.state;if(u(i?.isCompacting??!1),f({steering:i?.queuedMessages?.steering??[],followUp:i?.queuedMessages?.followUp??[]}),r.running&&i&&(i.isStreaming||i.isPromptRunning||i.isCompacting)||!a.current)return;i&&p(i),await m(e,t)}catch{}},[a,o,u,f,p,m]);return(0,d.useEffect)(()=>{if(!t)return;let e=()=>{let e=i.current;e&&g(e)},n=()=>{document.visibilityState===`visible`&&e()},r=setInterval(e,OJ);return document.addEventListener(`visibilitychange`,n),window.addEventListener(`online`,e),()=>{clearInterval(r),document.removeEventListener(`visibilitychange`,n),window.removeEventListener(`online`,e)}},[t,i,g]),{waitForBashSettlement:h,reconcileAgentState:g}}function MJ(e,t){let{sessionIdRef:n,ensureNewSession:r,addNotice:i,t:a,setCommandBusy:o,isCompacting:s,setIsCompacting:c,setCompactError:l,setCompactResult:u,loadSession:d,promoteNewSession:f,loadTools:p,loadSlashCommands:m,loadModels:h,setSessionStatsOverride:g}=e;if(!t.startsWith(`/`))return Promise.resolve({handled:!1});let _=t.match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);if(!_)return Promise.resolve({handled:!1});let[,v,y=``]=_,b=y.trim(),x=e=>(e.handled&&(e.error?i({type:`error`,message:e.error}):e.action!==`openSessionStats`&&i({type:`success`,message:e.message??a(`i18n.commandCompleted`)})),e);return(async()=>{let e=n.current??await r();try{switch(o(!0),v){case`compact`:{if(!e||s)return x({handled:!0,error:a(`i18n.noActiveSessionToCompact`)});c(!0),l(null),u(null);let t=await bW(e,{type:`compact`,...b?{customInstructions:b}:{}});return u(pJ(t,`manual`)),await d(e,!0)&&f(),x({handled:!0,message:a(`i18n.compactedContext`)})}case`reload`:return e?(await bW(e,{type:`reload`}),await ue.refresh(),await Promise.all([d(e,!1,!0),p(e),m(),h()]),x({handled:!0,message:a(`i18n.reloadedSessionResources`)})):x({handled:!0,error:a(`i18n.noActiveSessionToReload`)});case`name`:return e?b?(await bW(e,{type:`set_session_name`,name:b}),await d(e)&&f(),x({handled:!0,message:a(`i18n.sessionRenamedTo`,{name:b})})):x({handled:!0,error:a(`i18n.usageName`)}):x({handled:!0,error:a(`i18n.noActiveSessionToName`)});case`session`:{if(!e)return x({handled:!0,error:a(`i18n.noActiveSession`)});let t=await bW(e,{type:`get_session_stats`});return t&&g(t),x({handled:!0,action:`openSessionStats`})}case`copy`:{if(!e)return x({handled:!0,error:a(`i18n.noActiveSession`)});let t=(await bW(e,{type:`get_last_assistant_text`}))?.text??``;return t?(await navigator.clipboard.writeText(t),x({handled:!0,message:a(`i18n.copiedLastAssistantMessage`)})):x({handled:!0,error:a(`i18n.noAssistantMessageToCopy`)})}default:return{handled:!1}}}catch(e){return x({handled:!0,error:e instanceof Error?e.message:String(e)})}finally{o(!1),v===`compact`&&c(!1)}})()}var NJ=5,PJ=5e3,FJ=180;function IJ(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`}function LJ(e){let t=e.findIndex(e=>!e.exiting);return t===-1?e:e.map((e,n)=>n===t?{...e,exiting:!0}:e)}function RJ(e,t){let n=e,r=t;for(;r.length>0&&n.length<NJ;){let[e,...t]=r;n=[...n,e],r=t}return r.length>0&&!n.some(e=>e.exiting)&&(n=LJ(n)),{visible:n,pending:r}}function zJ(e,t){switch(t.type){case`add`:return e.visible.some(e=>e.exiting)||e.visible.length>=NJ?{visible:e.visible.some(e=>e.exiting)?e.visible:LJ(e.visible),pending:[...e.pending,t.notice],modals:e.modals}:{...e,visible:[...e.visible,t.notice]};case`mark_oldest_exiting`:return{...e,visible:LJ(e.visible)};case`add_modal`:return{...e,modals:[...e.modals,t.notice]};case`dismiss_modal`:return{...e,modals:e.modals.filter(e=>e.id!==t.id)};case`remove`:return{...RJ(e.visible.filter(e=>e.id!==t.id),e.pending),modals:e.modals};default:return e}}function BJ(){let[e,t]=(0,d.useReducer)(zJ,{visible:[],pending:[],modals:[]}),n=(0,d.useCallback)(e=>{let n=e.message.trim();if(!n)return;let r={id:e.id??IJ(),message:n,type:e.type??`info`};t(e.modal?{type:`add_modal`,notice:r}:{type:`add`,notice:r})},[]),r=(0,d.useCallback)(e=>{t({type:`dismiss_modal`,id:e})},[]);return(0,d.useEffect)(()=>{if(e.visible.length===0)return;let n=e.visible.find(e=>e.exiting);if(n){let e=setTimeout(()=>{t({type:`remove`,id:n.id})},FJ);return()=>clearTimeout(e)}if(!e.visible[0])return;let r=setTimeout(()=>{t({type:`mark_oldest_exiting`})},PJ);return()=>clearTimeout(r)},[e.visible]),{noticeState:e,addNotice:n,dismissModal:r}}function VJ(e){let{sessionIdRef:t,ensureNewSession:n,session:r,agentRunningRef:i,bashRunningRef:a,setBashRunningSynced:o,setPendingBash:s,setBashOutput:c,chatInputRef:l,addNotice:u,ensureEventsConnected:f,promoteNewSession:p,loadSession:m}=e;return{executeBash:(0,d.useCallback)(async(e,d)=>{if(i.current||a.current)return;let h=`${d?`!!`:`!`}${e}`;o(!0),s({command:e,excludeFromContext:d}),c(``);try{let i=t.current??r?.id??await n();if(!i)throw Error(`Unable to create a session for the shell command`);await f(i),p(1,h),await bW(i,{type:`bash`,command:e,excludeFromContext:d}),await m(i)}catch(e){console.error(`Failed to execute shell command:`,e),u({type:`error`,message:e instanceof Error?e.message:String(e)}),l?.current?.insertIfEmpty(h)}finally{o(!1),s(null)}},[t,u,f,n,m,l,p,r,o,i,a,s,c])}}function HJ(e){let{sessionIdRef:t,addNotice:n}=e,r=(0,d.useCallback)(async(e,r,i)=>{let a=t.current;if(!a)return;let o=r?.map(e=>({type:`image`,data:e.data,mimeType:e.mimeType}));try{await bW(a,{...e,...o?.length?{images:o}:{}})}catch(e){console.error(`Failed to ${i}:`,e),n({type:`error`,message:e instanceof Error?e.message:String(e)})}},[n,t]);return{sendAgentMessage:r,handleSteer:(0,d.useCallback)((e,t)=>r({type:`steer`,message:e},t,`steer`),[r]),handlePromptWithStreamingBehavior:(0,d.useCallback)((e,t,n)=>r({type:`prompt`,message:e,streamingBehavior:t},n,`queue prompt`),[r]),handleFollowUp:(0,d.useCallback)((e,t)=>r({type:`follow_up`,message:e},t,`follow up`),[r])}}var UJ=3e3,WJ=3e4,GJ=15e3,KJ=class extends Error{constructor(e){super(e===`timeout`?`Timed out connecting to the agent event stream. Please try again.`:`Failed to connect to the agent event stream. Please try again.`),this.status=e,this.name=`EventStreamConnectionError`}};function qJ(e){return new Promise(t=>setTimeout(t,e))}function JJ({sid:e,cancelEventStreamGrace:t,closeEvents:n,sessionIdRef:r,eventStreamGraceActiveRef:i,eventStreamGraceGenerationRef:a,eventStreamGraceTimerRef:o,sdkAgentActiveRef:s,rpcPromptPendingRef:c,setAgentRunningSynced:l,setAgentPhase:u,setIsCompacting:d}){t(),i.current=!0;let f=a.current,p=async()=>{if(!(f!==a.current||r.current!==e||!i.current))try{let t=await fetch(`/api/agent/${encodeURIComponent(e)}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let m=await t.json();if(f!==a.current||r.current!==e||!i.current)return;let h=m.state;if(m.running&&h&&(h.isStreaming||h.isPromptRunning)){i.current=!1,o.current=null,s.current=!!h?.isStreaming,c.current=!!h?.isPromptRunning,l(!0),u(h?.isStreaming?{kind:`waiting_model`}:{kind:`running_command`});return}if(m.running&&h?.isCompacting){d(!0),o.current=setTimeout(()=>void p(),600);return}i.current=!1,o.current=null,n()}catch{if(f!==a.current||r.current!==e||!i.current)return;o.current=setTimeout(()=>void p(),600)}};o.current=setTimeout(()=>void p(),WJ)}var YJ=new Map,XJ=new Map,ZJ=3e4,QJ=75e3,$J=1e3,eY=15e3,tY=1,nY=3,rY=null,iY=0,aY=0,oY=$J;function sY(e){return e.ch===`agent`?`agent:${e.sessionId??``}`:e.ch===`watch`?`watch:${e.filePath??``}`:e.ch}function cY(){return`${location.protocol===`https:`?`wss://`:`ws://`}${location.host}/api/ws`}function lY(e,t){e.send(JSON.stringify({type:`sub`,...t}))}function uY(){rY&&rY.close();let e=++aY,t;try{t=new WebSocket(cY())}catch{dY(e);return}rY=t,t.onopen=()=>{oY=$J,iY=Date.now();for(let e of XJ.values())try{lY(t,e)}catch{break}},t.onmessage=n=>{if(e!==aY||rY!==t||(iY=Date.now(),typeof n.data!=`string`))return;let r;try{r=JSON.parse(n.data)}catch{return}if(r.ch)for(let e of YJ.get(r.ch)??[])e(r.data)},t.onclose=()=>{e===aY&&rY===t&&(rY=null,dY(e))},t.onerror=()=>{}}function dY(e){setTimeout(()=>{e!==aY||rY||uY()},oY),oY=Math.min(oY*2,eY)}function fY(){if(!rY||rY.readyState!==tY||Date.now()-iY<=QJ)return;aY+=1;let e=rY;rY=null;try{e.close()}catch{}uY()}typeof window<`u`&&(setInterval(fY,ZJ),window.addEventListener(`online`,()=>{!rY||rY.readyState===nY?uY():fY()}),document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&(!rY||rY.readyState===nY?uY():fY())}));function pY(e){if(e&&rY?.readyState===tY)try{rY.send(JSON.stringify({type:`unseen`,sessionId:e}))}catch{}}function mY(e,t){let n=sY(e),r=YJ.get(n);r||(r=new Set,YJ.set(n,r)),r.add(t);let i=!XJ.has(n);if(XJ.set(n,e),rY?.readyState===tY&&i)try{lY(rY,e)}catch{}else rY||uY();return()=>{let e=YJ.get(n);if(e?.delete(t),e&&e.size===0&&(YJ.delete(n),XJ.delete(n),rY?.readyState===tY))try{rY.send(JSON.stringify({type:`unsub`,ch:n}))}catch{}}}function hY(e){e.eventUnsubRef.current?.(),e.eventUnsubRef.current=null,e.eventSourceSessionIdRef.current=null,e.eventConnectionAttemptRef.current=null}function gY({sid:e,eventUnsubRef:t,eventSourceSessionIdRef:n,eventConnectionAttemptRef:r}){hY({eventUnsubRef:t,eventSourceSessionIdRef:n,eventConnectionAttemptRef:r});let i=`agent:${e}`,a=!1,o=null,s,c={key:i,promise:null,pending:!0},l=e=>{a||(a=!0,o&&clearTimeout(o),r.current===c&&(c.pending=!1),s({status:e}))};o=setTimeout(()=>l(`timeout`),GJ);let u=new Promise(e=>{s=e});return c.promise=u,t.current=mY({ch:`agent`,sessionId:e},e=>{e.type===`connected`?l(`connected`):(e.type===`not_found`||e.type===`start_failed`)&&l(`closed`)}),n.current=e,r.current=c,u}async function _Y({sid:e,eventUnsubRef:t,eventSourceSessionIdRef:n,eventConnectionAttemptRef:r}){let i={eventUnsubRef:t,eventSourceSessionIdRef:n,eventConnectionAttemptRef:r};if(n.current===e&&t.current){let e=r.current;if(e?.pending){let t=await e.promise;if(t.status===`connected`)return;throw hY(i),new KJ(t.status)}return}let a=await gY({sid:e,...i});if(a.status!==`connected`)throw hY(i),new KJ(a.status)}function vY(e){let{sessionIdRef:t,eventUnsubRef:n,eventSourceSessionIdRef:r,eventConnectionAttemptRef:i,eventStreamGraceTimerRef:a,eventStreamGraceGenerationRef:o,eventStreamGraceActiveRef:s,agentRunningRef:c,sdkAgentActiveRef:l,rpcPromptPendingRef:u,notifiedPromptRunIdRef:f,promptRunIdRef:p,lastAgentEventAtRef:m,hasPendingOptimisticUserRef:h,loadSession:g,dispatch:_,setAgentRunning:v,setAgentRunningSynced:y,setAgentPhase:b,setRetryInfo:x,setIsCompacting:S,onAgentEnd:C,onAgentSettled:w}=e,T=(0,d.useCallback)(()=>{o.current+=1,s.current=!1,a.current&&=(clearTimeout(a.current),null)},[s,o,a]),E=(0,d.useCallback)(()=>hY({eventUnsubRef:n,eventSourceSessionIdRef:r,eventConnectionAttemptRef:i}),[i,r,n]),D=(0,d.useCallback)(e=>gY({sid:e,eventUnsubRef:n,eventSourceSessionIdRef:r,eventConnectionAttemptRef:i}),[i,r,n]),O=(0,d.useCallback)(e=>_Y({sid:e,eventUnsubRef:n,eventSourceSessionIdRef:r,eventConnectionAttemptRef:i}),[i,r,n]),k=(0,d.useCallback)(()=>{let e=c.current;return c.current=!1,v(!1),b(null),x(null),_({type:`end`}),e},[c,_,b,v,x]),A=(0,d.useCallback)(e=>f.current!==e&&(f.current=e,C?.(),!0),[f,C]),j=(0,d.useCallback)(e=>{T(),s.current=!0,o.current,JJ({sid:e,cancelEventStreamGrace:T,closeEvents:E,sessionIdRef:t,eventStreamGraceActiveRef:s,eventStreamGraceGenerationRef:o,eventStreamGraceTimerRef:a,sdkAgentActiveRef:l,rpcPromptPendingRef:u,setAgentRunningSynced:y,setAgentPhase:b,setIsCompacting:S})},[T,E,s,o,a,u,l,t,b,S,y]),M=(0,d.useCallback)(async(e=t.current,n=p.current)=>{if(p.current===n)try{e&&await g(e)}catch(e){if(p.current!==n)return;throw e}finally{if(p.current===n){let t=u.current,r=l.current;u.current=!1,l.current=!1,h.current=!1;let i=k();t?(A(n),i&&w?.()):r&&i&&(C?.(),w?.()),e&&j(e)}}},[h,g,A,C,w,p,u,j,t,k,l]);return{cancelEventStreamGrace:T,closeEvents:E,connectEvents:D,ensureEventsConnected:O,settleUiStage:k,notifyPromptStage:A,scheduleEventStreamClose:j,finishPromptWithoutStream:M,waitForPromptSettlement:(0,d.useCallback)(async(e,n)=>{await qJ(800);let r=Date.now(),i=!1;for(;c.current&&t.current===e;){if(n!==void 0&&p.current!==n)return;if(Date.now()-m.current>=600)try{let t=await fetch(`/api/agent/${encodeURIComponent(e)}`);if(t.ok){let r=await t.json(),i=r.state;if(!r.running||!i||!i.isStreaming&&!i.isPromptRunning){await M(e,n);return}}}catch{}!i&&Date.now()-r>=2e4&&(i=!0),await qJ(i?UJ:600)}},[c,M,m,p,t])}}function yY(e){let{sessionIdRef:t,ensuringNewSessionRef:n,ensureNewSession:r,isNew:i,newSessionCwd:a,newSessionModel:o,currentModelOverride:s,session:c,agentRunningRef:l,bashRunningRef:u,rpcPromptPendingRef:f,hasPendingOptimisticUserRef:p,promptRunIdRef:m,executeBashRef:h,setMessages:g,setPendingModel:_,setAgentRunningSynced:v,setAgentPhase:y,dispatch:b,pendingScrollToUserRef:x,completionScrollAllowedRef:S,chatInputRef:C,addNotice:w,ensureEventsConnected:T,waitForPromptSettlement:E,cancelEventStreamGrace:D,closeEvents:O,promoteNewSession:k}=e,A=(0,d.useCallback)(async(e,d)=>{let A=e.trim();if(!A&&!d?.length||l.current||u.current)return;let j=!d?.length&&A.startsWith(`/`);if(!d?.length&&A.startsWith(`!`)){let e=A.startsWith(`!!`),t=(e?A.slice(2):A.slice(1)).trim();if(!t)return;await h.current?.(t,e);return}oJ(`ui-chain`,`1 client send`,JSON.stringify(A.slice(0,80)));let M=m.current+1;D(),f.current=!0;let N=d?.map(e=>({type:`image`,source:{type:`base64`,media_type:e.mimeType,data:e.data}})),ee={role:`user`,content:N?.length?[...e.trim()?[{type:`text`,text:e}]:[],...N]:e,timestamp:Date.now()};g.append(`handleSend:optimistic`,ee),p.current=!0,m.current=M,v(!0),y(j?{kind:`running_command`}:{kind:`waiting_model`}),b({type:`start`}),x.current=!0,S.current=!0;let te=d?.map(e=>({type:`image`,data:e.data,mimeType:e.mimeType})),P=null,ne=!1;try{if(i&&a){let i=o,a=t.current??await n.current,s=a??await r();s&&(P=s,i&&(_(i),a&&await bW(s,{type:`set_model`,provider:i.provider,modelId:i.modelId})),await T(s),ne=!0,k(1,e),await bW(s,{type:`prompt`,message:e,...te?.length?{images:te}:{}}))}else if(c){P=c.id,await T(c.id),ne=!0;let t=s;await bW(c.id,{type:`prompt`,message:e,...te?.length?{images:te}:{},...t?{provider:t.provider,modelId:t.modelId}:{}})}P&&E(P,M)}catch(t){if(console.error(`Failed to send message:`,t),ne&&P){t instanceof KJ||w({type:`error`,message:t instanceof Error?t.message:String(t)}),E(P,M);return}f.current=!1,l.current=!1,O(),t instanceof KJ&&(p.current&&(p.current=!1,g.dropLastIf(`sendError:rollbackOptimistic`,e=>e?.role===`user`)),w({type:`error`,message:t.message}),e&&C?.current?.insertIfEmpty(e)),p.current=!1,v(!1),y(null),b({type:`end`})}},[n,p,m,f,t,i,a,o,c,r,T,k,s,E,w,D,O,C,_,g,v,x,S,l,u,h,b,y]),{executeBash:j}=VJ(e),M=HJ(e);return{handleSend:A,executeBash:j,sendAgentMessage:M.sendAgentMessage,handleSteer:M.handleSteer,handlePromptWithStreamingBehavior:M.handlePromptWithStreamingBehavior,handleFollowUp:M.handleFollowUp}}function bY(e){let{sessionIdRef:t,bashRunningRef:n,setForkingEntryId:r,onSessionForked:i,setActiveLeafId:a,loadContext:o,loadSession:s,isCompacting:c,setIsCompacting:l,setCompactError:u,setCompactResult:d}=e;return{handleFork:async e=>{if(n.current)return;let a=t.current;if(a){r(e);try{let{cancelled:t,newSessionId:n}=await bW(a,{type:`fork`,entryId:e})??{};!t&&n&&i?.(n)}catch(e){console.error(`Fork failed:`,e)}finally{r(null)}}},handleNavigate:async e=>{if(n.current)return;let r=t.current;r&&(bW(r,{type:`navigate_tree`,targetId:e}).catch(e=>console.error(`[pi-web] navigate_tree:`,e)),a(e),await o(r,e))},handleLeafChange:async e=>{if(n.current)return;a(e);let r=t.current;r&&(await o(r,e),e&&bW(r,{type:`navigate_tree`,targetId:e}).catch(e=>console.error(`[pi-web] navigate_tree:`,e)))},handleCompact:async()=>{let e=t.current;if(!(!e||c)){l(!0),u(null),d(null);try{let t=await bW(e,{type:`compact`});d(pJ(t,`manual`)),await s(e,!0)}catch(e){u(e instanceof Error?e.message:String(e)),d(null)}finally{l(!1)}}}}}function xY(){let[e,t]=(0,d.useState)(!1),[n,r]=(0,d.useState)(!1),i=(0,d.useRef)(!1),a=(0,d.useRef)(!1),[o,s]=(0,d.useState)(null),[c,l]=(0,d.useState)(null),u=(0,d.useCallback)(e=>{i.current=e,t(e)},[]),f=(0,d.useCallback)(e=>{a.current=e,r(e)},[]);return(0,d.useEffect)(()=>{i.current=e},[e]),(0,d.useEffect)(()=>{a.current=n},[n]),{agentRunning:e,bashRunning:n,agentPhase:c,retryInfo:o,agentRunningRef:i,bashRunningRef:a,setAgentRunning:t,setAgentRunningSynced:u,setBashRunningSynced:f,setAgentPhase:l,setRetryInfo:s}}function SY({session:e,isNew:t,newSessionCwd:n,modelsRefreshKey:r,messages:i,compactResult:a,contextUsage:o,sessionIdRef:s,bashRecoveryIdRef:c,sdkAgentActiveRef:l,rpcPromptPendingRef:u,loadSession:f,loadTools:p,connectEvents:m,closeEvents:h,cancelEventStreamGrace:g,waitForPromptSettlement:_,waitForBashSettlement:v,ensureNewSession:y,applyAgentState:b,loadModels:x,setAgentRunningSynced:S,setBashRunningSynced:C,setAgentPhase:w,setIsCompacting:T,setCompactResult:E,setModelError:D,setSessionStatsOverride:O,dispatch:k}){(0,d.useEffect)(()=>(e?(s.current=e.id,f(e.id,!0,!1).then(()=>m(e.id)).then(()=>f(e.id,!1,!0)).then(t=>{t?.running&&(p(e.id),(t.state?.isStreaming||t.state?.isPromptRunning)&&(l.current=!!t.state.isStreaming,u.current=!!t.state.isPromptRunning,S(!0),w(t.state.isStreaming?{kind:`waiting_model`}:{kind:`running_command`}),k({type:`start`}),!t.state.isStreaming&&t.state.isPromptRunning&&_(e.id)),t.state?.isBashRunning&&(C(!0),v(e.id))),t?.state&&(t.state.isCompacting!==void 0&&T(t.state.isCompacting),b(t.state))})):t&&n&&y().then(async e=>{if(e){s.current=e,await m(e);try{let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/state`);if(!t.ok)return;let n=await t.json();s.current===e&&b(n.state)}catch{}}}),()=>{c.current+=1,g(),h()}),[]),(0,d.useEffect)(()=>{let e=new AbortController,t=()=>x(e.signal).catch(e=>{e instanceof DOMException&&e.name===`AbortError`||D(e instanceof Error?e.message:String(e))});return r===0?t():ue.refresh().catch(e=>console.error(`[pi-web] refresh model catalog:`,e)).then(t),()=>e.abort()},[x,r,D]),(0,d.useEffect)(()=>{if(!a)return;let e=setTimeout(()=>E(null),6e3);return()=>clearTimeout(e)},[a,E]),(0,d.useEffect)(()=>{O(null)},[i.length,o?.tokens,o?.percent,o?.contextWindow,O])}function CY(){let[e,t]=(0,d.useState)(!1),[n,r]=(0,d.useState)(null),[i,a]=(0,d.useState)(null);return{isCompacting:e,compactError:n,compactResult:i,setIsCompacting:t,setCompactError:r,setCompactResult:a}}var wY=[],TY=[`read`,`bash`,`edit`,`write`],EY=[`bash`,`read`,`edit`,`write`,`grep`,`find`,`ls`],DY=new Set(EY);function OY(e){let t=e.filter(e=>e.active);if(t.length===0)return`none`;let n=t.map(e=>e.name).filter(e=>DY.has(e)).sort().join(`,`);return n===[...TY].sort().join(`,`)?`default`:n===[...EY].sort().join(`,`)?`full`:`default`}function kY(e){return e===`none`?[...wY]:e===`full`?[...EY]:[...TY]}function AY({ensuringNewSessionRef:e,sessionIdRef:t,isNew:n,newSessionCwd:r,toolPreset:i,thinkingLevelOverrideRef:a,newSessionModelOverrideRef:o,setPendingModel:s,setThinkingLevel:c,setNewSessionDefaultModel:l}){return{ensureNewSession:(0,d.useCallback)(async()=>{if(t.current||!n||!r)return t.current;if(e.current)return e.current;let u=(async()=>{let e=o.current,n=a.current;e&&s(e);let u=kY(i),d=await fetch(`/api/agent/new`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:r,type:`ensure_session`,toolNames:u,...e?{provider:e.provider,modelId:e.modelId}:{},...n?{thinkingLevel:n}:{}})});if(!d.ok)throw Error(`HTTP ${d.status}`);let f=await d.json(),p=f.sessionId;return t.current=p,f.model&&o.current===e&&(s(f.model),e||l(f.model)),f.thinkingLevel&&a.current===n&&c(f.thinkingLevel),p})();e.current=u;try{return await u}finally{e.current=null}},[e,t,n,r,i,a,o,s,c,l])}}var jY=/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/g,MY=/^\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/,NY=/\x1B\[([0-9;]*)m/g,PY=/\x1B_pi:c\x07/g,FY=[`#1f2937`,`#dc2626`,`#16a34a`,`#d97706`,`#2563eb`,`#9333ea`,`#0891b2`,`#6b7280`],IY=[`#9ca3af`,`#ef4444`,`#22c55e`,`#f59e0b`,`#3b82f6`,`#a855f7`,`#06b6d4`,`#e5e7eb`];function LY(e){return e.replace(PY,``).replace(jY,``)}function RY(e){let t=[],n=0;for(;n<e.length;){if(e.charCodeAt(n)===27){let t=e.slice(n).match(MY);if(t){n+=t[0].length;continue}}let r=e.codePointAt(n);if(r===void 0)break;let i=String.fromCodePoint(r);t.push({start:n,end:n+i.length,char:i}),n+=i.length}return t}function zY(e,t){let n=RY(e)[t];return n?e.slice(0,n.start)+e.slice(n.end):e}function BY(e){return RY(e)[0]?.char}function VY(e){let t=RY(e);for(let e=t.length-1;e>=0;e--)if(t[e].char.trim()!==``)return e;return-1}function HY(e){let t=e;for(;;){let e=RY(t),n=e[e.length-1];if(n?.char.trim()!==``)return t;t=t.slice(0,n.start)+t.slice(n.end)}}function UY(e){let t=/^[┌├└╭╰][─┬┴┼]+[┐┤┘╮╯]$/,n=[];for(let r of e){let e=r.replace(PY,``),i=LY(e).trimEnd();if(t.test(i))continue;let a=e,o=BY(a);(o===`│`||o===`┃`)&&(a=zY(a,0),BY(a)===` `&&(a=zY(a,0)));let s=VY(a),c=s>=0?RY(a)[s]?.char:void 0;(c===`│`||c===`┃`)&&(a=zY(a,s)),n.push(HY(a))}for(;n.length>0&&LY(n[0]).trim()===``;)n.shift();for(;n.length>0&&LY(n[n.length-1]).trim()===``;)n.pop();return n.length?n:e}function WY(e){if(e>=0&&e<8)return FY[e];if(e>=8&&e<16)return IY[e-8];if(e>=16&&e<=231){let t=e-16,n=Math.floor(t/36),r=Math.floor(t%36/6),i=t%6,a=e=>e===0?0:55+e*40;return`rgb(${a(n)}, ${a(r)}, ${a(i)})`}if(e>=232&&e<=255){let t=8+(e-232)*10;return`rgb(${t}, ${t}, ${t})`}}function GY(e,t){let n={...e};for(let e=0;e<t.length;e++){let r=t[e];if(r===0)for(let e of Object.keys(n))delete n[e];else if(r===1)n.fontWeight=700;else if(r===2)n.opacity=.65;else if(r===3)n.fontStyle=`italic`;else if(r===4)n.textDecoration=`underline`;else if(r===22)delete n.fontWeight,delete n.opacity;else if(r===23)delete n.fontStyle;else if(r===24)delete n.textDecoration;else if(r===39)delete n.color;else if(r===49)delete n.backgroundColor;else if(r>=30&&r<=37)n.color=FY[r-30];else if(r>=90&&r<=97)n.color=IY[r-90];else if(r>=40&&r<=47)n.backgroundColor=FY[r-40];else if(r>=100&&r<=107)n.backgroundColor=IY[r-100];else if((r===38||r===48)&&t[e+1]===2){let[i,a,o]=[t[e+2],t[e+3],t[e+4]];[i,a,o].every(e=>typeof e==`number`&&Number.isFinite(e))&&(r===38?n.color=`rgb(${i}, ${a}, ${o})`:n.backgroundColor=`rgb(${i}, ${a}, ${o})`),e+=4}else if((r===38||r===48)&&t[e+1]===5){let i=WY(t[e+2]);i&&(r===38?n.color=i:n.backgroundColor=i),e+=2}}return n}function KY(e){let t=[],n={},r=0,i;for(NY.lastIndex=0;(i=NY.exec(e))!==null;){i.index>r&&t.push({text:e.slice(r,i.index),style:n});let a=i[1]?i[1].split(`;`).map(e=>Number(e||`0`)):[0];n=GY(n,a),r=i.index+i[0].length}return r<e.length&&t.push({text:e.slice(r),style:n}),t}function qY({addNotice:e,chatInputRef:t,sessionIdRef:n}){let[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)([]),[l,u]=(0,d.useState)([]);return(0,d.useEffect)(()=>{if(!r?.timeout)return;let e=r.id,t=setTimeout(()=>{oJ(`ui-chain`,`4c dialog auto-close by timeout`,`id=${e.slice(0,8)}`),i(t=>t?.id===e?null:t)},r.timeout);return()=>clearTimeout(t)},[r]),{extensionDialog:r,extensionCustomUi:a,extensionStatuses:s,extensionWidgets:l,setExtensionStatuses:c,setExtensionWidgets:u,respondToExtensionUi:(0,d.useCallback)(async(e,t)=>{let r=n.current;if(i(t=>t?.id===e.id?null:t),r)try{await bW(r,{type:`extension_ui_response`,id:e.id,...t})}catch(e){console.error(`Failed to send extension UI response:`,e)}},[n]),sendExtensionCustomInput:(0,d.useCallback)(async(e,t)=>{let r=n.current;if(r)try{await bW(r,{type:`extension_ui_input`,id:e.id,data:t})}catch(e){console.error(`Failed to send extension custom UI input:`,e)}},[n]),handleExtensionUiRequest:(0,d.useCallback)(n=>{switch(n.method){case`select`:case`confirm`:case`input`:case`editor`:i(n);break;case`notify`:{let t=n.notifyType??`info`,r=typeof n.message==`string`?LY(n.message):n.message;t===`warning`?console.warn(`[pi] notify (warning): ${n.message}`):t===`error`?console.error(`[pi] notify (error): ${n.message}`):console.info(`[pi] notify: ${n.message}`);let i=typeof r==`string`&&r.length>100;e({id:n.id,message:r,type:t,modal:t===`warning`||t===`error`||i});break}case`setStatus`:c(e=>{let t=e.filter(e=>e.key!==n.statusKey);return n.statusText===void 0?t:[...t,{key:n.statusKey,text:n.statusText}]});break;case`setWidget`:u(e=>{let t=e.filter(e=>e.key!==n.widgetKey);return n.widgetLines?[...t,{key:n.widgetKey,lines:n.widgetLines,placement:n.widgetPlacement??`aboveEditor`}]:t});break;case`setTitle`:n.title&&(document.title=n.title);break;case`set_editor_text`:t?.current?.insertText(n.text);break;case`custom`:o(e=>n.closed?e?.id===n.id?null:e:n)}},[e,t])}}var JY=new Set([`select`,`confirm`,`input`,`editor`]),YY=new Set,XY=new Set;function ZY(){for(let e of XY)e()}function QY(e){if(YY.has(e))return;let t=new Set(YY);t.add(e),YY=t,ZY()}function $Y(e){if(!YY.has(e))return;let t=new Set(YY);t.delete(e),YY=t,ZY()}function eX(e){return XY.add(e),()=>XY.delete(e)}function tX(){return YY}function nX(){return(0,d.useSyncExternalStore)(eX,tX,tX)}function rX({sessionIdRef:e,handleAgentEventRef:t,handleExtensionUiRequest:n}){let r=(0,d.useRef)(null),i=(0,d.useRef)(n);i.current=n,(0,d.useEffect)(()=>(r.current?.(),r.current=mY({ch:`global`},n=>{if(n.type===`extension_ui_request`&&(oJ(`ui-chain`,`4a ws recv ${n.method}`,`id=${String(n.id).slice(0,8)} evtSid=${String(n.sessionId).slice(0,8)} activeSid=${e.current?.slice(0,8)??`null`}`),n.sessionId&&n.sessionId!==e.current&&JY.has(n.method??``)&&QY(n.sessionId)),n.sessionId===e.current){if(n.type===`extension_ui_request`){i.current?.(n);return}t.current?.(n)}}),()=>{r.current?.(),r.current=null}),[e,t])}function iX({isNew:e,sessionIdRef:t,ensuringNewSessionRef:n,setToolPresetOverride:r,addNotice:i,t:a}){let[o,s]=(0,d.useState)({}),[c,l]=(0,d.useState)([]),[u,f]=(0,d.useState)(null),[p,m]=(0,d.useState)([]),[h,g]=(0,d.useState)({}),[_,v]=(0,d.useState)({}),[y,b]=(0,d.useState)(null),[x,S]=(0,d.useState)(null),[C,w]=(0,d.useState)(`default`),[T,E]=(0,d.useState)(`auto`),[D,O]=(0,d.useState)(null),[k,A]=(0,d.useState)(null),j=(0,d.useRef)(null),M=(0,d.useRef)(null),N=(0,d.useRef)(null),ee=r??w,te=(0,d.useCallback)((t,n)=>{if(e){let e={provider:t,modelId:n};j.current=e,b(e),A(e);return}O({provider:t,modelId:n})},[e,b]);return{modelNames:o,modelList:c,modelError:u,modelScopeWarnings:p,modelThinkingLevels:h,modelThinkingLevelMaps:_,newSessionModel:y,newSessionDefaultModel:x,toolPreset:C,thinkingLevel:T,currentModelOverride:D,pendingModel:k,setThinkingLevel:E,setPendingModel:A,setNewSessionDefaultModel:S,setCurrentModelOverride:O,setModelError:f,setToolPresetState:ee,newSessionModelOverrideRef:j,thinkingLevelOverrideRef:M,loadModels:(0,d.useCallback)(async t=>{let n=await ue.load(t);s(n.models),f(n.modelError??null),m(n.modelScopeWarnings??[]),g(n.thinkingLevels??{}),v(n.thinkingLevelMaps??{});let r=n.modelList??[];if(l(r),e){let e,o=!1,s=null;if(n.defaultModel)e=r.find(e=>e.id===n.defaultModel?.modelId&&e.provider===n.defaultModel?.provider),e||(o=!0,s=`${n.defaultModel.provider}/${n.defaultModel.modelId}`);else try{let e=(await pe.load(t)).defaultModel;e&&(s=`${e.provider}/${e.modelId}`,o=!0)}catch{}if(o&&s){N.current!==s&&(N.current=s,i({type:`warning`,message:a(`models.defaultModelUnavailable`,{model:s})})),S(e=>e??null);return}let c=e??r[0]??null;c&&(N.current=null),S(e=>e??(c?{provider:c.provider,modelId:c.id}:null));let l=c&&n.thinkingLevelPins?.[`${c.provider}/${c.id}`];M.current===null&&E(e=>e===`auto`?l??`auto`:e)}},[e,i,a]),handleModelChange:te,handleThinkingLevelChange:(0,d.useCallback)(async r=>{if(E(r),e&&!t.current&&(M.current=r===`auto`?null:r),r===`auto`)return;let i=t.current??await n.current;if(i)try{await bW(i,{type:`set_thinking_level`,level:r})}catch(e){console.error(`Failed to set thinking level:`,e)}},[e,t,n]),handleToolPresetChange:(0,d.useCallback)(async e=>{let r=kY(e);ee(e);let i=t.current??await n.current;if(i)try{await bW(i,{type:`set_tools`,toolNames:r})}catch(e){console.error(`Failed to set tools:`,e)}},[ee,t,n])}}function aX(e,t,n){let r=`${t}/${n}`;if(e.models?.[r])return e.models[r];if(e.providers?.[t])return e.providers[t]}function oX(e,t){return e.providers?.[t]}function sX(e,t,n,r){let i=`${t}/${n}`;if(r===`auto`){if(!e.models?.[i])return e;let t={...e.models};delete t[i];let n={...e};return Object.keys(t).length===0?delete n.models:n.models=t,n}let a=oX(e,t);if(a!==void 0&&r===a){if(e.models?.[i]){let t={...e.models};delete t[i];let n={...e};return Object.keys(t).length===0?delete n.models:n.models=t,n}return e}return e.models?.[i]===r?e:{...e,models:{...e.models??{},[i]:r}}}function cX({displayModel:e,modelThinkingLevels:t,thinkingLevel:n,isNew:r,sessionIdRef:i,thinkingLevelOverrideRef:a,setThinkingLevel:o,handleThinkingLevelChange:s}){let c=(0,d.useSyncExternalStore)(be.subscribe,()=>be.get()??null,()=>null);(0,d.useEffect)(()=>{be.load().catch(e=>console.error(`[pi-web] load model thinking:`,e))},[]);let l=(0,d.useRef)(null),u=(0,d.useRef)(null);return(0,d.useEffect)(()=>{if(!e||!c||Object.keys(t).length===0)return;let s=aX(c,e.provider,e.modelId),d=`${e.provider}/${e.modelId}`,f=u.current!==null&&u.current!==d;if(u.current=d,l.current&&l.current.key!==d&&(l.current=null),!s){f&&!l.current&&n!==`auto`&&(o(`auto`),r&&!i.current&&(a.current=null));return}if(l.current)return;let p=t[d],m=!p||p.includes(s),h;if(m)h=s;else if(s===`auto`||!p||p.length===0)h=`auto`;else{h=Fm(s,p);let t=be.get()??{},n=sX(t,e.provider,e.modelId,h);JSON.stringify(n)!==JSON.stringify(t)&&be.load().catch(e=>console.error(`[pi-web] load model thinking for writeback:`,e)).then(async()=>{try{await fetch(`/api/model-thinking`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}),await be.refresh()}catch{}})}if(h!==n&&(o(h),r&&!i.current&&(a.current=h===`auto`?null:h),h!==`auto`&&i.current)){let e=i.current;bW(e,{type:`set_thinking_level`,level:h}).catch(e=>console.error(`[pi-web] set_thinking_level:`,e))}},[e?.provider,e?.modelId,c,t,n,r]),{handleThinkingLevelChangeWithMemory:(0,d.useCallback)(async t=>{if(e&&(l.current={key:`${e.provider}/${e.modelId}`,level:t}),await s(t),!e)return;try{await be.load()}catch{}let n=be.get()??{},r=sX(n,e.provider,e.modelId,t);if(JSON.stringify(r)!==JSON.stringify(n))try{await fetch(`/api/model-thinking`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(r)}),await be.refresh()}catch{}},[s,e])}}var lX=700,uX=1200,dX=80,fX=new Set([`ArrowUp`,`ArrowDown`,`PageUp`,`PageDown`,`Home`,`End`,` `,`Space`,`Spacebar`]);function pX({messagesLength:e,loading:t,agentRunning:n,isStreaming:r,streamingMessage:i,agentRunningRef:a}){let o=(0,d.useRef)(!1),s=(0,d.useRef)(null),c=(0,d.useRef)(!1),l=(0,d.useRef)(!0),u=(0,d.useRef)(0),f=(0,d.useRef)(0),p=(0,d.useRef)(null),m=(0,d.useRef)(null),h=(0,d.useCallback)((e=`smooth`)=>{f.current=Date.now()+lX,p.current?.scrollIntoView({behavior:e})},[]),g=(0,d.useCallback)(()=>{let e=m.current,t=s.current;if(!e||!t)return;let n=t.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop;f.current=Date.now()+lX,e.scrollTo({top:n-16,behavior:`smooth`})},[]),_=(0,d.useCallback)(e=>{e instanceof KeyboardEvent&&(!fX.has(e.key)||e.target instanceof Element&&e.target.closest(`input, textarea, [contenteditable='true']`))||(u.current=Date.now()+uX)},[]),v=(0,d.useCallback)(()=>{if(Date.now()<f.current)return;let e=m.current;if(e){if(e.scrollHeight-e.scrollTop-e.clientHeight<dX){l.current=!0;return}a.current&&(Date.now()>u.current||(l.current=!1))}},[a]);return(0,d.useEffect)(()=>(window.addEventListener(`keydown`,_),window.addEventListener(`pointerdown`,_,{passive:!0}),()=>{window.removeEventListener(`keydown`,_),window.removeEventListener(`pointerdown`,_)}),[_]),(0,d.useEffect)(()=>{let e=m.current;if(e)return e.addEventListener(`wheel`,_,{passive:!0}),e.addEventListener(`touchstart`,_,{passive:!0}),e.addEventListener(`scroll`,v,{passive:!0}),()=>{e.removeEventListener(`wheel`,_),e.removeEventListener(`touchstart`,_),e.removeEventListener(`scroll`,v)}},[e,t,v,_]),(0,d.useEffect)(()=>{if(e>0){if(c.current)c.current=!1,o.current=!0,g();else if(!o.current)o.current=!0,h(`instant`);else if(l.current){let e=m.current;e&&(e.scrollTop=e.scrollHeight)}}},[e,n,h,g]),(0,d.useLayoutEffect)(()=>{if(!l.current||!r)return;let e=m.current;e&&(e.scrollTop=e.scrollHeight)},[r,i]),{scrollContainerRef:m,messagesEndRef:p,lastUserMsgRef:s,pendingScrollToUserRef:c,initialScrollDoneRef:o,completionScrollAllowedRef:l}}function mX({sessionIdRef:e,bashRunningRef:t,setQueuedMessages:n,chatInputRef:r,addNotice:i}){let{t:a}=M();return{handleAbort:(0,d.useCallback)(async()=>{let n=e.current;if(n){if(t.current){try{await bW(n,{type:`abort_bash`})}catch(e){console.error(`Failed to abort bash:`,e)}return}try{await bW(n,{type:`abort`})}catch(e){console.error(`Failed to abort:`,e)}}},[t,e]),handleAbortCompaction:(0,d.useCallback)(async()=>{let t=e.current;if(t)try{await bW(t,{type:`abort_compaction`})}catch(e){console.error(`Failed to abort compaction:`,e)}},[e]),handleRecallQueue:(0,d.useCallback)(async()=>{let t=e.current;if(t)try{let e=await bW(t,{type:`clear_queue`});n({steering:[],followUp:[]});let i=[...e?.steering??[],...e?.followUp??[]];i.length>0&&r?.current?.prependText(i.join(`
352
352
 
353
- `))}catch(e){console.error(`Failed to recall queued messages:`,e),i({type:`error`,message:a(`i18n.failedToRecallQueuedMessages`)})}},[r,i,e,n,a])}}function mX({sessionIdRef:e,hasPendingOptimisticUserRef:t,newSessionPromotedRef:n,entryIds:r,isNew:i,newSessionCwd:a,onSessionCreated:o,setActiveLeafId:s,setCurrentModelOverride:c,setData:l,setEntryIds:u,setError:f,setLoading:p,setMessages:m,setQueuedMessages:h,setThinkingLevel:g,setToolPresetState:_,applyAgentState:v}){return{loadSession:(0,d.useCallback)(async(n,i=!1,a=!1)=>{let o=!1;try{i&&p(!0);let d=new URLSearchParams({deferMedia:`1`}),_=await fetch(`/api/sessions/${encodeURIComponent(n)}?${d}`);if(_.status===404)return i&&(l(null),s(null),m.apply(`loadSession:notFound`,[]),f(null)),null;if(!_.ok)throw Error(`HTTP ${_.status}`);let y=await _.json();if(e.current!==n)return null;if(l(y),s(y.leafId),t.current){let e=y.context.entryIds??[];m.apply(`loadSession:keepOptimistic`,t=>mJ(y.context.messages,e,t,r)),u(e)}else m.replaceAll(`loadSession`,y.context.messages),u(y.context.entryIds??[]);if(c(null),f(null),y.context.thinkingLevel&&y.context.thinkingLevel!==`off`&&g(y.context.thinkingLevel),o=!0,i&&p(!1),!a)return null;try{let t=await fetch(`/api/sessions/${encodeURIComponent(n)}/state`);if(!t.ok)throw Error(`HTTP ${t.status}`);let r=await t.json();if(e.current!==n)return null;let i=r.state;return i?v(i):r.running||h({steering:[],followUp:[]}),r}catch(e){return console.error(`Failed to load agent state:`,e),null}}catch(e){return f(String(e)),null}finally{i&&!o&&p(!1)}},[v,g,c,m,r,t,e,s,l,u,f,p,h]),loadContext:(0,d.useCallback)(async(e,t,n=!1)=>{try{let i=new URLSearchParams({deferMedia:`1`});t&&i.set(`leafId`,t);let a=`/api/sessions/${encodeURIComponent(e)}/context?${i}`,o=await fetch(a);if(!o.ok)throw Error(`HTTP ${o.status}`);let s=await o.json(),c=s.context.entryIds??[];m.apply(`loadContext merge=${n}`,e=>n?mJ(s.context.messages,c,e,r):s.context.messages),u(c)}catch(e){console.error(`Failed to load context:`,e)}},[r,m,u]),loadTools:(0,d.useCallback)(async e=>{try{let t=await bW(e,{type:`get_tools`});t&&_(DY(t))}catch(e){console.error(`Failed to load tools:`,e)}},[_]),promoteNewSession:(0,d.useCallback)((t=0,r=`(no messages)`)=>{let s=e.current;!i||!a||!s||n.current||(n.current=!0,o?.({id:s,path:``,cwd:a,name:void 0,created:new Date().toISOString(),modified:new Date().toISOString(),messageCount:t,firstMessage:r}))},[i,a,o,n,e])}}function hX({messages:e,contextUsage:t,data:n,session:r,sessionIdRef:i}){let[a,o]=(0,d.useState)(null);return{sessionStats:(0,d.useMemo)(()=>{if(a)return a;let o={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},s=0,c=0,l=0,u=0,d=0;for(let t of e){if(t.role===`user`&&(c+=1),t.role===`toolResult`&&(u+=1),t.role!==`assistant`)continue;l+=1;let e=t.usage;d+=t.content.filter(e=>e.type===`toolCall`).length,e&&(o.input+=e.input??0,o.output+=e.output??0,o.cacheRead+=e.cacheRead??0,o.cacheWrite+=e.cacheWrite??0,s+=e.cost?.total??0)}return o.total=o.input+o.output+o.cacheRead+o.cacheWrite,o.total===0&&e.length===0?null:{sessionFile:n?.filePath||void 0,sessionId:i.current??r?.id??``,sessionName:r?.name,userMessages:c,assistantMessages:l,toolCalls:d,toolResults:u,totalMessages:e.length,tokens:o,cost:s,...t?{contextUsage:t}:{}}},[e,a,t,n?.filePath,r?.id,r?.name,i]),setSessionStatsOverride:o}}function gX({sessionIdRef:e,ensureNewSession:t}){let[n,r]=(0,d.useState)([]),[i,a]=(0,d.useState)(!1);return{slashCommands:n,slashCommandsLoading:i,loadSlashCommands:(0,d.useCallback)(async()=>{let n=e.current??await t();if(!n)return r([]),[];a(!0);try{let e=(await bW(n,{type:`get_commands`}))?.commands??[];return r(e),e}catch(e){return console.error(`Failed to load slash commands:`,e),r([]),[]}finally{a(!1)}},[t,e])}}function _X(e,t,n){let r=(t?n.find(e=>e.provider===t.provider&&e.id===t.modelId):void 0)?.contextWindow??e?.contextWindow;if(!r)return e??null;let i=e?e.tokens:0;return{percent:i===null?null:i/r*100,contextWindow:r,tokens:i}}var vX=e=>{let t=e;return t?typeof t.thinking==`string`?t.thinking.length:typeof t.text==`string`?t.text.length:typeof t.streamingOutput==`string`?t.streamingOutput.length:0:0};function yX(){let e=new Map,t=new Map;return{snapshot(n){e.clear(),t.clear(),Array.isArray(n)&&n.forEach((n,r)=>{e.set(r,vX(n)),t.set(r,0)})},take(n,r){let i=e.get(n)??0,a=t.get(n)??0;t.set(n,a+r.length);let o=Math.min(Math.max(i-a,0),r.length);return o>0?r.slice(o):r},reset(){e.clear(),t.clear()}}}var bX=200,xX=32;function SX(e){let{session:t,newSessionCwd:n,onAgentEnd:r,onAgentSettled:i,onAgentError:a,onSessionCreated:o,onSessionForked:s,modelsRefreshKey:c}=e,l=t===null&&n!==null,[u,f]=(0,d.useState)(null),[p,m]=(0,d.useState)(!l),[h,g]=(0,d.useState)(null),[_,v]=(0,d.useState)(null),[y,b]=(0,d.useState)([]),x=(0,d.useRef)(null);x.current||=dJ(b);let S=x.current,[C,w]=(0,d.useState)([]),[T,E]=(0,d.useReducer)(xY,{isStreaming:!1,streamingMessage:null}),D=(0,d.useRef)(null),O=(0,d.useRef)(null),k=(0,d.useRef)(null),A=(0,d.useRef)(new Map),j=(0,d.useRef)(yX()),N=(0,d.useRef)(!0),ee=(0,d.useRef)([]),te=(0,d.useRef)(new Map),P=(0,d.useRef)(null),ne=(0,d.useRef)(null),re=(0,d.useCallback)(()=>{let e=A.current;if(e.size===0)return;let t=k.current;if(!t){e.clear();return}let n=t.content;if(!Array.isArray(n)){e.clear();return}for(let[t,r]of e){let e=r.join(``),i=n[t];if(!i)continue;let a=j.current.take(t,e);a&&(i.type===`thinking`?i.thinking=(i.thinking??``)+a:i.type===`text`?i.text=(i.text??``)+a:i.type===`toolCall`&&(i.streamingOutput=(i.streamingOutput??``)+a))}e.clear()},[]),ie=(0,d.useCallback)(()=>{O.current&&=(clearTimeout(O.current),null),re();let e=D.current;if(D.current=null,e&&Ke.current){let t=e,n={...e,content:[...t.content??[]]};(0,d.startTransition)(()=>E({type:`update`,message:n}))}else if(k.current&&Ke.current){let e=k.current,t={...e,content:[...e.content??[]]};(0,d.startTransition)(()=>E({type:`update`,message:t}))}},[re]);(0,d.useEffect)(()=>()=>{O.current&&=(clearTimeout(O.current),null),P.current&&=(clearTimeout(P.current),null),ne.current&&=(clearTimeout(ne.current),null)},[]);let[ae,oe]=(0,d.useState)(!1),[se,ce]=(0,d.useState)(!1),le=(0,d.useCallback)(e=>{Ke.current=e,oe(e)},[]),ue=(0,d.useCallback)(e=>{Xe.current=e,ce(e)},[]),[de,fe]=(0,d.useState)(``),[pe,me]=(0,d.useState)(null),[he,ge]=(0,d.useState)(null),[_e,ve]=(0,d.useState)(null),[ye,be]=(0,d.useState)(null),[xe,Se]=(0,d.useState)(null),[Ce,we]=(0,d.useState)(!1),[Te,Ee]=(0,d.useState)(null),[De,Oe]=(0,d.useState)(null),[ke,Ae]=(0,d.useState)(null),{noticeState:je,addNotice:Me,dismissModal:Ne}=BJ(),{t:Pe}=M(),[Fe,Ie]=(0,d.useState)({steering:[],followUp:[]}),[Le,Re]=(0,d.useState)(!1),ze=(0,d.useRef)(null),Be=(0,d.useRef)(null),Ve=(0,d.useRef)(null),He=(0,d.useRef)(null),Ue=(0,d.useRef)(0),We=(0,d.useRef)(!1),Ge=(0,d.useRef)(t?.id??null),Ke=(0,d.useRef)(!1),qe=(0,d.useRef)(!1),Je=(0,d.useRef)(!1),Ye=(0,d.useRef)(-1),Xe=(0,d.useRef)(!1),Ze=(0,d.useRef)(0),Qe=(0,d.useRef)(null),$e=(0,d.useRef)(void 0),et=(0,d.useRef)(null),tt=(0,d.useRef)(!1),nt=(0,d.useRef)(0),rt=(0,d.useRef)(!1),it=(0,d.useRef)(0),{modelNames:at,modelList:ot,modelError:st,modelScopeWarnings:ct,modelThinkingLevels:lt,modelThinkingLevelMaps:ut,newSessionModel:dt,newSessionDefaultModel:ft,toolPreset:pt,thinkingLevel:mt,currentModelOverride:ht,pendingModel:gt,setThinkingLevel:_t,setPendingModel:vt,setNewSessionDefaultModel:yt,setCurrentModelOverride:bt,setModelError:xt,setToolPresetState:St,newSessionModelOverrideRef:Ct,thinkingLevelOverrideRef:wt,loadModels:Tt,handleModelChange:Et,handleThinkingLevelChange:Dt,handleToolPresetChange:Ot}=rX({isNew:l,sessionIdRef:Ge,ensuringNewSessionRef:et,setToolPresetOverride:e.setToolPreset,addNotice:Me,t:Pe}),{ensureNewSession:kt}=kY({ensuringNewSessionRef:et,sessionIdRef:Ge,isNew:l,newSessionCwd:n,toolPreset:pt,thinkingLevelOverrideRef:wt,newSessionModelOverrideRef:Ct,setPendingModel:vt,setThinkingLevel:_t,setNewSessionDefaultModel:yt}),{slashCommands:At,slashCommandsLoading:jt,loadSlashCommands:Mt}=gX({sessionIdRef:Ge,ensureNewSession:kt}),{extensionDialog:Nt,extensionCustomUi:Pt,extensionStatuses:Ft,extensionWidgets:It,setExtensionStatuses:Lt,setExtensionWidgets:Rt,respondToExtensionUi:zt,sendExtensionCustomInput:Bt,handleExtensionUiRequest:Vt}=KY({addNotice:Me,chatInputRef:e.chatInputRef,sessionIdRef:Ge}),Ht=(0,d.useCallback)(e=>{e?.contextUsage!==void 0&&ve(e.contextUsage??null),e?.systemPrompt!==void 0&&be(e.systemPrompt??null),e?.thinkingLevel!==void 0&&_t(e.thinkingLevel??`auto`),e?.extensionStatuses!==void 0&&Lt(e.extensionStatuses??[]),e?.extensionWidgets!==void 0&&Rt(e.extensionWidgets??[]),e?.queuedMessages!==void 0&&Ie(cJ(e.queuedMessages))},[_t,Lt,Rt]),Ut=ht??u?.context.model??gt??null,Wt=l?dt??ft:Ut,Gt=(0,d.useMemo)(()=>_X(_e,Wt,ot),[_e,Wt,ot]),{handleThinkingLevelChangeWithMemory:Kt}=sX({displayModel:Wt,modelThinkingLevels:lt,thinkingLevel:mt,isNew:l,sessionIdRef:Ge,thinkingLevelOverrideRef:wt,setThinkingLevel:_t,handleThinkingLevelChange:Dt}),{sessionStats:qt,setSessionStatsOverride:Jt}=hX({messages:y,contextUsage:_e,data:u,session:t,sessionIdRef:Ge}),{loadSession:Yt,loadContext:Xt,loadTools:Zt,promoteNewSession:Qt}=mX({sessionIdRef:Ge,hasPendingOptimisticUserRef:rt,newSessionPromotedRef:tt,entryIds:C,isNew:l,newSessionCwd:n,onSessionCreated:o,setActiveLeafId:v,setCurrentModelOverride:bt,setData:f,setEntryIds:w,setError:g,setLoading:m,setMessages:S,setQueuedMessages:Ie,setThinkingLevel:_t,setToolPresetState:St,applyAgentState:Ht}),{cancelEventStreamGrace:$t,closeEvents:en,connectEvents:tn,ensureEventsConnected:nn,settleUiStage:rn,notifyPromptStage:an,scheduleEventStreamClose:on,finishPromptWithoutStream:sn,waitForPromptSettlement:cn}=vY({sessionIdRef:Ge,eventUnsubRef:ze,eventSourceSessionIdRef:Be,eventConnectionAttemptRef:Ve,eventStreamGraceTimerRef:He,eventStreamGraceGenerationRef:Ue,eventStreamGraceActiveRef:We,agentRunningRef:Ke,sdkAgentActiveRef:qe,rpcPromptPendingRef:Je,notifiedPromptRunIdRef:Ye,promptRunIdRef:nt,lastAgentEventAtRef:it,hasPendingOptimisticUserRef:rt,loadSession:Yt,dispatch:E,setAgentRunning:oe,setAgentRunningSynced:le,setAgentPhase:Ae,setRetryInfo:ge,setIsCompacting:we,onAgentEnd:r,onAgentSettled:i}),{waitForBashSettlement:ln}=jJ({agentRunning:ae,bashRecoveryIdRef:Ze,bashRunningRef:Xe,sessionIdRef:Ge,agentRunningRef:Ke,promptRunIdRef:nt,loadSession:Yt,setBashRunningSynced:ue,setPendingBash:me,setIsCompacting:we,setQueuedMessages:Ie,applyAgentState:Ht,finishPromptWithoutStream:sn});(0,d.useEffect)(()=>{Ke.current=ae},[ae]),Qe.current=DJ({lastAgentEventAtRef:it,streamingMsgRef:k,pendingDeltasRef:A,streamResyncRef:j,streamFirstFlushRef:N,streamFlushTimerRef:O,pendingStreamRef:D,agentRunningRef:Ke,sdkAgentActiveRef:qe,rpcPromptPendingRef:Je,promptRunIdRef:nt,hasPendingOptimisticUserRef:rt,sessionIdRef:Ge,bashFlushTimerRef:P,pendingBashDeltasRef:ee,toolFlushTimerRef:ne,pendingToolUpdatesRef:te,cancelEventStreamGrace:$t,scheduleEventStreamClose:on,settleUiStage:rn,notifyPromptStage:an,flushStreamUpdate:ie,flushPendingDeltas:re,applyAgentState:Ht,loadSession:Yt,handleExtensionUiRequest:Vt,onAgentEnd:r,onAgentSettled:i,onAgentError:a,addNotice:Me,t:Pe,setMessages:S,dispatch:E,setAgentRunningSynced:le,setAgentPhase:Ae,setRetryInfo:ge,setQueuedMessages:Ie,setBashOutput:fe,setIsCompacting:we,setCompactError:Ee,setCompactResult:Oe,coalesceMs:bX,coalesceFirstMs:xX}),nX({sessionIdRef:Ge,handleAgentEventRef:Qe,handleExtensionUiRequest:Vt});let{scrollContainerRef:un,messagesEndRef:dn,lastUserMsgRef:fn,pendingScrollToUserRef:pn,initialScrollDoneRef:mn,completionScrollAllowedRef:hn}=fX({messagesLength:y.length,loading:p,agentRunning:ae,isStreaming:T.isStreaming,streamingMessage:T.streamingMessage,agentRunningRef:Ke}),{handleSend:gn,executeBash:_n,handleSteer:vn,handlePromptWithStreamingBehavior:yn,handleFollowUp:bn}=yY({sessionIdRef:Ge,ensuringNewSessionRef:et,ensureNewSession:kt,isNew:l,newSessionCwd:n,newSessionModel:dt,currentModelOverride:ht,session:t,agentRunningRef:Ke,bashRunningRef:Xe,rpcPromptPendingRef:Je,hasPendingOptimisticUserRef:rt,promptRunIdRef:nt,executeBashRef:$e,setMessages:S,setPendingModel:vt,setAgentRunningSynced:le,setBashRunningSynced:ue,setAgentPhase:Ae,dispatch:E,setPendingBash:me,setBashOutput:fe,pendingScrollToUserRef:pn,completionScrollAllowedRef:hn,chatInputRef:e.chatInputRef,addNotice:Me,ensureEventsConnected:nn,waitForPromptSettlement:cn,cancelEventStreamGrace:$t,closeEvents:en,promoteNewSession:Qt,loadSession:Yt});$e.current=_n;let{handleAbort:xn,handleAbortCompaction:Sn,handleRecallQueue:Cn}=pX({sessionIdRef:Ge,bashRunningRef:Xe,setQueuedMessages:Ie,chatInputRef:e.chatInputRef,addNotice:Me}),{handleFork:wn,handleNavigate:Tn,handleLeafChange:En,handleCompact:Dn}=(0,d.useMemo)(()=>bY({sessionIdRef:Ge,bashRunningRef:Xe,setForkingEntryId:Se,onSessionForked:s,setActiveLeafId:v,loadContext:Xt,loadSession:Yt,isCompacting:Ce,setIsCompacting:we,setCompactError:Ee,setCompactResult:Oe}),[Ce,Xt,Yt,s,Ge]),On=(0,d.useCallback)(e=>MJ({sessionIdRef:Ge,ensureNewSession:kt,addNotice:Me,t:Pe,setCommandBusy:Re,isCompacting:Ce,setIsCompacting:we,setCompactError:Ee,setCompactResult:Oe,loadSession:Yt,promoteNewSession:Qt,loadTools:Zt,loadSlashCommands:Mt,loadModels:Tt,setSessionStatsOverride:Jt},e),[Ge,Me,kt,Ce,Tt,Yt,Mt,Zt,Qt,Jt,Pe]);return SY({session:t,isNew:l,newSessionCwd:n,modelsRefreshKey:c,messages:y,compactResult:De,contextUsage:_e,sessionIdRef:Ge,bashRecoveryIdRef:Ze,sdkAgentActiveRef:qe,rpcPromptPendingRef:Je,loadSession:Yt,loadTools:Zt,connectEvents:tn,closeEvents:en,cancelEventStreamGrace:$t,waitForPromptSettlement:cn,waitForBashSettlement:ln,ensureNewSession:kt,applyAgentState:Ht,loadModels:Tt,setAgentRunningSynced:le,setBashRunningSynced:ue,setAgentPhase:Ae,setIsCompacting:we,setCompactResult:Oe,setModelError:xt,setSessionStatsOverride:Jt,dispatch:E}),{data:u,loading:p,error:h,activeLeafId:_,tree:u?.tree??[],messages:y,entryIds:C,streamState:T,agentRunning:ae,modelNames:at,modelList:ot,modelError:st,modelScopeWarnings:ct,modelThinkingLevels:lt,modelThinkingLevelMaps:ut,newSessionModel:dt,toolPreset:pt,thinkingLevel:mt,retryInfo:he,displayContextUsage:Gt,systemPrompt:ye,forkingEntryId:xe,isCompacting:Ce,compactError:Te,compactResult:De,currentModel:Ut,displayModel:Wt,sessionStats:qt,slashCommands:At,slashCommandsLoading:jt,queuedMessages:Fe,notices:je.visible,noticeModals:je.modals,dismissNoticeModal:Ne,extensionDialog:Nt,extensionCustomUi:Pt,extensionStatuses:Ft,extensionWidgets:It,respondToExtensionUi:zt,sendExtensionCustomInput:Bt,isAutoModelSelection:l&&dt===null,agentPhase:ke,isNew:l,sessionIdRef:Ge,loadContext:Xt,messagesEndRef:dn,scrollContainerRef:un,lastUserMsgRef:fn,pendingScrollToUserRef:pn,initialScrollDoneRef:mn,handleSend:gn,handleAbort:xn,handleFork:wn,handleNavigate:Tn,handleLeafChange:En,handleModelChange:Et,handleCompact:Dn,handleSteer:vn,handleFollowUp:bn,handlePromptWithStreamingBehavior:yn,handleAbortCompaction:Sn,handleRecallQueue:Cn,handleBuiltinSlashCommand:On,handleToolPresetChange:Ot,handleThinkingLevelChange:Kt,loadTools:Zt,loadSlashCommands:Mt,setActiveLeafId:v,setData:f,setMessages:S,setSessionStatsOverride:Jt,dispatch:E,setAgentRunning:oe,setForkingEntryId:Se,bashRunning:se,bashOutput:de,pendingBash:pe,commandBusy:Le,handleAgentEventRef:Qe}}function CX(e){let t=e.currentTime;[523.25,659.25].forEach((n,r)=>{let i=e.createOscillator(),a=e.createGain();i.connect(a),a.connect(e.destination),i.type=`sine`,i.frequency.value=n;let o=t+r*.18;a.gain.setValueAtTime(0,o),a.gain.linearRampToValueAtTime(.18,o+.02),a.gain.exponentialRampToValueAtTime(.001,o+.45),i.start(o),i.stop(o+.45)})}function wX(){let[e,t]=(0,d.useState)(()=>{if(typeof window>`u`)return!0;let e=localStorage.getItem(`pi-sound-enabled`);return e===null||e===`true`}),n=(0,d.useRef)(e);(0,d.useEffect)(()=>{n.current=e},[e]);let r=(0,d.useRef)(null),i=(0,d.useCallback)(()=>{if(r.current&&r.current.state!==`closed`)return r.current;try{r.current=new AudioContext}catch{return null}return r.current},[]),a=(0,d.useCallback)((e=!1)=>{if(!e&&!n.current)return;let t=i();t?.state===`suspended`&&t.resume().catch(()=>{})},[i]);return{soundEnabled:e,onSoundToggle:(0,d.useCallback)(()=>{let e=!n.current;e&&a(!0),n.current=e,localStorage.setItem(`pi-sound-enabled`,String(e)),t(e)},[a]),playDoneSound:(0,d.useCallback)(()=>{if(!n.current)return;let e=i();if(!e)return;let t=()=>{try{CX(e)}catch{}};if(e.state===`suspended`){e.resume().then(t).catch(()=>{});return}t()},[i]),unlockAudio:a,soundEnabledRef:n}}function TX(e){let[t,n]=(0,d.useState)(!1),r=(0,d.useRef)(0);return{isDragOver:t,handleDragEnter:(0,d.useCallback)(e=>{Array.from(e.dataTransfer.items).some(e=>e.type.startsWith(`image/`))&&(e.preventDefault(),r.current+=1,n(!0))},[]),handleDragOver:(0,d.useCallback)(e=>{Array.from(e.dataTransfer.items).some(e=>e.type.startsWith(`image/`))&&e.preventDefault()},[]),handleDragLeave:(0,d.useCallback)(()=>{--r.current,r.current<=0&&(r.current=0,n(!1))},[]),handleDrop:(0,d.useCallback)(t=>{t.preventDefault(),r.current=0,n(!1),e(Array.from(t.dataTransfer.files))},[e])}}function EX(e){if(!Number.isFinite(e))return``;let t=Math.round(e),n=Math.floor(t/60),r=t%60;return`${n}:${String(r).padStart(2,`0`)}`}var DX={runningSessionIds:[],runningPhases:{},runningPhaseSince:{},runningBusySince:{}},OX=null,kX={current:!1},AX=new Set;function jX(){OX=null;for(let e of AX)e()}function MX(){return OX||={runningSessionIds:new Set(DX.runningSessionIds),runningPhases:DX.runningPhases,runningPhaseSince:DX.runningPhaseSince,runningBusySince:DX.runningBusySince,setRunningSessionIds:NX,runningPollAuthoritativeRef:kX},OX}function NX(e){kX.current||(DX={...DX,runningSessionIds:[...e]},jX())}function PX(e){return AX.add(e),IX(),()=>AX.delete(e)}var FX=null;function IX(){FX||=mY({ch:`running`},e=>{if(e.type!==`running`)return;let t=e;DX={runningSessionIds:t.runningSessionIds??[],runningPhases:t.phases??{},runningPhaseSince:t.phaseSince??{},runningBusySince:t.busySince??{}},kX.current=!0,jX()})}function LX(){return(0,d.useSyncExternalStore)(PX,MX)}function RX(e,t){let[n,r]=(0,d.useState)(null);return(0,d.useEffect)(()=>{if(!e||t===void 0){r(null);return}let n=()=>{document.hidden||r(EX((Date.now()-t)/1e3))};n();let i=setInterval(n,1e3),a=()=>{document.hidden||n()};return document.addEventListener(`visibilitychange`,a),()=>{clearInterval(i),document.removeEventListener(`visibilitychange`,a)}},[e,t]),n}var zX=new Map;function BX(e){return{value:e.value,images:e.images.map(e=>({...e}))}}function VX(e){return!e.value&&e.images.length===0}function HX(e){let t=zX.get(e);return t?BX(t):null}function UX(e,t){if(VX(t)){zX.delete(e);return}zX.set(e,BX(t))}function WX(e){zX.delete(e)}var GX=`pi-web:pending-message:`;function KX(e,t){if(!t){JX(e);return}try{localStorage.setItem(GX+e,t)}catch{}}function qX(e){try{return localStorage.getItem(GX+e)}catch{return null}}function JX(e){try{localStorage.removeItem(GX+e)}catch{}}var YX={image:`image/*`,audio:`audio/*`,video:`video/*`,pdf:`application/pdf`};function XX(e){return typeof e==`string`?e.startsWith(`image/`)?`image`:e.startsWith(`audio/`)?`audio`:e.startsWith(`video/`)?`video`:e===`application/pdf`?`pdf`:null:null}function ZX(e,t){return!e?.length||e.includes(t)}function QX(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===47}function $X(e){if(!e||e.length%4!=0)return null;let t=e.endsWith(`==`)?2:+!!e.endsWith(`=`),n=e.length-t;for(let t=0;t<n;t+=1)if(!QX(e.charCodeAt(t)))return null;for(let t=n;t<e.length;t+=1)if(e[t]!==`=`)return null;return e.length/4*3-t}function eZ(e){if(!e||typeof e!=`object`)return!1;let t=e;if(typeof t.data!=`string`||typeof t.mimeType!=`string`||XX(t.mimeType)===null)return!1;let n=$X(t.data);return n!==null&&n<=10485760}function tZ(e){return e.length?`Files attached by the user were saved to disk (read them with the read tool if needed):\n${e.map(e=>`- @${e.path}`).join(`
354
- `)}`:``}async function nZ(e){let t=await fetch(`/api/attachments?name=${encodeURIComponent(e.name)}`,{method:`POST`,headers:{"content-type":e.type||`application/octet-stream`},body:e});if(!t.ok)throw Error(`Failed to upload attachment (${t.status})`);return await t.json()}var rZ={image:pn,audio:bn,video:Un,pdf:on},iZ=[{kind:`image`,labelKey:`chat.attachImage`},{kind:`audio`,labelKey:`chat.attachAudio`},{kind:`video`,labelKey:`chat.attachVideo`},{kind:`pdf`,labelKey:`chat.attachPdf`}];function aZ(e){return e>=1048576?`${(e/1048576).toFixed(1)}MB`:`${Math.max(1,Math.round(e/1024))}KB`}function oZ(e){return e.path||!e.data?null:{data:e.data,mimeType:e.mimeType,name:e.name}}function sZ(e){return{data:e.data,mimeType:e.mimeType,name:e.name??``,previewUrl:`data:${e.mimeType};base64,${e.data}`}}function cZ(e){return(e??[]).filter(eZ).slice(0,10).map(sZ)}function lZ(e){e.previewUrl.startsWith(`blob:`)&&URL.revokeObjectURL(e.previewUrl)}function uZ(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result).split(`,`)[1]??``),r.onerror=()=>n(r.error??Error(`Failed to read file`)),r.readAsDataURL(e)})}async function dZ(e){let t=XX(e.type);if(e.size>10485760){let t=await nZ(e);return{data:``,mimeType:e.type,name:t.name||e.name,path:t.path,previewUrl:``,size:t.size}}return{data:await uZ(e),mimeType:e.type,name:e.name,previewUrl:t===`image`?URL.createObjectURL(e):``,size:e.size}}function fZ(e){return{inline:e.filter(e=>e.data),referenceText:tZ(e.filter(e=>e.path).map(e=>({name:e.name,path:e.path??``})))}}function pZ({files:e,onRemove:t}){let{t:n}=M();return e.length===0?null:(0,T.jsx)(`div`,{style:{display:`flex`,gap:6,marginBottom:6,flexWrap:`wrap`},children:e.map((e,r)=>{let i=XX(e.mimeType),a=i&&rZ[i]||on,o=i===`image`&&e.previewUrl;return(0,T.jsxs)(`div`,{style:{position:`relative`,flexShrink:0,display:`flex`,alignItems:`center`},children:[o?(0,T.jsx)(`img`,{src:e.previewUrl,alt:``,style:{width:56,height:56,objectFit:`cover`,borderRadius:6,border:`1px solid var(--border)`,display:`block`}}):(0,T.jsx)(F,{label:e.path?n(`chat.attachmentOnDisk`):e.name,wrapperStyle:{display:`flex`,minWidth:0},children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,maxWidth:200,height:56,padding:`0 10px`,borderRadius:6,border:`1px solid var(--border)`,background:`var(--bg-panel)`,color:`var(--text-muted)`,fontSize:12},children:[(0,T.jsx)(a,{size:16,strokeWidth:1.8,style:{flexShrink:0}}),(0,T.jsxs)(`span`,{style:{minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[e.name||i||e.mimeType,e.size?` · ${aZ(e.size)}`:``]}),e.path&&(0,T.jsx)(dn,{size:12,strokeWidth:1.8,style:{flexShrink:0}})]})}),(0,T.jsx)(`button`,{"data-testid":`remove-attachment`,onClick:()=>t(r),style:{position:`absolute`,top:-4,right:-4,width:16,height:16,borderRadius:`50%`,background:`var(--bg-panel)`,border:`1px solid var(--border)`,display:`flex`,alignItems:`center`,justifyContent:`center`,cursor:`pointer`,padding:0,color:`var(--text-muted)`},children:(0,T.jsx)(qn,{size:8,strokeWidth:4.5})})]},r)})})}function mZ({tone:e,title:t,body:n}){let r=e===`error`?`239,68,68`:`234,179,8`;return(0,T.jsxs)(`div`,{role:`alert`,style:{display:`flex`,alignItems:`flex-start`,gap:8,maxHeight:120,marginBottom:8,padding:`7px 10px`,overflowY:`auto`,border:`1px solid rgba(${r},0.3)`,borderRadius:6,background:`rgba(${r},0.07)`,color:`rgb(${r})`,fontSize:`var(--text-sm)`,lineHeight:1.45},children:[(0,T.jsx)(Vn,{size:I.lg,style:{flexShrink:0,marginTop:1},"aria-hidden":`true`}),(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(`div`,{style:{fontWeight:600},children:t}),(0,T.jsx)(`div`,{style:{whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:n})]})]})}function hZ({error:e}){return e?(0,T.jsx)(mZ,{tone:`error`,title:`Model error`,body:e}):null}function gZ({warnings:e}){return!e||e.length===0?null:(0,T.jsx)(mZ,{tone:`warning`,title:e.length>1?`Model scope warnings`:`Model scope warning`,body:e.join(`
355
- `)})}function _Z({kinds:e,isStreaming:t,onPick:n,t:r}){return(0,T.jsx)(T.Fragment,{children:e.map(({kind:e,labelKey:i})=>{let a=rZ[e];return(0,T.jsx)(F,{label:r(i),children:(0,T.jsx)(`button`,{"data-testid":`attach-${e}`,onClick:()=>n(e),disabled:t,style:{flexShrink:0,display:`flex`,alignItems:`center`,justifyContent:`center`,width:32,height:32,padding:0,background:`none`,border:`none`,borderRadius:9,color:`var(--accent)`,cursor:t?`not-allowed`:`pointer`,opacity:t?.5:1,transition:`background 0.12s, color 0.12s`,"--hover-bg":`var(--bg-hover)`,"--hover-color":`var(--accent)`},className:t?void 0:`hover-shift`,children:(0,T.jsx)(a,{size:I[`2xl`],strokeWidth:1.8,style:{color:`var(--accent)`,flexShrink:0}})})},e)})})}function vZ({isMobile:e,isStreaming:t,controlsMenuOpen:n,setControlsMenuOpen:r,setToolDropdownOpen:i,setThinkingDropdownOpen:a,onCompact:o,onAbortCompaction:s,isCompacting:c,soundEnabled:l,onSoundToggle:u}){let{t:d}=M();return(0,T.jsxs)(T.Fragment,{children:[o&&(0,T.jsx)(`div`,{children:(0,T.jsx)(F,{label:d(c?`chat.stopCompaction`:`chat.compactContext`),children:(0,T.jsx)(`button`,{onClick:c?s:o,disabled:t&&!c,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:5,padding:`0 6px`,width:e?`auto`:36,height:32,background:c?`color-mix(in srgb, var(--status-error) 8%, transparent)`:`none`,border:`none`,borderRadius:9,color:c?`#ef4444`:`var(--text-muted)`,cursor:t&&!c?`not-allowed`:`pointer`,fontSize:`var(--text-base)`,opacity:t&&!c?.5:1,transition:`background 0.12s, color 0.12s`,"--hover-bg":c?`color-mix(in srgb, var(--status-error) 16%, transparent)`:`var(--bg-hover)`,"--hover-color":c?`#ef4444`:`var(--text)`},className:t&&!c?void 0:`hover-shift`,"aria-label":d(c?`chat.stopCompaction`:`chat.compactContext`),children:c?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(In,{size:I.xs,fill:`currentColor`}),n&&(0,T.jsx)(`span`,{style:{whiteSpace:`nowrap`},children:d(`chat.compacting`)})]}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(sn,{size:I.base,style:{color:`var(--status-info)`,flexShrink:0}}),n&&(0,T.jsx)(`span`,{style:{whiteSpace:`nowrap`},children:d(`chat.compact`)})]})})})}),u!==void 0&&(0,T.jsx)(F,{label:d(l?`chat.disableSound`:`chat.enableSound`),children:(0,T.jsx)(`button`,{onClick:u,"aria-label":d(l?`chat.disableSound`:`chat.enableSound`),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:5,width:32,height:32,padding:0,background:`none`,border:`none`,borderRadius:9,color:l?`var(--text-muted)`:`var(--text-dim)`,cursor:`pointer`,opacity:l?1:.55,transition:`background 0.12s, color 0.12s, opacity 0.12s`,"--hover-bg":`var(--bg-hover)`,"--hover-color":`var(--text)`,"--hover-opacity":`1`},className:`hover-shift`,children:l?(0,T.jsx)(Wn,{size:I.base,style:{color:l?`var(--accent)`:`var(--text-dim)`,flexShrink:0}}):(0,T.jsx)(Gn,{size:I.base,style:{color:l?`var(--accent)`:`var(--text-dim)`,flexShrink:0}})})}),e&&n&&(0,T.jsx)(F,{label:d(`chat.collapseControls`),children:(0,T.jsx)(`button`,{type:`button`,"aria-label":d(`chat.collapseControls`),"aria-expanded":!0,onClick:()=>{i(!1),a(!1),r(!1)},style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:36,height:32,padding:0,marginLeft:0,background:`var(--bg-hover)`,border:`none`,borderLeft:`1px solid color-mix(in srgb, var(--border) 72%, transparent)`,borderRadius:`0 9px 9px 0`,color:`var(--text)`,cursor:`pointer`,transition:`background 0.12s, color 0.12s`,"--hover-bg":`var(--bg-selected)`},className:`hover-shift`,children:(0,T.jsx)(qn,{size:I.lg})})})]})}function yZ({onReloadFromDisk:e,isStreaming:t,isMobile:n}){let{t:r}=M();return(0,T.jsx)(T.Fragment,{children:e&&(0,T.jsx)(`div`,{children:(0,T.jsx)(F,{label:(0,T.jsxs)(`span`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:[(0,T.jsx)(`span`,{children:r(`chat.reloadFromDisk`)}),(0,T.jsx)(`span`,{style:{opacity:.85,fontSize:`0.85em`,whiteSpace:`normal`,maxWidth:260},children:r(`chat.reloadFromDiskHint`)})]}),children:(0,T.jsx)(`button`,{onClick:()=>!t&&e(),disabled:t,"aria-label":r(`chat.reloadFromDisk`),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:n?`auto`:36,height:32,padding:`0 6px`,background:`none`,border:`none`,borderRadius:9,color:`var(--text-muted)`,cursor:t?`not-allowed`:`pointer`,opacity:t?.5:1,transition:`background 0.12s, color 0.12s`,"--hover-bg":`var(--bg-hover)`,"--hover-color":`var(--text)`},className:t?void 0:`hover-shift`,children:(0,T.jsx)(dn,{size:I.lg,"aria-hidden":`true`})})})})})}function bZ({active:e,label:t,desc:n,onSelect:r}){return(0,T.jsxs)(`button`,{type:`button`,onClick:r,style:{display:`flex`,alignItems:`center`,gap:8,width:`100%`,padding:`7px 12px`,background:e?`var(--bg-selected)`:`none`,border:`none`,color:e?`var(--text)`:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-base)`,textAlign:`left`,fontWeight:e?600:400,whiteSpace:`nowrap`},className:e?`selectable-row is-selected`:`selectable-row`,children:[e?(0,T.jsx)(qt,{size:I.xs,strokeWidth:4.8,style:{flexShrink:0}}):(0,T.jsx)(`span`,{style:{width:10,flexShrink:0}}),(0,T.jsx)(`span`,{style:{flex:1},children:t}),(0,T.jsx)(`span`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`,marginLeft:8},children:n})]})}function xZ({kind:e,text:t}){return(0,T.jsx)(F,{label:t,wrapperStyle:{display:`flex`,minWidth:0,flex:1},children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`3px 10px`,fontSize:`var(--text-base)`,color:`var(--text-muted)`,minWidth:0},children:[(0,T.jsx)(`span`,{style:{flexShrink:0,fontSize:`var(--text-xs)`,fontFamily:`var(--font-mono)`,padding:`1px 7px`,borderRadius:999,border:`1px solid ${e===`steer`?`color-mix(in srgb, var(--accent) 45%, transparent)`:`var(--border)`}`,color:e===`steer`?`var(--accent)`:`var(--text-dim)`},children:e}),(0,T.jsx)(`span`,{style:{minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t})]})})}function SZ({isMobile:e,isStreaming:t,controlsMenuOpen:n,thinkingLevel:r,thinkingDisplayLabel:i,onThinkingLevelChange:a,availableThinkingLevels:o,thinkingLevelMap:s,thinkingDropdownOpen:c,setThinkingDropdownOpen:l,thinkingDropdownRef:u,thinkingMapConfirm:d,setThinkingMapConfirm:f,model:p,onOpenModelConfig:m}){let{t:h}=M();return(0,T.jsxs)(T.Fragment,{children:[a&&(0,T.jsxs)(`div`,{ref:u,style:{position:`relative`},children:[(0,T.jsx)(F,{label:h(`chat.changeReasoning`,{level:i}),children:(0,T.jsxs)(`button`,{onClick:()=>!t&&l(e=>!e),disabled:t,"aria-label":h(`chat.changeReasoningLabel`),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:5,padding:e?`0 6px`:`8px 12px`,width:e?`auto`:void 0,height:32,background:c?`var(--bg-hover)`:`none`,border:`none`,borderRadius:9,color:`var(--text-muted)`,cursor:t?`not-allowed`:`pointer`,fontSize:`var(--text-base)`,opacity:t?.5:1,transition:`background 0.12s, color 0.12s`,"--hover-bg":`var(--bg-hover)`,"--hover-color":`var(--text)`},className:t?void 0:`hover-shift`,children:[(0,T.jsx)(hn,{size:I.base,fill:`currentColor`,style:{color:`var(--bulb-warning)`,flexShrink:0}}),(!e||n)&&(0,T.jsx)(`span`,{style:{whiteSpace:`nowrap`},children:i})]})}),c&&(0,T.jsx)(`div`,{style:{position:`absolute`,bottom:`calc(100% + 6px)`,right:0,zIndex:100,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 -4px 16px var(--shadow-color)`,overflow:`hidden`,minWidth:180},children:Nm.filter(e=>!o||e===`auto`||o.includes(e)).map(e=>{let t=(r??`auto`)===e,n=h(Im[e]),i=e!==`auto`&&s?s[e]:void 0;return(0,T.jsx)(bZ,{active:t,onSelect:()=>{if(l(!1),!t){if((e===`xhigh`||e===`max`)&&!s?.[e]){f(e);return}a(e)}},label:(0,T.jsxs)(T.Fragment,{children:[i!=null&&i!==e?i:e,i!=null&&i!==e&&(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`,fontFamily:`var(--font-mono)`,marginLeft:5},children:[`(`,e,`)`]})]}),desc:n},e)})})]}),d&&p&&(0,T.jsx)(`div`,{style:{position:`fixed`,inset:0,zIndex:1e3,background:`rgba(0, 0, 0, 0.45)`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,T.jsxs)(`div`,{role:`alertdialog`,"aria-modal":`true`,style:{background:`var(--bg-panel)`,border:`1px solid var(--border)`,borderRadius:10,boxShadow:`0 12px 40px var(--shadow-color)`,width:`min(420px, calc(100vw - 32px))`,padding:18},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-xl)`,fontWeight:600,color:`var(--text)`,marginBottom:8},children:h(`chat.thinkingMapTitle`)}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,color:`var(--text-muted)`,lineHeight:1.7,marginBottom:16},children:h(`chat.thinkingMapBody`,{level:d})}),(0,T.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8},children:[(0,T.jsx)(`button`,{type:`button`,onClick:()=>f(null),style:{padding:`5px 14px`,background:`var(--bg-panel)`,border:`1px solid var(--border)`,borderRadius:6,color:`var(--text-muted)`,fontSize:`var(--text-base)`,cursor:`pointer`},children:h(`chat.cancel`)}),(0,T.jsx)(`button`,{type:`button`,onClick:()=>{m?.({provider:p.provider,modelId:p.modelId}),f(null)},style:{padding:`5px 14px`,background:`var(--accent)`,border:`none`,borderRadius:6,color:`var(--on-accent, #fff)`,fontSize:`var(--text-base)`,fontWeight:600,cursor:`pointer`},children:h(`chat.thinkingMapGo`)})]})]})})]})}var CZ=[`off`,`default`,`full`],wZ={off:`none`,default:`default`,full:`full`};function TZ({isMobile:e,isStreaming:t,controlsMenuOpen:n,toolPreset:r,toolPresetLabel:i,onToolPresetChange:a,toolDropdownOpen:o,setToolDropdownOpen:s,toolDropdownRef:c}){let{t:l}=M();return(0,T.jsxs)(`div`,{ref:c,style:{position:`relative`},children:[(0,T.jsx)(F,{label:`${l(`chat.changeToolPreset`)}: ${i}`,children:(0,T.jsxs)(`button`,{onClick:()=>!t&&s(e=>!e),disabled:t,"aria-label":l(`chat.changeToolPreset`),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:5,padding:e?`0 6px`:`8px 12px`,width:e?`auto`:void 0,height:32,background:o?`var(--bg-hover)`:`none`,border:`none`,borderRadius:9,color:`var(--text-muted)`,cursor:t?`not-allowed`:`pointer`,fontSize:`var(--text-base)`,opacity:t?.5:1,transition:`background 0.12s, color 0.12s`,"--hover-bg":`var(--bg-hover)`,"--hover-color":`var(--text)`},className:t?void 0:`hover-shift`,children:[(0,T.jsx)(Kn,{size:I.base,style:{color:`var(--status-info)`,flexShrink:0}}),(!e||n)&&(0,T.jsx)(`span`,{style:{whiteSpace:`nowrap`},children:i})]})}),o&&(0,T.jsx)(`div`,{style:{position:`absolute`,bottom:`calc(100% + 6px)`,right:0,zIndex:100,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 -4px 16px var(--shadow-color)`,overflow:`hidden`,minWidth:120},children:CZ.map(e=>{let t=wZ[e],n=(r??`default`)===t,i=e===`off`?l(`chat.noTools`):e==="default"?l(`chat.builtInTools`,{count:4}):l(`chat.allBuiltInTools`);return(0,T.jsx)(bZ,{active:n,onSelect:()=>{s(!1),n||a(t)},label:e,desc:i},e)})})]})}function EZ(e){let{isMobile:t,isStreaming:n,controlsMenuOpen:r,setControlsMenuOpen:i,controlsMenuRef:a,onOpenControlsMenu:o,thinkingLevel:s,thinkingDisplayLabel:c,onThinkingLevelChange:l,availableThinkingLevels:u,thinkingLevelMap:d,thinkingDropdownOpen:f,setThinkingDropdownOpen:p,thinkingDropdownRef:m,thinkingMapConfirm:h,setThinkingMapConfirm:g,model:_,onOpenModelConfig:v,toolPreset:y,toolPresetLabel:b,onToolPresetChange:x,toolDropdownOpen:S,setToolDropdownOpen:C,toolDropdownRef:w,onReloadFromDisk:E,onCompact:D,onAbortCompaction:O,isCompacting:k,soundEnabled:A,onSoundToggle:j}=e,{t:N}=M();return(0,T.jsxs)(`div`,{ref:a,style:{flex:`0 0 auto`,display:`flex`,alignItems:`center`,justifyContent:`flex-end`,position:`relative`,marginLeft:t?0:`auto`},children:[t&&(0,T.jsx)(F,{label:r?void 0:N(`chat.moreControls`),children:(0,T.jsx)(`button`,{type:`button`,"aria-label":N(`chat.moreControls`),"aria-expanded":r,"aria-hidden":r||void 0,tabIndex:r?-1:void 0,onClick:o,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:`100%`,height:32,padding:`8px 10px`,background:`none`,border:`none`,borderRadius:9,color:`var(--text-muted)`,cursor:r?`default`:`pointer`,fontSize:`var(--text-base)`,fontWeight:500,visibility:r?`hidden`:`visible`,pointerEvents:r?`none`:`auto`,transition:`background 0.12s, color 0.12s`,"--hover-bg":`var(--bg-hover)`,"--hover-color":`var(--text)`},className:r?void 0:`hover-shift`,children:N(`chat.moreControls`)})}),(0,T.jsxs)(`div`,{style:{display:t?r?`flex`:`none`:`flex`,alignItems:`center`,gap:t?1:2,...t?{position:`absolute`,right:0,bottom:0,zIndex:60,padding:1,width:`max-content`,maxWidth:`calc(100vw - 32px)`,flexWrap:`nowrap`,justifyContent:`flex-end`,border:`1px solid color-mix(in srgb, var(--border) 72%, transparent)`,borderRadius:10,background:`color-mix(in srgb, var(--bg-panel) 92%, var(--bg))`,boxShadow:`0 8px 24px var(--shadow-color)`,backdropFilter:`blur(10px)`}:null},children:[l&&(0,T.jsx)(SZ,{isMobile:t,isStreaming:n,controlsMenuOpen:r,thinkingLevel:s,thinkingDisplayLabel:c,onThinkingLevelChange:l,availableThinkingLevels:u,thinkingLevelMap:d,thinkingDropdownOpen:f,setThinkingDropdownOpen:p,thinkingDropdownRef:m,thinkingMapConfirm:h,setThinkingMapConfirm:g,model:_,onOpenModelConfig:v}),x&&(0,T.jsx)(TZ,{isMobile:t,isStreaming:n,controlsMenuOpen:r,toolPreset:y,toolPresetLabel:b,onToolPresetChange:x,toolDropdownOpen:S,setToolDropdownOpen:C,toolDropdownRef:w}),E&&(0,T.jsx)(yZ,{onReloadFromDisk:E,isStreaming:n,isMobile:t}),(0,T.jsx)(vZ,{isMobile:t,isStreaming:n,controlsMenuOpen:r,setControlsMenuOpen:i,setToolDropdownOpen:C,setThinkingDropdownOpen:p,onCompact:D,onAbortCompaction:O,isCompacting:k,soundEnabled:A,onSoundToggle:j})]})]})}function DZ({isMobile:e,visibleAttachKinds:t,isStreaming:n,openFilePicker:r,t:i,onModelChange:a,model:o,modelOptions:s,isAutoModelSelection:c,onOpenControlsMenu:l,...u}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{marginTop:8,display:e?`grid`:`flex`,gridTemplateColumns:e?`minmax(0, 1fr) auto`:void 0,alignItems:`center`,gap:6,rowGap:4,flexWrap:`wrap`},children:[(0,T.jsxs)(`div`,{style:{flex:e?`1 1 auto`:`1 1 0%`,minWidth:0,display:`flex`,alignItems:`center`,gap:2},children:[(0,T.jsx)(_Z,{kinds:t,isStreaming:n,onPick:r,t:i}),a&&(0,T.jsx)(oh,{value:o??null,options:s,onChange:a,disabled:n,variant:`chat`,isAutoSelection:c})]}),!e&&!a&&(0,T.jsx)(`div`,{style:{flex:1}}),(0,T.jsx)(EZ,{...u,isMobile:e,isStreaming:n,model:o,onOpenControlsMenu:l})]})})}function OZ({matches:e,activeIndex:t,itemRefs:n,onPick:r,onHover:i,atQuery:a,fileIndex:o,fileIndexLoading:s,cwd:c,needsServerSearch:l,serverResultInUse:u}){let{t:d}=M(),f=s&&(!o||o.cwd!==c),p=e.length===1?d(`chat.match`):d(`chat.matches`,{count:e.length}),m=o?.truncated&&!u?a.query?d(`chat.searchingAll`):d(`chat.indexTruncated`):``;return(0,T.jsxs)(`div`,{style:{position:`absolute`,left:0,right:0,bottom:`calc(100% + 8px)`,zIndex:120,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 -6px 20px var(--shadow-color)`,overflow:`hidden`,maxHeight:`min(48vh, 400px)`},children:[(0,T.jsxs)(`div`,{style:{padding:`8px 10px`,borderBottom:`1px solid var(--border)`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:8,fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:[(0,T.jsx)(`span`,{children:f?d(`chat.loadingFiles`):d(`chat.files`,{label:p,hint:m})}),(0,T.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`},children:d(`chat.tabEnter`)})]}),(0,T.jsx)(`div`,{style:{maxHeight:`calc(min(48vh, 400px) - 34px)`,overflowY:`auto`,padding:4},children:!f&&e.length===0?(0,T.jsx)(`div`,{style:{padding:`6px 8px`,fontSize:`var(--text-base)`,color:`var(--text-dim)`},children:d(l&&!u?`chat.searching`:`chat.noMatchingFiles`)}):e.map((e,a)=>{let o=a===t,s=e.path.split(`/`).pop()??e.path,c=e.path.slice(0,e.path.length-s.length);return(0,T.jsxs)(`button`,{ref:e=>{n.current[a]=e},type:`button`,onMouseDown:t=>{t.preventDefault(),r(e)},onMouseEnter:()=>i(a),style:{width:`100%`,display:`flex`,alignItems:`center`,gap:8,padding:`6px 8px`,border:`none`,borderRadius:6,background:o?`var(--bg-selected)`:`none`,color:`var(--text)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-md)`,fontFamily:`var(--font-mono)`},children:[(0,T.jsx)(`span`,{style:{flexShrink:0,display:`flex`,alignItems:`center`},children:e.isDir?(0,T.jsx)(CG,{size:I.xl}):ZG(s,14)}),(0,T.jsxs)(`span`,{style:{minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[c&&(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:c}),s,e.isDir&&(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:`/`})]})]},`${e.isDir?`d`:`f`}:${e.path}`)})})]})}function kZ({isStreaming:e,canQueueStreamingMessage:t,hasAttachments:n,hasText:r,commandBusy:i,showSteer:a,showFollowUp:o,onAbort:s,onQueue:c,onSend:l}){return e?(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,flexShrink:0,alignSelf:`flex-end`},children:[(0,T.jsx)(jZ,{onAbort:s}),a&&(0,T.jsx)(MZ,{variant:`steer`,canQueue:t,hasAttachments:n,onQueue:c}),o&&(0,T.jsx)(MZ,{variant:`followup`,canQueue:t,hasAttachments:n,onQueue:c})]}):(0,T.jsx)(AZ,{hasText:r,hasAttachments:n,commandBusy:i,onSend:l})}function AZ({hasText:e,hasAttachments:t,commandBusy:n,onSend:r}){let{t:i}=M(),a=e||t;return(0,T.jsxs)(`button`,{onClick:r,disabled:!e&&!t||n,style:{flexShrink:0,alignSelf:`flex-end`,display:`flex`,alignItems:`center`,gap:6,padding:`7px 14px`,background:a?`var(--accent)`:`var(--bg-panel)`,border:`none`,borderRadius:8,color:a?`var(--on-accent)`:`var(--text-dim)`,cursor:a&&!n?`pointer`:`not-allowed`,fontSize:`var(--text-lg)`,fontWeight:600,letterSpacing:`-0.01em`,boxShadow:a?`0 1px 3px var(--accent-glow)`:`none`,transition:`background 0.15s, box-shadow 0.15s`},children:[(0,T.jsx)(Gt,{size:I.xl,strokeWidth:3.4,style:{flexShrink:0}}),i(`chat.send`)]})}function jZ({onAbort:e}){let{t}=M(),{isDark:n}=NK();return(0,T.jsx)(F,{label:t(`chat.stopAgent`),children:(0,T.jsxs)(`button`,{"data-testid":`stop-button`,onClick:e,style:{display:`flex`,alignItems:`center`,gap:5,padding:`7px 12px`,background:n?`var(--status-error)`:`color-mix(in srgb, var(--status-error) 12%, transparent)`,border:`1px solid color-mix(in srgb, var(--status-error) 35%, transparent)`,borderRadius:8,color:n?`#fff`:`var(--status-error)`,cursor:`pointer`,fontSize:`var(--text-lg)`,fontWeight:600,letterSpacing:`-0.01em`,transition:`background 0.12s`,"--hover-bg":n?`color-mix(in srgb, var(--status-error) 82%, #000)`:`color-mix(in srgb, var(--status-error) 16%, transparent)`,"--hover-color":n?`#fff`:`var(--status-error)`},className:`hover-shift`,children:[(0,T.jsx)(In,{size:I.base,fill:`currentColor`}),t(`chat.stop`)]})})}function MZ({variant:e,canQueue:t,hasAttachments:n,onQueue:r}){let{t:i}=M(),a=e===`steer`?`var(--status-warning)`:`var(--status-info)`;return(0,T.jsx)(F,{label:i(n?`chat.queueImageBlocked`:e===`steer`?`chat.steerTooltip`:`chat.followUpTooltip`),children:(0,T.jsxs)(`button`,{"data-testid":e===`steer`?`steer-button`:`followup-button`,onClick:()=>r(e),disabled:!t,style:{display:`flex`,alignItems:`center`,gap:5,padding:`7px 12px`,background:t?`color-mix(in srgb, ${a} 12%, transparent)`:`none`,border:`1px solid color-mix(in srgb, ${a} 35%, transparent)`,borderRadius:8,color:t?a:`var(--text-dim)`,cursor:t?`pointer`:`not-allowed`,fontSize:`var(--text-lg)`,fontWeight:600,letterSpacing:`-0.01em`,transition:`background 0.12s`},children:[e===`steer`?(0,T.jsx)(wn,{size:I.base,strokeWidth:4.3,style:{flexShrink:0}}):(0,T.jsx)(_n,{size:I.base,strokeWidth:4.3,style:{flexShrink:0}}),i(e===`steer`?`chat.steer`:`chat.followUp`)]})})}function NZ({items:e,activeIndex:t,itemRefs:n,menuRef:r,onPick:i,onHover:a}){return(0,T.jsxs)(`div`,{ref:r,style:{position:`absolute`,left:0,right:0,bottom:`calc(100% + 8px)`,zIndex:120,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 -6px 20px var(--shadow-color)`,overflow:`hidden`,maxHeight:`min(44vh, 360px)`},children:[(0,T.jsx)(F,{label:`Input history`,wrapperStyle:{display:`flex`},children:(0,T.jsx)(`div`,{style:{height:30,padding:`0 10px`,borderBottom:`1px solid var(--border)`,display:`flex`,alignItems:`center`,color:`var(--text-dim)`},children:(0,T.jsx)(On,{size:I.xl,strokeWidth:1.8,"aria-hidden":`true`})})}),(0,T.jsx)(`div`,{style:{maxHeight:`calc(min(44vh, 360px) - 31px)`,overflowY:`auto`,padding:4},children:e.map((e,r)=>(0,T.jsxs)(`button`,{ref:e=>{n.current[r]=e},type:`button`,onMouseDown:t=>{t.preventDefault(),i(e)},onMouseEnter:()=>a(r),style:{width:`100%`,display:`flex`,alignItems:`flex-start`,gap:8,padding:`7px 8px`,border:`none`,borderRadius:6,background:r===t?`var(--bg-selected)`:`none`,color:`var(--text)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-md)`,lineHeight:1.45},children:[(0,T.jsx)(`span`,{style:{flexShrink:0,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,paddingTop:1},children:r+1}),(0,T.jsx)(`span`,{style:{minWidth:0,display:`-webkit-box`,WebkitBoxOrient:`vertical`,WebkitLineClamp:2,overflow:`hidden`,overflowWrap:`anywhere`},children:e})]},`${r}:${e}`))})]})}function PZ({historyMenuOpen:e,inputHistory:t,historyActiveIndex:n,historyItemRefs:r,historyMenuRef:i,applyHistoryInput:a,setHistoryActiveIndex:o,slashPalette:s,slashCommandsLoading:c,skillDormancy:l,atMenuOpen:u,bashMode:d,atQuery:f,atMatches:p,atActiveIndex:m,atItemRefs:h,applyAtCompletion:g,setAtActiveIndex:_,fileIndex:v,fileIndexLoading:y,cwd:b,needsServerSearch:x,serverResultInUse:S,isStreaming:C,textareaRef:w,value:E,setValue:D,setHistoryMenuOpen:O,updateAtQuery:k,handleKeyDown:A,isComposingRef:j,lastCompositionEndAtRef:M,handleInput:N,handlePaste:ee,queuedCount:te,t:P,onSteer:ne,onFollowUp:re,canQueueStreamingMessage:ie,attachedImages:ae,commandBusy:oe,onAbort:se,sendQueued:ce,handleSend:le}){return(0,T.jsxs)(T.Fragment,{children:[e&&t.length>0&&(0,T.jsx)(NZ,{items:t,activeIndex:n,itemRefs:r,menuRef:i,onPick:a,onHover:o}),(0,T.jsx)(gG,{palette:s,loading:c,skillDormancy:l}),u&&f!==null&&(0,T.jsx)(OZ,{matches:p,activeIndex:m,itemRefs:h,onPick:g,onHover:_,atQuery:f,fileIndex:v,fileIndexLoading:y,cwd:b,needsServerSearch:x,serverResultInUse:S}),(0,T.jsxs)(`div`,{style:{minWidth:0,display:`flex`,gap:8,alignItems:`center`,background:`var(--bg)`,border:`1px solid ${d?`var(--tool-bg)`:`color-mix(in srgb, var(--border) 70%, transparent)`}`,borderRadius:14,padding:`10px 10px 10px 14px`,zIndex:96,boxShadow:`0 1px 2px var(--shadow-color), 0 8px 24px -12px var(--shadow-color), 0 0 40px -10px var(--input-glow), -64px 0 48px -14px var(--input-glow), 64px 0 48px -14px var(--input-glow)`,transition:`border-color 0.15s, background 0.15s, box-shadow 0.15s`},children:[C&&(0,T.jsx)(`span`,{"aria-hidden":!0,style:{width:8,height:8,borderRadius:`50%`,background:`var(--accent)`,flexShrink:0,alignSelf:`flex-start`,marginTop:16,animation:`blink 1s ease-in-out infinite`}}),(0,T.jsx)(`textarea`,{"data-testid":`chat-input`,ref:w,value:E,onChange:e=>{D(e.target.value),O(!1),k(e.target.value,e.target.selectionStart)},onSelect:e=>{let t=e.currentTarget;k(t.value,t.selectionStart)},onKeyDown:A,onCompositionStart:()=>{j.current=!0},onCompositionEnd:e=>{j.current=!1,M.current=Date.now();let t=e.currentTarget;k(t.value,t.selectionStart)},onInput:N,onPaste:ee,placeholder:te>0?P(`chat.recallPlaceholder`):C&&(ne||re)?P(`chat.steerPlaceholder`):C?P(`chat.agentPlaceholder`):b?`${b}\n${P(`chat.messagePlaceholder`)}`:P(`chat.messagePlaceholder`),rows:b?2:1,style:{flex:1,minWidth:0,width:`100%`,background:`none`,border:`none`,outline:`none`,resize:`none`,color:`var(--text)`,caretColor:C?`var(--accent)`:void 0,fontSize:`var(--text-xl)`,lineHeight:1.6,fontFamily:`inherit`,minHeight:24,maxHeight:200,overflow:`auto`}}),(0,T.jsx)(kZ,{isStreaming:C,canQueueStreamingMessage:ie,hasAttachments:ae.length>0,hasText:!!E.trim(),commandBusy:!!oe,showSteer:!!ne,showFollowUp:!!re,onAbort:se,onQueue:ce,onSend:le})]})]})}function FZ(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${Math.round(e/1e3)}k`:e.toLocaleString()}function IZ(e,t){let n=e??`auto`;return n===`auto`||!t?n:t[n]??n}function LZ(e){return Object.entries(wZ).find(([,t])=>t===(e??`default`))?.[0]??`default`}function RZ(e,t,n){return e&&e.length>0?e.map(e=>({provider:e.provider,modelId:e.id,name:e.name,reasoning:e.reasoning,input:e.input,isDefault:e.isDefault})).sort(rh):Object.entries(t??{}).map(([e,t])=>({provider:n??`unknown`,modelId:e,name:t})).sort(rh)}function zZ(e,t){if(!e)return null;let n=Math.max(0,e.tokensBefore-e.estimatedTokensAfter);return`${e.reason&&e.reason!==`manual`?`${e.reason[0].toUpperCase()}${e.reason.slice(1)} `:t(`chat.compacted`)} ${FZ(e.tokensBefore)} -> ${FZ(e.estimatedTokensAfter)} tokens (${t(`chat.tokensSaved`,{saved:FZ(n)})})`}function BZ({queuedMessages:e,onRecallQueue:t}){let{t:n}=M(),r=(e?.steering.length??0)+(e?.followUp.length??0);return r===0?null:(0,T.jsxs)(`div`,{"data-testid":`queue-panel`,style:{marginBottom:8,border:`1px solid var(--border)`,borderRadius:6,background:`var(--bg-panel)`,padding:`5px 0`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:8,padding:`2px 8px 4px 10px`},children:[(0,T.jsx)(`span`,{style:{fontSize:`var(--text-xs)`,fontFamily:`var(--font-mono)`,color:`var(--text-dim)`,textTransform:`uppercase`,letterSpacing:.4},children:n(`chat.queued`,{count:r})}),t&&(0,T.jsx)(F,{label:n(`chat.recallTitle`),children:(0,T.jsxs)(`button`,{"data-testid":`queue-recall`,onClick:t,style:{display:`flex`,alignItems:`center`,gap:6,padding:`4px 12px`,fontSize:`var(--text-base)`,color:`var(--text)`,background:`transparent`,border:`1px solid var(--border)`,borderRadius:7,cursor:`pointer`,transition:`background 0.12s, border-color 0.12s`,whiteSpace:`nowrap`,"--hover-bg":`var(--bg-hover)`,"--hover-border":`color-mix(in srgb, var(--accent) 45%, var(--border))`},className:`hover-shift`,children:[(0,T.jsx)(tn,{size:I.lg}),n(`chat.recall`)]})})]}),e?.steering.map((e,t)=>(0,T.jsx)(xZ,{kind:`steer`,text:e},`steer-${t}`)),e?.followUp.map((e,t)=>(0,T.jsx)(xZ,{kind:`follow-up`,text:e},`followup-${t}`))]})}function VZ({retryInfo:e}){let{t}=M();return e?(0,T.jsxs)(`div`,{style:{marginBottom:8,padding:`5px 10px`,background:`color-mix(in srgb, var(--status-warning) 8%, transparent)`,border:`1px solid color-mix(in srgb, var(--status-warning) 25%, transparent)`,borderRadius:6,fontSize:`var(--text-base)`,color:`var(--status-warning)`,display:`flex`,alignItems:`center`,gap:6},children:[(0,T.jsx)(kn,{size:I.sm,style:{flexShrink:0}}),t(`chat.retrying`,{attempt:e.attempt,max:e.maxAttempts}),e.errorMessage&&(0,T.jsxs)(`span`,{style:{opacity:.7,marginLeft:4},children:[`— `,e.errorMessage]})]}):null}function HZ({text:e}){return e?(0,T.jsxs)(`div`,{style:{marginBottom:8,padding:`5px 10px`,background:`color-mix(in srgb, var(--status-success) 8%, transparent)`,border:`1px solid color-mix(in srgb, var(--status-success) 24%, transparent)`,borderRadius:6,fontSize:`var(--text-base)`,color:`color-mix(in srgb, var(--status-success) 95%, transparent)`,display:`flex`,alignItems:`center`,gap:6},children:[(0,T.jsx)(qt,{size:I.sm,style:{flexShrink:0}}),e]}):null}function UZ({error:e}){return e?(0,T.jsx)(`div`,{role:`alert`,style:{marginBottom:8,padding:`7px 10px`,background:`color-mix(in srgb, var(--status-error) 7%, transparent)`,border:`1px solid color-mix(in srgb, var(--status-error) 30%, transparent)`,borderRadius:6,color:`var(--status-error)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,lineHeight:1.5,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:e}):null}function WZ(e,t){requestAnimationFrame(()=>{e&&(e.focus(),t!==void 0&&e.setSelectionRange(t,t),e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,200)}px`)})}function GZ(e){e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,200)}px`)}function KZ(e){let t=/(?:^|\s)@"([^"\n]*)$/.exec(e);if(t)return{start:e.length-(t[1].length+2),query:t[1],quoted:!0};let n=/(?:^|\s)@([^\s"]*)$/.exec(e);return n?{start:e.length-(n[1].length+1),query:n[1],quoted:!1}:null}function qZ(e){let t=0;for(let n=0;n<e.length;n++)e[n]===`/`&&t++;return t}function JZ(e){let t=new Set;for(let n of e){let e=n.indexOf(`/`);for(;e!==-1;)t.add(n.slice(0,e)),e=n.indexOf(`/`,e+1)}let n=[];for(let e of t)n.push({path:e,isDir:!0});for(let t of e)t&&n.push({path:t,isDir:!1});return n.sort((e,t)=>qZ(e.path)-qZ(t.path)||e.path.localeCompare(t.path)),n}function YZ(e,t){let n=e.path.toLowerCase(),r=0;if(t.includes(`/`))n===t?r=100:n.startsWith(t)?r=80:n.includes(t)&&(r=50);else{let e=n.lastIndexOf(`/`),i=e===-1?n:n.slice(e+1);i===t?r=100:i.startsWith(t)?r=80:i.includes(t)?r=50:n.includes(t)&&(r=30)}return e.isDir&&r>0&&(r+=10),r}function XZ(e,t,n=20){let r=t.toLowerCase();if(!r)return e.slice(0,n);let i=[];for(let t of e){let e=YZ(t,r);e>0&&i.push({entry:t,score:e})}return i.sort((e,t)=>t.score-e.score||qZ(e.entry.path)-qZ(t.entry.path)||e.entry.path.localeCompare(t.entry.path)),i.slice(0,n).map(e=>e.entry)}function ZZ(e,t,n=!1){let r=t?`${e}/`:e,i=n||r.includes(` `);if(t){let e=i?`@"${r}"`:`@${r}`;return{text:e,cursorOffset:i?e.length-1:e.length}}let a=i?`@"${r}" `:`@${r} `;return{text:a,cursorOffset:a.length}}function QZ(e,t){let n=t?`${e}/`:e;return n.includes(` `)?`@"${n}" `:`@${n} `}function $Z(e,t,n){let r=Math.max(1,Math.min(t,n)),i=Math.max(1,Math.max(t,n));return`${e.includes(` `)?`@"${e}"`:`@${e}`}${r===i?`:${r}`:`:${r}-${i}`} `}function eQ(e){return e.map(e=>QZ(e,!1)).join(``)}function tQ(e,t){let n=t!==null,[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(!1),[s,c]=(0,d.useState)(null),l=(0,d.useRef)(null),u=(0,d.useRef)(null),f=!!(t&&r?.truncated&&r.cwd===e);(0,d.useEffect)(()=>{if(!f||!e||!t)return;let n=e,r=t,i=setTimeout(()=>{fetch(`/api/file-index?cwd=${encodeURIComponent(n)}&q=${encodeURIComponent(r)}`).then(e=>{if(!e.ok)throw Error(`file search failed: ${e.status}`);return e.json()}).then(e=>c({cwd:n,query:r,matches:e.matches??[]})).catch(()=>{})},150);return()=>clearTimeout(i)},[f,t,e]);let p=f&&s!==null&&s.cwd===e&&s.query===t;return(0,d.useEffect)(()=>{if(!n||!e)return;let t=l.current;if(t&&t.cwd===e&&Date.now()-t.fetchedAt<1e4||u.current===e)return;u.current=e;let r=e;o(!0),fetch(`/api/file-index?cwd=${encodeURIComponent(r)}`).then(e=>{if(!e.ok)throw Error(`file index failed: ${e.status}`);return e.json()}).then(e=>{i({cwd:r,entries:JZ(e.files??[]),truncated:!!e.truncated}),l.current={cwd:r,fetchedAt:Date.now()}}).catch(()=>{l.current=null}).finally(()=>{u.current=null,o(!1)})},[n,e]),{fileIndex:r,fileIndexLoading:a,needsServerSearch:f,serverResultInUse:p,serverMatches:p?s?.matches??null:null}}function nQ({cwd:e,value:t,setValue:n,textareaRef:r}){let[i,a]=(0,d.useState)(null),[o,s]=(0,d.useState)(!1),[c,l]=(0,d.useState)(0),u=(0,d.useRef)([]),f=(0,d.useCallback)((t,n)=>{if(!e){a(null);return}let r=n??t.length;a(KZ(t.slice(0,r)))},[e]),p=i?.query??null,{fileIndex:m,fileIndexLoading:h,needsServerSearch:g,serverResultInUse:_,serverMatches:v}=tQ(e,p),y=(0,d.useMemo)(()=>p!==null&&m&&m.cwd===e?XZ(m.entries,p):[],[p,m,e]),b=v??y,x=i===null?null:`${i.start}:${+!!i.quoted}:${i.query}`;ir(()=>{if(x===null){s(!1),l(0);return}s(!0),l(0)},[x]);let S=(0,d.useCallback)(e=>{if(!i)return;let o=r.current?.selectionStart??t.length,s=t.slice(0,i.start),c=t.slice(o);i.quoted&&c.startsWith(`"`)&&(c=c.slice(1));let l=ZZ(e.path,e.isDir,i.quoted),u=s+l.text+c,d=s.length+l.cursorOffset;n(u),a(KZ(u.slice(0,d))),WZ(r.current,d)},[i,t,n,r]);return ir(()=>{c>=b.length&&l(Math.max(0,b.length-1))},[b.length,c]),(0,d.useEffect)(()=>{u.current.length=b.length},[b.length]),(0,d.useEffect)(()=>{o&&u.current[c]?.scrollIntoView({block:`nearest`,inline:`nearest`})},[c,o]),{atQuery:i,setAtQuery:a,atMenuOpen:o,setAtMenuOpen:s,atActiveIndex:c,setAtActiveIndex:l,atItemRefs:u,atMatches:b,fileIndex:m,fileIndexLoading:h,needsServerSearch:g,serverResultInUse:_,updateAtQuery:f,applyAtCompletion:S}}var rQ=100;function iQ({value:e,isStreaming:t,onAbort:n,onSteer:r,onFollowUp:i,onRecallQueue:a,queuedCount:o,handleSend:s,sendQueued:c,slashPalette:l,atMenuOpen:u,setAtMenuOpen:f,atQuery:p,atMatches:m,atActiveIndex:h,setAtActiveIndex:g,applyAtCompletion:_,historyMenuOpen:v,setHistoryMenuOpen:y,inputHistory:b,historyActiveIndex:x,setHistoryActiveIndex:S,applyHistoryInput:C,isComposingRef:w,lastCompositionEndAtRef:T}){return(0,d.useCallback)(d=>{let E=d.nativeEvent,D=Date.now()-T.current<rQ,O=w.current||E.isComposing||E.keyCode===229;if(d.key===`Enter`&&!d.shiftKey&&(O||D)){D&&d.preventDefault();return}if(v&&!O){if(d.key===`ArrowDown`){d.preventDefault(),S(e=>Math.min(Math.max(0,b.length-1),e+1));return}if(d.key===`ArrowUp`){d.preventDefault(),S(e=>Math.max(0,e-1));return}if(d.key===`Escape`){d.preventDefault(),y(!1);return}if((d.key===`Tab`||d.key===`Enter`&&!d.shiftKey)&&b[x]){d.preventDefault(),C(b[x]);return}}if(!l.handleKeyDown(d)){if(u&&p!==null&&!O){if(d.key===`ArrowDown`){d.preventDefault(),g(e=>Math.min(Math.max(0,m.length-1),e+1));return}if(d.key===`ArrowUp`){d.preventDefault(),g(e=>Math.max(0,e-1));return}if(d.key===`Escape`){d.preventDefault(),f(!1);return}if((d.key===`Tab`||d.key===`Enter`&&!d.shiftKey)&&m[h]){d.preventDefault(),_(m[h]);return}}if(d.key===`ArrowUp`&&!O&&!t&&b.length>0&&e.trim().length===0){d.preventDefault(),f(!1),S(b.length-1),y(!0);return}if(d.key===`Escape`&&!O&&t&&n){d.preventDefault(),n();return}d.key===`Enter`&&!d.shiftKey&&(d.preventDefault(),e.trim().length===0&&a&&o>0?a():t&&(r||i)?c(r?`steer`:`followup`):s())}},[t,r,i,a,o,n,l,c,s,u,f,p,m,h,g,_,v,y,b,x,S,C,e,w,T])}function aQ({dropdownRef:e,modelDropdownPanelRef:t,toolDropdownRef:n,thinkingDropdownRef:r,controlsMenuRef:i,historyMenuRef:a,textareaRef:o,setModelDropdownOpen:s,setModelFilter:c,setToolDropdownOpen:l,setThinkingDropdownOpen:u,setControlsMenuOpen:f,setHistoryMenuOpen:p}){(0,d.useEffect)(()=>{let d=d=>{e.current&&!e.current.contains(d.target)&&t.current&&!t.current.contains(d.target)&&(s(!1),c(``)),n.current&&!n.current.contains(d.target)&&l(!1),r.current&&!r.current.contains(d.target)&&u(!1),i.current&&!i.current.contains(d.target)&&f(!1),a.current&&!a.current.contains(d.target)&&!o.current?.contains(d.target)&&p(!1)};return document.addEventListener(`mousedown`,d),()=>document.removeEventListener(`mousedown`,d)},[e,t,n,r,i,a,o,s,c,l,u,f,p])}function oQ({draftKey:e,isStreaming:t,model:n,modelList:r}){let[i,a]=(0,d.useState)(()=>e?cZ(HX(e)?.images):[]),o=(0,d.useRef)(i),s=(0,d.useRef)(0),c=(0,d.useRef)(null);(0,d.useEffect)(()=>{o.current=i});let l=n?r?.find(e=>e.provider===n.provider&&e.id===n.modelId)?.input:void 0,u=(0,d.useCallback)(e=>ZX(l,e),[l]),f=(0,d.useCallback)(async e=>{if(t)return;let n=Math.max(0,10-o.current.length-s.current),r=e.filter(e=>{let t=XX(e.type);return t!==null&&u(t)}).slice(0,n);if(r.length){s.current+=r.length;try{let e=await Promise.all(r.map(dZ));a(t=>{let n=e.slice(0,Math.max(0,10-t.length));return e.slice(n.length).forEach(lZ),[...t,...n]})}finally{s.current-=r.length}}},[t,u]),p=(0,d.useCallback)(e=>{a(t=>{let n=[...t],[r]=n.splice(e,1);return r&&lZ(r),n})},[]),m=(0,d.useCallback)(()=>{a(e=>(e.forEach(lZ),[]))},[]),h=(0,d.useCallback)(e=>{a(t=>(t.forEach(lZ),e))},[]);return(0,d.useEffect)(()=>()=>{o.current.forEach(lZ)},[]),{attachedImages:i,attachedImagesRef:o,processAttachments:f,removeImage:p,clearImages:m,resetAttachments:h,visibleAttachKinds:iZ.filter(({kind:e})=>u(e)),openFilePicker:(0,d.useCallback)(e=>{let t=c.current;t&&(t.accept=YX[e],t.click())},[]),fileInputRef:c}}function sQ({draftKey:e,value:t,setValue:n,setAtQuery:r,setHistoryMenuOpen:i,attachedImages:a,attachedImagesRef:o,clearImages:s,resetAttachments:c,textareaRef:l}){let u=(0,d.useRef)(e),f=(0,d.useRef)(t);(0,d.useEffect)(()=>{f.current=t});let p=(0,d.useCallback)(()=>{n(``),r(null),i(!1),e&&WX(e),u.current&&u.current!==e&&WX(u.current),s(),l.current&&(l.current.style.height=`auto`)},[s,e,r,i,n,l]);return(0,d.useEffect)(()=>{!e||u.current!==e||UX(e,{value:t,images:a.map(oZ).filter(e=>e!==null)})},[a,e,t]),(0,d.useEffect)(()=>{let t=u.current;if(t===e)return;t&&UX(t,{value:f.current,images:o.current.map(oZ).filter(e=>e!==null)});let a=e?HX(e):null;if(u.current=e,n(a?.value??``),r(null),i(!1),c(cZ(a?.images)),e){let t=qX(e);t!==null&&(n(t),JX(e))}},[e,r,i,n,c,o]),{clearInput:p}}function cQ({ref:e,textareaRef:t,value:n,setValue:r,setAtQuery:i,processAttachments:a}){(0,d.useImperativeHandle)(e,()=>({insertIfEmpty(e){let a=t.current;(a?a.value:n).trim()||(r(e),i(null),WZ(a))},prependText(e){if(!e.trim())return;let a=t.current,o=[e,a?a.value:n].filter(e=>e.trim()).join(`
353
+ `))}catch(e){console.error(`Failed to recall queued messages:`,e),i({type:`error`,message:a(`i18n.failedToRecallQueuedMessages`)})}},[r,i,e,n,a])}}function hX({sessionIdRef:e,hasPendingOptimisticUserRef:t,newSessionPromotedRef:n,entryIds:r,isNew:i,newSessionCwd:a,onSessionCreated:o,setActiveLeafId:s,setCurrentModelOverride:c,setData:l,setEntryIds:u,setError:f,setLoading:p,setMessages:m,setQueuedMessages:h,setThinkingLevel:g,setToolPresetState:_,applyAgentState:v}){return{loadSession:(0,d.useCallback)(async(n,i=!1,a=!1)=>{let o=!1;try{i&&p(!0);let d=new URLSearchParams({deferMedia:`1`}),_=await fetch(`/api/sessions/${encodeURIComponent(n)}?${d}`);if(_.status===404)return i&&(l(null),s(null),m.apply(`loadSession:notFound`,[]),f(null)),null;if(!_.ok)throw Error(`HTTP ${_.status}`);let y=await _.json();if(e.current!==n)return null;if(l(y),s(y.leafId),t.current){let e=y.context.entryIds??[];m.apply(`loadSession:keepOptimistic`,t=>mJ(y.context.messages,e,t,r)),u(e)}else m.replaceAll(`loadSession`,y.context.messages),u(y.context.entryIds??[]);if(c(null),f(null),y.context.thinkingLevel&&y.context.thinkingLevel!==`off`&&g(y.context.thinkingLevel),o=!0,i&&p(!1),!a)return null;try{let t=await fetch(`/api/sessions/${encodeURIComponent(n)}/state`);if(!t.ok)throw Error(`HTTP ${t.status}`);let r=await t.json();if(e.current!==n)return null;let i=r.state;return i?v(i):r.running||h({steering:[],followUp:[]}),r}catch(e){return console.error(`Failed to load agent state:`,e),null}}catch(e){return f(String(e)),null}finally{i&&!o&&p(!1)}},[v,g,c,m,r,t,e,s,l,u,f,p,h]),loadContext:(0,d.useCallback)(async(e,t,n=!1)=>{try{let i=new URLSearchParams({deferMedia:`1`});t&&i.set(`leafId`,t);let a=`/api/sessions/${encodeURIComponent(e)}/context?${i}`,o=await fetch(a);if(!o.ok)throw Error(`HTTP ${o.status}`);let s=await o.json(),c=s.context.entryIds??[];m.apply(`loadContext merge=${n}`,e=>n?mJ(s.context.messages,c,e,r):s.context.messages),u(c)}catch(e){console.error(`Failed to load context:`,e)}},[r,m,u]),loadTools:(0,d.useCallback)(async e=>{try{let t=await bW(e,{type:`get_tools`});t&&_(OY(t))}catch(e){console.error(`Failed to load tools:`,e)}},[_]),promoteNewSession:(0,d.useCallback)((t=0,r=`(no messages)`)=>{let s=e.current;!i||!a||!s||n.current||(n.current=!0,o?.({id:s,path:``,cwd:a,name:void 0,created:new Date().toISOString(),modified:new Date().toISOString(),messageCount:t,firstMessage:r}))},[i,a,o,n,e])}}function gX({messages:e,contextUsage:t,data:n,session:r,sessionIdRef:i}){let[a,o]=(0,d.useState)(null);return{sessionStats:(0,d.useMemo)(()=>{if(a)return a;let o={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},s=0,c=0,l=0,u=0,d=0;for(let t of e){if(t.role===`user`&&(c+=1),t.role===`toolResult`&&(u+=1),t.role!==`assistant`)continue;l+=1;let e=t.usage;d+=t.content.filter(e=>e.type===`toolCall`).length,e&&(o.input+=e.input??0,o.output+=e.output??0,o.cacheRead+=e.cacheRead??0,o.cacheWrite+=e.cacheWrite??0,s+=e.cost?.total??0)}return o.total=o.input+o.output+o.cacheRead+o.cacheWrite,o.total===0&&e.length===0?null:{sessionFile:n?.filePath||void 0,sessionId:i.current??r?.id??``,sessionName:r?.name,userMessages:c,assistantMessages:l,toolCalls:d,toolResults:u,totalMessages:e.length,tokens:o,cost:s,...t?{contextUsage:t}:{}}},[e,a,t,n?.filePath,r?.id,r?.name,i]),setSessionStatsOverride:o}}function _X({sessionIdRef:e,ensureNewSession:t}){let[n,r]=(0,d.useState)([]),[i,a]=(0,d.useState)(!1);return{slashCommands:n,slashCommandsLoading:i,loadSlashCommands:(0,d.useCallback)(async()=>{let n=e.current??await t();if(!n)return r([]),[];a(!0);try{let e=(await bW(n,{type:`get_commands`}))?.commands??[];return r(e),e}catch(e){return console.error(`Failed to load slash commands:`,e),r([]),[]}finally{a(!1)}},[t,e])}}var vX=e=>{let t=e;return t?typeof t.thinking==`string`?t.thinking.length:typeof t.text==`string`?t.text.length:typeof t.streamingOutput==`string`?t.streamingOutput.length:0:0};function yX(){let e=new Map,t=new Map;return{snapshot(n){e.clear(),t.clear(),Array.isArray(n)&&n.forEach((n,r)=>{e.set(r,vX(n)),t.set(r,0)})},take(n,r){let i=e.get(n)??0,a=t.get(n)??0;t.set(n,a+r.length);let o=Math.min(Math.max(i-a,0),r.length);return o>0?r.slice(o):r},reset(){e.clear(),t.clear()}}}function bX(e,t){switch(t.type){case`start`:return{isStreaming:!0,streamingMessage:null};case`update`:return{isStreaming:!0,streamingMessage:t.message};case`end`:case`reset`:return{isStreaming:!1,streamingMessage:null};default:return e}}var xX=200,SX=32;function CX({agentRunningRef:e}){let[t,n]=(0,d.useReducer)(bX,{isStreaming:!1,streamingMessage:null}),r=(0,d.useRef)(null),i=(0,d.useRef)(null),a=(0,d.useRef)(null),o=(0,d.useRef)(new Map),s=(0,d.useRef)(yX()),c=(0,d.useRef)(!0),l=(0,d.useRef)([]),u=(0,d.useRef)(new Map),f=(0,d.useRef)(null),p=(0,d.useRef)(null),m=(0,d.useCallback)(()=>{let e=o.current;if(e.size===0)return;let t=a.current;if(!t){e.clear();return}let n=t.content;if(!Array.isArray(n)){e.clear();return}for(let[t,r]of e){let e=r.join(``),i=n[t];if(!i)continue;let a=s.current.take(t,e);a&&(i.type===`thinking`?i.thinking=(i.thinking??``)+a:i.type===`text`?i.text=(i.text??``)+a:i.type===`toolCall`&&(i.streamingOutput=(i.streamingOutput??``)+a))}e.clear()},[]),h=(0,d.useCallback)(()=>{i.current&&=(clearTimeout(i.current),null),m();let t=r.current;if(r.current=null,t&&e.current){let e=t,r={...t,content:[...e.content??[]]};(0,d.startTransition)(()=>n({type:`update`,message:r}))}else if(a.current&&e.current){let e=a.current,t={...e,content:[...e.content??[]]};(0,d.startTransition)(()=>n({type:`update`,message:t}))}},[n,m,e]);return(0,d.useEffect)(()=>()=>{i.current&&=(clearTimeout(i.current),null),f.current&&=(clearTimeout(f.current),null),p.current&&=(clearTimeout(p.current),null)},[]),{streamState:t,dispatch:n,flushStreamUpdate:h,flushPendingDeltas:m,pendingStreamRef:r,streamingMsgRef:a,pendingDeltasRef:o,streamResyncRef:s,streamFirstFlushRef:c,streamFlushTimerRef:i,pendingBashDeltasRef:l,pendingToolUpdatesRef:u,bashFlushTimerRef:f,toolFlushTimerRef:p,coalesceMs:xX,coalesceFirstMs:SX}}function wX(e,t,n){let r=(t?n.find(e=>e.provider===t.provider&&e.id===t.modelId):void 0)?.contextWindow??e?.contextWindow;if(!r)return e??null;let i=e?e.tokens:0;return{percent:i===null?null:i/r*100,contextWindow:r,tokens:i}}function TX(e){let{session:t,newSessionCwd:n,onAgentEnd:r,onAgentSettled:i,onAgentError:a,onSessionCreated:o,onSessionForked:s,modelsRefreshKey:c}=e,l=t===null&&n!==null,[u,f]=(0,d.useState)(null),[p,m]=(0,d.useState)(!l),[h,g]=(0,d.useState)(null),[_,v]=(0,d.useState)(null),[y,b]=(0,d.useState)([]),x=(0,d.useRef)(null);x.current||=dJ(b);let S=x.current,[C,w]=(0,d.useState)([]),{agentRunning:T,bashRunning:E,agentPhase:D,retryInfo:O,agentRunningRef:k,bashRunningRef:A,setAgentRunning:j,setAgentRunningSynced:N,setBashRunningSynced:ee,setAgentPhase:te,setRetryInfo:P}=xY(),[ne,re]=(0,d.useState)(``),[ie,ae]=(0,d.useState)(null),[oe,se]=(0,d.useState)(null),[ce,le]=(0,d.useState)(null),[ue,de]=(0,d.useState)(null),{isCompacting:fe,compactError:pe,compactResult:me,setIsCompacting:he,setCompactError:ge,setCompactResult:_e}=CY(),{noticeState:ve,addNotice:ye,dismissModal:be}=BJ(),{t:xe}=M(),[Se,Ce]=(0,d.useState)({steering:[],followUp:[]}),[we,Te]=(0,d.useState)(!1),Ee=(0,d.useRef)(null),De=(0,d.useRef)(null),Oe=(0,d.useRef)(null),ke=(0,d.useRef)(null),Ae=(0,d.useRef)(0),je=(0,d.useRef)(!1),Me=(0,d.useRef)(t?.id??null),{streamState:Ne,dispatch:Pe,flushStreamUpdate:Fe,flushPendingDeltas:Ie,pendingStreamRef:Le,streamingMsgRef:Re,pendingDeltasRef:ze,streamResyncRef:Be,streamFirstFlushRef:Ve,streamFlushTimerRef:He,pendingBashDeltasRef:Ue,pendingToolUpdatesRef:We,bashFlushTimerRef:Ge,toolFlushTimerRef:Ke,coalesceMs:qe,coalesceFirstMs:Je}=CX({agentRunningRef:k}),Ye=(0,d.useRef)(!1),Xe=(0,d.useRef)(!1),Ze=(0,d.useRef)(-1),Qe=(0,d.useRef)(0),$e=(0,d.useRef)(null),et=(0,d.useRef)(void 0),tt=(0,d.useRef)(null),nt=(0,d.useRef)(!1),rt=(0,d.useRef)(0),it=(0,d.useRef)(!1),at=(0,d.useRef)(0),{modelNames:ot,modelList:st,modelError:ct,modelScopeWarnings:lt,modelThinkingLevels:ut,modelThinkingLevelMaps:dt,newSessionModel:ft,newSessionDefaultModel:pt,toolPreset:mt,thinkingLevel:ht,currentModelOverride:gt,pendingModel:_t,setThinkingLevel:vt,setPendingModel:yt,setNewSessionDefaultModel:bt,setCurrentModelOverride:xt,setModelError:St,setToolPresetState:Ct,newSessionModelOverrideRef:wt,thinkingLevelOverrideRef:Tt,loadModels:Et,handleModelChange:Dt,handleThinkingLevelChange:Ot,handleToolPresetChange:kt}=iX({isNew:l,sessionIdRef:Me,ensuringNewSessionRef:tt,setToolPresetOverride:e.setToolPreset,addNotice:ye,t:xe}),{ensureNewSession:At}=AY({ensuringNewSessionRef:tt,sessionIdRef:Me,isNew:l,newSessionCwd:n,toolPreset:mt,thinkingLevelOverrideRef:Tt,newSessionModelOverrideRef:wt,setPendingModel:yt,setThinkingLevel:vt,setNewSessionDefaultModel:bt}),{slashCommands:jt,slashCommandsLoading:Mt,loadSlashCommands:Nt}=_X({sessionIdRef:Me,ensureNewSession:At}),{extensionDialog:Pt,extensionCustomUi:Ft,extensionStatuses:It,extensionWidgets:Lt,setExtensionStatuses:Rt,setExtensionWidgets:zt,respondToExtensionUi:Bt,sendExtensionCustomInput:Vt,handleExtensionUiRequest:Ht}=qY({addNotice:ye,chatInputRef:e.chatInputRef,sessionIdRef:Me}),Ut=(0,d.useCallback)(e=>{e?.contextUsage!==void 0&&se(e.contextUsage??null),e?.systemPrompt!==void 0&&le(e.systemPrompt??null),e?.thinkingLevel!==void 0&&vt(e.thinkingLevel??`auto`),e?.extensionStatuses!==void 0&&Rt(e.extensionStatuses??[]),e?.extensionWidgets!==void 0&&zt(e.extensionWidgets??[]),e?.queuedMessages!==void 0&&Ce(cJ(e.queuedMessages))},[vt,Rt,zt]),Wt=gt??u?.context.model??_t??null,Gt=l?ft??pt:Wt,Kt=(0,d.useMemo)(()=>wX(oe,Gt,st),[oe,Gt,st]),{handleThinkingLevelChangeWithMemory:qt}=cX({displayModel:Gt,modelThinkingLevels:ut,thinkingLevel:ht,isNew:l,sessionIdRef:Me,thinkingLevelOverrideRef:Tt,setThinkingLevel:vt,handleThinkingLevelChange:Ot}),{sessionStats:Jt,setSessionStatsOverride:Yt}=gX({messages:y,contextUsage:oe,data:u,session:t,sessionIdRef:Me}),{loadSession:Xt,loadContext:Zt,loadTools:Qt,promoteNewSession:$t}=hX({sessionIdRef:Me,hasPendingOptimisticUserRef:it,newSessionPromotedRef:nt,entryIds:C,isNew:l,newSessionCwd:n,onSessionCreated:o,setActiveLeafId:v,setCurrentModelOverride:xt,setData:f,setEntryIds:w,setError:g,setLoading:m,setMessages:S,setQueuedMessages:Ce,setThinkingLevel:vt,setToolPresetState:Ct,applyAgentState:Ut}),{cancelEventStreamGrace:en,closeEvents:tn,connectEvents:nn,ensureEventsConnected:rn,settleUiStage:an,notifyPromptStage:on,scheduleEventStreamClose:sn,finishPromptWithoutStream:cn,waitForPromptSettlement:ln}=vY({sessionIdRef:Me,eventUnsubRef:Ee,eventSourceSessionIdRef:De,eventConnectionAttemptRef:Oe,eventStreamGraceTimerRef:ke,eventStreamGraceGenerationRef:Ae,eventStreamGraceActiveRef:je,agentRunningRef:k,sdkAgentActiveRef:Ye,rpcPromptPendingRef:Xe,notifiedPromptRunIdRef:Ze,promptRunIdRef:rt,lastAgentEventAtRef:at,hasPendingOptimisticUserRef:it,loadSession:Xt,dispatch:Pe,setAgentRunning:j,setAgentRunningSynced:N,setAgentPhase:te,setRetryInfo:P,setIsCompacting:he,onAgentEnd:r,onAgentSettled:i}),{waitForBashSettlement:un}=jJ({agentRunning:T,bashRecoveryIdRef:Qe,bashRunningRef:A,sessionIdRef:Me,agentRunningRef:k,promptRunIdRef:rt,loadSession:Xt,setBashRunningSynced:ee,setPendingBash:ae,setIsCompacting:he,setQueuedMessages:Ce,applyAgentState:Ut,finishPromptWithoutStream:cn});$e.current=DJ({lastAgentEventAtRef:at,streamingMsgRef:Re,pendingDeltasRef:ze,streamResyncRef:Be,streamFirstFlushRef:Ve,streamFlushTimerRef:He,pendingStreamRef:Le,agentRunningRef:k,sdkAgentActiveRef:Ye,rpcPromptPendingRef:Xe,promptRunIdRef:rt,hasPendingOptimisticUserRef:it,sessionIdRef:Me,bashFlushTimerRef:Ge,pendingBashDeltasRef:Ue,toolFlushTimerRef:Ke,pendingToolUpdatesRef:We,cancelEventStreamGrace:en,scheduleEventStreamClose:sn,settleUiStage:an,notifyPromptStage:on,flushStreamUpdate:Fe,flushPendingDeltas:Ie,applyAgentState:Ut,loadSession:Xt,handleExtensionUiRequest:Ht,onAgentEnd:r,onAgentSettled:i,onAgentError:a,addNotice:ye,t:xe,setMessages:S,dispatch:Pe,setAgentRunningSynced:N,setAgentPhase:te,setRetryInfo:P,setQueuedMessages:Ce,setBashOutput:re,setIsCompacting:he,setCompactError:ge,setCompactResult:_e,coalesceMs:qe,coalesceFirstMs:Je}),rX({sessionIdRef:Me,handleAgentEventRef:$e,handleExtensionUiRequest:Ht});let{scrollContainerRef:dn,messagesEndRef:fn,lastUserMsgRef:pn,pendingScrollToUserRef:mn,initialScrollDoneRef:hn,completionScrollAllowedRef:gn}=pX({messagesLength:y.length,loading:p,agentRunning:T,isStreaming:Ne.isStreaming,streamingMessage:Ne.streamingMessage,agentRunningRef:k}),{handleSend:_n,executeBash:vn,handleSteer:yn,handlePromptWithStreamingBehavior:bn,handleFollowUp:xn}=yY({sessionIdRef:Me,ensuringNewSessionRef:tt,ensureNewSession:At,isNew:l,newSessionCwd:n,newSessionModel:ft,currentModelOverride:gt,session:t,agentRunningRef:k,bashRunningRef:A,rpcPromptPendingRef:Xe,hasPendingOptimisticUserRef:it,promptRunIdRef:rt,executeBashRef:et,setMessages:S,setPendingModel:yt,setAgentRunningSynced:N,setBashRunningSynced:ee,setAgentPhase:te,dispatch:Pe,setPendingBash:ae,setBashOutput:re,pendingScrollToUserRef:mn,completionScrollAllowedRef:gn,chatInputRef:e.chatInputRef,addNotice:ye,ensureEventsConnected:rn,waitForPromptSettlement:ln,cancelEventStreamGrace:en,closeEvents:tn,promoteNewSession:$t,loadSession:Xt});et.current=vn;let{handleAbort:Sn,handleAbortCompaction:Cn,handleRecallQueue:wn}=mX({sessionIdRef:Me,bashRunningRef:A,setQueuedMessages:Ce,chatInputRef:e.chatInputRef,addNotice:ye}),{handleFork:Tn,handleNavigate:En,handleLeafChange:Dn,handleCompact:On}=(0,d.useMemo)(()=>bY({sessionIdRef:Me,bashRunningRef:A,setForkingEntryId:de,onSessionForked:s,setActiveLeafId:v,loadContext:Zt,loadSession:Xt,isCompacting:fe,setIsCompacting:he,setCompactError:ge,setCompactResult:_e}),[fe,Zt,Xt,s,Me,A,he,ge,_e]),kn=(0,d.useCallback)(e=>MJ({sessionIdRef:Me,ensureNewSession:At,addNotice:ye,t:xe,setCommandBusy:Te,isCompacting:fe,setIsCompacting:he,setCompactError:ge,setCompactResult:_e,loadSession:Xt,promoteNewSession:$t,loadTools:Qt,loadSlashCommands:Nt,loadModels:Et,setSessionStatsOverride:Yt},e),[Me,ye,At,fe,Et,Xt,Nt,Qt,$t,Yt,ge,_e,he,xe]);return SY({session:t,isNew:l,newSessionCwd:n,modelsRefreshKey:c,messages:y,compactResult:me,contextUsage:oe,sessionIdRef:Me,bashRecoveryIdRef:Qe,sdkAgentActiveRef:Ye,rpcPromptPendingRef:Xe,loadSession:Xt,loadTools:Qt,connectEvents:nn,closeEvents:tn,cancelEventStreamGrace:en,waitForPromptSettlement:ln,waitForBashSettlement:un,ensureNewSession:At,applyAgentState:Ut,loadModels:Et,setAgentRunningSynced:N,setBashRunningSynced:ee,setAgentPhase:te,setIsCompacting:he,setCompactResult:_e,setModelError:St,setSessionStatsOverride:Yt,dispatch:Pe}),{data:u,loading:p,error:h,activeLeafId:_,tree:u?.tree??[],messages:y,entryIds:C,streamState:Ne,agentRunning:T,modelNames:ot,modelList:st,modelError:ct,modelScopeWarnings:lt,modelThinkingLevels:ut,modelThinkingLevelMaps:dt,newSessionModel:ft,toolPreset:mt,thinkingLevel:ht,retryInfo:O,displayContextUsage:Kt,systemPrompt:ce,forkingEntryId:ue,isCompacting:fe,compactError:pe,compactResult:me,currentModel:Wt,displayModel:Gt,sessionStats:Jt,slashCommands:jt,slashCommandsLoading:Mt,queuedMessages:Se,notices:ve.visible,noticeModals:ve.modals,dismissNoticeModal:be,extensionDialog:Pt,extensionCustomUi:Ft,extensionStatuses:It,extensionWidgets:Lt,respondToExtensionUi:Bt,sendExtensionCustomInput:Vt,isAutoModelSelection:l&&ft===null,agentPhase:D,isNew:l,sessionIdRef:Me,loadContext:Zt,messagesEndRef:fn,scrollContainerRef:dn,lastUserMsgRef:pn,pendingScrollToUserRef:mn,initialScrollDoneRef:hn,handleSend:_n,handleAbort:Sn,handleFork:Tn,handleNavigate:En,handleLeafChange:Dn,handleModelChange:Dt,handleCompact:On,handleSteer:yn,handleFollowUp:xn,handlePromptWithStreamingBehavior:bn,handleAbortCompaction:Cn,handleRecallQueue:wn,handleBuiltinSlashCommand:kn,handleToolPresetChange:kt,handleThinkingLevelChange:qt,loadTools:Qt,loadSlashCommands:Nt,setActiveLeafId:v,setData:f,setMessages:S,setSessionStatsOverride:Yt,dispatch:Pe,setAgentRunning:j,setForkingEntryId:de,bashRunning:E,bashOutput:ne,pendingBash:ie,commandBusy:we,handleAgentEventRef:$e}}function EX(e){let t=e.currentTime;[523.25,659.25].forEach((n,r)=>{let i=e.createOscillator(),a=e.createGain();i.connect(a),a.connect(e.destination),i.type=`sine`,i.frequency.value=n;let o=t+r*.18;a.gain.setValueAtTime(0,o),a.gain.linearRampToValueAtTime(.18,o+.02),a.gain.exponentialRampToValueAtTime(.001,o+.45),i.start(o),i.stop(o+.45)})}function DX(){let[e,t]=(0,d.useState)(()=>{if(typeof window>`u`)return!0;let e=localStorage.getItem(`pi-sound-enabled`);return e===null||e===`true`}),n=(0,d.useRef)(e);(0,d.useEffect)(()=>{n.current=e},[e]);let r=(0,d.useRef)(null),i=(0,d.useCallback)(()=>{if(r.current&&r.current.state!==`closed`)return r.current;try{r.current=new AudioContext}catch{return null}return r.current},[]),a=(0,d.useCallback)((e=!1)=>{if(!e&&!n.current)return;let t=i();t?.state===`suspended`&&t.resume().catch(()=>{})},[i]);return{soundEnabled:e,onSoundToggle:(0,d.useCallback)(()=>{let e=!n.current;e&&a(!0),n.current=e,localStorage.setItem(`pi-sound-enabled`,String(e)),t(e)},[a]),playDoneSound:(0,d.useCallback)(()=>{if(!n.current)return;let e=i();if(!e)return;let t=()=>{try{EX(e)}catch{}};if(e.state===`suspended`){e.resume().then(t).catch(()=>{});return}t()},[i]),unlockAudio:a,soundEnabledRef:n}}function OX(e){let[t,n]=(0,d.useState)(!1),r=(0,d.useRef)(0);return{isDragOver:t,handleDragEnter:(0,d.useCallback)(e=>{Array.from(e.dataTransfer.items).some(e=>e.type.startsWith(`image/`))&&(e.preventDefault(),r.current+=1,n(!0))},[]),handleDragOver:(0,d.useCallback)(e=>{Array.from(e.dataTransfer.items).some(e=>e.type.startsWith(`image/`))&&e.preventDefault()},[]),handleDragLeave:(0,d.useCallback)(()=>{--r.current,r.current<=0&&(r.current=0,n(!1))},[]),handleDrop:(0,d.useCallback)(t=>{t.preventDefault(),r.current=0,n(!1),e(Array.from(t.dataTransfer.files))},[e])}}function kX(e){if(!Number.isFinite(e))return``;let t=Math.round(e),n=Math.floor(t/60),r=t%60;return`${n}:${String(r).padStart(2,`0`)}`}var AX={runningSessionIds:[],runningPhases:{},runningPhaseSince:{},runningBusySince:{}},jX=null,MX={current:!1},NX=new Set;function PX(){jX=null;for(let e of NX)e()}function FX(){return jX||={runningSessionIds:new Set(AX.runningSessionIds),runningPhases:AX.runningPhases,runningPhaseSince:AX.runningPhaseSince,runningBusySince:AX.runningBusySince,setRunningSessionIds:IX,runningPollAuthoritativeRef:MX},jX}function IX(e){MX.current||(AX={...AX,runningSessionIds:[...e]},PX())}function LX(e){return NX.add(e),zX(),()=>NX.delete(e)}var RX=null;function zX(){RX||=mY({ch:`running`},e=>{if(e.type!==`running`)return;let t=e;AX={runningSessionIds:t.runningSessionIds??[],runningPhases:t.phases??{},runningPhaseSince:t.phaseSince??{},runningBusySince:t.busySince??{}},MX.current=!0,PX()})}function BX(){return(0,d.useSyncExternalStore)(LX,FX)}function VX(e,t){let[n,r]=(0,d.useState)(null);return(0,d.useEffect)(()=>{if(!e||t===void 0){r(null);return}let n=()=>{document.hidden||r(kX((Date.now()-t)/1e3))};n();let i=setInterval(n,1e3),a=()=>{document.hidden||n()};return document.addEventListener(`visibilitychange`,a),()=>{clearInterval(i),document.removeEventListener(`visibilitychange`,a)}},[e,t]),n}var HX=new Map;function UX(e){return{value:e.value,images:e.images.map(e=>({...e}))}}function WX(e){return!e.value&&e.images.length===0}function GX(e){let t=HX.get(e);return t?UX(t):null}function KX(e,t){if(WX(t)){HX.delete(e);return}HX.set(e,UX(t))}function qX(e){HX.delete(e)}var JX=`pi-web:pending-message:`;function YX(e,t){if(!t){ZX(e);return}try{localStorage.setItem(JX+e,t)}catch{}}function XX(e){try{return localStorage.getItem(JX+e)}catch{return null}}function ZX(e){try{localStorage.removeItem(JX+e)}catch{}}var QX={image:`image/*`,audio:`audio/*`,video:`video/*`,pdf:`application/pdf`};function $X(e){return typeof e==`string`?e.startsWith(`image/`)?`image`:e.startsWith(`audio/`)?`audio`:e.startsWith(`video/`)?`video`:e===`application/pdf`?`pdf`:null:null}function eZ(e,t){return!e?.length||e.includes(t)}function tZ(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===47}function nZ(e){if(!e||e.length%4!=0)return null;let t=e.endsWith(`==`)?2:+!!e.endsWith(`=`),n=e.length-t;for(let t=0;t<n;t+=1)if(!tZ(e.charCodeAt(t)))return null;for(let t=n;t<e.length;t+=1)if(e[t]!==`=`)return null;return e.length/4*3-t}function rZ(e){if(!e||typeof e!=`object`)return!1;let t=e;if(typeof t.data!=`string`||typeof t.mimeType!=`string`||$X(t.mimeType)===null)return!1;let n=nZ(t.data);return n!==null&&n<=10485760}function iZ(e){return e.length?`Files attached by the user were saved to disk (read them with the read tool if needed):\n${e.map(e=>`- @${e.path}`).join(`
354
+ `)}`:``}async function aZ(e){let t=await fetch(`/api/attachments?name=${encodeURIComponent(e.name)}`,{method:`POST`,headers:{"content-type":e.type||`application/octet-stream`},body:e});if(!t.ok)throw Error(`Failed to upload attachment (${t.status})`);return await t.json()}var oZ={image:pn,audio:bn,video:Un,pdf:on},sZ=[{kind:`image`,labelKey:`chat.attachImage`},{kind:`audio`,labelKey:`chat.attachAudio`},{kind:`video`,labelKey:`chat.attachVideo`},{kind:`pdf`,labelKey:`chat.attachPdf`}];function cZ(e){return e>=1048576?`${(e/1048576).toFixed(1)}MB`:`${Math.max(1,Math.round(e/1024))}KB`}function lZ(e){return e.path||!e.data?null:{data:e.data,mimeType:e.mimeType,name:e.name}}function uZ(e){return{data:e.data,mimeType:e.mimeType,name:e.name??``,previewUrl:`data:${e.mimeType};base64,${e.data}`}}function dZ(e){return(e??[]).filter(rZ).slice(0,10).map(uZ)}function fZ(e){e.previewUrl.startsWith(`blob:`)&&URL.revokeObjectURL(e.previewUrl)}function pZ(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result).split(`,`)[1]??``),r.onerror=()=>n(r.error??Error(`Failed to read file`)),r.readAsDataURL(e)})}async function mZ(e){let t=$X(e.type);if(e.size>10485760){let t=await aZ(e);return{data:``,mimeType:e.type,name:t.name||e.name,path:t.path,previewUrl:``,size:t.size}}return{data:await pZ(e),mimeType:e.type,name:e.name,previewUrl:t===`image`?URL.createObjectURL(e):``,size:e.size}}function hZ(e){return{inline:e.filter(e=>e.data),referenceText:iZ(e.filter(e=>e.path).map(e=>({name:e.name,path:e.path??``})))}}function gZ({files:e,onRemove:t}){let{t:n}=M();return e.length===0?null:(0,T.jsx)(`div`,{style:{display:`flex`,gap:6,marginBottom:6,flexWrap:`wrap`},children:e.map((e,r)=>{let i=$X(e.mimeType),a=i&&oZ[i]||on,o=i===`image`&&e.previewUrl;return(0,T.jsxs)(`div`,{style:{position:`relative`,flexShrink:0,display:`flex`,alignItems:`center`},children:[o?(0,T.jsx)(`img`,{src:e.previewUrl,alt:``,style:{width:56,height:56,objectFit:`cover`,borderRadius:6,border:`1px solid var(--border)`,display:`block`}}):(0,T.jsx)(F,{label:e.path?n(`chat.attachmentOnDisk`):e.name,wrapperStyle:{display:`flex`,minWidth:0},children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,maxWidth:200,height:56,padding:`0 10px`,borderRadius:6,border:`1px solid var(--border)`,background:`var(--bg-panel)`,color:`var(--text-muted)`,fontSize:12},children:[(0,T.jsx)(a,{size:16,strokeWidth:1.8,style:{flexShrink:0}}),(0,T.jsxs)(`span`,{style:{minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[e.name||i||e.mimeType,e.size?` · ${cZ(e.size)}`:``]}),e.path&&(0,T.jsx)(dn,{size:12,strokeWidth:1.8,style:{flexShrink:0}})]})}),(0,T.jsx)(`button`,{"data-testid":`remove-attachment`,onClick:()=>t(r),style:{position:`absolute`,top:-4,right:-4,width:16,height:16,borderRadius:`50%`,background:`var(--bg-panel)`,border:`1px solid var(--border)`,display:`flex`,alignItems:`center`,justifyContent:`center`,cursor:`pointer`,padding:0,color:`var(--text-muted)`},children:(0,T.jsx)(qn,{size:8,strokeWidth:4.5})})]},r)})})}function _Z({tone:e,title:t,body:n}){let r=e===`error`?`239,68,68`:`234,179,8`;return(0,T.jsxs)(`div`,{role:`alert`,style:{display:`flex`,alignItems:`flex-start`,gap:8,maxHeight:120,marginBottom:8,padding:`7px 10px`,overflowY:`auto`,border:`1px solid rgba(${r},0.3)`,borderRadius:6,background:`rgba(${r},0.07)`,color:`rgb(${r})`,fontSize:`var(--text-sm)`,lineHeight:1.45},children:[(0,T.jsx)(Vn,{size:I.lg,style:{flexShrink:0,marginTop:1},"aria-hidden":`true`}),(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(`div`,{style:{fontWeight:600},children:t}),(0,T.jsx)(`div`,{style:{whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:n})]})]})}function vZ({error:e}){return e?(0,T.jsx)(_Z,{tone:`error`,title:`Model error`,body:e}):null}function yZ({warnings:e}){return!e||e.length===0?null:(0,T.jsx)(_Z,{tone:`warning`,title:e.length>1?`Model scope warnings`:`Model scope warning`,body:e.join(`
355
+ `)})}function bZ({kinds:e,isStreaming:t,onPick:n,t:r}){return(0,T.jsx)(T.Fragment,{children:e.map(({kind:e,labelKey:i})=>{let a=oZ[e];return(0,T.jsx)(F,{label:r(i),children:(0,T.jsx)(`button`,{"data-testid":`attach-${e}`,onClick:()=>n(e),disabled:t,style:{flexShrink:0,display:`flex`,alignItems:`center`,justifyContent:`center`,width:32,height:32,padding:0,background:`none`,border:`none`,borderRadius:9,color:`var(--accent)`,cursor:t?`not-allowed`:`pointer`,opacity:t?.5:1,transition:`background 0.12s, color 0.12s`,"--hover-bg":`var(--bg-hover)`,"--hover-color":`var(--accent)`},className:t?void 0:`hover-shift`,children:(0,T.jsx)(a,{size:I[`2xl`],strokeWidth:1.8,style:{color:`var(--accent)`,flexShrink:0}})})},e)})})}function xZ({isMobile:e,isStreaming:t,controlsMenuOpen:n,setControlsMenuOpen:r,setToolDropdownOpen:i,setThinkingDropdownOpen:a,onCompact:o,onAbortCompaction:s,isCompacting:c,soundEnabled:l,onSoundToggle:u}){let{t:d}=M();return(0,T.jsxs)(T.Fragment,{children:[o&&(0,T.jsx)(`div`,{children:(0,T.jsx)(F,{label:d(c?`chat.stopCompaction`:`chat.compactContext`),children:(0,T.jsx)(`button`,{onClick:c?s:o,disabled:t&&!c,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:5,padding:`0 6px`,width:e?`auto`:36,height:32,background:c?`color-mix(in srgb, var(--status-error) 8%, transparent)`:`none`,border:`none`,borderRadius:9,color:c?`#ef4444`:`var(--text-muted)`,cursor:t&&!c?`not-allowed`:`pointer`,fontSize:`var(--text-base)`,opacity:t&&!c?.5:1,transition:`background 0.12s, color 0.12s`,"--hover-bg":c?`color-mix(in srgb, var(--status-error) 16%, transparent)`:`var(--bg-hover)`,"--hover-color":c?`#ef4444`:`var(--text)`},className:t&&!c?void 0:`hover-shift`,"aria-label":d(c?`chat.stopCompaction`:`chat.compactContext`),children:c?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(In,{size:I.xs,fill:`currentColor`}),n&&(0,T.jsx)(`span`,{style:{whiteSpace:`nowrap`},children:d(`chat.compacting`)})]}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(sn,{size:I.base,style:{color:`var(--status-info)`,flexShrink:0}}),n&&(0,T.jsx)(`span`,{style:{whiteSpace:`nowrap`},children:d(`chat.compact`)})]})})})}),u!==void 0&&(0,T.jsx)(F,{label:d(l?`chat.disableSound`:`chat.enableSound`),children:(0,T.jsx)(`button`,{onClick:u,"aria-label":d(l?`chat.disableSound`:`chat.enableSound`),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:5,width:32,height:32,padding:0,background:`none`,border:`none`,borderRadius:9,color:l?`var(--text-muted)`:`var(--text-dim)`,cursor:`pointer`,opacity:l?1:.55,transition:`background 0.12s, color 0.12s, opacity 0.12s`,"--hover-bg":`var(--bg-hover)`,"--hover-color":`var(--text)`,"--hover-opacity":`1`},className:`hover-shift`,children:l?(0,T.jsx)(Wn,{size:I.base,style:{color:l?`var(--accent)`:`var(--text-dim)`,flexShrink:0}}):(0,T.jsx)(Gn,{size:I.base,style:{color:l?`var(--accent)`:`var(--text-dim)`,flexShrink:0}})})}),e&&n&&(0,T.jsx)(F,{label:d(`chat.collapseControls`),children:(0,T.jsx)(`button`,{type:`button`,"aria-label":d(`chat.collapseControls`),"aria-expanded":!0,onClick:()=>{i(!1),a(!1),r(!1)},style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:36,height:32,padding:0,marginLeft:0,background:`var(--bg-hover)`,border:`none`,borderLeft:`1px solid color-mix(in srgb, var(--border) 72%, transparent)`,borderRadius:`0 9px 9px 0`,color:`var(--text)`,cursor:`pointer`,transition:`background 0.12s, color 0.12s`,"--hover-bg":`var(--bg-selected)`},className:`hover-shift`,children:(0,T.jsx)(qn,{size:I.lg})})})]})}function SZ({onReloadFromDisk:e,isStreaming:t,isMobile:n}){let{t:r}=M();return(0,T.jsx)(T.Fragment,{children:e&&(0,T.jsx)(`div`,{children:(0,T.jsx)(F,{label:(0,T.jsxs)(`span`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:[(0,T.jsx)(`span`,{children:r(`chat.reloadFromDisk`)}),(0,T.jsx)(`span`,{style:{opacity:.85,fontSize:`0.85em`,whiteSpace:`normal`,maxWidth:260},children:r(`chat.reloadFromDiskHint`)})]}),children:(0,T.jsx)(`button`,{onClick:()=>!t&&e(),disabled:t,"aria-label":r(`chat.reloadFromDisk`),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:n?`auto`:36,height:32,padding:`0 6px`,background:`none`,border:`none`,borderRadius:9,color:`var(--text-muted)`,cursor:t?`not-allowed`:`pointer`,opacity:t?.5:1,transition:`background 0.12s, color 0.12s`,"--hover-bg":`var(--bg-hover)`,"--hover-color":`var(--text)`},className:t?void 0:`hover-shift`,children:(0,T.jsx)(dn,{size:I.lg,"aria-hidden":`true`})})})})})}function CZ({active:e,label:t,desc:n,onSelect:r}){return(0,T.jsxs)(`button`,{type:`button`,onClick:r,style:{display:`flex`,alignItems:`center`,gap:8,width:`100%`,padding:`7px 12px`,background:e?`var(--bg-selected)`:`none`,border:`none`,color:e?`var(--text)`:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-base)`,textAlign:`left`,fontWeight:e?600:400,whiteSpace:`nowrap`},className:e?`selectable-row is-selected`:`selectable-row`,children:[e?(0,T.jsx)(qt,{size:I.xs,strokeWidth:4.8,style:{flexShrink:0}}):(0,T.jsx)(`span`,{style:{width:10,flexShrink:0}}),(0,T.jsx)(`span`,{style:{flex:1},children:t}),(0,T.jsx)(`span`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`,marginLeft:8},children:n})]})}function wZ({kind:e,text:t}){return(0,T.jsx)(F,{label:t,wrapperStyle:{display:`flex`,minWidth:0,flex:1},children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`3px 10px`,fontSize:`var(--text-base)`,color:`var(--text-muted)`,minWidth:0},children:[(0,T.jsx)(`span`,{style:{flexShrink:0,fontSize:`var(--text-xs)`,fontFamily:`var(--font-mono)`,padding:`1px 7px`,borderRadius:999,border:`1px solid ${e===`steer`?`color-mix(in srgb, var(--accent) 45%, transparent)`:`var(--border)`}`,color:e===`steer`?`var(--accent)`:`var(--text-dim)`},children:e}),(0,T.jsx)(`span`,{style:{minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t})]})})}function TZ({isMobile:e,isStreaming:t,controlsMenuOpen:n,thinkingLevel:r,thinkingDisplayLabel:i,onThinkingLevelChange:a,availableThinkingLevels:o,thinkingLevelMap:s,thinkingDropdownOpen:c,setThinkingDropdownOpen:l,thinkingDropdownRef:u,thinkingMapConfirm:d,setThinkingMapConfirm:f,model:p,onOpenModelConfig:m}){let{t:h}=M();return(0,T.jsxs)(T.Fragment,{children:[a&&(0,T.jsxs)(`div`,{ref:u,style:{position:`relative`},children:[(0,T.jsx)(F,{label:h(`chat.changeReasoning`,{level:i}),children:(0,T.jsxs)(`button`,{onClick:()=>!t&&l(e=>!e),disabled:t,"aria-label":h(`chat.changeReasoningLabel`),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:5,padding:e?`0 6px`:`8px 12px`,width:e?`auto`:void 0,height:32,background:c?`var(--bg-hover)`:`none`,border:`none`,borderRadius:9,color:`var(--text-muted)`,cursor:t?`not-allowed`:`pointer`,fontSize:`var(--text-base)`,opacity:t?.5:1,transition:`background 0.12s, color 0.12s`,"--hover-bg":`var(--bg-hover)`,"--hover-color":`var(--text)`},className:t?void 0:`hover-shift`,children:[(0,T.jsx)(hn,{size:I.base,fill:`currentColor`,style:{color:`var(--bulb-warning)`,flexShrink:0}}),(!e||n)&&(0,T.jsx)(`span`,{style:{whiteSpace:`nowrap`},children:i})]})}),c&&(0,T.jsx)(`div`,{style:{position:`absolute`,bottom:`calc(100% + 6px)`,right:0,zIndex:100,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 -4px 16px var(--shadow-color)`,overflow:`hidden`,minWidth:180},children:Nm.filter(e=>!o||e===`auto`||o.includes(e)).map(e=>{let t=(r??`auto`)===e,n=h(Im[e]),i=e!==`auto`&&s?s[e]:void 0;return(0,T.jsx)(CZ,{active:t,onSelect:()=>{if(l(!1),!t){if((e===`xhigh`||e===`max`)&&!s?.[e]){f(e);return}a(e)}},label:(0,T.jsxs)(T.Fragment,{children:[i!=null&&i!==e?i:e,i!=null&&i!==e&&(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`,fontFamily:`var(--font-mono)`,marginLeft:5},children:[`(`,e,`)`]})]}),desc:n},e)})})]}),d&&p&&(0,T.jsx)(`div`,{style:{position:`fixed`,inset:0,zIndex:1e3,background:`rgba(0, 0, 0, 0.45)`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,T.jsxs)(`div`,{role:`alertdialog`,"aria-modal":`true`,style:{background:`var(--bg-panel)`,border:`1px solid var(--border)`,borderRadius:10,boxShadow:`0 12px 40px var(--shadow-color)`,width:`min(420px, calc(100vw - 32px))`,padding:18},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-xl)`,fontWeight:600,color:`var(--text)`,marginBottom:8},children:h(`chat.thinkingMapTitle`)}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,color:`var(--text-muted)`,lineHeight:1.7,marginBottom:16},children:h(`chat.thinkingMapBody`,{level:d})}),(0,T.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8},children:[(0,T.jsx)(`button`,{type:`button`,onClick:()=>f(null),style:{padding:`5px 14px`,background:`var(--bg-panel)`,border:`1px solid var(--border)`,borderRadius:6,color:`var(--text-muted)`,fontSize:`var(--text-base)`,cursor:`pointer`},children:h(`chat.cancel`)}),(0,T.jsx)(`button`,{type:`button`,onClick:()=>{m?.({provider:p.provider,modelId:p.modelId}),f(null)},style:{padding:`5px 14px`,background:`var(--accent)`,border:`none`,borderRadius:6,color:`var(--on-accent, #fff)`,fontSize:`var(--text-base)`,fontWeight:600,cursor:`pointer`},children:h(`chat.thinkingMapGo`)})]})]})})]})}var EZ=[`off`,`default`,`full`],DZ={off:`none`,default:`default`,full:`full`};function OZ({isMobile:e,isStreaming:t,controlsMenuOpen:n,toolPreset:r,toolPresetLabel:i,onToolPresetChange:a,toolDropdownOpen:o,setToolDropdownOpen:s,toolDropdownRef:c}){let{t:l}=M();return(0,T.jsxs)(`div`,{ref:c,style:{position:`relative`},children:[(0,T.jsx)(F,{label:`${l(`chat.changeToolPreset`)}: ${i}`,children:(0,T.jsxs)(`button`,{onClick:()=>!t&&s(e=>!e),disabled:t,"aria-label":l(`chat.changeToolPreset`),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:5,padding:e?`0 6px`:`8px 12px`,width:e?`auto`:void 0,height:32,background:o?`var(--bg-hover)`:`none`,border:`none`,borderRadius:9,color:`var(--text-muted)`,cursor:t?`not-allowed`:`pointer`,fontSize:`var(--text-base)`,opacity:t?.5:1,transition:`background 0.12s, color 0.12s`,"--hover-bg":`var(--bg-hover)`,"--hover-color":`var(--text)`},className:t?void 0:`hover-shift`,children:[(0,T.jsx)(Kn,{size:I.base,style:{color:`var(--status-info)`,flexShrink:0}}),(!e||n)&&(0,T.jsx)(`span`,{style:{whiteSpace:`nowrap`},children:i})]})}),o&&(0,T.jsx)(`div`,{style:{position:`absolute`,bottom:`calc(100% + 6px)`,right:0,zIndex:100,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 -4px 16px var(--shadow-color)`,overflow:`hidden`,minWidth:120},children:EZ.map(e=>{let t=DZ[e],n=(r??`default`)===t,i=e===`off`?l(`chat.noTools`):e==="default"?l(`chat.builtInTools`,{count:4}):l(`chat.allBuiltInTools`);return(0,T.jsx)(CZ,{active:n,onSelect:()=>{s(!1),n||a(t)},label:e,desc:i},e)})})]})}function kZ(e){let{isMobile:t,isStreaming:n,controlsMenuOpen:r,setControlsMenuOpen:i,controlsMenuRef:a,onOpenControlsMenu:o,thinkingLevel:s,thinkingDisplayLabel:c,onThinkingLevelChange:l,availableThinkingLevels:u,thinkingLevelMap:d,thinkingDropdownOpen:f,setThinkingDropdownOpen:p,thinkingDropdownRef:m,thinkingMapConfirm:h,setThinkingMapConfirm:g,model:_,onOpenModelConfig:v,toolPreset:y,toolPresetLabel:b,onToolPresetChange:x,toolDropdownOpen:S,setToolDropdownOpen:C,toolDropdownRef:w,onReloadFromDisk:E,onCompact:D,onAbortCompaction:O,isCompacting:k,soundEnabled:A,onSoundToggle:j}=e,{t:N}=M();return(0,T.jsxs)(`div`,{ref:a,style:{flex:`0 0 auto`,display:`flex`,alignItems:`center`,justifyContent:`flex-end`,position:`relative`,marginLeft:t?0:`auto`},children:[t&&(0,T.jsx)(F,{label:r?void 0:N(`chat.moreControls`),children:(0,T.jsx)(`button`,{type:`button`,"aria-label":N(`chat.moreControls`),"aria-expanded":r,"aria-hidden":r||void 0,tabIndex:r?-1:void 0,onClick:o,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:`100%`,height:32,padding:`8px 10px`,background:`none`,border:`none`,borderRadius:9,color:`var(--text-muted)`,cursor:r?`default`:`pointer`,fontSize:`var(--text-base)`,fontWeight:500,visibility:r?`hidden`:`visible`,pointerEvents:r?`none`:`auto`,transition:`background 0.12s, color 0.12s`,"--hover-bg":`var(--bg-hover)`,"--hover-color":`var(--text)`},className:r?void 0:`hover-shift`,children:N(`chat.moreControls`)})}),(0,T.jsxs)(`div`,{style:{display:t?r?`flex`:`none`:`flex`,alignItems:`center`,gap:t?1:2,...t?{position:`absolute`,right:0,bottom:0,zIndex:60,padding:1,width:`max-content`,maxWidth:`calc(100vw - 32px)`,flexWrap:`nowrap`,justifyContent:`flex-end`,border:`1px solid color-mix(in srgb, var(--border) 72%, transparent)`,borderRadius:10,background:`color-mix(in srgb, var(--bg-panel) 92%, var(--bg))`,boxShadow:`0 8px 24px var(--shadow-color)`,backdropFilter:`blur(10px)`}:null},children:[l&&(0,T.jsx)(TZ,{isMobile:t,isStreaming:n,controlsMenuOpen:r,thinkingLevel:s,thinkingDisplayLabel:c,onThinkingLevelChange:l,availableThinkingLevels:u,thinkingLevelMap:d,thinkingDropdownOpen:f,setThinkingDropdownOpen:p,thinkingDropdownRef:m,thinkingMapConfirm:h,setThinkingMapConfirm:g,model:_,onOpenModelConfig:v}),x&&(0,T.jsx)(OZ,{isMobile:t,isStreaming:n,controlsMenuOpen:r,toolPreset:y,toolPresetLabel:b,onToolPresetChange:x,toolDropdownOpen:S,setToolDropdownOpen:C,toolDropdownRef:w}),E&&(0,T.jsx)(SZ,{onReloadFromDisk:E,isStreaming:n,isMobile:t}),(0,T.jsx)(xZ,{isMobile:t,isStreaming:n,controlsMenuOpen:r,setControlsMenuOpen:i,setToolDropdownOpen:C,setThinkingDropdownOpen:p,onCompact:D,onAbortCompaction:O,isCompacting:k,soundEnabled:A,onSoundToggle:j})]})]})}function AZ({isMobile:e,visibleAttachKinds:t,isStreaming:n,openFilePicker:r,t:i,onModelChange:a,model:o,modelOptions:s,isAutoModelSelection:c,onOpenControlsMenu:l,...u}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{marginTop:8,display:e?`grid`:`flex`,gridTemplateColumns:e?`minmax(0, 1fr) auto`:void 0,alignItems:`center`,gap:6,rowGap:4,flexWrap:`wrap`},children:[(0,T.jsxs)(`div`,{style:{flex:e?`1 1 auto`:`1 1 0%`,minWidth:0,display:`flex`,alignItems:`center`,gap:2},children:[(0,T.jsx)(bZ,{kinds:t,isStreaming:n,onPick:r,t:i}),a&&(0,T.jsx)(oh,{value:o??null,options:s,onChange:a,disabled:n,variant:`chat`,isAutoSelection:c})]}),!e&&!a&&(0,T.jsx)(`div`,{style:{flex:1}}),(0,T.jsx)(kZ,{...u,isMobile:e,isStreaming:n,model:o,onOpenControlsMenu:l})]})})}function jZ({matches:e,activeIndex:t,itemRefs:n,onPick:r,onHover:i,atQuery:a,fileIndex:o,fileIndexLoading:s,cwd:c,needsServerSearch:l,serverResultInUse:u}){let{t:d}=M(),f=s&&(!o||o.cwd!==c),p=e.length===1?d(`chat.match`):d(`chat.matches`,{count:e.length}),m=o?.truncated&&!u?a.query?d(`chat.searchingAll`):d(`chat.indexTruncated`):``;return(0,T.jsxs)(`div`,{style:{position:`absolute`,left:0,right:0,bottom:`calc(100% + 8px)`,zIndex:120,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 -6px 20px var(--shadow-color)`,overflow:`hidden`,maxHeight:`min(48vh, 400px)`},children:[(0,T.jsxs)(`div`,{style:{padding:`8px 10px`,borderBottom:`1px solid var(--border)`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:8,fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:[(0,T.jsx)(`span`,{children:f?d(`chat.loadingFiles`):d(`chat.files`,{label:p,hint:m})}),(0,T.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`},children:d(`chat.tabEnter`)})]}),(0,T.jsx)(`div`,{style:{maxHeight:`calc(min(48vh, 400px) - 34px)`,overflowY:`auto`,padding:4},children:!f&&e.length===0?(0,T.jsx)(`div`,{style:{padding:`6px 8px`,fontSize:`var(--text-base)`,color:`var(--text-dim)`},children:d(l&&!u?`chat.searching`:`chat.noMatchingFiles`)}):e.map((e,a)=>{let o=a===t,s=e.path.split(`/`).pop()??e.path,c=e.path.slice(0,e.path.length-s.length);return(0,T.jsxs)(`button`,{ref:e=>{n.current[a]=e},type:`button`,onMouseDown:t=>{t.preventDefault(),r(e)},onMouseEnter:()=>i(a),style:{width:`100%`,display:`flex`,alignItems:`center`,gap:8,padding:`6px 8px`,border:`none`,borderRadius:6,background:o?`var(--bg-selected)`:`none`,color:`var(--text)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-md)`,fontFamily:`var(--font-mono)`},children:[(0,T.jsx)(`span`,{style:{flexShrink:0,display:`flex`,alignItems:`center`},children:e.isDir?(0,T.jsx)(CG,{size:I.xl}):ZG(s,14)}),(0,T.jsxs)(`span`,{style:{minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[c&&(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:c}),s,e.isDir&&(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:`/`})]})]},`${e.isDir?`d`:`f`}:${e.path}`)})})]})}function MZ({isStreaming:e,canQueueStreamingMessage:t,hasAttachments:n,hasText:r,commandBusy:i,showSteer:a,showFollowUp:o,onAbort:s,onQueue:c,onSend:l}){return e?(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,flexShrink:0,alignSelf:`flex-end`},children:[(0,T.jsx)(PZ,{onAbort:s}),a&&(0,T.jsx)(FZ,{variant:`steer`,canQueue:t,hasAttachments:n,onQueue:c}),o&&(0,T.jsx)(FZ,{variant:`followup`,canQueue:t,hasAttachments:n,onQueue:c})]}):(0,T.jsx)(NZ,{hasText:r,hasAttachments:n,commandBusy:i,onSend:l})}function NZ({hasText:e,hasAttachments:t,commandBusy:n,onSend:r}){let{t:i}=M(),a=e||t;return(0,T.jsxs)(`button`,{onClick:r,disabled:!e&&!t||n,style:{flexShrink:0,alignSelf:`flex-end`,display:`flex`,alignItems:`center`,gap:6,padding:`7px 14px`,background:a?`var(--accent)`:`var(--bg-panel)`,border:`none`,borderRadius:8,color:a?`var(--on-accent)`:`var(--text-dim)`,cursor:a&&!n?`pointer`:`not-allowed`,fontSize:`var(--text-lg)`,fontWeight:600,letterSpacing:`-0.01em`,boxShadow:a?`0 1px 3px var(--accent-glow)`:`none`,transition:`background 0.15s, box-shadow 0.15s`},children:[(0,T.jsx)(Gt,{size:I.xl,strokeWidth:3.4,style:{flexShrink:0}}),i(`chat.send`)]})}function PZ({onAbort:e}){let{t}=M(),{isDark:n}=NK();return(0,T.jsx)(F,{label:t(`chat.stopAgent`),children:(0,T.jsxs)(`button`,{"data-testid":`stop-button`,onClick:e,style:{display:`flex`,alignItems:`center`,gap:5,padding:`7px 12px`,background:n?`var(--status-error)`:`color-mix(in srgb, var(--status-error) 12%, transparent)`,border:`1px solid color-mix(in srgb, var(--status-error) 35%, transparent)`,borderRadius:8,color:n?`#fff`:`var(--status-error)`,cursor:`pointer`,fontSize:`var(--text-lg)`,fontWeight:600,letterSpacing:`-0.01em`,transition:`background 0.12s`,"--hover-bg":n?`color-mix(in srgb, var(--status-error) 82%, #000)`:`color-mix(in srgb, var(--status-error) 16%, transparent)`,"--hover-color":n?`#fff`:`var(--status-error)`},className:`hover-shift`,children:[(0,T.jsx)(In,{size:I.base,fill:`currentColor`}),t(`chat.stop`)]})})}function FZ({variant:e,canQueue:t,hasAttachments:n,onQueue:r}){let{t:i}=M(),a=e===`steer`?`var(--status-warning)`:`var(--status-info)`;return(0,T.jsx)(F,{label:i(n?`chat.queueImageBlocked`:e===`steer`?`chat.steerTooltip`:`chat.followUpTooltip`),children:(0,T.jsxs)(`button`,{"data-testid":e===`steer`?`steer-button`:`followup-button`,onClick:()=>r(e),disabled:!t,style:{display:`flex`,alignItems:`center`,gap:5,padding:`7px 12px`,background:t?`color-mix(in srgb, ${a} 12%, transparent)`:`none`,border:`1px solid color-mix(in srgb, ${a} 35%, transparent)`,borderRadius:8,color:t?a:`var(--text-dim)`,cursor:t?`pointer`:`not-allowed`,fontSize:`var(--text-lg)`,fontWeight:600,letterSpacing:`-0.01em`,transition:`background 0.12s`},children:[e===`steer`?(0,T.jsx)(wn,{size:I.base,strokeWidth:4.3,style:{flexShrink:0}}):(0,T.jsx)(_n,{size:I.base,strokeWidth:4.3,style:{flexShrink:0}}),i(e===`steer`?`chat.steer`:`chat.followUp`)]})})}function IZ({items:e,activeIndex:t,itemRefs:n,menuRef:r,onPick:i,onHover:a}){return(0,T.jsxs)(`div`,{ref:r,style:{position:`absolute`,left:0,right:0,bottom:`calc(100% + 8px)`,zIndex:120,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 -6px 20px var(--shadow-color)`,overflow:`hidden`,maxHeight:`min(44vh, 360px)`},children:[(0,T.jsx)(F,{label:`Input history`,wrapperStyle:{display:`flex`},children:(0,T.jsx)(`div`,{style:{height:30,padding:`0 10px`,borderBottom:`1px solid var(--border)`,display:`flex`,alignItems:`center`,color:`var(--text-dim)`},children:(0,T.jsx)(On,{size:I.xl,strokeWidth:1.8,"aria-hidden":`true`})})}),(0,T.jsx)(`div`,{style:{maxHeight:`calc(min(44vh, 360px) - 31px)`,overflowY:`auto`,padding:4},children:e.map((e,r)=>(0,T.jsxs)(`button`,{ref:e=>{n.current[r]=e},type:`button`,onMouseDown:t=>{t.preventDefault(),i(e)},onMouseEnter:()=>a(r),style:{width:`100%`,display:`flex`,alignItems:`flex-start`,gap:8,padding:`7px 8px`,border:`none`,borderRadius:6,background:r===t?`var(--bg-selected)`:`none`,color:`var(--text)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-md)`,lineHeight:1.45},children:[(0,T.jsx)(`span`,{style:{flexShrink:0,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,paddingTop:1},children:r+1}),(0,T.jsx)(`span`,{style:{minWidth:0,display:`-webkit-box`,WebkitBoxOrient:`vertical`,WebkitLineClamp:2,overflow:`hidden`,overflowWrap:`anywhere`},children:e})]},`${r}:${e}`))})]})}function LZ({historyMenuOpen:e,inputHistory:t,historyActiveIndex:n,historyItemRefs:r,historyMenuRef:i,applyHistoryInput:a,setHistoryActiveIndex:o,slashPalette:s,slashCommandsLoading:c,skillDormancy:l,atMenuOpen:u,bashMode:d,atQuery:f,atMatches:p,atActiveIndex:m,atItemRefs:h,applyAtCompletion:g,setAtActiveIndex:_,fileIndex:v,fileIndexLoading:y,cwd:b,needsServerSearch:x,serverResultInUse:S,isStreaming:C,textareaRef:w,value:E,setValue:D,setHistoryMenuOpen:O,updateAtQuery:k,handleKeyDown:A,isComposingRef:j,lastCompositionEndAtRef:M,handleInput:N,handlePaste:ee,queuedCount:te,t:P,onSteer:ne,onFollowUp:re,canQueueStreamingMessage:ie,attachedImages:ae,commandBusy:oe,onAbort:se,sendQueued:ce,handleSend:le}){return(0,T.jsxs)(T.Fragment,{children:[e&&t.length>0&&(0,T.jsx)(IZ,{items:t,activeIndex:n,itemRefs:r,menuRef:i,onPick:a,onHover:o}),(0,T.jsx)(gG,{palette:s,loading:c,skillDormancy:l}),u&&f!==null&&(0,T.jsx)(jZ,{matches:p,activeIndex:m,itemRefs:h,onPick:g,onHover:_,atQuery:f,fileIndex:v,fileIndexLoading:y,cwd:b,needsServerSearch:x,serverResultInUse:S}),(0,T.jsxs)(`div`,{style:{minWidth:0,display:`flex`,gap:8,alignItems:`center`,background:`var(--bg)`,border:`1px solid ${d?`var(--tool-bg)`:`color-mix(in srgb, var(--border) 70%, transparent)`}`,borderRadius:14,padding:`10px 10px 10px 14px`,zIndex:96,boxShadow:`0 1px 2px var(--shadow-color), 0 8px 24px -12px var(--shadow-color), 0 0 40px -10px var(--input-glow), -64px 0 48px -14px var(--input-glow), 64px 0 48px -14px var(--input-glow)`,transition:`border-color 0.15s, background 0.15s, box-shadow 0.15s`},children:[C&&(0,T.jsx)(`span`,{"aria-hidden":!0,style:{width:8,height:8,borderRadius:`50%`,background:`var(--accent)`,flexShrink:0,alignSelf:`flex-start`,marginTop:16,animation:`blink 1s ease-in-out infinite`}}),(0,T.jsx)(`textarea`,{"data-testid":`chat-input`,ref:w,value:E,onChange:e=>{D(e.target.value),O(!1),k(e.target.value,e.target.selectionStart)},onSelect:e=>{let t=e.currentTarget;k(t.value,t.selectionStart)},onKeyDown:A,onCompositionStart:()=>{j.current=!0},onCompositionEnd:e=>{j.current=!1,M.current=Date.now();let t=e.currentTarget;k(t.value,t.selectionStart)},onInput:N,onPaste:ee,placeholder:te>0?P(`chat.recallPlaceholder`):C&&(ne||re)?P(`chat.steerPlaceholder`):C?P(`chat.agentPlaceholder`):b?`${b}\n${P(`chat.messagePlaceholder`)}`:P(`chat.messagePlaceholder`),rows:b?2:1,style:{flex:1,minWidth:0,width:`100%`,background:`none`,border:`none`,outline:`none`,resize:`none`,color:`var(--text)`,caretColor:C?`var(--accent)`:void 0,fontSize:`var(--text-xl)`,lineHeight:1.6,fontFamily:`inherit`,minHeight:24,maxHeight:200,overflow:`auto`}}),(0,T.jsx)(MZ,{isStreaming:C,canQueueStreamingMessage:ie,hasAttachments:ae.length>0,hasText:!!E.trim(),commandBusy:!!oe,showSteer:!!ne,showFollowUp:!!re,onAbort:se,onQueue:ce,onSend:le})]})]})}function RZ(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${Math.round(e/1e3)}k`:e.toLocaleString()}function zZ(e,t){let n=e??`auto`;return n===`auto`||!t?n:t[n]??n}function BZ(e){return Object.entries(DZ).find(([,t])=>t===(e??`default`))?.[0]??`default`}function VZ(e,t,n){return e&&e.length>0?e.map(e=>({provider:e.provider,modelId:e.id,name:e.name,reasoning:e.reasoning,input:e.input,isDefault:e.isDefault})).sort(rh):Object.entries(t??{}).map(([e,t])=>({provider:n??`unknown`,modelId:e,name:t})).sort(rh)}function HZ(e,t){if(!e)return null;let n=Math.max(0,e.tokensBefore-e.estimatedTokensAfter);return`${e.reason&&e.reason!==`manual`?`${e.reason[0].toUpperCase()}${e.reason.slice(1)} `:t(`chat.compacted`)} ${RZ(e.tokensBefore)} -> ${RZ(e.estimatedTokensAfter)} tokens (${t(`chat.tokensSaved`,{saved:RZ(n)})})`}function UZ({queuedMessages:e,onRecallQueue:t}){let{t:n}=M(),r=(e?.steering.length??0)+(e?.followUp.length??0);return r===0?null:(0,T.jsxs)(`div`,{"data-testid":`queue-panel`,style:{marginBottom:8,border:`1px solid var(--border)`,borderRadius:6,background:`var(--bg-panel)`,padding:`5px 0`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:8,padding:`2px 8px 4px 10px`},children:[(0,T.jsx)(`span`,{style:{fontSize:`var(--text-xs)`,fontFamily:`var(--font-mono)`,color:`var(--text-dim)`,textTransform:`uppercase`,letterSpacing:.4},children:n(`chat.queued`,{count:r})}),t&&(0,T.jsx)(F,{label:n(`chat.recallTitle`),children:(0,T.jsxs)(`button`,{"data-testid":`queue-recall`,onClick:t,style:{display:`flex`,alignItems:`center`,gap:6,padding:`4px 12px`,fontSize:`var(--text-base)`,color:`var(--text)`,background:`transparent`,border:`1px solid var(--border)`,borderRadius:7,cursor:`pointer`,transition:`background 0.12s, border-color 0.12s`,whiteSpace:`nowrap`,"--hover-bg":`var(--bg-hover)`,"--hover-border":`color-mix(in srgb, var(--accent) 45%, var(--border))`},className:`hover-shift`,children:[(0,T.jsx)(tn,{size:I.lg}),n(`chat.recall`)]})})]}),e?.steering.map((e,t)=>(0,T.jsx)(wZ,{kind:`steer`,text:e},`steer-${t}`)),e?.followUp.map((e,t)=>(0,T.jsx)(wZ,{kind:`follow-up`,text:e},`followup-${t}`))]})}function WZ({retryInfo:e}){let{t}=M();return e?(0,T.jsxs)(`div`,{style:{marginBottom:8,padding:`5px 10px`,background:`color-mix(in srgb, var(--status-warning) 8%, transparent)`,border:`1px solid color-mix(in srgb, var(--status-warning) 25%, transparent)`,borderRadius:6,fontSize:`var(--text-base)`,color:`var(--status-warning)`,display:`flex`,alignItems:`center`,gap:6},children:[(0,T.jsx)(kn,{size:I.sm,style:{flexShrink:0}}),t(`chat.retrying`,{attempt:e.attempt,max:e.maxAttempts}),e.errorMessage&&(0,T.jsxs)(`span`,{style:{opacity:.7,marginLeft:4},children:[`— `,e.errorMessage]})]}):null}function GZ({text:e}){return e?(0,T.jsxs)(`div`,{style:{marginBottom:8,padding:`5px 10px`,background:`color-mix(in srgb, var(--status-success) 8%, transparent)`,border:`1px solid color-mix(in srgb, var(--status-success) 24%, transparent)`,borderRadius:6,fontSize:`var(--text-base)`,color:`color-mix(in srgb, var(--status-success) 95%, transparent)`,display:`flex`,alignItems:`center`,gap:6},children:[(0,T.jsx)(qt,{size:I.sm,style:{flexShrink:0}}),e]}):null}function KZ({error:e}){return e?(0,T.jsx)(`div`,{role:`alert`,style:{marginBottom:8,padding:`7px 10px`,background:`color-mix(in srgb, var(--status-error) 7%, transparent)`,border:`1px solid color-mix(in srgb, var(--status-error) 30%, transparent)`,borderRadius:6,color:`var(--status-error)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,lineHeight:1.5,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:e}):null}function qZ(e,t){requestAnimationFrame(()=>{e&&(e.focus(),t!==void 0&&e.setSelectionRange(t,t),e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,200)}px`)})}function JZ(e){e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,200)}px`)}function YZ(e){let t=/(?:^|\s)@"([^"\n]*)$/.exec(e);if(t)return{start:e.length-(t[1].length+2),query:t[1],quoted:!0};let n=/(?:^|\s)@([^\s"]*)$/.exec(e);return n?{start:e.length-(n[1].length+1),query:n[1],quoted:!1}:null}function XZ(e){let t=0;for(let n=0;n<e.length;n++)e[n]===`/`&&t++;return t}function ZZ(e){let t=new Set;for(let n of e){let e=n.indexOf(`/`);for(;e!==-1;)t.add(n.slice(0,e)),e=n.indexOf(`/`,e+1)}let n=[];for(let e of t)n.push({path:e,isDir:!0});for(let t of e)t&&n.push({path:t,isDir:!1});return n.sort((e,t)=>XZ(e.path)-XZ(t.path)||e.path.localeCompare(t.path)),n}function QZ(e,t){let n=e.path.toLowerCase(),r=0;if(t.includes(`/`))n===t?r=100:n.startsWith(t)?r=80:n.includes(t)&&(r=50);else{let e=n.lastIndexOf(`/`),i=e===-1?n:n.slice(e+1);i===t?r=100:i.startsWith(t)?r=80:i.includes(t)?r=50:n.includes(t)&&(r=30)}return e.isDir&&r>0&&(r+=10),r}function $Z(e,t,n=20){let r=t.toLowerCase();if(!r)return e.slice(0,n);let i=[];for(let t of e){let e=QZ(t,r);e>0&&i.push({entry:t,score:e})}return i.sort((e,t)=>t.score-e.score||XZ(e.entry.path)-XZ(t.entry.path)||e.entry.path.localeCompare(t.entry.path)),i.slice(0,n).map(e=>e.entry)}function eQ(e,t,n=!1){let r=t?`${e}/`:e,i=n||r.includes(` `);if(t){let e=i?`@"${r}"`:`@${r}`;return{text:e,cursorOffset:i?e.length-1:e.length}}let a=i?`@"${r}" `:`@${r} `;return{text:a,cursorOffset:a.length}}function tQ(e,t){let n=t?`${e}/`:e;return n.includes(` `)?`@"${n}" `:`@${n} `}function nQ(e,t,n){let r=Math.max(1,Math.min(t,n)),i=Math.max(1,Math.max(t,n));return`${e.includes(` `)?`@"${e}"`:`@${e}`}${r===i?`:${r}`:`:${r}-${i}`} `}function rQ(e){return e.map(e=>tQ(e,!1)).join(``)}function iQ(e,t){let n=t!==null,[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(!1),[s,c]=(0,d.useState)(null),l=(0,d.useRef)(null),u=(0,d.useRef)(null),f=!!(t&&r?.truncated&&r.cwd===e);(0,d.useEffect)(()=>{if(!f||!e||!t)return;let n=e,r=t,i=setTimeout(()=>{fetch(`/api/file-index?cwd=${encodeURIComponent(n)}&q=${encodeURIComponent(r)}`).then(e=>{if(!e.ok)throw Error(`file search failed: ${e.status}`);return e.json()}).then(e=>c({cwd:n,query:r,matches:e.matches??[]})).catch(()=>{})},150);return()=>clearTimeout(i)},[f,t,e]);let p=f&&s!==null&&s.cwd===e&&s.query===t;return(0,d.useEffect)(()=>{if(!n||!e)return;let t=l.current;if(t&&t.cwd===e&&Date.now()-t.fetchedAt<1e4||u.current===e)return;u.current=e;let r=e;o(!0),fetch(`/api/file-index?cwd=${encodeURIComponent(r)}`).then(e=>{if(!e.ok)throw Error(`file index failed: ${e.status}`);return e.json()}).then(e=>{i({cwd:r,entries:ZZ(e.files??[]),truncated:!!e.truncated}),l.current={cwd:r,fetchedAt:Date.now()}}).catch(()=>{l.current=null}).finally(()=>{u.current=null,o(!1)})},[n,e]),{fileIndex:r,fileIndexLoading:a,needsServerSearch:f,serverResultInUse:p,serverMatches:p?s?.matches??null:null}}function aQ({cwd:e,value:t,setValue:n,textareaRef:r}){let[i,a]=(0,d.useState)(null),[o,s]=(0,d.useState)(!1),[c,l]=(0,d.useState)(0),u=(0,d.useRef)([]),f=(0,d.useCallback)((t,n)=>{if(!e){a(null);return}let r=n??t.length;a(YZ(t.slice(0,r)))},[e]),p=i?.query??null,{fileIndex:m,fileIndexLoading:h,needsServerSearch:g,serverResultInUse:_,serverMatches:v}=iQ(e,p),y=(0,d.useMemo)(()=>p!==null&&m&&m.cwd===e?$Z(m.entries,p):[],[p,m,e]),b=v??y,x=i===null?null:`${i.start}:${+!!i.quoted}:${i.query}`;ir(()=>{if(x===null){s(!1),l(0);return}s(!0),l(0)},[x]);let S=(0,d.useCallback)(e=>{if(!i)return;let o=r.current?.selectionStart??t.length,s=t.slice(0,i.start),c=t.slice(o);i.quoted&&c.startsWith(`"`)&&(c=c.slice(1));let l=eQ(e.path,e.isDir,i.quoted),u=s+l.text+c,d=s.length+l.cursorOffset;n(u),a(YZ(u.slice(0,d))),qZ(r.current,d)},[i,t,n,r]);return ir(()=>{c>=b.length&&l(Math.max(0,b.length-1))},[b.length,c]),(0,d.useEffect)(()=>{u.current.length=b.length},[b.length]),(0,d.useEffect)(()=>{o&&u.current[c]?.scrollIntoView({block:`nearest`,inline:`nearest`})},[c,o]),{atQuery:i,setAtQuery:a,atMenuOpen:o,setAtMenuOpen:s,atActiveIndex:c,setAtActiveIndex:l,atItemRefs:u,atMatches:b,fileIndex:m,fileIndexLoading:h,needsServerSearch:g,serverResultInUse:_,updateAtQuery:f,applyAtCompletion:S}}var oQ=100;function sQ({value:e,isStreaming:t,onAbort:n,onSteer:r,onFollowUp:i,onRecallQueue:a,queuedCount:o,handleSend:s,sendQueued:c,slashPalette:l,atMenuOpen:u,setAtMenuOpen:f,atQuery:p,atMatches:m,atActiveIndex:h,setAtActiveIndex:g,applyAtCompletion:_,historyMenuOpen:v,setHistoryMenuOpen:y,inputHistory:b,historyActiveIndex:x,setHistoryActiveIndex:S,applyHistoryInput:C,isComposingRef:w,lastCompositionEndAtRef:T}){return(0,d.useCallback)(d=>{let E=d.nativeEvent,D=Date.now()-T.current<oQ,O=w.current||E.isComposing||E.keyCode===229;if(d.key===`Enter`&&!d.shiftKey&&(O||D)){D&&d.preventDefault();return}if(v&&!O){if(d.key===`ArrowDown`){d.preventDefault(),S(e=>Math.min(Math.max(0,b.length-1),e+1));return}if(d.key===`ArrowUp`){d.preventDefault(),S(e=>Math.max(0,e-1));return}if(d.key===`Escape`){d.preventDefault(),y(!1);return}if((d.key===`Tab`||d.key===`Enter`&&!d.shiftKey)&&b[x]){d.preventDefault(),C(b[x]);return}}if(!l.handleKeyDown(d)){if(u&&p!==null&&!O){if(d.key===`ArrowDown`){d.preventDefault(),g(e=>Math.min(Math.max(0,m.length-1),e+1));return}if(d.key===`ArrowUp`){d.preventDefault(),g(e=>Math.max(0,e-1));return}if(d.key===`Escape`){d.preventDefault(),f(!1);return}if((d.key===`Tab`||d.key===`Enter`&&!d.shiftKey)&&m[h]){d.preventDefault(),_(m[h]);return}}if(d.key===`ArrowUp`&&!O&&!t&&b.length>0&&e.trim().length===0){d.preventDefault(),f(!1),S(b.length-1),y(!0);return}if(d.key===`Escape`&&!O&&t&&n){d.preventDefault(),n();return}d.key===`Enter`&&!d.shiftKey&&(d.preventDefault(),e.trim().length===0&&a&&o>0?a():t&&(r||i)?c(r?`steer`:`followup`):s())}},[t,r,i,a,o,n,l,c,s,u,f,p,m,h,g,_,v,y,b,x,S,C,e,w,T])}function cQ({dropdownRef:e,modelDropdownPanelRef:t,toolDropdownRef:n,thinkingDropdownRef:r,controlsMenuRef:i,historyMenuRef:a,textareaRef:o,setModelDropdownOpen:s,setModelFilter:c,setToolDropdownOpen:l,setThinkingDropdownOpen:u,setControlsMenuOpen:f,setHistoryMenuOpen:p}){(0,d.useEffect)(()=>{let d=d=>{e.current&&!e.current.contains(d.target)&&t.current&&!t.current.contains(d.target)&&(s(!1),c(``)),n.current&&!n.current.contains(d.target)&&l(!1),r.current&&!r.current.contains(d.target)&&u(!1),i.current&&!i.current.contains(d.target)&&f(!1),a.current&&!a.current.contains(d.target)&&!o.current?.contains(d.target)&&p(!1)};return document.addEventListener(`mousedown`,d),()=>document.removeEventListener(`mousedown`,d)},[e,t,n,r,i,a,o,s,c,l,u,f,p])}function lQ({draftKey:e,isStreaming:t,model:n,modelList:r}){let[i,a]=(0,d.useState)(()=>e?dZ(GX(e)?.images):[]),o=(0,d.useRef)(i),s=(0,d.useRef)(0),c=(0,d.useRef)(null);(0,d.useEffect)(()=>{o.current=i});let l=n?r?.find(e=>e.provider===n.provider&&e.id===n.modelId)?.input:void 0,u=(0,d.useCallback)(e=>eZ(l,e),[l]),f=(0,d.useCallback)(async e=>{if(t)return;let n=Math.max(0,10-o.current.length-s.current),r=e.filter(e=>{let t=$X(e.type);return t!==null&&u(t)}).slice(0,n);if(r.length){s.current+=r.length;try{let e=await Promise.all(r.map(mZ));a(t=>{let n=e.slice(0,Math.max(0,10-t.length));return e.slice(n.length).forEach(fZ),[...t,...n]})}finally{s.current-=r.length}}},[t,u]),p=(0,d.useCallback)(e=>{a(t=>{let n=[...t],[r]=n.splice(e,1);return r&&fZ(r),n})},[]),m=(0,d.useCallback)(()=>{a(e=>(e.forEach(fZ),[]))},[]),h=(0,d.useCallback)(e=>{a(t=>(t.forEach(fZ),e))},[]);return(0,d.useEffect)(()=>()=>{o.current.forEach(fZ)},[]),{attachedImages:i,attachedImagesRef:o,processAttachments:f,removeImage:p,clearImages:m,resetAttachments:h,visibleAttachKinds:sZ.filter(({kind:e})=>u(e)),openFilePicker:(0,d.useCallback)(e=>{let t=c.current;t&&(t.accept=QX[e],t.click())},[]),fileInputRef:c}}function uQ({draftKey:e,value:t,setValue:n,setAtQuery:r,setHistoryMenuOpen:i,attachedImages:a,attachedImagesRef:o,clearImages:s,resetAttachments:c,textareaRef:l}){let u=(0,d.useRef)(e),f=(0,d.useRef)(t);(0,d.useEffect)(()=>{f.current=t});let p=(0,d.useCallback)(()=>{n(``),r(null),i(!1),e&&qX(e),u.current&&u.current!==e&&qX(u.current),s(),l.current&&(l.current.style.height=`auto`)},[s,e,r,i,n,l]);return(0,d.useEffect)(()=>{!e||u.current!==e||KX(e,{value:t,images:a.map(lZ).filter(e=>e!==null)})},[a,e,t]),(0,d.useEffect)(()=>{let t=u.current;if(t===e)return;t&&KX(t,{value:f.current,images:o.current.map(lZ).filter(e=>e!==null)});let a=e?GX(e):null;if(u.current=e,n(a?.value??``),r(null),i(!1),c(dZ(a?.images)),e){let t=XX(e);t!==null&&(n(t),ZX(e))}},[e,r,i,n,c,o]),{clearInput:p}}function dQ({ref:e,textareaRef:t,value:n,setValue:r,setAtQuery:i,processAttachments:a}){(0,d.useImperativeHandle)(e,()=>({insertIfEmpty(e){let a=t.current;(a?a.value:n).trim()||(r(e),i(null),qZ(a))},prependText(e){if(!e.trim())return;let a=t.current,o=[e,a?a.value:n].filter(e=>e.trim()).join(`
356
356
 
357
- `);r(o),i(null),WZ(a,o.length)},insertText(e){let n=t.current;if(!n){r(t=>t+(t?` `:``)+e);return}let a=n.selectionStart??n.value.length,o=n.selectionEnd??n.value.length,s=n.value.slice(0,a),c=n.value.slice(o),l=s.length>0&&!s.endsWith(` `)?` `:``;r(s+l+e+c),i(null),WZ(n,a+l.length+e.length)},fillInput(e){let n=t.current;r(e),i(null),WZ(n,e.length)},addImages(e){a(e)}}))}function lQ({value:e,attachedImages:t,isStreaming:n,commandBusy:r,draftKey:i,setValue:a,clearInput:o,onSend:s,onSteer:c,onFollowUp:l,onBuiltinCommand:u,onPromptWithStreamingBehavior:f,onAudioUnlock:p}){return{handleSend:(0,d.useCallback)(async()=>{let c=e.trim();if(!c&&!t.length||n||r)return;p?.();let l=i??``;if(!t.length&&c.startsWith(`/`)&&u){KX(l,c),o();let e=await u(c);if(e.handled){e.error&&a(c),JX(l);return}}KX(l,c),o();let{inline:d,referenceText:f}=fZ(t),m=f?c?`${c}\n\n${f}`:f:c;try{await s(m,d.length?d:void 0)}finally{JX(l)}},[e,t,n,r,i,u,s,a,o,p]),sendQueued:(0,d.useCallback)(n=>{let r=e.trim();if(!r&&!t.length||t.length)return;p?.();let i=n===`steer`?`steer`:`followUp`;if(r.startsWith(`/`)&&f){f(r,i,t.length?t:void 0),o();return}n===`steer`&&c?c(r,t.length?t:void 0):n===`followup`&&l&&l(r,t.length?t:void 0),o()},[e,t,f,c,l,o,p])}}var uQ=(0,d.forwardRef)(function({onSend:e,onAbort:t,onSteer:n,onFollowUp:r,isStreaming:i,model:a,isAutoModelSelection:o,modelNames:s,modelList:c,modelError:l,modelScopeWarnings:u,onModelChange:f,onCompact:p,onReloadFromDisk:m,onAbortCompaction:h,isCompacting:g,compactError:_,compactResult:v,toolPreset:y,onToolPresetChange:b,thinkingLevel:x,onThinkingLevelChange:S,availableThinkingLevels:C,thinkingLevelMap:w,onOpenModelConfig:E,retryInfo:D,queuedMessages:O,inputHistory:k=[],onRecallQueue:A,slashCommands:j,slashCommandsLoading:N,onLoadSlashCommands:ee,onBuiltinCommand:te,commandBusy:P,soundEnabled:re,onSoundToggle:ie,onAudioUnlock:ae,onPromptWithStreamingBehavior:oe,draftKey:se,cwd:ce},le){let{t:ue}=M(),de=ne(),[fe,pe]=(0,d.useState)(()=>se?HX(se)?.value??``:``),me=(O?.steering.length??0)+(O?.followUp.length??0),[he,ge]=(0,d.useState)(!1),[_e,ve]=(0,d.useState)(``),[ye,be]=(0,d.useState)(0),xe=(0,d.useRef)(null),[Se,Ce]=(0,d.useState)(!1),[we,Te]=(0,d.useState)(!1),[Ee,De]=(0,d.useState)(!1),[Oe,ke]=(0,d.useState)(null),{attachedImages:Ae,attachedImagesRef:je,processAttachments:Me,removeImage:Ne,clearImages:Pe,resetAttachments:Fe,visibleAttachKinds:Ie,openFilePicker:Le,fileInputRef:Re}=oQ({draftKey:se,isStreaming:i,model:a,modelList:c}),ze=fe.trimStart(),Be=Ae.length===0&&ze.startsWith(`!`),Ve=Be&&ze.startsWith(`!!`),[He,Ue]=(0,d.useState)(!1),[We,Ge]=(0,d.useState)(0),[Ke,qe]=(0,d.useState)(null),Je=ce&&Ke?.cwd===ce?Ke.values:{},Ye=(0,d.useRef)(null),Xe=(0,d.useRef)(null),Ze=(0,d.useRef)(null),Qe=(0,d.useRef)(null),$e=(0,d.useRef)(null),et=(0,d.useRef)(null),tt=(0,d.useRef)(null),nt=(0,d.useRef)(!1),rt=(0,d.useRef)(0),it=(0,d.useRef)([]),{atQuery:at,setAtQuery:ot,atMenuOpen:st,setAtMenuOpen:ct,atActiveIndex:lt,setAtActiveIndex:ut,atItemRefs:dt,atMatches:ft,fileIndex:pt,fileIndexLoading:mt,needsServerSearch:ht,serverResultInUse:gt,updateAtQuery:_t,applyAtCompletion:vt}=nQ({cwd:ce,value:fe,setValue:pe,textareaRef:Ye});cQ({ref:le,textareaRef:Ye,value:fe,setValue:pe,setAtQuery:ot,processAttachments:Me});let{clearInput:yt}=sQ({draftKey:se,value:fe,setValue:pe,setAtQuery:ot,setHistoryMenuOpen:Ue,attachedImages:Ae,attachedImagesRef:je,clearImages:Pe,resetAttachments:Fe,textareaRef:Ye});(0,d.useEffect)(()=>{let e=Ye.current;e&&(e.style.height=`auto`,fe&&(e.style.height=`${Math.min(e.scrollHeight,200)}px`))},[fe]);let{handleSend:bt,sendQueued:xt}=lQ({value:fe,attachedImages:Ae,isStreaming:i,commandBusy:P,draftKey:se,setValue:pe,clearInput:yt,onSend:e,onSteer:n,onFollowUp:r,onBuiltinCommand:te,onPromptWithStreamingBehavior:oe,onAudioUnlock:ae}),St=_G({value:fe,commands:j,skillDormancy:Je,builtinDisabled:i,onLoadCommands:ee,onApply:(0,d.useCallback)(e=>{let t=`/${e.name} `;pe(t),WZ(Ye.current,t.length)},[])}),Ct=!!fe.trim()&&Ae.length===0;ir(()=>{We>=k.length&&Ge(Math.max(0,k.length-1))},[k.length,We]),(0,d.useEffect)(()=>{it.current.length=k.length},[k.length]),(0,d.useEffect)(()=>{He&&it.current[We]?.scrollIntoView({block:`nearest`,inline:`nearest`})},[We,He]);let wt=(0,d.useCallback)(e=>{pe(e),Ue(!1),Ge(0),ot(null),WZ(Ye.current,e.length)},[ot]),Tt=iQ({value:fe,isStreaming:i,onAbort:t,onSteer:n,onFollowUp:r,onRecallQueue:A,queuedCount:me,handleSend:bt,sendQueued:xt,slashPalette:St,atMenuOpen:st,setAtMenuOpen:ct,atQuery:at,atMatches:ft,atActiveIndex:lt,setAtActiveIndex:ut,applyAtCompletion:vt,historyMenuOpen:He,setHistoryMenuOpen:Ue,inputHistory:k,historyActiveIndex:We,setHistoryActiveIndex:Ge,applyHistoryInput:wt,isComposingRef:nt,lastCompositionEndAtRef:rt}),Et=(0,d.useCallback)(()=>{GZ(Ye.current)},[]),Dt=(0,d.useCallback)(e=>{let t=Array.from(e.clipboardData?.items??[]).filter(e=>XX(e.type));if(!t.length)return;e.preventDefault();let n=t.map(e=>e.getAsFile()).filter(e=>e!==null);Me(n)},[Me]);(0,d.useEffect)(()=>{if(!St.open||!ce)return;let e=ce,t=!1;return qe({cwd:e,values:{}}),fetch(`/api/skills?cwd=${encodeURIComponent(e)}`).then(e=>{if(!e.ok)throw Error(`skills fetch failed: ${e.status}`);return e.json()}).then(n=>{if(t)return;let r={};for(let e of n.skills??[])r[e.name]=e.disableModelInvocation;qe({cwd:e,values:r})}).catch(()=>{t||qe({cwd:e,values:{}})}),()=>{t=!0}},[St.open,ce]);let Ot=RZ(c,s,a?.provider);(0,d.useEffect)(()=>{xe.current?.scrollIntoView({block:`nearest`})},[ye,_e]);let kt=zZ(v,ue),At=IZ(x,w),jt=LZ(y);return aQ({dropdownRef:Xe,modelDropdownPanelRef:Ze,toolDropdownRef:Qe,thinkingDropdownRef:$e,controlsMenuRef:et,historyMenuRef:tt,textareaRef:Ye,setModelDropdownOpen:ge,setModelFilter:ve,setToolDropdownOpen:Ce,setThinkingDropdownOpen:Te,setControlsMenuOpen:De,setHistoryMenuOpen:Ue}),ir(()=>{de||De(!1)},[de]),(0,T.jsxs)(`div`,{style:{position:`relative`,zIndex:140,flexShrink:0,background:`transparent`,padding:`0 16px 8px`,paddingRight:de?16:52},children:[(0,T.jsx)(`input`,{ref:Re,"data-testid":`attach-file-input`,type:`file`,multiple:!0,disabled:i,style:{display:`none`},onChange:e=>{let t=Array.from(e.target.files??[]);Me(t),e.target.value=``}}),(0,T.jsxs)(`div`,{style:{maxWidth:820,margin:`0 auto`},children:[(0,T.jsx)(hZ,{error:l}),(0,T.jsx)(gZ,{warnings:u}),(0,T.jsx)(BZ,{queuedMessages:O,onRecallQueue:A}),(0,T.jsx)(VZ,{retryInfo:D}),(0,T.jsx)(HZ,{text:kt}),(0,T.jsx)(UZ,{error:_}),(0,T.jsx)(pZ,{files:Ae,onRemove:Ne}),(0,T.jsx)(`div`,{style:{position:`relative`,minWidth:0},children:(0,T.jsx)(PZ,{historyMenuOpen:He,inputHistory:k,historyActiveIndex:We,historyItemRefs:it,historyMenuRef:tt,applyHistoryInput:wt,setHistoryActiveIndex:Ge,slashPalette:St,slashCommandsLoading:N,skillDormancy:Je,atMenuOpen:st,bashMode:Be,atQuery:at,atMatches:ft,atActiveIndex:lt,atItemRefs:dt,applyAtCompletion:vt,setAtActiveIndex:ut,fileIndex:pt,fileIndexLoading:mt,cwd:ce,needsServerSearch:ht,serverResultInUse:gt,isStreaming:i,textareaRef:Ye,value:fe,setValue:pe,setHistoryMenuOpen:Ue,updateAtQuery:_t,handleKeyDown:Tt,isComposingRef:nt,lastCompositionEndAtRef:rt,handleInput:Et,handlePaste:Dt,queuedCount:me,t:ue,onSteer:n,onFollowUp:r,canQueueStreamingMessage:Ct,attachedImages:Ae,commandBusy:P,onAbort:t,sendQueued:xt,handleSend:bt})}),Be&&(0,T.jsxs)(`div`,{className:`text-xs px-2 py-1`,style:{color:Ve?`var(--text-muted)`:`var(--accent)`,marginTop:4},children:[ue(`chat.shell`),` · `,ue(Ve?`chat.outputLocal`:`chat.outputModel`)]}),(0,T.jsx)(DZ,{isMobile:de,visibleAttachKinds:Ie,isStreaming:i,openFilePicker:Le,t:ue,onModelChange:f,model:a,modelOptions:Ot,isAutoModelSelection:o,onOpenControlsMenu:()=>{ge(!1),ve(``),De(!0)},controlsMenuOpen:Ee,setControlsMenuOpen:De,controlsMenuRef:et,thinkingLevel:x,thinkingDisplayLabel:At,onThinkingLevelChange:S,availableThinkingLevels:C,thinkingLevelMap:w,thinkingDropdownOpen:we,setThinkingDropdownOpen:Te,thinkingDropdownRef:$e,thinkingMapConfirm:Oe,setThinkingMapConfirm:ke,onOpenModelConfig:E,toolPreset:y,toolPresetLabel:jt,onToolPresetChange:b,toolDropdownOpen:Se,setToolDropdownOpen:Ce,toolDropdownRef:Qe,onReloadFromDisk:m,onCompact:p,onAbortCompaction:h,isCompacting:g,soundEnabled:re,onSoundToggle:ie})]})]})}),dQ=`max(0px, (100% - 868px) / 2)`,fQ=`max(0px, calc((100% - 884px) / 2))`,pQ={preview:`_preview_1jmwf_1`,turn:`_turn_1jmwf_26`,number:`_number_1jmwf_47`,content:`_content_1jmwf_64`,user:`_user_1jmwf_69`,userText:`_userText_1jmwf_90`,assistant:`_assistant_1jmwf_104`,assistantJump:`_assistantJump_1jmwf_115`,outline:`_outline_1jmwf_143`,heading:`_heading_1jmwf_149`,paragraph:`_paragraph_1jmwf_150`};function mQ(e){if(e.type!==`thinking`)return!1;let t=e;return t.thinking.trim()===``&&!!(t.redacted||typeof t.thinkingSignature==`string`&&t.thinkingSignature.trim().length>0)}function hQ(e,t={}){return e.type===`thinking`&&!e.deferred&&!t.isStreaming&&e.thinking.trim()===``&&!mQ(e)}function gQ(e,t={}){return(e.content??[]).filter(e=>!hQ(e,t))}function _Q(e,t={}){return t.isStreaming||e.stopReason!==`error`?null:e.errorMessage?.trim()||`Unknown provider error`}function vQ(e){return e.type===`text`||e.type===`image`}function yQ(e,t={}){let n=gQ(e,t),r=n.findLastIndex(e=>!vQ(e));return r===-1?{answerBlocks:n,processBlocks:[]}:{answerBlocks:n.slice(r+1),processBlocks:n.slice(0,r+1)}}function bQ(e){return e.filter(e=>e.type===`toolCall`).length}function xQ(e){return typeof e.content==`string`?e.content.trim():e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
358
- `).trim()}function SQ(e){if(e.role!==`assistant`)return``;let{answerBlocks:t}=yQ(e);return t.filter(e=>e.type===`text`).map(e=>e.text).join(`
357
+ `);r(o),i(null),qZ(a,o.length)},insertText(e){let n=t.current;if(!n){r(t=>t+(t?` `:``)+e);return}let a=n.selectionStart??n.value.length,o=n.selectionEnd??n.value.length,s=n.value.slice(0,a),c=n.value.slice(o),l=s.length>0&&!s.endsWith(` `)?` `:``;r(s+l+e+c),i(null),qZ(n,a+l.length+e.length)},fillInput(e){let n=t.current;r(e),i(null),qZ(n,e.length)},addImages(e){a(e)}}))}function fQ({value:e,attachedImages:t,isStreaming:n,commandBusy:r,draftKey:i,setValue:a,clearInput:o,onSend:s,onSteer:c,onFollowUp:l,onBuiltinCommand:u,onPromptWithStreamingBehavior:f,onAudioUnlock:p}){return{handleSend:(0,d.useCallback)(async()=>{let c=e.trim();if(!c&&!t.length||n||r)return;p?.();let l=i??``;if(!t.length&&c.startsWith(`/`)&&u){YX(l,c),o();let e=await u(c);if(e.handled){e.error&&a(c),ZX(l);return}}YX(l,c),o();let{inline:d,referenceText:f}=hZ(t),m=f?c?`${c}\n\n${f}`:f:c;try{await s(m,d.length?d:void 0)}finally{ZX(l)}},[e,t,n,r,i,u,s,a,o,p]),sendQueued:(0,d.useCallback)(n=>{let r=e.trim();if(!r&&!t.length||t.length)return;p?.();let i=n===`steer`?`steer`:`followUp`;if(r.startsWith(`/`)&&f){f(r,i,t.length?t:void 0),o();return}n===`steer`&&c?c(r,t.length?t:void 0):n===`followup`&&l&&l(r,t.length?t:void 0),o()},[e,t,f,c,l,o,p])}}var pQ=(0,d.forwardRef)(function({onSend:e,onAbort:t,onSteer:n,onFollowUp:r,isStreaming:i,model:a,isAutoModelSelection:o,modelNames:s,modelList:c,modelError:l,modelScopeWarnings:u,onModelChange:f,onCompact:p,onReloadFromDisk:m,onAbortCompaction:h,isCompacting:g,compactError:_,compactResult:v,toolPreset:y,onToolPresetChange:b,thinkingLevel:x,onThinkingLevelChange:S,availableThinkingLevels:C,thinkingLevelMap:w,onOpenModelConfig:E,retryInfo:D,queuedMessages:O,inputHistory:k=[],onRecallQueue:A,slashCommands:j,slashCommandsLoading:N,onLoadSlashCommands:ee,onBuiltinCommand:te,commandBusy:P,soundEnabled:re,onSoundToggle:ie,onAudioUnlock:ae,onPromptWithStreamingBehavior:oe,draftKey:se,cwd:ce},le){let{t:ue}=M(),de=ne(),[fe,pe]=(0,d.useState)(()=>se?GX(se)?.value??``:``),me=(O?.steering.length??0)+(O?.followUp.length??0),[he,ge]=(0,d.useState)(!1),[_e,ve]=(0,d.useState)(``),[ye,be]=(0,d.useState)(0),xe=(0,d.useRef)(null),[Se,Ce]=(0,d.useState)(!1),[we,Te]=(0,d.useState)(!1),[Ee,De]=(0,d.useState)(!1),[Oe,ke]=(0,d.useState)(null),{attachedImages:Ae,attachedImagesRef:je,processAttachments:Me,removeImage:Ne,clearImages:Pe,resetAttachments:Fe,visibleAttachKinds:Ie,openFilePicker:Le,fileInputRef:Re}=lQ({draftKey:se,isStreaming:i,model:a,modelList:c}),ze=fe.trimStart(),Be=Ae.length===0&&ze.startsWith(`!`),Ve=Be&&ze.startsWith(`!!`),[He,Ue]=(0,d.useState)(!1),[We,Ge]=(0,d.useState)(0),[Ke,qe]=(0,d.useState)(null),Je=ce&&Ke?.cwd===ce?Ke.values:{},Ye=(0,d.useRef)(null),Xe=(0,d.useRef)(null),Ze=(0,d.useRef)(null),Qe=(0,d.useRef)(null),$e=(0,d.useRef)(null),et=(0,d.useRef)(null),tt=(0,d.useRef)(null),nt=(0,d.useRef)(!1),rt=(0,d.useRef)(0),it=(0,d.useRef)([]),{atQuery:at,setAtQuery:ot,atMenuOpen:st,setAtMenuOpen:ct,atActiveIndex:lt,setAtActiveIndex:ut,atItemRefs:dt,atMatches:ft,fileIndex:pt,fileIndexLoading:mt,needsServerSearch:ht,serverResultInUse:gt,updateAtQuery:_t,applyAtCompletion:vt}=aQ({cwd:ce,value:fe,setValue:pe,textareaRef:Ye});dQ({ref:le,textareaRef:Ye,value:fe,setValue:pe,setAtQuery:ot,processAttachments:Me});let{clearInput:yt}=uQ({draftKey:se,value:fe,setValue:pe,setAtQuery:ot,setHistoryMenuOpen:Ue,attachedImages:Ae,attachedImagesRef:je,clearImages:Pe,resetAttachments:Fe,textareaRef:Ye});(0,d.useEffect)(()=>{let e=Ye.current;e&&(e.style.height=`auto`,fe&&(e.style.height=`${Math.min(e.scrollHeight,200)}px`))},[fe]);let{handleSend:bt,sendQueued:xt}=fQ({value:fe,attachedImages:Ae,isStreaming:i,commandBusy:P,draftKey:se,setValue:pe,clearInput:yt,onSend:e,onSteer:n,onFollowUp:r,onBuiltinCommand:te,onPromptWithStreamingBehavior:oe,onAudioUnlock:ae}),St=_G({value:fe,commands:j,skillDormancy:Je,builtinDisabled:i,onLoadCommands:ee,onApply:(0,d.useCallback)(e=>{let t=`/${e.name} `;pe(t),qZ(Ye.current,t.length)},[])}),Ct=!!fe.trim()&&Ae.length===0;ir(()=>{We>=k.length&&Ge(Math.max(0,k.length-1))},[k.length,We]),(0,d.useEffect)(()=>{it.current.length=k.length},[k.length]),(0,d.useEffect)(()=>{He&&it.current[We]?.scrollIntoView({block:`nearest`,inline:`nearest`})},[We,He]);let wt=(0,d.useCallback)(e=>{pe(e),Ue(!1),Ge(0),ot(null),qZ(Ye.current,e.length)},[ot]),Tt=sQ({value:fe,isStreaming:i,onAbort:t,onSteer:n,onFollowUp:r,onRecallQueue:A,queuedCount:me,handleSend:bt,sendQueued:xt,slashPalette:St,atMenuOpen:st,setAtMenuOpen:ct,atQuery:at,atMatches:ft,atActiveIndex:lt,setAtActiveIndex:ut,applyAtCompletion:vt,historyMenuOpen:He,setHistoryMenuOpen:Ue,inputHistory:k,historyActiveIndex:We,setHistoryActiveIndex:Ge,applyHistoryInput:wt,isComposingRef:nt,lastCompositionEndAtRef:rt}),Et=(0,d.useCallback)(()=>{JZ(Ye.current)},[]),Dt=(0,d.useCallback)(e=>{let t=Array.from(e.clipboardData?.items??[]).filter(e=>$X(e.type));if(!t.length)return;e.preventDefault();let n=t.map(e=>e.getAsFile()).filter(e=>e!==null);Me(n)},[Me]);(0,d.useEffect)(()=>{if(!St.open||!ce)return;let e=ce,t=!1;return qe({cwd:e,values:{}}),fetch(`/api/skills?cwd=${encodeURIComponent(e)}`).then(e=>{if(!e.ok)throw Error(`skills fetch failed: ${e.status}`);return e.json()}).then(n=>{if(t)return;let r={};for(let e of n.skills??[])r[e.name]=e.disableModelInvocation;qe({cwd:e,values:r})}).catch(()=>{t||qe({cwd:e,values:{}})}),()=>{t=!0}},[St.open,ce]);let Ot=VZ(c,s,a?.provider);(0,d.useEffect)(()=>{xe.current?.scrollIntoView({block:`nearest`})},[ye,_e]);let kt=HZ(v,ue),At=zZ(x,w),jt=BZ(y);return cQ({dropdownRef:Xe,modelDropdownPanelRef:Ze,toolDropdownRef:Qe,thinkingDropdownRef:$e,controlsMenuRef:et,historyMenuRef:tt,textareaRef:Ye,setModelDropdownOpen:ge,setModelFilter:ve,setToolDropdownOpen:Ce,setThinkingDropdownOpen:Te,setControlsMenuOpen:De,setHistoryMenuOpen:Ue}),ir(()=>{de||De(!1)},[de]),(0,T.jsxs)(`div`,{style:{position:`relative`,zIndex:140,flexShrink:0,background:`transparent`,padding:`0 16px 8px`,paddingRight:de?16:52},children:[(0,T.jsx)(`input`,{ref:Re,"data-testid":`attach-file-input`,type:`file`,multiple:!0,disabled:i,style:{display:`none`},onChange:e=>{let t=Array.from(e.target.files??[]);Me(t),e.target.value=``}}),(0,T.jsxs)(`div`,{style:{maxWidth:820,margin:`0 auto`},children:[(0,T.jsx)(vZ,{error:l}),(0,T.jsx)(yZ,{warnings:u}),(0,T.jsx)(UZ,{queuedMessages:O,onRecallQueue:A}),(0,T.jsx)(WZ,{retryInfo:D}),(0,T.jsx)(GZ,{text:kt}),(0,T.jsx)(KZ,{error:_}),(0,T.jsx)(gZ,{files:Ae,onRemove:Ne}),(0,T.jsx)(`div`,{style:{position:`relative`,minWidth:0},children:(0,T.jsx)(LZ,{historyMenuOpen:He,inputHistory:k,historyActiveIndex:We,historyItemRefs:it,historyMenuRef:tt,applyHistoryInput:wt,setHistoryActiveIndex:Ge,slashPalette:St,slashCommandsLoading:N,skillDormancy:Je,atMenuOpen:st,bashMode:Be,atQuery:at,atMatches:ft,atActiveIndex:lt,atItemRefs:dt,applyAtCompletion:vt,setAtActiveIndex:ut,fileIndex:pt,fileIndexLoading:mt,cwd:ce,needsServerSearch:ht,serverResultInUse:gt,isStreaming:i,textareaRef:Ye,value:fe,setValue:pe,setHistoryMenuOpen:Ue,updateAtQuery:_t,handleKeyDown:Tt,isComposingRef:nt,lastCompositionEndAtRef:rt,handleInput:Et,handlePaste:Dt,queuedCount:me,t:ue,onSteer:n,onFollowUp:r,canQueueStreamingMessage:Ct,attachedImages:Ae,commandBusy:P,onAbort:t,sendQueued:xt,handleSend:bt})}),Be&&(0,T.jsxs)(`div`,{className:`text-xs px-2 py-1`,style:{color:Ve?`var(--text-muted)`:`var(--accent)`,marginTop:4},children:[ue(`chat.shell`),` · `,ue(Ve?`chat.outputLocal`:`chat.outputModel`)]}),(0,T.jsx)(AZ,{isMobile:de,visibleAttachKinds:Ie,isStreaming:i,openFilePicker:Le,t:ue,onModelChange:f,model:a,modelOptions:Ot,isAutoModelSelection:o,onOpenControlsMenu:()=>{ge(!1),ve(``),De(!0)},controlsMenuOpen:Ee,setControlsMenuOpen:De,controlsMenuRef:et,thinkingLevel:x,thinkingDisplayLabel:At,onThinkingLevelChange:S,availableThinkingLevels:C,thinkingLevelMap:w,thinkingDropdownOpen:we,setThinkingDropdownOpen:Te,thinkingDropdownRef:$e,thinkingMapConfirm:Oe,setThinkingMapConfirm:ke,onOpenModelConfig:E,toolPreset:y,toolPresetLabel:jt,onToolPresetChange:b,toolDropdownOpen:Se,setToolDropdownOpen:Ce,toolDropdownRef:Qe,onReloadFromDisk:m,onCompact:p,onAbortCompaction:h,isCompacting:g,soundEnabled:re,onSoundToggle:ie})]})]})}),mQ=`max(0px, (100% - 868px) / 2)`,hQ=`max(0px, calc((100% - 884px) / 2))`,gQ={preview:`_preview_1jmwf_1`,turn:`_turn_1jmwf_26`,number:`_number_1jmwf_47`,content:`_content_1jmwf_64`,user:`_user_1jmwf_69`,userText:`_userText_1jmwf_90`,assistant:`_assistant_1jmwf_104`,assistantJump:`_assistantJump_1jmwf_115`,outline:`_outline_1jmwf_143`,heading:`_heading_1jmwf_149`,paragraph:`_paragraph_1jmwf_150`};function _Q(e){if(e.type!==`thinking`)return!1;let t=e;return t.thinking.trim()===``&&!!(t.redacted||typeof t.thinkingSignature==`string`&&t.thinkingSignature.trim().length>0)}function vQ(e,t={}){return e.type===`thinking`&&!e.deferred&&!t.isStreaming&&e.thinking.trim()===``&&!_Q(e)}function yQ(e,t={}){return(e.content??[]).filter(e=>!vQ(e,t))}function bQ(e,t={}){return t.isStreaming||e.stopReason!==`error`?null:e.errorMessage?.trim()||`Unknown provider error`}function xQ(e){return e.type===`text`||e.type===`image`}function SQ(e,t={}){let n=yQ(e,t),r=n.findLastIndex(e=>!xQ(e));return r===-1?{answerBlocks:n,processBlocks:[]}:{answerBlocks:n.slice(r+1),processBlocks:n.slice(0,r+1)}}function CQ(e){return e.filter(e=>e.type===`toolCall`).length}function wQ(e){return typeof e.content==`string`?e.content.trim():e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
358
+ `).trim()}function TQ(e){if(e.role!==`assistant`)return``;let{answerBlocks:t}=SQ(e);return t.filter(e=>e.type===`text`).map(e=>e.text).join(`
359
359
 
360
- `).trim()}function CQ({level:e,children:t,headingIndex:n,onClick:r}){return(0,T.jsx)(`button`,{type:`button`,className:pQ.heading,"data-level":e,"data-preview-heading-index":n??void 0,disabled:n===null||!r,onClick:e=>{e.stopPropagation(),n!==null&&r?.(n)},children:t})}function wQ(){return e=>{if(!Array.isArray(e.children))return;let t=e.children.filter(e=>e.type===`heading`&&typeof e.depth==`number`&&e.depth<=3);if(t.length>0){t.forEach((e,t)=>{e.data={...e.data,hProperties:{...e.data?.hProperties,"data-preview-heading-index":t}}}),e.children=t;return}let n=e.children.find(e=>e.type===`paragraph`);e.children=n?[n]:[]}}var TQ=[...rW??[],wQ];function EQ(e){let t=e?.properties,n=t?.dataPreviewHeadingIndex??t?.[`data-preview-heading-index`];return typeof n==`number`?n:typeof n==`string`&&/^\d+$/.test(n)?Number(n):null}var DQ=(0,d.memo)(function({markdown:e,onHeadingClick:t,onAnswerClick:n}){return e?(0,T.jsx)(`div`,{className:pQ.outline,children:(0,T.jsx)(tk,{remarkPlugins:TQ,components:{h1:({children:e,node:n})=>(0,T.jsx)(CQ,{level:1,headingIndex:EQ(n),onClick:t,children:e}),h2:({children:e,node:n})=>(0,T.jsx)(CQ,{level:2,headingIndex:EQ(n),onClick:t,children:e}),h3:({children:e,node:n})=>(0,T.jsx)(CQ,{level:3,headingIndex:EQ(n),onClick:t,children:e}),h4:()=>null,h5:()=>null,h6:()=>null,p:({children:e})=>(0,T.jsx)(`button`,{type:`button`,className:pQ.paragraph,onClick:n,children:e}),blockquote:()=>null,ul:()=>null,ol:()=>null,pre:()=>null,table:()=>null,hr:()=>null,a:({children:e})=>(0,T.jsx)(T.Fragment,{children:e}),code:({children:e})=>(0,T.jsx)(T.Fragment,{children:e})},children:e})}):null});function OQ(e){return e.map((e,t)=>({topRatio:0,targetTurn:e,index:t}))}function kQ({allNodes:e,nearestNode:t,previewBoxRef:n,onShowPreview:r,onHidePreview:i,onJumpUser:a,onJumpAssistant:o,onJumpHeading:s}){return(0,T.jsx)(`div`,{ref:n,className:pQ.preview,"data-minimap-preview-box":``,onMouseEnter:r,onMouseDown:e=>e.stopPropagation(),onMouseMove:e=>e.stopPropagation(),children:t!==null&&(()=>{let n=e.length,r=Math.min(Math.max(0,t.index-2),Math.max(0,n-5));return e.slice(r,r+5).map(e=>(0,T.jsxs)(`div`,{className:pQ.turn,"data-minimap-preview-index":e.index,"data-located":e.index===t.index?`true`:void 0,children:[(0,T.jsx)(`span`,{className:pQ.number,"aria-hidden":`true`,children:String(e.index+1)}),(0,T.jsxs)(`div`,{className:pQ.content,children:[(0,T.jsx)(`button`,{type:`button`,className:pQ.user,"data-minimap-preview-user":e.index,onClick:()=>{a(e),i()},children:(0,T.jsx)(`span`,{className:pQ.userText,children:xQ(e.targetTurn.userMessage)})}),e.targetTurn.assistantPreviews.map((t,n)=>(0,T.jsxs)(`div`,{className:pQ.assistant,children:[(0,T.jsx)(F,{label:`Locate assistant message`,wrapperStyle:{display:`contents`},children:(0,T.jsx)(`button`,{type:`button`,className:pQ.assistantJump,"data-minimap-preview-assistant":`${e.index}-${n}`,onClick:()=>{o(e,n),i()},"aria-label":`Locate assistant message`,children:`A`})}),(0,T.jsx)(DQ,{markdown:t.markdown,onAnswerClick:()=>{o(e,n),i()},onHeadingClick:t=>{s(e,n,t),i()}})]},n))]})]},e.index))})()})}var AQ=1600;function jQ({messages:e,streamingMessage:t,scrollContainer:n,messageRefs:r,resolveMessageOffset:i,containerRef:a,railBoxRef:o,allNodesRef:s,pendingNavigationRef:c}){let[l,u]=(0,d.useState)(!1),[f,p]=(0,d.useState)([]),[m,h]=(0,d.useState)(null),[g,_]=(0,d.useState)(600),v=(0,d.useRef)(null),y=(0,d.useMemo)(()=>t?[...e,t]:e,[e,t]),b=(0,d.useRef)(y);(0,d.useEffect)(()=>{b.current=y});let x=(0,d.useCallback)(e=>{v.current={index:e,until:Date.now()+AQ},h(e)},[]),S=(0,d.useCallback)((e,t,n=!1)=>{let r=v.current;if(r&&Date.now()<r.until){if(n)v.current=null;else{h(r.index);return}}v.current=null;let i=e.scrollTop+e.clientHeight/2,a=e.getBoundingClientRect().top,o=null;for(let n of t){let t=n.targetTurn.userElement,r=n.targetTurn.scrollTop;if(t?.isConnected&&(r=t.getBoundingClientRect().top-a+e.scrollTop),r!==null){if(r<=i)o=n;else break}}h(o?o.index:null)},[]),C=(0,d.useCallback)(()=>{let e=n.current;if(!e||e.scrollHeight-e.clientHeight-e.scrollTop>16)return;let t=o.current;if(!t)return;let r=Math.max(0,t.scrollHeight-t.clientHeight);t.scrollTop!==r&&(t.scrollTop=r)},[n,o]),w=(0,d.useCallback)(()=>{if(document.hidden)return;let e=n.current;if(!e)return;let t=e.scrollHeight-e.clientHeight;u(t>20),S(e,s.current,!0),C()},[n,s,S,C]),T=(0,d.useRef)(null),E=(0,d.useCallback)(()=>{if(document.hidden)return;let e=n.current,t=a.current;if(!e||!t)return;let o=e.getBoundingClientRect(),l=[],d=0,f=null,m=b.current;for(let t=0;t<m.length;t++){let n=m[t];if(n.role!==`user`&&n.role!==`assistant`)continue;let a=r.current?.[d];d++;let s=null;if(i?s=i(t):a&&(s=a.getBoundingClientRect().top-o.top+e.scrollTop),n.role===`user`){f=null,f={userMessage:n,userElement:a,assistantPreviews:[],scrollTop:s},l.push(f);continue}if(!f)continue;let c=SQ(n);c&&f.assistantPreviews.push({markdown:c,element:a,msgIdx:t})}let h=OQ(l);_(t.clientHeight),s.current=h,p(h),u(e.scrollHeight-e.clientHeight>20),S(e,h),C();let g=c.current,v=g?h[g.nodeIndex]:null;if(g&&v){let t=g.assistantIndex===void 0?null:v.targetTurn.assistantPreviews[g.assistantIndex],n=v.targetTurn.scrollTop;if(g.target===`user`){let t=v.targetTurn.userElement?.getBoundingClientRect();n=t?t.top-o.top+e.scrollTop:null}else if(g.target===`assistant`){let r=t?.element?.getBoundingClientRect();n=r?r.top-o.top+e.scrollTop:null}else if(g.target===`heading`){let r=(g.headingIndex===void 0?null:t?.element?.querySelectorAll(`h1, h2, h3`).item(g.headingIndex))?.getBoundingClientRect();n=r?r.top-o.top+e.scrollTop:null}if(n===null)return;c.current=null,x(v.index);let r=e.clientHeight*.3;e.scrollTo({top:Math.max(0,n-r),behavior:`smooth`})}},[x,r,i,n,a,s,c,S,C]),D=(0,d.useCallback)(()=>{document.hidden||(T.current||=setTimeout(()=>{T.current=null,!document.hidden&&E()},150))},[E]);return(0,d.useEffect)(()=>{let e=n.current;if(e)return e.addEventListener(`scroll`,w,{passive:!0}),()=>e.removeEventListener(`scroll`,w)},[n,w]),(0,d.useEffect)(()=>{let e=n.current;if(!e)return;let t=()=>{document.hidden||(D(),w())},r=new ResizeObserver(t);return r.observe(e),e.firstElementChild&&r.observe(e.firstElementChild),t(),()=>{r.disconnect(),T.current&&=(clearTimeout(T.current),null)}},[D,n,w]),(0,d.useEffect)(()=>{let e=setTimeout(()=>{D(),w()},50);return()=>clearTimeout(e)},[e.length,D,w]),{allNodes:f,activeIndex:m,minimapHeight:g,visible:l,lockActiveNode:x,measureNodes:D}}function MQ({scrollContainer:e,resolveMessageOffset:t,onWindowJumpTo:n,lockActiveNode:r,measureNodes:i,pendingNavigationRef:a}){let o=(0,d.useRef)(null);return(0,d.useLayoutEffect)(()=>{let t=o.current;if(t===null)return;o.current=null;let n=e.current;n&&(n.scrollTop=t)}),{scrollToNode:(0,d.useCallback)((t,s)=>{let c=e.current;if(!c)return;if(r(t.index),t.targetTurn.scrollTop===null){c.scrollTo({top:c.scrollHeight,behavior:s});return}let l=t.targetTurn.userElement;if(l){let e=c.getBoundingClientRect(),t=l.getBoundingClientRect().top-e.top+c.scrollTop-c.clientHeight*.3;c.scrollTo({top:Math.max(0,t),behavior:s});return}a.current={nodeIndex:t.index,target:`user`};let u=Math.max(0,t.targetTurn.scrollTop-c.clientHeight*.3);Math.abs(u-c.scrollTop)>c.clientHeight*3||s===`auto`?(n(u),o.current=u):c.scrollTo({top:u,behavior:s}),setTimeout(()=>i(),400)},[r,i,n,e,a]),scrollToAssistant:(0,d.useCallback)((s,c)=>{let l=e.current;if(!l)return;let u=s.targetTurn.assistantPreviews[c]?.element;if(!u){a.current={nodeIndex:s.index,target:`assistant`,assistantIndex:c};let e=s.targetTurn.assistantPreviews[c],r=e&&t?t(e.msgIdx):null;if(r!==null){let e=Math.max(0,r-l.clientHeight*.3);Math.abs(e-l.scrollTop)>l.clientHeight*3?(n(e),o.current=e):l.scrollTo({top:e,behavior:`smooth`})}else s.targetTurn.scrollTop!==null&&l.scrollTo({top:Math.max(0,s.targetTurn.scrollTop-l.clientHeight*.3),behavior:`smooth`});setTimeout(()=>i(),400);return}let d=l.getBoundingClientRect(),f=u.getBoundingClientRect().top-d.top+l.scrollTop-l.clientHeight*.3;r(s.index),l.scrollTo({top:Math.max(0,f),behavior:`smooth`})},[r,i,n,t,e,a]),scrollToHeading:(0,d.useCallback)((s,c,l)=>{let u=e.current;if(!u)return;let d=s.targetTurn.assistantPreviews[c]?.element;if(!d){a.current={nodeIndex:s.index,target:`heading`,assistantIndex:c,headingIndex:l};let e=s.targetTurn.assistantPreviews[c],r=e&&t?t(e.msgIdx):null;if(r!==null){let e=Math.max(0,r-u.clientHeight*.3);Math.abs(e-u.scrollTop)>u.clientHeight*3?(n(e),o.current=e):u.scrollTo({top:e,behavior:`smooth`})}else s.targetTurn.scrollTop!==null&&u.scrollTo({top:Math.max(0,s.targetTurn.scrollTop-u.clientHeight*.3),behavior:`smooth`});setTimeout(()=>i(),400);return}let f=d.querySelectorAll(`h1, h2, h3`).item(l);if(!f)return;let p=u.getBoundingClientRect(),m=f.getBoundingClientRect().top-p.top+u.scrollTop-u.clientHeight*.3;r(s.index),u.scrollTo({top:Math.max(0,m),behavior:`smooth`})},[r,i,n,t,e,a])}}var NQ=Fr(`group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,destructive:`bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20`,outline:`border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`}},defaultVariants:{variant:`default`}});function PQ({className:e,variant:t=`default`,asChild:n=!1,...r}){let i=n?Wr:`span`;return(0,T.jsx)(i,{"data-slot":`badge`,"data-variant":t,className:Ap(NQ({variant:t}),e),...r})}function FQ({number:e,active:t=!1,highlighted:n=!1}){return(0,T.jsx)(PQ,{variant:`outline`,className:`h-[1.6em] w-[3em] rounded-[0.25em] border-[1.5px] p-0 font-mono text-[0.625rem] font-semibold leading-none`,style:{background:t?`color-mix(in srgb, var(--accent) 12%, transparent)`:n?`color-mix(in srgb, var(--accent) 10%, transparent)`:`transparent`,borderColor:t||n?`var(--accent)`:`color-mix(in srgb, var(--text) 65%, transparent)`,boxShadow:t?`0 0 0 2px var(--bg-panel)`:n?`0 0 0 1px var(--accent), 0 1px 2px -1px var(--shadow-color)`:`0 1px 2px -1px var(--shadow-color)`,transition:`transform 0.1s, background 0.1s, box-shadow 0.1s`,transform:n?`scale(1.15)`:`scale(1)`},children:(0,T.jsx)(`span`,{style:{fontSize:`var(--text-xs)`,lineHeight:1,fontFamily:`var(--font-mono)`,fontWeight:600,userSelect:`none`,color:t?`var(--accent)`:`var(--text)`},children:String(e)})})}var IQ=48,LQ=12,RQ=26,zQ=2,BQ=250;function VQ({messages:e,streamingMessage:t,scrollContainer:n,messageRefs:r,resolveMessageOffset:i,scrollStepPx:a=200,onWindowJumpTo:o}){let[s,c]=(0,d.useState)(0),[l,u]=(0,d.useState)(!1),[f,p]=(0,d.useState)(null),m=(0,d.useRef)(!1),h=(0,d.useRef)(null),g=(0,d.useRef)(null),_=(0,d.useRef)(null),v=(0,d.useRef)([]),y=(0,d.useRef)(null),b=(0,d.useRef)(null),x=(0,d.useRef)(null),S=(0,d.useRef)(null),C=(0,d.useRef)(null),w=(0,d.useRef)(null),{allNodes:E,activeIndex:D,minimapHeight:O,visible:k,lockActiveNode:A,measureNodes:j}=jQ({messages:e,streamingMessage:t,scrollContainer:n,messageRefs:r,resolveMessageOffset:i,containerRef:h,railBoxRef:g,allNodesRef:v,pendingNavigationRef:w}),{scrollToNode:M,scrollToAssistant:N,scrollToHeading:ee}=MQ({scrollContainer:n,resolveMessageOffset:i,onWindowJumpTo:o,lockActiveNode:A,measureNodes:j,pendingNavigationRef:w}),te=(0,d.useCallback)(e=>{let t=v.current;if(t.length===0)return null;let n=Math.round((e-LQ)/RQ);return t[Math.max(0,Math.min(n,t.length-1))]??null},[]),P=tx(),ne=(0,d.useCallback)(()=>{P.cancel(),u(!0)},[P]),re=(0,d.useCallback)(()=>{P.cancel(),u(!1),p(null)},[P]),ie=(0,d.useCallback)(()=>{P.schedule(re,BQ)},[P,re]);(0,d.useEffect)(()=>()=>{x.current!==null&&cancelAnimationFrame(x.current),S.current!==null&&cancelAnimationFrame(S.current)},[]);let ae=(0,d.useCallback)(e=>{if(!k)return;m.current=!0,ne();let t=e.currentTarget.getBoundingClientRect(),n=g.current?.scrollTop??0,r=n+(e.clientY-t.top);p(r);let i=e=>{m.current&&S.current===null&&(S.current=requestAnimationFrame(()=>{S.current=null,p(n+(e.clientY-t.top))}))},a=()=>{m.current=!1,S.current!==null&&(cancelAnimationFrame(S.current),S.current=null),window.removeEventListener(`mousemove`,i),window.removeEventListener(`mouseup`,a)};window.addEventListener(`mousemove`,i),window.addEventListener(`mouseup`,a)},[ne,k]),oe=f===null?null:te(f);(0,d.useLayoutEffect)(()=>{if(!l||oe===null)return;let e=y.current;if(!e)return;let t=g.current?.scrollTop??0,n=LQ+oe.index*RQ-t,r=Math.max(0,O-e.offsetHeight),i=Math.min(Math.max(n-e.offsetHeight/2,0),r);e.style.top=`${i}px`},[l,oe,O,s]);let se=(0,d.useCallback)(()=>{_.current===null&&(_.current=requestAnimationFrame(()=>{_.current=null;let e=g.current;e&&c(e.scrollTop)}))},[]),ce=(0,d.useCallback)(e=>{let t=g.current;if(!t)return;let n=Math.max(0,t.scrollHeight-t.clientHeight);b.current=e===`top`?0:n,t.scrollTo({top:e===`top`?0:n,behavior:`smooth`})},[]),le=(0,d.useCallback)(e=>{let t=g.current;if(!t)return;let n=Math.max(0,t.scrollHeight-t.clientHeight),r=b.current??t.scrollTop,i=Math.max(0,Math.min(n,r+e*a));b.current=i,t.scrollTo({top:i,behavior:`auto`})},[a]);if(!k)return null;let ue=E.length*RQ+24,de=Math.max(1,O),fe=Math.max(0,Math.floor(s/RQ)-zQ),pe=Math.min(E.length,Math.ceil((s+de)/RQ)+zQ),me=E.slice(fe,pe),he=s<=2,ge=s>=ue-de-2;return(0,T.jsxs)(`div`,{ref:h,"data-testid":`chat-minimap`,"data-minimap":``,onMouseDown:ae,onMouseLeave:()=>{ie()},onMouseMove:e=>{let t=e.currentTarget.getBoundingClientRect(),n=(g.current?.scrollTop??0)+(e.clientY-t.top);C.current=n,x.current===null&&(x.current=requestAnimationFrame(()=>{x.current=null,p(C.current??0)}))},style:{width:IQ,position:`absolute`,top:0,bottom:0,right:fQ,zIndex:130,cursor:`pointer`,userSelect:`none`},children:[(0,T.jsx)(`div`,{ref:g,"data-minimap-rail":``,onScroll:se,onMouseDown:ae,onMouseMove:e=>{let t=g.current,n=e.currentTarget.getBoundingClientRect(),r=(t?.scrollTop??0)+(e.clientY-n.top);C.current=r,x.current===null&&(x.current=requestAnimationFrame(()=>{x.current=null,p(C.current??0)}))},style:{position:`absolute`,inset:0,overflowY:`auto`,scrollbarWidth:`none`,overflowAnchor:`none`,cursor:`pointer`,userSelect:`none`},children:(0,T.jsx)(`div`,{style:{position:`relative`,height:ue},children:me.map(e=>{let t=l&&oe?.index===e.index,n=D===e.index;return(0,T.jsx)(`div`,{"data-minimap-node-index":e.index,"data-minimap-node-active":n?``:void 0,onMouseEnter:()=>{p(LQ+e.index*RQ),ne()},onMouseLeave:ie,style:{position:`absolute`,top:LQ+e.index*RQ,transform:`translateY(-50%)`,left:0,right:0,height:RQ,display:`flex`,alignItems:`center`,justifyContent:`center`,pointerEvents:`auto`,zIndex:2},children:(0,T.jsx)(FQ,{number:e.index+1,active:n,highlighted:t})},e.index)})})}),he?null:(0,T.jsx)(nK,{direction:`up`,visible:!0,onHover:()=>le(-1),onClick:()=>ce(`top`),label:`Scroll minimap rail to top`,testId:`rail-scroll-up`}),ge?null:(0,T.jsx)(nK,{direction:`down`,visible:!0,onHover:()=>le(1),onClick:()=>ce(`bottom`),label:`Scroll minimap rail to bottom`,testId:`rail-scroll-down`}),l&&E.length>0&&(0,T.jsx)(kQ,{allNodes:E,nearestNode:oe,previewBoxRef:y,onShowPreview:ne,onHidePreview:re,onJumpUser:e=>M(e,`smooth`),onJumpAssistant:N,onJumpHeading:ee})]})}function HQ(e){let t=(0,d.useRef)([]);return t.current=Array(e).fill(null).map((e,n)=>t.current[n]??null),t}var UQ={indicator:`indicator`,textOnly:`text-only`,remove:`remove`};function WQ({defaultOrigin:e=``,allowedLinkPrefixes:t=[],allowedImagePrefixes:n=[],allowDataImages:r=!1,allowedProtocols:i=[],blockedImageClass:a=`inline-block bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-400 px-3 py-1 rounded text-sm`,blockedLinkClass:o=`text-gray-500`,linkBlockPolicy:s=UQ.indicator,imageBlockPolicy:c=UQ.indicator}){let l=t.length&&!t.every(e=>e===`*`),u=n.length&&!n.every(e=>e===`*`);if(!e&&(l||u))throw Error(`defaultOrigin is required when allowedLinkPrefixes or allowedImagePrefixes are provided`);return l=>{let u=e$(e,t,n,r,i,a,o,s,c);XQ(l),rO(l,u)}}function GQ(e,t){if(typeof e!=`string`)return null;try{return new URL(e)}catch{if(t)try{return new URL(e,t)}catch{return null}if(e.startsWith(`/`)||e.startsWith(`./`)||e.startsWith(`../`))try{return new URL(e,`http://example.com`)}catch{return null}return null}}function KQ(e){return typeof e==`string`?e.startsWith(`/`)||e.startsWith(`./`)||e.startsWith(`../`):!1}var qQ=new Set([`https:`,`http:`,`irc:`,`ircs:`,`mailto:`,`xmpp:`,`blob:`]),JQ=new Set([`javascript:`,`data:`,`file:`,`vbscript:`]);function YQ(e,t,n,r=!1,i=!1,a=[]){if(!e)return null;if(typeof e==`string`&&e.startsWith(`#`)&&!i)try{if(new URL(e,`http://example.com`).hash===e)return e}catch{}if(typeof e==`string`&&e.startsWith(`data:`))return i&&r&&e.startsWith(`data:image/`)?e:null;if(typeof e==`string`&&e.startsWith(`blob:`)){try{if(new URL(e).protocol===`blob:`&&e.length>5){let t=e.substring(5);if(t&&t.length>0&&t!==`invalid`)return e}}catch{return null}return null}let o=GQ(e,n);if(!o||JQ.has(o.protocol)||!(qQ.has(o.protocol)||a.includes(o.protocol)||a.includes(`*`)))return null;if(o.protocol===`mailto:`||!o.protocol.match(/^https?:$/))return o.href;let s=KQ(e);return o&&t.some(e=>{let t=GQ(e,n);return!t||t.origin!==o.origin?!1:o.href.startsWith(t.href)})?s?o.pathname+o.search+o.hash:o.href:t.includes(`*`)?o.protocol!==`https:`&&o.protocol!==`http:`?null:s?o.pathname+o.search+o.hash:o.href:null}function XQ(e){if(`children`in e&&Array.isArray(e.children)){e.children=e.children.filter(e=>e!=null);for(let t of e.children)XQ(t)}}var ZQ=Symbol(`node-seen`);function QQ(e,t,n){return t===UQ.remove?{type:`remove`}:t===UQ.textOnly?{type:`replace`,element:{type:`element`,tagName:`span`,properties:{},children:[...e.children]}}:{type:`replace`,element:{type:`element`,tagName:`span`,properties:{title:`Blocked URL: `+String(e.properties.href),class:n},children:[...e.children,{type:`text`,value:` [blocked]`}]}}}function $Q(e,t,n){if(t===UQ.remove)return{type:`remove`};if(t===UQ.textOnly){let t=String(e.properties.alt||``);return t?{type:`replace`,element:{type:`element`,tagName:`span`,properties:{},children:[{type:`text`,value:t}]}}:{type:`remove`}}return{type:`replace`,element:{type:`element`,tagName:`span`,properties:{class:n},children:[{type:`text`,value:`[Image blocked: `+String(e.properties.alt||`No description`)+`]`}]}}}var e$=(e,t,n,r,i,a,o,s,c)=>{let l=(u,d,f)=>{if(u.type!==`element`||u[ZQ])return!0;if(u.tagName===`a`){let n=YQ(u.properties.href,t,e,!1,!1,i);if(n===null){if(u[ZQ]=!0,rO(u,l),f&&typeof d==`number`){let e=QQ(u,s,o);if(e.type===`remove`)return f.children.splice(d,1),[eO,d];f.children[d]=e.element}return eO}return u.properties.href=n,u.properties.target=`_blank`,u.properties.rel=`noopener noreferrer`,!0}if(u.tagName===`img`){let t=YQ(u.properties.src,n,e,r,!0,i);if(t===null){if(u[ZQ]=!0,rO(u,l),f&&typeof d==`number`){let e=$Q(u,c,a);if(e.type===`remove`)return f.children.splice(d,1),[eO,d];f.children[d]=e.element}return eO}return u.properties.src=t,!0}return!0};return l},t$=Object.defineProperty,n$=Object.defineProperties,r$=Object.getOwnPropertyDescriptors,i$=Object.getOwnPropertySymbols,a$=Object.prototype.hasOwnProperty,o$=Object.prototype.propertyIsEnumerable,s$=(e,t,n)=>t in e?t$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,c$=(e,t)=>{for(var n in t||={})a$.call(t,n)&&s$(e,n,t[n]);if(i$)for(var n of i$(t))o$.call(t,n)&&s$(e,n,t[n]);return e},l$=(e,t)=>n$(e,r$(t)),u$=e=>{let t=new Uint8Array(e.length+1),n=!1,r=!1,i=0;for(;i<e.length;){if(e[i]===`\\`&&i+1<e.length&&e[i+1]==="`"){let e=n||r?1:0;t[i+1]=e,t[i+2]=e,i+=2;continue}if(e.substring(i,i+3)==="```"){r=!r;let a=n||r?1:0,o=Math.min(i+3,e.length);for(let e=i+1;e<=o;e+=1)t[e]=a;i=o;continue}!r&&e[i]==="`"&&(n=!n),t[i+1]=n||r?1:0,i+=1}return t},d$=null,f$=(e,t)=>{let n=d$;return(n===null||n.text!==e)&&(n={text:e,lookup:u$(e)},d$=n),n.lookup[Math.min(t,e.length)]===1},p$=(e,t)=>{let n=e.substring(t,t+3)==="```",r=t>0&&e.substring(t-1,t+2)==="```",i=t>1&&e.substring(t-2,t+1)==="```";return n||r||i},m$=e=>{let t=0;for(let n=0;n<e.length;n+=1){if(e[n]===`\\`&&n+1<e.length&&e[n+1]==="`"){n+=1;continue}e[n]==="`"&&!p$(e,n)&&(t+=1)}return t},h$=(e,t)=>{let n=!1,r=!1,i=-1;for(let a=0;a<e.length;a+=1){if(e[a]===`\\`&&a+1<e.length&&e[a+1]==="`"){a+=1;continue}if(e.substring(a,a+3)==="```"){r=!r,a+=2;continue}if(!r&&e[a]==="`"){if(n){if(i<t&&t<a)return!0;n=!1,i=-1}else n=!0,i=a}}return!1},g$=/^(\s*(?:[-*+]|\d+[.)]) +)>(=?\s*[$]?\d)/gm,_$=e=>!e||typeof e!=`string`||!e.includes(`>`)?e:e.replace(g$,(t,n,r,i)=>f$(e,i)?t:`${n}\\>${r}`),v$=/(\*\*)([^*]*\*?)$/,y$=/(__)([^_]*?)$/,b$=/(\*\*\*)([^*]*?)$/,x$=/(\*)([^*]*?)$/,S$=/(_)([^_]*?)$/,C$=/(`)([^`]*?)$/,w$=/(~~)([^~]*?)$/,T$=/^[\s_~*`]*$/,E$=/^[\s]*[-*+][\s]+$/,D$=/[\p{L}\p{N}_]/u,O$=/^```[^`\n]*```?$/,k$=/^\*{4,}$/,A$=/(__)([^_]+)_$/,j$=/(~~)([^~]+)~$/,M$=/~~/g,N$=e=>{if(!e)return!1;let t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122||t===95||D$.test(e)},P$=(e,t)=>{let n=1;for(let r=t-1;r>=0;--r)if(e[r]===`]`)n+=1;else if(e[r]===`[`&&(--n,n===0))return r;return-1},F$=(e,t)=>{let n=1;for(let r=t+1;r<e.length;r+=1)if(e[r]===`[`)n+=1;else if(e[r]===`]`&&(--n,n===0))return r;return-1},I$=e=>e===`inlineLatex`||e===`blockLatex`,L$=(e,t)=>t===`[`&&e===`none`?`blockLatex`:t===`]`&&e===`blockLatex`?`none`:t===`(`&&e===`none`?`inlineLatex`:t===`)`&&e===`inlineLatex`?`none`:null,R$=(e,t)=>t?e===`blockDollar`?`none`:`blockDollar`:e===`blockDollar`?e:e===`inlineDollar`?`none`:`inlineDollar`,z$=(e,t)=>{let n=`none`;for(let r=0;r<e.length&&r<t;r+=1){if(e[r]===`\\`&&e[r+1]===`$`){r+=1;continue}if(e[r]===`\\`){let t=L$(n,e[r+1]);if(t!==null){n=t,r+=1;continue}}if(e[r]===`$`&&!I$(n)){let t=e[r+1]===`$`;n=R$(n,t),t&&(r+=1)}}return n!==`none`},B$=(e,t)=>{for(let n=t;n<e.length;n+=1){if(e[n]===`)`)return!0;if(e[n]===`
361
- `)return!1}return!1},V$=(e,t)=>{for(let n=t-1;n>=0;--n){if(e[n]===`)`)return!1;if(e[n]===`(`)return n>0&&e[n-1]===`]`&&B$(e,t);if(e[n]===`
362
- `)return!1}return!1},H$=(e,t)=>{for(let n=t-1;n>=0;--n){if(e[n]===`>`)return!1;if(e[n]===`<`){let t=n+1<e.length?e[n+1]:``;return t>=`a`&&t<=`z`||t>=`A`&&t<=`Z`||t===`/`}if(e[n]===`
363
- `)return!1}return!1},U$=(e,t,n)=>{let r=0;for(let n=t-1;n>=0;--n)if(e[n]===`
360
+ `).trim()}function EQ({level:e,children:t,headingIndex:n,onClick:r}){return(0,T.jsx)(`button`,{type:`button`,className:gQ.heading,"data-level":e,"data-preview-heading-index":n??void 0,disabled:n===null||!r,onClick:e=>{e.stopPropagation(),n!==null&&r?.(n)},children:t})}function DQ(){return e=>{if(!Array.isArray(e.children))return;let t=e.children.filter(e=>e.type===`heading`&&typeof e.depth==`number`&&e.depth<=3);if(t.length>0){t.forEach((e,t)=>{e.data={...e.data,hProperties:{...e.data?.hProperties,"data-preview-heading-index":t}}}),e.children=t;return}let n=e.children.find(e=>e.type===`paragraph`);e.children=n?[n]:[]}}var OQ=[...rW??[],DQ];function kQ(e){let t=e?.properties,n=t?.dataPreviewHeadingIndex??t?.[`data-preview-heading-index`];return typeof n==`number`?n:typeof n==`string`&&/^\d+$/.test(n)?Number(n):null}var AQ=(0,d.memo)(function({markdown:e,onHeadingClick:t,onAnswerClick:n}){return e?(0,T.jsx)(`div`,{className:gQ.outline,children:(0,T.jsx)(tk,{remarkPlugins:OQ,components:{h1:({children:e,node:n})=>(0,T.jsx)(EQ,{level:1,headingIndex:kQ(n),onClick:t,children:e}),h2:({children:e,node:n})=>(0,T.jsx)(EQ,{level:2,headingIndex:kQ(n),onClick:t,children:e}),h3:({children:e,node:n})=>(0,T.jsx)(EQ,{level:3,headingIndex:kQ(n),onClick:t,children:e}),h4:()=>null,h5:()=>null,h6:()=>null,p:({children:e})=>(0,T.jsx)(`button`,{type:`button`,className:gQ.paragraph,onClick:n,children:e}),blockquote:()=>null,ul:()=>null,ol:()=>null,pre:()=>null,table:()=>null,hr:()=>null,a:({children:e})=>(0,T.jsx)(T.Fragment,{children:e}),code:({children:e})=>(0,T.jsx)(T.Fragment,{children:e})},children:e})}):null});function jQ(e){return e.map((e,t)=>({topRatio:0,targetTurn:e,index:t}))}function MQ({allNodes:e,nearestNode:t,previewBoxRef:n,onShowPreview:r,onHidePreview:i,onJumpUser:a,onJumpAssistant:o,onJumpHeading:s}){return(0,T.jsx)(`div`,{ref:n,className:gQ.preview,"data-minimap-preview-box":``,onMouseEnter:r,onMouseDown:e=>e.stopPropagation(),onMouseMove:e=>e.stopPropagation(),children:t!==null&&(()=>{let n=e.length,r=Math.min(Math.max(0,t.index-2),Math.max(0,n-5));return e.slice(r,r+5).map(e=>(0,T.jsxs)(`div`,{className:gQ.turn,"data-minimap-preview-index":e.index,"data-located":e.index===t.index?`true`:void 0,children:[(0,T.jsx)(`span`,{className:gQ.number,"aria-hidden":`true`,children:String(e.index+1)}),(0,T.jsxs)(`div`,{className:gQ.content,children:[(0,T.jsx)(`button`,{type:`button`,className:gQ.user,"data-minimap-preview-user":e.index,onClick:()=>{a(e),i()},children:(0,T.jsx)(`span`,{className:gQ.userText,children:wQ(e.targetTurn.userMessage)})}),e.targetTurn.assistantPreviews.map((t,n)=>(0,T.jsxs)(`div`,{className:gQ.assistant,children:[(0,T.jsx)(F,{label:`Locate assistant message`,wrapperStyle:{display:`contents`},children:(0,T.jsx)(`button`,{type:`button`,className:gQ.assistantJump,"data-minimap-preview-assistant":`${e.index}-${n}`,onClick:()=>{o(e,n),i()},"aria-label":`Locate assistant message`,children:`A`})}),(0,T.jsx)(AQ,{markdown:t.markdown,onAnswerClick:()=>{o(e,n),i()},onHeadingClick:t=>{s(e,n,t),i()}})]},n))]})]},e.index))})()})}var NQ=1600;function PQ({messages:e,streamingMessage:t,scrollContainer:n,messageRefs:r,resolveMessageOffset:i,containerRef:a,railBoxRef:o,allNodesRef:s,pendingNavigationRef:c}){let[l,u]=(0,d.useState)(!1),[f,p]=(0,d.useState)([]),[m,h]=(0,d.useState)(null),[g,_]=(0,d.useState)(600),v=(0,d.useRef)(null),y=(0,d.useMemo)(()=>t?[...e,t]:e,[e,t]),b=(0,d.useRef)(y);(0,d.useEffect)(()=>{b.current=y});let x=(0,d.useCallback)(e=>{v.current={index:e,until:Date.now()+NQ},h(e)},[]),S=(0,d.useCallback)((e,t,n=!1)=>{let r=v.current;if(r&&Date.now()<r.until){if(n)v.current=null;else{h(r.index);return}}v.current=null;let i=e.scrollTop+e.clientHeight/2,a=e.getBoundingClientRect().top,o=null;for(let n of t){let t=n.targetTurn.userElement,r=n.targetTurn.scrollTop;if(t?.isConnected&&(r=t.getBoundingClientRect().top-a+e.scrollTop),r!==null){if(r<=i)o=n;else break}}h(o?o.index:null)},[]),C=(0,d.useCallback)(()=>{let e=n.current;if(!e||e.scrollHeight-e.clientHeight-e.scrollTop>16)return;let t=o.current;if(!t)return;let r=Math.max(0,t.scrollHeight-t.clientHeight);t.scrollTop!==r&&(t.scrollTop=r)},[n,o]),w=(0,d.useCallback)(()=>{if(document.hidden)return;let e=n.current;if(!e)return;let t=e.scrollHeight-e.clientHeight;u(t>20),S(e,s.current,!0),C()},[n,s,S,C]),T=(0,d.useRef)(null),E=(0,d.useCallback)(()=>{if(document.hidden)return;let e=n.current,t=a.current;if(!e||!t)return;let o=e.getBoundingClientRect(),l=[],d=0,f=null,m=b.current;for(let t=0;t<m.length;t++){let n=m[t];if(n.role!==`user`&&n.role!==`assistant`)continue;let a=r.current?.[d];d++;let s=null;if(i?s=i(t):a&&(s=a.getBoundingClientRect().top-o.top+e.scrollTop),n.role===`user`){f=null,f={userMessage:n,userElement:a,assistantPreviews:[],scrollTop:s},l.push(f);continue}if(!f)continue;let c=TQ(n);c&&f.assistantPreviews.push({markdown:c,element:a,msgIdx:t})}let h=jQ(l);_(t.clientHeight),s.current=h,p(h),u(e.scrollHeight-e.clientHeight>20),S(e,h),C();let g=c.current,v=g?h[g.nodeIndex]:null;if(g&&v){let t=g.assistantIndex===void 0?null:v.targetTurn.assistantPreviews[g.assistantIndex],n=v.targetTurn.scrollTop;if(g.target===`user`){let t=v.targetTurn.userElement?.getBoundingClientRect();n=t?t.top-o.top+e.scrollTop:null}else if(g.target===`assistant`){let r=t?.element?.getBoundingClientRect();n=r?r.top-o.top+e.scrollTop:null}else if(g.target===`heading`){let r=(g.headingIndex===void 0?null:t?.element?.querySelectorAll(`h1, h2, h3`).item(g.headingIndex))?.getBoundingClientRect();n=r?r.top-o.top+e.scrollTop:null}if(n===null)return;c.current=null,x(v.index);let r=e.clientHeight*.3;e.scrollTo({top:Math.max(0,n-r),behavior:`smooth`})}},[x,r,i,n,a,s,c,S,C]),D=(0,d.useCallback)(()=>{document.hidden||(T.current||=setTimeout(()=>{T.current=null,!document.hidden&&E()},150))},[E]);return(0,d.useEffect)(()=>{let e=n.current;if(e)return e.addEventListener(`scroll`,w,{passive:!0}),()=>e.removeEventListener(`scroll`,w)},[n,w]),(0,d.useEffect)(()=>{let e=n.current;if(!e)return;let t=()=>{document.hidden||(D(),w())},r=new ResizeObserver(t);return r.observe(e),e.firstElementChild&&r.observe(e.firstElementChild),t(),()=>{r.disconnect(),T.current&&=(clearTimeout(T.current),null)}},[D,n,w]),(0,d.useEffect)(()=>{let e=setTimeout(()=>{D(),w()},50);return()=>clearTimeout(e)},[e.length,D,w]),{allNodes:f,activeIndex:m,minimapHeight:g,visible:l,lockActiveNode:x,measureNodes:D}}function FQ({scrollContainer:e,resolveMessageOffset:t,onWindowJumpTo:n,lockActiveNode:r,measureNodes:i,pendingNavigationRef:a}){let o=(0,d.useRef)(null);return(0,d.useLayoutEffect)(()=>{let t=o.current;if(t===null)return;o.current=null;let n=e.current;n&&(n.scrollTop=t)}),{scrollToNode:(0,d.useCallback)((t,s)=>{let c=e.current;if(!c)return;if(r(t.index),t.targetTurn.scrollTop===null){c.scrollTo({top:c.scrollHeight,behavior:s});return}let l=t.targetTurn.userElement;if(l){let e=c.getBoundingClientRect(),t=l.getBoundingClientRect().top-e.top+c.scrollTop-c.clientHeight*.3;c.scrollTo({top:Math.max(0,t),behavior:s});return}a.current={nodeIndex:t.index,target:`user`};let u=Math.max(0,t.targetTurn.scrollTop-c.clientHeight*.3);Math.abs(u-c.scrollTop)>c.clientHeight*3||s===`auto`?(n(u),o.current=u):c.scrollTo({top:u,behavior:s}),setTimeout(()=>i(),400)},[r,i,n,e,a]),scrollToAssistant:(0,d.useCallback)((s,c)=>{let l=e.current;if(!l)return;let u=s.targetTurn.assistantPreviews[c]?.element;if(!u){a.current={nodeIndex:s.index,target:`assistant`,assistantIndex:c};let e=s.targetTurn.assistantPreviews[c],r=e&&t?t(e.msgIdx):null;if(r!==null){let e=Math.max(0,r-l.clientHeight*.3);Math.abs(e-l.scrollTop)>l.clientHeight*3?(n(e),o.current=e):l.scrollTo({top:e,behavior:`smooth`})}else s.targetTurn.scrollTop!==null&&l.scrollTo({top:Math.max(0,s.targetTurn.scrollTop-l.clientHeight*.3),behavior:`smooth`});setTimeout(()=>i(),400);return}let d=l.getBoundingClientRect(),f=u.getBoundingClientRect().top-d.top+l.scrollTop-l.clientHeight*.3;r(s.index),l.scrollTo({top:Math.max(0,f),behavior:`smooth`})},[r,i,n,t,e,a]),scrollToHeading:(0,d.useCallback)((s,c,l)=>{let u=e.current;if(!u)return;let d=s.targetTurn.assistantPreviews[c]?.element;if(!d){a.current={nodeIndex:s.index,target:`heading`,assistantIndex:c,headingIndex:l};let e=s.targetTurn.assistantPreviews[c],r=e&&t?t(e.msgIdx):null;if(r!==null){let e=Math.max(0,r-u.clientHeight*.3);Math.abs(e-u.scrollTop)>u.clientHeight*3?(n(e),o.current=e):u.scrollTo({top:e,behavior:`smooth`})}else s.targetTurn.scrollTop!==null&&u.scrollTo({top:Math.max(0,s.targetTurn.scrollTop-u.clientHeight*.3),behavior:`smooth`});setTimeout(()=>i(),400);return}let f=d.querySelectorAll(`h1, h2, h3`).item(l);if(!f)return;let p=u.getBoundingClientRect(),m=f.getBoundingClientRect().top-p.top+u.scrollTop-u.clientHeight*.3;r(s.index),u.scrollTo({top:Math.max(0,m),behavior:`smooth`})},[r,i,n,t,e,a])}}var IQ=Fr(`group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,destructive:`bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20`,outline:`border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`}},defaultVariants:{variant:`default`}});function LQ({className:e,variant:t=`default`,asChild:n=!1,...r}){let i=n?Wr:`span`;return(0,T.jsx)(i,{"data-slot":`badge`,"data-variant":t,className:Ap(IQ({variant:t}),e),...r})}function RQ({number:e,active:t=!1,highlighted:n=!1}){return(0,T.jsx)(LQ,{variant:`outline`,className:`h-[1.6em] w-[3em] rounded-[0.25em] border-[1.5px] p-0 font-mono text-[0.625rem] font-semibold leading-none`,style:{background:t?`color-mix(in srgb, var(--accent) 12%, transparent)`:n?`color-mix(in srgb, var(--accent) 10%, transparent)`:`transparent`,borderColor:t||n?`var(--accent)`:`color-mix(in srgb, var(--text) 65%, transparent)`,boxShadow:t?`0 0 0 2px var(--bg-panel)`:n?`0 0 0 1px var(--accent), 0 1px 2px -1px var(--shadow-color)`:`0 1px 2px -1px var(--shadow-color)`,transition:`transform 0.1s, background 0.1s, box-shadow 0.1s`,transform:n?`scale(1.15)`:`scale(1)`},children:(0,T.jsx)(`span`,{style:{fontSize:`var(--text-xs)`,lineHeight:1,fontFamily:`var(--font-mono)`,fontWeight:600,userSelect:`none`,color:t?`var(--accent)`:`var(--text)`},children:String(e)})})}var zQ=48,BQ=12,VQ=26,HQ=2,UQ=250;function WQ({messages:e,streamingMessage:t,scrollContainer:n,messageRefs:r,resolveMessageOffset:i,scrollStepPx:a=200,onWindowJumpTo:o}){let[s,c]=(0,d.useState)(0),[l,u]=(0,d.useState)(!1),[f,p]=(0,d.useState)(null),m=(0,d.useRef)(!1),h=(0,d.useRef)(null),g=(0,d.useRef)(null),_=(0,d.useRef)(null),v=(0,d.useRef)([]),y=(0,d.useRef)(null),b=(0,d.useRef)(null),x=(0,d.useRef)(null),S=(0,d.useRef)(null),C=(0,d.useRef)(null),w=(0,d.useRef)(null),{allNodes:E,activeIndex:D,minimapHeight:O,visible:k,lockActiveNode:A,measureNodes:j}=PQ({messages:e,streamingMessage:t,scrollContainer:n,messageRefs:r,resolveMessageOffset:i,containerRef:h,railBoxRef:g,allNodesRef:v,pendingNavigationRef:w}),{scrollToNode:M,scrollToAssistant:N,scrollToHeading:ee}=FQ({scrollContainer:n,resolveMessageOffset:i,onWindowJumpTo:o,lockActiveNode:A,measureNodes:j,pendingNavigationRef:w}),te=(0,d.useCallback)(e=>{let t=v.current;if(t.length===0)return null;let n=Math.round((e-BQ)/VQ);return t[Math.max(0,Math.min(n,t.length-1))]??null},[]),P=tx(),ne=(0,d.useCallback)(()=>{P.cancel(),u(!0)},[P]),re=(0,d.useCallback)(()=>{P.cancel(),u(!1),p(null)},[P]),ie=(0,d.useCallback)(()=>{P.schedule(re,UQ)},[P,re]);(0,d.useEffect)(()=>()=>{x.current!==null&&cancelAnimationFrame(x.current),S.current!==null&&cancelAnimationFrame(S.current)},[]);let ae=(0,d.useCallback)(e=>{if(!k)return;m.current=!0,ne();let t=e.currentTarget.getBoundingClientRect(),n=g.current?.scrollTop??0,r=n+(e.clientY-t.top);p(r);let i=e=>{m.current&&S.current===null&&(S.current=requestAnimationFrame(()=>{S.current=null,p(n+(e.clientY-t.top))}))},a=()=>{m.current=!1,S.current!==null&&(cancelAnimationFrame(S.current),S.current=null),window.removeEventListener(`mousemove`,i),window.removeEventListener(`mouseup`,a)};window.addEventListener(`mousemove`,i),window.addEventListener(`mouseup`,a)},[ne,k]),oe=f===null?null:te(f);(0,d.useLayoutEffect)(()=>{if(!l||oe===null)return;let e=y.current;if(!e)return;let t=g.current?.scrollTop??0,n=BQ+oe.index*VQ-t,r=Math.max(0,O-e.offsetHeight),i=Math.min(Math.max(n-e.offsetHeight/2,0),r);e.style.top=`${i}px`},[l,oe,O,s]);let se=(0,d.useCallback)(()=>{_.current===null&&(_.current=requestAnimationFrame(()=>{_.current=null;let e=g.current;e&&c(e.scrollTop)}))},[]),ce=(0,d.useCallback)(e=>{let t=g.current;if(!t)return;let n=Math.max(0,t.scrollHeight-t.clientHeight);b.current=e===`top`?0:n,t.scrollTo({top:e===`top`?0:n,behavior:`smooth`})},[]),le=(0,d.useCallback)(e=>{let t=g.current;if(!t)return;let n=Math.max(0,t.scrollHeight-t.clientHeight),r=b.current??t.scrollTop,i=Math.max(0,Math.min(n,r+e*a));b.current=i,t.scrollTo({top:i,behavior:`auto`})},[a]);if(!k)return null;let ue=E.length*VQ+24,de=Math.max(1,O),fe=Math.max(0,Math.floor(s/VQ)-HQ),pe=Math.min(E.length,Math.ceil((s+de)/VQ)+HQ),me=E.slice(fe,pe),he=s<=2,ge=s>=ue-de-2;return(0,T.jsxs)(`div`,{ref:h,"data-testid":`chat-minimap`,"data-minimap":``,onMouseDown:ae,onMouseLeave:()=>{ie()},onMouseMove:e=>{let t=e.currentTarget.getBoundingClientRect(),n=(g.current?.scrollTop??0)+(e.clientY-t.top);C.current=n,x.current===null&&(x.current=requestAnimationFrame(()=>{x.current=null,p(C.current??0)}))},style:{width:zQ,position:`absolute`,top:0,bottom:0,right:hQ,zIndex:130,cursor:`pointer`,userSelect:`none`},children:[(0,T.jsx)(`div`,{ref:g,"data-minimap-rail":``,onScroll:se,onMouseDown:ae,onMouseMove:e=>{let t=g.current,n=e.currentTarget.getBoundingClientRect(),r=(t?.scrollTop??0)+(e.clientY-n.top);C.current=r,x.current===null&&(x.current=requestAnimationFrame(()=>{x.current=null,p(C.current??0)}))},style:{position:`absolute`,inset:0,overflowY:`auto`,scrollbarWidth:`none`,overflowAnchor:`none`,cursor:`pointer`,userSelect:`none`},children:(0,T.jsx)(`div`,{style:{position:`relative`,height:ue},children:me.map(e=>{let t=l&&oe?.index===e.index,n=D===e.index;return(0,T.jsx)(`div`,{"data-minimap-node-index":e.index,"data-minimap-node-active":n?``:void 0,onMouseEnter:()=>{p(BQ+e.index*VQ),ne()},onMouseLeave:ie,style:{position:`absolute`,top:BQ+e.index*VQ,transform:`translateY(-50%)`,left:0,right:0,height:VQ,display:`flex`,alignItems:`center`,justifyContent:`center`,pointerEvents:`auto`,zIndex:2},children:(0,T.jsx)(RQ,{number:e.index+1,active:n,highlighted:t})},e.index)})})}),he?null:(0,T.jsx)(nK,{direction:`up`,visible:!0,onHover:()=>le(-1),onClick:()=>ce(`top`),label:`Scroll minimap rail to top`,testId:`rail-scroll-up`}),ge?null:(0,T.jsx)(nK,{direction:`down`,visible:!0,onHover:()=>le(1),onClick:()=>ce(`bottom`),label:`Scroll minimap rail to bottom`,testId:`rail-scroll-down`}),l&&E.length>0&&(0,T.jsx)(MQ,{allNodes:E,nearestNode:oe,previewBoxRef:y,onShowPreview:ne,onHidePreview:re,onJumpUser:e=>M(e,`smooth`),onJumpAssistant:N,onJumpHeading:ee})]})}function GQ(e){let t=(0,d.useRef)([]);return t.current=Array(e).fill(null).map((e,n)=>t.current[n]??null),t}var KQ={indicator:`indicator`,textOnly:`text-only`,remove:`remove`};function qQ({defaultOrigin:e=``,allowedLinkPrefixes:t=[],allowedImagePrefixes:n=[],allowDataImages:r=!1,allowedProtocols:i=[],blockedImageClass:a=`inline-block bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-400 px-3 py-1 rounded text-sm`,blockedLinkClass:o=`text-gray-500`,linkBlockPolicy:s=KQ.indicator,imageBlockPolicy:c=KQ.indicator}){let l=t.length&&!t.every(e=>e===`*`),u=n.length&&!n.every(e=>e===`*`);if(!e&&(l||u))throw Error(`defaultOrigin is required when allowedLinkPrefixes or allowedImagePrefixes are provided`);return l=>{let u=r$(e,t,n,r,i,a,o,s,c);$Q(l),rO(l,u)}}function JQ(e,t){if(typeof e!=`string`)return null;try{return new URL(e)}catch{if(t)try{return new URL(e,t)}catch{return null}if(e.startsWith(`/`)||e.startsWith(`./`)||e.startsWith(`../`))try{return new URL(e,`http://example.com`)}catch{return null}return null}}function YQ(e){return typeof e==`string`?e.startsWith(`/`)||e.startsWith(`./`)||e.startsWith(`../`):!1}var XQ=new Set([`https:`,`http:`,`irc:`,`ircs:`,`mailto:`,`xmpp:`,`blob:`]),ZQ=new Set([`javascript:`,`data:`,`file:`,`vbscript:`]);function QQ(e,t,n,r=!1,i=!1,a=[]){if(!e)return null;if(typeof e==`string`&&e.startsWith(`#`)&&!i)try{if(new URL(e,`http://example.com`).hash===e)return e}catch{}if(typeof e==`string`&&e.startsWith(`data:`))return i&&r&&e.startsWith(`data:image/`)?e:null;if(typeof e==`string`&&e.startsWith(`blob:`)){try{if(new URL(e).protocol===`blob:`&&e.length>5){let t=e.substring(5);if(t&&t.length>0&&t!==`invalid`)return e}}catch{return null}return null}let o=JQ(e,n);if(!o||ZQ.has(o.protocol)||!(XQ.has(o.protocol)||a.includes(o.protocol)||a.includes(`*`)))return null;if(o.protocol===`mailto:`||!o.protocol.match(/^https?:$/))return o.href;let s=YQ(e);return o&&t.some(e=>{let t=JQ(e,n);return!t||t.origin!==o.origin?!1:o.href.startsWith(t.href)})?s?o.pathname+o.search+o.hash:o.href:t.includes(`*`)?o.protocol!==`https:`&&o.protocol!==`http:`?null:s?o.pathname+o.search+o.hash:o.href:null}function $Q(e){if(`children`in e&&Array.isArray(e.children)){e.children=e.children.filter(e=>e!=null);for(let t of e.children)$Q(t)}}var e$=Symbol(`node-seen`);function t$(e,t,n){return t===KQ.remove?{type:`remove`}:t===KQ.textOnly?{type:`replace`,element:{type:`element`,tagName:`span`,properties:{},children:[...e.children]}}:{type:`replace`,element:{type:`element`,tagName:`span`,properties:{title:`Blocked URL: `+String(e.properties.href),class:n},children:[...e.children,{type:`text`,value:` [blocked]`}]}}}function n$(e,t,n){if(t===KQ.remove)return{type:`remove`};if(t===KQ.textOnly){let t=String(e.properties.alt||``);return t?{type:`replace`,element:{type:`element`,tagName:`span`,properties:{},children:[{type:`text`,value:t}]}}:{type:`remove`}}return{type:`replace`,element:{type:`element`,tagName:`span`,properties:{class:n},children:[{type:`text`,value:`[Image blocked: `+String(e.properties.alt||`No description`)+`]`}]}}}var r$=(e,t,n,r,i,a,o,s,c)=>{let l=(u,d,f)=>{if(u.type!==`element`||u[e$])return!0;if(u.tagName===`a`){let n=QQ(u.properties.href,t,e,!1,!1,i);if(n===null){if(u[e$]=!0,rO(u,l),f&&typeof d==`number`){let e=t$(u,s,o);if(e.type===`remove`)return f.children.splice(d,1),[eO,d];f.children[d]=e.element}return eO}return u.properties.href=n,u.properties.target=`_blank`,u.properties.rel=`noopener noreferrer`,!0}if(u.tagName===`img`){let t=QQ(u.properties.src,n,e,r,!0,i);if(t===null){if(u[e$]=!0,rO(u,l),f&&typeof d==`number`){let e=n$(u,c,a);if(e.type===`remove`)return f.children.splice(d,1),[eO,d];f.children[d]=e.element}return eO}return u.properties.src=t,!0}return!0};return l},i$=Object.defineProperty,a$=Object.defineProperties,o$=Object.getOwnPropertyDescriptors,s$=Object.getOwnPropertySymbols,c$=Object.prototype.hasOwnProperty,l$=Object.prototype.propertyIsEnumerable,u$=(e,t,n)=>t in e?i$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,d$=(e,t)=>{for(var n in t||={})c$.call(t,n)&&u$(e,n,t[n]);if(s$)for(var n of s$(t))l$.call(t,n)&&u$(e,n,t[n]);return e},f$=(e,t)=>a$(e,o$(t)),p$=e=>{let t=new Uint8Array(e.length+1),n=!1,r=!1,i=0;for(;i<e.length;){if(e[i]===`\\`&&i+1<e.length&&e[i+1]==="`"){let e=n||r?1:0;t[i+1]=e,t[i+2]=e,i+=2;continue}if(e.substring(i,i+3)==="```"){r=!r;let a=n||r?1:0,o=Math.min(i+3,e.length);for(let e=i+1;e<=o;e+=1)t[e]=a;i=o;continue}!r&&e[i]==="`"&&(n=!n),t[i+1]=n||r?1:0,i+=1}return t},m$=null,h$=(e,t)=>{let n=m$;return(n===null||n.text!==e)&&(n={text:e,lookup:p$(e)},m$=n),n.lookup[Math.min(t,e.length)]===1},g$=(e,t)=>{let n=e.substring(t,t+3)==="```",r=t>0&&e.substring(t-1,t+2)==="```",i=t>1&&e.substring(t-2,t+1)==="```";return n||r||i},_$=e=>{let t=0;for(let n=0;n<e.length;n+=1){if(e[n]===`\\`&&n+1<e.length&&e[n+1]==="`"){n+=1;continue}e[n]==="`"&&!g$(e,n)&&(t+=1)}return t},v$=(e,t)=>{let n=!1,r=!1,i=-1;for(let a=0;a<e.length;a+=1){if(e[a]===`\\`&&a+1<e.length&&e[a+1]==="`"){a+=1;continue}if(e.substring(a,a+3)==="```"){r=!r,a+=2;continue}if(!r&&e[a]==="`"){if(n){if(i<t&&t<a)return!0;n=!1,i=-1}else n=!0,i=a}}return!1},y$=/^(\s*(?:[-*+]|\d+[.)]) +)>(=?\s*[$]?\d)/gm,b$=e=>!e||typeof e!=`string`||!e.includes(`>`)?e:e.replace(y$,(t,n,r,i)=>h$(e,i)?t:`${n}\\>${r}`),x$=/(\*\*)([^*]*\*?)$/,S$=/(__)([^_]*?)$/,C$=/(\*\*\*)([^*]*?)$/,w$=/(\*)([^*]*?)$/,T$=/(_)([^_]*?)$/,E$=/(`)([^`]*?)$/,D$=/(~~)([^~]*?)$/,O$=/^[\s_~*`]*$/,k$=/^[\s]*[-*+][\s]+$/,A$=/[\p{L}\p{N}_]/u,j$=/^```[^`\n]*```?$/,M$=/^\*{4,}$/,N$=/(__)([^_]+)_$/,P$=/(~~)([^~]+)~$/,F$=/~~/g,I$=e=>{if(!e)return!1;let t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122||t===95||A$.test(e)},L$=(e,t)=>{let n=1;for(let r=t-1;r>=0;--r)if(e[r]===`]`)n+=1;else if(e[r]===`[`&&(--n,n===0))return r;return-1},R$=(e,t)=>{let n=1;for(let r=t+1;r<e.length;r+=1)if(e[r]===`[`)n+=1;else if(e[r]===`]`&&(--n,n===0))return r;return-1},z$=e=>e===`inlineLatex`||e===`blockLatex`,B$=(e,t)=>t===`[`&&e===`none`?`blockLatex`:t===`]`&&e===`blockLatex`?`none`:t===`(`&&e===`none`?`inlineLatex`:t===`)`&&e===`inlineLatex`?`none`:null,V$=(e,t)=>t?e===`blockDollar`?`none`:`blockDollar`:e===`blockDollar`?e:e===`inlineDollar`?`none`:`inlineDollar`,H$=(e,t)=>{let n=`none`;for(let r=0;r<e.length&&r<t;r+=1){if(e[r]===`\\`&&e[r+1]===`$`){r+=1;continue}if(e[r]===`\\`){let t=B$(n,e[r+1]);if(t!==null){n=t,r+=1;continue}}if(e[r]===`$`&&!z$(n)){let t=e[r+1]===`$`;n=V$(n,t),t&&(r+=1)}}return n!==`none`},U$=(e,t)=>{for(let n=t;n<e.length;n+=1){if(e[n]===`)`)return!0;if(e[n]===`
361
+ `)return!1}return!1},W$=(e,t)=>{for(let n=t-1;n>=0;--n){if(e[n]===`)`)return!1;if(e[n]===`(`)return n>0&&e[n-1]===`]`&&U$(e,t);if(e[n]===`
362
+ `)return!1}return!1},G$=(e,t)=>{for(let n=t-1;n>=0;--n){if(e[n]===`>`)return!1;if(e[n]===`<`){let t=n+1<e.length?e[n+1]:``;return t>=`a`&&t<=`z`||t>=`A`&&t<=`Z`||t===`/`}if(e[n]===`
363
+ `)return!1}return!1},K$=(e,t,n)=>{let r=0;for(let n=t-1;n>=0;--n)if(e[n]===`
364
364
  `){r=n+1;break}let i=e.length;for(let n=t;n<e.length;n+=1)if(e[n]===`
365
- `){i=n;break}let a=e.substring(r,i),o=0,s=!1;for(let e of a)if(e===n)o+=1;else if(e!==` `&&e!==` `){s=!0;break}return o>=3&&!s},W$=e=>e.includes(`$`)||e.includes(`\\(`)||e.includes(`\\[`),G$=(e,t,n,r)=>n===`\\`||W$(e)&&z$(e,t)?!0:n!==`*`&&r===`*`?(t<e.length-2?e[t+2]:``)!==`*`:n===`*`||(!n||n===` `||n===` `||n===`
365
+ `){i=n;break}let a=e.substring(r,i),o=0,s=!1;for(let e of a)if(e===n)o+=1;else if(e!==` `&&e!==` `){s=!0;break}return o>=3&&!s},q$=e=>e.includes(`$`)||e.includes(`\\(`)||e.includes(`\\[`),J$=(e,t,n,r)=>n===`\\`||q$(e)&&H$(e,t)?!0:n!==`*`&&r===`*`?(t<e.length-2?e[t+2]:``)!==`*`:n===`*`||(!n||n===` `||n===` `||n===`
366
366
  `)&&(!r||r===` `||r===` `||r===`
367
- `),K$=e=>e===` `||e===` `||e===`
368
- `,q$=(e,t)=>!!(e&&t&&N$(e)&&N$(t)),J$=(e,t,n,r)=>{let i=q$(e,t),a=!!t&&!K$(t),o=!!e&&!K$(e);return i&&n%2==0&&!r?{count:!1}:o&&n%2==1||a?{count:!0,inWordAsteriskChain:i}:{count:!1}},Y$=e=>{let t=0,n=!1,r=!1,i=e.length;for(let a=0;a<i;a+=1){if(e[a]==="`"&&a+2<i&&e[a+1]==="`"&&e[a+2]==="`"){n=!n,a+=2;continue}if(n)continue;if(e[a]!==`*`){N$(e[a])||(r=!1);continue}let o=a>0?e[a-1]:``,s=a<i-1?e[a+1]:``;if(G$(e,a,o,s))continue;let c=J$(o,s,t,r);c.count&&(t+=1,r=c.inWordAsteriskChain)}return t},X$=(e,t,n,r)=>!!(n===`\\`||W$(e)&&z$(e,t)||V$(e,t)||H$(e,t)||n===`_`||r===`_`||n&&r&&N$(n)&&N$(r)),Z$=e=>{let t=0,n=!1,r=e.length;for(let i=0;i<r;i+=1){if(e[i]==="`"&&i+2<r&&e[i+1]==="`"&&e[i+2]==="`"){n=!n,i+=2;continue}if(n||e[i]!==`_`)continue;let a=i>0?e[i-1]:``,o=i<r-1?e[i+1]:``;X$(e,i,a,o)||(t+=1)}return t},Q$=e=>{let t=0,n=0,r=!1;for(let i=0;i<e.length;i+=1){if(e[i]==="`"&&i+2<e.length&&e[i+1]==="`"&&e[i+2]==="`"){n>=3&&(t+=Math.floor(n/3)),n=0,r=!r,i+=2;continue}r||(e[i]===`*`?n+=1:(n>=3&&(t+=Math.floor(n/3)),n=0))}return n>=3&&(t+=Math.floor(n/3)),t},$$=e=>{let t=0,n=!1;for(let r=0;r<e.length;r+=1){if(e[r]==="`"&&r+2<e.length&&e[r+1]==="`"&&e[r+2]==="`"){n=!n,r+=2;continue}n||e[r]===`*`&&r+1<e.length&&e[r+1]===`*`&&(t+=1,r+=1)}return t},e1=e=>{let t=0,n=!1;for(let r=0;r<e.length;r+=1){if(e[r]==="`"&&r+2<e.length&&e[r+1]==="`"&&e[r+2]==="`"){n=!n,r+=2;continue}n||e[r]===`_`&&r+1<e.length&&e[r+1]===`_`&&(t+=1,r+=1)}return t},t1=(e,t,n)=>{if(!t||T$.test(t))return!0;let r=e.substring(0,n).lastIndexOf(`
369
- `),i=r===-1?0:r+1,a=e.substring(i,n);return E$.test(a)&&t.includes(`
370
- `)?!0:U$(e,n,`*`)},n1=e=>{let t=e.match(v$);if(!t)return e;let n=t[2],r=e.lastIndexOf(t[1]);return f$(e,r)||h$(e,r)||t1(e,n,r)?e:$$(e)%2==1?n.endsWith(`*`)?`${e}*`:`${e}**`:e},r1=(e,t,n)=>{if(!t||T$.test(t))return!0;let r=e.substring(0,n).lastIndexOf(`
371
- `),i=r===-1?0:r+1,a=e.substring(i,n);return E$.test(a)&&t.includes(`
372
- `)?!0:U$(e,n,`_`)},i1=e=>{let t=e.match(y$);if(!t){let t=e.match(A$);if(t){let n=e.lastIndexOf(t[1]);if(!(f$(e,n)||h$(e,n))&&e1(e)%2==1)return`${e}_`}return e}let n=t[2],r=e.lastIndexOf(t[1]);return f$(e,r)||h$(e,r)||r1(e,n,r)?e:e1(e)%2==1?`${e}__`:e},a1=e=>{let t=!1;for(let n=0;n<e.length;n+=1){if(e[n]==="`"&&n+2<e.length&&e[n+1]==="`"&&e[n+2]==="`"){t=!t,n+=2;continue}if(!t&&e[n]===`*`&&e[n-1]!==`*`&&e[n+1]!==`*`&&e[n-1]!==`\\`&&!z$(e,n)){let t=n>0?e[n-1]:``,r=n<e.length-1?e[n+1]:``,i=!t||K$(t),a=!r||K$(r);if(i&&a||t&&r&&N$(t)&&N$(r)||a)continue;return n}}return-1},o1=e=>{if(!e.match(x$))return e;let t=a1(e);if(t===-1||f$(e,t)||h$(e,t))return e;let n=e.substring(t+1);return!n||T$.test(n)?e:Y$(e)%2==1?`${e}*`:e},s1=e=>{let t=!1;for(let n=0;n<e.length;n+=1){if(e[n]==="`"&&n+2<e.length&&e[n+1]==="`"&&e[n+2]==="`"){t=!t,n+=2;continue}if(!t&&e[n]===`_`&&e[n-1]!==`_`&&e[n+1]!==`_`&&e[n-1]!==`\\`&&!z$(e,n)&&!V$(e,n)){let t=n>0?e[n-1]:``,r=n<e.length-1?e[n+1]:``;if(t&&r&&N$(t)&&N$(r))continue;return n}}return-1},c1=e=>{let t=e.length;for(;t>0&&e[t-1]===`
373
- `;)--t;return t<e.length?`${e.slice(0,t)}_${e.slice(t)}`:`${e}_`},l1=e=>{if(!e.endsWith(`**`))return null;let t=e.slice(0,-2);if($$(t)%2!=1)return null;let n=t.indexOf(`**`),r=s1(t);return n!==-1&&r!==-1&&n<r?`${t}_**`:null},u1=e=>{if(!e.match(S$))return e;let t=s1(e);if(t===-1)return e;let n=e.substring(t+1);if(!n||T$.test(n)||f$(e,t)||h$(e,t))return e;if(Z$(e)%2==1){let t=l1(e);return t===null?c1(e):t}return e},d1=e=>{let t=$$(e),n=Y$(e);return t%2==0&&n%2==0},f1=(e,t,n)=>!t||T$.test(t)||f$(e,n)||h$(e,n)?!0:U$(e,n,`*`),p1=e=>{if(k$.test(e))return e;let t=e.match(b$);if(!t)return e;let n=t[2];return f1(e,n,e.lastIndexOf(t[1]))?e:Q$(e)%2==1?d1(e)?e:`${e}***`:e},m1=/<[a-zA-Z/][^>]*$/,h1=e=>{let t=e.match(m1);return!t||t.index===void 0||f$(e,t.index)?e:e.substring(0,t.index).trimEnd()},g1=e=>!e.match(O$)||e.includes(`
374
- `)?null:e.endsWith("``")&&!e.endsWith("```")?`${e}\``:e,_1=e=>(e.match(/```/g)||[]).length%2==1,v1=e=>{let t=g1(e);if(t!==null)return t;let n=e.match(C$);if(n&&!_1(e)){let t=n[2];if(!t||T$.test(t))return e;if(m$(e)%2==1)return`${e}\``}return e},y1=(e,t)=>t>=2&&e.substring(t-2,t+1)==="```"||t>=1&&e.substring(t-1,t+2)==="```"||t<=e.length-3&&e.substring(t,t+3)==="```",ine=e=>{let t=0,n=!1;for(let r=0;r<e.length-1;r+=1)e[r]==="`"&&!y1(e,r)&&(n=!n),!n&&e[r]===`$`&&e[r+1]===`$`&&(t+=1,r+=1);return t},b1=e=>{let t=0,n=!1;for(let r=0;r<e.length;r+=1){if(e[r]===`\\`){r+=1;continue}if(e[r]==="`"&&!y1(e,r)){n=!n;continue}!n&&e[r]===`$`&&(r+1<e.length&&e[r+1]===`$`?r+=1:t+=1)}return t},x1=e=>{if(e.endsWith(`$`)&&!e.endsWith(`$$`))return`${e}$`;let t=e.indexOf(`$$`);return t!==-1&&e.indexOf(`
367
+ `),Y$=e=>e===` `||e===` `||e===`
368
+ `,X$=(e,t)=>!!(e&&t&&I$(e)&&I$(t)),Z$=(e,t,n,r)=>{let i=X$(e,t),a=!!t&&!Y$(t),o=!!e&&!Y$(e);return i&&n%2==0&&!r?{count:!1}:o&&n%2==1||a?{count:!0,inWordAsteriskChain:i}:{count:!1}},Q$=e=>{let t=0,n=!1,r=!1,i=e.length;for(let a=0;a<i;a+=1){if(e[a]==="`"&&a+2<i&&e[a+1]==="`"&&e[a+2]==="`"){n=!n,a+=2;continue}if(n)continue;if(e[a]!==`*`){I$(e[a])||(r=!1);continue}let o=a>0?e[a-1]:``,s=a<i-1?e[a+1]:``;if(J$(e,a,o,s))continue;let c=Z$(o,s,t,r);c.count&&(t+=1,r=c.inWordAsteriskChain)}return t},$$=(e,t,n,r)=>!!(n===`\\`||q$(e)&&H$(e,t)||W$(e,t)||G$(e,t)||n===`_`||r===`_`||n&&r&&I$(n)&&I$(r)),e1=e=>{let t=0,n=!1,r=e.length;for(let i=0;i<r;i+=1){if(e[i]==="`"&&i+2<r&&e[i+1]==="`"&&e[i+2]==="`"){n=!n,i+=2;continue}if(n||e[i]!==`_`)continue;let a=i>0?e[i-1]:``,o=i<r-1?e[i+1]:``;$$(e,i,a,o)||(t+=1)}return t},t1=e=>{let t=0,n=0,r=!1;for(let i=0;i<e.length;i+=1){if(e[i]==="`"&&i+2<e.length&&e[i+1]==="`"&&e[i+2]==="`"){n>=3&&(t+=Math.floor(n/3)),n=0,r=!r,i+=2;continue}r||(e[i]===`*`?n+=1:(n>=3&&(t+=Math.floor(n/3)),n=0))}return n>=3&&(t+=Math.floor(n/3)),t},n1=e=>{let t=0,n=!1;for(let r=0;r<e.length;r+=1){if(e[r]==="`"&&r+2<e.length&&e[r+1]==="`"&&e[r+2]==="`"){n=!n,r+=2;continue}n||e[r]===`*`&&r+1<e.length&&e[r+1]===`*`&&(t+=1,r+=1)}return t},r1=e=>{let t=0,n=!1;for(let r=0;r<e.length;r+=1){if(e[r]==="`"&&r+2<e.length&&e[r+1]==="`"&&e[r+2]==="`"){n=!n,r+=2;continue}n||e[r]===`_`&&r+1<e.length&&e[r+1]===`_`&&(t+=1,r+=1)}return t},i1=(e,t,n)=>{if(!t||O$.test(t))return!0;let r=e.substring(0,n).lastIndexOf(`
369
+ `),i=r===-1?0:r+1,a=e.substring(i,n);return k$.test(a)&&t.includes(`
370
+ `)?!0:K$(e,n,`*`)},a1=e=>{let t=e.match(x$);if(!t)return e;let n=t[2],r=e.lastIndexOf(t[1]);return h$(e,r)||v$(e,r)||i1(e,n,r)?e:n1(e)%2==1?n.endsWith(`*`)?`${e}*`:`${e}**`:e},o1=(e,t,n)=>{if(!t||O$.test(t))return!0;let r=e.substring(0,n).lastIndexOf(`
371
+ `),i=r===-1?0:r+1,a=e.substring(i,n);return k$.test(a)&&t.includes(`
372
+ `)?!0:K$(e,n,`_`)},s1=e=>{let t=e.match(S$);if(!t){let t=e.match(N$);if(t){let n=e.lastIndexOf(t[1]);if(!(h$(e,n)||v$(e,n))&&r1(e)%2==1)return`${e}_`}return e}let n=t[2],r=e.lastIndexOf(t[1]);return h$(e,r)||v$(e,r)||o1(e,n,r)?e:r1(e)%2==1?`${e}__`:e},c1=e=>{let t=!1;for(let n=0;n<e.length;n+=1){if(e[n]==="`"&&n+2<e.length&&e[n+1]==="`"&&e[n+2]==="`"){t=!t,n+=2;continue}if(!t&&e[n]===`*`&&e[n-1]!==`*`&&e[n+1]!==`*`&&e[n-1]!==`\\`&&!H$(e,n)){let t=n>0?e[n-1]:``,r=n<e.length-1?e[n+1]:``,i=!t||Y$(t),a=!r||Y$(r);if(i&&a||t&&r&&I$(t)&&I$(r)||a)continue;return n}}return-1},l1=e=>{if(!e.match(w$))return e;let t=c1(e);if(t===-1||h$(e,t)||v$(e,t))return e;let n=e.substring(t+1);return!n||O$.test(n)?e:Q$(e)%2==1?`${e}*`:e},u1=e=>{let t=!1;for(let n=0;n<e.length;n+=1){if(e[n]==="`"&&n+2<e.length&&e[n+1]==="`"&&e[n+2]==="`"){t=!t,n+=2;continue}if(!t&&e[n]===`_`&&e[n-1]!==`_`&&e[n+1]!==`_`&&e[n-1]!==`\\`&&!H$(e,n)&&!W$(e,n)){let t=n>0?e[n-1]:``,r=n<e.length-1?e[n+1]:``;if(t&&r&&I$(t)&&I$(r))continue;return n}}return-1},d1=e=>{let t=e.length;for(;t>0&&e[t-1]===`
373
+ `;)--t;return t<e.length?`${e.slice(0,t)}_${e.slice(t)}`:`${e}_`},f1=e=>{if(!e.endsWith(`**`))return null;let t=e.slice(0,-2);if(n1(t)%2!=1)return null;let n=t.indexOf(`**`),r=u1(t);return n!==-1&&r!==-1&&n<r?`${t}_**`:null},p1=e=>{if(!e.match(T$))return e;let t=u1(e);if(t===-1)return e;let n=e.substring(t+1);if(!n||O$.test(n)||h$(e,t)||v$(e,t))return e;if(e1(e)%2==1){let t=f1(e);return t===null?d1(e):t}return e},m1=e=>{let t=n1(e),n=Q$(e);return t%2==0&&n%2==0},h1=(e,t,n)=>!t||O$.test(t)||h$(e,n)||v$(e,n)?!0:K$(e,n,`*`),g1=e=>{if(M$.test(e))return e;let t=e.match(C$);if(!t)return e;let n=t[2];return h1(e,n,e.lastIndexOf(t[1]))?e:t1(e)%2==1?m1(e)?e:`${e}***`:e},_1=/<[a-zA-Z/][^>]*$/,v1=e=>{let t=e.match(_1);return!t||t.index===void 0||h$(e,t.index)?e:e.substring(0,t.index).trimEnd()},y1=e=>!e.match(j$)||e.includes(`
374
+ `)?null:e.endsWith("``")&&!e.endsWith("```")?`${e}\``:e,ine=e=>(e.match(/```/g)||[]).length%2==1,b1=e=>{let t=y1(e);if(t!==null)return t;let n=e.match(E$);if(n&&!ine(e)){let t=n[2];if(!t||O$.test(t))return e;if(_$(e)%2==1)return`${e}\``}return e},x1=(e,t)=>t>=2&&e.substring(t-2,t+1)==="```"||t>=1&&e.substring(t-1,t+2)==="```"||t<=e.length-3&&e.substring(t,t+3)==="```",S1=e=>{let t=0,n=!1;for(let r=0;r<e.length-1;r+=1)e[r]==="`"&&!x1(e,r)&&(n=!n),!n&&e[r]===`$`&&e[r+1]===`$`&&(t+=1,r+=1);return t},C1=e=>{let t=0,n=!1;for(let r=0;r<e.length;r+=1){if(e[r]===`\\`){r+=1;continue}if(e[r]==="`"&&!x1(e,r)){n=!n;continue}!n&&e[r]===`$`&&(r+1<e.length&&e[r+1]===`$`?r+=1:t+=1)}return t},w1=e=>{if(e.endsWith(`$`)&&!e.endsWith(`$$`))return`${e}$`;let t=e.indexOf(`$$`);return t!==-1&&e.indexOf(`
375
375
  `,t)!==-1&&!e.endsWith(`
376
376
  `)?`${e}
377
- $$`:`${e}$$`},S1=e=>ine(e)%2==0?e:x1(e),C1=e=>b1(e)%2==1?`${e}$`:e,w1=(e,t,n)=>{if(e.substring(t+2).includes(`)`))return null;let r=P$(e,t);if(r===-1||f$(e,r))return null;let i=r>0&&e[r-1]===`!`,a=i?r-1:r,o=e.substring(0,a);if(i)return o;let s=e.substring(r+1,t);return n===`text-only`?`${o}${s}`:`${o}[${s}](streamdown:incomplete-link)`},T1=(e,t)=>{for(let n=0;n<t;n++)if(e[n]===`[`&&!f$(e,n)){if(n>0&&e[n-1]===`!`)continue;let t=F$(e,n);if(t===-1)return n;if(t+1<e.length&&e[t+1]===`(`){let r=e.indexOf(`)`,t+2);r!==-1&&(n=r)}}return t},E1=(e,t,n)=>{let r=t>0&&e[t-1]===`!`,i=r?t-1:t;if(!e.substring(t+1).includes(`]`)){let a=e.substring(0,i);if(r)return a;if(n===`text-only`){let n=T1(e,t);return e.substring(0,n)+e.substring(n+1)}return`${e}](streamdown:incomplete-link)`}if(F$(e,t)===-1){let a=e.substring(0,i);if(r)return a;if(n===`text-only`){let n=T1(e,t);return e.substring(0,n)+e.substring(n+1)}return`${e}](streamdown:incomplete-link)`}return null},D1=(e,t=`protocol`)=>{let n=e.lastIndexOf(`](`);if(n!==-1&&!f$(e,n)){let r=w1(e,n,t);if(r!==null)return r}for(let n=e.length-1;n>=0;--n)if(e[n]===`[`&&!f$(e,n)){let r=E1(e,n,t);if(r!==null)return r}return e},O1=/^-{1,2}$/,k1=/^[\s]*-{1,2}[\s]+$/,A1=/^={1,2}$/,j1=/^[\s]*={1,2}[\s]+$/,M1=e=>{if(!e||typeof e!=`string`)return e;let t=e.lastIndexOf(`
378
- `);if(t===-1)return e;let n=e.substring(t+1),r=e.substring(0,t),i=n.trim();if(O1.test(i)&&!n.match(k1)){let t=r.split(`
379
- `).at(-1);if(t&&t.trim().length>0)return`${e}\u200B`}if(A1.test(i)&&!n.match(j1)){let t=r.split(`
380
- `).at(-1);if(t&&t.trim().length>0)return`${e}\u200B`}return e},N1=/([\p{L}\p{N}_])~(?!~)(?=[\p{L}\p{N}_])/gu,P1=e=>!e||typeof e!=`string`||!e.includes(`~`)?e:e.replace(N1,(t,n,r)=>f$(e,r+n.length)?t:`${n}\\~`),F1=e=>{let t=e.match(w$);if(t){let n=t[2];if(!n||T$.test(n))return e;let r=e.lastIndexOf(t[1]);if(f$(e,r)||h$(e,r))return e;if(e.match(M$)?.length%2==1)return`${e}~~`}else{let t=e.match(j$);if(t){let n=e.lastIndexOf(t[0].slice(0,2));if(f$(e,n)||h$(e,n))return e;if(e.match(M$)?.length%2==1)return`${e}~`}}return e},I1=e=>e!==!1,L1=e=>e===!0,R1={SINGLE_TILDE:0,COMPARISON_OPERATORS:5,HTML_TAGS:10,SETEXT_HEADINGS:15,LINKS:20,BOLD_ITALIC:30,BOLD:35,ITALIC_DOUBLE_UNDERSCORE:40,ITALIC_SINGLE_ASTERISK:41,ITALIC_SINGLE_UNDERSCORE:42,INLINE_CODE:50,STRIKETHROUGH:60,KATEX:70,INLINE_KATEX:75,DEFAULT:100},z1=[{handler:{name:`singleTilde`,handle:P1,priority:R1.SINGLE_TILDE},optionKey:`singleTilde`},{handler:{name:`comparisonOperators`,handle:_$,priority:R1.COMPARISON_OPERATORS},optionKey:`comparisonOperators`},{handler:{name:`htmlTags`,handle:h1,priority:R1.HTML_TAGS},optionKey:`htmlTags`},{handler:{name:`setextHeadings`,handle:M1,priority:R1.SETEXT_HEADINGS},optionKey:`setextHeadings`},{handler:{name:`links`,handle:D1,priority:R1.LINKS},optionKey:`links`,earlyReturn:e=>e.endsWith(`](streamdown:incomplete-link)`)},{handler:{name:`boldItalic`,handle:p1,priority:R1.BOLD_ITALIC},optionKey:`boldItalic`},{handler:{name:`bold`,handle:n1,priority:R1.BOLD},optionKey:`bold`},{handler:{name:`italicDoubleUnderscore`,handle:i1,priority:R1.ITALIC_DOUBLE_UNDERSCORE},optionKey:`italic`},{handler:{name:`italicSingleAsterisk`,handle:o1,priority:R1.ITALIC_SINGLE_ASTERISK},optionKey:`italic`},{handler:{name:`italicSingleUnderscore`,handle:u1,priority:R1.ITALIC_SINGLE_UNDERSCORE},optionKey:`italic`},{handler:{name:`inlineCode`,handle:v1,priority:R1.INLINE_CODE},optionKey:`inlineCode`},{handler:{name:`strikethrough`,handle:F1,priority:R1.STRIKETHROUGH},optionKey:`strikethrough`},{handler:{name:`katex`,handle:S1,priority:R1.KATEX},optionKey:`katex`},{handler:{name:`inlineKatex`,handle:C1,priority:R1.INLINE_KATEX},optionKey:`inlineKatex`}],B1=e=>{let t=e?.linkMode??`protocol`;return z1.filter(({handler:t,optionKey:n})=>t.name===`links`?I1(e?.links)||I1(e?.images):t.name===`inlineKatex`?L1(e?.inlineKatex):I1(e?.[n])).map(({handler:e,earlyReturn:n})=>e.name===`links`?{handler:l$(c$({},e),{handle:e=>D1(e,t)}),earlyReturn:t===`protocol`?n:void 0}:{handler:e,earlyReturn:n})},V1=(e,t)=>{if(!e||typeof e!=`string`)return e;let n=e.endsWith(` `)&&!e.endsWith(` `)?e.slice(0,-1):e,r=B1(t),i=(t?.handlers??[]).map(e=>({handler:l$(c$({},e),{priority:e.priority??R1.DEFAULT}),earlyReturn:void 0})),a=[...r,...i].sort((e,t)=>(e.handler.priority??0)-(t.handler.priority??0));for(let{handler:e,earlyReturn:t}of a)if(n=e.handle(n),t!=null&&t(n))return n;return n};function H1(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var U1=H1();function W1(e){U1=e}var G1={exec:()=>null};function K1(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(J1.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var q1=(()=>{try{return!0}catch{return!1}})(),J1={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,`i`),blockquoteBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}>`)},Y1=/^(?:[ \t]*(?:\n|$))+/,X1=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Z1=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Q1=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,$1=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,e0=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,t0=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,n0=K1(t0).replace(/bull/g,e0).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),r0=K1(t0).replace(/bull/g,e0).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),i0=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,a0=/^[^\n]+/,o0=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,s0=K1(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,o0).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),c0=K1(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,e0).getRegex(),l0=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,u0=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,d0=K1(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,u0).replace(`tag`,l0).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),f0=K1(i0).replace(`hr`,Q1).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,l0).getRegex(),p0={blockquote:K1(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,f0).getRegex(),code:X1,def:s0,fences:Z1,heading:$1,hr:Q1,html:d0,lheading:n0,list:c0,newline:Y1,paragraph:f0,table:G1,text:a0},m0=K1(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,Q1).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,l0).getRegex(),h0={...p0,lheading:r0,table:m0,paragraph:K1(i0).replace(`hr`,Q1).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,m0).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,l0).getRegex()},g0={...p0,html:K1(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,u0).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:G1,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:K1(i0).replace(`hr`,Q1).replace(`heading`,` *#{1,6} *[^
381
- ]`).replace(`lheading`,n0).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},_0=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,v0=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,y0=/^( {2,}|\\)\n(?!\s*$)/,b0=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,x0=/[\p{P}\p{S}]/u,S0=/[\s\p{P}\p{S}]/u,C0=/[^\s\p{P}\p{S}]/u,w0=K1(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,S0).getRegex(),T0=/(?!~)[\p{P}\p{S}]/u,E0=/(?!~)[\s\p{P}\p{S}]/u,D0=/(?:[^\s\p{P}\p{S}]|~)/u,O0=K1(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,q1?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),k0=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,A0=K1(k0,`u`).replace(/punct/g,x0).getRegex(),j0=K1(k0,`u`).replace(/punct/g,T0).getRegex(),M0=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,N0=K1(M0,`gu`).replace(/notPunctSpace/g,C0).replace(/punctSpace/g,S0).replace(/punct/g,x0).getRegex(),P0=K1(M0,`gu`).replace(/notPunctSpace/g,D0).replace(/punctSpace/g,E0).replace(/punct/g,T0).getRegex(),F0=K1(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,C0).replace(/punctSpace/g,S0).replace(/punct/g,x0).getRegex(),I0=K1(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,x0).getRegex(),L0=K1(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,C0).replace(/punctSpace/g,S0).replace(/punct/g,x0).getRegex(),R0=K1(/\\(punct)/,`gu`).replace(/punct/g,x0).getRegex(),z0=K1(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),B0=K1(u0).replace(`(?:-->|$)`,`-->`).getRegex(),V0=K1(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,B0).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),H0=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,U0=K1(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,H0).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),W0=K1(/^!?\[(label)\]\[(ref)\]/).replace(`label`,H0).replace(`ref`,o0).getRegex(),G0=K1(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,o0).getRegex(),K0=K1(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,W0).replace(`nolink`,G0).getRegex(),q0=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,J0={_backpedal:G1,anyPunctuation:R0,autolink:z0,blockSkip:O0,br:y0,code:v0,del:G1,delLDelim:G1,delRDelim:G1,emStrongLDelim:A0,emStrongRDelimAst:N0,emStrongRDelimUnd:F0,escape:_0,link:U0,nolink:G0,punctuation:w0,reflink:W0,reflinkSearch:K0,tag:V0,text:b0,url:G1},Y0={...J0,link:K1(/^!?\[(label)\]\((.*?)\)/).replace(`label`,H0).getRegex(),reflink:K1(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,H0).getRegex()},X0={...J0,emStrongRDelimAst:P0,emStrongLDelim:j0,delLDelim:I0,delRDelim:L0,url:K1(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,q0).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:K1(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,q0).getRegex()},Z0={...X0,br:K1(y0).replace(`{2,}`,`*`).getRegex(),text:K1(X0.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},Q0={normal:p0,gfm:h0,pedantic:g0},$0={normal:J0,gfm:X0,breaks:Z0,pedantic:Y0},e2={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`},t2=e=>e2[e];function n2(e,t){if(t){if(J1.escapeTest.test(e))return e.replace(J1.escapeReplace,t2)}else if(J1.escapeTestNoEncode.test(e))return e.replace(J1.escapeReplaceNoEncode,t2);return e}function r2(e){try{e=encodeURI(e).replace(J1.percentDecode,`%`)}catch{return null}return e}function i2(e,t){let n=e.replace(J1.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(J1.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t){if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``)}for(;r<n.length;r++)n[r]=n[r].trim().replace(J1.slashPipe,`|`);return n}function a2(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function o2(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function s2(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function c2(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`);r.state.inLink=!0;let c={type:e[0].charAt(0)===`!`?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:r.inlineTokens(s)};return r.state.inLink=!1,c}function l2(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
377
+ $$`:`${e}$$`},T1=e=>S1(e)%2==0?e:w1(e),E1=e=>C1(e)%2==1?`${e}$`:e,D1=(e,t,n)=>{if(e.substring(t+2).includes(`)`))return null;let r=L$(e,t);if(r===-1||h$(e,r))return null;let i=r>0&&e[r-1]===`!`,a=i?r-1:r,o=e.substring(0,a);if(i)return o;let s=e.substring(r+1,t);return n===`text-only`?`${o}${s}`:`${o}[${s}](streamdown:incomplete-link)`},O1=(e,t)=>{for(let n=0;n<t;n++)if(e[n]===`[`&&!h$(e,n)){if(n>0&&e[n-1]===`!`)continue;let t=R$(e,n);if(t===-1)return n;if(t+1<e.length&&e[t+1]===`(`){let r=e.indexOf(`)`,t+2);r!==-1&&(n=r)}}return t},k1=(e,t,n)=>{let r=t>0&&e[t-1]===`!`,i=r?t-1:t;if(!e.substring(t+1).includes(`]`)){let a=e.substring(0,i);if(r)return a;if(n===`text-only`){let n=O1(e,t);return e.substring(0,n)+e.substring(n+1)}return`${e}](streamdown:incomplete-link)`}if(R$(e,t)===-1){let a=e.substring(0,i);if(r)return a;if(n===`text-only`){let n=O1(e,t);return e.substring(0,n)+e.substring(n+1)}return`${e}](streamdown:incomplete-link)`}return null},A1=(e,t=`protocol`)=>{let n=e.lastIndexOf(`](`);if(n!==-1&&!h$(e,n)){let r=D1(e,n,t);if(r!==null)return r}for(let n=e.length-1;n>=0;--n)if(e[n]===`[`&&!h$(e,n)){let r=k1(e,n,t);if(r!==null)return r}return e},j1=/^-{1,2}$/,M1=/^[\s]*-{1,2}[\s]+$/,N1=/^={1,2}$/,P1=/^[\s]*={1,2}[\s]+$/,F1=e=>{if(!e||typeof e!=`string`)return e;let t=e.lastIndexOf(`
378
+ `);if(t===-1)return e;let n=e.substring(t+1),r=e.substring(0,t),i=n.trim();if(j1.test(i)&&!n.match(M1)){let t=r.split(`
379
+ `).at(-1);if(t&&t.trim().length>0)return`${e}\u200B`}if(N1.test(i)&&!n.match(P1)){let t=r.split(`
380
+ `).at(-1);if(t&&t.trim().length>0)return`${e}\u200B`}return e},I1=/([\p{L}\p{N}_])~(?!~)(?=[\p{L}\p{N}_])/gu,L1=e=>!e||typeof e!=`string`||!e.includes(`~`)?e:e.replace(I1,(t,n,r)=>h$(e,r+n.length)?t:`${n}\\~`),R1=e=>{let t=e.match(D$);if(t){let n=t[2];if(!n||O$.test(n))return e;let r=e.lastIndexOf(t[1]);if(h$(e,r)||v$(e,r))return e;if(e.match(F$)?.length%2==1)return`${e}~~`}else{let t=e.match(P$);if(t){let n=e.lastIndexOf(t[0].slice(0,2));if(h$(e,n)||v$(e,n))return e;if(e.match(F$)?.length%2==1)return`${e}~`}}return e},z1=e=>e!==!1,B1=e=>e===!0,V1={SINGLE_TILDE:0,COMPARISON_OPERATORS:5,HTML_TAGS:10,SETEXT_HEADINGS:15,LINKS:20,BOLD_ITALIC:30,BOLD:35,ITALIC_DOUBLE_UNDERSCORE:40,ITALIC_SINGLE_ASTERISK:41,ITALIC_SINGLE_UNDERSCORE:42,INLINE_CODE:50,STRIKETHROUGH:60,KATEX:70,INLINE_KATEX:75,DEFAULT:100},H1=[{handler:{name:`singleTilde`,handle:L1,priority:V1.SINGLE_TILDE},optionKey:`singleTilde`},{handler:{name:`comparisonOperators`,handle:b$,priority:V1.COMPARISON_OPERATORS},optionKey:`comparisonOperators`},{handler:{name:`htmlTags`,handle:v1,priority:V1.HTML_TAGS},optionKey:`htmlTags`},{handler:{name:`setextHeadings`,handle:F1,priority:V1.SETEXT_HEADINGS},optionKey:`setextHeadings`},{handler:{name:`links`,handle:A1,priority:V1.LINKS},optionKey:`links`,earlyReturn:e=>e.endsWith(`](streamdown:incomplete-link)`)},{handler:{name:`boldItalic`,handle:g1,priority:V1.BOLD_ITALIC},optionKey:`boldItalic`},{handler:{name:`bold`,handle:a1,priority:V1.BOLD},optionKey:`bold`},{handler:{name:`italicDoubleUnderscore`,handle:s1,priority:V1.ITALIC_DOUBLE_UNDERSCORE},optionKey:`italic`},{handler:{name:`italicSingleAsterisk`,handle:l1,priority:V1.ITALIC_SINGLE_ASTERISK},optionKey:`italic`},{handler:{name:`italicSingleUnderscore`,handle:p1,priority:V1.ITALIC_SINGLE_UNDERSCORE},optionKey:`italic`},{handler:{name:`inlineCode`,handle:b1,priority:V1.INLINE_CODE},optionKey:`inlineCode`},{handler:{name:`strikethrough`,handle:R1,priority:V1.STRIKETHROUGH},optionKey:`strikethrough`},{handler:{name:`katex`,handle:T1,priority:V1.KATEX},optionKey:`katex`},{handler:{name:`inlineKatex`,handle:E1,priority:V1.INLINE_KATEX},optionKey:`inlineKatex`}],U1=e=>{let t=e?.linkMode??`protocol`;return H1.filter(({handler:t,optionKey:n})=>t.name===`links`?z1(e?.links)||z1(e?.images):t.name===`inlineKatex`?B1(e?.inlineKatex):z1(e?.[n])).map(({handler:e,earlyReturn:n})=>e.name===`links`?{handler:f$(d$({},e),{handle:e=>A1(e,t)}),earlyReturn:t===`protocol`?n:void 0}:{handler:e,earlyReturn:n})},W1=(e,t)=>{if(!e||typeof e!=`string`)return e;let n=e.endsWith(` `)&&!e.endsWith(` `)?e.slice(0,-1):e,r=U1(t),i=(t?.handlers??[]).map(e=>({handler:f$(d$({},e),{priority:e.priority??V1.DEFAULT}),earlyReturn:void 0})),a=[...r,...i].sort((e,t)=>(e.handler.priority??0)-(t.handler.priority??0));for(let{handler:e,earlyReturn:t}of a)if(n=e.handle(n),t!=null&&t(n))return n;return n};function G1(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var K1=G1();function q1(e){K1=e}var J1={exec:()=>null};function Y1(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(Z1.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var X1=(()=>{try{return!0}catch{return!1}})(),Z1={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,`i`),blockquoteBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}>`)},Q1=/^(?:[ \t]*(?:\n|$))+/,$1=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,e0=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,t0=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,n0=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,r0=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,i0=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,a0=Y1(i0).replace(/bull/g,r0).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),o0=Y1(i0).replace(/bull/g,r0).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),s0=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,c0=/^[^\n]+/,l0=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,u0=Y1(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,l0).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),d0=Y1(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,r0).getRegex(),f0=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,p0=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,m0=Y1(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,p0).replace(`tag`,f0).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),h0=Y1(s0).replace(`hr`,t0).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,f0).getRegex(),g0={blockquote:Y1(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,h0).getRegex(),code:$1,def:u0,fences:e0,heading:n0,hr:t0,html:m0,lheading:a0,list:d0,newline:Q1,paragraph:h0,table:J1,text:c0},_0=Y1(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,t0).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,f0).getRegex(),v0={...g0,lheading:o0,table:_0,paragraph:Y1(s0).replace(`hr`,t0).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,_0).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,f0).getRegex()},y0={...g0,html:Y1(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,p0).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:J1,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Y1(s0).replace(`hr`,t0).replace(`heading`,` *#{1,6} *[^
381
+ ]`).replace(`lheading`,a0).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},b0=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,x0=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,S0=/^( {2,}|\\)\n(?!\s*$)/,C0=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,w0=/[\p{P}\p{S}]/u,T0=/[\s\p{P}\p{S}]/u,E0=/[^\s\p{P}\p{S}]/u,D0=Y1(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,T0).getRegex(),O0=/(?!~)[\p{P}\p{S}]/u,k0=/(?!~)[\s\p{P}\p{S}]/u,A0=/(?:[^\s\p{P}\p{S}]|~)/u,j0=Y1(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,X1?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),M0=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,N0=Y1(M0,`u`).replace(/punct/g,w0).getRegex(),P0=Y1(M0,`u`).replace(/punct/g,O0).getRegex(),F0=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,I0=Y1(F0,`gu`).replace(/notPunctSpace/g,E0).replace(/punctSpace/g,T0).replace(/punct/g,w0).getRegex(),L0=Y1(F0,`gu`).replace(/notPunctSpace/g,A0).replace(/punctSpace/g,k0).replace(/punct/g,O0).getRegex(),R0=Y1(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,E0).replace(/punctSpace/g,T0).replace(/punct/g,w0).getRegex(),z0=Y1(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,w0).getRegex(),B0=Y1(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,E0).replace(/punctSpace/g,T0).replace(/punct/g,w0).getRegex(),V0=Y1(/\\(punct)/,`gu`).replace(/punct/g,w0).getRegex(),H0=Y1(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),U0=Y1(p0).replace(`(?:-->|$)`,`-->`).getRegex(),W0=Y1(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,U0).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),G0=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,K0=Y1(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,G0).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),q0=Y1(/^!?\[(label)\]\[(ref)\]/).replace(`label`,G0).replace(`ref`,l0).getRegex(),J0=Y1(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,l0).getRegex(),Y0=Y1(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,q0).replace(`nolink`,J0).getRegex(),X0=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Z0={_backpedal:J1,anyPunctuation:V0,autolink:H0,blockSkip:j0,br:S0,code:x0,del:J1,delLDelim:J1,delRDelim:J1,emStrongLDelim:N0,emStrongRDelimAst:I0,emStrongRDelimUnd:R0,escape:b0,link:K0,nolink:J0,punctuation:D0,reflink:q0,reflinkSearch:Y0,tag:W0,text:C0,url:J1},Q0={...Z0,link:Y1(/^!?\[(label)\]\((.*?)\)/).replace(`label`,G0).getRegex(),reflink:Y1(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,G0).getRegex()},$0={...Z0,emStrongRDelimAst:L0,emStrongLDelim:P0,delLDelim:z0,delRDelim:B0,url:Y1(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,X0).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Y1(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,X0).getRegex()},e2={...$0,br:Y1(S0).replace(`{2,}`,`*`).getRegex(),text:Y1($0.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},t2={normal:g0,gfm:v0,pedantic:y0},n2={normal:Z0,gfm:$0,breaks:e2,pedantic:Q0},r2={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`},i2=e=>r2[e];function a2(e,t){if(t){if(Z1.escapeTest.test(e))return e.replace(Z1.escapeReplace,i2)}else if(Z1.escapeTestNoEncode.test(e))return e.replace(Z1.escapeReplaceNoEncode,i2);return e}function o2(e){try{e=encodeURI(e).replace(Z1.percentDecode,`%`)}catch{return null}return e}function s2(e,t){let n=e.replace(Z1.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(Z1.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t){if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``)}for(;r<n.length;r++)n[r]=n[r].trim().replace(Z1.slashPipe,`|`);return n}function c2(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function l2(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function u2(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function d2(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`);r.state.inLink=!0;let c={type:e[0].charAt(0)===`!`?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:r.inlineTokens(s)};return r.state.inLink=!1,c}function f2(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
382
382
  `).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(`
383
- `)}var u2=class{options;rules;lexer;constructor(e){this.options=e||U1}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(this.rules.other.codeRemoveIndent,``);return{type:`code`,raw:t[0],codeBlockStyle:`indented`,text:this.options.pedantic?e:a2(e,`
384
- `)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=l2(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=a2(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:a2(t[0],`
385
- `)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=a2(t[0],`
383
+ `)}var p2=class{options;rules;lexer;constructor(e){this.options=e||K1}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(this.rules.other.codeRemoveIndent,``);return{type:`code`,raw:t[0],codeBlockStyle:`indented`,text:this.options.pedantic?e:c2(e,`
384
+ `)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=f2(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=c2(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:c2(t[0],`
385
+ `)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=c2(t[0],`
386
386
  `).split(`
387
387
  `),n=``,r=``,i=[];for(;e.length>0;){let t=!1,a=[],o;for(o=0;o<e.length;o++)if(this.rules.other.blockquoteStart.test(e[o]))a.push(e[o]),t=!0;else if(!t)a.push(e[o]);else break;e=e.slice(o);let s=a.join(`
388
388
  `),c=s.replace(this.rules.other.blockquoteSetextReplace,`
@@ -393,17 +393,17 @@ ${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
393
393
  `),o=this.blockquote(a);i[i.length-1]=o,n=n.substring(0,n.length-t.raw.length)+o.raw,r=r.substring(0,r.length-t.text.length)+o.text;break}if(u?.type===`list`){let t=u,a=t.raw+`
394
394
  `+e.join(`
395
395
  `),o=this.list(a);i[i.length-1]=o,n=n.substring(0,n.length-u.raw.length)+o.raw,r=r.substring(0,r.length-t.raw.length)+o.raw,e=a.substring(i.at(-1).raw.length).split(`
396
- `);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=s2(t[2].split(`
396
+ `);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=u2(t[2].split(`
397
397
  `,1)[0],t[1].length),l=e.split(`
398
398
  `,1)[0],u=!c.trim(),d=0;if(this.options.pedantic?(d=2,s=c.trimStart()):u?d=t[1].length+1:(d=c.search(this.rules.other.nonSpaceChar),d=d>4?1:d,s=c.slice(d),d+=t[1].length),u&&this.rules.other.blankLine.test(l)&&(r+=l+`
399
399
  `,e=e.substring(l.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(d),n=this.rules.other.hrRegex(d),i=this.rules.other.fencesBeginRegex(d),a=this.rules.other.headingBeginRegex(d),o=this.rules.other.htmlBeginRegex(d),f=this.rules.other.blockquoteBeginRegex(d);for(;e;){let p=e.split(`
400
400
  `,1)[0],m;if(l=p,this.options.pedantic?(l=l.replace(this.rules.other.listReplaceNesting,` `),m=l):m=l.replace(this.rules.other.tabCharGlobal,` `),i.test(l)||a.test(l)||o.test(l)||f.test(l)||t.test(l)||n.test(l))break;if(m.search(this.rules.other.nonSpaceChar)>=d||!l.trim())s+=`
401
401
  `+m.slice(d);else{if(u||c.replace(this.rules.other.tabCharGlobal,` `).search(this.rules.other.nonSpaceChar)>=4||i.test(c)||a.test(c)||n.test(c))break;s+=`
402
402
  `+l}u=!l.trim(),r+=p+`
403
- `,e=e.substring(p.length+1),c=m.slice(d)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items){if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),e.task){if(e.text=e.text.replace(this.rules.other.listReplaceTask,``),e.tokens[0]?.type===`text`||e.tokens[0]?.type===`paragraph`){e.tokens[0].raw=e.tokens[0].raw.replace(this.rules.other.listReplaceTask,``),e.tokens[0].text=e.tokens[0].text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}}let t=this.rules.other.listTaskCheckbox.exec(e.raw);if(t){let n={type:`checkbox`,raw:t[0]+` `,checked:t[0]!==`[ ]`};e.checked=n.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=n.raw+e.tokens[0].raw,e.tokens[0].text=n.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(n)):e.tokens.unshift({type:`paragraph`,raw:n.raw,text:n.raw,tokens:[n]}):e.tokens.unshift(n)}}if(!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:`html`,block:!0,raw:t[0],pre:t[1]===`pre`||t[1]===`script`||t[1]===`style`,text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,` `),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):t[3];return{type:`def`,tag:e,raw:t[0],href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=i2(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(`
404
- `):[],a={type:`table`,raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(i2(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:t[0],depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
405
- `?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=a2(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=o2(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let n=t[2],r=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):``;return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),c2(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,`$1`),title:r&&r.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `).toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return c2(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=0,c=r[0][0]===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+n);(r=c.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i)continue;if(a=[...i].length,r[3]||r[4]){o+=a;continue}if((r[5]||r[6])&&n%3&&!((n+a)%3)){s+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o+s);let t=[...r[0]][0].length,c=e.slice(0,n+r.index+t+a);if(Math.min(n,a)%2){let e=c.slice(1,-1);return{type:`em`,raw:c,text:e,tokens:this.lexer.inlineTokens(e)}}let l=c.slice(2,-2);return{type:`strong`,raw:c,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:t[0],escaped:e}}}},d2=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||U1,this.options.tokenizer=this.options.tokenizer||new u2,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:J1,block:Q0.normal,inline:$0.normal};this.options.pedantic?(t.block=Q0.pedantic,t.inline=$0.pedantic):this.options.gfm&&(t.block=Q0.gfm,t.inline=this.options.breaks?$0.breaks:$0.gfm),this.tokenizer.rules=t}static get rules(){return{block:Q0,inline:$0}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(J1.carriageReturn,`
406
- `),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){for(this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(J1.tabCharGlobal,` `).replace(J1.spaceLine,``));e;){let r;if(this.options.extensions?.block?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let n=t.at(-1);r.raw.length===1&&n!==void 0?n.raw+=`
403
+ `,e=e.substring(p.length+1),c=m.slice(d)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items){if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),e.task){if(e.text=e.text.replace(this.rules.other.listReplaceTask,``),e.tokens[0]?.type===`text`||e.tokens[0]?.type===`paragraph`){e.tokens[0].raw=e.tokens[0].raw.replace(this.rules.other.listReplaceTask,``),e.tokens[0].text=e.tokens[0].text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}}let t=this.rules.other.listTaskCheckbox.exec(e.raw);if(t){let n={type:`checkbox`,raw:t[0]+` `,checked:t[0]!==`[ ]`};e.checked=n.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=n.raw+e.tokens[0].raw,e.tokens[0].text=n.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(n)):e.tokens.unshift({type:`paragraph`,raw:n.raw,text:n.raw,tokens:[n]}):e.tokens.unshift(n)}}if(!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:`html`,block:!0,raw:t[0],pre:t[1]===`pre`||t[1]===`script`||t[1]===`style`,text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,` `),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):t[3];return{type:`def`,tag:e,raw:t[0],href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=s2(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(`
404
+ `):[],a={type:`table`,raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(s2(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:t[0],depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
405
+ `?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=c2(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=l2(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let n=t[2],r=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):``;return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),d2(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,`$1`),title:r&&r.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `).toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return d2(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=0,c=r[0][0]===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+n);(r=c.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i)continue;if(a=[...i].length,r[3]||r[4]){o+=a;continue}if((r[5]||r[6])&&n%3&&!((n+a)%3)){s+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o+s);let t=[...r[0]][0].length,c=e.slice(0,n+r.index+t+a);if(Math.min(n,a)%2){let e=c.slice(1,-1);return{type:`em`,raw:c,text:e,tokens:this.lexer.inlineTokens(e)}}let l=c.slice(2,-2);return{type:`strong`,raw:c,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:t[0],escaped:e}}}},m2=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||K1,this.options.tokenizer=this.options.tokenizer||new p2,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:Z1,block:t2.normal,inline:n2.normal};this.options.pedantic?(t.block=t2.pedantic,t.inline=n2.pedantic):this.options.gfm&&(t.block=t2.gfm,t.inline=this.options.breaks?n2.breaks:n2.gfm),this.tokenizer.rules=t}static get rules(){return{block:t2,inline:n2}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(Z1.carriageReturn,`
406
+ `),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){for(this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(Z1.tabCharGlobal,` `).replace(Z1.spaceLine,``));e;){let r;if(this.options.extensions?.block?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let n=t.at(-1);r.raw.length===1&&n!==void 0?n.raw+=`
407
407
  `:t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
408
408
  `)?``:`
409
409
  `)+r.raw,n.text+=`
@@ -416,9 +416,9 @@ ${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
416
416
  `+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(r),n=i.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let n=t.at(-1);n?.type===`text`?(n.raw+=(n.raw.endsWith(`
417
417
  `)?``:`
418
418
  `)+r.raw,n.text+=`
419
- `+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(r);continue}if(e){let t=`Infinite loop on byte: `+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)e.includes(r[0].slice(r[0].lastIndexOf(`[`)+1,-1))&&(n=n.slice(0,r.index)+`[`+`a`.repeat(r[0].length-2)+`]`+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,r.index)+`++`+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+`[`+`a`.repeat(r[0].length-i-2)+`]`+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,o=``;for(;e;){a||(o=``),a=!1;let r;if(this.options.extensions?.inline?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.escape(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.tag(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.link(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(r.raw.length);let n=t.at(-1);r.type===`text`&&n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(r=this.tokenizer.emStrong(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.codespan(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.br(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.del(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.autolink(e)){e=e.substring(r.raw.length),t.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(e))){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(r=this.tokenizer.inlineText(i)){e=e.substring(r.raw.length),r.raw.slice(-1)!==`_`&&(o=r.raw.slice(-1)),a=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(e){let t=`Infinite loop on byte: `+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw Error(t)}}return t}},f2=class{options;parser;constructor(e){this.options=e||U1}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(J1.notSpaceStart)?.[0],i=e.replace(J1.endingNewline,``)+`
420
- `;return r?`<pre><code class="language-`+n2(r)+`">`+(n?i:n2(i,!0))+`</code></pre>
421
- `:`<pre><code>`+(n?i:n2(i,!0))+`</code></pre>
419
+ `+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(r);continue}if(e){let t=`Infinite loop on byte: `+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)e.includes(r[0].slice(r[0].lastIndexOf(`[`)+1,-1))&&(n=n.slice(0,r.index)+`[`+`a`.repeat(r[0].length-2)+`]`+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,r.index)+`++`+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+`[`+`a`.repeat(r[0].length-i-2)+`]`+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,o=``;for(;e;){a||(o=``),a=!1;let r;if(this.options.extensions?.inline?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.escape(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.tag(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.link(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(r.raw.length);let n=t.at(-1);r.type===`text`&&n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(r=this.tokenizer.emStrong(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.codespan(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.br(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.del(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.autolink(e)){e=e.substring(r.raw.length),t.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(e))){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(r=this.tokenizer.inlineText(i)){e=e.substring(r.raw.length),r.raw.slice(-1)!==`_`&&(o=r.raw.slice(-1)),a=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(e){let t=`Infinite loop on byte: `+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw Error(t)}}return t}},h2=class{options;parser;constructor(e){this.options=e||K1}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(Z1.notSpaceStart)?.[0],i=e.replace(Z1.endingNewline,``)+`
420
+ `;return r?`<pre><code class="language-`+a2(r)+`">`+(n?i:a2(i,!0))+`</code></pre>
421
+ `:`<pre><code>`+(n?i:a2(i,!0))+`</code></pre>
422
422
  `}blockquote({tokens:e}){return`<blockquote>
423
423
  ${this.parser.parse(e)}</blockquote>
424
424
  `}html({text:e}){return e}def(e){return``}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
@@ -434,65 +434,65 @@ ${this.parser.parse(e)}</blockquote>
434
434
  `}tablerow({text:e}){return`<tr>
435
435
  ${e}</tr>
436
436
  `}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
437
- `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${n2(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=r2(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+n2(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=r2(e);if(i===null)return n2(n);e=i;let a=`<img src="${e}" alt="${n2(n)}"`;return t&&(a+=` title="${n2(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:n2(e.text)}},p2=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},m2=class e{options;renderer;textRenderer;constructor(e){this.options=e||U1,this.options.renderer=this.options.renderer||new f2,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new p2}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},h2=class{options;block;constructor(e){this.options=e||U1}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?d2.lex:d2.lexInline}provideParser(e=this.block){return e?m2.parse:m2.parseInline}},g2=new class{defaults=H1();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=m2;Renderer=f2;TextRenderer=p2;Lexer=d2;Tokenizer=u2;Hooks=h2;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new f2(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new u2(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new h2;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];t[r]=h2.passThroughHooks.has(n)?e=>{if(this.defaults.async&&h2.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return d2.lex(e,t??this.defaults)}parser(e,t){return m2.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?d2.lex:d2.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?m2.parse:m2.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?d2.lex:d2.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?m2.parse:m2.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
438
- Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+n2(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function _2(e,t){return g2.parse(e,t)}_2.options=_2.setOptions=function(e){return g2.setOptions(e),_2.defaults=g2.defaults,W1(_2.defaults),_2},_2.getDefaults=H1,_2.defaults=U1,_2.use=function(...e){return g2.use(...e),_2.defaults=g2.defaults,W1(_2.defaults),_2},_2.walkTokens=function(e,t){return g2.walkTokens(e,t)},_2.parseInline=g2.parseInline,_2.Parser=m2,_2.parser=m2.parse,_2.Renderer=f2,_2.TextRenderer=p2,_2.Lexer=d2,_2.lexer=d2.lex,_2.Tokenizer=u2,_2.Hooks=h2,_2.parse=_2,_2.options,_2.setOptions,_2.use,_2.walkTokens,_2.parseInline,m2.parse,d2.lex;var v2=`modulepreload`,y2=function(e){return`/`+e},b2={},x2=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=y2(t,n),t=s(t),t in b2)return;b2[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:v2,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},S2=300,C2=`300px`,w2=500;function T2(e={}){let{immediate:t=!1,debounceDelay:n=S2,rootMargin:r=C2,idleTimeout:i=w2}=e,[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(null),c=(0,d.useRef)(null),l=(0,d.useRef)(null),u=(0,d.useMemo)(()=>e=>{let t=Date.now();return window.setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})},1)},[]),f=(0,d.useMemo)(()=>typeof window<`u`&&window.requestIdleCallback?(e,t)=>window.requestIdleCallback(e,t):u,[u]),p=(0,d.useMemo)(()=>typeof window<`u`&&window.cancelIdleCallback?e=>window.cancelIdleCallback(e):e=>{clearTimeout(e)},[]);return(0,d.useEffect)(()=>{if(t){o(!0);return}let e=s.current;if(!e)return;c.current&&=(clearTimeout(c.current),null),l.current&&=(p(l.current),null);let a=()=>{c.current&&=(clearTimeout(c.current),null),l.current&&=(p(l.current),null)},u=e=>{l.current=f(t=>{t.timeRemaining()>0||t.didTimeout?(o(!0),e.disconnect()):l.current=f(()=>{o(!0),e.disconnect()},{timeout:i/2})},{timeout:i})},d=e=>{a(),c.current=window.setTimeout(()=>{var t;let n=e.takeRecords();(n.length===0||(t=n.at(-1)?.isIntersecting)!=null&&t)&&u(e)},n)},m=(e,t)=>{e.isIntersecting?d(t):a()},h=new IntersectionObserver(e=>{for(let t of e)m(t,h)},{rootMargin:r,threshold:0});return h.observe(e),()=>{c.current&&clearTimeout(c.current),l.current&&p(l.current),h.disconnect()}},[t,n,r,i,p,f]),{shouldRender:a,containerRef:s}}var E2=320,D2=4,O2=()=>typeof performance>`u`?Date.now():performance.now();function k2(e){let t=e?.now??O2,n=e?.maxBacklogMs??E2,r=0,i=0;return{now:t,beginPass(e){i=Math.min(Math.max(r,e),e+n)},mark(){return i},rewind(e){i=e},take(e,t,r){if(e<=0)return{baseDelay:0,step:Math.max(0,t)};let a=Math.max(0,t),o=a===0?0:Math.min(a,D2),s=Math.max(i,r),c=r+n,l=s+Math.max(0,e-1)*a,u=a;if(l>c&&e>1){if(s<c){let t=c-s;u=Math.max(o,t/(e-1))}else u=o}let d=Math.max(0,Math.round(s-r));return i=s+e*u,{baseDelay:d,step:u}},commitPass(){r=i}}}var A2=/\s/,j2=/^\s+$/,M2=new Set([`pre`,`svg`,`math`,`annotation`]),N2=new Set([`img`,`hr`]),P2=e=>typeof e==`object`&&!!e&&`type`in e&&e.type===`element`,F2=e=>e.some(e=>P2(e)&&M2.has(e.tagName)),I2=e=>{for(let t=e.length-1;t>=0;t--){let n=e[t];if(P2(n)&&n.tagName===`li`)return n}},L2=(e,t,n,r)=>{e.properties??={},e.properties[`data-sd-animate-marker`]=!0;let i=typeof e.properties.style==`string`?`${e.properties.style};`:``;e.properties.style=`${i}--sd-marker-duration:${t}ms;--sd-marker-delay:${Math.round(n)}ms;--sd-marker-easing:${r}`},R2=new Set([`ul`,`ol`,`li`]),z2=e=>{for(let t of e.children)if(P2(t)){if(t.tagName===`input`)return t;if(R2.has(t.tagName))continue;let e=z2(t);if(e)return e}},B2=(e,t,n,r)=>{e.properties??={},e.properties[`data-sd-animate`]=!0;let i=typeof e.properties.style==`string`?`${e.properties.style};`:``;e.properties.style=`${i}--sd-animation:sd-${t.animation};--sd-duration:${n}ms;--sd-easing:${t.easing};--sd-delay:${Math.round(r)}ms`},V2=(e,t,n,r)=>{let i=z2(e);i&&B2(i,t,n,r)},H2=(e,t,n,r,i,a)=>{if(F2(t))return;let o=r.prevContentLength,s=i.count;i.count+=1;let c=o>0&&s<o,l=c?0:a.baseDelay+i.newIndex++*a.step;B2(e,n,c?0:n.duration,l)},U2=e=>{var t;for(let n=e.length-1;n>=0;--n){let r=e[n];if(P2(r)){if((t=r.properties)!=null&&t[`data-sd-animated`])break;r.properties={...r.properties,"data-sd-animated":!0}}}},W2=e=>{let t=[],n=``,r=!1;for(let i of e){let e=A2.test(i);if(e!==r&&n){if(e){n+=i,r=!0;continue}t.push(n),n=``}n+=i,r=e}return n&&t.push(n),t},G2=e=>{let t=[],n=``;for(let r of e)A2.test(r)?t.length>0&&!j2.test(t.at(-1))?t[t.length-1]+=r:n+=r:(n&&=(t.push(n),``),t.push(r));return n&&(t.length>0?t[t.length-1]+=n:t.push(n)),t},K2=(e,t,n,r,i,a)=>{let o=`--sd-animation:sd-${t};--sd-duration:${i?0:n}ms;--sd-easing:${r}`;return a&&(o+=`;--sd-delay:${Math.round(a)}ms`),{type:`element`,tagName:`span`,properties:{"data-sd-animate":!0,style:o},children:[{type:`text`,value:e}]}},q2=(e,t)=>!(e>0&&t<e),J2=e=>P2(e)&&N2.has(e.tagName),Y2=(e,t,n)=>{let r=0,i=0;return tO(e,e=>e.type===`text`||J2(e),(e,a)=>{if(F2(a))return eO;if(J2(e)){q2(n,i)&&(r+=1),i+=1;return}let o=e.value;if(!o.trim()){i+=o.length;return}let s=t.sep===`char`?G2(o):W2(o);for(let e of s){let t=i;i+=e.length,!j2.test(e)&&q2(n,t)&&(r+=1)}}),r},X2=(e,t,n,r,i,a)=>{var o;let s=t.at(-1);if(!(s&&`children`in s))return;if(F2(t))return eO;let c=s,l=c.children.indexOf(e);if(l===-1)return;let u=e.value;if(!u.trim()){i.count+=u.length;return}let d=n.sep===`char`?G2(u):W2(u),f=r.prevContentLength,p=!1,m=I2(t),h=!!(m&&!((o=m.properties)!=null&&o[`data-sd-animate-marker`])),g=!1,_=d.map(e=>{let t=i.count;if(i.count+=e.length,j2.test(e))return{type:`text`,value:e};let r=f>0&&t<f,o=r?0:a.baseDelay+i.newIndex++*a.step;if(p=!0,m&&h&&!g){let e=r?0:n.duration;L2(m,e,o,n.easing),V2(m,n,e,o),g=!0}return K2(e,n.animation,n.duration,n.easing,r,o)});return p&&U2(t),c.children.splice(l,1,..._),l+_.length},Z2=0;function Q2(e){let t={animation:e?.animation??`fadeIn`,duration:e?.duration??150,easing:e?.easing??`ease`,sep:e?.sep??`word`,stagger:e?.stagger??40,timeline:e?.timeline},n={committedCharCount:0,prevContentLength:0,lastRenderCharCount:0,pendingMark:null},r=Z2++,i=()=>e=>{let r={count:0,newIndex:0};n.prevContentLength=n.committedCharCount;let i=t.timeline,a=i?.now()??O2();i&&(n.pendingMark===null?n.pendingMark=i.mark():i.rewind(n.pendingMark));let o=i?i.take(Y2(e,t,n.prevContentLength),t.stagger,a):{baseDelay:0,step:t.stagger};tO(e,e=>e.type===`text`||J2(e),(e,i)=>{if(e.type===`text`)return X2(e,i,t,n,r,o);H2(e,i,t,n,r,o)}),n.lastRenderCharCount=r.count,n.prevContentLength=0};return Object.defineProperty(i,"name",{value:`rehypeAnimate$${r}`}),{name:`animate`,type:`animate`,rehypePlugin:i,setPrevContentLength(e){n.committedCharCount=e,n.prevContentLength=e},getLastRenderCharCount(){return n.lastRenderCharCount},commit(){n.committedCharCount=n.lastRenderCharCount,n.pendingMark=null}}}Q2();var $2=(0,d.createContext)(!1),e4=()=>(0,d.useContext)($2),t4=(...e)=>kp(Mr(e)),n4=(e,t)=>{if(!e||!t)return t;let n=`${e}:`;return t.split(/\s+/).filter(Boolean).map(t=>t.startsWith(n)?t:`${e}:${t}`).join(` `)},r4=e=>e?(...t)=>n4(e,kp(Mr(t))):t4,i4=(e,t,n)=>{let r=typeof t==`string`&&n.startsWith(`text/csv`)?``:``,i=typeof t==`string`?new Blob([r+t],{type:n}):t,a=URL.createObjectURL(i),o=document.createElement(`a`);o.href=a,o.download=e,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(a)},a4=(0,d.createContext)(t4),o4=()=>(0,d.useContext)(a4),s4=8,c4=e=>{if(e!==void 0&&e!==0&&e!==1/0){if(typeof e==`number`)return Number.isFinite(e)&&e>0?`${e}px`:void 0;if(e!==`0`&&e!==`none`&&e!==`Infinity`)return e}},l4=(e,t,n)=>{let r=(0,d.useRef)(null),i=(0,d.useRef)(!0),a=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{let e=r.current;if(!(e&&t))return;let n=()=>{let t=e.scrollHeight-e.scrollTop-e.clientHeight<s4;i.current=t};return e.addEventListener(`scroll`,n,{passive:!0}),()=>e.removeEventListener(`scroll`,n)},[t]),(0,d.useEffect)(()=>{e&&!a.current&&(i.current=!0),e||(i.current=!0),a.current=e},[e]),(0,d.useEffect)(()=>{let n=r.current;n&&t&&e&&i.current&&n.scrollTo({top:n.scrollHeight,behavior:`instant`})},[e,t,n]),r},u4=t4(`block`),d4=t4(`block`,`before:content-[counter(line)]`,`before:inline-block`,`before:[counter-increment:line]`,`before:w-6`,`before:mr-4`,`before:text-[13px]`,`before:text-right`,`before:text-muted-foreground/50`,`before:font-mono`,`before:select-none`),f4=e=>{let t={};for(let n of e.split(`;`)){let e=n.indexOf(`:`);if(e>0){let r=n.slice(0,e).trim(),i=n.slice(e+1).trim();r&&i&&(t[r]=i)}}return t},p4=(0,d.memo)(({children:e,result:t,language:n,className:r,maxHeight:i,startLine:a,lineNumbers:o=!0,...s})=>{let c=o4(),{isAnimating:l}=(0,d.useContext)(X6),u=c4(i),f=l4(l,!!u,t),p=(0,d.useMemo)(()=>c(d4),[c]),m=(0,d.useMemo)(()=>c(u4),[c]),h=(0,d.useMemo)(()=>{let e={};return t.bg&&(e[`--sdm-bg`]=t.bg),t.fg&&(e[`--sdm-fg`]=t.fg),t.rootStyle&&Object.assign(e,f4(t.rootStyle)),e},[t.bg,t.fg,t.rootStyle]);return(0,T.jsx)(`div`,{className:c(r,u?`overflow-y-auto`:null,`overflow-x-auto rounded-md border border-border bg-background p-4 text-sm`),"data-language":n,"data-streamdown":`code-block-body`,ref:f,style:u?{maxHeight:u}:void 0,...s,children:(0,T.jsx)(`pre`,{className:c(r,`bg-[var(--sdm-bg,inherit)]`,`dark:bg-[var(--shiki-dark-bg,var(--sdm-bg,inherit))]`),style:h,children:(0,T.jsx)(`code`,{className:o?c(`[counter-increment:line_0] [counter-reset:line]`):void 0,style:o&&a&&a>1?{counterReset:`line ${a-1}`}:void 0,children:t.tokens.map((e,t)=>(0,T.jsx)(`span`,{className:o?p:m,children:e.length===0||e.length===1&&e[0].content===``?`
439
- `:e.map((e,t)=>{let n={},r=!!e.bgColor;if(e.color&&(n[`--sdm-c`]=e.color),e.bgColor&&(n[`--sdm-tbg`]=e.bgColor),e.htmlStyle)for(let[t,i]of Object.entries(e.htmlStyle))t===`color`?n[`--sdm-c`]=i:t===`background-color`?(n[`--sdm-tbg`]=i,r=!0):n[t]=i;return(0,T.jsx)(`span`,{className:c(`text-[var(--sdm-c,inherit)]`,`dark:text-[var(--shiki-dark,var(--sdm-c,inherit))]`,r&&`bg-[var(--sdm-tbg)]`,r&&`dark:bg-[var(--shiki-dark-bg,var(--sdm-tbg))]`),style:n,...e.htmlAttrs,children:e.content},t)})},t))})})})}),m4=({className:e,language:t,style:n,isIncomplete:r,...i})=>{let a=o4();return(0,T.jsx)(`div`,{className:a(`my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2`,e),"data-incomplete":r||void 0,"data-language":t,"data-streamdown":`code-block`,style:{contentVisibility:`auto`,containIntrinsicSize:`auto 200px`,...n},...i})},h4=(0,d.createContext)({code:``}),g4=()=>(0,d.useContext)(h4),_4=({language:e})=>{let t=o4();return(0,T.jsx)(`div`,{className:t(`flex h-8 items-center text-muted-foreground text-xs`),"data-language":e,"data-streamdown":`code-block-header`,children:(0,T.jsx)(`span`,{className:t(`ml-1 font-mono lowercase`),children:e})})},v4=e=>{let t=e.length;for(;t>0&&e[t-1]===`
440
- `;)t--;return e.slice(0,t)},y4=(0,d.lazy)(()=>x2(()=>import(`./highlighted-body-KPVGNVTW-C6SUTwfg.js`).then(e=>({default:e.HighlightedCodeBlockBody})),__vite__mapDeps([0,1]))),b4=({code:e,language:t,className:n,children:r,isIncomplete:i=!1,startLine:a,lineNumbers:o,...s})=>{let c=o4(),{codeBlockMaxHeight:l}=(0,d.useContext)(X6),u=(0,d.useMemo)(()=>v4(e),[e]),f=(0,d.useMemo)(()=>({bg:`transparent`,fg:`inherit`,tokens:u.split(`
441
- `).map(e=>[{content:e,color:`inherit`,bgColor:`transparent`,htmlStyle:{},offset:0}])}),[u]);return(0,T.jsx)(h4.Provider,{value:{code:e},children:(0,T.jsxs)(m4,{dir:`ltr`,isIncomplete:i,language:t,children:[(0,T.jsx)(_4,{language:t}),r?(0,T.jsx)(`div`,{className:c(`pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end`),children:(0,T.jsx)(`div`,{className:c(`pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur`),"data-streamdown":`code-block-actions`,children:r})}):null,(0,T.jsx)(d.Suspense,{fallback:(0,T.jsx)(p4,{className:n,language:t,lineNumbers:o,maxHeight:l,result:f,startLine:a,...s}),children:(0,T.jsx)(y4,{className:n,code:u,language:t,lineNumbers:o,maxHeight:l,raw:f,startLine:a,...s})})]})})},x4={CheckIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M15.5607 3.99999L15.0303 4.53032L6.23744 13.3232C5.55403 14.0066 4.44599 14.0066 3.76257 13.3232L4.2929 12.7929L3.76257 13.3232L0.969676 10.5303L0.439346 9.99999L1.50001 8.93933L2.03034 9.46966L4.82323 12.2626C4.92086 12.3602 5.07915 12.3602 5.17678 12.2626L13.9697 3.46966L14.5 2.93933L15.5607 3.99999Z`,fill:`currentColor`,fillRule:`evenodd`})}),CopyIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M2.75 0.5C1.7835 0.5 1 1.2835 1 2.25V9.75C1 10.7165 1.7835 11.5 2.75 11.5H3.75H4.5V10H3.75H2.75C2.61193 10 2.5 9.88807 2.5 9.75V2.25C2.5 2.11193 2.61193 2 2.75 2H8.25C8.38807 2 8.5 2.11193 8.5 2.25V3H10V2.25C10 1.2835 9.2165 0.5 8.25 0.5H2.75ZM7.75 4.5C6.7835 4.5 6 5.2835 6 6.25V13.75C6 14.7165 6.7835 15.5 7.75 15.5H13.25C14.2165 15.5 15 14.7165 15 13.75V6.25C15 5.2835 14.2165 4.5 13.25 4.5H7.75ZM7.5 6.25C7.5 6.11193 7.61193 6 7.75 6H13.25C13.3881 6 13.5 6.11193 13.5 6.25V13.75C13.5 13.8881 13.3881 14 13.25 14H7.75C7.61193 14 7.5 13.8881 7.5 13.75V6.25Z`,fill:`currentColor`,fillRule:`evenodd`})}),DownloadIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M8.75 1V1.75V8.68934L10.7197 6.71967L11.25 6.18934L12.3107 7.25L11.7803 7.78033L8.70711 10.8536C8.31658 11.2441 7.68342 11.2441 7.29289 10.8536L4.21967 7.78033L3.68934 7.25L4.75 6.18934L5.28033 6.71967L7.25 8.68934V1.75V1H8.75ZM13.5 9.25V13.5H2.5V9.25V8.5H1V9.25V14C1 14.5523 1.44771 15 2 15H14C14.5523 15 15 14.5523 15 14V9.25V8.5H13.5V9.25Z`,fill:`currentColor`,fillRule:`evenodd`})}),ExternalLinkIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M13.5 10.25V13.25C13.5 13.3881 13.3881 13.5 13.25 13.5H2.75C2.61193 13.5 2.5 13.3881 2.5 13.25L2.5 2.75C2.5 2.61193 2.61193 2.5 2.75 2.5H5.75H6.5V1H5.75H2.75C1.7835 1 1 1.7835 1 2.75V13.25C1 14.2165 1.7835 15 2.75 15H13.25C14.2165 15 15 14.2165 15 13.25V10.25V9.5H13.5V10.25ZM9 1H9.75H14.2495C14.6637 1 14.9995 1.33579 14.9995 1.75V6.25V7H13.4995V6.25V3.56066L8.53033 8.52978L8 9.06011L6.93934 7.99945L7.46967 7.46912L12.4388 2.5H9.75H9V1Z`,fill:`currentColor`,fillRule:`evenodd`})}),Loader2Icon:e=>(0,T.jsxs)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:[(0,T.jsx)(`path`,{d:`M8 0V4`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M8 16V12`,opacity:`0.5`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M3.29773 1.52783L5.64887 4.7639`,opacity:`0.9`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M12.7023 1.52783L10.3511 4.7639`,opacity:`0.1`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M12.7023 14.472L10.3511 11.236`,opacity:`0.4`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M3.29773 14.472L5.64887 11.236`,opacity:`0.6`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M15.6085 5.52783L11.8043 6.7639`,opacity:`0.2`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M0.391602 10.472L4.19583 9.23598`,opacity:`0.7`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M15.6085 10.4722L11.8043 9.2361`,opacity:`0.3`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M0.391602 5.52783L4.19583 6.7639`,opacity:`0.8`,stroke:`currentColor`,strokeWidth:`1.5`})]}),Maximize2Icon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M1 5.25V6H2.5V5.25V2.5H5.25H6V1H5.25H2C1.44772 1 1 1.44772 1 2V5.25ZM5.25 14.9994H6V13.4994H5.25H2.5V10.7494V9.99939H1V10.7494V13.9994C1 14.5517 1.44772 14.9994 2 14.9994H5.25ZM15 10V10.75V14C15 14.5523 14.5523 15 14 15H10.75H10V13.5H10.75H13.5V10.75V10H15ZM10.75 1H10V2.5H10.75H13.5V5.25V6H15V5.25V2C15 1.44772 14.5523 1 14 1H10.75Z`,fill:`currentColor`,fillRule:`evenodd`})}),RotateCcwIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M13.5 8C13.5 4.96643 11.0257 2.5 7.96452 2.5C5.42843 2.5 3.29365 4.19393 2.63724 6.5H5.25H6V8H5.25H0.75C0.335787 8 0 7.66421 0 7.25V2.75V2H1.5V2.75V5.23347C2.57851 2.74164 5.06835 1 7.96452 1C11.8461 1 15 4.13001 15 8C15 11.87 11.8461 15 7.96452 15C5.62368 15 3.54872 13.8617 2.27046 12.1122L1.828 11.5066L3.03915 10.6217L3.48161 11.2273C4.48831 12.6051 6.12055 13.5 7.96452 13.5C11.0257 13.5 13.5 11.0336 13.5 8Z`,fill:`currentColor`,fillRule:`evenodd`})}),XIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M12.4697 13.5303L13 14.0607L14.0607 13L13.5303 12.4697L9.06065 7.99999L13.5303 3.53032L14.0607 2.99999L13 1.93933L12.4697 2.46966L7.99999 6.93933L3.53032 2.46966L2.99999 1.93933L1.93933 2.99999L2.46966 3.53032L6.93933 7.99999L2.46966 12.4697L1.93933 13L2.99999 14.0607L3.53032 13.5303L7.99999 9.06065L12.4697 13.5303Z`,fill:`currentColor`,fillRule:`evenodd`})}),ZoomInIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H5.875V4.75V4.125H7.125V4.75V5.875H8.25H8.875V7.125H8.25H7.125V8.25V8.875H5.875V8.25V7.125H4.75H4.125V5.875Z`,fill:`currentColor`,fillRule:`evenodd`})}),ZoomOutIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H8.25H8.875V7.125H8.25H4.75H4.125V5.875Z`,fill:`currentColor`,fillRule:`evenodd`})})},S4=(0,d.createContext)(x4),C4=(e,t)=>{if(e===t)return!0;if(!(e&&t))return e===t;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>e[n]===t[n])},w4=({icons:e,children:t})=>{let n=(0,d.useRef)(e),r=(0,d.useRef)(e?{...x4,...e}:x4);C4(n.current,e)||(n.current=e,r.current=e?{...x4,...e}:x4);let i=r.current;return(0,T.jsx)(S4.Provider,{value:i,children:t})},T4=()=>(0,d.useContext)(S4),E4={copyCode:`Copy Code`,downloadFile:`Download file`,downloadDiagram:`Download diagram`,downloadDiagramAsSvg:`Download diagram as SVG`,downloadDiagramAsPng:`Download diagram as PNG`,downloadDiagramAsMmd:`Download diagram as MMD`,viewFullscreen:`View fullscreen`,exitFullscreen:`Exit fullscreen`,mermaidFormatSvg:`SVG`,mermaidFormatPng:`PNG`,mermaidFormatMmd:`MMD`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,resetView:`Reset zoom and pan`,copyTable:`Copy table`,copyTableAsMarkdown:`Copy table as Markdown`,copyTableAsCsv:`Copy table as CSV`,copyTableAsTsv:`Copy table as TSV`,downloadTable:`Download table`,downloadTableAsCsv:`Download table as CSV`,downloadTableAsMarkdown:`Download table as Markdown`,tableFormatMarkdown:`Markdown`,tableFormatCsv:`CSV`,tableFormatTsv:`TSV`,imageNotAvailable:`Image not available`,downloadImage:`Download image`,openExternalLink:`Open external link?`,externalLinkWarning:`You're about to visit an external website.`,close:`Close`,copyLink:`Copy link`,copied:`Copied`,openLink:`Open link`},D4=(0,d.createContext)(E4),O4=()=>(0,d.useContext)(D4),k4=({onCopy:e,onError:t,timeout:n=2e3,children:r,className:i,code:a,...o})=>{let s=o4(),[c,l]=(0,d.useState)(!1),u=(0,d.useRef)(0),{code:f}=g4(),{isAnimating:p}=(0,d.useContext)(X6),m=O4(),h=a??f,g=async()=>{var r;if(typeof window>`u`||!((r=navigator==null?void 0:navigator.clipboard)!=null&&r.writeText)){t?.(Error(`Clipboard API not available`));return}try{c||(await navigator.clipboard.writeText(h),l(!0),e?.(),u.current=window.setTimeout(()=>l(!1),n))}catch(e){t?.(e)}};(0,d.useEffect)(()=>()=>{window.clearTimeout(u.current)},[]);let _=T4(),v=c?_.CheckIcon:_.CopyIcon;return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{"aria-label":m.copyCode,className:s(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,i),"data-streamdown":`code-block-copy-button`,disabled:p,onClick:g,title:m.copyCode,type:`button`,...o,children:r??(0,T.jsx)(v,{"aria-hidden":`true`,size:14})}),c&&(0,T.jsx)(`output`,{"aria-live":`polite`,className:`sr-only`,children:m.copied})]})},A4=(e,t,n)=>{if(typeof e==`boolean`)return n;let r=e[t];if(typeof r!=`object`)return n;let i=r.download;return typeof i==`object`&&i.filename||n},j4={"1c":`1c`,"1c-query":`1cq`,abap:`abap`,"actionscript-3":`as`,ada:`ada`,adoc:`adoc`,"angular-html":`html`,"angular-ts":`ts`,apache:`conf`,apex:`cls`,apl:`apl`,applescript:`applescript`,ara:`ara`,asciidoc:`adoc`,asm:`asm`,astro:`astro`,awk:`awk`,ballerina:`bal`,bash:`sh`,bat:`bat`,batch:`bat`,be:`be`,beancount:`beancount`,berry:`berry`,bibtex:`bib`,bicep:`bicep`,blade:`blade.php`,bsl:`bsl`,c:`c`,"c#":`cs`,"c++":`cpp`,cadence:`cdc`,cairo:`cairo`,cdc:`cdc`,clarity:`clar`,clj:`clj`,clojure:`clj`,"closure-templates":`soy`,cmake:`cmake`,cmd:`cmd`,cobol:`cob`,codeowners:`CODEOWNERS`,codeql:`ql`,coffee:`coffee`,coffeescript:`coffee`,"common-lisp":`lisp`,console:`sh`,coq:`v`,cpp:`cpp`,cql:`cql`,crystal:`cr`,cs:`cs`,csharp:`cs`,css:`css`,csv:`csv`,cue:`cue`,cypher:`cql`,d:`d`,dart:`dart`,dax:`dax`,desktop:`desktop`,diff:`diff`,docker:`dockerfile`,dockerfile:`dockerfile`,dotenv:`env`,"dream-maker":`dm`,edge:`edge`,elisp:`el`,elixir:`ex`,elm:`elm`,"emacs-lisp":`el`,erb:`erb`,erl:`erl`,erlang:`erl`,f:`f`,"f#":`fs`,f03:`f03`,f08:`f08`,f18:`f18`,f77:`f77`,f90:`f90`,f95:`f95`,fennel:`fnl`,fish:`fish`,fluent:`ftl`,for:`for`,"fortran-fixed-form":`f`,"fortran-free-form":`f90`,fs:`fs`,fsharp:`fs`,fsl:`fsl`,ftl:`ftl`,gdresource:`tres`,gdscript:`gd`,gdshader:`gdshader`,genie:`gs`,gherkin:`feature`,"git-commit":`gitcommit`,"git-rebase":`gitrebase`,gjs:`js`,gleam:`gleam`,"glimmer-js":`js`,"glimmer-ts":`ts`,glsl:`glsl`,gnuplot:`plt`,go:`go`,gql:`gql`,graphql:`graphql`,groovy:`groovy`,gts:`gts`,hack:`hack`,haml:`haml`,handlebars:`hbs`,haskell:`hs`,haxe:`hx`,hbs:`hbs`,hcl:`hcl`,hjson:`hjson`,hlsl:`hlsl`,hs:`hs`,html:`html`,"html-derivative":`html`,http:`http`,hxml:`hxml`,hy:`hy`,imba:`imba`,ini:`ini`,jade:`jade`,java:`java`,javascript:`js`,jinja:`jinja`,jison:`jison`,jl:`jl`,js:`js`,json:`json`,json5:`json5`,jsonc:`jsonc`,jsonl:`jsonl`,jsonnet:`jsonnet`,jssm:`jssm`,jsx:`jsx`,julia:`jl`,kotlin:`kt`,kql:`kql`,kt:`kt`,kts:`kts`,kusto:`kql`,latex:`tex`,lean:`lean`,lean4:`lean`,less:`less`,liquid:`liquid`,lisp:`lisp`,lit:`lit`,llvm:`ll`,log:`log`,logo:`logo`,lua:`lua`,luau:`luau`,make:`mak`,makefile:`mak`,markdown:`md`,marko:`marko`,matlab:`m`,md:`md`,mdc:`mdc`,mdx:`mdx`,mediawiki:`wiki`,mermaid:`mmd`,mips:`s`,mipsasm:`s`,mmd:`mmd`,mojo:`mojo`,move:`move`,nar:`nar`,narrat:`narrat`,nextflow:`nf`,nf:`nf`,nginx:`conf`,nim:`nim`,nix:`nix`,nu:`nu`,nushell:`nu`,objc:`m`,"objective-c":`m`,"objective-cpp":`mm`,ocaml:`ml`,pascal:`pas`,perl:`pl`,perl6:`p6`,php:`php`,plsql:`pls`,po:`po`,polar:`polar`,postcss:`pcss`,pot:`pot`,potx:`potx`,powerquery:`pq`,powershell:`ps1`,prisma:`prisma`,prolog:`pl`,properties:`properties`,proto:`proto`,protobuf:`proto`,ps:`ps`,ps1:`ps1`,pug:`pug`,puppet:`pp`,purescript:`purs`,py:`py`,python:`py`,ql:`ql`,qml:`qml`,qmldir:`qmldir`,qss:`qss`,r:`r`,racket:`rkt`,raku:`raku`,razor:`cshtml`,rb:`rb`,reg:`reg`,regex:`regex`,regexp:`regexp`,rel:`rel`,riscv:`s`,rs:`rs`,rst:`rst`,ruby:`rb`,rust:`rs`,sas:`sas`,sass:`sass`,scala:`scala`,scheme:`scm`,scss:`scss`,sdbl:`sdbl`,sh:`sh`,shader:`shader`,shaderlab:`shader`,shell:`sh`,shellscript:`sh`,shellsession:`sh`,smalltalk:`st`,solidity:`sol`,soy:`soy`,sparql:`rq`,spl:`spl`,splunk:`spl`,sql:`sql`,"ssh-config":`config`,stata:`do`,styl:`styl`,stylus:`styl`,svelte:`svelte`,swift:`swift`,"system-verilog":`sv`,systemd:`service`,talon:`talon`,talonscript:`talon`,tasl:`tasl`,tcl:`tcl`,templ:`templ`,terraform:`tf`,tex:`tex`,tf:`tf`,tfvars:`tfvars`,toml:`toml`,ts:`ts`,"ts-tags":`ts`,tsp:`tsp`,tsv:`tsv`,tsx:`tsx`,turtle:`ttl`,twig:`twig`,typ:`typ`,typescript:`ts`,typespec:`tsp`,typst:`typ`,v:`v`,vala:`vala`,vb:`vb`,verilog:`v`,vhdl:`vhdl`,vim:`vim`,viml:`vim`,vimscript:`vim`,vue:`vue`,"vue-html":`html`,"vue-vine":`vine`,vy:`vy`,vyper:`vy`,wasm:`wasm`,wenyan:`wy`,wgsl:`wgsl`,wiki:`wiki`,wikitext:`wiki`,wit:`wit`,wl:`wl`,wolfram:`wl`,xml:`xml`,xsl:`xsl`,yaml:`yaml`,yml:`yml`,zenscript:`zs`,zig:`zig`,zsh:`zsh`,文言:`wy`},M4=({onDownload:e,onError:t,language:n,children:r,className:i,code:a,...o})=>{let s=o4(),{code:c}=g4(),{isAnimating:l,controls:u}=(0,d.useContext)(X6),f=O4(),p=T4(),m=a??c,h=n&&n in j4?j4[n]:`txt`,g=`${A4(u,`code`,`file`)}.${h}`;return(0,T.jsx)(`button`,{"aria-label":f.downloadFile,className:s(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,i),"data-streamdown":`code-block-download-button`,disabled:l,onClick:()=>{try{i4(g,m,`text/plain`),e?.()}catch(e){t?.(e)}},title:f.downloadFile,type:`button`,...o,children:r??(0,T.jsx)(p.DownloadIcon,{size:14})})},N4=()=>{let{Loader2Icon:e}=T4(),t=o4();return(0,T.jsxs)(`div`,{className:t(`w-full divide-y divide-border overflow-hidden rounded-xl border border-border`),children:[(0,T.jsx)(`div`,{className:t(`h-[46px] w-full bg-muted/80`)}),(0,T.jsx)(`div`,{className:t(`flex w-full items-center justify-center p-4`),children:(0,T.jsx)(e,{className:t(`size-4 animate-spin`)})})]})},P4=/\.[^/.]+$/,F4=({node:e,className:t,src:n,alt:r,onLoad:i,onError:a,showControls:o=!0,showDownloadControl:s=!0,...c})=>{let{DownloadIcon:l}=T4(),u=o4(),f=(0,d.useRef)(null),[p,m]=(0,d.useState)(!1),[h,g]=(0,d.useState)(!1),_=O4(),v=c.width!=null||c.height!=null,y=(p||v)&&!h&&o&&s,b=h&&!v;(0,d.useEffect)(()=>{let e=f.current;if(e!=null&&e.complete){let t=e.naturalWidth>0;m(t),g(!t)}},[]);let x=(0,d.useCallback)(e=>{m(!0),g(!1),i?.(e)},[i]),S=(0,d.useCallback)(e=>{m(!1),g(!0),a?.(e)},[a]),C=async()=>{if(n)try{let e=await(await fetch(n)).blob(),t=new URL(n,window.location.origin).pathname.split(`/`).pop()||``,i=t.split(`.`).pop(),a=t.includes(`.`)&&i!==void 0&&i.length<=4,o=``;if(a)o=t;else{let n=e.type,i=`png`;n.includes(`jpeg`)||n.includes(`jpg`)?i=`jpg`:n.includes(`png`)?i=`png`:n.includes(`svg`)?i=`svg`:n.includes(`gif`)?i=`gif`:n.includes(`webp`)&&(i=`webp`),o=`${(r||t||`image`).replace(P4,``)}.${i}`}i4(o,e,e.type)}catch{window.open(n,`_blank`)}};return n?(0,T.jsxs)(`div`,{className:u(`group relative my-4 inline-block`),"data-streamdown":`image-wrapper`,children:[(0,T.jsx)(`img`,{alt:r,className:u(`max-w-full rounded-lg`,b&&`hidden`,t),"data-streamdown":`image`,onError:S,onLoad:x,ref:f,src:n,...c}),b&&(0,T.jsx)(`span`,{className:u(`text-muted-foreground text-xs italic`),"data-streamdown":`image-fallback`,children:_.imageNotAvailable}),o&&(0,T.jsx)(`div`,{className:u(`pointer-events-none absolute inset-0 hidden rounded-lg bg-black/10 group-hover:block`),"data-streamdown":`image-overlay`}),y&&(0,T.jsx)(`button`,{className:u(`absolute right-2 bottom-2 flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-border bg-background/90 shadow-sm backdrop-blur-sm transition-all duration-200 hover:bg-background`,`opacity-0 group-hover:opacity-100`),onClick:C,title:_.downloadImage,type:`button`,children:(0,T.jsx)(l,{size:14})})]}):null},I4=0,L4=()=>{I4+=1,I4===1&&(document.body.style.overflow=`hidden`)},R4=()=>{I4=Math.max(0,I4-1),I4===0&&(document.body.style.overflow=``)},z4=({url:e,isOpen:t,onClose:n,onConfirm:r})=>{let{CheckIcon:i,CopyIcon:a,ExternalLinkIcon:o,XIcon:s}=T4(),c=o4(),[l,u]=(0,d.useState)(!1),f=O4(),p=(0,d.useCallback)(async()=>{try{await navigator.clipboard.writeText(e),u(!0),setTimeout(()=>u(!1),2e3)}catch{}},[e]),m=(0,d.useCallback)(()=>{r(),n()},[r,n]);if((0,d.useEffect)(()=>{if(t){L4();let e=e=>{e.key===`Escape`&&n()};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e),R4()}}},[t,n]),!t||typeof document>`u`)return null;let h=(0,T.jsx)(`div`,{className:c(`fixed inset-0 z-50 flex items-center justify-center bg-background/50 backdrop-blur-sm`),"data-streamdown":`link-safety-modal`,onClick:n,onKeyDown:e=>{e.key===`Escape`&&n()},role:`button`,tabIndex:0,children:(0,T.jsxs)(`div`,{className:c(`relative mx-4 flex w-full max-w-md flex-col gap-4 rounded-xl border bg-background p-6 shadow-lg`),onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),role:`presentation`,children:[(0,T.jsx)(`button`,{className:c(`absolute top-4 right-4 rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground`),onClick:n,title:f.close,type:`button`,children:(0,T.jsx)(s,{size:16})}),(0,T.jsxs)(`div`,{className:c(`flex flex-col gap-2`),children:[(0,T.jsxs)(`div`,{className:c(`flex items-center gap-2 font-semibold text-lg`),children:[(0,T.jsx)(o,{size:20}),(0,T.jsx)(`span`,{children:f.openExternalLink})]}),(0,T.jsx)(`p`,{className:c(`text-muted-foreground text-sm`),children:f.externalLinkWarning})]}),(0,T.jsx)(`div`,{className:c(`break-all rounded-md bg-muted p-3 font-mono text-sm`,e.length>100&&`max-h-32 overflow-y-auto`),children:e}),(0,T.jsxs)(`div`,{className:c(`flex gap-2`),children:[(0,T.jsx)(`button`,{className:c(`flex flex-1 items-center justify-center gap-2 rounded-md border bg-background px-4 py-2 font-medium text-sm transition-all hover:bg-muted`),onClick:p,type:`button`,children:l?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(i,{size:14}),(0,T.jsx)(`span`,{children:f.copied})]}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(a,{size:14}),(0,T.jsx)(`span`,{children:f.copyLink})]})}),(0,T.jsxs)(`button`,{className:c(`flex flex-1 items-center justify-center gap-2 rounded-md bg-primary px-4 py-2 font-medium text-primary-foreground text-sm transition-all hover:bg-primary/90`),onClick:m,type:`button`,children:[(0,T.jsx)(o,{size:14}),(0,T.jsx)(`span`,{children:f.openLink})]})]})]})});return(0,ar.createPortal)(h,document.body)},B4=(0,d.createContext)(null),V4=()=>(0,d.useContext)(B4),H4=()=>V4()?.code??null,U4=()=>V4()?.mermaid??null,W4=e=>{var t;let n=V4();return n!=null&&n.renderers&&e&&(t=n.renderers.find(t=>Array.isArray(t.language)?t.language.includes(e):t.language===e))!=null?t:null},G4=e=>{if(typeof DOMParser>`u`||typeof XMLSerializer>`u`)return e;let t=new DOMParser().parseFromString(e,`text/html`).querySelector(`svg`);return t?new XMLSerializer().serializeToString(t):e},K4=(e,t)=>new Promise((t,n)=>{let r=`data:image/svg+xml;base64,`+btoa(unescape(encodeURIComponent(e))),i=new Image;i.crossOrigin=`anonymous`,i.onload=()=>{let e=document.createElement(`canvas`),r=i.width*5,a=i.height*5;e.width=r,e.height=a;let o=e.getContext(`2d`);if(!o){n(Error(`Failed to create 2D canvas context for PNG export`));return}o.drawImage(i,0,0,r,a),e.toBlob(e=>{if(!e){n(Error(`Failed to create PNG blob`));return}t(e)},`image/png`)},i.onerror=()=>n(Error(`Failed to load SVG image`)),i.src=r}),q4=({chart:e,children:t,className:n,onDownload:r,config:i,onError:a})=>{let o=o4(),[s,c]=(0,d.useState)(!1),l=(0,d.useRef)(null),{isAnimating:u,controls:f}=(0,d.useContext)(X6),p=T4(),m=U4(),h=O4(),g=A4(f,`mermaid`,`diagram`),_=async t=>{try{if(t===`mmd`){i4(`${g}.mmd`,e,`text/plain`),c(!1),r?.(t);return}if(!m){a?.(Error(`Mermaid plugin not available`));return}let n=m.getMermaid(i),o=e.split(``).reduce((e,t)=>(e<<5)-e+t.charCodeAt(0)|0,0),s=`mermaid-${Math.abs(o)}-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,{svg:l}=await n.render(s,e);if(!l){a?.(Error(`SVG not found. Please wait for the diagram to render.`));return}let u=G4(l);if(t===`svg`){i4(`${g}.svg`,u,`image/svg+xml`),c(!1),r?.(t);return}if(t===`png`){let e=await K4(u);i4(`${g}.png`,e,`image/png`),r?.(t),c(!1);return}}catch(e){a?.(e)}};return(0,d.useEffect)(()=>{let e=e=>{let t=e.composedPath();l.current&&!t.includes(l.current)&&c(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[]),(0,T.jsxs)(`div`,{className:o(`relative`),ref:l,children:[(0,T.jsx)(`button`,{"aria-label":h.downloadDiagram,className:o(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,n),disabled:u,onClick:()=>c(!s),title:h.downloadDiagram,type:`button`,children:t??(0,T.jsx)(p.DownloadIcon,{"aria-hidden":`true`,size:14})}),s?(0,T.jsxs)(`div`,{className:o(`absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg`),children:[(0,T.jsx)(`button`,{"aria-label":h.downloadDiagramAsSvg,className:o(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`svg`),title:h.downloadDiagramAsSvg,type:`button`,children:h.mermaidFormatSvg}),(0,T.jsx)(`button`,{"aria-label":h.downloadDiagramAsPng,className:o(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`png`),title:h.downloadDiagramAsPng,type:`button`,children:h.mermaidFormatPng}),(0,T.jsx)(`button`,{"aria-label":h.downloadDiagramAsMmd,className:o(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`mmd`),title:h.downloadDiagramAsMmd,type:`button`,children:h.mermaidFormatMmd})]}):null]})},J4=({chart:e,config:t,onFullscreen:n,onExit:r,className:i,...a})=>{let{Maximize2Icon:o,XIcon:s}=T4(),c=o4(),[l,u]=(0,d.useState)(!1),{isAnimating:f,controls:p}=(0,d.useContext)(X6),m=O4(),h=(()=>{if(typeof p==`boolean`)return p;let e=p.mermaid;return e===!1?!1:e===!0||e===void 0||e.panZoom!==!1})(),g=(()=>{if(typeof p==`boolean`)return p;let e=p.mermaid;return e===!1?!1:e===!0||e===void 0||e.download!==!1})(),_=(()=>{if(typeof p==`boolean`)return p;let e=p.mermaid;return e===!1?!1:e===!0||e===void 0||e.copy!==!1})(),v=()=>{u(!l)};return(0,d.useEffect)(()=>{if(l){L4();let e=e=>{e.key===`Escape`&&u(!1)};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e),R4()}}},[l]),(0,d.useEffect)(()=>{l?n?.():r&&r()},[l,n,r]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{className:c(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,i),disabled:f,onClick:v,title:m.viewFullscreen,type:`button`,...a,"aria-label":m.viewFullscreen,children:(0,T.jsx)(o,{"aria-hidden":`true`,size:14})}),l?(0,ar.createPortal)((0,T.jsxs)(`div`,{"aria-label":m.viewFullscreen,"aria-modal":`true`,className:c(`fixed inset-0 z-50 flex items-center justify-center bg-background/95 backdrop-blur-sm`),"data-streamdown":`mermaid-fullscreen`,onClick:v,onKeyDown:e=>{e.key===`Escape`&&v()},role:`dialog`,children:[(0,T.jsxs)(`div`,{className:c(`absolute top-4 right-4 z-10 flex items-center gap-1`),onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),role:`presentation`,children:[g?(0,T.jsx)(q4,{chart:e,config:t}):null,_?(0,T.jsx)(k4,{code:e}):null,(0,T.jsx)(`button`,{"aria-label":m.exitFullscreen,className:c(`rounded-md p-2 text-muted-foreground transition-all hover:bg-muted hover:text-foreground`),onClick:v,title:m.exitFullscreen,type:`button`,children:(0,T.jsx)(s,{"aria-hidden":`true`,size:20})})]}),(0,T.jsx)(`div`,{className:c(`flex size-full items-center justify-center p-4`),onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),role:`presentation`,children:(0,T.jsx)(e8,{chart:e,className:c(`size-full [&_svg]:h-auto [&_svg]:w-auto`),config:t,fullscreen:!0,showControls:h})})]}),document.body):null]})};function Y4(e){if(e.nodeType===Node.TEXT_NODE)return e.textContent??``;if(e.nodeType!==Node.ELEMENT_NODE)return``;let t=e;return t.tagName===`BR`?`
442
- `:Array.from(t.childNodes).map(Y4).join(``)}var X4=e=>{let t=[],n=[],r=e.querySelectorAll(`thead th`);for(let e of r)t.push(Y4(e).trim());let i=e.querySelectorAll(`tbody tr`);for(let e of i){let t=[],r=e.querySelectorAll(`td`);for(let e of r)t.push(Y4(e).trim());n.push(t)}return{headers:t,rows:n}},Z4=e=>{if(typeof e!=`object`)return`,`;let t=e.table;return typeof t==`object`?t.csvSeparator??`,`:`,`},Q4=(e,t=`,`)=>{let n;n=t===`auto`?Intl.NumberFormat().format(1.1).includes(`,`)?`;`:`,`:t;let{headers:r,rows:i}=e,a=e=>{let t=!1;for(let r of e)if(r===n||r===`"`||r===`
437
+ `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${a2(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=o2(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+a2(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=o2(e);if(i===null)return a2(n);e=i;let a=`<img src="${e}" alt="${a2(n)}"`;return t&&(a+=` title="${a2(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:a2(e.text)}},g2=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},_2=class e{options;renderer;textRenderer;constructor(e){this.options=e||K1,this.options.renderer=this.options.renderer||new h2,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new g2}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},v2=class{options;block;constructor(e){this.options=e||K1}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?m2.lex:m2.lexInline}provideParser(e=this.block){return e?_2.parse:_2.parseInline}},y2=new class{defaults=G1();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=_2;Renderer=h2;TextRenderer=g2;Lexer=m2;Tokenizer=p2;Hooks=v2;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new h2(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new p2(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new v2;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];t[r]=v2.passThroughHooks.has(n)?e=>{if(this.defaults.async&&v2.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return m2.lex(e,t??this.defaults)}parser(e,t){return _2.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?m2.lex:m2.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?_2.parse:_2.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?m2.lex:m2.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?_2.parse:_2.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
438
+ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+a2(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function b2(e,t){return y2.parse(e,t)}b2.options=b2.setOptions=function(e){return y2.setOptions(e),b2.defaults=y2.defaults,q1(b2.defaults),b2},b2.getDefaults=G1,b2.defaults=K1,b2.use=function(...e){return y2.use(...e),b2.defaults=y2.defaults,q1(b2.defaults),b2},b2.walkTokens=function(e,t){return y2.walkTokens(e,t)},b2.parseInline=y2.parseInline,b2.Parser=_2,b2.parser=_2.parse,b2.Renderer=h2,b2.TextRenderer=g2,b2.Lexer=m2,b2.lexer=m2.lex,b2.Tokenizer=p2,b2.Hooks=v2,b2.parse=b2,b2.options,b2.setOptions,b2.use,b2.walkTokens,b2.parseInline,_2.parse,m2.lex;var x2=`modulepreload`,S2=function(e){return`/`+e},C2={},w2=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=S2(t,n),t=s(t),t in C2)return;C2[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:x2,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},T2=300,E2=`300px`,D2=500;function O2(e={}){let{immediate:t=!1,debounceDelay:n=T2,rootMargin:r=E2,idleTimeout:i=D2}=e,[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(null),c=(0,d.useRef)(null),l=(0,d.useRef)(null),u=(0,d.useMemo)(()=>e=>{let t=Date.now();return window.setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})},1)},[]),f=(0,d.useMemo)(()=>typeof window<`u`&&window.requestIdleCallback?(e,t)=>window.requestIdleCallback(e,t):u,[u]),p=(0,d.useMemo)(()=>typeof window<`u`&&window.cancelIdleCallback?e=>window.cancelIdleCallback(e):e=>{clearTimeout(e)},[]);return(0,d.useEffect)(()=>{if(t){o(!0);return}let e=s.current;if(!e)return;c.current&&=(clearTimeout(c.current),null),l.current&&=(p(l.current),null);let a=()=>{c.current&&=(clearTimeout(c.current),null),l.current&&=(p(l.current),null)},u=e=>{l.current=f(t=>{t.timeRemaining()>0||t.didTimeout?(o(!0),e.disconnect()):l.current=f(()=>{o(!0),e.disconnect()},{timeout:i/2})},{timeout:i})},d=e=>{a(),c.current=window.setTimeout(()=>{var t;let n=e.takeRecords();(n.length===0||(t=n.at(-1)?.isIntersecting)!=null&&t)&&u(e)},n)},m=(e,t)=>{e.isIntersecting?d(t):a()},h=new IntersectionObserver(e=>{for(let t of e)m(t,h)},{rootMargin:r,threshold:0});return h.observe(e),()=>{c.current&&clearTimeout(c.current),l.current&&p(l.current),h.disconnect()}},[t,n,r,i,p,f]),{shouldRender:a,containerRef:s}}var k2=320,A2=4,j2=()=>typeof performance>`u`?Date.now():performance.now();function M2(e){let t=e?.now??j2,n=e?.maxBacklogMs??k2,r=0,i=0;return{now:t,beginPass(e){i=Math.min(Math.max(r,e),e+n)},mark(){return i},rewind(e){i=e},take(e,t,r){if(e<=0)return{baseDelay:0,step:Math.max(0,t)};let a=Math.max(0,t),o=a===0?0:Math.min(a,A2),s=Math.max(i,r),c=r+n,l=s+Math.max(0,e-1)*a,u=a;if(l>c&&e>1){if(s<c){let t=c-s;u=Math.max(o,t/(e-1))}else u=o}let d=Math.max(0,Math.round(s-r));return i=s+e*u,{baseDelay:d,step:u}},commitPass(){r=i}}}var N2=/\s/,P2=/^\s+$/,F2=new Set([`pre`,`svg`,`math`,`annotation`]),I2=new Set([`img`,`hr`]),L2=e=>typeof e==`object`&&!!e&&`type`in e&&e.type===`element`,R2=e=>e.some(e=>L2(e)&&F2.has(e.tagName)),z2=e=>{for(let t=e.length-1;t>=0;t--){let n=e[t];if(L2(n)&&n.tagName===`li`)return n}},B2=(e,t,n,r)=>{e.properties??={},e.properties[`data-sd-animate-marker`]=!0;let i=typeof e.properties.style==`string`?`${e.properties.style};`:``;e.properties.style=`${i}--sd-marker-duration:${t}ms;--sd-marker-delay:${Math.round(n)}ms;--sd-marker-easing:${r}`},V2=new Set([`ul`,`ol`,`li`]),H2=e=>{for(let t of e.children)if(L2(t)){if(t.tagName===`input`)return t;if(V2.has(t.tagName))continue;let e=H2(t);if(e)return e}},U2=(e,t,n,r)=>{e.properties??={},e.properties[`data-sd-animate`]=!0;let i=typeof e.properties.style==`string`?`${e.properties.style};`:``;e.properties.style=`${i}--sd-animation:sd-${t.animation};--sd-duration:${n}ms;--sd-easing:${t.easing};--sd-delay:${Math.round(r)}ms`},W2=(e,t,n,r)=>{let i=H2(e);i&&U2(i,t,n,r)},G2=(e,t,n,r,i,a)=>{if(R2(t))return;let o=r.prevContentLength,s=i.count;i.count+=1;let c=o>0&&s<o,l=c?0:a.baseDelay+i.newIndex++*a.step;U2(e,n,c?0:n.duration,l)},K2=e=>{var t;for(let n=e.length-1;n>=0;--n){let r=e[n];if(L2(r)){if((t=r.properties)!=null&&t[`data-sd-animated`])break;r.properties={...r.properties,"data-sd-animated":!0}}}},q2=e=>{let t=[],n=``,r=!1;for(let i of e){let e=N2.test(i);if(e!==r&&n){if(e){n+=i,r=!0;continue}t.push(n),n=``}n+=i,r=e}return n&&t.push(n),t},J2=e=>{let t=[],n=``;for(let r of e)N2.test(r)?t.length>0&&!P2.test(t.at(-1))?t[t.length-1]+=r:n+=r:(n&&=(t.push(n),``),t.push(r));return n&&(t.length>0?t[t.length-1]+=n:t.push(n)),t},Y2=(e,t,n,r,i,a)=>{let o=`--sd-animation:sd-${t};--sd-duration:${i?0:n}ms;--sd-easing:${r}`;return a&&(o+=`;--sd-delay:${Math.round(a)}ms`),{type:`element`,tagName:`span`,properties:{"data-sd-animate":!0,style:o},children:[{type:`text`,value:e}]}},X2=(e,t)=>!(e>0&&t<e),Z2=e=>L2(e)&&I2.has(e.tagName),Q2=(e,t,n)=>{let r=0,i=0;return tO(e,e=>e.type===`text`||Z2(e),(e,a)=>{if(R2(a))return eO;if(Z2(e)){X2(n,i)&&(r+=1),i+=1;return}let o=e.value;if(!o.trim()){i+=o.length;return}let s=t.sep===`char`?J2(o):q2(o);for(let e of s){let t=i;i+=e.length,!P2.test(e)&&X2(n,t)&&(r+=1)}}),r},$2=(e,t,n,r,i,a)=>{var o;let s=t.at(-1);if(!(s&&`children`in s))return;if(R2(t))return eO;let c=s,l=c.children.indexOf(e);if(l===-1)return;let u=e.value;if(!u.trim()){i.count+=u.length;return}let d=n.sep===`char`?J2(u):q2(u),f=r.prevContentLength,p=!1,m=z2(t),h=!!(m&&!((o=m.properties)!=null&&o[`data-sd-animate-marker`])),g=!1,_=d.map(e=>{let t=i.count;if(i.count+=e.length,P2.test(e))return{type:`text`,value:e};let r=f>0&&t<f,o=r?0:a.baseDelay+i.newIndex++*a.step;if(p=!0,m&&h&&!g){let e=r?0:n.duration;B2(m,e,o,n.easing),W2(m,n,e,o),g=!0}return Y2(e,n.animation,n.duration,n.easing,r,o)});return p&&K2(t),c.children.splice(l,1,..._),l+_.length},e4=0;function t4(e){let t={animation:e?.animation??`fadeIn`,duration:e?.duration??150,easing:e?.easing??`ease`,sep:e?.sep??`word`,stagger:e?.stagger??40,timeline:e?.timeline},n={committedCharCount:0,prevContentLength:0,lastRenderCharCount:0,pendingMark:null},r=e4++,i=()=>e=>{let r={count:0,newIndex:0};n.prevContentLength=n.committedCharCount;let i=t.timeline,a=i?.now()??j2();i&&(n.pendingMark===null?n.pendingMark=i.mark():i.rewind(n.pendingMark));let o=i?i.take(Q2(e,t,n.prevContentLength),t.stagger,a):{baseDelay:0,step:t.stagger};tO(e,e=>e.type===`text`||Z2(e),(e,i)=>{if(e.type===`text`)return $2(e,i,t,n,r,o);G2(e,i,t,n,r,o)}),n.lastRenderCharCount=r.count,n.prevContentLength=0};return Object.defineProperty(i,"name",{value:`rehypeAnimate$${r}`}),{name:`animate`,type:`animate`,rehypePlugin:i,setPrevContentLength(e){n.committedCharCount=e,n.prevContentLength=e},getLastRenderCharCount(){return n.lastRenderCharCount},commit(){n.committedCharCount=n.lastRenderCharCount,n.pendingMark=null}}}t4();var n4=(0,d.createContext)(!1),r4=()=>(0,d.useContext)(n4),i4=(...e)=>kp(Mr(e)),a4=(e,t)=>{if(!e||!t)return t;let n=`${e}:`;return t.split(/\s+/).filter(Boolean).map(t=>t.startsWith(n)?t:`${e}:${t}`).join(` `)},o4=e=>e?(...t)=>a4(e,kp(Mr(t))):i4,s4=(e,t,n)=>{let r=typeof t==`string`&&n.startsWith(`text/csv`)?``:``,i=typeof t==`string`?new Blob([r+t],{type:n}):t,a=URL.createObjectURL(i),o=document.createElement(`a`);o.href=a,o.download=e,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(a)},c4=(0,d.createContext)(i4),l4=()=>(0,d.useContext)(c4),u4=8,d4=e=>{if(e!==void 0&&e!==0&&e!==1/0){if(typeof e==`number`)return Number.isFinite(e)&&e>0?`${e}px`:void 0;if(e!==`0`&&e!==`none`&&e!==`Infinity`)return e}},f4=(e,t,n)=>{let r=(0,d.useRef)(null),i=(0,d.useRef)(!0),a=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{let e=r.current;if(!(e&&t))return;let n=()=>{let t=e.scrollHeight-e.scrollTop-e.clientHeight<u4;i.current=t};return e.addEventListener(`scroll`,n,{passive:!0}),()=>e.removeEventListener(`scroll`,n)},[t]),(0,d.useEffect)(()=>{e&&!a.current&&(i.current=!0),e||(i.current=!0),a.current=e},[e]),(0,d.useEffect)(()=>{let n=r.current;n&&t&&e&&i.current&&n.scrollTo({top:n.scrollHeight,behavior:`instant`})},[e,t,n]),r},p4=i4(`block`),m4=i4(`block`,`before:content-[counter(line)]`,`before:inline-block`,`before:[counter-increment:line]`,`before:w-6`,`before:mr-4`,`before:text-[13px]`,`before:text-right`,`before:text-muted-foreground/50`,`before:font-mono`,`before:select-none`),h4=e=>{let t={};for(let n of e.split(`;`)){let e=n.indexOf(`:`);if(e>0){let r=n.slice(0,e).trim(),i=n.slice(e+1).trim();r&&i&&(t[r]=i)}}return t},g4=(0,d.memo)(({children:e,result:t,language:n,className:r,maxHeight:i,startLine:a,lineNumbers:o=!0,...s})=>{let c=l4(),{isAnimating:l}=(0,d.useContext)($6),u=d4(i),f=f4(l,!!u,t),p=(0,d.useMemo)(()=>c(m4),[c]),m=(0,d.useMemo)(()=>c(p4),[c]),h=(0,d.useMemo)(()=>{let e={};return t.bg&&(e[`--sdm-bg`]=t.bg),t.fg&&(e[`--sdm-fg`]=t.fg),t.rootStyle&&Object.assign(e,h4(t.rootStyle)),e},[t.bg,t.fg,t.rootStyle]);return(0,T.jsx)(`div`,{className:c(r,u?`overflow-y-auto`:null,`overflow-x-auto rounded-md border border-border bg-background p-4 text-sm`),"data-language":n,"data-streamdown":`code-block-body`,ref:f,style:u?{maxHeight:u}:void 0,...s,children:(0,T.jsx)(`pre`,{className:c(r,`bg-[var(--sdm-bg,inherit)]`,`dark:bg-[var(--shiki-dark-bg,var(--sdm-bg,inherit))]`),style:h,children:(0,T.jsx)(`code`,{className:o?c(`[counter-increment:line_0] [counter-reset:line]`):void 0,style:o&&a&&a>1?{counterReset:`line ${a-1}`}:void 0,children:t.tokens.map((e,t)=>(0,T.jsx)(`span`,{className:o?p:m,children:e.length===0||e.length===1&&e[0].content===``?`
439
+ `:e.map((e,t)=>{let n={},r=!!e.bgColor;if(e.color&&(n[`--sdm-c`]=e.color),e.bgColor&&(n[`--sdm-tbg`]=e.bgColor),e.htmlStyle)for(let[t,i]of Object.entries(e.htmlStyle))t===`color`?n[`--sdm-c`]=i:t===`background-color`?(n[`--sdm-tbg`]=i,r=!0):n[t]=i;return(0,T.jsx)(`span`,{className:c(`text-[var(--sdm-c,inherit)]`,`dark:text-[var(--shiki-dark,var(--sdm-c,inherit))]`,r&&`bg-[var(--sdm-tbg)]`,r&&`dark:bg-[var(--shiki-dark-bg,var(--sdm-tbg))]`),style:n,...e.htmlAttrs,children:e.content},t)})},t))})})})}),_4=({className:e,language:t,style:n,isIncomplete:r,...i})=>{let a=l4();return(0,T.jsx)(`div`,{className:a(`my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2`,e),"data-incomplete":r||void 0,"data-language":t,"data-streamdown":`code-block`,style:{contentVisibility:`auto`,containIntrinsicSize:`auto 200px`,...n},...i})},v4=(0,d.createContext)({code:``}),y4=()=>(0,d.useContext)(v4),b4=({language:e})=>{let t=l4();return(0,T.jsx)(`div`,{className:t(`flex h-8 items-center text-muted-foreground text-xs`),"data-language":e,"data-streamdown":`code-block-header`,children:(0,T.jsx)(`span`,{className:t(`ml-1 font-mono lowercase`),children:e})})},x4=e=>{let t=e.length;for(;t>0&&e[t-1]===`
440
+ `;)t--;return e.slice(0,t)},S4=(0,d.lazy)(()=>w2(()=>import(`./highlighted-body-KPVGNVTW-NOKBQsaw.js`).then(e=>({default:e.HighlightedCodeBlockBody})),__vite__mapDeps([0,1]))),C4=({code:e,language:t,className:n,children:r,isIncomplete:i=!1,startLine:a,lineNumbers:o,...s})=>{let c=l4(),{codeBlockMaxHeight:l}=(0,d.useContext)($6),u=(0,d.useMemo)(()=>x4(e),[e]),f=(0,d.useMemo)(()=>({bg:`transparent`,fg:`inherit`,tokens:u.split(`
441
+ `).map(e=>[{content:e,color:`inherit`,bgColor:`transparent`,htmlStyle:{},offset:0}])}),[u]);return(0,T.jsx)(v4.Provider,{value:{code:e},children:(0,T.jsxs)(_4,{dir:`ltr`,isIncomplete:i,language:t,children:[(0,T.jsx)(b4,{language:t}),r?(0,T.jsx)(`div`,{className:c(`pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end`),children:(0,T.jsx)(`div`,{className:c(`pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur`),"data-streamdown":`code-block-actions`,children:r})}):null,(0,T.jsx)(d.Suspense,{fallback:(0,T.jsx)(g4,{className:n,language:t,lineNumbers:o,maxHeight:l,result:f,startLine:a,...s}),children:(0,T.jsx)(S4,{className:n,code:u,language:t,lineNumbers:o,maxHeight:l,raw:f,startLine:a,...s})})]})})},w4={CheckIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M15.5607 3.99999L15.0303 4.53032L6.23744 13.3232C5.55403 14.0066 4.44599 14.0066 3.76257 13.3232L4.2929 12.7929L3.76257 13.3232L0.969676 10.5303L0.439346 9.99999L1.50001 8.93933L2.03034 9.46966L4.82323 12.2626C4.92086 12.3602 5.07915 12.3602 5.17678 12.2626L13.9697 3.46966L14.5 2.93933L15.5607 3.99999Z`,fill:`currentColor`,fillRule:`evenodd`})}),CopyIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M2.75 0.5C1.7835 0.5 1 1.2835 1 2.25V9.75C1 10.7165 1.7835 11.5 2.75 11.5H3.75H4.5V10H3.75H2.75C2.61193 10 2.5 9.88807 2.5 9.75V2.25C2.5 2.11193 2.61193 2 2.75 2H8.25C8.38807 2 8.5 2.11193 8.5 2.25V3H10V2.25C10 1.2835 9.2165 0.5 8.25 0.5H2.75ZM7.75 4.5C6.7835 4.5 6 5.2835 6 6.25V13.75C6 14.7165 6.7835 15.5 7.75 15.5H13.25C14.2165 15.5 15 14.7165 15 13.75V6.25C15 5.2835 14.2165 4.5 13.25 4.5H7.75ZM7.5 6.25C7.5 6.11193 7.61193 6 7.75 6H13.25C13.3881 6 13.5 6.11193 13.5 6.25V13.75C13.5 13.8881 13.3881 14 13.25 14H7.75C7.61193 14 7.5 13.8881 7.5 13.75V6.25Z`,fill:`currentColor`,fillRule:`evenodd`})}),DownloadIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M8.75 1V1.75V8.68934L10.7197 6.71967L11.25 6.18934L12.3107 7.25L11.7803 7.78033L8.70711 10.8536C8.31658 11.2441 7.68342 11.2441 7.29289 10.8536L4.21967 7.78033L3.68934 7.25L4.75 6.18934L5.28033 6.71967L7.25 8.68934V1.75V1H8.75ZM13.5 9.25V13.5H2.5V9.25V8.5H1V9.25V14C1 14.5523 1.44771 15 2 15H14C14.5523 15 15 14.5523 15 14V9.25V8.5H13.5V9.25Z`,fill:`currentColor`,fillRule:`evenodd`})}),ExternalLinkIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M13.5 10.25V13.25C13.5 13.3881 13.3881 13.5 13.25 13.5H2.75C2.61193 13.5 2.5 13.3881 2.5 13.25L2.5 2.75C2.5 2.61193 2.61193 2.5 2.75 2.5H5.75H6.5V1H5.75H2.75C1.7835 1 1 1.7835 1 2.75V13.25C1 14.2165 1.7835 15 2.75 15H13.25C14.2165 15 15 14.2165 15 13.25V10.25V9.5H13.5V10.25ZM9 1H9.75H14.2495C14.6637 1 14.9995 1.33579 14.9995 1.75V6.25V7H13.4995V6.25V3.56066L8.53033 8.52978L8 9.06011L6.93934 7.99945L7.46967 7.46912L12.4388 2.5H9.75H9V1Z`,fill:`currentColor`,fillRule:`evenodd`})}),Loader2Icon:e=>(0,T.jsxs)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:[(0,T.jsx)(`path`,{d:`M8 0V4`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M8 16V12`,opacity:`0.5`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M3.29773 1.52783L5.64887 4.7639`,opacity:`0.9`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M12.7023 1.52783L10.3511 4.7639`,opacity:`0.1`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M12.7023 14.472L10.3511 11.236`,opacity:`0.4`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M3.29773 14.472L5.64887 11.236`,opacity:`0.6`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M15.6085 5.52783L11.8043 6.7639`,opacity:`0.2`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M0.391602 10.472L4.19583 9.23598`,opacity:`0.7`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M15.6085 10.4722L11.8043 9.2361`,opacity:`0.3`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M0.391602 5.52783L4.19583 6.7639`,opacity:`0.8`,stroke:`currentColor`,strokeWidth:`1.5`})]}),Maximize2Icon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M1 5.25V6H2.5V5.25V2.5H5.25H6V1H5.25H2C1.44772 1 1 1.44772 1 2V5.25ZM5.25 14.9994H6V13.4994H5.25H2.5V10.7494V9.99939H1V10.7494V13.9994C1 14.5517 1.44772 14.9994 2 14.9994H5.25ZM15 10V10.75V14C15 14.5523 14.5523 15 14 15H10.75H10V13.5H10.75H13.5V10.75V10H15ZM10.75 1H10V2.5H10.75H13.5V5.25V6H15V5.25V2C15 1.44772 14.5523 1 14 1H10.75Z`,fill:`currentColor`,fillRule:`evenodd`})}),RotateCcwIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M13.5 8C13.5 4.96643 11.0257 2.5 7.96452 2.5C5.42843 2.5 3.29365 4.19393 2.63724 6.5H5.25H6V8H5.25H0.75C0.335787 8 0 7.66421 0 7.25V2.75V2H1.5V2.75V5.23347C2.57851 2.74164 5.06835 1 7.96452 1C11.8461 1 15 4.13001 15 8C15 11.87 11.8461 15 7.96452 15C5.62368 15 3.54872 13.8617 2.27046 12.1122L1.828 11.5066L3.03915 10.6217L3.48161 11.2273C4.48831 12.6051 6.12055 13.5 7.96452 13.5C11.0257 13.5 13.5 11.0336 13.5 8Z`,fill:`currentColor`,fillRule:`evenodd`})}),XIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M12.4697 13.5303L13 14.0607L14.0607 13L13.5303 12.4697L9.06065 7.99999L13.5303 3.53032L14.0607 2.99999L13 1.93933L12.4697 2.46966L7.99999 6.93933L3.53032 2.46966L2.99999 1.93933L1.93933 2.99999L2.46966 3.53032L6.93933 7.99999L2.46966 12.4697L1.93933 13L2.99999 14.0607L3.53032 13.5303L7.99999 9.06065L12.4697 13.5303Z`,fill:`currentColor`,fillRule:`evenodd`})}),ZoomInIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H5.875V4.75V4.125H7.125V4.75V5.875H8.25H8.875V7.125H8.25H7.125V8.25V8.875H5.875V8.25V7.125H4.75H4.125V5.875Z`,fill:`currentColor`,fillRule:`evenodd`})}),ZoomOutIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H8.25H8.875V7.125H8.25H4.75H4.125V5.875Z`,fill:`currentColor`,fillRule:`evenodd`})})},T4=(0,d.createContext)(w4),E4=(e,t)=>{if(e===t)return!0;if(!(e&&t))return e===t;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>e[n]===t[n])},D4=({icons:e,children:t})=>{let n=(0,d.useRef)(e),r=(0,d.useRef)(e?{...w4,...e}:w4);E4(n.current,e)||(n.current=e,r.current=e?{...w4,...e}:w4);let i=r.current;return(0,T.jsx)(T4.Provider,{value:i,children:t})},O4=()=>(0,d.useContext)(T4),k4={copyCode:`Copy Code`,downloadFile:`Download file`,downloadDiagram:`Download diagram`,downloadDiagramAsSvg:`Download diagram as SVG`,downloadDiagramAsPng:`Download diagram as PNG`,downloadDiagramAsMmd:`Download diagram as MMD`,viewFullscreen:`View fullscreen`,exitFullscreen:`Exit fullscreen`,mermaidFormatSvg:`SVG`,mermaidFormatPng:`PNG`,mermaidFormatMmd:`MMD`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,resetView:`Reset zoom and pan`,copyTable:`Copy table`,copyTableAsMarkdown:`Copy table as Markdown`,copyTableAsCsv:`Copy table as CSV`,copyTableAsTsv:`Copy table as TSV`,downloadTable:`Download table`,downloadTableAsCsv:`Download table as CSV`,downloadTableAsMarkdown:`Download table as Markdown`,tableFormatMarkdown:`Markdown`,tableFormatCsv:`CSV`,tableFormatTsv:`TSV`,imageNotAvailable:`Image not available`,downloadImage:`Download image`,openExternalLink:`Open external link?`,externalLinkWarning:`You're about to visit an external website.`,close:`Close`,copyLink:`Copy link`,copied:`Copied`,openLink:`Open link`},A4=(0,d.createContext)(k4),j4=()=>(0,d.useContext)(A4),M4=({onCopy:e,onError:t,timeout:n=2e3,children:r,className:i,code:a,...o})=>{let s=l4(),[c,l]=(0,d.useState)(!1),u=(0,d.useRef)(0),{code:f}=y4(),{isAnimating:p}=(0,d.useContext)($6),m=j4(),h=a??f,g=async()=>{var r;if(typeof window>`u`||!((r=navigator==null?void 0:navigator.clipboard)!=null&&r.writeText)){t?.(Error(`Clipboard API not available`));return}try{c||(await navigator.clipboard.writeText(h),l(!0),e?.(),u.current=window.setTimeout(()=>l(!1),n))}catch(e){t?.(e)}};(0,d.useEffect)(()=>()=>{window.clearTimeout(u.current)},[]);let _=O4(),v=c?_.CheckIcon:_.CopyIcon;return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{"aria-label":m.copyCode,className:s(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,i),"data-streamdown":`code-block-copy-button`,disabled:p,onClick:g,title:m.copyCode,type:`button`,...o,children:r??(0,T.jsx)(v,{"aria-hidden":`true`,size:14})}),c&&(0,T.jsx)(`output`,{"aria-live":`polite`,className:`sr-only`,children:m.copied})]})},N4=(e,t,n)=>{if(typeof e==`boolean`)return n;let r=e[t];if(typeof r!=`object`)return n;let i=r.download;return typeof i==`object`&&i.filename||n},P4={"1c":`1c`,"1c-query":`1cq`,abap:`abap`,"actionscript-3":`as`,ada:`ada`,adoc:`adoc`,"angular-html":`html`,"angular-ts":`ts`,apache:`conf`,apex:`cls`,apl:`apl`,applescript:`applescript`,ara:`ara`,asciidoc:`adoc`,asm:`asm`,astro:`astro`,awk:`awk`,ballerina:`bal`,bash:`sh`,bat:`bat`,batch:`bat`,be:`be`,beancount:`beancount`,berry:`berry`,bibtex:`bib`,bicep:`bicep`,blade:`blade.php`,bsl:`bsl`,c:`c`,"c#":`cs`,"c++":`cpp`,cadence:`cdc`,cairo:`cairo`,cdc:`cdc`,clarity:`clar`,clj:`clj`,clojure:`clj`,"closure-templates":`soy`,cmake:`cmake`,cmd:`cmd`,cobol:`cob`,codeowners:`CODEOWNERS`,codeql:`ql`,coffee:`coffee`,coffeescript:`coffee`,"common-lisp":`lisp`,console:`sh`,coq:`v`,cpp:`cpp`,cql:`cql`,crystal:`cr`,cs:`cs`,csharp:`cs`,css:`css`,csv:`csv`,cue:`cue`,cypher:`cql`,d:`d`,dart:`dart`,dax:`dax`,desktop:`desktop`,diff:`diff`,docker:`dockerfile`,dockerfile:`dockerfile`,dotenv:`env`,"dream-maker":`dm`,edge:`edge`,elisp:`el`,elixir:`ex`,elm:`elm`,"emacs-lisp":`el`,erb:`erb`,erl:`erl`,erlang:`erl`,f:`f`,"f#":`fs`,f03:`f03`,f08:`f08`,f18:`f18`,f77:`f77`,f90:`f90`,f95:`f95`,fennel:`fnl`,fish:`fish`,fluent:`ftl`,for:`for`,"fortran-fixed-form":`f`,"fortran-free-form":`f90`,fs:`fs`,fsharp:`fs`,fsl:`fsl`,ftl:`ftl`,gdresource:`tres`,gdscript:`gd`,gdshader:`gdshader`,genie:`gs`,gherkin:`feature`,"git-commit":`gitcommit`,"git-rebase":`gitrebase`,gjs:`js`,gleam:`gleam`,"glimmer-js":`js`,"glimmer-ts":`ts`,glsl:`glsl`,gnuplot:`plt`,go:`go`,gql:`gql`,graphql:`graphql`,groovy:`groovy`,gts:`gts`,hack:`hack`,haml:`haml`,handlebars:`hbs`,haskell:`hs`,haxe:`hx`,hbs:`hbs`,hcl:`hcl`,hjson:`hjson`,hlsl:`hlsl`,hs:`hs`,html:`html`,"html-derivative":`html`,http:`http`,hxml:`hxml`,hy:`hy`,imba:`imba`,ini:`ini`,jade:`jade`,java:`java`,javascript:`js`,jinja:`jinja`,jison:`jison`,jl:`jl`,js:`js`,json:`json`,json5:`json5`,jsonc:`jsonc`,jsonl:`jsonl`,jsonnet:`jsonnet`,jssm:`jssm`,jsx:`jsx`,julia:`jl`,kotlin:`kt`,kql:`kql`,kt:`kt`,kts:`kts`,kusto:`kql`,latex:`tex`,lean:`lean`,lean4:`lean`,less:`less`,liquid:`liquid`,lisp:`lisp`,lit:`lit`,llvm:`ll`,log:`log`,logo:`logo`,lua:`lua`,luau:`luau`,make:`mak`,makefile:`mak`,markdown:`md`,marko:`marko`,matlab:`m`,md:`md`,mdc:`mdc`,mdx:`mdx`,mediawiki:`wiki`,mermaid:`mmd`,mips:`s`,mipsasm:`s`,mmd:`mmd`,mojo:`mojo`,move:`move`,nar:`nar`,narrat:`narrat`,nextflow:`nf`,nf:`nf`,nginx:`conf`,nim:`nim`,nix:`nix`,nu:`nu`,nushell:`nu`,objc:`m`,"objective-c":`m`,"objective-cpp":`mm`,ocaml:`ml`,pascal:`pas`,perl:`pl`,perl6:`p6`,php:`php`,plsql:`pls`,po:`po`,polar:`polar`,postcss:`pcss`,pot:`pot`,potx:`potx`,powerquery:`pq`,powershell:`ps1`,prisma:`prisma`,prolog:`pl`,properties:`properties`,proto:`proto`,protobuf:`proto`,ps:`ps`,ps1:`ps1`,pug:`pug`,puppet:`pp`,purescript:`purs`,py:`py`,python:`py`,ql:`ql`,qml:`qml`,qmldir:`qmldir`,qss:`qss`,r:`r`,racket:`rkt`,raku:`raku`,razor:`cshtml`,rb:`rb`,reg:`reg`,regex:`regex`,regexp:`regexp`,rel:`rel`,riscv:`s`,rs:`rs`,rst:`rst`,ruby:`rb`,rust:`rs`,sas:`sas`,sass:`sass`,scala:`scala`,scheme:`scm`,scss:`scss`,sdbl:`sdbl`,sh:`sh`,shader:`shader`,shaderlab:`shader`,shell:`sh`,shellscript:`sh`,shellsession:`sh`,smalltalk:`st`,solidity:`sol`,soy:`soy`,sparql:`rq`,spl:`spl`,splunk:`spl`,sql:`sql`,"ssh-config":`config`,stata:`do`,styl:`styl`,stylus:`styl`,svelte:`svelte`,swift:`swift`,"system-verilog":`sv`,systemd:`service`,talon:`talon`,talonscript:`talon`,tasl:`tasl`,tcl:`tcl`,templ:`templ`,terraform:`tf`,tex:`tex`,tf:`tf`,tfvars:`tfvars`,toml:`toml`,ts:`ts`,"ts-tags":`ts`,tsp:`tsp`,tsv:`tsv`,tsx:`tsx`,turtle:`ttl`,twig:`twig`,typ:`typ`,typescript:`ts`,typespec:`tsp`,typst:`typ`,v:`v`,vala:`vala`,vb:`vb`,verilog:`v`,vhdl:`vhdl`,vim:`vim`,viml:`vim`,vimscript:`vim`,vue:`vue`,"vue-html":`html`,"vue-vine":`vine`,vy:`vy`,vyper:`vy`,wasm:`wasm`,wenyan:`wy`,wgsl:`wgsl`,wiki:`wiki`,wikitext:`wiki`,wit:`wit`,wl:`wl`,wolfram:`wl`,xml:`xml`,xsl:`xsl`,yaml:`yaml`,yml:`yml`,zenscript:`zs`,zig:`zig`,zsh:`zsh`,文言:`wy`},F4=({onDownload:e,onError:t,language:n,children:r,className:i,code:a,...o})=>{let s=l4(),{code:c}=y4(),{isAnimating:l,controls:u}=(0,d.useContext)($6),f=j4(),p=O4(),m=a??c,h=n&&n in P4?P4[n]:`txt`,g=`${N4(u,`code`,`file`)}.${h}`;return(0,T.jsx)(`button`,{"aria-label":f.downloadFile,className:s(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,i),"data-streamdown":`code-block-download-button`,disabled:l,onClick:()=>{try{s4(g,m,`text/plain`),e?.()}catch(e){t?.(e)}},title:f.downloadFile,type:`button`,...o,children:r??(0,T.jsx)(p.DownloadIcon,{size:14})})},I4=()=>{let{Loader2Icon:e}=O4(),t=l4();return(0,T.jsxs)(`div`,{className:t(`w-full divide-y divide-border overflow-hidden rounded-xl border border-border`),children:[(0,T.jsx)(`div`,{className:t(`h-[46px] w-full bg-muted/80`)}),(0,T.jsx)(`div`,{className:t(`flex w-full items-center justify-center p-4`),children:(0,T.jsx)(e,{className:t(`size-4 animate-spin`)})})]})},L4=/\.[^/.]+$/,R4=({node:e,className:t,src:n,alt:r,onLoad:i,onError:a,showControls:o=!0,showDownloadControl:s=!0,...c})=>{let{DownloadIcon:l}=O4(),u=l4(),f=(0,d.useRef)(null),[p,m]=(0,d.useState)(!1),[h,g]=(0,d.useState)(!1),_=j4(),v=c.width!=null||c.height!=null,y=(p||v)&&!h&&o&&s,b=h&&!v;(0,d.useEffect)(()=>{let e=f.current;if(e!=null&&e.complete){let t=e.naturalWidth>0;m(t),g(!t)}},[]);let x=(0,d.useCallback)(e=>{m(!0),g(!1),i?.(e)},[i]),S=(0,d.useCallback)(e=>{m(!1),g(!0),a?.(e)},[a]),C=async()=>{if(n)try{let e=await(await fetch(n)).blob(),t=new URL(n,window.location.origin).pathname.split(`/`).pop()||``,i=t.split(`.`).pop(),a=t.includes(`.`)&&i!==void 0&&i.length<=4,o=``;if(a)o=t;else{let n=e.type,i=`png`;n.includes(`jpeg`)||n.includes(`jpg`)?i=`jpg`:n.includes(`png`)?i=`png`:n.includes(`svg`)?i=`svg`:n.includes(`gif`)?i=`gif`:n.includes(`webp`)&&(i=`webp`),o=`${(r||t||`image`).replace(L4,``)}.${i}`}s4(o,e,e.type)}catch{window.open(n,`_blank`)}};return n?(0,T.jsxs)(`div`,{className:u(`group relative my-4 inline-block`),"data-streamdown":`image-wrapper`,children:[(0,T.jsx)(`img`,{alt:r,className:u(`max-w-full rounded-lg`,b&&`hidden`,t),"data-streamdown":`image`,onError:S,onLoad:x,ref:f,src:n,...c}),b&&(0,T.jsx)(`span`,{className:u(`text-muted-foreground text-xs italic`),"data-streamdown":`image-fallback`,children:_.imageNotAvailable}),o&&(0,T.jsx)(`div`,{className:u(`pointer-events-none absolute inset-0 hidden rounded-lg bg-black/10 group-hover:block`),"data-streamdown":`image-overlay`}),y&&(0,T.jsx)(`button`,{className:u(`absolute right-2 bottom-2 flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-border bg-background/90 shadow-sm backdrop-blur-sm transition-all duration-200 hover:bg-background`,`opacity-0 group-hover:opacity-100`),onClick:C,title:_.downloadImage,type:`button`,children:(0,T.jsx)(l,{size:14})})]}):null},z4=0,B4=()=>{z4+=1,z4===1&&(document.body.style.overflow=`hidden`)},V4=()=>{z4=Math.max(0,z4-1),z4===0&&(document.body.style.overflow=``)},H4=({url:e,isOpen:t,onClose:n,onConfirm:r})=>{let{CheckIcon:i,CopyIcon:a,ExternalLinkIcon:o,XIcon:s}=O4(),c=l4(),[l,u]=(0,d.useState)(!1),f=j4(),p=(0,d.useCallback)(async()=>{try{await navigator.clipboard.writeText(e),u(!0),setTimeout(()=>u(!1),2e3)}catch{}},[e]),m=(0,d.useCallback)(()=>{r(),n()},[r,n]);if((0,d.useEffect)(()=>{if(t){B4();let e=e=>{e.key===`Escape`&&n()};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e),V4()}}},[t,n]),!t||typeof document>`u`)return null;let h=(0,T.jsx)(`div`,{className:c(`fixed inset-0 z-50 flex items-center justify-center bg-background/50 backdrop-blur-sm`),"data-streamdown":`link-safety-modal`,onClick:n,onKeyDown:e=>{e.key===`Escape`&&n()},role:`button`,tabIndex:0,children:(0,T.jsxs)(`div`,{className:c(`relative mx-4 flex w-full max-w-md flex-col gap-4 rounded-xl border bg-background p-6 shadow-lg`),onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),role:`presentation`,children:[(0,T.jsx)(`button`,{className:c(`absolute top-4 right-4 rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground`),onClick:n,title:f.close,type:`button`,children:(0,T.jsx)(s,{size:16})}),(0,T.jsxs)(`div`,{className:c(`flex flex-col gap-2`),children:[(0,T.jsxs)(`div`,{className:c(`flex items-center gap-2 font-semibold text-lg`),children:[(0,T.jsx)(o,{size:20}),(0,T.jsx)(`span`,{children:f.openExternalLink})]}),(0,T.jsx)(`p`,{className:c(`text-muted-foreground text-sm`),children:f.externalLinkWarning})]}),(0,T.jsx)(`div`,{className:c(`break-all rounded-md bg-muted p-3 font-mono text-sm`,e.length>100&&`max-h-32 overflow-y-auto`),children:e}),(0,T.jsxs)(`div`,{className:c(`flex gap-2`),children:[(0,T.jsx)(`button`,{className:c(`flex flex-1 items-center justify-center gap-2 rounded-md border bg-background px-4 py-2 font-medium text-sm transition-all hover:bg-muted`),onClick:p,type:`button`,children:l?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(i,{size:14}),(0,T.jsx)(`span`,{children:f.copied})]}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(a,{size:14}),(0,T.jsx)(`span`,{children:f.copyLink})]})}),(0,T.jsxs)(`button`,{className:c(`flex flex-1 items-center justify-center gap-2 rounded-md bg-primary px-4 py-2 font-medium text-primary-foreground text-sm transition-all hover:bg-primary/90`),onClick:m,type:`button`,children:[(0,T.jsx)(o,{size:14}),(0,T.jsx)(`span`,{children:f.openLink})]})]})]})});return(0,ar.createPortal)(h,document.body)},U4=(0,d.createContext)(null),W4=()=>(0,d.useContext)(U4),G4=()=>W4()?.code??null,K4=()=>W4()?.mermaid??null,q4=e=>{var t;let n=W4();return n!=null&&n.renderers&&e&&(t=n.renderers.find(t=>Array.isArray(t.language)?t.language.includes(e):t.language===e))!=null?t:null},J4=e=>{if(typeof DOMParser>`u`||typeof XMLSerializer>`u`)return e;let t=new DOMParser().parseFromString(e,`text/html`).querySelector(`svg`);return t?new XMLSerializer().serializeToString(t):e},Y4=(e,t)=>new Promise((t,n)=>{let r=`data:image/svg+xml;base64,`+btoa(unescape(encodeURIComponent(e))),i=new Image;i.crossOrigin=`anonymous`,i.onload=()=>{let e=document.createElement(`canvas`),r=i.width*5,a=i.height*5;e.width=r,e.height=a;let o=e.getContext(`2d`);if(!o){n(Error(`Failed to create 2D canvas context for PNG export`));return}o.drawImage(i,0,0,r,a),e.toBlob(e=>{if(!e){n(Error(`Failed to create PNG blob`));return}t(e)},`image/png`)},i.onerror=()=>n(Error(`Failed to load SVG image`)),i.src=r}),X4=({chart:e,children:t,className:n,onDownload:r,config:i,onError:a})=>{let o=l4(),[s,c]=(0,d.useState)(!1),l=(0,d.useRef)(null),{isAnimating:u,controls:f}=(0,d.useContext)($6),p=O4(),m=K4(),h=j4(),g=N4(f,`mermaid`,`diagram`),_=async t=>{try{if(t===`mmd`){s4(`${g}.mmd`,e,`text/plain`),c(!1),r?.(t);return}if(!m){a?.(Error(`Mermaid plugin not available`));return}let n=m.getMermaid(i),o=e.split(``).reduce((e,t)=>(e<<5)-e+t.charCodeAt(0)|0,0),s=`mermaid-${Math.abs(o)}-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,{svg:l}=await n.render(s,e);if(!l){a?.(Error(`SVG not found. Please wait for the diagram to render.`));return}let u=J4(l);if(t===`svg`){s4(`${g}.svg`,u,`image/svg+xml`),c(!1),r?.(t);return}if(t===`png`){let e=await Y4(u);s4(`${g}.png`,e,`image/png`),r?.(t),c(!1);return}}catch(e){a?.(e)}};return(0,d.useEffect)(()=>{let e=e=>{let t=e.composedPath();l.current&&!t.includes(l.current)&&c(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[]),(0,T.jsxs)(`div`,{className:o(`relative`),ref:l,children:[(0,T.jsx)(`button`,{"aria-label":h.downloadDiagram,className:o(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,n),disabled:u,onClick:()=>c(!s),title:h.downloadDiagram,type:`button`,children:t??(0,T.jsx)(p.DownloadIcon,{"aria-hidden":`true`,size:14})}),s?(0,T.jsxs)(`div`,{className:o(`absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg`),children:[(0,T.jsx)(`button`,{"aria-label":h.downloadDiagramAsSvg,className:o(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`svg`),title:h.downloadDiagramAsSvg,type:`button`,children:h.mermaidFormatSvg}),(0,T.jsx)(`button`,{"aria-label":h.downloadDiagramAsPng,className:o(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`png`),title:h.downloadDiagramAsPng,type:`button`,children:h.mermaidFormatPng}),(0,T.jsx)(`button`,{"aria-label":h.downloadDiagramAsMmd,className:o(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`mmd`),title:h.downloadDiagramAsMmd,type:`button`,children:h.mermaidFormatMmd})]}):null]})},Z4=({chart:e,config:t,onFullscreen:n,onExit:r,className:i,...a})=>{let{Maximize2Icon:o,XIcon:s}=O4(),c=l4(),[l,u]=(0,d.useState)(!1),{isAnimating:f,controls:p}=(0,d.useContext)($6),m=j4(),h=(()=>{if(typeof p==`boolean`)return p;let e=p.mermaid;return e===!1?!1:e===!0||e===void 0||e.panZoom!==!1})(),g=(()=>{if(typeof p==`boolean`)return p;let e=p.mermaid;return e===!1?!1:e===!0||e===void 0||e.download!==!1})(),_=(()=>{if(typeof p==`boolean`)return p;let e=p.mermaid;return e===!1?!1:e===!0||e===void 0||e.copy!==!1})(),v=()=>{u(!l)};return(0,d.useEffect)(()=>{if(l){B4();let e=e=>{e.key===`Escape`&&u(!1)};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e),V4()}}},[l]),(0,d.useEffect)(()=>{l?n?.():r&&r()},[l,n,r]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{className:c(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,i),disabled:f,onClick:v,title:m.viewFullscreen,type:`button`,...a,"aria-label":m.viewFullscreen,children:(0,T.jsx)(o,{"aria-hidden":`true`,size:14})}),l?(0,ar.createPortal)((0,T.jsxs)(`div`,{"aria-label":m.viewFullscreen,"aria-modal":`true`,className:c(`fixed inset-0 z-50 flex items-center justify-center bg-background/95 backdrop-blur-sm`),"data-streamdown":`mermaid-fullscreen`,onClick:v,onKeyDown:e=>{e.key===`Escape`&&v()},role:`dialog`,children:[(0,T.jsxs)(`div`,{className:c(`absolute top-4 right-4 z-10 flex items-center gap-1`),onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),role:`presentation`,children:[g?(0,T.jsx)(X4,{chart:e,config:t}):null,_?(0,T.jsx)(M4,{code:e}):null,(0,T.jsx)(`button`,{"aria-label":m.exitFullscreen,className:c(`rounded-md p-2 text-muted-foreground transition-all hover:bg-muted hover:text-foreground`),onClick:v,title:m.exitFullscreen,type:`button`,children:(0,T.jsx)(s,{"aria-hidden":`true`,size:20})})]}),(0,T.jsx)(`div`,{className:c(`flex size-full items-center justify-center p-4`),onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),role:`presentation`,children:(0,T.jsx)(r8,{chart:e,className:c(`size-full [&_svg]:h-auto [&_svg]:w-auto`),config:t,fullscreen:!0,showControls:h})})]}),document.body):null]})};function Q4(e){if(e.nodeType===Node.TEXT_NODE)return e.textContent??``;if(e.nodeType!==Node.ELEMENT_NODE)return``;let t=e;return t.tagName===`BR`?`
442
+ `:Array.from(t.childNodes).map(Q4).join(``)}var $4=e=>{let t=[],n=[],r=e.querySelectorAll(`thead th`);for(let e of r)t.push(Q4(e).trim());let i=e.querySelectorAll(`tbody tr`);for(let e of i){let t=[],r=e.querySelectorAll(`td`);for(let e of r)t.push(Q4(e).trim());n.push(t)}return{headers:t,rows:n}},e3=e=>{if(typeof e!=`object`)return`,`;let t=e.table;return typeof t==`object`?t.csvSeparator??`,`:`,`},t3=(e,t=`,`)=>{let n;n=t===`auto`?Intl.NumberFormat().format(1.1).includes(`,`)?`;`:`,`:t;let{headers:r,rows:i}=e,a=e=>{let t=!1;for(let r of e)if(r===n||r===`"`||r===`
443
443
  `||r===`\r`){t=!0;break}return t?`"${e.replace(/"/g,`""`)}"`:e},o=r.length>0?i.length+1:i.length,s=Array(o),c=0;r.length>0&&(s[c]=r.map(a).join(n),c+=1);for(let e of i)s[c]=e.map(a).join(n),c+=1;return s.join(`
444
- `)},$4=e=>{let{headers:t,rows:n}=e,r=e=>{let t=!1;for(let n of e)if(n===` `||n===`
444
+ `)},n3=e=>{let{headers:t,rows:n}=e,r=e=>{let t=!1;for(let n of e)if(n===` `||n===`
445
445
  `||n===`\r`){t=!0;break}if(!t)return e;let n=[];for(let t of e)t===` `?n.push(`\\t`):t===`
446
446
  `?n.push(`\\n`):t===`\r`?n.push(`\\r`):n.push(t);return n.join(``)},i=t.length>0?n.length+1:n.length,a=Array(i),o=0;t.length>0&&(a[o]=t.map(r).join(` `),o+=1);for(let e of n)a[o]=e.map(r).join(` `),o+=1;return a.join(`
447
- `)},e3=e=>{let t=!1;for(let n of e)if(n===`\\`||n===`|`||n===`
447
+ `)},r3=e=>{let t=!1;for(let n of e)if(n===`\\`||n===`|`||n===`
448
448
  `){t=!0;break}if(!t)return e;let n=[];for(let t of e)t===`\\`?n.push(`\\\\`):t===`|`?n.push(`\\|`):t===`
449
- `?n.push(`<br>`):n.push(t);return n.join(``)},t3=e=>{let{headers:t,rows:n}=e;if(t.length===0)return``;let r=Array(n.length+2),i=0,a=t.map(e=>e3(e));r[i]=`| ${a.join(` | `)} |`,i+=1;let o=Array(t.length);for(let e=0;e<t.length;e+=1)o[e]=`---`;r[i]=`| ${o.join(` | `)} |`,i+=1;for(let e of n)if(e.length<t.length){let n=Array(t.length);for(let r=0;r<t.length;r+=1)n[r]=r<e.length?e3(e[r]):``;r[i]=`| ${n.join(` | `)} |`,i+=1}else{let t=e.map(e=>e3(e));r[i]=`| ${t.join(` | `)} |`,i+=1}return r.join(`
450
- `)},n3=({children:e,className:t,onCopy:n,onError:r,timeout:i=2e3})=>{let a=o4(),[o,s]=(0,d.useState)(!1),[c,l]=(0,d.useState)(!1),u=(0,d.useRef)(null),f=(0,d.useRef)(0),{isAnimating:p,controls:m}=(0,d.useContext)(X6),h=O4(),g=Z4(m),_=async e=>{var t;if(typeof window>`u`||!((t=navigator==null?void 0:navigator.clipboard)!=null&&t.write)){r?.(Error(`Clipboard API not available`));return}try{let t=(u.current?.closest(`[data-streamdown="table-wrapper"]`))?.querySelector(`table`);if(!t){r?.(Error(`Table not found`));return}let a=X4(t),o=``;o=e===`csv`?Q4(a,g):e===`tsv`?$4(a):t3(a);let c=new ClipboardItem({"text/plain":new Blob([o],{type:`text/plain`}),"text/html":new Blob([t.outerHTML],{type:`text/html`})});await navigator.clipboard.write([c]),l(!0),s(!1),n?.(e),f.current=window.setTimeout(()=>l(!1),i)}catch(e){r?.(e)}};(0,d.useEffect)(()=>{let e=e=>{let t=e.composedPath();u.current&&!t.includes(u.current)&&s(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e),window.clearTimeout(f.current)}},[]);let v=T4(),y=c?v.CheckIcon:v.CopyIcon;return(0,T.jsxs)(`div`,{className:a(`relative`),ref:u,children:[(0,T.jsx)(`button`,{className:a(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,t),disabled:p,onClick:()=>s(!o),title:h.copyTable,type:`button`,children:e??(0,T.jsx)(y,{height:14,width:14})}),o?(0,T.jsxs)(`div`,{className:a(`absolute top-full right-0 z-20 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg`),children:[(0,T.jsx)(`button`,{className:a(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`md`),title:h.copyTableAsMarkdown,type:`button`,children:h.tableFormatMarkdown}),(0,T.jsx)(`button`,{className:a(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`csv`),title:h.copyTableAsCsv,type:`button`,children:h.tableFormatCsv}),(0,T.jsx)(`button`,{className:a(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`tsv`),title:h.copyTableAsTsv,type:`button`,children:h.tableFormatTsv})]}):null]})},r3=({children:e,className:t,onDownload:n,onError:r})=>{let i=o4(),[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(null),{isAnimating:c,controls:l}=(0,d.useContext)(X6),u=O4(),f=T4(),p=Z4(l),m=e=>{try{let t=(s.current?.closest(`[data-streamdown="table-wrapper"]`))?.querySelector(`table`);if(!t){r?.(Error(`Table not found`));return}let i=X4(t),a=e===`csv`?Q4(i,p):t3(i),c=e===`csv`?`csv`:`md`;i4(`${A4(l,`table`,`table`)}.${c}`,a,e===`csv`?`text/csv`:`text/markdown`),o(!1),n?.(e)}catch(e){r?.(e)}};return(0,d.useEffect)(()=>{let e=e=>{let t=e.composedPath();s.current&&!t.includes(s.current)&&o(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[]),(0,T.jsxs)(`div`,{className:i(`relative`),ref:s,children:[(0,T.jsx)(`button`,{className:i(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,t),disabled:c,onClick:()=>o(!a),title:u.downloadTable,type:`button`,children:e??(0,T.jsx)(f.DownloadIcon,{size:14})}),a?(0,T.jsxs)(`div`,{className:i(`absolute top-full right-0 z-20 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg`),children:[(0,T.jsx)(`button`,{className:i(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>m(`csv`),title:u.downloadTableAsCsv,type:`button`,children:u.tableFormatCsv}),(0,T.jsx)(`button`,{className:i(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>m(`markdown`),title:u.downloadTableAsMarkdown,type:`button`,children:u.tableFormatMarkdown})]}):null]})},i3=({children:e,className:t,showCopy:n=!0,showDownload:r=!0})=>{let{Maximize2Icon:i,XIcon:a}=T4(),o=o4(),[s,c]=(0,d.useState)(!1),{isAnimating:l}=(0,d.useContext)(X6),u=O4(),f=()=>{c(!0)},p=()=>{c(!1)};return(0,d.useEffect)(()=>{if(s){L4();let e=e=>{e.key===`Escape`&&c(!1)};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e),R4()}}},[s]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{className:o(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,t),disabled:l,onClick:f,title:u.viewFullscreen,type:`button`,children:(0,T.jsx)(i,{size:14})}),s?(0,ar.createPortal)((0,T.jsx)(`div`,{"aria-label":u.viewFullscreen,"aria-modal":`true`,className:o(`fixed inset-0 z-50 flex flex-col bg-background`),"data-streamdown":`table-fullscreen`,onClick:p,onKeyDown:e=>{e.key===`Escape`&&p()},role:`dialog`,children:(0,T.jsxs)(`div`,{className:o(`flex h-full flex-col`),"data-streamdown":`table-wrapper`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),role:`presentation`,children:[(0,T.jsxs)(`div`,{className:o(`flex items-center justify-end gap-1 p-4`),children:[n?(0,T.jsx)(n3,{}):null,r?(0,T.jsx)(r3,{}):null,(0,T.jsx)(`button`,{className:o(`rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground`),onClick:p,title:u.exitFullscreen,type:`button`,children:(0,T.jsx)(a,{size:20})})]}),(0,T.jsx)(`div`,{className:o(`flex-1 overflow-auto p-4 pt-0 [&_thead]:sticky [&_thead]:top-0 [&_thead]:z-10`),children:(0,T.jsx)(`table`,{className:o(`w-full border-collapse border border-border`),"data-streamdown":`table`,children:e})})]})}),document.body):null]})},a3=({children:e,className:t,maxHeight:n,showControls:r,showCopy:i=!0,showDownload:a=!0,showFullscreen:o=!0,...s})=>{let c=o4(),{isAnimating:l}=(0,d.useContext)(X6),u=c4(n),f=l4(l,!!u,e),p=r&&i,m=r&&a,h=r&&o,g=p||m||h;return(0,T.jsxs)(`div`,{className:c(`my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2`),"data-streamdown":`table-wrapper`,children:[g?(0,T.jsxs)(`div`,{className:c(`flex items-center justify-end gap-1`),children:[p?(0,T.jsx)(n3,{}):null,m?(0,T.jsx)(r3,{}):null,h?(0,T.jsx)(i3,{showCopy:p,showDownload:m,children:e}):null]}):null,(0,T.jsx)(`div`,{className:c(`border-collapse overflow-x-auto overflow-y-auto rounded-md border border-border bg-background`),ref:f,style:u?{maxHeight:u}:void 0,children:(0,T.jsx)(`table`,{className:c(`w-full divide-y divide-border`,t),"data-streamdown":`table`,...s,children:e})})]})},o3=/startLine=(\d+)/,s3=/\bnoLineNumbers\b/,c3=(0,d.lazy)(()=>x2(()=>import(`./mermaid-HWGCJPDP-xCDkFi4-.js`).then(e=>({default:e.Mermaid})),[])),l3=/language-([^\s]+)/,u3=`node`;function d3(e,t){let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;let r=e,i=t;for(let e of n)if(e!==u3&&!Object.is(r[e],i[e]))return!1;return!0}function f3(e,t){return e?.properties?.metastring===t?.properties?.metastring}var p3=(e,t)=>typeof e==`boolean`?e:e[t]!==!1,m3=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.table;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},h3=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.code;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},g3=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.mermaid;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},_3=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.image;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},v3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`ol`,{className:i(`list-inside list-decimal whitespace-normal [li_&]:pl-6`,t),"data-streamdown":`ordered-list`,...r,children:e})},(e,t)=>d3(e,t));v3.displayName=`MarkdownOl`;var y3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`li`,{className:i(`py-1 [&>p]:inline`,t),"data-streamdown":`list-item`,...r,children:e})},(e,t)=>d3(e,t));y3.displayName=`MarkdownLi`;var b3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`ul`,{className:i(`list-inside list-disc whitespace-normal [li_&]:pl-6`,t),"data-streamdown":`unordered-list`,...r,children:e})},(e,t)=>d3(e,t));b3.displayName=`MarkdownUl`;var x3=(0,d.memo)(({className:e,node:t,...n})=>{let r=o4();return(0,T.jsx)(`hr`,{className:r(`my-6 border-border`,e),"data-streamdown":`horizontal-rule`,...n})},(e,t)=>d3(e,t));x3.displayName=`MarkdownHr`;var S3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`span`,{className:i(`font-semibold`,t),"data-streamdown":`strong`,...r,children:e})},(e,t)=>d3(e,t));S3.displayName=`MarkdownStrong`;var C3=(0,d.memo)(({children:e,className:t,href:n,node:r,...i})=>{let a=o4(),{linkSafety:o}=(0,d.useContext)(X6),[s,c]=(0,d.useState)(!1),l=n===`streamdown:incomplete-link`,u=(0,d.useCallback)(async e=>{if(!(!(o!=null&&o.enabled&&n)||l)){if(e.preventDefault(),o.onLinkCheck&&await o.onLinkCheck(n)){window.open(n,`_blank`,`noreferrer`);return}c(!0)}},[o,n,l]),f=(0,d.useCallback)(()=>{n&&window.open(n,`_blank`,`noreferrer`)},[n]),p=(0,d.useCallback)(()=>{c(!1)},[]),m={url:n??``,isOpen:s,onClose:p,onConfirm:f};return o!=null&&o.enabled&&n?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{className:a(`wrap-anywhere appearance-none text-left font-medium text-primary underline`,t),"data-incomplete":l,"data-streamdown":`link`,onClick:u,type:`button`,children:e}),o.renderModal?o.renderModal(m):(0,T.jsx)(z4,{...m})]}):(0,T.jsx)(`a`,{className:a(`wrap-anywhere font-medium text-primary underline`,t),"data-incomplete":l,"data-streamdown":`link`,href:n,rel:`noreferrer`,target:`_blank`,...i,children:e})},(e,t)=>d3(e,t));C3.displayName=`MarkdownA`;var w3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`h1`,{className:i(`mt-6 mb-2 font-semibold text-3xl`,t),"data-streamdown":`heading-1`,...r,children:e})},(e,t)=>d3(e,t));w3.displayName=`MarkdownH1`;var T3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`h2`,{className:i(`mt-6 mb-2 font-semibold text-2xl`,t),"data-streamdown":`heading-2`,...r,children:e})},(e,t)=>d3(e,t));T3.displayName=`MarkdownH2`;var E3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`h3`,{className:i(`mt-6 mb-2 font-semibold text-xl`,t),"data-streamdown":`heading-3`,...r,children:e})},(e,t)=>d3(e,t));E3.displayName=`MarkdownH3`;var D3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`h4`,{className:i(`mt-6 mb-2 font-semibold text-lg`,t),"data-streamdown":`heading-4`,...r,children:e})},(e,t)=>d3(e,t));D3.displayName=`MarkdownH4`;var O3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`h5`,{className:i(`mt-6 mb-2 font-semibold text-base`,t),"data-streamdown":`heading-5`,...r,children:e})},(e,t)=>d3(e,t));O3.displayName=`MarkdownH5`;var k3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`h6`,{className:i(`mt-6 mb-2 font-semibold text-sm`,t),"data-streamdown":`heading-6`,...r,children:e})},(e,t)=>d3(e,t));k3.displayName=`MarkdownH6`;var A3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let{controls:i,tableMaxHeight:a}=(0,d.useContext)(X6),o=p3(i,`table`),s=m3(i,`copy`),c=m3(i,`download`),l=m3(i,`fullscreen`);return(0,T.jsx)(a3,{className:t,maxHeight:a,showControls:o,showCopy:s,showDownload:c,showFullscreen:l,...r,children:e})},(e,t)=>d3(e,t));A3.displayName=`MarkdownTable`;var j3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`thead`,{className:i(`bg-muted/80`,t),"data-streamdown":`table-header`,...r,children:e})},(e,t)=>d3(e,t));j3.displayName=`MarkdownThead`;var M3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`tbody`,{className:i(`divide-y divide-border`,t),"data-streamdown":`table-body`,...r,children:e})},(e,t)=>d3(e,t));M3.displayName=`MarkdownTbody`;var N3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`tr`,{className:i(`border-border`,t),"data-streamdown":`table-row`,...r,children:e})},(e,t)=>d3(e,t));N3.displayName=`MarkdownTr`;var P3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`th`,{className:i(`whitespace-nowrap px-4 py-2 text-left font-semibold text-sm`,t),"data-streamdown":`table-header-cell`,...r,children:e})},(e,t)=>d3(e,t));P3.displayName=`MarkdownTh`;var F3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`td`,{className:i(`px-4 py-2 text-sm`,t),"data-streamdown":`table-cell`,...r,children:e})},(e,t)=>d3(e,t));F3.displayName=`MarkdownTd`;var I3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`blockquote`,{className:i(`my-4 border-muted-foreground/30 border-l-4 pl-4 text-muted-foreground italic`,t),"data-streamdown":`blockquote`,...r,children:e})},(e,t)=>d3(e,t));I3.displayName=`MarkdownBlockquote`;var L3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`sup`,{className:i(`text-sm`,t),"data-streamdown":`superscript`,...r,children:e})},(e,t)=>d3(e,t));L3.displayName=`MarkdownSup`;var R3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=o4();return(0,T.jsx)(`sub`,{className:i(`text-sm`,t),"data-streamdown":`subscript`,...r,children:e})},(e,t)=>d3(e,t));R3.displayName=`MarkdownSub`;var z3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{if(`data-footnotes`in r){let n=e=>{if(!(0,d.isValidElement)(e))return!1;let t=Array.isArray(e.props.children)?e.props.children:[e.props.children],n=!1,r=!1;for(let e of t)if(e){if(typeof e==`string`)e.trim()!==``&&(n=!0);else if((0,d.isValidElement)(e)){if(e.props?.[`data-footnote-backref`]!==void 0)r=!0;else{let t=Array.isArray(e.props.children)?e.props.children:[e.props.children];for(let e of t){if(typeof e==`string`&&e.trim()!==``){n=!0;break}if((0,d.isValidElement)(e)&&e.props?.[`data-footnote-backref`]===void 0){n=!0;break}}}}}return r&&!n},i=Array.isArray(e)?e.map(e=>{if(!(0,d.isValidElement)(e))return e;if(e.type===v3){let t=(Array.isArray(e.props.children)?e.props.children:[e.props.children]).filter(e=>!n(e));return t.length===0?null:{...e,props:{...e.props,children:t}}}return e}):e;return(Array.isArray(i)?i.some(e=>e!==null):i!==null)?(0,T.jsx)(`section`,{className:t,...r,children:i}):null}return(0,T.jsx)(`section`,{className:t,...r,children:e})},(e,t)=>d3(e,t));z3.displayName=`MarkdownSection`;var B3=(0,d.memo)(({node:e,className:t,children:n,...r})=>{let i=o4(),a=!(`data-block`in r),{mermaid:o,controls:s,lineNumbers:c}=(0,d.useContext)(X6),l=U4(),u=e4(),f=(t?.match(l3))?.at(1)??``,p=W4(f);if(a)return(0,T.jsx)(`code`,{className:i(`rounded bg-muted px-1.5 py-0.5 font-mono text-sm`,t),"data-streamdown":`inline-code`,...r,children:n});let m=e?.properties?.metastring,h=m?.match(o3),g=h?Number.parseInt(h[1],10):void 0,_=g!==void 0&&g>=1?g:void 0,v=!(m&&s3.test(m))&&c!==!1,y=``;if((0,d.isValidElement)(n)&&n.props&&typeof n.props==`object`&&`children`in n.props&&typeof n.props.children==`string`?y=n.props.children:typeof n==`string`&&(y=n),p){let e=p.component;return(0,T.jsx)(d.Suspense,{fallback:(0,T.jsx)(N4,{}),children:(0,T.jsx)(e,{code:y,isIncomplete:u,language:f,meta:m})})}if(f===`mermaid`&&l){let e=p3(s,`mermaid`),n=g3(s,`download`),r=g3(s,`copy`),a=g3(s,`fullscreen`),c=g3(s,`panZoom`),l=e&&(n||r||a);return(0,T.jsx)(d.Suspense,{fallback:(0,T.jsx)(N4,{}),children:(0,T.jsxs)(`div`,{className:i(`group relative my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2`,t),"data-streamdown":`mermaid-block`,children:[(0,T.jsx)(`div`,{className:i(`flex h-8 items-center text-muted-foreground text-xs`),children:(0,T.jsx)(`span`,{className:i(`ml-1 font-mono lowercase`),children:`mermaid`})}),l?(0,T.jsx)(`div`,{className:i(`pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end`),children:(0,T.jsxs)(`div`,{className:i(`pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur`),"data-streamdown":`mermaid-block-actions`,children:[n?(0,T.jsx)(q4,{chart:y,config:o?.config}):null,r?(0,T.jsx)(k4,{code:y}):null,a?(0,T.jsx)(J4,{chart:y,config:o?.config}):null]})}):null,(0,T.jsx)(`div`,{className:i(`rounded-md border border-border bg-background`),children:(0,T.jsx)(c3,{chart:y,config:o?.config,showControls:c})})]})})}let b=p3(s,`code`),x=h3(s,`download`),S=h3(s,`copy`),{"data-block":C,...w}=r;return(0,T.jsx)(b4,{className:t,code:y,isIncomplete:u,language:f,lineNumbers:v,startLine:_,...w,children:b?(0,T.jsxs)(T.Fragment,{children:[x?(0,T.jsx)(M4,{code:y,language:f}):null,S?(0,T.jsx)(k4,{}):null]}):null})},(e,t)=>d3(e,t)&&f3(e.node,t.node));B3.displayName=`MarkdownCode`;var V3=(0,d.memo)(({node:e,className:t,...n})=>{let{controls:r}=(0,d.useContext)(X6),i=p3(r,`image`),a=i&&_3(r,`download`);return(0,T.jsx)(F4,{className:t,node:e,showControls:i,showDownloadControl:a,...n})},(e,t)=>d3(e,t));V3.displayName=`MarkdownImg`;var H3=(0,d.memo)(({children:e,node:t,...n})=>{let r=(Array.isArray(e)?e:[e]).filter(e=>e!=null&&e!==``);if(r.length===1&&(0,d.isValidElement)(r[0])){let t=r[0].props.node?.tagName;if(t===`img`||t===`code`&&`data-block`in r[0].props)return(0,T.jsx)(T.Fragment,{children:e})}return(0,T.jsx)(`p`,{...n,children:e})},(e,t)=>d3(e,t));H3.displayName=`MarkdownParagraph`;var U3={ol:v3,li:y3,ul:b3,hr:x3,strong:S3,a:C3,h1:w3,h2:T3,h3:E3,h4:D3,h5:O3,h6:k3,table:A3,thead:j3,tbody:M3,tr:N3,th:P3,td:F3,blockquote:I3,code:B3,img:V3,pre:({children:e})=>(0,d.isValidElement)(e)?(0,d.cloneElement)(e,{"data-block":`true`}):e,sup:L3,sub:R3,p:H3,section:z3},W3=/[\u0590-\u08FF\uFB1D-\uFDFF\uFE70-\uFEFF]/,G3=/\p{L}/u;function K3(e){let t=e.replace(/(```|~~~)[\s\S]*?\1/g,``).replace(/^#{1,6}\s+/gm,``).replace(/(\*{1,3}|_{1,3})/g,``).replace(/`[^`]*`/g,``).replace(/\[([^\]]*)\]\([^)]*\)/g,`$1`).replace(/^[\s>*\-+\d.]+/gm,``),n,r=0,i=0;for(let e of t){if(W3.test(e)){n??=`rtl`,i+=1;continue}G3.test(e)&&(n??=`ltr`,r+=1)}return i>r?`rtl`:r>i?`ltr`:n??`ltr`}var q3=/^[ \t]{0,3}(`{3,}|~{3,})/,J3=/^\|?[ \t]*:?-{1,}:?[ \t]*(\|[ \t]*:?-{1,}:?[ \t]*)*\|?$/,Y3=e=>{let t=e.split(`
451
- `),n=null,r=0;for(let e of t){let t=q3.exec(e);if(n===null){if(t){let e=t[1];n=e[0],r=e.length}}else if(t){let e=t[1],i=e[0],a=e.length;i===n&&a>=r&&(n=null,r=0)}}return n!==null},X3=e=>{let t=e.split(`
452
- `);for(let e of t){let t=e.trim();if(t.length>0&&t.includes(`|`)&&J3.test(t))return!0}return!1},Z3=()=>e=>{rO(e,`html`,(e,t,n)=>{!n||typeof t!=`number`||(n.children[t]={type:`text`,value:e.value})})},Q3=[],$3={allowDangerousHtml:!0},e6=new WeakMap,t6=new class{constructor(){this.cache=new Map,this.keyCache=new WeakMap,this.maxSize=100}generateCacheKey(e){let t=this.keyCache.get(e);if(t)return t;let n=e.rehypePlugins,r=e.remarkPlugins,i=e.remarkRehypeOptions;if(!(n||r||i)){let t=`default`;return this.keyCache.set(e,t),t}let a=e=>{if(!e||e.length===0)return``;let t=``;for(let n=0;n<e.length;n+=1){let r=e[n];if(n>0&&(t+=`,`),Array.isArray(r)){let[e,n]=r;if(typeof e==`function`){let n=e6.get(e);n||(n=e.name,e6.set(e,n)),t+=n}else t+=String(e);t+=`:`,t+=JSON.stringify(n)}else if(typeof r==`function`){let e=e6.get(r);e||(e=r.name,e6.set(r,e)),t+=e}else t+=String(r)}return t},o=a(n),s=`${a(r)}::${o}::${i?JSON.stringify(i):``}`;return this.keyCache.set(e,s),s}get(e){let t=this.generateCacheKey(e),n=this.cache.get(t);return n&&(this.cache.delete(t),this.cache.set(t,n)),n}set(e,t){let n=this.generateCacheKey(e);if(this.cache.size>=this.maxSize){let e=this.cache.keys().next().value;e&&this.cache.delete(e)}this.cache.set(n,t)}clear(){this.cache.clear()}},n6=e=>{let t=r6(e),n=e.children||``;return u6(t.runSync(t.parse(n),n),e)},r6=e=>{let t=t6.get(e);if(t)return t;let n=a6(e);return t6.set(e,n),n},i6=e=>e.some(e=>Array.isArray(e)?e[0]===yB:e===yB),a6=e=>{let t=e.rehypePlugins||Q3,n=e.remarkPlugins||Q3,r=i6(t)?n:[...n,Z3],i=e.remarkRehypeOptions?{...$3,...e.remarkRehypeOptions}:$3;return VO().use(YE).use(r).use(pO,i).use(t)},o6=e=>e,s6=(e,t,n,r)=>{n?e.children.splice(t,1):e.children[t]={type:`text`,value:r}},c6=(e,t)=>{for(let n in JC)if(Object.hasOwn(JC,n)&&Object.hasOwn(e.properties,n)){let r=e.properties[n],i=JC[n];(i===null||i.includes(e.tagName))&&(e.properties[n]=t(String(r||``),n,e)??void 0)}},l6=(e,t,n,r,i,a)=>{let o=!1;return r?o=!r.includes(e.tagName):i&&(o=i.includes(e.tagName)),!o&&a&&typeof t==`number`&&(o=!a(e,t,n)),o},u6=(e,t)=>{let{allowElement:n,allowedElements:r,disallowedElements:i,skipHtml:a,unwrapDisallowed:o,urlTransform:s}=t;if(n||r||i||a||s){let t=s||o6;rO(e,(e,s,c)=>{if(e.type===`raw`&&c&&typeof s==`number`)return s6(c,s,a,e.value),s;if(e.type===`element`&&(c6(e,t),l6(e,s,c,r,i,n)&&c&&typeof s==`number`))return o&&e.children?c.children.splice(s,1,...e.children):c.children.splice(s,1),s})}return VC(e,{Fragment:T.Fragment,components:t.components,ignoreInvalidStyle:!0,jsx:T.jsx,jsxs:T.jsxs,passKeys:!0,passNode:!0})},d6=/\[\^[\w-]{1,200}\](?!:)/,f6=/\[\^[\w-]{1,200}\]:/,p6=/<([A-Za-z][\w:-]*)[\s>/]/,m6=new Set([`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`link`,`meta`,`param`,`source`,`track`,`wbr`]),h6=new Map,g6=new Map,_6=e=>{let t=e.toLowerCase(),n=h6.get(t);if(n)return n;let r=RegExp(`<${t}(?=[\\s>/])[^>]*>`,`gi`);return h6.set(t,r),r},v6=e=>{let t=e.toLowerCase(),n=g6.get(t);if(n)return n;let r=RegExp(`</${t}(?=[\\s>])[^>]*>`,`gi`);return g6.set(t,r),r},y6=(e,t)=>{if(m6.has(t.toLowerCase()))return 0;let n=e.match(_6(t));if(!n)return 0;let r=0;for(let e of n)e.trimEnd().endsWith(`/>`)||(r+=1);return r},b6=(e,t)=>{let n=e.match(v6(t));return n?n.length:0},x6=e=>{let t=0;for(let n=0;n<e.length-1;n+=1)e[n]===`$`&&e[n+1]===`$`&&(t+=1,n+=1);return t},S6=e=>{let t=d6.test(e),n=f6.test(e);if(t||n)return[e];let r=d2.lex(e,{gfm:!0}),i=[],a=[],o=!1;for(let e of r){let t=e.raw,n=i.length;if(a.length>0){i[n-1]+=t;let e=a.at(-1),r=y6(t,e),o=b6(t,e);for(let t=0;t<r;t+=1)a.push(e);for(let t=0;t<o;t+=1)a.length>0&&a.at(-1)===e&&a.pop();continue}if(e.type===`html`&&e.block){let e=t.match(p6);if(e){let n=e[1];y6(t,n)>b6(t,n)&&a.push(n)}}if(n>0&&!o){let e=i[n-1];if(x6(e)%2==1){i[n-1]=e+t;continue}}i.push(t),e.type!==`space`&&(o=e.type===`code`)}return i},C6=/^\n*/,w6=/\n*$/,T6=/\n\n/g,E6=(e,t,n)=>t.includes(`
453
- `)?`${e}${t.replace(T6,`
449
+ `?n.push(`<br>`):n.push(t);return n.join(``)},i3=e=>{let{headers:t,rows:n}=e;if(t.length===0)return``;let r=Array(n.length+2),i=0,a=t.map(e=>r3(e));r[i]=`| ${a.join(` | `)} |`,i+=1;let o=Array(t.length);for(let e=0;e<t.length;e+=1)o[e]=`---`;r[i]=`| ${o.join(` | `)} |`,i+=1;for(let e of n)if(e.length<t.length){let n=Array(t.length);for(let r=0;r<t.length;r+=1)n[r]=r<e.length?r3(e[r]):``;r[i]=`| ${n.join(` | `)} |`,i+=1}else{let t=e.map(e=>r3(e));r[i]=`| ${t.join(` | `)} |`,i+=1}return r.join(`
450
+ `)},a3=({children:e,className:t,onCopy:n,onError:r,timeout:i=2e3})=>{let a=l4(),[o,s]=(0,d.useState)(!1),[c,l]=(0,d.useState)(!1),u=(0,d.useRef)(null),f=(0,d.useRef)(0),{isAnimating:p,controls:m}=(0,d.useContext)($6),h=j4(),g=e3(m),_=async e=>{var t;if(typeof window>`u`||!((t=navigator==null?void 0:navigator.clipboard)!=null&&t.write)){r?.(Error(`Clipboard API not available`));return}try{let t=(u.current?.closest(`[data-streamdown="table-wrapper"]`))?.querySelector(`table`);if(!t){r?.(Error(`Table not found`));return}let a=$4(t),o=``;o=e===`csv`?t3(a,g):e===`tsv`?n3(a):i3(a);let c=new ClipboardItem({"text/plain":new Blob([o],{type:`text/plain`}),"text/html":new Blob([t.outerHTML],{type:`text/html`})});await navigator.clipboard.write([c]),l(!0),s(!1),n?.(e),f.current=window.setTimeout(()=>l(!1),i)}catch(e){r?.(e)}};(0,d.useEffect)(()=>{let e=e=>{let t=e.composedPath();u.current&&!t.includes(u.current)&&s(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e),window.clearTimeout(f.current)}},[]);let v=O4(),y=c?v.CheckIcon:v.CopyIcon;return(0,T.jsxs)(`div`,{className:a(`relative`),ref:u,children:[(0,T.jsx)(`button`,{className:a(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,t),disabled:p,onClick:()=>s(!o),title:h.copyTable,type:`button`,children:e??(0,T.jsx)(y,{height:14,width:14})}),o?(0,T.jsxs)(`div`,{className:a(`absolute top-full right-0 z-20 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg`),children:[(0,T.jsx)(`button`,{className:a(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`md`),title:h.copyTableAsMarkdown,type:`button`,children:h.tableFormatMarkdown}),(0,T.jsx)(`button`,{className:a(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`csv`),title:h.copyTableAsCsv,type:`button`,children:h.tableFormatCsv}),(0,T.jsx)(`button`,{className:a(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`tsv`),title:h.copyTableAsTsv,type:`button`,children:h.tableFormatTsv})]}):null]})},o3=({children:e,className:t,onDownload:n,onError:r})=>{let i=l4(),[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(null),{isAnimating:c,controls:l}=(0,d.useContext)($6),u=j4(),f=O4(),p=e3(l),m=e=>{try{let t=(s.current?.closest(`[data-streamdown="table-wrapper"]`))?.querySelector(`table`);if(!t){r?.(Error(`Table not found`));return}let i=$4(t),a=e===`csv`?t3(i,p):i3(i),c=e===`csv`?`csv`:`md`;s4(`${N4(l,`table`,`table`)}.${c}`,a,e===`csv`?`text/csv`:`text/markdown`),o(!1),n?.(e)}catch(e){r?.(e)}};return(0,d.useEffect)(()=>{let e=e=>{let t=e.composedPath();s.current&&!t.includes(s.current)&&o(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[]),(0,T.jsxs)(`div`,{className:i(`relative`),ref:s,children:[(0,T.jsx)(`button`,{className:i(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,t),disabled:c,onClick:()=>o(!a),title:u.downloadTable,type:`button`,children:e??(0,T.jsx)(f.DownloadIcon,{size:14})}),a?(0,T.jsxs)(`div`,{className:i(`absolute top-full right-0 z-20 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg`),children:[(0,T.jsx)(`button`,{className:i(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>m(`csv`),title:u.downloadTableAsCsv,type:`button`,children:u.tableFormatCsv}),(0,T.jsx)(`button`,{className:i(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>m(`markdown`),title:u.downloadTableAsMarkdown,type:`button`,children:u.tableFormatMarkdown})]}):null]})},s3=({children:e,className:t,showCopy:n=!0,showDownload:r=!0})=>{let{Maximize2Icon:i,XIcon:a}=O4(),o=l4(),[s,c]=(0,d.useState)(!1),{isAnimating:l}=(0,d.useContext)($6),u=j4(),f=()=>{c(!0)},p=()=>{c(!1)};return(0,d.useEffect)(()=>{if(s){B4();let e=e=>{e.key===`Escape`&&c(!1)};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e),V4()}}},[s]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{className:o(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,t),disabled:l,onClick:f,title:u.viewFullscreen,type:`button`,children:(0,T.jsx)(i,{size:14})}),s?(0,ar.createPortal)((0,T.jsx)(`div`,{"aria-label":u.viewFullscreen,"aria-modal":`true`,className:o(`fixed inset-0 z-50 flex flex-col bg-background`),"data-streamdown":`table-fullscreen`,onClick:p,onKeyDown:e=>{e.key===`Escape`&&p()},role:`dialog`,children:(0,T.jsxs)(`div`,{className:o(`flex h-full flex-col`),"data-streamdown":`table-wrapper`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),role:`presentation`,children:[(0,T.jsxs)(`div`,{className:o(`flex items-center justify-end gap-1 p-4`),children:[n?(0,T.jsx)(a3,{}):null,r?(0,T.jsx)(o3,{}):null,(0,T.jsx)(`button`,{className:o(`rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground`),onClick:p,title:u.exitFullscreen,type:`button`,children:(0,T.jsx)(a,{size:20})})]}),(0,T.jsx)(`div`,{className:o(`flex-1 overflow-auto p-4 pt-0 [&_thead]:sticky [&_thead]:top-0 [&_thead]:z-10`),children:(0,T.jsx)(`table`,{className:o(`w-full border-collapse border border-border`),"data-streamdown":`table`,children:e})})]})}),document.body):null]})},c3=({children:e,className:t,maxHeight:n,showControls:r,showCopy:i=!0,showDownload:a=!0,showFullscreen:o=!0,...s})=>{let c=l4(),{isAnimating:l}=(0,d.useContext)($6),u=d4(n),f=f4(l,!!u,e),p=r&&i,m=r&&a,h=r&&o,g=p||m||h;return(0,T.jsxs)(`div`,{className:c(`my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2`),"data-streamdown":`table-wrapper`,children:[g?(0,T.jsxs)(`div`,{className:c(`flex items-center justify-end gap-1`),children:[p?(0,T.jsx)(a3,{}):null,m?(0,T.jsx)(o3,{}):null,h?(0,T.jsx)(s3,{showCopy:p,showDownload:m,children:e}):null]}):null,(0,T.jsx)(`div`,{className:c(`border-collapse overflow-x-auto overflow-y-auto rounded-md border border-border bg-background`),ref:f,style:u?{maxHeight:u}:void 0,children:(0,T.jsx)(`table`,{className:c(`w-full divide-y divide-border`,t),"data-streamdown":`table`,...s,children:e})})]})},l3=/startLine=(\d+)/,u3=/\bnoLineNumbers\b/,d3=(0,d.lazy)(()=>w2(()=>import(`./mermaid-HWGCJPDP-Dul2LN5F.js`).then(e=>({default:e.Mermaid})),[])),f3=/language-([^\s]+)/,p3=`node`;function m3(e,t){let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;let r=e,i=t;for(let e of n)if(e!==p3&&!Object.is(r[e],i[e]))return!1;return!0}function h3(e,t){return e?.properties?.metastring===t?.properties?.metastring}var g3=(e,t)=>typeof e==`boolean`?e:e[t]!==!1,_3=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.table;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},v3=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.code;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},y3=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.mermaid;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},b3=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.image;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},x3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`ol`,{className:i(`list-inside list-decimal whitespace-normal [li_&]:pl-6`,t),"data-streamdown":`ordered-list`,...r,children:e})},(e,t)=>m3(e,t));x3.displayName=`MarkdownOl`;var S3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`li`,{className:i(`py-1 [&>p]:inline`,t),"data-streamdown":`list-item`,...r,children:e})},(e,t)=>m3(e,t));S3.displayName=`MarkdownLi`;var C3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`ul`,{className:i(`list-inside list-disc whitespace-normal [li_&]:pl-6`,t),"data-streamdown":`unordered-list`,...r,children:e})},(e,t)=>m3(e,t));C3.displayName=`MarkdownUl`;var w3=(0,d.memo)(({className:e,node:t,...n})=>{let r=l4();return(0,T.jsx)(`hr`,{className:r(`my-6 border-border`,e),"data-streamdown":`horizontal-rule`,...n})},(e,t)=>m3(e,t));w3.displayName=`MarkdownHr`;var T3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`span`,{className:i(`font-semibold`,t),"data-streamdown":`strong`,...r,children:e})},(e,t)=>m3(e,t));T3.displayName=`MarkdownStrong`;var E3=(0,d.memo)(({children:e,className:t,href:n,node:r,...i})=>{let a=l4(),{linkSafety:o}=(0,d.useContext)($6),[s,c]=(0,d.useState)(!1),l=n===`streamdown:incomplete-link`,u=(0,d.useCallback)(async e=>{if(!(!(o!=null&&o.enabled&&n)||l)){if(e.preventDefault(),o.onLinkCheck&&await o.onLinkCheck(n)){window.open(n,`_blank`,`noreferrer`);return}c(!0)}},[o,n,l]),f=(0,d.useCallback)(()=>{n&&window.open(n,`_blank`,`noreferrer`)},[n]),p=(0,d.useCallback)(()=>{c(!1)},[]),m={url:n??``,isOpen:s,onClose:p,onConfirm:f};return o!=null&&o.enabled&&n?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{className:a(`wrap-anywhere appearance-none text-left font-medium text-primary underline`,t),"data-incomplete":l,"data-streamdown":`link`,onClick:u,type:`button`,children:e}),o.renderModal?o.renderModal(m):(0,T.jsx)(H4,{...m})]}):(0,T.jsx)(`a`,{className:a(`wrap-anywhere font-medium text-primary underline`,t),"data-incomplete":l,"data-streamdown":`link`,href:n,rel:`noreferrer`,target:`_blank`,...i,children:e})},(e,t)=>m3(e,t));E3.displayName=`MarkdownA`;var D3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`h1`,{className:i(`mt-6 mb-2 font-semibold text-3xl`,t),"data-streamdown":`heading-1`,...r,children:e})},(e,t)=>m3(e,t));D3.displayName=`MarkdownH1`;var O3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`h2`,{className:i(`mt-6 mb-2 font-semibold text-2xl`,t),"data-streamdown":`heading-2`,...r,children:e})},(e,t)=>m3(e,t));O3.displayName=`MarkdownH2`;var k3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`h3`,{className:i(`mt-6 mb-2 font-semibold text-xl`,t),"data-streamdown":`heading-3`,...r,children:e})},(e,t)=>m3(e,t));k3.displayName=`MarkdownH3`;var A3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`h4`,{className:i(`mt-6 mb-2 font-semibold text-lg`,t),"data-streamdown":`heading-4`,...r,children:e})},(e,t)=>m3(e,t));A3.displayName=`MarkdownH4`;var j3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`h5`,{className:i(`mt-6 mb-2 font-semibold text-base`,t),"data-streamdown":`heading-5`,...r,children:e})},(e,t)=>m3(e,t));j3.displayName=`MarkdownH5`;var M3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`h6`,{className:i(`mt-6 mb-2 font-semibold text-sm`,t),"data-streamdown":`heading-6`,...r,children:e})},(e,t)=>m3(e,t));M3.displayName=`MarkdownH6`;var N3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let{controls:i,tableMaxHeight:a}=(0,d.useContext)($6),o=g3(i,`table`),s=_3(i,`copy`),c=_3(i,`download`),l=_3(i,`fullscreen`);return(0,T.jsx)(c3,{className:t,maxHeight:a,showControls:o,showCopy:s,showDownload:c,showFullscreen:l,...r,children:e})},(e,t)=>m3(e,t));N3.displayName=`MarkdownTable`;var P3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`thead`,{className:i(`bg-muted/80`,t),"data-streamdown":`table-header`,...r,children:e})},(e,t)=>m3(e,t));P3.displayName=`MarkdownThead`;var F3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`tbody`,{className:i(`divide-y divide-border`,t),"data-streamdown":`table-body`,...r,children:e})},(e,t)=>m3(e,t));F3.displayName=`MarkdownTbody`;var I3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`tr`,{className:i(`border-border`,t),"data-streamdown":`table-row`,...r,children:e})},(e,t)=>m3(e,t));I3.displayName=`MarkdownTr`;var L3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`th`,{className:i(`whitespace-nowrap px-4 py-2 text-left font-semibold text-sm`,t),"data-streamdown":`table-header-cell`,...r,children:e})},(e,t)=>m3(e,t));L3.displayName=`MarkdownTh`;var R3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`td`,{className:i(`px-4 py-2 text-sm`,t),"data-streamdown":`table-cell`,...r,children:e})},(e,t)=>m3(e,t));R3.displayName=`MarkdownTd`;var z3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`blockquote`,{className:i(`my-4 border-muted-foreground/30 border-l-4 pl-4 text-muted-foreground italic`,t),"data-streamdown":`blockquote`,...r,children:e})},(e,t)=>m3(e,t));z3.displayName=`MarkdownBlockquote`;var B3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`sup`,{className:i(`text-sm`,t),"data-streamdown":`superscript`,...r,children:e})},(e,t)=>m3(e,t));B3.displayName=`MarkdownSup`;var V3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=l4();return(0,T.jsx)(`sub`,{className:i(`text-sm`,t),"data-streamdown":`subscript`,...r,children:e})},(e,t)=>m3(e,t));V3.displayName=`MarkdownSub`;var H3=(0,d.memo)(({children:e,className:t,node:n,...r})=>{if(`data-footnotes`in r){let n=e=>{if(!(0,d.isValidElement)(e))return!1;let t=Array.isArray(e.props.children)?e.props.children:[e.props.children],n=!1,r=!1;for(let e of t)if(e){if(typeof e==`string`)e.trim()!==``&&(n=!0);else if((0,d.isValidElement)(e)){if(e.props?.[`data-footnote-backref`]!==void 0)r=!0;else{let t=Array.isArray(e.props.children)?e.props.children:[e.props.children];for(let e of t){if(typeof e==`string`&&e.trim()!==``){n=!0;break}if((0,d.isValidElement)(e)&&e.props?.[`data-footnote-backref`]===void 0){n=!0;break}}}}}return r&&!n},i=Array.isArray(e)?e.map(e=>{if(!(0,d.isValidElement)(e))return e;if(e.type===x3){let t=(Array.isArray(e.props.children)?e.props.children:[e.props.children]).filter(e=>!n(e));return t.length===0?null:{...e,props:{...e.props,children:t}}}return e}):e;return(Array.isArray(i)?i.some(e=>e!==null):i!==null)?(0,T.jsx)(`section`,{className:t,...r,children:i}):null}return(0,T.jsx)(`section`,{className:t,...r,children:e})},(e,t)=>m3(e,t));H3.displayName=`MarkdownSection`;var U3=(0,d.memo)(({node:e,className:t,children:n,...r})=>{let i=l4(),a=!(`data-block`in r),{mermaid:o,controls:s,lineNumbers:c}=(0,d.useContext)($6),l=K4(),u=r4(),f=(t?.match(f3))?.at(1)??``,p=q4(f);if(a)return(0,T.jsx)(`code`,{className:i(`rounded bg-muted px-1.5 py-0.5 font-mono text-sm`,t),"data-streamdown":`inline-code`,...r,children:n});let m=e?.properties?.metastring,h=m?.match(l3),g=h?Number.parseInt(h[1],10):void 0,_=g!==void 0&&g>=1?g:void 0,v=!(m&&u3.test(m))&&c!==!1,y=``;if((0,d.isValidElement)(n)&&n.props&&typeof n.props==`object`&&`children`in n.props&&typeof n.props.children==`string`?y=n.props.children:typeof n==`string`&&(y=n),p){let e=p.component;return(0,T.jsx)(d.Suspense,{fallback:(0,T.jsx)(I4,{}),children:(0,T.jsx)(e,{code:y,isIncomplete:u,language:f,meta:m})})}if(f===`mermaid`&&l){let e=g3(s,`mermaid`),n=y3(s,`download`),r=y3(s,`copy`),a=y3(s,`fullscreen`),c=y3(s,`panZoom`),l=e&&(n||r||a);return(0,T.jsx)(d.Suspense,{fallback:(0,T.jsx)(I4,{}),children:(0,T.jsxs)(`div`,{className:i(`group relative my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2`,t),"data-streamdown":`mermaid-block`,children:[(0,T.jsx)(`div`,{className:i(`flex h-8 items-center text-muted-foreground text-xs`),children:(0,T.jsx)(`span`,{className:i(`ml-1 font-mono lowercase`),children:`mermaid`})}),l?(0,T.jsx)(`div`,{className:i(`pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end`),children:(0,T.jsxs)(`div`,{className:i(`pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur`),"data-streamdown":`mermaid-block-actions`,children:[n?(0,T.jsx)(X4,{chart:y,config:o?.config}):null,r?(0,T.jsx)(M4,{code:y}):null,a?(0,T.jsx)(Z4,{chart:y,config:o?.config}):null]})}):null,(0,T.jsx)(`div`,{className:i(`rounded-md border border-border bg-background`),children:(0,T.jsx)(d3,{chart:y,config:o?.config,showControls:c})})]})})}let b=g3(s,`code`),x=v3(s,`download`),S=v3(s,`copy`),{"data-block":C,...w}=r;return(0,T.jsx)(C4,{className:t,code:y,isIncomplete:u,language:f,lineNumbers:v,startLine:_,...w,children:b?(0,T.jsxs)(T.Fragment,{children:[x?(0,T.jsx)(F4,{code:y,language:f}):null,S?(0,T.jsx)(M4,{}):null]}):null})},(e,t)=>m3(e,t)&&h3(e.node,t.node));U3.displayName=`MarkdownCode`;var W3=(0,d.memo)(({node:e,className:t,...n})=>{let{controls:r}=(0,d.useContext)($6),i=g3(r,`image`),a=i&&b3(r,`download`);return(0,T.jsx)(R4,{className:t,node:e,showControls:i,showDownloadControl:a,...n})},(e,t)=>m3(e,t));W3.displayName=`MarkdownImg`;var G3=(0,d.memo)(({children:e,node:t,...n})=>{let r=(Array.isArray(e)?e:[e]).filter(e=>e!=null&&e!==``);if(r.length===1&&(0,d.isValidElement)(r[0])){let t=r[0].props.node?.tagName;if(t===`img`||t===`code`&&`data-block`in r[0].props)return(0,T.jsx)(T.Fragment,{children:e})}return(0,T.jsx)(`p`,{...n,children:e})},(e,t)=>m3(e,t));G3.displayName=`MarkdownParagraph`;var K3={ol:x3,li:S3,ul:C3,hr:w3,strong:T3,a:E3,h1:D3,h2:O3,h3:k3,h4:A3,h5:j3,h6:M3,table:N3,thead:P3,tbody:F3,tr:I3,th:L3,td:R3,blockquote:z3,code:U3,img:W3,pre:({children:e})=>(0,d.isValidElement)(e)?(0,d.cloneElement)(e,{"data-block":`true`}):e,sup:B3,sub:V3,p:G3,section:H3},q3=/[\u0590-\u08FF\uFB1D-\uFDFF\uFE70-\uFEFF]/,J3=/\p{L}/u;function Y3(e){let t=e.replace(/(```|~~~)[\s\S]*?\1/g,``).replace(/^#{1,6}\s+/gm,``).replace(/(\*{1,3}|_{1,3})/g,``).replace(/`[^`]*`/g,``).replace(/\[([^\]]*)\]\([^)]*\)/g,`$1`).replace(/^[\s>*\-+\d.]+/gm,``),n,r=0,i=0;for(let e of t){if(q3.test(e)){n??=`rtl`,i+=1;continue}J3.test(e)&&(n??=`ltr`,r+=1)}return i>r?`rtl`:r>i?`ltr`:n??`ltr`}var X3=/^[ \t]{0,3}(`{3,}|~{3,})/,Z3=/^\|?[ \t]*:?-{1,}:?[ \t]*(\|[ \t]*:?-{1,}:?[ \t]*)*\|?$/,Q3=e=>{let t=e.split(`
451
+ `),n=null,r=0;for(let e of t){let t=X3.exec(e);if(n===null){if(t){let e=t[1];n=e[0],r=e.length}}else if(t){let e=t[1],i=e[0],a=e.length;i===n&&a>=r&&(n=null,r=0)}}return n!==null},$3=e=>{let t=e.split(`
452
+ `);for(let e of t){let t=e.trim();if(t.length>0&&t.includes(`|`)&&Z3.test(t))return!0}return!1},e6=()=>e=>{rO(e,`html`,(e,t,n)=>{!n||typeof t!=`number`||(n.children[t]={type:`text`,value:e.value})})},t6=[],n6={allowDangerousHtml:!0},r6=new WeakMap,i6=new class{constructor(){this.cache=new Map,this.keyCache=new WeakMap,this.maxSize=100}generateCacheKey(e){let t=this.keyCache.get(e);if(t)return t;let n=e.rehypePlugins,r=e.remarkPlugins,i=e.remarkRehypeOptions;if(!(n||r||i)){let t=`default`;return this.keyCache.set(e,t),t}let a=e=>{if(!e||e.length===0)return``;let t=``;for(let n=0;n<e.length;n+=1){let r=e[n];if(n>0&&(t+=`,`),Array.isArray(r)){let[e,n]=r;if(typeof e==`function`){let n=r6.get(e);n||(n=e.name,r6.set(e,n)),t+=n}else t+=String(e);t+=`:`,t+=JSON.stringify(n)}else if(typeof r==`function`){let e=r6.get(r);e||(e=r.name,r6.set(r,e)),t+=e}else t+=String(r)}return t},o=a(n),s=`${a(r)}::${o}::${i?JSON.stringify(i):``}`;return this.keyCache.set(e,s),s}get(e){let t=this.generateCacheKey(e),n=this.cache.get(t);return n&&(this.cache.delete(t),this.cache.set(t,n)),n}set(e,t){let n=this.generateCacheKey(e);if(this.cache.size>=this.maxSize){let e=this.cache.keys().next().value;e&&this.cache.delete(e)}this.cache.set(n,t)}clear(){this.cache.clear()}},a6=e=>{let t=o6(e),n=e.children||``;return p6(t.runSync(t.parse(n),n),e)},o6=e=>{let t=i6.get(e);if(t)return t;let n=c6(e);return i6.set(e,n),n},s6=e=>e.some(e=>Array.isArray(e)?e[0]===yB:e===yB),c6=e=>{let t=e.rehypePlugins||t6,n=e.remarkPlugins||t6,r=s6(t)?n:[...n,e6],i=e.remarkRehypeOptions?{...n6,...e.remarkRehypeOptions}:n6;return VO().use(YE).use(r).use(pO,i).use(t)},l6=e=>e,u6=(e,t,n,r)=>{n?e.children.splice(t,1):e.children[t]={type:`text`,value:r}},d6=(e,t)=>{for(let n in JC)if(Object.hasOwn(JC,n)&&Object.hasOwn(e.properties,n)){let r=e.properties[n],i=JC[n];(i===null||i.includes(e.tagName))&&(e.properties[n]=t(String(r||``),n,e)??void 0)}},f6=(e,t,n,r,i,a)=>{let o=!1;return r?o=!r.includes(e.tagName):i&&(o=i.includes(e.tagName)),!o&&a&&typeof t==`number`&&(o=!a(e,t,n)),o},p6=(e,t)=>{let{allowElement:n,allowedElements:r,disallowedElements:i,skipHtml:a,unwrapDisallowed:o,urlTransform:s}=t;if(n||r||i||a||s){let t=s||l6;rO(e,(e,s,c)=>{if(e.type===`raw`&&c&&typeof s==`number`)return u6(c,s,a,e.value),s;if(e.type===`element`&&(d6(e,t),f6(e,s,c,r,i,n)&&c&&typeof s==`number`))return o&&e.children?c.children.splice(s,1,...e.children):c.children.splice(s,1),s})}return VC(e,{Fragment:T.Fragment,components:t.components,ignoreInvalidStyle:!0,jsx:T.jsx,jsxs:T.jsxs,passKeys:!0,passNode:!0})},m6=/\[\^[\w-]{1,200}\](?!:)/,h6=/\[\^[\w-]{1,200}\]:/,g6=/<([A-Za-z][\w:-]*)[\s>/]/,_6=new Set([`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`link`,`meta`,`param`,`source`,`track`,`wbr`]),v6=new Map,y6=new Map,b6=e=>{let t=e.toLowerCase(),n=v6.get(t);if(n)return n;let r=RegExp(`<${t}(?=[\\s>/])[^>]*>`,`gi`);return v6.set(t,r),r},x6=e=>{let t=e.toLowerCase(),n=y6.get(t);if(n)return n;let r=RegExp(`</${t}(?=[\\s>])[^>]*>`,`gi`);return y6.set(t,r),r},S6=(e,t)=>{if(_6.has(t.toLowerCase()))return 0;let n=e.match(b6(t));if(!n)return 0;let r=0;for(let e of n)e.trimEnd().endsWith(`/>`)||(r+=1);return r},C6=(e,t)=>{let n=e.match(x6(t));return n?n.length:0},w6=e=>{let t=0;for(let n=0;n<e.length-1;n+=1)e[n]===`$`&&e[n+1]===`$`&&(t+=1,n+=1);return t},T6=e=>{let t=m6.test(e),n=h6.test(e);if(t||n)return[e];let r=m2.lex(e,{gfm:!0}),i=[],a=[],o=!1;for(let e of r){let t=e.raw,n=i.length;if(a.length>0){i[n-1]+=t;let e=a.at(-1),r=S6(t,e),o=C6(t,e);for(let t=0;t<r;t+=1)a.push(e);for(let t=0;t<o;t+=1)a.length>0&&a.at(-1)===e&&a.pop();continue}if(e.type===`html`&&e.block){let e=t.match(g6);if(e){let n=e[1];S6(t,n)>C6(t,n)&&a.push(n)}}if(n>0&&!o){let e=i[n-1];if(w6(e)%2==1){i[n-1]=e+t;continue}}i.push(t),e.type!==`space`&&(o=e.type===`code`)}return i},E6=/^\n*/,D6=/\n*$/,O6=/\n\n/g,k6=(e,t,n)=>t.includes(`
453
+ `)?`${e}${t.replace(O6,`
454
454
  <!---->
455
- `).replace(C6,`
455
+ `).replace(E6,`
456
456
 
457
- `).replace(w6,`
457
+ `).replace(D6,`
458
458
 
459
459
  `)}${n}
460
460
 
461
- `:e+t+n,D6=(e,t)=>{let n=RegExp(`<(${t})(?=[\\s>/])([^>]*)>`,`gi`),r=``,i=0,a=n.exec(e);for(;a;){let t=a[0],o=a[1],s=a.index+t.length,c=e.slice(s);if(RegExp(`</${o}\\s*>`,`i`).test(c)){a=n.exec(e);continue}if(r+=e.slice(i,a.index),c.length===0){r+=t,i=s,a=n.exec(e);continue}if(c.startsWith(`
461
+ `:e+t+n,A6=(e,t)=>{let n=RegExp(`<(${t})(?=[\\s>/])([^>]*)>`,`gi`),r=``,i=0,a=n.exec(e);for(;a;){let t=a[0],o=a[1],s=a.index+t.length,c=e.slice(s);if(RegExp(`</${o}\\s*>`,`i`).test(c)){a=n.exec(e);continue}if(r+=e.slice(i,a.index),c.length===0){r+=t,i=s,a=n.exec(e);continue}if(c.startsWith(`
462
462
 
463
- `)){let n=c.slice(2).replace(T6,`
463
+ `)){let n=c.slice(2).replace(O6,`
464
464
  <!---->
465
465
  `);r+=`${t}
466
466
 
467
467
  ${n}`,i=e.length;break}if(!c.startsWith(`
468
- `)){r+=t,i=s,a=n.exec(e);continue}let l=c.slice(1);if(l.trim().length===0){r+=t,i=s,a=n.exec(e);continue}let u=l.replace(T6,`
468
+ `)){r+=t,i=s,a=n.exec(e);continue}let l=c.slice(1);if(l.trim().length===0){r+=t,i=s,a=n.exec(e);continue}let u=l.replace(O6,`
469
469
  <!---->
470
470
  `);r+=`${t}
471
471
 
472
- ${u}`,i=e.length;break}return i===0?e:r+e.slice(i)},O6=(e,t)=>{if(!t.length)return e;let n=e;for(let e of t){let t=RegExp(`(<${e}(?=[\\s>/])[^>]*>)([\\s\\S]*?)(</${e}\\s*>)`,`gi`);n=n.replace(t,(e,t,n,r)=>E6(t,n,r)),n=D6(n,e)}return n},k6=/([\\`*_~[\]|])/g,A6=e=>e.replace(k6,`\\$1`),j6=(e,t)=>{if(!t.length)return e;let n=e;for(let e of t){let t=RegExp(`(<${e}(?=[\\s>/])[^>]*>)([\\s\\S]*?)(</${e}\\s*>)`,`gi`);n=n.replace(t,(e,t,n,r)=>t+A6(n).replace(/\n\n/g,`&#10;&#10;`)+r)}return n},M6=new Set([`blockquote`,`dd`,`dt`,`figcaption`,`h1`,`h2`,`h3`,`h4`,`h5`,`h6`,`li`,`p`,`td`,`th`]),N6=new Set([`code`,`kbd`,`pre`,`samp`,`var`]);function P6(e){return e.children.map(e=>e.type===`text`?e.value:e.type===`element`&&!N6.has(e.tagName)?P6(e):``).join(``)}function F6(){return e=>{rO(e,`element`,e=>{if(N6.has(e.tagName)){e.properties??={},e.properties.dir=`ltr`;return}M6.has(e.tagName)&&(e.properties??={},typeof e.properties.dir!=`string`&&(e.properties.dir=K3(P6(e))))})}}var I6=e=>e.type===`text`?e.value:`children`in e&&Array.isArray(e.children)?e.children.map(I6).join(``):``,L6=e=>t=>{if(!e||e.length===0)return;let n=new Set(e.map(e=>e.toLowerCase()));rO(t,`element`,e=>{if(n.has(e.tagName.toLowerCase())){let t=I6(e);e.children=t?[{type:`text`,value:t}]:[]}})},R6=()=>e=>{rO(e,`code`,e=>{e.meta&&(e.data=e.data??{},e.data.hProperties={...e.data.hProperties??{},metastring:e.meta})})},z6=/^[ \t]*<[\w!/?-]/,B6=/(^|\n)[ \t]{4,}(?=<[\w!/?-])/g,V6=e=>typeof e!=`string`||e.length===0||!z6.test(e)?e:e.replace(B6,`$1`),H6={...xB,clobberPrefix:``,protocols:{...xB.protocols,href:[...xB.protocols?.href??[],`tel`,`streamdown`]},attributes:{...xB.attributes,code:[...xB.attributes?.code??[],`metastring`]}},U6={raw:yB,sanitize:[RB,H6],harden:[WQ,{allowedImagePrefixes:[`*`],allowedLinkPrefixes:[`*`],allowedProtocols:[`*`],defaultOrigin:void 0,allowDataImages:!0}]},W6={gfm:[RU,{}],codeMeta:R6},G6=Object.values(U6),K6=Object.values(W6),q6={block:` ▋`,circle:` ●`},J6=[`github-light`,`github-dark`],Y6={enabled:!0},X6=(0,d.createContext)({codeBlockMaxHeight:400,shikiTheme:J6,controls:!0,isAnimating:!1,lineNumbers:!0,mode:`streaming`,mermaid:void 0,linkSafety:Y6,tableMaxHeight:300}),Z6=(0,d.memo)(({content:e,shouldParseIncompleteMarkdown:t,shouldNormalizeHtmlIndentation:n,index:r,isIncomplete:i,dir:a,animatePlugin:o,...s})=>{(0,d.useLayoutEffect)(()=>{o?.commit()});let c=typeof e==`string`&&n?V6(e):e,l=(0,T.jsx)(n6,{...s,children:c});return(0,T.jsx)($2.Provider,{value:i,children:a?(0,T.jsx)(`div`,{dir:a,style:{display:`contents`},children:l}):l})},(e,t)=>{if(e.content!==t.content||e.shouldNormalizeHtmlIndentation!==t.shouldNormalizeHtmlIndentation||e.index!==t.index||e.isIncomplete!==t.isIncomplete||e.dir!==t.dir)return!1;if(e.components!==t.components){let n=Object.keys(e.components||{}),r=Object.keys(t.components||{});if(n.length!==r.length||n.some(n=>e.components?.[n]!==t.components?.[n]))return!1}return e.rehypePlugins===t.rehypePlugins&&e.remarkPlugins===t.remarkPlugins&&!!e.animatePlugin==!!t.animatePlugin});Z6.displayName=`Block`;var Q6=(0,d.memo)(({children:e,mode:t=`streaming`,dir:n,parseIncompleteMarkdown:r=!0,normalizeHtmlIndentation:i=!1,components:a,rehypePlugins:o=G6,remarkPlugins:s=K6,className:c,shikiTheme:l,mermaid:u,codeBlockMaxHeight:f=400,controls:p=!0,isAnimating:m=!1,tableMaxHeight:h=300,animated:g,BlockComponent:_=Z6,parseMarkdownIntoBlocksFn:v=S6,caret:y,plugins:b,remend:x,linkSafety:S=Y6,lineNumbers:C=!0,allowedTags:w,literalTagContent:E,translations:D,icons:O,prefix:k,onAnimationStart:A,onAnimationEnd:j,...M})=>{let N=(0,d.useId)(),ee=(0,d.useMemo)(()=>r4(k),[k]),te=(0,d.useRef)(null),P=(0,d.useRef)(A),ne=(0,d.useRef)(j);P.current=A,ne.current=j,(0,d.useEffect)(()=>{var e,n,r;if(t===`static`)return;let i=te.current;if(te.current=m,i===null){m&&((e=P.current)==null||e.call(P));return}m&&!i?(n=P.current)==null||n.call(P):!m&&i&&((r=ne.current)==null||r.call(ne))},[m,t]);let re=(0,d.useMemo)(()=>w?Object.keys(w):[],[w]),ie=(0,d.useMemo)(()=>{if(typeof e!=`string`)return``;let n=t===`streaming`&&r?V1(e,x):e;return E&&E.length>0&&(n=j6(n,E)),re.length>0&&(n=O6(n,re)),n},[e,t,r,x,re,E]),ae=(0,d.useMemo)(()=>v(ie),[ie,v]),oe=(0,d.useMemo)(()=>n===`auto`?ae.map(K3):void 0,[ae,n]),se=(0,d.useMemo)(()=>ae.map((e,t)=>`${N}-${t}`),[ae.length,N]),ce=(0,d.useMemo)(()=>g===!0?`true`:g?JSON.stringify(g):``,[g]),le=(0,d.useRef)(null),ue=(0,d.useRef)([]),de=(0,d.useRef)([]),fe=(0,d.useRef)(null),pe=(0,d.useRef)(``);ce?(pe.current===ce?le.current||=k2():(pe.current=ce,le.current=k2({maxBacklogMs:ce===`true`?void 0:g.maxBacklogMs}),ue.current=[],de.current=[]),m&&le.current&&le.current.beginPass(le.current.now())):(le.current=null,ue.current=[],de.current=[],pe.current=``),(0,d.useLayoutEffect)(()=>{var e;m&&((e=le.current)==null||e.commitPass())});let me=(0,d.useMemo)(()=>({codeBlockMaxHeight:f,shikiTheme:l??(b?.code)?.getThemes()??J6,controls:p,isAnimating:m,lineNumbers:C,mode:t,mermaid:u,linkSafety:S,tableMaxHeight:h}),[f,l,p,m,C,t,u,S,b?.code,h]),he=(0,d.useMemo)(()=>D?JSON.stringify(D):``,[D]),ge=(0,d.useMemo)(()=>({...E4,...D}),[he]),_e=(0,d.useMemo)(()=>{let{inlineCode:e,...t}=a??{},n={...U3,...t};if(e){let t=n.code;n.code=n=>`data-block`in n?t?(0,d.createElement)(t,n):null:(0,d.createElement)(e,n)}return n},[a]),ve=(0,d.useMemo)(()=>{let e=[];return b!=null&&b.cjk&&(e=[...e,...b.cjk.remarkPluginsBefore]),e=[...e,...s],b!=null&&b.cjk&&(e=[...e,...b.cjk.remarkPluginsAfter]),b!=null&&b.math&&(e=[...e,b.math.remarkPlugin]),e},[s,b?.math,b?.cjk]),ye=(0,d.useMemo)(()=>{let e=o;if(w&&Object.keys(w).length>0&&o===G6){let t={...H6,tagNames:[...H6.tagNames??[],...Object.keys(w)],attributes:{...H6.attributes,...w}};e=[U6.raw,[RB,t],U6.harden]}return E&&E.length>0&&(e=[...e,[L6,E]]),b!=null&&b.math&&(e=[...e,b.math.rehypePlugin]),n===`auto`&&t===`static`&&(e=[...e,F6]),e},[o,b?.math,w,E,n,t]),be=(0,d.useMemo)(()=>{if(!m||ae.length===0)return!1;let e=ae.at(-1);return Y3(e)||X3(e)},[m,ae]),xe=(0,d.useMemo)(()=>y&&m&&!be?{"--streamdown-caret":`"${q6[y]}"`}:void 0,[y,m,be]),Se=e=>{let t=null;if(le.current&&m){if(!ue.current[e]){let{maxBacklogMs:t,...n}=ce&&ce!==`true`?g:{};ue.current[e]=Q2({...n,timeline:le.current})}t=ue.current[e]}fe.current!==ye&&(de.current=[],fe.current=ye),t&&!de.current[e]&&(de.current[e]=[...ye,t.rehypePlugin]);let n=t&&de.current[e]?de.current[e]:ye;return{blockAnimatePlugin:t,blockRehypePlugins:n}};return t===`static`?(0,T.jsx)(D4.Provider,{value:ge,children:(0,T.jsx)(B4.Provider,{value:b??null,children:(0,T.jsx)(X6.Provider,{value:me,children:(0,T.jsx)(w4,{icons:O,children:(0,T.jsx)(a4.Provider,{value:ee,children:(0,T.jsx)(`div`,{className:ee(`space-y-4 whitespace-normal [&>*:first-child]:mt-0 [&>*:last-child]:mb-0`,c),dir:n===`auto`?void 0:n,children:(0,T.jsx)(n6,{components:_e,rehypePlugins:ye,remarkPlugins:ve,...M,children:ie})})})})})})}):(0,T.jsx)(D4.Provider,{value:ge,children:(0,T.jsx)(B4.Provider,{value:b??null,children:(0,T.jsx)(X6.Provider,{value:me,children:(0,T.jsx)(w4,{icons:O,children:(0,T.jsx)(a4.Provider,{value:ee,children:(0,T.jsxs)(`div`,{className:ee(`space-y-4 whitespace-normal [&>*:first-child]:mt-0 [&>*:last-child]:mb-0`,y&&!be?`[&>*:last-child]:after:inline [&>*:last-child]:after:align-baseline [&>*:last-child]:after:content-[var(--streamdown-caret)]`:null,c),style:xe,children:[ae.length===0&&y&&m&&(0,T.jsx)(`span`,{}),ae.map((e,t)=>{let a=t===ae.length-1,o=m&&a&&Y3(e),{blockAnimatePlugin:s,blockRehypePlugins:c}=Se(t);return(0,T.jsx)(_,{animatePlugin:s,components:_e,content:e,dir:oe?.[t]??(n===`auto`?void 0:n),index:t,isIncomplete:o,rehypePlugins:c,remarkPlugins:ve,shouldNormalizeHtmlIndentation:i,shouldParseIncompleteMarkdown:r,...M},se[t])})]})})})})})})},(e,t)=>e.children===t.children&&e.shikiTheme===t.shikiTheme&&e.isAnimating===t.isAnimating&&e.animated===t.animated&&e.mode===t.mode&&e.plugins===t.plugins&&e.className===t.className&&e.linkSafety===t.linkSafety&&e.lineNumbers===t.lineNumbers&&e.codeBlockMaxHeight===t.codeBlockMaxHeight&&e.tableMaxHeight===t.tableMaxHeight&&e.normalizeHtmlIndentation===t.normalizeHtmlIndentation&&e.literalTagContent===t.literalTagContent&&JSON.stringify(e.translations)===JSON.stringify(t.translations)&&e.prefix===t.prefix&&e.dir===t.dir);Q6.displayName=`Streamdown`;var $6=({children:e,className:t,minZoom:n=.5,maxZoom:r=3,zoomStep:i=.1,showControls:a=!0,initialZoom:o=1,fullscreen:s=!1})=>{let{RotateCcwIcon:c,ZoomInIcon:l,ZoomOutIcon:u}=T4(),f=o4(),p=O4(),m=(0,d.useRef)(null),h=(0,d.useRef)(null),[g,_]=(0,d.useState)(o),[v,y]=(0,d.useState)({x:0,y:0}),[b,x]=(0,d.useState)(!1),[S,C]=(0,d.useState)({x:0,y:0}),[w,E]=(0,d.useState)({x:0,y:0}),D=(0,d.useCallback)(e=>{_(t=>Math.max(n,Math.min(r,t+e)))},[n,r]),O=(0,d.useCallback)(()=>{D(i)},[D,i]),k=(0,d.useCallback)(()=>{D(-i)},[D,i]),A=(0,d.useCallback)(()=>{_(o),y({x:0,y:0})},[o]),j=(0,d.useCallback)(e=>{e.preventDefault();let t=e.deltaY>0?-i:i;D(t)},[D,i]),M=(0,d.useCallback)(e=>{if(e.button!==0||e.isPrimary===!1)return;x(!0),C({x:e.clientX,y:e.clientY}),E(v);let t=e.currentTarget;t instanceof HTMLElement&&t.setPointerCapture(e.pointerId)},[v]),N=(0,d.useCallback)(e=>{if(!b)return;e.preventDefault();let t=e.clientX-S.x,n=e.clientY-S.y;y({x:w.x+t,y:w.y+n})},[b,S,w]),ee=(0,d.useCallback)(e=>{x(!1);let t=e.currentTarget;t instanceof HTMLElement&&t.releasePointerCapture(e.pointerId)},[]);return(0,d.useEffect)(()=>{let e=m.current;if(e)return e.addEventListener(`wheel`,j,{passive:!1}),()=>{e.removeEventListener(`wheel`,j)}},[j]),(0,d.useEffect)(()=>{let e=h.current;if(e&&b)return document.body.style.userSelect=`none`,e.addEventListener(`pointermove`,N,{passive:!1}),e.addEventListener(`pointerup`,ee),e.addEventListener(`pointercancel`,ee),()=>{document.body.style.userSelect=``,e.removeEventListener(`pointermove`,N),e.removeEventListener(`pointerup`,ee),e.removeEventListener(`pointercancel`,ee)}},[b,N,ee]),(0,T.jsxs)(`div`,{className:f(`relative flex flex-col`,s?`h-full w-full`:`min-h-28 w-full`,t),ref:m,style:{cursor:b?`grabbing`:`grab`},children:[a?(0,T.jsxs)(`div`,{className:f(`absolute z-10 flex flex-col gap-1 rounded-md border border-border bg-background/80 p-1 supports-[backdrop-filter]:bg-background/70 supports-[backdrop-filter]:backdrop-blur-sm`,s?`bottom-4 left-4`:`bottom-2 left-2`),children:[(0,T.jsx)(`button`,{"aria-label":p.zoomIn,className:f(`flex items-center justify-center rounded p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`),disabled:g>=r,onClick:O,title:p.zoomIn,type:`button`,children:(0,T.jsx)(l,{"aria-hidden":`true`,size:16})}),(0,T.jsx)(`button`,{"aria-label":p.zoomOut,className:f(`flex items-center justify-center rounded p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`),disabled:g<=n,onClick:k,title:p.zoomOut,type:`button`,children:(0,T.jsx)(u,{"aria-hidden":`true`,size:16})}),(0,T.jsx)(`button`,{"aria-label":p.resetView,className:f(`flex items-center justify-center rounded p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`),onClick:A,title:p.resetView,type:`button`,children:(0,T.jsx)(c,{"aria-hidden":`true`,size:16})})]}):null,(0,T.jsx)(`div`,{className:f(`flex-1 origin-center transition-transform duration-150 ease-out`,s?`flex h-full w-full items-center justify-center`:`flex w-full items-center justify-center`),onPointerDown:M,ref:h,role:`application`,style:{transform:`translate(${v.x}px, ${v.y}px) scale(${g})`,transformOrigin:`center center`,touchAction:`none`,willChange:`transform`},children:e})]})},e8=({chart:e,className:t,config:n,fullscreen:r=!1,showControls:i=!0})=>{let a=o4(),[o,s]=(0,d.useState)(null),[c,l]=(0,d.useState)(!1),[u,f]=(0,d.useState)(``),[p,m]=(0,d.useState)(``),[h,g]=(0,d.useState)(0),{mermaid:_}=(0,d.useContext)(X6),v=U4(),y=_?.errorComponent,{shouldRender:b,containerRef:x}=T2({immediate:r});if((0,d.useEffect)(()=>{if(b){if(!v){s(`Mermaid plugin not available. Please add the mermaid plugin to enable diagram rendering.`);return}(async()=>{try{s(null),l(!0);let t=v.getMermaid(n),r=e.split(``).reduce((e,t)=>(e<<5)-e+t.charCodeAt(0)|0,0),i=`mermaid-${Math.abs(r)}-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,{svg:a}=await t.render(i,e);f(a),m(a)}catch(e){if(!(p||u)){let t=e instanceof Error?e.message:`Failed to render Mermaid chart`;s(t)}}finally{l(!1)}})()}},[e,n,h,b,v]),!(b||u||p))return(0,T.jsx)(`div`,{className:a(`my-4 min-h-[200px]`,t),ref:x});if(c&&!u&&!p)return(0,T.jsx)(`div`,{className:a(`my-4 flex justify-center p-4`,t),ref:x,children:(0,T.jsxs)(`div`,{className:a(`flex items-center space-x-2 text-muted-foreground`),children:[(0,T.jsx)(`div`,{className:a(`h-4 w-4 animate-spin rounded-full border-current border-b-2`)}),(0,T.jsx)(`span`,{className:a(`text-sm`),children:`Loading diagram...`})]})});if(o&&!u&&!p)return y?(0,T.jsx)(`div`,{ref:x,children:(0,T.jsx)(y,{chart:e,error:o,retry:()=>g(e=>e+1)})}):(0,T.jsxs)(`div`,{className:a(`rounded-md bg-red-50 p-4`,t),ref:x,children:[(0,T.jsxs)(`p`,{className:a(`font-mono text-red-700 text-sm`),children:[`Mermaid Error: `,o]}),(0,T.jsxs)(`details`,{className:a(`mt-2`),children:[(0,T.jsx)(`summary`,{className:a(`cursor-pointer text-red-600 text-xs`),children:`Show Code`}),(0,T.jsx)(`pre`,{className:a(`mt-2 overflow-x-auto rounded bg-red-100 p-2 text-red-800 text-xs`),children:e})]})]});let S=u||p;return(0,T.jsx)(`div`,{className:a(`size-full`,t),"data-streamdown":`mermaid`,ref:x,children:(0,T.jsx)($6,{className:a(r?`size-full overflow-hidden`:`overflow-hidden`,t),fullscreen:r,maxZoom:3,minZoom:.5,showControls:i,zoomStep:.1,children:(0,T.jsx)(`div`,{"aria-label":`Mermaid chart`,className:a(`flex justify-center`,r?`size-full items-center`:null),dangerouslySetInnerHTML:{__html:S},role:`img`})})})},t8=1e5,n8=5e3;function r8(e,t=t8){if(e.length<=t)return e;let n=e.lastIndexOf(`
473
- `,t-1);return n!==-1&&t-n<=n8?e.slice(0,n+1):e.slice(0,t)}function i8(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function a8(e,t){if(e==null)return{};var n,r,i=i8(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function o8(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function s8(e){if(Array.isArray(e))return o8(e)}function c8(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function l8(e,t){if(e){if(typeof e==`string`)return o8(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o8(e,t):void 0}}function u8(){throw TypeError(`Invalid attempt to spread non-iterable instance.
474
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function d8(e){return s8(e)||c8(e)||l8(e)||u8()}function f8(e){"@babel/helpers - typeof";return f8=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},f8(e)}function p8(e,t){if(f8(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(f8(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function m8(e){var t=p8(e,`string`);return f8(t)==`symbol`?t:t+``}function h8(e,t,n){return(t=m8(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g8(){return g8=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},g8.apply(null,arguments)}function _8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function v8(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?_8(Object(n),!0).forEach(function(t){h8(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_8(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function y8(e){var t=e.length;if(t===0||t===1)return e;if(t===2)return[e[0],e[1],`${e[0]}.${e[1]}`,`${e[1]}.${e[0]}`];if(t===3)return[e[0],e[1],e[2],`${e[0]}.${e[1]}`,`${e[0]}.${e[2]}`,`${e[1]}.${e[0]}`,`${e[1]}.${e[2]}`,`${e[2]}.${e[0]}`,`${e[2]}.${e[1]}`,`${e[0]}.${e[1]}.${e[2]}`,`${e[0]}.${e[2]}.${e[1]}`,`${e[1]}.${e[0]}.${e[2]}`,`${e[1]}.${e[2]}.${e[0]}`,`${e[2]}.${e[0]}.${e[1]}`,`${e[2]}.${e[1]}.${e[0]}`];if(t>=4)return[e[0],e[1],e[2],e[3],`${e[0]}.${e[1]}`,`${e[0]}.${e[2]}`,`${e[0]}.${e[3]}`,`${e[1]}.${e[0]}`,`${e[1]}.${e[2]}`,`${e[1]}.${e[3]}`,`${e[2]}.${e[0]}`,`${e[2]}.${e[1]}`,`${e[2]}.${e[3]}`,`${e[3]}.${e[0]}`,`${e[3]}.${e[1]}`,`${e[3]}.${e[2]}`,`${e[0]}.${e[1]}.${e[2]}`,`${e[0]}.${e[1]}.${e[3]}`,`${e[0]}.${e[2]}.${e[1]}`,`${e[0]}.${e[2]}.${e[3]}`,`${e[0]}.${e[3]}.${e[1]}`,`${e[0]}.${e[3]}.${e[2]}`,`${e[1]}.${e[0]}.${e[2]}`,`${e[1]}.${e[0]}.${e[3]}`,`${e[1]}.${e[2]}.${e[0]}`,`${e[1]}.${e[2]}.${e[3]}`,`${e[1]}.${e[3]}.${e[0]}`,`${e[1]}.${e[3]}.${e[2]}`,`${e[2]}.${e[0]}.${e[1]}`,`${e[2]}.${e[0]}.${e[3]}`,`${e[2]}.${e[1]}.${e[0]}`,`${e[2]}.${e[1]}.${e[3]}`,`${e[2]}.${e[3]}.${e[0]}`,`${e[2]}.${e[3]}.${e[1]}`,`${e[3]}.${e[0]}.${e[1]}`,`${e[3]}.${e[0]}.${e[2]}`,`${e[3]}.${e[1]}.${e[0]}`,`${e[3]}.${e[1]}.${e[2]}`,`${e[3]}.${e[2]}.${e[0]}`,`${e[3]}.${e[2]}.${e[1]}`,`${e[0]}.${e[1]}.${e[2]}.${e[3]}`,`${e[0]}.${e[1]}.${e[3]}.${e[2]}`,`${e[0]}.${e[2]}.${e[1]}.${e[3]}`,`${e[0]}.${e[2]}.${e[3]}.${e[1]}`,`${e[0]}.${e[3]}.${e[1]}.${e[2]}`,`${e[0]}.${e[3]}.${e[2]}.${e[1]}`,`${e[1]}.${e[0]}.${e[2]}.${e[3]}`,`${e[1]}.${e[0]}.${e[3]}.${e[2]}`,`${e[1]}.${e[2]}.${e[0]}.${e[3]}`,`${e[1]}.${e[2]}.${e[3]}.${e[0]}`,`${e[1]}.${e[3]}.${e[0]}.${e[2]}`,`${e[1]}.${e[3]}.${e[2]}.${e[0]}`,`${e[2]}.${e[0]}.${e[1]}.${e[3]}`,`${e[2]}.${e[0]}.${e[3]}.${e[1]}`,`${e[2]}.${e[1]}.${e[0]}.${e[3]}`,`${e[2]}.${e[1]}.${e[3]}.${e[0]}`,`${e[2]}.${e[3]}.${e[0]}.${e[1]}`,`${e[2]}.${e[3]}.${e[1]}.${e[0]}`,`${e[3]}.${e[0]}.${e[1]}.${e[2]}`,`${e[3]}.${e[0]}.${e[2]}.${e[1]}`,`${e[3]}.${e[1]}.${e[0]}.${e[2]}`,`${e[3]}.${e[1]}.${e[2]}.${e[0]}`,`${e[3]}.${e[2]}.${e[0]}.${e[1]}`,`${e[3]}.${e[2]}.${e[1]}.${e[0]}`]}var b8={};function x8(e){if(e.length===0||e.length===1)return e;var t=e.join(`.`);return b8[t]||(b8[t]=y8(e)),b8[t]}function S8(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return x8(e.filter(function(e){return e!==`token`})).reduce(function(e,t){return v8(v8({},e),n[t])},t)}function C8(e){return e.join(` `)}function w8(e,t){var n=0;return function(r){return n+=1,r.map(function(r,i){return T8({node:r,stylesheet:e,useInlineStyles:t,key:`code-segment-${n}-${i}`})})}}function T8(e){var t=e.node,n=e.stylesheet,r=e.style,i=r===void 0?{}:r,a=e.useInlineStyles,o=e.key,s=t.properties,c=t.type,l=t.tagName,u=t.value;if(c===`text`)return u;if(l){var f=w8(n,a),p;if(!a)p=v8(v8({},s),{},{className:C8(s.className)});else{var m=Object.keys(n).reduce(function(e,t){return t.split(`.`).forEach(function(t){e.includes(t)||e.push(t)}),e},[]),h=s.className&&s.className.includes(`token`)?[`token`]:[],g=s.className&&h.concat(s.className.filter(function(e){return!m.includes(e)}));p=v8(v8({},s),{},{className:C8(g)||void 0,style:S8(s.className,Object.assign({},s.style,i),n)})}var _=f(t.children);return d.createElement(l,g8({key:o},p),_)}}var E8=(function(e,t){return e.listLanguages().indexOf(t)!==-1}),D8=[`language`,`children`,`style`,`customStyle`,`codeTagProps`,`useInlineStyles`,`showLineNumbers`,`showInlineLineNumbers`,`startingLineNumber`,`lineNumberContainerStyle`,`lineNumberStyle`,`wrapLines`,`wrapLongLines`,`lineProps`,`renderer`,`PreTag`,`CodeTag`,`code`,`astGenerator`];function O8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function k8(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?O8(Object(n),!0).forEach(function(t){h8(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O8(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var A8=/\n/g;function j8(e){return e.match(A8)}function M8(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(e,t){var i=t+n;return d.createElement(`span`,{key:`line-${t}`,className:`react-syntax-highlighter-line-number`,style:typeof r==`function`?r(i):r},`${i}
475
- `)})}function N8(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,i=r===void 0?{float:`left`,paddingRight:`10px`}:r,a=e.numberStyle,o=a===void 0?{}:a,s=e.startingLineNumber;return d.createElement(`code`,{style:Object.assign({},n,i)},M8({lines:t.replace(/\n$/,``).split(`
476
- `),style:o,startingLineNumber:s}))}function P8(e){return`${e.toString().length}.25em`}function F8(e,t){return{type:`element`,tagName:`span`,properties:{key:`line-number--${e}`,className:[`comment`,`linenumber`,`react-syntax-highlighter-line-number`],style:t},children:[{type:`text`,value:e}]}}function I8(e,t,n){var r={display:`inline-block`,minWidth:P8(n),paddingRight:`1em`,textAlign:`right`,userSelect:`none`},i=typeof e==`function`?e(t):e;return k8(k8({},r),i)}function L8(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,i=e.largestLineNumber,a=e.showInlineLineNumbers,o=e.lineProps,s=o===void 0?{}:o,c=e.className,l=c===void 0?[]:c,u=e.showLineNumbers,d=e.wrapLongLines,f=e.wrapLines,p=f!==void 0&&f?k8({},typeof s==`function`?s(n):s):{};if(p.className=p.className?[].concat(d8(p.className.trim().split(/\s+/)),d8(l)):l,n&&a){var m=I8(r,n,i);t.unshift(F8(n,m))}return d&u&&(p.style=k8({display:`flex`},p.style)),{type:`element`,tagName:`span`,properties:p,children:t}}function R8(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];e.length===void 0&&(e=[e]);for(var r=0;r<e.length;r++){var i=e[r];if(i.type===`text`)n.push(L8({children:[i],className:d8(new Set(t))}));else if(i.children){var a=t.concat(i.properties?.className||[]);R8(i.children,a).forEach(function(e){return n.push(e)})}}return n}function z8(e,t,n,r,i,a,o,s,c){var l,u=R8(e.value),d=[],f=-1,p=0;function m(e,a){return L8({children:e,lineNumber:a,lineNumberStyle:s,largestLineNumber:o,showInlineLineNumbers:i,lineProps:n,className:arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],showLineNumbers:r,wrapLongLines:c,wrapLines:t})}function h(e,t){if(r&&t&&i){var n=I8(s,t,o);e.unshift(F8(t,n))}return e}function g(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||r.length>0?m(e,n,r):h(e,n)}for(var _=function(){var e=u[p],t=e.children[0].value;if(j8(t)){var n=t.split(`
472
+ ${u}`,i=e.length;break}return i===0?e:r+e.slice(i)},j6=(e,t)=>{if(!t.length)return e;let n=e;for(let e of t){let t=RegExp(`(<${e}(?=[\\s>/])[^>]*>)([\\s\\S]*?)(</${e}\\s*>)`,`gi`);n=n.replace(t,(e,t,n,r)=>k6(t,n,r)),n=A6(n,e)}return n},M6=/([\\`*_~[\]|])/g,N6=e=>e.replace(M6,`\\$1`),P6=(e,t)=>{if(!t.length)return e;let n=e;for(let e of t){let t=RegExp(`(<${e}(?=[\\s>/])[^>]*>)([\\s\\S]*?)(</${e}\\s*>)`,`gi`);n=n.replace(t,(e,t,n,r)=>t+N6(n).replace(/\n\n/g,`&#10;&#10;`)+r)}return n},F6=new Set([`blockquote`,`dd`,`dt`,`figcaption`,`h1`,`h2`,`h3`,`h4`,`h5`,`h6`,`li`,`p`,`td`,`th`]),I6=new Set([`code`,`kbd`,`pre`,`samp`,`var`]);function L6(e){return e.children.map(e=>e.type===`text`?e.value:e.type===`element`&&!I6.has(e.tagName)?L6(e):``).join(``)}function R6(){return e=>{rO(e,`element`,e=>{if(I6.has(e.tagName)){e.properties??={},e.properties.dir=`ltr`;return}F6.has(e.tagName)&&(e.properties??={},typeof e.properties.dir!=`string`&&(e.properties.dir=Y3(L6(e))))})}}var z6=e=>e.type===`text`?e.value:`children`in e&&Array.isArray(e.children)?e.children.map(z6).join(``):``,B6=e=>t=>{if(!e||e.length===0)return;let n=new Set(e.map(e=>e.toLowerCase()));rO(t,`element`,e=>{if(n.has(e.tagName.toLowerCase())){let t=z6(e);e.children=t?[{type:`text`,value:t}]:[]}})},V6=()=>e=>{rO(e,`code`,e=>{e.meta&&(e.data=e.data??{},e.data.hProperties={...e.data.hProperties??{},metastring:e.meta})})},H6=/^[ \t]*<[\w!/?-]/,U6=/(^|\n)[ \t]{4,}(?=<[\w!/?-])/g,W6=e=>typeof e!=`string`||e.length===0||!H6.test(e)?e:e.replace(U6,`$1`),G6={...xB,clobberPrefix:``,protocols:{...xB.protocols,href:[...xB.protocols?.href??[],`tel`,`streamdown`]},attributes:{...xB.attributes,code:[...xB.attributes?.code??[],`metastring`]}},K6={raw:yB,sanitize:[RB,G6],harden:[qQ,{allowedImagePrefixes:[`*`],allowedLinkPrefixes:[`*`],allowedProtocols:[`*`],defaultOrigin:void 0,allowDataImages:!0}]},q6={gfm:[RU,{}],codeMeta:V6},J6=Object.values(K6),Y6=Object.values(q6),X6={block:` ▋`,circle:` ●`},Z6=[`github-light`,`github-dark`],Q6={enabled:!0},$6=(0,d.createContext)({codeBlockMaxHeight:400,shikiTheme:Z6,controls:!0,isAnimating:!1,lineNumbers:!0,mode:`streaming`,mermaid:void 0,linkSafety:Q6,tableMaxHeight:300}),e8=(0,d.memo)(({content:e,shouldParseIncompleteMarkdown:t,shouldNormalizeHtmlIndentation:n,index:r,isIncomplete:i,dir:a,animatePlugin:o,...s})=>{(0,d.useLayoutEffect)(()=>{o?.commit()});let c=typeof e==`string`&&n?W6(e):e,l=(0,T.jsx)(a6,{...s,children:c});return(0,T.jsx)(n4.Provider,{value:i,children:a?(0,T.jsx)(`div`,{dir:a,style:{display:`contents`},children:l}):l})},(e,t)=>{if(e.content!==t.content||e.shouldNormalizeHtmlIndentation!==t.shouldNormalizeHtmlIndentation||e.index!==t.index||e.isIncomplete!==t.isIncomplete||e.dir!==t.dir)return!1;if(e.components!==t.components){let n=Object.keys(e.components||{}),r=Object.keys(t.components||{});if(n.length!==r.length||n.some(n=>e.components?.[n]!==t.components?.[n]))return!1}return e.rehypePlugins===t.rehypePlugins&&e.remarkPlugins===t.remarkPlugins&&!!e.animatePlugin==!!t.animatePlugin});e8.displayName=`Block`;var t8=(0,d.memo)(({children:e,mode:t=`streaming`,dir:n,parseIncompleteMarkdown:r=!0,normalizeHtmlIndentation:i=!1,components:a,rehypePlugins:o=J6,remarkPlugins:s=Y6,className:c,shikiTheme:l,mermaid:u,codeBlockMaxHeight:f=400,controls:p=!0,isAnimating:m=!1,tableMaxHeight:h=300,animated:g,BlockComponent:_=e8,parseMarkdownIntoBlocksFn:v=T6,caret:y,plugins:b,remend:x,linkSafety:S=Q6,lineNumbers:C=!0,allowedTags:w,literalTagContent:E,translations:D,icons:O,prefix:k,onAnimationStart:A,onAnimationEnd:j,...M})=>{let N=(0,d.useId)(),ee=(0,d.useMemo)(()=>o4(k),[k]),te=(0,d.useRef)(null),P=(0,d.useRef)(A),ne=(0,d.useRef)(j);P.current=A,ne.current=j,(0,d.useEffect)(()=>{var e,n,r;if(t===`static`)return;let i=te.current;if(te.current=m,i===null){m&&((e=P.current)==null||e.call(P));return}m&&!i?(n=P.current)==null||n.call(P):!m&&i&&((r=ne.current)==null||r.call(ne))},[m,t]);let re=(0,d.useMemo)(()=>w?Object.keys(w):[],[w]),ie=(0,d.useMemo)(()=>{if(typeof e!=`string`)return``;let n=t===`streaming`&&r?W1(e,x):e;return E&&E.length>0&&(n=P6(n,E)),re.length>0&&(n=j6(n,re)),n},[e,t,r,x,re,E]),ae=(0,d.useMemo)(()=>v(ie),[ie,v]),oe=(0,d.useMemo)(()=>n===`auto`?ae.map(Y3):void 0,[ae,n]),se=(0,d.useMemo)(()=>ae.map((e,t)=>`${N}-${t}`),[ae.length,N]),ce=(0,d.useMemo)(()=>g===!0?`true`:g?JSON.stringify(g):``,[g]),le=(0,d.useRef)(null),ue=(0,d.useRef)([]),de=(0,d.useRef)([]),fe=(0,d.useRef)(null),pe=(0,d.useRef)(``);ce?(pe.current===ce?le.current||=M2():(pe.current=ce,le.current=M2({maxBacklogMs:ce===`true`?void 0:g.maxBacklogMs}),ue.current=[],de.current=[]),m&&le.current&&le.current.beginPass(le.current.now())):(le.current=null,ue.current=[],de.current=[],pe.current=``),(0,d.useLayoutEffect)(()=>{var e;m&&((e=le.current)==null||e.commitPass())});let me=(0,d.useMemo)(()=>({codeBlockMaxHeight:f,shikiTheme:l??(b?.code)?.getThemes()??Z6,controls:p,isAnimating:m,lineNumbers:C,mode:t,mermaid:u,linkSafety:S,tableMaxHeight:h}),[f,l,p,m,C,t,u,S,b?.code,h]),he=(0,d.useMemo)(()=>D?JSON.stringify(D):``,[D]),ge=(0,d.useMemo)(()=>({...k4,...D}),[he]),_e=(0,d.useMemo)(()=>{let{inlineCode:e,...t}=a??{},n={...K3,...t};if(e){let t=n.code;n.code=n=>`data-block`in n?t?(0,d.createElement)(t,n):null:(0,d.createElement)(e,n)}return n},[a]),ve=(0,d.useMemo)(()=>{let e=[];return b!=null&&b.cjk&&(e=[...e,...b.cjk.remarkPluginsBefore]),e=[...e,...s],b!=null&&b.cjk&&(e=[...e,...b.cjk.remarkPluginsAfter]),b!=null&&b.math&&(e=[...e,b.math.remarkPlugin]),e},[s,b?.math,b?.cjk]),ye=(0,d.useMemo)(()=>{let e=o;if(w&&Object.keys(w).length>0&&o===J6){let t={...G6,tagNames:[...G6.tagNames??[],...Object.keys(w)],attributes:{...G6.attributes,...w}};e=[K6.raw,[RB,t],K6.harden]}return E&&E.length>0&&(e=[...e,[B6,E]]),b!=null&&b.math&&(e=[...e,b.math.rehypePlugin]),n===`auto`&&t===`static`&&(e=[...e,R6]),e},[o,b?.math,w,E,n,t]),be=(0,d.useMemo)(()=>{if(!m||ae.length===0)return!1;let e=ae.at(-1);return Q3(e)||$3(e)},[m,ae]),xe=(0,d.useMemo)(()=>y&&m&&!be?{"--streamdown-caret":`"${X6[y]}"`}:void 0,[y,m,be]),Se=e=>{let t=null;if(le.current&&m){if(!ue.current[e]){let{maxBacklogMs:t,...n}=ce&&ce!==`true`?g:{};ue.current[e]=t4({...n,timeline:le.current})}t=ue.current[e]}fe.current!==ye&&(de.current=[],fe.current=ye),t&&!de.current[e]&&(de.current[e]=[...ye,t.rehypePlugin]);let n=t&&de.current[e]?de.current[e]:ye;return{blockAnimatePlugin:t,blockRehypePlugins:n}};return t===`static`?(0,T.jsx)(A4.Provider,{value:ge,children:(0,T.jsx)(U4.Provider,{value:b??null,children:(0,T.jsx)($6.Provider,{value:me,children:(0,T.jsx)(D4,{icons:O,children:(0,T.jsx)(c4.Provider,{value:ee,children:(0,T.jsx)(`div`,{className:ee(`space-y-4 whitespace-normal [&>*:first-child]:mt-0 [&>*:last-child]:mb-0`,c),dir:n===`auto`?void 0:n,children:(0,T.jsx)(a6,{components:_e,rehypePlugins:ye,remarkPlugins:ve,...M,children:ie})})})})})})}):(0,T.jsx)(A4.Provider,{value:ge,children:(0,T.jsx)(U4.Provider,{value:b??null,children:(0,T.jsx)($6.Provider,{value:me,children:(0,T.jsx)(D4,{icons:O,children:(0,T.jsx)(c4.Provider,{value:ee,children:(0,T.jsxs)(`div`,{className:ee(`space-y-4 whitespace-normal [&>*:first-child]:mt-0 [&>*:last-child]:mb-0`,y&&!be?`[&>*:last-child]:after:inline [&>*:last-child]:after:align-baseline [&>*:last-child]:after:content-[var(--streamdown-caret)]`:null,c),style:xe,children:[ae.length===0&&y&&m&&(0,T.jsx)(`span`,{}),ae.map((e,t)=>{let a=t===ae.length-1,o=m&&a&&Q3(e),{blockAnimatePlugin:s,blockRehypePlugins:c}=Se(t);return(0,T.jsx)(_,{animatePlugin:s,components:_e,content:e,dir:oe?.[t]??(n===`auto`?void 0:n),index:t,isIncomplete:o,rehypePlugins:c,remarkPlugins:ve,shouldNormalizeHtmlIndentation:i,shouldParseIncompleteMarkdown:r,...M},se[t])})]})})})})})})},(e,t)=>e.children===t.children&&e.shikiTheme===t.shikiTheme&&e.isAnimating===t.isAnimating&&e.animated===t.animated&&e.mode===t.mode&&e.plugins===t.plugins&&e.className===t.className&&e.linkSafety===t.linkSafety&&e.lineNumbers===t.lineNumbers&&e.codeBlockMaxHeight===t.codeBlockMaxHeight&&e.tableMaxHeight===t.tableMaxHeight&&e.normalizeHtmlIndentation===t.normalizeHtmlIndentation&&e.literalTagContent===t.literalTagContent&&JSON.stringify(e.translations)===JSON.stringify(t.translations)&&e.prefix===t.prefix&&e.dir===t.dir);t8.displayName=`Streamdown`;var n8=({children:e,className:t,minZoom:n=.5,maxZoom:r=3,zoomStep:i=.1,showControls:a=!0,initialZoom:o=1,fullscreen:s=!1})=>{let{RotateCcwIcon:c,ZoomInIcon:l,ZoomOutIcon:u}=O4(),f=l4(),p=j4(),m=(0,d.useRef)(null),h=(0,d.useRef)(null),[g,_]=(0,d.useState)(o),[v,y]=(0,d.useState)({x:0,y:0}),[b,x]=(0,d.useState)(!1),[S,C]=(0,d.useState)({x:0,y:0}),[w,E]=(0,d.useState)({x:0,y:0}),D=(0,d.useCallback)(e=>{_(t=>Math.max(n,Math.min(r,t+e)))},[n,r]),O=(0,d.useCallback)(()=>{D(i)},[D,i]),k=(0,d.useCallback)(()=>{D(-i)},[D,i]),A=(0,d.useCallback)(()=>{_(o),y({x:0,y:0})},[o]),j=(0,d.useCallback)(e=>{e.preventDefault();let t=e.deltaY>0?-i:i;D(t)},[D,i]),M=(0,d.useCallback)(e=>{if(e.button!==0||e.isPrimary===!1)return;x(!0),C({x:e.clientX,y:e.clientY}),E(v);let t=e.currentTarget;t instanceof HTMLElement&&t.setPointerCapture(e.pointerId)},[v]),N=(0,d.useCallback)(e=>{if(!b)return;e.preventDefault();let t=e.clientX-S.x,n=e.clientY-S.y;y({x:w.x+t,y:w.y+n})},[b,S,w]),ee=(0,d.useCallback)(e=>{x(!1);let t=e.currentTarget;t instanceof HTMLElement&&t.releasePointerCapture(e.pointerId)},[]);return(0,d.useEffect)(()=>{let e=m.current;if(e)return e.addEventListener(`wheel`,j,{passive:!1}),()=>{e.removeEventListener(`wheel`,j)}},[j]),(0,d.useEffect)(()=>{let e=h.current;if(e&&b)return document.body.style.userSelect=`none`,e.addEventListener(`pointermove`,N,{passive:!1}),e.addEventListener(`pointerup`,ee),e.addEventListener(`pointercancel`,ee),()=>{document.body.style.userSelect=``,e.removeEventListener(`pointermove`,N),e.removeEventListener(`pointerup`,ee),e.removeEventListener(`pointercancel`,ee)}},[b,N,ee]),(0,T.jsxs)(`div`,{className:f(`relative flex flex-col`,s?`h-full w-full`:`min-h-28 w-full`,t),ref:m,style:{cursor:b?`grabbing`:`grab`},children:[a?(0,T.jsxs)(`div`,{className:f(`absolute z-10 flex flex-col gap-1 rounded-md border border-border bg-background/80 p-1 supports-[backdrop-filter]:bg-background/70 supports-[backdrop-filter]:backdrop-blur-sm`,s?`bottom-4 left-4`:`bottom-2 left-2`),children:[(0,T.jsx)(`button`,{"aria-label":p.zoomIn,className:f(`flex items-center justify-center rounded p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`),disabled:g>=r,onClick:O,title:p.zoomIn,type:`button`,children:(0,T.jsx)(l,{"aria-hidden":`true`,size:16})}),(0,T.jsx)(`button`,{"aria-label":p.zoomOut,className:f(`flex items-center justify-center rounded p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`),disabled:g<=n,onClick:k,title:p.zoomOut,type:`button`,children:(0,T.jsx)(u,{"aria-hidden":`true`,size:16})}),(0,T.jsx)(`button`,{"aria-label":p.resetView,className:f(`flex items-center justify-center rounded p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`),onClick:A,title:p.resetView,type:`button`,children:(0,T.jsx)(c,{"aria-hidden":`true`,size:16})})]}):null,(0,T.jsx)(`div`,{className:f(`flex-1 origin-center transition-transform duration-150 ease-out`,s?`flex h-full w-full items-center justify-center`:`flex w-full items-center justify-center`),onPointerDown:M,ref:h,role:`application`,style:{transform:`translate(${v.x}px, ${v.y}px) scale(${g})`,transformOrigin:`center center`,touchAction:`none`,willChange:`transform`},children:e})]})},r8=({chart:e,className:t,config:n,fullscreen:r=!1,showControls:i=!0})=>{let a=l4(),[o,s]=(0,d.useState)(null),[c,l]=(0,d.useState)(!1),[u,f]=(0,d.useState)(``),[p,m]=(0,d.useState)(``),[h,g]=(0,d.useState)(0),{mermaid:_}=(0,d.useContext)($6),v=K4(),y=_?.errorComponent,{shouldRender:b,containerRef:x}=O2({immediate:r});if((0,d.useEffect)(()=>{if(b){if(!v){s(`Mermaid plugin not available. Please add the mermaid plugin to enable diagram rendering.`);return}(async()=>{try{s(null),l(!0);let t=v.getMermaid(n),r=e.split(``).reduce((e,t)=>(e<<5)-e+t.charCodeAt(0)|0,0),i=`mermaid-${Math.abs(r)}-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,{svg:a}=await t.render(i,e);f(a),m(a)}catch(e){if(!(p||u)){let t=e instanceof Error?e.message:`Failed to render Mermaid chart`;s(t)}}finally{l(!1)}})()}},[e,n,h,b,v]),!(b||u||p))return(0,T.jsx)(`div`,{className:a(`my-4 min-h-[200px]`,t),ref:x});if(c&&!u&&!p)return(0,T.jsx)(`div`,{className:a(`my-4 flex justify-center p-4`,t),ref:x,children:(0,T.jsxs)(`div`,{className:a(`flex items-center space-x-2 text-muted-foreground`),children:[(0,T.jsx)(`div`,{className:a(`h-4 w-4 animate-spin rounded-full border-current border-b-2`)}),(0,T.jsx)(`span`,{className:a(`text-sm`),children:`Loading diagram...`})]})});if(o&&!u&&!p)return y?(0,T.jsx)(`div`,{ref:x,children:(0,T.jsx)(y,{chart:e,error:o,retry:()=>g(e=>e+1)})}):(0,T.jsxs)(`div`,{className:a(`rounded-md bg-red-50 p-4`,t),ref:x,children:[(0,T.jsxs)(`p`,{className:a(`font-mono text-red-700 text-sm`),children:[`Mermaid Error: `,o]}),(0,T.jsxs)(`details`,{className:a(`mt-2`),children:[(0,T.jsx)(`summary`,{className:a(`cursor-pointer text-red-600 text-xs`),children:`Show Code`}),(0,T.jsx)(`pre`,{className:a(`mt-2 overflow-x-auto rounded bg-red-100 p-2 text-red-800 text-xs`),children:e})]})]});let S=u||p;return(0,T.jsx)(`div`,{className:a(`size-full`,t),"data-streamdown":`mermaid`,ref:x,children:(0,T.jsx)(n8,{className:a(r?`size-full overflow-hidden`:`overflow-hidden`,t),fullscreen:r,maxZoom:3,minZoom:.5,showControls:i,zoomStep:.1,children:(0,T.jsx)(`div`,{"aria-label":`Mermaid chart`,className:a(`flex justify-center`,r?`size-full items-center`:null),dangerouslySetInnerHTML:{__html:S},role:`img`})})})},i8=1e5,a8=5e3;function o8(e,t=i8){if(e.length<=t)return e;let n=e.lastIndexOf(`
473
+ `,t-1);return n!==-1&&t-n<=a8?e.slice(0,n+1):e.slice(0,t)}function s8(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function c8(e,t){if(e==null)return{};var n,r,i=s8(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function l8(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function u8(e){if(Array.isArray(e))return l8(e)}function d8(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function f8(e,t){if(e){if(typeof e==`string`)return l8(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l8(e,t):void 0}}function p8(){throw TypeError(`Invalid attempt to spread non-iterable instance.
474
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function m8(e){return u8(e)||d8(e)||f8(e)||p8()}function h8(e){"@babel/helpers - typeof";return h8=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},h8(e)}function g8(e,t){if(h8(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(h8(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function _8(e){var t=g8(e,`string`);return h8(t)==`symbol`?t:t+``}function v8(e,t,n){return(t=_8(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y8(){return y8=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},y8.apply(null,arguments)}function b8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function x8(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?b8(Object(n),!0).forEach(function(t){v8(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b8(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function S8(e){var t=e.length;if(t===0||t===1)return e;if(t===2)return[e[0],e[1],`${e[0]}.${e[1]}`,`${e[1]}.${e[0]}`];if(t===3)return[e[0],e[1],e[2],`${e[0]}.${e[1]}`,`${e[0]}.${e[2]}`,`${e[1]}.${e[0]}`,`${e[1]}.${e[2]}`,`${e[2]}.${e[0]}`,`${e[2]}.${e[1]}`,`${e[0]}.${e[1]}.${e[2]}`,`${e[0]}.${e[2]}.${e[1]}`,`${e[1]}.${e[0]}.${e[2]}`,`${e[1]}.${e[2]}.${e[0]}`,`${e[2]}.${e[0]}.${e[1]}`,`${e[2]}.${e[1]}.${e[0]}`];if(t>=4)return[e[0],e[1],e[2],e[3],`${e[0]}.${e[1]}`,`${e[0]}.${e[2]}`,`${e[0]}.${e[3]}`,`${e[1]}.${e[0]}`,`${e[1]}.${e[2]}`,`${e[1]}.${e[3]}`,`${e[2]}.${e[0]}`,`${e[2]}.${e[1]}`,`${e[2]}.${e[3]}`,`${e[3]}.${e[0]}`,`${e[3]}.${e[1]}`,`${e[3]}.${e[2]}`,`${e[0]}.${e[1]}.${e[2]}`,`${e[0]}.${e[1]}.${e[3]}`,`${e[0]}.${e[2]}.${e[1]}`,`${e[0]}.${e[2]}.${e[3]}`,`${e[0]}.${e[3]}.${e[1]}`,`${e[0]}.${e[3]}.${e[2]}`,`${e[1]}.${e[0]}.${e[2]}`,`${e[1]}.${e[0]}.${e[3]}`,`${e[1]}.${e[2]}.${e[0]}`,`${e[1]}.${e[2]}.${e[3]}`,`${e[1]}.${e[3]}.${e[0]}`,`${e[1]}.${e[3]}.${e[2]}`,`${e[2]}.${e[0]}.${e[1]}`,`${e[2]}.${e[0]}.${e[3]}`,`${e[2]}.${e[1]}.${e[0]}`,`${e[2]}.${e[1]}.${e[3]}`,`${e[2]}.${e[3]}.${e[0]}`,`${e[2]}.${e[3]}.${e[1]}`,`${e[3]}.${e[0]}.${e[1]}`,`${e[3]}.${e[0]}.${e[2]}`,`${e[3]}.${e[1]}.${e[0]}`,`${e[3]}.${e[1]}.${e[2]}`,`${e[3]}.${e[2]}.${e[0]}`,`${e[3]}.${e[2]}.${e[1]}`,`${e[0]}.${e[1]}.${e[2]}.${e[3]}`,`${e[0]}.${e[1]}.${e[3]}.${e[2]}`,`${e[0]}.${e[2]}.${e[1]}.${e[3]}`,`${e[0]}.${e[2]}.${e[3]}.${e[1]}`,`${e[0]}.${e[3]}.${e[1]}.${e[2]}`,`${e[0]}.${e[3]}.${e[2]}.${e[1]}`,`${e[1]}.${e[0]}.${e[2]}.${e[3]}`,`${e[1]}.${e[0]}.${e[3]}.${e[2]}`,`${e[1]}.${e[2]}.${e[0]}.${e[3]}`,`${e[1]}.${e[2]}.${e[3]}.${e[0]}`,`${e[1]}.${e[3]}.${e[0]}.${e[2]}`,`${e[1]}.${e[3]}.${e[2]}.${e[0]}`,`${e[2]}.${e[0]}.${e[1]}.${e[3]}`,`${e[2]}.${e[0]}.${e[3]}.${e[1]}`,`${e[2]}.${e[1]}.${e[0]}.${e[3]}`,`${e[2]}.${e[1]}.${e[3]}.${e[0]}`,`${e[2]}.${e[3]}.${e[0]}.${e[1]}`,`${e[2]}.${e[3]}.${e[1]}.${e[0]}`,`${e[3]}.${e[0]}.${e[1]}.${e[2]}`,`${e[3]}.${e[0]}.${e[2]}.${e[1]}`,`${e[3]}.${e[1]}.${e[0]}.${e[2]}`,`${e[3]}.${e[1]}.${e[2]}.${e[0]}`,`${e[3]}.${e[2]}.${e[0]}.${e[1]}`,`${e[3]}.${e[2]}.${e[1]}.${e[0]}`]}var C8={};function w8(e){if(e.length===0||e.length===1)return e;var t=e.join(`.`);return C8[t]||(C8[t]=S8(e)),C8[t]}function T8(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return w8(e.filter(function(e){return e!==`token`})).reduce(function(e,t){return x8(x8({},e),n[t])},t)}function E8(e){return e.join(` `)}function D8(e,t){var n=0;return function(r){return n+=1,r.map(function(r,i){return O8({node:r,stylesheet:e,useInlineStyles:t,key:`code-segment-${n}-${i}`})})}}function O8(e){var t=e.node,n=e.stylesheet,r=e.style,i=r===void 0?{}:r,a=e.useInlineStyles,o=e.key,s=t.properties,c=t.type,l=t.tagName,u=t.value;if(c===`text`)return u;if(l){var f=D8(n,a),p;if(!a)p=x8(x8({},s),{},{className:E8(s.className)});else{var m=Object.keys(n).reduce(function(e,t){return t.split(`.`).forEach(function(t){e.includes(t)||e.push(t)}),e},[]),h=s.className&&s.className.includes(`token`)?[`token`]:[],g=s.className&&h.concat(s.className.filter(function(e){return!m.includes(e)}));p=x8(x8({},s),{},{className:E8(g)||void 0,style:T8(s.className,Object.assign({},s.style,i),n)})}var _=f(t.children);return d.createElement(l,y8({key:o},p),_)}}var k8=(function(e,t){return e.listLanguages().indexOf(t)!==-1}),A8=[`language`,`children`,`style`,`customStyle`,`codeTagProps`,`useInlineStyles`,`showLineNumbers`,`showInlineLineNumbers`,`startingLineNumber`,`lineNumberContainerStyle`,`lineNumberStyle`,`wrapLines`,`wrapLongLines`,`lineProps`,`renderer`,`PreTag`,`CodeTag`,`code`,`astGenerator`];function j8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function M8(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?j8(Object(n),!0).forEach(function(t){v8(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):j8(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var N8=/\n/g;function P8(e){return e.match(N8)}function F8(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(e,t){var i=t+n;return d.createElement(`span`,{key:`line-${t}`,className:`react-syntax-highlighter-line-number`,style:typeof r==`function`?r(i):r},`${i}
475
+ `)})}function I8(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,i=r===void 0?{float:`left`,paddingRight:`10px`}:r,a=e.numberStyle,o=a===void 0?{}:a,s=e.startingLineNumber;return d.createElement(`code`,{style:Object.assign({},n,i)},F8({lines:t.replace(/\n$/,``).split(`
476
+ `),style:o,startingLineNumber:s}))}function L8(e){return`${e.toString().length}.25em`}function R8(e,t){return{type:`element`,tagName:`span`,properties:{key:`line-number--${e}`,className:[`comment`,`linenumber`,`react-syntax-highlighter-line-number`],style:t},children:[{type:`text`,value:e}]}}function z8(e,t,n){var r={display:`inline-block`,minWidth:L8(n),paddingRight:`1em`,textAlign:`right`,userSelect:`none`},i=typeof e==`function`?e(t):e;return M8(M8({},r),i)}function B8(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,i=e.largestLineNumber,a=e.showInlineLineNumbers,o=e.lineProps,s=o===void 0?{}:o,c=e.className,l=c===void 0?[]:c,u=e.showLineNumbers,d=e.wrapLongLines,f=e.wrapLines,p=f!==void 0&&f?M8({},typeof s==`function`?s(n):s):{};if(p.className=p.className?[].concat(m8(p.className.trim().split(/\s+/)),m8(l)):l,n&&a){var m=z8(r,n,i);t.unshift(R8(n,m))}return d&u&&(p.style=M8({display:`flex`},p.style)),{type:`element`,tagName:`span`,properties:p,children:t}}function V8(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];e.length===void 0&&(e=[e]);for(var r=0;r<e.length;r++){var i=e[r];if(i.type===`text`)n.push(B8({children:[i],className:m8(new Set(t))}));else if(i.children){var a=t.concat(i.properties?.className||[]);V8(i.children,a).forEach(function(e){return n.push(e)})}}return n}function H8(e,t,n,r,i,a,o,s,c){var l,u=V8(e.value),d=[],f=-1,p=0;function m(e,a){return B8({children:e,lineNumber:a,lineNumberStyle:s,largestLineNumber:o,showInlineLineNumbers:i,lineProps:n,className:arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],showLineNumbers:r,wrapLongLines:c,wrapLines:t})}function h(e,t){if(r&&t&&i){var n=z8(s,t,o);e.unshift(R8(t,n))}return e}function g(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||r.length>0?m(e,n,r):h(e,n)}for(var _=function(){var e=u[p],t=e.children[0].value;if(P8(t)){var n=t.split(`
477
477
  `);n.forEach(function(t,i){var o=r&&d.length+a,s={type:`text`,value:`${t}
478
- `};if(i===0){var c=g(u.slice(f+1,p).concat(L8({children:[s],className:e.properties.className})),o);d.push(c)}else if(i===n.length-1){var l=u[p+1]&&u[p+1].children&&u[p+1].children[0],m={type:`text`,value:`${t}`};if(l){var h=L8({children:[m],className:e.properties.className});u.splice(p+1,0,h)}else{var _=g([m],o,e.properties.className);d.push(_)}}else{var v=g([s],o,e.properties.className);d.push(v)}}),f=p}p++};p<u.length;)_();if(f!==u.length-1){var v=u.slice(f+1,u.length);if(v&&v.length){var y=g(v,r&&d.length+a);d.push(y)}}return t?d:(l=[]).concat.apply(l,d)}function B8(e){var t=e.rows,n=e.stylesheet,r=e.useInlineStyles;return t.map(function(e,t){return T8({node:e,stylesheet:n,useInlineStyles:r,key:`code-segment-${t}`})})}function V8(e){return e&&e.highlightAuto!==void 0}function H8(e){var t=e.astGenerator,n=e.language,r=e.code,i=e.defaultCodeValue;if(V8(t)){var a=E8(t,n);return n===`text`?{value:i,language:`text`}:a?t.highlight(n,r):t.highlightAuto(r)}try{return n&&n!==`text`?{value:t.highlight(r,n)}:{value:i}}catch{return{value:i}}}function U8(e,t){return function(n){var r=n.language,i=n.children,a=n.style,o=a===void 0?t:a,s=n.customStyle,c=s===void 0?{}:s,l=n.codeTagProps,u=l===void 0?{className:r?`language-${r}`:void 0,style:k8(k8({},o[`code[class*="language-"]`]),o[`code[class*="language-${r}"]`])}:l,f=n.useInlineStyles,p=f===void 0||f,m=n.showLineNumbers,h=m!==void 0&&m,g=n.showInlineLineNumbers,_=g===void 0||g,v=n.startingLineNumber,y=v===void 0?1:v,b=n.lineNumberContainerStyle,x=n.lineNumberStyle,S=x===void 0?{}:x,C=n.wrapLines,w=n.wrapLongLines,T=w!==void 0&&w,E=n.lineProps,D=E===void 0?{}:E,O=n.renderer,k=n.PreTag,A=k===void 0?`pre`:k,j=n.CodeTag,M=j===void 0?`code`:j,N=n.code,ee=N===void 0?(Array.isArray(i)?i[0]:i)||``:N,te=n.astGenerator,P=a8(n,D8);te||=e;var ne=h?d.createElement(N8,{containerStyle:b,codeStyle:u.style||{},numberStyle:S,startingLineNumber:y,codeString:ee}):null,re=o.hljs||o[`pre[class*="language-"]`]||{backgroundColor:`#fff`},ie=V8(te)?`hljs`:`prismjs`,ae=p?Object.assign({},P,{style:Object.assign({},re,c)}):Object.assign({},P,{className:P.className?`${ie} ${P.className}`:ie,style:Object.assign({},c)});if(u.style=k8(T?{whiteSpace:`pre-wrap`}:{whiteSpace:`pre`},u.style),!te)return d.createElement(A,ae,ne,d.createElement(M,u,ee));(C===void 0&&O||T)&&(C=!0),O||=B8;var oe=[{type:`text`,value:ee}],se=H8({astGenerator:te,language:r,code:ee,defaultCodeValue:oe});se.language===null&&(se.value=oe);var ce=y+(ee.match(/\n/g)?.length??0),le=z8(se,C,D,h,_,y,ce,S,T);return d.createElement(A,ae,d.createElement(M,u,!_&&ne,O({rows:le,stylesheet:o,useInlineStyles:p})))}}var W8=`AElig.AMP.Aacute.Acirc.Agrave.Aring.Atilde.Auml.COPY.Ccedil.ETH.Eacute.Ecirc.Egrave.Euml.GT.Iacute.Icirc.Igrave.Iuml.LT.Ntilde.Oacute.Ocirc.Ograve.Oslash.Otilde.Ouml.QUOT.REG.THORN.Uacute.Ucirc.Ugrave.Uuml.Yacute.aacute.acirc.acute.aelig.agrave.amp.aring.atilde.auml.brvbar.ccedil.cedil.cent.copy.curren.deg.divide.eacute.ecirc.egrave.eth.euml.frac12.frac14.frac34.gt.iacute.icirc.iexcl.igrave.iquest.iuml.laquo.lt.macr.micro.middot.nbsp.not.ntilde.oacute.ocirc.ograve.ordf.ordm.oslash.otilde.ouml.para.plusmn.pound.quot.raquo.reg.sect.shy.sup1.sup2.sup3.szlig.thorn.times.uacute.ucirc.ugrave.uml.uuml.yacute.yen.yuml`.split(`.`),G8={0:`�`,128:`€`,130:`‚`,131:`ƒ`,132:`„`,133:`…`,134:`†`,135:`‡`,136:`ˆ`,137:`‰`,138:`Š`,139:`‹`,140:`Œ`,142:`Ž`,145:`‘`,146:`’`,147:`“`,148:`”`,149:`•`,150:`–`,151:`—`,152:`˜`,153:`™`,154:`š`,155:`›`,156:`œ`,158:`ž`,159:`Ÿ`};function K8(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=48&&t<=57}function q8(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}function J8(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}function Y8(e){return J8(e)||K8(e)}var X8=[``,`Named character references must be terminated by a semicolon`,`Numeric character references must be terminated by a semicolon`,`Named character references cannot be empty`,`Numeric character references cannot be empty`,`Named character references must be known`,`Numeric character references cannot be disallowed`,`Numeric character references cannot be outside the permissible Unicode range`];function Z8(e,t){let n=t||{},r=typeof n.additional==`string`?n.additional.charCodeAt(0):n.additional,i=[],a=0,o=-1,s=``,c,l;n.position&&(`start`in n.position||`indent`in n.position?(l=n.position.indent,c=n.position.start):c=n.position);let u=(c?c.line:0)||1,d=(c?c.column:0)||1,f=m(),p;for(a--;++a<=e.length;)if(p===10&&(d=(l?l[o]:0)||1),p=e.charCodeAt(a),p===38){let t=e.charCodeAt(a+1);if(t===9||t===10||t===12||t===32||t===38||t===60||Number.isNaN(t)||r&&t===r){s+=String.fromCharCode(p),d++;continue}let o=a+1,c=o,l=o,u;if(t===35){l=++c;let t=e.charCodeAt(l);t===88||t===120?(u=`hexadecimal`,l=++c):u=`decimal`}else u=`named`;let _=``,v=``,y=``,b=u===`named`?Y8:u===`decimal`?K8:q8;for(l--;++l<=e.length;){let t=e.charCodeAt(l);if(!b(t))break;y+=String.fromCharCode(t),u===`named`&&W8.includes(y)&&(_=y,v=ew(y))}let x=e.charCodeAt(l)===59;if(x){l++;let e=u===`named`&&ew(y);e&&(_=y,v=e)}let S=1+l-o,C=``;if(!(!x&&n.nonTerminated===!1)){if(!y)u!==`named`&&h(4,S);else if(u===`named`){if(x&&!v)h(5,1);else if(_!==y&&(l=c+_.length,S=1+l-c,x=!1),!x){let t=_?1:3;if(n.attribute){let n=e.charCodeAt(l);n===61?(h(t,S),v=``):Y8(n)?v=``:h(t,S)}else h(t,S)}C=v}else{x||h(2,S);let e=Number.parseInt(y,u===`hexadecimal`?16:10);if(Q8(e))h(7,S),C=`�`;else if(e in G8)h(6,S),C=G8[e];else{let t=``;$8(e)&&h(6,S),e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10|55296),e=56320|e&1023),C=t+String.fromCharCode(e)}}}if(C){g(),f=m(),a=l-1,d+=l-o+1,i.push(C);let t=m();t.offset++,n.reference&&n.reference.call(n.referenceContext||void 0,C,{start:f,end:t},e.slice(o-1,l)),f=t}else y=e.slice(o-1,l),s+=y,d+=y.length,a=l-1}else p===10&&(u++,o++,d=0),Number.isNaN(p)?g():(s+=String.fromCharCode(p),d++);return i.join(``);function m(){return{line:u,column:d,offset:a+((c?c.offset:0)||0)}}function h(e,t){let r;n.warning&&(r=m(),r.column+=t,r.offset+=t,n.warning.call(n.warningContext||void 0,X8[e],r,e))}function g(){s&&=(i.push(s),n.text&&n.text.call(n.textContext||void 0,s,{start:f,end:m()}),``)}}function Q8(e){return e>=55296&&e<=57343||e>1114111}function $8(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)==65535||(e&65535)==65534}var e5=0,t5={},n5={util:{type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++e5}),e.__id},clone:function e(t,n){n||={};var r,i;switch(n5.util.type(t)){case`Object`:if(i=n5.util.objId(t),n[i])return n[i];for(var a in r={},n[i]=r,t)t.hasOwnProperty(a)&&(r[a]=e(t[a],n));return r;case`Array`:return i=n5.util.objId(t),n[i]?n[i]:(r=[],n[i]=r,t.forEach(function(t,i){r[i]=e(t,n)}),r);default:return t}}},languages:{plain:t5,plaintext:t5,text:t5,txt:t5,extend:function(e,t){var n=n5.util.clone(n5.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){r||=n5.languages;var i=r[e],a={};for(var o in i)if(i.hasOwnProperty(o)){if(o==t)for(var s in n)n.hasOwnProperty(s)&&(a[s]=n[s]);n.hasOwnProperty(o)||(a[o]=i[o])}var c=r[e];return r[e]=a,n5.languages.DFS(n5.languages,function(t,n){n===c&&t!=e&&(this[t]=a)}),a},DFS:function e(t,n,r,i){i||={};var a=n5.util.objId;for(var o in t)if(t.hasOwnProperty(o)){n.call(t,o,t[o],r||o);var s=t[o],c=n5.util.type(s);c===`Object`&&!i[a(s)]?(i[a(s)]=!0,e(s,n,null,i)):c===`Array`&&!i[a(s)]&&(i[a(s)]=!0,e(s,n,o,i))}}},plugins:{},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(n5.hooks.run(`before-tokenize`,r),!r.grammar)throw Error(`The language "`+r.language+`" has no grammar.`);return r.tokens=n5.tokenize(r.code,r.grammar),n5.hooks.run(`after-tokenize`,r),r5.stringify(n5.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new o5;return s5(i,i.head,e),a5(e,i,t,i.head,0),l5(i)},hooks:{all:{},add:function(e,t){var n=n5.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=n5.hooks.all[e];if(!(!n||!n.length))for(var r=0,i;i=n[r++];)i(t)}},Token:r5};function r5(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||``).length|0}function i5(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function a5(e,t,n,r,i,a){for(var o in n)if(!(!n.hasOwnProperty(o)||!n[o])){var s=n[o];s=Array.isArray(s)?s:[s];for(var c=0;c<s.length;++c){if(a&&a.cause==o+`,`+c)return;var l=s[c],u=l.inside,d=!!l.lookbehind,f=!!l.greedy,p=l.alias;if(f&&!l.pattern.global){var m=l.pattern.toString().match(/[imsuy]*$/)[0];l.pattern=RegExp(l.pattern.source,m+`g`)}for(var h=l.pattern||l,g=r.next,_=i;g!==t.tail&&!(a&&_>=a.reach);_+=g.value.length,g=g.next){var v=g.value;if(t.length>e.length)return;if(!(v instanceof r5)){var y=1,b;if(f){if(b=i5(h,_,e,d),!b||b.index>=e.length)break;var x=b.index,S=b.index+b[0].length,C=_;for(C+=g.value.length;x>=C;)g=g.next,C+=g.value.length;if(C-=g.value.length,_=C,g.value instanceof r5)continue;for(var w=g;w!==t.tail&&(C<S||typeof w.value==`string`);w=w.next)y++,C+=w.value.length;y--,v=e.slice(_,C),b.index-=_}else if(b=i5(h,0,v,d),!b)continue;var x=b.index,T=b[0],E=v.slice(0,x),D=v.slice(x+T.length),O=_+v.length;a&&O>a.reach&&(a.reach=O);var k=g.prev;E&&(k=s5(t,k,E),_+=E.length),c5(t,k,y);var A=new r5(o,u?n5.tokenize(T,u):T,p,T);if(g=s5(t,k,A),D&&s5(t,g,D),y>1){var j={cause:o+`,`+c,reach:O};a5(e,t,n,g.prev,_,j),a&&j.reach>a.reach&&(a.reach=j.reach)}}}}}}function o5(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function s5(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function c5(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}function l5(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}var u5=n5;function d5(){}d5.prototype=u5;var f5=new d5;f5.highlight=p5,f5.register=m5,f5.alias=h5,f5.registered=g5,f5.listLanguages=_5,f5.util.encode=y5,f5.Token.stringify=v5;function p5(e,t){if(typeof e!=`string`)throw TypeError("Expected `string` for `value`, got `"+e+"`");let n,r;if(t&&typeof t==`object`)n=t;else{if(r=t,typeof r!=`string`)throw TypeError("Expected `string` for `name`, got `"+r+"`");if(Object.hasOwn(f5.languages,r))n=f5.languages[r];else throw Error("Unknown language: `"+r+"` is not registered")}return{type:`root`,children:u5.highlight.call(f5,e,n,r)}}function m5(e){if(typeof e!=`function`||!e.displayName)throw Error("Expected `function` for `syntax`, got `"+e+"`");Object.hasOwn(f5.languages,e.displayName)||e(f5)}function h5(e,t){let n=f5.languages,r={};typeof e==`string`?t&&(r[e]=t):r=e;let i;for(i in r)if(Object.hasOwn(r,i)){let e=r[i],t=typeof e==`string`?[e]:e,a=-1;for(;++a<t.length;)n[t[a]]=n[i]}}function g5(e){if(typeof e!=`string`)throw TypeError("Expected `string` for `aliasOrLanguage`, got `"+e+"`");return Object.hasOwn(f5.languages,e)}function _5(){let e=f5.languages,t=[],n;for(n in e)Object.hasOwn(e,n)&&typeof e[n]==`object`&&t.push(n);return t}function v5(e,t){if(typeof e==`string`)return{type:`text`,value:e};if(Array.isArray(e)){let n=[],r=-1;for(;++r<e.length;)e[r]!==null&&e[r]!==void 0&&e[r]!==``&&n.push(v5(e[r],t));return n}let n={attributes:{},classes:[`token`,e.type],content:v5(e.content,t),language:t,tag:`span`,type:e.type};return e.alias&&n.classes.push(...typeof e.alias==`string`?[e.alias]:e.alias),f5.hooks.run(`wrap`,n),gk(n.tag+`.`+n.classes.join(`.`),b5(n.attributes),n.content)}function y5(e){return e}function b5(e){let t;for(t in e)Object.hasOwn(e,t)&&(e[t]=Z8(e[t]));return e}var x5=U8(f5,{});x5.registerLanguage=function(e,t){return f5.register(t)},x5.alias=function(e,t){return f5.alias(e,t)},S5.displayName=`markup`,S5.aliases=[`atom`,`html`,`mathml`,`rss`,`ssml`,`svg`,`xml`];function S5(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:`attr-equals`},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:`named-entity`},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside[`attr-value`].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside[`internal-subset`].inside=e.languages.markup,e.hooks.add(`wrap`,function(e){e.type===`entity`&&(e.attributes.title=e.content.value.replace(/&amp;/,`&`))}),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(t,n){var r={};r[`language-`+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:e.languages[n]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};i[`language-`+n]={pattern:/[\s\S]+/,inside:e.languages[n]};var a={};a[t]={pattern:RegExp(`(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)`.replace(/__/g,function(){return t}),`i`),lookbehind:!0,greedy:!0,inside:i},e.languages.insertBefore(`markup`,`cdata`,a)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(t,n){e.languages.markup.tag.inside[`special-attr`].push({pattern:RegExp(`(^|["'\\s])(?:`+t+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,`i`),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,`language-`+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:`attr-equals`},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend(`markup`,{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}C5.displayName=`css`,C5.aliases=[];function C5(e){(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+`)*?(?:;|(?=\\s*\\{))`),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:`selector`},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(`\\burl\\((?:`+t.source+`|(?:[^\\\\\\r\\n()"']|\\\\[\\s\\S])*)\\)`,`i`),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(`^`+t.source+`$`),alias:`url`}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+`)*(?=\\s*\\{)`),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined(`style`,`css`),n.tag.addAttribute(`style`,`css`))})(e)}w5.displayName=`clike`,w5.aliases=[];function w5(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}T5.displayName=`javascript`,T5.aliases=[`js`];function T5(e){e.register(w5),e.languages.javascript=e.languages.extend(`clike`,{"class-name":[e.languages.clike[`class-name`],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(`(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])`),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript[`class-name`][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore(`javascript`,`keyword`,{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))`),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:`language-regex`,inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:`function`},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore(`javascript`,`string`,{hashbang:{pattern:/^#!.*/,greedy:!0,alias:`comment`},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:`punctuation`},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:`property`}}),e.languages.insertBefore(`javascript`,`operator`,{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:`property`}}),e.languages.markup&&(e.languages.markup.tag.addInlined(`script`,`javascript`),e.languages.markup.tag.addAttribute(`on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)`,`javascript`)),e.languages.js=e.languages.javascript}E5.displayName=`sql`,E5.aliases=[];function E5(e){e.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}D5.displayName=`c`,D5.aliases=[];function D5(e){e.register(w5),e.languages.c=e.languages.extend(`clike`,{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),e.languages.insertBefore(`c`,`string`,{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),e.languages.insertBefore(`c`,`string`,{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:`property`,inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},e.languages.c.string],char:e.languages.c.char,comment:e.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:`function`}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:`keyword`},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:e.languages.c}}}}),e.languages.insertBefore(`c`,`function`,{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete e.languages.c.boolean}O5.displayName=`cpp`,O5.aliases=[];function O5(e){e.register(D5),(function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=`\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b`.replace(/<keyword>/g,function(){return t.source});e.languages.cpp=e.languages.extend(`c`,{"class-name":[{pattern:RegExp(`(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore(`cpp`,`string`,{module:{pattern:RegExp(`(\\b(?:import|module)\\s+)(?:"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"|<[^<>\\r\\n]*>|`+`<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>`.replace(/<mod-name>/g,function(){return n})+`)`),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:`string`,greedy:!0}}),e.languages.insertBefore(`cpp`,`keyword`,{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:e.languages.cpp}}}}),e.languages.insertBefore(`cpp`,`operator`,{"double-colon":{pattern:/::/,alias:`punctuation`}}),e.languages.insertBefore(`cpp`,`class-name`,{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(`cpp`,{})}}),e.languages.insertBefore(`inside`,`double-colon`,{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp[`base-clause`])})(e)}k5.displayName=`bash`,k5.aliases=[`sh`,`shell`];function k5(e){(function(e){var t=`\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b`,n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:`punctuation`,inside:null},r={bash:n,environment:{pattern:RegExp(`\\$`+t),alias:`constant`},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp(`(\\{)`+t),lookbehind:!0,alias:`constant`}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:`important`},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:`function`},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:`function`}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:`variable`,lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp(`(^|[\\s;|&]|[<>]\\()`+t),lookbehind:!0,alias:`constant`}},alias:`variable`,lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:`variable`,lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp(`\\$?`+t),alias:`constant`},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:`class-name`},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:`important`},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:`important`}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var i=[`comment`,`function-name`,`for-or-select`,`assign-left`,`parameter`,`string`,`environment`,`function`,`keyword`,`builtin`,`boolean`,`file-descriptor`,`operator`,`punctuation`,`number`],a=r.variable[1].inside,o=0;o<i.length;o++)a[i[o]]=e.languages.bash[i[o]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash})(e)}A5.displayName=`yaml`,A5.aliases=[`yml`];function A5(e){(function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r=`(?:`+n.source+`(?:[ ]+`+t.source+`)?|`+t.source+`(?:[ ]+`+n.source+`)?)`,i=`(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&'*,\\-:>?@[\\]\`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*`.replace(/<PLAIN>/g,function(){return`[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]`}),a=`"(?:[^"\\\\\\r\\n]|\\\\.)*"|'(?:[^'\\\\\\r\\n]|\\\\.)*'`;function o(e,t){t=(t||``).replace(/m/g,``)+`m`;var n=`([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))`.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(`([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)`.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:`string`},comment:/#.*/,key:{pattern:RegExp(`((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)`.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return`(?:`+i+`|`+a+`)`})),lookbehind:!0,greedy:!0,alias:`atrule`},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:`important`},datetime:{pattern:o(`\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?`),lookbehind:!0,alias:`number`},boolean:{pattern:o(`false|true`,`i`),lookbehind:!0,alias:`important`},null:{pattern:o(`null|~`,`i`),lookbehind:!0,alias:`important`},string:{pattern:o(a),lookbehind:!0,greedy:!0},number:{pattern:o(`[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)`,`i`),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml})(e)}j5.displayName=`markdown`,j5.aliases=[`md`];function j5(e){e.register(S5),(function(e){function t(e){return e=e.replace(/<inner>/g,function(){return`(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))`}),RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:`+e+`)`)}var n="(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+",r=`\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))`.replace(/__/g,function(){return n}),i=`\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)`;e.languages.markdown=e.languages.extend(`markup`,{}),e.languages.insertBefore(`markdown`,`prolog`,{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:[`yaml`,`language-yaml`],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:`punctuation`},table:{pattern:RegExp(`^`+r+i+`(?:`+r+`)*`,`m`),inside:{"table-data-rows":{pattern:RegExp(`^(`+r+i+`)(?:`+r+`)*$`),lookbehind:!0,inside:{"table-data":{pattern:RegExp(n),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp(`^(`+r+`)`+i+`$`),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp(`^`+r+`$`),inside:{"table-header":{pattern:RegExp(n),alias:`important`,inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:`keyword`},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:`important`,inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:`important`,inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:`punctuation`},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:`punctuation`},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:`url`},bold:{pattern:t(`\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:t(`\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:t(`(~~?)(?:(?!~)<inner>)+\\2`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[`code`,`keyword`]},url:{pattern:t(`!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])`),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),[`url`,`bold`,`italic`,`strike`].forEach(function(t){[`url`,`bold`,`italic`,`strike`,`code-snippet`].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add(`after-tokenize`,function(e){if(e.language!==`markdown`&&e.language!==`md`)return;function t(e){if(!(!e||typeof e==`string`))for(var n=0,r=e.length;n<r;n++){var i=e[n];if(i.type!==`code`){t(i.content);continue}var a=i.content[1],o=i.content[3];if(a&&o&&a.type===`code-language`&&o.type===`code-block`&&typeof a.content==`string`){var s=a.content.replace(/\b#/g,`sharp`).replace(/\b\+\+/g,`pp`);s=(/[a-z][\w-]*/i.exec(s)||[``])[0].toLowerCase();var c=`language-`+s;o.alias?typeof o.alias==`string`?o.alias=[o.alias,c]:o.alias.push(c):o.alias=[c]}}}t(e.tokens)}),e.hooks.add(`wrap`,function(t){if(t.type===`code-block`){for(var n=``,r=0,i=t.classes.length;r<i;r++){var a=t.classes[r],o=/language-(.+)/.exec(a);if(o){n=o[1];break}}var s=e.languages[n];if(s)t.content=e.highlight(t.content.value,s,n);else if(n&&n!==`none`&&e.plugins.autoloader){var c=`md-`+new Date().valueOf()+`-`+Math.floor(Math.random()*0x2386f26fc10000);t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})}}}),RegExp(e.languages.markup.tag.pattern.source,`gi`),String.fromCodePoint||String.fromCharCode,e.languages.md=e.languages.markdown})(e)}M5.displayName=`csharp`,M5.aliases=[`cs`,`dotnet`];function M5(e){e.register(w5),(function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,function(e,n){return`(?:`+t[+n]+`)`})}function n(e,n,r){return RegExp(t(e,n),r||``)}function r(e,t){for(var n=0;n<t;n++)e=e.replace(/<<self>>/g,function(){return`(?:`+e+`)`});return e.replace(/<<self>>/g,`[^\\s\\S]`)}var i={type:`bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void`,typeDeclaration:`class enum interface record struct`,contextual:`add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)`,other:`abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield`};function a(e){return`\\b(?:`+e.trim().replace(/ /g,`|`)+`)\\b`}var o=a(i.typeDeclaration),s=RegExp(a(i.type+` `+i.typeDeclaration+` `+i.contextual+` `+i.other)),c=a(i.typeDeclaration+` `+i.contextual+` `+i.other),l=a(i.type+` `+i.typeDeclaration+` `+i.other),u=r(`<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>`,2),d=r(`\\((?:[^()]|<<self>>)*\\)`,2),f=`@?\\b[A-Za-z_]\\w*\\b`,p=t(`<<0>>(?:\\s*<<1>>)?`,[f,u]),m=t(`(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*`,[c,p]),h=`\\[\\s*(?:,\\s*)*\\]`,g=t(`<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?`,[m,h]),_=t(`(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?`,[t(`\\(<<0>>+(?:,<<0>>+)+\\)`,[t(`[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>`,[u,d,h])]),m,h]),v={keyword:s,punctuation:/[<>()?,.:[\]]/},y=`'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'`,b=`"(?:\\\\.|[^\\\\"\\r\\n])*"`,x=`@"(?:""|\\\\[\\s\\S]|[^\\\\"])*"(?!")`;e.languages.csharp=e.languages.extend(`clike`,{string:[{pattern:n(`(^|[^$\\\\])<<0>>`,[x]),lookbehind:!0,greedy:!0},{pattern:n(`(^|[^@$\\\\])<<0>>`,[b]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(`(\\busing\\s+static\\s+)<<0>>(?=\\s*;)`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)`,[f,_]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+)<<0>>(?=\\s*=)`,[f]),lookbehind:!0},{pattern:n(`(\\b<<0>>\\s+)<<1>>`,[o,p]),lookbehind:!0,inside:v},{pattern:n(`(\\bcatch\\s*\\(\\s*)<<0>>`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\bwhere\\s+)<<0>>`,[f]),lookbehind:!0},{pattern:n(`(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>`,[g]),lookbehind:!0,inside:v},{pattern:n(`\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))`,[_,l,f]),inside:v}],keyword:s,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore(`csharp`,`number`,{range:{pattern:/\.\./,alias:`operator`}}),e.languages.insertBefore(`csharp`,`punctuation`,{"named-parameter":{pattern:n(`([(,]\\s*)<<0>>(?=\\s*:)`,[f]),lookbehind:!0,alias:`punctuation`}}),e.languages.insertBefore(`csharp`,`class-name`,{namespace:{pattern:n(`(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])`,[f]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(`(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))`,[d]),lookbehind:!0,alias:`class-name`,inside:v},"return-type":{pattern:n(`<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))`,[_,m]),inside:v,alias:`class-name`},"constructor-invocation":{pattern:n(`(\\bnew\\s+)<<0>>(?=\\s*[[({])`,[_]),lookbehind:!0,inside:v,alias:`class-name`},"generic-method":{pattern:n(`<<0>>\\s*<<1>>(?=\\s*\\()`,[f,u]),inside:{function:n(`^<<0>>`,[f]),generic:{pattern:RegExp(u),alias:`class-name`,inside:v}}},"type-list":{pattern:n(`\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))`,[o,p,f,_,s.source,d,`\\bnew\\s*\\(\\s*\\)`]),lookbehind:!0,inside:{"record-arguments":{pattern:n(`(^(?!new\\s*\\()<<0>>\\s*)<<1>>`,[p,d]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:s,"class-name":{pattern:RegExp(_),greedy:!0,inside:v},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:`property`,inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:`keyword`}}}});var S=b+`|`+y,C=t(`\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>`,[S]),w=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),T=`\\b(?:assembly|event|field|method|module|param|property|return|type)\\b`,E=t(`<<0>>(?:\\s*\\(<<1>>*\\))?`,[m,w]);e.languages.insertBefore(`csharp`,`class-name`,{attribute:{pattern:n(`((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])`,[T,E]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(`^<<0>>(?=\\s*:)`,[T]),alias:`keyword`},"attribute-arguments":{pattern:n(`\\(<<0>>*\\)`,[w]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var D=`:[^}\\r\\n]+`,O=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),k=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[O,D]),A=r(t(`[^"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)`,[S]),2),j=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[A,D]);function M(t,r){return{interpolation:{pattern:n(`((?:^|[^{])(?:\\{\\{)*)<<0>>`,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(`(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)`,[r,D]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:`language-csharp`,inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore(`csharp`,`string`,{"interpolation-string":[{pattern:n(`(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{"])*"`,[k]),lookbehind:!0,greedy:!0,inside:M(k,O)},{pattern:n(`(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"`,[j]),lookbehind:!0,greedy:!0,inside:M(j,A)}],char:{pattern:RegExp(y),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp})(e)}N5.displayName=`diff`,N5.aliases=[];function N5(e){(function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":`-`,"deleted-arrow":`<`,"inserted-sign":`+`,"inserted-arrow":`>`,unchanged:` `,diff:`!`};Object.keys(t).forEach(function(n){var r=t[n],i=[];/^\w+$/.test(n)||i.push(/\w+/.exec(n)[0]),n===`diff`&&i.push(`bold`),e.languages.diff[n]={pattern:RegExp(`^(?:[`+r+`].*(?:\r
478
+ `};if(i===0){var c=g(u.slice(f+1,p).concat(B8({children:[s],className:e.properties.className})),o);d.push(c)}else if(i===n.length-1){var l=u[p+1]&&u[p+1].children&&u[p+1].children[0],m={type:`text`,value:`${t}`};if(l){var h=B8({children:[m],className:e.properties.className});u.splice(p+1,0,h)}else{var _=g([m],o,e.properties.className);d.push(_)}}else{var v=g([s],o,e.properties.className);d.push(v)}}),f=p}p++};p<u.length;)_();if(f!==u.length-1){var v=u.slice(f+1,u.length);if(v&&v.length){var y=g(v,r&&d.length+a);d.push(y)}}return t?d:(l=[]).concat.apply(l,d)}function U8(e){var t=e.rows,n=e.stylesheet,r=e.useInlineStyles;return t.map(function(e,t){return O8({node:e,stylesheet:n,useInlineStyles:r,key:`code-segment-${t}`})})}function W8(e){return e&&e.highlightAuto!==void 0}function G8(e){var t=e.astGenerator,n=e.language,r=e.code,i=e.defaultCodeValue;if(W8(t)){var a=k8(t,n);return n===`text`?{value:i,language:`text`}:a?t.highlight(n,r):t.highlightAuto(r)}try{return n&&n!==`text`?{value:t.highlight(r,n)}:{value:i}}catch{return{value:i}}}function K8(e,t){return function(n){var r=n.language,i=n.children,a=n.style,o=a===void 0?t:a,s=n.customStyle,c=s===void 0?{}:s,l=n.codeTagProps,u=l===void 0?{className:r?`language-${r}`:void 0,style:M8(M8({},o[`code[class*="language-"]`]),o[`code[class*="language-${r}"]`])}:l,f=n.useInlineStyles,p=f===void 0||f,m=n.showLineNumbers,h=m!==void 0&&m,g=n.showInlineLineNumbers,_=g===void 0||g,v=n.startingLineNumber,y=v===void 0?1:v,b=n.lineNumberContainerStyle,x=n.lineNumberStyle,S=x===void 0?{}:x,C=n.wrapLines,w=n.wrapLongLines,T=w!==void 0&&w,E=n.lineProps,D=E===void 0?{}:E,O=n.renderer,k=n.PreTag,A=k===void 0?`pre`:k,j=n.CodeTag,M=j===void 0?`code`:j,N=n.code,ee=N===void 0?(Array.isArray(i)?i[0]:i)||``:N,te=n.astGenerator,P=c8(n,A8);te||=e;var ne=h?d.createElement(I8,{containerStyle:b,codeStyle:u.style||{},numberStyle:S,startingLineNumber:y,codeString:ee}):null,re=o.hljs||o[`pre[class*="language-"]`]||{backgroundColor:`#fff`},ie=W8(te)?`hljs`:`prismjs`,ae=p?Object.assign({},P,{style:Object.assign({},re,c)}):Object.assign({},P,{className:P.className?`${ie} ${P.className}`:ie,style:Object.assign({},c)});if(u.style=M8(T?{whiteSpace:`pre-wrap`}:{whiteSpace:`pre`},u.style),!te)return d.createElement(A,ae,ne,d.createElement(M,u,ee));(C===void 0&&O||T)&&(C=!0),O||=U8;var oe=[{type:`text`,value:ee}],se=G8({astGenerator:te,language:r,code:ee,defaultCodeValue:oe});se.language===null&&(se.value=oe);var ce=y+(ee.match(/\n/g)?.length??0),le=H8(se,C,D,h,_,y,ce,S,T);return d.createElement(A,ae,d.createElement(M,u,!_&&ne,O({rows:le,stylesheet:o,useInlineStyles:p})))}}var q8=`AElig.AMP.Aacute.Acirc.Agrave.Aring.Atilde.Auml.COPY.Ccedil.ETH.Eacute.Ecirc.Egrave.Euml.GT.Iacute.Icirc.Igrave.Iuml.LT.Ntilde.Oacute.Ocirc.Ograve.Oslash.Otilde.Ouml.QUOT.REG.THORN.Uacute.Ucirc.Ugrave.Uuml.Yacute.aacute.acirc.acute.aelig.agrave.amp.aring.atilde.auml.brvbar.ccedil.cedil.cent.copy.curren.deg.divide.eacute.ecirc.egrave.eth.euml.frac12.frac14.frac34.gt.iacute.icirc.iexcl.igrave.iquest.iuml.laquo.lt.macr.micro.middot.nbsp.not.ntilde.oacute.ocirc.ograve.ordf.ordm.oslash.otilde.ouml.para.plusmn.pound.quot.raquo.reg.sect.shy.sup1.sup2.sup3.szlig.thorn.times.uacute.ucirc.ugrave.uml.uuml.yacute.yen.yuml`.split(`.`),J8={0:`�`,128:`€`,130:`‚`,131:`ƒ`,132:`„`,133:`…`,134:`†`,135:`‡`,136:`ˆ`,137:`‰`,138:`Š`,139:`‹`,140:`Œ`,142:`Ž`,145:`‘`,146:`’`,147:`“`,148:`”`,149:`•`,150:`–`,151:`—`,152:`˜`,153:`™`,154:`š`,155:`›`,156:`œ`,158:`ž`,159:`Ÿ`};function Y8(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=48&&t<=57}function X8(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}function Z8(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}function Q8(e){return Z8(e)||Y8(e)}var $8=[``,`Named character references must be terminated by a semicolon`,`Numeric character references must be terminated by a semicolon`,`Named character references cannot be empty`,`Numeric character references cannot be empty`,`Named character references must be known`,`Numeric character references cannot be disallowed`,`Numeric character references cannot be outside the permissible Unicode range`];function e5(e,t){let n=t||{},r=typeof n.additional==`string`?n.additional.charCodeAt(0):n.additional,i=[],a=0,o=-1,s=``,c,l;n.position&&(`start`in n.position||`indent`in n.position?(l=n.position.indent,c=n.position.start):c=n.position);let u=(c?c.line:0)||1,d=(c?c.column:0)||1,f=m(),p;for(a--;++a<=e.length;)if(p===10&&(d=(l?l[o]:0)||1),p=e.charCodeAt(a),p===38){let t=e.charCodeAt(a+1);if(t===9||t===10||t===12||t===32||t===38||t===60||Number.isNaN(t)||r&&t===r){s+=String.fromCharCode(p),d++;continue}let o=a+1,c=o,l=o,u;if(t===35){l=++c;let t=e.charCodeAt(l);t===88||t===120?(u=`hexadecimal`,l=++c):u=`decimal`}else u=`named`;let _=``,v=``,y=``,b=u===`named`?Q8:u===`decimal`?Y8:X8;for(l--;++l<=e.length;){let t=e.charCodeAt(l);if(!b(t))break;y+=String.fromCharCode(t),u===`named`&&q8.includes(y)&&(_=y,v=ew(y))}let x=e.charCodeAt(l)===59;if(x){l++;let e=u===`named`&&ew(y);e&&(_=y,v=e)}let S=1+l-o,C=``;if(!(!x&&n.nonTerminated===!1)){if(!y)u!==`named`&&h(4,S);else if(u===`named`){if(x&&!v)h(5,1);else if(_!==y&&(l=c+_.length,S=1+l-c,x=!1),!x){let t=_?1:3;if(n.attribute){let n=e.charCodeAt(l);n===61?(h(t,S),v=``):Q8(n)?v=``:h(t,S)}else h(t,S)}C=v}else{x||h(2,S);let e=Number.parseInt(y,u===`hexadecimal`?16:10);if(t5(e))h(7,S),C=`�`;else if(e in J8)h(6,S),C=J8[e];else{let t=``;n5(e)&&h(6,S),e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10|55296),e=56320|e&1023),C=t+String.fromCharCode(e)}}}if(C){g(),f=m(),a=l-1,d+=l-o+1,i.push(C);let t=m();t.offset++,n.reference&&n.reference.call(n.referenceContext||void 0,C,{start:f,end:t},e.slice(o-1,l)),f=t}else y=e.slice(o-1,l),s+=y,d+=y.length,a=l-1}else p===10&&(u++,o++,d=0),Number.isNaN(p)?g():(s+=String.fromCharCode(p),d++);return i.join(``);function m(){return{line:u,column:d,offset:a+((c?c.offset:0)||0)}}function h(e,t){let r;n.warning&&(r=m(),r.column+=t,r.offset+=t,n.warning.call(n.warningContext||void 0,$8[e],r,e))}function g(){s&&=(i.push(s),n.text&&n.text.call(n.textContext||void 0,s,{start:f,end:m()}),``)}}function t5(e){return e>=55296&&e<=57343||e>1114111}function n5(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)==65535||(e&65535)==65534}var r5=0,i5={},a5={util:{type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++r5}),e.__id},clone:function e(t,n){n||={};var r,i;switch(a5.util.type(t)){case`Object`:if(i=a5.util.objId(t),n[i])return n[i];for(var a in r={},n[i]=r,t)t.hasOwnProperty(a)&&(r[a]=e(t[a],n));return r;case`Array`:return i=a5.util.objId(t),n[i]?n[i]:(r=[],n[i]=r,t.forEach(function(t,i){r[i]=e(t,n)}),r);default:return t}}},languages:{plain:i5,plaintext:i5,text:i5,txt:i5,extend:function(e,t){var n=a5.util.clone(a5.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){r||=a5.languages;var i=r[e],a={};for(var o in i)if(i.hasOwnProperty(o)){if(o==t)for(var s in n)n.hasOwnProperty(s)&&(a[s]=n[s]);n.hasOwnProperty(o)||(a[o]=i[o])}var c=r[e];return r[e]=a,a5.languages.DFS(a5.languages,function(t,n){n===c&&t!=e&&(this[t]=a)}),a},DFS:function e(t,n,r,i){i||={};var a=a5.util.objId;for(var o in t)if(t.hasOwnProperty(o)){n.call(t,o,t[o],r||o);var s=t[o],c=a5.util.type(s);c===`Object`&&!i[a(s)]?(i[a(s)]=!0,e(s,n,null,i)):c===`Array`&&!i[a(s)]&&(i[a(s)]=!0,e(s,n,o,i))}}},plugins:{},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(a5.hooks.run(`before-tokenize`,r),!r.grammar)throw Error(`The language "`+r.language+`" has no grammar.`);return r.tokens=a5.tokenize(r.code,r.grammar),a5.hooks.run(`after-tokenize`,r),o5.stringify(a5.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new l5;return u5(i,i.head,e),c5(e,i,t,i.head,0),f5(i)},hooks:{all:{},add:function(e,t){var n=a5.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=a5.hooks.all[e];if(!(!n||!n.length))for(var r=0,i;i=n[r++];)i(t)}},Token:o5};function o5(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||``).length|0}function s5(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function c5(e,t,n,r,i,a){for(var o in n)if(!(!n.hasOwnProperty(o)||!n[o])){var s=n[o];s=Array.isArray(s)?s:[s];for(var c=0;c<s.length;++c){if(a&&a.cause==o+`,`+c)return;var l=s[c],u=l.inside,d=!!l.lookbehind,f=!!l.greedy,p=l.alias;if(f&&!l.pattern.global){var m=l.pattern.toString().match(/[imsuy]*$/)[0];l.pattern=RegExp(l.pattern.source,m+`g`)}for(var h=l.pattern||l,g=r.next,_=i;g!==t.tail&&!(a&&_>=a.reach);_+=g.value.length,g=g.next){var v=g.value;if(t.length>e.length)return;if(!(v instanceof o5)){var y=1,b;if(f){if(b=s5(h,_,e,d),!b||b.index>=e.length)break;var x=b.index,S=b.index+b[0].length,C=_;for(C+=g.value.length;x>=C;)g=g.next,C+=g.value.length;if(C-=g.value.length,_=C,g.value instanceof o5)continue;for(var w=g;w!==t.tail&&(C<S||typeof w.value==`string`);w=w.next)y++,C+=w.value.length;y--,v=e.slice(_,C),b.index-=_}else if(b=s5(h,0,v,d),!b)continue;var x=b.index,T=b[0],E=v.slice(0,x),D=v.slice(x+T.length),O=_+v.length;a&&O>a.reach&&(a.reach=O);var k=g.prev;E&&(k=u5(t,k,E),_+=E.length),d5(t,k,y);var A=new o5(o,u?a5.tokenize(T,u):T,p,T);if(g=u5(t,k,A),D&&u5(t,g,D),y>1){var j={cause:o+`,`+c,reach:O};c5(e,t,n,g.prev,_,j),a&&j.reach>a.reach&&(a.reach=j.reach)}}}}}}function l5(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function u5(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function d5(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}function f5(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}var p5=a5;function m5(){}m5.prototype=p5;var h5=new m5;h5.highlight=g5,h5.register=_5,h5.alias=v5,h5.registered=y5,h5.listLanguages=b5,h5.util.encode=S5,h5.Token.stringify=x5;function g5(e,t){if(typeof e!=`string`)throw TypeError("Expected `string` for `value`, got `"+e+"`");let n,r;if(t&&typeof t==`object`)n=t;else{if(r=t,typeof r!=`string`)throw TypeError("Expected `string` for `name`, got `"+r+"`");if(Object.hasOwn(h5.languages,r))n=h5.languages[r];else throw Error("Unknown language: `"+r+"` is not registered")}return{type:`root`,children:p5.highlight.call(h5,e,n,r)}}function _5(e){if(typeof e!=`function`||!e.displayName)throw Error("Expected `function` for `syntax`, got `"+e+"`");Object.hasOwn(h5.languages,e.displayName)||e(h5)}function v5(e,t){let n=h5.languages,r={};typeof e==`string`?t&&(r[e]=t):r=e;let i;for(i in r)if(Object.hasOwn(r,i)){let e=r[i],t=typeof e==`string`?[e]:e,a=-1;for(;++a<t.length;)n[t[a]]=n[i]}}function y5(e){if(typeof e!=`string`)throw TypeError("Expected `string` for `aliasOrLanguage`, got `"+e+"`");return Object.hasOwn(h5.languages,e)}function b5(){let e=h5.languages,t=[],n;for(n in e)Object.hasOwn(e,n)&&typeof e[n]==`object`&&t.push(n);return t}function x5(e,t){if(typeof e==`string`)return{type:`text`,value:e};if(Array.isArray(e)){let n=[],r=-1;for(;++r<e.length;)e[r]!==null&&e[r]!==void 0&&e[r]!==``&&n.push(x5(e[r],t));return n}let n={attributes:{},classes:[`token`,e.type],content:x5(e.content,t),language:t,tag:`span`,type:e.type};return e.alias&&n.classes.push(...typeof e.alias==`string`?[e.alias]:e.alias),h5.hooks.run(`wrap`,n),gk(n.tag+`.`+n.classes.join(`.`),C5(n.attributes),n.content)}function S5(e){return e}function C5(e){let t;for(t in e)Object.hasOwn(e,t)&&(e[t]=e5(e[t]));return e}var w5=K8(h5,{});w5.registerLanguage=function(e,t){return h5.register(t)},w5.alias=function(e,t){return h5.alias(e,t)},T5.displayName=`markup`,T5.aliases=[`atom`,`html`,`mathml`,`rss`,`ssml`,`svg`,`xml`];function T5(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:`attr-equals`},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:`named-entity`},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside[`attr-value`].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside[`internal-subset`].inside=e.languages.markup,e.hooks.add(`wrap`,function(e){e.type===`entity`&&(e.attributes.title=e.content.value.replace(/&amp;/,`&`))}),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(t,n){var r={};r[`language-`+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:e.languages[n]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};i[`language-`+n]={pattern:/[\s\S]+/,inside:e.languages[n]};var a={};a[t]={pattern:RegExp(`(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)`.replace(/__/g,function(){return t}),`i`),lookbehind:!0,greedy:!0,inside:i},e.languages.insertBefore(`markup`,`cdata`,a)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(t,n){e.languages.markup.tag.inside[`special-attr`].push({pattern:RegExp(`(^|["'\\s])(?:`+t+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,`i`),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,`language-`+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:`attr-equals`},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend(`markup`,{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}E5.displayName=`css`,E5.aliases=[];function E5(e){(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+`)*?(?:;|(?=\\s*\\{))`),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:`selector`},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(`\\burl\\((?:`+t.source+`|(?:[^\\\\\\r\\n()"']|\\\\[\\s\\S])*)\\)`,`i`),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(`^`+t.source+`$`),alias:`url`}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+`)*(?=\\s*\\{)`),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined(`style`,`css`),n.tag.addAttribute(`style`,`css`))})(e)}D5.displayName=`clike`,D5.aliases=[];function D5(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}O5.displayName=`javascript`,O5.aliases=[`js`];function O5(e){e.register(D5),e.languages.javascript=e.languages.extend(`clike`,{"class-name":[e.languages.clike[`class-name`],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(`(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])`),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript[`class-name`][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore(`javascript`,`keyword`,{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))`),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:`language-regex`,inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:`function`},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore(`javascript`,`string`,{hashbang:{pattern:/^#!.*/,greedy:!0,alias:`comment`},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:`punctuation`},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:`property`}}),e.languages.insertBefore(`javascript`,`operator`,{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:`property`}}),e.languages.markup&&(e.languages.markup.tag.addInlined(`script`,`javascript`),e.languages.markup.tag.addAttribute(`on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)`,`javascript`)),e.languages.js=e.languages.javascript}k5.displayName=`sql`,k5.aliases=[];function k5(e){e.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}A5.displayName=`c`,A5.aliases=[];function A5(e){e.register(D5),e.languages.c=e.languages.extend(`clike`,{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),e.languages.insertBefore(`c`,`string`,{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),e.languages.insertBefore(`c`,`string`,{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:`property`,inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},e.languages.c.string],char:e.languages.c.char,comment:e.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:`function`}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:`keyword`},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:e.languages.c}}}}),e.languages.insertBefore(`c`,`function`,{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete e.languages.c.boolean}j5.displayName=`cpp`,j5.aliases=[];function j5(e){e.register(A5),(function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=`\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b`.replace(/<keyword>/g,function(){return t.source});e.languages.cpp=e.languages.extend(`c`,{"class-name":[{pattern:RegExp(`(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore(`cpp`,`string`,{module:{pattern:RegExp(`(\\b(?:import|module)\\s+)(?:"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"|<[^<>\\r\\n]*>|`+`<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>`.replace(/<mod-name>/g,function(){return n})+`)`),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:`string`,greedy:!0}}),e.languages.insertBefore(`cpp`,`keyword`,{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:e.languages.cpp}}}}),e.languages.insertBefore(`cpp`,`operator`,{"double-colon":{pattern:/::/,alias:`punctuation`}}),e.languages.insertBefore(`cpp`,`class-name`,{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(`cpp`,{})}}),e.languages.insertBefore(`inside`,`double-colon`,{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp[`base-clause`])})(e)}M5.displayName=`bash`,M5.aliases=[`sh`,`shell`];function M5(e){(function(e){var t=`\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b`,n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:`punctuation`,inside:null},r={bash:n,environment:{pattern:RegExp(`\\$`+t),alias:`constant`},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp(`(\\{)`+t),lookbehind:!0,alias:`constant`}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:`important`},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:`function`},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:`function`}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:`variable`,lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp(`(^|[\\s;|&]|[<>]\\()`+t),lookbehind:!0,alias:`constant`}},alias:`variable`,lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:`variable`,lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp(`\\$?`+t),alias:`constant`},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:`class-name`},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:`important`},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:`important`}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var i=[`comment`,`function-name`,`for-or-select`,`assign-left`,`parameter`,`string`,`environment`,`function`,`keyword`,`builtin`,`boolean`,`file-descriptor`,`operator`,`punctuation`,`number`],a=r.variable[1].inside,o=0;o<i.length;o++)a[i[o]]=e.languages.bash[i[o]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash})(e)}N5.displayName=`yaml`,N5.aliases=[`yml`];function N5(e){(function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r=`(?:`+n.source+`(?:[ ]+`+t.source+`)?|`+t.source+`(?:[ ]+`+n.source+`)?)`,i=`(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&'*,\\-:>?@[\\]\`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*`.replace(/<PLAIN>/g,function(){return`[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]`}),a=`"(?:[^"\\\\\\r\\n]|\\\\.)*"|'(?:[^'\\\\\\r\\n]|\\\\.)*'`;function o(e,t){t=(t||``).replace(/m/g,``)+`m`;var n=`([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))`.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(`([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)`.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:`string`},comment:/#.*/,key:{pattern:RegExp(`((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)`.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return`(?:`+i+`|`+a+`)`})),lookbehind:!0,greedy:!0,alias:`atrule`},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:`important`},datetime:{pattern:o(`\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?`),lookbehind:!0,alias:`number`},boolean:{pattern:o(`false|true`,`i`),lookbehind:!0,alias:`important`},null:{pattern:o(`null|~`,`i`),lookbehind:!0,alias:`important`},string:{pattern:o(a),lookbehind:!0,greedy:!0},number:{pattern:o(`[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)`,`i`),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml})(e)}P5.displayName=`markdown`,P5.aliases=[`md`];function P5(e){e.register(T5),(function(e){function t(e){return e=e.replace(/<inner>/g,function(){return`(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))`}),RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:`+e+`)`)}var n="(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+",r=`\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))`.replace(/__/g,function(){return n}),i=`\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)`;e.languages.markdown=e.languages.extend(`markup`,{}),e.languages.insertBefore(`markdown`,`prolog`,{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:[`yaml`,`language-yaml`],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:`punctuation`},table:{pattern:RegExp(`^`+r+i+`(?:`+r+`)*`,`m`),inside:{"table-data-rows":{pattern:RegExp(`^(`+r+i+`)(?:`+r+`)*$`),lookbehind:!0,inside:{"table-data":{pattern:RegExp(n),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp(`^(`+r+`)`+i+`$`),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp(`^`+r+`$`),inside:{"table-header":{pattern:RegExp(n),alias:`important`,inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:`keyword`},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:`important`,inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:`important`,inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:`punctuation`},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:`punctuation`},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:`url`},bold:{pattern:t(`\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:t(`\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:t(`(~~?)(?:(?!~)<inner>)+\\2`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[`code`,`keyword`]},url:{pattern:t(`!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])`),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),[`url`,`bold`,`italic`,`strike`].forEach(function(t){[`url`,`bold`,`italic`,`strike`,`code-snippet`].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add(`after-tokenize`,function(e){if(e.language!==`markdown`&&e.language!==`md`)return;function t(e){if(!(!e||typeof e==`string`))for(var n=0,r=e.length;n<r;n++){var i=e[n];if(i.type!==`code`){t(i.content);continue}var a=i.content[1],o=i.content[3];if(a&&o&&a.type===`code-language`&&o.type===`code-block`&&typeof a.content==`string`){var s=a.content.replace(/\b#/g,`sharp`).replace(/\b\+\+/g,`pp`);s=(/[a-z][\w-]*/i.exec(s)||[``])[0].toLowerCase();var c=`language-`+s;o.alias?typeof o.alias==`string`?o.alias=[o.alias,c]:o.alias.push(c):o.alias=[c]}}}t(e.tokens)}),e.hooks.add(`wrap`,function(t){if(t.type===`code-block`){for(var n=``,r=0,i=t.classes.length;r<i;r++){var a=t.classes[r],o=/language-(.+)/.exec(a);if(o){n=o[1];break}}var s=e.languages[n];if(s)t.content=e.highlight(t.content.value,s,n);else if(n&&n!==`none`&&e.plugins.autoloader){var c=`md-`+new Date().valueOf()+`-`+Math.floor(Math.random()*0x2386f26fc10000);t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})}}}),RegExp(e.languages.markup.tag.pattern.source,`gi`),String.fromCodePoint||String.fromCharCode,e.languages.md=e.languages.markdown})(e)}F5.displayName=`csharp`,F5.aliases=[`cs`,`dotnet`];function F5(e){e.register(D5),(function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,function(e,n){return`(?:`+t[+n]+`)`})}function n(e,n,r){return RegExp(t(e,n),r||``)}function r(e,t){for(var n=0;n<t;n++)e=e.replace(/<<self>>/g,function(){return`(?:`+e+`)`});return e.replace(/<<self>>/g,`[^\\s\\S]`)}var i={type:`bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void`,typeDeclaration:`class enum interface record struct`,contextual:`add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)`,other:`abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield`};function a(e){return`\\b(?:`+e.trim().replace(/ /g,`|`)+`)\\b`}var o=a(i.typeDeclaration),s=RegExp(a(i.type+` `+i.typeDeclaration+` `+i.contextual+` `+i.other)),c=a(i.typeDeclaration+` `+i.contextual+` `+i.other),l=a(i.type+` `+i.typeDeclaration+` `+i.other),u=r(`<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>`,2),d=r(`\\((?:[^()]|<<self>>)*\\)`,2),f=`@?\\b[A-Za-z_]\\w*\\b`,p=t(`<<0>>(?:\\s*<<1>>)?`,[f,u]),m=t(`(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*`,[c,p]),h=`\\[\\s*(?:,\\s*)*\\]`,g=t(`<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?`,[m,h]),_=t(`(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?`,[t(`\\(<<0>>+(?:,<<0>>+)+\\)`,[t(`[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>`,[u,d,h])]),m,h]),v={keyword:s,punctuation:/[<>()?,.:[\]]/},y=`'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'`,b=`"(?:\\\\.|[^\\\\"\\r\\n])*"`,x=`@"(?:""|\\\\[\\s\\S]|[^\\\\"])*"(?!")`;e.languages.csharp=e.languages.extend(`clike`,{string:[{pattern:n(`(^|[^$\\\\])<<0>>`,[x]),lookbehind:!0,greedy:!0},{pattern:n(`(^|[^@$\\\\])<<0>>`,[b]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(`(\\busing\\s+static\\s+)<<0>>(?=\\s*;)`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)`,[f,_]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+)<<0>>(?=\\s*=)`,[f]),lookbehind:!0},{pattern:n(`(\\b<<0>>\\s+)<<1>>`,[o,p]),lookbehind:!0,inside:v},{pattern:n(`(\\bcatch\\s*\\(\\s*)<<0>>`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\bwhere\\s+)<<0>>`,[f]),lookbehind:!0},{pattern:n(`(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>`,[g]),lookbehind:!0,inside:v},{pattern:n(`\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))`,[_,l,f]),inside:v}],keyword:s,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore(`csharp`,`number`,{range:{pattern:/\.\./,alias:`operator`}}),e.languages.insertBefore(`csharp`,`punctuation`,{"named-parameter":{pattern:n(`([(,]\\s*)<<0>>(?=\\s*:)`,[f]),lookbehind:!0,alias:`punctuation`}}),e.languages.insertBefore(`csharp`,`class-name`,{namespace:{pattern:n(`(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])`,[f]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(`(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))`,[d]),lookbehind:!0,alias:`class-name`,inside:v},"return-type":{pattern:n(`<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))`,[_,m]),inside:v,alias:`class-name`},"constructor-invocation":{pattern:n(`(\\bnew\\s+)<<0>>(?=\\s*[[({])`,[_]),lookbehind:!0,inside:v,alias:`class-name`},"generic-method":{pattern:n(`<<0>>\\s*<<1>>(?=\\s*\\()`,[f,u]),inside:{function:n(`^<<0>>`,[f]),generic:{pattern:RegExp(u),alias:`class-name`,inside:v}}},"type-list":{pattern:n(`\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))`,[o,p,f,_,s.source,d,`\\bnew\\s*\\(\\s*\\)`]),lookbehind:!0,inside:{"record-arguments":{pattern:n(`(^(?!new\\s*\\()<<0>>\\s*)<<1>>`,[p,d]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:s,"class-name":{pattern:RegExp(_),greedy:!0,inside:v},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:`property`,inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:`keyword`}}}});var S=b+`|`+y,C=t(`\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>`,[S]),w=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),T=`\\b(?:assembly|event|field|method|module|param|property|return|type)\\b`,E=t(`<<0>>(?:\\s*\\(<<1>>*\\))?`,[m,w]);e.languages.insertBefore(`csharp`,`class-name`,{attribute:{pattern:n(`((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])`,[T,E]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(`^<<0>>(?=\\s*:)`,[T]),alias:`keyword`},"attribute-arguments":{pattern:n(`\\(<<0>>*\\)`,[w]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var D=`:[^}\\r\\n]+`,O=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),k=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[O,D]),A=r(t(`[^"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)`,[S]),2),j=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[A,D]);function M(t,r){return{interpolation:{pattern:n(`((?:^|[^{])(?:\\{\\{)*)<<0>>`,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(`(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)`,[r,D]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:`language-csharp`,inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore(`csharp`,`string`,{"interpolation-string":[{pattern:n(`(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{"])*"`,[k]),lookbehind:!0,greedy:!0,inside:M(k,O)},{pattern:n(`(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"`,[j]),lookbehind:!0,greedy:!0,inside:M(j,A)}],char:{pattern:RegExp(y),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp})(e)}I5.displayName=`diff`,I5.aliases=[];function I5(e){(function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":`-`,"deleted-arrow":`<`,"inserted-sign":`+`,"inserted-arrow":`>`,unchanged:` `,diff:`!`};Object.keys(t).forEach(function(n){var r=t[n],i=[];/^\w+$/.test(n)||i.push(/\w+/.exec(n)[0]),n===`diff`&&i.push(`bold`),e.languages.diff[n]={pattern:RegExp(`^(?:[`+r+`].*(?:\r
479
479
  ?|
480
- |(?![\\s\\S])))+`,`m`),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})})(e)}P5.displayName=`docker`,P5.aliases=[`dockerfile`];function P5(e){(function(e){var t=`(?:[ \\t]+(?![ \\t])(?:<SP_BS>)?|<SP_BS>)`.replace(/<SP_BS>/g,function(){return`\\\\[\\r\\n](?:\\s|\\\\[\\r\\n]|#.*(?!.))*(?![\\s#]|\\\\[\\r\\n])`}),n=`"(?:[^"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*"|'(?:[^'\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*'`,r=`--[\\w-]+=(?:<STR>|(?!["'])(?:[^\\s\\\\]|\\\\.)+)`.replace(/<STR>/g,function(){return n}),i={pattern:RegExp(n),greedy:!0},a={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function o(e,n){return e=e.replace(/<OPT>/g,function(){return r}).replace(/<SP>/g,function(){return t}),RegExp(e,n)}e.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:o(`(^(?:ONBUILD<SP>)?\\w+<SP>)<OPT>(?:<SP><OPT>)*`,`i`),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[i,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:o(`(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\\b`,`i`),lookbehind:!0,greedy:!0},{pattern:o(`(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \\t\\\\]+<SP>)AS`,`i`),lookbehind:!0,greedy:!0},{pattern:o(`(^ONBUILD<SP>)\\w+`,`i`),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:a,string:i,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:a},e.languages.dockerfile=e.languages.docker})(e)}F5.displayName=`go`,F5.aliases=[];function F5(e){e.register(w5),e.languages.go=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore(`go`,`string`,{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go[`class-name`]}I5.displayName=`scss`,I5.aliases=[];function I5(e){e.register(C5),e.languages.scss=e.languages.extend(`css`,{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:`important`},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),e.languages.insertBefore(`scss`,`atrule`,{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore(`scss`,`important`,{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),e.languages.insertBefore(`scss`,`function`,{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:`keyword`},placeholder:{pattern:/%[-\w]+/,alias:`selector`},statement:{pattern:/\B!(?:default|optional)\b/i,alias:`keyword`},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}L5.displayName=`json`,L5.aliases=[`webmanifest`];function L5(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`}},e.languages.webmanifest=e.languages.json}R5.displayName=`java`,R5.aliases=[];function R5(e){e.register(w5),(function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=`(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*`,r={pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b`),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)`),lookbehind:!0,inside:r.inside},{pattern:RegExp(`(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)`+n+`[A-Z]\\w*\\b`),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore(`java`,`string`,{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:`string`},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore(`java`,`class-name`,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:`punctuation`},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(`(\\bimport\\s+)`+n+`(?:[A-Z]\\w*|\\*)(?=\\s*;)`),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(`(\\bimport\\s+static\\s+)`+n+`(?:\\w+|\\*)(?=\\s*;)`),lookbehind:!0,alias:`static`,inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(`(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(e)}z5.displayName=`typescript`,z5.aliases=[`ts`];function z5(e){e.register(T5),(function(e){e.languages.typescript=e.languages.extend(`javascript`,{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript[`literal-property`];var t=e.languages.extend(`typescript`,{});delete t[`class-name`],e.languages.typescript[`class-name`].inside=t,e.languages.insertBefore(`typescript`,`function`,{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:`operator`},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:t}}}}),e.languages.ts=e.languages.typescript})(e)}B5.displayName=`python`,B5.aliases=[`py`];function B5(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:`punctuation`},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:`string`},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:[`annotation`,`punctuation`],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python[`string-interpolation`].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}V5.displayName=`jsx`,V5.aliases=[];function V5(e){e.register(T5),e.register(S5),(function(e){var t=e.util.clone(e.languages.javascript),n=`(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)`,r=`(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})`,i=`(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})`;function a(e,t){return e=e.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return i}),RegExp(e,t)}i=a(i).source,e.languages.jsx=e.languages.extend(`markup`,t),e.languages.jsx.tag.pattern=a(`<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:"(?:\\\\[\\s\\S]|[^\\\\"])*"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>`),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside[`attr-value`].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside[`class-name`]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore(`inside`,`attr-name`,{spread:{pattern:a(`<SPREAD>`),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore(`inside`,`special-attr`,{script:{pattern:a(`=<BRACES>`),alias:`language-javascript`,inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:`punctuation`},rest:e.languages.jsx}}},e.languages.jsx.tag);var o=function(e){return e?typeof e==`string`?e:typeof e.content==`string`?e.content:e.content.map(o).join(``):``},s=function(t){for(var n=[],r=0;r<t.length;r++){var i=t[r],a=!1;if(typeof i!=`string`&&(i.type===`tag`&&i.content[0]&&i.content[0].type===`tag`?i.content[0].content[0].content===`</`?n.length>0&&n[n.length-1].tagName===o(i.content[0].content[1])&&n.pop():i.content[i.content.length-1].content===`/>`||n.push({tagName:o(i.content[0].content[1]),openedBraces:0}):n.length>0&&i.type===`punctuation`&&i.content===`{`?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&i.type===`punctuation`&&i.content===`}`?n[n.length-1].openedBraces--:a=!0),(a||typeof i==`string`)&&n.length>0&&n[n.length-1].openedBraces===0){var c=o(i);r<t.length-1&&(typeof t[r+1]==`string`||t[r+1].type===`plain-text`)&&(c+=o(t[r+1]),t.splice(r+1,1)),r>0&&(typeof t[r-1]==`string`||t[r-1].type===`plain-text`)&&(c=o(t[r-1])+c,t.splice(r-1,1),r--),t[r]=new e.Token(`plain-text`,c,null,c)}i.content&&typeof i.content!=`string`&&s(i.content)}};e.hooks.add(`after-tokenize`,function(e){(e.language===`jsx`||e.language===`tsx`)&&s(e.tokens)})})(e)}H5.displayName=`tsx`,H5.aliases=[];function H5(e){e.register(V5),e.register(z5),(function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend(`jsx`,t),delete e.languages.tsx.parameter,delete e.languages.tsx[`literal-property`];var n=e.languages.tsx.tag;n.pattern=RegExp(`(^|[^\\w$]|(?=<\\/))(?:`+n.pattern.source+`)`,n.pattern.flags),n.lookbehind=!0})(e)}U5.displayName=`rust`,U5.aliases=[];function U5(e){(function(e){for(var t=`\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\/`,n=0;n<2;n++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return`[^\\s\\S]`}),e.languages.rust={comment:[{pattern:RegExp(`(^|[^\\\\])`+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:`attr-name`,inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:`punctuation`},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:`symbol`},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:`punctuation`},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:`function`},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:`class-name`},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:`namespace`},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:`namespace`,inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:`property`},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust[`closure-params`].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string})(e)}var W5=k5,G5=D5,K5=O5,q5=M5,J5=C5,Y5=N5,ane=P5,one=F5,sne=R5,cne=T5,lne=L5,une=V5,dne=j5,fne=S5,pne=B5,mne=U5,hne=I5,gne=E5,_ne=H5,vne=z5,yne=A5,X5={'code[class*="language-"]':{color:`#393A34`,fontFamily:`"Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,fontSize:`.9em`,lineHeight:`1.2em`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`},'pre[class*="language-"]':{color:`#393A34`,fontFamily:`"Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,fontSize:`.9em`,lineHeight:`1.2em`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`,padding:`1em`,margin:`.5em 0`,overflow:`auto`,border:`1px solid #dddddd`,backgroundColor:`white`},'pre > code[class*="language-"]':{fontSize:`1em`},'pre[class*="language-"]::-moz-selection':{background:`#C1DEF1`},'pre[class*="language-"] ::-moz-selection':{background:`#C1DEF1`},'code[class*="language-"]::-moz-selection':{background:`#C1DEF1`},'code[class*="language-"] ::-moz-selection':{background:`#C1DEF1`},'pre[class*="language-"]::selection':{background:`#C1DEF1`},'pre[class*="language-"] ::selection':{background:`#C1DEF1`},'code[class*="language-"]::selection':{background:`#C1DEF1`},'code[class*="language-"] ::selection':{background:`#C1DEF1`},':not(pre) > code[class*="language-"]':{padding:`.2em`,paddingTop:`1px`,paddingBottom:`1px`,background:`#f8f8f8`,border:`1px solid #dddddd`},comment:{color:`#008000`,fontStyle:`italic`},prolog:{color:`#008000`,fontStyle:`italic`},doctype:{color:`#008000`,fontStyle:`italic`},cdata:{color:`#008000`,fontStyle:`italic`},namespace:{Opacity:`.7`},string:{color:`#A31515`},punctuation:{color:`#393A34`},operator:{color:`#393A34`},url:{color:`#36acaa`},symbol:{color:`#36acaa`},number:{color:`#36acaa`},boolean:{color:`#36acaa`},variable:{color:`#36acaa`},constant:{color:`#36acaa`},inserted:{color:`#36acaa`},atrule:{color:`#0000ff`},keyword:{color:`#0000ff`},"attr-value":{color:`#0000ff`},".language-autohotkey .token.selector":{color:`#0000ff`},".language-json .token.boolean":{color:`#0000ff`},".language-json .token.number":{color:`#0000ff`},'code[class*="language-css"]':{color:`#0000ff`},function:{color:`#393A34`},deleted:{color:`#9a050f`},".language-autohotkey .token.tag":{color:`#9a050f`},selector:{color:`#800000`},".language-autohotkey .token.keyword":{color:`#00009f`},important:{color:`#e90`,fontWeight:`bold`},bold:{fontWeight:`bold`},italic:{fontStyle:`italic`},"class-name":{color:`#2B91AF`},".language-json .token.property":{color:`#2B91AF`},tag:{color:`#800000`},"attr-name":{color:`#ff0000`},property:{color:`#ff0000`},regex:{color:`#ff0000`},entity:{color:`#ff0000`},"directive.tag.tag":{background:`#ffff00`,color:`#393A34`},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:`#a5a5a5`},".line-numbers .line-numbers-rows > span:before":{color:`#2B91AF`},".line-highlight.line-highlight":{background:`linear-gradient(to right, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0))`}},Z5={'pre[class*="language-"]':{color:`#d4d4d4`,fontSize:`13px`,textShadow:`none`,fontFamily:`Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,lineHeight:`1.5`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`,padding:`1em`,margin:`.5em 0`,overflow:`auto`,background:`#1e1e1e`},'code[class*="language-"]':{color:`#d4d4d4`,fontSize:`13px`,textShadow:`none`,fontFamily:`Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,lineHeight:`1.5`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`},'pre[class*="language-"]::selection':{textShadow:`none`,background:`#264F78`},'code[class*="language-"]::selection':{textShadow:`none`,background:`#264F78`},'pre[class*="language-"] *::selection':{textShadow:`none`,background:`#264F78`},'code[class*="language-"] *::selection':{textShadow:`none`,background:`#264F78`},':not(pre) > code[class*="language-"]':{padding:`.1em .3em`,borderRadius:`.3em`,color:`#db4c69`,background:`#1e1e1e`},".namespace":{Opacity:`.7`},"doctype.doctype-tag":{color:`#569CD6`},"doctype.name":{color:`#9cdcfe`},comment:{color:`#6a9955`},prolog:{color:`#6a9955`},punctuation:{color:`#d4d4d4`},".language-html .language-css .token.punctuation":{color:`#d4d4d4`},".language-html .language-javascript .token.punctuation":{color:`#d4d4d4`},property:{color:`#9cdcfe`},tag:{color:`#569cd6`},boolean:{color:`#569cd6`},number:{color:`#b5cea8`},constant:{color:`#9cdcfe`},symbol:{color:`#b5cea8`},inserted:{color:`#b5cea8`},unit:{color:`#b5cea8`},selector:{color:`#d7ba7d`},"attr-name":{color:`#9cdcfe`},string:{color:`#ce9178`},char:{color:`#ce9178`},builtin:{color:`#ce9178`},deleted:{color:`#ce9178`},".language-css .token.string.url":{textDecoration:`underline`},operator:{color:`#d4d4d4`},entity:{color:`#569cd6`},"operator.arrow":{color:`#569CD6`},atrule:{color:`#ce9178`},"atrule.rule":{color:`#c586c0`},"atrule.url":{color:`#9cdcfe`},"atrule.url.function":{color:`#dcdcaa`},"atrule.url.punctuation":{color:`#d4d4d4`},keyword:{color:`#569CD6`},"keyword.module":{color:`#c586c0`},"keyword.control-flow":{color:`#c586c0`},function:{color:`#dcdcaa`},"function.maybe-class-name":{color:`#dcdcaa`},regex:{color:`#d16969`},important:{color:`#569cd6`},italic:{fontStyle:`italic`},"class-name":{color:`#4ec9b0`},"maybe-class-name":{color:`#4ec9b0`},console:{color:`#9cdcfe`},parameter:{color:`#9cdcfe`},interpolation:{color:`#9cdcfe`},"punctuation.interpolation-punctuation":{color:`#569cd6`},variable:{color:`#9cdcfe`},"imports.maybe-class-name":{color:`#9cdcfe`},"exports.maybe-class-name":{color:`#9cdcfe`},escape:{color:`#d7ba7d`},"tag.punctuation":{color:`#808080`},cdata:{color:`#808080`},"attr-value":{color:`#ce9178`},"attr-value.punctuation":{color:`#ce9178`},"attr-value.punctuation.attr-equals":{color:`#d4d4d4`},namespace:{color:`#4ec9b0`},'pre[class*="language-javascript"]':{color:`#9cdcfe`},'code[class*="language-javascript"]':{color:`#9cdcfe`},'pre[class*="language-jsx"]':{color:`#9cdcfe`},'code[class*="language-jsx"]':{color:`#9cdcfe`},'pre[class*="language-typescript"]':{color:`#9cdcfe`},'code[class*="language-typescript"]':{color:`#9cdcfe`},'pre[class*="language-tsx"]':{color:`#9cdcfe`},'code[class*="language-tsx"]':{color:`#9cdcfe`},'pre[class*="language-css"]':{color:`#ce9178`},'code[class*="language-css"]':{color:`#ce9178`},'pre[class*="language-html"]':{color:`#d4d4d4`},'code[class*="language-html"]':{color:`#d4d4d4`},".language-regex .token.anchor":{color:`#dcdcaa`},".language-html .token.punctuation":{color:`#808080`},'pre[class*="language-"] > code[class*="language-"]':{position:`relative`,zIndex:`1`},".line-highlight.line-highlight":{background:`#f7ebc6`,boxShadow:`inset 5px 0 0 #f7d87c`,zIndex:`0`}},bne={bash:W5,c:G5,cpp:K5,csharp:q5,css:J5,diff:Y5,docker:ane,go:one,java:sne,javascript:cne,json:lne,jsx:une,markdown:dne,markup:fne,python:pne,rust:mne,scss:hne,sql:gne,tsx:_ne,typescript:vne,yaml:yne};for(let[e,t]of Object.entries(bne))x5.registerLanguage(e,t);var xne=5e3,Sne=800;function Q5({code:e,lang:t,headerAction:n,isStreaming:r}){let{isDark:i}=NK(),{t:a}=M(),[o,s]=(0,d.useState)(!1),c=()=>{cK(e).then(()=>{s(!0),setTimeout(()=>s(!1),1500)})},l=e.length>xne||r===!0&&e.length>Sne;return(0,T.jsxs)(`div`,{className:`markdown-code-block`,children:[(0,T.jsxs)(`div`,{className:`markdown-code-header`,children:[(0,T.jsx)(`span`,{className:`markdown-code-lang`,children:t||`text`}),(0,T.jsxs)(`div`,{className:`markdown-code-actions`,children:[n,(0,T.jsx)(`button`,{onClick:c,className:`markdown-code-action`,children:a(o?`i18n.copied`:`i18n.copy`)})]})]}),l?(0,T.jsx)(`pre`,{className:`markdown-code-plain`,style:{margin:0,padding:`11px 13px`,fontSize:`var(--text-md)`,lineHeight:1.62,borderRadius:0,background:`color-mix(in srgb, var(--bg) 92%, var(--bg-panel))`,overflow:`auto`},children:(0,T.jsx)(`code`,{style:{fontFamily:`var(--font-mono)`},children:e})}):(0,T.jsx)(x5,{language:t||`text`,style:i?Z5:X5,showLineNumbers:!0,lineNumberStyle:{color:`var(--text-dim)`,fontStyle:`normal`},customStyle:{margin:0,padding:`11px 13px`,fontSize:`var(--text-md)`,lineHeight:1.62,borderRadius:0,background:`color-mix(in srgb, var(--bg) 92%, var(--bg-panel))`},codeTagProps:{style:{fontFamily:`var(--font-mono)`}},children:e})]})}var $5=.25,e7=.5;function Cne({svg:e,onClose:t}){let{t:n}=M(),r=(0,d.useRef)(null),[i,a]=(0,d.useState)(1);return(0,d.useEffect)(()=>{let e=r.current;if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,e.showModal(),()=>{document.body.style.overflow=t,e.open&&e.close()}},[]),(0,T.jsx)(`dialog`,{ref:r,className:`mermaid-zoom-dialog`,"aria-label":n(`i18n.mermaidViewer`),onCancel:e=>{e.preventDefault(),t()},onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),t())},children:(0,T.jsxs)(`div`,{className:`mermaid-zoom-layout`,children:[(0,T.jsxs)(`div`,{className:`mermaid-zoom-toolbar`,children:[(0,T.jsx)(`span`,{className:`mermaid-zoom-title`,children:n(`i18n.mermaidDiagram`)}),(0,T.jsxs)(`div`,{className:`mermaid-zoom-actions`,children:[(0,T.jsxs)(`div`,{className:`mermaid-zoom-stepper`,children:[(0,T.jsx)(`button`,{type:`button`,onClick:()=>a(e=>Math.max(e7,e-$5)),disabled:i<=e7,title:n(`i18n.zoomOut`),"aria-label":n(`i18n.zoomOut`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M5 12h14`})})}),(0,T.jsxs)(`span`,{className:`mermaid-zoom-value`,children:[Math.round(i*100),`%`]}),(0,T.jsx)(`button`,{type:`button`,onClick:()=>a(e=>Math.min(3,e+$5)),disabled:i>=3,title:n(`i18n.zoomIn`),"aria-label":n(`i18n.zoomIn`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M12 5v14M5 12h14`})})})]}),(0,T.jsx)(`button`,{type:`button`,className:`mermaid-zoom-icon-button`,onClick:()=>a(1),title:n(`i18n.fitToWidth`),"aria-label":n(`i18n.fitToWidth`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M8 3H3v5M16 3h5v5M8 21H3v-5M16 21h5v-5`})})}),(0,T.jsx)(`button`,{type:`button`,className:`mermaid-zoom-icon-button`,onClick:t,title:n(`i18n.close`),"aria-label":n(`i18n.close`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M6 6l12 12M18 6 6 18`})})})]})]}),(0,T.jsx)(`div`,{className:`mermaid-zoom-viewport`,onClick:e=>{e.target===e.currentTarget&&t()},children:(0,T.jsx)(`div`,{className:`mermaid-zoom-canvas`,style:{width:`${i*100}%`},dangerouslySetInnerHTML:{__html:e}})})]})})}function t7({code:e,isStreaming:t,defaultPreview:n=!1}){let{isDark:r}=NK(),{t:i}=M(),[a,o]=(0,d.useState)(n),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(!1),f=`${r?`dark`:`light`}\n${e}`,p=a&&!t;(0,d.useEffect)(()=>{if(!p)return;let t=!1;return c({key:f,status:`loading`}),(async()=>{let{default:n}=await x2(async()=>{let{default:e}=await import(`./mermaid.core-CEYg5CaO.js`);return{default:e}},__vite__mapDeps([2,3,4,5,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19]));if(n.initialize({startOnLoad:!1,securityLevel:`strict`,suppressErrorRendering:!0,theme:r?`dark`:`default`}),!await n.parse(e,{suppressErrors:!0}))throw Error(`Invalid Mermaid diagram`);let i=typeof crypto<`u`&&`randomUUID`in crypto?`mermaid-${crypto.randomUUID()}`:`mermaid-${Date.now()}-${Math.random().toString(36).slice(2)}`,a=await n.render(i,e);t||c({key:f,status:`ready`,svg:a.svg})})().catch(()=>{t||c({key:f,status:`error`})}),()=>{t=!0}},[e,f,r,p]);let m=(0,T.jsx)(`button`,{type:`button`,onClick:()=>o(e=>!e),disabled:t,title:i(t?`i18n.previewAfterStreaming`:p?`i18n.showMermaidSource`:`i18n.previewMermaid`),className:[`markdown-code-action`,p?`is-active`:``].filter(Boolean).join(` `),children:i(p?`i18n.source`:`i18n.preview`)});if(!p)return(0,T.jsx)(Q5,{code:e,lang:`mermaid`,headerAction:m});let h=s?.key===f&&s.status===`error`?(0,T.jsx)(`div`,{className:`mermaid-block mermaid-block-error`,children:i(`i18n.invalidMermaid`)}):s?.key!==f||s.status!==`ready`?(0,T.jsx)(`div`,{className:`mermaid-block mermaid-block-loading`,"aria-label":i(`i18n.renderingMermaid`)}):(0,T.jsxs)(T.Fragment,{children:[!l&&(0,T.jsx)(`button`,{type:`button`,className:`mermaid-block mermaid-preview-button`,title:i(`i18n.openMermaidViewer`),"aria-label":i(`i18n.openMermaidViewer`),onClick:()=>u(!0),dangerouslySetInnerHTML:{__html:s.svg}}),l&&(0,T.jsx)(Cne,{svg:s.svg,onClose:()=>u(!1)})]});return(0,T.jsxs)(`div`,{className:`markdown-code-block`,children:[(0,T.jsxs)(`div`,{className:`markdown-code-header`,children:[(0,T.jsx)(`span`,{className:`markdown-code-lang`,children:`mermaid`}),m]}),h]})}function n7({children:e,className:t,isStreaming:n,cwd:r,onOpenFile:i}){let{t:a}=M(),[o,s]=(0,d.useState)(!1),c=!o&&e.length>1e5,l=(0,d.useMemo)(()=>c?r8(e):e,[c,e]),u=(0,d.useMemo)(()=>QU(l),[l]),f=(0,d.useMemo)(()=>({code({className:e,children:t,...r}){let i=e?.replace(`language-`,``).toLowerCase()??``,a=String(t);return e?.includes(`language-`)||a.includes(`
481
- `)?i===`mermaid`?(0,T.jsx)(t7,{code:a.replace(/\n$/,``),isStreaming:n}):(0,T.jsx)(Q5,{code:a.replace(/\n$/,``),lang:i,isStreaming:n}):(0,T.jsx)(`code`,{className:`markdown-inline-code`,...r,children:t})},pre({children:e}){return(0,T.jsx)(T.Fragment,{children:e})},a({href:e,children:t,...n}){delete n.node;let a=i?pW(e,r):null,o=i;if(!a||!o)return(0,T.jsx)(`a`,{href:e,...n,target:`_blank`,rel:`noopener noreferrer`,children:t});let s=e=>{if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.currentTarget.getAttribute(`target`);t&&t!==`_self`||(e.preventDefault(),o(a))};return(0,T.jsx)(`a`,{href:e,...n,onClick:s,children:t})},img({src:e,alt:t,...n}){delete n.node;let i=typeof e==`string`?pW(e,r):null,a=i?`/api/files/${TS(i)}?type=read`:e;return(0,T.jsx)(`img`,{src:a,alt:t??``,loading:`lazy`,...n})},table({children:e}){return(0,T.jsx)(`div`,{className:`markdown-table-wrap`,children:(0,T.jsx)(`table`,{children:e})})},blockquote({children:e}){return(0,T.jsx)(`blockquote`,{children:e})}}),[r,n,i]);return(0,T.jsxs)(`div`,{className:[`markdown-body`,t].filter(Boolean).join(` `),style:{whiteSpace:`pre-wrap`},children:[(0,T.jsx)(Q6,{remarkPlugins:nW??void 0,rehypePlugins:iW??void 0,components:f,children:u}),c&&(0,T.jsxs)(`button`,{type:`button`,"aria-label":a(`chat.expandMessage`),title:a(`chat.expandMessage`),onClick:()=>s(!0),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:6,width:`100%`,marginTop:6,padding:`5px 0`,border:`none`,borderTop:`1px solid var(--border)`,background:`var(--bg-subtle)`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-base)`},children:[(0,T.jsx)(`span`,{"aria-hidden":`true`,children:`…`}),(0,T.jsx)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`m6 9 6 6 6-6`})})]})]})}function r7(e){if(!e)return null;let t=new Date(e),n=new Date,r=t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate(),i=t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`});return r?i:`${t.toLocaleDateString([],{month:`short`,day:`numeric`,year:t.getFullYear()===n.getFullYear()?void 0:`numeric`})} ${i}`}function i7(e){return typeof e==`string`?e:e.filter(e=>e.type===`text`).map(e=>e.text).join(`
482
- `)}function wne(e){return typeof e==`string`?[]:e.filter(e=>e.type===`image`)}function a7(e){let t=e;return e.source?e.source.type===`base64`?`data:${e.source.media_type};base64,${e.source.data}`:e.source.url??``:t.data?`data:${t.mimeType};base64,${t.data}`:``}function Tne(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Ene(e){return e||`extension`}function Dne(e){let t=e.replace(/\s+/g,` `).trim();return t?t.length>140?`${t.slice(0,140)}...`:t:`Show extension message`}function One(e){let t=e.input;if(!t||typeof t!=`object`)return``;let n=Object.keys(t);if(n.length===0)return``;if(`command`in t)return String(t.command).slice(0,120);if(`path`in t)return String(t.path).slice(0,120);if(`file_path`in t)return String(t.file_path).slice(0,120);if(`pattern`in t)return String(t.pattern).slice(0,120);if(`query`in t)return String(t.query).slice(0,120);let r=t[n[0]];if(Array.isArray(r)){let e=r.map(e=>typeof e==`object`&&e&&`topic`in e?String(e.topic):null).filter(e=>e!==null&&e.length>0);return e.length>0?e.join(` | `).slice(0,120):`[${r.length} items]`}return String(r).slice(0,120)}function kne(e){let t=[];return e.input&&t.push(`${e.input.toLocaleString()} in`),e.output&&t.push(`${e.output.toLocaleString()} out`),e.cacheRead&&t.push(`${e.cacheRead.toLocaleString()} cache R`),e.cacheWrite&&t.push(`${e.cacheWrite.toLocaleString()} cache W`),e.cost?.total&&t.push(`$${e.cost.total.toFixed(4)}`),t.join(` · `)}function Ane({usage:e,isStreaming:t,textContent:n,time:r,turnDurationSecs:i}){let{t:a}=M(),[o,s]=(0,d.useState)(!1);return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:4},children:[e&&!t&&(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:kne(e)}),n&&!t&&(0,T.jsxs)(`button`,{onClick:()=>{cK(n).then(()=>{s(!0),setTimeout(()=>s(!1),1500)})},title:a(`i18n.copyMessage`),style:{display:`flex`,alignItems:`center`,gap:4,padding:`3px 8px`,height:22,background:`none`,border:`none`,borderRadius:5,color:o?`var(--accent)`:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`opacity 0.12s, color 0.12s`,"--hover-color":`var(--accent)`,"--hover-bg":`transparent`},className:o?`msg-row-actions`:`msg-row-actions hover-shift`,children:[o?(0,T.jsx)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,T.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}):(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`rect`,{x:`9`,y:`9`,width:I.lg,height:I.lg,rx:`2`,ry:`2`}),(0,T.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]}),a(o?`i18n.copied`:`i18n.copy`)]}),r&&!t&&(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`,marginLeft:`auto`,fontVariantNumeric:`tabular-nums`},children:[r,i!==void 0&&(0,T.jsxs)(`span`,{children:[` `,`(`,a(`chat.turnDuration`,{duration:EX(i)}),`)`]})]})]})})}function jne({message:e,modelNames:t,isStreaming:n,blocks:r,turnNumber:i,tps:a}){let{t:o}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`,marginBottom:4,display:`flex`,alignItems:`center`,gap:6},children:[i!==void 0&&(0,T.jsx)(FQ,{number:i}),e.provider&&(0,T.jsxs)(`span`,{title:`${e.provider}/${e.model}`,style:{whiteSpace:`nowrap`},children:[(0,T.jsxs)(`span`,{style:{color:`var(--text-dim)`},children:[e.provider,`/`]}),(0,T.jsx)(`span`,{style:{color:`var(--text)`,fontWeight:700},children:t?.[`${e.provider}/${e.model}`]??t?.[e.model]??e.model})]}),n&&(()=>{let e=0;for(let t of r)t.type===`text`?e+=t.text?.length??0:t.type===`thinking`?e+=t.thinking?.length??0:t.type===`toolCall`&&(e+=JSON.stringify(t.input??{}).length);let t=Math.round(e/4);return(0,T.jsx)(T.Fragment,{children:t>0&&(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:4,color:`var(--text)`},title:o(`i18n.estimatedTokens`),children:[(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:2,fontSize:`var(--text-sm)`,fontWeight:400},children:[(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`line`,{x1:`5`,y1:`1.5`,x2:`5`,y2:`8.5`}),(0,T.jsx)(`polyline`,{points:`2 6 5 8.5 8 6`})]}),t]}),a!==null&&(0,T.jsxs)(`span`,{style:{marginLeft:6,padding:`1px 6px`,borderRadius:4,background:a>=50?`#53b3cb`:a>=30?`#9bc53d`:a>=15?`#f9c22e`:`#e01a4f`,color:`#fff`,fontSize:`var(--text-sm)`,fontWeight:400},children:[a.toFixed(1),` t/s`]})]})})})()]})})}var Mne=50,Nne=400;function o7(e,t,n){let r=(0,d.useRef)(!1),i=(0,d.useRef)(0),a=()=>{i.current=Date.now()};return(0,d.useLayoutEffect)(()=>{let n=e.current;if(!t||!n||r.current)return;let i=0,a=()=>{if(r.current)return;let e=n.scrollHeight,t=n.clientHeight;n.scrollTop!==e-t&&(n.scrollTop=e-t),typeof requestAnimationFrame==`function`&&(i=requestAnimationFrame(()=>{n.scrollHeight!==e&&a()}))};return a(),()=>cancelAnimationFrame(i)},[t,...n]),(0,d.useLayoutEffect)(()=>{let t=e.current;if(t)return t.addEventListener(`wheel`,a,{passive:!0}),t.addEventListener(`touchstart`,a,{passive:!0}),t.addEventListener(`touchmove`,a,{passive:!0}),t.addEventListener(`keydown`,a),t.addEventListener(`pointerdown`,a),()=>{t.removeEventListener(`wheel`,a),t.removeEventListener(`touchstart`,a),t.removeEventListener(`touchmove`,a),t.removeEventListener(`keydown`,a),t.removeEventListener(`pointerdown`,a)}},[e]),()=>{let t=e.current;if(!t)return;let n=t.scrollHeight-t.scrollTop-t.clientHeight>Mne;n&&Date.now()-i.current<=Nne?r.current=!0:n||(r.current=!1)}}var{min:s7,max:c7,abs:l7,floor:Pne}=Math,u7=(e,t,n)=>s7(n,c7(t,e)),d7=e=>[...e].sort((e,t)=>e-t),f7=setTimeout,p7=clearTimeout,m7=typeof queueMicrotask==`function`?queueMicrotask:e=>{Promise.resolve().then(e)},h7=()=>{let e;return[new Promise(t=>{e=t}),e]},g7=e=>{let t;return()=>(e&&=(t=e(),void 0),t)},Fne=typeof window<`u`,Ine=e=>e.documentElement,Lne=e=>e.ownerDocument,Rne=e=>e.defaultView,_7=g7(()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>0),zne=g7(()=>`scrollBehavior`in Ine(document).style),Bne=e=>c7(e.t(),e.o()),Vne=({i:e,l:t,u:n,h:r,v:i,S:a,t:o,$:s,m:c,p:l},u=0)=>{let d=!!l,f=!!u,p=1,m=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=null,C=[0,f?c7(u-1,0):-1],w=0,T=!1,E=new Set,D=()=>g-h,O=()=>D()+v+_,k=(e,t)=>{let i=n(e)-v;return t?o()-i-r(e):i},A=e=>{e&&(_7()&&b!==0||S&&x===1?v+=e:_+=e)};return{_:()=>{E.clear()},I:()=>p,i:(t=200)=>{if(!T||f)return C;let n,r;if(y)[n,r]=C;else{let i=c7(0,O()),a=i+m;d||(t=c7(0,t),b!==1&&(i-=t),b!==2&&(a+=t)),[n,r]=C=e(c7(0,i),c7(0,a)),S&&(n=s7(n,S[0]),r=c7(r,S[1]))}return[c7(n,0),s7(r,s()-1)]},k:e=>t(e-h),R:a,u:k,h:r,C:s,T:()=>g,M:()=>b!==0,o:()=>m,O:()=>h,t:o,L:()=>(y=_,_=0,[y,x===2]),H:(e,t)=>{let n=[e,t];return E.add(n),()=>{E.delete(n)}},W:(n,s)=>{let u,C,j=0;switch(n){case 1:{if(s===g&&x===0)break;let e=y;y=0;let t=s-g,n=l7(t);e&&n<l7(e)+1||x!==0||(b=t<0?2:1),f&&=!1,g=s,j=4;let r=D();r>=-m&&r<=o()&&(j+=1,C=n>m);break}case 2:j=8,b!==0&&(u=!0,j+=1),b=0,x=0,S=null;break;case 3:{let e=s.filter(([e,t])=>!a(e,t));if(!e.length)break;A(e.reduce((e,[t,n])=>{let i;if(x===2)i=!0;else if(S&&x===1)i=t<S[0];else{let e=D(),n=k(t),a=r(t);i=b!==1&&x===0?n+a<=e:n<e&&n+a<e+m}return i&&(e+=n-r(t)),e},0));for(let[t,n]of e){let e=r(t),a=i(t,n);d&&(w+=a?n:n-e)}d&&m&&w>m&&(A(l(t(O()))),d=!1),j=3,C=!0;break}case 4:m!==s&&(m||(T=C=!0),m=s,j=3);break;case 5:s[1]?(A(c(s[0],!0)),x=2,j=1):(c(s[0]),j=1);break;case 6:h=s;break;case 7:x=1;break;case 8:S=e(s,s+m),j=1}j&&(p=1+(2147483647&p),u&&v&&(_+=v,v=0),E.forEach(([e,t])=>{j&e&&t(C)}))}}},v7=(e,t,n,r=0,i=t-1)=>{let a=r;for(;r<=i;){let t=Pne((r+i)/2);e(t)<=n?(a=t,r=t+1):i=t-1}return u7(a,0,t-1)},y7=(e,t,n)=>{let r=n?`unshift`:`push`;for(let n=0;n<t;n++)e[r](-1);return e},Hne=(e,t,n)=>{let r=n&&n[1]||t||40,i=-1,a=0,o=n&&n[0],s=o?y7(o.slice(0,s7(e,o.length)),c7(0,e-o.length)):y7([],e),c=y7([],e+1),l=e=>{let t=s[e];return t===-1?r:t},u=t=>{if(!e)return 0;if(i>=t)return c[t];i<0&&(c[0]=0,i=0);let n=i,r=c[n];for(;n<t;)r+=l(n),c[++n]=r;return i=t,r};return{i:(t,n)=>{let r,i;return a=s7(a,e-1),u(a)<=t?(i=v7(u,e,n,a),r=v7(u,e,t,a,i)):(r=v7(u,e,t,void 0,a),i=v7(u,e,n,r)),a=r,[r,i]},l:t=>v7(u,e,t),u,h:l,v:(e,t)=>{let n=s[e]===-1;return s[e]=t,i=s7(e,i),n},S:(e,t=-1)=>s[e]===t,t:()=>u(e),$:()=>e,m:(t,n)=>{let a=t-e;return i=n?-1:s7(t-1,i),e=t,a>0?(y7(c,a),y7(s,a,n),r*a):(c.splice(a),(n?s.splice(0,-a):s.splice(a)).reduce((e,t)=>e-(t===-1?r:t),0))},p:t?void 0:e=>{let t=0,n=[];s.forEach((r,i)=>{r!==-1&&(r&&n.push(r),i<e&&t++)}),i=-1;let a=d7(n),o=a.length,c=o/2|0,l=o%2==0?(a[c-1]+a[c])/2:a[c],u=r;return((r=l)-u)*c7(e-t,0)},B:()=>[s.slice(),r]}},Une=e=>{let t;return{X(n){(t||=new(Rne(Lne(n))).ResizeObserver(e)).observe(n)},Y(e){t.unobserve(e)},q(){t&&t.disconnect()}}},b7=(e,t)=>t?-e:e,Wne=(e,t,n,r,i,a)=>{let o,s=0,c=!1,l=!1,u=!1,d=!1,f=Date.now,p=()=>{if(c||l)return c=!1,void m();u=!1,e.W(2)},m=()=>{p7(o),o=f7(p,150)},h=()=>{s=f(),u&&(d=!0),a&&e.W(6,a()),e.W(1,r()),m()},g=t=>{if(c||!e.M()||t.ctrlKey)return;let r=f()-s;150>r&&50<r&&(n?t.deltaX:t.deltaY)&&(c=!0)},_=()=>{l=!0,u=d=!1},v=()=>{l=!1,_7()&&(u=!0)};return t.addEventListener(`scroll`,h),t.addEventListener(`wheel`,g,{passive:!0}),t.addEventListener(`touchstart`,_,{passive:!0}),t.addEventListener(`touchend`,v,{passive:!0}),{q:()=>{t.removeEventListener(`scroll`,h),t.removeEventListener(`wheel`,g),t.removeEventListener(`touchstart`,_),t.removeEventListener(`touchend`,v),p7(o)},A:()=>{let[t,n]=e.L();t&&(i(t,n,d),d=!1,n&&e.o()>e.t()&&e.W(1,r()))}}},Gne=(e,t,n)=>{let r;return[async(i,a)=>{if(!await t())return;let o,s,c;r&&r();let l=a&&zne(),u=r=()=>{o=!0,p7(s),c&&c()},d=()=>{if(!o){if(e.o()&&(p7(s),s=f7(u,150)),l){for(let[t,n]=e.i(0);t<=n;t++)if(e.R(t))return;u()}e.W(7),n(i(),l)}},f=()=>{if(o)return;let t;c=e.H(2,()=>{t||(t=!0,m7(()=>{t=!1,d()}))}),d()};l?(e.W(8,i()),m7(f)):f()},()=>{r&&r()}]},Kne=(e,t)=>{let n,r,i=h7(),a=!1,o=t?`scrollLeft`:`scrollTop`,s=t?`overflowX`:`overflowY`,[c,l]=Gne(e,()=>i[0],(e,r)=>{e=b7(e,a),r?n.scrollTo({[t?`left`:`top`]:e,behavior:`smooth`}):n[o]=e}),u=t?`width`:`height`,d=new WeakMap,f=Une(t=>{let r=[];for(let{target:i,contentRect:a}of t)if(i.offsetParent){if(i===n)e.W(4,a[u]);else{let e=d.get(i);e!=null&&r.push([e,a[u]])}}r.length&&e.W(3,r)});return{D(c,u=c.parentElement){f.X(n=u),t&&(a=getComputedStyle(u).direction===`rtl`),r=Wne(e,u,t,()=>b7(u[o],a),(t,n,r)=>{if(r){let e=u.style,t=e[s];e[s]=`hidden`,f7(()=>{e[s]=t})}u[o]=b7(e.T()+t,a),n&&l()}),i[1](!0)},_(){f.q(),r&&r.q(),i[1](!1),i=h7()},N:(e,t)=>(d.set(e,t),f.X(e),()=>{d.delete(e),f.Y(e)}),P:()=>a,V:c,J(){r&&r.A()},j:e.O,G:()=>0}},x7=(e,t)=>{e.V(()=>t)},qne=(e,t,n,{align:r,smooth:i,offset:a=0}={})=>{if(n=u7(n,0,t.C()-1),r===`nearest`){let e=t.u(n),i=t.T();if(e<i)r=`start`;else{if(!(e+t.h(n)>i+t.o()))return;r=`end`}}e.V(()=>a+e.j()+t.u(n)+(r===`end`?t.h(n)-(t.o()-e.G()):r===`center`?(t.h(n)-(t.o()-e.G()))/2:0),i)},S7=Fne?d.useLayoutEffect:d.useEffect,C7=`current`,w7=(e,t)=>{if(Array.isArray(e))for(let n of e)w7(n,t);else e==null||typeof e==`boolean`||t.push(e)},Jne=(e,t)=>e.key??`_`+t,Yne=e=>{let t=(0,d.useRef)(null);return t.current||=e()},T7=e=>{let t=(0,d.useRef)(e);return S7(()=>{t[C7]=e},[e]),t},Xne=(0,d.memo)(({ee:e,te:t,oe:n,ne:r,re:i,ie:a,se:o,le:s})=>{let c=(0,d.useRef)(null);S7(()=>t(c[C7],n),[n]);let l=(0,d.useMemo)(()=>{let e={contain:`layout style`,position:i&&s?void 0:`absolute`,[o?`height`:`width`]:`100%`,[o?`top`:`left`]:0,[o?`left`:`top`]:r,visibility:!i||s?void 0:`hidden`};return o&&(e.display=`inline-flex`),e},[r,i,s,o]);return(0,T.jsx)(a,typeof a==`string`?{ref:c,style:l,children:e}:{ref:c,style:l,index:n,children:e})}),Zne=(e,t)=>(0,d.useMemo)(()=>{if(typeof e==`function`)return[n=>e(t[n],n),t.length];let n=(e=>{let t=[];return w7(e,t),t})(e);return[e=>n[e],n.length]},[e,t]),E7=(0,d.forwardRef)(({children:e,data:t,bufferSize:n,itemSize:r,shift:i,horizontal:a,keepMounted:o,cache:s,startMargin:c=0,ssrCount:l,as:u=`div`,item:f=`div`,scrollRef:p,onScroll:m,onScrollEnd:h},g)=>{let[_,v]=Zne(e,t),y=(0,d.useRef)(null),b=(0,d.useRef)(!!l),x=T7(m),S=T7(h),[C,w,E,D]=Yne(()=>{let e=!!a,t=Hne(v,r,s),n=Vne(t,l);return[n,t,Kne(n,e),e]});v!==C.C()&&C.W(5,[v,i]),c!==C.O()&&C.W(6,c);let[O,k]=(0,d.useReducer)(C.I,void 0,C.I),A=C.M(),j=C.t(),M=E.P(),N=[],ee=e=>{let t=_(e);return(0,T.jsx)(Xne,{te:E.N,oe:e,ne:C.u(e,M),re:C.R(e),ie:f,ee:t,se:D,le:b[C7]},Jne(t,e))};if(S7(()=>{b[C7]=!1,C.H(1,e=>{e?(0,ar.flushSync)(k):k()}),C.H(4,()=>{x.current&&x.current(C.T())}),C.H(8,()=>{S.current&&S.current()});let e=y[C7];return p?m7(()=>{p.current&&E.D(e,p[C7])}):E.D(e),()=>{C._(),E._()}},[]),S7(()=>{E.J()},[O]),(0,d.useImperativeHandle)(g,()=>({get cache(){return w.B()},get scrollOffset(){return C.T()},get scrollSize(){return Bne(C)},get viewportSize(){return C.o()},findItemIndex:C.k,getItemOffset:C.u,getItemSize:C.h,scrollToIndex:(e,t)=>qne(E,C,e,t),scrollTo:e=>x7(E,e),scrollBy:e=>((e,t,n)=>{x7(e,n+t.T())})(E,C,e)}),[]),o){let e=new Set(o);for(let[t,r]=C.i(n);t<=r;t++)e.add(t);d7([...e]).forEach(e=>{N.push(ee(e))})}else for(let[e,t]=C.i(n);e<=t;e++)N.push(ee(e));return(0,T.jsx)(u,{ref:y,style:{contain:`size style`,overflowAnchor:`none`,flex:`none`,position:`relative`,width:D?j:`100%`,height:D?`100%`:j,pointerEvents:A?`none`:void 0},children:N})}),D7=24;function O7({text:e}){let t=(0,d.useMemo)(()=>e.split(/\r?\n/),[e]);return typeof ResizeObserver>`u`||t.length<50&&e.length<5e3?(0,T.jsx)(`div`,{style:{whiteSpace:`pre-wrap`,overflowWrap:`break-word`},children:e}):(0,T.jsx)(E7,{data:t,itemSize:D7,children:e=>(0,T.jsx)(`div`,{style:{minHeight:D7,lineHeight:`${D7}px`,whiteSpace:`pre-wrap`,overflowWrap:`break-word`},children:e})})}function k7({text:e,threshold:t,t:n,renderFull:r,isStreaming:i=!1,defaultExpanded:a=!1}){let[o,s]=(0,d.useState)(a),c=e.length;if(!(!i&&c>t))return r?(0,T.jsx)(T.Fragment,{children:r()}):i&&e.length>0?(0,T.jsx)(O7,{text:e}):(0,T.jsx)(T.Fragment,{children:e});let l=Math.max(1,Math.floor(t/2)),u=c-l*2,f=(0,T.jsx)(`button`,{type:`button`,"data-long-block-toggle":``,onClick:()=>s(e=>!e),"aria-expanded":o,style:{display:`block`,width:`100%`,margin:`6px 0`,padding:`3px 8px`,border:`1px dashed var(--border)`,borderRadius:6,background:`none`,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,cursor:`pointer`,textAlign:`center`},children:o?n(`longBlock.collapse`):n(`longBlock.expandHint`,{n:u})});return o?(0,T.jsxs)(T.Fragment,{children:[r?r():(0,T.jsx)(O7,{text:e}),f]}):(0,T.jsxs)(T.Fragment,{children:[e.slice(0,l),f,e.slice(c-l)]})}var Qne=100,A7=new Map;function $ne(e,t,n){let r=`${e}:${t}:${n}`,i=A7.get(r);if(i)return A7.delete(r),A7.set(r,i),i;let a=fetch(`/api/sessions/${encodeURIComponent(e)}/entries/${encodeURIComponent(t)}/thinking?blockIndex=${n}`).then(async e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();if(typeof t.thinking!=`string`)throw Error(`Invalid thinking response`);return t.thinking}).catch(e=>{throw A7.delete(r),e});if(A7.set(r,a),A7.size>Qne){let e=A7.keys().next().value;e&&A7.delete(e)}return a}function ere({block:e,sessionId:t,entryId:n,blockIndex:r,isStreaming:i=!1,keepExpanded:a=!1,longBlockCollapseChars:o=200}){let{t:s}=M(),[c,l]=(0,d.useState)(null),[u,f]=(0,d.useState)(!1),[p,m]=(0,d.useState)(null),h=(0,d.useRef)(!1),g=(0,d.useRef)(null);(0,d.useEffect)(()=>{e.deferred&&!h.current&&(h.current=!0,_())},[]);let _=async()=>{if(!(!e.deferred||c!==null)){if(!t||!n){m(s(`i18n.thinkingUnavailable`));return}f(!0),m(null);try{l(await $ne(t,n,r))}catch(e){m(e instanceof Error?e.message:String(e))}finally{f(!1)}}},v=e.deferred?c:e.thinking,y=o7(g,i,[v]);return(0,T.jsxs)(`div`,{style:{border:`1px solid var(--border)`,borderRadius:6,overflow:`hidden`,fontSize:`var(--text-base)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,padding:`6px 10px`,color:`var(--status-warning)`,fontSize:`var(--text-base)`,cursor:`default`},children:[(0,T.jsx)(hn,{size:I.base,fill:`currentColor`,style:{flexShrink:0,color:`var(--bulb-warning)`}}),(0,T.jsx)(`span`,{children:s(`i18n.thinking`)})]}),(0,T.jsx)(`div`,{ref:g,onScroll:y,style:{padding:`4px 10px 8px 28px`,borderTop:`1px solid var(--border)`,fontSize:`var(--text-lg)`,lineHeight:1.6,color:`var(--text-muted)`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,fontFamily:`var(--font-mono)`,maxHeight:400,overflowY:`auto`,contentVisibility:`auto`,containIntrinsicBlockSize:400},children:u?(0,T.jsxs)(`span`,{style:{color:`var(--text-dim)`},children:[s(`i18n.loading`),`...`]}):p?(0,T.jsx)(`span`,{style:{color:`var(--status-error)`},children:p}):v?(0,T.jsx)(k7,{text:v,threshold:o,t:s,isStreaming:i,defaultExpanded:a}):mQ(e)?(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontStyle:`italic`},children:s(`i18n.thinkingEncrypted`)}):(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:s(`i18n.noThinking`)})})]})}function j7(e){let t=[],n=null,r,i=0,a=0,o=[],s=[],c=()=>({lineNo:null,text:``,type:`empty`}),l=()=>{if(!n){o=[],s=[];return}let e=Math.max(o.length,s.length);for(let t=0;t<e;t++){let e=o[t]?{lineNo:o[t].lineNo,text:o[t].text,type:`removed`}:c(),r=s[t]?{lineNo:s[t].lineNo,text:s[t].text,type:`added`}:c();n.rows.push({type:`line`,left:e,right:r})}o=[],s=[]};for(let c of e.split(/\r?\n/)){if(c.startsWith(`--- `)){l(),r=M7(c.slice(4));continue}if(c.startsWith(`+++ `)){l(),n={oldPath:r,newPath:M7(c.slice(4)),rows:[]},t.push(n);continue}let e=c.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(e){n||(n={rows:[]},t.push(n)),l(),i=Number(e[1]),a=Number(e[2]),n.rows.push({type:`hunk`,text:c});continue}if(!n)continue;if(c.startsWith(`\\ `)){l(),n.rows.push({type:`hunk`,text:c});continue}let u=c[0],d=c.slice(1);u===` `?(l(),n.rows.push({type:`line`,left:{lineNo:i++,text:d,type:`context`},right:{lineNo:a++,text:d,type:`context`}})):u===`-`?o.push({lineNo:i++,text:d}):u===`+`?s.push({lineNo:a++,text:d}):c!==``&&(l(),n.rows.push({type:`hunk`,text:c}))}l();let u=t.filter(e=>e.rows.some(e=>e.type===`line`));return u.length>0?u:null}function M7(e){return e.split(` `)[0].trim()}function tre(e){let t=e.details;if(!zm(t))return null;let n=typeof t.patch==`string`?t.patch:null;if(n)return{text:n};let r=typeof t.diff==`string`?t.diff:null;return r?{text:r}:null}function nre(e){if(typeof e!=`string`||!e)return!1;let t=e.toLowerCase();return t===`edit`||t.startsWith(`edit_`)||t.endsWith(`.edit`)||t.endsWith(`_edit`)||t.includes(`str_replace`)||t.includes(`replace_editor`)}function rre({diff:e}){return(0,T.jsx)(`div`,{style:{borderTop:`1px solid var(--border)`,background:`var(--bg)`},children:(0,T.jsx)(ire,{text:e.text})})}function ire({text:e}){let{t}=M(),n=(0,d.useMemo)(()=>j7(e),[e]);if(!n)return(0,T.jsx)(are,{text:e});let r=n.length>1;return(0,T.jsx)(`div`,{style:{maxHeight:560,overflowY:`auto`,overflowX:`hidden`,background:`var(--bg)`,contentVisibility:`auto`,containIntrinsicBlockSize:560},children:n.map((e,n)=>(0,T.jsxs)(`div`,{style:{minWidth:0,borderTop:n===0?`none`:`1px solid var(--border)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,lineHeight:1.55},children:[r&&(0,T.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`minmax(0, 1fr) minmax(0, 1fr)`,position:`sticky`,top:0,zIndex:1,background:`var(--bg)`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(N7,{title:e.oldPath||t(`i18n.before`),side:`left`}),(0,T.jsx)(N7,{title:e.newPath||t(`i18n.after`),side:`right`})]}),(0,T.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`minmax(0, 1fr) minmax(0, 1fr)`},children:e.rows.map((e,t)=>e.type===`hunk`?null:(0,T.jsxs)(`div`,{style:{display:`contents`},children:[(0,T.jsx)(P7,{cell:e.left,side:`left`}),(0,T.jsx)(P7,{cell:e.right,side:`right`})]},t))})]},n))})}function N7({title:e,side:t}){return(0,T.jsx)(`div`,{title:e,style:{padding:`5px 10px`,color:`var(--text-dim)`,borderRight:t===`left`?`1px solid var(--border)`:`none`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e})}function P7({cell:e,side:t}){let n=e.type===`added`?`color-mix(in srgb, var(--status-success) 12%, transparent)`:e.type===`removed`?`color-mix(in srgb, var(--status-error) 13%, transparent)`:e.type===`empty`?`var(--bg-subtle)`:`transparent`,r=e.type===`added`?`+`:e.type===`removed`?`-`:` `,i=e.type===`added`?`var(--status-success)`:e.type===`removed`?`var(--status-error)`:`var(--text-dim)`;return(0,T.jsxs)(`div`,{style:{display:`flex`,minWidth:0,background:n,borderRight:t===`left`?`1px solid var(--border)`:`none`},children:[(0,T.jsx)(`span`,{style:{width:42,padding:`0 6px`,textAlign:`right`,color:`var(--text-dim)`,userSelect:`none`,background:`var(--bg)`,borderRight:`1px solid var(--border)`,flexShrink:0},children:e.lineNo??``}),(0,T.jsx)(`span`,{style:{width:18,padding:`0 5px`,color:i,userSelect:`none`,fontWeight:e.type===`context`||e.type===`empty`?400:700,flexShrink:0},children:r}),(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,padding:`0 10px 0 0`,color:e.type===`empty`?`var(--text-dim)`:`var(--text)`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:e.text||`\xA0`})]})}function are({text:e}){let t=e.split(/\r?\n/);return(0,T.jsx)(`div`,{style:{maxHeight:520,overflowY:`auto`,overflowX:`hidden`,fontFamily:`var(--font-mono)`,contentVisibility:`auto`,containIntrinsicBlockSize:520,fontSize:`var(--text-base)`,lineHeight:1.55,minWidth:0},children:t.map((e,t)=>{let n=e.startsWith(`@@`)?`hunk`:e.startsWith(`+`)&&!e.startsWith(`+++`)?`added`:e.startsWith(`-`)&&!e.startsWith(`---`)?`removed`:`context`,r=n===`added`?`color-mix(in srgb, var(--status-success) 12%, transparent)`:n===`removed`?`color-mix(in srgb, var(--status-error) 13%, transparent)`:n===`hunk`?`color-mix(in srgb, var(--accent) 12%, transparent)`:`transparent`,i=n===`added`?`var(--status-success)`:n===`removed`?`var(--status-error)`:n===`hunk`?`var(--accent)`:`var(--text)`;return(0,T.jsxs)(`div`,{style:{display:`flex`,background:r,borderLeft:n===`added`?`3px solid var(--status-success)`:n===`removed`?`3px solid var(--status-error)`:n===`hunk`?`3px solid var(--accent)`:`3px solid transparent`},children:[(0,T.jsx)(`span`,{style:{width:48,padding:`0 8px`,color:`var(--text-dim)`,background:`var(--bg)`,borderRight:`1px solid var(--border)`,textAlign:`right`,userSelect:`none`,flexShrink:0},children:t+1}),(0,T.jsx)(`span`,{style:{padding:`0 10px`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,color:i},children:e||`\xA0`})]},t)})})}function ore({block:e,result:t,duration:n}){let{t:r}=M(),i=e.input??{},a=typeof i.question==`string`?i.question:null,o=Array.isArray(i.options)?i.options:[],s=t?t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
483
- `).trim():null,c=t?.isError??!1,l=s?.startsWith(`用户选择: `)?s.slice(6):null,u=l!==null&&o.some(e=>e.label===l);return(0,T.jsxs)(`div`,{style:{borderRadius:7,fontSize:`var(--text-base)`,border:c?`1px solid color-mix(in srgb, var(--status-error) 45%, transparent)`:`1px solid var(--border)`,background:c?`color-mix(in srgb, var(--status-error) 5%, transparent)`:`var(--bg-panel)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:7,padding:`6px 10px`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`},children:[(0,T.jsx)(`span`,{style:{color:c?`var(--status-error)`:`var(--status-info)`,fontFamily:`var(--font-mono)`,fontWeight:600,flexShrink:0},children:`pi_menu`}),(0,T.jsx)(`span`,{children:r(`chat.aiQuestion`)}),n!==void 0&&(0,T.jsxs)(`span`,{style:{marginLeft:`auto`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,fontVariantNumeric:`tabular-nums`,flexShrink:0},children:[n,`s`]})]}),(0,T.jsxs)(`div`,{style:{padding:`8px 10px`,borderTop:`1px solid var(--border)`,fontSize:`var(--text-base)`,lineHeight:1.5,color:`var(--text-muted)`},children:[a&&(0,T.jsx)(`div`,{style:{fontWeight:600,color:`var(--text)`,marginBottom:6},children:a}),o.length>0&&(0,T.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:3,marginBottom:s&&!u?6:0},children:o.map((e,t)=>{let n=typeof e.label==`string`?e.label:String(e.label??`#${t+1}`),r=typeof e.description==`string`?e.description:null,i=l!==null&&n===l;return(0,T.jsxs)(`div`,{style:{display:`flex`,gap:6,alignItems:`baseline`},children:[(0,T.jsx)(`span`,{style:{color:i?`var(--accent)`:`var(--text-dim)`},children:i?`●`:`○`}),(0,T.jsx)(`span`,{style:{color:i?`var(--accent)`:`var(--text)`,fontWeight:i?600:400},children:n}),r&&(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:r})]},t)})}),s&&!u&&(0,T.jsx)(`div`,{style:{color:c?`var(--status-error)`:`var(--text-muted)`,fontWeight:600,whiteSpace:`pre-wrap`,wordBreak:`break-all`},children:s})]})]})}function sre({block:e,isError:t,duration:n}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:7,width:`100%`,padding:`6px 10px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,minWidth:0},children:[(0,T.jsx)(Kn,{size:I.base,style:{flexShrink:0,color:t?`var(--status-error)`:`var(--status-info)`}}),(0,T.jsx)(`span`,{style:{color:t?`var(--status-error)`:`var(--status-info)`,fontFamily:`var(--font-mono)`,fontWeight:600,fontSize:`var(--text-sm)`,flexShrink:0},children:e.toolName}),(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flex:1,minWidth:0},children:One(e)}),n!==void 0&&(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`,flexShrink:0,fontVariantNumeric:`tabular-nums`},children:[n,`s`]})]})})}function F7({block:e,result:t,duration:n,isStreaming:r=!1,keepExpanded:i=!1,streamingOutput:a,longBlockCollapseChars:o=200}){let{t:s}=M(),c=a??e.streamingOutput,l=(0,d.useRef)(null),u=o7(l,r,[c]);if(e.toolName===`pi_menu`)return(0,T.jsx)(ore,{block:e,result:t,duration:n});let f=JSON.stringify(e.input,null,2),p=nre(e.toolName),m=t&&!t.isError?tre(t):null,h=t?t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
480
+ |(?![\\s\\S])))+`,`m`),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})})(e)}L5.displayName=`docker`,L5.aliases=[`dockerfile`];function L5(e){(function(e){var t=`(?:[ \\t]+(?![ \\t])(?:<SP_BS>)?|<SP_BS>)`.replace(/<SP_BS>/g,function(){return`\\\\[\\r\\n](?:\\s|\\\\[\\r\\n]|#.*(?!.))*(?![\\s#]|\\\\[\\r\\n])`}),n=`"(?:[^"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*"|'(?:[^'\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*'`,r=`--[\\w-]+=(?:<STR>|(?!["'])(?:[^\\s\\\\]|\\\\.)+)`.replace(/<STR>/g,function(){return n}),i={pattern:RegExp(n),greedy:!0},a={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function o(e,n){return e=e.replace(/<OPT>/g,function(){return r}).replace(/<SP>/g,function(){return t}),RegExp(e,n)}e.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:o(`(^(?:ONBUILD<SP>)?\\w+<SP>)<OPT>(?:<SP><OPT>)*`,`i`),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[i,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:o(`(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\\b`,`i`),lookbehind:!0,greedy:!0},{pattern:o(`(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \\t\\\\]+<SP>)AS`,`i`),lookbehind:!0,greedy:!0},{pattern:o(`(^ONBUILD<SP>)\\w+`,`i`),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:a,string:i,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:a},e.languages.dockerfile=e.languages.docker})(e)}R5.displayName=`go`,R5.aliases=[];function R5(e){e.register(D5),e.languages.go=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore(`go`,`string`,{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go[`class-name`]}z5.displayName=`scss`,z5.aliases=[];function z5(e){e.register(E5),e.languages.scss=e.languages.extend(`css`,{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:`important`},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),e.languages.insertBefore(`scss`,`atrule`,{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore(`scss`,`important`,{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),e.languages.insertBefore(`scss`,`function`,{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:`keyword`},placeholder:{pattern:/%[-\w]+/,alias:`selector`},statement:{pattern:/\B!(?:default|optional)\b/i,alias:`keyword`},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}B5.displayName=`json`,B5.aliases=[`webmanifest`];function B5(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`}},e.languages.webmanifest=e.languages.json}V5.displayName=`java`,V5.aliases=[];function V5(e){e.register(D5),(function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=`(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*`,r={pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b`),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)`),lookbehind:!0,inside:r.inside},{pattern:RegExp(`(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)`+n+`[A-Z]\\w*\\b`),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore(`java`,`string`,{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:`string`},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore(`java`,`class-name`,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:`punctuation`},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(`(\\bimport\\s+)`+n+`(?:[A-Z]\\w*|\\*)(?=\\s*;)`),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(`(\\bimport\\s+static\\s+)`+n+`(?:\\w+|\\*)(?=\\s*;)`),lookbehind:!0,alias:`static`,inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(`(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(e)}H5.displayName=`typescript`,H5.aliases=[`ts`];function H5(e){e.register(O5),(function(e){e.languages.typescript=e.languages.extend(`javascript`,{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript[`literal-property`];var t=e.languages.extend(`typescript`,{});delete t[`class-name`],e.languages.typescript[`class-name`].inside=t,e.languages.insertBefore(`typescript`,`function`,{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:`operator`},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:t}}}}),e.languages.ts=e.languages.typescript})(e)}U5.displayName=`python`,U5.aliases=[`py`];function U5(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:`punctuation`},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:`string`},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:[`annotation`,`punctuation`],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python[`string-interpolation`].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}W5.displayName=`jsx`,W5.aliases=[];function W5(e){e.register(O5),e.register(T5),(function(e){var t=e.util.clone(e.languages.javascript),n=`(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)`,r=`(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})`,i=`(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})`;function a(e,t){return e=e.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return i}),RegExp(e,t)}i=a(i).source,e.languages.jsx=e.languages.extend(`markup`,t),e.languages.jsx.tag.pattern=a(`<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:"(?:\\\\[\\s\\S]|[^\\\\"])*"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>`),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside[`attr-value`].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside[`class-name`]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore(`inside`,`attr-name`,{spread:{pattern:a(`<SPREAD>`),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore(`inside`,`special-attr`,{script:{pattern:a(`=<BRACES>`),alias:`language-javascript`,inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:`punctuation`},rest:e.languages.jsx}}},e.languages.jsx.tag);var o=function(e){return e?typeof e==`string`?e:typeof e.content==`string`?e.content:e.content.map(o).join(``):``},s=function(t){for(var n=[],r=0;r<t.length;r++){var i=t[r],a=!1;if(typeof i!=`string`&&(i.type===`tag`&&i.content[0]&&i.content[0].type===`tag`?i.content[0].content[0].content===`</`?n.length>0&&n[n.length-1].tagName===o(i.content[0].content[1])&&n.pop():i.content[i.content.length-1].content===`/>`||n.push({tagName:o(i.content[0].content[1]),openedBraces:0}):n.length>0&&i.type===`punctuation`&&i.content===`{`?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&i.type===`punctuation`&&i.content===`}`?n[n.length-1].openedBraces--:a=!0),(a||typeof i==`string`)&&n.length>0&&n[n.length-1].openedBraces===0){var c=o(i);r<t.length-1&&(typeof t[r+1]==`string`||t[r+1].type===`plain-text`)&&(c+=o(t[r+1]),t.splice(r+1,1)),r>0&&(typeof t[r-1]==`string`||t[r-1].type===`plain-text`)&&(c=o(t[r-1])+c,t.splice(r-1,1),r--),t[r]=new e.Token(`plain-text`,c,null,c)}i.content&&typeof i.content!=`string`&&s(i.content)}};e.hooks.add(`after-tokenize`,function(e){(e.language===`jsx`||e.language===`tsx`)&&s(e.tokens)})})(e)}G5.displayName=`tsx`,G5.aliases=[];function G5(e){e.register(W5),e.register(H5),(function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend(`jsx`,t),delete e.languages.tsx.parameter,delete e.languages.tsx[`literal-property`];var n=e.languages.tsx.tag;n.pattern=RegExp(`(^|[^\\w$]|(?=<\\/))(?:`+n.pattern.source+`)`,n.pattern.flags),n.lookbehind=!0})(e)}K5.displayName=`rust`,K5.aliases=[];function K5(e){(function(e){for(var t=`\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\/`,n=0;n<2;n++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return`[^\\s\\S]`}),e.languages.rust={comment:[{pattern:RegExp(`(^|[^\\\\])`+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:`attr-name`,inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:`punctuation`},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:`symbol`},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:`punctuation`},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:`function`},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:`class-name`},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:`namespace`},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:`namespace`,inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:`property`},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust[`closure-params`].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string})(e)}var q5=M5,J5=A5,Y5=j5,ane=F5,one=E5,sne=I5,cne=L5,lne=R5,une=V5,dne=O5,fne=B5,pne=W5,mne=P5,hne=T5,gne=U5,_ne=K5,vne=z5,yne=k5,bne=G5,xne=H5,Sne=N5,X5={'code[class*="language-"]':{color:`#393A34`,fontFamily:`"Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,fontSize:`.9em`,lineHeight:`1.2em`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`},'pre[class*="language-"]':{color:`#393A34`,fontFamily:`"Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,fontSize:`.9em`,lineHeight:`1.2em`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`,padding:`1em`,margin:`.5em 0`,overflow:`auto`,border:`1px solid #dddddd`,backgroundColor:`white`},'pre > code[class*="language-"]':{fontSize:`1em`},'pre[class*="language-"]::-moz-selection':{background:`#C1DEF1`},'pre[class*="language-"] ::-moz-selection':{background:`#C1DEF1`},'code[class*="language-"]::-moz-selection':{background:`#C1DEF1`},'code[class*="language-"] ::-moz-selection':{background:`#C1DEF1`},'pre[class*="language-"]::selection':{background:`#C1DEF1`},'pre[class*="language-"] ::selection':{background:`#C1DEF1`},'code[class*="language-"]::selection':{background:`#C1DEF1`},'code[class*="language-"] ::selection':{background:`#C1DEF1`},':not(pre) > code[class*="language-"]':{padding:`.2em`,paddingTop:`1px`,paddingBottom:`1px`,background:`#f8f8f8`,border:`1px solid #dddddd`},comment:{color:`#008000`,fontStyle:`italic`},prolog:{color:`#008000`,fontStyle:`italic`},doctype:{color:`#008000`,fontStyle:`italic`},cdata:{color:`#008000`,fontStyle:`italic`},namespace:{Opacity:`.7`},string:{color:`#A31515`},punctuation:{color:`#393A34`},operator:{color:`#393A34`},url:{color:`#36acaa`},symbol:{color:`#36acaa`},number:{color:`#36acaa`},boolean:{color:`#36acaa`},variable:{color:`#36acaa`},constant:{color:`#36acaa`},inserted:{color:`#36acaa`},atrule:{color:`#0000ff`},keyword:{color:`#0000ff`},"attr-value":{color:`#0000ff`},".language-autohotkey .token.selector":{color:`#0000ff`},".language-json .token.boolean":{color:`#0000ff`},".language-json .token.number":{color:`#0000ff`},'code[class*="language-css"]':{color:`#0000ff`},function:{color:`#393A34`},deleted:{color:`#9a050f`},".language-autohotkey .token.tag":{color:`#9a050f`},selector:{color:`#800000`},".language-autohotkey .token.keyword":{color:`#00009f`},important:{color:`#e90`,fontWeight:`bold`},bold:{fontWeight:`bold`},italic:{fontStyle:`italic`},"class-name":{color:`#2B91AF`},".language-json .token.property":{color:`#2B91AF`},tag:{color:`#800000`},"attr-name":{color:`#ff0000`},property:{color:`#ff0000`},regex:{color:`#ff0000`},entity:{color:`#ff0000`},"directive.tag.tag":{background:`#ffff00`,color:`#393A34`},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:`#a5a5a5`},".line-numbers .line-numbers-rows > span:before":{color:`#2B91AF`},".line-highlight.line-highlight":{background:`linear-gradient(to right, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0))`}},Z5={'pre[class*="language-"]':{color:`#d4d4d4`,fontSize:`13px`,textShadow:`none`,fontFamily:`Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,lineHeight:`1.5`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`,padding:`1em`,margin:`.5em 0`,overflow:`auto`,background:`#1e1e1e`},'code[class*="language-"]':{color:`#d4d4d4`,fontSize:`13px`,textShadow:`none`,fontFamily:`Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,lineHeight:`1.5`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`},'pre[class*="language-"]::selection':{textShadow:`none`,background:`#264F78`},'code[class*="language-"]::selection':{textShadow:`none`,background:`#264F78`},'pre[class*="language-"] *::selection':{textShadow:`none`,background:`#264F78`},'code[class*="language-"] *::selection':{textShadow:`none`,background:`#264F78`},':not(pre) > code[class*="language-"]':{padding:`.1em .3em`,borderRadius:`.3em`,color:`#db4c69`,background:`#1e1e1e`},".namespace":{Opacity:`.7`},"doctype.doctype-tag":{color:`#569CD6`},"doctype.name":{color:`#9cdcfe`},comment:{color:`#6a9955`},prolog:{color:`#6a9955`},punctuation:{color:`#d4d4d4`},".language-html .language-css .token.punctuation":{color:`#d4d4d4`},".language-html .language-javascript .token.punctuation":{color:`#d4d4d4`},property:{color:`#9cdcfe`},tag:{color:`#569cd6`},boolean:{color:`#569cd6`},number:{color:`#b5cea8`},constant:{color:`#9cdcfe`},symbol:{color:`#b5cea8`},inserted:{color:`#b5cea8`},unit:{color:`#b5cea8`},selector:{color:`#d7ba7d`},"attr-name":{color:`#9cdcfe`},string:{color:`#ce9178`},char:{color:`#ce9178`},builtin:{color:`#ce9178`},deleted:{color:`#ce9178`},".language-css .token.string.url":{textDecoration:`underline`},operator:{color:`#d4d4d4`},entity:{color:`#569cd6`},"operator.arrow":{color:`#569CD6`},atrule:{color:`#ce9178`},"atrule.rule":{color:`#c586c0`},"atrule.url":{color:`#9cdcfe`},"atrule.url.function":{color:`#dcdcaa`},"atrule.url.punctuation":{color:`#d4d4d4`},keyword:{color:`#569CD6`},"keyword.module":{color:`#c586c0`},"keyword.control-flow":{color:`#c586c0`},function:{color:`#dcdcaa`},"function.maybe-class-name":{color:`#dcdcaa`},regex:{color:`#d16969`},important:{color:`#569cd6`},italic:{fontStyle:`italic`},"class-name":{color:`#4ec9b0`},"maybe-class-name":{color:`#4ec9b0`},console:{color:`#9cdcfe`},parameter:{color:`#9cdcfe`},interpolation:{color:`#9cdcfe`},"punctuation.interpolation-punctuation":{color:`#569cd6`},variable:{color:`#9cdcfe`},"imports.maybe-class-name":{color:`#9cdcfe`},"exports.maybe-class-name":{color:`#9cdcfe`},escape:{color:`#d7ba7d`},"tag.punctuation":{color:`#808080`},cdata:{color:`#808080`},"attr-value":{color:`#ce9178`},"attr-value.punctuation":{color:`#ce9178`},"attr-value.punctuation.attr-equals":{color:`#d4d4d4`},namespace:{color:`#4ec9b0`},'pre[class*="language-javascript"]':{color:`#9cdcfe`},'code[class*="language-javascript"]':{color:`#9cdcfe`},'pre[class*="language-jsx"]':{color:`#9cdcfe`},'code[class*="language-jsx"]':{color:`#9cdcfe`},'pre[class*="language-typescript"]':{color:`#9cdcfe`},'code[class*="language-typescript"]':{color:`#9cdcfe`},'pre[class*="language-tsx"]':{color:`#9cdcfe`},'code[class*="language-tsx"]':{color:`#9cdcfe`},'pre[class*="language-css"]':{color:`#ce9178`},'code[class*="language-css"]':{color:`#ce9178`},'pre[class*="language-html"]':{color:`#d4d4d4`},'code[class*="language-html"]':{color:`#d4d4d4`},".language-regex .token.anchor":{color:`#dcdcaa`},".language-html .token.punctuation":{color:`#808080`},'pre[class*="language-"] > code[class*="language-"]':{position:`relative`,zIndex:`1`},".line-highlight.line-highlight":{background:`#f7ebc6`,boxShadow:`inset 5px 0 0 #f7d87c`,zIndex:`0`}},Cne={bash:q5,c:J5,cpp:Y5,csharp:ane,css:one,diff:sne,docker:cne,go:lne,java:une,javascript:dne,json:fne,jsx:pne,markdown:mne,markup:hne,python:gne,rust:_ne,scss:vne,sql:yne,tsx:bne,typescript:xne,yaml:Sne};for(let[e,t]of Object.entries(Cne))w5.registerLanguage(e,t);var wne=5e3,Tne=800;function Q5({code:e,lang:t,headerAction:n,isStreaming:r}){let{isDark:i}=NK(),{t:a}=M(),[o,s]=(0,d.useState)(!1),c=()=>{cK(e).then(()=>{s(!0),setTimeout(()=>s(!1),1500)})},l=e.length>wne||r===!0&&e.length>Tne;return(0,T.jsxs)(`div`,{className:`markdown-code-block`,children:[(0,T.jsxs)(`div`,{className:`markdown-code-header`,children:[(0,T.jsx)(`span`,{className:`markdown-code-lang`,children:t||`text`}),(0,T.jsxs)(`div`,{className:`markdown-code-actions`,children:[n,(0,T.jsx)(`button`,{onClick:c,className:`markdown-code-action`,children:a(o?`i18n.copied`:`i18n.copy`)})]})]}),l?(0,T.jsx)(`pre`,{className:`markdown-code-plain`,style:{margin:0,padding:`11px 13px`,fontSize:`var(--text-md)`,lineHeight:1.62,borderRadius:0,background:`color-mix(in srgb, var(--bg) 92%, var(--bg-panel))`,overflow:`auto`},children:(0,T.jsx)(`code`,{style:{fontFamily:`var(--font-mono)`},children:e})}):(0,T.jsx)(w5,{language:t||`text`,style:i?Z5:X5,showLineNumbers:!0,lineNumberStyle:{color:`var(--text-dim)`,fontStyle:`normal`},customStyle:{margin:0,padding:`11px 13px`,fontSize:`var(--text-md)`,lineHeight:1.62,borderRadius:0,background:`color-mix(in srgb, var(--bg) 92%, var(--bg-panel))`},codeTagProps:{style:{fontFamily:`var(--font-mono)`}},children:e})]})}var $5=.25,e7=.5;function Ene({svg:e,onClose:t}){let{t:n}=M(),r=(0,d.useRef)(null),[i,a]=(0,d.useState)(1);return(0,d.useEffect)(()=>{let e=r.current;if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,e.showModal(),()=>{document.body.style.overflow=t,e.open&&e.close()}},[]),(0,T.jsx)(`dialog`,{ref:r,className:`mermaid-zoom-dialog`,"aria-label":n(`i18n.mermaidViewer`),onCancel:e=>{e.preventDefault(),t()},onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),t())},children:(0,T.jsxs)(`div`,{className:`mermaid-zoom-layout`,children:[(0,T.jsxs)(`div`,{className:`mermaid-zoom-toolbar`,children:[(0,T.jsx)(`span`,{className:`mermaid-zoom-title`,children:n(`i18n.mermaidDiagram`)}),(0,T.jsxs)(`div`,{className:`mermaid-zoom-actions`,children:[(0,T.jsxs)(`div`,{className:`mermaid-zoom-stepper`,children:[(0,T.jsx)(`button`,{type:`button`,onClick:()=>a(e=>Math.max(e7,e-$5)),disabled:i<=e7,title:n(`i18n.zoomOut`),"aria-label":n(`i18n.zoomOut`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M5 12h14`})})}),(0,T.jsxs)(`span`,{className:`mermaid-zoom-value`,children:[Math.round(i*100),`%`]}),(0,T.jsx)(`button`,{type:`button`,onClick:()=>a(e=>Math.min(3,e+$5)),disabled:i>=3,title:n(`i18n.zoomIn`),"aria-label":n(`i18n.zoomIn`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M12 5v14M5 12h14`})})})]}),(0,T.jsx)(`button`,{type:`button`,className:`mermaid-zoom-icon-button`,onClick:()=>a(1),title:n(`i18n.fitToWidth`),"aria-label":n(`i18n.fitToWidth`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M8 3H3v5M16 3h5v5M8 21H3v-5M16 21h5v-5`})})}),(0,T.jsx)(`button`,{type:`button`,className:`mermaid-zoom-icon-button`,onClick:t,title:n(`i18n.close`),"aria-label":n(`i18n.close`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M6 6l12 12M18 6 6 18`})})})]})]}),(0,T.jsx)(`div`,{className:`mermaid-zoom-viewport`,onClick:e=>{e.target===e.currentTarget&&t()},children:(0,T.jsx)(`div`,{className:`mermaid-zoom-canvas`,style:{width:`${i*100}%`},dangerouslySetInnerHTML:{__html:e}})})]})})}function t7({code:e,isStreaming:t,defaultPreview:n=!1}){let{isDark:r}=NK(),{t:i}=M(),[a,o]=(0,d.useState)(n),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(!1),f=`${r?`dark`:`light`}\n${e}`,p=a&&!t;(0,d.useEffect)(()=>{if(!p)return;let t=!1;return c({key:f,status:`loading`}),(async()=>{let{default:n}=await w2(async()=>{let{default:e}=await import(`./mermaid.core-CCKsmqag.js`);return{default:e}},__vite__mapDeps([2,3,4,5,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19]));if(n.initialize({startOnLoad:!1,securityLevel:`strict`,suppressErrorRendering:!0,theme:r?`dark`:`default`}),!await n.parse(e,{suppressErrors:!0}))throw Error(`Invalid Mermaid diagram`);let i=typeof crypto<`u`&&`randomUUID`in crypto?`mermaid-${crypto.randomUUID()}`:`mermaid-${Date.now()}-${Math.random().toString(36).slice(2)}`,a=await n.render(i,e);t||c({key:f,status:`ready`,svg:a.svg})})().catch(()=>{t||c({key:f,status:`error`})}),()=>{t=!0}},[e,f,r,p]);let m=(0,T.jsx)(`button`,{type:`button`,onClick:()=>o(e=>!e),disabled:t,title:i(t?`i18n.previewAfterStreaming`:p?`i18n.showMermaidSource`:`i18n.previewMermaid`),className:[`markdown-code-action`,p?`is-active`:``].filter(Boolean).join(` `),children:i(p?`i18n.source`:`i18n.preview`)});if(!p)return(0,T.jsx)(Q5,{code:e,lang:`mermaid`,headerAction:m});let h=s?.key===f&&s.status===`error`?(0,T.jsx)(`div`,{className:`mermaid-block mermaid-block-error`,children:i(`i18n.invalidMermaid`)}):s?.key!==f||s.status!==`ready`?(0,T.jsx)(`div`,{className:`mermaid-block mermaid-block-loading`,"aria-label":i(`i18n.renderingMermaid`)}):(0,T.jsxs)(T.Fragment,{children:[!l&&(0,T.jsx)(`button`,{type:`button`,className:`mermaid-block mermaid-preview-button`,title:i(`i18n.openMermaidViewer`),"aria-label":i(`i18n.openMermaidViewer`),onClick:()=>u(!0),dangerouslySetInnerHTML:{__html:s.svg}}),l&&(0,T.jsx)(Ene,{svg:s.svg,onClose:()=>u(!1)})]});return(0,T.jsxs)(`div`,{className:`markdown-code-block`,children:[(0,T.jsxs)(`div`,{className:`markdown-code-header`,children:[(0,T.jsx)(`span`,{className:`markdown-code-lang`,children:`mermaid`}),m]}),h]})}function n7({children:e,className:t,isStreaming:n,cwd:r,onOpenFile:i}){let{t:a}=M(),[o,s]=(0,d.useState)(!1),c=!o&&e.length>1e5,l=(0,d.useMemo)(()=>c?o8(e):e,[c,e]),u=(0,d.useMemo)(()=>QU(l),[l]),f=(0,d.useMemo)(()=>({code({className:e,children:t,...r}){let i=e?.replace(`language-`,``).toLowerCase()??``,a=String(t);return e?.includes(`language-`)||a.includes(`
481
+ `)?i===`mermaid`?(0,T.jsx)(t7,{code:a.replace(/\n$/,``),isStreaming:n}):(0,T.jsx)(Q5,{code:a.replace(/\n$/,``),lang:i,isStreaming:n}):(0,T.jsx)(`code`,{className:`markdown-inline-code`,...r,children:t})},pre({children:e}){return(0,T.jsx)(T.Fragment,{children:e})},a({href:e,children:t,...n}){delete n.node;let a=i?pW(e,r):null,o=i;if(!a||!o)return(0,T.jsx)(`a`,{href:e,...n,target:`_blank`,rel:`noopener noreferrer`,children:t});let s=e=>{if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.currentTarget.getAttribute(`target`);t&&t!==`_self`||(e.preventDefault(),o(a))};return(0,T.jsx)(`a`,{href:e,...n,onClick:s,children:t})},img({src:e,alt:t,...n}){delete n.node;let i=typeof e==`string`?pW(e,r):null,a=i?`/api/files/${TS(i)}?type=read`:e;return(0,T.jsx)(`img`,{src:a,alt:t??``,loading:`lazy`,...n})},table({children:e}){return(0,T.jsx)(`div`,{className:`markdown-table-wrap`,children:(0,T.jsx)(`table`,{children:e})})},blockquote({children:e}){return(0,T.jsx)(`blockquote`,{children:e})}}),[r,n,i]);return(0,T.jsxs)(`div`,{className:[`markdown-body`,t].filter(Boolean).join(` `),style:{whiteSpace:`pre-wrap`},children:[(0,T.jsx)(t8,{remarkPlugins:nW??void 0,rehypePlugins:iW??void 0,components:f,children:u}),c&&(0,T.jsxs)(`button`,{type:`button`,"aria-label":a(`chat.expandMessage`),title:a(`chat.expandMessage`),onClick:()=>s(!0),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:6,width:`100%`,marginTop:6,padding:`5px 0`,border:`none`,borderTop:`1px solid var(--border)`,background:`var(--bg-subtle)`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-base)`},children:[(0,T.jsx)(`span`,{"aria-hidden":`true`,children:`…`}),(0,T.jsx)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`m6 9 6 6 6-6`})})]})]})}function r7(e){if(!e)return null;let t=new Date(e),n=new Date,r=t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate(),i=t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`});return r?i:`${t.toLocaleDateString([],{month:`short`,day:`numeric`,year:t.getFullYear()===n.getFullYear()?void 0:`numeric`})} ${i}`}function i7(e){return typeof e==`string`?e:e.filter(e=>e.type===`text`).map(e=>e.text).join(`
482
+ `)}function Dne(e){return typeof e==`string`?[]:e.filter(e=>e.type===`image`)}function a7(e){let t=e;return e.source?e.source.type===`base64`?`data:${e.source.media_type};base64,${e.source.data}`:e.source.url??``:t.data?`data:${t.mimeType};base64,${t.data}`:``}function One(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}function kne(e){return e||`extension`}function Ane(e){let t=e.replace(/\s+/g,` `).trim();return t?t.length>140?`${t.slice(0,140)}...`:t:`Show extension message`}function jne(e){let t=e.input;if(!t||typeof t!=`object`)return``;let n=Object.keys(t);if(n.length===0)return``;if(`command`in t)return String(t.command).slice(0,120);if(`path`in t)return String(t.path).slice(0,120);if(`file_path`in t)return String(t.file_path).slice(0,120);if(`pattern`in t)return String(t.pattern).slice(0,120);if(`query`in t)return String(t.query).slice(0,120);let r=t[n[0]];if(Array.isArray(r)){let e=r.map(e=>typeof e==`object`&&e&&`topic`in e?String(e.topic):null).filter(e=>e!==null&&e.length>0);return e.length>0?e.join(` | `).slice(0,120):`[${r.length} items]`}return String(r).slice(0,120)}function Mne(e){let t=[];return e.input&&t.push(`${e.input.toLocaleString()} in`),e.output&&t.push(`${e.output.toLocaleString()} out`),e.cacheRead&&t.push(`${e.cacheRead.toLocaleString()} cache R`),e.cacheWrite&&t.push(`${e.cacheWrite.toLocaleString()} cache W`),e.cost?.total&&t.push(`$${e.cost.total.toFixed(4)}`),t.join(` · `)}function Nne({usage:e,isStreaming:t,textContent:n,time:r,turnDurationSecs:i}){let{t:a}=M(),[o,s]=(0,d.useState)(!1);return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:4},children:[e&&!t&&(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:Mne(e)}),n&&!t&&(0,T.jsxs)(`button`,{onClick:()=>{cK(n).then(()=>{s(!0),setTimeout(()=>s(!1),1500)})},title:a(`i18n.copyMessage`),style:{display:`flex`,alignItems:`center`,gap:4,padding:`3px 8px`,height:22,background:`none`,border:`none`,borderRadius:5,color:o?`var(--accent)`:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`opacity 0.12s, color 0.12s`,"--hover-color":`var(--accent)`,"--hover-bg":`transparent`},className:o?`msg-row-actions`:`msg-row-actions hover-shift`,children:[o?(0,T.jsx)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,T.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}):(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`rect`,{x:`9`,y:`9`,width:I.lg,height:I.lg,rx:`2`,ry:`2`}),(0,T.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]}),a(o?`i18n.copied`:`i18n.copy`)]}),r&&!t&&(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`,marginLeft:`auto`,fontVariantNumeric:`tabular-nums`},children:[r,i!==void 0&&(0,T.jsxs)(`span`,{children:[` `,`(`,a(`chat.turnDuration`,{duration:kX(i)}),`)`]})]})]})})}function Pne({message:e,modelNames:t,isStreaming:n,blocks:r,turnNumber:i,tps:a}){let{t:o}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`,marginBottom:4,display:`flex`,alignItems:`center`,gap:6},children:[i!==void 0&&(0,T.jsx)(RQ,{number:i}),e.provider&&(0,T.jsxs)(`span`,{title:`${e.provider}/${e.model}`,style:{whiteSpace:`nowrap`},children:[(0,T.jsxs)(`span`,{style:{color:`var(--text-dim)`},children:[e.provider,`/`]}),(0,T.jsx)(`span`,{style:{color:`var(--text)`,fontWeight:700},children:t?.[`${e.provider}/${e.model}`]??t?.[e.model]??e.model})]}),n&&(()=>{let e=0;for(let t of r)t.type===`text`?e+=t.text?.length??0:t.type===`thinking`?e+=t.thinking?.length??0:t.type===`toolCall`&&(e+=JSON.stringify(t.input??{}).length);let t=Math.round(e/4);return(0,T.jsx)(T.Fragment,{children:t>0&&(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:4,color:`var(--text)`},title:o(`i18n.estimatedTokens`),children:[(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:2,fontSize:`var(--text-sm)`,fontWeight:400},children:[(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`line`,{x1:`5`,y1:`1.5`,x2:`5`,y2:`8.5`}),(0,T.jsx)(`polyline`,{points:`2 6 5 8.5 8 6`})]}),t]}),a!==null&&(0,T.jsxs)(`span`,{style:{marginLeft:6,padding:`1px 6px`,borderRadius:4,background:a>=50?`#53b3cb`:a>=30?`#9bc53d`:a>=15?`#f9c22e`:`#e01a4f`,color:`#fff`,fontSize:`var(--text-sm)`,fontWeight:400},children:[a.toFixed(1),` t/s`]})]})})})()]})})}var Fne=50,Ine=400;function o7(e,t,n){let r=(0,d.useRef)(!1),i=(0,d.useRef)(0),a=()=>{i.current=Date.now()};return(0,d.useLayoutEffect)(()=>{let n=e.current;if(!t||!n||r.current)return;let i=0,a=()=>{if(r.current)return;let e=n.scrollHeight,t=n.clientHeight;n.scrollTop!==e-t&&(n.scrollTop=e-t),typeof requestAnimationFrame==`function`&&(i=requestAnimationFrame(()=>{n.scrollHeight!==e&&a()}))};return a(),()=>cancelAnimationFrame(i)},[t,...n]),(0,d.useLayoutEffect)(()=>{let t=e.current;if(t)return t.addEventListener(`wheel`,a,{passive:!0}),t.addEventListener(`touchstart`,a,{passive:!0}),t.addEventListener(`touchmove`,a,{passive:!0}),t.addEventListener(`keydown`,a),t.addEventListener(`pointerdown`,a),()=>{t.removeEventListener(`wheel`,a),t.removeEventListener(`touchstart`,a),t.removeEventListener(`touchmove`,a),t.removeEventListener(`keydown`,a),t.removeEventListener(`pointerdown`,a)}},[e]),()=>{let t=e.current;if(!t)return;let n=t.scrollHeight-t.scrollTop-t.clientHeight>Fne;n&&Date.now()-i.current<=Ine?r.current=!0:n||(r.current=!1)}}var{min:s7,max:c7,abs:l7,floor:Lne}=Math,u7=(e,t,n)=>s7(n,c7(t,e)),d7=e=>[...e].sort((e,t)=>e-t),f7=setTimeout,p7=clearTimeout,m7=typeof queueMicrotask==`function`?queueMicrotask:e=>{Promise.resolve().then(e)},h7=()=>{let e;return[new Promise(t=>{e=t}),e]},g7=e=>{let t;return()=>(e&&=(t=e(),void 0),t)},Rne=typeof window<`u`,zne=e=>e.documentElement,Bne=e=>e.ownerDocument,Vne=e=>e.defaultView,_7=g7(()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>0),Hne=g7(()=>`scrollBehavior`in zne(document).style),Une=e=>c7(e.t(),e.o()),Wne=({i:e,l:t,u:n,h:r,v:i,S:a,t:o,$:s,m:c,p:l},u=0)=>{let d=!!l,f=!!u,p=1,m=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=null,C=[0,f?c7(u-1,0):-1],w=0,T=!1,E=new Set,D=()=>g-h,O=()=>D()+v+_,k=(e,t)=>{let i=n(e)-v;return t?o()-i-r(e):i},A=e=>{e&&(_7()&&b!==0||S&&x===1?v+=e:_+=e)};return{_:()=>{E.clear()},I:()=>p,i:(t=200)=>{if(!T||f)return C;let n,r;if(y)[n,r]=C;else{let i=c7(0,O()),a=i+m;d||(t=c7(0,t),b!==1&&(i-=t),b!==2&&(a+=t)),[n,r]=C=e(c7(0,i),c7(0,a)),S&&(n=s7(n,S[0]),r=c7(r,S[1]))}return[c7(n,0),s7(r,s()-1)]},k:e=>t(e-h),R:a,u:k,h:r,C:s,T:()=>g,M:()=>b!==0,o:()=>m,O:()=>h,t:o,L:()=>(y=_,_=0,[y,x===2]),H:(e,t)=>{let n=[e,t];return E.add(n),()=>{E.delete(n)}},W:(n,s)=>{let u,C,j=0;switch(n){case 1:{if(s===g&&x===0)break;let e=y;y=0;let t=s-g,n=l7(t);e&&n<l7(e)+1||x!==0||(b=t<0?2:1),f&&=!1,g=s,j=4;let r=D();r>=-m&&r<=o()&&(j+=1,C=n>m);break}case 2:j=8,b!==0&&(u=!0,j+=1),b=0,x=0,S=null;break;case 3:{let e=s.filter(([e,t])=>!a(e,t));if(!e.length)break;A(e.reduce((e,[t,n])=>{let i;if(x===2)i=!0;else if(S&&x===1)i=t<S[0];else{let e=D(),n=k(t),a=r(t);i=b!==1&&x===0?n+a<=e:n<e&&n+a<e+m}return i&&(e+=n-r(t)),e},0));for(let[t,n]of e){let e=r(t),a=i(t,n);d&&(w+=a?n:n-e)}d&&m&&w>m&&(A(l(t(O()))),d=!1),j=3,C=!0;break}case 4:m!==s&&(m||(T=C=!0),m=s,j=3);break;case 5:s[1]?(A(c(s[0],!0)),x=2,j=1):(c(s[0]),j=1);break;case 6:h=s;break;case 7:x=1;break;case 8:S=e(s,s+m),j=1}j&&(p=1+(2147483647&p),u&&v&&(_+=v,v=0),E.forEach(([e,t])=>{j&e&&t(C)}))}}},v7=(e,t,n,r=0,i=t-1)=>{let a=r;for(;r<=i;){let t=Lne((r+i)/2);e(t)<=n?(a=t,r=t+1):i=t-1}return u7(a,0,t-1)},y7=(e,t,n)=>{let r=n?`unshift`:`push`;for(let n=0;n<t;n++)e[r](-1);return e},Gne=(e,t,n)=>{let r=n&&n[1]||t||40,i=-1,a=0,o=n&&n[0],s=o?y7(o.slice(0,s7(e,o.length)),c7(0,e-o.length)):y7([],e),c=y7([],e+1),l=e=>{let t=s[e];return t===-1?r:t},u=t=>{if(!e)return 0;if(i>=t)return c[t];i<0&&(c[0]=0,i=0);let n=i,r=c[n];for(;n<t;)r+=l(n),c[++n]=r;return i=t,r};return{i:(t,n)=>{let r,i;return a=s7(a,e-1),u(a)<=t?(i=v7(u,e,n,a),r=v7(u,e,t,a,i)):(r=v7(u,e,t,void 0,a),i=v7(u,e,n,r)),a=r,[r,i]},l:t=>v7(u,e,t),u,h:l,v:(e,t)=>{let n=s[e]===-1;return s[e]=t,i=s7(e,i),n},S:(e,t=-1)=>s[e]===t,t:()=>u(e),$:()=>e,m:(t,n)=>{let a=t-e;return i=n?-1:s7(t-1,i),e=t,a>0?(y7(c,a),y7(s,a,n),r*a):(c.splice(a),(n?s.splice(0,-a):s.splice(a)).reduce((e,t)=>e-(t===-1?r:t),0))},p:t?void 0:e=>{let t=0,n=[];s.forEach((r,i)=>{r!==-1&&(r&&n.push(r),i<e&&t++)}),i=-1;let a=d7(n),o=a.length,c=o/2|0,l=o%2==0?(a[c-1]+a[c])/2:a[c],u=r;return((r=l)-u)*c7(e-t,0)},B:()=>[s.slice(),r]}},Kne=e=>{let t;return{X(n){(t||=new(Vne(Bne(n))).ResizeObserver(e)).observe(n)},Y(e){t.unobserve(e)},q(){t&&t.disconnect()}}},b7=(e,t)=>t?-e:e,qne=(e,t,n,r,i,a)=>{let o,s=0,c=!1,l=!1,u=!1,d=!1,f=Date.now,p=()=>{if(c||l)return c=!1,void m();u=!1,e.W(2)},m=()=>{p7(o),o=f7(p,150)},h=()=>{s=f(),u&&(d=!0),a&&e.W(6,a()),e.W(1,r()),m()},g=t=>{if(c||!e.M()||t.ctrlKey)return;let r=f()-s;150>r&&50<r&&(n?t.deltaX:t.deltaY)&&(c=!0)},_=()=>{l=!0,u=d=!1},v=()=>{l=!1,_7()&&(u=!0)};return t.addEventListener(`scroll`,h),t.addEventListener(`wheel`,g,{passive:!0}),t.addEventListener(`touchstart`,_,{passive:!0}),t.addEventListener(`touchend`,v,{passive:!0}),{q:()=>{t.removeEventListener(`scroll`,h),t.removeEventListener(`wheel`,g),t.removeEventListener(`touchstart`,_),t.removeEventListener(`touchend`,v),p7(o)},A:()=>{let[t,n]=e.L();t&&(i(t,n,d),d=!1,n&&e.o()>e.t()&&e.W(1,r()))}}},Jne=(e,t,n)=>{let r;return[async(i,a)=>{if(!await t())return;let o,s,c;r&&r();let l=a&&Hne(),u=r=()=>{o=!0,p7(s),c&&c()},d=()=>{if(!o){if(e.o()&&(p7(s),s=f7(u,150)),l){for(let[t,n]=e.i(0);t<=n;t++)if(e.R(t))return;u()}e.W(7),n(i(),l)}},f=()=>{if(o)return;let t;c=e.H(2,()=>{t||(t=!0,m7(()=>{t=!1,d()}))}),d()};l?(e.W(8,i()),m7(f)):f()},()=>{r&&r()}]},Yne=(e,t)=>{let n,r,i=h7(),a=!1,o=t?`scrollLeft`:`scrollTop`,s=t?`overflowX`:`overflowY`,[c,l]=Jne(e,()=>i[0],(e,r)=>{e=b7(e,a),r?n.scrollTo({[t?`left`:`top`]:e,behavior:`smooth`}):n[o]=e}),u=t?`width`:`height`,d=new WeakMap,f=Kne(t=>{let r=[];for(let{target:i,contentRect:a}of t)if(i.offsetParent){if(i===n)e.W(4,a[u]);else{let e=d.get(i);e!=null&&r.push([e,a[u]])}}r.length&&e.W(3,r)});return{D(c,u=c.parentElement){f.X(n=u),t&&(a=getComputedStyle(u).direction===`rtl`),r=qne(e,u,t,()=>b7(u[o],a),(t,n,r)=>{if(r){let e=u.style,t=e[s];e[s]=`hidden`,f7(()=>{e[s]=t})}u[o]=b7(e.T()+t,a),n&&l()}),i[1](!0)},_(){f.q(),r&&r.q(),i[1](!1),i=h7()},N:(e,t)=>(d.set(e,t),f.X(e),()=>{d.delete(e),f.Y(e)}),P:()=>a,V:c,J(){r&&r.A()},j:e.O,G:()=>0}},x7=(e,t)=>{e.V(()=>t)},Xne=(e,t,n,{align:r,smooth:i,offset:a=0}={})=>{if(n=u7(n,0,t.C()-1),r===`nearest`){let e=t.u(n),i=t.T();if(e<i)r=`start`;else{if(!(e+t.h(n)>i+t.o()))return;r=`end`}}e.V(()=>a+e.j()+t.u(n)+(r===`end`?t.h(n)-(t.o()-e.G()):r===`center`?(t.h(n)-(t.o()-e.G()))/2:0),i)},S7=Rne?d.useLayoutEffect:d.useEffect,C7=`current`,w7=(e,t)=>{if(Array.isArray(e))for(let n of e)w7(n,t);else e==null||typeof e==`boolean`||t.push(e)},Zne=(e,t)=>e.key??`_`+t,Qne=e=>{let t=(0,d.useRef)(null);return t.current||=e()},T7=e=>{let t=(0,d.useRef)(e);return S7(()=>{t[C7]=e},[e]),t},$ne=(0,d.memo)(({ee:e,te:t,oe:n,ne:r,re:i,ie:a,se:o,le:s})=>{let c=(0,d.useRef)(null);S7(()=>t(c[C7],n),[n]);let l=(0,d.useMemo)(()=>{let e={contain:`layout style`,position:i&&s?void 0:`absolute`,[o?`height`:`width`]:`100%`,[o?`top`:`left`]:0,[o?`left`:`top`]:r,visibility:!i||s?void 0:`hidden`};return o&&(e.display=`inline-flex`),e},[r,i,s,o]);return(0,T.jsx)(a,typeof a==`string`?{ref:c,style:l,children:e}:{ref:c,style:l,index:n,children:e})}),ere=(e,t)=>(0,d.useMemo)(()=>{if(typeof e==`function`)return[n=>e(t[n],n),t.length];let n=(e=>{let t=[];return w7(e,t),t})(e);return[e=>n[e],n.length]},[e,t]),E7=(0,d.forwardRef)(({children:e,data:t,bufferSize:n,itemSize:r,shift:i,horizontal:a,keepMounted:o,cache:s,startMargin:c=0,ssrCount:l,as:u=`div`,item:f=`div`,scrollRef:p,onScroll:m,onScrollEnd:h},g)=>{let[_,v]=ere(e,t),y=(0,d.useRef)(null),b=(0,d.useRef)(!!l),x=T7(m),S=T7(h),[C,w,E,D]=Qne(()=>{let e=!!a,t=Gne(v,r,s),n=Wne(t,l);return[n,t,Yne(n,e),e]});v!==C.C()&&C.W(5,[v,i]),c!==C.O()&&C.W(6,c);let[O,k]=(0,d.useReducer)(C.I,void 0,C.I),A=C.M(),j=C.t(),M=E.P(),N=[],ee=e=>{let t=_(e);return(0,T.jsx)($ne,{te:E.N,oe:e,ne:C.u(e,M),re:C.R(e),ie:f,ee:t,se:D,le:b[C7]},Zne(t,e))};if(S7(()=>{b[C7]=!1,C.H(1,e=>{e?(0,ar.flushSync)(k):k()}),C.H(4,()=>{x.current&&x.current(C.T())}),C.H(8,()=>{S.current&&S.current()});let e=y[C7];return p?m7(()=>{p.current&&E.D(e,p[C7])}):E.D(e),()=>{C._(),E._()}},[]),S7(()=>{E.J()},[O]),(0,d.useImperativeHandle)(g,()=>({get cache(){return w.B()},get scrollOffset(){return C.T()},get scrollSize(){return Une(C)},get viewportSize(){return C.o()},findItemIndex:C.k,getItemOffset:C.u,getItemSize:C.h,scrollToIndex:(e,t)=>Xne(E,C,e,t),scrollTo:e=>x7(E,e),scrollBy:e=>((e,t,n)=>{x7(e,n+t.T())})(E,C,e)}),[]),o){let e=new Set(o);for(let[t,r]=C.i(n);t<=r;t++)e.add(t);d7([...e]).forEach(e=>{N.push(ee(e))})}else for(let[e,t]=C.i(n);e<=t;e++)N.push(ee(e));return(0,T.jsx)(u,{ref:y,style:{contain:`size style`,overflowAnchor:`none`,flex:`none`,position:`relative`,width:D?j:`100%`,height:D?`100%`:j,pointerEvents:A?`none`:void 0},children:N})}),D7=24;function O7({text:e}){let t=(0,d.useMemo)(()=>e.split(/\r?\n/),[e]);return typeof ResizeObserver>`u`||t.length<50&&e.length<5e3?(0,T.jsx)(`div`,{style:{whiteSpace:`pre-wrap`,overflowWrap:`break-word`},children:e}):(0,T.jsx)(E7,{data:t,itemSize:D7,children:e=>(0,T.jsx)(`div`,{style:{minHeight:D7,lineHeight:`${D7}px`,whiteSpace:`pre-wrap`,overflowWrap:`break-word`},children:e})})}function k7({text:e,threshold:t,t:n,renderFull:r,isStreaming:i=!1,defaultExpanded:a=!1}){let[o,s]=(0,d.useState)(a),c=e.length;if(!(!i&&c>t))return r?(0,T.jsx)(T.Fragment,{children:r()}):i&&e.length>0?(0,T.jsx)(O7,{text:e}):(0,T.jsx)(T.Fragment,{children:e});let l=Math.max(1,Math.floor(t/2)),u=c-l*2,f=(0,T.jsx)(`button`,{type:`button`,"data-long-block-toggle":``,onClick:()=>s(e=>!e),"aria-expanded":o,style:{display:`block`,width:`100%`,margin:`6px 0`,padding:`3px 8px`,border:`1px dashed var(--border)`,borderRadius:6,background:`none`,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,cursor:`pointer`,textAlign:`center`},children:o?n(`longBlock.collapse`):n(`longBlock.expandHint`,{n:u})});return o?(0,T.jsxs)(T.Fragment,{children:[r?r():(0,T.jsx)(O7,{text:e}),f]}):(0,T.jsxs)(T.Fragment,{children:[e.slice(0,l),f,e.slice(c-l)]})}var tre=100,A7=new Map;function nre(e,t,n){let r=`${e}:${t}:${n}`,i=A7.get(r);if(i)return A7.delete(r),A7.set(r,i),i;let a=fetch(`/api/sessions/${encodeURIComponent(e)}/entries/${encodeURIComponent(t)}/thinking?blockIndex=${n}`).then(async e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();if(typeof t.thinking!=`string`)throw Error(`Invalid thinking response`);return t.thinking}).catch(e=>{throw A7.delete(r),e});if(A7.set(r,a),A7.size>tre){let e=A7.keys().next().value;e&&A7.delete(e)}return a}function rre({block:e,sessionId:t,entryId:n,blockIndex:r,isStreaming:i=!1,keepExpanded:a=!1,longBlockCollapseChars:o=200}){let{t:s}=M(),[c,l]=(0,d.useState)(null),[u,f]=(0,d.useState)(!1),[p,m]=(0,d.useState)(null),h=(0,d.useRef)(!1),g=(0,d.useRef)(null);(0,d.useEffect)(()=>{e.deferred&&!h.current&&(h.current=!0,_())},[]);let _=async()=>{if(!(!e.deferred||c!==null)){if(!t||!n){m(s(`i18n.thinkingUnavailable`));return}f(!0),m(null);try{l(await nre(t,n,r))}catch(e){m(e instanceof Error?e.message:String(e))}finally{f(!1)}}},v=e.deferred?c:e.thinking,y=o7(g,i,[v]);return(0,T.jsxs)(`div`,{style:{border:`1px solid var(--border)`,borderRadius:6,overflow:`hidden`,fontSize:`var(--text-base)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,padding:`6px 10px`,color:`var(--status-warning)`,fontSize:`var(--text-base)`,cursor:`default`},children:[(0,T.jsx)(hn,{size:I.base,fill:`currentColor`,style:{flexShrink:0,color:`var(--bulb-warning)`}}),(0,T.jsx)(`span`,{children:s(`i18n.thinking`)})]}),(0,T.jsx)(`div`,{ref:g,onScroll:y,style:{padding:`4px 10px 8px 28px`,borderTop:`1px solid var(--border)`,fontSize:`var(--text-lg)`,lineHeight:1.6,color:`var(--text-muted)`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,fontFamily:`var(--font-mono)`,maxHeight:400,overflowY:`auto`,contentVisibility:`auto`,containIntrinsicBlockSize:400},children:u?(0,T.jsxs)(`span`,{style:{color:`var(--text-dim)`},children:[s(`i18n.loading`),`...`]}):p?(0,T.jsx)(`span`,{style:{color:`var(--status-error)`},children:p}):v?(0,T.jsx)(k7,{text:v,threshold:o,t:s,isStreaming:i,defaultExpanded:a}):_Q(e)?(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontStyle:`italic`},children:s(`i18n.thinkingEncrypted`)}):(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:s(`i18n.noThinking`)})})]})}function j7(e){let t=[],n=null,r,i=0,a=0,o=[],s=[],c=()=>({lineNo:null,text:``,type:`empty`}),l=()=>{if(!n){o=[],s=[];return}let e=Math.max(o.length,s.length);for(let t=0;t<e;t++){let e=o[t]?{lineNo:o[t].lineNo,text:o[t].text,type:`removed`}:c(),r=s[t]?{lineNo:s[t].lineNo,text:s[t].text,type:`added`}:c();n.rows.push({type:`line`,left:e,right:r})}o=[],s=[]};for(let c of e.split(/\r?\n/)){if(c.startsWith(`--- `)){l(),r=M7(c.slice(4));continue}if(c.startsWith(`+++ `)){l(),n={oldPath:r,newPath:M7(c.slice(4)),rows:[]},t.push(n);continue}let e=c.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(e){n||(n={rows:[]},t.push(n)),l(),i=Number(e[1]),a=Number(e[2]),n.rows.push({type:`hunk`,text:c});continue}if(!n)continue;if(c.startsWith(`\\ `)){l(),n.rows.push({type:`hunk`,text:c});continue}let u=c[0],d=c.slice(1);u===` `?(l(),n.rows.push({type:`line`,left:{lineNo:i++,text:d,type:`context`},right:{lineNo:a++,text:d,type:`context`}})):u===`-`?o.push({lineNo:i++,text:d}):u===`+`?s.push({lineNo:a++,text:d}):c!==``&&(l(),n.rows.push({type:`hunk`,text:c}))}l();let u=t.filter(e=>e.rows.some(e=>e.type===`line`));return u.length>0?u:null}function M7(e){return e.split(` `)[0].trim()}function ire(e){let t=e.details;if(!zm(t))return null;let n=typeof t.patch==`string`?t.patch:null;if(n)return{text:n};let r=typeof t.diff==`string`?t.diff:null;return r?{text:r}:null}function are(e){if(typeof e!=`string`||!e)return!1;let t=e.toLowerCase();return t===`edit`||t.startsWith(`edit_`)||t.endsWith(`.edit`)||t.endsWith(`_edit`)||t.includes(`str_replace`)||t.includes(`replace_editor`)}function ore({diff:e}){return(0,T.jsx)(`div`,{style:{borderTop:`1px solid var(--border)`,background:`var(--bg)`},children:(0,T.jsx)(sre,{text:e.text})})}function sre({text:e}){let{t}=M(),n=(0,d.useMemo)(()=>j7(e),[e]);if(!n)return(0,T.jsx)(cre,{text:e});let r=n.length>1;return(0,T.jsx)(`div`,{style:{maxHeight:560,overflowY:`auto`,overflowX:`hidden`,background:`var(--bg)`,contentVisibility:`auto`,containIntrinsicBlockSize:560},children:n.map((e,n)=>(0,T.jsxs)(`div`,{style:{minWidth:0,borderTop:n===0?`none`:`1px solid var(--border)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,lineHeight:1.55},children:[r&&(0,T.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`minmax(0, 1fr) minmax(0, 1fr)`,position:`sticky`,top:0,zIndex:1,background:`var(--bg)`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(N7,{title:e.oldPath||t(`i18n.before`),side:`left`}),(0,T.jsx)(N7,{title:e.newPath||t(`i18n.after`),side:`right`})]}),(0,T.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`minmax(0, 1fr) minmax(0, 1fr)`},children:e.rows.map((e,t)=>e.type===`hunk`?null:(0,T.jsxs)(`div`,{style:{display:`contents`},children:[(0,T.jsx)(P7,{cell:e.left,side:`left`}),(0,T.jsx)(P7,{cell:e.right,side:`right`})]},t))})]},n))})}function N7({title:e,side:t}){return(0,T.jsx)(`div`,{title:e,style:{padding:`5px 10px`,color:`var(--text-dim)`,borderRight:t===`left`?`1px solid var(--border)`:`none`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e})}function P7({cell:e,side:t}){let n=e.type===`added`?`color-mix(in srgb, var(--status-success) 12%, transparent)`:e.type===`removed`?`color-mix(in srgb, var(--status-error) 13%, transparent)`:e.type===`empty`?`var(--bg-subtle)`:`transparent`,r=e.type===`added`?`+`:e.type===`removed`?`-`:` `,i=e.type===`added`?`var(--status-success)`:e.type===`removed`?`var(--status-error)`:`var(--text-dim)`;return(0,T.jsxs)(`div`,{style:{display:`flex`,minWidth:0,background:n,borderRight:t===`left`?`1px solid var(--border)`:`none`},children:[(0,T.jsx)(`span`,{style:{width:42,padding:`0 6px`,textAlign:`right`,color:`var(--text-dim)`,userSelect:`none`,background:`var(--bg)`,borderRight:`1px solid var(--border)`,flexShrink:0},children:e.lineNo??``}),(0,T.jsx)(`span`,{style:{width:18,padding:`0 5px`,color:i,userSelect:`none`,fontWeight:e.type===`context`||e.type===`empty`?400:700,flexShrink:0},children:r}),(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,padding:`0 10px 0 0`,color:e.type===`empty`?`var(--text-dim)`:`var(--text)`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:e.text||`\xA0`})]})}function cre({text:e}){let t=e.split(/\r?\n/);return(0,T.jsx)(`div`,{style:{maxHeight:520,overflowY:`auto`,overflowX:`hidden`,fontFamily:`var(--font-mono)`,contentVisibility:`auto`,containIntrinsicBlockSize:520,fontSize:`var(--text-base)`,lineHeight:1.55,minWidth:0},children:t.map((e,t)=>{let n=e.startsWith(`@@`)?`hunk`:e.startsWith(`+`)&&!e.startsWith(`+++`)?`added`:e.startsWith(`-`)&&!e.startsWith(`---`)?`removed`:`context`,r=n===`added`?`color-mix(in srgb, var(--status-success) 12%, transparent)`:n===`removed`?`color-mix(in srgb, var(--status-error) 13%, transparent)`:n===`hunk`?`color-mix(in srgb, var(--accent) 12%, transparent)`:`transparent`,i=n===`added`?`var(--status-success)`:n===`removed`?`var(--status-error)`:n===`hunk`?`var(--accent)`:`var(--text)`;return(0,T.jsxs)(`div`,{style:{display:`flex`,background:r,borderLeft:n===`added`?`3px solid var(--status-success)`:n===`removed`?`3px solid var(--status-error)`:n===`hunk`?`3px solid var(--accent)`:`3px solid transparent`},children:[(0,T.jsx)(`span`,{style:{width:48,padding:`0 8px`,color:`var(--text-dim)`,background:`var(--bg)`,borderRight:`1px solid var(--border)`,textAlign:`right`,userSelect:`none`,flexShrink:0},children:t+1}),(0,T.jsx)(`span`,{style:{padding:`0 10px`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,color:i},children:e||`\xA0`})]},t)})})}function lre({block:e,result:t,duration:n}){let{t:r}=M(),i=e.input??{},a=typeof i.question==`string`?i.question:null,o=Array.isArray(i.options)?i.options:[],s=t?t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
483
+ `).trim():null,c=t?.isError??!1,l=s?.startsWith(`用户选择: `)?s.slice(6):null,u=l!==null&&o.some(e=>e.label===l);return(0,T.jsxs)(`div`,{style:{borderRadius:7,fontSize:`var(--text-base)`,border:c?`1px solid color-mix(in srgb, var(--status-error) 45%, transparent)`:`1px solid var(--border)`,background:c?`color-mix(in srgb, var(--status-error) 5%, transparent)`:`var(--bg-panel)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:7,padding:`6px 10px`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`},children:[(0,T.jsx)(`span`,{style:{color:c?`var(--status-error)`:`var(--status-info)`,fontFamily:`var(--font-mono)`,fontWeight:600,flexShrink:0},children:`pi_menu`}),(0,T.jsx)(`span`,{children:r(`chat.aiQuestion`)}),n!==void 0&&(0,T.jsxs)(`span`,{style:{marginLeft:`auto`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,fontVariantNumeric:`tabular-nums`,flexShrink:0},children:[n,`s`]})]}),(0,T.jsxs)(`div`,{style:{padding:`8px 10px`,borderTop:`1px solid var(--border)`,fontSize:`var(--text-base)`,lineHeight:1.5,color:`var(--text-muted)`},children:[a&&(0,T.jsx)(`div`,{style:{fontWeight:600,color:`var(--text)`,marginBottom:6},children:a}),o.length>0&&(0,T.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:3,marginBottom:s&&!u?6:0},children:o.map((e,t)=>{let n=typeof e.label==`string`?e.label:String(e.label??`#${t+1}`),r=typeof e.description==`string`?e.description:null,i=l!==null&&n===l;return(0,T.jsxs)(`div`,{style:{display:`flex`,gap:6,alignItems:`baseline`},children:[(0,T.jsx)(`span`,{style:{color:i?`var(--accent)`:`var(--text-dim)`},children:i?`●`:`○`}),(0,T.jsx)(`span`,{style:{color:i?`var(--accent)`:`var(--text)`,fontWeight:i?600:400},children:n}),r&&(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:r})]},t)})}),s&&!u&&(0,T.jsx)(`div`,{style:{color:c?`var(--status-error)`:`var(--text-muted)`,fontWeight:600,whiteSpace:`pre-wrap`,wordBreak:`break-all`},children:s})]})]})}function ure({block:e,isError:t,duration:n}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:7,width:`100%`,padding:`6px 10px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,minWidth:0},children:[(0,T.jsx)(Kn,{size:I.base,style:{flexShrink:0,color:t?`var(--status-error)`:`var(--status-info)`}}),(0,T.jsx)(`span`,{style:{color:t?`var(--status-error)`:`var(--status-info)`,fontFamily:`var(--font-mono)`,fontWeight:600,fontSize:`var(--text-sm)`,flexShrink:0},children:e.toolName}),(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flex:1,minWidth:0},children:jne(e)}),n!==void 0&&(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`,flexShrink:0,fontVariantNumeric:`tabular-nums`},children:[n,`s`]})]})})}function F7({block:e,result:t,duration:n,isStreaming:r=!1,keepExpanded:i=!1,streamingOutput:a,longBlockCollapseChars:o=200}){let{t:s}=M(),c=a??e.streamingOutput,l=(0,d.useRef)(null),u=o7(l,r,[c]);if(e.toolName===`pi_menu`)return(0,T.jsx)(lre,{block:e,result:t,duration:n});let f=JSON.stringify(e.input,null,2),p=are(e.toolName),m=t&&!t.isError?ire(t):null,h=t?t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
484
484
  `):null,g=h===null?!1:h.trim()===`(no output)`||h.trim()===``,_=t?.isError??!1,v=[p?``:f,m?m.text:h??``].filter(Boolean).join(`
485
- `),y=!r&&!c&&v.length>o,b=(0,T.jsxs)(T.Fragment,{children:[!p&&(0,T.jsx)(`pre`,{style:{margin:0,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.5,overflow:`auto`,whiteSpace:`pre-wrap`,wordBreak:`break-all`},children:f}),t&&(m?(0,T.jsx)(rre,{diff:m}):(0,T.jsx)(I7,{text:h??``,isEmpty:g,isError:_})),!t&&c!==void 0&&c!==``&&(0,T.jsx)(`div`,{"data-testid":`tool-stream-output`,children:(0,T.jsx)(I7,{text:c,isEmpty:!1,isError:!1,streamRef:l,onStreamScroll:u})})]});return(0,T.jsxs)(`div`,{style:{borderRadius:7,fontSize:`var(--text-base)`,border:_?`1px solid color-mix(in srgb, var(--status-error) 45%, transparent)`:`1px solid var(--border)`,background:_?`color-mix(in srgb, var(--status-error) 5%, transparent)`:`var(--bg)`},children:[(0,T.jsx)(sre,{block:e,isError:_,duration:n}),(0,T.jsx)(`div`,{style:{padding:`8px 10px`,borderTop:`1px solid var(--border)`,fontSize:`var(--text-base)`,lineHeight:1.5,color:`var(--text-muted)`},children:y?(0,T.jsx)(`div`,{style:{whiteSpace:`pre-wrap`,wordBreak:`break-all`},children:(0,T.jsx)(k7,{text:v,threshold:o,t:s,renderFull:()=>b,isStreaming:r,defaultExpanded:i})}):b})]})}function I7({text:e,isEmpty:t,isError:n,streamRef:r,onStreamScroll:i}){let{t:a}=M();return(0,T.jsx)(`div`,{style:{borderTop:`1px solid ${n?`color-mix(in srgb, var(--status-error) 30%, transparent)`:`var(--border)`}`,background:n?`color-mix(in srgb, var(--status-error) 4%, transparent)`:`var(--bg-subtle)`},children:(0,T.jsx)(`pre`,{ref:r,onScroll:i,style:{margin:0,padding:`8px 10px`,color:n?`var(--status-error)`:t?`var(--text-dim)`:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.5,overflow:`auto`,maxHeight:400,background:`var(--bg)`,whiteSpace:`pre-wrap`,wordBreak:`break-all`,fontStyle:t?`italic`:`normal`,opacity:t?.6:1,contentVisibility:`auto`,containIntrinsicBlockSize:400},children:t?a(`i18n.noOutput`):(0,T.jsx)(O7,{text:e})})})}function cre({message:e,turnStartTimestamp:t,toolResults:n,isStreaming:r,blockItems:i}){let a=(0,d.useRef)(null),[o,s]=(0,d.useState)(null),c=(0,d.useRef)(i);(0,d.useEffect)(()=>{c.current=i});let l=(0,d.useRef)(new Map),[u,f]=(0,d.useState)(new Map),p=(0,d.useMemo)(()=>{if(!e.timestamp||!t)return;let n=Math.round((e.timestamp-t)/1e3);return n>0?n:void 0},[e.timestamp,t]),m=(0,d.useMemo)(()=>{let t=new Map;if(!n||!e.timestamp)return t;for(let[r,i]of n)if(i.timestamp&&e.timestamp){let n=Math.round((i.timestamp-e.timestamp)/1e3);n>0&&t.set(r,n)}return t},[n,e.timestamp]);return(0,d.useEffect)(()=>{if(!r)return;let e=setInterval(()=>{if(document.hidden)return;let e=c.current,t=e.map(({block:e})=>e),n=Date.now();e.forEach(({originalIndex:e})=>{l.current.has(e)||l.current.set(e,n)}),f(t=>{let r=!1,i=new Map(t);for(let t=0;t<e.length-1;t++){let a=e[t].originalIndex,o=e[t+1].originalIndex;if(!i.has(a)&&l.current.has(a)){let e=l.current.get(a),t=l.current.get(o)??n;i.set(a,Math.round((t-e)/1e3)),r=!0}}return r?i:t});let r=e[e.length-1];if(r&&r.block.type===`toolCall`){let e=l.current.get(r.originalIndex);e!==void 0&&f(t=>{let i=Math.round((n-e)/1e3);if(t.get(r.originalIndex)===i)return t;let a=new Map(t);return a.set(r.originalIndex,i),a})}let i=0;for(let e of t)e.type===`text`?i+=e.text?.length??0:e.type===`thinking`?i+=e.thinking?.length??0:e.type===`toolCall`&&(i+=JSON.stringify(e.input??{}).length);if(i===0)return;a.current===null&&(a.current=n);let o=(n-a.current)/1e3;o>.5&&s(i/4/o)},300);return()=>{clearInterval(e),a.current=null,s(null)}},[r,f,s,c,l,a]),{turnDurationSecs:p,toolCallDurations:m,streamingDurations:u,tps:o}}function lre({message:e,isStreaming:t,toolResults:n,modelNames:r,cwd:i,onOpenFile:a,showTimestamp:o,turnStartTimestamp:s,sessionId:c,entryId:l,longBlockCollapseChars:u,recentExpandedBlockKeys:d,modelLabelVisible:f=!0,turnNumber:p}){let m=o?r7(e.timestamp):null,h=(e.content??[]).map((e,t)=>({block:e,originalIndex:t})).filter(({block:e})=>!hQ(e,{isStreaming:t})),g=h.map(({block:e})=>e),_=_Q(e,{isStreaming:t}),{turnDurationSecs:v,toolCallDurations:y,streamingDurations:b,tps:x}=cre({message:e,turnStartTimestamp:s,toolResults:n,isStreaming:t,blockItems:h}),S=g.filter(e=>e.type===`text`).map(e=>e.text).join(`
486
- `);return g.length===0&&!t&&!_?null:(0,T.jsxs)(`div`,{className:`msg-row`,style:{marginBottom:16},children:[f&&(0,T.jsx)(jne,{message:e,modelNames:r,isStreaming:t,blocks:g,turnNumber:p,tps:x}),(0,T.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:8},children:h.map(({block:e,originalIndex:r})=>(0,T.jsx)(ure,{block:e,toolResults:n,isStreaming:t,streamingDuration:b.get(r),toolCallDurations:y,cwd:i,onOpenFile:a,sessionId:c,entryId:l,blockIndex:r,longBlockCollapseChars:u,recentExpandedBlockKeys:d},`${l??`stream`}-${r}`))}),_&&(0,T.jsxs)(`div`,{role:`alert`,style:{marginTop:g.length>0?8:0,padding:`7px 10px`,border:`1px solid color-mix(in srgb, var(--status-error) 30%, transparent)`,borderRadius:6,background:`color-mix(in srgb, var(--status-error) 7%, transparent)`,color:`var(--status-error)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,lineHeight:1.5,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:[`Error: `,_]}),(0,T.jsx)(Ane,{usage:e.usage,isStreaming:t,textContent:S,time:m,turnDurationSecs:v})]})}function ure({block:e,toolResults:t,isStreaming:n,streamingDuration:r,toolCallDurations:i,cwd:a,onOpenFile:o,sessionId:s,entryId:c,blockIndex:l,longBlockCollapseChars:u,recentExpandedBlockKeys:d}){let f=!n&&c!==void 0&&(e.type===`thinking`||e.type===`toolCall`)&&d?.has(ze(e.type,c,e.type===`toolCall`?e.toolCallId:void 0,e.type===`thinking`?l:void 0))===!0;if(e.type===`text`)return(0,T.jsx)(dre,{block:e,isStreaming:n,cwd:a,onOpenFile:o});if(e.type===`thinking`)return(0,T.jsx)(ere,{block:e,sessionId:s,entryId:c,blockIndex:l,isStreaming:n,keepExpanded:f,longBlockCollapseChars:u});if(e.type===`toolCall`){let a=e,o=t?.get(a.toolCallId),s=i?.get(a.toolCallId)??r;return(0,T.jsx)(F7,{block:a,result:o,duration:s,isStreaming:n,keepExpanded:f,longBlockCollapseChars:u})}return null}function dre({block:e,isStreaming:t,cwd:n,onOpenFile:r}){return(0,T.jsx)(n7,{isStreaming:t,cwd:n,onOpenFile:r,children:e.text})}function fre({message:e,sessionId:t,streamingOutput:n,longBlockCollapseChars:r}){let[i,a]=(0,d.useState)(null),[o,s]=(0,d.useState)(!1),[c,l]=(0,d.useState)(null),u=!e.output&&e.exitCode===void 0&&!e.cancelled,f=e.cancelled||e.exitCode!==void 0&&e.exitCode!==0,p=t&&e.fullOutputPath?`/api/agent/${encodeURIComponent(t)}/bash-output?path=${encodeURIComponent(e.fullOutputPath)}`:null,m=e.truncated&&p&&i===null,h=i??e.output;async function g(){if(p){s(!0),l(null);try{let e=await(await fetch(p)).json();e.success?a(e.data?.output??``):l(e.error??`failed`)}catch(e){l(String(e))}finally{s(!1)}}}let _=e.excludeFromContext?`bash (local)`:`bash`,v={type:`toolCall`,toolCallId:`bash-${e.timestamp??``}`,toolName:_,input:{command:e.command}},y=u?void 0:{role:`toolResult`,toolCallId:v.toolCallId,toolName:_,content:h?[{type:`text`,text:h}]:[],isError:f,timestamp:e.timestamp};return(0,T.jsxs)(`div`,{style:{margin:`6px 0`},children:[(0,T.jsx)(F7,{block:v,result:y,streamingOutput:u?n:void 0,longBlockCollapseChars:r}),e.truncated&&p&&(0,T.jsxs)(`div`,{style:{padding:`4px 10px`,fontSize:`var(--text-sm)`,marginTop:-1},children:[m&&(0,T.jsx)(`button`,{onClick:g,disabled:o,style:{background:`none`,border:`none`,color:`var(--accent)`,cursor:o?`default`:`pointer`,fontSize:`var(--text-sm)`,padding:0,textDecoration:`underline`},children:o?`loading…`:`view full output`}),(0,T.jsx)(`a`,{href:`${p}&download=1`,style:{marginLeft:m?10:0,color:`var(--accent)`,fontSize:`var(--text-sm)`,textDecoration:`underline`},children:`download full output`}),c&&(0,T.jsxs)(`span`,{style:{marginLeft:6,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:[`(`,c,`)`]})]})]})}var pre=/<(read-files|modified-files)>\s*([\s\S]*?)\s*<\/\1>/g,mre=/(?:\r?\n){2,}((?:[ \t]*<(?:read-files|modified-files)>[ \t]*\r?\n[\s\S]*?\r?\n[ \t]*<\/(?:read-files|modified-files)>[ \t]*(?:\r?\n)?)+)\s*$/;function hre(e){let t=[],n=[],r=e.match(mre),i=r?.[1]??``,a=r?.index===void 0?e:e.slice(0,r.index);return i.replace(pre,(e,r,i)=>{let a=i.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);return r===`read-files`?t.push(...a):n.push(...a),``}),{body:a.trim(),readFiles:t,modifiedFiles:n}}function gre({message:e}){let{t}=M(),n=i7(e.content),r=(0,d.useMemo)(()=>hre(n),[n]),i=r7(e.timestamp);return(0,T.jsx)(`div`,{style:{marginBottom:16},children:(0,T.jsxs)(`div`,{style:{border:`1px solid var(--border)`,borderRadius:8,overflow:`hidden`,background:`var(--bg)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`7px 10px`,borderBottom:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`},children:[(0,T.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontWeight:650},children:`compaction`}),i&&(0,T.jsx)(`span`,{style:{marginLeft:`auto`,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:i})]}),(0,T.jsxs)(`div`,{style:{padding:`11px 13px 12px`},children:[(0,T.jsx)(`div`,{style:{color:`var(--text)`,fontSize:`var(--text-2xl)`,fontWeight:700,lineHeight:1.35},children:t(`i18n.conversationCompacted`)}),(0,T.jsx)(`div`,{style:{marginTop:3,marginBottom:10,color:`var(--text)`,fontSize:`var(--text-2xl)`,lineHeight:1.5},children:t(`i18n.compactionDescription`)}),r.body?(0,T.jsx)(n7,{className:`markdown-compaction-message`,children:r.body}):(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-base)`},children:t(`i18n.noSummary`)}),(0,T.jsx)(_re,{readFiles:r.readFiles,modifiedFiles:r.modifiedFiles})]})]})})}function _re({readFiles:e,modifiedFiles:t}){let{t:n}=M();if(e.length+t.length===0)return null;let r=[];return e.length>0&&r.push(`${e.length} read`),t.length>0&&r.push(`${t.length} modified`),(0,T.jsxs)(`details`,{className:`compaction-file-details`,children:[(0,T.jsx)(`summary`,{children:n(`i18n.fileContext`,{details:r.join(`, `)})}),t.length>0&&(0,T.jsx)(L7,{title:n(`i18n.modifiedFiles`),files:t}),e.length>0&&(0,T.jsx)(L7,{title:n(`i18n.readFiles`),files:e})]})}function L7({title:e,files:t}){return(0,T.jsxs)(`div`,{className:`compaction-file-section`,children:[(0,T.jsx)(`div`,{className:`compaction-file-title`,children:e}),(0,T.jsx)(`ul`,{className:`compaction-file-list`,children:t.map(e=>(0,T.jsx)(`li`,{children:e},e))})]})}function vre({message:e,cwd:t,onOpenFile:n}){let{t:r}=M(),i=e.display===!1,[a,o]=(0,d.useState)(!i),[s,c]=(0,d.useState)(!1),[l,u]=(0,d.useState)(!1),f=i7(e.content),p=wne(e.content),m=e.details!==void 0,h=m?Tne(e.details):``,g=Ene(e.customType),_=r7(e.timestamp);return(0,T.jsx)(`div`,{style:{marginBottom:16},children:(0,T.jsxs)(`div`,{style:{border:`1px solid var(--border)`,borderRadius:8,overflow:`hidden`,background:i?`var(--bg-subtle)`:`var(--bg)`,opacity:i&&!a?.82:1},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`7px 10px`,borderBottom:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-base)`},children:[(0,T.jsx)(`span`,{style:{color:`var(--text-muted)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontWeight:650},children:g}),i&&(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:r(`i18n.hiddenExtensionMessage`)}),_&&(0,T.jsx)(`span`,{style:{marginLeft:`auto`,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:_})]}),a?(0,T.jsxs)(`div`,{style:{padding:`6px 9px`},children:[p.length>0&&(0,T.jsx)(`div`,{style:{display:`flex`,gap:6,flexWrap:`wrap`,marginBottom:f?8:0},children:p.map((e,t)=>{let n=a7(e);return n?(0,T.jsx)(`img`,{src:n,alt:``,style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:`contain`,display:`block`,border:`1px solid var(--border)`}},t):null})}),f?(0,T.jsx)(n7,{className:`markdown-custom-message`,cwd:t,onOpenFile:n,children:f}):(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-base)`},children:r(`i18n.noMessage`)})]}):(0,T.jsx)(`button`,{onClick:()=>o(!0),style:{display:`block`,width:`100%`,padding:`8px 10px`,border:`none`,background:`transparent`,color:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-base)`,textAlign:`left`},children:f?Dne(f):r(`i18n.showExtensionMessage`)}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`4px 9px`,borderTop:`1px solid var(--border)`,background:`var(--bg-subtle)`},children:[f||h?(0,T.jsx)(`button`,{onClick:()=>{cK(f||h).then(()=>{u(!0),setTimeout(()=>u(!1),1500)})},style:{padding:`3px 7px`,border:`none`,background:`none`,color:l?`var(--accent)`:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`},children:r(l?`i18n.copied`:`i18n.copy`)}):null,(m||i)&&(0,T.jsx)(`button`,{onClick:()=>{i?o(e=>!e):c(e=>!e)},style:{marginLeft:`auto`,padding:`3px 7px`,border:`none`,background:`none`,color:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`},children:r(i?a?`i18n.collapse`:`i18n.expand`:s?`i18n.hideDetails`:`i18n.showDetails`)})]}),m&&(i&&a||!i&&s)&&(0,T.jsx)(`pre`,{style:{margin:0,padding:`9px 10px`,borderTop:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.5,whiteSpace:`pre-wrap`,wordBreak:`break-word`,maxHeight:360,overflow:`auto`,fontFamily:`var(--font-mono)`,contentVisibility:`auto`,containIntrinsicBlockSize:360},children:h})]})})}function yre({message:e,entryId:t,onFork:n,forking:r,onNavigate:i,prevAssistantEntryId:a,onEditContent:o,turnNumber:s}){let{t:c}=M(),[l,u]=(0,d.useState)(!1),f=typeof e.content==`string`?e.content:e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
487
- `),p=typeof e.content==`string`?[]:e.content.filter(e=>e.type===`image`),m=r7(e.timestamp),h=!!t&&!!n,g=!!a&&!!i;return(0,T.jsxs)(`div`,{className:`msg-row`,style:{marginBottom:16,display:`flex`,flexDirection:`column`,alignItems:`flex-end`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,maxWidth:`85%`},children:[s!==void 0&&(0,T.jsx)(FQ,{number:s}),(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0,position:`relative`,background:`var(--user-bg)`,border:`1px solid color-mix(in srgb, var(--accent) 20%, transparent)`,borderRadius:12,padding:`8px 12px`,fontSize:`var(--text-2xl)`,fontFamily:`var(--font-mono)`,lineHeight:1.6,color:`var(--text)`,wordBreak:`break-word`},children:[p.length>0&&(0,T.jsx)(`div`,{style:{display:`flex`,gap:6,flexWrap:`wrap`,marginBottom:f?8:0},children:p.map((e,t)=>{let n=a7(e);return(0,T.jsx)(`img`,{src:n,alt:``,style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:`contain`,display:`block`,border:`1px solid color-mix(in srgb, var(--accent) 15%, transparent)`}},t)})}),f&&(0,T.jsx)(`div`,{"data-testid":`user-message`,style:{whiteSpace:`pre-wrap`,wordBreak:`break-word`},children:f})]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,gap:6,marginTop:3},children:[(0,T.jsx)(`div`,{className:`msg-row-actions`,style:{display:`flex`,gap:3,transition:`opacity 0.12s`},children:(0,T.jsxs)(`button`,{onClick:()=>{cK(f).then(()=>{u(!0),setTimeout(()=>u(!1),1500)})},title:c(`i18n.copyMessage`),style:{display:`flex`,alignItems:`center`,gap:4,padding:`3px 8px`,height:22,background:`none`,border:`none`,borderRadius:5,color:l?`var(--accent)`:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`color 0.12s`,"--hover-color":`var(--accent)`,"--hover-bg":`transparent`},className:l?void 0:`hover-shift`,children:[l?(0,T.jsx)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,T.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}):(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`rect`,{x:`9`,y:`9`,width:I.lg,height:I.lg,rx:`2`,ry:`2`}),(0,T.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]}),c(l?`i18n.copied`:`i18n.copy`)]})}),(h||g)&&(0,T.jsxs)(`div`,{className:r?`msg-row-actions msg-actions-force`:`msg-row-actions`,style:{display:`flex`,gap:3,transition:`opacity 0.12s`},children:[g&&(0,T.jsxs)(`button`,{onClick:()=>{i(a),o?.(f)},title:c(`i18n.editFromHereTitle`),style:{display:`flex`,alignItems:`center`,gap:4,padding:`3px 8px`,height:22,background:`none`,border:`none`,borderRadius:5,color:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`color 0.12s`,"--hover-color":`var(--accent)`,"--hover-bg":`transparent`},className:`hover-shift`,children:[(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`polyline`,{points:`15 10 20 15 15 20`}),(0,T.jsx)(`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`})]}),c(`i18n.editFromHere`)]}),h&&(0,T.jsxs)(`button`,{onClick:()=>{n(t)},disabled:r,title:c(r?`i18n.creatingSession`:`i18n.newSessionTitle`),style:{display:`flex`,alignItems:`center`,gap:4,padding:`3px 8px`,height:22,background:`none`,border:`none`,borderRadius:5,color:r?`var(--accent)`:`var(--text-dim)`,cursor:r?`not-allowed`:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`color 0.12s`,"--hover-color":`var(--accent)`,"--hover-bg":`transparent`},className:r?void 0:`hover-shift`,children:[(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),c(r?`i18n.creating`:`i18n.newSession`)]})]}),m&&(0,T.jsx)(`span`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`},children:m})]})]})}function bre(e,t,n){if(t===n||e.role!==`assistant`)return!0;for(let r of e.content??[])if(r.type===`toolCall`&&t?.get(r.toolCallId)!==n?.get(r.toolCallId))return!1;return!0}var R7=(0,d.memo)(function({message:e,isStreaming:t,toolResults:n,modelNames:r,cwd:i,onOpenFile:a,entryId:o,onFork:s,forking:c,onNavigate:l,prevAssistantEntryId:u,onEditContent:d,showTimestamp:f,turnStartTimestamp:p,sessionId:m,streamingBashOutput:h,longBlockCollapseChars:g,recentExpandedBlockKeys:_,modelLabelVisible:v,turnNumber:y}){return e.role===`user`?(0,T.jsx)(yre,{message:e,entryId:o,onFork:s,forking:c,onNavigate:l,prevAssistantEntryId:u,onEditContent:d,turnNumber:y}):e.role===`assistant`?(0,T.jsx)(lre,{message:e,isStreaming:t,toolResults:n,modelNames:r,cwd:i,onOpenFile:a,showTimestamp:f,turnStartTimestamp:p,sessionId:m,entryId:o,longBlockCollapseChars:g,recentExpandedBlockKeys:_,modelLabelVisible:v,turnNumber:y}):e.role===`toolResult`?null:e.role===`custom`?e.customType===`compaction`?(0,T.jsx)(gre,{message:e}):(0,T.jsx)(vre,{message:e,cwd:i,onOpenFile:a}):e.role===`bashExecution`?(0,T.jsx)(fre,{message:e,sessionId:m,streamingOutput:h,longBlockCollapseChars:g}):null},(e,t)=>e.message===t.message&&e.isStreaming===t.isStreaming&&bre(e.message,e.toolResults,t.toolResults)&&e.modelNames===t.modelNames&&e.cwd===t.cwd&&e.onOpenFile===t.onOpenFile&&e.entryId===t.entryId&&e.onFork===t.onFork&&e.forking===t.forking&&e.onNavigate===t.onNavigate&&e.prevAssistantEntryId===t.prevAssistantEntryId&&e.onEditContent===t.onEditContent&&e.showTimestamp===t.showTimestamp&&e.sessionId===t.sessionId&&e.streamingBashOutput===t.streamingBashOutput&&e.modelLabelVisible===t.modelLabelVisible&&e.longBlockCollapseChars===t.longBlockCollapseChars&&e.recentExpandedBlockKeys===t.recentExpandedBlockKeys);function xre(e){let t=new Map;for(let n of e)n.role===`toolResult`&&t.set(n.toolCallId,n);return t}function Sre(e){let t=new Map;{let n=0;for(let r=0;r<e.length;r++)e[r].role===`user`?(n+=1,t.set(r,n)):e[r].role===`assistant`&&n>0&&t.set(r,n)}return t}function Cre(e){let t=-1;for(let n=e.length-1;n>=0;n--)if(e[n].role===`user`){t=n;break}return t}function wre({messageRefs:e,lastUserMsgRef:t,lastUserIdx:n}){return(r,i)=>a=>{e.current[i]=a,r===n&&(t.current=a)}}function Tre({models:e,messageCount:t,toolCallCount:n,t:r}){let i=[`${t} ${r(t===1?`chat.message`:`chat.messages`)}`];return n>0&&i.push(`${n} ${r(n===1?`chat.toolCall`:`chat.toolCalls`)}`),(0,T.jsxs)(`div`,{"data-testid":`pd-group-header`,style:{display:`flex`,alignItems:`center`,gap:8,width:`auto`,minHeight:24,padding:`3px 10px`,border:`1px solid var(--border)`,borderRadius:8,background:`var(--bg-panel)`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.6},children:[e.length>0&&(0,T.jsx)(`span`,{style:{whiteSpace:`nowrap`},children:e.map((e,t)=>(0,T.jsxs)(`span`,{style:{whiteSpace:`nowrap`},children:[t>0&&(0,T.jsx)(`span`,{style:{color:`var(--text-muted)`},children:` / `}),(0,T.jsxs)(`span`,{style:{color:`var(--text-dim)`},children:[e.provider,`/`]}),(0,T.jsx)(`span`,{style:{fontWeight:700,color:`var(--text)`},children:e.name})]},`${e.provider}/${e.name}`))}),(0,T.jsx)(`span`,{style:{minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:i.join(` · `)})]})}function Ere({messages:e,modelNames:t,t:n,renderMessage:r}){let i=e=>e.role!==`assistant`||!e.provider||!e.model?null:{provider:e.provider,name:t?.[`${e.provider}/${e.model}`]??t?.[e.model]??e.model};return{renderRow:t=>{if(t.kind===`groupHeader`){let r=[];for(let n=t.groupUserIdx+1;n<=t.finalAssistantIdx;n++){let t=e[n];if(t?.role!==`assistant`)continue;let a=i(t);a&&!r.some(e=>`${e.provider}/${e.name}`==`${a.provider}/${a.name}`)&&r.push(a)}return(0,T.jsx)(Tre,{models:r,messageCount:t.messageCount,toolCallCount:t.toolCallCount,t:n})}return r(t.msgIdx,{attachRef:t.attachRef,messageOverride:t.messageOverride,showTimestamp:t.showTimestamp,modelLabelVisible:t.isProcess||t.isProcessFinal?!1:void 0,isAnswer:t.isAnswer})},rowMargin:e=>e.kind===`groupHeader`?8:e.isProcess||e.isProcessFinal?e.groupLast?14:8:0}}function Dre(e){let{rows:t,messages:n,entryIds:r,modelNames:i,messageCwd:a,onOpenFile:o,sessionBusy:s,isNew:c,handleFork:l,forkingEntryId:u,handleNavigate:f,handleEditContent:p,sessionId:m,longBlockCollapseChars:h,recentExpandedBlockKeys:g,isStreaming:_,flashKey:v,itemRef:y,t:b,messageRefs:x,lastUserMsgRef:S,visibleRefIndexByMessage:C,scrollContainerRef:w,virtualizerRef:E,initialCache:D}=e,O=(0,d.useRef)(!1);(0,d.useLayoutEffect)(()=>{if(O.current)return;O.current=!0;let e=w.current;e&&e.scrollHeight>e.clientHeight&&(e.scrollTop=e.scrollHeight)},[w]);let k=xre(n),A=Sre(n),j=wre({messageRefs:x,lastUserMsgRef:S,lastUserIdx:Cre(n)}),{renderRow:M,rowMargin:N}=Ere({messages:n,modelNames:i,t:b,renderMessage:(e,t={})=>{let d=t.messageOverride??n[e],v=d.role===`user`&&e>0&&n[e-1].role===`assistant`?r[e-1]:void 0,y=d.role===`user`||d.role===`assistant`,b=C.get(e),x=!1;if(d.role===`assistant`){x=!0;for(let t=e+1;t<n.length;t++){let e=n[t].role;if(e===`user`)break;if(e===`assistant`){x=!1;break}}x&&_&&e===n.length-1&&(x=!1)}t.showTimestamp!==void 0&&(x=t.showTimestamp);let S;if(d.role===`assistant`){for(let t=e-1;t>=0;t--)if(n[t].role===`user`){S=n[t].timestamp;break}}let w=(0,T.jsx)(R7,{message:d,toolResults:k,modelNames:i,cwd:a,onOpenFile:o,entryId:r[e],onFork:s||c||e===0&&d.role===`user`?void 0:l,forking:u===r[e],onNavigate:s?void 0:f,prevAssistantEntryId:s?void 0:v,onEditContent:p,showTimestamp:x,turnStartTimestamp:S,sessionId:m,longBlockCollapseChars:h,recentExpandedBlockKeys:g,modelLabelVisible:t.modelLabelVisible,turnNumber:d.role===`user`||d.role===`assistant`&&t.isAnswer?A.get(e):void 0},`message-view-${e}`);return!y||t.attachRef===!1||b===void 0?w:(0,T.jsx)(`div`,{ref:j(e,b),children:w},`message-ref-${e}`)}});return(0,T.jsx)(E7,{ref:E,data:t,cache:D,itemSize:200,bufferSize:400,scrollRef:w,children:e=>{let t=e.kind===`groupHeader`&&e.processRefIdx!==void 0?t=>{x.current[e.processRefIdx]=t}:void 0;return(0,T.jsx)(`div`,{className:v===e.key?`search-flash`:void 0,ref:y(e.key,t),style:{marginBottom:N(e)},children:M(e)},e.key)}})}function z7({msg:e,onSend:t,onFillInput:n,testId:r}){let{t:i,locale:a}=M(),o=tt(e.message,a),s=tt(e.label,a),c=()=>{if(e.allowAppend&&n){n(`${o} `);return}t(o)},l=`${e.allowAppend?i(`config.widgets.fillToChatInputTooltip`):i(`config.widgets.sendImmediatelyTooltip`)}${o}`;return(0,T.jsx)(F,{label:l,children:(0,T.jsx)(nm,{label:s,title:l,onClick:c,testId:r})})}function B7({messages:e,onSend:t,onFillInput:n,testIdPrefix:r=`quick-msg`,wrapperTestId:i=`quick-message-buttons`,center:a=!1}){return e.length===0?null:(0,T.jsx)(`div`,{"data-testid":i,style:{display:`flex`,flexWrap:`wrap`,gap:6,justifyContent:a?`center`:`flex-start`,paddingTop:8,borderTop:a?`1px solid var(--border)`:void 0},children:e.map((e,i)=>(0,T.jsx)(z7,{msg:e,onSend:t,onFillInput:n,testId:`${r}-${i}`},i))})}function Ore({chatInputElement:e,startScreenMessages:t,aiIdle:n,isMobile:r,onQuickMessageSend:i,onFillInput:a}){return(0,T.jsxs)(`div`,{className:`relative`,children:[(0,T.jsx)(`div`,{style:{padding:`0 16px`,paddingRight:r?16:64},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`}})}),t.length>0&&n&&(0,T.jsx)(`div`,{style:{padding:`0 16px`,paddingRight:r?16:64},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`,paddingBottom:8},children:(0,T.jsx)(B7,{messages:t,onSend:i,onFillInput:a,testIdPrefix:`start-screen-msg`,wrapperTestId:`start-screen-messages`})})}),e]})}var V7=null,H7=new Set,U7=null;function W7(){return!U7&&typeof PointerEvent<`u`&&(U7=new PointerEvent(`pointermove`)),U7}var G7=[],K7=0;function q7(){V7===null&&(V7=requestAnimationFrame(()=>{if(V7=null,H7.size===0)return;let e=0;for(let t of H7)G7[e++]=t;G7.length=e,H7.clear();for(let t=0;t<e;t++)G7[t].update();for(let t=0;t<e;t++)G7[t]=null;G7.length=0,H7.size>0&&q7()}))}var J7=class e{get enabled(){return this._enabled}set enabled(e){this._enabled=e,!e&&this.isActive&&this.cancel()}cancel(){if(!this.isActive&&this.pointers.size===0)return;let t=this.isActive,n=W7(),r=t?this.createEvent(n):null;this.pointers.clear(),this.pointersCache.length=0,this.isActive=!1,t&&K7>0&&K7--,H7.delete(this),e.activeInstance.get(this.element)===this&&e.activeInstance.set(this.element,null),this.clearHoldTimers(),this.removeDocumentListeners(),r&&(this.options.onCancel?.(r),this.options.onEnd?.(r))}clearHoldTimers(){this.holdTimer&&=(clearTimeout(this.holdTimer),null),this.holdEventTimer&&=(clearTimeout(this.holdEventTimer),null)}removeDocumentListeners(){document.removeEventListener(`pointermove`,this.onPointerMove),document.removeEventListener(`pointerup`,this.onPointerUp),document.removeEventListener(`pointercancel`,this.onPointerUp)}getRect(e=this.element){return this.options.rectChecker?this.options.rectChecker(e):e.getBoundingClientRect()}getOrigin(){let e={x:0,y:0};return this.resolveOriginInto(e),e}resolveOriginInto(e){let t=this.options.origin;if(!t){e.x=0,e.y=0;return}if(t===`parent`){let t=this.element.offsetParent;if(!t){e.x=0,e.y=0;return}let n=this.getRect(t);e.x=n.left,e.y=n.top;return}if(t instanceof HTMLElement){let n=this.getRect(t);e.x=n.left,e.y=n.top;return}e.x=t.x,e.y=t.y}rebuildPointersCache(){let e=this.pointersCache;e.length=0;for(let t of this.pointers.values())e.push(t)}updateOptions(e){Object.assign(this.options,e),`touchAction`in e&&(this.element.style.touchAction=this.options.touchAction??`none`)}get interacting(){return this.isActive}static{this.elementInstances=new WeakMap}static{this.activeInstance=new WeakMap}static{this.elementListeners=new WeakMap}constructor(t,n={}){this.pointers=new Map,this.pointersCache=[],this.isActive=!1,this.lastUpdate=0,this.priority=0,this._enabled=!0,this.holdTimer=null,this.holdEventTimer=null,this.lastTapTime=0,this.lastTapTarget=null,this._originScratch={x:0,y:0},this._cachedEvent={target:null,pointers:[],isPrimary:!0,originalEvent:null},this.element=t,this.options={threshold:3,preventScroll:!0,styleCursor:!0,...n},this.registerInstance();let r=e.elementInstances.get(t);if(r&&r.length===1&&(t.style.touchAction=this.options.touchAction??`none`,t.style.userSelect=`none`,t.style.webkitUserSelect=`none`),this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),r&&r.length===1){let n=n=>e.handleElementPointerDown(t,n);e.elementListeners.set(t,n),t.addEventListener(`pointerdown`,n)}}registerInstance(){let t=e.elementInstances.get(this.element);t?t.push(this):e.elementInstances.set(this.element,[this])}unregisterInstance(){let t=e.elementInstances.get(this.element);if(!t)return;let n=t.indexOf(this);n>=0&&(t.splice(n,1),t.length===0?(e.elementInstances.delete(this.element),e.activeInstance.delete(this.element),e.elementListeners.delete(this.element)):e.elementInstances.set(this.element,t))}shouldHandleEvent(e){return!0}checkEventFilters(e){let t=e.target;return!t||!(this.options.ignoreFrom&&t.closest(this.options.ignoreFrom)||this.options.allowFrom&&!t.closest(this.options.allowFrom))}static handleElementPointerDown(t,n){let r=e.elementInstances.get(t);if(!r)return;let i=e.activeInstance.get(t);if(i){i.onPointerDown(n);return}let a=null,o=-1;for(let e of r)e.checkEventFilters(n)&&e.shouldHandleEvent(n)&&e.enabled&&e.priority>o&&(a=e,o=e.priority);a&&(e.activeInstance.set(t,a),a.handlePointerDown(n))}onPointerDown(e){this.handlePointerDown(e)}handlePointerDown(e){if(this.options.mouseButtons&&!(e.buttons&this.options.mouseButtons))return;this.options.preventScroll&&e.preventDefault(),this.resolveOriginInto(this._originScratch);let t=e.clientX-this._originScratch.x,n=e.clientY-this._originScratch.y,r={id:e.pointerId,start:{x:t,y:n},current:{x:t,y:n},previous:{x:t,y:n},delta:{x:0,y:0},total:{x:0,y:0},velocity:{x:0,y:0},timestamp:e.timeStamp};this.pointers.set(e.pointerId,r),this.rebuildPointersCache(),this.pointers.size===1&&(document.addEventListener(`pointermove`,this.onPointerMove,{passive:!this.options.preventScroll}),document.addEventListener(`pointerup`,this.onPointerUp),document.addEventListener(`pointercancel`,this.onPointerUp)),this.options.onHold&&(this.holdEventTimer&&clearTimeout(this.holdEventTimer),this.holdEventTimer=setTimeout(()=>{this.holdEventTimer=null,this.pointers.size>0&&!this.isActive&&this.options.onHold(this.createEvent(e))},this.options.holdDuration??600));let i=this.options.holdDelay??0;i>0?(this.holdTimer&&clearTimeout(this.holdTimer),this.holdTimer=setTimeout(()=>{this.holdTimer=null,!this.isActive&&this.pointers.size>0&&this.start(e)},i)):this.options.threshold===0&&this.start(e)}onPointerMove(e){let t=this.pointers.get(e.pointerId);if(!t)return;this.resolveOriginInto(this._originScratch);let n=e.clientX-this._originScratch.x,r=e.clientY-this._originScratch.y;if(t.current.x!==n||t.current.y!==r){if(t.current.x=n,t.current.y=r,!this.isActive){let n=t.current.x-t.start.x,r=t.current.y-t.start.y;Math.sqrt(n*n+r*r)>=(this.options.threshold||3)&&(this.holdTimer&&=(clearTimeout(this.holdTimer),null),this.holdEventTimer&&=(clearTimeout(this.holdEventTimer),null),this.start(e))}this.isActive&&(this.options.preventScroll&&e.preventDefault(),H7.add(this),q7())}}onPointerUp(e){if(this.pointers.get(e.pointerId)&&(this.pointers.delete(e.pointerId),this.rebuildPointersCache(),this.clearHoldTimers(),this.pointers.size===0)){if(this.removeDocumentListeners(),this.isActive)this.end(e);else{let t=this.createEvent(e);this.options.onTap&&this.options.onTap(t);let n=e.timeStamp,r=this.options.doubleTapDelay??300;this.options.onDoubleTap&&n-this.lastTapTime<r&&this.lastTapTarget===e.target&&this.options.onDoubleTap(t),this.lastTapTime=n,this.lastTapTarget=e.target}}}start(e){this.isActive=!0,K7++;let t=this.createEvent(e);this.options.onStart&&this.options.onStart(t)}startFromEvent(t){this.isActive||this.pointers.has(t.pointerId)||(e.activeInstance.set(this.element,this),this.handlePointerDown(t),this.isActive||this.start(t))}end(t){this.isActive=!1,H7.delete(this),K7>0&&K7--,e.activeInstance.get(this.element)===this&&e.activeInstance.set(this.element,null);let n=this.createEvent(t);this.options.onEnd&&this.options.onEnd(n)}update(){if(!this.isActive||this.pointers.size===0)return;let e=performance.now(),t=this.lastUpdate===0?16:e-this.lastUpdate;this.lastUpdate=e;let n=t>0?1-Math.exp(-t/50):.3,r=!1;for(let e of this.pointers.values()){let i=e.current.x-e.previous.x,a=e.current.y-e.previous.y;if(i!==0||a!==0){if(r=!0,e.delta.x=i,e.delta.y=a,e.total.x=e.current.x-e.start.x,e.total.y=e.current.y-e.start.y,t>0){let r=i/t*1e3,o=a/t*1e3;e.velocity.x=e.velocity.x*(1-n)+r*n,e.velocity.y=e.velocity.y*(1-n)+o*n}e.previous.x=e.current.x,e.previous.y=e.current.y}else t>0&&(e.velocity.x*=1-n,e.velocity.y*=1-n)}r&&this.options.onMove&&this.options.onMove(this.populateEvent(W7()))}populateEvent(e){let t=this._cachedEvent;return t.target=this.element,t.pointers=this.pointersCache,t.isPrimary=e.isPrimary,t.originalEvent=e,t}createEvent(e){return this.populateEvent(e)}destroy(){this.clearHoldTimers(),this.unregisterInstance();let t=e.elementInstances.get(this.element);if(!t||t.length===0){let t=e.elementListeners.get(this.element);t&&(this.element.removeEventListener(`pointerdown`,t),e.elementListeners.delete(this.element)),this.element.style.touchAction=``,this.element.style.userSelect=``,this.element.style.webkitUserSelect=``}this.pointers.size>0&&this.removeDocumentListeners(),H7.delete(this),this.pointers.clear(),this.pointersCache.length=0}},Y7=null;function kre(){if(Y7!==null)return Y7;if(typeof window>`u`||!window.matchMedia)return Y7=!1,!1;let e=window.matchMedia(`(prefers-reduced-motion: reduce)`);return Y7=e.matches,typeof e.addEventListener==`function`&&e.addEventListener(`change`,e=>{Y7=e.matches}),Y7}function X7(e,t){for(let n=0;n<e.length;n++)e[n].modify(t);return t}var Z7={instructions:`Press Space or Enter to pick up. Use arrow keys to move. Press Space or Enter to drop. Press Escape to cancel.`,pickedUp:(e,t,n)=>`Picked up ${e}, position ${t} of ${n}`,movedTo:(e,t)=>`Moved to position ${e} of ${t}`,dropped:(e,t,n)=>`Dropped ${e} in position ${t} of ${n}`,dragPickedUp:`Picked up`,dragDropped:`Dropped`};function Q7(){return Z7}var $7=null;function Are(){return $7&&$7.isConnected?$7:($7=document.createElement(`div`),$7.setAttribute(`aria-live`,`assertive`),$7.setAttribute(`aria-atomic`,`true`),$7.setAttribute(`role`,`status`),$7.style.cssText=`position:fixed;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0`,document.body.appendChild($7),$7)}var e9=``;function t9(e){let t=Are();t.textContent=e===e9?e+`\xA0`:e,e9=e}var n9=null,r9=`pointrix-instructions`;function jre(){return n9&&n9.isConnected?(n9.textContent=Z7.instructions,r9):(n9=document.createElement(`div`),n9.id=r9,n9.style.cssText=`position:fixed;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0`,n9.textContent=Z7.instructions,document.body.appendChild(n9),r9)}function Mre(e){e.hasAttribute(`tabindex`)||e.setAttribute(`tabindex`,`0`),e.hasAttribute(`role`)||e.setAttribute(`role`,`button`),e.setAttribute(`aria-roledescription`,`draggable`),e.setAttribute(`aria-describedby`,jre())}function i9(e,t){e.setAttribute(`aria-grabbed`,String(t))}function Nre(e){e.removeAttribute(`aria-roledescription`),e.removeAttribute(`aria-grabbed`),e.removeAttribute(`aria-describedby`)}var a9=new class{constructor(){this.zones=new Set,this._activeDragCount=0,this._refreshBound=()=>this.refreshRects()}register(e){this.zones.add(e)}unregister(e){this.zones.delete(e)}refreshRects(){for(let e of this.zones)e.isActive&&e.refreshRect()}onDragStart(e){for(let t of this.zones)t.accepts(e)&&(t.activate(e),t.refreshRect());this._activeDragCount===0&&typeof window<`u`&&(window.addEventListener(`scroll`,this._refreshBound,{passive:!0,capture:!0}),window.addEventListener(`resize`,this._refreshBound,{passive:!0})),this._activeDragCount++}onDragMove(e,t,n,r){let i,a=!1;for(let e of this.zones)if(e.isActive&&(e.options.overlap??`pointer`)!==`pointer`){a=!0;break}a&&(i=r?r():e.getBoundingClientRect());for(let r of this.zones){if(!r.isActive)continue;let a=r.checkOverlap(e,t,i);a>0?(r.isOver||r.enter(e,a,n),r.over(e,a,n)):r.isOver&&r.leave(e,n)}}onDragEnd(e,t,n,r){for(let i of this.zones)if(i.isActive){if(i.isOver){let a=r?.(),o=i.checkOverlap(e,t,a);i.drop(e,o>0?o:1,n)}i.deactivate(e),i.clearRect()}this._activeDragCount>0&&this._activeDragCount--,this._activeDragCount===0&&typeof window<`u`&&(window.removeEventListener(`scroll`,this._refreshBound,{capture:!0}),window.removeEventListener(`resize`,this._refreshBound))}getActiveZones(){let e=[];for(let t of this.zones)t.isActive&&e.push(t);return e}getHoveredZones(){let e=[];for(let t of this.zones)t.isOver&&e.push(t);return e}},Pre=class extends J7{constructor(e,t={}){super(e,{...t,onStart:e=>{this.handleDragStart(e),t.onStart?.(e)},onMove:e=>{this.handleDragMove(e),t.onMove?.(e)},onEnd:e=>{this.handleDragEnd(e),t.onEnd?.(e)}}),this.transform={x:0,y:0},this.startTransform={x:0,y:0},this.bounds=null,this.momentum={vx:0,vy:0,active:!1},this.transformNormalized=!1,this.detectedAxis=null,this.cachedSize={width:0,height:0},this._boundGetRect=()=>this.getRect(),this.modifierContext={position:{x:0,y:0},velocity:{x:0,y:0},element:null,startPosition:{x:0,y:0},delta:{x:0,y:0},size:{width:0,height:0}},this.cachedDragEvent={target:null,originalEvent:null,pointers:[],isPrimary:!0,dx:0,dy:0,totalX:0,totalY:0,velocityX:0,velocityY:0},this.dragOptions=t,this.priority=5,t.styleCursor!==!1&&(e.style.cursor=t.cursorChecker?t.cursorChecker(`idle`):`grab`),t.aria!==!1&&Mre(e)}shouldHandleEvent(e){if(!this.dragOptions.handle)return!0;let t=null;return t=typeof this.dragOptions.handle==`string`?this.element.querySelector(this.dragOptions.handle):this.dragOptions.handle,t?t.contains(e.target):!1}readCurrentTransform(e){let t=window.getComputedStyle(e).transform;if(t&&t!==`none`){let e=t.match(/matrix.*\((.+)\)/);if(e){let t=e[1].split(`, `);this.transform.x=parseFloat(t[4])||0,this.transform.y=parseFloat(t[5])||0}}else this.transformNormalized||(this.transform.x=0,this.transform.y=0);this.transformNormalized||=(e.style.transform=`translate3d(${this.transform.x}px, ${this.transform.y}px, 0)`,!0)}handleDragStart(e){let t=e.target;if(this.dragOptions.aria!==!1&&(i9(t,!0),t9(Q7().dragPickedUp)),this.detectedAxis=null,this.readCurrentTransform(t),this.dragOptions.styleCursor!==!1&&(t.style.cursor=this.dragOptions.cursorChecker?this.dragOptions.cursorChecker(`grabbing`):`grabbing`),t.style.willChange=`transform`,this.startTransform.x=this.transform.x,this.startTransform.y=this.transform.y,this.dragOptions.bounds){let e=this.getRect(t),n=this.startTransform.x,r=this.startTransform.y,i;if(this.dragOptions.bounds===`parent`){let e=t.offsetParent||document.body,n=this.getRect(e);i={left:n.left,top:n.top,right:n.right,bottom:n.bottom}}else if(this.dragOptions.bounds instanceof HTMLElement){let e=this.getRect(this.dragOptions.bounds);i={left:e.left,top:e.top,right:e.right,bottom:e.bottom}}else{let e=this.dragOptions.bounds;i={left:e.left??-1/0,top:e.top??-1/0,right:e.right??1/0,bottom:e.bottom??1/0}}let a=i.left-e.left+n,o=i.top-e.top+r,s=i.right-e.right+n,c=i.bottom-e.bottom+r;this.bounds=new DOMRect(a,o,s-a,c-o)}this.momentum.active=!1;let n=this.getRect(e.target);if(this.cachedSize.width=n.width,this.cachedSize.height=n.height,this.dragOptions.modifiers?.length){let t=this.modifierContext;t.position.x=this.startTransform.x,t.position.y=this.startTransform.y,t.velocity.x=0,t.velocity.y=0,t.element=e.target,t.startPosition.x=this.startTransform.x,t.startPosition.y=this.startTransform.y,t.delta.x=0,t.delta.y=0,t.size.width=this.cachedSize.width,t.size.height=this.cachedSize.height;for(let e of this.dragOptions.modifiers)e.onStart?.(t)}this.dragOptions.onDragStart&&this.dragOptions.onDragStart(this.createDragEvent(e,0,0)),this.dragOptions.droppable&&a9.onDragStart(e.target)}handleDragMove(e){let t=e.pointers[0],n=t.total.x,r=t.total.y;if(this.dragOptions.axis===`auto`&&this.detectedAxis===null){let e=Math.abs(n),t=Math.abs(r);(e>0||t>0)&&(this.detectedAxis=e>t?`x`:`y`)}let i=this.dragOptions.axis===`auto`?this.detectedAxis:this.dragOptions.axis;i===`x`?r=0:i===`y`&&(n=0);let a=this.startTransform.x+n,o=this.startTransform.y+r;if(this.dragOptions.grid&&(a=Math.round(a/this.dragOptions.grid.x)*this.dragOptions.grid.x,o=Math.round(o/this.dragOptions.grid.y)*this.dragOptions.grid.y),this.bounds&&(a=Math.max(this.bounds.left,Math.min(a,this.bounds.right)),o=Math.max(this.bounds.top,Math.min(o,this.bounds.bottom))),this.dragOptions.modifiers?.length){let n=this.modifierContext;n.position.x=a,n.position.y=o,n.velocity.x=t.velocity.x,n.velocity.y=t.velocity.y,n.element=e.target,n.startPosition.x=this.startTransform.x,n.startPosition.y=this.startTransform.y,n.delta.x=t.delta.x,n.delta.y=t.delta.y,n.size.width=this.cachedSize.width,n.size.height=this.cachedSize.height,X7(this.dragOptions.modifiers,n),a=n.position.x,o=n.position.y}this.transform.x=a,this.transform.y=o,this.applyTransform(e.target),this.dragOptions.momentum&&(this.momentum.vx=t.velocity.x,this.momentum.vy=t.velocity.y);let s=this.createDragEvent(e,n,r);this.dragOptions.onDragMove&&this.dragOptions.onDragMove(s),this.dragOptions.droppable&&a9.onDragMove(e.target,t.current,s,this._boundGetRect)}handleDragEnd(e){let t=e.target;this.dragOptions.aria!==!1&&(i9(t,!1),t9(Q7().dragDropped)),this.dragOptions.styleCursor!==!1&&(t.style.cursor=this.dragOptions.cursorChecker?this.dragOptions.cursorChecker(`grab`):`grab`);let n=this.transform.x-this.startTransform.x,r=this.transform.y-this.startTransform.y,i=this.dragOptions.momentum,a=typeof i==`object`?i.minVelocity??10:10;if(i&&(Math.abs(this.momentum.vx)>a||Math.abs(this.momentum.vy)>a)?this.startMomentum():t.style.willChange=``,this.dragOptions.modifiers?.length){let i=e.pointers[0],a=this.modifierContext;a.position.x=this.transform.x,a.position.y=this.transform.y,a.velocity.x=i?.velocity.x??0,a.velocity.y=i?.velocity.y??0,a.element=e.target,a.startPosition.x=this.startTransform.x,a.startPosition.y=this.startTransform.y,a.delta.x=n,a.delta.y=r,a.size.width=this.cachedSize.width,a.size.height=this.cachedSize.height;for(let e of this.dragOptions.modifiers)e.onEnd?.(a);let o=a.position.x,s=a.position.y;if(o!==this.transform.x||s!==this.transform.y){if(this.transform.x=o,this.transform.y=s,kre())this.applyTransform(t);else{t.style.transition=`transform 300ms cubic-bezier(0.25, 1, 0.5, 1)`,this.applyTransform(t);let e=()=>{t.style.transition=``,t.removeEventListener(`transitionend`,e)};t.addEventListener(`transitionend`,e)}}}if(this.dragOptions.droppable){let t=e.pointers[0]?.current??{x:0,y:0};a9.onDragEnd(e.target,t,this.createDragEvent(e,n,r),this._boundGetRect)}this.dragOptions.onDragEnd&&this.dragOptions.onDragEnd(this.createDragEvent(e,n,r))}startMomentum(){this.momentum.active=!0;let e=this.dragOptions.momentum,t=typeof e==`object`?e.friction??.95:.95,n=typeof e==`object`?e.minSpeed??.1:.1,r=performance.now(),i=e=>{if(!this.momentum.active)return;let a=Math.min(100,e-r)/1e3;r=e;let o=t**+a;if(this.momentum.vx*=o,this.momentum.vy*=o,Math.abs(this.momentum.vx)<n&&Math.abs(this.momentum.vy)<n){this.momentum.active=!1,this.element.style.willChange=``;return}this.transform.x+=this.momentum.vx*a,this.transform.y+=this.momentum.vy*a,this.bounds&&((this.transform.x<this.bounds.left||this.transform.x>this.bounds.right)&&(this.momentum.vx*=-.5,this.transform.x=Math.max(this.bounds.left,Math.min(this.transform.x,this.bounds.right))),(this.transform.y<this.bounds.top||this.transform.y>this.bounds.bottom)&&(this.momentum.vy*=-.5,this.transform.y=Math.max(this.bounds.top,Math.min(this.transform.y,this.bounds.bottom)))),this.applyTransform(this.element),requestAnimationFrame(i)};requestAnimationFrame(i)}applyTransform(e){e.style.transform=`translate3d(${this.transform.x}px, ${this.transform.y}px, 0)`}createDragEvent(e,t,n){let r=e.pointers[0],i=this.cachedDragEvent;return i.target=e.target,i.originalEvent=e.originalEvent,i.pointers=e.pointers,i.isPrimary=e.isPrimary,i.dx=r?.delta.x||0,i.dy=r?.delta.y||0,i.totalX=t,i.totalY=n,i.velocityX=r?.velocity.x||0,i.velocityY=r?.velocity.y||0,i}setPosition(e,t){this.transform.x=e,this.transform.y=t,this.applyTransform(this.element)}getPosition(){return{...this.transform}}updateOptions(e){super.updateOptions(e),Object.assign(this.dragOptions,e),(`cursorChecker`in e||`styleCursor`in e)&&!this.interacting&&(this.dragOptions.styleCursor===!1?this.element.style.cursor=``:this.element.style.cursor=this.dragOptions.cursorChecker?this.dragOptions.cursorChecker(`idle`):`grab`)}destroy(){super.destroy(),this.element.style.cursor=``,this.element.style.willChange=``,this.momentum.active=!1,this.dragOptions.aria!==!1&&Nre(this.element)}},Fre=class extends J7{constructor(e,t={}){let n={edges:{top:!0,right:!0,bottom:!0,left:!0},handleSize:10,minWidth:50,minHeight:50,...t};super(e,{...n,threshold:0,onStart:e=>{this.handleResizeStart(e),t.onStart?.(e)},onMove:e=>{this.handleResizeMove(e),t.onMove?.(e)},onEnd:e=>{this.handleResizeEnd(e),t.onEnd?.(e)}}),this.startSize={width:0,height:0},this.startPos={x:0,y:0},this.currentSize={width:0,height:0},this.currentPos={x:0,y:0},this.activeEdge=null,this.edgeFlags={top:!1,right:!1,bottom:!1,left:!1},this.aspectRatio=null,this.transformNormalized=!1,this.modifierContext={position:{x:0,y:0},velocity:{x:0,y:0},element:null,startPosition:{x:0,y:0},delta:{x:0,y:0},edges:{top:!1,right:!1,bottom:!1,left:!1},size:{width:0,height:0},startSize:{width:0,height:0}},this.cachedResizeEvent={target:null,originalEvent:null,pointers:[],isPrimary:!0,width:0,height:0,deltaWidth:0,deltaHeight:0,edges:{top:!1,right:!1,bottom:!1,left:!1}},this.resizeOptions=n,this.resizeOptions.square&&(this.resizeOptions.aspectRatio=1),this.priority=10,this.boundUpdateCursor=this.updateCursor.bind(this),e.addEventListener(`pointermove`,this.boundUpdateCursor),e.style.position=`relative`}normalizeInitialTransform(e){let t=window.getComputedStyle(e).transform;if(t&&t!==`none`){let n=t.match(/matrix.*\((.+)\)/);if(n){let t=n[1].split(`, `),r=parseFloat(t[4])||0,i=parseFloat(t[5])||0;e.style.transform=`translate3d(${r}px, ${i}px, 0)`}}}shouldHandleEvent(e){return this.detectEdge(e)!==null}updateCursor(e){if(this.activeEdge)return;let t=this.detectEdge(e);this.element.style.cursor=this.resizeOptions.cursorChecker?this.resizeOptions.cursorChecker(t):this.getCursor(t)}detectEdge(e){let t=this.getRect(),n=e.clientX-t.left,r=e.clientY-t.top,i=this.resizeOptions.handleSize||10,a=this.resizeOptions.edges||{},o=a.top&&r<i,s=a.bottom&&r>t.height-i,c=a.left&&n<i,l=a.right&&n>t.width-i;return o&&c?`top-left`:o&&l?`top-right`:s&&c?`bottom-left`:s&&l?`bottom-right`:o?`top`:s?`bottom`:c?`left`:l?`right`:null}getCursor(e){switch(e){case`top`:case`bottom`:return`ns-resize`;case`left`:case`right`:return`ew-resize`;case`top-left`:case`bottom-right`:return`nwse-resize`;case`top-right`:case`bottom-left`:return`nesw-resize`;default:return``}}handleResizeStart(e){this.transformNormalized||=(this.normalizeInitialTransform(this.element),!0);let t=this.getRect(),n=window.getComputedStyle(this.element);if(this.activeEdge=this.detectEdge(e.originalEvent),!this.activeEdge)return;this.edgeFlags.top=this.activeEdge.includes(`top`),this.edgeFlags.right=this.activeEdge.includes(`right`),this.edgeFlags.bottom=this.activeEdge.includes(`bottom`),this.edgeFlags.left=this.activeEdge.includes(`left`),this.startSize={width:parseFloat(n.width)||t.width,height:parseFloat(n.height)||t.height},this.currentSize={...this.startSize};let r=n.transform;if(r&&r!==`none`){let e=r.match(/matrix.*\((.+)\)/);if(e){let t=e[1].split(`, `);this.startPos.x=parseFloat(t[4])||0,this.startPos.y=parseFloat(t[5])||0}}else this.startPos.x=0,this.startPos.y=0;this.currentPos={...this.startPos},this.resizeOptions.aspectRatio===`preserve`?this.aspectRatio=this.startSize.width/this.startSize.height:typeof this.resizeOptions.aspectRatio==`number`&&(this.aspectRatio=this.resizeOptions.aspectRatio),this.element.style.willChange=`width, height, transform`,this.resizeOptions.onResizeStart&&this.resizeOptions.onResizeStart(this.createResizeEvent(e,0,0))}handleResizeMove(e){if(!this.activeEdge)return;let t=e.pointers[0],n=t.total.x,r=t.total.y,i=this.startSize.width,a=this.startSize.height,o=this.startPos.x,s=this.startPos.y;this.edgeFlags.right&&(i+=n),this.edgeFlags.left&&(i-=n,o+=n),this.edgeFlags.bottom&&(a+=r),this.edgeFlags.top&&(a-=r,s+=r);let c=this.resizeOptions.invert||`none`;c===`reposition`&&(i<0&&(o+=i,i=-i),a<0&&(s+=a,a=-a));let l=c===`negate`?-1/0:this.resizeOptions.minWidth||0,u=c===`negate`?-1/0:this.resizeOptions.minHeight||0,d=this.resizeOptions.maxWidth||1/0,f=this.resizeOptions.maxHeight||1/0,p=c===`reposition`?1:l||50,m=c===`reposition`?1:u||50;if(this.aspectRatio&&(this.activeEdge===`left`||this.activeEdge===`right`?a=i/this.aspectRatio:this.activeEdge===`top`||this.activeEdge===`bottom`?i=a*this.aspectRatio:Math.abs(i-this.startSize.width)>Math.abs(a-this.startSize.height)?a=i/this.aspectRatio:i=a*this.aspectRatio),i<p&&(this.edgeFlags.left&&(o+=i-p),i=p,this.aspectRatio&&(a=i/this.aspectRatio)),i>d&&(this.edgeFlags.left&&(o+=i-d),i=d,this.aspectRatio&&(a=i/this.aspectRatio)),a<m&&(this.edgeFlags.top&&(s+=a-m),a=m,this.aspectRatio&&(i=a*this.aspectRatio)),a>f&&(this.edgeFlags.top&&(s+=a-f),a=f,this.aspectRatio&&(i=a*this.aspectRatio)),this.resizeOptions.grid&&(i=Math.round(i/this.resizeOptions.grid.width)*this.resizeOptions.grid.width,a=Math.round(a/this.resizeOptions.grid.height)*this.resizeOptions.grid.height),this.resizeOptions.modifiers?.length){let e=this.modifierContext;e.position.x=o,e.position.y=s,e.velocity.x=t.velocity?.x??0,e.velocity.y=t.velocity?.y??0,e.element=this.element,e.startPosition.x=this.startPos.x,e.startPosition.y=this.startPos.y,e.delta.x=n,e.delta.y=r,e.edges.top=this.edgeFlags.top,e.edges.right=this.edgeFlags.right,e.edges.bottom=this.edgeFlags.bottom,e.edges.left=this.edgeFlags.left,e.size.width=i,e.size.height=a,e.startSize.width=this.startSize.width,e.startSize.height=this.startSize.height,X7(this.resizeOptions.modifiers,e),o=e.position.x,s=e.position.y,i=e.size.width,a=e.size.height}if(this.currentSize={width:i,height:a},this.currentPos={x:o,y:s},this.element.style.width=`${i}px`,this.element.style.height=`${a}px`,(o!==this.startPos.x||s!==this.startPos.y)&&(this.element.style.transform=`translate3d(${o}px, ${s}px, 0)`),this.resizeOptions.onResizeMove){let t=i-this.startSize.width,n=a-this.startSize.height;this.resizeOptions.onResizeMove(this.createResizeEvent(e,t,n))}}handleResizeEnd(e){if(this.element.style.willChange=``,this.activeEdge=null,this.resizeOptions.onResizeEnd){let t=this.currentSize.width-this.startSize.width,n=this.currentSize.height-this.startSize.height;this.resizeOptions.onResizeEnd(this.createResizeEvent(e,t,n))}}createResizeEvent(e,t,n){let r=this.cachedResizeEvent;return r.target=e.target,r.originalEvent=e.originalEvent,r.pointers=e.pointers,r.isPrimary=e.isPrimary,r.width=this.currentSize.width,r.height=this.currentSize.height,r.deltaWidth=t,r.deltaHeight=n,r.edges.top=this.edgeFlags.top,r.edges.right=this.edgeFlags.right,r.edges.bottom=this.edgeFlags.bottom,r.edges.left=this.edgeFlags.left,r}setSize(e,t){this.currentSize={width:e,height:t},this.element.style.width=`${e}px`,this.element.style.height=`${t}px`}getSize(){return{...this.currentSize}}updateOptions(e){super.updateOptions(e),Object.assign(this.resizeOptions,e),`square`in e&&this.resizeOptions.square&&(this.resizeOptions.aspectRatio=1)}destroy(){super.destroy(),this.element.removeEventListener(`pointermove`,this.boundUpdateCursor),this.element.style.cursor=``,this.element.style.willChange=``}},Ire=180/Math.PI,Lre=class extends J7{constructor(e,t={}){super(e,{...t,threshold:0}),this.gestureActive=!1,this.startDistance=0,this.startAngle=0,this.prevScale=1,this.prevAngle=0,this._p1=null,this._p2=null,this._cachedGestureEvent={target:null,pointers:[],isPrimary:!1,originalEvent:null,scale:1,rotation:0,distance:0,angle:0,center:{x:0,y:0},deltaScale:0,deltaAngle:0},this.gestureOptions=t,this.minPointers=t.minPointers??2,this.priority=15}shouldHandleEvent(e){return!0}selectTwoPointers(){if(this.pointers.size<2)return this._p1=this._p2=null,!1;let e=this.pointers.values();return this._p1=e.next().value,this._p2=e.next().value,!0}distanceBetween(e,t){let n=t.x-e.x,r=t.y-e.y;return Math.sqrt(n*n+r*r)}angleBetween(e,t){return Math.atan2(t.y-e.y,t.x-e.x)*Ire}normalizeAngleDelta(e){for(;e>180;)e-=360;for(;e<-180;)e+=360;return e}buildEvent(e,t,n,r,i,a,o,s){let c=this._cachedGestureEvent;return c.target=this.element,c.pointers=this.pointersCache,c.isPrimary=!1,c.originalEvent=c.originalEvent??{},c.scale=n,c.rotation=r,c.distance=e,c.angle=t,c.center.x=o,c.center.y=s,c.deltaScale=i,c.deltaAngle=a,c}update(){if(!this.isActive||this.pointers.size===0)return;let e=this.selectTwoPointers();if(!this.gestureActive&&e&&this.pointers.size>=this.minPointers){this.gestureActive=!0;let e=this._p1.current,t=this._p2.current;this.startDistance=this.distanceBetween(e,t),this.startAngle=this.angleBetween(e,t),this.prevScale=1,this.prevAngle=0;let n=this.buildEvent(this.startDistance,this.startAngle,1,0,0,0,(e.x+t.x)/2,(e.y+t.y)/2);this.gestureOptions.onGestureStart&&this.gestureOptions.onGestureStart(n);return}if(this.gestureActive&&this.pointers.size<this.minPointers){this.endGesture(),super.update();return}if(this.gestureActive&&e){let e=this._p1.current,t=this._p2.current,n=this.distanceBetween(e,t),r=this.angleBetween(e,t),i=this.startDistance>0?n/this.startDistance:1,a=this.normalizeAngleDelta(r-this.startAngle),o=i-this.prevScale,s=this.normalizeAngleDelta(a-this.prevAngle);this.prevScale=i,this.prevAngle=a,this.gestureOptions.onGestureMove&&this.gestureOptions.onGestureMove(this.buildEvent(n,r,i,a,o,s,(e.x+t.x)/2,(e.y+t.y)/2))}super.update()}endGesture(){if(!this.gestureActive)return;this.gestureActive=!1;let e=this.selectTwoPointers(),t=e?this._p1.current:null,n=e?this._p2.current:null,r=t&&n?this.distanceBetween(t,n):0,i=t&&n?this.angleBetween(t,n):0,a=t&&n?(t.x+n.x)/2:0,o=t&&n?(t.y+n.y)/2:0,s=this.startDistance>0&&r>0?r/this.startDistance:this.prevScale;this.gestureOptions.onGestureEnd&&this.gestureOptions.onGestureEnd(this.buildEvent(r,i,s,this.prevAngle,0,0,a,o))}updateOptions(e){super.updateOptions(e),Object.assign(this.gestureOptions,e),e.minPointers!==void 0&&(this.minPointers=e.minPointers)}destroy(){this.gestureActive&&this.endGesture(),super.destroy()}},Rre=typeof window<`u`?d.useLayoutEffect:d.useEffect;function o9(e){let t={};for(let n in e){let r=e[n];typeof r!=`function`&&(t[n]=r)}return t}function zre(e={},t){let n=(0,d.useRef)(e);n.current=e;let r=(0,d.useRef)(null),i=(0,d.useRef)(null),a=(0,d.useRef)(void 0),o=(0,d.useCallback)(o=>{if(o===i.current||(r.current&&(r.current.drag?.destroy(),r.current.resize?.destroy(),r.current.gesture?.destroy(),r.current=null,t&&(t.current=null)),i.current=o,!o))return;let s=n.current,c={drag:s.drag?new Pre(o,typeof s.drag==`object`?s9(n,`drag`):{}):null,resize:s.resize?new Fre(o,typeof s.resize==`object`?s9(n,`resize`):{}):null,gesture:s.gesture?new Lre(o,typeof s.gesture==`object`?s9(n,`gesture`):{}):null};r.current=c,t&&(t.current=c),a.current=e},[]);return Rre(()=>{let t=r.current;if(!t||a.current===e)return;let i=n.current;t.drag&&typeof i.drag==`object`&&t.drag.updateOptions(o9(i.drag)),t.resize&&typeof i.resize==`object`&&t.resize.updateOptions(o9(i.resize)),t.gesture&&typeof i.gesture==`object`&&t.gesture.updateOptions(o9(i.gesture)),a.current=e}),o}function s9(e,t){let n=e.current[t];if(typeof n!=`object`)return{};let r={};for(let i in n){let a=n[i];r[i]=typeof a==`function`?(...n)=>{let r=e.current[t];if(typeof r!=`object`)return;let a=r[i];return a?.(...n)}:a}return r}function Bre(e){switch(e){case`info`:return`var(--accent)`;case`success`:return`var(--status-success)`;case`warning`:return`var(--status-warning)`;case`error`:return`var(--status-error)`;default:return`var(--text)`}}function c9({title:e,subtitle:t,children:n,footer:r,width:i=560,align:a=`bottom`,height:o,variant:s=`normal`,initialOffset:c,position:l,size:u,maxWidth:f,onDragStop:p,onResizeStop:m,testId:h,style:g,portalTarget:_,headerExtra:v,flashHeader:y}){let[b,x]=(0,d.useState)(!1),S=Math.round(window.innerHeight*.8),[C]=(0,d.useState)(()=>({x:l?.x??c?.dx??0,y:l?.y??c?.dy??0,w:u?.width??i,h:u?.height??o??null})),w=(0,d.useRef)(null),E=(0,d.useRef)(null),D=(0,d.useRef)(null),O=(0,d.useRef)(p);O.current=p;let k=(0,d.useRef)(m);k.current=m;let A=zre((0,d.useMemo)(()=>({drag:{handle:`.dd-drag-handle`,onDragEnd:()=>{let e=D.current?.drag?.getPosition();e&&O.current?.(e.x,e.y)}},resize:{edges:{top:!0,right:!0,bottom:!0,left:!0},minWidth:160,minHeight:100,onResizeEnd:e=>{let t=w.current?.style.transform.match(/translate3?d?\((-?[\d.]+)px,\s*(-?[\d.]+)px/);k.current?.(e.width,e.height,t?Number(t[1]):0,t?Number(t[2]):0)}}}),[]),D);(0,d.useEffect)(()=>()=>{D.current?.drag?.cancel(),D.current?.resize?.cancel()},[]);let j=(0,d.useCallback)(e=>{w.current=e,A(e)},[A]);(0,d.useEffect)(()=>{if(D.current?.drag?.setPosition(C.x,C.y),C.h!=null){if(D.current?.resize?.setSize(C.w,C.h),f&&E.current){let e=E.current;e.style.width=`max-content`;let t=Math.ceil(e.scrollWidth);e.style.width=``;let n=Math.min(Math.max(t,C.w),f);n!==C.w&&D.current?.resize?.setSize(n,C.h)}return}let e=w.current;if(!e)return;let t=e.style.height,n=e.style.maxHeight;e.style.height=`auto`,e.style.maxHeight=`none`;let r=e.scrollHeight;e.style.height=t,e.style.maxHeight=n;let i=Math.min(r,S);if(f&&E.current){let e=E.current;e.style.width=`max-content`;let t=Math.ceil(e.scrollWidth);e.style.width=``;let n=Math.min(Math.max(t,C.w),f);D.current?.resize?.setSize(n,i)}else D.current?.resize?.setSize(C.w,i)},[]);let M=s===`error`?1200:1e3,N=b?M+100:M;return(0,ar.createPortal)((0,T.jsx)(`div`,{"data-testid":h,onPointerDownCapture:()=>x(!0),style:{position:`fixed`,inset:0,zIndex:N,display:`flex`,alignItems:a===`bottom`?`flex-end`:`center`,justifyContent:`center`,padding:a===`bottom`?`0 20px 16px`:0,pointerEvents:`none`,...g},children:(0,T.jsxs)(`div`,{ref:j,role:`dialog`,"aria-modal":`true`,style:{transform:`translate(${C.x}px, ${C.y}px)`,width:C.w,...C.h==null?{maxHeight:S}:{height:C.h},display:`flex`,flexDirection:`column`,position:`relative`,border:`1px solid color-mix(in srgb, var(--foreground) 14%, transparent)`,borderRadius:12,background:`var(--bg)`,boxShadow:`0 -4px 24px var(--shadow-strong), 0 8px 28px var(--shadow-color), 0 2px 8px var(--shadow-color)`,overflow:`hidden`,pointerEvents:`auto`},children:[(0,T.jsxs)(`div`,{className:`dd-drag-handle`,style:{padding:`12px 14px`,borderBottom:`1px solid var(--border)`,cursor:`move`,touchAction:`none`,userSelect:`none`,flexShrink:0,...s===`normal`?null:{background:Bre(s)},...y?{animation:`interaction-bg-blink 0.85s ease-in-out infinite`}:null},children:[(0,T.jsx)(`div`,{style:{color:s===`normal`?`var(--text)`:`var(--on-accent, #fff)`,fontSize:`var(--text-2xl)`,fontWeight:650,paddingRight:v?34:0},children:e}),t&&(0,T.jsx)(`div`,{style:{marginTop:3,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`},children:t})]}),v&&(0,T.jsx)(`div`,{style:{position:`absolute`,top:8,right:10,zIndex:2,display:`flex`,alignItems:`center`},children:v}),(0,T.jsx)(`div`,{ref:E,style:{padding:14,overflowY:`auto`,minHeight:0,flexGrow:1,userSelect:`text`},children:n}),r&&(0,T.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8,padding:`10px 14px`,borderTop:`1px solid var(--border)`,background:`var(--bg-panel)`,flexShrink:0},children:r})]})}),_??document.body)}function l9({notices:e,floating:t=!1,align:n=`left`}){return e.length===0?null:(0,T.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:n===`right`?`flex-end`:`stretch`,marginBottom:t?0:10},children:e.map((n,r)=>{let i=n.type===`error`?`var(--status-error)`:n.type===`warning`?`var(--status-warning)`:n.type===`success`?`var(--status-success)`:`var(--accent)`;return(0,T.jsxs)(`div`,{className:`notice-shelf-item`,style:{display:`flex`,alignItems:`center`,gap:10,minHeight:60,marginBottom:r===e.length-1?0:6,borderRadius:14,border:`1px solid color-mix(in srgb, var(--border) 70%, transparent)`,background:`var(--bg)`,color:`var(--text-muted)`,width:`fit-content`,maxWidth:`min(100%, 620px)`,boxShadow:t?`0 1px 2px var(--shadow-color), 0 10px 28px -14px var(--shadow-color)`:`0 1px 2px var(--shadow-color), 0 8px 24px -12px var(--shadow-color)`,fontSize:`var(--text-4xl)`,lineHeight:1.45,transformOrigin:`top center`,animation:n.exiting?`notice-shelf-out 0.18s ease-in forwards`:`notice-shelf-in 0.18s ease-out both`,padding:`0 12px`},children:[(0,T.jsx)(`span`,{style:{width:7,height:7,borderRadius:`50%`,background:i,flexShrink:0}}),(0,T.jsx)(`span`,{style:{padding:`14px 0`,minWidth:0,maxWidth:`100%`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:n.message})]},n.id)})})}var Vre={info:mn,success:Xt,warning:Vn,error:Zt},Hre={info:`chat.notifyInfoTitle`,success:`chat.notifySuccessTitle`,warning:`chat.notifyWarningTitle`,error:`chat.notifyErrorTitle`};function Ure({modals:e,onDismiss:t}){let{t:n}=M();return(0,T.jsx)(T.Fragment,{children:e.map((e,r)=>(0,T.jsx)(c9,{variant:e.type,align:`center`,width:520,height:320,initialOffset:{dx:r%3*24,dy:r%3*24},title:(()=>{let t=Vre[e.type];return(0,T.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:8},children:[(0,T.jsx)(t,{size:I[`4xl`]}),n(Hre[e.type])]})})(),footer:(0,T.jsx)(`button`,{onClick:()=>t(e.id),style:{padding:`6px 14px`,borderRadius:6,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text)`,cursor:`pointer`},children:n(`chat.close`)}),children:(0,T.jsx)(`div`,{style:{whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,fontSize:`var(--text-lg)`,lineHeight:1.6,color:`var(--text)`},children:e.message})},e.id))})}function Wre({show:e,onClick:t}){let{t:n}=M();return e?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{style:{position:`absolute`,left:0,right:0,bottom:0,height:30,background:`linear-gradient(to bottom, transparent, var(--bg))`,pointerEvents:`none`,zIndex:49}}),(0,T.jsx)(`button`,{type:`button`,onClick:t,"aria-label":n(`chat.scrollToLatest`),"data-testid":`scroll-to-latest`,style:{position:`absolute`,bottom:0,left:`50%`,transform:`translateX(-50%)`,width:`min(100% / 3, 260px)`,zIndex:50,cursor:`pointer`,background:`transparent`,border:`none`,padding:0,height:30,display:`flex`,alignItems:`flex-end`,justifyContent:`center`},children:(0,T.jsx)(F,{label:n(`chat.scrollToLatest`),children:(0,T.jsx)(`span`,{style:{position:`absolute`,bottom:4,left:`50%`,transform:`translateX(-50%)`,width:12,height:11,display:`flex`,alignItems:`flex-end`,justifyContent:`center`,cursor:`pointer`},children:(0,T.jsx)(`span`,{style:{position:`relative`,width:0,height:0,borderLeft:`6px solid transparent`,borderRight:`6px solid transparent`,borderTop:`7px solid var(--text-muted)`,pointerEvents:`none`}})})})})]}):null}function Gre({plainStatusLine:e}){return(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,flexShrink:0,minWidth:0,height:36,padding:`0 12px`,borderTop:`1px solid var(--border)`,gap:8},children:(0,T.jsx)(F,{label:e,wrapperStyle:{display:`flex`,flex:1,minWidth:0},children:(0,T.jsx)(`div`,{role:`status`,"aria-label":e,style:{alignSelf:`stretch`,display:`flex`,alignItems:`center`,flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,color:`var(--text-dim)`},children:e})})})}var Kre={background:`linear-gradient(90deg, var(--accent) 0%, var(--accent) 47%, var(--shine-highlight) 53%, var(--shine-highlight) 100%)`,backgroundSize:`200% 100%`,WebkitBackgroundClip:`text`,backgroundClip:`text`,color:`transparent`,animation:`pi-status-shine 1.5s linear infinite`},qre={animation:`pi-status-icon-pulse 1.5s ease-in-out infinite`};function Jre(e,t){if(e?.kind===`running_tools`){let n=e.tools.map(e=>e.name);return n.length===0?t(`chat.runningTool`):n.length===1?t(`chat.runningNamedTool`,{name:n[0]}):n.length<=3?t(`chat.runningTools`,{names:n.join(`, `)}):t(`chat.runningToolsMore`,{names:n.slice(0,2).join(`, `),count:n.length-2})}return e?.kind===`thinking`?t(`chat.thinking`):e?.kind===`waiting_model`?t(`chat.waitingModel`):e?.kind===`running_command`?t(`chat.runningCommand`):e?.kind===`retrying`?t(`chat.retrying`,{attempt:e.attempt,max:e.maxAttempts}):null}function Yre(e){return e?.kind===`running_tools`?(0,T.jsx)(Kn,{size:I.lg}):e?.kind===`running_command`?(0,T.jsx)(Rn,{size:I.lg}):e?.kind===`thinking`?(0,T.jsx)(hn,{size:I.lg,fill:`currentColor`,style:{color:`var(--bulb-warning)`}}):e?.kind===`retrying`?(0,T.jsx)(Vn,{size:I.lg,style:{color:`var(--status-warning)`}}):(0,T.jsx)(fn,{size:I.lg})}function u9({phase:e,elapsed:t,totalElapsed:n}){let{t:r}=M(),i=Jre(e,r)??r(`chat.runningCommand`);return(0,T.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,style:{...Kre,minWidth:0,maxWidth:`100%`},children:[(0,T.jsx)(`span`,{className:`inline-flex flex-shrink-0`,style:qre,children:Yre(e)}),(0,T.jsxs)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,minWidth:0},children:[i,t!=null&&(0,T.jsxs)(T.Fragment,{children:[` · `,t]}),n!=null&&(0,T.jsxs)(T.Fragment,{children:[` · `,r(`chat.totalElapsed`,{total:n})]})]})]})}function Xre({streamState:e,agentRunning:t,commandBusy:n,agentPhase:r,phaseElapsed:i,totalElapsed:a,bashRunning:o,pendingBash:s,bashOutput:c,session:l,sessionIdRef:u,longBlockCollapseChars:d}){return(0,T.jsxs)(T.Fragment,{children:[(t||n)&&(r?.kind===`waiting_model`||r?.kind===`thinking`||!e.streamingMessage)&&(r||n)&&(0,T.jsx)(`div`,{className:`py-2 text-[0.8125rem] text-text-muted`,children:(0,T.jsx)(u9,{phase:r??{kind:`running_command`},elapsed:i,totalElapsed:a})}),o&&(0,T.jsx)(`div`,{className:`py-2 text-[0.8125rem] text-text-muted`,children:(0,T.jsx)(u9,{phase:{kind:`running_command`},elapsed:i,totalElapsed:a})}),s&&(0,T.jsx)(R7,{message:{role:`bashExecution`,command:s.command,output:``,excludeFromContext:s.excludeFromContext},streamingBashOutput:c,sessionId:l?.id??u.current??void 0,longBlockCollapseChars:d}),t&&(0,T.jsx)(`div`,{style:{height:48}})]})}function d9({isMobile:e,notices:t,scrollContainerRef:n,handleListScroll:r,canMountList:i,sessionIdForCache:a,sessionId:o,rows:s,messages:c,entryIds:l,modelNames:u,messageCwd:d,onOpenFile:f,sessionBusy:p,isNew:m,handleFork:h,forkingEntryId:g,handleNavigate:_,handleEditContent:v,sessionIdRef:y,session:b,longBlockCollapseChars:x,recentExpandedBlockKeys:S,streamState:C,flashKey:w,itemRef:E,t:D,messageRefs:O,lastUserMsgRef:k,visibleRefIndexByMessage:A,virtualizerRef:j,initialCache:M,streamTurnNumber:N,agentRunning:ee,commandBusy:te,agentPhase:P,phaseElapsed:ne,totalElapsed:re,bashRunning:ie,pendingBash:ae,bashOutput:oe,messagesEndRef:se,nearBottom:ce,scrollToBottom:le,resolveMessageOffset:ue,previewScrollStepPx:de,handleWindowJumpTo:fe,chatInputElement:pe,startScreenMessages:me,aiIdle:he,onQuickMessageSend:ge,onFillInput:_e,plainStatusLine:ve}){return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1 overflow-hidden`,children:[(0,T.jsx)(`div`,{style:{position:`absolute`,top:12,left:0,right:e?0:`calc(${dQ} + 48px)`,zIndex:40,padding:`0 16px`,pointerEvents:`none`},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`},children:(0,T.jsx)(l9,{notices:t,floating:!0,align:`right`})})}),(0,T.jsx)(`div`,{ref:n,onScroll:r,className:`min-h-0 min-w-0 flex-1 overflow-x-hidden overflow-y-auto pt-4 [scrollbar-width:none] [overflow-anchor:none]`,style:{paddingRight:48},"data-testid":`message-list`,children:(0,T.jsx)(`div`,{style:{minWidth:0,padding:`0 16px`},children:(0,T.jsxs)(`div`,{style:{width:`100%`,minWidth:0,maxWidth:820,margin:`0 auto`},children:[i&&(0,T.jsx)(Dre,{rows:s,messages:c,entryIds:l,modelNames:u,messageCwd:d,onOpenFile:f,sessionBusy:p,isNew:m,handleFork:h,forkingEntryId:g,handleNavigate:_,handleEditContent:v,sessionId:b?.id??y.current??void 0,longBlockCollapseChars:x,recentExpandedBlockKeys:S,isStreaming:C.isStreaming,flashKey:w,itemRef:E,t:D,messageRefs:O,lastUserMsgRef:k,visibleRefIndexByMessage:A,scrollContainerRef:n,virtualizerRef:j,initialCache:M},a||`empty`),C.isStreaming&&C.streamingMessage&&(0,T.jsx)(`div`,{children:(0,T.jsx)(R7,{message:C.streamingMessage,isStreaming:!0,modelNames:u,cwd:d,onOpenFile:f,longBlockCollapseChars:x,recentExpandedBlockKeys:S,turnNumber:N})}),(0,T.jsx)(Xre,{streamState:C,agentRunning:ee,commandBusy:te,agentPhase:P,phaseElapsed:ne,totalElapsed:re,bashRunning:ie,pendingBash:ae,bashOutput:oe,session:b,sessionIdRef:y,longBlockCollapseChars:x}),(0,T.jsx)(`div`,{ref:se})]})})}),(0,T.jsx)(Wre,{show:!ce,onClick:le}),e?null:(0,T.jsx)(VQ,{messages:c,streamingMessage:C.streamingMessage,scrollContainer:n,messageRefs:O,resolveMessageOffset:ue,scrollStepPx:de,onWindowJumpTo:fe})]}),(0,T.jsx)(Ore,{chatInputElement:pe,startScreenMessages:me,aiIdle:he,isMobile:e,onQuickMessageSend:ge,onFillInput:_e}),(0,T.jsx)(Gre,{plainStatusLine:ve})]})}function Zre(e,t){if(!t)return new Set;let n=t;function r(e,t){for(let i of e){let e=[...t,i.entry.id];if(i.entry.id===n||i.compressedEntryIds?.includes(n))return e;let a=r(i.children,e);if(a)return a}return null}return new Set(r(e,[])??[])}function f9(e){let t=e,n=t.compressedEntryIds?.length??0;for(;t.children.length===1;)t=t.children[0],n+=1+(t.compressedEntryIds?.length??0);return{node:t,skipped:n}}function Qre(e){if(e.type===`message`&&`message`in e){let t=e.message,n=t.content,r=``;if(typeof n==`string`?r=n:Array.isArray(n)&&(r=n.filter(e=>e.type===`text`).map(e=>e.text).join(` `)),r.length>40&&(r=`${r.slice(0,40)}…`),r)return r;if(t.role===`assistant`)return`[assistant]`}return e.type}function p9(e){for(let t of e)if(t.children.length>1||p9(t.children))return!0;return!1}function m9({node:e,activePathIds:t,depth:n,isLast:r,parentLines:i,onSelect:a}){let{node:o,skipped:s}=f9(e),c=t.has(o.entry.id),l=t.has(e.entry.id)||t.has(o.entry.id),u=Qre(o.entry),d=o.entry.type===`message`&&`message`in o.entry?o.entry.message.role:null;return(0,T.jsxs)(`div`,{children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,height:24,cursor:`pointer`},onClick:()=>a(o.entry.id),children:[i.map((e,t)=>(0,T.jsx)(`div`,{style:{width:16,flexShrink:0,position:`relative`,height:`100%`,alignSelf:`stretch`},children:e&&(0,T.jsx)(`div`,{style:{position:`absolute`,left:7,top:0,bottom:0,width:1,background:`var(--border)`}})},t)),(0,T.jsxs)(`div`,{style:{width:16,flexShrink:0,position:`relative`,height:`100%`,alignSelf:`stretch`},children:[(0,T.jsx)(`div`,{style:{position:`absolute`,left:7,top:0,bottom:r?`50%`:0,width:1,background:`var(--border)`}}),(0,T.jsx)(`div`,{style:{position:`absolute`,left:7,top:`50%`,width:9,height:1,background:`var(--border)`}})]}),(0,T.jsx)(`div`,{style:{width:7,height:7,borderRadius:`50%`,flexShrink:0,background:c?`var(--accent)`:l?`var(--text-muted)`:`var(--border)`,border:c?`none`:`1px solid var(--text-dim)`,marginRight:6,transition:`background 0.12s`}}),d&&(0,T.jsx)(`span`,{style:{fontSize:`var(--text-2xs)`,fontFamily:`var(--font-mono)`,color:d===`user`?`var(--accent)`:`var(--text-dim)`,background:d===`user`?`color-mix(in srgb, var(--accent) 8%, transparent)`:`var(--bg-hover)`,border:`1px solid ${d===`user`?`color-mix(in srgb, var(--accent) 20%, transparent)`:`var(--border)`}`,borderRadius:3,padding:`0 4px`,marginRight:5,flexShrink:0,lineHeight:`16px`},children:d===`user`?`U`:`A`}),s>0&&(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`,marginRight:5,flexShrink:0},children:[`+`,s]}),(0,T.jsx)(`span`,{style:{fontSize:`var(--text-sm)`,color:c?`var(--text)`:l?`var(--text-muted)`:`var(--text-dim)`,fontWeight:c?500:400,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flex:1,minWidth:0},children:u})]}),o.children.map((e,s)=>(0,T.jsx)(m9,{node:e,activePathIds:t,depth:n+1,isLast:s===o.children.length-1,parentLines:[...i,!r],onSelect:a},e.entry.id))]})}function $re({tree:e,activeLeafId:t,onLeafChange:n,inline:r,containerRef:i,open:a,onToggle:o,hasSession:s,compact:c}){let{t:l}=M(),[u,f]=(0,d.useState)(!1),p=a===void 0?u:a,m=(0,d.useRef)(null),[h,g]=(0,d.useState)(null);(0,d.useEffect)(()=>{if(!p||!r)return;let e=i?.current??m.current;if(!e)return;let t=()=>{if(document.hidden)return;let t=e.getBoundingClientRect();g({top:t.bottom,left:t.left,width:t.width})};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[p,r,i]);let _=(0,d.useMemo)(()=>Zre(e,t),[e,t]),v=(0,d.useCallback)(e=>{n(e)},[n]),y=s?p9(e)?null:l(`i18n.noBranches`):l(`i18n.noActiveSession`),b=(e.length>0?f9(e[0]):null)?.node??null,x=!y&&b&&b.children.length>1,S=(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),C=(0,T.jsx)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`var(--text-dim)`,strokeWidth:`1.6`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{marginLeft:2,transform:p?`rotate(180deg)`:`none`,transition:`transform 0.15s`},children:(0,T.jsx)(`polyline`,{points:`2 3.5 5 6.5 8 3.5`})});return r?(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,alignItems:`stretch`},children:[(0,T.jsxs)(`button`,{ref:m,onClick:()=>o?o():f(e=>!e),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,alignSelf:`center`,width:32,height:32,padding:0,background:p?`var(--bg-selected)`:`transparent`,border:`1px solid${p?` var(--accent)`:` var(--border)`}`,borderRadius:7,cursor:`pointer`,color:p?`var(--text)`:`var(--text-muted)`,transition:`color 0.12s, background 0.12s, border-color 0.12s`,"--hover-color":`var(--text)`,"--hover-bg":`var(--bg-selected)`,"--hover-border":`color-mix(in srgb, var(--accent) 35%, transparent)`},className:`hover-shift`,"aria-label":l(`i18n.branches`),"aria-pressed":p,children:[S,!c&&(0,T.jsx)(`span`,{children:l(`i18n.branches`)})]}),p&&h&&(0,T.jsx)(`div`,{style:{position:`fixed`,top:h.top,left:h.left,width:h.width,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,zIndex:1500},children:x&&b?(0,T.jsx)(`div`,{style:{padding:`4px 12px 8px 12px`,maxHeight:260,overflowY:`auto`},children:b.children.map((e,t)=>(0,T.jsx)(m9,{node:e,activePathIds:_,depth:0,isLast:t===b.children.length-1,parentLines:[],onSelect:v},e.entry.id))}):(0,T.jsx)(`div`,{style:{padding:`10px 16px`,fontSize:`var(--text-base)`,color:`var(--text-muted)`,fontStyle:`italic`},children:y})})]}):(0,T.jsxs)(`div`,{style:{borderBottom:`1px solid var(--border)`,background:`var(--bg)`,flexShrink:0,position:`relative`},children:[(0,T.jsxs)(`button`,{onClick:()=>f(e=>!e),style:{display:`flex`,alignItems:`center`,gap:6,width:`100%`,padding:`5px 12px`,background:`none`,border:`none`,cursor:`pointer`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,textAlign:`left`},children:[S,(0,T.jsx)(`span`,{style:{color:`var(--text-muted)`},children:l(`i18n.branches`)}),C]}),p&&(0,T.jsx)(`div`,{style:{position:`absolute`,top:`100%`,left:0,right:0,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,boxShadow:`0 4px 12px var(--shadow-color)`,zIndex:100},children:x&&b?(0,T.jsx)(`div`,{style:{padding:`4px 12px 8px 12px`,maxHeight:260,overflowY:`auto`},children:b.children.map((e,t)=>(0,T.jsx)(m9,{node:e,activePathIds:_,depth:0,isLast:t===b.children.length-1,parentLines:[],onSelect:v},e.entry.id))}):(0,T.jsx)(`div`,{style:{padding:`10px 16px`,fontSize:`var(--text-base)`,color:`var(--text-muted)`,fontStyle:`italic`},children:y??l(`i18n.noBranches`)})})]})}function eie(e){if(e.role===`user`){let t=e;return typeof t.content==`string`?t.content:t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
485
+ `),y=!r&&!c&&v.length>o,b=(0,T.jsxs)(T.Fragment,{children:[!p&&(0,T.jsx)(`pre`,{style:{margin:0,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.5,overflow:`auto`,whiteSpace:`pre-wrap`,wordBreak:`break-all`},children:f}),t&&(m?(0,T.jsx)(ore,{diff:m}):(0,T.jsx)(I7,{text:h??``,isEmpty:g,isError:_})),!t&&c!==void 0&&c!==``&&(0,T.jsx)(`div`,{"data-testid":`tool-stream-output`,children:(0,T.jsx)(I7,{text:c,isEmpty:!1,isError:!1,streamRef:l,onStreamScroll:u})})]});return(0,T.jsxs)(`div`,{style:{borderRadius:7,fontSize:`var(--text-base)`,border:_?`1px solid color-mix(in srgb, var(--status-error) 45%, transparent)`:`1px solid var(--border)`,background:_?`color-mix(in srgb, var(--status-error) 5%, transparent)`:`var(--bg)`},children:[(0,T.jsx)(ure,{block:e,isError:_,duration:n}),(0,T.jsx)(`div`,{style:{padding:`8px 10px`,borderTop:`1px solid var(--border)`,fontSize:`var(--text-base)`,lineHeight:1.5,color:`var(--text-muted)`},children:y?(0,T.jsx)(`div`,{style:{whiteSpace:`pre-wrap`,wordBreak:`break-all`},children:(0,T.jsx)(k7,{text:v,threshold:o,t:s,renderFull:()=>b,isStreaming:r,defaultExpanded:i})}):b})]})}function I7({text:e,isEmpty:t,isError:n,streamRef:r,onStreamScroll:i}){let{t:a}=M();return(0,T.jsx)(`div`,{style:{borderTop:`1px solid ${n?`color-mix(in srgb, var(--status-error) 30%, transparent)`:`var(--border)`}`,background:n?`color-mix(in srgb, var(--status-error) 4%, transparent)`:`var(--bg-subtle)`},children:(0,T.jsx)(`pre`,{ref:r,onScroll:i,style:{margin:0,padding:`8px 10px`,color:n?`var(--status-error)`:t?`var(--text-dim)`:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.5,overflow:`auto`,maxHeight:400,background:`var(--bg)`,whiteSpace:`pre-wrap`,wordBreak:`break-all`,fontStyle:t?`italic`:`normal`,opacity:t?.6:1,contentVisibility:`auto`,containIntrinsicBlockSize:400},children:t?a(`i18n.noOutput`):(0,T.jsx)(O7,{text:e})})})}function dre({message:e,turnStartTimestamp:t,toolResults:n,isStreaming:r,blockItems:i}){let a=(0,d.useRef)(null),[o,s]=(0,d.useState)(null),c=(0,d.useRef)(i);(0,d.useEffect)(()=>{c.current=i});let l=(0,d.useRef)(new Map),[u,f]=(0,d.useState)(new Map),p=(0,d.useMemo)(()=>{if(!e.timestamp||!t)return;let n=Math.round((e.timestamp-t)/1e3);return n>0?n:void 0},[e.timestamp,t]),m=(0,d.useMemo)(()=>{let t=new Map;if(!n||!e.timestamp)return t;for(let[r,i]of n)if(i.timestamp&&e.timestamp){let n=Math.round((i.timestamp-e.timestamp)/1e3);n>0&&t.set(r,n)}return t},[n,e.timestamp]);return(0,d.useEffect)(()=>{if(!r)return;let e=setInterval(()=>{if(document.hidden)return;let e=c.current,t=e.map(({block:e})=>e),n=Date.now();e.forEach(({originalIndex:e})=>{l.current.has(e)||l.current.set(e,n)}),f(t=>{let r=!1,i=new Map(t);for(let t=0;t<e.length-1;t++){let a=e[t].originalIndex,o=e[t+1].originalIndex;if(!i.has(a)&&l.current.has(a)){let e=l.current.get(a),t=l.current.get(o)??n;i.set(a,Math.round((t-e)/1e3)),r=!0}}return r?i:t});let r=e[e.length-1];if(r&&r.block.type===`toolCall`){let e=l.current.get(r.originalIndex);e!==void 0&&f(t=>{let i=Math.round((n-e)/1e3);if(t.get(r.originalIndex)===i)return t;let a=new Map(t);return a.set(r.originalIndex,i),a})}let i=0;for(let e of t)e.type===`text`?i+=e.text?.length??0:e.type===`thinking`?i+=e.thinking?.length??0:e.type===`toolCall`&&(i+=JSON.stringify(e.input??{}).length);if(i===0)return;a.current===null&&(a.current=n);let o=(n-a.current)/1e3;o>.5&&s(i/4/o)},300);return()=>{clearInterval(e),a.current=null,s(null)}},[r,f,s,c,l,a]),{turnDurationSecs:p,toolCallDurations:m,streamingDurations:u,tps:o}}function fre({message:e,isStreaming:t,toolResults:n,modelNames:r,cwd:i,onOpenFile:a,showTimestamp:o,turnStartTimestamp:s,sessionId:c,entryId:l,longBlockCollapseChars:u,recentExpandedBlockKeys:d,modelLabelVisible:f=!0,turnNumber:p}){let m=o?r7(e.timestamp):null,h=(e.content??[]).map((e,t)=>({block:e,originalIndex:t})).filter(({block:e})=>!vQ(e,{isStreaming:t})),g=h.map(({block:e})=>e),_=bQ(e,{isStreaming:t}),{turnDurationSecs:v,toolCallDurations:y,streamingDurations:b,tps:x}=dre({message:e,turnStartTimestamp:s,toolResults:n,isStreaming:t,blockItems:h}),S=g.filter(e=>e.type===`text`).map(e=>e.text).join(`
486
+ `);return g.length===0&&!t&&!_?null:(0,T.jsxs)(`div`,{className:`msg-row`,style:{marginBottom:16},children:[f&&(0,T.jsx)(Pne,{message:e,modelNames:r,isStreaming:t,blocks:g,turnNumber:p,tps:x}),(0,T.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:8},children:h.map(({block:e,originalIndex:r})=>(0,T.jsx)(pre,{block:e,toolResults:n,isStreaming:t,streamingDuration:b.get(r),toolCallDurations:y,cwd:i,onOpenFile:a,sessionId:c,entryId:l,blockIndex:r,longBlockCollapseChars:u,recentExpandedBlockKeys:d},`${l??`stream`}-${r}`))}),_&&(0,T.jsxs)(`div`,{role:`alert`,style:{marginTop:g.length>0?8:0,padding:`7px 10px`,border:`1px solid color-mix(in srgb, var(--status-error) 30%, transparent)`,borderRadius:6,background:`color-mix(in srgb, var(--status-error) 7%, transparent)`,color:`var(--status-error)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,lineHeight:1.5,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:[`Error: `,_]}),(0,T.jsx)(Nne,{usage:e.usage,isStreaming:t,textContent:S,time:m,turnDurationSecs:v})]})}function pre({block:e,toolResults:t,isStreaming:n,streamingDuration:r,toolCallDurations:i,cwd:a,onOpenFile:o,sessionId:s,entryId:c,blockIndex:l,longBlockCollapseChars:u,recentExpandedBlockKeys:d}){let f=!n&&c!==void 0&&(e.type===`thinking`||e.type===`toolCall`)&&d?.has(ze(e.type,c,e.type===`toolCall`?e.toolCallId:void 0,e.type===`thinking`?l:void 0))===!0;if(e.type===`text`)return(0,T.jsx)(mre,{block:e,isStreaming:n,cwd:a,onOpenFile:o});if(e.type===`thinking`)return(0,T.jsx)(rre,{block:e,sessionId:s,entryId:c,blockIndex:l,isStreaming:n,keepExpanded:f,longBlockCollapseChars:u});if(e.type===`toolCall`){let a=e,o=t?.get(a.toolCallId),s=i?.get(a.toolCallId)??r;return(0,T.jsx)(F7,{block:a,result:o,duration:s,isStreaming:n,keepExpanded:f,longBlockCollapseChars:u})}return null}function mre({block:e,isStreaming:t,cwd:n,onOpenFile:r}){return(0,T.jsx)(n7,{isStreaming:t,cwd:n,onOpenFile:r,children:e.text})}function hre({message:e,sessionId:t,streamingOutput:n,longBlockCollapseChars:r}){let[i,a]=(0,d.useState)(null),[o,s]=(0,d.useState)(!1),[c,l]=(0,d.useState)(null),u=!e.output&&e.exitCode===void 0&&!e.cancelled,f=e.cancelled||e.exitCode!==void 0&&e.exitCode!==0,p=t&&e.fullOutputPath?`/api/agent/${encodeURIComponent(t)}/bash-output?path=${encodeURIComponent(e.fullOutputPath)}`:null,m=e.truncated&&p&&i===null,h=i??e.output;async function g(){if(p){s(!0),l(null);try{let e=await(await fetch(p)).json();e.success?a(e.data?.output??``):l(e.error??`failed`)}catch(e){l(String(e))}finally{s(!1)}}}let _=e.excludeFromContext?`bash (local)`:`bash`,v={type:`toolCall`,toolCallId:`bash-${e.timestamp??``}`,toolName:_,input:{command:e.command}},y=u?void 0:{role:`toolResult`,toolCallId:v.toolCallId,toolName:_,content:h?[{type:`text`,text:h}]:[],isError:f,timestamp:e.timestamp};return(0,T.jsxs)(`div`,{style:{margin:`6px 0`},children:[(0,T.jsx)(F7,{block:v,result:y,streamingOutput:u?n:void 0,longBlockCollapseChars:r}),e.truncated&&p&&(0,T.jsxs)(`div`,{style:{padding:`4px 10px`,fontSize:`var(--text-sm)`,marginTop:-1},children:[m&&(0,T.jsx)(`button`,{onClick:g,disabled:o,style:{background:`none`,border:`none`,color:`var(--accent)`,cursor:o?`default`:`pointer`,fontSize:`var(--text-sm)`,padding:0,textDecoration:`underline`},children:o?`loading…`:`view full output`}),(0,T.jsx)(`a`,{href:`${p}&download=1`,style:{marginLeft:m?10:0,color:`var(--accent)`,fontSize:`var(--text-sm)`,textDecoration:`underline`},children:`download full output`}),c&&(0,T.jsxs)(`span`,{style:{marginLeft:6,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:[`(`,c,`)`]})]})]})}var gre=/<(read-files|modified-files)>\s*([\s\S]*?)\s*<\/\1>/g,_re=/(?:\r?\n){2,}((?:[ \t]*<(?:read-files|modified-files)>[ \t]*\r?\n[\s\S]*?\r?\n[ \t]*<\/(?:read-files|modified-files)>[ \t]*(?:\r?\n)?)+)\s*$/;function vre(e){let t=[],n=[],r=e.match(_re),i=r?.[1]??``,a=r?.index===void 0?e:e.slice(0,r.index);return i.replace(gre,(e,r,i)=>{let a=i.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);return r===`read-files`?t.push(...a):n.push(...a),``}),{body:a.trim(),readFiles:t,modifiedFiles:n}}function yre({message:e}){let{t}=M(),n=i7(e.content),r=(0,d.useMemo)(()=>vre(n),[n]),i=r7(e.timestamp);return(0,T.jsx)(`div`,{style:{marginBottom:16},children:(0,T.jsxs)(`div`,{style:{border:`1px solid var(--border)`,borderRadius:8,overflow:`hidden`,background:`var(--bg)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`7px 10px`,borderBottom:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`},children:[(0,T.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontWeight:650},children:`compaction`}),i&&(0,T.jsx)(`span`,{style:{marginLeft:`auto`,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:i})]}),(0,T.jsxs)(`div`,{style:{padding:`11px 13px 12px`},children:[(0,T.jsx)(`div`,{style:{color:`var(--text)`,fontSize:`var(--text-2xl)`,fontWeight:700,lineHeight:1.35},children:t(`i18n.conversationCompacted`)}),(0,T.jsx)(`div`,{style:{marginTop:3,marginBottom:10,color:`var(--text)`,fontSize:`var(--text-2xl)`,lineHeight:1.5},children:t(`i18n.compactionDescription`)}),r.body?(0,T.jsx)(n7,{className:`markdown-compaction-message`,children:r.body}):(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-base)`},children:t(`i18n.noSummary`)}),(0,T.jsx)(bre,{readFiles:r.readFiles,modifiedFiles:r.modifiedFiles})]})]})})}function bre({readFiles:e,modifiedFiles:t}){let{t:n}=M();if(e.length+t.length===0)return null;let r=[];return e.length>0&&r.push(`${e.length} read`),t.length>0&&r.push(`${t.length} modified`),(0,T.jsxs)(`details`,{className:`compaction-file-details`,children:[(0,T.jsx)(`summary`,{children:n(`i18n.fileContext`,{details:r.join(`, `)})}),t.length>0&&(0,T.jsx)(L7,{title:n(`i18n.modifiedFiles`),files:t}),e.length>0&&(0,T.jsx)(L7,{title:n(`i18n.readFiles`),files:e})]})}function L7({title:e,files:t}){return(0,T.jsxs)(`div`,{className:`compaction-file-section`,children:[(0,T.jsx)(`div`,{className:`compaction-file-title`,children:e}),(0,T.jsx)(`ul`,{className:`compaction-file-list`,children:t.map(e=>(0,T.jsx)(`li`,{children:e},e))})]})}function xre({message:e,cwd:t,onOpenFile:n}){let{t:r}=M(),i=e.display===!1,[a,o]=(0,d.useState)(!i),[s,c]=(0,d.useState)(!1),[l,u]=(0,d.useState)(!1),f=i7(e.content),p=Dne(e.content),m=e.details!==void 0,h=m?One(e.details):``,g=kne(e.customType),_=r7(e.timestamp);return(0,T.jsx)(`div`,{style:{marginBottom:16},children:(0,T.jsxs)(`div`,{style:{border:`1px solid var(--border)`,borderRadius:8,overflow:`hidden`,background:i?`var(--bg-subtle)`:`var(--bg)`,opacity:i&&!a?.82:1},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`7px 10px`,borderBottom:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-base)`},children:[(0,T.jsx)(`span`,{style:{color:`var(--text-muted)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontWeight:650},children:g}),i&&(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:r(`i18n.hiddenExtensionMessage`)}),_&&(0,T.jsx)(`span`,{style:{marginLeft:`auto`,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:_})]}),a?(0,T.jsxs)(`div`,{style:{padding:`6px 9px`},children:[p.length>0&&(0,T.jsx)(`div`,{style:{display:`flex`,gap:6,flexWrap:`wrap`,marginBottom:f?8:0},children:p.map((e,t)=>{let n=a7(e);return n?(0,T.jsx)(`img`,{src:n,alt:``,style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:`contain`,display:`block`,border:`1px solid var(--border)`}},t):null})}),f?(0,T.jsx)(n7,{className:`markdown-custom-message`,cwd:t,onOpenFile:n,children:f}):(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-base)`},children:r(`i18n.noMessage`)})]}):(0,T.jsx)(`button`,{onClick:()=>o(!0),style:{display:`block`,width:`100%`,padding:`8px 10px`,border:`none`,background:`transparent`,color:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-base)`,textAlign:`left`},children:f?Ane(f):r(`i18n.showExtensionMessage`)}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`4px 9px`,borderTop:`1px solid var(--border)`,background:`var(--bg-subtle)`},children:[f||h?(0,T.jsx)(`button`,{onClick:()=>{cK(f||h).then(()=>{u(!0),setTimeout(()=>u(!1),1500)})},style:{padding:`3px 7px`,border:`none`,background:`none`,color:l?`var(--accent)`:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`},children:r(l?`i18n.copied`:`i18n.copy`)}):null,(m||i)&&(0,T.jsx)(`button`,{onClick:()=>{i?o(e=>!e):c(e=>!e)},style:{marginLeft:`auto`,padding:`3px 7px`,border:`none`,background:`none`,color:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`},children:r(i?a?`i18n.collapse`:`i18n.expand`:s?`i18n.hideDetails`:`i18n.showDetails`)})]}),m&&(i&&a||!i&&s)&&(0,T.jsx)(`pre`,{style:{margin:0,padding:`9px 10px`,borderTop:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.5,whiteSpace:`pre-wrap`,wordBreak:`break-word`,maxHeight:360,overflow:`auto`,fontFamily:`var(--font-mono)`,contentVisibility:`auto`,containIntrinsicBlockSize:360},children:h})]})})}function Sre({message:e,entryId:t,onFork:n,forking:r,onNavigate:i,prevAssistantEntryId:a,onEditContent:o,turnNumber:s}){let{t:c}=M(),[l,u]=(0,d.useState)(!1),f=typeof e.content==`string`?e.content:e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
487
+ `),p=typeof e.content==`string`?[]:e.content.filter(e=>e.type===`image`),m=r7(e.timestamp),h=!!t&&!!n,g=!!a&&!!i;return(0,T.jsxs)(`div`,{className:`msg-row`,style:{marginBottom:16,display:`flex`,flexDirection:`column`,alignItems:`flex-end`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,maxWidth:`85%`},children:[s!==void 0&&(0,T.jsx)(RQ,{number:s}),(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0,position:`relative`,background:`var(--user-bg)`,border:`1px solid color-mix(in srgb, var(--accent) 20%, transparent)`,borderRadius:12,padding:`8px 12px`,fontSize:`var(--text-2xl)`,fontFamily:`var(--font-mono)`,lineHeight:1.6,color:`var(--text)`,wordBreak:`break-word`},children:[p.length>0&&(0,T.jsx)(`div`,{style:{display:`flex`,gap:6,flexWrap:`wrap`,marginBottom:f?8:0},children:p.map((e,t)=>{let n=a7(e);return(0,T.jsx)(`img`,{src:n,alt:``,style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:`contain`,display:`block`,border:`1px solid color-mix(in srgb, var(--accent) 15%, transparent)`}},t)})}),f&&(0,T.jsx)(`div`,{"data-testid":`user-message`,style:{whiteSpace:`pre-wrap`,wordBreak:`break-word`},children:f})]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,gap:6,marginTop:3},children:[(0,T.jsx)(`div`,{className:`msg-row-actions`,style:{display:`flex`,gap:3,transition:`opacity 0.12s`},children:(0,T.jsxs)(`button`,{onClick:()=>{cK(f).then(()=>{u(!0),setTimeout(()=>u(!1),1500)})},title:c(`i18n.copyMessage`),style:{display:`flex`,alignItems:`center`,gap:4,padding:`3px 8px`,height:22,background:`none`,border:`none`,borderRadius:5,color:l?`var(--accent)`:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`color 0.12s`,"--hover-color":`var(--accent)`,"--hover-bg":`transparent`},className:l?void 0:`hover-shift`,children:[l?(0,T.jsx)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,T.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}):(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`rect`,{x:`9`,y:`9`,width:I.lg,height:I.lg,rx:`2`,ry:`2`}),(0,T.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]}),c(l?`i18n.copied`:`i18n.copy`)]})}),(h||g)&&(0,T.jsxs)(`div`,{className:r?`msg-row-actions msg-actions-force`:`msg-row-actions`,style:{display:`flex`,gap:3,transition:`opacity 0.12s`},children:[g&&(0,T.jsxs)(`button`,{onClick:()=>{i(a),o?.(f)},title:c(`i18n.editFromHereTitle`),style:{display:`flex`,alignItems:`center`,gap:4,padding:`3px 8px`,height:22,background:`none`,border:`none`,borderRadius:5,color:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`color 0.12s`,"--hover-color":`var(--accent)`,"--hover-bg":`transparent`},className:`hover-shift`,children:[(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`polyline`,{points:`15 10 20 15 15 20`}),(0,T.jsx)(`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`})]}),c(`i18n.editFromHere`)]}),h&&(0,T.jsxs)(`button`,{onClick:()=>{n(t)},disabled:r,title:c(r?`i18n.creatingSession`:`i18n.newSessionTitle`),style:{display:`flex`,alignItems:`center`,gap:4,padding:`3px 8px`,height:22,background:`none`,border:`none`,borderRadius:5,color:r?`var(--accent)`:`var(--text-dim)`,cursor:r?`not-allowed`:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`color 0.12s`,"--hover-color":`var(--accent)`,"--hover-bg":`transparent`},className:r?void 0:`hover-shift`,children:[(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),c(r?`i18n.creating`:`i18n.newSession`)]})]}),m&&(0,T.jsx)(`span`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`},children:m})]})]})}function Cre(e,t,n){if(t===n||e.role!==`assistant`)return!0;for(let r of e.content??[])if(r.type===`toolCall`&&t?.get(r.toolCallId)!==n?.get(r.toolCallId))return!1;return!0}var R7=(0,d.memo)(function({message:e,isStreaming:t,toolResults:n,modelNames:r,cwd:i,onOpenFile:a,entryId:o,onFork:s,forking:c,onNavigate:l,prevAssistantEntryId:u,onEditContent:d,showTimestamp:f,turnStartTimestamp:p,sessionId:m,streamingBashOutput:h,longBlockCollapseChars:g,recentExpandedBlockKeys:_,modelLabelVisible:v,turnNumber:y}){return e.role===`user`?(0,T.jsx)(Sre,{message:e,entryId:o,onFork:s,forking:c,onNavigate:l,prevAssistantEntryId:u,onEditContent:d,turnNumber:y}):e.role===`assistant`?(0,T.jsx)(fre,{message:e,isStreaming:t,toolResults:n,modelNames:r,cwd:i,onOpenFile:a,showTimestamp:f,turnStartTimestamp:p,sessionId:m,entryId:o,longBlockCollapseChars:g,recentExpandedBlockKeys:_,modelLabelVisible:v,turnNumber:y}):e.role===`toolResult`?null:e.role===`custom`?e.customType===`compaction`?(0,T.jsx)(yre,{message:e}):(0,T.jsx)(xre,{message:e,cwd:i,onOpenFile:a}):e.role===`bashExecution`?(0,T.jsx)(hre,{message:e,sessionId:m,streamingOutput:h,longBlockCollapseChars:g}):null},(e,t)=>e.message===t.message&&e.isStreaming===t.isStreaming&&Cre(e.message,e.toolResults,t.toolResults)&&e.modelNames===t.modelNames&&e.cwd===t.cwd&&e.onOpenFile===t.onOpenFile&&e.entryId===t.entryId&&e.onFork===t.onFork&&e.forking===t.forking&&e.onNavigate===t.onNavigate&&e.prevAssistantEntryId===t.prevAssistantEntryId&&e.onEditContent===t.onEditContent&&e.showTimestamp===t.showTimestamp&&e.sessionId===t.sessionId&&e.streamingBashOutput===t.streamingBashOutput&&e.modelLabelVisible===t.modelLabelVisible&&e.longBlockCollapseChars===t.longBlockCollapseChars&&e.recentExpandedBlockKeys===t.recentExpandedBlockKeys);function wre(e){let t=new Map;for(let n of e)n.role===`toolResult`&&t.set(n.toolCallId,n);return t}function Tre(e){let t=new Map;{let n=0;for(let r=0;r<e.length;r++)e[r].role===`user`?(n+=1,t.set(r,n)):e[r].role===`assistant`&&n>0&&t.set(r,n)}return t}function Ere(e){let t=-1;for(let n=e.length-1;n>=0;n--)if(e[n].role===`user`){t=n;break}return t}function Dre({messageRefs:e,lastUserMsgRef:t,lastUserIdx:n}){return(r,i)=>a=>{e.current[i]=a,r===n&&(t.current=a)}}function Ore({models:e,messageCount:t,toolCallCount:n,t:r}){let i=[`${t} ${r(t===1?`chat.message`:`chat.messages`)}`];return n>0&&i.push(`${n} ${r(n===1?`chat.toolCall`:`chat.toolCalls`)}`),(0,T.jsxs)(`div`,{"data-testid":`pd-group-header`,style:{display:`flex`,alignItems:`center`,gap:8,width:`auto`,minHeight:24,padding:`3px 10px`,border:`1px solid var(--border)`,borderRadius:8,background:`var(--bg-panel)`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.6},children:[e.length>0&&(0,T.jsx)(`span`,{style:{whiteSpace:`nowrap`},children:e.map((e,t)=>(0,T.jsxs)(`span`,{style:{whiteSpace:`nowrap`},children:[t>0&&(0,T.jsx)(`span`,{style:{color:`var(--text-muted)`},children:` / `}),(0,T.jsxs)(`span`,{style:{color:`var(--text-dim)`},children:[e.provider,`/`]}),(0,T.jsx)(`span`,{style:{fontWeight:700,color:`var(--text)`},children:e.name})]},`${e.provider}/${e.name}`))}),(0,T.jsx)(`span`,{style:{minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:i.join(` · `)})]})}function kre({messages:e,modelNames:t,t:n,renderMessage:r}){let i=e=>e.role!==`assistant`||!e.provider||!e.model?null:{provider:e.provider,name:t?.[`${e.provider}/${e.model}`]??t?.[e.model]??e.model};return{renderRow:t=>{if(t.kind===`groupHeader`){let r=[];for(let n=t.groupUserIdx+1;n<=t.finalAssistantIdx;n++){let t=e[n];if(t?.role!==`assistant`)continue;let a=i(t);a&&!r.some(e=>`${e.provider}/${e.name}`==`${a.provider}/${a.name}`)&&r.push(a)}return(0,T.jsx)(Ore,{models:r,messageCount:t.messageCount,toolCallCount:t.toolCallCount,t:n})}return r(t.msgIdx,{attachRef:t.attachRef,messageOverride:t.messageOverride,showTimestamp:t.showTimestamp,modelLabelVisible:t.isProcess||t.isProcessFinal?!1:void 0,isAnswer:t.isAnswer})},rowMargin:e=>e.kind===`groupHeader`?8:e.isProcess||e.isProcessFinal?e.groupLast?14:8:0}}function Are(e){let{rows:t,messages:n,entryIds:r,modelNames:i,messageCwd:a,onOpenFile:o,sessionBusy:s,isNew:c,handleFork:l,forkingEntryId:u,handleNavigate:f,handleEditContent:p,sessionId:m,longBlockCollapseChars:h,recentExpandedBlockKeys:g,isStreaming:_,flashKey:v,itemRef:y,t:b,messageRefs:x,lastUserMsgRef:S,visibleRefIndexByMessage:C,scrollContainerRef:w,virtualizerRef:E,initialCache:D}=e,O=(0,d.useRef)(!1);(0,d.useLayoutEffect)(()=>{if(O.current)return;O.current=!0;let e=w.current;e&&e.scrollHeight>e.clientHeight&&(e.scrollTop=e.scrollHeight)},[w]);let k=wre(n),A=Tre(n),j=Dre({messageRefs:x,lastUserMsgRef:S,lastUserIdx:Ere(n)}),{renderRow:M,rowMargin:N}=kre({messages:n,modelNames:i,t:b,renderMessage:(e,t={})=>{let d=t.messageOverride??n[e],v=d.role===`user`&&e>0&&n[e-1].role===`assistant`?r[e-1]:void 0,y=d.role===`user`||d.role===`assistant`,b=C.get(e),x=!1;if(d.role===`assistant`){x=!0;for(let t=e+1;t<n.length;t++){let e=n[t].role;if(e===`user`)break;if(e===`assistant`){x=!1;break}}x&&_&&e===n.length-1&&(x=!1)}t.showTimestamp!==void 0&&(x=t.showTimestamp);let S;if(d.role===`assistant`){for(let t=e-1;t>=0;t--)if(n[t].role===`user`){S=n[t].timestamp;break}}let w=(0,T.jsx)(R7,{message:d,toolResults:k,modelNames:i,cwd:a,onOpenFile:o,entryId:r[e],onFork:s||c||e===0&&d.role===`user`?void 0:l,forking:u===r[e],onNavigate:s?void 0:f,prevAssistantEntryId:s?void 0:v,onEditContent:p,showTimestamp:x,turnStartTimestamp:S,sessionId:m,longBlockCollapseChars:h,recentExpandedBlockKeys:g,modelLabelVisible:t.modelLabelVisible,turnNumber:d.role===`user`||d.role===`assistant`&&t.isAnswer?A.get(e):void 0},`message-view-${e}`);return!y||t.attachRef===!1||b===void 0?w:(0,T.jsx)(`div`,{ref:j(e,b),children:w},`message-ref-${e}`)}});return(0,T.jsx)(E7,{ref:E,data:t,cache:D,itemSize:200,bufferSize:400,scrollRef:w,children:e=>{let t=e.kind===`groupHeader`&&e.processRefIdx!==void 0?t=>{x.current[e.processRefIdx]=t}:void 0;return(0,T.jsx)(`div`,{className:v===e.key?`search-flash`:void 0,ref:y(e.key,t),style:{marginBottom:N(e)},children:M(e)},e.key)}})}function z7({msg:e,onSend:t,onFillInput:n,testId:r}){let{t:i,locale:a}=M(),o=tt(e.message,a),s=tt(e.label,a),c=()=>{if(e.allowAppend&&n){n(`${o} `);return}t(o)},l=`${e.allowAppend?i(`config.widgets.fillToChatInputTooltip`):i(`config.widgets.sendImmediatelyTooltip`)}${o}`;return(0,T.jsx)(F,{label:l,children:(0,T.jsx)(nm,{label:s,title:l,onClick:c,testId:r})})}function B7({messages:e,onSend:t,onFillInput:n,testIdPrefix:r=`quick-msg`,wrapperTestId:i=`quick-message-buttons`,center:a=!1}){return e.length===0?null:(0,T.jsx)(`div`,{"data-testid":i,style:{display:`flex`,flexWrap:`wrap`,gap:6,justifyContent:a?`center`:`flex-start`,paddingTop:8,borderTop:a?`1px solid var(--border)`:void 0},children:e.map((e,i)=>(0,T.jsx)(z7,{msg:e,onSend:t,onFillInput:n,testId:`${r}-${i}`},i))})}function jre({chatInputElement:e,startScreenMessages:t,aiIdle:n,isMobile:r,onQuickMessageSend:i,onFillInput:a}){return(0,T.jsxs)(`div`,{className:`relative`,children:[(0,T.jsx)(`div`,{style:{padding:`0 16px`,paddingRight:r?16:64},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`}})}),t.length>0&&n&&(0,T.jsx)(`div`,{style:{padding:`0 16px`,paddingRight:r?16:64},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`,paddingBottom:8},children:(0,T.jsx)(B7,{messages:t,onSend:i,onFillInput:a,testIdPrefix:`start-screen-msg`,wrapperTestId:`start-screen-messages`})})}),e]})}var V7=null,H7=new Set,U7=null;function W7(){return!U7&&typeof PointerEvent<`u`&&(U7=new PointerEvent(`pointermove`)),U7}var G7=[],K7=0;function q7(){V7===null&&(V7=requestAnimationFrame(()=>{if(V7=null,H7.size===0)return;let e=0;for(let t of H7)G7[e++]=t;G7.length=e,H7.clear();for(let t=0;t<e;t++)G7[t].update();for(let t=0;t<e;t++)G7[t]=null;G7.length=0,H7.size>0&&q7()}))}var J7=class e{get enabled(){return this._enabled}set enabled(e){this._enabled=e,!e&&this.isActive&&this.cancel()}cancel(){if(!this.isActive&&this.pointers.size===0)return;let t=this.isActive,n=W7(),r=t?this.createEvent(n):null;this.pointers.clear(),this.pointersCache.length=0,this.isActive=!1,t&&K7>0&&K7--,H7.delete(this),e.activeInstance.get(this.element)===this&&e.activeInstance.set(this.element,null),this.clearHoldTimers(),this.removeDocumentListeners(),r&&(this.options.onCancel?.(r),this.options.onEnd?.(r))}clearHoldTimers(){this.holdTimer&&=(clearTimeout(this.holdTimer),null),this.holdEventTimer&&=(clearTimeout(this.holdEventTimer),null)}removeDocumentListeners(){document.removeEventListener(`pointermove`,this.onPointerMove),document.removeEventListener(`pointerup`,this.onPointerUp),document.removeEventListener(`pointercancel`,this.onPointerUp)}getRect(e=this.element){return this.options.rectChecker?this.options.rectChecker(e):e.getBoundingClientRect()}getOrigin(){let e={x:0,y:0};return this.resolveOriginInto(e),e}resolveOriginInto(e){let t=this.options.origin;if(!t){e.x=0,e.y=0;return}if(t===`parent`){let t=this.element.offsetParent;if(!t){e.x=0,e.y=0;return}let n=this.getRect(t);e.x=n.left,e.y=n.top;return}if(t instanceof HTMLElement){let n=this.getRect(t);e.x=n.left,e.y=n.top;return}e.x=t.x,e.y=t.y}rebuildPointersCache(){let e=this.pointersCache;e.length=0;for(let t of this.pointers.values())e.push(t)}updateOptions(e){Object.assign(this.options,e),`touchAction`in e&&(this.element.style.touchAction=this.options.touchAction??`none`)}get interacting(){return this.isActive}static{this.elementInstances=new WeakMap}static{this.activeInstance=new WeakMap}static{this.elementListeners=new WeakMap}constructor(t,n={}){this.pointers=new Map,this.pointersCache=[],this.isActive=!1,this.lastUpdate=0,this.priority=0,this._enabled=!0,this.holdTimer=null,this.holdEventTimer=null,this.lastTapTime=0,this.lastTapTarget=null,this._originScratch={x:0,y:0},this._cachedEvent={target:null,pointers:[],isPrimary:!0,originalEvent:null},this.element=t,this.options={threshold:3,preventScroll:!0,styleCursor:!0,...n},this.registerInstance();let r=e.elementInstances.get(t);if(r&&r.length===1&&(t.style.touchAction=this.options.touchAction??`none`,t.style.userSelect=`none`,t.style.webkitUserSelect=`none`),this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),r&&r.length===1){let n=n=>e.handleElementPointerDown(t,n);e.elementListeners.set(t,n),t.addEventListener(`pointerdown`,n)}}registerInstance(){let t=e.elementInstances.get(this.element);t?t.push(this):e.elementInstances.set(this.element,[this])}unregisterInstance(){let t=e.elementInstances.get(this.element);if(!t)return;let n=t.indexOf(this);n>=0&&(t.splice(n,1),t.length===0?(e.elementInstances.delete(this.element),e.activeInstance.delete(this.element),e.elementListeners.delete(this.element)):e.elementInstances.set(this.element,t))}shouldHandleEvent(e){return!0}checkEventFilters(e){let t=e.target;return!t||!(this.options.ignoreFrom&&t.closest(this.options.ignoreFrom)||this.options.allowFrom&&!t.closest(this.options.allowFrom))}static handleElementPointerDown(t,n){let r=e.elementInstances.get(t);if(!r)return;let i=e.activeInstance.get(t);if(i){i.onPointerDown(n);return}let a=null,o=-1;for(let e of r)e.checkEventFilters(n)&&e.shouldHandleEvent(n)&&e.enabled&&e.priority>o&&(a=e,o=e.priority);a&&(e.activeInstance.set(t,a),a.handlePointerDown(n))}onPointerDown(e){this.handlePointerDown(e)}handlePointerDown(e){if(this.options.mouseButtons&&!(e.buttons&this.options.mouseButtons))return;this.options.preventScroll&&e.preventDefault(),this.resolveOriginInto(this._originScratch);let t=e.clientX-this._originScratch.x,n=e.clientY-this._originScratch.y,r={id:e.pointerId,start:{x:t,y:n},current:{x:t,y:n},previous:{x:t,y:n},delta:{x:0,y:0},total:{x:0,y:0},velocity:{x:0,y:0},timestamp:e.timeStamp};this.pointers.set(e.pointerId,r),this.rebuildPointersCache(),this.pointers.size===1&&(document.addEventListener(`pointermove`,this.onPointerMove,{passive:!this.options.preventScroll}),document.addEventListener(`pointerup`,this.onPointerUp),document.addEventListener(`pointercancel`,this.onPointerUp)),this.options.onHold&&(this.holdEventTimer&&clearTimeout(this.holdEventTimer),this.holdEventTimer=setTimeout(()=>{this.holdEventTimer=null,this.pointers.size>0&&!this.isActive&&this.options.onHold(this.createEvent(e))},this.options.holdDuration??600));let i=this.options.holdDelay??0;i>0?(this.holdTimer&&clearTimeout(this.holdTimer),this.holdTimer=setTimeout(()=>{this.holdTimer=null,!this.isActive&&this.pointers.size>0&&this.start(e)},i)):this.options.threshold===0&&this.start(e)}onPointerMove(e){let t=this.pointers.get(e.pointerId);if(!t)return;this.resolveOriginInto(this._originScratch);let n=e.clientX-this._originScratch.x,r=e.clientY-this._originScratch.y;if(t.current.x!==n||t.current.y!==r){if(t.current.x=n,t.current.y=r,!this.isActive){let n=t.current.x-t.start.x,r=t.current.y-t.start.y;Math.sqrt(n*n+r*r)>=(this.options.threshold||3)&&(this.holdTimer&&=(clearTimeout(this.holdTimer),null),this.holdEventTimer&&=(clearTimeout(this.holdEventTimer),null),this.start(e))}this.isActive&&(this.options.preventScroll&&e.preventDefault(),H7.add(this),q7())}}onPointerUp(e){if(this.pointers.get(e.pointerId)&&(this.pointers.delete(e.pointerId),this.rebuildPointersCache(),this.clearHoldTimers(),this.pointers.size===0)){if(this.removeDocumentListeners(),this.isActive)this.end(e);else{let t=this.createEvent(e);this.options.onTap&&this.options.onTap(t);let n=e.timeStamp,r=this.options.doubleTapDelay??300;this.options.onDoubleTap&&n-this.lastTapTime<r&&this.lastTapTarget===e.target&&this.options.onDoubleTap(t),this.lastTapTime=n,this.lastTapTarget=e.target}}}start(e){this.isActive=!0,K7++;let t=this.createEvent(e);this.options.onStart&&this.options.onStart(t)}startFromEvent(t){this.isActive||this.pointers.has(t.pointerId)||(e.activeInstance.set(this.element,this),this.handlePointerDown(t),this.isActive||this.start(t))}end(t){this.isActive=!1,H7.delete(this),K7>0&&K7--,e.activeInstance.get(this.element)===this&&e.activeInstance.set(this.element,null);let n=this.createEvent(t);this.options.onEnd&&this.options.onEnd(n)}update(){if(!this.isActive||this.pointers.size===0)return;let e=performance.now(),t=this.lastUpdate===0?16:e-this.lastUpdate;this.lastUpdate=e;let n=t>0?1-Math.exp(-t/50):.3,r=!1;for(let e of this.pointers.values()){let i=e.current.x-e.previous.x,a=e.current.y-e.previous.y;if(i!==0||a!==0){if(r=!0,e.delta.x=i,e.delta.y=a,e.total.x=e.current.x-e.start.x,e.total.y=e.current.y-e.start.y,t>0){let r=i/t*1e3,o=a/t*1e3;e.velocity.x=e.velocity.x*(1-n)+r*n,e.velocity.y=e.velocity.y*(1-n)+o*n}e.previous.x=e.current.x,e.previous.y=e.current.y}else t>0&&(e.velocity.x*=1-n,e.velocity.y*=1-n)}r&&this.options.onMove&&this.options.onMove(this.populateEvent(W7()))}populateEvent(e){let t=this._cachedEvent;return t.target=this.element,t.pointers=this.pointersCache,t.isPrimary=e.isPrimary,t.originalEvent=e,t}createEvent(e){return this.populateEvent(e)}destroy(){this.clearHoldTimers(),this.unregisterInstance();let t=e.elementInstances.get(this.element);if(!t||t.length===0){let t=e.elementListeners.get(this.element);t&&(this.element.removeEventListener(`pointerdown`,t),e.elementListeners.delete(this.element)),this.element.style.touchAction=``,this.element.style.userSelect=``,this.element.style.webkitUserSelect=``}this.pointers.size>0&&this.removeDocumentListeners(),H7.delete(this),this.pointers.clear(),this.pointersCache.length=0}},Y7=null;function Mre(){if(Y7!==null)return Y7;if(typeof window>`u`||!window.matchMedia)return Y7=!1,!1;let e=window.matchMedia(`(prefers-reduced-motion: reduce)`);return Y7=e.matches,typeof e.addEventListener==`function`&&e.addEventListener(`change`,e=>{Y7=e.matches}),Y7}function X7(e,t){for(let n=0;n<e.length;n++)e[n].modify(t);return t}var Z7={instructions:`Press Space or Enter to pick up. Use arrow keys to move. Press Space or Enter to drop. Press Escape to cancel.`,pickedUp:(e,t,n)=>`Picked up ${e}, position ${t} of ${n}`,movedTo:(e,t)=>`Moved to position ${e} of ${t}`,dropped:(e,t,n)=>`Dropped ${e} in position ${t} of ${n}`,dragPickedUp:`Picked up`,dragDropped:`Dropped`};function Q7(){return Z7}var $7=null;function Nre(){return $7&&$7.isConnected?$7:($7=document.createElement(`div`),$7.setAttribute(`aria-live`,`assertive`),$7.setAttribute(`aria-atomic`,`true`),$7.setAttribute(`role`,`status`),$7.style.cssText=`position:fixed;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0`,document.body.appendChild($7),$7)}var e9=``;function t9(e){let t=Nre();t.textContent=e===e9?e+`\xA0`:e,e9=e}var n9=null,r9=`pointrix-instructions`;function Pre(){return n9&&n9.isConnected?(n9.textContent=Z7.instructions,r9):(n9=document.createElement(`div`),n9.id=r9,n9.style.cssText=`position:fixed;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0`,n9.textContent=Z7.instructions,document.body.appendChild(n9),r9)}function Fre(e){e.hasAttribute(`tabindex`)||e.setAttribute(`tabindex`,`0`),e.hasAttribute(`role`)||e.setAttribute(`role`,`button`),e.setAttribute(`aria-roledescription`,`draggable`),e.setAttribute(`aria-describedby`,Pre())}function i9(e,t){e.setAttribute(`aria-grabbed`,String(t))}function a9(e){e.removeAttribute(`aria-roledescription`),e.removeAttribute(`aria-grabbed`),e.removeAttribute(`aria-describedby`)}var o9=new class{constructor(){this.zones=new Set,this._activeDragCount=0,this._refreshBound=()=>this.refreshRects()}register(e){this.zones.add(e)}unregister(e){this.zones.delete(e)}refreshRects(){for(let e of this.zones)e.isActive&&e.refreshRect()}onDragStart(e){for(let t of this.zones)t.accepts(e)&&(t.activate(e),t.refreshRect());this._activeDragCount===0&&typeof window<`u`&&(window.addEventListener(`scroll`,this._refreshBound,{passive:!0,capture:!0}),window.addEventListener(`resize`,this._refreshBound,{passive:!0})),this._activeDragCount++}onDragMove(e,t,n,r){let i,a=!1;for(let e of this.zones)if(e.isActive&&(e.options.overlap??`pointer`)!==`pointer`){a=!0;break}a&&(i=r?r():e.getBoundingClientRect());for(let r of this.zones){if(!r.isActive)continue;let a=r.checkOverlap(e,t,i);a>0?(r.isOver||r.enter(e,a,n),r.over(e,a,n)):r.isOver&&r.leave(e,n)}}onDragEnd(e,t,n,r){for(let i of this.zones)if(i.isActive){if(i.isOver){let a=r?.(),o=i.checkOverlap(e,t,a);i.drop(e,o>0?o:1,n)}i.deactivate(e),i.clearRect()}this._activeDragCount>0&&this._activeDragCount--,this._activeDragCount===0&&typeof window<`u`&&(window.removeEventListener(`scroll`,this._refreshBound,{capture:!0}),window.removeEventListener(`resize`,this._refreshBound))}getActiveZones(){let e=[];for(let t of this.zones)t.isActive&&e.push(t);return e}getHoveredZones(){let e=[];for(let t of this.zones)t.isOver&&e.push(t);return e}},Ire=class extends J7{constructor(e,t={}){super(e,{...t,onStart:e=>{this.handleDragStart(e),t.onStart?.(e)},onMove:e=>{this.handleDragMove(e),t.onMove?.(e)},onEnd:e=>{this.handleDragEnd(e),t.onEnd?.(e)}}),this.transform={x:0,y:0},this.startTransform={x:0,y:0},this.bounds=null,this.momentum={vx:0,vy:0,active:!1},this.transformNormalized=!1,this.detectedAxis=null,this.cachedSize={width:0,height:0},this._boundGetRect=()=>this.getRect(),this.modifierContext={position:{x:0,y:0},velocity:{x:0,y:0},element:null,startPosition:{x:0,y:0},delta:{x:0,y:0},size:{width:0,height:0}},this.cachedDragEvent={target:null,originalEvent:null,pointers:[],isPrimary:!0,dx:0,dy:0,totalX:0,totalY:0,velocityX:0,velocityY:0},this.dragOptions=t,this.priority=5,t.styleCursor!==!1&&(e.style.cursor=t.cursorChecker?t.cursorChecker(`idle`):`grab`),t.aria!==!1&&Fre(e)}shouldHandleEvent(e){if(!this.dragOptions.handle)return!0;let t=null;return t=typeof this.dragOptions.handle==`string`?this.element.querySelector(this.dragOptions.handle):this.dragOptions.handle,t?t.contains(e.target):!1}readCurrentTransform(e){let t=window.getComputedStyle(e).transform;if(t&&t!==`none`){let e=t.match(/matrix.*\((.+)\)/);if(e){let t=e[1].split(`, `);this.transform.x=parseFloat(t[4])||0,this.transform.y=parseFloat(t[5])||0}}else this.transformNormalized||(this.transform.x=0,this.transform.y=0);this.transformNormalized||=(e.style.transform=`translate3d(${this.transform.x}px, ${this.transform.y}px, 0)`,!0)}handleDragStart(e){let t=e.target;if(this.dragOptions.aria!==!1&&(i9(t,!0),t9(Q7().dragPickedUp)),this.detectedAxis=null,this.readCurrentTransform(t),this.dragOptions.styleCursor!==!1&&(t.style.cursor=this.dragOptions.cursorChecker?this.dragOptions.cursorChecker(`grabbing`):`grabbing`),t.style.willChange=`transform`,this.startTransform.x=this.transform.x,this.startTransform.y=this.transform.y,this.dragOptions.bounds){let e=this.getRect(t),n=this.startTransform.x,r=this.startTransform.y,i;if(this.dragOptions.bounds===`parent`){let e=t.offsetParent||document.body,n=this.getRect(e);i={left:n.left,top:n.top,right:n.right,bottom:n.bottom}}else if(this.dragOptions.bounds instanceof HTMLElement){let e=this.getRect(this.dragOptions.bounds);i={left:e.left,top:e.top,right:e.right,bottom:e.bottom}}else{let e=this.dragOptions.bounds;i={left:e.left??-1/0,top:e.top??-1/0,right:e.right??1/0,bottom:e.bottom??1/0}}let a=i.left-e.left+n,o=i.top-e.top+r,s=i.right-e.right+n,c=i.bottom-e.bottom+r;this.bounds=new DOMRect(a,o,s-a,c-o)}this.momentum.active=!1;let n=this.getRect(e.target);if(this.cachedSize.width=n.width,this.cachedSize.height=n.height,this.dragOptions.modifiers?.length){let t=this.modifierContext;t.position.x=this.startTransform.x,t.position.y=this.startTransform.y,t.velocity.x=0,t.velocity.y=0,t.element=e.target,t.startPosition.x=this.startTransform.x,t.startPosition.y=this.startTransform.y,t.delta.x=0,t.delta.y=0,t.size.width=this.cachedSize.width,t.size.height=this.cachedSize.height;for(let e of this.dragOptions.modifiers)e.onStart?.(t)}this.dragOptions.onDragStart&&this.dragOptions.onDragStart(this.createDragEvent(e,0,0)),this.dragOptions.droppable&&o9.onDragStart(e.target)}handleDragMove(e){let t=e.pointers[0],n=t.total.x,r=t.total.y;if(this.dragOptions.axis===`auto`&&this.detectedAxis===null){let e=Math.abs(n),t=Math.abs(r);(e>0||t>0)&&(this.detectedAxis=e>t?`x`:`y`)}let i=this.dragOptions.axis===`auto`?this.detectedAxis:this.dragOptions.axis;i===`x`?r=0:i===`y`&&(n=0);let a=this.startTransform.x+n,o=this.startTransform.y+r;if(this.dragOptions.grid&&(a=Math.round(a/this.dragOptions.grid.x)*this.dragOptions.grid.x,o=Math.round(o/this.dragOptions.grid.y)*this.dragOptions.grid.y),this.bounds&&(a=Math.max(this.bounds.left,Math.min(a,this.bounds.right)),o=Math.max(this.bounds.top,Math.min(o,this.bounds.bottom))),this.dragOptions.modifiers?.length){let n=this.modifierContext;n.position.x=a,n.position.y=o,n.velocity.x=t.velocity.x,n.velocity.y=t.velocity.y,n.element=e.target,n.startPosition.x=this.startTransform.x,n.startPosition.y=this.startTransform.y,n.delta.x=t.delta.x,n.delta.y=t.delta.y,n.size.width=this.cachedSize.width,n.size.height=this.cachedSize.height,X7(this.dragOptions.modifiers,n),a=n.position.x,o=n.position.y}this.transform.x=a,this.transform.y=o,this.applyTransform(e.target),this.dragOptions.momentum&&(this.momentum.vx=t.velocity.x,this.momentum.vy=t.velocity.y);let s=this.createDragEvent(e,n,r);this.dragOptions.onDragMove&&this.dragOptions.onDragMove(s),this.dragOptions.droppable&&o9.onDragMove(e.target,t.current,s,this._boundGetRect)}handleDragEnd(e){let t=e.target;this.dragOptions.aria!==!1&&(i9(t,!1),t9(Q7().dragDropped)),this.dragOptions.styleCursor!==!1&&(t.style.cursor=this.dragOptions.cursorChecker?this.dragOptions.cursorChecker(`grab`):`grab`);let n=this.transform.x-this.startTransform.x,r=this.transform.y-this.startTransform.y,i=this.dragOptions.momentum,a=typeof i==`object`?i.minVelocity??10:10;if(i&&(Math.abs(this.momentum.vx)>a||Math.abs(this.momentum.vy)>a)?this.startMomentum():t.style.willChange=``,this.dragOptions.modifiers?.length){let i=e.pointers[0],a=this.modifierContext;a.position.x=this.transform.x,a.position.y=this.transform.y,a.velocity.x=i?.velocity.x??0,a.velocity.y=i?.velocity.y??0,a.element=e.target,a.startPosition.x=this.startTransform.x,a.startPosition.y=this.startTransform.y,a.delta.x=n,a.delta.y=r,a.size.width=this.cachedSize.width,a.size.height=this.cachedSize.height;for(let e of this.dragOptions.modifiers)e.onEnd?.(a);let o=a.position.x,s=a.position.y;if(o!==this.transform.x||s!==this.transform.y){if(this.transform.x=o,this.transform.y=s,Mre())this.applyTransform(t);else{t.style.transition=`transform 300ms cubic-bezier(0.25, 1, 0.5, 1)`,this.applyTransform(t);let e=()=>{t.style.transition=``,t.removeEventListener(`transitionend`,e)};t.addEventListener(`transitionend`,e)}}}if(this.dragOptions.droppable){let t=e.pointers[0]?.current??{x:0,y:0};o9.onDragEnd(e.target,t,this.createDragEvent(e,n,r),this._boundGetRect)}this.dragOptions.onDragEnd&&this.dragOptions.onDragEnd(this.createDragEvent(e,n,r))}startMomentum(){this.momentum.active=!0;let e=this.dragOptions.momentum,t=typeof e==`object`?e.friction??.95:.95,n=typeof e==`object`?e.minSpeed??.1:.1,r=performance.now(),i=e=>{if(!this.momentum.active)return;let a=Math.min(100,e-r)/1e3;r=e;let o=t**+a;if(this.momentum.vx*=o,this.momentum.vy*=o,Math.abs(this.momentum.vx)<n&&Math.abs(this.momentum.vy)<n){this.momentum.active=!1,this.element.style.willChange=``;return}this.transform.x+=this.momentum.vx*a,this.transform.y+=this.momentum.vy*a,this.bounds&&((this.transform.x<this.bounds.left||this.transform.x>this.bounds.right)&&(this.momentum.vx*=-.5,this.transform.x=Math.max(this.bounds.left,Math.min(this.transform.x,this.bounds.right))),(this.transform.y<this.bounds.top||this.transform.y>this.bounds.bottom)&&(this.momentum.vy*=-.5,this.transform.y=Math.max(this.bounds.top,Math.min(this.transform.y,this.bounds.bottom)))),this.applyTransform(this.element),requestAnimationFrame(i)};requestAnimationFrame(i)}applyTransform(e){e.style.transform=`translate3d(${this.transform.x}px, ${this.transform.y}px, 0)`}createDragEvent(e,t,n){let r=e.pointers[0],i=this.cachedDragEvent;return i.target=e.target,i.originalEvent=e.originalEvent,i.pointers=e.pointers,i.isPrimary=e.isPrimary,i.dx=r?.delta.x||0,i.dy=r?.delta.y||0,i.totalX=t,i.totalY=n,i.velocityX=r?.velocity.x||0,i.velocityY=r?.velocity.y||0,i}setPosition(e,t){this.transform.x=e,this.transform.y=t,this.applyTransform(this.element)}getPosition(){return{...this.transform}}updateOptions(e){super.updateOptions(e),Object.assign(this.dragOptions,e),(`cursorChecker`in e||`styleCursor`in e)&&!this.interacting&&(this.dragOptions.styleCursor===!1?this.element.style.cursor=``:this.element.style.cursor=this.dragOptions.cursorChecker?this.dragOptions.cursorChecker(`idle`):`grab`)}destroy(){super.destroy(),this.element.style.cursor=``,this.element.style.willChange=``,this.momentum.active=!1,this.dragOptions.aria!==!1&&a9(this.element)}},Lre=class extends J7{constructor(e,t={}){let n={edges:{top:!0,right:!0,bottom:!0,left:!0},handleSize:10,minWidth:50,minHeight:50,...t};super(e,{...n,threshold:0,onStart:e=>{this.handleResizeStart(e),t.onStart?.(e)},onMove:e=>{this.handleResizeMove(e),t.onMove?.(e)},onEnd:e=>{this.handleResizeEnd(e),t.onEnd?.(e)}}),this.startSize={width:0,height:0},this.startPos={x:0,y:0},this.currentSize={width:0,height:0},this.currentPos={x:0,y:0},this.activeEdge=null,this.edgeFlags={top:!1,right:!1,bottom:!1,left:!1},this.aspectRatio=null,this.transformNormalized=!1,this.modifierContext={position:{x:0,y:0},velocity:{x:0,y:0},element:null,startPosition:{x:0,y:0},delta:{x:0,y:0},edges:{top:!1,right:!1,bottom:!1,left:!1},size:{width:0,height:0},startSize:{width:0,height:0}},this.cachedResizeEvent={target:null,originalEvent:null,pointers:[],isPrimary:!0,width:0,height:0,deltaWidth:0,deltaHeight:0,edges:{top:!1,right:!1,bottom:!1,left:!1}},this.resizeOptions=n,this.resizeOptions.square&&(this.resizeOptions.aspectRatio=1),this.priority=10,this.boundUpdateCursor=this.updateCursor.bind(this),e.addEventListener(`pointermove`,this.boundUpdateCursor),e.style.position=`relative`}normalizeInitialTransform(e){let t=window.getComputedStyle(e).transform;if(t&&t!==`none`){let n=t.match(/matrix.*\((.+)\)/);if(n){let t=n[1].split(`, `),r=parseFloat(t[4])||0,i=parseFloat(t[5])||0;e.style.transform=`translate3d(${r}px, ${i}px, 0)`}}}shouldHandleEvent(e){return this.detectEdge(e)!==null}updateCursor(e){if(this.activeEdge)return;let t=this.detectEdge(e);this.element.style.cursor=this.resizeOptions.cursorChecker?this.resizeOptions.cursorChecker(t):this.getCursor(t)}detectEdge(e){let t=this.getRect(),n=e.clientX-t.left,r=e.clientY-t.top,i=this.resizeOptions.handleSize||10,a=this.resizeOptions.edges||{},o=a.top&&r<i,s=a.bottom&&r>t.height-i,c=a.left&&n<i,l=a.right&&n>t.width-i;return o&&c?`top-left`:o&&l?`top-right`:s&&c?`bottom-left`:s&&l?`bottom-right`:o?`top`:s?`bottom`:c?`left`:l?`right`:null}getCursor(e){switch(e){case`top`:case`bottom`:return`ns-resize`;case`left`:case`right`:return`ew-resize`;case`top-left`:case`bottom-right`:return`nwse-resize`;case`top-right`:case`bottom-left`:return`nesw-resize`;default:return``}}handleResizeStart(e){this.transformNormalized||=(this.normalizeInitialTransform(this.element),!0);let t=this.getRect(),n=window.getComputedStyle(this.element);if(this.activeEdge=this.detectEdge(e.originalEvent),!this.activeEdge)return;this.edgeFlags.top=this.activeEdge.includes(`top`),this.edgeFlags.right=this.activeEdge.includes(`right`),this.edgeFlags.bottom=this.activeEdge.includes(`bottom`),this.edgeFlags.left=this.activeEdge.includes(`left`),this.startSize={width:parseFloat(n.width)||t.width,height:parseFloat(n.height)||t.height},this.currentSize={...this.startSize};let r=n.transform;if(r&&r!==`none`){let e=r.match(/matrix.*\((.+)\)/);if(e){let t=e[1].split(`, `);this.startPos.x=parseFloat(t[4])||0,this.startPos.y=parseFloat(t[5])||0}}else this.startPos.x=0,this.startPos.y=0;this.currentPos={...this.startPos},this.resizeOptions.aspectRatio===`preserve`?this.aspectRatio=this.startSize.width/this.startSize.height:typeof this.resizeOptions.aspectRatio==`number`&&(this.aspectRatio=this.resizeOptions.aspectRatio),this.element.style.willChange=`width, height, transform`,this.resizeOptions.onResizeStart&&this.resizeOptions.onResizeStart(this.createResizeEvent(e,0,0))}handleResizeMove(e){if(!this.activeEdge)return;let t=e.pointers[0],n=t.total.x,r=t.total.y,i=this.startSize.width,a=this.startSize.height,o=this.startPos.x,s=this.startPos.y;this.edgeFlags.right&&(i+=n),this.edgeFlags.left&&(i-=n,o+=n),this.edgeFlags.bottom&&(a+=r),this.edgeFlags.top&&(a-=r,s+=r);let c=this.resizeOptions.invert||`none`;c===`reposition`&&(i<0&&(o+=i,i=-i),a<0&&(s+=a,a=-a));let l=c===`negate`?-1/0:this.resizeOptions.minWidth||0,u=c===`negate`?-1/0:this.resizeOptions.minHeight||0,d=this.resizeOptions.maxWidth||1/0,f=this.resizeOptions.maxHeight||1/0,p=c===`reposition`?1:l||50,m=c===`reposition`?1:u||50;if(this.aspectRatio&&(this.activeEdge===`left`||this.activeEdge===`right`?a=i/this.aspectRatio:this.activeEdge===`top`||this.activeEdge===`bottom`?i=a*this.aspectRatio:Math.abs(i-this.startSize.width)>Math.abs(a-this.startSize.height)?a=i/this.aspectRatio:i=a*this.aspectRatio),i<p&&(this.edgeFlags.left&&(o+=i-p),i=p,this.aspectRatio&&(a=i/this.aspectRatio)),i>d&&(this.edgeFlags.left&&(o+=i-d),i=d,this.aspectRatio&&(a=i/this.aspectRatio)),a<m&&(this.edgeFlags.top&&(s+=a-m),a=m,this.aspectRatio&&(i=a*this.aspectRatio)),a>f&&(this.edgeFlags.top&&(s+=a-f),a=f,this.aspectRatio&&(i=a*this.aspectRatio)),this.resizeOptions.grid&&(i=Math.round(i/this.resizeOptions.grid.width)*this.resizeOptions.grid.width,a=Math.round(a/this.resizeOptions.grid.height)*this.resizeOptions.grid.height),this.resizeOptions.modifiers?.length){let e=this.modifierContext;e.position.x=o,e.position.y=s,e.velocity.x=t.velocity?.x??0,e.velocity.y=t.velocity?.y??0,e.element=this.element,e.startPosition.x=this.startPos.x,e.startPosition.y=this.startPos.y,e.delta.x=n,e.delta.y=r,e.edges.top=this.edgeFlags.top,e.edges.right=this.edgeFlags.right,e.edges.bottom=this.edgeFlags.bottom,e.edges.left=this.edgeFlags.left,e.size.width=i,e.size.height=a,e.startSize.width=this.startSize.width,e.startSize.height=this.startSize.height,X7(this.resizeOptions.modifiers,e),o=e.position.x,s=e.position.y,i=e.size.width,a=e.size.height}if(this.currentSize={width:i,height:a},this.currentPos={x:o,y:s},this.element.style.width=`${i}px`,this.element.style.height=`${a}px`,(o!==this.startPos.x||s!==this.startPos.y)&&(this.element.style.transform=`translate3d(${o}px, ${s}px, 0)`),this.resizeOptions.onResizeMove){let t=i-this.startSize.width,n=a-this.startSize.height;this.resizeOptions.onResizeMove(this.createResizeEvent(e,t,n))}}handleResizeEnd(e){if(this.element.style.willChange=``,this.activeEdge=null,this.resizeOptions.onResizeEnd){let t=this.currentSize.width-this.startSize.width,n=this.currentSize.height-this.startSize.height;this.resizeOptions.onResizeEnd(this.createResizeEvent(e,t,n))}}createResizeEvent(e,t,n){let r=this.cachedResizeEvent;return r.target=e.target,r.originalEvent=e.originalEvent,r.pointers=e.pointers,r.isPrimary=e.isPrimary,r.width=this.currentSize.width,r.height=this.currentSize.height,r.deltaWidth=t,r.deltaHeight=n,r.edges.top=this.edgeFlags.top,r.edges.right=this.edgeFlags.right,r.edges.bottom=this.edgeFlags.bottom,r.edges.left=this.edgeFlags.left,r}setSize(e,t){this.currentSize={width:e,height:t},this.element.style.width=`${e}px`,this.element.style.height=`${t}px`}getSize(){return{...this.currentSize}}updateOptions(e){super.updateOptions(e),Object.assign(this.resizeOptions,e),`square`in e&&this.resizeOptions.square&&(this.resizeOptions.aspectRatio=1)}destroy(){super.destroy(),this.element.removeEventListener(`pointermove`,this.boundUpdateCursor),this.element.style.cursor=``,this.element.style.willChange=``}},Rre=180/Math.PI,zre=class extends J7{constructor(e,t={}){super(e,{...t,threshold:0}),this.gestureActive=!1,this.startDistance=0,this.startAngle=0,this.prevScale=1,this.prevAngle=0,this._p1=null,this._p2=null,this._cachedGestureEvent={target:null,pointers:[],isPrimary:!1,originalEvent:null,scale:1,rotation:0,distance:0,angle:0,center:{x:0,y:0},deltaScale:0,deltaAngle:0},this.gestureOptions=t,this.minPointers=t.minPointers??2,this.priority=15}shouldHandleEvent(e){return!0}selectTwoPointers(){if(this.pointers.size<2)return this._p1=this._p2=null,!1;let e=this.pointers.values();return this._p1=e.next().value,this._p2=e.next().value,!0}distanceBetween(e,t){let n=t.x-e.x,r=t.y-e.y;return Math.sqrt(n*n+r*r)}angleBetween(e,t){return Math.atan2(t.y-e.y,t.x-e.x)*Rre}normalizeAngleDelta(e){for(;e>180;)e-=360;for(;e<-180;)e+=360;return e}buildEvent(e,t,n,r,i,a,o,s){let c=this._cachedGestureEvent;return c.target=this.element,c.pointers=this.pointersCache,c.isPrimary=!1,c.originalEvent=c.originalEvent??{},c.scale=n,c.rotation=r,c.distance=e,c.angle=t,c.center.x=o,c.center.y=s,c.deltaScale=i,c.deltaAngle=a,c}update(){if(!this.isActive||this.pointers.size===0)return;let e=this.selectTwoPointers();if(!this.gestureActive&&e&&this.pointers.size>=this.minPointers){this.gestureActive=!0;let e=this._p1.current,t=this._p2.current;this.startDistance=this.distanceBetween(e,t),this.startAngle=this.angleBetween(e,t),this.prevScale=1,this.prevAngle=0;let n=this.buildEvent(this.startDistance,this.startAngle,1,0,0,0,(e.x+t.x)/2,(e.y+t.y)/2);this.gestureOptions.onGestureStart&&this.gestureOptions.onGestureStart(n);return}if(this.gestureActive&&this.pointers.size<this.minPointers){this.endGesture(),super.update();return}if(this.gestureActive&&e){let e=this._p1.current,t=this._p2.current,n=this.distanceBetween(e,t),r=this.angleBetween(e,t),i=this.startDistance>0?n/this.startDistance:1,a=this.normalizeAngleDelta(r-this.startAngle),o=i-this.prevScale,s=this.normalizeAngleDelta(a-this.prevAngle);this.prevScale=i,this.prevAngle=a,this.gestureOptions.onGestureMove&&this.gestureOptions.onGestureMove(this.buildEvent(n,r,i,a,o,s,(e.x+t.x)/2,(e.y+t.y)/2))}super.update()}endGesture(){if(!this.gestureActive)return;this.gestureActive=!1;let e=this.selectTwoPointers(),t=e?this._p1.current:null,n=e?this._p2.current:null,r=t&&n?this.distanceBetween(t,n):0,i=t&&n?this.angleBetween(t,n):0,a=t&&n?(t.x+n.x)/2:0,o=t&&n?(t.y+n.y)/2:0,s=this.startDistance>0&&r>0?r/this.startDistance:this.prevScale;this.gestureOptions.onGestureEnd&&this.gestureOptions.onGestureEnd(this.buildEvent(r,i,s,this.prevAngle,0,0,a,o))}updateOptions(e){super.updateOptions(e),Object.assign(this.gestureOptions,e),e.minPointers!==void 0&&(this.minPointers=e.minPointers)}destroy(){this.gestureActive&&this.endGesture(),super.destroy()}},Bre=typeof window<`u`?d.useLayoutEffect:d.useEffect;function s9(e){let t={};for(let n in e){let r=e[n];typeof r!=`function`&&(t[n]=r)}return t}function Vre(e={},t){let n=(0,d.useRef)(e);n.current=e;let r=(0,d.useRef)(null),i=(0,d.useRef)(null),a=(0,d.useRef)(void 0),o=(0,d.useCallback)(o=>{if(o===i.current||(r.current&&(r.current.drag?.destroy(),r.current.resize?.destroy(),r.current.gesture?.destroy(),r.current=null,t&&(t.current=null)),i.current=o,!o))return;let s=n.current,c={drag:s.drag?new Ire(o,typeof s.drag==`object`?c9(n,`drag`):{}):null,resize:s.resize?new Lre(o,typeof s.resize==`object`?c9(n,`resize`):{}):null,gesture:s.gesture?new zre(o,typeof s.gesture==`object`?c9(n,`gesture`):{}):null};r.current=c,t&&(t.current=c),a.current=e},[]);return Bre(()=>{let t=r.current;if(!t||a.current===e)return;let i=n.current;t.drag&&typeof i.drag==`object`&&t.drag.updateOptions(s9(i.drag)),t.resize&&typeof i.resize==`object`&&t.resize.updateOptions(s9(i.resize)),t.gesture&&typeof i.gesture==`object`&&t.gesture.updateOptions(s9(i.gesture)),a.current=e}),o}function c9(e,t){let n=e.current[t];if(typeof n!=`object`)return{};let r={};for(let i in n){let a=n[i];r[i]=typeof a==`function`?(...n)=>{let r=e.current[t];if(typeof r!=`object`)return;let a=r[i];return a?.(...n)}:a}return r}function Hre(e){switch(e){case`info`:return`var(--accent)`;case`success`:return`var(--status-success)`;case`warning`:return`var(--status-warning)`;case`error`:return`var(--status-error)`;default:return`var(--text)`}}function l9({title:e,subtitle:t,children:n,footer:r,width:i=560,align:a=`bottom`,height:o,variant:s=`normal`,initialOffset:c,position:l,size:u,maxWidth:f,onDragStop:p,onResizeStop:m,testId:h,style:g,portalTarget:_,headerExtra:v,flashHeader:y}){let[b,x]=(0,d.useState)(!1),S=Math.round(window.innerHeight*.8),[C]=(0,d.useState)(()=>({x:l?.x??c?.dx??0,y:l?.y??c?.dy??0,w:u?.width??i,h:u?.height??o??null})),w=(0,d.useRef)(null),E=(0,d.useRef)(null),D=(0,d.useRef)(null),O=(0,d.useRef)(p);O.current=p;let k=(0,d.useRef)(m);k.current=m;let A=Vre((0,d.useMemo)(()=>({drag:{handle:`.dd-drag-handle`,onDragEnd:()=>{let e=D.current?.drag?.getPosition();e&&O.current?.(e.x,e.y)}},resize:{edges:{top:!0,right:!0,bottom:!0,left:!0},minWidth:160,minHeight:100,onResizeEnd:e=>{let t=w.current?.style.transform.match(/translate3?d?\((-?[\d.]+)px,\s*(-?[\d.]+)px/);k.current?.(e.width,e.height,t?Number(t[1]):0,t?Number(t[2]):0)}}}),[]),D);(0,d.useEffect)(()=>()=>{D.current?.drag?.cancel(),D.current?.resize?.cancel()},[]);let j=(0,d.useCallback)(e=>{w.current=e,A(e)},[A]);(0,d.useEffect)(()=>{if(D.current?.drag?.setPosition(C.x,C.y),C.h!=null){if(D.current?.resize?.setSize(C.w,C.h),f&&E.current){let e=E.current;e.style.width=`max-content`;let t=Math.ceil(e.scrollWidth);e.style.width=``;let n=Math.min(Math.max(t,C.w),f);n!==C.w&&D.current?.resize?.setSize(n,C.h)}return}let e=w.current;if(!e)return;let t=e.style.height,n=e.style.maxHeight;e.style.height=`auto`,e.style.maxHeight=`none`;let r=e.scrollHeight;e.style.height=t,e.style.maxHeight=n;let i=Math.min(r,S);if(f&&E.current){let e=E.current;e.style.width=`max-content`;let t=Math.ceil(e.scrollWidth);e.style.width=``;let n=Math.min(Math.max(t,C.w),f);D.current?.resize?.setSize(n,i)}else D.current?.resize?.setSize(C.w,i)},[]);let M=s===`error`?1200:1e3,N=b?M+100:M;return(0,ar.createPortal)((0,T.jsx)(`div`,{"data-testid":h,onPointerDownCapture:()=>x(!0),style:{position:`fixed`,inset:0,zIndex:N,display:`flex`,alignItems:a===`bottom`?`flex-end`:`center`,justifyContent:`center`,padding:a===`bottom`?`0 20px 16px`:0,pointerEvents:`none`,...g},children:(0,T.jsxs)(`div`,{ref:j,role:`dialog`,"aria-modal":`true`,style:{transform:`translate(${C.x}px, ${C.y}px)`,width:C.w,...C.h==null?{maxHeight:S}:{height:C.h},display:`flex`,flexDirection:`column`,position:`relative`,border:`1px solid color-mix(in srgb, var(--foreground) 14%, transparent)`,borderRadius:12,background:`var(--bg)`,boxShadow:`0 -4px 24px var(--shadow-strong), 0 8px 28px var(--shadow-color), 0 2px 8px var(--shadow-color)`,overflow:`hidden`,pointerEvents:`auto`},children:[(0,T.jsxs)(`div`,{className:`dd-drag-handle`,style:{padding:`12px 14px`,borderBottom:`1px solid var(--border)`,cursor:`move`,touchAction:`none`,userSelect:`none`,flexShrink:0,...s===`normal`?null:{background:Hre(s)},...y?{animation:`interaction-bg-blink 0.85s ease-in-out infinite`}:null},children:[(0,T.jsx)(`div`,{style:{color:s===`normal`?`var(--text)`:`var(--on-accent, #fff)`,fontSize:`var(--text-2xl)`,fontWeight:650,paddingRight:v?34:0},children:e}),t&&(0,T.jsx)(`div`,{style:{marginTop:3,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`},children:t})]}),v&&(0,T.jsx)(`div`,{style:{position:`absolute`,top:8,right:10,zIndex:2,display:`flex`,alignItems:`center`},children:v}),(0,T.jsx)(`div`,{ref:E,style:{padding:14,overflowY:`auto`,minHeight:0,flexGrow:1,userSelect:`text`},children:n}),r&&(0,T.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8,padding:`10px 14px`,borderTop:`1px solid var(--border)`,background:`var(--bg-panel)`,flexShrink:0},children:r})]})}),_??document.body)}function u9({notices:e,floating:t=!1,align:n=`left`}){return e.length===0?null:(0,T.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:n===`right`?`flex-end`:`stretch`,marginBottom:t?0:10},children:e.map((n,r)=>{let i=n.type===`error`?`var(--status-error)`:n.type===`warning`?`var(--status-warning)`:n.type===`success`?`var(--status-success)`:`var(--accent)`;return(0,T.jsxs)(`div`,{className:`notice-shelf-item`,style:{display:`flex`,alignItems:`center`,gap:10,minHeight:60,marginBottom:r===e.length-1?0:6,borderRadius:14,border:`1px solid color-mix(in srgb, var(--border) 70%, transparent)`,background:`var(--bg)`,color:`var(--text-muted)`,width:`fit-content`,maxWidth:`min(100%, 620px)`,boxShadow:t?`0 1px 2px var(--shadow-color), 0 10px 28px -14px var(--shadow-color)`:`0 1px 2px var(--shadow-color), 0 8px 24px -12px var(--shadow-color)`,fontSize:`var(--text-4xl)`,lineHeight:1.45,transformOrigin:`top center`,animation:n.exiting?`notice-shelf-out 0.18s ease-in forwards`:`notice-shelf-in 0.18s ease-out both`,padding:`0 12px`},children:[(0,T.jsx)(`span`,{style:{width:7,height:7,borderRadius:`50%`,background:i,flexShrink:0}}),(0,T.jsx)(`span`,{style:{padding:`14px 0`,minWidth:0,maxWidth:`100%`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:n.message})]},n.id)})})}var Ure={info:mn,success:Xt,warning:Vn,error:Zt},Wre={info:`chat.notifyInfoTitle`,success:`chat.notifySuccessTitle`,warning:`chat.notifyWarningTitle`,error:`chat.notifyErrorTitle`};function Gre({modals:e,onDismiss:t}){let{t:n}=M();return(0,T.jsx)(T.Fragment,{children:e.map((e,r)=>(0,T.jsx)(l9,{variant:e.type,align:`center`,width:520,height:320,initialOffset:{dx:r%3*24,dy:r%3*24},title:(()=>{let t=Ure[e.type];return(0,T.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:8},children:[(0,T.jsx)(t,{size:I[`4xl`]}),n(Wre[e.type])]})})(),footer:(0,T.jsx)(`button`,{onClick:()=>t(e.id),style:{padding:`6px 14px`,borderRadius:6,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text)`,cursor:`pointer`},children:n(`chat.close`)}),children:(0,T.jsx)(`div`,{style:{whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,fontSize:`var(--text-lg)`,lineHeight:1.6,color:`var(--text)`},children:e.message})},e.id))})}function Kre({show:e,onClick:t}){let{t:n}=M();return e?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{style:{position:`absolute`,left:0,right:0,bottom:0,height:30,background:`linear-gradient(to bottom, transparent, var(--bg))`,pointerEvents:`none`,zIndex:49}}),(0,T.jsx)(`button`,{type:`button`,onClick:t,"aria-label":n(`chat.scrollToLatest`),"data-testid":`scroll-to-latest`,style:{position:`absolute`,bottom:0,left:`50%`,transform:`translateX(-50%)`,width:`min(100% / 3, 260px)`,zIndex:50,cursor:`pointer`,background:`transparent`,border:`none`,padding:0,height:30,display:`flex`,alignItems:`flex-end`,justifyContent:`center`},children:(0,T.jsx)(F,{label:n(`chat.scrollToLatest`),children:(0,T.jsx)(`span`,{style:{position:`absolute`,bottom:4,left:`50%`,transform:`translateX(-50%)`,width:12,height:11,display:`flex`,alignItems:`flex-end`,justifyContent:`center`,cursor:`pointer`},children:(0,T.jsx)(`span`,{style:{position:`relative`,width:0,height:0,borderLeft:`6px solid transparent`,borderRight:`6px solid transparent`,borderTop:`7px solid var(--text-muted)`,pointerEvents:`none`}})})})})]}):null}function qre({plainStatusLine:e}){return(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,flexShrink:0,minWidth:0,height:36,padding:`0 12px`,borderTop:`1px solid var(--border)`,gap:8},children:(0,T.jsx)(F,{label:e,wrapperStyle:{display:`flex`,flex:1,minWidth:0},children:(0,T.jsx)(`div`,{role:`status`,"aria-label":e,style:{alignSelf:`stretch`,display:`flex`,alignItems:`center`,flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,color:`var(--text-dim)`},children:e})})})}var Jre={background:`linear-gradient(90deg, var(--accent) 0%, var(--accent) 47%, var(--shine-highlight) 53%, var(--shine-highlight) 100%)`,backgroundSize:`200% 100%`,WebkitBackgroundClip:`text`,backgroundClip:`text`,color:`transparent`,animation:`pi-status-shine 1.5s linear infinite`},Yre={animation:`pi-status-icon-pulse 1.5s ease-in-out infinite`};function Xre(e,t){if(e?.kind===`running_tools`){let n=e.tools.map(e=>e.name);return n.length===0?t(`chat.runningTool`):n.length===1?t(`chat.runningNamedTool`,{name:n[0]}):n.length<=3?t(`chat.runningTools`,{names:n.join(`, `)}):t(`chat.runningToolsMore`,{names:n.slice(0,2).join(`, `),count:n.length-2})}return e?.kind===`thinking`?t(`chat.thinking`):e?.kind===`waiting_model`?t(`chat.waitingModel`):e?.kind===`running_command`?t(`chat.runningCommand`):e?.kind===`retrying`?t(`chat.retrying`,{attempt:e.attempt,max:e.maxAttempts}):null}function Zre(e){return e?.kind===`running_tools`?(0,T.jsx)(Kn,{size:I.lg}):e?.kind===`running_command`?(0,T.jsx)(Rn,{size:I.lg}):e?.kind===`thinking`?(0,T.jsx)(hn,{size:I.lg,fill:`currentColor`,style:{color:`var(--bulb-warning)`}}):e?.kind===`retrying`?(0,T.jsx)(Vn,{size:I.lg,style:{color:`var(--status-warning)`}}):(0,T.jsx)(fn,{size:I.lg})}function d9({phase:e,elapsed:t,totalElapsed:n}){let{t:r}=M(),i=Xre(e,r)??r(`chat.runningCommand`);return(0,T.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,style:{...Jre,minWidth:0,maxWidth:`100%`},children:[(0,T.jsx)(`span`,{className:`inline-flex flex-shrink-0`,style:Yre,children:Zre(e)}),(0,T.jsxs)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,minWidth:0},children:[i,t!=null&&(0,T.jsxs)(T.Fragment,{children:[` · `,t]}),n!=null&&(0,T.jsxs)(T.Fragment,{children:[` · `,r(`chat.totalElapsed`,{total:n})]})]})]})}function Qre({streamState:e,agentRunning:t,commandBusy:n,agentPhase:r,phaseElapsed:i,totalElapsed:a,bashRunning:o,pendingBash:s,bashOutput:c,session:l,sessionIdRef:u,longBlockCollapseChars:d}){return(0,T.jsxs)(T.Fragment,{children:[(t||n)&&(r?.kind===`waiting_model`||r?.kind===`thinking`||!e.streamingMessage)&&(r||n)&&(0,T.jsx)(`div`,{className:`py-2 text-[0.8125rem] text-text-muted`,children:(0,T.jsx)(d9,{phase:r??{kind:`running_command`},elapsed:i,totalElapsed:a})}),o&&(0,T.jsx)(`div`,{className:`py-2 text-[0.8125rem] text-text-muted`,children:(0,T.jsx)(d9,{phase:{kind:`running_command`},elapsed:i,totalElapsed:a})}),s&&(0,T.jsx)(R7,{message:{role:`bashExecution`,command:s.command,output:``,excludeFromContext:s.excludeFromContext},streamingBashOutput:c,sessionId:l?.id??u.current??void 0,longBlockCollapseChars:d}),t&&(0,T.jsx)(`div`,{style:{height:48}})]})}function $re({isMobile:e,notices:t,scrollContainerRef:n,handleListScroll:r,canMountList:i,sessionIdForCache:a,sessionId:o,rows:s,messages:c,entryIds:l,modelNames:u,messageCwd:d,onOpenFile:f,sessionBusy:p,isNew:m,handleFork:h,forkingEntryId:g,handleNavigate:_,handleEditContent:v,sessionIdRef:y,session:b,longBlockCollapseChars:x,recentExpandedBlockKeys:S,streamState:C,flashKey:w,itemRef:E,t:D,messageRefs:O,lastUserMsgRef:k,visibleRefIndexByMessage:A,virtualizerRef:j,initialCache:M,streamTurnNumber:N,agentRunning:ee,commandBusy:te,agentPhase:P,phaseElapsed:ne,totalElapsed:re,bashRunning:ie,pendingBash:ae,bashOutput:oe,messagesEndRef:se,nearBottom:ce,scrollToBottom:le,resolveMessageOffset:ue,previewScrollStepPx:de,handleWindowJumpTo:fe,chatInputElement:pe,startScreenMessages:me,aiIdle:he,onQuickMessageSend:ge,onFillInput:_e,plainStatusLine:ve}){return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1 overflow-hidden`,children:[(0,T.jsx)(`div`,{style:{position:`absolute`,top:12,left:0,right:e?0:`calc(${mQ} + 48px)`,zIndex:40,padding:`0 16px`,pointerEvents:`none`},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`},children:(0,T.jsx)(u9,{notices:t,floating:!0,align:`right`})})}),(0,T.jsx)(`div`,{ref:n,onScroll:r,className:`min-h-0 min-w-0 flex-1 overflow-x-hidden overflow-y-auto pt-4 [scrollbar-width:none] [overflow-anchor:none]`,style:{paddingRight:48},"data-testid":`message-list`,children:(0,T.jsx)(`div`,{style:{minWidth:0,padding:`0 16px`},children:(0,T.jsxs)(`div`,{style:{width:`100%`,minWidth:0,maxWidth:820,margin:`0 auto`},children:[i&&(0,T.jsx)(Are,{rows:s,messages:c,entryIds:l,modelNames:u,messageCwd:d,onOpenFile:f,sessionBusy:p,isNew:m,handleFork:h,forkingEntryId:g,handleNavigate:_,handleEditContent:v,sessionId:b?.id??y.current??void 0,longBlockCollapseChars:x,recentExpandedBlockKeys:S,isStreaming:C.isStreaming,flashKey:w,itemRef:E,t:D,messageRefs:O,lastUserMsgRef:k,visibleRefIndexByMessage:A,scrollContainerRef:n,virtualizerRef:j,initialCache:M},a||`empty`),C.isStreaming&&C.streamingMessage&&(0,T.jsx)(`div`,{children:(0,T.jsx)(R7,{message:C.streamingMessage,isStreaming:!0,modelNames:u,cwd:d,onOpenFile:f,longBlockCollapseChars:x,recentExpandedBlockKeys:S,turnNumber:N})}),(0,T.jsx)(Qre,{streamState:C,agentRunning:ee,commandBusy:te,agentPhase:P,phaseElapsed:ne,totalElapsed:re,bashRunning:ie,pendingBash:ae,bashOutput:oe,session:b,sessionIdRef:y,longBlockCollapseChars:x}),(0,T.jsx)(`div`,{ref:se})]})})}),(0,T.jsx)(Kre,{show:!ce,onClick:le}),e?null:(0,T.jsx)(WQ,{messages:c,streamingMessage:C.streamingMessage,scrollContainer:n,messageRefs:O,resolveMessageOffset:ue,scrollStepPx:de,onWindowJumpTo:fe})]}),(0,T.jsx)(jre,{chatInputElement:pe,startScreenMessages:me,aiIdle:he,isMobile:e,onQuickMessageSend:ge,onFillInput:_e}),(0,T.jsx)(qre,{plainStatusLine:ve})]})}function eie(e,t){if(!t)return new Set;let n=t;function r(e,t){for(let i of e){let e=[...t,i.entry.id];if(i.entry.id===n||i.compressedEntryIds?.includes(n))return e;let a=r(i.children,e);if(a)return a}return null}return new Set(r(e,[])??[])}function f9(e){let t=e,n=t.compressedEntryIds?.length??0;for(;t.children.length===1;)t=t.children[0],n+=1+(t.compressedEntryIds?.length??0);return{node:t,skipped:n}}function tie(e){if(e.type===`message`&&`message`in e){let t=e.message,n=t.content,r=``;if(typeof n==`string`?r=n:Array.isArray(n)&&(r=n.filter(e=>e.type===`text`).map(e=>e.text).join(` `)),r.length>40&&(r=`${r.slice(0,40)}…`),r)return r;if(t.role===`assistant`)return`[assistant]`}return e.type}function p9(e){for(let t of e)if(t.children.length>1||p9(t.children))return!0;return!1}function m9({node:e,activePathIds:t,depth:n,isLast:r,parentLines:i,onSelect:a}){let{node:o,skipped:s}=f9(e),c=t.has(o.entry.id),l=t.has(e.entry.id)||t.has(o.entry.id),u=tie(o.entry),d=o.entry.type===`message`&&`message`in o.entry?o.entry.message.role:null;return(0,T.jsxs)(`div`,{children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,height:24,cursor:`pointer`},onClick:()=>a(o.entry.id),children:[i.map((e,t)=>(0,T.jsx)(`div`,{style:{width:16,flexShrink:0,position:`relative`,height:`100%`,alignSelf:`stretch`},children:e&&(0,T.jsx)(`div`,{style:{position:`absolute`,left:7,top:0,bottom:0,width:1,background:`var(--border)`}})},t)),(0,T.jsxs)(`div`,{style:{width:16,flexShrink:0,position:`relative`,height:`100%`,alignSelf:`stretch`},children:[(0,T.jsx)(`div`,{style:{position:`absolute`,left:7,top:0,bottom:r?`50%`:0,width:1,background:`var(--border)`}}),(0,T.jsx)(`div`,{style:{position:`absolute`,left:7,top:`50%`,width:9,height:1,background:`var(--border)`}})]}),(0,T.jsx)(`div`,{style:{width:7,height:7,borderRadius:`50%`,flexShrink:0,background:c?`var(--accent)`:l?`var(--text-muted)`:`var(--border)`,border:c?`none`:`1px solid var(--text-dim)`,marginRight:6,transition:`background 0.12s`}}),d&&(0,T.jsx)(`span`,{style:{fontSize:`var(--text-2xs)`,fontFamily:`var(--font-mono)`,color:d===`user`?`var(--accent)`:`var(--text-dim)`,background:d===`user`?`color-mix(in srgb, var(--accent) 8%, transparent)`:`var(--bg-hover)`,border:`1px solid ${d===`user`?`color-mix(in srgb, var(--accent) 20%, transparent)`:`var(--border)`}`,borderRadius:3,padding:`0 4px`,marginRight:5,flexShrink:0,lineHeight:`16px`},children:d===`user`?`U`:`A`}),s>0&&(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`,marginRight:5,flexShrink:0},children:[`+`,s]}),(0,T.jsx)(`span`,{style:{fontSize:`var(--text-sm)`,color:c?`var(--text)`:l?`var(--text-muted)`:`var(--text-dim)`,fontWeight:c?500:400,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flex:1,minWidth:0},children:u})]}),o.children.map((e,s)=>(0,T.jsx)(m9,{node:e,activePathIds:t,depth:n+1,isLast:s===o.children.length-1,parentLines:[...i,!r],onSelect:a},e.entry.id))]})}function nie({tree:e,activeLeafId:t,onLeafChange:n,inline:r,containerRef:i,open:a,onToggle:o,hasSession:s,compact:c}){let{t:l}=M(),[u,f]=(0,d.useState)(!1),p=a===void 0?u:a,m=(0,d.useRef)(null),[h,g]=(0,d.useState)(null);(0,d.useEffect)(()=>{if(!p||!r)return;let e=i?.current??m.current;if(!e)return;let t=()=>{if(document.hidden)return;let t=e.getBoundingClientRect();g({top:t.bottom,left:t.left,width:t.width})};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[p,r,i]);let _=(0,d.useMemo)(()=>eie(e,t),[e,t]),v=(0,d.useCallback)(e=>{n(e)},[n]),y=s?p9(e)?null:l(`i18n.noBranches`):l(`i18n.noActiveSession`),b=(e.length>0?f9(e[0]):null)?.node??null,x=!y&&b&&b.children.length>1,S=(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),C=(0,T.jsx)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`var(--text-dim)`,strokeWidth:`1.6`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{marginLeft:2,transform:p?`rotate(180deg)`:`none`,transition:`transform 0.15s`},children:(0,T.jsx)(`polyline`,{points:`2 3.5 5 6.5 8 3.5`})});return r?(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,alignItems:`stretch`},children:[(0,T.jsxs)(`button`,{ref:m,onClick:()=>o?o():f(e=>!e),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,alignSelf:`center`,width:32,height:32,padding:0,background:p?`var(--bg-selected)`:`transparent`,border:`1px solid${p?` var(--accent)`:` var(--border)`}`,borderRadius:7,cursor:`pointer`,color:p?`var(--text)`:`var(--text-muted)`,transition:`color 0.12s, background 0.12s, border-color 0.12s`,"--hover-color":`var(--text)`,"--hover-bg":`var(--bg-selected)`,"--hover-border":`color-mix(in srgb, var(--accent) 35%, transparent)`},className:`hover-shift`,"aria-label":l(`i18n.branches`),"aria-pressed":p,children:[S,!c&&(0,T.jsx)(`span`,{children:l(`i18n.branches`)})]}),p&&h&&(0,T.jsx)(`div`,{style:{position:`fixed`,top:h.top,left:h.left,width:h.width,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,zIndex:1500},children:x&&b?(0,T.jsx)(`div`,{style:{padding:`4px 12px 8px 12px`,maxHeight:260,overflowY:`auto`},children:b.children.map((e,t)=>(0,T.jsx)(m9,{node:e,activePathIds:_,depth:0,isLast:t===b.children.length-1,parentLines:[],onSelect:v},e.entry.id))}):(0,T.jsx)(`div`,{style:{padding:`10px 16px`,fontSize:`var(--text-base)`,color:`var(--text-muted)`,fontStyle:`italic`},children:y})})]}):(0,T.jsxs)(`div`,{style:{borderBottom:`1px solid var(--border)`,background:`var(--bg)`,flexShrink:0,position:`relative`},children:[(0,T.jsxs)(`button`,{onClick:()=>f(e=>!e),style:{display:`flex`,alignItems:`center`,gap:6,width:`100%`,padding:`5px 12px`,background:`none`,border:`none`,cursor:`pointer`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,textAlign:`left`},children:[S,(0,T.jsx)(`span`,{style:{color:`var(--text-muted)`},children:l(`i18n.branches`)}),C]}),p&&(0,T.jsx)(`div`,{style:{position:`absolute`,top:`100%`,left:0,right:0,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,boxShadow:`0 4px 12px var(--shadow-color)`,zIndex:100},children:x&&b?(0,T.jsx)(`div`,{style:{padding:`4px 12px 8px 12px`,maxHeight:260,overflowY:`auto`},children:b.children.map((e,t)=>(0,T.jsx)(m9,{node:e,activePathIds:_,depth:0,isLast:t===b.children.length-1,parentLines:[],onSelect:v},e.entry.id))}):(0,T.jsx)(`div`,{style:{padding:`10px 16px`,fontSize:`var(--text-base)`,color:`var(--text-muted)`,fontStyle:`italic`},children:y??l(`i18n.noBranches`)})})]})}function rie(e){if(e.role===`user`){let t=e;return typeof t.content==`string`?t.content:t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
488
488
  `)}if(e.role===`assistant`){let t=[];for(let n of e.content)n.type===`text`?t.push(n.text):n.type===`thinking`?t.push(n.thinking??``):n.type===`toolCall`&&t.push(`${n.toolName}(${JSON.stringify(n.input??{})})`);return t.join(`
489
489
  `)}if(e.role===`toolResult`)return e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
490
- `);if(e.role===`bashExecution`){let t=e;return`${t.command}\n${t.output??``}`}return``}var h9=100,g9=44;function tie({messages:e,t,onJump:n}){let[r,i]=(0,d.useState)(``),[a,o]=(0,d.useState)(0),s=(0,d.useRef)(null),c=(0,d.useRef)(null),l=(0,d.useMemo)(()=>e.map((e,t)=>({msgIdx:t,role:e.role,text:eie(e)})),[e]),u=(0,d.useMemo)(()=>{let e=r.trim().toLowerCase();if(!e)return[];let t=[];for(let{msgIdx:n,role:r,text:i}of l){let a=0,o=i.toLowerCase().indexOf(e,a);for(;o!==-1&&t.length<h9;)t.push({msgIdx:n,role:r,text:i,start:o}),a=o+1,o=i.toLowerCase().indexOf(e,a);if(t.length>=h9)break}return t},[l,r]);ir(()=>o(e=>Math.min(e,Math.max(0,u.length-1))),[u.length]);let f=(0,d.useCallback)(e=>{let t=u[e];t&&(n(t.msgIdx),o(e))},[u,n]),p=(0,d.useCallback)(e=>{if(u.length!==0){if(e.key===`Enter`){e.preventDefault();let t=e.shiftKey?-1:1,n=(a+t+u.length)%u.length;f(n)}else e.key===`ArrowDown`?(e.preventDefault(),f(Math.min(a+1,u.length-1))):e.key===`ArrowUp`&&(e.preventDefault(),f(Math.max(a-1,0)))}},[a,f,u.length]);return(0,d.useEffect)(()=>{(c.current?.children[a])?.scrollIntoView({block:`nearest`})},[a]),(0,T.jsxs)(`div`,{style:{position:`relative`,flex:`1 1 0`,minWidth:0,maxWidth:2040},"data-testid":`search-box`,children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:4,padding:`0 6px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:6,height:30,boxSizing:`border-box`},children:[(0,T.jsx)(jn,{size:I.xl,color:`var(--text-muted)`,style:{flexShrink:0}}),(0,T.jsx)(`input`,{ref:s,value:r,onChange:e=>i(e.target.value),onKeyDown:p,placeholder:t(`chat.searchPlaceholder`),style:{flex:1,minWidth:0,background:`transparent`,border:`none`,outline:`none`,color:`var(--text)`,fontSize:`var(--text-sm)`}}),r&&(0,T.jsx)(`button`,{type:`button`,onClick:()=>{i(``),s.current?.focus()},"aria-label":t(`chat.clearSearch`),style:{border:`none`,background:`transparent`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0,padding:0},children:`✕`})]}),r.trim()&&(0,T.jsx)(`div`,{ref:c,style:{position:`absolute`,top:`calc(100% + 6px)`,left:0,right:0,maxHeight:`min(55vh, 480px)`,overflowY:`auto`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 8px 24px var(--shadow-color)`,zIndex:60},children:u.length===0?(0,T.jsx)(`div`,{style:{padding:`10px 12px`,fontSize:`var(--text-base)`,color:`var(--text-muted)`},children:t(`chat.searchNoResults`)}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{style:{padding:`6px 12px`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,borderBottom:`1px solid var(--border)`},children:t(`chat.searchResults`,{count:u.length})}),u.map((e,t)=>{let n=r.trim(),i=Math.max(0,e.start-g9),o=Math.min(e.text.length,e.start+n.length+g9),s=i>0?`…`:``,c=o<e.text.length?`…`:``,l=`${s}${e.text.slice(i,o)}${c}`;return(0,T.jsxs)(`button`,{type:`button`,onClick:()=>f(t),"data-testid":`search-result`,style:{display:`block`,width:`100%`,textAlign:`left`,padding:`8px 12px`,border:`none`,borderBottom:`1px solid var(--border)`,background:t===a?`var(--bg-selected)`:`transparent`,color:`var(--text)`,cursor:`pointer`,fontSize:`var(--text-base)`,lineHeight:1.5},children:[(0,T.jsxs)(`span`,{style:{color:`var(--text-dim)`,marginRight:6,fontSize:`var(--text-sm)`},children:[`#`,e.msgIdx]}),(0,T.jsx)(`span`,{children:nie(l,n)})]},`${e.msgIdx}-${e.start}`)})]})})]})}function nie(e,t){let n=[],r=e,i=0;for(;r.length>0;){let e=r.toLowerCase().indexOf(t.toLowerCase());if(e===-1){n.push(r);break}e>0&&n.push(r.slice(0,e)),n.push((0,T.jsx)(`mark`,{children:r.slice(e,e+t.length)},i++)),r=r.slice(e+t.length)}return n}var rie={position:`absolute`,top:`100%`,left:0,right:0,zIndex:1500,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,boxShadow:`0 10px 28px var(--shadow-color)`,maxHeight:`calc(100dvh - 80px)`,overflowY:`auto`},iie={position:`relative`,display:`flex`,alignItems:`stretch`,flexShrink:0,width:`100%`,minWidth:0,height:36,gap:4,paddingLeft:4,paddingRight:4,borderBottom:`1px solid var(--border)`,background:`var(--bg)`},_9={display:`flex`,alignItems:`center`,justifyContent:`center`,alignSelf:`center`,width:32,height:32,padding:0,background:`transparent`,border:`1px solid var(--border)`,borderRadius:7,color:`var(--text-muted)`,flexShrink:0,cursor:`pointer`,transition:`color 0.12s, background 0.12s, border-color 0.12s`,"--hover-color":`var(--text)`,"--hover-bg":`var(--bg-selected)`,"--hover-border":`color-mix(in srgb, var(--accent) 35%, transparent)`},v9={flexShrink:0},y9={fontSize:`var(--text-sm)`,fontWeight:700,color:`var(--text)`,marginBottom:6},aie={fontSize:`var(--text-xs)`,borderRadius:8,border:`1px solid color-mix(in srgb, var(--accent) 45%, transparent)`,background:`color-mix(in srgb, var(--accent) 10%, transparent)`,color:`var(--accent)`,whiteSpace:`nowrap`};function oie(e,t){switch(e){case`naming`:return t(`title.generating`);case`success`:return t(`title.updated`);case`error`:return t(`title.failed`);default:return t(`title.generate`)}}function sie(e,t,n,r){return t?n?e.kind===`error`?e.message:r(`title.generateSession`):r(`title.noMessages`):r(`title.unsaved`)}function cie({session:e,hasMessages:t,onRenamed:n,onStart:r}){let{t:i}=M(),[a,o]=(0,d.useState)({kind:`idle`}),s=tx(),c=(0,d.useRef)(null);(0,d.useEffect)(()=>{s.cancel(),o({kind:`idle`}),c.current=e?.id??null},[e?.id,s]);let l=(0,d.useCallback)(async()=>{let t=e?.id;if(!(!t||a.kind===`naming`)){s.cancel(),r?.(),o({kind:`naming`});try{let e=await fetch(`/api/sessions/${encodeURIComponent(t)}/auto-name`,{method:`POST`}),r=await e.json().catch(()=>({}));if(!e.ok||!r.title)throw Error(r.error||`HTTP ${e.status}`);let i=r.title.trim();if(c.current!==t)return;n?.(t,i),o({kind:`success`}),s.schedule(()=>o({kind:`idle`}),1800)}catch(e){if(c.current!==t)return;let n=e instanceof Error?e.message:String(e);o({kind:`error`,message:n}),s.schedule(()=>o({kind:`idle`}),5e3)}}},[a.kind,s,e?.id,n,r]),u=!e||!t||a.kind===`naming`,f=a.kind===`success`,p=a.kind===`error`,m=oie(a.kind,i),h=sie(a,e,t,i);return(0,T.jsx)(F,{label:h,children:(0,T.jsx)(`button`,{type:`button`,onClick:()=>void l(),disabled:u,"aria-label":m,style:{..._9,color:p?`var(--status-error)`:f?`var(--status-success)`:u?`var(--text-dim)`:`var(--text-muted)`,cursor:u?`not-allowed`:`pointer`,opacity:u&&a.kind!==`naming`?.45:1,"--hover-color":p?`var(--status-error)`:`var(--text)`},className:u?void 0:`hover-shift`,children:a.kind===`naming`?(0,T.jsx)(vn,{className:`animate-spin`,size:I.lg,"aria-hidden":`true`}):f?(0,T.jsx)(qt,{size:I.lg,"aria-hidden":`true`}):(0,T.jsx)(Sn,{size:I.lg,"aria-hidden":`true`,style:v9})})})}var b9={padding:`10px 16px`,fontSize:`var(--text-base)`,color:`var(--text-muted)`,fontStyle:`italic`};function lie(e){if(e.role!==`user`)return null;if(typeof e.content==`string`){let t=e.content.trim();return t.length>0?t:null}let t=e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
491
- `).trim();return t.length>0?t:null}function uie(e,t){if(t?.role!==`assistant`)return;let n=0;for(let t of e)t.role===`user`&&(n+=1);return n>0?n:void 0}function die(e,t,n){if(n==null)return;let r=[];e.forEach((e,n)=>{e.role===`assistant`&&(e.content??[]).forEach((e,i)=>{e.type===`thinking`?r.push(ze(`thinking`,t[n]??``,void 0,i)):e.type===`toolCall`&&r.push(ze(`toolCall`,``,e.toolCallId))})});let i=r.slice(-((n??0)+1));return new Set(i)}var fie={display:`flex`,alignItems:`center`,gap:10,paddingLeft:12,paddingRight:12,height:`100%`,border:`none`,fontSize:`var(--text-sm)`,color:`var(--text-muted)`,whiteSpace:`nowrap`,cursor:`pointer`,fontVariantNumeric:`tabular-nums`,transition:`color 0.1s, background 0.1s`,"--hover-color":`var(--text)`},x9={display:`flex`,alignItems:`center`,gap:4},pie={display:`flex`,alignItems:`center`,color:`var(--text)`,fontWeight:500};function mie({sessionStats:e,contextUsage:t,activeTopPanel:n,toggleTopPanel:r,isMobile:i,t:a,locale:o}){let s=e?.tokens,c=e?.cost??0,l=e=>e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}k`:String(e),u=c>0?c>=.01?`$${c.toFixed(2)}`:`<$0.01`:null,d=`var(--text-muted)`,f=null;if(t?.contextWindow){let e=t.percent;e!==null&&e>90?d=`var(--status-error)`:e!==null&&e>70&&(d=`color-mix(in srgb, var(--status-warning) 95%, transparent)`),f=e===null?`? / ${l(t.contextWindow)}`:`${e.toFixed(0)}% / ${l(t.contextWindow)}`}let p=[];s&&(p.push(`in: ${s.input.toLocaleString(o)}`),p.push(`out: ${s.output.toLocaleString(o)}`),p.push(`cache read: ${s.cacheRead.toLocaleString(o)}`),p.push(`cache write: ${s.cacheWrite.toLocaleString(o)}`),c>0&&p.push(`cost: $${c.toFixed(4)}`));let m=s?s.input+s.cacheRead+s.cacheWrite:0,h=s&&m>0?s.cacheRead/m*100:null,g=(e,t)=>e===null?null:(0,T.jsx)(F,{label:`${a(t)} · ${e.toFixed(1)}%`,children:(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-xs)`,padding:`0 4px`,borderRadius:8,border:`1px solid color-mix(in srgb, var(--accent) 45%, transparent)`,background:`color-mix(in srgb, var(--accent) 10%, transparent)`,color:`var(--accent)`},children:[e.toFixed(1),`%`]})});if(t?.contextWindow){let e=t.percent;p.push(`context: ${e===null?`unknown`:`${e.toFixed(1)}%`} of ${t.contextWindow.toLocaleString()} tokens`)}let _=p.join(` | `);return(0,T.jsx)(F,{label:_||a(`session.title`),wrapperStyle:{marginLeft:`auto`,flex:`0 0 auto`},children:(0,T.jsxs)(`button`,{type:`button`,onClick:()=>r(`session`),"aria-label":a(`session.title`),"aria-pressed":n===`session`,style:{...fie,background:n===`session`?`var(--bg-selected)`:`none`,borderTop:n===`session`?`2px solid var(--accent)`:`2px solid transparent`},className:`hover-shift`,children:[i&&(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,T.jsx)(`line`,{x1:`12`,y1:`16`,x2:`12`,y2:`12`}),(0,T.jsx)(`line`,{x1:`12`,y1:`8`,x2:`12.01`,y2:`8`})]}),!i&&s&&s.input>0&&(0,T.jsxs)(`span`,{style:x9,children:[(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{color:`var(--accent)`},children:[(0,T.jsx)(`line`,{x1:`5`,y1:`8.5`,x2:`5`,y2:`1.5`}),(0,T.jsx)(`polyline`,{points:`2 4 5 1.5 8 4`})]}),l(s.input)]}),!i&&s&&s.output>0&&(0,T.jsxs)(`span`,{style:x9,children:[(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{color:`var(--status-info)`},children:[(0,T.jsx)(`line`,{x1:`5`,y1:`1.5`,x2:`5`,y2:`8.5`}),(0,T.jsx)(`polyline`,{points:`2 6 5 8.5 8 6`})]}),l(s.output)]}),!i&&s&&s.cacheRead>0&&(0,T.jsxs)(`span`,{style:x9,children:[(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{color:`var(--status-success)`},children:[(0,T.jsx)(`path`,{d:`M8.5 5a3.5 3.5 0 1 1-1-2.45`}),(0,T.jsx)(`polyline`,{points:`6.5 1.5 8.5 2.5 7.5 4.5`})]}),l(s.cacheRead),g(h,`session.cacheReadRate`)]}),!i&&s&&s.cacheWrite>0&&(0,T.jsxs)(`span`,{style:x9,children:[(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{color:`var(--status-warning)`},children:[(0,T.jsx)(`path`,{d:`M8.5 5a3.5 3.5 0 1 0-1-2.45`}),(0,T.jsx)(`polyline`,{points:`2.5 1.5 4.5 2.5 3.5 4.5`})]}),l(s.cacheWrite)]}),!i&&u&&(0,T.jsx)(`span`,{style:pie,children:u}),f&&(0,T.jsxs)(`span`,{style:{...x9,color:d},children:[(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`path`,{d:`M1 9 L1 5 Q1 1 5 1 Q9 1 9 5 L9 9`}),(0,T.jsx)(`line`,{x1:`1`,y1:`9`,x2:`9`,y2:`9`})]}),f]})]})})}function S9({title:e,rows:t,valueAlign:n=`left`,compact:r=!1}){return(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(`div`,{style:y9,children:e}),(0,T.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:r?`max-content max-content max-content`:`auto minmax(0, 1fr) max-content`,columnGap:r?14:12,rowGap:4,justifyContent:r?`start`:void 0},children:t.map(([t,i,a])=>(0,T.jsxs)(`div`,{style:{display:`contents`},children:[(0,T.jsx)(F,{label:a?.title,wrapperStyle:{display:`flex`,color:`var(--text-dim)`,whiteSpace:`nowrap`},children:(0,T.jsx)(`div`,{style:{color:`var(--text-dim)`,whiteSpace:`nowrap`},children:t})}),(0,T.jsx)(`div`,{style:{color:`var(--text-muted)`,minWidth:0,overflowWrap:r?`normal`:`anywhere`,textAlign:n,whiteSpace:n===`right`?`nowrap`:`normal`},children:i}),(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,minWidth:0},children:a?.badge&&(0,T.jsx)(F,{label:`${a.badgeTitle??``}${a.badgeTitle?` · `:``}${a.badge}`,children:(0,T.jsx)(`span`,{style:{padding:`0 5px`,...aie},children:a.badge})})})]},`${e}:${t}`))})]})}function hie({field:e,value:t,copied:n,onCopy:r,t:i}){return(0,T.jsx)(F,{label:i(n?`session.copied`:e===`file`?`session.copyFile`:`session.copyId`),children:(0,T.jsx)(`button`,{type:`button`,onClick:()=>r(e,t),style:{alignSelf:`start`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,width:22,height:22,marginTop:-2,color:n?`var(--accent)`:`var(--text-dim)`,background:`transparent`,border:`1px solid var(--border)`,borderRadius:4,cursor:`pointer`,flex:`0 0 auto`,transition:`color 0.12s, border-color 0.12s, background 0.12s`,"--hover-color":`var(--accent)`,"--hover-border":`var(--accent)`,"--hover-bg":`var(--bg-hover)`},className:`hover-shift`,children:n?(0,T.jsx)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}):(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`rect`,{x:`9`,y:`9`,width:I.lg,height:I.lg,rx:`2`,ry:`2`}),(0,T.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]})})})}function gie({sessionStats:e,displayContextUsage:t,isMobile:n,locale:r,t:i,copiedSessionField:a,onCopySessionField:o,onMouseEnter:s,onMouseLeave:c}){return e?(0,T.jsxs)(`div`,{onMouseEnter:s,onMouseLeave:c,style:_ie,children:[(0,T.jsx)(yie,{sessionStats:e,locale:r,t:i,copiedSessionField:a,onCopySessionField:o}),(0,T.jsx)(S9,{title:i(`session.messages`),rows:bie(e,r,i)}),(0,T.jsx)(S9,{title:i(`session.tokens`),rows:xie(e,t,r,i),valueAlign:`right`,compact:!0})]}):(0,T.jsx)(`div`,{onMouseEnter:s,onMouseLeave:c,style:{...vie},children:(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,color:`var(--text-muted)`,fontStyle:`italic`},children:i(`session.load`)})})}var _ie={display:`grid`,gridTemplateColumns:`minmax(360px, 1.7fr) minmax(140px, 0.55fr) minmax(190px, 0.75fr)`,gap:24,padding:`12px 16px`,fontSize:`var(--text-base)`,lineHeight:1.5,fontFamily:`var(--font-mono)`},vie={padding:`12px 16px`,...y9};function yie({sessionStats:e,locale:t,t:n,copiedSessionField:r,onCopySessionField:i}){let a=[...e.sessionName?[{label:n(`session.name`),value:e.sessionName,copyField:null}]:[],{label:n(`session.file`),value:e.sessionFile??n(`session.inMemory`),copyField:`file`},{label:n(`session.id`),value:e.sessionId,copyField:`id`}];return(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(`div`,{style:y9,children:n(`session.infoSection`)}),(0,T.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`auto minmax(0, 1fr) auto`,columnGap:12,rowGap:8,alignItems:`start`},children:a.map(e=>(0,T.jsxs)(`div`,{style:{display:`contents`},children:[(0,T.jsx)(`div`,{style:{color:`var(--text-dim)`,whiteSpace:`nowrap`},children:e.label}),(0,T.jsx)(`div`,{style:{color:`var(--text-muted)`,minWidth:0,overflowWrap:`anywhere`,wordBreak:`break-word`,whiteSpace:`normal`},children:e.value}),(0,T.jsx)(`div`,{children:e.copyField?(0,T.jsx)(hie,{field:e.copyField,value:e.value,copied:r===e.copyField,onCopy:i,t:n}):null})]},`session-info:${e.label}`))})]})}function bie(e,t,n){return[[n(`session.user`),e.userMessages.toLocaleString(t)],[n(`session.assistant`),e.assistantMessages.toLocaleString(t)],[n(`session.toolCalls`),e.toolCalls.toLocaleString(t)],[n(`session.toolResults`),e.toolResults.toLocaleString(t)],[n(`session.total`),e.totalMessages.toLocaleString(t)]]}function xie(e,t,n,r){let i=e.tokens.input+e.tokens.cacheRead+e.tokens.cacheWrite,a=e=>`${e.toFixed(1)}%`,o=[[r(`session.input`),e.tokens.input.toLocaleString(n),{title:r(`session.inputHint`)}],[r(`session.output`),e.tokens.output.toLocaleString(n),{title:r(`session.outputHint`)}]];e.tokens.cacheRead>0&&o.push([r(`session.cacheRead`),e.tokens.cacheRead.toLocaleString(n),{title:r(`session.cacheReadHint`),badge:i>0?a(e.tokens.cacheRead/i*100):void 0,badgeTitle:r(`session.cacheReadRate`)}]),e.tokens.cacheWrite>0&&o.push([r(`session.cacheWrite`),e.tokens.cacheWrite.toLocaleString(n),{title:r(`session.cacheWriteHint`)}]),o.push([r(`session.total`),e.tokens.total.toLocaleString(n),{title:r(`session.totalHint`)}]);let s=t??e.contextUsage;return e.cost>0&&o.push([r(`session.cost`),`$${e.cost.toFixed(4)}`]),s?.contextWindow&&o.push([r(`session.context`),`${s.percent===null?`?`:`${s.percent.toFixed(1)}%`} / ${(e=>e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}k`:String(e))(s.contextWindow)}`]),o}function Sie({chatToolbarRef:e,systemBtnRef:t,session:n,sessionStats:r,displayContextUsage:i,activeTopPanel:a,toggleTopPanel:o,closeTopPanel:s,systemPrompt:c,copiedSessionField:l,toolbarExtra:u,handleViewFullHistory:d,handleAutoNameRenamed:f,handleCopySessionField:p,handleBuiltinSlashCommand:m,tree:h,activeLeafId:g,handleLeafChange:_,handleSearchJump:v,scheduleCloseTopPanel:y,cancelCloseTopPanel:b,commandBusy:x,messages:S,isMobile:C,locale:w,t:E}){return(0,T.jsxs)(`div`,{ref:e,"data-testid":`chat-toolbar`,style:iie,children:[(0,T.jsx)(F,{label:E(n?`history.full`:`history.unsaved`),children:(0,T.jsx)(`button`,{onClick:d,disabled:!n,"aria-label":E(`history.full`),style:{..._9,color:n?`var(--text-muted)`:`var(--text-dim)`,cursor:n?`pointer`:`not-allowed`,opacity:n?1:.45},className:n?`hover-shift`:void 0,children:(0,T.jsx)(On,{size:I.base,style:v9})})}),(0,T.jsx)(cie,{session:n,hasMessages:!!(n&&(r?.userMessages??n.messageCount)>0),onRenamed:f,onStart:s}),(0,T.jsx)(F,{label:E(`i18n.branches`),children:(0,T.jsx)($re,{tree:h,activeLeafId:g,onLeafChange:_,inline:!0,compact:!0,containerRef:e,open:a===`branches`,onToggle:()=>o(`branches`),hasSession:!0})}),(0,T.jsx)(F,{label:E(`system.prompt`),children:(0,T.jsx)(`button`,{ref:t,onClick:()=>o(`system`),"aria-label":E(`system.prompt`),"aria-pressed":a===`system`,style:{..._9,background:a===`system`?`var(--bg-selected)`:`transparent`,borderColor:a===`system`?`var(--accent)`:`var(--border)`,cursor:`pointer`,color:a===`system`?`var(--text)`:`var(--text-muted)`,"--hover-color":`var(--text)`},className:`hover-shift`,children:(0,T.jsx)(on,{size:I.base,style:v9})})}),(0,T.jsx)(F,{label:E(`session.reload`),children:(0,T.jsx)(`button`,{type:`button`,"data-testid":`chat-toolbar-reload`,onClick:()=>void m(`/reload`),"aria-label":E(`session.reload`),style:{..._9,background:`transparent`,borderColor:`var(--border)`,cursor:`pointer`,color:`var(--text-muted)`,"--hover-color":`var(--text)`},className:`hover-shift`,children:x?(0,T.jsx)(vn,{className:`animate-spin`,size:I.base,style:v9}):(0,T.jsx)(Dn,{size:I.base,style:v9})})}),(0,T.jsx)(`div`,{style:{marginLeft:8,display:`flex`,alignItems:`center`,flex:1,minWidth:0},children:(0,T.jsx)(tie,{messages:S,t:E,onJump:v})}),r||i?(0,T.jsx)(mie,{sessionStats:r,contextUsage:i,activeTopPanel:a,toggleTopPanel:o,isMobile:C,t:E,locale:w}):null,u,a===`system`&&(0,T.jsx)(`div`,{onMouseEnter:b,onMouseLeave:y,style:rie,children:c?(0,T.jsx)(`div`,{style:{padding:`12px 16px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.6,whiteSpace:`pre-wrap`,fontFamily:`var(--font-mono)`},children:c}):c===``?(0,T.jsx)(`div`,{style:b9,children:E(`system.empty`)}):(0,T.jsx)(`div`,{style:b9,children:E(`system.load`)})}),a===`session`&&(0,T.jsx)(gie,{sessionStats:r,displayContextUsage:i,isMobile:C,locale:w,t:E,copiedSessionField:l,onCopySessionField:p,onMouseEnter:b,onMouseLeave:y})]})}function Cie({show:e}){return e?(0,T.jsxs)(`div`,{className:`pointer-events-none absolute inset-0 z-50 flex animate-[drop-zone-in_0.15s_ease_both] items-center justify-center bg-[color-mix(in_srgb,var(--accent)_6%,transparent)] backdrop-blur-[1px]`,children:[(0,T.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:[0,.8,1.6].map(e=>(0,T.jsx)(`div`,{className:`absolute h-[720px] w-[720px] rounded-full border-[1.5px] border-solid border-[color-mix(in_srgb,var(--accent)_50%,transparent)] animate-[drop-ripple_2.4s_ease-out_infinite_backwards]`,style:{transformOrigin:`center`,animationDelay:`${e}s`}},e))}),(0,T.jsxs)(`svg`,{width:`280`,height:`280`,viewBox:`0 0 140 140`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:`drop-shadow-[0_6px_18px_var(--accent-glow)]`,children:[(0,T.jsx)(`rect`,{x:`28`,y:`44`,width:`84`,height:`60`,rx:`8`,fill:`color-mix(in srgb, var(--accent) 8%, transparent)`,stroke:`color-mix(in srgb, var(--accent) 50%, transparent)`,strokeWidth:`1.8`}),(0,T.jsx)(`path`,{d:`M36 100 L54 72 L68 88 L80 74 L104 100Z`,fill:`color-mix(in srgb, var(--accent) 16%, transparent)`,stroke:`color-mix(in srgb, var(--accent) 40%, transparent)`,strokeWidth:`1.4`,strokeLinejoin:`round`}),(0,T.jsx)(`circle`,{cx:`96`,cy:`58`,r:`8`,fill:`color-mix(in srgb, var(--accent) 22%, transparent)`,stroke:`color-mix(in srgb, var(--accent) 55%, transparent)`,strokeWidth:`1.6`}),(0,T.jsxs)(`g`,{stroke:`color-mix(in srgb, var(--accent) 45%, transparent)`,strokeWidth:`1.4`,strokeLinecap:`round`,children:[(0,T.jsx)(`line`,{x1:`96`,y1:`46`,x2:`96`,y2:`43`}),(0,T.jsx)(`line`,{x1:`96`,y1:`70`,x2:`96`,y2:`73`}),(0,T.jsx)(`line`,{x1:`84`,y1:`58`,x2:`81`,y2:`58`}),(0,T.jsx)(`line`,{x1:`108`,y1:`58`,x2:`111`,y2:`58`}),(0,T.jsx)(`line`,{x1:`87.5`,y1:`49.5`,x2:`85.4`,y2:`47.4`}),(0,T.jsx)(`line`,{x1:`104.5`,y1:`66.5`,x2:`106.6`,y2:`68.6`}),(0,T.jsx)(`line`,{x1:`104.5`,y1:`49.5`,x2:`106.6`,y2:`47.4`}),(0,T.jsx)(`line`,{x1:`87.5`,y1:`66.5`,x2:`85.4`,y2:`68.6`})]})]})]}):null}var wie={ArrowUp:`\x1B[A`,ArrowDown:`\x1B[B`,ArrowRight:`\x1B[C`,ArrowLeft:`\x1B[D`,Home:`\x1B[H`,End:`\x1B[F`,Insert:`\x1B[2~`,Delete:`\x1B[3~`,PageUp:`\x1B[5~`,PageDown:`\x1B[6~`,Escape:`\x1B`,Backspace:``},Tie={ArrowLeft:`\x1Bb`,ArrowRight:`\x1Bf`,ArrowUp:`\x1Bp`,ArrowDown:`\x1Bn`};function Eie(e){if(e.length!==1)return null;let t=e.toUpperCase().charCodeAt(0);return t>=64&&t<=95?String.fromCharCode(t&31):e===`?`?``:null}function Die(e){if(e.metaKey||e.ctrlKey&&!e.altKey&&e.key.toLowerCase()===`v`)return null;if(e.ctrlKey&&!e.altKey){let t=Eie(e.key);if(t)return t}if(e.altKey&&!e.ctrlKey){if(e.key===`Backspace`)return`\x1B`;let t=Tie[e.key];if(t)return t;if(e.key.length===1)return`\x1b${e.key}`}return e.key===`Enter`?e.shiftKey?`
492
- `:`\r`:e.key===`Tab`?e.shiftKey?`\x1B[Z`:` `:wie[e.key]??null}function Oie(e){return`\x1b[200~${e}\x1b[201~`}function kie(e,t){return GY(e).map((e,n)=>Object.keys(e.style).length>0?(0,T.jsx)(`span`,{style:e.style,children:e.text},`${t}-${n}`):e.text)}function Aie({request:e,onInput:t}){let{t:n}=M(),r=(0,d.useRef)(null),i=(0,d.useRef)(!1),a=HY(e.lines);return(0,d.useEffect)(()=>{r.current?.focus()},[e.id]),(0,T.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:95,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:20,background:`rgba(0,0,0,0.18)`},children:(0,T.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,onClick:e=>{e.target.closest(`button`)||r.current?.focus()},style:{position:`relative`,width:`min(920px, 100%)`,maxHeight:`min(760px, calc(100vh - 40px))`,border:`1px solid var(--border)`,borderRadius:8,background:`var(--bg)`,boxShadow:`0 20px 60px var(--shadow-strong)`,overflow:`hidden`,outline:`none`},children:[(0,T.jsx)(`textarea`,{ref:r,"aria-label":n(`chat.extensionInput`),autoCapitalize:`off`,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,onKeyDown:n=>{if(i.current||n.nativeEvent.isComposing)return;let r=Die(n);r&&(n.preventDefault(),n.stopPropagation(),t(e,r))},onInput:n=>{if(i.current||n.nativeEvent.isComposing)return;let r=n.currentTarget.value;n.currentTarget.value=``,r&&t(e,r)},onCompositionStart:()=>{i.current=!0},onCompositionEnd:n=>{i.current=!1;let r=n.currentTarget;queueMicrotask(()=>{let n=r.value;r.value=``,n&&t(e,n)})},onPaste:n=>{n.preventDefault();let r=n.clipboardData.getData(`text`);r&&t(e,Oie(r))},style:{position:`absolute`,width:1,height:1,padding:0,border:0,opacity:0,pointerEvents:`none`}}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:12,padding:`10px 12px`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(`div`,{style:{color:`var(--text)`,fontSize:`var(--text-lg)`,fontWeight:650},children:n(`chat.extensionPanel`)}),(0,T.jsx)(`button`,{onClick:()=>t(e,``),style:{padding:`5px 9px`,borderRadius:6,border:`1px solid var(--border)`,background:`var(--bg-panel)`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-base)`},children:n(`chat.close`)})]}),(0,T.jsx)(`pre`,{style:{margin:0,padding:14,maxHeight:`calc(min(760px, 100vh - 40px) - 48px)`,overflow:`auto`,background:`var(--bg-panel)`,color:`var(--text)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-lg)`,lineHeight:1.45,whiteSpace:`pre`},children:(a.length?a:[``]).map((e,t,n)=>(0,T.jsxs)(d.Fragment,{children:[kie(e,`line-${t}`),t<n.length-1?`
493
- `:null]},t))})]})})}function jie({request:e,onRespond:t}){let{t:n}=M(),[r,i]=(0,d.useState)(e.method===`editor`?e.prefill??``:``),[a,o]=(0,d.useState)(()=>Date.now());(0,d.useEffect)(()=>{i(e.method===`editor`?e.prefill??``:``),o(Date.now())},[e]),(0,d.useEffect)(()=>{if(!e.expiresAt)return;let t=setInterval(()=>{document.hidden||o(Date.now())},1e3),n=()=>{document.hidden||o(Date.now())};return document.addEventListener(`visibilitychange`,n),()=>{clearInterval(t),document.removeEventListener(`visibilitychange`,n)}},[e.expiresAt]);let s=e.expiresAt?Math.max(0,Math.ceil((e.expiresAt-a)/1e3)):null;(0,d.useEffect)(()=>{s===0&&t(e,{cancelled:!0})},[s===0,e.id]);let c=()=>{e.method===`confirm`?t(e,{confirmed:!0}):t(e,{value:r})},l=e.method===`select`?n(`chat.extensionSelect`):e.method===`confirm`?n(`chat.extensionConfirm`):e.method===`editor`?n(`chat.extensionEditor`):n(`chat.extensionInput`);return(0,T.jsxs)(c9,{testId:`extension-dialog`,flashHeader:!0,title:(0,T.jsxs)(T.Fragment,{children:[l,s!==null&&(0,T.jsxs)(`span`,{style:{color:`var(--text-muted)`,marginLeft:6,fontVariantNumeric:`tabular-nums`},children:[`(`,s,`s)`]})]}),subtitle:n(`chat.extensionRequest`),maxWidth:Math.round(window.innerWidth*.6),footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{onClick:()=>t(e,{cancelled:!0}),style:{padding:`6px 10px`,borderRadius:6,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,cursor:`pointer`},children:n(`chat.cancel`)}),e.method===`confirm`?(0,T.jsx)(`button`,{onClick:c,style:{padding:`6px 10px`,borderRadius:6,border:`1px solid var(--accent)`,background:`var(--accent)`,color:`var(--on-accent)`,cursor:`pointer`},children:n(`chat.confirm`)}):e.method===`select`?null:(0,T.jsx)(`button`,{onClick:c,style:{padding:`6px 10px`,borderRadius:6,border:`1px solid var(--accent)`,background:`var(--accent)`,color:`var(--on-accent)`,cursor:`pointer`},children:n(`chat.submit`)})]}),children:[(0,T.jsx)(`div`,{style:{marginBottom:12,padding:`9px 10px`,borderRadius:7,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text)`,fontSize:`var(--text-lg)`,lineHeight:1.6,whiteSpace:`pre-wrap`,maxHeight:360,overflowY:`auto`},children:e.title}),`Notification`in window&&Notification.permission===`denied`&&(0,T.jsx)(`div`,{style:{marginBottom:10,padding:`7px 10px`,borderRadius:7,border:`1px solid var(--border-warning, var(--border))`,background:`var(--bg-panel)`,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,lineHeight:1.5},children:n(`chat.questionNotificationDenied`)}),e.method===`confirm`&&(0,T.jsx)(`div`,{style:{color:`var(--text-muted)`,fontSize:`var(--text-lg)`,lineHeight:1.6,whiteSpace:`pre-wrap`},children:e.message}),e.method===`select`&&(0,T.jsx)(`div`,{style:{display:`flex`,flexWrap:`wrap`,gap:8},children:e.options.map(n=>(0,T.jsx)(`button`,{onClick:()=>t(e,{value:n}),style:{flex:`1 1 auto`,padding:`9px 10px`,borderRadius:7,border:`1px solid var(--border)`,background:`var(--bg-panel)`,color:`var(--text)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-lg)`},children:n},n))}),e.method===`input`&&(0,T.jsx)(`input`,{autoFocus:!0,value:r,placeholder:e.placeholder,onChange:e=>i(e.target.value),onKeyDown:n=>{n.key===`Enter`&&c(),n.key===`Escape`&&t(e,{cancelled:!0})},style:{width:`100%`,padding:`9px 10px`,borderRadius:7,border:`1px solid var(--border)`,background:`var(--bg-panel)`,color:`var(--text)`,outline:`none`,fontSize:`var(--text-2xl)`}}),e.method===`editor`&&(0,T.jsx)(`textarea`,{autoFocus:!0,value:r,onChange:e=>i(e.target.value),onKeyDown:n=>{n.key===`Escape`&&t(e,{cancelled:!0}),(n.metaKey||n.ctrlKey)&&n.key===`Enter`&&c()},style:{width:`100%`,minHeight:220,padding:10,borderRadius:7,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text)`,outline:`none`,resize:`vertical`,fontSize:`var(--text-2xl)`,lineHeight:1.55,fontFamily:`var(--font-mono)`}})]},e.id)}function Mie({notifyPermission:e,newSessionCwd:t,startScreenMessages:n,handleQuickMessageSend:r,fillChatInput:i,notices:a,chatInputElement:o,t:s}){return(0,T.jsx)(`div`,{className:`relative flex flex-1 flex-col items-center justify-center overflow-y-auto px-4 py-8`,children:(0,T.jsxs)(`div`,{className:`w-full max-w-[820px]`,children:[(0,T.jsxs)(`div`,{className:`mb-3`,style:{textAlign:`center`,padding:`40px 0`},children:[e==="default"?(0,T.jsxs)(`div`,{style:{marginBottom:20,fontSize:`var(--text-sm)`,color:`var(--text-muted)`,lineHeight:1.6},children:[s(`notify.permission.bannerHintBefore`),` `,(0,T.jsxs)(`svg`,{width:16,height:16,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--accent)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{display:`inline-block`,verticalAlign:-2},children:[(0,T.jsx)(`path`,{d:`M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9`}),(0,T.jsx)(`path`,{d:`M10.3 21a1.94 1.94 0 0 0 3.4 0`})]}),` `,s(`notify.permission.bannerHintAfter`)]}):null,(0,T.jsx)(`div`,{style:{fontSize:`var(--text-6xl)`,fontWeight:700,fontStyle:`italic`,color:`var(--accent)`},children:`Pi Web`}),t?(0,T.jsx)(`div`,{style:{marginTop:6,fontSize:`var(--text-3xl)`,color:`var(--text-muted)`,fontFamily:`var(--font-mono)`},children:t}):null]}),n.length>0&&(0,T.jsx)(`div`,{style:{marginBottom:28},children:(0,T.jsx)(B7,{messages:n,onSend:r,onFillInput:i,testIdPrefix:`start-screen-msg`,wrapperTestId:`start-screen-messages`,center:!0})}),(0,T.jsx)(`div`,{style:{position:`absolute`,top:12,left:0,right:0,zIndex:40,padding:`0 16px`,pointerEvents:`none`},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`},children:(0,T.jsx)(l9,{notices:a,floating:!0,align:`right`})})}),o]})})}function C9(e){return e>=1e6?`${(e/1e6).toPrecision(3)}M`:e>=1e3?`${(e/1e3).toPrecision(3)}K`:String(e)}function Nie({sessionBusy:e,extensionDialogOpen:t,agentPhase:n,isStreaming:r,messages:i,windowTitleBase:a,busyElapsed:o}){let s=(0,d.useRef)(``);(0,d.useEffect)(()=>{let c=()=>{if(document.hasFocus())return;let c=a?` · ${a}`:``,l;if(t)l=`❓`;else if(e){let e=o??``;if(n?.kind===`running_tools`)l=`🔧 ${e}`.trimEnd();else if(n?.kind===`running_command`)l=`💻 ${e}`.trimEnd();else if(n?.kind===`thinking`)l=`💡 ${e}`.trimEnd();else if(n?.kind===`waiting_model`&&r){let e=[...i].reverse().find(e=>e.role===`assistant`),t=e&&e.role===`assistant`?e.usage:void 0;l=`⬇ ${C9(t?.input??0)}↑ ${C9(t?.output??0)}↓`}else l=`⏳ ${e}`.trimEnd()}else{let e;for(let t=i.length-1;t>=0;t--){let n=i[t];if(!(n.role!==`assistant`||!n.timestamp)){for(let r=t-1;r>=0;r--){let t=i[r];if(t.role===`user`&&t.timestamp){let r=Math.round((n.timestamp-t.timestamp)/1e3);r>0&&(e=r);break}}break}}if(e===void 0)return;l=`✅ ${EX(e)}`}let u=`${l}${c}`;u!==s.current&&(s.current=u,document.title=u)};c();let l=()=>{document.visibilityState===`hidden`&&c()};return document.addEventListener(`visibilitychange`,l),window.addEventListener(`blur`,c),()=>{document.removeEventListener(`visibilitychange`,l),window.removeEventListener(`blur`,c)}},[n,r,o,i,e,a,t]);let c=(0,d.useRef)(null);(0,d.useEffect)(()=>{e?c.current===null&&(c.current=Date.now()):c.current=null},[e]),(0,d.useEffect)(()=>{if(!e&&!t)return;let l=()=>{if(!document.hidden||document.hasFocus())return;let l=a?` · ${a}`:``,u;if(t)u=`❓`;else if(e){let e=c.current?EX((Date.now()-c.current)/1e3):o??``;if(n?.kind===`running_tools`)u=`🔧 ${e}`.trimEnd();else if(n?.kind===`running_command`)u=`💻 ${e}`.trimEnd();else if(n?.kind===`thinking`)u=`💡 ${e}`.trimEnd();else if(n?.kind===`waiting_model`&&r){let e=[...i].reverse().find(e=>e.role===`assistant`),t=e&&e.role===`assistant`?e.usage:void 0;u=`⬇ ${C9(t?.input??0)}↑ ${C9(t?.output??0)}↓`}else u=`⏳ ${e}`.trimEnd()}else return;let d=`${u}${l}`;d!==s.current&&(s.current=d,document.title=d)},u=setInterval(l,1e3);return document.addEventListener(`visibilitychange`,l),()=>{clearInterval(u),document.removeEventListener(`visibilitychange`,l)}},[e,t,n,r,i,a,o])}function Pie({sessionBusy:e,handleSteer:t,handlePromptWithStreamingBehavior:n,handleSend:r,onSessionRenamed:i,setSessionStatsOverride:a,handleBuiltinSlashCommand:o,toggleTopPanel:s}){return{handleQuickMessageSend:(0,d.useCallback)(i=>{e?i.startsWith(`/`)?n(i,`steer`):t(i):r(i)},[e,t,n,r]),handleAutoNameRenamed:(0,d.useCallback)((e,t)=>{i?.(e,t),a(n=>n?.sessionId===e?{...n,sessionName:t}:n)},[i,a]),wrappedHandleBuiltinSlashCommand:(0,d.useCallback)(async e=>{let t=await o(e);return t.handled&&t.action===`openSessionStats`&&s(`session`),t},[o,s])}}function Fie({playDoneSound:e,soundEnabled:t,onAgentEnd:n}){let r=(0,d.useRef)(e);(0,d.useEffect)(()=>{r.current=e});let i=(0,d.useRef)(t);(0,d.useEffect)(()=>{i.current=t});let a=(0,d.useRef)(null);return{wrappedOnAgentEnd:(0,d.useCallback)(()=>{i.current&&r.current(),n?.()},[n]),soundedExtensionDialogIdRef:a,playDoneSoundRef:r}}function Iie({scrollContainerRef:e}){let t=(0,d.useRef)(new Map),n=(0,d.useRef)(new Map),r=(0,d.useRef)(null),[i,a]=(0,d.useState)(!0),o=(0,d.useRef)(!0),s=(0,d.useRef)(0),c=(0,d.useCallback)(t=>{let n=e.current;n&&(n.scrollTop=t)},[e]),l=(0,d.useCallback)(()=>{let t=e.current;t&&(t.scrollTop=t.scrollHeight),o.current=!0,a(!0)},[e]),u=(0,d.useCallback)(()=>{let t=e.current;if(!t)return;let n=t.scrollHeight-t.scrollTop-t.clientHeight;if(o.current&&n>0&&t.scrollHeight!==s.current){s.current=t.scrollHeight,t.scrollTop=t.scrollHeight;return}n<16?(o.current=!0,a(!0)):n>64&&(o.current=!1,a(!1)),s.current=t.scrollHeight},[e]),f=(0,d.useRef)(new Map),p=(0,d.useCallback)((r,i)=>{f.current.set(r,i);let a=n.current.get(r);return a||(a=n=>{if(f.current.get(r)?.(n),!n){t.current.get(r)?.disconnect(),t.current.delete(r),f.current.delete(r);return}let i=t.current.get(r);i?i.disconnect():(i=new ResizeObserver(()=>{document.hidden||o.current&&requestAnimationFrame(()=>{if(document.hidden)return;let t=e.current;t&&o.current&&(t.scrollTop=t.scrollHeight)})}),t.current.set(r,i)),i.observe(n)},n.current.set(r,a)),a},[e]),m=(0,d.useCallback)(()=>{t.current.forEach(e=>e.disconnect()),t.current.clear(),n.current.clear(),f.current.clear()},[]);return(0,d.useEffect)(()=>()=>m(),[m]),(0,d.useEffect)(()=>{let t=e.current;if(!t)return;let n=new ResizeObserver(()=>{document.hidden||o.current&&requestAnimationFrame(()=>{if(document.hidden)return;let t=e.current;t&&o.current&&(t.scrollTop=t.scrollHeight)})});return n.observe(t),()=>n.disconnect()},[e]),{nearBottom:i,virtualizerRef:r,scrollToBottom:l,handleListScroll:u,handleWindowJumpTo:c,itemRef:p,resetItemObservers:m,isPinnedToBottom:(0,d.useCallback)(()=>o.current,[])}}function Lie({autoReloadSeconds:e,activeLeafId:t,loadContext:n,sessionIdRef:r,extensionDialog:i,onExtensionDialogChange:a,sessionBusy:o,handleAbort:s}){let c=(0,d.useCallback)(()=>{let e=r.current;e&&n(e,t,!0)},[t,n,r]);return(0,d.useEffect)(()=>{if(!e||e<=0)return;let i=setInterval(()=>{let e=r.current;e&&n(e,t,!0)},e*1e3);return()=>clearInterval(i)},[e,t,n,r]),(0,d.useEffect)(()=>{a?.(i!==null)},[i,a]),(0,d.useEffect)(()=>{Qq()},[]),(0,d.useEffect)(()=>{ie(o?s:null)},[o,s]),{handleReloadFromDisk:c}}function Rie({session:e}){let[t,n]=(0,d.useState)(null),r=tx(),i=(0,d.useRef)(null),a=(0,d.useRef)(null),{activeTopPanel:o,toggleTopPanel:s,closeTopPanel:c}=IK(),l=tx(),u=(0,d.useCallback)(()=>{l.schedule(()=>{c()},150)},[l,c]),f=l.cancel;(0,d.useEffect)(()=>{n(null)},[e?.id]);let p=(0,d.useCallback)(()=>{e&&window.open(`/api/sessions/${encodeURIComponent(e.id)}/export?inline=1`,`_blank`,`noopener,noreferrer`)},[e]);return{activeTopPanel:o,cancelCloseTopPanel:f,chatToolbarRef:i,closeTopPanel:c,copiedSessionField:t,handleCopySessionField:(0,d.useCallback)((e,t)=>{cK(t).then(()=>{r.cancel(),n(e),r.schedule(()=>n(null),1400)})},[r]),handleViewFullHistory:p,scheduleCloseTopPanel:u,systemBtnRef:a,toggleTopPanel:s}}function w9(e){return e.role===`user`?96:e.role===`assistant`?260:120}function zie(e){return e.role===`assistant`&&yQ(e).answerBlocks.some(e=>e.type===`image`||e.type===`text`&&e.text.trim().length>0)}function Bie(e,t,n){for(let r=n-1;r>t;r--)if(zie(e[r]))return r;for(let r=n-1;r>t;r--)if(e[r]?.role===`assistant`)return r;return-1}function Vie(e,t){let n=0;for(let r of t){let t=e[r];t?.role===`assistant`&&(n+=bQ(gQ(t)))}return n}function Hie(e){return e.role===`assistant`?gQ(e).length>0:e.role===`custom`}function T9(e){return e.role===`user`||e.role===`custom`&&e.customType===`compaction`}function E9(e,t,n={}){let r={...e,content:t};return n.omitUsage&&(r.usage=void 0),r}function Uie(e,t){let{isLiveTail:n,lastAnchorIdx:r,visibleRefIndexByMessage:i}=t,a=[],o=(t,n={})=>{a.push({key:`message-${t}`,kind:`message`,msgIdx:t,estimate:w9(e[t]),...n})};for(let t=0;t<e.length;){let s=e[t];if(!T9(s)){o(t),t+=1;continue}let c=t,l=c+1;for(;l<e.length&&!T9(e[l]);)l+=1;let u=Bie(e,c,l);if(u===-1||n&&l===e.length&&c===r){for(let e=c;e<l;e++)o(e);t=l;continue}o(c);let d=[];for(let e=c+1;e<u;e++)d.push(e);let f=d.filter(t=>Hie(e[t])),p=e[u],m=yQ(p),h=m.processBlocks.length>0?E9(p,m.processBlocks,{omitUsage:!0}):null,g=m.answerBlocks.length>0||_Q(p)?E9(p,m.answerBlocks):null,_=f.length+ +!!h;if(_>0){let t=f.map(e=>i.get(e)).find(e=>typeof e==`number`)??(g?void 0:i.get(u));a.push({key:`group-header-${c}-${u}`,kind:`groupHeader`,groupUserIdx:c,finalAssistantIdx:u,messageCount:_,toolCallCount:Vie(e,f)+bQ(m.processBlocks),processRefIdx:t,estimate:40}),f.forEach((e,t)=>{o(e,{isProcess:!0,attachRef:!1,groupLast:!h&&t===f.length-1})}),h&&o(u,{isProcessFinal:!0,attachRef:!1,messageOverride:h,showTimestamp:!1,groupLast:!0})}g&&a.push({key:`message-${u}-answer`,kind:`message`,msgIdx:u,estimate:w9(e[u]),messageOverride:g,isAnswer:!0});for(let e=u+1;e<l;e++)o(e);t=l}return a}function Wie(e){let t=new Map;return e.forEach((e,n)=>{e.kind===`message`&&t.set(e.msgIdx,n)}),t}function Gie({messages:e,sessionBusy:t,isStreaming:n,virtualizerRef:r,scrollContainerRef:i,canMountList:a,setCanMountList:o,initialSizesRef:s}){let c=(0,d.useMemo)(()=>{let t=new Set,n=[];for(let r=e.length-1;r>=0;--r){let i=lie(e[r]);if(!(!i||t.has(i))&&(t.add(i),n.push(i),n.length>=50))break}return n.reverse()},[e]),l=(0,d.useMemo)(()=>{for(let t=e.length-1;t>=0;t--)if(T9(e[t]))return t;return-1},[e]),u=(0,d.useMemo)(()=>{let t=new Map,n=0;return e.forEach((e,r)=>{(e.role===`user`||e.role===`assistant`)&&t.set(r,n++)}),t},[e]),f=(0,d.useMemo)(()=>Uie(e,{isLiveTail:(t||n)&&l>=0,lastAnchorIdx:l,visibleRefIndexByMessage:u}),[e,t,n,l,u]),p=(0,d.useMemo)(()=>Wie(f),[f]),m=(0,d.useCallback)(e=>{let t=p.get(e);if(t===void 0)return null;let n=r.current;return n?n.getItemOffset(t):null},[p,r]),h=a&&s.current?[s.current,200]:void 0;(0,d.useLayoutEffect)(()=>{a||f.length!==0&&i.current&&(s.current=f.map(e=>e.estimate),o(!0))},[a,f,i,o,s]);let[g,_]=(0,d.useState)(null),v=(0,d.useRef)(null);return{inputHistory:c,rows:f,visibleRefIndexByMessage:u,initialCache:h,resolveMessageOffset:m,handleSearchJump:(0,d.useCallback)(e=>{let t=p.get(e);if(t===void 0)return;let n=r.current;if(!n)return;n.scrollToIndex(t,{align:`start`,offset:-24,smooth:!0});let i=f[t].key;_(i),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=null,_(e=>e===i?null:e)},1700)},[f,p,r]),flashKey:g}}function Kie({widget:e,saved:t,messages:n,defaultOffset:r,onCloseWidget:i,setWidgetGeometry:a,onSend:o,fillChatInput:s,portalTarget:c}){let{t:l}=M(),[u,f]=(0,d.useState)(!1),[p,m]=(0,d.useState)(null),h=(0,d.useRef)(null),g=(0,d.useCallback)(t=>{if(u)return;let n=()=>i(e.key,e.lines.join(`
490
+ `);if(e.role===`bashExecution`){let t=e;return`${t.command}\n${t.output??``}`}return``}var h9=100,g9=44;function iie({messages:e,t,onJump:n}){let[r,i]=(0,d.useState)(``),[a,o]=(0,d.useState)(0),s=(0,d.useRef)(null),c=(0,d.useRef)(null),l=(0,d.useMemo)(()=>e.map((e,t)=>({msgIdx:t,role:e.role,text:rie(e)})),[e]),u=(0,d.useMemo)(()=>{let e=r.trim().toLowerCase();if(!e)return[];let t=[];for(let{msgIdx:n,role:r,text:i}of l){let a=0,o=i.toLowerCase().indexOf(e,a);for(;o!==-1&&t.length<h9;)t.push({msgIdx:n,role:r,text:i,start:o}),a=o+1,o=i.toLowerCase().indexOf(e,a);if(t.length>=h9)break}return t},[l,r]);ir(()=>o(e=>Math.min(e,Math.max(0,u.length-1))),[u.length]);let f=(0,d.useCallback)(e=>{let t=u[e];t&&(n(t.msgIdx),o(e))},[u,n]),p=(0,d.useCallback)(e=>{if(u.length!==0){if(e.key===`Enter`){e.preventDefault();let t=e.shiftKey?-1:1,n=(a+t+u.length)%u.length;f(n)}else e.key===`ArrowDown`?(e.preventDefault(),f(Math.min(a+1,u.length-1))):e.key===`ArrowUp`&&(e.preventDefault(),f(Math.max(a-1,0)))}},[a,f,u.length]);return(0,d.useEffect)(()=>{(c.current?.children[a])?.scrollIntoView({block:`nearest`})},[a]),(0,T.jsxs)(`div`,{style:{position:`relative`,flex:`1 1 0`,minWidth:0,maxWidth:2040},"data-testid":`search-box`,children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:4,padding:`0 6px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:6,height:30,boxSizing:`border-box`},children:[(0,T.jsx)(jn,{size:I.xl,color:`var(--text-muted)`,style:{flexShrink:0}}),(0,T.jsx)(`input`,{ref:s,value:r,onChange:e=>i(e.target.value),onKeyDown:p,placeholder:t(`chat.searchPlaceholder`),style:{flex:1,minWidth:0,background:`transparent`,border:`none`,outline:`none`,color:`var(--text)`,fontSize:`var(--text-sm)`}}),r&&(0,T.jsx)(`button`,{type:`button`,onClick:()=>{i(``),s.current?.focus()},"aria-label":t(`chat.clearSearch`),style:{border:`none`,background:`transparent`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0,padding:0},children:`✕`})]}),r.trim()&&(0,T.jsx)(`div`,{ref:c,style:{position:`absolute`,top:`calc(100% + 6px)`,left:0,right:0,maxHeight:`min(55vh, 480px)`,overflowY:`auto`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 8px 24px var(--shadow-color)`,zIndex:60},children:u.length===0?(0,T.jsx)(`div`,{style:{padding:`10px 12px`,fontSize:`var(--text-base)`,color:`var(--text-muted)`},children:t(`chat.searchNoResults`)}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{style:{padding:`6px 12px`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,borderBottom:`1px solid var(--border)`},children:t(`chat.searchResults`,{count:u.length})}),u.map((e,t)=>{let n=r.trim(),i=Math.max(0,e.start-g9),o=Math.min(e.text.length,e.start+n.length+g9),s=i>0?`…`:``,c=o<e.text.length?`…`:``,l=`${s}${e.text.slice(i,o)}${c}`;return(0,T.jsxs)(`button`,{type:`button`,onClick:()=>f(t),"data-testid":`search-result`,style:{display:`block`,width:`100%`,textAlign:`left`,padding:`8px 12px`,border:`none`,borderBottom:`1px solid var(--border)`,background:t===a?`var(--bg-selected)`:`transparent`,color:`var(--text)`,cursor:`pointer`,fontSize:`var(--text-base)`,lineHeight:1.5},children:[(0,T.jsxs)(`span`,{style:{color:`var(--text-dim)`,marginRight:6,fontSize:`var(--text-sm)`},children:[`#`,e.msgIdx]}),(0,T.jsx)(`span`,{children:aie(l,n)})]},`${e.msgIdx}-${e.start}`)})]})})]})}function aie(e,t){let n=[],r=e,i=0;for(;r.length>0;){let e=r.toLowerCase().indexOf(t.toLowerCase());if(e===-1){n.push(r);break}e>0&&n.push(r.slice(0,e)),n.push((0,T.jsx)(`mark`,{children:r.slice(e,e+t.length)},i++)),r=r.slice(e+t.length)}return n}var oie={position:`absolute`,top:`100%`,left:0,right:0,zIndex:1500,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,boxShadow:`0 10px 28px var(--shadow-color)`,maxHeight:`calc(100dvh - 80px)`,overflowY:`auto`},sie={position:`relative`,display:`flex`,alignItems:`stretch`,flexShrink:0,width:`100%`,minWidth:0,height:36,gap:4,paddingLeft:4,paddingRight:4,borderBottom:`1px solid var(--border)`,background:`var(--bg)`},_9={display:`flex`,alignItems:`center`,justifyContent:`center`,alignSelf:`center`,width:32,height:32,padding:0,background:`transparent`,border:`1px solid var(--border)`,borderRadius:7,color:`var(--text-muted)`,flexShrink:0,cursor:`pointer`,transition:`color 0.12s, background 0.12s, border-color 0.12s`,"--hover-color":`var(--text)`,"--hover-bg":`var(--bg-selected)`,"--hover-border":`color-mix(in srgb, var(--accent) 35%, transparent)`},v9={flexShrink:0},y9={fontSize:`var(--text-sm)`,fontWeight:700,color:`var(--text)`,marginBottom:6},cie={fontSize:`var(--text-xs)`,borderRadius:8,border:`1px solid color-mix(in srgb, var(--accent) 45%, transparent)`,background:`color-mix(in srgb, var(--accent) 10%, transparent)`,color:`var(--accent)`,whiteSpace:`nowrap`};function lie(e,t){switch(e){case`naming`:return t(`title.generating`);case`success`:return t(`title.updated`);case`error`:return t(`title.failed`);default:return t(`title.generate`)}}function uie(e,t,n,r){return t?n?e.kind===`error`?e.message:r(`title.generateSession`):r(`title.noMessages`):r(`title.unsaved`)}function die({session:e,hasMessages:t,onRenamed:n,onStart:r}){let{t:i}=M(),[a,o]=(0,d.useState)({kind:`idle`}),s=tx(),c=(0,d.useRef)(null);(0,d.useEffect)(()=>{s.cancel(),o({kind:`idle`}),c.current=e?.id??null},[e?.id,s]);let l=(0,d.useCallback)(async()=>{let t=e?.id;if(!(!t||a.kind===`naming`)){s.cancel(),r?.(),o({kind:`naming`});try{let e=await fetch(`/api/sessions/${encodeURIComponent(t)}/auto-name`,{method:`POST`}),r=await e.json().catch(()=>({}));if(!e.ok||!r.title)throw Error(r.error||`HTTP ${e.status}`);let i=r.title.trim();if(c.current!==t)return;n?.(t,i),o({kind:`success`}),s.schedule(()=>o({kind:`idle`}),1800)}catch(e){if(c.current!==t)return;let n=e instanceof Error?e.message:String(e);o({kind:`error`,message:n}),s.schedule(()=>o({kind:`idle`}),5e3)}}},[a.kind,s,e?.id,n,r]),u=!e||!t||a.kind===`naming`,f=a.kind===`success`,p=a.kind===`error`,m=lie(a.kind,i),h=uie(a,e,t,i);return(0,T.jsx)(F,{label:h,children:(0,T.jsx)(`button`,{type:`button`,onClick:()=>void l(),disabled:u,"aria-label":m,style:{..._9,color:p?`var(--status-error)`:f?`var(--status-success)`:u?`var(--text-dim)`:`var(--text-muted)`,cursor:u?`not-allowed`:`pointer`,opacity:u&&a.kind!==`naming`?.45:1,"--hover-color":p?`var(--status-error)`:`var(--text)`},className:u?void 0:`hover-shift`,children:a.kind===`naming`?(0,T.jsx)(vn,{className:`animate-spin`,size:I.lg,"aria-hidden":`true`}):f?(0,T.jsx)(qt,{size:I.lg,"aria-hidden":`true`}):(0,T.jsx)(Sn,{size:I.lg,"aria-hidden":`true`,style:v9})})})}var b9={padding:`10px 16px`,fontSize:`var(--text-base)`,color:`var(--text-muted)`,fontStyle:`italic`};function fie(e){if(e.role!==`user`)return null;if(typeof e.content==`string`){let t=e.content.trim();return t.length>0?t:null}let t=e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
491
+ `).trim();return t.length>0?t:null}function pie(e,t){if(t?.role!==`assistant`)return;let n=0;for(let t of e)t.role===`user`&&(n+=1);return n>0?n:void 0}function mie(e,t,n){if(n==null)return;let r=[];e.forEach((e,n)=>{e.role===`assistant`&&(e.content??[]).forEach((e,i)=>{e.type===`thinking`?r.push(ze(`thinking`,t[n]??``,void 0,i)):e.type===`toolCall`&&r.push(ze(`toolCall`,``,e.toolCallId))})});let i=r.slice(-((n??0)+1));return new Set(i)}var hie={display:`flex`,alignItems:`center`,gap:10,paddingLeft:12,paddingRight:12,height:`100%`,border:`none`,fontSize:`var(--text-sm)`,color:`var(--text-muted)`,whiteSpace:`nowrap`,cursor:`pointer`,fontVariantNumeric:`tabular-nums`,transition:`color 0.1s, background 0.1s`,"--hover-color":`var(--text)`},x9={display:`flex`,alignItems:`center`,gap:4},gie={display:`flex`,alignItems:`center`,color:`var(--text)`,fontWeight:500};function _ie({sessionStats:e,contextUsage:t,activeTopPanel:n,toggleTopPanel:r,isMobile:i,t:a,locale:o}){let s=e?.tokens,c=e?.cost??0,l=e=>e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}k`:String(e),u=c>0?c>=.01?`$${c.toFixed(2)}`:`<$0.01`:null,d=`var(--text-muted)`,f=null;if(t?.contextWindow){let e=t.percent;e!==null&&e>90?d=`var(--status-error)`:e!==null&&e>70&&(d=`color-mix(in srgb, var(--status-warning) 95%, transparent)`),f=e===null?`? / ${l(t.contextWindow)}`:`${e.toFixed(0)}% / ${l(t.contextWindow)}`}let p=[];s&&(p.push(`in: ${s.input.toLocaleString(o)}`),p.push(`out: ${s.output.toLocaleString(o)}`),p.push(`cache read: ${s.cacheRead.toLocaleString(o)}`),p.push(`cache write: ${s.cacheWrite.toLocaleString(o)}`),c>0&&p.push(`cost: $${c.toFixed(4)}`));let m=s?s.input+s.cacheRead+s.cacheWrite:0,h=s&&m>0?s.cacheRead/m*100:null,g=(e,t)=>e===null?null:(0,T.jsx)(F,{label:`${a(t)} · ${e.toFixed(1)}%`,children:(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-xs)`,padding:`0 4px`,borderRadius:8,border:`1px solid color-mix(in srgb, var(--accent) 45%, transparent)`,background:`color-mix(in srgb, var(--accent) 10%, transparent)`,color:`var(--accent)`},children:[e.toFixed(1),`%`]})});if(t?.contextWindow){let e=t.percent;p.push(`context: ${e===null?`unknown`:`${e.toFixed(1)}%`} of ${t.contextWindow.toLocaleString()} tokens`)}let _=p.join(` | `);return(0,T.jsx)(F,{label:_||a(`session.title`),wrapperStyle:{marginLeft:`auto`,flex:`0 0 auto`},children:(0,T.jsxs)(`button`,{type:`button`,onClick:()=>r(`session`),"aria-label":a(`session.title`),"aria-pressed":n===`session`,style:{...hie,background:n===`session`?`var(--bg-selected)`:`none`,borderTop:n===`session`?`2px solid var(--accent)`:`2px solid transparent`},className:`hover-shift`,children:[i&&(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,T.jsx)(`line`,{x1:`12`,y1:`16`,x2:`12`,y2:`12`}),(0,T.jsx)(`line`,{x1:`12`,y1:`8`,x2:`12.01`,y2:`8`})]}),!i&&s&&s.input>0&&(0,T.jsxs)(`span`,{style:x9,children:[(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{color:`var(--accent)`},children:[(0,T.jsx)(`line`,{x1:`5`,y1:`8.5`,x2:`5`,y2:`1.5`}),(0,T.jsx)(`polyline`,{points:`2 4 5 1.5 8 4`})]}),l(s.input)]}),!i&&s&&s.output>0&&(0,T.jsxs)(`span`,{style:x9,children:[(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{color:`var(--status-info)`},children:[(0,T.jsx)(`line`,{x1:`5`,y1:`1.5`,x2:`5`,y2:`8.5`}),(0,T.jsx)(`polyline`,{points:`2 6 5 8.5 8 6`})]}),l(s.output)]}),!i&&s&&s.cacheRead>0&&(0,T.jsxs)(`span`,{style:x9,children:[(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{color:`var(--status-success)`},children:[(0,T.jsx)(`path`,{d:`M8.5 5a3.5 3.5 0 1 1-1-2.45`}),(0,T.jsx)(`polyline`,{points:`6.5 1.5 8.5 2.5 7.5 4.5`})]}),l(s.cacheRead),g(h,`session.cacheReadRate`)]}),!i&&s&&s.cacheWrite>0&&(0,T.jsxs)(`span`,{style:x9,children:[(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{color:`var(--status-warning)`},children:[(0,T.jsx)(`path`,{d:`M8.5 5a3.5 3.5 0 1 0-1-2.45`}),(0,T.jsx)(`polyline`,{points:`2.5 1.5 4.5 2.5 3.5 4.5`})]}),l(s.cacheWrite)]}),!i&&u&&(0,T.jsx)(`span`,{style:gie,children:u}),f&&(0,T.jsxs)(`span`,{style:{...x9,color:d},children:[(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`path`,{d:`M1 9 L1 5 Q1 1 5 1 Q9 1 9 5 L9 9`}),(0,T.jsx)(`line`,{x1:`1`,y1:`9`,x2:`9`,y2:`9`})]}),f]})]})})}function S9({title:e,rows:t,valueAlign:n=`left`,compact:r=!1}){return(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(`div`,{style:y9,children:e}),(0,T.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:r?`max-content max-content max-content`:`auto minmax(0, 1fr) max-content`,columnGap:r?14:12,rowGap:4,justifyContent:r?`start`:void 0},children:t.map(([t,i,a])=>(0,T.jsxs)(`div`,{style:{display:`contents`},children:[(0,T.jsx)(F,{label:a?.title,wrapperStyle:{display:`flex`,color:`var(--text-dim)`,whiteSpace:`nowrap`},children:(0,T.jsx)(`div`,{style:{color:`var(--text-dim)`,whiteSpace:`nowrap`},children:t})}),(0,T.jsx)(`div`,{style:{color:`var(--text-muted)`,minWidth:0,overflowWrap:r?`normal`:`anywhere`,textAlign:n,whiteSpace:n===`right`?`nowrap`:`normal`},children:i}),(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,minWidth:0},children:a?.badge&&(0,T.jsx)(F,{label:`${a.badgeTitle??``}${a.badgeTitle?` · `:``}${a.badge}`,children:(0,T.jsx)(`span`,{style:{padding:`0 5px`,...cie},children:a.badge})})})]},`${e}:${t}`))})]})}function vie({field:e,value:t,copied:n,onCopy:r,t:i}){return(0,T.jsx)(F,{label:i(n?`session.copied`:e===`file`?`session.copyFile`:`session.copyId`),children:(0,T.jsx)(`button`,{type:`button`,onClick:()=>r(e,t),style:{alignSelf:`start`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,width:22,height:22,marginTop:-2,color:n?`var(--accent)`:`var(--text-dim)`,background:`transparent`,border:`1px solid var(--border)`,borderRadius:4,cursor:`pointer`,flex:`0 0 auto`,transition:`color 0.12s, border-color 0.12s, background 0.12s`,"--hover-color":`var(--accent)`,"--hover-border":`var(--accent)`,"--hover-bg":`var(--bg-hover)`},className:`hover-shift`,children:n?(0,T.jsx)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}):(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`rect`,{x:`9`,y:`9`,width:I.lg,height:I.lg,rx:`2`,ry:`2`}),(0,T.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]})})})}function yie({sessionStats:e,displayContextUsage:t,isMobile:n,locale:r,t:i,copiedSessionField:a,onCopySessionField:o,onMouseEnter:s,onMouseLeave:c}){return e?(0,T.jsxs)(`div`,{onMouseEnter:s,onMouseLeave:c,style:bie,children:[(0,T.jsx)(Sie,{sessionStats:e,locale:r,t:i,copiedSessionField:a,onCopySessionField:o}),(0,T.jsx)(S9,{title:i(`session.messages`),rows:Cie(e,r,i)}),(0,T.jsx)(S9,{title:i(`session.tokens`),rows:wie(e,t,r,i),valueAlign:`right`,compact:!0})]}):(0,T.jsx)(`div`,{onMouseEnter:s,onMouseLeave:c,style:{...xie},children:(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,color:`var(--text-muted)`,fontStyle:`italic`},children:i(`session.load`)})})}var bie={display:`grid`,gridTemplateColumns:`minmax(360px, 1.7fr) minmax(140px, 0.55fr) minmax(190px, 0.75fr)`,gap:24,padding:`12px 16px`,fontSize:`var(--text-base)`,lineHeight:1.5,fontFamily:`var(--font-mono)`},xie={padding:`12px 16px`,...y9};function Sie({sessionStats:e,locale:t,t:n,copiedSessionField:r,onCopySessionField:i}){let a=[...e.sessionName?[{label:n(`session.name`),value:e.sessionName,copyField:null}]:[],{label:n(`session.file`),value:e.sessionFile??n(`session.inMemory`),copyField:`file`},{label:n(`session.id`),value:e.sessionId,copyField:`id`}];return(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(`div`,{style:y9,children:n(`session.infoSection`)}),(0,T.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`auto minmax(0, 1fr) auto`,columnGap:12,rowGap:8,alignItems:`start`},children:a.map(e=>(0,T.jsxs)(`div`,{style:{display:`contents`},children:[(0,T.jsx)(`div`,{style:{color:`var(--text-dim)`,whiteSpace:`nowrap`},children:e.label}),(0,T.jsx)(`div`,{style:{color:`var(--text-muted)`,minWidth:0,overflowWrap:`anywhere`,wordBreak:`break-word`,whiteSpace:`normal`},children:e.value}),(0,T.jsx)(`div`,{children:e.copyField?(0,T.jsx)(vie,{field:e.copyField,value:e.value,copied:r===e.copyField,onCopy:i,t:n}):null})]},`session-info:${e.label}`))})]})}function Cie(e,t,n){return[[n(`session.user`),e.userMessages.toLocaleString(t)],[n(`session.assistant`),e.assistantMessages.toLocaleString(t)],[n(`session.toolCalls`),e.toolCalls.toLocaleString(t)],[n(`session.toolResults`),e.toolResults.toLocaleString(t)],[n(`session.total`),e.totalMessages.toLocaleString(t)]]}function wie(e,t,n,r){let i=e.tokens.input+e.tokens.cacheRead+e.tokens.cacheWrite,a=e=>`${e.toFixed(1)}%`,o=[[r(`session.input`),e.tokens.input.toLocaleString(n),{title:r(`session.inputHint`)}],[r(`session.output`),e.tokens.output.toLocaleString(n),{title:r(`session.outputHint`)}]];e.tokens.cacheRead>0&&o.push([r(`session.cacheRead`),e.tokens.cacheRead.toLocaleString(n),{title:r(`session.cacheReadHint`),badge:i>0?a(e.tokens.cacheRead/i*100):void 0,badgeTitle:r(`session.cacheReadRate`)}]),e.tokens.cacheWrite>0&&o.push([r(`session.cacheWrite`),e.tokens.cacheWrite.toLocaleString(n),{title:r(`session.cacheWriteHint`)}]),o.push([r(`session.total`),e.tokens.total.toLocaleString(n),{title:r(`session.totalHint`)}]);let s=t??e.contextUsage;return e.cost>0&&o.push([r(`session.cost`),`$${e.cost.toFixed(4)}`]),s?.contextWindow&&o.push([r(`session.context`),`${s.percent===null?`?`:`${s.percent.toFixed(1)}%`} / ${(e=>e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}k`:String(e))(s.contextWindow)}`]),o}function Tie({chatToolbarRef:e,systemBtnRef:t,session:n,sessionStats:r,displayContextUsage:i,activeTopPanel:a,toggleTopPanel:o,closeTopPanel:s,systemPrompt:c,copiedSessionField:l,toolbarExtra:u,handleViewFullHistory:d,handleAutoNameRenamed:f,handleCopySessionField:p,handleBuiltinSlashCommand:m,tree:h,activeLeafId:g,handleLeafChange:_,handleSearchJump:v,scheduleCloseTopPanel:y,cancelCloseTopPanel:b,commandBusy:x,messages:S,isMobile:C,locale:w,t:E}){return(0,T.jsxs)(`div`,{ref:e,"data-testid":`chat-toolbar`,style:sie,children:[(0,T.jsx)(F,{label:E(n?`history.full`:`history.unsaved`),children:(0,T.jsx)(`button`,{onClick:d,disabled:!n,"aria-label":E(`history.full`),style:{..._9,color:n?`var(--text-muted)`:`var(--text-dim)`,cursor:n?`pointer`:`not-allowed`,opacity:n?1:.45},className:n?`hover-shift`:void 0,children:(0,T.jsx)(On,{size:I.base,style:v9})})}),(0,T.jsx)(die,{session:n,hasMessages:!!(n&&(r?.userMessages??n.messageCount)>0),onRenamed:f,onStart:s}),(0,T.jsx)(F,{label:E(`i18n.branches`),children:(0,T.jsx)(nie,{tree:h,activeLeafId:g,onLeafChange:_,inline:!0,compact:!0,containerRef:e,open:a===`branches`,onToggle:()=>o(`branches`),hasSession:!0})}),(0,T.jsx)(F,{label:E(`system.prompt`),children:(0,T.jsx)(`button`,{ref:t,onClick:()=>o(`system`),"aria-label":E(`system.prompt`),"aria-pressed":a===`system`,style:{..._9,background:a===`system`?`var(--bg-selected)`:`transparent`,borderColor:a===`system`?`var(--accent)`:`var(--border)`,cursor:`pointer`,color:a===`system`?`var(--text)`:`var(--text-muted)`,"--hover-color":`var(--text)`},className:`hover-shift`,children:(0,T.jsx)(on,{size:I.base,style:v9})})}),(0,T.jsx)(F,{label:E(`session.reload`),children:(0,T.jsx)(`button`,{type:`button`,"data-testid":`chat-toolbar-reload`,onClick:()=>void m(`/reload`),"aria-label":E(`session.reload`),style:{..._9,background:`transparent`,borderColor:`var(--border)`,cursor:`pointer`,color:`var(--text-muted)`,"--hover-color":`var(--text)`},className:`hover-shift`,children:x?(0,T.jsx)(vn,{className:`animate-spin`,size:I.base,style:v9}):(0,T.jsx)(Dn,{size:I.base,style:v9})})}),(0,T.jsx)(`div`,{style:{marginLeft:8,display:`flex`,alignItems:`center`,flex:1,minWidth:0},children:(0,T.jsx)(iie,{messages:S,t:E,onJump:v})}),r||i?(0,T.jsx)(_ie,{sessionStats:r,contextUsage:i,activeTopPanel:a,toggleTopPanel:o,isMobile:C,t:E,locale:w}):null,u,a===`system`&&(0,T.jsx)(`div`,{onMouseEnter:b,onMouseLeave:y,style:oie,children:c?(0,T.jsx)(`div`,{style:{padding:`12px 16px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.6,whiteSpace:`pre-wrap`,fontFamily:`var(--font-mono)`},children:c}):c===``?(0,T.jsx)(`div`,{style:b9,children:E(`system.empty`)}):(0,T.jsx)(`div`,{style:b9,children:E(`system.load`)})}),a===`session`&&(0,T.jsx)(yie,{sessionStats:r,displayContextUsage:i,isMobile:C,locale:w,t:E,copiedSessionField:l,onCopySessionField:p,onMouseEnter:b,onMouseLeave:y})]})}function Eie({show:e}){return e?(0,T.jsxs)(`div`,{className:`pointer-events-none absolute inset-0 z-50 flex animate-[drop-zone-in_0.15s_ease_both] items-center justify-center bg-[color-mix(in_srgb,var(--accent)_6%,transparent)] backdrop-blur-[1px]`,children:[(0,T.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:[0,.8,1.6].map(e=>(0,T.jsx)(`div`,{className:`absolute h-[720px] w-[720px] rounded-full border-[1.5px] border-solid border-[color-mix(in_srgb,var(--accent)_50%,transparent)] animate-[drop-ripple_2.4s_ease-out_infinite_backwards]`,style:{transformOrigin:`center`,animationDelay:`${e}s`}},e))}),(0,T.jsxs)(`svg`,{width:`280`,height:`280`,viewBox:`0 0 140 140`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:`drop-shadow-[0_6px_18px_var(--accent-glow)]`,children:[(0,T.jsx)(`rect`,{x:`28`,y:`44`,width:`84`,height:`60`,rx:`8`,fill:`color-mix(in srgb, var(--accent) 8%, transparent)`,stroke:`color-mix(in srgb, var(--accent) 50%, transparent)`,strokeWidth:`1.8`}),(0,T.jsx)(`path`,{d:`M36 100 L54 72 L68 88 L80 74 L104 100Z`,fill:`color-mix(in srgb, var(--accent) 16%, transparent)`,stroke:`color-mix(in srgb, var(--accent) 40%, transparent)`,strokeWidth:`1.4`,strokeLinejoin:`round`}),(0,T.jsx)(`circle`,{cx:`96`,cy:`58`,r:`8`,fill:`color-mix(in srgb, var(--accent) 22%, transparent)`,stroke:`color-mix(in srgb, var(--accent) 55%, transparent)`,strokeWidth:`1.6`}),(0,T.jsxs)(`g`,{stroke:`color-mix(in srgb, var(--accent) 45%, transparent)`,strokeWidth:`1.4`,strokeLinecap:`round`,children:[(0,T.jsx)(`line`,{x1:`96`,y1:`46`,x2:`96`,y2:`43`}),(0,T.jsx)(`line`,{x1:`96`,y1:`70`,x2:`96`,y2:`73`}),(0,T.jsx)(`line`,{x1:`84`,y1:`58`,x2:`81`,y2:`58`}),(0,T.jsx)(`line`,{x1:`108`,y1:`58`,x2:`111`,y2:`58`}),(0,T.jsx)(`line`,{x1:`87.5`,y1:`49.5`,x2:`85.4`,y2:`47.4`}),(0,T.jsx)(`line`,{x1:`104.5`,y1:`66.5`,x2:`106.6`,y2:`68.6`}),(0,T.jsx)(`line`,{x1:`104.5`,y1:`49.5`,x2:`106.6`,y2:`47.4`}),(0,T.jsx)(`line`,{x1:`87.5`,y1:`66.5`,x2:`85.4`,y2:`68.6`})]})]})]}):null}var Die={ArrowUp:`\x1B[A`,ArrowDown:`\x1B[B`,ArrowRight:`\x1B[C`,ArrowLeft:`\x1B[D`,Home:`\x1B[H`,End:`\x1B[F`,Insert:`\x1B[2~`,Delete:`\x1B[3~`,PageUp:`\x1B[5~`,PageDown:`\x1B[6~`,Escape:`\x1B`,Backspace:``},Oie={ArrowLeft:`\x1Bb`,ArrowRight:`\x1Bf`,ArrowUp:`\x1Bp`,ArrowDown:`\x1Bn`};function kie(e){if(e.length!==1)return null;let t=e.toUpperCase().charCodeAt(0);return t>=64&&t<=95?String.fromCharCode(t&31):e===`?`?``:null}function Aie(e){if(e.metaKey||e.ctrlKey&&!e.altKey&&e.key.toLowerCase()===`v`)return null;if(e.ctrlKey&&!e.altKey){let t=kie(e.key);if(t)return t}if(e.altKey&&!e.ctrlKey){if(e.key===`Backspace`)return`\x1B`;let t=Oie[e.key];if(t)return t;if(e.key.length===1)return`\x1b${e.key}`}return e.key===`Enter`?e.shiftKey?`
492
+ `:`\r`:e.key===`Tab`?e.shiftKey?`\x1B[Z`:` `:Die[e.key]??null}function jie(e){return`\x1b[200~${e}\x1b[201~`}function Mie(e,t){return KY(e).map((e,n)=>Object.keys(e.style).length>0?(0,T.jsx)(`span`,{style:e.style,children:e.text},`${t}-${n}`):e.text)}function Nie({request:e,onInput:t}){let{t:n}=M(),r=(0,d.useRef)(null),i=(0,d.useRef)(!1),a=UY(e.lines);return(0,d.useEffect)(()=>{r.current?.focus()},[e.id]),(0,T.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:95,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:20,background:`rgba(0,0,0,0.18)`},children:(0,T.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,onClick:e=>{e.target.closest(`button`)||r.current?.focus()},style:{position:`relative`,width:`min(920px, 100%)`,maxHeight:`min(760px, calc(100vh - 40px))`,border:`1px solid var(--border)`,borderRadius:8,background:`var(--bg)`,boxShadow:`0 20px 60px var(--shadow-strong)`,overflow:`hidden`,outline:`none`},children:[(0,T.jsx)(`textarea`,{ref:r,"aria-label":n(`chat.extensionInput`),autoCapitalize:`off`,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,onKeyDown:n=>{if(i.current||n.nativeEvent.isComposing)return;let r=Aie(n);r&&(n.preventDefault(),n.stopPropagation(),t(e,r))},onInput:n=>{if(i.current||n.nativeEvent.isComposing)return;let r=n.currentTarget.value;n.currentTarget.value=``,r&&t(e,r)},onCompositionStart:()=>{i.current=!0},onCompositionEnd:n=>{i.current=!1;let r=n.currentTarget;queueMicrotask(()=>{let n=r.value;r.value=``,n&&t(e,n)})},onPaste:n=>{n.preventDefault();let r=n.clipboardData.getData(`text`);r&&t(e,jie(r))},style:{position:`absolute`,width:1,height:1,padding:0,border:0,opacity:0,pointerEvents:`none`}}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:12,padding:`10px 12px`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(`div`,{style:{color:`var(--text)`,fontSize:`var(--text-lg)`,fontWeight:650},children:n(`chat.extensionPanel`)}),(0,T.jsx)(`button`,{onClick:()=>t(e,``),style:{padding:`5px 9px`,borderRadius:6,border:`1px solid var(--border)`,background:`var(--bg-panel)`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-base)`},children:n(`chat.close`)})]}),(0,T.jsx)(`pre`,{style:{margin:0,padding:14,maxHeight:`calc(min(760px, 100vh - 40px) - 48px)`,overflow:`auto`,background:`var(--bg-panel)`,color:`var(--text)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-lg)`,lineHeight:1.45,whiteSpace:`pre`},children:(a.length?a:[``]).map((e,t,n)=>(0,T.jsxs)(d.Fragment,{children:[Mie(e,`line-${t}`),t<n.length-1?`
493
+ `:null]},t))})]})})}function Pie({request:e,onRespond:t}){let{t:n}=M(),[r,i]=(0,d.useState)(e.method===`editor`?e.prefill??``:``),[a,o]=(0,d.useState)(()=>Date.now());(0,d.useEffect)(()=>{i(e.method===`editor`?e.prefill??``:``),o(Date.now())},[e]),(0,d.useEffect)(()=>{if(!e.expiresAt)return;let t=setInterval(()=>{document.hidden||o(Date.now())},1e3),n=()=>{document.hidden||o(Date.now())};return document.addEventListener(`visibilitychange`,n),()=>{clearInterval(t),document.removeEventListener(`visibilitychange`,n)}},[e.expiresAt]);let s=e.expiresAt?Math.max(0,Math.ceil((e.expiresAt-a)/1e3)):null;(0,d.useEffect)(()=>{s===0&&t(e,{cancelled:!0})},[s===0,e.id]);let c=()=>{e.method===`confirm`?t(e,{confirmed:!0}):t(e,{value:r})},l=e.method===`select`?n(`chat.extensionSelect`):e.method===`confirm`?n(`chat.extensionConfirm`):e.method===`editor`?n(`chat.extensionEditor`):n(`chat.extensionInput`);return(0,T.jsxs)(l9,{testId:`extension-dialog`,flashHeader:!0,title:(0,T.jsxs)(T.Fragment,{children:[l,s!==null&&(0,T.jsxs)(`span`,{style:{color:`var(--text-muted)`,marginLeft:6,fontVariantNumeric:`tabular-nums`},children:[`(`,s,`s)`]})]}),subtitle:n(`chat.extensionRequest`),maxWidth:Math.round(window.innerWidth*.6),footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{onClick:()=>t(e,{cancelled:!0}),style:{padding:`6px 10px`,borderRadius:6,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,cursor:`pointer`},children:n(`chat.cancel`)}),e.method===`confirm`?(0,T.jsx)(`button`,{onClick:c,style:{padding:`6px 10px`,borderRadius:6,border:`1px solid var(--accent)`,background:`var(--accent)`,color:`var(--on-accent)`,cursor:`pointer`},children:n(`chat.confirm`)}):e.method===`select`?null:(0,T.jsx)(`button`,{onClick:c,style:{padding:`6px 10px`,borderRadius:6,border:`1px solid var(--accent)`,background:`var(--accent)`,color:`var(--on-accent)`,cursor:`pointer`},children:n(`chat.submit`)})]}),children:[(0,T.jsx)(`div`,{style:{marginBottom:12,padding:`9px 10px`,borderRadius:7,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text)`,fontSize:`var(--text-lg)`,lineHeight:1.6,whiteSpace:`pre-wrap`,maxHeight:360,overflowY:`auto`},children:e.title}),`Notification`in window&&Notification.permission===`denied`&&(0,T.jsx)(`div`,{style:{marginBottom:10,padding:`7px 10px`,borderRadius:7,border:`1px solid var(--border-warning, var(--border))`,background:`var(--bg-panel)`,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,lineHeight:1.5},children:n(`chat.questionNotificationDenied`)}),e.method===`confirm`&&(0,T.jsx)(`div`,{style:{color:`var(--text-muted)`,fontSize:`var(--text-lg)`,lineHeight:1.6,whiteSpace:`pre-wrap`},children:e.message}),e.method===`select`&&(0,T.jsx)(`div`,{style:{display:`flex`,flexWrap:`wrap`,gap:8},children:e.options.map(n=>(0,T.jsx)(`button`,{onClick:()=>t(e,{value:n}),style:{flex:`1 1 auto`,padding:`9px 10px`,borderRadius:7,border:`1px solid var(--border)`,background:`var(--bg-panel)`,color:`var(--text)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-lg)`},children:n},n))}),e.method===`input`&&(0,T.jsx)(`input`,{autoFocus:!0,value:r,placeholder:e.placeholder,onChange:e=>i(e.target.value),onKeyDown:n=>{n.key===`Enter`&&c(),n.key===`Escape`&&t(e,{cancelled:!0})},style:{width:`100%`,padding:`9px 10px`,borderRadius:7,border:`1px solid var(--border)`,background:`var(--bg-panel)`,color:`var(--text)`,outline:`none`,fontSize:`var(--text-2xl)`}}),e.method===`editor`&&(0,T.jsx)(`textarea`,{autoFocus:!0,value:r,onChange:e=>i(e.target.value),onKeyDown:n=>{n.key===`Escape`&&t(e,{cancelled:!0}),(n.metaKey||n.ctrlKey)&&n.key===`Enter`&&c()},style:{width:`100%`,minHeight:220,padding:10,borderRadius:7,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text)`,outline:`none`,resize:`vertical`,fontSize:`var(--text-2xl)`,lineHeight:1.55,fontFamily:`var(--font-mono)`}})]},e.id)}function Fie({notifyPermission:e,newSessionCwd:t,startScreenMessages:n,handleQuickMessageSend:r,fillChatInput:i,notices:a,chatInputElement:o,t:s}){return(0,T.jsx)(`div`,{className:`relative flex flex-1 flex-col items-center justify-center overflow-y-auto px-4 py-8`,children:(0,T.jsxs)(`div`,{className:`w-full max-w-[820px]`,children:[(0,T.jsxs)(`div`,{className:`mb-3`,style:{textAlign:`center`,padding:`40px 0`},children:[e==="default"?(0,T.jsxs)(`div`,{style:{marginBottom:20,fontSize:`var(--text-sm)`,color:`var(--text-muted)`,lineHeight:1.6},children:[s(`notify.permission.bannerHintBefore`),` `,(0,T.jsxs)(`svg`,{width:16,height:16,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--accent)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{display:`inline-block`,verticalAlign:-2},children:[(0,T.jsx)(`path`,{d:`M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9`}),(0,T.jsx)(`path`,{d:`M10.3 21a1.94 1.94 0 0 0 3.4 0`})]}),` `,s(`notify.permission.bannerHintAfter`)]}):null,(0,T.jsx)(`div`,{style:{fontSize:`var(--text-6xl)`,fontWeight:700,fontStyle:`italic`,color:`var(--accent)`},children:`Pi Web`}),t?(0,T.jsx)(`div`,{style:{marginTop:6,fontSize:`var(--text-3xl)`,color:`var(--text-muted)`,fontFamily:`var(--font-mono)`},children:t}):null]}),n.length>0&&(0,T.jsx)(`div`,{style:{marginBottom:28},children:(0,T.jsx)(B7,{messages:n,onSend:r,onFillInput:i,testIdPrefix:`start-screen-msg`,wrapperTestId:`start-screen-messages`,center:!0})}),(0,T.jsx)(`div`,{style:{position:`absolute`,top:12,left:0,right:0,zIndex:40,padding:`0 16px`,pointerEvents:`none`},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`},children:(0,T.jsx)(u9,{notices:a,floating:!0,align:`right`})})}),o]})})}function C9(e){return e>=1e6?`${(e/1e6).toPrecision(3)}M`:e>=1e3?`${(e/1e3).toPrecision(3)}K`:String(e)}function Iie({sessionBusy:e,extensionDialogOpen:t,agentPhase:n,isStreaming:r,messages:i,windowTitleBase:a,busyElapsed:o,busySinceMs:s}){let c=(0,d.useRef)(``);(0,d.useEffect)(()=>{let s=()=>{if(document.hasFocus())return;let s=a?` · ${a}`:``,l;if(t)l=`❓`;else if(e){let e=o??``;if(n?.kind===`running_tools`)l=`🔧 ${e}`.trimEnd();else if(n?.kind===`running_command`)l=`💻 ${e}`.trimEnd();else if(n?.kind===`thinking`)l=`💡 ${e}`.trimEnd();else if(n?.kind===`waiting_model`&&r){let e=[...i].reverse().find(e=>e.role===`assistant`),t=e&&e.role===`assistant`?e.usage:void 0;l=`⬇ ${C9(t?.input??0)}↑ ${C9(t?.output??0)}↓`}else l=`⏳ ${e}`.trimEnd()}else{let e;for(let t=i.length-1;t>=0;t--){let n=i[t];if(!(n.role!==`assistant`||!n.timestamp)){for(let r=t-1;r>=0;r--){let t=i[r];if(t.role===`user`&&t.timestamp){let r=Math.round((n.timestamp-t.timestamp)/1e3);r>0&&(e=r);break}}break}}if(e===void 0)return;l=`✅ ${kX(e)}`}let u=`${l}${s}`;u!==c.current&&(c.current=u,document.title=u)};s();let l=()=>{document.visibilityState===`hidden`&&s()};return document.addEventListener(`visibilitychange`,l),window.addEventListener(`blur`,s),()=>{document.removeEventListener(`visibilitychange`,l),window.removeEventListener(`blur`,s)}},[n,r,o,i,e,a,t]),(0,d.useEffect)(()=>{if(!e&&!t)return;let l=()=>{if(!document.hidden||document.hasFocus())return;let l=a?` · ${a}`:``,u;if(t)u=`❓`;else if(e){let e=s===void 0?o??``:kX((Date.now()-s)/1e3);if(n?.kind===`running_tools`)u=`🔧 ${e}`.trimEnd();else if(n?.kind===`running_command`)u=`💻 ${e}`.trimEnd();else if(n?.kind===`thinking`)u=`💡 ${e}`.trimEnd();else if(n?.kind===`waiting_model`&&r){let e=[...i].reverse().find(e=>e.role===`assistant`),t=e&&e.role===`assistant`?e.usage:void 0;u=`⬇ ${C9(t?.input??0)}↑ ${C9(t?.output??0)}↓`}else u=`⏳ ${e}`.trimEnd()}else return;let d=`${u}${l}`;d!==c.current&&(c.current=d,document.title=d)},u=setInterval(l,1e3);return document.addEventListener(`visibilitychange`,l),()=>{clearInterval(u),document.removeEventListener(`visibilitychange`,l)}},[e,t,n,r,i,a,o,s])}function Lie({sessionBusy:e,handleSteer:t,handlePromptWithStreamingBehavior:n,handleSend:r,onSessionRenamed:i,setSessionStatsOverride:a,handleBuiltinSlashCommand:o,toggleTopPanel:s}){return{handleQuickMessageSend:(0,d.useCallback)(i=>{e?i.startsWith(`/`)?n(i,`steer`):t(i):r(i)},[e,t,n,r]),handleAutoNameRenamed:(0,d.useCallback)((e,t)=>{i?.(e,t),a(n=>n?.sessionId===e?{...n,sessionName:t}:n)},[i,a]),wrappedHandleBuiltinSlashCommand:(0,d.useCallback)(async e=>{let t=await o(e);return t.handled&&t.action===`openSessionStats`&&s(`session`),t},[o,s])}}function Rie({playDoneSound:e,soundEnabled:t,onAgentEnd:n}){let r=(0,d.useRef)(e);(0,d.useEffect)(()=>{r.current=e});let i=(0,d.useRef)(t);(0,d.useEffect)(()=>{i.current=t});let a=(0,d.useRef)(null);return{wrappedOnAgentEnd:(0,d.useCallback)(()=>{i.current&&r.current(),n?.()},[n]),soundedExtensionDialogIdRef:a,playDoneSoundRef:r}}function zie({scrollContainerRef:e}){let t=(0,d.useRef)(new Map),n=(0,d.useRef)(new Map),r=(0,d.useRef)(null),[i,a]=(0,d.useState)(!0),o=(0,d.useRef)(!0),s=(0,d.useRef)(0),c=(0,d.useCallback)(t=>{let n=e.current;n&&(n.scrollTop=t)},[e]),l=(0,d.useCallback)(()=>{let t=e.current;t&&(t.scrollTop=t.scrollHeight),o.current=!0,a(!0)},[e]),u=(0,d.useCallback)(()=>{let t=e.current;if(!t)return;let n=t.scrollHeight-t.scrollTop-t.clientHeight;if(o.current&&n>0&&t.scrollHeight!==s.current){s.current=t.scrollHeight,t.scrollTop=t.scrollHeight;return}n<16?(o.current=!0,a(!0)):n>64&&(o.current=!1,a(!1)),s.current=t.scrollHeight},[e]),f=(0,d.useRef)(new Map),p=(0,d.useCallback)((r,i)=>{f.current.set(r,i);let a=n.current.get(r);return a||(a=n=>{if(f.current.get(r)?.(n),!n){t.current.get(r)?.disconnect(),t.current.delete(r),f.current.delete(r);return}let i=t.current.get(r);i?i.disconnect():(i=new ResizeObserver(()=>{document.hidden||o.current&&requestAnimationFrame(()=>{if(document.hidden)return;let t=e.current;t&&o.current&&(t.scrollTop=t.scrollHeight)})}),t.current.set(r,i)),i.observe(n)},n.current.set(r,a)),a},[e]),m=(0,d.useCallback)(()=>{t.current.forEach(e=>e.disconnect()),t.current.clear(),n.current.clear(),f.current.clear()},[]);return(0,d.useEffect)(()=>()=>m(),[m]),(0,d.useEffect)(()=>{let t=e.current;if(!t)return;let n=new ResizeObserver(()=>{document.hidden||o.current&&requestAnimationFrame(()=>{if(document.hidden)return;let t=e.current;t&&o.current&&(t.scrollTop=t.scrollHeight)})});return n.observe(t),()=>n.disconnect()},[e]),{nearBottom:i,virtualizerRef:r,scrollToBottom:l,handleListScroll:u,handleWindowJumpTo:c,itemRef:p,resetItemObservers:m,isPinnedToBottom:(0,d.useCallback)(()=>o.current,[])}}function Bie({autoReloadSeconds:e,activeLeafId:t,loadContext:n,sessionIdRef:r,extensionDialog:i,onExtensionDialogChange:a,sessionBusy:o,handleAbort:s}){let c=(0,d.useCallback)(()=>{let e=r.current;e&&n(e,t,!0)},[t,n,r]);return(0,d.useEffect)(()=>{if(!e||e<=0)return;let i=setInterval(()=>{let e=r.current;e&&n(e,t,!0)},e*1e3);return()=>clearInterval(i)},[e,t,n,r]),(0,d.useEffect)(()=>{a?.(i!==null)},[i,a]),(0,d.useEffect)(()=>{Qq()},[]),(0,d.useEffect)(()=>{ie(o?s:null)},[o,s]),{handleReloadFromDisk:c}}function Vie({session:e}){let[t,n]=(0,d.useState)(null),r=tx(),i=(0,d.useRef)(null),a=(0,d.useRef)(null),{activeTopPanel:o,toggleTopPanel:s,closeTopPanel:c}=IK(),l=tx(),u=(0,d.useCallback)(()=>{l.schedule(()=>{c()},150)},[l,c]),f=l.cancel;(0,d.useEffect)(()=>{n(null)},[e?.id]);let p=(0,d.useCallback)(()=>{e&&window.open(`/api/sessions/${encodeURIComponent(e.id)}/export?inline=1`,`_blank`,`noopener,noreferrer`)},[e]);return{activeTopPanel:o,cancelCloseTopPanel:f,chatToolbarRef:i,closeTopPanel:c,copiedSessionField:t,handleCopySessionField:(0,d.useCallback)((e,t)=>{cK(t).then(()=>{r.cancel(),n(e),r.schedule(()=>n(null),1400)})},[r]),handleViewFullHistory:p,scheduleCloseTopPanel:u,systemBtnRef:a,toggleTopPanel:s}}function w9(e){return e.role===`user`?96:e.role===`assistant`?260:120}function Hie(e){return e.role===`assistant`&&SQ(e).answerBlocks.some(e=>e.type===`image`||e.type===`text`&&e.text.trim().length>0)}function Uie(e,t,n){for(let r=n-1;r>t;r--)if(Hie(e[r]))return r;for(let r=n-1;r>t;r--)if(e[r]?.role===`assistant`)return r;return-1}function Wie(e,t){let n=0;for(let r of t){let t=e[r];t?.role===`assistant`&&(n+=CQ(yQ(t)))}return n}function Gie(e){return e.role===`assistant`?yQ(e).length>0:e.role===`custom`}function T9(e){return e.role===`user`||e.role===`custom`&&e.customType===`compaction`}function E9(e,t,n={}){let r={...e,content:t};return n.omitUsage&&(r.usage=void 0),r}function Kie(e,t){let{isLiveTail:n,lastAnchorIdx:r,visibleRefIndexByMessage:i}=t,a=[],o=(t,n={})=>{a.push({key:`message-${t}`,kind:`message`,msgIdx:t,estimate:w9(e[t]),...n})};for(let t=0;t<e.length;){let s=e[t];if(!T9(s)){o(t),t+=1;continue}let c=t,l=c+1;for(;l<e.length&&!T9(e[l]);)l+=1;let u=Uie(e,c,l);if(u===-1||n&&l===e.length&&c===r){for(let e=c;e<l;e++)o(e);t=l;continue}o(c);let d=[];for(let e=c+1;e<u;e++)d.push(e);let f=d.filter(t=>Gie(e[t])),p=e[u],m=SQ(p),h=m.processBlocks.length>0?E9(p,m.processBlocks,{omitUsage:!0}):null,g=m.answerBlocks.length>0||bQ(p)?E9(p,m.answerBlocks):null,_=f.length+ +!!h;if(_>0){let t=f.map(e=>i.get(e)).find(e=>typeof e==`number`)??(g?void 0:i.get(u));a.push({key:`group-header-${c}-${u}`,kind:`groupHeader`,groupUserIdx:c,finalAssistantIdx:u,messageCount:_,toolCallCount:Wie(e,f)+CQ(m.processBlocks),processRefIdx:t,estimate:40}),f.forEach((e,t)=>{o(e,{isProcess:!0,attachRef:!1,groupLast:!h&&t===f.length-1})}),h&&o(u,{isProcessFinal:!0,attachRef:!1,messageOverride:h,showTimestamp:!1,groupLast:!0})}g&&a.push({key:`message-${u}-answer`,kind:`message`,msgIdx:u,estimate:w9(e[u]),messageOverride:g,isAnswer:!0});for(let e=u+1;e<l;e++)o(e);t=l}return a}function qie(e){let t=new Map;return e.forEach((e,n)=>{e.kind===`message`&&t.set(e.msgIdx,n)}),t}function Jie({messages:e,sessionBusy:t,isStreaming:n,virtualizerRef:r,scrollContainerRef:i,canMountList:a,setCanMountList:o,initialSizesRef:s}){let c=(0,d.useMemo)(()=>{let t=new Set,n=[];for(let r=e.length-1;r>=0;--r){let i=fie(e[r]);if(!(!i||t.has(i))&&(t.add(i),n.push(i),n.length>=50))break}return n.reverse()},[e]),l=(0,d.useMemo)(()=>{for(let t=e.length-1;t>=0;t--)if(T9(e[t]))return t;return-1},[e]),u=(0,d.useMemo)(()=>{let t=new Map,n=0;return e.forEach((e,r)=>{(e.role===`user`||e.role===`assistant`)&&t.set(r,n++)}),t},[e]),f=(0,d.useMemo)(()=>Kie(e,{isLiveTail:(t||n)&&l>=0,lastAnchorIdx:l,visibleRefIndexByMessage:u}),[e,t,n,l,u]),p=(0,d.useMemo)(()=>qie(f),[f]),m=(0,d.useCallback)(e=>{let t=p.get(e);if(t===void 0)return null;let n=r.current;return n?n.getItemOffset(t):null},[p,r]),h=a&&s.current?[s.current,200]:void 0;(0,d.useLayoutEffect)(()=>{a||f.length!==0&&i.current&&(s.current=f.map(e=>e.estimate),o(!0))},[a,f,i,o,s]);let[g,_]=(0,d.useState)(null),v=(0,d.useRef)(null);return{inputHistory:c,rows:f,visibleRefIndexByMessage:u,initialCache:h,resolveMessageOffset:m,handleSearchJump:(0,d.useCallback)(e=>{let t=p.get(e);if(t===void 0)return;let n=r.current;if(!n)return;n.scrollToIndex(t,{align:`start`,offset:-24,smooth:!0});let i=f[t].key;_(i),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=null,_(e=>e===i?null:e)},1700)},[f,p,r]),flashKey:g}}function Yie({widget:e,saved:t,messages:n,defaultOffset:r,onCloseWidget:i,setWidgetGeometry:a,onSend:o,fillChatInput:s,portalTarget:c}){let{t:l}=M(),[u,f]=(0,d.useState)(!1),[p,m]=(0,d.useState)(null),h=(0,d.useRef)(null),g=(0,d.useCallback)(t=>{if(u)return;let n=()=>i(e.key,e.lines.join(`
494
494
  `));if(window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches){n();return}let r=document.querySelector(`[data-tab-id="widgets"]`)??document.querySelector(`[data-testid="tab-bar"]`);if(!r){n();return}let a=t.currentTarget.getBoundingClientRect(),o=r.getBoundingClientRect(),s=`M ${a.left+a.width/2} ${a.top+a.height/2} L ${o.left+o.width/2} ${o.top+o.height/2}`;f(!0),m(s),window.setTimeout(n,280)},[u,i,e.key,e.lines]);return(0,d.useLayoutEffect)(()=>{if(!p||!h.current)return;let e=h.current;e.style.setProperty(`offset-path`,`path('${p}')`),e.style.setProperty(`offset-rotate`,`0deg`),e.animate([{offsetDistance:`0%`,r:28},{offsetDistance:`100%`,r:2}],{duration:240,easing:`cubic-bezier(0.22, 1, 0.36, 1)`,fill:`forwards`})},[p]),(0,d.useEffect)(()=>{t===void 0?a(e.key,{x:r.dx,y:r.dy,width:560,height:Math.round(window.innerHeight*.6)}):t.collapsed&&i(e.key,e.lines.join(`
495
- `))},[e.key]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(c9,{testId:`widget-dialog`,title:e.key,align:`center`,portalTarget:c,style:{opacity:+!u,transition:`opacity 200ms ease`},headerExtra:(0,T.jsx)(F,{label:l(`widgets.collapse`),children:(0,T.jsx)(`button`,{type:`button`,"aria-label":l(`widgets.collapse`),onClick:g,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:26,height:26,borderRadius:6,border:`none`,background:`transparent`,color:`var(--text-muted)`,cursor:`pointer`},className:`hover-shift`,children:(0,T.jsx)(yn,{size:I.xl})})}),position:t?{x:t.x,y:t.y}:void 0,size:t?{width:t.width,height:t.height}:void 0,initialOffset:r,onDragStop:(n,r)=>a(e.key,{x:n,y:r,width:t?.width??560,height:t?.height??Math.round(window.innerHeight*.6)}),onResizeStop:(t,n,r,i)=>a(e.key,{x:r,y:i,width:t,height:n}),children:(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:10},children:[(0,T.jsx)(`pre`,{style:{margin:0,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.5,whiteSpace:`pre-wrap`,wordBreak:`break-word`,fontFamily:`var(--font-mono)`},children:e.lines.join(`
496
- `)}),n.length>0&&(0,T.jsx)(`div`,{"data-testid":`widget-bound-messages`,style:{display:`flex`,flexWrap:`wrap`,gap:6,paddingTop:8,borderTop:`1px solid var(--border)`,flexShrink:0},children:n.map((t,n)=>(0,T.jsx)(z7,{msg:t,onSend:o,onFillInput:s,testId:`widget-send-${e.key}-${n}`},n))})]})}),p&&(0,T.jsx)(`div`,{"data-testid":`widget-collapse-trail`,style:{position:`fixed`,inset:0,zIndex:70,pointerEvents:`none`},children:(0,T.jsx)(`svg`,{width:`100%`,height:`100%`,style:{position:`absolute`,inset:0},children:(0,T.jsx)(`circle`,{ref:h,r:28,fill:`var(--accent)`,fillOpacity:.7})})})]})}function qie(e){return e.replace(/[\r\n\t]/g,` `).replace(/ +/g,` `).trim()}function Jie(e){return[...e].sort((e,t)=>e.key.localeCompare(t.key)).map(({text:e})=>qie(e)).join(` `)}function Yie({session:e,newSessionCwd:t,onAgentEnd:n,onSessionCreated:r,onSessionForked:i,modelsRefreshKey:a,chatInputRef:o,onOpenModelConfig:s,onSessionRenamed:c,windowTitleBase:l,onOpenFile:u,toolbarExtra:f,closedWidgetKeys:p,onCloseWidget:m,onExtensionWidgetsChange:h,onExtensionDialogChange:g}){let{t:_,locale:v}=M(),{scrollStepPx:y,autoReloadSeconds:b,longBlockCollapseChars:x,recentBlocksExpanded:S,widgetGeometries:C,setWidgetGeometry:w,widgetMessages:E,startScreenMessages:D}=Nt(),{soundEnabled:O,onSoundToggle:k,playDoneSound:A,unlockAudio:j}=wX(),N=ne(),ee=oe(),{wrappedOnAgentEnd:te,soundedExtensionDialogIdRef:P,playDoneSoundRef:re}=Fie({playDoneSound:A,soundEnabled:O,onAgentEnd:n}),ie=(0,d.useCallback)(e=>{o?.current?.insertIfEmpty(e)},[o]),ae=(0,d.useCallback)(e=>{o?.current?.fillInput(e)},[o]),{activeTopPanel:se,cancelCloseTopPanel:ce,chatToolbarRef:le,closeTopPanel:ue,copiedSessionField:de,handleCopySessionField:fe,handleViewFullHistory:pe,scheduleCloseTopPanel:me,systemBtnRef:he,toggleTopPanel:ge}=Rie({session:e}),{loading:_e,error:ve,messages:ye,entryIds:be,streamState:xe,agentRunning:Se,bashRunning:Ce,bashOutput:we,pendingBash:Te,modelNames:Ee,modelList:De,modelError:Oe,modelScopeWarnings:ke,modelThinkingLevels:Ae,modelThinkingLevelMaps:je,toolPreset:Me,thinkingLevel:Ne,retryInfo:Pe,displayContextUsage:Fe,forkingEntryId:Ie,isCompacting:Le,compactError:Re,compactResult:ze,displayModel:Be,sessionStats:Ve,systemPrompt:He,slashCommands:Ue,slashCommandsLoading:We,queuedMessages:Ge,notices:Ke,noticeModals:qe,dismissNoticeModal:Je,extensionDialog:Ye,extensionCustomUi:Xe,extensionStatuses:Ze,extensionWidgets:Qe,respondToExtensionUi:$e,sendExtensionCustomInput:et,isAutoModelSelection:tt,agentPhase:nt,commandBusy:rt,isNew:it,tree:at,sessionIdRef:ot,activeLeafId:st,loadContext:ct,messagesEndRef:lt,scrollContainerRef:ut,lastUserMsgRef:dt,handleSend:ft,handleAbort:pt,handleFork:mt,handleNavigate:ht,handleLeafChange:gt,handleModelChange:_t,handleCompact:vt,handleSteer:yt,handleFollowUp:bt,handlePromptWithStreamingBehavior:xt,handleAbortCompaction:St,handleRecallQueue:Ct,handleBuiltinSlashCommand:wt,handleToolPresetChange:Tt,handleThinkingLevelChange:Et,loadSlashCommands:Dt,setSessionStatsOverride:Ot}=SX({session:e,newSessionCwd:t,onAgentEnd:te,onSessionCreated:r,onSessionForked:i,modelsRefreshKey:a,chatInputRef:o});(0,d.useEffect)(()=>{h?.(Qe)},[Qe,h]);let kt=Se||Ce,{handleQuickMessageSend:At,handleAutoNameRenamed:jt,wrappedHandleBuiltinSlashCommand:Mt}=Pie({sessionBusy:kt,handleSteer:yt,handlePromptWithStreamingBehavior:xt,handleSend:ft,onSessionRenamed:c,setSessionStatsOverride:Ot,handleBuiltinSlashCommand:wt,toggleTopPanel:ge}),Pt=(0,d.useMemo)(()=>uie(ye,xe.streamingMessage),[ye,xe.streamingMessage]),Ft=(0,d.useMemo)(()=>die(ye,be,S),[ye,be,S]),{runningSessionIds:It,runningPhaseSince:Lt,runningBusySince:Rt}=LX(),zt=e?.id??ot.current??``,Bt=It.has(zt)||Se||rt||Ce,Vt=RX(Bt,Lt[zt]),Ht=RX(Bt,Rt[zt]),Ut=IY(Jie(Ze));Nie({sessionBusy:kt,extensionDialogOpen:Ye!==null,agentPhase:nt,isStreaming:xe.isStreaming,messages:ye,windowTitleBase:l,busyElapsed:Ht});let{handleReloadFromDisk:Wt}=Lie({autoReloadSeconds:b,activeLeafId:st,loadContext:ct,sessionIdRef:ot,extensionDialog:Ye,onExtensionDialogChange:g,sessionBusy:kt,handleAbort:pt});(0,d.useEffect)(()=>{!Ye||P.current===Ye.id||(P.current=Ye.id,oJ(`ui-chain`,`4b ExtensionDialog mounted, play sound`,`${Ye.method} id=${Ye.id.slice(0,8)} title=${JSON.stringify(Ye.title)}`),re.current())},[Ye,re,P]);let[Gt,Kt]=(0,d.useState)(null),{nearBottom:qt,virtualizerRef:Jt,scrollToBottom:Yt,handleListScroll:Xt,handleWindowJumpTo:Zt,itemRef:Qt,resetItemObservers:$t,isPinnedToBottom:en}=Iie({scrollContainerRef:ut}),tn=HQ(ye.filter(e=>e.role===`user`||e.role===`assistant`).length),[nn,rn]=(0,d.useState)(!1),an=e?.id??t??``;(0,d.useEffect)(()=>{if(rn(!1),dn.current=null,$t(),tn.current=[],dt.current=null,ut.current){ut.current.scrollTop=0;let e=ut.current.firstElementChild;if(e&&e.children.length===1){let t=e.firstElementChild;t?.style.height&&(t.style.height=`0px`)}}},[an]),(0,d.useEffect)(()=>()=>{},[]);let{isDragOver:on,handleDragEnter:sn,handleDragOver:cn,handleDragLeave:ln,handleDrop:un}=TX((0,d.useCallback)(e=>{kt||o?.current?.addImages(e)},[kt,o])),dn=(0,d.useRef)(null),{inputHistory:fn,rows:pn,visibleRefIndexByMessage:mn,initialCache:hn,resolveMessageOffset:gn,handleSearchJump:_n,flashKey:vn}=Gie({messages:ye,sessionBusy:kt,isStreaming:xe.isStreaming,virtualizerRef:Jt,scrollContainerRef:ut,canMountList:nn,setCanMountList:rn,initialSizesRef:dn}),yn=it&&ye.length===0&&!xe.isStreaming&&!kt,bn=!Se&&!xe.isStreaming&&!rt&&!Ce;(0,d.useLayoutEffect)(()=>{if(!D.length||!bn||!en())return;let e=ut.current;e&&(e.scrollTop=e.scrollHeight)},[D.length,bn,ut,en]);let xn=e?.cwd??t??void 0,Sn=Be?Ae[`${Be.provider}/${Be.modelId}`]??null:null,Cn=Be?je[`${Be.provider}/${Be.modelId}`]??null:null,wn=(0,T.jsx)(uQ,{ref:o,onSend:ft,onAbort:pt,onSteer:Se?yt:void 0,onFollowUp:Se?bt:void 0,onPromptWithStreamingBehavior:Se?xt:void 0,isStreaming:kt,commandBusy:rt,model:Be,isAutoModelSelection:tt,modelNames:Ee,modelList:De,modelError:Oe,modelScopeWarnings:ke,onModelChange:_t,onCompact:e||it?vt:void 0,onReloadFromDisk:Wt,onAbortCompaction:St,isCompacting:Le,compactError:Re,compactResult:ze,toolPreset:Me,onToolPresetChange:e||it?Tt:void 0,thinkingLevel:Ne,onThinkingLevelChange:e||it?Et:void 0,availableThinkingLevels:Sn,thinkingLevelMap:Cn,onOpenModelConfig:s,retryInfo:Pe,queuedMessages:Ge,inputHistory:fn,onRecallQueue:Ct,slashCommands:Ue,slashCommandsLoading:We,onLoadSlashCommands:Dt,onBuiltinCommand:Mt,soundEnabled:O,onSoundToggle:k,onAudioUnlock:j,draftKey:e?.id??(t?`new:${t}`:void 0),cwd:e?.cwd??t});return _e?(0,T.jsx)(`div`,{className:`flex h-full items-center justify-center text-text-muted`,children:_(e?`chat.loadingSession`:`chat.noSessionSelected`)}):ve?(0,T.jsx)(`div`,{className:`flex h-full items-center justify-center text-red-400`,children:ve}):(0,T.jsxs)(`div`,{ref:Kt,className:`relative flex h-full min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,style:{paddingBottom:`env(safe-area-inset-bottom)`},onDragEnter:sn,onDragOver:cn,onDragLeave:ln,onDrop:un,children:[(0,T.jsx)(Cie,{show:on&&!kt}),Ye&&(0,T.jsx)(jie,{request:Ye,onRespond:$e}),qe.length>0&&(0,T.jsx)(Ure,{modals:qe,onDismiss:Je}),Xe&&(0,T.jsx)(Aie,{request:Xe,onInput:et}),Qe.filter(e=>!p.has(e.key)).map((e,t)=>(0,T.jsx)(Kie,{widget:e,saved:C[e.key],messages:E[e.key]??[],defaultOffset:t%3==0?{dx:0,dy:0}:t%3==1?{dx:-80,dy:0}:{dx:80,dy:0},onCloseWidget:m,setWidgetGeometry:w,onSend:At,fillChatInput:ae,portalTarget:Gt},e.key)),(0,T.jsx)(Sie,{chatToolbarRef:le,systemBtnRef:he,session:e,sessionStats:Ve,displayContextUsage:Fe,activeTopPanel:se,toggleTopPanel:ge,closeTopPanel:ue,systemPrompt:He,copiedSessionField:de,toolbarExtra:f,handleViewFullHistory:pe,handleAutoNameRenamed:jt,handleCopySessionField:fe,handleBuiltinSlashCommand:wt,tree:at,activeLeafId:st,handleLeafChange:gt,handleSearchJump:_n,scheduleCloseTopPanel:me,cancelCloseTopPanel:ce,commandBusy:rt,messages:ye,isMobile:N,locale:v,t:_}),yn?(0,T.jsx)(Mie,{notifyPermission:ee,newSessionCwd:t,startScreenMessages:D,handleQuickMessageSend:At,fillChatInput:ae,notices:Ke,chatInputElement:wn,t:_}):(0,T.jsx)(d9,{isMobile:N,notices:Ke,scrollContainerRef:ut,handleListScroll:Xt,canMountList:nn,sessionIdForCache:an,sessionId:e?.id??ot.current??void 0,rows:pn,messages:ye,entryIds:be,session:e,modelNames:Ee,messageCwd:xn,onOpenFile:u,sessionBusy:kt,isNew:it,handleFork:mt,forkingEntryId:Ie,handleNavigate:ht,handleEditContent:ie,sessionIdRef:ot,longBlockCollapseChars:x,recentExpandedBlockKeys:Ft,streamState:xe,flashKey:vn,itemRef:Qt,t:_,messageRefs:tn,lastUserMsgRef:dt,visibleRefIndexByMessage:mn,virtualizerRef:Jt,initialCache:hn,streamTurnNumber:Pt,agentRunning:Se,commandBusy:rt,agentPhase:nt,phaseElapsed:Vt,totalElapsed:Ht,bashRunning:Ce,pendingBash:Te,bashOutput:we,messagesEndRef:lt,nearBottom:qt,scrollToBottom:Yt,resolveMessageOffset:gn,previewScrollStepPx:y,handleWindowJumpTo:Zt,chatInputElement:wn,startScreenMessages:D,aiIdle:bn,onQuickMessageSend:At,onFillInput:ae,plainStatusLine:Ut})]})}function Xie({sessionKey:e,selectedSession:t,effectiveNewSessionCwd:n,handleAgentEnd:r,handleSessionCreated:i,handleSessionForked:a,modelsRefreshKey:o,handleOpenModelConfig:s,chatInputRef:c,handleOpenLinkedFile:l,handleSessionRenamed:u,activeCwdName:d,trustWarningElement:f,closedWidgets:p,handleCloseWidget:m,handleExtensionWidgetsChange:h,extensionDialogActiveRef:g}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(`div`,{style:{flex:1,minHeight:0,display:`flex`,flexDirection:`column`,overflow:`hidden`},children:(0,T.jsx)(Yie,{session:t,newSessionCwd:n,onAgentEnd:r,onSessionCreated:i,onSessionForked:a,modelsRefreshKey:o,onOpenModelConfig:s,chatInputRef:c,onOpenFile:l,onSessionRenamed:u,windowTitleBase:d,toolbarExtra:f,closedWidgetKeys:p,onCloseWidget:m,onExtensionWidgetsChange:h,onExtensionDialogChange:e=>{g.current=e}},e)})})}function Zie({configSection:e,setConfigSection:t,projectTrustCwd:n,sessionId:r,closeConfigTab:i,handleOpenFile:a,sidebarResizer:o,widgetPanelResizer:s,modelConfigFocus:c,defaultThinkingLevel:l,setDefaultThinkingLevel:u,compaction:d,retry:f,defaultProjectTrust:p,setDefaultProjectTrust:m,subagents:h}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(gK,{section:e,onSectionChange:t,cwd:n,sessionId:r,onClose:i,onOpenFile:a,sidebarWidth:o.width,onSidebarWidthChange:o.setWidth,widgetPanelWidth:s.width,onWidgetPanelWidthChange:s.setWidth,modelConfigFocus:c,defaultThinkingLevel:l,onDefaultThinkingLevelChange:u,compaction:d,onCompactionChange:e=>Te({firstPaint:{compaction:e}}),retry:f,onRetryChange:e=>Te({firstPaint:{retry:e}}),defaultProjectTrust:p,onDefaultProjectTrustChange:m,subagents:h,onSubagentsChange:e=>Te({firstPaint:{subagents:{defaultModel:e.defaultModel||void 0,defaultThinking:e.defaultThinking||void 0}}})})})}var Qie=262144,D9=10485760,$ie={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,webp:`image/webp`,svg:`image/svg+xml`,bmp:`image/bmp`,ico:`image/x-icon`,avif:`image/avif`},eae={mp3:`audio/mpeg`,wav:`audio/wav`,ogg:`audio/ogg`,oga:`audio/ogg`,opus:`audio/ogg`,m4a:`audio/mp4`,aac:`audio/aac`,flac:`audio/flac`,weba:`audio/webm`,webm:`audio/webm`};function tae(e){return e.replace(/\\/g,`/`).split(`/`).pop()??``}function O9(e){return tae(e).toLowerCase().split(`.`).pop()??``}function nae(e){return $ie[O9(e)]??null}function rae(e){return eae[O9(e)]??null}function iae(e){let t=O9(e);return t===`pdf`||t===`docx`?t:null}function aae(e){return nae(e)!==null}function oae(e){return rae(e)!==null}function sae(e){return iae(e)!==null}function k9(e,t,n,r={}){let i=TS(e),a=new URLSearchParams({type:t});n&&a.set(`sessionId`,n);for(let[e,t]of Object.entries(r))t!==void 0&&a.set(e,String(t));return`/api/files/${i}?${a.toString()}`}function A9(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}var cae={source:`Source`,preview:`Preview`,diff:`Diff`},j9={fontFamily:`var(--font-mono)`,fontSize:`var(--text-lg)`,lineHeight:1.6},M9={width:48,minWidth:48,padding:`0 10px`,textAlign:`right`,color:`var(--text-dim)`,background:`var(--bg-panel)`,borderRight:`1px solid var(--border)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontStyle:`normal`,fontVariantNumeric:`tabular-nums`,lineHeight:`20.8px`,userSelect:`none`,flexShrink:0,verticalAlign:`top`};function N9({filePath:e,sourceSessionId:t}){let{t:n}=M();return(0,T.jsx)(F,{label:n(`i18n.downloadFile`),children:(0,T.jsx)(`a`,{href:k9(e,`download`,t),download:ES(e),"aria-label":n(`i18n.downloadFile`),className:`file-viewer-icon-button`,children:(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,T.jsx)(`polyline`,{points:`7 10 12 15 17 10`}),(0,T.jsx)(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})]})})})}function P9(e,t,n){let[r,i]=(0,d.useState)(!1),a=(0,d.useRef)(n);(0,d.useEffect)(()=>{a.current=n});let o=(0,d.useRef)(null);return(0,d.useEffect)(()=>(i(!1),o.current?.(),o.current=mY({ch:`watch`,filePath:e},e=>{e.event===`connected`?i(!0):e.event===`error`?i(!1):a.current(e)}),()=>{o.current?.(),o.current=null}),[e]),{watching:r,closeWatch:(0,d.useCallback)(()=>{o.current?.(),o.current=null,i(!1)},[])}}function F9({filePath:e,cwd:t,extLabel:n,watching:r,sourceSessionId:i,ellipsis:a,children:o}){let{t:s}=M();return(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12,padding:`4px 16px`,borderBottom:`1px solid var(--border)`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,background:`var(--bg)`,flexShrink:0},children:[(0,T.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`,...a?{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}:{}},title:e,children:OS(e,t)}),(0,T.jsx)(`span`,{style:{marginLeft:`auto`},children:n}),o,(0,T.jsxs)(`span`,{title:s(r?`i18n.liveSync`:`i18n.notWatching`),style:{display:`flex`,alignItems:`center`,gap:4,color:r?`var(--status-success)`:`var(--text-dim)`},children:[(0,T.jsx)(`span`,{style:{width:7,height:7,borderRadius:`50%`,background:r?`var(--status-success)`:`var(--border)`,display:`inline-block`,boxShadow:r?`0 0 4px var(--status-success)`:`none`}}),r?`live`:`static`]}),(0,T.jsx)(N9,{filePath:e,sourceSessionId:i})]})}function I9({filePath:e,sourceSessionId:t,cwd:n}){let{t:r}=M(),[i,a]=(0,d.useState)(!1),[o,s]=(0,d.useState)(null),c=typeof n==`string`&&/^[a-zA-Z]:[\\/]/.test(n)||typeof n==`string`&&n.startsWith(`\\\\`),l=(0,d.useCallback)(async n=>{a(!0),s(null);try{let i=await fetch(k9(e,`open`,t,n?{chooseApp:1}:void 0),{method:`POST`}),a=await i.json().catch(()=>null);i.ok?s({ok:!0,text:r(`files.openLaunched`)}):s({ok:!1,text:a?.error??`HTTP ${i.status}`})}catch(e){s({ok:!1,text:String(e)})}finally{a(!1)}},[e,t,r]);return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:10,marginTop:16},children:[o&&(0,T.jsx)(`div`,{style:{color:o.ok?`var(--text-muted)`:`var(--status-error)`,fontSize:`var(--text-sm)`,maxWidth:460,textAlign:`center`,lineHeight:1.5},children:o.text}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[(0,T.jsx)(`button`,{type:`button`,disabled:i,onClick:()=>l(!1),className:`file-viewer-mode-button file-open-action-button`,children:r(`files.openInSystemApp`)}),c&&(0,T.jsx)(`button`,{type:`button`,disabled:i,onClick:()=>l(!0),className:`file-viewer-mode-button file-open-action-button`,children:r(`files.chooseOtherApp`)})]})]})}function lae({filePath:e,cwd:t,sourceSessionId:n}){let[r,i]=(0,d.useState)(0),[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null),f=ES(e).toLowerCase().split(`.`).pop()??``;ir(()=>{i(0),o(null),c(null),u(null)},[e,n]);let{watching:p}=P9(e,n,e=>{typeof e.size==`number`&&o(e.size),i(e=>e+1)}),m=k9(e,`read`,n,r?{v:r}:void 0),h=a==null?null:A9(a);return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsxs)(F9,{filePath:e,cwd:t,extLabel:f||`image`,watching:p,sourceSessionId:n,children:[s&&(0,T.jsxs)(`span`,{children:[s.w,` × `,s.h]}),h&&(0,T.jsx)(`span`,{children:h})]}),(0,T.jsx)(`div`,{style:{flex:1,overflow:`auto`,backgroundColor:`var(--bg-panel)`,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:16,backgroundImage:`linear-gradient(45deg, var(--bg) 25%, transparent 25%), linear-gradient(-45deg, var(--bg) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--bg) 75%), linear-gradient(-45deg, transparent 75%, var(--bg) 75%)`,backgroundSize:`16px 16px`,backgroundPosition:`0 0, 0 8px, 8px -8px, -8px 0px`},children:l?(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:4},children:[(0,T.jsx)(`div`,{style:{color:`var(--status-error)`,fontSize:`var(--text-lg)`},children:l}),(0,T.jsx)(I9,{filePath:e,sourceSessionId:n,cwd:t})]}):(0,T.jsx)(`img`,{src:m,alt:e,onLoad:e=>{let t=e.currentTarget;c({w:t.naturalWidth,h:t.naturalHeight})},onError:()=>u(`Failed to load image`),style:{maxWidth:`100%`,maxHeight:`100%`,objectFit:`contain`,boxShadow:`0 2px 8px var(--shadow-color)`}})})]})}function uae({filePath:e,cwd:t,sourceSessionId:n}){let[r,i]=(0,d.useState)(0),[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null),f=ES(e).toLowerCase().split(`.`).pop()??``;ir(()=>{i(0),o(null),c(null),u(null)},[e,n]);let{watching:p}=P9(e,n,e=>{typeof e.size==`number`&&o(e.size),c(null),u(null),i(e=>e+1)}),m=k9(e,`read`,n,r?{v:r}:void 0);return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsxs)(F9,{filePath:e,cwd:t,extLabel:f||`audio`,watching:p,sourceSessionId:n,children:[s!=null&&(0,T.jsx)(`span`,{children:EX(s)}),a!=null&&(0,T.jsx)(`span`,{children:A9(a)})]}),(0,T.jsx)(`div`,{style:{flex:1,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:24,background:`var(--bg-panel)`},children:(0,T.jsxs)(`div`,{style:{width:`min(680px, 100%)`},children:[l&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{style:{color:`var(--status-error)`,fontSize:`var(--text-lg)`,marginBottom:12,textAlign:`center`},children:l}),(0,T.jsx)(I9,{filePath:e,sourceSessionId:n,cwd:t})]}),(0,T.jsx)(`audio`,{controls:!0,preload:`metadata`,src:m,onLoadedMetadata:e=>c(e.currentTarget.duration),onError:()=>u(`Failed to load audio`),style:{width:`100%`}},m)]})})]})}function dae({filePath:e,cwd:t,sourceSessionId:n}){let{t:r}=M(),[i,a]=(0,d.useState)(0),[o,s]=(0,d.useState)(null),[c,l]=(0,d.useState)(null),u=O9(e),f=u===`pdf`,p=f?k9(e,`read`,n,i?{v:i}:void 0):k9(e,`preview`,n,i?{v:i}:void 0);(0,d.useEffect)(()=>{a(0),s(null),l(null),fetch(k9(e,`meta`,n)).then(e=>e.json()).then(e=>{e.error&&l(e.error),typeof e.size==`number`&&(s(e.size),!f&&e.size>10485760&&l(r(`files.docTooLargeForPreview`,{limit:A9(D9)})))}).catch(e=>l(String(e)))},[e,f,n,r]);let{watching:m}=P9(e,n,e=>{if(typeof e.size==`number`&&(s(e.size),!f&&e.size>10485760)){l(r(`files.docTooLargeForPreview`,{limit:A9(D9)}));return}l(null),a(e=>e+1)});return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsx)(F9,{filePath:e,cwd:t,extLabel:u===`docx`?`docx preview`:`pdf`,watching:m,sourceSessionId:n,ellipsis:!0,children:o!=null&&(0,T.jsx)(`span`,{children:A9(o)})}),(0,T.jsx)(`div`,{style:{flex:1,minHeight:0,background:`var(--bg-panel)`},children:c?(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,padding:24,color:`var(--status-error)`,fontSize:`var(--text-lg)`,textAlign:`center`},children:[(0,T.jsx)(`div`,{children:c}),(0,T.jsx)(I9,{filePath:e,sourceSessionId:n,cwd:t})]}):(0,T.jsx)(`iframe`,{src:p,sandbox:f?void 0:`allow-same-origin`,title:r(`i18n.previewFile`,{file:ES(e)}),style:{width:`100%`,height:`100%`,border:`none`,background:f?`var(--bg)`:`#eef1f5`}},p)})]})}function fae(){return(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`}),(0,T.jsx)(`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`})]})}function pae({filePath:e,cwd:t,metadata:n,watching:r,isDeletedDiff:i,displayModes:a,effectiveDisplayMode:o,setDisplayMode:s,wrapLines:c,setWrapLines:l,editMode:u,dirty:d,handleSave:f,saveState:p,highlightReady:m,selectedLineRange:h,handleMentionSelectedLines:g,fileContent:_,sourceSessionId:v,t:y,saveError:b,enterEdit:x,cancelEdit:S}){return(0,T.jsxs)(`div`,{className:`file-viewer-toolbar`,style:{display:`flex`,alignItems:`center`,gap:8,padding:`5px 12px`,borderBottom:`1px solid var(--border)`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,background:`var(--bg)`,flexShrink:0},children:[(0,T.jsx)(F,{label:e,children:(0,T.jsx)(`span`,{className:`file-viewer-path`,style:{fontFamily:`var(--font-mono)`},children:OS(e,t)})}),(0,T.jsx)(F,{label:n,children:(0,T.jsx)(`span`,{className:`file-viewer-meta`,children:n})}),!i&&(0,T.jsx)(F,{label:y(r?`i18n.liveSync`:`i18n.notWatching`),children:(0,T.jsx)(`span`,{"aria-label":y(r?`i18n.liveSync`:`i18n.notWatching`),className:`file-viewer-live-indicator`,style:{background:r?`var(--status-success)`:`var(--border)`,boxShadow:r?`0 0 4px var(--status-success)`:`none`}})}),(0,T.jsxs)(`div`,{className:`file-viewer-controls`,children:[a.length>1&&(0,T.jsx)(`div`,{className:`file-viewer-mode-switch`,"aria-label":y(`i18n.fileViewMode`),children:a.map(e=>{let t=o===e;return(0,T.jsx)(F,{label:e===`diff`?y(`i18n.compareHead`):void 0,children:(0,T.jsx)(`button`,{type:`button`,onClick:()=>s(e),"aria-pressed":t,className:`file-viewer-mode-button`,style:{background:t?`var(--bg-selected)`:`transparent`,color:t?`var(--text)`:`var(--text-muted)`},children:cae[e]})},e)})}),(0,T.jsxs)(`div`,{className:`file-viewer-actions`,children:[o===`source`&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(F,{label:y(`i18n.mentionSelectedLines`),children:(0,T.jsx)(`button`,{type:`button`,onMouseDown:e=>e.preventDefault(),onClick:g,"aria-label":y(`i18n.mentionSelectedLines`),disabled:!h,className:`file-viewer-icon-button`,children:(0,T.jsx)(fae,{})})}),(0,T.jsx)(F,{label:y(c?`i18n.disableWrap`:`i18n.enableWrap`),children:(0,T.jsx)(`button`,{type:`button`,onClick:()=>l(e=>!e),"aria-label":y(c?`i18n.disableWrap`:`i18n.enableWrap`),"aria-pressed":c,className:`file-viewer-icon-button`,style:{background:c?`var(--bg-selected)`:`transparent`,color:c?`var(--text)`:`var(--text-muted)`},children:(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`path`,{d:`M4 7V4h16v3`}),(0,T.jsx)(`path`,{d:`M9 20h6`}),(0,T.jsx)(`path`,{d:`M12 4v16`})]})})})]}),o===`source`&&m&&!u&&(0,T.jsx)(`a`,{href:k9(e,`download`,v),download:ES(e),"aria-label":y(`i18n.downloadFile`),className:`file-viewer-icon-button`,style:{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,textDecoration:`none`},children:(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,T.jsx)(`polyline`,{points:`7 10 12 15 17 10`}),(0,T.jsx)(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})]})}),!i&&o===`source`&&(0,T.jsx)(`div`,{className:`file-viewer-edit-controls`,style:{display:`flex`,alignItems:`center`,gap:8,marginLeft:8},children:u?(0,T.jsxs)(T.Fragment,{children:[d&&(0,T.jsx)(F,{label:y(`i18n.unsavedChanges`),children:(0,T.jsx)(`span`,{"aria-label":y(`i18n.unsavedChanges`),style:{color:`var(--status-warning)`,fontWeight:700},children:`●`})}),(0,T.jsx)(F,{label:y(`i18n.saveFileShortcut`),children:(0,T.jsx)(`button`,{type:`button`,onClick:f,disabled:!d||p===`saving`,"aria-label":y(`i18n.saveFile`),className:`file-viewer-icon-button`,style:{background:d?`var(--accent)`:`transparent`,color:d?`var(--bg)`:`var(--text-muted)`},children:p===`saving`?(0,T.jsx)(vn,{size:I.lg,className:`animate-spin`}):(0,T.jsx)(An,{size:I.lg})})}),(0,T.jsx)(F,{label:y(`i18n.cancelEdit`),children:(0,T.jsx)(`button`,{type:`button`,onClick:S,"aria-label":y(`i18n.cancelEdit`),className:`file-viewer-icon-button`,children:(0,T.jsx)(qn,{size:I.lg})})}),p===`error`&&b&&(0,T.jsx)(`span`,{style:{color:`var(--status-error)`,fontSize:`var(--text-sm)`},children:y(`i18n.saveFailed`,{error:b})}),p===`saved`&&!d&&(0,T.jsx)(`span`,{style:{color:`var(--status-success)`,fontSize:`var(--text-sm)`},children:y(`i18n.saved`)})]}):(0,T.jsx)(F,{label:y(`i18n.editFile`),children:(0,T.jsx)(`button`,{type:`button`,onClick:x,"aria-label":y(`i18n.editFile`),className:`file-viewer-icon-button`,children:(0,T.jsx)(Cn,{size:I.lg})})})}),!i&&(0,T.jsx)(N9,{filePath:e,sourceSessionId:v})]})]})]})}function mae({filePath:e,sourceSessionId:t,onFileChange:n}){let[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(!0),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null),f=(0,d.useCallback)(e=>fetch(k9(e,`read`,t)).then(async e=>{let t=await e.json();return t.error?(c(t.error),u(e.status),null):(c(null),u(null),i(t),t)}).catch(e=>(c(String(e)),null)),[t]);return(0,d.useEffect)(()=>{o(!0),c(null),u(null),i(null),n?.(),f(e).finally(()=>o(!1))},[e,f]),{data:r,setData:i,loading:a,error:s,loadStatus:l,fetchContent:f}}function hae({cwd:e,filePath:t,gitRefreshKey:n}){let[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(0),c=(0,d.useCallback)(async t=>{let n=++s.current;if(o(!0),!e){i(null),o(!1);return}try{let r=new URLSearchParams({cwd:e,path:t}),a=await fetch(`/api/git/diff?${r.toString()}`),o=await a.json();if(n!==s.current)return;i(a.ok&&o.supported&&typeof o.patch==`string`?o:null)}catch{n===s.current&&i(null)}finally{n===s.current&&o(!1)}},[e]);return(0,d.useEffect)(()=>{c(t)},[c,t,n]),{gitDiff:r,gitDiffLoading:a,fetchGitDiff:c,resetGitDiff:(0,d.useCallback)(()=>i(null),[])}}function L9(e){return(e.nodeType===Node.ELEMENT_NODE?e:e.parentElement)?.closest(`.file-source-line[data-line-number]`)??null}function R9(e,t){if(!t||t.isCollapsed||t.rangeCount===0)return null;let n=t.getRangeAt(0);if(!e.contains(n.startContainer)||!e.contains(n.endContainer))return null;let r=L9(n.startContainer),i=L9(n.endContainer);if(!r||!i||!e.contains(r)||!e.contains(i))return null;let a=Number(r.dataset.lineNumber),o=Number(i.dataset.lineNumber);if(!Number.isInteger(a)||!Number.isInteger(o))return null;if(a<o){let e=r.querySelector(`.file-source-line-content`);if(e?.contains(n.startContainer)){let t=document.createRange();if(t.selectNodeContents(e),t.setStart(n.startContainer,n.startOffset),t.toString().length===0){let e=r.nextElementSibling;e instanceof HTMLElement&&e.matches(`.file-source-line[data-line-number]`)&&(r=e,a=Number(r.dataset.lineNumber))}}let t=i.querySelector(`.file-source-line-content`);if(t?.contains(n.endContainer)){let e=document.createRange();if(e.selectNodeContents(t),e.setEnd(n.endContainer,n.endOffset),e.toString().length===0){let e=i.previousElementSibling;e instanceof HTMLElement&&e.matches(`.file-source-line[data-line-number]`)&&(i=e,o=Number(i.dataset.lineNumber))}}}return a>o?null:{startLine:a,endLine:o}}function gae({rows:e,stylesheet:t,useInlineStyles:n,wrapLines:r}){return e.map((e,i)=>{let a=e.children??[],o=a[0]?.properties?.className,s=Array.isArray(o)&&o.includes(`react-syntax-highlighter-line-number`),c=s?a[0]:null,l=s?a.slice(1):a;return(0,T.jsxs)(`span`,{className:`file-source-line`,"data-line-number":i+1,style:{display:`flex`,minWidth:`100%`},children:[c&&T8({node:c,stylesheet:t,useInlineStyles:n,key:`source-line-number-${i}`}),(0,T.jsx)(`span`,{className:`file-source-line-content`,style:{flex:`1 1 auto`,minWidth:0,overflowWrap:r?`anywhere`:`normal`,whiteSpace:r?`pre-wrap`:`pre`},children:l.map((e,r)=>T8({node:e,stylesheet:t,useInlineStyles:n,key:`source-token-${i}-${r}`}))})]},`source-line-${i}`)})}function _ae({filePath:e,cwd:t,content:n,displayMode:r,onMentionLines:i}){let a=(0,d.useRef)(null),[o,s]=(0,d.useState)(null);(0,d.useEffect)(()=>{let e=()=>{let e=a.current;s(i&&r===`source`&&e?R9(e,window.getSelection()):null)};if(e(),!(!i||r!==`source`))return document.addEventListener(`selectionchange`,e),()=>document.removeEventListener(`selectionchange`,e)},[n,r,i]);let c=(0,d.useCallback)(n=>{!i||!n||i(OS(e,t),n.startLine,n.endLine)},[t,e,i]),l=(0,d.useCallback)(()=>{c(o)},[c,o]);return(0,d.useEffect)(()=>{if(!i||r!==`source`)return;let e=e=>{if(e.repeat||e.key.toLowerCase()!==`i`||!e.metaKey&&!e.ctrlKey||e.altKey||e.shiftKey)return;let t=e.target;if(t instanceof Element&&t.closest(`input, textarea, [contenteditable='true']`))return;let n=a.current,r=n?R9(n,window.getSelection()):null;r&&(e.preventDefault(),c(r))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[r,c,i]),{contentRef:a,selectedLineRange:o,handleMentionSelectedLines:l}}async function vae(e,t){let n=e.split(/[\\/]/).filter(Boolean),r=n.pop();if(!r)throw Error(`Invalid file path`);let i=n.join(`/`)||`/`,a=new FormData;a.append(`files`,new File([t],r,{type:`text/plain`}));let o=await fetch(`/api/files/${TS(i)}?type=upload&conflict=overwrite`,{method:`POST`,body:a});if(!o.ok){let e=`Save failed (${o.status})`;try{let t=await o.json();t?.error&&(e=t.error)}catch{}throw Error(e)}}function yae({filePath:e,onSaved:t,content:n,applySavedContent:r,reload:i}){let[a,o]=(0,d.useState)(!1),[s,c]=(0,d.useState)(``),[l,u]=(0,d.useState)(!1),[f,p]=(0,d.useState)(`idle`),[m,h]=(0,d.useState)(null),g=(0,d.useRef)(!1);g.current=a;let _=(0,d.useCallback)(()=>{o(!1),c(``),u(!1),p(`idle`),h(null)},[]);return{editMode:a,draft:s,dirty:l,saveState:f,saveError:m,editModeRef:g,enterEdit:(0,d.useCallback)(()=>{c(n),u(!1),p(`idle`),h(null),o(!0)},[n]),cancelEdit:(0,d.useCallback)(()=>{o(!1),u(!1),p(`idle`),h(null),i()},[i]),handleEditorChange:(0,d.useCallback)(e=>{c(e),u(e!==n)},[n]),handleSave:(0,d.useCallback)(async()=>{if(l){p(`saving`),h(null);try{await vae(e,s),r(s),u(!1),p(`saved`),t?.(e)}catch(e){p(`error`),h(e instanceof Error?e.message:String(e))}}},[l,s,e,t,r]),resetEditState:_}}function bae(e){let t=j7(e);return t?t.flatMap(e=>e.rows.flatMap(e=>{if(e.type===`hunk`)return[];if(e.left.type===`context`&&e.right.type===`context`)return[{type:`unchanged`,text:e.right.text,oldLineNo:e.left.lineNo,newLineNo:e.right.lineNo}];let t=[];return e.left.type===`removed`&&t.push({type:`removed`,text:e.left.text,oldLineNo:e.left.lineNo,newLineNo:null}),e.right.type===`added`&&t.push({type:`added`,text:e.right.text,oldLineNo:null,newLineNo:e.right.lineNo}),t})):[]}function xae({patch:e}){let{t}=M(),n=bae(e);if(!n.some(e=>e.type!==`unchanged`))return(0,T.jsx)(`div`,{style:{padding:`12px 16px`,fontSize:`var(--text-base)`,color:`var(--text-dim)`,fontFamily:`var(--font-mono)`},children:t(`i18n.noChanges`)});let r=new Set(n.flatMap((e,t)=>e.type===`unchanged`?[]:[t])),i=new Set;for(let e of r)for(let t=Math.max(0,e-3);t<=Math.min(n.length-1,e+3);t++)i.add(t);let a=[],o=0;for(;o<n.length;)if(i.has(o)){let e=[];for(;o<n.length&&i.has(o);)e.push(n[o]),o++;a.push({hidden:!1,lines:e})}else{let e=0;for(;o<n.length&&!i.has(o);)e++,o++;a.push({hidden:!0,count:e})}return(0,T.jsx)(`div`,{className:`file-diff-view`,style:{width:`max-content`,minWidth:`100%`,...j9},children:a.map((e,t)=>{if(e.hidden)return(0,T.jsxs)(`div`,{style:{padding:`2px 16px`,color:`var(--text-dim)`,background:`var(--bg-panel)`,fontSize:`var(--text-sm)`,borderTop:`1px solid var(--border)`,borderBottom:`1px solid var(--border)`},children:[`... `,e.count,` unchanged lines ...`]},t);let n=e.lines.map((e,t)=>{let n=e.type===`added`?`color-mix(in srgb, var(--status-success) 12%, transparent)`:e.type===`removed`?`color-mix(in srgb, var(--status-error) 14%, transparent)`:`transparent`,r=e.type===`added`?`+`:e.type===`removed`?`-`:` `,i=e.type===`added`?`var(--status-success)`:e.type===`removed`?`var(--status-error)`:`var(--text-dim)`;return(0,T.jsxs)(`div`,{className:`file-diff-line`,style:{display:`flex`,minWidth:`100%`,background:n,borderLeft:e.type===`added`?`3px solid var(--status-success)`:e.type===`removed`?`3px solid var(--status-error)`:`3px solid transparent`},children:[(0,T.jsx)(`span`,{style:M9,children:e.type===`removed`?e.oldLineNo:e.newLineNo}),(0,T.jsx)(`span`,{style:{minWidth:16,padding:`0 6px`,color:i,userSelect:`none`,flexShrink:0,fontWeight:600},children:r}),(0,T.jsx)(`span`,{className:`file-diff-line-content`,style:{flexShrink:0,padding:`0 8px 0 0`,whiteSpace:`pre`,color:`var(--text)`},children:e.text||`\xA0`})]},t)});return(0,T.jsx)(`div`,{children:n},t)})})}function Sae({preview:e,markdownDir:t,onOpenFile:n,cwd:r,sourceSessionId:i}){return(0,T.jsx)(`div`,{className:`markdown-body markdown-file-preview`,style:{padding:`24px 32px`},children:(0,T.jsx)(tk,{remarkPlugins:rW,rehypePlugins:aW,components:{code({className:e,children:t,...n}){let r=e?.replace(`language-`,``).toLowerCase()??``,i=String(t);return e?.includes(`language-`)||i.includes(`
497
- `)?r===`mermaid`?(0,T.jsx)(t7,{code:i.replace(/\n$/,``),defaultPreview:!0}):(0,T.jsx)(Q5,{code:i.replace(/\n$/,``),lang:r}):(0,T.jsx)(`code`,{className:e,...n,children:t})},pre({children:e}){return(0,T.jsx)(T.Fragment,{children:e})},a({href:e,children:r,...i}){return delete i.node,(0,T.jsx)(hW,{href:e,markdownDir:t,onOpenFile:n,...i,children:r})},img({src:e,alt:n,...a}){delete a.node;let o=typeof e==`string`?pW(e,t,r??t):null,s=o?k9(o,`read`,i):e;return(0,T.jsx)(`img`,{src:s,alt:n??``,loading:`lazy`,...a})}},children:e})})}var Cae=(0,d.lazy)(()=>x2(()=>import(`./CodeMirrorEditor-DE-avoYu.js`),__vite__mapDeps([20,1])));function wae({contentRef:e,filePath:t,effectiveDisplayMode:n,editMode:r,draft:i,language:a,isDark:o,handleEditorChange:s,handleSave:c,highlightReady:l,wrapLines:u,content:f,hasGitDiff:p,gitDiffPatch:m,t:h,isHtml:g,isMarkdown:_,markdownPreview:v,markdownDirectory:y,onOpenFile:b,cwd:x,sourceSessionId:S}){return(0,T.jsxs)(`div`,{ref:e,className:`file-viewer-content`,style:{flex:1,overflow:`auto`,paddingRight:4,background:`var(--bg)`},children:[n===`source`&&(0,T.jsx)(`div`,{className:`file-viewer-source`,style:{display:`block`,height:`100%`,overflow:`auto`,background:`var(--bg)`},children:r?(0,T.jsx)(d.Suspense,{fallback:(0,T.jsx)(`div`,{style:{height:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`var(--text-muted)`},children:(0,T.jsx)(vn,{size:I.lg,className:`animate-spin`,"aria-hidden":`true`})}),children:(0,T.jsx)(Cae,{initialValue:i,language:a,isDark:o,onChange:s,onSave:c},t)}):l?(0,T.jsx)(x5,{className:u?`file-source-view is-wrapped`:`file-source-view`,language:a===`text`?`plaintext`:a,style:o?Z5:X5,showLineNumbers:!0,lineNumberStyle:{...M9},customStyle:{margin:0,padding:0,border:0,background:`var(--bg)`,...j9,width:u?`100%`:`max-content`,minWidth:`100%`,minHeight:`100%`,overflow:`visible`},codeTagProps:{style:{fontFamily:`var(--font-mono)`,overflowWrap:u?`anywhere`:`normal`}},renderer:e=>(0,T.jsx)(gae,{...e,wrapLines:u}),wrapLongLines:u,children:f}):(0,T.jsx)(`pre`,{className:u?`file-source-view is-wrapped`:`file-source-view`,style:{margin:0,padding:0,border:0,background:`var(--bg)`,...j9,fontFamily:`var(--font-mono)`,whiteSpace:u?`pre-wrap`:`pre`,overflowWrap:u?`anywhere`:`normal`,width:u?`100%`:`max-content`,minWidth:`100%`,minHeight:`100%`,overflow:`visible`},children:f})}),n===`diff`&&p?(0,T.jsx)(xae,{patch:m}):n===`diff`?(0,T.jsx)(`div`,{style:{height:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`var(--text-muted)`,fontSize:`var(--text-lg)`},children:h(`i18n.noChanges`)}):g&&n===`preview`?(0,T.jsx)(`iframe`,{srcDoc:f,sandbox:`allow-scripts`,style:{width:`100%`,height:`100%`,border:`none`,background:`var(--bg)`},title:h(`i18n.htmlPreview`)}):_&&n===`preview`?(0,T.jsx)(Sae,{preview:v,markdownDir:y,onOpenFile:b,cwd:x,sourceSessionId:S}):null]})}function Tae({filePath:e,cwd:t,sourceSessionId:n,onOpenFile:r,onMentionLines:i,onSaved:a,gitRefreshKey:o,initialDisplayMode:s}){let{isDark:c}=NK(),{t:l}=M(),[u,f]=(0,d.useState)(`source`),[p,m]=(0,d.useState)(!1),[h,g]=(0,d.useState)(!1),{data:_,setData:v,loading:y,error:b,loadStatus:x,fetchContent:S}=mae({filePath:e,sourceSessionId:n,onFileChange:()=>{f(s===`diff`?`diff`:`source`),g(!1),P(),ae()}}),C=_?.content??``,{editMode:w,draft:E,dirty:D,saveState:O,saveError:k,editModeRef:A,enterEdit:j,cancelEdit:N,handleEditorChange:ee,handleSave:te,resetEditState:P}=yae({filePath:e,onSaved:a,content:C,applySavedContent:e=>v(t=>t&&{...t,content:e}),reload:()=>{S(e)}}),{gitDiff:ne,gitDiffLoading:re,fetchGitDiff:ie,resetGitDiff:ae}=hae({cwd:t,filePath:e,gitRefreshKey:o}),{watching:oe,closeWatch:se}=P9(e,n,()=>{A.current||(S(e),ie(e))});(0,d.useEffect)(()=>{_?.language===`markdown`&&s!==`diff`&&f(`preview`)},[_?.language,s]);let ce=ne?.supported===!0&&typeof ne.patch==`string`,le=ce&&ne.status===`deleted`;(0,d.useEffect)(()=>{le&&se()},[le,se]);let ue=(0,d.useMemo)(()=>_?.language===`markdown`?QU(_.content):``,[_]),{contentRef:de,selectedLineRange:fe,handleMentionSelectedLines:pe}=_ae({filePath:e,cwd:t,content:C,displayMode:u,onMentionLines:i});if((0,d.useEffect)(()=>{m(!1)},[C]),(0,d.useEffect)(()=>{if((le?`diff`:u)!==`source`||p)return;let e=setTimeout(()=>m(!0),0);return()=>clearTimeout(e)},[le,u,p]),y||u===`diff`&&re)return(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:12,color:`var(--text-muted)`,fontSize:`var(--text-lg)`},children:[(0,T.jsx)(vn,{size:I.lg,className:`animate-spin`,"aria-hidden":`true`}),l(`i18n.loading`)]});if(b&&!le)return(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,padding:24,color:`var(--status-error)`,fontSize:`var(--text-lg)`,textAlign:`center`},children:[(0,T.jsx)(`div`,{children:x===413?l(`files.fileTooLargeForPreview`,{limit:A9(Qie)}):b}),x===413&&(0,T.jsx)(I9,{filePath:e,sourceSessionId:n,cwd:t})]});if(!_&&!le)return null;let me=_?.language??`text`,he=me===`html`,ge=me===`markdown`,_e=he||ge,ve=DS(e),ye=C.split(`
498
- `),be=le?`diff`:u,xe=le?[`diff`]:[`source`,..._e?[`preview`]:[],`diff`],Se=le?l(`files.deleted`):`${me} · ${ye.length} lines · ${A9(_.size)}`;return(0,T.jsxs)(`div`,{className:`file-viewer-shell`,style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsx)(pae,{filePath:e,cwd:t,metadata:Se,watching:oe,isDeletedDiff:le,displayModes:xe,effectiveDisplayMode:be,setDisplayMode:f,wrapLines:h,setWrapLines:g,editMode:w,dirty:D,handleSave:te,saveState:O,saveError:k,enterEdit:j,cancelEdit:N,highlightReady:p,selectedLineRange:fe,handleMentionSelectedLines:pe,fileContent:C,sourceSessionId:n,t:l}),(0,T.jsx)(wae,{contentRef:de,filePath:e,effectiveDisplayMode:be,editMode:w,draft:E,language:me,isDark:c,handleEditorChange:ee,handleSave:te,highlightReady:p,wrapLines:h,content:C,hasGitDiff:ce,gitDiffPatch:ce?ne.patch:null,t:l,isHtml:he,isMarkdown:ge,markdownPreview:ue,markdownDirectory:ve,onOpenFile:r,cwd:t,sourceSessionId:n})]})}function Eae({filePath:e,cwd:t,sourceSessionId:n,onOpenFile:r,onMentionLines:i,onSaved:a,gitRefreshKey:o,initialDisplayMode:s}){return aae(e)?(0,T.jsx)(lae,{filePath:e,cwd:t,sourceSessionId:n}):oae(e)?(0,T.jsx)(uae,{filePath:e,cwd:t,sourceSessionId:n}):sae(e)?(0,T.jsx)(dae,{filePath:e,cwd:t,sourceSessionId:n}):(0,T.jsx)(Tae,{filePath:e,cwd:t,sourceSessionId:n,onOpenFile:r,onMentionLines:i,onSaved:a,gitRefreshKey:o,initialDisplayMode:s})}function Dae({activeFileTab:e,activeCwd:t,explorerRefreshKey:n,setExplorerRefreshKey:r,handleFileLineMention:i,handleOpenFile:a}){return(0,T.jsx)(T.Fragment,{children:e&&(0,T.jsx)(Eae,{filePath:e.filePath,cwd:t??void 0,sourceSessionId:e.sourceSessionId,gitRefreshKey:n,initialDisplayMode:e.initialDisplayMode,onMentionLines:i,onSaved:()=>r(e=>e+1),onOpenFile:t=>a(t,ES(t),{sourceSessionId:e.sourceSessionId})})})}function Oae({geometries:e,messages:t,onAddMessage:n,onRemoveMessage:r,onUpdateMessage:i,widgets:a,closedKeys:o,onReopen:s}){let{t:c}=M(),[l,u]=(0,d.useState)(null),[f,p]=(0,d.useState)(null),m=(0,d.useRef)(null);(0,d.useEffect)(()=>()=>{m.current&&clearTimeout(m.current)},[]);let h=e=>a.find(t=>t.key===e)?.lines[0],g=(e,t,n)=>{s(e),p({key:e,x:t,y:n}),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>p(null),2500)},_=[...new Set([...Object.keys(e),...o.keys()])].map(t=>[t,e[t]]);return(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,background:`var(--bg)`},children:[_.length===0?(0,T.jsx)(`div`,{style:{padding:`32px 16px`,textAlign:`center`,color:`var(--text-dim)`,fontSize:`var(--text-lg)`,lineHeight:1.6},children:c(`config.widgets.empty`)}):(0,T.jsx)(`div`,{style:{flex:1,minHeight:0,overflowY:`auto`,padding:10,display:`flex`,flexDirection:`row`,flexWrap:`wrap`,alignContent:`flex-start`,gap:6},children:_.map(([e,a])=>{let s=t[e]??[],d=o.has(e),f=h(e);return(0,T.jsxs)(`div`,{"data-testid":`widget-config-item-${e}`,style:{flex:`1 1 200px`,boxSizing:`border-box`,padding:`8px 10px`,borderRadius:5,background:`var(--bg-panel)`,border:`1px solid var(--border)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:7,flexWrap:`wrap`},children:[(0,T.jsxs)(`div`,{style:{minWidth:0,flex:`1 1 120px`},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,fontWeight:600,fontFamily:`var(--font-mono)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e}),a&&(0,T.jsxs)(`div`,{style:{marginTop:2,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`,color:`var(--text-dim)`},children:[c(`config.widgets.x`),`: `,a.x,` `,c(`config.widgets.y`),`: `,a.y,` ·`,` `,c(`config.widgets.width`),`: `,a.width,` `,c(`config.widgets.height`),`:`,` `,a.height]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:4,flexShrink:0},children:[d&&(0,T.jsxs)(`button`,{type:`button`,"data-testid":`widget-expand-${e}`,"aria-label":c(`widgets.reopen`),title:c(`widgets.reopen`),onClick:t=>g(e,t.clientX,t.clientY),style:{display:`flex`,alignItems:`center`,gap:4,padding:`4px 8px`,borderRadius:5,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`},className:`hover-shift`,children:[(0,T.jsx)(an,{size:13,"aria-hidden":!0}),c(`widgets.reopen`)]}),(0,T.jsxs)(`button`,{type:`button`,"data-testid":`widget-bind-${e}`,onClick:()=>u(e),style:{display:`flex`,alignItems:`center`,gap:4,padding:`4px 8px`,borderRadius:5,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:[(0,T.jsx)(gn,{size:13,"aria-hidden":!0}),c(`config.widgets.bind`)]})]})]}),f&&(0,T.jsx)(`div`,{style:{marginTop:4,fontSize:`var(--text-sm)`,color:`var(--text-muted)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:f}),(0,T.jsx)(bG,{messages:s,onAdd:t=>n(e,t),onRemove:t=>r(e,t),onUpdate:(t,n)=>i(e,t,n),bindOpen:l===e,onBindOpenChange:e=>{e||u(null)},ns:`widgets`,bindTestIdPrefix:`widget-bind`,editTestIdPrefix:`widget-edit`,chipTestIdPrefix:`widget-bound-${e}`,bindHintArgs:{key:e}})]},e)})}),f&&(0,T.jsx)(`div`,{role:`status`,"aria-live":`polite`,"data-testid":`widget-expanded-toast`,style:{position:`fixed`,left:Math.min(f.x,window.innerWidth-180),top:f.y+12,transform:`translateX(-50%)`,zIndex:2e3,padding:`8px 12px`,borderRadius:7,border:`1px solid var(--status-success)`,background:`var(--bg)`,color:`var(--text)`,fontSize:`var(--text-base)`,boxShadow:`0 4px 16px var(--shadow-strong)`,whiteSpace:`nowrap`},children:c(`widgets.expandedToChat`,{key:f.key})})]})}function kae({widgetGeometries:e,widgetMessages:t,addWidgetMessage:n,removeWidgetMessage:r,updateWidgetMessage:i,extensionWidgets:a,closedWidgets:o,handleReopenWidget:s}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(Oae,{geometries:e,messages:t,onAddMessage:n,onRemoveMessage:r,onUpdateMessage:i,widgets:a,closedKeys:o,onReopen:s})})}function Aae({items:e,openConfigTab:t,setConfigSection:n,onDismiss:r}){let{t:i}=M();return(0,T.jsxs)(`div`,{role:`status`,"data-testid":`update-banner`,style:{display:`flex`,alignItems:`center`,gap:8,padding:`6px 12px`,borderBottom:`1px solid var(--border)`,background:`color-mix(in srgb, var(--status-warning) 10%, var(--bg-panel))`,fontSize:`var(--text-sm)`,color:`var(--text)`,flexShrink:0},children:[(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:i(`updates.banner`,{items:e.join(`, `)})}),(0,T.jsx)(`button`,{type:`button`,"data-testid":`update-banner-view`,onClick:()=>{t(),n(`updates`)},style:{padding:`3px 10px`,border:`1px solid var(--border)`,borderRadius:6,background:`none`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0},children:i(`updates.view`)}),(0,T.jsx)(`button`,{type:`button`,"aria-label":i(`i18n.close`),onClick:r,style:{padding:`2px 6px`,border:`none`,background:`none`,color:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0},children:`✕`})]})}function jae(){let e=(0,d.useRef)(null);return{chatInputRef:e,handleAtMention:(0,d.useCallback)((t,n)=>{e.current?.insertText(QZ(t,n))},[]),handleAtMentions:(0,d.useCallback)(t=>{let n=eQ(t);n&&e.current?.insertText(n)},[]),handleFileLineMention:(0,d.useCallback)((t,n,r)=>{e.current?.insertText($Z(t,n,r))},[])}}function Mae(e){try{let t=window.localStorage.getItem(e);if(t===null)return null;let n=Number.parseInt(t,10);return Number.isFinite(n)?n:null}catch{return null}}function z9(e,t){try{window.localStorage.setItem(e,String(t))}catch{}}function B9(e){let{ariaLabel:t,cssVariable:n,defaultWidth:r,getDefaultWidth:i,getMaxWidth:a,growthDirection:o,maxWidth:s,minWidth:c,storageKey:l,widthRef:u}=e,f=(0,d.useRef)(null),p=(0,d.useRef)(null),m=(0,d.useRef)(!1),[h,g]=(0,d.useState)(r),[_,v]=(0,d.useState)(!1),y=(0,d.useCallback)(()=>Math.min(s,Math.max(c,a())),[a,s,c]),b=(0,d.useCallback)(e=>vr(e,c,y()),[y,c]),x=(0,d.useCallback)(e=>{u.current=e,f.current?.style.setProperty(n,`${e}px`)},[n,u]),S=(0,d.useCallback)((e,t={})=>{let{forcePersist:n=!1,persist:r=!0}=t,i=b(e),a=i!==u.current;return x(i),g(i),r&&(a||n)&&z9(l,i),i},[x,b,l,u]),C=(0,d.useCallback)(e=>{document.body.style.cursor=e.previousCursor,document.body.style.userSelect=e.previousUserSelect},[]),w=(0,d.useCallback)(e=>{let t=p.current;if(!(!t||t.pointerId!==e)){p.current=null,C(t),v(!1),S(u.current,{forcePersist:!0});try{t.target.hasPointerCapture(e)&&t.target.releasePointerCapture(e)}catch{}}},[S,C,u]),T=(0,d.useCallback)(e=>{if(e.pointerType===`mouse`&&e.button!==0)return;e.preventDefault(),e.stopPropagation();let t=p.current;t&&w(t.pointerId);let n=e.currentTarget;n.focus({preventScroll:!0}),n.setPointerCapture(e.pointerId),p.current={pointerId:e.pointerId,startX:e.clientX,startWidth:u.current,target:n,previousCursor:document.body.style.cursor,previousUserSelect:document.body.style.userSelect},document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,v(!0)},[w,u]),E=(0,d.useCallback)(e=>{let t=p.current;if(!t||t.pointerId!==e.pointerId)return;if(e.pointerType===`mouse`&&e.buttons===0){w(e.pointerId);return}e.preventDefault();let n=o===`right`?1:-1,r=b(t.startWidth+(e.clientX-t.startX)*n);x(r),e.currentTarget.setAttribute(`aria-valuenow`,String(r)),e.currentTarget.setAttribute(`aria-valuetext`,`${r} px`)},[x,b,w,o]),D=(0,d.useCallback)(e=>{w(e.pointerId)},[w]),O=(0,d.useCallback)(e=>{w(e.pointerId)},[w]),k=(0,d.useCallback)(e=>{w(e.pointerId)},[w]),A=(0,d.useCallback)(()=>{let e=i?.()??r;S(e,{forcePersist:!0})},[S,r,i]),j=(0,d.useCallback)(()=>{S(u.current)},[S,u]),M=(0,d.useCallback)(e=>{let t=e.shiftKey?32:12,n=o===`right`?`ArrowRight`:`ArrowLeft`,r=o===`right`?`ArrowLeft`:`ArrowRight`;e.key===n?(e.preventDefault(),S(u.current+t,{forcePersist:!0})):e.key===r?(e.preventDefault(),S(u.current-t,{forcePersist:!0})):e.key===`Home`?(e.preventDefault(),S(c,{forcePersist:!0})):e.key===`End`?(e.preventDefault(),S(y(),{forcePersist:!0})):e.key===`Enter`&&(e.preventDefault(),A())},[S,y,o,c,A,u]);return(0,d.useEffect)(()=>{if(m.current)return;m.current=!0;let e=Mae(l),t=e??i?.()??r,n=S(t,{persist:!1});e!==null&&e!==n&&z9(l,n)},[S,r,i,l]),(0,d.useEffect)(()=>{if(!m.current)return;S(u.current);let e=()=>{S(u.current)};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[S,u]),(0,d.useEffect)(()=>{if(!_)return;let e=()=>{let e=p.current;e&&w(e.pointerId)},t=()=>{document.visibilityState!==`visible`&&e()};return window.addEventListener(`blur`,e),document.addEventListener(`visibilitychange`,t),()=>{window.removeEventListener(`blur`,e),document.removeEventListener(`visibilitychange`,t)}},[w,_]),(0,d.useEffect)(()=>()=>{let e=p.current;e&&(p.current=null,C(e))},[C]),{isResizing:_,panelRef:f,reclampWidth:j,resetWidth:A,setWidth:e=>S(e,{forcePersist:!0}),separatorProps:{"aria-label":t,"aria-orientation":`vertical`,"aria-valuemax":y(),"aria-valuemin":c,"aria-valuenow":h,"aria-valuetext":`${h} px`,onDoubleClick:A,onKeyDown:M,onLostPointerCapture:k,onPointerCancel:O,onPointerDown:T,onPointerMove:E,onPointerUp:D,role:`separator`,tabIndex:0},width:h}}function Nae({isMobile:e,sidebarOpen:t,setSidebarOpen:n,translate:r}){let[i,a]=(0,d.useState)(!1),o=(0,d.useRef)(280),s=(0,d.useRef)(280),c=(0,d.useCallback)(()=>typeof window>`u`?480:yr({viewportWidth:window.innerWidth,rightPanelOpen:!1,rightPanelWidth:0}),[]),l=B9({ariaLabel:r(`layout.resizeSidebar`),cssVariable:`--sidebar-width`,defaultWidth:280,getMaxWidth:c,growthDirection:`right`,maxWidth:480,minWidth:180,storageKey:`pi-sidebar-width`,widthRef:o}),u=l.reclampWidth,f=B9({ariaLabel:r(`layout.resizeWidgetPanel`),cssVariable:`--widget-panel-width`,defaultWidth:280,getMaxWidth:()=>typeof window>`u`?560:br({viewportWidth:window.innerWidth,sidebarOpen:t,sidebarWidth:l.width}),growthDirection:`left`,maxWidth:560,minWidth:200,storageKey:`pi-widget-panel-width`,widthRef:s});return(0,d.useEffect)(()=>{e&&n(!1)},[e,n]),(0,d.useEffect)(()=>{a(!0)},[]),(0,d.useEffect)(()=>{u()},[u]),{sidebarResizer:l,widgetPanelResizer:f,mobileSidebarReady:i}}var Pae=176,Fae=224,V9=86,H9=116;function Iae({activeTopPanel:e,isMobile:t,tabBarRef:n,sidebarTopBarRef:r,languageBtnRef:i,fontScaleBtnRef:a}){let[o,s]=(0,d.useState)(null);return(0,d.useEffect)(()=>{if(!e)return;let o=()=>{if(document.hidden)return;let o=n.current?.getBoundingClientRect();if(o){if(e===`language`&&!t&&i.current){let e=i.current.getBoundingClientRect(),t=r.current?.getBoundingClientRect(),n=t?.top??e.top,a=t?.bottom??e.bottom,c=Math.min(Pae,t?.width??o.width),l=Math.min(e.left-1,Math.max(t?.left??o.left,(t?.right??o.right)-c)),u=a+4;s({top:u+V9>window.innerHeight-4?n-V9:u,left:l,width:c});return}if(e===`fontSize`&&!t&&a.current){let e=a.current.getBoundingClientRect(),t=r.current?.getBoundingClientRect(),n=t?.top??e.top,i=t?.bottom??e.bottom,c=Math.min(Fae,t?.width??o.width),l=Math.min(e.left-1,Math.max(t?.left??o.left,(t?.right??o.right)-c)),u=i+4;s({top:u+H9>window.innerHeight-4?n-H9:u,left:l,width:c});return}s({top:o.bottom,left:o.left,width:o.width})}};o();let c=new ResizeObserver(o);return n.current&&c.observe(n.current),i.current&&c.observe(i.current),a.current&&c.observe(a.current),()=>c.disconnect()},[e,t]),o}function Lae({activeCwd:e,translate:t}){let{value:n}=Yn(_e),r=(0,d.useMemo)(()=>n?nr(n):0,[n]),i=(0,d.useMemo)(()=>n?rr(n,t(`common.plugins`)):[],[n,t]),[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(void 0);return(0,d.useEffect)(()=>{e!==s.current&&(s.current=e,ge(e??null),_e.load().catch(e=>console.error(`[pi-web] load updates:`,e)))},[e]),{updatesBadge:r,updateItems:i,updatesBannerDismissed:a,setUpdatesBannerDismissed:o}}function Rae({panelOpen:e,highlighted:t,onToggle:n}){let{t:r}=M(),i=r(e?`sidebar.hide`:`sidebar.show`);return(0,T.jsx)(F,{label:i,children:(0,T.jsx)(`button`,{onClick:n,"aria-controls":`widget-panel`,"aria-expanded":e,"aria-label":i,"data-testid":`widget-panel-toggle`,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:36,height:36,padding:0,background:`none`,border:`none`,borderLeft:`1px solid var(--border)`,color:t?`var(--text)`:`var(--text-muted)`,cursor:`pointer`,flexShrink:0,transition:`color 0.12s`,"--hover-color":`var(--text)`},className:`hover-shift`,children:(0,T.jsxs)(`svg`,{width:I[`4xl`],height:I[`4xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`rect`,{x:`3`,y:`3`,width:I[`4xl`],height:I[`4xl`],rx:`2`}),(0,T.jsx)(`line`,{x1:`15`,y1:`3`,x2:`15`,y2:`21`})]})})})}function zae(){return(0,T.jsxs)(`div`,{role:`status`,"aria-label":`Loading`,"data-testid":`boot-splash`,style:{position:`fixed`,inset:0,zIndex:9999,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:18,background:`var(--bg)`,color:`var(--text-muted)`},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-6xl)`,fontWeight:700,color:`var(--accent)`,letterSpacing:`0.02em`},children:`pi`}),(0,T.jsx)(`div`,{style:{width:22,height:22,border:`2px solid var(--border)`,borderTopColor:`var(--accent)`,borderRadius:`50%`,animation:`boot-spin 0.8s linear infinite`}}),(0,T.jsx)(`style`,{children:`@keyframes boot-spin { to { transform: rotate(360deg); } }`})]})}function Bae(){let{t:e}=M(),t=(0,d.useSyncExternalStore)(St,Ct,Ct);if(t.length===0)return null;let n=t[t.length-1],r=t.length;return(0,T.jsx)(Vs,{open:!0,onOpenChange:()=>{},children:(0,T.jsxs)(Gs,{children:[(0,T.jsx)(qs,{style:{position:`fixed`,inset:0,zIndex:1200,background:`rgba(0, 0, 0, 0.45)`}}),(0,T.jsxs)(Zs,{role:`alertdialog`,"aria-modal":`true`,onInteractOutside:e=>e.preventDefault(),onEscapeKeyDown:e=>e.preventDefault(),style:{position:`fixed`,top:`50%`,left:`50%`,transform:`translate(-50%, -50%)`,zIndex:1200,maxWidth:480,width:`calc(100% - 48px)`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:10,padding:`16px 20px`,boxShadow:`0 8px 32px rgba(0, 0, 0, 0.35)`},children:[(0,T.jsxs)(nc,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:10,fontSize:`var(--text-base)`,fontWeight:600,color:`var(--text)`},children:[(0,T.jsx)(`span`,{style:{color:`var(--status-error)`},children:`⚠`}),(0,T.jsx)(`span`,{children:r>1?e(`errors.titleCount`,{count:r}):e(`errors.title`)})]}),(0,T.jsx)(ic,{asChild:!0,children:(0,T.jsx)(`div`,{children:n.kind===`api`?(0,T.jsxs)(`div`,{children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:6},children:[(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-xs)`,padding:`1px 8px`,borderRadius:999,background:`color-mix(in srgb, var(--status-error) 14%, transparent)`,color:`var(--status-error)`,fontWeight:600,whiteSpace:`nowrap`},children:[`HTTP `,n.status||`ERR`]}),n.context&&(0,T.jsx)(`span`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`},children:n.context})]}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text)`,wordBreak:`break-word`},children:n.message})]}):(0,T.jsxs)(`div`,{children:[n.context&&(0,T.jsx)(`div`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`,marginBottom:6},children:n.context}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text)`,wordBreak:`break-word`},children:n.message})]})})}),(0,T.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8,marginTop:16},children:[r>1&&(0,T.jsx)(`button`,{type:`button`,onClick:Tt,style:{border:`1px solid var(--border)`,background:`none`,color:`var(--text-muted)`,borderRadius:6,padding:`4px 12px`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:e(`errors.clearAll`)}),(0,T.jsx)(`button`,{type:`button`,onClick:wt,style:{border:`none`,background:`var(--accent)`,color:`#fff`,borderRadius:6,padding:`4px 14px`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:e(`errors.close`)})]})]})]})})}var Vae=3e3,Hae=6e4;function U9(e,t){return e?e.error?e.path.split(/[\\/]/).pop()||t:e.name||e.firstMessage.slice(0,50)||t.slice(0,12):t.slice(0,12)}function Uae(e,t){return e.filter(e=>!t.has(e))}function Wae(e,t,n,r){switch(e.type){case`prompt_error`:case`extension_error`:{if(!n.errors)return null;let t=e.errorMessage??r(`i18n.commandFailed`);return{title:r(`chat.taskErrorNotificationTitle`),body:t,tag:`agent-error-${e.sessionId}`}}case`extension_ui_request`:{if(!n.questions)return null;let t=e.method;if(t!==`select`&&t!==`confirm`&&t!==`input`&&t!==`editor`)return null;let i=e.title??r(`chat.questionNotificationTitle`);return{title:r(`chat.questionNotificationTitle`),body:i,tag:`question-${e.id??e.sessionId}`}}default:return null}}function Gae(){let{t:e}=M(),{notifyEvents:t}=Nt(),[n,r]=(0,d.useState)([]),i=(0,d.useRef)([]);(0,d.useEffect)(()=>{i.current=n});let a=(0,d.useRef)(t);(0,d.useEffect)(()=>{a.current=t});let o=(0,d.useRef)(e);(0,d.useEffect)(()=>{o.current=e});let{runningSessionIds:s}=LX(),c=(0,d.useRef)(!1),l=(0,d.useRef)([]),u=(0,d.useRef)(new Map);(0,d.useEffect)(()=>{if(!a.current.taskComplete)return;let e=c.current?l.current:null;if(l.current=[...s],c.current=!0,!e)return;let t=Uae(e,s);if(t.length===0)return;let n=Date.now();for(let e of t){let t=u.current.get(e);t!==void 0&&n-t<Vae||(i.current.some(t=>t.id===e)||p.current(),console.info(`[notify] completion via running-snapshot (${e})`),Xq({title:o.current(`chat.taskCompleteNotificationTitle`),body:o.current(`chat.sessionCompletedNotificationBody`,{name:U9(i.current.find(t=>t.id===e),e)}),tag:`session-complete-${e}`,notifyWhileActive:a.current.notifyWhileActive}))}},[s]);let f=(0,d.useCallback)(async()=>{try{let e=await fetch(`/api/sessions`,{cache:`no-store`});if(!e.ok)return;let t=await e.json();t.sessions&&r(t.sessions)}catch{}},[]),p=(0,d.useRef)(f);return(0,d.useEffect)(()=>{p.current=f}),(0,d.useEffect)(()=>{f();let e=setInterval(()=>void f(),Hae);return()=>clearInterval(e)},[f]),(0,d.useEffect)(()=>mY({ch:`global`},e=>{let t=e;if(!t.sessionId)return;let n=t.sessionId;(t.type===`prompt_error`||t.type===`extension_error`)&&u.current.set(n,Date.now()),i.current.some(e=>e.id===n)||p.current();let r=Wae(t,U9(i.current.find(e=>e.id===n),n),a.current,o.current);r&&(console.info(`[agent-events] notifying: ${r.title}`),Xq({...r,notifyWhileActive:a.current.notifyWhileActive}))}),[]),null}var Kae=3;function qae(){let{t:e}=M(),t=(0,d.useSyncExternalStore)(XK,ZK,ZK);if(t.length===0)return null;let n=t.slice(0,Kae),r=t.length-n.length;return(0,T.jsx)(`div`,{"aria-busy":`true`,style:{position:`fixed`,inset:0,zIndex:1150,background:`color-mix(in srgb, var(--bg) 40%, transparent)`,display:`flex`,alignItems:`center`,justifyContent:`center`,pointerEvents:`none`},children:(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:10,minWidth:220,maxWidth:`60vw`,padding:`14px 18px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:`var(--radius)`,boxShadow:`0 8px 32px rgba(0,0,0,0.25)`},children:[n.map(t=>(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,fontSize:`var(--text-sm)`,color:`var(--text)`},children:[(0,T.jsx)(`div`,{style:{width:14,height:14,flexShrink:0,border:`2px solid var(--border)`,borderTopColor:`var(--accent)`,borderRadius:`50%`,animation:`spin 0.8s linear infinite`}}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t.label||e(`loading.inProgress`)})]},t.id)),r>0&&(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:e(`loading.more`,{count:r})})]})})}function Jae({cwd:e,busy:t,error:n,onCancel:r,onConfirm:i}){let{t:a}=M();return(0,T.jsx)(Np,{open:!0,onOpenChange:e=>{!e&&!t&&r()},children:(0,T.jsxs)(Lp,{className:`w-[440px] gap-0 overflow-hidden rounded-lg p-0`,style:{zIndex:1100,maxWidth:`100%`},showCloseButton:!1,onPointerDownOutside:e=>{t&&e.preventDefault()},onEscapeKeyDown:e=>{t&&e.preventDefault()},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,gap:12,padding:`18px 18px 14px`},children:[(0,T.jsxs)(`svg`,{width:I[`5xl`],height:I[`5xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--status-warning)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{flexShrink:0,marginTop:1},children:[(0,T.jsx)(`path`,{d:`M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z`}),(0,T.jsx)(`path`,{d:`m9 12 2 2 4-4`})]}),(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(Rp,{style:{fontSize:`var(--text-2xl)`,fontWeight:700,color:`var(--text)`,lineHeight:1.4},children:a(`trust.dialogTitle`)}),(0,T.jsx)(zp,{style:{marginTop:7,fontSize:`var(--text-base)`,lineHeight:1.6,color:`var(--text-muted)`},children:a(`trust.dialogBody`)}),(0,T.jsx)(`code`,{style:{display:`block`,marginTop:10,padding:`8px 10px`,border:`1px solid var(--border)`,borderRadius:5,background:`var(--bg)`,color:`var(--text)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,overflowWrap:`anywhere`},children:e}),n&&(0,T.jsx)(`div`,{role:`alert`,style:{marginTop:10,color:`var(--status-error)`,fontSize:`var(--text-base)`,lineHeight:1.5},children:n})]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8,padding:`10px 18px`,borderTop:`1px solid var(--border)`},children:[(0,T.jsx)(Mp,{type:`button`,variant:`outline`,onClick:r,disabled:t,className:`h-8 px-3 text-xs`,children:a(`trust.cancel`)}),(0,T.jsx)(Mp,{type:`button`,onClick:i,disabled:t,className:`h-8 px-3 text-xs`,style:{cursor:t?`wait`:`pointer`},children:a(t?`trust.trusting`:`trust.trustProject`)})]})]})})}function Yae(e){return e.error?e.path.split(/[\\/]/).pop()||e.id:e.name||e.firstMessage.slice(0,50)||e.id.slice(0,12)}var W9=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``).replace(/^[a-zA-Z]:/,e=>e.toLowerCase());function Xae({filteredSessions:e,selectedSession:t,projectRootFor:n,selectedCwd:r,savedWorkspaces:i}){let a=t&&!e.some(e=>e.id===t.id)?[{...t,projectRoot:t.projectRoot??n(t.cwd)??void 0},...e]:e,o=new Map,s=new Map;for(let e of a){let t=e.projectRoot??e.cwd??`unknown`,n=t===`unknown`?t:W9(t);o.has(n)||(o.set(n,[]),s.set(n,t)),o.get(n).push(e)}let c=[...o.entries()].map(([e,t])=>({root:s.get(e)??e,sessions:t})).sort((e,t)=>{let n=e=>Math.max(...e.map(e=>{let t=new Date(e.modified).getTime();return Number.isNaN(t)?0:t}));return n(t.sessions)-n(e.sessions)}),l=[];if(r){let e=n(r);e&&!o.has(W9(e))&&l.push({root:e,sessions:[]})}let u=new Set([...o.keys()]);for(let e of l)u.add(W9(e.root));let d=[];for(let e of i??[]){let t=W9(e);u.has(t)||(u.add(t),d.push({root:e,sessions:[]}))}return[...l,...c,...d]}function Zae(e,t){return t?e.map(e=>({...e,sessions:e.sessions.filter(e=>Yae(e).toLowerCase().includes(t))})).filter(e=>e.sessions.length>0):e}var G9=`pi-web:unread-session-ids`;function Qae(){if(typeof window>`u`)return new Set;try{let e=window.localStorage.getItem(G9);if(!e)return new Set;let t=JSON.parse(e);return Array.isArray(t)?new Set(t.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}function K9(e){if(!(typeof window>`u`))try{e.size===0?window.localStorage.removeItem(G9):window.localStorage.setItem(G9,JSON.stringify([...e]))}catch{}}function $ae(){let[e,t]=(0,d.useState)(()=>Qae());return(0,d.useEffect)(()=>{K9(e)},[e]),{unreadSessionIds:e,setUnreadSessionIds:t}}function eoe(){let{t:e}=M();return(0,T.jsx)(`span`,{title:e(`sidebar.newActivity`),"aria-label":e(`sidebar.newSessionActivity`),style:{width:14,height:14,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0,color:`var(--accent)`},children:(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 14 14`,fill:`none`,"aria-hidden":`true`,style:{display:`block`},children:[(0,T.jsx)(`circle`,{cx:`7`,cy:`7`,r:`2.5`,fill:`currentColor`}),(0,T.jsx)(`circle`,{cx:`7`,cy:`7`,r:`3`,stroke:`currentColor`,strokeWidth:`1.4`,opacity:`0.32`,style:{transformOrigin:`center`,animation:`session-ring-pulse 1.6s ease-in-out infinite`}})]})})}function toe({savedWorkspaces:e,onSavedWorkspacesChange:t,setSelectedCwd:n}){let[r,i]=(0,d.useState)(!1),[a,o]=(0,d.useState)(``),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(!1);return{customPathOpen:r,setCustomPathOpen:i,customPathError:s,setCustomPathError:c,customPathValidating:l,commitCustomPath:(0,d.useCallback)(async r=>{let s=(r??a).trim();if(!(!s||l)){u(!0),c(null);try{let r=await fetch(`/api/cwd/validate`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:s})}),a=await r.json().catch(()=>({}));if(!r.ok||a.error){c(a.error??`HTTP ${r.status}`);return}let l=a.cwd??s;if(n(l),i(!1),o(``),t){let n=e??[];n.some(e=>W9(e)===W9(l))||t([...n,l])}}catch(e){c(e instanceof Error?e.message:String(e))}finally{u(!1)}}},[a,l,e,t,n])}}function noe({savedWorkspaces:e,onSavedWorkspacesChange:t,onSessionDeleted:n,loadSessions:r}){let[i,a]=(0,d.useState)(null),[o,s]=(0,d.useState)(!1);return{confirmDeleteGroup:i,setConfirmDeleteGroup:a,deletingGroup:o,handleDeleteGroup:(0,d.useCallback)(async i=>{a(null),s(!0);try{await Promise.all(i.sessions.map(e=>fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`DELETE`}).then(t=>{t.ok||console.error(`[sidebar] failed to delete ${e.id}:`,t.status)}).catch(t=>console.error(`[sidebar] failed to delete ${e.id}:`,t))));for(let e of i.sessions)n?.(e.id);let a=e??[];t&&a.some(e=>W9(e)===W9(i.root))&&t(a.filter(e=>W9(e)!==W9(i.root))),r(!1,!0)}finally{s(!1)}},[e,t,n,r])}}var roe=2e3;function ioe({selectedSessionId:e,refreshKey:t,runningSessionIds:n,setUnreadSessionIds:r,setRunningSessionIds:i,runningPollAuthoritativeRef:a,setError:o}){let[s,c]=(0,d.useState)([]),[l,u]=(0,d.useState)(!0),[f,p]=(0,d.useState)(``),[m,h]=(0,d.useState)(!1),g=(0,d.useRef)(new Set),_=(0,d.useRef)(null),v=(0,d.useRef)(0),y=(0,d.useCallback)(async(e=!1,t=!1)=>{try{e&&u(!0);let n=t?await de.refresh():await de.load();c(n.sessions),a.current||i(new Set(n.runningSessionIds??[]));let s=new Set(n.sessions.map(e=>e.id));r(e=>{if(e.size===0)return e;let t=new Set([...e].filter(e=>s.has(e)));return t.size===e.size?e:t}),o(null),e||(h(!0),_.current&&clearTimeout(_.current),_.current=setTimeout(()=>h(!1),2e3))}catch(e){o(String(e))}finally{e&&u(!1)}},[r,i,a,o]),b=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{let e=!b.current;b.current=!0,y(e,e)},[y,t]),(0,d.useEffect)(()=>{let t=[...g.current].filter(t=>!n.has(t)&&t!==e),i=[...n];if((t.length>0||i.length>0)&&r(e=>{let n=new Set(e);return i.forEach(e=>n.delete(e)),t.forEach(e=>n.add(e)),n}),t.length>0&&y(!1),[...n].filter(e=>!s.some(t=>t.id===e)).length>0){let e=Date.now();e-v.current>=roe&&(v.current=e,y(!1,!0))}g.current=n},[n,e,s,y,r]),(0,d.useEffect)(()=>{e&&(QY(e),r(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}))},[e,r]),(0,d.useEffect)(()=>{fetch(`/api/home`).then(e=>e.json()).then(e=>{e.home&&p(e.home)}).catch(e=>console.error(`[pi-web] load home dir:`,e))},[]),{allSessions:s,loading:l,sessionRefreshDone:m,homeDir:f,loadSessions:y}}var q9=(e,t)=>e.replace(/\\/g,`/`)===t.replace(/\\/g,`/`);function J9(e,t){let n=new Date(e),r=new Date().getTime()-n.getTime(),i=Math.floor(r/6e4),a=Math.floor(r/36e5),o=Math.floor(r/864e5);return i<1?t(`sidebar.justNow`):i<60?t(`sidebar.minutesAgo`,{count:i}):a<24?t(`sidebar.hoursAgo`,{count:a}):o<7?t(`sidebar.daysAgo`,{count:o}):n.toLocaleDateString()}function aoe(e){let t=new Map;for(let n of e){let e=n.projectRoot??n.cwd;if(!e)continue;let r=t.get(e);(!r||n.modified>r)&&t.set(e,n.modified)}return[...t.entries()].sort((e,t)=>t[1].localeCompare(e[1])).map(([e])=>e)}function Y9(e,t){return t&&e.startsWith(t)?`~${e.slice(t.length)}`:e}function ooe(e){let t=e.split(/[\\/]+/).filter(Boolean);return t.length?t[t.length-1]:e}function X9({text:e,style:t}){return(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,display:`block`,minWidth:0,lineHeight:1.35,direction:`rtl`,textAlign:`left`,...t},children:(0,T.jsx)(`span`,{style:{unicodeBidi:`plaintext`},children:e})})}function Z9({session:e}){return(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:4,color:`var(--danger)`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},title:`${e.path}: ${e.error}`,children:[(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{flexShrink:0},children:[(0,T.jsx)(`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}),(0,T.jsx)(`path`,{d:`M12 9v4`}),(0,T.jsx)(`path`,{d:`M12 17h.01`})]}),e.error]})}var Q9=140;function soe({open:e,children:t,style:n}){let[r,i]=(0,d.useState)(e),[a,o]=(0,d.useState)(e);return(0,d.useEffect)(()=>{let t,n;return e?(i(!0),o(!1),t=window.requestAnimationFrame(()=>{t=window.requestAnimationFrame(()=>o(!0))})):(o(!1),n=setTimeout(()=>i(!1),Q9)),()=>{t!==void 0&&window.cancelAnimationFrame(t),n&&clearTimeout(n)}},[e]),r?(0,T.jsx)(`div`,{style:{...n,opacity:+!!a,transform:a?`translateY(0) scale(1)`:`translateY(-8px) scale(0.96)`,transformOrigin:`top center`,transition:`opacity ${Q9}ms ease, transform ${Q9}ms ease`,pointerEvents:e?`auto`:`none`},children:t}):null}function coe({worktreeState:e,allSessions:t,selectedCwd:n,setSelectedCwd:r,onCwdChange:i,initialSessionId:a,skipInitialProjectSelection:o,onSelectSession:s,onInitialRestoreDone:c,markSeen:l}){let u=(0,d.useCallback)(n=>n?e?.forCwd&&q9(e.forCwd,n)||e?.worktrees.some(e=>q9(e.path,n))?e.projectRoot:t.find(e=>e.cwd&&q9(e.cwd,n))?.projectRoot??n:null,[e,t]),f=(0,d.useRef)(null);(0,d.useEffect)(()=>{f.current!==n&&(f.current=n,i?.(n,u(n)))},[n,i,u]);let p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{if(!(t.length===0||o)&&n===null){if(a&&!p.current){p.current=!0;let e=t.find(e=>e.id===a);if(e){r(e.cwd),l(e.id),s(e,!0);return}c?.()}let e=aoe(t);e.length>0&&r(e[0])}},[t,n,a,o,s,c,l,r]),{projectRootFor:u}}function loe({onUnseenSession:e}){let[t,n]=(0,d.useState)(()=>new Set);return{seenSessionIds:t,markSeen:(0,d.useCallback)(e=>{n(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),handleUnseen:(0,d.useCallback)(t=>{n(e=>{if(!e.has(t))return e;let n=new Set(e);return n.delete(t),n}),pY(t),e?.(t)},[e])}}function uoe(e){let{selectedCwd:t,selectedCwdProp:n,refreshKey:r,setSelectedCwd:i}=e,[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)(!1),[l,u]=(0,d.useState)(!1),[f,p]=(0,d.useState)(``),[m,h]=(0,d.useState)(null),[g,_]=(0,d.useState)(!1),[v,y]=(0,d.useState)(null),[b,x]=(0,d.useState)(null),[S,C]=(0,d.useState)(``),w=(0,d.useRef)(null),T=(0,d.useRef)(null),E=(0,d.useRef)(null);(0,d.useEffect)(()=>{n&&n!==E.current&&(E.current=n,i(n))},[n,i]);let D=(0,d.useCallback)(()=>{c(!1),u(!1),p(``),h(null),y(null),C(``)},[]),[O,k]=(0,d.useState)(0);(0,d.useLayoutEffect)(()=>{if(!t){o(null),x(null);return}let e=!1;return x(t),fetch(`/api/worktrees?cwd=${encodeURIComponent(t)}`).then(e=>e.json()).then(n=>{if(!e){if(x(null),n.error||!n.projectRoot){o(null);return}o({forCwd:t,projectRoot:n.projectRoot,isGit:n.isGit??!1,isTopLevel:n.isTopLevel??!1,worktrees:n.worktrees??[]})}}).catch(()=>{e||(x(null),o(null))}),()=>{e=!0}},[t,O,r]);let A=(0,d.useCallback)(async()=>{let e=f.trim();if(!(!e||g||!a)){_(!0),h(null);try{let t=await fetch(`/api/worktrees`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:a.projectRoot,branch:e})}),n=await t.json().catch(()=>({}));if(!t.ok||n.error||!n.path){h(n.error??`HTTP ${t.status}`);return}D(),o(t=>t&&{...t,forCwd:n.path,worktrees:[...t.worktrees,{path:n.path,branch:e,isMain:!1}]}),i(n.path),k(e=>e+1)}catch(e){h(e instanceof Error?e.message:String(e))}finally{_(!1)}}},[D,f,g,a,i]),j=(0,d.useCallback)(async(e,n)=>{if(!(!a||g)){_(!0),h(null);try{let r=await fetch(`/api/worktrees`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:a.projectRoot,path:e,force:n})}),o=await r.json().catch(()=>({}));if(!r.ok){if(o.dirty&&!n){y(e);return}h(o.error??`HTTP ${r.status}`);return}D(),t&&e&&q9(t,e)&&i(a.projectRoot),k(e=>e+1)}catch(e){h(e instanceof Error?e.message:String(e))}finally{_(!1)}}},[D,a,g,t,i]);return(0,d.useEffect)(()=>{let e=e=>{w.current&&!w.current.contains(e.target)&&D()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[D]),{worktreeState:a,worktreeLoadingCwd:b,wtDropdownOpen:s,setWtDropdownOpen:c,wtNewOpen:l,setWtNewOpen:u,wtNewBranch:f,setWtNewBranch:p,wtError:m,setWtError:h,wtBusy:g,wtConfirmRemove:v,setWtConfirmRemove:y,wtFilter:S,setWtFilter:C,wtDropdownRef:w,wtNewInputRef:T,closeWorktrees:D,handleCreateWorktree:A,handleRemoveWorktree:j}}function doe({selectedCwd:e,worktreeState:t,selectedProject:n,worktreeLoadingCwd:r,t:i}){let a=!!(t?.isGit&&t.isTopLevel&&e&&n===t.projectRoot),o=e&&t&&n===t.projectRoot&&!a?t.isGit?{label:i(`sidebar.openRepoRoot`),title:i(`sidebar.openRepoRootTitle`)}:{label:i(`sidebar.gitRepoRootOnly`),title:i(`sidebar.gitRepoRootOnlyTitle`)}:null,s=!!(e&&r===e);return{showWorktreeSwitcher:a,worktreeLoading:s,inactiveWorktreeSelector:o??(s&&!a?{label:i(`sidebar.worktrees`),title:i(`sidebar.checkingWorktrees`)}:null)}}function foe({selectedSession:e,selectedSessionId:t,refreshKey:n,selectedCwdProp:r,savedWorkspaces:i,onSavedWorkspacesChange:a,onUnseenSession:o,onCwdChange:s,initialSessionId:c,skipInitialProjectSelection:l,onSelectSession:u,onInitialRestoreDone:f,onSessionDeleted:p}){let{t:m}=M(),[h,g]=(0,d.useState)(null),_=toe({savedWorkspaces:i,onSavedWorkspacesChange:a,setSelectedCwd:g}),v=uoe({selectedCwd:h,selectedCwdProp:r,refreshKey:n,setSelectedCwd:g}),{worktreeState:y,worktreeLoadingCwd:b}=v,[x,S]=(0,d.useState)(!1),[C,w]=(0,d.useState)(``),T=(0,d.useRef)(null);(0,d.useEffect)(()=>{x&&T.current?.focus()},[x]);let{seenSessionIds:E,markSeen:D,handleUnseen:O}=loe({onUnseenSession:o}),{unreadSessionIds:k,setUnreadSessionIds:A}=$ae(),j=tX(),{runningSessionIds:N,runningPhases:ee,runningPhaseSince:te,runningBusySince:P,setRunningSessionIds:ne,runningPollAuthoritativeRef:re}=LX(),[ie,ae]=(0,d.useState)(null),{allSessions:oe,loading:se,sessionRefreshDone:ce,homeDir:le,loadSessions:ue}=ioe({selectedSessionId:t,refreshKey:n,runningSessionIds:N,setUnreadSessionIds:A,setRunningSessionIds:ne,runningPollAuthoritativeRef:re,setError:ae});(0,d.useEffect)(()=>{K9(k)},[k]);let{projectRootFor:de}=coe({worktreeState:y,allSessions:oe,selectedCwd:h,setSelectedCwd:g,onCwdChange:s,initialSessionId:c,skipInitialProjectSelection:l,onSelectSession:u,onInitialRestoreDone:f,markSeen:D}),[fe,pe]=(0,d.useState)({}),[me,he]=(0,d.useState)(null),ge=de(h),_e=oe,{showWorktreeSwitcher:ve,inactiveWorktreeSelector:ye}=doe({selectedCwd:h,worktreeState:y,selectedProject:ge,worktreeLoadingCwd:b,t:m}),{confirmDeleteGroup:be,setConfirmDeleteGroup:xe,deletingGroup:Se,handleDeleteGroup:Ce}=noe({savedWorkspaces:i,onSavedWorkspacesChange:a,onSessionDeleted:p,loadSessions:ue}),we=(0,d.useMemo)(()=>Xae({filteredSessions:_e,selectedSession:e,projectRootFor:de,selectedCwd:h,savedWorkspaces:i}),[_e,h,de,e,i]),Te=C.trim().toLowerCase();return{t:m,selectedCwd:h,setSelectedCwd:g,selectedSessionId:t,customPath:_,wt:v,workspaceSearchOpen:x,setWorkspaceSearchOpen:S,workspaceSearchQuery:C,setWorkspaceSearchQuery:w,workspaceSearchInputRef:T,seenSessionIds:E,markSeen:D,handleUnseen:O,unreadSessionIds:k,interactionBadges:j,runningSessionIds:N,runningPhases:ee,runningPhaseSince:te,runningBusySince:P,error:ie,setError:ae,loading:se,sessionRefreshDone:ce,homeDir:le,loadSessions:ue,groupCollapsed:fe,setGroupCollapsed:pe,hoveredGroup:me,setHoveredGroup:he,selectedProject:ge,showWorktreeSwitcher:ve,inactiveWorktreeSelector:ye,confirmDeleteGroup:be,setConfirmDeleteGroup:xe,deletingGroup:Se,handleDeleteGroup:Ce,wsQuery:Te,visibleGroups:(0,d.useMemo)(()=>Zae(we,Te),[we,Te])}}function poe({searchQuery:e,setSearchQuery:t,currentPath:n,hasUncommittedPath:r,canSelect:i,busy:a,onCancel:o,onSelect:s}){let{t:c}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{className:`directory-picker-footer`,style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,gap:10,flexShrink:0,padding:`10px 18px`,borderTop:`1px solid var(--border)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,flex:1,minWidth:0},children:[(0,T.jsxs)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{color:`var(--text-dim)`,flexShrink:0},children:[(0,T.jsx)(`circle`,{cx:`11`,cy:`11`,r:`7`}),(0,T.jsx)(`path`,{d:`m21 21-4.3-4.3`})]}),(0,T.jsx)(lx,{className:`directory-picker-search h-8 flex-1`,type:`text`,value:e,placeholder:c(`directoryPicker.search`),"aria-label":c(`directoryPicker.search`),autoComplete:`off`,spellCheck:!1,style:jS,onChange:e=>t(e.target.value)})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,flexShrink:0},children:[(0,T.jsx)(`button`,{className:`directory-picker-action`,type:`button`,onClick:o,disabled:a,style:{padding:`6px 14px`,border:`1px solid var(--border)`,borderRadius:6,background:`none`,color:`var(--text-muted)`,cursor:a?`default`:`pointer`,fontSize:`var(--text-lg)`},children:c(`i18n.cancel`)}),(0,T.jsx)(`button`,{className:`directory-picker-action`,type:`button`,onClick:()=>s(n),disabled:!i,title:c(r?`directoryPicker.openBeforeSelecting`:`directoryPicker.selectCurrentDirectory`),style:{padding:`6px 16px`,border:0,borderRadius:6,background:`var(--accent)`,color:`var(--on-accent)`,fontSize:`var(--text-lg)`,fontWeight:600,opacity:i?1:.6,cursor:i?`pointer`:`default`},children:c(a?`i18n.checking`:`directoryPicker.selectThisFolder`)})]})]})})}function moe({loading:e,drives:t,filteredDrives:n,filteredDirectories:r,query:i,navigateTo:a,loadError:o,error:s}){let{t:c}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{className:`directory-picker-list`,style:{flex:1,minHeight:0,overflow:`auto`,padding:`8px 10px`},children:[e?(0,T.jsx)(`div`,{style:{padding:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:c(`directoryPicker.loadingDirectories`)}):t===null?r.length>0?r.map(e=>(0,T.jsxs)(`button`,{className:`directory-picker-entry`,type:`button`,onClick:()=>void a(e.path),title:e.path,style:{width:`100%`,minHeight:30,display:`flex`,alignItems:`center`,gap:7,padding:`5px 8px`,border:0,borderRadius:5,background:`none`,color:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`},children:[(0,T.jsx)(MS,{}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.name})]},e.path)):(0,T.jsx)(`div`,{style:{padding:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:c(i?`directoryPicker.noMatches`:`directoryPicker.noSubdirectories`)}):n.length>0?n.map(e=>(0,T.jsxs)(`button`,{className:`directory-picker-entry`,type:`button`,onClick:()=>void a(e.path),title:e.path,style:{width:`100%`,minHeight:34,display:`flex`,alignItems:`center`,gap:7,padding:`6px 8px`,border:0,borderRadius:5,background:`none`,color:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`},children:[(0,T.jsx)(NS,{}),(0,T.jsx)(`span`,{children:e.name})]},e.path)):(0,T.jsx)(`div`,{style:{padding:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:c(i?`directoryPicker.noMatches`:`directoryPicker.noDrives`)}),(o||s)&&(0,T.jsx)(`div`,{style:{padding:`8px`,color:`var(--status-error)`,fontSize:`var(--text-sm)`},children:o??s})]})})}function hoe({handlePathSubmit:e,navigateTo:t,parentDirectory:n,loading:r,canNavigateUp:i,pathInputRef:a,pathInput:o,setPathInput:s,setLoadError:c}){let{t:l}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`form`,{onSubmit:e,style:{display:`flex`,alignItems:`center`,gap:8,flexShrink:0,padding:`10px 14px`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(`button`,{className:`directory-picker-back`,type:`button`,onClick:()=>void t(n??void 0),disabled:r||!i,title:l(`directoryPicker.goToParent`),"aria-label":l(`directoryPicker.goToParent`),style:{width:36,height:36,padding:0,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0,border:`1px solid var(--border)`,borderRadius:6,background:`#ffffff`,color:`var(--text-muted)`,cursor:i?`pointer`:`default`,opacity:i?1:.45},children:(0,T.jsx)(`svg`,{width:I[`3xl`],height:I[`3xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`m18 15-6-6-6 6`})})}),(0,T.jsx)(`label`,{htmlFor:`directory-path`,style:{position:`absolute`,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,border:0},children:l(`directoryPicker.directoryPath`)}),(0,T.jsx)(lx,{className:`directory-picker-path h-9 flex-1 font-mono text-xs`,id:`directory-path`,type:`text`,ref:a,value:o,placeholder:`/path/to/project or ~/project`,autoComplete:`off`,spellCheck:!1,style:jS,onChange:e=>{s(e.target.value),c(null)}}),(0,T.jsx)(`button`,{className:`directory-picker-action`,type:`submit`,disabled:!o.trim(),title:l(`directoryPicker.goToDirectory`),style:{minWidth:58,height:36,padding:`0 12px`,border:`1px solid var(--border)`,borderRadius:6,background:`#ffffff`,color:`var(--text-muted)`,cursor:o.trim()?`pointer`:`default`,opacity:o.trim()?1:.6},children:l(`directoryPicker.go`)})]})})}function goe({onCancel:e,onSelect:t,busy:n=!1,error:r}){let{t:i}=M(),[a,o]=(0,d.useState)(!0),[s,c]=(0,d.useState)(``),[l,u]=(0,d.useState)(null),[f,p]=(0,d.useState)(``),[m,h]=(0,d.useState)([]),[g,_]=(0,d.useState)(null),[v,y]=(0,d.useState)(``),[b,x]=(0,d.useState)(null),[S,C]=(0,d.useState)(!0),w=(0,d.useRef)(null),E=(0,d.useCallback)(async e=>{C(!0),x(null);try{let t=await AS(e),n=t.path??e??`/`;c(n),u(t.parentPath??null),p(n),h(t.directories??[]),_(t.drives??null),y(``)}catch(e){x(e instanceof Error?e.message:String(e))}finally{C(!1)}},[]);(0,d.useEffect)(()=>{E()},[E]);let D=e=>{e.preventDefault();let t=f.trim();t&&E(t)},O=f.trim()!==s,k=!!s&&!O&&!n,A=!!l||PS(s),j=v.trim().toLowerCase(),N=e=>!j||e.toLowerCase().includes(j),ee=g===null?[]:g.filter(e=>N(e.name)||N(e.path)),te=m.filter(e=>N(e.name));return(0,T.jsx)(Np,{open:a,onOpenChange:t=>{!t&&!n&&(o(!1),e())},children:(0,T.jsxs)(Lp,{className:`directory-picker-light flex w-[520px] max-w-[calc(100vw-16px)] flex-col gap-0 overflow-hidden p-0`,style:{height:`min(620px, calc(100dvh - 16px))`},showCloseButton:!1,onPointerDownOutside:e=>{n&&e.preventDefault()},onEscapeKeyDown:e=>{n&&e.preventDefault()},onOpenAutoFocus:e=>{e.preventDefault(),w.current?.focus()},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,flexShrink:0,padding:`12px 18px`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(Rp,{style:{fontWeight:700,fontSize:`var(--text-2xl)`,color:`var(--text)`},children:i(`directoryPicker.selectDirectory`)}),(0,T.jsx)(Fp,{asChild:!0,children:(0,T.jsx)(`button`,{type:`button`,disabled:n,title:i(`i18n.close`),"aria-label":i(`i18n.close`),style:{padding:`2px 6px`,border:0,background:`none`,color:`var(--text-muted)`,fontSize:`var(--text-5xl)`,lineHeight:1,cursor:n?`default`:`pointer`,opacity:n?.5:1},children:`×`})})]}),(0,T.jsx)(hoe,{handlePathSubmit:D,navigateTo:E,parentDirectory:l,loading:S,canNavigateUp:A,pathInputRef:w,pathInput:f,setPathInput:p,setLoadError:x}),(0,T.jsx)(moe,{loading:S,drives:g,filteredDrives:ee,filteredDirectories:te,query:j,navigateTo:E,loadError:b,error:r}),(0,T.jsx)(poe,{searchQuery:v,setSearchQuery:y,currentPath:s,hasUncommittedPath:O,canSelect:k,busy:n,onCancel:e,onSelect:t})]})})}function _oe({title:e,label:t}){return(0,T.jsxs)(`button`,{type:`button`,"aria-disabled":`true`,tabIndex:-1,title:e,style:{width:`100%`,height:29,boxSizing:`border-box`,marginTop:6,display:`flex`,alignItems:`center`,gap:6,padding:`0 10px`,border:`1px solid var(--border)`,borderRadius:7,background:`var(--bg-hover)`,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,lineHeight:1.35,whiteSpace:`nowrap`,textAlign:`left`,cursor:`default`,opacity:.82},children:[(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`},children:t})]})}function voe({group:e,groupSelected:t,hoveredGroup:n,confirmDeleteGroup:r,deletingGroup:i,runningSessionIds:a,interactionBadges:o,collapsed:s,setHoveredGroup:c,setGroupCollapsed:l,setConfirmDeleteGroup:u,handleDeleteGroup:d,handleNewSession:f,copyText:p}){let{t:m}=M(),h=e.sessions.some(e=>a.has(e.id)),g=e.sessions.some(e=>o.has(e.id));return(0,T.jsx)(`div`,{"data-testid":`workspace-group-header`,onMouseEnter:()=>c(e.root),onMouseLeave:()=>c(null),style:{display:`flex`,alignItems:`center`,gap:4,height:40,padding:`0 2px`,boxSizing:`border-box`,fontSize:`var(--text-base)`,fontFamily:`var(--font-mono)`,color:`var(--text)`,fontWeight:600,textTransform:`none`,letterSpacing:.6,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,cursor:r===e.root?`default`:`pointer`,background:r===e.root?`color-mix(in srgb, var(--status-error) 6%, transparent)`:n===e.root?`var(--bg-hover)`:`var(--bg)`},onClick:r===e.root?void 0:()=>{l(t=>({...t,[e.root]:!t[e.root]}))},children:r===e.root?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:m(`sidebar.deleteWorkspace`,{count:e.sessions.length})}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:5,flexShrink:0},children:[(0,T.jsx)(`button`,{onClick:t=>{t.stopPropagation(),d(e)},disabled:i,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:4,height:22,padding:`0 9px`,background:`var(--status-error)`,border:`none`,borderRadius:5,color:`var(--on-error)`,cursor:i?`default`:`pointer`,opacity:i?.6:1,fontSize:`var(--text-sm)`,fontWeight:600,whiteSpace:`nowrap`},children:m(`sidebar.delete`)}),(0,T.jsx)(`button`,{onClick:e=>{e.stopPropagation(),u(null)},disabled:i,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:22,padding:`0 9px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:5,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:500,whiteSpace:`nowrap`},children:m(`sidebar.cancel`)})]})]}):(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{display:`inline-flex`,alignItems:`center`,gap:6,flex:1,minWidth:0,height:38,boxSizing:`border-box`,padding:`0 8px`,border:`none`,borderRadius:0,background:g&&s?`linear-gradient(180deg, transparent calc(100% - 25px), color-mix(in srgb, var(--border) 25%, transparent) 100%)`:h&&s?`linear-gradient(90deg, transparent 13%, color-mix(in srgb, var(--accent) 18%, transparent) 25%, transparent 37%, transparent 63%, color-mix(in srgb, var(--shine-highlight) 50%, transparent) 75%, transparent 87%), linear-gradient(180deg, transparent calc(100% - 25px), color-mix(in srgb, var(--border) 25%, transparent) 100%)`:`linear-gradient(180deg, transparent calc(100% - 25px), color-mix(in srgb, var(--border) 25%, transparent) 100%)`,backgroundSize:h&&s&&!g?`200% 100%, auto`:void 0,animation:g&&s?`interaction-bg-blink 1s ease-in-out infinite`:h&&s?`pi-status-shine 1.5s linear infinite`:void 0,boxShadow:`0 2px 8px var(--shadow-color)`,margin:`0 -2px`},children:[(0,T.jsxs)(`span`,{style:{position:`relative`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,width:30,height:22,flexShrink:0},children:[(0,T.jsx)(`svg`,{width:`30`,height:`22`,viewBox:`0 0 24 24`,fill:t?`color-mix(in srgb, var(--accent) 18%, transparent)`:`var(--bg)`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{color:t?`var(--accent)`:`var(--text-muted)`,opacity:.95},children:(0,T.jsx)(`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`})}),(0,T.jsx)(`span`,{style:{position:`absolute`,top:`50%`,left:`50%`,transform:`translate(-50%, -38%)`,color:`var(--text-muted)`,fontSize:`var(--text-xs)`,fontWeight:400,lineHeight:1,textAlign:`center`,fontVariantNumeric:`tabular-nums`,userSelect:`none`},children:e.sessions.length})]}),(0,T.jsx)(F,{label:e.root,wrapperStyle:{flex:1,minWidth:0,overflow:`hidden`},children:(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,maxWidth:`100%`,lineHeight:`20px`},children:ooe(e.root)})}),n===e.root&&(0,T.jsx)(Fq,{items:[{key:`new-session`,onClick:t=>{t.stopPropagation(),f(e.root)},title:m(`sidebar.newSessionTitle`,{path:e.root}),icon:(0,T.jsx)(Tn,{size:I.base})},{key:`copy-path`,onClick:t=>{t.stopPropagation(),p(e.root)},title:m(`sidebar.copyPath`),icon:(0,T.jsx)(en,{size:I.base})},{key:`delete-workspace`,onClick:t=>{t.stopPropagation(),u(e.root)},title:m(`sidebar.deleteWorkspaceTitle`),danger:!0,icon:(0,T.jsx)(Bn,{size:I.base})}]})]})})})}function yoe({session:e,hovered:t,isSeen:n,onUnseen:r,startRename:i,handleDeleteClick:a}){let{t:o}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(Fq,{visible:t,items:[...n&&r?[{key:`unseen`,onClick:t=>{t.stopPropagation(),r(e.id)},title:o(`sidebar.disconnect`)||`断开`,icon:(0,T.jsx)(Hn,{size:I.base})}]:[],{key:`copy-path`,onClick:t=>{t.stopPropagation(),cK(e.path)},title:o(`sidebar.copyPath`),icon:(0,T.jsx)(en,{size:I.base})},{key:`rename`,testId:`session-rename`,onClick:i,title:o(`sidebar.rename`),icon:(0,T.jsx)(Cn,{size:I.xl})},{key:`delete`,testId:`session-delete`,onClick:a,title:o(`sidebar.deleteWithShiftClick`),danger:!0,icon:(0,T.jsx)(Bn,{size:I.xl})}]})})}function boe({collapsed:e,onToggleCollapse:t}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(F,{label:e?`Expand forks`:`Collapse forks`,children:(0,T.jsx)(`button`,{onClick:e=>{e.stopPropagation(),t?.()},style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:20,height:20,padding:0,flexShrink:0,background:`none`,border:`none`,color:`var(--text-dim)`,cursor:`pointer`,transform:e?`rotate(-90deg)`:`none`,transition:`transform 0.15s`},children:(0,T.jsx)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,T.jsx)(`polyline`,{points:`2 3.5 5 6.5 8 3.5`})})})})})}function xoe({session:e,title:t,onConfirm:n,onCancel:r}){let{t:i}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t}),(0,T.jsxs)(`div`,{style:{marginTop:2,display:`flex`,alignItems:`center`,gap:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[e.error?(0,T.jsx)(Z9,{session:e}):(0,T.jsx)(`span`,{title:e.modified,children:J9(e.modified,i)}),(0,T.jsx)(`span`,{children:i(`sidebar.messagesCount`,{count:e.messageCount})})]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:5,flexShrink:0},children:[(0,T.jsxs)(`button`,{onClick:n,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:4,height:30,padding:`0 11px`,background:`var(--status-error)`,border:`none`,borderRadius:6,color:`var(--on-error)`,cursor:`pointer`,fontSize:`var(--text-base)`,fontWeight:600,whiteSpace:`nowrap`},children:[(0,T.jsx)(Bn,{size:I.base}),i(`sidebar.delete`)]}),(0,T.jsx)(`button`,{onClick:r,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:30,padding:`0 11px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:6,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-base)`,fontWeight:500,whiteSpace:`nowrap`},children:i(`sidebar.cancel`)})]})]})})}function Soe({session:e,title:t,isSelected:n,isSeen:r,isRunning:i,isUnread:a,phase:o,elapsed:s,totalElapsed:c}){let{t:l}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,gap:5,minWidth:0,fontSize:`var(--text-base)`,fontWeight:n?600:400,lineHeight:1.4,color:r?`var(--text)`:`var(--text-dim)`},title:t,children:(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,minWidth:0},children:t})}),(0,T.jsxs)(`div`,{style:{marginTop:2,display:`flex`,alignItems:`center`,gap:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[e.error?(0,T.jsx)(Z9,{session:e}):i?(0,T.jsx)(u9,{phase:o??{kind:`running_command`},elapsed:s,totalElapsed:c}):a?(0,T.jsx)(eoe,{}):(0,T.jsx)(`span`,{title:e.modified,children:J9(e.modified,l)}),!e.error&&i?null:(0,T.jsx)(`span`,{children:l(`sidebar.messagesCount`,{count:e.messageCount})}),e.worktreeBranch&&(0,T.jsxs)(`span`,{title:`Worktree: ${e.cwd}`,style:{display:`flex`,alignItems:`center`,gap:3,color:`var(--accent)`,minWidth:0,overflow:`hidden`},children:[(0,T.jsxs)(`svg`,{width:`9`,height:`9`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.worktreeBranch})]})]})]})})}function Coe({session:e,isSelected:t,isRunning:n,phase:r,phaseSince:i,busySince:a,isUnread:o,isSeen:s=!0,hasInteractionBadge:c=!1,onClick:l,onRenamed:u,onDeleted:f,onUnseen:p,depth:m=0,hasChildren:h=!1,collapsed:g=!1,onToggleCollapse:_}){let{t:v}=M(),y=RX(!!(n&&r),i),b=RX(!!n,a),[x,S]=(0,d.useState)(!1),[C,w]=(0,d.useState)(!1),[E,D]=(0,d.useState)(``),[O,k]=(0,d.useState)(!1),[A,j]=(0,d.useState)(!1),N=(0,d.useRef)(null),ee=e.error?e.path.split(/[\\/]/).pop()||e.id:e.name||e.firstMessage.slice(0,50)||e.id.slice(0,12),te=(0,d.useCallback)(t=>{t.stopPropagation(),D(e.name??``),w(!0),setTimeout(()=>N.current?.select(),0)},[e.name]),P=(0,d.useCallback)(async()=>{let t=E.trim();if(w(!1),t!==(e.name??``))try{await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:t})}),u?.()}catch{}},[E,e.id,e.name,u]),ne=(0,d.useCallback)(async()=>{k(!1),j(!0);try{await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`DELETE`}),f?.(e.id)}catch{j(!1)}},[e.id,f]),re=(0,d.useCallback)(e=>{e.stopPropagation(),e.shiftKey?ne():k(!0)},[ne]),ie=(0,d.useCallback)(e=>{e.stopPropagation(),ne()},[ne]),ae=(0,d.useCallback)(e=>{e.stopPropagation(),k(!1)},[]);return(0,T.jsx)(`div`,{"data-testid":`session-item`,"data-session-id":e.id,onClick:O||C?void 0:l,title:c?v(`sidebar.interactionBadge`):void 0,onMouseEnter:()=>S(!0),onMouseLeave:()=>{S(!1)},style:{height:54,animation:c?`interaction-bg-blink 1s ease-in-out infinite`:void 0,display:`flex`,alignItems:`center`,paddingLeft:m>0?m*12+14:14,paddingRight:8,cursor:O||C?`default`:`pointer`,backgroundColor:O?`color-mix(in srgb, var(--status-error) 6%, transparent)`:x?`var(--bg-hover)`:`transparent`,transition:`background 0.1s`,opacity:A?.5:1,gap:6,overflow:`hidden`},className:t&&!O?`row-selected-gradient`:void 0,children:O?(0,T.jsx)(xoe,{session:e,title:ee,onConfirm:ie,onCancel:ae}):C?(0,T.jsx)(`input`,{ref:N,"data-testid":`session-rename-input`,value:E,onChange:e=>D(e.target.value),onBlur:P,onKeyDown:e=>{e.key===`Enter`&&P(),e.key===`Escape`&&w(!1)},autoFocus:!0,style:{flex:1,fontSize:`var(--text-base)`,padding:`5px 8px`,border:`1px solid var(--accent)`,borderRadius:5,outline:`none`,background:`var(--bg)`,color:`var(--text)`,height:30}}):(0,T.jsxs)(T.Fragment,{children:[m>0&&(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--text-dim)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(Soe,{session:e,title:ee,isSelected:t,isSeen:s,isRunning:n,isUnread:o,phase:r,elapsed:y,totalElapsed:b}),h&&(0,T.jsx)(boe,{collapsed:g,onToggleCollapse:_}),(0,T.jsx)(yoe,{session:e,hovered:x,isSeen:s,onUnseen:p,startRename:te,handleDeleteClick:re})]})})}function $9({node:e,selectedSessionId:t,runningSessionIds:n,runningPhases:r,runningPhaseSince:i,runningBusySince:a,unreadSessionIds:o,seenSessionIds:s,interactionBadges:c,onSelectSession:l,onRenamed:u,onSessionDeleted:f,onUnseen:p,depth:m}){let[h,g]=(0,d.useState)(!1),_=e.children.length>0;return(0,T.jsxs)(`div`,{style:{paddingBottom:1,backgroundImage:`linear-gradient(90deg, transparent, var(--border), transparent)`,backgroundPosition:`0 100%`,backgroundSize:`100% 1px`,backgroundRepeat:`no-repeat`},children:[(0,T.jsxs)(`div`,{style:{position:`relative`},children:[m>0&&(0,T.jsx)(`div`,{style:{position:`absolute`,left:m*12+6,top:0,bottom:0,width:1,background:`var(--border)`,pointerEvents:`none`}}),(0,T.jsx)(Coe,{session:e.session,isSelected:e.session.id===t,isRunning:n.has(e.session.id),phase:r[e.session.id],phaseSince:i[e.session.id],busySince:a[e.session.id],isUnread:o.has(e.session.id),isSeen:s.has(e.session.id),hasInteractionBadge:c.has(e.session.id),onClick:()=>l(e.session),onRenamed:u,onDeleted:e=>f?.(e),onUnseen:p,depth:m,hasChildren:_,collapsed:h,onToggleCollapse:()=>g(e=>!e)})]}),_&&!h&&(0,T.jsx)(`div`,{children:e.children.map(e=>(0,T.jsx)($9,{node:e,selectedSessionId:t,runningSessionIds:n,runningPhases:r,runningPhaseSince:i,runningBusySince:a,unreadSessionIds:o,seenSessionIds:s,interactionBadges:c,onSelectSession:l,onRenamed:u,onSessionDeleted:f,onUnseen:p,depth:m+1},e.session.id))})]})}function woe(e){let t=new Map;for(let n of e)t.set(n.id,{session:n,children:[]});let n=new Map;for(let t of e)t.parentSessionId&&n.set(t.id,t.parentSessionId);function r(e){let r=n.get(e),i=new Set;for(;r;){if(i.has(r))return null;if(i.add(r),t.has(r))return r;r=n.get(r)}return null}let i=[];for(let e of t.values()){let n=r(e.session.id);n?t.get(n).children.push(e):i.push(e)}let a=e=>{e.sort((e,t)=>t.session.modified.localeCompare(e.session.modified)),e.forEach(e=>a(e.children))};return a(i),i}function Toe({visibleGroups:e,selectedSessionId:t,selectedProject:n,wsQuery:r,groupCollapsed:i,hoveredGroup:a,confirmDeleteGroup:o,deletingGroup:s,runningSessionIds:c,runningPhases:l,runningPhaseSince:u,runningBusySince:d,unreadSessionIds:f,seenSessionIds:p,interactionBadges:m,setHoveredGroup:h,setGroupCollapsed:g,setConfirmDeleteGroup:_,handleDeleteGroup:v,handleNewSession:y,copyText:b,handleSelectSessionFromList:x,onSessionDeleted:S,handleUnseen:C,loadSessions:w}){let{t:E}=M();return(0,T.jsx)(T.Fragment,{children:e.map(e=>{let D=e.sessions.some(e=>e.id===t)||e.root===n;return(0,T.jsxs)(`div`,{children:[(0,T.jsx)(voe,{group:e,groupSelected:D,hoveredGroup:a,confirmDeleteGroup:o,deletingGroup:s,runningSessionIds:c,interactionBadges:m,collapsed:!!i[e.root],setHoveredGroup:h,setGroupCollapsed:g,setConfirmDeleteGroup:_,handleDeleteGroup:v,handleNewSession:y,copyText:b}),(r||!i[e.root])&&(e.sessions.length===0?(0,T.jsx)(`div`,{style:{padding:`10px 14px`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`},children:E(`sidebar.noSessions`)}):woe(e.sessions).map(e=>(0,T.jsx)($9,{node:e,selectedSessionId:t,runningSessionIds:c,runningPhases:l,runningPhaseSince:u,runningBusySince:d,unreadSessionIds:f,seenSessionIds:p,interactionBadges:m,onSelectSession:x,onRenamed:()=>w(!1,!0),onSessionDeleted:e=>{S?.(e),w(!1,!0)},onUnseen:C,depth:0},e.session.id)))]},e.root)})})}function Eoe({loading:e,error:t,noSearchResults:n}){let{t:r}=M();return e?(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`16px 14px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`},children:[(0,T.jsx)(`div`,{style:{width:14,height:14,border:`2px solid var(--border)`,borderTopColor:`var(--text-dim)`,borderRadius:`50%`,animation:`spin 0.8s linear infinite`,flexShrink:0}}),r(`sidebar.loading`)]}):t?(0,T.jsx)(`div`,{style:{padding:`12px 14px`,color:`var(--status-error)`,fontSize:`var(--text-base)`},children:t}):n?(0,T.jsx)(`div`,{style:{padding:`16px 14px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`},children:r(`sidebar.searchSessionsNoResults`)}):null}function Doe({searchOpen:e,onToggleSearch:t,onNewWorkspace:n,onRefresh:r,refreshDone:i}){let{t:a}=M();return(0,T.jsx)(Fq,{items:[{key:`search`,testId:`workspace-search-toggle`,onClick:t,title:a(`sidebar.searchSessions`),ariaPressed:e,color:e?`var(--accent)`:`var(--text-muted)`,background:e?`var(--bg-selected)`:void 0,icon:(0,T.jsx)(jn,{size:I.lg})},{key:`new-workspace`,testId:`new-workspace`,onClick:n,title:a(`sidebar.newWorkspace`),color:`var(--text-muted)`,icon:(0,T.jsx)(cn,{size:I.xl})},{key:`refresh`,testId:`session-refresh`,onClick:r,title:a(`sidebar.refresh`),skipHover:i,color:i?`var(--status-success)`:`var(--text-muted)`,background:i?`color-mix(in srgb, var(--status-success) 18%, transparent)`:void 0,icon:i?(0,T.jsx)(qt,{size:I.xl,color:`var(--status-success)`,strokeWidth:2.5}):(0,T.jsx)(Dn,{size:I.xl})}]})}function Ooe({value:e,onChange:t,onClear:n,inputRef:r}){let{t:i}=M();return(0,T.jsxs)(`div`,{"data-testid":`workspace-search`,style:{display:`flex`,alignItems:`center`,gap:4,width:`100%`,minWidth:0,padding:`4px 8px`,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,boxSizing:`border-box`},children:[(0,T.jsx)(jn,{size:I.lg,color:`var(--text-muted)`,style:{flexShrink:0}}),(0,T.jsx)(`input`,{ref:r,value:e,onChange:e=>t(e.target.value),placeholder:i(`sidebar.searchSessionsPlaceholder`),"aria-label":i(`sidebar.searchSessions`),style:{flex:1,minWidth:0,background:`transparent`,border:`none`,outline:`none`,color:`var(--text)`,fontSize:`var(--text-sm)`}}),e&&(0,T.jsx)(`button`,{type:`button`,onClick:n,"aria-label":i(`chat.clearSearch`),style:{border:`none`,background:`transparent`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0,padding:0},children:`✕`})]})}function koe({wtNewOpen:e,setWtNewOpen:t,wtNewBranch:n,setWtNewBranch:r,wtNewInputRef:i,handleCreateWorktree:a,wtBusy:o,setWtError:s}){let{t:c}=M();return(0,T.jsx)(T.Fragment,{children:e?(0,T.jsxs)(`div`,{style:{padding:`6px 8px`},children:[(0,T.jsx)(`input`,{ref:i,"data-testid":`worktree-new-branch-input`,value:n,onChange:e=>{r(e.target.value),s(null)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),a()),e.key===`Escape`&&(t(!1),r(``),s(null))},placeholder:c(`sidebar.branchName`),style:{width:`100%`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`,padding:`5px 8px`,border:`1px solid var(--accent)`,borderRadius:5,outline:`none`,background:`var(--bg)`,color:`var(--text)`,boxSizing:`border-box`}}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:5,marginTop:5},children:[(0,T.jsx)(`button`,{"data-testid":`worktree-create`,onClick:()=>void a(),disabled:o||!n.trim(),style:{flex:1,padding:`4px 0`,background:`var(--accent)`,border:`none`,borderRadius:5,color:`var(--on-accent)`,fontSize:`var(--text-sm)`,fontWeight:600,cursor:o||!n.trim()?`not-allowed`:`pointer`,opacity:o||!n.trim()?.65:1},children:c(o?`sidebar.creating`:`sidebar.create`)}),(0,T.jsx)(`button`,{onClick:()=>{t(!1),r(``),s(null)},style:{flex:1,padding:`4px 0`,background:`var(--bg-hover)`,border:`1px solid var(--border)`,borderRadius:5,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:c(`sidebar.cancel`)})]})]}):(0,T.jsxs)(`button`,{"data-testid":`worktree-new`,onClick:e=>{e.stopPropagation(),t(!0),s(null),setTimeout(()=>i.current?.focus(),0)},title:c(`sidebar.createWorktreeTitle`),style:{display:`flex`,alignItems:`center`,gap:7,width:`100%`,padding:`8px 10px`,background:`none`,border:`none`,color:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-sm)`},children:[(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.1`,strokeLinecap:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`5`,y1:`1`,x2:`5`,y2:`9`}),(0,T.jsx)(`line`,{x1:`1`,y1:`5`,x2:`9`,y2:`5`})]}),(0,T.jsx)(`span`,{children:c(`sidebar.newWorktree`)})]})})}function Aoe({worktrees:e,visibleWorktrees:t,selectedCwd:n,homeDir:r,wtConfirmRemove:i,setWtConfirmRemove:a,handleRemoveWorktree:o,wtBusy:s,setSelectedCwd:c,closeWorktrees:l,showWtFilter:u,wtFilter:d}){let{t:f}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{maxHeight:`min(40vh, 300px)`,overflowY:`auto`},children:[t.map(t=>{let u=q9(t.path,n)||t.isMain&&!e.some(e=>q9(e.path,n));return i===t.path?(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,padding:`7px 10px`,borderBottom:`1px solid var(--border)`,background:`color-mix(in srgb, var(--status-error) 6%, transparent)`},children:[(0,T.jsx)(`span`,{style:{flex:1,fontSize:`var(--text-sm)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:f(`sidebar.forceRemoveCheckout`)}),(0,T.jsx)(`button`,{"data-testid":`worktree-force-remove`,onClick:()=>void o(t.path,!0),disabled:s,style:{padding:`3px 9px`,background:`var(--status-error)`,border:`none`,borderRadius:5,color:`var(--on-error)`,fontSize:`var(--text-sm)`,fontWeight:600,cursor:`pointer`,flexShrink:0},children:f(`sidebar.force`)}),(0,T.jsx)(`button`,{onClick:()=>a(null),style:{padding:`3px 9px`,background:`var(--bg-hover)`,border:`1px solid var(--border)`,borderRadius:5,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`,flexShrink:0},children:f(`sidebar.cancel`)})]},t.path):(0,T.jsxs)(`div`,{className:`wt-row`,"data-testid":`worktree-row`,style:{display:`flex`,alignItems:`center`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsxs)(`button`,{"data-testid":`worktree-item`,onClick:()=>{c(t.path),l()},title:t.path,style:{flex:1,minWidth:0,display:`flex`,alignItems:`center`,gap:7,padding:`8px 10px`,background:`var(--bg)`,border:`none`,color:u?`var(--text)`:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`},children:[u?(0,T.jsx)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`var(--accent)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:(0,T.jsx)(`polyline`,{points:`1.5 5 4 7.5 8.5 2.5`})}):(0,T.jsx)(`span`,{style:{width:10,flexShrink:0}}),(0,T.jsx)(X9,{text:t.branch??Y9(t.path,r),style:{flex:1}}),t.isMain&&(0,T.jsx)(`span`,{style:{flexShrink:0,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:f(`sidebar.main`)})]}),!t.isMain&&(0,T.jsx)(`button`,{"data-testid":`worktree-remove`,onClick:()=>void o(t.path,!1),disabled:s,title:f(`sidebar.removeWorktreeTitle`,{path:t.path}),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:34,height:28,padding:0,marginRight:4,background:`none`,border:`none`,color:`var(--text-dim)`,cursor:`pointer`,borderRadius:5,flexShrink:0,transition:`color 0.12s, background 0.12s`,"--hover-color":`var(--status-error)`,"--hover-bg":`color-mix(in srgb, var(--status-error) 8%, transparent)`},className:`hover-shift`,children:(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`polyline`,{points:`3 6 5 6 21 6`}),(0,T.jsx)(`path`,{d:`M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6`}),(0,T.jsx)(`path`,{d:`M10 11v6M14 11v6`}),(0,T.jsx)(`path`,{d:`M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2`})]})})]},t.path)}),u&&t.length===0&&d.trim()&&(0,T.jsx)(`div`,{style:{padding:`8px 10px`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:f(`sidebar.noMatchingWorktrees`)})]})})}function joe({wt:e,selectedCwd:t,homeDir:n,setSelectedCwd:r}){let{t:i}=M(),{worktreeState:a,wtFilter:o,setWtFilter:s,wtDropdownOpen:c,setWtDropdownOpen:l,wtDropdownRef:u,closeWorktrees:d,handleRemoveWorktree:f,wtConfirmRemove:p,setWtConfirmRemove:m,wtBusy:h,wtNewOpen:g,setWtNewOpen:_,wtNewBranch:v,setWtNewBranch:y,wtNewInputRef:b,handleCreateWorktree:x,wtError:S,setWtError:C}=e;if(!a)return null;let w=a.worktrees.find(e=>q9(e.path,t))??a.worktrees.find(e=>e.isMain),E=a.worktrees.length>=8,D=E&&o.trim()?a.worktrees.filter(e=>(e.branch??Y9(e.path,n)).toLowerCase().includes(o.trim().toLowerCase())):a.worktrees;return(0,T.jsxs)(`div`,{ref:u,"data-testid":`worktree-switcher`,style:{position:`relative`,marginTop:6},children:[(0,T.jsxs)(`button`,{"data-testid":`worktree-switcher-trigger`,onClick:()=>l(e=>!e),title:w?i(`sidebar.switchWorktreeTitle`,{path:w.path}):i(`sidebar.switchWorktree`),style:{width:`100%`,height:29,boxSizing:`border-box`,display:`flex`,alignItems:`center`,gap:6,padding:`0 10px`,background:`var(--bg-input)`,border:`1px solid var(--border)`,borderRadius:7,cursor:`pointer`,fontSize:`var(--text-sm)`,lineHeight:1.35,color:`var(--text-muted)`,textAlign:`left`},children:[(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0,color:w&&!w.isMain?`var(--accent)`:`var(--text-dim)`},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(X9,{text:w?w.branch??Y9(w.path,n):`…`,style:{flex:1,fontFamily:`var(--font-mono)`,color:`var(--text)`}}),w?.isMain&&(0,T.jsx)(`span`,{style:{flexShrink:0,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:i(`sidebar.main`)}),a.worktrees.length>1&&(0,T.jsx)(`span`,{style:{flexShrink:0,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:a.worktrees.length}),(0,T.jsx)(`svg`,{width:`9`,height:`9`,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:(0,T.jsx)(`polyline`,{points:`2 3.5 5 6.5 8 3.5`})})]}),(0,T.jsxs)(soe,{open:c,style:{position:`absolute`,top:`calc(100% + 4px)`,left:0,right:0,zIndex:100,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 6px 20px var(--shadow-color)`,overflow:`hidden`},children:[E&&(0,T.jsx)(`div`,{style:{padding:`6px 8px`,borderBottom:`1px solid var(--border)`},children:(0,T.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(s(``),d())},placeholder:i(`sidebar.filterWorktrees`),autoFocus:!0,style:{width:`100%`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`,padding:`5px 8px`,border:`1px solid var(--border)`,borderRadius:5,outline:`none`,background:`var(--bg)`,color:`var(--text)`,boxSizing:`border-box`}})}),(0,T.jsx)(Aoe,{worktrees:a.worktrees,visibleWorktrees:D,selectedCwd:t,homeDir:n,wtConfirmRemove:p,setWtConfirmRemove:m,handleRemoveWorktree:f,wtBusy:h,setSelectedCwd:r,closeWorktrees:d,showWtFilter:E,wtFilter:o}),(0,T.jsx)(koe,{wtNewOpen:g,setWtNewOpen:_,wtNewBranch:v,setWtNewBranch:y,wtNewInputRef:b,handleCreateWorktree:x,wtBusy:h,setWtError:C}),S&&(0,T.jsx)(`div`,{style:{padding:`5px 10px 8px`,color:`var(--status-error)`,fontSize:`var(--text-sm)`,lineHeight:1.35,overflowWrap:`anywhere`},children:S})]})]})}function Moe({sb:e,handleSelectSessionFromList:t,handleNewSession:n,onSessionDeleted:r}){let{t:i}=M(),{customPath:a,wt:o,selectedCwd:s,setSelectedCwd:c,homeDir:l,workspaceSearchOpen:u,setWorkspaceSearchOpen:d,workspaceSearchQuery:f,setWorkspaceSearchQuery:p,workspaceSearchInputRef:m,loadSessions:h,sessionRefreshDone:g,showWorktreeSwitcher:_,inactiveWorktreeSelector:v,loading:y,error:b,wsQuery:x,visibleGroups:S}=e;return(0,T.jsxs)(T.Fragment,{children:[a.customPathOpen&&(0,T.jsx)(goe,{busy:a.customPathValidating,error:a.customPathError,onCancel:()=>{a.setCustomPathOpen(!1),a.setCustomPathError(null)},onSelect:e=>void a.commitCustomPath(e)}),(0,T.jsxs)(Hq,{title:i(`sidebar.workspace`),open:!0,onToggle:()=>{},collapsible:!1,testId:`workspace-scroll`,hintTestId:`workspace`,scrollStyle:{flex:`1 1 auto`,minHeight:80,background:`var(--bg)`},style:{flex:1,minHeight:0},actions:(0,T.jsx)(Doe,{searchOpen:u,onToggleSearch:()=>{u&&p(``),d(e=>!e)},onNewWorkspace:()=>a.setCustomPathOpen(!0),onRefresh:()=>h(!1,!0),refreshDone:g}),headerExtra:(0,T.jsxs)(T.Fragment,{children:[u&&(0,T.jsx)(Ooe,{value:f,onChange:p,onClear:()=>{p(``),m.current?.focus()},inputRef:m}),_&&(0,T.jsx)(joe,{wt:o,selectedCwd:s,homeDir:l,setSelectedCwd:c}),v&&(0,T.jsx)(_oe,{title:v.title,label:v.label})]}),children:[(0,T.jsx)(Eoe,{loading:y,error:b,noSearchResults:!y&&!b&&!!x&&S.length===0}),(0,T.jsx)(Toe,{visibleGroups:S,selectedSessionId:e.selectedSessionId,selectedProject:e.selectedProject,wsQuery:x,groupCollapsed:e.groupCollapsed,hoveredGroup:e.hoveredGroup,confirmDeleteGroup:e.confirmDeleteGroup,deletingGroup:e.deletingGroup,runningSessionIds:e.runningSessionIds,runningPhases:e.runningPhases,runningPhaseSince:e.runningPhaseSince,runningBusySince:e.runningBusySince,unreadSessionIds:e.unreadSessionIds,seenSessionIds:e.seenSessionIds,interactionBadges:e.interactionBadges,setHoveredGroup:e.setHoveredGroup,setGroupCollapsed:e.setGroupCollapsed,setConfirmDeleteGroup:e.setConfirmDeleteGroup,handleDeleteGroup:e.handleDeleteGroup,handleNewSession:n,copyText:cK,handleSelectSessionFromList:t,onSessionDeleted:r,handleUnseen:e.handleUnseen,loadSessions:h})]})]})}function Noe({selectedSessionId:e,selectedSession:t,onSelectSession:n,onNewSession:r,initialSessionId:i,skipInitialProjectSelection:a,onInitialRestoreDone:o,refreshKey:s,onSessionDeleted:c,onUnseenSession:l,selectedCwd:u,onCwdChange:f,savedWorkspaces:p,onSavedWorkspacesChange:m,onOpenFile:h}){let{t:g}=M(),_=foe({selectedSession:t,selectedSessionId:e,refreshKey:s,selectedCwdProp:u,savedWorkspaces:p,onSavedWorkspacesChange:m,onUnseenSession:l,onCwdChange:f,initialSessionId:i,skipInitialProjectSelection:a,onSelectSession:n,onInitialRestoreDone:o,onSessionDeleted:c}),{setError:v,loadSessions:y,markSeen:b,setSelectedCwd:x}=_,S=(0,d.useCallback)(async e=>{try{if((await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`HEAD`})).status===404){v(g(`sidebar.sessionDeleted`)),y(!1,!0);return}}catch{}e.cwd&&x(e.cwd),b(e.id),n(e)},[n,g,y,b,v,x]),C=(0,d.useCallback)(e=>{let t=e??_.selectedCwd;if(!t)return;let n=typeof crypto.randomUUID==`function`?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`;r?.(n,t)},[_.selectedCwd,r]);return(0,T.jsx)(`div`,{"data-testid":`session-sidebar`,style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:(0,T.jsx)(Moe,{sb:_,handleSelectSessionFromList:S,handleNewSession:C,onSessionDeleted:e=>{c?.(e),_.loadSessions(!1,!0)}})})}var Poe=e=>window.history.replaceState(null,``,e);function Foe(){let[e,t]=(0,d.useState)(!1);(0,d.useEffect)(()=>{t(!0)},[]);let[n]=(0,d.useState)(()=>VK(new URLSearchParams(window.location.search))),{isDark:r,toggleTheme:i}=NK(),{locale:a,setLocale:o,t:s,supportedLocales:c}=M(),l=ne();zK();let{settingsValue:u,defaultThinkingLevel:f,setDefaultThinkingLevel:p,compaction:m,retry:h,defaultProjectTrust:g,setDefaultProjectTrust:_,subagents:v,savedWorkspaces:y,handleSavedWorkspacesChange:b,widgetGeometries:x,setWidgetGeometry:S,widgetMessages:C,addWidgetMessage:w,removeWidgetMessage:E,updateWidgetMessage:D,fontScale:O,setFontScale:k}=pt({isDark:r,toggleTheme:i}),[A,j]=(0,d.useState)(null),{selectedSession:N,effectiveNewSessionCwd:ee,showChat:te,projectTrustCwd:P,refreshKey:re,sessionKey:ie,explorerRefreshKey:se,setExplorerRefreshKey:ce,modelsRefreshKey:le,setModelsRefreshKey:ue,activeCwd:de,initialCwdStatus:fe,initialCwdError:pe,initialSessionRestored:me,projectTrust:he,projectTrustDialogOpen:ge,setProjectTrustDialogOpen:_e,projectTrustBusy:ve,projectTrustError:ye,setProjectTrustError:be,extensionDialogActiveRef:xe,handleSelectSession:Se,handleNewSession:Ce,handleSessionCreated:we,handleAgentEnd:Te,handleSessionRenamed:Ee,handleSessionForked:De,handleSessionDeleted:Oe,handleSessionUnseen:ke,handleCwdChange:Ae,handleTrustProject:je,handleExplorerRefresh:Me,handleInitialRestoreDone:Ne}=At({initialNavigation:n,onProjectSwitch:()=>{j(null),Pe(e=>e.filter(e=>e.kind!==`file`)),Fe(null),Poe(`/`)},onSessionSelected:e=>{l&&!e&&et(!1)},onTopPanelReset:()=>j(null)}),{setSavedTabs:Pe,setActiveSavedId:Fe,configTabOpen:Ie,configSection:Le,setConfigSection:Re,configTabActive:ze,activeFileTab:Be,fileTabs:Ve,modelConfigFocus:He,handleOpenFile:Ue,openConfigTab:We,handleOpenModelConfig:Ge,closeConfigTab:Ke,handleCloseMainTab:qe}=OK({onSessionSelected:()=>{vt(!1),l&&et(!1)},onRefreshModels:()=>ue(e=>e+1)}),{updatesBadge:Je,updateItems:Ye,updatesBannerDismissed:Xe,setUpdatesBannerDismissed:Ze}=Lae({activeCwd:de,translate:s}),Qe=(0,d.useCallback)(e=>{Ue(e,ES(e),{sourceSessionId:N?.id??null})},[Ue,N?.id]),[$e,et]=(0,d.useState)(!0),{sidebarResizer:tt,widgetPanelResizer:nt,mobileSidebarReady:rt}=Nae({isMobile:l,sidebarOpen:$e,setSidebarOpen:et,translate:s}),it=(0,d.useRef)(null),at=(0,d.useRef)(null),ot=(0,d.useRef)(null),st=(0,d.useRef)(null),ct=tx(),lt=(0,d.useCallback)(()=>{ct.schedule(()=>{j(null)},150)},[ct]),ut=ct.cancel,dt=Iae({activeTopPanel:A,isMobile:l,tabBarRef:it,sidebarTopBarRef:at,languageBtnRef:ot,fontScaleBtnRef:st}),ft=(0,d.useCallback)(e=>{l&&et(!1),j(t=>t===e?null:e)},[l]),mt=(0,d.useCallback)(()=>{l&&j(null),et(e=>!e)},[l]),{widgetPanelOpen:ht,setWidgetPanelOpen:gt,widgetsTabActive:_t,setWidgetsTabActive:vt,extensionWidgets:yt,closedWidgets:bt,handleCloseWidget:xt,handleReopenWidget:St,handleExtensionWidgetsChange:Ct,rightSidebarOpen:wt,setRightSidebarOpen:Tt,closedWidgetCount:Et}=BK({widgetGeometries:x,setWidgetGeometry:S}),Dt=l?ht:wt,{chatInputRef:Ot,handleAtMention:kt,handleAtMentions:jt,handleFileLineMention:Nt}=jae(),Pt=n.sessionId;ae({onNewSession:e=>Ce(`kb-${Date.now()}`,e),activeCwd:de});let Ft=me&&!te,It=UK({translate:s,closedWidgetCount:Et,configTabOpen:Ie,fileTabs:Ve}),Lt=de?ES(de)||de:null,Rt=Lt?`Pi Web · ${Lt}`:`Pi Web`;(0,d.useEffect)(()=>{document.title=Rt},[Rt]),(0,d.useEffect)(()=>{let e=()=>{document.title=Rt};return window.addEventListener(`focus`,e),()=>window.removeEventListener(`focus`,e)},[Rt]);let zt=oe(),Bt=(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)($q,{topBarRef:at,notifyPermission:zt,isDark:r,toggleTheme:i,updatesBadge:Je,openConfigTab:We,isMobile:l,setSidebarOpen:et,activeTopPanel:A,setActiveTopPanel:j,cancelCloseTopPanel:ut,scheduleCloseTopPanel:lt,languageBtnRef:ot,fontScaleBtnRef:st}),Je>0&&!Xe&&(0,T.jsx)(Aae,{items:Ye,openConfigTab:We,setConfigSection:Re,onDismiss:()=>Ze(!0)}),(0,T.jsx)(Noe,{selectedSessionId:N?.id??null,selectedSession:N,onSelectSession:Se,onNewSession:Ce,initialSessionId:Pt,skipInitialProjectSelection:n.requestedCwd!==null,onInitialRestoreDone:Ne,refreshKey:re,onSessionDeleted:Oe,onUnseenSession:ke,selectedCwd:N?.cwd??ee,onCwdChange:Ae,savedWorkspaces:y,onSavedWorkspacesChange:b,onOpenFile:Ue})]});if(!e)return(0,T.jsx)(zae,{});let Vt=(0,T.jsx)(qq,{sidebarOpen:$e,onToggle:mt}),Ht=te&&he?.requiresTrust&&!he.trusted?(0,T.jsx)(tJ,{isMobile:l,onClick:()=>{be(null),_e(!0)}}):null,Ut=(0,T.jsx)(Rae,{panelOpen:Dt,highlighted:ht,onToggle:()=>{l?gt(e=>!e):Tt(e=>!e)}});return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(Mt,{value:u,children:(0,T.jsx)(FK,{value:{activeTopPanel:A,toggleTopPanel:ft,closeTopPanel:()=>j(null)},children:(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(or,{delayDuration:0,children:[(0,T.jsx)(Gae,{}),(0,T.jsxs)(`div`,{style:{display:`flex`,width:`100%`,height:`var(--app-viewport-height, 100dvh)`,paddingLeft:`env(safe-area-inset-left)`,paddingRight:`env(safe-area-inset-right)`,overflow:`hidden`,background:`var(--bg)`},children:[(0,T.jsx)(Gq,{sidebarResizer:tt,sidebarOpen:$e,mobileSidebarReady:rt,setSidebarOpen:et,sidebarContent:Bt,translate:s}),(0,T.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,overflow:`hidden`,minWidth:0},children:[(0,T.jsx)(eJ,{activeTopPanel:A,setActiveTopPanel:j,topPanelPos:dt,cancelCloseTopPanel:ut,scheduleCloseTopPanel:lt,translate:s,locale:a,setLocale:o,supportedLocales:c,fontScale:O,setFontScale:k}),(0,T.jsxs)(sK,{tabs:It,activeTabId:WK({configTabActive:ze,widgetsTabActive:_t,activeFileTab:Be}),leftExtra:Vt,rightExtra:Ut,onSelectTab:e=>{let t=GK(e);vt(t.widgetsTabActive),Fe(t.activeSavedId)},onCloseTab:qe,tabBarRef:it,overlay:(0,T.jsx)(HK,{initialCwdStatus:fe,requestedCwd:n.requestedCwd,initialCwdError:pe,showPlaceholder:Ft,activeCwd:de,translate:s}),children:[(0,T.jsx)(aK,{id:yK,testId:`config-tab-pane`,children:(0,T.jsx)(Zie,{configSection:Le,setConfigSection:Re,projectTrustCwd:P,sessionId:N?.id??null,closeConfigTab:Ke,handleOpenFile:Ue,sidebarResizer:tt,widgetPanelResizer:nt,modelConfigFocus:He,defaultThinkingLevel:f,setDefaultThinkingLevel:p,compaction:m,retry:h,defaultProjectTrust:g,setDefaultProjectTrust:_,subagents:v})}),(0,T.jsx)(aK,{id:Be?xK(Be.filePath):`file:`,testId:`file-tab-pane`,children:(0,T.jsx)(Dae,{activeFileTab:Be,activeCwd:de,explorerRefreshKey:se,setExplorerRefreshKey:ce,handleFileLineMention:Nt,handleOpenFile:Ue})}),(0,T.jsx)(aK,{id:vK,keepAlive:!0,testId:`chat-tab-pane`,scroll:`hidden`,activeWhen:te,children:(0,T.jsx)(Xie,{sessionKey:ie,selectedSession:N,effectiveNewSessionCwd:ee,handleAgentEnd:Te,handleSessionCreated:we,handleSessionForked:De,modelsRefreshKey:le,handleOpenModelConfig:Ge,chatInputRef:Ot,handleOpenLinkedFile:Qe,handleSessionRenamed:Ee,activeCwdName:Lt,trustWarningElement:Ht,closedWidgets:bt,handleCloseWidget:xt,handleExtensionWidgetsChange:Ct,extensionDialogActiveRef:xe})}),(0,T.jsx)(aK,{id:bK,keepAlive:!0,testId:`widgets-tab-pane`,zIndex:1,activeWhen:te,children:(0,T.jsx)(kae,{widgetGeometries:x,widgetMessages:C,addWidgetMessage:w,removeWidgetMessage:E,updateWidgetMessage:D,extensionWidgets:yt,closedWidgets:bt,handleReopenWidget:St})})]})]}),(0,T.jsx)(Wq,{isMobile:l,rightSidebarOpen:wt,rightSidebarOpenEffective:Dt,widgetPanelResizer:nt,translate:s,cwd:N?.cwd??ee,sessionId:N?.id??null,handleOpenFile:Ue,explorerRefreshKey:se,handleExplorerRefresh:Me,handleAtMention:kt,handleAtMentions:jt,openConfigTab:We})]}),ge&&P&&(0,T.jsx)(Jae,{cwd:P,busy:ve,error:ye,onCancel:()=>{ve||_e(!1)},onConfirm:()=>void je()})]})})})}),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(Bae,{}),(0,T.jsx)(qae,{})]})]})}var Ioe=class extends d.Component{constructor(...e){super(...e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e){xt(e,`render error`)}render(){return this.state.hasError?(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:12,height:`100vh`,color:`var(--text)`,fontSize:`var(--text-base)`},children:[(0,T.jsx)(`span`,{children:`⚠️`}),(0,T.jsx)(`span`,{children:`Something went wrong while rendering.`}),(0,T.jsx)(`button`,{type:`button`,onClick:()=>{this.setState({hasError:!1})},style:{border:`1px solid var(--border)`,background:`none`,color:`var(--text)`,borderRadius:6,padding:`4px 14px`,cursor:`pointer`},children:`Try again`})]}):this.props.children}};function Loe(){return(0,d.useEffect)(()=>{if(!(`serviceWorker`in navigator))return;let e=()=>{navigator.serviceWorker.register(`/sw.js?v=0.15.30`,{scope:`/`,updateViaCache:`none`}).catch(e=>{console.error(`Failed to register the Pi Web service worker:`,e)})};if(document.readyState===`complete`){e();return}return window.addEventListener(`load`,e,{once:!0}),()=>window.removeEventListener(`load`,e)},[]),null}var Roe=`piE2eFixtureDir`;function zoe(){return typeof window>`u`?null:new URL(window.location.href).searchParams.get(`piE2eFixtureDir`)}function Boe(){if(typeof document>`u`)return;let e=zoe();e&&(document.cookie=`${Roe}=${encodeURIComponent(e)}; path=/; SameSite=Lax`)}async function Voe(){Boe(),iJ(!0),sJ();let e=aJ(`boot`),t=null;try{let n=await fe.load();e(`preferences catalog loaded`,`locale=${n.firstPaint?.locale}`);let r=n.firstPaint?.locale;(r===`en`||r===`zh-CN`)&&(t=r,document.documentElement.lang=r===`zh-CN`?`zh-CN`:`en`);let i=n.theme;if(i===`dark`?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`),i)try{localStorage.setItem(`pi-theme`,i)}catch{}}catch{}e(`root render`),window.addEventListener(`unhandledrejection`,e=>{xt(e.reason,`unhandled promise rejection`)}),window.addEventListener(`error`,e=>{let t=(e.error instanceof Error?e.error.message:``)||e.message||``;t.includes(`ResizeObserver loop`)||t.startsWith(`Script error`)||xt(e.error??e.message,`uncaught error`)}),(0,f.createRoot)(document.getElementById(`root`)).render((0,T.jsx)(d.StrictMode,{children:(0,T.jsx)(Ioe,{children:(0,T.jsxs)(j,{initialLocale:t,children:[(0,T.jsx)(Foe,{}),(0,T.jsx)(Loe,{})]})})}))}Voe();export{x2 as a,p4 as i,X6 as n,w as o,e8 as r,i as s,H4 as t};
495
+ `))},[e.key]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(l9,{testId:`widget-dialog`,title:e.key,align:`center`,portalTarget:c,style:{opacity:+!u,transition:`opacity 200ms ease`},headerExtra:(0,T.jsx)(F,{label:l(`widgets.collapse`),children:(0,T.jsx)(`button`,{type:`button`,"aria-label":l(`widgets.collapse`),onClick:g,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:26,height:26,borderRadius:6,border:`none`,background:`transparent`,color:`var(--text-muted)`,cursor:`pointer`},className:`hover-shift`,children:(0,T.jsx)(yn,{size:I.xl})})}),position:t?{x:t.x,y:t.y}:void 0,size:t?{width:t.width,height:t.height}:void 0,initialOffset:r,onDragStop:(n,r)=>a(e.key,{x:n,y:r,width:t?.width??560,height:t?.height??Math.round(window.innerHeight*.6)}),onResizeStop:(t,n,r,i)=>a(e.key,{x:r,y:i,width:t,height:n}),children:(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:10},children:[(0,T.jsx)(`pre`,{style:{margin:0,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.5,whiteSpace:`pre-wrap`,wordBreak:`break-word`,fontFamily:`var(--font-mono)`},children:e.lines.join(`
496
+ `)}),n.length>0&&(0,T.jsx)(`div`,{"data-testid":`widget-bound-messages`,style:{display:`flex`,flexWrap:`wrap`,gap:6,paddingTop:8,borderTop:`1px solid var(--border)`,flexShrink:0},children:n.map((t,n)=>(0,T.jsx)(z7,{msg:t,onSend:o,onFillInput:s,testId:`widget-send-${e.key}-${n}`},n))})]})}),p&&(0,T.jsx)(`div`,{"data-testid":`widget-collapse-trail`,style:{position:`fixed`,inset:0,zIndex:70,pointerEvents:`none`},children:(0,T.jsx)(`svg`,{width:`100%`,height:`100%`,style:{position:`absolute`,inset:0},children:(0,T.jsx)(`circle`,{ref:h,r:28,fill:`var(--accent)`,fillOpacity:.7})})})]})}function Xie(e){return e.replace(/[\r\n\t]/g,` `).replace(/ +/g,` `).trim()}function Zie(e){return[...e].sort((e,t)=>e.key.localeCompare(t.key)).map(({text:e})=>Xie(e)).join(` `)}function Qie({session:e,newSessionCwd:t,onAgentEnd:n,onSessionCreated:r,onSessionForked:i,modelsRefreshKey:a,chatInputRef:o,onOpenModelConfig:s,onSessionRenamed:c,windowTitleBase:l,onOpenFile:u,toolbarExtra:f,closedWidgetKeys:p,onCloseWidget:m,onExtensionWidgetsChange:h,onExtensionDialogChange:g}){let{t:_,locale:v}=M(),{scrollStepPx:y,autoReloadSeconds:b,longBlockCollapseChars:x,recentBlocksExpanded:S,widgetGeometries:C,setWidgetGeometry:w,widgetMessages:E,startScreenMessages:D}=Nt(),{soundEnabled:O,onSoundToggle:k,playDoneSound:A,unlockAudio:j}=DX(),N=ne(),ee=oe(),{wrappedOnAgentEnd:te,soundedExtensionDialogIdRef:P,playDoneSoundRef:re}=Rie({playDoneSound:A,soundEnabled:O,onAgentEnd:n}),ie=(0,d.useCallback)(e=>{o?.current?.insertIfEmpty(e)},[o]),ae=(0,d.useCallback)(e=>{o?.current?.fillInput(e)},[o]),{activeTopPanel:se,cancelCloseTopPanel:ce,chatToolbarRef:le,closeTopPanel:ue,copiedSessionField:de,handleCopySessionField:fe,handleViewFullHistory:pe,scheduleCloseTopPanel:me,systemBtnRef:he,toggleTopPanel:ge}=Vie({session:e}),{loading:_e,error:ve,messages:ye,entryIds:be,streamState:xe,agentRunning:Se,bashRunning:Ce,bashOutput:we,pendingBash:Te,modelNames:Ee,modelList:De,modelError:Oe,modelScopeWarnings:ke,modelThinkingLevels:Ae,modelThinkingLevelMaps:je,toolPreset:Me,thinkingLevel:Ne,retryInfo:Pe,displayContextUsage:Fe,forkingEntryId:Ie,isCompacting:Le,compactError:Re,compactResult:ze,displayModel:Be,sessionStats:Ve,systemPrompt:He,slashCommands:Ue,slashCommandsLoading:We,queuedMessages:Ge,notices:Ke,noticeModals:qe,dismissNoticeModal:Je,extensionDialog:Ye,extensionCustomUi:Xe,extensionStatuses:Ze,extensionWidgets:Qe,respondToExtensionUi:$e,sendExtensionCustomInput:et,isAutoModelSelection:tt,agentPhase:nt,commandBusy:rt,isNew:it,tree:at,sessionIdRef:ot,activeLeafId:st,loadContext:ct,messagesEndRef:lt,scrollContainerRef:ut,lastUserMsgRef:dt,handleSend:ft,handleAbort:pt,handleFork:mt,handleNavigate:ht,handleLeafChange:gt,handleModelChange:_t,handleCompact:vt,handleSteer:yt,handleFollowUp:bt,handlePromptWithStreamingBehavior:xt,handleAbortCompaction:St,handleRecallQueue:Ct,handleBuiltinSlashCommand:wt,handleToolPresetChange:Tt,handleThinkingLevelChange:Et,loadSlashCommands:Dt,setSessionStatsOverride:Ot}=TX({session:e,newSessionCwd:t,onAgentEnd:te,onSessionCreated:r,onSessionForked:i,modelsRefreshKey:a,chatInputRef:o});(0,d.useEffect)(()=>{h?.(Qe)},[Qe,h]);let kt=Se||Ce,{handleQuickMessageSend:At,handleAutoNameRenamed:jt,wrappedHandleBuiltinSlashCommand:Mt}=Lie({sessionBusy:kt,handleSteer:yt,handlePromptWithStreamingBehavior:xt,handleSend:ft,onSessionRenamed:c,setSessionStatsOverride:Ot,handleBuiltinSlashCommand:wt,toggleTopPanel:ge}),Pt=(0,d.useMemo)(()=>pie(ye,xe.streamingMessage),[ye,xe.streamingMessage]),Ft=(0,d.useMemo)(()=>mie(ye,be,S),[ye,be,S]),{runningSessionIds:It,runningPhaseSince:Lt,runningBusySince:Rt}=BX(),zt=e?.id??ot.current??``,Bt=It.has(zt)||Se||rt||Ce,Vt=VX(Bt,Lt[zt]),Ht=VX(Bt,Rt[zt]),Ut=LY(Zie(Ze));Iie({sessionBusy:kt,extensionDialogOpen:Ye!==null,agentPhase:nt,isStreaming:xe.isStreaming,messages:ye,windowTitleBase:l,busyElapsed:Ht,busySinceMs:Rt[zt]});let{handleReloadFromDisk:Wt}=Bie({autoReloadSeconds:b,activeLeafId:st,loadContext:ct,sessionIdRef:ot,extensionDialog:Ye,onExtensionDialogChange:g,sessionBusy:kt,handleAbort:pt});(0,d.useEffect)(()=>{!Ye||P.current===Ye.id||(P.current=Ye.id,oJ(`ui-chain`,`4b ExtensionDialog mounted, play sound`,`${Ye.method} id=${Ye.id.slice(0,8)} title=${JSON.stringify(Ye.title)}`),re.current())},[Ye,re,P]);let[Gt,Kt]=(0,d.useState)(null),{nearBottom:qt,virtualizerRef:Jt,scrollToBottom:Yt,handleListScroll:Xt,handleWindowJumpTo:Zt,itemRef:Qt,resetItemObservers:$t,isPinnedToBottom:en}=zie({scrollContainerRef:ut}),tn=GQ(ye.filter(e=>e.role===`user`||e.role===`assistant`).length),[nn,rn]=(0,d.useState)(!1),an=e?.id??t??``;(0,d.useEffect)(()=>{if(rn(!1),dn.current=null,$t(),tn.current=[],dt.current=null,ut.current){ut.current.scrollTop=0;let e=ut.current.firstElementChild;if(e&&e.children.length===1){let t=e.firstElementChild;t?.style.height&&(t.style.height=`0px`)}}},[an]),(0,d.useEffect)(()=>()=>{},[]);let{isDragOver:on,handleDragEnter:sn,handleDragOver:cn,handleDragLeave:ln,handleDrop:un}=OX((0,d.useCallback)(e=>{kt||o?.current?.addImages(e)},[kt,o])),dn=(0,d.useRef)(null),{inputHistory:fn,rows:pn,visibleRefIndexByMessage:mn,initialCache:hn,resolveMessageOffset:gn,handleSearchJump:_n,flashKey:vn}=Jie({messages:ye,sessionBusy:kt,isStreaming:xe.isStreaming,virtualizerRef:Jt,scrollContainerRef:ut,canMountList:nn,setCanMountList:rn,initialSizesRef:dn}),yn=it&&ye.length===0&&!xe.isStreaming&&!kt,bn=!Se&&!xe.isStreaming&&!rt&&!Ce;(0,d.useLayoutEffect)(()=>{if(!D.length||!bn||!en())return;let e=ut.current;e&&(e.scrollTop=e.scrollHeight)},[D.length,bn,ut,en]);let xn=e?.cwd??t??void 0,Sn=Be?Ae[`${Be.provider}/${Be.modelId}`]??null:null,Cn=Be?je[`${Be.provider}/${Be.modelId}`]??null:null,wn=(0,T.jsx)(pQ,{ref:o,onSend:ft,onAbort:pt,onSteer:Se?yt:void 0,onFollowUp:Se?bt:void 0,onPromptWithStreamingBehavior:Se?xt:void 0,isStreaming:kt,commandBusy:rt,model:Be,isAutoModelSelection:tt,modelNames:Ee,modelList:De,modelError:Oe,modelScopeWarnings:ke,onModelChange:_t,onCompact:e||it?vt:void 0,onReloadFromDisk:Wt,onAbortCompaction:St,isCompacting:Le,compactError:Re,compactResult:ze,toolPreset:Me,onToolPresetChange:e||it?Tt:void 0,thinkingLevel:Ne,onThinkingLevelChange:e||it?Et:void 0,availableThinkingLevels:Sn,thinkingLevelMap:Cn,onOpenModelConfig:s,retryInfo:Pe,queuedMessages:Ge,inputHistory:fn,onRecallQueue:Ct,slashCommands:Ue,slashCommandsLoading:We,onLoadSlashCommands:Dt,onBuiltinCommand:Mt,soundEnabled:O,onSoundToggle:k,onAudioUnlock:j,draftKey:e?.id??(t?`new:${t}`:void 0),cwd:e?.cwd??t});return _e?(0,T.jsx)(`div`,{className:`flex h-full items-center justify-center text-text-muted`,children:_(e?`chat.loadingSession`:`chat.noSessionSelected`)}):ve?(0,T.jsx)(`div`,{className:`flex h-full items-center justify-center text-red-400`,children:ve}):(0,T.jsxs)(`div`,{ref:Kt,className:`relative flex h-full min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,style:{paddingBottom:`env(safe-area-inset-bottom)`},onDragEnter:sn,onDragOver:cn,onDragLeave:ln,onDrop:un,children:[(0,T.jsx)(Eie,{show:on&&!kt}),Ye&&(0,T.jsx)(Pie,{request:Ye,onRespond:$e}),qe.length>0&&(0,T.jsx)(Gre,{modals:qe,onDismiss:Je}),Xe&&(0,T.jsx)(Nie,{request:Xe,onInput:et}),Qe.filter(e=>!p.has(e.key)).map((e,t)=>(0,T.jsx)(Yie,{widget:e,saved:C[e.key],messages:E[e.key]??[],defaultOffset:t%3==0?{dx:0,dy:0}:t%3==1?{dx:-80,dy:0}:{dx:80,dy:0},onCloseWidget:m,setWidgetGeometry:w,onSend:At,fillChatInput:ae,portalTarget:Gt},e.key)),(0,T.jsx)(Tie,{chatToolbarRef:le,systemBtnRef:he,session:e,sessionStats:Ve,displayContextUsage:Fe,activeTopPanel:se,toggleTopPanel:ge,closeTopPanel:ue,systemPrompt:He,copiedSessionField:de,toolbarExtra:f,handleViewFullHistory:pe,handleAutoNameRenamed:jt,handleCopySessionField:fe,handleBuiltinSlashCommand:wt,tree:at,activeLeafId:st,handleLeafChange:gt,handleSearchJump:_n,scheduleCloseTopPanel:me,cancelCloseTopPanel:ce,commandBusy:rt,messages:ye,isMobile:N,locale:v,t:_}),yn?(0,T.jsx)(Fie,{notifyPermission:ee,newSessionCwd:t,startScreenMessages:D,handleQuickMessageSend:At,fillChatInput:ae,notices:Ke,chatInputElement:wn,t:_}):(0,T.jsx)($re,{isMobile:N,notices:Ke,scrollContainerRef:ut,handleListScroll:Xt,canMountList:nn,sessionIdForCache:an,sessionId:e?.id??ot.current??void 0,rows:pn,messages:ye,entryIds:be,session:e,modelNames:Ee,messageCwd:xn,onOpenFile:u,sessionBusy:kt,isNew:it,handleFork:mt,forkingEntryId:Ie,handleNavigate:ht,handleEditContent:ie,sessionIdRef:ot,longBlockCollapseChars:x,recentExpandedBlockKeys:Ft,streamState:xe,flashKey:vn,itemRef:Qt,t:_,messageRefs:tn,lastUserMsgRef:dt,visibleRefIndexByMessage:mn,virtualizerRef:Jt,initialCache:hn,streamTurnNumber:Pt,agentRunning:Se,commandBusy:rt,agentPhase:nt,phaseElapsed:Vt,totalElapsed:Ht,bashRunning:Ce,pendingBash:Te,bashOutput:we,messagesEndRef:lt,nearBottom:qt,scrollToBottom:Yt,resolveMessageOffset:gn,previewScrollStepPx:y,handleWindowJumpTo:Zt,chatInputElement:wn,startScreenMessages:D,aiIdle:bn,onQuickMessageSend:At,onFillInput:ae,plainStatusLine:Ut})]})}function $ie({sessionKey:e,selectedSession:t,effectiveNewSessionCwd:n,handleAgentEnd:r,handleSessionCreated:i,handleSessionForked:a,modelsRefreshKey:o,handleOpenModelConfig:s,chatInputRef:c,handleOpenLinkedFile:l,handleSessionRenamed:u,activeCwdName:d,trustWarningElement:f,closedWidgets:p,handleCloseWidget:m,handleExtensionWidgetsChange:h,extensionDialogActiveRef:g}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(`div`,{style:{flex:1,minHeight:0,display:`flex`,flexDirection:`column`,overflow:`hidden`},children:(0,T.jsx)(Qie,{session:t,newSessionCwd:n,onAgentEnd:r,onSessionCreated:i,onSessionForked:a,modelsRefreshKey:o,onOpenModelConfig:s,chatInputRef:c,onOpenFile:l,onSessionRenamed:u,windowTitleBase:d,toolbarExtra:f,closedWidgetKeys:p,onCloseWidget:m,onExtensionWidgetsChange:h,onExtensionDialogChange:e=>{g.current=e}},e)})})}function eae({configSection:e,setConfigSection:t,projectTrustCwd:n,sessionId:r,closeConfigTab:i,handleOpenFile:a,sidebarResizer:o,widgetPanelResizer:s,modelConfigFocus:c,defaultThinkingLevel:l,setDefaultThinkingLevel:u,compaction:d,retry:f,defaultProjectTrust:p,setDefaultProjectTrust:m,subagents:h}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(gK,{section:e,onSectionChange:t,cwd:n,sessionId:r,onClose:i,onOpenFile:a,sidebarWidth:o.width,onSidebarWidthChange:o.setWidth,widgetPanelWidth:s.width,onWidgetPanelWidthChange:s.setWidth,modelConfigFocus:c,defaultThinkingLevel:l,onDefaultThinkingLevelChange:u,compaction:d,onCompactionChange:e=>Te({firstPaint:{compaction:e}}),retry:f,onRetryChange:e=>Te({firstPaint:{retry:e}}),defaultProjectTrust:p,onDefaultProjectTrustChange:m,subagents:h,onSubagentsChange:e=>Te({firstPaint:{subagents:{defaultModel:e.defaultModel||void 0,defaultThinking:e.defaultThinking||void 0}}})})})}var tae=262144,D9=10485760,nae={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,webp:`image/webp`,svg:`image/svg+xml`,bmp:`image/bmp`,ico:`image/x-icon`,avif:`image/avif`},rae={mp3:`audio/mpeg`,wav:`audio/wav`,ogg:`audio/ogg`,oga:`audio/ogg`,opus:`audio/ogg`,m4a:`audio/mp4`,aac:`audio/aac`,flac:`audio/flac`,weba:`audio/webm`,webm:`audio/webm`};function iae(e){return e.replace(/\\/g,`/`).split(`/`).pop()??``}function O9(e){return iae(e).toLowerCase().split(`.`).pop()??``}function aae(e){return nae[O9(e)]??null}function oae(e){return rae[O9(e)]??null}function sae(e){let t=O9(e);return t===`pdf`||t===`docx`?t:null}function cae(e){return aae(e)!==null}function lae(e){return oae(e)!==null}function uae(e){return sae(e)!==null}function k9(e,t,n,r={}){let i=TS(e),a=new URLSearchParams({type:t});n&&a.set(`sessionId`,n);for(let[e,t]of Object.entries(r))t!==void 0&&a.set(e,String(t));return`/api/files/${i}?${a.toString()}`}function A9(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}var dae={source:`Source`,preview:`Preview`,diff:`Diff`},j9={fontFamily:`var(--font-mono)`,fontSize:`var(--text-lg)`,lineHeight:1.6},M9={width:48,minWidth:48,padding:`0 10px`,textAlign:`right`,color:`var(--text-dim)`,background:`var(--bg-panel)`,borderRight:`1px solid var(--border)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontStyle:`normal`,fontVariantNumeric:`tabular-nums`,lineHeight:`20.8px`,userSelect:`none`,flexShrink:0,verticalAlign:`top`};function N9({filePath:e,sourceSessionId:t}){let{t:n}=M();return(0,T.jsx)(F,{label:n(`i18n.downloadFile`),children:(0,T.jsx)(`a`,{href:k9(e,`download`,t),download:ES(e),"aria-label":n(`i18n.downloadFile`),className:`file-viewer-icon-button`,children:(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,T.jsx)(`polyline`,{points:`7 10 12 15 17 10`}),(0,T.jsx)(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})]})})})}function P9(e,t,n){let[r,i]=(0,d.useState)(!1),a=(0,d.useRef)(n);(0,d.useEffect)(()=>{a.current=n});let o=(0,d.useRef)(null);return(0,d.useEffect)(()=>(i(!1),o.current?.(),o.current=mY({ch:`watch`,filePath:e},e=>{e.event===`connected`?i(!0):e.event===`error`?i(!1):a.current(e)}),()=>{o.current?.(),o.current=null}),[e]),{watching:r,closeWatch:(0,d.useCallback)(()=>{o.current?.(),o.current=null,i(!1)},[])}}function F9({filePath:e,cwd:t,extLabel:n,watching:r,sourceSessionId:i,ellipsis:a,children:o}){let{t:s}=M();return(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12,padding:`4px 16px`,borderBottom:`1px solid var(--border)`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,background:`var(--bg)`,flexShrink:0},children:[(0,T.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`,...a?{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}:{}},title:e,children:OS(e,t)}),(0,T.jsx)(`span`,{style:{marginLeft:`auto`},children:n}),o,(0,T.jsxs)(`span`,{title:s(r?`i18n.liveSync`:`i18n.notWatching`),style:{display:`flex`,alignItems:`center`,gap:4,color:r?`var(--status-success)`:`var(--text-dim)`},children:[(0,T.jsx)(`span`,{style:{width:7,height:7,borderRadius:`50%`,background:r?`var(--status-success)`:`var(--border)`,display:`inline-block`,boxShadow:r?`0 0 4px var(--status-success)`:`none`}}),r?`live`:`static`]}),(0,T.jsx)(N9,{filePath:e,sourceSessionId:i})]})}function I9({filePath:e,sourceSessionId:t,cwd:n}){let{t:r}=M(),[i,a]=(0,d.useState)(!1),[o,s]=(0,d.useState)(null),c=typeof n==`string`&&/^[a-zA-Z]:[\\/]/.test(n)||typeof n==`string`&&n.startsWith(`\\\\`),l=(0,d.useCallback)(async n=>{a(!0),s(null);try{let i=await fetch(k9(e,`open`,t,n?{chooseApp:1}:void 0),{method:`POST`}),a=await i.json().catch(()=>null);i.ok?s({ok:!0,text:r(`files.openLaunched`)}):s({ok:!1,text:a?.error??`HTTP ${i.status}`})}catch(e){s({ok:!1,text:String(e)})}finally{a(!1)}},[e,t,r]);return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:10,marginTop:16},children:[o&&(0,T.jsx)(`div`,{style:{color:o.ok?`var(--text-muted)`:`var(--status-error)`,fontSize:`var(--text-sm)`,maxWidth:460,textAlign:`center`,lineHeight:1.5},children:o.text}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[(0,T.jsx)(`button`,{type:`button`,disabled:i,onClick:()=>l(!1),className:`file-viewer-mode-button file-open-action-button`,children:r(`files.openInSystemApp`)}),c&&(0,T.jsx)(`button`,{type:`button`,disabled:i,onClick:()=>l(!0),className:`file-viewer-mode-button file-open-action-button`,children:r(`files.chooseOtherApp`)})]})]})}function fae({filePath:e,cwd:t,sourceSessionId:n}){let[r,i]=(0,d.useState)(0),[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null),f=ES(e).toLowerCase().split(`.`).pop()??``;ir(()=>{i(0),o(null),c(null),u(null)},[e,n]);let{watching:p}=P9(e,n,e=>{typeof e.size==`number`&&o(e.size),i(e=>e+1)}),m=k9(e,`read`,n,r?{v:r}:void 0),h=a==null?null:A9(a);return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsxs)(F9,{filePath:e,cwd:t,extLabel:f||`image`,watching:p,sourceSessionId:n,children:[s&&(0,T.jsxs)(`span`,{children:[s.w,` × `,s.h]}),h&&(0,T.jsx)(`span`,{children:h})]}),(0,T.jsx)(`div`,{style:{flex:1,overflow:`auto`,backgroundColor:`var(--bg-panel)`,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:16,backgroundImage:`linear-gradient(45deg, var(--bg) 25%, transparent 25%), linear-gradient(-45deg, var(--bg) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--bg) 75%), linear-gradient(-45deg, transparent 75%, var(--bg) 75%)`,backgroundSize:`16px 16px`,backgroundPosition:`0 0, 0 8px, 8px -8px, -8px 0px`},children:l?(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:4},children:[(0,T.jsx)(`div`,{style:{color:`var(--status-error)`,fontSize:`var(--text-lg)`},children:l}),(0,T.jsx)(I9,{filePath:e,sourceSessionId:n,cwd:t})]}):(0,T.jsx)(`img`,{src:m,alt:e,onLoad:e=>{let t=e.currentTarget;c({w:t.naturalWidth,h:t.naturalHeight})},onError:()=>u(`Failed to load image`),style:{maxWidth:`100%`,maxHeight:`100%`,objectFit:`contain`,boxShadow:`0 2px 8px var(--shadow-color)`}})})]})}function pae({filePath:e,cwd:t,sourceSessionId:n}){let[r,i]=(0,d.useState)(0),[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null),f=ES(e).toLowerCase().split(`.`).pop()??``;ir(()=>{i(0),o(null),c(null),u(null)},[e,n]);let{watching:p}=P9(e,n,e=>{typeof e.size==`number`&&o(e.size),c(null),u(null),i(e=>e+1)}),m=k9(e,`read`,n,r?{v:r}:void 0);return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsxs)(F9,{filePath:e,cwd:t,extLabel:f||`audio`,watching:p,sourceSessionId:n,children:[s!=null&&(0,T.jsx)(`span`,{children:kX(s)}),a!=null&&(0,T.jsx)(`span`,{children:A9(a)})]}),(0,T.jsx)(`div`,{style:{flex:1,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:24,background:`var(--bg-panel)`},children:(0,T.jsxs)(`div`,{style:{width:`min(680px, 100%)`},children:[l&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{style:{color:`var(--status-error)`,fontSize:`var(--text-lg)`,marginBottom:12,textAlign:`center`},children:l}),(0,T.jsx)(I9,{filePath:e,sourceSessionId:n,cwd:t})]}),(0,T.jsx)(`audio`,{controls:!0,preload:`metadata`,src:m,onLoadedMetadata:e=>c(e.currentTarget.duration),onError:()=>u(`Failed to load audio`),style:{width:`100%`}},m)]})})]})}function mae({filePath:e,cwd:t,sourceSessionId:n}){let{t:r}=M(),[i,a]=(0,d.useState)(0),[o,s]=(0,d.useState)(null),[c,l]=(0,d.useState)(null),u=O9(e),f=u===`pdf`,p=f?k9(e,`read`,n,i?{v:i}:void 0):k9(e,`preview`,n,i?{v:i}:void 0);(0,d.useEffect)(()=>{a(0),s(null),l(null),fetch(k9(e,`meta`,n)).then(e=>e.json()).then(e=>{e.error&&l(e.error),typeof e.size==`number`&&(s(e.size),!f&&e.size>10485760&&l(r(`files.docTooLargeForPreview`,{limit:A9(D9)})))}).catch(e=>l(String(e)))},[e,f,n,r]);let{watching:m}=P9(e,n,e=>{if(typeof e.size==`number`&&(s(e.size),!f&&e.size>10485760)){l(r(`files.docTooLargeForPreview`,{limit:A9(D9)}));return}l(null),a(e=>e+1)});return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsx)(F9,{filePath:e,cwd:t,extLabel:u===`docx`?`docx preview`:`pdf`,watching:m,sourceSessionId:n,ellipsis:!0,children:o!=null&&(0,T.jsx)(`span`,{children:A9(o)})}),(0,T.jsx)(`div`,{style:{flex:1,minHeight:0,background:`var(--bg-panel)`},children:c?(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,padding:24,color:`var(--status-error)`,fontSize:`var(--text-lg)`,textAlign:`center`},children:[(0,T.jsx)(`div`,{children:c}),(0,T.jsx)(I9,{filePath:e,sourceSessionId:n,cwd:t})]}):(0,T.jsx)(`iframe`,{src:p,sandbox:f?void 0:`allow-same-origin`,title:r(`i18n.previewFile`,{file:ES(e)}),style:{width:`100%`,height:`100%`,border:`none`,background:f?`var(--bg)`:`#eef1f5`}},p)})]})}function hae(){return(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`}),(0,T.jsx)(`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`})]})}function gae({filePath:e,cwd:t,metadata:n,watching:r,isDeletedDiff:i,displayModes:a,effectiveDisplayMode:o,setDisplayMode:s,wrapLines:c,setWrapLines:l,editMode:u,dirty:d,handleSave:f,saveState:p,highlightReady:m,selectedLineRange:h,handleMentionSelectedLines:g,fileContent:_,sourceSessionId:v,t:y,saveError:b,enterEdit:x,cancelEdit:S}){return(0,T.jsxs)(`div`,{className:`file-viewer-toolbar`,style:{display:`flex`,alignItems:`center`,gap:8,padding:`5px 12px`,borderBottom:`1px solid var(--border)`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,background:`var(--bg)`,flexShrink:0},children:[(0,T.jsx)(F,{label:e,children:(0,T.jsx)(`span`,{className:`file-viewer-path`,style:{fontFamily:`var(--font-mono)`},children:OS(e,t)})}),(0,T.jsx)(F,{label:n,children:(0,T.jsx)(`span`,{className:`file-viewer-meta`,children:n})}),!i&&(0,T.jsx)(F,{label:y(r?`i18n.liveSync`:`i18n.notWatching`),children:(0,T.jsx)(`span`,{"aria-label":y(r?`i18n.liveSync`:`i18n.notWatching`),className:`file-viewer-live-indicator`,style:{background:r?`var(--status-success)`:`var(--border)`,boxShadow:r?`0 0 4px var(--status-success)`:`none`}})}),(0,T.jsxs)(`div`,{className:`file-viewer-controls`,children:[a.length>1&&(0,T.jsx)(`div`,{className:`file-viewer-mode-switch`,"aria-label":y(`i18n.fileViewMode`),children:a.map(e=>{let t=o===e;return(0,T.jsx)(F,{label:e===`diff`?y(`i18n.compareHead`):void 0,children:(0,T.jsx)(`button`,{type:`button`,onClick:()=>s(e),"aria-pressed":t,className:`file-viewer-mode-button`,style:{background:t?`var(--bg-selected)`:`transparent`,color:t?`var(--text)`:`var(--text-muted)`},children:dae[e]})},e)})}),(0,T.jsxs)(`div`,{className:`file-viewer-actions`,children:[o===`source`&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(F,{label:y(`i18n.mentionSelectedLines`),children:(0,T.jsx)(`button`,{type:`button`,onMouseDown:e=>e.preventDefault(),onClick:g,"aria-label":y(`i18n.mentionSelectedLines`),disabled:!h,className:`file-viewer-icon-button`,children:(0,T.jsx)(hae,{})})}),(0,T.jsx)(F,{label:y(c?`i18n.disableWrap`:`i18n.enableWrap`),children:(0,T.jsx)(`button`,{type:`button`,onClick:()=>l(e=>!e),"aria-label":y(c?`i18n.disableWrap`:`i18n.enableWrap`),"aria-pressed":c,className:`file-viewer-icon-button`,style:{background:c?`var(--bg-selected)`:`transparent`,color:c?`var(--text)`:`var(--text-muted)`},children:(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`path`,{d:`M4 7V4h16v3`}),(0,T.jsx)(`path`,{d:`M9 20h6`}),(0,T.jsx)(`path`,{d:`M12 4v16`})]})})})]}),o===`source`&&m&&!u&&(0,T.jsx)(`a`,{href:k9(e,`download`,v),download:ES(e),"aria-label":y(`i18n.downloadFile`),className:`file-viewer-icon-button`,style:{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,textDecoration:`none`},children:(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,T.jsx)(`polyline`,{points:`7 10 12 15 17 10`}),(0,T.jsx)(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})]})}),!i&&o===`source`&&(0,T.jsx)(`div`,{className:`file-viewer-edit-controls`,style:{display:`flex`,alignItems:`center`,gap:8,marginLeft:8},children:u?(0,T.jsxs)(T.Fragment,{children:[d&&(0,T.jsx)(F,{label:y(`i18n.unsavedChanges`),children:(0,T.jsx)(`span`,{"aria-label":y(`i18n.unsavedChanges`),style:{color:`var(--status-warning)`,fontWeight:700},children:`●`})}),(0,T.jsx)(F,{label:y(`i18n.saveFileShortcut`),children:(0,T.jsx)(`button`,{type:`button`,onClick:f,disabled:!d||p===`saving`,"aria-label":y(`i18n.saveFile`),className:`file-viewer-icon-button`,style:{background:d?`var(--accent)`:`transparent`,color:d?`var(--bg)`:`var(--text-muted)`},children:p===`saving`?(0,T.jsx)(vn,{size:I.lg,className:`animate-spin`}):(0,T.jsx)(An,{size:I.lg})})}),(0,T.jsx)(F,{label:y(`i18n.cancelEdit`),children:(0,T.jsx)(`button`,{type:`button`,onClick:S,"aria-label":y(`i18n.cancelEdit`),className:`file-viewer-icon-button`,children:(0,T.jsx)(qn,{size:I.lg})})}),p===`error`&&b&&(0,T.jsx)(`span`,{style:{color:`var(--status-error)`,fontSize:`var(--text-sm)`},children:y(`i18n.saveFailed`,{error:b})}),p===`saved`&&!d&&(0,T.jsx)(`span`,{style:{color:`var(--status-success)`,fontSize:`var(--text-sm)`},children:y(`i18n.saved`)})]}):(0,T.jsx)(F,{label:y(`i18n.editFile`),children:(0,T.jsx)(`button`,{type:`button`,onClick:x,"aria-label":y(`i18n.editFile`),className:`file-viewer-icon-button`,children:(0,T.jsx)(Cn,{size:I.lg})})})}),!i&&(0,T.jsx)(N9,{filePath:e,sourceSessionId:v})]})]})]})}function _ae({filePath:e,sourceSessionId:t,onFileChange:n}){let[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(!0),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null),f=(0,d.useCallback)(e=>fetch(k9(e,`read`,t)).then(async e=>{let t=await e.json();return t.error?(c(t.error),u(e.status),null):(c(null),u(null),i(t),t)}).catch(e=>(c(String(e)),null)),[t]);return(0,d.useEffect)(()=>{o(!0),c(null),u(null),i(null),n?.(),f(e).finally(()=>o(!1))},[e,f]),{data:r,setData:i,loading:a,error:s,loadStatus:l,fetchContent:f}}function vae({cwd:e,filePath:t,gitRefreshKey:n}){let[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(0),c=(0,d.useCallback)(async t=>{let n=++s.current;if(o(!0),!e){i(null),o(!1);return}try{let r=new URLSearchParams({cwd:e,path:t}),a=await fetch(`/api/git/diff?${r.toString()}`),o=await a.json();if(n!==s.current)return;i(a.ok&&o.supported&&typeof o.patch==`string`?o:null)}catch{n===s.current&&i(null)}finally{n===s.current&&o(!1)}},[e]);return(0,d.useEffect)(()=>{c(t)},[c,t,n]),{gitDiff:r,gitDiffLoading:a,fetchGitDiff:c,resetGitDiff:(0,d.useCallback)(()=>i(null),[])}}function L9(e){return(e.nodeType===Node.ELEMENT_NODE?e:e.parentElement)?.closest(`.file-source-line[data-line-number]`)??null}function R9(e,t){if(!t||t.isCollapsed||t.rangeCount===0)return null;let n=t.getRangeAt(0);if(!e.contains(n.startContainer)||!e.contains(n.endContainer))return null;let r=L9(n.startContainer),i=L9(n.endContainer);if(!r||!i||!e.contains(r)||!e.contains(i))return null;let a=Number(r.dataset.lineNumber),o=Number(i.dataset.lineNumber);if(!Number.isInteger(a)||!Number.isInteger(o))return null;if(a<o){let e=r.querySelector(`.file-source-line-content`);if(e?.contains(n.startContainer)){let t=document.createRange();if(t.selectNodeContents(e),t.setStart(n.startContainer,n.startOffset),t.toString().length===0){let e=r.nextElementSibling;e instanceof HTMLElement&&e.matches(`.file-source-line[data-line-number]`)&&(r=e,a=Number(r.dataset.lineNumber))}}let t=i.querySelector(`.file-source-line-content`);if(t?.contains(n.endContainer)){let e=document.createRange();if(e.selectNodeContents(t),e.setEnd(n.endContainer,n.endOffset),e.toString().length===0){let e=i.previousElementSibling;e instanceof HTMLElement&&e.matches(`.file-source-line[data-line-number]`)&&(i=e,o=Number(i.dataset.lineNumber))}}}return a>o?null:{startLine:a,endLine:o}}function yae({rows:e,stylesheet:t,useInlineStyles:n,wrapLines:r}){return e.map((e,i)=>{let a=e.children??[],o=a[0]?.properties?.className,s=Array.isArray(o)&&o.includes(`react-syntax-highlighter-line-number`),c=s?a[0]:null,l=s?a.slice(1):a;return(0,T.jsxs)(`span`,{className:`file-source-line`,"data-line-number":i+1,style:{display:`flex`,minWidth:`100%`},children:[c&&O8({node:c,stylesheet:t,useInlineStyles:n,key:`source-line-number-${i}`}),(0,T.jsx)(`span`,{className:`file-source-line-content`,style:{flex:`1 1 auto`,minWidth:0,overflowWrap:r?`anywhere`:`normal`,whiteSpace:r?`pre-wrap`:`pre`},children:l.map((e,r)=>O8({node:e,stylesheet:t,useInlineStyles:n,key:`source-token-${i}-${r}`}))})]},`source-line-${i}`)})}function bae({filePath:e,cwd:t,content:n,displayMode:r,onMentionLines:i}){let a=(0,d.useRef)(null),[o,s]=(0,d.useState)(null);(0,d.useEffect)(()=>{let e=()=>{let e=a.current;s(i&&r===`source`&&e?R9(e,window.getSelection()):null)};if(e(),!(!i||r!==`source`))return document.addEventListener(`selectionchange`,e),()=>document.removeEventListener(`selectionchange`,e)},[n,r,i]);let c=(0,d.useCallback)(n=>{!i||!n||i(OS(e,t),n.startLine,n.endLine)},[t,e,i]),l=(0,d.useCallback)(()=>{c(o)},[c,o]);return(0,d.useEffect)(()=>{if(!i||r!==`source`)return;let e=e=>{if(e.repeat||e.key.toLowerCase()!==`i`||!e.metaKey&&!e.ctrlKey||e.altKey||e.shiftKey)return;let t=e.target;if(t instanceof Element&&t.closest(`input, textarea, [contenteditable='true']`))return;let n=a.current,r=n?R9(n,window.getSelection()):null;r&&(e.preventDefault(),c(r))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[r,c,i]),{contentRef:a,selectedLineRange:o,handleMentionSelectedLines:l}}async function xae(e,t){let n=e.split(/[\\/]/).filter(Boolean),r=n.pop();if(!r)throw Error(`Invalid file path`);let i=n.join(`/`)||`/`,a=new FormData;a.append(`files`,new File([t],r,{type:`text/plain`}));let o=await fetch(`/api/files/${TS(i)}?type=upload&conflict=overwrite`,{method:`POST`,body:a});if(!o.ok){let e=`Save failed (${o.status})`;try{let t=await o.json();t?.error&&(e=t.error)}catch{}throw Error(e)}}function Sae({filePath:e,onSaved:t,content:n,applySavedContent:r,reload:i}){let[a,o]=(0,d.useState)(!1),[s,c]=(0,d.useState)(``),[l,u]=(0,d.useState)(!1),[f,p]=(0,d.useState)(`idle`),[m,h]=(0,d.useState)(null),g=(0,d.useRef)(!1);g.current=a;let _=(0,d.useCallback)(()=>{o(!1),c(``),u(!1),p(`idle`),h(null)},[]);return{editMode:a,draft:s,dirty:l,saveState:f,saveError:m,editModeRef:g,enterEdit:(0,d.useCallback)(()=>{c(n),u(!1),p(`idle`),h(null),o(!0)},[n]),cancelEdit:(0,d.useCallback)(()=>{o(!1),u(!1),p(`idle`),h(null),i()},[i]),handleEditorChange:(0,d.useCallback)(e=>{c(e),u(e!==n)},[n]),handleSave:(0,d.useCallback)(async()=>{if(l){p(`saving`),h(null);try{await xae(e,s),r(s),u(!1),p(`saved`),t?.(e)}catch(e){p(`error`),h(e instanceof Error?e.message:String(e))}}},[l,s,e,t,r]),resetEditState:_}}function Cae(e){let t=j7(e);return t?t.flatMap(e=>e.rows.flatMap(e=>{if(e.type===`hunk`)return[];if(e.left.type===`context`&&e.right.type===`context`)return[{type:`unchanged`,text:e.right.text,oldLineNo:e.left.lineNo,newLineNo:e.right.lineNo}];let t=[];return e.left.type===`removed`&&t.push({type:`removed`,text:e.left.text,oldLineNo:e.left.lineNo,newLineNo:null}),e.right.type===`added`&&t.push({type:`added`,text:e.right.text,oldLineNo:null,newLineNo:e.right.lineNo}),t})):[]}function wae({patch:e}){let{t}=M(),n=Cae(e);if(!n.some(e=>e.type!==`unchanged`))return(0,T.jsx)(`div`,{style:{padding:`12px 16px`,fontSize:`var(--text-base)`,color:`var(--text-dim)`,fontFamily:`var(--font-mono)`},children:t(`i18n.noChanges`)});let r=new Set(n.flatMap((e,t)=>e.type===`unchanged`?[]:[t])),i=new Set;for(let e of r)for(let t=Math.max(0,e-3);t<=Math.min(n.length-1,e+3);t++)i.add(t);let a=[],o=0;for(;o<n.length;)if(i.has(o)){let e=[];for(;o<n.length&&i.has(o);)e.push(n[o]),o++;a.push({hidden:!1,lines:e})}else{let e=0;for(;o<n.length&&!i.has(o);)e++,o++;a.push({hidden:!0,count:e})}return(0,T.jsx)(`div`,{className:`file-diff-view`,style:{width:`max-content`,minWidth:`100%`,...j9},children:a.map((e,t)=>{if(e.hidden)return(0,T.jsxs)(`div`,{style:{padding:`2px 16px`,color:`var(--text-dim)`,background:`var(--bg-panel)`,fontSize:`var(--text-sm)`,borderTop:`1px solid var(--border)`,borderBottom:`1px solid var(--border)`},children:[`... `,e.count,` unchanged lines ...`]},t);let n=e.lines.map((e,t)=>{let n=e.type===`added`?`color-mix(in srgb, var(--status-success) 12%, transparent)`:e.type===`removed`?`color-mix(in srgb, var(--status-error) 14%, transparent)`:`transparent`,r=e.type===`added`?`+`:e.type===`removed`?`-`:` `,i=e.type===`added`?`var(--status-success)`:e.type===`removed`?`var(--status-error)`:`var(--text-dim)`;return(0,T.jsxs)(`div`,{className:`file-diff-line`,style:{display:`flex`,minWidth:`100%`,background:n,borderLeft:e.type===`added`?`3px solid var(--status-success)`:e.type===`removed`?`3px solid var(--status-error)`:`3px solid transparent`},children:[(0,T.jsx)(`span`,{style:M9,children:e.type===`removed`?e.oldLineNo:e.newLineNo}),(0,T.jsx)(`span`,{style:{minWidth:16,padding:`0 6px`,color:i,userSelect:`none`,flexShrink:0,fontWeight:600},children:r}),(0,T.jsx)(`span`,{className:`file-diff-line-content`,style:{flexShrink:0,padding:`0 8px 0 0`,whiteSpace:`pre`,color:`var(--text)`},children:e.text||`\xA0`})]},t)});return(0,T.jsx)(`div`,{children:n},t)})})}function Tae({preview:e,markdownDir:t,onOpenFile:n,cwd:r,sourceSessionId:i}){return(0,T.jsx)(`div`,{className:`markdown-body markdown-file-preview`,style:{padding:`24px 32px`},children:(0,T.jsx)(tk,{remarkPlugins:rW,rehypePlugins:aW,components:{code({className:e,children:t,...n}){let r=e?.replace(`language-`,``).toLowerCase()??``,i=String(t);return e?.includes(`language-`)||i.includes(`
497
+ `)?r===`mermaid`?(0,T.jsx)(t7,{code:i.replace(/\n$/,``),defaultPreview:!0}):(0,T.jsx)(Q5,{code:i.replace(/\n$/,``),lang:r}):(0,T.jsx)(`code`,{className:e,...n,children:t})},pre({children:e}){return(0,T.jsx)(T.Fragment,{children:e})},a({href:e,children:r,...i}){return delete i.node,(0,T.jsx)(hW,{href:e,markdownDir:t,onOpenFile:n,...i,children:r})},img({src:e,alt:n,...a}){delete a.node;let o=typeof e==`string`?pW(e,t,r??t):null,s=o?k9(o,`read`,i):e;return(0,T.jsx)(`img`,{src:s,alt:n??``,loading:`lazy`,...a})}},children:e})})}var Eae=(0,d.lazy)(()=>w2(()=>import(`./CodeMirrorEditor-Dn6i5_cO.js`),__vite__mapDeps([20,1])));function Dae({contentRef:e,filePath:t,effectiveDisplayMode:n,editMode:r,draft:i,language:a,isDark:o,handleEditorChange:s,handleSave:c,highlightReady:l,wrapLines:u,content:f,hasGitDiff:p,gitDiffPatch:m,t:h,isHtml:g,isMarkdown:_,markdownPreview:v,markdownDirectory:y,onOpenFile:b,cwd:x,sourceSessionId:S}){return(0,T.jsxs)(`div`,{ref:e,className:`file-viewer-content`,style:{flex:1,overflow:`auto`,paddingRight:4,background:`var(--bg)`},children:[n===`source`&&(0,T.jsx)(`div`,{className:`file-viewer-source`,style:{display:`block`,height:`100%`,overflow:`auto`,background:`var(--bg)`},children:r?(0,T.jsx)(d.Suspense,{fallback:(0,T.jsx)(`div`,{style:{height:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`var(--text-muted)`},children:(0,T.jsx)(vn,{size:I.lg,className:`animate-spin`,"aria-hidden":`true`})}),children:(0,T.jsx)(Eae,{initialValue:i,language:a,isDark:o,onChange:s,onSave:c},t)}):l?(0,T.jsx)(w5,{className:u?`file-source-view is-wrapped`:`file-source-view`,language:a===`text`?`plaintext`:a,style:o?Z5:X5,showLineNumbers:!0,lineNumberStyle:{...M9},customStyle:{margin:0,padding:0,border:0,background:`var(--bg)`,...j9,width:u?`100%`:`max-content`,minWidth:`100%`,minHeight:`100%`,overflow:`visible`},codeTagProps:{style:{fontFamily:`var(--font-mono)`,overflowWrap:u?`anywhere`:`normal`}},renderer:e=>(0,T.jsx)(yae,{...e,wrapLines:u}),wrapLongLines:u,children:f}):(0,T.jsx)(`pre`,{className:u?`file-source-view is-wrapped`:`file-source-view`,style:{margin:0,padding:0,border:0,background:`var(--bg)`,...j9,fontFamily:`var(--font-mono)`,whiteSpace:u?`pre-wrap`:`pre`,overflowWrap:u?`anywhere`:`normal`,width:u?`100%`:`max-content`,minWidth:`100%`,minHeight:`100%`,overflow:`visible`},children:f})}),n===`diff`&&p?(0,T.jsx)(wae,{patch:m}):n===`diff`?(0,T.jsx)(`div`,{style:{height:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`var(--text-muted)`,fontSize:`var(--text-lg)`},children:h(`i18n.noChanges`)}):g&&n===`preview`?(0,T.jsx)(`iframe`,{srcDoc:f,sandbox:`allow-scripts`,style:{width:`100%`,height:`100%`,border:`none`,background:`var(--bg)`},title:h(`i18n.htmlPreview`)}):_&&n===`preview`?(0,T.jsx)(Tae,{preview:v,markdownDir:y,onOpenFile:b,cwd:x,sourceSessionId:S}):null]})}function Oae({filePath:e,cwd:t,sourceSessionId:n,onOpenFile:r,onMentionLines:i,onSaved:a,gitRefreshKey:o,initialDisplayMode:s}){let{isDark:c}=NK(),{t:l}=M(),[u,f]=(0,d.useState)(`source`),[p,m]=(0,d.useState)(!1),[h,g]=(0,d.useState)(!1),{data:_,setData:v,loading:y,error:b,loadStatus:x,fetchContent:S}=_ae({filePath:e,sourceSessionId:n,onFileChange:()=>{f(s===`diff`?`diff`:`source`),g(!1),P(),ae()}}),C=_?.content??``,{editMode:w,draft:E,dirty:D,saveState:O,saveError:k,editModeRef:A,enterEdit:j,cancelEdit:N,handleEditorChange:ee,handleSave:te,resetEditState:P}=Sae({filePath:e,onSaved:a,content:C,applySavedContent:e=>v(t=>t&&{...t,content:e}),reload:()=>{S(e)}}),{gitDiff:ne,gitDiffLoading:re,fetchGitDiff:ie,resetGitDiff:ae}=vae({cwd:t,filePath:e,gitRefreshKey:o}),{watching:oe,closeWatch:se}=P9(e,n,()=>{A.current||(S(e),ie(e))});(0,d.useEffect)(()=>{_?.language===`markdown`&&s!==`diff`&&f(`preview`)},[_?.language,s]);let ce=ne?.supported===!0&&typeof ne.patch==`string`,le=ce&&ne.status===`deleted`;(0,d.useEffect)(()=>{le&&se()},[le,se]);let ue=(0,d.useMemo)(()=>_?.language===`markdown`?QU(_.content):``,[_]),{contentRef:de,selectedLineRange:fe,handleMentionSelectedLines:pe}=bae({filePath:e,cwd:t,content:C,displayMode:u,onMentionLines:i});if((0,d.useEffect)(()=>{m(!1)},[C]),(0,d.useEffect)(()=>{if((le?`diff`:u)!==`source`||p)return;let e=setTimeout(()=>m(!0),0);return()=>clearTimeout(e)},[le,u,p]),y||u===`diff`&&re)return(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:12,color:`var(--text-muted)`,fontSize:`var(--text-lg)`},children:[(0,T.jsx)(vn,{size:I.lg,className:`animate-spin`,"aria-hidden":`true`}),l(`i18n.loading`)]});if(b&&!le)return(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,padding:24,color:`var(--status-error)`,fontSize:`var(--text-lg)`,textAlign:`center`},children:[(0,T.jsx)(`div`,{children:x===413?l(`files.fileTooLargeForPreview`,{limit:A9(tae)}):b}),x===413&&(0,T.jsx)(I9,{filePath:e,sourceSessionId:n,cwd:t})]});if(!_&&!le)return null;let me=_?.language??`text`,he=me===`html`,ge=me===`markdown`,_e=he||ge,ve=DS(e),ye=C.split(`
498
+ `),be=le?`diff`:u,xe=le?[`diff`]:[`source`,..._e?[`preview`]:[],`diff`],Se=le?l(`files.deleted`):`${me} · ${ye.length} lines · ${A9(_.size)}`;return(0,T.jsxs)(`div`,{className:`file-viewer-shell`,style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsx)(gae,{filePath:e,cwd:t,metadata:Se,watching:oe,isDeletedDiff:le,displayModes:xe,effectiveDisplayMode:be,setDisplayMode:f,wrapLines:h,setWrapLines:g,editMode:w,dirty:D,handleSave:te,saveState:O,saveError:k,enterEdit:j,cancelEdit:N,highlightReady:p,selectedLineRange:fe,handleMentionSelectedLines:pe,fileContent:C,sourceSessionId:n,t:l}),(0,T.jsx)(Dae,{contentRef:de,filePath:e,effectiveDisplayMode:be,editMode:w,draft:E,language:me,isDark:c,handleEditorChange:ee,handleSave:te,highlightReady:p,wrapLines:h,content:C,hasGitDiff:ce,gitDiffPatch:ce?ne.patch:null,t:l,isHtml:he,isMarkdown:ge,markdownPreview:ue,markdownDirectory:ve,onOpenFile:r,cwd:t,sourceSessionId:n})]})}function kae({filePath:e,cwd:t,sourceSessionId:n,onOpenFile:r,onMentionLines:i,onSaved:a,gitRefreshKey:o,initialDisplayMode:s}){return cae(e)?(0,T.jsx)(fae,{filePath:e,cwd:t,sourceSessionId:n}):lae(e)?(0,T.jsx)(pae,{filePath:e,cwd:t,sourceSessionId:n}):uae(e)?(0,T.jsx)(mae,{filePath:e,cwd:t,sourceSessionId:n}):(0,T.jsx)(Oae,{filePath:e,cwd:t,sourceSessionId:n,onOpenFile:r,onMentionLines:i,onSaved:a,gitRefreshKey:o,initialDisplayMode:s})}function Aae({activeFileTab:e,activeCwd:t,explorerRefreshKey:n,setExplorerRefreshKey:r,handleFileLineMention:i,handleOpenFile:a}){return(0,T.jsx)(T.Fragment,{children:e&&(0,T.jsx)(kae,{filePath:e.filePath,cwd:t??void 0,sourceSessionId:e.sourceSessionId,gitRefreshKey:n,initialDisplayMode:e.initialDisplayMode,onMentionLines:i,onSaved:()=>r(e=>e+1),onOpenFile:t=>a(t,ES(t),{sourceSessionId:e.sourceSessionId})})})}function jae({geometries:e,messages:t,onAddMessage:n,onRemoveMessage:r,onUpdateMessage:i,widgets:a,closedKeys:o,onReopen:s}){let{t:c}=M(),[l,u]=(0,d.useState)(null),[f,p]=(0,d.useState)(null),m=(0,d.useRef)(null);(0,d.useEffect)(()=>()=>{m.current&&clearTimeout(m.current)},[]);let h=e=>a.find(t=>t.key===e)?.lines[0],g=(e,t,n)=>{s(e),p({key:e,x:t,y:n}),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>p(null),2500)},_=[...new Set([...Object.keys(e),...o.keys()])].map(t=>[t,e[t]]);return(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,background:`var(--bg)`},children:[_.length===0?(0,T.jsx)(`div`,{style:{padding:`32px 16px`,textAlign:`center`,color:`var(--text-dim)`,fontSize:`var(--text-lg)`,lineHeight:1.6},children:c(`config.widgets.empty`)}):(0,T.jsx)(`div`,{style:{flex:1,minHeight:0,overflowY:`auto`,padding:10,display:`flex`,flexDirection:`row`,flexWrap:`wrap`,alignContent:`flex-start`,gap:6},children:_.map(([e,a])=>{let s=t[e]??[],d=o.has(e),f=h(e);return(0,T.jsxs)(`div`,{"data-testid":`widget-config-item-${e}`,style:{flex:`1 1 200px`,boxSizing:`border-box`,padding:`8px 10px`,borderRadius:5,background:`var(--bg-panel)`,border:`1px solid var(--border)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:7,flexWrap:`wrap`},children:[(0,T.jsxs)(`div`,{style:{minWidth:0,flex:`1 1 120px`},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,fontWeight:600,fontFamily:`var(--font-mono)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e}),a&&(0,T.jsxs)(`div`,{style:{marginTop:2,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`,color:`var(--text-dim)`},children:[c(`config.widgets.x`),`: `,a.x,` `,c(`config.widgets.y`),`: `,a.y,` ·`,` `,c(`config.widgets.width`),`: `,a.width,` `,c(`config.widgets.height`),`:`,` `,a.height]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:4,flexShrink:0},children:[d&&(0,T.jsxs)(`button`,{type:`button`,"data-testid":`widget-expand-${e}`,"aria-label":c(`widgets.reopen`),title:c(`widgets.reopen`),onClick:t=>g(e,t.clientX,t.clientY),style:{display:`flex`,alignItems:`center`,gap:4,padding:`4px 8px`,borderRadius:5,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`},className:`hover-shift`,children:[(0,T.jsx)(an,{size:13,"aria-hidden":!0}),c(`widgets.reopen`)]}),(0,T.jsxs)(`button`,{type:`button`,"data-testid":`widget-bind-${e}`,onClick:()=>u(e),style:{display:`flex`,alignItems:`center`,gap:4,padding:`4px 8px`,borderRadius:5,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:[(0,T.jsx)(gn,{size:13,"aria-hidden":!0}),c(`config.widgets.bind`)]})]})]}),f&&(0,T.jsx)(`div`,{style:{marginTop:4,fontSize:`var(--text-sm)`,color:`var(--text-muted)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:f}),(0,T.jsx)(bG,{messages:s,onAdd:t=>n(e,t),onRemove:t=>r(e,t),onUpdate:(t,n)=>i(e,t,n),bindOpen:l===e,onBindOpenChange:e=>{e||u(null)},ns:`widgets`,bindTestIdPrefix:`widget-bind`,editTestIdPrefix:`widget-edit`,chipTestIdPrefix:`widget-bound-${e}`,bindHintArgs:{key:e}})]},e)})}),f&&(0,T.jsx)(`div`,{role:`status`,"aria-live":`polite`,"data-testid":`widget-expanded-toast`,style:{position:`fixed`,left:Math.min(f.x,window.innerWidth-180),top:f.y+12,transform:`translateX(-50%)`,zIndex:2e3,padding:`8px 12px`,borderRadius:7,border:`1px solid var(--status-success)`,background:`var(--bg)`,color:`var(--text)`,fontSize:`var(--text-base)`,boxShadow:`0 4px 16px var(--shadow-strong)`,whiteSpace:`nowrap`},children:c(`widgets.expandedToChat`,{key:f.key})})]})}function Mae({widgetGeometries:e,widgetMessages:t,addWidgetMessage:n,removeWidgetMessage:r,updateWidgetMessage:i,extensionWidgets:a,closedWidgets:o,handleReopenWidget:s}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(jae,{geometries:e,messages:t,onAddMessage:n,onRemoveMessage:r,onUpdateMessage:i,widgets:a,closedKeys:o,onReopen:s})})}function Nae({items:e,openConfigTab:t,setConfigSection:n,onDismiss:r}){let{t:i}=M();return(0,T.jsxs)(`div`,{role:`status`,"data-testid":`update-banner`,style:{display:`flex`,alignItems:`center`,gap:8,padding:`6px 12px`,borderBottom:`1px solid var(--border)`,background:`color-mix(in srgb, var(--status-warning) 10%, var(--bg-panel))`,fontSize:`var(--text-sm)`,color:`var(--text)`,flexShrink:0},children:[(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:i(`updates.banner`,{items:e.join(`, `)})}),(0,T.jsx)(`button`,{type:`button`,"data-testid":`update-banner-view`,onClick:()=>{t(),n(`updates`)},style:{padding:`3px 10px`,border:`1px solid var(--border)`,borderRadius:6,background:`none`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0},children:i(`updates.view`)}),(0,T.jsx)(`button`,{type:`button`,"aria-label":i(`i18n.close`),onClick:r,style:{padding:`2px 6px`,border:`none`,background:`none`,color:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0},children:`✕`})]})}function Pae(){let e=(0,d.useRef)(null);return{chatInputRef:e,handleAtMention:(0,d.useCallback)((t,n)=>{e.current?.insertText(tQ(t,n))},[]),handleAtMentions:(0,d.useCallback)(t=>{let n=rQ(t);n&&e.current?.insertText(n)},[]),handleFileLineMention:(0,d.useCallback)((t,n,r)=>{e.current?.insertText(nQ(t,n,r))},[])}}function Fae(e){try{let t=window.localStorage.getItem(e);if(t===null)return null;let n=Number.parseInt(t,10);return Number.isFinite(n)?n:null}catch{return null}}function z9(e,t){try{window.localStorage.setItem(e,String(t))}catch{}}function B9(e){let{ariaLabel:t,cssVariable:n,defaultWidth:r,getDefaultWidth:i,getMaxWidth:a,growthDirection:o,maxWidth:s,minWidth:c,storageKey:l,widthRef:u}=e,f=(0,d.useRef)(null),p=(0,d.useRef)(null),m=(0,d.useRef)(!1),[h,g]=(0,d.useState)(r),[_,v]=(0,d.useState)(!1),y=(0,d.useCallback)(()=>Math.min(s,Math.max(c,a())),[a,s,c]),b=(0,d.useCallback)(e=>vr(e,c,y()),[y,c]),x=(0,d.useCallback)(e=>{u.current=e,f.current?.style.setProperty(n,`${e}px`)},[n,u]),S=(0,d.useCallback)((e,t={})=>{let{forcePersist:n=!1,persist:r=!0}=t,i=b(e),a=i!==u.current;return x(i),g(i),r&&(a||n)&&z9(l,i),i},[x,b,l,u]),C=(0,d.useCallback)(e=>{document.body.style.cursor=e.previousCursor,document.body.style.userSelect=e.previousUserSelect},[]),w=(0,d.useCallback)(e=>{let t=p.current;if(!(!t||t.pointerId!==e)){p.current=null,C(t),v(!1),S(u.current,{forcePersist:!0});try{t.target.hasPointerCapture(e)&&t.target.releasePointerCapture(e)}catch{}}},[S,C,u]),T=(0,d.useCallback)(e=>{if(e.pointerType===`mouse`&&e.button!==0)return;e.preventDefault(),e.stopPropagation();let t=p.current;t&&w(t.pointerId);let n=e.currentTarget;n.focus({preventScroll:!0}),n.setPointerCapture(e.pointerId),p.current={pointerId:e.pointerId,startX:e.clientX,startWidth:u.current,target:n,previousCursor:document.body.style.cursor,previousUserSelect:document.body.style.userSelect},document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,v(!0)},[w,u]),E=(0,d.useCallback)(e=>{let t=p.current;if(!t||t.pointerId!==e.pointerId)return;if(e.pointerType===`mouse`&&e.buttons===0){w(e.pointerId);return}e.preventDefault();let n=o===`right`?1:-1,r=b(t.startWidth+(e.clientX-t.startX)*n);x(r),e.currentTarget.setAttribute(`aria-valuenow`,String(r)),e.currentTarget.setAttribute(`aria-valuetext`,`${r} px`)},[x,b,w,o]),D=(0,d.useCallback)(e=>{w(e.pointerId)},[w]),O=(0,d.useCallback)(e=>{w(e.pointerId)},[w]),k=(0,d.useCallback)(e=>{w(e.pointerId)},[w]),A=(0,d.useCallback)(()=>{let e=i?.()??r;S(e,{forcePersist:!0})},[S,r,i]),j=(0,d.useCallback)(()=>{S(u.current)},[S,u]),M=(0,d.useCallback)(e=>{let t=e.shiftKey?32:12,n=o===`right`?`ArrowRight`:`ArrowLeft`,r=o===`right`?`ArrowLeft`:`ArrowRight`;e.key===n?(e.preventDefault(),S(u.current+t,{forcePersist:!0})):e.key===r?(e.preventDefault(),S(u.current-t,{forcePersist:!0})):e.key===`Home`?(e.preventDefault(),S(c,{forcePersist:!0})):e.key===`End`?(e.preventDefault(),S(y(),{forcePersist:!0})):e.key===`Enter`&&(e.preventDefault(),A())},[S,y,o,c,A,u]);return(0,d.useEffect)(()=>{if(m.current)return;m.current=!0;let e=Fae(l),t=e??i?.()??r,n=S(t,{persist:!1});e!==null&&e!==n&&z9(l,n)},[S,r,i,l]),(0,d.useEffect)(()=>{if(!m.current)return;S(u.current);let e=()=>{S(u.current)};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[S,u]),(0,d.useEffect)(()=>{if(!_)return;let e=()=>{let e=p.current;e&&w(e.pointerId)},t=()=>{document.visibilityState!==`visible`&&e()};return window.addEventListener(`blur`,e),document.addEventListener(`visibilitychange`,t),()=>{window.removeEventListener(`blur`,e),document.removeEventListener(`visibilitychange`,t)}},[w,_]),(0,d.useEffect)(()=>()=>{let e=p.current;e&&(p.current=null,C(e))},[C]),{isResizing:_,panelRef:f,reclampWidth:j,resetWidth:A,setWidth:e=>S(e,{forcePersist:!0}),separatorProps:{"aria-label":t,"aria-orientation":`vertical`,"aria-valuemax":y(),"aria-valuemin":c,"aria-valuenow":h,"aria-valuetext":`${h} px`,onDoubleClick:A,onKeyDown:M,onLostPointerCapture:k,onPointerCancel:O,onPointerDown:T,onPointerMove:E,onPointerUp:D,role:`separator`,tabIndex:0},width:h}}function Iae({isMobile:e,sidebarOpen:t,setSidebarOpen:n,translate:r}){let[i,a]=(0,d.useState)(!1),o=(0,d.useRef)(280),s=(0,d.useRef)(280),c=(0,d.useCallback)(()=>typeof window>`u`?480:yr({viewportWidth:window.innerWidth,rightPanelOpen:!1,rightPanelWidth:0}),[]),l=B9({ariaLabel:r(`layout.resizeSidebar`),cssVariable:`--sidebar-width`,defaultWidth:280,getMaxWidth:c,growthDirection:`right`,maxWidth:480,minWidth:180,storageKey:`pi-sidebar-width`,widthRef:o}),u=l.reclampWidth,f=B9({ariaLabel:r(`layout.resizeWidgetPanel`),cssVariable:`--widget-panel-width`,defaultWidth:280,getMaxWidth:()=>typeof window>`u`?560:br({viewportWidth:window.innerWidth,sidebarOpen:t,sidebarWidth:l.width}),growthDirection:`left`,maxWidth:560,minWidth:200,storageKey:`pi-widget-panel-width`,widthRef:s});return(0,d.useEffect)(()=>{e&&n(!1)},[e,n]),(0,d.useEffect)(()=>{a(!0)},[]),(0,d.useEffect)(()=>{u()},[u]),{sidebarResizer:l,widgetPanelResizer:f,mobileSidebarReady:i}}var Lae=176,Rae=224,V9=86,H9=116;function zae({activeTopPanel:e,isMobile:t,tabBarRef:n,sidebarTopBarRef:r,languageBtnRef:i,fontScaleBtnRef:a}){let[o,s]=(0,d.useState)(null);return(0,d.useEffect)(()=>{if(!e)return;let o=()=>{if(document.hidden)return;let o=n.current?.getBoundingClientRect();if(o){if(e===`language`&&!t&&i.current){let e=i.current.getBoundingClientRect(),t=r.current?.getBoundingClientRect(),n=t?.top??e.top,a=t?.bottom??e.bottom,c=Math.min(Lae,t?.width??o.width),l=Math.min(e.left-1,Math.max(t?.left??o.left,(t?.right??o.right)-c)),u=a+4;s({top:u+V9>window.innerHeight-4?n-V9:u,left:l,width:c});return}if(e===`fontSize`&&!t&&a.current){let e=a.current.getBoundingClientRect(),t=r.current?.getBoundingClientRect(),n=t?.top??e.top,i=t?.bottom??e.bottom,c=Math.min(Rae,t?.width??o.width),l=Math.min(e.left-1,Math.max(t?.left??o.left,(t?.right??o.right)-c)),u=i+4;s({top:u+H9>window.innerHeight-4?n-H9:u,left:l,width:c});return}s({top:o.bottom,left:o.left,width:o.width})}};o();let c=new ResizeObserver(o);return n.current&&c.observe(n.current),i.current&&c.observe(i.current),a.current&&c.observe(a.current),()=>c.disconnect()},[e,t]),o}function Bae({activeCwd:e,translate:t}){let{value:n}=Yn(_e),r=(0,d.useMemo)(()=>n?nr(n):0,[n]),i=(0,d.useMemo)(()=>n?rr(n,t(`common.plugins`)):[],[n,t]),[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(void 0);return(0,d.useEffect)(()=>{e!==s.current&&(s.current=e,ge(e??null),_e.load().catch(e=>console.error(`[pi-web] load updates:`,e)))},[e]),{updatesBadge:r,updateItems:i,updatesBannerDismissed:a,setUpdatesBannerDismissed:o}}function Vae({panelOpen:e,highlighted:t,onToggle:n}){let{t:r}=M(),i=r(e?`sidebar.hide`:`sidebar.show`);return(0,T.jsx)(F,{label:i,children:(0,T.jsx)(`button`,{onClick:n,"aria-controls":`widget-panel`,"aria-expanded":e,"aria-label":i,"data-testid":`widget-panel-toggle`,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:36,height:36,padding:0,background:`none`,border:`none`,borderLeft:`1px solid var(--border)`,color:t?`var(--text)`:`var(--text-muted)`,cursor:`pointer`,flexShrink:0,transition:`color 0.12s`,"--hover-color":`var(--text)`},className:`hover-shift`,children:(0,T.jsxs)(`svg`,{width:I[`4xl`],height:I[`4xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`rect`,{x:`3`,y:`3`,width:I[`4xl`],height:I[`4xl`],rx:`2`}),(0,T.jsx)(`line`,{x1:`15`,y1:`3`,x2:`15`,y2:`21`})]})})})}function Hae(){return(0,T.jsxs)(`div`,{role:`status`,"aria-label":`Loading`,"data-testid":`boot-splash`,style:{position:`fixed`,inset:0,zIndex:9999,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:18,background:`var(--bg)`,color:`var(--text-muted)`},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-6xl)`,fontWeight:700,color:`var(--accent)`,letterSpacing:`0.02em`},children:`pi`}),(0,T.jsx)(`div`,{style:{width:22,height:22,border:`2px solid var(--border)`,borderTopColor:`var(--accent)`,borderRadius:`50%`,animation:`boot-spin 0.8s linear infinite`}}),(0,T.jsx)(`style`,{children:`@keyframes boot-spin { to { transform: rotate(360deg); } }`})]})}function Uae(){let{t:e}=M(),t=(0,d.useSyncExternalStore)(St,Ct,Ct);if(t.length===0)return null;let n=t[t.length-1],r=t.length;return(0,T.jsx)(Vs,{open:!0,onOpenChange:()=>{},children:(0,T.jsxs)(Gs,{children:[(0,T.jsx)(qs,{style:{position:`fixed`,inset:0,zIndex:1200,background:`rgba(0, 0, 0, 0.45)`}}),(0,T.jsxs)(Zs,{role:`alertdialog`,"aria-modal":`true`,onInteractOutside:e=>e.preventDefault(),onEscapeKeyDown:e=>e.preventDefault(),style:{position:`fixed`,top:`50%`,left:`50%`,transform:`translate(-50%, -50%)`,zIndex:1200,maxWidth:480,width:`calc(100% - 48px)`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:10,padding:`16px 20px`,boxShadow:`0 8px 32px rgba(0, 0, 0, 0.35)`},children:[(0,T.jsxs)(nc,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:10,fontSize:`var(--text-base)`,fontWeight:600,color:`var(--text)`},children:[(0,T.jsx)(`span`,{style:{color:`var(--status-error)`},children:`⚠`}),(0,T.jsx)(`span`,{children:r>1?e(`errors.titleCount`,{count:r}):e(`errors.title`)})]}),(0,T.jsx)(ic,{asChild:!0,children:(0,T.jsx)(`div`,{children:n.kind===`api`?(0,T.jsxs)(`div`,{children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:6},children:[(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-xs)`,padding:`1px 8px`,borderRadius:999,background:`color-mix(in srgb, var(--status-error) 14%, transparent)`,color:`var(--status-error)`,fontWeight:600,whiteSpace:`nowrap`},children:[`HTTP `,n.status||`ERR`]}),n.context&&(0,T.jsx)(`span`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`},children:n.context})]}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text)`,wordBreak:`break-word`},children:n.message})]}):(0,T.jsxs)(`div`,{children:[n.context&&(0,T.jsx)(`div`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`,marginBottom:6},children:n.context}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text)`,wordBreak:`break-word`},children:n.message})]})})}),(0,T.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8,marginTop:16},children:[r>1&&(0,T.jsx)(`button`,{type:`button`,onClick:Tt,style:{border:`1px solid var(--border)`,background:`none`,color:`var(--text-muted)`,borderRadius:6,padding:`4px 12px`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:e(`errors.clearAll`)}),(0,T.jsx)(`button`,{type:`button`,onClick:wt,style:{border:`none`,background:`var(--accent)`,color:`#fff`,borderRadius:6,padding:`4px 14px`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:e(`errors.close`)})]})]})]})})}var Wae=3e3,Gae=6e4;function U9(e,t){return e?e.error?e.path.split(/[\\/]/).pop()||t:e.name||e.firstMessage.slice(0,50)||t.slice(0,12):t.slice(0,12)}function Kae(e,t){return e.filter(e=>!t.has(e))}function qae(e,t,n,r){switch(e.type){case`prompt_error`:case`extension_error`:{if(!n.errors)return null;let t=e.errorMessage??r(`i18n.commandFailed`);return{title:r(`chat.taskErrorNotificationTitle`),body:t,tag:`agent-error-${e.sessionId}`}}case`extension_ui_request`:{if(!n.questions)return null;let t=e.method;if(t!==`select`&&t!==`confirm`&&t!==`input`&&t!==`editor`)return null;let i=e.title??r(`chat.questionNotificationTitle`);return{title:r(`chat.questionNotificationTitle`),body:i,tag:`question-${e.id??e.sessionId}`}}default:return null}}function Jae(){let{t:e}=M(),{notifyEvents:t}=Nt(),[n,r]=(0,d.useState)([]),i=(0,d.useRef)([]);(0,d.useEffect)(()=>{i.current=n});let a=(0,d.useRef)(t);(0,d.useEffect)(()=>{a.current=t});let o=(0,d.useRef)(e);(0,d.useEffect)(()=>{o.current=e});let{runningSessionIds:s}=BX(),c=(0,d.useRef)(!1),l=(0,d.useRef)([]),u=(0,d.useRef)(new Map);(0,d.useEffect)(()=>{if(!a.current.taskComplete)return;let e=c.current?l.current:null;if(l.current=[...s],c.current=!0,!e)return;let t=Kae(e,s);if(t.length===0)return;let n=Date.now();for(let e of t){let t=u.current.get(e);t!==void 0&&n-t<Wae||(i.current.some(t=>t.id===e)||p.current(),console.info(`[notify] completion via running-snapshot (${e})`),Xq({title:o.current(`chat.taskCompleteNotificationTitle`),body:o.current(`chat.sessionCompletedNotificationBody`,{name:U9(i.current.find(t=>t.id===e),e)}),tag:`session-complete-${e}`,notifyWhileActive:a.current.notifyWhileActive}))}},[s]);let f=(0,d.useCallback)(async()=>{try{let e=await fetch(`/api/sessions`,{cache:`no-store`});if(!e.ok)return;let t=await e.json();t.sessions&&r(t.sessions)}catch{}},[]),p=(0,d.useRef)(f);return(0,d.useEffect)(()=>{p.current=f}),(0,d.useEffect)(()=>{f();let e=setInterval(()=>void f(),Gae);return()=>clearInterval(e)},[f]),(0,d.useEffect)(()=>mY({ch:`global`},e=>{let t=e;if(!t.sessionId)return;let n=t.sessionId;(t.type===`prompt_error`||t.type===`extension_error`)&&u.current.set(n,Date.now()),i.current.some(e=>e.id===n)||p.current();let r=qae(t,U9(i.current.find(e=>e.id===n),n),a.current,o.current);r&&(console.info(`[agent-events] notifying: ${r.title}`),Xq({...r,notifyWhileActive:a.current.notifyWhileActive}))}),[]),null}var Yae=3;function Xae(){let{t:e}=M(),t=(0,d.useSyncExternalStore)(XK,ZK,ZK);if(t.length===0)return null;let n=t.slice(0,Yae),r=t.length-n.length;return(0,T.jsx)(`div`,{"aria-busy":`true`,style:{position:`fixed`,inset:0,zIndex:1150,background:`color-mix(in srgb, var(--bg) 40%, transparent)`,display:`flex`,alignItems:`center`,justifyContent:`center`,pointerEvents:`none`},children:(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:10,minWidth:220,maxWidth:`60vw`,padding:`14px 18px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:`var(--radius)`,boxShadow:`0 8px 32px rgba(0,0,0,0.25)`},children:[n.map(t=>(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,fontSize:`var(--text-sm)`,color:`var(--text)`},children:[(0,T.jsx)(`div`,{style:{width:14,height:14,flexShrink:0,border:`2px solid var(--border)`,borderTopColor:`var(--accent)`,borderRadius:`50%`,animation:`spin 0.8s linear infinite`}}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t.label||e(`loading.inProgress`)})]},t.id)),r>0&&(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:e(`loading.more`,{count:r})})]})})}function Zae({cwd:e,busy:t,error:n,onCancel:r,onConfirm:i}){let{t:a}=M();return(0,T.jsx)(Np,{open:!0,onOpenChange:e=>{!e&&!t&&r()},children:(0,T.jsxs)(Lp,{className:`w-[440px] gap-0 overflow-hidden rounded-lg p-0`,style:{zIndex:1100,maxWidth:`100%`},showCloseButton:!1,onPointerDownOutside:e=>{t&&e.preventDefault()},onEscapeKeyDown:e=>{t&&e.preventDefault()},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,gap:12,padding:`18px 18px 14px`},children:[(0,T.jsxs)(`svg`,{width:I[`5xl`],height:I[`5xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--status-warning)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{flexShrink:0,marginTop:1},children:[(0,T.jsx)(`path`,{d:`M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z`}),(0,T.jsx)(`path`,{d:`m9 12 2 2 4-4`})]}),(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(Rp,{style:{fontSize:`var(--text-2xl)`,fontWeight:700,color:`var(--text)`,lineHeight:1.4},children:a(`trust.dialogTitle`)}),(0,T.jsx)(zp,{style:{marginTop:7,fontSize:`var(--text-base)`,lineHeight:1.6,color:`var(--text-muted)`},children:a(`trust.dialogBody`)}),(0,T.jsx)(`code`,{style:{display:`block`,marginTop:10,padding:`8px 10px`,border:`1px solid var(--border)`,borderRadius:5,background:`var(--bg)`,color:`var(--text)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,overflowWrap:`anywhere`},children:e}),n&&(0,T.jsx)(`div`,{role:`alert`,style:{marginTop:10,color:`var(--status-error)`,fontSize:`var(--text-base)`,lineHeight:1.5},children:n})]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8,padding:`10px 18px`,borderTop:`1px solid var(--border)`},children:[(0,T.jsx)(Mp,{type:`button`,variant:`outline`,onClick:r,disabled:t,className:`h-8 px-3 text-xs`,children:a(`trust.cancel`)}),(0,T.jsx)(Mp,{type:`button`,onClick:i,disabled:t,className:`h-8 px-3 text-xs`,style:{cursor:t?`wait`:`pointer`},children:a(t?`trust.trusting`:`trust.trustProject`)})]})]})})}function Qae(e){return e.error?e.path.split(/[\\/]/).pop()||e.id:e.name||e.firstMessage.slice(0,50)||e.id.slice(0,12)}var W9=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``).replace(/^[a-zA-Z]:/,e=>e.toLowerCase());function $ae({filteredSessions:e,selectedSession:t,projectRootFor:n,selectedCwd:r,savedWorkspaces:i}){let a=t&&!e.some(e=>e.id===t.id)?[{...t,projectRoot:t.projectRoot??n(t.cwd)??void 0},...e]:e,o=new Map,s=new Map;for(let e of a){let t=e.projectRoot??e.cwd??`unknown`,n=t===`unknown`?t:W9(t);o.has(n)||(o.set(n,[]),s.set(n,t)),o.get(n).push(e)}let c=[...o.entries()].map(([e,t])=>({root:s.get(e)??e,sessions:t})).sort((e,t)=>{let n=e=>Math.max(...e.map(e=>{let t=new Date(e.modified).getTime();return Number.isNaN(t)?0:t}));return n(t.sessions)-n(e.sessions)}),l=[];if(r){let e=n(r);e&&!o.has(W9(e))&&l.push({root:e,sessions:[]})}let u=new Set([...o.keys()]);for(let e of l)u.add(W9(e.root));let d=[];for(let e of i??[]){let t=W9(e);u.has(t)||(u.add(t),d.push({root:e,sessions:[]}))}return[...l,...c,...d]}function eoe(e,t){return t?e.map(e=>({...e,sessions:e.sessions.filter(e=>Qae(e).toLowerCase().includes(t))})).filter(e=>e.sessions.length>0):e}var G9=`pi-web:unread-session-ids`;function toe(){if(typeof window>`u`)return new Set;try{let e=window.localStorage.getItem(G9);if(!e)return new Set;let t=JSON.parse(e);return Array.isArray(t)?new Set(t.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}function K9(e){if(!(typeof window>`u`))try{e.size===0?window.localStorage.removeItem(G9):window.localStorage.setItem(G9,JSON.stringify([...e]))}catch{}}function noe(){let[e,t]=(0,d.useState)(()=>toe());return(0,d.useEffect)(()=>{K9(e)},[e]),{unreadSessionIds:e,setUnreadSessionIds:t}}function roe(){let{t:e}=M();return(0,T.jsx)(`span`,{title:e(`sidebar.newActivity`),"aria-label":e(`sidebar.newSessionActivity`),style:{width:14,height:14,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0,color:`var(--accent)`},children:(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 14 14`,fill:`none`,"aria-hidden":`true`,style:{display:`block`},children:[(0,T.jsx)(`circle`,{cx:`7`,cy:`7`,r:`2.5`,fill:`currentColor`}),(0,T.jsx)(`circle`,{cx:`7`,cy:`7`,r:`3`,stroke:`currentColor`,strokeWidth:`1.4`,opacity:`0.32`,style:{transformOrigin:`center`,animation:`session-ring-pulse 1.6s ease-in-out infinite`}})]})})}function ioe({savedWorkspaces:e,onSavedWorkspacesChange:t,setSelectedCwd:n}){let[r,i]=(0,d.useState)(!1),[a,o]=(0,d.useState)(``),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(!1);return{customPathOpen:r,setCustomPathOpen:i,customPathError:s,setCustomPathError:c,customPathValidating:l,commitCustomPath:(0,d.useCallback)(async r=>{let s=(r??a).trim();if(!(!s||l)){u(!0),c(null);try{let r=await fetch(`/api/cwd/validate`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:s})}),a=await r.json().catch(()=>({}));if(!r.ok||a.error){c(a.error??`HTTP ${r.status}`);return}let l=a.cwd??s;if(n(l),i(!1),o(``),t){let n=e??[];n.some(e=>W9(e)===W9(l))||t([...n,l])}}catch(e){c(e instanceof Error?e.message:String(e))}finally{u(!1)}}},[a,l,e,t,n])}}function aoe({savedWorkspaces:e,onSavedWorkspacesChange:t,onSessionDeleted:n,loadSessions:r}){let[i,a]=(0,d.useState)(null),[o,s]=(0,d.useState)(!1);return{confirmDeleteGroup:i,setConfirmDeleteGroup:a,deletingGroup:o,handleDeleteGroup:(0,d.useCallback)(async i=>{a(null),s(!0);try{await Promise.all(i.sessions.map(e=>fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`DELETE`}).then(t=>{t.ok||console.error(`[sidebar] failed to delete ${e.id}:`,t.status)}).catch(t=>console.error(`[sidebar] failed to delete ${e.id}:`,t))));for(let e of i.sessions)n?.(e.id);let a=e??[];t&&a.some(e=>W9(e)===W9(i.root))&&t(a.filter(e=>W9(e)!==W9(i.root))),r(!1,!0)}finally{s(!1)}},[e,t,n,r])}}var ooe=2e3;function soe({selectedSessionId:e,refreshKey:t,runningSessionIds:n,setUnreadSessionIds:r,setRunningSessionIds:i,runningPollAuthoritativeRef:a,setError:o}){let[s,c]=(0,d.useState)([]),[l,u]=(0,d.useState)(!0),[f,p]=(0,d.useState)(``),[m,h]=(0,d.useState)(!1),g=(0,d.useRef)(new Set),_=(0,d.useRef)(null),v=(0,d.useRef)(0),y=(0,d.useCallback)(async(e=!1,t=!1)=>{try{e&&u(!0);let n=t?await de.refresh():await de.load();c(n.sessions),a.current||i(new Set(n.runningSessionIds??[]));let s=new Set(n.sessions.map(e=>e.id));r(e=>{if(e.size===0)return e;let t=new Set([...e].filter(e=>s.has(e)));return t.size===e.size?e:t}),o(null),e||(h(!0),_.current&&clearTimeout(_.current),_.current=setTimeout(()=>h(!1),2e3))}catch(e){o(String(e))}finally{e&&u(!1)}},[r,i,a,o]),b=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{let e=!b.current;b.current=!0,y(e,e)},[y,t]),(0,d.useEffect)(()=>{let t=[...g.current].filter(t=>!n.has(t)&&t!==e),i=[...n];if((t.length>0||i.length>0)&&r(e=>{let n=new Set(e);return i.forEach(e=>n.delete(e)),t.forEach(e=>n.add(e)),n}),t.length>0&&y(!1),[...n].filter(e=>!s.some(t=>t.id===e)).length>0){let e=Date.now();e-v.current>=ooe&&(v.current=e,y(!1,!0))}g.current=n},[n,e,s,y,r]),(0,d.useEffect)(()=>{e&&($Y(e),r(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}))},[e,r]),(0,d.useEffect)(()=>{fetch(`/api/home`).then(e=>e.json()).then(e=>{e.home&&p(e.home)}).catch(e=>console.error(`[pi-web] load home dir:`,e))},[]),{allSessions:s,loading:l,sessionRefreshDone:m,homeDir:f,loadSessions:y}}var q9=(e,t)=>e.replace(/\\/g,`/`)===t.replace(/\\/g,`/`);function J9(e,t){let n=new Date(e),r=new Date().getTime()-n.getTime(),i=Math.floor(r/6e4),a=Math.floor(r/36e5),o=Math.floor(r/864e5);return i<1?t(`sidebar.justNow`):i<60?t(`sidebar.minutesAgo`,{count:i}):a<24?t(`sidebar.hoursAgo`,{count:a}):o<7?t(`sidebar.daysAgo`,{count:o}):n.toLocaleDateString()}function coe(e){let t=new Map;for(let n of e){let e=n.projectRoot??n.cwd;if(!e)continue;let r=t.get(e);(!r||n.modified>r)&&t.set(e,n.modified)}return[...t.entries()].sort((e,t)=>t[1].localeCompare(e[1])).map(([e])=>e)}function Y9(e,t){return t&&e.startsWith(t)?`~${e.slice(t.length)}`:e}function loe(e){let t=e.split(/[\\/]+/).filter(Boolean);return t.length?t[t.length-1]:e}function X9({text:e,style:t}){return(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,display:`block`,minWidth:0,lineHeight:1.35,direction:`rtl`,textAlign:`left`,...t},children:(0,T.jsx)(`span`,{style:{unicodeBidi:`plaintext`},children:e})})}function Z9({session:e}){return(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:4,color:`var(--danger)`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},title:`${e.path}: ${e.error}`,children:[(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{flexShrink:0},children:[(0,T.jsx)(`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}),(0,T.jsx)(`path`,{d:`M12 9v4`}),(0,T.jsx)(`path`,{d:`M12 17h.01`})]}),e.error]})}var Q9=140;function uoe({open:e,children:t,style:n}){let[r,i]=(0,d.useState)(e),[a,o]=(0,d.useState)(e);return(0,d.useEffect)(()=>{let t,n;return e?(i(!0),o(!1),t=window.requestAnimationFrame(()=>{t=window.requestAnimationFrame(()=>o(!0))})):(o(!1),n=setTimeout(()=>i(!1),Q9)),()=>{t!==void 0&&window.cancelAnimationFrame(t),n&&clearTimeout(n)}},[e]),r?(0,T.jsx)(`div`,{style:{...n,opacity:+!!a,transform:a?`translateY(0) scale(1)`:`translateY(-8px) scale(0.96)`,transformOrigin:`top center`,transition:`opacity ${Q9}ms ease, transform ${Q9}ms ease`,pointerEvents:e?`auto`:`none`},children:t}):null}function doe({worktreeState:e,allSessions:t,selectedCwd:n,setSelectedCwd:r,onCwdChange:i,initialSessionId:a,skipInitialProjectSelection:o,onSelectSession:s,onInitialRestoreDone:c,markSeen:l}){let u=(0,d.useCallback)(n=>n?e?.forCwd&&q9(e.forCwd,n)||e?.worktrees.some(e=>q9(e.path,n))?e.projectRoot:t.find(e=>e.cwd&&q9(e.cwd,n))?.projectRoot??n:null,[e,t]),f=(0,d.useRef)(null);(0,d.useEffect)(()=>{f.current!==n&&(f.current=n,i?.(n,u(n)))},[n,i,u]);let p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{if(!(t.length===0||o)&&n===null){if(a&&!p.current){p.current=!0;let e=t.find(e=>e.id===a);if(e){r(e.cwd),l(e.id),s(e,!0);return}c?.()}let e=coe(t);e.length>0&&r(e[0])}},[t,n,a,o,s,c,l,r]),{projectRootFor:u}}function foe({onUnseenSession:e}){let[t,n]=(0,d.useState)(()=>new Set);return{seenSessionIds:t,markSeen:(0,d.useCallback)(e=>{n(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),handleUnseen:(0,d.useCallback)(t=>{n(e=>{if(!e.has(t))return e;let n=new Set(e);return n.delete(t),n}),pY(t),e?.(t)},[e])}}function poe(e){let{selectedCwd:t,selectedCwdProp:n,refreshKey:r,setSelectedCwd:i}=e,[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)(!1),[l,u]=(0,d.useState)(!1),[f,p]=(0,d.useState)(``),[m,h]=(0,d.useState)(null),[g,_]=(0,d.useState)(!1),[v,y]=(0,d.useState)(null),[b,x]=(0,d.useState)(null),[S,C]=(0,d.useState)(``),w=(0,d.useRef)(null),T=(0,d.useRef)(null),E=(0,d.useRef)(null);(0,d.useEffect)(()=>{n&&n!==E.current&&(E.current=n,i(n))},[n,i]);let D=(0,d.useCallback)(()=>{c(!1),u(!1),p(``),h(null),y(null),C(``)},[]),[O,k]=(0,d.useState)(0);(0,d.useLayoutEffect)(()=>{if(!t){o(null),x(null);return}let e=!1;return x(t),fetch(`/api/worktrees?cwd=${encodeURIComponent(t)}`).then(e=>e.json()).then(n=>{if(!e){if(x(null),n.error||!n.projectRoot){o(null);return}o({forCwd:t,projectRoot:n.projectRoot,isGit:n.isGit??!1,isTopLevel:n.isTopLevel??!1,worktrees:n.worktrees??[]})}}).catch(()=>{e||(x(null),o(null))}),()=>{e=!0}},[t,O,r]);let A=(0,d.useCallback)(async()=>{let e=f.trim();if(!(!e||g||!a)){_(!0),h(null);try{let t=await fetch(`/api/worktrees`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:a.projectRoot,branch:e})}),n=await t.json().catch(()=>({}));if(!t.ok||n.error||!n.path){h(n.error??`HTTP ${t.status}`);return}D(),o(t=>t&&{...t,forCwd:n.path,worktrees:[...t.worktrees,{path:n.path,branch:e,isMain:!1}]}),i(n.path),k(e=>e+1)}catch(e){h(e instanceof Error?e.message:String(e))}finally{_(!1)}}},[D,f,g,a,i]),j=(0,d.useCallback)(async(e,n)=>{if(!(!a||g)){_(!0),h(null);try{let r=await fetch(`/api/worktrees`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:a.projectRoot,path:e,force:n})}),o=await r.json().catch(()=>({}));if(!r.ok){if(o.dirty&&!n){y(e);return}h(o.error??`HTTP ${r.status}`);return}D(),t&&e&&q9(t,e)&&i(a.projectRoot),k(e=>e+1)}catch(e){h(e instanceof Error?e.message:String(e))}finally{_(!1)}}},[D,a,g,t,i]);return(0,d.useEffect)(()=>{let e=e=>{w.current&&!w.current.contains(e.target)&&D()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[D]),{worktreeState:a,worktreeLoadingCwd:b,wtDropdownOpen:s,setWtDropdownOpen:c,wtNewOpen:l,setWtNewOpen:u,wtNewBranch:f,setWtNewBranch:p,wtError:m,setWtError:h,wtBusy:g,wtConfirmRemove:v,setWtConfirmRemove:y,wtFilter:S,setWtFilter:C,wtDropdownRef:w,wtNewInputRef:T,closeWorktrees:D,handleCreateWorktree:A,handleRemoveWorktree:j}}function moe({selectedCwd:e,worktreeState:t,selectedProject:n,worktreeLoadingCwd:r,t:i}){let a=!!(t?.isGit&&t.isTopLevel&&e&&n===t.projectRoot),o=e&&t&&n===t.projectRoot&&!a?t.isGit?{label:i(`sidebar.openRepoRoot`),title:i(`sidebar.openRepoRootTitle`)}:{label:i(`sidebar.gitRepoRootOnly`),title:i(`sidebar.gitRepoRootOnlyTitle`)}:null,s=!!(e&&r===e);return{showWorktreeSwitcher:a,worktreeLoading:s,inactiveWorktreeSelector:o??(s&&!a?{label:i(`sidebar.worktrees`),title:i(`sidebar.checkingWorktrees`)}:null)}}function hoe({selectedSession:e,selectedSessionId:t,refreshKey:n,selectedCwdProp:r,savedWorkspaces:i,onSavedWorkspacesChange:a,onUnseenSession:o,onCwdChange:s,initialSessionId:c,skipInitialProjectSelection:l,onSelectSession:u,onInitialRestoreDone:f,onSessionDeleted:p}){let{t:m}=M(),[h,g]=(0,d.useState)(null),_=ioe({savedWorkspaces:i,onSavedWorkspacesChange:a,setSelectedCwd:g}),v=poe({selectedCwd:h,selectedCwdProp:r,refreshKey:n,setSelectedCwd:g}),{worktreeState:y,worktreeLoadingCwd:b}=v,[x,S]=(0,d.useState)(!1),[C,w]=(0,d.useState)(``),T=(0,d.useRef)(null);(0,d.useEffect)(()=>{x&&T.current?.focus()},[x]);let{seenSessionIds:E,markSeen:D,handleUnseen:O}=foe({onUnseenSession:o}),{unreadSessionIds:k,setUnreadSessionIds:A}=noe(),j=nX(),{runningSessionIds:N,runningPhases:ee,runningPhaseSince:te,runningBusySince:P,setRunningSessionIds:ne,runningPollAuthoritativeRef:re}=BX(),[ie,ae]=(0,d.useState)(null),{allSessions:oe,loading:se,sessionRefreshDone:ce,homeDir:le,loadSessions:ue}=soe({selectedSessionId:t,refreshKey:n,runningSessionIds:N,setUnreadSessionIds:A,setRunningSessionIds:ne,runningPollAuthoritativeRef:re,setError:ae});(0,d.useEffect)(()=>{K9(k)},[k]);let{projectRootFor:de}=doe({worktreeState:y,allSessions:oe,selectedCwd:h,setSelectedCwd:g,onCwdChange:s,initialSessionId:c,skipInitialProjectSelection:l,onSelectSession:u,onInitialRestoreDone:f,markSeen:D}),[fe,pe]=(0,d.useState)({}),[me,he]=(0,d.useState)(null),ge=de(h),_e=oe,{showWorktreeSwitcher:ve,inactiveWorktreeSelector:ye}=moe({selectedCwd:h,worktreeState:y,selectedProject:ge,worktreeLoadingCwd:b,t:m}),{confirmDeleteGroup:be,setConfirmDeleteGroup:xe,deletingGroup:Se,handleDeleteGroup:Ce}=aoe({savedWorkspaces:i,onSavedWorkspacesChange:a,onSessionDeleted:p,loadSessions:ue}),we=(0,d.useMemo)(()=>$ae({filteredSessions:_e,selectedSession:e,projectRootFor:de,selectedCwd:h,savedWorkspaces:i}),[_e,h,de,e,i]),Te=C.trim().toLowerCase();return{t:m,selectedCwd:h,setSelectedCwd:g,selectedSessionId:t,customPath:_,wt:v,workspaceSearchOpen:x,setWorkspaceSearchOpen:S,workspaceSearchQuery:C,setWorkspaceSearchQuery:w,workspaceSearchInputRef:T,seenSessionIds:E,markSeen:D,handleUnseen:O,unreadSessionIds:k,interactionBadges:j,runningSessionIds:N,runningPhases:ee,runningPhaseSince:te,runningBusySince:P,error:ie,setError:ae,loading:se,sessionRefreshDone:ce,homeDir:le,loadSessions:ue,groupCollapsed:fe,setGroupCollapsed:pe,hoveredGroup:me,setHoveredGroup:he,selectedProject:ge,showWorktreeSwitcher:ve,inactiveWorktreeSelector:ye,confirmDeleteGroup:be,setConfirmDeleteGroup:xe,deletingGroup:Se,handleDeleteGroup:Ce,wsQuery:Te,visibleGroups:(0,d.useMemo)(()=>eoe(we,Te),[we,Te])}}function goe({searchQuery:e,setSearchQuery:t,currentPath:n,hasUncommittedPath:r,canSelect:i,busy:a,onCancel:o,onSelect:s}){let{t:c}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{className:`directory-picker-footer`,style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,gap:10,flexShrink:0,padding:`10px 18px`,borderTop:`1px solid var(--border)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,flex:1,minWidth:0},children:[(0,T.jsxs)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{color:`var(--text-dim)`,flexShrink:0},children:[(0,T.jsx)(`circle`,{cx:`11`,cy:`11`,r:`7`}),(0,T.jsx)(`path`,{d:`m21 21-4.3-4.3`})]}),(0,T.jsx)(lx,{className:`directory-picker-search h-8 flex-1`,type:`text`,value:e,placeholder:c(`directoryPicker.search`),"aria-label":c(`directoryPicker.search`),autoComplete:`off`,spellCheck:!1,style:jS,onChange:e=>t(e.target.value)})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,flexShrink:0},children:[(0,T.jsx)(`button`,{className:`directory-picker-action`,type:`button`,onClick:o,disabled:a,style:{padding:`6px 14px`,border:`1px solid var(--border)`,borderRadius:6,background:`none`,color:`var(--text-muted)`,cursor:a?`default`:`pointer`,fontSize:`var(--text-lg)`},children:c(`i18n.cancel`)}),(0,T.jsx)(`button`,{className:`directory-picker-action`,type:`button`,onClick:()=>s(n),disabled:!i,title:c(r?`directoryPicker.openBeforeSelecting`:`directoryPicker.selectCurrentDirectory`),style:{padding:`6px 16px`,border:0,borderRadius:6,background:`var(--accent)`,color:`var(--on-accent)`,fontSize:`var(--text-lg)`,fontWeight:600,opacity:i?1:.6,cursor:i?`pointer`:`default`},children:c(a?`i18n.checking`:`directoryPicker.selectThisFolder`)})]})]})})}function _oe({loading:e,drives:t,filteredDrives:n,filteredDirectories:r,query:i,navigateTo:a,loadError:o,error:s}){let{t:c}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{className:`directory-picker-list`,style:{flex:1,minHeight:0,overflow:`auto`,padding:`8px 10px`},children:[e?(0,T.jsx)(`div`,{style:{padding:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:c(`directoryPicker.loadingDirectories`)}):t===null?r.length>0?r.map(e=>(0,T.jsxs)(`button`,{className:`directory-picker-entry`,type:`button`,onClick:()=>void a(e.path),title:e.path,style:{width:`100%`,minHeight:30,display:`flex`,alignItems:`center`,gap:7,padding:`5px 8px`,border:0,borderRadius:5,background:`none`,color:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`},children:[(0,T.jsx)(MS,{}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.name})]},e.path)):(0,T.jsx)(`div`,{style:{padding:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:c(i?`directoryPicker.noMatches`:`directoryPicker.noSubdirectories`)}):n.length>0?n.map(e=>(0,T.jsxs)(`button`,{className:`directory-picker-entry`,type:`button`,onClick:()=>void a(e.path),title:e.path,style:{width:`100%`,minHeight:34,display:`flex`,alignItems:`center`,gap:7,padding:`6px 8px`,border:0,borderRadius:5,background:`none`,color:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`},children:[(0,T.jsx)(NS,{}),(0,T.jsx)(`span`,{children:e.name})]},e.path)):(0,T.jsx)(`div`,{style:{padding:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:c(i?`directoryPicker.noMatches`:`directoryPicker.noDrives`)}),(o||s)&&(0,T.jsx)(`div`,{style:{padding:`8px`,color:`var(--status-error)`,fontSize:`var(--text-sm)`},children:o??s})]})})}function voe({handlePathSubmit:e,navigateTo:t,parentDirectory:n,loading:r,canNavigateUp:i,pathInputRef:a,pathInput:o,setPathInput:s,setLoadError:c}){let{t:l}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`form`,{onSubmit:e,style:{display:`flex`,alignItems:`center`,gap:8,flexShrink:0,padding:`10px 14px`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(`button`,{className:`directory-picker-back`,type:`button`,onClick:()=>void t(n??void 0),disabled:r||!i,title:l(`directoryPicker.goToParent`),"aria-label":l(`directoryPicker.goToParent`),style:{width:36,height:36,padding:0,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0,border:`1px solid var(--border)`,borderRadius:6,background:`#ffffff`,color:`var(--text-muted)`,cursor:i?`pointer`:`default`,opacity:i?1:.45},children:(0,T.jsx)(`svg`,{width:I[`3xl`],height:I[`3xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`m18 15-6-6-6 6`})})}),(0,T.jsx)(`label`,{htmlFor:`directory-path`,style:{position:`absolute`,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,border:0},children:l(`directoryPicker.directoryPath`)}),(0,T.jsx)(lx,{className:`directory-picker-path h-9 flex-1 font-mono text-xs`,id:`directory-path`,type:`text`,ref:a,value:o,placeholder:`/path/to/project or ~/project`,autoComplete:`off`,spellCheck:!1,style:jS,onChange:e=>{s(e.target.value),c(null)}}),(0,T.jsx)(`button`,{className:`directory-picker-action`,type:`submit`,disabled:!o.trim(),title:l(`directoryPicker.goToDirectory`),style:{minWidth:58,height:36,padding:`0 12px`,border:`1px solid var(--border)`,borderRadius:6,background:`#ffffff`,color:`var(--text-muted)`,cursor:o.trim()?`pointer`:`default`,opacity:o.trim()?1:.6},children:l(`directoryPicker.go`)})]})})}function yoe({onCancel:e,onSelect:t,busy:n=!1,error:r}){let{t:i}=M(),[a,o]=(0,d.useState)(!0),[s,c]=(0,d.useState)(``),[l,u]=(0,d.useState)(null),[f,p]=(0,d.useState)(``),[m,h]=(0,d.useState)([]),[g,_]=(0,d.useState)(null),[v,y]=(0,d.useState)(``),[b,x]=(0,d.useState)(null),[S,C]=(0,d.useState)(!0),w=(0,d.useRef)(null),E=(0,d.useCallback)(async e=>{C(!0),x(null);try{let t=await AS(e),n=t.path??e??`/`;c(n),u(t.parentPath??null),p(n),h(t.directories??[]),_(t.drives??null),y(``)}catch(e){x(e instanceof Error?e.message:String(e))}finally{C(!1)}},[]);(0,d.useEffect)(()=>{E()},[E]);let D=e=>{e.preventDefault();let t=f.trim();t&&E(t)},O=f.trim()!==s,k=!!s&&!O&&!n,A=!!l||PS(s),j=v.trim().toLowerCase(),N=e=>!j||e.toLowerCase().includes(j),ee=g===null?[]:g.filter(e=>N(e.name)||N(e.path)),te=m.filter(e=>N(e.name));return(0,T.jsx)(Np,{open:a,onOpenChange:t=>{!t&&!n&&(o(!1),e())},children:(0,T.jsxs)(Lp,{className:`directory-picker-light flex w-[520px] max-w-[calc(100vw-16px)] flex-col gap-0 overflow-hidden p-0`,style:{height:`min(620px, calc(100dvh - 16px))`},showCloseButton:!1,onPointerDownOutside:e=>{n&&e.preventDefault()},onEscapeKeyDown:e=>{n&&e.preventDefault()},onOpenAutoFocus:e=>{e.preventDefault(),w.current?.focus()},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,flexShrink:0,padding:`12px 18px`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(Rp,{style:{fontWeight:700,fontSize:`var(--text-2xl)`,color:`var(--text)`},children:i(`directoryPicker.selectDirectory`)}),(0,T.jsx)(Fp,{asChild:!0,children:(0,T.jsx)(`button`,{type:`button`,disabled:n,title:i(`i18n.close`),"aria-label":i(`i18n.close`),style:{padding:`2px 6px`,border:0,background:`none`,color:`var(--text-muted)`,fontSize:`var(--text-5xl)`,lineHeight:1,cursor:n?`default`:`pointer`,opacity:n?.5:1},children:`×`})})]}),(0,T.jsx)(voe,{handlePathSubmit:D,navigateTo:E,parentDirectory:l,loading:S,canNavigateUp:A,pathInputRef:w,pathInput:f,setPathInput:p,setLoadError:x}),(0,T.jsx)(_oe,{loading:S,drives:g,filteredDrives:ee,filteredDirectories:te,query:j,navigateTo:E,loadError:b,error:r}),(0,T.jsx)(goe,{searchQuery:v,setSearchQuery:y,currentPath:s,hasUncommittedPath:O,canSelect:k,busy:n,onCancel:e,onSelect:t})]})})}function boe({title:e,label:t}){return(0,T.jsxs)(`button`,{type:`button`,"aria-disabled":`true`,tabIndex:-1,title:e,style:{width:`100%`,height:29,boxSizing:`border-box`,marginTop:6,display:`flex`,alignItems:`center`,gap:6,padding:`0 10px`,border:`1px solid var(--border)`,borderRadius:7,background:`var(--bg-hover)`,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,lineHeight:1.35,whiteSpace:`nowrap`,textAlign:`left`,cursor:`default`,opacity:.82},children:[(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`},children:t})]})}function xoe({group:e,groupSelected:t,hoveredGroup:n,confirmDeleteGroup:r,deletingGroup:i,runningSessionIds:a,interactionBadges:o,collapsed:s,setHoveredGroup:c,setGroupCollapsed:l,setConfirmDeleteGroup:u,handleDeleteGroup:d,handleNewSession:f,copyText:p}){let{t:m}=M(),h=e.sessions.some(e=>a.has(e.id)),g=e.sessions.some(e=>o.has(e.id));return(0,T.jsx)(`div`,{"data-testid":`workspace-group-header`,onMouseEnter:()=>c(e.root),onMouseLeave:()=>c(null),style:{display:`flex`,alignItems:`center`,gap:4,height:40,padding:`0 2px`,boxSizing:`border-box`,fontSize:`var(--text-base)`,fontFamily:`var(--font-mono)`,color:`var(--text)`,fontWeight:600,textTransform:`none`,letterSpacing:.6,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,cursor:r===e.root?`default`:`pointer`,background:r===e.root?`color-mix(in srgb, var(--status-error) 6%, transparent)`:n===e.root?`var(--bg-hover)`:`var(--bg)`},onClick:r===e.root?void 0:()=>{l(t=>({...t,[e.root]:!t[e.root]}))},children:r===e.root?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:m(`sidebar.deleteWorkspace`,{count:e.sessions.length})}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:5,flexShrink:0},children:[(0,T.jsx)(`button`,{onClick:t=>{t.stopPropagation(),d(e)},disabled:i,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:4,height:22,padding:`0 9px`,background:`var(--status-error)`,border:`none`,borderRadius:5,color:`var(--on-error)`,cursor:i?`default`:`pointer`,opacity:i?.6:1,fontSize:`var(--text-sm)`,fontWeight:600,whiteSpace:`nowrap`},children:m(`sidebar.delete`)}),(0,T.jsx)(`button`,{onClick:e=>{e.stopPropagation(),u(null)},disabled:i,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:22,padding:`0 9px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:5,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:500,whiteSpace:`nowrap`},children:m(`sidebar.cancel`)})]})]}):(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{display:`inline-flex`,alignItems:`center`,gap:6,flex:1,minWidth:0,height:38,boxSizing:`border-box`,padding:`0 8px`,border:`none`,borderRadius:0,background:g&&s?`linear-gradient(180deg, transparent calc(100% - 25px), color-mix(in srgb, var(--border) 25%, transparent) 100%)`:h&&s?`linear-gradient(90deg, transparent 13%, color-mix(in srgb, var(--accent) 18%, transparent) 25%, transparent 37%, transparent 63%, color-mix(in srgb, var(--shine-highlight) 50%, transparent) 75%, transparent 87%), linear-gradient(180deg, transparent calc(100% - 25px), color-mix(in srgb, var(--border) 25%, transparent) 100%)`:`linear-gradient(180deg, transparent calc(100% - 25px), color-mix(in srgb, var(--border) 25%, transparent) 100%)`,backgroundSize:h&&s&&!g?`200% 100%, auto`:void 0,animation:g&&s?`interaction-bg-blink 1s ease-in-out infinite`:h&&s?`pi-status-shine 1.5s linear infinite`:void 0,boxShadow:`0 2px 8px var(--shadow-color)`,margin:`0 -2px`},children:[(0,T.jsxs)(`span`,{style:{position:`relative`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,width:30,height:22,flexShrink:0},children:[(0,T.jsx)(`svg`,{width:`30`,height:`22`,viewBox:`0 0 24 24`,fill:t?`color-mix(in srgb, var(--accent) 18%, transparent)`:`var(--bg)`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{color:t?`var(--accent)`:`var(--text-muted)`,opacity:.95},children:(0,T.jsx)(`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`})}),(0,T.jsx)(`span`,{style:{position:`absolute`,top:`50%`,left:`50%`,transform:`translate(-50%, -38%)`,color:`var(--text-muted)`,fontSize:`var(--text-xs)`,fontWeight:400,lineHeight:1,textAlign:`center`,fontVariantNumeric:`tabular-nums`,userSelect:`none`},children:e.sessions.length})]}),(0,T.jsx)(F,{label:e.root,wrapperStyle:{flex:1,minWidth:0,overflow:`hidden`},children:(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,maxWidth:`100%`,lineHeight:`20px`},children:loe(e.root)})}),n===e.root&&(0,T.jsx)(Fq,{items:[{key:`new-session`,onClick:t=>{t.stopPropagation(),f(e.root)},title:m(`sidebar.newSessionTitle`,{path:e.root}),icon:(0,T.jsx)(Tn,{size:I.base})},{key:`copy-path`,onClick:t=>{t.stopPropagation(),p(e.root)},title:m(`sidebar.copyPath`),icon:(0,T.jsx)(en,{size:I.base})},{key:`delete-workspace`,onClick:t=>{t.stopPropagation(),u(e.root)},title:m(`sidebar.deleteWorkspaceTitle`),danger:!0,icon:(0,T.jsx)(Bn,{size:I.base})}]})]})})})}function Soe({session:e,hovered:t,isSeen:n,onUnseen:r,startRename:i,handleDeleteClick:a}){let{t:o}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(Fq,{visible:t,items:[...n&&r?[{key:`unseen`,onClick:t=>{t.stopPropagation(),r(e.id)},title:o(`sidebar.disconnect`)||`断开`,icon:(0,T.jsx)(Hn,{size:I.base})}]:[],{key:`copy-path`,onClick:t=>{t.stopPropagation(),cK(e.path)},title:o(`sidebar.copyPath`),icon:(0,T.jsx)(en,{size:I.base})},{key:`rename`,testId:`session-rename`,onClick:i,title:o(`sidebar.rename`),icon:(0,T.jsx)(Cn,{size:I.xl})},{key:`delete`,testId:`session-delete`,onClick:a,title:o(`sidebar.deleteWithShiftClick`),danger:!0,icon:(0,T.jsx)(Bn,{size:I.xl})}]})})}function Coe({collapsed:e,onToggleCollapse:t}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(F,{label:e?`Expand forks`:`Collapse forks`,children:(0,T.jsx)(`button`,{onClick:e=>{e.stopPropagation(),t?.()},style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:20,height:20,padding:0,flexShrink:0,background:`none`,border:`none`,color:`var(--text-dim)`,cursor:`pointer`,transform:e?`rotate(-90deg)`:`none`,transition:`transform 0.15s`},children:(0,T.jsx)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,T.jsx)(`polyline`,{points:`2 3.5 5 6.5 8 3.5`})})})})})}function woe({session:e,title:t,onConfirm:n,onCancel:r}){let{t:i}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t}),(0,T.jsxs)(`div`,{style:{marginTop:2,display:`flex`,alignItems:`center`,gap:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[e.error?(0,T.jsx)(Z9,{session:e}):(0,T.jsx)(`span`,{title:e.modified,children:J9(e.modified,i)}),(0,T.jsx)(`span`,{children:i(`sidebar.messagesCount`,{count:e.messageCount})})]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:5,flexShrink:0},children:[(0,T.jsxs)(`button`,{onClick:n,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:4,height:30,padding:`0 11px`,background:`var(--status-error)`,border:`none`,borderRadius:6,color:`var(--on-error)`,cursor:`pointer`,fontSize:`var(--text-base)`,fontWeight:600,whiteSpace:`nowrap`},children:[(0,T.jsx)(Bn,{size:I.base}),i(`sidebar.delete`)]}),(0,T.jsx)(`button`,{onClick:r,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:30,padding:`0 11px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:6,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-base)`,fontWeight:500,whiteSpace:`nowrap`},children:i(`sidebar.cancel`)})]})]})})}function Toe({session:e,title:t,isSelected:n,isSeen:r,isRunning:i,isUnread:a,phase:o,elapsed:s,totalElapsed:c}){let{t:l}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,gap:5,minWidth:0,fontSize:`var(--text-base)`,fontWeight:n?600:400,lineHeight:1.4,color:r?`var(--text)`:`var(--text-dim)`},title:t,children:(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,minWidth:0},children:t})}),(0,T.jsxs)(`div`,{style:{marginTop:2,display:`flex`,alignItems:`center`,gap:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[e.error?(0,T.jsx)(Z9,{session:e}):i?(0,T.jsx)(d9,{phase:o??{kind:`running_command`},elapsed:s,totalElapsed:c}):a?(0,T.jsx)(roe,{}):(0,T.jsx)(`span`,{title:e.modified,children:J9(e.modified,l)}),!e.error&&i?null:(0,T.jsx)(`span`,{children:l(`sidebar.messagesCount`,{count:e.messageCount})}),e.worktreeBranch&&(0,T.jsxs)(`span`,{title:`Worktree: ${e.cwd}`,style:{display:`flex`,alignItems:`center`,gap:3,color:`var(--accent)`,minWidth:0,overflow:`hidden`},children:[(0,T.jsxs)(`svg`,{width:`9`,height:`9`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.worktreeBranch})]})]})]})})}function Eoe({session:e,isSelected:t,isRunning:n,phase:r,phaseSince:i,busySince:a,isUnread:o,isSeen:s=!0,hasInteractionBadge:c=!1,onClick:l,onRenamed:u,onDeleted:f,onUnseen:p,depth:m=0,hasChildren:h=!1,collapsed:g=!1,onToggleCollapse:_}){let{t:v}=M(),y=VX(!!(n&&r),i),b=VX(!!n,a),[x,S]=(0,d.useState)(!1),[C,w]=(0,d.useState)(!1),[E,D]=(0,d.useState)(``),[O,k]=(0,d.useState)(!1),[A,j]=(0,d.useState)(!1),N=(0,d.useRef)(null),ee=e.error?e.path.split(/[\\/]/).pop()||e.id:e.name||e.firstMessage.slice(0,50)||e.id.slice(0,12),te=(0,d.useCallback)(t=>{t.stopPropagation(),D(e.name??``),w(!0),setTimeout(()=>N.current?.select(),0)},[e.name]),P=(0,d.useCallback)(async()=>{let t=E.trim();if(w(!1),t!==(e.name??``))try{await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:t})}),u?.()}catch{}},[E,e.id,e.name,u]),ne=(0,d.useCallback)(async()=>{k(!1),j(!0);try{await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`DELETE`}),f?.(e.id)}catch{j(!1)}},[e.id,f]),re=(0,d.useCallback)(e=>{e.stopPropagation(),e.shiftKey?ne():k(!0)},[ne]),ie=(0,d.useCallback)(e=>{e.stopPropagation(),ne()},[ne]),ae=(0,d.useCallback)(e=>{e.stopPropagation(),k(!1)},[]);return(0,T.jsx)(`div`,{"data-testid":`session-item`,"data-session-id":e.id,onClick:O||C?void 0:l,title:c?v(`sidebar.interactionBadge`):void 0,onMouseEnter:()=>S(!0),onMouseLeave:()=>{S(!1)},style:{height:54,animation:c?`interaction-bg-blink 1s ease-in-out infinite`:void 0,display:`flex`,alignItems:`center`,paddingLeft:m>0?m*12+14:14,paddingRight:8,cursor:O||C?`default`:`pointer`,backgroundColor:O?`color-mix(in srgb, var(--status-error) 6%, transparent)`:x?`var(--bg-hover)`:`transparent`,transition:`background 0.1s`,opacity:A?.5:1,gap:6,overflow:`hidden`},className:t&&!O?`row-selected-gradient`:void 0,children:O?(0,T.jsx)(woe,{session:e,title:ee,onConfirm:ie,onCancel:ae}):C?(0,T.jsx)(`input`,{ref:N,"data-testid":`session-rename-input`,value:E,onChange:e=>D(e.target.value),onBlur:P,onKeyDown:e=>{e.key===`Enter`&&P(),e.key===`Escape`&&w(!1)},autoFocus:!0,style:{flex:1,fontSize:`var(--text-base)`,padding:`5px 8px`,border:`1px solid var(--accent)`,borderRadius:5,outline:`none`,background:`var(--bg)`,color:`var(--text)`,height:30}}):(0,T.jsxs)(T.Fragment,{children:[m>0&&(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--text-dim)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(Toe,{session:e,title:ee,isSelected:t,isSeen:s,isRunning:n,isUnread:o,phase:r,elapsed:y,totalElapsed:b}),h&&(0,T.jsx)(Coe,{collapsed:g,onToggleCollapse:_}),(0,T.jsx)(Soe,{session:e,hovered:x,isSeen:s,onUnseen:p,startRename:te,handleDeleteClick:re})]})})}function $9({node:e,selectedSessionId:t,runningSessionIds:n,runningPhases:r,runningPhaseSince:i,runningBusySince:a,unreadSessionIds:o,seenSessionIds:s,interactionBadges:c,onSelectSession:l,onRenamed:u,onSessionDeleted:f,onUnseen:p,depth:m}){let[h,g]=(0,d.useState)(!1),_=e.children.length>0;return(0,T.jsxs)(`div`,{style:{paddingBottom:1,backgroundImage:`linear-gradient(90deg, transparent, var(--border), transparent)`,backgroundPosition:`0 100%`,backgroundSize:`100% 1px`,backgroundRepeat:`no-repeat`},children:[(0,T.jsxs)(`div`,{style:{position:`relative`},children:[m>0&&(0,T.jsx)(`div`,{style:{position:`absolute`,left:m*12+6,top:0,bottom:0,width:1,background:`var(--border)`,pointerEvents:`none`}}),(0,T.jsx)(Eoe,{session:e.session,isSelected:e.session.id===t,isRunning:n.has(e.session.id),phase:r[e.session.id],phaseSince:i[e.session.id],busySince:a[e.session.id],isUnread:o.has(e.session.id),isSeen:s.has(e.session.id),hasInteractionBadge:c.has(e.session.id),onClick:()=>l(e.session),onRenamed:u,onDeleted:e=>f?.(e),onUnseen:p,depth:m,hasChildren:_,collapsed:h,onToggleCollapse:()=>g(e=>!e)})]}),_&&!h&&(0,T.jsx)(`div`,{children:e.children.map(e=>(0,T.jsx)($9,{node:e,selectedSessionId:t,runningSessionIds:n,runningPhases:r,runningPhaseSince:i,runningBusySince:a,unreadSessionIds:o,seenSessionIds:s,interactionBadges:c,onSelectSession:l,onRenamed:u,onSessionDeleted:f,onUnseen:p,depth:m+1},e.session.id))})]})}function Doe(e){let t=new Map;for(let n of e)t.set(n.id,{session:n,children:[]});let n=new Map;for(let t of e)t.parentSessionId&&n.set(t.id,t.parentSessionId);function r(e){let r=n.get(e),i=new Set;for(;r;){if(i.has(r))return null;if(i.add(r),t.has(r))return r;r=n.get(r)}return null}let i=[];for(let e of t.values()){let n=r(e.session.id);n?t.get(n).children.push(e):i.push(e)}let a=e=>{e.sort((e,t)=>t.session.modified.localeCompare(e.session.modified)),e.forEach(e=>a(e.children))};return a(i),i}function Ooe({visibleGroups:e,selectedSessionId:t,selectedProject:n,wsQuery:r,groupCollapsed:i,hoveredGroup:a,confirmDeleteGroup:o,deletingGroup:s,runningSessionIds:c,runningPhases:l,runningPhaseSince:u,runningBusySince:d,unreadSessionIds:f,seenSessionIds:p,interactionBadges:m,setHoveredGroup:h,setGroupCollapsed:g,setConfirmDeleteGroup:_,handleDeleteGroup:v,handleNewSession:y,copyText:b,handleSelectSessionFromList:x,onSessionDeleted:S,handleUnseen:C,loadSessions:w}){let{t:E}=M();return(0,T.jsx)(T.Fragment,{children:e.map(e=>{let D=e.sessions.some(e=>e.id===t)||e.root===n;return(0,T.jsxs)(`div`,{children:[(0,T.jsx)(xoe,{group:e,groupSelected:D,hoveredGroup:a,confirmDeleteGroup:o,deletingGroup:s,runningSessionIds:c,interactionBadges:m,collapsed:!!i[e.root],setHoveredGroup:h,setGroupCollapsed:g,setConfirmDeleteGroup:_,handleDeleteGroup:v,handleNewSession:y,copyText:b}),(r||!i[e.root])&&(e.sessions.length===0?(0,T.jsx)(`div`,{style:{padding:`10px 14px`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`},children:E(`sidebar.noSessions`)}):Doe(e.sessions).map(e=>(0,T.jsx)($9,{node:e,selectedSessionId:t,runningSessionIds:c,runningPhases:l,runningPhaseSince:u,runningBusySince:d,unreadSessionIds:f,seenSessionIds:p,interactionBadges:m,onSelectSession:x,onRenamed:()=>w(!1,!0),onSessionDeleted:e=>{S?.(e),w(!1,!0)},onUnseen:C,depth:0},e.session.id)))]},e.root)})})}function koe({loading:e,error:t,noSearchResults:n}){let{t:r}=M();return e?(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`16px 14px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`},children:[(0,T.jsx)(`div`,{style:{width:14,height:14,border:`2px solid var(--border)`,borderTopColor:`var(--text-dim)`,borderRadius:`50%`,animation:`spin 0.8s linear infinite`,flexShrink:0}}),r(`sidebar.loading`)]}):t?(0,T.jsx)(`div`,{style:{padding:`12px 14px`,color:`var(--status-error)`,fontSize:`var(--text-base)`},children:t}):n?(0,T.jsx)(`div`,{style:{padding:`16px 14px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`},children:r(`sidebar.searchSessionsNoResults`)}):null}function Aoe({searchOpen:e,onToggleSearch:t,onNewWorkspace:n,onRefresh:r,refreshDone:i}){let{t:a}=M();return(0,T.jsx)(Fq,{items:[{key:`search`,testId:`workspace-search-toggle`,onClick:t,title:a(`sidebar.searchSessions`),ariaPressed:e,color:e?`var(--accent)`:`var(--text-muted)`,background:e?`var(--bg-selected)`:void 0,icon:(0,T.jsx)(jn,{size:I.lg})},{key:`new-workspace`,testId:`new-workspace`,onClick:n,title:a(`sidebar.newWorkspace`),color:`var(--text-muted)`,icon:(0,T.jsx)(cn,{size:I.xl})},{key:`refresh`,testId:`session-refresh`,onClick:r,title:a(`sidebar.refresh`),skipHover:i,color:i?`var(--status-success)`:`var(--text-muted)`,background:i?`color-mix(in srgb, var(--status-success) 18%, transparent)`:void 0,icon:i?(0,T.jsx)(qt,{size:I.xl,color:`var(--status-success)`,strokeWidth:2.5}):(0,T.jsx)(Dn,{size:I.xl})}]})}function joe({value:e,onChange:t,onClear:n,inputRef:r}){let{t:i}=M();return(0,T.jsxs)(`div`,{"data-testid":`workspace-search`,style:{display:`flex`,alignItems:`center`,gap:4,width:`100%`,minWidth:0,padding:`4px 8px`,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,boxSizing:`border-box`},children:[(0,T.jsx)(jn,{size:I.lg,color:`var(--text-muted)`,style:{flexShrink:0}}),(0,T.jsx)(`input`,{ref:r,value:e,onChange:e=>t(e.target.value),placeholder:i(`sidebar.searchSessionsPlaceholder`),"aria-label":i(`sidebar.searchSessions`),style:{flex:1,minWidth:0,background:`transparent`,border:`none`,outline:`none`,color:`var(--text)`,fontSize:`var(--text-sm)`}}),e&&(0,T.jsx)(`button`,{type:`button`,onClick:n,"aria-label":i(`chat.clearSearch`),style:{border:`none`,background:`transparent`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0,padding:0},children:`✕`})]})}function Moe({wtNewOpen:e,setWtNewOpen:t,wtNewBranch:n,setWtNewBranch:r,wtNewInputRef:i,handleCreateWorktree:a,wtBusy:o,setWtError:s}){let{t:c}=M();return(0,T.jsx)(T.Fragment,{children:e?(0,T.jsxs)(`div`,{style:{padding:`6px 8px`},children:[(0,T.jsx)(`input`,{ref:i,"data-testid":`worktree-new-branch-input`,value:n,onChange:e=>{r(e.target.value),s(null)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),a()),e.key===`Escape`&&(t(!1),r(``),s(null))},placeholder:c(`sidebar.branchName`),style:{width:`100%`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`,padding:`5px 8px`,border:`1px solid var(--accent)`,borderRadius:5,outline:`none`,background:`var(--bg)`,color:`var(--text)`,boxSizing:`border-box`}}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:5,marginTop:5},children:[(0,T.jsx)(`button`,{"data-testid":`worktree-create`,onClick:()=>void a(),disabled:o||!n.trim(),style:{flex:1,padding:`4px 0`,background:`var(--accent)`,border:`none`,borderRadius:5,color:`var(--on-accent)`,fontSize:`var(--text-sm)`,fontWeight:600,cursor:o||!n.trim()?`not-allowed`:`pointer`,opacity:o||!n.trim()?.65:1},children:c(o?`sidebar.creating`:`sidebar.create`)}),(0,T.jsx)(`button`,{onClick:()=>{t(!1),r(``),s(null)},style:{flex:1,padding:`4px 0`,background:`var(--bg-hover)`,border:`1px solid var(--border)`,borderRadius:5,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:c(`sidebar.cancel`)})]})]}):(0,T.jsxs)(`button`,{"data-testid":`worktree-new`,onClick:e=>{e.stopPropagation(),t(!0),s(null),setTimeout(()=>i.current?.focus(),0)},title:c(`sidebar.createWorktreeTitle`),style:{display:`flex`,alignItems:`center`,gap:7,width:`100%`,padding:`8px 10px`,background:`none`,border:`none`,color:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-sm)`},children:[(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.1`,strokeLinecap:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`5`,y1:`1`,x2:`5`,y2:`9`}),(0,T.jsx)(`line`,{x1:`1`,y1:`5`,x2:`9`,y2:`5`})]}),(0,T.jsx)(`span`,{children:c(`sidebar.newWorktree`)})]})})}function Noe({worktrees:e,visibleWorktrees:t,selectedCwd:n,homeDir:r,wtConfirmRemove:i,setWtConfirmRemove:a,handleRemoveWorktree:o,wtBusy:s,setSelectedCwd:c,closeWorktrees:l,showWtFilter:u,wtFilter:d}){let{t:f}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{maxHeight:`min(40vh, 300px)`,overflowY:`auto`},children:[t.map(t=>{let u=q9(t.path,n)||t.isMain&&!e.some(e=>q9(e.path,n));return i===t.path?(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,padding:`7px 10px`,borderBottom:`1px solid var(--border)`,background:`color-mix(in srgb, var(--status-error) 6%, transparent)`},children:[(0,T.jsx)(`span`,{style:{flex:1,fontSize:`var(--text-sm)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:f(`sidebar.forceRemoveCheckout`)}),(0,T.jsx)(`button`,{"data-testid":`worktree-force-remove`,onClick:()=>void o(t.path,!0),disabled:s,style:{padding:`3px 9px`,background:`var(--status-error)`,border:`none`,borderRadius:5,color:`var(--on-error)`,fontSize:`var(--text-sm)`,fontWeight:600,cursor:`pointer`,flexShrink:0},children:f(`sidebar.force`)}),(0,T.jsx)(`button`,{onClick:()=>a(null),style:{padding:`3px 9px`,background:`var(--bg-hover)`,border:`1px solid var(--border)`,borderRadius:5,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`,flexShrink:0},children:f(`sidebar.cancel`)})]},t.path):(0,T.jsxs)(`div`,{className:`wt-row`,"data-testid":`worktree-row`,style:{display:`flex`,alignItems:`center`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsxs)(`button`,{"data-testid":`worktree-item`,onClick:()=>{c(t.path),l()},title:t.path,style:{flex:1,minWidth:0,display:`flex`,alignItems:`center`,gap:7,padding:`8px 10px`,background:`var(--bg)`,border:`none`,color:u?`var(--text)`:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`},children:[u?(0,T.jsx)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`var(--accent)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:(0,T.jsx)(`polyline`,{points:`1.5 5 4 7.5 8.5 2.5`})}):(0,T.jsx)(`span`,{style:{width:10,flexShrink:0}}),(0,T.jsx)(X9,{text:t.branch??Y9(t.path,r),style:{flex:1}}),t.isMain&&(0,T.jsx)(`span`,{style:{flexShrink:0,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:f(`sidebar.main`)})]}),!t.isMain&&(0,T.jsx)(`button`,{"data-testid":`worktree-remove`,onClick:()=>void o(t.path,!1),disabled:s,title:f(`sidebar.removeWorktreeTitle`,{path:t.path}),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:34,height:28,padding:0,marginRight:4,background:`none`,border:`none`,color:`var(--text-dim)`,cursor:`pointer`,borderRadius:5,flexShrink:0,transition:`color 0.12s, background 0.12s`,"--hover-color":`var(--status-error)`,"--hover-bg":`color-mix(in srgb, var(--status-error) 8%, transparent)`},className:`hover-shift`,children:(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`polyline`,{points:`3 6 5 6 21 6`}),(0,T.jsx)(`path`,{d:`M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6`}),(0,T.jsx)(`path`,{d:`M10 11v6M14 11v6`}),(0,T.jsx)(`path`,{d:`M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2`})]})})]},t.path)}),u&&t.length===0&&d.trim()&&(0,T.jsx)(`div`,{style:{padding:`8px 10px`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:f(`sidebar.noMatchingWorktrees`)})]})})}function Poe({wt:e,selectedCwd:t,homeDir:n,setSelectedCwd:r}){let{t:i}=M(),{worktreeState:a,wtFilter:o,setWtFilter:s,wtDropdownOpen:c,setWtDropdownOpen:l,wtDropdownRef:u,closeWorktrees:d,handleRemoveWorktree:f,wtConfirmRemove:p,setWtConfirmRemove:m,wtBusy:h,wtNewOpen:g,setWtNewOpen:_,wtNewBranch:v,setWtNewBranch:y,wtNewInputRef:b,handleCreateWorktree:x,wtError:S,setWtError:C}=e;if(!a)return null;let w=a.worktrees.find(e=>q9(e.path,t))??a.worktrees.find(e=>e.isMain),E=a.worktrees.length>=8,D=E&&o.trim()?a.worktrees.filter(e=>(e.branch??Y9(e.path,n)).toLowerCase().includes(o.trim().toLowerCase())):a.worktrees;return(0,T.jsxs)(`div`,{ref:u,"data-testid":`worktree-switcher`,style:{position:`relative`,marginTop:6},children:[(0,T.jsxs)(`button`,{"data-testid":`worktree-switcher-trigger`,onClick:()=>l(e=>!e),title:w?i(`sidebar.switchWorktreeTitle`,{path:w.path}):i(`sidebar.switchWorktree`),style:{width:`100%`,height:29,boxSizing:`border-box`,display:`flex`,alignItems:`center`,gap:6,padding:`0 10px`,background:`var(--bg-input)`,border:`1px solid var(--border)`,borderRadius:7,cursor:`pointer`,fontSize:`var(--text-sm)`,lineHeight:1.35,color:`var(--text-muted)`,textAlign:`left`},children:[(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0,color:w&&!w.isMain?`var(--accent)`:`var(--text-dim)`},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(X9,{text:w?w.branch??Y9(w.path,n):`…`,style:{flex:1,fontFamily:`var(--font-mono)`,color:`var(--text)`}}),w?.isMain&&(0,T.jsx)(`span`,{style:{flexShrink:0,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:i(`sidebar.main`)}),a.worktrees.length>1&&(0,T.jsx)(`span`,{style:{flexShrink:0,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:a.worktrees.length}),(0,T.jsx)(`svg`,{width:`9`,height:`9`,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:(0,T.jsx)(`polyline`,{points:`2 3.5 5 6.5 8 3.5`})})]}),(0,T.jsxs)(uoe,{open:c,style:{position:`absolute`,top:`calc(100% + 4px)`,left:0,right:0,zIndex:100,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 6px 20px var(--shadow-color)`,overflow:`hidden`},children:[E&&(0,T.jsx)(`div`,{style:{padding:`6px 8px`,borderBottom:`1px solid var(--border)`},children:(0,T.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(s(``),d())},placeholder:i(`sidebar.filterWorktrees`),autoFocus:!0,style:{width:`100%`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`,padding:`5px 8px`,border:`1px solid var(--border)`,borderRadius:5,outline:`none`,background:`var(--bg)`,color:`var(--text)`,boxSizing:`border-box`}})}),(0,T.jsx)(Noe,{worktrees:a.worktrees,visibleWorktrees:D,selectedCwd:t,homeDir:n,wtConfirmRemove:p,setWtConfirmRemove:m,handleRemoveWorktree:f,wtBusy:h,setSelectedCwd:r,closeWorktrees:d,showWtFilter:E,wtFilter:o}),(0,T.jsx)(Moe,{wtNewOpen:g,setWtNewOpen:_,wtNewBranch:v,setWtNewBranch:y,wtNewInputRef:b,handleCreateWorktree:x,wtBusy:h,setWtError:C}),S&&(0,T.jsx)(`div`,{style:{padding:`5px 10px 8px`,color:`var(--status-error)`,fontSize:`var(--text-sm)`,lineHeight:1.35,overflowWrap:`anywhere`},children:S})]})]})}function Foe({sb:e,handleSelectSessionFromList:t,handleNewSession:n,onSessionDeleted:r}){let{t:i}=M(),{customPath:a,wt:o,selectedCwd:s,setSelectedCwd:c,homeDir:l,workspaceSearchOpen:u,setWorkspaceSearchOpen:d,workspaceSearchQuery:f,setWorkspaceSearchQuery:p,workspaceSearchInputRef:m,loadSessions:h,sessionRefreshDone:g,showWorktreeSwitcher:_,inactiveWorktreeSelector:v,loading:y,error:b,wsQuery:x,visibleGroups:S}=e;return(0,T.jsxs)(T.Fragment,{children:[a.customPathOpen&&(0,T.jsx)(yoe,{busy:a.customPathValidating,error:a.customPathError,onCancel:()=>{a.setCustomPathOpen(!1),a.setCustomPathError(null)},onSelect:e=>void a.commitCustomPath(e)}),(0,T.jsxs)(Hq,{title:i(`sidebar.workspace`),open:!0,onToggle:()=>{},collapsible:!1,testId:`workspace-scroll`,hintTestId:`workspace`,scrollStyle:{flex:`1 1 auto`,minHeight:80,background:`var(--bg)`},style:{flex:1,minHeight:0},actions:(0,T.jsx)(Aoe,{searchOpen:u,onToggleSearch:()=>{u&&p(``),d(e=>!e)},onNewWorkspace:()=>a.setCustomPathOpen(!0),onRefresh:()=>h(!1,!0),refreshDone:g}),headerExtra:(0,T.jsxs)(T.Fragment,{children:[u&&(0,T.jsx)(joe,{value:f,onChange:p,onClear:()=>{p(``),m.current?.focus()},inputRef:m}),_&&(0,T.jsx)(Poe,{wt:o,selectedCwd:s,homeDir:l,setSelectedCwd:c}),v&&(0,T.jsx)(boe,{title:v.title,label:v.label})]}),children:[(0,T.jsx)(koe,{loading:y,error:b,noSearchResults:!y&&!b&&!!x&&S.length===0}),(0,T.jsx)(Ooe,{visibleGroups:S,selectedSessionId:e.selectedSessionId,selectedProject:e.selectedProject,wsQuery:x,groupCollapsed:e.groupCollapsed,hoveredGroup:e.hoveredGroup,confirmDeleteGroup:e.confirmDeleteGroup,deletingGroup:e.deletingGroup,runningSessionIds:e.runningSessionIds,runningPhases:e.runningPhases,runningPhaseSince:e.runningPhaseSince,runningBusySince:e.runningBusySince,unreadSessionIds:e.unreadSessionIds,seenSessionIds:e.seenSessionIds,interactionBadges:e.interactionBadges,setHoveredGroup:e.setHoveredGroup,setGroupCollapsed:e.setGroupCollapsed,setConfirmDeleteGroup:e.setConfirmDeleteGroup,handleDeleteGroup:e.handleDeleteGroup,handleNewSession:n,copyText:cK,handleSelectSessionFromList:t,onSessionDeleted:r,handleUnseen:e.handleUnseen,loadSessions:h})]})]})}function Ioe({selectedSessionId:e,selectedSession:t,onSelectSession:n,onNewSession:r,initialSessionId:i,skipInitialProjectSelection:a,onInitialRestoreDone:o,refreshKey:s,onSessionDeleted:c,onUnseenSession:l,selectedCwd:u,onCwdChange:f,savedWorkspaces:p,onSavedWorkspacesChange:m,onOpenFile:h}){let{t:g}=M(),_=hoe({selectedSession:t,selectedSessionId:e,refreshKey:s,selectedCwdProp:u,savedWorkspaces:p,onSavedWorkspacesChange:m,onUnseenSession:l,onCwdChange:f,initialSessionId:i,skipInitialProjectSelection:a,onSelectSession:n,onInitialRestoreDone:o,onSessionDeleted:c}),{setError:v,loadSessions:y,markSeen:b,setSelectedCwd:x}=_,S=(0,d.useCallback)(async e=>{try{if((await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`HEAD`})).status===404){v(g(`sidebar.sessionDeleted`)),y(!1,!0);return}}catch{}e.cwd&&x(e.cwd),b(e.id),n(e)},[n,g,y,b,v,x]),C=(0,d.useCallback)(e=>{let t=e??_.selectedCwd;if(!t)return;let n=typeof crypto.randomUUID==`function`?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`;r?.(n,t)},[_.selectedCwd,r]);return(0,T.jsx)(`div`,{"data-testid":`session-sidebar`,style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:(0,T.jsx)(Foe,{sb:_,handleSelectSessionFromList:S,handleNewSession:C,onSessionDeleted:e=>{c?.(e),_.loadSessions(!1,!0)}})})}var Loe=e=>window.history.replaceState(null,``,e);function Roe(){let[e,t]=(0,d.useState)(!1);(0,d.useEffect)(()=>{t(!0)},[]);let[n]=(0,d.useState)(()=>VK(new URLSearchParams(window.location.search))),{isDark:r,toggleTheme:i}=NK(),{locale:a,setLocale:o,t:s,supportedLocales:c}=M(),l=ne();zK();let{settingsValue:u,defaultThinkingLevel:f,setDefaultThinkingLevel:p,compaction:m,retry:h,defaultProjectTrust:g,setDefaultProjectTrust:_,subagents:v,savedWorkspaces:y,handleSavedWorkspacesChange:b,widgetGeometries:x,setWidgetGeometry:S,widgetMessages:C,addWidgetMessage:w,removeWidgetMessage:E,updateWidgetMessage:D,fontScale:O,setFontScale:k}=pt({isDark:r,toggleTheme:i}),[A,j]=(0,d.useState)(null),{selectedSession:N,effectiveNewSessionCwd:ee,showChat:te,projectTrustCwd:P,refreshKey:re,sessionKey:ie,explorerRefreshKey:se,setExplorerRefreshKey:ce,modelsRefreshKey:le,setModelsRefreshKey:ue,activeCwd:de,initialCwdStatus:fe,initialCwdError:pe,initialSessionRestored:me,projectTrust:he,projectTrustDialogOpen:ge,setProjectTrustDialogOpen:_e,projectTrustBusy:ve,projectTrustError:ye,setProjectTrustError:be,extensionDialogActiveRef:xe,handleSelectSession:Se,handleNewSession:Ce,handleSessionCreated:we,handleAgentEnd:Te,handleSessionRenamed:Ee,handleSessionForked:De,handleSessionDeleted:Oe,handleSessionUnseen:ke,handleCwdChange:Ae,handleTrustProject:je,handleExplorerRefresh:Me,handleInitialRestoreDone:Ne}=At({initialNavigation:n,onProjectSwitch:()=>{j(null),Pe(e=>e.filter(e=>e.kind!==`file`)),Fe(null),Loe(`/`)},onSessionSelected:e=>{l&&!e&&et(!1)},onTopPanelReset:()=>j(null)}),{setSavedTabs:Pe,setActiveSavedId:Fe,configTabOpen:Ie,configSection:Le,setConfigSection:Re,configTabActive:ze,activeFileTab:Be,fileTabs:Ve,modelConfigFocus:He,handleOpenFile:Ue,openConfigTab:We,handleOpenModelConfig:Ge,closeConfigTab:Ke,handleCloseMainTab:qe}=OK({onSessionSelected:()=>{vt(!1),l&&et(!1)},onRefreshModels:()=>ue(e=>e+1)}),{updatesBadge:Je,updateItems:Ye,updatesBannerDismissed:Xe,setUpdatesBannerDismissed:Ze}=Bae({activeCwd:de,translate:s}),Qe=(0,d.useCallback)(e=>{Ue(e,ES(e),{sourceSessionId:N?.id??null})},[Ue,N?.id]),[$e,et]=(0,d.useState)(!0),{sidebarResizer:tt,widgetPanelResizer:nt,mobileSidebarReady:rt}=Iae({isMobile:l,sidebarOpen:$e,setSidebarOpen:et,translate:s}),it=(0,d.useRef)(null),at=(0,d.useRef)(null),ot=(0,d.useRef)(null),st=(0,d.useRef)(null),ct=tx(),lt=(0,d.useCallback)(()=>{ct.schedule(()=>{j(null)},150)},[ct]),ut=ct.cancel,dt=zae({activeTopPanel:A,isMobile:l,tabBarRef:it,sidebarTopBarRef:at,languageBtnRef:ot,fontScaleBtnRef:st}),ft=(0,d.useCallback)(e=>{l&&et(!1),j(t=>t===e?null:e)},[l]),mt=(0,d.useCallback)(()=>{l&&j(null),et(e=>!e)},[l]),{widgetPanelOpen:ht,setWidgetPanelOpen:gt,widgetsTabActive:_t,setWidgetsTabActive:vt,extensionWidgets:yt,closedWidgets:bt,handleCloseWidget:xt,handleReopenWidget:St,handleExtensionWidgetsChange:Ct,rightSidebarOpen:wt,setRightSidebarOpen:Tt,closedWidgetCount:Et}=BK({widgetGeometries:x,setWidgetGeometry:S}),Dt=l?ht:wt,{chatInputRef:Ot,handleAtMention:kt,handleAtMentions:jt,handleFileLineMention:Nt}=Pae(),Pt=n.sessionId;ae({onNewSession:e=>Ce(`kb-${Date.now()}`,e),activeCwd:de});let Ft=me&&!te,It=UK({translate:s,closedWidgetCount:Et,configTabOpen:Ie,fileTabs:Ve}),Lt=de?ES(de)||de:null,Rt=Lt?`Pi Web · ${Lt}`:`Pi Web`;(0,d.useEffect)(()=>{document.title=Rt},[Rt]),(0,d.useEffect)(()=>{let e=()=>{document.title=Rt};return window.addEventListener(`focus`,e),()=>window.removeEventListener(`focus`,e)},[Rt]);let zt=oe(),Bt=(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)($q,{topBarRef:at,notifyPermission:zt,isDark:r,toggleTheme:i,updatesBadge:Je,openConfigTab:We,isMobile:l,setSidebarOpen:et,activeTopPanel:A,setActiveTopPanel:j,cancelCloseTopPanel:ut,scheduleCloseTopPanel:lt,languageBtnRef:ot,fontScaleBtnRef:st}),Je>0&&!Xe&&(0,T.jsx)(Nae,{items:Ye,openConfigTab:We,setConfigSection:Re,onDismiss:()=>Ze(!0)}),(0,T.jsx)(Ioe,{selectedSessionId:N?.id??null,selectedSession:N,onSelectSession:Se,onNewSession:Ce,initialSessionId:Pt,skipInitialProjectSelection:n.requestedCwd!==null,onInitialRestoreDone:Ne,refreshKey:re,onSessionDeleted:Oe,onUnseenSession:ke,selectedCwd:N?.cwd??ee,onCwdChange:Ae,savedWorkspaces:y,onSavedWorkspacesChange:b,onOpenFile:Ue})]});if(!e)return(0,T.jsx)(Hae,{});let Vt=(0,T.jsx)(qq,{sidebarOpen:$e,onToggle:mt}),Ht=te&&he?.requiresTrust&&!he.trusted?(0,T.jsx)(tJ,{isMobile:l,onClick:()=>{be(null),_e(!0)}}):null,Ut=(0,T.jsx)(Vae,{panelOpen:Dt,highlighted:ht,onToggle:()=>{l?gt(e=>!e):Tt(e=>!e)}});return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(Mt,{value:u,children:(0,T.jsx)(FK,{value:{activeTopPanel:A,toggleTopPanel:ft,closeTopPanel:()=>j(null)},children:(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(or,{delayDuration:0,children:[(0,T.jsx)(Jae,{}),(0,T.jsxs)(`div`,{style:{display:`flex`,width:`100%`,height:`var(--app-viewport-height, 100dvh)`,paddingLeft:`env(safe-area-inset-left)`,paddingRight:`env(safe-area-inset-right)`,overflow:`hidden`,background:`var(--bg)`},children:[(0,T.jsx)(Gq,{sidebarResizer:tt,sidebarOpen:$e,mobileSidebarReady:rt,setSidebarOpen:et,sidebarContent:Bt,translate:s}),(0,T.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,overflow:`hidden`,minWidth:0},children:[(0,T.jsx)(eJ,{activeTopPanel:A,setActiveTopPanel:j,topPanelPos:dt,cancelCloseTopPanel:ut,scheduleCloseTopPanel:lt,translate:s,locale:a,setLocale:o,supportedLocales:c,fontScale:O,setFontScale:k}),(0,T.jsxs)(sK,{tabs:It,activeTabId:WK({configTabActive:ze,widgetsTabActive:_t,activeFileTab:Be}),leftExtra:Vt,rightExtra:Ut,onSelectTab:e=>{let t=GK(e);vt(t.widgetsTabActive),Fe(t.activeSavedId)},onCloseTab:qe,tabBarRef:it,overlay:(0,T.jsx)(HK,{initialCwdStatus:fe,requestedCwd:n.requestedCwd,initialCwdError:pe,showPlaceholder:Ft,activeCwd:de,translate:s}),children:[(0,T.jsx)(aK,{id:yK,testId:`config-tab-pane`,children:(0,T.jsx)(eae,{configSection:Le,setConfigSection:Re,projectTrustCwd:P,sessionId:N?.id??null,closeConfigTab:Ke,handleOpenFile:Ue,sidebarResizer:tt,widgetPanelResizer:nt,modelConfigFocus:He,defaultThinkingLevel:f,setDefaultThinkingLevel:p,compaction:m,retry:h,defaultProjectTrust:g,setDefaultProjectTrust:_,subagents:v})}),(0,T.jsx)(aK,{id:Be?xK(Be.filePath):`file:`,testId:`file-tab-pane`,children:(0,T.jsx)(Aae,{activeFileTab:Be,activeCwd:de,explorerRefreshKey:se,setExplorerRefreshKey:ce,handleFileLineMention:Nt,handleOpenFile:Ue})}),(0,T.jsx)(aK,{id:vK,keepAlive:!0,testId:`chat-tab-pane`,scroll:`hidden`,activeWhen:te,children:(0,T.jsx)($ie,{sessionKey:ie,selectedSession:N,effectiveNewSessionCwd:ee,handleAgentEnd:Te,handleSessionCreated:we,handleSessionForked:De,modelsRefreshKey:le,handleOpenModelConfig:Ge,chatInputRef:Ot,handleOpenLinkedFile:Qe,handleSessionRenamed:Ee,activeCwdName:Lt,trustWarningElement:Ht,closedWidgets:bt,handleCloseWidget:xt,handleExtensionWidgetsChange:Ct,extensionDialogActiveRef:xe})}),(0,T.jsx)(aK,{id:bK,keepAlive:!0,testId:`widgets-tab-pane`,zIndex:1,activeWhen:te,children:(0,T.jsx)(Mae,{widgetGeometries:x,widgetMessages:C,addWidgetMessage:w,removeWidgetMessage:E,updateWidgetMessage:D,extensionWidgets:yt,closedWidgets:bt,handleReopenWidget:St})})]})]}),(0,T.jsx)(Wq,{isMobile:l,rightSidebarOpen:wt,rightSidebarOpenEffective:Dt,widgetPanelResizer:nt,translate:s,cwd:N?.cwd??ee,sessionId:N?.id??null,handleOpenFile:Ue,explorerRefreshKey:se,handleExplorerRefresh:Me,handleAtMention:kt,handleAtMentions:jt,openConfigTab:We})]}),ge&&P&&(0,T.jsx)(Zae,{cwd:P,busy:ve,error:ye,onCancel:()=>{ve||_e(!1)},onConfirm:()=>void je()})]})})})}),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(Uae,{}),(0,T.jsx)(Xae,{})]})]})}var zoe=class extends d.Component{constructor(...e){super(...e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e){xt(e,`render error`)}render(){return this.state.hasError?(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:12,height:`100vh`,color:`var(--text)`,fontSize:`var(--text-base)`},children:[(0,T.jsx)(`span`,{children:`⚠️`}),(0,T.jsx)(`span`,{children:`Something went wrong while rendering.`}),(0,T.jsx)(`button`,{type:`button`,onClick:()=>{this.setState({hasError:!1})},style:{border:`1px solid var(--border)`,background:`none`,color:`var(--text)`,borderRadius:6,padding:`4px 14px`,cursor:`pointer`},children:`Try again`})]}):this.props.children}};function Boe(){return(0,d.useEffect)(()=>{if(!(`serviceWorker`in navigator))return;let e=()=>{navigator.serviceWorker.register(`/sw.js?v=0.15.31`,{scope:`/`,updateViaCache:`none`}).catch(e=>{console.error(`Failed to register the Pi Web service worker:`,e)})};if(document.readyState===`complete`){e();return}return window.addEventListener(`load`,e,{once:!0}),()=>window.removeEventListener(`load`,e)},[]),null}var Voe=`piE2eFixtureDir`;function Hoe(){return typeof window>`u`?null:new URL(window.location.href).searchParams.get(`piE2eFixtureDir`)}function Uoe(){if(typeof document>`u`)return;let e=Hoe();e&&(document.cookie=`${Voe}=${encodeURIComponent(e)}; path=/; SameSite=Lax`)}async function Woe(){Uoe(),iJ(!0),sJ();let e=aJ(`boot`),t=null;try{let n=await fe.load();e(`preferences catalog loaded`,`locale=${n.firstPaint?.locale}`);let r=n.firstPaint?.locale;(r===`en`||r===`zh-CN`)&&(t=r,document.documentElement.lang=r===`zh-CN`?`zh-CN`:`en`);let i=n.theme;if(i===`dark`?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`),i)try{localStorage.setItem(`pi-theme`,i)}catch{}}catch{}e(`root render`),window.addEventListener(`unhandledrejection`,e=>{xt(e.reason,`unhandled promise rejection`)}),window.addEventListener(`error`,e=>{let t=(e.error instanceof Error?e.error.message:``)||e.message||``;t.includes(`ResizeObserver loop`)||t.startsWith(`Script error`)||xt(e.error??e.message,`uncaught error`)}),(0,f.createRoot)(document.getElementById(`root`)).render((0,T.jsx)(d.StrictMode,{children:(0,T.jsx)(zoe,{children:(0,T.jsxs)(j,{initialLocale:t,children:[(0,T.jsx)(Roe,{}),(0,T.jsx)(Boe,{})]})})}))}Woe();export{w2 as a,g4 as i,$6 as n,w as o,r8 as r,i as s,G4 as t};