@ahpd/web 0.1.0 → 0.3.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 +18 -0
- package/dist/app/assets/ActionList-aOUHK9Z9.js +1 -0
- package/dist/app/assets/AudioPage-BCuwTLKN.js +1 -0
- package/dist/app/assets/Composer-Crdqrcjj.js +2 -0
- package/dist/app/assets/ContextMenu-BV1gdog0.js +1 -0
- package/dist/app/assets/CopyButton-DWmFc5fw.js +1 -0
- package/dist/app/assets/{DataTable-DsRcsDHs.js → DataTable-D9RxuuR3.js} +1 -1
- package/dist/app/assets/Details-BhWMrDPk.js +1 -0
- package/dist/app/assets/DiffPage-D8wjIu2g.js +3 -0
- package/dist/app/assets/Edit-B12zsW3c.js +1 -0
- package/dist/app/assets/Explorer-BR0vyz4x.js +1 -0
- package/dist/app/assets/Explorer-C2wZaZN2.js +1 -0
- package/dist/app/assets/{Explorer-DXZ2epSi.js → Explorer-CViecqG_.js} +1 -1
- package/dist/app/assets/Explorer-DLH41MqT.js +1 -0
- package/dist/app/assets/Explorer-z4mktaMi.js +1 -0
- package/dist/app/assets/{ExplorerList-Cecr_ZQS.js → ExplorerList-DfesRs43.js} +1 -1
- package/dist/app/assets/FilePage-CErxqbDp.js +3 -0
- package/dist/app/assets/Filter-DohSRUkD.js +1 -0
- package/dist/app/assets/HostSwitcher-BuSTjyO6.js +1 -0
- package/dist/app/assets/ImagePage-B-n1btEA.js +1 -0
- package/dist/app/assets/{Info-1oWO89--.js → Info-BbyvhG4Q.js} +1 -1
- package/dist/app/assets/LocaleToggle-CETgRIRf.js +1 -0
- package/dist/app/assets/{LogPage-DXOU5UzZ.js → LogPage-C_h99NtQ.js} +1 -1
- package/dist/app/assets/LoginForm-p7rsv-LJ.js +1 -0
- package/dist/app/assets/Markdown-_Awuh7Ku.js +4 -0
- package/dist/app/assets/MarkdownPage-Cv5UyfVY.js +1 -0
- package/dist/app/assets/Modal-BHPfQpzr.js +1 -0
- package/dist/app/assets/MountTitle-Bx_Vo8tF.js +1 -0
- package/dist/app/assets/New-D0REy_20.js +3 -0
- package/dist/app/assets/Page-B3UbQqyT.js +1 -0
- package/dist/app/assets/Page-TDRLt015.js +2 -0
- package/dist/app/assets/Page-cKDPN7cD.js +1 -0
- package/dist/app/assets/Pagination-v2fHA8Hf.js +1 -0
- package/dist/app/assets/PortaLock-ieoqUizB.js +2 -0
- package/dist/app/assets/{SchemaForm-D6mGj6Xh.js → SchemaForm-DKxGZpnK.js} +1 -1
- package/dist/app/assets/Settings-BP67xLx9.js +1 -0
- package/dist/app/assets/{SigillumGate-BVebugTV.js → SigillumGate-DNRuVdn4.js} +1 -1
- package/dist/app/assets/SingleLayout-D0y3xoJg.js +1 -0
- package/dist/app/assets/{SpatialLayout-Bm8uhLD2.js → SpatialLayout-CKZCVibM.js} +1 -1
- package/dist/app/assets/{SplitLayout-BuZpjDyP.js → SplitLayout-7EOWfDlZ.js} +1 -1
- package/dist/app/assets/{StackLayout-CbP6W0Er.js → StackLayout-1wBXKLKy.js} +1 -1
- package/dist/app/assets/StatusDot-CC7gdsot.js +1 -0
- package/dist/app/assets/{TabLayout-AUuJvVjp.js → TabLayout-ClrRSvj1.js} +1 -1
- package/dist/app/assets/{TabPanelLayout-BDz30u7O.js → TabPanelLayout-YGvLy1cR.js} +1 -1
- package/dist/app/assets/{TerminalPage-DbF4N79y.js → TerminalPage-BaFThhYG.js} +3 -3
- package/dist/app/assets/{ThemeModeToggle-B0EIvYRF.js → ThemeModeToggle-D1kTZNm_.js} +1 -1
- package/dist/app/assets/{ThemePicker-DHw8lqsi.js → ThemePicker-BIFeJU_m.js} +1 -1
- package/dist/app/assets/Tree-BAAGdT3c.css +1 -0
- package/dist/app/assets/Tree-BqFzA5wp.js +1 -0
- package/dist/app/assets/VideoPage-DbVVXi0p.js +1 -0
- package/dist/app/assets/WindowControls-BWi1hOPh.js +1 -0
- package/dist/app/assets/actions-BmFc5yoR.js +1 -0
- package/dist/app/assets/changeset-BgSW341C.js +1 -0
- package/dist/app/assets/{channel-BScxZDq2.js → channel-8aIcEm3f.js} +1 -1
- package/dist/app/assets/clicks-B3stbczh.js +1 -0
- package/dist/app/assets/clike-pnxEhJ5P.js +1 -0
- package/dist/app/assets/composer-commands-AmOY6XGO.js +2 -0
- package/dist/app/assets/data-CBWyZN_H.js +2 -0
- package/dist/app/assets/dist-1MAn9CBM.js +1 -0
- package/dist/app/assets/dist-33oU5N7i.js +1 -0
- package/dist/app/assets/dist-B9NMd4es.js +2 -0
- package/dist/app/assets/dist-BDH0Q8eg.js +13 -0
- package/dist/app/assets/dist-BfGIsxxP.js +1 -0
- package/dist/app/assets/dist-BnQxBrCW.js +11 -0
- package/dist/app/assets/dist-Bq_hlZV8.js +1 -0
- package/dist/app/assets/dist-C5-Hv917.js +1 -0
- package/dist/app/assets/dist-CEr2uR4w.js +6 -0
- package/dist/app/assets/dist-CYq92lOO.js +1 -0
- package/dist/app/assets/dist-CxEuuaKq.js +1 -0
- package/dist/app/assets/dist-D9412h7o.js +1 -0
- package/dist/app/assets/dist-DYPX2Ybv.js +23 -0
- package/dist/app/assets/dist-IR189dk6.js +1 -0
- package/dist/app/assets/dist-drsoOe-s.js +9 -0
- package/dist/app/assets/dist-rmKzqdIO.js +1 -0
- package/dist/app/assets/dockerfile-BDePf5PZ.js +1 -0
- package/dist/app/assets/drag-ruzgQUFW.js +1 -0
- package/dist/app/assets/emojis-7RT6GvLa.js +1 -0
- package/dist/app/assets/folder-path-CmVXGhKI.js +1 -0
- package/dist/app/assets/index-BQcTkW2q.css +1 -0
- package/dist/app/assets/index-DBKNxflN.js +14 -0
- package/dist/app/assets/lua-DPCEkfD_.js +1 -0
- package/dist/app/assets/media-C3ferCB3.js +1 -0
- package/dist/app/assets/notify-CJo-T9e2.js +1 -0
- package/dist/app/assets/registry-iidw4F1W.js +1 -0
- package/dist/app/assets/ruby-ChfNwlCY.js +1 -0
- package/dist/app/assets/sessions-BcRKb9k7.js +2 -0
- package/dist/app/assets/shell-DwuoZtxw.js +1 -0
- package/dist/app/assets/state-DRVsnGrf.js +1 -0
- package/dist/app/assets/state-KGSq646f.js +1 -0
- package/dist/app/assets/swift-DKB6_1j6.js +1 -0
- package/dist/app/assets/terminal-BMZxY-St.js +1 -0
- package/dist/app/assets/text-B601jRcP.js +1 -0
- package/dist/app/assets/toml-BPTmHmyx.js +1 -0
- package/dist/app/assets/useCloseGuard-B4qJKmaF.js +1 -0
- package/dist/app/assets/useStoreLabel-BuZT1So6.js +1 -0
- package/dist/app/assets/viewers-MssMDn0e.js +1 -0
- package/dist/app/assets/words-CyqfIDyJ.js +2 -0
- package/dist/app/assets/words-T8-D0K4W.js +1 -0
- package/dist/app/index.html +24 -12
- package/dist/embed/index.d.ts +56 -0
- package/dist/embed/index.js +11 -0
- package/dist/plugin/index.js +14 -1
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/static.js +3 -2
- package/dist/plugin/static.js.map +1 -1
- package/package.json +35 -10
- package/dist/app/assets/ActionList-DZ9lLGRe.js +0 -1
- package/dist/app/assets/Composer-C54KOyHb.js +0 -2
- package/dist/app/assets/ContextMenu-D3PBPRRl.js +0 -1
- package/dist/app/assets/Details-Bgo6JIBm.js +0 -1
- package/dist/app/assets/DiffPage-BFnOf1p9.js +0 -1
- package/dist/app/assets/Edit-DuGIlEIV.js +0 -1
- package/dist/app/assets/Explorer-BkMOyBlc.js +0 -1
- package/dist/app/assets/Explorer-CjLkoKLM.js +0 -1
- package/dist/app/assets/Explorer-CwDdWpNn.js +0 -1
- package/dist/app/assets/FilePage-Bo_9WZiQ.js +0 -1
- package/dist/app/assets/Filter-C9Z9GcBH.js +0 -1
- package/dist/app/assets/LocaleToggle-CBvJEvFm.js +0 -1
- package/dist/app/assets/LoginForm-C7ZmFVLz.js +0 -1
- package/dist/app/assets/Markdown-BaxWPZc1.js +0 -4
- package/dist/app/assets/MarkdownPage-8oL61A0c.js +0 -1
- package/dist/app/assets/Modal-BPnVnP2R.js +0 -1
- package/dist/app/assets/MountTitle-DXPuKAFo.js +0 -1
- package/dist/app/assets/New-DHihaOkV.js +0 -3
- package/dist/app/assets/Page-BkOqYXfd.js +0 -1
- package/dist/app/assets/Page-D7hXrdQj.js +0 -2
- package/dist/app/assets/Page-DOVek_br.js +0 -1
- package/dist/app/assets/Pagination-CmWBkMlC.js +0 -1
- package/dist/app/assets/Palette-CEQLzNFd.js +0 -1
- package/dist/app/assets/PortaLock-CC2pIbs8.js +0 -2
- package/dist/app/assets/Settings-wnbeCcl1.js +0 -1
- package/dist/app/assets/SingleLayout-BNVy245Q.js +0 -1
- package/dist/app/assets/StatusDot-BwqhMthP.js +0 -1
- package/dist/app/assets/actions-DTKyI167.js +0 -1
- package/dist/app/assets/data-BvTv-4oH.js +0 -2
- package/dist/app/assets/diff-eyYjrmkY.js +0 -3
- package/dist/app/assets/emojis-XibTG-gy.js +0 -1
- package/dist/app/assets/index-Cu7ySznN.js +0 -15
- package/dist/app/assets/index-DgTMhxdP.css +0 -1
- package/dist/app/assets/link-DK7OzQXZ.js +0 -1
- package/dist/app/assets/terminal-BSweq0Uj.js +0 -1
- package/dist/app/assets/text-DJDdwKmv.js +0 -1
- package/dist/app/assets/useI18n-BTsfCYkN.js +0 -1
- package/dist/app/assets/useStoreLabel-CK2AU1rh.js +0 -1
- package/dist/app/assets/words-BMjqrsOT.js +0 -1
- package/dist/app/assets/words-CrqnRMW4.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){return RegExp(`^(?:`+e.join(`|`)+`)`,`i`)}function t(e){return RegExp(`^(?:`+e.join(`|`)+`)$`,`i`)}var n=t(`_G,_VERSION,assert,collectgarbage,dofile,error,getfenv,getmetatable,ipairs,load,loadfile,loadstring,module,next,pairs,pcall,print,rawequal,rawget,rawset,require,select,setfenv,setmetatable,tonumber,tostring,type,unpack,xpcall,coroutine.create,coroutine.resume,coroutine.running,coroutine.status,coroutine.wrap,coroutine.yield,debug.debug,debug.getfenv,debug.gethook,debug.getinfo,debug.getlocal,debug.getmetatable,debug.getregistry,debug.getupvalue,debug.setfenv,debug.sethook,debug.setlocal,debug.setmetatable,debug.setupvalue,debug.traceback,close,flush,lines,read,seek,setvbuf,write,io.close,io.flush,io.input,io.lines,io.open,io.output,io.popen,io.read,io.stderr,io.stdin,io.stdout,io.tmpfile,io.type,io.write,math.abs,math.acos,math.asin,math.atan,math.atan2,math.ceil,math.cos,math.cosh,math.deg,math.exp,math.floor,math.fmod,math.frexp,math.huge,math.ldexp,math.log,math.log10,math.max,math.min,math.modf,math.pi,math.pow,math.rad,math.random,math.randomseed,math.sin,math.sinh,math.sqrt,math.tan,math.tanh,os.clock,os.date,os.difftime,os.execute,os.exit,os.getenv,os.remove,os.rename,os.setlocale,os.time,os.tmpname,package.cpath,package.loaded,package.loaders,package.loadlib,package.path,package.preload,package.seeall,string.byte,string.char,string.dump,string.find,string.format,string.gmatch,string.gsub,string.len,string.lower,string.match,string.rep,string.reverse,string.sub,string.upper,table.concat,table.insert,table.maxn,table.remove,table.sort`.split(`,`)),r=t([`and`,`break`,`elseif`,`false`,`nil`,`not`,`or`,`return`,`true`,`function`,`end`,`if`,`then`,`else`,`do`,`while`,`repeat`,`until`,`for`,`in`,`local`]),i=t([`function`,`if`,`repeat`,`do`,`\\(`,`{`]),a=t([`end`,`until`,`\\)`,`}`]),o=e([`end`,`until`,`\\)`,`}`,`else`,`elseif`]);function s(e){for(var t=0;e.eat(`=`);)++t;return e.eat(`[`),t}function c(e,t){var n=e.next();return n==`-`&&e.eat(`-`)?e.eat(`[`)&&/[\[=]/.test(e.peek())?(t.cur=l(s(e),`comment`))(e,t):(e.skipToEnd(),`comment`):n==`"`||n==`'`?(t.cur=u(n))(e,t):n==`[`&&/[\[=]/.test(e.peek())?(t.cur=l(s(e),`string`))(e,t):/\d/.test(n)?(e.eatWhile(/[\w.%]/),`number`):/[\w_]/.test(n)?(e.eatWhile(/[\w\\\-_.]/),`variable`):null}function l(e,t){return function(n,r){for(var i=null,a;(a=n.next())!=null;)if(i==null)a==`]`&&(i=0);else if(a==`=`)++i;else if(a==`]`&&i==e){r.cur=c;break}else i=null;return t}}function u(e){return function(t,n){for(var r=!1,i;(i=t.next())!=null&&(i!=e||r);)r=!r&&i==`\\`;return r||(n.cur=c),`string`}}var d={name:`lua`,startState:function(){return{basecol:0,indentDepth:0,cur:c}},token:function(e,t){if(e.eatSpace())return null;var o=t.cur(e,t),s=e.current();return o==`variable`&&(r.test(s)?o=`keyword`:n.test(s)&&(o=`builtin`)),o!=`comment`&&o!=`string`&&(i.test(s)?++t.indentDepth:a.test(s)&&--t.indentDepth),o},indent:function(e,t,n){var r=o.test(t);return e.basecol+n.unit*(e.indentDepth-+!!r)},languageData:{indentOnInput:/^\s*(?:end|until|else|\)|\})$/,commentTokens:{line:`--`,block:{open:`--[[`,close:`]]--`}}}};export{d as lua};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{M as n,T as r}from"./data-CBWyZN_H.js";import{t as i}from"./Spinner-B-iOhBZq.js";import{t as a}from"./Alert-CHZkhmDE.js";import{n as o}from"./index-DBKNxflN.js";import{t as s}from"./text-B601jRcP.js";var c=t(),l=e(),u=67108864,d=e=>`${(e/1024/1024).toFixed(1)} MB`;function f(e){let[t,i]=(0,c.useState)(null);return(0,c.useEffect)(()=>{if(e===void 0)return;let t=!0,a;return i(null),(async()=>{let t=await n(e);return t!==void 0&&t>67108864?{size:t}:(a=URL.createObjectURL(await r(e,o(e))),{url:a})})().then(e=>{t&&i(e)}).catch(e=>{t&&i({error:e instanceof Error?e.message:String(e)})}),()=>{t=!1,a!==void 0&&URL.revokeObjectURL(a)}},[e]),t}function p({uri:e,children:t}){let n=f(e);if(e===void 0)return(0,l.jsx)(a,{tone:`warning`,message:`No file was named.`});let r=(0,l.jsx)(s,{uri:e});return n===null?(0,l.jsxs)(`div`,{className:`web-file`,children:[r,(0,l.jsx)(i,{label:`Reading the file`})]}):`error`in n?(0,l.jsxs)(`div`,{className:`web-file`,children:[r,(0,l.jsx)(a,{tone:`danger`,title:`Not readable`,message:n.error})]}):`size`in n?(0,l.jsxs)(`div`,{className:`web-file`,children:[r,(0,l.jsxs)(`p`,{className:`web-note web-media__note`,children:[`This file is `,d(n.size),`. Files over `,d(u),` are not shown.`]})]}):(0,l.jsxs)(`div`,{className:`web-file`,children:[r,(0,l.jsx)(`div`,{className:`web-file__body web-media`,children:t(n.url)})]})}export{f as n,p as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./jsx-runtime-BguD1OXD.js";import{t as n}from"./react-CybPckBe.js";import{t as r,u as i}from"./useStore-BQkzWMs-.js";import{n as a}from"./ScenaProvider-6A3TJumQ.js";import{t as o}from"./Button-_R1oktDz.js";import{o as s}from"./data-CBWyZN_H.js";import{t as c}from"./emojis-7RT6GvLa.js";import{t as l}from"./ActionList-aOUHK9Z9.js";import{a as u,d,o as f,r as p}from"./terminal-BMZxY-St.js";var m=e((e=>{var t=n();function r(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function i(){}var a={d:{f:i,r:function(){throw Error(r(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},o=Symbol.for(`react.portal`),s=Symbol.for(`react.recoverable`),c=Symbol.for(`react.optimistic_key`);function l(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:r==null?null:r===c?c:``+r,children:e,containerInfo:t,implementation:n}}var u=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function d(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,e.browser=function(e){return{$$typeof:s,_reason:e}},e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(r(299));return l(e,t,null,n)},e.flushSync=function(e){var t=u.T,n=a.p;try{if(u.T=null,a.p=2,e)return e()}finally{u.T=t,a.p=n,a.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,a.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&a.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=d(n,t.crossOrigin),i=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?a.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:i,fetchPriority:o}):n===`script`&&a.d.X(e,{crossOrigin:r,integrity:i,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`){if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=d(t.as,t.crossOrigin);a.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0})}}else t??a.d.M(e)}},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=d(n,t.crossOrigin);a.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`){if(t){var n=d(t.as,t.crossOrigin);a.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0})}else a.d.m(e)}},e.requestFormReset=function(e){a.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return u.H.useFormState(e,t,n)},e.useFormStatus=function(){return u.H.useHostTransitionStatus()},e.version=`19.3.0`})),h=e(((e,t)=>{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=m()})),g=8e3,_=`$/notify/list`,ee=`$/notify/count`,v=`$/notify/history`;function y(e){return[e.source??``,e.type,e.title,e.description??``].join(` `)}function b(e){let t=new Map,n=new Map,r=new Set,i=[],a=[],o=0;function s(t){i=t,e.set(_,[...i]),e.set(ee,i.length)}function c(t){a=[t,...a.filter(e=>e.id!==t.id)].slice(0,100),e.set(v,[...a])}function l(e){for(let n of t.values())if((n.handles===void 0||n.handles(e))&&n.available())try{n.present(e)}catch{}}function u(e){let t=n.get(e);t!==void 0&&(clearTimeout(t),n.delete(e))}function d(e){u(e.id),!(e.dismissAuto===!1||r.has(e.id))&&n.set(e.id,setTimeout(()=>{n.delete(e.id),f(e.id)},e.dismissTime??2e3))}function f(e){if(u(e),r.delete(e),i.some(t=>t.id===e)){s(i.filter(t=>t.id!==e));for(let n of t.values())n.retract?.(e)}}return{publish(e){let t=e.id===void 0?i.find(t=>y(t)===y(e)):i.find(t=>t.id===e.id);if(t!==void 0){let n={...t,...e,id:t.id,count:t.count+1,at:new Date().toISOString()};return s([n,...i.filter(e=>e.id!==t.id)]),c(n),l(n),d(n),n.id}o+=1;let n={...e,id:e.id??`n${o}`,at:new Date().toISOString(),count:1};return s([n,...i]),c(n),l(n),d(n),n.id},dismiss:f,hold(e){r.add(e),u(e)},release(e){if(!r.delete(e))return;let t=i.find(t=>t.id===e);t!==void 0&&d(t)},update(e,t){let n=i.find(t=>t.id===e);if(n===void 0)return;let r={...n,...t,id:e};s(i.map(t=>t.id===e?r:t)),c(r),l(r),d(r)},list:()=>[...i],history:()=>[...a],forget(){a=[],e.set(v,[])},channels:{register(e){return t.set(e.id,e),{dispose:()=>void t.delete(e.id)}}}}}var x;function te(e){return x??=b(e),x}function ne(){x=void 0}function S(){if(x===void 0)throw Error(`Notifications were read before initNotifications ran.`);return x}function C(e){if(x===void 0)return!1;try{return e(x),!0}catch{return!1}}var w=`$/notify/confirm`,T=`$/notify/confirmStyle`,E=`modal`,D,O=0,k=null;function re(e,t){D=e,e.get(`$/notify/confirmStyle`)===void 0&&e.set(T,t)}function ie(){M(!1),D=void 0}function A(){return D?.get(`$/notify/confirmStyle`)??`modal`}function ae(e){D?.set(T,e)}function j(e){return D===void 0||A()===`native`?Promise.resolve(window.confirm(e.body===void 0?e.title:`${e.title}\n\n${e.body}`)):(M(!1),O+=1,D.set(w,{id:O,title:e.title,...e.body===void 0?{}:{body:e.body},confirmLabel:e.confirmLabel??`Confirm`,cancelLabel:e.cancelLabel??`Cancel`,tone:e.tone??`default`}),new Promise(e=>{k=e}))}function M(e){let t=k;k=null,D?.set(w,null),t?.(e)}var N=new Set([`attention`,`action.finished`,`connection.lost`]),P=6e4;function F(){return typeof window<`u`&&`Notification`in window}function I(){return F()&&window.Notification.permission==="default"}function L(){return F()&&window.Notification.permission===`granted`}async function R(){return F()?window.Notification.requestPermission():`denied`}function z(){let e=typeof document>`u`||document.hasFocus()?null:Date.now(),t=new Map,n=()=>{e??=Date.now()},r=()=>{e=null;for(let e of t.values())e.close();t.clear()};return window.addEventListener(`blur`,n),window.addEventListener(`focus`,r),{id:`browser`,handles:e=>N.has(e.type)&&e.alert!==void 0,available:()=>L()?document.visibilityState===`hidden`||e!==null&&Date.now()-e>=P:!1,present:e=>{let n=e.alert;if(n===void 0)return;let r=new window.Notification(n.title,{...n.body===void 0?{}:{body:n.body},tag:e.source??e.id});r.onclick=()=>{window.focus(),r.close()},t.set(e.id,r)},retract:e=>{t.get(e)?.close(),t.delete(e)},dispose:()=>{window.removeEventListener(`blur`,n),window.removeEventListener(`focus`,r);for(let e of t.values())e.close();t.clear()}}}var B=n(),V=t();function H(){let e=r(w),t=(0,B.useRef)(null),n=e?.id;return(0,B.useEffect)(()=>{if(n===void 0)return;t.current?.focus();let e=e=>{e.key===`Escape`&&(e.stopPropagation(),M(!1))};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[n]),e==null?null:(0,V.jsx)(`div`,{className:`web-confirm`,onClick:()=>M(!1),children:(0,V.jsxs)(`div`,{ref:t,tabIndex:-1,className:`web-confirm__card`,role:`alertdialog`,"aria-modal":`true`,"aria-labelledby":`web-confirm-title`,...e.body===void 0?{}:{"aria-describedby":`web-confirm-body`},onClick:e=>e.stopPropagation(),children:[(0,V.jsx)(`h2`,{id:`web-confirm-title`,className:`web-confirm__title`,children:e.title}),e.body===void 0?null:(0,V.jsx)(`p`,{id:`web-confirm-body`,className:`web-confirm__body`,children:e.body}),(0,V.jsxs)(`div`,{className:`web-confirm__buttons`,children:[(0,V.jsx)(o,{type:`button`,size:`sm`,variant:`ghost`,onClick:()=>M(!1),children:e.cancelLabel}),(0,V.jsx)(o,{type:`button`,size:`sm`,variant:e.tone===`danger`?`danger`:`primary`,onClick:()=>M(!0),children:e.confirmLabel})]})]})})}var U={info:c.info,success:c.check,warning:c.warning,danger:c.error},W=4;function G({animation:e=`slide-up`}){let t=r(`$/notify/list`)??[],[n,i]=(0,B.useState)(!1);if(t.length===0)return null;let a=n?t:t.slice(0,W),o=t.length-a.length;return(0,V.jsxs)(`div`,{className:`web-toasts`,role:`region`,"aria-label":`Notifications`,children:[o>0?(0,V.jsx)(`button`,{type:`button`,className:`web-toast__more`,onClick:()=>i(!0),children:`${o} more`}):null,[...a].reverse().map(t=>(0,V.jsx)(K,{notification:t,animation:t.animation??e},t.id))]})}function K({notification:e,animation:t}){let n=a(),[r,i]=(0,B.useState)(!1),s=e.id,l=()=>S().dismiss(s);(0,B.useEffect)(()=>{if(!r)return;let e=S();return e.hold(s),()=>e.release(s)},[s,r]);let u=()=>S().hold(s),d=()=>{r||S().release(s)},f=e=>{n.commands.execute(e.command,e.args),e.dismisses!==!1&&l()};return(0,V.jsxs)(`div`,{className:`web-toast`,"data-tone":e.tone,"data-animation":t,role:e.dismissAuto===!1?`alert`:`status`,onMouseEnter:u,onMouseLeave:d,onFocus:u,onBlur:d,children:[(0,V.jsxs)(`div`,{className:`web-toast__head`,children:[(0,V.jsx)(`span`,{className:`web-toast__icon`,"aria-hidden":`true`,children:e.icon??U[e.tone]}),(0,V.jsx)(`span`,{className:`web-toast__title`,children:e.title}),e.count>1?(0,V.jsx)(`span`,{className:`web-toast__count`,title:`Raised ${e.count} times`,children:`\u{D7}${e.count}`}):null,(0,V.jsx)(`button`,{type:`button`,className:`web-toast__close`,"aria-label":`Dismiss`,onClick:l,children:c.close})]}),e.description===void 0?null:(0,V.jsx)(`p`,{className:`web-toast__body`,children:e.description}),e.detail===void 0?null:(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`button`,{type:`button`,className:`web-toast__link`,onClick:()=>i(!r),children:r?`Hide details`:`Show details`}),r?(0,V.jsx)(`pre`,{className:`web-toast__detail`,children:e.detail}):null]}),e.actions===void 0||e.actions.length===0?null:(0,V.jsx)(`div`,{className:`web-toast__actions`,children:e.actions.map(e=>(0,V.jsx)(o,{type:`button`,size:`sm`,variant:`ghost`,onClick:()=>f(e),children:e.label},e.command))})]})}var q=h(),J=c.terminal;function Y(e,t){let n=f(e.claim,t);return n.kind===`you`?`Yours`:n.kind===`session`?`Held by a session`:`Held by another client`}function oe(e,t){if(!u(e))return Y(e,t);let n=p(e);return`${Y(e,t)}, exited${n===null?``:` with ${n}`}`}function se(e,t){let n=e.store.get(s),r=t.trim().toLowerCase();return(n?.terminals??[]).filter(e=>r===``||`terminal ${d(e)}`.toLowerCase().includes(r)).map(t=>({title:`Terminal: ${d(t)}`,description:oe(t,n?.clientId??null),icon:J,group:`Terminals`,onSelect:n=>{n.closeMenu(),e.commands.execute(`ahp.openTerminal`,{uri:t.resource})}}))}var X=`$/ahp/palette/open`,Z=`ahp:palette`;function Q(){return r(`$/ahp/palette/open`)===!0?(0,q.createPortal)((0,V.jsx)(ce,{}),document.body):null}function ce(){let e=a(),[t,n]=(0,B.useState)(``),i=(0,B.useRef)(null),o=()=>e.store.set(X,!1),c=(0,B.useMemo)(()=>({pushList:()=>void 0,replaceList:()=>void 0,openInline:()=>void 0,openPopover:()=>void 0,back:()=>void 0,closeMenu:o,keepOpen:()=>void 0,insertAtCursor:()=>void 0,replaceActiveToken:()=>void 0,query:``}),[]),u=r(s),d=(0,B.useMemo)(()=>({query:{slot:Z,q:t},extraItems:se(e,t)}),[e,t,u]);return(0,V.jsx)(`div`,{className:`web-palette`,onMouseDown:e=>{e.target===e.currentTarget&&o()},children:(0,V.jsxs)(`div`,{className:`web-palette__box`,role:`dialog`,"aria-label":`Command palette`,onClick:e=>{e.target.closest(`.oo-action-list__row`)!==null&&o()},children:[(0,V.jsx)(`input`,{className:`web-field web-palette__input`,autoFocus:!0,value:t,placeholder:`Type a command or a terminal`,"aria-label":`Command`,onChange:e=>n(e.currentTarget.value),onKeyDown:e=>{if(e.key===`Escape`){e.preventDefault(),o();return}i.current?.handleKey(e)===!0&&e.key===`Enter`&&o()}}),(0,V.jsx)(l,{spec:d,hostCtx:c,manageKeys:!1,ref:i})]})})}function $(e){return{...e.description===void 0?{}:{description:e.description},...e.actions===void 0?{}:{actions:e.actions},...e.source===void 0?{}:{source:e.source},...e.dismissAuto===void 0?{}:{dismissAuto:e.dismissAuto}}}function le(e,t={}){C(n=>{n.publish({type:`action.done`,tone:`success`,icon:t.icon??c.check,title:e,...$(t)})})}function ue(e,t={}){C(n=>{n.publish({type:`attention`,tone:`warning`,icon:t.icon??c.warning,title:e,dismissTime:g,...$(t)})})}function de(e,t,n={}){let r=t instanceof Error?t.message:String(t),i=t instanceof Error?t.stack:void 0;C(t=>{t.publish({type:`action.failed`,tone:`danger`,icon:n.icon??c.warning,title:e,dismissTime:8e3,...$({...n,description:r}),...i===void 0?{}:{detail:i}})})||console.error(e,t)}function fe(e){let t=te(e.store);re(e.store,E);let n=z();return i({dispose:()=>{n.dispose(),ie(),ne()}},e.components.register({component:`Notifications.Toaster`,category:`chrome`,renderer:{kind:`react`,load:async()=>({default:G})}}),e.components.register({component:`Notifications.Confirm`,category:`chrome`,renderer:{kind:`react`,load:async()=>({default:H})}}),t.channels.register({id:`toast`,available:()=>!0,present:()=>void 0}),t.channels.register(n),e.surfaces.mount({surface:`overlay`,key:`notifications:toaster`,resource:{component:`Notifications.Toaster`}}),e.surfaces.mount({surface:`overlay`,key:`notifications:confirm`,resource:{component:`Notifications.Confirm`}}),e.commands.register({id:`notifications.enableAlerts`,title:`Notify me when this tab is in the background`,category:`Notifications`,slots:[Z],run:async()=>{if(L()){t.publish({type:`default`,tone:`success`,title:`Background notifications are already on`});return}if(!I()){t.publish({type:`default`,tone:`warning`,title:`Background notifications are blocked`,description:`The browser will not ask again. Turn them on in the site settings beside the address bar.`,dismissTime:g});return}let e=await R();t.publish({type:`default`,tone:e===`granted`?`success`:`warning`,title:e===`granted`?`Background notifications are on`:`Background notifications were not allowed`})}}),e.commands.register({id:`notifications.confirmStyle`,title:()=>A()===`native`?`Ask in the page's own dialog`:`Ask in the browser's dialog`,category:`Notifications`,slots:[Z],run:()=>ae(A()===`native`?`modal`:`native`)}),e.commands.register({id:`notifications.dismissAll`,title:`Dismiss all notifications`,category:`Notifications`,slots:[Z],run:()=>{for(let e of t.list())t.dismiss(e.id)}}))}export{X as a,J as c,g as d,h as f,ue as i,j as l,le as n,Z as o,de as r,Q as s,fe as t,C as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=new Map,t=new Map,n=new Set,r=`en`,i=`en`;function a(){for(let e of[...n])e()}function o(e){return e.split(/[./]/).filter(Boolean)}function s(e,t){let n=e;for(let e of t){if(typeof n!=`object`||!n)return;n=n[e]}return n}function c(e,t){return e.replace(/\\([{}])|\{(\w+)\}/g,(e,n,r)=>{if(n)return n;if(!t)return e;let i=t[r];return i==null?``:String(i)})}function l(e){let[t,n]=e.split(`-`);return n?{language:t,country:n}:{language:t}}function u(e){e!==r&&(r=e,a())}function d(){return r}function f(){let n=new Map;for(let t of e.keys())n.set(t,{locale:t,...l(t)});for(let[e,r]of t)n.set(e,r);return[...n.values()]}function p(n=r){return t.get(n)??(e.has(n)?{locale:n,...l(n)}:void 0)}function m(t,n=r){let a=o(t);return s(e.get(n),a)??s(e.get(i),a)}function h(e,t=r){let n=m(e,t);return typeof n==`string`?n:void 0}function g(e,t){let n=typeof t==`string`?{fallback:t}:t,r=h(e)??n?.fallback;return r===void 0?`{${o(e).join(`/`)}}`:c(r,n)}function _(e){return n.add(e),()=>void n.delete(e)}export{_ as a,u as i,p as n,g as o,f as r,d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){for(var t={},n=0,r=e.length;n<r;++n)t[e[n]]=!0;return t}var t=`alias.and.BEGIN.begin.break.case.class.def.defined?.do.else.elsif.END.end.ensure.false.for.if.in.module.next.not.or.redo.rescue.retry.return.self.super.then.true.undef.unless.until.when.while.yield.nil.raise.throw.catch.fail.loop.callcc.caller.lambda.proc.public.protected.private.require.load.require_relative.extend.autoload.__END__.__FILE__.__LINE__.__dir__`.split(`.`),n=e(t),r=e([`def`,`class`,`case`,`for`,`while`,`until`,`module`,`catch`,`loop`,`proc`,`begin`]),i=e([`end`,`until`]),a={"[":`]`,"{":`}`,"(":`)`},o={"]":`[`,"}":`{`,")":`(`},s;function c(e,t,n){return n.tokenize.push(e),e(t,n)}function l(e,t){if(e.sol()&&e.match(`=begin`)&&e.eol())return t.tokenize.push(h),`comment`;if(e.eatSpace())return null;var n=e.next(),r;if(n=="`"||n==`'`||n==`"`)return c(p(n,`string`,n==`"`||n=="`"),e,t);if(n==`/`)return u(e)?c(p(n,`string.special`,!0),e,t):`operator`;if(n==`%`){var i=`string`,o=!0;e.eat(`s`)?i=`atom`:e.eat(/[WQ]/)?i=`string`:e.eat(/[r]/)?i=`string.special`:e.eat(/[wxq]/)&&(i=`string`,o=!1);var l=e.eat(/[^\w\s=]/);return l?(a.propertyIsEnumerable(l)&&(l=a[l]),c(p(l,i,o,!0),e,t)):`operator`}if(n==`#`)return e.skipToEnd(),`comment`;if(n==`<`&&(r=e.match(/^<([-~])[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/)))return c(m(r[2],r[1]),e,t);if(n==`0`)return e.eat(`x`)?e.eatWhile(/[\da-fA-F]/):e.eat(`b`)?e.eatWhile(/[01]/):e.eat(`.`)?e.eat(/[\d_]*(?:[eE][+\-]?[\d_]+)?/):e.eatWhile(/[0-7]/),`number`;if(/\d/.test(n))return e.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/),`number`;if(n==`?`){for(;e.match(/^\\[CM]-/););return e.eat(`\\`)?e.eatWhile(/\w/):e.next(),`string`}if(n==`:`)return e.eat(`'`)?c(p(`'`,`atom`,!1),e,t):e.eat(`"`)?c(p(`"`,`atom`,!0),e,t):e.eat(/[\<\>]/)?(e.eat(/[\<\>]/),`atom`):e.eat(/[\+\-\*\/\&\|\:\!]/)?`atom`:e.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(e.eatWhile(/[\w$\xa1-\uffff]/),e.eat(/[\?\!\=]/),`atom`):`operator`;if(n==`@`&&e.match(/^@?[a-zA-Z_\xa1-\uffff]/))return e.eat(`@`),e.eatWhile(/[\w\xa1-\uffff]/),`propertyName`;if(n==`$`)return e.eat(/[a-zA-Z_]/)?e.eatWhile(/[\w]/):e.eat(/\d/)?e.eat(/\d/):e.next(),`variableName.special`;if(/[a-zA-Z_\xa1-\uffff]/.test(n))return e.eatWhile(/[\w\xa1-\uffff]/),e.eat(/[\?\!]/),e.eat(`:`)?`atom`:`variable`;if(n==`|`&&(t.varList||t.lastTok==`{`||t.lastTok==`do`))return s=`|`,null;if(/[\(\)\[\]{}\\;]/.test(n))return s=n,null;if(n==`-`&&e.eat(`>`))return`operator`;if(/[=+\-\/*:\.^%<>~|]/.test(n)){var d=e.eatWhile(/[=+\-\/*:\.^%<>~|]/);return n==`.`&&!d&&(s=`.`),`operator`}return null}function u(e){for(var t=e.pos,n=0,r,i=!1,a=!1;(r=e.next())!=null;)if(a)a=!1;else{if(`[{(`.indexOf(r)>-1)n++;else if(`]})`.indexOf(r)>-1){if(n--,n<0)break}else if(r==`/`&&n==0){i=!0;break}a=r==`\\`}return e.backUp(e.pos-t),i}function d(e){return e||=1,function(t,n){if(t.peek()==`}`){if(e==1)return n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n);n.tokenize[n.tokenize.length-1]=d(e-1)}else t.peek()==`{`&&(n.tokenize[n.tokenize.length-1]=d(e+1));return l(t,n)}}function f(){var e=!1;return function(t,n){return e?(n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n)):(e=!0,l(t,n))}}function p(e,t,n,r){return function(i,a){var o=!1,s;for(a.context.type===`read-quoted-paused`&&(a.context=a.context.prev,i.eat(`}`));(s=i.next())!=null;){if(s==e&&(r||!o)){a.tokenize.pop();break}if(n&&s==`#`&&!o){if(i.eat(`{`)){e==`}`&&(a.context={prev:a.context,type:`read-quoted-paused`}),a.tokenize.push(d());break}if(/[@\$]/.test(i.peek())){a.tokenize.push(f());break}}o=!o&&s==`\\`}return t}}function m(e,t){return function(n,r){return t&&n.eatSpace(),n.match(e)?r.tokenize.pop():n.skipToEnd(),`string`}}function h(e,t){return e.sol()&&e.match(`=end`)&&e.eol()&&t.tokenize.pop(),e.skipToEnd(),`comment`}var g={name:`ruby`,startState:function(e){return{tokenize:[l],indented:0,context:{type:`top`,indented:-e},continuedLine:!1,lastTok:null,varList:!1}},token:function(e,t){s=null,e.sol()&&(t.indented=e.indentation());var a=t.tokenize[t.tokenize.length-1](e,t),o,c=s;if(a==`variable`){var l=e.current();a=t.lastTok==`.`?`property`:n.propertyIsEnumerable(e.current())?`keyword`:/^[A-Z]/.test(l)?`tag`:t.lastTok==`def`||t.lastTok==`class`||t.varList?`def`:`variable`,a==`keyword`&&(c=l,r.propertyIsEnumerable(l)?o=`indent`:i.propertyIsEnumerable(l)?o=`dedent`:((l==`if`||l==`unless`)&&e.column()==e.indentation()||l==`do`&&t.context.indented<t.indented)&&(o=`indent`))}return(s||a&&a!=`comment`)&&(t.lastTok=c),s==`|`&&(t.varList=!t.varList),o==`indent`||/[\(\[\{]/.test(s)?t.context={prev:t.context,type:s||a,indented:t.indented}:(o==`dedent`||/[\)\]\}]/.test(s))&&t.context.prev&&(t.context=t.context.prev),e.eol()&&(t.continuedLine=s==`\\`||a==`operator`),a},indent:function(e,t,n){if(e.tokenize[e.tokenize.length-1]!=l)return null;var r=t&&t.charAt(0),i=e.context,a=i.type==o[r]||i.type==`keyword`&&/^(?:end|until|else|elsif|when|rescue)\b/.test(t);return i.indented+(a?0:n.unit)+(e.continuedLine?n.unit:0)},languageData:{indentOnInput:/^\s*(?:end|rescue|elsif|else|\})$/,commentTokens:{line:`#`},autocomplete:t}};export{g as ruby};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Explorer-z4mktaMi.js","./jsx-runtime-BguD1OXD.js","./react-CybPckBe.js","./notify-CJo-T9e2.js","./useStore-BQkzWMs-.js","./ScenaProvider-6A3TJumQ.js","./mount-context-DZgEFVFG.js","./Button-_R1oktDz.js","./styles-yrzHRgom.js","./_utils-DZVsX11M.js","./Button-CRZ1_3KW.css","./data-CBWyZN_H.js","./emojis-7RT6GvLa.js","./ActionList-aOUHK9Z9.js","./colors-BieSUSt7.js","./ActionList-Bawu-Lja.css","./terminal-BMZxY-St.js","./words-T8-D0K4W.js","./Spinner-B-iOhBZq.js","./Spinner-B56wMtzv.css","./Alert-CHZkhmDE.js","./Icon-CIQ7doud.js","./Icon-BFMW_Ijn.css","./Alert-D6FTUHBY.css","./state-KGSq646f.js","./ExplorerList-DfesRs43.js","./ContextMenu-BV1gdog0.js","./Page-TDRLt015.js","./Badge-BDEW5PFb.js","./Badge-B_GtDNjv.css","./Markdown-_Awuh7Ku.js","./Markdown-D4ts0B_q.css","./Composer-Crdqrcjj.js","./composer-commands-AmOY6XGO.js","./drag-ruzgQUFW.js","./Text-MPtQvYE-.js","./Text-D2KlerVw.css","./turn-BoF7W1h6.js","./CopyButton-DWmFc5fw.js","./clicks-B3stbczh.js","./channel-8aIcEm3f.js","./New-D0REy_20.js","./useCloseGuard-B4qJKmaF.js","./folder-path-CmVXGhKI.js","./words-CyqfIDyJ.js","./Details-BhWMrDPk.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{d as e,o as t,u as n}from"./notify-CJo-T9e2.js";import{u as r}from"./useStore-BQkzWMs-.js";import{n as i,t as a}from"./surface-presentation-CT86pw6J.js";import{t as o}from"./preload-helper-BaNbYf_w.js";import{N as s,c,q as l}from"./data-CBWyZN_H.js";import{t as u}from"./emojis-7RT6GvLa.js";import{c as d}from"./composer-commands-AmOY6XGO.js";import{t as f}from"./state-KGSq646f.js";var p={"sidebar:left":{xsmall:`sheet`,small:`floating`},"sidebar:right":{xsmall:`floating`,small:`floating`},activitybar:{xsmall:`bar`}},m=e=>`session-alert:${e}`;function h(e,t){return e===void 0||e===t?null:t===`input`?`needs-you`:e!==`running`&&e!==`input`?null:t===`idle`?`finished`:t===`error`?`failed`:null}function g(t,n){let r=t.title===``?`Untitled`:t.title,i=[{label:`Open`,command:`ahp.openSession`,args:{resource:t.resource}}],a={id:m(t.resource),source:m(t.resource),actions:i};return n===`needs-you`?{...a,type:`attention`,tone:`warning`,icon:u.warning,title:`${r} needs you`,dismissAuto:!1,alert:{title:r,body:`Needs you`}}:n===`failed`?{...a,type:`action.finished`,tone:`danger`,icon:u.warning,title:`${r} failed`,dismissTime:e,alert:{title:r,body:`Failed`}}:{...a,type:`action.finished`,tone:`success`,icon:u.check,title:`${r} finished`,dismissTime:e,alert:{title:r,body:`Finished`}}}function _(e,t){return e.store.get(`$/ahp/activeSession`)===t&&document.visibilityState===`visible`&&document.hasFocus()}function v(e){let t=null;return e.store.subscribe(c,()=>{let r=e.store.get(c);if(r===void 0)return;let i=new Map(r.map(e=>[e.resource,l(e.status)])),a=t;if(t=i,a!==null)for(let t of r){let r=i.get(t.resource),o=a.get(t.resource);o===`input`&&r!==`input`&&n(e=>e.dismiss(m(t.resource)));let s=h(o,r);s===null||_(e,t.resource)||n(e=>e.publish(g(t,s)))}})}var y=`$/modus/class`,b=`ahp:sessions`;function x(e,t,n=`sidebar:left`){if(!a(i(n,t,p)))return;let r=e.layout.get().surfaces[n];r?.visible!==!1&&e.layout.setSurface(n,{...r,visible:!1})}function S(e){return r(d(e),v(e),e.components.register({component:`SessionExplorer`,category:`page`,renderer:{kind:`react`,load:()=>o(()=>import(`./Explorer-z4mktaMi.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]),import.meta.url)}}),e.components.register({component:`SessionPage`,category:`page`,props:{icon:u.sessions},renderer:{kind:`react`,load:()=>o(()=>import(`./Page-TDRLt015.js`),__vite__mapDeps([27,1,2,4,5,6,7,8,9,10,11,17,12,28,14,29,18,19,30,31,20,21,22,23,32,3,13,15,16,33,34,35,36,24,37,38,39,40]),import.meta.url)}}),e.components.register({component:`NewSessionPage`,category:`page`,props:{icon:u.sessions},renderer:{kind:`react`,load:()=>o(()=>import(`./New-D0REy_20.js`),__vite__mapDeps([41,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,42,17,20,21,22,23,32,33,34,35,36,43,44,37]),import.meta.url)}}),e.components.register({component:`SessionDetails`,category:`page`,renderer:{kind:`react`,load:()=>o(()=>import(`./Details-BhWMrDPk.js`),__vite__mapDeps([45,1,2,4,5,6,11,17,16,24,37,40]),import.meta.url)}}),e.commands.register({id:`ahp.showSessions`,title:`Show sessions`,category:`Sessions`,slots:[t],run:e=>e.commands.execute(`sidebar.activate`,{section:b})}),e.commands.register({id:`ahp.newSession`,title:`New session`,category:`Sessions`,slots:[t],run:(e,t)=>{let n=t?.provider;n!==void 0&&e.scena.surfaces.close(`session:new`),e.surfaces.open({surface:`main`,key:`session:new`,resource:{component:`NewSessionPage`,...n===void 0?{}:{provider:n}},props:{title:`New session`}}),x(e.scena,e.store.get(y)??`large`)}}),e.commands.register({id:`ahp.openSession`,title:`Open session`,run:(e,t)=>{let n=t?.resource;n!==void 0&&(e.store.set(f,n),e.surfaces.open({surface:`main`,key:`session:${n}`,resource:{component:`SessionPage`,resource:n},props:{title:{path:s(n)}}}),x(e.scena,e.store.get(y)??`large`),x(e.scena,e.store.get(y)??`large`,`sidebar:right`))}}),e.surfaces.mount({surface:`sidebar:right`,key:`session:details`,resource:{component:`SessionDetails`},props:{title:`Session`}}),e.surfaces.mount({surface:`sidebar:left`,key:`sessions:explorer`,when:`$/layout/surfaces/sidebar:left/section == "${b}"`,resource:{component:`SessionExplorer`}}))}export{p as i,x as n,S as r,b as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={};function t(t,n){for(var r=0;r<n.length;r++)e[n[r]]=t}var n=[`true`,`false`],r=[`if`,`then`,`do`,`else`,`elif`,`while`,`until`,`for`,`in`,`esac`,`fi`,`fin`,`fil`,`done`,`exit`,`set`,`unset`,`export`,`function`],i=`ab.awk.bash.beep.cat.cc.cd.chown.chmod.chroot.clear.cp.curl.cut.diff.echo.find.gawk.gcc.get.git.grep.hg.kill.killall.ln.ls.make.mkdir.openssl.mv.nc.nl.node.npm.ping.ps.restart.rm.rmdir.sed.service.sh.shopt.shred.source.sort.sleep.ssh.start.stop.su.sudo.svn.tee.telnet.top.touch.vi.vim.wall.wc.wget.who.write.yes.zsh`.split(`.`);t(`atom`,n),t(`keyword`,r),t(`builtin`,i);function a(t,n){if(t.eatSpace())return null;var r=t.sol(),i=t.next();if(i===`\\`)return t.next(),null;if(i===`'`||i===`"`||i==="`")return n.tokens.unshift(o(i,i==="`"?`quote`:`string`)),u(t,n);if(i===`#`)return r&&t.eat(`!`)?(t.skipToEnd(),`meta`):(t.skipToEnd(),`comment`);if(i===`$`)return n.tokens.unshift(c),u(t,n);if(i===`+`||i===`=`)return`operator`;if(i===`-`)return t.eat(`-`),t.eatWhile(/\w/),`attribute`;if(i==`<`){if(t.match(`<<`))return`operator`;var a=t.match(/^<-?\s*(?:['"]([^'"]*)['"]|([^'"\s]*))/);if(a)return n.tokens.unshift(l(a[1]||a[2])),`string.special`}if(/\d/.test(i)&&(t.eatWhile(/\d/),t.eol()||!/\w/.test(t.peek())))return`number`;t.eatWhile(/[\w-]/);var s=t.current();return t.peek()===`=`&&/\w+/.test(s)?`def`:e.hasOwnProperty(s)?e[s]:null}function o(e,t){var n=e==`(`?`)`:e==`{`?`}`:e;return function(r,i){for(var a,l=!1;(a=r.next())!=null;){if(a===n&&!l){i.tokens.shift();break}if(a===`$`&&!l&&e!==`'`&&r.peek()!=n){l=!0,r.backUp(1),i.tokens.unshift(c);break}if(!l&&e!==n&&a===e)return i.tokens.unshift(o(e,t)),u(r,i);if(!l&&/['"]/.test(a)&&!/['"]/.test(e)){i.tokens.unshift(s(a,`string`)),r.backUp(1);break}l=!l&&a===`\\`}return t}}function s(e,t){return function(n,r){return r.tokens[0]=o(e,t),n.next(),u(n,r)}}var c=function(e,t){t.tokens.length>1&&e.eat(`$`);var n=e.next();return/['"({]/.test(n)?(t.tokens[0]=o(n,n==`(`?`quote`:n==`{`?`def`:`string`),u(e,t)):(/\d/.test(n)||e.eatWhile(/\w/),t.tokens.shift(),`def`)};function l(e){return function(t,n){return t.sol()&&t.string==e&&n.tokens.shift(),t.skipToEnd(),`string.special`}}function u(e,t){return(t.tokens[0]||a)(e,t)}var d={name:`shell`,startState:function(){return{tokens:[]}},token:function(e,t){return u(e,t)},languageData:{autocomplete:n.concat(r,i),closeBrackets:{brackets:[`(`,`[`,`{`,`'`,`"`,"`"]},commentTokens:{line:`#`}}};export{d as shell};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`$/ahp/activeAgent`;export{e as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`$/ahp/activeSession`;export{e as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=!0;return t}var t=e(`_.var.let.actor.class.enum.extension.import.protocol.struct.func.typealias.associatedtype.open.public.internal.fileprivate.private.deinit.init.new.override.self.subscript.super.convenience.dynamic.final.indirect.lazy.required.static.unowned.unowned(safe).unowned(unsafe).weak.as.is.break.case.continue.default.else.fallthrough.for.guard.if.in.repeat.switch.where.while.defer.return.inout.mutating.nonmutating.isolated.nonisolated.catch.do.rethrows.throw.throws.async.await.try.didSet.get.set.willSet.assignment.associativity.infix.left.none.operator.postfix.precedence.precedencegroup.prefix.right.Any.AnyObject.Type.dynamicType.Self.Protocol.__COLUMN__.__FILE__.__FUNCTION__.__LINE__`.split(`.`)),n=e([`var`,`let`,`actor`,`class`,`enum`,`extension`,`import`,`protocol`,`struct`,`func`,`typealias`,`associatedtype`,`for`]),r=e([`true`,`false`,`nil`,`self`,`super`,`_`]),i=e([`Array`,`Bool`,`Character`,`Dictionary`,`Double`,`Float`,`Int`,`Int8`,`Int16`,`Int32`,`Int64`,`Never`,`Optional`,`Set`,`String`,`UInt8`,`UInt16`,`UInt32`,`UInt64`,`Void`]),a=`+-/*%=|&<>~^?!`,o=`:;,.(){}[]`,s=/^\-?0b[01][01_]*/,c=/^\-?0o[0-7][0-7_]*/,l=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,u=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,d=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,f=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,p=/^\#[A-Za-z]+/,m=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function h(e,h,g){if(e.sol()&&(h.indented=e.indentation()),e.eatSpace())return null;var y=e.peek();if(y==`/`){if(e.match(`//`))return e.skipToEnd(),`comment`;if(e.match(`/*`))return h.tokenize.push(v),v(e,h)}if(e.match(p))return`builtin`;if(e.match(m))return`attribute`;if(e.match(s)||e.match(c)||e.match(l)||e.match(u))return`number`;if(e.match(f))return`property`;if(a.indexOf(y)>-1)return e.next(),`operator`;if(o.indexOf(y)>-1)return e.next(),e.match(`..`),`punctuation`;var b;if(b=e.match(/("""|"|')/)){var x=_.bind(null,b[0]);return h.tokenize.push(x),x(e,h)}if(e.match(d)){var S=e.current();return i.hasOwnProperty(S)?`type`:r.hasOwnProperty(S)?`atom`:t.hasOwnProperty(S)?(n.hasOwnProperty(S)&&(h.prev=`define`),`keyword`):g==`define`?`def`:`variable`}return e.next(),null}function g(){var e=0;return function(t,n,r){var i=h(t,n,r);if(i==`punctuation`){if(t.current()==`(`)++e;else if(t.current()==`)`){if(e==0)return t.backUp(1),n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n);--e}}return i}}function _(e,t,n){for(var r=e.length==1,i,a=!1;i=t.peek();)if(a){if(t.next(),i==`(`)return n.tokenize.push(g()),`string`;a=!1}else if(t.match(e))return n.tokenize.pop(),`string`;else t.next(),a=i==`\\`;return r&&n.tokenize.pop(),`string`}function v(e,t){for(var n;n=e.next();)if(n===`/`&&e.eat(`*`))t.tokenize.push(v);else if(n===`*`&&e.eat(`/`)){t.tokenize.pop();break}return`comment`}function y(e,t,n){this.prev=e,this.align=t,this.indented=n}function b(e,t){var n=t.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:t.column()+1;e.context=new y(e.context,n,e.indented)}function x(e){e.context&&=(e.indented=e.context.indented,e.context.prev)}var S={name:`swift`,startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(e,t){var n=t.prev;t.prev=null;var r=(t.tokenize[t.tokenize.length-1]||h)(e,t,n);if(!r||r==`comment`?t.prev=n:t.prev||=r,r==`punctuation`){var i=/[\(\[\{]|([\]\)\}])/.exec(e.current());i&&(i[1]?x:b)(t,e)}return r},indent:function(e,t,n){var r=e.context;if(!r)return 0;var i=/^[\]\}\)]/.test(t);return r.align==null?r.indented+(i?0:n.unit):r.align-+!!i},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:`//`,block:{open:`/*`,close:`*/`}},closeBrackets:{brackets:[`(`,`[`,`{`,`'`,`"`,"`"]}}};export{S as swift};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{rt as e}from"./data-CBWyZN_H.js";function t(e){return typeof e==`object`&&e?e:{}}function n(e){return typeof e==`string`&&e!==``?e:null}function r(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function i(e){return e.type===`command`?typeof e.output==`string`?e.output:``:typeof e.value==`string`?e.value:``}function a(e){let t=``;for(let n of e)t+=i(n);return t}function o(e){let i=t(e),a=t(i.lifecycle),o=r(a.exitCode);return{...i,title:n(i.title)??``,content:Array.isArray(i.content)?i.content:[],lifecycle:n(a.status)===`exited`?{status:`exited`,...o===null?{}:{exitCode:o}}:{status:`running`},claim:c(i.claim)?i.claim:l(``)}}function s(t,n){return e(o(t),n)}function c(e){let r=n(t(e).kind);return r===`client`||r===`session`}function l(e){return{kind:`client`,clientId:e}}function u(e,r){let i=t(e);return i.kind===`session`?{kind:`session`,session:n(i.session)??``}:i.kind===`client`&&r!==null&&i.clientId===r?{kind:`you`}:{kind:`another`}}function d(e){return t(e.lifecycle).status===`exited`}function f(e){return r(t(e.lifecycle).exitCode)}var p=0;function m(){return p+=1,`ahp-terminal:/${Date.now().toString(36)}-${p.toString(36)}`}function h(e,t){return t.startsWith(e)?{reset:!1,text:t.slice(e.length)}:{reset:!0,text:t}}function g(e){return e.title!==void 0&&e.title!==``?e.title:`Terminal`}function _(e,t){if(e===void 0)return!1;let n=t.replace(/\/+$/,``);return e.replace(/\/+$/,``)===n||e.startsWith(`${n}/`)}export{d as a,a as c,g as d,s as i,m as l,h as n,u as o,f as r,_ as s,l as t,o as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{D as n}from"./data-CBWyZN_H.js";import{n as r}from"./words-T8-D0K4W.js";import{t as i}from"./CopyButton-DWmFc5fw.js";var a=t(),o=e();function s(e){let[t,r]=(0,a.useState)(null);return(0,a.useEffect)(()=>{if(e===void 0)return;let t=!0;return r(null),n(e).then(e=>{t&&r({text:e.text})}).catch(e=>{t&&r({error:e instanceof Error?e.message:String(e)})}),()=>{t=!1}},[e]),t}function c({uri:e,dirty:t=!1}){let n=r(e);return(0,o.jsxs)(`div`,{className:`web-file__head`,children:[(0,o.jsx)(`code`,{children:n}),t?(0,o.jsx)(`span`,{className:`web-file__dirty`,title:`Not saved`,children:`Edited`}):null,(0,o.jsx)(i,{text:n,label:`Copy path`})]})}export{s as n,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={name:`toml`,startState:function(){return{inString:!1,stringType:``,lhs:!0,inArray:0}},token:function(e,t){let n;if(!t.inString&&(n=e.match(/^('''|"""|'|")/))&&(t.stringType=n[0],t.inString=!0),e.sol()&&!t.inString&&t.inArray===0&&(t.lhs=!0),t.inString){for(;t.inString;)if(e.match(t.stringType))t.inString=!1;else if(e.peek()===`\\`)e.next(),e.next();else if(e.eol())break;else e.match(/^.[^\\\"\']*/);return t.lhs?`property`:`string`}return t.inArray&&e.peek()===`]`?(e.next(),t.inArray--,`bracket`):t.lhs&&e.peek()===`[`&&e.skipTo(`]`)?(e.next(),e.peek()===`]`&&e.next(),`atom`):e.peek()===`#`?(e.skipToEnd(),`comment`):e.eatSpace()?null:t.lhs&&e.eatWhile(function(e){return e!=`=`&&e!=` `})?`property`:t.lhs&&e.peek()===`=`?(e.next(),t.lhs=!1,null):!t.lhs&&e.match(/^\d\d\d\d[\d\-\:\.T]*Z/)||!t.lhs&&(e.match(`true`)||e.match(`false`))?`atom`:!t.lhs&&e.peek()===`[`?(t.inArray++,e.next(),`bracket`):!t.lhs&&e.match(/^\-?\d+(?:\.\d+)?/)?`number`:(e.eatSpace()||e.next(),null)},languageData:{commentTokens:{line:`#`}}};export{e as toml};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./react-CybPckBe.js";import{n as t}from"./ScenaProvider-6A3TJumQ.js";import{i as n}from"./mount-context-DZgEFVFG.js";var r=e();function i(e){let i=t(),a=n(),o=(0,r.useRef)(e);o.current=e,(0,r.useEffect)(()=>{if(a===null)return;let e=i.surfaces.guardClose(a,()=>o.current());return()=>e.dispose()},[i,a])}export{i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./useStore-BQkzWMs-.js";import{o as t}from"./registry-iidw4F1W.js";var n=`$/__label__/empty`;function r(r,i=``,a){let o=r&&typeof r==`object`&&`path`in r?r.path:n,s=e(o,a);return typeof r==`string`?r:r?`path`in r?s??i:`t`in r?t(r.t,i):i:i}export{r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`ahp-file`,t=`FilePage`,n=`MarkdownPage`,r=(e,t)=>`file:${e}:${t}`;function i(e){let t=e===void 0?null:/^file:([^:]+):(.+)$/.exec(e);return t===null?void 0:{component:t[1],uri:t[2]}}function a(e){let t=e.replace(/[?#].*$/,``).split(`/`).pop()??``,n=t.lastIndexOf(`.`);return n<=0?``:t.slice(n+1).toLowerCase()}function o(t,n){let r={"$/resource/ext":a(n)};return t.components.findOpeners(e).filter(e=>{let n=e.opens?.selector;return n===void 0||t.when.evaluate(n,r)})}var s=e=>typeof e.opens?.title==`string`?e.opens.title:e.component;function c(e,t,n){return o(e,t).filter(e=>e.component!==n).map(n=>({title:`Open as ${s(n)}`,group:`Open with`,...n.opens?.icon===void 0?{}:{icon:n.opens.icon},onSelect:r=>{r.closeMenu(),e.commands.execute(`ahp.openFile`,{uri:t,viewer:n.component})}}))}export{r as a,s as c,a as i,o as l,n,i as o,t as r,c as s,e as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./words-T8-D0K4W.js";import{r as t}from"./turn-BoF7W1h6.js";function n(e){let t=e.models.length;return t===0?`No models listed`:t===1?`1 model`:`${t} models`}function r(e){let t=[],n=e.capabilities?.multipleChats;n!==void 0&&t.push(n.fork===!0?`Several chats per session, and forks`:`Several chats per session`);let r=e.capabilities?.multipleWorkingDirectories;return r!==void 0&&t.push(r.immutablePrimary===!0?`Several folders, the first one fixed`:`Several folders`),t}function i(e){let n=[];return e.maxContextWindow!==void 0&&n.push(`${t(e.maxContextWindow)} context`),e.maxOutputTokens!==void 0&&n.push(`${t(e.maxOutputTokens)} out`),e.supportsVision===!0&&n.push(`images`),n.join(` · `)}var a={plugin:`Plugin`,directory:`Folder`,mcpServer:`MCP server`},o={agent:[`agent`,`agents`],skill:[`skill`,`skills`],prompt:[`prompt`,`prompts`],rule:[`rule`,`rules`],hook:[`hook`,`hooks`],mcpServer:[`MCP server`,`MCP servers`]},s={required:`Needs sign-in`,expired:`Sign-in expired`,insufficientScope:`Needs more access`};function c(e){return`enablement`in e&&e.enablement!==void 0?e.enablement[0]?.enabled??!0:e.enabled??!0}function l(e,t){let[n,r]=o[t]??[`item`,`items`];return`${e} ${e===1?n:r}`}function u(e){if(String(e.type)===`mcpServer`)return;let t=e.children;if(t===void 0)return;if(e.type===`directory`)return l(t.length,String(e.contents));if(t.length===0)return`Empty`;let n=new Map;for(let e of t)n.set(String(e.type),(n.get(String(e.type))??0)+1);return[...n].map(([e,t])=>l(t,e)).join(`, `)}function d(t){return e(t).replace(/^(\/home\/[^/]+|\/Users\/[^/]+|\/root)(?=\/|$)/,`~`)}function f(e){return(e??``).trim().split(`
|
|
2
|
+
`)[0]?.trim()??``}function p(e){if(String(e.type)===`mcpServer`){let t=e.state;switch(String(t.kind)){case`ready`:return{tone:`success`,text:`Ready`};case`starting`:return{tone:`info`,text:t.blocking===!0?`Starting; blocks the next turn`:`Starting`};case`authRequired`:{let e=String(t.reason);return{tone:`warning`,text:s[e]??e}}case`error`:return{tone:`danger`,text:t.error.message};case`stopped`:return{tone:`default`,text:`Stopped`};default:return{tone:`default`,text:String(t.kind)}}}let t=e.load;switch(t===void 0?void 0:String(t.kind)){case`loading`:return{tone:`busy`,text:`Loading`};case`degraded`:return{tone:`warning`,text:t.message};case`error`:return{tone:`danger`,text:t.message};default:return}}function m(e){let t=[],n=e;if(n.disableModelInvocation===!0&&t.push(`user only`),n.disableUserInvocation===!0&&t.push(`model only`),n.model!==void 0&&n.model!==``&&t.push(`pinned to ${n.model}`),e.type===`rule`){let n=e;n.globs!==void 0&&n.globs.length>0?t.push(n.globs.join(`, `)):n.alwaysApply===!0&&t.push(`always`)}return t}function h(e){return f(e.description)}function g(e){return e.replace(/^---\r?\n[\s\S]*?\r?\n---[ \t]*(\r?\n|$)/,``).trimStart()}var _=new Set([`skill`,`prompt`]),v=new Set([`plugin`,`directory`]);function y(e){if(!v.has(String(e.type))&&e.uri.startsWith(`file:`))return String(e.type)===`skill`&&!/\.md$/i.test(e.uri)?{uri:`${e.uri.replace(/\/+$/,``)}/SKILL.md`,line:null}:{uri:e.uri,line:e.range===void 0?null:e.range.start.line+1}}function b(e){let t=String(e.type)===`mcpServer`?p(e):void 0,n=y(e);return{id:e.id,name:e.name,label:_.has(String(e.type))?`/${e.name}`:e.name,line:h(e),description:(e.description??``).trim(),flags:m(e),enabled:c(e),...t===void 0?{}:{state:t},...n===void 0?{}:{open:n}}}function x(e,t){let n=[],r=u(e);r!==void 0&&n.push(r),e.writable===!1&&n.push(`read-only`);let i=e.version;return i!==void 0&&i!==``&&n.push(`v${i}`),n.push(t?`on`:`off`),n}function S(e){let t=e??[];return[...t.filter(e=>String(e.type)!==`mcpServer`),...t.filter(e=>String(e.type)===`mcpServer`)].map(e=>{let t=c(e),n=p(e),r=String(e.type),i=y(e);return{id:e.id,type:r,name:e.name,kind:a[r]??r,path:d(e.uri),meta:x(e,t),enabled:t,...n===void 0?{}:{state:n},...i===void 0?{}:{open:i},children:(e.children??[]).map(b)}})}function C(e){let t=new Set,n=[];for(let r of e??[])if(c(r))for(let e of r.children??[])_.has(String(e.type))&&c(e)&&(e.disableUserInvocation===!0||t.has(e.name)||(t.add(e.name),n.push({name:e.name,description:h(e)})));return n}function w(e){return(e.protectedResources??[]).map(e=>({name:e.resource_name??e.resource,scopes:(e.scopes_supported??[]).join(`, `),required:e.required===!0}))}export{w as a,n as i,S as n,C as o,i as r,g as s,r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(){let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=[...e].map(e=>e.toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function t(e){let t=e.trim(),n=/^([A-Za-z]:)[\\/](.*)$/.exec(t);return n===null?/^[a-z][a-z0-9+.-]*:/i.test(t)?t:`file://${t.split(`/`).map(encodeURIComponent).join(`/`)}`:`file:///${n[1]}/${n[2].split(/[\\/]/).map(encodeURIComponent).join(`/`)}`}function n(e){let t=e.replace(/\/+$/,``).split(`/`).pop()??``;try{return decodeURIComponent(t)||e}catch{return t||e}}function r(e){if(!e.startsWith(`file://`))return e;try{let t=decodeURIComponent(e.slice(7));return/^\/[A-Za-z]:\//.test(t)?t.slice(1):t}catch{return e}}function i(e){return e===void 0?``:typeof e==`string`?e:e.markdown}function a(e){let t=Math.max(0,Math.floor(e/1e3)),n=t%60,r=Math.floor(t/60)%60,i=Math.floor(t/3600)%24,a=Math.floor(t/86400);return a>0?`${a}d${i}h`:i>0?`${i}h${r}m`:r>0?`${r}m${n}s`:`${n}s`}export{e as a,t as i,r as n,i as o,n as r,a as t};
|
package/dist/app/index.html
CHANGED
|
@@ -6,28 +6,40 @@
|
|
|
6
6
|
<link rel="icon" type="image/svg+xml" href="./ahpw.svg" />
|
|
7
7
|
<title>ahpw</title>
|
|
8
8
|
<style>:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--boot-bg:#fff;--boot-muted:#6b7280}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--boot-bg:#020617;--boot-muted:#94a3b8}}html,body{background:var(--boot-bg);height:100%;margin:0}.boot-loading{background:var(--boot-bg);opacity:0;justify-content:center;align-items:center;animation:.35s ease-out .25s forwards boot-in;display:flex;position:fixed;inset:0}.boot-mark{display:block;overflow:visible}.boot-echo{transform-box:view-box;transform-origin:32px 32px;opacity:0;animation:1.5s cubic-bezier(.25,.6,.3,1) infinite boot-echo}.boot-echo--second{animation-delay:.5s}.boot-echo--third{animation-delay:1s}@keyframes boot-echo{0%{opacity:.6;transform:scale(1)}75%{opacity:0}to{opacity:0;transform:scale(1.95)}}@keyframes boot-in{to{opacity:1}}.boot-noscript{color:var(--boot-muted);text-align:center;padding:40px 20px;font:14px/1.5 system-ui,sans-serif}@media (prefers-reduced-motion:reduce){.boot-loading{opacity:1;animation:none}.boot-echo{animation:none}}</style>
|
|
9
|
-
<script type="module" crossorigin src="./assets/index-
|
|
9
|
+
<script type="module" crossorigin src="./assets/index-DBKNxflN.js"></script>
|
|
10
10
|
<link rel="modulepreload" crossorigin href="./assets/jsx-runtime-BguD1OXD.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="./assets/react-CybPckBe.js">
|
|
12
12
|
<link rel="modulepreload" crossorigin href="./assets/ScenaProvider-6A3TJumQ.js">
|
|
13
13
|
<link rel="modulepreload" crossorigin href="./assets/mount-context-DZgEFVFG.js">
|
|
14
14
|
<link rel="modulepreload" crossorigin href="./assets/useStore-BQkzWMs-.js">
|
|
15
|
-
<link rel="modulepreload" crossorigin href="./assets/data-BvTv-4oH.js">
|
|
16
|
-
<link rel="modulepreload" crossorigin href="./assets/emojis-XibTG-gy.js">
|
|
17
|
-
<link rel="modulepreload" crossorigin href="./assets/colors-BieSUSt7.js">
|
|
18
|
-
<link rel="modulepreload" crossorigin href="./assets/ActionList-DZ9lLGRe.js">
|
|
19
|
-
<link rel="modulepreload" crossorigin href="./assets/terminal-BSweq0Uj.js">
|
|
20
|
-
<link rel="modulepreload" crossorigin href="./assets/Palette-CEQLzNFd.js">
|
|
21
15
|
<link rel="modulepreload" crossorigin href="./assets/styles-yrzHRgom.js">
|
|
16
|
+
<link rel="modulepreload" crossorigin href="./assets/_utils-DZVsX11M.js">
|
|
17
|
+
<link rel="modulepreload" crossorigin href="./assets/Button-_R1oktDz.js">
|
|
18
|
+
<link rel="modulepreload" crossorigin href="./assets/data-CBWyZN_H.js">
|
|
19
|
+
<link rel="modulepreload" crossorigin href="./assets/emojis-7RT6GvLa.js">
|
|
20
|
+
<link rel="modulepreload" crossorigin href="./assets/colors-BieSUSt7.js">
|
|
21
|
+
<link rel="modulepreload" crossorigin href="./assets/ActionList-aOUHK9Z9.js">
|
|
22
|
+
<link rel="modulepreload" crossorigin href="./assets/terminal-BMZxY-St.js">
|
|
23
|
+
<link rel="modulepreload" crossorigin href="./assets/notify-CJo-T9e2.js">
|
|
22
24
|
<link rel="modulepreload" crossorigin href="./assets/surface-presentation-CT86pw6J.js">
|
|
25
|
+
<link rel="modulepreload" crossorigin href="./assets/registry-iidw4F1W.js">
|
|
23
26
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-BaNbYf_w.js">
|
|
24
27
|
<link rel="modulepreload" crossorigin href="./assets/sigillum-Bev0l9LS.js">
|
|
25
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
26
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
27
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
28
|
-
<link rel="
|
|
28
|
+
<link rel="modulepreload" crossorigin href="./assets/words-T8-D0K4W.js">
|
|
29
|
+
<link rel="modulepreload" crossorigin href="./assets/composer-commands-AmOY6XGO.js">
|
|
30
|
+
<link rel="modulepreload" crossorigin href="./assets/state-KGSq646f.js">
|
|
31
|
+
<link rel="modulepreload" crossorigin href="./assets/sessions-BcRKb9k7.js">
|
|
32
|
+
<link rel="modulepreload" crossorigin href="./assets/_field-parts-BuPjFCuf.js">
|
|
33
|
+
<link rel="modulepreload" crossorigin href="./assets/TextField-DnSHrmJM.js">
|
|
34
|
+
<link rel="modulepreload" crossorigin href="./assets/state-DRVsnGrf.js">
|
|
35
|
+
<link rel="modulepreload" crossorigin href="./assets/folder-path-CmVXGhKI.js">
|
|
36
|
+
<link rel="modulepreload" crossorigin href="./assets/viewers-MssMDn0e.js">
|
|
29
37
|
<link rel="stylesheet" crossorigin href="./assets/Button-CRZ1_3KW.css">
|
|
30
|
-
<link rel="stylesheet" crossorigin href="./assets/
|
|
38
|
+
<link rel="stylesheet" crossorigin href="./assets/ActionList-Bawu-Lja.css">
|
|
39
|
+
<link rel="stylesheet" crossorigin href="./assets/_field-parts-DannIEUW.css">
|
|
40
|
+
<link rel="stylesheet" crossorigin href="./assets/_field-parts-CfQcSJYh.css">
|
|
41
|
+
<link rel="stylesheet" crossorigin href="./assets/DateTimeInput-x1XGuNl0.css">
|
|
42
|
+
<link rel="stylesheet" crossorigin href="./assets/index-BQcTkW2q.css">
|
|
31
43
|
</head>
|
|
32
44
|
<body>
|
|
33
45
|
<div id="root">
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What an app that embeds ahpw gives it, as `globalThis.ahpwEmbedder`.
|
|
3
|
+
*
|
|
4
|
+
* ahpw owns this contract and only reads it; the embedder (ahp-desk, or any
|
|
5
|
+
* other app) sets the object before ahpw's own scripts run. Without one, ahpw
|
|
6
|
+
* is a page in a browser and reads its host from the address bar. Nothing
|
|
7
|
+
* here imports anything, so an embedder can depend on the types alone, from
|
|
8
|
+
* `@ahpd/web/embed`.
|
|
9
|
+
*/
|
|
10
|
+
/** One host the embedder knows. A token is never part of it; ask `token()`. */
|
|
11
|
+
export interface EmbedHost {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
/** The host's WebSocket address, as `ws://127.0.0.1:9187`. */
|
|
15
|
+
url: string;
|
|
16
|
+
}
|
|
17
|
+
/** A host's state, as the embedder sees it. */
|
|
18
|
+
export type EmbedHostStatus = 'connected' | 'connecting' | 'down';
|
|
19
|
+
/** Stops a subscription; safe to call more than once. */
|
|
20
|
+
export type Unsubscribe = () => void;
|
|
21
|
+
/** The window ahpw is in, when the embedder draws no frame and ahpw draws its own title bar. */
|
|
22
|
+
export interface EmbedWindow {
|
|
23
|
+
minimize(): Promise<void>;
|
|
24
|
+
toggleMaximize(): Promise<void>;
|
|
25
|
+
close(): Promise<void>;
|
|
26
|
+
/** Called on a press in the title bar, so a drag moves the window. */
|
|
27
|
+
startDragging(): Promise<void>;
|
|
28
|
+
/** Whether the window fills the screen, so ahpw squares its corners. */
|
|
29
|
+
isMaximized(): Promise<boolean>;
|
|
30
|
+
/** Calls `handler` on each resize, a maximize and a restore among them. */
|
|
31
|
+
onResized(handler: () => void): Unsubscribe;
|
|
32
|
+
}
|
|
33
|
+
export interface Embedder {
|
|
34
|
+
/** The host this page shows. */
|
|
35
|
+
host(): Promise<EmbedHost>;
|
|
36
|
+
/** The token of the host this page shows, or null for a host with none. */
|
|
37
|
+
token(): Promise<string | null>;
|
|
38
|
+
/** Every host the embedder knows. */
|
|
39
|
+
hosts(): Promise<EmbedHost[]>;
|
|
40
|
+
/** Calls `handler` with the whole list each time a host is added, changed or removed. */
|
|
41
|
+
onHosts(handler: (hosts: EmbedHost[]) => void): Unsubscribe;
|
|
42
|
+
/** Every host's status by id; a host not yet seen is missing. */
|
|
43
|
+
statuses(): Promise<Record<string, EmbedHostStatus>>;
|
|
44
|
+
/** Calls `handler` with every host's status each time one changes. */
|
|
45
|
+
onStatuses(handler: (statuses: Record<string, EmbedHostStatus>) => void): Unsubscribe;
|
|
46
|
+
/** Moves this page to another host; the embedder reloads it. */
|
|
47
|
+
switchHost(id: string): Promise<void>;
|
|
48
|
+
/** Shows the embedder's own place to add, edit and remove hosts; with `add`, on its form for a new one. */
|
|
49
|
+
manageHosts(options?: {
|
|
50
|
+
add?: boolean;
|
|
51
|
+
}): Promise<void>;
|
|
52
|
+
/** Present when ahpw draws the window's frame. */
|
|
53
|
+
window?: EmbedWindow;
|
|
54
|
+
}
|
|
55
|
+
/** The embedder, or undefined in a browser. Read once: a page never moves between the two. */
|
|
56
|
+
export declare const embedder: Embedder | undefined;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What an app that embeds ahpw gives it, as `globalThis.ahpwEmbedder`.
|
|
3
|
+
*
|
|
4
|
+
* ahpw owns this contract and only reads it; the embedder (ahp-desk, or any
|
|
5
|
+
* other app) sets the object before ahpw's own scripts run. Without one, ahpw
|
|
6
|
+
* is a page in a browser and reads its host from the address bar. Nothing
|
|
7
|
+
* here imports anything, so an embedder can depend on the types alone, from
|
|
8
|
+
* `@ahpd/web/embed`.
|
|
9
|
+
*/
|
|
10
|
+
/** The embedder, or undefined in a browser. Read once: a page never moves between the two. */
|
|
11
|
+
export const embedder = globalThis.ahpwEmbedder;
|
package/dist/plugin/index.js
CHANGED
|
@@ -6,7 +6,20 @@ export const name = 'ahpd-web';
|
|
|
6
6
|
export const title = 'Web';
|
|
7
7
|
/** The built page, beside this file in the package. */
|
|
8
8
|
const APP = fileURLToPath(new URL('../app/', import.meta.url));
|
|
9
|
+
/** Where the page is served. */
|
|
10
|
+
const PREFIX = `/plugins/${name}/`;
|
|
11
|
+
/**
|
|
12
|
+
* What the page asks first: whether the server adds the token. The daemon does
|
|
13
|
+
* not, so it says so, as `ahpw serve` answers the same file, rather than a 404
|
|
14
|
+
* the browser prints as an error on every load.
|
|
15
|
+
*/
|
|
16
|
+
const ABOUT = JSON.stringify({ tokenHeld: false });
|
|
9
17
|
export const apply = (host) => {
|
|
10
|
-
|
|
18
|
+
const files = staticRoute(APP, PREFIX);
|
|
19
|
+
host.registerRoute(async (request) => {
|
|
20
|
+
if (new URL(request.url).pathname !== `${PREFIX}ahpw.json`)
|
|
21
|
+
return await files(request);
|
|
22
|
+
return new Response(ABOUT, { headers: { 'content-type': 'application/json', 'cache-control': 'no-store', 'x-content-type-options': 'nosniff' } });
|
|
23
|
+
});
|
|
11
24
|
};
|
|
12
25
|
//# sourceMappingURL=index.js.map
|
package/dist/plugin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAC;AAE/B,6BAA6B;AAC7B,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC;AAE3B,uDAAuD;AACvD,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,KAAK,GAAoB,CAAC,IAAI,EAAE,EAAE;IAC7C,IAAI,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAC;AAE/B,6BAA6B;AAC7B,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC;AAE3B,uDAAuD;AACvD,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,gCAAgC;AAChC,MAAM,MAAM,GAAG,YAAY,IAAI,GAAG,CAAC;AAEnC;;;;GAIG;AACH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,KAAK,GAAoB,CAAC,IAAI,EAAE,EAAE;IAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACnC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,GAAG,MAAM,WAAW;YAAE,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACxF,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,wBAAwB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IACpJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|
package/dist/plugin/static.js
CHANGED
|
@@ -18,10 +18,11 @@ const TYPES = {
|
|
|
18
18
|
*
|
|
19
19
|
* The token sits in this origin's localStorage, so the page loads nothing from
|
|
20
20
|
* anywhere else and cannot be framed. Inline styles stay allowed because the
|
|
21
|
-
* theme sets custom properties on elements.
|
|
21
|
+
* theme sets custom properties on elements. Images and media may be `blob:`,
|
|
22
|
+
* which is a file the page read from the host and made a URL for itself.
|
|
22
23
|
*/
|
|
23
24
|
const SECURITY = {
|
|
24
|
-
'content-security-policy': "default-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'",
|
|
25
|
+
'content-security-policy': "default-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:; media-src 'self' blob:; connect-src 'self'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'",
|
|
25
26
|
'x-content-type-options': 'nosniff',
|
|
26
27
|
'referrer-policy': 'no-referrer',
|
|
27
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static.js","sourceRoot":"","sources":["../../plugin/static.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAElD,8CAA8C;AAC9C,MAAM,KAAK,GAAqC;IAC9C,OAAO,EAAE,0BAA0B;IACnC,KAAK,EAAE,gCAAgC;IACvC,MAAM,EAAE,yBAAyB;IACjC,OAAO,EAAE,kBAAkB;IAC3B,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,cAAc;IACtB,QAAQ,EAAE,YAAY;IACtB,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,2BAA2B;CACpC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"static.js","sourceRoot":"","sources":["../../plugin/static.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAElD,8CAA8C;AAC9C,MAAM,KAAK,GAAqC;IAC9C,OAAO,EAAE,0BAA0B;IACnC,KAAK,EAAE,gCAAgC;IACvC,MAAM,EAAE,yBAAyB;IACjC,OAAO,EAAE,kBAAkB;IAC3B,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,cAAc;IACtB,QAAQ,EAAE,YAAY;IACtB,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,2BAA2B;CACpC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,QAAQ,GAAqC;IACjD,yBAAyB,EAAE,2LAA2L;IACtN,wBAAwB,EAAE,SAAS;IACnC,iBAAiB,EAAE,aAAa;CACjC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,UAAkC,EAAE,EAAY,EAAE,CAC9F,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,QAAQ,EAAE,cAAc,EAAE,2BAA2B,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,CAAC;AAEpH;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,MAAc;IACtD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;QACvB,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC,GAAG,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5H,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAEtE,IAAI,KAAe,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC7G,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC5H,OAAO,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACnF,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;gBAAE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACzE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,0BAA0B,CAAC;YAC9E,6EAA6E;YAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,UAAU,CAAC;YACzF,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3D,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,GAAG,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;aAClH,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ahpd/web",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"packageManager": "pnpm@11.21.0",
|
|
6
5
|
"description": "A web UI for an AHP server, as an ahpd plugin or on its own with ahpw serve",
|
|
7
6
|
"keywords": [
|
|
8
7
|
"ahp",
|
|
@@ -37,18 +36,16 @@
|
|
|
37
36
|
".": {
|
|
38
37
|
"types": "./dist/plugin/index.d.ts",
|
|
39
38
|
"default": "./dist/plugin/index.js"
|
|
39
|
+
},
|
|
40
|
+
"./embed": {
|
|
41
|
+
"types": "./dist/embed/index.d.ts",
|
|
42
|
+
"default": "./dist/embed/index.js"
|
|
40
43
|
}
|
|
41
44
|
},
|
|
42
45
|
"files": [
|
|
43
46
|
"dist",
|
|
44
47
|
"README.md"
|
|
45
48
|
],
|
|
46
|
-
"scripts": {
|
|
47
|
-
"dev": "vite",
|
|
48
|
-
"build": "tsc -b && vite build && tsc -p tsconfig.plugin.json && tsc -p tsconfig.cli.json && chmod +x dist/cli/main.js",
|
|
49
|
-
"typecheck": "tsc -b",
|
|
50
|
-
"test": "vitest run"
|
|
51
|
-
},
|
|
52
49
|
"peerDependencies": {
|
|
53
50
|
"@ahpd/sdk": ">=0.9"
|
|
54
51
|
},
|
|
@@ -59,8 +56,30 @@
|
|
|
59
56
|
},
|
|
60
57
|
"devDependencies": {
|
|
61
58
|
"@ahpd/sdk": "^0.9.0",
|
|
59
|
+
"@codemirror/autocomplete": "^6.20.3",
|
|
60
|
+
"@codemirror/commands": "^6.11.1",
|
|
61
|
+
"@codemirror/lang-cpp": "^6.0.3",
|
|
62
|
+
"@codemirror/lang-css": "^6.3.1",
|
|
63
|
+
"@codemirror/lang-go": "^6.0.1",
|
|
64
|
+
"@codemirror/lang-html": "^6.4.12",
|
|
65
|
+
"@codemirror/lang-java": "^6.0.2",
|
|
66
|
+
"@codemirror/lang-javascript": "^6.2.5",
|
|
67
|
+
"@codemirror/lang-json": "^6.0.2",
|
|
68
|
+
"@codemirror/lang-markdown": "^6.5.2",
|
|
69
|
+
"@codemirror/lang-php": "^6.0.2",
|
|
70
|
+
"@codemirror/lang-python": "^6.2.1",
|
|
71
|
+
"@codemirror/lang-rust": "^6.0.2",
|
|
72
|
+
"@codemirror/lang-sql": "^6.10.0",
|
|
73
|
+
"@codemirror/lang-xml": "^6.1.0",
|
|
74
|
+
"@codemirror/lang-yaml": "^6.1.3",
|
|
75
|
+
"@codemirror/language": "^6.13.1",
|
|
76
|
+
"@codemirror/legacy-modes": "^6.5.5",
|
|
77
|
+
"@codemirror/search": "^6.7.2",
|
|
78
|
+
"@codemirror/state": "^6.7.6",
|
|
79
|
+
"@codemirror/view": "^6.43.14",
|
|
80
|
+
"@lezer/highlight": "^1.2.5",
|
|
62
81
|
"@microsoft/agent-host-protocol": "^1.0.0",
|
|
63
|
-
"@softov/scena": "^0.5.
|
|
82
|
+
"@softov/scena": "^0.5.4",
|
|
64
83
|
"@types/node": "^22.10.2",
|
|
65
84
|
"@types/react": "^19.2.18",
|
|
66
85
|
"@types/react-dom": "^19.2.3",
|
|
@@ -83,5 +102,11 @@
|
|
|
83
102
|
"@cofold/config": "^0.3.1",
|
|
84
103
|
"@cofold/remote": "^0.5.0",
|
|
85
104
|
"@cofold/terminal": "^0.3.0"
|
|
105
|
+
},
|
|
106
|
+
"scripts": {
|
|
107
|
+
"dev": "vite",
|
|
108
|
+
"build": "tsc -b && vite build && tsc -p tsconfig.plugin.json && tsc -p tsconfig.cli.json && tsc -p tsconfig.embed.json && chmod +x dist/cli/main.js",
|
|
109
|
+
"typecheck": "tsc -b",
|
|
110
|
+
"test": "vitest run"
|
|
86
111
|
}
|
|
87
|
-
}
|
|
112
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{r as n}from"./colors-BieSUSt7.js";import{n as r}from"./ScenaProvider-6A3TJumQ.js";var i=t(),a=e();function o(e,t){return typeof t!=`number`||Number.isNaN(t)?e.length:Math.max(0,Math.min(e.length,Math.floor(t)))}function s(e,t=[`/`,`@`],n){if(!e)return null;let r=o(e,n),i=-1;if(r<e.length&&!/\s/.test(e[r]??``))i=r;else if(r>0&&!/\s/.test(e[r-1]??``))i=r-1;else return null;let a=i;for(;a>0&&!/\s/.test(e[a-1]??``);)--a;let s=i+1;for(;s<e.length&&!/\s/.test(e[s]??``);)s+=1;let c=e.slice(a,s),l=t.find(e=>c.startsWith(e));return l?{token:c,prefix:l,query:c.slice(l.length),start:a,end:s}:null}function c(e,t,n,r=[`/`,`@`]){let i=s(e,r,t);if(!i)return{next:e,caret:o(e,t)};let a=e.slice(0,i.start),c=`${a}${n}${e.slice(i.end)}`;return n===``&&(c=c.replace(/[ \t]+$/g,``)),{next:c,caret:Math.min(a.length+n.length,c.length)}}function l(e,t,n,r=[`/`,`@`]){let i=s(e,r,t);if(i)return{next:`${e.slice(0,i.start)}${n}${e.slice(i.end)}`,caret:i.start+n.length};let a=`${e}${e.length>0&&!/\s$/.test(e)?` `:``}${n}`;return{next:a,caret:a.length}}function u(e,t){if(!t)return e;let n=Array.isArray(t)?t:[t],r=e.toLowerCase();for(let t of n){let n=t.replace(/^[/@]/,``);if(r.startsWith(n.toLowerCase()))return e.slice(n.length).replace(/^[=\s]+/,``)}return e}function d(e,t){if(!t)return!0;let n=Array.isArray(t)?t:[t],r=e.toLowerCase();return n.some(e=>r.startsWith(e.toLowerCase()))}function f(e){if(e)return Array.isArray(e)?e[0]:e}var p=180;function m({spec:e,hostCtx:t,onBack:o,dataContext:s,manageKeys:c=!0,ref:l}){let u=r(),[d,m]=(0,i.useState)(0),[h,g]=(0,i.useState)({kind:`loading`}),[_,v]=(0,i.useState)(!1),y=(0,i.useRef)(h);y.current=h;let b=(0,i.useRef)(null),x=(0,i.useMemo)(()=>({scena:u,store:u.store,surfaces:u.surfaces,commands:u.commands,events:u.events,source:`menu`,dataContext:s}),[u,s]),S=(0,i.useCallback)(e=>e.map(e=>{let t=typeof e.title==`function`?e.title(x):e.title,n=typeof e.description==`function`?e.description(x):e.description,r=e.active?!!e.active(x):void 0,i=e.disabled?!!e.disabled(x):void 0;return{key:`cmd:${e.id}`,title:t,description:n,icon:e.icon,color:e.color,shortcut:f(e.shortcut),keys:f(e.keys),category:e.category,active:r,disabled:i,invoke:t=>{let n=f(e.shortcut);n&&t.replaceActiveToken(n),u.commands.execute(e.id,void 0,{source:`menu`,dataContext:s,host:t})}}}),[u,x,s]),C=(0,i.useCallback)(e=>e.map((e,t)=>{if(`commandId`in e){let n=u.commands.get(e.commandId);if(!n)return{key:`cmd:${e.commandId}:${t}`,title:`[${e.commandId}]`,disabled:!0,invoke:()=>void 0};let r=S([n])[0],i=e.args;return{...r,key:`cmd:${e.commandId}:${t}`,invoke:e=>{u.commands.execute(n.id,i,{source:`menu`,dataContext:s,host:e})}}}return{key:`act:${t}:${e.title}`,title:e.title,description:e.description,icon:e.icon,color:e.color,shortcut:e.shortcut,keys:e.keys,group:e.group,active:e.active,disabled:e.disabled,invoke:e.onSelect}}),[u,S,s]);(0,i.useEffect)(()=>{let n=!1,r=e.extraItems?C(e.extraItems):[];if(e.items)return v(!1),g({kind:`ready`,rows:[...r,...C(e.items)]}),()=>{n=!0};if(e.query){v(!1);let t=e.query.slot,i=e.query.q,a=()=>{let e=u.commands.list({slot:t,q:i,enabled:!0});n||g({kind:`ready`,rows:[...r,...S(e)]})};a();let o=!1;function s(){o||n||(o=!0,requestAnimationFrame(()=>{o=!1,n||a()}))}let c=u.events.on(`scena:registry:changed`,e=>{let t=e.registry;(t===`commands`||t===`components`)&&s()}),l=u.events.on(`scena:store:changed`,()=>{s()});return()=>{n=!0,c.dispose(),l.dispose()}}if(e.provider){let i=e.provider,a=()=>{if(n)return;let e;try{e=i(t)}catch(e){g({kind:`error`,message:e instanceof Error?e.message:String(e)}),v(!1);return}e instanceof Promise?e.then(e=>{n||(g({kind:`ready`,rows:[...r,...C(e)]}),v(!1))}).catch(e=>{n||(g({kind:`error`,message:e instanceof Error?e.message:String(e)}),v(!1))}):(g({kind:`ready`,rows:[...r,...C(e)]}),v(!1))},o=null,s=()=>{n||(v(!0),o&&clearTimeout(o),o=setTimeout(a,p))};y.current.kind===`ready`?s():(g({kind:`loading`}),a());let c=u.events.on(`scena:store:changed`,()=>s());return()=>{n=!0,o&&clearTimeout(o),c.dispose()}}return v(!1),g({kind:`ready`,rows:r}),()=>{n=!0}},[e,t,C,S,u]);let w=(0,i.useMemo)(()=>h.kind===`ready`?h.rows.filter(e=>!e.disabled):[],[h]);(0,i.useEffect)(()=>{m(0)},[w.length]),(0,i.useEffect)(()=>{let e=b.current;if(!e)return;let t=e.querySelector(`[data-selected="true"]`);t&&t.scrollIntoView({block:`nearest`})},[d]);let T=w[d],E=(0,i.useMemo)(()=>{if(h.kind!==`ready`)return[];let t=e.groupOrder??[],n=new Map,r=[];for(let e of h.rows){let t=e.category??e.group??``;n.has(t)||(n.set(t,[]),r.includes(t)||r.push(t)),n.get(t).push(e)}return[...t.filter(e=>n.has(e)),...r.filter(e=>!t.includes(e))].map(e=>({label:e===``?null:e,rows:n.get(e)}))},[h,e.groupOrder]),D=(0,i.useCallback)(e=>{if(w.length===0&&e.key!==`Escape`&&e.key!==`ArrowLeft`)return!1;if(e.key===`ArrowDown`)return e.preventDefault(),m(e=>(e+1)%w.length),!0;if(e.key===`ArrowUp`)return e.preventDefault(),m(e=>(e-1+w.length)%w.length),!0;if(e.key===`Enter`||e.key===`Tab`){e.preventDefault();let n=w[d];return n&&n.invoke(t),!0}return e.key===`Escape`?(e.preventDefault(),t.closeMenu(),!0):e.key===`ArrowLeft`&&o?(e.preventDefault(),o(),!0):!1},[w,d,t,o]);(0,i.useEffect)(()=>{if(!c)return;function e(e){let t={key:e.key,preventDefault:()=>e.preventDefault()};D(t)}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[D,c]),(0,i.useImperativeHandle)(l,()=>({handleKey:e=>D(e)}),[D]);let O=-1,k=e.rich===!0;function A(e){let r=!e.disabled;r&&(O+=1);let i=r&&O===d,o=O,s=e.color?{"--oo-color":n(e.color)}:void 0;return(0,a.jsxs)(`button`,{className:`oo-action-list__row`,type:`button`,disabled:e.disabled,"data-cmd-group":e.group,"data-cmd-category":e.category,"data-color":e.color,"data-active":e.active?`true`:void 0,"data-disabled":e.disabled?`true`:void 0,"data-selected":i?`true`:void 0,style:s,onMouseEnter:()=>{r&&m(o)},onClick:()=>{r&&e.invoke(t)},children:[(0,a.jsx)(`span`,{className:`oo-icon`,children:e.icon??`·`}),k?(0,a.jsxs)(`span`,{className:`oo-action-list__text`,children:[(0,a.jsx)(`span`,{className:`oo-action-list__title`,children:e.title}),e.description?(0,a.jsx)(`span`,{className:`oo-action-list__subtitle`,children:e.description}):null]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(`span`,{className:`oo-action-list__title`,children:e.title}),e.description?(0,a.jsx)(`span`,{className:`oo-action-list__description`,children:e.description}):null]}),e.active?(0,a.jsx)(`span`,{className:`oo-action-list__check`,children:`✓`}):null,e.shortcut?(0,a.jsx)(`kbd`,{className:`oo-action-list__shortcut`,children:e.shortcut}):null,e.keys?(0,a.jsx)(`kbd`,{className:`oo-action-list__shortcut`,children:e.keys}):null]},e.key)}function j(){return h.kind===`loading`?(0,a.jsx)(`div`,{className:`oo-action-list__loading`,children:`Loading…`}):h.kind===`error`?(0,a.jsx)(`div`,{className:`oo-action-list__error`,children:h.message}):E.length===0||h.rows.length===0?(0,a.jsx)(`div`,{className:`oo-action-list__empty`,children:`No matches`}):(0,a.jsx)(a.Fragment,{children:E.map((e,t)=>(0,a.jsxs)(`div`,{children:[t>0?(0,a.jsx)(`div`,{className:`oo-action-list__divider`}):null,e.label?(0,a.jsx)(`div`,{className:`oo-action-list__group-label`,children:e.label}):null,e.rows.map(A)]},e.label??`__g${t}`))})}let M=e.layout??`list`,N=M===`header-list`&&e.header,P=M===`info-list`&&e.detail;return(0,a.jsxs)(`div`,{className:`oo-action-list`,"data-layout":M,children:[_?(0,a.jsx)(`div`,{className:`oo-action-list__pending`,"aria-hidden":!0,children:`searching…`}):null,o?(0,a.jsxs)(`button`,{type:`button`,className:`oo-action-list__back`,onClick:o,children:[`← `,e.title??`Back`]}):null,e.customHeader?(0,a.jsx)(`div`,{className:`oo-action-list__custom-header`,children:e.customHeader(t)}):null,N?(0,a.jsx)(`div`,{className:`oo-action-list__header`,children:e.header(t)}):null,(0,a.jsxs)(`div`,{className:`oo-action-list__body`,children:[(0,a.jsx)(`div`,{className:`oo-action-list__items`,ref:b,children:j()}),P?(0,a.jsx)(`div`,{className:`oo-action-list__detail`,children:e.detail(t,T)}):null]}),e.footerHints?(0,a.jsxs)(`div`,{className:`oo-action-list__footer`,children:[`↑↓ navigate · ↵ select`,o?` · ← back`:``,` · ⎋ close`]}):null]})}export{l as a,s as i,f as n,u as o,c as r,d as s,m as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
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{n as i}from"./ScenaProvider-6A3TJumQ.js";import{t as a}from"./Button-_R1oktDz.js";import{g as o,w as s}from"./data-BvTv-4oH.js";import{i as c,n as l}from"./words-CrqnRMW4.js";import{t as u}from"./emojis-XibTG-gy.js";import{a as ee,i as d,n as f,o as te,r as p,s as m,t as h}from"./ActionList-DZ9lLGRe.js";import{A as g,C as _,D as v,E as y,M as b,O as x,S,T as C,_ as w,b as T,k as E,v as D,w as ne,x as O,y as re}from"./index-Cu7ySznN.js";var k=e(),A=t(),j=[`/`,`@`];function ie(e){let{input:t,setInput:n,caretIndex:r,panelDataContext:a,slashSlot:o=`chat:input/`,mentionSlot:s=`chat:input@`,mentionProvider:c,prefixes:l=j,onCaretChange:u}=e,g=i(),[_,v]=(0,A.useState)([]),y=(0,A.useRef)(_);y.current=_;let b=(0,A.useRef)(null),x=(0,A.useMemo)(()=>d(t,l,r),[t,l,r]),S=x!==null,C=(0,A.useCallback)(e=>x?.prefix===`@`?c?{provider:c,footerHints:!0,rich:!0}:{query:{slot:s,q:e},footerHints:!0,rich:!0}:{query:{slot:o,q:e},footerHints:!0,rich:!0},[x?.prefix,c,s,o]);(0,A.useEffect)(()=>{if(!x){y.current.length>0&&v([]);return}let e=y.current[y.current.length-1];if(y.current.length<=1){v([{spec:C(x.query)}]);return}let t=e&&`spec`in e?e.spec:void 0;if(t?.sentinel&&!m(x.token,t.sentinel)){v([{spec:C(x.query)}]);return}t?.query&&v(e=>{let n=e.slice(0,-1);return n.push({spec:{...t,query:{...t.query,q:x.query}}}),n})},[x,C]);let w=(0,A.useMemo)(()=>{let e=_[_.length-1];return e&&`spec`in e?e.spec.sentinel:void 0},[_]),T=(0,A.useMemo)(()=>te(x?.query??``,w),[x,w]),E=(0,A.useMemo)(()=>({pushList:e=>v(t=>[...t,{spec:e}]),replaceList:e=>v(t=>{let n=t.slice(0,-1);return n.push({spec:e}),n}),openInline:e=>v(t=>[...t,{component:(0,k.jsx)(M,{name:e})}]),openPopover:()=>void 0,back:()=>v(e=>e.length>1?e.slice(0,-1):e),closeMenu:()=>{v([]);let e=p(t,r,``,l);n(e.next),u?.(e.caret)},keepOpen:()=>void 0,insertAtCursor:e=>{let i=p(t,r,e,l);n(i.next),u?.(i.caret)},replaceActiveToken:e=>{let i=p(t,r,e,l);n(i.next),u?.(i.caret)},query:T}),[t,r,l,n,T,u]),D=_[_.length-1],ne=(0,A.useCallback)(()=>v(e=>e.slice(0,-1)),[]),O=_.length>1?ne:void 0,re=(0,A.useCallback)(e=>{if(!S)return!1;if(e.key===`Escape`)return e.preventDefault(),E.closeMenu(),!0;if(e.key===`ArrowLeft`&&O){let t=e.target;if(t.selectionStart===t.selectionEnd&&x&&t.selectionStart===x.start+x.prefix.length)return e.preventDefault(),O(),!0}return e.key===`ArrowDown`||e.key===`ArrowUp`||e.key===`Enter`||e.key===`Tab`?b.current?.handleKey(e)??!1:!1},[S,E,O,x]),ie=(0,A.useCallback)(e=>{let i=g.commands.get(e);if(!i)return null;let s=f(i.shortcut),c=null;if(s){let{next:e,caret:i}=ee(t,r,s,l);c=i,n(e),v([{spec:{query:{slot:o,q:s.replace(/^[/@]/,``)},footerHints:!0,rich:!0}}])}return g.commands.execute(e,void 0,{source:`menu`,dataContext:a,host:E}),c},[g,a,t,r,l,E,n,o]),N=(0,A.useCallback)(()=>E.closeMenu(),[E]);return{menuVisible:S,activeSentinel:w,pickerNode:D?`component`in D?D.component:(0,k.jsx)(h,{ref:b,spec:D.spec,hostCtx:E,onBack:O,dataContext:a,manageKeys:!1}):null,handleMenuKeyDown:re,openCommand:ie,closeMenu:N}}function M({name:e}){return(0,k.jsxs)(`div`,{style:{padding:12},children:[`[component: `,e,`]`]})}var N=u.caretDown;function P({label:e,title:t,onOpen:n,on:r}){return(0,k.jsxs)(`button`,{type:`button`,className:`web-chip`,"data-on":r===!0?`true`:`false`,title:t,disabled:n===void 0,onClick:n,...n===void 0?{}:{"aria-haspopup":`menu`},children:[e,n===void 0?null:(0,k.jsx)(`span`,{"aria-hidden":`true`,children:N})]})}function F({label:e,title:t,value:n,options:r,onChange:i}){let a=r.find(e=>e.value===n)?.label??n;return(0,k.jsxs)(`span`,{className:`web-chip web-chip--choice`,title:t??e,children:[`${e}: ${a===``?`default`:a}`,(0,k.jsx)(`span`,{"aria-hidden":`true`,children:N}),(0,k.jsx)(`select`,{"aria-label":e,value:n,onChange:e=>i(e.currentTarget.value),children:r.map(e=>(0,k.jsx)(`option`,{value:e.value,children:e.label},e.value))})]})}function I({label:e,title:t,value:n,onChange:r}){return(0,k.jsx)(`button`,{type:`button`,className:`web-chip`,"data-on":n?`true`:`false`,"aria-pressed":n,title:t??e,onClick:()=>r(!n),children:e})}function L({label:e,title:t,value:n,placeholder:r,onChange:i,width:a}){return(0,k.jsxs)(`span`,{className:`web-chip web-chip--text`,title:t??e,children:[e,(0,k.jsx)(`input`,{"aria-label":e,value:n,placeholder:r??``,style:{width:a??110},onChange:e=>i(e.currentTarget.value)})]})}var ae=`$/ahp/composerFocus`,R=e=>typeof e==`object`&&e?e:{},z=e=>typeof e==`string`&&e!==``?e:void 0;function oe(e){let t=R(e).items;return(Array.isArray(t)?t:[]).map(e=>{let t=R(e),n=R(R(t.attachment)._meta),r=z(t.insertText)??``;return{insert:r,label:z(n.command)??r,detail:z(n.description),hint:z(n.argumentHint)}}).filter(e=>e.insert!==``)}function se(e,t,n){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:[w],when:`${ae} == "${t}"`,run:e=>e.host?.replaceActiveToken(`${n.insert} `)})))}var ce=0,B=260,le=[`/`,`@`],ue=800;function de(e){e!==null&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,B)}px`)}function fe(e,t,n){return{text:e,origin:{kind:`user`},...t===void 0?{}:{model:{id:t}},...n.length===0?{}:{attachments:E(e,n)}}}var pe=(0,A.memo)(function({chatUri:e,activeId:t,activeStart:r,queued:ee,steering:d,draft:f,lastModel:te,config:p,summary:m,send:h}){let E=i(),j=(n(`$/ahp/agents`)??[]).find(e=>e.provider===m.provider),M=(0,A.useMemo)(()=>re(e),[e]),[N]=(0,A.useState)(()=>`composer-${++ce}`),F=m.workingDirectories?.[0],[I,L]=(0,A.useState)(()=>f?.text??``),[R,z]=(0,A.useState)(null),[B,pe]=(0,A.useState)(()=>f?.model?.id??te),[V,H]=(0,A.useState)(()=>f?.attachments??[]),U=(0,A.useRef)(null),W=t===void 0?void 0:{id:t,startedAt:r??``},me=ee??[];(0,A.useEffect)(()=>de(U.current),[I]);let G=(0,A.useRef)(!1);(0,A.useEffect)(()=>{if(!G.current)return;let t=window.setTimeout(()=>{let t=I.trim()===``&&V.length===0?void 0:fe(I,B,V);o(e,{type:`chat/draftChanged`,draft:t})},ue);return()=>window.clearTimeout(t)},[I,B,V,e]);let K=(0,A.useCallback)(e=>{z(e),requestAnimationFrame(()=>{let t=U.current;t!==null&&(t.focus(),t.setSelectionRange(e,e))})},[]),q=(0,A.useCallback)(e=>{G.current=!0,H(t=>t.some(t=>x(t,e))?t:[...t,e])},[]),he=(0,A.useRef)(null),ge=(0,A.useCallback)(async e=>{let t=await v(Array.from(e??[]));for(let e of t.attached)q(e);t.refused.length>0&&b(`Not attached`,{description:`Over 5 MB or unreadable: ${t.refused.join(`, `)}`})},[q]),J=(0,A.useRef)(I);J.current=I;let Y=(0,A.useRef)(R);Y.current=R;let _e=(0,A.useCallback)(async()=>{let t=J.current;try{return(await s(`completions`,{kind:`userMessage`,channel:e,text:t,offset:Y.current??t.length})).items.map(e=>{let t=y(e.attachment,F);return{title:e.insertText.replace(/^@/,``),...t===void 0?{}:{description:t},onSelect:t=>{t.replaceActiveToken(`${e.insertText} `),q(g(e.attachment,e.insertText))}}})}catch{return[]}},[e,F,q]),[ve,ye]=(0,A.useState)([]);(0,A.useEffect)(()=>{let t=!0;return s(`completions`,{kind:`userMessage`,channel:e,text:`/`,offset:1}).then(e=>{t&&ye(oe(e))}).catch(()=>{t&&ye([])}),()=>{t=!1}},[e]),(0,A.useEffect)(()=>{let e=se(E,N,ve);return()=>e.dispose()},[E,N,ve]);let X=ie({input:I,setInput:L,caretIndex:R,panelDataContext:M,slashSlot:w,prefixes:le,mentionProvider:_e,onCaretChange:K}),Z=(0,A.useMemo)(()=>Object.entries(p?.schema.properties??{}).filter(([,e])=>e.sessionMutable===!0&&e.readOnly!==!0).map(([e,t])=>({key:e,schema:t,value:p?.values[e]})),[p]),Q=(0,A.useCallback)(()=>{if(t===void 0)return;let e=Date.parse(r??``);h({type:`chat/turnCancelled`,turnId:t,duration:Number.isNaN(e)?0:Math.max(0,Date.now()-e)})},[t,r,h]),be=(0,A.useMemo)(()=>(j?.models??[]).map(e=>({id:e.id,name:e.name})),[j]),$=(0,A.useRef)(null);$.current={models:()=>be,model:()=>B,setModel:e=>{G.current=!0,pe(e)},options:()=>Z,setOption:(e,t)=>{o(m.resource,{type:`session/configChanged`,config:{[e]:t}})},running:()=>W!==void 0,stop:Q,session:()=>m.resource,attach:q,type:e=>{let t=Y.current??J.current.length,n=J.current.slice(0,t),r=e===`/`||n===``||/\s$/.test(n)?``:` `,i=e===`/`&&n.trim()===``?`/${J.current.slice(t)}`:`${n}${r}${e}${J.current.slice(t)}`,a=e===`/`&&n.trim()===``?1:n.length+r.length+1;G.current=!0,L(i),K(a)},upload:()=>he.current?.click()},(0,A.useEffect)(()=>D(M,{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()??``,attach:e=>$.current?.attach(e),type:e=>$.current?.type(e),upload:()=>$.current?.upload()}),[M]);let xe=Z.map(e=>e.key).join(`
|
|
2
|
-
`);(0,A.useEffect)(()=>{let e=_(E,Z);return()=>e.dispose()},[E,xe]);function Se(e){let t=X.openCommand(e);K(t??U.current?.value.length??I.length)}function Ce(){L(``),H([]),G.current=!1,o(e,{type:`chat/draftChanged`,draft:void 0})}function we(e){let t=I.trim();if(t===``)return;let n=fe(t,B,V);h(W===void 0?{type:`chat/turnStarted`,turnId:c(),startedAt:new Date().toISOString(),message:n}:e===`steer`?{type:`chat/pendingMessageSet`,kind:`steering`,id:c(),message:n}:{type:`chat/pendingMessageSet`,kind:`queued`,id:c(),message:n}),Ce()}let Te=be.find(e=>e.id===B)?.name??B;return(0,k.jsxs)(`div`,{className:`web-composer`,children:[X.pickerNode===null?null:(0,k.jsx)(`div`,{className:`web-composer__picker`,children:X.pickerNode}),d===void 0&&me.length===0?null:(0,k.jsxs)(`ul`,{className:`web-composer__queue`,children:[d===void 0?null:(0,k.jsxs)(`li`,{children:[(0,k.jsx)(`span`,{className:`web-chip`,"data-on":`true`,children:`Steering`}),(0,k.jsx)(`span`,{className:`web-composer__queued`,children:d.message.text}),(0,k.jsx)(a,{label:`Remove`,size:`sm`,onClick:()=>h({type:`chat/pendingMessageRemoved`,kind:`steering`,id:d.id})})]}),me.map((e,t)=>(0,k.jsxs)(`li`,{children:[(0,k.jsxs)(`span`,{className:`web-chip`,children:[`Next `,t+1]}),(0,k.jsx)(`span`,{className:`web-composer__queued`,children:e.message.text}),(0,k.jsx)(a,{label:`Remove`,size:`sm`,onClick:()=>h({type:`chat/pendingMessageRemoved`,kind:`queued`,id:e.id})})]},e.id))]}),(0,k.jsxs)(`div`,{className:`web-composer__box`,children:[V.length===0?null:(0,k.jsx)(`div`,{className:`web-composer__attached`,children:V.map((e,t)=>(0,k.jsxs)(`span`,{className:`web-attachment`,title:y(e,F)??C(e),children:[(0,k.jsx)(`span`,{className:`web-attachment__icon`,"aria-hidden":`true`,children:ne(e)}),(0,k.jsx)(`span`,{className:`web-attachment__label`,children:C(e)}),(0,k.jsx)(`button`,{type:`button`,className:`web-attachment__remove`,"aria-label":`Remove ${C(e)}`,onClick:()=>{G.current=!0,H(e=>e.filter((e,n)=>n!==t))},children:u.close})]},`${C(e)}-${t}`))}),(0,k.jsx)(`div`,{className:`web-composer__bar`,children:(0,k.jsx)(`textarea`,{ref:U,className:`web-composer__text`,rows:1,value:I,"aria-label":`Message`,placeholder:W===void 0?`Message the agent, / for commands, @ to refer to a file`:`Queue a message for after this turn, or steer it`,onChange:e=>{G.current=!0,L(e.currentTarget.value),z(e.currentTarget.selectionStart)},onFocus:()=>E.store.set(ae,N),onKeyUp:e=>z(e.currentTarget.selectionStart),onClick:e=>z(e.currentTarget.selectionStart),onKeyDown:e=>{if(!X.handleMenuKeyDown(e)){if(e.key===`Escape`&&W!==void 0){e.preventDefault(),Q();return}e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing&&(e.preventDefault(),we(e.altKey?`steer`:`send`))}}})}),(0,k.jsxs)(`div`,{className:`web-composer__foot`,children:[(0,k.jsx)(`button`,{type:`button`,className:`web-composer__add`,"aria-label":`Add context`,title:`Add context`,onClick:()=>Se(`ahp.composer.attach`),children:`+`}),(0,k.jsx)(`input`,{ref:he,type:`file`,multiple:!0,hidden:!0,onChange:e=>{ge(e.currentTarget.files),e.currentTarget.value=``}}),(0,k.jsxs)(`div`,{className:`web-composer__chips`,children:[F===void 0?null:(0,k.jsx)(P,{label:`${u.folder} ${l(F)}`,title:`The folder this session works in`}),(0,k.jsx)(P,{label:`${u.agents} ${j?.displayName??m.provider}`,title:j?.description??`The agent running this session`}),be.length===0?null:(0,k.jsx)(P,{label:`Model: ${Te??`default`}`,title:`The model the next message goes to`,onOpen:()=>Se(`ahp.composer.model`)}),Z.map(e=>(0,k.jsx)(P,{label:`${e.schema.title||e.key}: ${O(e)}`,title:e.schema.description??e.schema.title,...e.schema.type===`boolean`?{on:(e.value??e.schema.default)===!0}:{},...S(e.schema)?{onOpen:()=>Se(T(e.key))}:{}},e.key))]}),W===void 0?null:(0,k.jsx)(a,{label:`Stop`,size:`sm`,onClick:Q}),W===void 0?null:(0,k.jsx)(a,{label:`Steer`,size:`sm`,disabled:I.trim()===``,onClick:()=>we(`steer`)}),(0,k.jsx)(`span`,{title:W===void 0?`Enter sends, Shift+Enter breaks the line`:`Enter queues, Alt+Enter steers, Esc stops`,children:(0,k.jsx)(a,{label:W===void 0?`Send`:`Queue`,variant:`primary`,size:`sm`,disabled:I.trim()===``,onClick:()=>we(`send`)})})]})]})]})});export{L as a,P as i,de as n,I as o,F as r,pe as t};
|
|
@@ -1 +0,0 @@
|
|
|
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-DZ9lLGRe.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`&&n?.()}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[o,n]),(0,i.jsx)(`div`,{ref:u,className:[`oo-popup`,s].filter(Boolean).join(` `),style:{position:`fixed`,left:d.left,top:d.top,zIndex:9999,maxHeight:`calc(100vh - 8px)`,overflowY:`auto`,...c},onMouseDown:e=>e.stopPropagation(),children:l})}function s({spec:e,x:t,y:s,onClose:u,context:d,dataContext:f,inline:p}){let m=n(),[h,g]=(0,a.useState)(()=>p?[{component:p.component}]:[{spec:e}]),_=(0,a.useRef)(h);_.current=h;let v=(0,a.useRef)(!1);if(d&&!v.current){for(let[e,t]of Object.entries(d)){let n=e.startsWith(`$/`)?e:c(f,e);m.store.set(n,t)}v.current=!0}let y=(0,a.useMemo)(()=>({pushList:e=>g(t=>[...t,{spec:e}]),replaceList:e=>g(t=>{let n=t.slice(0,-1);return n.push({spec:e}),n}),openInline:(e,t)=>{g(n=>[...n,{component:(0,i.jsx)(l,{name:e,props:t})}])},openPopover:()=>{},back:()=>g(e=>e.length>1?e.slice(0,-1):e),closeMenu:u,keepOpen:()=>void 0,insertAtCursor:()=>void 0,replaceActiveToken:()=>void 0,query:``}),[u]),b=h[h.length-1],x=h.length>1?y.back:void 0;return(0,i.jsx)(o,{x:t,y:s,onClose:u,children:`component`in b?b.component:(0,i.jsx)(r,{spec:b.spec,hostCtx:y,onBack:x,dataContext:f})})}function c(e,t){return t.startsWith(`$/`)?t:e?`${e.endsWith(`/`)?e.slice(0,-1):e}${t.startsWith(`/`)?t:`/${t}`}`:t.startsWith(`/`)?`$${t}`:`$/${t}`}function l({name:e,props:t}){return(0,i.jsxs)(`div`,{style:{padding:12},children:[`[component: `,e,`]`]})}export{s as t};
|
|
@@ -1 +0,0 @@
|
|
|
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{V as r,c as i,q as a}from"./data-BvTv-4oH.js";import{n as o,t as s}from"./words-CrqnRMW4.js";import{g as c}from"./index-Cu7ySznN.js";import{a as l,i as u,r as d}from"./turn-BoF7W1h6.js";import{t as f}from"./channel-BScxZDq2.js";var p=t(),m=e();function h(){let e=n(c),t=n(i)?.find(t=>t.resource===e),h=f(t===void 0?void 0:e,a),g=f(h.state?.defaultChat??t?.defaultChat,r),_=g.state?.turns,v=(0,p.useMemo)(()=>u(_??[]),[_]);if(t===void 0)return(0,m.jsx)(`p`,{className:`web-note web-details__empty`,children:`Open a session to see its details.`});let y=t.workingDirectories?.[0],b=t.changes,x=t.origin,S=h.state?.activeClients.length??0,C=[[`Session`,t.title===``?`Untitled`:t.title],[`Agent`,t.provider]];return v.models.length>0&&C.push([`Model`,v.models.join(`, `)]),y!==void 0&&C.push([`Folder`,(0,m.jsx)(`code`,{children:o(y)},`f`)]),t.project!==void 0&&C.push([`Project`,t.project.displayName]),C.push([`Started`,l(t.createdAt)],[`Changed`,l(t.modifiedAt)]),v.turns>0&&(C.push([`Turns`,`${v.turns}${g.state?.turnsNextCursor===void 0?``:`+`}`]),C.push([`Working`,s(v.working)]),C.push([`Tokens`,`\u{2191}${d(v.input)} \u{2193}${d(v.output)}`]),v.tools>0&&C.push([`Tool calls`,String(v.tools)])),b!==void 0&&(b.additions!==void 0||b.deletions!==void 0)&&C.push([`Changes`,(0,m.jsxs)(`span`,{children:[(0,m.jsxs)(`span`,{className:`web-diff--add`,children:[`+`,b.additions??0]}),` `,(0,m.jsxs)(`span`,{className:`web-diff--remove`,children:[`-`,b.deletions??0]}),b.files===void 0?``:` in ${b.files} files`]},`c`)]),x!==void 0&&String(x.kind)===`automation`&&C.push([`From`,`An automation run`]),S>0&&C.push([`Watching`,String(S)]),(0,m.jsx)(`dl`,{className:`web-details`,children:C.map(([e,t])=>(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`dt`,{children:e}),(0,m.jsx)(`dd`,{children:t})]},e))})}export{h as default};
|
|
@@ -1 +0,0 @@
|
|
|
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"./Button-_R1oktDz.js";import{b as i}from"./data-BvTv-4oH.js";import{n as a}from"./words-CrqnRMW4.js";import{t as o}from"./Spinner-B-iOhBZq.js";import{t as s}from"./Alert-CHZkhmDE.js";import{n as c,r as l,t as u}from"./diff-eyYjrmkY.js";var d=t(),f=e(),p=async e=>e===void 0?``:(await i(e)).text;function m({file:e,before:t,after:i}){let m=n(),[h,g]=(0,d.useState)(null);(0,d.useEffect)(()=>{let e=!0;return g(null),Promise.all([p(t),p(i)]).then(([t,n])=>{e&&g({before:t,after:n})}).catch(t=>{e&&g({error:t instanceof Error?t.message:String(t)})}),()=>{e=!1}},[t,i]);let _=(0,d.useMemo)(()=>h===null||`error`in h||h.before===null||h.after===null?[]:c(h.before,h.after),[h]),v=e===void 0?``:a(e),y=u(_),b=(0,f.jsxs)(`div`,{className:`web-file__head`,children:[(0,f.jsx)(`code`,{children:v}),h!==null&&!(`error`in h)?(0,f.jsxs)(`span`,{children:[(0,f.jsxs)(`span`,{className:`web-diff--add`,children:[`+`,y.added]}),` `,(0,f.jsxs)(`span`,{className:`web-diff--remove`,children:[`-`,y.removed]}),t===void 0?` · new file`:i===void 0?` · deleted`:``]}):null,e===void 0||i===void 0?null:(0,f.jsx)(r,{label:`Open file`,size:`sm`,onClick:()=>void m.commands.execute(`ahp.openFile`,{uri:e})})]});return h===null?(0,f.jsxs)(`div`,{className:`web-file`,children:[b,(0,f.jsx)(o,{label:`Reading both sides`})]}):`error`in h?(0,f.jsxs)(`div`,{className:`web-file`,children:[b,(0,f.jsx)(s,{tone:`danger`,title:`Not readable`,message:h.error})]}):h.before===null||h.after===null?(0,f.jsxs)(`div`,{className:`web-file`,children:[b,(0,f.jsx)(`p`,{className:`web-note`,children:`This file is not text.`})]}):_.length===0?(0,f.jsxs)(`div`,{className:`web-file`,children:[b,(0,f.jsx)(`p`,{className:`web-note`,children:`No changes.`})]}):(0,f.jsxs)(`div`,{className:`web-file`,children:[b,(0,f.jsx)(`div`,{className:`web-file__body`,children:(0,f.jsx)(`table`,{className:`web-code web-diff`,children:(0,f.jsx)(`tbody`,{children:_.map((e,t)=>[(0,f.jsx)(`tr`,{className:`web-diff__hunk`,children:(0,f.jsx)(`td`,{colSpan:3,children:l(e)})},`h${t}`),...e.lines.map((e,n)=>(0,f.jsxs)(`tr`,{"data-kind":e.kind,children:[(0,f.jsx)(`td`,{className:`web-code__number`,children:e.before??``}),(0,f.jsx)(`td`,{className:`web-code__number`,children:e.after??``}),(0,f.jsxs)(`td`,{className:`web-code__text`,children:[e.kind===`add`?`+`:e.kind===`del`?`-`:` `,e.text]})]},`${t}:${n}`))])})})})]})}export{m as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{n as r}from"./ScenaProvider-6A3TJumQ.js";import{t as i}from"./Button-_R1oktDz.js";import{G as a,d as o,g as s,i as c,n as l}from"./data-BvTv-4oH.js";import{i as u,n as d}from"./words-CrqnRMW4.js";import{t as f}from"./Spinner-B-iOhBZq.js";import{t as p}from"./Alert-CHZkhmDE.js";import{t as m}from"./Text-MPtQvYE-.js";import{a as h,i as g,o as _,r as v}from"./index-Cu7ySznN.js";import{t as y}from"./channel-BScxZDq2.js";var b=t(),x=e(),S=[{label:`By hand only`,expression:``},{label:`Every 10 minutes`,expression:`*/10 * * * *`},{label:`Every hour`,expression:`0 * * * *`},{label:`Every 6 hours`,expression:`0 */6 * * *`},{label:`Every day at 09:00`,expression:`0 9 * * *`},{label:`Weekdays at 09:00`,expression:`0 9 * * 1-5`},{label:`Every Monday at 05:00`,expression:`0 5 * * 1`}];function C({label:e,hint:t,children:n}){return(0,x.jsxs)(`label`,{className:`web-form__field`,children:[(0,x.jsx)(`span`,{className:`web-input__label`,children:e}),n,t===void 0?null:(0,x.jsx)(`span`,{className:`web-input__hint`,children:t})]})}function w({resource:e}){let t=r(),{state:w,error:T}=y(o,a),E=n(`$/ahp/agents`)??[],D=n(l),O=n(c),k=e===void 0?void 0:w?.entries.find(t=>t.resource===e),[A,j]=(0,b.useState)(null);if(T!==null)return(0,x.jsx)(p,{tone:`danger`,title:`No automations`,message:T});if(w===void 0)return(0,x.jsx)(f,{label:`Reading the automations`});if(e!==void 0&&k===void 0)return(0,x.jsx)(p,{tone:`warning`,message:`This automation is gone.`});if(e===void 0&&D?.create===void 0)return(0,x.jsx)(p,{tone:`warning`,message:`This host does not let clients create automations.`});let M=A??h(k,{...E[0]===void 0?{}:{provider:E[0].provider},...O==null?{}:{folder:d(O)}}),N=e=>j({...M,...e}),P=E.find(e=>e.provider===M.provider),F=_(M),I=D?.schedules?.minIntervalMinutes,L=S.find(e=>e.expression===M.expression.trim());return(0,x.jsxs)(`div`,{className:`web-page web-form`,children:[(0,x.jsx)(m,{variant:`h2`,text:k===void 0?`New automation`:`Edit ${k.definition.title||`automation`}`}),(0,x.jsx)(C,{label:`Title`,children:(0,x.jsx)(`input`,{className:`web-field`,value:M.title,onChange:e=>N({title:e.target.value})})}),(0,x.jsx)(C,{label:`Message`,hint:`What the agent is told each time it runs.`,children:(0,x.jsx)(`textarea`,{className:`web-field web-form__message`,rows:5,value:M.message,onChange:e=>N({message:e.target.value})})}),(0,x.jsxs)(`div`,{className:`web-form__row`,children:[(0,x.jsx)(C,{label:`Agent`,children:(0,x.jsxs)(`select`,{className:`web-field`,value:M.provider,onChange:e=>N({provider:e.target.value,model:``}),children:[(0,x.jsx)(`option`,{value:``,children:`The host default`}),E.map(e=>(0,x.jsx)(`option`,{value:e.provider,children:e.displayName},e.provider))]})}),(0,x.jsx)(C,{label:`Model`,children:(0,x.jsxs)(`select`,{className:`web-field`,value:M.model,onChange:e=>N({model:e.target.value}),children:[(0,x.jsx)(`option`,{value:``,children:`The agent default`}),(P?.models??[]).map(e=>(0,x.jsx)(`option`,{value:e.id,children:e.name},e.id))]})})]}),(0,x.jsx)(C,{label:`Folder`,hint:`A folder on the daemon's machine.`,children:(0,x.jsx)(`input`,{className:`web-field`,value:M.folder,onChange:e=>N({folder:e.target.value})})}),(0,x.jsxs)(`div`,{className:`web-form__row`,children:[(0,x.jsx)(C,{label:`Schedule`,children:(0,x.jsxs)(`select`,{className:`web-field`,value:L?.expression??`custom`,onChange:e=>{e.target.value!==`custom`&&N({expression:e.target.value})},children:[S.map(e=>(0,x.jsx)(`option`,{value:e.expression,children:e.label},e.label)),(0,x.jsx)(`option`,{value:`custom`,children:`Custom`})]})}),(0,x.jsx)(C,{label:`Cron expression`,hint:`${M.expression.trim()===``?`Runs only when started by hand.`:v(M.expression)}${I===void 0?``:` At most every ${I} minutes.`}`,children:(0,x.jsx)(`input`,{className:`web-field`,value:M.expression,placeholder:`minute hour day month weekday`,onChange:e=>N({expression:e.target.value})})})]}),M.expression.trim()===``?null:(0,x.jsxs)(`div`,{className:`web-form__row`,children:[(0,x.jsx)(C,{label:`Time zone`,children:(0,x.jsx)(`input`,{className:`web-field`,value:M.timeZone,onChange:e=>N({timeZone:e.target.value})})}),(0,x.jsx)(C,{label:`Missed runs`,hint:`What happens to a run due while the daemon was down.`,children:(0,x.jsxs)(`select`,{className:`web-field`,value:M.misfire,onChange:e=>N({misfire:e.target.value===`runOnce`?`runOnce`:`skip`}),children:[(0,x.jsx)(`option`,{value:`skip`,children:`Skip them`}),(0,x.jsx)(`option`,{value:`runOnce`,children:`Run once when back`})]})})]}),(0,x.jsxs)(`div`,{className:`web-form__row`,children:[(0,x.jsx)(C,{label:`Turn off after runs`,hint:`Empty keeps it on.`,children:(0,x.jsx)(`input`,{className:`web-field`,inputMode:`numeric`,value:M.afterRuns,onChange:e=>N({afterRuns:e.target.value})})}),(0,x.jsx)(C,{label:`Turn off after`,hint:`Empty keeps it on.`,children:(0,x.jsx)(`input`,{className:`web-field`,type:`date`,value:M.afterDate,onChange:e=>N({afterDate:e.target.value})})})]}),(0,x.jsxs)(`label`,{className:`web-input__row`,children:[(0,x.jsx)(`input`,{type:`checkbox`,checked:M.enabled,onChange:e=>N({enabled:e.target.checked})}),(0,x.jsx)(`span`,{children:`On`})]}),F===void 0?null:(0,x.jsx)(`p`,{className:`web-note`,children:F}),(0,x.jsxs)(`div`,{className:`web-page__actions`,children:[(0,x.jsx)(i,{label:k===void 0?`Create`:`Save`,variant:`primary`,disabled:F!==void 0,onClick:()=>{if(F!==void 0)return;let e=g(M,k?.definition);if(k===void 0){let n=`ahp-automation:/${u()}`;s(o,{type:`automation/createRequested`,resource:n,definition:e}),t.surfaces.close(`automation:new`),t.commands.execute(`ahp.openAutomation`,{resource:n})}else s(o,{type:`automation/updateRequested`,resource:k.resource,changes:e}),t.surfaces.close(`automation:edit:${k.resource}`),t.commands.execute(`ahp.openAutomation`,{resource:k.resource})}}),(0,x.jsx)(i,{label:`Cancel`,onClick:()=>t.surfaces.close(k===void 0?`automation:new`:`automation:edit:${k.resource}`)})]})]})}export{w as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{n as r}from"./ScenaProvider-6A3TJumQ.js";import{C as i,F as a,L as o,R as s,c,g as l,r as u,w as d,z as f}from"./data-BvTv-4oH.js";import{n as p}from"./words-CrqnRMW4.js";import{t as m}from"./emojis-XibTG-gy.js";import{t as h}from"./Spinner-B-iOhBZq.js";import{t as g}from"./Alert-CHZkhmDE.js";import{N as _,g as v,j as y}from"./index-Cu7ySznN.js";import{t as b}from"./ExplorerList-Cecr_ZQS.js";var x=t(),S=[{id:`none`,label:`No groups`},{id:`folder`,label:`Group by folder`},{id:`status`,label:`Group by status`},{id:`agent`,label:`Group by agent`}],C=[{key:`input`,label:`Needs you`},{key:`running`,label:`Running`},{key:`error`,label:`Failed`},{key:`unread`,label:`Unread`},{key:`idle`,label:`Idle`},{key:`archived`,label:`Archived`}];function w(e){if(s(e.status))return C[5];let t=o(e.status);return t===`idle`&&!f(e.status)?C[3]:C.find(e=>e.key===t)}function T(e,t,n){switch(t){case`none`:return;case`status`:return w(e);case`agent`:return{key:e.provider,label:n(e.provider)};case`folder`:{let t=e.workingDirectories?.[0];return t===void 0?{key:``,label:`No folder`}:{key:t,label:p(t)}}}}function E(e,t,n){if(n===`none`)return[...e];let r=new Map;n===`status`&&C.forEach((e,t)=>r.set(e.key,t));for(let n of e){let e=t(n)?.key??``;r.has(e)||r.set(e,r.size+C.length)}return e.map((e,n)=>({item:e,index:n,rank:r.get(t(e)?.key??``)})).sort((e,t)=>e.rank-t.rank||e.index-t.index).map(e=>e.item)}var D=e(),O=`ahpd-web.session-grouping`;function k(){try{let e=localStorage.getItem(O);return S.some(t=>t.id===e)?e:`none`}catch{return`none`}}function A(e){try{localStorage.setItem(O,e)}catch{}}var j=new Intl.DateTimeFormat(void 0,{hour:`2-digit`,minute:`2-digit`}),M=new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`});function N(e,t=new Date){let n=new Date(e);return Number.isNaN(n.getTime())?``:(n.toDateString()===t.toDateString()?j:M).format(n)}var P={input:`attention`,running:`working`,error:`failed`,idle:`quiet`},F=e=>p(e).replace(/\/+$/,``).split(`/`).pop()??e;function I(e,t){let n=f(e.status),r=s(e.status),i=t=>l(e.resource,t);return[{title:`Open`,onSelect:e=>{e.closeMenu(),t()}},{title:`Rename`,onSelect:t=>{t.closeMenu();let n=window.prompt(`Rename the session`,e.title)?.trim();n!==void 0&&n!==``&&n!==e.title&&i({type:`session/titleChanged`,title:n})}},{title:n?`Mark as unread`:`Mark as read`,onSelect:e=>{e.closeMenu(),i({type:`session/isReadChanged`,isRead:!n})}},{title:r?`Unarchive`:`Archive`,onSelect:e=>{e.closeMenu(),i({type:`session/isArchivedChanged`,isArchived:!r})}},{title:`Copy link`,group:`more`,onSelect:t=>{t.closeMenu(),navigator.clipboard?.writeText(e.resource).catch(()=>void 0)}},{title:`Delete`,group:`more`,color:`red`,onSelect:t=>{t.closeMenu(),_({title:`Delete "${e.title||`Untitled`}"?`,body:`Its history goes with it.`,confirmLabel:`Delete`,tone:`danger`}).then(t=>{t&&d(`disposeSession`,{channel:e.resource}).catch(e=>y(`The session could not be deleted`,e))})}}]}function L(){let e=r(),t=n(u),l=n(c),d=n(`$/ahp/agents`)??[],p=n(v),[_,y]=(0,x.useState)(!1),[C,w]=(0,x.useState)(k),O=e=>{w(e),A(e)},[j,M]=(0,x.useState)(!1),L=t=>void e.commands.execute(`ahp.openSession`,{resource:t}),R=(0,x.useMemo)(()=>{let e=e=>d.find(t=>t.provider===e)?.displayName??e;return E((l??[]).filter(e=>_||!s(e.status)),t=>T(t,C,e),C).map(t=>{let n=o(t.status),r=n===`idle`&&!f(t.status),i=e(t.provider),c=T(t,C,e),l=t.workingDirectories?.[0],u=[i,l===void 0?void 0:F(l)].filter(e=>e!==void 0).join(` · `),d=t.changes,p=n===`idle`?d!==void 0&&(d.additions??0)+(d.deletions??0)>0?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`span`,{className:`web-diff--add`,children:[`+`,d.additions??0]}),` `,(0,D.jsxs)(`span`,{className:`web-diff--remove`,children:[`-`,d.deletions??0]}),d.files===void 0?``:` \u{00B7} ${d.files} files`]}):void 0:`${a[n]}${t.activity===void 0||t.activity===``?``:` \u{00B7} ${t.activity}`}`;return{key:t.resource,dot:s(t.status)?`off`:r?`fresh`:P[n],dotLabel:s(t.status)?`Archived`:r?`Unread`:a[n],title:t.title===``?`Untitled`:t.title,time:N(t.modifiedAt),lines:p===void 0?[u]:[u,p],menu:I(t,()=>L(t.resource)),strong:r,...c===void 0?{}:{group:c}}})},[l,d,_,C]),z=()=>{M(!0),i().catch(()=>void 0).finally(()=>M(!1))},B=t?.status===`failed`?(0,D.jsx)(g,{tone:`danger`,title:`Not connected`,message:t.error??`The daemon refused the connection.`}):t?.status!==`connected`&&l===void 0?(0,D.jsx)(h,{label:`Connecting to the daemon`}):R.length===0?(0,D.jsx)(`p`,{className:`web-note`,children:_?`No sessions.`:`No sessions yet.`}):null;return(0,D.jsx)(b,{title:`Sessions`,actions:[{icon:`+`,label:`New session`,run:()=>void e.commands.execute(`ahp.newSession`)},{icon:m.reload,label:j?`Reloading`:`Reload`,run:z,busy:j},{icon:m.archived,label:_?`Hide archived`:`Show archived`,run:()=>y(!_),on:_},{icon:m.group,label:`Group sessions`,on:C!==`none`,menu:S.map(e=>({title:e.label,...e.id===C?{description:`Current`}:{},onSelect:t=>{t.closeMenu(),O(e.id)}}))}],rows:R,selected:p??null,onOpen:L,notice:B,filterLabel:`Filter sessions`})}export{L as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{n as r}from"./ScenaProvider-6A3TJumQ.js";import{t as i}from"./Button-_R1oktDz.js";import{J as a,S as o,c as s,g as c,q as l,w as u}from"./data-BvTv-4oH.js";import{a as d,n as f}from"./words-CrqnRMW4.js";import{t as p}from"./emojis-XibTG-gy.js";import{t as m}from"./Spinner-B-iOhBZq.js";import{t as h}from"./Alert-CHZkhmDE.js";import{N as g,g as _,n as v,t as y}from"./index-Cu7ySznN.js";import{t as b}from"./ExplorerList-Cecr_ZQS.js";import{t as x}from"./channel-BScxZDq2.js";var S=t();function C(e){return(e??[]).filter(e=>!e.uriTemplate.includes(`{`)).map(e=>({label:e.label,uri:e.uriTemplate,kind:String(e.changeKind),...e.description===void 0?{}:{description:e.description},review:e.capabilities?.review!==void 0}))}var w=e=>e.find(e=>e.kind===`session`)??e[0];function T(e){let{before:t,after:n,diff:r}=e.edit,i=n?.uri??t?.uri??e.id,a=f(i),o=a.lastIndexOf(`/`);return{id:e.id,file:i,name:o<0?a:a.slice(o+1),dir:o<0?``:a.slice(0,o),status:t===void 0?`added`:n===void 0?`deleted`:`modified`,...r?.added===void 0?{}:{added:r.added},...r?.removed===void 0?{}:{removed:r.removed},reviewed:e.reviewed===!0,...t?.content.uri===void 0?{}:{before:t.content.uri},...n?.content.uri===void 0?{}:{after:n.content.uri}}}function E(e,t){if(t===null)return e;let n=f(t).replace(/\/+$/,``);return e===n?`.`:e.startsWith(`${n}/`)?e.slice(n.length+1):e}var D=e(),O={added:`ok`,modified:`fresh`,deleted:`failed`},k={added:`Added`,modified:`Changed`,deleted:`Deleted`},A=(e,t)=>e.scopes.map(String).includes(t);function j(){let e=r(),t=n(_),f=n(s)?.find(e=>e.resource===t),j=x(t,l),M=(0,S.useMemo)(()=>C(j.state?.changesets),[j.state?.changesets]),[N,P]=(0,S.useState)(void 0),F=M.find(e=>e.uri===N)??w(M),I=x(F?.uri,a),[L,R]=(0,S.useState)(null),z=f?.workingDirectories?.[0]??null;(0,S.useEffect)(()=>R(null),[F?.uri]);let B=async(t,n)=>{if(F===void 0)return;let r=d(t.confirmation);(r===``||await g({title:r,confirmLabel:t.label}))&&(R(null),u(`invokeChangesetOperation`,{channel:F.uri,operationId:t.id,...n===void 0?{}:{target:{kind:`resource`,resource:n.file}}}).then(t=>{let n=t;n?.message!==void 0&&R({tone:`info`,text:d(n.message)}),n?.followUp?.external===void 0?n?.followUp?.content!==void 0&&e.commands.execute(`ahp.openFile`,{uri:n.followUp.content.uri}):window.open(n.followUp.external,`_blank`,`noopener`)}).catch(e=>R({tone:`danger`,text:e instanceof Error?e.message:String(e)})))},V=t=>void e.commands.execute(`ahp.openDiff`,{file:t.file,...t.before===void 0?{}:{before:t.before},...t.after===void 0?{}:{after:t.after}}),H=(0,S.useMemo)(()=>(I.state?.files??[]).map(T),[I.state?.files]),U=I.state?.operations??[],W=(0,S.useMemo)(()=>H.map(t=>{let n=[{title:`Open change`,onSelect:e=>{e.closeMenu(),V(t)}}];t.status!==`deleted`&&(n.push({title:`Open file`,onSelect:n=>{n.closeMenu(),e.commands.execute(`ahp.openFile`,{uri:t.file})}}),n.push(...y(e,t.file,v(e,t.file)[0]?.component??null))),F?.review===!0&&n.push({title:t.reviewed?`Mark as not reviewed`:`Mark as reviewed`,onSelect:e=>{e.closeMenu(),F!==void 0&&c(F.uri,{type:`changeset/filesReviewChanged`,files:[t.id],reviewed:!t.reviewed})}});for(let e of U.filter(e=>A(e,`resource`)))n.push({title:e.label,group:`file`,...e.description===void 0?{}:{description:e.description},onSelect:n=>{n.closeMenu(),B(e,t)}});let r=t.added===void 0&&t.removed===void 0?k[t.status]:(0,D.jsxs)(D.Fragment,{children:[k[t.status],` `,(0,D.jsxs)(`span`,{className:`web-diff--add`,children:[`+`,t.added??0]}),` `,(0,D.jsxs)(`span`,{className:`web-diff--remove`,children:[`-`,t.removed??0]})]});return{key:t.id,dot:t.reviewed?`off`:O[t.status],dotLabel:t.reviewed?`${k[t.status]}, reviewed`:k[t.status],title:t.name,lines:[E(t.dir,z),r],menu:n,strong:!t.reviewed}}),[H,U,F?.uri,F?.review,z]),G=String(I.state?.status??``),K=U.filter(e=>A(e,`changeset`)),q=(0,D.jsxs)(D.Fragment,{children:[t===void 0?(0,D.jsx)(`p`,{className:`web-note web-explorer__empty`,children:`Open a session to see what it changed.`}):null,t!==void 0&&j.state!==void 0&&M.length===0?(0,D.jsx)(`p`,{className:`web-note web-explorer__empty`,children:`This session tracks no changes.`}):null,M.length>1?(0,D.jsx)(`select`,{className:`web-explorer__filter web-changes__scope`,"aria-label":`Which changes`,value:F?.uri??``,onChange:e=>P(e.target.value),children:M.map(e=>(0,D.jsx)(`option`,{value:e.uri,children:e.label},e.uri))}):null,K.length===0?null:(0,D.jsx)(`div`,{className:`web-changes__ops`,children:K.map(e=>(0,D.jsx)(i,{label:String(e.status)===`running`?`${e.label}\u{2026}`:e.label,size:`sm`,disabled:String(e.status)===`running`,onClick:()=>void B(e)},e.id))}),L===null?null:(0,D.jsx)(h,{tone:L.tone,message:L.text}),I.error===null?null:(0,D.jsx)(h,{tone:`danger`,title:`Changes not readable`,message:I.error}),I.state?.error===void 0?null:(0,D.jsx)(h,{tone:`danger`,message:I.state.error.message}),F!==void 0&&(I.state===void 0||G===`computing`)&&I.error===null?(0,D.jsx)(m,{label:`Working out the changes`}):null,I.state!==void 0&&G!==`computing`&&H.length===0?(0,D.jsx)(`p`,{className:`web-note web-explorer__empty`,children:`No changes.`}):null]});return(0,D.jsx)(b,{title:f===void 0?`Changes`:`Changes \u{00B7} ${f.title||`Untitled`}`,actions:F===void 0?[]:[{icon:p.reload,label:`Reload`,run:()=>void o(F.uri)}],rows:W,selected:null,onOpen:e=>{let t=H.find(t=>t.id===e);t!==void 0&&V(t)},notice:q,filterLabel:`Filter files`})}export{j as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{n as r}from"./ScenaProvider-6A3TJumQ.js";import{G as i,S as a,d as o,n as s}from"./data-BvTv-4oH.js";import{t as c}from"./emojis-XibTG-gy.js";import{t as l}from"./Spinner-B-iOhBZq.js";import{t as u}from"./Alert-CHZkhmDE.js";import{c as d,d as f,f as p,j as m,l as h,p as g,s as _}from"./index-Cu7ySznN.js";import{t as v}from"./ExplorerList-Cecr_ZQS.js";import{t as y}from"./channel-BScxZDq2.js";import{i as b,n as x}from"./actions-DTKyI167.js";var S=t(),C=e(),w={running:`working`,failed:`failed`,on:`ok`,off:`off`},T={running:`Running`,failed:`Last run failed`,on:`On`,off:`Off`},E={pending:`waiting`,running:`running`,completed:`done`,failed:`failed`,cancelled:`stopped`},D=new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}),O=e=>{if(e===void 0)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:D.format(t)},k=e=>m(`The automation could not run`,e);function A(){let e=r(),{state:t,error:m}=y(o,i),D=n(s),A=n(g),j=t=>void e.commands.execute(`ahp.openAutomation`,{resource:t}),M=t=>void e.commands.execute(`ahp.editAutomation`,{resource:t}),N=(0,S.useMemo)(()=>[...t?.entries??[]].sort((e,t)=>f(e).localeCompare(f(t))).map(e=>{let t=h(e),n=d(e)[0],r=n===void 0?void 0:_(n),i=e.definition.session.provider,a=e.runCount??e.runs.length;return{key:e.resource,dot:w[t],dotLabel:T[t],title:f(e),...e.nextRunAt===void 0||!e.definition.enabled?{}:{time:O(e.nextRunAt)},lines:[[p(e),i].filter(e=>e!==void 0).join(` · `),r===void 0?`Never run`:`${a} ${a===1?`run`:`runs`} \u{00B7} last ${E[r.status]??r.status} ${O(r.at)}`],menu:x(e,()=>j(e.resource),()=>M(e.resource)),...e.operations.map(String).includes(`run`)?{action:{icon:c.run,label:`Run now`,run:()=>void b(e).catch(k)}}:{}}}),[t]),P=m===null?t===void 0?(0,C.jsx)(l,{label:`Reading the automations`}):N.length===0?(0,C.jsx)(`p`,{className:`web-note web-explorer__empty`,children:`No automations yet.`}):null:(0,C.jsx)(u,{tone:`danger`,title:`No automations`,message:m});return(0,C.jsx)(v,{title:`Automations`,actions:[...D?.create===void 0?[]:[{icon:`+`,label:`New automation`,run:()=>void e.commands.execute(`ahp.newAutomation`)}],{icon:c.reload,label:`Reload`,run:()=>void a(o)}],rows:N,selected:A??null,onOpen:j,notice:P,filterLabel:`Filter automations`})}export{A as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./Spinner-B-iOhBZq.js";import{t as r}from"./Alert-CHZkhmDE.js";import{i}from"./diff-eyYjrmkY.js";import{n as a,t as o}from"./text-DJDdwKmv.js";var s=t(),c=e(),l=5e3;function u({uri:e,line:t,end:u}){let d=a(e),f=(0,s.useRef)(null);if((0,s.useEffect)(()=>{f.current?.scrollIntoView({block:`center`})},[d,t]),e===void 0)return(0,c.jsx)(r,{tone:`warning`,message:`No file was named.`});let p=(0,c.jsx)(o,{uri:e});if(d===null)return(0,c.jsxs)(`div`,{className:`web-file`,children:[p,(0,c.jsx)(n,{label:`Reading the file`})]});if(`error`in d)return(0,c.jsxs)(`div`,{className:`web-file`,children:[p,(0,c.jsx)(r,{tone:`danger`,title:`Not readable`,message:d.error})]});if(d.text===null)return(0,c.jsxs)(`div`,{className:`web-file`,children:[p,(0,c.jsx)(`p`,{className:`web-note`,children:`This file is not text.`})]});let m=i(d.text),h=m.slice(0,l),g=t??-1,_=u??g;return(0,c.jsxs)(`div`,{className:`web-file`,children:[p,(0,c.jsxs)(`div`,{className:`web-file__body`,children:[(0,c.jsx)(`table`,{className:`web-code`,children:(0,c.jsx)(`tbody`,{children:h.map((e,t)=>{let n=t+1;return(0,c.jsxs)(`tr`,{"data-hit":n>=g&&n<=_?`true`:`false`,...n===g?{ref:f}:{},children:[(0,c.jsx)(`td`,{className:`web-code__number`,children:n}),(0,c.jsx)(`td`,{className:`web-code__text`,children:e})]},n)})})}),m.length>l?(0,c.jsxs)(`p`,{className:`web-note`,children:[`Showing the first `,l,` of `,m.length,` lines.`]}):null]})]})}export{u as default};
|