import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{Ei as t,er as n}from"./control-ui-foundation-CeFMP1Ly.js";import{Ci as r,Js as i,Si as a,Ys as o,bi as s,di as c,fi as l,fl as u,fs as d,gi as f,hi as p,l as m,li as ee,mi as te,ml as h,ms as g,pi as ne,ps as _,qs as re,ui as v,vi as y,vr as ie,w as ae,wi as oe,xi as se,yi as ce,yr as le}from"./control-ui-core-pH6nakZ-.js";import{G as b,J as x,W as S,Z as ue,at as de,h as fe,i as pe,m as me,n as he,rt as C}from"./lit-runtime-BEtFSUCp.js";import{Kn as ge,m as _e,p as ve,zn as w}from"./control-ui-core-DGVkFhVB.js";import{Ht as T,Lt as E,Nt as D,Rt as O,qt as k}from"./control-ui-core-Br5DB0Zj.js";import{F as A,I as j,In as M,L as N,Ln as P,z as F}from"./control-ui-boot-wpHCbPL9.js";import{n as I,r as ye}from"./gateway-runtime-DUNO4Mi1.js";import{$i as be,Cn as xe,bn as L,ea as Se,fo as Ce,ga as we,ho as Te,mn as Ee,on as De,un as R,vn as Oe,xn as z,ya as ke,yn as Ae}from"./control-ui-boot-Cdpgu1Gm.js";import{n as je,t as Me}from"./hub-tabs-mHLCJmKB.js";import{n as Ne,t as Pe}from"./settings-workspace-Bo4nqRhI.js";import{n as Fe,t as Ie}from"./gateway-page-controller-bzyUg03c.js";import{t as Le}from"./agent-select-registration-Bgp9CYzQ.js";import{a as Re,i as B,n as ze,o as Be,r as Ve,s as He,t as Ue}from"./skills-shared-BNHPZbfC.js";import{i as We,n as Ge,r as Ke,t as qe}from"./plugins-hub-header-2-MSECVZ.js";function V(e){return e.installRef??e.slug}async function Je(e,t,n){return t.trim()?(await e.request(`skills.search`,{query:t,limit:20},{signal:n}))?.results??[]:[]}function H(e){return e?Te(e,window.location.href):null}function Ye(e,t){switch(t){case`all`:return!0;case`ready`:return!e.disabled&&B(e);case`needs-setup`:return!e.disabled&&!B(e);case`disabled`:return e.disabled}throw Error(`Unsupported skills status filter`)}function Xe(e){return e.disabled?`muted`:B(e)?`ok`:`warn`}function Ze(e){return e.disabled?L({kind:`muted`,label:k(`skillsPage.tabs.disabled`)}):B(e)?L({kind:`ok`,label:k(`skillsPage.tabs.ready`)}):L({kind:`warn`,label:k(`skillsPage.tabs.needsSetup`)})}function U(e,t){let n=e.clawhub;return!n||n.status!==`linked`||!n.valid?null:t[ee({registry:n.registry,slug:n.slug,ownerHandle:n.ownerHandle,version:n.installedVersion})]??null}function W(e,t){if(!e)return t?{label:k(`skillsPage.refreshing`),kind:`muted`,chipClass:`chip`}:{label:k(`skillsPage.verdict.unavailable`),kind:`warn`,chipClass:`chip-warn`};let n=e.securityStatus?.trim()||null;return e.ok&&e.decision===`pass`?{label:n===`clean`||!n?k(`skillsPage.verdict.clean`):n,kind:`ok`,chipClass:`chip-ok`}:n===`pending`||n===`not-run`?{label:k(`skillsPage.verdict.pending`),kind:`muted`,chipClass:`chip`}:{label:k(n===`malicious`?`skillsPage.verdict.blocked`:n===`suspicious`?`skillsPage.verdict.review`:`skillsPage.verdict.unavailable`),kind:`warn`,chipClass:`chip-warn`}}function G(e){return e.loading||e.operation!==null}function K(e){return G(e)||!e.canUpdate}function q(e){return G(e)||!e.canInstall}function Qe(e,t){return e.operation?.kind===`skill`&&e.operation.skillKey===t}function J(e,t){return e.operation?.kind===`clawhub`&&e.operation.ref===t}function $e(e,t){if(t.installOnly!==!0)return!1;let n=V(t);return(e.report?.skills??[]).some(e=>e.clawhub?.valid===!0&&e.clawhub.requestedReference===n)}function et(e){let n=e.report?.skills??[],r={all:n.length,ready:0,"needs-setup":0,disabled:0};for(let e of n)e.disabled?r.disabled++:B(e)?r.ready++:r[`needs-setup`]++;let i=e.statusFilter===`all`?n:n.filter(t=>Ye(t,e.statusFilter)),a=t(e.filter),o=a?i.filter(e=>t([e.name,e.description,e.source].join(` `)).includes(a)):i,s=Be(o),c=e.detailKey?n.find(t=>t.skillKey===e.detailKey)??null:null;return x`
${Ee(x`
${Y(e,r,o.length)}
${e.error?x`
${e.error}
`:b}
${nt(e)}
${o.length===0?R(!e.connected&&!e.report?k(`skillsPage.disconnected`):k(`skillsPage.empty`)):s.map(t=>tt(t,e))}
`,{wide:!0})}
${c?ot(c,e):b}
${e.clawhubDetailRef?it(e):b}
`}function tt(e,t){return x`
${fe(e.skills,e=>e.skillKey,e=>at(e,t))}
`}function Y(e,t,n){let r=i(e.agentsList?.agents??[]),a=r.some(t=>t.id===e.selectedAgentId)?e.selectedAgentId??``:r.some(t=>t.id===e.agentsList?.defaultId)?e.agentsList?.defaultId??``:r[0]?.id??``;return x`
`}function nt(e){return Oe({title:k(`skillsPage.clawHub`),description:k(`skillsPage.clawHubSubtitle`)},x`
e.onClawHubQueryChange(t.target.value)}
placeholder=${k(`skillsPage.searchClawHub`)}
autocomplete="off"
name="clawhub-search"
/>
${e.clawhubSearchLoading?x`${k(`skillsPage.searching`)} `:b}
${e.clawhubSearchError?x`${e.clawhubSearchError}
`:b}
${e.clawhubInstallMessage?x`
${e.clawhubInstallMessage.text}
`:b}
${rt(e)}
`)}function rt(e){let t=e.clawhubResults;return t?t.length===0?R(k(`skillsPage.noClawHubResults`)):x`
${t.map(t=>{let n=H(t.icon??void 0),r=V(t),i=t.installOnly?void 0:r,a=$e(e,t),o=t.trustState?` · ${k(`skillsPage.notScannedByClawHub`)}`:``,s=x`
${n?x` `:b}
${t.displayName}
${t.summary?`${m(t.summary,100)} · ${r}`:r}${o}
`;return x`
${i?x`
e.onClawHubDetailOpen(i)}
>
${s}
`:x`
${s}
`}
${t.version?xe(`v${t.version}`):b}
{a||e.onClawHubInstall(r)}}
>
${a?k(`skillsPage.installed`):J(e,r)?k(`skillsPage.installing`):k(`skillsPage.install`)}
`})}
`:b}function it(e){let t=e.clawhubDetail,n=H(t?.skill?.icon??void 0),r=n?null:H(t?.owner?.image??void 0),i=n??r;return x`
${e.clawhubDetailLoading?x`
${k(`common.loading`)}
`:e.clawhubDetailError?x`
${e.clawhubDetailError}
`:t?.skill?x`
${t.skill.summary??``}
${t.owner?.displayName?x`
${k(`skillsPage.by`)}
${t.owner.displayName}${t.owner.handle?x` (@${t.owner.handle})`:b}
`:b}
${t.latestVersion?x`
${k(`skillsPage.latest`,{version:t.latestVersion.version})}
`:b}
${t.latestVersion?.changelog?x`
${t.latestVersion.changelog}
`:b}
${t.metadata?.os?x`
${k(`skillsPage.platforms`,{platforms:t.metadata.os.join(`, `)})}
`:b}
{e.clawhubDetailRef&&e.onClawHubInstall(e.clawhubDetailRef)}}
>
${J(e,e.clawhubDetailRef??``)?k(`skillsPage.installing`):k(`skillsPage.installNamed`,{name:t.skill.displayName})}
`:x`
${k(`skillsPage.notFound`)}
`}
`}function at(e,t){let n=K(t),r=U(e,t.clawhubVerdicts);return x`
t.onDetailOpen(e.skillKey)}
>
${e.emoji?x`${e.emoji} `:b}${e.name}
${m(e.description,140)}
${Ze(e)}
${e.clawhub?.status===`linked`?L(W(r,t.clawhubVerdictsLoading)):e.clawhub?.status===`invalid`?L({kind:`warn`,label:k(`skillsPage.invalidLink`)}):b}
${z({checked:!e.disabled,disabled:n,ariaLabel:k(`skillsPage.enabledNamed`,{name:e.name}),onChange:()=>t.onToggle(e.skillKey,e.disabled)})}
`}function ot(e,t){let n=K(t),r=q(t),i=Qe(t,e.skillKey),a=t.edits[e.skillKey]??``,o=t.messages[e.skillKey]??null,s=new Set([...e.missing.bins,...e.missing.anyBins]),c=e.install.find(e=>e.bins.some(e=>s.has(e))),l=!!(e.bundled&&e.source!==`openclaw-bundled`),u=Ue(e),d=ze(e),f=U(e,t.clawhubVerdicts),p=t.detailTab===`card`&&e.skillCard?.present?`card`:`overview`;return x`
${e.description}
${Re({skill:e,showBundledBadge:l})}
${e.clawhub||e.skillCard?.present?x`
${je({id:`skill-detail`,active:p,tabs:[{value:`overview`,label:k(`skillsPage.overview`)},...e.skillCard?.present?[{value:`card`,label:k(`skillsPage.skillCard`)}]:[]],ariaLabel:e.name,panelId:`skill-detail-panel`,variant:`sub`,onSelect:t.onDetailTabChange})}
`:b}
${p===`overview`?st(e,t,f):ct(e,t)}
${u.length>0?x`
${k(`skillsPage.missingRequirements`)}
${u.join(`, `)}
`:b}
${d.length>0?x`
${k(`skillsPage.reason`,{reasons:d.join(`, `)})}
`:b}
${z({checked:!e.disabled,disabled:n,ariaLabel:e.name,onChange:()=>t.onToggle(e.skillKey,e.disabled)})}
${e.disabled?k(`skillsPage.disabled`):k(`skillsPage.enabled`)}
${c?x`c&&t.onInstall(e.skillKey,e.name,c.id)}
>
${i?k(`skillsPage.installing`):c?.label}
`:b}
${o?x`
${_(o.message)}
`:b}
${e.primaryEnv?x`
${k(`skillsPage.apiKey`)}
(${e.primaryEnv})
t.onEdit(e.skillKey,n.target.value)}
/>
${(()=>{let t=H(e.homepage);return t?x`
`:b})()}
t.onSaveKey(e.skillKey)}
>
${k(`skillsPage.saveKey`)}
`:b}
${k(`skillsPage.source`)} ${e.source}
${e.filePath}
${(()=>{let t=H(e.homepage);return t?x`
`:b})()}
`}function st(e,t,n){let r=e.clawhub;if(!r)return b;if(r.status===`invalid`)return x`
${k(`skillsPage.invalidLink`)}
${_(r.reason)}
`;let i=H(n?.securityAuditUrl??void 0),a=n?.reasons?.length?_(n.reasons.join(`, `)):null,o=W(n,t.clawhubVerdictsLoading),s=`${r.ownerHandle?`@${r.ownerHandle}/`:``}${r.slug}@${r.installedVersion}`;return x`
${o.label}
${s}
${t.clawhubVerdictsLoading&&n?x`${k(`skillsPage.refreshing`)} `:b}
${t.clawhubVerdictsError?x`
${t.clawhubVerdictsError}
`:a?x`
${a}
`:b}
${i?x`
`:b}
`}function ct(e,t){if(!e.skillCard?.present)return b;let n=t.skillCardContents[e.skillKey];if(n===void 0){let n=t.skillCardErrors[e.skillKey];return n?x`${n}
`:x`
${t.skillCardLoadingKey===e.skillKey?k(`skillsPage.loadingSkillCard`):k(`skillsPage.skillCardNotLoaded`)}
`}return x`
`}var X;function Z(){return(Z=e((()=>{S(),me(),he(),Le(),Me(),O(),D(),ke(),be(),De(),T(),re(),g(),ae(),Ce(),He(),Ve(),c(),X=[{id:`all`,labelKey:`skillsPage.tabs.all`},{id:`ready`,labelKey:`skillsPage.tabs.ready`},{id:`needs-setup`,labelKey:`skillsPage.tabs.needsSetup`},{id:`disabled`,labelKey:`skillsPage.tabs.disabled`}]})))()}var Q;function $(){return($=e((()=>{P(),A(),S(),ue(),w(),_e(),Pe(),g(),ye(),c(),Fe(),h(),le(),qe(),We(),Z(),Q=class extends u{constructor(...e){super(...e),this.skillsAgentId=null,this.skillsAgentRevision=0,this.skillsLoading=!1,this.skillsReport=null,this.skillsError=null,this.skillOperation=null,this.skillsFilter=``,this.skillsStatusFilter=`all`,this.skillEdits={},this.skillMessages={},this.skillsDetailKey=null,this.skillsDetailTab=`overview`,this.clawhubSearchQuery=``,this.clawhubDetail=null,this.clawhubDetailRef=null,this.clawhubDetailLoading=!1,this.clawhubDetailError=null,this.clawhubInstallMessage=null,this.clawhubVerdicts={},this.clawhubVerdictsLoading=!1,this.clawhubVerdictsError=null,this.skillCardContents={},this.skillCardContentKeys={},this.skillCardLoadingKey=null,this.skillCardErrors={},this.clawhubSearchTimer=null,this.routeDataInitialized=!1,this.routeDataEnabled=!0,this.debouncedClawHubSearchQuery=``,this.gateway=new Ie(this,{getGateway:()=>this.context?.gateway,invalidateRequests:()=>this.resetLoadedSkillState(),ensureInitialData:()=>this.ensureInitialData()}),this.clawhubSearchTask=new j(this,{autoRun:!1,args:()=>[this.gateway.connected?this.gateway.client:null,this.debouncedClawHubSearchQuery],task:([e,t],{signal:n})=>e&&t?Je(e,t,n):N}),this.subscriptions=new ie(this).effect(()=>this.context?.agents,e=>{let t=e.subscribe(()=>{this.reconcileAgentState(),this.ensureInitialData(),this.requestUpdate()});return this.reconcileAgentState(),this.ensureInitialData(),t})}get runtimeConfig(){return this.context.runtimeConfig}get client(){return this.gateway.client}get connected(){return this.gateway.connected}willUpdate(e){e.has(`routeData`)&&(this.applyRouteData(),this.ensureInitialData())}disconnectedCallback(){this.subscriptions.clear(),this.clawhubSearchTimer&&=(clearTimeout(this.clawhubSearchTimer),null),super.disconnectedCallback()}reconcileAgentState(){let e=this.context.agents.state;if(e.agentsList){let t=this.skillsAgentId;ce(this,e.agentsList),t!==this.skillsAgentId&&(this.skillsDetailKey=null,this.skillsDetailTab=`overview`)}}resetLoadedSkillState(){this.clawhubSearchTask.run([null,``]),this.clawhubSearchTimer&&=(clearTimeout(this.clawhubSearchTimer),null),this.routeDataInitialized&&(this.routeDataEnabled=!1),this.skillsAgentId=null,this.skillsAgentRevision++,this.skillsLoading=!1,this.skillsReport=null,this.skillsError=null,this.skillOperation=null,this.skillEdits={},this.skillMessages={},this.skillsDetailKey=null,this.skillsDetailTab=`overview`,this.debouncedClawHubSearchQuery=``,this.clawhubDetail=null,this.clawhubDetailRef=null,this.clawhubDetailLoading=!1,this.clawhubDetailError=null,this.clawhubInstallMessage=null,this.clawhubVerdicts={},this.clawhubVerdictsLoading=!1,this.clawhubVerdictsError=null,this.skillCardContents={},this.skillCardContentKeys={},this.skillCardLoadingKey=null,this.skillCardErrors={}}applyRouteData(){let e=this.routeData;if(e){if(this.routeDataInitialized=!0,this.routeDataEnabled=!0,!this.gateway.isRouteDataCurrent(e)||e.agents!==this.context.agents){this.routeDataEnabled=!1;return}this.skillsAgentId&&e.selectedAgentId&&e.selectedAgentId!==this.skillsAgentId||(this.skillsAgentId=e.selectedAgentId??this.skillsAgentId,this.skillsLoading=!1,this.skillsReport=e.report,this.skillsError=e.error,e.report&&p(this,e.report))}}ensureInitialData(){if(this.routeDataEnabled||!this.routeDataInitialized||!this.gateway.connected||!this.gateway.client)return;let e=this.context.agents.state;if(!e.agentsList){e.agentsLoading||this.loadAgents();return}this.reconcileAgentState(),!this.skillsReport&&!this.skillsLoading&&y(this),this.clawhubSearchQuery.trim()&&this.clawhubSearchTask.status!==F.PENDING&&this.clawhubSearchResults===null&&this.clawhubSearchError===null&&this.runClawHubSearch(this.clawhubSearchQuery)}async loadAgents(){if(!this.gateway.client||!this.gateway.connected)return;let e=this.context.agents;e.state.agentsList||await e.ensureList(),this.context.agents===e&&(this.reconcileAgentState(),this.ensureInitialData())}async refreshPage(){await s(this,()=>this.loadAgents())}changeAgent(e){if(this.skillOperation||this.skillsLoading)return;let t=this.skillsAgentId;a(this,e),t!==this.skillsAgentId&&(this.skillsDetailKey=null,this.skillsDetailTab=`overview`),y(this,{clearMessages:!0})}changeClawHubQuery(e){this.clawhubSearchQuery=e,this.clawhubInstallMessage=null,this.debouncedClawHubSearchQuery=``,this.clawhubSearchTask.run([null,``]),this.clawhubSearchTimer&&clearTimeout(this.clawhubSearchTimer),this.clawhubSearchTimer=setTimeout(()=>this.runClawHubSearch(e),300)}runClawHubSearch(e){let t=e.trim();if(this.debouncedClawHubSearchQuery=t,!t||!this.gateway.connected||!this.gateway.client){this.clawhubSearchTask.run([null,``]);return}this.clawhubSearchTask.run([this.gateway.client,t])}get clawhubSearchResults(){return this.clawhubSearchTask.status===F.COMPLETE&&this.debouncedClawHubSearchQuery===this.clawhubSearchQuery.trim()?this.clawhubSearchTask.value??null:null}get clawhubSearchLoading(){return this.debouncedClawHubSearchQuery.length>0&&this.clawhubSearchTask.status===F.PENDING}get clawhubSearchError(){if(this.clawhubSearchTask.status!==F.ERROR||this.debouncedClawHubSearchQuery!==this.clawhubSearchQuery.trim())return null;let e=this.clawhubSearchTask.error;return d(e)}changeDetailTab(e){this.skillsDetailTab=e,e===`card`&&this.skillsDetailKey&&f(this,this.skillsDetailKey)}canUpdateSkills(){return I(this.context?.gateway?.snapshot,`skills.update`,`operator.admin`)}canInstallSkills(){return I(this.context?.gateway?.snapshot,`skills.install`,`operator.admin`)}selectHubTab(e){if(e!==`skills`){if(e===`workshop`){this.context.navigate(`skill-workshop`);return}this.context.navigate(`plugins`,{pathname:ge(e,this.context.basePath)})}}render(){let e=this.context.agents.state,t=this.skillsError??e.agentsError;return x`
${Ge({active:`skills`,onSelect:e=>this.selectHubTab(e)})}
${Ne(x`
${et({canUpdate:this.canUpdateSkills(),canInstall:this.canInstallSkills(),connected:this.gateway.connected,loading:this.skillsLoading||e.agentsLoading,report:this.skillsReport,agentsList:e.agentsList,selectedAgentId:this.skillsAgentId??e.agentsList?.defaultId??null,error:t,filter:this.skillsFilter,statusFilter:this.skillsStatusFilter,edits:this.skillEdits,messages:this.skillMessages,operation:this.skillOperation,detailKey:this.skillsDetailKey,detailTab:this.skillsDetailTab,clawhubVerdicts:this.clawhubVerdicts,clawhubVerdictsLoading:this.clawhubVerdictsLoading,clawhubVerdictsError:this.clawhubVerdictsError,skillCardContents:this.skillCardContents,skillCardLoadingKey:this.skillCardLoadingKey,skillCardErrors:this.skillCardErrors,clawhubQuery:this.clawhubSearchQuery,clawhubResults:this.clawhubSearchResults,clawhubSearchLoading:this.clawhubSearchLoading,clawhubSearchError:this.clawhubSearchError,clawhubDetail:this.clawhubDetail,clawhubDetailRef:this.clawhubDetailRef,clawhubDetailLoading:this.clawhubDetailLoading,clawhubDetailError:this.clawhubDetailError,clawhubInstallMessage:this.clawhubInstallMessage,onAgentChange:e=>this.changeAgent(e),onFilterChange:e=>this.skillsFilter=e,onStatusFilterChange:e=>this.skillsStatusFilter=e,onRefresh:()=>void this.refreshPage(),onToggle:(e,t)=>{this.canUpdateSkills()&&oe(this,e,t,()=>this.canUpdateSkills())},onEdit:(e,t)=>{this.canUpdateSkills()&&r(this,e,t)},onSaveKey:e=>{this.canUpdateSkills()&&se(this,e,()=>this.canUpdateSkills())},onInstall:(e,t,n)=>{this.canInstallSkills()&&ne(this,e,t,n)},onDetailOpen:e=>{this.skillsDetailKey=e,this.skillsDetailTab=`overview`},onDetailClose:()=>this.skillsDetailKey=null,onDetailTabChange:e=>this.changeDetailTab(e),onClawHubQueryChange:e=>this.changeClawHubQuery(e),onClawHubDetailOpen:e=>void te(this,e),onClawHubDetailClose:()=>v(this),onClawHubInstall:(e,t)=>{this.canInstallSkills()&&l(this,e,t)}})}
`)}
`}},n([M({context:ve,subscribe:!0})],Q.prototype,`context`,void 0),n([de({attribute:!1})],Q.prototype,`routeData`,void 0),n([C()],Q.prototype,`skillsAgentId`,void 0),n([C()],Q.prototype,`skillsAgentRevision`,void 0),n([C()],Q.prototype,`skillsLoading`,void 0),n([C()],Q.prototype,`skillsReport`,void 0),n([C()],Q.prototype,`skillsError`,void 0),n([C()],Q.prototype,`skillOperation`,void 0),n([C()],Q.prototype,`skillsFilter`,void 0),n([C()],Q.prototype,`skillsStatusFilter`,void 0),n([C()],Q.prototype,`skillEdits`,void 0),n([C()],Q.prototype,`skillMessages`,void 0),n([C()],Q.prototype,`skillsDetailKey`,void 0),n([C()],Q.prototype,`skillsDetailTab`,void 0),n([C()],Q.prototype,`clawhubSearchQuery`,void 0),n([C()],Q.prototype,`clawhubDetail`,void 0),n([C()],Q.prototype,`clawhubDetailRef`,void 0),n([C()],Q.prototype,`clawhubDetailLoading`,void 0),n([C()],Q.prototype,`clawhubDetailError`,void 0),n([C()],Q.prototype,`clawhubInstallMessage`,void 0),n([C()],Q.prototype,`clawhubVerdicts`,void 0),n([C()],Q.prototype,`clawhubVerdictsLoading`,void 0),n([C()],Q.prototype,`clawhubVerdictsError`,void 0),n([C()],Q.prototype,`skillCardContents`,void 0),n([C()],Q.prototype,`skillCardContentKeys`,void 0),n([C()],Q.prototype,`skillCardLoadingKey`,void 0),n([C()],Q.prototype,`skillCardErrors`,void 0),customElements.get(`openclaw-skills-page`)||customElements.define(`openclaw-skills-page`,Q)})))()}$();
//# sourceMappingURL=skills-page-DvrFExzp.js.map