@ahpd/web 0.4.0 → 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 (144) hide show
  1. package/dist/app/assets/{ActivityBarItem-DNjVAT_E.js → ActivityBarItem-ai2cgVXn.js} +1 -1
  2. package/dist/app/assets/{AudioPage-CTBMdEWh.js → AudioPage-g-XDUEDw.js} +1 -1
  3. package/dist/app/assets/Bood-Dg-XtOTh.js +1 -0
  4. package/dist/app/assets/BotLayer-DBe4Fyhe.js +1 -0
  5. package/dist/app/assets/CommandPalette-G86xI_6j.js +1 -0
  6. package/dist/app/assets/Composer-DYocj0Ot.js +2 -0
  7. package/dist/app/assets/{ContextMenu-DYnWIBAF.js → ContextMenu-DlF_3KO_.js} +1 -1
  8. package/dist/app/assets/{CopyButton-Dqp4FT7R.js → CopyButton-BSesWpVW.js} +1 -1
  9. package/dist/app/assets/{DataTable-Di749duh.js → DataTable-BwoG_VY8.js} +1 -1
  10. package/dist/app/assets/Details-CH_RhTnb.js +1 -0
  11. package/dist/app/assets/DiffPage-BWZV83j-.js +3 -0
  12. package/dist/app/assets/Edit-C2ayFdz3.js +1 -0
  13. package/dist/app/assets/Edit-nBofGkbp.js +1 -0
  14. package/dist/app/assets/Explorer-8HHRQU3j.js +1 -0
  15. package/dist/app/assets/Explorer-B4eWCDt-.js +1 -0
  16. package/dist/app/assets/Explorer-CcJsHUFk.js +1 -0
  17. package/dist/app/assets/Explorer-D4cvjXRf.js +1 -0
  18. package/dist/app/assets/Explorer-D5NpZ_El.js +1 -0
  19. package/dist/app/assets/Explorer-D5UOVCR4.js +1 -0
  20. package/dist/app/assets/Explorer-Dbqg4t3H.js +1 -0
  21. package/dist/app/assets/Explorer-Dg4dz1Y8.js +1 -0
  22. package/dist/app/assets/Explorer-Dy6T9Nil.js +1 -0
  23. package/dist/app/assets/Explorer-DzRNgpV9.js +1 -0
  24. package/dist/app/assets/ExplorerList-DU80dY_f.js +1 -0
  25. package/dist/app/assets/Field-jnYjqqvV.js +1 -0
  26. package/dist/app/assets/FilePage-Cqa5Gu-X.js +1 -0
  27. package/dist/app/assets/{HeaderAction-Vq-h0k1X.js → HeaderAction-Bs-AE__U.js} +1 -1
  28. package/dist/app/assets/HostLines-CtIqw3A0.js +1 -0
  29. package/dist/app/assets/HostSwitcher-CBjT2TTb.js +1 -0
  30. package/dist/app/assets/{ImagePage-iB_X7JK-.js → ImagePage-C0fdIV7s.js} +1 -1
  31. package/dist/app/assets/Info-DPV0HZOg.js +1 -0
  32. package/dist/app/assets/LogPage-C3fGac0t.js +1 -0
  33. package/dist/app/assets/LoginForm-DxyP1mZO.js +1 -0
  34. package/dist/app/assets/MarkdownPage-qhogl5sV.js +1 -0
  35. package/dist/app/assets/NamedPage-CoZEwEtx.js +1 -0
  36. package/dist/app/assets/New-BiFpU6ut.js +4 -0
  37. package/dist/app/assets/New-GW4BjzMj.js +1 -0
  38. package/dist/app/assets/OpenEditors-DN3NPzWo.js +1 -0
  39. package/dist/app/assets/Page-1jvuUZH2.js +1 -0
  40. package/dist/app/assets/Page-B1rQUqL-.js +1 -0
  41. package/dist/app/assets/Page-By2cWeM8.js +3 -0
  42. package/dist/app/assets/Page-DKXwLUAx.css +1 -0
  43. package/dist/app/assets/Page-JyFk5XMA.js +1 -0
  44. package/dist/app/assets/Page-fKKaK_Dn.js +1 -0
  45. package/dist/app/assets/PoolPage-cZ6yGgGG.js +1 -0
  46. package/dist/app/assets/PortaLock-DD-lS5R3.js +2 -0
  47. package/dist/app/assets/RolePage-C4v5v12n.js +3 -0
  48. package/dist/app/assets/{Settings-D7Fa-31J.js → Settings-CAzrumeA.js} +1 -1
  49. package/dist/app/assets/SigillumGate-CXCvctfp.js +1 -0
  50. package/dist/app/assets/{SingleLayout-DrZzqh9e.js → SingleLayout-Bi4nK6CY.js} +1 -1
  51. package/dist/app/assets/{SpatialLayout-DZfRmqF0.js → SpatialLayout-QbjNYiGj.js} +1 -1
  52. package/dist/app/assets/{SplitLayout-Bytjyrrj.js → SplitLayout-tQayoihg.js} +1 -1
  53. package/dist/app/assets/{StackLayout-BCyRY0nG.js → StackLayout-B0qUSU7d.js} +1 -1
  54. package/dist/app/assets/Start-NxBne1u6.js +1 -0
  55. package/dist/app/assets/{TabLayout-Czi2A6i3.js → TabLayout-B_pbKMRi.js} +1 -1
  56. package/dist/app/assets/{TabPanelLayout-B_7L0Dyp.js → TabPanelLayout-DKamepPL.js} +1 -1
  57. package/dist/app/assets/TerminalPage-AG2B5hHZ.js +18 -0
  58. package/dist/app/assets/ThemeModeToggle-DmEp0Qr8.js +1 -0
  59. package/dist/app/assets/ThemePicker-Bj_ObpXS.js +1 -0
  60. package/dist/app/assets/{Tree-BvNPcfhW.js → Tree-DoJ8zO-u.js} +1 -1
  61. package/dist/app/assets/UserPage-C0Vk5NUV.js +1 -0
  62. package/dist/app/assets/VideoPage-CKx-gxgb.js +1 -0
  63. package/dist/app/assets/actions-CFnmwNqb.js +1 -0
  64. package/dist/app/assets/actions-CkDFjYZd.js +1 -0
  65. package/dist/app/assets/changeset-FRFDlNj7.js +1 -0
  66. package/dist/app/assets/channel-BWOXaftf.js +3 -0
  67. package/dist/app/assets/{clicks-Doh5a3f9.js → clicks-BeeNCvCP.js} +1 -1
  68. package/dist/app/assets/composer-commands-CzjP_L_C.js +2 -0
  69. package/dist/app/assets/data-DsJQo1Qk.js +3 -0
  70. package/dist/app/assets/drag-CxTqzQcr.js +1 -0
  71. package/dist/app/assets/emojis-B4zHbUyk.js +1 -0
  72. package/dist/app/assets/form-Bw0484oP.js +2 -0
  73. package/dist/app/assets/grouping-BZNQYyEm.js +1 -0
  74. package/dist/app/assets/hosts-A0gEDScb.js +3 -0
  75. package/dist/app/assets/index-DJ3IEy30.css +1 -0
  76. package/dist/app/assets/index-ddqm5vYD.js +19 -0
  77. package/dist/app/assets/locales-DOA2j2AT.js +3 -0
  78. package/dist/app/assets/media-BFQqiLAd.js +1 -0
  79. package/dist/app/assets/notify-B2F6UAgq.js +1 -0
  80. package/dist/app/assets/pick-CEYUa4kK.js +1 -0
  81. package/dist/app/assets/pins-DhjQhJuu.js +1 -0
  82. package/dist/app/assets/save-file-CirO0l-u.js +1 -0
  83. package/dist/app/assets/save-zwMG_vNN.js +1 -0
  84. package/dist/app/assets/sessions-DxQFcZ2M.js +2 -0
  85. package/dist/app/assets/state-DQKzjLgu.js +1 -0
  86. package/dist/app/assets/{terminal-_7S7Eyr-.js → terminal-Ctk6FYnN.js} +1 -1
  87. package/dist/app/assets/text-D6GxOCYM.js +1 -0
  88. package/dist/app/assets/trust-ask-ewG_CvW8.js +1 -0
  89. package/dist/app/assets/viewers--ctbhTPt.js +1 -0
  90. package/dist/app/assets/{words-DF1J9CaQ.js → words-1m-GRHoT.js} +1 -1
  91. package/dist/app/assets/words-D8X2_Vc_.js +1 -0
  92. package/dist/app/index.html +23 -16
  93. package/dist/embed/index.d.ts +17 -4
  94. package/dist/embed/index.js +4 -0
  95. package/package.json +2 -1
  96. package/dist/app/assets/CommandPalette-wYX5XXUP.js +0 -1
  97. package/dist/app/assets/Composer-DHrV5Yeq.js +0 -2
  98. package/dist/app/assets/Details-DD3vmkCl.js +0 -1
  99. package/dist/app/assets/DiffPage-BId8ozv7.js +0 -3
  100. package/dist/app/assets/Edit-jFXpMjZc.js +0 -1
  101. package/dist/app/assets/Explorer-COyfGhcR.js +0 -1
  102. package/dist/app/assets/Explorer-Cau0IyIv.js +0 -1
  103. package/dist/app/assets/Explorer-DV3iMW_H.js +0 -1
  104. package/dist/app/assets/Explorer-Dfcbd81k.js +0 -1
  105. package/dist/app/assets/Explorer-gCfiH4Xy.js +0 -1
  106. package/dist/app/assets/ExplorerList-0duzRsX6.js +0 -1
  107. package/dist/app/assets/FilePage-C2oyHqAU.js +0 -1
  108. package/dist/app/assets/HostSwitcher-CpnK8XaS.js +0 -1
  109. package/dist/app/assets/Info-zs1cf5D4.js +0 -1
  110. package/dist/app/assets/LogPage-BksXBBRH.js +0 -1
  111. package/dist/app/assets/LoginForm-C83NjSZc.js +0 -1
  112. package/dist/app/assets/MarkdownPage-B3Uf-uhF.js +0 -1
  113. package/dist/app/assets/New-DSGbzxwy.js +0 -4
  114. package/dist/app/assets/OpenEditors-FoK0L7cG.js +0 -1
  115. package/dist/app/assets/Page-C__t0LNx.js +0 -1
  116. package/dist/app/assets/Page-D2Aojkph.js +0 -2
  117. package/dist/app/assets/Page-D_hX82GR.js +0 -1
  118. package/dist/app/assets/PortaLock-Q4MlsHWm.js +0 -2
  119. package/dist/app/assets/SigillumGate-B75RU_FM.js +0 -1
  120. package/dist/app/assets/Start-DX8T0ii8.js +0 -1
  121. package/dist/app/assets/TerminalPage-BOIBCy2W.js +0 -18
  122. package/dist/app/assets/ThemeModeToggle-CFpNVcU1.js +0 -1
  123. package/dist/app/assets/ThemePicker-CqnA9Que.js +0 -1
  124. package/dist/app/assets/VideoPage-v3zVSos7.js +0 -1
  125. package/dist/app/assets/actions-CIzLn0YN.js +0 -1
  126. package/dist/app/assets/changeset-IbJWvDqP.js +0 -1
  127. package/dist/app/assets/channel-C6Ss9Aem.js +0 -1
  128. package/dist/app/assets/composer-commands-BOXuqfcP.js +0 -2
  129. package/dist/app/assets/data-DPJ4OTLn.js +0 -2
  130. package/dist/app/assets/drag-ruzgQUFW.js +0 -1
  131. package/dist/app/assets/emojis-DanG-8fr.js +0 -1
  132. package/dist/app/assets/folder-path-CJJ4uFfN.js +0 -1
  133. package/dist/app/assets/grouping-DtiUUpdw.js +0 -1
  134. package/dist/app/assets/index-BiJaGB50.css +0 -1
  135. package/dist/app/assets/index-xynK_AEL.js +0 -14
  136. package/dist/app/assets/locales-Dnk_Y338.js +0 -1
  137. package/dist/app/assets/media-Da9OmSvb.js +0 -1
  138. package/dist/app/assets/notify-BmjJL_fx.js +0 -1
  139. package/dist/app/assets/sessions-CLjdYeF3.js +0 -2
  140. package/dist/app/assets/state-CKNqusrK.js +0 -1
  141. package/dist/app/assets/text-D_lQQGN1.js +0 -1
  142. package/dist/app/assets/viewers-Vk4T9IkZ.js +0 -1
  143. package/dist/app/assets/words-T8-D0K4W.js +0 -1
  144. /package/dist/app/{ahpw.svg → assets/ahpw-FhxegLNr.svg} +0 -0
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{n as r}from"./ScenaProvider-6A3TJumQ.js";import{t as i}from"./ContextMenu-DYnWIBAF.js";var a=t(),o=e(),s=`$/layout/surfaces/sidebar:left/section`;function c(e){return e!==void 0&&e!==``&&Number(e)!==0}function l(e){return typeof e==`number`&&e>99?`99+`:e}function u({icon:e,label:t,section:u,sectionPath:d=s,pos:f,badge:p,badgeTone:m=`accent`,badgeLabel:h,secondBadge:g,secondBadgeTone:_=`accent`,secondBadgeLabel:v,command:y,args:b,menu:x,onClick:S,className:C,style:w}){let T=r(),[E,D]=(0,a.useState)(null),O=n(d),k=n(d.replace(/\/section$/,`/visible`)),A=u!==void 0&&O===u&&k!==!1,j=c(p),M=c(g),N=[...j?[h?`${p} ${h}`:`${p}`]:[],...M?[v?`${g} ${v}`:`${g}`]:[]],P=t??u??``,F=N.length===0?t:`${P}: ${N.join(`, `)}`;function I(e){if(x){let t=e.currentTarget.getBoundingClientRect();D({x:t.right+2,y:t.top});return}if(S){S();return}y&&T.commands.execute(y,b),u&&T.commands.execute(`sidebar.activate`,{...b,section:u})}return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`button`,{type:`button`,className:[`oo-activity-item`,C].filter(Boolean).join(` `),style:w,"data-active":A,"data-pos":f,title:F,"aria-label":F,"aria-current":A?`true`:void 0,"aria-haspopup":x?`menu`:void 0,"aria-expanded":x?E!==null:void 0,onClick:I,children:[(0,o.jsx)(`span`,{className:`oo-activity-item__icon`,"aria-hidden":`true`,children:e??`·`}),j?(0,o.jsx)(`span`,{className:`oo-activity-item__badge`,"data-tone":m,"aria-hidden":`true`,children:l(p)}):null,M?(0,o.jsx)(`span`,{className:`oo-activity-item__badge oo-activity-item__badge--second`,"data-tone":_,"aria-hidden":`true`,children:l(g)}):null]}),x&&E?(0,o.jsx)(i,{x:E.x,y:E.y,onClose:()=>D(null),spec:{query:{slot:x},groupLabels:!1}}):null]})}export{u as ActivityBarItem,u as default};
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{n as r}from"./ScenaProvider-6A3TJumQ.js";import{t as i}from"./ContextMenu-DlF_3KO_.js";var a=t(),o=e(),s=`$/layout/surfaces/sidebar:left/section`;function c(e){return e!==void 0&&e!==``&&Number(e)!==0}function l(e){return typeof e==`number`&&e>99?`99+`:e}function u({icon:e,label:t,section:u,sectionPath:d=s,pos:f,badge:p,badgeTone:m=`accent`,badgeLabel:h,secondBadge:g,secondBadgeTone:_=`accent`,secondBadgeLabel:v,command:y,args:b,menu:x,onClick:S,className:C,style:w}){let T=r(),[E,D]=(0,a.useState)(null),O=n(d),k=n(d.replace(/\/section$/,`/visible`)),A=u!==void 0&&O===u&&k!==!1,j=c(p),M=c(g),N=[...j?[h?`${p} ${h}`:`${p}`]:[],...M?[v?`${g} ${v}`:`${g}`]:[]],P=t??u??``,F=N.length===0?t:`${P}: ${N.join(`, `)}`;function I(e){if(x){let t=e.currentTarget.getBoundingClientRect();D({x:t.right+2,y:t.top});return}if(S){S();return}y&&T.commands.execute(y,b),u&&T.commands.execute(`sidebar.activate`,{...b,section:u})}return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`button`,{type:`button`,className:[`oo-activity-item`,C].filter(Boolean).join(` `),style:w,"data-active":A,"data-pos":f,title:F,"aria-label":F,"aria-current":A?`true`:void 0,"aria-haspopup":x?`menu`:void 0,"aria-expanded":x?E!==null:void 0,onClick:I,children:[(0,o.jsx)(`span`,{className:`oo-activity-item__icon`,"aria-hidden":`true`,children:e??`·`}),j?(0,o.jsx)(`span`,{className:`oo-activity-item__badge`,"data-tone":m,"aria-hidden":`true`,children:l(p)}):null,M?(0,o.jsx)(`span`,{className:`oo-activity-item__badge oo-activity-item__badge--second`,"data-tone":_,"aria-hidden":`true`,children:l(g)}):null]}),x&&E?(0,o.jsx)(i,{x:E.x,y:E.y,onClose:()=>D(null),spec:{query:{slot:x},groupLabels:!1}}):null]})}export{u as ActivityBarItem,u as default};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useI18n-T3BwAm0z.js";import{t as r}from"./emojis-DanG-8fr.js";import{t as i}from"./media-Da9OmSvb.js";var a=t(),o=e(),s=64,c=e=>!Number.isFinite(e)||e<=0?`0:00`:`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`;function l({url:e}){let{t}=n(),i=(0,a.useRef)(null),[l,u]=(0,a.useState)(!1),[d,f]=(0,a.useState)(0),[p,m]=(0,a.useState)(0),[h,g]=(0,a.useState)(1),[_,v]=(0,a.useState)(!1),y=(0,a.useMemo)(()=>Array.from({length:s},(e,t)=>Math.min(100,Math.max(15,(Math.abs(Math.sin(t*.45)*.6+Math.cos(t*.9)*.4)+t%5*.06)*100))),[]),b=p>0?d/p:0,x=()=>{let e=i.current;e!==null&&(e.paused?e.play().catch(()=>v(!0)):e.pause())},S=e=>{let t=i.current;t===null||p<=0||(t.currentTime=e*p,f(t.currentTime))};return _?(0,o.jsx)(`p`,{className:`web-note web-media__note`,children:t(`files/audio/cannotPlay`)}):(0,o.jsxs)(`div`,{className:`web-audio`,children:[(0,o.jsx)(`button`,{type:`button`,className:`web-audio__play`,onClick:x,title:t(l?`files/audio/pause`:`files/audio/play`),children:l?r.pause:r.run}),(0,o.jsxs)(`div`,{className:`web-audio__track`,children:[(0,o.jsx)(`div`,{className:`web-audio__bars`,onClick:e=>{let t=e.currentTarget.getBoundingClientRect();S(Math.min(1,Math.max(0,(e.clientX-t.left)/t.width)))},children:y.map((e,t)=>(0,o.jsx)(`span`,{"data-played":b>=t/s?`true`:`false`,style:{height:`${e}%`}},t))}),(0,o.jsxs)(`div`,{className:`web-audio__time`,children:[(0,o.jsx)(`span`,{children:c(d)}),(0,o.jsx)(`span`,{children:c(p)})]})]}),(0,o.jsxs)(`button`,{type:`button`,className:`web-audio__rate`,onClick:()=>{let e=h>=2?.5:h+.5;i.current!==null&&(i.current.playbackRate=e),g(e)},title:t(`files/audio/speed`),children:[h,`x`]}),(0,o.jsx)(`audio`,{ref:i,src:e,preload:`metadata`,onPlay:()=>u(!0),onPause:()=>u(!1),onEnded:()=>u(!1),onTimeUpdate:e=>f(e.currentTarget.currentTime),onLoadedMetadata:e=>m(e.currentTarget.duration),onError:()=>v(!0)})]})}function u({uri:e}){return(0,o.jsx)(i,{uri:e,children:e=>(0,o.jsx)(l,{url:e})})}export{u as default};
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useI18n-T3BwAm0z.js";import{t as r}from"./emojis-B4zHbUyk.js";import{t as i}from"./media-BFQqiLAd.js";var a=t(),o=e(),s=64,c=e=>!Number.isFinite(e)||e<=0?`0:00`:`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`;function l({url:e}){let{t}=n(),i=(0,a.useRef)(null),[l,u]=(0,a.useState)(!1),[d,f]=(0,a.useState)(0),[p,m]=(0,a.useState)(0),[h,g]=(0,a.useState)(1),[_,v]=(0,a.useState)(!1),y=(0,a.useMemo)(()=>Array.from({length:s},(e,t)=>Math.min(100,Math.max(15,(Math.abs(Math.sin(t*.45)*.6+Math.cos(t*.9)*.4)+t%5*.06)*100))),[]),b=p>0?d/p:0,x=()=>{let e=i.current;e!==null&&(e.paused?e.play().catch(()=>v(!0)):e.pause())},S=e=>{let t=i.current;t===null||p<=0||(t.currentTime=e*p,f(t.currentTime))};return _?(0,o.jsx)(`p`,{className:`web-note web-media__note`,children:t(`files/audio/cannotPlay`)}):(0,o.jsxs)(`div`,{className:`web-audio`,children:[(0,o.jsx)(`button`,{type:`button`,className:`web-audio__play`,onClick:x,title:t(l?`files/audio/pause`:`files/audio/play`),children:l?r.pause:r.run}),(0,o.jsxs)(`div`,{className:`web-audio__track`,children:[(0,o.jsx)(`div`,{className:`web-audio__bars`,onClick:e=>{let t=e.currentTarget.getBoundingClientRect();S(Math.min(1,Math.max(0,(e.clientX-t.left)/t.width)))},children:y.map((e,t)=>(0,o.jsx)(`span`,{"data-played":b>=t/s?`true`:`false`,style:{height:`${e}%`}},t))}),(0,o.jsxs)(`div`,{className:`web-audio__time`,children:[(0,o.jsx)(`span`,{children:c(d)}),(0,o.jsx)(`span`,{children:c(p)})]})]}),(0,o.jsxs)(`button`,{type:`button`,className:`web-audio__rate`,onClick:()=>{let e=h>=2?.5:h+.5;i.current!==null&&(i.current.playbackRate=e),g(e)},title:t(`files/audio/speed`),children:[h,`x`]}),(0,o.jsx)(`audio`,{ref:i,src:e,preload:`metadata`,onPlay:()=>u(!0),onPause:()=>u(!1),onEnded:()=>u(!1),onTimeUpdate:e=>f(e.currentTarget.currentTime),onLoadedMetadata:e=>m(e.currentTarget.duration),onError:()=>v(!0)})]})}function u({host:e,uri:t}){return(0,o.jsx)(i,{host:e,uri:t,children:e=>(0,o.jsx)(l,{url:e})})}export{u as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{Ut as r}from"./index-ddqm5vYD.js";var i=8500,a=5e3,o=`0 0 ${i} ${a}`,s=[i/2,a/2],c=i/2,l=[i/2,a*.88],u={dark:{eyeRing:`#DCDC00`,pupil:`#004EEA`,mouth:`#60a5fa`,antenna:`#2563eb`,antennaDot:`#b7c900`},light:{eyeRing:`#b7c900`,pupil:`#004EEA`,mouth:`#2563eb`,antenna:`#2563eb`,antennaDot:`#b7c900`}},d={dark:`#2f9e5b`,light:`#247a46`},f={thinking:`#7c3aed`,planning:`#6366f1`,executing:`#3b82f6`,reflecting:`#8b5cf6`,observing:`#0ea5e9`,learning:`#10b981`,waiting_external:`#475569`,failed:`#ef4444`,error:`#ef4444`,sad:`#1e40af`,surprised:`#f59e0b`};function p(e,t){return f[e]??d[t]}function m(e,t){let n=n=>Math.round(parseInt(e.slice(n,n+2),16)*(1-t)).toString(16).padStart(2,`0`);return`#${n(1)}${n(3)}${n(5)}`}function h(e,t){let n=n=>{let r=parseInt(e.slice(n,n+2),16);return Math.round(r+(255-r)*t).toString(16).padStart(2,`0`)};return`#${n(1)}${n(3)}${n(5)}`}var g=`#0f172a`;function _(e){let t=t=>{let n=parseInt(e.slice(t,t+2),16)/255;return n<=.04045?n/12.92:((n+.055)/1.055)**2.4};return .2126*t(1)+.7152*t(3)+.0722*t(5)}function v(e,t){let[n,r]=[_(e),_(t)].sort((e,t)=>t-e);return(n+.05)/(r+.05)}var y=.5,b=2;function x(e){if(!/^#[0-9a-f]{6}$/i.test(e))return g;let t=m(e,y);return v(e,t)>=b?t:h(e,y)}var S=.7;function C(e){return!/^#[0-9a-f]{6}$/i.test(e)||v(e,`#0f172a`)>=b?g:h(e,S)}var w=8,T=new Map;function ee(e){let t=[];for(let n of e.matchAll(/([MmLlHhVvCcSsQqTtAaZz])|(-?(?:\d+\.?\d*|\.\d+)(?:[eE][-+]?\d+)?)/g))t.push(n[1]??Number(n[2]));return t}function te(e,t,n,r,i,a,o){if(t===0||n===0)return[o];let s=r*Math.PI/180,c=Math.cos(s),l=Math.sin(s),u=(e[0]-o[0])/2,d=(e[1]-o[1])/2,f=c*u+l*d,p=-l*u+c*d;t=Math.abs(t),n=Math.abs(n);let m=f*f/(t*t)+p*p/(n*n);m>1&&(t*=Math.sqrt(m),n*=Math.sqrt(m));let h=t*t*n*n-t*t*p*p-n*n*f*f,g=t*t*p*p+n*n*f*f,_=(i===a?-1:1)*Math.sqrt(Math.max(0,h/g)),v=_*t*p/n,y=-_*n*f/t,b=c*v-l*y+(e[0]+o[0])/2,x=l*v+c*y+(e[1]+o[1])/2,S=(e,t,n,r)=>Math.atan2(e*r-t*n,e*n+t*r),C=S(1,0,(f-v)/t,(p-y)/n),T=S((f-v)/t,(p-y)/n,(-f-v)/t,(-p-y)/n);!a&&T>0&&(T-=Math.PI*2),a&&T<0&&(T+=Math.PI*2);let ee=[];for(let e=1;e<=w;e+=1){let r=C+T*e/w;ee.push([b+t*Math.cos(r)*c-n*Math.sin(r)*l,x+t*Math.cos(r)*l+n*Math.sin(r)*c])}return ee}function E(e){let t=T.get(e);if(t!==void 0)return t;let n=ne(e);return T.set(e,n),n}function ne(e){let t=ee(e),n=[],r=[],i=[0,0],a=[0,0],o=null,s=``,c=0,l=()=>t[c++],u=()=>{r.length>2&&n.push(r),r=[]},d=(e,t,n)=>{for(let a=1;a<=w;a+=1){let o=a/w,s=1-o;r.push([s*s*s*i[0]+3*s*s*o*e[0]+3*s*o*o*t[0]+o*o*o*n[0],s*s*s*i[1]+3*s*s*o*e[1]+3*s*o*o*t[1]+o*o*o*n[1]])}o=t,i=n},f=(e,t)=>{for(let n=1;n<=w;n+=1){let a=n/w,o=1-a;r.push([o*o*i[0]+2*o*a*e[0]+a*a*t[0],o*o*i[1]+2*o*a*e[1]+a*a*t[1]])}o=e,i=t};for(;c<t.length;){typeof t[c]==`string`&&(s=t[c++]);let e=s===s.toLowerCase(),n=e?i[0]:0,p=e?i[1]:0;switch(s.toUpperCase()){case`M`:u(),i=[n+l(),p+l()],a=i,r.push(i),o=null,s=e?`l`:`L`;break;case`L`:i=[n+l(),p+l()],r.push(i),o=null;break;case`H`:i=[(e?i[0]:0)+l(),i[1]],r.push(i),o=null;break;case`V`:i=[i[0],(e?i[1]:0)+l()],r.push(i),o=null;break;case`C`:d([n+l(),p+l()],[n+l(),p+l()],[n+l(),p+l()]);break;case`S`:d(o===null?i:[2*i[0]-o[0],2*i[1]-o[1]],[n+l(),p+l()],[n+l(),p+l()]);break;case`Q`:f([n+l(),p+l()],[n+l(),p+l()]);break;case`T`:f(o===null?i:[2*i[0]-o[0],2*i[1]-o[1]],[n+l(),p+l()]);break;case`A`:{let e=l(),t=l(),a=l(),s=l()!==0,c=l()!==0,u=[n+l(),p+l()];r.push(...te(i,e,t,a,s,c,u)),i=u,o=null;break}case`Z`:u(),i=a,r.push(i),o=null;break;default:c+=1}}return u(),n}function re(e,t,n){let r=0;for(let i of e)for(let e=0;e<i.length;e+=1){let[a,o]=i[e],[s,c]=i[(e+1)%i.length];o<=n?c>n&&(s-a)*(n-o)-(t-a)*(c-o)>0&&(r+=1):c<=n&&(s-a)*(n-o)-(t-a)*(c-o)<0&&--r}return r!==0}var ie={idle:(e,t)=>`M ${e-328} ${t+82} Q ${e} ${t+115} ${e+328} ${t+82}`,observing:(e,t)=>`M ${e-328} ${t+82} Q ${e} ${t+115} ${e+328} ${t+82}`,thinking:(e,t)=>`M ${e-360} ${t+20} Q ${e} ${t+100} ${e+360} ${t-40}`,planning:(e,t)=>`M ${e-410} ${t+16} Q ${e} ${t+279} ${e+410} ${t+16}`,executing:(e,t)=>`M ${e-410} ${t} Q ${e} ${t+164} ${e+410} ${t}`,reflecting:(e,t)=>`M ${e-394} ${t+33} Q ${e+33} ${t+246} ${e+394} ${t+33}`,waiting_external:(e,t)=>`M ${e-328} ${t+82} Q ${e} ${t+115} ${e+328} ${t+82}`,learning:(e,t)=>`M ${e-410} ${t-16} Q ${e} ${t+410} ${e+410} ${t-16}`,happy:(e,t)=>`M ${e-475} ${t} Q ${e} ${t+325} ${e+475} ${t}`,neutral:(e,t)=>`M ${e-410} ${t} H ${e+410}`,sad:(e,t)=>`M ${e-450} ${t+210} Q ${e} ${t-130} ${e+450} ${t+210}`,surprised:(e,t)=>`M ${e} ${t} m -150 0 a 150 150 0 1 0 300 0 a 150 150 0 1 0 -300 0`,error:(e,t)=>`M ${e-390} ${t-130} L ${e+390} ${t+130} M ${e+390} ${t-130} L ${e-390} ${t+130}`,failed:(e,t)=>`M ${e-420} ${t} L ${e-300} ${t-75} L ${e-150} ${t} L ${e} ${t-75} L ${e+150} ${t} L ${e+300} ${t-75}`},ae={waiting_external:`#F8E277`,failed:`#F8E277`,error:`#EF4444`};function oe(e){return ae[e]??`#60a5fa`}function se(e,t){if(e.mouth===!1)return``;let{x:n,y:r,shapes:i}=e.mouth;return(i?.[t]??ie[t])(n,r)}var ce=.3,le=.5,ue=.6,de=.3,fe=17;function pe(e){let t=E(e),n=t.flat(),r=t[0],i=t.length===1&&r!==void 0&&r.length>1&&Math.hypot(r[0][0]-r.at(-1)[0],r[0][1]-r.at(-1)[1])>1,a=Math.min(...n.map(([e])=>e)),o=Math.max(...n.map(([e])=>e)),s=i?[...r].sort((e,t)=>e[0]-t[0]):[],c=(Math.min(...n.map(([,e])=>e))+Math.max(...n.map(([,e])=>e)))/2,l=e=>{if(!i)return c;let t=s.findIndex(([t])=>t>=e);if(t<=0)return s[0][1];let[n,r]=s[t-1],[a,o]=s[t];return a===n?o:r+(o-r)*(e-n)/(a-n)};return Array.from({length:fe},(e,t)=>{let n=a+(o-a)*t/16;return[n,l(n)]})}function me(e,t,n){let r=se(e,t);if(r===``)return``;let i=Math.max(0,Math.min(1,n)),a=pe(r),o=a[0][0],s=a.at(-1)[0],c=(o+s)/2,l=le*(s-o)*i,u=1-ce*i,d=e=>a.map(([t,n],r)=>{let i=Math.sin(Math.PI*r/16)**ue,a=e<0?de:.7;return`${Math.round(c+(t-c)*u)} ${Math.round(n+e*a*l*i)}`}),f=d(-1),p=d(1).reverse();return`M ${f.join(` L `)} L ${p.slice(1).join(` L `)} Z`}var he={idle:{rx:890,ry:890,pupilRadius:.3,pupilDx:.5,pupilDy:.5},observing:{rx:890,ry:890,pupilRadius:.3,pupilDx:.2,pupilDy:-.5},thinking:{rx:890,ry:880,pupilRadius:.4,rotate:35,pupilDx:.5,pupilDy:-.9},planning:{rx:850,ry:650,pupilRadius:.2,rotate:0,pupilDx:.8,pupilDy:.8},executing:{rx:890,ry:520,pupilRadius:.3,pupilDx:.2,pupilDy:.5},reflecting:{rx:790,ry:850,pupilRadius:.3,pupilDx:.2,pupilDy:-.85},waiting_external:{rx:890,ry:560,pupilRadius:.3,pupilDx:.2,pupilDy:.35,rotate:-5},learning:{rx:890,ry:890,pupilRadius:.5,pupilDx:.2,pupilDy:.5},failed:{rx:650,ry:750,pupilRadius:.25,pupilDx:-.5,pupilDy:.65,rotate:5},error:{rx:250,ry:850,pupilRadius:.3,pupilDx:0,pupilDy:0},happy:{rx:890,ry:890,pupilRadius:.45,pupilDx:.2,pupilDy:.55},neutral:{rx:890,ry:890,pupilRadius:.3,pupilDx:.2,pupilDy:.5},sad:{rx:890,ry:700,offsetY:80,pupilRadius:.4,pupilDx:.2,pupilDy:.75},surprised:{rx:990,ry:990,pupilRadius:.2,pupilDx:.2,pupilDy:.5}},ge={thinking:`#a78bfa`,planning:`#818cf8`,executing:`#60a5fa`,reflecting:`#c4b5fd`,observing:`#7dd3fc`,learning:`#6ee7b7`,waiting_external:`#94a3b8`,failed:`#f87171`,error:`#ef4444`,sad:`#60a5fa`,surprised:`#fbbf24`},_e={thinking:`#7c3aed`,planning:`#6366f1`,executing:`#3b82f6`,reflecting:`#8b5cf6`,observing:`#0ea5e9`,learning:`#10b981`,waiting_external:`#64748b`,failed:`#dc2626`,error:`#b91c1c`,sad:`#1e40af`,surprised:`#f59e0b`};function ve(e,t){return e===void 0||t<=0?0:Math.sign(e)*Math.min(Math.abs(e),1)*t}function D(e,t,n){let{centerX:r,centerY:i,gap:a,scale:o}=e.eyes,s=he[t],c=Math.min(800,Math.min(s.pupilRadius??.1,1)*800)*.8,l=s.rx*o,d=s.ry*o,f=i+(s.offsetY??0)*o,p=ve(s.pupilDx,Math.max(0,l-c-80)),m=ve(s.pupilDy,Math.max(0,d-c-80)),h=ge[t]??u[n].eyeRing,g=_e[t]??u[n].pupil,_=s.rotate??0;return[{cx:r-a,cy:f,rx:l,ry:d,rotate:-_,px:r-a+p,py:f+m,pr:c,ring:h,pupil:g},{cx:r+a,cy:f,rx:l,ry:d,rotate:_,px:r+a-p,py:f+m,pr:c,ring:h,pupil:g}]}function ye(e,t){let n=t===void 0?1/0:t.r-t.pupil-60;return{x:Math.max(0,Math.min(e.rx-e.pr-60,n)),y:Math.max(0,Math.min(e.ry-e.pr-60,n))}}var be=`#F8E277`,xe={idle:{left:`M 2640 1680 Q 3240 1620 3840 1680`,right:`M 4640 1680 Q 5240 1620 5840 1680`,ms:2400},observing:{left:`M 2640 1680 Q 3240 1640 3840 1680`,right:`M 4640 1640 Q 5240 1480 5840 1620`,ms:1400},thinking:{left:`M 2640 1620 Q 3240 1700 3840 1790`,right:`M 4640 1790 Q 5240 1700 5840 1620`,ms:1600},planning:{left:`M 2640 1650 Q 3340 1680 3840 1750`,right:`M 4640 1750 Q 5140 1680 5840 1650`,ms:1600},executing:{left:`M 2640 1640 L 3840 1730`,right:`M 4640 1730 L 5840 1640`,ms:800},reflecting:{left:`M 2640 1700 Q 3240 1560 3840 1680`,right:`M 4640 1680 Q 5240 1560 5840 1700`,ms:1600},waiting_external:{left:`M 2640 1700 Q 3240 1770 3840 1720`,right:`M 4640 1720 Q 5240 1770 5840 1700`,ms:3e3},learning:{left:`M 2640 1700 Q 3240 1500 3840 1650`,right:`M 4640 1650 Q 5240 1500 5840 1700`,ms:1e3},failed:{left:`M 2640 1840 Q 3240 1700 3840 1700`,right:`M 4640 1700 Q 5240 1700 5840 1840`,ms:5200},error:{left:`M 2640 1480 L 3840 1820`,right:`M 4640 1820 L 5840 1480`,ms:180},happy:{left:`M 2640 1520 Q 3240 1280 3840 1460`,right:`M 4640 1460 Q 5240 1280 5840 1520`,ms:1400},neutral:{left:`M 2640 1680 L 3840 1680`,right:`M 4640 1680 L 5840 1680`,ms:1600},sad:{left:`M 2640 1820 Q 3240 1620 3840 1500`,right:`M 4640 1500 Q 5240 1620 5840 1820`,ms:2600},surprised:{left:`M 2640 1380 Q 3240 1160 3840 1300`,right:`M 4640 1400 Q 5240 1160 5840 1380`,ms:600}};function Se(e){let{centerX:t,centerY:n,gap:r,scale:i}=e.eyes;if(t!==4240||n!==2540||r!==1e3||i!==.75)return`translate(${t} ${n}) scale(${r/1e3} ${i/.75}) translate(-4240 -2540)`}var Ce={idle:{swing:`gentle`,pulseMs:2400},observing:{swing:`gentle`,pulseMs:1600,radar:!0},thinking:{swing:`gentle`,pulseMs:1400,radar:!0,particles:!0,dotColor:`#DCDC00`},planning:{swing:`gentle`,pulseMs:1600,particles:!0},executing:{swing:`gentle`,pulseMs:1e3,dotColor:`#2f9e5b`},reflecting:{swing:`gentle`,pulseMs:2e3,particles:!0},waiting_external:{swing:`gentle`,pulseMs:2600,signalWave:!0},learning:{swing:`gentle`,pulseMs:1800,particles:!0},failed:{swing:`alarm`,pulseMs:600,curviness:90,rotation:-80,lineColor:`#ef4444`},happy:{swing:`gentle`,pulseMs:2400},neutral:{swing:`gentle`,pulseMs:2400},sad:{swing:`none`,pulseMs:3200,curviness:-40,rotation:-25},surprised:{swing:`gentle`,pulseMs:900},error:{swing:`gentle`,pulseMs:600,curviness:-80,rotation:-25,dotColor:`#ef4444`,lineColor:`#ef4444`}};function we(e,t){let n=t.curviness??0,r=e.x,i=e.y+e.stemHeight;return{stem:n===0?`M ${r} ${i} V ${e.y}`:`M ${r} ${i} Q ${e.x+n} ${e.y+e.stemHeight*.5} ${e.x} ${e.y}`,dotX:e.x,dotY:e.y-140,baseX:r,baseY:i}}function O(e){return e}var Te={x:4233,y:3750},k=(e,t)=>`M ${e-110} ${t} L ${e+110} ${t}`,Ee=(e,t)=>`M ${e-70} ${t} a 70 95 0 1 0 140 0 a 70 95 0 1 0 -140 0`,De=(e,t)=>`M ${e-120} ${t} L ${e-60} ${t-40} L ${e} ${t+30} L ${e+60} ${t-40} L ${e+120} ${t}`,Oe={idle:k,observing:k,thinking:k,planning:k,executing:k,reflecting:k,waiting_external:k,learning:k,neutral:k,sad:k,failed:De,error:De,happy:Ee,surprised:Ee},ke=`M4235 561c1003,0 1850,944 1850,1846 0,903 -1064,2309 -1850,2404 -690,-77 -1850,-1502 -1850,-2404 0,-903 847,-1846 1850,-1846z`,Ae=`M4269 1049c-44,0 -80,-36 -80,-80 0,-44 36,-80 80,-80 44,0 80,36 80,80 0,40 -30,73 -69,79l0 96 53 27 2 120c-27,-28 -72,-32 -104,-8 -35,26 -43,76 -17,111 26,35 76,43 111,17 35,-26 43,-76 17,-111`,je=O({id:`alien`,released:!0,name:`Etto`,parts:()=>[{d:ke,width:45,shape:!0},{d:Ae,width:20,opacity:.35,detail:!0}],eyes:{centerX:4250,centerY:2600,gap:900,scale:.8},mouth:{x:4250,y:3900,shapes:Oe},brows:!1,actions:[`teleport`,`scan`],turn:.08}),A=e=>Math.round(e);function j(e){let t=e.length,n=n=>e[(n+t)%t],r=`M ${A(n(0)[0])} ${A(n(0)[1])}`;for(let e=0;e<t;e+=1){let[t,i,a,o]=[n(e-1),n(e),n(e+1),n(e+2)],s=[i[0]+(a[0]-t[0])/6,i[1]+(a[1]-t[1])/6],c=[a[0]-(o[0]-i[0])/6,a[1]-(o[1]-i[1])/6];r+=` C ${A(s[0])} ${A(s[1])} ${A(c[0])} ${A(c[1])} ${A(a[0])} ${A(a[1])}`}return`${r} Z`}function M(e,t){let n=e.length,r=(e,t,n)=>{let r=Math.min(n/Math.hypot(t[0]-e[0],t[1]-e[1]),.5);return[e[0]+(t[0]-e[0])*r,e[1]+(t[1]-e[1])*r]};return`${e.map((i,a)=>{let o=typeof t==`number`?t:t[a]??0,s=r(i,e[(a-1+n)%n],o),c=r(i,e[(a+1)%n],o);return`${a===0?`M`:`L`} ${A(s[0])} ${A(s[1])} Q ${A(i[0])} ${A(i[1])} ${A(c[0])} ${A(c[1])}`}).join(` `)} Z`}function Me(e,t,n){return Array.from({length:t},(r,i)=>{let a=-Math.PI/2+i/t*Math.PI*2,o=n(i,a);return[e[0]+Math.cos(a)*o,e[1]+Math.sin(a)*o]})}function Ne(e,t,n){return`M ${e-n} ${t} A ${n} ${n} 0 1 0 ${e+n} ${t} A ${n} ${n} 0 1 0 ${e-n} ${t} Z`}function Pe(e,t,n=.35){let r=e.map((t,n)=>{let r=e[(n+1)%e.length];return{p:t,q:r,length:Math.hypot(r[0]-t[0],r[1]-t[1])}}),i=r.reduce((e,t)=>e+t.length,0)/t,a=[],o=0,s=0;for(let e=0;e<t;e+=1){let t=e*i-s;for(;t>(r[o]?.length??0)&&o<r.length-1;)t-=r[o].length,s+=r[o].length,o+=1;let{p:n,q:c,length:l}=r[o];a.push([n[0]+(c[0]-n[0])*t/l,n[1]+(c[1]-n[1])*t/l])}return a.map((e,r)=>{let i=a[(r-1+t)%t],o=a[(r+1)%t];return[e[0]+n*((i[0]+o[0])/2-e[0]),e[1]+n*((i[1]+o[1])/2-e[1])]})}var Fe=j(Me([4250,2e3],16,(e,t)=>Math.sin(t)>0?1750+250*Math.sin(t):1750).map(([e,t])=>[4250+(e-4250)*.92,t])),Ie=M([[4250,3900],[4500,4250],[4e3,4250]],120),Le=`M 4250 4250 C 4050 4500 4500 4650 4300 4950`,Re=O({id:`balloon`,released:!0,name:`Floo`,parts:()=>[{d:Fe,width:45,shape:!0},{d:Ie,width:45,shape:!0},{d:Le,width:60,detail:!0,opacity:.6}],eyes:{centerX:4250,centerY:2200,gap:750,scale:.68},mouth:{x:4250,y:3050},actions:[`float`,`pop`],turn:.08}),ze=`M 4400 1350 C 5000 1450 5500 750 6250 900 C 7150 1100 7300 2300 6950 3200 C 6550 4250 5300 4600 4000 4550 C 2600 4500 1450 3900 1350 2850 C 1250 1750 2100 950 3100 1000 C 3700 1030 3900 1270 4400 1350 Z`,Be=O({id:`bean`,released:!0,name:`Beni`,parts:()=>[{d:ze,width:45,shape:!0}],eyes:{centerX:4250,centerY:2600,gap:810,scale:.7},mouth:{x:4250,y:3650},actions:[`wiggle`,`jump`],turn:.08}),Ve=`M 4819 4700 A 2200 2200 0 1 1 6155 3675 Q 6052 3837 6177 4090 L 6426 4599 Q 6550 4850 6273 4813 L 5389 4694 Q 5002 4642 4819 4700 Z`,He=O({id:`bubble`,released:!0,name:`Poppi`,parts:()=>[{d:Ve,width:45,shape:!0}],eyes:{centerX:4250,centerY:2500,gap:750,scale:.68},mouth:{x:4250,y:3500},actions:[`pop`,`puff`],turn:.08}),Ue=M(Me([4250,2600],16,e=>e%2==0?2400:1550),Array.from({length:16},(e,t)=>t%2==0?180:120)),We=O({id:`burst`,released:!0,name:`Solar`,parts:()=>[{d:Ue,width:45,shape:!0}],eyes:{centerX:4250,centerY:2600,gap:650,scale:.64},mouth:{x:4250,y:3350},actions:[`rotate`,`aura`],turn:.05}),Ge=`M 4250 400 A 2150 2150 0 0 1 4250 4700 A 2150 2150 0 0 1 4250 400 Z`,Ke=O({id:`circle`,released:!0,name:`Unno`,parts:()=>[{d:Ge,width:45,shape:!0}],eyes:{centerX:4250,centerY:2350,gap:900,scale:.7},mouth:{x:4250,y:3550},actions:[`roll`,`pop`],turn:.09}),qe=`M 2040 4175 C 714 3767 1292 2135 2278 2033 C 2176 571 3706 95 4556 1251 C 5814 265 6936 1421 6698 2339 C 7990 3087 7140 4685 5950 4311 C 4794 4923 3944 4175 3400 4413 C 2822 4719 2346 4651 2040 4175 Z`,Je=O({id:`cloud`,released:!0,name:`Nimbo`,parts:()=>[{d:qe,width:45,shape:!0}],eyes:{centerX:4250,centerY:2600,gap:810,scale:.7},mouth:{x:4250,y:3650},actions:[`fart`,`puff`],turn:.08}),Ye=(()=>{let[e,t,n,r]=[4250,2550,2600,950],i=[];for(let a=0;a<4;a+=1){let o=Math.PI/4+a*Math.PI/2,[s,c]=[Math.cos(o),Math.sin(o)],[l,u]=[-c,s];i.push([e+s*n-l*r,t+c*n-u*r]),i.push([e+s*n+l*r,t+c*n+u*r]);let d=o+Math.PI/4;i.push([e+Math.cos(d)*r*Math.SQRT2,t+Math.sin(d)*r*Math.SQRT2])}return M(i,i.map((e,t)=>t%3==2?250:520))})(),Xe=O({id:`cross`,released:!0,name:`Exo`,parts:()=>[{d:Ye,width:45,shape:!0}],eyes:{centerX:4250,centerY:2550,gap:600,scale:.6},mouth:{x:4250,y:3200},actions:[`roll`,`pop`],turn:.04}),Ze=M([[4250,300],[6e3,2600],[4250,4900],[2500,2600]],450),Qe=O({id:`diamond`,released:!0,name:`Dia`,parts:()=>[{d:Ze,width:45,shape:!0}],eyes:{centerX:4250,centerY:2450,gap:620,scale:.62},mouth:{x:4250,y:3350},actions:[`tumble`,`wiggle`],turn:.05}),$e=`M 4420 520 C 5000 1300 5950 1900 5950 3050 A 1700 1700 0 0 1 2550 3050 C 2550 1900 3500 1300 4080 520 Q 4250 290 4420 520 Z`,et=O({id:`drop`,released:!0,name:`Drip`,parts:()=>[{d:$e,width:45,shape:!0}],eyes:{centerX:4250,centerY:3150,gap:810,scale:.7},mouth:{x:4250,y:4200},actions:[`drip`,`bubble`],turn:.08}),tt=[[4250,300],[4900,1500],[5300,1250],[5950,2700],[5800,3900],[4250,4750],[2700,3900],[2550,2600],[3100,1600],[3500,1900]],nt=0,rt=1,it=2,at=8,ot=9,st=tt.map((e,t)=>{let n=tt.length,r=tt[(t-1+n)%n],i=tt[(t+1)%n],a=[(i[0]-r[0])/6,(i[1]-r[1])/6];return{p:e,in:[-a[0],-a[1]],out:a}});function ct(e){return st.map((t,n)=>{let r=e[n];return r===void 0?t:{p:r.p,in:r.in??t.in,out:r.out??t.out}})}var lt=ct({[nt]:{p:[4370,300],in:[-380,180],out:[260,85]},[rt]:{p:[5006,1440],in:[-876,-276],out:[120,-150]},[ot]:{p:[3482,1848],out:[60,-560]}}),ut=ct({[nt]:{p:[3878,336],in:[-300,288],out:[100,-90]},[ot]:{p:[3494,1860],in:[-156,120],out:[660,-636]},[rt]:{p:[5018,1440]}}),dt=(e,t,n)=>[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n],ft=(e,t,n)=>e.map((e,r)=>({p:dt(e.p,t[r].p,n),in:dt(e.in,t[r].in,n),out:dt(e.out,t[r].out,n)})),pt=(e,[t,n])=>({...e,p:[e.p[0]+t,e.p[1]+n]}),N=Math.round;function mt(e){let t=e.length,n=`M ${N(e[0].p[0])} ${N(e[0].p[1])}`;for(let r=0;r<t;r+=1){let i=e[r],a=e[(r+1)%t];n+=` C ${N(i.p[0]+i.out[0])} ${N(i.p[1]+i.out[1])} ${N(a.p[0]+a.in[0])} ${N(a.p[1]+a.in[1])} ${N(a.p[0])} ${N(a.p[1])}`}return`${n} Z`}function ht(e,t=[0,0],n=[0,0],r=0){let i=e>=0?ft(st,lt,e):ft(st,ut,-e);return i[at]=pt(i[at],t),i[it]=pt(i[it],n),i[ot]=pt(i[ot],[0,r]),mt(i)}var gt=ht(0),_t=[150,180],vt=60,yt=15;function P(e){let t=[1,2,3].map(()=>Math.random()*2-1),n=t.reduce((e,t)=>e+Math.abs(t),0)||1;return r=>e*t.reduce((e,t,n)=>e+t*Math.sin((n+1)*Math.PI*r),0)/n}function bt(){let e=P(1),t=[P(_t[0]),P(_t[1])],n=[P(_t[0]),P(_t[1])],r=P(vt);return Array.from({length:yt},(i,a)=>{let o=(a+1)/16;return ht(e(o),[t[0](o),t[1](o)],[n[0](o),n[1](o)],r(o))})}var xt=O({id:`flame`,released:!0,name:`Ember`,parts:()=>[{d:gt,width:45,shape:!0}],eyes:{centerX:4250,centerY:3300,gap:750,scale:.66},mouth:{x:4250,y:4100},actions:[`flare`,`wiggle`],flow:{frames:bt,ms:4e3,glide:!0},turn:.07}),St=`M 6050 2100 L 6050 4150 A 600 600 0 0 1 4850 4150 A 600 600 0 0 1 3650 4150 A 600 600 0 0 1 2450 4150 L 2450 2100 A 1800 1800 0 0 1 6050 2100 Z`,Ct=O({id:`ghost`,released:!0,name:`Boozi`,parts:()=>[{d:St,width:45,shape:!0}],eyes:{centerX:4250,centerY:2600,gap:810,scale:.7},mouth:{x:4250,y:3650},actions:[`vanish`,`haunt`],turn:.08}),wt=`M 4250 280 C 6500 280, 7200 1700, 7050 2800 C 6950 3350, 5800 3500, 5400 3680 C 5200 3820, 5200 3980, 5400 4120 C 5800 4380, 5700 4750, 4250 4750 C 2800 4750, 2700 4380, 3100 4120 C 3300 3980, 3300 3820, 3100 3680 C 2700 3500, 1550 3350, 1450 2800 C 1300 1700, 2000 280, 4250 280 Z`,Tt=`M 2900 2400 C 2700 2700, 2700 3000, 2900 3200`,Et=`M 5600 2400 C 5800 2700, 5800 3000, 5600 3200`,Dt=O({id:`gumbo`,released:!0,name:`Gumbo`,parts:()=>[{d:wt,width:45,shape:!0},{d:Tt,width:20,opacity:.35,detail:!0},{d:Et,width:20,opacity:.35,detail:!0}],eyes:{centerX:4250,centerY:2150,gap:1200,scale:1.35},mouth:{x:4250,y:3200,shapes:Oe},actions:[`wobble`,`split`],turn:.08}),Ot=`M 4520 4560 Q 4250 4780 3980 4560 C 3000 3900 1700 3150 1700 2000 C 1700 1100 2400 450 3200 450 C 3700 450 4000 780 4120 1030 Q 4250 1230 4380 1030 C 4500 780 4800 450 5300 450 C 6100 450 6800 1100 6800 2000 C 6800 3150 5500 3900 4520 4560 Z`,kt=O({id:`heart`,released:!0,name:`Amie`,parts:()=>[{d:Ot,width:45,shape:!0}],eyes:{centerX:4250,centerY:2250,gap:850,scale:.7},mouth:{x:4250,y:3150},actions:[`beat`,`aura`],turn:.07}),At=`M 3687 525 Q 4250 200 4813 525 L 5722 1050 Q 6285 1375 6285 2025 L 6285 3075 Q 6285 3725 5722 4050 L 4813 4575 Q 4250 4900 3687 4575 L 2778 4050 Q 2215 3725 2215 3075 L 2215 2025 Q 2215 1375 2778 1050 Z`,jt=O({id:`hexagon`,released:!0,name:`Hexo`,parts:()=>[{d:At,width:45,shape:!0}],eyes:{centerX:4250,centerY:2600,gap:810,scale:.7},mouth:{x:4250,y:3650},actions:[`rotate`,`aura`],turn:.07}),Mt=`M4230 299l241 0c877,0 1594,718 1594,1594l0 1295c0,877 -718,1594 -1594,1594l-472 0c-877,0 -1594,-718 -1594,-1594l0 -1295c0,-877 718,-1594 1594,-1594l232 0`,Nt=`M2423 3436l642 476 252 716c-467,-223 -810,-666 -893,-1193z`,Pt=`M6045 3436l-642 476 -252 716c467,-223 810,-666 893,-1193z`,Ft=`M4899 358l0 477 -431 275 -468 0 -431 -275 0 -477c137,-38 280,-59 429,-59l472 0c148,0 292,21 429,59z`,It=`M4899 358 L4899 835 L4468 1110 L4000 1110 L3569 835 L3569 358`,Lt=`M3749 318 L3749 774 L4059 972 L4410 972 L4719 774 L4719 318`,Rt=`M4552 721l0 -420c-27,-1 -54,-2 -81,-2l-472 0c-27,0 -54,1 -81,2l0 420 197 126 241 0 197 -126z`,zt=O({id:`humanoid`,released:!0,name:`Frost`,parts:()=>[{d:Mt,width:34,shape:!0},{d:Nt,width:4,fill:!0,detail:!0},{d:Pt,width:4,fill:!0,detail:!0},{d:Ft,width:4,detail:!0},{d:It,width:42,detail:!0},{d:Lt,width:85,detail:!0},{d:Rt,width:2,fill:!0,detail:!0}],eyes:{centerX:4240,centerY:2540,gap:1e3,scale:.75},mouth:Te,actions:[`faceShift`,`shakeGrow`],turn:.08}),Bt=`M 2000 4300 C 2000 3300 2300 2200 2800 1600 C 3200 1100 3700 950 4250 950 C 4800 950 5300 1100 5700 1600 C 6200 2200 6500 3300 6500 4300 C 6500 4500 6350 4600 6150 4600 C 5850 4600 5850 4430 5675 4430 C 5500 4430 5500 4600 5200 4600 C 4900 4600 4900 4430 4725 4430 C 4550 4430 4550 4600 4250 4600 C 3950 4600 3950 4430 3775 4430 C 3600 4430 3600 4600 3300 4600 C 3000 4600 3000 4430 2825 4430 C 2650 4430 2650 4600 2350 4600 C 2150 4600 2000 4500 2000 4300 Z`,Vt=`M 3300 1150 Q 2900 2800 3200 4450`,Ht=`M 5200 1150 Q 5600 2800 5300 4450`,Ut=O({id:`jelly`,released:!0,name:`Jello`,parts:()=>[{d:Bt,width:45,shape:!0},{d:Vt,width:40,opacity:.35,detail:!0},{d:Ht,width:40,opacity:.35,detail:!0}],eyes:{centerX:4250,centerY:2700,gap:810,scale:.7},mouth:{x:4250,y:3750},actions:[`shapes`],turn:.07}),Wt=M([[2250,450],[6250,450],[6250,4800],[2250,4800]],[1800,1800,1800,300]),Gt=O({id:`leaf`,released:!0,name:`Levi`,parts:()=>[{d:Wt,width:45,shape:!0}],eyes:{centerX:4250,centerY:2450,gap:700,scale:.66},mouth:{x:4250,y:3450},actions:[`wiggle`,`vanish`],turn:.07}),Kt=`M 2105 270 V 2540 A 895 895 0 0 1 1210 3435 A 895 895 0 0 1 315 2540 A 895 895 0 0 1 1210 1645 A 895 895 0 0 1 2105 2540`,qt=`M 6359 4810 V 2540 A 895 895 0 0 1 7255 1645 A 895 895 0 0 1 8140 2540 A 895 895 0 0 1 7255 3435 A 895 895 0 0 1 6359 2540`,Jt=O({id:`logo`,released:!1,name:`Doop`,parts:()=>[{d:Kt,width:100},{d:qt,width:100}],eyes:{centerX:4240,centerY:2540,gap:1e3,scale:1},mouth:Te,actions:[],turn:.03}),Yt=(()=>{let[e,t,n]=[4250,2600,2250],[r,i,a]=[5450,1550,1850],o=Math.hypot(r-e,i-t),s=(n*n-a*a+o*o)/(2*o),c=Math.sqrt(n*n-s*s),[l,u]=[e+(r-e)*s/o,t+(i-t)*s/o],d=`${Math.round(l+c*(i-t)/o)} ${Math.round(u-c*(r-e)/o)}`;return`M ${d} A ${n} ${n} 0 1 0 ${`${Math.round(l-c*(i-t)/o)} ${Math.round(u+c*(r-e)/o)}`} A ${a} ${a} 0 0 1 ${d} Z`})(),Xt=O({id:`moon`,released:!0,name:`Luna`,parts:()=>[{d:Yt,width:45,shape:!0}],eyes:{centerX:3500,centerY:3350,gap:600,scale:.6},mouth:{x:3500,y:4100},actions:[`sway`,`flip`],turn:.04}),Zt=`M5269 1600c132,-10 494,-48 591,-25 36,9 144,180 159,206 127,216 163,532 87,803 -105,374 -415,614 -757,705 -180,48 -282,31 -443,43 37,73 212,227 293,286 54,39 115,79 180,113 28,15 60,-11 99,-35 31,-19 57,-36 86,-55 31,-20 56,-41 85,-61 29,-21 57,-43 82,-65 157,-137 285,-288 390,-472 146,-255 241,-568 244,-914 4,-350 -79,-614 -276,-877 -453,-343 -661,-406 -643,-425 -103,-39 -119,-55 -245,-91 -265,-76 -673,-47 -963,-47 -220,0 -456,-8 -674,1 -168,7 -403,85 -538,138 -311,122 -605,392 -644,423 -73,57 -172,284 -203,377 -159,468 -59,1012 170,1416 67,117 111,163 182,257 48,63 87,90 139,149 53,46 104,90 159,133 72,56 139,95 218,142 25,15 27,17 52,3 62,-35 124,-72 176,-112 57,-44 103,-83 155,-132 26,-23 123,-122 136,-152 -163,-6 -292,-4 -448,-43 -204,-52 -335,-135 -481,-260 -31,-27 -62,-64 -89,-96 -315,-376 -291,-950 14,-1310 19,-22 29,-48 73,-49 119,3 237,6 356,9 74,6 148,13 222,19 265,20 530,41 796,61 152,0 303,0 455,1l805 -62z`,Qt=`M4240 3342c64,-134 209,-426 256,-534 -50,-102 -177,-195 -255,-279 -62,23 -276,268 -276,302 37,70 252,491 276,512z`,$t=`M3992 2635c4,-3 168,-195 239,-203 61,-7 206,152 248,199 -29,-269 -34,-479 169,-704 298,-331 915,-627 1394,-759 220,-86 326,-480 324,-691 -421,314 -846,476 -1371,629 -85,23 -74,42 -97,76 -122,182 -226,325 -345,508 -27,46 -36,78 -152,85 -86,5 -249,7 -332,-3 -99,-12 -125,-51 -166,-111l-330 -484c-25,-37 -54,-54 -106,-76 -663,-207 -745,-262 -1104,-452 -128,-67 -156,-105 -256,-175 11,227 50,407 186,576 259,321 1176,404 1507,843 165,219 236,428 194,741z`,en=`M3992 2635c4,-3 168,-195 239,-203 61,-7 206,152 248,199 -29,-269 -34,-479 169,-704 298,-331 983,-653 1461,-784 220,-86 326,-480 324,-691 -421,314 -913,502 -1439,654 -85,23 -74,42 -97,76 -122,182 -226,325 -345,508 -27,46 -36,78 -152,85 -86,5 -249,7 -332,-3 -99,-12 -125,-51 -166,-111l-330 -484c-25,-37 -54,-54 -106,-76 -546,-171 -966,-327 -1428,-653 11,227 50,407 186,576 259,321 1244,429 1575,868 165,219 236,428 194,741z`,tn=`M3992 2635c4,-3 168,-195 239,-203 61,-7 206,152 248,199 -29,-269 -34,-479 169,-704 298,-331 983,-610 1461,-742 220,-86 326,-522 324,-733 -421,314 -913,502 -1439,654 -85,23 -74,42 -97,76 -122,182 -226,325 -345,508 -27,46 -36,78 -152,85 -86,5 -249,7 -332,-3 -99,-12 -125,-51 -166,-111l-330 -509c-25,-37 -54,-54 -106,-76 -546,-171 -966,62 -1428,-263 11,227 50,407 186,576 259,321 1244,65 1575,504 165,219 236,428 194,741z`,nn=`M3992 2635c4,-3 168,-195 239,-203 61,-7 206,152 248,199 -29,-269 -34,-479 169,-704 298,-331 932,-610 1411,-742 220,-86 309,-497 307,-708 -421,314 -846,587 -1371,739 -203,55 -370,462 -595,475 -86,5 -249,7 -332,-3 -189,-22 -383,-382 -603,-476 -498,-156 -937,-439 -1360,-737 11,227 33,424 169,593 259,321 1193,387 1524,826 165,219 236,428 194,741z`,rn=`M3992 2635c4,-3 168,-195 239,-203 61,-7 206,152 248,199 -29,-269 -59,-488 144,-713 298,-331 941,25 1419,-107 220,-86 326,-480 324,-691 -421,314 -846,-167 -1371,-15 -85,23 -77,36 -114,85l-328 440c-27,46 -36,78 -152,85 -86,5 -249,7 -332,-3 -99,-12 -125,-51 -166,-111l-330 -425c-25,-37 -54,-54 -106,-76 -546,-171 -898,342 -1360,16 11,227 50,407 186,576 282,349 1206,-294 1578,251 137,201 161,401 122,689z`,an=`M3992 2635c4,-3 168,-195 239,-203 61,-7 206,152 248,199 -29,-269 -34,-479 169,-704 298,-331 915,-85 1394,-217 220,-86 326,-480 324,-691 -421,314 -846,-65 -1371,87 -85,23 -74,42 -97,76 -122,182 -226,325 -345,508 -27,46 -36,78 -152,85 -86,5 -249,7 -332,-3 -99,-12 -125,-51 -166,-111l-330 -484c-25,-37 -54,-54 -106,-76 -546,-171 -898,240 -1360,-85 11,227 50,407 186,576 259,321 1176,-138 1507,301 165,219 236,428 194,741z`,on=`M 4110 3420 Q 4240 3470 4370 3420 L 4240 3640 Z`,sn=[`happy`,`surprised`,`error`],cn={thinking:tn,learning:en,executing:nn,sad:rn,surprised:nn,error:an,failed:an},ln=O({id:`owl`,released:!1,name:`Olly`,parts:e=>[{d:Zt,width:20,shape:!0},{d:Qt,width:20,detail:!0,dark:!0},{d:cn[e]??$t,width:20,detail:!0,dark:!0},...sn.includes(e)?[{d:on,width:20,detail:!0,dark:!0}]:[]],eyes:{centerX:4240,centerY:2380,gap:1100,scale:.9},iris:{r:860,pupil:430,color:`#f5b301`},mouth:!1,brows:!1,actions:[],turn:.02}),un=`M 3684 761 Q 4250 350 4816 761 L 5919 1562 Q 6485 1974 6269 2640 L 5848 3935 Q 5631 4601 4931 4601 L 3569 4601 Q 2869 4601 2652 3935 L 2231 2640 Q 2015 1974 2581 1562 Z`,dn=`M 4250 350 L 6485 1974 L 5631 4601 L 2869 4601 L 2015 1974 Z`,fn=O({id:`pentagon`,released:!0,name:`Penta`,parts:()=>[{d:un,width:45,shape:!0}],eyes:{centerX:4250,centerY:2600,gap:810,scale:.7},mouth:{x:4250,y:3650},actions:[`cartwheel`,`sharpen`],turn:.07}),pn=M([[1700,900],[6800,900],[4250,4850]],[500,500,350]),mn=`M 1950 750 Q 4250 350 6550 750 Q 6950 820 6800 1150 Q 6700 1400 6400 1350 Q 4250 1050 2100 1350 Q 1800 1400 1700 1150 Q 1550 820 1950 750 Z`,hn=[Ne(2850,1750,300),Ne(5650,1750,300),Ne(4250,4e3,220)],gn=O({id:`pizza`,released:!0,name:`Peppo`,parts:()=>[{d:pn,width:45,shape:!0},{d:mn,width:45,shape:!0,dark:!0},...hn.map(e=>({d:e,width:30,detail:!0,dark:!0}))],eyes:{centerX:4250,centerY:2700,gap:700,scale:.66},mouth:{x:4250,y:3400},actions:[`flip`,`wiggle`],turn:.05}),_n=M([[1500,1100],[7e3,1100],[7e3,4500],[1500,4500]],650),vn=O({id:`rectangle`,released:!0,name:`Brik`,parts:()=>[{d:_n,width:45,shape:!0}],eyes:{centerX:4250,centerY:2600,gap:850,scale:.7},mouth:{x:4250,y:3600},actions:[`squash`,`jump`],turn:.05}),yn=`M 2246 1392 H 6320 Q 6542 1392 6542 1827 V 3393 Q 6542 4444 6320 4444 H 2246 Q 1930 4444 1930 3393 V 1827 Q 1930 1392 2246 1392 Z`,bn=O({id:`robot`,released:!0,name:`Boppo`,parts:()=>[{d:yn,width:50,shape:!0}],eyes:{centerX:4240,centerY:2540,gap:1e3,scale:.75},mouth:Te,antenna:{x:4250,y:720,stemHeight:650},actions:[`reboot`,`radar`],turn:.06}),xn=M([[2050,4550],[1750,3250],[2550,1950],[4300,1450],[5950,1750],[6800,2950],[6550,4400],[4500,4700]],[700,800,900,1e3,900,800,700,1e3]),Sn=j([[2900,2150],[4300,1700],[5700,1950],[5100,2350],[3700,2450]]),Cn=O({id:`rock`,released:!0,name:`Rocky`,parts:()=>[{d:xn,width:45,shape:!0},{d:Sn,width:30,light:!0,detail:!0,opacity:.35}],eyes:{centerX:4250,centerY:3100,gap:850,scale:.7},mouth:{x:4250,y:3950},actions:[`thud`,`shakeGrow`],turn:.06}),wn=M([[2700,1200],[7100,1200],[5800,4500],[1400,4500]],550),Tn=O({id:`slant`,released:!0,name:`Skew`,parts:()=>[{d:wn,width:45,shape:!0}],eyes:{centerX:4300,centerY:2600,gap:800,scale:.7},mouth:{x:4250,y:3550},actions:[`haunt`,`jump`],turn:.05}),En=24,F=e=>j(Me([4250,2900],En,(t,n)=>1900*(1+.07*Math.sin(2*n+e)+.05*Math.sin(3*n-1.3*e+1))).map(([e,t])=>{let n=t-2900;return[4250+(e-4250)*1.35,2900+n*(n>0?.8:1.05)]})),Dn=(e,t,n,r)=>Array.from({length:r},(i,a)=>{let o=(n+a*360/r)*Math.PI/180;return[e[0]+Math.cos(o)*t,e[1]+Math.sin(o)*t]}),On=j(Pe(Dn([4250,3250],2600,-90,3),En)),kn=j(Pe([[4250,950],...Dn([4250,2850],1900*Math.SQRT2,-45,4)],En)),An=j(Me([4250,2800],En,()=>2e3)),jn=F(0),Mn=[F(1.3),F(2.6),On,On,F(3.9),F(5.2),F(6.5),An,An,F(7.8),F(9.1),kn,kn,F(10.4),F(11.7)],Nn=O({id:`slime`,released:!0,name:`Goo`,parts:()=>[{d:jn,width:45,shape:!0}],eyes:{centerX:4250,centerY:2700,gap:800,scale:.72},mouth:{x:4250,y:3700},actions:[`wobble`,`squash`],flow:{frames:()=>Mn,ms:(Mn.length+1)*2600},turn:.08}),Pn=`M 2000 4550 L 6500 4550 Q 6950 4550 6950 4100 A 2700 2700 0 0 0 1550 4100 Q 1550 4550 2000 4550 Z`,Fn=O({id:`smash`,released:!0,name:`Half`,parts:()=>[{d:Pn,width:45,shape:!0}],eyes:{centerX:4250,centerY:2950,gap:810,scale:.7},mouth:{x:4250,y:4e3},actions:[`squash`,`flip`],turn:.08}),In=`M 2200 1650 Q 2200 550 3300 550 L 5200 550 Q 6300 550 6300 1650 L 6300 3550 Q 6300 4650 5200 4650 L 3300 4650 Q 2200 4650 2200 3550 Z`,Ln=O({id:`square`,released:!0,name:`Cubbi`,parts:()=>[{d:In,width:45,shape:!0}],eyes:{centerX:4250,centerY:2600,gap:810,scale:.7},mouth:{x:4250,y:3650},actions:[`tumble`,`rubik`],turn:.06}),Rn=M(Me([4250,2750],10,e=>e%2==0?2450:1550),Array.from({length:10},(e,t)=>t%2==0?650:280)),zn=O({id:`star`,released:!0,name:`Stella`,parts:()=>[{d:Rn,width:45,shape:!0}],eyes:{centerX:4250,centerY:2800,gap:620,scale:.6},mouth:{x:4250,y:3550},actions:[`roll`,`aura`],turn:.05}),Bn=M([[2850,200],[5650,200],[5650,4850],[2850,4850]],550),Vn=O({id:`tall`,released:!0,name:`Tau`,parts:()=>[{d:Bn,width:45,shape:!0}],eyes:{centerX:4250,centerY:1900,gap:700,scale:.66},mouth:{x:4250,y:2800},actions:[`jump`,`wiggle`],turn:.06}),Hn=`M 3521 1326 Q 4250 250 4979 1326 L 6571 3674 Q 7300 4750 6000 4750 L 2500 4750 Q 1200 4750 1929 3674 Z`,Un=O({id:`triangle`,released:!0,name:`Trilo`,parts:()=>[{d:Hn,width:45,shape:!0}],eyes:{centerX:4250,centerY:3400,gap:790,scale:.68},mouth:{x:4250,y:4450},actions:[`spin`,`pyramid`],turn:.06}),Wn=M([[2700,300],[6400,4750],[2700,4750]],[450,500,500]),I={logo:Jt,robot:bn,humanoid:zt,owl:ln,alien:je,gumbo:Dt,circle:Ke,jelly:Ut,smash:Fn,square:Ln,rectangle:vn,tall:Vn,slant:Tn,diamond:Qe,triangle:Un,wedge:O({id:`wedge`,released:!0,name:`Ango`,parts:()=>[{d:Wn,width:45,shape:!0}],eyes:{centerX:3800,centerY:3300,gap:550,scale:.6},mouth:{x:3800,y:4100},actions:[`pyramid`,`cartwheel`],turn:.04}),pizza:gn,pentagon:fn,hexagon:jt,star:zn,burst:We,cross:Xe,heart:kt,leaf:Gt,bubble:He,drop:et,bean:Be,cloud:Je,ghost:Ct,slime:Nn,flame:xt,rock:Cn,moon:Xt,balloon:Re},Gn=Object.keys(I).filter(e=>I[e].released),Kn={semicircle:`jelly`};function qn(e){return Object.hasOwn(I,e)?e:Object.hasOwn(Kn,e)?Kn[e]:void 0}function Jn(e){return I[e].actions}var Yn=e=>({tag:`path`,attrs:e});function Xn(e,t){let n=[e,...t.frames(),e],r=n.length-1,i=t.glide===!0?{calcMode:`linear`}:{keySplines:Array.from({length:r},()=>`0.45 0 0.55 1`).join(`;`),calcMode:`spline`};return{tag:`animate`,attrs:{attributeName:`d`,values:n.join(`;`),keyTimes:n.map((e,t)=>(t/r).toFixed(4)).join(`;`),...i,dur:`${t.ms}ms`,begin:`0s`,repeatCount:`indefinite`}}}function Zn(e,t={}){let n=I[e],r=t.mood??`idle`,i=t.scheme??`dark`,a=t.filled??!1,s=t.detail??`full`,c=t.color===`mood`?p(r,i):t.color??d[i],l=C(c),[f,_]=D(n,r,i),v=e=>a&&e.detail===!0?l:c,y=e=>a?e.dark?m(c,.45):e.light?h(c,.25):void 0:void 0,b=[];if(b.push({target:`body`,nodes:n.parts(r).filter(e=>s===`full`||!e.detail).map(e=>{let t=y(e),r=Yn({d:e.d,fill:t??(e.fill||a&&e.shape?v(e):`none`),stroke:t??v(e),"stroke-width":e.width,"stroke-linecap":`round`,"stroke-linejoin":`round`,opacity:a&&!e.shape&&t===void 0&&e.detail?.3:e.opacity??1});return e.shape&&n.flow!==void 0?{...r,children:[Xn(e.d,n.flow)]}:r})}),n.antenna!==void 0){let e=Ce[r],{stem:t,dotX:a,dotY:o,baseX:s,baseY:c}=we(n.antenna,e),l=e.dotColor??u[i].antennaDot,d=e.lineColor??u[i].antenna;b.push({target:`antenna`,nodes:[{tag:`g`,attrs:e.rotation===void 0?{}:{transform:`rotate(${e.rotation} ${s} ${c})`},children:[Yn({d:t,fill:`none`,stroke:d,"stroke-width":100,"stroke-linecap":`round`}),{tag:`circle`,attrs:{cx:a,cy:o,r:150,fill:`none`,stroke:l,"stroke-width":50}}]}]})}if((t.brows??!1)&&s===`full`&&n.brows!==!1){let e=xe[r],t=a?l:be,i=Se(n);b.push({target:`brows`,nodes:[{tag:`g`,attrs:i===void 0?{}:{transform:i},children:[e.left,e.right].map(e=>Yn({d:e,fill:`none`,stroke:t,"stroke-width":110,"stroke-linecap":`round`,opacity:.95}))}]})}let S=e=>e.rotate===0?{}:{transform:`rotate(${e.rotate} ${e.cx} ${e.cy})`},w=n.iris;if((t.eyes??`dots`)===`dots`&&w!==void 0){let e=n.eyes.centerY;b.push({target:`eyes`,nodes:[f,_].map(t=>({tag:`circle`,attrs:{cx:t.cx,cy:e,r:w.r,fill:w.color,stroke:g,"stroke-width":70}}))}),[[`pupilL`,f],[`pupilR`,_]].forEach(([t,n])=>b.push({target:t,nodes:[{tag:`circle`,attrs:{cx:n.cx,cy:e,r:w.pupil,fill:g}},{tag:`circle`,attrs:{cx:n.cx-w.pupil*.35,cy:e-w.pupil*.35,r:w.pupil*.28,fill:`#ffffff`}}]}))}else(t.eyes??`dots`)===`dots`?[[`pupilL`,f],[`pupilR`,_]].forEach(([e,t])=>b.push({target:e,nodes:[{tag:`ellipse`,attrs:{cx:t.cx,cy:t.cy,rx:t.rx*.3,ry:t.ry*.45,fill:a?l:t.ring,...S(t)}}]})):(b.push({target:`eyes`,nodes:[f,_].map(e=>({tag:`ellipse`,attrs:{cx:e.cx,cy:e.cy,rx:e.rx,ry:e.ry,fill:a?`#ffffff`:`none`,stroke:a?l:e.ring,"stroke-width":50,...S(e)}}))}),b.push({target:`pupils`,nodes:[f,_].map(e=>({tag:`circle`,attrs:{cx:e.px,cy:e.py,r:e.pr,fill:a?l:e.pupil}}))}),a&&b.push({target:`glints`,nodes:[f,_].map(e=>({tag:`circle`,attrs:{cx:e.px-e.pr*.35,cy:e.py-e.pr*.35,r:e.pr*.3,fill:`#ffffff`}}))}));return(t.mouth??!1)&&n.mouth!==!1&&b.push({target:`mouth`,nodes:[Yn({d:se(n,r),fill:`none`,stroke:a?t.mouthTone===`body`?x(c):l:oe(r),"stroke-width":100,"stroke-linecap":`round`,"stroke-linejoin":`round`})]}),r===`sad`&&b.push({target:`tear`,nodes:[Yn({d:`M 5200 3300 C 5260 3420 5260 3510 5200 3550 C 5140 3510 5140 3420 5200 3300 Z`,fill:`#3b82f6`,opacity:0})]}),{body:e,mood:r,viewBox:o,color:c,layers:b}}var L=t(),Qn=e=>String(e).replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/</g,`&lt;`);function $n(e){let t=Object.entries(e.attrs).map(([e,t])=>` ${e}="${Qn(t)}"`).join(``),n=e.children??[];return n.length===0?`<${e.tag}${t}/>`:`<${e.tag}${t}>${n.map($n).join(``)}</${e.tag}>`}var R={x:0,y:0,turn:0,skew:0,sx:1,sy:1,yaw:0,pitch:0,opacity:1},er=(e,t)=>`${e}|${t}`;function z(e,t,n,r,i){return{ms:r,run(a,{keys:o,now:s}){let c=er(e,t),l=o.get(c)??[],u=s.get(c)??R[t],d=l[l.length-1];d!==void 0&&d.at===a?(d.value=u,i===void 0?delete d.easing:d.easing=i):l.push(i===void 0?{at:a,value:u}:{at:a,value:u,easing:i}),l.push({at:a+r,value:n}),o.set(c,l),s.set(c,n)}}}function B(e,t,n){return z(e,t,n,0)}function V(e,t,n,r){return W(...Object.entries(t).map(([t,i])=>z(e,t,i,n,r)))}function H(e){return{ms:e,run(){}}}function U(...e){return{ms:e.reduce((e,t)=>e+t.ms,0),run(t,n){let r=t;for(let t of e)t.run(r,n),r+=t.ms}}}function W(...e){return{ms:e.reduce((e,t)=>Math.max(e,t.ms),0),run(t,n){for(let r of e)r.run(t,n)}}}function G(e,t){return U(...Array.from({length:e},(e,n)=>t(n)))}function K(e,t,n=450){return W(...t.map(t=>z(e,t,R[t],n,`spring`)))}function q(e,t={}){let n={keys:new Map,now:new Map};for(let[e,r]of Object.entries(t.from??{}))for(let[t,i]of Object.entries(r??{}))n.now.set(er(e,t),i);e.run(0,n);let r=Math.max(e.ms,1),i={};for(let[e,r]of n.keys){let[n,a]=e.split(`|`),o=i[n]??{channels:{}},s=t.origins?.[n];s!==void 0&&(o.origin=s),o.channels[a]=r,i[n]=o}for(let[e,n]of Object.entries(t.origins??{})){let t=i[e];t!==void 0&&n!==void 0&&(t.origin=n)}return t.iterations===void 0?{duration:r,tracks:i}:{duration:r,tracks:i,iterations:t.iterations}}function tr(e,t,n,r){let i=(e,t,n)=>3*e*n*(1-n)**2+3*t*n**2*(1-n)+n**3,a=(e,t,n)=>3*e*(1-n)**2+6*(t-e)*n*(1-n)+3*(1-t)*n**2;return o=>{let s=o;for(let t=0;t<8;t+=1){let t=a(e,n,s);if(Math.abs(t)<1e-6)break;s-=(i(e,n,s)-o)/t}return i(t,r,Math.min(1,Math.max(0,s)))}}var nr={linear:e=>e,ease:tr(.25,.1,.25,1),"ease-in":tr(.42,0,1,1),"ease-out":tr(0,0,.58,1),"ease-in-out":tr(.42,0,.58,1),"in-quad":e=>e*e,"out-quad":e=>e*(2-e),"in-out-cubic":e=>e<.5?4*e**3:1-(-2*e+2)**3/2,spring:e=>1-Math.exp(-6*e)*Math.cos(10*e),"soft-spring":e=>1-Math.exp(-4*e)*Math.cos(7*e)};function rr(e,t){return e===void 0?nr[`ease-in-out`](t):typeof e==`object`?Math.min(1,Math.floor(t*e.steps)/e.steps):nr[e](t)}function ir(e,t,n){let r=e[0];if(r===void 0)return n;if(t<=r.at)return r.value;for(let n=1;n<e.length;n+=1){let r=e[n],i=e[n-1];if(t<=r.at){let e=r.at-i.at;return e<=0?r.value:i.value+(r.value-i.value)*rr(i.easing,(t-i.at)/e)}}return e[e.length-1].value}function ar(e,t){let n={...R};for(let[r,i]of Object.entries(e.channels))i!==void 0&&(n[r]=ir(i,t,R[r]));return n}var or=(e,t)=>`${Math.round(e/t*1e5)/1e3}%`;function sr(e,t=s,n=!1){let[r,o]=t,l=n?[`perspective(${Math.round(c/i*1e5)/1e3}cqw)`,`rotateY(${-e.yaw}deg)`,`rotateX(${e.pitch}deg)`]:[];return[`translate(${or(r+e.x,i)}, ${or(o+e.y,a)})`,...l,`rotate(${e.turn}deg)`,`skewX(${e.skew}deg)`,`scale(${e.sx}, ${e.sy})`,`translate(${or(-r,i)}, ${or(-o,a)})`].join(` `)}function cr(e,t,n=16){let r=e.tracks[t];if(r===void 0)return{transform:null,opacity:null};let i=new Set([0,e.duration]);for(let t=0;t<e.duration;t+=n)i.add(t);for(let t of Object.values(r.channels))for(let n of t??[])i.add(Math.min(n.at,e.duration));let a=[...i].sort((e,t)=>e-t),o=Object.keys(r.channels).some(e=>e!==`opacity`),s=r.channels.opacity!==void 0,c=r.channels.yaw!==void 0||r.channels.pitch!==void 0,l=[],u=[];for(let t of a){let n=ar(r,t),i=t/e.duration;o&&l.push({offset:i,transform:sr(n,r.origin,c)}),s&&u.push({offset:i,opacity:n.opacity})}return{transform:o?l:null,opacity:s?u:null}}function lr(e,t,n){if(e<=t[0])return n[0];for(let r=1;r<t.length;r+=1){let i=t[r];if(e<=i){let a=t[r-1],o=i-a,s=n[r-1],c=n[r];return o<=0?c:s+(e-a)/o*(c-s)}}return n[n.length-1]}function ur(e,t,n,r=16){let i=[];for(let a=0;a<t;a+=r)i.push({at:a,value:n(ir(e,a,0)),easing:`linear`});return i.push({at:t,value:n(ir(e,t,0))}),i}function dr(e,t=16){let{duration:n}=e,r={};for(let[i,a]of Object.entries(e.tracks)){if(a===void 0)continue;let e={channels:{}};a.origin!==void 0&&(e.origin=a.origin);for(let[r,i]of Object.entries(a.channels)){if(i===void 0)continue;let a=[];for(let e=0;e<n;e+=t)a.push({at:e,value:ir(i,n-e,0),easing:`linear`});a.push({at:n,value:ir(i,0,0)}),e.channels[r]=a}r[i]=e}return{...e,tracks:r}}var J=`act`,fr=[i/2,a*.94],pr=[4250,3350],mr=[4250,430],hr=[{x:1500,y:4500,r:260},{x:1150,y:4280,r:200},{x:1250,y:4760,r:160}],Y=[{x:2200,y:550},{x:4320,y:550},{x:4320,y:2670},{x:2200,y:2670}],gr=[`#d7263d`,`#f59e0b`,`#2f6fdf`,`#2f9e5b`,`#7c4fe0`],X=(e,t,n)=>V(J,{sx:e,sy:e},t,n),_r=()=>W(U(z(J,`sx`,1.12,175),z(J,`sx`,1,175)),U(z(J,`sy`,.88,175),z(J,`sy`,1,175))),vr=(e,t)=>U(G(e,e=>z(J,`x`,(e%2==0?1:-1)*i*.03,t,`linear`)),z(J,`x`,0,t)),yr=(e,t,n,r,i,o)=>U(G(e,e=>U(W(z(J,`turn`,(e+1)*t,n,o),...i?[U(z(J,`y`,-a*.06,n/2),z(J,`y`,0,n/2))]:[]),H(r))),B(J,`turn`,0)),br=(e,t,n,r=45)=>({tag:`path`,attrs:{d:e,fill:n?t:`none`,stroke:t,"stroke-width":r,"stroke-linejoin":`round`}});function xr(e,t,n){let r=I[e],[o]=D(r,`idle`,`dark`),c=ye(o,r.iris).x,{color:u}=n,d=n.filled??!1,f=[],p=s,m={},h;switch(t){case`reboot`:h=U(z(`eyes`,`opacity`,0,150),z(`antenna`,`turn`,35,260),vr(8,50),H(350),z(`eyes`,`opacity`,.6,80),z(`eyes`,`opacity`,0,80),z(`eyes`,`opacity`,1,120),z(`antenna`,`turn`,0,300));break;case`radar`:h=U(...[-30,30,-30,0].map(e=>W(z(`antenna`,`turn`,e,500),z(`pupils`,`x`,e/30*c,500))));break;case`faceShift`:h=U(W(z(`pupils`,`x`,c,300),z(J,`sx`,1.06,300),z(J,`x`,i*.02,300)),H(400),W(z(`pupils`,`x`,-c,400),z(J,`x`,-i*.02,400)),H(400),W(z(`pupils`,`x`,0,300),z(J,`sx`,1,300),z(J,`x`,0,300)));break;case`shakeGrow`:h=G(3,()=>U(...[-7,0,7,0].map(e=>W(z(J,`turn`,e,110),X(e===0?1:1.05,110)))));break;case`vanish`:h=U(W(z(J,`x`,i*.3,800),z(J,`y`,-a*.3,800),X(.45,800),z(J,`opacity`,.3,800),z(J,`turn`,25,800)),W(z(J,`opacity`,0,250),z(J,`turn`,35,250)),H(350),W(B(J,`x`,-i*.45),B(J,`y`,0),X(.7,0),B(J,`turn`,20)),W(z(J,`opacity`,1,500),z(J,`x`,0,700,`ease-out`),X(1,700),U(z(J,`turn`,-12,500),z(J,`turn`,0,450,`spring`))));break;case`haunt`:h=U(W(z(J,`y`,-a*.14,500),z(J,`turn`,6,500)),G(3,()=>U(z(J,`skew`,10,140),z(J,`skew`,-10,140))),z(J,`skew`,0,120),W(z(J,`y`,0,500),z(J,`turn`,0,500)));break;case`teleport`:h=U(W(z(J,`sy`,.04,180),z(J,`sx`,1.4,180)),z(J,`opacity`,0,90),H(300),X(.2,0),B(J,`opacity`,1),K(J,[`sx`,`sy`]));break;case`scan`:h=U(W(z(J,`turn`,-10,300),V(`eyes`,{sx:1.4,sy:1.4},300)),W(z(J,`turn`,10,500),V(`eyes`,{sx:.7,sy:.7},500)),W(z(J,`turn`,0,300),V(`eyes`,{sx:1,sy:1},300)));break;case`wobble`:p=l,h=U(...[[1.12,.9,6],[.92,1.08,-6],[1.07,.95,4],[.96,1.04,-3],[1,1,0]].map(([e,t,n])=>V(J,{sx:e,sy:t,skew:n},130)));break;case`split`:{let e=e=>e*1800;return h=W(U(z(J,`opacity`,0,e(.15),`linear`),H(e(.7)),z(J,`opacity`,1,e(.15),`linear`)),...[-1,1].map(t=>{let n=`fx:split${t}`;return f.push({target:n,place:`front`,nodes:[],clone:{}}),W(U(z(n,`opacity`,0,0),z(n,`opacity`,1,e(.15),`linear`),H(e(.7)),z(n,`opacity`,0,e(.15),`linear`)),U(z(n,`x`,t*i*.3,e(.3),`linear`),H(e(.4)),z(n,`x`,0,e(.3),`linear`)),U(H(e(.3)),z(n,`y`,-a*.12,e(.1),`linear`),z(n,`y`,0,e(.1),`linear`),z(n,`y`,-a*.12,e(.1),`linear`),z(n,`y`,0,e(.1),`linear`)),U(V(n,{sx:.55,sy:.55},e(.15),`linear`),H(e(.7)),V(n,{sx:1,sy:1},e(.15),`linear`)))})),{timeline:q(h,{origins:{act:s},from:{"fx:split-1":{opacity:0},"fx:split1":{opacity:0}}}),layers:f}}case`roll`:h=U(z(J,`turn`,360,900),B(J,`turn`,0));break;case`pop`:h=U(X(.08,250),X(1.5,350,`ease-out`),K(J,[`sx`,`sy`]));break;case`flip`:h=U(z(J,`turn`,180,350),H(450),z(J,`turn`,360,350),B(J,`turn`,0));break;case`shapes`:return[In,Hn,Ge].forEach((e,t)=>f.push({target:`fx:shape${t}`,place:`figure`,nodes:[br(e,u,d)]})),h=U(...[1,2,3,4].map(e=>U(W(_r(),...e===1?[z(`body`,`opacity`,0,350)]:[],...e===4?[z(`body`,`opacity`,1,350)]:[],...e-1<=2?[z(`fx:shape${e-1}`,`opacity`,1,350)]:[],...e-2>=0?[z(`fx:shape${e-2}`,`opacity`,0,350)]:[]),H(550)))),{timeline:q(h,{origins:{act:s},from:{"fx:shape0":{opacity:0},"fx:shape1":{opacity:0},"fx:shape2":{opacity:0}}}),layers:f};case`rubik`:{let e=gr.filter(e=>e!==u),t=(e,t)=>({tag:`rect`,attrs:{x:e.x,y:e.y,width:1980,height:1980,rx:260,fill:t}});f.push({target:`fx:rubik`,place:`figure`,nodes:Y.map(e=>t(e,u))}),Y.forEach((n,r)=>f.push({target:`fx:rubik${r}`,place:`figure`,nodes:[t(n,e[r]??u)]})),m[`fx:rubik`]=[4250,2600],Y.forEach((e,t)=>m[`fx:rubik${t}`]=[4250,2600]);let n=(e,t)=>W(z(`fx:rubik`,`turn`,e,t),...Y.map((n,r)=>z(`fx:rubik${r}`,`turn`,e,t)));return h=U(W(z(`body`,`opacity`,0,250),z(`fx:rubik`,`opacity`,1,250),...Y.map((e,t)=>z(`fx:rubik${t}`,`opacity`,1,250))),H(200),...[1,2,3].map(e=>U(W(n(e*90,450),...Y.map((e,t)=>t).filter(t=>[1,1,2,3][t]===e).map(e=>z(`fx:rubik${e}`,`opacity`,0,300))),H(300))),W(...Y.map((e,t)=>z(`fx:rubik${t}`,`opacity`,0,200))),W(z(`body`,`opacity`,1,400),z(`fx:rubik`,`opacity`,0,400)),W(n(0,0))),{timeline:q(h,{origins:{act:s,...m},from:{"fx:rubik":{opacity:0},...Object.fromEntries(Y.map((e,t)=>[`fx:rubik${t}`,{opacity:0}]))}}),layers:f}}case`sharpen`:return f.push({target:`fx:sharp`,place:`figure`,nodes:[{...br(dn,u,d),attrs:{...br(dn,u,d).attrs,"stroke-linejoin":`miter`}}]}),h=U(W(z(`fx:sharp`,`opacity`,1,400),z(`body`,`opacity`,0,400),X(1.06,400)),H(800),W(z(`fx:sharp`,`opacity`,0,400),z(`body`,`opacity`,1,400),X(1,400))),{timeline:q(h,{origins:{act:s},from:{"fx:sharp":{opacity:0}}}),layers:f};case`aura`:{let e=r.parts(`idle`)[0]?.d??``;return[0,1,2].forEach(t=>{let n=`fx:aura${t}`;f.push({target:n,place:`behind`,nodes:[{tag:`path`,attrs:{d:e,fill:`none`,stroke:u,"stroke-width":90,"stroke-linejoin":`round`}}]}),m[n]=[4250,2550]}),h=W(...[0,1,2].map(e=>{let t=`fx:aura${e}`;return U(H(e*400),W(U(z(t,`opacity`,.7,180,`linear`),z(t,`opacity`,0,1020,`linear`)),V(t,{sx:1.7,sy:1.7},1200,`linear`)))}),U(X(1.05,300),X(1,300),H(400),X(1.05,300),X(1,300))),{timeline:q(h,{origins:{act:s,...m},from:{"fx:aura0":{opacity:0},"fx:aura1":{opacity:0},"fx:aura2":{opacity:0}}}),layers:f}}case`squash`:p=l,h=U(W(z(J,`sy`,.15,180),z(J,`sx`,1.6,180)),H(220),W(z(J,`sy`,1.25,200),z(J,`sx`,.85,200),z(J,`y`,-a*.12,200)),K(J,[`sx`,`sy`,`y`]));break;case`tumble`:h=yr(4,90,260,60,!0);break;case`spin`:p=pr,h=yr(3,120,260,220,!1);break;case`pyramid`:p=l,h=U(W(z(J,`sy`,.6,250),z(J,`sx`,1.1,250)),W(z(J,`sy`,1.4,300),z(J,`sx`,.85,300)),K(J,[`sx`,`sy`]));break;case`cartwheel`:h=yr(5,72,240,40,!0);break;case`rotate`:h=yr(6,60,160,90,!1,`linear`);break;case`drip`:p=mr,h=U(W(z(J,`sy`,1.3,1400),z(J,`sx`,.85,1400)),H(400),W(z(J,`sy`,1.45,600),z(J,`sx`,.78,600)),W(z(J,`sy`,1,900,`soft-spring`),z(J,`sx`,1,900,`soft-spring`)));break;case`bubble`:p=mr,h=U(X(.5,900),H(800),X(1,900));break;case`wiggle`:h=U(G(5,e=>W(z(J,`skew`,e%2==0?12:-12,120),z(J,`turn`,e%2==0?-4:4,120))),W(z(J,`skew`,0,120),z(J,`turn`,0,120)));break;case`jump`:p=l,h=U(W(z(J,`sy`,.7,200),z(J,`sx`,1.15,200)),W(z(J,`sy`,1.15,300,`out-quad`),z(J,`sx`,.9,300,`out-quad`),z(J,`y`,-a*.35,300,`out-quad`),z(J,`turn`,15,300,`out-quad`)),W(z(J,`y`,0,300,`in-quad`),z(J,`turn`,0,300,`in-quad`),z(J,`sy`,1,300),z(J,`sx`,1,300)),W(z(J,`sy`,.85,90),z(J,`sx`,1.1,90)),K(J,[`sx`,`sy`]));break;case`fart`:{f.push({target:`fx:puff`,place:`front`,nodes:hr.map(e=>({tag:`circle`,attrs:{cx:e.x,cy:e.y,r:e.r,fill:`#a3a3a3`}}))});let e=hr[0];return m[`fx:puff`]=[e.x,e.y],h=U(vr(6,55),W(U(z(`fx:puff`,`opacity`,.85,100,`linear`),z(`fx:puff`,`opacity`,.6,500,`linear`),z(`fx:puff`,`opacity`,0,400,`linear`)),z(`fx:puff`,`x`,-i*.06,1e3,`linear`),U(V(`fx:puff`,{sx:.3,sy:.3},0),V(`fx:puff`,{sx:1.5,sy:1.5},1e3,`linear`)),U(z(J,`y`,-a*.05,120),z(J,`y`,0,450,`spring`)),U(V(`eyes`,{sx:.6,sy:.6},120),H(500),V(`eyes`,{sx:1,sy:1},200)))),{timeline:q(h,{origins:{act:s,...m},from:{"fx:puff":{opacity:0}}}),layers:f}}case`puff`:h=U(...[1.08,1.16,1.25].map(e=>U(X(e,200,`ease-out`),X(e-.04,100))),H(300),X(1,400));break;case`thud`:p=l,h=U(W(z(J,`y`,-a*.12,320,`out-quad`),z(J,`sy`,1.03,320)),W(z(J,`y`,0,170,`in-quad`),z(J,`sy`,1,170)),W(z(J,`sy`,.9,70),z(J,`sx`,1.06,70)),W(vr(4,45),K(J,[`sx`,`sy`])));break;case`flare`:p=l,h=U(W(z(J,`sy`,1.3,240,`ease-out`),z(J,`sx`,.88,240)),...[1.2,1.32,1.17,1.27].map(e=>z(J,`sy`,e,90,`linear`)),W(z(J,`sy`,1,700,`soft-spring`),z(J,`sx`,1,700,`soft-spring`)));break;case`sway`:p=fr,h=U(...[12,-10,7,-4,0].map(e=>z(J,`turn`,e,380,`ease-in-out`)));break;case`float`:h=U(W(z(J,`y`,-a*.25,1200,`ease-in-out`),z(J,`x`,i*.04,1200,`ease-in-out`),z(J,`turn`,5,1200,`ease-in-out`)),H(250),W(z(J,`y`,0,1300,`ease-in-out`),z(J,`x`,0,1300,`ease-in-out`),U(z(J,`turn`,-3,800),z(J,`turn`,0,500))));break;case`beat`:h=G(2,()=>U(X(1.1,110,`ease-out`),X(1,110),X(1.18,130,`ease-out`),X(1,380,`spring`),H(250)))}let g=[i/2,o.cy];return{timeline:q(h,{origins:{act:p,eyes:g,antenna:Sr(e),...m}}),layers:f}}function Sr(e){let t=I[e].antenna;return t===void 0?s:[t.x,t.y+t.stemHeight]}var Cr=[`beam`,`phantom`,`jelly`,`blackHole`,`spin`,`erase`,`portal`,`dust`,`melt`,`glitch`,`jump`,`bubble`];function wr(e=Math.random){return Cr[Math.floor(e()*Cr.length)]}var Tr=e=>({steps:e});function Er(e){switch(e){case`beam`:return{origin:[i/2,a*.9],frames:[{ms:350,to:{sx:1.5,sy:.025,fx:.6}},{ms:250,to:{sx:0,opacity:0,fx:1}}]};case`phantom`:return{origin:s,frames:[{ms:800,to:{y:-a*.3,sx:.9,sy:1.1,opacity:0}}]};case`jelly`:return{origin:[i/2,a*.92],frames:[{ms:250,to:{sx:1.35,sy:.6}},{ms:300,to:{sx:.65,sy:1.45}},{ms:250,to:{sx:1.65,sy:.1}},{ms:200,to:{sx:0,sy:0,opacity:0}}]};case`blackHole`:return{origin:s,frames:[{ms:900,to:{turn:540,sx:.02,sy:.02,fx:.9},easing:`ease-in`},{ms:120,to:{sx:0,sy:0,opacity:0,fx:1}}]};case`spin`:return{origin:s,frames:[{ms:900,to:{turn:1080,sx:.05,sy:.05,opacity:0,fx:1},easing:`in-out-cubic`}]};case`erase`:return{origin:s,frames:[{ms:900,to:{clip:1,fx:1},easing:Tr(12)}]};case`portal`:return{origin:s,frames:[{ms:600,to:{sx:.015,fx:.65}},{ms:250,to:{sx:0,opacity:0,fx:1}}]};case`dust`:return{origin:s,frames:[{ms:300,to:{opacity:0,fx:.35}},{ms:600,to:{fx:1}}]};case`melt`:return{origin:[i/2,a*.94],frames:[{ms:450,to:{sx:1.2,sy:.65,fx:.4}},{ms:450,to:{sx:1.65,sy:.035,opacity:0,fx:.8}},{ms:250,to:{fx:1}}]};case`glitch`:return{origin:s,frames:[{ms:60,to:{opacity:0,fx:.05}},{ms:750,to:{fx:1},easing:`linear`}]};case`jump`:return{origin:[i/2,a*.92],frames:[{ms:220,to:{y:a*.05,sx:1.25,sy:.7,fx:.2}},{ms:450,to:{y:-a*2.5,sx:.7,sy:1.3,fx:1},easing:`out-quad`},{ms:100,to:{opacity:0}}]};case`bubble`:return{origin:s,frames:[{ms:400,to:{sx:.25,sy:.25,fx:.5}},{ms:150,to:{sx:0,sy:0,opacity:0,fx:.65}},{ms:350,to:{fx:1}}]}}}var Dr=[[40,40,-37,-25,4],[55,30,-20,-39,3],[75,38,24,-34,4],[87,57,37,-7,3],[76,78,26,29,4],[50,84,-15,33,3],[32,65,-40,13,4],[62,55,7,-45,3],[46,60,-28,21,3],[73,59,33,19,3]].map(([e,t,n,r,i])=>({x:4250+(e-60)*68,y:2550+(t-57.5)*68,dx:n*68,dy:r*68,r:i*68})),Or=[[-.12,.09,-.05,.13,-.08],[.09,-.05,.13,-.08,-.12],[-.05,.13,-.08,-.12,.09],[.13,-.08,-.12,.09,-.05],[-.08,-.12,.09,-.05,.13]],kr=[0,.199,.2,.399,.4,.599,.6,.799,.8,1];function Ar(e,t){let n=[4250,2550];switch(e){case`beam`:return[{target:`fx:beam`,origin:[4250,4500],nodes:[{tag:`rect`,attrs:{x:1190,y:4400,width:6120,height:200,rx:100,fill:t}}],follow:{opacity:[[0,.6,1],[0,1,0]],sx:[[0,.6,1],[.1,1,.1]]}}];case`blackHole`:return[{target:`fx:hole`,origin:n,nodes:[{tag:`circle`,attrs:{cx:4250,cy:2550,r:2040,fill:`none`,stroke:t,"stroke-width":140}}],follow:{opacity:[[0,.5,1],[0,1,0]],sx:[[0,1],[.2,1.3]],sy:[[0,1],[.2,1.3]]}}];case`spin`:return[{target:`fx:ring`,origin:n,nodes:[{tag:`circle`,attrs:{cx:4250,cy:2550,r:2350,fill:`none`,stroke:t,"stroke-width":180,"stroke-dasharray":`900 780`}}],follow:{opacity:[[0,.6,1],[0,.7,0]],turn:[[0,1],[0,420]],sx:[[0,.6],[.4,1.35]],sy:[[0,.6],[.4,1.35]]}}];case`erase`:return[{target:`fx:scan`,nodes:[{tag:`rect`,attrs:{x:i*.2,y:0,width:i*.6,height:a*.025,fill:t}}],follow:{opacity:[[0,.03,.97,1],[0,1,1,0]],y:[[0,1],[a*.97,0]]}}];case`portal`:return[{target:`fx:portal`,origin:n,nodes:[{tag:`rect`,attrs:{x:4130,y:300,width:240,height:4500,rx:120,fill:t}}],follow:{opacity:[[0,.65,1],[0,1,0]],sy:[[0,.65,1],[.2,1,.2]]}}];case`dust`:return Dr.map((e,n)=>({target:`fx:dust${n}`,origin:[e.x,e.y],nodes:[{tag:`circle`,attrs:{cx:e.x,cy:e.y,r:e.r,fill:t}}],follow:{opacity:[[0,.3,1],[0,1,0]],x:[[0,1],[0,e.dx]],y:[[0,1],[0,e.dy]],sx:[[0,1],[.2,1.3]],sy:[[0,1],[.2,1.3]]}}));case`melt`:return[{target:`fx:puddle`,origin:[4250,4800],nodes:[{tag:`ellipse`,attrs:{cx:4250,cy:4800,rx:3200,ry:340,fill:t}}],follow:{opacity:[[0,.3,.8,1],[0,1,1,0]],sx:[[0,.8],[.2,1]]}},{target:`fx:drop`,nodes:[{tag:`circle`,attrs:{cx:5800,cy:3150,r:270,fill:t}}],follow:{opacity:[[.3,.45,.75],[0,1,0]],y:[[.3,.75],[0,1500]]}}];case`jump`:return[{target:`fx:shadow`,origin:[4250,4850],nodes:[{tag:`ellipse`,attrs:{cx:4250,cy:4850,rx:1700,ry:200,fill:t}}],follow:{opacity:[[0,.1,1],[0,.25,0]],sx:[[0,1],[1,.3]]}}];case`bubble`:return[{target:`fx:bubble`,origin:n,nodes:[{tag:`circle`,attrs:{cx:4250,cy:2550,r:2250,fill:`none`,stroke:t,"stroke-width":200}}],follow:{opacity:[[0,.5,.8],[0,1,0]],sx:[[0,.5,.8],[.1,.6,1.8]],sy:[[0,.5,.8],[.1,.6,1.8]]}},{target:`fx:pop`,origin:n,nodes:[0,45,90,135,180,225,270,315].map(e=>({tag:`path`,attrs:{d:`M 4250 150 L 4250 650`,stroke:t,"stroke-width":200,"stroke-linecap":`round`,transform:`rotate(${e} 4250 2550)`}})),follow:{opacity:[[.5,.65,.85],[0,1,0]],sx:[[.5,.65],[.2,1.3]],sy:[[.5,.65],[.2,1.3]]}}];case`glitch`:return Or.map((e,t)=>({target:`fx:band${t}`,nodes:[],clone:{band:[t/Or.length,(t+1)/Or.length]},follow:{opacity:[[0,.03,.92,1],[0,1,1,0]],x:[kr,e.flatMap(e=>[e*i,e*i])]}}));default:return[]}}function jr(e,t,n){let{origin:r,frames:i}=Er(e),o=q(U(...i.map(e=>W(...Object.entries(e.to).map(([t,n])=>t===`fx`?z(`fx:progress`,`x`,n,e.ms,e.easing):t===`clip`?W(z(`wipe`,`y`,-n*a,e.ms,e.easing),z(`unwipe`,`y`,n*a,e.ms,e.easing)):z(`act`,t,n,e.ms,e.easing))))),{origins:{act:r}}),s=o.tracks[`fx:progress`]?.channels.x??[{at:0,value:0}];delete o.tracks[`fx:progress`];let c=[];for(let t of Ar(e,Mr(n))){let e={target:t.target,nodes:t.nodes,place:`front`};t.clone!==void 0&&(e.clone=t.clone),c.push(e);let n={};for(let[e,[r,i]]of Object.entries(t.follow))n[e]=ur(s,o.duration,e=>lr(e,r,i));o.tracks[t.target]=t.origin===void 0?{channels:n}:{channels:n,origin:t.origin}}let l=e===`erase`;return t===`hide`?{timeline:o,layers:c,hold:!0,clip:l}:{timeline:dr(o),layers:c,clip:l}}var Mr=e=>e.color,Z=1/0;function Nr(e,t,n={}){let r=I[e],a=n.scheme??`dark`,o=[];if(o.push({timeline:q(U(V(`breath`,{sx:1.02,sy:1.02},1200),V(`breath`,{sx:1,sy:1},1200)),{origins:{breath:s},iterations:Z}),layers:[]}),n.brows??!1){let e=xe[t].ms;o.push({timeline:q(U(z(`brows`,`y`,-30,e/2),z(`brows`,`y`,0,e/2)),{iterations:Z}),layers:[]})}if(t===`error`){let e=i*.012;o.push({timeline:q(U(z(`shake`,`x`,e,40,`linear`),z(`shake`,`x`,-e,80,`linear`),z(`shake`,`x`,0,40,`linear`)),{iterations:Z}),layers:[]})}if(t===`sad`&&o.push({timeline:q(W(U(z(`tear`,`opacity`,.9,720,`linear`),H(2160),z(`tear`,`opacity`,0,720,`linear`)),z(`tear`,`y`,420,3600,`linear`)),{iterations:Z,from:{tear:{opacity:0}}}),layers:[]}),r.antenna!==void 0){let r=Ce[t],i=Sr(e);r.swing===`alarm`&&o.push({timeline:q(U(z(`antenna`,`turn`,25,90,`linear`),z(`antenna`,`turn`,-20,90,`linear`),z(`antenna`,`turn`,15,90,`linear`),z(`antenna`,`turn`,0,90,`linear`),H(900)),{origins:{antenna:i},iterations:Z}),layers:[]}),(n.effects??!0)&&o.push(...Pr(e,t,a))}return o}function Pr(e,t,n){let r=I[e].antenna;if(r===void 0)return[];let i=Ce[t],{dotX:a,dotY:o,baseX:s,baseY:c}=we(r,i),l=i.dotColor??u[n].antennaDot,d=i.rotation===void 0?{}:{transform:`rotate(${i.rotation} ${s} ${c})`},f=[a,o],p=(e,t)=>({target:e,place:`antenna`,nodes:[{tag:`g`,attrs:d,children:t}]}),m=[],h=330/180;if(m.push({layers:[p(`fx:pulse`,[{tag:`circle`,attrs:{cx:a,cy:o,r:180,fill:`none`,stroke:l,"stroke-width":35}}])],timeline:q(U(W(z(`fx:pulse`,`opacity`,.04,i.pulseMs/2),V(`fx:pulse`,{sx:h,sy:h},i.pulseMs/2)),W(z(`fx:pulse`,`opacity`,.35,i.pulseMs/2),V(`fx:pulse`,{sx:1,sy:1},i.pulseMs/2))),{origins:{"fx:pulse":f},from:{"fx:pulse":{opacity:.35}},iterations:Z})}),i.radar===!0){let e=210*Math.SQRT1_2;m.push({layers:[p(`fx:radar`,[{tag:`path`,attrs:{d:`M ${a-e} ${o-e} A 210 210 0 0 1 ${a+e} ${o-e}`,fill:`none`,stroke:l,"stroke-width":28,"stroke-linecap":`round`,opacity:.9}}])],timeline:q(z(`fx:radar`,`turn`,360,1800,`linear`),{origins:{"fx:radar":f},iterations:Z})})}return i.signalWave===!0&&[0,1].forEach(e=>{let t=`fx:wave${e}`;m.push({layers:[p(t,[{tag:`circle`,attrs:{cx:a,cy:o,r:150,fill:`none`,stroke:l,"stroke-width":20}}])],timeline:q(U(H(e*900),W(z(t,`opacity`,0,1800,`ease-out`),V(t,{sx:5,sy:5},1800,`ease-out`)),H((1-e)*900)),{origins:{[t]:f},from:{[t]:{opacity:.7}},iterations:Z})})}),i.particles===!0&&[{dx:-560,dy:120,r:55,delay:0},{dx:-260,dy:60,r:40,delay:300},{dx:260,dy:60,r:40,delay:600},{dx:560,dy:120,r:55,delay:900}].forEach((e,t)=>{let n=`fx:particle${t}`;m.push({layers:[p(n,[{tag:`circle`,attrs:{cx:a+e.dx,cy:o+e.dy,r:e.r,fill:l}}])],timeline:q(U(H(e.delay),W(U(z(n,`opacity`,.85,800,`linear`),z(n,`opacity`,0,800,`linear`)),z(n,`y`,-220,1600,`linear`)),B(n,`y`,0),H(900-e.delay)),{from:{[n]:{opacity:0}},iterations:Z})})}),m}function Fr(e){let[t]=D(I[e],`idle`,`dark`);return{timeline:q(U(z(`eyes`,`sy`,.1,120),z(`eyes`,`sy`,1,120)),{origins:{eyes:[i/2,t.cy]}}),layers:[]}}function Ir(e,t,n,r,i={x:0,y:0}){let a=I[e],[o,s]=D(a,t,`dark`),c=ye(o,a.iris),l={pupils:{x:i.x*c.x,y:i.y*c.y},glints:{x:i.x*c.x*.6,y:i.y*c.y*.6},pupilL:{turn:Lr(i.x,i.y)},pupilR:{turn:Lr(i.x,i.y)}};return{timeline:q(W(V(`pupils`,{x:n*c.x,y:r*c.y},120),V(`glints`,{x:n*c.x*.6,y:r*c.y*.6},360,`ease-out`),z(`pupilL`,`turn`,Lr(n,r),160),z(`pupilR`,`turn`,Lr(n,r),160)),{from:l,origins:{pupilL:[o.cx,o.cy],pupilR:[s.cx,s.cy]}}),layers:[],hold:!0}}function Lr(e,t){return-14*e*(1-2*Math.max(0,Math.min(1,t)))}function Rr(e){return{timeline:q(U(z(`antenna`,`turn`,10,220),z(`antenna`,`turn`,-7,300),z(`antenna`,`turn`,0,300)),{origins:{antenna:Sr(e)}}),layers:[]}}function zr(){return{timeline:q(U(V(`shake`,{sx:.92,sy:.92},0),V(`shake`,{sx:1,sy:1},500,`spring`)),{origins:{shake:s}}),layers:[]}}var Br=18,Vr=16,Hr=8/280*i,Ur=.1,Wr=.07,Gr=.3,Kr=.04,qr=.3,Jr=.4,Yr=260,Xr=.7,Zr=[i/2,a/2],Qr=new Map;function $r(e,t){let n=`${e}:${t}`,r=Qr.get(n);if(r!==void 0)return r;let o=I[e].parts(t).filter(e=>e.shape).flatMap(e=>E(e.d).flat()),[s,c]=Zr,l=o.map(([e])=>e),u=o.map(([,e])=>e),d=o.length===0?{left:s,right:i-s,top:c,bottom:a-c}:{left:s-Math.min(...l),right:Math.max(...l)-s,top:c-Math.min(...u),bottom:Math.max(...u)-c};return Qr.set(n,d),d}function ei(e,t){if(t<=1||e<=0)return 0;let n=Math.min(1,(1-1/t)*c/e);return Math.asin(n)*180/Math.PI}var ti=new Map;function ni(e,t){let n=`${e}:${t}`,r=ti.get(n);if(r!==void 0)return r;let o=I[e],s=o.parts(t).filter(e=>e.shape).flatMap(e=>E(e.d)),c=o.turn??Wr,[l,u]=D(o,t,`dark`),d=ye(l,o.iris),{centerX:f,centerY:p}=o.eyes,m=o.iris,h=(e,t,n,r)=>{let i=1-Math.abs(e)*Gr,a=1-Math.abs(e)*Kr;return[l,u].every(o=>{let c=(m===void 0?o.rx*.3:m.r)+Yr,l=(m===void 0?o.ry*.45:m.r)+Yr,u=+(m===void 0),h=f+(o.cx-f)*i+e*t+u*e*d.x*qr,g=(m===void 0?o.cy:p)+r-u*n*d.y*Jr;for(let e=0;e<16;e+=1){let t=e/16*Math.PI*2,n=h+Math.cos(t)*c*i,r=g+Math.sin(t)*l;if(!re(s,4250+(n-4250)/a,r))return!1}return!0})},g=(e,t)=>{if(t(e))return e;if(!t(0))return 0;let n=0,r=e;for(let e=0;e<10;e+=1){let e=(n+r)/2;t(e)?n=e:r=e}return n},_=g(c*i,e=>h(-1,e,0,0)&&h(1,e,0,0)),v=e=>g(a/2,t=>[-1,0,1].every(n=>h(n,_,e?1:-1,e?-t:t)))*Xr,y={side:_,up:v(!0),down:v(!1)};return ti.set(n,y),y}function ri(e,t,n){let r=I[e],i=r.turn??Wr,o=Math.max(-1,Math.min(1,n.facing)),s=Math.max(-1,Math.min(1,n.lift??0)),c=Math.max(-1,Math.min(1,n.tilt??0)),[l]=D(r,t,`dark`),u=ye(l,r.iris),d=ni(e,t),f=Math.max(0,-s),p=Math.max(0,n.depth??0),m=e=>(1+p*e)*(1-p*s),h=1+p*s,g=$r(e,t),_=Math.sign(-o)*ei(o<0?g.right:g.left,1+p*Math.abs(o)),v=Math.sign(s)*ei(s>0?g.bottom:g.top,1+p*Math.abs(s)),y=p>0?{yaw:_,pitch:v}:{};return{face:{x:o*d.side,y:Math.max(-d.up,Math.min(d.down,-s*Ur*(i/Wr)*a)),sx:1-Math.abs(o)*Gr},pupils:{x:o*u.x*qr,y:-s*u.y*Jr},glints:{x:o*u.x*qr},pupilL:{sx:m(o),sy:m(o)},pupilR:{sx:m(-o),sy:m(-o)},...r.mouth===!1?{}:{mouth:{sx:h,sy:h}},antenna:{x:o*d.side*1.1,...y},body:{sx:1-Math.abs(o)*(p>0?0:Kr),...y},look:{turn:-o*Br*(1-2*f)+c*Vr,y:-s*Hr}}}function ii(e,t){let[n,r]=D(I[e],t,`dark`);return{pupilL:[n.cx,n.cy],pupilR:[r.cx,r.cy]}}function ai(e){let t=I[e].mouth;return t===!1?{}:{mouth:[t.x,t.y]}}function oi(e,t,n,r={facing:0},i=260){let a=ri(e,t,r),o=ri(e,t,n);for(let[e,t]of Object.entries(a))for(let n of Object.keys(t)){let t=o[e]??={};t[n]??=R[n]}return{timeline:q(W(...Object.entries(o).map(([e,t])=>V(e,t,i,`ease-out`))),{from:a,origins:{body:Zr,look:s,antenna:Zr,face:[I[e].eyes.centerX,I[e].eyes.centerY],...ii(e,t),...ai(e)}}),layers:[],hold:!0}}var si=[`body`,`antenna`,`brows`,`eyes`,`pupils`,`pupilL`,`pupilR`,`glints`,`mouth`,`tear`],ci=`http://www.w3.org/2000/svg`;function Q(e){let t=document.createElement(`div`);return t.dataset.bood=e,Object.assign(t.style,{position:`absolute`,inset:`0`,transformOrigin:`0 0`,pointerEvents:`none`}),t}function li(){let e=document.createElementNS(ci,`svg`);return e.setAttribute(`viewBox`,o),e.setAttribute(`width`,`100%`),e.setAttribute(`height`,`100%`),e.style.overflow=`visible`,e.style.position=`absolute`,e.style.inset=`0`,e}function ui(e,t){let n=document.createElement(`div`);n.dataset.bood=`root`,Object.assign(n.style,{position:`relative`,width:`100%`,aspectRatio:`${i} / ${a}`,containerType:`inline-size`});let r={},o={},s=(e,t,n)=>{let i=Q(e);if(t.append(i),r[e]=i,n){let t=li();i.append(t),o[e]=t}return i},c=s(`wipe`,n,!1),l=s(`look`,s(`act`,s(`unwipe`,c,!1),!1),!1),u=s(`breath`,s(`shake`,l,!1),!1),d=Q(`slot:behind`);u.append(d),s(`body`,u,!0);let f=Q(`slot:figure`);u.append(f);let p=s(`antenna`,u,!0),m=Q(`slot:antenna`);p.append(m);let h=s(`face`,u,!1);s(`brows`,h,!0);let g=s(`eyes`,h,!0),_=s(`pupils`,g,!0);s(`pupilL`,_,!0),s(`pupilR`,_,!0),s(`glints`,g,!0),s(`mouth`,h,!0),s(`tear`,u,!0);let v=Q(`slot:front`);n.append(v);let y={behind:d,figure:f,antenna:m,front:v};e.append(n);let b=e=>{for(let t of si){let n=o[t];n!==void 0&&(n.innerHTML=e.layers.filter(e=>e.target===t).flatMap(e=>e.nodes.map($n)).join(``))}let t=I[e.body].flow,n=o.body?.querySelector(`animate[attributeName="d"]`);t!==void 0&&n!=null&&n.addEventListener(`repeatEvent`,()=>{let e=n.getAttribute(`values`)?.split(`;`)[0]??``;n.setAttribute(`values`,[e,...t.frames(),e].join(`;`))})};b(t);let x=t,S=e=>{let t=o.mouth?.querySelector(`path`);if(t!=null){if(t.hasAttribute(`data-rest-d`)||(t.setAttribute(`data-rest-d`,t.getAttribute(`d`)??``),t.setAttribute(`data-rest-fill`,t.getAttribute(`fill`)??`none`)),e<=0){t.setAttribute(`d`,t.getAttribute(`data-rest-d`)??``),t.setAttribute(`fill`,t.getAttribute(`data-rest-fill`)??`none`);return}t.setAttribute(`d`,me(I[x.body],x.mood,e)),t.setAttribute(`fill`,t.getAttribute(`stroke`)??`none`)}},C=new Map,w=new Set,T=e=>{let t=Q(e.target);if(e.clone!==void 0){t.append(l.cloneNode(!0));let n=e.clone.band;n!==void 0&&(t.style.clipPath=`inset(${n[0]*100}% 0 ${(1-n[1])*100}% 0)`)}else{let n=li();n.innerHTML=e.nodes.map($n).join(``),t.append(n)}return y[e.place??`front`].append(t),t};return{root:n,setScene(e){x=e,b(e)},play:(e,t={})=>{t.key!==void 0&&C.get(t.key)?.cancel();let n=new Map;for(let t of e.layers)n.set(t.target,T(t));let{timeline:i}=e,a={duration:i.duration,iterations:i.iterations??1,fill:e.hold===!0?`forwards`:`none`,easing:`linear`},o=[];for(let e of Object.keys(i.tracks)){let t=n.get(e)??r[e];if(t===void 0)continue;let s=cr(i,e);s.transform!==null&&o.push(t.animate(s.transform,{...a,composite:`add`})),s.opacity!==null&&o.push(t.animate(s.opacity,{...a,composite:`replace`}))}if(t.rate!==void 0)for(let e of o)e.playbackRate=t.rate;e.clip===!0&&(c.style.overflow=`hidden`);let s=!1,l=!1,u=()=>{if(!s){s=!0;for(let e of n.values())e.remove();e.clip===!0&&(c.style.overflow=``)}},d=()=>{l||(l=!0,w.delete(f),t.key!==void 0&&C.get(t.key)===f&&C.delete(t.key))},f={finished:Promise.all(o.map(e=>e.finished)).then(()=>{u(),e.hold!==!0&&d()},()=>{u(),d()}),cancel(){for(let e of o)e.cancel();u(),d()}};return w.add(f),t.key!==void 0&&C.set(t.key,f),f},talk:S,stop(e){C.get(e)?.cancel()},destroy(){for(let e of[...w])e.cancel();n.remove()}}}var di=Gn,fi=`square`,pi={red:`#d7263d`,orange:`#f26b0f`,yellow:`#f59e0b`,green:`#2f9e5b`,teal:`#2fa39a`,blue:`#2f6fdf`,purple:`#7c4fe0`,pink:`#d6338a`,brown:`#7a5230`,grey:`#7a7a7a`,black:`#1f1f23`},mi=pi.red,hi=/^#[0-9a-f]{6}$/i;function gi(e){return e===void 0?mi:hi.test(e)?e.toLowerCase():pi[e.toLowerCase()]??mi}function _i(e){let t=e.toLowerCase();return Object.entries(pi).find(([,e])=>e===t)?.[0]??t}function vi(e){return qn(e.trim().toLowerCase())??fi}function yi(e){let t=qn(e.trim().toLowerCase());return t===void 0?``:I[t].name}var bi=e=>qn(e.trim().toLowerCase())!==void 0;function xi(e,t,n,r){let o=Math.min(t.width/i,t.height/a),{centerX:s,centerY:c}=I[e].eyes,l=t.width/2,u=(n-(t.left+(t.width-i*o)/2+s*o))/l,d=(r-(t.top+(t.height-a*o)/2+c*o))/l,f=Math.max(1,Math.hypot(u,d));return{facing:u/f,lift:-d/f}}function Si(e,t){let n=e.toLowerCase().normalize(`NFD`).replace(/[̀-ͯ]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^[^a-z]+/,``).slice(0,34).replace(/-+$/,``)||`bot`;if(!t.includes(n))return n;for(let e=2;;e+=1){let r=`${n}-${e}`;if(!t.includes(r))return r}}var Ci=e();function wi(e,t,n,r,i){return Zn(vi(e),{mood:n,scheme:r,color:gi(t),filled:!0,eyes:`dots`,brows:!1,mouth:!1,detail:i<60?`simple`:`full`})}var Ti=500,Ei=[5500,9500],Di=[2e4,12e4],Oi=[2e3,6e3],ki=.4,Ai=[.4,1],ji=[18e4,42e4],Mi=400,Ni=new Set,Pi=e=>Ni.forEach(t=>t({x:e.clientX,y:e.clientY}));function Fi(e){return Ni.size===0&&document.addEventListener(`pointermove`,Pi,{passive:!0}),Ni.add(e),()=>{Ni.delete(e),Ni.size===0&&document.removeEventListener(`pointermove`,Pi)}}var $=(e,t)=>e+Math.random()*(t-e);function Ii({body:e,color:t,mood:i=`idle`,width:a,still:o=!1,arrive:s,actEvery:c=ji}){let l=(0,L.useRef)(null),u=(0,L.useRef)(null),d=r(n(`$/ui/theme/mode`)??`system`),f=(0,L.useMemo)(()=>wi(e,t,i,d,a),[e,t,i,d,a]),p=(0,L.useRef)(gi(t));p.current=gi(t);let[m,h]=c;(0,L.useLayoutEffect)(()=>(u.current=ui(l.current,f),()=>{u.current?.destroy(),u.current=null}),[]),(0,L.useLayoutEffect)(()=>{u.current?.setScene(f)},[f]),(0,L.useLayoutEffect)(()=>{s===void 0||o||u.current?.play(jr(s.transit,`show`,{color:p.current}),{key:`act`})},[s?.at]);let g=(0,L.useRef)(i);return(0,L.useEffect)(()=>{g.current!==i&&(g.current=i,o||u.current?.play(zr()))},[i,o]),(0,L.useEffect)(()=>{let t=u.current,n=l.current;if(o||t===null||n===null)return;let r=vi(e),a=Nr(r,i,{scheme:d,brows:!1});a.forEach((e,n)=>t.play(e,{key:`ambient:${n}`}));let s=!0,c=new Set,f=(e,t)=>{if(!s)return;let n=window.setTimeout(()=>{c.delete(n),t()},e);c.add(n)},g=(e,t,n)=>{let r=()=>{n(),f($(e,t),r)};f($(e,t),r)};if(g(3400,7600,()=>t.play(Fr(r),{key:`blink`})),window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return()=>{s=!1,c.forEach(e=>window.clearTimeout(e)),a.forEach((e,n)=>t.stop(`ambient:${n}`)),t.stop(`blink`)};let _={from:{facing:0,lift:0},to:{facing:0,lift:0},start:0,ms:0},v={x:0,y:0},y=!1,b=!1,x=!1,S=null,C=0,w=0,T=null,ee=0,te=()=>{let{from:e,to:t,start:n,ms:r}=_,i=r===0?1:rr(`ease-out`,Math.min(1,(performance.now()-n)/r)),a=(e=0,t=0)=>e+(t-e)*i;return{facing:a(e.facing,t.facing),lift:a(e.lift,t.lift),tilt:a(e.tilt,t.tilt)}},E=(e,n)=>{let a=te();t.play(oi(r,i,e,a,n),{key:`pose`}),_={from:a,to:e,start:performance.now(),ms:n}},ne=(e,n)=>{t.play(Ir(r,i,e,n,v),{key:`glance`}),v={x:e,y:n}},re=()=>{C===0&&(C=requestAnimationFrame(()=>{if(C=0,S===null||b)return;let e=Date.now();(T===null||e-ee>Ti)&&(T=n.getBoundingClientRect(),ee=e),T.width!==0&&T.height!==0&&(!y&&(v.x!==0||v.y!==0)&&ne(0,0),y=!0,E(xi(r,T,S.x,S.y),200))}))},ie=()=>{S===null?E({facing:0,lift:0},400):re()},ae=()=>{window.clearTimeout(w),S=null,y=!1,b||ie()},oe=Fi(e=>{S=e,window.clearTimeout(w),w=window.setTimeout(ae,$(...Ei)),re()});if(g(900,3300,()=>{!y&&!b&&ne($(-.4,.4),$(-.4,.4))}),I[r].antenna!==void 0&&g(3200,7400,()=>t.play(Rr(r),{key:`swing`})),i===`idle`){let e=()=>{if(!x){if(b=!0,Math.random()<ki)E({facing:0,lift:0,tilt:(Math.random()<.5?-1:1)*$(...Ai)},500);else{let e=Math.random()*Math.PI*2;ne(Math.cos(e),Math.sin(e)),E({facing:Math.cos(e),lift:-Math.sin(e)},400)}f($(...Oi),()=>{b=!1,ne(0,0),ie()})}f($(...Di),e)};f($(...Di),e);let n=Jn(r);g(m,h,()=>{if(x||b)return;x=!0;let e=Math.floor(Math.random()*(n.length+1)),i=()=>{x=!1};if(e<n.length){t.play(xr(r,n[e],{color:p.current,filled:!0}),{key:`act`}).finished.then(i,i);return}t.play(jr(wr(),`hide`,{color:p.current}),{key:`act`}).finished.then(()=>{f(Mi,()=>{t.play(jr(wr(),`show`,{color:p.current}),{key:`act`}).finished.then(i,i)})},i)})}return()=>{s=!1,c.forEach(e=>window.clearTimeout(e)),window.clearTimeout(w),cancelAnimationFrame(C),oe(),a.forEach((e,n)=>t.stop(`ambient:${n}`));for(let e of[`blink`,`pose`,`glance`,`swing`,`act`])t.stop(e)}},[e,i,d,o,m,h]),(0,Ci.jsx)(`div`,{ref:l,className:`web-bood`,style:{width:a},"aria-hidden":`true`})}export{_i as a,Si as c,yi as i,wr as l,di as n,gi as o,pi as r,bi as s,Ii as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{t as a}from"./Button-_R1oktDz.js";import{J as o,K as s,Q as c,ot as l,r as u,s as d,z as f}from"./data-DsJQo1Qk.js";import{_ as p,c as m,l as h}from"./hosts-A0gEDScb.js";import{t as g}from"./emojis-B4zHbUyk.js";import{n as _,t as v}from"./ContextMenu-DlF_3KO_.js";import{t as y}from"./Spinner-CBEPv0eM.js";import{r as b}from"./Composer-DYocj0Ot.js";import{G as x,K as S,X as C,Z as w,pt as T,q as E}from"./index-ddqm5vYD.js";import{n as D,t as O}from"./channel-BWOXaftf.js";import{l as k,t as A}from"./Bood-Dg-XtOTh.js";var j=t(),M=e();function N({host:e,bot:t,x:s,y:p,onClose:m}){let h=i(),{t:v}=r(),x=n(u(e).offers)??o,S=w(n(u(e).agents)),[T,E]=(0,j.useState)(void 0),[D,k]=(0,j.useState)(null);(0,j.useEffect)(()=>{let n=!0;return C(e,x,t,S).then(e=>{n&&E(e)},e=>{n&&k(e instanceof Error?e.message:String(e))}),()=>{n=!1}},[e,x,t,S]);let A=O(e,T??void 0,l).state?.defaultChat,N=O(e,A,c),[P,F]=(0,j.useState)(``),I=n=>{m(),h.commands.execute(n,{host:e,slug:t.id})},L=()=>{let t=P.trim();if(t===``||A===void 0)return;let n=b(t,void 0,[]);d(e).dispatch(A,N.state?.activeTurn===void 0?{type:`chat/turnStarted`,turnId:f(),startedAt:new Date().toISOString(),message:n}:{type:`chat/pendingMessageSet`,kind:`queued`,id:f(),message:n}),F(``)};return(0,M.jsxs)(_,{x:s,y:p,onClose:m,className:`web-bot-popover`,children:[(0,M.jsxs)(`div`,{className:`web-bot-popover__head`,children:[(0,M.jsx)(`button`,{type:`button`,className:`web-bot-popover__name`,title:v(`bots/commands/open`),onClick:()=>I(`ahp.openBot`),children:t.name}),t.labels.length===0?null:(0,M.jsx)(`span`,{className:`web-bot-popover__labels`,children:t.labels.join(`, `)}),T==null?null:(0,M.jsx)(`button`,{type:`button`,className:`web-bot-popover__chat`,title:v(`bots/actions/chat`),"aria-label":v(`bots/actions/chat`),onClick:()=>I(`ahp.chatWithBot`),children:g.sessions})]}),t.description===void 0?null:(0,M.jsx)(`p`,{className:`web-bot-popover__description`,children:t.description}),D===null?T===void 0?(0,M.jsx)(y,{label:v(`bots/chat/opening`)}):T===null?(0,M.jsx)(`p`,{className:`web-note`,children:v(S?`bots/chat/cannot`:`bots/chat/noHost`)}):(0,M.jsxs)(`form`,{className:`web-bot-popover__say`,onSubmit:e=>{e.preventDefault(),L()},children:[(0,M.jsx)(`input`,{className:`web-field`,value:P,autoFocus:!0,placeholder:v(`bots/layer/say`,{name:t.name}),"aria-label":v(`bots/layer/say`,{name:t.name}),onChange:e=>F(e.target.value)}),(0,M.jsx)(a,{label:v(`bots/layer/send`),variant:`primary`,disabled:P.trim()===``||A===void 0,onClick:L})]}):(0,M.jsx)(`p`,{className:`web-bot-popover__failure`,children:D})]})}var P={edge:`right`,at:.5};function F(e,t){let n=new Set(e),r=t.map(e=>({...e,bots:e.bots.filter(e=>n.has(e))})).filter(e=>e.bots.length>0),i=new Set(r.flatMap(e=>e.bots)),a=e.filter(e=>!i.has(e));if(a.length===0)return r;let o=r.findIndex(e=>e.edge===P.edge);return o<0?[...r,{id:`home`,...P,bots:a}]:r.map((e,t)=>t===o?{...e,bots:[...e.bots,...a]}:e)}function I(e,t=4){return{shown:e.slice(0,t),more:Math.max(0,e.length-t)}}function L(e,t){let n=new Set(t);return e.map(e=>({...e,bots:e.bots.filter(e=>!n.has(e))})).filter(e=>e.bots.length>0)}function R(e,t,n){return L(e,t).map(e=>e.id===n?{...e,bots:[...e.bots,...t]}:e)}function z(e,t,n,r,i){return[...L(e,t),{id:n,edge:r,at:i,bots:[...t]}]}function B(e,t,n,r){let[i]=[[`left`,e],[`right`,n-e],[`top`,t],[`bottom`,r-t]].reduce((e,t)=>t[1]<e[1]?t:e),a=i===`left`||i===`right`?t/r:e/n;return{edge:i,at:Math.min(.95,Math.max(.05,a))}}var V=s(`ahpd-web.bot-pucks`),H=[`left`,`right`,`top`,`bottom`];function U(e){let t=e;return typeof t==`object`&&!!t&&typeof t.id==`string`&&H.includes(t.edge)&&typeof t.at==`number`&&Array.isArray(t.bots)&&t.bots.every(e=>typeof e==`string`)}function W(){try{let e=JSON.parse(localStorage.getItem(V)??`[]`);return Array.isArray(e)?e.filter(U):[]}catch{return[]}}function G(e){try{localStorage.setItem(V,JSON.stringify(e))}catch{}}var K=48,q=6,ee=300,te=550,ne=1300,J={width:320,height:132};function Y(e,t){switch(t){case`right`:return{x:e.left-J.width-8,y:e.top};case`left`:return{x:e.right+8,y:e.top};case`bottom`:return{x:e.left,y:e.top-J.height-8};case`top`:return{x:e.left,y:e.bottom+8}}}function X(){let e=i(),{t}=r(),n=T(p(),S),{states:a}=D(n,x,E),[o,s]=(0,j.useState)(W),[c,l]=(0,j.useState)(null),[u,d]=(0,j.useState)(null),[f,g]=(0,j.useState)(null),[_,y]=(0,j.useState)(null),[b,C]=(0,j.useState)(null),[w,O]=(0,j.useState)(null);(0,j.useEffect)(()=>{if(w===null)return;let e=window.setTimeout(()=>O(e=>e===w?null:e),ne);return()=>window.clearTimeout(e)},[w]);let P=(0,j.useRef)(null),L=(0,j.useRef)(new Map),V=(0,j.useMemo)(()=>{let e=new Map;return n.forEach((t,n)=>{for(let r of a[n]?.bots??[])e.set(m(t,r.id),r)}),e},[n,a]),H=(0,j.useMemo)(()=>F([...V.keys()],o),[V,o]),U=(e,t,n)=>{for(let r of H){if(r.bots.every(e=>n.includes(e)))continue;let i=L.current.get(r.id)?.getBoundingClientRect();if(i!==void 0&&e>=i.left-8&&e<=i.right+8&&t>=i.top-8&&t<=i.bottom+8)return r.id}return null},J=(e,t,n)=>{e.button===0&&(e.currentTarget.setPointerCapture(e.pointerId),P.current={key:t,puck:n,x:e.clientX,y:e.clientY,at:Date.now()})},X=e=>{let t=P.current;if(t!==null){if(t.bots===void 0){if(Math.hypot(e.clientX-t.x,e.clientY-t.y)<q)return;t.bots=Date.now()-t.at>=ee||t.puck.bots.length===1?t.puck.bots:[t.key],d(null)}C({bots:t.bots,x:e.clientX,y:e.clientY,target:U(e.clientX,e.clientY,t.bots)})}},re=e=>{let t=P.current;if(P.current=null,t===null)return;if(t.bots===void 0){if(Date.now()-t.at>=te){d(null),g({key:t.key,x:e.clientX,y:e.clientY});return}d(u?.key===t.key?null:{key:t.key,...Y(e.currentTarget.getBoundingClientRect(),t.puck.edge)});return}let n=U(e.clientX,e.clientY,t.bots),{edge:r,at:i}=B(e.clientX,e.clientY,window.innerWidth,window.innerHeight),a=n===null?z(H,t.bots,`p${Date.now()}`,r,i):R(H,t.bots,n);s(a),G(a),C(null),O({bots:new Map(t.bots.map(e=>[e,k()])),at:Date.now()})},ie=()=>{P.current=null,C(null)};if(V.size===0)return null;let Z=u===null?void 0:V.get(u.key),Q=f===null?void 0:V.get(f.key),$=b===null?void 0:V.get(b.bots[0]);return(0,M.jsxs)(`div`,{className:`web-bots`,"data-dragging":b===null?`false`:`true`,children:[H.map(e=>{let{shown:n,more:r}=I(e.bots);return(0,M.jsxs)(`div`,{ref:t=>{t===null?L.current.delete(e.id):L.current.set(e.id,t)},className:`web-bot-puck`,"data-edge":e.edge,"data-target":b?.target===e.id?`true`:`false`,style:{"--at":e.at},children:[n.map(t=>{let n=V.get(t),r=b?.bots.includes(t)===!0?`observing`:u?.key===t?`happy`:c===t?`observing`:`idle`,i=w?.bots.get(t);return(0,M.jsx)(`button`,{type:`button`,className:`web-bot-puck__bot`,"data-open":u?.key===t?`true`:`false`,"data-moving":b?.bots.includes(t)===!0?`true`:`false`,title:n.name,"aria-label":n.name,onMouseEnter:()=>l(t),onMouseLeave:()=>l(e=>e===t?null:e),onPointerDown:n=>J(n,t,e),onContextMenu:e=>{e.preventDefault(),P.current=null,C(null),d(null),g({key:t,x:e.clientX,y:e.clientY})},onPointerMove:X,onPointerUp:re,onPointerCancel:ie,onKeyDown:n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),d(u?.key===t?null:{key:t,...Y(n.currentTarget.getBoundingClientRect(),e.edge)}))},children:(0,M.jsx)(A,{body:n.body,color:n.color,mood:r,width:K,arrive:i===void 0?void 0:{transit:i,at:w.at}})},t)}),r===0?null:(0,M.jsx)(`button`,{type:`button`,className:`web-bot-puck__more`,"aria-label":t(`bots/layer/more`,{count:r}),title:t(`bots/layer/more`,{count:r}),onClick:t=>y({...Y(t.currentTarget.getBoundingClientRect(),e.edge),bots:e.bots.slice(n.length)}),children:`+${r}`})]},e.id)}),b===null||$===void 0?null:(0,M.jsxs)(`div`,{className:`web-bot-ghost`,style:{left:b.x,top:b.y},"aria-hidden":`true`,children:[(0,M.jsx)(A,{body:$.body,color:$.color,mood:`observing`,width:K,still:!0}),b.bots.length>1?(0,M.jsx)(`span`,{className:`web-bot-puck__more`,children:`+${b.bots.length-1}`}):null]}),_===null?null:(0,M.jsx)(v,{spec:{items:_.bots.map(e=>({title:V.get(e)?.name??e,onSelect:t=>{t.closeMenu(),d({key:e,x:_.x,y:_.y})}}))},x:_.x,y:_.y,onClose:()=>y(null)}),f===null||Q===void 0?null:(0,M.jsx)(v,{spec:{items:[[`ahp.chatWithBot`,`bots/actions/chat`],[`ahp.openBot`,`bots/commands/open`],[`ahp.editBot`,`bots/actions/edit`],[`ahp.deleteBot`,`bots/actions/delete`]].map(([n,r])=>({title:t(r),group:Q.name,onSelect:t=>{t.closeMenu();let{host:r,id:i}=h(f.key);e.commands.execute(n,{host:r,slug:i,name:Q.name})}}))},x:f.x,y:f.y,onClose:()=>g(null)}),u===null||Z===void 0?null:(0,M.jsx)(N,{host:h(u.key).host,bot:Z,x:u.x,y:u.y,onClose:()=>d(null)})]})}export{X as default};
@@ -0,0 +1 @@
1
+ import{r as e,t}from"./jsx-runtime-BguD1OXD.js";import{t as n}from"./react-CybPckBe.js";import{l as r,t as i}from"./useI18n-T3BwAm0z.js";import{n as a}from"./ScenaProvider-6A3TJumQ.js";import{$ as o,r as s}from"./data-DsJQo1Qk.js";import{h as c,i as l,m as u,o as d}from"./hosts-A0gEDScb.js";import{t as f}from"./emojis-B4zHbUyk.js";import{t as p}from"./ActionList-QwhYPQiB.js";import{a as m,d as h,o as g,r as _}from"./terminal-Ctk6FYnN.js";var v=n(),y=f.terminal;function b(e,t){let n=g(e.claim,t);return n.kind===`you`?r(`terminals/holder/you`):n.kind===`session`?r(`terminals/holder/session`):r(`terminals/holder/another`)}function x(e,t){if(!m(e))return b(e,t);let n=_(e),i=b(e,t);return n===null?r(`terminals/exited`,{holder:i}):r(`terminals/exitedWith`,{holder:i,code:n})}function S(e,t){let n=t.trim().toLowerCase(),r=o()===`multi`;return l(e.store).flatMap(t=>C(e,t,n,r))}function C(e,t,n,i){let a=e.store.get(s(t).host);return(a?.terminals??[]).filter(e=>n===``||`terminal ${r(`terminals/rows/title`,{title:h(e)})}`.toLowerCase().includes(n)).map(n=>({title:r(`terminals/rows/title`,{title:h(n)}),description:[i?d(e.store,t):void 0,x(n,a?.clientId??null)].filter(e=>e!==void 0).join(` · `),icon:y,group:r(`terminals/rows/group`),onSelect:r=>{r.closeMenu(),e.commands.execute(`ahp.openTerminal`,{host:t,uri:n.resource})}}))}var w=e({PALETTE_KEY:()=>D,PALETTE_SLOT:()=>E,default:()=>P,openPalette:()=>j}),T=t(),E=`ahp:palette`,D=`command-palette`,O=null,k=null;function A(e){return e===null?{query:{slot:E},footerHints:!0}:{...e,footerHints:!0}}function j(e,t){if(k!==null){k(t??null);return}O=t??null,e.surfaces.open({surface:`overlay`,key:D,resource:{component:`CommandPalette`}})}function M(e){return e.normalize(`NFD`).replace(/\p{Diacritic}/gu,``).toLowerCase()}function N(e,t){let n=M(t.trim());return n===``?e:e.filter(e=>`title`in e&&M(`${e.title} ${e.description??``}`).includes(n))}function P(){let e=a(),{t}=i(),[n,r]=(0,v.useState)(``),[o,l]=(0,v.useState)(()=>{let e=O;return O=null,[A(e)]});(0,v.useEffect)(()=>(k=e=>{l([A(e)]),r(``)},()=>{k=null}),[]);let d=(0,v.useRef)(null),f=(0,v.useCallback)(()=>e.surfaces.close(D),[e]),m=(0,v.useMemo)(()=>({pushList:e=>{l(t=>[...t,e]),r(``)},replaceList:e=>l(t=>[...t.slice(0,-1),e]),openInline:()=>void 0,openPopover:()=>void 0,back:()=>{l(e=>e.length>1?e.slice(0,-1):e),r(``)},closeMenu:f,keepOpen:()=>void 0,insertAtCursor:()=>void 0,replaceActiveToken:()=>void 0,query:``}),[f]),h=u(c().map(e=>s(e).host)),g=o.length,_=o[g-1],y=_.query?.slot===E,b=(0,v.useMemo)(()=>{let t=_.query?{..._,query:{..._.query,q:n}}:_.items===void 0?_:{..._,items:N(_.items,n)};return y?{...t,extraItems:S(e,n)}:t},[e,_,y,n,h]);function x(e){if(e.key===`Escape`){e.preventDefault(),g>1?m.back():f();return}d.current?.handleKey(e)}return(0,T.jsx)(`div`,{className:`web-palette`,onMouseDown:e=>{e.target===e.currentTarget&&f()},children:(0,T.jsxs)(`div`,{className:`web-palette__box`,role:`dialog`,"aria-modal":`true`,"aria-label":t(`shell/commands/palette`),children:[(0,T.jsx)(`input`,{className:`web-field web-palette__input`,autoFocus:!0,value:n,placeholder:y?t(`shell/palette/placeholder`):_.title??t(`shell/palette/placeholder`),"aria-label":t(`shell/commands/palette`),onChange:e=>r(e.currentTarget.value),onKeyDown:x}),(0,T.jsx)(p,{ref:d,spec:b,hostCtx:m,...g>1?{onBack:m.back}:{},manageKeys:!1})]})})}export{y as i,E as n,j as r,w as t};
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n,u as r}from"./useStore-BQkzWMs-.js";import{l as i,n as a,t as o}from"./useI18n-T3BwAm0z.js";import{n as s}from"./ScenaProvider-6A3TJumQ.js";import{t as c}from"./Button-_R1oktDz.js";import{I as l,r as u,s as d,z as f}from"./data-DsJQo1Qk.js";import{t as p}from"./emojis-B4zHbUyk.js";import{i as m}from"./notify-B2F6UAgq.js";import{t as h}from"./ContextMenu-DlF_3KO_.js";import{a as g,i as ee,n as te,o as _,r as v,s as y,t as b}from"./ActionList-QwhYPQiB.js";import{t as x}from"./Modal-xWzwLA8s.js";import{C as S,S as ne,_ as C,a as w,b as T,c as E,d as re,f as D,g as O,h as k,i as A,l as j,m as M,o as N,p as ie,r as ae,s as oe,t as se,v as ce,w as le,x as ue,y as P}from"./composer-commands-CzjP_L_C.js";import{r as F}from"./turn-z1TPlA5Q.js";import{a as de,d as fe,o as pe}from"./changeset-FRFDlNj7.js";import{n as I,t as L}from"./drag-CxTqzQcr.js";var R=e(),z=t(),me=[`/`,`@`];function he(e){let{input:t,setInput:n,caretIndex:r,panelDataContext:i,slashSlot:a=`chat:input/`,mentionSlot:o=`chat:input@`,mentionProvider:c,prefixes:l=me,onCaretChange:u}=e,d=s(),[f,p]=(0,z.useState)([]),m=(0,z.useRef)(f);m.current=f;let h=(0,z.useRef)(null),x=(0,z.useMemo)(()=>ee(t,l,r),[t,l,r]),[S,ne]=(0,z.useState)(null),C=x===null?null:`${x.start}:${x.token}`,w=x!==null&&C!==S,T=(0,z.useRef)(c);T.current=c;let E=c!==void 0,re=(0,z.useCallback)(e=>T.current?.(e)??[],[]),D=(0,z.useCallback)(e=>x?.prefix===`@`?E?{provider:re,footerHints:!0,rich:!0}:{query:{slot:o,q:e},footerHints:!0,rich:!0}:{query:{slot:a,q:e},footerHints:!0,rich:!0},[x?.prefix,E,re,o,a]);(0,z.useEffect)(()=>{if(!x||!w){m.current.length>0&&p([]);return}let e=m.current[m.current.length-1];if(m.current.length<=1){p([{spec:D(x.query)}]);return}let t=e&&`spec`in e?e.spec:void 0;if(t?.sentinel&&!y(x.token,t.sentinel)){p([{spec:D(x.query)}]);return}t?.query&&p(e=>{let n=e.slice(0,-1);return n.push({spec:{...t,query:{...t.query,q:x.query}}}),n})},[x,w,D]);let O=(0,z.useMemo)(()=>{let e=f[f.length-1];return e&&`spec`in e?e.spec.sentinel:void 0},[f]),k=(0,z.useMemo)(()=>_(x?.query??``,O),[x,O]),A=(0,z.useMemo)(()=>({pushList:e=>p(t=>[...t,{spec:e}]),replaceList:e=>p(t=>{let n=t.slice(0,-1);return n.push({spec:e}),n}),openInline:e=>p(t=>[...t,{component:(0,R.jsx)(B,{name:e})}]),openPopover:()=>void 0,back:()=>p(e=>e.length>1?e.slice(0,-1):e),closeMenu:()=>{p([]);let e=v(t,r,``,l);n(e.next),u?.(e.caret)},keepOpen:()=>void 0,insertAtCursor:e=>{let i=v(t,r,e,l);n(i.next),u?.(i.caret)},replaceActiveToken:e=>{let i=v(t,r,e,l);n(i.next),u?.(i.caret)},query:k}),[t,r,l,n,k,u]),j=f[f.length-1],M=(0,z.useCallback)(()=>p(e=>e.slice(0,-1)),[]),N=f.length>1?M:void 0,ie=(0,z.useCallback)(e=>{if(!w)return!1;if(e.key===`Escape`)return e.preventDefault(),ne(C),p([]),!0;if(e.key===`ArrowLeft`&&N){let t=e.target;if(t.selectionStart===t.selectionEnd&&x&&t.selectionStart===x.start+x.prefix.length)return e.preventDefault(),N(),!0}return e.key===`ArrowDown`||e.key===`ArrowUp`||e.key===`Enter`||e.key===`Tab`?h.current?.handleKey(e)??!1:!1},[w,N,x,C]),ae=(0,z.useCallback)(e=>{let o=d.commands.get(e);if(!o)return null;ne(null);let s=te(o.shortcut),c=null;if(s){let{next:e,caret:i}=g(t,r,s,l);c=i,n(e),p([{spec:{query:{slot:a,q:s.replace(/^[/@]/,``)},footerHints:!0,rich:!0}}])}return d.commands.execute(e,void 0,{source:`menu`,dataContext:i,host:A}),c},[d,i,t,r,l,A,n,a]),oe=(0,z.useCallback)(()=>A.closeMenu(),[A]);return{menuVisible:w,activeSentinel:O,pickerNode:j?`component`in j?j.component:(0,R.jsx)(b,{ref:h,spec:j.spec,hostCtx:A,onBack:N,dataContext:i,manageKeys:!1}):null,handleMenuKeyDown:ie,openCommand:ae,closeMenu:oe}}function B({name:e}){return(0,R.jsxs)(`div`,{style:{padding:12},children:[`[component: `,e,`]`]})}var V=p.caretDown;function H({label:e,short:t,icon:n,title:r,onOpen:i,on:a}){return(0,R.jsxs)(`button`,{type:`button`,className:`web-chip`,"data-on":a===!0?`true`:`false`,"data-short":t===void 0?void 0:`true`,"data-icon":n===void 0?void 0:`true`,title:r??e,"aria-label":e,disabled:i===void 0,onClick:i,...i===void 0?{}:{"aria-haspopup":`menu`},children:[(0,R.jsx)(`span`,{className:`web-chip__long`,children:e}),t===void 0?null:(0,R.jsx)(`span`,{className:`web-chip__short`,children:t}),n===void 0?null:(0,R.jsx)(`span`,{className:`web-chip__icon`,children:n}),i===void 0?null:(0,R.jsx)(`span`,{"aria-hidden":`true`,children:V})]})}function U({label:e,title:t,value:n,placeholder:r,onChange:i,width:a}){return(0,R.jsxs)(`span`,{className:`web-chip web-chip--text`,title:t??e,children:[e,(0,R.jsx)(`input`,{"aria-label":e,value:n,placeholder:r??``,style:{width:a??110},onChange:e=>i(e.currentTarget.value)})]})}function W(e){return e===`permissionMode`?p.approvals:e===`effortLevel`?p.thinking:p.settings}function ge(e){let t=E(e);return{label:i(`sessions/pills/setting`,{name:e.schema.title||e.key,value:t}),short:t,icon:W(e.key)}}var _e=e=>({label:i(`sessions/pills/model`,{name:e}),short:e,icon:p.model});function ve(e){return e.schema.scope===`chat`?`right`:`left`}function ye(e,t){let n=e?.maxContextWindow;if(n===void 0)return null;let r=e=>e.toLocaleString(a());if(t?.inputTokens===void 0)return{text:F(n),title:i(`sessions/footer/window`,{window:r(n)})};let o=t.inputTokens+(t.cacheReadTokens??0);return{text:`${F(o)} / ${F(n)}`,title:i(`sessions/footer/used`,{used:r(o),window:r(n)})}}function be({attachments:e,folder:t,onRemove:n}){let{t:r}=o(),[i,a]=(0,z.useState)(null);return e.length===0?null:(0,R.jsxs)(`div`,{className:`web-composer__attached`,children:[e.map((e,i)=>{let o=(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`web-attachment__icon`,"aria-hidden":`true`,children:M(e)}),(0,R.jsx)(`span`,{className:`web-attachment__label`,children:k(e)})]});return(0,R.jsxs)(`span`,{className:`web-attachment`,title:O(e,t)??k(e),children:[P(e)?(0,R.jsx)(`button`,{type:`button`,className:`web-attachment__open`,title:r(`sessions/attachments/see`,{name:k(e)}),onClick:()=>a(T(e)),children:o}):o,(0,R.jsx)(`button`,{type:`button`,className:`web-attachment__remove`,"aria-label":r(`sessions/attachments/remove`,{name:k(e)}),onClick:()=>n(i),children:p.close})]},`${k(e)}-${i}`)}),i===null?null:(0,R.jsx)(G,{preview:i,onClose:()=>a(null)})]})}function G({preview:e,onClose:t}){return(0,R.jsx)(x,{open:!0,title:e.label,onClose:t,children:(0,R.jsxs)(`div`,{className:`web-attachment-preview`,children:[(0,R.jsx)(`p`,{className:`web-attachment-preview__meta`,children:e.meta}),e.image===void 0?null:(0,R.jsx)(`img`,{className:`web-attachment-preview__image`,src:e.image,alt:e.label}),e.text===void 0?null:(0,R.jsx)(`pre`,{className:`web-attachment-preview__text`,children:e.text})]})})}var K=4;function xe({host:e,path:t,onOpenChange:r}){let{t:i}=o(),a=n(u(e).sessions),[s,c]=(0,z.useState)(null),l=(0,z.useRef)(null),d=(0,z.useRef)(null);(0,z.useLayoutEffect)(()=>{let e=d.current?.querySelector(`.oo-popup`);if(s===null||e==null)return;let t=e.getBoundingClientRect().height,n=s.rect.bottom+K,r=s.rect.top-K-t,i=n+t>window.innerHeight&&r>=0?r:n;i!==s.y&&c({...s,y:i})},[s]);let f=()=>{c(null),r(!1)},p=async()=>{if(s!==null){f();return}let e=A(t),n=l.current?.getBoundingClientRect();if(e===void 0||n===void 0)return;let i=await C();c({rect:n,y:n.bottom+K,items:N(e,a??[],i)}),r(!0)};return(0,R.jsxs)(`span`,{ref:d,className:`web-composer__add-holder`,children:[(0,R.jsx)(`button`,{ref:l,type:`button`,className:`web-composer__add`,"aria-label":i(`sessions/context/title`),title:i(`sessions/context/title`),"aria-haspopup":`menu`,"aria-expanded":s!==null,onMouseDown:e=>{s!==null&&e.nativeEvent.stopPropagation()},onClick:()=>void p(),children:(0,R.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 12 12`,"aria-hidden":`true`,children:(0,R.jsx)(`path`,{d:`M6 1v10M1 6h10`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})})}),s===null?null:(0,R.jsx)(h,{spec:{items:s.items},x:s.rect.left,y:s.y,onClose:f})]})}function Se({host:e,attach:t,insert:n,upload:r}){let[i,a]=(0,z.useState)(null);return{dropping:i,onDragOver:e=>{let t=L(e.dataTransfer);(t||Array.from(e.dataTransfer.types).includes(`Files`))&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`,a(t&&e.shiftKey?`mention`:`attach`))},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||a(null)},onDrop:i=>{a(null);let o=I(i.dataTransfer);if(o!==null){if(i.preventDefault(),o.host!==e)return;let r=ue(o.uri,o.directory);if(!i.shiftKey){t(r);return}let a=`@${l(o.uri)}${o.directory?`/`:``}`;n(`${a} `),t(le(r,a));return}i.dataTransfer.files.length!==0&&(i.preventDefault(),r(i.dataTransfer.files))},onPaste:e=>{let t=q(e.clipboardData);t!==null&&(e.preventDefault(),r(t))}}}function q(e){return e.files.length===0||Array.from(e.types).includes(`text/plain`)?null:e.files}var Ce=`$/ahp/composerFocus`,J=e=>typeof e==`object`&&e?e:{},Y=e=>typeof e==`string`&&e!==``?e:void 0;function we(e){let t=J(e).items;return(Array.isArray(t)?t:[]).map(e=>{let t=J(e),n=J(J(t.attachment)._meta),r=Y(t.insertText)??``;return{insert:r,label:Y(n.command)??r,detail:Y(n.description),hint:Y(n.argumentHint)}}).filter(e=>e.insert!==``)}var Te=e=>e.map(e=>({insert:`/${e.name}`,label:`/${e.name}`,detail:e.description===``?void 0:e.description,hint:void 0}));function Ee(e,t,n,i=se){return r(...n.map(n=>e.commands.register({id:`ahp.composer.host.${t}.${n.insert}`,title:n.hint===void 0?n.label:`${n.label} ${n.hint}`,...n.detail===void 0?{}:{description:n.detail},category:`Agent`,shortcut:n.label.startsWith(`/`)?n.label:`/${n.label}`,slots:[i],when:`${Ce} == "${t}"`,run:e=>e.host?.replaceActiveToken(`${n.insert} `)})))}var De=0,X=260,Oe=[`/`,`@`],ke=800;function Ae(e){e!==null&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,X)}px`)}function je(e,t,n){return{text:e,origin:{kind:`user`},...t===void 0?{}:{model:{id:t}},...n.length===0?{}:{attachments:S(e,n)}}}var Z=(0,z.memo)(function({host:e,chatUri:t,activeId:r,activeStart:i,queued:a,steering:h,draft:g,lastModel:ee,lastUsage:te,config:_,changesets:v,summary:y,send:b,placeholder:x,steers:S=!1}){let C=s(),{t:T}=o(),E=(n(u(e).agents)??[]).find(e=>e.provider===y.provider),k=(0,z.useMemo)(()=>w(e,t),[e,t]),[A]=(0,z.useState)(()=>`composer-${++De}`),M=y.workingDirectories?.[0],[N,P]=(0,z.useState)(()=>g?.text??``),[F,I]=(0,z.useState)(null),[L,me]=(0,z.useState)(()=>g?.model?.id??ee),[B,V]=(0,z.useState)(()=>g?.attachments??[]),U=(0,z.useRef)(null),W=r===void 0?void 0:{id:r,startedAt:i??``},G=a??[];(0,z.useEffect)(()=>Ae(U.current),[N]);let K=(0,z.useRef)(!1);(0,z.useEffect)(()=>{if(!K.current)return;let n=window.setTimeout(()=>{let n=N.trim()===``&&B.length===0?void 0:je(N,L,B);d(e).dispatch(t,{type:`chat/draftChanged`,draft:n})},ke);return()=>window.clearTimeout(n)},[N,L,B,t]);let q=(0,z.useCallback)(e=>{I(e),requestAnimationFrame(()=>{let t=U.current;t!==null&&(t.focus(),t.setSelectionRange(e,e))})},[]),J=(0,z.useCallback)(e=>{K.current=!0,V(t=>t.some(t=>ne(t,e))?t:[...t,e])},[]),Y=(0,z.useRef)(null),Te=(0,z.useCallback)(async e=>{let t=await ce(Array.from(e??[]));for(let e of t.attached)J(e);t.refused.length>0&&m(T(`sessions/upload/notAttached`),{description:T(`sessions/upload/refused`,{names:t.refused.join(`, `)})})},[J,T]),X=Se({host:e,attach:J,insert:(0,z.useCallback)(e=>{let t=Q.current??Z.current.length,n=Z.current.slice(0,t),r=n===``||/\s$/.test(n)?``:` `;K.current=!0,P(`${n}${r}${e}${Z.current.slice(t)}`),q(n.length+r.length+e.length)},[q]),upload:e=>void Te(e)}),Z=(0,z.useRef)(N);Z.current=N;let Q=(0,z.useRef)(F);Q.current=F;let Me=(0,z.useCallback)(async()=>{let n=Z.current;try{return(await d(e).request(`completions`,{kind:`userMessage`,channel:t,text:n,offset:Q.current??n.length})).items.map(e=>{let t=O(e.attachment,M);return{title:e.insertText.replace(/^@/,``),...t===void 0?{}:{description:t},onSelect:t=>{t.replaceActiveToken(`${e.insertText} `),J(le(e.attachment,e.insertText))}}})}catch{return[]}},[t,M,J]),[Ne,Pe]=(0,z.useState)([]);(0,z.useEffect)(()=>{let n=!0;return d(e).request(`completions`,{kind:`userMessage`,channel:t,text:`/`,offset:1}).then(e=>{n&&Pe(we(e))}).catch(()=>{n&&Pe([])}),()=>{n=!1}},[t]),(0,z.useEffect)(()=>{let e=Ee(C,A,Ne);return()=>e.dispose()},[C,A,Ne]);let[Fe,Ie]=(0,z.useState)(!1),Le=he({input:N,setInput:P,caretIndex:F,panelDataContext:k,slashSlot:se,prefixes:Oe,mentionProvider:Me,onCaretChange:q}),Re=(0,z.useMemo)(()=>Object.entries(_?.schema.properties??{}).filter(([,e])=>e.sessionMutable===!0&&e.readOnly!==!0).map(([e,t])=>({key:e,schema:t,value:_?.values[e]})),[_]),ze=(0,z.useCallback)(()=>{if(r===void 0)return;let e=Date.parse(i??``);b({type:`chat/turnCancelled`,turnId:r,duration:Number.isNaN(e)?0:Math.max(0,Date.now()-e)})},[r,i,b]),Be=(0,z.useMemo)(()=>(E?.models??[]).map(e=>({id:e.id,name:e.name})),[E]),Ve=de(e,(0,z.useMemo)(()=>pe(fe(v))?.uri,[v])),He=(0,z.useMemo)(()=>Ve.files.filter(e=>e.status!==`deleted`).map(e=>({title:e.name,description:e.dir,attachment:ue(e.file,!1)})),[Ve.files]),$=(0,z.useRef)(null);$.current={models:()=>Be,model:()=>L,setModel:e=>{K.current=!0,me(e)},options:()=>Re,setOption:(t,n)=>{d(e).dispatch(y.resource,{type:`session/configChanged`,config:{[t]:n}})},running:()=>W!==void 0,stop:ze,session:()=>y.resource,host:()=>e,attach:J,type:e=>{let t=ie(Z.current,Q.current??Z.current.length,e);K.current=!0,P(t.text),q(t.caret)},upload:()=>Y.current?.click(),changed:()=>He},(0,z.useEffect)(()=>ae(k,{models:()=>$.current?.models()??[],model:()=>$.current?.model(),setModel:e=>$.current?.setModel(e),options:()=>$.current?.options()??[],setOption:(e,t)=>$.current?.setOption(e,t),running:()=>$.current?.running()??!1,stop:()=>$.current?.stop(),session:()=>$.current?.session()??``,host:()=>$.current?.host()??e,attach:e=>$.current?.attach(e),type:e=>$.current?.type(e),upload:()=>$.current?.upload(),changed:()=>$.current?.changed()??[]}),[k]);let Ue=Re.map(e=>e.key).join(`
2
+ `);(0,z.useEffect)(()=>{let e=re(C,Re);return()=>e.dispose()},[C,Ue]);function We(e){let t=Le.openCommand(e);q(t??U.current?.value.length??N.length)}function Ge(){P(``),V([]),K.current=!1,d(e).dispatch(t,{type:`chat/draftChanged`,draft:void 0})}function Ke(e){let t=N.trim();if(t===``)return;let n=je(t,L,B);b(W===void 0?{type:`chat/turnStarted`,turnId:f(),startedAt:new Date().toISOString(),message:n}:e===`steer`||S?{type:`chat/pendingMessageSet`,kind:`steering`,id:f(),message:n}:{type:`chat/pendingMessageSet`,kind:`queued`,id:f(),message:n}),Ge()}let qe=Be.find(e=>e.id===L)?.name??L,Je=ye(E?.models.find(e=>e.id===L),te),Ye=Re.filter(D),Xe=e=>(0,R.jsx)(H,{...ge(e),title:e.schema.description??e.schema.title,...e.schema.type===`boolean`?{on:(e.value??e.schema.default)===!0}:{},...j(e.schema)?{onOpen:()=>We(oe(e.key))}:{}},e.key);return(0,R.jsxs)(`div`,{className:`web-composer`,children:[Le.pickerNode===null||Fe?null:(0,R.jsx)(`div`,{className:`web-composer__picker`,children:Le.pickerNode}),h===void 0&&G.length===0?null:(0,R.jsxs)(`ul`,{className:`web-composer__queue`,children:[h===void 0?null:(0,R.jsxs)(`li`,{children:[(0,R.jsx)(`span`,{className:`web-chip`,"data-on":`true`,children:T(`sessions/composer/steering`)}),(0,R.jsx)(`span`,{className:`web-composer__queued`,children:h.message.text}),(0,R.jsx)(c,{label:T(`sessions/composer/remove`),size:`sm`,onClick:()=>b({type:`chat/pendingMessageRemoved`,kind:`steering`,id:h.id})})]}),G.map((e,t)=>(0,R.jsxs)(`li`,{children:[(0,R.jsx)(`span`,{className:`web-chip`,children:T(`sessions/composer/next`,{number:t+1})}),(0,R.jsx)(`span`,{className:`web-composer__queued`,children:e.message.text}),(0,R.jsx)(c,{label:T(`sessions/composer/remove`),size:`sm`,onClick:()=>b({type:`chat/pendingMessageRemoved`,kind:`queued`,id:e.id})})]},e.id))]}),(0,R.jsxs)(`div`,{className:`web-composer__where`,children:[M===void 0?null:(0,R.jsx)(H,{label:`${p.folder} ${l(M)}`,title:T(`sessions/composer/folderHint`)}),(0,R.jsx)(H,{label:`${p.agents} ${E?.displayName??y.provider}`,title:E?.description??T(`sessions/composer/agentHint`)})]}),(0,R.jsxs)(`div`,{className:`web-composer__box`,"data-drop":X.dropping??void 0,onDragOver:X.onDragOver,onDragLeave:X.onDragLeave,onDrop:X.onDrop,onPaste:X.onPaste,children:[(0,R.jsx)(be,{attachments:B,folder:M,onRemove:e=>{K.current=!0,V(t=>t.filter((t,n)=>n!==e))}}),(0,R.jsx)(`div`,{className:`web-composer__bar`,children:(0,R.jsx)(`textarea`,{ref:U,className:`web-composer__text`,rows:1,value:N,"aria-label":T(`sessions/composer/message`),placeholder:x??T(W===void 0?`sessions/composer/placeholder`:`sessions/composer/placeholderRunning`),onChange:e=>{K.current=!0,P(e.currentTarget.value),I(e.currentTarget.selectionStart)},onFocus:()=>C.store.set(Ce,A),onKeyUp:e=>I(e.currentTarget.selectionStart),onClick:e=>I(e.currentTarget.selectionStart),onKeyDown:e=>{if(!Le.handleMenuKeyDown(e)){if(e.key===`Escape`&&W!==void 0){e.preventDefault(),ze();return}e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing&&(e.preventDefault(),Ke(e.altKey?`steer`:`send`))}}})}),(0,R.jsxs)(`div`,{className:`web-composer__foot`,children:[(0,R.jsx)(xe,{host:e,path:k,onOpenChange:Ie}),(0,R.jsx)(`input`,{ref:Y,type:`file`,multiple:!0,hidden:!0,onChange:e=>{Te(e.currentTarget.files),e.currentTarget.value=``}}),(0,R.jsx)(`div`,{className:`web-composer__chips web-composer__chips--left`,children:Ye.filter(e=>ve(e)===`left`).map(Xe)}),(0,R.jsxs)(`div`,{className:`web-composer__chips web-composer__chips--right`,children:[Be.length===0?null:(0,R.jsx)(H,{..._e(qe??T(`sessions/values/default`)),title:T(`sessions/composer/modelHint`),onOpen:()=>We(`ahp.composer.model`)}),Ye.filter(e=>ve(e)===`right`).map(Xe),Je===null?null:(0,R.jsx)(`span`,{className:`web-composer__context`,title:Je.title,children:Je.text})]}),S||W===void 0||N.trim()===``?null:(0,R.jsx)(c,{label:T(`sessions/composer/steer`),size:`sm`,title:T(`sessions/composer/steerHint`),onClick:()=>Ke(`steer`)}),S||W===void 0||N.trim()===``?null:(0,R.jsx)(c,{label:T(`sessions/composer/queue`),variant:`primary`,size:`sm`,title:T(`sessions/composer/queueHint`),onClick:()=>Ke(`send`)}),W===void 0||S&&N.trim()!==``?(0,R.jsx)(`button`,{type:`button`,className:`web-composer__round`,"aria-label":T(`sessions/composer/send`),title:T(`sessions/composer/sendHint`),disabled:N.trim()===``,onClick:()=>Ke(`send`),children:p.send}):(0,R.jsx)(`button`,{type:`button`,className:`web-composer__round`,"aria-label":T(`sessions/commands/stop`),title:T(`sessions/composer/stopHint`),onClick:ze,children:p.stop})]})]})]})});export{he as _,Te as a,xe as c,ye as d,ve as f,U as g,H as h,Ce as i,be as l,ge as m,Ae as n,Ee as o,_e as p,je as r,Se as s,Z as t,G as u};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{n}from"./ScenaProvider-6A3TJumQ.js";import{t as r}from"./ActionList-QwhYPQiB.js";var i=e(),a=t();function o({x:e,y:t,onClose:n,closeOnOutsideClick:r=!0,closeOnEscape:o=!0,className:s,style:c,children:l}){let u=(0,a.useRef)(null),[d,f]=(0,a.useState)({left:e,top:t});return(0,a.useLayoutEffect)(()=>{let n=u.current;if(!n)return;let r=()=>{let r=n.getBoundingClientRect(),i=Math.max(4,window.innerWidth-r.width-4),a=Math.max(4,window.innerHeight-r.height-4),o=Math.max(4,Math.min(e,i)),s=Math.max(4,Math.min(t,a));f(e=>e.left===o&&e.top===s?e:{left:o,top:s})};r(),window.addEventListener(`resize`,r);let i=typeof ResizeObserver>`u`?null:new ResizeObserver(r);return i?.observe(n),()=>{window.removeEventListener(`resize`,r),i?.disconnect()}},[e,t]),(0,a.useEffect)(()=>{if(!r||!n)return;let e=!0;function t(t){e&&u.current&&(u.current.contains(t.target)||n?.())}let i=setTimeout(()=>{e&&document.addEventListener(`mousedown`,t)},0);return()=>{e=!1,clearTimeout(i),document.removeEventListener(`mousedown`,t)}},[r,n]),(0,a.useEffect)(()=>{if(!o||!n)return;function e(e){e.key===`Escape`&&(e.preventDefault(),n?.())}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[o,n]),(0,i.jsx)(`div`,{ref:u,className:[`oo-popup`,s].filter(Boolean).join(` `),style:{position:`fixed`,left:d.left,top:d.top,zIndex:9999,maxHeight:`calc(100vh - 8px)`,overflowY:`auto`,...c},onMouseDown:e=>e.stopPropagation(),children:l})}function s({spec:e,x:t,y:s,onClose:u,context:d,dataContext:f,inline:p}){let m=n(),[h,g]=(0,a.useState)(()=>p?[{component:p.component}]:[{spec:e}]),_=(0,a.useRef)(h);_.current=h;let v=(0,a.useRef)(!1);if(d&&!v.current){for(let[e,t]of Object.entries(d)){let n=e.startsWith(`$/`)?e:c(f,e);m.store.set(n,t)}v.current=!0}let y=(0,a.useMemo)(()=>({pushList:e=>g(t=>[...t,{spec:e}]),replaceList:e=>g(t=>{let n=t.slice(0,-1);return n.push({spec:e}),n}),openInline:(e,t)=>{g(n=>[...n,{component:(0,i.jsx)(l,{name:e,props:t})}])},openPopover:()=>{},back:()=>g(e=>e.length>1?e.slice(0,-1):e),closeMenu:u,keepOpen:()=>void 0,insertAtCursor:()=>void 0,replaceActiveToken:()=>void 0,query:``}),[u]),b=h[h.length-1],x=h.length>1?y.back:void 0;return(0,i.jsx)(o,{x:t,y:s,onClose:u,children:`component`in b?b.component:(0,i.jsx)(r,{spec:b.spec,hostCtx:y,onBack:x,dataContext:f})})}function c(e,t){return t.startsWith(`$/`)?t:e?`${e.endsWith(`/`)?e.slice(0,-1):e}${t.startsWith(`/`)?t:`/${t}`}`:t.startsWith(`/`)?`$${t}`:`$/${t}`}function l({name:e,props:t}){return(0,i.jsxs)(`div`,{style:{padding:12},children:[`[component: `,e,`]`]})}export{s as t};
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{n}from"./ScenaProvider-6A3TJumQ.js";import{t as r}from"./ActionList-QwhYPQiB.js";var i=e(),a=t();function o({x:e,y:t,onClose:n,closeOnOutsideClick:r=!0,closeOnEscape:o=!0,className:s,style:c,children:l}){let u=(0,a.useRef)(null),[d,f]=(0,a.useState)({left:e,top:t});return(0,a.useLayoutEffect)(()=>{let n=u.current;if(!n)return;let r=()=>{let r=n.getBoundingClientRect(),i=Math.max(4,window.innerWidth-r.width-4),a=Math.max(4,window.innerHeight-r.height-4),o=Math.max(4,Math.min(e,i)),s=Math.max(4,Math.min(t,a));f(e=>e.left===o&&e.top===s?e:{left:o,top:s})};r(),window.addEventListener(`resize`,r);let i=typeof ResizeObserver>`u`?null:new ResizeObserver(r);return i?.observe(n),()=>{window.removeEventListener(`resize`,r),i?.disconnect()}},[e,t]),(0,a.useEffect)(()=>{if(!r||!n)return;let e=!0;function t(t){e&&u.current&&(u.current.contains(t.target)||n?.())}let i=setTimeout(()=>{e&&document.addEventListener(`mousedown`,t)},0);return()=>{e=!1,clearTimeout(i),document.removeEventListener(`mousedown`,t)}},[r,n]),(0,a.useEffect)(()=>{if(!o||!n)return;function e(e){e.key===`Escape`&&(e.preventDefault(),n?.())}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[o,n]),(0,i.jsx)(`div`,{ref:u,className:[`oo-popup`,s].filter(Boolean).join(` `),style:{position:`fixed`,left:d.left,top:d.top,zIndex:9999,maxHeight:`calc(100vh - 8px)`,overflowY:`auto`,...c},onMouseDown:e=>e.stopPropagation(),children:l})}function s({spec:e,x:t,y:s,onClose:u,context:d,dataContext:f,inline:p}){let m=n(),[h,g]=(0,a.useState)(()=>p?[{component:p.component}]:[{spec:e}]),_=(0,a.useRef)(h);_.current=h;let v=(0,a.useRef)(!1);if(d&&!v.current){for(let[e,t]of Object.entries(d)){let n=e.startsWith(`$/`)?e:c(f,e);m.store.set(n,t)}v.current=!0}let y=(0,a.useMemo)(()=>({pushList:e=>g(t=>[...t,{spec:e}]),replaceList:e=>g(t=>{let n=t.slice(0,-1);return n.push({spec:e}),n}),openInline:(e,t)=>{g(n=>[...n,{component:(0,i.jsx)(l,{name:e,props:t})}])},openPopover:()=>{},back:()=>g(e=>e.length>1?e.slice(0,-1):e),closeMenu:u,keepOpen:()=>void 0,insertAtCursor:()=>void 0,replaceActiveToken:()=>void 0,query:``}),[u]),b=h[h.length-1],x=h.length>1?y.back:void 0;return(0,i.jsx)(o,{x:t,y:s,onClose:u,children:`component`in b?b.component:(0,i.jsx)(r,{spec:b.spec,hostCtx:y,onBack:x,dataContext:f})})}function c(e,t){return t.startsWith(`$/`)?t:e?`${e.endsWith(`/`)?e.slice(0,-1):e}${t.startsWith(`/`)?t:`/${t}`}`:t.startsWith(`/`)?`$${t}`:`$/${t}`}function l({name:e,props:t}){return(0,i.jsxs)(`div`,{style:{padding:12},children:[`[component: `,e,`]`]})}export{o as n,s as t};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useI18n-T3BwAm0z.js";import{t as r}from"./emojis-DanG-8fr.js";var i=t(),a=e(),o=1200;function s(e){let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();try{return document.execCommand(`copy`)}catch{return!1}finally{t.remove()}}function c({text:e,label:t,icon:c=r.copy}){let{t:l}=n(),[u,d]=(0,i.useState)(!1),f=(0,i.useRef)(void 0);(0,i.useEffect)(()=>()=>window.clearTimeout(f.current),[]);let p=()=>{d(!0),window.clearTimeout(f.current),f.current=window.setTimeout(()=>d(!1),o)},m=()=>{if(navigator.clipboard===void 0){s(e)&&p();return}navigator.clipboard.writeText(e).then(p).catch(()=>{s(e)&&p()})},h=u?l(`shell/copy/copied`):t??l(`shell/copy/copy`);return(0,a.jsx)(`button`,{type:`button`,className:`web-copy`,"data-copied":u?`true`:`false`,title:h,"aria-label":h,onClick:m,children:u?r.check:c})}export{c as t};
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useI18n-T3BwAm0z.js";import{t as r}from"./emojis-B4zHbUyk.js";var i=t(),a=e(),o=1200;function s(e){let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();try{return document.execCommand(`copy`)}catch{return!1}finally{t.remove()}}function c({text:e,label:t,icon:c=r.copy}){let{t:l}=n(),[u,d]=(0,i.useState)(!1),f=(0,i.useRef)(void 0);(0,i.useEffect)(()=>()=>window.clearTimeout(f.current),[]);let p=()=>{d(!0),window.clearTimeout(f.current),f.current=window.setTimeout(()=>d(!1),o)},m=()=>{if(navigator.clipboard===void 0){s(e)&&p();return}navigator.clipboard.writeText(e).then(p).catch(()=>{s(e)&&p()})},h=u?l(`shell/copy/copied`):t??l(`shell/copy/copy`);return(0,a.jsx)(`button`,{type:`button`,className:`web-copy`,"data-copied":u?`true`:`false`,title:h,"aria-label":h,onClick:m,children:u?r.check:c})}export{c as t};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./ContextMenu-DYnWIBAF.js";var r=t(),i=e();function a(e,t){if(typeof e==`object`&&e)return e[t]}function o(e,t,n){let r=a(e,n),i=a(t,n);return r==null&&i==null?0:r==null?-1:i==null?1:typeof r==`number`&&typeof i==`number`?r-i:String(r).localeCompare(String(i))}function s(e,t,n){if(!n)return e;let r=t.find(e=>e.key===n.key);if(!r||!r.sortable)return e;let i=typeof r.sortable==`function`?r.sortable:(e,t)=>o(e,t,r.key),a=n.direction===`asc`?1:-1;return[...e].sort((e,t)=>a*i(e,t))}var c=480;function l({items:e,columns:t,getKey:a,title:o,toolbar:l,selectedKey:d,onSelect:f,onActivate:p,initialSort:m,sort:h,onSortChange:g,tableBreakpoint:_=c,renderListRow:v,getRowStyle:y,contextMenuSlot:b,contextFor:x,contextDataContext:S,onRowDragStart:C,emptyState:w,className:T,style:E,manageKeys:D=!1}){let O=(0,r.useRef)(null),[k,A]=(0,r.useState)(0),[j,M]=(0,r.useState)(m??null);(0,r.useEffect)(()=>{let e=O.current;if(!e)return;let t=new ResizeObserver(([e])=>{e&&A(e.contentRect.width)});return t.observe(e),()=>t.disconnect()},[]);let N=k>=_,P=h!==void 0,F=P?h:j,I=(0,r.useMemo)(()=>t.filter(e=>!e.hidden&&(N||e.mode!==`table`)&&(e.showAt==null||k>=e.showAt)),[t,N,k]),L=(0,r.useMemo)(()=>({tableMode:N,containerWidth:k}),[N,k]),R=(0,r.useMemo)(()=>I.map(e=>typeof e.width==`function`?e.width(L):e.width).map(e=>e??`minmax(0, 1fr)`).join(` `),[I,L]),z=(0,r.useMemo)(()=>s(e,t,F??null),[e,t,F]);function B(e){if(!e.sortable)return;let t=F,n=!t||t.key!==e.key?{key:e.key,direction:`asc`}:t.direction===`asc`?{key:e.key,direction:`desc`}:null;P?g?.(n):M(n)}(0,r.useEffect)(()=>{if(!d||!O.current)return;let e=O.current.querySelector(`[data-key="${u(d)}"]`);e&&e.scrollIntoView({block:`nearest`})},[d]);let V=d?z.findIndex(e=>a(e)===d):-1;function H(e){if(z.length===0)return;let t=V>=0?V:0;switch(e.key){case`ArrowDown`:{e.preventDefault();let n=z[Math.min(z.length-1,t+1)];n&&f?.(n);return}case`ArrowUp`:{e.preventDefault();let n=z[Math.max(0,t-1)];n&&f?.(n);return}case`Enter`:case` `:{e.preventDefault();let n=z[t];n&&p?.(n);return}}}let[U,W]=(0,r.useState)(null);function G(e,t){b&&(e.preventDefault(),e.stopPropagation(),W({x:e.clientX,y:e.clientY,item:t}))}function K(e,t){let n=e.cellProps?.(t,L),r=e.style===void 0&&n?.style===void 0?void 0:{...e.style,...n?.style};return(0,i.jsx)(`div`,{role:`cell`,className:n?.className===void 0?`oo-listable__cell`:`oo-listable__cell ${n.className}`,"data-align":e.align??`left`,title:e.titleProps?.(t,L).title,style:r,children:J(e,t)},e.key)}function q(e){let t=F?.key===e.key,n=e.titleProps?.(void 0,L);return(0,i.jsx)(`div`,{role:`columnheader`,className:n?.className===void 0?`oo-listable__head-cell`:`oo-listable__head-cell ${n.className}`,"data-align":e.align??`left`,"data-sortable":e.sortable?`true`:void 0,"data-sorted":t?F.direction:void 0,title:e.sortable&&typeof e.label==`string`?`Sort by ${e.label}`:void 0,onClick:e.sortable?()=>B(e):void 0,style:n?.style,children:n?.hidden===!0?null:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`span`,{className:`oo-listable__head-label`,children:e.label}),t?(0,i.jsx)(`span`,{className:`oo-listable__sort-arrow`,"aria-hidden":`true`,children:F.direction===`asc`?`▲`:`▼`}):null]})},e.key)}function J(e,t){return e.visible&&!e.visible(t)?null:e.render(t,L)}function Y(e){let t=a(e);return(0,i.jsx)(`div`,{role:`row`,"data-key":t,"data-selected":t===d?`true`:void 0,className:`oo-listable__item oo-listable__row`,draggable:C?!0:void 0,onDragStart:C?t=>C(t,e):void 0,onClick:()=>{f?.(e)},onDoubleClick:()=>p?.(e),onContextMenu:t=>G(t,e),style:{cursor:f?`pointer`:void 0},children:I.map(t=>K(t,e))},t)}function X(e){let t=a(e),n=t===d,r=y?y(e,L):void 0;return(0,i.jsx)(`div`,{role:`row`,"data-key":t,"data-selected":n?`true`:void 0,className:`oo-listable__item oo-listable__stack`,draggable:C?!0:void 0,onDragStart:C?t=>C(t,e):void 0,onClick:()=>f?.(e),onDoubleClick:()=>p?.(e),onContextMenu:t=>G(t,e),style:{cursor:f?`pointer`:void 0,...r},children:v?v(e):I.map(t=>{let n=J(t,e);if(n==null)return null;let r=t.cellProps?.(e,L);return(0,i.jsx)(`div`,{className:r?.className===void 0?`oo-listable__list-cell`:`oo-listable__list-cell ${r.className}`,title:t.titleProps?.(e,L).title,style:t.style===void 0&&r?.style===void 0?void 0:{...t.style,...r?.style},children:(0,i.jsx)(`span`,{className:`oo-listable__list-value`,children:n})},t.key)})},t)}return(0,i.jsxs)(`div`,{ref:O,role:`table`,tabIndex:0,className:[`oo-listable`,T].filter(Boolean).join(` `),"data-mode":N?`table`:`list`,style:E,onKeyDown:D?H:void 0,children:[o||l?(0,i.jsxs)(`header`,{className:`oo-listable__header`,children:[o?(0,i.jsx)(`h2`,{className:`oo-listable__title`,children:o}):null,l]}):null,z.length===0?w==null?null:(0,i.jsx)(`div`,{className:`oo-listable__empty`,children:w}):(0,i.jsxs)(`div`,{className:`oo-listable__rows`,role:`rowgroup`,style:N?{"--oo-listable-template":R}:void 0,children:[N?(0,i.jsx)(`div`,{role:`row`,className:`oo-listable__head-row`,children:I.map(e=>q(e))}):null,z.map(e=>N?Y(e):X(e))]}),U&&b?(0,i.jsx)(n,{x:U.x,y:U.y,onClose:()=>W(null),spec:{query:{slot:b},footerHints:!0},context:x?x(U.item):void 0,dataContext:S}):null]})}function u(e){return e.replace(/(["\\\]])/g,`\\$1`)}function d(e){return e==null?``:typeof e==`object`?JSON.stringify(e):String(e)}function f({columns:e,rows:t,rowKey:n=`id`,caption:r,selectedKey:a,onSelect:o,onActivate:s,emptyState:c}){let u=e.map(e=>({key:e.key,label:e.label??e.key,width:e.width,align:e.align,sortable:!0,render:t=>d(t[e.key])}));return(0,i.jsx)(l,{items:t,columns:u,getKey:e=>String(e[n]??``),title:r,selectedKey:a,onSelect:o,onActivate:s,emptyState:c})}export{f as DataTable};
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./ContextMenu-DlF_3KO_.js";var r=t(),i=e();function a(e,t){if(typeof e==`object`&&e)return e[t]}function o(e,t,n){let r=a(e,n),i=a(t,n);return r==null&&i==null?0:r==null?-1:i==null?1:typeof r==`number`&&typeof i==`number`?r-i:String(r).localeCompare(String(i))}function s(e,t,n){if(!n)return e;let r=t.find(e=>e.key===n.key);if(!r||!r.sortable)return e;let i=typeof r.sortable==`function`?r.sortable:(e,t)=>o(e,t,r.key),a=n.direction===`asc`?1:-1;return[...e].sort((e,t)=>a*i(e,t))}var c=480;function l({items:e,columns:t,getKey:a,title:o,toolbar:l,selectedKey:d,onSelect:f,onActivate:p,initialSort:m,sort:h,onSortChange:g,tableBreakpoint:_=c,renderListRow:v,getRowStyle:y,contextMenuSlot:b,contextFor:x,contextDataContext:S,onRowDragStart:C,emptyState:w,className:T,style:E,manageKeys:D=!1}){let O=(0,r.useRef)(null),[k,A]=(0,r.useState)(0),[j,M]=(0,r.useState)(m??null);(0,r.useEffect)(()=>{let e=O.current;if(!e)return;let t=new ResizeObserver(([e])=>{e&&A(e.contentRect.width)});return t.observe(e),()=>t.disconnect()},[]);let N=k>=_,P=h!==void 0,F=P?h:j,I=(0,r.useMemo)(()=>t.filter(e=>!e.hidden&&(N||e.mode!==`table`)&&(e.showAt==null||k>=e.showAt)),[t,N,k]),L=(0,r.useMemo)(()=>({tableMode:N,containerWidth:k}),[N,k]),R=(0,r.useMemo)(()=>I.map(e=>typeof e.width==`function`?e.width(L):e.width).map(e=>e??`minmax(0, 1fr)`).join(` `),[I,L]),z=(0,r.useMemo)(()=>s(e,t,F??null),[e,t,F]);function B(e){if(!e.sortable)return;let t=F,n=!t||t.key!==e.key?{key:e.key,direction:`asc`}:t.direction===`asc`?{key:e.key,direction:`desc`}:null;P?g?.(n):M(n)}(0,r.useEffect)(()=>{if(!d||!O.current)return;let e=O.current.querySelector(`[data-key="${u(d)}"]`);e&&e.scrollIntoView({block:`nearest`})},[d]);let V=d?z.findIndex(e=>a(e)===d):-1;function H(e){if(z.length===0)return;let t=V>=0?V:0;switch(e.key){case`ArrowDown`:{e.preventDefault();let n=z[Math.min(z.length-1,t+1)];n&&f?.(n);return}case`ArrowUp`:{e.preventDefault();let n=z[Math.max(0,t-1)];n&&f?.(n);return}case`Enter`:case` `:{e.preventDefault();let n=z[t];n&&p?.(n);return}}}let[U,W]=(0,r.useState)(null);function G(e,t){b&&(e.preventDefault(),e.stopPropagation(),W({x:e.clientX,y:e.clientY,item:t}))}function K(e,t){let n=e.cellProps?.(t,L),r=e.style===void 0&&n?.style===void 0?void 0:{...e.style,...n?.style};return(0,i.jsx)(`div`,{role:`cell`,className:n?.className===void 0?`oo-listable__cell`:`oo-listable__cell ${n.className}`,"data-align":e.align??`left`,title:e.titleProps?.(t,L).title,style:r,children:J(e,t)},e.key)}function q(e){let t=F?.key===e.key,n=e.titleProps?.(void 0,L);return(0,i.jsx)(`div`,{role:`columnheader`,className:n?.className===void 0?`oo-listable__head-cell`:`oo-listable__head-cell ${n.className}`,"data-align":e.align??`left`,"data-sortable":e.sortable?`true`:void 0,"data-sorted":t?F.direction:void 0,title:e.sortable&&typeof e.label==`string`?`Sort by ${e.label}`:void 0,onClick:e.sortable?()=>B(e):void 0,style:n?.style,children:n?.hidden===!0?null:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`span`,{className:`oo-listable__head-label`,children:e.label}),t?(0,i.jsx)(`span`,{className:`oo-listable__sort-arrow`,"aria-hidden":`true`,children:F.direction===`asc`?`▲`:`▼`}):null]})},e.key)}function J(e,t){return e.visible&&!e.visible(t)?null:e.render(t,L)}function Y(e){let t=a(e);return(0,i.jsx)(`div`,{role:`row`,"data-key":t,"data-selected":t===d?`true`:void 0,className:`oo-listable__item oo-listable__row`,draggable:C?!0:void 0,onDragStart:C?t=>C(t,e):void 0,onClick:()=>{f?.(e)},onDoubleClick:()=>p?.(e),onContextMenu:t=>G(t,e),style:{cursor:f?`pointer`:void 0},children:I.map(t=>K(t,e))},t)}function X(e){let t=a(e),n=t===d,r=y?y(e,L):void 0;return(0,i.jsx)(`div`,{role:`row`,"data-key":t,"data-selected":n?`true`:void 0,className:`oo-listable__item oo-listable__stack`,draggable:C?!0:void 0,onDragStart:C?t=>C(t,e):void 0,onClick:()=>f?.(e),onDoubleClick:()=>p?.(e),onContextMenu:t=>G(t,e),style:{cursor:f?`pointer`:void 0,...r},children:v?v(e):I.map(t=>{let n=J(t,e);if(n==null)return null;let r=t.cellProps?.(e,L);return(0,i.jsx)(`div`,{className:r?.className===void 0?`oo-listable__list-cell`:`oo-listable__list-cell ${r.className}`,title:t.titleProps?.(e,L).title,style:t.style===void 0&&r?.style===void 0?void 0:{...t.style,...r?.style},children:(0,i.jsx)(`span`,{className:`oo-listable__list-value`,children:n})},t.key)})},t)}return(0,i.jsxs)(`div`,{ref:O,role:`table`,tabIndex:0,className:[`oo-listable`,T].filter(Boolean).join(` `),"data-mode":N?`table`:`list`,style:E,onKeyDown:D?H:void 0,children:[o||l?(0,i.jsxs)(`header`,{className:`oo-listable__header`,children:[o?(0,i.jsx)(`h2`,{className:`oo-listable__title`,children:o}):null,l]}):null,z.length===0?w==null?null:(0,i.jsx)(`div`,{className:`oo-listable__empty`,children:w}):(0,i.jsxs)(`div`,{className:`oo-listable__rows`,role:`rowgroup`,style:N?{"--oo-listable-template":R}:void 0,children:[N?(0,i.jsx)(`div`,{role:`row`,className:`oo-listable__head-row`,children:I.map(e=>q(e))}):null,z.map(e=>N?Y(e):X(e))]}),U&&b?(0,i.jsx)(n,{x:U.x,y:U.y,onClose:()=>W(null),spec:{query:{slot:b},footerHints:!0},context:x?x(U.item):void 0,dataContext:S}):null]})}function u(e){return e.replace(/(["\\\]])/g,`\\$1`)}function d(e){return e==null?``:typeof e==`object`?JSON.stringify(e):String(e)}function f({columns:e,rows:t,rowKey:n=`id`,caption:r,selectedKey:a,onSelect:o,onActivate:s,emptyState:c}){let u=e.map(e=>({key:e.key,label:e.label??e.key,width:e.width,align:e.align,sortable:!0,render:t=>d(t[e.key])}));return(0,i.jsx)(l,{items:t,columns:u,getKey:e=>String(e[n]??``),title:r,selectedKey:a,onSelect:o,onActivate:s,emptyState:c})}export{f as DataTable};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{a}from"./locales-DOA2j2AT.js";import{$ as o,F as s,I as c,Q as l,ot as u,r as d}from"./data-DsJQo1Qk.js";import{i as f,s as p}from"./terminal-Ctk6FYnN.js";import{t as m}from"./state-DQKzjLgu.js";import{n as h}from"./HostLines-CtIqw3A0.js";import{a as g,i as _,r as v}from"./turn-z1TPlA5Q.js";import{t as y}from"./channel-BWOXaftf.js";var b=t(),x=e();function S({host:e,uri:t,folder:n}){let a=i(),{t:o}=r(),{state:s}=y(e,t,f);return p(s?.cwd,n)?(0,x.jsx)(`button`,{type:`button`,className:`web-link`,title:o(`sessions/details/openTerminal`),onClick:()=>void a.commands.execute(`ahp.openTerminal`,{uri:t}),children:s?.title===``||s?.title===void 0?o(`sessions/details/terminal`):s.title}):null}function C(){let e=i(),{t}=r(),f=n(m),p=f?.host??``,C=f?.resource,w=n(d(p).host),T=n(d(p).sessions)?.find(e=>e.resource===C),E=y(p,T===void 0?void 0:C,u),D=y(p,E.state?.defaultChat??T?.defaultChat,l),O=D.state?.turns,k=(0,b.useMemo)(()=>_(O??[]),[O]);if(T===void 0)return(0,x.jsx)(`p`,{className:`web-note web-details__empty`,children:t(`sessions/details/empty`)});let A=T.workingDirectories?.[0],j=T.changes,M=T.origin,N=E.state?.activeClients.length??0,P=E.state?.defaultChat??T.defaultChat,F=[...o()===`multi`?[[t(`common/host`),(0,x.jsx)(h,{host:p},`host`)]]:[],[t(`sessions/details/session`),T.title===``?t(`sessions/untitled`):T.title],[t(`sessions/details/sessionId`),(0,x.jsx)(`code`,{children:T.resource},`s`)]];return P!==void 0&&F.push([t(`sessions/details/chatId`),(0,x.jsx)(`code`,{children:P},`h`)]),F.push([t(`sessions/details/agent`),T.provider]),k.models.length>0&&F.push([t(`sessions/details/model`),k.models.join(`, `)]),A!==void 0&&F.push([t(`sessions/details/folder`),(0,x.jsx)(`button`,{type:`button`,className:`web-link`,title:t(`sessions/details/revealFolder`),onClick:()=>void e.commands.execute(`ahp.revealFolder`,{host:p,uri:A}),children:(0,x.jsx)(`code`,{children:c(A)})},`f`)]),F.push([t(`sessions/details/terminal`),(0,x.jsxs)(`span`,{className:`web-details__list`,children:[A===void 0?null:(w?.terminals??[]).map(e=>(0,x.jsx)(S,{host:p,uri:e.resource,folder:A},e.resource)),(0,x.jsx)(`button`,{type:`button`,className:`web-link`,title:t(A===void 0?`sessions/details/newTerminalHint`:`sessions/details/newTerminalInFolder`),onClick:()=>void e.commands.execute(`ahp.newTerminal`,{host:p,...A===void 0?{}:{cwd:A}}),children:t(`sessions/details/newTerminal`)})]},`t`)]),T.project!==void 0&&F.push([t(`sessions/details/project`),T.project.displayName]),F.push([t(`sessions/details/started`),g(T.createdAt)],[t(`sessions/details/changed`),g(T.modifiedAt)]),k.turns>0&&(F.push([t(`sessions/details/turns`),`${k.turns}${D.state?.turnsNextCursor===void 0?``:`+`}`]),F.push([t(`sessions/details/working`),s(k.working)]),F.push([t(`sessions/details/tokens`),`\u{2191}${v(k.input)} \u{2193}${v(k.output)}`]),k.tools>0&&F.push([t(`sessions/details/toolCalls`),String(k.tools)])),j!==void 0&&(j.additions!==void 0||j.deletions!==void 0)&&F.push([t(`sessions/details/changes`),(0,x.jsxs)(`span`,{children:[(0,x.jsxs)(`span`,{className:`web-diff--add`,children:[`+`,j.additions??0]}),` `,(0,x.jsxs)(`span`,{className:`web-diff--remove`,children:[`-`,j.deletions??0]}),j.files===void 0?``:` ${a(`sessions/details/inFiles`,j.files)}`]},`c`)]),M!==void 0&&String(M.kind)===`automation`&&F.push([t(`sessions/details/from`),t(`sessions/details/automation`)]),N>0&&F.push([t(`sessions/details/watching`),String(N)]),(0,x.jsx)(`dl`,{className:`web-details`,children:F.map(([e,t])=>(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`dt`,{children:e}),(0,x.jsx)(`dd`,{children:t})]},e))})}export{C as default};
@@ -0,0 +1,3 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useI18n-T3BwAm0z.js";import{n as r}from"./ScenaProvider-6A3TJumQ.js";import{t as i}from"./Button-_R1oktDz.js";import{I as a,s as o}from"./data-DsJQo1Qk.js";import{t as s}from"./Spinner-CBEPv0eM.js";import{t as c}from"./Alert-BhdRA0LL.js";import{n as l}from"./save-zwMG_vNN.js";import{a as u,r as d,t as f}from"./changeset-FRFDlNj7.js";var p=t(),m=3;function h(e){return e===``?[]:(e.endsWith(`
2
+ `)?e.slice(0,-1):e).split(`
3
+ `)}function g(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function _(e){if(e.length===0)return[];let t=[],n=Array(e.length).fill(-1);for(let r=0;r<e.length;r+=1){let i=e[r],a=0,o=t.length;for(;a<o;){let n=a+o>>1;e[t[n]]<i?a=n+1:o=n}n[r]=a>0?t[a-1]:-1,t[a]=r}let r=[],i=t.length>0?t[t.length-1]:-1;for(;i>=0;)r.push(i),i=n[i];return r.reverse()}function v(e,t){let n=new Map;for(let t of e)n.set(t,(n.get(t)??0)+1);let r=new Map;for(let e of t)r.set(e,(r.get(e)??0)+1);let i=new Map;t.forEach((e,t)=>{n.get(e)===1&&r.get(e)===1&&i.set(e,t)});let a=[];return e.forEach((e,t)=>{let n=i.get(e);n!==void 0&&a.push({a:t,b:n})}),a}function y(e,t,n,r){let i=[];return e.forEach((e,t)=>i.push({kind:`del`,before:n+t+1,after:null,text:e})),t.forEach((e,t)=>i.push({kind:`add`,before:null,after:r+t+1,text:e})),i}var b=24;function x(e,t,n,r,i){if(e.length===0&&t.length===0)return[];if(g(e,t))return e.map((e,t)=>({kind:`context`,before:n+t+1,after:r+t+1,text:e}));if(e.length===0||t.length===0||i>=b)return y(e,t,n,r);let a=v(e,t);if(a.length===0)return y(e,t,n,r);let o=_(a.map(e=>e.b)).map(e=>a[e]);if(o.length===0)return y(e,t,n,r);let s=[],c=0,l=0;for(let a of o)s.push(...x(e.slice(c,a.a),t.slice(l,a.b),n+c,r+l,i+1)),s.push({kind:`context`,before:n+a.a+1,after:r+a.b+1,text:e[a.a]}),c=a.a+1,l=a.b+1;return s.push(...x(e.slice(c),t.slice(l),n+c,r+l,i+1)),s}function S(e,t,n=m){let r=x(h(e),h(t),0,0,0),i=r.map((e,t)=>e.kind===`context`?-1:t).filter(e=>e>=0);if(i.length===0)return[];let a=[];for(let e of i){let t=a[a.length-1];t!==void 0&&e-t.to<=n*2?t.to=e:a.push({from:e,to:e})}return a.map(e=>{let t=Math.max(0,e.from-n),i=Math.min(r.length-1,e.to+n),a=r.slice(t,i+1),o=a[0],s=o.before??o.after??1,c=o.after??o.before??1;return{beforeStart:a.some(e=>e.before!==null)?s:0,beforeCount:a.filter(e=>e.kind!==`add`).length,afterStart:a.some(e=>e.after!==null)?c:0,afterCount:a.filter(e=>e.kind!==`del`).length,lines:a}})}function C(e){return`@@ -${e.beforeCount===1?`${e.beforeStart}`:`${e.beforeStart},${e.beforeCount}`} +${e.afterCount===1?`${e.afterStart}`:`${e.afterStart},${e.afterCount}`} @@`}function w(e){let t=0,n=0;for(let r of e)for(let e of r.lines)e.kind===`add`?t+=1:e.kind===`del`&&(n+=1);return{added:t,removed:n}}var T=e(),E=async(e,t)=>t===void 0?``:(await o(e).readText(t)).text;function D({host:e,file:t,before:o,after:m,changeset:h,change:g,review:_}){let v=r(),{t:y}=n(),b=u(e,h),x=b.files.find(e=>e.id===g),D=x===void 0?[]:b.operations.filter(e=>d(e,`resource`)),[O,k]=(0,p.useState)(null);(0,p.useEffect)(()=>{let t=!0;return k(null),Promise.all([E(e,o),E(e,m)]).then(([e,n])=>{t&&k({before:e,after:n})}).catch(e=>{t&&k({error:l(e)})}),()=>{t=!1}},[e,o,m]);let A=(0,p.useMemo)(()=>O===null||`error`in O||O.before===null||O.after===null?[]:S(O.before,O.after),[O]),j=t===void 0?``:a(t),M=w(A),N=(0,T.jsxs)(`div`,{className:`web-file__head`,children:[(0,T.jsx)(`code`,{children:j}),O!==null&&!(`error`in O)?(0,T.jsxs)(`span`,{children:[(0,T.jsxs)(`span`,{className:`web-diff--add`,children:[`+`,M.added]}),` `,(0,T.jsxs)(`span`,{className:`web-diff--remove`,children:[`-`,M.removed]}),o===void 0?` \u{00B7} ${y(`files/diff/newFile`)}`:m===void 0?` \u{00B7} ${y(`files/diff/deleted`)}`:``]}):null,(0,T.jsxs)(`span`,{className:`web-file__actions`,children:[_===!0&&x!==void 0?(0,T.jsxs)(`label`,{className:`web-file__viewed`,children:[(0,T.jsx)(`input`,{type:`checkbox`,checked:x.reviewed,onChange:e=>b.review([x],e.target.checked)}),y(`files/diff/viewed`)]}):null,x===void 0?null:D.map(e=>(0,T.jsx)(i,{label:`${f(e)} ${e.label}`,size:`sm`,disabled:String(e.status)===`running`,onClick:()=>void b.run(e,x)},e.id)),t===void 0||m===void 0?null:(0,T.jsx)(i,{label:y(`files/openFile`),size:`sm`,onClick:()=>void v.commands.execute(`ahp.openFile`,{host:e,uri:t})})]})]}),P=b.said===null?null:(0,T.jsx)(c,{tone:b.said.tone,message:b.said.text});return O===null?(0,T.jsxs)(`div`,{className:`web-file`,children:[N,P,(0,T.jsx)(s,{label:y(`files/diff/reading`)})]}):`error`in O?(0,T.jsxs)(`div`,{className:`web-file`,children:[N,P,(0,T.jsx)(c,{tone:`danger`,title:y(`files/notReadable`),message:O.error})]}):O.before===null||O.after===null?(0,T.jsxs)(`div`,{className:`web-file`,children:[N,P,(0,T.jsx)(`p`,{className:`web-note`,children:y(`files/notText`)})]}):A.length===0?(0,T.jsxs)(`div`,{className:`web-file`,children:[N,P,(0,T.jsx)(`p`,{className:`web-note`,children:y(`files/diff/none`)})]}):(0,T.jsxs)(`div`,{className:`web-file`,children:[N,P,(0,T.jsx)(`div`,{className:`web-file__body`,children:(0,T.jsx)(`table`,{className:`web-code web-diff`,children:(0,T.jsx)(`tbody`,{children:A.map((e,t)=>[(0,T.jsx)(`tr`,{className:`web-diff__hunk`,children:(0,T.jsx)(`td`,{colSpan:3,children:C(e)})},`h${t}`),...e.lines.map((e,n)=>(0,T.jsxs)(`tr`,{"data-kind":e.kind,children:[(0,T.jsx)(`td`,{className:`web-code__number`,children:e.before??``}),(0,T.jsx)(`td`,{className:`web-code__number`,children:e.after??``}),(0,T.jsxs)(`td`,{className:`web-code__text`,children:[e.kind===`add`?`+`:e.kind===`del`?`-`:` `,e.text]})]},`${t}:${n}`))])})})})]})}export{D as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{t as a}from"./Button-_R1oktDz.js";import{a as o}from"./locales-DOA2j2AT.js";import{$ as s,I as c,it as l,r as u,s as d,t as f,z as p}from"./data-DsJQo1Qk.js";import{r as m}from"./hosts-A0gEDScb.js";import{t as h}from"./Spinner-CBEPv0eM.js";import{t as g}from"./Text-MPtQvYE-.js";import{_t as _,bt as v,gt as y,vt as b,yt as x}from"./index-ddqm5vYD.js";import{t as S}from"./PageAlert-B8ulCXV4.js";import{t as C}from"./channel-BWOXaftf.js";import{t as w}from"./Field-jnYjqqvV.js";var T=t(),E=e(),D=[{key:`byHand`,expression:``},{key:`every10Minutes`,expression:`*/10 * * * *`},{key:`everyHour`,expression:`0 * * * *`},{key:`every6Hours`,expression:`0 */6 * * *`},{key:`dailyAt9`,expression:`0 9 * * *`},{key:`weekdaysAt9`,expression:`0 9 * * 1-5`},{key:`mondayAt5`,expression:`0 5 * * 1`}];function O({host:e,resource:t}){let[O,k]=(0,T.useState)(e),A=t===void 0&&s()===`multi`?O:e,j=n(m),M=i(),{t:N}=r(),{state:P,error:F}=C(A,f,l),I=n(u(A).agents)??[],L=n(u(A).automationCaps),R=n(u(A).defaultDirectory),z=t===void 0?void 0:P?.entries.find(e=>e.resource===t),[B,V]=(0,T.useState)(null);if(F!==null)return(0,E.jsx)(S,{tone:`danger`,title:N(`automations/notices/none`),message:F});if(P===void 0)return(0,E.jsx)(h,{label:N(`automations/notices/reading`)});if(t!==void 0&&z===void 0)return(0,E.jsx)(S,{tone:`warning`,message:N(`automations/notices/gone`)});if(t===void 0&&L?.create===void 0)return(0,E.jsx)(S,{tone:`warning`,message:N(`automations/edit/noCreate`)});let H=B??x(z,{...I[0]===void 0?{}:{provider:I[0].provider},...R==null?{}:{folder:c(R)}}),U=e=>V({...H,...e}),W=I.find(e=>e.provider===H.provider),G=v(H),K=L?.schedules?.minIntervalMinutes,q=D.find(e=>e.expression===H.expression.trim());return(0,E.jsxs)(`div`,{className:`web-page web-form`,children:[(0,E.jsx)(g,{variant:`h2`,text:z===void 0?N(`automations/commands/new`):z.definition.title===``?N(`automations/commands/edit`):N(`automations/editTitle`,{title:z.definition.title})}),t===void 0&&s()===`multi`?(0,E.jsx)(w,{label:N(`automations/edit/host`),children:(0,E.jsx)(`select`,{className:`web-field`,value:A,onChange:e=>{k(e.target.value),y(e.target.value),V(null)},children:(j??[]).map(e=>(0,E.jsx)(`option`,{value:e.id,children:e.name},e.id))})}):null,(0,E.jsx)(w,{label:N(`automations/edit/title`),children:(0,E.jsx)(`input`,{className:`web-field`,value:H.title,onChange:e=>U({title:e.target.value})})}),(0,E.jsx)(w,{label:N(`automations/edit/message`),hint:N(`automations/edit/messageHint`),children:(0,E.jsx)(`textarea`,{className:`web-field web-form__message`,rows:5,value:H.message,onChange:e=>U({message:e.target.value})})}),(0,E.jsxs)(`div`,{className:`web-form__row`,children:[(0,E.jsx)(w,{label:N(`automations/edit/agent`),children:(0,E.jsxs)(`select`,{className:`web-field`,value:H.provider,onChange:e=>U({provider:e.target.value,model:``}),children:[(0,E.jsx)(`option`,{value:``,children:N(`automations/defaults/host`)}),I.map(e=>(0,E.jsx)(`option`,{value:e.provider,children:e.displayName},e.provider))]})}),(0,E.jsx)(w,{label:N(`automations/edit/model`),children:(0,E.jsxs)(`select`,{className:`web-field`,value:H.model,onChange:e=>U({model:e.target.value}),children:[(0,E.jsx)(`option`,{value:``,children:N(`automations/defaults/agent`)}),(W?.models??[]).map(e=>(0,E.jsx)(`option`,{value:e.id,children:e.name},e.id))]})})]}),(0,E.jsx)(w,{label:N(`automations/edit/folder`),hint:N(`automations/edit/folderHint`),children:(0,E.jsx)(`input`,{className:`web-field`,value:H.folder,onChange:e=>U({folder:e.target.value})})}),(0,E.jsxs)(`div`,{className:`web-form__row`,children:[(0,E.jsx)(w,{label:N(`automations/edit/schedule`),children:(0,E.jsxs)(`select`,{className:`web-field`,value:q?.expression??`custom`,onChange:e=>{e.target.value!==`custom`&&U({expression:e.target.value})},children:[D.map(e=>(0,E.jsx)(`option`,{value:e.expression,children:N(`automations/edit/presets/${e.key}`)},e.key)),(0,E.jsx)(`option`,{value:`custom`,children:N(`automations/edit/custom`)})]})}),(0,E.jsx)(w,{label:N(`automations/edit/cron`),hint:`${H.expression.trim()===``?N(`automations/edit/byHandHint`):_(H.expression)}${K===void 0?``:` ${o(`automations/edit/minimum`,K)}`}`,children:(0,E.jsx)(`input`,{className:`web-field`,value:H.expression,placeholder:N(`automations/edit/cronPlaceholder`),onChange:e=>U({expression:e.target.value})})})]}),H.expression.trim()===``?null:(0,E.jsxs)(`div`,{className:`web-form__row`,children:[(0,E.jsx)(w,{label:N(`automations/edit/timeZone`),children:(0,E.jsx)(`input`,{className:`web-field`,value:H.timeZone,onChange:e=>U({timeZone:e.target.value})})}),(0,E.jsx)(w,{label:N(`automations/edit/missedRuns`),hint:N(`automations/edit/missedHint`),children:(0,E.jsxs)(`select`,{className:`web-field`,value:H.misfire,onChange:e=>U({misfire:e.target.value===`runOnce`?`runOnce`:`skip`}),children:[(0,E.jsx)(`option`,{value:`skip`,children:N(`automations/edit/skip`)}),(0,E.jsx)(`option`,{value:`runOnce`,children:N(`automations/edit/runOnce`)})]})})]}),(0,E.jsxs)(`div`,{className:`web-form__row`,children:[(0,E.jsx)(w,{label:N(`automations/edit/afterRuns`),hint:N(`automations/edit/keepsOn`),children:(0,E.jsx)(`input`,{className:`web-field`,inputMode:`numeric`,value:H.afterRuns,onChange:e=>U({afterRuns:e.target.value})})}),(0,E.jsx)(w,{label:N(`automations/edit/afterDate`),hint:N(`automations/edit/keepsOn`),children:(0,E.jsx)(`input`,{className:`web-field`,type:`date`,value:H.afterDate,onChange:e=>U({afterDate:e.target.value})})})]}),(0,E.jsxs)(`label`,{className:`web-input__row`,children:[(0,E.jsx)(`input`,{type:`checkbox`,checked:H.enabled,onChange:e=>U({enabled:e.target.checked})}),(0,E.jsx)(`span`,{children:N(`automations/edit/on`)})]}),G===void 0?null:(0,E.jsx)(`p`,{className:`web-note`,children:G}),(0,E.jsxs)(`div`,{className:`web-page__actions`,children:[(0,E.jsx)(a,{label:N(z===void 0?`automations/edit/create`:`automations/edit/save`),variant:`primary`,disabled:G!==void 0,onClick:()=>{if(G!==void 0)return;let e=b(H,z?.definition);if(z===void 0){let t=`ahp-automation:/${p()}`;d(A).dispatch(f,{type:`automation/createRequested`,resource:t,definition:e}),M.surfaces.close(`automation:new`),y(A),M.commands.execute(`ahp.openAutomation`,{host:A,resource:t})}else d(A).dispatch(f,{type:`automation/updateRequested`,resource:z.resource,changes:e}),M.surfaces.close(`automation:edit:${A}:${z.resource}`),M.commands.execute(`ahp.openAutomation`,{host:A,resource:z.resource})}}),(0,E.jsx)(a,{label:N(`automations/edit/cancel`),onClick:()=>M.surfaces.close(z===void 0?`automation:new`:`automation:edit:${A}:${z.resource}`)})]})]})}export{O as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{t as a}from"./Button-_R1oktDz.js";import{$ as o,J as s,r as c}from"./data-DsJQo1Qk.js";import{_ as l,g as ee}from"./hosts-A0gEDScb.js";import{t as te}from"./Spinner-CBEPv0eM.js";import{t as u}from"./Text-MPtQvYE-.js";import{G as d,J as f,K as p,Y as m,gt as h,pt as g,q as ne}from"./index-ddqm5vYD.js";import{t as _}from"./PageAlert-B8ulCXV4.js";import{t as v}from"./channel-BWOXaftf.js";import{t as y}from"./Field-jnYjqqvV.js";import{a as b,c as x,i as S,n as C,o as w,r as T,s as E,t as D}from"./Bood-Dg-XtOTh.js";var O=t();function k(e){return[...new Set(e.split(`,`).map(e=>e.trim()).filter(e=>e!==``))]}function A(e,t=Math.random){let n=new Map(Object.values(T).map(e=>[e,0]));for(let t of e){let e=w(t.color);n.has(e)&&n.set(e,n.get(e)+1)}let r=Math.min(...n.values()),i=[...n].find(([,e])=>e===r)[0];return{body:C[Math.floor(t()*C.length)],color:i}}function j(e,t){if(e!==void 0)return{name:e.name,labels:e.labels.join(`, `),description:e.description??``,instructions:e.instructions??``,body:e.body,color:w(e.color),owner:e.owner};let n=A(t);return{name:S(n.body),labels:``,description:``,instructions:``,owner:``,...n}}function M(e,t,n){let r=e.trim();return r===``||r===S(t)?S(n):e}function N(e,t){let n=e.description.trim(),r=e.instructions.trim();return{name:e.name.trim(),labels:k(e.labels),body:e.body.trim(),color:b(e.color),...t&&n===``?{}:{description:n},...t&&r===``?{}:{instructions:r},...t&&e.owner!==``?{owner:e.owner}:{}}}var P=e(),F=5;function I(e){let t=(e.providers.bot?.manifest?.properties)?.owner?.anyOf?.find(e=>typeof e.const==`string`&&e.const.startsWith(`root:`));return typeof t?.const==`string`?t.const:void 0}function L({host:e,slug:t}){let b=i(),{t:S}=r(),w=t===void 0,k=g(l(),p),A=ee(),[L,R]=(0,O.useState)(e),z=n(c(L).offers)??s,{state:B,error:V}=v(L,d,ne),[H,U]=(0,O.useState)(null),W=(0,O.useRef)(null),[G,K]=(0,O.useState)(!1),[q,J]=(0,O.useState)(null),Y=w?`bot:new`:`bot:edit:${L}:${t}`;if(V!==null)return(0,P.jsx)(_,{tone:`danger`,title:S(`bots/notices/none`),message:V});if(B===void 0)return(0,P.jsx)(te,{label:S(`bots/notices/reading`)});let X=w?void 0:B.bots.find(e=>e.id===t);if(!w&&X===void 0)return(0,P.jsx)(_,{tone:`warning`,message:S(`bots/notices/gone`)});W.current??=j(X,B.bots);let Z=H??W.current,re=W.current,Q=e=>U(t=>({...t??re,...e})),$=I(z),ie=!G&&Z.name.trim()!==``&&Z.body.trim()!==``;return(0,P.jsxs)(`div`,{className:`web-page web-form`,children:[(0,P.jsx)(u,{variant:`h2`,text:w?S(`bots/commands/new`):S(`bots/editTitle`,{name:X.name})}),(0,P.jsxs)(`div`,{className:`web-bot-look`,children:[(0,P.jsx)(D,{body:Z.body,color:Z.color,width:120}),(0,P.jsxs)(`div`,{className:`web-bot-look__pickers`,children:[(0,P.jsx)(`div`,{className:`web-bot-look__colors`,role:`radiogroup`,"aria-label":S(`bots/edit/color`),children:Object.entries(T).map(([e,t])=>(0,P.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":Z.color===t,"aria-label":S(`bots/colors/${e}`),title:S(`bots/colors/${e}`),className:`web-bot-look__color`,style:{background:t},onClick:()=>Q({color:t})},e))}),(0,P.jsx)(`div`,{className:`web-bot-look__bodies`,role:`radiogroup`,"aria-label":S(`bots/edit/body`),children:C.map(e=>(0,P.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":Z.body===e,"aria-label":e,title:e,className:`web-bot-look__body`,onClick:()=>Q({body:e,name:M(Z.name,Z.body,e)}),children:(0,P.jsx)(D,{body:e,color:Z.color,width:30,still:!0})},e))}),(0,P.jsx)(`input`,{className:`web-field web-bot-look__name`,value:Z.body,"aria-label":S(`bots/edit/bodyName`),placeholder:S(`bots/edit/bodyName`),onChange:e=>Q({body:e.target.value,name:M(Z.name,Z.body,e.target.value)})}),Z.body.trim()===``||E(Z.body)?null:(0,P.jsx)(`p`,{className:`web-note`,children:S(`bots/edit/bodyUnknown`)})]})]}),w&&o()===`multi`&&k.length>1?(0,P.jsx)(y,{label:S(`bots/edit/host`),children:(0,P.jsx)(`select`,{className:`web-field`,value:L,onChange:e=>{R(e.target.value),h(e.target.value),Q({owner:``})},children:k.map(e=>(0,P.jsx)(`option`,{value:e,children:A(e)},e))})}):null,(0,P.jsx)(y,{label:S(`bots/edit/name`),children:(0,P.jsx)(`input`,{className:`web-field`,value:Z.name,autoFocus:w,onChange:e=>Q({name:e.target.value})})}),w?$===void 0?null:(0,P.jsx)(y,{label:S(`bots/edit/owner`),hint:S(`bots/edit/ownerHint`),children:(0,P.jsxs)(`select`,{className:`web-field`,value:Z.owner,onChange:e=>Q({owner:e.target.value}),children:[(0,P.jsx)(`option`,{value:``,children:S(`bots/edit/ownerMe`)}),(0,P.jsx)(`option`,{value:$,children:S(`bots/edit/ownerHost`)})]})}):(0,P.jsx)(y,{label:S(`bots/edit/owner`),hint:S(`bots/edit/ownerKept`),children:(0,P.jsx)(`input`,{className:`web-field`,value:Z.owner,readOnly:!0})}),(0,P.jsx)(y,{label:S(`bots/edit/labels`),hint:S(`bots/edit/labelsHint`),children:(0,P.jsx)(`input`,{className:`web-field`,value:Z.labels,onChange:e=>Q({labels:e.target.value})})}),(0,P.jsx)(y,{label:S(`bots/edit/description`),children:(0,P.jsx)(`textarea`,{className:`web-field`,rows:2,value:Z.description,onChange:e=>Q({description:e.target.value})})}),(0,P.jsx)(y,{label:S(`bots/edit/instructions`),hint:S(w?`bots/edit/instructionsHint`:`bots/edit/instructionsLater`),children:(0,P.jsx)(`textarea`,{className:`web-field web-form__message`,rows:5,value:Z.instructions,onChange:e=>Q({instructions:e.target.value})})}),q===null?null:(0,P.jsx)(_,{tone:`danger`,message:q}),(0,P.jsxs)(`div`,{className:`web-page__actions`,children:[(0,P.jsx)(a,{label:S(w?`bots/edit/create`:`bots/edit/save`),variant:`primary`,disabled:!ie,onClick:()=>{K(!0),J(null);let e=N(Z,w);(X===void 0?(()=>{let t=B.bots.map(e=>e.id),n=[];for(let e=0;e<F;e+=1)n.push(x(Z.name,[...t,...n]));return m(L,z,n,e)})():f(L,z,X,e).then(()=>X.id)).then(e=>{b.surfaces.close(Y),b.commands.execute(`ahp.openBot`,{host:L,slug:e,name:Z.name.trim()})},e=>{J(e instanceof Error?e.message:String(e)),K(!1)})}}),(0,P.jsx)(a,{label:S(`bots/edit/cancel`),onClick:()=>b.surfaces.close(Y)})]})]})}export{L as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{a}from"./locales-DOA2j2AT.js";import{$ as o,r as s}from"./data-DsJQo1Qk.js";import{_ as c,c as l,g as u,l as d,m as f}from"./hosts-A0gEDScb.js";import{t as p}from"./state-DRVsnGrf.js";import{t as m}from"./ExplorerList-DU80dY_f.js";import{a as h,i as g}from"./words-1m-GRHoT.js";var _=t(),v=e();function y(){let e=i(),{t}=r(),y=c(),b=u(),x=o()===`multi`,S=f(y.map(e=>s(e).agents)),C=f(y.map(e=>s(e).sessions)),w=n(p),T=t=>{let{host:n,id:r}=d(t);e.commands.execute(`ahp.openAgent`,{host:n,provider:r})},E=(t,n)=>void e.commands.execute(`ahp.newSession`,{host:t,provider:n}),D=(0,_.useMemo)(()=>y.flatMap((e,n)=>(S[n]??[]).map(r=>{let i=(C[n]??[]).filter(e=>e.provider===r.provider).length,o=h(r).some(e=>e.required);return{key:l(e,r.provider),dot:`ok`,dotLabel:t(`agents/explorer/offered`),title:r.displayName,lines:[[x?b(e):void 0,g(r),a(`agents/explorer/sessions`,i),o?t(`agents/explorer/needsSignIn`):void 0].filter(e=>e!==void 0).join(` · `),...r.description===``?[]:[r.description]],menu:[{title:t(`agents/explorer/open`),onSelect:t=>{t.closeMenu(),T(l(e,r.provider))}},{title:t(`agents/newSession`),onSelect:t=>{t.closeMenu(),E(e,r.provider)}}]}})),[y,S,C,b,t]);return(0,v.jsx)(m,{label:t(`agents/explorer/title`),rows:D,selected:w===void 0?null:l(w.host,w.provider),onOpen:T,notice:D.length===0?(0,v.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`agents/explorer/empty`)}):null,filterLabel:t(`agents/explorer/filter`),hostLines:x})}export{y as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{$ as a}from"./data-DsJQo1Qk.js";import{_ as o,c as s,g as c,l}from"./hosts-A0gEDScb.js";import{t as u}from"./Spinner-CBEPv0eM.js";import{t as d}from"./Alert-BhdRA0LL.js";import{L as f,M as p,N as m,O as h,j as g,pt as _}from"./index-ddqm5vYD.js";import{t as v}from"./ExplorerList-DU80dY_f.js";import{n as y}from"./channel-BWOXaftf.js";var b=t(),x=e(),S=(e,t,n)=>`${e}|${s(t,n)}`,C=f(`users`),w=f(`roles`);function T(){let e=i(),{t}=r(),s=o(),f=_(s,p(`users`)),T=_(s,p(`roles`)),E=c(),D=a()===`multi`,O=y(f,g.users.channel,C),k=y(T,g.roles.channel,w),A=n(h),j=(0,b.useMemo)(()=>{let n=(n,r,i,a)=>{let o=S(n,r,i),s=t=>{e.commands.execute(t,{host:r,id:i})},c=(e,t,n={})=>({title:e,onSelect:e=>{e.closeMenu(),s(t)},...n}),l=n===`users`?`ahp.openUser`:`ahp.openRole`;return{key:o,dot:`quiet`,dotLabel:i,title:i,group:{key:n,label:t(n===`users`?`users/explorer/users`:`users/explorer/roles`)},lines:[[D?E(r):void 0,...a].filter(e=>e!==void 0&&e!==``).join(` · `)].filter(e=>e!==``),menu:[c(t(`users/actions/open`),l),c(t(`users/actions/delete`),n===`users`?`ahp.deleteUser`:`ahp.deleteRole`,{group:`more`,color:`red`})]}},r=e=>e.sort((e,t)=>e.id.localeCompare(t.id)),i=r(f.flatMap((e,t)=>(O.states[t]?.records??[]).map(t=>({host:e,...t})))).map(({host:e,id:t,record:r})=>n(`users`,e,t,[r.roles.join(`, `)])),a=r(T.flatMap((e,t)=>(k.states[t]===void 0?[]:m(k.states[t].records)).map(t=>({host:e,...t})))).map(({host:e,id:r,record:i,builtIn:a})=>n(`roles`,e,r,[a?t(`users/role/builtIn`):void 0,t(`users/role/grantCount`,{count:i.grants.length})].filter(e=>e!==void 0)));return[...i,...a]},[f,T,O.states,k.states,E,t]),M=D?null:O.errors[0]??null,N=D?O.states.some(e=>e!==void 0):O.states[0]!==void 0,P=f.length===0?(0,x.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`users/explorer/notServed`)}):M===null?N?j.length===0?(0,x.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`users/explorer/empty`)}):null:(0,x.jsx)(u,{label:t(`users/notices/reading`)}):(0,x.jsx)(d,{tone:`danger`,title:t(`users/notices/none`),message:M});return(0,x.jsx)(v,{label:t(`users/explorer/title`),rows:j,selected:A===void 0?null:S(A.domain,A.host,A.id),onOpen:t=>{let n=t.indexOf(`|`),r=t.slice(0,n);e.commands.execute(r===`users`?`ahp.openUser`:`ahp.openRole`,l(t.slice(n+1)))},notice:P,filterLabel:t(`users/explorer/filter`),hostLines:D})}export{T as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{$ as a,J as o,r as s}from"./data-DsJQo1Qk.js";import{_ as c,c as l,g as u,l as d,m as f}from"./hosts-A0gEDScb.js";import{t as p}from"./emojis-B4zHbUyk.js";import{t as m}from"./Spinner-CBEPv0eM.js";import{t as h}from"./Alert-BhdRA0LL.js";import{n as g}from"./grouping-BZNQYyEm.js";import{Q as _,dt as v,ft as y,lt as b,nt as x,ot as S,pt as C,tt as w,ut as T}from"./index-ddqm5vYD.js";import{t as E}from"./ExplorerList-DU80dY_f.js";import{n as D}from"./channel-BWOXaftf.js";import{n as O,r as k,t as A}from"./actions-CFnmwNqb.js";var j=t(),M=e(),N={running:`ok`,problem:`failed`,stopped:`off`};function P(){let e=i(),{t}=r(),P=c(),F=C(P,x),I=u(),L=a()===`multi`,{states:R,errors:z}=D(F,w,S),B=f(F.map(e=>s(e).offers)),V=n(_),H=n(`$/ahp/computers/group`)??`none`,U=n(`$/ahp/computers/filter`)??`all`,W=t=>{let{host:n,id:r}=d(t);e.commands.execute(`ahp.openComputer`,{host:n,id:r})},G=(0,j.useMemo)(()=>{let e=F.flatMap((e,t)=>(R[t]?.records??[]).map(({id:n,record:r})=>{let i=b(r);return{host:e,id:n,facts:i,offers:B[t]??o,item:{host:e,hostName:I(e),standing:T(i)}}})).filter(e=>y(e.item,U)).sort((e,t)=>e.id.localeCompare(t.id));return g(e,e=>v(e.item,H)).map(({host:e,id:n,facts:r,offers:i,item:a})=>{let o=v(a,H),s=a.standing===`running`;return{key:l(e,n),dot:N[a.standing],dotLabel:t(`computers/standing/${a.standing}`),title:n,lines:[[L&&H!==`host`?I(e):void 0,r.image??r.destination,t(`computers/standing/${a.standing}`)].filter(e=>e!==void 0).join(` · `)],menu:k(e,i,n,a.standing,r.controlled,()=>W(l(e,n))),...r.controlled&&O(i,`write`)?{action:{icon:s?p.stop:p.run,label:t(s?`computers/actions/stop`:`computers/actions/start`),run:()=>void A(e,i,n,s?`stop`:`start`)}}:{},...o===void 0?{}:{group:o}}})},[F,R,B,I,H,U,t]),K=L?null:z[0]??null,q=L?R.find(e=>e!==void 0):R[0],J=F.length===0?(0,M.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`computers/explorer/notServed`)}):K===null?q===void 0?(0,M.jsx)(m,{label:t(`computers/notices/reading`)}):G.length===0?(0,M.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`computers/explorer/empty`)}):null:(0,M.jsx)(h,{tone:`danger`,title:t(`computers/notices/none`),message:K});return(0,M.jsx)(E,{label:t(`computers/explorer/title`),rows:G,selected:V===void 0?null:l(V.host,V.id),onOpen:W,notice:J,filterLabel:t(`computers/explorer/filter`),hostLines:L})}export{P as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{$ as a}from"./data-DsJQo1Qk.js";import{_ as o,c as s,g as c,l}from"./hosts-A0gEDScb.js";import{t as u}from"./Spinner-CBEPv0eM.js";import{t as d}from"./Alert-BhdRA0LL.js";import{G as f,K as p,U as m,pt as h,q as g}from"./index-ddqm5vYD.js";import{t as _}from"./ExplorerList-DU80dY_f.js";import{n as v}from"./channel-BWOXaftf.js";import{t as y}from"./Bood-Dg-XtOTh.js";var b=t(),x=e();function S(){let e=i(),{t}=r(),S=h(o(),p),C=c(),w=a()===`multi`,{states:T,errors:E}=v(S,f,g),D=n(m),O=(t,n)=>{let{host:r,id:i}=l(n);e.commands.execute(t,{host:r,slug:i})},k=(0,b.useMemo)(()=>S.flatMap((e,t)=>(T[t]?.bots??[]).map(t=>({host:e,bot:t}))).sort((e,t)=>e.bot.name.localeCompare(t.bot.name)).map(({host:e,bot:n})=>{let r=s(e,n.id),i=(e,t,n={})=>({title:e,onSelect:e=>{e.closeMenu(),O(t,r)},...n});return{key:r,dot:`quiet`,dotLabel:n.name,icon:(0,x.jsx)(y,{body:n.body,color:n.color,width:28,still:!0}),title:n.name,lines:[[w?C(e):void 0,n.labels.length===0?void 0:n.labels.join(`, `)].filter(e=>e!==void 0).join(` · `),...n.description===void 0?[]:[n.description]].filter(e=>e!==``),menu:[i(t(`bots/actions/open`),`ahp.openBot`),i(t(`bots/actions/chat`),`ahp.chatWithBot`),i(t(`bots/actions/edit`),`ahp.editBot`),i(t(`bots/actions/delete`),`ahp.deleteBot`,{group:`more`,color:`red`})]}}),[S,T,C,t]),A=w?null:E[0]??null,j=w?T.find(e=>e!==void 0):T[0],M=S.length===0?(0,x.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`bots/explorer/notServed`)}):A===null?j===void 0?(0,x.jsx)(u,{label:t(`bots/notices/reading`)}):k.length===0?(0,x.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`bots/explorer/empty`)}):null:(0,x.jsx)(d,{tone:`danger`,title:t(`bots/notices/none`),message:A});return(0,x.jsx)(_,{label:t(`bots/explorer/title`),rows:k,selected:D===void 0?null:s(D.host,D.slug),onOpen:e=>O(`ahp.openBot`,e),notice:M,filterLabel:t(`bots/explorer/filter`),hostLines:w})}export{S as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{l as r,t as i}from"./useI18n-T3BwAm0z.js";import{n as a}from"./ScenaProvider-6A3TJumQ.js";import{$ as o,J as s,r as c}from"./data-DsJQo1Qk.js";import{_ as l,g as u}from"./hosts-A0gEDScb.js";import{t as d}from"./Spinner-CBEPv0eM.js";import{C as f,S as p,_ as m,f as h,g,pt as _,v,w as y,x as b,y as x}from"./index-ddqm5vYD.js";import{t as S}from"./ExplorerList-DU80dY_f.js";import{i as C,n as w}from"./words-D8X2_Vc_.js";var T=t(),E=e(),D=[`problem`,`user`,`team`,`project`],O=e=>{let t=D.indexOf(e??``);return t<0?D.length:t},k=[],A=(e,t)=>(t.total.usd??0)-(e.total.usd??0)||e.name.localeCompare(t.name);async function j(e,t,n,i,a){if(a.length>0)return(await b(e,t,a,v(n,i,new Date))).map(t=>{let n=a.length===1?t.keys[a[0]]:void 0;return{host:e,key:a.map(e=>t.keys[e]??``).join(`|`),name:a.map(e=>t.names[e]??t.keys[e]??r(`usage/explorer/none`)).join(` · `),kind:a.join(`+`),total:t.total,...n===void 0?{}:{pool:n}}});let o=await f(e,t);return Promise.all(o.map(async r=>({host:e,key:r.pool,name:r.name,kind:r.kind,pool:r.pool,total:n===`range`?await y(e,t,r.pool,i):(await p(e,t,r.pool))[n]})))}function M(){let e=a(),{t}=i(),r=l(),f=_(r,x),p=u(),v=o()===`multi`,y=n(`$/ahp/usage/period`)??`month`,b=n(`$/ahp/usage/group`)??k,D=n(`$/ahp/usage/range`)??m(new Date),M=n(`$/ahp/usage/asked`)??0,N=n(h),[P,F]=(0,T.useState)(null);(0,T.useEffect)(()=>{let t=!0;return F(null),Promise.all(f.map(async t=>{let n=e.store.get(c(t).offers)??s;try{return{host:t,items:await j(t,n,y,D,b)}}catch(e){return{host:t,error:e instanceof Error?e.message:String(e)}}})).then(e=>{t&&F(e)}),()=>{t=!1}},[f,y,b,D.from,D.until,M,e]);let I=(0,T.useMemo)(()=>(P??[]).flatMap(n=>`error`in n?[{key:`problem|${n.host}`,dot:`failed`,dotLabel:t(`usage/explorer/refused`),title:p(n.host),group:{key:`problem`,label:t(`usage/explorer/refused`)},lines:[n.error],menu:[]}]:[...n.items].sort(A).map(n=>({key:`${n.host}|${n.key}`,dot:`quiet`,dotLabel:n.name,title:n.name,group:{key:n.kind,label:n.kind.split(`+`).map(w).join(` · `)},lines:[C(n.total)||t(`usage/explorer/nothing`),...v?[p(n.host)]:[]],menu:n.pool===void 0?[]:[{title:t(`usage/actions/open`),onSelect:t=>{t.closeMenu(),e.commands.execute(`ahp.openUsagePool`,{host:n.host,pool:n.pool,name:n.name})}}]}))).sort((e,t)=>O(e.group?.key)-O(t.group?.key)||(e.group?.key??``).localeCompare(t.group?.key??``)),[P,v,p,e,t]),L=e=>{for(let t of P??[]){if(`error`in t)continue;let n=t.items.find(t=>`${t.host}|${t.key}`===e);if(n?.pool!==void 0)return{host:n.host,pool:n.pool,name:n.name}}},R=f.length===0?(0,E.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`usage/explorer/notServed`)}):P===null?(0,E.jsx)(d,{label:t(`usage/notices/reading`)}):I.length===0?(0,E.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`usage/explorer/empty`)}):null;return(0,E.jsxs)(`div`,{className:`web-spend__side`,children:[y===`range`?(0,E.jsxs)(`div`,{className:`web-spend__range`,children:[(0,E.jsx)(`input`,{className:`web-field`,type:`date`,value:D.from,max:D.until,"aria-label":t(`usage/range/from`),onChange:t=>{t.target.value!==``&&e.store.set(g,{...D,from:t.target.value})}}),(0,E.jsx)(`span`,{"aria-hidden":`true`,children:`–`}),(0,E.jsx)(`input`,{className:`web-field`,type:`date`,value:D.until,min:D.from,"aria-label":t(`usage/range/until`),onChange:t=>{t.target.value!==``&&e.store.set(g,{...D,until:t.target.value})}})]}):null,(0,E.jsx)(S,{label:t(`usage/explorer/title`),rows:I,selected:N===void 0?null:`${N.host}|${N.pool}`,onOpen:t=>{let n=L(t);n!==void 0&&e.commands.execute(`ahp.openUsagePool`,n)},notice:R,filterLabel:t(`usage/explorer/filter`),hostLines:v})]})}export{M as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{l as r,t as i}from"./useI18n-T3BwAm0z.js";import{n as a}from"./ScenaProvider-6A3TJumQ.js";import{a as o,n as s}from"./locales-DOA2j2AT.js";import{$ as c,it as l,t as u}from"./data-DsJQo1Qk.js";import{_ as d,c as f,g as p,l as m}from"./hosts-A0gEDScb.js";import{t as h}from"./emojis-B4zHbUyk.js";import{r as g}from"./notify-B2F6UAgq.js";import{t as _}from"./Spinner-CBEPv0eM.js";import{t as v}from"./Alert-BhdRA0LL.js";import{n as y}from"./grouping-BZNQYyEm.js";import{At as b,Ct as x,Dt as S,Et as C,Ot as w,St as T,Tt as E,kt as D,xt as O}from"./index-ddqm5vYD.js";import{t as k}from"./ExplorerList-DU80dY_f.js";import{n as A}from"./channel-BWOXaftf.js";import{i as j,n as M}from"./actions-CkDFjYZd.js";var N=t(),P=e(),F={running:`working`,failed:`failed`,on:`ok`,off:`off`},I=new Set([`pending`,`running`,`completed`,`failed`,`cancelled`]),L=s({month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}),R=e=>{if(e===void 0)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:L.format(t)},z=e=>g(r(`automations/actions/couldNotRun`),e);function B(){let e=a(),{t}=i(),r=d(),s=p(),g=c()===`multi`,{states:L,errors:B}=A(r,u,l),V=n(b),H=t=>{let{host:n,id:r}=m(t);e.commands.execute(`ahp.openAutomation`,{host:n,resource:r})},U=(t,n)=>void e.commands.execute(`ahp.editAutomation`,{host:t,resource:n}),W=n(`$/ahp/automations/group`)??`none`,G=n(`$/ahp/automations/sort`)??`name`,K=n(`$/ahp/automations/filter`)??`all`,q=(0,N.useMemo)(()=>{let e=new Date,n=r.flatMap((e,t)=>(L[t]?.entries??[]).map(t=>{let n=T(t)[0];return{host:e,entry:t,item:{host:e,hostName:s(e),title:E(t),state:x(t),...t.nextRunAt===void 0||!t.definition.enabled?{}:{nextRunAt:t.nextRunAt},...n===void 0?{}:{lastRunAt:O(n).at}}}})).filter(e=>w(e.item,K)),i=D(n,e=>e.item,G);return y(i,t=>S(t.item,W,e)).map(({host:n,entry:r,item:i})=>{let a=S(i,W,e),c=x(r),l=T(r)[0],u=l===void 0?void 0:O(l),d=r.definition.session.provider,p=r.runCount??r.runs.length;return{key:f(n,r.resource),dot:F[c],dotLabel:t(`automations/state/${c}`),title:E(r),...r.nextRunAt===void 0||!r.definition.enabled?{}:{time:R(r.nextRunAt)},lines:[[g&&W!==`host`?s(n):void 0,C(r),d].filter(e=>e!==void 0).join(` · `),u===void 0?t(`automations/explorer/neverRun`):`${o(`automations/explorer/runs`,p)} \u{00B7} ${I.has(u.status)?t(`automations/explorer/last/${u.status}`,{at:R(u.at)}):t(`automations/explorer/last/other`,{status:u.status,at:R(u.at)})}`],menu:M(n,r,()=>H(f(n,r.resource)),()=>U(n,r.resource)),...r.operations.map(String).includes(`run`)?{action:{icon:h.run,label:t(`automations/actions/runNow`),run:()=>void j(n,r).catch(z)}}:{},...a===void 0?{}:{group:a}}})},[r,L,s,W,G,K,t]),J=g?null:B[0]??null,Y=g?L.find(e=>e!==void 0):L[0],X=J===null?Y===void 0?(0,P.jsx)(_,{label:t(`automations/notices/reading`)}):q.length===0?(0,P.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`automations/explorer/empty`)}):null:(0,P.jsx)(v,{tone:`danger`,title:t(`automations/notices/none`),message:J});return(0,P.jsx)(k,{label:t(`automations/explorer/title`),rows:q,selected:V===void 0?null:f(V.host,V.resource),onOpen:H,notice:X,filterLabel:t(`automations/explorer/filter`),hostLines:g})}export{B as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{n as a}from"./sessions-DxQFcZ2M.js";import{$ as o,G as s,H as c,I as l,U as u,W as d,n as f,r as p,s as ee}from"./data-DsJQo1Qk.js";import{_ as m,g as h}from"./hosts-A0gEDScb.js";import{t as g}from"./emojis-B4zHbUyk.js";import{t as _}from"./ContextMenu-DlF_3KO_.js";import{t as v}from"./Spinner-CBEPv0eM.js";import{t as y}from"./Alert-BhdRA0LL.js";import{t as te}from"./Tree-DoJ8zO-u.js";import{o as ne}from"./pick-CEYUa4kK.js";import{c as re,l as ie}from"./viewers--ctbhTPt.js";import{a as b,c as ae,d as oe,i as x,l as S,o as C,r as w,s as T,t as E,u as D}from"./index-ddqm5vYD.js";import{t as O}from"./HostLines-CtIqw3A0.js";import{r as se}from"./drag-CxTqzQcr.js";var k=t(),A=e(),j=`$/modus/class`;function M(e){let t=l(e);return(0,A.jsx)(`span`,{title:t,children:t.replace(/\/+$/,``).split(`/`).pop()||t})}var N=e=>e.store.set(w,(e.store.get(`$/ahp/folders/reload`)??0)+1);function P(){let e=i(),{t}=r(),n=o()===`multi`,a=m(),s=h(),[c,l]=(0,k.useState)(null),[u,d]=(0,k.useState)(null),f=[{title:t(`common/reload`),icon:g.reload,onSelect:t=>{t.closeMenu(),N(e)}},...a.map(r=>({title:n?t(`folders/addFolderOn`,{host:s(r)}):t(`folders/addFolder`),icon:g.folder,onSelect:t=>{t.closeMenu(),F(e,r)}}))];return(0,A.jsxs)(`div`,{className:`web-explorer`,children:[(0,A.jsxs)(`div`,{className:`web-explorer__scroll`,onContextMenu:e=>{e.preventDefault(),d({x:e.clientX,y:e.clientY})},children:[n?(0,A.jsx)(O,{}):null,a.map(e=>(0,A.jsx)(I,{host:e,named:n?s(e):null,selected:c?.host===e?c.key:null,onSelected:t=>l(t===null?null:{host:e,key:t})},e))]}),u===null?null:(0,A.jsx)(_,{spec:{items:f},x:u.x,y:u.y,onClose:()=>d(null)})]})}async function F(e,t){let n=await S(e,t);if(n===null)return;let r=e.store.get(C(t))??[];T(e.store,t,[...new Set([...r,b,n])])}function I({host:e,named:t,selected:o,onSelected:l}){let m=i(),{t:h}=r(),_=n(p(e).connection),S=n(p(e).defaultDirectory),O=n(p(e).sessions),P=n(x),I=n(ne(e)),L=n(ae),[R,z]=(0,k.useState)([]),B=(0,k.useMemo)(()=>s(S,O??[],R,I??[]),[S,O,R,I]),[V,H]=(0,k.useState)(new Map),U=n(C(e)),W=(0,k.useMemo)(()=>new Set(U??[]),[U]),G=(0,k.useCallback)((t,n=!1)=>{n||H(e=>new Map(e).set(t,`loading`)),ee(e).request(`resourceList`,{channel:f,uri:t}).then(e=>H(n=>new Map(n).set(t,d(e.entries)))).catch(()=>H(e=>new Map(e).set(t,`failed`)))},[e]);(0,k.useEffect)(()=>{for(let e of W)e!==`#host`&&!V.has(e)&&G(e)},[W]);let K=(0,k.useCallback)(t=>T(m.store,e,[...t]),[m,e]),q=B[0]?.uri;(0,k.useEffect)(()=>{q!==void 0&&(U??null)===null&&K(new Set([b,q]))},[q]);let J=(0,k.useRef)(null);(0,k.useEffect)(()=>{if(P==null||P.host!==e)return;m.store.set(x,null);let t=c(B.map(e=>e.uri),P.uri),[n]=t;n!==void 0&&!B.some(e=>e.uri===n)&&z(e=>[...e,n]),K(new Set([...W,b,...t]));let r=t[t.length-1]??null;l(r),J.current=r},[P]);let Y=(0,k.useRef)(null);(0,k.useEffect)(()=>{let e=J.current;if(e===null)return;let t=Array.from(Y.current?.querySelectorAll(`[data-key]`)??[]).find(t=>t.dataset.key===e);t!==void 0&&(t.scrollIntoView({block:`center`}),J.current=null)},[V,o]),(0,k.useEffect)(()=>{if(L?.host===e)for(let e of L.uris)V.has(e)&&G(e,!0)},[L]);let X=n(w);(0,k.useEffect)(()=>{if(X!==void 0){H(new Map);for(let e of W)e!==`#host`&&G(e)}},[X]);let Z=[{title:h(`common/reload`),icon:g.reload,onSelect:e=>{e.closeMenu(),N(m)}},{title:h(`folders/addFolder`),icon:g.folder,onSelect:t=>{t.closeMenu(),F(m,e)}}],Q=(t,n)=>{m.commands.execute(`ahp.openFile`,{host:e,uri:t,...n===void 0?{}:{viewer:n}}),a(m,m.store.get(j)??`large`)},ce=e=>{let t=ie(m,e);return[{title:h(`folders/explorer/open`),icon:g.open,onSelect:t=>{t.closeMenu(),Q(e)}},...t.length<2?[]:t.map(t=>({title:h(`folders/explorer/openWith`,{viewer:re(t)}),...t.opens?.icon===void 0?{}:{icon:t.opens.icon},onSelect:n=>{n.closeMenu(),Q(e,t.component)}}))]},$=(0,k.useRef)(!1),le=(0,k.useMemo)(()=>{let n=(t,r,i)=>{let a=V.get(t),o=a===void 0?[]:a===`loading`?[{key:`${t}#loading`,label:h(`folders/explorer/loading`)}]:a===`failed`?[{key:`${t}#failed`,label:h(`folders/explorer/notReadable`)}]:a.map(r=>{let i=u(t,r.name);return r.type===`directory`?n(i,r.name):{key:i,label:r.name,icon:E(i),draggable:!0,data:{host:e,uri:i,directory:!1}}});return{key:t,label:r,icon:g.folder,draggable:!0,data:{host:e,uri:t,directory:!0},children:o,...i===void 0?{}:{trailing:(0,A.jsx)(`span`,{className:`web-folders__tag`,children:i})}}},r=B.map(e=>n(e.uri,M(e.uri),e.isDefault?h(`folders/explorer/default`):void 0));if(t===null)return r;let i=_?.status===`connected`&&r.length===0?[{key:`${b}#empty`,label:h(`folders/explorer/empty`)}]:[],a=[...r,...i];return[{key:b,label:t,icon:g.host,...a.length===0?{}:{children:a}}]},[B,V,t,_?.status,e,h]);return t===null&&_?.status!==`connected`&&B.length===0?_?.status===`failed`?(0,A.jsx)(y,{tone:`danger`,title:h(`folders/explorer/notConnected`),message:_.error??h(`folders/explorer/refused`)}):(0,A.jsx)(v,{label:h(`folders/explorer/connecting`)}):(0,A.jsxs)(`div`,{ref:Y,onContextMenuCapture:()=>{$.current=!0},onContextMenu:()=>{$.current=!1},children:[t===null&&B.length===0?(0,A.jsx)(`p`,{className:`web-note web-explorer__empty`,children:h(`folders/explorer/empty`)}):null,(0,A.jsx)(te,{nodes:le,selectedKey:o,expanded:W,onExpandedChange:K,contextMenuSlot:D,contextFor:t=>({[oe]:t.data===void 0?null:{host:e,uri:t.data.uri,directory:t.data.directory,added:B.some(e=>e.uri===t.key&&e.added),root:B.some(e=>e.uri===t.key)}}),contextExtraItems:e=>e.data===void 0?Z:e.data.directory?[]:ce(e.data.uri),onSelect:e=>{if($.current){$.current=!1,e.data!==void 0&&l(e.key);return}if(e.key===`#host`){let e=new Set(W);e.delete(`#host`)||e.add(b),K(e);return}if(e.data!==void 0){if(l(e.key),e.data.directory){let t=new Set(W);t.delete(e.key)||t.add(e.key),K(t)}else Q(e.data.uri)}},onDragStart:(e,t)=>{t.data!==void 0&&se(e.dataTransfer,t.data)}})]})}export{P as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{$ as a}from"./data-DsJQo1Qk.js";import{_ as o,c as s,g as c,l}from"./hosts-A0gEDScb.js";import{t as u}from"./Spinner-CBEPv0eM.js";import{t as d}from"./Alert-BhdRA0LL.js";import{E as f,L as p,M as m,P as h,j as g,pt as _}from"./index-ddqm5vYD.js";import{t as v}from"./ExplorerList-DU80dY_f.js";import{n as y}from"./channel-BWOXaftf.js";var b=t(),x=e(),S=(e,t,n)=>`${e}|${s(t,n)}`,C=p(`teams`),w=p(`projects`),T=p(`users`);function E(){let e=i(),{t}=r(),s=o(),p=_(s,m(`teams`)),E=_(s,m(`projects`)),D=_(s,m(`users`)),O=c(),k=a()===`multi`,A=y(p,g.teams.channel,C),j=y(E,g.projects.channel,w),M=y(D,g.users.channel,T),N=n(f),P=(0,b.useMemo)(()=>{let n=e=>M.states[D.indexOf(e)]?.records.map(e=>e.record)??[],r=(r,i,a)=>{let o=S(r,i,a.id),s=t=>{e.commands.execute(t,{host:i,id:a.id})},c=(e,t,n={})=>({title:e,onSelect:e=>{e.closeMenu(),s(t)},...n}),l=h(r,a.id,n(i)).length,u=a.title!==void 0&&a.title!==``?a.title:a.id;return{key:o,dot:`quiet`,dotLabel:u,title:u,group:{key:r,label:t(r===`teams`?`teams/explorer/teams`:`teams/explorer/projects`)},lines:[[k?O(i):void 0,u===a.id?void 0:a.id,t(`teams/explorer/members`,{count:l})].filter(e=>e!==void 0).join(` · `)],menu:[c(t(`teams/actions/open`),r===`teams`?`ahp.openTeam`:`ahp.openProject`),c(t(`teams/actions/delete`),r===`teams`?`ahp.deleteTeam`:`ahp.deleteProject`,{group:`more`,color:`red`})]}},i=(e,t,n)=>t.flatMap((e,t)=>(n[t]?.records??[]).map(t=>({host:e,named:t.record}))).sort((e,t)=>(e.named.title??e.named.id).localeCompare(t.named.title??t.named.id)).map(({host:t,named:n})=>r(e,t,n));return[...i(`teams`,p,A.states),...i(`projects`,E,j.states)]},[p,E,D,A.states,j.states,M.states,O,t]),F=k?null:A.errors[0]??null,I=k?A.states.some(e=>e!==void 0):A.states[0]!==void 0,L=p.length===0?(0,x.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`teams/explorer/notServed`)}):F===null?I?P.length===0?(0,x.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`teams/explorer/empty`)}):null:(0,x.jsx)(u,{label:t(`teams/notices/reading`)}):(0,x.jsx)(d,{tone:`danger`,title:t(`teams/notices/none`),message:F});return(0,x.jsx)(v,{label:t(`teams/explorer/title`),rows:P,selected:N===void 0?null:S(N.domain,N.host,N.id),onOpen:t=>{let n=t.indexOf(`|`),r=t.slice(0,n);e.commands.execute(r===`teams`?`ahp.openTeam`:`ahp.openProject`,l(t.slice(n+1)))},notice:L,filterLabel:t(`teams/explorer/filter`),hostLines:k})}export{E as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{t as a}from"./Button-_R1oktDz.js";import{a as o}from"./locales-DOA2j2AT.js";import{B as s,ot as c,r as l,s as u}from"./data-DsJQo1Qk.js";import{t as d}from"./emojis-B4zHbUyk.js";import{t as f}from"./ContextMenu-DlF_3KO_.js";import{t as p}from"./Spinner-CBEPv0eM.js";import{t as m}from"./Alert-BhdRA0LL.js";import{t as ee}from"./Tree-DoJ8zO-u.js";import{t as h}from"./TextField-DnSHrmJM.js";import{t as g}from"./CheckBox-Dkn59EbO.js";import{t as _}from"./Modal-xWzwLA8s.js";import{t as te}from"./state-DQKzjLgu.js";import{l as v,s as ne}from"./viewers--ctbhTPt.js";import{t as re}from"./channel-BWOXaftf.js";import{a as ie,c as ae,d as oe,i as y,l as se,n as b,o as ce,r as le,s as ue,t as x,u as S}from"./changeset-FRFDlNj7.js";var C=t(),w=e();function T(e){let t=e.filter(e=>e.staged).length;return t>0?o(`changes/commit/staged`,t):o(`changes/commit/all`,e.length)}function E({form:e,files:t,onCommit:n,onClose:i}){let{t:o}=r(),[c,l]=(0,C.useState)(``),u=s(e.operation.confirmation),d=c.trim()!==``;return(0,w.jsx)(_,{open:!0,title:e.operation.label,onClose:i,children:(0,w.jsxs)(`div`,{className:`web-changeset-form`,children:[(0,w.jsx)(h,{label:o(`changes/commit/message`),multiline:!0,rows:4,value:c,placeholder:o(`changes/commit/placeholder`),onChange:l}),(0,w.jsx)(`p`,{className:`web-note`,children:T(t)}),u===``?null:(0,w.jsx)(`p`,{className:`web-note`,children:u}),(0,w.jsxs)(`div`,{className:`web-changeset-form__actions`,children:[(0,w.jsx)(a,{label:o(`changes/cancel`),variant:`ghost`,onClick:i}),(0,w.jsx)(a,{label:e.operation.label,variant:`primary`,disabled:!d,onClick:()=>n(c.trim())})]})]})})}function D({form:e,onCreate:t,onClose:n}){let{t:i}=r(),[o,s]=(0,C.useState)(e.draft.title),[c,l]=(0,C.useState)(e.draft.description),[u,d]=(0,C.useState)(!1);(0,C.useEffect)(()=>{s(e.draft.title),l(e.draft.description)},[e.draft]);let f=e.draft.branchName===null&&e.draft.baseBranchName===null?null:`${e.draft.branchName??`?`} \u{2192} ${e.draft.baseBranchName??`?`}`,m=!e.preparing&&e.create!==null&&o.trim()!==``;return(0,w.jsx)(_,{open:!0,title:i(`changes/pr/title`),onClose:n,children:(0,w.jsxs)(`div`,{className:`web-changeset-form`,children:[e.preparing?(0,w.jsx)(p,{label:i(`changes/pr/preparing`)}):null,e.draft.repository===null&&f===null?null:(0,w.jsx)(`p`,{className:`web-note`,children:[e.draft.repository,f].filter(e=>e!==null).join(` · `)}),(0,w.jsx)(h,{label:i(`changes/pr/titleLabel`),value:o,placeholder:i(`changes/pr/titlePlaceholder`),disabled:e.preparing,onChange:s}),(0,w.jsx)(h,{label:i(`changes/pr/description`),multiline:!0,rows:8,value:c,placeholder:i(`changes/pr/descriptionPlaceholder`),disabled:e.preparing,onChange:l}),(0,w.jsx)(g,{label:i(`changes/pr/draft`),value:u,onChange:d}),(0,w.jsx)(`p`,{className:`web-note`,children:e.create===null?i(`changes/pr/cannotCreate`):i(`changes/pr/explain`)}),(0,w.jsxs)(`div`,{className:`web-changeset-form__actions`,children:[(0,w.jsx)(a,{label:i(`changes/cancel`),variant:`ghost`,onClick:n}),e.create===null?null:(0,w.jsx)(a,{label:e.create.label,variant:`primary`,disabled:!m,onClick:()=>t({...e.draft,title:o.trim(),description:c},u)})]})]})})}function de({form:e,files:t,onCommit:n,onPullRequest:r,onClose:i}){return e===null?null:e.kind===`commit`?(0,w.jsx)(E,{form:e,files:t,onCommit:n,onClose:i}):(0,w.jsx)(D,{form:e,onCreate:r,onClose:i})}var O=`ahpd-web.changes-view`,k=`ahpd-web.changes-grouping`;function A(e,t){try{let n=localStorage.getItem(e);return t.find(e=>e===n)??null}catch{return null}}function j(e,t){try{localStorage.setItem(e,t)}catch{}}var fe={A:`changes/status/added`,M:`changes/status/modified`,D:`changes/status/deleted`,U:`changes/status/untracked`};function M(){let e=i(),{t}=r(),a=n(te),s=a?.host??``,h=a?.resource,g=n(l(s).sessions)?.find(e=>e.resource===h),_=re(s,h,c),T=(0,C.useMemo)(()=>oe(_.state?.changesets),[_.state?.changesets]),[E,D]=(0,C.useState)(void 0),M=T.find(e=>e.uri===E)??ce(T),N=ie(s,M?.uri),{files:P,operations:F}=N,I=g?.workingDirectories?.[0]??null,[L,pe]=(0,C.useState)(()=>A(O,[`list`,`tree`])??`list`),[R,me]=(0,C.useState)(()=>A(k,[`review`,`staging`,`none`])),z=M?.review===!0,he=P.some(e=>e.staged||e.unstaged),B=[...z?[`review`]:[],...he?[`staging`]:[],`none`],V=R!==null&&B.includes(R)?R:B[0]??`none`,[H,ge]=(0,C.useState)(``),[_e,U]=(0,C.useState)(new Set),[ve,W]=(0,C.useState)(null),[G,K]=(0,C.useState)(null),q=F.filter(e=>le(e,`resource`)),ye=F.some(e=>e.id===`create-pr`),J=F.filter(e=>le(e,`changeset`)&&!(ye&&e.id===`prepare-pull-request`)),Y=e=>String(e.status)===`running`,be=n=>{let r=[{title:t(`changes/openChange`),onSelect:t=>{t.closeMenu(),b(e,s,n,M?.uri,z)}}];n.status!==`deleted`&&(r.push({title:t(`changes/openFile`),onSelect:t=>{t.closeMenu(),e.commands.execute(`ahp.openFile`,{uri:n.file})}}),r.push(...ne(e,s,n.file,v(e,n.file)[0]?.component??null))),z&&r.push({title:t(n.reviewed?`changes/markNotReviewed`:`changes/markReviewed`),onSelect:e=>{e.closeMenu(),N.review([n],!n.reviewed)}});for(let e of q)r.push({title:e.label,...e.description===void 0?{}:{tooltip:e.description},group:`file`,...e.confirmation===void 0?{}:{color:`red`},onSelect:t=>{t.closeMenu(),N.run(e,n)}});return r},xe=n=>{let r=se(n),i=(e,t)=>{e.stopPropagation(),t()};return(0,w.jsxs)(`span`,{className:`web-change__end`,children:[(0,w.jsxs)(`span`,{className:`web-change__actions`,children:[z?(0,w.jsx)(`button`,{type:`button`,className:`web-change__action`,title:t(n.reviewed?`changes/markNotReviewed`:`changes/markReviewed`),"aria-label":t(n.reviewed?`changes/markNotReviewed`:`changes/markReviewed`),"aria-pressed":n.reviewed,onClick:e=>i(e,()=>N.review([n],!n.reviewed)),children:d.check}):null,n.status===`deleted`?null:(0,w.jsx)(`button`,{type:`button`,className:`web-change__action`,title:t(`changes/openFile`),"aria-label":t(`changes/openFile`),onClick:t=>i(t,()=>void e.commands.execute(`ahp.openFile`,{uri:n.file})),children:d.file}),q.map(e=>(0,w.jsx)(`button`,{type:`button`,className:`web-change__action`,title:e.label,"aria-label":e.label,disabled:Y(e),onClick:t=>i(t,()=>void N.run(e,n)),children:x(e)},e.id))]}),(0,w.jsx)(`span`,{className:`web-change__counts`,children:n.added===void 0&&n.removed===void 0?null:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`span`,{className:`web-diff--add`,children:[`+`,n.added??0]}),` `,(0,w.jsxs)(`span`,{className:`web-diff--remove`,children:[`-`,n.removed??0]})]})}),(0,w.jsx)(`span`,{className:`web-change__letter`,"data-letter":r,title:t(fe[r]),children:r})]})},X=H.trim().toLowerCase(),Se=X===``?P:P.filter(e=>`${S(e.dir,I)}/${e.name}`.toLowerCase().includes(X)),Ce=ae(Se,V),we=new Map,Te=(()=>{let t=(t,n)=>{let r=`${n}|${t.id}`;we.set(r,t);let i=S(t.dir,I);return{key:r,label:(0,w.jsxs)(`span`,{className:`web-change`,"data-reviewed":t.reviewed?`true`:`false`,"data-deleted":t.status===`deleted`?`true`:`false`,title:`${i}/${t.name}`,children:[(0,w.jsx)(`span`,{className:`web-change__name`,children:t.name}),L===`list`&&i!==`.`?(0,w.jsx)(`span`,{className:`web-change__dir`,children:i}):null]}),icon:v(e,t.file)[0]?.opens?.icon??d.file,trailing:xe(t),data:t}},n=(e,r)=>({key:`${r}|dir:${e.path}`,label:(0,w.jsx)(`span`,{className:`web-change__name`,title:e.path,children:e.name}),icon:d.folder,children:[...e.folders.map(e=>n(e,r)),...e.changes.map(e=>t(e,r))]}),r=(e,r)=>{if(L===`list`)return e.map(e=>t(e,r));let i=ue(e,I);return[...i.folders.map(e=>n(e,r)),...i.changes.map(e=>t(e,r))]};return V===`none`?r(Ce[0]?.changes??[],`all`):Ce.map(e=>({key:`group:${e.key}`,icon:``,label:(0,w.jsx)(`span`,{className:`web-change__group`,children:e.label}),trailing:(0,w.jsx)(`span`,{className:`web-explorer__count`,children:e.changes.length}),children:r(e.changes,e.key)}))})(),Z=[],Ee=e=>{for(let t of e)t.children!==void 0&&(Z.push(t.key),Ee(t.children))};Ee(Te);let De=new Set(Z.filter(e=>!_e.has(e))),Oe=e=>{let t=e.target.closest(`[data-key]`)?.dataset.key,n=t===void 0?void 0:we.get(t);n!==void 0&&(e.preventDefault(),W(t??null),K({x:e.clientX,y:e.clientY,items:be(n)}))},ke=String(N.state?.status??``),Ae=(0,w.jsxs)(w.Fragment,{children:[h===void 0?(0,w.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`changes/noSession`)}):null,h!==void 0&&_.state!==void 0&&T.length===0?(0,w.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`changes/untracked`)}):null,N.said===null?null:(0,w.jsx)(m,{tone:N.said.tone,message:N.said.text}),N.error===null?null:(0,w.jsx)(m,{tone:`danger`,title:t(`changes/notReadable`),message:N.error}),N.state?.error===void 0?null:(0,w.jsx)(m,{tone:`danger`,message:N.state.error.message}),M!==void 0&&(N.state===void 0||ke===`computing`)&&N.error===null?(0,w.jsx)(p,{label:t(`changes/computing`)}):null,N.state!==void 0&&ke!==`computing`&&P.length===0?(0,w.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`changes/none`)}):null]}),Q=(e,t,n,r)=>(0,w.jsx)(`button`,{type:`button`,className:`web-explorer__action`,title:t,"aria-label":t,"aria-pressed":r?.on,"data-on":r?.on===!0?`true`:`false`,"data-busy":r?.busy===!0?`true`:`false`,"data-tone":r?.tone??void 0,disabled:r?.disabled,onClick:n,children:(0,w.jsx)(`span`,{className:`web-explorer__icon`,children:e})},t),$=e=>{pe(e),j(O,e)},je=e=>{let t=e.currentTarget.getBoundingClientRect(),n=T.map(e=>({title:e.label,icon:e.uri===M?.uri?d.check:``,onSelect:t=>{t.closeMenu(),D(e.uri)}}));K({x:t.left,y:t.bottom,items:n})},Me=e=>{let n=e.currentTarget.getBoundingClientRect(),r=e=>({icon:e?d.check:``}),i=J.map(e=>{let t=y(e);return{title:e.label,...e.description===void 0?{}:{tooltip:e.description},group:`changes`,icon:x(e),...t===null?{}:{color:t},disabled:Y(e),onSelect:t=>{t.closeMenu(),N.run(e)}}});if(i.push({title:t(`changes/view/list`),group:`view`,...r(L===`list`),onSelect:e=>{e.closeMenu(),$(`list`)}},{title:t(`changes/view/tree`),group:`view`,...r(L===`tree`),onSelect:e=>{e.closeMenu(),$(`tree`)}}),B.length>1)for(let e of B)i.push({title:t(`changes/grouping/${e}`),group:`group`,...r(e===V),onSelect:t=>{t.closeMenu(),me(e),j(k,e)}});Z.length>0&&(i.push({title:t(`changes/expandAll`),group:`folders`,icon:``,onSelect:e=>{e.closeMenu(),U(new Set)}}),i.push({title:t(`changes/collapseAll`),group:`folders`,icon:``,onSelect:e=>{e.closeMenu(),U(new Set(Z))}})),K({x:Math.max(0,n.right-200),y:n.bottom,items:i})},Ne=P.reduce((e,t)=>e+(t.added??0),0),Pe=P.reduce((e,t)=>e+(t.removed??0),0);return(0,w.jsxs)(`div`,{className:`web-explorer web-changes`,children:[(0,w.jsxs)(`div`,{className:`web-explorer__title`,children:[(0,w.jsx)(`span`,{className:`web-explorer__name`,title:g?.title,children:g===void 0?t(`changes/title`):t(`changes/titleOf`,{title:g.title||t(`changes/untitled`)})}),M===void 0?null:(0,w.jsxs)(`span`,{className:`web-explorer__actions`,children:[J.map(e=>Q(x(e),e.label,()=>void N.run(e),{busy:Y(e),disabled:Y(e),tone:y(e)})),J.length===0?null:(0,w.jsx)(`span`,{className:`web-explorer__sep`,"aria-hidden":`true`}),Q(d.reload,t(`common/reload`),()=>void u(s).refresh(M.uri)),Q(d.more,t(`changes/viewOptions`),Me)]})]}),M===void 0?null:(0,w.jsxs)(`div`,{className:`web-changes__bar`,children:[T.length>1?(0,w.jsxs)(`button`,{type:`button`,className:`web-changes__scope`,title:M.description??M.label,"aria-haspopup":`menu`,onClick:je,children:[M.label,` `,(0,w.jsx)(`span`,{"aria-hidden":`true`,children:d.caretDown})]}):(0,w.jsx)(`span`,{className:`web-changes__scope web-changes__scope--only`,title:M.description??M.label,children:M.label}),P.length===0?null:(0,w.jsxs)(`span`,{className:`web-changes__totals`,title:o(`changes/files`,P.length),children:[(0,w.jsxs)(`span`,{"aria-label":o(`changes/files`,P.length),children:[(0,w.jsx)(`span`,{"aria-hidden":`true`,children:d.file}),` `,P.length]}),` `,(0,w.jsxs)(`span`,{className:`web-diff--add`,children:[`+`,Ne]}),` `,(0,w.jsxs)(`span`,{className:`web-diff--remove`,children:[`−`,Pe]})]}),(0,w.jsx)(`span`,{className:`web-segments`,role:`group`,"aria-label":t(`changes/view/showAs`),children:[`list`,`tree`].map(e=>(0,w.jsx)(`button`,{type:`button`,className:`web-segments__item web-segments__item--icon`,"aria-pressed":L===e,title:t(`changes/view/${e}`),"aria-label":t(`changes/view/${e}`),onClick:()=>$(e),children:e===`list`?d.log:d.tree},e))})]}),P.length===0?null:(0,w.jsx)(`input`,{className:`web-explorer__filter`,type:`search`,value:H,placeholder:t(`changes/filter`),"aria-label":t(`changes/filter`),onChange:e=>ge(e.target.value)}),(0,w.jsxs)(`div`,{className:`web-explorer__scroll`,onContextMenu:Oe,children:[(0,w.jsx)(`div`,{className:`web-explorer__notice`,children:Ae}),(0,w.jsx)(ee,{nodes:Te,selectedKey:ve,expanded:De,onExpandedChange:e=>U(new Set(Z.filter(t=>!e.has(t)))),onSelect:t=>{if(t.data===void 0){U(e=>{let n=new Set(e);return n.delete(t.key)||n.add(t.key),n});return}W(t.key),b(e,s,t.data,M?.uri,z)}}),X!==``&&Se.length===0?(0,w.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`changes/noMatch`)}):null]}),(0,w.jsx)(de,{form:N.form,files:P,onCommit:N.commit,onPullRequest:N.pullRequest,onClose:N.closeForm}),G===null?null:(0,w.jsx)(f,{spec:{items:G.items},x:G.x,y:G.y,onClose:()=>K(null)})]})}export{M as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{l as r,t as i}from"./useI18n-T3BwAm0z.js";import{n as a}from"./ScenaProvider-6A3TJumQ.js";import{a as o,n as s}from"./locales-DOA2j2AT.js";import{$ as c,C as l,E as u,I as d,S as f,T as p,r as m,s as h,w as g}from"./data-DsJQo1Qk.js";import{_,c as v,g as y,l as b,m as x}from"./hosts-A0gEDScb.js";import{t as S}from"./emojis-B4zHbUyk.js";import{o as C,r as w}from"./notify-B2F6UAgq.js";import{t as T}from"./Spinner-CBEPv0eM.js";import{t as E}from"./Alert-BhdRA0LL.js";import{n as D,t as O}from"./state-DQKzjLgu.js";import{c as k,i as A,r as j,t as M}from"./pins-DhjQhJuu.js";import{i as N,r as P}from"./grouping-BZNQYyEm.js";import{t as F}from"./ExplorerList-DU80dY_f.js";var I=t(),L=e(),R=s({hour:`2-digit`,minute:`2-digit`}),z=s({month:`short`,day:`numeric`});function B(e,t=new Date){let n=new Date(e);return Number.isNaN(n.getTime())?``:(n.toDateString()===t.toDateString()?R:z).format(n)}var V={input:`attention`,running:`working`,error:`failed`,idle:`quiet`},H=e=>d(e).replace(/\/+$/,``).split(`/`).pop()??e;function U(e,t,n,i,a){let o=p(t.status),s=g(t.status),c=n=>h(e).dispatch(t.resource,n);return[{title:r(`sessions/explorer/open`),onSelect:e=>{e.closeMenu(),n()}},{title:r(i?`sessions/explorer/unpin`:`sessions/explorer/pin`),icon:S.pin,onSelect:e=>{e.closeMenu(),a()}},{title:r(`sessions/explorer/rename`),onSelect:e=>{e.closeMenu();let n=window.prompt(r(`sessions/explorer/renamePrompt`),t.title)?.trim();n!==void 0&&n!==``&&n!==t.title&&c({type:`session/titleChanged`,title:n})}},{title:r(o?`sessions/explorer/markUnread`:`sessions/explorer/markRead`),onSelect:e=>{e.closeMenu(),c({type:`session/isReadChanged`,isRead:!o})}},{title:r(s?`sessions/explorer/unarchive`:`sessions/explorer/archive`),onSelect:e=>{e.closeMenu(),c({type:`session/isArchivedChanged`,isArchived:!s})}},{title:r(`sessions/explorer/copyLink`),group:`more`,onSelect:e=>{e.closeMenu(),navigator.clipboard?.writeText(t.resource).catch(()=>void 0)}},{title:r(`sessions/explorer/delete`),group:`more`,color:`red`,onSelect:n=>{n.closeMenu();let i=t.title||r(`sessions/untitled`);C({title:r(`sessions/explorer/deleteTitle`,{title:i}),body:r(`sessions/explorer/deleteBody`),confirmLabel:r(`sessions/explorer/delete`),tone:`danger`}).then(n=>{n&&h(e).request(`disposeSession`,{channel:t.resource}).catch(e=>w(r(`sessions/explorer/deleteFailed`),e))})}}]}function W(){let e=a(),{t}=i(),r=_(),s=y(),d=c()===`multi`,h=x(r.map(e=>m(e).connection)),S=x(r.map(e=>m(e).sessions)),C=x(r.map(e=>m(e).agents)),w=n(O),R=n(D)===!0,z=n(`$/ahp/sessions/grouping`)??`none`,W=n(`$/ahp/sessions/thenBy`)??`none`,G=n(`$/ahp/sessions/sorting`)??A,K=n(`$/ahp/sessions/show`)??`all`,q=n(M),J=t=>{let{host:n,id:r}=b(t);e.commands.execute(`ahp.openSession`,{host:n,resource:r})},Y=(0,I.useMemo)(()=>{let n=(e,t)=>C[r.indexOf(e)]?.find(e=>e.provider===t)?.displayName??t,i=r.flatMap((e,t)=>(S[t]??[]).map(t=>({host:e,session:t}))),a=k(i.filter(e=>(R||!g(e.session.status))&&u(e.session.status,K)),e=>e.session,G),c=new Set(q??[]),m=({host:e,session:t})=>c.has(v(e,t.resource)),h=new Date,_=e=>({host:t,session:r})=>N(r,e,e=>n(t,e),{key:t,label:s(t)},h),y=W===`none`||W===z||z===`none`?void 0:_(W),b={key:`#pinned`,label:t(`sessions/grouping/pinned`)},x={key:`#others`,label:t(`sessions/grouping/others`)},w=e=>z===`none`?c.size===0?void 0:x:_(z)(e),T=a.filter(m),E=P(a.filter(e=>!m(e)),w,y);return[...T.map(e=>({entry:e,group:b,sub:void 0})),...E.map(e=>{let t=w(e),n=y?.(e);return{entry:e,group:t,sub:t===void 0||n===void 0?void 0:{key:`${t.key}/${n.key}`,label:n.label}}})].map(({entry:r,group:i,sub:a})=>{let{host:c,session:u}=r,h=l(u.status),_=h===`idle`&&!p(u.status),y=n(c,u.provider),b=u.workingDirectories?.[0],x=[d&&z!==`host`?s(c):void 0,y,b===void 0?void 0:H(b)].filter(e=>e!==void 0).join(` · `),S=u.changes,C=S!==void 0&&(S.additions??0)+(S.deletions??0)>0?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`span`,{className:`web-diff--add`,children:[`+`,S.additions??0]}),` `,(0,L.jsxs)(`span`,{className:`web-diff--remove`,children:[`-`,S.deletions??0]}),S.files===void 0?``:` \u{00B7} ${o(`sessions/explorer/files`,S.files)}`]}):void 0,w=u.activity??``,T=h===`idle`?void 0:`${f(h)}${w===``?``:` \u{00B7} ${w}`}`;return{key:v(c,u.resource),dot:g(u.status)?`off`:_?`fresh`:V[h],dotLabel:g(u.status)?t(`sessions/status/archived`):_?t(`sessions/status/unread`):f(h),title:u.title===``?t(`sessions/untitled`):u.title,time:B(u.modifiedAt),lines:[x,C,T].filter(e=>e!==void 0),menu:U(c,u,()=>J(v(c,u.resource)),m(r),()=>j(e.store,v(c,u.resource))),strong:_,...i===void 0?{}:{group:i},...a===void 0?{}:{subgroup:a}}})},[r,S,C,R,K,z,W,G,q,s,t]),X=d?void 0:h[0],Z=d?S.find(e=>e!==void 0):S[0],Q=X?.status===`failed`?(0,L.jsx)(E,{tone:`danger`,title:t(`sessions/explorer/notConnected`),message:X.error??t(`sessions/explorer/refused`)}):X?.status!==`connected`&&Z===void 0?(0,L.jsx)(T,{label:t(`sessions/explorer/connecting`)}):Y.length===0?(0,L.jsx)(`p`,{className:`web-note`,children:t(K===`all`?R?`sessions/explorer/none`:`sessions/explorer/noneYet`:`sessions/explorer/noneShown`)}):null;return(0,L.jsx)(F,{label:t(`sessions/explorer/title`),rows:Y,selected:w===void 0?null:v(w.host,w.resource),onOpen:J,notice:Q,filterLabel:t(`sessions/explorer/filter`),hostLines:d})}export{W as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useI18n-T3BwAm0z.js";import{t as r}from"./emojis-B4zHbUyk.js";import{t as i}from"./ContextMenu-DlF_3KO_.js";import{t as a}from"./HostLines-CtIqw3A0.js";var o=t(),s=e();function c({label:e,rows:t,selected:c,onOpen:l,notice:u,filterLabel:d,hostLines:f}){let{t:p}=n(),[m,h]=(0,o.useState)(null),[g,_]=(0,o.useState)(``),[v,y]=(0,o.useState)(new Set),b=e=>y(t=>{let n=new Set(t);return n.delete(e)||n.add(e),n}),x=g.trim().toLowerCase(),S=x===``?t:t.filter(e=>[e.title,...e.lines.filter(e=>typeof e==`string`)].join(` `).toLowerCase().includes(x)),C=(e,t)=>{e.preventDefault(),h({x:e.clientX,y:e.clientY,items:t.menu})};return(0,s.jsxs)(`div`,{className:`web-explorer`,children:[d===void 0?null:(0,s.jsx)(`input`,{className:`web-explorer__filter`,type:`search`,value:g,placeholder:d,"aria-label":d,onChange:e=>_(e.target.value)}),(0,s.jsxs)(`div`,{className:`web-explorer__scroll`,children:[f===!0?(0,s.jsx)(a,{}):null,u==null?null:(0,s.jsx)(`div`,{className:`web-explorer__notice`,children:u}),(0,s.jsx)(`ul`,{className:`web-explorer__list`,role:`listbox`,"aria-label":e,children:S.map((e,t)=>{let n=e.group,i=n!==void 0&&S[t-1]?.group?.key!==n.key,a=i?S.filter(e=>e.group?.key===n.key).length:0,u=e.subgroup,d=u!==void 0&&(i||S[t-1]?.subgroup?.key!==u.key),f=d?S.filter(e=>e.subgroup?.key===u.key).length:0,p=n!==void 0&&v.has(n.key),m=p||u!==void 0&&v.has(u.key);return(0,s.jsxs)(o.Fragment,{children:[i?(0,s.jsx)(`li`,{className:`web-explorer__group`,role:`presentation`,children:(0,s.jsxs)(`button`,{type:`button`,"aria-expanded":!m,onClick:()=>b(n.key),children:[(0,s.jsx)(`span`,{className:`web-explorer__fold`,"aria-hidden":`true`,children:m?r.caretRight:r.caretDown}),(0,s.jsx)(`span`,{className:`web-explorer__group-label`,children:n.label}),(0,s.jsx)(`span`,{className:`web-explorer__count`,children:a})]})}):null,d&&!p?(0,s.jsx)(`li`,{className:`web-explorer__group web-explorer__group--sub`,role:`presentation`,children:(0,s.jsxs)(`button`,{type:`button`,"aria-expanded":!v.has(u.key),onClick:()=>b(u.key),children:[(0,s.jsx)(`span`,{className:`web-explorer__fold`,"aria-hidden":`true`,children:v.has(u.key)?r.caretRight:r.caretDown}),(0,s.jsx)(`span`,{className:`web-explorer__group-label`,children:u.label}),(0,s.jsx)(`span`,{className:`web-explorer__count`,children:f})]})}):null,m?null:(0,s.jsxs)(`li`,{role:`option`,"aria-selected":e.key===c,tabIndex:0,className:`web-row`,"data-selected":e.key===c?`true`:`false`,onClick:()=>l(e.key),onKeyDown:t=>{if((t.key===`Enter`||t.key===` `)&&(t.preventDefault(),l(e.key)),t.key===`ContextMenu`||t.shiftKey&&t.key===`F10`){t.preventDefault();let n=t.currentTarget.getBoundingClientRect();h({x:n.left+24,y:n.bottom,items:e.menu})}},onContextMenu:t=>C(t,e),children:[e.icon===void 0?(0,s.jsx)(`span`,{className:`web-row__dot`,"data-dot":e.dot,title:e.dotLabel,"aria-label":e.dotLabel,children:e.dot===`working`?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`i`,{}),(0,s.jsx)(`i`,{}),(0,s.jsx)(`i`,{}),(0,s.jsx)(`i`,{})]}):null}):(0,s.jsx)(`span`,{className:`web-row__icon`,title:e.dotLabel,"aria-label":e.dotLabel,children:e.icon}),(0,s.jsxs)(`span`,{className:`web-row__body`,children:[(0,s.jsxs)(`span`,{className:`web-row__head`,children:[(0,s.jsx)(`span`,{className:`web-row__title`,"data-strong":e.strong===!0?`true`:`false`,children:e.title}),e.time===void 0?null:(0,s.jsx)(`span`,{className:`web-row__time`,children:e.time}),e.action===void 0?null:(0,s.jsx)(`button`,{type:`button`,className:`web-row__action`,title:e.action.label,"aria-label":e.action.label,onClick:t=>{t.stopPropagation(),e.action?.run()},onKeyDown:e=>e.stopPropagation(),children:e.action.icon})]}),e.lines.map((e,t)=>(0,s.jsx)(`span`,{className:`web-row__line`,children:e},t))]})]})]},e.key)})}),x!==``&&S.length===0?(0,s.jsx)(`p`,{className:`web-note web-explorer__empty`,children:p(`shell/explorer/noMatch`)}):null]}),m===null?null:(0,s.jsx)(i,{spec:{items:m.items},x:m.x,y:m.y,onClose:()=>h(null)})]})}export{c as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";var t=e();function n({label:e,hint:n,children:r}){return(0,t.jsxs)(`label`,{className:`web-form__field`,children:[(0,t.jsx)(`span`,{className:`web-input__label`,children:e}),r,n===void 0?null:(0,t.jsx)(`span`,{className:`web-input__hint`,children:n})]})}export{n as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useI18n-T3BwAm0z.js";import{t as r}from"./useCloseGuard-B4qJKmaF.js";import{s as i}from"./data-DsJQo1Qk.js";import{t as a}from"./Spinner-CBEPv0eM.js";import{t as o}from"./Alert-BhdRA0LL.js";import{n as s,t as c}from"./CodeEditor-C-ygqVsY.js";import{i as l,r as u,t as d}from"./save-zwMG_vNN.js";import{n as f,t as p}from"./text-D6GxOCYM.js";import{t as m}from"./PageAlert-B8ulCXV4.js";var h=t(),g=e();function _({host:e,uri:t,line:_,end:v}){let{t:y}=n(),b=f(e,t),[x,S]=(0,h.useState)(!1),[C,w]=(0,h.useState)(null),T=(0,h.useRef)(``),E=(0,h.useRef)(``),D=(0,h.useRef)(!1),O=(0,h.useRef)(void 0);r(()=>x?y(`files/unsaved`):null);let k=b!==null&&`text`in b&&b.text!==null?l(b.text):null;(0,h.useEffect)(()=>{if(T.current=k?.text??``,E.current=T.current,S(!1),w(null),O.current=void 0,t===void 0||k===null)return;let n=!0;return i(e).etagOf(t).then(e=>{n&&(O.current=e)}).catch(()=>void 0),()=>{n=!1}},[e,t,k?.text]);let A=(0,h.useCallback)(e=>{E.current=e,S(e!==T.current)},[]),j=(0,h.useCallback)(n=>{t===void 0||D.current||(D.current=!0,i(e).writeText(t,n,O.current).then(async()=>{T.current=n,S(E.current!==n),w(null),O.current=await i(e).etagOf(t).catch(()=>void 0)}).catch(e=>{let t=d(e)?y(`files/changedOnHost`):e instanceof Error?e.message:String(e);w({message:t,refused:u(e)})}).finally(()=>{D.current=!1}))},[e,t,y]);if(t===void 0)return(0,g.jsx)(m,{tone:`warning`,message:y(`files/noFile`)});let M=(0,g.jsx)(p,{uri:t,dirty:x});return b===null?(0,g.jsxs)(`div`,{className:`web-file`,children:[M,(0,g.jsx)(a,{label:y(`files/reading`)})]}):`error`in b?(0,g.jsxs)(`div`,{className:`web-file`,children:[M,(0,g.jsx)(o,{tone:`danger`,title:y(`files/notReadable`),message:b.error})]}):k===null?(0,g.jsxs)(`div`,{className:`web-file`,children:[M,(0,g.jsx)(`p`,{className:`web-note`,children:y(`files/notText`)})]}):(0,g.jsxs)(`div`,{className:`web-file`,children:[M,C===null?null:(0,g.jsx)(o,{tone:`danger`,title:C.refused?y(`files/readOnly`):y(`files/notSaved`),message:C.message}),k.cut?(0,g.jsx)(`p`,{className:`web-note`,children:y(`files/cut`)}):null,(0,g.jsx)(`div`,{className:`web-file__body web-file__body--editor`,children:(0,g.jsx)(c,{value:k.text,language:s(t),readOnly:k.cut||C?.refused===!0,line:_??null,end:v??null,onChange:A,onSave:j})})]})}export{_ as default};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{n}from"./ScenaProvider-6A3TJumQ.js";import{t as r}from"./ContextMenu-DYnWIBAF.js";var i=t(),a=e(),o={border:`none`,font:`inherit`,fontSize:`var(--oo-font-size-sm)`,lineHeight:1,padding:`2px 5px`,borderRadius:4};function s(e,t){return t.when===void 0||e.when.evaluate(t.when)}function c(e,t){let r=n(),[a,o]=(0,i.useState)(()=>e===void 0?t:r.when.evaluate(e));return(0,i.useEffect)(()=>{if(e===void 0)return;let t=r.when.watch(e,o);return()=>t.dispose()},[r,e]),e===void 0?t:a}function l({action:e,text:t,run:n}){let s=c(e.when,!0),l=c(e.active,!1),u=c(e.busy,!1),[d,f]=(0,i.useState)(null);if(!s)return null;function p(t){if(e.menu===void 0){n(e.command);return}let r=t.currentTarget.getBoundingClientRect();f({x:r.left,y:r.bottom+2})}return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(`button`,{className:`oo-btn oo-btn--icon oo-header-action`,"data-variant":`ghost`,type:`button`,title:t,"aria-label":t,...e.active===void 0?{}:{"aria-pressed":l,"data-active":l?`true`:void 0},"data-busy":u?`true`:void 0,disabled:u,...e.menu===void 0?{}:{"aria-haspopup":`menu`,"aria-expanded":d!==null},onClick:p,style:o,children:(0,a.jsx)(`span`,{className:`oo-header-action__icon`,children:e.icon??t??`•`})}),e.menu!==void 0&&d!==null?(0,a.jsx)(r,{x:d.x,y:d.y,onClose:()=>f(null),spec:{query:{slot:e.menu}}}):null]})}export{o as n,s as r,l as t};
1
+ import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{n}from"./ScenaProvider-6A3TJumQ.js";import{t as r}from"./ContextMenu-DlF_3KO_.js";var i=t(),a=e(),o={border:`none`,font:`inherit`,fontSize:`var(--oo-font-size-sm)`,lineHeight:1,padding:`2px 5px`,borderRadius:4};function s(e,t){return t.when===void 0||e.when.evaluate(t.when)}function c(e,t){let r=n(),[a,o]=(0,i.useState)(()=>e===void 0?t:r.when.evaluate(e));return(0,i.useEffect)(()=>{if(e===void 0)return;let t=r.when.watch(e,o);return()=>t.dispose()},[r,e]),e===void 0?t:a}function l({action:e,text:t,run:n}){let s=c(e.when,!0),l=c(e.active,!1),u=c(e.busy,!1),[d,f]=(0,i.useState)(null);if(!s)return null;function p(t){if(e.menu===void 0){n(e.command);return}let r=t.currentTarget.getBoundingClientRect();f({x:r.left,y:r.bottom+2})}return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(`button`,{className:`oo-btn oo-btn--icon oo-header-action`,"data-variant":`ghost`,type:`button`,title:t,"aria-label":t,...e.active===void 0?{}:{"aria-pressed":l,"data-active":l?`true`:void 0},"data-busy":u?`true`:void 0,disabled:u,...e.menu===void 0?{}:{"aria-haspopup":`menu`,"aria-expanded":d!==null},onClick:p,style:o,children:(0,a.jsx)(`span`,{className:`oo-header-action__icon`,children:e.icon??t??`•`})}),e.menu!==void 0&&d!==null?(0,a.jsx)(r,{x:d.x,y:d.y,onClose:()=>f(null),spec:{query:{slot:e.menu}}}):null]})}export{o as n,s as r,l as t};