PageSourceSearch

https://www.aipyaipy.com/aipy/assets/page-DBR_oghk.js

js aipyaipy.com collected 2026-09-25 20:36:47 UTC 63,143 bytes, 14 lines download raw bytes

1import{d as b,q as y,u as e,c as ya,A as G,y as $,P as de,Q as Y,R as Oe,m as Q,U as va,V as wa,W as Sa,X as Ca,Y as Ta,Z as kt,_ as bt,$ as yt,a0 as Ia,a1 as Ot,p as tt,a2 as $t,a3 as Vt,a4 as Nt,b as Ma,a5 as Ft,E as Bt,l as Me,r as _e,e as ke,a6 as La,F as Ea,n as Ie,a7 as ze,a8 as Pa,a9 as Aa,N as Ra,aa as Ht,O as at,w as Da,ab as Ua,ac as za,ad as vt,ae as Oa,af as ge,ag as $a,ah as We,B as Va,v as Na,j as Fa,x as Ba,ai as Ha,M as qa,aj as nt,ak as qt,al as Ka,am as ja,an as Wa,ao as Ya,ap as Ga,aq as Xa,ar as Za,s as Qa,f as Kt,a as Ja,I as xa}from"./banner-nav-Clks4PE4.js";import{t as E}from"./toast-DmXK0lF6.js";import{l as n,t as Xe}from"./l10n-jykEoSsv.js";import{S as F}from"./preact.module-BICpDwTU.js";import{hasMarketplaceBootstrap as en}from"./bootstrap-xhb6Fw1q.js";import{e as tn,i as wt}from"./fetch-BjWvrm4X.js";function Le({needConfirm:t,onClick:a,children:r,class:s,hidden:c,disabled:i,type:o="button",...f}){const[p,g]=b(!1),M=y(P=>{if(!i){if(t&&!p){g(!0);return}g(!1),a?.(P)}},[t,a,i,p]),I=y(()=>{t&&g(!1)},[t]);return c?null:e("button",{type:o,class:ya(s,t&&p&&"btn-warning"),disabled:i,"data-confirmed":t&&p?"":void 0,onClick:M,onMouseLeave:I,...f,children:r})}function an(t,a){const r=a.type||"string",s=a.title||t,c=a.description||"",i=a.default,o=!!a.required;if(r==="boolean")return e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:s}),e("div",{class:"compact-market__checkbox-row",children:[e("input",{class:"compact-market__checkbox",name:t,type:"checkbox",defaultChecked:!!i}),c?e("span",{class:"compact-market__hint",children:c}):null]})]},t);if(r==="number")return e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:s}),e("input",{class:"compact-market__input",required:o,name:t,type:"number",defaultValue:i??"",min:a.min,max:a.max,step:a.step||"any"}),c?e("span",{class:"compact-market__hint",children:c}):null]},t);if(r==="directory")return a.multiple&&Array.isArray(i)?e("div",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:s}),i.map((p,g)=>e("input",{class:"compact-market__input",required:o,name:`${t}[${g}]`,type:"text",defaultValue:p},`${t}-${g}`)),c?e("span",{class:"compact-market__hint",children:c}):null]},t):e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:s}),e("input",{class:"compact-market__input",required:o,name:t,type:"text",defaultValue:i??""}),c?e("span",{class:"compact-market__hint",children:c}):null]},t);const f=a.sensitive?"password":"text";return Array.isArray(a.options)&&a.options.length>0?e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:s}),e("select",{class:"compact-market__native-select",name:t,defaultValue:i??a.options[0]?.value,children:a.options.map(p=>e("option",{value:p.value,children:p.label},p.value))}),c?e("span",{class:"compact-market__hint",children:c}):null]},t):e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:s}),e("input",{class:"compact-market__input",required:o,name:t,type:f,defaultValue:i??"",spellCheck:!1}),c?e("span",{class:"compact-market__hint",children:c}):null]},t)}function nn({ext:t,open:a,onClose:r,onSaved:s}){const c=G(null),[i,o]=b({}),[f,p]=b(null),[g,M]=b(!1),[I,P]=b(!1);$(()=>{if(!a||!t||!de())return;let u=!1;return M(!0),(async()=>{try{const m=await Y("agentParamFindOne",{where:"agentname = :agentName"},{agentName:t.name});if(u)return;p(m);const k=t.user_config||{},C=Object.entries(k).reduce((_,[L,v])=>{const w=m?.params?.userConfig?.[L]?.default;return _[L]=w!=null?{...v,default:w}:v,_},{});o(C)}catch{u||o(t.user_config||{})}finally{u||M(!1)}})(),()=>{u=!0}},[a,t]);const S=y(()=>{c.current?.reset?.(),o({}),p(null),r()},[r]),U=y(async u=>{if(u.preventDefault(),!c.current||!t||!de()||(c.current.reportValidity(),!c.current.checkValidity()))return;const m=new FormData(c.current),{regularFields:k,arrayFields:C}=[...m.entries()].reduce((v,[w,A])=>{const O=w.match(/^(.+)\[(\d+)\]$/);if(O){const q=O[1],R=Number(O[2]);v.arrayFields[q]||(v.arrayFields[q]={}),v.arrayFields[q][R]=A}else v.regularFields[w]=A;return v},{regularFields:{},arrayFields:{}}),_={...k};for(const v of Object.keys(C)){const w=Object.keys(C[v]).map(Number).sort((A,O)=>A-O);_[v]=w.map(A=>C[v][A])}const L={...i};for(const[v,w]of Object.entries(L)){if(w.type==="boolean"){L[v]={...w,default:v in _};continue}v in _&&(L[v]={...w,default:_[v]})}P(!0);try{await Y("agentParamUpsert",{agentname:t.name,params:{env:{},userConfig:L},defaultParams:{env:f?.defaultParams?.env||{},userConfig:f?.defaultParams?.userConfig||{}}},{fields:["agentname"],set:{params:":params"}}),await s?.(),S()}catch(v){E.error(v?.message||n`保存失败`)}finally{P(!1)}},[i,t,S,s,f]);return!a||!t?null:e("div",{class:"compact-market__overlay",role:"presentation",onMouseDown:u=>{u.target===u.currentTarget&&!I&&S()},children:e("div",{class:"compact-market__dialog",role:"dialog","aria-modal":"true","aria-label":n`智能体配置参数`,children:[e("div",{class:"compact-market__dialog-head",children:[e("div",{class:"compact-market__dialog-title",children:n`智能体配置参数`}),e("button",{class:"compact-market__dialog-close",type:"button",onClick:S,disabled:I,"aria-label":"关闭",children:e("span",{class:"icon-[fluent--dismiss-20-regular] size-4"})})]}),e("form",{ref:c,class:"compact-market__form",onSubmit:U,children:[e("div",{class:"compact-market__form-body",children:g?e("div",{class:"compact-market__sync-loading",children:e("span",{class:"loading loading-spinner loading-md text-primary"})}):Object.entries(i).map(([u,m])=>an(u,m))}),e("div",{class:"compact-market__form-footer",children:[e("button",{class:"compact-market__dialog-button",type:"button",onClick:S,disabled:I,children:n`取消`}),e(Le,{type:"submit",class:"compact-market__dialog-button compact-market__dialog-button--primary",disabled:I||g,children:I?e("span",{class:"loading loading-spinner loading-xs"}):n`保存`})]})]})]})})}function jt(t){const a=new FormData(t),r=Object.fromEntries(a.entries()),s=String(r.name||"").trim();if(delete r.name,r.enabled=!0,r.args){let c=String(r.args).trim().split(`
2`);c.length===1&&(c=String(r.args).trim().split(/(\n|\t|\r|\s{2,})/).map(i=>
2i.trim()).filter(Boolean)),r.args=c}else delete r.args;if(r["transport.type"]&&(r.transport={type:r["transport.type"]},delete r["transport.type"]),r.headers?r.headers=String(r.headers).trim().split(`
3`).reduce((c,i)=>{const[o,...f]=i.split(":").map(g=>g.trim()),p=f.join(":").trim();return o&&p&&(c[o]=p),c},{}):delete r.headers,r.env?r.env=String(r.env).trim().split(`
4`).reduce((c,i)=>{const[o,...f]=i.split("=").map(g=>g.trim()),p=f.join("=").trim();return o&&p&&(c[o]=p),c},{}):delete r.env,!s)throw new Error("MCP server name is required");return{serverName:s,server:r}}function rn(t={}){return Object.entries(t).map(([a,r])=>`${a}=${r}`).join(`
5`)}function ln(t={}){return Object.entries(t).map(([a,r])=>`${a}: ${r}`).join(`
6`)}function sn({ext:t,open:a,onClose:r,onSaved:s}){const c=G(null),[i,o]=b(!1),[f,p]=b("stdio");$(()=>{!a||!t||(p(t.transport?.type||(t.url?"sse":"stdio")),o(!1))},[a,t]);const g=y(()=>{i||r()},[r,i]),M=y(async I=>{if(I.preventDefault(),!(!c.current||!t||i)&&(c.current.reportValidity(),!!c.current.checkValidity())){if(!de()||!Oe()){E.error(n`操作失败`);return}o(!0);try{const{serverName:P,server:S}=jt(c.current),u={...(await window.settings.invoke("mcp").catch(()=>({})))?.mcpServers||{}};P!==t.name&&delete u[t.name],u[P]={...S,tools:[]},await Y("updateSettings",{mcp:{mcpServers:u}}),await Y("mcpListTools").catch(()=>{}),await s?.(),E.success(n`保存成功`),o(!1),r()}catch(P){o(!1),E.error(P?.message||n`保存失败`)}}},[t,r,s,i]);return!a||!t?null:e("div",{class:"compact-market__overlay",role:"presentation",onMouseDown:I=>{I.target===I.currentTarget&&!i&&g()},children:e("div",{class:"compact-market__dialog",role:"dialog","aria-modal":"true","aria-label":n`编辑 MCP 服务器`,children:[e("div",{class:"compact-market__dialog-head",children:[e("div",{class:"compact-market__dialog-title",children:n`编辑 MCP 服务器`}),e("button",{class:"compact-market__dialog-close",type:"button",onClick:g,disabled:i,"aria-label":"关闭",children:e("span",{class:"icon-[fluent--dismiss-20-regular] size-4"})})]}),e("form",{ref:c,class:"compact-market__form",onSubmit:M,children:[e("div",{class:"compact-market__form-body",children:[e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:n`名称`}),e("input",{class:"compact-market__input",required:!0,name:"name",maxLength:50,defaultValue:t.name})]}),e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:n`类型`}),e("select",{class:"compact-market__native-select",name:"transport.type",value:f,onChange:I=>p(I.currentTarget.value),children:[e("option",{value:"stdio",children:n`标准输入/输出 (stdio)`}),e("option",{value:"sse",children:n`服务器发送事件 (sse)`}),e("option",{value:"streamable_http",children:n`流式HTTP (streamable)`})]})]}),f==="stdio"?e(F,{children:[e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:n`命令`}),e("input",{class:"compact-market__input",required:!0,name:"command",maxLength:200,defaultValue:t.command||"",placeholder:"npx"})]}),e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:n`参数`}),e("textarea",{class:"compact-market__textarea",name:"args",maxLength:500,defaultValue:Array.isArray(t.args)?t.args.join(`
7`):""})]}),e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:n`环境变量`}),e("textarea",{class:"compact-market__textarea",name:"env",maxLength:1e3,rows:5,defaultValue:rn(t.env)})]})]}):e(F,{children:[e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:"URL"}),e("input",{class:"compact-market__input",required:!0,name:"url",maxLength:500,defaultValue:t.url||"",placeholder:"https://example.com"})]}),e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:n`请求头`}),e("textarea",{class:"compact-market__textarea",name:"headers",maxLength:1e3,defaultValue:ln(t.headers)})]})]})]}),e("div",{class:"compact-market__form-footer",children:[e("button",{class:"compact-market__dialog-button",type:"button",onClick:g,disabled:i,children:n`取消`}),e(Le,{type:"submit",class:"compact-market__dialog-button compact-market__dialog-button--primary",disabled:i,children:i?e("span",{class:"loading loading-spinner loading-xs"}):n`保存`})]})]})]})})}const cn=new Set(["stdio","sse","streamable_http"]);function $e(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function on(t){const a=t.transport?.type,s={"streamable-http":"streamable_http",streamableHttp:"streamable_http"}[a]||a||(t.url?"sse":"stdio");return cn.has(s)?s:t.url?"sse":"stdio"}function un({location:t=window.location,history:a=window.history,title:r=typeof document<"u"?document.title:""}={}){const s=new URL(t.href);if(!s.searchParams.has("mcpImport"))return null;const c=String(s.searchParams.get("mcpImport")||"").trim();return s.searchParams.delete("mcpImport"),a.replaceState(a.state,r,`${s.pathname}${s.search}${s.hash}`),{requestId:c}}function dn(t,a){return!a||t.has(a)?!1:(t.add(a),!0)}function mn(t){if(!$e(t))return null;const a=typeof t.name=="string"?t.name.trim():"";if(!a||!$e(t.server))return null;const r={...t.server};return r.transport={type:on(r)},{name:a,server:r}}function pn(t){return Array.isArray(t)?t.map(a=>String(a)).join(`
8`):typeof t=="string"?t:""}function fn(t){return $e(t)?Object.entries(t).map(([a,r])=>`${a}
8=${String(r)}`).join(`
9`):""}function hn(t){return $e(t)?Object.entries(t).map(([a,r])=>`${a}: ${String(r)}`).join(`
10`):""}function _n(t){const a=String(t?.message||t||"").toLowerCase();return["no handler","not implemented","not found","unknown method","unsupported","does not exist"].some(r=>a.includes(r))}function St(t){return t?.name==="AbortError"}function gn({enabled:t,source:a,locale:r,installedMap:s,mcpConfig:c={},initialSearch:i=""}){const o=Q(()=>({label:r==="en"?"All":"全部",value:""}),[r]),[f,p]=b([o]),[g,M]=b(null),[I,P]=b(!1),[S,U]=b(""),[u,m]=b(()=>String(i||"")),[k,C]=b(()=>String(i||"").trim()),[_,L]=b(1),[v,w]=b({items:[],total:0,receivedCount:0,lastPage:0,queryKey:""}),[A,O]=b(!1),[q,R]=b(null),[V,ie]=b(0),[oe,K]=b(0),T=a?.id||"",H=a?.catalogUrl||"",j=`${T}\0${H}\0${S}\0${k}`;$(()=>{p([o]),M(null),U(""),w({items:[],total:0,receivedCount:0,lastPage:0,queryKey:""}),R(null),L(1)},[o,H,T]),$(()=>{if(!t||!H)return;const z=new AbortController;return P(!0),M(null),va(H,{signal:z.signal,locale:r,invokeImpl:yt,marketplaceInvoke:bt,abortImpl:kt}).then(D=>{p(D),U(Z=>D.some(le=>le.value===Z)?Z:"")}).catch(D=>{St(D)||(p([o]),M(D))}).finally(()=>{z.signal.aborted||P(!1)}),()=>z.abort()},[o,V,H,t,r]),$(()=>{if(!t)return;const z=window.setTimeout(()=>{const D=u.trim();D!==k&&(w({items:[],total:0,receivedCount:0,lastPage:0,queryKey:""}),R(null),C(D),L(1))},400);return()=>window.clearTimeout(z)},[t,k,u]),$(()=>{if(!t||!H){w({items:[],total:0,receivedCount:0,lastPage:0,queryKey:""}),R(null),O(!1);return}const z=new AbortController;return O(!0),R(null),wa(H,{page:_,pageSize:Ia,keyword:k,category:S},{signal:z.signal,source:a,locale:r,invokeImpl:yt,marketplaceInvoke:bt,abortImpl:kt}).then(D=>{w(Z=>_===1||Z.queryKey!==j?{...D,lastPage:_,queryKey:j}:{items:Sa(Z.items,D.items),total:D.total,receivedCount:D.receivedCount,lastPage:_,queryKey:j})}).catch(D=>{St(D)||(_===1&&w({items:[],total:0,receivedCount:0,lastPage:_,queryKey:j}),R(D))}).finally(()=>{z.signal.aborted||O(!1)}),()=>z.abort()},[S,H,t,k,oe,r,_,j,a,T]);const ne=Q(()=>Ca(v.items,s||{},c||{}),[s,c,v.items]),W=Ta({receivedCount:v.receivedCount,page:v.lastPage,total:v.total}),ee=y(z=>{const D=z||"";D!==S&&(w({items:[],total:0,receivedCount:0,lastPage:0,queryKey:""}),R(null),U(D),L(1))},[S]),re=y(()=>{const z=u.trim();z!==k?(w({items:[],total:0,receivedCount:0,lastPage:0,queryKey:""}),R(null),C(z)):_===1&&K(D=>D+1),L(1)},[k,_,u]),te=y(()=>{!t||A||q||!W||L(z=>z+1)},[t,q,W,A]),be=y(()=>{ie(z=>z+1)},[]),me=y(()=>{K(z=>z+1)},[]);return{categories:f,categoriesError:g,categoriesLoading:I,activeCategory:S,setActiveCategory:ee,searchValue:u,setSearchValue:m,submitSearch:re,loadMore:te,hasMore:W,items:ne,total:v.total,loading:A,error:q,refetchCategories:be,refetch:me}}const Ct="aipy-client-detail-style",Tt="data-aipy-client-detail-bound",kn=[".navbar, .btn-back { display: none !important; }",".action-panel, .action-btns .btn-primary { display: none !important; }","#evokeModal, #mobileModal { display: none !important; }"].join(`
11`);function bn(t){return/^https?:\/\//i.test(t||"")}function yn(t,a){if(!t||t.startsWith("javascript:"))return!1;if(t==="../"||t==="../index.html"||t==="../agent-marketplace.html")return!0;try{const s=new URL(t,a.defaultView?.location?.href||window.location.href).pathname.replace(/\/$/,"");return s==="/aipy/market"||s.endsWith("/market")}catch{return!1}}function vn(t,{onMarketBack:a}={}){if(t?.documentElement){if(t.documentElement.classList.add("aipy-from-client"),!t.getElementById(Ct)){const r=t.createElement("style");r.id=Ct,r.textContent=kn,(t.head||t.documentElement).appendChild(r)}t.documentElement.getAttribute(Tt)!=="true"&&(t.documentElement.setAttribute(Tt,"true"),t.addEventListener("click",r=>{const s=r.target;if(!s||typeof s.closest!="function")return;const c=s.closest("a[href]");if(!c)return;const i=c.getAttribute("href");if(bn(i)){r.preventDefault(),r.stopPropagation(),Ot(i);return}a&&yn(i,t)&&(r.preventDefault(),r.stopPropagation(),a())},!0))}}function wn(t){const a=String(t||"").match(/(\d{1,3})\s*%/);if(!a)return null;const r=Number(a[1]);return Number.isFinite(r)?Math.max(0,Math.min(99,r)):null}function Sn(t){const a=_e(t);return a===ke.skills||a==="skills"?n`技能`:a==="mcp"?n`MCP`:n`智能体`}function Cn({ext:t,displayName:a,installingName:r,usingName:s,onBack:c,onInstall:i,onUse:o}){const f=G(null),p=t.installedName||t.name,g=r===t.name||r===p,M=s===t.catalogIdentity||s===t.name||s===p,I=tt(t),P=$t(t),S=Vt(t),U=Nt(t),u=(S==="use"||S==="open-embed")&&!U,m=S==="visit"&&t.homepage,k=Sn(t),[C,_]=b(!1),[L,v]=b(0),w=Q(()=>Ma(t,{from:"client",lang:Xe.locale}),[t,Xe.locale]),A=g?"installing":C?"error":I?"installed":"idle",O=y(()=>{vn(f.current?.contentDocument,{onMarketBack:c})},[c]),q=y(async()=>{_(!1),v(8);try{await i?.(t)}catch{_(!0)}},[t,i]);return $(()=>{_(!1),v(0)}
11,[t?.name]),$(()=>{if(!g){v(0);return}v(V=>V>0?V:8);const R=window.setInterval(()=>{v(V=>V>=90?V:V+Math.max(1,Math.round((90-V)*.08)))},400);return()=>window.clearInterval(R)},[g]),$(()=>{if(g)return Ft(`ext:${t.name}:stdout`,R=>{const V=wn(R);V!=null&&v(V)})},[t.name,g]),$(()=>{const R=V=>{V.key==="Escape"&&c?.()};return window.addEventListener("keydown",R),()=>window.removeEventListener("keydown",R)},[c]),w?e("div",{class:"compact-market__detail",role:"dialog","aria-modal":"true","aria-label":a,children:[e("div",{class:"compact-market__detail-bar","data-state":A,children:[e("button",{class:"compact-market__detail-back",type:"button",onClick:c,children:[e("span",{class:"icon-[fluent--arrow-left-20-regular] size-4","aria-hidden":"true"}),n`返回`]}),e("span",{class:"compact-market__detail-divider","aria-hidden":"true"}),e(Bt,{ext:{...t,displayName:a},allowFileUrl:!0,className:"compact-market__detail-icon"}),e("div",{class:"compact-market__detail-identity",children:[e("div",{class:"compact-market__detail-title",title:a,children:a}),e("span",{class:"compact-market__detail-type",children:k}),I&&A!=="installing"?e("span",{class:"compact-market__detail-badge",children:n`已安装`}):null]}),e("div",{class:"compact-market__detail-actions",children:[A==="installing"?e("div",{class:"compact-market__detail-progress",children:[e("span",{class:"compact-market__detail-progress-label",children:n`正在安装${L}%`}),e("span",{class:"compact-market__detail-progress-track",style:{"--progress":`${L}%`},children:e("span",{class:"compact-market__detail-progress-fill"})}),e("span",{class:"loading loading-spinner loading-xs compact-market__detail-progress-spin"})]}):null,A==="error"?e(F,{children:[e("span",{class:"compact-market__detail-status compact-market__detail-status--error",children:n`安装失败`}),e("button",{class:"compact-market__detail-btn compact-market__detail-btn--error",type:"button",onClick:q,children:n`重试`})]}):null,A==="installed"?e(F,{children:[u?e("button",{class:"compact-market__detail-btn compact-market__detail-btn--ok",type:"button",disabled:M,"aria-busy":M?"true":void 0,onClick:()=>o?.(t),children:[M?e("span",{class:"loading loading-spinner loading-xs"}):null,n`去使用`]}):null,m?e("a",{class:"compact-market__detail-btn compact-market__detail-btn--ok",href:t.homepage,onClick:Me,children:n`访问`}):null]}):null,A==="idle"&&m?e("a",{class:"compact-market__detail-btn compact-market__detail-btn--primary",href:t.homepage,onClick:Me,children:n`访问`}):null,A==="idle"&&P?e("button",{class:"compact-market__detail-btn compact-market__detail-btn--primary",type:"button",onClick:q,children:[e("span",{class:"icon-[lets-icons--import] size-4","aria-hidden":"true"}),n`安装`]}):null]})]}),e("iframe",{ref:f,class:"compact-market__detail-frame",src:w,title:a,onLoad:O})]}):null}const B={all:"all",app:"app",tool:"tool",skill:"skill"},Ze={label:n`官方推荐`,value:at},ue="official",Ye="1.3",Qe="aipy-markethub-active-source-id";function It(){try{return String(window.localStorage?.getItem(Qe)||"").trim()}catch{return""}}function Ge(){try{return String(new URLSearchParams(typeof location<"u"?location.search:"").get("sourceId")||"").trim()}catch{return""}}function Tn({urlSourceId:t,activeSourceId:a,customSources:r,storedSourceId:s}){const c=Array.isArray(r)?r:[],i=f=>!!f&&c.some(p=>p.id===f),o=String(t||"").trim();return o||(i(a)?String(a):i(s)?String(s):c.length===0?String(a||"").trim():String(c[0]?.id||""))}function Wt(t){const a=String(t||"").trim();try{if(!a||a===ue){window.localStorage?.removeItem(Qe);return}window.localStorage?.setItem(Qe,a)}catch{}}function Je(t){if(t?.id==="company")return t?.name||"TrustTools";if(t?.name)return t.name;try{return Ha(t)}catch{return t?.catalogUrl||t?.id||n`自定义源`}}function In(t,a){const r=new Set(t);let s=t;if(Array.isArray(a)&&a.length){const i=[];for(const o of a)r.has(o.name)&&(o.is_default?i.unshift(o.name):i.push(o.name));i.length&&(s=i)}return Na(s,{inClient:!0}).map(i=>({label:Fa(i),value:i}))}const Yt={[B.all]:n`全部`,[B.app]:n`应用`,[B.tool]:n`工具`,[B.skill]:n`技能`},Mn={[B.app]:"icon-[fluent--globe-20-regular]",[B.tool]:"icon-[fluent--wrench-screwdriver-20-filled]",[B.skill]:"icon-[fluent--hat-graduation-20-filled]"};
11function Mt(){return{aipy:de(),ext:ze(),settings:Oe()}}function Ln(t){return[t.displayName,t.display_name,t.name,t.description,...t.keywords||[]].filter(Boolean).join("�").toLowerCase()}function En(t){return t===ke.webview||t===ke["embed-webview"]||t==="conversation-embed-view"}function Gt(t){const a=_e(t);return a===ke.skills?B.skill:a==="application"||En(a)?B.app:B.tool}function Pn(t,a){return a==="all"?!0:a===at?qt(t):!!t.keywords?.includes(a)}function An(t,a){return a.length?a.some(r=>Pn(t,r)):!0}function Rn(t,a){return a.length?t.find(r=>r.value===a[0])?.label||Ze.label:n`全部分类`}function Dn(t,a){return a.includes(t)}function xe(t){return Va[t.name]||t.displayName||t.display_name||t.name}const Un=[B.all,B.app,B.tool,B.skill],zn=[{label:"最热",value:"popular"},{label:"最新",value:"update_at"}];function Lt(){if(typeof document>"u")return{computerMode:!1,fantasyComputerMode:!1};const t=document.documentElement,a=t.dataset.mode==="computer";return{computerMode:a,fantasyComputerMode:a&&t.dataset.theme==="aipy-dark"}}function Et(){if(typeof window>"u")return"";try{return new URLSearchParams(window.location.search).get("q")?.trim()||""}catch{return""}}function On(){if(typeof window>"u")return"";try{return new URLSearchParams(window.location.search).get("category")?.trim()||""}catch{return""}}function Pt(t,a){if(!t||t==="all"||t==="全部"||t==="全部分类")return null;const r=a,s=r.find(f=>f.label===t);if(s)return s.value;const c=r.find(f=>f.value===t);if(c)return c.value;const i=r.map(f=>f.value),o=Ba(t,i);return!o||o==="all"?null:i.includes(o)?o:null}function $n(){const[t,a]=b(Lt);return $(()=>{if(typeof document>"u")return;const r=new MutationObserver(()=>{a(s=>{const c=Lt();return s.computerMode===c.computerMode&&s.fantasyComputerMode===c.fantasyComputerMode?s:c})});return r.observe(document.documentElement,{attributes:!0,attributeFilter:["data-mode","data-theme"]}),()=>r.disconnect()},[]),t}function Vn(){return e("span",{class:"icon-[fluent--chevron-down-20-regular] size-4 opacity-70"})}function Nn({banners:t,onAction:a}){const[r,s]=b(0),c=Array.isArray(t)?t.filter(o=>o?.image_url):[];$(()=>{if(c.length<=1)return;const o=window.setInterval(()=>{s(f=>(f+1)%c.length)},5e3);return()=>window.clearInterval(o)},[c.length]),$(()=>{c.length>0&&r>=c.length&&s(0)},[r,c.length]);const i=y(o=>{a?.(o)},[a]);return c.length?e("div",{class:"compact-market__banner",children:[c.map((o,f)=>e("button",{type:"button",class:"compact-market__banner-slide","data-active":f===r?"true":"false","aria-label":o.title||"AiPy Banner",onClick:()=>i(o),children:e("img",{src:o.image_url,alt:o.title||"",draggable:!1})},o.id||`${o.image_url}-${f}`)),e("div",{class:"compact-market__dots","aria-hidden":"true",children:c.map((o,f)=>e("button",{type:"button",class:"compact-market__dot","data-active":f===r?"true":"false",tabIndex:-1,onClick:()=>s(f)},o.id||`${o.image_url}-${f}`))})]}):null}function At({categories:t,activeCategories:a,open:r,onOpenChange:s,onCategory:c}){return e("div",{class:"relative compact-market__select-wrap",onMouseLeave:()=>s(!1),children:[e("button",{type:"button",class:"compact-market__select",onClick:()=>s(!r),children:[e("span",{children:Rn(t,a)}),e(Vn,{})]}),r&&e("div",{class:"compact-market__select-menu",children:t.map(i=>{const o=a[0]===i.value;return e("button",{type:"button",class:"compact-market__select-option","data-active":o?"true":"false",onClick:()=>{c(i.value),s(!1)},children:i.label},i.value)})})]})}function Rt({label:t,iconClass:a,danger:r=!1,iconOnly:s=!1,disabled:c=!1,onClick:i}){const o=e("button",{type:"button",class:`compact-market__sources-action${r?" compact-market__sources-action--danger":""}${s?" compact-market__sources-action--icon":""}`,"aria-label":t,disabled:c,onClick:i,children:[e("span",{class:`${a} size-3.5`}),s?null:e("span",{children:t})]});return s?e(X,{tip:t,children:o}):o}function Fn({activeSourceId:t,customSources:a,sourcesLoading:r,computerMode:s,showOfficial:c=!1,onSelectSource:i}){const o=s,[f,p]=b(!1),g=G(null),M=a.find(C=>C.id===t),I=M?Je(M):t===ue?n`第三方集市`:n`市场源`,P=n`第三方集市需要在客户端配置文件中添加,完成配置后即可在此切换。`,S=y(()=>{g.current!=null&&(window.clearTimeout(g.current),g.current=null)},[]),U=y(()=>{S(),p(!1)},[S]),u=y(()=>{S(),g.current=window.setTimeout(()=>{p(!1),g.current=null},180)},[S]),m=y(()=>{S(),p(!0)},[S]);$(()=>()=>S(),[S]);const k=y(C=>_=>{_.preventDefault(),_.stopPropagation(),i?.(C),U()},[U,i]);return e("div",{class:"compact-market__menu-wrap compact-market__menu-wrap--sources",onMouseEnter:m,onMouseLeave:u,children:[e("button",{class:"compact-market__chip",type:"button","data-open":f?"true":"false",onMouseEnter:m,onClick:()=>{S(),p(C=>!C)},children:[e("span",{class:"icon-[fluent--cloud-add-20-regular] size-4"}),e("span",{class:"max-w-36 truncate",title:I,children:I})]}),f?e("div",{class:"compact-market__menu compact-market__menu--sources",role:"menu",onMouseEnter:m,children:[e("div",{class:"compact-market__sources-panel-head",children:e("div",{class:"compact-market__sources-panel-brand",children:[s?null:e("span",{class:"compact-market__sources-panel-brand-icon","aria-hidden":"true",children:e("span",{class:"icon-[fluent--cloud-checkmark-20-filled] size-5"})}),e("div",{class:"min-w-0",children:[e("div",{class:"compact-market__sources-panel-title",children:[e("span",{children:n`市场源`}),e(X,{tip:P,children:e("span",{class:"compact-market__sources-panel-help",tabIndex:0,"aria-label":P,children:e("span",{class:"icon-[fluent--question-circle-16-regular] size-4","aria-hidden":"true"})})})]}),s?null:e("div",{class:"compact-market__sources-panel-subtitle",children:n`打开其他市场来源`})]})]})}),r?e("div",{class:"compact-market__sources-panel-loading",children:e("span",{class:"loading loading-spinner loading-sm"})}):e("ul",{class:"compact-market__sources-panel-list",children:[c?e("li",{class:"compact-market__sources-panel-item","data-active":t===ue?"true":"false",children:[s?null:e("span",{class:"compact-market__sources-panel-icon compact-market__sources-panel-icon--official","aria-hidden":"true",children:e("span",{class:"icon-[fluent--building-shop-20-regular] size-5"})}),e("div",{class:"compact-market__sources-panel-main",children:[e("div",{class:"compact-market__sources-panel-name-row",children:[e("div",{class:"compact-market__sources-panel-name",children:n`官方集市`}),t===ue?e("span",{class:"compact-market__badge compact-market__badge--official",children:n`当前`}):null]}),e("div",{class:"compact-market__sources-panel-meta",children:n`默认商店`})]}),t===ue?null:e("div",{class:"compact-market__sources-panel-actions",children:e(Rt,{label:n`打开`,iconClass:"icon-[fluent--open-16-regular]",iconOnly:o,onClick:k(ue)})})]}):null,a.map(C=>{const _=t===C.id;return e("li",{class:"compact-market__sources-panel-item","data-active":_?"true":"false",children:[s?null:e("span",{class:"compact-market__sources-panel-icon compact-market__sources-panel-icon--custom","aria-hidden":"true",children:e("span",{class:"icon-[fluent--globe-20-regular] size-5"})}),e("div",{class:"compact-market__sources-panel-main",children:[e("div",{class:"compact-market__sources-panel-name-row",children:[e("div",{class:"compact-market__sources-panel-name",children:Je(C)}),_?e("span",{class:"compact-market__badge compact-market__badge--official",children:n`当前`}):null]}),e("div",{class:"compact-market__sources-panel-meta",title:C.catalogUrl||"",children:C.catalogUrl||C.type})]}),e("div",{class:"compact-market__sources-panel-actions",children:_?null:e(Rt,{label:n`打开`,iconClass:"icon-[fluent--open-16-regular]",iconOnly:o,onClick:k(C.id)})})]},C.id)})]}),e("div",{class:"compact-market__sources-panel-foot",children:[e("span",{class:"icon-[fluent--info-16-regular] size-3.5 shrink-0","aria-hidden":"true"}),e("span",{children:n`打开后将在新标签中展示该市场,请确保地址正确可访问`})]})]}):null]})}function Xt(t){const a=new URLSearchParams(typeof location<"u"?location.search:"");for(const r of["oToken","oUser","lang","colorScheme","edition","variant","layout","clientVersion","clientPlatform"]){const s=a.get(r);s&&t.searchParams.set(r,s)}}function rt(){return typeof window.aipy?.navigate=="function"||typeof window.aipy?.send=="function"}function Bn(t,a){if(rt()){ge(t);return}
11const r=new URL(a,location.origin);Xt(r),location.assign(r.href)}function Hn(t,a){const r=String(t||"").trim();r&&Wt(r);const s=String(a||"").trim()||n`第三方集市`,c=r?`/extensions?market=hub&sourceId=${encodeURIComponent(r)}`:"/extensions?market=hub";if(rt()){ge(c,{state:{title:s,sourceId:r}});return}const i=new URL("/aipy/markethub",location.origin);Xt(i),r&&i.searchParams.set("sourceId",r),location.assign(`${i.pathname}${i.search}`)}function qn(){if(rt()){ge("/extensions?market=official",{state:{title:n`集市`}});return}Bn("/extensions?market=official","/aipy/marketclient")}function Kn({categories:t,activeCategories:a,typeFilters:r,searchValue:s,sortMethod:c,showCategories:i,showExtensionSources:o,activeSourceId:f,customSources:p,sourcesLoading:g,computerMode:M,onSelectSource:I,onCategory:P,onTypeFilterToggle:S,onSearch:U,onSearchSubmit:u,onSort:m,customMarket:k=!1,showSourceSwitcher:C=!1}){const[_,L]=b(!1),v=G(null);return e("div",{class:"compact-market__toolbar","data-custom-market":k?"true":"false",ref:v,children:[k?e(At,{categories:t,activeCategories:a,open:_,onOpenChange:L,onCategory:P}):e(F,{children:[M&&i?e(At,{categories:t,activeCategories:a,open:_,onOpenChange:L,onCategory:P}):null,e("div",{class:"compact-market__type-filter",role:"group","aria-label":"类型筛选",children:Un.map(w=>{const A=Dn(w,r);return e("label",{class:"compact-market__filter-btn","data-active":A?"true":"false",onClick:O=>{A&&(O.preventDefault(),S(w,!1))},children:[e("input",{class:"compact-market__filter-input",type:"radio",name:"compact-market-type-filter",checked:A,onChange:O=>S(w,O.currentTarget.checked)}),Yt[w]]},w)})})]}),e(qa,{variant:"client",value:s,placeholder:k?n`搜索 Skill...`:n`搜索应用...`,onChange:U,onSubmit:u}),M?null:e("div",{class:"compact-market__toolbar-spacer"}),e("div",{class:"compact-market__type-group",children:[k?e("button",{class:"compact-market__chip",type:"button",onClick:()=>qn(),children:[e("span",{class:"icon-[fluent--building-shop-20-regular] size-4"}),n`官方集市`]}):C?e(Fn,{activeSourceId:f,customSources:p,sourcesLoading:g,computerMode:M,onSelectSource:I}):null,e("button",{class:"compact-market__chip",type:"button",onClick:()=>ge("/extensions/installed"),children:[e("span",{class:"icon-[fluent--apps-list-detail-20-regular] size-4"}),n`已安装`]})]}),k?null:e("div",{class:"compact-market__sort-group",role:"group","aria-label":"排序方式",children:zn.map(w=>e("button",{class:"compact-market__sort",type:"button","data-active":c===w.value?"true":"false",onClick:()=>m(w.value),children:w.label},w.value))})]})}function jn({categories:t,activeCategories:a,onCategory:r}){const s=G(null),c=G(null),i=G(!1),[o,f]=b({canScrollLeft:!1,canScrollRight:!1}),p=y(()=>{const u=s.current;if(!u)return;const m=Math.max(0,u.scrollWidth-u.clientWidth),k={canScrollLeft:u.scrollLeft>1,canScrollRight:u.scrollLeft<m-1};f(C=>C.canScrollLeft===k.canScrollLeft&&C.canScrollRight===k.canScrollRight?C:k)},[]),g=y(u=>{const m=s.current;return!m||m.scrollWidth<=m.clientWidth?!1:(m.scrollLeft+=u,!0)},[]),M=y(u=>{const m=s.current;if(!m||m.scrollWidth<=m.clientWidth)return;const k=Math.max(160,Math.round(m.clientWidth*.65));m.scrollBy({left:u*k,behavior:"smooth"})},[]),I=y(u=>{const m=Math.abs(u.deltaX)>Math.abs(u.deltaY)?u.deltaX:u.deltaY;!m||!g(m)||u.preventDefault()},[g]),P=y(u=>{const m=s.current;!m||m.scrollWidth<=m.clientWidth||u.button!==0||(c.current={pointerId:u.pointerId,startX:u.clientX,scrollLeft:m.scrollLeft,dragged:!1})},[]),S=y(u=>{const m=c.current,k=s.current;if(!m||!k||m.pointerId!==u.pointerId)return;const C=u.clientX-m.startX;!m.dragged&&Math.abs(C)>8&&(m.dragged=!0,k.setPointerCapture?.(u.pointerId),k.dataset.dragging="true"),m.dragged&&(k.scrollLeft=m.scrollLeft-C)},[]),U=y(u=>{const m=c.current,k=s.current;!m||m.pointerId!==u.pointerId||(c.current=null,i.current=!!m.dragged,k&&(k.releasePointerCapture?.(u.pointerId),delete k.dataset.dragging),m.dragged&&window.setTimeout(()=>{i.current=!1},0))},[]);return nt(()=>{const u=s.current;if(!u)return;const m=window.requestAnimationFrame(p),k=typeof ResizeObserver=="function"?new ResizeObserver(p):null;return k?.observe(u),window.addEventListener("resize",p),()=>{window.cancelAnimationFrame(m),k?.disconnect(),window.removeEventListener("resize",p)}},[t,p]),e("div",{class:"compact-market__tabs-wrap",children:[o.canScrollLeft?e("button",{type:"button",class:"compact-market__tabs-arrow compact-market__tabs-arrow--left","aria-label":n`向左滚动分类`,onClick:()=>M(-1),children:e("span",{class:"icon-[fluent--chevron-left-20-regular] size-4","aria-hidden":"true"})}):null,e("div",{ref:s,class:"compact-market__tabs",onScroll:p,onWheel:I,onPointerDown:P,onPointerMove:S,onPointerUp:U,onPointerCancel:U,onPointerLeave:U,children:t.map(u=>e("button",{type:"button",class:"compact-market__tab","data-active":a[0]===u.value?"true":"false",onClick:m=>{if(i.current){m.preventDefault(),i.current=!1;return}r(u.value)},children:u.label},u.value))}),o.canScrollRight?e("button",{type:"button",class:"compact-market__tabs-arrow compact-market__tabs-arrow--right","aria-label":n`向右滚动分类`,onClick:()=>M(1),children:e("span",{class:"icon-[fluent--chevron-right-20-regular] size-4","aria-hidden":"true"})}):null]})}function Wn({ext:t}){const[a,r]=b(""),s=G(null);return $(()=>{if(_e(t)==="application")return Ft(`ext:${t.name}:stdout`,c=>{r(i=>`${i}${c||""}`)})},[t]),nt(()=>{s.current&&(s.current.scrollTop=s.current.scrollHeight)},[a]),a?e("div",{class:"compact-market__app-stdout",children:e("pre",{ref:s,children:e("code",{children:a})})}):null}function X({tip:t,children:a}){return e("s-tooltip",{class:"compact-market__action-tip",tip:String(t),children:a})}function et({tip:t,className:a="compact-market__metric-tip",children:r}){return e("s-tooltip",{class:a,tip:String(t),children:r})}function Dt({sourceName:t,sourceTrusted:a,sourceType:r}){if(!t&&!r||r==="legacy-aipy")return null;const s=t||"市场源";return e("span",{class:`compact-market__badge compact-market__badge--source ${a?"compact-market__badge--source-trusted":""}`,title:s,children:s})}function Yn({ext:t,compact:a=!1}){if(t.sourceType!=="skillhub-api"||a)return null;const r=Array.isArray(t.subCategories)?t.subCategories.slice(0,2):[];return r.length===0&&!t.requiresApiKey?null:e("div",{class:"compact-market__skillhub-meta",children:e("div",{class:"compact-market__skillhub-tags",children:[r.map(s=>e("span",{children:s.name},s.key)),t.requiresApiKey?e("span",{children:n`需要 API Key`}):null]})})}function Ut({ext:t}){return t.sourceType!=="skillhub-api"?null:e("div",{class:"compact-market__skillhub-publisher",children:[t.publisherName?e("span",{title:t.publisher?.certifiedName||t.publisherName,children:t.publisherName}):null,t.publisherVerified?e("span",{class:"compact-market__skillhub-verified",title:n`认证发布者`,children:e("span",{class:"icon-[fluent--checkmark-starburst-16-filled] size-3.5","aria-hidden":"true"})}):null]})}function zt({ext:t}){if(t.sourceType!=="company-skill-api")return null;
11const a=[t.repo_owner,t.repo_name].filter(Boolean).join("/");return a?e("div",{class:"compact-market__skill-repository",title:a,children:a}):null}function Gn({rootRef:t,loading:a,error:r,hasMore:s,onLoadMore:c,onRetry:i}){const o=G(null);return $(()=>{const f=o.current;if(!f||!s||a||r)return;const p=new IntersectionObserver(g=>{g.some(M=>M.isIntersecting)&&c()},{root:t.current,rootMargin:"240px 0px"});return p.observe(f),()=>p.disconnect()},[r,s,a,c,t]),e("div",{class:"compact-market__infinite-loader",ref:o,children:a?e(F,{children:[e("span",{class:"loading loading-spinner loading-sm","aria-hidden":"true"}),e("span",{children:n`正在加载...`})]}):r?e(F,{children:[e("span",{children:r.message||n`自定义扩展源加载失败`}),e("button",{type:"button",onClick:i,children:n`重试`})]}):null})}function Xn({rootRef:t}){const a=G(null),[r,s]=b(1);return nt(()=>{const c=a.current,i=t.current;if(!c||!i)return;const o=()=>{const p=window.getComputedStyle(c),g=window.getComputedStyle(i),M=Number.parseFloat(p.columnGap)||0,I=Number.parseFloat(p.rowGap)||0,P=Number.parseFloat(g.getPropertyValue("--cm-card-min"))||280,S=Number.parseFloat(g.getPropertyValue("--cm-card-height"))||206,U=Math.max(1,Math.floor((c.clientWidth+M)/(P+M))),u=Math.max(0,i.getBoundingClientRect().bottom-c.getBoundingClientRect().top),m=Math.max(1,Math.ceil((u+I)/(S+I)));s(U*m)};o();const f=typeof ResizeObserver=="function"?new ResizeObserver(o):null;return f?.observe(i),f?.observe(c),window.addEventListener("resize",o),()=>{f?.disconnect(),window.removeEventListener("resize",o)}},[t]),e("div",{ref:a,class:"compact-market__grid compact-market__skeleton-grid","aria-busy":"true","aria-label":n`正在加载`,children:Array.from({length:r},(c,i)=>e("div",{class:"compact-market__card compact-market__skeleton-card","aria-hidden":"true",children:[e("div",{class:"compact-market__skeleton-head",children:[e("span",{class:"compact-market__skeleton-icon"}),e("div",{class:"compact-market__skeleton-title-wrap",children:[e("span",{class:"compact-market__skeleton-line compact-market__skeleton-line--title"}),e("span",{class:"compact-market__skeleton-line compact-market__skeleton-line--badge"})]})]}),e("div",{class:"compact-market__skeleton-line compact-market__skeleton-line--description"}),e("div",{class:"compact-market__skeleton-line compact-market__skeleton-line--description compact-market__skeleton-line--short"}),e("div",{class:"compact-market__skeleton-footer",children:[e("span",{class:"compact-market__skeleton-line compact-market__skeleton-line--metric"}),e("span",{class:"compact-market__skeleton-button"})]})]},i))})}function Zn(t){return t.key==="downloads"?n`下载量`:t.key==="package-size"?n`安装包大小`:t.key==="installs"?n`安装量`:t.label}function Qn({ext:t,compact:a=!1,packageSize:r=""}){if(t.sourceType!=="skillhub-api")return null;const s=[{key:"installs",icon:"icon-[fluent--arrow-download-16-regular]",value:t.installs,label:n`安装量`},...a?[]:[{key:"downloads",icon:"icon-[fluent--cloud-arrow-down-16-regular]",value:t.downloads,label:n`下载量`}],...r?[{key:"package-size",icon:"icon-[fluent--archive-20-regular]",value:r,label:n`安装包大小`,formatted:!0}
11]:[],{key:"stars",icon:"icon-[fluent--star-16-regular]",value:t.stars,label:"Stars"}];return e("span",{class:"compact-market__skillhub-metrics",children:s.map(c=>e(et,{tip:Zn(c),children:e("span",{class:"compact-market__metric",children:[e("span",{class:`${c.icon} size-3.5`,"aria-hidden":"true"}),c.formatted?c.value:Kt(c.value)]})},c.key))})}function Jn({ext:t,useTypeIcon:a,computerMode:r,fantasyComputerMode:s,installingName:c,usingName:i,uninstallConfirmingName:o,refreshingMcpName:f,onInstall:p,onUninstall:g,onUse:M,onOpenDetail:I,onEditMcp:P,onRefreshMcp:S,onOpenConfig:U,onResetUninstallConfirm:u}){const m=xe(t),k=t.installedName||t.name,C=t.sourceType==="skillhub-api",_=t.sourceType==="company-skill-api",L=C||_,v=qt(t),w=t.sourceType&&t.sourceType!=="legacy-aipy"&&!L?{sourceName:t.sourceName,sourceTrusted:t.sourceTrusted,sourceType:t.sourceType}:null,A=tt(t),O=Vt(t),q=$t(t),R=Ka(t),V=ja(t),ie=Wa(t),oe=t.catalogIdentity||t.name,K=c===oe||c===t.name||c===k,T=i===oe||i===t.name||i===k,H=f===t.name||f===k,j=o===t.name||o===k,ne=_e(t),W=Ya(t),ee=Nt(t),re=Ga(t),te=t.version||t.versionName||"",be=Xa(t.packageSize??t.package_size??t.sizeBytes??t.size_bytes),me=te?`${m} · v${te}`:m,z=Za(t,xa)||"暂无描述",D=s||!A?be:"",Z=Gt(t),le=Yt[Z],ye=e(F,{children:[re?e("span",{class:"compact-market__meta-badge",title:re,children:re}):null,W!=null&&W>0?e("span",{class:"compact-market__meta-badge",title:`工具数量:${W}`,children:W}):null,e("span",{children:z})]}),pe=Ht(t),J=pe||!!t.homepage,fe=()=>{if(pe){I?.(t);return}Ot(t.homepage)},ve=e(F,{children:[r?e("s-tooltip",{class:"compact-market__type-tip",tip:le,children:e("span",{class:"compact-market__type-label","data-icon":a?"true":"false","data-type":Z,"aria-label":le,children:[e("span",{class:`compact-market__type-label-icon ${Mn[Z]}`,"aria-hidden":"true"}),e("span",{class:"compact-market__type-label-text",children:le})]})}):null,e("div",{class:`compact-market__title${J?" compact-market__title--link":""}`,title:me,role:J?"button":void 0,tabIndex:J?0:void 0,onClick:J?fe:void 0,onKeyDown:J?se=>{(se.key==="Enter"||se.key===" ")&&(se.preventDefault(),fe())}:void 0,children:[m,ee?e("span",{class:"compact-market__warn-icon compact-market__warn-icon--title",title:n`未检测到可用工具,请尝试「一键更新」或检查 MCP 配置`,children:e("span",{class:"icon-[fluent--error-circle-16-filled] size-4"})}):null]})]}),we=pe?e(X,{tip:n`详情`,children:e("button",{class:"compact-market__icon-button",type:"button","aria-label":n`详情`,onClick:()=>I?.(t),children:e("span",{class:"icon-[fluent--link-20-regular] size-4"})})}):t.homepage&&O!=="visit"?e(X,{tip:n`主页`,children:e("a",{class:"compact-market__icon-button",href:t.homepage,"aria-label":n`主页`,onClick:Me,children:e("span",{class:"icon-[fluent--link-20-regular] size-4"})})}):null;return e("article",{class:"compact-market__card","data-name":t.name,"data-official":v?"true":"false",onMouseLeave:()=>u?.(t.name),onBlur:se=>{se.currentTarget.contains(se.relatedTarget)||u?.(t.name)},children:[v?e("div",{class:"compact-market__official-ribbon",children:at}):null,r?e(F,{children:[e("div",{class:"compact-market__title-row",children:[ve,we]}),L||w?e("div",{class:"compact-market__badges",children:C?e(Ut,{ext:t}):_?e(zt,{ext:t}):e(Dt,{...w})}):null,e("s-tooltip",{class:"compact-market__desc-tip",tip:z,children:e("div",{class:"compact-market__desc",children:ye})})]}):e(F,{children:[e("div",{class:"compact-market__card-head",children:[e(Bt,{ext:{...t,displayName:m},allowFileUrl:!0,className:"h-[38px] w-[38px] rounded-[12px] text-[22px]"}),e("div",{class:"compact-market__title-wrap",children:[e("div",{class:"compact-market__title-row",children:[ve,we,e("div",{class:"compact-market__card-tools",children:[V?e(F,{children:[e(X,{tip:n`编辑`,children:e("button",{class:"compact-market__icon-button",type:"button","aria-label":n`编辑`,onClick:()=>P?.(t),disabled:H,children:e("span",{class:"icon-[fluent--settings-20-regular] size-4"})})}),e(X,{tip:n`刷新状态`,children:e("button",{class:"compact-market__icon-button",type:"button","aria-label":n`刷新状态`,onClick:()=>S?.(t),disabled:H,children:H?e("span",{class:"loading loading-spinner loading-xs"}):e("span",{class:"icon-[fluent--arrow-sync-20-regular] size-4"})})})]}):null,ie?e(X,{tip:n`配置`,children:e("button",{class:"compact-market__icon-button",type:"button","aria-label":n`配置`,onClick:()=>U?.(t),children:e("span",{class:"icon-[fluent--settings-20-regular] size-4"})})}):null]})]}),e("div",{class:"compact-market__badges",children:[e("span",{class:`compact-market__badge${Z===B.skill?" compact-market__badge--skill":""}`,children:le}),C?e(Ut,{ext:t}):_?e(zt,{ext:t}):w?e(Dt,{...w}):null]})]})]}),e("div",{class:"compact-market__desc",title:z,children:ye})]}),e(Wn,{ext:t}),e(Yn,{ext:t,compact:r}),e("div",{class:"compact-market__footer",children:[e("div",{class:"compact-market__footer-meta",children:[t.sourceType==="skillhub-api"?e(Qn,{ext:t,compact:r,packageSize:D}
11):Qa(t)?e(et,{tip:n`安装量`,children:e("span",{class:"compact-market__usage",children:[e("span",{class:`compact-market__usage-icon ${r?"icon-[lets-icons--import]":"icon-[fluent--arrow-download-16-regular]"} size-3.5`,"aria-hidden":"true"}),e("span",{class:"compact-market__usage-text",children:Kt(Ja(t))})]})}):e("span",{class:"compact-market__usage"}),D&&t.sourceType!=="skillhub-api"?e(et,{tip:n`安装包大小`,children:e("span",{class:"compact-market__package-size",children:[e("span",{class:"icon-[fluent--archive-20-regular] size-3.5","aria-hidden":"true"}),e("span",{children:D})]})}):null]}),e("div",{class:"compact-market__actions",children:r?e(F,{children:[V?e(F,{children:[e(X,{tip:n`编辑`,children:e("button",{class:"compact-market__icon-button",type:"button","aria-label":n`编辑`,onClick:()=>P?.(t),disabled:H,children:e("span",{class:"icon-[fluent--settings-20-regular] size-4"})})}),e(X,{tip:n`刷新状态`,children:e("button",{class:"compact-market__icon-button",type:"button","aria-label":n`刷新状态`,onClick:()=>S?.(t),disabled:H,children:H?e("span",{class:"loading loading-spinner loading-xs"}):e("span",{class:"icon-[fluent--arrow-sync-20-regular] size-4"})})})]}):null,ie?e(X,{tip:n`配置`,children:e("button",{class:"compact-market__icon-button",type:"button","aria-label":n`配置`,onClick:()=>U?.(t),children:e("span",{class:"icon-[fluent--settings-20-regular] size-4"})})}):null,A&&R&&e(X,{tip:j?n`确认卸载`:n`卸载`,children:e("button",{class:`compact-market__icon-button ${j?"compact-market__icon-button--danger":""}`,type:"button","data-name":k,"data-label":m,"data-type":ne,"aria-pressed":j?"true":"false","aria-label":j?n`确认卸载`:n`卸载`,onClick:g,children:e("span",{class:"icon-[material-symbols-light--delete-outline] size-4"})})}),O==="visit"&&t.homepage?e(X,{tip:n`访问`,children:e("a",{class:"compact-market__icon-button compact-market__icon-button--primary",href:t.homepage,"aria-label":n`访问`,onClick:Me,children:e("span",{class:"icon-[raphael--import] size-4"})})}):null,(O==="use"||O==="open-embed")&&!ee&&e(X,{tip:n`去使用`,children:e("button",{class:"compact-market__icon-button compact-market__icon-button--primary",type:"button","data-name":k,"aria-label":n`去使用`,"aria-busy":T?"true":void 0,disabled:T,onClick:()=>M?.(t),children:T?e("span",{class:"loading loading-spinner loading-xs"}):e("span",{class:"icon-[gg--arrow-right] size-4"})})}),q&&e(X,{tip:n`安装`,children:e("button",{class:"compact-market__icon-button compact-market__icon-button--primary",type:"button","data-name":t.name,"data-catalog-identity":t.catalogIdentity||"","aria-label":n`安装`,disabled:K,onClick:()=>p?.(t),children:K?e("span",{class:"loading loading-spinner loading-xs"}):e("span",{class:"icon-[lets-icons--import] size-4"})})})]}):e(F,{children:[A&&R&&e(Le,{class:`compact-market__action ${j?"compact-market__action--danger":""}`,"data-name":k,"data-label":m,"data-type":ne,"aria-pressed":j?"true":"false",onClick:g,children:j?"确认卸载":"卸载"}),O==="visit"&&t.homepage?e("a",{class:"compact-market__action compact-market__action--primary",href:t.homepage,onClick:Me,children:n`访问`}):null,(O==="use"||O==="open-embed")&&!ee&&e(Le,{class:"compact-market__action compact-market__action--primary","data-name":k,disabled:T,"aria-busy":T?"true":void 0,onClick:()=>M?.(t),children:[T?e("span",{class:"loading loading-spinner loading-xs"}):null,n`去使用`]}),q&&e(Le,{class:"compact-market__action compact-market__action--primary","data-name":t.name,"data-catalog-identity":t.catalogIdentity||"",onClick:()=>p?.(t),disabled:K,children:K?e("span",{class:"loading loading-spinner loading-xs"}):n`安装`})]})})]})]})}function xn({open:t,submitting:a,initialValue:r,onClose:s,onSubmit:c}){const[i,o]=b("stdio"),f=G(null),p=r?.server||{};return $(()=>{t&&o(p.transport?.type||(p.url?"sse":"stdio"))},[t,p.transport?.type,p.url]),t?e("div",{class:"compact-market__overlay",role:"presentation",onMouseDown:g=>{g.target===g.currentTarget&&!a&&s()},children:e("div",{class:"compact-market__dialog",role:"dialog","aria-modal":"true","aria-label":n`添加 MCP 服务器`,children:[e("div",{class:"compact-market__dialog-head",children:[e("div",{class:"compact-market__dialog-title",children:n`添加 MCP 服务器`}),e("button",{class:"compact-market__dialog-close",type:"button",onClick:s,disabled:a,"aria-label":n`关闭`,children:e("span",{class:"icon-[fluent--dismiss-20-regular] size-4"})})]}),e("form",{ref:f,class:"compact-market__form",onSubmit:g=>c(g,f.current),children:[e("div",{class:"compact-market__form-body",children:[e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:n`名称`}),e("input",{class:"compact-market__input",required:!0,name:"name",maxLength:50,defaultValue:r?.name||"",placeholder:n`请输入服务器名称`})]}),e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:n`类型`}),e("select",{class:"compact-market__native-select",name:"transport.type",value:i,onChange:g=>o(g.currentTarget.value),children:[e("option",{value:"stdio",children:n`标准输入/输出 (stdio)`}),e("option",{value:"sse",children:n`服务器发送事件 (sse)`}),e("option",{value:"streamable_http",children:n`流式HTTP (streamable)`})]})]}),i==="stdio"?e(F,{children:[e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:n`命令`}),e("input",{class:"compact-market__input",required:!0,name:"command",maxLength:200,defaultValue:p.command||"",placeholder:"npx"})]}),e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:n`参数`}
11),e("textarea",{class:"compact-market__textarea",name:"args",defaultValue:pn(p.args),placeholder:n`请输入启动参数(选填)`})]}),e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:n`环境变量`}),e("textarea",{class:"compact-market__textarea",name:"env",rows:5,defaultValue:fn(p.env),placeholder:`${n`请输入环境变量(选填)`}
12KEY1=value1
13KEY2=value2`})]})]}):e(F,{children:[e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:"URL"}),e("input",{class:"compact-market__input",required:!0,name:"url",maxLength:500,defaultValue:p.url||"",placeholder:"https://example.com"})]}),e("label",{class:"compact-market__field",children:[e("span",{class:"compact-market__label",children:n`请求头`}),e("textarea",{class:"compact-market__textarea",name:"headers",defaultValue:hn(p.headers),placeholder:`User-Agent: Mozilla/5.0
14Content-Type: application/json`})]})]})]}),e("div",{class:"compact-market__form-footer",children:[r?e("div",{class:"compact-market__mcp-security-warning",role:"note",children:[e("span",{class:"icon-[fluent--warning-16-regular] size-4 shrink-0","aria-hidden":"true"}),e("span",{children:n`MCP命令具有本机权限,请谨慎添加!`})]}):null,e("button",{class:"compact-market__dialog-button",type:"button",onClick:s,disabled:a,children:n`取消`}),e("button",{class:"compact-market__dialog-button compact-market__dialog-button--primary",type:"submit",disabled:a,children:a?e("span",{class:"loading loading-spinner loading-xs"}):n`保存`})]})]})]})}):null}function sr({variant:t,scope:a}={}){const s=(t||a||new URLSearchParams(typeof location<"u"?location.search:"").get("marketScope")||"official")==="hub",{computerMode:c,fantasyComputerMode:i}=$n(),o=Q(()=>La(),[]),[f]=b(()=>un()),p=G(new Set),[g,M]=b(()=>Mt()),[I,P]=b(()=>wt(Ye)),S=!s&&(o||en()||Ea()),U=!o||g.ext,u=o&&g.ext&&I,m=s&&u,[k,C]=b(()=>s?Ge()||It()||"":ue),_=s,[L,v]=b([]),[w,A]=b(!1),O=Q(()=>!s&&u&&L.length>0,[L.length,s,u]),[q]=b(Et),R=Ie({endpoint:"extensionStoreList",skip:s||!S||!U}),V=Ie({endpoint:"ext:extensions",skip:!o||!g.ext}),ie=Ie({endpoint:"settings:mcp",skip:!o||!g.settings}),oe=Q(()=>L.find(l=>l.id===k)||null,[k,L]),K=Q(()=>{const l=V?.response?.body;return l&&typeof l=="object"?l:{}},[V?.response?.body]),T=gn({enabled:m&&!!oe,source:oe,locale:Xe.locale,installedMap:K,mcpConfig:ie?.response?.body||{},initialSearch:q}),H=Ie({endpoint:"extensionCategories",skip:s||!S||!U}),j=Ie({endpoint:"extensionBanners",skip:s||!S,params:{placement:"marketclient"}}),[ne,W]=b(()=>s?[]:[Ze.value]),[ee,re]=b(()=>s?[]:[B.all]),[te,be]=b(()=>q),[me,z]=b("popular"),[D,Z]=b(null),[le,ye]=b(null),pe=G(!1),[J,fe]=b(null),[ve,we]=b(null),[se,lt]=b(null),[Zt,Ve]=b(!1),[Qt,Jt]=b(0),[xt,st]=b(null),[ct,it]=b(!1),[Ne,ot]=b(null),[Ee,ut]=b(null),Fe=G(null),ea=Array.isArray(j.response?.body)?j.response.body:[];$(()=>{let l=!1;return tn().then(()=>{l||P(wt(Ye))}).catch(()=>{l||P(!1)}),()=>{l=!0}},[]);const dt=y(async()=>{if(!u||!ze()){v([]);return}A(!0);try{const l=await Pa();v((Array.isArray(l)?l:[]).filter(d=>d?.type!=="legacy-aipy"))}catch{v([])}finally{A(!1)}},[u]);$(()=>{if(u){dt();return}v([])},[u,dt]),$(()=>{if(!s||w)return;const l=Ge(),d=Tn({urlSourceId:l,activeSourceId:k,customSources:L,storedSourceId:It()});d!==k&&C(d),d&&L.some(h=>h.id===d)&&Wt(d)},[k,L,s,w]),$(()=>{if(f){if(!f.requestId){E.error(n`配置已过期或已使用`);return}g.aipy&&dn(p.current,f.requestId)&&Y("consumeMcpInstallIntent",f.requestId).then(l=>{if(l==null){E.error(n`配置已过期或已使用`);return}const d=mn(l);if(!d){E.error(n`MCP安装配置无效`);return}st(d),Jt(h=>h+1),Ve(!0)}).catch(l=>{E.error(_n(l)?n`当前AIPy客户端版本过低,请升级后重试`:l?.message||n`读取MCP安装配置失败`)})}},[g.aipy,f]),$(()=>{const l=()=>{M(h=>{const N=Mt();return h.aipy===N.aipy&&h.ext===N.ext&&h.settings===N.settings?h:N})};l();const d=window.setInterval(l,400);return()=>{window.clearInterval(d)}},[]),$(()=>{if(!J)return;const l=window.setTimeout(()=>fe(null),3e3);return()=>window.clearTimeout(l)},[J]);const ta=y(l=>{fe(d=>!d||l&&d.name!==l?d:null)},[]),Pe=y(l=>{const d={...l,type:_e(l),displayName:xe(l),keywords:(l.keywords||[]).filter(h=>!ke[h]&&!Ra.has(h)),isLocalOnly:!!l.isLocalOnly||tt(l)&&Aa({...l,isLocalOnly:!1})};return{...d,searchText:Ln(d)}},[]),Se=Q(()=>{const l=R?.response?.body;return!Array.isArray(l)||R?.error?[]:l.map(Pe)},[R?.response?.body,R?.error,Pe]),mt=Q(()=>T.items.map(Pe),[Pe,T.items]),Ae=_?mt:Se,Be=Q(()=>Ee&&Ae.find(l=>l.catalogIdentity===Ee||l.name===Ee)||null,[Ee,Ae]),aa=y(l=>{Ht(l)&&ut(l.catalogIdentity||l.name)},[]),na=y(()=>ut(null),[]),x=y(async()=>{await Promise.all([R.refetch(),V.refetch(),ie.refetch(),...m?[Promise.resolve(T.refetch())]:[]])},[R,V,ie,m,T.refetch]),pt=Q(()=>{const l=new Set;for(const d of Se)for(const h of d.keywords||[])h&&l.add(h);return Array.from(l)},[Se]),ra=Q(()=>In(pt,H?.response?.body),[pt,H?.response?.body]),he=_?T.categories:ra,la=_?[T.activeCategory]:ne,sa=_?T.searchValue:te,ca=s?o&&!g.ext:o&&!g.ext&&!Se.length&&!R.loading,ia=_?w||T.loading&&mt.length===0&&!!k:R.loading&&Se.length===0,oa=_&&!w&&!!Ge()&&L.length>0&&!oe,Re=y(()=>{W([]),re([B.all])},[]),ft=G(!1),ht=!S||!U||!R.loading;$(()=>{if(_||ft.current||!he.length)return;const l=On(),d=Et(),h=Pt(l,he);if(!l||h||ht){if(ft.current=!0,d){re([B.all]),W(h?[h]:[]);return}h&&W([h])}},[he,_,ht]);const _t=Q(()=>{let l=Ae.filter(d=>_e(d)!=="mcp");if(_)return l;if(ee.length>0&&!ee.includes(B.all)&&(l=l.filter(d=>{const h=Gt(d);return ee.includes(h)})),ne.length>0&&(l=l.filter(d=>An(d,ne))),te.trim()){const d=te.trim().toLowerCase();l=l.filter(h=>h.searchText.includes(d))}return me==="update_at"?l=[...l].sort((d,h)=>new Date(h.updateAt||h.updated_at||0).getTime()-new Date(d.updateAt||d.updated_at||0).getTime()):l=[...l].sort((d,h)=>Number(h.rank??0)-Number(d.rank??0)),l},[ne,_,Ae,te,me,ee]),ua=y(l=>{if(!l||l===ue)return;const d=L.find(h=>h.id===l);Hn(l,d?Je(d):"")},[L]),He=y(l=>{if(_){T.setSearchValue(l);return}if(be(l),l.trim()){Re();return}W([Ze.value])},[Re,_,T.setSearchValue]),da=y(()=>
14{if(_){T.submitSearch();return}te.trim()&&Re()},[Re,_,te,T.submitSearch]),De=y(l=>{if(_){T.setActiveCategory(l);return}const d=Pt(l,he);W(d?[d]:[])},[he,_,T.setActiveCategory]),ma=y(l=>{const d=l?.link_type||(l?.link_url?"link":""),h=l?.link_value||l?.link_url||"";if(!(!d||!h)){if(d==="category"){De(h);return}if(d==="keyword"){He(h);return}d==="link"&&Da(h)}},[De,He]),pa=y((l,d)=>{re(d?[l]:[B.all]),W([])},[]),fa=y(async(l,d)=>{if(l.preventDefault(),!(!d?.reportValidity?.()||!d.checkValidity())){if(!de()||!Oe()){E.error(n`操作失败`);return}it(!0);try{const{serverName:h,server:N}=jt(d),ce=await window.settings.invoke("mcp").catch(()=>({}));if(ce?.mcpServers?.[h]&&!window.confirm(n`已存在同名 MCP 服务器「${h}」,是否覆盖?`))return;await Y("updateSettings",{mcp:{mcpServers:{...ce?.mcpServers||{},[h]:{...N,tools:[]}}}}),await Y("mcpListTools").catch(()=>{}),Ve(!1),st(null),d.reset(),await x(),E.success(n`添加成功`)}catch(h){E.error(h?.message||n`保存失败`)}finally{it(!1)}}},[x]),ha=y(l=>{z(l)},[]),_a=y(async l=>{const d=l?.installedName||l?.name;if(!(!d||Ne)){if(!de()||!Oe()){E.error(n`操作失败`);return}ot(d);try{const h=await window.settings.invoke("mcp").catch(()=>({})),N=h?.mcpServers?.[d];if(!N){E.error(n`操作失败`);return}await Y("updateSettings",{mcp:{mcpServers:{...h?.mcpServers||{},[d]:{...N,tools:[]}}}}),await Y("mcpListTools").catch(()=>{}),await x()}catch(h){E.error(h?.message||n`操作失败`),await x().catch(()=>{})}finally{ot(null)}}},[x,Ne]),qe=y(async l=>{if(!l||typeof l!="object")throw E.error(n`安装失败`),new Error("install failed");if(!ze())throw E.error(n`安装失败`),new Error("install failed");const d=Ua(l);if(!za(d))throw E.error(n`扩展包地址缺失,无法安装`),new Error("missing package url");const h=l.catalogIdentity||l.name;Z(h);try{await window.ext.invoke("install",d),await x(),E.success(n`安装成功!`)}catch(N){throw E.error(N?.message||n`安装失败`),N}finally{Z(null)}},[x]),ga=y(async l=>{if(!l||typeof l!="object"){E.error(n`安装失败`);return}await qe(l).catch(()=>{})},[qe]),ka=y(async l=>{const d=l.currentTarget.dataset.name,h=l.currentTarget.dataset.type,N=Date.now();if(J?.name!==d){fe({name:d,armedAt:N});return}if(!(N-J.armedAt<450)){fe(null);try{h==="mcp"?await Y("settingsMcpDeleteOne",d):(await vt("uninstall",d),de()&&await Y("agentParamDelete",{where:"agentname = :agentname"},{agentname:d}).catch(()=>{})),await x(),E.success(n`卸载成功`)}catch(ce){E.error(ce?.message||n`卸载失败`),await x().catch(()=>{})}}},[J,x]),Ke=y(async l=>{if(!l||typeof l!="object"){E.error(n`操作失败`);return}if(pe.current)return;const d=l.catalogIdentity||l.name;pe.current=!0,ye(d);try{const h=_e(l),N=l.installedName||Oa(K,l)||l.packageId||l.name;if(h==="embed-webview"){ge(`/extension-webview/${l.name}`);return}if(h==="application"){if(!ze()){E.error(n`操作失败`);return}try{await vt("start","",N)}catch(ae){E.error(ae?.message||n`操作失败`)}return}if(!de()){E.error(n`操作失败`);return}const ce=l.prompts?.find(ae=>ae.name==="example")?.text??"";if(h===ke.skills){const ae=$a(K,l,N);if(!ae||!K[ae]){E.error(n`请先安装该 Skill`);return}const Ce=await Y("createTask",{});if(Array.isArray(l.mcp)&&l.mcp.length>0){const Te=l.mcp.reduce((gt,je)=>(je&&typeof je=="string"&&(gt[We(K,je)]=!0),gt),{});Object.keys(Te).length>0&&await Y("mcpToggle",Ce,Te)}const Ue={[ae]:!0};Array.isArray(l.skills)&&l.skills.forEach(Te=>{Te?.name&&(Ue[We(K,Te.name)]=!0)}),await Y("toggleSkill",Ce,Ue),ge(`/task/${Ce}`,{state:{instruction:ce}}),ce&&E.info(n`已输入默认提示词,可根据需求手动调整`);return}if(h==="conversation-tool"||h==="conversation-embed-view"||h==="prompts"||h==="mcp"){const ae=await Y("createTask",{}),Ce=We(K,N);await Y("mcpToggle",ae,{[Ce]:!0});const Ue={instruction:ce,...h==="conversation-embed-view"?{webview:{name:l.name}}:{}};ge(`/task/${ae}`,{state:Ue}),ce&&E.info(n`已输入默认提示词,可根据需求手动调整`);return}E.error(n`暂不支持使用该类型智能体`)}catch(h){E.error(h?.message||n`操作失败`)}finally{pe.current=!1,ye(null)}},[K]),ba=y(async l=>{await Ke(l)},[Ke]);return e("div",{class:"compact-market h-dvh min-h-0 overflow-hidden",children:[e("div",{class:"compact-market__scroll",ref:Fe,children:[_?null:e(Nn,{banners:ea,onAction:ma}),e("div",{class:"compact-market__sticky",children:[e(Kn,{categories:he,activeCategories:la,typeFilters:ee,searchValue:sa,sortMethod:me,showCategories:!0,showExtensionSources:u,activeSourceId:k,customSources:L,sourcesLoading:w,computerMode:c,onSelectSource:ua,onCategory:De,onTypeFilterToggle:pa,onSearch:He,onSearchSubmit:da,onSort:ha,customMarket:_,showSourceSwitcher:O}),_?null:e(jn,{categories:he,activeCategories:ne,onCategory:De})]}),_&&T.categoriesError?e("div",{class:"compact-market__category-warning",children:[e("span",{class:"icon-[fluent--warning-16-regular] size-4","aria-hidden":"true"}),e("span",{children:T.categoriesError.message||n`分类加载失败`}),e("button",{type:"button",onClick:T.refetchCategories,children:n`重试`})]}
14):null,s&&!I?e("div",{class:"compact-market__state",children:n`自定义市场源需要客户端版本大于 ${Ye}`}):ca?e("div",{class:"compact-market__state",children:n`客户端桥接未就绪,请重新打开集市页面`}):oa?e("div",{class:"compact-market__state",children:n`找不到该集市`}):ia?_?e(Xn,{rootRef:Fe}):e("div",{class:"compact-market__state",children:n`正在加载...`}):_t.length===0?e("div",{class:"compact-market__state",children:_&&T.error?e(F,{children:[e("div",{children:T.error?.message||n`自定义扩展源加载失败`}),e("button",{type:"button",class:"compact-market__chip compact-market__state-action",onClick:T.refetch,children:n`重试`})]}):_?e(F,{children:e("div",{children:T.searchValue.trim()?n`没有找到匹配的 Skill`:n`暂无 Skill`})}):n`暂无匹配智能体`}):e(F,{children:[e("div",{class:"compact-market__grid",children:_t.map(l=>e(Jn,{ext:l,useTypeIcon:!_,computerMode:c,fantasyComputerMode:i,installingName:D,usingName:le,uninstallConfirmingName:J?.name,refreshingMcpName:Ne,onInstall:ga,onUninstall:ka,onUse:ba,onOpenDetail:aa,onEditMcp:we,onRefreshMcp:_a,onOpenConfig:lt,onResetUninstallConfirm:ta},l.catalogIdentity||l.name))}),_?e(Gn,{rootRef:Fe,loading:T.loading,error:T.error,hasMore:T.hasMore,onLoadMore:T.loadMore,onRetry:T.refetch}):null]})]}),e(xn,{open:Zt,submitting:ct,initialValue:xt,onClose:()=>{ct||Ve(!1)},onSubmit:fa},Qt),e(sn,{ext:ve,open:!!ve,onClose:()=>we(null),onSaved:async()=>{await x()}}),e(nn,{ext:se,open:!!se,onClose:()=>lt(null),onSaved:async()=>{await x(),E.success(n`保存成功`)}}),Be?e(Cn,{ext:Be,displayName:xe(Be),installingName:D,usingName:le,onBack:na,onInstall:qe,onUse:Ke}):null]})}export{sr as CompactMarketplace};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.