@ahpd/web 0.3.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/README.md +27 -20
  2. package/dist/app/assets/ActionList-Bc-jZDaT.css +1 -0
  3. package/dist/app/assets/ActionList-QwhYPQiB.js +1 -0
  4. package/dist/app/assets/ActivityBarItem-B2nm6zWz.css +1 -0
  5. package/dist/app/assets/ActivityBarItem-ai2cgVXn.js +1 -0
  6. package/dist/app/assets/Alert-BhdRA0LL.js +1 -0
  7. package/dist/app/assets/AudioPage-g-XDUEDw.js +1 -0
  8. package/dist/app/assets/Bood-Dg-XtOTh.js +1 -0
  9. package/dist/app/assets/BotLayer-DBe4Fyhe.js +1 -0
  10. package/dist/app/assets/ChoicePicker-I5V6f-aN.js +1 -0
  11. package/dist/app/assets/CodeEditor-C-ygqVsY.js +3 -0
  12. package/dist/app/assets/CommandPalette-G86xI_6j.js +1 -0
  13. package/dist/app/assets/Composer-DYocj0Ot.js +2 -0
  14. package/dist/app/assets/{ContextMenu-BV1gdog0.js → ContextMenu-DlF_3KO_.js} +1 -1
  15. package/dist/app/assets/CopyButton-BSesWpVW.js +1 -0
  16. package/dist/app/assets/{DataTable-8woVlU4S.js → DataTable-BwoG_VY8.js} +1 -1
  17. package/dist/app/assets/Details-CH_RhTnb.js +1 -0
  18. package/dist/app/assets/DiffPage-BWZV83j-.js +3 -0
  19. package/dist/app/assets/Edit-C2ayFdz3.js +1 -0
  20. package/dist/app/assets/Edit-nBofGkbp.js +1 -0
  21. package/dist/app/assets/Explorer-8HHRQU3j.js +1 -0
  22. package/dist/app/assets/Explorer-B4eWCDt-.js +1 -0
  23. package/dist/app/assets/Explorer-CcJsHUFk.js +1 -0
  24. package/dist/app/assets/Explorer-D4cvjXRf.js +1 -0
  25. package/dist/app/assets/Explorer-D5NpZ_El.js +1 -0
  26. package/dist/app/assets/Explorer-D5UOVCR4.js +1 -0
  27. package/dist/app/assets/Explorer-Dbqg4t3H.js +1 -0
  28. package/dist/app/assets/Explorer-Dg4dz1Y8.js +1 -0
  29. package/dist/app/assets/Explorer-Dy6T9Nil.js +1 -0
  30. package/dist/app/assets/Explorer-DzRNgpV9.js +1 -0
  31. package/dist/app/assets/ExplorerList-DU80dY_f.js +1 -0
  32. package/dist/app/assets/Field-jnYjqqvV.js +1 -0
  33. package/dist/app/assets/FilePage-Cqa5Gu-X.js +1 -0
  34. package/dist/app/assets/Filter-C4R4cZ-3.js +1 -0
  35. package/dist/app/assets/HeaderAction-5M2x4m1w.css +1 -0
  36. package/dist/app/assets/HeaderAction-Bs-AE__U.js +1 -0
  37. package/dist/app/assets/HostLines-CtIqw3A0.js +1 -0
  38. package/dist/app/assets/HostSwitcher-CBjT2TTb.js +1 -0
  39. package/dist/app/assets/ImagePage-C0fdIV7s.js +1 -0
  40. package/dist/app/assets/Info-DPV0HZOg.js +1 -0
  41. package/dist/app/assets/LocaleToggle-Bnt4p8rr.js +1 -0
  42. package/dist/app/assets/LogPage-C3fGac0t.js +1 -0
  43. package/dist/app/assets/LoginForm-DxyP1mZO.js +1 -0
  44. package/dist/app/assets/MarkdownPage-qhogl5sV.js +1 -0
  45. package/dist/app/assets/Modal-xWzwLA8s.js +1 -0
  46. package/dist/app/assets/MountTitle-BYR1nX0U.js +1 -0
  47. package/dist/app/assets/NamedPage-CoZEwEtx.js +1 -0
  48. package/dist/app/assets/New-BiFpU6ut.js +4 -0
  49. package/dist/app/assets/New-GW4BjzMj.js +1 -0
  50. package/dist/app/assets/OpenEditors-DN3NPzWo.js +1 -0
  51. package/dist/app/assets/Page-1jvuUZH2.js +1 -0
  52. package/dist/app/assets/Page-B1rQUqL-.js +1 -0
  53. package/dist/app/assets/Page-By2cWeM8.js +3 -0
  54. package/dist/app/assets/Page-DKXwLUAx.css +1 -0
  55. package/dist/app/assets/Page-JyFk5XMA.js +1 -0
  56. package/dist/app/assets/Page-fKKaK_Dn.js +1 -0
  57. package/dist/app/assets/PageAlert-B8ulCXV4.js +1 -0
  58. package/dist/app/assets/Pagination-Bt7IC1tA.js +1 -0
  59. package/dist/app/assets/PoolPage-cZ6yGgGG.js +1 -0
  60. package/dist/app/assets/PortaLock-DD-lS5R3.js +2 -0
  61. package/dist/app/assets/RolePage-C4v5v12n.js +3 -0
  62. package/dist/app/assets/SchemaForm-byhtwSG1.css +1 -0
  63. package/dist/app/assets/SchemaForm-uhkLDWDC.js +1 -0
  64. package/dist/app/assets/Settings-CAzrumeA.js +1 -0
  65. package/dist/app/assets/SigillumGate-CXCvctfp.js +1 -0
  66. package/dist/app/assets/SingleLayout-Bi4nK6CY.js +1 -0
  67. package/dist/app/assets/SpatialLayout-QbjNYiGj.js +1 -0
  68. package/dist/app/assets/Spinner-CBEPv0eM.js +1 -0
  69. package/dist/app/assets/SplitLayout-tQayoihg.js +1 -0
  70. package/dist/app/assets/StackLayout-B0qUSU7d.js +1 -0
  71. package/dist/app/assets/Start-NxBne1u6.js +1 -0
  72. package/dist/app/assets/TabLayout-B_pbKMRi.js +1 -0
  73. package/dist/app/assets/TabPanelLayout-DKamepPL.js +1 -0
  74. package/dist/app/assets/TerminalPage-AG2B5hHZ.js +18 -0
  75. package/dist/app/assets/ThemeModeToggle-DmEp0Qr8.js +1 -0
  76. package/dist/app/assets/ThemePicker-Bj_ObpXS.js +1 -0
  77. package/dist/app/assets/Tree-DoJ8zO-u.js +1 -0
  78. package/dist/app/assets/UserPage-C0Vk5NUV.js +1 -0
  79. package/dist/app/assets/VideoPage-CKx-gxgb.js +1 -0
  80. package/dist/app/assets/WindowControls-BuiQSjfa.js +1 -0
  81. package/dist/app/assets/actions-CFnmwNqb.js +1 -0
  82. package/dist/app/assets/actions-CkDFjYZd.js +1 -0
  83. package/dist/app/assets/ahpw-FhxegLNr.svg +8 -0
  84. package/dist/app/assets/changeset-FRFDlNj7.js +1 -0
  85. package/dist/app/assets/channel-BWOXaftf.js +3 -0
  86. package/dist/app/assets/{clicks-DIh3kBLi.js → clicks-BeeNCvCP.js} +1 -1
  87. package/dist/app/assets/composer-commands-CzjP_L_C.js +2 -0
  88. package/dist/app/assets/data-DsJQo1Qk.js +3 -0
  89. package/dist/app/assets/{dist-C5-Hv917.js → dist-2b3tV-Z7.js} +1 -1
  90. package/dist/app/assets/dist-BCQ-dSMw.js +9 -0
  91. package/dist/app/assets/{dist-CxEuuaKq.js → dist-BMwhNxyY.js} +1 -1
  92. package/dist/app/assets/dist-BVWBMVma.js +1 -0
  93. package/dist/app/assets/dist-BvY_obDK.js +13 -0
  94. package/dist/app/assets/dist-CHrzvaer.js +11 -0
  95. package/dist/app/assets/{dist-1MAn9CBM.js → dist-CaJpOCLg.js} +1 -1
  96. package/dist/app/assets/{dist-BdNRSgzN.js → dist-Cy5nEZGW.js} +2 -2
  97. package/dist/app/assets/dist-DUiHb392.js +1 -0
  98. package/dist/app/assets/dist-DVLbqnEo.js +23 -0
  99. package/dist/app/assets/dist-DrG75V-Z.js +6 -0
  100. package/dist/app/assets/dist-DxvAUGwy.js +1 -0
  101. package/dist/app/assets/{dist-uvIW_qsj.js → dist-UsePpmWK.js} +1 -1
  102. package/dist/app/assets/{dist-Bq_hlZV8.js → dist-ZM5yW1OM.js} +1 -1
  103. package/dist/app/assets/dist-a56DBHT4.js +1 -0
  104. package/dist/app/assets/dist-fdt_fTp5.js +1 -0
  105. package/dist/app/assets/drag-CxTqzQcr.js +1 -0
  106. package/dist/app/assets/emojis-B4zHbUyk.js +1 -0
  107. package/dist/app/assets/form-Bw0484oP.js +2 -0
  108. package/dist/app/assets/grouping-BZNQYyEm.js +1 -0
  109. package/dist/app/assets/hosts-A0gEDScb.js +3 -0
  110. package/dist/app/assets/index-DJ3IEy30.css +1 -0
  111. package/dist/app/assets/index-ddqm5vYD.js +19 -0
  112. package/dist/app/assets/label-hTY0RCEf.js +1 -0
  113. package/dist/app/assets/locales-DOA2j2AT.js +3 -0
  114. package/dist/app/assets/media-BFQqiLAd.js +1 -0
  115. package/dist/app/assets/notify-B2F6UAgq.js +1 -0
  116. package/dist/app/assets/pick-CEYUa4kK.js +1 -0
  117. package/dist/app/assets/pins-DhjQhJuu.js +1 -0
  118. package/dist/app/assets/save-file-CirO0l-u.js +1 -0
  119. package/dist/app/assets/save-zwMG_vNN.js +1 -0
  120. package/dist/app/assets/sessions-DxQFcZ2M.js +2 -0
  121. package/dist/app/assets/state-DQKzjLgu.js +1 -0
  122. package/dist/app/assets/terminal-Ctk6FYnN.js +1 -0
  123. package/dist/app/assets/text-D6GxOCYM.js +1 -0
  124. package/dist/app/assets/trust-ask-ewG_CvW8.js +1 -0
  125. package/dist/app/assets/turn-z1TPlA5Q.js +3 -0
  126. package/dist/app/assets/useI18n-T3BwAm0z.js +1 -0
  127. package/dist/app/assets/useStoreLabel-BtAsVCsr.js +1 -0
  128. package/dist/app/assets/viewers--ctbhTPt.js +1 -0
  129. package/dist/app/assets/words-1m-GRHoT.js +2 -0
  130. package/dist/app/assets/words-D8X2_Vc_.js +1 -0
  131. package/dist/app/index.html +37 -26
  132. package/dist/embed/index.d.ts +17 -4
  133. package/dist/embed/index.js +4 -0
  134. package/dist/plugin/index.d.ts +2 -2
  135. package/dist/plugin/index.js +2 -2
  136. package/dist/plugin/index.js.map +1 -1
  137. package/package.json +5 -3
  138. package/dist/app/ahpw.svg +0 -8
  139. package/dist/app/assets/ActionList-Bawu-Lja.css +0 -1
  140. package/dist/app/assets/ActionList-aOUHK9Z9.js +0 -1
  141. package/dist/app/assets/ActivityBarItem-Cyes10aK.css +0 -1
  142. package/dist/app/assets/ActivityBarItem-DVzJQ1uh.js +0 -1
  143. package/dist/app/assets/Alert-CHZkhmDE.js +0 -1
  144. package/dist/app/assets/AudioPage-DAAck9ph.js +0 -1
  145. package/dist/app/assets/ChoicePicker-Cg4Cj6B2.js +0 -1
  146. package/dist/app/assets/Composer-Dp_Z0bXp.js +0 -2
  147. package/dist/app/assets/CopyButton-DWmFc5fw.js +0 -1
  148. package/dist/app/assets/Details-ByJkvhJN.js +0 -1
  149. package/dist/app/assets/DiffPage-Ck21x0bd.js +0 -3
  150. package/dist/app/assets/Edit-rv9ZDDDu.js +0 -1
  151. package/dist/app/assets/Explorer-CDm6vvt6.js +0 -1
  152. package/dist/app/assets/Explorer-CNz5U5q-.js +0 -1
  153. package/dist/app/assets/Explorer-DS_lqr3R.js +0 -1
  154. package/dist/app/assets/Explorer-DoNVPZ-C.js +0 -1
  155. package/dist/app/assets/Explorer-VoN5CYd5.js +0 -1
  156. package/dist/app/assets/ExplorerList-DfesRs43.js +0 -1
  157. package/dist/app/assets/FilePage-CAUDXIh9.js +0 -3
  158. package/dist/app/assets/Filter-D1FpBH5R.js +0 -1
  159. package/dist/app/assets/HostSwitcher-BuSTjyO6.js +0 -1
  160. package/dist/app/assets/ImagePage-cy_jkGi1.js +0 -1
  161. package/dist/app/assets/Info-DqnamTeq.js +0 -1
  162. package/dist/app/assets/LocaleToggle-B91QrqGs.js +0 -1
  163. package/dist/app/assets/LogPage-CKm7_URt.js +0 -1
  164. package/dist/app/assets/LoginForm-rBz-5JFG.js +0 -1
  165. package/dist/app/assets/MarkdownPage-DgalhN_B.js +0 -1
  166. package/dist/app/assets/Modal-BHPfQpzr.js +0 -1
  167. package/dist/app/assets/MountTitle-Bx_Vo8tF.js +0 -1
  168. package/dist/app/assets/New-D6QCCHrx.js +0 -3
  169. package/dist/app/assets/Page-CnfUTsQD.js +0 -2
  170. package/dist/app/assets/Page-DGp_WebG.js +0 -1
  171. package/dist/app/assets/Page-Dqf45zd4.js +0 -1
  172. package/dist/app/assets/Pagination-fEfxXCWD.js +0 -1
  173. package/dist/app/assets/PortaLock-BFpTWuKB.js +0 -2
  174. package/dist/app/assets/SchemaForm-B_SWmx0L.css +0 -1
  175. package/dist/app/assets/SchemaForm-DKxGZpnK.js +0 -1
  176. package/dist/app/assets/Settings-ALaVSuhU.js +0 -1
  177. package/dist/app/assets/SigillumGate-Bq_GLDvI.js +0 -1
  178. package/dist/app/assets/SingleLayout-BzRi_cEY.js +0 -1
  179. package/dist/app/assets/SpatialLayout-Cote5YNZ.js +0 -1
  180. package/dist/app/assets/Spinner-B-iOhBZq.js +0 -1
  181. package/dist/app/assets/SplitLayout-CK5SuMF1.js +0 -1
  182. package/dist/app/assets/StackLayout-BUdng0sD.js +0 -1
  183. package/dist/app/assets/Start-D5KBqSwf.js +0 -1
  184. package/dist/app/assets/TabLayout-ByKrZ0yM.js +0 -1
  185. package/dist/app/assets/TabPanelLayout-B4DWG6Zm.js +0 -1
  186. package/dist/app/assets/TerminalPage-CDtmKMSK.js +0 -18
  187. package/dist/app/assets/ThemeModeToggle-C0j9D4s0.js +0 -1
  188. package/dist/app/assets/ThemePicker-DEUED0NH.js +0 -1
  189. package/dist/app/assets/Tree-fxC7yDSR.js +0 -1
  190. package/dist/app/assets/VideoPage-Cz7g_2E1.js +0 -1
  191. package/dist/app/assets/WindowControls-BWi1hOPh.js +0 -1
  192. package/dist/app/assets/actions-BzJiPQuh.js +0 -1
  193. package/dist/app/assets/changeset-eZAmDe3s.js +0 -1
  194. package/dist/app/assets/channel-UD2KGCy_.js +0 -1
  195. package/dist/app/assets/composer-commands-B8AF8OGi.js +0 -2
  196. package/dist/app/assets/data-hUAVersf.js +0 -2
  197. package/dist/app/assets/dist-33oU5N7i.js +0 -1
  198. package/dist/app/assets/dist-B4E-6SqB.js +0 -1
  199. package/dist/app/assets/dist-BDH0Q8eg.js +0 -13
  200. package/dist/app/assets/dist-BfGIsxxP.js +0 -1
  201. package/dist/app/assets/dist-BwHJSc3S.js +0 -6
  202. package/dist/app/assets/dist-DUFzb_Eu.js +0 -23
  203. package/dist/app/assets/dist-DX2Uz40S.js +0 -9
  204. package/dist/app/assets/dist-Db_OB0lX.js +0 -11
  205. package/dist/app/assets/dist-IR189dk6.js +0 -1
  206. package/dist/app/assets/dist-rmKzqdIO.js +0 -1
  207. package/dist/app/assets/drag-ruzgQUFW.js +0 -1
  208. package/dist/app/assets/emojis-7RT6GvLa.js +0 -1
  209. package/dist/app/assets/folder-path-CTpCmycG.js +0 -1
  210. package/dist/app/assets/index-B1VQ36Tb.css +0 -1
  211. package/dist/app/assets/index-yhQX4tVS.js +0 -14
  212. package/dist/app/assets/media-Coozt7AL.js +0 -1
  213. package/dist/app/assets/notify-BQ9fSOfy.js +0 -1
  214. package/dist/app/assets/registry-iidw4F1W.js +0 -1
  215. package/dist/app/assets/sessions-8PScJEDe.js +0 -2
  216. package/dist/app/assets/state-KGSq646f.js +0 -1
  217. package/dist/app/assets/terminal-BPj7jGw5.js +0 -1
  218. package/dist/app/assets/text-BdULOY8N.js +0 -1
  219. package/dist/app/assets/turn-BoF7W1h6.js +0 -3
  220. package/dist/app/assets/useStoreLabel-BuZT1So6.js +0 -1
  221. package/dist/app/assets/viewers-MssMDn0e.js +0 -1
  222. package/dist/app/assets/words-CyqfIDyJ.js +0 -2
  223. package/dist/app/assets/words-T8-D0K4W.js +0 -1
@@ -1 +0,0 @@
1
- import{t as e}from"./jsx-runtime-BguD1OXD.js";import{n as t,t as n}from"./useStore-BQkzWMs-.js";import{T as r}from"./index-yhQX4tVS.js";var i=e(),a=[`light`,`dark`,`system`],o={light:`☀︎`,dark:`☾︎`,system:`◐︎`},s={light:`Light`,dark:`Dark`,system:`Follow system`};function c({modes:e=a,display:c=`icon`,className:l,style:u}){let d=n(`$/ui/theme/mode`)??`system`,f=t(),p=e[(e.indexOf(d)+1)%e.length]??e[0];return(0,i.jsxs)(`button`,{type:`button`,className:[`oo-theme-mode-toggle`,l].filter(Boolean).join(` `),style:u,"data-mode":d,title:`${s[d]} — click for ${s[p].toLowerCase()}`,"aria-label":`Theme mode: ${s[d]}`,onClick:()=>f(r,p),children:[c===`text`?null:(0,i.jsx)(`span`,{"aria-hidden":`true`,children:o[d]}),c===`icon`?null:(0,i.jsx)(`span`,{children:s[d]})]})}export{c as ThemeModeToggle,c as default};
@@ -1 +0,0 @@
1
- import{t as e}from"./jsx-runtime-BguD1OXD.js";import{n as t,t as n}from"./useStore-BQkzWMs-.js";import{r}from"./styles-yrzHRgom.js";import{w as i}from"./index-yhQX4tVS.js";var a=e();function o({themes:e,label:o=`Theme`,compact:s=!1,className:c,style:l}){let u=n(`$/ui/theme/id`)??`default`,d=t(),f=r(),p=e?e.map(e=>f.find(t=>t.id===e)).filter(e=>e!==void 0):f;return p.length<2?null:(0,a.jsxs)(`label`,{className:[`oo-theme-picker`,c].filter(Boolean).join(` `),style:l,title:o,children:[s?null:(0,a.jsx)(`span`,{className:`oo-theme-picker__label`,children:o}),(0,a.jsx)(`select`,{className:`oo-theme-picker__select`,value:u,"aria-label":o,onChange:e=>d(i,e.currentTarget.value),children:p.map(e=>(0,a.jsx)(`option`,{value:e.id,children:e.label},e.id))})]})}export{o as ThemePicker,o as default};
@@ -1 +0,0 @@
1
- import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{r as n}from"./colors-BieSUSt7.js";import{t as r}from"./ContextMenu-BV1gdog0.js";var i=t(),a=e();function o(e,t,n=0,r=null,i=[]){for(let a of e){let e=a.children!==void 0,s=e&&t.has(a.key);i.push({node:a,depth:n,hasChildren:e,expanded:s,parentKey:r}),s&&a.children&&o(a.children,t,n+1,a.key,i)}return i}function s({nodes:e,title:t,toolbar:n,selectedKey:s,onSelect:u,onActivate:d,expanded:f,defaultExpanded:p,onExpandedChange:m,renderItem:h,contextMenuSlot:g,contextFor:_,contextDataContext:v,contextExtraItems:y,onDragStart:b,onDragOver:x,onDragEnd:S,onDrop:C,onCopy:w,onPaste:T,emptyState:E,className:D,style:O}){let[k,A]=(0,i.useState)(()=>new Set(p??[])),j=f??k,M=(0,i.useCallback)(e=>{m&&m(e),f===void 0&&A(e)},[f,m]),N=(0,i.useMemo)(()=>o(e,j),[e,j]),[P,F]=(0,i.useState)(null),[I,L]=(0,i.useState)(null);function R(e,t){x?.(e,t),t.dropAccepting&&L(t.key)}function z(e,t){e.currentTarget.contains(e.relatedTarget)||L(e=>e===t.key?null:e)}function B(e,t){L(null),C?.(e,t)}let V=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(!s||!V.current)return;let e=V.current.querySelector(`[data-key="${l(s)}"]`);e&&e.scrollIntoView({block:`nearest`})},[s]);function H(e){let t=new Set(j);t.has(e)?t.delete(e):t.add(e),M(t)}let U=s?N.findIndex(e=>e.node.key===s):-1;function W(e){if(N.length===0)return;let t=U>=0?U:0,n=N[t];switch(e.key){case`ArrowDown`:{e.preventDefault();let n=N[Math.min(N.length-1,t+1)];n&&u?.(n.node);return}case`ArrowUp`:{e.preventDefault();let n=N[Math.max(0,t-1)];n&&u?.(n.node);return}case`ArrowRight`:if(e.preventDefault(),!n)return;if(n.hasChildren&&!n.expanded)H(n.node.key);else if(n.hasChildren&&n.expanded){let e=N[t+1];e&&u?.(e.node)}return;case`ArrowLeft`:if(e.preventDefault(),!n)return;if(n.hasChildren&&n.expanded)H(n.node.key);else if(n.parentKey){let e=N.find(e=>e.node.key===n.parentKey);e&&u?.(e.node)}return;case`Enter`:case` `:if(e.preventDefault(),!n)return;n.hasChildren?H(n.node.key):d?.(n.node);return}}function G(e,t){g&&(e.preventDefault(),e.stopPropagation(),u?.(t),F({x:e.clientX,y:e.clientY,node:t}))}function K(e){let t=s?N.find(e=>e.node.key===s)?.node??null:null;w?.(e,t)}function q(e){let t=s?N.find(e=>e.node.key===s)?.node??null:null;T?.(e,t)}return(0,a.jsxs)(`div`,{ref:V,role:`tree`,tabIndex:0,className:[`oo-tree`,D].filter(Boolean).join(` `),style:O,onKeyDown:W,onCopy:w?K:void 0,onPaste:T?q:void 0,onDragEnd:()=>L(null),children:[t||n?(0,a.jsxs)(`header`,{className:`oo-tree__header`,children:[t?(0,a.jsx)(`h2`,{className:`oo-tree__title`,children:t}):null,n]}):null,N.length===0?E==null?null:(0,a.jsx)(`div`,{className:`oo-tree__empty`,children:E}):(0,a.jsx)(`div`,{className:`oo-tree__rows`,role:`presentation`,children:N.map(e=>{let{node:t,depth:n,hasChildren:r,expanded:i}=e,o=t.key===s;return(0,a.jsxs)(`div`,{role:`treeitem`,"aria-level":n+1,"aria-expanded":r?i:void 0,"aria-selected":o,"data-key":t.key,"data-selected":o?`true`:void 0,"data-drag-over":t.key===I?`true`:void 0,tabIndex:-1,draggable:t.draggable??!1,className:`oo-tree__row ${t.draggable?`oo-draggable`:``}`,style:{paddingLeft:n*14+6},onClick:()=>u?.(t),onDoubleClick:()=>{r?H(t.key):d?.(t)},onContextMenu:e=>G(e,t),onDragStart:b?e=>b(e,t):void 0,onDragOver:x?e=>R(e,t):void 0,onDragLeave:x?e=>z(e,t):void 0,onDragEnd:S?e=>S(e,t):void 0,onDrop:C?e=>B(e,t):void 0,children:[r?(0,a.jsx)(`button`,{type:`button`,"aria-label":i?`Collapse`:`Expand`,className:`oo-tree__twisty`,"data-expanded":i?`true`:void 0,onClick:e=>{e.stopPropagation(),H(t.key)},children:`▸`}):(0,a.jsx)(`span`,{className:`oo-tree__twisty oo-tree__twisty--leaf`}),h?h(t,{selected:o,expanded:i,depth:n}):(0,a.jsx)(c,{node:t})]},t.key)})}),P&&g?(0,a.jsx)(r,{x:P.x,y:P.y,onClose:()=>F(null),spec:{query:{slot:g},extraItems:y?y(P.node):void 0,footerHints:!0},context:_?_(P.node):void 0,dataContext:v}):null]})}function c({node:e}){let t=e.color?{"--oo-color":n(e.color)}:void 0;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(`span`,{className:`oo-icon oo-tree__icon`,style:t,children:e.icon??`·`}),(0,a.jsx)(`span`,{className:`oo-tree__label`,children:e.label}),e.trailing?(0,a.jsx)(`span`,{className:`oo-tree__trailing`,children:e.trailing}):null]})}function l(e){return e.replace(/(["\\\]])/g,`\\$1`)}export{s as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./media-Coozt7AL.js";var n=e();function r({uri:e}){return(0,n.jsx)(t,{uri:e,children:e=>(0,n.jsx)(`video`,{className:`web-video`,src:e,controls:!0,preload:`metadata`})})}export{r as default};
@@ -1 +0,0 @@
1
- import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";var n=t(),r=e();function i({controls:e}){let[t,i]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{let t=!0,n=async()=>{let n=await e.isMaximized();t&&i(n)};n();let r=e.onResized(()=>void n());return()=>{t=!1,r()}},[e]),(0,r.jsxs)(`div`,{className:`embed-controls`,children:[(0,r.jsx)(`button`,{type:`button`,className:`embed-control`,title:`Minimize`,"aria-label":`Minimize`,onClick:()=>void e.minimize(),children:(0,r.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,"aria-hidden":`true`,children:(0,r.jsx)(`path`,{d:`M0 5.5h10`,stroke:`currentColor`})})}),(0,r.jsx)(`button`,{type:`button`,className:`embed-control`,title:t?`Restore`:`Maximize`,"aria-label":t?`Restore`:`Maximize`,onClick:()=>void e.toggleMaximize(),children:t?(0,r.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,"aria-hidden":`true`,children:(0,r.jsx)(`path`,{d:`M2.5 2.5V.5h7v7h-2M.5 2.5h7v7h-7z`,fill:`none`,stroke:`currentColor`})}):(0,r.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,"aria-hidden":`true`,children:(0,r.jsx)(`path`,{d:`M.5.5h9v9h-9z`,fill:`none`,stroke:`currentColor`})})}),(0,r.jsx)(`button`,{type:`button`,className:`embed-control embed-control--close`,title:`Close`,"aria-label":`Close`,onClick:()=>void e.close(),children:(0,r.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,"aria-hidden":`true`,children:(0,r.jsx)(`path`,{d:`M.5.5l9 9M9.5.5l-9 9`,stroke:`currentColor`})})})]})}export{i as default};
@@ -1 +0,0 @@
1
- import{l as e,r as t}from"./notify-BQ9fSOfy.js";import{d as n,j as r,v as i}from"./data-hUAVersf.js";import{a}from"./words-T8-D0K4W.js";import{g as o}from"./index-yhQX4tVS.js";function s(e){return r(`runAutomation`,{channel:n,automation:e.resource,requestId:`manual-${a()}`})}function c(e,t){i(n,{type:`automation/updateRequested`,resource:e.resource,changes:{enabled:t}})}async function l(t){await e({title:`Delete "${o(t)}"?`,body:`Its run history goes with it.`,confirmLabel:`Delete`,tone:`danger`})&&i(n,{type:`automation/removed`,resource:t.resource})}function u(e){i(e,{type:`automationRun/cancelRequested`})}var d=e=>t(`The automation could not run`,e);function f(e,t,n){let r=t=>e.operations.map(String).includes(t),i=[{title:`Open`,onSelect:e=>{e.closeMenu(),t()}}];return r(`run`)&&i.push({title:`Run now`,onSelect:t=>{t.closeMenu(),s(e).catch(d)}}),r(`update`)&&(i.push({title:e.definition.enabled?`Turn off`:`Turn on`,onSelect:t=>{t.closeMenu(),c(e,!e.definition.enabled)}}),i.push({title:`Edit`,onSelect:e=>{e.closeMenu(),n()}})),i.push({title:`Copy link`,group:`more`,onSelect:t=>{t.closeMenu(),navigator.clipboard?.writeText(e.resource).catch(()=>void 0)}}),r(`remove`)&&i.push({title:`Delete`,group:`more`,color:`red`,onSelect:t=>{t.closeMenu(),l(e)}}),i}export{c as a,s as i,f as n,l as r,u as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./react-CybPckBe.js";import{l as t}from"./notify-BQ9fSOfy.js";import{n}from"./ScenaProvider-6A3TJumQ.js";import{at as r,j as i,v as a}from"./data-hUAVersf.js";import{n as o,o as s}from"./words-T8-D0K4W.js";import{t as c}from"./emojis-7RT6GvLa.js";import{t as l}from"./channel-UD2KGCy_.js";var u=e();function d(e){return typeof e==`object`&&e?e:{}}function f(e,t){let n=d(e);return`ahpd.${t}`in n?n[`ahpd.${t}`]:n[t]}function p(e){return(e??[]).filter(e=>!e.uriTemplate.includes(`{`)).map(e=>({label:e.label,uri:e.uriTemplate,kind:String(e.changeKind),...e.description===void 0?{}:{description:e.description},review:e.capabilities?.review!==void 0}))}var m=e=>e[0];function h(e){let{before:t,after:n,diff:r}=e.edit,i=n?.uri??t?.uri??e.id,a=o(i),s=a.lastIndexOf(`/`);return{id:e.id,file:i,name:s<0?a:a.slice(s+1),dir:s<0?``:a.slice(0,s),status:t===void 0?`added`:n===void 0?`deleted`:`modified`,...r?.added===void 0?{}:{added:r.added},...r?.removed===void 0?{}:{removed:r.removed},reviewed:e.reviewed===!0,staged:f(e._meta,`staged`)===!0,unstaged:f(e._meta,`unstaged`)===!0,...t?.content.uri===void 0?{}:{before:t.content.uri},...n?.content.uri===void 0?{}:{after:n.content.uri}}}function g(e,t){if(t===null)return e;let n=o(t).replace(/\/+$/,``);return e===n?`.`:e.startsWith(`${n}/`)?e.slice(n.length+1):e}function _(e){return e.status===`added`?!e.staged&&e.unstaged?`U`:`A`:e.status===`deleted`?`D`:`M`}function v(e,t){return(t===`review`?[{key:`unreviewed`,label:`Not reviewed`,changes:e.filter(e=>!e.reviewed)},{key:`reviewed`,label:`Reviewed`,changes:e.filter(e=>e.reviewed)}]:t===`staging`?[{key:`staged`,label:`Staged`,changes:e.filter(e=>e.staged)},{key:`unstaged`,label:`Changes`,changes:e.filter(e=>!e.staged||e.unstaged)}]:[{key:`all`,label:`Changes`,changes:[...e]}]).filter(e=>e.changes.length>0)}function y(e,t){let n={path:``,name:``,folders:[],changes:[]};for(let r of e){let e=g(r.dir,t),i=n;for(let t of e===`.`?[]:e.split(`/`).filter(e=>e!==``)){let e=i.path===``?t:`${i.path}/${t}`,n=i.folders.find(t=>t.path===e);n===void 0&&(n={path:e,name:t,folders:[],changes:[]},i.folders.push(n)),i=n}i.changes.push(r)}let r=e=>{let t=e;for(;t.changes.length===0&&t.folders.length===1&&t.folders[0]!==void 0;){let e=t.folders[0];t={...e,name:`${t.name}/${e.name}`}}return{...t,folders:t.folders.map(r)}};return{...n,folders:n.folders.map(r)}}function b(e){return typeof e==`object`&&e?e:{}}function x(e){return typeof e==`string`&&e!==``?e:null}function S(e){let t=b(b(e).content);return{uri:x(t.uri),contentType:x(t.contentType)}}function C(e){if(!e.startsWith(`data:`))return null;let t=e.indexOf(`,`);if(t<0)return null;let n=e.slice(5,t).split(`;`),r=e.slice(t+1);try{let e=n.includes(`base64`)?new TextDecoder().decode(Uint8Array.from(atob(r.replace(/\s+/g,``)),e=>e.charCodeAt(0))):decodeURIComponent(r);return{contentType:n[0]===``?null:n[0]??null,text:e}}catch{return null}}var w={title:``,description:``,branchName:null,baseBranchName:null,repository:null,context:void 0};function T(e){if(b(e).external===!0)return null;let{uri:t,contentType:n}=S(e);if(t===null)return null;let r=C(t);if(r===null||n!==null&&!n.includes(`json`)&&r.contentType?.includes(`json`)!==!0)return null;let i;try{i=JSON.parse(r.text)}catch{return null}let a=b(i),o=x(a.title);return o===null||!(`context`in a)?null:{title:o,description:x(a.description)??x(a.body)??``,branchName:x(a.branchName),baseBranchName:x(a.baseBranchName),repository:x(a.repository),context:a.context}}function E(e){return b(e).external===!0?S(e).uri:null}function D(e,t){return{"vscode.pullRequest":{title:e.title,description:e.description,draft:t,...e.context===void 0?{}:{expectedContext:e.context}}}}function O(e){return{"ahpd.commit":{message:e}}}function k(e){return e.id===`commit`?`commit`:e.id===`create-pr`||e.id===`prepare-pull-request`?`pull-request`:null}var A=(e,t)=>e.scopes.map(String).includes(t),j={add:`+`,remove:`−`,discard:`↶`,check:c.check,trash:c.trash,"git-commit":c.commit,"git-pull-request":c.pullRequest,"git-pull-request-create":c.pullRequest};function M(e){let t=e.icon??``;return t===`git-commit`?`blue`:t.startsWith(`git-pull-request`)?`yellow`:e.confirmation===void 0?null:`red`}var N=e=>j[e.icon??``]??e.label.charAt(0);function P(e,t,n,r){e.commands.execute(`ahp.openDiff`,{file:t.file,...t.before===void 0?{}:{before:t.before},...t.after===void 0?{}:{after:t.after},...n===void 0?{}:{changeset:n,change:t.id,review:r}})}function F(e){let o=n(),c=l(e,r),[d,f]=(0,u.useState)(null),[p,m]=(0,u.useState)(null);(0,u.useEffect)(()=>{f(null),m(null)},[e]);let g=(0,u.useMemo)(()=>(c.state?.files??[]).map(h),[c.state?.files]),_=c.state?.operations??[],v=async(t,n,r)=>{if(e!==void 0){f(null);try{let a=await i(`invokeChangesetOperation`,{channel:e,operationId:t.id,...n===void 0?{}:{target:{kind:`resource`,resource:n.file}},...r===void 0?{}:{_meta:r}});return a?.message!==void 0&&f({tone:`info`,text:s(a.message)}),{followUp:a?.followUp}}catch(e){f({tone:`danger`,text:e instanceof Error?e.message:String(e)});return}}},y=e=>{let t=E(e);if(t!==null){window.open(t,`_blank`,`noopener`);return}let n=e?.content?.uri;typeof n==`string`&&!n.startsWith(`data:`)&&o.commands.execute(`ahp.openFile`,{uri:n})},b=async e=>{let t=_.find(e=>e.id===`create-pr`)??(e.id===`create-pr`?e:null),n=_.find(e=>e.id===`prepare-pull-request`)??(e.id===`prepare-pull-request`?e:null);if(m({kind:`pull-request`,create:t,draft:w,preparing:n!==null}),n===null)return;let r=await v(n);if(r===void 0){m(null);return}let i=T(r.followUp);f(null),m(e=>e?.kind===`pull-request`?{...e,preparing:!1,draft:i??e.draft}:e)};return{state:c.state,error:c.error,files:g,operations:_,said:d,form:p,run:async(n,r)=>{if(e===void 0)return;let i=r===void 0?k(n):null;if(i===`commit`){m({kind:`commit`,operation:n});return}let a=s(n.confirmation);if(a!==``&&!await t({title:a,confirmLabel:n.label,tone:`danger`}))return;if(i===`pull-request`){await b(n);return}let o=await v(n,r);o!==void 0&&y(o.followUp)},commit:e=>{if(p?.kind!==`commit`)return;let{operation:t}=p;m(null),v(t,void 0,O(e)).then(e=>{e!==void 0&&y(e.followUp)})},pullRequest:(e,t)=>{if(p?.kind!==`pull-request`||p.create===null)return;let{create:n}=p;m(null),v(n,void 0,D(e,t)).then(e=>{e!==void 0&&y(e.followUp)})},closeForm:()=>m(null),review:(t,n)=>{e!==void 0&&t.length>0&&a(e,{type:`changeset/filesReviewChanged`,files:t.map(e=>e.id),reviewed:n})}}}export{F as a,v as c,p as d,M as i,_ as l,P as n,m as o,A as r,y as s,N as t,g as u};
@@ -1 +0,0 @@
1
- import{t as e}from"./react-CybPckBe.js";import{t}from"./useStore-BQkzWMs-.js";import{b as n,h as r,m as i}from"./data-hUAVersf.js";var a=e();function o(e,o){(0,a.useEffect)(()=>e===void 0?void 0:n(e,o),[e,o]);let s=t(r(e??``)),c=t(i(e??``));return{state:e===void 0?void 0:s,error:c??null}}export{o as t};
@@ -1,2 +0,0 @@
1
- import{u as e}from"./useStore-BQkzWMs-.js";import"./data-hUAVersf.js";import{n as t}from"./words-T8-D0K4W.js";import{t as n}from"./emojis-7RT6GvLa.js";var r=e=>typeof e==`object`&&e?e:{},i=e=>typeof e==`string`?e:void 0;function a(e){let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return btoa(t)}function o(e,t,n){return{type:`embeddedResource`,label:e,data:t,contentType:n,displayKind:n.startsWith(`image/`)?`image`:`document`}}function s(e,n){let r=t(e).replace(/\/+$/,``);return{type:`resource`,label:r.slice(r.lastIndexOf(`/`)+1)||r,uri:e,displayKind:n?`directory`:`document`}}function c(e){return{type:`chat`,label:e.title===``?`Untitled`:e.title,resource:e.defaultChat}}async function l(e){let t=[],n=[];for(let r of e){if(r.size>5242880){n.push(r.name);continue}try{t.push(o(r.name,a(new Uint8Array(await r.arrayBuffer())),r.type||`application/octet-stream`))}catch{n.push(r.name)}}return{attached:t,refused:n}}function u(e){let t=r(e);return t.type===`chat`?n.sessions:t.displayKind===`directory`?n.folder:t.type===`embeddedResource`?n.attach:n.file}function d(e,t){let n=r(e);return{...n,_meta:{...r(n._meta),token:t}}}function f(e,t){let n=r(e),i=r(t);return n.type===i.type?typeof n.uri==`string`?n.uri===i.uri:typeof n.resource==`string`?n.resource===i.resource:n.label===i.label&&n.data===i.data:!1}var p=e=>i(r(e).label)??`Attachment`;function m(e,n){let a=i(r(e).uri);if(a===void 0)return;let o=t(a),s=n===void 0?void 0:t(n).replace(/\/+$/,``);return s!==void 0&&o.startsWith(`${s}/`)?o.slice(s.length+1):o}function h(e,t){let n=e.slice(0,t),r=n.match(/\r\n|\r|\n/g),i=Math.max(n.lastIndexOf(`
2
- `),n.lastIndexOf(`\r`))+1;return{line:r===null?0:r.length,character:t-i}}function g(e,t){return t.map(t=>{let n=r(t),{token:i,...a}=r(n._meta),{_meta:o,...s}=n,c={...s};if(Object.keys(a).length>0&&(c._meta=a),typeof i==`string`){delete c.range;let t=e.indexOf(i);t>=0&&(c.range={start:h(e,t),end:h(e,t+i.length)})}return c})}var _=`ahp:input/`,v=`ahp:new/`,y=e=>`$/ahp/composers/${encodeURIComponent(e)}`,b=new Map;function x(e,t){return b.set(e,t),()=>{b.get(e)===t&&b.delete(e)}}var S=e=>e.dataContext===void 0?void 0:b.get(e.dataContext),C=new Map;function w(e,t){let n=C.get(t.id);n===void 0?C.set(t.id,{count:1,registration:e.commands.register(t)}):n.count+=1;let r=!1;return{dispose(){if(r)return;r=!0;let e=C.get(t.id);e!==void 0&&(--e.count,!(e.count>0)&&(C.delete(t.id),e.registration.dispose()))}}}var T=e=>`/${e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``)}`;function E(e){if(e==null)return`default`;if(Array.isArray(e))return e.length===0?`none`:e.length<=2&&e.every(e=>typeof e==`string`)?e.join(`, `):`${e.length} items`;if(typeof e==`object`){let t=Object.entries(e).filter(([,e])=>e!==void 0&&!(Array.isArray(e)&&e.length===0));return t.length===0?`none`:t.map(([e,t])=>`${e} ${E(t)}`).join(`, `)}return String(e)}function D(e){let{schema:t,value:n}=e,r=n??t.default;if(t.type===`boolean`)return r===!0?`on`:`off`;let i=t.enum?.findIndex(e=>e===r)??-1;return i>=0?t.enumLabels?.[i]??String(r):E(r)}var O=e=>e.type===`boolean`||(e.enum?.length??0)>0,k=e=>O(e.schema)||D(e)!==`none`,A=e=>`ahp.composer.option.${e}`;function j(e,t){let n=T(t.title||e);return{id:A(e),title:t.title||e,...t.description===void 0?{}:{description:t.description},category:`Settings`,shortcut:n,slots:[_],run:t=>{let r=S(t),i=r?.options().find(t=>t.key===e);if(r===void 0||i===void 0)return;if(i.schema.type===`boolean`){r.setOption(e,!(i.value??i.schema.default??!1)),t.host?.closeMenu();return}let a=i.value??i.schema.default,o=(i.schema.enum??[]).map((t,n)=>({title:i.schema.enumLabels?.[n]??String(t),...i.schema.enumDescriptions?.[n]===void 0?{}:{description:i.schema.enumDescriptions[n]},active:t===a,onSelect:n=>{r.setOption(e,t),n.closeMenu()}}));t.host?.pushList({title:i.schema.title||e,items:o,sentinel:n})}}}function M(t,n){return e(...n.filter(e=>O(e.schema)).map(e=>w(t,j(e.key,e.schema))))}function N(t){return e(w(t,{id:`ahp.composer.model`,title:`Model`,description:`The model the next message is sent to`,category:`Settings`,shortcut:`/model`,slots:[_],disabled:e=>(S(e)?.models().length??0)===0,run:e=>{let t=S(e);if(t===void 0)return;let n=t.model(),r=e=>n=>{t.setModel(e),n.closeMenu()};e.host?.pushList({title:`Model`,sentinel:`/model`,items:[{title:`Agent default`,active:n===void 0,onSelect:r(void 0)},...t.models().map(e=>({title:e.name,description:e.id,active:e.id===n,onSelect:r(e.id)}))]})}}),w(t,{id:`ahp.composer.attach`,title:`Add context`,description:`Attach a file, a session, or a file from this computer`,category:`Session`,shortcut:`/attach`,slots:[_,v],run:e=>{let t=S(e);if(t===void 0)return;let r=e=>t=>{t.closeMenu(),e()},i=(e.store.get(`$/ahp/sessions`)??[]).filter(e=>e.resource!==t.session()&&e.defaultChat!==void 0);e.host?.pushList({title:`Add context`,sentinel:`/attach`,items:[{title:`${n.file} Files and folders`,description:`On the server's machine`,onSelect:r(()=>t.type(`@`))},{title:`${n.attach} Upload`,description:`From this computer, up to 5 MB each`,onSelect:r(()=>t.upload())},{title:`${n.sessions} Sessions`,description:i.length===0?`No other session`:`Another session's chat`,disabled:i.length===0,onSelect:e=>e.pushList({title:`Sessions`,items:i.map(e=>({title:e.title===``?`Untitled`:e.title,onSelect:r(()=>t.attach(c(e)))}))})},{title:`Commands`,description:`What the agent and this page can do`,onSelect:r(()=>t.type(`/`))}]})}}),w(t,{id:`ahp.composer.stop`,title:`Stop`,description:`Stop the turn that is running`,category:`Session`,shortcut:`/stop`,slots:[_],disabled:e=>S(e)?.running()!==!0,run:e=>{S(e)?.stop(),e.host?.closeMenu()}}),w(t,{id:`ahp.composer.new`,title:`New session`,description:`Start another session`,category:`Session`,shortcut:`/new`,slots:[_],run:e=>{e.host?.closeMenu(),e.scena.commands.execute(`ahp.newSession`)}}))}export{g as _,A as a,N as c,u as d,p as f,f as g,s as h,y as i,M as l,l as m,v as n,D as o,m as p,x as r,O as s,_ as t,k as u,d as v};
@@ -1,2 +0,0 @@
1
- import{t as e}from"./react-CybPckBe.js";var t=class{buffer=[];base=0;cursors=new Set;closed=!1;bufferLimit;constructor(e=4096){this.bufferLimit=e}get isClosed(){return this.closed}get hasReaders(){return this.cursors.size>0}publish(e){if(this.closed)return;if(this.buffer.push(e),this.buffer.length>this.bufferLimit){let e=this.buffer.length-this.bufferLimit;this.buffer.splice(0,e),this.base+=e;for(let e of this.cursors)e.position<this.base&&(e.position=this.base)}let t=this.base+this.buffer.length-1;for(let e of this.cursors)if(e.waiter&&e.position<=t){let t=e.position-this.base,n=this.buffer[t];e.position+=1;let r=e.waiter;e.waiter=null,r.resolve({value:n,done:!1})}this.trim()}close(){if(!this.closed){this.closed=!0;for(let e of this.cursors)if(e.waiter&&e.position-this.base>=this.buffer.length){let t=e.waiter;e.waiter=null,t.resolve({value:void 0,done:!0})}}}reader(){let e={position:this.base+this.buffer.length,waiter:null,detached:this.closed};this.closed||this.cursors.add(e);let t=this,n=()=>{e.detached||(e.detached=!0,t.cursors.delete(e),t.trim())};return{[Symbol.asyncIterator](){return this},next(){if(e.detached)return Promise.resolve({value:void 0,done:!0});let n=e.position-t.base;if(n>=0&&n<t.buffer.length){let r=t.buffer[n];return e.position+=1,t.trim(),Promise.resolve({value:r,done:!1})}return t.closed?Promise.resolve({value:void 0,done:!0}):new Promise(t=>{e.waiter={resolve:t}})},return(){return n(),Promise.resolve({value:void 0,done:!0})}}}[Symbol.asyncIterator](){return this.reader()}trim(){if(this.cursors.size===0){let e=this.buffer.length;e>0&&(this.buffer=[],this.base+=e);return}let e=1/0;for(let t of this.cursors)t.position<e&&(e=t.position);let t=e-this.base;t>0&&(this.buffer.splice(0,t),this.base+=t)}},n=class extends Error{constructor(e,t){super(e,t),this.name=`AhpClientError`}},r=class extends n{code;data;constructor(e,t,n){super(`RPC error ${e}: ${t}`),this.name=`RpcError`,this.code=e,this.data=n}},i=class extends n{method;timeoutMs;constructor(e,t){super(`Request "${e}" timed out after ${t}ms`),this.name=`RpcTimeoutError`,this.method=e,this.timeoutMs=t}},a=class extends n{kind;constructor(e,t,n){super(t,n),this.name=`TransportError`,this.kind=e}},o=class extends n{constructor(e=`client shut down`){super(e),this.name=`ClientClosedError`}};function s(e,t){let n=Math.max(1,Math.floor(t));switch(e.kind){case`immediate`:return 0;case`constant`:return Math.max(0,e.delayMs);case`exponential`:{let t=Math.max(1,e.multiplier),r=n-1,i=e.initialMs*t**+r;return Math.min(Math.max(0,i),e.maxMs)}}}function c(e,t,n){let r=s(e.backoff,t);if(e.jitter<=0||r===0)return r;let i=Math.min(1,Math.max(0,e.jitter)),a=1+(Math.min(1,Math.max(0,n))*2-1)*i;return Math.max(0,r*a)}function l(e,t){return e.maxAttempts!==null&&t>e.maxAttempts}function u(){return{backoff:{kind:`exponential`,initialMs:250,maxMs:3e4,multiplier:2},jitter:.25,maxAttempts:null,resetOnSuccess:!0}}function d(){return u()}var f=`ahp-root://`;function p(e){return{id:e.id,label:e.label,clientId:e.clientId??null,initialSubscriptions:e.initialSubscriptions?[...e.initialSubscriptions]:[f],clientConfig:e.clientConfig??{},transportFactory:e.transportFactory,reconnectPolicy:e.reconnectPolicy??d()}}function m(e,t){return{hostId:e,channel:t.channel,event:t.event}}var h=class extends n{constructor(e,t){super(e,t),this.name=`HostMultiError`}},g=class extends h{hostId;constructor(e){super(`no host registered with id "${e}"`),this.name=`UnknownHostError`,this.hostId=e}},_=class extends h{hostId;constructor(e){super(`a host with id "${e}" is already registered`),this.name=`DuplicateHostError`,this.hostId=e}},v=class extends h{hostId;handleGeneration;currentGeneration;constructor(e,t,n){super(`host "${e}" reconnected (generation ${t} -> ${n}); request a fresh client handle`),this.name=`HostReconnectedError`,this.hostId=e,this.handleGeneration=t,this.currentGeneration=n}},y=class extends h{hostId;constructor(e){super(`host "${e}" runtime is no longer active`),this.name=`HostShutDownError`,this.hostId=e}},ee=class extends h{hostId;constructor(e){super(`host "${e}" is not currently connected`),this.name=`HostNotConnectedError`,this.hostId=e}},te=class extends h{hostId;constructor(e,t,n){super(`client id store error for host "${e}": ${t}`,n),this.name=`ClientIdStoreError`,this.hostId=e}};function ne(){let e=globalThis.crypto;if(e&&typeof e.randomUUID==`function`)return e.randomUUID();let t=new Uint8Array(16);if(e&&typeof e.getRandomValues==`function`)e.getRandomValues(t);else for(let e=0;e<16;e++)t[e]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``);return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`}var re=class{hostId;generation;source;client;constructor(e,t,n){this.source=e,this.hostId=e.hostId,this.generation=t,this.client=n}checkAlive(){if(this.source.shutdownReason!==null)throw new y(this.hostId);if(this.source.generation!==this.generation)throw new v(this.hostId,this.generation,this.source.generation)}dispatch(e,t,n){return this.checkAlive(),this.client.dispatch(e,t,n)}async request(e,t){return this.checkAlive(),this.client.request(e,t)}rawClient(){return this.checkAlive(),this.client}},ie;(function(e){e.Replay=`replay`,e.Snapshot=`snapshot`})(ie||={});var ae;(function(e){e.Base64=`base64`,e.Utf8=`utf-8`})(ae||={});var oe;(function(e){e.Truncate=`truncate`,e.Append=`append`,e.Insert=`insert`})(oe||={});var se;(function(e){e.File=`file`,e.Directory=`directory`,e.Symlink=`symlink`})(se||={});var b;(function(e){e.RootAgentsChanged=`root/agentsChanged`,e.RootActiveSessionsChanged=`root/activeSessionsChanged`,e.SessionReady=`session/ready`,e.SessionCreationFailed=`session/creationFailed`,e.SessionChatAdded=`session/chatAdded`,e.SessionChatRemoved=`session/chatRemoved`,e.SessionChatUpdated=`session/chatUpdated`,e.SessionChatsReordered=`session/chatsReordered`,e.SessionDefaultChatChanged=`session/defaultChatChanged`,e.ChatTurnStarted=`chat/turnStarted`,e.ChatDelta=`chat/delta`,e.ChatResponsePart=`chat/responsePart`,e.ChatToolCallStart=`chat/toolCallStart`,e.ChatToolCallDelta=`chat/toolCallDelta`,e.ChatToolCallReady=`chat/toolCallReady`,e.ChatToolCallConfirmed=`chat/toolCallConfirmed`,e.ChatToolCallComplete=`chat/toolCallComplete`,e.ChatToolCallResultConfirmed=`chat/toolCallResultConfirmed`,e.ChatToolCallContentChanged=`chat/toolCallContentChanged`,e.ChatToolCallAuthRequired=`chat/toolCallAuthRequired`,e.ChatToolCallAuthResolved=`chat/toolCallAuthResolved`,e.ChatTurnComplete=`chat/turnComplete`,e.ChatTurnCancelled=`chat/turnCancelled`,e.ChatError=`chat/error`,e.ChatTurnResume=`chat/turnResume`,e.ChatActivityChanged=`chat/activityChanged`,e.ChatBackgroundWorkSet=`chat/backgroundWorkSet`,e.ChatBackgroundWorkRemoved=`chat/backgroundWorkRemoved`,e.ChatMovableChanged=`chat/movableChanged`,e.ChatChangesetsChanged=`chat/changesetsChanged`,e.ChatCanvasesChanged=`chat/canvasesChanged`,e.CanvasStateChanged=`canvas/stateChanged`,e.ChatWorkingDirectorySet=`chat/workingDirectorySet`,e.ChatWorkingDirectoryRemoved=`chat/workingDirectoryRemoved`,e.SessionTitleChanged=`session/titleChanged`,e.ChatUsage=`chat/usage`,e.ChatReasoning=`chat/reasoning`,e.SessionServerToolsChanged=`session/serverToolsChanged`,e.SessionActiveClientSet=`session/activeClientSet`,e.SessionActiveClientRemoved=`session/activeClientRemoved`,e.SessionWorkingDirectorySet=`session/workingDirectorySet`,e.SessionWorkingDirectoryRemoved=`session/workingDirectoryRemoved`,e.SessionWorkingDirectoryReplaced=`session/workingDirectoryReplaced`,e.SessionInputNeededSet=`session/inputNeededSet`,e.SessionInputNeededRemoved=`session/inputNeededRemoved`,e.ChatPendingMessageSet=`chat/pendingMessageSet`,e.ChatPendingMessageRemoved=`chat/pendingMessageRemoved`,e.ChatQueuedMessagesReordered=`chat/queuedMessagesReordered`,e.ChatDraftChanged=`chat/draftChanged`,e.ChatIsReadChanged=`chat/isReadChanged`,e.ChatIsArchivedChanged=`chat/isArchivedChanged`,e.ChatInputRequested=`chat/inputRequested`,e.ChatInputAnswerChanged=`chat/inputAnswerChanged`,e.ChatInputCompleted=`chat/inputCompleted`,e.SessionCustomizationsChanged=`session/customizationsChanged`,e.SessionCustomizationToggled=`session/customizationToggled`,e.SessionCustomizationUpdated=`session/customizationUpdated`,e.SessionCustomizationRemoved=`session/customizationRemoved`,e.SessionMcpServerStateChanged=`session/mcpServerStateChanged`,e.SessionMcpServerStartRequested=`session/mcpServerStartRequested`,e.SessionMcpServerStopRequested=`session/mcpServerStopRequested`,e.SessionMcpServerBackgroundRequested=`session/mcpServerBackgroundRequested`,e.ChatTruncated=`chat/truncated`,e.ChatTurnsLoaded=`chat/turnsLoaded`,e.SessionIsReadChanged=`session/isReadChanged`,e.SessionIsArchivedChanged=`session/isArchivedChanged`,e.SessionActivityChanged=`session/activityChanged`,e.SessionChangesetsChanged=`session/changesetsChanged`,e.SessionConfigChanged=`session/configChanged`,e.SessionMetaChanged=`session/metaChanged`,e.ChangesetStatusChanged=`changeset/statusChanged`,e.ChangesetFileSet=`changeset/fileSet`,e.ChangesetFileRemoved=`changeset/fileRemoved`,e.ChangesetFilesReviewChanged=`changeset/filesReviewChanged`,e.ChangesetContentChanged=`changeset/contentChanged`,e.ChangesetOperationsChanged=`changeset/operationsChanged`,e.ChangesetOperationStatusChanged=`changeset/operationStatusChanged`,e.ChangesetCleared=`changeset/cleared`,e.AnnotationsSet=`annotations/set`,e.AnnotationsUpdated=`annotations/updated`,e.AnnotationsRemoved=`annotations/removed`,e.AnnotationsEntrySet=`annotations/entrySet`,e.AnnotationsEntryRemoved=`annotations/entryRemoved`,e.RootTerminalsChanged=`root/terminalsChanged`,e.RootConfigChanged=`root/configChanged`,e.TerminalData=`terminal/data`,e.TerminalInput=`terminal/input`,e.TerminalResized=`terminal/resized`,e.TerminalClaimed=`terminal/claimed`,e.TerminalTitleChanged=`terminal/titleChanged`,e.TerminalCwdChanged=`terminal/cwdChanged`,e.TerminalExited=`terminal/exited`,e.TerminalCleared=`terminal/cleared`,e.TerminalCommandDetectionAvailable=`terminal/commandDetectionAvailable`,e.TerminalCommandExecuted=`terminal/commandExecuted`,e.TerminalCommandFinished=`terminal/commandFinished`,e.ResourceWatchChanged=`resourceWatch/changed`,e.AutomationCreateRequested=`automation/createRequested`,e.AutomationUpdateRequested=`automation/updateRequested`,e.AutomationSet=`automation/set`,e.AutomationRemoved=`automation/removed`,e.AutomationRunLifecycleChanged=`automationRun/lifecycleChanged`,e.AutomationRunSessionSet=`automationRun/sessionSet`,e.AutomationRunSessionRemoved=`automationRun/sessionRemoved`,e.AutomationRunPrimarySessionChanged=`automationRun/primarySessionChanged`,e.AutomationRunCancelRequested=`automationRun/cancelRequested`})(b||={});var ce=`1.0.0`,le=Object.freeze([`1.0.0`,`0.9.0`]);b.RootAgentsChanged,b.RootActiveSessionsChanged,b.SessionReady,b.SessionCreationFailed,b.SessionChatAdded,b.SessionChatRemoved,b.SessionChatUpdated,b.SessionChatsReordered,b.SessionDefaultChatChanged,b.SessionTitleChanged,b.SessionServerToolsChanged,b.SessionActiveClientSet,b.SessionActiveClientRemoved,b.SessionWorkingDirectorySet,b.SessionWorkingDirectoryRemoved,b.SessionWorkingDirectoryReplaced,b.SessionInputNeededSet,b.SessionInputNeededRemoved,b.SessionCustomizationsChanged,b.SessionCustomizationToggled,b.SessionCustomizationUpdated,b.SessionCustomizationRemoved,b.SessionMcpServerStateChanged,b.SessionMcpServerStartRequested,b.SessionMcpServerStopRequested,b.SessionMcpServerBackgroundRequested,b.SessionIsReadChanged,b.SessionIsArchivedChanged,b.SessionActivityChanged,b.SessionChangesetsChanged,b.SessionConfigChanged,b.SessionMetaChanged,b.ChatTurnStarted,b.ChatDelta,b.ChatResponsePart,b.ChatToolCallStart,b.ChatToolCallDelta,b.ChatToolCallReady,b.ChatToolCallConfirmed,b.ChatToolCallComplete,b.ChatToolCallResultConfirmed,b.ChatToolCallContentChanged,b.ChatToolCallAuthRequired,b.ChatToolCallAuthResolved,b.ChatTurnComplete,b.ChatTurnCancelled,b.ChatError,b.ChatTurnResume,b.ChatActivityChanged,b.ChatBackgroundWorkSet,b.ChatBackgroundWorkRemoved,b.ChatMovableChanged,b.ChatChangesetsChanged,b.ChatCanvasesChanged,b.CanvasStateChanged,b.ChatWorkingDirectorySet,b.ChatWorkingDirectoryRemoved,b.ChatUsage,b.ChatReasoning,b.ChatPendingMessageSet,b.ChatPendingMessageRemoved,b.ChatQueuedMessagesReordered,b.ChatDraftChanged,b.ChatIsReadChanged,b.ChatIsArchivedChanged,b.ChatInputRequested,b.ChatInputAnswerChanged,b.ChatInputCompleted,b.ChatTruncated,b.ChatTurnsLoaded,b.ChangesetStatusChanged,b.ChangesetFileSet,b.ChangesetFileRemoved,b.ChangesetFilesReviewChanged,b.ChangesetContentChanged,b.ChangesetOperationsChanged,b.ChangesetOperationStatusChanged,b.ChangesetCleared,b.AnnotationsSet,b.AnnotationsUpdated,b.AnnotationsRemoved,b.AnnotationsEntrySet,b.AnnotationsEntryRemoved,b.RootTerminalsChanged,b.RootConfigChanged,b.TerminalData,b.TerminalInput,b.TerminalResized,b.TerminalClaimed,b.TerminalTitleChanged,b.TerminalCwdChanged,b.TerminalExited,b.TerminalCleared,b.TerminalCommandDetectionAvailable,b.TerminalCommandExecuted,b.TerminalCommandFinished,b.ResourceWatchChanged,b.AutomationCreateRequested,b.AutomationUpdateRequested,b.AutomationSet,b.AutomationRemoved,b.AutomationRunLifecycleChanged,b.AutomationRunSessionSet,b.AutomationRunSessionRemoved,b.AutomationRunPrimarySessionChanged,b.AutomationRunCancelRequested;var ue={ParseError:-32700,InvalidRequest:-32600,MethodNotFound:-32601,InvalidParams:-32602,InternalError:-32603},de={SessionNotFound:-32001,ProviderNotFound:-32002,SessionAlreadyExists:-32003,TurnInProgress:-32004,UnsupportedProtocolVersion:-32005,AuthRequired:-32007,NotFound:-32008,PermissionDenied:-32009,AlreadyExists:-32010,Conflict:-32011};function fe(e){return JSON.stringify(e)}function pe(e){try{return JSON.parse(e)}catch(e){throw new a(`protocol`,`invalid JSON: ${e.message}`,{cause:e})}}var me=3e4,he=4096;function ge(){}var _e=class{uri;inner;constructor(e,t){this.uri=e,this.inner=t}next(){return this.inner.next()}return(){return this.inner.return?this.inner.return():Promise.resolve({value:void 0,done:!0})}[Symbol.asyncIterator](){return this}async close(){await this.return()}};function ve(e){return(async(t,n)=>{let i=e[t];if(!i)throw new r(ue.MethodNotFound,`no handler for server method "${t}"`);return i(n)})}var ye=class{transport;requestTimeoutMs;subscriptionBuffer;pending=new Map;subscriptions=new Map;allEvents=new t;stateQueue=new t;nextRequestId=1;nextClientSeq=1;state={status:`idle`};receiveLoop=null;serverRequestHandler=null;constructor(e,t={}){this.transport=e;let n=t.requestTimeoutMs??me;this.requestTimeoutMs=n>0?n:0;let r=t.subscriptionBuffer??he;this.subscriptionBuffer=r>=1?Math.floor(r):1}get connectionState(){return this.state}stateChanges(){return this.stateQueue.reader()}events(){return this.allEvents.reader()}setServerRequestHandler(e){this.serverRequestHandler=e}setResourceRequestHandlers(e){this.setServerRequestHandler(e?ve(e):null)}connect(){this.receiveLoop||=(this.setState({status:`connected`}),this.driveTransport())}async shutdown(){if(this.state.status!==`closing`&&this.state.status!==`closed`){this.setState({status:`closing`}),this.tearDown({type:`shutdown`});try{await this.transport.close()}catch{}if(this.receiveLoop)try{await this.receiveLoop}catch{}}}async initialize(e){let t={channel:`ahp-root://`,clientId:e.clientId,protocolVersions:[...e.protocolVersions],...e.initialSubscriptions&&e.initialSubscriptions.length>0?{initialSubscriptions:[...e.initialSubscriptions]}:{},...e.locale===void 0?{}:{locale:e.locale}};return this.request(`initialize`,t)}async reconnect(e){let t={channel:`ahp-root://`,clientId:e.clientId,lastSeenServerSeq:e.lastSeenServerSeq,subscriptions:[...e.subscriptions]};return this.request(`reconnect`,t)}async subscribe(e,t={}){let n=this.attachSubscription(e);try{let r={channel:e,...t.delivery?{delivery:t.delivery}:{},...t.view?{view:t.view}:{}};return{result:await this.request(`subscribe`,r),subscription:n}}catch(e){throw await n.close(),e}}attachSubscription(e){this.assertOpen();let n=this.subscriptions.get(e);return n||(n=new t(this.subscriptionBuffer),this.subscriptions.set(e,n)),new _e(e,n.reader())}async unsubscribe(e){if(this.isClosed())return;let t=this.subscriptions.get(e);t&&(this.subscriptions.delete(e),t.close());let n={channel:e};return this.notify(`unsubscribe`,n),Promise.resolve()}dispatch(e,t,n){this.assertOpen();let r=n??this.nextClientSeq;(n===void 0||r+1>this.nextClientSeq)&&(this.nextClientSeq=r+1);let i={channel:e,clientSeq:r,action:t};return this.notify(`dispatchAction`,i),{clientSeq:r}}async ping(){await this.request(`ping`,{channel:`ahp-root://`})}async resourceRead(e){return this.request(`resourceRead`,{...e,channel:`ahp-root://`})}async resourceWrite(e){return this.request(`resourceWrite`,{...e,channel:`ahp-root://`})}async resourceList(e){return this.request(`resourceList`,{...e,channel:`ahp-root://`})}async resourceCopy(e){return this.request(`resourceCopy`,{...e,channel:`ahp-root://`})}async resourceDelete(e){return this.request(`resourceDelete`,{...e,channel:`ahp-root://`})}async resourceMove(e){return this.request(`resourceMove`,{...e,channel:`ahp-root://`})}async resourceResolve(e){return this.request(`resourceResolve`,{...e,channel:`ahp-root://`})}async resourceMkdir(e){return this.request(`resourceMkdir`,{...e,channel:`ahp-root://`})}async resourceRequest(e){return this.request(`resourceRequest`,{...e,channel:`ahp-root://`})}async createResourceWatch(e){return this.request(`createResourceWatch`,{...e,channel:`ahp-root://`})}async completions(e){return this.request(`completions`,e)}async sessionConfigCompletions(e){return this.request(`sessionConfigCompletions`,{...e,channel:`ahp-root://`})}async request(e,t){this.assertOpen();let n=this.nextRequestId++,r={jsonrpc:`2.0`,id:n,method:e,params:t};return new Promise((t,a)=>{let o={resolve:e=>t(e),reject:a,method:e,timer:null};this.pending.set(n,o),this.requestTimeoutMs>0&&(o.timer=setTimeout(()=>{this.pending.delete(n)&&a(new i(e,this.requestTimeoutMs))},this.requestTimeoutMs)),this.sendMessage(r).catch(e=>{this.pending.delete(n)&&(o.timer&&clearTimeout(o.timer),a(e))})})}notify(e,t){this.assertOpen();let n={jsonrpc:`2.0`,method:e,params:t};this.sendMessage(n).catch(ge)}isClosed(){return this.state.status===`closing`||this.state.status===`closed`}assertOpen(){if(this.isClosed())throw new o}async sendMessage(e){try{await this.transport.send(e)}catch(e){let t=e instanceof a?e:new a(`io`,`transport send failed: ${e.message}`,{cause:e});throw this.tearDown({type:`transport`,error:t}),t}}setState(e){this.state=e,this.stateQueue.publish(e)}tearDown(e){if(this.state.status===`closed`)return;this.setState({status:`closed`,reason:e});let t=e.type===`shutdown`?new o:e.error;for(let[e,n]of this.pending){n.timer&&clearTimeout(n.timer);try{n.reject(t)}catch{}this.pending.delete(e)}for(let e of this.subscriptions.values())e.close();this.subscriptions.clear(),this.allEvents.close(),this.stateQueue.close()}async driveTransport(){try{for(;this.state.status===`connected`;){let e=await this.transport.recv();if(e===null){this.tearDown({type:`transport`,error:new a(`closed`,`transport closed`)});return}this.handleFrame(e)}}catch(e){let t=e instanceof a?e:new a(`io`,`transport recv failed: ${e.message}`,{cause:e});this.tearDown({type:`transport`,error:t})}}handleFrame(e){let t;try{switch(e.kind){case`parsed`:t=e.message;break;case`text`:t=pe(e.text);break;case`binary`:t=pe(new TextDecoder(`utf-8`).decode(e.data))}}catch(e){console.warn(`AhpClient: malformed inbound frame: ${e.message}`);return}this.dispatchInbound(t)}dispatchInbound(e){if(`id`in e&&`result`in e){let t=e,n=this.pending.get(t.id);n&&(this.pending.delete(t.id),n.timer&&clearTimeout(n.timer),n.resolve(t.result));return}if(`id`in e&&`error`in e){let t=e,n=this.pending.get(t.id);n&&(this.pending.delete(t.id),n.timer&&clearTimeout(n.timer),n.reject(new r(t.error.code,t.error.message,t.error.data)));return}if(`id`in e&&`method`in e){this.handleServerRequest(e);return}if(`method`in e){this.handleNotification(e);return}}async handleServerRequest(e){if(this.serverRequestHandler){try{let t=this.serverRequestHandler,n=await t(e.method,e.params),r={jsonrpc:`2.0`,id:e.id,result:n};this.sendMessage(r).catch(ge)}catch(t){let n=t instanceof r?t.code:ue.InternalError,i=t instanceof Error?t.message:String(t),a=t instanceof r?t.data:void 0,o={jsonrpc:`2.0`,id:e.id,error:a===void 0?{code:n,message:i}:{code:n,message:i,data:a}};this.sendMessage(o).catch(ge)}return}let t={jsonrpc:`2.0`,id:e.id,error:{code:ue.MethodNotFound,message:`no handler for server method "${e.method}"`}};this.sendMessage(t).catch(ge)}handleNotification(e){switch((e.params??{}).channel,e.method){case`action`:{let t=e.params;this.fanOut(t.channel,{type:`action`,params:t});break}case`root/sessionAdded`:{let t=e.params;this.fanOut(t.channel,{type:`sessionAdded`,params:t});break}case`root/sessionRemoved`:{let t=e.params;this.fanOut(t.channel,{type:`sessionRemoved`,params:t});break}case`root/sessionSummaryChanged`:{let t=e.params;this.fanOut(t.channel,{type:`sessionSummaryChanged`,params:t});break}case`auth/required`:{let t=e.params;this.fanOut(t.channel,{type:`authRequired`,params:t});break}}}fanOut(e,t){let n=this.subscriptions.get(e);n&&n.publish(t),this.allEvents.publish({channel:e,event:t})}};b.RootAgentsChanged,b.RootActiveSessionsChanged,b.RootTerminalsChanged,b.RootConfigChanged,b.SessionReady,b.SessionCreationFailed,b.SessionChatAdded,b.SessionChatRemoved,b.SessionChatUpdated,b.SessionChatsReordered,b.SessionDefaultChatChanged,b.SessionTitleChanged,b.SessionServerToolsChanged,b.SessionActiveClientSet,b.SessionActiveClientRemoved,b.SessionWorkingDirectorySet,b.SessionWorkingDirectoryRemoved,b.SessionWorkingDirectoryReplaced,b.SessionInputNeededSet,b.SessionInputNeededRemoved,b.SessionCustomizationsChanged,b.SessionCustomizationToggled,b.SessionCustomizationUpdated,b.SessionCustomizationRemoved,b.SessionMcpServerStateChanged,b.SessionMcpServerStartRequested,b.SessionMcpServerStopRequested,b.SessionMcpServerBackgroundRequested,b.SessionIsReadChanged,b.SessionIsArchivedChanged,b.SessionActivityChanged,b.SessionChangesetsChanged,b.SessionConfigChanged,b.SessionMetaChanged,b.ChatTurnStarted,b.ChatDelta,b.ChatResponsePart,b.ChatToolCallStart,b.ChatToolCallDelta,b.ChatToolCallReady,b.ChatToolCallConfirmed,b.ChatToolCallComplete,b.ChatToolCallResultConfirmed,b.ChatToolCallContentChanged,b.ChatToolCallAuthRequired,b.ChatToolCallAuthResolved,b.ChatTurnComplete,b.ChatTurnCancelled,b.ChatError,b.ChatTurnResume,b.ChatActivityChanged,b.ChatBackgroundWorkSet,b.ChatBackgroundWorkRemoved,b.ChatMovableChanged,b.ChatChangesetsChanged,b.ChatCanvasesChanged,b.CanvasStateChanged,b.ChatWorkingDirectorySet,b.ChatWorkingDirectoryRemoved,b.ChatUsage,b.ChatReasoning,b.ChatPendingMessageSet,b.ChatPendingMessageRemoved,b.ChatQueuedMessagesReordered,b.ChatDraftChanged,b.ChatIsReadChanged,b.ChatIsArchivedChanged,b.ChatInputRequested,b.ChatInputAnswerChanged,b.ChatInputCompleted,b.ChatTruncated,b.ChatTurnsLoaded,b.ChangesetStatusChanged,b.ChangesetFileSet,b.ChangesetFileRemoved,b.ChangesetFilesReviewChanged,b.ChangesetContentChanged,b.ChangesetOperationsChanged,b.ChangesetOperationStatusChanged,b.ChangesetCleared,b.AnnotationsSet,b.AnnotationsUpdated,b.AnnotationsRemoved,b.AnnotationsEntrySet,b.AnnotationsEntryRemoved,b.TerminalData,b.TerminalInput,b.TerminalResized,b.TerminalClaimed,b.TerminalTitleChanged,b.TerminalCwdChanged,b.TerminalExited,b.TerminalCleared,b.TerminalCommandDetectionAvailable,b.TerminalCommandExecuted,b.TerminalCommandFinished,b.ResourceWatchChanged,b.AutomationCreateRequested,b.AutomationUpdateRequested,b.AutomationSet,b.AutomationRemoved,b.AutomationRunLifecycleChanged,b.AutomationRunSessionSet,b.AutomationRunSessionRemoved,b.AutomationRunPrimarySessionChanged,b.AutomationRunCancelRequested;function x(e,t){let n=`Unhandled action type: ${JSON.stringify(e)}`;(t??console.warn)(n)}function be(e,t,n){switch(t.type){case b.RootAgentsChanged:return{...e,agents:t.agents};case b.RootActiveSessionsChanged:return{...e,activeSessions:t.activeSessions};case b.RootTerminalsChanged:return{...e,terminals:t.terminals};case b.RootConfigChanged:return e.config?{...e,config:{...e.config,values:t.replace?{...t.config}:{...e.config.values,...t.config}}}:e;default:return x(t,n),e}}function xe(e,t){return{id:e.id,label:e.label,clientId:t,state:{status:`disconnected`},lastError:null,lastConnectedAt:null,protocolVersion:null,serverSeq:0,defaultDirectory:null,automations:null,rootState:{agents:[]},subscriptions:[...e.initialSubscriptions],completionTriggerCharacters:[],sessionSummaries:new Map,generation:0,currentClient:null,shutdownReason:null}}function Se(e){return{id:e.id,label:e.label,clientId:e.clientId,state:e.state,lastError:e.lastError,lastConnectedAt:e.lastConnectedAt,protocolVersion:e.protocolVersion,serverSeq:e.serverSeq,defaultDirectory:e.defaultDirectory,automations:e.automations,agents:[...e.rootState.agents],activeSessions:e.rootState.activeSessions??null,terminals:e.rootState.terminals?[...e.rootState.terminals]:null,subscriptions:[...e.subscriptions],completionTriggerCharacters:[...e.completionTriggerCharacters],sessionSummaries:Array.from(e.sessionSummaries.values()),generation:e.generation}}var S=Symbol(`aborted`);function C(e,t){return e.then(void 0,()=>void 0),t.aborted?Promise.resolve(S):new Promise((n,r)=>{let i=()=>{t.removeEventListener(`abort`,i),n(S)};t.addEventListener(`abort`,i,{once:!0}),e.then(e=>{t.removeEventListener(`abort`,i),n(e)},e=>{t.removeEventListener(`abort`,i),r(e)})})}function Ce(e,...t){return e<=0?Promise.resolve(!0):t.some(e=>e.aborted)?Promise.resolve(!1):new Promise(n=>{let r=[],i=setTimeout(()=>{for(let e of r)e();n(!0)},e);for(let e of t){let t=()=>{clearTimeout(i);for(let e of r)e();n(!1)};e.addEventListener(`abort`,t,{once:!0}),r.push(()=>e.removeEventListener(`abort`,t))}})}function we(...e){return e.some(e=>e.aborted)?Promise.resolve():new Promise(t=>{let n=[];for(let r of e){let e=()=>{for(let e of n)e();t()};r.addEventListener(`abort`,e,{once:!0}),n.push(()=>r.removeEventListener(`abort`,e))}})}function Te(...e){let t=new AbortController;if(e.some(e=>e.aborted))return t.abort(),{signal:t.signal,dispose:()=>void 0};let n=[],r=()=>{for(let e of n)e();n.length=0,t.abort()};for(let t of e)t.addEventListener(`abort`,r,{once:!0}),n.push(()=>t.removeEventListener(`abort`,r));return{signal:t.signal,dispose:()=>{for(let e of n)e();n.length=0}}}var Ee={agents:[]},De=class{config;shared;handleSource;fanOut;hostEvents;shutdownController=new AbortController;manualReconnectController=new AbortController;supervisorPromise=null;reconnectAck=null;constructor(e,t,n,r){this.config=e,this.fanOut=n,this.hostEvents=r,this.shared=xe(e,t),this.handleSource={hostId:this.shared.id,generation:this.shared.generation,currentClient:this.shared.currentClient,shutdownReason:this.shared.shutdownReason}}start(){this.supervisorPromise===null&&(this.hostEvents.publish({type:`added`,hostId:this.shared.id}),this.supervisorPromise=this.runSupervisor().catch(e=>{console.error(`HostRuntime[${this.shared.id}] supervisor crashed:`,e)}))}async reconnect(){if(this.shared.shutdownReason!==null)return;let e=this.reconnectAck??this.makeReconnectAck();this.reconnectAck=e,this.manualReconnectController.abort(),await e.promise}async shutdown(e=`removed`){if(this.shared.shutdownReason!==null){this.supervisorPromise&&await this.supervisorPromise;return}this.shared.shutdownReason=e,this.handleSource.shutdownReason=e,this.shutdownController.abort(),this.reconnectAck?.resolve(),this.supervisorPromise&&await this.supervisorPromise}async subscribe(e){if(this.shared.shutdownReason!==null)throw new y(this.shared.id);let t=this.shared.currentClient;if(!t)throw this.trackSubscription(e),new ee(this.shared.id);let{result:n}=await t.subscribe(e);return this.trackSubscription(e),n}async unsubscribe(e){if(this.shared.shutdownReason!==null){this.untrackSubscription(e);return}let t=this.shared.currentClient;this.untrackSubscription(e),t&&await t.unsubscribe(e)}dispatch(e,t,n){if(this.shared.shutdownReason!==null)throw new y(this.shared.id);let r=this.shared.currentClient;if(!r)throw new ee(this.shared.id);return r.dispatch(e,t,n)}async runSupervisor(){let e=this.config.reconnectPolicy,t=0;for(;this.shared.shutdownReason===null;){t+=1,this.transitionTo(t===1?{status:`connecting`}:{status:`reconnecting`,attempt:t-1},null);let n=this.reconnectAck;this.reconnectAck=null,n?.resolve();let r=null;try{r=await this.connectOnce()}catch(e){if(this.shared.shutdownReason!==null)break;if(this.manualReconnectController.signal.aborted){this.resetManualReconnectController(),t=0;continue}let n=Oe(e);this.shared.lastError=n,console.warn(`HostRuntime[${this.shared.id}] connect attempt ${t} failed:`,n)}if(r===null){if(this.shared.shutdownReason!==null)break;if(l(e,t)){let e=this.shared.lastError??Error(`connect failed`);if(this.transitionTo({status:`failed`,error:e},e),!await this.waitForManualReconnectOrShutdown())break;this.resetManualReconnectController(),t=0;continue}if(!await Ce(c(e,t,Math.random()),this.shutdownController.signal,this.manualReconnectController.signal)){if(this.shared.shutdownReason!==null)break;this.resetManualReconnectController(),t=0}continue}e.resetOnSuccess&&(t=0);let i=await this.runConnection(r.events);if(await this.tearDownClient(),i===`shutdown`)break;if(i===`manualReconnect`){this.resetManualReconnectController(),t=0;continue}}this.handleSource.currentClient=null,this.handleSource.generation=this.shared.generation}async connectOnce(){let e=this.shutdownController.signal,t=this.manualReconnectController.signal,n=Te(e,t),i=n.signal;try{let e=await C(this.config.transportFactory(this.shared.id,i),i);if(e===S)throw Error(`connect aborted`);let t=new ye(e,this.config.clientConfig);t.connect();let n=t.events(),a=!1;try{let e={serverSeq:this.shared.serverSeq,subscriptions:[...this.shared.subscriptions]},o=e.serverSeq>0&&e.subscriptions.length>0,s=null,c=null,l=e.serverSeq,u=null,d=null,p=this.shared.automations,m=[];if(o)try{let n=await C(t.reconnect({clientId:this.shared.clientId,lastSeenServerSeq:e.serverSeq,subscriptions:e.subscriptions}),i);if(n===S)throw Error(`reconnect aborted`);s=n}catch(n){if(this.shared.shutdownReason!==null||i.aborted||!(n instanceof r))throw n;let a=await C(t.initialize({clientId:this.shared.clientId,protocolVersions:[ce],initialSubscriptions:e.subscriptions}),i);if(a===S)throw Error(`initialize aborted`);c=a.snapshots,l=a.serverSeq,u=a.protocolVersion,d=a.defaultDirectory??null,p=a.automations??null,m=a.completionTriggerCharacters??[]}else{let n=await C(t.initialize({clientId:this.shared.clientId,protocolVersions:[ce],initialSubscriptions:e.subscriptions}),i);if(n===S)throw Error(`initialize aborted`);c=n.snapshots,l=n.serverSeq,u=n.protocolVersion,d=n.defaultDirectory??null,p=n.automations??null,m=n.completionTriggerCharacters??[]}let h=null;try{let e=await C(t.request(`listSessions`,{channel:f}),i);e!==S&&(h=e)}catch{}if(i.aborted)throw Error(`connect aborted`);let g=null,_=[],v=null;if(s!==null){if(s.type===ie.Replay){for(let e of s.actions)_.push(e);if(s.missing.length>0){let e=new Set(s.missing);g=this.shared.subscriptions.filter(t=>!e.has(t))}}else{let t=new Set(s.snapshots.map(e=>e.resource)),n=new Set(e.subscriptions);v=this.shared.subscriptions.filter(e=>t.has(e)||!n.has(e));for(let e of s.snapshots)e.fromSeq>l&&(l=e.fromSeq),e.resource===`ahp-root://`&&(this.shared.rootState=e.state??Ee)}}if(this.shared.generation+=1,this.shared.currentClient=t,this.shared.lastConnectedAt=Date.now(),this.shared.lastError=null,this.shared.serverSeq<l&&(this.shared.serverSeq=l),c!==null){let e=c.find(e=>e.resource===f);e&&(this.shared.rootState=e.state??Ee),u&&(this.shared.protocolVersion=u),this.shared.defaultDirectory=d,this.shared.automations=p,this.shared.completionTriggerCharacters=[...m]}if(h!==null){this.shared.sessionSummaries.clear();for(let e of h.items)this.shared.sessionSummaries.set(e.resource,e)}g===null?v!==null&&(this.shared.subscriptions=v):this.shared.subscriptions=g,this.handleSource.generation=this.shared.generation,this.handleSource.currentClient=t;for(let e of _)this.applyEnvelopeLocally(e),this.fanOut.publish({hostId:this.shared.id,channel:e.channel,event:{type:`action`,params:e}});return this.transitionTo({status:`connected`},null),this.hostEvents.publish({type:`connected`,hostId:this.shared.id,generation:this.shared.generation}),a=!0,{client:t,events:n}}finally{if(!a)try{await t.shutdown()}catch{}}}finally{n.dispose()}}async runConnection(e){let t=this.shutdownController.signal,n=this.manualReconnectController.signal;for(;;){if(t.aborted)return`shutdown`;if(n.aborted)return`manualReconnect`;let r=e.next(),i=we(t,n),a=await Promise.race([r.then(e=>({kind:`event`,value:e})),i.then(()=>({kind:`aborted`}))]);if(a.kind===`aborted`)return t.aborted?`shutdown`:`manualReconnect`;let o=a.value;if(o.done)return`disconnected`;this.handleEvent(o.value)}}async waitForManualReconnectOrShutdown(){return await we(this.shutdownController.signal,this.manualReconnectController.signal),!this.shutdownController.signal.aborted}async tearDownClient(){let e=this.shared.currentClient;if(this.shared.currentClient=null,this.handleSource.currentClient=null,e)try{await e.shutdown()}catch{}}handleEvent(e){switch(e.event.type){case`action`:this.applyEnvelopeLocally(e.event.params);break;case`sessionAdded`:{let t=e.event.params.summary;this.shared.sessionSummaries.set(t.resource,t);break}case`sessionRemoved`:this.shared.sessionSummaries.delete(e.event.params.session);break;case`sessionSummaryChanged`:ke(this.shared.sessionSummaries,e.event.params)}this.fanOut.publish(m(this.shared.id,e))}applyEnvelopeLocally(e){e.serverSeq>this.shared.serverSeq&&(this.shared.serverSeq=e.serverSeq),e.channel===`ahp-root://`&&(this.shared.rootState=be(this.shared.rootState,e.action))}trackSubscription(e){this.shared.subscriptions.includes(e)||this.shared.subscriptions.push(e)}untrackSubscription(e){this.shared.subscriptions=this.shared.subscriptions.filter(t=>t!==e)}transitionTo(e,t){this.shared.state=e,t!==null&&(this.shared.lastError=t),this.hostEvents.publish({type:`stateChanged`,hostId:this.shared.id,state:e,lastError:t??this.shared.lastError})}resetManualReconnectController(){this.manualReconnectController=new AbortController}makeReconnectAck(){let e;return{promise:new Promise(t=>{e=t}),resolve:e}}};function Oe(e){return e instanceof Error?e:Error(String(e))}function ke(e,t){let n=e.get(t.session);if(!n)return;let r={...n},i=t.changes;i.title!==void 0&&(r.title=i.title),i.status!==void 0&&(r.status=i.status),i.activity!==void 0&&(r.activity=i.activity),i.origin!==void 0&&(r.origin=i.origin),i.modifiedAt!==void 0&&(r.modifiedAt=i.modifiedAt),i.project!==void 0&&(r.project=i.project),i.workingDirectories!==void 0&&(r.workingDirectories=i.workingDirectories),i._meta!==void 0&&(r._meta=i._meta),i.chats!==void 0&&(r.chats=i.chats),e.set(t.session,r)}var Ae=class{inner=new Map;load(e){return Promise.resolve(this.inner.get(e)??null)}store(e,t){return this.inner.set(e,t),Promise.resolve()}},je=1024,Me=class e{hosts=new Map;pendingHostIds=new Set;fanOut;hostEventsQueue;clientIdStore;shutdownController=new AbortController;shutDown=!1;constructor(e={}){this.clientIdStore=e.clientIdStore??new Ae;let n=e.eventBuffer??je;this.fanOut=new t(n),this.hostEventsQueue=new t(n)}static async single(t,n={}){let r=new e(n);return{multi:r,host:await r.addHost(t)}}async addHost(e){this.assertOpen();let t=e.id;if(this.hosts.has(t)||this.pendingHostIds.has(t))throw new _(t);this.pendingHostIds.add(t);try{let n=p(e),r=await this.resolveClientId(t,n.clientId);if(this.assertOpen(),this.hosts.has(t))throw new _(t);let i=new De(n,r,this.fanOut,this.hostEventsQueue);return this.hosts.set(t,i),i.start(),Se(i.shared)}finally{this.pendingHostIds.delete(t)}}async removeHost(e){let t=this.hosts.get(e);if(!t)throw new g(e);this.hosts.delete(e),await t.shutdown(`removed`),this.hostEventsQueue.publish({type:`removed`,hostId:e})}async reconnectHost(e){let t=this.hosts.get(e);if(!t)throw new g(e);await t.reconnect()}async reconnectAllUnavailable(){let e=[];for(let[t,n]of this.hosts){let r=n.shared.state.status;r!==`connected`&&r!==`connecting`&&e.push({id:t,runtime:n})}if(e.length===0)return new Map;let t=new Map;return await Promise.all(e.map(async({id:e,runtime:n})=>{try{await n.reconnect()}catch(n){t.set(e,n instanceof Error?n:Error(String(n)))}})),t}host(e){let t=this.hosts.get(e);return t?Se(t.shared):void 0}hostsSnapshot(){return Array.from(this.hosts.values(),e=>Se(e.shared))}client(e){let t=this.hosts.get(e);if(!t)return;let n=t.shared.currentClient;if(n)return new re(t.handleSource,t.shared.generation,n)}async subscribe(e,t){let n=this.hosts.get(e);if(!n)throw new g(e);return n.subscribe(t)}async unsubscribe(e,t){let n=this.hosts.get(e);if(!n)throw new g(e);await n.unsubscribe(t)}dispatch(e,t,n,r){let i=this.hosts.get(e);if(!i)throw new g(e);return i.dispatch(t,n,r)}events(){return this.fanOut.reader()}hostEvents(){return this.hostEventsQueue.reader()}aggregatedSessions(){let e=[];for(let t of this.hosts.values()){let{id:n,label:r,sessionSummaries:i}=t.shared;for(let t of i.values())e.push({hostId:n,hostLabel:r,summary:t})}return e.sort((e,t)=>e.summary.modifiedAt<t.summary.modifiedAt?1:e.summary.modifiedAt>t.summary.modifiedAt?-1:0),e}aggregatedAgents(){let e=[];for(let t of this.hosts.values()){let{id:n,label:r,rootState:i}=t.shared;for(let t of i.agents)e.push({hostId:n,hostLabel:r,agent:t})}return e}async shutdown(){if(this.shutDown)return;this.shutDown=!0,this.shutdownController.abort();let e=Array.from(this.hosts.values());this.hosts.clear(),await Promise.all(e.map(e=>e.shutdown(`shutdown`))),this.fanOut.close(),this.hostEventsQueue.close()}assertOpen(){if(this.shutDown)throw new y(`<multi-host client>`)}async resolveClientId(e,t){let n=this.shutdownController.signal;if(t!==null){try{await this.clientIdStore.store(e,t,n)}catch(t){throw new te(e,t.message??String(t),{cause:t})}return t}let r;try{r=await this.clientIdStore.load(e,n)}catch(t){throw new te(e,t.message??String(t),{cause:t})}let i=r??ne();try{await this.clientIdStore.store(e,i,n)}catch(t){throw new te(e,t.message??String(t),{cause:t})}return i}},Ne;(function(e){e.Computing=`computing`,e.Recomputing=`recomputing`,e.Ready=`ready`,e.Error=`error`})(Ne||={});var Pe;(function(e){e.Idle=`idle`,e.Running=`running`,e.Error=`error`,e.Disabled=`disabled`})(Pe||={});var Fe;(function(e){e.Changeset=`changeset`,e.Resource=`resource`,e.Range=`range`})(Fe||={});function Ie(e,t,n){switch(t.type){case b.ChangesetStatusChanged:{if(t.status===Ne.Error)return{...e,status:t.status,error:t.error};let{error:n,...r}=e;return{...r,status:t.status}}case b.ChangesetFileSet:{let n=e.files.findIndex(e=>e.id===t.file.id);if(n<0)return{...e,files:[...e.files,t.file]};let r=[...e.files];return r[n]=t.file,{...e,files:r}}case b.ChangesetFileRemoved:{let n=e.files.findIndex(e=>e.id===t.fileId);if(n<0)return e;let r=[...e.files];return r.splice(n,1),{...e,files:r}}case b.ChangesetFilesReviewChanged:{let n=!1,r=new Set(t.files),i=e.files.map(e=>!r.has(e.id)||e.reviewed===t.reviewed?e:(n=!0,{...e,reviewed:t.reviewed}));return n?{...e,files:i}:e}case b.ChangesetContentChanged:return t.operations===void 0?{...e,files:t.files}:{...e,files:t.files,operations:t.operations};case b.ChangesetOperationsChanged:if(t.operations===void 0){let{operations:t,...n}=e;return n}return{...e,operations:t.operations};case b.ChangesetOperationStatusChanged:{if(e.operations===void 0)return e;let n=e.operations.findIndex(e=>e.id===t.operationId);if(n<0)return e;let r=e.operations[n],i;if(t.status===Pe.Error)i={...r,status:t.status,error:t.error};else{let{error:e,...n}=r;i={...n,status:t.status}}let a=[...e.operations];return a[n]=i,{...e,operations:a}}case b.ChangesetCleared:return e.files.length===0?e:{...e,files:[]};default:return x(t,n),e}}var Le;(function(e){e.Creating=`creating`,e.Ready=`ready`,e.Failed=`failed`})(Le||={});var w;(function(e){e[e.Idle=1]=`Idle`,e[e.Error=2]=`Error`,e[e.InProgress=8]=`InProgress`,e[e.InputNeeded=24]=`InputNeeded`,e[e.IsRead=32]=`IsRead`,e[e.IsArchived=64]=`IsArchived`})(w||={});var Re;(function(e){e.Automation=`automation`})(Re||={});var ze;(function(e){e.ChatInput=`chatInput`,e.ToolConfirmation=`toolConfirmation`,e.ToolClientExecution=`toolClientExecution`,e.ToolAuthentication=`toolAuthentication`})(ze||={});var T;(function(e){e.Plugin=`plugin`,e.Directory=`directory`,e.Agent=`agent`,e.Skill=`skill`,e.Prompt=`prompt`,e.Rule=`rule`,e.Hook=`hook`,e.McpServer=`mcpServer`})(T||={});var Be;(function(e){e.Global=`global`,e.Workspace=`workspace`,e.Session=`session`})(Be||={});var Ve;(function(e){e.Loading=`loading`,e.Loaded=`loaded`,e.Degraded=`degraded`,e.Error=`error`})(Ve||={});var He;(function(e){e.Starting=`starting`,e.Ready=`ready`,e.AuthRequired=`authRequired`,e.Error=`error`,e.Stopped=`stopped`})(He||={});var Ue;(function(e){e.Required=`required`,e.Expired=`expired`,e.InsufficientScope=`insufficientScope`})(Ue||={});function We(e,t,n){return n?e|t:e&~t}function Ge(e){return e.kind!==ze.ToolClientExecution}function Ke(e,t){return t.some(Ge)?e&-32|w.InputNeeded:e&~(w.InputNeeded&~w.InProgress)}function E(e,t,n){let r=e.customizations;if(!r)return e;let i=r.findIndex(e=>e.id===t);if(i>=0){let t=r[i];if(t.type!==T.McpServer)return e;let a=r.slice();return a[i]=n(t),{...e,customizations:a}}let a=!1,o=r.map(e=>{if(e.type===T.McpServer)return e;let r=e.children;if(!r)return e;let i=r.findIndex(e=>e.id===t);if(i<0)return e;let o=r[i];if(o.type!==T.McpServer)return e;a=!0;let s=r.slice();return s[i]=n(o),{...e,children:s}});return a?{...e,customizations:o}:e}function qe(e,t){switch(e.type){case T.Plugin:case T.McpServer:{if(t.length>0)return{...e,enablement:[...t]};let{enablement:n,...r}=e;return r}default:return{...e,enabled:t[0]?.enabled??!0}}}function Je(e,t,n){switch(t.type){case b.SessionReady:return{...e,lifecycle:Le.Ready};case b.SessionCreationFailed:return{...e,lifecycle:Le.Failed,creationError:t.error};case b.SessionChatAdded:{let n=e.chats,r=n.findIndex(e=>e.resource===t.summary.resource);if(r<0)return{...e,chats:[...n,t.summary]};let i=n.slice();return i[r]=t.summary,{...e,chats:i}}case b.SessionChatRemoved:{let n=e.chats,r=n.findIndex(e=>e.resource===t.chat);if(r<0)return e;let i=n.slice();i.splice(r,1);let a={...e,chats:i};return e.defaultChat===t.chat&&delete a.defaultChat,a}case b.SessionChatUpdated:{let n=e.chats,r=n.findIndex(e=>e.resource===t.chat);if(r<0)return e;let{resource:i,...a}=t.changes,o=n.slice();return o[r]={...n[r],...a},{...e,chats:o}}case b.SessionChatsReordered:{let n=e.chats;if(t.chats.length!==n.length||new Set(t.chats).size!==n.length)return e;let r=new Map(n.map(e=>[e.resource,e])),i=[];for(let n of t.chats){let t=r.get(n);if(!t)return e;i.push(t)}return i.every((e,t)=>e===n[t])?e:{...e,chats:i}}case b.SessionDefaultChatChanged:return{...e,defaultChat:t.defaultChat};case b.SessionTitleChanged:return{...e,title:t.title};case b.SessionIsReadChanged:return{...e,status:We(e.status,w.IsRead,t.isRead)};case b.SessionIsArchivedChanged:return{...e,status:We(e.status,w.IsArchived,t.isArchived)};case b.SessionActivityChanged:return{...e,activity:t.activity};case b.SessionChangesetsChanged:{let{changesets:n,...r}=e;return t.changesets?{...r,changesets:t.changesets}:r}case b.SessionConfigChanged:return e.config?{...e,config:{...e.config,values:t.replace?{...t.config}:{...e.config.values,...t.config}}}:e;case b.SessionMetaChanged:return{...e,_meta:t._meta};case b.SessionServerToolsChanged:return{...e,serverTools:t.tools};case b.SessionActiveClientSet:{let n=e.activeClients,r=n.findIndex(e=>e.clientId===t.activeClient.clientId);if(r<0)return{...e,activeClients:[...n,t.activeClient]};let i=n.slice();return i[r]=t.activeClient,{...e,activeClients:i}}case b.SessionActiveClientRemoved:{let n=e.activeClients,r=n.findIndex(e=>e.clientId===t.clientId);if(r<0)return e;let i=n.slice();return i.splice(r,1),{...e,activeClients:i}}case b.SessionWorkingDirectorySet:{let n=e.workingDirectories??[];return n.includes(t.directory)?e:{...e,workingDirectories:[...n,t.directory]}}case b.SessionWorkingDirectoryRemoved:{let n=e.workingDirectories;if(!n)return e;let r=n.indexOf(t.directory);if(r<0)return e;let i=n.slice();return i.splice(r,1),{...e,workingDirectories:i}}case b.SessionWorkingDirectoryReplaced:{let n=e.workingDirectories;if(!n)return e;let r=n.indexOf(t.directory);if(r<0)return e;let i=n.indexOf(t.replacement);return i>=0&&i<r?{...e,workingDirectories:n.filter((e,t)=>t!==r)}:{...e,workingDirectories:n.map((e,n)=>n===r?t.replacement:e).filter((e,n)=>n===r||e!==t.replacement)}}case b.SessionInputNeededSet:{let n=e.inputNeeded??[],r=n.findIndex(e=>e.id===t.request.id),i=r<0?[...n,t.request]:n.slice();return r>=0&&(i[r]=t.request),{...e,inputNeeded:i,status:Ke(e.status,i)}}case b.SessionInputNeededRemoved:{let n=e.inputNeeded;if(!n)return e;let r=n.findIndex(e=>e.id===t.id);if(r<0)return e;let i=n.slice();i.splice(r,1);let a={...e,status:Ke(e.status,i)};return i.length>0?a.inputNeeded=i:delete a.inputNeeded,a}case b.SessionCustomizationsChanged:return{...e,customizations:t.customizations};case b.SessionCustomizationToggled:{let n=e.customizations;if(!n)return e;let r=n.findIndex(e=>e.id===t.id);if(r>=0){let i=n.slice();return i[r]=qe(n[r],t.enablement),{...e,customizations:i}}for(let r=0;r<n.length;r++){let i=n[r];if(i.type===T.McpServer)continue;let a=i.children;if(!a)continue;let o=a.findIndex(e=>e.id===t.id);if(o<0)continue;let s=a.slice();s[o]=qe(a[o],t.enablement);let c=n.slice();return c[r]={...i,children:s},{...e,customizations:c}}return e}case b.SessionCustomizationUpdated:{let n=e.customizations??[],r=n.findIndex(e=>e.id===t.customization.id);if(r<0)return{...e,customizations:[...n,t.customization]};let i=[...n];return i[r]=t.customization,{...e,customizations:i}}case b.SessionCustomizationRemoved:{let n=e.customizations;if(!n)return e;let r=n.findIndex(e=>e.id===t.id);if(r>=0){let t=n.slice();return t.splice(r,1),{...e,customizations:t}}let i=!1,a=n.map(e=>{if(e.type===T.McpServer)return e;let n=e.children;if(!n)return e;let r=n.findIndex(e=>e.id===t.id);if(r<0)return e;i=!0;let a=n.slice();return a.splice(r,1),{...e,children:a}});return i?{...e,customizations:a}:e}case b.SessionMcpServerStateChanged:return E(e,t.id,e=>({...e,state:t.state,channel:t.channel}));case b.SessionMcpServerStartRequested:return E(e,t.id,e=>({...e,state:{kind:He.Starting},channel:void 0}));case b.SessionMcpServerBackgroundRequested:return E(e,t.id,e=>e.state.kind===He.Starting&&e.state.blocking?{...e,state:{...e.state,blocking:!1}}:e);case b.SessionMcpServerStopRequested:return E(e,t.id,e=>({...e,state:{kind:He.Stopped},channel:void 0}));default:return x(t,n),e}}var Ye;(function(e){e.Running=`running`,e.Exited=`exited`})(Ye||={});var Xe;(function(e){e.Client=`client`,e.Session=`session`})(Xe||={});function Ze(e,t,n){switch(t.type){case b.TerminalData:{let n=[...e.content],r=n.length>0?n[n.length-1]:void 0;return r&&r.type===`command`&&!r.isComplete?n[n.length-1]={...r,output:r.output+t.data}:r&&r.type===`unclassified`?n[n.length-1]={...r,value:r.value+t.data}:n.push({type:`unclassified`,value:t.data}),{...e,content:n}}case b.TerminalInput:return e;case b.TerminalResized:return{...e,cols:t.cols,rows:t.rows};case b.TerminalClaimed:return{...e,claim:t.claim};case b.TerminalTitleChanged:return{...e,title:t.title};case b.TerminalCwdChanged:return{...e,cwd:t.cwd};case b.TerminalExited:return{...e,lifecycle:{status:Ye.Exited,exitCode:t.exitCode}};case b.TerminalCleared:return{...e,content:[]};case b.TerminalCommandDetectionAvailable:return{...e,supportsCommandDetection:!0};case b.TerminalCommandExecuted:{let n={type:`command`,commandId:t.commandId,commandLine:t.commandLine,output:``,timestamp:t.timestamp,isComplete:!1};return{...e,content:[...e.content,n],supportsCommandDetection:!0}}case b.TerminalCommandFinished:{let n=e.content.map(e=>e.type===`command`&&e.commandId===t.commandId?{...e,isComplete:!0,exitCode:t.exitCode,durationMs:t.durationMs}:e);return{...e,content:n}}default:return x(t,n),e}}function Qe(e,t,n){switch(t.type){case b.AutomationCreateRequested:case b.AutomationUpdateRequested:return e;case b.AutomationSet:{let n=e.entries.findIndex(e=>e.resource===t.automation.resource);if(n<0)return{...e,entries:[...e.entries,t.automation]};let r=e.entries.slice();return r[n]=t.automation,{...e,entries:r}}case b.AutomationRemoved:{let n=e.entries.findIndex(e=>e.resource===t.resource);if(n<0)return e;let r=e.entries.slice();return r.splice(n,1),{...e,entries:r}}default:return x(t,n),e}}var $e=class e{socket;inbox=[];waiters=[];closeInfo=null;error=null;closed=!1;static connect(t,n={}){return new Promise((r,i)=>{let o=globalThis.WebSocket;if(!o){i(new a(`io`,`global WebSocket is not available; install or polyfill it`));return}let s;try{s=n.protocols===void 0?new o(t):new o(t,n.protocols)}catch(e){i(new a(`io`,`failed to construct WebSocket: ${e.message}`,{cause:e}));return}let c=()=>{s.removeEventListener(`open`,l),s.removeEventListener(`error`,u),s.removeEventListener(`close`,d)},l=()=>{c(),r(new e(s))},u=()=>{c(),i(new a(`io`,`websocket failed to open`))},d=e=>{c(),i(new a(`closed`,`websocket closed before open (code=${e.code})`))};s.addEventListener(`open`,l),s.addEventListener(`error`,u),s.addEventListener(`close`,d)})}static fromSocket(t){if(t.readyState!==t.OPEN)throw new a(`io`,`socket is not OPEN`);return new e(t)}constructor(e){this.socket=e,e.binaryType=`arraybuffer`,e.addEventListener(`message`,e=>{let t=e.data;if(typeof t==`string`)this.deliver({kind:`text`,text:t});else if(t instanceof ArrayBuffer)this.deliver({kind:`binary`,data:new Uint8Array(t)});else if(t instanceof Uint8Array)this.deliver({kind:`binary`,data:t});else{let e=new a(`protocol`,`unsupported WebSocket message payload (expected string or ArrayBuffer)`);this.error=e,this.drainWithError(e)}}),e.addEventListener(`error`,()=>{this.error=new a(`io`,`websocket error`),this.drainWithError(this.error)}),e.addEventListener(`close`,e=>{if(this.closeInfo={code:e.code,reason:e.reason,wasClean:e.wasClean},this.closed=!0,e.wasClean)this.drainWithNull();else{let t=new a(`closed`,`websocket closed abnormally (code=${e.code})`);this.error=t,this.drainWithError(t)}})}get bufferedAmount(){return this.socket.bufferedAmount}get lastClose(){return this.closeInfo}send(e){if(this.closed)throw new a(`closed`,`transport closed`);if(this.error)throw this.error;let t=typeof e==`string`?e:fe(e);try{this.socket.send(t)}catch(e){throw new a(`io`,`websocket send failed: ${e.message}`,{cause:e})}}recv(){if(this.error)return Promise.reject(this.error);if(this.inbox.length>0){let e=this.inbox.shift()??null;return Promise.resolve(e)}return this.closed?Promise.resolve(null):new Promise((e,t)=>{this.waiters.push({resolve:e,reject:t})})}close(){if(this.socket.readyState===this.socket.OPEN||this.socket.readyState===this.socket.CONNECTING)try{this.socket.close()}catch{}return Promise.resolve()}deliver(e){if(this.waiters.length>0){let t=this.waiters.shift();t&&t.resolve(e);return}this.inbox.push(e)}drainWithError(e){let t=this.waiters;this.waiters=[];for(let n of t)n.reject(e)}drainWithNull(){let e=this.waiters;this.waiters=[];for(let t of e)t.resolve(null)}},et=`ahpd-web.token`;function tt(){try{let e=window.localStorage.getItem(et)?.trim();return e===void 0||e===``?null:e}catch{return null}}function nt(e){try{e===null?window.localStorage.removeItem(et):window.localStorage.setItem(et,e)}catch{}}var D=!1;function rt(){return D}async function it(){try{let e=await fetch(`./ahpw.json`,{headers:{accept:`application/json`},cache:`no-store`});if(!e.ok||!(e.headers.get(`content-type`)??``).includes(`application/json`))return!1;D=(await e.json()).tokenHeld===!0}catch{D=!1}return D}var O=globalThis.ahpwEmbedder,at;(function(e){e.Enabled=`enabled`,e.Disabled=`disabled`,e.Unconfigured=`unconfigured`})(at||={});var ot;(function(e){e.Shell=`shell`,e.Subagent=`subagent`})(ot||={});var st;(function(e){e.User=`user`,e.Fork=`fork`,e.SideChat=`sideChat`,e.Tool=`tool`})(st||={});var ct;(function(e){e.Full=`full`,e.ReadOnly=`read-only`,e.Hidden=`hidden`})(ct||={});var lt;(function(e){e.Steering=`steering`,e.Queued=`queued`})(lt||={});var ut;(function(e){e.Accept=`accept`,e.Decline=`decline`,e.Cancel=`cancel`})(ut||={});var dt;(function(e){e.Text=`text`,e.Number=`number`,e.Integer=`integer`,e.Boolean=`boolean`,e.SingleSelect=`single-select`,e.MultiSelect=`multi-select`})(dt||={});var ft;(function(e){e.Text=`text`,e.Number=`number`,e.Boolean=`boolean`,e.Selected=`selected`,e.SelectedMany=`selected-many`})(ft||={});var pt;(function(e){e.Draft=`draft`,e.Submitted=`submitted`,e.Skipped=`skipped`})(pt||={});var k;(function(e){e.Complete=`complete`,e.Cancelled=`cancelled`,e.Error=`error`})(k||={});var mt;(function(e){e.Simple=`simple`,e.EmbeddedResource=`embeddedResource`,e.Resource=`resource`,e.Annotations=`annotations`,e.Chat=`chat`})(mt||={});var ht;(function(e){e.User=`user`,e.Agent=`agent`,e.Tool=`tool`,e.Automation=`automation`,e.SystemNotification=`systemNotification`})(ht||={});var A;(function(e){e.Markdown=`markdown`,e.ContentRef=`contentRef`,e.ToolCall=`toolCall`,e.Reasoning=`reasoning`,e.SystemNotification=`systemNotification`,e.InputRequest=`inputRequest`,e.Error=`error`})(A||={});var j;(function(e){e.Streaming=`streaming`,e.PendingConfirmation=`pending-confirmation`,e.Running=`running`,e.AuthRequired=`auth-required`,e.PendingResultConfirmation=`pending-result-confirmation`,e.Completed=`completed`,e.Cancelled=`cancelled`})(j||={});var gt;(function(e){e.NotNeeded=`not-needed`,e.UserAction=`user-action`,e.Setting=`setting`})(gt||={});var _t;(function(e){e.Judge=`judge`})(_t||={});var vt;(function(e){e.Loading=`loading`,e.Complete=`complete`})(vt||={});var yt;(function(e){e.Denied=`denied`,e.Skipped=`skipped`,e.ResultDenied=`result-denied`})(yt||={});var bt;(function(e){e.Approve=`approve`,e.Deny=`deny`})(bt||={});var M;(function(e){e.Client=`client`,e.MCP=`mcp`})(M||={});var xt;(function(e){e.Text=`text`,e.EmbeddedResource=`embeddedResource`,e.Resource=`resource`,e.FileEdit=`fileEdit`,e.Terminal=`terminal`,e.Subagent=`subagent`})(xt||={});var St;(function(e){e.Added=`added`,e.Updated=`updated`,e.Deleted=`deleted`})(St||={});var Ct;(function(e){e.Update=`update`,e.Remove=`remove`,e.Run=`run`})(Ct||={});var wt;(function(e){e.Skip=`skip`,e.RunOnce=`runOnce`})(wt||={});var Tt;(function(e){e.Schedule=`schedule`,e.Event=`event`})(Tt||={});var Et;(function(e){e.AfterRuns=`afterRuns`,e.AfterDate=`afterDate`})(Et||={});var Dt;(function(e){e.Pending=`pending`,e.Running=`running`,e.Completed=`completed`,e.Failed=`failed`,e.Cancelled=`cancelled`})(Dt||={});var Ot;(function(e){e.Manual=`manual`,e.Trigger=`trigger`})(Ot||={});var kt;(function(e){e.UserMessage=`userMessage`})(kt||={});var At;(function(e){e.Fork=`fork`,e.SideChat=`sideChat`})(At||={});var jt;(function(e){e.Session=`session`,e.NewSession=`newSession`})(jt||={});var Mt;(function(e){e.Resource=`resource`,e.Range=`range`})(Mt||={});var Nt;(function(e){e.Required=`required`,e.Expired=`expired`})(Nt||={});function Pt(e,t){return new Date(Date.parse(e)+t).toISOString()}function Ft(e){return{toolCallId:e.toolCallId,toolName:e.toolName,displayName:e.displayName,intention:e.intention,contributor:e.contributor,_meta:e._meta}}function N(e,t){return{...Ft(e),_meta:t??e._meta}}function It(e,t,n){return t?e?.kind===M.Client?t.kind===M.Client&&t.clientId===e.clientId?t:(n?.(`Ignoring contributor change for client tool call from '${e.clientId}'`),e):t.kind===M.Client?(n?.(`Ignoring late client contributor '${t.clientId}' because client execution ownership must be established at tool call start`),e):t:e}function Lt(e,t){if(t&&e)return e.find(e=>e.id===t)}function Rt(e){return e.activeTurn?e.activeTurn.responseParts.some(e=>e.kind===A.ToolCall&&(e.toolCall.status===j.PendingConfirmation||e.toolCall.status===j.PendingResultConfirmation||e.toolCall.status===j.AuthRequired)):!1}function zt(e){return e.activeTurn?.responseParts.some(e=>e.kind===A.InputRequest&&e.response===void 0)??!1}function Bt(e,t){let n=e.findIndex(e=>e.kind===A.InputRequest&&e.response===void 0&&e.request.id===t);if(n<0)return;let r=e[n];return r.kind===A.InputRequest?{index:n,part:r}:void 0}function Vt(e){let t=e.responseParts[e.responseParts.length-1];return t?.kind===A.Error&&t.resumable===!0}function Ht(e){return e.kind===A.Error}function P(e,t,n){return n?e|t:e&~t}function F(e,t){let n;return n=t||(zt(e)||Rt(e)?w.InputNeeded:e.activeTurn?w.InProgress:w.Idle),e.status&-32|n}function I(e){let t=F(e);return t===e.status?e:{...e,status:t}}function Ut(e,t,n,r,i,a){if(!e.activeTurn||e.activeTurn.id!==t)return e;let o=e.activeTurn,s=o.responseParts.map(e=>{if(e.kind!==A.ToolCall)return e;let t=e.toolCall;return t.status===j.Completed||t.status===j.Cancelled?e:{kind:A.ToolCall,toolCall:{status:j.Cancelled,...Ft(t),invocationMessage:t.status===j.Streaming?t.invocationMessage??``:t.invocationMessage,toolInput:t.status===j.Streaming?void 0:t.toolInput,reason:yt.Skipped}}});a&&s.push(a);let c={id:o.id,startedAt:o.startedAt,duration:Math.max(0,r),message:o.message,responseParts:s,usage:o.usage,state:n},l={...e,turns:[...e.turns,c],activeTurn:void 0,modifiedAt:Pt(o.startedAt,c.duration??0)};return{...l,status:F(l,i)}}function Wt(e,t){let n=e.activeTurn;if(!n)return e;let r=Bt(n.responseParts,t.id),i=[...n.responseParts],a={kind:A.InputRequest,request:t};r?(a.request={...t,answers:t.answers??r.part.request.answers},i[r.index]=a):i.push(a);let o={...e,activeTurn:{...n,responseParts:i}};return{...o,status:P(F(o),w.IsRead,!1)}}function L(e,t,n,r){let i=e.activeTurn;if(!i||i.id!==t)return e;let a=!1,o=i.responseParts.map(e=>{if(e.kind===A.ToolCall&&e.toolCall.toolCallId===n){let t=r(e.toolCall);return t===e.toolCall?e:(a=!0,{...e,toolCall:t})}return e});return a?{...e,activeTurn:{...i,responseParts:o}}:e}function Gt(e,t,n,r){let i=e.activeTurn;if(!i||i.id!==t)return e;let a=!1,o=i.responseParts.map(e=>!a&&(e.kind===A.ToolCall?e.toolCall.toolCallId:`id`in e?e.id:void 0)===n?(a=!0,r(e)):e);return a?{...e,activeTurn:{...i,responseParts:o}}:e}function Kt(e,t,n){switch(t.type){case b.ChatTurnStarted:{let n={...e,activeTurn:{id:t.turnId,startedAt:t.startedAt,message:t.message,responseParts:[],usage:void 0}};if(n={...n,status:P(F(n),w.IsRead,!1),modifiedAt:t.startedAt},t.queuedMessageId&&(n.steeringMessage?.id===t.queuedMessageId&&(n={...n,steeringMessage:void 0}),n.queuedMessages)){let e=n.queuedMessages.filter(e=>e.id!==t.queuedMessageId);n={...n,queuedMessages:e.length>0?e:void 0}}return n}case b.ChatDelta:return Gt(e,t.turnId,t.partId,e=>e.kind===A.Markdown?{...e,content:e.content+t.content}:e);case b.ChatResponsePart:return!e.activeTurn||e.activeTurn.id!==t.turnId||Ht(t.part)?e:{...e,activeTurn:{...e.activeTurn,responseParts:[...e.activeTurn.responseParts,t.part]}};case b.ChatTurnComplete:return Ut(e,t.turnId,k.Complete,t.duration);case b.ChatTurnCancelled:return Ut(e,t.turnId,k.Cancelled,t.duration);case b.ChatError:return Ut(e,t.turnId,k.Error,t.duration,w.Error,t.part);case b.ChatTurnResume:{if(e.activeTurn)return e;let n=e.turns.length-1,r=e.turns[n];if(!r||r.id!==t.turnId||r.state!==k.Error||!Vt(r))return e;let i=e.turns.slice();i.splice(n,1);let a={...e,turns:i,activeTurn:{id:r.id,startedAt:r.startedAt??e.modifiedAt,message:r.message,responseParts:r.responseParts,usage:r.usage}};return{...a,status:P(F(a),w.IsRead,!1)}}case b.ChatActivityChanged:return{...e,activity:t.activity};case b.ChatBackgroundWorkSet:{let n=e.backgroundWork??[],r=n.findIndex(e=>e.id===t.work.id),i=n.slice();return r<0?i.push(t.work):i[r]=t.work,{...e,backgroundWork:i}}case b.ChatBackgroundWorkRemoved:{let n=e.backgroundWork??[],r=n.findIndex(e=>e.id===t.id);if(r<0)return e;let i=n.slice();return i.splice(r,1),{...e,backgroundWork:i}}case b.ChatMovableChanged:return{...e,movable:t.movable};case b.ChatChangesetsChanged:{let{changesets:n,...r}=e;return t.changesets?{...r,changesets:t.changesets}:r}case b.ChatCanvasesChanged:{let{canvases:n,...r}=e;return t.canvases?{...r,canvases:t.canvases}:r}case b.ChatWorkingDirectorySet:{let n=e.workingDirectories??[];return n.includes(t.directory)?e:{...e,workingDirectories:[...n,t.directory]}}case b.ChatWorkingDirectoryRemoved:{let n=e.workingDirectories;if(!n)return e;let r=n.indexOf(t.directory);if(r<0)return e;let i=n.slice();return i.splice(r,1),{...e,workingDirectories:i}}case b.ChatToolCallStart:return!e.activeTurn||e.activeTurn.id!==t.turnId?e:{...e,activeTurn:{...e.activeTurn,responseParts:[...e.activeTurn.responseParts,{kind:A.ToolCall,toolCall:{toolCallId:t.toolCallId,toolName:t.toolName,displayName:t.displayName,intention:t.intention,contributor:t.contributor,_meta:t._meta,status:j.Streaming}}]}};case b.ChatToolCallDelta:return L(e,t.turnId,t.toolCallId,e=>e.status===j.Streaming?{...e,...t._meta===void 0?{}:{_meta:t._meta},...t.content===void 0?{}:{partialInput:(e.partialInput??``)+t.content},invocationMessage:t.invocationMessage??e.invocationMessage}:e);case b.ChatToolCallReady:return I(L(e,t.turnId,t.toolCallId,e=>{if(e.status!==j.Streaming&&e.status!==j.Running&&e.status!==j.PendingConfirmation)return e;let r={...N(e,t._meta),contributor:It(e.contributor,t.contributor,n),intention:t.intention??e.intention},i=t.toolInput??(e.status===j.Streaming?void 0:e.toolInput);if(t.confirmed)return{status:j.Running,...r,invocationMessage:t.invocationMessage,toolInput:i,confirmed:t.confirmed};let a=e.status===j.PendingConfirmation?e:void 0,o=t.options??a?.options;return{status:j.PendingConfirmation,...r,invocationMessage:t.invocationMessage,toolInput:i,confirmationTitle:t.confirmationTitle??a?.confirmationTitle,riskAssessment:t.riskAssessment??a?.riskAssessment,edits:t.edits??a?.edits,editable:t.editable??a?.editable,...o?{options:o}:{}}}));case b.ChatToolCallConfirmed:return I(L(e,t.turnId,t.toolCallId,e=>{if(e.status!==j.PendingConfirmation)return e;let n=N(e,t._meta),r=Lt(e.options,t.selectedOptionId);if(t.approved){let i=t.editedToolInput!==void 0&&typeof e.toolInput==`string`?t.editedToolInput:e.toolInput;return{status:j.Running,...n,invocationMessage:e.invocationMessage,toolInput:i,confirmed:t.confirmed,...r?{selectedOption:r}:{}}}return{status:j.Cancelled,...n,invocationMessage:e.invocationMessage,toolInput:e.toolInput,reason:t.reason,reasonMessage:t.reasonMessage,userSuggestion:t.userSuggestion,...r?{selectedOption:r}:{}}}));case b.ChatToolCallComplete:return I(L(e,t.turnId,t.toolCallId,e=>{if(e.status!==j.Running&&e.status!==j.PendingConfirmation&&e.status!==j.AuthRequired||e.status===j.AuthRequired&&t.result.success)return e;let n=N(e,t._meta),r=e.status===j.Running||e.status===j.AuthRequired?e.confirmed:gt.NotNeeded,i=e.status===j.Running||e.status===j.AuthRequired?e.selectedOption:void 0,a=e.status===j.AuthRequired?e.content:void 0;return t.requiresResultConfirmation&&e.status!==j.AuthRequired?{status:j.PendingResultConfirmation,...n,invocationMessage:e.invocationMessage,toolInput:e.toolInput,confirmed:r,...i?{selectedOption:i}:{},...a?{content:a}:{},...t.result}:{status:j.Completed,...n,invocationMessage:e.invocationMessage,toolInput:e.toolInput,confirmed:r,...i?{selectedOption:i}:{},...a?{content:a}:{},...t.result}}));case b.ChatToolCallResultConfirmed:return I(L(e,t.turnId,t.toolCallId,e=>{if(e.status!==j.PendingResultConfirmation)return e;let n=N(e,t._meta);return t.approved?{status:j.Completed,...n,invocationMessage:e.invocationMessage,toolInput:e.toolInput,confirmed:e.confirmed,...e.selectedOption?{selectedOption:e.selectedOption}:{},success:e.success,pastTenseMessage:e.pastTenseMessage,content:e.content,structuredContent:e.structuredContent,error:e.error}:{status:j.Cancelled,...n,invocationMessage:e.invocationMessage,toolInput:e.toolInput,reason:yt.ResultDenied,...e.selectedOption?{selectedOption:e.selectedOption}:{}}}));case b.ChatToolCallContentChanged:return L(e,t.turnId,t.toolCallId,e=>e.status===j.Running?{...e,...t._meta===void 0?{}:{_meta:t._meta},content:t.content}:e);case b.ChatToolCallAuthRequired:return I(L(e,t.turnId,t.toolCallId,e=>{if(e.status!==j.Running||!e.contributor||e.contributor.kind!==M.MCP)return e;let n=N(e,t._meta);return{status:j.AuthRequired,...n,contributor:e.contributor,invocationMessage:e.invocationMessage,toolInput:e.toolInput,confirmed:e.confirmed,...e.selectedOption?{selectedOption:e.selectedOption}:{},...e.content?{content:e.content}:{},auth:t.auth}}));case b.ChatToolCallAuthResolved:return I(L(e,t.turnId,t.toolCallId,e=>{if(e.status!==j.AuthRequired)return e;let n=N(e,t._meta);return{status:j.Running,...n,invocationMessage:e.invocationMessage,toolInput:e.toolInput,confirmed:e.confirmed,...e.selectedOption?{selectedOption:e.selectedOption}:{},...e.content?{content:e.content}:{}}}));case b.ChatUsage:return!e.activeTurn||e.activeTurn.id!==t.turnId?e:{...e,activeTurn:{...e.activeTurn,usage:t.usage}};case b.ChatReasoning:return Gt(e,t.turnId,t.partId,e=>e.kind===A.Reasoning?{...e,content:e.content+t.content}:e);case b.ChatTruncated:{let n;if(t.turnId===void 0)n=[];else{let r=e.turns.findIndex(e=>e.id===t.turnId);if(r<0)return e;n=e.turns.slice(0,r+1)}let r={...e,turns:n,activeTurn:void 0};return t.turnId===void 0&&delete r.turnsNextCursor,{...r,status:F(r)}}case b.ChatTurnsLoaded:{let n=new Set(e.turns.map(e=>e.id)),r=t.turns.filter(e=>!n.has(e.id));return{...e,turns:[...r,...e.turns],turnsNextCursor:t.turnsNextCursor}}case b.ChatInputRequested:return Wt(e,t.request);case b.ChatInputAnswerChanged:{let n=e.activeTurn,r=n?Bt(n.responseParts,t.requestId):void 0;if(!n||!r)return e;let{index:i,part:a}=r,o=a.request,s={...o.answers??{}};t.answer===void 0?delete s[t.questionId]:s[t.questionId]=t.answer;let c=[...n.responseParts];return c[i]={...a,request:{...o,answers:Object.keys(s).length>0?s:void 0}},{...e,activeTurn:{...n,responseParts:c}}}case b.ChatInputCompleted:{let n=e.activeTurn,r=n?Bt(n.responseParts,t.requestId):void 0;if(!n||!r)return e;let{index:i,part:a}=r,o={...a.request.answers??{},...t.answers??{}},s=[...n.responseParts];s[i]={...a,request:{...a.request,answers:Object.keys(o).length>0?o:void 0},response:t.response};let c={...e,activeTurn:{...n,responseParts:s}};return{...c,status:F(c)}}case b.ChatPendingMessageSet:{let n={id:t.id,message:t.message};if(t.kind===lt.Steering)return{...e,steeringMessage:n};let r=e.queuedMessages??[],i=r.findIndex(e=>e.id===t.id);if(i>=0){let t=[...r];return t[i]=n,{...e,queuedMessages:t}}return{...e,queuedMessages:[...r,n]}}case b.ChatPendingMessageRemoved:{if(t.kind===lt.Steering)return!e.steeringMessage||e.steeringMessage.id!==t.id?e:{...e,steeringMessage:void 0};let n=e.queuedMessages;if(!n)return e;let r=n.filter(e=>e.id!==t.id);return r.length===n.length?e:{...e,queuedMessages:r.length>0?r:void 0}}case b.ChatQueuedMessagesReordered:{let n=e.queuedMessages;if(!n)return e;let r=new Map(n.map(e=>[e.id,e])),i=new Set,a=t.order.filter(e=>r.has(e)&&!i.has(e)?(i.add(e),!0):!1).map(e=>r.get(e));for(let e of n)i.has(e.id)||a.push(e);return{...e,queuedMessages:a}}case b.ChatDraftChanged:return{...e,draft:t.draft};case b.ChatIsReadChanged:return{...e,status:P(e.status,w.IsRead,t.isRead)};case b.ChatIsArchivedChanged:return{...e,status:P(e.status,w.IsArchived,t.isArchived)};default:return x(t,n),e}}var qt=`0.10.0`,Jt=Object.freeze(le.flatMap(e=>e===`1.0.0`?[e,qt]:e===`0.10.0`?[]:[e]));function Yt(e){let t=Xt(typeof e==`string`?Zt(e):e);if(t?.method!==`initialize`)return e;let n={...Xt(t.params),protocolVersions:[...Jt]},r={...t,params:n};return typeof e==`string`?JSON.stringify(r):r}function Xt(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function Zt(e){try{return JSON.parse(e)}catch{return null}}function Qt(e){return{send:t=>e.send(Yt(t)),close:()=>e.close(),recv:()=>e.recv()}}function $t(e){let t=tn(tn(tn(typeof e==`string`?nn(e):e)?.result)?.serverInfo);return t===null||typeof t.name!=`string`||t.name===``?null:{name:t.name,version:typeof t.version==`string`&&t.version!==``?t.version:null}}var en=e=>e.version===null?e.name:`${e.name} ${e.version}`;function tn(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function nn(e){try{return JSON.parse(e)}catch{return null}}function rn(e,t){return{send:t=>e.send(t),close:()=>e.close(),async recv(){let n=await e.recv(),r=n?.kind===`text`?$t(n.text):n?.kind===`parsed`?$t(n.message):null;return r!==null&&t(r),n}}}var an=`/ahp`;function on(e,t,n){let r=t.protocol===`https:`?`wss:`:`ws:`,i=n?an:`/`;return`${r}//${t.host}${i}${e===null?``:`?tkn=${encodeURIComponent(e)}`}`}function sn(e,t){return t===null||t===``?e:`${e}${e.includes(`?`)?`&`:`?`}tkn=${encodeURIComponent(t)}`}var cn=new Map;function ln(e,t){let n=new Map(e);return t.type===`sessionAdded`?n.delete(t.params.summary.resource):t.type===`sessionRemoved`?n.delete(t.params.session):n.set(t.params.session,{...e.get(t.params.session),...t.params.changes}),n}function un(e){return new Map(e.map(e=>[e.resource,e]))}function dn(e,t){let n=t.get(e.resource);return n===void 0?e:{...e,...n}}var fn=2,pn=8,mn=24,hn=32,gn=64;function _n(e){return(e&mn)===mn?`input`:(e&pn)===0?(e&fn)===0?`idle`:`error`:`running`}function vn(e){return(e&hn)!==0}function yn(e){return(e&gn)!==0}var bn={input:`Needs you`,running:`Running`,error:`Failed`,idle:`Idle`},xn={input:`warning`,running:`info`,error:`danger`,idle:`default`};function Sn(e){let t=0,n=0;for(let r of e){if(yn(r))continue;let e=_n(r);e===`idle`&&!vn(r)&&(t+=1),(e===`running`||e===`input`)&&(n+=1)}return{unread:t,working:n}}var Cn=e(),wn=[`connection`,`session`,`terminal`,`traffic`],Tn=[`debug`,`info`,`warn`,`error`],En=2e3,Dn=1024,R=[],z=[],B=null,On=0,kn=new Set,An=!1;function jn(){B=null,!An&&(An=!0,setTimeout(()=>{An=!1;for(let e of kn)e()},50))}function V(e){On+=1;let t={...e,id:`l${On}`,at:e.at??Date.now()};t.scope===`traffic`?z=z.length>=1024?[...z.slice(z.length-Dn+1),t]:[...z,t]:R=R.length>=2e3?[...R.slice(R.length-En+1),t]:[...R,t],jn()}function Mn(){R=[],z=[],jn()}function Nn(){return B===null&&(B=[...R,...z].sort((e,t)=>e.at-t.at||Number(e.id.slice(1))-Number(t.id.slice(1)))),B}function Pn(e){return kn.add(e),()=>{kn.delete(e)}}function Fn(){return(0,Cn.useSyncExternalStore)(Pn,Nn,Nn)}function In(e,t){let n=Tn.indexOf(t.minLevel),r=t.query.split(/\s+/).filter(e=>e!==``&&e!==`!`),i=r.filter(e=>!e.startsWith(`!`)).map(e=>e.toLowerCase()),a=r.filter(e=>e.startsWith(`!`)).map(e=>e.slice(1).toLowerCase());return e.filter(e=>{if(t.scopes.length>0&&!t.scopes.includes(e.scope)||Tn.indexOf(e.level)<n)return!1;if(i.length===0&&a.length===0)return!0;let r=e.text.toLowerCase();return i.every(e=>r.includes(e))&&!a.some(e=>r.includes(e))})}var Ln=/\b[a-z][a-z0-9+.-]*:\/{1,3}[^\s"'`<>()[\]{},]+/gi;function Rn(e){let t=[],n=0;for(let r of e.matchAll(Ln)){let i=r.index,a=r[0].replace(/[.:;]+$/,``);i>n&&t.push({kind:`text`,text:e.slice(n,i)}),t.push({kind:`uri`,text:a}),n=i+a.length}return n<e.length&&t.push({kind:`text`,text:e.slice(n)}),t}function zn(e){let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}.${String(t.getMilliseconds()).padStart(3,`0`)}`}var Bn=e=>`${new Date(e.at).toISOString().replace(`T`,` `).replace(`Z`,``)} [${e.level}] [${e.scope}] ${e.text}`,Vn=e=>e.map(Bn).join(`
2
- `),Hn=65536;function H(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function U(e){return typeof e==`string`&&e!==``?e:null}var Un=new Map,Wn=null;function Gn(e){if(!e.startsWith(`ahp-chat:`))return null;let t=e.split(`/`).pop()??``;try{let e=atob(t.replace(/-/g,`+`).replace(/_/g,`/`));return/^[a-z][a-z0-9+.-]*:/i.test(e)?e:null}catch{return null}}function Kn(e,t){let n=`${e} ${U(t.resource)??``} ${U(t.channel)??``}`.toLowerCase();return n.includes(`terminal`)?`terminal`:n.includes(`session`)||n.includes(`chat`)||U(t.session)!==null?`session`:`connection`}function qn(e,t){let n=e===`sent`?`→`:`←`,r=U(t.method),i=H(t.params);if(r===`action`)return`${n} ${U(H(i.action).type)??`action`} ${U(i.channel)??``}`.trim();if(r!==null){let e=U(i.resource)??U(i.channel)??U(i.session)??``;return`${n} ${r}${t.id===void 0?``:` #${String(t.id)}`} ${e}`.trim()}return t.error===void 0?`${n} result #${String(t.id)}`:`${n} error #${String(t.id)} ${U(H(t.error).message)??``}`.trim()}function Jn(e){let t=H(e.action),n=U(t.type)??``,r=U(e.channel)??``,i=Gn(r)??(r.includes(`session`)?r:null),a=(t,n,r)=>V({scope:t,level:n,text:r,detail:e}),o=U(e.rejectionReason);if(o!==null){a(n.startsWith(`terminal/`)?`terminal`:`session`,`warn`,`${n} rejected: ${o} · ${r}`);return}switch(n){case`session/ready`:a(`session`,`info`,`ready ${i??r}`);return;case`session/creationFailed`:a(`session`,`error`,`creation failed: ${U(H(t.error).message)??U(t.message)??``} ${i??r}`);return;case`session/titleChanged`:a(`session`,`info`,`title "${U(t.title)??``}" ${i??r}`);return;case`chat/turnStarted`:a(`session`,`info`,`turn started ${i??r}`);return;case`chat/turnComplete`:a(`session`,`info`,`turn complete ${i??r}`);return;case`chat/turnCancelled`:a(`session`,`warn`,`turn cancelled ${i??r}`);return;case`chat/error`:a(`session`,`error`,`${U(H(t.error).message)??U(t.message)??`error`} ${i??r}`);return;case`terminal/commandExecuted`:a(`terminal`,`info`,`$ ${U(t.commandLine)??``} · ${r}`);return;case`terminal/commandFinished`:{let e=typeof t.exitCode==`number`?t.exitCode:null;a(`terminal`,e!==null&&e!==0?`warn`:`info`,`command finished${e===null?``:` · exit ${e}`} · ${r}`);return}case`terminal/exited`:{let e=typeof t.exitCode==`number`?t.exitCode:null;a(`terminal`,`info`,`exited${e===null?``:` ${e}`} · ${r}`);return}case`terminal/claimed`:{let e=H(t.claim);a(`terminal`,`info`,`claimed by ${U(e.session)??(e.kind===`client`?`client ${U(e.clientId)??``}`:``)} · ${r}`);return}case`root/terminalsChanged`:{let e=new Map;for(let n of Array.isArray(t.terminals)?t.terminals:[]){let t=H(n),r=U(t.resource);r!==null&&e.set(r,U(t.title)??``)}let n=Wn;if(Wn=e,n===null)return;for(let[t,r]of e)n.has(t)||a(`terminal`,`info`,`opened ${r===``?``:`${r} `}${t}`);for(let[t,r]of n)e.has(t)||a(`terminal`,`info`,`closed ${r===``?``:`${r} `}${t}`);return}}}var Yn=`••••••`;function Xn(e){let t=H(e.params);return e.method!==`authenticate`||typeof t.token!=`string`?e:{...e,params:{...t,token:Yn}}}function Zn(e,t){let n;try{n=H(JSON.parse(t))}catch{V({scope:`traffic`,level:`debug`,text:`${e===`sent`?`→`:`←`} ${t.slice(0,120)}`,detail:t.slice(0,Hn)});return}let r=Xn(n);r!==n&&(n=r,t=JSON.stringify(r)),V({scope:`traffic`,level:`debug`,text:qn(e,n),detail:t.length>Hn?t.slice(0,Hn):t});let i=n.id===void 0||n.id===null?null:String(n.id),a=U(n.method);if(e===`sent`){i!==null&&a!==null&&Un.set(i,{method:a,params:H(n.params)});return}if(a===`action`){Jn(H(n.params));return}if(i===null||a!==null)return;let o=Un.get(i);if(Un.delete(i),n.error===void 0)return;let s=H(n.error),c=o===void 0?`#${i}`:`${o.method} ${U(o.params.resource)??U(o.params.channel)??``}`.trim();V({scope:o===void 0?`connection`:Kn(o.method,o.params),level:`error`,text:`${c} refused: ${U(s.message)??`error`}${typeof s.code==`number`?` (${s.code})`:``}`,detail:{request:o??null,error:n.error}})}function Qn(){Un.clear()}function $n(e){return{send:t=>(Zn(`sent`,typeof t==`string`?t:JSON.stringify(t)),e.send(t)),close:()=>e.close(),async recv(){let t=await e.recv();return t?.kind===`text`?Zn(`received`,t.text):t?.kind===`parsed`&&Zn(`received`,JSON.stringify(t.message)),t}}}var W=`$/ahp/connection`,er=`$/ahp/sessions`,tr=`$/ahp/agents`,nr=`$/ahp/defaultDirectory`,rr=e=>`$/ahp/channels/${encodeURIComponent(e)}`,ir=`$/ahp/automationCaps`,ar=`$/ahp/sessionCounts/unread`,or=`$/ahp/sessionCounts/working`,sr=`$/ahp/host`,cr=`$/ahp/server`,lr=`$/ahp/terminals/detached`,ur=e=>`$/ahp/titles/${encodeURIComponent(e)}`,dr=e=>`$/ahp/channelErrors/${encodeURIComponent(e)}`,G=f,fr=`ahp-automations://`,K=`daemon`;function pr(e){return[...e].sort((e,t)=>t.modifiedAt.localeCompare(e.modifiedAt))}var mr=2e3,q,J,Y=cn,X=new Map,hr=e=>e instanceof Error?e.message:String(e);async function gr(e){let t=q,n=J;if(t!==void 0&&n!==void 0)try{let r=await t.subscribe(K,e);if(!X.has(e))return;r.snapshot!==void 0&&(Q.delete(rr(e)),n.set(rr(e),r.snapshot.state)),n.set(dr(e),null)}catch(t){n.set(dr(e),hr(t))}}function _r(e,t){let n=X.get(e);n===void 0?(X.set(e,{count:1,reducer:t}),q?.host(K)?.state.status===`connected`&&gr(e)):(n.count+=1,clearTimeout(n.release),delete n.release);let r=!1;return()=>{if(r)return;r=!0;let t=X.get(e);t!==void 0&&(--t.count,!(t.count>0||e===G)&&(t.release=setTimeout(()=>{X.get(e)!==t||t.count>0||(X.delete(e),q?.unsubscribe(K,e).catch(()=>void 0))},mr)))}}async function vr(e){X.has(e)&&await gr(e)}async function yr(){let e=J;if(e===void 0)return;let t=await Z(`listSessions`,{channel:G});Y=un(t.items),e.set(er,pr(t.items));for(let n of t.items)e.set(ur(n.resource),n.title===``?`Untitled`:n.title)}async function br(e){let t=q;if(t===void 0)throw Error(`Not connected to the server.`);let n=await t.subscribe(K,e);return X.has(e)||t.unsubscribe(K,e).catch(()=>void 0),n.snapshot?.state}async function xr(e){let t=await Z(`resourceRead`,{channel:G,uri:e,encoding:`utf-8`});return{text:String(t.encoding)===`utf-8`?t.data:null,...t.contentType===void 0?{}:{contentType:t.contentType}}}async function Sr(e,t){let n=await Z(`resourceRead`,{channel:G,uri:e,encoding:`base64`});if(String(n.encoding)!==`base64`)return new Blob([n.data],{type:t});let r=atob(n.data),i=new Uint8Array(r.length);for(let e=0;e<r.length;e++)i[e]=r.charCodeAt(e);return new Blob([i],{type:t})}async function Cr(e){return(await Z(`resourceResolve`,{channel:G,uri:e})).size}async function wr(e,t,n){await Z(`resourceWrite`,{channel:G,uri:e,data:t,encoding:`utf-8`,...n===void 0?{}:{ifMatch:n}})}async function Tr(e){return(await Z(`resourceResolve`,{channel:G,uri:e})).etag}async function Er(e){try{return(await Z(`resourceResolve`,{channel:G,uri:e})).type}catch{return null}}async function Dr(e){return await Z(`resourceRead`,{channel:G,uri:e,encoding:`base64`})}async function Or(e,t,n,r=!1){await Z(`resourceWrite`,{channel:G,uri:e,data:t,encoding:n,...r?{createOnly:r}:{}})}async function kr(e){await Z(`resourceMkdir`,{channel:G,uri:e})}async function Ar(e,t){await Z(`resourceMove`,{channel:G,source:e,destination:t,failIfExists:!0})}async function jr(e,t){await Z(`resourceCopy`,{channel:G,source:e,destination:t,failIfExists:!0})}async function Mr(e,t){await Z(`resourceDelete`,{channel:G,uri:e,recursive:t})}function Nr(e,t){q?.dispatch(K,e,t)}async function Z(e,t){let n=q?.client(K)?.rawClient();if(n===void 0)throw Error(`Not connected to the server.`);return n.request(e,t)}function Pr(e,t,n){e.get(t)!==n&&e.set(t,n)}function Fr(e,t){let n=pr(t.aggregatedSessions().map(e=>dn(e.summary,Y)));e.set(er,n);for(let t of n)Pr(e,ur(t.resource),t.title===``?`Untitled`:t.title);let r=Sn(n.map(e=>e.status));Pr(e,ar,r.unread),Pr(e,or,r.working);let i=t.host(K);e.set(tr,i?.agents??[]),e.set(nr,i?.defaultDirectory??null),e.set(ir,i?.automations??null);for(let t of i?.terminals??[])Pr(e,ur(t.resource),t.title===``?`Terminal`:t.title);e.set(sr,i===void 0?null:{label:i.label,clientId:i.clientId,protocolVersion:i.protocolVersion,serverSeq:i.serverSeq,connectedAt:i.lastConnectedAt,activeSessions:i.activeSessions,terminals:i.terminals??[],subscriptions:i.subscriptions.length})}function Ir(e){e.status!==`connected`&&Qn(),e.status===`failed`?V({scope:`connection`,level:`error`,text:`failed: ${e.error.message}`}):e.status===`reconnecting`?V({scope:`connection`,level:`warn`,text:`reconnecting (attempt ${e.attempt})`}):V({scope:`connection`,level:`info`,text:e.status})}async function Lr(e,t){let n=0;for await(let r of t.hostEvents()){if(r.type===`stateChanged`){let t=r.state;Ir(t),e.set(W,{status:t.status,error:t.status===`failed`?t.error.message:r.lastError?.message??null,generation:n,...t.status===`reconnecting`?{attempt:t.attempt}:{}})}if(r.type===`connected`){n=r.generation,Y=cn,e.set(W,{status:`connected`,error:null,generation:n}),Fr(e,t);for(let e of X.keys())gr(e)}}}var Q=new Map,$=!1,Rr;function zr(e,t){if(Rr=void 0,J===e){for(let[t,n]of Q)e.set(t,n);Q.clear(),$&&($=!1,Fr(e,t))}}function Br(e,t){Rr===void 0&&(Rr=document.hidden?window.setTimeout(()=>zr(e,t),100):window.requestAnimationFrame(()=>zr(e,t)))}async function Vr(e,t){for await(let n of t.events()){let r=n.event;if(r.type===`sessionAdded`||r.type===`sessionRemoved`||r.type===`sessionSummaryChanged`){Y=ln(Y,r),$=!0,Br(e,t);continue}if(r.type!==`action`)continue;let{channel:i,action:a}=r.params;i===G&&($=!0,Br(e,t));let o=X.get(i);if(o===void 0)continue;let s=rr(i),c=Q.has(s)?Q.get(s):e.get(s);if(c!==void 0)try{Q.set(s,o.reducer(c,a)),Br(e,t)}catch{}}}async function Hr(){if(O!==void 0){let e=await O.host();return Ur=e.url,$e.connect(sn(e.url,await O.token()))}return $e.connect(on(rt()?null:tt(),window.location,!1))}var Ur=null;async function Wr(e,t){try{await t.addHost({id:K,label:O===void 0?window.location.host:(await O.host()).name,transportFactory:async()=>rn(Qt($n(await Hr())),t=>e.set(cr,t))})}catch(t){e.set(W,{status:`failed`,error:hr(t),generation:0})}}async function Gr(){let e=q,t=J;if(e!==void 0&&t!==void 0){if(e.host(K)===void 0){await Wr(t,e);return}t.set(W,{...t.get(W),status:`connecting`}),await e.reconnectHost(K).catch(()=>void 0)}}var Kr;async function qr(e){if(O===void 0||Ur===null)return;let t=await O.host().catch(()=>null);t!==null&&e.some(e=>e.id===t.id&&e.url!==Ur)&&await Gr()}function Jr(){if(document.visibilityState!==`visible`)return;let e=q?.host(K)?.state.status;(e===void 0||e===`reconnecting`||e===`failed`||e===`disconnected`)&&Gr()}var Yr={namespace:`ahp`,load:`eager`,provider:{async load(e){let t=new Me;q=t,J=e,e.set(W,{status:`connecting`,error:null,generation:0}),Lr(e,t),Vr(e,t),window.addEventListener(`online`,Jr),document.addEventListener(`visibilitychange`,Jr),O!==void 0&&(Kr=O.onHosts(e=>void qr(e))),await Wr(e,t)},async unload(e){window.removeEventListener(`online`,Jr),document.removeEventListener(`visibilitychange`,Jr),Kr?.(),Kr=void 0,Ur=null;let t=q;q=void 0,J=void 0,Y=cn;for(let e of X.values())clearTimeout(e.release);X.clear(),Q.clear(),$=!1,e.clearNamespace(`ahp`),await t?.shutdown()}}};export{it as $,yr as A,In as B,Ar as C,xr as D,br as E,wr as F,bn as G,Vn as H,Tn as I,yn as J,xn as K,wn as L,Cr as M,ur as N,Gr as O,Or as P,O as Q,Mn as R,kr as S,Sr as T,Rn as U,Bn as V,Fn as W,en as X,vn as Y,Kt as Z,Mr as _,lr as a,Ie as at,_r as b,er as c,fr as d,tt as et,G as f,jr as g,rr as h,nr as i,Je as it,Z as j,vr as k,ar as l,dr as m,ir as n,Qe as nt,sr as o,be as ot,Yr as p,_n as q,W as r,Ze as rt,cr as s,de as st,tr as t,nt as tt,or as u,Nr as v,Dr as w,Er as x,Tr as y,zn as z};
@@ -1 +0,0 @@
1
- import{Ct as e,S as t,d as n,g as r,o as i,r as a,v as o,wt as s}from"./dist-BDH0Q8eg.js";import{r as c}from"./dist-Bq_hlZV8.js";var l=e({String:s.string,Number:s.number,"True False":s.bool,PropertyName:s.propertyName,Null:s.null,", :":s.separator,"[ ]":s.squareBracket,"{ }":s.brace}),u=c.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:`#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O`,goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:`⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array`,maxTerm:25,nodeProps:[[`isolate`,-2,6,11,``],[`openedBy`,7,`{`,14,`[`],[`closedBy`,8,`}`,15,`]`]],propSources:[l],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),d=a.define({name:`json`,parser:u.configure({props:[t.add({Object:n({except:/^\s*\}/}),Array:n({except:/^\s*\]/})}),o.add({"Object Array":r})]}),languageData:{closeBrackets:{brackets:[`[`,`{`,`"`]},indentOnInput:/^\s*[\}\]]$/}});function f(){return new i(d)}export{f as json};
@@ -1 +0,0 @@
1
- import{A as e,Ct as t,N as n,Nt as r,S as i,it as a,o,r as s,u as c,v as l,wt as u}from"./dist-BDH0Q8eg.js";import{n as d,r as ee,t as te}from"./dist-Bq_hlZV8.js";import{n as f,t as ne}from"./dist-BfGIsxxP.js";import{a as re,i as ie,n as ae,o as oe,r as p}from"./dist-DUFzb_Eu.js";var se=55,ce=1,le=56,ue=2,de=57,fe=3,m=4,pe=5,h=6,g=7,me=8,he=9,ge=10,_e=11,ve=12,ye=13,_=58,be=14,xe=15,v=59,y=21,Se=23,b=24,Ce=25,x=27,S=28,we=29,Te=32,Ee=35,De=37,Oe=38,ke=0,Ae=1,je={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Me={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},C={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Ne(e){return e==45||e==46||e==58||e>=65&&e<=90||e==95||e>=97&&e<=122||e>=161}var w=null,T=null,E=0;function D(e,t){let n=e.pos+t;if(E==n&&T==e)return w;let r=e.peek(t),i=``;for(;Ne(r);)i+=String.fromCharCode(r),r=e.peek(++t);return T=e,E=n,w=i?i.toLowerCase():r==Pe||r==Fe?void 0:null}var O=60,k=62,A=47,Pe=63,Fe=33,Ie=45;function j(e,t){this.name=e,this.parent=t}var Le=[h,ge,g,me,he],Re=new te({start:null,shift(e,t,n,r){return Le.indexOf(t)>-1?new j(D(r,1)||``,e):e},reduce(e,t){return t==y&&e?e.parent:e},reuse(e,t,n,r){let i=t.type.id;return i==h||i==De?new j(D(r,1)||``,e):e},strict:!1}),ze=new d((e,t)=>{if(e.next!=O){e.next<0&&t.context&&e.acceptToken(_);return}e.advance();let n=e.next==A;n&&e.advance();let r=D(e,0);if(r===void 0)return;if(!r)return e.acceptToken(n?xe:be);let i=t.context?t.context.name:null;if(n){if(r==i)return e.acceptToken(_e);if(i&&Me[i])return e.acceptToken(_,-2);if(t.dialectEnabled(ke))return e.acceptToken(ve);for(let e=t.context;e;e=e.parent)if(e.name==r)return;e.acceptToken(ye)}else{if(r==`script`)return e.acceptToken(g);if(r==`style`)return e.acceptToken(me);if(r==`textarea`)return e.acceptToken(he);if(je.hasOwnProperty(r))return e.acceptToken(ge);i&&C[i]&&C[i][r]?e.acceptToken(_,-1):e.acceptToken(h)}},{contextual:!0}),Be=new d(e=>{for(let t=0,n=0;;n++){if(e.next<0){n&&e.acceptToken(v);break}if(e.next==Ie)t++;else if(e.next==k&&t>=2){n>=3&&e.acceptToken(v,-2);break}else t=0;e.advance()}});function Ve(e){for(;e;e=e.parent)if(e.name==`svg`||e.name==`math`)return!0;return!1}var He=new d((e,t)=>{if(e.next==A&&e.peek(1)==k){let n=t.dialectEnabled(Ae)||Ve(t.context);e.acceptToken(n?pe:m,2)}else e.next==k&&e.acceptToken(m,1)});function M(e,t,n){let r=2+e.length;return new d(i=>{for(let a=0,o=0,s=0;;s++){if(i.next<0){s&&i.acceptToken(t);break}if(a==0&&i.next==O||a==1&&i.next==A||a>=2&&a<r&&i.next==e.charCodeAt(a-2))a++,o++;else if(a==r&&i.next==k){s>o?i.acceptToken(t,-o):i.acceptToken(n,-(o-2));break}else if((i.next==10||i.next==13)&&s){i.acceptToken(t,1);break}else a=o=0;i.advance()}})}var Ue=M(`script`,se,ce),We=M(`style`,le,ue),Ge=M(`textarea`,de,fe),Ke=t({"Text RawText IncompleteTag IncompleteCloseTag":u.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":u.angleBracket,TagName:u.tagName,"MismatchedCloseTag/TagName":[u.tagName,u.invalid],AttributeName:u.attributeName,"AttributeValue UnquotedAttributeValue":u.attributeValue,Is:u.definitionOperator,"EntityReference CharacterReference":u.character,Comment:u.blockComment,ProcessingInst:u.processingInstruction,DoctypeDecl:u.documentMeta}),qe=ee.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:`,c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~`,goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:`⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl`,maxTerm:68,context:Re,nodeProps:[[`closedBy`,-10,1,2,3,7,8,9,10,11,12,13,`EndTag`,6,`EndTag SelfClosingEndTag`,-4,22,31,34,37,`CloseTag`],[`openedBy`,4,`StartTag StartCloseTag`,5,`StartTag`,-4,30,33,36,38,`OpenTag`],[`group`,-10,14,15,18,19,20,21,40,41,42,43,`Entity`,17,`Entity TextContent`,-3,29,32,35,`TextContent Entity`],[`isolate`,-11,22,30,31,33,34,36,37,38,39,42,43,`ltr`,-3,27,28,40,``]],propSources:[Ke],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|caPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bXaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UVaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pTaPOv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!dpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({WaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!b`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!b`!dpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYlWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]`aP!b`!dp!_^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebiSlWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXiSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vciSaP!b`!dpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!ahaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WiiSlWd!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QciSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXjSaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[Ue,We,Ge,He,ze,Be,0,1,2,3,4,5],topRules:{Document:[0,16]},dialects:{noMatch:0,selfClosing:515},tokenPrec:517});function N(e,t){let n=Object.create(null);for(let r of e.getChildren(b)){let e=r.getChild(Ce),i=r.getChild(x)||r.getChild(S);e&&(n[t.read(e.from,e.to)]=i?i.type.id==x?t.read(i.from+1,i.to-1):t.read(i.from,i.to):``)}return n}function P(e,t){let n=e.getChild(Se);return n?t.read(n.from,n.to):` `}function F(e,t,n){let r;for(let i of n)if(!i.attrs||i.attrs(r||=N(e.node.parent.firstChild,t)))return{parser:i.parser,bracketed:!0};return null}function I(e=[],t=[]){let n=[],i=[],a=[],o=[];for(let t of e)(t.tag==`script`?n:t.tag==`style`?i:t.tag==`textarea`?a:o).push(t);let s=t.length?Object.create(null):null;for(let e of t)(s[e.name]||(s[e.name]=[])).push(e);return r((e,t)=>{let r=e.type.id;if(r==we)return F(e,t,n);if(r==Te)return F(e,t,i);if(r==Ee)return F(e,t,a);if(r==y&&o.length){let n=e.node,r=n.firstChild,i=r&&P(r,t),a;if(i){for(let e of o)if(e.tag==i&&(!e.attrs||e.attrs(a||=N(r,t)))){let t=n.lastChild,i=t.type.id==Oe?t.from:n.to;if(i>r.to)return{parser:e.parser,overlay:[{from:r.to,to:i}]}}}}if(s&&r==b){let n=e.node,r;if(r=n.firstChild){let e=s[t.read(r.from,r.to)];if(e)for(let r of e){if(r.tagName&&r.tagName!=P(n.parent,t))continue;let e=n.lastChild;if(e.type.id==x){let t=e.from+1,n=e.lastChild,i=e.to-(n&&n.isError?0:1);if(i>t)return{parser:r.parser,overlay:[{from:t,to:i}],bracketed:!0}}else if(e.type.id==S)return{parser:r.parser,overlay:[{from:e.from,to:e.to}]}}}}return null})}var L=[`_blank`,`_self`,`_top`,`_parent`],R=[`ascii`,`utf-8`,`utf-16`,`latin1`,`latin1`],z=[`get`,`post`,`put`,`delete`],B=[`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`],V=[`true`,`false`],H={},Je={a:{attrs:{href:null,ping:null,type:null,media:null,target:L,hreflang:null}},abbr:H,address:H,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:[`default`,`rect`,`circle`,`poly`]}},article:H,aside:H,audio:{attrs:{src:null,mediagroup:null,crossorigin:[`anonymous`,`use-credentials`],preload:[`none`,`metadata`,`auto`],autoplay:[`autoplay`],loop:[`loop`],controls:[`controls`]}},b:H,base:{attrs:{href:null,target:L}},bdi:H,bdo:H,blockquote:{attrs:{cite:null}},body:H,br:H,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:[`autofocus`],disabled:[`autofocus`],formenctype:B,formmethod:z,formnovalidate:[`novalidate`],formtarget:L,type:[`submit`,`reset`,`button`]}},canvas:{attrs:{width:null,height:null}},caption:H,center:H,cite:H,code:H,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:[`command`,`checkbox`,`radio`],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:[`disabled`],checked:[`checked`]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:[`disabled`],multiple:[`multiple`]}},datalist:{attrs:{data:null}},dd:H,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:[`open`]}},dfn:H,div:H,dl:H,dt:H,em:H,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:[`disabled`],form:null,name:null}},figcaption:H,figure:H,footer:H,form:{attrs:{action:null,name:null,"accept-charset":R,autocomplete:[`on`,`off`],enctype:B,method:z,novalidate:[`novalidate`],target:L}},h1:H,h2:H,h3:H,h4:H,h5:H,h6:H,head:{children:[`title`,`base`,`link`,`style`,`meta`,`script`,`noscript`,`command`]},header:H,hgroup:H,hr:H,html:{attrs:{manifest:null}},i:H,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:[`allow-top-navigation`,`allow-same-origin`,`allow-forms`,`allow-scripts`],seamless:[`seamless`]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:[`anonymous`,`use-credentials`]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:[`audio/*`,`video/*`,`image/*`],autocomplete:[`on`,`off`],autofocus:[`autofocus`],checked:[`checked`],disabled:[`disabled`],formenctype:B,formmethod:z,formnovalidate:[`novalidate`],formtarget:L,multiple:[`multiple`],readonly:[`readonly`],required:[`required`],type:[`hidden`,`text`,`search`,`tel`,`url`,`email`,`password`,`datetime`,`date`,`month`,`week`,`time`,`datetime-local`,`number`,`range`,`color`,`checkbox`,`radio`,`file`,`submit`,`image`,`reset`,`button`]}},ins:{attrs:{cite:null,datetime:null}},kbd:H,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:[`autofocus`],disabled:[`disabled`],keytype:[`RSA`]}},label:{attrs:{for:null,form:null}},legend:H,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:[`all`,`16x16`,`16x16 32x32`,`16x16 32x32 64x64`]}},map:{attrs:{name:null}},mark:H,menu:{attrs:{label:null,type:[`list`,`context`,`toolbar`]}},meta:{attrs:{content:null,charset:R,name:[`viewport`,`application-name`,`author`,`description`,`generator`,`keywords`],"http-equiv":[`content-language`,`content-type`,`default-style`,`refresh`]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:H,noscript:H,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:[`typemustmatch`]}},ol:{attrs:{reversed:[`reversed`],start:null,type:[`1`,`a`,`A`,`i`,`I`]},children:[`li`,`script`,`template`,`ul`,`ol`]},optgroup:{attrs:{disabled:[`disabled`],label:null}},option:{attrs:{disabled:[`disabled`],label:null,selected:[`selected`],value:null}},output:{attrs:{for:null,form:null,name:null}},p:H,param:{attrs:{name:null,value:null}},pre:H,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:H,rt:H,ruby:H,samp:H,script:{attrs:{type:[`text/javascript`],src:null,async:[`async`],defer:[`defer`],charset:R}},section:H,select:{attrs:{form:null,name:null,size:null,autofocus:[`autofocus`],disabled:[`disabled`],multiple:[`multiple`]}},slot:{attrs:{name:null}},small:H,source:{attrs:{src:null,type:null,media:null}},span:H,strong:H,style:{attrs:{type:[`text/css`],media:null,scoped:null}},sub:H,summary:H,sup:H,table:H,tbody:H,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:H,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:[`autofocus`],disabled:[`disabled`],readonly:[`readonly`],required:[`required`],wrap:[`soft`,`hard`]}},tfoot:H,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:[`row`,`col`,`rowgroup`,`colgroup`]}},thead:H,time:{attrs:{datetime:null}},title:H,tr:H,track:{attrs:{src:null,label:null,default:null,kind:[`subtitles`,`captions`,`descriptions`,`chapters`,`metadata`],srclang:null}},ul:{children:[`li`,`script`,`template`,`ul`,`ol`]},var:H,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:[`anonymous`,`use-credentials`],preload:[`auto`,`metadata`,`none`],autoplay:[`autoplay`],mediagroup:[`movie`],muted:[`muted`],controls:[`controls`]}},wbr:H},U={accesskey:null,class:null,contenteditable:V,contextmenu:null,dir:[`ltr`,`rtl`,`auto`],draggable:[`true`,`false`,`auto`],dropzone:[`copy`,`move`,`link`,`string:`,`file:`],hidden:[`hidden`],id:null,inert:[`inert`],itemid:null,itemprop:null,itemref:null,itemscope:[`itemscope`],itemtype:null,lang:[`ar`,`bn`,`de`,`en-GB`,`en-US`,`es`,`fr`,`hi`,`id`,`ja`,`pa`,`pt`,`ru`,`tr`,`zh`],spellcheck:V,autocorrect:V,autocapitalize:V,style:null,tabindex:null,title:null,translate:[`yes`,`no`],rel:[`stylesheet`,`alternate`,`author`,`bookmark`,`help`,`license`,`next`,`nofollow`,`noreferrer`,`prefetch`,`prev`,`search`,`tag`],role:`alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer`.split(` `),"aria-activedescendant":null,"aria-atomic":V,"aria-autocomplete":[`inline`,`list`,`both`,`none`],"aria-busy":V,"aria-checked":[`true`,`false`,`mixed`,`undefined`],"aria-controls":null,"aria-describedby":null,"aria-disabled":V,"aria-dropeffect":null,"aria-expanded":[`true`,`false`,`undefined`],"aria-flowto":null,"aria-grabbed":[`true`,`false`,`undefined`],"aria-haspopup":V,"aria-hidden":V,"aria-invalid":[`true`,`false`,`grammar`,`spelling`],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":[`off`,`polite`,`assertive`],"aria-multiline":V,"aria-multiselectable":V,"aria-owns":null,"aria-posinset":null,"aria-pressed":[`true`,`false`,`mixed`,`undefined`],"aria-readonly":V,"aria-relevant":null,"aria-required":V,"aria-selected":[`true`,`false`,`undefined`],"aria-setsize":null,"aria-sort":[`ascending`,`descending`,`none`,`other`],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},W=`beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload`.split(` `).map(e=>`on`+e);for(let e of W)U[e]=null;var G=class{constructor(e,t){this.tags={...Je,...e},this.globalAttrs={...U,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};G.default=new G;function K(e,t,n=e.length){if(!t)return``;let r=t.firstChild,i=r&&r.getChild(`TagName`);return i?e.sliceString(i.from,Math.min(i.to,n)):``}function q(e,t=!1){for(;e;e=e.parent)if(e.name==`Element`){if(t)t=!1;else return e}return null}function J(e,t,n){return n.tags[K(e,q(t))]?.children||n.allTags}function Y(e,t){let n=[];for(let r=q(t);r&&!r.type.isTop;r=q(r.parent)){let i=K(e,r);if(i&&r.lastChild.name==`CloseTag`)break;i&&n.indexOf(i)<0&&(t.name==`EndTag`||t.from>=r.firstChild.to)&&n.push(i)}return n}var X=/^[:\-\.\w\u00b7-\uffff]*$/;function Ye(e,t,n,r,i){let a=/\s*>/.test(e.sliceDoc(i,i+5))?``:`>`,o=q(n,n.name==`StartTag`||n.name==`TagName`);return{from:r,to:i,options:J(e.doc,o,t).map(e=>({label:e,type:`type`})).concat(Y(e.doc,n).map((e,t)=>({label:`/`+e,apply:`/`+e+a,type:`type`,boost:99-t}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Xe(e,t,n,r){let i=/\s*>/.test(e.sliceDoc(r,r+5))?``:`>`;return{from:n,to:r,options:Y(e.doc,t).map((e,t)=>({label:e,apply:e+i,type:`type`,boost:99-t})),validFor:X}}function Ze(e,t,n,r){let i=[],a=0;for(let r of J(e.doc,n,t))i.push({label:`<`+r,type:`type`});for(let t of Y(e.doc,n))i.push({label:`</`+t+`>`,type:`type`,boost:99-a++});return{from:r,to:r,options:i,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function Qe(e,t,n,r,i){let a=q(n),o=a?t.tags[K(e.doc,a)]:null,s=o&&o.attrs?Object.keys(o.attrs):[];return{from:r,to:i,options:(o&&o.globalAttrs===!1?s:s.length?s.concat(t.globalAttrNames):t.globalAttrNames).map(e=>({label:e,type:`property`})),validFor:X}}function $e(e,t,n,r,i){let a=n.parent?.getChild(`AttributeName`),o=[],s;if(a){let c=e.sliceDoc(a.from,a.to),l=t.globalAttrs[c];if(!l){let r=q(n),i=r?t.tags[K(e.doc,r)]:null;l=i?.attrs&&i.attrs[c]}if(l){let t=e.sliceDoc(r,i).toLowerCase(),n=`"`,a=`"`;/^['"]/.test(t)?(s=t[0]==`"`?/^[^"]*$/:/^[^']*$/,n=``,a=e.sliceDoc(i,i+1)==t[0]?``:t[0],t=t.slice(1),r++):s=/^[^\s<>='"]*$/;for(let e of l)o.push({label:e,apply:n+e+a,type:`constant`})}}return{from:r,to:i,options:o,validFor:s}}function Z(t,n){let{state:r,pos:i}=n,a=e(r).resolveInner(i,-1),o=a.resolve(i);for(let e=i,t;o==a&&(t=a.childBefore(e));){let n=t.lastChild;if(!n||!n.type.isError||n.from<n.to)break;o=a=t,e=n.from}return a.name==`TagName`?a.parent&&/CloseTag$/.test(a.parent.name)?Xe(r,a,a.from,i):Ye(r,t,a,a.from,i):a.name==`StartTag`||a.name==`IncompleteTag`?Ye(r,t,a,i,i):a.name==`StartCloseTag`||a.name==`IncompleteCloseTag`?Xe(r,a,i,i):a.name==`OpenTag`||a.name==`SelfClosingTag`||a.name==`AttributeName`?Qe(r,t,a,a.name==`AttributeName`?a.from:i,i):a.name==`Is`||a.name==`AttributeValue`||a.name==`UnquotedAttributeValue`?$e(r,t,a,a.name==`Is`?i:a.from,i):n.explicit&&(o.name==`Element`||o.name==`Text`||o.name==`Document`)?Ze(r,t,a,i):null}function et(e){return Z(G.default,e)}function tt(e){let{extraTags:t,extraGlobalAttributes:n}=e,r=n||t?new G(t,n):G.default;return e=>Z(r,e)}var nt=p.parser.configure({top:`SingleExpression`}),rt=[{tag:`script`,attrs:e=>e.type==`text/typescript`||e.lang==`ts`,parser:oe.parser},{tag:`script`,attrs:e=>e.type==`text/babel`||e.type==`text/jsx`,parser:ie.parser},{tag:`script`,attrs:e=>e.type==`text/typescript-jsx`,parser:re.parser},{tag:`script`,attrs(e){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type)},parser:nt},{tag:`script`,attrs(e){return!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type)},parser:p.parser},{tag:`style`,attrs(e){return(!e.lang||e.lang==`css`)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type))},parser:f.parser}],it=[{name:`style`,parser:f.parser.configure({top:`Styles`})}].concat(W.map(e=>({name:e,parser:p.parser}))),at=s.define({name:`html`,parser:qe.configure({props:[i.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit},Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].length<e.node.to)return e.continue();let t=null,n;for(let n=e.node;;){let e=n.lastChild;if(!e||e.name!=`Element`||e.to!=n.to)break;t=n=e}return t&&!((n=t.lastChild)&&(n.name==`CloseTag`||n.name==`SelfClosingTag`))?e.lineIndent(t.from)+e.unit:null}}),l.add({Element(e){let t=e.firstChild,n=e.lastChild;return!t||t.name!=`OpenTag`?null:{from:t.to,to:n.name==`CloseTag`?n.from:e.to}}}),c.add({"OpenTag CloseTag":e=>e.getChild(`TagName`)})]}),languageData:{commentTokens:{block:{open:`<!--`,close:`-->`}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:`-_`}}),Q=at.configure({wrap:I(rt,it)});function ot(e={}){let t=``,n;e.matchClosingTags===!1&&(t=`noMatch`),e.selfClosingTags===!0&&(t=(t?t+` `:``)+`selfClosing`),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(n=I((e.nestedLanguages||[]).concat(rt),(e.nestedAttributes||[]).concat(it)));let r=n?at.configure({wrap:n,dialect:t}):t?Q.configure({dialect:t}):Q;return new o(r,[Q.data.of({autocomplete:tt(e)}),e.autoCloseTags===!1?[]:ct,ae().support,ne().support])}var $=new Set(`area base br col command embed frame hr img input keygen link meta param source track wbr menuitem`.split(` `));function st(e,t,n){for(;;){if(t.lastChild?.name!=`CloseTag`)return!1;let r=t.parent;if(!r||K(e,r)!=n)return!0;t=r}}var ct=n.inputHandler.of((t,n,r,i,o)=>{if(t.composing||t.state.readOnly||n!=r||i!=`>`&&i!=`/`||!Q.isActiveAt(t.state,n,-1))return!1;let s=o(),{state:c}=s,l=c.changeByRange(t=>{let n=c.doc.sliceString(t.from-1,t.to)==i,{head:r}=t,o=e(c).resolveInner(r,-1),s;if(n&&i==`>`&&o.name==`EndTag`){let e=o.parent;if((s=K(c.doc,e.parent,r))&&!$.has(s)&&!st(c.doc,e.parent,s))return{range:t,changes:{from:r,to:r+ +(c.doc.sliceString(r,r+1)===`>`),insert:`</${s}>`}}}else if(n&&i==`/`&&o.name==`IncompleteCloseTag`){let e=o.parent;if(o.from==r-2&&e.lastChild?.name!=`CloseTag`&&(s=K(c.doc,e,r))&&!$.has(s)){let e=r+ +(c.doc.sliceString(r,r+1)===`>`),t=`${s}>`;return{range:a.cursor(r+t.length,-1),changes:{from:r,to:e,insert:t}}}}return{range:t}});return!l.changes.empty&&(t.dispatch([s,c.update(l,{userEvent:`input.complete`,scrollIntoView:!0})]),!0)});export{ot as html,et as htmlCompletionSource};