openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
407 lines • 64.5 kB
JavaScript
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{En as t,Kn as n,Qi as r,jn as i,wr as a}from"./control-ui-foundation-Cydpkyqa.js";import{Co as o,O as s,Sc as c,So as l,_o as u,bc as d,bo as f,go as p,ho as m,k as h,mo as g,vo as _,xo as v,yo as y}from"./control-ui-core-Rwzhj6nO.js";import{$ as b,C as x,K as S,X as C,at as w,b as T,q as E,st as D}from"./lit-runtime-CV_MH99K.js";import{Gt as O,Ht as k,Qt as A,Wt as ee,Yt as j,at as M,en as N,it as P,nt as F,ot as I,rt as L,st as te}from"./control-ui-core-vvcQQV2m.js";import{an as R,hr as ne,in as re,mr as ie}from"./control-ui-boot-shared-BYq7Cchl.js";import{$ as ae,K as oe,L as se,U as ce,V as le,Z as ue,et as de,z as fe}from"./control-ui-boot-chat-_QSl8fbH.js";import{_ as pe}from"./control-ui-boot-new-Bj2SAUyl.js";import{a as me,c as he,d as ge,f as z,g as _e,h as ve,i as ye,l as B,m as be,n as xe,o as Se,p as Ce,r as we,s as Te,t as Ee,u as De}from"./config-form.tiers-DFD3a4dS.js";import{a as Oe,i as ke,n as Ae,o as je,r as Me,t as Ne}from"./phone-runtime-Deus1N7t.js";function Pe(e,t,n,r){let i=t[n];if(i===void 0)return{ok:!1,value:Ie};let a=n===t.length-1;if(typeof i==`number`){if(e!=null&&!Array.isArray(e))return{ok:!1,value:Ie};let o=Array.isArray(e)?[...e]:[];if(a)return r===void 0?o.splice(i,1):o[i]=r,{ok:!0,value:o};let s=Pe(o[i],t,n+1,r);return s.ok?(o[i]=s.value,{ok:!0,value:o}):s}if(e!=null&&(typeof e!=`object`||Array.isArray(e)))return{ok:!1,value:Ie};let o=e?{...e}:{};if(a)return r===void 0?delete o[i]:Object.defineProperty(o,i,{value:r,enumerable:!0,configurable:!0,writable:!0}),{ok:!0,value:o};let s=Pe(Object.hasOwn(o,i)?o[i]:void 0,t,n+1,r);return s.ok?(Object.defineProperty(o,i,{value:s.value,enumerable:!0,configurable:!0,writable:!0}),{ok:!0,value:o}):s}function Fe(e,t,n){return t.length===0?{ok:!0,value:n}:Pe(e,t,0,n)}var Ie;function Le(){return(Le=e((()=>{Ie=Symbol(`invalid-path-patch`)})))()}function Re(e){return n(e)?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Ge(t)])):e}function ze(e){try{return new RegExp(e,`u`),!0}catch{return!1}}function Be(e){if(ze(e))return e;let t=e.replace(/\\([^\\])/g,(e,t)=>t===`:`||t===`/`?t:e);return ze(t)?t:e}function Ve(e){return n(e)?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Ke(t)?t:Ge(t)])):e}function He(e){let t=new Map;for(let[n,r]of Object.entries(e)){let e=Be(n),i=Ge(r),a=t.get(e);t.set(e,a===void 0?i:{allOf:[a,i]})}return Object.fromEntries(t)}function Ue(e){let{nullable:t,type:n,...r}=e,i=Array.isArray(n)?[...n]:typeof n==`string`?[n]:null;if(!i||(t===!0&&!i.includes(`null`)&&i.push(`null`),i.length===1&&!Array.isArray(n)))return e;let a=Object.entries(r),o=a.filter(([e])=>et.has(e)),s=Object.fromEntries(a.filter(([e])=>!et.has(e)));return{...Object.fromEntries(o),anyOf:i.map(e=>Object.assign({},s,{type:e}))}}function We(e){if(!n(e.additionalProperties)||n(e.properties)||n(e.patternProperties))return e;let{additionalProperties:t,...r}=e;return{...r,patternProperties:{".*":t},additionalProperties:!1}}function Ge(e){if(Array.isArray(e))return e.map(e=>Ge(e));if(!n(e))return e;let t=We(Ue(e.nullable===!0&&e.enumIncludesNull===!0&&Array.isArray(e.enum)&&!e.enum.some(e=>e===null)?{...e,enum:[...e.enum,null]}:e));return Object.fromEntries(Object.entries(t).map(([e,r])=>e===`$dynamicRef`&&t.$ref===void 0?[`$ref`,r]:e===`pattern`&&typeof r==`string`?[e,Be(r)]:e===`patternProperties`&&n(r)?[e,He(r)]:Ze.has(e)?[e,Re(r)]:e===`dependencies`?[e,Ve(r)]:Qe.has(e)||$e.has(e)?[e,Ge(r)]:[e,r]))}function Ke(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function qe(e,t=new WeakSet,n=new WeakSet){if(e===null||typeof e==`string`||typeof e==`boolean`)return!0;if(typeof e==`number`)return Number.isFinite(e);if(typeof e!=`object`)return!1;let r;try{if(Array.isArray(e)){let t=Reflect.ownKeys(e);if(t.length!==e.length+1||t.some(t=>{if(t===`length`)return!1;if(typeof t!=`string`)return!0;let n=Number(t);return!Number.isSafeInteger(n)||n<0||n>=e.length||String(n)!==t}))return!1;r=e}else{let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null||Reflect.ownKeys(e).some(t=>typeof t!=`string`||!Object.prototype.propertyIsEnumerable.call(e,t)))return!1;r=Object.values(e)}}catch{return!1}if(n.has(e))return!0;if(t.has(e))return!1;t.add(e);let i=r.every(e=>qe(e,t,n));return t.delete(e),i&&n.add(e),i}function Je(e){return Ge(e)}function Ye(e,t){if(!qe(e)||!qe(t))return!1;try{return ne(e,t)}catch{return!1}}function Xe(e,t){if(!qe(t))return!1;try{return R(Je(e),t)}catch{return!1}}var Ze,Qe,$e,et;function tt(){return(tt=e((()=>{ie(),re(),Ze=new Set([`$defs`,`definitions`,`dependentSchemas`,`patternProperties`,`properties`]),Qe=new Set([`additionalItems`,`additionalProperties`,`contains`,`else`,`if`,`items`,`not`,`propertyNames`,`then`,`unevaluatedItems`,`unevaluatedProperties`]),$e=new Set([`allOf`,`anyOf`,`oneOf`,`prefixItems`]),et=new Set([`$anchor`,`$defs`,`$dynamicAnchor`,`$id`,`$recursiveAnchor`,`$schema`,`$vocabulary`,`definitions`])})))()}function nt(e){let t=r(e);return ot.some(e=>t.endsWith(e))}function rt(e){return st.some(t=>t.test(e))}function it(e){return r(e).includes(`localservice.env.`)}function at(e){return it(e)||!nt(e)&&rt(e)}var ot,st;function ct(){return(ct=e((()=>{ot=[`maxtokens`,`maxoutputtokens`,`maxinputtokens`,`maxcompletiontokens`,`contexttokens`,`totaltokens`,`tokencount`,`tokenlimit`,`tokenbudget`,`passwordFile`].map(e=>r(e)),st=[/token$/i,/password/i,/secret/i,/api.?key/i,/encrypt.?key/i,/private.?key/i,/serviceaccount(?:ref)?$/i]})))()}function V(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 lt(){return N(`configForm.redactedPlaceholder`)}function ut(){return{visited:0}}function dt(e,t){return!(t>bt||(e.visited+=1,e.visited>xt))}function ft(e){return yt.test(e.trim())}function pt(e){return typeof e==`string`?e.trim().length>0&&!ft(e):e!=null}function mt(e){return e?.sensitive??!1}function ht(e,t,n){return gt(e,t,n,ut(),0)}function gt(e,t,n,r,i){if(!dt(r,i))return!0;let a=y(t);return(mt(p(t,n))||at(a))&&pt(e)?!0:Array.isArray(e)?e.some((e,a)=>gt(e,[...t,a],n,r,i+1)):e&&typeof e==`object`?Object.entries(e).some(([e,a])=>gt(a,[...t,e],n,r,i+1)):!1}function _t(e,t,n){return vt(e,t,n,ut(),0)}function vt(e,t,n,r,i){if(!dt(r,i))return 1;if(e==null)return 0;let a=y(t);return(mt(p(t,n))||at(a))&&pt(e)?1:Array.isArray(e)?e.reduce((e,a,o)=>e+vt(a,[...t,o],n,r,i+1),0):e&&typeof e==`object`?Object.entries(e).reduce((e,[a,o])=>e+vt(o,[...t,a],n,r,i+1),0):0}var yt,bt,xt;function H(){return(H=e((()=>{ct(),j(),_(),yt=/^\$\{[^}]*\}$/,bt=64,xt=2e4})))()}function U(e,t){return Xe(e,t)}function St(e,t){let n=e.properties;return n&&Object.hasOwn(n,t)?n[t]:void 0}function Ct(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 wt(e,t){if(!t)return e;let n=Ct(t);return n<=100?Number(e.toFixed(n)):e}function Tt(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 Et(e,t){return e/Tt(e,t)*t}function Dt(e){let[t=``,n]=String(e).toLowerCase().split(`e`),[r=`0`,i=``]=t.split(`.`),a=Number(n??0),o=BigInt(`${r}${i}`),s=i.length-a,c=s<0?o*10n**BigInt(-s):o,l=Tt(c,s>0?10n**BigInt(s):1n),u=Number(c/l);return!Number.isFinite(u)||u<=0?1:u}function Ot(e,t,n){let r=L(e),i=L(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 wt(Number(u)*t,t)}function kt(e,n){let r,i=!1;for(let a of e){let e=t(n===`lower`?a.minimum:a.maximum),o=t(n===`lower`?a.exclusiveMinimum:a.exclusiveMaximum);for(let[t,a]of[[e,!1],[o,!0]])t!==void 0&&(r===void 0||(n===`lower`?t>r:t<r)||t===r&&a&&!i)&&(r=t,i=a)}return{value:r,exclusive:i}}function At(e){let n,r;for(let i of e){let e=t(i.multipleOf);if(e===void 0||e<=0)continue;let a=L(e);if(!a)continue;let o=Tt(a.numerator,a.denominator),s=a.numerator/o,c=a.denominator/o;n=n===void 0?s:Et(n,s),r=r===void 0?c:Tt(r,c)}if(n===void 0||r===void 0)return;let i=Number(n)/Number(r);return Number.isFinite(i)&&i>0?i:void 0}function jt(e){let t=z(e),n=0,r,i=!1;for(let e of t)Number.isSafeInteger(e.minItems)&&e.minItems!==void 0&&e.minItems>=0&&(n=Math.max(n,e.minItems)),Number.isSafeInteger(e.maxItems)&&e.maxItems!==void 0&&e.maxItems>=0&&(r=r===void 0?e.maxItems:Math.min(r,e.maxItems)),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 Mt(e){return new Set(z(e).flatMap(e=>e.required??[]))}function Nt(e){let t=z(e),n=new Set;for(let e of t)for(let t of Object.keys(e.properties??{}))n.add(t);return[...n].filter(e=>t.every(t=>St(t,e)!==void 0||t.additionalProperties!==!1))}function Pt(e){let t=z(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?Ce(n):t.some(e=>e===!0)?{}:void 0}function Ft(e,t){let n=+!U(e,t),r=new Set(Nt(e));for(let r of Mt(e))Object.hasOwn(t,r)||(n+=1);let i=Pt(e);for(let[a,o]of Object.entries(t)){let t=Rt(e,a);if(t){U(t,o)||(n+=1);continue}!r.has(a)&&(i===!1||i===void 0||!U(i,o))&&(n+=1)}return n}function It(e,t){return z(e).every(({propertyNames:e})=>e===void 0||e===!0||e!==!1&&U(e,t))}function Lt(e,t,n){return Object.keys(n).some(n=>!Object.hasOwn(t,n)&&!It(e,n))?!1:U(e,n)?!0:!U(e,t)&&Ft(e,n)<=Ft(e,t)}function Rt(e,t){if(Nt(e).includes(t))return Ce(z(e).map(e=>St(e,t)).filter(e=>e!==void 0))}function zt(e,t=new Set){if(t.has(e))return[];t.add(e);let n=[];Array.isArray(e.const)&&n.push(e.const);for(let t of e.enum??[])Array.isArray(t)&&n.push(t);for(let r of[...e.allOf??[],...e.anyOf??[],...e.oneOf??[]])n.push(...zt(r,t));return t.delete(e),n}function Bt(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 Vt(e,t,n){let{minItems:r,maxItems:i}=jt(e),a=Math.max(0,r-t.length),o=zt(e).filter(t=>U(e,t)).map(e=>Bt(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=De(e,r);i&&!U(i,t[r])&&(a+=1),n&&t.slice(r+1).some(e=>G(t[r],e))&&(a+=1)}return a}function Ht(e,t,n,r,i){if(U(e,n))return!0;if(U(e,t))return!1;let a=Vt(e,t,r),o=Vt(e,n,r);return i?o<=a:o<a}function Ut(e){let t=z(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=At(t),a=r===`integer`?i&&i>0?Dt(i):1:i&&i>0?i:void 0,o=kt(t,`lower`),s=kt(t,`upper`),c=o.exclusive?void 0:o.value,u=s.exclusive?void 0:s.value,d=o.exclusive?o.value:void 0,f=s.exclusive?s.value:void 0,p=c??d,m=u??f;if(a){if(p!==void 0&&(p=Ot(p,a,`ceil`)),m!==void 0&&(m=Ot(m,a,`floor`)),d!==void 0){let e=Ot(d,a,`ceil`),t=e<=d?wt(e+a,a):e;p=p===void 0?t:Math.max(p,t)}if(f!==void 0){let e=Ot(f,a,`floor`),t=e>=f?wt(e-a,a):e;m=m===void 0?t:Math.min(m,t)}}return{min:p,max:m,exclusiveMin:d,exclusiveMax:f,step:a??`any`}}function Wt(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 Gt(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:Wt(e,t)}function Kt(e,t){let n=Ut(t),r=e;return typeof n.step==`number`&&(r=Ot(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=(n.step,Wt(n.exclusiveMin,1))),n.exclusiveMax!==void 0&&r>=n.exclusiveMax&&(r=(n.step,Wt(n.exclusiveMax,-1))),wt(r,typeof n.step==`number`?n.step:void 0)}function qt(e){let t=Ut(e);if(t.step===`any`){if(t.exclusiveMin!==void 0&&t.exclusiveMin>=0)return Gt(t.exclusiveMin,1,t.max);if(t.exclusiveMax!==void 0&&t.exclusiveMax<=0)return Gt(t.exclusiveMax,-1,t.min)}return Kt(0,e)}function Jt(e){let t=Math.max(0,e.minLength??0),n=e.maxLength??Math.max(t,0);if(!Number.isSafeInteger(t)||t>Xt||n<t)return K;if(e.pattern)try{return t===0&&new RegExp(e.pattern,`u`).test(``)?``:K}catch{return K}return t===0?``:`x`.repeat(t).slice(0,n)}function W(e,t){if(t===K||!U(e,t))return K;if(!t||typeof t!=`object`)return t;try{return structuredClone(t)}catch{return K}}function Yt(e,t=0){if(!e)return``;if(e.default!==void 0)return W(e,e.default);if(e.const!==void 0)return W(e,e.const);if(e.enum&&e.enum.length>0){for(let t of e.enum){let n=W(e,t);if(n!==K)return n}return K}if(t>=32)return K;for(let n of e.allOf??[]){let r=W(e,Yt(n,t+1));if(r!==K)return r}switch(l(e)){case`object`:{let n={};for(let r of e.required??[]){let i=St(e,r);if(!i)return K;let a=Yt(i,t+1);if(a===K)return K;n[r]=a}return W(e,n)}case`array`:{let n=Math.max(0,e.minItems??0);if(!Number.isSafeInteger(n)||n>100)return K;if(n===0)return W(e,[]);if(Array.isArray(e.items)){let r=[];for(let i=0;i<n;i+=1){let n=e.items[i]??(e.additionalItems&&typeof e.additionalItems==`object`?e.additionalItems:void 0);if(!n)return K;let a=Yt(n,t+1);if(a===K)return K;r.push(a)}return W(e,r)}let r=e.items;if(!r)return K;let i=[];for(let e=0;e<n;e+=1){let e=Yt(r,t+1);if(e===K)return K;i.push(e)}return W(e,i)}case`boolean`:return W(e,!1);case`number`:case`integer`:return W(e,qt(e));case`string`:return W(e,Jt(e));case`null`:return W(e,null);default:return W(e,``)}}var G,K,Xt;function q(){return(q=e((()=>{tt(),i(),be(),M(),H(),G=Ye,K=Symbol(`no-safe-config-default`),Xt=4096})))()}function Zt(e){return structuredClone(e)}function Qt(e){let t=l(e.schema);if(t!==`object`&&t!==`array`)return;let n=e.schema.default;return t===`object`&&n&&typeof n==`object`&&!Array.isArray(n)||t===`array`&&Array.isArray(n)?Zt(n):t===`object`?{}:[]}function $t(e,t){return t!==void 0&&e.value===void 0&&e.isRequired!==!0&&e.structuredDraftOwner!==!0&&!U(e.schema,t)}var en;function tn(){return(tn=e((()=>{S(),b(),j(),c(),Le(),q(),H(),en=class extends d{constructor(...e){super(...e),this.error=``}willUpdate(e){if(!e.has(`props`))return;let t=e.get(`props`),n=this.props;n&&(!t||t.identity!==n.identity||!Object.is(t.sourceIdentity,n.sourceIdentity))&&(this.draftValue=Zt(n.initialValue),this.error=``)}patchDraft(e,t){let n=this.props,r=this.draftValue;if(!n||!r)return!1;let i=n.params.path;if(e.length<i.length||!i.every((t,n)=>t===e[n]))return!1;let a=e.slice(i.length),o=a.length===0?{ok:!0,value:t}:Fe(r,a,t);if(!o.ok)return!1;let s=o.value,c=l(n.params.schema);return c===`object`&&(!s||typeof s!=`object`||Array.isArray(s))||c===`array`&&!Array.isArray(s)?!1:(this.draftValue=s,this.error=``,!U(n.params.schema,s)||n.params.onPatch(i,s)!==!1||(this.error=N(`configForm.draftRejected`),!1))}render(){let e=this.props,t=this.draftValue;if(!e||!t)return E;let n=V(e.params.path,`structured-draft-error`);return C`
${e.renderNode({...e.params,value:t,sourceIdentity:t,controlIdentity:t,structuredDraftOwner:!0,onPatch:(e,t)=>this.patchDraft(e,t),onRemove:e=>this.patchDraft(e,void 0)})}
${this.error?C`
<div class="settings-row settings-row--stacked cfg-structured-draft__error">
<div class="settings-row__control">
<span id=${n} class="cfg-field__error" role="alert">${this.error}</span>
</div>
</div>
`:E}
`}},a([D({attribute:!1})],en.prototype,`props`,void 0),a([w()],en.prototype,`draftValue`,void 0),a([w()],en.prototype,`error`,void 0),customElements.get(`openclaw-config-form-structured-draft`)||customElements.define(`openclaw-config-form-structured-draft`,en)})))()}function nn(e,t){return t.length>e.length&&e.every((e,n)=>G(e,t[n]))}function rn(e){let{schema:t,value:n,minimumItems:r,maximumItems:i,uniqueItems:a,isUnset:o,isRequired:s,itemSchemaAt:c}=e,l=Math.max(1,r-n.length),u=l>100?1:l,d=[];for(let e=0;e<u;e+=1){let t=Yt(c(n.length+e));if(t===K){d.length=0;break}d.push(t)}let f=d.length===u?[...n,...d]:void 0,p=f!==void 0&&!a&&(i===void 0||f.length<=i)&&(f.length<r||U(t,f))?f:void 0,m=U(t,n),h=zt(t).find(e=>U(t,e)&&(o||!m||nn(n,e)))??(o&&s&&i===0&&U(t,[])?[]:void 0);return{atomicCandidate:Array.isArray(h)?structuredClone(h):void 0,autoCandidate:p}}function an(){return(an=e((()=>{q()})))()}function on(e,t){return`${typeof e}:${typeof e==`number`&&Object.is(e,-0)?`-0`:typeof e==`number`&&Number.isNaN(e)?`NaN`:String(e)}:${t}`}function sn(e){let t=dn.get(e);if(t?.length===e.length)return t;let n=new Map,r=e.map(e=>{if(e&&typeof e==`object`)return e;let t=on(e,0),r=n.get(t)??0;return n.set(t,r+1),on(e,r)});return dn.set(e,r),r}function cn(e,t){dn.set(e,t)}function ln(e){dn.delete(e)}function un(e,t,n){let r=Array.from({length:n},()=>Symbol(`array-row`));cn(e,[...t,...r])}var dn;function fn(){return(fn=e((()=>{dn=new WeakMap})))()}function pn(e,t){let n=e.currentTarget;if(!(n instanceof HTMLElement))return;let r=n.closest(`.cfg-block`);Array.from(r?.getElementsByTagName(`openclaw-config-form-collection-draft`)??[]).find(e=>e.parentElement===r&&e.id===t)?.openDraft?.()}var J;function mn(){return(mn=e((()=>{S(),b(),j(),c(),q(),M(),H(),J=class extends d{constructor(...e){super(...e),this.draftOpen=!1,this.draftKey=``,this.draftValue=``,this.draftIsNull=!1,this.error=``,this.invalidTarget=null}willUpdate(e){let t=e.get(`props`),n=this.props;t&&(!n||t.identity!==n.identity||!Object.is(t.sourceIdentity,n.sourceIdentity)&&!G(t.sourceIdentity,n.sourceIdentity))&&this.closeDraft()}openDraft(){this.props?.disabled||(this.draftOpen=!0,this.updateComplete.then(()=>{this.querySelector(`[data-collection-draft-value]`)?.focus()}))}clearError(){this.error=``,this.invalidTarget=null}closeDraft(){this.draftOpen=!1,this.draftKey=``,this.draftValue=``,this.draftIsNull=!1,this.clearError()}fail(e,t){this.invalidTarget=e,this.error=t,this.updateComplete.then(()=>{this.querySelector(e===`key`?`[data-collection-draft-key]`:`[data-collection-draft-value]`)?.focus()})}parseValue(e){if(this.draftIsNull)return{ok:!0,value:null};let t=l(e),n=e.anyOf??e.oneOf??[],r=n.some(v)&&n.some(e=>[`number`,`integer`].includes(l(e)??``));if(t===`string`)return{ok:!0,value:this.draftValue};if(t===`number`||t===`integer`){let e=F(this.draftValue,t===`integer`);return typeof e==`number`?{ok:!0,value:e}:{ok:!1,message:N(`configForm.invalidNumber`)}}try{let t=JSON.parse(this.draftValue);if(typeof t==`number`){let t=F(this.draftValue,!1);return typeof t==`number`?{ok:!0,value:t}:r&&U(e,this.draftValue)?{ok:!0,value:this.draftValue}:{ok:!1,message:N(`configForm.invalidNumber`)}}return{ok:!0,value:t}}catch{return r&&U(e,this.draftValue)?{ok:!0,value:this.draftValue}:{ok:!1,message:N(`configForm.invalidJson`)}}}commit(){let e=this.props;if(!e||e.disabled)return;let t=this.parseValue(e.schema);if(!t.ok){this.fail(`value`,t.message);return}if(!U(e.schema,t.value)){this.fail(`value`,[`number`,`integer`].includes(l(e.schema)??``)?N(`configForm.invalidNumber`):N(`configForm.invalidString`));return}if(e.existingValues?.some(e=>G(e,t.value))){this.fail(`value`,N(`configForm.invalidString`));return}if(e.validateValue&&!e.validateValue(t.value)){this.fail(`value`,N(`configForm.invalidString`));return}let n=this.draftKey.trim();if(e.existingKeys&&(!n||e.existingKeys.includes(n)||e.validateKey?.(n)===!1)){this.fail(`key`,N(`configForm.invalidString`));return}this.dispatchEvent(new CustomEvent(`config-collection-draft-commit`,{bubbles:!0,composed:!0,cancelable:!0,detail:{...e.existingKeys?{key:n}:{},value:t.value}}))?this.closeDraft():this.fail(`value`,N(`configForm.invalidString`))}updated(){let e=this.querySelector(`[data-collection-draft-key]`),t=this.querySelector(`[data-collection-draft-value]`);e?.setCustomValidity(this.invalidTarget===`key`?this.error:``),t?.setCustomValidity(this.invalidTarget===`value`?this.error:``)}render(){let e=this.props;if(!e||!this.draftOpen||e.disabled)return E;let t=l(e.schema),n=U(e.schema,null),r=t===`string`||t===`number`||t===`integer`,i=`${this.id}-error`,a=`${N(`configForm.add`)}: ${e.label}`,o=r?C`
<input
data-collection-draft-value
type=${t===`string`?`text`:`number`}
class="settings-input"
aria-label=${a}
aria-describedby=${i}
aria-invalid=${this.invalidTarget===`value`?`true`:`false`}
.value=${this.draftValue}
?disabled=${this.draftIsNull}
@input=${e=>{this.draftValue=e.currentTarget.value,this.clearError()}}
/>
`:C`
<textarea
data-collection-draft-value
class="settings-input"
aria-label=${a}
aria-describedby=${i}
aria-invalid=${this.invalidTarget===`value`?`true`:`false`}
placeholder=${N(`configForm.jsonValue`)}
rows="2"
.value=${this.draftValue}
?disabled=${this.draftIsNull}
@input=${e=>{this.draftValue=e.currentTarget.value,this.clearError()}}
></textarea>
`;return C`
<div class="settings-row settings-row--stacked cfg-collection-draft">
<div class="settings-row__control">
<div class="cfg-collection-draft__controls">
${e.existingKeys?C`
<input
data-collection-draft-key
type="text"
class="settings-input"
aria-label=${N(`configForm.key`)}
aria-describedby=${i}
aria-invalid=${this.invalidTarget===`key`?`true`:`false`}
placeholder=${N(`configForm.key`)}
.value=${this.draftKey}
@input=${e=>{this.draftKey=e.currentTarget.value,this.clearError()}}
/>
`:E}
${n?C`
<label class="field checkbox">
<input
data-collection-draft-null
type="checkbox"
.checked=${this.draftIsNull}
@change=${e=>{this.draftIsNull=e.currentTarget.checked,this.clearError()}}
/>
<span>${N(`configForm.nullValue`)}</span>
</label>
`:E}
${o}
<span id=${i} class="cfg-field__error" role="alert" ?hidden=${!this.error}
>${this.error}</span
>
<div class="cfg-collection-draft__actions">
<button type="button" class="btn btn--sm" @click=${()=>this.commit()}>
${e.existingKeys?N(`configForm.addEntry`):N(`configForm.add`)}
</button>
<button type="button" class="btn btn--sm" @click=${()=>this.closeDraft()}>
${N(`common.cancel`)}
</button>
</div>
</div>
</div>
</div>
`}},a([D({attribute:!1})],J.prototype,`props`,void 0),a([w()],J.prototype,`draftOpen`,void 0),a([w()],J.prototype,`draftKey`,void 0),a([w()],J.prototype,`draftValue`,void 0),a([w()],J.prototype,`draftIsNull`,void 0),a([w()],J.prototype,`error`,void 0),a([w()],J.prototype,`invalidTarget`,void 0),customElements.get(`openclaw-config-form-collection-draft`)||customElements.define(`openclaw-config-form-collection-draft`,J)})))()}function hn(e){return Object.keys(e??{}).filter(e=>!An.has(e)).length===0}function gn(e){if(e===void 0)return``;try{return JSON.stringify(e,null,2)??``}catch{return``}}function Y(e){return typeof e==`number`?P(e):s(e)}function _n(e,t){return{...e,default:t}}function vn(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?String(e):null}function yn(e,t){if(Object.is(e,t))return!0;let n=vn(e),r=vn(t);return n!==null&&n===r}function bn(e){if(!n(e))return!1;let t=e;return typeof t.source!=`string`||typeof t.id!=`string`?!1:t.provider===void 0||typeof t.provider==`string`}function xn(e){let t=ht(e.value,e.path,e.hints),n=e.value===g,r=t&&!n&&(e.revealSensitive||(e.isSensitivePathRevealed?.(e.path)??!1));return{isSensitive:t,isRedacted:t&&!r,isRevealed:r,canReveal:t&&!n,sentinelRedacted:n}}function Sn(e){let{state:t}=e;if(!t.isSensitive||!e.onToggleSensitivePath)return E;let n=t.canReveal?t.isRevealed?N(`configForm.hideValue`):N(`configForm.revealValue`):t.sentinelRedacted?N(`configForm.storedSecretNotRevealable`):N(`configForm.disableStreamToReveal`);return C`
<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?ee.eye:ee.eyeOff}
</button>
</openclaw-tooltip>
`}function Cn(e,t){return t===E?e:C`<span class="settings-secret">${e}${t}</span>`}function wn(e){let t=e.filter(e=>e!==`advanced`);return t.length===0?E:C`
<div class="cfg-tags">
${t.map(e=>C`<span class="cfg-tag">${e}</span>`)}
</div>
`}function X(e){let t=e.showLabel?e.help:void 0,n=e.showLabel?e.defaultDescription:void 0,r=e.showLabel||!!t||!!n||e.tags.length>0||!!e.error,i=e.stacked||!r?`settings-row settings-row--stacked`:`settings-row`;return C`
<div class=${i}>
${r?C`
<div class="settings-row__text">
${e.showLabel?C`<span class="settings-row__title">${e.label}</span>`:E}
${t?C`<span class="settings-row__desc" id=${e.helpId??E}
>${t}</span
>`:E}
${n?C`<span class="settings-row__desc">${n}</span>`:E}
${wn(e.tags)}
${e.error?C`<span class="cfg-field__error" role="alert">${e.error}</span>`:E}
</div>
`:E}
${e.control===E?E:C`<div class="settings-row__control">${e.control}</div>`}
</div>
`}function Tn(e){return e===E?E:C`
<div class="settings-row">
<div class="settings-row__text">
<span class="settings-row__desc">${e}</span>
</div>
</div>
`}function En(e,t){return xn({path:e.path,value:t,hints:e.hints,revealSensitive:e.revealSensitive??!1,isSensitivePathRevealed:e.isSensitivePathRevealed}).isRedacted?E:Z(e.schema,e.value)}function Z(e,t){return e.default===void 0?E:C`${N(t===void 0?`configForm.usingDefault`:`configForm.defaultValue`,{value:Y(e.default)})}`}function Dn(e){let t=e.options.findIndex(t=>yn(t,e.resolvedValue));return ue({value:t<0?``:String(t),options:e.options.map((t,n)=>({value:String(n),label:On(t,e.options)})),disabled:e.disabled,ariaLabel:e.ariaLabel,onChange:t=>{let n=e.options[Number(t)];n!==void 0&&e.onSelect(n)}})}function On(e,t){return t.includes(!0)&&t.includes(!1)?e===!0?N(`configForm.enumOn`):e===!1?N(`configForm.enumOff`):e===`auto`?N(`configForm.enumAuto`):Y(e):Y(e)}function kn(e){let{path:t,fallback:n,sensitiveState:r,disabled:i,onPatch:a}=e,o=V(t,`json-error`),s=[e.descriptionId,o].filter(Boolean).join(` `),c=(e,t)=>{let n=e.closest(`.cfg-json-editor`)?.querySelector(`.cfg-field__error`);e.setCustomValidity(t),e.setAttribute(`aria-invalid`,String(!!t)),n&&(n.hidden=!t,n.textContent=t)},l=t=>{let n=``,r=t.value.trim();if(!r&&e.isRequired)n=N(`configForm.invalidJson`);else if(r)try{U(e.schema,JSON.parse(r))||(n=N(`configForm.invalidJson`))}catch{n=N(`configForm.invalidJson`)}return c(t,n),!n},u=r.isRedacted?``:n,d=JSON.stringify(t),f=(e,n)=>a(t,n)!==!1||(e.value=u,l(e),!1),p=C`
<textarea
${x(t=>{if(!(t instanceof HTMLTextAreaElement))return;let n=jn.get(t);n&&(!Object.is(n.sourceValue,e.sourceValue)&&!G(n.sourceValue,e.sourceValue)||!Object.is(n.rowIdentity,e.rowIdentity)||n.fallback!==u||n.pathKey!==d)&&(t.value=u,c(t,``)),jn.set(t,{sourceValue:e.sourceValue,rowIdentity:e.rowIdentity,fallback:u,pathKey:d})})}
class="settings-input${r.isRedacted?` cfg-redacted`:``}"
aria-label=${e.ariaLabel}
aria-describedby=${s||E}
aria-invalid="false"
placeholder=${r.isRedacted?lt():N(`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 C`
<span class="cfg-json-editor">
${Cn(p,Sn({path:t,state:r,disabled:i,onToggleSensitivePath:e.onToggleSensitivePath}))}
<span id=${o} class="cfg-field__error" role="alert" hidden></span>
</span>
`}var An,jn;function Mn(){return(Mn=e((()=>{S(),T(),O(),j(),k(),_(),h(),q(),M(),H(),se(),An=new Set([`title`,`description`,`default`,`nullable`,`enumIncludesNull`,`tags`,`x-tags`]),jn=new WeakMap})))()}function Nn(e,t){let{schema:n,value:r,path:i,hints:a,rawAvailable:o,unsupported:s,disabled:c,reservedKeys:l,validateKey:u,onPatch:d,searchCriteria:f,revealSensitive:p,isSensitivePathRevealed:h,onToggleSensitivePath:g}=e,_=hn(n),v=_?{}:Yt(n),y=V(i,`map-draft`),b={schema:n,label:N(`configForm.customEntries`),disabled:c,identity:y,sourceIdentity:e.sourceIdentity??r,existingKeys:[...new Set([...Object.keys(r),...l])],validateKey:u},x=Object.entries(r??{}).filter(([e])=>!l.has(e)),S=f&&we(f)?x.filter(([e,t])=>Se({schema:n,value:t,path:[...i,e],hints:a,criteria:f})):x;return C`
<div class="cfg-block cfg-map">
<div class="settings-row">
<div class="settings-row__text">
<span class="settings-row__title">${N(`configForm.customEntries`)}</span>
</div>
<div class="settings-row__control">
<button
type="button"
class="btn btn--sm"
aria-controls=${y}
?disabled=${c}
@click=${e=>{if(v===K){pn(e,y);return}let t={...r},n=1,a=`custom-${n}`;for(;a in t;)n+=1,a=`custom-${n}`;t[a]=v,d(i,t)===!1&&pn(e,y)}}
>
${N(`configForm.addEntry`)}
</button>
</div>
</div>
<openclaw-config-form-collection-draft
id=${y}
.props=${b}
@config-collection-draft-commit=${e=>{let t=e.detail.key;(!t||Object.hasOwn(r,t)||l.has(t)||d(i,{...r,[t]:e.detail.value})===!1)&&e.preventDefault()}}
></openclaw-config-form-collection-draft>
${S.length===0?le(N(`configForm.noCustomEntries`)):C`
<div class="settings-subrows">
${S.map(([l,v])=>{let y=[...i,l],b=xn({path:y,value:v,hints:a,revealSensitive:p??!1,isSensitivePathRevealed:h});return C`
<div class="settings-row">
<div class="settings-row__text">
<input
type="text"
class="settings-input"
placeholder=${N(`configForm.key`)}
aria-label=${`${N(`configForm.key`)}: ${l}`}
.value=${l}
?disabled=${c}
@change=${e=>{let t=e.currentTarget;if(!(t instanceof HTMLInputElement))return;let n=t.value.trim();if(!n||n===l){t.value=l;return}let a=u(n)?m(r[l])?N(`configForm.renameRedactedBlocked`):``:N(`configForm.invalidString`);if(n in r||a){t.value=l,a&&(t.setCustomValidity(a),t.reportValidity(),t.setCustomValidity(``));return}let o={...r,[n]:r[l]};delete o[l],d(i,o)===!1&&(t.value=l)}}
/>
</div>
<div class="settings-row__control">
<openclaw-tooltip .content=${N(`configForm.removeEntry`)}>
<button
type="button"
class="btn btn--icon"
style="width:28px;height:28px;padding:0;"
aria-label=${N(`configForm.removeEntry`)}
?disabled=${c}
@click=${()=>{let e={...r};delete e[l],d(i,e)}}
>
${ee.trash}
</button>
</openclaw-tooltip>
</div>
</div>
${_?X({label:l,tags:[],showLabel:!1,stacked:!0,control:kn({schema:n,path:y,ariaLabel:`${l}: ${N(`configForm.jsonValue`)}`,sourceValue:v,rowIdentity:e.rowIdentity,fallback:gn(v),rows:2,sensitiveState:b,disabled:c,isRequired:!0,onToggleSensitivePath:g,onPatch:d})}):t({schema:n,value:v,path:y,hints:a,rawAvailable:o,unsupported:s,disabled:c,isRequired:!0,sourceIdentity:v,controlIdentity:r,rowIdentity:e.rowIdentity,searchCriteria:f,showLabel:!1,revealSensitive:p,isSensitivePathRevealed:h,onToggleSensitivePath:g,onPatch:d})}
`})}
</div>
`}
</div>
`}function Pn(){return(Pn=e((()=>{S(),O(),j(),_(),mn(),q(),Mn(),ye(),H(),se()})))()}function Fn(e,t){let{schema:n,value:r,path:i,hints:a,unsupported:s,disabled:c,onPatch:l,searchCriteria:u,rawAvailable:d,revealSensitive:m,isSensitivePathRevealed:h,onToggleSensitivePath:g,onRemove:_}=e,{label:v,help:y,tags:b}=B(i,n,a),x=u&&we(u)&&Te({schema:n,path:i,hints:a,criteria:u})?void 0:u,S=r===void 0&&n.default!==void 0,w=S?n.default:r,T=w===void 0?Rn:w,D=w&&typeof w==`object`&&!Array.isArray(w)?w:{},O=En(e,w),k=Nt(n).map(e=>[e,Rt(n,e)]).filter(e=>!!e[1]),A=Mt(n),j=k.toSorted((e,t)=>{let n=p([...i,e[0]],a)?.order??0,r=p([...i,t[0]],a)?.order??0;return n===r?e[0].localeCompare(t[0]):n-r}),M=new Set(k.map(([e])=>e)),N=Pt(n),P=!!N&&typeof N==`object`,F=(e,t)=>{if(e.length<i.length||!i.every((t,n)=>t===e[n]))return!1;let r,a=e.slice(i.length);if(a.length===0){if(!t||typeof t!=`object`||Array.isArray(t))return!1;r=t}else{try{r=structuredClone(D)}catch{return!1}t===void 0?f(r,a):o(r,a,t)}return Lt(n,D,r)?S?l(i,r)!==!1:(t===void 0&&_?_(e):l(e,t))!==!1:!1},I=C`
${j.map(([n,r])=>t({schema:S&&Object.hasOwn(D,n)?_n(r,D[n]):r,value:S?void 0:D[n],path:[...i,n],hints:a,rawAvailable:d,unsupported:s,disabled:c,isRequired:A.has(n),sourceIdentity:S?void 0:D[n],controlIdentity:e.controlIdentity??D,rowIdentity:e.rowIdentity,searchCriteria:x,revealSensitive:m,isSensitivePathRevealed:h,onToggleSensitivePath:g,onPatch:F}))}
${P?Nn({...e,schema:N,value:D,sourceIdentity:T,reservedKeys:M,validateKey:e=>It(n,e),searchCriteria:x,onPatch:F},t):E}
`;return i.length===1||e.showLabel===!1?C`${i.length===1?Tn(O):E}${I}`:C`
<details class="cfg-object cfg-block" ?open=${i.length<=2}>
<summary class="settings-row cfg-object__summary">
<div class="settings-row__text">
<span class="settings-row__title">${v}</span>
${y?C`<span class="settings-row__desc">${y}</span>`:E}
${n.default===void 0?E:C`<span class="settings-row__desc">${O}</span>`}
${wn(b)}
</div>
<div class="settings-row__control">
<span class="settings-row__chevron cfg-object__chevron">${ee.chevronDown}</span>
</div>
</summary>
<div class="settings-subrows">${I}</div>
</details>
`}function In(e,t){let{schema:n,value:r,path:i,hints:a,unsupported:o,disabled:s,onPatch:c,searchCriteria:l,rawAvailable:u,revealSensitive:d,isSensitivePathRevealed:f,onToggleSensitivePath:p}=e,m=e.showLabel??!0,h=e.showHeaderMeta??m,{label:g,help:_,tags:v}=B(i,n,a),y=l&&we(l)&&Te({schema:n,path:i,hints:a,criteria:l})?void 0:l,b=Array.isArray(n.items)?n.items:void 0,x=Array.isArray(n.items)?n.items[0]??{}:n.items;if(!x)return X({label:g,tags:[],showLabel:!0,control:E,error:N(`configForm.unsupportedArray`)});let S=r===void 0&&Array.isArray(n.default),w=Array.isArray(r)?r:Array.isArray(n.default)?n.default:[],T=Array.isArray(r)?r:Array.isArray(n.default)?n.default:Ln,D=En(e,w),O=sn(w),{minItems:k,maxItems:A,uniqueItems:j}=jt(n),M=e=>De(n,e)??(b?{}:x),{atomicCandidate:P,autoCandidate:F}=rn({schema:n,value:w,minimumItems:k,maximumItems:A,uniqueItems:j,isUnset:r===void 0,isRequired:e.isRequired??!1,itemSchemaAt:M}),I=A===void 0||w.length<A,L=P===void 0&&F===void 0,te=M(w.length),R=V(i,`array-draft`),ne={schema:te,label:g,disabled:s||!I,identity:R,sourceIdentity:T,existingValues:j?w:void 0,validateValue:e=>{let t=[...w,e];return(A===void 0||t.length<=A)&&(t.length<k||U(n,t))}},re=(e,t)=>{if(e.length<=i.length||!i.every((t,n)=>t===e[n]))return!1;let r=e.slice(i.length),a=r[0];if(typeof a!=`number`||a<0||a>=w.length)return!1;let o=[...w],s=r.slice(1);if(s.length===0){if(t===void 0)return!1;o[a]=t}else{let e=Fe(w[a],s,t);if(!e.ok)return!1;o[a]=e.value}if(Ht(n,w,o,j,!0)){cn(o,O);let e=c(i,o)!==!1;return e||ln(o),e}return!1};return C`
<div class="cfg-block cfg-array">
<div class="settings-row">
<div class="settings-row__text">
${m?C`<span class="settings-row__title">${g}</span>`:E}
${h&&_?C`<span class="settings-row__desc">${_}</span>`:E}
${h&&n.default!==void 0?C`<span class="settings-row__desc">${D}</span>`:E}
${wn(v)}
</div>
<div class="settings-row__control">
<span class="settings-row__value"
>${N(w.length===1?`configForm.itemCountOne`:`configForm.itemCount`,{count:String(w.length)})}</span
>
<button
type="button"
class="btn btn--sm"
aria-controls=${R}
?disabled=${s||!I&&P===void 0}
@click=${e=>{P?c(i,P)===!1&&pn(e,R):L?pn(e,R):F&&(un(F,O,F.length-w.length),c(i,F)===!1&&(ln(F),pn(e,R)))}}
>
${N(`configForm.add`)}
</button>
</div>
</div>
<openclaw-config-form-collection-draft
id=${R}
.props=${ne}
@config-collection-draft-commit=${e=>{let t=[...w,e.detail.value],r=!(j&&w.some(t=>G(t,e.detail.value)))&&(A===void 0||w.length<A)&&U(te,e.detail.value)&&(t.length<k||U(n,t)),a=!1;r&&(un(t,O,1),a=c(i,t)!==!1,a||ln(t)),a||e.preventDefault()}}
></openclaw-config-form-collection-draft>
${w.length===0?le(N(`configForm.noItems`)):C`
<div class="settings-subrows">
${w.map((e,r)=>{let l=M(r);return C`
<div class="settings-row">
<div class="settings-row__text">
<span class="settings-row__title">#${r+1}</span>
</div>
<div class="settings-row__control">
<openclaw-tooltip .content=${N(`configForm.removeItem`)}>
<button
type="button"
class="btn btn--icon"
style="width:28px;height:28px;padding:0;"
aria-label=${N(`configForm.removeItem`)}
?disabled=${s||w.length<=k||!Ht(n,w,w.toSpliced(r,1),j,!1)}
@click=${()=>{let e=w.toSpliced(r,1);Ht(n,w,e,j,!1)&&(cn(e,O.toSpliced(r,1)),c(i,e)===!1&&ln(e))}}
>
${ee.trash}
</button>
</openclaw-tooltip>
</div>
</div>
${t({schema:S?_n(l,e):l,value:S?void 0:e,path:[...i,r],hints:a,rawAvailable:u,unsupported:o,disabled:s,isRequired:!0,sourceIdentity:S?void 0:e,controlIdentity:w,rowIdentity:O[r],searchCriteria:y,showLabel:!1,revealSensitive:d,isSensitivePathRevealed:f,onToggleSensitivePath:p,onPatch:re})}
`})}
</div>
`}
</div>
`}var Ln,Rn;function zn(){return(zn=e((()=>{S(),O(),j(),_(),an(),fn(),mn(),Le(),be(),q(),Pn(),Mn(),ye(),H(),se(),Ln=Symbol(`unset-array-source`),Rn=Symbol(`unset-map-source`)})))()}function Bn(e){let{schema:t,value:n,path:r,hints:i,disabled:a,onPatch:o}=e,s=e.showLabel??!0,{label:c,help:l,tags:u}=B(r,t,i),d=s&&l?V(r,`description`):void 0,f=gn(n===void 0?t.default:n),p=xn({path:r,value:n,hints:i,revealSensitive:e.revealSensitive??!1,isSensitivePathRevealed:e.isSensitivePathRevealed}),m=kn({schema:t,path:r,ariaLabel:c,descriptionId:d,sourceValue:e.sourceIdentity??n,rowIdentity:e.rowIdentity,fallback:f,rows:3,sensitiveState:p,disabled:a,isRequired:e.isRequired,onToggleSensitivePath:e.onToggleSensitivePath,onPatch:o});return X({label:c,help:l,helpId:d,defaultDescription:p.isRedacted?E:Z(t,n),tags:u,showLabel:s,stacked:!0,control:m})}function Vn(){return(Vn=e((()=>{S(),Mn(),ye(),H()})))()}function Hn(e,t){let n=e.trim();if(n.startsWith(`+`))try{let e=je(n,{extract:!1});if(!e?.isPossible())return;let r=e.formatInternational();return!e.country||Un.has(e.countryCallingCode)?r:`${new Intl.DisplayNames(t?[t]:void 0,{type:`region`}).of(e.country)||e.country} · ${r}`}catch{return}}var Un;function Wn(){return(Wn=e((()=>{ke(),Ae(),Oe(),Un=(()=>{let e=new Map;for(let t of Me()){let n=Ne(t);e.set(n,(e.get(n)??0)+1)}return new Set([...e.entries()].filter(([,e])=>e>1).map(([e])=>e))})()})))()}function Gn(e){if(typeof e==`string`)return`string`;if(typeof e==`number`)return`number`;if(typeof e==`boolean`)return`boolean`}function Kn(e,t,n,r){if(!(e instanceof HTMLInputElement))return;let i=Zn.get(e),a=i?.edit!==void 0&&e.ownerDocument.activeElement===e&&Object.is(i.rowIdentity,t)&&i.pathKey===n&&i.presentationIdentity===r;Zn.set(e,{edit:a?i.edit:void 0,pathKey:n,presentationIdentity:r,rowIdentity:t})}function qn(e,t){let n=Zn.get(e);return n?(n.edit??={branch:t},n.edit):{branch:t}}function Jn(e,t){return Zn.get(e)?.edit??{branch:t}}function Yn(e){let t=Zn.get(e);t&&(t.edit=void 0)}function Xn(e){e.currentTarget instanceof HTMLInputElement&&Yn(e.currentTarget)}var Zn;function Qn(){return(Qn=e((()=>{Zn=new WeakMap})))()}function Q(e,t){return e.setCustomValidity(t),e.setAttribute(`aria-invalid`,String(!!t)),!t}function $n(e,t,n,r,i,a,o,s){if(!(e instanceof HTMLInputElement))return;let c=dr.get(e);c&&(!Object.is(c.sourceIdentity,n)||!Object.is(c.rowIdentity,r)||c.pathKey!==i||c.presentationIdentity!==a||c.renderedValue!==o?e.matches(`:focus`)&&e.value!==c.renderedValue?s(e):(e.value=o,Q(e,``)):Object.is(c.controlIdentity,t)||s(e)),dr.set(e,{controlIdentity:t,sourceIdentity:n,rowIdentity:r,pathKey:i,presentationIdentity:a,renderedValue:o})}function er(e,t,n,r){let i=e.trim(),a=t.anyOf??t.oneOf??[],o=U(t,e),s=r?r.branch:Gn(n),c=i===`true`||i!==`false`&&void 0;if(c!==void 0&&U(t,c)){let e=!1,t=!1;for(let n of a)!(l(n)===`boolean`||typeof n.const==`boolean`||n.enum?.some(e=>typeof e==`boolean`))||!U(n,c)||(e=!0,t||=Object.is(n.const,c)||!!n.enum?.some(e=>Object.is(e,c)));if(e&&(s!==`string`||t||!o))return c}let u;for(let n of a){let r=l(n);if(r!==`number`&&r!==`integer`)continue;let i=F(e,r===`integer`);if(typeof i==`number`&&U(t,i)){u=i;break}}if(s===`number`){if(u!==void 0)return u;if(I(e))return o&&te(i)?e:void 0}return s===`string`&&o||u===void 0?e:u}function tr(e,t,n,r){return U(t,er(e,t,n,r))?``:N(`configForm.invalidString`)}function nr(e,t,n,r,i){return e===``&&!n&&!!tr(e,t,r,i)}function rr(e,t){return U(t,e)?``:N(`configForm.invalidNumber`)}function ir(e,t){let n=e.value;if(n.trim()===``)return e.validity.badInput?{kind:`badInput`}:{kind:`empty`};let r=F(n,l(t)===`integer`);return typeof r==`number`?{kind:`value`,parsed:r,message:rr(r,t)}:{kind:`invalid`}}function ar(e,t){return e.kind===`value`?e.message:e.kind===`invalid`||e.kind===`badInput`||t?N(`configForm.invalidNumber`):``}function or(e,t,n,r){Q(e,ar(t,n.isRequired===!0))&&(t.kind===`empty`?r(void 0):t.kind===`value`&&r(t.parsed))}function sr(e,t,n){return ar(ir(e,t),n)}function cr(e){let{schema:t,value:n,path:r,hints:i,disabled:a,onPatch:o,inputType:s}=e,c=e.showLabel??!0,l=p(r,i),{label:u,help:d,tags:f}=B(r,t,i),m=c&&d?V(r,`description`):void 0,h=xn({path:r,value:n,hints:i,revealSensitive:e.revealSensitive??!1,isSensitivePathRevealed:e.isSensitivePathRevealed}),g=typeof n==`object`&&!!n&&!Array.isArray(n),_=bn(n),v=e.rawAvailable??!0,y=h.isRedacted||_,b=y?_?N(v?`configForm.structuredSecretRaw`:`configForm.structuredSecretFile`):lt():l?.placeholder??(t.default===void 0?``:N(`configForm.defaultValue`,{value:Y(t.default)})),S=y?``:g?gn(n):n??``,w=n===void 0?t.default:n,T=Gn(w),D=h.isSensitive&&!y?`text`:s,O=l?.presentation===`phone-number`,k=O&&!y&&typeof n==`string`?Hn(n,A.getLocale()):void 0,ee=e.controlIdentity??e.sourceIdentity??n,j=e.sourceIdentity??n,M=V(r,`scalar-identity`),P=Y(S),F=[y?`redacted`:`visible`,D,O?`phone`:`plain`,_?v?`secret-raw`:`secret-file`:`scalar`].join(`:`),I=n=>{if(y){Q(n,``);return}if(s===`number`){Q(n,sr(n,t,e.isRequired===!0));return}let r=n.value,i=Jn(n,T);Q(n,nr(r,t,e.isRequired===!0,w,i)?``:tr(r,t,w,i))},L=(e,t)=>o(r,t)!==!1||(e.value=P,I(e),!1),te=Cn(C`
<input
${x(t=>{Kn(t,e.rowIdentity,M,F),$n(t,ee,j,e.rowIdentity,M,F,P,I)})}
type=${D}
class="settings-input${y?` cfg-redacted`:``}"
aria-label=${u}
aria-describedby=${m??E}
aria-invalid="false"
placeholder=${b}
.value=${P}
?disabled=${a}
?readonly=${y}
@click=${()=>{h.isRedacted&&!_&&e.onToggleSensitivePath&&e.onToggleSensitivePath(r)}}
@input=${n=>{if(y)return;let r=n.target,i=r.value;if(s===`number`){or(r,ir(r,t),e,e=>L(r,e));return}let a=qn(r,T);nr(i,t,e.isRequired===!0,w,a)?(Q(r,``),L(r,void 0)):Q(r,tr(i,t,w,a))&&L(r,er(i,t,w,a))}}
@change=${n=>{if(s===`number`||y)return;let r=n.target,i=qn(r,T),a=r.value,o=tr(a,t,w,i);if(!o&&!O){Q(r,``),L(r,er(a,t,w,i)),Yn(r);return}let c=a.trim();if(nr(c,t,e.isRequired===!0,w,i)){r.value=c,Q(r,``),L(r,void 0),Yn(r);return}if(tr(c,t,w,i)){Q(r,o),Yn(r);return}r.value=c,Q(r,``),L(r,er(c,t,w,i)),Yn(r)}}
@blur=${Xn}
/>
`,_?E:Sn({path:r,state:h,disabled:a,onToggleSensitivePath:e.onToggleSensitivePath})),R=O?C`
<span class="settings-phone-presentation">
${te}
${k?C`<span class="settings-phone-presentation__value">${k}</span>`:E}
</span>
`:te;return X({label:u,help:d,helpId:m,defaultDescription:y?E:Z(t,n),tags:f,showLabel:c,control:R})}function lr(e){let{schema:t,value:n,path:r,hints:i,disabled:a,onPatch:o}=e,s=e.showLabel??!0,{label:c,help:l,tags:u}=B(r,t,i),d=s&&l?V(r,`description`):void 0,f=n??``,p=n===void 0?t.default:n,m=Ut(t),h=typeof m.step==`number`?m.step:1,g=e.controlIdentity??e.sourceIdentity??n,_=e.sourceIdentity??n,v=V(r,`scalar-identity`),y=Y(f),b=n=>{Q(n,sr(n,t,e.isRequired===!0))},S=(e,t)=>o(r,t)!==!1||(e.value=y,b(e),!1),w=e=>{if(a)return;let n=Number(p),i=Kt((Number.isFinite(n)?n:Kt(0,t))+e*h,t);U(t,i)&&o(r,i)},T=C`
<button
type="button"
class="btn btn--sm btn--icon"
aria-label=${`${c}: -${h}`}
?disabled=${a}
@click=${()=>w(-1)}
>
−
</button>
<input
${x(t=>$n(t,g,_,e.rowIdentity,v,`number`,y,b))}
type="number"
class="settings-input"
aria-label=${c}
aria-describedby=${d??E}
aria-invalid="false"
placeholder=${t.default===void 0?E:N(`configForm.defaultValue`,{value:Y(t.default)})}
min=${m.min??E}
max=${m.max??E}
step=${m.step}
.value=${y}
?disabled=${a}
@keydown=${e=>{n===void 0&&p!==void 0&&(e.key===`ArrowUp`||e.key===`ArrowDown`)&&(e.preventDefault(),w(e.key===`ArrowUp`?1:-1))}}
@input=${n=>{let r=n.target;or(r,ir(r,t),e,e=>S(r,e))}}
@change=${n=>{let r=n.target,i=ir(r,t);if(i.kind!==`value`){Q(r,ar(i,e.isRequired===!0));return}let a=Kt(i.parsed,t);r.value=Y(a),Q(r,rr(a,t))&&S(r,a)}}
/>
<button
type="button"
class="btn btn--sm btn--icon"
aria-label=${`${c}: +${h}`}
?disabled=${a}
@click=${()=>w(1)}
>
+
</button>
`;return X({label:c,help:l,helpId:d,defaultDescription:Z(t,n),tags:u,showLabel:s,control:T})}function ur(e){let{schema:t,value:n,path:r,hints:i,disabled:a,options:o,onPatch:s}=e,c=e.showLabel??!0,{label:l,help:u,tags:d}=B(r,t,i),f=c&&u?V(r,`description`):void 0,m=n===void 0&&t.default!==void 0,h=m?t.default:n,g=o.findIndex(e=>e===h||String(e)===String(h)),_=`__unset__`,v=`__null__`,y=t.nullable&&t.enumIncludesNull,b=m?_:h===null&&y?v:g>=0?String(g):_,x=C`
<select
class="settings-select"
aria-label=${l}
aria-describedby=${f??E}
?disabled=${a}
.value=${b}
@change=${n=>{let i=n.target,a=i.value;if(a===_&&e.isRequired&&t.default===void 0){i.value=b;return}if(a===_){(e.isRequired&&t.default!==void 0?s(r,structuredClone(t.default)):e.onRemove?e.onRemove(r):s(r,void 0))===!1&&(i.value=b);return}let c=a===v?null:o[Number(a)];s(r,c)===!1&&(i.value=b)}}
>
<option
value=${_}
?selected=${b===_}
?disabled=${e.isRequired&&t.default===void 0}
>
${t.default===void 0?p(r,i)?.placeholder??N(`configForm.select`):N(`configForm.defaultValue`,{value:Y(t.default)})}
</option>
${y?C`
<option value=${v} ?selected=${b===v}>
${N(`configForm.nullValue`)}
</option>
`:E}
${o.map((e,t)=>C`
<option value=${String(t)} ?selected=${b===String(t)}>
${On(e,o)}
</option>
`)}
</select>
`;return X({label:l,help:u,helpId:f,defaultDescription:Z(t,n),tags:d,showLabel:c,control:x})}var dr;function fr(){return(fr=e((()=>{Wn(),S(),T(),j(),q(),Mn(),M(),Qn(),ye(),H(),dr=new WeakMap})))()}function pr(e){let{schema:t,value:n,path:r,hints:i,unsupported:a,disabled:o,onPatch:s}=e,c=e.showLabel??!0,u=l(t),{label:d,help:f,tags:m}=B(r,t,i),h=y(r),g=e.searchCriteria;if(a.has(h)||[...a].some(e=>{if(!e.includes(`*`))return!1;let t=e.split(`.`);return t.length===r.length&&t.every((e,t)=>e===`*`||e===String(r[t]))}))return X({label:d,tags:[],showLabel:!0,control:E,error:N(`configForm.unsupportedNode`)});if(g&&we(g)&&!Se({schema:t,value:n,path:r,hints:i,criteria:g}))return E;let _=Qt(e);if($t(e,_)){let t={identity:V(r,`structured-draft`),sourceIdentity:e.sourceIdentity??n,initialValue:_,params:e,renderNode:pr};return C`
<openclaw-config-form-structured-draft
class="cfg-structured-draft"
.props=${t}
></openclaw-config-form-structured-draft>
`}if(t.anyOf||t.oneOf){let i=(t.anyOf??t.oneOf??[]).filter(e=>!(e.type===`null`||Array.isArray(e.type)&&e.type.includes(`null`)));if(i.length===1){let t=i[0];return t?pr({...e,schema:t}):E}let a=i.map(e=>{if(e.const!==void 0)return e.const;if(e.enum&&e.enum.length===1)return e.enum[0]}),u=a.every(e=>e!==void 0);if(u&&a.length>0&&a.length<=5){let e=n===void 0?t.default:n;return X({label:d,help:f,defaultDescription:Z(t,n),tags:m,showLabel:c,control:Dn({options:a,resolvedValue:e,disabled:o,ariaLabel:d,onSelect:e=>s(r,e)})})}if(u&&a.length>5)return ur({...e,options:a});let p=new Set(i.map(e=>l(e)).filter(Boolean)),h=new Set([...p].map(e=>e===`integer`?`number`:e));if([...h].every(e=>[`string`,`number`,`boolean`].includes(e))){let n=h.has(`string`),r=h.has(`number`);if(h.has(`boolean`)&&h.size===1)return pr({...e,schema:{...t,type:`boolean`,anyOf:void 0,oneOf:void 0}});if(n||r)return cr({...e,inputType:r&&!n?`number`:`text`})}return Bn(e)}if(t.enum){let i=t.enum;if(i.length<=5){let e=n===void 0?t.default:n;return X({label:d,help:f,defaultDescription:Z(t,n),tags:m,showLabel:c,control:Dn({options:i,resolvedValue:e,disabled:o,ariaLabel:d,onSelect:e=>s(r,e)})})}return ur({...e,options:i})}if(u===`object`)return Fn(e,pr);if(u===`array`)return In(e,pr);if(u===`boolean`){if(!e.isRequired&&p(r,i)?.placeholder)return ur({...e,options:[!0,!1]});let a=typeof n==`boolean`?n:typeof t.default==`boolean`&&t.default,l=e=>s(r,e);if(!c)return X({label:d,help:f,tags:m,showLabel:c,control:ae({checked:a,disabled:o,ariaLabel:d,onChange:l})});let u=f||m.length>0||t.default!==void 0?C`
${f??E} ${f&&t.default!==void 0?C`<br />`:E}
${Z(t,n)}${wn(m)}
`:void 0;return de({title:d,description:u,checked:a,disabled:o,onChange:l})}return u===`number`||u===`integer`?lr(e):u===`string`?cr({...e,inputType:`text`}):hn(t)?Bn(e):X({label:d,tags:[],showLabel:!0,control:E,error:N(`configForm.unsupportedType`,{type:String(u)})})}function mr(){return(mr=e((()=>{S(),j(),tn(),zn(),Vn(),fr(),Mn(),ye(),H(),se()})))()}function hr(e){let t=xe({schema:e.schema,path:e.path.map(String),hints:e.hints});return C`
<div class="config-tier-groups">
${t.common||e.commonPrelude?C`<div class="settings-group">
${e.commonPrelude??E}${t.common?e.renderTier(t.common):E}
</div>`:E}
${t.advanced&&t.advancedLeafCount>0?C`<details
class="config-advanced-disclosure"
?open=${e.revealAdvanced}
@toggle=${t=>{let n=t.currentTarget;n instanceof HTMLDetailsElement&&n.open!==e.revealAdvanced&&(n.open?e.onShowAdvanced():e.onHideAdvanced?e.onHideAdvanced():n.open=!0)}}
>
<summary class="settings-section__heading config-advanced-disclosure__summary">
${N(`configForm.advancedSettings`)}
</summary>
${e.revealAdvanced?C`<div class="settings-group">${e.renderTier(t.advanced)}</div>`:E}
</details>`:E}
</div>
`}function gr(e){let t=ve[e.key];return me({key:e.key,schema:e.schema,value:e.sectionValue,hints:e.uiHints,query:e.query,label:t?.label,description:t?.description})}function _r(e){if(!e.schema)return C` <div class="muted">${N(`configForm.schemaUnavailable`)}</div> `;let t=e.schema,n=e.value??{};if(l(t)!==`object`||!t.properties)return C` <div class="callout danger">${N(`configForm.unsupportedSchema`)}</div> `;let r=new Set(e.unsupportedPaths??[]),i=t.properties,a=e.searchQuery??``,o=he(a),s=e.activeSection,c=e.activeSubsection??null,d=Object.entries(i).toSorted((t,n)=>{let r=p([t[0]],e.uiHints)?.order??50,i=p([n[0]],e.uiHints)?.order??50;return r===i?t[0].localeCompare(n[0]):r-i}).filter(([t,r])=>!(s&&t!==s||a&&!gr({key:t,schema:r,sectionValue:n[t],uiHints:e.uiHints,query:a}))),f=null;if(s&&c&&d.length===1){let e=d[0]?.[1];e&&l(e)===`object`&&e.properties&&e.properties[c]&&(f={sectionKey:s,subsectionKey:c,schema:e.properties[c]})}if(d.length===0)return e.embedded&&!a?E:oe(le(a?N(`configForm.noSettingsMatch`,{query:a}):N(`configForm.noSettingsInSection`)));let m=t=>{let n=p(t.path.slice(0,1),e.uiHints),i=e.showSectionDocs===!1?void 0:n?.docsUrl,s=`settings-section-help-${t.id}`,c=e.showAdvanced===!0||e.forceAdvancedSection===t.path[0]||!!a;return C`
<section class="settings-section" id=${t.id}>
<div class="settings-section__header">
<h2 class="settings-section__heading">${t.label}</h2>
${e.sectionActions||i?C`<div class="settings-section__actions">
${e.sectionActions??E}
${i?C`
<span class="settings-section__docs">
${ce({id:s,label:N(`configForm.sectionHelp`,{section:t.label}),tooltip:N(`configForm.sectionHelp`,{section:t.label}),icon:`question`,popoverId:`settings-section-help-popover-${t.id}`})}
<wa-popover
id=${`settings-section-help-popover-${t.id}`}
class="settings-section__help-popover"
for=${s}
placement="bottom-end"
>
<div class="settings-section__help-panel">
${t.description?C`<p>${t.description}</p>`:E}
${fe(i)}
</div>
</wa-popover>
</span>
`:E}
</div>`:E}
</div>
${t.description?C`<p class="settings-section__desc">${t.description}</p>`:E}
${hr({schema:t.node,path:t.path,hints:e.uiHints,revealAdvanced:c,onShowAdvanced:e.onShowAdvanced,onHideAdvanced:e.showAdvanced===!0&&e.forceAdvancedSection!==t.path[0]&&!a?e.onHideAdvanced:void 0,renderTier:n=>pr({schema:n,value:t.nodeValue,path:t.path,hints:e.uiHints,rawAvailable:e.rawAvailable??!0,unsupported:r,disabled:e.disabled??!1,showLabel:!1,showHeaderMeta:!0,searchCriteria:o,revealSensitive:e.revealSensitive??!1,isSensitivePathRevealed:e.isSensitivePathRevealed,onToggleSensitivePath:e.onToggleSensitivePath,onPatch:e.onPatch,onRemove:e.onRemove}),commonPrelude:e.sectionPrelude})}
</section>
`};return oe(f?(()=>{let{sectionKey:t,subsectionKey:r,schema:i}=f,a=p([t,r],e.uiHints),o=a?.label??i.title??u(r),s=a?.help??i.description??``,c=n[t],l=c&&typeof c==`object`?c[r]:void 0;return m({id:`config-section-${t}-${r}`,label:o,description:s,node:i,nodeValue:l,path:[t,r]})})():d.map(([e,t])=>{let r=ve[e]??{label:e.charAt(0).toUpperCase()+e.slice(1),description:t.description??``};return m({id:`config-section-${e}`,label:r.label,description:r.description,node:t,nodeValue:n[e],path:[e]})}))}function vr(){return(vr=e((()=>{S(),j(),pe(),_e(),mr(),ye(),H(),Ee(),se()})))()}function yr(e){return Object.keys(e??{}).filter(e=>!Lr.has(e)).length===0}function br(e){let t=e.filter(e=>e!=null),n=t.length!==e.length;return{enumValues:xr(t),nullable:n}}function xr(e){let t=[];for(let n of e)t.some(e=>Object.is(e,n))||t.push(n);return t}function Sr(e,t=new Set){if(t.has(e))return new Set;t.add(e);let n=new Set,r=Array.isArray(e.type)?e.type:e.type?[e.type]:[];for(let e of r)e!==`null`&&n.add(e);n.size===0&&(e.properties||e.additionalProperties)&&n.add(`object`);for(let r of e.allOf??[])for(let e of Sr(r,t))n.add(e);return t.delete(e),n}function Cr(e){if(e.size===1)return e.values().next().value;if(e.size>1&&[...e].every(e=>e===`number`||e===`integer`))return e.has(`integer`)?`integer`:`number`}function wr(e){return e.size>1&&Cr(e)===void 0}function Tr(e){return Cr(Sr(e))}function Er(e){return!!(Tr(e)||e.items||e.enum||e.anyOf||e.oneOf||e.allOf)}function Dr(e){return kr(e,Rr)}function Or(e){return kr(e,zr)}function kr(e,t){return Object.keys(e).every(n=>t.has(n)||n===`propertyNames`&&typeof e.propertyNames==`object`&&e.propertyNames!==null&&!Array.isArray(e.propertyNames)&&v(e.propertyNames)&&$({type:`string`,...e.propertyNames},[]).unsupportedPaths.length===0)}function Ar(e,t=new Set){if(t.has(e))return!1;t.add(e);let n=Array.isArray(e.type)?e.type:e.type?[e.type]:[],r=e.nullable===!0||n.length===0||n.includes(`null`);return e.const!==void 0&&(r&&=e.const===null),e.enum&&(r&&=e.enum.some(e=>e===null)),e.allOf&&(r&&=e.allOf.every(e=>Ar(e,t))),e.anyOf&&(r&&=e.anyOf.some(e=>Ar(e,t))),e.oneOf&&(r&&=e.oneOf.filter(e=>Ar(e,t)).length===1),t.delete(e),r}function jr(e){let t=[],n=[e],r=new Set;for(;n.length>0;){let e=n.pop();!e||r.has(e)||(r.add(e),t.push(e),n.push(...e.allOf??[]))}if(t.length<=1)return!1;let i=new Set(t.flatMap(e=>Object.keys(e.properties??{})));return t.some(e=>{let t=e.additionalProperties;return!!t&&typeof t==`object`&&Object.keys(t).length>0&&[...i].some(t=>!Object.hasOwn(e.properties??{},t))})}function Mr(e){return!e||typeof e!=`object`?{schema:null,unsupportedPaths:[`<root>`]}:$(e,[])}function $(e,t,n=!1,r,i){let a=new Set,o={...e},s=y(t)||`<root>`;if(Or(e)||a.add(s),e.anyOf||e.oneOf){let n=Ir(e,t);return n?{schema:n.schema,unsupportedPaths:Array.from(new Set([...a,...n.unsupportedPaths]))}:{schema:e,unsupportedPaths:[s]}}let c=Array.isArray(e.type)?e.type.filter(e=>e!==`null`):[],l=Sr(e),u=n&&!!r&&e.type===void 0&&l.size===0;u&&r&&l.add(r),n&&r&&l.size>0&&wr(new Set([...l,r]))&&a.add(s),(new Set(c).size>1||wr(l))&&a.add(s);let d=Cr(l),f=Ar(e)&&(i===void 0||i);if(e.allOf){let n=[];for(let r of e.allOf){if(!r||typeof r!=`object`){a.add(s);continue}if(!Er(r)){n.push(r),Dr(r)||a.add(s);continue}let e=$(r,t,!0,d,f);n.push(e.schema??r);for(let t of e.unsupportedPaths)a.add(t)}o.allOf=n}o.type=d??e.type,o.nullable=f;let p=e.properties!==void 0||e.additionalProperties!==void 0,m=e.items!==void 0||e.additionalItems!==void 0;if(o.enum){let{enumValues:e,nullable:t}=br(o.enum);o.enum=e,o.enumIncludesNull=t&&f,e.length===0&&a.add(s)}if(e.allOf&&f&&!o.enumIncludesNull&&a.add(s),d===`object`&&(!u||p)){let r=e.properties??{},i=new Set(Nt(e)),c=Pt(e);[...Mt(e)].some(e=>!i.has(e))&&!c&&a.add(s),jr(e)&&a.add(s);let l={};for(let[e,i]of Object.entries(r)){if(n&&!Er(i)){l[e]=i,Dr(i)||a.add(y([...t,e])||`<root>`);continue}let r=$(i,[...t,e],n);r.schema&&(l[e]=r.schema);for(let e of r.unsupportedPaths)a.add(e)}if(o.properties=l,e.allOf)for(let n of Nt(e)){let r=Rt(e,n);if(!r)continue;let i=$(r,[...t,n]);for(let e of i.unsupportedPaths)a.add(e)}if(e.additionalProperties===!0)o.additionalProperties={};else if(e.additionalProperties===!1)o.additionalProperties=!1;else if(e.additionalProperties&&typeof e.additionalProperties==`object`&&!yr(e.additionalProperties)){let r=$(e.additionalProperties,[...t,`*`],n);o.additionalProperties=r.schema??e.additionalProperties;for(let e of r.unsupportedPaths)a.add(e)}}else if(d===`array`&&(!u||m)){if(Array.isArray(e.items)){let r=[];for(let i=0;i<e.items.length;i+=1){let o=e.items[i];if(!o){a.add(s);continue}if(n&&!Er(o)){r.push(o),Dr(o)||a.add(s);continue}let c=$(o,[...t,i],n);r.push(c.schema??o);for(let e of c.unsupportedPaths)a.add(e)}if(o.items=r,e.additionalItems&&typeof e.additionalItems==`object`){if(n&&!Er(e.additionalItems))o.additionalItems=e.additionalItems,Dr(e.additionalItems)||a.add(s);else{let r=$(e.additionalItems,[...t,`*`],n);o.additionalItems=r.schema??e.additionalItems;for(let e of r.unsupportedPaths)a.add(e)}}else o.additionalItems=e.additionalItems}else if(!e.items)a.add(s);else if(n&&!Er(e.items))o.items=e.items,Dr(e.items)||a.add(s);else{let r=$(e.items,[...t,`*`],n);o.items=r.schema??e.items;for(let e of r.unsupportedPaths)a.add(e)}if(e.allOf)for(let n of ge(e)){let r=De(e,n);if(!r)continue;let i=$(r,[...t,n]);for(let e of i.unsupportedPaths)a.add(e)}}else!(u&&(d===`object`||d===`array`))&&d!==`string`&&d!==`number`&&d!==`integer`&&d!==`boolean`&&!o.enum&&!(n&&e.allOf)&&a.add(s);return{schema:o,unsupportedPaths:Array.from(a)}}function Nr(e){if(l(e)!==`object`)return!1;let t=e.properties?.source,n=e.properties?.provider,r=e.properties?.id;return!t||!n||!r?!1:typeof t.const==`string`&&l(n)===`string`&&l(r)===`string`}function Pr(e){let t=e.oneOf??e.anyOf;return!t||t.length===0?!1:t.every(e=>Nr(e))}function Fr(e,t,n,r){let i=n.findIndex(e=>l(e)===`string`);if(i<0)return null;let a=n.filter((e,t)=>t!==i),o=a[0],s=n[i];return a.length!==1||!o||!s||!Pr(o)?null:$({...e,...s,nullable:r||s.nullable,anyOf:void 0,oneOf:void 0,allOf:void 0},t)}function Ir(e,t){if(e.allOf)return null;let n=e.anyOf??e.oneOf;if(!n)return null;let r=[],i=[],a=!1;for(let e of n){if(!e||typeof e!=`object`)return null;if(Array.isArray(e.enum)){let{enumValues:t,nullable:n}=br(e.enum);r.push(...t),n&&(a=!0);continue}if(`const`in e){if(e.const==null){a=!0;continue}r.push(e.const);continue}if(l(e)===`null`){a=!0;continue}i.push(e)}a&&=Ar(e);let o=Fr(e,t,i,a);if(o)return o;if(r.length>0&&i.length>0){let t=i.length===1?i[0]:void 0;if(t?.type!==`boolean`||Object.keys(t).length!==1||r.includes(`true`)||r.includes(`false`)||e.anyOf===void 0&&r.some(e=>typeof e==`boolean`))return null;i.pop(),r.unshift(!0,!1)}if(r.length>0&&i.length===0)return{schema:{...e,enum:xr(r),nullable:a,enumIncludesNull:a,anyOf:void 0,oneOf:void 0,allOf:void 0},unsupportedPaths:[]};if(i.length===1){let n=i[0];return n?$({...e,...n,nullable:a||n.nullable,anyOf:void 0,oneOf:void 0,allOf:void 0},t):null}return i.length>0&&r.length===0&&i.every(e=>{let t=l(e);return!!t&&Br.has(String(t))})?{schema:{...e,nullable:a},unsupportedPaths:[]}:null}var Lr,Rr,zr,Br;function Vr(){return(Vr=e((()=>{be(),q(),H(),Lr=new Set([`$id`,`$schema`,`title`,`description`,`default`,`deprecated`,`nullable`,`enumIncludesNull`,`examples`,`readOnly`,`tags`,`writeOnly`,`x-tags`]),Rr=new Set([...Lr,`const`,`required`,`additionalProperties`,`minimum`,`maximum`,`exclusiveMinimum`,`exclusiveMaximum`,`multipleOf`,`minLength`,`maxLength`,`pattern`,`format`,`minItems`,`maxItems`,`uniqueItems`]),zr=new Set([...Rr,`type`,`properties`,`items`,`additionalItems`,`enum`,`anyOf`,`oneOf`,`allOf`]),Br=new Set([`string`,`number`,`integer`,`boolean`,`object`,`array`])})))()}function Hr(){return(Hr=e((()=>{vr(),Vr(),mr(),H()})))()}export{_r as a,pr as c,_t as d,H as f,at as h,vr as i,Hn as l,ct as m,Mr as n,hr as o,lt as p,Vr as r,mr as s,Hr as t,Wn as u};
//# sourceMappingURL=config-form-LQdB5j_F.js.map