stableclaw 2026.5.2 → 2026.5.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/dist/.buildstamp +1 -1
- package/dist/control-ui/apple-touch-icon.png +0 -0
- package/dist/control-ui/assets/agents-DIJiVfPj.js +813 -0
- package/dist/control-ui/assets/anthropic-BnQLajET.js +37 -0
- package/dist/control-ui/assets/azure-openai-responses-D6oH5P8v.js +2 -0
- package/dist/control-ui/assets/channel-config-extras-Cu8rP5sC.js +2 -0
- package/dist/control-ui/assets/channels-DMte0OdA.js +349 -0
- package/dist/control-ui/assets/cron-hM6tj-cg.js +928 -0
- package/dist/control-ui/assets/de-BzA7Smom.js +2 -0
- package/dist/control-ui/assets/debug-ChdgbieB.js +94 -0
- package/dist/control-ui/assets/directive-C6NBp6xJ.js +2 -0
- package/dist/control-ui/assets/es--sAce87o.js +2 -0
- package/dist/control-ui/assets/event-stream-B8X6sYaV.js +2 -0
- package/dist/control-ui/assets/format-nUIQxx1z.js +2 -0
- package/dist/control-ui/assets/github-copilot-headers-cUjskhp6.js +2 -0
- package/dist/control-ui/assets/google-DDYMjR2f.js +2 -0
- package/dist/control-ui/assets/google-gemini-cli-BBZpF1Bz.js +3 -0
- package/dist/control-ui/assets/google-shared-Brxly9jR.js +12 -0
- package/dist/control-ui/assets/google-vertex-moPkJqQt.js +2 -0
- package/dist/control-ui/assets/hash-BN8UQrrC.js +2 -0
- package/dist/control-ui/assets/index-DOMg2RvO.css +1 -0
- package/dist/control-ui/assets/index-hSu8pNmQ.js +4841 -0
- package/dist/control-ui/assets/instances-BO-5LU4G.js +57 -0
- package/dist/control-ui/assets/lit-zdTgzAJI.js +3 -0
- package/dist/control-ui/assets/logs-CaFT90eM.js +74 -0
- package/dist/control-ui/assets/mistral-yMnz8nsP.js +8 -0
- package/dist/control-ui/assets/nodes-6XxETMb5.js +430 -0
- package/dist/control-ui/assets/openai-CQsomflW.js +17 -0
- package/dist/control-ui/assets/openai-codex-responses-DXqDuiSK.js +8 -0
- package/dist/control-ui/assets/openai-completions-Bme8q7yw.js +6 -0
- package/dist/control-ui/assets/openai-responses-DpESo9k8.js +2 -0
- package/dist/control-ui/assets/openai-responses-shared-CjacPL_h.js +11 -0
- package/dist/control-ui/assets/preload-helper-xBbMyY7u.js +1 -0
- package/dist/control-ui/assets/preview-Ca6p7-4-.js +2 -0
- package/dist/control-ui/assets/pt-BR-DkjnRLn3.js +2 -0
- package/dist/control-ui/assets/sessions-USutdtjY.js +236 -0
- package/dist/control-ui/assets/skills-DLY8KTEh.js +216 -0
- package/dist/control-ui/assets/skills-shared-DUfo2UBp.js +11 -0
- package/dist/control-ui/assets/transform-messages-Lu1Q3cQf.js +2 -0
- package/dist/control-ui/assets/zh-CN-Di7IMlSu.js +2 -0
- package/dist/control-ui/assets/zh-TW-yENTnmx1.js +2 -0
- package/dist/control-ui/favicon-32.png +0 -0
- package/dist/control-ui/favicon.ico +0 -0
- package/dist/control-ui/favicon.svg +66 -0
- package/dist/control-ui/index.html +75 -0
- package/package.json +1 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import{i as e,n as t}from"./lit-zdTgzAJI.js";import{j as n,o as r}from"./index-hSu8pNmQ.js";var i=!1;function a(r){let a=!i;return e`
|
|
2
|
+
<section class="card">
|
|
3
|
+
<div class="row" style="justify-content: space-between;">
|
|
4
|
+
<div>
|
|
5
|
+
<div class="card-title">Connected Instances</div>
|
|
6
|
+
<div class="card-sub">Presence beacons from the gateway and clients.</div>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="row" style="gap: 8px;">
|
|
9
|
+
<button
|
|
10
|
+
class="btn btn--icon ${a?``:`active`}"
|
|
11
|
+
@click=${()=>{i=!i,r.onRefresh()}}
|
|
12
|
+
title=${a?`Show hosts and IPs`:`Hide hosts and IPs`}
|
|
13
|
+
aria-label="Toggle host visibility"
|
|
14
|
+
aria-pressed=${!a}
|
|
15
|
+
style="width: 36px; height: 36px;"
|
|
16
|
+
>
|
|
17
|
+
${a?n.eyeOff:n.eye}
|
|
18
|
+
</button>
|
|
19
|
+
<button class="btn" ?disabled=${r.loading} @click=${r.onRefresh}>
|
|
20
|
+
${r.loading?`Loading…`:`Refresh`}
|
|
21
|
+
</button>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
${r.lastError?e`<div class="callout danger" style="margin-top: 12px;">${r.lastError}</div>`:t}
|
|
25
|
+
${r.statusMessage?e`<div class="callout" style="margin-top: 12px;">${r.statusMessage}</div>`:t}
|
|
26
|
+
<div class="list" style="margin-top: 16px;">
|
|
27
|
+
${r.entries.length===0?e` <div class="muted">No instances reported yet.</div> `:r.entries.map(e=>o(e,a))}
|
|
28
|
+
</div>
|
|
29
|
+
</section>
|
|
30
|
+
`}function o(n,i){let a=n.lastInputSeconds==null?`n/a`:`${n.lastInputSeconds}s ago`,o=n.mode??`unknown`,s=n.host??`unknown host`,c=n.ip??null,l=Array.isArray(n.roles)?n.roles.filter(Boolean):[],u=Array.isArray(n.scopes)?n.scopes.filter(Boolean):[],d=u.length>0?u.length>3?`${u.length} scopes`:`scopes: ${u.join(`, `)}`:null;return e`
|
|
31
|
+
<div class="list-item">
|
|
32
|
+
<div class="list-main">
|
|
33
|
+
<div class="list-title">
|
|
34
|
+
<span class="${i?`redacted`:``}">${s}</span>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="list-sub">
|
|
37
|
+
${c?e`<span class="${i?`redacted`:``}">${c}</span> `:t}${o}
|
|
38
|
+
${n.version??``}
|
|
39
|
+
</div>
|
|
40
|
+
<div class="chip-row">
|
|
41
|
+
<span class="chip">${o}</span>
|
|
42
|
+
${l.map(t=>e`<span class="chip">${t}</span>`)}
|
|
43
|
+
${d?e`<span class="chip">${d}</span>`:t}
|
|
44
|
+
${n.platform?e`<span class="chip">${n.platform}</span>`:t}
|
|
45
|
+
${n.deviceFamily?e`<span class="chip">${n.deviceFamily}</span>`:t}
|
|
46
|
+
${n.modelIdentifier?e`<span class="chip">${n.modelIdentifier}</span>`:t}
|
|
47
|
+
${n.version?e`<span class="chip">${n.version}</span>`:t}
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="list-meta">
|
|
51
|
+
<div>${r(n)}</div>
|
|
52
|
+
<div class="muted">Last input ${a}</div>
|
|
53
|
+
<div class="muted">Reason ${n.reason??``}</div>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
`}export{a as renderInstances};
|
|
57
|
+
//# sourceMappingURL=instances-BO-5LU4G.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var e=globalThis,t=e.ShadowRoot&&(e.ShadyCSS===void 0||e.ShadyCSS.nativeShadow)&&`adoptedStyleSheets`in Document.prototype&&`replace`in CSSStyleSheet.prototype,n=Symbol(),r=new WeakMap,i=class{constructor(e,t,r){if(this._$cssResult$=!0,r!==n)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,n=this.t;if(t&&e===void 0){let t=n!==void 0&&n.length===1;t&&(e=r.get(n)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),t&&r.set(n,e))}return e}toString(){return this.cssText}},a=e=>new i(typeof e==`string`?e:e+``,void 0,n),o=(e,...t)=>new i(e.length===1?e[0]:t.reduce((t,n,r)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if(typeof e==`number`)return e;throw Error(`Value passed to 'css' function must be a 'css' function result: `+e+`. Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.`)})(n)+e[r+1],e[0]),e,n),s=(n,r)=>{if(t)n.adoptedStyleSheets=r.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let t of r){let r=document.createElement(`style`),i=e.litNonce;i!==void 0&&r.setAttribute(`nonce`,i),r.textContent=t.cssText,n.appendChild(r)}},c=t?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t=``;for(let n of e.cssRules)t+=n.cssText;return a(t)})(e):e,{is:l,defineProperty:u,getOwnPropertyDescriptor:d,getOwnPropertyNames:ee,getOwnPropertySymbols:te,getPrototypeOf:ne}=Object,f=globalThis,p=f.trustedTypes,re=p?p.emptyScript:``,ie=f.reactiveElementPolyfillSupport,m=(e,t)=>e,h={toAttribute(e,t){switch(t){case Boolean:e=e?re:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch{n=null}}return n}},g=(e,t)=>!l(e,t),_={attribute:!0,type:String,converter:h,reflect:!1,useDefault:!1,hasChanged:g};Symbol.metadata??=Symbol(`metadata`),f.litPropertyMetadata??=new WeakMap;var v=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=_){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&u(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){let{get:r,set:i}=d(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:r,set(t){let a=r?.call(this);i?.call(this,t),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??_}static _$Ei(){if(this.hasOwnProperty(m(`elementProperties`)))return;let e=ne(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(m(`finalized`)))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(m(`properties`))){let e=this.properties,t=[...ee(e),...te(e)];for(let n of t)this.createProperty(n,e[n])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(let[e,t]of this.elementProperties){let n=this._$Eu(e,t);n!==void 0&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let e of n)t.unshift(c(e))}else e!==void 0&&t.push(c(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:typeof n==`string`?n:typeof e==`string`?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&!0===n.reflect){let i=(n.converter?.toAttribute===void 0?h:n.converter).toAttribute(t,n.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,t){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let e=n.getPropertyOptions(r),i=typeof e.converter==`function`?{fromAttribute:e.converter}:e.converter?.fromAttribute===void 0?h:e.converter;this._$Em=r;let a=i.fromAttribute(t,e.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(e,t,n,r=!1,i){if(e!==void 0){let a=this.constructor;if(!1===r&&(i=this[e]),n??=a.getPropertyOptions(e),!((n.hasChanged??g)(i,t)||n.useDefault&&n.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:r,wrapped:i},a){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==i||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===r&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,r=this[t];!0!==e||this._$AL.has(t)||r===void 0||this.C(t,void 0,n,r)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};v.elementStyles=[],v.shadowRootOptions={mode:`open`},v[m(`elementProperties`)]=new Map,v[m(`finalized`)]=new Map,ie?.({ReactiveElement:v}),(f.reactiveElementVersions??=[]).push(`2.1.2`);var y=globalThis,b=e=>e,x=y.trustedTypes,ae=x?x.createPolicy(`lit-html`,{createHTML:e=>e}):void 0,S=`$lit$`,C=`lit$${Math.random().toFixed(9).slice(2)}$`,w=`?`+C,oe=`<${w}>`,T=document,E=()=>T.createComment(``),D=e=>e===null||typeof e!=`object`&&typeof e!=`function`,O=Array.isArray,k=e=>O(e)||typeof e?.[Symbol.iterator]==`function`,A=`[
|
|
2
|
+
\f\r]`,j=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,M=/-->/g,N=/>/g,P=RegExp(`>|${A}(?:([^\\s"'>=/]+)(${A}*=${A}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,`g`),F=/'/g,I=/"/g,L=/^(?:script|style|textarea|title)$/i,R=e=>(t,...n)=>({_$litType$:e,strings:t,values:n}),se=R(1),ce=R(2),z=Symbol.for(`lit-noChange`),B=Symbol.for(`lit-nothing`),V=new WeakMap,H=T.createTreeWalker(T,129);function U(e,t){if(!O(e)||!e.hasOwnProperty(`raw`))throw Error(`invalid template strings array`);return ae===void 0?t:ae.createHTML(t)}var W=(e,t)=>{let n=e.length-1,r=[],i,a=t===2?`<svg>`:t===3?`<math>`:``,o=j;for(let t=0;t<n;t++){let n=e[t],s,c,l=-1,u=0;for(;u<n.length&&(o.lastIndex=u,c=o.exec(n),c!==null);)u=o.lastIndex,o===j?c[1]===`!--`?o=M:c[1]===void 0?c[2]===void 0?c[3]!==void 0&&(o=P):(L.test(c[2])&&(i=RegExp(`</`+c[2],`g`)),o=P):o=N:o===P?c[0]===`>`?(o=i??j,l=-1):c[1]===void 0?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=c[3]===void 0?P:c[3]===`"`?I:F):o===I||o===F?o=P:o===M||o===N?o=j:(o=P,i=void 0);let d=o===P&&e[t+1].startsWith(`/>`)?` `:``;a+=o===j?n+oe:l>=0?(r.push(s),n.slice(0,l)+S+n.slice(l)+C+d):n+C+(l===-2?t:d)}return[U(e,a+(e[n]||`<?>`)+(t===2?`</svg>`:t===3?`</math>`:``)),r]},G=class e{constructor({strings:t,_$litType$:n},r){let i;this.parts=[];let a=0,o=0,s=t.length-1,c=this.parts,[l,u]=W(t,n);if(this.el=e.createElement(l,r),H.currentNode=this.el.content,n===2||n===3){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;(i=H.nextNode())!==null&&c.length<s;){if(i.nodeType===1){if(i.hasAttributes())for(let e of i.getAttributeNames())if(e.endsWith(S)){let t=u[o++],n=i.getAttribute(e).split(C),r=/([.?@])?(.*)/.exec(t);c.push({type:1,index:a,name:r[2],strings:n,ctor:r[1]===`.`?X:r[1]===`?`?Z:r[1]===`@`?le:Y}),i.removeAttribute(e)}else e.startsWith(C)&&(c.push({type:6,index:a}),i.removeAttribute(e));if(L.test(i.tagName)){let e=i.textContent.split(C),t=e.length-1;if(t>0){i.textContent=x?x.emptyScript:``;for(let n=0;n<t;n++)i.append(e[n],E()),H.nextNode(),c.push({type:2,index:++a});i.append(e[t],E())}}}else if(i.nodeType===8)if(i.data===w)c.push({type:2,index:a});else{let e=-1;for(;(e=i.data.indexOf(C,e+1))!==-1;)c.push({type:7,index:a}),e+=C.length-1}a++}}static createElement(e,t){let n=T.createElement(`template`);return n.innerHTML=e,n}};function K(e,t,n=e,r){if(t===z)return t;let i=r===void 0?n._$Cl:n._$Co?.[r],a=D(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),a===void 0?i=void 0:(i=new a(e),i._$AT(e,n,r)),r===void 0?n._$Cl=i:(n._$Co??=[])[r]=i),i!==void 0&&(t=K(e,i._$AS(e,t.values),i,r)),t}var q=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:n}=this._$AD,r=(e?.creationScope??T).importNode(t,!0);H.currentNode=r;let i=H.nextNode(),a=0,o=0,s=n[0];for(;s!==void 0;){if(a===s.index){let t;s.type===2?t=new J(i,i.nextSibling,this,e):s.type===1?t=new s.ctor(i,s.name,s.strings,this,e):s.type===6&&(t=new ue(i,this,e)),this._$AV.push(t),s=n[++o]}a!==s?.index&&(i=H.nextNode(),a++)}return H.currentNode=T,r}p(e){let t=0;for(let n of this._$AV)n!==void 0&&(n.strings===void 0?n._$AI(e[t]):(n._$AI(e,n,t),t+=n.strings.length-2)),t++}},J=class e{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,n,r){this.type=2,this._$AH=B,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=K(this,e,t),D(e)?e===B||e==null||e===``?(this._$AH!==B&&this._$AR(),this._$AH=B):e!==this._$AH&&e!==z&&this._(e):e._$litType$===void 0?e.nodeType===void 0?k(e)?this.k(e):this._(e):this.T(e):this.$(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==B&&D(this._$AH)?this._$AA.nextSibling.data=e:this.T(T.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:n}=e,r=typeof n==`number`?this._$AC(e):(n.el===void 0&&(n.el=G.createElement(U(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===r)this._$AH.p(t);else{let e=new q(r,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=V.get(e.strings);return t===void 0&&V.set(e.strings,t=new G(e)),t}k(t){O(this._$AH)||(this._$AH=[],this._$AR());let n=this._$AH,r,i=0;for(let a of t)i===n.length?n.push(r=new e(this.O(E()),this.O(E()),this,this.options)):r=n[i],r._$AI(a),i++;i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let t=b(e).nextSibling;b(e).remove(),e=t}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},Y=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,r,i){this.type=1,this._$AH=B,this._$AN=void 0,this.element=e,this.name=t,this._$AM=r,this.options=i,n.length>2||n[0]!==``||n[1]!==``?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=B}_$AI(e,t=this,n,r){let i=this.strings,a=!1;if(i===void 0)e=K(this,e,t,0),a=!D(e)||e!==this._$AH&&e!==z,a&&(this._$AH=e);else{let r=e,o,s;for(e=i[0],o=0;o<i.length-1;o++)s=K(this,r[n+o],t,o),s===z&&(s=this._$AH[o]),a||=!D(s)||s!==this._$AH[o],s===B?e=B:e!==B&&(e+=(s??``)+i[o+1]),this._$AH[o]=s}a&&!r&&this.j(e)}j(e){e===B?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??``)}},X=class extends Y{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===B?void 0:e}},Z=class extends Y{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==B)}},le=class extends Y{constructor(e,t,n,r,i){super(e,t,n,r,i),this.type=5}_$AI(e,t=this){if((e=K(this,e,t,0)??B)===z)return;let n=this._$AH,r=e===B&&n!==B||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,i=e!==B&&(n===B||r);r&&this.element.removeEventListener(this.name,this,n),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH==`function`?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},ue=class{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){K(this,e)}},de={M:S,P:C,A:w,C:1,L:W,R:q,D:k,V:K,I:J,H:Y,N:Z,U:le,B:X,F:ue},fe=y.litHtmlPolyfillSupport;fe?.(G,J),(y.litHtmlVersions??=[]).push(`3.3.2`);var pe=(e,t,n)=>{let r=n?.renderBefore??t,i=r._$litPart$;if(i===void 0){let e=n?.renderBefore??null;r._$litPart$=i=new J(t.insertBefore(E(),e),e,void 0,n??{})}return i._$AI(e),i},Q=globalThis,$=class extends v{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=pe(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return z}};$._$litElement$=!0,$.finalized=!0,Q.litElementHydrateSupport?.({LitElement:$});var me=Q.litElementPolyfillSupport;me?.({LitElement:$}),(Q.litElementVersions??=[]).push(`4.2.2`);export{de as a,h as c,se as i,o as l,B as n,ce as o,z as r,g as s,$ as t};
|
|
3
|
+
//# sourceMappingURL=lit-zdTgzAJI.js.map
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import{i as e,n as t}from"./lit-zdTgzAJI.js";var n=[`trace`,`debug`,`info`,`warn`,`error`,`fatal`];function r(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString()}function i(e,t){return t?[e.message,e.subsystem,e.raw].filter(Boolean).join(` `).toLowerCase().includes(t):!0}function a(a){let o=a.filterText.trim().toLowerCase(),s=n.some(e=>!a.levelFilters[e]),c=a.entries.filter(e=>e.level&&!a.levelFilters[e.level]?!1:i(e,o)),l=o||s?`filtered`:`visible`;return e`
|
|
2
|
+
<section class="card">
|
|
3
|
+
<div class="row" style="justify-content: space-between;">
|
|
4
|
+
<div>
|
|
5
|
+
<div class="card-title">Logs</div>
|
|
6
|
+
<div class="card-sub">Gateway file logs (JSONL).</div>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="row" style="gap: 8px;">
|
|
9
|
+
<button class="btn" ?disabled=${a.loading} @click=${a.onRefresh}>
|
|
10
|
+
${a.loading?`Loading…`:`Refresh`}
|
|
11
|
+
</button>
|
|
12
|
+
<button
|
|
13
|
+
class="btn"
|
|
14
|
+
?disabled=${c.length===0}
|
|
15
|
+
@click=${()=>a.onExport(c.map(e=>e.raw),l)}
|
|
16
|
+
>
|
|
17
|
+
Export ${l}
|
|
18
|
+
</button>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div class="filters" style="margin-top: 14px;">
|
|
23
|
+
<label class="field" style="min-width: 220px;">
|
|
24
|
+
<span>Filter</span>
|
|
25
|
+
<input
|
|
26
|
+
.value=${a.filterText}
|
|
27
|
+
@input=${e=>a.onFilterTextChange(e.target.value)}
|
|
28
|
+
placeholder="Search logs"
|
|
29
|
+
/>
|
|
30
|
+
</label>
|
|
31
|
+
<label class="field checkbox">
|
|
32
|
+
<span>Auto-follow</span>
|
|
33
|
+
<input
|
|
34
|
+
type="checkbox"
|
|
35
|
+
.checked=${a.autoFollow}
|
|
36
|
+
@change=${e=>a.onToggleAutoFollow(e.target.checked)}
|
|
37
|
+
/>
|
|
38
|
+
</label>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<div class="chip-row" style="margin-top: 12px;">
|
|
42
|
+
${n.map(t=>e`
|
|
43
|
+
<label class="chip log-chip ${t}">
|
|
44
|
+
<input
|
|
45
|
+
type="checkbox"
|
|
46
|
+
.checked=${a.levelFilters[t]}
|
|
47
|
+
@change=${e=>a.onLevelToggle(t,e.target.checked)}
|
|
48
|
+
/>
|
|
49
|
+
<span>${t}</span>
|
|
50
|
+
</label>
|
|
51
|
+
`)}
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
${a.file?e`<div class="muted" style="margin-top: 10px;">File: ${a.file}</div>`:t}
|
|
55
|
+
${a.truncated?e`
|
|
56
|
+
<div class="callout" style="margin-top: 10px">
|
|
57
|
+
Log output truncated; showing latest chunk.
|
|
58
|
+
</div>
|
|
59
|
+
`:t}
|
|
60
|
+
${a.error?e`<div class="callout danger" style="margin-top: 10px;">${a.error}</div>`:t}
|
|
61
|
+
|
|
62
|
+
<div class="log-stream" style="margin-top: 12px;" @scroll=${a.onScroll}>
|
|
63
|
+
${c.length===0?e` <div class="muted" style="padding: 12px">No log entries.</div> `:c.map(t=>e`
|
|
64
|
+
<div class="log-row">
|
|
65
|
+
<div class="log-time mono">${r(t.time)}</div>
|
|
66
|
+
<div class="log-level ${t.level??``}">${t.level??``}</div>
|
|
67
|
+
<div class="log-subsystem mono">${t.subsystem??``}</div>
|
|
68
|
+
<div class="log-message mono">${t.message??t.raw}</div>
|
|
69
|
+
</div>
|
|
70
|
+
`)}
|
|
71
|
+
</div>
|
|
72
|
+
</section>
|
|
73
|
+
`}export{a as renderLogs};
|
|
74
|
+
//# sourceMappingURL=logs-CaFT90eM.js.map
|