hermes-web-ui 0.1.2 → 0.1.3
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 +117 -408
- package/bin/hermes-web-ui.mjs +111 -97
- package/dist/assets/{ChatView-WnNeYrS7.js → ChatView-BBqtEbUW.js} +20 -20
- package/dist/assets/ChatView-DC6_7Uwg.css +1 -0
- package/dist/assets/JobsView-sQ8sqrxF.js +356 -0
- package/dist/assets/LogsView-BN_TkDPi.css +1 -0
- package/dist/assets/LogsView-DukKyFJt.js +1 -0
- package/dist/assets/Modal-oIDM0xXN.js +232 -0
- package/dist/assets/Spin-zWt--szS.js +476 -0
- package/dist/assets/Tooltip-BGvPCNBt.js +1 -0
- package/dist/assets/Warning-B9_T2nKK.js +1 -0
- package/dist/assets/_plugin-vue_export-helper-V8xgnEJh.js +231 -0
- package/dist/assets/chat-CGF6ipPC.js +5 -0
- package/dist/assets/fade-in-scale-up.cssr-DQYNrBys.js +45 -0
- package/dist/assets/index-BsLYVWlc.js +307 -0
- package/dist/assets/index-DDAe8BhJ.css +1 -0
- package/dist/assets/{jobs-Cuol6Mqb.js → jobs-QHXENDTQ.js} +1 -1
- package/dist/assets/use-message-42wmA96q.js +117 -0
- package/dist/index.html +8 -6
- package/dist/server/config.d.ts +7 -0
- package/dist/server/config.js +12 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +154 -0
- package/dist/server/routes/logs.d.ts +2 -0
- package/dist/server/routes/logs.js +87 -0
- package/dist/server/routes/proxy-handler.d.ts +2 -0
- package/dist/server/routes/proxy-handler.js +82 -0
- package/dist/server/routes/proxy.d.ts +2 -0
- package/dist/server/routes/proxy.js +12 -0
- package/dist/server/routes/sessions.d.ts +2 -0
- package/dist/server/routes/sessions.js +69 -0
- package/dist/server/routes/upload.d.ts +2 -0
- package/dist/server/routes/upload.js +50 -0
- package/dist/server/routes/webhook.d.ts +2 -0
- package/dist/server/routes/webhook.js +33 -0
- package/dist/server/services/hermes-cli.d.ts +50 -0
- package/dist/server/services/hermes-cli.js +185 -0
- package/dist/server/services/hermes.d.ts +40 -0
- package/dist/server/services/hermes.js +118 -0
- package/package.json +19 -4
- package/dist/assets/ChatView-DrzZz5ex.css +0 -1
- package/dist/assets/JobsView-BF9wWdwU.js +0 -831
- package/dist/assets/Modal-CQVLL_Oc.js +0 -276
- package/dist/assets/_plugin-vue_export-helper-D5N3Hfca.js +0 -231
- package/dist/assets/chat-640V6r6N.js +0 -1
- package/dist/assets/index-4iFlrAYJ.js +0 -307
- package/dist/assets/index-CMJKLUKk.css +0 -1
- package/dist/assets/use-message-B8ClBznx.js +0 -117
- /package/dist/assets/{client-BxIiwrqC.js → client-ZYGCrm9m.js} +0 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import{$t as e,A as t,B as n,Bn as r,Cn as i,Ct as a,D as o,Dn as s,Dt as c,E as l,En as u,F as d,Ft as f,G as p,H as m,I as h,In as g,It as _,J as v,Jt as y,K as b,Kt as x,L as S,Lt as C,M as w,Mt as T,N as ee,Nn as E,Nt as te,O as D,On as ne,Ot as re,P as ie,Q as ae,Qn as O,Qt as oe,R as se,Rt as k,Sn as A,St as ce,Tt as le,U as j,Un as M,V as ue,Vn as de,W as fe,X as pe,Xt as me,Y as he,Yt as N,Z as ge,Zt as _e,_t as ve,an as ye,b as be,bt as xe,cn as Se,d as Ce,dt as we,fn as Te,j as Ee,jn as P,jt as De,k as Oe,l as ke,lt as Ae,mn as F,mt as je,n as Me,nr as I,nt as Ne,ot as Pe,pn as Fe,pt as L,q as Ie,rn as Le,rt as Re,tt as ze,u as Be,un as Ve,ut as He,w as Ue,wn as R,wt as We,x as Ge,xt as Ke,z as qe}from"./_plugin-vue_export-helper-V8xgnEJh.js";var z=[],Je=new WeakMap;function Ye(){z.forEach(e=>e(...Je.get(e))),z=[]}function Xe(e,...t){Je.set(e,t),!z.includes(e)&&z.push(e)===1&&requestAnimationFrame(Ye)}var Ze=f?document?.fonts?.ready:void 0,B=!1;Ze===void 0?B=!0:Ze.then(()=>{B=!0});function Qe(e){if(B)return;let t=!1;E(()=>{B||Ze?.then(()=>{t||e()})}),P(()=>{t=!0})}function $e(e,t){return r(e,e=>{e!==void 0&&(t.value=e)}),F(()=>e.value===void 0?t.value:e.value)}function et(e,t){return F(()=>{for(let n of t)if(e[n]!==void 0)return e[n];return e[t[t.length-1]]})}var tt=T(`n-internal-select-menu`),nt=T(`n-internal-select-menu-body`),rt=`__disabled__`;function V(e){let t=u(re,null),n=u(De,null),r=u(c,null),i=u(nt,null),a=O();if(typeof document<`u`){a.value=document.fullscreenElement;let e=()=>{a.value=document.fullscreenElement};E(()=>{k(`fullscreenchange`,document,e)}),P(()=>{C(`fullscreenchange`,document,e)})}return _(()=>{let{to:o}=e;return o===void 0?t?.value?t.value.$el??t.value:n?.value?n.value:r?.value?r.value:i?.value?i.value:o??(a.value||`body`):o===!1?rt:o===!0?a.value||`body`:o})}V.tdkey=rt,V.propTo={type:[String,Object,Boolean],default:void 0};var H=null;function it(){if(H===null&&(H=document.getElementById(`v-binder-view-measurer`),H===null)){H=document.createElement(`div`),H.id=`v-binder-view-measurer`;let{style:e}=H;e.position=`fixed`,e.left=`0`,e.right=`0`,e.top=`0`,e.bottom=`0`,e.pointerEvents=`none`,e.visibility=`hidden`,document.body.appendChild(H)}return H.getBoundingClientRect()}function at(e,t){let n=it();return{top:t,left:e,height:0,width:0,right:n.width-e,bottom:n.height-t}}function ot(e){let t=e.getBoundingClientRect(),n=it();return{left:t.left-n.left,top:t.top-n.top,bottom:n.height+n.top-t.bottom,right:n.width+n.left-t.right,width:t.width,height:t.height}}function st(e){return e.nodeType===9?null:e.parentNode}function ct(e){if(e===null)return null;let t=st(e);if(t===null)return null;if(t.nodeType===9)return document;if(t.nodeType===1){let{overflow:e,overflowX:n,overflowY:r}=getComputedStyle(t);if(/(auto|scroll|overlay)/.test(e+r+n))return t}return ct(t)}var lt=A({name:`Binder`,props:{syncTargetWithParent:Boolean,syncTarget:{type:Boolean,default:!0}},setup(e){g(`VBinder`,i()?.proxy);let t=u(`VBinder`,null),n=O(null),r=r=>{n.value=r,t&&e.syncTargetWithParent&&t.setTargetRef(r)},a=[],o=()=>{let e=n.value;for(;e=ct(e),e!==null;)a.push(e);for(let e of a)k(`scroll`,e,f,!0)},s=()=>{for(let e of a)C(`scroll`,e,f,!0);a=[]},c=new Set,l=e=>{c.size===0&&o(),c.has(e)||c.add(e)},d=e=>{c.has(e)&&c.delete(e),c.size===0&&s()},f=()=>{Xe(p)},p=()=>{c.forEach(e=>e())},m=new Set,h=e=>{m.size===0&&k(`resize`,window,v),m.has(e)||m.add(e)},_=e=>{m.has(e)&&m.delete(e),m.size===0&&C(`resize`,window,v)},v=()=>{m.forEach(e=>e())};return P(()=>{C(`resize`,window,v),s()}),{targetRef:n,setTargetRef:r,addScrollListener:l,removeScrollListener:d,addResizeListener:h,removeResizeListener:_}},render(){return le(`binder`,this.$slots)}}),ut=A({name:`Target`,setup(){let{setTargetRef:e,syncTarget:t}=u(`VBinder`);return{syncTarget:t,setTargetDirective:{mounted:e,updated:e}}},render(){let{syncTarget:e,setTargetDirective:t}=this;return e?M(We(`follower`,this.$slots),[[t]]):We(`follower`,this.$slots)}}),U=`@@mmoContext`,dt={mounted(e,{value:t}){e[U]={handler:void 0},typeof t==`function`&&(e[U].handler=t,k(`mousemoveoutside`,e,t))},updated(e,{value:t}){let n=e[U];typeof t==`function`?n.handler?n.handler!==t&&(C(`mousemoveoutside`,e,n.handler),n.handler=t,k(`mousemoveoutside`,e,t)):(e[U].handler=t,k(`mousemoveoutside`,e,t)):n.handler&&=(C(`mousemoveoutside`,e,n.handler),void 0)},unmounted(e){let{handler:t}=e[U];t&&C(`mousemoveoutside`,e,t),e[U].handler=void 0}},{c:W}=Le(),ft=`vueuc-style`,G={top:`bottom`,bottom:`top`,left:`right`,right:`left`},pt={start:`end`,center:`center`,end:`start`},mt={top:`height`,bottom:`height`,left:`width`,right:`width`},ht={"bottom-start":`top left`,bottom:`top center`,"bottom-end":`top right`,"top-start":`bottom left`,top:`bottom center`,"top-end":`bottom right`,"right-start":`top left`,right:`center left`,"right-end":`bottom left`,"left-start":`top right`,left:`center right`,"left-end":`bottom right`},gt={"bottom-start":`bottom left`,bottom:`bottom center`,"bottom-end":`bottom right`,"top-start":`top left`,top:`top center`,"top-end":`top right`,"right-start":`top right`,right:`center right`,"right-end":`bottom right`,"left-start":`top left`,left:`center left`,"left-end":`bottom left`},_t={"bottom-start":`right`,"bottom-end":`left`,"top-start":`right`,"top-end":`left`,"right-start":`bottom`,"right-end":`top`,"left-start":`bottom`,"left-end":`top`},vt={top:!0,bottom:!1,left:!0,right:!1},yt={top:`end`,bottom:`start`,left:`end`,right:`start`};function bt(e,t,n,r,i,a){if(!i||a)return{placement:e,top:0,left:0};let[o,s]=e.split(`-`),c=s??`center`,l={top:0,left:0},u=(e,i,a)=>{let o=0,s=0,c=n[e]-t[i]-t[e];return c>0&&r&&(a?s=vt[i]?c:-c:o=vt[i]?c:-c),{left:o,top:s}},d=o===`left`||o===`right`;if(c!==`center`){let r=_t[e],i=G[r],a=mt[r];if(n[a]>t[a]){if(t[r]+t[a]<n[a]){let e=(n[a]-t[a])/2;t[r]<e||t[i]<e?t[r]<t[i]?(c=pt[s],l=u(a,i,d)):l=u(a,r,d):c=`center`}}else n[a]<t[a]&&t[i]<0&&t[r]>t[i]&&(c=pt[s])}else{let e=o===`bottom`||o===`top`?`left`:`top`,r=G[e],i=mt[e],a=(n[i]-t[i])/2;(t[e]<a||t[r]<a)&&(t[e]>t[r]?(c=yt[e],l=u(i,e,d)):(c=yt[r],l=u(i,r,d)))}let f=o;return t[o]<n[mt[o]]&&t[o]<t[G[o]]&&(f=G[o]),{placement:c===`center`?f:`${f}-${c}`,left:l.left,top:l.top}}function xt(e,t){return t?gt[e]:ht[e]}function St(e,t,n,r,i,a){if(a)switch(e){case`bottom-start`:return{top:`${Math.round(n.top-t.top+n.height)}px`,left:`${Math.round(n.left-t.left)}px`,transform:`translateY(-100%)`};case`bottom-end`:return{top:`${Math.round(n.top-t.top+n.height)}px`,left:`${Math.round(n.left-t.left+n.width)}px`,transform:`translateX(-100%) translateY(-100%)`};case`top-start`:return{top:`${Math.round(n.top-t.top)}px`,left:`${Math.round(n.left-t.left)}px`,transform:``};case`top-end`:return{top:`${Math.round(n.top-t.top)}px`,left:`${Math.round(n.left-t.left+n.width)}px`,transform:`translateX(-100%)`};case`right-start`:return{top:`${Math.round(n.top-t.top)}px`,left:`${Math.round(n.left-t.left+n.width)}px`,transform:`translateX(-100%)`};case`right-end`:return{top:`${Math.round(n.top-t.top+n.height)}px`,left:`${Math.round(n.left-t.left+n.width)}px`,transform:`translateX(-100%) translateY(-100%)`};case`left-start`:return{top:`${Math.round(n.top-t.top)}px`,left:`${Math.round(n.left-t.left)}px`,transform:``};case`left-end`:return{top:`${Math.round(n.top-t.top+n.height)}px`,left:`${Math.round(n.left-t.left)}px`,transform:`translateY(-100%)`};case`top`:return{top:`${Math.round(n.top-t.top)}px`,left:`${Math.round(n.left-t.left+n.width/2)}px`,transform:`translateX(-50%)`};case`right`:return{top:`${Math.round(n.top-t.top+n.height/2)}px`,left:`${Math.round(n.left-t.left+n.width)}px`,transform:`translateX(-100%) translateY(-50%)`};case`left`:return{top:`${Math.round(n.top-t.top+n.height/2)}px`,left:`${Math.round(n.left-t.left)}px`,transform:`translateY(-50%)`};default:return{top:`${Math.round(n.top-t.top+n.height)}px`,left:`${Math.round(n.left-t.left+n.width/2)}px`,transform:`translateX(-50%) translateY(-100%)`}}switch(e){case`bottom-start`:return{top:`${Math.round(n.top-t.top+n.height+r)}px`,left:`${Math.round(n.left-t.left+i)}px`,transform:``};case`bottom-end`:return{top:`${Math.round(n.top-t.top+n.height+r)}px`,left:`${Math.round(n.left-t.left+n.width+i)}px`,transform:`translateX(-100%)`};case`top-start`:return{top:`${Math.round(n.top-t.top+r)}px`,left:`${Math.round(n.left-t.left+i)}px`,transform:`translateY(-100%)`};case`top-end`:return{top:`${Math.round(n.top-t.top+r)}px`,left:`${Math.round(n.left-t.left+n.width+i)}px`,transform:`translateX(-100%) translateY(-100%)`};case`right-start`:return{top:`${Math.round(n.top-t.top+r)}px`,left:`${Math.round(n.left-t.left+n.width+i)}px`,transform:``};case`right-end`:return{top:`${Math.round(n.top-t.top+n.height+r)}px`,left:`${Math.round(n.left-t.left+n.width+i)}px`,transform:`translateY(-100%)`};case`left-start`:return{top:`${Math.round(n.top-t.top+r)}px`,left:`${Math.round(n.left-t.left+i)}px`,transform:`translateX(-100%)`};case`left-end`:return{top:`${Math.round(n.top-t.top+n.height+r)}px`,left:`${Math.round(n.left-t.left+i)}px`,transform:`translateX(-100%) translateY(-100%)`};case`top`:return{top:`${Math.round(n.top-t.top+r)}px`,left:`${Math.round(n.left-t.left+n.width/2+i)}px`,transform:`translateY(-100%) translateX(-50%)`};case`right`:return{top:`${Math.round(n.top-t.top+n.height/2+r)}px`,left:`${Math.round(n.left-t.left+n.width+i)}px`,transform:`translateY(-50%)`};case`left`:return{top:`${Math.round(n.top-t.top+n.height/2+r)}px`,left:`${Math.round(n.left-t.left+i)}px`,transform:`translateY(-50%) translateX(-100%)`};default:return{top:`${Math.round(n.top-t.top+n.height+r)}px`,left:`${Math.round(n.left-t.left+n.width/2+i)}px`,transform:`translateX(-50%)`}}}var Ct=W([W(`.v-binder-follower-container`,{position:`absolute`,left:`0`,right:`0`,top:`0`,height:`0`,pointerEvents:`none`,zIndex:`auto`}),W(`.v-binder-follower-content`,{position:`absolute`,zIndex:`auto`},[W(`> *`,{pointerEvents:`all`})])]),wt=A({name:`Follower`,inheritAttrs:!1,props:{show:Boolean,enabled:{type:Boolean,default:void 0},placement:{type:String,default:`bottom`},syncTrigger:{type:Array,default:[`resize`,`scroll`]},to:[String,Object],flip:{type:Boolean,default:!0},internalShift:Boolean,x:Number,y:Number,width:String,minWidth:String,containerClass:String,teleportDisabled:Boolean,zindexable:{type:Boolean,default:!0},zIndex:Number,overlap:Boolean},setup(e){let t=u(`VBinder`),n=_(()=>e.enabled===void 0?e.show:e.enabled),i=O(null),a=O(null),o=()=>{let{syncTrigger:n}=e;n.includes(`scroll`)&&t.addScrollListener(l),n.includes(`resize`)&&t.addResizeListener(l)},s=()=>{t.removeScrollListener(l),t.removeResizeListener(l)};E(()=>{n.value&&(l(),o())});let c=Ke();Ct.mount({id:`vueuc/binder`,head:!0,anchorMetaName:ft,ssr:c}),P(()=>{s()}),Qe(()=>{n.value&&l()});let l=()=>{if(!n.value)return;let r=i.value;if(r===null)return;let o=t.targetRef,{x:s,y:c,overlap:l}=e,u=s!==void 0&&c!==void 0?at(s,c):ot(o);r.style.setProperty(`--v-target-width`,`${Math.round(u.width)}px`),r.style.setProperty(`--v-target-height`,`${Math.round(u.height)}px`);let{width:d,minWidth:f,placement:p,internalShift:m,flip:h}=e;r.setAttribute(`v-placement`,p),l?r.setAttribute(`v-overlap`,``):r.removeAttribute(`v-overlap`);let{style:g}=r;d===`target`?g.width=`${u.width}px`:d===void 0?g.width=``:g.width=d,f===`target`?g.minWidth=`${u.width}px`:f===void 0?g.minWidth=``:g.minWidth=f;let _=ot(r),v=ot(a.value),{left:y,top:b,placement:x}=bt(p,u,_,m,h,l),S=xt(x,l),{left:C,top:w,transform:T}=St(x,v,u,b,y,l);r.setAttribute(`v-placement`,x),r.style.setProperty(`--v-offset-left`,`${Math.round(y)}px`),r.style.setProperty(`--v-offset-top`,`${Math.round(b)}px`),r.style.transform=`translateX(${C}) translateY(${w}) ${T}`,r.style.setProperty(`--v-transform-origin`,S),r.style.transformOrigin=S};r(n,e=>{e?(o(),d()):s()});let d=()=>{ne().then(l).catch(e=>console.error(e))};[`placement`,`x`,`y`,`internalShift`,`flip`,`width`,`overlap`,`minWidth`].forEach(t=>{r(I(e,t),l)}),[`teleportDisabled`].forEach(t=>{r(I(e,t),d)}),r(I(e,`syncTrigger`),e=>{e.includes(`resize`)?t.addResizeListener(l):t.removeResizeListener(l),e.includes(`scroll`)?t.addScrollListener(l):t.removeScrollListener(l)});let f=te();return{VBinder:t,mergedEnabled:n,offsetContainerRef:a,followerRef:i,mergedTo:_(()=>{let{to:t}=e;if(t!==void 0)return t;f.value}),syncPosition:l}},render(){return R(xe,{show:this.show,to:this.mergedTo,disabled:this.teleportDisabled},{default:()=>{var e;let t=R(`div`,{class:[`v-binder-follower-container`,this.containerClass],ref:`offsetContainerRef`},[R(`div`,{class:`v-binder-follower-content`,ref:`followerRef`},(e=this.$slots).default?.call(e))]);return this.zindexable?M(t,[[ce,{enabled:this.mergedEnabled,zIndex:this.zIndex}]]):t}})}}),Tt=/^(\d|\.)+$/,Et=/(\d|\.)+/;function K(e,{c:t=1,offset:n=0,attachPx:r=!0}={}){if(typeof e==`number`){let r=(e+n)*t;return r===0?`0`:`${r}px`}else if(typeof e==`string`)if(Tt.test(e)){let i=(Number(e)+n)*t;return r?i===0?`0`:`${i}px`:`${i}`}else{let r=Et.exec(e);return r?e.replace(Et,String((Number(r[0])+n)*t)):e}return e}var Dt;function Ot(){return Dt===void 0&&(Dt=navigator.userAgent.includes(`Node.js`)||navigator.userAgent.includes(`jsdom`)),Dt}var kt={name:`en-US`,global:{undo:`Undo`,redo:`Redo`,confirm:`Confirm`,clear:`Clear`},Popconfirm:{positiveText:`Confirm`,negativeText:`Cancel`},Cascader:{placeholder:`Please Select`,loading:`Loading`,loadingRequiredMessage:e=>`Please load all ${e}'s descendants before checking it.`},Time:{dateFormat:`yyyy-MM-dd`,dateTimeFormat:`yyyy-MM-dd HH:mm:ss`},DatePicker:{yearFormat:`yyyy`,monthFormat:`MMM`,dayFormat:`eeeeee`,yearTypeFormat:`yyyy`,monthTypeFormat:`yyyy-MM`,dateFormat:`yyyy-MM-dd`,dateTimeFormat:`yyyy-MM-dd HH:mm:ss`,quarterFormat:`yyyy-qqq`,weekFormat:`YYYY-w`,clear:`Clear`,now:`Now`,confirm:`Confirm`,selectTime:`Select Time`,selectDate:`Select Date`,datePlaceholder:`Select Date`,datetimePlaceholder:`Select Date and Time`,monthPlaceholder:`Select Month`,yearPlaceholder:`Select Year`,quarterPlaceholder:`Select Quarter`,weekPlaceholder:`Select Week`,startDatePlaceholder:`Start Date`,endDatePlaceholder:`End Date`,startDatetimePlaceholder:`Start Date and Time`,endDatetimePlaceholder:`End Date and Time`,startMonthPlaceholder:`Start Month`,endMonthPlaceholder:`End Month`,monthBeforeYear:!0,firstDayOfWeek:6,today:`Today`},DataTable:{checkTableAll:`Select all in the table`,uncheckTableAll:`Unselect all in the table`,confirm:`Confirm`,clear:`Clear`},LegacyTransfer:{sourceTitle:`Source`,targetTitle:`Target`},Transfer:{selectAll:`Select all`,unselectAll:`Unselect all`,clearAll:`Clear`,total:e=>`Total ${e} items`,selected:e=>`${e} items selected`},Empty:{description:`No Data`},Select:{placeholder:`Please Select`},TimePicker:{placeholder:`Select Time`,positiveText:`OK`,negativeText:`Cancel`,now:`Now`,clear:`Clear`},Pagination:{goto:`Goto`,selectionSuffix:`page`},DynamicTags:{add:`Add`},Log:{loading:`Loading`},Input:{placeholder:`Please Input`},InputNumber:{placeholder:`Please Input`},DynamicInput:{create:`Create`},ThemeEditor:{title:`Theme Editor`,clearAllVars:`Clear All Variables`,clearSearch:`Clear Search`,filterCompName:`Filter Component Name`,filterVarName:`Filter Variable Name`,import:`Import`,export:`Export`,restore:`Reset to Default`},Image:{tipPrevious:`Previous picture (←)`,tipNext:`Next picture (→)`,tipCounterclockwise:`Counterclockwise`,tipClockwise:`Clockwise`,tipZoomOut:`Zoom out`,tipZoomIn:`Zoom in`,tipDownload:`Download`,tipClose:`Close (Esc)`,tipOriginalSize:`Zoom to original size`},Heatmap:{less:`less`,more:`more`,monthFormat:`MMM`,weekdayFormat:`eee`}};function At(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}function q(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}function J(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?Mt(s,e=>e.test(o)):jt(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function jt(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Mt(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function Nt(e){return(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}var Pt={lessThanXSeconds:{one:`less than a second`,other:`less than {{count}} seconds`},xSeconds:{one:`1 second`,other:`{{count}} seconds`},halfAMinute:`half a minute`,lessThanXMinutes:{one:`less than a minute`,other:`less than {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`about 1 hour`,other:`about {{count}} hours`},xHours:{one:`1 hour`,other:`{{count}} hours`},xDays:{one:`1 day`,other:`{{count}} days`},aboutXWeeks:{one:`about 1 week`,other:`about {{count}} weeks`},xWeeks:{one:`1 week`,other:`{{count}} weeks`},aboutXMonths:{one:`about 1 month`,other:`about {{count}} months`},xMonths:{one:`1 month`,other:`{{count}} months`},aboutXYears:{one:`about 1 year`,other:`about {{count}} years`},xYears:{one:`1 year`,other:`{{count}} years`},overXYears:{one:`over 1 year`,other:`over {{count}} years`},almostXYears:{one:`almost 1 year`,other:`almost {{count}} years`}},Ft=(e,t,n)=>{let r,i=Pt[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r},It={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},Lt=(e,t,n,r)=>It[e],Rt={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},era:q({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:q({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:q({values:{narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},defaultWidth:`wide`}),day:q({values:{narrow:[`S`,`M`,`T`,`W`,`T`,`F`,`S`],short:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],abbreviated:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],wide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},defaultWidth:`wide`}),dayPeriod:q({values:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`}},defaultFormattingWidth:`wide`})},zt={ordinalNumber:Nt({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:J({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:J({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:J({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:J({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:J({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},Bt={name:`en-US`,locale:{code:`en-US`,formatDistance:Ft,formatLong:{date:At({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:At({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:At({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},formatRelative:Lt,localize:Rt,match:zt,options:{weekStartsOn:0,firstWeekContainsDate:1}}},Vt=m(ae,`WeakMap`),Ht=w(Object.keys,Object),Ut=Object.prototype.hasOwnProperty;function Wt(e){if(!S(e))return Ht(e);var t=[];for(var n in Object(e))Ut.call(e,n)&&n!=`constructor`&&t.push(n);return t}function Gt(e){return se(e)?ee(e):Wt(e)}var Kt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qt=/^\w*$/;function Jt(e,t){if(b(e))return!1;var n=typeof e;return n==`number`||n==`symbol`||n==`boolean`||e==null||v(e)?!0:qt.test(e)||!Kt.test(e)||t!=null&&e in Object(t)}var Yt=`Expected a function`;function Xt(e,n){if(typeof e!=`function`||n!=null&&typeof n!=`function`)throw TypeError(Yt);var r=function(){var t=arguments,i=n?n.apply(this,t):t[0],a=r.cache;if(a.has(i))return a.get(i);var o=e.apply(this,t);return r.cache=a.set(i,o)||a,o};return r.cache=new(Xt.Cache||t),r}Xt.Cache=t;var Zt=500;function Qt(e){var t=Xt(e,function(e){return n.size===Zt&&n.clear(),e}),n=t.cache;return t}var $t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,en=/\\(\\)?/g,tn=Qt(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace($t,function(e,n,r,i){t.push(r?i.replace(en,`$1`):n||e)}),t});function nn(e,t){return b(e)?e:Jt(e,t)?[e]:tn(Oe(e))}var rn=1/0;function Y(e){if(typeof e==`string`||v(e))return e;var t=e+``;return t==`0`&&1/e==-rn?`-0`:t}function an(e,t){t=nn(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[Y(t[n++])];return n&&n==r?e:void 0}function on(e,t,n){var r=e==null?void 0:an(e,t);return r===void 0?n:r}function sn(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function cn(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}function ln(){return[]}var un=Object.prototype.propertyIsEnumerable,dn=Object.getOwnPropertySymbols,fn=dn?function(e){return e==null?[]:(e=Object(e),cn(dn(e),function(t){return un.call(e,t)}))}:ln;function pn(e,t,n){var r=t(e);return b(e)?r:sn(r,n(e))}function mn(e){return pn(e,Gt,fn)}var hn=m(ae,`DataView`),gn=m(ae,`Promise`),_n=m(ae,`Set`),vn=`[object Map]`,yn=`[object Object]`,bn=`[object Promise]`,xn=`[object Set]`,Sn=`[object WeakMap]`,Cn=`[object DataView]`,wn=j(hn),Tn=j(Ee),En=j(gn),Dn=j(_n),On=j(Vt),X=pe;(hn&&X(new hn(new ArrayBuffer(1)))!=Cn||Ee&&X(new Ee)!=vn||gn&&X(gn.resolve())!=bn||_n&&X(new _n)!=xn||Vt&&X(new Vt)!=Sn)&&(X=function(e){var t=pe(e),n=t==yn?e.constructor:void 0,r=n?j(n):``;if(r)switch(r){case wn:return Cn;case Tn:return vn;case En:return bn;case Dn:return xn;case On:return Sn}return t});var kn=X,An=`__lodash_hash_undefined__`;function jn(e){return this.__data__.set(e,An),this}function Mn(e){return this.__data__.has(e)}function Nn(e){var n=-1,r=e==null?0:e.length;for(this.__data__=new t;++n<r;)this.add(e[n])}Nn.prototype.add=Nn.prototype.push=jn,Nn.prototype.has=Mn;function Pn(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function Fn(e,t){return e.has(t)}var In=1,Ln=2;function Rn(e,t,n,r,i,a){var o=n&In,s=e.length,c=t.length;if(s!=c&&!(o&&c>s))return!1;var l=a.get(e),u=a.get(t);if(l&&u)return l==t&&u==e;var d=-1,f=!0,p=n&Ln?new Nn:void 0;for(a.set(e,t),a.set(t,e);++d<s;){var m=e[d],h=t[d];if(r)var g=o?r(h,m,d,t,e,a):r(m,h,d,e,t,a);if(g!==void 0){if(g)continue;f=!1;break}if(p){if(!Pn(t,function(e,t){if(!Fn(p,t)&&(m===e||i(m,e,n,r,a)))return p.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,n,r,a))){f=!1;break}}return a.delete(e),a.delete(t),f}function zn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function Bn(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var Vn=1,Hn=2,Un=`[object Boolean]`,Wn=`[object Date]`,Gn=`[object Error]`,Kn=`[object Map]`,qn=`[object Number]`,Jn=`[object RegExp]`,Yn=`[object Set]`,Xn=`[object String]`,Zn=`[object Symbol]`,Qn=`[object ArrayBuffer]`,$n=`[object DataView]`,er=ge?ge.prototype:void 0,tr=er?er.valueOf:void 0;function nr(e,t,r,i,a,s,c){switch(r){case $n:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Qn:return!(e.byteLength!=t.byteLength||!s(new o(e),new o(t)));case Un:case Wn:case qn:return n(+e,+t);case Gn:return e.name==t.name&&e.message==t.message;case Jn:case Xn:return e==t+``;case Kn:var l=zn;case Yn:var u=i&Vn;if(l||=Bn,e.size!=t.size&&!u)return!1;var d=c.get(e);if(d)return d==t;i|=Hn,c.set(e,t);var f=Rn(l(e),l(t),i,a,s,c);return c.delete(e),f;case Zn:if(tr)return tr.call(e)==tr.call(t)}return!1}var rr=1,ir=Object.prototype.hasOwnProperty;function ar(e,t,n,r,i,a){var o=n&rr,s=mn(e),c=s.length;if(c!=mn(t).length&&!o)return!1;for(var l=c;l--;){var u=s[l];if(!(o?u in t:ir.call(t,u)))return!1}var d=a.get(e),f=a.get(t);if(d&&f)return d==t&&f==e;var p=!0;a.set(e,t),a.set(t,e);for(var m=o;++l<c;){u=s[l];var h=e[u],g=t[u];if(r)var _=o?r(g,h,u,t,e,a):r(h,g,u,e,t,a);if(!(_===void 0?h===g||i(h,g,n,r,a):_)){p=!1;break}m||=u==`constructor`}if(p&&!m){var v=e.constructor,y=t.constructor;v!=y&&`constructor`in e&&`constructor`in t&&!(typeof v==`function`&&v instanceof v&&typeof y==`function`&&y instanceof y)&&(p=!1)}return a.delete(e),a.delete(t),p}var or=1,sr=`[object Arguments]`,cr=`[object Array]`,lr=`[object Object]`,ur=Object.prototype.hasOwnProperty;function dr(e,t,n,r,i,a){var o=b(e),s=b(t),c=o?cr:kn(e),l=s?cr:kn(t);c=c==sr?lr:c,l=l==sr?lr:l;var u=c==lr,f=l==lr,p=c==l;if(p&&d(e)){if(!d(t))return!1;o=!0,u=!1}if(p&&!u)return a||=new D,o||ie(e)?Rn(e,t,n,r,i,a):nr(e,t,c,n,r,i,a);if(!(n&or)){var m=u&&ur.call(e,`__wrapped__`),h=f&&ur.call(t,`__wrapped__`);if(m||h){var g=m?e.value():e,_=h?t.value():t;return a||=new D,i(g,_,n,r,a)}}return p?(a||=new D,ar(e,t,n,r,i,a)):!1}function fr(e,t,n,r,i){return e===t?!0:e==null||t==null||!he(e)&&!he(t)?e!==e&&t!==t:dr(e,t,n,r,fr,i)}var pr=1,mr=2;function hr(e,t,n,r){var i=n.length,a=i,o=!r;if(e==null)return!a;for(e=Object(e);i--;){var s=n[i];if(o&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<a;){s=n[i];var c=s[0],l=e[c],u=s[1];if(o&&s[2]){if(l===void 0&&!(c in e))return!1}else{var d=new D;if(r)var f=r(l,u,c,e,t,d);if(!(f===void 0?fr(u,l,pr|mr,r,d):f))return!1}}return!0}function gr(e){return e===e&&!p(e)}function _r(e){for(var t=Gt(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,gr(i)]}return t}function vr(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}function yr(e){var t=_r(e);return t.length==1&&t[0][2]?vr(t[0][0],t[0][1]):function(n){return n===e||hr(n,e,t)}}function br(e,t){return e!=null&&t in Object(e)}function xr(e,t,n){t=nn(t,e);for(var r=-1,i=t.length,a=!1;++r<i;){var o=Y(t[r]);if(!(a=e!=null&&n(e,o)))break;e=e[o]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&qe(i)&&ue(o,i)&&(b(e)||h(e)))}function Sr(e,t){return e!=null&&xr(e,t,br)}var Cr=1,wr=2;function Tr(e,t){return Jt(e)&&gr(t)?vr(Y(e),t):function(n){var r=on(n,e);return r===void 0&&r===t?Sr(n,e):fr(t,r,Cr|wr)}}function Er(e){return function(t){return t?.[e]}}function Dr(e){return function(t){return an(t,e)}}function Or(e){return Jt(e)?Er(Y(e)):Dr(e)}function kr(e){return typeof e==`function`?e:e==null?fe:typeof e==`object`?b(e)?Tr(e[0],e[1]):yr(e):Or(e)}function Ar(e,t){return e&&l(e,t,Gt)}function jr(e,t){return function(n,r){if(n==null)return n;if(!se(n))return e(n,r);for(var i=n.length,a=t?i:-1,o=Object(n);(t?a--:++a<i)&&r(o[a],a,o)!==!1;);return n}}var Mr=jr(Ar);function Nr(e,t){var n=-1,r=se(e)?Array(e.length):[];return Mr(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function Pr(e,t){return(b(e)?Ie:Nr)(e,kr(t,3))}function Fr(e){let{mergedLocaleRef:t,mergedDateLocaleRef:n}=u(Re,null)||{},r=F(()=>t?.value?.[e]??kt[e]);return{dateLocaleRef:F(()=>n?.value??Bt),localeRef:r}}var Ir={space:`6px`,spaceArrow:`10px`,arrowOffset:`10px`,arrowOffsetVertical:`10px`,arrowHeight:`6px`,padding:`8px 14px`};function Lr(e){let{boxShadow2:t,popoverColor:n,textColor2:r,borderRadius:i,fontSize:a,dividerColor:o}=e;return Object.assign(Object.assign({},Ir),{fontSize:a,borderRadius:i,color:n,dividerColor:o,textColor:r,boxShadow:t})}var Rr=be({name:`Popover`,common:Ce,peers:{Scrollbar:Be},self:Lr}),zr={top:`bottom`,bottom:`top`,left:`right`,right:`left`},Z=`var(--n-arrow-height) * 1.414`,Br=y([N(`popover`,`
|
|
2
|
+
transition:
|
|
3
|
+
box-shadow .3s var(--n-bezier),
|
|
4
|
+
background-color .3s var(--n-bezier),
|
|
5
|
+
color .3s var(--n-bezier);
|
|
6
|
+
position: relative;
|
|
7
|
+
font-size: var(--n-font-size);
|
|
8
|
+
color: var(--n-text-color);
|
|
9
|
+
box-shadow: var(--n-box-shadow);
|
|
10
|
+
word-break: break-word;
|
|
11
|
+
`,[y(`>`,[N(`scrollbar`,`
|
|
12
|
+
height: inherit;
|
|
13
|
+
max-height: inherit;
|
|
14
|
+
`)]),e(`raw`,`
|
|
15
|
+
background-color: var(--n-color);
|
|
16
|
+
border-radius: var(--n-border-radius);
|
|
17
|
+
`,[e(`scrollable`,[e(`show-header-or-footer`,`padding: var(--n-padding);`)])]),_e(`header`,`
|
|
18
|
+
padding: var(--n-padding);
|
|
19
|
+
border-bottom: 1px solid var(--n-divider-color);
|
|
20
|
+
transition: border-color .3s var(--n-bezier);
|
|
21
|
+
`),_e(`footer`,`
|
|
22
|
+
padding: var(--n-padding);
|
|
23
|
+
border-top: 1px solid var(--n-divider-color);
|
|
24
|
+
transition: border-color .3s var(--n-bezier);
|
|
25
|
+
`),oe(`scrollable, show-header-or-footer`,[_e(`content`,`
|
|
26
|
+
padding: var(--n-padding);
|
|
27
|
+
`)])]),N(`popover-shared`,`
|
|
28
|
+
transform-origin: inherit;
|
|
29
|
+
`,[N(`popover-arrow-wrapper`,`
|
|
30
|
+
position: absolute;
|
|
31
|
+
overflow: hidden;
|
|
32
|
+
pointer-events: none;
|
|
33
|
+
`,[N(`popover-arrow`,`
|
|
34
|
+
transition: background-color .3s var(--n-bezier);
|
|
35
|
+
position: absolute;
|
|
36
|
+
display: block;
|
|
37
|
+
width: calc(${Z});
|
|
38
|
+
height: calc(${Z});
|
|
39
|
+
box-shadow: 0 0 8px 0 rgba(0, 0, 0, .12);
|
|
40
|
+
transform: rotate(45deg);
|
|
41
|
+
background-color: var(--n-color);
|
|
42
|
+
pointer-events: all;
|
|
43
|
+
`)]),y(`&.popover-transition-enter-from, &.popover-transition-leave-to`,`
|
|
44
|
+
opacity: 0;
|
|
45
|
+
transform: scale(.85);
|
|
46
|
+
`),y(`&.popover-transition-enter-to, &.popover-transition-leave-from`,`
|
|
47
|
+
transform: scale(1);
|
|
48
|
+
opacity: 1;
|
|
49
|
+
`),y(`&.popover-transition-enter-active`,`
|
|
50
|
+
transition:
|
|
51
|
+
box-shadow .3s var(--n-bezier),
|
|
52
|
+
background-color .3s var(--n-bezier),
|
|
53
|
+
color .3s var(--n-bezier),
|
|
54
|
+
opacity .15s var(--n-bezier-ease-out),
|
|
55
|
+
transform .15s var(--n-bezier-ease-out);
|
|
56
|
+
`),y(`&.popover-transition-leave-active`,`
|
|
57
|
+
transition:
|
|
58
|
+
box-shadow .3s var(--n-bezier),
|
|
59
|
+
background-color .3s var(--n-bezier),
|
|
60
|
+
color .3s var(--n-bezier),
|
|
61
|
+
opacity .15s var(--n-bezier-ease-in),
|
|
62
|
+
transform .15s var(--n-bezier-ease-in);
|
|
63
|
+
`)]),$(`top-start`,`
|
|
64
|
+
top: calc(${Z} / -2);
|
|
65
|
+
left: calc(${Q(`top-start`)} - var(--v-offset-left));
|
|
66
|
+
`),$(`top`,`
|
|
67
|
+
top: calc(${Z} / -2);
|
|
68
|
+
transform: translateX(calc(${Z} / -2)) rotate(45deg);
|
|
69
|
+
left: 50%;
|
|
70
|
+
`),$(`top-end`,`
|
|
71
|
+
top: calc(${Z} / -2);
|
|
72
|
+
right: calc(${Q(`top-end`)} + var(--v-offset-left));
|
|
73
|
+
`),$(`bottom-start`,`
|
|
74
|
+
bottom: calc(${Z} / -2);
|
|
75
|
+
left: calc(${Q(`bottom-start`)} - var(--v-offset-left));
|
|
76
|
+
`),$(`bottom`,`
|
|
77
|
+
bottom: calc(${Z} / -2);
|
|
78
|
+
transform: translateX(calc(${Z} / -2)) rotate(45deg);
|
|
79
|
+
left: 50%;
|
|
80
|
+
`),$(`bottom-end`,`
|
|
81
|
+
bottom: calc(${Z} / -2);
|
|
82
|
+
right: calc(${Q(`bottom-end`)} + var(--v-offset-left));
|
|
83
|
+
`),$(`left-start`,`
|
|
84
|
+
left: calc(${Z} / -2);
|
|
85
|
+
top: calc(${Q(`left-start`)} - var(--v-offset-top));
|
|
86
|
+
`),$(`left`,`
|
|
87
|
+
left: calc(${Z} / -2);
|
|
88
|
+
transform: translateY(calc(${Z} / -2)) rotate(45deg);
|
|
89
|
+
top: 50%;
|
|
90
|
+
`),$(`left-end`,`
|
|
91
|
+
left: calc(${Z} / -2);
|
|
92
|
+
bottom: calc(${Q(`left-end`)} + var(--v-offset-top));
|
|
93
|
+
`),$(`right-start`,`
|
|
94
|
+
right: calc(${Z} / -2);
|
|
95
|
+
top: calc(${Q(`right-start`)} - var(--v-offset-top));
|
|
96
|
+
`),$(`right`,`
|
|
97
|
+
right: calc(${Z} / -2);
|
|
98
|
+
transform: translateY(calc(${Z} / -2)) rotate(45deg);
|
|
99
|
+
top: 50%;
|
|
100
|
+
`),$(`right-end`,`
|
|
101
|
+
right: calc(${Z} / -2);
|
|
102
|
+
bottom: calc(${Q(`right-end`)} + var(--v-offset-top));
|
|
103
|
+
`),...Pr({top:[`right-start`,`left-start`],right:[`top-end`,`bottom-end`],bottom:[`right-end`,`left-end`],left:[`top-start`,`bottom-start`]},(e,t)=>{let n=[`right`,`left`].includes(t),r=n?`width`:`height`;return e.map(e=>{let i=e.split(`-`)[1]===`end`,a=`calc((${`var(--v-target-${r}, 0px)`} - ${Z}) / 2)`,o=Q(e);return y(`[v-placement="${e}"] >`,[N(`popover-shared`,[oe(`center-arrow`,[N(`popover-arrow`,`${t}: calc(max(${a}, ${o}) ${i?`+`:`-`} var(--v-offset-${n?`left`:`top`}));`)])])])})})]);function Q(e){return[`top`,`bottom`].includes(e.split(`-`)[0])?`var(--n-arrow-offset)`:`var(--n-arrow-offset-vertical)`}function $(e,t){let n=e.split(`-`)[0],r=[`top`,`bottom`].includes(n)?`height: var(--n-space-arrow);`:`width: var(--n-space-arrow);`;return y(`[v-placement="${e}"] >`,[N(`popover-shared`,`
|
|
104
|
+
margin-${zr[n]}: var(--n-space);
|
|
105
|
+
`,[oe(`show-arrow`,`
|
|
106
|
+
margin-${zr[n]}: var(--n-space-arrow);
|
|
107
|
+
`),oe(`overlap`,`
|
|
108
|
+
margin: 0;
|
|
109
|
+
`),me(`popover-arrow-wrapper`,`
|
|
110
|
+
right: 0;
|
|
111
|
+
left: 0;
|
|
112
|
+
top: 0;
|
|
113
|
+
bottom: 0;
|
|
114
|
+
${n}: 100%;
|
|
115
|
+
${zr[n]}: auto;
|
|
116
|
+
${r}
|
|
117
|
+
`,[N(`popover-arrow`,t)])])])}var Vr=Object.assign(Object.assign({},Ge.props),{to:V.propTo,show:Boolean,trigger:String,showArrow:Boolean,delay:Number,duration:Number,raw:Boolean,arrowPointToCenter:Boolean,arrowClass:String,arrowStyle:[String,Object],arrowWrapperClass:String,arrowWrapperStyle:[String,Object],displayDirective:String,x:Number,y:Number,flip:Boolean,overlap:Boolean,placement:String,width:[Number,String],keepAliveOnHover:Boolean,scrollable:Boolean,contentClass:String,contentStyle:[Object,String],headerClass:String,headerStyle:[Object,String],footerClass:String,footerStyle:[Object,String],internalDeactivateImmediately:Boolean,animated:Boolean,onClickoutside:Function,internalTrapFocus:Boolean,internalOnAfterLeave:Function,minWidth:Number,maxWidth:Number});function Hr({arrowClass:e,arrowStyle:t,arrowWrapperClass:n,arrowWrapperStyle:r,clsPrefix:i}){return R(`div`,{key:`__popover-arrow__`,style:r,class:[`${i}-popover-arrow-wrapper`,n]},R(`div`,{class:[`${i}-popover-arrow`,e],style:t}))}var Ur=A({name:`PopoverBody`,inheritAttrs:!1,props:Vr,setup(e,{slots:t,attrs:n}){let{namespaceRef:i,mergedClsPrefixRef:o,inlineThemeDisabled:l,mergedRtlRef:d}=Ne(e),f=Ge(`Popover`,`-popover`,Br,Rr,e,o),p=Ue(`Popover`,d,o),m=O(null),h=u(`NPopover`),_=O(null),v=O(e.show),y=O(!1);de(()=>{let{show:t}=e;t&&!Ot()&&!e.internalDeactivateImmediately&&(y.value=!0)});let b=F(()=>{let{trigger:t,onClickoutside:n}=e,r=[],{positionManuallyRef:{value:i}}=h;return i||(t===`click`&&!n&&r.push([a,D,void 0,{capture:!0}]),t===`hover`&&r.push([dt,te])),n&&r.push([a,D,void 0,{capture:!0}]),(e.displayDirective===`show`||e.animated&&y.value)&&r.push([Se,e.show]),r}),S=F(()=>{let{common:{cubicBezierEaseInOut:e,cubicBezierEaseIn:t,cubicBezierEaseOut:n},self:{space:r,spaceArrow:i,padding:a,fontSize:o,textColor:s,dividerColor:c,color:l,boxShadow:u,borderRadius:d,arrowHeight:p,arrowOffset:m,arrowOffsetVertical:h}}=f.value;return{"--n-box-shadow":u,"--n-bezier":e,"--n-bezier-ease-in":t,"--n-bezier-ease-out":n,"--n-font-size":o,"--n-text-color":s,"--n-color":l,"--n-divider-color":c,"--n-border-radius":d,"--n-arrow-height":p,"--n-arrow-offset":m,"--n-arrow-offset-vertical":h,"--n-padding":a,"--n-space":r,"--n-space-arrow":i}}),C=F(()=>{let t=e.width===`trigger`?void 0:K(e.width),n=[];t&&n.push({width:t});let{maxWidth:r,minWidth:i}=e;return r&&n.push({maxWidth:K(r)}),i&&n.push({maxWidth:K(i)}),l||n.push(S.value),n}),w=l?ze(`popover`,void 0,S,e):void 0;h.setBodyInstance({syncPosition:T}),P(()=>{h.setBodyInstance(null)}),r(I(e,`show`),t=>{e.animated||(t?v.value=!0:v.value=!1)});function T(){var e;(e=m.value)==null||e.syncPosition()}function ee(t){e.trigger===`hover`&&e.keepAliveOnHover&&e.show&&h.handleMouseEnter(t)}function E(t){e.trigger===`hover`&&e.keepAliveOnHover&&h.handleMouseLeave(t)}function te(t){e.trigger===`hover`&&!ne().contains(x(t))&&h.handleMouseMoveOutside(t)}function D(t){(e.trigger===`click`&&!ne().contains(x(t))||e.onClickoutside)&&h.handleClickOutside(t)}function ne(){return h.getTriggerElement()}g(c,_),g(De,null),g(re,null);function ie(){if(w?.onRender(),!(e.displayDirective===`show`||e.show||e.animated&&y.value))return null;let r,i=h.internalRenderBodyRef.value,{value:a}=o;if(i)r=i([`${a}-popover-shared`,p?.value&&`${a}-popover--rtl`,w?.themeClass.value,e.overlap&&`${a}-popover-shared--overlap`,e.showArrow&&`${a}-popover-shared--show-arrow`,e.arrowPointToCenter&&`${a}-popover-shared--center-arrow`],_,C.value,ee,E);else{let{value:i}=h.extraClassRef,{internalTrapFocus:o}=e,c=!Pe(t.header)||!Pe(t.footer),l=()=>{let n=c?R(Ve,null,Ae(t.header,t=>t?R(`div`,{class:[`${a}-popover__header`,e.headerClass],style:e.headerStyle},t):null),Ae(t.default,n=>n?R(`div`,{class:[`${a}-popover__content`,e.contentClass],style:e.contentStyle},t):null),Ae(t.footer,t=>t?R(`div`,{class:[`${a}-popover__footer`,e.footerClass],style:e.footerStyle},t):null)):e.scrollable?t.default?.call(t):R(`div`,{class:[`${a}-popover__content`,e.contentClass],style:e.contentStyle},t);return[e.scrollable?R(ke,{themeOverrides:f.value.peerOverrides.Scrollbar,theme:f.value.peers.Scrollbar,contentClass:c?void 0:`${a}-popover__content ${e.contentClass??``}`,contentStyle:c?void 0:e.contentStyle},{default:()=>n}):n,e.showArrow?Hr({arrowClass:e.arrowClass,arrowStyle:e.arrowStyle,arrowWrapperClass:e.arrowWrapperClass,arrowWrapperStyle:e.arrowWrapperStyle,clsPrefix:a}):null]};r=R(`div`,s({class:[`${a}-popover`,`${a}-popover-shared`,p?.value&&`${a}-popover--rtl`,w?.themeClass.value,i.map(e=>`${a}-${e}`),{[`${a}-popover--scrollable`]:e.scrollable,[`${a}-popover--show-header-or-footer`]:c,[`${a}-popover--raw`]:e.raw,[`${a}-popover-shared--overlap`]:e.overlap,[`${a}-popover-shared--show-arrow`]:e.showArrow,[`${a}-popover-shared--center-arrow`]:e.arrowPointToCenter}],ref:_,style:C.value,onKeydown:h.handleKeydown,onMouseenter:ee,onMouseleave:E},n),o?R(ve,{active:e.show,autoFocus:!0},{default:l}):l())}return M(r,b.value)}return{displayed:y,namespace:i,isMounted:h.isMountedRef,zIndex:h.zIndexRef,followerRef:m,adjustedTo:V(e),followerEnabled:v,renderContentNode:ie}},render(){return R(wt,{ref:`followerRef`,zIndex:this.zIndex,show:this.show,enabled:this.followerEnabled,to:this.adjustedTo,x:this.x,y:this.y,flip:this.flip,placement:this.placement,containerClass:this.namespace,overlap:this.overlap,width:this.width===`trigger`?`target`:void 0,teleportDisabled:this.adjustedTo===V.tdkey},{default:()=>this.animated?R(ye,{name:`popover-transition`,appear:this.isMounted,onEnter:()=>{this.followerEnabled=!0},onAfterLeave:()=>{var e;(e=this.internalOnAfterLeave)==null||e.call(this),this.followerEnabled=!1,this.displayed=!1}},{default:this.renderContentNode}):this.renderContentNode()})}}),Wr=Object.keys(Vr),Gr={focus:[`onFocus`,`onBlur`],click:[`onClick`],hover:[`onMouseenter`,`onMouseleave`],manual:[],nested:[`onFocus`,`onBlur`,`onMouseenter`,`onMouseleave`,`onClick`]};function Kr(e,t,n){Gr[t].forEach(t=>{e.props?e.props=Object.assign({},e.props):e.props={};let r=e.props[t],i=n[t];r?e.props[t]=(...e)=>{r(...e),i(...e)}:e.props[t]=i})}var qr={show:{type:Boolean,default:void 0},defaultShow:Boolean,showArrow:{type:Boolean,default:!0},trigger:{type:String,default:`hover`},delay:{type:Number,default:100},duration:{type:Number,default:100},raw:Boolean,placement:{type:String,default:`top`},x:Number,y:Number,arrowPointToCenter:Boolean,disabled:Boolean,getDisabled:Function,displayDirective:{type:String,default:`if`},arrowClass:String,arrowStyle:[String,Object],arrowWrapperClass:String,arrowWrapperStyle:[String,Object],flip:{type:Boolean,default:!0},animated:{type:Boolean,default:!0},width:{type:[Number,String],default:void 0},overlap:Boolean,keepAliveOnHover:{type:Boolean,default:!0},zIndex:Number,to:V.propTo,scrollable:Boolean,contentClass:String,contentStyle:[Object,String],headerClass:String,headerStyle:[Object,String],footerClass:String,footerStyle:[Object,String],onClickoutside:Function,"onUpdate:show":[Function,Array],onUpdateShow:[Function,Array],internalDeactivateImmediately:Boolean,internalSyncTargetWithParent:Boolean,internalInheritedEventHandlers:{type:Array,default:()=>[]},internalTrapFocus:Boolean,internalExtraClass:{type:Array,default:()=>[]},onShow:[Function,Array],onHide:[Function,Array],arrow:{type:Boolean,default:void 0},minWidth:Number,maxWidth:Number},Jr=A({name:`Popover`,inheritAttrs:!1,props:Object.assign(Object.assign(Object.assign({},Ge.props),qr),{internalOnAfterLeave:Function,internalRenderBody:Function}),slots:Object,__popover__:!0,setup(e){let t=te(),n=O(null),r=F(()=>e.show),i=O(e.defaultShow),a=$e(r,i),o=_(()=>e.disabled?!1:a.value),s=()=>{if(e.disabled)return!0;let{getDisabled:t}=e;return!!t?.()},c=()=>s()?!1:a.value,l=et(e,[`arrow`,`showArrow`]),u=F(()=>e.overlap?!1:l.value),d=null,f=O(null),p=O(null),m=_(()=>e.x!==void 0&&e.y!==void 0);function h(t){let{"onUpdate:show":n,onUpdateShow:r,onShow:a,onHide:o}=e;i.value=t,n&&L(n,t),r&&L(r,t),t&&a&&L(a,!0),t&&o&&L(o,!1)}function v(){d&&d.syncPosition()}function y(){let{value:e}=f;e&&(window.clearTimeout(e),f.value=null)}function b(){let{value:e}=p;e&&(window.clearTimeout(e),p.value=null)}function x(){let t=s();if(e.trigger===`focus`&&!t){if(c())return;h(!0)}}function S(){let t=s();if(e.trigger===`focus`&&!t){if(!c())return;h(!1)}}function C(){let t=s();if(e.trigger===`hover`&&!t){if(b(),f.value!==null||c())return;let t=()=>{h(!0),f.value=null},{delay:n}=e;n===0?t():f.value=window.setTimeout(t,n)}}function w(){let t=s();if(e.trigger===`hover`&&!t){if(y(),p.value!==null||!c())return;let t=()=>{h(!1),p.value=null},{duration:n}=e;n===0?t():p.value=window.setTimeout(t,n)}}function T(){w()}function ee(t){var n;c()&&(e.trigger===`click`&&(y(),b(),h(!1)),(n=e.onClickoutside)==null||n.call(e,t))}function E(){e.trigger===`click`&&!s()&&(y(),b(),h(!c()))}function D(t){e.internalTrapFocus&&t.key===`Escape`&&(y(),b(),h(!1))}function ne(e){i.value=e}function re(){return n.value?.targetRef}function ie(e){d=e}return g(`NPopover`,{getTriggerElement:re,handleKeydown:D,handleMouseEnter:C,handleMouseLeave:w,handleClickOutside:ee,handleMouseMoveOutside:T,setBodyInstance:ie,positionManuallyRef:m,isMountedRef:t,zIndexRef:I(e,`zIndex`),extraClassRef:I(e,`internalExtraClass`),internalRenderBodyRef:I(e,`internalRenderBody`)}),de(()=>{a.value&&s()&&h(!1)}),{binderInstRef:n,positionManually:m,mergedShowConsideringDisabledProp:o,uncontrolledShow:i,mergedShowArrow:u,getMergedShow:c,setShow:ne,handleClick:E,handleMouseEnter:C,handleMouseLeave:w,handleFocus:x,handleBlur:S,syncPosition:v}},render(){let{positionManually:e,$slots:t}=this,n,r=!1;if(!e&&(n=we(t,`trigger`),n)){n=Fe(n),n=n.type===Te?R(`span`,[n]):n;let t={onClick:this.handleClick,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onFocus:this.handleFocus,onBlur:this.handleBlur};if(n.type?.__popover__)r=!0,n.props||={internalSyncTargetWithParent:!0,internalInheritedEventHandlers:[]},n.props.internalSyncTargetWithParent=!0,n.props.internalInheritedEventHandlers?n.props.internalInheritedEventHandlers=[t,...n.props.internalInheritedEventHandlers]:n.props.internalInheritedEventHandlers=[t];else{let{internalInheritedEventHandlers:r}=this,i=[t,...r];Kr(n,r?`nested`:e?`manual`:this.trigger,{onBlur:e=>{i.forEach(t=>{t.onBlur(e)})},onFocus:e=>{i.forEach(t=>{t.onFocus(e)})},onClick:e=>{i.forEach(t=>{t.onClick(e)})},onMouseenter:e=>{i.forEach(t=>{t.onMouseenter(e)})},onMouseleave:e=>{i.forEach(t=>{t.onMouseleave(e)})}})}}return R(lt,{ref:`binderInstRef`,syncTarget:!r,syncTargetWithParent:this.internalSyncTargetWithParent},{default:()=>{this.mergedShowConsideringDisabledProp;let t=this.getMergedShow();return[this.internalTrapFocus&&t?M(R(`div`,{style:{position:`fixed`,top:0,right:0,bottom:0,left:0}}),[[ce,{enabled:t,zIndex:this.zIndex}]]):null,e?null:R(ut,null,{default:()=>n}),R(Ur,He(this.$props,Wr,Object.assign(Object.assign({},this.$attrs),{showArrow:this.mergedShowArrow,show:t})),{default:()=>{var e;return(e=this.$slots).default?.call(e)},header:()=>{var e;return(e=this.$slots).header?.call(e)},footer:()=>{var e;return(e=this.$slots).footer?.call(e)}})]}})}});function Yr(){let e=u(Me,null);return e===null&&je(`use-message`,"No outer <n-message-provider /> founded. See prerequisite in https://www.naiveui.com/en-US/os-theme/components/message for more details. If you want to use `useMessage` outside setup, please check https://www.naiveui.com/zh-CN/os-theme/components/message#Q-&-A."),e}export{$e as _,Fr as a,wt as c,ut as d,lt as f,et as g,tt as h,Rr as i,W as l,nt as m,Jr as n,on as o,V as p,qr as r,K as s,Yr as t,ft as u,Xe as v};
|
package/dist/index.html
CHANGED
|
@@ -6,12 +6,14 @@
|
|
|
6
6
|
<link rel="icon" type="image/svg+xml" href="/favicon.ico" />
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
8
8
|
<title>Hermes</title>
|
|
9
|
-
<script type="module" crossorigin src="/assets/index-
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-
|
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
14
|
-
<link rel="
|
|
9
|
+
<script type="module" crossorigin src="/assets/index-BsLYVWlc.js"></script>
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-V8xgnEJh.js">
|
|
11
|
+
<link rel="modulepreload" crossorigin href="/assets/fade-in-scale-up.cssr-DQYNrBys.js">
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/Warning-B9_T2nKK.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="/assets/Modal-oIDM0xXN.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="/assets/client-ZYGCrm9m.js">
|
|
15
|
+
<link rel="modulepreload" crossorigin href="/assets/chat-CGF6ipPC.js">
|
|
16
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DDAe8BhJ.css">
|
|
15
17
|
</head>
|
|
16
18
|
|
|
17
19
|
<body>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const os_1 = require("os");
|
|
6
|
+
exports.config = {
|
|
7
|
+
port: parseInt(process.env.PORT || '8648', 10),
|
|
8
|
+
upstream: process.env.UPSTREAM || 'http://127.0.0.1:8642',
|
|
9
|
+
uploadDir: process.env.UPLOAD_DIR || (0, path_1.resolve)((0, os_1.tmpdir)(), 'hermes-uploads'),
|
|
10
|
+
dataDir: (0, path_1.resolve)(__dirname, '..', 'data'),
|
|
11
|
+
corsOrigins: process.env.CORS_ORIGINS || '*',
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function bootstrap(): Promise<void>;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.bootstrap = bootstrap;
|
|
40
|
+
const koa_1 = __importDefault(require("koa"));
|
|
41
|
+
const cors_1 = __importDefault(require("@koa/cors"));
|
|
42
|
+
const bodyparser_1 = __importDefault(require("@koa/bodyparser"));
|
|
43
|
+
const koa_static_1 = __importDefault(require("koa-static"));
|
|
44
|
+
const koa_send_1 = __importDefault(require("koa-send"));
|
|
45
|
+
const path_1 = require("path");
|
|
46
|
+
const promises_1 = require("fs/promises");
|
|
47
|
+
const config_1 = require("./config");
|
|
48
|
+
const proxy_1 = require("./routes/proxy");
|
|
49
|
+
const upload_1 = require("./routes/upload");
|
|
50
|
+
const sessions_1 = require("./routes/sessions");
|
|
51
|
+
const webhook_1 = require("./routes/webhook");
|
|
52
|
+
const logs_1 = require("./routes/logs");
|
|
53
|
+
const hermesCli = __importStar(require("./services/hermes-cli"));
|
|
54
|
+
const { restartGateway } = hermesCli;
|
|
55
|
+
async function bootstrap() {
|
|
56
|
+
await (0, promises_1.mkdir)(config_1.config.uploadDir, { recursive: true });
|
|
57
|
+
await (0, promises_1.mkdir)(config_1.config.dataDir, { recursive: true });
|
|
58
|
+
await ensureApiServerConfig();
|
|
59
|
+
const app = new koa_1.default();
|
|
60
|
+
app.use((0, cors_1.default)({ origin: config_1.config.corsOrigins }));
|
|
61
|
+
app.use((0, bodyparser_1.default)());
|
|
62
|
+
app.use(webhook_1.webhookRoutes.routes());
|
|
63
|
+
app.use(logs_1.logRoutes.routes());
|
|
64
|
+
app.use(upload_1.uploadRoutes.routes());
|
|
65
|
+
app.use(sessions_1.sessionRoutes.routes());
|
|
66
|
+
// Health endpoint with version
|
|
67
|
+
app.use(async (ctx, next) => {
|
|
68
|
+
if (ctx.path === '/health') {
|
|
69
|
+
const raw = await hermesCli.getVersion();
|
|
70
|
+
const version = raw.split('\n')[0].replace('Hermes Agent ', '') || '';
|
|
71
|
+
ctx.body = { status: 'ok', platform: 'hermes-agent', version };
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
await next();
|
|
75
|
+
});
|
|
76
|
+
app.use(proxy_1.proxyRoutes.routes());
|
|
77
|
+
// SPA fallback
|
|
78
|
+
const distDir = (0, path_1.resolve)(__dirname, '..');
|
|
79
|
+
app.use((0, koa_static_1.default)(distDir));
|
|
80
|
+
app.use(async (ctx) => {
|
|
81
|
+
if (!ctx.path.startsWith('/api') && !ctx.path.startsWith('/v1') && ctx.path !== '/health' && ctx.path !== '/upload' && ctx.path !== '/webhook') {
|
|
82
|
+
await (0, koa_send_1.default)(ctx, 'index.html', { root: distDir });
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
app.listen(config_1.config.port, '0.0.0.0', () => {
|
|
86
|
+
console.log(` ➜ Hermes BFF Server: http://localhost:${config_1.config.port}`);
|
|
87
|
+
console.log(` ➜ Upstream: ${config_1.config.upstream}`);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
async function ensureApiServerConfig() {
|
|
91
|
+
const { homedir } = await Promise.resolve().then(() => __importStar(require('os')));
|
|
92
|
+
const { readFileSync, writeFileSync, existsSync } = await Promise.resolve().then(() => __importStar(require('fs')));
|
|
93
|
+
const configPath = (0, path_1.resolve)(homedir(), '.hermes/config.yaml');
|
|
94
|
+
try {
|
|
95
|
+
if (!existsSync(configPath)) {
|
|
96
|
+
console.log(' ✗ config.yaml not found, skipping');
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const content = readFileSync(configPath, 'utf-8');
|
|
100
|
+
// Case 1: api_server section exists, check if enabled is true
|
|
101
|
+
if (/api_server:/.test(content)) {
|
|
102
|
+
// Check specifically under api_server: look for a direct child `enabled: false`
|
|
103
|
+
// Match api_server block and find enabled at the correct indent level
|
|
104
|
+
const blockMatch = content.match(/api_server:\n((?:[ \t]+.*\n)*?)(?=\S|$)/);
|
|
105
|
+
if (blockMatch) {
|
|
106
|
+
const block = blockMatch[1];
|
|
107
|
+
if (/^([ \t]*)enabled:\s*true/m.test(block)) {
|
|
108
|
+
console.log(' ✓ api_server.enabled is true');
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (/^([ \t]*)enabled:\s*false/m.test(block)) {
|
|
112
|
+
// Backup before modifying
|
|
113
|
+
const { copyFileSync } = await Promise.resolve().then(() => __importStar(require('fs')));
|
|
114
|
+
copyFileSync(configPath, configPath + '.bak');
|
|
115
|
+
const updated = content.replace(/(api_server:\n(?:[ \t]*.*\n)*?[ \t]*)enabled:\s*false/, '$1enabled: true');
|
|
116
|
+
writeFileSync(configPath, updated, 'utf-8');
|
|
117
|
+
console.log(' ✓ api_server.enabled changed to true (backup saved to config.yaml.bak)');
|
|
118
|
+
await restartGateway();
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// api_server exists but no enabled key — don't touch, assume default
|
|
123
|
+
console.log(' ✓ api_server section exists');
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
// Case 2: api_server section exists and enabled is true (or missing but default true)
|
|
127
|
+
if (/api_server:/.test(content)) {
|
|
128
|
+
console.log(' ✓ api_server section exists');
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
// Case 3: platforms section exists but no api_server — append api_server block
|
|
132
|
+
if (/platforms:/.test(content)) {
|
|
133
|
+
const { copyFileSync } = await Promise.resolve().then(() => __importStar(require('fs')));
|
|
134
|
+
copyFileSync(configPath, configPath + '.bak');
|
|
135
|
+
const append = `\n api_server:\n enabled: true\n host: "127.0.0.1"\n port: 8642\n key: ""\n cors_origins: "*"\n`;
|
|
136
|
+
const updated = content.replace(/(platforms:)/, '$1' + append);
|
|
137
|
+
writeFileSync(configPath, updated, 'utf-8');
|
|
138
|
+
console.log(' ✓ api_server block appended to platforms (backup saved to config.yaml.bak)');
|
|
139
|
+
await restartGateway();
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
// Case 4: No platforms section at all — append at end of file
|
|
143
|
+
const { copyFileSync } = await Promise.resolve().then(() => __importStar(require('fs')));
|
|
144
|
+
copyFileSync(configPath, configPath + '.bak');
|
|
145
|
+
const append = `\nplatforms:\n api_server:\n enabled: true\n host: "127.0.0.1"\n port: 8642\n key: ""\n cors_origins: "*"\n`;
|
|
146
|
+
writeFileSync(configPath, content + append, 'utf-8');
|
|
147
|
+
console.log(' ✓ platforms.api_server block appended (backup saved to config.yaml.bak)');
|
|
148
|
+
await restartGateway();
|
|
149
|
+
}
|
|
150
|
+
catch (err) {
|
|
151
|
+
console.error(' ✗ Failed to update config:', err.message);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
bootstrap();
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.logRoutes = void 0;
|
|
40
|
+
const router_1 = __importDefault(require("@koa/router"));
|
|
41
|
+
const hermesCli = __importStar(require("../services/hermes-cli"));
|
|
42
|
+
exports.logRoutes = new router_1.default();
|
|
43
|
+
// List available log files
|
|
44
|
+
exports.logRoutes.get('/api/logs', async (ctx) => {
|
|
45
|
+
const files = await hermesCli.listLogFiles();
|
|
46
|
+
ctx.body = { files };
|
|
47
|
+
});
|
|
48
|
+
// Parse a single log line into structured entry
|
|
49
|
+
function parseLine(line) {
|
|
50
|
+
// Match: 2026-04-11 20:16:16,289 INFO aiohttp.access: message
|
|
51
|
+
const match = line.match(/^(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3})\s+(DEBUG|INFO|WARNING|ERROR|CRITICAL)\s+(\S+?):\s(.*)$/);
|
|
52
|
+
if (match) {
|
|
53
|
+
return {
|
|
54
|
+
timestamp: match[1],
|
|
55
|
+
level: match[2],
|
|
56
|
+
logger: match[3],
|
|
57
|
+
message: match[4],
|
|
58
|
+
raw: line,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
// Unparseable line (e.g. traceback continuation)
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
// Read log lines (parsed)
|
|
65
|
+
exports.logRoutes.get('/api/logs/:name', async (ctx) => {
|
|
66
|
+
const logName = ctx.params.name;
|
|
67
|
+
const lines = ctx.query.lines ? parseInt(ctx.query.lines, 10) : 100;
|
|
68
|
+
const level = ctx.query.level || undefined;
|
|
69
|
+
const session = ctx.query.session || undefined;
|
|
70
|
+
const since = ctx.query.since || undefined;
|
|
71
|
+
try {
|
|
72
|
+
const content = await hermesCli.readLogs(logName, lines, level, session, since);
|
|
73
|
+
const rawLines = content.split('\n');
|
|
74
|
+
const entries = [];
|
|
75
|
+
for (const line of rawLines) {
|
|
76
|
+
// Skip header lines like "--- ~/.hermes/logs/agent.log (last 100) ---"
|
|
77
|
+
if (line.startsWith('---') || line.trim() === '')
|
|
78
|
+
continue;
|
|
79
|
+
entries.push(parseLine(line));
|
|
80
|
+
}
|
|
81
|
+
ctx.body = { entries };
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
ctx.status = 500;
|
|
85
|
+
ctx.body = { error: err.message };
|
|
86
|
+
}
|
|
87
|
+
});
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.proxy = proxy;
|
|
4
|
+
const config_1 = require("../config");
|
|
5
|
+
async function proxy(ctx) {
|
|
6
|
+
const upstream = config_1.config.upstream.replace(/\/$/, '');
|
|
7
|
+
const url = `${upstream}${ctx.path}${ctx.search || ''}`;
|
|
8
|
+
console.log(`[PROXY] ${ctx.method} ${ctx.path} -> ${url}`);
|
|
9
|
+
// Build headers — forward most, strip browser-specific ones
|
|
10
|
+
const headers = {};
|
|
11
|
+
for (const [key, value] of Object.entries(ctx.headers)) {
|
|
12
|
+
if (value == null)
|
|
13
|
+
continue;
|
|
14
|
+
const lower = key.toLowerCase();
|
|
15
|
+
if (lower === 'host') {
|
|
16
|
+
headers['host'] = new URL(upstream).host;
|
|
17
|
+
}
|
|
18
|
+
else if (lower !== 'origin' && lower !== 'referer' && lower !== 'connection') {
|
|
19
|
+
const v = Array.isArray(value) ? value[0] : value;
|
|
20
|
+
if (v)
|
|
21
|
+
headers[key] = v;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
// Add SSE-friendly headers
|
|
25
|
+
if (ctx.path.match(/\/events$/)) {
|
|
26
|
+
headers['x-accel-buffering'] = 'no';
|
|
27
|
+
headers['cache-control'] = 'no-cache';
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
// Build request body from raw body
|
|
31
|
+
let body;
|
|
32
|
+
if (ctx.req.method !== 'GET' && ctx.req.method !== 'HEAD') {
|
|
33
|
+
body = ctx.request.rawBody;
|
|
34
|
+
}
|
|
35
|
+
const res = await fetch(url, {
|
|
36
|
+
method: ctx.req.method,
|
|
37
|
+
headers,
|
|
38
|
+
body,
|
|
39
|
+
});
|
|
40
|
+
// Set response headers
|
|
41
|
+
const resHeaders = {};
|
|
42
|
+
res.headers.forEach((value, key) => {
|
|
43
|
+
const lower = key.toLowerCase();
|
|
44
|
+
if (lower !== 'transfer-encoding' && lower !== 'connection') {
|
|
45
|
+
resHeaders[key] = value;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
if (ctx.path.match(/\/events$/)) {
|
|
49
|
+
resHeaders['x-accel-buffering'] = 'no';
|
|
50
|
+
resHeaders['cache-control'] = 'no-cache';
|
|
51
|
+
}
|
|
52
|
+
ctx.status = res.status;
|
|
53
|
+
ctx.set(resHeaders);
|
|
54
|
+
// Stream response body
|
|
55
|
+
if (res.body) {
|
|
56
|
+
const reader = res.body.getReader();
|
|
57
|
+
const pump = async () => {
|
|
58
|
+
while (true) {
|
|
59
|
+
const { done, value } = await reader.read();
|
|
60
|
+
if (done)
|
|
61
|
+
break;
|
|
62
|
+
ctx.res.write(value);
|
|
63
|
+
}
|
|
64
|
+
ctx.res.end();
|
|
65
|
+
};
|
|
66
|
+
await pump();
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
ctx.res.end();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
if (!ctx.res.headersSent) {
|
|
74
|
+
ctx.status = 502;
|
|
75
|
+
ctx.set('Content-Type', 'application/json');
|
|
76
|
+
ctx.body = { error: { message: `Proxy error: ${err.message}` } };
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
ctx.res.end();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.proxyRoutes = void 0;
|
|
7
|
+
const router_1 = __importDefault(require("@koa/router"));
|
|
8
|
+
const proxy_handler_1 = require("./proxy-handler");
|
|
9
|
+
exports.proxyRoutes = new router_1.default();
|
|
10
|
+
// Proxy all /api/*, /v1/* to upstream Hermes API
|
|
11
|
+
exports.proxyRoutes.all('/api/(.*)', proxy_handler_1.proxy);
|
|
12
|
+
exports.proxyRoutes.all('/v1/(.*)', proxy_handler_1.proxy);
|