openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
57 lines • 15.2 kB
JavaScript
import{n as e}from"./rolldown-runtime-8BhlS34s.js";import{Ji as t,eo as n,hi as r,li as i,mi as a}from"./control-ui-foundation-ZY_Flbbd.js";import{L as o,R as s,Si as c,Ti as l,_i as u,bi as d,hi as f,hu as p,uu as m,yi as h}from"./control-ui-core-3P365fbR.js";import{Jn as g,Xi as _,Xn as ee,Yn as te,Zi as ne,wi as re}from"./control-ui-core-CFW9Qtjn.js";import{$ as v,F as ie,M as ae,X as y,Y as oe}from"./lit-runtime-P5vbNq6b.js";import{St as se,bt as ce,xt as le}from"./control-ui-boot-shared-3SP_aL-Y.js";import{_t as ue,bt as de,jt as fe}from"./control-ui-boot-shared-CG9HtEG-.js";import{c as pe,d as me,f as he,n as ge,s as _e,u as b}from"./config-form.search-Cgp2izNk.js";function x(e){let t=n(e);return t.includes(`localservice.env.`)||!ve.some(e=>t.endsWith(e))&&ye.some(t=>t.test(e))}var ve,ye;function S(){return(S=e((()=>{ve=[`maxtokens`,`maxoutputtokens`,`maxinputtokens`,`maxcompletiontokens`,`contexttokens`,`totaltokens`,`tokencount`,`tokenlimit`,`tokenbudget`,`passwordfile`],ye=[/token$/i,/password/i,/secret/i,/api.?key/i,/encrypt.?key/i,/private.?key/i,/serviceaccount(?:ref)?$/i]})))()}function C(e,t){return`config-field-${e.length===0?`root`:e.map(e=>{let t=String(e),n=``;for(let e=0;e<t.length;e+=1)n+=t.charCodeAt(e).toString(16).padStart(4,`0`);return`${typeof e==`number`?`n`:`s`}${t.length}-${n}`}).join(`_`)}-${t}`}function be(){return p(`configForm.redactedPlaceholder`)}function xe(e,t){return!(t>E||(e.visited+=1,e.visited>D))}function w(e,t,n){return T(e,t,n,{visited:0},0,1)>0}function Se(e,t,n){return T(e,t,n,{visited:0},0,1/0)}function T(e,t,n,r,i,a){if(!xe(r,i))return 1;if(e==null)return 0;let o=c(t);if((u(t,n)?.sensitive||x(o))&&d(e))return 1;let s=0,l=(e,o)=>(s+=T(e,[...t,o],n,r,i+1,a-s),s>=a);return Array.isArray(e)?e.some(l):e&&typeof e==`object`&&Object.entries(e).some(([e,t])=>l(t,e)),s}var E,D;function O(){return(O=e((()=>{S(),m(),h(),E=64,D=2e4})))()}function k(e,t){return le(e,t)}function A(e,t){let n=e.properties;return n&&Object.hasOwn(n,t)?n[t]:void 0}function Ce(e){let[t=``,n]=String(e).toLowerCase().split(`e`),r=t.split(`.`)[1]?.length??0,i=Number(n??0);return Math.max(0,r-i)}function j(e,t){if(!t)return e;let n=Ce(t);return n<=100?Number(e.toFixed(n)):e}function M(e,t){let n=e<0n?-e:e,r=t<0n?-t:t;for(;r!==0n;){let e=n%r;n=r,r=e}return n}function we(e,t){return e/M(e,t)*t}function Te(e){let{numerator:t,denominator:n}=g(e),r=M(t,n),i=Number(t/r);return!Number.isFinite(i)||i<=0?1:i}function N(e,t,n){let r=g(e),i=g(t);if(!r||!i||i.numerator===0n)return e;let a=r.numerator*i.denominator,o=r.denominator*i.numerator,s=a/o,c=a%o,l=c<0n?s-1n:s,u=n===`floor`?l:n===`ceil`?c===0n?s:c>0n?s+1n:s:(a-l*o)*2n<o?l:l+1n;return j(Number(u)*t,t)}function P(e,t){let n,r=!1;for(let a of e){let e=i(t===`lower`?a.minimum:a.maximum),o=i(t===`lower`?a.exclusiveMinimum:a.exclusiveMaximum);for(let[i,a]of[[e,!1],[o,!0]])i!==void 0&&(n===void 0||(t===`lower`?i>n:i<n)||i===n&&a&&!r)&&(n=i,r=a)}return{value:n,exclusive:r}}function Ee(e){let t,n;for(let r of e){let e=i(r.multipleOf);if(e===void 0||e<=0)continue;let a=g(e);if(!a)continue;let o=M(a.numerator,a.denominator),s=a.numerator/o,c=a.denominator/o;t=t===void 0?s:we(t,s),n=n===void 0?c:M(n,c)}if(t===void 0||n===void 0)return;let r=Number(t)/Number(n);return Number.isFinite(r)&&r>0?r:void 0}function F(e){let t=b(e),n=0,r,i=!1;for(let e of t){n=Math.max(n,a(e.minItems,{min:0})??0);let t=a(e.maxItems,{min:0});t!==void 0&&(r=Math.min(r??1/0,t)),Array.isArray(e.items)&&e.additionalItems===!1&&(r=Math.min(r??1/0,e.items.length)),i||=e.uniqueItems===!0}return{minItems:n,maxItems:r,uniqueItems:i}}function I(e){return new Set(b(e).flatMap(e=>e.required??[]))}function L(e){let t=b(e);return[...new Set(t.flatMap(e=>Object.keys(e.properties??{})))].filter(e=>t.every(t=>A(t,e)!==void 0||t.additionalProperties!==!1))}function R(e){let t=b(e).map(e=>e.additionalProperties).filter(e=>e!==void 0);if(t.some(e=>e===!1))return!1;let n=t.filter(e=>!!e&&typeof e==`object`);return n.length>0?me(n):t.some(e=>e===!0)?{}:void 0}function z(e,t){let n=+!k(e,t),r=new Set(L(e));for(let r of I(e))Object.hasOwn(t,r)||(n+=1);let i=R(e);for(let[a,o]of Object.entries(t)){let t=ke(e,a);if(t){k(t,o)||(n+=1);continue}!r.has(a)&&(i===!1||i===void 0||!k(i,o))&&(n+=1)}return n}function De(e,t){return b(e).every(({propertyNames:e})=>e===void 0||e===!0||e!==!1&&k(e,t))}function Oe(e,t,n){return Object.keys(n).some(n=>!Object.hasOwn(t,n)&&!De(e,n))?!1:k(e,n)?!0:!k(e,t)&&z(e,n)<=z(e,t)}function ke(e,t){if(L(e).includes(t))return me(b(e).map(e=>A(e,t)).filter(e=>e!==void 0))}function B(e,t=new Set){if(t.has(e))return[];t.add(e);let n=[e.const,...e.enum??[]].filter(Array.isArray);for(let r of[...e.allOf??[],...e.anyOf??[],...e.oneOf??[]])n.push(...B(r,t));return t.delete(e),n}function Ae(e,t){let n=Math.abs(e.length-t.length),r=Math.min(e.length,t.length);for(let i=0;i<r;i+=1)G(e[i],t[i])||(n+=1);return n}function je(e,t,n){let{minItems:r,maxItems:i}=F(e),a=Math.max(0,r-t.length),o=B(e).filter(t=>k(e,t)).map(e=>Ae(t,e));o.length>0&&(a+=Math.min(...o)),i!==void 0&&(a+=Math.max(0,t.length-i));for(let r=0;r<t.length;r+=1){let i=pe(e,r);i&&!k(i,t[r])&&(a+=1),n&&t.slice(r+1).some(e=>G(t[r],e))&&(a+=1)}return a}function Me(e,t,n,r,i){if(k(e,n))return!0;if(k(e,t))return!1;let a=je(e,t,r),o=je(e,n,r);return i?o<=a:o<a}function V(e){let t=b(e),n=new Set(t.flatMap(e=>{let t=Array.isArray(e.type)?e.type:e.type?[e.type]:[];return t.includes(`number`)?[`number`]:t.includes(`integer`)?[`integer`]:[]})),r=n.has(`integer`)?`integer`:n.has(`number`)?`number`:l(e),i=Ee(t),a=r===`integer`?i===void 0?1:Te(i):i,o=P(t,`lower`),s=P(t,`upper`),c=o.exclusive?o.value:void 0,u=s.exclusive?s.value:void 0,d=o.value,f=s.value;if(a){if(d!==void 0&&(d=N(d,a,`ceil`)),f!==void 0&&(f=N(f,a,`floor`)),c!==void 0){let e=N(c,a,`ceil`),t=e<=c?j(e+a,a):e;d=d===void 0?t:Math.max(d,t)}if(u!==void 0){let e=N(u,a,`floor`),t=e>=u?j(e-a,a):e;f=f===void 0?t:Math.min(f,t)}}return{min:d,max:f,exclusiveMin:c,exclusiveMax:u,step:a??`any`}}function H(e,t){if(!Number.isFinite(e))return e;if(e===0)return t>0?Number.MIN_VALUE:-Number.MIN_VALUE;let n=new DataView(new ArrayBuffer(8));n.setFloat64(0,e);let r=n.getBigUint64(0),i=e>0==t>0?r+1n:r-1n;return n.setBigUint64(0,i),n.getFloat64(0)}function Ne(e,t,n){if(n!==void 0&&Number.isFinite(n)){let r=e+(n-e)/2;if(t>0&&r>e||t<0&&r<e)return r}let r=e+t*Math.max(1,Math.abs(e));return Number.isFinite(r)&&r!==e?r:H(e,t)}function Pe(e,t){let n=V(t),r=e;return typeof n.step==`number`&&(r=N(r,n.step,`round`)),n.min!==void 0&&(r=Math.max(n.min,r)),n.max!==void 0&&(r=Math.min(n.max,r)),n.exclusiveMin!==void 0&&r<=n.exclusiveMin&&(r=H(n.exclusiveMin,1)),n.exclusiveMax!==void 0&&r>=n.exclusiveMax&&(r=H(n.exclusiveMax,-1)),j(r,typeof n.step==`number`?n.step:void 0)}function Fe(e){let t=V(e);if(t.step===`any`){if(t.exclusiveMin!==void 0&&t.exclusiveMin>=0)return Ne(t.exclusiveMin,1,t.max);if(t.exclusiveMax!==void 0&&t.exclusiveMax<=0)return Ne(t.exclusiveMax,-1,t.min)}return Pe(0,e)}function Ie(e){let t=Math.max(0,e.minLength??0),n=e.maxLength??Math.max(t,0);if(!Number.isSafeInteger(t)||t>Le||n<t)return K;if(e.pattern)try{return t===0&&new RegExp(e.pattern,`u`).test(``)?``:K}catch{return K}return`x`.repeat(t).slice(0,n)}function U(e,t){if(t===K||!k(e,t))return K;if(!t||typeof t!=`object`)return t;try{return structuredClone(t)}catch{return K}}function W(e,t=0){if(!e)return``;if(e.default!==void 0)return U(e,e.default);if(e.const!==void 0)return U(e,e.const);if(e.enum&&e.enum.length>0){for(let t of e.enum){let n=U(e,t);if(n!==K)return n}return K}if(t>=32)return K;for(let n of e.allOf??[]){let r=U(e,W(n,t+1));if(r!==K)return r}switch(l(e)){case`object`:{let n={};for(let r of e.required??[]){let i=A(e,r);if(!i)return K;let a=W(i,t+1);if(a===K)return K;n[r]=a}return U(e,n)}case`array`:{let n=Math.max(0,e.minItems??0);if(!Number.isSafeInteger(n)||n>100)return K;let r=e.items,i=[];for(let a=0;a<n;a+=1){let n=Array.isArray(r)?r[a]??(e.additionalItems&&typeof e.additionalItems==`object`?e.additionalItems:void 0):r;if(!n)return K;let o=W(n,t+1);if(o===K)return K;i.push(o)}return U(e,i)}case`boolean`:return U(e,!1);case`number`:case`integer`:return U(e,Fe(e));case`string`:return U(e,Ie(e));case`null`:return U(e,null);default:return U(e,``)}}var G,K,Le;function q(){return(q=e((()=>{ce(),r(),he(),ee(),O(),G=se,K=Symbol(`no-safe-config-default`),Le=4096})))()}function Re(e){let t=typeof e;return t===`string`||t===`number`||t===`boolean`?t:void 0}function ze(e,t,n){if(!(e instanceof HTMLInputElement))return;let r=Y.get(e),i=r?.edit!==void 0&&e.ownerDocument.activeElement===e&&r.pathKey===t&&r.presentationIdentity===n;Y.set(e,{edit:i?r.edit:void 0,pathKey:t,presentationIdentity:n})}function Be(e,t){let n=Y.get(e);return n?(n.edit??={branch:t},n.edit):{branch:t}}function Ve(e,t){return Y.get(e)?.edit??{branch:t}}function He(e){let t=Y.get(e);t&&(t.edit=void 0)}function J(e,t,n=`.settings-row`){e.setCustomValidity(t),e.setAttribute(`aria-invalid`,String(!!t));let r=e.closest(n)?.querySelector(`.cfg-field__error`);return r&&(r.hidden=!t,r.textContent=t),!t}function Ue(e,t,n,r,i,a,o){if(!(e instanceof HTMLInputElement))return;let s=X.get(e);s&&(!Object.is(s.sourceIdentity,n)||s.pathKey!==r||s.presentationIdentity!==i||s.renderedValue!==a?e.matches(`:focus`)&&e.value!==s.renderedValue?o(e):(e.value=a,J(e,``)):Object.is(s.controlIdentity,t)||o(e)),X.set(e,{controlIdentity:t,sourceIdentity:n,pathKey:r,presentationIdentity:i,renderedValue:a})}var Y,X;function Z(){return(Z=e((()=>{Y=new WeakMap,X=new WeakMap})))()}function We(e){let{label:t,help:n}=_e(e.path,e.schema,e.hints),r=e.showLabel??!0;return{label:t,help:n,showLabel:r,helpId:e.descriptionId??(r&&n?C(e.path,`description`):void 0)}}function Ge(e){return Object.keys(e??{}).every(e=>rt.has(e))}function Ke(e){if(e===void 0)return``;try{return JSON.stringify(e,null,2)??``}catch{return``}}function Q(e){return typeof e==`number`?te(e):o(e)}function qe(e){return!t(e)||typeof e.source!=`string`||typeof e.id!=`string`?!1:e.provider===void 0||typeof e.provider==`string`}function Je(e){let t=w(e.value,e.path,e.hints),n=e.value===f,r=t&&!n&&(e.revealSensitive||(e.isSensitivePathRevealed?.(e.path)??!1));return{isSensitive:t,isMasked:e.maskSensitive===!0&&!e.revealSensitive&&!r&&(e.value===void 0||typeof e.value==`string`)&&(u(e.path,e.hints)?.sensitive||x(c(e.path))||t),isRedacted:t&&!r,isRevealed:r,canReveal:t&&!n,sentinelRedacted:n}}function Ye(e){let{state:t}=e;if(!t.isSensitive||!e.onToggleSensitivePath)return y;let n=t.canReveal?t.isRevealed?p(`configForm.hideValue`):p(`configForm.revealValue`):t.sentinelRedacted?p(`configForm.storedSecretNotRevealable`):p(`configForm.disableStreamToReveal`);return v`
<openclaw-tooltip .content=${n}>
<button
type="button"
class="settings-secret__toggle"
aria-label=${n}
aria-pressed=${t.isRevealed}
?disabled=${e.disabled||!t.canReveal}
@click=${()=>e.onToggleSensitivePath?.(e.path)}
>
${t.isRevealed?_.eye:_.eyeOff}
</button>
</openclaw-tooltip>
`}function Xe(e,t){return t===y?e:v`<span class="settings-secret">${e}${t}</span>`}function Ze(e){let t=e.showLabel?e.help:void 0,n=e.showLabel&&e.defaultDescription!==y?e.defaultDescription:void 0,r=e.showLabel||!!t||!!n||!!e.error,i=e.stacked||!r?`settings-row settings-row--stacked`:`settings-row`;return v`
<div class=${i}>
${r?v`
<div class="settings-row__text">
${e.showLabel?v`<span class="settings-row__title">${e.label}</span>`:y}
${t?v`<span class="settings-row__desc" id=${e.helpId??y}
>${t}</span
>`:y}
${n?v`<span class="settings-row__desc">${n}</span>`:y}
${e.error?v`<span class="cfg-field__error" role="alert">${e.error}</span>`:y}
</div>
`:y}
${e.control===y?y:v`<div class="settings-row__control">
${e.control}
${e.errorId?v`<span
id=${e.errorId}
class="cfg-field__error settings-control__sr-label"
role="alert"
hidden
></span>`:y}
</div>`}
</div>
`}function Qe(e,t){return Je({path:e.path,value:t,hints:e.hints,revealSensitive:e.revealSensitive??!1,isSensitivePathRevealed:e.isSensitivePathRevealed}).isRedacted?y:$e(e.schema,e.value)}function $e(e,t){return e.default===void 0?y:de(Q(e.default),t!==void 0)??y}function et(e){let t=e.options.findIndex(t=>G(t,e.resolvedValue));return fe({value:t<0?``:String(t),options:e.options.map((t,n)=>({value:String(n),label:tt(t,e.options)})),disabled:e.disabled,ariaLabel:e.ariaLabel,descriptionId:e.descriptionId,onChange:t=>{let n=e.options[Number(t)];if(n!==void 0)return e.onSelect(n)}})}function tt(e,t){return t.includes(!0)&&t.includes(!1)?e===!0?p(`configForm.enumOn`):e===!1?p(`configForm.enumOff`):e===`auto`?p(`configForm.enumAuto`):Q(e):Q(e)}function nt(e){let{path:t,fallback:n,sensitiveState:r,disabled:i,onPatch:a}=e,o=C(t,`json-error`),s=[e.descriptionId,o].filter(Boolean).join(` `),c=(e,t)=>J(e,t,`.cfg-json-editor`),l=t=>{let n=``,r=t.value.trim();if(!r&&e.isRequired)n=p(`configForm.invalidJson`);else if(r)try{k(e.schema,JSON.parse(r))||(n=p(`configForm.invalidJson`))}catch{n=p(`configForm.invalidJson`)}return c(t,n),!n},u=r.isRedacted?``:n,d=JSON.stringify(t.filter(e=>typeof e==`string`)),f=(e,n)=>a(t,n)!==!1||(e.value=u,l(e),!1),m=v`
<textarea
${ie(t=>{if(!(t instanceof HTMLTextAreaElement))return;let n=$.get(t);n&&(!Object.is(n.sourceValue,e.sourceValue)&&!G(n.sourceValue,e.sourceValue)||n.fallback!==u||n.pathKey!==d)&&(t.value=u,c(t,``)),$.set(t,{sourceValue:e.sourceValue,fallback:u,pathKey:d})})}
class="settings-input${r.isRedacted?` cfg-redacted`:``}"
aria-label=${e.ariaLabel}
aria-describedby=${s||y}
aria-invalid="false"
placeholder=${r.isRedacted?be():p(`configForm.jsonValue`)}
rows=${e.rows}
.value=${u}
?disabled=${i}
?readonly=${r.isRedacted}
@click=${()=>{r.isRedacted&&e.onToggleSensitivePath&&e.onToggleSensitivePath(t)}}
@input=${e=>{r.isRedacted||l(e.target)}}
@change=${e=>{if(r.isRedacted)return;let t=e.target;if(!l(t))return;let n=t.value.trim();if(!n){f(t,void 0);return}try{f(t,JSON.parse(n))}catch{}}}
></textarea>
`;return v`
<span class="cfg-json-editor">
${Xe(m,Ye({path:t,state:r,disabled:i,onToggleSensitivePath:e.onToggleSensitivePath}))}
<span id=${o} class="cfg-field__error" role="alert" hidden></span>
</span>
`}var rt,$;function it(){return(it=e((()=>{oe(),ae(),S(),ne(),m(),re(),h(),s(),q(),ee(),Z(),ge(),O(),ue(),rt=new Set([`title`,`description`,`default`,`nullable`,`enumIncludesNull`,`tags`,`x-tags`]),$=new WeakMap})))()}export{W as A,C as B,Ue as C,Me as D,F as E,V as F,S as G,w as H,R as I,x as K,L,De as M,k as N,Oe as O,Pe as P,ke as R,ze as S,B as T,O as U,Se as V,be as W,He as _,Ge as a,Re as b,Qe as c,$e as d,et as f,Be as g,Xe as h,it as i,q as j,G as k,Ze as l,We as m,Q as n,qe as o,Ye as p,Je as r,Ke as s,tt as t,nt as u,Z as v,K as w,J as x,Ve as y,I as z};