@bitseek/claw 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  3. package/dist/{command-registry-By6zKf98.js → command-registry-DcARoFp5.js} +4 -4
  4. package/dist/{completion-cli-CV7dNv8l.js → completion-cli-DRUvmQGG.js} +2 -2
  5. package/dist/{completion-cli-BuLkcc9o.js → completion-cli-cJxeCv4O.js} +1 -1
  6. package/dist/control-ui/assets/{index-CBxamjSz.js → index-DeYOAwUj.js} +2 -2
  7. package/dist/control-ui/assets/index-DeYOAwUj.js.map +1 -0
  8. package/dist/control-ui/index.html +1 -1
  9. package/dist/{doctor-completion-T9CxDBUR.js → doctor-completion-BPXyoyKn.js} +1 -1
  10. package/dist/{doctor-completion-BIt5xBwC.js → doctor-completion-COhnnC7x.js} +1 -1
  11. package/dist/entry.js +2 -2
  12. package/dist/{gateway-cli-gzemofET.js → gateway-cli-9UPhizyo.js} +21 -1
  13. package/dist/{gateway-cli-CanylfLh.js → gateway-cli-BHpfj2p-.js} +21 -1
  14. package/dist/index.js +1 -1
  15. package/dist/{onboard-B-f5pmgG.js → onboard-Yx-4UNLx.js} +1 -1
  16. package/dist/{onboard-CLUldVpr.js → onboard-lxDPoEX0.js} +1 -1
  17. package/dist/{onboarding-Kp0zZunD.js → onboarding-BuP_R-4K.js} +1 -1
  18. package/dist/{onboarding-DHqNGWCb.js → onboarding-C1V78UtY.js} +1 -1
  19. package/dist/{onboarding.finalize-D_n9fly-.js → onboarding.finalize--jtLHdXd.js} +4 -4
  20. package/dist/{onboarding.finalize-CJ23anMx.js → onboarding.finalize-f-QjMD-6.js} +3 -3
  21. package/dist/{program-C0yxnClq.js → program-DAVrzhs2.js} +2 -2
  22. package/dist/{program-context-D2U9PEv9.js → program-context-CroeAMEq.js} +6 -6
  23. package/dist/{prompt-select-styled-Bir77erd.js → prompt-select-styled-Dbko_Q7s.js} +1 -1
  24. package/dist/{prompt-select-styled-Da_XCcz7.js → prompt-select-styled-Du3ff0sT.js} +1 -1
  25. package/dist/{register.maintenance-ClYMbiJl.js → register.maintenance-DK--cbD8.js} +4 -4
  26. package/dist/{register.maintenance-CaDyvPmk.js → register.maintenance-MiuPJilJ.js} +5 -5
  27. package/dist/{register.onboard-a-TEy7gB.js → register.onboard-CXiK8Iev.js} +2 -2
  28. package/dist/{register.onboard-BUBCEjZ_.js → register.onboard-yJeNS-BD.js} +2 -2
  29. package/dist/{register.setup-Dlmt8cdD.js → register.setup-CtS7M9NK.js} +2 -2
  30. package/dist/{register.setup-9Je9b17j.js → register.setup-DRllOSJZ.js} +2 -2
  31. package/dist/{register.subclis-D2hfRpSx.js → register.subclis-D_FWN2RD.js} +3 -3
  32. package/dist/{run-main-D9foK80m.js → run-main-Dqz2ik3j.js} +3 -3
  33. package/dist/{update-cli-BDRni489.js → update-cli-DBkrPKzK.js} +5 -5
  34. package/dist/{update-cli-CWNpH8nb.js → update-cli-DvlRTsY-.js} +4 -4
  35. package/package.json +1 -1
  36. package/dist/control-ui/assets/index-CBxamjSz.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "1.3.0",
2
+ "version": "1.3.1",
3
3
  "upstreamVersion": "2026.3.2",
4
- "commit": "ecca50bd702c98bd8ad6eedce66043ae873665ae",
5
- "builtAt": "2026-03-14T11:31:44.776Z"
4
+ "commit": "717712051583558c41b1be5748725e8095358418",
5
+ "builtAt": "2026-03-16T02:17:08.637Z"
6
6
  }
@@ -1 +1 @@
1
- 68adda22decd748c06a72b9ff7fa1e552b0bbba967b70653c4cbd2247a0a9262
1
+ ed18624141bcd97aa855f30b3b5114a534d9776a01472891d5f674c080dd04ac
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { F as getPrimaryCommand, R as hasHelpOrVersion } from "./globals-B68W7uN8.js";
3
- import { i as registerSubCliCommands, o as removeCommandByName, s as reparseProgramFromActionArgs } from "./register.subclis-D2hfRpSx.js";
3
+ import { i as registerSubCliCommands, o as removeCommandByName, s as reparseProgramFromActionArgs } from "./register.subclis-D_FWN2RD.js";
4
4
 
5
5
  //#region src/cli/program/command-registry.ts
6
6
  var command_registry_exports = /* @__PURE__ */ __exportAll({
@@ -42,7 +42,7 @@ const coreEntries = [
42
42
  hasSubcommands: false
43
43
  }],
44
44
  register: async ({ program }) => {
45
- (await import("./register.setup-9Je9b17j.js")).registerSetupCommand(program);
45
+ (await import("./register.setup-DRllOSJZ.js")).registerSetupCommand(program);
46
46
  }
47
47
  },
48
48
  {
@@ -52,7 +52,7 @@ const coreEntries = [
52
52
  hasSubcommands: false
53
53
  }],
54
54
  register: async ({ program }) => {
55
- (await import("./register.onboard-a-TEy7gB.js")).registerOnboardCommand(program);
55
+ (await import("./register.onboard-CXiK8Iev.js")).registerOnboardCommand(program);
56
56
  }
57
57
  },
58
58
  {
@@ -99,7 +99,7 @@ const coreEntries = [
99
99
  }
100
100
  ],
101
101
  register: async ({ program }) => {
102
- (await import("./register.maintenance-CaDyvPmk.js")).registerMaintenanceCommands(program);
102
+ (await import("./register.maintenance-MiuPJilJ.js")).registerMaintenanceCommands(program);
103
103
  }
104
104
  },
105
105
  {
@@ -4,8 +4,8 @@ import { g as resolveStateDir } from "./paths-BnKiOk2S.js";
4
4
  import { i as routeLogsToStderr } from "./subsystem-DjdBljTA.js";
5
5
  import { m as pathExists } from "./utils-DIzy5B5o.js";
6
6
  import { t as formatDocsLink } from "./links-BDNlbZvM.js";
7
- import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-D2hfRpSx.js";
8
- import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-By6zKf98.js";
7
+ import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-D_FWN2RD.js";
8
+ import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-DcARoFp5.js";
9
9
  import { t as getProgramContext } from "./program-context-Cy6hM1zR.js";
10
10
  import path from "node:path";
11
11
  import os from "node:os";
@@ -4,7 +4,7 @@ import { p as theme } from "./globals-uLeGcRW1.js";
4
4
  import { h as pathExists } from "./utils-CP51tiAi.js";
5
5
  import { i as routeLogsToStderr } from "./subsystem-BT74-yyS.js";
6
6
  import { t as formatDocsLink } from "./links-CM7pO4C5.js";
7
- import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-D2U9PEv9.js";
7
+ import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-CroeAMEq.js";
8
8
  import os from "node:os";
9
9
  import path from "node:path";
10
10
  import fs from "node:fs/promises";
@@ -1,6 +1,6 @@
1
1
  (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&s(r)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();const Ts=globalThis,Mo=Ts.ShadowRoot&&(Ts.ShadyCSS===void 0||Ts.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Ro=Symbol(),Hr=new WeakMap;let zl=class{constructor(t,n,s){if(this._$cssResult$=!0,s!==Ro)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=n}get styleSheet(){let t=this.o;const n=this.t;if(Mo&&t===void 0){const s=n!==void 0&&n.length===1;s&&(t=Hr.get(n)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&Hr.set(n,t))}return t}toString(){return this.cssText}};const Iu=e=>new zl(typeof e=="string"?e:e+"",void 0,Ro),Mu=(e,...t)=>{const n=e.length===1?e[0]:t.reduce((s,i,o)=>s+(r=>{if(r._$cssResult$===!0)return r.cssText;if(typeof r=="number")return r;throw Error("Value passed to 'css' function must be a 'css' function result: "+r+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+e[o+1],e[0]);return new zl(n,e,Ro)},Ru=(e,t)=>{if(Mo)e.adoptedStyleSheets=t.map(n=>n instanceof CSSStyleSheet?n:n.styleSheet);else for(const n of t){const s=document.createElement("style"),i=Ts.litNonce;i!==void 0&&s.setAttribute("nonce",i),s.textContent=n.cssText,e.appendChild(s)}},zr=Mo?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let n="";for(const s of t.cssRules)n+=s.cssText;return Iu(n)})(e):e;const{is:Lu,defineProperty:Du,getOwnPropertyDescriptor:Pu,getOwnPropertyNames:Fu,getOwnPropertySymbols:Nu,getPrototypeOf:Ou}=Object,Xs=globalThis,jr=Xs.trustedTypes,Uu=jr?jr.emptyScript:"",Bu=Xs.reactiveElementPolyfillSupport,Bn=(e,t)=>e,Fs={toAttribute(e,t){switch(t){case Boolean:e=e?Uu: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}},Lo=(e,t)=>!Lu(e,t),Kr={attribute:!0,type:String,converter:Fs,reflect:!1,useDefault:!1,hasChanged:Lo};Symbol.metadata??=Symbol("metadata"),Xs.litPropertyMetadata??=new WeakMap;let cn=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,n=Kr){if(n.state&&(n.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((n=Object.create(n)).wrapped=!0),this.elementProperties.set(t,n),!n.noAccessor){const s=Symbol(),i=this.getPropertyDescriptor(t,s,n);i!==void 0&&Du(this.prototype,t,i)}}static getPropertyDescriptor(t,n,s){const{get:i,set:o}=Pu(this.prototype,t)??{get(){return this[n]},set(r){this[n]=r}};return{get:i,set(r){const l=i?.call(this);o?.call(this,r),this.requestUpdate(t,l,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??Kr}static _$Ei(){if(this.hasOwnProperty(Bn("elementProperties")))return;const t=Ou(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(Bn("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Bn("properties"))){const n=this.properties,s=[...Fu(n),...Nu(n)];for(const i of s)this.createProperty(i,n[i])}const t=this[Symbol.metadata];if(t!==null){const n=litPropertyMetadata.get(t);if(n!==void 0)for(const[s,i]of n)this.elementProperties.set(s,i)}this._$Eh=new Map;for(const[n,s]of this.elementProperties){const i=this._$Eu(n,s);i!==void 0&&this._$Eh.set(i,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const n=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const i of s)n.unshift(zr(i))}else t!==void 0&&n.push(zr(t));return n}static _$Eu(t,n){const s=n.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.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(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,n=this.constructor.elementProperties;for(const s of n.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Ru(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,n,s){this._$AK(t,s)}_$ET(t,n){const s=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,s);if(i!==void 0&&s.reflect===!0){const o=(s.converter?.toAttribute!==void 0?s.converter:Fs).toAttribute(n,s.type);this._$Em=t,o==null?this.removeAttribute(i):this.setAttribute(i,o),this._$Em=null}}_$AK(t,n){const s=this.constructor,i=s._$Eh.get(t);if(i!==void 0&&this._$Em!==i){const o=s.getPropertyOptions(i),r=typeof o.converter=="function"?{fromAttribute:o.converter}:o.converter?.fromAttribute!==void 0?o.converter:Fs;this._$Em=i;const l=r.fromAttribute(n,o.type);this[i]=l??this._$Ej?.get(i)??l,this._$Em=null}}requestUpdate(t,n,s,i=!1,o){if(t!==void 0){const r=this.constructor;if(i===!1&&(o=this[t]),s??=r.getPropertyOptions(t),!((s.hasChanged??Lo)(o,n)||s.useDefault&&s.reflect&&o===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,s))))return;this.C(t,n,s)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,n,{useDefault:s,reflect:i,wrapped:o},r){s&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??n??this[t]),o!==!0||r!==void 0)||(this._$AL.has(t)||(this.hasUpdated||s||(n=void 0),this._$AL.set(t,n)),i===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(n){Promise.reject(n)}const t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[i,o]of this._$Ep)this[i]=o;this._$Ep=void 0}const s=this.constructor.elementProperties;if(s.size>0)for(const[i,o]of s){const{wrapped:r}=o,l=this[i];r!==!0||this._$AL.has(i)||l===void 0||this.C(i,void 0,o,l)}}let t=!1;const n=this._$AL;try{t=this.shouldUpdate(n),t?(this.willUpdate(n),this._$EO?.forEach(s=>s.hostUpdate?.()),this.update(n)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(n)}willUpdate(t){}_$AE(t){this._$EO?.forEach(n=>n.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(n=>this._$ET(n,this[n])),this._$EM()}updated(t){}firstUpdated(t){}};cn.elementStyles=[],cn.shadowRootOptions={mode:"open"},cn[Bn("elementProperties")]=new Map,cn[Bn("finalized")]=new Map,Bu?.({ReactiveElement:cn}),(Xs.reactiveElementVersions??=[]).push("2.1.2");const Do=globalThis,Wr=e=>e,Ns=Do.trustedTypes,qr=Ns?Ns.createPolicy("lit-html",{createHTML:e=>e}):void 0,jl="$lit$",ht=`lit$${Math.random().toFixed(9).slice(2)}$`,Kl="?"+ht,Hu=`<${Kl}>`,Gt=document,qn=()=>Gt.createComment(""),Gn=e=>e===null||typeof e!="object"&&typeof e!="function",Po=Array.isArray,zu=e=>Po(e)||typeof e?.[Symbol.iterator]=="function",Ai=`[
2
2
  \f\r]`,_n=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Gr=/-->/g,Vr=/>/g,Mt=RegExp(`>|${Ai}(?:([^\\s"'>=/]+)(${Ai}*=${Ai}*(?:[^
3
- \f\r"'\`<>=]|("|')|))|$)`,"g"),Jr=/'/g,Qr=/"/g,Wl=/^(?:script|style|textarea|title)$/i,ql=e=>(t,...n)=>({_$litType$:e,strings:t,values:n}),c=ql(1),Rt=ql(2),wt=Symbol.for("lit-noChange"),h=Symbol.for("lit-nothing"),Yr=new WeakMap,Kt=Gt.createTreeWalker(Gt,129);function Gl(e,t){if(!Po(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return qr!==void 0?qr.createHTML(t):t}const ju=(e,t)=>{const n=e.length-1,s=[];let i,o=t===2?"<svg>":t===3?"<math>":"",r=_n;for(let l=0;l<n;l++){const a=e[l];let d,g,u=-1,f=0;for(;f<a.length&&(r.lastIndex=f,g=r.exec(a),g!==null);)f=r.lastIndex,r===_n?g[1]==="!--"?r=Gr:g[1]!==void 0?r=Vr:g[2]!==void 0?(Wl.test(g[2])&&(i=RegExp("</"+g[2],"g")),r=Mt):g[3]!==void 0&&(r=Mt):r===Mt?g[0]===">"?(r=i??_n,u=-1):g[1]===void 0?u=-2:(u=r.lastIndex-g[2].length,d=g[1],r=g[3]===void 0?Mt:g[3]==='"'?Qr:Jr):r===Qr||r===Jr?r=Mt:r===Gr||r===Vr?r=_n:(r=Mt,i=void 0);const v=r===Mt&&e[l+1].startsWith("/>")?" ":"";o+=r===_n?a+Hu:u>=0?(s.push(d),a.slice(0,u)+jl+a.slice(u)+ht+v):a+ht+(u===-2?l:v)}return[Gl(e,o+(e[n]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),s]};class Vn{constructor({strings:t,_$litType$:n},s){let i;this.parts=[];let o=0,r=0;const l=t.length-1,a=this.parts,[d,g]=ju(t,n);if(this.el=Vn.createElement(d,s),Kt.currentNode=this.el.content,n===2||n===3){const u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(i=Kt.nextNode())!==null&&a.length<l;){if(i.nodeType===1){if(i.hasAttributes())for(const u of i.getAttributeNames())if(u.endsWith(jl)){const f=g[r++],v=i.getAttribute(u).split(ht),m=/([.?@])?(.*)/.exec(f);a.push({type:1,index:o,name:m[2],strings:v,ctor:m[1]==="."?Wu:m[1]==="?"?qu:m[1]==="@"?Gu:ei}),i.removeAttribute(u)}else u.startsWith(ht)&&(a.push({type:6,index:o}),i.removeAttribute(u));if(Wl.test(i.tagName)){const u=i.textContent.split(ht),f=u.length-1;if(f>0){i.textContent=Ns?Ns.emptyScript:"";for(let v=0;v<f;v++)i.append(u[v],qn()),Kt.nextNode(),a.push({type:2,index:++o});i.append(u[f],qn())}}}else if(i.nodeType===8)if(i.data===Kl)a.push({type:2,index:o});else{let u=-1;for(;(u=i.data.indexOf(ht,u+1))!==-1;)a.push({type:7,index:o}),u+=ht.length-1}o++}}static createElement(t,n){const s=Gt.createElement("template");return s.innerHTML=t,s}}function yn(e,t,n=e,s){if(t===wt)return t;let i=s!==void 0?n._$Co?.[s]:n._$Cl;const o=Gn(t)?void 0:t._$litDirective$;return i?.constructor!==o&&(i?._$AO?.(!1),o===void 0?i=void 0:(i=new o(e),i._$AT(e,n,s)),s!==void 0?(n._$Co??=[])[s]=i:n._$Cl=i),i!==void 0&&(t=yn(e,i._$AS(e,t.values),i,s)),t}class Ku{constructor(t,n){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=n}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:n},parts:s}=this._$AD,i=(t?.creationScope??Gt).importNode(n,!0);Kt.currentNode=i;let o=Kt.nextNode(),r=0,l=0,a=s[0];for(;a!==void 0;){if(r===a.index){let d;a.type===2?d=new Zs(o,o.nextSibling,this,t):a.type===1?d=new a.ctor(o,a.name,a.strings,this,t):a.type===6&&(d=new Vu(o,this,t)),this._$AV.push(d),a=s[++l]}r!==a?.index&&(o=Kt.nextNode(),r++)}return Kt.currentNode=Gt,i}p(t){let n=0;for(const s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(t,s,n),n+=s.strings.length-2):s._$AI(t[n])),n++}}let Zs=class Vl{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,n,s,i){this.type=2,this._$AH=h,this._$AN=void 0,this._$AA=t,this._$AB=n,this._$AM=s,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const n=this._$AM;return n!==void 0&&t?.nodeType===11&&(t=n.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,n=this){t=yn(this,t,n),Gn(t)?t===h||t==null||t===""?(this._$AH!==h&&this._$AR(),this._$AH=h):t!==this._$AH&&t!==wt&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):zu(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==h&&Gn(this._$AH)?this._$AA.nextSibling.data=t:this.T(Gt.createTextNode(t)),this._$AH=t}$(t){const{values:n,_$litType$:s}=t,i=typeof s=="number"?this._$AC(t):(s.el===void 0&&(s.el=Vn.createElement(Gl(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===i)this._$AH.p(n);else{const o=new Ku(i,this),r=o.u(this.options);o.p(n),this.T(r),this._$AH=o}}_$AC(t){let n=Yr.get(t.strings);return n===void 0&&Yr.set(t.strings,n=new Vn(t)),n}k(t){Po(this._$AH)||(this._$AH=[],this._$AR());const n=this._$AH;let s,i=0;for(const o of t)i===n.length?n.push(s=new Vl(this.O(qn()),this.O(qn()),this,this.options)):s=n[i],s._$AI(o),i++;i<n.length&&(this._$AR(s&&s._$AB.nextSibling,i),n.length=i)}_$AR(t=this._$AA.nextSibling,n){for(this._$AP?.(!1,!0,n);t!==this._$AB;){const s=Wr(t).nextSibling;Wr(t).remove(),t=s}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},ei=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,n,s,i,o){this.type=1,this._$AH=h,this._$AN=void 0,this.element=t,this.name=n,this._$AM=i,this.options=o,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=h}_$AI(t,n=this,s,i){const o=this.strings;let r=!1;if(o===void 0)t=yn(this,t,n,0),r=!Gn(t)||t!==this._$AH&&t!==wt,r&&(this._$AH=t);else{const l=t;let a,d;for(t=o[0],a=0;a<o.length-1;a++)d=yn(this,l[s+a],n,a),d===wt&&(d=this._$AH[a]),r||=!Gn(d)||d!==this._$AH[a],d===h?t=h:t!==h&&(t+=(d??"")+o[a+1]),this._$AH[a]=d}r&&!i&&this.j(t)}j(t){t===h?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},Wu=class extends ei{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===h?void 0:t}},qu=class extends ei{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==h)}},Gu=class extends ei{constructor(t,n,s,i,o){super(t,n,s,i,o),this.type=5}_$AI(t,n=this){if((t=yn(this,t,n,0)??h)===wt)return;const s=this._$AH,i=t===h&&s!==h||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,o=t!==h&&(s===h||i);i&&this.element.removeEventListener(this.name,this,s),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},Vu=class{constructor(t,n,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=n,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){yn(this,t)}};const Ju={I:Zs},Qu=Do.litHtmlPolyfillSupport;Qu?.(Vn,Zs),(Do.litHtmlVersions??=[]).push("3.3.2");const Yu=(e,t,n)=>{const s=n?.renderBefore??t;let i=s._$litPart$;if(i===void 0){const o=n?.renderBefore??null;s._$litPart$=i=new Zs(t.insertBefore(qn(),o),o,void 0,n??{})}return i._$AI(e),i};const Fo=globalThis;let mn=class extends cn{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Yu(n,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return wt}};mn._$litElement$=!0,mn.finalized=!0,Fo.litElementHydrateSupport?.({LitElement:mn});const Xu=Fo.litElementPolyfillSupport;Xu?.({LitElement:mn});(Fo.litElementVersions??=[]).push("4.2.2");const Jl=e=>(t,n)=>{n!==void 0?n.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)};const Zu={attribute:!0,type:String,converter:Fs,reflect:!1,hasChanged:Lo},eg=(e=Zu,t,n)=>{const{kind:s,metadata:i}=n;let o=globalThis.litPropertyMetadata.get(i);if(o===void 0&&globalThis.litPropertyMetadata.set(i,o=new Map),s==="setter"&&((e=Object.create(e)).wrapped=!0),o.set(n.name,e),s==="accessor"){const{name:r}=n;return{set(l){const a=t.get.call(this);t.set.call(this,l),this.requestUpdate(r,a,e,!0,l)},init(l){return l!==void 0&&this.C(r,void 0,e,l),l}}}if(s==="setter"){const{name:r}=n;return function(l){const a=this[r];t.call(this,l),this.requestUpdate(r,a,e,!0,l)}}throw Error("Unsupported decorator location: "+s)};function ti(e){return(t,n)=>typeof n=="object"?eg(e,t,n):((s,i,o)=>{const r=i.hasOwnProperty(o);return i.constructor.createProperty(o,s),r?Object.getOwnPropertyDescriptor(i,o):void 0})(e,t,n)}function x(e){return ti({...e,state:!0,attribute:!1})}const tg={common:{version:"Version",health:"Health",ok:"OK",offline:"Offline",connect:"Connect",refresh:"Refresh",enabled:"Enabled",disabled:"Disabled",na:"n/a",docs:"Docs",resources:"Resources"},nav:{chat:"Chat",control:"Control",agent:"Agent",settings:"Settings",expand:"Expand sidebar",collapse:"Collapse sidebar"},tabs:{agents:"Agents",overview:"Overview",channels:"Channels",instances:"Instances",sessions:"Sessions",usage:"Usage",cron:"Cron Jobs",skills:"Skills",market:"Skill Market",nodes:"Nodes",chat:"Chat",models:"Models",config:"Config",debug:"Debug",logs:"Logs"},subtitles:{agents:"Manage agent workspaces, tools, and identities.",overview:"Gateway status, entry points, and a fast health read.",channels:"Manage channels and settings.",instances:"Presence beacons from connected clients and nodes.",sessions:"Inspect active sessions and adjust per-session defaults.",usage:"Monitor API usage and costs.",cron:"Schedule wakeups and recurring agent runs.",skills:"Manage skill availability and API key injection.",market:"Install and enable Web3 skills from BitSeek.",nodes:"Paired devices, capabilities, and command exposure.",chat:"Direct gateway chat session for quick interventions.",models:"Manage the default model and OpenAI-compatible providers.",config:"Edit ~/.openclaw/openclaw.json safely.",debug:"Gateway snapshots, events, and manual RPC calls.",logs:"Live tail of the gateway file logs."},overview:{access:{title:"Gateway Access",subtitle:"Where the dashboard connects and how it authenticates.",wsUrl:"WebSocket URL",token:"Gateway Token",password:"Password (not stored)",sessionKey:"Default Session Key",language:"Language",connectHint:"Click Connect to apply connection changes.",trustedProxy:"Authenticated via trusted proxy."},snapshot:{title:"Snapshot",subtitle:"Latest gateway handshake information.",status:"Status",uptime:"Uptime",tickInterval:"Tick Interval",lastChannelsRefresh:"Last Channels Refresh",channelsHint:"Use Channels to link WhatsApp, Telegram, Discord, Signal, or iMessage."},stats:{instances:"Instances",instancesHint:"Presence beacons in the last 5 minutes.",sessions:"Sessions",sessionsHint:"Recent session keys tracked by the gateway.",cron:"Cron",cronNext:"Next wake {time}"},notes:{title:"Notes",subtitle:"Quick reminders for remote control setups.",tailscaleTitle:"Tailscale serve",tailscaleText:"Prefer serve mode to keep the gateway on loopback with tailnet auth.",sessionTitle:"Session hygiene",sessionText:"Use /new or sessions.patch to reset context.",cronTitle:"Cron reminders",cronText:"Use isolated sessions for recurring runs."},auth:{required:"This gateway requires auth. Add a token or password, then click Connect.",failed:"Auth failed. Re-copy a tokenized URL with {command}, or update the token, then click Connect."},pairing:{hint:"This device needs pairing approval from the gateway host.",mobileHint:"On mobile? Copy the full URL (including #token=...) from openclaw dashboard --no-open on your desktop."},insecure:{hint:"This page is HTTP, so the browser blocks device identity. Use HTTPS (Tailscale Serve) or open {url} on the gateway host.",stayHttp:"If you must stay on HTTP, set {config} (token-only)."}},chat:{disconnected:"Disconnected from gateway.",refreshTitle:"Refresh chat data",thinkingToggle:"Toggle assistant thinking/working output",focusToggle:"Toggle focus mode (hide sidebar + page header)",hideCronSessions:"Hide cron sessions",showCronSessions:"Show cron sessions",showCronSessionsHidden:"Show cron sessions ({count} hidden)",onboardingDisabled:"Disabled during onboarding"},languages:{en:"English",zhCN:"简体中文 (Simplified Chinese)",zhTW:"繁體中文 (Traditional Chinese)",ptBR:"Português (Brazilian Portuguese)",de:"Deutsch (German)"},cron:{summary:{enabled:"Enabled",yes:"Yes",no:"No",jobs:"Jobs",nextWake:"Next wake",refreshing:"Refreshing...",refresh:"Refresh"},jobs:{title:"Jobs",subtitle:"All scheduled jobs stored in the gateway.",shownOf:"{shown} shown of {total}",searchJobs:"Search jobs",searchPlaceholder:"Name, description, or agent",enabled:"Enabled",schedule:"Schedule",lastRun:"Last run",all:"All",sort:"Sort",nextRun:"Next run",recentlyUpdated:"Recently updated",name:"Name",direction:"Direction",ascending:"Ascending",descending:"Descending",reset:"Reset",noMatching:"No matching jobs.",loading:"Loading...",loadMore:"Load more jobs"},runs:{title:"Run history",subtitleAll:"Latest runs across all jobs.",subtitleJob:"Latest runs for {title}.",scope:"Scope",allJobs:"All jobs",selectedJob:"Selected job",searchRuns:"Search runs",searchPlaceholder:"Summary, error, or job",newestFirst:"Newest first",oldestFirst:"Oldest first",status:"Status",delivery:"Delivery",clear:"Clear",allStatuses:"All statuses",allDelivery:"All delivery",selectJobHint:"Select a job to inspect run history.",noMatching:"No matching runs.",loadMore:"Load more runs",runStatusOk:"OK",runStatusError:"Error",runStatusSkipped:"Skipped",runStatusUnknown:"Unknown",deliveryDelivered:"Delivered",deliveryNotDelivered:"Not delivered",deliveryUnknown:"Unknown",deliveryNotRequested:"Not requested"},form:{editJob:"Edit Job",newJob:"New Job",updateSubtitle:"Update the selected scheduled job.",createSubtitle:"Create a scheduled wakeup or agent run.",required:"Required",requiredSr:"required",basics:"Basics",basicsSub:"Name it, choose the assistant, and set enabled state.",fieldName:"Name",description:"Description",agentId:"Agent ID",namePlaceholder:"Morning brief",descriptionPlaceholder:"Optional context for this job",agentPlaceholder:"main or ops",agentHelp:"Start typing to pick a known agent, or enter a custom one.",schedule:"Schedule",scheduleSub:"Control when this job runs.",every:"Every",at:"At",cronOption:"Cron",runAt:"Run at",unit:"Unit",minutes:"Minutes",hours:"Hours",days:"Days",expression:"Expression",expressionPlaceholder:"0 7 * * *",everyAmountPlaceholder:"30",timezoneOptional:"Timezone (optional)",timezonePlaceholder:"America/Los_Angeles",timezoneHelp:"Pick a common timezone or enter any valid IANA timezone.",jitterHelp:"Need jitter? Use Advanced → Stagger window / Stagger unit.",execution:"Execution",executionSub:"Choose when to wake, and what this job should do.",session:"Session",main:"Main",isolated:"Isolated",sessionHelp:"Main posts a system event. Isolated runs a dedicated agent turn.",wakeMode:"Wake mode",now:"Now",nextHeartbeat:"Next heartbeat",wakeModeHelp:"Now triggers immediately. Next heartbeat waits for the next cycle.",payloadKind:"What should run?",systemEvent:"Post message to main timeline",agentTurn:"Run assistant task (isolated)",systemEventHelp:"Sends your text to the gateway main timeline (good for reminders/triggers).",agentTurnHelp:"Starts an assistant run in its own session using your prompt.",timeoutSeconds:"Timeout (seconds)",timeoutPlaceholder:"Optional, e.g. 90",timeoutHelp:"Optional. Leave blank to use the gateway default timeout behavior for this run.",mainTimelineMessage:"Main timeline message",assistantTaskPrompt:"Assistant task prompt",deliverySection:"Delivery",deliverySub:"Choose where run summaries are sent.",resultDelivery:"Result delivery",announceDefault:"Announce summary (default)",webhookPost:"Webhook POST",noneInternal:"None (internal)",deliveryHelp:"Announce posts a summary to chat. None keeps execution internal.",webhookUrl:"Webhook URL",channel:"Channel",webhookPlaceholder:"https://example.com/cron",channelHelp:"Choose which connected channel receives the summary.",webhookHelp:"Send run summaries to a webhook endpoint.",to:"To",toPlaceholder:"+1555... or chat id",toHelp:"Optional recipient override (chat id, phone, or user id).",advanced:"Advanced",advancedHelp:"Optional overrides for delivery guarantees, schedule jitter, and model controls.",deleteAfterRun:"Delete after run",deleteAfterRunHelp:"Best for one-shot reminders that should auto-clean up.",clearAgentOverride:"Clear agent override",clearAgentHelp:"Force this job to use the gateway default assistant.",exactTiming:"Exact timing (no stagger)",exactTimingHelp:"Run on exact cron boundaries with no spread.",staggerWindow:"Stagger window",staggerUnit:"Stagger unit",staggerPlaceholder:"30",seconds:"Seconds",model:"Model",modelPlaceholder:"openai/gpt-5.2",modelHelp:"Start typing to pick a known model, or enter a custom one.",thinking:"Thinking",thinkingPlaceholder:"low",thinkingHelp:"Use a suggested level or enter a provider-specific value.",bestEffortDelivery:"Best effort delivery",bestEffortHelp:"Do not fail the job if delivery itself fails.",cantAddYet:"Can't add job yet",fillRequired:"Fill the required fields below to enable submit.",fixFields:"Fix {count} field to continue.",fixFieldsPlural:"Fix {count} fields to continue.",saving:"Saving...",saveChanges:"Save changes",addJob:"Add job",cancel:"Cancel"},jobList:{allJobs:"all jobs",selectJob:"(select a job)",enabled:"enabled",disabled:"disabled",edit:"Edit",clone:"Clone",disable:"Disable",enable:"Enable",run:"Run",history:"History",remove:"Remove"},jobDetail:{system:"System",prompt:"Prompt",delivery:"Delivery",agent:"Agent"},jobState:{status:"Status",next:"Next",last:"Last"},runEntry:{noSummary:"No summary.",runAt:"Run at",openRunChat:"Open run chat",next:"Next {rel}",due:"Due {rel}"},errors:{nameRequired:"Name is required.",scheduleAtInvalid:"Enter a valid date/time.",everyAmountInvalid:"Interval must be greater than 0.",cronExprRequired:"Cron expression is required.",staggerAmountInvalid:"Stagger must be greater than 0.",systemTextRequired:"System text is required.",agentMessageRequired:"Agent message is required.",timeoutInvalid:"If set, timeout must be greater than 0 seconds.",webhookUrlRequired:"Webhook URL is required.",webhookUrlInvalid:"Webhook URL must start with http:// or https://.",invalidRunTime:"Invalid run time.",invalidIntervalAmount:"Invalid interval amount.",cronExprRequiredShort:"Cron expression required.",invalidStaggerAmount:"Invalid stagger amount.",systemEventTextRequired:"System event text required.",agentMessageRequiredShort:"Agent message required.",nameRequiredShort:"Name required."}}},ng="modulepreload",sg=function(e,t){return new URL(e,t).href},Xr={},ps=function(t,n,s){let i=Promise.resolve();if(n&&n.length>0){let d=function(g){return Promise.all(g.map(u=>Promise.resolve(u).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};const r=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),a=l?.nonce||l?.getAttribute("nonce");i=d(n.map(g=>{if(g=sg(g,s),g in Xr)return;Xr[g]=!0;const u=g.endsWith(".css"),f=u?'[rel="stylesheet"]':"";if(s)for(let m=r.length-1;m>=0;m--){const S=r[m];if(S.href===g&&(!u||S.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${g}"]${f}`))return;const v=document.createElement("link");if(v.rel=u?"stylesheet":ng,u||(v.as="script"),v.crossOrigin="",v.href=g,a&&v.setAttribute("nonce",a),document.head.appendChild(v),u)return new Promise((m,S)=>{v.addEventListener("load",m),v.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${g}`)))})}))}function o(r){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=r,window.dispatchEvent(l),!l.defaultPrevented)throw r}return i.then(r=>{for(const l of r||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})},Nt="en",Ql=["zh-CN","zh-TW","pt-BR","de"],ig={"zh-CN":{exportName:"zh_CN",loader:()=>ps(()=>import("./zh-CN-DpcDfKwj.js"),[],import.meta.url)},"zh-TW":{exportName:"zh_TW",loader:()=>ps(()=>import("./zh-TW-CrXJRxS8.js"),[],import.meta.url)},"pt-BR":{exportName:"pt_BR",loader:()=>ps(()=>import("./pt-BR-DtCy1Iqj.js"),[],import.meta.url)},de:{exportName:"de",loader:()=>ps(()=>import("./de-DCndbITT.js"),[],import.meta.url)}},Yl=[Nt,...Ql];function Xl(e){return e!=null&&Yl.includes(e)}function og(e){return Ql.includes(e)}async function rg(e){if(!og(e))return null;const t=ig[e];return(await t.loader())[t.exportName]??null}class ag{constructor(){this.locale=Nt,this.translations={[Nt]:tg},this.subscribers=new Set}getLocale(){return this.locale}async setLocale(t){const n=t!==Nt&&!this.translations[t];if(!(this.locale===t&&!n)){if(n)try{const s=await rg(t);if(!s)return;this.translations[t]=s}catch(s){console.error(`Failed to load locale: ${t}`,s);return}this.locale=t,this.notify()}}registerTranslation(t,n){this.translations[t]=n}subscribe(t){return this.subscribers.add(t),()=>this.subscribers.delete(t)}notify(){this.subscribers.forEach(t=>t(this.locale))}t(t,n){const s=t.split(".");let i=this.translations[this.locale]||this.translations[Nt];for(const o of s)if(i&&typeof i=="object")i=i[o];else{i=void 0;break}if(i===void 0&&this.locale!==Nt){i=this.translations[Nt];for(const o of s)if(i&&typeof i=="object")i=i[o];else{i=void 0;break}}return typeof i!="string"?t:n?i.replace(/\{(\w+)\}/g,(o,r)=>n[r]||`{${r}}`):i}}const Jn=new ag,p=(e,t)=>Jn.t(e,t);class lg{constructor(t){this.host=t,this.host.addController(this)}hostConnected(){this.unsubscribe=Jn.subscribe(()=>{this.host.requestUpdate()})}hostDisconnected(){this.unsubscribe?.()}}async function Re(e,t){if(!(!e.client||!e.connected)&&!e.channelsLoading){e.channelsLoading=!0,e.channelsError=null;try{const n=await e.client.request("channels.status",{probe:t,timeoutMs:8e3});e.channelsSnapshot=n,e.channelsLastSuccess=Date.now()}catch(n){e.channelsError=String(n)}finally{e.channelsLoading=!1}}}async function cg(e,t){if(!(!e.client||!e.connected||e.whatsappBusy)){e.whatsappBusy=!0;try{const n=await e.client.request("web.login.start",{force:t,timeoutMs:3e4});e.whatsappLoginMessage=n.message??null,e.whatsappLoginQrDataUrl=n.qrDataUrl??null,e.whatsappLoginConnected=null}catch(n){e.whatsappLoginMessage=String(n),e.whatsappLoginQrDataUrl=null,e.whatsappLoginConnected=null}finally{e.whatsappBusy=!1}}}async function dg(e){if(!(!e.client||!e.connected||e.whatsappBusy)){e.whatsappBusy=!0;try{const t=await e.client.request("web.login.wait",{timeoutMs:12e4});e.whatsappLoginMessage=t.message??null,e.whatsappLoginConnected=t.connected??null,t.connected&&(e.whatsappLoginQrDataUrl=null)}catch(t){e.whatsappLoginMessage=String(t),e.whatsappLoginConnected=null}finally{e.whatsappBusy=!1}}}async function ug(e){if(!(!e.client||!e.connected||e.whatsappBusy)){e.whatsappBusy=!0;try{await e.client.request("channels.logout",{channel:"whatsapp"}),e.whatsappLoginMessage="Logged out.",e.whatsappLoginQrDataUrl=null,e.whatsappLoginConnected=null}catch(t){e.whatsappLoginMessage=String(t)}finally{e.whatsappBusy=!1}}}function ve(e){if(e)return Array.isArray(e.type)?e.type.filter(n=>n!=="null")[0]??e.type[0]:e.type}function Zl(e){if(!e)return"";if(e.default!==void 0)return e.default;switch(ve(e)){case"object":return{};case"array":return[];case"boolean":return!1;case"number":case"integer":return 0;case"string":return"";default:return""}}function No(e){return e.filter(t=>typeof t=="string").join(".")}function bt(e,t){const n=No(e),s=t[n];if(s)return s;const i=n.split(".");for(const[o,r]of Object.entries(t)){if(!o.includes("*"))continue;const l=o.split(".");if(l.length!==i.length)continue;let a=!0;for(let d=0;d<i.length;d+=1)if(l[d]!=="*"&&l[d]!==i[d]){a=!1;break}if(a)return r}}function ni(e){return e.replace(/_/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/\s+/g," ").replace(/^./,t=>t.toUpperCase())}function Zr(e,t){const n=e.trim();if(n==="")return;const s=Number(n);return!Number.isFinite(s)||t&&!Number.isInteger(s)?e:s}function ea(e){const t=e.trim();return t==="true"?!0:t==="false"?!1:e}function pt(e,t){if(e==null)return e;if(t.allOf&&t.allOf.length>0){let s=e;for(const i of t.allOf)s=pt(s,i);return s}const n=ve(t);if(t.anyOf||t.oneOf){const s=(t.anyOf??t.oneOf??[]).filter(i=>!(i.type==="null"||Array.isArray(i.type)&&i.type.includes("null")));if(s.length===1)return pt(e,s[0]);if(typeof e=="string")for(const i of s){const o=ve(i);if(o==="number"||o==="integer"){const r=Zr(e,o==="integer");if(r===void 0||typeof r=="number")return r}if(o==="boolean"){const r=ea(e);if(typeof r=="boolean")return r}}for(const i of s){const o=ve(i);if(o==="object"&&typeof e=="object"&&!Array.isArray(e)||o==="array"&&Array.isArray(e))return pt(e,i)}return e}if(n==="number"||n==="integer"){if(typeof e=="string"){const s=Zr(e,n==="integer");if(s===void 0||typeof s=="number")return s}return e}if(n==="boolean"){if(typeof e=="string"){const s=ea(e);if(typeof s=="boolean")return s}return e}if(n==="object"){if(typeof e!="object"||Array.isArray(e))return e;const s=e,i=t.properties??{},o=t.additionalProperties&&typeof t.additionalProperties=="object"?t.additionalProperties:null,r={};for(const[l,a]of Object.entries(s)){const d=i[l]??o,g=d?pt(a,d):a;g!==void 0&&(r[l]=g)}return r}if(n==="array"){if(!Array.isArray(e))return e;if(Array.isArray(t.items)){const i=t.items;return e.map((o,r)=>{const l=r<i.length?i[r]:void 0;return l?pt(o,l):o})}const s=t.items;return s?e.map(i=>pt(i,s)).filter(i=>i!==void 0):e}return e}function St(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}function $n(e){return`${JSON.stringify(e,null,2).trimEnd()}
3
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),Jr=/'/g,Qr=/"/g,Wl=/^(?:script|style|textarea|title)$/i,ql=e=>(t,...n)=>({_$litType$:e,strings:t,values:n}),c=ql(1),Rt=ql(2),wt=Symbol.for("lit-noChange"),h=Symbol.for("lit-nothing"),Yr=new WeakMap,Kt=Gt.createTreeWalker(Gt,129);function Gl(e,t){if(!Po(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return qr!==void 0?qr.createHTML(t):t}const ju=(e,t)=>{const n=e.length-1,s=[];let i,o=t===2?"<svg>":t===3?"<math>":"",r=_n;for(let l=0;l<n;l++){const a=e[l];let d,g,u=-1,f=0;for(;f<a.length&&(r.lastIndex=f,g=r.exec(a),g!==null);)f=r.lastIndex,r===_n?g[1]==="!--"?r=Gr:g[1]!==void 0?r=Vr:g[2]!==void 0?(Wl.test(g[2])&&(i=RegExp("</"+g[2],"g")),r=Mt):g[3]!==void 0&&(r=Mt):r===Mt?g[0]===">"?(r=i??_n,u=-1):g[1]===void 0?u=-2:(u=r.lastIndex-g[2].length,d=g[1],r=g[3]===void 0?Mt:g[3]==='"'?Qr:Jr):r===Qr||r===Jr?r=Mt:r===Gr||r===Vr?r=_n:(r=Mt,i=void 0);const v=r===Mt&&e[l+1].startsWith("/>")?" ":"";o+=r===_n?a+Hu:u>=0?(s.push(d),a.slice(0,u)+jl+a.slice(u)+ht+v):a+ht+(u===-2?l:v)}return[Gl(e,o+(e[n]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),s]};class Vn{constructor({strings:t,_$litType$:n},s){let i;this.parts=[];let o=0,r=0;const l=t.length-1,a=this.parts,[d,g]=ju(t,n);if(this.el=Vn.createElement(d,s),Kt.currentNode=this.el.content,n===2||n===3){const u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(i=Kt.nextNode())!==null&&a.length<l;){if(i.nodeType===1){if(i.hasAttributes())for(const u of i.getAttributeNames())if(u.endsWith(jl)){const f=g[r++],v=i.getAttribute(u).split(ht),m=/([.?@])?(.*)/.exec(f);a.push({type:1,index:o,name:m[2],strings:v,ctor:m[1]==="."?Wu:m[1]==="?"?qu:m[1]==="@"?Gu:ei}),i.removeAttribute(u)}else u.startsWith(ht)&&(a.push({type:6,index:o}),i.removeAttribute(u));if(Wl.test(i.tagName)){const u=i.textContent.split(ht),f=u.length-1;if(f>0){i.textContent=Ns?Ns.emptyScript:"";for(let v=0;v<f;v++)i.append(u[v],qn()),Kt.nextNode(),a.push({type:2,index:++o});i.append(u[f],qn())}}}else if(i.nodeType===8)if(i.data===Kl)a.push({type:2,index:o});else{let u=-1;for(;(u=i.data.indexOf(ht,u+1))!==-1;)a.push({type:7,index:o}),u+=ht.length-1}o++}}static createElement(t,n){const s=Gt.createElement("template");return s.innerHTML=t,s}}function yn(e,t,n=e,s){if(t===wt)return t;let i=s!==void 0?n._$Co?.[s]:n._$Cl;const o=Gn(t)?void 0:t._$litDirective$;return i?.constructor!==o&&(i?._$AO?.(!1),o===void 0?i=void 0:(i=new o(e),i._$AT(e,n,s)),s!==void 0?(n._$Co??=[])[s]=i:n._$Cl=i),i!==void 0&&(t=yn(e,i._$AS(e,t.values),i,s)),t}class Ku{constructor(t,n){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=n}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:n},parts:s}=this._$AD,i=(t?.creationScope??Gt).importNode(n,!0);Kt.currentNode=i;let o=Kt.nextNode(),r=0,l=0,a=s[0];for(;a!==void 0;){if(r===a.index){let d;a.type===2?d=new Zs(o,o.nextSibling,this,t):a.type===1?d=new a.ctor(o,a.name,a.strings,this,t):a.type===6&&(d=new Vu(o,this,t)),this._$AV.push(d),a=s[++l]}r!==a?.index&&(o=Kt.nextNode(),r++)}return Kt.currentNode=Gt,i}p(t){let n=0;for(const s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(t,s,n),n+=s.strings.length-2):s._$AI(t[n])),n++}}let Zs=class Vl{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,n,s,i){this.type=2,this._$AH=h,this._$AN=void 0,this._$AA=t,this._$AB=n,this._$AM=s,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const n=this._$AM;return n!==void 0&&t?.nodeType===11&&(t=n.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,n=this){t=yn(this,t,n),Gn(t)?t===h||t==null||t===""?(this._$AH!==h&&this._$AR(),this._$AH=h):t!==this._$AH&&t!==wt&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):zu(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==h&&Gn(this._$AH)?this._$AA.nextSibling.data=t:this.T(Gt.createTextNode(t)),this._$AH=t}$(t){const{values:n,_$litType$:s}=t,i=typeof s=="number"?this._$AC(t):(s.el===void 0&&(s.el=Vn.createElement(Gl(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===i)this._$AH.p(n);else{const o=new Ku(i,this),r=o.u(this.options);o.p(n),this.T(r),this._$AH=o}}_$AC(t){let n=Yr.get(t.strings);return n===void 0&&Yr.set(t.strings,n=new Vn(t)),n}k(t){Po(this._$AH)||(this._$AH=[],this._$AR());const n=this._$AH;let s,i=0;for(const o of t)i===n.length?n.push(s=new Vl(this.O(qn()),this.O(qn()),this,this.options)):s=n[i],s._$AI(o),i++;i<n.length&&(this._$AR(s&&s._$AB.nextSibling,i),n.length=i)}_$AR(t=this._$AA.nextSibling,n){for(this._$AP?.(!1,!0,n);t!==this._$AB;){const s=Wr(t).nextSibling;Wr(t).remove(),t=s}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},ei=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,n,s,i,o){this.type=1,this._$AH=h,this._$AN=void 0,this.element=t,this.name=n,this._$AM=i,this.options=o,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=h}_$AI(t,n=this,s,i){const o=this.strings;let r=!1;if(o===void 0)t=yn(this,t,n,0),r=!Gn(t)||t!==this._$AH&&t!==wt,r&&(this._$AH=t);else{const l=t;let a,d;for(t=o[0],a=0;a<o.length-1;a++)d=yn(this,l[s+a],n,a),d===wt&&(d=this._$AH[a]),r||=!Gn(d)||d!==this._$AH[a],d===h?t=h:t!==h&&(t+=(d??"")+o[a+1]),this._$AH[a]=d}r&&!i&&this.j(t)}j(t){t===h?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},Wu=class extends ei{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===h?void 0:t}},qu=class extends ei{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==h)}},Gu=class extends ei{constructor(t,n,s,i,o){super(t,n,s,i,o),this.type=5}_$AI(t,n=this){if((t=yn(this,t,n,0)??h)===wt)return;const s=this._$AH,i=t===h&&s!==h||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,o=t!==h&&(s===h||i);i&&this.element.removeEventListener(this.name,this,s),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},Vu=class{constructor(t,n,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=n,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){yn(this,t)}};const Ju={I:Zs},Qu=Do.litHtmlPolyfillSupport;Qu?.(Vn,Zs),(Do.litHtmlVersions??=[]).push("3.3.2");const Yu=(e,t,n)=>{const s=n?.renderBefore??t;let i=s._$litPart$;if(i===void 0){const o=n?.renderBefore??null;s._$litPart$=i=new Zs(t.insertBefore(qn(),o),o,void 0,n??{})}return i._$AI(e),i};const Fo=globalThis;let mn=class extends cn{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Yu(n,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return wt}};mn._$litElement$=!0,mn.finalized=!0,Fo.litElementHydrateSupport?.({LitElement:mn});const Xu=Fo.litElementPolyfillSupport;Xu?.({LitElement:mn});(Fo.litElementVersions??=[]).push("4.2.2");const Jl=e=>(t,n)=>{n!==void 0?n.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)};const Zu={attribute:!0,type:String,converter:Fs,reflect:!1,hasChanged:Lo},eg=(e=Zu,t,n)=>{const{kind:s,metadata:i}=n;let o=globalThis.litPropertyMetadata.get(i);if(o===void 0&&globalThis.litPropertyMetadata.set(i,o=new Map),s==="setter"&&((e=Object.create(e)).wrapped=!0),o.set(n.name,e),s==="accessor"){const{name:r}=n;return{set(l){const a=t.get.call(this);t.set.call(this,l),this.requestUpdate(r,a,e,!0,l)},init(l){return l!==void 0&&this.C(r,void 0,e,l),l}}}if(s==="setter"){const{name:r}=n;return function(l){const a=this[r];t.call(this,l),this.requestUpdate(r,a,e,!0,l)}}throw Error("Unsupported decorator location: "+s)};function ti(e){return(t,n)=>typeof n=="object"?eg(e,t,n):((s,i,o)=>{const r=i.hasOwnProperty(o);return i.constructor.createProperty(o,s),r?Object.getOwnPropertyDescriptor(i,o):void 0})(e,t,n)}function x(e){return ti({...e,state:!0,attribute:!1})}const tg={common:{version:"Version",health:"Health",ok:"OK",offline:"Offline",connect:"Connect",refresh:"Refresh",enabled:"Enabled",disabled:"Disabled",na:"n/a",docs:"Docs",resources:"Resources"},nav:{chat:"Chat",control:"Control",agent:"Agent",settings:"Settings",expand:"Expand sidebar",collapse:"Collapse sidebar"},tabs:{agents:"Agents",overview:"Overview",channels:"Channels",instances:"Instances",sessions:"Sessions",usage:"Usage",cron:"Cron Jobs",skills:"Skills",market:"Skills Market",nodes:"Nodes",chat:"Chat",models:"Models",config:"Config",debug:"Debug",logs:"Logs"},subtitles:{agents:"Manage agent workspaces, tools, and identities.",overview:"Gateway status, entry points, and a fast health read.",channels:"Manage channels and settings.",instances:"Presence beacons from connected clients and nodes.",sessions:"Inspect active sessions and adjust per-session defaults.",usage:"Monitor API usage and costs.",cron:"Schedule wakeups and recurring agent runs.",skills:"Manage skill availability and API key injection.",market:"Install and enable Web3 skills from BitSeek.",nodes:"Paired devices, capabilities, and command exposure.",chat:"Direct gateway chat session for quick interventions.",models:"Manage the default model and OpenAI-compatible providers.",config:"Edit ~/.openclaw/openclaw.json safely.",debug:"Gateway snapshots, events, and manual RPC calls.",logs:"Live tail of the gateway file logs."},overview:{access:{title:"Gateway Access",subtitle:"Where the dashboard connects and how it authenticates.",wsUrl:"WebSocket URL",token:"Gateway Token",password:"Password (not stored)",sessionKey:"Default Session Key",language:"Language",connectHint:"Click Connect to apply connection changes.",trustedProxy:"Authenticated via trusted proxy."},snapshot:{title:"Snapshot",subtitle:"Latest gateway handshake information.",status:"Status",uptime:"Uptime",tickInterval:"Tick Interval",lastChannelsRefresh:"Last Channels Refresh",channelsHint:"Use Channels to link WhatsApp, Telegram, Discord, Signal, or iMessage."},stats:{instances:"Instances",instancesHint:"Presence beacons in the last 5 minutes.",sessions:"Sessions",sessionsHint:"Recent session keys tracked by the gateway.",cron:"Cron",cronNext:"Next wake {time}"},notes:{title:"Notes",subtitle:"Quick reminders for remote control setups.",tailscaleTitle:"Tailscale serve",tailscaleText:"Prefer serve mode to keep the gateway on loopback with tailnet auth.",sessionTitle:"Session hygiene",sessionText:"Use /new or sessions.patch to reset context.",cronTitle:"Cron reminders",cronText:"Use isolated sessions for recurring runs."},auth:{required:"This gateway requires auth. Add a token or password, then click Connect.",failed:"Auth failed. Re-copy a tokenized URL with {command}, or update the token, then click Connect."},pairing:{hint:"This device needs pairing approval from the gateway host.",mobileHint:"On mobile? Copy the full URL (including #token=...) from openclaw dashboard --no-open on your desktop."},insecure:{hint:"This page is HTTP, so the browser blocks device identity. Use HTTPS (Tailscale Serve) or open {url} on the gateway host.",stayHttp:"If you must stay on HTTP, set {config} (token-only)."}},chat:{disconnected:"Disconnected from gateway.",refreshTitle:"Refresh chat data",thinkingToggle:"Toggle assistant thinking/working output",focusToggle:"Toggle focus mode (hide sidebar + page header)",hideCronSessions:"Hide cron sessions",showCronSessions:"Show cron sessions",showCronSessionsHidden:"Show cron sessions ({count} hidden)",onboardingDisabled:"Disabled during onboarding"},languages:{en:"English",zhCN:"简体中文 (Simplified Chinese)",zhTW:"繁體中文 (Traditional Chinese)",ptBR:"Português (Brazilian Portuguese)",de:"Deutsch (German)"},cron:{summary:{enabled:"Enabled",yes:"Yes",no:"No",jobs:"Jobs",nextWake:"Next wake",refreshing:"Refreshing...",refresh:"Refresh"},jobs:{title:"Jobs",subtitle:"All scheduled jobs stored in the gateway.",shownOf:"{shown} shown of {total}",searchJobs:"Search jobs",searchPlaceholder:"Name, description, or agent",enabled:"Enabled",schedule:"Schedule",lastRun:"Last run",all:"All",sort:"Sort",nextRun:"Next run",recentlyUpdated:"Recently updated",name:"Name",direction:"Direction",ascending:"Ascending",descending:"Descending",reset:"Reset",noMatching:"No matching jobs.",loading:"Loading...",loadMore:"Load more jobs"},runs:{title:"Run history",subtitleAll:"Latest runs across all jobs.",subtitleJob:"Latest runs for {title}.",scope:"Scope",allJobs:"All jobs",selectedJob:"Selected job",searchRuns:"Search runs",searchPlaceholder:"Summary, error, or job",newestFirst:"Newest first",oldestFirst:"Oldest first",status:"Status",delivery:"Delivery",clear:"Clear",allStatuses:"All statuses",allDelivery:"All delivery",selectJobHint:"Select a job to inspect run history.",noMatching:"No matching runs.",loadMore:"Load more runs",runStatusOk:"OK",runStatusError:"Error",runStatusSkipped:"Skipped",runStatusUnknown:"Unknown",deliveryDelivered:"Delivered",deliveryNotDelivered:"Not delivered",deliveryUnknown:"Unknown",deliveryNotRequested:"Not requested"},form:{editJob:"Edit Job",newJob:"New Job",updateSubtitle:"Update the selected scheduled job.",createSubtitle:"Create a scheduled wakeup or agent run.",required:"Required",requiredSr:"required",basics:"Basics",basicsSub:"Name it, choose the assistant, and set enabled state.",fieldName:"Name",description:"Description",agentId:"Agent ID",namePlaceholder:"Morning brief",descriptionPlaceholder:"Optional context for this job",agentPlaceholder:"main or ops",agentHelp:"Start typing to pick a known agent, or enter a custom one.",schedule:"Schedule",scheduleSub:"Control when this job runs.",every:"Every",at:"At",cronOption:"Cron",runAt:"Run at",unit:"Unit",minutes:"Minutes",hours:"Hours",days:"Days",expression:"Expression",expressionPlaceholder:"0 7 * * *",everyAmountPlaceholder:"30",timezoneOptional:"Timezone (optional)",timezonePlaceholder:"America/Los_Angeles",timezoneHelp:"Pick a common timezone or enter any valid IANA timezone.",jitterHelp:"Need jitter? Use Advanced → Stagger window / Stagger unit.",execution:"Execution",executionSub:"Choose when to wake, and what this job should do.",session:"Session",main:"Main",isolated:"Isolated",sessionHelp:"Main posts a system event. Isolated runs a dedicated agent turn.",wakeMode:"Wake mode",now:"Now",nextHeartbeat:"Next heartbeat",wakeModeHelp:"Now triggers immediately. Next heartbeat waits for the next cycle.",payloadKind:"What should run?",systemEvent:"Post message to main timeline",agentTurn:"Run assistant task (isolated)",systemEventHelp:"Sends your text to the gateway main timeline (good for reminders/triggers).",agentTurnHelp:"Starts an assistant run in its own session using your prompt.",timeoutSeconds:"Timeout (seconds)",timeoutPlaceholder:"Optional, e.g. 90",timeoutHelp:"Optional. Leave blank to use the gateway default timeout behavior for this run.",mainTimelineMessage:"Main timeline message",assistantTaskPrompt:"Assistant task prompt",deliverySection:"Delivery",deliverySub:"Choose where run summaries are sent.",resultDelivery:"Result delivery",announceDefault:"Announce summary (default)",webhookPost:"Webhook POST",noneInternal:"None (internal)",deliveryHelp:"Announce posts a summary to chat. None keeps execution internal.",webhookUrl:"Webhook URL",channel:"Channel",webhookPlaceholder:"https://example.com/cron",channelHelp:"Choose which connected channel receives the summary.",webhookHelp:"Send run summaries to a webhook endpoint.",to:"To",toPlaceholder:"+1555... or chat id",toHelp:"Optional recipient override (chat id, phone, or user id).",advanced:"Advanced",advancedHelp:"Optional overrides for delivery guarantees, schedule jitter, and model controls.",deleteAfterRun:"Delete after run",deleteAfterRunHelp:"Best for one-shot reminders that should auto-clean up.",clearAgentOverride:"Clear agent override",clearAgentHelp:"Force this job to use the gateway default assistant.",exactTiming:"Exact timing (no stagger)",exactTimingHelp:"Run on exact cron boundaries with no spread.",staggerWindow:"Stagger window",staggerUnit:"Stagger unit",staggerPlaceholder:"30",seconds:"Seconds",model:"Model",modelPlaceholder:"openai/gpt-5.2",modelHelp:"Start typing to pick a known model, or enter a custom one.",thinking:"Thinking",thinkingPlaceholder:"low",thinkingHelp:"Use a suggested level or enter a provider-specific value.",bestEffortDelivery:"Best effort delivery",bestEffortHelp:"Do not fail the job if delivery itself fails.",cantAddYet:"Can't add job yet",fillRequired:"Fill the required fields below to enable submit.",fixFields:"Fix {count} field to continue.",fixFieldsPlural:"Fix {count} fields to continue.",saving:"Saving...",saveChanges:"Save changes",addJob:"Add job",cancel:"Cancel"},jobList:{allJobs:"all jobs",selectJob:"(select a job)",enabled:"enabled",disabled:"disabled",edit:"Edit",clone:"Clone",disable:"Disable",enable:"Enable",run:"Run",history:"History",remove:"Remove"},jobDetail:{system:"System",prompt:"Prompt",delivery:"Delivery",agent:"Agent"},jobState:{status:"Status",next:"Next",last:"Last"},runEntry:{noSummary:"No summary.",runAt:"Run at",openRunChat:"Open run chat",next:"Next {rel}",due:"Due {rel}"},errors:{nameRequired:"Name is required.",scheduleAtInvalid:"Enter a valid date/time.",everyAmountInvalid:"Interval must be greater than 0.",cronExprRequired:"Cron expression is required.",staggerAmountInvalid:"Stagger must be greater than 0.",systemTextRequired:"System text is required.",agentMessageRequired:"Agent message is required.",timeoutInvalid:"If set, timeout must be greater than 0 seconds.",webhookUrlRequired:"Webhook URL is required.",webhookUrlInvalid:"Webhook URL must start with http:// or https://.",invalidRunTime:"Invalid run time.",invalidIntervalAmount:"Invalid interval amount.",cronExprRequiredShort:"Cron expression required.",invalidStaggerAmount:"Invalid stagger amount.",systemEventTextRequired:"System event text required.",agentMessageRequiredShort:"Agent message required.",nameRequiredShort:"Name required."}}},ng="modulepreload",sg=function(e,t){return new URL(e,t).href},Xr={},ps=function(t,n,s){let i=Promise.resolve();if(n&&n.length>0){let d=function(g){return Promise.all(g.map(u=>Promise.resolve(u).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};const r=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),a=l?.nonce||l?.getAttribute("nonce");i=d(n.map(g=>{if(g=sg(g,s),g in Xr)return;Xr[g]=!0;const u=g.endsWith(".css"),f=u?'[rel="stylesheet"]':"";if(s)for(let m=r.length-1;m>=0;m--){const S=r[m];if(S.href===g&&(!u||S.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${g}"]${f}`))return;const v=document.createElement("link");if(v.rel=u?"stylesheet":ng,u||(v.as="script"),v.crossOrigin="",v.href=g,a&&v.setAttribute("nonce",a),document.head.appendChild(v),u)return new Promise((m,S)=>{v.addEventListener("load",m),v.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${g}`)))})}))}function o(r){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=r,window.dispatchEvent(l),!l.defaultPrevented)throw r}return i.then(r=>{for(const l of r||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})},Nt="en",Ql=["zh-CN","zh-TW","pt-BR","de"],ig={"zh-CN":{exportName:"zh_CN",loader:()=>ps(()=>import("./zh-CN-DpcDfKwj.js"),[],import.meta.url)},"zh-TW":{exportName:"zh_TW",loader:()=>ps(()=>import("./zh-TW-CrXJRxS8.js"),[],import.meta.url)},"pt-BR":{exportName:"pt_BR",loader:()=>ps(()=>import("./pt-BR-DtCy1Iqj.js"),[],import.meta.url)},de:{exportName:"de",loader:()=>ps(()=>import("./de-DCndbITT.js"),[],import.meta.url)}},Yl=[Nt,...Ql];function Xl(e){return e!=null&&Yl.includes(e)}function og(e){return Ql.includes(e)}async function rg(e){if(!og(e))return null;const t=ig[e];return(await t.loader())[t.exportName]??null}class ag{constructor(){this.locale=Nt,this.translations={[Nt]:tg},this.subscribers=new Set}getLocale(){return this.locale}async setLocale(t){const n=t!==Nt&&!this.translations[t];if(!(this.locale===t&&!n)){if(n)try{const s=await rg(t);if(!s)return;this.translations[t]=s}catch(s){console.error(`Failed to load locale: ${t}`,s);return}this.locale=t,this.notify()}}registerTranslation(t,n){this.translations[t]=n}subscribe(t){return this.subscribers.add(t),()=>this.subscribers.delete(t)}notify(){this.subscribers.forEach(t=>t(this.locale))}t(t,n){const s=t.split(".");let i=this.translations[this.locale]||this.translations[Nt];for(const o of s)if(i&&typeof i=="object")i=i[o];else{i=void 0;break}if(i===void 0&&this.locale!==Nt){i=this.translations[Nt];for(const o of s)if(i&&typeof i=="object")i=i[o];else{i=void 0;break}}return typeof i!="string"?t:n?i.replace(/\{(\w+)\}/g,(o,r)=>n[r]||`{${r}}`):i}}const Jn=new ag,p=(e,t)=>Jn.t(e,t);class lg{constructor(t){this.host=t,this.host.addController(this)}hostConnected(){this.unsubscribe=Jn.subscribe(()=>{this.host.requestUpdate()})}hostDisconnected(){this.unsubscribe?.()}}async function Re(e,t){if(!(!e.client||!e.connected)&&!e.channelsLoading){e.channelsLoading=!0,e.channelsError=null;try{const n=await e.client.request("channels.status",{probe:t,timeoutMs:8e3});e.channelsSnapshot=n,e.channelsLastSuccess=Date.now()}catch(n){e.channelsError=String(n)}finally{e.channelsLoading=!1}}}async function cg(e,t){if(!(!e.client||!e.connected||e.whatsappBusy)){e.whatsappBusy=!0;try{const n=await e.client.request("web.login.start",{force:t,timeoutMs:3e4});e.whatsappLoginMessage=n.message??null,e.whatsappLoginQrDataUrl=n.qrDataUrl??null,e.whatsappLoginConnected=null}catch(n){e.whatsappLoginMessage=String(n),e.whatsappLoginQrDataUrl=null,e.whatsappLoginConnected=null}finally{e.whatsappBusy=!1}}}async function dg(e){if(!(!e.client||!e.connected||e.whatsappBusy)){e.whatsappBusy=!0;try{const t=await e.client.request("web.login.wait",{timeoutMs:12e4});e.whatsappLoginMessage=t.message??null,e.whatsappLoginConnected=t.connected??null,t.connected&&(e.whatsappLoginQrDataUrl=null)}catch(t){e.whatsappLoginMessage=String(t),e.whatsappLoginConnected=null}finally{e.whatsappBusy=!1}}}async function ug(e){if(!(!e.client||!e.connected||e.whatsappBusy)){e.whatsappBusy=!0;try{await e.client.request("channels.logout",{channel:"whatsapp"}),e.whatsappLoginMessage="Logged out.",e.whatsappLoginQrDataUrl=null,e.whatsappLoginConnected=null}catch(t){e.whatsappLoginMessage=String(t)}finally{e.whatsappBusy=!1}}}function ve(e){if(e)return Array.isArray(e.type)?e.type.filter(n=>n!=="null")[0]??e.type[0]:e.type}function Zl(e){if(!e)return"";if(e.default!==void 0)return e.default;switch(ve(e)){case"object":return{};case"array":return[];case"boolean":return!1;case"number":case"integer":return 0;case"string":return"";default:return""}}function No(e){return e.filter(t=>typeof t=="string").join(".")}function bt(e,t){const n=No(e),s=t[n];if(s)return s;const i=n.split(".");for(const[o,r]of Object.entries(t)){if(!o.includes("*"))continue;const l=o.split(".");if(l.length!==i.length)continue;let a=!0;for(let d=0;d<i.length;d+=1)if(l[d]!=="*"&&l[d]!==i[d]){a=!1;break}if(a)return r}}function ni(e){return e.replace(/_/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/\s+/g," ").replace(/^./,t=>t.toUpperCase())}function Zr(e,t){const n=e.trim();if(n==="")return;const s=Number(n);return!Number.isFinite(s)||t&&!Number.isInteger(s)?e:s}function ea(e){const t=e.trim();return t==="true"?!0:t==="false"?!1:e}function pt(e,t){if(e==null)return e;if(t.allOf&&t.allOf.length>0){let s=e;for(const i of t.allOf)s=pt(s,i);return s}const n=ve(t);if(t.anyOf||t.oneOf){const s=(t.anyOf??t.oneOf??[]).filter(i=>!(i.type==="null"||Array.isArray(i.type)&&i.type.includes("null")));if(s.length===1)return pt(e,s[0]);if(typeof e=="string")for(const i of s){const o=ve(i);if(o==="number"||o==="integer"){const r=Zr(e,o==="integer");if(r===void 0||typeof r=="number")return r}if(o==="boolean"){const r=ea(e);if(typeof r=="boolean")return r}}for(const i of s){const o=ve(i);if(o==="object"&&typeof e=="object"&&!Array.isArray(e)||o==="array"&&Array.isArray(e))return pt(e,i)}return e}if(n==="number"||n==="integer"){if(typeof e=="string"){const s=Zr(e,n==="integer");if(s===void 0||typeof s=="number")return s}return e}if(n==="boolean"){if(typeof e=="string"){const s=ea(e);if(typeof s=="boolean")return s}return e}if(n==="object"){if(typeof e!="object"||Array.isArray(e))return e;const s=e,i=t.properties??{},o=t.additionalProperties&&typeof t.additionalProperties=="object"?t.additionalProperties:null,r={};for(const[l,a]of Object.entries(s)){const d=i[l]??o,g=d?pt(a,d):a;g!==void 0&&(r[l]=g)}return r}if(n==="array"){if(!Array.isArray(e))return e;if(Array.isArray(t.items)){const i=t.items;return e.map((o,r)=>{const l=r<i.length?i[r]:void 0;return l?pt(o,l):o})}const s=t.items;return s?e.map(i=>pt(i,s)).filter(i=>i!==void 0):e}return e}function St(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}function $n(e){return`${JSON.stringify(e,null,2).trimEnd()}
4
4
  `}function ec(e,t,n){if(t.length===0)return;let s=e;for(let o=0;o<t.length-1;o+=1){const r=t[o],l=t[o+1];if(typeof r=="number"){if(!Array.isArray(s))return;s[r]==null&&(s[r]=typeof l=="number"?[]:{}),s=s[r]}else{if(typeof s!="object"||s==null)return;const a=s;a[r]==null&&(a[r]=typeof l=="number"?[]:{}),s=a[r]}}const i=t[t.length-1];if(typeof i=="number"){Array.isArray(s)&&(s[i]=n);return}typeof s=="object"&&s!=null&&(s[i]=n)}function tc(e,t){if(t.length===0)return;let n=e;for(let i=0;i<t.length-1;i+=1){const o=t[i];if(typeof o=="number"){if(!Array.isArray(n))return;n=n[o]}else{if(typeof n!="object"||n==null)return;n=n[o]}if(n==null)return}const s=t[t.length-1];if(typeof s=="number"){Array.isArray(n)&&n.splice(s,1);return}typeof n=="object"&&n!=null&&delete n[s]}async function Ae(e){if(!(!e.client||!e.connected)){e.configLoading=!0,e.lastError=null;try{const t=await e.client.request("config.get",{});fg(e,t)}catch(t){e.lastError=String(t)}finally{e.configLoading=!1}}}async function nc(e){if(!(!e.client||!e.connected)&&!e.configSchemaLoading){e.configSchemaLoading=!0;try{const t=await e.client.request("config.schema",{});gg(e,t)}catch(t){e.lastError=String(t)}finally{e.configSchemaLoading=!1}}}function gg(e,t){e.configSchema=t.schema??null,e.configUiHints=t.uiHints??{},e.configSchemaVersion=t.version??null}function fg(e,t){e.configSnapshot=t;const n=typeof t.raw=="string"?t.raw:t.config&&typeof t.config=="object"?$n(t.config):e.configRaw;!e.configFormDirty||e.configFormMode==="raw"?e.configRaw=n:e.configForm?e.configRaw=$n(e.configForm):e.configRaw=n,e.configValid=typeof t.valid=="boolean"?t.valid:null,e.configIssues=Array.isArray(t.issues)?t.issues:[],e.configFormDirty||(e.configForm=St(t.config??{}),e.configFormOriginal=St(t.config??{}),e.configRawOriginal=n)}function pg(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function sc(e){if(e.configFormMode!=="form"||!e.configForm)return e.configRaw;const t=pg(e.configSchema),n=t?pt(e.configForm,t):e.configForm;return $n(n)}async function On(e){if(!(!e.client||!e.connected)){e.configSaving=!0,e.lastError=null;try{const t=sc(e),n=e.configSnapshot?.hash;if(!n){e.lastError="Config hash missing; reload and retry.";return}await e.client.request("config.set",{raw:t,baseHash:n}),e.configFormDirty=!1,await Ae(e)}catch(t){e.lastError=String(t)}finally{e.configSaving=!1}}}async function hg(e){if(!(!e.client||!e.connected)){e.configApplying=!0,e.lastError=null;try{const t=sc(e),n=e.configSnapshot?.hash;if(!n){e.lastError="Config hash missing; reload and retry.";return}await e.client.request("config.apply",{raw:t,baseHash:n,sessionKey:e.applySessionKey}),e.configFormDirty=!1,await Ae(e)}catch(t){e.lastError=String(t)}finally{e.configApplying=!1}}}async function ta(e){if(!(!e.client||!e.connected)){e.updateRunning=!0,e.lastError=null;try{await e.client.request("update.run",{sessionKey:e.applySessionKey})}catch(t){e.lastError=String(t)}finally{e.updateRunning=!1}}}function Me(e,t,n){const s=St(e.configForm??e.configSnapshot?.config??{});ec(s,t,n),e.configForm=s,e.configFormDirty=!0,e.configFormMode==="form"&&(e.configRaw=$n(s))}function qe(e,t){const n=St(e.configForm??e.configSnapshot?.config??{});tc(n,t),e.configForm=n,e.configFormDirty=!0,e.configFormMode==="form"&&(e.configRaw=$n(n))}function mg(e){const{values:t,original:n}=e;return t.name!==n.name||t.displayName!==n.displayName||t.about!==n.about||t.picture!==n.picture||t.banner!==n.banner||t.website!==n.website||t.nip05!==n.nip05||t.lud16!==n.lud16}function vg(e){const{state:t,callbacks:n,accountId:s}=e,i=mg(t),o=(l,a,d={})=>{const{type:g="text",placeholder:u,maxLength:f,help:v}=d,m=t.values[l]??"",S=t.fieldErrors[l],C=`nostr-profile-${l}`;return g==="textarea"?c`
5
5
  <div class="form-field" style="margin-bottom: 12px;">
6
6
  <label for="${C}" style="display: block; margin-bottom: 4px; font-weight: 500;">
@@ -8636,4 +8636,4 @@ ${JSON.stringify(e.issues,null,2)}</pre
8636
8636
  `}var Xw=Object.defineProperty,Zw=Object.getOwnPropertyDescriptor,$=(e,t,n,s)=>{for(var i=s>1?void 0:s?Zw(t,n):t,o=e.length-1,r;o>=0;o--)(r=e[o])&&(i=(s?r(t,n,i):r(i))||i);return s&&i&&Xw(t,n,i),i};const Xi=or({});function e1(){if(!window.location.search)return!1;const t=new URLSearchParams(window.location.search).get("onboarding");if(!t)return!1;const n=t.trim().toLowerCase();return n==="1"||n==="true"||n==="yes"||n==="on"}let y=class extends mn{constructor(){super(),this.i18nController=new lg(this),this.clientInstanceId=gi(),this.settings=Vp(),this.password="",this.tab="chat",this.onboarding=e1(),this.connected=!1,this.theme=this.settings.theme??"system",this.themeResolved="light",this.hello=null,this.lastError=null,this.lastErrorCode=null,this.eventLog=[],this.eventLogBuffer=[],this.toolStreamSyncTimer=null,this.sidebarCloseTimer=null,this.assistantName=Xi.name,this.assistantAvatar=Xi.avatar,this.assistantAgentId=Xi.agentId??null,this.sessionKey=this.settings.sessionKey,this.chatLoading=!1,this.chatSending=!1,this.chatMessage="",this.chatMessages=[],this.chatToolMessages=[],this.chatStream=null,this.chatStreamStartedAt=null,this.chatRunId=null,this.compactionStatus=null,this.fallbackStatus=null,this.chatAvatarUrl=null,this.chatThinkingLevel=null,this.chatQueue=[],this.chatAttachments=[],this.chatManualRefreshInFlight=!1,this.sidebarOpen=!1,this.sidebarContent=null,this.sidebarError=null,this.splitRatio=this.settings.splitRatio,this.nodesLoading=!1,this.nodes=[],this.devicesLoading=!1,this.devicesError=null,this.devicesList=null,this.execApprovalsLoading=!1,this.execApprovalsSaving=!1,this.execApprovalsDirty=!1,this.execApprovalsSnapshot=null,this.execApprovalsForm=null,this.execApprovalsSelectedAgent=null,this.execApprovalsTarget="gateway",this.execApprovalsTargetNodeId=null,this.execApprovalQueue=[],this.execApprovalBusy=!1,this.execApprovalError=null,this.pendingGatewayUrl=null,this.configLoading=!1,this.configRaw=`{
8637
8637
  }
8638
8638
  `,this.configRawOriginal="",this.configValid=null,this.configIssues=[],this.configSaving=!1,this.configApplying=!1,this.updateRunning=!1,this.applySessionKey=this.settings.lastActiveSessionKey,this.configSnapshot=null,this.configSchema=null,this.configSchemaVersion=null,this.configSchemaLoading=!1,this.configUiHints={},this.configForm=null,this.configFormOriginal=null,this.configFormDirty=!1,this.configFormMode="form",this.configSearchQuery="",this.configActiveSection=null,this.configActiveSubsection=null,this.modelsLoading=!1,this.modelsSaving=!1,this.modelsDefaultSaving=!1,this.modelsVerifyBusy=!1,this.modelsError=null,this.modelsProviders=[],this.modelsSwitchableModels=[],this.modelsSelectedProviderId=null,this.modelsSelectedDefault="",this.modelsDraft=null,this.modelsDefaultState=null,this.modelsVerifyState=null,this.channelsLoading=!1,this.channelsSnapshot=null,this.channelsError=null,this.channelsLastSuccess=null,this.whatsappLoginMessage=null,this.whatsappLoginQrDataUrl=null,this.whatsappLoginConnected=null,this.whatsappBusy=!1,this.nostrProfileFormState=null,this.nostrProfileAccountId=null,this.presenceLoading=!1,this.presenceEntries=[],this.presenceError=null,this.presenceStatus=null,this.agentsLoading=!1,this.agentsList=null,this.agentsError=null,this.agentsSelectedId=null,this.toolsCatalogLoading=!1,this.toolsCatalogError=null,this.toolsCatalogResult=null,this.agentsPanel="overview",this.agentFilesLoading=!1,this.agentFilesError=null,this.agentFilesList=null,this.agentFileContents={},this.agentFileDrafts={},this.agentFileActive=null,this.agentFileSaving=!1,this.agentIdentityLoading=!1,this.agentIdentityError=null,this.agentIdentityById={},this.agentSkillsLoading=!1,this.agentSkillsError=null,this.agentSkillsReport=null,this.agentSkillsAgentId=null,this.sessionsLoading=!1,this.sessionsResult=null,this.sessionsError=null,this.sessionsFilterActive="",this.sessionsFilterLimit="120",this.sessionsIncludeGlobal=!0,this.sessionsIncludeUnknown=!1,this.sessionsHideCron=!0,this.usageLoading=!1,this.usageResult=null,this.usageCostSummary=null,this.usageError=null,this.usageStartDate=(()=>{const e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`})(),this.usageEndDate=(()=>{const e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`})(),this.usageSelectedSessions=[],this.usageSelectedDays=[],this.usageSelectedHours=[],this.usageChartMode="tokens",this.usageDailyChartMode="by-type",this.usageTimeSeriesMode="per-turn",this.usageTimeSeriesBreakdownMode="by-type",this.usageTimeSeries=null,this.usageTimeSeriesLoading=!1,this.usageTimeSeriesCursorStart=null,this.usageTimeSeriesCursorEnd=null,this.usageSessionLogs=null,this.usageSessionLogsLoading=!1,this.usageSessionLogsExpanded=!1,this.usageQuery="",this.usageQueryDraft="",this.usageSessionSort="recent",this.usageSessionSortDir="desc",this.usageRecentSessions=[],this.usageTimeZone="local",this.usageContextExpanded=!1,this.usageHeaderPinned=!1,this.usageSessionsTab="all",this.usageVisibleColumns=["channel","agent","provider","model","messages","tools","errors","duration"],this.usageLogFilterRoles=[],this.usageLogFilterTools=[],this.usageLogFilterHasTools=!1,this.usageLogFilterQuery="",this.usageQueryDebounceTimer=null,this.cronLoading=!1,this.cronJobsLoadingMore=!1,this.cronJobs=[],this.cronJobsTotal=0,this.cronJobsHasMore=!1,this.cronJobsNextOffset=null,this.cronJobsLimit=50,this.cronJobsQuery="",this.cronJobsEnabledFilter="all",this.cronJobsScheduleKindFilter="all",this.cronJobsLastStatusFilter="all",this.cronJobsSortBy="nextRunAtMs",this.cronJobsSortDir="asc",this.cronStatus=null,this.cronError=null,this.cronForm={...Os},this.cronFieldErrors={},this.cronEditingJobId=null,this.cronRunsJobId=null,this.cronRunsLoadingMore=!1,this.cronRuns=[],this.cronRunsTotal=0,this.cronRunsHasMore=!1,this.cronRunsNextOffset=null,this.cronRunsLimit=50,this.cronRunsScope="all",this.cronRunsStatuses=[],this.cronRunsDeliveryStatuses=[],this.cronRunsStatusFilter="all",this.cronRunsQuery="",this.cronRunsSortDir="desc",this.cronModelSuggestions=[],this.cronBusy=!1,this.updateAvailable=null,this.skillsLoading=!1,this.skillsReport=null,this.skillsError=null,this.skillsFilter="",this.skillEdits={},this.skillsBusyKey=null,this.skillMessages={},this.marketLoading=!1,this.marketCatalog=[],this.marketError=null,this.marketFilter="",this.marketBusyKey=null,this.marketMessages={},this.debugLoading=!1,this.debugStatus=null,this.debugHealth=null,this.debugModels=[],this.debugHeartbeat=null,this.debugCallMethod="",this.debugCallParams="{}",this.debugCallResult=null,this.debugCallError=null,this.logsLoading=!1,this.logsError=null,this.logsFile=null,this.logsEntries=[],this.logsFilterText="",this.logsLevelFilters={...Wg},this.logsAutoFollow=!0,this.logsTruncated=!1,this.logsCursor=null,this.logsLastFetchAt=null,this.logsLimit=500,this.logsMaxBytes=25e4,this.logsAtBottom=!0,this.client=null,this.chatScrollFrame=null,this.chatScrollTimeout=null,this.chatHasAutoScrolled=!1,this.chatUserNearBottom=!0,this.chatNewMessagesBelow=!1,this.nodesPollInterval=null,this.logsPollInterval=null,this.debugPollInterval=null,this.logsScrollFrame=null,this.toolStreamById=new Map,this.toolStreamOrder=[],this.refreshSessionsAfterChat=new Set,this.basePath="",this.popStateHandler=()=>ah(this),this.themeMedia=null,this.themeMediaHandler=null,this.topbarObserver=null,Xl(this.settings.locale)&&Jn.setLocale(this.settings.locale)}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),hm(this)}firstUpdated(){mm(this)}disconnectedCallback(){vm(this),super.disconnectedCallback()}updated(e){bm(this,e)}connect(){vd(this)}handleChatScroll(e){Lg(this,e)}handleLogsScroll(e){Dg(this,e)}exportLogs(e,t){Pg(e,t)}resetToolStream(){ui(this)}resetChatScroll(){na(this)}scrollToBottom(e){na(this),ss(this,!0,!!e?.smooth)}async loadAssistantIdentity(){await pd(this)}applySettings(e){At(this,e)}setTab(e){eh(this,e)}setTheme(e,t){th(this,e,t)}async loadOverview(){await ed(this)}async loadCron(){await Ks(this)}async handleAbortChat(){await dd(this)}removeQueuedMessage(e){Kh(this,e)}async handleSendChat(e,t){await Wh(this,e,t)}async handleWhatsAppStart(e){await yg(this,e)}async handleWhatsAppWait(){await $g(this)}async handleWhatsAppLogout(){await xg(this)}async handleChannelConfigSave(){await wg(this)}async handleChannelConfigReload(){await Sg(this)}handleNostrProfileEdit(e,t){Cg(this,e,t)}handleNostrProfileCancel(){Tg(this)}handleNostrProfileFieldChange(e,t){Eg(this,e,t)}async handleNostrProfileSave(){await Ig(this)}async handleNostrProfileImport(){await Mg(this)}handleNostrProfileToggleAdvanced(){_g(this)}async handleExecApprovalDecision(e){const t=this.execApprovalQueue[0];if(!(!t||!this.client||this.execApprovalBusy)){this.execApprovalBusy=!0,this.execApprovalError=null;try{await this.client.request("exec.approval.resolve",{id:t.id,decision:e}),this.execApprovalQueue=this.execApprovalQueue.filter(n=>n.id!==t.id)}catch(n){this.execApprovalError=`Exec approval failed: ${String(n)}`}finally{this.execApprovalBusy=!1}}}handleGatewayUrlConfirm(){const e=this.pendingGatewayUrl;e&&(this.pendingGatewayUrl=null,At(this,{...this.settings,gatewayUrl:e}),this.connect())}handleGatewayUrlCancel(){this.pendingGatewayUrl=null}handleOpenSidebar(e){this.sidebarCloseTimer!=null&&(window.clearTimeout(this.sidebarCloseTimer),this.sidebarCloseTimer=null),this.sidebarContent=e,this.sidebarError=null,this.sidebarOpen=!0}handleCloseSidebar(){this.sidebarOpen=!1,this.sidebarCloseTimer!=null&&window.clearTimeout(this.sidebarCloseTimer),this.sidebarCloseTimer=window.setTimeout(()=>{this.sidebarOpen||(this.sidebarContent=null,this.sidebarError=null,this.sidebarCloseTimer=null)},200)}handleSplitRatioChange(e){const t=Math.max(.4,Math.min(.7,e));this.splitRatio=t,this.applySettings({...this.settings,splitRatio:t})}render(){return Yw(this)}};$([x()],y.prototype,"settings",2);$([x()],y.prototype,"password",2);$([x()],y.prototype,"tab",2);$([x()],y.prototype,"onboarding",2);$([x()],y.prototype,"connected",2);$([x()],y.prototype,"theme",2);$([x()],y.prototype,"themeResolved",2);$([x()],y.prototype,"hello",2);$([x()],y.prototype,"lastError",2);$([x()],y.prototype,"lastErrorCode",2);$([x()],y.prototype,"eventLog",2);$([x()],y.prototype,"assistantName",2);$([x()],y.prototype,"assistantAvatar",2);$([x()],y.prototype,"assistantAgentId",2);$([x()],y.prototype,"sessionKey",2);$([x()],y.prototype,"chatLoading",2);$([x()],y.prototype,"chatSending",2);$([x()],y.prototype,"chatMessage",2);$([x()],y.prototype,"chatMessages",2);$([x()],y.prototype,"chatToolMessages",2);$([x()],y.prototype,"chatStream",2);$([x()],y.prototype,"chatStreamStartedAt",2);$([x()],y.prototype,"chatRunId",2);$([x()],y.prototype,"compactionStatus",2);$([x()],y.prototype,"fallbackStatus",2);$([x()],y.prototype,"chatAvatarUrl",2);$([x()],y.prototype,"chatThinkingLevel",2);$([x()],y.prototype,"chatQueue",2);$([x()],y.prototype,"chatAttachments",2);$([x()],y.prototype,"chatManualRefreshInFlight",2);$([x()],y.prototype,"sidebarOpen",2);$([x()],y.prototype,"sidebarContent",2);$([x()],y.prototype,"sidebarError",2);$([x()],y.prototype,"splitRatio",2);$([x()],y.prototype,"nodesLoading",2);$([x()],y.prototype,"nodes",2);$([x()],y.prototype,"devicesLoading",2);$([x()],y.prototype,"devicesError",2);$([x()],y.prototype,"devicesList",2);$([x()],y.prototype,"execApprovalsLoading",2);$([x()],y.prototype,"execApprovalsSaving",2);$([x()],y.prototype,"execApprovalsDirty",2);$([x()],y.prototype,"execApprovalsSnapshot",2);$([x()],y.prototype,"execApprovalsForm",2);$([x()],y.prototype,"execApprovalsSelectedAgent",2);$([x()],y.prototype,"execApprovalsTarget",2);$([x()],y.prototype,"execApprovalsTargetNodeId",2);$([x()],y.prototype,"execApprovalQueue",2);$([x()],y.prototype,"execApprovalBusy",2);$([x()],y.prototype,"execApprovalError",2);$([x()],y.prototype,"pendingGatewayUrl",2);$([x()],y.prototype,"configLoading",2);$([x()],y.prototype,"configRaw",2);$([x()],y.prototype,"configRawOriginal",2);$([x()],y.prototype,"configValid",2);$([x()],y.prototype,"configIssues",2);$([x()],y.prototype,"configSaving",2);$([x()],y.prototype,"configApplying",2);$([x()],y.prototype,"updateRunning",2);$([x()],y.prototype,"applySessionKey",2);$([x()],y.prototype,"configSnapshot",2);$([x()],y.prototype,"configSchema",2);$([x()],y.prototype,"configSchemaVersion",2);$([x()],y.prototype,"configSchemaLoading",2);$([x()],y.prototype,"configUiHints",2);$([x()],y.prototype,"configForm",2);$([x()],y.prototype,"configFormOriginal",2);$([x()],y.prototype,"configFormDirty",2);$([x()],y.prototype,"configFormMode",2);$([x()],y.prototype,"configSearchQuery",2);$([x()],y.prototype,"configActiveSection",2);$([x()],y.prototype,"configActiveSubsection",2);$([x()],y.prototype,"modelsLoading",2);$([x()],y.prototype,"modelsSaving",2);$([x()],y.prototype,"modelsDefaultSaving",2);$([x()],y.prototype,"modelsVerifyBusy",2);$([x()],y.prototype,"modelsError",2);$([x()],y.prototype,"modelsProviders",2);$([x()],y.prototype,"modelsSwitchableModels",2);$([x()],y.prototype,"modelsSelectedProviderId",2);$([x()],y.prototype,"modelsSelectedDefault",2);$([x()],y.prototype,"modelsDraft",2);$([x()],y.prototype,"modelsDefaultState",2);$([x()],y.prototype,"modelsVerifyState",2);$([x()],y.prototype,"channelsLoading",2);$([x()],y.prototype,"channelsSnapshot",2);$([x()],y.prototype,"channelsError",2);$([x()],y.prototype,"channelsLastSuccess",2);$([x()],y.prototype,"whatsappLoginMessage",2);$([x()],y.prototype,"whatsappLoginQrDataUrl",2);$([x()],y.prototype,"whatsappLoginConnected",2);$([x()],y.prototype,"whatsappBusy",2);$([x()],y.prototype,"nostrProfileFormState",2);$([x()],y.prototype,"nostrProfileAccountId",2);$([x()],y.prototype,"presenceLoading",2);$([x()],y.prototype,"presenceEntries",2);$([x()],y.prototype,"presenceError",2);$([x()],y.prototype,"presenceStatus",2);$([x()],y.prototype,"agentsLoading",2);$([x()],y.prototype,"agentsList",2);$([x()],y.prototype,"agentsError",2);$([x()],y.prototype,"agentsSelectedId",2);$([x()],y.prototype,"toolsCatalogLoading",2);$([x()],y.prototype,"toolsCatalogError",2);$([x()],y.prototype,"toolsCatalogResult",2);$([x()],y.prototype,"agentsPanel",2);$([x()],y.prototype,"agentFilesLoading",2);$([x()],y.prototype,"agentFilesError",2);$([x()],y.prototype,"agentFilesList",2);$([x()],y.prototype,"agentFileContents",2);$([x()],y.prototype,"agentFileDrafts",2);$([x()],y.prototype,"agentFileActive",2);$([x()],y.prototype,"agentFileSaving",2);$([x()],y.prototype,"agentIdentityLoading",2);$([x()],y.prototype,"agentIdentityError",2);$([x()],y.prototype,"agentIdentityById",2);$([x()],y.prototype,"agentSkillsLoading",2);$([x()],y.prototype,"agentSkillsError",2);$([x()],y.prototype,"agentSkillsReport",2);$([x()],y.prototype,"agentSkillsAgentId",2);$([x()],y.prototype,"sessionsLoading",2);$([x()],y.prototype,"sessionsResult",2);$([x()],y.prototype,"sessionsError",2);$([x()],y.prototype,"sessionsFilterActive",2);$([x()],y.prototype,"sessionsFilterLimit",2);$([x()],y.prototype,"sessionsIncludeGlobal",2);$([x()],y.prototype,"sessionsIncludeUnknown",2);$([x()],y.prototype,"sessionsHideCron",2);$([x()],y.prototype,"usageLoading",2);$([x()],y.prototype,"usageResult",2);$([x()],y.prototype,"usageCostSummary",2);$([x()],y.prototype,"usageError",2);$([x()],y.prototype,"usageStartDate",2);$([x()],y.prototype,"usageEndDate",2);$([x()],y.prototype,"usageSelectedSessions",2);$([x()],y.prototype,"usageSelectedDays",2);$([x()],y.prototype,"usageSelectedHours",2);$([x()],y.prototype,"usageChartMode",2);$([x()],y.prototype,"usageDailyChartMode",2);$([x()],y.prototype,"usageTimeSeriesMode",2);$([x()],y.prototype,"usageTimeSeriesBreakdownMode",2);$([x()],y.prototype,"usageTimeSeries",2);$([x()],y.prototype,"usageTimeSeriesLoading",2);$([x()],y.prototype,"usageTimeSeriesCursorStart",2);$([x()],y.prototype,"usageTimeSeriesCursorEnd",2);$([x()],y.prototype,"usageSessionLogs",2);$([x()],y.prototype,"usageSessionLogsLoading",2);$([x()],y.prototype,"usageSessionLogsExpanded",2);$([x()],y.prototype,"usageQuery",2);$([x()],y.prototype,"usageQueryDraft",2);$([x()],y.prototype,"usageSessionSort",2);$([x()],y.prototype,"usageSessionSortDir",2);$([x()],y.prototype,"usageRecentSessions",2);$([x()],y.prototype,"usageTimeZone",2);$([x()],y.prototype,"usageContextExpanded",2);$([x()],y.prototype,"usageHeaderPinned",2);$([x()],y.prototype,"usageSessionsTab",2);$([x()],y.prototype,"usageVisibleColumns",2);$([x()],y.prototype,"usageLogFilterRoles",2);$([x()],y.prototype,"usageLogFilterTools",2);$([x()],y.prototype,"usageLogFilterHasTools",2);$([x()],y.prototype,"usageLogFilterQuery",2);$([x()],y.prototype,"cronLoading",2);$([x()],y.prototype,"cronJobsLoadingMore",2);$([x()],y.prototype,"cronJobs",2);$([x()],y.prototype,"cronJobsTotal",2);$([x()],y.prototype,"cronJobsHasMore",2);$([x()],y.prototype,"cronJobsNextOffset",2);$([x()],y.prototype,"cronJobsLimit",2);$([x()],y.prototype,"cronJobsQuery",2);$([x()],y.prototype,"cronJobsEnabledFilter",2);$([x()],y.prototype,"cronJobsScheduleKindFilter",2);$([x()],y.prototype,"cronJobsLastStatusFilter",2);$([x()],y.prototype,"cronJobsSortBy",2);$([x()],y.prototype,"cronJobsSortDir",2);$([x()],y.prototype,"cronStatus",2);$([x()],y.prototype,"cronError",2);$([x()],y.prototype,"cronForm",2);$([x()],y.prototype,"cronFieldErrors",2);$([x()],y.prototype,"cronEditingJobId",2);$([x()],y.prototype,"cronRunsJobId",2);$([x()],y.prototype,"cronRunsLoadingMore",2);$([x()],y.prototype,"cronRuns",2);$([x()],y.prototype,"cronRunsTotal",2);$([x()],y.prototype,"cronRunsHasMore",2);$([x()],y.prototype,"cronRunsNextOffset",2);$([x()],y.prototype,"cronRunsLimit",2);$([x()],y.prototype,"cronRunsScope",2);$([x()],y.prototype,"cronRunsStatuses",2);$([x()],y.prototype,"cronRunsDeliveryStatuses",2);$([x()],y.prototype,"cronRunsStatusFilter",2);$([x()],y.prototype,"cronRunsQuery",2);$([x()],y.prototype,"cronRunsSortDir",2);$([x()],y.prototype,"cronModelSuggestions",2);$([x()],y.prototype,"cronBusy",2);$([x()],y.prototype,"updateAvailable",2);$([x()],y.prototype,"skillsLoading",2);$([x()],y.prototype,"skillsReport",2);$([x()],y.prototype,"skillsError",2);$([x()],y.prototype,"skillsFilter",2);$([x()],y.prototype,"skillEdits",2);$([x()],y.prototype,"skillsBusyKey",2);$([x()],y.prototype,"skillMessages",2);$([x()],y.prototype,"marketLoading",2);$([x()],y.prototype,"marketCatalog",2);$([x()],y.prototype,"marketError",2);$([x()],y.prototype,"marketFilter",2);$([x()],y.prototype,"marketBusyKey",2);$([x()],y.prototype,"marketMessages",2);$([x()],y.prototype,"debugLoading",2);$([x()],y.prototype,"debugStatus",2);$([x()],y.prototype,"debugHealth",2);$([x()],y.prototype,"debugModels",2);$([x()],y.prototype,"debugHeartbeat",2);$([x()],y.prototype,"debugCallMethod",2);$([x()],y.prototype,"debugCallParams",2);$([x()],y.prototype,"debugCallResult",2);$([x()],y.prototype,"debugCallError",2);$([x()],y.prototype,"logsLoading",2);$([x()],y.prototype,"logsError",2);$([x()],y.prototype,"logsFile",2);$([x()],y.prototype,"logsEntries",2);$([x()],y.prototype,"logsFilterText",2);$([x()],y.prototype,"logsLevelFilters",2);$([x()],y.prototype,"logsAutoFollow",2);$([x()],y.prototype,"logsTruncated",2);$([x()],y.prototype,"logsCursor",2);$([x()],y.prototype,"logsLastFetchAt",2);$([x()],y.prototype,"logsLimit",2);$([x()],y.prototype,"logsMaxBytes",2);$([x()],y.prototype,"logsAtBottom",2);$([x()],y.prototype,"chatNewMessagesBelow",2);y=$([Jl("openclaw-app")],y);
8639
- //# sourceMappingURL=index-CBxamjSz.js.map
8639
+ //# sourceMappingURL=index-DeYOAwUj.js.map