@ahpd/web 0.3.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -20
- package/dist/app/assets/ActionList-Bc-jZDaT.css +1 -0
- package/dist/app/assets/ActionList-QwhYPQiB.js +1 -0
- package/dist/app/assets/ActivityBarItem-B2nm6zWz.css +1 -0
- package/dist/app/assets/ActivityBarItem-ai2cgVXn.js +1 -0
- package/dist/app/assets/Alert-BhdRA0LL.js +1 -0
- package/dist/app/assets/AudioPage-g-XDUEDw.js +1 -0
- package/dist/app/assets/Bood-Dg-XtOTh.js +1 -0
- package/dist/app/assets/BotLayer-DBe4Fyhe.js +1 -0
- package/dist/app/assets/ChoicePicker-I5V6f-aN.js +1 -0
- package/dist/app/assets/CodeEditor-C-ygqVsY.js +3 -0
- package/dist/app/assets/CommandPalette-G86xI_6j.js +1 -0
- package/dist/app/assets/Composer-DYocj0Ot.js +2 -0
- package/dist/app/assets/{ContextMenu-BV1gdog0.js → ContextMenu-DlF_3KO_.js} +1 -1
- package/dist/app/assets/CopyButton-BSesWpVW.js +1 -0
- package/dist/app/assets/{DataTable-8woVlU4S.js → DataTable-BwoG_VY8.js} +1 -1
- package/dist/app/assets/Details-CH_RhTnb.js +1 -0
- package/dist/app/assets/DiffPage-BWZV83j-.js +3 -0
- package/dist/app/assets/Edit-C2ayFdz3.js +1 -0
- package/dist/app/assets/Edit-nBofGkbp.js +1 -0
- package/dist/app/assets/Explorer-8HHRQU3j.js +1 -0
- package/dist/app/assets/Explorer-B4eWCDt-.js +1 -0
- package/dist/app/assets/Explorer-CcJsHUFk.js +1 -0
- package/dist/app/assets/Explorer-D4cvjXRf.js +1 -0
- package/dist/app/assets/Explorer-D5NpZ_El.js +1 -0
- package/dist/app/assets/Explorer-D5UOVCR4.js +1 -0
- package/dist/app/assets/Explorer-Dbqg4t3H.js +1 -0
- package/dist/app/assets/Explorer-Dg4dz1Y8.js +1 -0
- package/dist/app/assets/Explorer-Dy6T9Nil.js +1 -0
- package/dist/app/assets/Explorer-DzRNgpV9.js +1 -0
- package/dist/app/assets/ExplorerList-DU80dY_f.js +1 -0
- package/dist/app/assets/Field-jnYjqqvV.js +1 -0
- package/dist/app/assets/FilePage-Cqa5Gu-X.js +1 -0
- package/dist/app/assets/Filter-C4R4cZ-3.js +1 -0
- package/dist/app/assets/HeaderAction-5M2x4m1w.css +1 -0
- package/dist/app/assets/HeaderAction-Bs-AE__U.js +1 -0
- package/dist/app/assets/HostLines-CtIqw3A0.js +1 -0
- package/dist/app/assets/HostSwitcher-CBjT2TTb.js +1 -0
- package/dist/app/assets/ImagePage-C0fdIV7s.js +1 -0
- package/dist/app/assets/Info-DPV0HZOg.js +1 -0
- package/dist/app/assets/LocaleToggle-Bnt4p8rr.js +1 -0
- package/dist/app/assets/LogPage-C3fGac0t.js +1 -0
- package/dist/app/assets/LoginForm-DxyP1mZO.js +1 -0
- package/dist/app/assets/MarkdownPage-qhogl5sV.js +1 -0
- package/dist/app/assets/Modal-xWzwLA8s.js +1 -0
- package/dist/app/assets/MountTitle-BYR1nX0U.js +1 -0
- package/dist/app/assets/NamedPage-CoZEwEtx.js +1 -0
- package/dist/app/assets/New-BiFpU6ut.js +4 -0
- package/dist/app/assets/New-GW4BjzMj.js +1 -0
- package/dist/app/assets/OpenEditors-DN3NPzWo.js +1 -0
- package/dist/app/assets/Page-1jvuUZH2.js +1 -0
- package/dist/app/assets/Page-B1rQUqL-.js +1 -0
- package/dist/app/assets/Page-By2cWeM8.js +3 -0
- package/dist/app/assets/Page-DKXwLUAx.css +1 -0
- package/dist/app/assets/Page-JyFk5XMA.js +1 -0
- package/dist/app/assets/Page-fKKaK_Dn.js +1 -0
- package/dist/app/assets/PageAlert-B8ulCXV4.js +1 -0
- package/dist/app/assets/Pagination-Bt7IC1tA.js +1 -0
- package/dist/app/assets/PoolPage-cZ6yGgGG.js +1 -0
- package/dist/app/assets/PortaLock-DD-lS5R3.js +2 -0
- package/dist/app/assets/RolePage-C4v5v12n.js +3 -0
- package/dist/app/assets/SchemaForm-byhtwSG1.css +1 -0
- package/dist/app/assets/SchemaForm-uhkLDWDC.js +1 -0
- package/dist/app/assets/Settings-CAzrumeA.js +1 -0
- package/dist/app/assets/SigillumGate-CXCvctfp.js +1 -0
- package/dist/app/assets/SingleLayout-Bi4nK6CY.js +1 -0
- package/dist/app/assets/SpatialLayout-QbjNYiGj.js +1 -0
- package/dist/app/assets/Spinner-CBEPv0eM.js +1 -0
- package/dist/app/assets/SplitLayout-tQayoihg.js +1 -0
- package/dist/app/assets/StackLayout-B0qUSU7d.js +1 -0
- package/dist/app/assets/Start-NxBne1u6.js +1 -0
- package/dist/app/assets/TabLayout-B_pbKMRi.js +1 -0
- package/dist/app/assets/TabPanelLayout-DKamepPL.js +1 -0
- package/dist/app/assets/TerminalPage-AG2B5hHZ.js +18 -0
- package/dist/app/assets/ThemeModeToggle-DmEp0Qr8.js +1 -0
- package/dist/app/assets/ThemePicker-Bj_ObpXS.js +1 -0
- package/dist/app/assets/Tree-DoJ8zO-u.js +1 -0
- package/dist/app/assets/UserPage-C0Vk5NUV.js +1 -0
- package/dist/app/assets/VideoPage-CKx-gxgb.js +1 -0
- package/dist/app/assets/WindowControls-BuiQSjfa.js +1 -0
- package/dist/app/assets/actions-CFnmwNqb.js +1 -0
- package/dist/app/assets/actions-CkDFjYZd.js +1 -0
- package/dist/app/assets/ahpw-FhxegLNr.svg +8 -0
- package/dist/app/assets/changeset-FRFDlNj7.js +1 -0
- package/dist/app/assets/channel-BWOXaftf.js +3 -0
- package/dist/app/assets/{clicks-DIh3kBLi.js → clicks-BeeNCvCP.js} +1 -1
- package/dist/app/assets/composer-commands-CzjP_L_C.js +2 -0
- package/dist/app/assets/data-DsJQo1Qk.js +3 -0
- package/dist/app/assets/{dist-C5-Hv917.js → dist-2b3tV-Z7.js} +1 -1
- package/dist/app/assets/dist-BCQ-dSMw.js +9 -0
- package/dist/app/assets/{dist-CxEuuaKq.js → dist-BMwhNxyY.js} +1 -1
- package/dist/app/assets/dist-BVWBMVma.js +1 -0
- package/dist/app/assets/dist-BvY_obDK.js +13 -0
- package/dist/app/assets/dist-CHrzvaer.js +11 -0
- package/dist/app/assets/{dist-1MAn9CBM.js → dist-CaJpOCLg.js} +1 -1
- package/dist/app/assets/{dist-BdNRSgzN.js → dist-Cy5nEZGW.js} +2 -2
- package/dist/app/assets/dist-DUiHb392.js +1 -0
- package/dist/app/assets/dist-DVLbqnEo.js +23 -0
- package/dist/app/assets/dist-DrG75V-Z.js +6 -0
- package/dist/app/assets/dist-DxvAUGwy.js +1 -0
- package/dist/app/assets/{dist-uvIW_qsj.js → dist-UsePpmWK.js} +1 -1
- package/dist/app/assets/{dist-Bq_hlZV8.js → dist-ZM5yW1OM.js} +1 -1
- package/dist/app/assets/dist-a56DBHT4.js +1 -0
- package/dist/app/assets/dist-fdt_fTp5.js +1 -0
- package/dist/app/assets/drag-CxTqzQcr.js +1 -0
- package/dist/app/assets/emojis-B4zHbUyk.js +1 -0
- package/dist/app/assets/form-Bw0484oP.js +2 -0
- package/dist/app/assets/grouping-BZNQYyEm.js +1 -0
- package/dist/app/assets/hosts-A0gEDScb.js +3 -0
- package/dist/app/assets/index-DJ3IEy30.css +1 -0
- package/dist/app/assets/index-ddqm5vYD.js +19 -0
- package/dist/app/assets/label-hTY0RCEf.js +1 -0
- package/dist/app/assets/locales-DOA2j2AT.js +3 -0
- package/dist/app/assets/media-BFQqiLAd.js +1 -0
- package/dist/app/assets/notify-B2F6UAgq.js +1 -0
- package/dist/app/assets/pick-CEYUa4kK.js +1 -0
- package/dist/app/assets/pins-DhjQhJuu.js +1 -0
- package/dist/app/assets/save-file-CirO0l-u.js +1 -0
- package/dist/app/assets/save-zwMG_vNN.js +1 -0
- package/dist/app/assets/sessions-DxQFcZ2M.js +2 -0
- package/dist/app/assets/state-DQKzjLgu.js +1 -0
- package/dist/app/assets/terminal-Ctk6FYnN.js +1 -0
- package/dist/app/assets/text-D6GxOCYM.js +1 -0
- package/dist/app/assets/trust-ask-ewG_CvW8.js +1 -0
- package/dist/app/assets/turn-z1TPlA5Q.js +3 -0
- package/dist/app/assets/useI18n-T3BwAm0z.js +1 -0
- package/dist/app/assets/useStoreLabel-BtAsVCsr.js +1 -0
- package/dist/app/assets/viewers--ctbhTPt.js +1 -0
- package/dist/app/assets/words-1m-GRHoT.js +2 -0
- package/dist/app/assets/words-D8X2_Vc_.js +1 -0
- package/dist/app/index.html +37 -26
- package/dist/embed/index.d.ts +17 -4
- package/dist/embed/index.js +4 -0
- package/dist/plugin/index.d.ts +2 -2
- package/dist/plugin/index.js +2 -2
- package/dist/plugin/index.js.map +1 -1
- package/package.json +5 -3
- package/dist/app/ahpw.svg +0 -8
- package/dist/app/assets/ActionList-Bawu-Lja.css +0 -1
- package/dist/app/assets/ActionList-aOUHK9Z9.js +0 -1
- package/dist/app/assets/ActivityBarItem-Cyes10aK.css +0 -1
- package/dist/app/assets/ActivityBarItem-DVzJQ1uh.js +0 -1
- package/dist/app/assets/Alert-CHZkhmDE.js +0 -1
- package/dist/app/assets/AudioPage-DAAck9ph.js +0 -1
- package/dist/app/assets/ChoicePicker-Cg4Cj6B2.js +0 -1
- package/dist/app/assets/Composer-Dp_Z0bXp.js +0 -2
- package/dist/app/assets/CopyButton-DWmFc5fw.js +0 -1
- package/dist/app/assets/Details-ByJkvhJN.js +0 -1
- package/dist/app/assets/DiffPage-Ck21x0bd.js +0 -3
- package/dist/app/assets/Edit-rv9ZDDDu.js +0 -1
- package/dist/app/assets/Explorer-CDm6vvt6.js +0 -1
- package/dist/app/assets/Explorer-CNz5U5q-.js +0 -1
- package/dist/app/assets/Explorer-DS_lqr3R.js +0 -1
- package/dist/app/assets/Explorer-DoNVPZ-C.js +0 -1
- package/dist/app/assets/Explorer-VoN5CYd5.js +0 -1
- package/dist/app/assets/ExplorerList-DfesRs43.js +0 -1
- package/dist/app/assets/FilePage-CAUDXIh9.js +0 -3
- package/dist/app/assets/Filter-D1FpBH5R.js +0 -1
- package/dist/app/assets/HostSwitcher-BuSTjyO6.js +0 -1
- package/dist/app/assets/ImagePage-cy_jkGi1.js +0 -1
- package/dist/app/assets/Info-DqnamTeq.js +0 -1
- package/dist/app/assets/LocaleToggle-B91QrqGs.js +0 -1
- package/dist/app/assets/LogPage-CKm7_URt.js +0 -1
- package/dist/app/assets/LoginForm-rBz-5JFG.js +0 -1
- package/dist/app/assets/MarkdownPage-DgalhN_B.js +0 -1
- package/dist/app/assets/Modal-BHPfQpzr.js +0 -1
- package/dist/app/assets/MountTitle-Bx_Vo8tF.js +0 -1
- package/dist/app/assets/New-D6QCCHrx.js +0 -3
- package/dist/app/assets/Page-CnfUTsQD.js +0 -2
- package/dist/app/assets/Page-DGp_WebG.js +0 -1
- package/dist/app/assets/Page-Dqf45zd4.js +0 -1
- package/dist/app/assets/Pagination-fEfxXCWD.js +0 -1
- package/dist/app/assets/PortaLock-BFpTWuKB.js +0 -2
- package/dist/app/assets/SchemaForm-B_SWmx0L.css +0 -1
- package/dist/app/assets/SchemaForm-DKxGZpnK.js +0 -1
- package/dist/app/assets/Settings-ALaVSuhU.js +0 -1
- package/dist/app/assets/SigillumGate-Bq_GLDvI.js +0 -1
- package/dist/app/assets/SingleLayout-BzRi_cEY.js +0 -1
- package/dist/app/assets/SpatialLayout-Cote5YNZ.js +0 -1
- package/dist/app/assets/Spinner-B-iOhBZq.js +0 -1
- package/dist/app/assets/SplitLayout-CK5SuMF1.js +0 -1
- package/dist/app/assets/StackLayout-BUdng0sD.js +0 -1
- package/dist/app/assets/Start-D5KBqSwf.js +0 -1
- package/dist/app/assets/TabLayout-ByKrZ0yM.js +0 -1
- package/dist/app/assets/TabPanelLayout-B4DWG6Zm.js +0 -1
- package/dist/app/assets/TerminalPage-CDtmKMSK.js +0 -18
- package/dist/app/assets/ThemeModeToggle-C0j9D4s0.js +0 -1
- package/dist/app/assets/ThemePicker-DEUED0NH.js +0 -1
- package/dist/app/assets/Tree-fxC7yDSR.js +0 -1
- package/dist/app/assets/VideoPage-Cz7g_2E1.js +0 -1
- package/dist/app/assets/WindowControls-BWi1hOPh.js +0 -1
- package/dist/app/assets/actions-BzJiPQuh.js +0 -1
- package/dist/app/assets/changeset-eZAmDe3s.js +0 -1
- package/dist/app/assets/channel-UD2KGCy_.js +0 -1
- package/dist/app/assets/composer-commands-B8AF8OGi.js +0 -2
- package/dist/app/assets/data-hUAVersf.js +0 -2
- package/dist/app/assets/dist-33oU5N7i.js +0 -1
- package/dist/app/assets/dist-B4E-6SqB.js +0 -1
- package/dist/app/assets/dist-BDH0Q8eg.js +0 -13
- package/dist/app/assets/dist-BfGIsxxP.js +0 -1
- package/dist/app/assets/dist-BwHJSc3S.js +0 -6
- package/dist/app/assets/dist-DUFzb_Eu.js +0 -23
- package/dist/app/assets/dist-DX2Uz40S.js +0 -9
- package/dist/app/assets/dist-Db_OB0lX.js +0 -11
- package/dist/app/assets/dist-IR189dk6.js +0 -1
- package/dist/app/assets/dist-rmKzqdIO.js +0 -1
- package/dist/app/assets/drag-ruzgQUFW.js +0 -1
- package/dist/app/assets/emojis-7RT6GvLa.js +0 -1
- package/dist/app/assets/folder-path-CTpCmycG.js +0 -1
- package/dist/app/assets/index-B1VQ36Tb.css +0 -1
- package/dist/app/assets/index-yhQX4tVS.js +0 -14
- package/dist/app/assets/media-Coozt7AL.js +0 -1
- package/dist/app/assets/notify-BQ9fSOfy.js +0 -1
- package/dist/app/assets/registry-iidw4F1W.js +0 -1
- package/dist/app/assets/sessions-8PScJEDe.js +0 -2
- package/dist/app/assets/state-KGSq646f.js +0 -1
- package/dist/app/assets/terminal-BPj7jGw5.js +0 -1
- package/dist/app/assets/text-BdULOY8N.js +0 -1
- package/dist/app/assets/turn-BoF7W1h6.js +0 -3
- package/dist/app/assets/useStoreLabel-BuZT1So6.js +0 -1
- package/dist/app/assets/viewers-MssMDn0e.js +0 -1
- package/dist/app/assets/words-CyqfIDyJ.js +0 -2
- package/dist/app/assets/words-T8-D0K4W.js +0 -1
|
@@ -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-
|
|
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};
|
|
@@ -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";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-
|
|
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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./useStore-BQkzWMs-.js";import{t as n}from"./useI18n-T3BwAm0z.js";import{n as r}from"./ScenaProvider-6A3TJumQ.js";var i=e();function a({namespace:e,fields:a}){let d=r(),{t:f}=n(`query`),p=t(`$/${e}/query`),m=p?.where??[],h=t=>d.store.set(`$/${e}/query`,{...p??{page:1,pageSize:50},...t,page:1}),g=e=>e.value??!0,_=e=>m.some(t=>t.field===e.field&&t.value===g(e)),v=e=>{let t=m.filter(t=>t.field!==e.field),n=_(e)?t:[...t,{field:e.field,op:e.op??`eq`,value:g(e)}];h({where:n})};return(0,i.jsxs)(`div`,{style:o,children:[(0,i.jsx)(`input`,{style:s,placeholder:f(`search`,`Search…`),value:p?.q??``,onChange:e=>h({q:e.currentTarget.value})}),a?.length?(0,i.jsx)(`div`,{style:c,children:a.map(e=>(0,i.jsx)(`button`,{type:`button`,style:{...l,..._(e)?u:{}},onClick:()=>v(e),children:e.label??e.field},e.field))}):null]})}var o={display:`flex`,flexDirection:`column`,gap:6,padding:8},s={boxSizing:`border-box`,width:`100%`,padding:`6px 8px`,background:`var(--oo-color-canvas, #16181d)`,border:`1px solid var(--oo-color-border, #2b2f37)`,borderRadius:4,outline:`none`,fontSize:13,color:`var(--oo-color-text, #e6e8eb)`},c={display:`flex`,flexWrap:`wrap`,gap:4},l={appearance:`none`,border:`1px solid var(--oo-color-border, #2b2f37)`,background:`none`,borderRadius:999,padding:`2px 8px`,fontSize:11,cursor:`pointer`,color:`var(--oo-color-muted, #8a8f98)`},u={color:`#fff`,background:`var(--oo-color-accent, #4c7fff)`,borderColor:`var(--oo-color-accent, #4c7fff)`};export{a as Filter};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.oo-header-action{background:0 0}.oo-header-action[data-active=true]{background:var(--oo-color-active);color:var(--oo-color-accent)}.oo-header-action__icon{display:inline-block}.oo-header-action[data-busy=true]{color:var(--oo-color-accent);cursor:progress;opacity:1}.oo-header-action[data-busy=true] .oo-header-action__icon{animation:.9s linear infinite oo-spin}@keyframes oo-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.oo-header-action[data-busy=true] .oo-header-action__icon{animation:none}}
|
|
@@ -0,0 +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-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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./useI18n-T3BwAm0z.js";import{t as n}from"./Button-_R1oktDz.js";import{r}from"./data-DsJQo1Qk.js";import{_ as i,g as a,m as o,v as s,y as c}from"./hosts-A0gEDScb.js";var l=e();function u({host:e}){let{t:n}=t(),i=a(),[s]=o([r(e).connection]),[u]=o([r(e).refused]),d=c(s,u);return(0,l.jsxs)(`span`,{className:`web-host-tag`,"data-state":d,title:n(`hosts/state/${d}`),children:[(0,l.jsx)(`span`,{className:`web-host-line__dot`,"aria-hidden":`true`}),i(e)]})}function d(){let{t:e}=t(),u=i(),d=a(),f=o(u.map(e=>r(e).connection)),p=o(u.map(e=>r(e).refused)),m=u.map((e,t)=>({host:e,state:c(f[t],p[t])})).filter(e=>e.state!==`connected`);return m.length===0?null:(0,l.jsx)(`ul`,{className:`web-host-lines`,children:m.map(({host:t,state:r})=>(0,l.jsxs)(`li`,{className:`web-host-line`,"data-state":r,children:[(0,l.jsx)(`span`,{className:`web-host-line__dot`,"aria-hidden":`true`}),(0,l.jsx)(`span`,{className:`web-host-line__name`,children:d(t)}),(0,l.jsx)(`span`,{className:`web-host-line__state`,children:e(`hosts/state/${r}`)}),r===`connecting`?null:(0,l.jsx)(n,{size:`sm`,variant:`ghost`,label:e(r===`refused`?`hosts/signIn`:`hosts/retry`),onClick:()=>s(t,r)})]},t))})}export{u as n,d 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{$ as a,r as o}from"./data-DsJQo1Qk.js";import{f as s,m as c,v as l,y as u}from"./hosts-A0gEDScb.js";import{t as d}from"./emojis-B4zHbUyk.js";import{t as f}from"./ContextMenu-DlF_3KO_.js";var p=t(),m=e(),h={connected:0,connecting:1,down:2};function g({embedder:e}){let{t}=r(),g=i(),_=a()===`multi`,v=n(`$/ahp/hostFilter`)??null,[y,b]=(0,p.useState)(null),[x,S]=(0,p.useState)([]),[C,w]=(0,p.useState)({}),[T,E]=(0,p.useState)(!1),[D,O]=(0,p.useState)(null),k=(0,p.useRef)(null);(0,p.useEffect)(()=>{let t=!0;e.host().then(e=>t&&b(e)),e.hosts().then(e=>t&&S(e)),e.statuses().then(e=>t&&w(e));let n=[e.onHosts(e=>{S(e),b(t=>e.find(e=>e.id===t?.id)??t)}),e.onStatuses(w)];return()=>{t=!1;for(let e of n)e()}},[e]),(0,p.useEffect)(()=>{if(!T)return;let e=e=>{k.current?.contains(e.target)||E(!1)},t=e=>{e.key===`Escape`&&E(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[T]);let A=c(_?x.map(e=>o(e.id).connection):[]),j=c(_?x.map(e=>o(e.id).refused):[]),M=e=>{if(!_)return C[e]??`connecting`;let t=x.findIndex(t=>t.id===e),n=u(A[t],j[t]);return n===`connected`||n===`connecting`?n:`down`},N=e=>(0,m.jsx)(`span`,{className:`embed-dot embed-dot--${e}`,"aria-label":t(`shell/embed/status/${e}`)}),P=e=>N(M(e)),F=_&&v?.length===1?x.find(e=>e.id===v[0])??null:null,I=_?F:y,L=x.reduce((e,t)=>{let n=M(t.id);return h[n]>h[e]?n:e},`connected`),R=t=>{E(!1),_?s(g.store,t===null?null:[t]):t!==null&&t!==y?.id&&e.switchHost(t)};return(0,m.jsxs)(`div`,{className:`embed-host`,ref:k,children:[(0,m.jsxs)(`button`,{type:`button`,className:`embed-host__button`,"aria-haspopup":`menu`,"aria-expanded":T,onClick:()=>E(!T),children:[I===null?_?N(L):null:P(I.id),(0,m.jsx)(`span`,{className:`embed-host__name`,children:I?.name??(_?t(`hosts/every`):`…`)}),(0,m.jsx)(`svg`,{width:`8`,height:`8`,viewBox:`0 0 8 8`,"aria-hidden":`true`,children:(0,m.jsx)(`path`,{d:`M1 2.5l3 3 3-3`,fill:`none`,stroke:`currentColor`})})]}),T&&(0,m.jsxs)(`div`,{className:`embed-host__menu`,role:`menu`,children:[_?(0,m.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`embed-host__item`,"aria-current":F===null,onClick:()=>R(null),children:[N(L),(0,m.jsx)(`span`,{className:`embed-host__name`,children:t(`hosts/every`)})]}):null,x.map(e=>(0,m.jsxs)(`div`,{className:`embed-host__row`,children:[(0,m.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`embed-host__item`,"aria-current":e.id===I?.id,onClick:()=>R(e.id),children:[P(e.id),(0,m.jsx)(`span`,{className:`embed-host__name`,children:e.name}),(0,m.jsx)(`span`,{className:`embed-host__url`,title:e.url,children:e.url.replace(/^ws:\/\//i,``)})]}),_?(0,m.jsx)(`button`,{type:`button`,className:`embed-host__more`,"aria-label":t(`shell/embed/hostOptions`,{host:e.name}),title:t(`shell/embed/hostOptions`,{host:e.name}),onClick:t=>{let n=t.currentTarget.getBoundingClientRect();E(!1),O({id:e.id,x:n.right,y:n.bottom})},children:d.more}):null]},e.id)),(0,m.jsx)(`div`,{className:`embed-host__line`,role:`separator`}),(0,m.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`embed-host__item embed-host__action`,onClick:()=>{E(!1),e.manageHosts()},children:[(0,m.jsx)(`span`,{"aria-hidden":`true`,children:`☰`}),(0,m.jsx)(`span`,{className:`embed-host__name`,children:t(`shell/embed/manageHosts`)})]}),(0,m.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`embed-host__item embed-host__action`,onClick:()=>{E(!1),e.manageHosts({add:!0})},children:[(0,m.jsx)(`span`,{"aria-hidden":`true`,children:`+`}),(0,m.jsx)(`span`,{className:`embed-host__name`,children:t(`shell/embed/addHost`)})]})]}),D===null?null:(0,m.jsx)(f,{spec:{items:z(D.id)},x:D.x,y:D.y,onClose:()=>O(null)})]});function z(n){let r=x.findIndex(e=>e.id===n),i=u(A[r],j[r]),a=(e,t,n)=>({title:e,icon:t,onSelect:e=>{e.closeMenu(),O(null),n()}});return[a(t(`shell/embed/info`),d.info,()=>void g.commands.execute(`ahp.openHostInfo`,{host:n})),a(t(`shell/embed/settings`),d.settings,()=>void g.commands.execute(`ahp.openSettings`,{host:n})),...i===`down`||i===`refused`?[a(t(i===`refused`?`hosts/signIn`:`hosts/retry`),d.reload,()=>l(n,i))]:[],a(t(`shell/embed/manage`),d.edit,()=>void e.manageHosts({edit:n}))]}}export{g 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"./media-BFQqiLAd.js";var i=t();function a(e,t,n){return Math.round(n>0&&t>0?t*e*100/n:e*100)}var o=e(),s=1,c=20,l=1.25;function u({url:e,alt:t}){let{t:r}=n(),u=(0,i.useRef)(null),d=(0,i.useRef)(null),[f,p]=(0,i.useState)(s),[m,h]=(0,i.useState)({fitted:0,natural:0}),[g,_]=(0,i.useState)({x:0,y:0}),[v,y]=(0,i.useState)(!1),b=(0,i.useRef)(null),x=()=>{p(s),_({x:0,y:0})};(0,i.useEffect)(x,[e]);let S=(e,t=0,n=0)=>{let r=Math.min(c,Math.max(s,e));if(r===f)return;let i=r/f;_(r===s?{x:0,y:0}:e=>({x:t-(t-e.x)*i,y:n-(n-e.y)*i})),p(r)},C=e=>{let t=u.current?.getBoundingClientRect();t!==void 0&&S(f*Math.exp(-e.deltaY*.0015),e.clientX-t.left-t.width/2,e.clientY-t.top-t.height/2)},w=()=>{let e=d.current;e!==null&&h({fitted:e.offsetWidth,natural:e.naturalWidth})};(0,i.useEffect)(()=>{let e=u.current;if(e===null||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(w);return t.observe(e),()=>t.disconnect()},[]);let T=e=>{f<=s||(b.current={x:e.clientX,y:e.clientY,ox:g.x,oy:g.y},y(!0),e.currentTarget.setPointerCapture(e.pointerId))},E=e=>{let t=b.current;t!==null&&_({x:t.ox+e.clientX-t.x,y:t.oy+e.clientY-t.y})},D=()=>{b.current=null,y(!1)};(0,i.useEffect)(()=>{let e=u.current,t=e=>e.preventDefault();return e?.addEventListener(`wheel`,t,{passive:!1}),()=>e?.removeEventListener(`wheel`,t)},[]);let O=f>s;return(0,o.jsxs)(`div`,{className:`web-image__view`,children:[(0,o.jsxs)(`div`,{className:`web-image__bar`,role:`toolbar`,"aria-label":r(`files/image/zoom`),children:[(0,o.jsx)(`button`,{type:`button`,className:`web-image__step`,title:r(`files/image/zoomOut`),"aria-label":r(`files/image/zoomOut`),disabled:!O,onClick:()=>S(f/l),children:`−`}),(0,o.jsxs)(`button`,{type:`button`,className:`web-image__step web-image__percent`,title:r(`files/image/fit`),"aria-label":r(`files/image/fit`),disabled:!O,onClick:x,children:[a(f,m.fitted,m.natural),`%`]}),(0,o.jsx)(`button`,{type:`button`,className:`web-image__step`,title:r(`files/image/zoomIn`),"aria-label":r(`files/image/zoomIn`),disabled:f>=c,onClick:()=>S(f*l),children:`+`})]}),(0,o.jsx)(`div`,{ref:u,className:`web-image`,"data-zoomed":O?`true`:`false`,"data-dragging":v?`true`:`false`,onWheel:C,onPointerDown:T,onPointerMove:E,onPointerUp:D,onPointerCancel:D,onDoubleClick:x,children:(0,o.jsx)(`img`,{ref:d,src:e,alt:t,draggable:!1,onLoad:w,style:{transform:`translate(${g.x}px, ${g.y}px) scale(${f})`}})})]})}var d=e=>decodeURIComponent(e.split(`/`).pop()??e);function f({host:e,uri:t}){return(0,o.jsx)(r,{host:e,uri:t,children:e=>(0,o.jsx)(u,{url:e,alt:d(t??``)})})}export{f 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{F as s,I as c,O as l,P as u,j as d,k as f,r as p,s as m}from"./data-DsJQo1Qk.js";import{r as h}from"./notify-B2F6UAgq.js";import{t as g}from"./Badge-BDEW5PFb.js";import{t as _}from"./Alert-BhdRA0LL.js";import{t as v}from"./Text-MPtQvYE-.js";import{t as y}from"./DetailList-Yalgw0YM.js";import{Pt as b}from"./index-ddqm5vYD.js";import{n as x}from"./trust-ask-ewG_CvW8.js";import{a as S}from"./turn-z1TPlA5Q.js";var C=t(),w=e();function T({host:e}){let t=i(),{t:o}=r(),s=n(d(e))??f(e),p=Object.entries(s),m=(n,r)=>{let i=u(s,n);if(!r){l(t.store,e,i);return}x(t.store,e,i).catch(e=>h(o(`trust/host/notForgotten`),e))};return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(v,{variant:`h3`,text:o(`trust/host/title`)}),(0,w.jsx)(`p`,{className:`web-note`,children:o(`trust/host/hint`)}),p.length===0?(0,w.jsx)(`p`,{className:`web-note`,children:o(`trust/host/none`)}):(0,w.jsxs)(`table`,{className:`web-runs web-table web-trust`,children:[(0,w.jsx)(`thead`,{children:(0,w.jsxs)(`tr`,{children:[(0,w.jsx)(`th`,{children:o(`trust/host/folder`)}),(0,w.jsx)(`th`,{children:o(`trust/host/answer`)}),(0,w.jsx)(`th`,{"aria-label":o(`trust/host/forget`)})]})}),(0,w.jsx)(`tbody`,{children:p.map(([e,t])=>(0,w.jsxs)(`tr`,{children:[(0,w.jsx)(`td`,{children:(0,w.jsx)(`code`,{children:c(e)})}),(0,w.jsx)(`td`,{children:o(t?`trust/host/trusted`:`trust/host/untrusted`)}),(0,w.jsx)(`td`,{className:`web-trust__forget`,children:(0,w.jsx)(a,{label:o(`trust/host/forget`),size:`sm`,onClick:()=>m(e,t)})})]},e))})]})]})}var E={connected:{tone:`success`,word:`connected`},connecting:{tone:`info`,word:`connecting`},reconnecting:{tone:`warning`,word:`reconnecting`},disconnected:{tone:`default`,word:`disconnected`},failed:{tone:`danger`,word:`failed`}};function D(e){let[t,n]=(0,C.useState)(null),[r,i]=(0,C.useState)(null);return(0,C.useEffect)(()=>{n(null),i(null)},[e]),{status:t,error:r}}function O(){let[e,t]=(0,C.useState)(()=>Date.now());return(0,C.useEffect)(()=>{let e=window.setInterval(()=>t(Date.now()),1e3);return()=>window.clearInterval(e)},[]),e}function k({host:e}){let t=i(),{t:l}=r(),u=n(p(e).connection),d=n(p(e).host),f=n(p(e).agents)??[],h=n(p(e).defaultDirectory),x=n(p(e).automationCaps),{status:C,error:k}=D(u?.generation??0),A=O(),j=E[u?.status??`disconnected`]??E.disconnected,M=l(`bridges/state/${j.word}`),N=C?.startedAt===void 0?NaN:Date.parse(C.startedAt),P=[{label:l(`host/info/status`),value:M}];d!=null&&(P.push({label:l(`host/info/host`),value:d.label}),d.protocolVersion!==null&&P.push({label:l(`host/info/protocol`),value:d.protocolVersion}),d.connectedAt!==null&&P.push({label:l(`host/info/connected`),value:l(`host/info/connectedValue`,{when:S(d.connectedAt),elapsed:s(A-d.connectedAt)})}),P.push({label:l(`host/info/client`),value:(0,w.jsx)(`code`,{children:d.clientId})},{label:l(`host/info/serverSeq`),value:String(d.serverSeq)},{label:l(`host/info/following`),value:o(`host/info/channels`,d.subscriptions)})),u?.error!==null&&u?.error!==void 0&&P.push({label:l(`host/info/lastError`),value:u.error});let F=[];C!==null&&(Number.isNaN(N)||F.push({label:l(`host/info/started`),value:l(`host/info/startedValue`,{when:S(N),elapsed:s(A-N)})}),C.pid!==void 0&&F.push({label:l(`host/info/process`),value:String(C.pid)}),C.url!==void 0&&F.push({label:l(`host/info/address`),value:(0,w.jsx)(`code`,{children:C.url})}),C.automations!==void 0&&F.push({label:l(`host/info/automationsKeptIn`),value:C.automations}),(C.paths??[]).length>0&&F.push({label:l(`host/info/sessionsKeptIn`),value:(0,w.jsx)(`span`,{className:`web-lines`,children:C.paths.map(e=>(0,w.jsx)(`code`,{children:e},e))})}));let I=[{label:l(`host/info/agents`),value:(0,w.jsx)(`button`,{type:`button`,className:`web-link`,onClick:()=>void t.commands.execute(`sidebar.activate`,{section:b}),children:f.length===0?l(`host/info/none`):f.map(e=>e.displayName).join(`, `)})},{label:l(`host/info/defaultFolder`),value:h==null?l(`host/info/none`):(0,w.jsx)(`code`,{children:c(h)})}];d?.activeSessions!==null&&d?.activeSessions!==void 0&&I.push({label:l(`host/info/activeSessions`),value:String(d.activeSessions)}),I.push({label:l(`host/info/automations`),value:x==null?l(`host/info/automationsNotOffered`):[x.create===void 0?l(`host/info/automationsReadOnly`):l(`host/info/automationsCreate`),x.schedules?.minIntervalMinutes===void 0?void 0:o(`host/info/automationsInterval`,x.schedules.minIntervalMinutes),x.runCancellation===void 0?void 0:l(`host/info/automationsStoppable`)].filter(e=>e!==void 0).join(`, `)});let L=d?.terminals??[];return(0,w.jsxs)(`div`,{className:`web-page`,children:[(0,w.jsxs)(`div`,{className:`web-page__head`,children:[(0,w.jsxs)(`div`,{className:`web-chat__title`,children:[(0,w.jsx)(v,{variant:`h2`,text:l(`host/title`)}),(0,w.jsx)(g,{tone:j.tone,text:M})]}),(0,w.jsxs)(`div`,{className:`web-page__actions`,children:[u?.status===`connected`?null:(0,w.jsx)(a,{label:l(`bridges/reconnectNow`),variant:`primary`,onClick:()=>void m(e).reconnect()}),(0,w.jsx)(a,{label:l(`host/info/settings`),onClick:()=>void t.commands.execute(`ahp.openSettings`,{host:e})})]})]}),(0,w.jsx)(v,{variant:`h3`,text:l(`host/info/connection`)}),(0,w.jsx)(y,{items:P,columns:2}),C===null&&k===null?null:(0,w.jsx)(v,{variant:`h3`,text:l(`host/info/daemon`)}),k===null?null:(0,w.jsx)(_,{tone:`warning`,message:l(`host/info/statusUnreadable`,{error:k})}),F.length===0?null:(0,w.jsx)(y,{items:F,columns:2}),(0,w.jsx)(v,{variant:`h3`,text:l(`host/info/offers`)}),(0,w.jsx)(y,{items:I,columns:2}),(0,w.jsx)(T,{host:e}),(0,w.jsx)(v,{variant:`h3`,text:l(`host/info/terminals`)}),L.length===0?(0,w.jsx)(`p`,{className:`web-note`,children:l(`host/info/noTerminals`)}):(0,w.jsxs)(`table`,{className:`web-runs web-table`,children:[(0,w.jsx)(`thead`,{children:(0,w.jsxs)(`tr`,{children:[(0,w.jsx)(`th`,{children:l(`host/info/terminalTitle`)}),(0,w.jsx)(`th`,{children:l(`host/info/terminalState`)})]})}),(0,w.jsx)(`tbody`,{children:L.map(e=>{let t=e.lifecycle;return(0,w.jsxs)(`tr`,{children:[(0,w.jsx)(`td`,{children:e.title}),(0,w.jsx)(`td`,{children:t.status===`exited`?t.exitCode===void 0?l(`host/info/exited`):l(`host/info/exitedCode`,{code:t.exitCode}):l(`host/info/running`)})]},e.resource)})})]})]})}export{k 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";var r=t(),i=e();function a({display:e=`text`,locales:t,separator:a=`|`,className:s,style:c}){let{locale:l,locales:u,setLocale:d}=n(),f=t?t.map(e=>u.find(t=>t.locale===e)).filter(Boolean):u;return(0,i.jsx)(`div`,{className:[`oo-locale-toggle`,s].filter(Boolean).join(` `),style:c,role:`group`,children:f.map((t,n)=>(0,i.jsxs)(r.Fragment,{children:[n>0&&a!=null?(0,i.jsx)(`span`,{className:`oo-locale-toggle__sep`,"aria-hidden":`true`,children:a}):null,(0,i.jsx)(`button`,{type:`button`,className:`oo-locale-toggle__item`+(t.locale===l?` oo-locale-toggle__item--active`:``),"aria-pressed":t.locale===l,title:t.name??t.locale,onClick:()=>d(t.locale),children:o(t,e)})]},t.locale))})}function o(e,t){let n=(e.language??e.locale).toUpperCase();return t===`emoji`?e.emoji??n:t===`both`&&e.emoji?`${e.emoji} ${n}`:n}export{a as LocaleToggle};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{l as n,t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{_ as a,d as o,f as s,g as c,h as l,m as u,r as d,v as f,y as p}from"./data-DsJQo1Qk.js";import{i as m}from"./hosts-A0gEDScb.js";import{t as h}from"./emojis-B4zHbUyk.js";var g=t(),_=e(),v=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform)?`log/follow/mac`:`log/follow/other`;function y(e,t){let r=m(e.store);if(t.startsWith(`ahp-terminal:`)){let i=r.find(n=>e.store.get(d(n).host)?.terminals.some(e=>e.resource===t))??r[0];return{tip:n(`log/follow/terminal`),run:()=>void e.commands.execute(`ahp.openTerminal`,{host:i,uri:t})}}let i=r.find(n=>(e.store.get(d(n).sessions)??[]).some(e=>e.resource===t));return i===void 0?t.startsWith(`file:`)?{tip:n(`log/follow/file`),run:()=>void e.commands.execute(`ahp.openFile`,{uri:t})}:/^https?:/i.test(t)?{tip:n(`log/follow/page`),run:()=>void window.open(t,`_blank`,`noopener`)}:null:{tip:n(`log/follow/session`),run:()=>void e.commands.execute(`ahp.openSession`,{host:i,resource:t})}}function b(e){if(typeof e==`string`)try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return JSON.stringify(e,null,2)??String(e)}var x=e=>void navigator.clipboard?.writeText(e).catch(()=>void 0),S=(0,g.memo)(function({entry:e,open:t,onToggle:n}){let a=i(),{t:o}=r(),s=f(e.text).map((e,t)=>{if(e.kind===`text`)return(0,_.jsx)(`span`,{children:e.text},t);let n=y(a,e.text);return n===null?(0,_.jsx)(`span`,{children:e.text},t):(0,_.jsx)(`a`,{className:`web-log__link`,title:o(`log/follow/link`,{tip:n.tip,how:o(v)}),onClick:e=>{(e.ctrlKey||e.metaKey)&&(e.stopPropagation(),n.run())},children:e.text},t)});return(0,_.jsxs)(`div`,{className:`web-log__row`,"data-open":t||void 0,"data-level":e.level,children:[(0,_.jsxs)(`div`,{className:`web-log__line`,role:`button`,tabIndex:0,"aria-expanded":t,onClick:()=>n(e.id),onKeyDown:t=>{t.key===`Enter`&&n(e.id)},children:[(0,_.jsx)(`span`,{className:`web-log__caret`,children:t?h.caretDown:h.caretRight}),(0,_.jsx)(`span`,{className:`web-log__time`,children:u(e.at)}),(0,_.jsx)(`span`,{className:`web-log__level`,children:e.level.toUpperCase()}),(0,_.jsx)(`span`,{className:`web-log__scope`,"data-scope":e.scope,children:(0,_.jsx)(`span`,{children:o(`log/scopes/${e.scope}`)})}),(0,_.jsx)(`span`,{className:`web-log__text`,children:s}),t?(0,_.jsx)(`button`,{type:`button`,className:`web-log__icon`,title:o(`log/copyLine`),onClick:t=>{t.stopPropagation(),x(c(e))},children:h.copy}):null]}),t&&e.detail!==void 0?(0,_.jsx)(`pre`,{className:`web-log__detail`,children:b(e.detail)}):null]})});function C(){let{t:e}=r(),t=p(),[n,i]=(0,g.useState)([]),[c,u]=(0,g.useState)(`info`),[d,f]=(0,g.useState)(``),[m,v]=(0,g.useState)(new Set),y=(0,g.useMemo)(()=>l(t,{scopes:n.length===0?s.filter(e=>e!==`traffic`):n,minLevel:n.includes(`traffic`)?`debug`:c,query:d}),[t,n,c,d]),b=(0,g.useCallback)(e=>{v(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),C=e=>i(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),w=()=>u(o[(o.indexOf(c)+1)%o.length]??`info`),T=(0,g.useRef)(null),E=(0,g.useRef)(!0);return(0,g.useEffect)(()=>{let e=T.current;if(e===null)return;let t=()=>{E.current=e.scrollHeight-e.scrollTop-e.clientHeight<24};return e.addEventListener(`scroll`,t,{passive:!0}),()=>e.removeEventListener(`scroll`,t)},[]),(0,g.useLayoutEffect)(()=>{let e=T.current;e!==null&&E.current&&(e.scrollTop=e.scrollHeight)},[y]),(0,_.jsxs)(`div`,{className:`web-log`,children:[(0,_.jsxs)(`div`,{className:`web-log__bar`,children:[(0,_.jsx)(`button`,{type:`button`,className:`web-log__chip`,"data-on":n.length===0||void 0,onClick:()=>i([]),children:e(`log/all`)}),s.map(t=>(0,_.jsxs)(`button`,{type:`button`,className:`web-log__chip`,"data-on":n.includes(t)||void 0,onClick:()=>C(t),children:[(0,_.jsx)(`span`,{className:`web-log__dot`,"data-scope":t}),e(`log/scopes/${t}`)]},t)),(0,_.jsx)(`span`,{className:`web-log__rule`}),(0,_.jsx)(`button`,{type:`button`,className:`web-log__chip`,title:e(`log/levelTip`),disabled:n.includes(`traffic`),onClick:w,children:e(`log/minLevel`,{level:n.includes(`traffic`)?`debug`:c})}),(0,_.jsx)(`input`,{className:`web-log__search`,type:`search`,placeholder:e(`log/filter`),value:d,onChange:e=>f(e.target.value)}),(0,_.jsx)(`button`,{type:`button`,className:`web-log__icon`,title:e(`log/copyShown`),onClick:()=>x(a(y)),children:h.copy})]}),(0,_.jsxs)(`div`,{className:`web-log__list`,ref:T,children:[y.length===0?(0,_.jsx)(`p`,{className:`web-note`,children:e(t.length===0?`log/empty`:`log/noMatch`)}):null,y.map(e=>(0,_.jsx)(S,{entry:e,open:m.has(e.id),onToggle:b},e.id))]})]})}export{C 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"./sigillum-Bev0l9LS.js";import{t as o}from"./Button-_R1oktDz.js";/* empty css */import{Lt as s}from"./index-ddqm5vYD.js";var c=t(),l=e();function u(e){return e&&typeof e==`object`&&`path`in e?e.path:void 0}function d(e,t=``){let r=n(u(e));return u(e)?r??t:(typeof e==`string`?e:void 0)??t}function f({provider:e,pending:t,fire:n,t:r}){let i=d(e.label,e.id);return(0,l.jsx)(o,{label:`${e.icon?`${e.icon} `:``}${r(`auth/providerLabel`,{provider:i,fallback:`Continue with {provider}`})}`,disabled:t,onClick:()=>n(`sigillum.signin`,{providerId:e.id,credentials:{}})})}function p({field:e}){let t=e.label&&typeof e.label==`object`&&`path`in e.label?u(e.label):void 0,r=n(t);return t?(0,l.jsx)(l.Fragment,{children:r??``}):(0,l.jsx)(l.Fragment,{children:typeof e.label==`string`?e.label:``})}function m({providers:e,allowSignup:t=!1,allowForgotPassword:u=!1,onSignup:m,onForgotPassword:_}){let v=i(),y=s(),{t:b}=r(),x=!!n(a.pending),S=n(a.error)??null,C=n(a.challenge)??null,w=(0,c.useMemo)(()=>e?y.providers.filter(t=>e.includes(t.id)):y.providers,[y.providers,e]),T=w.filter(e=>e.kind===`oauth-button`),E=w.filter(e=>e.kind===`form-fields`),D=w.filter(e=>e.kind===`otp`),O=w.filter(e=>e.kind===`magic-link`),k=(0,c.useMemo)(()=>{let e=[],t=new Set;for(let n of E)for(let r of n.fields??[])t.has(r.name)||(t.add(r.name),e.push({field:r,ownerId:n.id}));return e},[E]),[A,j]=(0,c.useState)({});function M(e,t){j(n=>({...n,[e]:t}))}function N(e,t){v.commands.execute(e,t)}function P(e){if(e.preventDefault(),E.length===0)return;let t=E.find(e=>e.id===`password`)??E[0];t&&N(`sigillum.signin`,{providerId:t.id,credentials:A})}let F=k.length>0||D.length>0||O.length>0,I=d((E.find(e=>e.id===`password`)??E[0])?.label,b(`auth/signIn`,`Sign in`));return(0,l.jsxs)(`form`,{className:`porta-form`,onSubmit:P,children:[T.length>0?(0,l.jsx)(`div`,{className:`porta-form__oauth`,children:T.map(e=>(0,l.jsx)(f,{provider:e,pending:x,fire:N,t:b},e.id))}):null,T.length>0&&F?(0,l.jsx)(`div`,{className:`porta-form__divider`,children:`or`}):null,k.length>0?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`div`,{className:`porta-form__fields`,children:k.map(({field:e})=>(0,l.jsxs)(`label`,{className:`oo-field`,children:[(0,l.jsx)(`span`,{className:`oo-field__label`,children:e.label&&typeof e.label==`object`&&`t`in e.label?b(e.label.t,{...e.label.args,fallback:`???`}):(0,l.jsx)(p,{field:e})}),(0,l.jsx)(`input`,{className:`oo-input`,type:e.type,name:e.name,autoComplete:e.autoComplete,required:e.required,placeholder:e.placeholder,value:A[e.name]??``,onChange:t=>M(e.name,t.currentTarget.value)})]},e.name))}),(0,l.jsx)(o,{type:`submit`,variant:`primary`,label:I,disabled:x})]}):null,D.map(e=>(0,l.jsx)(h,{provider:e,challenge:C,pending:x,fire:N},e.id)),O.map(e=>(0,l.jsx)(g,{provider:e,challenge:C,pending:x,fire:N},e.id)),(0,l.jsxs)(`div`,{className:`porta-form__footer`,children:[(0,l.jsxs)(`span`,{children:[x?(0,l.jsx)(`span`,{className:`porta-form__pending`,children:`Working…`}):null,S?(0,l.jsx)(`span`,{className:`porta-form__error`,children:S}):null]}),(0,l.jsxs)(`div`,{className:`porta-form__aux`,children:[u?(0,l.jsx)(`button`,{type:`button`,onClick:_,children:b(`auth/forgotPassword`,`Forgot password?`)}):null,t?(0,l.jsx)(`button`,{type:`button`,onClick:m,children:b(`auth/createAccount`,`Create account`)}):null]})]})]})}function h({provider:e,challenge:t,pending:n,fire:i}){let{t:a}=r(`auth`),s=d(e.label,e.id),u=t?.providerId===e.id,f=e.otp?.digits??6,[p,m]=(0,c.useState)(``),[h,g]=(0,c.useState)(``);return(0,l.jsxs)(`div`,{className:`porta-form__two-step`,children:[(0,l.jsxs)(`span`,{className:`porta-form__two-step-label`,children:[e.icon?`${e.icon} `:``,s]}),u?(0,l.jsxs)(`div`,{className:`porta-form__two-step-row`,children:[(0,l.jsx)(_,{digits:f,value:h,onChange:g}),(0,l.jsx)(o,{label:`Verify`,variant:`primary`,disabled:n||h.length!==f,onClick:()=>i(`sigillum.verifyOtp`,{providerId:e.id,code:h})})]}):(0,l.jsxs)(`div`,{className:`porta-form__two-step-row`,children:[(0,l.jsxs)(`label`,{className:`oo-field`,children:[(0,l.jsx)(`span`,{className:`oo-field__label`,children:e.otp?.channel===`sms`?a(`phoneLabel`,`Phone number`):a(`emailLabel`,`Email address`)}),(0,l.jsx)(`input`,{className:`oo-input`,type:e.otp?.channel===`sms`?`tel`:`email`,value:p,placeholder:e.otp?.channel===`sms`?`+1 555 …`:`you@example.com`,onChange:e=>m(e.currentTarget.value)})]}),(0,l.jsx)(o,{label:e.otp?.sendLabel??a(`sendCode`,`Send code`),disabled:n||!p,onClick:()=>i(`sigillum.requestOtp`,{providerId:e.id,value:p})})]})]})}function g({provider:e,challenge:t,pending:n,fire:i}){let{t:a}=r(`auth`),s=d(e.label,e.id),u=t?.providerId===e.id,[f,p]=(0,c.useState)(``);return(0,l.jsxs)(`div`,{className:`porta-form__two-step`,children:[(0,l.jsxs)(`span`,{className:`porta-form__two-step-label`,children:[e.icon?`${e.icon} `:``,s]}),u?(0,l.jsxs)(`span`,{className:`porta-form__pending`,children:[`Check your `,e.magicLink?.channel??`inbox`,` for the link.`]}):(0,l.jsxs)(`div`,{className:`porta-form__two-step-row`,children:[(0,l.jsxs)(`label`,{className:`oo-field`,children:[(0,l.jsx)(`span`,{className:`oo-field__label`,children:e.magicLink?.channel===`sms`?a(`phoneLabel`,`Phone number`):a(`emailLabel`,`Email address`)}),(0,l.jsx)(`input`,{className:`oo-input`,type:e.magicLink?.channel===`sms`?`tel`:`email`,value:f,placeholder:e.magicLink?.channel===`sms`?`+1 555 …`:`you@example.com`,onChange:e=>p(e.currentTarget.value)})]}),(0,l.jsx)(o,{label:e.magicLink?.sendLabel??a(`sendLink`,`Send link`),disabled:n||!f,onClick:()=>i(`sigillum.requestOtp`,{providerId:e.id,value:f})})]})]})}function _({digits:e,value:t,onChange:n}){let r=(0,c.useRef)([]);(0,c.useEffect)(()=>{r.current=r.current.slice(0,e)},[e]);let i=t.padEnd(e,` `).slice(0,e).split(``);function a(t,a){let o=i.slice();o[t]=a.slice(-1)||` `,n(o.join(``).trimEnd()),a&&t+1<e&&r.current[t+1]?.focus()}return(0,l.jsx)(`div`,{className:`porta-form__otp-digits`,children:Array.from({length:e}).map((e,t)=>(0,l.jsx)(`input`,{ref:e=>{r.current[t]=e},className:`porta-form__otp-digit`,inputMode:`numeric`,maxLength:1,value:i[t]?.trim()??``,onChange:e=>a(t,e.currentTarget.value),onKeyDown:e=>{e.key===`Backspace`&&!i[t]?.trim()&&t>0&&r.current[t-1]?.focus()}},t))})}export{m as LoginForm,m as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./useI18n-T3BwAm0z.js";import{n}from"./ScenaProvider-6A3TJumQ.js";import{t as r}from"./Spinner-CBEPv0eM.js";import{t as i}from"./Markdown-_Awuh7Ku.js";import{t as a}from"./Alert-BhdRA0LL.js";import{r as o,t as s}from"./clicks-BeeNCvCP.js";import{n as c,t as l}from"./text-D6GxOCYM.js";import{t as u}from"./PageAlert-B8ulCXV4.js";import{n as d}from"./media-BFQqiLAd.js";var f=e();function p({host:e,src:t,alt:n,base:r}){let i=/^(https?|data):/i.test(t)?null:o(t,r),a=d(e,i?.uri);return i===null?(0,f.jsx)(`img`,{src:t,alt:n}):a!==null&&`url`in a?(0,f.jsx)(`img`,{src:a.url,alt:n}):(0,f.jsx)(`span`,{className:`web-md__image`,title:i.uri,"data-state":a===null?`reading`:`missing`,children:n})}var m=(e,t)=>(n,r)=>(0,f.jsx)(p,{host:e,src:n,alt:r,base:t}),h=e=>e.replace(/\/[^/]*$/,``);function g({host:e,uri:o}){let d=n(),{t:p}=t(),g=c(e,o);if(o===void 0)return(0,f.jsx)(u,{tone:`warning`,message:p(`files/noFile`)});let _=(0,f.jsx)(l,{uri:o});return g===null?(0,f.jsxs)(`div`,{className:`web-file`,children:[_,(0,f.jsx)(r,{label:p(`files/reading`)})]}):`error`in g?(0,f.jsxs)(`div`,{className:`web-file`,children:[_,(0,f.jsx)(a,{tone:`danger`,title:p(`files/notReadable`),message:g.error})]}):g.text===null?(0,f.jsxs)(`div`,{className:`web-file`,children:[_,(0,f.jsx)(`p`,{className:`web-note`,children:p(`files/notText`)})]}):(0,f.jsxs)(`div`,{className:`web-file`,children:[_,(0,f.jsx)(`div`,{className:`web-file__body`,children:(0,f.jsx)(`div`,{className:`web-file__doc web-md`,onClick:s(d,e,h(o)),children:(0,f.jsx)(i,{text:g.text,image:m(e,h(o))})})})]})}export{g 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{t as r}from"./useI18n-T3BwAm0z.js";import{o as i}from"./mount-context-DZgEFVFG.js";import{r as a}from"./Icon-CIQ7doud.js";var o=e({Modal:()=>l}),s=t(),c=n();function l({open:e,defaultOpen:t,title:n,child:o,children:l,onClose:u,dismissable:d=!0}){let{t:f}=r(),p=i(`open`),[m,h]=(0,c.useState)(e??t??!1);(0,c.useEffect)(()=>{e!==void 0&&h(t=>t===e?t:e)},[e]);function g(){d&&(h(!1),p(!1),u?.())}if(!m)return null;let _=o??l;return(0,s.jsx)(`div`,{onClick:g,style:{position:`fixed`,inset:0,background:`rgba(0,0,0,0.4)`,display:`flex`,alignItems:`center`,justifyContent:`center`,zIndex:2e3},children:(0,s.jsxs)(`div`,{onClick:e=>e.stopPropagation(),style:{background:`var(--oo-color-canvas, #fff)`,color:`inherit`,border:`1px solid var(--oo-color-border)`,borderRadius:`var(--oo-radius-sm, 4px)`,padding:16,minWidth:320,maxWidth:`80vw`,maxHeight:`80vh`,overflow:`auto`},children:[n?(0,s.jsxs)(`div`,{style:{fontWeight:600,marginBottom:8,display:`flex`,justifyContent:`space-between`,alignItems:`center`},children:[(0,s.jsx)(`span`,{children:n}),d?(0,s.jsx)(`button`,{type:`button`,onClick:g,style:{background:`transparent`,border:`none`,cursor:`pointer`,font:`inherit`,color:`inherit`},"aria-label":f(`common/close`,`Close`),children:a.closePanel}):null]}):null,_]})})}export{o as n,l as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{c as t}from"./useStore-BQkzWMs-.js";import{l as n}from"./useI18n-T3BwAm0z.js";import{n as r}from"./ScenaProvider-6A3TJumQ.js";import{t as i}from"./useStoreLabel-BtAsVCsr.js";var a=e();function o(e,t=``){let n=r(),a=e?n.components.get(e.component.component)?.props:void 0;return i(e?.props?.title??a?.title,``,e?.dataContext)||t}function s({mount:e,fallback:t,iconClassName:n,titleClassName:o,style:s}){let c=r(),l=e?c.components.get(e.component.component)?.props:void 0,u=i(e?.props?.title??l?.title,``,e?.dataContext)||(t??``),d=e?.props?.icon??l?.icon;return(0,a.jsxs)(`span`,{title:u,style:{display:`inline-flex`,alignItems:`center`,gap:6,minWidth:0,...s},children:[d?(0,a.jsx)(`span`,{className:n,"aria-hidden":!0,children:d}):null,(0,a.jsx)(`span`,{className:o,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:u})]})}function c(e,r){let i=e.components.get(r.component.component)?.props,a=r.props?.title??i?.title;if(a==null)return r.key;if(typeof a==`string`)return a;if(`t`in a)return n(a.t);let o=t(e.store,r.dataContext,a.path);return o==null?r.key:String(o)}export{c as n,o as r,s 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,r as ee}from"./data-DsJQo1Qk.js";import{r as s}from"./notify-B2F6UAgq.js";import{t as c}from"./Spinner-CBEPv0eM.js";import{t as l}from"./Text-MPtQvYE-.js";import{B as te,D as ne,F as u,H as d,L as f,P as p,R as m,V as h,j as g,z as _}from"./index-ddqm5vYD.js";import{t as v}from"./PageAlert-B8ulCXV4.js";import{t as y}from"./channel-BWOXaftf.js";import{t as b}from"./Field-jnYjqqvV.js";import{t as x}from"./form-Bw0484oP.js";var S=t(),C=e(),w={teams:f(`teams`),projects:f(`projects`)},re=f(`users`),T=f(`teams`);function E({host:e,domain:t,person:f}){let E=i(),{t:D}=r(),O=f===void 0,k=t===`teams`?`team`:`project`,A=n(ee(e).offers)??o,j=y(e,g[t].channel,w[t]),M=y(e,!O&&_(A,`users`)?g.users.channel:void 0,re),ie=y(e,!O&&t===`projects`?g.teams.channel:void 0,T),[N,P]=(0,S.useState)(null),[F,I]=(0,S.useState)({user:``,team:``}),[L,R]=(0,S.useState)(!1),[z,B]=(0,S.useState)(null);if(j.error!==null)return(0,C.jsx)(v,{tone:`danger`,title:D(`teams/notices/none`),message:j.error});if(j.state===void 0)return(0,C.jsx)(c,{label:D(`teams/notices/reading`)});let V=O?void 0:j.state.records.find(e=>e.id===f)?.record;if(!O&&V===void 0)return(0,C.jsx)(v,{tone:`warning`,message:D(`teams/${k}/gone`)});let H={id:f??``,title:V?.title??``},U=N??H,W=e=>P(t=>({...t??H,...e})),G=d(A,t),K=d(A,`users`),q=N!==null&&JSON.stringify(N)!==JSON.stringify(H),J=G&&!L&&(O?x(U.id):q),Y=ne(t,e,f),X=M.state?.records.map(e=>e.record)??[],Z=O?[]:p(t,f,X),Q=X.filter(e=>!Z.some(t=>t.user===e.id)),ae=ie.state?.records.map(e=>e.id)??[],oe=async()=>{R(!0),B(null);let n=U.id.trim();try{await m(e,A,t,n,{title:U.title.trim()},O),P(null),O&&(E.surfaces.close(Y),E.commands.execute(t===`teams`?`ahp.openTeam`:`ahp.openProject`,{host:e,id:n}))}catch(e){B(e instanceof Error?e.message:String(e))}finally{R(!1)}},$=(t,n)=>{let r=h(t),i=n.includes(r.primary)?r.primary:``;m(e,A,`users`,t.id,te({...r,memberships:n,primary:i}),!1).catch(e=>s(D(`teams/actions/failed`),e))},se=()=>{let e=X.find(e=>e.id===F.user);if(e===void 0||f===void 0)return;let n=t===`teams`?u(f):u(F.team,f);$(e,[...e.memberships??[],n]),I({user:``,team:``})},ce=F.user!==``&&(t===`teams`||F.team!==``);return(0,C.jsxs)(`div`,{className:`web-page web-form`,children:[(0,C.jsx)(l,{variant:`h2`,text:O?D(t===`teams`?`teams/commands/newTeam`:`teams/commands/newProject`):V?.title||f}),G?null:(0,C.jsx)(`p`,{className:`web-note`,children:D(`teams/notices/readOnly`)}),O?(0,C.jsx)(b,{label:D(`teams/named/id`),hint:D(`teams/${k}/idHint`),children:(0,C.jsx)(`input`,{className:`web-field`,value:U.id,autoFocus:!0,onChange:e=>W({id:e.target.value})})}):null,(0,C.jsx)(b,{label:D(`teams/named/title`),hint:D(`teams/named/titleHint`),children:(0,C.jsx)(`input`,{className:`web-field`,value:U.title,readOnly:!G,onChange:e=>W({title:e.target.value})})}),z===null?null:(0,C.jsx)(v,{tone:`danger`,message:z}),G?(0,C.jsxs)(`div`,{className:`web-page__actions`,children:[(0,C.jsx)(a,{label:D(O?`teams/${k}/create`:`teams/named/save`),variant:`primary`,disabled:!J,onClick:()=>void oe()}),O?(0,C.jsx)(a,{label:D(`teams/actions/cancel`),onClick:()=>E.surfaces.close(Y)}):(0,C.jsxs)(C.Fragment,{children:[q?(0,C.jsx)(a,{label:D(`teams/actions/discard`),onClick:()=>P(null)}):null,(0,C.jsx)(a,{label:D(`teams/actions/delete`),variant:`danger`,onClick:()=>void E.commands.execute(t===`teams`?`ahp.deleteTeam`:`ahp.deleteProject`,{host:e,id:f})})]})]}):null,O||!_(A,`users`)?null:(0,C.jsxs)(`section`,{className:`web-people__members`,"aria-label":D(`teams/named/members`),children:[(0,C.jsx)(l,{variant:`h3`,text:D(`teams/named/members`)}),(0,C.jsx)(`p`,{className:`web-note`,children:D(`teams/${k}/membersHint`)}),M.state===void 0?(0,C.jsx)(c,{label:D(`users/notices/reading`)}):Z.length===0?(0,C.jsx)(`p`,{className:`web-note`,children:D(`teams/named/noMembers`)}):(0,C.jsx)(`ul`,{className:`web-people__member-list`,children:Z.map(t=>{let n=X.find(e=>e.id===t.user);return(0,C.jsxs)(`li`,{className:`web-people__member`,children:[(0,C.jsx)(`button`,{type:`button`,className:`web-people__member-name`,onClick:()=>void E.commands.execute(`ahp.openUser`,{host:e,id:t.user}),children:t.user}),(0,C.jsx)(`span`,{className:`web-people__chips`,children:t.through.map(e=>(0,C.jsxs)(`span`,{className:`web-chip`,"data-on":n.primary===e?`true`:void 0,title:n.primary===e?D(`teams/named/primary`):void 0,children:[e,K?(0,C.jsx)(`button`,{type:`button`,className:`web-people__chip-drop`,"aria-label":D(`users/user/dropMembership`,{membership:e}),title:D(`users/user/dropMembership`,{membership:e}),onClick:()=>$(n,(n.memberships??[]).filter(t=>t!==e)),children:`×`}):null]},e))})]},t.user)})}),K&&Q.length>0?(0,C.jsxs)(`div`,{className:`web-people__add`,children:[(0,C.jsxs)(`select`,{className:`web-field`,value:F.user,"aria-label":D(`teams/named/addWho`),onChange:e=>I({...F,user:e.target.value}),children:[(0,C.jsx)(`option`,{value:``,children:D(`teams/named/addWho`)}),Q.map(e=>(0,C.jsx)(`option`,{value:e.id,children:e.id},e.id))]}),t===`projects`?(0,C.jsxs)(`select`,{className:`web-field`,value:F.team,"aria-label":D(`teams/named/through`),onChange:e=>I({...F,team:e.target.value}),children:[(0,C.jsx)(`option`,{value:``,children:D(`teams/named/through`)}),ae.map(e=>(0,C.jsx)(`option`,{value:e,children:e},e))]}):null,(0,C.jsx)(a,{label:D(`teams/named/add`),disabled:!ce,onClick:se})]}):null]})]})}export{E as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
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{t as o}from"./useCloseGuard-B4qJKmaF.js";import{t as s}from"./Button-_R1oktDz.js";import{$ as c,I as l,K as u,R as ee,U as d,V as f,W as p,et as te,l as ne,n as m,r as h,s as g,z as re}from"./data-DsJQo1Qk.js";import{a as ie,g as ae,r as oe,y as se}from"./hosts-A0gEDScb.js";import{t as _}from"./emojis-B4zHbUyk.js";import{i as ce}from"./notify-B2F6UAgq.js";import{t as le}from"./Alert-BhdRA0LL.js";import{_ as ue,a as de,c as fe,d as pe,f as me,g as he,h as v,i as ge,l as _e,m as ve,n as ye,o as be,p as xe,r as Se,s as Ce}from"./Composer-DYocj0Ot.js";import{t as we}from"./Text-MPtQvYE-.js";import{S as Te,a as y,c as b,d as Ee,f as x,l as S,n as C,p as De,r as Oe,s as w,v as ke,w as T,x as E}from"./composer-commands-CzjP_L_C.js";import{n as Ae,o as je}from"./pick-CEYUa4kK.js";import{gt as Me,ht as Ne,mt as Pe}from"./index-ddqm5vYD.js";import{t as Fe}from"./trust-ask-ewG_CvW8.js";import{o as Ie}from"./words-1m-GRHoT.js";var D=t(),O=50;function Le(e,t){return/(?:^|\s)@([^\s@]*)$/.exec(e.slice(0,t))?.[1]??null}var Re=e=>e.startsWith(`/`)||/^[A-Za-z]:\//.test(e);async function ze(e,t,n){let r=n.replace(/\\/g,`/`),i=r.lastIndexOf(`/`),a=r.slice(0,i+1),o=r.slice(i+1).toLowerCase(),s=Re(a)?ee(a):a.split(`/`).filter(e=>e!==``).reduce(d,t),c=l(s).replace(/\/+$/,``),u=await g(e).request(`resourceList`,{channel:m,uri:s});return p(u.entries).filter(e=>e.name.toLowerCase().startsWith(o)).slice(0,O).map(e=>{let t=`${c}/${e.name}`;if(e.type===`directory`)return{title:`${e.name}/`,insert:`@${t}/`,folder:!0};let n=`@${t}`;return{title:e.name,insert:n,folder:!1,attachment:T(E(d(s,e.name),!1),n)}})}function k(e,t,n,r=8){let i=n==null?null:f(n),a=new Map;for(let t of e){let e=t.workingDirectories?.[0];if(e===void 0||e===``)continue;let n=f(e);a.set(n,(a.get(n)??0)+1)}let o=[...a].sort((e,t)=>t[1]-e[1]);for(let e of t)a.has(f(e))||o.push([f(e),0]);return o.filter(([e])=>e!==i).slice(0,r).map(([e,t])=>({path:l(e),sessions:t}))}var A=e=>e.replace(/[\\/]+$/,``).split(/[\\/]/).pop()||e;function Be(e,t){let n=e.trim()===``?``:A(e);return t===null?n:`${n} [${t}]`}function Ve(e,t){return t.flatMap(t=>{let n=e.get(h(t).defaultDirectory)??null,r=k(e.get(h(t).sessions)??[],e.get(je(t))??[],n);return[...n===null?[]:[{host:t,path:l(n).replace(/\/+$/,``),sessions:0}],...r.map(e=>({host:t,path:e.path,sessions:e.sessions}))]})}var j=[{keys:`/`,message:`sessions/tips/slash`,needsCommands:!0},{keys:`@`,message:`sessions/tips/mention`},{keys:`+`,message:`sessions/tips/add`},{keys:`Enter`,message:`sessions/tips/enter`},{keys:`Shift+Enter`,message:`sessions/tips/shiftEnter`}],He=e=>j.filter(t=>e||t.needsCommands!==!0),Ue=(e,t)=>e[t%e.length],M=`ahpd-web.new-tip`;function We(){try{let e=Number(window.localStorage.getItem(M));return Number.isInteger(e)&&e>=0?e:0}catch{return 0}}function Ge(e){try{window.localStorage.setItem(M,String(e))}catch{}}var N=u(`ahpd-web.new-tray`);function Ke(){try{return window.localStorage.getItem(N)!==`closed`}catch{return!0}}function qe(e){try{window.localStorage.setItem(N,e?`open`:`closed`)}catch{}}var P=e(),Je=[`/`,`@`],Ye=y(`new`,`session:new`),Xe=`session:new`,Ze=300,Qe=`ahp.new.agent`,$e=`ahp.new.where`;function et({option:e,set:t,open:n}){let{t:r}=i(),{key:a,schema:o,value:s}=e,c=o.title||a,l=o.description===void 0?{}:{title:o.description};if(S(o))return(0,P.jsx)(v,{...ve(e),...l,...o.type===`boolean`?{on:(s??o.default)===!0}:{},onOpen:()=>n(w(a))});if(o.type===`string`||o.type===`number`){let e=s??o.default;return(0,P.jsx)(he,{label:c,...l,value:e==null?``:String(e),onChange:e=>t(o.type===`string`?e:e===``?void 0:Number(e))})}return x(e)?(0,P.jsx)(v,{label:r(`sessions/pills/setting`,{name:c,value:b(e)}),...l}):null}function tt({provider:e,host:t}){let u=a(),{t:d}=i(),f=c()===`multi`,p=n(oe),[he,ve]=(0,D.useState)(()=>t??Pe()),y=f?Ne((p??[]).map(e=>e.id),he)??``:ne(),b=ae(),x=n(h(y).agents)??[],S=n(h(y).defaultDirectory),[w,T]=(0,D.useState)(e??``),[E,je]=(0,D.useState)(``),[O,Re]=(0,D.useState)(``),[k,A]=(0,D.useState)(``),[j,M]=(0,D.useState)({}),[N,tt]=(0,D.useState)(null),[F,nt]=(0,D.useState)({}),[rt,it]=(0,D.useState)(!1),[at,ot]=(0,D.useState)(null),[st,I]=(0,D.useState)(null),[L,ct]=(0,D.useState)([]),R=(0,D.useRef)(null);o(()=>k.trim()!==``||L.length>0?d(`sessions/new/unsent`):null),(0,D.useEffect)(()=>{w===``&&x[0]!==void 0&&T(x[0].provider)},[x,w]),(0,D.useEffect)(()=>{E===``&&S!=null&&je(l(S))},[S,E]),(0,D.useEffect)(()=>ye(R.current),[k]);let z=E.trim()===``?void 0:ee(E),lt=JSON.stringify([w,z,j]);(0,D.useEffect)(()=>{if(w===``)return;let e=!0,t=window.setTimeout(()=>{g(y).request(`resolveSessionConfig`,{channel:m,provider:w,...z===void 0?{}:{workingDirectory:z},config:j}).then(t=>{if(!e)return;let n=t;tt({schema:n.schema.properties,values:n.values})}).catch(()=>{e&&tt(null)})},Ze);return()=>{e=!1,window.clearTimeout(t)}},[lt]);let ut=Object.entries(N?.schema??{}).filter(([,e])=>e.enumDynamic===!0).map(([e])=>e).join(`
|
|
2
|
+
`);(0,D.useEffect)(()=>{if(ut===``)return;let e=!0;for(let t of ut.split(`
|
|
3
|
+
`))g(y).request(`sessionConfigCompletions`,{channel:m,provider:w,...z===void 0?{}:{workingDirectory:z},config:j,property:t}).then(n=>{let r=n.items;e&&nt(e=>({...e,[t]:r.map(e=>({value:e.value,label:e.label}))}))}).catch(()=>void 0);return()=>{e=!1}},[ut,w,z]);let B=x.find(e=>e.provider===w),dt=(0,D.useMemo)(()=>de(Ie(B?.customizations)),[B]),[ft]=(0,D.useState)(We);(0,D.useEffect)(()=>Ge(ft+1),[ft]);let pt=Ue(He(dt.length>0),ft),[mt,ht]=(0,D.useState)(Ke),gt=e=>{ht(e),qe(e)},_t=E.replace(/[\/]+$/,``).split(/[\/]/).pop()??``;(0,D.useEffect)(()=>{let e=be(u,Xe,dt,C);return()=>e.dispose()},[u,dt]);let V=(0,D.useCallback)(e=>{I(e),requestAnimationFrame(()=>{let t=R.current;t!==null&&(t.focus(),t.setSelectionRange(e,e))})},[]),H=(0,D.useCallback)(e=>{ct(t=>t.some(t=>Te(t,e))?t:[...t,e])},[]),vt=(0,D.useRef)(null),U=(0,D.useCallback)(async e=>{let t=await ke(Array.from(e??[]));for(let e of t.attached)H(e);t.refused.length>0&&ce(d(`sessions/upload/notAttached`),{description:d(`sessions/upload/refused`,{names:t.refused.join(`, `)})})},[H,d]),W=(0,D.useRef)(k);W.current=k;let G=(0,D.useRef)(st);G.current=st;let yt=(0,D.useCallback)(e=>{let t=G.current??W.current.length,n=W.current.slice(0,t),r=n===``||/\s$/.test(n)?``:` `;A(`${n}${r}${e}${W.current.slice(t)}`),V(n.length+r.length+e.length)},[V]),K=Ce({host:y,attach:H,insert:yt,upload:e=>void U(e)}),bt=(0,D.useCallback)(async()=>{let e=Le(W.current,G.current??W.current.length);if(e===null||z===void 0)return[];try{return(await ze(y,z,e)).map(e=>({title:e.title,onSelect:t=>{if(e.folder){t.replaceActiveToken(e.insert);return}t.replaceActiveToken(`${e.insert} `),e.attachment!==void 0&&H(e.attachment)}}))}catch{return[]}},[z,H]),[xt,St]=(0,D.useState)(!1),q=ue({input:k,setInput:A,caretIndex:st,panelDataContext:Ye,slashSlot:C,prefixes:Je,mentionProvider:bt,onCaretChange:V}),Ct=(0,D.useMemo)(()=>Object.entries(N?.schema??{}).filter(([e,t])=>t.readOnly!==!0&&e!==`model`),[N]),J=N?.schema.model,Y=(0,D.useMemo)(()=>J===void 0?(B?.models??[]).map(e=>({id:e.id,name:e.name})):(F.model??(J.enum??[]).map((e,t)=>({value:String(e),label:J.enumLabels?.[t]??String(e)}))).map(e=>({id:e.value,name:e.label})),[J,F,B]),wt=Y.find(e=>e.id===O)?.name??O,Tt=pe(B?.models.find(e=>e.id===O),void 0),Et=e=>(0,P.jsx)(et,{option:e,set:t=>M(n=>({...n,[e.key]:t})),open:$},e.key),X=(0,D.useMemo)(()=>Ct.map(([e,t])=>{let n=F[e];return{key:e,schema:n===void 0?t:{...t,enum:n.map(e=>e.value),enumLabels:n.map(e=>e.label)},value:j[e]??N?.values[e]}}),[Ct,F,j,N]),Dt=X.map(e=>e.key).join(`
|
|
4
|
+
`);(0,D.useEffect)(()=>{let e=Ee(u,X);return()=>e.dispose()},[u,Dt]);let Z=(0,D.useCallback)(e=>{T(e),Re(``),M({}),nt({})},[]),Ot=(0,D.useCallback)((e,t)=>{e!==Q.current.host&&(ve(e),Me(e),Z(``)),je(t)},[Z]),Q=(0,D.useRef)({attach:H,upload:U,focusCaret:V,models:Y,model:O,options:X,pickAgent:Z,agents:x,provider:w,pickWhere:Ot,host:y,folder:E,hostList:p,hostName:b});Q.current={attach:H,upload:U,focusCaret:V,models:Y,model:O,options:X,pickAgent:Z,agents:x,provider:w,pickWhere:Ot,host:y,folder:E,hostList:p,hostName:b},(0,D.useEffect)(()=>u.commands.register({id:$e,title:()=>r(`sessions/new/where`),description:()=>r(`sessions/new/whereHint`),category:`Session`,slots:[C],run:e=>{let t=Q.current,n=c()===`multi`,i=n?(t.hostList??[]).map(e=>e.id):[t.host],a=i.filter(t=>se(e.store.get(h(t).connection),e.store.get(h(t).refused))===`connected`),o=t=>{let n=e.store.get(h(t).defaultDirectory)??null,i=n===null?null:l(n).replace(/\/+$/,``);Ae({host:t,title:r(`sessions/new/where`),start:i===null?`/`:`${i}/`,home:i}).then(e=>{e!==null&&Q.current.pickWhere(t,e.replace(/[\\/]+$/,``)||e)})};e.host?.pushList({title:r(`sessions/new/where`),items:[...Ve(e.store,a).map(e=>({title:Be(e.path,n?t.hostName(e.host):null),description:e.path,icon:_.folder,group:r(`sessions/new/recent`),active:e.host===t.host&&e.path===t.folder.replace(/[\\/]+$/,``),onSelect:n=>{n.closeMenu(),t.pickWhere(e.host,e.path)}})),...a.map(e=>({title:n?r(`sessions/new/folders`,{host:t.hostName(e)}):r(`sessions/new/openFolder`),icon:n?_.host:_.open,group:r(`sessions/new/browse`),onSelect:t=>{t.closeMenu(),o(e)}})),...n&&te!==void 0?[{title:r(`sessions/new/remote`),icon:_.host,group:r(`sessions/new/hosts`),onSelect:t=>{t.pushList({title:r(`sessions/new/remote`),items:[...i.map(t=>({title:ie(e.store,t),icon:_.host,description:r(`sessions/new/manageHost`),onSelect:e=>{e.closeMenu(),te?.manageHosts({edit:t})}})),{title:r(`sessions/new/addHost`),icon:`+`,onSelect:e=>{e.closeMenu(),te?.manageHosts({add:!0})}}]})}}]:[]]})}}).dispose,[u]),(0,D.useEffect)(()=>u.commands.register({id:Qe,title:()=>r(`sessions/new/agent`),description:()=>r(`sessions/new/agentHint`),category:`Session`,shortcut:`/agent`,slots:[C],run:e=>{let t=Q.current;e.host?.pushList({title:r(`sessions/new/agent`),sentinel:`/agent`,items:t.agents.map(e=>({title:e.displayName,active:e.provider===t.provider,onSelect:n=>{t.pickAgent(e.provider),n.closeMenu()}}))})}}).dispose,[u]),(0,D.useEffect)(()=>Oe(Ye,{models:()=>Q.current.models,model:()=>Q.current.model===``?void 0:Q.current.model,setModel:e=>Re(e??``),options:()=>Q.current.options,setOption:(e,t)=>M(n=>({...n,[e]:t})),running:()=>!1,stop:()=>void 0,session:()=>``,host:()=>Q.current.host,attach:e=>Q.current.attach(e),type:e=>{let t=De(W.current,G.current??W.current.length,e);A(t.text),Q.current.focusCaret(t.caret)},upload:()=>vt.current?.click(),changed:()=>[]}),[]);function $(e){let t=q.openCommand(e);V(t??R.current?.value.length??k.length)}let kt=async()=>{if(w===``)return;it(!0),ot(null);let e=`${w}:/${re()}`,t=k.trim(),{model:n,...r}=j;try{if(z!==void 0&&await Fe(u.store,y,z)===`closed`)return;if(await g(y).request(`createSession`,{channel:e,provider:w,...z===void 0?{}:{workingDirectories:[z]},...Object.keys(r).length===0?{}:{config:r}}),Me(y),await u.commands.execute(`ahp.openSession`,{host:y,resource:e}),u.surfaces.close(`session:new`),t!==``||L.length>0){let n=(await g(y).readOnce(e))?.defaultChat;if(n!==void 0){let e=Se(t,O===``?void 0:O,L);g(y).dispatch(n,{type:`chat/turnStarted`,turnId:re(),startedAt:new Date().toISOString(),message:e})}}}catch(e){ot(e instanceof Error?e.message:String(e))}finally{it(!1)}},At=(0,P.jsx)(v,{label:E.trim()===``?d(`sessions/new/where`):Be(E,f?b(y):null),title:d(`sessions/new/whereHint`),onOpen:()=>$($e)});if(x.length===0)return(0,P.jsxs)(`div`,{className:`web-new`,children:[f?At:null,(0,P.jsx)(le,{tone:`warning`,message:d(`sessions/new/noAgent`)})]});let jt=d(`sessions/new/agentPill`,{name:B?.displayName??w});return(0,P.jsxs)(`div`,{className:`web-new`,children:[(0,P.jsx)(we,{variant:`h2`,text:d(`sessions/commands/newSession`)}),B?.description===void 0||B.description===``?null:(0,P.jsx)(`p`,{className:`web-note`,children:B.description}),(0,P.jsxs)(`div`,{className:`web-composer web-new__composer`,children:[q.pickerNode===null||xt?null:(0,P.jsx)(`div`,{className:`web-composer__picker`,children:q.pickerNode}),mt?(0,P.jsxs)(`div`,{className:`web-composer__where web-new__tray`,children:[At,(0,P.jsx)(v,{label:jt,title:d(`sessions/new/agentHint`),onOpen:()=>$(Qe)}),(0,P.jsx)(`button`,{type:`button`,className:`web-new__tray-fold`,"aria-expanded":!0,"aria-label":d(`sessions/new/fold`),title:d(`sessions/new/fold`),onClick:()=>gt(!1),children:_.caretDown})]}):(0,P.jsx)(`div`,{className:`web-composer__where web-new__tray`,children:(0,P.jsxs)(`button`,{type:`button`,className:`web-chip web-new__tray-head`,"aria-expanded":!1,title:d(`sessions/new/unfold`),onClick:()=>gt(!0),children:[(0,P.jsx)(`span`,{"aria-hidden":`true`,children:_.caretRight}),jt,_t===``?null:` · ${_t}`]})}),(0,P.jsxs)(`div`,{className:`web-composer__box`,"data-drop":K.dropping??void 0,onDragOver:K.onDragOver,onDragLeave:K.onDragLeave,onDrop:K.onDrop,onPaste:K.onPaste,children:[(0,P.jsx)(_e,{attachments:L,folder:z,onRemove:e=>ct(t=>t.filter((t,n)=>n!==e))}),(0,P.jsx)(`div`,{className:`web-composer__bar`,children:(0,P.jsx)(`textarea`,{ref:R,className:`web-composer__text`,rows:3,value:k,"aria-label":d(`sessions/new/firstMessage`),placeholder:d(`sessions/composer/placeholder`),onChange:e=>{A(e.currentTarget.value),I(e.currentTarget.selectionStart)},onFocus:()=>u.store.set(ge,Xe),onKeyUp:e=>I(e.currentTarget.selectionStart),onClick:e=>I(e.currentTarget.selectionStart),onKeyDown:e=>{q.handleMenuKeyDown(e)||e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing&&(e.preventDefault(),kt())}})}),(0,P.jsxs)(`div`,{className:`web-composer__foot`,children:[(0,P.jsx)(fe,{host:y,path:Ye,onOpenChange:St}),(0,P.jsx)(`input`,{ref:vt,type:`file`,multiple:!0,hidden:!0,onChange:e=>{U(e.currentTarget.files),e.currentTarget.value=``}}),(0,P.jsxs)(`div`,{className:`web-composer__chips web-composer__chips--left`,children:[X.filter(e=>me(e)===`left`).map(Et),N===null&&w!==``?(0,P.jsx)(v,{label:d(`sessions/new/readingSettings`)}):null]}),(0,P.jsxs)(`div`,{className:`web-composer__chips web-composer__chips--right`,children:[Y.length===0?null:(0,P.jsx)(v,{...xe(wt===``?d(`sessions/values/default`):wt),title:d(`sessions/new/modelHint`),onOpen:()=>$(`ahp.composer.model`)}),X.filter(e=>me(e)===`right`).map(Et),Tt===null?null:(0,P.jsx)(`span`,{className:`web-composer__context`,title:Tt.title,children:Tt.text})]}),(0,P.jsx)(s,{label:rt?d(`sessions/new/starting`):k.trim()===``&&L.length===0?d(`sessions/new/create`):d(`sessions/new/start`),variant:`primary`,size:`sm`,title:d(`sessions/new/startHint`),disabled:rt||w===``,onClick:()=>void kt()})]})]})]}),(0,P.jsxs)(`p`,{className:`web-new__tip`,children:[(0,P.jsx)(`kbd`,{children:pt.keys}),` `,d(pt.message)]}),at===null?null:(0,P.jsx)(le,{tone:`danger`,title:d(`sessions/new/notCreated`),message:at})]})}export{tt 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 u}from"./hosts-A0gEDScb.js";import{t as d}from"./Text-MPtQvYE-.js";import{t as f}from"./SchemaForm-uhkLDWDC.js";import{ct as p,gt as m,nt as h,pt as g,rt as _}from"./index-ddqm5vYD.js";import{t as v}from"./PageAlert-B8ulCXV4.js";import{n as y}from"./actions-CFnmwNqb.js";var b=t();function x(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function S(e){let t={};for(let[n,r]of Object.entries(x(e?.properties)??{})){let e=x(r);if(e===null||Array.isArray(e.enum)&&e.enum.length===1)continue;let{"x-choices":i,...a}=e;t[n]=Array.isArray(i)?{...a,"x-enumOptions":i.map(x).filter(e=>e!==null&&typeof e.value==`string`).map(e=>({value:e.value,label:typeof e.title==`string`?e.title:e.value,...typeof e.description==`string`?{description:e.description}:{}}))}:a}return{type:`object`,properties:t}}function C(e){let t={};for(let[n,r]of Object.entries(e))if(typeof r==`string`)r.trim()!==``&&(t[n]=r.trim());else if(Array.isArray(r)){let e=r.filter(e=>typeof e!=`string`||e.trim()!==``).map(e=>typeof e==`string`?e.trim():e);e.length>0&&(t[n]=e)}else r!=null&&(t[n]=r);return t}function w(e){let t=e.trim();if(t===``)return`nameEmpty`;if(/[\\/?]/.test(t))return`nameSlash`;if(t===`.`||t===`..`)return`nameDots`}var T=e();function E({host:e}){let t=i(),{t:x}=r(),E=g(l(),h),D=u(),[O,k]=(0,b.useState)(e),A=n(c(O).offers)??s,j=A.providers[_]?.manifest,M=o()===`multi`&&E.length>1,N=(0,b.useMemo)(()=>({type:`object`,properties:{...M?{host:{type:`string`,title:x(`computers/new/host`),enum:E,"x-enumOptions":E.map(e=>({value:e,label:D(e)}))}}:{},name:{type:`string`,title:x(`computers/new/name`),description:x(`computers/new/nameHint`)},...S(j).properties}}),[M,E,D,j,x]),[P,F]=(0,b.useState)({host:e}),I=typeof P.name==`string`?P.name:``,L=e=>{if(typeof e.host==`string`&&e.host!==O){k(e.host),m(e.host),F({host:e.host,name:e.name});return}F(e)},[R,z]=(0,b.useState)(!1),[B,V]=(0,b.useState)(null);if(!y(A,`write`))return(0,T.jsx)(v,{tone:`warning`,message:x(`computers/new/noCreate`)});let H=w(I);return(0,T.jsxs)(`div`,{className:`web-page web-form`,children:[(0,T.jsx)(d,{variant:`h2`,text:x(`computers/commands/new`)}),(0,T.jsx)(f,{schema:N,value:P,onChange:L,errors:H===void 0||H===`nameEmpty`?{}:{name:x(`computers/new/${H}`)},jsonTextRoot:!1}),B===null?null:(0,T.jsx)(v,{tone:`danger`,message:B}),(0,T.jsxs)(`div`,{className:`web-page__actions`,children:[(0,T.jsx)(a,{label:x(`computers/new/create`),variant:`primary`,disabled:H!==void 0||R,onClick:()=>{z(!0),V(null);let e=I.trim(),{name:n,host:r,...i}=P;p(O,A,e,C(i)).then(()=>{t.surfaces.close(`computer:new`),t.commands.execute(`ahp.openComputer`,{host:O,id:e})},e=>{V(e instanceof Error?e.message:String(e)),z(!1)})}}),(0,T.jsx)(a,{label:x(`computers/new/cancel`),onClick:()=>t.surfaces.close(`computer:new`)})]})]})}export{E as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./useI18n-T3BwAm0z.js";import{n}from"./ScenaProvider-6A3TJumQ.js";import{t as r}from"./Tree-DoJ8zO-u.js";import{Bt as i,Rt as a,zt as o}from"./index-ddqm5vYD.js";var s=e();function c({mount:e}){let t=n(),r=a(e.props?.title??t.components.get(e.component.component)?.props?.title);return(0,s.jsx)(`span`,{title:r,children:r||e.key})}function l(){let e=n(),{t:a}=t(),l=o(`main`),u=i().surfaces.main?.activeContainerKey??null,d=l.map(t=>{let n=t.props?.icon??e.components.get(t.component.component)?.props?.icon;return{key:t.key,label:(0,s.jsx)(c,{mount:t}),...n===void 0?{}:{icon:n},data:t,trailing:(0,s.jsx)(`button`,{type:`button`,className:`web-open-editors__close`,title:a(`folders/openEditors/close`),"aria-label":a(`folders/openEditors/close`),onClick:n=>{n.stopPropagation(),e.surfaces.requestClose(t.key)},children:`✕`})}});return(0,s.jsx)(r,{nodes:d,selectedKey:u,onSelect:t=>e.surfaces.focus(t.key),emptyState:(0,s.jsx)(`p`,{className:`web-note web-explorer__empty`,children:a(`folders/openEditors/empty`)})})}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{l as r,t as i}from"./useI18n-T3BwAm0z.js";import{n as a}from"./ScenaProvider-6A3TJumQ.js";import{t as o}from"./Button-_R1oktDz.js";import{a as s}from"./locales-DOA2j2AT.js";import{$ as c,F as l,I as u,it as d,r as f,s as p,t as m}from"./data-DsJQo1Qk.js";import{t as h}from"./Badge-BDEW5PFb.js";import{t as g}from"./Spinner-CBEPv0eM.js";import{t as _}from"./Markdown-_Awuh7Ku.js";import{t as v}from"./Alert-BhdRA0LL.js";import{t as y}from"./Text-MPtQvYE-.js";import{t as b}from"./DetailList-Yalgw0YM.js";import{Ct as x,St as S,Tt as C,_t as w,wt as T,xt as E}from"./index-ddqm5vYD.js";import{n as D}from"./HostLines-CtIqw3A0.js";import{r as O}from"./turn-z1TPlA5Q.js";import{t as k}from"./PageAlert-B8ulCXV4.js";import{t as A}from"./channel-BWOXaftf.js";import{a as j,i as M,r as N,t as P}from"./actions-CkDFjYZd.js";var F=t(),I=e(),L={running:`info`,failed:`danger`,on:`success`,off:`default`},R={pending:`default`,running:`info`,completed:`success`,failed:`danger`,cancelled:`default`};function z(e){let t=e;if(String(t.kind)!==`trigger`)return r(`automations/origin/byHand`);let n=t.catchUp===!0?`catchUp`:`scheduled`;return t.scheduledFor===void 0?r(`automations/origin/${n}`):r(`automations/origin/${n}For`,{time:T(t.scheduledFor)})}var B=e=>(0,I.jsx)(`span`,{className:`web-lines`,children:e.map((e,t)=>(0,I.jsx)(`span`,{children:e},t))});function V(e,t){let{definition:n}=t,i=n.session,a=i.workingDirectories??[],o=n.triggers.filter(e=>`schedule`in e),l=n.triggers.filter(e=>!(`schedule`in e)),d=(n.disableConditions??[]).map(e=>`max`in e?s(`automations/facts/afterRuns`,e.max):r(`automations/facts/afterDate`,{date:T(e.date)})),f=[...c()===`multi`?[{label:r(`common/host`),value:(0,I.jsx)(D,{host:e})}]:[],{label:r(`automations/facts/agent`),value:i.provider??r(`automations/defaults/host`)},{label:r(`automations/facts/model`),value:i.model?.id??r(`automations/defaults/agent`)}];a.length>0&&f.push({label:r(`automations/facts/folder`),value:B(a.map(u))}),i.config!==void 0&&Object.keys(i.config).length>0&&f.push({label:r(`automations/facts/settings`),value:B(Object.entries(i.config).map(([e,t])=>`${e}: ${String(t)}`))});for(let e of o)`schedule`in e&&(f.push({label:r(`automations/facts/schedule`),value:B([w(e.schedule.expression),(0,I.jsx)(`span`,{className:`web-method`,children:`${e.schedule.expression} \u{00B7} ${e.schedule.timeZone}`},`raw`)])}),f.push({label:r(`automations/facts/missedRuns`),value:r(String(e.misfirePolicy)===`runOnce`?`automations/facts/runOnce`:`automations/facts/skipped`)}));o.length===0&&l.length===0&&f.push({label:r(`automations/facts/schedule`),value:r(`automations/facts/byHandOnly`)});for(let e of l)`schedule`in e||f.push({label:r(`automations/facts/event`),value:`${e.title}${e.events.length===0?``:`: ${e.events.map(e=>e.title).join(`, `)}`}`});return d.length>0&&f.push({label:r(`automations/facts/turnsOff`),value:B(d)}),t.nextRunAt!==void 0&&n.enabled&&f.push({label:r(`automations/facts/nextRun`),value:T(t.nextRunAt)}),f.push({label:r(`automations/facts/runs`),value:String(t.runCount??t.runs.length)}),(t.customizations?.length??0)>0&&f.push({label:r(`automations/facts/customizations`),value:String(t.customizations?.length)}),f.push({label:r(`automations/facts/created`),value:T(t.createdAt)},{label:r(`automations/facts/changed`),value:T(t.modifiedAt)}),f}function H({host:e,resource:t}){let r=a(),{t:s}=i(),{state:c,error:u}=A(e,m,d),w=n(f(e).automationCaps),[D,B]=(0,F.useState)(null);if(u!==null)return(0,I.jsx)(k,{tone:`danger`,title:s(`automations/notices/none`),message:u});if(c===void 0)return(0,I.jsx)(g,{label:s(`automations/notices/reading`)});let H=c.entries.find(e=>e.resource===t);if(H===void 0)return(0,I.jsx)(k,{tone:`warning`,message:s(`automations/notices/gone`)});let U=e=>H.operations.map(String).includes(e),W=x(H),G=S(H),K=e=>B(e instanceof Error?e.message:String(e));return(0,I.jsxs)(`div`,{className:`web-page`,children:[(0,I.jsxs)(`div`,{className:`web-page__head`,children:[(0,I.jsxs)(`div`,{className:`web-chat__title`,children:[(0,I.jsx)(y,{variant:`h2`,text:C(H)}),(0,I.jsx)(h,{tone:L[W],text:s(`automations/state/${W}`)})]}),(0,I.jsxs)(`div`,{className:`web-page__actions`,children:[U(`run`)?(0,I.jsx)(o,{label:s(`automations/actions/runNow`),variant:`primary`,onClick:()=>void M(e,H).catch(K)}):null,U(`update`)?(0,I.jsx)(o,{label:s(H.definition.enabled?`automations/actions/turnOff`:`automations/actions/turnOn`),onClick:()=>j(e,H,!H.definition.enabled)}):null,U(`update`)?(0,I.jsx)(o,{label:s(`automations/actions/edit`),onClick:()=>void r.commands.execute(`ahp.editAutomation`,{host:e,resource:H.resource})}):null,U(`remove`)?(0,I.jsx)(o,{label:s(`automations/actions/delete`),onClick:()=>void N(e,H)}):null]})]}),D===null?null:(0,I.jsx)(v,{tone:`danger`,message:D}),(0,I.jsx)(b,{items:V(e,H),columns:2}),(0,I.jsx)(y,{variant:`h3`,text:s(`automations/page/message`)}),(0,I.jsx)(`div`,{className:`web-automation__message`,children:(0,I.jsx)(_,{text:H.definition.message.text})}),(0,I.jsx)(y,{variant:`h3`,text:s(`automations/page/runs`)}),G.length===0?(0,I.jsx)(`p`,{className:`web-note`,children:s(`automations/page/noRuns`)}):(0,I.jsxs)(`table`,{className:`web-runs`,children:[(0,I.jsx)(`thead`,{children:(0,I.jsxs)(`tr`,{children:[(0,I.jsx)(`th`,{children:s(`automations/page/columns/status`)}),(0,I.jsx)(`th`,{children:s(`automations/page/columns/how`)}),(0,I.jsx)(`th`,{children:s(`automations/page/columns/started`)}),(0,I.jsx)(`th`,{children:s(`automations/page/columns/took`)}),(0,I.jsx)(`th`,{children:s(`automations/page/columns/tokens`)}),(0,I.jsx)(`th`,{})]})}),(0,I.jsx)(`tbody`,{children:G.map(t=>{let n=E(t),i=R[n.status],a=i===void 0?{tone:`default`,text:n.status}:{tone:i,text:s(`automations/run/${n.status}`)},c=n.status===`running`||n.status===`pending`;return(0,I.jsxs)(`tr`,{children:[(0,I.jsxs)(`td`,{children:[(0,I.jsx)(h,{tone:a.tone,text:a.text}),n.error===void 0?null:(0,I.jsx)(`div`,{className:`web-note`,children:n.error})]}),(0,I.jsx)(`td`,{children:z(t.origin)}),(0,I.jsx)(`td`,{children:T(n.at)}),(0,I.jsx)(`td`,{children:n.took===void 0?``:l(n.took)}),(0,I.jsx)(`td`,{children:n.input===void 0&&n.output===void 0?``:`\u{2191}${O(n.input??0)} \u{2193}${O(n.output??0)}`}),(0,I.jsxs)(`td`,{className:`web-runs__actions`,children:[t.primarySession===void 0?null:(0,I.jsx)(o,{label:s(`automations/page/openSession`),size:`sm`,onClick:()=>void r.commands.execute(`ahp.openSession`,{host:e,resource:t.primarySession})}),c&&w?.runCancellation!==void 0?(0,I.jsx)(o,{label:s(`automations/page/stop`),size:`sm`,onClick:()=>P(e,t.resource)}):null]})]},t.resource)})})]}),H.runsNextCursor===void 0?null:(0,I.jsx)(o,{label:s(`automations/page/loadOlder`),onClick:()=>void p(e).request(`fetchAutomationRuns`,{channel:m,automation:H.resource,cursor:H.runsNextCursor}).catch(K)})]})}export{H as default};
|